8/24/2023 0 Comments Download donkey kong land gbc![]() In these levels it ceases to be an LSFR and instead takes other values, but after exiting the level it resumes its function from whatever value it ended at. The exceptions are during the Necky bosses where it generates once each boss attack phase to choose a position, and during water levels where this memory address seems to be repurposed entirely. The RNG sits still during most levels which is great because it means that saving time anywhere does not disrupt the boss pattern. The random number generator is stored at address 300 in 3 bytes as a linear shift feedback register (LSFR) which generates on every frame of the overworld. Necky and Master Necky are the only instances of RNG in the entire game (not including Funky's Fishing and Crosshair Cranky, of course). However, it seems to be barely possible to manipulate him with the camera in a couple critical locations. The one significant exception to this manipulation is Mini-Necky, for some reason he seems to shoot based on the player's position rather than the camera's. It can even be used to simply reduce lag frames. It can also be used to re-position ropes and moving platforms, sometimes making cycle skips possible. For example, this can be used to stop Zingers or Mincers from getting in the way, or to prevent Kritters from jumping out of the way so you can roll through them. Since most entities spawn based on the camera's position and not the Kong's position, this can be used to manipulate entities to spawn later in any situation where it would be beneficial. By pressing left for 1 frame before pressing right and B, you can lock the camera behind you, putting the Kong at the front of the screen. However, "forward" is defined by whichever direction you're facing (or turning towards) before starting the roll. When starting a roll, the camera moves forward and locks in place, positioning you towards the back of the screen. There are other states relating to the overworld, the Kong Family, various menus and loading screens, and even Funky's Fishing and Crosshair Cranky, but these are less important so I didn't include them here. Below is a list of many relevant values of 0802 as 2-byte hex and what states they correspond to. The first 2 bytes seem to store general information like whether we're in a level or on the overworld, while the second 2 bytes describe the status of the player. The "status" of the game is stored in memory variable 0800 in 4 bytes. When viewed as a HEX variable, displays the life count in decimal. If this value is nonzero when hitting a level transition, it causes a "banana block." This holds bananas as they move towards the counter. When viewed as a HEX variable, displays the banana count in decimal. This value is inverted, 0 denotes full stamina and 10 is empty. The sixth bit (64) counts the extended roll "credit." Other bits seem to hold other information (for example, 5 = "inside barrel cannon"). For some reason, Expresso and Winky also get their speeds set to 0 when they land from a jump.Ģ-byte HEX value denoting current state of the player, see "Status Table."ĭisplay as 2-byte to show subpixel only value.ĭisplay as 2-byte to show pixel only value. Animal buddy speed and acceleration values are the same as the Kongs' when not mentioned. I included a lot of values for anyone who is curious, but some are not super relevant so I highlighted the important ones in bold. In the following table I will give measurements in these units as well as in pixels as a rounded decimal, and pure subpixels, to make them easier to think about for anyone who prefers those units. In this document I primarily give measurements as pixel_subpixel, these units will be denoted with an underscore to separate the place values. In hindsight I probably should have switched to using subpixel only measurement, but I got set in my ways. Furthermore, with the subpixel value unsigned, to read leftwards and upwards speeds you have to add the negative pixel value to the positive subpixel value, making them harder to think about. This has the advantage of making the significant figure easier to see and reference, but the disadvantage of making computations and comparisons harder. When I started working on this TAS I made the decision to keep my subpixel and pixel addresses separate and measure as a sort of a 256-decimal. For position in the level which requires more than 256 pixels, another byte is used to store superpixels. ![]() Lengths are stored in two separate bytes measuring pixels and subpixels.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |