User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pokemon_snap [2017/06/06 10:21]
skeletons created
pokemon_snap [2017/06/29 22:41] (current)
skeletons [Miscellaneous Findings]
Line 1: Line 1:
-====== Pokémon Snap ======+====== Pokémon Snap Hacking ​======
 ~~NOTOC~~ ~~NOTOC~~
 ==== Level Select ==== ==== Level Select ====
-While playing, the current level ID can be found at **800AF3C0**(U). ​Tables ​of the levels script pointers can be found at **800AC03C**(U) and **800AC058**(U). The routine used for loading a level is at **800E303C**(U),​ where **A0** is the level ID to load.+While playing, the current level ID can be found at **800AF3C0**(U). ​Arrays ​of the levels script pointers can be found at **800AC03C**(U) and **800AC058**(U). The routine used for loading a level is at **800E303C**(U),​ where **A0** is the level ID to load.
  
 ^ Value ^ Level Description ^ ^ Value ^ Level Description ^
Line 31: Line 31:
 | 0x18 | Unused Japanese Screen | | 0x18 | Unused Japanese Screen |
  
-//​Discovered and documented by Skelux.//+The unused Japanese screen can be seen in the video below. 
 +{{youtube>​bNyJrvIFtZA?​medium}}
 ==== Level Data ==== ==== Level Data ====
 Below is an incomplete list of level data locations in the USA ROM/RAM. Below is an incomplete list of level data locations in the USA ROM/RAM.
Line 46: Line 47:
 **8009AE10**(U) loads the level script into memory, **8009B634**(U) loads some level-specific information. **8009AE10**(U) loads the level script into memory, **8009B634**(U) loads some level-specific information.
  
-//​Discovered and documented by Skelux.// 
 ==== Model Data ==== ==== Model Data ====
 The polygon data for Beach can be found at **0x5B0F80**(U) and the display list at **0x5B23B0**(U),​ other levels are yet to be documented. Below is a table of model data locations discovered for the USA ROM/RAM, this list is currently quite small. The polygon data for Beach can be found at **0x5B0F80**(U) and the display list at **0x5B23B0**(U),​ other levels are yet to be documented. Below is a table of model data locations discovered for the USA ROM/RAM, this list is currently quite small.
Line 59: Line 59:
 | Mew | 0082F200 | - | | Mew | 0082F200 | - |
  
-//​Discovered and documented by Skelux.// 
 ==== Music ==== ==== Music ====
 A table of music sequences can be found at **0xAEFC10**(U)/​**800604D0**(U). The current music ID playing is stored at **803A66C0**(U). A table of music sequences can be found at **0xAEFC10**(U)/​**800604D0**(U). The current music ID playing is stored at **803A66C0**(U).
Line 102: Line 101:
 | 0x24 | Mystic? | | 0x24 | Mystic? |
  
-//​Discovered and documented by Skelux.// 
 ==== Player Movement ==== ==== Player Movement ====
 All player data can be found at **80366BA4**(U). **800E3C50**(U) stores the player'​s rotation, **800E3C94/​800E3CE0**(U) updates X position, **800E3CA4/​800E3CE4**(U) updates Y position, and **800E3CB4/​800E3CEC**(U) updated Z position. **800E3DFC**(U),​ **800E3E28**(U) and **800E3E94**(U) handle the transition into the next chunk of the level, while **800E3D9C**(U) determines whether to jump to the next section. The Beach second section object is found at **801FFAD0**(U) and the third section at **801FFDF0**(U),​ no further details have been documented. All player data can be found at **80366BA4**(U). **800E3C50**(U) stores the player'​s rotation, **800E3C94/​800E3CE0**(U) updates X position, **800E3CA4/​800E3CE4**(U) updates Y position, and **800E3CB4/​800E3CEC**(U) updated Z position. **800E3DFC**(U),​ **800E3E28**(U) and **800E3E94**(U) handle the transition into the next chunk of the level, while **800E3D9C**(U) determines whether to jump to the next section. The Beach second section object is found at **801FFAD0**(U) and the third section at **801FFDF0**(U),​ no further details have been documented.
  
-//​Discovered and documented by Skelux.// 
 ==== Miscellaneous Findings ==== ==== Miscellaneous Findings ====
 The checksum for this game can be removed by deleting the assembly command at **0x658**(U).  ​ The checksum for this game can be removed by deleting the assembly command at **0x658**(U).  ​
Line 162: Line 159:
        
    //END    //END
- 
-//​Discovered and documented by Skelux.//