RAM map (Boktai 3): Difference between revisions
m →IWRAM |
Misc |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
! Address || Type || Description | ! Address || Type || Description | ||
|- | |- | ||
| 0x02000580 || void* || Pointer | | 0x0200035c || bytecode* || "Enter password" menu base64 decoder table | ||
|- | |||
| 0x02000360 || bytecode* || "Enter password" menu player name decoder table | |||
|- | |||
| 0x02000580 || void* || Pointer to Django's actor data | |||
|- | |- | ||
| + 0x30 || i16[3] || Current position | | + 0x30 || i16[3] || Current position | ||
|- | |- | ||
| + 0x332 | | + 0x332 | ||
| | |i16[3] | ||
|VIT from equipment | |VIT/SPR/STR from equipment | ||
|- | |- | ||
| + | | + 0x41c | ||
| | |i16[3] | ||
|SPR from | |VIT/SPR/STR from stat points & cards | ||
|- | |- | ||
| + | | + 0x424 || i16 || Current HP | ||
| | |||
| | |||
|- | |- | ||
| + | | + 0x426 || i16 || Max HP | ||
|- | |- | ||
| + 0x428 || i16 || Current ENE | | + 0x428 || i16 || Current ENE | ||
|- | |||
| + 0x430 || i16 || Max ENE | |||
|- | |- | ||
| + 0x42C || i16 || Current TRC | | + 0x42C || i16 || Current TRC | ||
|- | |- | ||
| | | 0x02000610 || script* || [[Bytecode]] interpreter: Program counter | ||
|- | |||
| 0x02000700 || void* || Pointer to [[#Scratch struct]], defaults to 0x0203e200 on hard reset (but moves on soft resets) | |||
|- | |||
| 0x0200070c || void* || Pointer to backup of the stat struct (created on screen transitions, reloaded on death, saved to save file when saving) | |||
|- | |||
| 0x02000708 || void* || Pointer to [[#World struct]], defaults to 0x0203e200 on hard reset (but moves on soft resets) | |||
|- | |||
| 0x0200070c || void* || Pointer to backup of the stat struct | |||
|- | |- | ||
| | | 0x02000710 || void* || Pointer to [[#Stat struct]], defaults to 0x0203c400 on hard reset (but moves on soft resets) | ||
|- | |- | ||
| | | 0x02000714 || || [[Heap]] (≈123.2 KiB) | ||
|- | |- | ||
| | | 0x0200eec0 || || Boss HP | ||
|- | |- | ||
| | | 0x020031c1 || i8 || [[Dialogue box]] portrait | ||
|} | |} | ||
== Stat struct == | == Stat struct == | ||
Access this struct via | Access this struct via 0x02000710. Size: 0x89c. See also: [[Inventory (Boktai 3)]]. | ||
{| class="wikitable exportable" | {| class="wikitable exportable" | ||
Line 46: | Line 58: | ||
! Offset || Type || Description | ! Offset || Type || Description | ||
|- | |- | ||
| 0x18 || i16[4] || | | 0x18 || i16[4] || VIT/SPR/STR/? from stat points | ||
|- | |||
|0x20 | |||
|i16[4] | |||
|VIT/SPR/STR/? from cards | |||
|- | |- | ||
| 0x28 || i16 || Current HP | | 0x28 || i16 || Current HP | ||
|- | |||
| 0x2a || i16 || Max HP | |||
|- | |- | ||
| 0x2c || i16 || Current ENE | | 0x2c || i16 || Current ENE | ||
|- | |||
| 0x2e || i16 || Max ENE | |||
|- | |- | ||
| 0x30 || i16[3] || Django position | | 0x30 || i16[3] || Django position | ||
Line 87: | Line 107: | ||
|- | |- | ||
| 0x4c0 || || Frame inventory | | 0x4c0 || || Frame inventory | ||
|- | |||
| 0x5a4 || i32 || Current map's init script ID | |||
|- | |- | ||
| 0x596 || i16 || Stuffed dolls (bitmask) | | 0x596 || i16 || Stuffed dolls (bitmask) | ||
|- | |||
| 0x598 || i16 || Solar bank interest rate (stored as (1+r)*64, e.g. 14.0625% = 73). Defaults to 65 when starting a new game. When the date changes, the rate will change to 65 + (IGT_frame_counter XOR RTC_seconds) mod 13 (effectively uniformly distributed in the interval [1.5625%, 20.3125%]). | |||
|- | |||
| 0x5ac || i16 || Current [[Maps (Boktai 3)#Areas|area ID]] | |||
|- | |- | ||
| 0x5b8 || i32 || Acquired maps | | 0x5b8 || i32 || Acquired maps | ||
Line 95: | Line 121: | ||
|- | |- | ||
| 0x610 || i16 || Mr. Rainnot enabled | | 0x610 || i16 || Mr. Rainnot enabled | ||
|- | |||
| 0x614 || i32 || IGT frame counter for this save file | |||
|- | |- | ||
| 0x638 || i32 || Red Django use | | 0x638 || i32 || Red Django use | ||
Line 115: | Line 143: | ||
|- | |- | ||
| 0x72c || || Library: Swords | | 0x72c || || Library: Swords | ||
|- | |||
| 0x740 || i16 || Current [[Maps (Boktai 3)|map ID]] | |||
|- | |- | ||
| 0x77c || i32 || Solar station balance | | 0x77c || i32 || Solar station balance | ||
Line 124: | Line 154: | ||
| 0x7b0 || i16 || Solar bank balance | | 0x7b0 || i16 || Solar bank balance | ||
|- | |- | ||
| 0x7b2 || i16 || Bike points | | 0x7b2 || i16 || Bike battle - points | ||
|- | |- | ||
| | | 0x7b4 || i16 || Bike battle - number of matches | ||
|- | |- | ||
| | | 0x7b6 || i16 || Bike battle - number of wins | ||
|- | |- | ||
| | | 0x7a0 || || [[Bike]] parts: Front | ||
|- | |- | ||
| | | 0x7a2 || || Bike parts: Tires | ||
|- | |- | ||
| | | 0x7a4 || || Bike parts: Body | ||
|- | |- | ||
| | | 0x7a6 || || Bike parts: Special | ||
|- | |||
| 0x81a || || Bike parts: Color | |||
|- | |||
| 0x7a8 || || Bike parts: Option 1 | |||
|- | |||
|0x7aa | |||
| | |||
|Bike parts: Option 2 | |||
|- | |||
|0x7ac | |||
| | |||
|Bike parts: Option 3 | |||
|- | |||
|0x7ae | |||
| | |||
|Bike parts: Option 4 | |||
|- | |- | ||
| 0x828 || || Lens inventory | | 0x828 || || Lens inventory | ||
Line 146: | Line 192: | ||
== World struct == | == World struct == | ||
Access this struct via | Access this struct via 0x02000708. Size: 0x400. | ||
{| class="wikitable exportable" | {| class="wikitable exportable" | ||
|- | |- | ||
! Offset || Type || Description | ! Offset || Type || Description | ||
|- | |||
| 0x3c || i16 || Global story progress | |||
|- | |||
| 0x70 || i16 || Current door ID | |||
|- | |||
| 0x14e:1 || bit[4] || Dark Castle B15 wing completion flags | |||
|- | |||
| 0x14f:5 || bit[4] || Dark Castle B9 wing completion flags | |||
|- | |- | ||
| 0x15d || bit[9] || Titles (Adept/Gladiator/SP Agent/Champion/Dark Hunter/Alchemist/Collector/Doll Master/Storyteller) | | 0x15d || bit[9] || Titles (Adept/Gladiator/SP Agent/Champion/Dark Hunter/Alchemist/Collector/Doll Master/Storyteller) | ||
Line 158: | Line 212: | ||
== Scratch struct == | == Scratch struct == | ||
Access this struct via | Access this struct via 0x02000700. | ||
{| class="wikitable exportable" | {| class="wikitable exportable" | ||
Line 170: | Line 224: | ||
|- | |- | ||
! Address || Type || Description | ! Address || Type || Description | ||
|- | |||
| 0x03001664 || void* || Pointer to [[font]] | |||
|- | |||
| 0x0300523c || u32 || [[Actor]] disable flags | |||
|- | |- | ||
| 0x03005260 || u16 || Keypad: down buttons (active-high) | | 0x03005260 || u16 || Keypad: down buttons (active-high) | ||
Line 176: | Line 234: | ||
|- | |- | ||
| 0x03005264 || u16 || Keypad: released buttons (up on current frame, down on previous frame) | | 0x03005264 || u16 || Keypad: released buttons (up on current frame, down on previous frame) | ||
|- | |||
| 0x03005280 || Array || [[Actor]] list | |||
|- | |- | ||
| 0x030052f4 || struct* || Pointer to current [[Map file]] descriptor (usually/always 0x02000010) | | 0x030052f4 || struct* || Pointer to current [[Map file]] descriptor (usually/always 0x02000010) | ||
Line 204: | Line 264: | ||
|- | |- | ||
| 0x03005437 || u8 || RTC frames | | 0x03005437 || u8 || RTC frames | ||
|- | |||
| 0x03005438 || u8 || RTC day of week | |||
|- | |- | ||
| 0x0300543a || u8 || [[Time|Sunrise]] hours | | 0x0300543a || u8 || [[Time|Sunrise]] hours | ||
Line 211: | Line 273: | ||
| 0x0300543c || u8 || Sunset hours | | 0x0300543c || u8 || Sunset hours | ||
|- | |- | ||
| 0x0300543d || u8 || | | 0x0300543d || u8 || Sunset minutes | ||
|- | |||
| 0x0300543e || u8 || Unknown, sunrise/sunset related | |||
|- | |||
| 0x0300543f || u8 || Unknown, sunrise/sunset related | |||
|- | |||
| 0x03005440 || u8 || Hours until sunset | |||
|- | |||
| 0x03005441 || u8 || Minutes until sunset | |||
|- | |||
| 0x03005442 || u8 || Hours until sunrise | |||
|- | |||
| 0x03005443 || u8 || Minutes until sunries | |||
|- | |- | ||
| 0x03005448 || i32 || [[Time|Region]] latitude | | 0x03005448 || i32 || [[Time|Region]] latitude | ||
Line 227: | Line 301: | ||
|- | |- | ||
| 0x04 || i32 || Solar sensor calibration (<code>raw_level - 2</code> at time of calibration) | | 0x04 || i32 || Solar sensor calibration (<code>raw_level - 2</code> at time of calibration) | ||
|- | |||
| 0x0b || u8 || Daylight savings time active | |||
|- | |- | ||
| 0x18 || i32 || [[Time|Region ID]] | | 0x18 || i32 || [[Time|Region ID]] |