diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index c693e72f..99149111 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -253,189 +253,189 @@ fn_80009D40 = .text:0x80009D40; // type:function size:0x40 fn_80009D80 = .text:0x80009D80; // type:function size:0x4 fn_80009D90 = .text:0x80009D90; // type:function size:0x4 fn_80009DA0 = .text:0x80009DA0; // type:function size:0xC -fn_80009DB0 = .text:0x80009DB0; // type:function size:0x124 -fn_80009EE0 = .text:0x80009EE0; // type:function size:0x4 -fn_80009EF0 = .text:0x80009EF0; // type:function size:0x3C -fn_80009F30 = .text:0x80009F30; // type:function size:0x38 -fn_80009F70 = .text:0x80009F70; // type:function size:0x90 -fn_8000A000 = .text:0x8000A000; // type:function size:0x258 -fn_8000A260 = .text:0x8000A260; // type:function size:0x14 -fn_8000A280 = .text:0x8000A280; // type:function size:0x18 -fn_8000A2A0 = .text:0x8000A2A0; // type:function size:0x14 -fn_8000A2C0 = .text:0x8000A2C0; // type:function size:0x14 -fn_8000A2E0 = .text:0x8000A2E0; // type:function size:0x50 -fn_8000A330 = .text:0x8000A330; // type:function size:0x24 -fn_8000A360 = .text:0x8000A360; // type:function size:0x44 -fn_8000A3B0 = .text:0x8000A3B0; // type:function size:0x24 -fn_8000A3E0 = .text:0x8000A3E0; // type:function size:0x44 -fn_8000A430 = .text:0x8000A430; // type:function size:0x24 -fn_8000A460 = .text:0x8000A460; // type:function size:0x44 -fn_8000A4B0 = .text:0x8000A4B0; // type:function size:0x24 -getSceneflags__11FileManagerFv = .text:0x8000A4E0; // type:function size:0x44 -fn_8000A530 = .text:0x8000A530; // type:function size:0x24 -fn_8000A560 = .text:0x8000A560; // type:function size:0x44 -fn_8000A5B0 = .text:0x8000A5B0; // type:function size:0x24 -getTempflags__11FileManagerFv = .text:0x8000A5E0; // type:function size:0x44 -fn_8000A630 = .text:0x8000A630; // type:function size:0x24 -getZoneflags__11FileManagerFv = .text:0x8000A660; // type:function size:0x44 -fn_8000A6B0 = .text:0x8000A6B0; // type:function size:0x24 -fn_8000A6E0 = .text:0x8000A6E0; // type:function size:0x44 -fn_8000A730 = .text:0x8000A730; // type:function size:0x58 -fn_8000A790 = .text:0x8000A790; // type:function size:0x58 -fn_8000A7F0 = .text:0x8000A7F0; // type:function size:0x58 -setSceneflags__11FileManagerFPUsUiUs = .text:0x8000A850; // type:function size:0x58 +__ct__11FileManagerFv = .text:0x80009DB0; // type:function size:0x124 +__ct__7mVec3_cFv = .text:0x80009EE0; // type:function size:0x4 +create__11FileManagerFPQ23EGG4Heap = .text:0x80009EF0; // type:function size:0x3C +loadSaveData__11FileManagerFPvPcb = .text:0x80009F30; // type:function size:0x38 +saveSaveData__11FileManagerFPvb = .text:0x80009F70; // type:function size:0x90 +refreshSaveFileData__11FileManagerFv = .text:0x8000A000; // type:function size:0x258 +getFileHeroname__11FileManagerFi = .text:0x8000A260; // type:function size:0x14 +getFileSaveTime__11FileManagerFi = .text:0x8000A280; // type:function size:0x18 +getFileCurrentHealth__11FileManagerFi = .text:0x8000A2A0; // type:function size:0x14 +getFileHealthCapacity__11FileManagerFi = .text:0x8000A2C0; // type:function size:0x14 +fn_8000A2E0__11FileManagerFv = .text:0x8000A2E0; // type:function size:0x50 +getStoryFlagsMut__11FileManagerFv = .text:0x8000A330; // type:function size:0x24 +getStoryFlagsConst__11FileManagerFv = .text:0x8000A360; // type:function size:0x44 +getItemFlagsMut__11FileManagerFv = .text:0x8000A3B0; // type:function size:0x24 +getItemFlagsConst__11FileManagerFv = .text:0x8000A3E0; // type:function size:0x44 +getDungeonFlagsMut__11FileManagerFv = .text:0x8000A430; // type:function size:0x24 +getDungeonFlagsConst__11FileManagerFv = .text:0x8000A460; // type:function size:0x44 +getSceneFlagsMut__11FileManagerFv = .text:0x8000A4B0; // type:function size:0x24 +getSceneFlagsConst__11FileManagerFv = .text:0x8000A4E0; // type:function size:0x44 +getTBoxFlagsMut__11FileManagerFv = .text:0x8000A530; // type:function size:0x24 +getTBoxFlagsConst__11FileManagerFv = .text:0x8000A560; // type:function size:0x44 +getTempFlagsMut__11FileManagerFv = .text:0x8000A5B0; // type:function size:0x24 +getTempFlagsConst__11FileManagerFv = .text:0x8000A5E0; // type:function size:0x44 +getZoneFlagsMut__11FileManagerFv = .text:0x8000A630; // type:function size:0x24 +getZoneFlagsConst__11FileManagerFv = .text:0x8000A660; // type:function size:0x44 +getEnemyDefeatFlagsMut__11FileManagerFv = .text:0x8000A6B0; // type:function size:0x24 +getEnemyDefeatFlagsConst__11FileManagerFv = .text:0x8000A6E0; // type:function size:0x44 +setStoryFlags__11FileManagerFPUsUiUs = .text:0x8000A730; // type:function size:0x58 +setItemFlags__11FileManagerFPUsUiUs = .text:0x8000A790; // type:function size:0x58 +setDungeonFlags__11FileManagerFPUsUiUs = .text:0x8000A7F0; // type:function size:0x58 +setSceneFlags__11FileManagerFPUsUiUs = .text:0x8000A850; // type:function size:0x58 setTBoxFlags__11FileManagerFPUsUiUs = .text:0x8000A8B0; // type:function size:0x58 -setTempflags__11FileManagerFPUsUsUs = .text:0x8000A910; // type:function size:0x58 -setZoneflags__11FileManagerFPUsUsUs = .text:0x8000A970; // type:function size:0x58 -fn_8000A9D0 = .text:0x8000A9D0; // type:function size:0x58 -fn_8000AA30 = .text:0x8000AA30; // type:function size:0xC -fn_8000AA40 = .text:0x8000AA40; // type:function size:0x5C -fn_8000AAA0 = .text:0x8000AAA0; // type:function size:0x124 -fn_8000ABD0 = .text:0x8000ABD0; // type:function size:0x30 -fn_8000AC00 = .text:0x8000AC00; // type:function size:0x44 -fn_8000AC50 = .text:0x8000AC50; // type:function size:0x30 -fn_8000AC80 = .text:0x8000AC80; // type:function size:0x44 -fn_8000ACD0 = .text:0x8000ACD0; // type:function size:0x44 -fn_8000AD20 = .text:0x8000AD20; // type:function size:0x44 -fn_8000AD70 = .text:0x8000AD70; // type:function size:0x30 -fn_8000ADA0 = .text:0x8000ADA0; // type:function size:0x44 -fn_8000ADF0 = .text:0x8000ADF0; // type:function size:0x44 -fn_8000AE40 = .text:0x8000AE40; // type:function size:0x44 -fn_8000AE90 = .text:0x8000AE90; // type:function size:0x44 -fn_8000AEE0 = .text:0x8000AEE0; // type:function size:0x44 -fn_8000AF30 = .text:0x8000AF30; // type:function size:0x44 -fn_8000AF80 = .text:0x8000AF80; // type:function size:0x44 -fn_8000AFD0 = .text:0x8000AFD0; // type:function size:0x30 -fn_8000B000 = .text:0x8000B000; // type:function size:0x44 -fn_8000B050 = .text:0x8000B050; // type:function size:0x30 -fn_8000B080 = .text:0x8000B080; // type:function size:0x44 -fn_8000B0D0 = .text:0x8000B0D0; // type:function size:0x54 -fn_8000B130 = .text:0x8000B130; // type:function size:0x74 -fn_8000B1B0 = .text:0x8000B1B0; // type:function size:0x6C -fn_8000B220 = .text:0x8000B220; // type:function size:0x24 -fn_8000B250 = .text:0x8000B250; // type:function size:0x6C -fn_8000B2C0 = .text:0x8000B2C0; // type:function size:0x24 -fn_8000B2F0 = .text:0x8000B2F0; // type:function size:0x70 -fn_8000B360 = .text:0x8000B360; // type:function size:0x88 -fn_8000B3F0 = .text:0x8000B3F0; // type:function size:0x84 -fn_8000B480 = .text:0x8000B480; // type:function size:0x24 -fn_8000B4B0 = .text:0x8000B4B0; // type:function size:0x84 -fn_8000B540 = .text:0x8000B540; // type:function size:0x24 -fn_8000B570 = .text:0x8000B570; // type:function size:0x30 -fn_8000B5A0 = .text:0x8000B5A0; // type:function size:0x44 -fn_8000B5F0 = .text:0x8000B5F0; // type:function size:0x30 -fn_8000B620 = .text:0x8000B620; // type:function size:0x44 -fn_8000B670 = .text:0x8000B670; // type:function size:0x30 -fn_8000B6A0 = .text:0x8000B6A0; // type:function size:0x44 -fn_8000B6F0 = .text:0x8000B6F0; // type:function size:0x30 -fn_8000B720 = .text:0x8000B720; // type:function size:0x44 -fn_8000B770 = .text:0x8000B770; // type:function size:0x30 -fn_8000B7A0 = .text:0x8000B7A0; // type:function size:0x44 -fn_8000B7F0 = .text:0x8000B7F0; // type:function size:0x30 -fn_8000B820 = .text:0x8000B820; // type:function size:0x44 -fn_8000B870 = .text:0x8000B870; // type:function size:0x30 -fn_8000B8A0 = .text:0x8000B8A0; // type:function size:0x44 -fn_8000B8F0 = .text:0x8000B8F0; // type:function size:0x30 -fn_8000B920 = .text:0x8000B920; // type:function size:0x44 -fn_8000B970 = .text:0x8000B970; // type:function size:0x30 -fn_8000B9A0 = .text:0x8000B9A0; // type:function size:0x44 -fn_8000B9F0 = .text:0x8000B9F0; // type:function size:0x30 -fn_8000BA20 = .text:0x8000BA20; // type:function size:0x44 -fn_8000BA70 = .text:0x8000BA70; // type:function size:0x104 -fn_8000BB80 = .text:0x8000BB80; // type:function size:0xEC -fn_8000BC70 = .text:0x8000BC70; // type:function size:0x70 -fn_8000BCE0 = .text:0x8000BCE0; // type:function size:0x80 -fn_8000BD60 = .text:0x8000BD60; // type:function size:0x70 -fn_8000BDD0 = .text:0x8000BDD0; // type:function size:0x80 -fn_8000BE50 = .text:0x8000BE50; // type:function size:0x30 -fn_8000BE80 = .text:0x8000BE80; // type:function size:0xC -fn_8000BE90 = .text:0x8000BE90; // type:function size:0x30 -fn_8000BEC0 = .text:0x8000BEC0; // type:function size:0xC -fn_8000BED0 = .text:0x8000BED0; // type:function size:0xA4 -fn_8000BF80 = .text:0x8000BF80; // type:function size:0xF4 -fn_8000C080 = .text:0x8000C080; // type:function size:0x30 -fn_8000C0B0 = .text:0x8000C0B0; // type:function size:0xC -fn_8000C0C0 = .text:0x8000C0C0; // type:function size:0x30 -fn_8000C0F0 = .text:0x8000C0F0; // type:function size:0x30 -fn_8000C120 = .text:0x8000C120; // type:function size:0xC -fn_8000C130 = .text:0x8000C130; // type:function size:0x30 -fn_8000C160 = .text:0x8000C160; // type:function size:0xC4 -fn_8000C230 = .text:0x8000C230; // type:function size:0x12C -fn_8000C360 = .text:0x8000C360; // type:function size:0x104 -fn_8000C470 = .text:0x8000C470; // type:function size:0x104 -fn_8000C580 = .text:0x8000C580; // type:function size:0xA4 -fn_8000C630 = .text:0x8000C630; // type:function size:0x104 -fn_8000C740 = .text:0x8000C740; // type:function size:0x44 -fn_8000C790 = .text:0x8000C790; // type:function size:0x44 -fn_8000C7E0 = .text:0x8000C7E0; // type:function size:0x30 -fn_8000C810 = .text:0x8000C810; // type:function size:0x44 -fn_8000C860 = .text:0x8000C860; // type:function size:0x44 -fn_8000C8B0 = .text:0x8000C8B0; // type:function size:0x30 -fn_8000C8E0 = .text:0x8000C8E0; // type:function size:0x44 -fn_8000C930 = .text:0x8000C930; // type:function size:0x44 -fn_8000C980 = .text:0x8000C980; // type:function size:0x30 -fn_8000C9B0 = .text:0x8000C9B0; // type:function size:0x44 -fn_8000CA00 = .text:0x8000CA00; // type:function size:0x44 -fn_8000CA50 = .text:0x8000CA50; // type:function size:0x30 -fn_8000CA80 = .text:0x8000CA80; // type:function size:0x44 -fn_8000CAD0 = .text:0x8000CAD0; // type:function size:0x24 -fn_8000CB00 = .text:0x8000CB00; // type:function size:0x30 -fn_8000CB30 = .text:0x8000CB30; // type:function size:0x44 -fn_8000CB80 = .text:0x8000CB80; // type:function size:0x44 -fn_8000CBD0 = .text:0x8000CBD0; // type:function size:0x30 -fn_8000CC00 = .text:0x8000CC00; // type:function size:0x44 -fn_8000CC50 = .text:0x8000CC50; // type:function size:0x54 -fn_8000CCB0 = .text:0x8000CCB0; // type:function size:0x40 -fn_8000CCF0 = .text:0x8000CCF0; // type:function size:0x48 -fn_8000CD40 = .text:0x8000CD40; // type:function size:0x40 -fn_8000CD80 = .text:0x8000CD80; // type:function size:0x30 -fn_8000CDB0 = .text:0x8000CDB0; // type:function size:0x44 -fn_8000CE00 = .text:0x8000CE00; // type:function size:0x30 -fn_8000CE30 = .text:0x8000CE30; // type:function size:0x44 -fn_8000CE80 = .text:0x8000CE80; // type:function size:0x30 -fn_8000CEB0 = .text:0x8000CEB0; // type:function size:0x44 -fn_8000CF00 = .text:0x8000CF00; // type:function size:0x70 -fn_8000CF70 = .text:0x8000CF70; // type:function size:0x6C -fn_8000CFE0 = .text:0x8000CFE0; // type:function size:0x58 -fn_8000D040 = .text:0x8000D040; // type:function size:0x6C -fn_8000D0B0 = .text:0x8000D0B0; // type:function size:0x114 -fn_8000D1D0 = .text:0x8000D1D0; // type:function size:0x9C -fn_8000D270 = .text:0x8000D270; // type:function size:0xC -fn_8000D280 = .text:0x8000D280; // type:function size:0x740 -fn_8000D9C0 = .text:0x8000D9C0; // type:function size:0x6A0 -fn_8000E060 = .text:0x8000E060; // type:function size:0xC -fn_8000E070 = .text:0x8000E070; // type:function size:0x744 -fn_8000E7C0 = .text:0x8000E7C0; // type:function size:0x7BC -fn_8000EF80 = .text:0x8000EF80; // type:function size:0xC -fn_8000EF90 = .text:0x8000EF90; // type:function size:0x794 -fn_8000F730 = .text:0x8000F730; // type:function size:0x6B4 -fn_8000FDF0 = .text:0x8000FDF0; // type:function size:0xC -fn_8000FE00 = .text:0x8000FE00; // type:function size:0xA8 -fn_8000FEB0 = .text:0x8000FEB0; // type:function size:0xAC -fn_8000FF60 = .text:0x8000FF60; // type:function size:0x94 -fn_80010000 = .text:0x80010000; // type:function size:0x154 -fn_80010160 = .text:0x80010160; // type:function size:0x88 -fn_800101F0 = .text:0x800101F0; // type:function size:0x28 -fn_80010220 = .text:0x80010220; // type:function size:0x12C -fn_80010350 = .text:0x80010350; // type:function size:0xE8 -fn_80010440 = .text:0x80010440; // type:function size:0x60 -fn_800104A0 = .text:0x800104A0; // type:function size:0xD64 -fn_80011210 = .text:0x80011210; // type:function size:0x40 -fn_80011250 = .text:0x80011250; // type:function size:0xC -fn_80011260 = .text:0x80011260; // type:function size:0x8 -fn_80011270 = .text:0x80011270; // type:function size:0x8 -fn_80011280 = .text:0x80011280; // type:function size:0xC -fn_80011290 = .text:0x80011290; // type:function size:0x34 -fn_800112D0 = .text:0x800112D0; // type:function size:0x9C -fn_80011370 = .text:0x80011370; // type:function size:0x20 -fn_80011390 = .text:0x80011390; // type:function size:0x20 -fn_800113B0 = .text:0x800113B0; // type:function size:0xC -fn_800113C0 = .text:0x800113C0; // type:function size:0x78 -fn_80011440 = .text:0x80011440; // type:function size:0x50 -fn_80011490 = .text:0x80011490; // type:function size:0x6C -fn_80011500 = .text:0x80011500; // type:function size:0xE0 -fn_800115E0 = .text:0x800115E0; // type:function size:0xD8 -fn_800116C0 = .text:0x800116C0; // type:function size:0x28 +setTempFlags__11FileManagerFPUsUiUs = .text:0x8000A910; // type:function size:0x58 +setZoneFlags__11FileManagerFPUsUiUs = .text:0x8000A970; // type:function size:0x58 +setEnemyDefeatFlags__11FileManagerFPUsUiUs = .text:0x8000A9D0; // type:function size:0x58 +getSkipFlags__11FileManagerFv = .text:0x8000AA30; // type:function size:0xC +setSkipFlagsChecked__11FileManagerFPUsUiUs = .text:0x8000AA40; // type:function size:0x5C +initFile__11FileManagerFi = .text:0x8000AAA0; // type:function size:0x124 +setCurrentHealthCapacity__11FileManagerFs = .text:0x8000ABD0; // type:function size:0x30 +getCurrentHealthCapacity__11FileManagerFv = .text:0x8000AC00; // type:function size:0x44 +setCurrentHealth__11FileManagerFs = .text:0x8000AC50; // type:function size:0x30 +getCurrentHealth__11FileManagerFv = .text:0x8000AC80; // type:function size:0x44 +getLoadRoomT1__11FileManagerFv = .text:0x8000ACD0; // type:function size:0x44 +getLoadRoomT2__11FileManagerFv = .text:0x8000AD20; // type:function size:0x44 +setLoadRoomT3__11FileManagerFs = .text:0x8000AD70; // type:function size:0x30 +getLoadRoomT3__11FileManagerFv = .text:0x8000ADA0; // type:function size:0x44 +getPosT1__11FileManagerFv = .text:0x8000ADF0; // type:function size:0x44 +setPosT2__11FileManagerFP7mVec3_c = .text:0x8000AE40; // type:function size:0x44 +getPosT2__11FileManagerFv = .text:0x8000AE90; // type:function size:0x44 +setPosT3__11FileManagerFP7mVec3_c = .text:0x8000AEE0; // type:function size:0x44 +getPosT3__11FileManagerFv = .text:0x8000AF30; // type:function size:0x44 +getAngleT1__11FileManagerFv = .text:0x8000AF80; // type:function size:0x44 +setAngleT2__11FileManagerFs = .text:0x8000AFD0; // type:function size:0x30 +getAngleT2__11FileManagerFv = .text:0x8000B000; // type:function size:0x44 +setAngleT3__11FileManagerFs = .text:0x8000B050; // type:function size:0x30 +getAngleT3__11FileManagerFv = .text:0x8000B080; // type:function size:0x44 +setPouchData__11FileManagerFiUi = .text:0x8000B0D0; // type:function size:0x54 +getPouchData__11FileManagerFi = .text:0x8000B130; // type:function size:0x74 +setPouchItem__11FileManagerFi7ITEM_ID = .text:0x8000B1B0; // type:function size:0x6C +getPouchItem__11FileManagerFi = .text:0x8000B220; // type:function size:0x24 +setPouchUpperData__11FileManagerFii = .text:0x8000B250; // type:function size:0x6C +getPouchUpperData__11FileManagerFi = .text:0x8000B2C0; // type:function size:0x24 +setItemCheckData__11FileManagerFUiUi = .text:0x8000B2F0; // type:function size:0x70 +getItemCheckData__11FileManagerFUi = .text:0x8000B360; // type:function size:0x88 +setItemCheckItem__11FileManagerFUi7ITEM_ID = .text:0x8000B3F0; // type:function size:0x84 +getItemCheckItem__11FileManagerFUi = .text:0x8000B480; // type:function size:0x24 +setItemCheckUpperData__11FileManagerFUiUi = .text:0x8000B4B0; // type:function size:0x84 +getItemCheckUpperData__11FileManagerFv = .text:0x8000B540; // type:function size:0x24 +setEquippedItem__11FileManagerFUc = .text:0x8000B570; // type:function size:0x30 +getEquippedItem__11FileManagerFv = .text:0x8000B5A0; // type:function size:0x44 +setSelectedPouchSlot__11FileManagerFUc = .text:0x8000B5F0; // type:function size:0x30 +getSelectedPouchSlot__11FileManagerFv = .text:0x8000B620; // type:function size:0x44 +setShieldPouchSlot__11FileManagerFUc = .text:0x8000B670; // type:function size:0x30 +getShieldPouchSlot__11FileManagerFv = .text:0x8000B6A0; // type:function size:0x44 +setAirPotionTimer__11FileManagerFs = .text:0x8000B6F0; // type:function size:0x30 +getAirPotionTimer__11FileManagerFv = .text:0x8000B720; // type:function size:0x44 +setAirPotionPlusTimer__11FileManagerFs = .text:0x8000B770; // type:function size:0x30 +getAirPotionPlusTimer__11FileManagerFv = .text:0x8000B7A0; // type:function size:0x44 +setStaminaPotionTimer__11FileManagerFs = .text:0x8000B7F0; // type:function size:0x30 +getStaminaPotionTimer__11FileManagerFv = .text:0x8000B820; // type:function size:0x44 +setStaminaPotionPlusTimer__11FileManagerFs = .text:0x8000B870; // type:function size:0x30 +getStaminaPotionPlusTimer__11FileManagerFv = .text:0x8000B8A0; // type:function size:0x44 +setGuardianPotionTimer__11FileManagerFs = .text:0x8000B8F0; // type:function size:0x30 +getGuardianPotionTimer__11FileManagerFv = .text:0x8000B920; // type:function size:0x44 +setGuardianPotionPlusTimer__11FileManagerFs = .text:0x8000B970; // type:function size:0x30 +getGuardianPotionPlusTimer__11FileManagerFv = .text:0x8000B9A0; // type:function size:0x44 +setDowsingSlotIdx__11FileManagerFUc = .text:0x8000B9F0; // type:function size:0x30 +getDowsingSlotIdx__11FileManagerFv = .text:0x8000BA20; // type:function size:0x44 +setBeaconPos__11FileManagerFUiUiP7mVec3_c = .text:0x8000BA70; // type:function size:0x104 +getBeaconPos__11FileManagerFUiUi = .text:0x8000BB80; // type:function size:0xEC +setEnemyKillCount__11FileManagerFUiUs = .text:0x8000BC70; // type:function size:0x70 +getEnemyKillCount__11FileManagerFUi = .text:0x8000BCE0; // type:function size:0x80 +setHitCountFromEnemy__11FileManagerFUiUs = .text:0x8000BD60; // type:function size:0x70 +getHitCountFromEnemy__11FileManagerFUi = .text:0x8000BDD0; // type:function size:0x80 +setLoadRoomT1_FileB__11FileManagerFs = .text:0x8000BE50; // type:function size:0x30 +getLoadRoomT1_FileB__11FileManagerFv = .text:0x8000BE80; // type:function size:0xC +setEntranceT1_FileB__11FileManagerFUc = .text:0x8000BE90; // type:function size:0x30 +getEntranceT1_FileB__11FileManagerFv = .text:0x8000BEC0; // type:function size:0xC +setAreaT1_FileB__11FileManagerFPCc = .text:0x8000BED0; // type:function size:0xA4 +getAreaT1_FileB__11FileManagerFv = .text:0x8000BF80; // type:function size:0xF4 +setNightT1_FileB__11FileManagerFb = .text:0x8000C080; // type:function size:0x30 +getNightT1_FileB__11FileManagerFv = .text:0x8000C0B0; // type:function size:0xC +setEntranceT1LoadFlag_FileB__11FileManagerFUc = .text:0x8000C0C0; // type:function size:0x30 +setForcedLayerT1_FileB__11FileManagerFUc = .text:0x8000C0F0; // type:function size:0x30 +getForcedLayerT1_FileB__11FileManagerFv = .text:0x8000C120; // type:function size:0xC +setCurrentHealth_FileB__11FileManagerFs = .text:0x8000C130; // type:function size:0x30 +setHeroname__11FileManagerFPCw = .text:0x8000C160; // type:function size:0xC4 +getHeroname__11FileManagerFv = .text:0x8000C230; // type:function size:0x12C +getAreaT1__11FileManagerFv = .text:0x8000C360; // type:function size:0x104 +getAreaT2__11FileManagerFv = .text:0x8000C470; // type:function size:0x104 +setAreaT3__11FileManagerFPCc = .text:0x8000C580; // type:function size:0xA4 +getAreaT3__11FileManagerFv = .text:0x8000C630; // type:function size:0x104 +getForcedLayerT1__11FileManagerFv = .text:0x8000C740; // type:function size:0x44 +getForcedLayerT2__11FileManagerFv = .text:0x8000C790; // type:function size:0x44 +setForcedLayerT3__11FileManagerFUc = .text:0x8000C7E0; // type:function size:0x30 +getForcedLayerT3__11FileManagerFv = .text:0x8000C810; // type:function size:0x44 +getEntranceT1__11FileManagerFv = .text:0x8000C860; // type:function size:0x44 +setEntranceLoadFlagT1__11FileManagerFUc = .text:0x8000C8B0; // type:function size:0x30 +getEntranceLoadFlagT1__11FileManagerFv = .text:0x8000C8E0; // type:function size:0x44 +getEntranceT2__11FileManagerFv = .text:0x8000C930; // type:function size:0x44 +setEntranceT3__11FileManagerFUc = .text:0x8000C980; // type:function size:0x30 +getEntranceT3__11FileManagerFv = .text:0x8000C9B0; // type:function size:0x44 +getNightT1__11FileManagerFv = .text:0x8000CA00; // type:function size:0x44 +setNightT3__11FileManagerFb = .text:0x8000CA50; // type:function size:0x30 +getNightT3__11FileManagerFv = .text:0x8000CA80; // type:function size:0x44 +isNew_FileA__11FileManagerFv = .text:0x8000CAD0; // type:function size:0x24 +setSceneFlagIndex__11FileManagerFUs = .text:0x8000CB00; // type:function size:0x30 +getSceneFlagIndex__11FileManagerFv = .text:0x8000CB30; // type:function size:0x44 +getFileAreaIndex__11FileManagerFv = .text:0x8000CB80; // type:function size:0x44 +fn_8000CBD0__11FileManagerFUc = .text:0x8000CBD0; // type:function size:0x30 +fn_8000CC00__11FileManagerFv = .text:0x8000CC00; // type:function size:0x44 +setFileTimes__11FileManagerFv = .text:0x8000CC50; // type:function size:0x54 +setPlayTime__11FileManagerFx = .text:0x8000CCB0; // type:function size:0x40 +getSavedTime__11FileManagerFv = .text:0x8000CCF0; // type:function size:0x48 +setSavedTime__11FileManagerFx = .text:0x8000CD40; // type:function size:0x40 +setBeedleShopPathSegment__11FileManagerFUi = .text:0x8000CD80; // type:function size:0x30 +getBeedleShopPathSegment__11FileManagerFv = .text:0x8000CDB0; // type:function size:0x44 +setBeedleShopPathSegFrac__11FileManagerFf = .text:0x8000CE00; // type:function size:0x30 +getBeedleShopPathSegFrac__11FileManagerFv = .text:0x8000CE30; // type:function size:0x44 +setBeedleShopRotation__11FileManagerFs = .text:0x8000CE80; // type:function size:0x30 +getBeedleShopRotation__11FileManagerFv = .text:0x8000CEB0; // type:function size:0x44 +fn_8000CF00__11FileManagerFUi = .text:0x8000CF00; // type:function size:0x70 +fn_8000CF70__11FileManagerFUi = .text:0x8000CF70; // type:function size:0x6C +setSkykeepPuzzle__11FileManagerFUiUc = .text:0x8000CFE0; // type:function size:0x58 +getSkykeepPuzzleTile__11FileManagerFUi = .text:0x8000D040; // type:function size:0x6C +checkFileStatus__11FileManagerFv = .text:0x8000D0B0; // type:function size:0x114 +checkSkipDataCRCs__11FileManagerFv = .text:0x8000D1D0; // type:function size:0x9C +saveOrClearSelectedFileToFileA__11FileManagerFv = .text:0x8000D270; // type:function size:0xC +saveOrClearToFileA__11FileManagerFi = .text:0x8000D280; // type:function size:0x740 +copyFileBToCurrentFile__11FileManagerFv = .text:0x8000D9C0; // type:function size:0x6A0 +copyFileAToSelectedFile__11FileManagerFv = .text:0x8000E060; // type:function size:0xC +copyFileAToFile__11FileManagerFi = .text:0x8000E070; // type:function size:0x744 +copyFile__11FileManagerFii = .text:0x8000E7C0; // type:function size:0x7BC +saveFileAToSelectedFile__11FileManagerFv = .text:0x8000EF80; // type:function size:0xC +saveFileAToFile__11FileManagerFi = .text:0x8000EF90; // type:function size:0x794 +copyCurrentToFileB__11FileManagerFv = .text:0x8000F730; // type:function size:0x6B4 +copySelectedFileSkipData__11FileManagerFv = .text:0x8000FDF0; // type:function size:0xC +copySkipData__11FileManagerFi = .text:0x8000FE00; // type:function size:0xA8 +setInfo_FileB__11FileManagerFv = .text:0x8000FEB0; // type:function size:0xAC +clearFileA__11FileManagerFv = .text:0x8000FF60; // type:function size:0x94 +initBlankSaveFiles__11FileManagerFv = .text:0x80010000; // type:function size:0x154 +initSkipData__11FileManagerFv = .text:0x80010160; // type:function size:0x88 +unsetFileANewFile__11FileManagerFv = .text:0x800101F0; // type:function size:0x28 +saveT1SaveInfo__11FileManagerFUc = .text:0x80010220; // type:function size:0x12C +copyFileSkipData__11FileManagerFi = .text:0x80010350; // type:function size:0xE8 +clearTempFileData__11FileManagerFv = .text:0x80010440; // type:function size:0x60 +saveAfterCredits__11FileManagerFv = .text:0x800104A0; // type:function size:0xD64 +getCurrentFile__11FileManagerFv = .text:0x80011210; // type:function size:0x40 +getSkipFlags2__11FileManagerFv = .text:0x80011250; // type:function size:0xC +getFileA__11FileManagerFv = .text:0x80011260; // type:function size:0x8 +getFileB__11FileManagerFv = .text:0x80011270; // type:function size:0x8 +calcFileCRC__11FileManagerFPC8SaveFileUi = .text:0x80011280; // type:function size:0xC +updateEmptyFiles__11FileManagerFv = .text:0x80011290; // type:function size:0x34 +updateEmptyFileFlags__11FileManagerFv = .text:0x800112D0; // type:function size:0x9C +isFileEmpty__11FileManagerFi = .text:0x80011370; // type:function size:0x20 +isFileUnk3__11FileManagerFi = .text:0x80011390; // type:function size:0x20 +get_0xA84C__11FileManagerFv = .text:0x800113B0; // type:function size:0xC +checkRegionCode__11FileManagerFv = .text:0x800113C0; // type:function size:0x78 +checkFileCRC__11FileManagerFi = .text:0x80011440; // type:function size:0x50 +isFileInactive__11FileManagerFv = .text:0x80011490; // type:function size:0x6C +setPlayerInfoFileA__11FileManagerFv = .text:0x80011500; // type:function size:0xE0 +setT3Info__11FileManagerFP7mVec3_cP7mAng3_c = .text:0x800115E0; // type:function size:0xD8 +getRegionVersion__11FileManagerFPc = .text:0x800116C0; // type:function size:0x28 fn_800116F0 = .text:0x800116F0; // type:function size:0x3C fn_80011730 = .text:0x80011730; // type:function size:0x2C fn_80011760 = .text:0x80011760; // type:function size:0x1D4 @@ -17357,7 +17357,7 @@ fn_802E2880 = .text:0x802E2880; // type:function size:0x40 fn_802E28C0 = .text:0x802E28C0; // type:function size:0x10 fn_802E28D0 = .text:0x802E28D0; // type:function size:0x48 fn_802E2920 = .text:0x802E2920; // type:function size:0x54 -fn_802E2980 = .text:0x802E2980; // type:function size:0x54 +searchBaseByGroupType__10fManager_cFUcPC7fBase_c = .text:0x802E2980; // type:function size:0x54 fn_802E29E0 = .text:0x802E29E0; // type:function size:0xC0 fn_802E2AA0 = .text:0x802E2AA0; // type:function size:0x138 fn_802E2BE0 = .text:0x802E2BE0; // type:function size:0x10 diff --git a/include/egg/core/eggController.h b/include/egg/core/eggController.h index 926c1a37..adb42039 100644 --- a/include/egg/core/eggController.h +++ b/include/egg/core/eggController.h @@ -3,6 +3,7 @@ #include "types.h" #include "egg/math/eggMatrix.h" +#include "egg/math/eggMath.h" #include "egg/math/eggVector.h" #include "egg/prim/eggBitFlag.h" #include "egg/prim/eggBuffer.h" diff --git a/include/egg/math/eggVector.h b/include/egg/math/eggVector.h index 06f57b14..bd14d0a6 100644 --- a/include/egg/math/eggVector.h +++ b/include/egg/math/eggVector.h @@ -13,7 +13,7 @@ public: Vector3f(const Vector3f& other) {x = other.x, y = other.y, z = other.z;} // may need change f32 squaredLength() { return x*x + y*y + z*z; } - f32 length() { return Math::frsqrt(squaredLength()); } + f32 length() { return Math::sqrt(squaredLength()); } /* 8049bcc0 */ void normalise(); /* 8049bd50 */ void setLength(Vector3f& src, f32 length); /* 8049be10 */ void setLength(f32 length); diff --git a/include/toBeSorted/file_manager.h b/include/toBeSorted/file_manager.h index 7de39396..8e542398 100644 --- a/include/toBeSorted/file_manager.h +++ b/include/toBeSorted/file_manager.h @@ -1,22 +1,265 @@ #include "types.h" +#include "egg/core/eggHeap.h" +#include "m/m_vec.h" +#include "m/m_angle.h" +#include "toBeSorted/save_file.h" + +enum ITEM_ID {}; +enum SAVE_ITEM_ID {}; + +class FileManager { +public: + /* 0x0000 */ void* mpSavedSaveFiles; + /* 0x0004 */ void* mpSkipData; // skip data Arrary (3 entries ) + /* 0x0008 */ SaveFile mFileA; + /* 0x53C8 */ SaveFile mFileB; + /* 0xA788 */ u16 mSkipFlags[16]; + /* 0xA7A8 */ u32 mSkipFlagsCRC; + /* 0xA7AC */ wchar_t mHeroNames[3][9]; // each name is 9 wchars + /* 0xA7E2 */ wchar_t mHeroName[9]; // The current Hero Name + /* 0xA7F4 */ char mCurrentArea[32]; + /* 0xA814 */ u32 m_0xA814; + /* 0xA818 */ s64 mPlayTime[3]; + /* 0xA830 */ s16 mCurrentHealth[3]; + /* 0xA836 */ s16 mCurrentHealthCapacity[3]; + /* 0xA83C */ u8 mSelectedFile; + /* 0xA83D */ u8 mIsFileEmpty[3]; + /* 0xA840 */ u8 mIsFileUnk1[3]; + /* 0xA843 */ u8 mIsFileInvalid[3]; + /* 0xA846 */ u8 mIsFileDataDirty[3]; + /* 0xA849 */ u8 mIsFileSkipDataDirty[3]; + /* 0xA84C */ u8 m_0xA84C; + /* 0xA84D */ u8 m_0xA84D; + /* 0xA84E */ u8 mAntiCommitFlag; + /* 0xA84F */ u8 m_0xA84F; +public: + // the following arent part of FileManager i dont think + // /* 80009D30 */ void fn_80009D30(); // some ctor + // /* 80009D40 */ void fn_80009D40(); // some dtor + // /* 80009D80 */ void fn_80009D80(); // return + // /* 80009D90 */ void fn_80009D90(); // return + // /* 80009DA0 */ void fn_80009DA0(); // memset(param_1, 0, 0x20) a 0x24 structure is implied here (0x20 data) a crc is at 0x24 + + /* 80009DB0 */ FileManager(); // + /* 80009EE0 */ // mVec3(); + + /* 80009EF0 */ static FileManager create(EGG::Heap*); + /* 80009F30 */ bool loadSaveData(void* out, char* name, bool isSkipData); + /* 80009F70 */ void saveSaveData(void* unk, bool isSkipData); + /* 8000A000 */ void refreshSaveFileData(); + /* 8000A260 */ wchar_t* getFileHeroname(int fileNum); + /* 8000A280 */ s64 getFileSaveTime(int fileNum); + /* 8000A2A0 */ s16 getFileCurrentHealth(int fileNum); + /* 8000A2C0 */ s16 getFileHealthCapacity(int fileNum); + /* 8000A2E0 */ void fn_8000A2E0(); // idk something blank save files + + /* 8000A330 */ u16* getStoryFlagsMut(); + /* 8000A360 */ u16* getStoryFlagsConst(); + /* 8000A3B0 */ u16* getItemFlagsMut(); + /* 8000A3E0 */ u16* getItemFlagsConst(); + /* 8000A430 */ u16* getDungeonFlagsMut(); + /* 8000A460 */ u16* getDungeonFlagsConst(); + /* 8000A4B0 */ u16* getSceneFlagsMut(); + /* 8000A4E0 */ u16* getSceneFlagsConst(); + /* 8000A530 */ u16* getTBoxFlagsMut(); + /* 8000A560 */ u16* getTBoxFlagsConst(); + /* 8000A5B0 */ u16* getTempFlagsMut(); + /* 8000A5E0 */ u16* getTempFlagsConst(); + /* 8000A630 */ u16* getZoneFlagsMut(); + /* 8000A660 */ u16* getZoneFlagsConst(); + /* 8000A6B0 */ u16* getEnemyDefeatFlagsMut(); + /* 8000A6E0 */ u16* getEnemyDefeatFlagsConst(); + + /* 8000A730 */ void setStoryFlags(u16* flags, u32 offset, u16 count); + /* 8000A790 */ void setItemFlags(u16* flags, u32 offset, u16 count); + /* 8000A7F0 */ void setDungeonFlags(u16* flags, u32 offset, u16 count); + /* 8000A850 */ void setSceneFlags(u16* flags, u32 offset, u16 count); + /* 8000A8B0 */ void setTBoxFlags(u16* flags, u32 offset, u16 count); + /* 8000A910 */ void setTempFlags(u16* flags, u32 offset, u16 count); + /* 8000A970 */ void setZoneFlags(u16* flags, u32 offset, u16 count); + /* 8000A9D0 */ void setEnemyDefeatFlags(u16* flags, u32 offset, u16 count); + + /* 8000AA30 */ u16* getSkipFlags(); + /* 8000AA40 */ void setSkipFlagsChecked(u16* flags, u32 offset, u16 count); + + /* 8000AAA0 */ void initFile(int fileNum); + + /* 8000ABD0 */ void setCurrentHealthCapacity(s16 health); + /* 8000AC00 */ s16 getCurrentHealthCapacity(); + /* 8000AC50 */ void setCurrentHealth(s16 health); + /* 8000AC80 */ s16 getCurrentHealth(); + + /* 8000ACD0 */ u16 getLoadRoomT1(); + /* 8000AD20 */ u16 getLoadRoomT2(); + /* 8000AD70 */ void setLoadRoomT3(s16 room); + /* 8000ADA0 */ u16 getLoadRoomT3(); + + /* 8000ADF0 */ mVec3_c* getPosT1(); + /* 8000AE40 */ void setPosT2(mVec3_c* pos); + /* 8000AE90 */ mVec3_c* getPosT2(); + /* 8000AEE0 */ void setPosT3(mVec3_c* pos); + /* 8000AF30 */ mVec3_c* getPosT3(); + + /* 8000AF80 */ s16 getAngleT1(); + /* 8000AFD0 */ void setAngleT2(s16 angle); + /* 8000B000 */ s16 getAngleT2(); + /* 8000B050 */ void setAngleT3(s16 angle); + /* 8000B080 */ s16 getAngleT3(); + + /* 8000B0D0 */ void setPouchData(s32 slot, u32 slotData); + /* 8000B130 */ u32 getPouchData(s32 slot); + /* 8000B1B0 */ void setPouchItem(s32 slot, ITEM_ID item); + /* 8000B220 */ ITEM_ID getPouchItem(s32 slot); + /* 8000B250 */ void setPouchUpperData(s32 slot, s32 data); + /* 8000B2C0 */ u16 getPouchUpperData(s32 slot); + + /* 8000B2F0 */ void setItemCheckData(u32 idx, u32 itemData); + /* 8000B360 */ u32 getItemCheckData(u32 idx); + /* 8000B3F0 */ void setItemCheckItem(u32 idx, ITEM_ID item); + /* 8000B480 */ ITEM_ID getItemCheckItem(u32 idx); + /* 8000B4B0 */ void setItemCheckUpperData(u32 idx, u32 itemData); + /* 8000B540 */ u32 getItemCheckUpperData(); + + /* 8000B570 */ void setEquippedItem(u8 bWheelItem); + /* 8000B5A0 */ u8 getEquippedItem(); + /* 8000B5F0 */ void setSelectedPouchSlot(u8 slot); + /* 8000B620 */ u8 getSelectedPouchSlot(); + /* 8000B670 */ void setShieldPouchSlot(u8 slot); + /* 8000B6A0 */ u8 getShieldPouchSlot(); + + /* 8000B6F0 */ void setAirPotionTimer(s16 time); + /* 8000B720 */ s16 getAirPotionTimer(); + /* 8000B770 */ void setAirPotionPlusTimer(s16 time); + /* 8000B7A0 */ s16 getAirPotionPlusTimer(); + /* 8000B7F0 */ void setStaminaPotionTimer(s16 time); + /* 8000B820 */ s16 getStaminaPotionTimer(); + /* 8000B870 */ void setStaminaPotionPlusTimer(s16 time); + /* 8000B8A0 */ s16 getStaminaPotionPlusTimer(); + /* 8000B8F0 */ void setGuardianPotionTimer(s16 time); + /* 8000B920 */ s16 getGuardianPotionTimer(); + /* 8000B970 */ void setGuardianPotionPlusTimer(s16 time); + /* 8000B9A0 */ s16 getGuardianPotionPlusTimer(); + + /* 8000B9F0 */ void setDowsingSlotIdx(u8 idx); + /* 8000BA20 */ u8 getDowsingSlotIdx(); + + /* 8000BA70 */ void setBeaconPos(u32 beaconArea, u32 beaconNum, mVec3_c* pos); + /* 8000BB80 */ mVec3_c* getBeaconPos(u32 beaconArea, u32 beaconNum); + /* 8000BC70 */ void setEnemyKillCount(u32 enemy, u16 killCount); + /* 8000BCE0 */ u16 getEnemyKillCount(u32 enemy); + /* 8000BD60 */ void setHitCountFromEnemy(u32 enemy, u16 hitCount); + /* 8000BDD0 */ u16 getHitCountFromEnemy(u32 enemy); + + /* 8000BE50 */ void setLoadRoomT1_FileB(s16 roomId); + /* 8000BE80 */ s16 getLoadRoomT1_FileB(); + /* 8000BE90 */ void setEntranceT1_FileB(u8 entrance); + /* 8000BEC0 */ u8 getEntranceT1_FileB(); + /* 8000BED0 */ void setAreaT1_FileB(const char* name); + /* 8000BF80 */ char* getAreaT1_FileB(); + /* 8000C080 */ void setNightT1_FileB(bool night); + /* 8000C0B0 */ bool getNightT1_FileB(); + /* 8000C0C0 */ void setEntranceT1LoadFlag_FileB(u8 flag); + /* 8000C0F0 */ void setForcedLayerT1_FileB(u8 layer); + /* 8000C120 */ void getForcedLayerT1_FileB(); + /* 8000C130 */ void setCurrentHealth_FileB(s16 health); + + /* 8000C160 */ void setHeroname(const wchar_t* name); + /* 8000C230 */ wchar_t* getHeroname(); + + /* 8000C360 */ char* getAreaT1(); + /* 8000C470 */ char* getAreaT2(); + /* 8000C580 */ void setAreaT3(const char* name); + /* 8000C630 */ char* getAreaT3(); + + /* 8000C740 */ u8 getForcedLayerT1(); + /* 8000C790 */ u8 getForcedLayerT2(); + /* 8000C7E0 */ void setForcedLayerT3(u8 layer); + /* 8000C810 */ u8 getForcedLayerT3(); + + /* 8000C860 */ u8 getEntranceT1(); + /* 8000C8B0 */ void setEntranceLoadFlagT1(u8 flag); + /* 8000C8E0 */ u8 getEntranceLoadFlagT1(); + /* 8000C930 */ void getEntranceT2(); + /* 8000C980 */ void setEntranceT3(u8 entrance); + /* 8000C9B0 */ u8 getEntranceT3(); + + /* 8000CA00 */ bool getNightT1(); + /* 8000CA50 */ void setNightT3(bool night); + /* 8000CA80 */ bool getNightT3(); + + /* 8000CAD0 */ bool isNew_FileA(); + + /* 8000CB00 */ void setSceneFlagIndex(u16 idx); + /* 8000CB30 */ u16 getSceneFlagIndex(); + /* 8000CB80 */ s32 getFileAreaIndex(); + + /* 8000CBD0 */ void fn_8000CBD0(u8); + /* 8000CC00 */ void fn_8000CC00(); + + /* 8000CC50 */ void setFileTimes(); + /* 8000CCB0 */ void setPlayTime(s64 time); + + /* 8000CCF0 */ s64 getSavedTime(); + /* 8000CD40 */ void setSavedTime(s64 time); + + /* 8000CD80 */ void setBeedleShopPathSegment(u32 path); + /* 8000CDB0 */ u32 getBeedleShopPathSegment(); + /* 8000CE00 */ void setBeedleShopPathSegFrac(f32 segFrac); + /* 8000CE30 */ f32 getBeedleShopPathSegFrac(); + /* 8000CE80 */ void setBeedleShopRotation(s16 rot); + /* 8000CEB0 */ s16 getBeedleShopRotation(); + + /* 8000CF00 */ void fn_8000CF00(u32 shift); + /* 8000CF70 */ void fn_8000CF70(u32 shift); + + /* 8000CFE0 */ void setSkykeepPuzzle(u32 spot, u8 tile); + /* 8000D040 */ u8 getSkykeepPuzzleTile(u32 spot); + + /* 8000D0B0 */ void checkFileStatus(); + /* 8000D1D0 */ void checkSkipDataCRCs(); + /* 8000D270 */ void saveOrClearSelectedFileToFileA(); + /* 8000D280 */ void saveOrClearToFileA(int fileNum); + /* 8000D9C0 */ void copyFileBToCurrentFile(); + /* 8000E060 */ void copyFileAToSelectedFile(); + /* 8000E070 */ void copyFileAToFile(int fileNum); + /* 8000E7C0 */ void copyFile(int from, int to); + /* 8000EF80 */ void saveFileAToSelectedFile(); + /* 8000EF90 */ void saveFileAToFile(int fileNum); + /* 8000F730 */ void copyCurrentToFileB(); + /* 8000FDF0 */ void copySelectedFileSkipData(); + /* 8000FE00 */ void copySkipData(int fileNum); + /* 8000FEB0 */ void setInfo_FileB(); + /* 8000FF60 */ void clearFileA(); + + /* 80010000 */ void initBlankSaveFiles(); + /* 80010160 */ void initSkipData(); + + /* 800101F0 */ void unsetFileANewFile(); + /* 80010220 */ void saveT1SaveInfo(u8 entranceT1LoadFlag); + /* 80010350 */ void copyFileSkipData(int fileNum); + /* 80010440 */ void clearTempFileData(); + /* 800104A0 */ void saveAfterCredits(); + /* 80011210 */ SaveFile* getCurrentFile(); + /* 80011250 */ u16* getSkipFlags2(); + /* 80011260 */ SaveFile* getFileA(); + /* 80011270 */ SaveFile* getFileB(); + /* 80011280 */ void calcFileCRC(const SaveFile* file, u32 length); + /* 80011290 */ void updateEmptyFiles(); + /* 800112D0 */ void updateEmptyFileFlags(); + /* 80011370 */ bool isFileEmpty(int fileNum); + /* 80011390 */ bool isFileUnk3(int fileNum); + /* 800113B0 */ u8 get_0xA84C(); + /* 800113C0 */ bool checkRegionCode(); + /* 80011440 */ bool checkFileCRC(int fileNum); + /* 80011490 */ bool isFileInactive(); + /* 80011500 */ void setPlayerInfoFileA(); + /* 800115E0 */ void setT3Info(mVec3_c* pos, mAng3_c* rot); + /* 800116C0 */ static void getRegionVersion(char* out); + // /* 800116F0 */ void sinit(); -// stub -struct FileManager { - u8 pad[0xa840]; - u8 isFileUnk1[3]; - static FileManager *sInstance; - u16* getSceneflags(); - u16* getTempflags(); - u16* getZoneflags(); - u16* getSceneflags2(); - u16* getTempflags2(); - u16* getZoneflags2(); - u16* getTBoxFlags2(); - void setTempflags(u16*, u16, u16); - void setZoneflags(u16*, u16, u16); - void setSceneflags(u16*, u32, u16); - void setTBoxFlags(u16*, u32, u16); static FileManager* getInstance() { return sInstance; } + static FileManager *sInstance; }; + diff --git a/src/toBeSorted/file_manager.cpp b/src/toBeSorted/file_manager.cpp index e69de29b..3447b05a 100644 --- a/src/toBeSorted/file_manager.cpp +++ b/src/toBeSorted/file_manager.cpp @@ -0,0 +1,241 @@ +#include "toBeSorted/file_manager.h" +#include "f/f_base.h" + +extern "C" { + /* 80009D30 */ void fn_80009D30() {} // some ctor + /* 80009D40 */ void fn_80009D40() {} // some dtor + /* 80009D80 */ void fn_80009D80() {} // return + /* 80009D90 */ void fn_80009D90() {} // return + /* 80009DA0 */ void fn_80009DA0() {} // memset(param_1, 0, 0x20) a 0x24 structure is implied here (0x20 data) a crc is at 0x24 +} + +/* 80009DB0 */ FileManager::FileManager() {} +/* 80009EE0 */ // mVec3(); + +/* 80009EF0 */ FileManager FileManager::create(EGG::Heap*){} +/* 80009F30 */ bool FileManager::loadSaveData(void* out, char* name, bool isSkipData){} +/* 80009F70 */ void FileManager::saveSaveData(void* unk, bool isSkipData){} +/* 8000A000 */ void FileManager::refreshSaveFileData(){} +/* 8000A260 */ wchar_t* FileManager::getFileHeroname(int fileNum){} +/* 8000A280 */ s64 FileManager::getFileSaveTime(int fileNum){} +/* 8000A2A0 */ s16 FileManager::getFileCurrentHealth(int fileNum){} +/* 8000A2C0 */ s16 FileManager::getFileHealthCapacity(int fileNum){} +/* 8000A2E0 */ void FileManager::fn_8000A2E0(){} + +/* 8000A330 */ +u16* FileManager::getStoryFlagsMut() { + return getCurrentFile()->getStoryFlags0(); +} +/* 8000A360 */ u16* FileManager::getStoryFlagsConst() { + return (isFileInactive() ? mFileB : mFileA).getStoryFlags1(); +} +/* 8000A3B0 */ u16* FileManager::getItemFlagsMut() {} +/* 8000A3E0 */ u16* FileManager::getItemFlagsConst() {} +/* 8000A430 */ u16* FileManager::getDungeonFlagsMut() {} +/* 8000A460 */ u16* FileManager::getDungeonFlagsConst() {} +/* 8000A4B0 */ u16* FileManager::getSceneFlagsMut() {} +/* 8000A4E0 */ u16* FileManager::getSceneFlagsConst() {} +/* 8000A530 */ u16* FileManager::getTBoxFlagsMut() {} +/* 8000A560 */ u16* FileManager::getTBoxFlagsConst() {} +/* 8000A5B0 */ u16* FileManager::getTempFlagsMut() {} +/* 8000A5E0 */ u16* FileManager::getTempFlagsConst() {} +/* 8000A630 */ u16* FileManager::getZoneFlagsMut() {} +/* 8000A660 */ u16* FileManager::getZoneFlagsConst() {} +/* 8000A6B0 */ u16* FileManager::getEnemyDefeatFlagsMut() {} +/* 8000A6E0 */ u16* FileManager::getEnemyDefeatFlagsConst() {} +/* 8000A730 */ void FileManager::setStoryFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A790 */ void FileManager::setItemFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A7F0 */ void FileManager::setDungeonFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A850 */ void FileManager::setSceneFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A8B0 */ void FileManager::setTBoxFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A910 */ void FileManager::setTempFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A970 */ void FileManager::setZoneFlags(u16* flags, u32 offset, u16 count) {} +/* 8000A9D0 */ void FileManager::setEnemyDefeatFlags(u16* flags, u32 offset, u16 count) {} + +/* 8000AA30 */ u16* FileManager::getSkipFlags() {} +/* 8000AA40 */ void FileManager::setSkipFlagsChecked(u16* flags, u32 offset, u16 count) {} + +/* 8000AAA0 */ void FileManager::initFile(int fileNum) {} + +/* 8000ABD0 */ void FileManager::setCurrentHealthCapacity(s16 health) {} +/* 8000AC00 */ s16 FileManager::getCurrentHealthCapacity() {} +/* 8000AC50 */ void FileManager::setCurrentHealth(s16 health) {} +/* 8000AC80 */ s16 FileManager::getCurrentHealth() {} + +/* 8000ACD0 */ u16 FileManager::getLoadRoomT1() {} +/* 8000AD20 */ u16 FileManager::getLoadRoomT2() {} +/* 8000AD70 */ void FileManager::setLoadRoomT3(s16 room) {} +/* 8000ADA0 */ u16 FileManager::getLoadRoomT3() {} + +/* 8000ADF0 */ mVec3_c* FileManager::getPosT1() {} +/* 8000AE40 */ void FileManager::setPosT2(mVec3_c* pos) {} +/* 8000AE90 */ mVec3_c* FileManager::getPosT2() {} +/* 8000AEE0 */ void FileManager::setPosT3(mVec3_c* pos) {} +/* 8000AF30 */ mVec3_c* FileManager::getPosT3() {} + +/* 8000AF80 */ s16 FileManager::getAngleT1() {} +/* 8000AFD0 */ void FileManager::setAngleT2(s16 angle) {} +/* 8000B000 */ s16 FileManager::getAngleT2() {} +/* 8000B050 */ void FileManager::setAngleT3(s16 angle) {} +/* 8000B080 */ s16 FileManager::getAngleT3() {} + +/* 8000B0D0 */ void FileManager::setPouchData(s32 slot, u32 slotData) {} +/* 8000B130 */ u32 FileManager::getPouchData(s32 slot) {} +/* 8000B1B0 */ void FileManager::setPouchItem(s32 slot, ITEM_ID item) {} +/* 8000B220 */ ITEM_ID FileManager::getPouchItem(s32 slot) {} +/* 8000B250 */ void FileManager::setPouchUpperData(s32 slot, s32 data) {} +/* 8000B2C0 */ u16 FileManager::getPouchUpperData(s32 slot) {} + +/* 8000B2F0 */ void FileManager::setItemCheckData(u32 idx, u32 itemData){} +/* 8000B360 */ u32 FileManager::getItemCheckData(u32 idx){} +/* 8000B3F0 */ void FileManager::setItemCheckItem(u32 idx, ITEM_ID item){} +/* 8000B480 */ ITEM_ID FileManager::getItemCheckItem(u32 idx){} +/* 8000B4B0 */ void FileManager::setItemCheckUpperData(u32 idx, u32 itemData){} +/* 8000B540 */ u32 FileManager::getItemCheckUpperData(){} + +/* 8000B570 */ void FileManager::setEquippedItem(u8 bWheelItem){} +/* 8000B5A0 */ u8 FileManager::getEquippedItem(){} +/* 8000B5F0 */ void FileManager::setSelectedPouchSlot(u8 slot){} +/* 8000B620 */ u8 FileManager::getSelectedPouchSlot(){} +/* 8000B670 */ void FileManager::setShieldPouchSlot(u8 slot){} +/* 8000B6A0 */ u8 FileManager::getShieldPouchSlot(){} + +/* 8000B6F0 */ void FileManager::setAirPotionTimer(s16 time){} +/* 8000B720 */ s16 FileManager::getAirPotionTimer(){} +/* 8000B770 */ void FileManager::setAirPotionPlusTimer(s16 time){} +/* 8000B7A0 */ s16 FileManager::getAirPotionPlusTimer(){} +/* 8000B7F0 */ void FileManager::setStaminaPotionTimer(s16 time){} +/* 8000B820 */ s16 FileManager::getStaminaPotionTimer(){} +/* 8000B870 */ void FileManager::setStaminaPotionPlusTimer(s16 time){} +/* 8000B8A0 */ s16 FileManager::getStaminaPotionPlusTimer(){} +/* 8000B8F0 */ void FileManager::setGuardianPotionTimer(s16 time){} +/* 8000B920 */ s16 FileManager::getGuardianPotionTimer(){} +/* 8000B970 */ void FileManager::setGuardianPotionPlusTimer(s16 time){} +/* 8000B9A0 */ s16 FileManager::getGuardianPotionPlusTimer(){} + +/* 8000B9F0 */ void FileManager::setDowsingSlotIdx(u8 idx) {} +/* 8000BA20 */ u8 FileManager::getDowsingSlotIdx() {} + +/* 8000BA70 */ void FileManager::setBeaconPos(u32 beaconArea, u32 beaconNum, mVec3_c* pos) {} +/* 8000BB80 */ mVec3_c* FileManager::getBeaconPos(u32 beaconArea, u32 beaconNum) {} +/* 8000BC70 */ void FileManager::setEnemyKillCount(u32 enemy, u16 killCount) {} +/* 8000BCE0 */ u16 FileManager::getEnemyKillCount(u32 enemy) {} +/* 8000BD60 */ void FileManager::setHitCountFromEnemy(u32 enemy, u16 hitCount) {} +/* 8000BDD0 */ u16 FileManager::getHitCountFromEnemy(u32 enemy) {} + +/* 8000BE50 */ void FileManager::setLoadRoomT1_FileB(s16 roomId) {} +/* 8000BE80 */ s16 FileManager::getLoadRoomT1_FileB() {} +/* 8000BE90 */ void FileManager::setEntranceT1_FileB(u8 entrance) {} +/* 8000BEC0 */ u8 FileManager::getEntranceT1_FileB() {} +/* 8000BED0 */ void FileManager::setAreaT1_FileB(const char* name) {} +/* 8000BF80 */ char* FileManager::getAreaT1_FileB() {} +/* 8000C080 */ void FileManager::setNightT1_FileB(bool night) {} +/* 8000C0B0 */ bool FileManager::getNightT1_FileB() {} +/* 8000C0C0 */ void FileManager::setEntranceT1LoadFlag_FileB(u8 flag) {} +/* 8000C0F0 */ void FileManager::setForcedLayerT1_FileB(u8 layer) {} +/* 8000C120 */ void FileManager::getForcedLayerT1_FileB() {} +/* 8000C130 */ void FileManager::setCurrentHealth_FileB(s16 health) {} + +/* 8000C160 */ void FileManager::setHeroname(const wchar_t* name) {} +/* 8000C230 */ wchar_t* FileManager::getHeroname() {} + +/* 8000C360 */ char* FileManager::getAreaT1() {} +/* 8000C470 */ char* FileManager::getAreaT2() {} +/* 8000C580 */ void FileManager::setAreaT3(const char* name) {} +/* 8000C630 */ char* FileManager::getAreaT3() {} + +/* 8000C740 */ u8 FileManager::getForcedLayerT1() {} +/* 8000C790 */ u8 FileManager::getForcedLayerT2() {} +/* 8000C7E0 */ void FileManager::setForcedLayerT3(u8 layer) {} +/* 8000C810 */ u8 FileManager::getForcedLayerT3() {} + +/* 8000C860 */ u8 FileManager::getEntranceT1() {} +/* 8000C8B0 */ void FileManager::setEntranceLoadFlagT1(u8 flag) {} +/* 8000C8E0 */ u8 FileManager::getEntranceLoadFlagT1() {} +/* 8000C930 */ void FileManager::getEntranceT2() {} +/* 8000C980 */ void FileManager::setEntranceT3(u8 entrance) {} +/* 8000C9B0 */ u8 FileManager::getEntranceT3() {} + +/* 8000CA00 */ bool FileManager::getNightT1() {} +/* 8000CA50 */ void FileManager::setNightT3(bool night) {} +/* 8000CA80 */ bool FileManager::getNightT3() {} + +/* 8000CAD0 */ bool FileManager::isNew_FileA() {} + +/* 8000CB00 */ void FileManager::setSceneFlagIndex(u16 idx) {} +/* 8000CB30 */ u16 FileManager::getSceneFlagIndex() {} +/* 8000CB80 */ s32 FileManager::getFileAreaIndex() {} + +/* 8000CBD0 */ void FileManager::fn_8000CBD0(u8) {} +/* 8000CC00 */ void FileManager::fn_8000CC00() {} + +/* 8000CC50 */ void FileManager::setFileTimes() {} +/* 8000CCB0 */ void FileManager::setPlayTime(s64 time) {} + +/* 8000CCF0 */ s64 FileManager::getSavedTime() {} +/* 8000CD40 */ void FileManager::setSavedTime(s64 time) {} + +/* 8000CD80 */ void FileManager::setBeedleShopPathSegment(u32 path) {} +/* 8000CDB0 */ u32 FileManager::getBeedleShopPathSegment() {} +/* 8000CE00 */ void FileManager::setBeedleShopPathSegFrac(f32 segFrac) {} +/* 8000CE30 */ f32 FileManager::getBeedleShopPathSegFrac() {} +/* 8000CE80 */ void FileManager::setBeedleShopRotation(s16 rot) {} +/* 8000CEB0 */ s16 FileManager::getBeedleShopRotation() {} + +/* 8000CF00 */ void FileManager::fn_8000CF00(u32 shift) {} +/* 8000CF70 */ void FileManager::fn_8000CF70(u32 shift) {} + +/* 8000CFE0 */ void FileManager::setSkykeepPuzzle(u32 spot, u8 tile) {} +/* 8000D040 */ u8 FileManager::getSkykeepPuzzleTile(u32 spot) {} + +/* 8000D0B0 */ void FileManager::checkFileStatus() {} +/* 8000D1D0 */ void FileManager::checkSkipDataCRCs() {} +/* 8000D270 */ void FileManager::saveOrClearSelectedFileToFileA() {} +/* 8000D280 */ void FileManager::saveOrClearToFileA(int fileNum) {} +/* 8000D9C0 */ void FileManager::copyFileBToCurrentFile() {} +/* 8000E060 */ void FileManager::copyFileAToSelectedFile() {} +/* 8000E070 */ void FileManager::copyFileAToFile(int fileNum) {} +/* 8000E7C0 */ void FileManager::copyFile(int from, int to) {} +/* 8000EF80 */ void FileManager::saveFileAToSelectedFile() {} +/* 8000EF90 */ void FileManager::saveFileAToFile(int fileNum) {} +/* 8000F730 */ void FileManager::copyCurrentToFileB() {} +/* 8000FDF0 */ void FileManager::copySelectedFileSkipData() {} +/* 8000FE00 */ void FileManager::copySkipData(int fileNum) {} +/* 8000FEB0 */ void FileManager::setInfo_FileB() {} +/* 8000FF60 */ void FileManager::clearFileA() {} + +/* 80010000 */ void FileManager::initBlankSaveFiles() {} +/* 80010160 */ void FileManager::initSkipData() {} + +/* 800101F0 */ void FileManager::unsetFileANewFile() {} +/* 80010220 */ void FileManager::saveT1SaveInfo(u8 entranceT1LoadFlag) {} +/* 80010350 */ void FileManager::copyFileSkipData(int fileNum) {} +/* 80010440 */ void FileManager::clearTempFileData() {} +/* 800104A0 */ void FileManager::saveAfterCredits() {} + +/* 80011210 */ SaveFile* FileManager::getCurrentFile() {} +/* 80011250 */ u16* FileManager::getSkipFlags2() {} +/* 80011260 */ SaveFile* FileManager::getFileA() {} +/* 80011270 */ SaveFile* FileManager::getFileB() {} +/* 80011280 */ void FileManager::calcFileCRC(const SaveFile* file, u32 length) {} +/* 80011290 */ void FileManager::updateEmptyFiles() {} +/* 800112D0 */ void FileManager::updateEmptyFileFlags() {} +/* 80011370 */ bool FileManager::isFileEmpty(int fileNum) {} +/* 80011390 */ bool FileManager::isFileUnk3(int fileNum) {} +/* 800113B0 */ u8 FileManager::get_0xA84C() {} +/* 800113C0 */ bool FileManager::checkRegionCode() {} +/* 80011440 */ bool FileManager::checkFileCRC(int fileNum) {} +/* 80011490 */ +bool FileManager::isFileInactive() { + fBase_c* actor = fManager_c::searchBaseByGroupType(1, nullptr); + if (actor) { + if (actor->profile_name == fProfile::TITLE && !mAntiCommitFlag) + return true; + return false; + } + return false; +} +/* 80011500 */ void FileManager::setPlayerInfoFileA() {} +/* 800115E0 */ void FileManager::setT3Info(mVec3_c* pos, mAng3_c* rot) {} +/* 800116C0 */ void FileManager::getRegionVersion(char* out) {} + diff --git a/src/toBeSorted/flag_space.cpp b/src/toBeSorted/flag_space.cpp index 11f43709..b509a374 100644 --- a/src/toBeSorted/flag_space.cpp +++ b/src/toBeSorted/flag_space.cpp @@ -27,7 +27,7 @@ void FlagSpace::copyFromSaveFile(u16 *pSaved, u16 offset, u16 flagCount) { } void FlagSpace::filemanagerCheck() { - if (FileManager::sInstance->isFileUnk1[0]) { + if (FileManager::sInstance->mIsFileUnk1[0]) { return; } while (true) {} diff --git a/src/toBeSorted/misc_flag_managers.cpp b/src/toBeSorted/misc_flag_managers.cpp index 685210b4..0af9a21e 100644 --- a/src/toBeSorted/misc_flag_managers.cpp +++ b/src/toBeSorted/misc_flag_managers.cpp @@ -32,7 +32,7 @@ class TBoxFlagManager: public CommittableFlagManager { // bool mNeedsCommit; // u32 pad; FlagSpace mFlagSpace; - u16 mSceneIndex; + s16 mSceneIndex; BitwiseFlagHelper mFlagHelper; static u16* sFlags; @@ -67,13 +67,13 @@ void TBoxFlagManager::init() {} void TBoxFlagManager::copyFromSave(u16 sceneIndex) { mSceneIndex = sceneIndex; - u16* flags = FileManager::getInstance()->getTBoxFlags2(); - mFlagSpace.copyFromSaveFile2(flags + sceneIndex * 2, 0, 2); + u16* flags = FileManager::getInstance()->getTBoxFlagsConst(); + mFlagSpace.copyFromSaveFile2(flags + (sceneIndex * 2), 0, 2); } bool TBoxFlagManager::checkFlag(u16 sceneIndex, u16 flag) { s32 actualFlag = sceneIndex * 0x20 + flag; - return mFlagHelper.checkFlag(actualFlag % 16, actualFlag / 16, FileManager::getInstance()->getTBoxFlags2(), getFlagCount()); + return mFlagHelper.checkFlag(actualFlag % 16, actualFlag / 16, FileManager::getInstance()->getTBoxFlagsConst(), getFlagCount()); } s32 TBoxFlagManager::getFlagCount() const { diff --git a/src/toBeSorted/sceneflag_manager.cpp b/src/toBeSorted/sceneflag_manager.cpp index eeab1156..6b7b4169 100644 --- a/src/toBeSorted/sceneflag_manager.cpp +++ b/src/toBeSorted/sceneflag_manager.cpp @@ -106,7 +106,7 @@ s32 SceneflagManager::isZoneFlag(u32 flag) { void SceneflagManager::updateFlagindex(u16 sceneIdx) { if (sceneIdx != mSceneIdx) { mSceneIdx = sceneIdx; - mSceneflags.copyFromSaveFile2(FileManager::sInstance->getSceneflags() + sceneIdx * 8, 0, 8); + mSceneflags.copyFromSaveFile2(FileManager::sInstance->getSceneFlagsConst() + sceneIdx * 8, 0, 8); unsetZoneAndTempflags(); } } @@ -115,25 +115,25 @@ void SceneflagManager::copyFromSave(u32 sceneIdx) { u16 sceneIdx2 = sceneIdx; // missing clrlwi, more inlines? mSceneIdx = sceneIdx2; - mSceneflags.copyFromSaveFile2(FileManager::getInstance()->getSceneflags() + sceneIdx2 * 8, 0, 8); - mTempflags.copyFromSaveFile(FileManager::getInstance()->getTempflags(), 0, mTempflags.mCount); - mZoneflags.copyFromSaveFile(FileManager::getInstance()->getZoneflags(), 0, mZoneflags.mCount); + mSceneflags.copyFromSaveFile2(FileManager::getInstance()->getSceneFlagsConst() + sceneIdx2 * 8, 0, 8); + mTempflags.copyFromSaveFile(FileManager::getInstance()->getTempFlagsConst(), 0, mTempflags.mCount); + mZoneflags.copyFromSaveFile(FileManager::getInstance()->getZoneFlagsConst(), 0, mZoneflags.mCount); } void SceneflagManager::unsetAllTempflags() { u16 flags[4]; memset(flags, 0, sizeof(flags)); - FileManager::sInstance->setTempflags(flags, 0, 4); + FileManager::sInstance->setTempFlags(flags, 0, 4); } void SceneflagManager::zoneflagsResetAll() { u16 flags[0xFC]; memset(flags, 0, sizeof(flags)); - FileManager::sInstance->setZoneflags(flags, 0, 0xFC); + FileManager::sInstance->setZoneFlags(flags, 0, 0xFC); } void SceneflagManager::zoneflagsResetForRoom(u16 roomId) { u16 flags[4]; memset(flags, 0, sizeof(flags)); // ? weird mask - FileManager::sInstance->setZoneflags(flags, (roomId & 0x3FF) * 4, 4); + FileManager::sInstance->setZoneFlags(flags, (roomId & 0x3FF) * 4, 4); } void SceneflagManager::unsetZoneAndTempflags() { unsetAllTempflags(); @@ -166,7 +166,7 @@ bool SceneflagManager::checkZoneFlag(u16 roomId, u16 flag) { return false; } else { u16 zoneflag = flag - 0xC0; - u16* pData = FileManager::sInstance->getZoneflags(); + u16* pData = FileManager::sInstance->getZoneFlagsConst(); u16 slot = getZoneflagSlot(roomId, zoneflag); return mFlagHelper.checkFlag(slot, zoneflag % 16, pData, 0xFC); } @@ -211,13 +211,13 @@ bool SceneflagManager::checkFlag(u16 roomId, u16 flag) { } } bool SceneflagManager::checkSceneflagGlobal(u16 sceneIdx, u16 flag) { - u16* pData = FileManager::sInstance->getSceneflags(); + u16* pData = FileManager::sInstance->getSceneFlagsConst(); return mFlagHelper.checkFlag(getSceneflagSlotGlobal(sceneIdx, flag), flag % 16, pData, 0x800); } bool SceneflagManager::checkTempOrSceneflag(u16 flag) { if (flag >= 0x80) { u16 tempflag = flag - 0x80; - const u16* pData = FileManager::sInstance->getTempflags(); + const u16* pData = FileManager::sInstance->getTempFlagsConst(); u16 slot = getTempflagSlot(tempflag); return mFlagHelper.checkFlag(slot, tempflag % 16, pData, 4); } else { @@ -250,10 +250,10 @@ void SceneflagManager::setFlag(u16 roomId, u16 flag) { } void SceneflagManager::setSceneflagGlobal(u16 sceneIdx, u16 flag) { u16 slot = getSceneflagSlotGlobal(sceneIdx, flag); - u16* pData = FileManager::sInstance->getSceneflags(); + u16* pData = FileManager::sInstance->getSceneFlagsConst(); u16 pCurData = pData[slot]; mFlagHelper.setFlag(0, flag % 16, &pCurData, 2); - FileManager::sInstance->setSceneflags(&pCurData, slot, 1); + FileManager::sInstance->setSceneFlags(&pCurData, slot, 1); if (sceneIdx == mSceneIdx) { u16* pData2 = mSceneflags.getFlagPtrChecked(); mFlagHelper.setFlag(getSceneflagSlot(flag), flag % 16, pData2, mSceneflags.mCount); @@ -293,10 +293,10 @@ void SceneflagManager::unsetFlag(u16 roomId, u16 flag) { } void SceneflagManager::unsetSceneflagGlobal(u16 sceneIdx, u16 flag) { u16 slot = getSceneflagSlotGlobal(sceneIdx, flag); - u16* pData = FileManager::sInstance->getSceneflags(); + u16* pData = FileManager::sInstance->getSceneFlagsConst(); u16 pCurData = pData[slot]; mFlagHelper.unsetFlag(0, flag % 16, &pCurData, 2); - FileManager::sInstance->setSceneflags(&pCurData, slot, 1); + FileManager::sInstance->setSceneFlags(&pCurData, slot, 1); if (sceneIdx == mSceneIdx) { u16* pData2 = mSceneflags.getFlagPtrChecked(); mFlagHelper.unsetFlag(getSceneflagSlot(flag), flag % 16, pData2, mSceneflags.mCount); @@ -321,9 +321,9 @@ s32 SceneflagManager::doCommit() { if (mSceneIdx == 0xFFFF) { return 0; } else if (mShouldCommit) { - FileManager::getInstance()->setSceneflags(mSceneflags.getFlagPtrUnchecked(), mSceneIdx * 8, 8); - FileManager::getInstance()->setTempflags(mTempflags.getFlagPtrUnchecked(), 0, mTempflags.mCount); - FileManager::getInstance()->setZoneflags(mZoneflags.getFlagPtrUnchecked(), 0, mZoneflags.mCount); + FileManager::getInstance()->setSceneFlags(mSceneflags.getFlagPtrUnchecked(), mSceneIdx * 8, 8); + FileManager::getInstance()->setTempFlags(mTempflags.getFlagPtrUnchecked(), 0, mTempflags.mCount); + FileManager::getInstance()->setZoneFlags(mZoneflags.getFlagPtrUnchecked(), 0, mZoneflags.mCount); mShouldCommit = false; return 1; }