Move map files table to C

This commit is contained in:
DizzyEggg
2025-06-17 11:05:03 +02:00
parent 24bf8eaa89
commit 73dbde02b8
10 changed files with 2003 additions and 4940 deletions

File diff suppressed because it is too large Load Diff

263
include/map_files_table.h Normal file
View File

@@ -0,0 +1,263 @@
#ifndef GUARD_MAP_FILES_TABLE_H
#define GUARD_MAP_FILES_TABLE_H
struct MapFilesStruct
{
/* 0x0 */ const u8 *fileName1;
/* 0x4 */ const u8 *fileName2;
/* 0x8 */ const u8 *fileName3;
/* 0xC */ const u8 *fileName4[4];
};
enum {
MAP_FILE_ID_SQUARE,
MAP_FILE_ID_POKEMON_SQUARE,
MAP_FILE_ID_WHISCASH_POND,
MAP_FILE_ID_WHISCASH_POND_OPEN,
MAP_FILE_ID_PELIPPER_POST_OFFICE,
MAP_FILE_ID_PELIPPER_POST_OFFICE_INSIDE,
MAP_FILE_ID_MAKUHITA_DOJO,
MAP_FILE_ID_MAKUHITA_DOJO_INSIDE,
MAP_FILE_ID_LUMINOUS_CAVE,
MAP_FILE_ID_UNK_9,
MAP_FILE_ID_TEAM_BASE_PIKACHU_BASIC,
MAP_FILE_ID_TEAM_BASE_PIKACHU_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_PIKACHU_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_PIKACHU_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_PIKACHU_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_PIKACHU_FINAL,
MAP_FILE_ID_TEAM_BASE_MEOWTH_BASIC,
MAP_FILE_ID_TEAM_BASE_MEOWTH_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_MEOWTH_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_MEOWTH_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_MEOWTH_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_MEOWTH_FINAL,
MAP_FILE_ID_TEAM_BASE_EEVEE_BASIC,
MAP_FILE_ID_TEAM_BASE_EEVEE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_EEVEE_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_EEVEE_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_EEVEE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_EEVEE_FINAL,
MAP_FILE_ID_TEAM_BASE_SKITTY_BASIC,
MAP_FILE_ID_TEAM_BASE_SKITTY_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_SKITTY_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_SKITTY_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_SKITTY_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_SKITTY_FINAL,
MAP_FILE_ID_TEAM_BASE_SQUIRTLE_BASIC,
MAP_FILE_ID_TEAM_BASE_SQUIRTLE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_SQUIRTLE_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_SQUIRTLE_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_SQUIRTLE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_SQUIRTLE_FINAL,
MAP_FILE_ID_TEAM_BASE_TOTODILE_BASIC,
MAP_FILE_ID_TEAM_BASE_TOTODILE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_TOTODILE_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_TOTODILE_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_TOTODILE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_TOTODILE_FINAL,
MAP_FILE_ID_TEAM_BASE_MUDKIP_BASIC,
MAP_FILE_ID_TEAM_BASE_MUDKIP_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_MUDKIP_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_MUDKIP_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_MUDKIP_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_MUDKIP_FINAL,
MAP_FILE_ID_TEAM_BASE_PSYDUCK_BASIC,
MAP_FILE_ID_TEAM_BASE_PSYDUCK_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_PSYDUCK_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_PSYDUCK_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_PSYDUCK_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_PSYDUCK_FINAL,
MAP_FILE_ID_TEAM_BASE_CHARMANDER_BASIC,
MAP_FILE_ID_TEAM_BASE_CHARMANDER_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_CHARMANDER_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHARMANDER_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHARMANDER_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHARMANDER_FINAL,
MAP_FILE_ID_TEAM_BASE_TORCHIC_BASIC,
MAP_FILE_ID_TEAM_BASE_TORCHIC_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_TORCHIC_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_TORCHIC_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_TORCHIC_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_TORCHIC_FINAL,
MAP_FILE_ID_TEAM_BASE_CYNDAQUIL_BASIC,
MAP_FILE_ID_TEAM_BASE_CYNDAQUIL_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_CYNDAQUIL_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_CYNDAQUIL_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_CYNDAQUIL_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_CYNDAQUIL_FINAL,
MAP_FILE_ID_TEAM_BASE_CUBONE_BASIC,
MAP_FILE_ID_TEAM_BASE_CUBONE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_CUBONE_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_CUBONE_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_CUBONE_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_CUBONE_FINAL,
MAP_FILE_ID_TEAM_BASE_MACHOP_BASIC,
MAP_FILE_ID_TEAM_BASE_MACHOP_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_MACHOP_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_MACHOP_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_MACHOP_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_MACHOP_FINAL,
MAP_FILE_ID_TEAM_BASE_BULBASAUR_BASIC,
MAP_FILE_ID_TEAM_BASE_BULBASAUR_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_BULBASAUR_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_BULBASAUR_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_BULBASAUR_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_BULBASAUR_FINAL,
MAP_FILE_ID_TEAM_BASE_CHIKORITA_BASIC,
MAP_FILE_ID_TEAM_BASE_CHIKORITA_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_CHIKORITA_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHIKORITA_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHIKORITA_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_CHIKORITA_FINAL,
MAP_FILE_ID_TEAM_BASE_TREECKO_BASIC,
MAP_FILE_ID_TEAM_BASE_TREECKO_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_TREECKO_FINAL,
MAP_FILE_ID_TEAM_BASE_INSIDE_TREECKO_BASIC,
MAP_FILE_ID_TEAM_BASE_INSIDE_TREECKO_CONSTRUCTION,
MAP_FILE_ID_TEAM_BASE_INSIDE_TREECKO_FINAL,
MAP_FILE_ID_FRIEND_AREA_BOUNTIFUL_SEA,
MAP_FILE_ID_UNK_107,
MAP_FILE_ID_FRIEND_AREA_TREASURE_SEA,
MAP_FILE_ID_FRIEND_AREA_SERENE_SEA,
MAP_FILE_ID_FRIEND_AREA_DEEP_SEA_FLOOR,
MAP_FILE_ID_UNK_111,
MAP_FILE_ID_FRIEND_AREA_DEEP_SEA_CURRENT,
MAP_FILE_ID_UNK_113,
MAP_FILE_ID_FRIEND_AREA_SEAFLOOR_CAVE,
MAP_FILE_ID_UNK_115,
MAP_FILE_ID_FRIEND_AREA_SHALLOW_BEACH,
MAP_FILE_ID_FRIEND_AREA_MT_DEEPGREEN,
MAP_FILE_ID_FRIEND_AREA_MT_CLEFT,
MAP_FILE_ID_FRIEND_AREA_MT_MOONVIEW,
MAP_FILE_ID_FRIEND_AREA_RAINBOW_PEAK,
MAP_FILE_ID_FRIEND_AREA_WILD_PLAINS,
MAP_FILE_ID_FRIEND_AREA_BEAU_PLAINS,
MAP_FILE_ID_FRIEND_AREA_SKY_BLUE_PLAINS,
MAP_FILE_ID_FRIEND_AREA_SAFARI,
MAP_FILE_ID_FRIEND_AREA_SCORCHED_PLAINS,
MAP_FILE_ID_FRIEND_AREA_SACRED_FIELD,
MAP_FILE_ID_FRIEND_AREA_MIST_RISE_FOREST,
MAP_FILE_ID_FRIEND_AREA_FLYAWAY_FOREST,
MAP_FILE_ID_FRIEND_AREA_OVERGROWN_FOREST,
MAP_FILE_ID_FRIEND_AREA_ENERGETIC_FOREST,
MAP_FILE_ID_UNK_131,
MAP_FILE_ID_FRIEND_AREA_MUSHROOM_FOREST,
MAP_FILE_ID_FRIEND_AREA_HEALING_FOREST,
MAP_FILE_ID_FRIEND_AREA_TRANSFORM_FOREST,
MAP_FILE_ID_FRIEND_AREA_SECRETIVE_FOREST,
MAP_FILE_ID_FRIEND_AREA_RUB_A_DUB_RIVER,
MAP_FILE_ID_FRIEND_AREA_TADPOLE_POND,
MAP_FILE_ID_FRIEND_AREA_TURTLESHELL_POND,
MAP_FILE_ID_FRIEND_AREA_MYSTIC_LAKE,
MAP_FILE_ID_FRIEND_AREA_WATERFALL_LAKE,
MAP_FILE_ID_FRIEND_AREA_PEANUT_SWAMP,
MAP_FILE_ID_FRIEND_AREA_POISON_SWAMP,
MAP_FILE_ID_FRIEND_AREA_ECHO_CAVE,
MAP_FILE_ID_FRIEND_AREA_CRYPTIC_CAVE,
MAP_FILE_ID_FRIEND_AREA_DRAGON_CAVE,
MAP_FILE_ID_FRIEND_AREA_BOULDER_CAVE,
MAP_FILE_ID_FRIEND_AREA_JUNGLE,
MAP_FILE_ID_FRIEND_AREA_DECREPIT_LAB,
MAP_FILE_ID_FRIEND_AREA_MT_DISCIPLINE,
MAP_FILE_ID_FRIEND_AREA_THUNDER_MEADOW,
MAP_FILE_ID_UNK_151,
MAP_FILE_ID_FRIEND_AREA_POWER_PLANT,
MAP_FILE_ID_FRIEND_AREA_CRATER,
MAP_FILE_ID_UNK_154,
MAP_FILE_ID_FRIEND_AREA_FURNACE_DESERT,
MAP_FILE_ID_FRIEND_AREA_AGED_CHAMBER_AN,
MAP_FILE_ID_FRIEND_AREA_AGED_CHAMBER_O_EXCLAIM,
MAP_FILE_ID_FRIEND_AREA_ANCIENT_RELIC,
MAP_FILE_ID_FRIEND_AREA_DARKNESS_RIDGE,
MAP_FILE_ID_FRIEND_AREA_FRIGID_CAVERN,
MAP_FILE_ID_FRIEND_AREA_ICE_FLOE_BEACH,
MAP_FILE_ID_FRIEND_AREA_VOLCANIC_PIT,
MAP_FILE_ID_FRIEND_AREA_STRATOS_LOOKOUT,
MAP_FILE_ID_FRIEND_AREA_RAVAGED_FIELD,
MAP_FILE_ID_FRIEND_AREA_MAGNETIC_QUARRY,
MAP_FILE_ID_FRIEND_AREA_LEGENDARY_ISLAND,
MAP_FILE_ID_FRIEND_AREA_SOUTHERN_ISLAND,
MAP_FILE_ID_FRIEND_AREA_ENCLOSED_ISLAND,
MAP_FILE_ID_UNK_169,
MAP_FILE_ID_FRIEND_AREA_FINAL_ISLAND,
MAP_FILE_ID_PERSONALITY_TEST_CYAN,
MAP_FILE_ID_PERSONALITY_TEST_PURPLE,
MAP_FILE_ID_FUGITIVES_FISSURE,
MAP_FILE_ID_FUGITIVES_FIRE,
MAP_FILE_ID_FUGITIVES_LAPIS_CAVE,
MAP_FILE_ID_FUGITIVES_VOLCANO,
MAP_FILE_ID_FUGITIVES_SNOW_ROAD,
MAP_FILE_ID_FUGITIVES_SNOW_FOREST,
MAP_FILE_ID_FUGITIVES_BLIZZARD_ROAD,
MAP_FILE_ID_SUMMIT_SUNSET,
MAP_FILE_ID_SKY_TOWER,
MAP_FILE_ID_COMET,
MAP_FILE_ID_NIGHTMARE,
MAP_FILE_ID_NIGHT_SKY_1,
MAP_FILE_ID_NIGHT_SKY_2,
MAP_FILE_ID_THE_END,
MAP_FILE_ID_TINY_WOODS_ENTRY,
MAP_FILE_ID_TINY_WOODS_END,
MAP_FILE_ID_THUNDERWAVE_CAVE_ENTRY,
MAP_FILE_ID_THUNDERWAVE_CAVE_END,
MAP_FILE_ID_MT_STEEL_ENTRY,
MAP_FILE_ID_MT_STEEL_END,
MAP_FILE_ID_SINISTER_WOODS_ENTRY,
MAP_FILE_ID_SINISTER_WOODS_END,
MAP_FILE_ID_SILENT_CHASM_ENTRY,
MAP_FILE_ID_SILENT_CHASM_END,
MAP_FILE_ID_MT_THUNDER_ENTRY,
MAP_FILE_ID_MT_THUNDER_MID,
MAP_FILE_ID_MT_THUNDER_END,
MAP_FILE_ID_GREAT_CANYON_ENTRY,
MAP_FILE_ID_HILL_OF_THE_ANCIENTS,
MAP_FILE_ID_LAPIS_CAVE_ENTRY,
MAP_FILE_ID_LAPIS_CAVE_END,
MAP_FILE_ID_MT_BLAZE_ENTRY,
MAP_FILE_ID_MT_BLAZE_MID,
MAP_FILE_ID_MT_BLAZE_END,
MAP_FILE_ID_FROSTY_FOREST_ENTRY,
MAP_FILE_ID_FROSTY_FOREST_MID,
MAP_FILE_ID_FROSTY_FOREST_END,
MAP_FILE_ID_MT_FREEZE_ENTRY,
MAP_FILE_ID_MT_FREEZE_MID,
MAP_FILE_ID_MT_FREEZE_END,
MAP_FILE_ID_MAGMA_CAVERN_ENTRY,
MAP_FILE_ID_MAGMA_CAVERN_MID,
MAP_FILE_ID_MAGMA_CAVERN_END,
MAP_FILE_ID_SKY_TOWER_ENTRY,
MAP_FILE_ID_SKY_TOWER_MID,
MAP_FILE_ID_SKY_TOWER_END,
MAP_FILE_ID_D14,
MAP_FILE_ID_D15,
MAP_FILE_ID_D16,
MAP_FILE_ID_D17,
MAP_FILE_ID_D18,
MAP_FILE_ID_D19,
MAP_FILE_ID_D20,
MAP_FILE_ID_D21,
MAP_FILE_ID_D22,
MAP_FILE_ID_D23,
MAP_FILE_ID_D24_1,
MAP_FILE_ID_D24_2,
MAP_FILE_ID_D25,
MAP_FILE_ID_PERSONALITY_TEST_MULTICOLOR,
MAP_FILE_ID_TITLE_SCREEN,
MAP_FILE_ID_INTRO,
MAP_FILE_ID_LOGO_POKEMON_COMPANY,
MAP_FILE_ID_LOGO_WARNING,
MAP_FILE_ID_TEAM_BASE_WALL_MAP,
MAP_FILE_ID_W01,
MAP_FILE_ID_W03_PO1,
MAP_FILE_ID_W03_PO2,
MAP_FILE_ID_W03_PO3,
MAP_FILE_ID_W04,
MAP_FILE_ID_W05,
MAP_FILE_ID_W06,
MAP_FILE_ID_COUNT,
};
extern const struct MapFilesStruct gMapFilesTable[MAP_FILE_ID_COUNT];
#endif // GUARD_MAP_FILES_TABLE_H

