This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
kirby64_the_crystal_shards:levels [2020/02/19 16:49] jesusyoshi54 [Level List Locations] |
kirby64_the_crystal_shards:levels [2020/03/05 18:37] jesusyoshi54 [Levels] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Levels ====== | ====== Levels ====== | ||
Each level loads a struct of areas using function 0x800F78E4. | Each level loads a struct of areas using function 0x800F78E4. | ||
- | The game uses this structure to find the pointer to the current area in the main stage table. | + | The game uses this structure to find the pointer to the current area in the main stage table. Its located at 0x800be500. |
+ | |||
+ | Note: when used to select levels its bytes, but its stored in ram as words. | ||
<code C> | <code C> | ||
- | Level struct (800be500): | + | struct Level |
{ | { | ||
- | /*0X0*/ U32 WORLD | + | /*0X0*/ u8 World; |
- | /*0X4*/ U32 LEVEL | + | /*0X1*/ u8 Level; |
- | /*0X8*/ U32 AREA | + | /*0X2*/ u8 Area; |
- | /*0XC*/ U32 WARP/DIRECTION | + | /*0X3*/ u8 WarpID; |
- | } | + | }; |
</code> | </code> | ||
The pointer to the main stage table is gotten by using this formula: | The pointer to the main stage table is gotten by using this formula: |