ROM map (Boktai 3): Difference between revisions

No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 20: Line 20:
|-
|-
| 0x800211c || undefined Video_LoadGlobalTileset_Scripted(void)
| 0x800211c || undefined Video_LoadGlobalTileset_Scripted(void)
|-
| 0x801150c || int PasswordDecoder_StripTags(undefined4 out, undefined4 in, undefined4 count)
Strips tags from the password. Copies all other data.
|-
| 0x8011578 || int PasswordDecoder_CharToIndex(byte * decodeTable, undefined4 high, undefined4 low)
Looks up the input character (in high/low) in decodeTable
and returns its index in decodeTable.
This works for kana only?
|-
| 0x80115a4 || int PasswordDecoder_TextToIndices(PasswordDecoder * dec)
|-
| 0x80115dc || uint PasswordDecoder_ValidatePlayerName(PasswordDecoder * dec)
|-
| 0x8011660 || int PasswordDecoder_Parse(PasswordDecoder * dec)
|-
| 0x8011714 || void PasswordDecoder_SaveChanges(PasswordDecoder * dec, uchar * playerName)
|-
| 0x8011794 || int PasswordDecoder_Decode(char * pw, byte * pDecodeTable, byte * pNameTable, char * playerName)
|-
| 0x8030c84 || int TextBox_Open(byte * param_1)
|-
| 0x8030d9c || undefined TextBox_OpenScripted(void)
|-
| 0x8031eac || void TextBox_AdvanceVertically(TextBoxOutput * out)
|-
| 0x8031ed8 || undefined TextBox_AdvanceHorizontally(TextBoxOutput * param_1, bool isWide)
|-
| 0x8031f58 || undefined TextBox_DrawCharNarrow(TextBoxOutput * param_1, undefined4 ch)
|-
| 0x8031fa0 || undefined TextBox_DrawCharWide(void)
|-
|-
| 0x8032070 || int16_t Text_ParseEscapeSequence(char * text)
| 0x8032070 || int16_t Text_ParseEscapeSequence(char * text)
Line 27: Line 57:
null terminator. This function will return a pointer to the null
null terminator. This function will return a pointer to the null
terminator instead.
terminator instead.
|-
| 0x8032a44 || int TextBox_DrawTextImpl(int param_1, char * param_2)
|-
| 0x8032b24 || undefined TextBox_DrawText(void)
|-
| 0x8032c54 || void TextBox_SetBounds(TextBoxOutput * param_1, undefined1 x, undefined1 y, undefined1 width, undefined1 height)
|-
| 0x8033e18 || undefined Credits_Update(void)
|-
| 0x8033e74 || int Credits_Destroy(int param_1)
|-
| 0x8033ea4 || undefined Credits_LoadData(void)
|-
| 0x8033fec || undefined Credits_Init(void)
|-
| 0x8034030 || undefined Credits_Create(void)
|-
| 0x8044cf4 || uint PasswordDecoder_GetBits(PasswordDecoder * dec, undefined4 pCursor, undefined4 bitCount, undefined4 param_4)
|-
| 0x8044d6c || undefined PasswordDecoder_Setup(undefined param_1, undefined param_2, undefined param_3, undefined param_4, undefined4 param_5, undefined4 param_6)
|-
| 0x80453dc || void PasswordDecoder_ParseCore(PasswordDecoderOutput * out, PasswordDecoder * dec, int offset)
|-
| 0x810fddc || undefined BikeRace_Render3Digits(void)
|-
| 0x8110834 || undefined BikeRace_RecordScreen_Update(void)
|-
| 0x811086c || undefined BikeRace_RecordScreen_Destroy(void)
|-
| 0x8110894 || int BikeRace_RecordScreen_Init(int param_1)
|-
| 0x8110a40 || undefined BikeRace_RecordScreen_Create(void)
|-
|-
| 0x816381c || void Video_AnimatePalette(ushort * palEntry, byte * timer)
| 0x816381c || void Video_AnimatePalette(ushort * palEntry, byte * timer)
Line 35: Line 97:
|-
|-
| 0x81793ec || undefined BikeRace_UpdateTimer(void)
| 0x81793ec || undefined BikeRace_UpdateTimer(void)
|-
| 0x81bb294 || void Bank_ApplyInterest(void)
|-
|-
| 0x81db474 || void OptionMenu_Update(OptionMenu * menu)
| 0x81db474 || void OptionMenu_Update(OptionMenu * menu)
Line 58: Line 122:
| 0x81dc470 || int EnterPasswordYesNo_Init(EnterPasswordYesNo * param_1)
| 0x81dc470 || int EnterPasswordYesNo_Init(EnterPasswordYesNo * param_1)
|-
|-
| 0x81dc6d0 || void Time_ShowRegionMenu(int param_1)
| 0x81dc6d0 || void RegionMenu_Render(RegionMenu * param_1)
|-
|-
| 0x81dc754 || void Time_RegionMenuOnSelect(TimeMenu * param_1)
| 0x81dc754 || void RegionMenu_OnSelect(RegionMenu * param_1)
Called when selecting an option
Called when selecting an option
in the region menu
in the region menu
|-
|-
| 0x81dc7a0 || void Time_HandleRegionKeypad(TimeMenu * param_1)
| 0x81dc7a0 || void RegionMenu_Update(RegionMenu * param_1)
|-
|-
| 0x81dca6c || void Time_DestroyRegionMenu(int param_1)
| 0x81dca6c || void RegionMenu_Destroy(int param_1)
|-
|-
| 0x81dca9a || int Time_LoadRegionList(int param_1)
| 0x81dca9a || int Time_LoadRegionList(int param_1)
|-
|-
| 0x81dca9c || int Time_LoadRegionList(void * param_1)
| 0x81dca9c || int RegionMenu_Init(RegionMenu * param_1)
|-
| 0x81dcdf4 || void * RegionMenu_Create(void)
|-
| 0x81dcf20 || void NameEntry_Load(NameEntry * menu, uchar * input)
|-
|-
| 0x81dcdf4 || void * Time_StartRegionMenu(void)
| 0x81dcf84 || void NameEntry_DrawInput(char * input)
|-
|-
| 0x81ddbc0 || void NameEntry_HandleKeypad(int param_1)
| 0x81dcfe4 || undefined NameEntry_Render(NameEntry * menu)
|-
| 0x81dd174 || undefined NameEntry_HandleUp(NameEntry * menu)
|-
| 0x81dd3b8 || undefined NameEntry_HandleDown(void)
|-
| 0x81dd590 || undefined NameEntry_HandleRight(void)
|-
| 0x81dd80c || undefined NameEntry_HandleLeft(void)
|-
| 0x81dda78 || bool NameEntry_AddChar(NameEntry * menu)
|-
| 0x81ddaf0 || undefined NameEntry_SwitchKeyboard(void)
|-
| 0x81ddb44 || uint NameEntry_DrawSomething(NameEntry * name)
|-
| 0x81ddbc0 || void NameEntry_Update(NameEntry * menu)
|-
| 0x81de078 || void NameEntry_Destroy(NameEntry * menu)
|-
| 0x81de0cc || int NameEntry_Init(NameEntry * menu)
|-
| 0x81de5a4 || NameEntry * NameEntry_Create(void)
|-
|-
| 0x81de5e4 || void TimeMenu_HideSprites(TimeMenu * menu)
| 0x81de5e4 || void TimeMenu_HideSprites(TimeMenu * menu)
Line 95: Line 185:
|-
|-
| 0x81df0ac || undefined TimeMenu_Create(void)
| 0x81df0ac || undefined TimeMenu_Create(void)
|-
| 0x81df0ec || void PasswordMenu_SaveToEwram(PasswordMenu * menu)
|-
| 0x81df124 || void PasswordMenu_LoadFromEwram(PasswordMenu * param_1)
|-
| 0x81df160 || void PasswordMenu_Clear(PasswordMenu * param_1)
|-
| 0x81df1a0 || void PasswordMenu_ConcatPassword(char * in, undefined4 out)
Concats the 4 quadrants into a single char array.
Leaves all data as-is (so that char array will still contain tags)
|-
|-
| 0x81df1d8 || void PasswordMenu_CalcCursorPosition(PasswordMenu * menu)
| 0x81df1d8 || void PasswordMenu_CalcCursorPosition(PasswordMenu * menu)
Line 199: Line 299:
| 0x82197a4 || int Sprite_InitWithSprite(undefined4 sprite, SpriteSet * set, undefined4 spriteIndex, undefined4 param_4, undefined1 param_5, undefined1 param_6, undefined2 param_7, short * initialPosition)
| 0x82197a4 || int Sprite_InitWithSprite(undefined4 sprite, SpriteSet * set, undefined4 spriteIndex, undefined4 param_4, undefined1 param_5, undefined1 param_6, undefined2 param_7, short * initialPosition)
|-
|-
| 0x821980c || int Sprite_SetSprite(Sprite * sprite, SpriteSet * set, undefined2 index, undefined param_4)
| 0x821980c || int Sprite_SetSprite(Sprite * sprite, SpriteSet * set, uint param_3, undefined1 param_4)
|-
|-
| 0x821983c || int Sprite_Create(Sprite * sprite, SpriteSet * set, int spriteId, uint param_4, undefined param_5, undefined param_6, undefined param_7, int * initialPosition)
| 0x821983c || int Sprite_Create(Sprite * sprite, SpriteSet * set, uint spriteId, uint param_4, undefined1 param_5, undefined1 param_6, ushort param_7, int * param_8)
|-
|-
| 0x8219aac || undefined Actor_Boot(void)
| 0x8219aac || undefined Actor_Boot(void)
Line 219: Line 319:
|-
|-
| 0x8219dd8 || void bzero(void * mem, uint bytes)
| 0x8219dd8 || void bzero(void * mem, uint bytes)
|-
| 0x8219e44 || void memset(undefined1 * param_1, undefined1 param_2, uint param_3)
|-
|-
| 0x8219ebc || undefined memcpy_slow(void)
| 0x8219ebc || undefined memcpy_slow(void)
Line 246: Line 348:
| 0x821a520 || void * Mft_GetFile(ushort dirId, undefined4 fileId)
| 0x821a520 || void * Mft_GetFile(ushort dirId, undefined4 fileId)
|-
|-
| 0x821a66c || int Script_ReadLength(byte * pc, int * length)
| 0x821a66c || byte * Script_ReadLength(byte * pc, int * length)
Returns pc after all the length bytes, the length itself is stored in *length.
Returns pc after all the length bytes, the length itself is stored in *length.
|-
|-
Line 268: Line 370:
|-
|-
| 0x821ab88 || int Script_GetValueSafe(void)
| 0x821ab88 || int Script_GetValueSafe(void)
|-
| 0x821aba8 || int Script_GetKeywordValue(char kw, int fallback)
|-
| 0x821ac30 || void * Script_GetControlHandler(undefined4 ctrl)
|-
| 0x821ac6c || uint Script_ExecControl(undefined2 * pc)
|-
|-
| 0x821acdc || byte * Script_LookupById(int script_id, uint * param_2)
| 0x821acdc || byte * Script_LookupById(int script_id, uint * param_2)
Line 276: Line 384:
|-
|-
| 0x821af2c || int Script_ExecBlock(byte * pc, undefined4 param_2, undefined4 param_3)
| 0x821af2c || int Script_ExecBlock(byte * pc, undefined4 param_2, undefined4 param_3)
|-
| 0x821afb4 || int Script_ExecByPointer(byte * pc, undefined * argp)
|-
|-
| 0x821afd8 || int Script_Exec(byte * pc, int param_2)
| 0x821afd8 || int Script_Exec(byte * pc, int param_2)
|-
| 0x821b084 || undefined Sys_ShuffleSaveBuffers(void)
|-
|-
| 0x821b148 || void Save_BackupStatAndWorld(void)
| 0x821b148 || void Save_BackupStatAndWorld(void)
Line 284: Line 396:
|-
|-
| 0x821b3e4 || undefined Script_StorePointer(void)
| 0x821b3e4 || undefined Script_StorePointer(void)
|-
| 0x821b738 || undefined8 Script_CtrlIfCore(byte * param_1)
|-
| 0x821b794 || undefined Script_CtrlIf(void)
|-
|-
| 0x821b938 || undefined Script_RunOperator(void)
| 0x821b938 || undefined Script_RunOperator(void)
|-
|-
| 0x821ba5c || int Script_RunExpression(byte * pc)
| 0x821ba5c || int Script_RunExpression(byte * pc)
|-
| 0x8221548 || uint PasswordMenu_CalculateChecksumCore(PasswordDecoder * dec, uint start, uint end, uint seed)
|-
| 0x8221594 || uint PasswordDecoder_CalculateChecksum(PasswordDecoder * dec, uint start, uint end)
|-
|-
| 0x8225410 || int Save_BackupStatAndWorld_Scripted(void)
| 0x8225410 || int Save_BackupStatAndWorld_Scripted(void)
|-
| 0x8227878 || undefined Stat_GetPlayerName(void)
|-
|-
| 0x82284f4 || void Time_ClearData(void)
| 0x82284f4 || void Time_ClearData(void)
Line 307: Line 429:
|-
|-
| 0x8228d94 || undefined Time_GetRtcMinutes(void)
| 0x8228d94 || undefined Time_GetRtcMinutes(void)
|-
| 0x8228da0 || int Time_GetRtcSeconds(void)
|-
|-
| 0x8229180 || int Time_WriteToRtcChip(undefined4 year, undefined4 month, undefined4 date, undefined1 hours, undefined1 minutes, undefined1 seconds)
| 0x8229180 || int Time_WriteToRtcChip(undefined4 year, undefined4 month, undefined4 date, undefined1 hours, undefined1 minutes, undefined1 seconds)
Line 317: Line 441:
|-
|-
| 0x822c238 || undefined Sensor_GetBars(void)
| 0x822c238 || undefined Sensor_GetBars(void)
|-
| 0x822fe60 || undefined MP2K_SoundInit(void)
|-
| 0x822fed8 || undefined MP2K_SoundMain(void)
|-
| 0x822fee4 || void MP2K_SongNumStart(int param_1)
|-
| 0x82305cc || undefined MP2K_SoundVSync(void)
|-
|-
| 0x8243d28 || void Sensor_Timer3Handler(void)
| 0x8243d28 || void Sensor_Timer3Handler(void)
Line 356: Line 488:
| 0x824da48 || void * memcpy'(void * dest, void * src, uint len)
| 0x824da48 || void * memcpy'(void * dest, void * src, uint len)
How is this different from memcpy?
How is this different from memcpy?
|-
| 0x824daa8 || uint * memset'(uint * param_1, uint param_2, uint param_3)
|-
| 0x826456c || MP2K_SongTable (1483 entries)
|-
|-
| 0x860330c || [[Engine calls (Boktai_3)|Engine call]] table (null-terminated array of <code>struct { void(*)(int r0) fn; int id; }</code>)
| 0x860330c || [[Engine calls (Boktai_3)|Engine call]] table (null-terminated array of <code>struct { void(*)(int r0) fn; int id; }</code>)