View File

@@ -1,18 +0,0 @@
#ifndef GUARD_STR_81188F0_H
#define GUARD_STR_81188F0_H
// size: 0x1C
struct unkStruct_81188F0
{
/* 0x0 */ const u8 *fileName1;
/* 0x4 */ const u8 *fileName2;
/* 0x8 */ const u8 *fileName3;
/* 0xC */ const u8 *fileName4[2];
// Unused, always NULL
/* 0x14 */ const u8 *unusedFileName5;
/* 0x18 */ const u8 *unusedFileName6;
};
extern const struct unkStruct_81188F0 gUnknown_81188F0[];
#endif // GUARD_STR_81188F0_H

View File

@@ -111,7 +111,7 @@ typedef struct GroundBg
OpenedFile *unk438;
OpenedFile *unk43C;
OpenedFile *unk440;
s16 unk444;
s16 mapFileId;
SubStruct_448 unk448;
SubStruct_545 unk454;
s16 unk464[2];

View File

@@ -736,7 +736,7 @@ SECTIONS {
src/ground_link.o(.rodata);
src/ground_event.o(.rodata);
src/unk_dungeon_load_maybe.o(.rodata);
data/data_8115F5C_3.o(.rodata);
src/map_files_table.o(.rodata);
src/ground_map_conversion_table.o(.rodata);
src/map_script_table.o(.rodata);
data/data_8115F5C_3_.o(.rodata);

View File

@@ -11,7 +11,7 @@
#include "text_1.h"
#include "text_2.h"
#include "ground_map_conversion_table.h"
#include "structs/str_81188F0.h"
#include "map_files_table.h"
EWRAM_INIT static struct MenuHeaderWindow *sDebugWindow = {NULL};
@@ -132,7 +132,7 @@ static void PrintCurrentPageText(void)
for (i = 0; i < sDebugWindow->m.input.currPageEntries; i++) {
s16 index = (sDebugWindow->m.input.currPage * sDebugWindow->m.input.entriesPerPage) + i;
const GroundConversionStruct *mapConversionPtr = &gGroundMapConversionTable[index];
const struct unkStruct_81188F0 *mapFilesPtr = &gUnknown_81188F0[mapConversionPtr->mapFileTableId];
const struct MapFilesStruct *mapFilesPtr = &gMapFilesTable[mapConversionPtr->mapFileTableId];
y = GetMenuEntryYCoord(&sDebugWindow->m.input, i);
PrintStringOnWindow(8, y, mapFilesPtr->fileName1, sDebugWindow->m.menuWinId, 0);

View File

@@ -6,7 +6,7 @@
#include "memory.h"
#include "file_system.h"
#include "code_8002774.h"
#include "structs/str_81188F0.h"
#include "map_files_table.h"
#include "code_8004AA0.h"
#include "graphics_memory.h"
#include "debug.h"
@@ -70,7 +70,7 @@ void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1)
groundBg->unk43C = NULL;
groundBg->unk440 = NULL;
groundBg->unk52A = 0;
groundBg->unk444 = -1;
groundBg->mapFileId = -1;
groundBg->unk468 = 0;
groundBg->unk448.unk0 = 0;
groundBg->unk448.unk1 = 0;
@@ -164,7 +164,7 @@ void sub_80A2E64(GroundBg *groundBg)
s32 unk0Id, unk3E0Id;
CloseOpenedFiles(groundBg);
groundBg->unk444 = -1;
groundBg->mapFileId = -1;
groundBg->unk528 = 0;
groundBg->unk448.unk0 = 0;
groundBg->unk448.unk1 = 0;
@@ -216,12 +216,12 @@ void sub_80A2E64(GroundBg *groundBg)
groundBg->unk52A = 1;
}
void sub_80A2FBC(GroundBg *groundBg, s32 a1_)
void sub_80A2FBC(GroundBg *groundBg, s32 mapFileId_)
{
SubStruct_0 *sub0Ptr;
u16 r5;
s32 i, j, k;
const struct unkStruct_81188F0 *dataPtr;
const struct MapFilesStruct *mapFilesPtr;
s16 *mapPtr_464;
SubStruct_545 *mapPtr_454;
const u16 *file_434;
@@ -235,19 +235,19 @@ void sub_80A2FBC(GroundBg *groundBg, s32 a1_)
s32 id;
void *vramPtr;
s32 sum;
s32 a1 = (s16) a1_;
s32 mapFileId = (s16) mapFileId_;
if (a1 == -1) {
if (mapFileId == -1) {
sub_80A2E64(groundBg);
return;
}
CloseOpenedFiles(groundBg);
groundBg->unk444 = a1;
dataPtr = &gUnknown_81188F0[a1];
groundBg->unk430 = OpenFileAndGetFileDataPtr(dataPtr->fileName1, &gGroundFileArchive);
groundBg->unk434 = OpenFileAndGetFileDataPtr(dataPtr->fileName2, &gGroundFileArchive);
groundBg->unk438 = OpenFileAndGetFileDataPtr(dataPtr->fileName3, &gGroundFileArchive);
groundBg->mapFileId = mapFileId;
mapFilesPtr = &gMapFilesTable[mapFileId];
groundBg->unk430 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName1, &gGroundFileArchive);
groundBg->unk434 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName2, &gGroundFileArchive);
groundBg->unk438 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName3, &gGroundFileArchive);
file_430 = groundBg->unk430->data;
file_434 = groundBg->unk434->data;
file_438 = groundBg->unk438->data;
@@ -344,11 +344,11 @@ void sub_80A2FBC(GroundBg *groundBg, s32 a1_)
vramPtr = (void *)(VRAM + 0x8000 + (groundBg->unk52C.unk4 + mapPtr_454->unk4) * 32);
for (id = 0; id < 2; id++) {
SubStruct_3E0 *sub3E0 = &groundBg->unk3E0[id];
if (dataPtr->fileName4[id] != NULL) {
if (mapFilesPtr->fileName4[id] != NULL) {
const struct UnkFileStruct *fileStr;
const void *r1, *r0;
sub3E0->unk8 = OpenFileAndGetFileDataPtr(dataPtr->fileName4[id], &gGroundFileArchive);
sub3E0->unk8 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName4[id], &gGroundFileArchive);
sub3E0->unk0 = 1;
sub3E0->unk1 = 1;
fileStr = sub3E0->unk8->data;
@@ -380,9 +380,9 @@ void sub_80A2FBC(GroundBg *groundBg, s32 a1_)
}
}
for (; id < 4; id++) {
if (dataPtr->fileName4[id] != NULL) {
if (mapFilesPtr->fileName4[id] != NULL) {
s32 n;
OpenedFile *file = OpenFileAndGetFileDataPtr(dataPtr->fileName4[id], &gGroundFileArchive);
OpenedFile *file = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName4[id], &gGroundFileArchive);
const struct UnkFileStruct *fileStr = file->data;
u16 *r1 = (void *) fileStr->unk4;
r1 += fileStr->unk2 * 2;
@@ -402,7 +402,7 @@ void sub_80A2FBC(GroundBg *groundBg, s32 a1_)
groundBg->unk52A = 1;
}
void sub_80A3440(GroundBg *groundBg, s32 a1_, DungeonLocation *dungLoc, s32 a3)
void sub_80A3440(GroundBg *groundBg, s32 mapFileId_, DungeonLocation *dungLoc, s32 a3)
{
SubStruct_0 *sub0Ptr;
s32 i;
@@ -412,23 +412,23 @@ void sub_80A3440(GroundBg *groundBg, s32 a1_, DungeonLocation *dungLoc, s32 a3)
const void *file_430;
SubStruct_448 *mapPtr_448;
s32 unk0Id, sub3E0Id;
const struct unkStruct_81188F0 *dataPtr;
const struct MapFilesStruct *mapFilesPtr;
s16 *mapPtr_464;
u16 *unkPtrArray[2];
s32 a1 = (s16) a1_;
s32 mapFileId = (s16) mapFileId_;
if (a1 == -1 || dungLoc->id == DUNGEON_INVALID) {
if (mapFileId == -1 || dungLoc->id == DUNGEON_INVALID) {
sub_80A2E64(groundBg);
return;
}
sub_80A2FBC(groundBg, a1);
sub_80A2FBC(groundBg, mapFileId);
CloseOpenedFiles(groundBg);
groundBg->unk444 = a1;
dataPtr = &gUnknown_81188F0[a1];
groundBg->unk430 = OpenFileAndGetFileDataPtr(dataPtr->fileName1, &gGroundFileArchive);
groundBg->unk434 = OpenFileAndGetFileDataPtr(dataPtr->fileName2, &gGroundFileArchive);
groundBg->unk438 = OpenFileAndGetFileDataPtr(dataPtr->fileName3, &gGroundFileArchive);
groundBg->mapFileId = mapFileId;
mapFilesPtr = &gMapFilesTable[mapFileId];
groundBg->unk430 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName1, &gGroundFileArchive);
groundBg->unk434 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName2, &gGroundFileArchive);
groundBg->unk438 = OpenFileAndGetFileDataPtr(mapFilesPtr->fileName3, &gGroundFileArchive);
file_430 = groundBg->unk430->data;
file_434 = groundBg->unk434->data;
file_438 = groundBg->unk438->data;
@@ -1335,7 +1335,7 @@ void sub_80A4764(GroundBg *groundBg)
SubStruct_488 *map488;
PixelPos *map478;
if (groundBg->unk444 == -1)
if (groundBg->mapFileId == -1)
return;
if (groundBg->unk464[1] != 0) {

File diff suppressed because it is too large Load Diff

View File

@@ -50,10 +50,10 @@ bool8 ChangeScriptFile(s16 a0)
static const struct GroundScriptHeader sNullGroundScript = {0};
const struct GroundScriptHeader *GetGroundScript(s16 a0)
const struct GroundScriptHeader *GetGroundScript(s16 mapId)
{
if (a0 != -1)
return gMapScriptTable[a0];
if (mapId != -1)
return gMapScriptTable[mapId];
else
return &sNullGroundScript;
}

1476
src/map_files_table.c Normal file

File diff suppressed because it is too large Load Diff