Posts for Arcorann

Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
Regarding the Riddler, I've seen the problem before; though I didn't immediately remember the optimal solution I was able to reconstruct it surprisingly quickly. For some general comments, I will point out that the solution described for 3 people implies a lower bound of 75% for 7 people (simply ignore the last four people by making them all pass), which is not optimal. And yes, the value 2N-1 is special for this problem.
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
Just the divisibility theorems, the fact that any positive integer greater than one has a prime factor, and the principle of proof by contradiction should be enough. Something like this: Suppose there are finitely many primes. Then they can be enumerated as p_1, p_2, ... , p_k. Let N equal the product of p_1 to p_k. Lemma 1: If a positive integer d is a divisor of positive integers a and b, then d divides their difference. Proof: Since d is a divisor of a and b, we can write a = xd and b = yd where x and y are positive integers. Then |a - b| = |x - y|d and this is a multiple of d. Lemma 2: N+1 and N have no common factors greater than 1. Proof: Let d be a common divisor of N+1 and N. Then by the above lemma d is a divisor of 1, and the only positive integer divisor of 1 is 1. It follows that N+1 is not divisible by any of p_1 to p_k since they all must be greater than 1. But N+1 has at least one prime factor, which leads to a contradiction. The statement that Warp has issues with is covered by the two lemmas.
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
Not sure how relevant to the topic this is, but I would like to point out that a Japanese TASer has made a version of Hourglass which saves savestates to disk.
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
From my records page: Extra - メタモルフォーゼ (2011-12-11) - 7:30.58 (27035f) - Marisa/Alice - 2222 - http://www.nicovideo.jp/watch/sm16396900 The time is from the start of the stage to the end of input (on Hourai Elixir). If starting from power-on that would be around 10 extra seconds; add another 83 for Imperishable Shooting, which is still just over 9 minutes. Needless to say, this submission doesn't beat it.
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
Kirkq wrote:
I found the random trajectory value in MHS. I'm going to describe it rather than posting a value, because everyone has different mupen builds. We will treat it as an unsigned long. The 4 individual byte components might mean different things. Upon crossing a loading zone it always refreshes to 0 (unsigned long). Each hut ground pounded in Mumbo's Mountain sets it to a specific value regardless of what has happened previously. When you break the hut closest to ground pound bottles in Mumbo's Mountain it becomes 1096810496. Counter-Clockwise from that hut, the other 5 huts are 1134985216, 1124139008, 1125318656, 1129906176, 1133412352.
If you treat it as a single-precision float the numbers then become 0.0, 14.0, 333.0, 129.0, 147.0, 217.0 and 285.0. I hope this helps.
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
When I right-click on an address in the RAM Watch and select Poke, I expect to see the address already in the box, rather than having to enter it manually. Could someone fix this?
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
Since you have Cheat Engine, you can simply use the program's Pointer Scan function. First, right-click on the address in the list that you want a pointer for. You should have the option to "Pointer scan for this address". Select it, then you will have a dialog for scan options. The level indicates the number of layers of pointers - for a level of 5 it will pick up chains of addresses such as P-->Q-->R-->S-->T-->U which are probably a bit too long, so drop it to 1 or 2 to start. Once you start the scan, after you select a filename to save to you will receive a long list of addresses and offsets. Once you have this, all you have to do is wait for the addresses to change, find the new address, then go into the scanner and select Pointer scanner --> Rescan memory, enter the new address and it will filter out the invalid entries. To add a pointer to the address list you need to check the Pointer checkbox in the Add Address window. Enter the base address in the main address box and then the offsets in order. Forgot that CE's pointer scan will find pointers based on external addresses, whereas we want pointers based on internal addresses. There's probably a way to deal with this but it's likely to end up rather convoluted. If only we had a better N64 rerecording emulator...
Experienced Forum User, Published Author, Player (16)
Joined: 7/3/2012
Posts: 33
It's curious that around the same time you were disassembling the game, I decided to look up Japanese sources to see if they had worked it out, and I found this page, which seems to have been written about 10 years ago. It also has an extensive address list and other miscellany, like the exact order of the slots. Regarding whether it's possible to hit Mew nine times a second, based on watching the available TASes it should be possible to reach six or more per second, but a lot more investigation would have to be done.