From 33eae08fd03f2c3a16e9f73ce20e19c80146076e Mon Sep 17 00:00:00 2001 From: blademastersf123 Date: Thu, 31 Aug 2023 20:57:17 -0400 Subject: [PATCH] Fourth allegiance --- CustomDefinitions.event | 3 + EngineHacks/Config.event | 2 +- EngineHacks/FourthAllegiance/AssembleC.bat | 32 + .../FourthAllegiance/FE-CLib/.gitignore | 10 + .../FourthAllegiance/FE-CLib/README.md | 38 + .../FE-CLib/include/gba/defines.h | 26 + .../FE-CLib/include/gba/gba.h | 10 + .../FE-CLib/include/gba/ioreg.h | 119 + .../FE-CLib/include/gba/macro.h | 225 + .../FE-CLib/include/gba/syscall.h | 61 + .../FE-CLib/include/gba/types.h | 274 + .../FourthAllegiance/FE-CLib/include/gbafe.h | 50 + .../FE-CLib/include/gbafe/action.h | 88 + .../FE-CLib/include/gbafe/ai.h | 100 + .../FE-CLib/include/gbafe/animinterpreter.h | 53 + .../FE-CLib/include/gbafe/ap.h | 44 + .../FE-CLib/include/gbafe/armfunc.h | 21 + .../FE-CLib/include/gbafe/battle.h | 173 + .../FE-CLib/include/gbafe/chapterdata.h | 144 + .../FE-CLib/include/gbafe/common.h | 18 + .../FE-CLib/include/gbafe/compress.h | 13 + .../FE-CLib/include/gbafe/debugprint.h | 13 + .../FE-CLib/include/gbafe/dialogue.h | 33 + .../FE-CLib/include/gbafe/event.h | 28 + .../FE-CLib/include/gbafe/face.h | 70 + .../FE-CLib/include/gbafe/game.h | 52 + .../FE-CLib/include/gbafe/hardware.h | 179 + .../FE-CLib/include/gbafe/hiobj.h | 17 + .../FE-CLib/include/gbafe/icon.h | 17 + .../FE-CLib/include/gbafe/item.h | 262 + .../FE-CLib/include/gbafe/map.h | 82 + .../FE-CLib/include/gbafe/menu.h | 152 + .../FE-CLib/include/gbafe/mu.h | 173 + .../FE-CLib/include/gbafe/other.h | 84 + .../FE-CLib/include/gbafe/popup.h | 59 + .../FE-CLib/include/gbafe/proc.h | 156 + .../FE-CLib/include/gbafe/random.h | 17 + .../FE-CLib/include/gbafe/save.h | 71 + .../FE-CLib/include/gbafe/sound.h | 35 + .../FE-CLib/include/gbafe/sram.h | 10 + .../FE-CLib/include/gbafe/standunit.h | 42 + .../FE-CLib/include/gbafe/support.h | 60 + .../FE-CLib/include/gbafe/targetselect.h | 91 + .../FE-CLib/include/gbafe/text.h | 139 + .../FE-CLib/include/gbafe/trap.h | 103 + .../FE-CLib/include/gbafe/unit.h | 491 ++ .../FE-CLib/include/gbafe/vramtransfer.h | 43 + .../FE-CLib/include/gbafe/wm.h | 19 + .../FE-CLib/reference/FE8U-20180806.s | 3738 ++++++++++++++ .../FE-CLib/reference/FE8U-20181105.s | 4081 +++++++++++++++ .../FE-CLib/reference/FE8U-20190316.s | 4512 +++++++++++++++++ .../FE-CLib/utility/put-lyn-here.txt | 1 + .../utility/update-reference-object.sh | 34 + .../FourthAllegiance/FourthAllegiance.c | 54 + .../FourthAllegiance/FourthAllegiance.event | 30 + EngineHacks/FourthAllegiance/lyn.exe | Bin 0 -> 2406700 bytes .../CalcLoops/TurnLoop/Installer.event | 4 + .../TurnLoop/StartOfTurn_CalcLoop.lyn.event | 4 +- .../CalcLoops/TurnLoop/StartOfTurn_CalcLoop.s | 5 + .../ExpandedModularSave/ExModularSave.event | 24 +- ...eUnitExpandedStrmagStairsFatigue.lyn.event | 4 +- .../SaveUnitExpandedStrmagStairsFatigue.s | 4 + EngineHacks/NeutralMinimugBox.png | Bin 0 -> 1145 bytes EngineHacks/NeutralPhaseBanner.png | Bin 0 -> 1172 bytes EngineHacks/NewUnitRAMPointerSetter.event | 18 + .../AuraSkills/ArmorMarch/AssembleARM.bat | 20 + .../AuraSkills/ArmorMarch/armormarchskill.dmp | Bin 0 -> 312 bytes .../ArmorMarch/armormarchskill.lyn.event | 10 +- .../AuraSkills/ArmorMarch/armormarchskill.s | 27 +- .../VigorDance/Assemble Lyn.bat | 1 + .../VigorDance/vigordancereset.lyn.event | 6 +- .../VigorDance/vigordancereset.s | 23 +- .../VanillaFactionRelationsSetter.event | 236 + EngineHacks/_MasterHackInstaller.event | 163 +- EngineHacks/asm/Assemble ARM.bat | 20 + EngineHacks/asm/CheckAllegianceFix.dmp | Bin 0 -> 40 bytes EngineHacks/asm/CheckAllegianceFix.s | 22 + .../LoadEnemyOrNeutralMinimugBoxPalette.dmp | Bin 0 -> 24 bytes .../asm/LoadEnemyOrNeutralMinimugBoxPalette.s | 17 + .../asm/LoadEnemyOrNeutralPhaseGraphics.dmp | Bin 0 -> 108 bytes .../asm/LoadEnemyOrNeutralPhaseGraphics.s | 61 + EngineHacks/asm/NewMovementCheck.dmp | Bin 0 -> 44 bytes EngineHacks/asm/NewMovementCheck.s | 36 + 83 files changed, 17118 insertions(+), 39 deletions(-) create mode 100644 EngineHacks/FourthAllegiance/AssembleC.bat create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/.gitignore create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/README.md create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/defines.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/gba.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/ioreg.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/macro.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/syscall.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gba/types.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/action.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ai.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/animinterpreter.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ap.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/armfunc.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/battle.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/chapterdata.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/common.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/compress.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/debugprint.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/dialogue.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/event.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/face.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/game.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hardware.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hiobj.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/icon.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/item.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/map.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/menu.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/mu.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/other.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/popup.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/proc.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/random.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/save.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sound.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sram.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/standunit.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/support.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/targetselect.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/text.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/trap.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/unit.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/vramtransfer.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/wm.h create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20180806.s create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20181105.s create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20190316.s create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/utility/put-lyn-here.txt create mode 100644 EngineHacks/FourthAllegiance/FE-CLib/utility/update-reference-object.sh create mode 100644 EngineHacks/FourthAllegiance/FourthAllegiance.c create mode 100644 EngineHacks/FourthAllegiance/FourthAllegiance.event create mode 100644 EngineHacks/FourthAllegiance/lyn.exe create mode 100644 EngineHacks/NeutralMinimugBox.png create mode 100644 EngineHacks/NeutralPhaseBanner.png create mode 100644 EngineHacks/NewUnitRAMPointerSetter.event create mode 100644 EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/AssembleARM.bat create mode 100644 EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.dmp create mode 100644 EngineHacks/VanillaFactionRelationsSetter.event create mode 100644 EngineHacks/asm/Assemble ARM.bat create mode 100644 EngineHacks/asm/CheckAllegianceFix.dmp create mode 100644 EngineHacks/asm/CheckAllegianceFix.s create mode 100644 EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.dmp create mode 100644 EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.s create mode 100644 EngineHacks/asm/LoadEnemyOrNeutralPhaseGraphics.dmp create mode 100644 EngineHacks/asm/LoadEnemyOrNeutralPhaseGraphics.s create mode 100644 EngineHacks/asm/NewMovementCheck.dmp create mode 100644 EngineHacks/asm/NewMovementCheck.s diff --git a/CustomDefinitions.event b/CustomDefinitions.event index e95e13531..72e9259f4 100644 --- a/CustomDefinitions.event +++ b/CustomDefinitions.event @@ -34,6 +34,9 @@ //item ID for skill scroll #define SkillScroll 0xFE +//For fourth allegiance +#define NeutralForce 3 + #include "EngineHacks/SkillSystem/skill_definitions.event" // #define __DEBUG__ // Uncomment to get the Debug startup menu :p diff --git a/EngineHacks/Config.event b/EngineHacks/Config.event index cbfcec7a0..676ce4183 100644 --- a/EngineHacks/Config.event +++ b/EngineHacks/Config.event @@ -204,7 +204,7 @@ // The location it is repointed to is also defined here. The default location is // the area used for debug printing. //#define REPOINT_UNIT_LOAD_BUFFER -#define NewUnitLoadBufferLoc 0x2026F30 +//#define NewUnitLoadBufferLoc 0x2026F30 // ================================= diff --git a/EngineHacks/FourthAllegiance/AssembleC.bat b/EngineHacks/FourthAllegiance/AssembleC.bat new file mode 100644 index 000000000..738da3087 --- /dev/null +++ b/EngineHacks/FourthAllegiance/AssembleC.bat @@ -0,0 +1,32 @@ +@echo off + +SET startDir=C:\devkitPro\devkitARM\bin\ +SET gcc="%startDir%arm-none-eabi-gcc" +SET as="%startDir%arm-none-eabi-as" +SET ref="FE-CLib\reference\FE8U-20190316" +SET lyn="lyn.exe" + +@rem compile into an object file +%gcc% -mcpu=arm7tdmi -mabi=aapcs -mthumb -mthumb-interwork -fomit-frame-pointer -ffast-math -fno-toplevel-reorder -mlong-calls -I "FE-CLib\include" -Os -c %1 -o "%~n1.o" + +@rem check for a library s file(called %~n1.lib), and assemble it if needed +if exist "%ref%.s" ( +%as% -g -mcpu=arm7tdmi -mthumb-interwork "%ref%.s" -o "%ref%.o" + +@rem transform object file into event file with the lib file using lyn +%lyn% "%~n1.o" "%ref%.o" > "%~n1.event" + +) else ( + +@rem transform object file into event file without lib +%lyn% "%~n1.o" > "%~n1.event" + +) + +echo y | del "%~n1.o" + +if exist "%~n1_lib.o" ( +echo y | del "%~n1_lib.o" +) + +pause \ No newline at end of file diff --git a/EngineHacks/FourthAllegiance/FE-CLib/.gitignore b/EngineHacks/FourthAllegiance/FE-CLib/.gitignore new file mode 100644 index 000000000..fa9855fd0 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/.gitignore @@ -0,0 +1,10 @@ +# Objects +*.o +*.elf + +# lyn output +*.lyn.event + +# lyn itself +utility/lyn +utility/lyn.exe diff --git a/EngineHacks/FourthAllegiance/FE-CLib/README.md b/EngineHacks/FourthAllegiance/FE-CLib/README.md new file mode 100644 index 000000000..e0cd08933 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/README.md @@ -0,0 +1,38 @@ + +This is a set a C headers along with reference object sources for the purpose of writing FE8 wizardry. Only a FE8U reference is available for now, but adding a FE8J reference is feasible. + +Much like [the python tools](https://github.com/StanHash/FE-PyTools), this was previously located within [FE-CHAX](https://github.com/StanHash/FE-CHAX). This is now being moved in its own repository since I will start using it in other projects too (namely in my [port of VBA to make/EA](https://github.com/StanHash/VBA-MAKE)). + +## Usage + +- Add the `include` directory to your include path, and include `gbafe.h` in the sources in which you may want to use FE8 stuff. +- Build the *latest* corresponding reference object (sources in the `reference` directory) and link against it. + +_**Note**: as of 2019-01-02, I removed all `#pragma long_calls` from the headers. This means that you will have to rely on either compiler or linker flags if you need long calls to work._ + +## Reference objects + +I call "reference object" a relocatable object that only defines a series of global absolute symbols mapping names to addresses in a given game. For example, a reference object for FE8U will define a symbol named `gActiveUnit` with absolute value `03004E50`. + +This "reference object" may be used to "link" the game to your code. + +The symbol names in the latest reference object should correspond to the symbol names in the current gbafe headers. *However*, names in previous reference objects may not correspond to current libgbafe. Those are provided to better prepare users for breaks in compatibility. + +### Updating the reference + +Basically since I'm bad I change function and object names a lot. But I try to be nice anyway so I'm trying to provide an easy-ish way to "update" from an older nameset to the latest one. + +You may note that reference object sources have dates attached to their names. That's because the plan is to keep all the previous references in so that is becomes easier to "port" your code to a newer version of FE-CLib. + +I have written [an updating helper script](./utility/update-reference-object.sh) that may help you update from an old reference to the latest one. It requires `lyn` to compare references, but it isn't necessarily meant to be excusively used for updating a `lyn`-based environment. + +The way it works is fairly simple: it uses `lyn` to generate a "diff" of the symbol map defined by two objects, generates a series of `sed` invocations that should replace old names with new names; and then it calls those for each .h, .c and .s files it can find under the working directory. + +Basically how you'd use it is like this: + +```sh +cd path/to/directory/to/update +sh path/to/utility/update-reference-object.sh path/to/old/reference.o path/to/new/reference.o +``` + +You could also use this to port your already written code from your old stuff to this! Or vice-versa, if you want code written for this to work in your environment with a custom reference. diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/defines.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/defines.h new file mode 100644 index 000000000..af30e611b --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/defines.h @@ -0,0 +1,26 @@ +#ifndef GUARD_GBA_DEFINES +#define GUARD_GBA_DEFINES + +#include "types.h" + +#define TRUE 1 +#define FALSE 0 + +#define PLTT ((unsigned char*)(0x5000000)) +#define VRAM ((unsigned char*)(0x6000000)) +#define OAM ((unsigned char*)(0x7000000)) + +#define VRAM_BG_CHAR_ADDR(n) (VRAM + (0x4000 * (n))) +#define VRAM_BG_SCREEN_ADDR(n) (VRAM + (0x800 * (n))) +#define VRAM_BG_TILE_ADDR(n) (VRAM + (0x80 * (n))) + +#define VRAM_OBJ (VRAM + 0x10000) + +#define COLOR_RGB(r, g, b) (((r) & 0x1F) + (((g) & 0x1F) << 5) + (((b) & 0x1F) << 10)) + +#define COLOR_WHITE COLOR_RGB(31, 31, 31) +#define COLOR_BLACK COLOR_RGB(0, 0, 0) + +#define PUREFUNC __attribute__((pure)) + +#endif // GUARD_GBA_DEFINES diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/gba.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/gba.h new file mode 100644 index 000000000..66abb49e0 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/gba.h @@ -0,0 +1,10 @@ +#ifndef GUARD_GBA_GBA_H +#define GUARD_GBA_GBA_H + +#include "types.h" +#include "defines.h" +#include "ioreg.h" +#include "syscall.h" +#include "macro.h" + +#endif // GUARD_GBA_GBA_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/ioreg.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/ioreg.h new file mode 100644 index 000000000..3623c710f --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/ioreg.h @@ -0,0 +1,119 @@ +#ifndef GUARD_GBA_IO_REG_H +#define GUARD_GBA_IO_REG_H + +#include "types.h" + +enum +{ + IO_ADDR_DISPCNT = 0x4000000, + IO_ADDR_DISPSTAT = 0x4000004, + IO_ADDR_VCOUNT = 0x4000006, + IO_ADDR_BG0CNT = 0x4000008, + IO_ADDR_BG1CNT = 0x400000A, + IO_ADDR_BG2CNT = 0x400000C, + IO_ADDR_BG3CNT = 0x400000E, + IO_ADDR_BG0HOFS = 0x4000010, + IO_ADDR_BG0VOFS = 0x4000012, + IO_ADDR_BG1HOFS = 0x4000014, + IO_ADDR_BG1VOFS = 0x4000016, + IO_ADDR_BG2HOFS = 0x4000018, + IO_ADDR_BG2VOFS = 0x400001A, + IO_ADDR_BG3HOFS = 0x400001C, + IO_ADDR_BG3VOFS = 0x400001E, + IO_ADDR_BG2PA = 0x4000020, + IO_ADDR_BG2PB = 0x4000022, + IO_ADDR_BG2PC = 0x4000024, + IO_ADDR_BG2PD = 0x4000026, + IO_ADDR_BG2X = 0x4000028, + IO_ADDR_BG2Y = 0x400002C, + IO_ADDR_BG3PA = 0x4000030, + IO_ADDR_BG3PB = 0x4000032, + IO_ADDR_BG3PC = 0x4000034, + IO_ADDR_BG3PD = 0x4000036, + IO_ADDR_BG3X = 0x4000038, + IO_ADDR_BG3Y = 0x400003C, + + // TODO: win io + + IO_ADDR_MOSAIC = 0x400004C, + IO_ADDR_BLDCNT = 0x4000050, + IO_ADDR_BLDALPHA = 0x4000052, + IO_ADDR_BLDY = 0x4000054, + + // TODO: sound io + // TODO: dma io + // TODO: timer io + // TODO: sio io + + IO_ADDR_KEYINPUT = 0x4000130, + IO_ADDR_KEYCNT = 0x4000132, + + // TODO: more sio io + + IO_ADDR_IE = 0x4000200, + IO_ADDR_IF = 0x4000202, + IO_ADDR_WAITCNT = 0x4000204, + IO_ADDR_IME = 0x4000208, +}; + +#define DISPCNT (*(struct DispControl*) (IO_ADDR_DISPCNT)) +#define DISPSTAT (*(struct DispStat*) (IO_ADDR_DISPSTAT)) +#define VCOUNT (*(u16*) (IO_ADDR_VCOUNT)) +#define BG0CNT (*(struct BgControl*) (IO_ADDR_BG0CNT)) +#define BG1CNT (*(struct BgControl*) (IO_ADDR_BG1CNT)) +#define BG2CNT (*(struct BgControl*) (IO_ADDR_BG2CNT)) +#define BG3CNT (*(struct BgControl*) (IO_ADDR_BG3CNT)) +#define BG0HOFS (*(u16*) (IO_ADDR_BG0HOFS)) +#define BG0VOFS (*(u16*) (IO_ADDR_BG0VOFS)) +#define BG1HOFS (*(u16*) (IO_ADDR_BG1HOFS)) +#define BG1VOFS (*(u16*) (IO_ADDR_BG1VOFS)) +#define BG2HOFS (*(u16*) (IO_ADDR_BG2HOFS)) +#define BG2VOFS (*(u16*) (IO_ADDR_BG2VOFS)) +#define BG3HOFS (*(u16*) (IO_ADDR_BG3HOFS)) +#define BG3VOFS (*(u16*) (IO_ADDR_BG3VOFS)) +#define BG2PA (*(u16*) (IO_ADDR_BG2PA)) // TODO: better type +#define BG2PB (*(u16*) (IO_ADDR_BG2PB)) // TODO: better type +#define BG2PC (*(u16*) (IO_ADDR_BG2PC)) // TODO: better type +#define BG2PD (*(u16*) (IO_ADDR_BG2PD)) // TODO: better type +#define BG2X (*(u32*) (IO_ADDR_BG2X)) // TODO: better type +#define BG2Y (*(u32*) (IO_ADDR_BG2Y)) // TODO: better type +#define BG3PA (*(u16*) (IO_ADDR_BG3PA)) // TODO: better type +#define BG3PB (*(u16*) (IO_ADDR_BG3PB)) // TODO: better type +#define BG3PC (*(u16*) (IO_ADDR_BG3PC)) // TODO: better type +#define BG3PD (*(u16*) (IO_ADDR_BG3PD)) // TODO: better type +#define BG3X (*(u32*) (IO_ADDR_BG3X)) // TODO: better type +#define BG3Y (*(u32*) (IO_ADDR_BG3Y)) // TODO: better type + +// TODO: win io + +#define MOSAIC (*(struct MosaicConfig*)(IO_ADDR_MOSAIC)) +#define BLDCNT (*(struct BlendControl*)(IO_ADDR_BLDCNT)) +#define BLDALPHA (*(struct BlendAlpha*) (IO_ADDR_BLDALPHA)) +#define BLDY (*(u16*) (IO_ADDR_BLDY)) + +// TODO: sound io +// TODO: dma io +// TODO: timer io +// TODO: sio io + +#define KEYINPUT (*(u16*) (IO_ADDR_KEYINPUT)) +#define KEYCNT (*(struct KeyControl*) (IO_ADDR_KEYCNT)) + +// TODO: more sio io + +#define IE (*(u16*) (IO_ADDR_IE)) +#define IF (*(u16*) (IO_ADDR_IF)) +#define WAITCNT (*(struct WaitControl*) (IO_ADDR_WAITCNT)) +#define IME (*(u16*) (IO_ADDR_IME)) + +// HELPERS + +#define BG0OFFSET (*(struct Vec2u*) (IO_ADDR_BG0HOFS)) +#define BG1OFFSET (*(struct Vec2u*) (IO_ADDR_BG1HOFS)) +#define BG2OFFSET (*(struct Vec2u*) (IO_ADDR_BG2HOFS)) +#define BG3OFFSET (*(struct Vec2u*) (IO_ADDR_BG3HOFS)) + +#define BG2AFFINE (*(struct BgAffine*)(IO_ADDR_BG2PA)) +#define BG3AFFINE (*(struct BgAffine*)(IO_ADDR_BG3PA)) + +#endif // GUARD_GBA_IO_REG_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/macro.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/macro.h new file mode 100644 index 000000000..140d4f6bf --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/macro.h @@ -0,0 +1,225 @@ +#ifndef GUARD_GBA_MACRO_H +#define GUARD_GBA_MACRO_H + +#include "syscall.h" + +#define CPU_FILL(value, dest, size, bit) \ +{ \ + vu##bit tmp = (vu##bit)(value); \ + CpuSet((void *)&tmp, \ + dest, \ + CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size)/(bit/8) & 0x1FFFFF)); \ +} + +#define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16) +#define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32) + +#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size)/(bit/8) & 0x1FFFFF)) + +#define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) +#define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) + +#define CpuFastFill(value, dest, size) \ +{ \ + vu32 tmp = (vu32)(value); \ + CpuFastSet((void *)&tmp, \ + dest, \ + CPU_FAST_SET_SRC_FIXED | ((size)/(32/8) & 0x1FFFFF)); \ +} + +#define CpuFastFill16(value, dest, size) CpuFastFill(((value) << 16) | (value), (dest), (size)) + +#define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF)) + +#define DmaSet(dmaNum, src, dest, control) \ +{ \ + vu32 *dmaRegs = (vu32 *)REG_ADDR_DMA##dmaNum; \ + dmaRegs[0] = (vu32)(src); \ + dmaRegs[1] = (vu32)(dest); \ + dmaRegs[2] = (vu32)(control); \ + dmaRegs[2]; \ +} + +#define DMA_FILL(dmaNum, value, dest, size, bit) \ +{ \ + vu##bit tmp = (vu##bit)(value); \ + DmaSet(dmaNum, \ + &tmp, \ + dest, \ + (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 \ + | ((size)/(bit/8))); \ +} + +#define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16) +#define DmaFill32(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 32) + +// Note that the DMA clear macros cause the DMA control value to be calculated +// at runtime rather than compile time. The size is divided by the DMA transfer +// unit size (2 or 4 bytes) and then combined with the DMA control flags using a +// bitwise OR operation. + +#define DMA_CLEAR(dmaNum, dest, size, bit) \ +{ \ + vu##bit *_dest = (vu##bit *)(dest); \ + u32 _size = size; \ + DmaFill##bit(dmaNum, 0, _dest, _size); \ +} + +#define DmaClear16(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 16) +#define DmaClear32(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 32) + +#define DMA_COPY(dmaNum, src, dest, size, bit) \ + DmaSet(dmaNum, \ + src, \ + dest, \ + (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 \ + | ((size)/(bit/8))) + +#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16) +#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32) + +#define DmaStop(dmaNum) \ +{ \ + vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \ + dmaRegs[5] &= ~(DMA_START_MASK | DMA_DREQ_ON | DMA_REPEAT); \ + dmaRegs[5] &= ~DMA_ENABLE; \ + dmaRegs[5]; \ +} + +#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \ +{ \ + const void *_src = src; \ + void *_dest = (void *)(dest); \ + u32 _size = size; \ + while (1) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, (block)); \ + _src += (block); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaClearLarge(dmaNum, dest, size, block, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) +#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) + +#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) +#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) + +#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = (void *)(dest); \ + u32 _size = size; \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ +} + +#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) +#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) + +#define DmaFillLarge(dmaNum, fillval, dest, size, block, bit) \ +{ \ + void *_dest = (void *)(dest); \ + u32 _size = (u32)(size); \ + while (1) \ + { \ + DmaFill##bit(dmaNum, fillval, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, fillval, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaFill16Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 16) +#define DmaFill32Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 32) + +#define DmaFillDefvars(dmaNum, fillval, dest, size, bit) \ +{ \ + void *_dest = (void *)(dest); \ + u32 _size = (u##bit)(size); \ + DmaFill##bit(dmaNum, fillval, _dest, _size); \ +} + +#define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16) +#define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32) + +// from pokeemerald +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define MAX_DMA_REQUESTS 128 + +#define DMA_REQUEST_COPY32 1 +#define DMA_REQUEST_FILL32 2 +#define DMA_REQUEST_COPY16 3 +#define DMA_REQUEST_FILL16 4 + +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + +#endif // GUARD_GBA_MACRO_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/syscall.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/syscall.h new file mode 100644 index 000000000..5cdf01018 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/syscall.h @@ -0,0 +1,61 @@ +#ifndef GUARD_GBA_SYSCALL_H +#define GUARD_GBA_SYSCALL_H + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +void Halt(void); +void Stop(void); + +noreturn void SoftReset(void); +void RegisterRamReset(unsigned flags); + +void IntrWait(bool waitNew, unsigned interruptFlags); +void VBlankIntrWait(void); + +unsigned GetBiosChecksum(void); + +int Div(int a, int b) PUREFUNC; +int Mod(int a, int b) PUREFUNC; +int DivArm(int b, int a) PUREFUNC; +int Sqrt(int n) PUREFUNC; +int ArcTan(int n) PUREFUNC; +int ArcTan2(int x, int y) PUREFUNC; + +void BitUnPack(const void* src, void* dst, const struct BitUnPackInfo* info); +void LZ77UnComp8bit(const void* src, void* dst); +void LZ77UnComp16bit(const void* src, void* dst); +void HuffUnComp(const void* src, void* dst); +void RLUnComp8bit(const void* src, void* dst); +void RLUnComp16bit(const void* src, void* dst); +void Diff8bitUnFilter8bit(const void* src, void* dst); +void Diff8bitUnFilter16bit(const void* src, void* dst); +void Diff16bitUnFilter(const void* src, void* dst); + +void CpuSet(const void* src, void* dst, unsigned config); +void CpuFastSet(const void* src, void* dst, unsigned config); + +#ifdef __cplusplus +} +#endif // __cplusplus + +#define RESET_EWRAM 0x01 +#define RESET_IWRAM 0x02 +#define RESET_PALETTE 0x04 +#define RESET_VRAM 0x08 +#define RESET_OAM 0x10 +#define RESET_SIO_REGS 0x20 +#define RESET_SOUND_REGS 0x40 +#define RESET_REGS 0x80 +#define RESET_ALL 0xFF + +#define CPU_SET_SRC_FIXED 0x01000000 +#define CPU_SET_16BIT 0x00000000 +#define CPU_SET_32BIT 0x04000000 + +#define CPU_FAST_SET_SRC_FIXED 0x01000000 + +#endif // GUARD_GBA_SYSCALL_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gba/types.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/types.h new file mode 100644 index 000000000..9e72aedd2 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gba/types.h @@ -0,0 +1,274 @@ +#ifndef GBA_TYPES_INCLUDED +#define GBA_TYPES_INCLUDED + +#include +#include +#include + +#ifdef __cplusplus +# define noreturn +#else +# include +#endif + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; +typedef int8_t s8; +typedef int16_t s16; +typedef int32_t s32; +typedef int64_t s64; + +typedef volatile u8 vu8; +typedef volatile u16 vu16; +typedef volatile u32 vu32; +typedef volatile u64 vu64; +typedef volatile s8 vs8; +typedef volatile s16 vs16; +typedef volatile s32 vs32; +typedef volatile s64 vs64; + +struct DispControl +{ + unsigned bgMode : 3; + unsigned : 1; // cgbMode + unsigned bmpFrameNum : 1; + unsigned hblankIntervalFree : 1; + unsigned obj1dMap : 1; + unsigned forcedBlank : 1; + unsigned enableBg0 : 1; + unsigned enableBg1 : 1; + unsigned enableBg2 : 1; + unsigned enableBg3 : 1; + unsigned enableObj : 1; + unsigned enableWin0 : 1; + unsigned enableWin1 : 1; + unsigned enableObjWin : 1; +}; + +struct DispStat +{ + unsigned vblank : 1; + unsigned hblank : 1; + unsigned vcount : 1; + unsigned vblankIrqEnable : 1; + unsigned hblankIrqEnable : 1; + unsigned vcountIrqEnable : 1; + unsigned : 2; + unsigned vcountCompare : 8; +}; + +struct BgControl +{ + unsigned priority : 2; + unsigned tileBaseBlock : 2; + unsigned : 2; + unsigned mosaic : 1; + unsigned colorMode : 1; + unsigned mapBaseBlock : 5; + unsigned wrap : 1; + unsigned screenSize : 2; +}; + +struct WinControl +{ + unsigned win0_enableBg0 : 1; + unsigned win0_enableBg1 : 1; + unsigned win0_enableBg2 : 1; + unsigned win0_enableBg3 : 1; + unsigned win0_enableObj : 1; + unsigned win0_enableBlend : 1; + unsigned : 2; + + unsigned win1_enableBg0 : 1; + unsigned win1_enableBg1 : 1; + unsigned win1_enableBg2 : 1; + unsigned win1_enableBg3 : 1; + unsigned win1_enableObj : 1; + unsigned win1_enableBlend : 1; + unsigned : 2; + + unsigned wout_enableBg0 : 1; + unsigned wout_enableBg1 : 1; + unsigned wout_enableBg2 : 1; + unsigned wout_enableBg3 : 1; + unsigned wout_enableObj : 1; + unsigned wout_enableBlend : 1; + unsigned : 2; + + unsigned wobj_enableBg0 : 1; + unsigned wobj_enableBg1 : 1; + unsigned wobj_enableBg2 : 1; + unsigned wobj_enableBg3 : 1; + unsigned wobj_enableObj : 1; + unsigned wobj_enableBlend : 1; + unsigned : 2; +}; + +struct BlendControl +{ + unsigned target1_enableBg0 : 1; + unsigned target1_enableBg1 : 1; + unsigned target1_enableBg2 : 1; + unsigned target1_enableBg3 : 1; + unsigned target1_enableObj : 1; + unsigned target1_backdrop : 1; + + unsigned effect : 2; + + unsigned target2_enableBg0 : 1; + unsigned target2_enableBg1 : 1; + unsigned target2_enableBg2 : 1; + unsigned target2_enableBg3 : 1; + unsigned target2_enableObj : 1; + unsigned target2_backdrop : 1; + + unsigned : 2; +}; + +enum +{ + // for use with BlendControl::effect + + BLEND_EFFECT_NONE = 0, + BLEND_EFFECT_ALPHA = 1, + BLEND_EFFECT_BRIGHTEN = 2, + BLEND_EFFECT_DARKEN = 3, +}; + +struct BlendAlpha +{ + unsigned eva : 5; + unsigned : 3; + unsigned evb : 5; + unsigned : 3; +}; + +struct KeyControl +{ + unsigned keys : 14; + unsigned enable : 1; + unsigned condition : 1; +}; + +// Multi-player SIO Control Structure +struct SioMultiControl +{ + u16 baudRate:2; // baud rate + u16 si:1; // SI terminal + u16 sd:1; // SD terminal + u16 id:2; // ID + u16 error:1; // error flag + u16 enable:1; // SIO enable + u16 unused_11_8:4; + u16 mode:2; // communication mode (should equal 2) + u16 intrEnable:1; // IRQ enable + u16 unused_15:1; + u16 data; // data +}; + +#define ST_SIO_MULTI_MODE 2 // Multi-player communication mode + +// baud rate +#define ST_SIO_9600_BPS 0 // 9600 bps +#define ST_SIO_38400_BPS 1 // 38400 bps +#define ST_SIO_57600_BPS 2 // 57600 bps +#define ST_SIO_115200_BPS 3 // 115200 bps + +struct WaitControl +{ + unsigned sramWait : 2; + + unsigned ws0WaitFirst : 2; + unsigned ws0WaitSecond : 1; + + unsigned ws1WaitFirst : 2; + unsigned ws1WaitSecond : 1; + + unsigned ws2WaitFirst : 2; + unsigned ws2WaitSecond : 1; + + unsigned phi : 2; + unsigned : 1; + + unsigned prefetch : 1; + unsigned gamepakType : 1; +}; + +enum +{ + WAIT_FIRST_4CYCLES = 0, + WAIT_FIRST_3CYCLES = 1, + WAIT_FIRST_2CYCLES = 2, + WAIT_FIRST_8CYCLES = 3, +}; + +enum +{ + WAIT_SECOND_XCYCLES = 0, + WAIT_SECOND_1CYCLES = 1, +}; + +struct BgAffine +{ + u16 pa; + u16 pb; + u16 pc; + u16 pd; + u32 x; + u32 y; +}; + +// For use with BitUnPack +struct BitUnPackInfo +{ + unsigned sourceLength : 16; + unsigned widthSource : 8; // 1, 2, 4, 8 + unsigned widthDest : 8; // 1, 2, 4, 8, 16, 32 + unsigned addend : 31; + unsigned addToZero : 1; +}; + +// Key masks +enum +{ + KEY_BUTTON_A = (1 << 0), + KEY_BUTTON_B = (1 << 1), + KEY_BUTTON_START = (1 << 2), + KEY_BUTTON_SELECT = (1 << 3), + KEY_DPAD_RIGHT = (1 << 4), + KEY_DPAD_LEFT = (1 << 5), + KEY_DPAD_UP = (1 << 6), + KEY_DPAD_DOWN = (1 << 7), + KEY_BUTTON_R = (1 << 8), + KEY_BUTTON_L = (1 << 9), +}; + +// Interrupt masks +enum +{ + INTERRUPT_VBLANK = (1 << 0), + INTERRUPT_HBLANK = (1 << 1), + INTERRUPT_VCOUNT = (1 << 2), + INTERRUPT_TIMER0 = (1 << 3), + INTERRUPT_TIMER1 = (1 << 4), + INTERRUPT_TIMER2 = (1 << 5), + INTERRUPT_TIMER3 = (1 << 6), + INTERRUPT_SIO = (1 << 7), + INTERRUPT_DMA0 = (1 << 8), + INTERRUPT_DMA1 = (1 << 9), + INTERRUPT_DMA2 = (1 << 10), + INTERRUPT_DMA3 = (1 << 11), + INTERRUPT_KEYPAD = (1 << 12), + INTERRUPT_13 = (1 << 13), +}; + +// Utility types + +struct Vec2 { short x, y; }; +struct Vec2l { int x, y; }; +struct Vec2u { unsigned short x, y; }; +struct Vec2lu { unsigned x, y; }; + +#endif // GBA_TYPES_INCLUDED diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe.h new file mode 100644 index 000000000..d653df58e --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe.h @@ -0,0 +1,50 @@ +#ifndef GBAFE_H +#define GBAFE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "gba/gba.h" + +#include "gbafe/armfunc.h" +#include "gbafe/random.h" +#include "gbafe/hardware.h" +#include "gbafe/vramtransfer.h" +#include "gbafe/proc.h" +#include "gbafe/text.h" +#include "gbafe/face.h" +#include "gbafe/ap.h" +#include "gbafe/hiobj.h" +#include "gbafe/compress.h" +#include "gbafe/game.h" +#include "gbafe/item.h" +#include "gbafe/unit.h" +#include "gbafe/map.h" +#include "gbafe/menu.h" +#include "gbafe/targetselect.h" +#include "gbafe/standunit.h" +#include "gbafe/mu.h" +#include "gbafe/trap.h" +#include "gbafe/action.h" +#include "gbafe/chapterdata.h" +#include "gbafe/animinterpreter.h" +#include "gbafe/ai.h" +#include "gbafe/sound.h" +#include "gbafe/debugprint.h" +#include "gbafe/other.h" +#include "gbafe/popup.h" +#include "gbafe/icon.h" +#include "gbafe/sram.h" +#include "gbafe/save.h" +#include "gbafe/event.h" +#include "gbafe/battle.h" +#include "gbafe/support.h" +#include "gbafe/wm.h" +#include "gbafe/dialogue.h" + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // GBAFE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/action.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/action.h new file mode 100644 index 000000000..ff8b11dd7 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/action.h @@ -0,0 +1,88 @@ +#ifndef GBAFE_ACTION_H +#define GBAFE_ACTION_H + +#include "common.h" + +typedef struct ActionData ActionData; + +struct ActionData { + // unknown stuff (sometimes RNs are pushed here) (maybe an union?) + /* 00 */ u16 _u00[3]; + /* 06 */ u16 unk6; + + /* 08 */ u16 unk08[2]; + + /* 0C */ u8 subjectIndex; + /* 0D */ u8 targetIndex; + + /* 0E */ u8 xMove; + /* 0F */ u8 yMove; + + /* 10 */ u8 moveCount; + + /* 11 */ u8 unitActionType; + + // maybe from this onwards it's an union? + + /* 12 */ u8 itemSlotIndex; + /* 13 */ u8 xOther; + /* 14 */ u8 yOther; + /* 15 */ u8 trapType; + + /* 16 */ u8 suspendPointType; +}; + +enum { + // 0x00? + UNIT_ACTION_WAIT = 0x01, + UNIT_ACTION_COMBAT = 0x02, + UNIT_ACTION_STAFF = 0x03, + UNIT_ACTION_DANCE = 0x04, + // 0x05? + UNIT_ACTION_STEAL = 0x06, + UNIT_ACTION_SUMMON = 0x07, + UNIT_ACTION_SUMMON_DK = 0x08, + UNIT_ACTION_RESCUE = 0x09, + UNIT_ACTION_DROP = 0x0A, + UNIT_ACTION_TAKE = 0x0B, + UNIT_ACTION_GIVE = 0x0C, + // 0x0D? + UNIT_ACTION_TALK = 0x0E, + UNIT_ACTION_SUPPORT = 0x0F, + UNIT_ACTION_VISIT = 0x10, + UNIT_ACTION_SEIZE = 0x11, + UNIT_ACTION_DOOR = 0x12, + // 0x13? + UNIT_ACTION_CHEST = 0x14, + UNIT_ACTION_PICK = 0x15, + // 0x16? + UNIT_ACTION_SHOPPED = 0x17, + // 0x18? + UNIT_ACTION_ARENA = 0x19, + UNIT_ACTION_USE_ITEM = 0x1A, + // 0x1B? + // 0x1C? + UNIT_ACTION_TRADED = 0x1D, + // 0x1E? + // 0x1F? + // 0x20? + UNIT_ACTION_RIDE_BALLISTA = 0x21, + UNIT_ACTION_EXIT_BALLISTA = 0x22, +}; + +enum { + SUSPEND_POINT_PLAYERIDLE = 0, + SUSPEND_POINT_DURINGACTION = 1, + SUSPEND_POINT_CPPHASE = 2, + SUSPEND_POINT_BSKPHASE = 3, + SUSPEND_POINT_DURINGARENA = 4, + SUSPEND_POINT_5 = 5, + SUSPEND_POINT_6 = 6, + SUSPEND_POINT_7 = 7, + SUSPEND_POINT_8 = 8, + SUSPEND_POINT_PHASECHANGE = 9 +}; + +extern struct ActionData gActionData; //! FE8U = (0x0203A958) + +#endif // GBAFE_ACTION_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ai.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ai.h new file mode 100644 index 000000000..91706d5fe --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ai.h @@ -0,0 +1,100 @@ +#ifndef GBAFE_AI_H +#define GBAFE_AI_H + +#include "common.h" + +typedef struct AiDecision AiDecision; +typedef struct AiData AiData; + +typedef void(*CpOrderFunc)(struct Proc*); +typedef int(*CpPerformFunc)(struct Proc*); +typedef void(*AiDecitionMakerFunc)(void); +typedef int(*AiUnitPredicate)(struct Unit*); + +struct AiDecision +{ + /* 00 */ u8 decisionType; + + /* 01 */ u8 unitIndex; + + /* 02 */ u8 xMovement; + /* 03 */ u8 yMovement; + + /* 04 */ u8 _pad04[0x06 - 0x04]; + + /* 06 */ u8 unitTargetIndex; + + /* 07 */ u8 paramA; + /* 08 */ u8 paramB; + /* 09 */ u8 paramC; + + /* 0A */ u8 decisionTaken; +}; + +struct AiData +{ + /* 00 */ u8 aiUnits[0x74]; + + /* 74 */ u8* aiUnitIt; + + /* 78 */ u8 cpOrderNext; + /* 79 */ u8 cpDecideNext; + + /* 7A */ u8 dangerMapActive; + + /* 7B */ u8 aiConfig; + + /* 7C */ u8 unk7C; + /* 7D */ u8 battleDecisionWeightTableId; + /* 7E */ u8 unk7E; + /* 7F */ u8 unk7F; + /* 80 */ u32 specialItemsConfig; + /* 84 */ u8 unk84; + /* 85 */ u8 highestBlueMov; + /* 86 */ u8 scrResult; + + /* 87 */ u8 unk87[0x90 - 0x87]; + + /* 90 */ struct AiDecision decision; +}; + +enum { + AI_DECISION_NONE = 0, + AI_DECISION_COMBAT = 1, + // 2? + AI_DECISION_STEAL = 3, + AI_DECISION_LOOT = 4, + AI_DECISION_STAFF = 5, + AI_DECISION_CHEST = 6, + AI_DECISION_DANCE = 7, + AI_DECISION_TALK = 8, +}; + +extern struct AiData gAiData; + +extern AiDecitionMakerFunc gpAiDecisionMaker; + +extern const struct ProcInstruction gProc_CpOrder[]; +extern const struct ProcInstruction gProc_CpDecide[]; + +// TODO: address comments for reference + +int MakeAiUnitQueue(void); +void SortAiUnitQueue(int size); +void ClearAiDecision(void); + +void AiDecisionMaker_HealEscape(void); +void AiDecisionMaker_AiScript1(void); +void AiDecisionMaker_AiScript2(void); +void AiDecisionMaker_SpecialItems(void); + +void AiFillMovementMapForUnit(struct Unit*); +int GetAiSafestAccessibleAdjacentPosition(int x, int y, struct Vec2* out); +void AiSetDecision(int xPos, int yPos, int actionId, int targetId, int a, int b, int c); +void AiUpdateDecision(int actionId, int targetId, int a, int b, int c); +s8 AreAllegiancesAllied(int factionA, int factionB); + +s8 AiGetClosestUnitPosition(AiUnitPredicate pred, struct Vec2* result); //!< FE8U:0803A925 +void AiTryMoveTowards(int x, int y, int decisionId, int safetyThreshold, int ignoreEnemies); //!< FE8U:0803BA09 + +#endif // GBAFE_AI_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/animinterpreter.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/animinterpreter.h new file mode 100644 index 000000000..d9877e98a --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/animinterpreter.h @@ -0,0 +1,53 @@ +#ifndef GBAFE_ANIMINTERPRETER_H +#define GBAFE_ANIMINTERPRETER_H + +#include "common.h" + +typedef struct AnimationInterpreter AnimationInterpreter; +typedef struct AnimationInterpreter AIStruct; + +struct AnimationInterpreter { + /* 00 */ u16 state; + /* 02 */ s16 xPosition; + /* 04 */ s16 yPosition; + /* 06 */ u16 delayTimer; + /* 08 */ u16 oam2base; + /* 0A */ u16 drawLayerPriority; + /* 0C */ u16 state2; + /* 0E */ u16 nextRoundId; + /* 10 */ u16 state3; + /* 12 */ u8 currentRoundType; + /* 13 */ u8 frameIndex; + + /* 14 */ u8 queuedCommandCount; + /* 15 */ u8 commandQueue[0xB]; + + /* 20 */ const void* pCurrentFrame; + /* 24 */ const void* pStartFrame; + /* 28 */ const void* pUnk28; + /* 2C */ const void* pUnk2C; + /* 30 */ const void* pStartObjData; // aka "OAM data" + + /* 34 */ struct AnimationInterpreter* pPrev; + /* 38 */ struct AnimationInterpreter* pNext; + + /* 40 */ const void* pUnk40; + /* 44 */ const void* pUnk44; +}; + +extern u8 gBattleCharacterIndices[2]; //! FE8U = 0x203E190 + +void UpdateAISs(void); //! FE8U = 0x8004E41 +void ClearAISs(void); //! FE8U = 0x8004EB9 +struct AnimationInterpreter* CreateAIS(const u32* animScript, int depth); //! FE8U = 0x8004F49 +void SortAISs(void); //! FE8U = 0x8004FAD +void DeleteAIS(struct AnimationInterpreter* ais); //! FE8U = 0x8005005 +void DisplayAIS(struct AnimationInterpreter* ais); //! FE8U = 0x8005035 + +int GetAISSubjectId(const struct AnimationInterpreter*); //! FE8U = 0x805A16D +int IsBatteRoundTypeAMiss(u16); //! FE8U = 0x805A185 +int GetBattleAnimRoundType(int index); //! FE8U = 0x8058A0D + +void StartEkrNamewinAppear(int, int, int); + +#endif // GBAFE_ANIMINTERPRETER_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ap.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ap.h new file mode 100644 index 000000000..031f79312 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/ap.h @@ -0,0 +1,44 @@ +#ifndef GBAFE_AP_H +#define GBAFE_AP_H + +#include "common.h" +#include "proc.h" + +// I used to call those "TCS" in my doc -Stan + +typedef struct APHandle APHandle; +typedef struct APHandle AnimHandle; +typedef struct APHandle TCStruct; + +struct APHandle { + /* 00 */ const u16* pDefinition; // Pointer to Definition Root + /* 04 */ const u16* pFrameData; // Pointer to Frame Data Array + /* 08 */ const u16* pAnimDataStart; // Pointer to Current Anim Data (Start, where we go back on loop) + /* 0C */ const u16* pAnimDataCurrent; // Pointer to Current Anim Data (Cursor, where we are now) + /* 10 */ const u16* pCurrentObjData; // Pointer to Current Obj Data + /* 14 */ const u16* pCurrentRotScale; // Pointer to Current Rot/Scale Data + /* 18 */ s16 frameTimer; // Cycle Timer + /* 1A */ u16 frameInterval; // Cycle Time Step (0x100 is one frame) + /* 1C */ u16 subframeTimer; // Sub frame time offset or something + /* 1E */ u16 objLayer; // HiObj layer + /* 20 */ u8 gfxNeedsUpdate; // bool defining whether gfx needs update + /* 21 */ u8 rotScaleIndex; // Rotation/Scale OAM Index + /* 22 */ u16 tileBase; // OAM Extra Data (Tile Index Root & OAM2 Stuff) + /* 24 */ const void* pGraphics; // Pointer to graphics (if any) +}; + +extern struct APHandle gApPool[]; + +struct APHandle* AP_Create(const void *definition, int depth); //! FE8U = (0x0800927C+1) +void AP_Delete(struct APHandle* ap); //! FE8U = (0x080092A4+1) +void AP_Update(struct APHandle* ap, u16 x, u16 y); //! FE8U = (0x080092BC+1) +void AP_SetAnimation(struct APHandle* ap, int index); //! FE8U = (0x08009518+1) +void AP_SetDefinition(struct APHandle* ap, const void* definition); //! FE8U = (0x08009548+1) + +struct Proc* APProc_Create(const void* definition, u16 x, u16 y, u16 tileBase, int animIndex, int depth); //! FE8U = (0x08009718+1) +void APProc_SetParameters(struct Proc* apProc, u16 x, u16 y, u16 tileBase); //! FE8U = (0x08009798+1) +void APProc_Delete(struct Proc*); //! FE8U = (0x080097B4+1) +void APProc_DeleteAll(void); //! FE8U = (0x080097C0+1) +int APProc_Exists(void); //! FE8U = (0x080097D1) + +#endif // GBAFE_AP_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/armfunc.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/armfunc.h new file mode 100644 index 000000000..5871e2f51 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/armfunc.h @@ -0,0 +1,21 @@ +#ifndef GBAFE_ARMFUNC_H +#define GBAFE_ARMFUNC_H + +#include "common.h" +#include "hiobj.h" + +void RamFuncInit(void); //! FE8U = 0x8002AF9 + +void HuffmanTextDecomp(const char* source, char* target); //! FE8U = 0x8002BA5 +void FillMovementMapCore(void); //! FE8U = 0x8002BF5 + +void BgMap_ApplyTsa(u16* target, const void* source, u16 tileBase); //! FE8U = 0x80D74A1 +void BgMapFillRect(u16* target, int width, int height, int value); //! FE8U = 0x80D74A9 +void BgMapCopyRect(const u16* source, u16* target, int width, int height); //! FE8U = 0x80D74B9 + +// decomp compat +#define StoreRoutinesToIRAM RamFuncInit +#define CallARM_DecompText HuffmanTextDecomp +#define CallARM_FillMovementMap FillMovementMapCore + +#endif // GBAFE_ARMFUNC_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/battle.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/battle.h new file mode 100644 index 000000000..581923882 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/battle.h @@ -0,0 +1,173 @@ +#ifndef GBAFE_BATTLE_H +#define GBAFE_BATTLE_H + +#include "unit.h" + +enum { + // Battle-related magic constants + + // Maximum amount of hits that can happen in a battle (-1, because of the terminating "hit") + BATTLE_HIT_MAX = 7, + + // Followup attack (double attack) attack speed difference threshold + BATTLE_FOLLOWUP_SPEED_THRESHOLD = 4, + + // Maximum battle damage + BATTLE_MAX_DAMAGE = 127, +}; + +struct BattleUnit { + /* 00 */ struct Unit unit; + + /* 48 */ u16 weapon; + /* 4A */ u16 weaponBefore; + /* 4C */ u32 weaponAttributes; + /* 50 */ u8 weaponType; + /* 51 */ u8 weaponSlotIndex; + + /* 52 */ s8 canCounter; + + /* 53 */ s8 wTriangleHitBonus; + /* 54 */ s8 wTriangleDmgBonus; + + /* 55 */ u8 terrainId; + /* 56 */ s8 terrainDefense; + /* 57 */ s8 terrainAvoid; + /* 58 */ s8 terrainResistance; + /* 59 */ /* pad */ + + /* 5A */ short battleAttack; + /* 5C */ short battleDefense; + /* 5E */ short battleSpeed; + /* 60 */ short battleHitRate; + /* 62 */ short battleAvoidRate; + /* 64 */ short battleEffectiveHitRate; + /* 66 */ short battleCritRate; + /* 68 */ short battleDodgeRate; + /* 6A */ short battleEffectiveCritRate; + /* 6C */ short battleSilencerRate; + + /* 6E */ s8 expGain; + /* 6F */ s8 statusOut; + /* 70 */ u8 levelPrevious; + /* 71 */ u8 expPrevious; + + /* 72 */ u8 hpInitial; + + /* 73 */ s8 changeHP; + /* 74 */ s8 changePow; + /* 75 */ s8 changeSkl; + /* 76 */ s8 changeSpd; + /* 77 */ s8 changeDef; + /* 78 */ s8 changeRes; + /* 79 */ s8 changeLck; + /* 7A */ s8 changeCon; + + /* 7B */ s8 wexpMultiplier; + /* 7C */ s8 nonZeroDamage; + /* 7D */ s8 weaponBroke; + + /* 7E */ s8 hasItemEffectTarget; + /* 7F */ /* pad */ +}; + +struct BattleStats { + /* 00 */ u16 config; + + /* 02 */ u8 range; + + /* 04 */ short damage; + /* 06 */ short attack; + /* 08 */ short defense; + /* 0A */ short hitRate; + /* 0C */ short critRate; + /* 0E */ short silencerRate; + + /* 10 */ struct Unit* taUnitA; + /* 14 */ struct Unit* taUnitB; +}; + +enum { + // For use with BattleStats:config + + BATTLE_CONFIG_REAL = (1 << 0), + BATTLE_CONFIG_SIMULATE = (1 << 1), + BATTLE_CONFIG_BIT2 = (1 << 2), + BATTLE_CONFIG_BALLISTA = (1 << 3), + BATTLE_CONFIG_BIT4 = (1 << 4), + BATTLE_CONFIG_ARENA = (1 << 5), + BATTLE_CONFIG_REFRESH = (1 << 6), + BATTLE_CONFIG_MAPANIMS = (1 << 7), + BATTLE_CONFIG_PROMOTION = (1 << 8), + BATTLE_CONFIG_DANCERING = (1 << 9), +}; + +struct BattleHit { + /* 00:18 */ unsigned attributes : 19; + /* 19:23 */ unsigned info : 5; + /* 24:31 */ signed hpChange : 8; +}; + +enum { + BATTLE_HIT_ATTR_CRIT = (1 << 0), + BATTLE_HIT_ATTR_MISS = (1 << 1), + BATTLE_HIT_ATTR_FOLLOWUP = (1 << 2), + BATTLE_HIT_ATTR_RETALIATE = (1 << 3), + BATTLE_HIT_ATTR_BRAVE = (1 << 4), + BATTLE_HIT_ATTR_5 = (1 << 5), // unused? + BATTLE_HIT_ATTR_POISON = (1 << 6), + BATTLE_HIT_ATTR_DEVIL = (1 << 7), + BATTLE_HIT_ATTR_HPSTEAL = (1 << 8), + BATTLE_HIT_ATTR_HPHALVE = (1 << 9), + BATTLE_HIT_ATTR_TATTACK = (1 << 10), // triangle attack! + BATTLE_HIT_ATTR_SILENCER = (1 << 11), + BATTLE_HIT_ATTR_12 = (1 << 12), // unused? + BATTLE_HIT_ATTR_PETRIFY = (1 << 13), + BATTLE_HIT_ATTR_SURESHOT = (1 << 14), + BATTLE_HIT_ATTR_GREATSHLD = (1 << 15), + BATTLE_HIT_ATTR_PIERCE = (1 << 16), + BATTLE_HIT_ATTR_17 = (1 << 17), // unused? + BATTLE_HIT_ATTR_18 = (1 << 18), // unused? +}; + +enum { + BATTLE_HIT_INFO_BEGIN = (1 << 0), + BATTLE_HIT_INFO_FINISHES = (1 << 1), + BATTLE_HIT_INFO_KILLS_TARGET = (1 << 2), + BATTLE_HIT_INFO_RETALIATION = (1 << 3), + BATTLE_HIT_INFO_END = (1 << 4), +}; + +enum { + // Special item slot identifiers understood by SetBattleUnitWeapon and other functions + + BU_ISLOT_AUTO = -1, + BU_ISLOT_5 = UNIT_ITEM_COUNT + 0, + BU_ISLOT_ARENA_PLAYER = UNIT_ITEM_COUNT + 1, + BU_ISLOT_ARENA_OPPONENT = UNIT_ITEM_COUNT + 2, + BU_ISLOT_BALLISTA = UNIT_ITEM_COUNT + 3, +}; + +// Public objects + +extern struct BattleStats gBattleStats; + +extern struct BattleUnit gBattleActor; +extern struct BattleUnit gBattleTarget; + +extern struct BattleHit gBattleHitArray[BATTLE_HIT_MAX]; +extern struct BattleHit* gBattleHitIterator; + +// Functions + +int GetStatIncrease(int growth); //! FE8U = 0x802B9A1 + +int BattleUnit_ShouldDisplayWpnBroke(struct BattleUnit* bu); //! FE8U = 0x807A771 +int BattleUnit_ShouldDisplayWRankUp(struct BattleUnit* bu); //! FE8U = 0x802C1B1 +int CanBattleUnitGainLevels(struct BattleUnit* bu); //! FE8U = +void CheckBattleUnitLevelUp(struct BattleUnit* bu); //! FE8U = +void InitBattleUnit(struct BattleUnit* bu, struct Unit *unit); +void SetupMapBattleAnim(struct BattleUnit* bu, struct BattleHit *bh); +extern ProcInstruction gProc_BattleAnimSimpleLock[]; + +#endif // GBAFE_BATTLE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/chapterdata.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/chapterdata.h new file mode 100644 index 000000000..0911139aa --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/chapterdata.h @@ -0,0 +1,144 @@ +#ifndef GBAFE_CHAPTERDATA_H +#define GBAFE_CHAPTERDATA_H + +#include "common.h" + +typedef struct ChapterState ChapterState; + +struct ROMChapterData { + /* 00 */ const char* internalName; + + /* 04 */ u8 mapObj1Id; + /* 05 */ u8 mapObj2Id; + /* 06 */ u8 mapPaletteId; + /* 07 */ u8 mapTileConfigId; + /* 08 */ u8 mapMainLayerId; + /* 09 */ u8 mapTileAnim1Id; + /* 0A */ u8 mapTileAnim2Id; + /* 0B */ u8 mapChangeLayerId; + + /* 0C */ u8 initialFogLevel; + /* 0D */ u8 _unk0D; + + /* 0E */ u8 _unk10[0x12 - 0x0E]; + + /* 12 */ u8 initialWeather; + /* 13 */ u8 battleTileSet; + + // This may need a type change. + /* 14 */ u16 easyModeLevelMalus : 4; + /* 14 */ u16 normalModeLevelMalus : 4; + /* 14 */ u16 difficultModeLevelBonus : 4; + + // 0 for blue phase, 1 for red phase, 2 for green phase, 3-5 unknown/maybe unused + // 6 for blue/green alt, 7 for red alt + /* 16 */ u16 mapSongIndices[8]; + + /* 26 */ u16 factionRelations; // Unused in vanilla, Used by fourth allegiance + /* 28 */ u16 mapSpritePaletteId; // Unused in vanilla, Used by per chapter faction palette hack + /* 2A */ u8 _unk26[0x2C - 0x2A]; + + /* 2C */ u8 mapCrackedWallHeath; + + /* 2D */ u8 _unk2D[0x70 - 0x2D]; + /* 70 */ u32 unk70; + + /* 74 */ u8 mapEventDataId; + /* 75 */ u8 gmapEventId; + + /* 76 */ u8 _unk76[0x80 - 0x76]; + + /* 80 */ u8 prepScreenNumber; + + /* 81 */ u8 _unk81[0x86 - 0x81]; + + /* 86 */ u8 victorySongEnemyThreshold; + /* 87 */ u8 boolFadeToBlack; + + /* 88 */ u16 statusObjectiveTextId; + /* 8A */ u16 goalWindowTextId; + /* 8C */ u8 goalWindowDataType; + /* 8D */ u8 goalWindowEndTurnNumber; + /* 8E */ u8 protectCharacterIndex; + + /* 8F */ u8 xMarkedTile; + /* 90 */ u8 yMarkedTile; + + /* 91 */ u8 _unk91[0x94 - 0x91]; +}; + +struct ChapterState { + /* 00 */ u32 _u00; + /* 04 */ u32 _u04; + /* 08 */ u32 goldAmount; + /* 0C */ u8 saveSlotIndex; + /* 0D */ u8 visionRange; + /* 0E */ u8 chapterIndex; + /* 0F */ u8 currentPhase; + /* 10 */ u16 turnNumber; + /* 12 */ u8 xCursorSaved; + /* 13 */ u8 yCursorSaved; + /* 14 */ u8 chapterStateBits; + /* 15 */ u8 weather; + /* 16 */ u16 supportGainTotal; + /* 18 */ u8 playthroughId; + /* 19 */ u8 _u19; + /* 1A */ u8 lastUnitListSortType; + /* 1B */ u8 mode; + /* 1C */ u8 unk1C[4]; // Weapon type lookup by weapon specifying which character ids may bypass the unusable bit????? (see FE8U:80174AC) + + /* 20 */ char playerName[0x2B - 0x20]; // unused outside of link arena (was tactician name in FE7); Size unknown + + /* 2B */ + u32 unk2B_1:1; + u32:0; + + /* 2C */ + u32 unk2C_1:1; + u32 unk2C_2:3; + u32 unk2C_5:9; + u32 unk2D_6:10; + u32 unk2E_8:5; + + /* 30 */ u32 fundsTotalDifference; + /* 34 */ u32 unk34; + + /* 38 */ u8 pad38[0x40 - 0x38]; + + // option byte 1 (of 3) + u32 unk40_1:1; + u32 terrainWindowOption:1; + u32 unitWindowOption:2; + u32 autocursorOption:1; + u32 textSpeedOption:2; + u32 gameSpeedOption:1; + + u32 unk41_1:1; + u32 muteSfxOption:1; + u32 unk41_3:5; + u32 subtitleHelpOption:1; + + u32 unk42_1:1; + u32 unk42_2:1; + u32 unk42_3:1; + u32 unk42_4:1; + u32 unk42_5:1; + u32 unk42_6:1; + u32 unk42_7:1; + u32 unk42_8:1; + + u32 unk43_1:8; + + u8 unk44[0x48 - 0x44]; + + u16 unk48; + + u16 unk4A_1 : 1; + u16 unk4A_2 : 3; +}; + +extern struct ChapterState gChapterData; //! FE8U = (0x202BCF0) + +const struct ROMChapterData *GetChapterDefinition(int chapterId); + +#endif // GBAFE_CHAPTERDATA_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/common.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/common.h new file mode 100644 index 000000000..642a15d09 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/common.h @@ -0,0 +1,18 @@ +#ifndef GBAFE_COMMON_H +#define GBAFE_COMMON_H + +#include +#include + +enum { + WEATHER_NONE = 0, + WEATHER_SNOW = 1, + WEATHER_SNOWSTORM = 2, + WEATHER_3 = 3, + WEATHER_RAIN = 4, + WEATHER_FLAMES = 5, + WEATHER_SANDSTORM = 6, + WEATHER_CLOUDS = 7 +}; + +#endif // GBAFE_COMMON_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/compress.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/compress.h new file mode 100644 index 000000000..1f1c73295 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/compress.h @@ -0,0 +1,13 @@ +#ifndef GBAFE_COMPRESS_H +#define GBAFE_COMPRESS_H + +#include "common.h" + +extern u8 gGenericBuffer[0x2000]; //! FE8U = 0x2020188 + +void String_CopyTo(char* target, const char* source); //! FE8U = 0x8012EC1 +void CopyNoCompData(const void* source, void* target); //! FE8U = 0x8012EDD +void Decompress(const void* source, void* target); //! FE8U = 0x8012F51 +unsigned GetNoCompDataSize(const void*); //! FE8U = 0x8012F91 + +#endif // GBAFE_COMPRESS_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/debugprint.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/debugprint.h new file mode 100644 index 000000000..0778dd619 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/debugprint.h @@ -0,0 +1,13 @@ +#ifndef GBAFE_DEBUG_PRINT_H +#define GBAFE_DEBUG_PRINT_H + +#include "common.h" + +void DebugBgFontInit(int bgIndex, unsigned gfxTileBase); //! FE8U = 0x800378D +void DebugBgPrint(u16* target, const char* string); //! FE8U = 0x8003805 +void DebugObjFontInit(int gfxObjTileBase, unsigned objPalIndex); //! FE8U = 0x8003B25 +void DebugObjPrint(int x, int y, const char* string); //! FE8U = 0x8003BB1 +void DebugObjPrintNumber(int x, int y, unsigned Number, unsigned DigitCount); //! FE8U = 0x8003BFD +void DebugObjPrintNumberHex(int x, int y, unsigned Number, unsigned DigitCount); //! FE8U = 0x8003C21 + +#endif // GBAFE_DEBUG_PRINT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/dialogue.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/dialogue.h new file mode 100644 index 000000000..ef11944fa --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/dialogue.h @@ -0,0 +1,33 @@ +#ifndef GBAFE_DIALOGUE_H +#define GBAFE_DIALOGUE_H + +#include "proc.h" + +enum +{ + // Dialogue flags + + DIALOGUE_1 = (1 << 0), + DIALOGUE_2 = (1 << 1), + DIALOGUE_NOSKIP = (1 << 2), + DIALOGUE_NOFAST = (1 << 3), + DIALOGUE_10 = (1 << 4), + DIALOGUE_20 = (1 << 5), + DIALOGUE_40 = (1 << 6), + DIALOGUE_80 = (1 << 7), + DIALOGUE_100 = (1 << 8), +}; + +// TODO: more + +void Dialogue_InitGfx(unsigned tileId, unsigned lineCount, u8 boolUseBubble); //!< FE8U:0800680D +void Dialogue_InitFont(void); //!< FE8U:08006979 +void StartDialogue(int xTile, int yTile, const char* cstring, struct Proc* parent); //!< FE8U:0800698D +void SetDialogueFlag(unsigned flag); //!< FE8U:08006AA9 +void Dialogue_SetDefaultTextColor(int color); //!< FE8U:08006B11 +void Dialogue_SetActiveFacePosition(unsigned dialogueSlot); //!< FE8U:08007839 +// void StartDialogueFace(unsigned portrait, int x, int y, unsigned display, unsigned dialogueSlot); //!< FE8U:08007939 +// void Dialogue_ClearLines(void); //!< FE8U:08008251 +int GetLastDialoguePromptResult(void); //!< FE8U:08008A01 + +#endif // GBAFE_DIALOGUE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/event.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/event.h new file mode 100644 index 000000000..529607411 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/event.h @@ -0,0 +1,28 @@ +#ifndef GBAFE_EVENT_H +#define GBAFE_EVENT_H + +enum +{ + // Event Run Kinds + + EV_RUN_WORLDMAP = 0, // for world map events + EV_RUN_CUTSCENE = 1, // for overall chapter cutscene events? + EV_RUN_GAMEPLAY = 2, // for gameplay-triggered events? (battle quotes, villages tile changes, chests, game over) + EV_RUN_QUIET = 3, // for events that should just execute events? (no fade, no clearing stuff, etc) + EV_RUN_UNK4 = 4, // not used? + EV_RUN_UNK5 = 5 // not used? +}; + +extern unsigned gEventSlot[]; +extern unsigned gEventQueue[]; + +extern unsigned gEventCounter; + +void SetEventCounter(unsigned); //! FE8U = 0x800D589 +unsigned GetEventCounter(void); //! FE8U = 0x800D595 + +void CallMapEventEngine(const void* scene, int runKind); + +unsigned CheckEventId(unsigned); + +#endif // GBAFE_EVENT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/face.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/face.h new file mode 100644 index 000000000..a8211bf6f --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/face.h @@ -0,0 +1,70 @@ +#ifndef GBAFE_FACE_H +#define GBAFE_FACE_H + +#include "proc.h" +#include "hiobj.h" + +typedef struct PortraitData PortraitData; +typedef struct FaceProc FaceProc; +typedef struct FaceGfxDefinition FaceGfxDefinition; + +struct PortraitData +{ + /* 00 */ const void* pPortraitGraphics; + /* 04 */ const void* pMiniPortraitGraphics; + /* 08 */ const u16* pPortraitPalette; + /* 0C */ const void* unk0C; + /* 10 */ const void* unk10; + /* 14 */ const void* unk14; + /* 18 */ u8 blinkBehaviorKind; + /* More */ +}; + +struct FaceProc +{ + /* 00 */ PROC_HEADER; + + /* 2C */ const PortraitData* pPortraitData; + /* 30 */ u32 displayBits; + /* 34 */ short xPosition; + /* 36 */ short yPosition; + /* 38 */ const ObjData* pObjData; + /* 3C */ u16 tileData; + /* 3E */ u16 portraitIndex; + /* 40 */ u8 faceSlotIndex; + /* 41 */ u8 objectDepth; + + /* 44 */ struct Proc* _pu44Proc; + /* 48 */ struct Proc* pEyeWinkProc; +}; + +struct FaceBlinkProc +{ + /* 00 */ PROC_HEADER; + + /* 2C */ u32 unk2C; + /* 30 */ u16 blinkControl; + /* 32 */ u16 unk32; + /* 34 */ u32 blinkInnerClock; + /* 38 */ u32 blinkIntervalClock; + /* 3C */ u16* output; + /* 40 */ u16 tileId; + /* 42 */ u16 paletteId; + /* 44 */ u16 portraitId; +}; + +struct FaceGfxDefinition +{ + const void* pTileRoot; + u16 paletteIndex; +}; + +const PortraitData* GetPortraitData(int portraitId); //! FE8U = 0x8005515 +void Face_Init(void); //! FE8U = 0x8005529 +void SetFaceGfxConfig(const FaceGfxDefinition[4]); //! FE8U = 0x8005545 +struct FaceProc* StartFace(int faceId, int portraitId, int x, int y, int idk); //! FE8U = 0x800563D +void EndFace(struct FaceProc*); //! FE8U = 0x8005739 +void EndFaceById(int index); //! FE8U = 0x8005759 +int ShouldPortraitBeSmol(int portraitId); //! FE8U = 0x8005C25 + +#endif // GBAFE_FACE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/game.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/game.h new file mode 100644 index 000000000..59cac8e06 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/game.h @@ -0,0 +1,52 @@ +#ifndef GBAFE_GAME_H +#define GBAFE_GAME_H + +// Rename to bm.h? Since it corresponds to bm.c from the proto + +#include "common.h" + +struct BattleMapState { + /* 00 */ u8 boolMainLoopEnded; // Used by vblank handler to detect "lag" + /* 01 */ u8 proc2LockCount; + /* 02 */ u8 gfxLockCount; + /* 03 */ u8 _unk03; + /* 04 */ u8 statebits; // TODO: enumerate bits + /* 06 */ u16 savedVCount; + /* 08 */ u32 _unk08; + /* 0C */ struct Vec2u cameraRealPos; + /* 10 */ struct Vec2u _unk10; + /* 14 */ struct Vec2u cursorMapPos; + /* 18 */ struct Vec2u cursorMapPosPrev; + /* 1C */ struct Vec2u _unk1C; + /* 20 */ struct Vec2u cursorDisplayRealPos; + /* 24 */ struct Vec2 _unk24; + /* 28 */ u8 _pad28[0x3C - 0x28]; + /* 3C */ u8 boolHasJustResumed; + /* 3D */ u8 partialActionTaken; // bits +}; + +enum { + PARTIAL_ACTION_RESCUE_TRANSFER = (1 << 0), // Give/Take + PARTIAL_ACTION_TRADE = (1 << 1), // Trade (unless no inventory change) + PARTIAL_ACTION_SUPPLY = (1 << 2), // Supply (unless no inventory change) + PARTIAL_ACTION_BALLISTA_RIDE = (1 << 3), // Ride/Exit +}; + +extern struct BattleMapState gGameState; + +int GetGameClock(void); //! FE8U = 0x8000D29 +void SetGameClock(int); //! FE8U = 0x8000D35 + +int LockGameLogic(void); //! FE8U = (0x08015360+1) +int UnlockGameLogic(void); //! FE8U = (0x08015370+1) +int GetGameLogicLock(void); //! FE8U = (0x08015380+1) + +// TODO: move those elsewhere +void LockGameGraphicsLogic(void); //! FE8U = 0x8030185 +void UnlockGameGraphicsLogic(void); //! FE8U = 0x80301B9 + +void ClearBG0BG1(void); //! FE8U = 0x804E885 + +void LoadGameCoreGfx(void); + +#endif // GBAFE_GAME_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hardware.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hardware.h new file mode 100644 index 000000000..41e76a0a5 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hardware.h @@ -0,0 +1,179 @@ +#ifndef GBAFE_HARDWARE_H +#define GBAFE_HARDWARE_H + +#include "gba/gba.h" + +#include "common.h" +#include "proc.h" + +typedef struct LCDIOBuffer LCDIOBuffer; +typedef struct KeyStatusBuffer KeyStatusBuffer; + +struct LCDIOBuffer +{ + /* 00 */ struct DispControl dispControl; + /* 04 */ struct DispStat dispStat; + + /* 08 */ u32 _u08; + + /* 0C */ struct BgControl bgControl[4]; + /* 1C */ struct Vec2u bgOffset[4]; + + /* 2C */ u8 win0_right, win0_left; + /* 2E */ u8 win1_right, win1_left; + /* 30 */ u8 win0_bottom, win0_top; + /* 32 */ u8 win1_bottom, win1_top; + + /* 34 */ struct WinControl winControl; + + /* 38 */ u16 mosaic; + + /* 3C */ struct BlendControl blendControl; + + /* 40 */ u32 _u40; + /* 44 */ u8 blendCoeffA; + /* 45 */ u8 blendCoeffB; + /* 46 */ u8 blendY; + + /* 48 */ u16 bg2pa; + /* 4A */ u16 bg2pb; + /* 4C */ u16 bg2pc; + /* 4E */ u16 bg2pd; + /* 50 */ u32 bg2x; + /* 54 */ u32 bg2y; + + /* 58 */ u16 bg3pa; + /* 5A */ u16 bg3pb; + /* 5C */ u16 bg3pc; + /* 5E */ u16 bg3pd; + /* 60 */ u32 bg3x; + /* 64 */ u32 bg3y; + + /* 68 */ s8 colorAddition; +}; + +struct KeyStatusBuffer +{ + u8 repeatDelay; // initial delay before generating auto-repeat presses + u8 repeatInterval; // time between auto-repeat presses + u8 repeatTimer; // (decreased by one each frame, reset to repeatDelay when Presses change and repeatInterval when reaches 0) + u16 heldKeys; // keys that are currently held down + u16 repeatedKeys; // auto-repeated keys + u16 pressedKeys; // keys that went down this frame + u16 prevKeys; // keys that were held down last frame + u16 lastPressKeys; // keys that were held down last time a new key was + u16 ABLRPressed; // 1 for Release (A B L R Only), 0 Otherwise + u16 newKeys2; + u16 timeSinceNonStartSelect; // Time since last Non-Start Non-Select Button was pressed +}; + +extern struct LCDIOBuffer gLCDIOBuffer; //! FE8U = 0x3003080 + +extern u16 gPaletteBuffer[0x200]; //! FE8U = 0x20228A8 + +extern u16 gBg0MapBuffer[0x400]; //! FE8U = 0x2022CA8 +extern u16 gBg1MapBuffer[0x400]; //! FE8U = 0x20234A8 +extern u16 gBg2MapBuffer[0x400]; //! FE8U = 0x2023CA8 +extern u16 gBg3MapBuffer[0x400]; //! FE8U = 0x20244A8 + +extern u16* gBgMapTarget[4]; //! FE8U = 0x2024CA8 + +extern struct KeyStatusBuffer gKeyState; //! FE8U = 0x2024CC0 + +#define TILEMAP_INDEX(aX, aY) (0x20 * (aY) + (aX)) +#define TILEMAP_LOCATED(aMap, aX, aY) (TILEMAP_INDEX((aX), (aY)) + (aMap)) +#define BG_LOCATED_TILE(aMap, aX, aY) (&(aMap)[(aX) + (aY) * 0x20]) + +#define TILEREF(aChar, aPal) ((aChar) + ((aPal) << 12)) + +#define BG_SYNC_BIT(aBg) (1 << (aBg)) + +enum +{ + BG0_SYNC_BIT = BG_SYNC_BIT(0), + BG1_SYNC_BIT = BG_SYNC_BIT(1), + BG2_SYNC_BIT = BG_SYNC_BIT(2), + BG3_SYNC_BIT = BG_SYNC_BIT(3), +}; + +#define ApplyPalettes(aSrc, aPalId, aPalCount) CopyToPaletteBuffer((aSrc), 0x20 * (aPalId), 0x20 * (aPalCount)) +#define ApplyPalette(aSrc, aPalId) ApplyPalettes((aSrc), (aPalId), 1) + +#define SetWin0Box(aLeft, aTop, aRight, aBottom) \ +do { \ + gLCDIOBuffer.win0_left = (aLeft); \ + gLCDIOBuffer.win0_top = (aTop); \ + gLCDIOBuffer.win0_right = (aRight); \ + gLCDIOBuffer.win0_bottom = (aBottom); \ +} while (0) + +#define SetWin1Box(aLeft, aTop, aRight, aBottom) \ +do { \ + gLCDIOBuffer.win1_left = (aLeft); \ + gLCDIOBuffer.win1_top = (aTop); \ + gLCDIOBuffer.win1_right = (aRight); \ + gLCDIOBuffer.win1_bottom = (aBottom); \ +} while (0) + +void CopyToPaletteBuffer(const u16 src[], unsigned targetOffset, unsigned size); //! FE8U = 0x8000DB9 + +void SyncLCDControl(void); //! FE8U = 0x8000E9D + +u32 GetBgControlBuffer(int); //! FE8U = 0x8000F45 +u32 GetBgTileDataOffset(int); //! FE8U = 0x8000F8D +int GetBgLocalTileIndex(int); //! FE8U = 0x8000FA5 +void SetBgTileDataOffset(int, u32); //! FE8U = 0x8000FDD +void SetBgMapDataOffset(int, u32); //! FE8U = 0x8001005 +void SetBgScreenSize(int); //! FE8U = 0x800104D + +void SyncPalettes_AdditiveFilter(int); //! FE8U = 0x8001095 +void SyncPalettes_SubstractiveFilter(int); //! FE8U = 0x80010F1 + +void SyncBgAndPals(void); //! FE8U = 0x800114D +void FillBgMap(u16 map[], u16); //! FE8U = 0x8001221 + +void RegisterBlankTile(int index); //! FE8U = 0x8001241 + +void SetInterrupt_LCDVBlank(void(*)(void)); //! FE8U = 0x8001259 +void SetInterrupt_LCDVCountMatch(void(*)(void)); //! FE8U = 0x80012AD +void SetLCDVCountSetting(int); //! FE8U = 0x800131D + +void SetMainCallback(void(*)(void)); //! FE8U = 0x8001329 +void ExecMainCycle(void); //! FE8U = 0x8001335 + +void KeyStateUpdatePrivate(KeyStatusBuffer*, u16); //! FE8U = 0x800134D +void KeyStateUpdate(KeyStatusBuffer*); //! FE8U = 0x80013E1 +void KeyStateInit(void); //! FE8U = 0x8001421 +void SetKeyStatusIgnore(u16); //! FE8U = 0x8001441 +u16 GetKeyStatusIgnore(); //! FE8U = 0x800144D +void KeyStatusSetterProc_Set(Proc*); //! FE8U = 0x8001459 +Proc* StartKeyStatusSetter(u16); //! FE8U = 0x8001471 + +void SetBgPosition(int bg, u16 x, u16 y); //! FE8U = 0x800148D +void LoadBgConfig(const u16[]); //! FE8U = 0x8001B59 +u16* GetBgMapBuffer(int bg); //! FE8U = 0x8001C4D + +int ShouldSkipHSScreen(void); //! FE8U = 0x8001C69 + +void UpdateHBlankHandlerState(void); //! FE8U = 0x8001D29 +void SetPrimaryHBlankCallback(void(*)(void)); //! FE8U = 0x8001DD9 +void SetSecondaryHBlankCallback(void(*)(void)); //! FE8U = 0x8001DED + +int GetBgIdFromMapBuffer(const u16*); //! FE8U = 0x8001E01 + +void SetBgDepth(int bg, int depth); //! FE8U = 0x8001E6D +int GetBgDepth(int bg); //! FE8U = 0x8001E8D + +void SetColorEffectsParameters(int id, int eva, int evb, int evy); //! FE8U = 0x8001EA1 +void SetColorEffectsFirstTarget(int bg0, int bg1, int bg2, int bg3, int obj); //! FE8U = 0x8001ED1 +void SetColorEffectsSecondTarget(int bg0, int bg1, int bg2, int bg3, int obj); //! FE8U = 0x8001F0D +void SetColorEffectBackdropFirstTarget(int); //! FE8U = 0x8001F49 +void SetColorEffectBackdropSecondTarget(int); //! FE8U = 0x8001F65 +void SetDefaultColorEffects(void); //! FE8U = 0x8001F81 + +void EnablePaletteSync(void); //! FE8U = 0x8001F95 +void DisablePaletteSync(void); //! FE8U = 0x8001FA1 +void EnableBgSyncByMask(u8 mask); //! FE8U = 0x8001FAD +void EnableBgSyncByIndex(int bg); //! FE8U = 0x8001FBD + +#endif // GBAFE_HARDWARE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hiobj.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hiobj.h new file mode 100644 index 000000000..a94fbba8b --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/hiobj.h @@ -0,0 +1,17 @@ +#ifndef GBAFE_HIOBJ_H +#define GBAFE_HIOBJ_H + +#include "common.h" +#include "vramtransfer.h" +#include "proc.h" + +void ObjClear(void); //! FE8U = 0x80053A5 +void ObjInsertSafe(int node, u16 xBase, u16 yBase, const struct ObjData* pData, u16 tileBase); //! FE8U = 0x80053E9 +void ObjInsert(int node, u16 xBase, u16 yBase, const struct ObjData* pData, u16 tileBase); //! FE8U = 0x8005429 +void ObjDisplayAll(void); //! FE8U = 0x8005459 + +// TODO +// Proc* StartHiObjProc(Proc* parent, int node, u16 xBase, u16 yBase, OAMData* pData, u16 tileBase); +// void MoveHiObjProc(Proc* proc, u16 xBase, u16 yBase); + +#endif // GBAFE_HIOBJ_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/icon.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/icon.h new file mode 100644 index 000000000..66330e43f --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/icon.h @@ -0,0 +1,17 @@ +#ifndef GBAFE_ICON_H +#define GBAFE_ICON_H + +#include "common.h" + +void _ResetIconGraphics(void); //! FE8U = 0x8003579 +void ClearIcons(void); //! FE8U = 0x8003585 +void LoadIconPalettes(unsigned rootBank); //! FE8U = 0x80035BD +void LoadIconPalette(unsigned which, unsigned bank); //! FE8U = 0x80035D5 +u16 GetIconGfxTileIndex(unsigned tileId); //! FE8U = 0x8003611 +int GetIconGfxIndex(int); //! FE8U = 0x8003625 +u16 GetIconTileIndex(int); //! FE8U = 0x8003651 +void DrawIcon(u16* bgOut, int iconId, int oam2Base); //! FE8U = 0x80036BD +void ClearIcon(unsigned iconId); //! FE8U = 0x800370D +void LoadIconObjectGraphics(int iconId, int rootTile); //! FE8U = 0x800372D + +#endif // GBAFE_ICON_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/item.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/item.h new file mode 100644 index 000000000..3694bd0d3 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/item.h @@ -0,0 +1,262 @@ +#ifndef GBAFE_ITEM_H +#define GBAFE_ITEM_H + +// bmitem.c + +#include "unit.h" + +typedef u16 Item; + +typedef struct ItemData ItemData; + +struct ItemStatBonuses +{ + s8 hpBonus; + s8 powBonus; + s8 sklBonus; + s8 spdBonus; + s8 defBonus; + s8 resBonus; + s8 lckBonus; + s8 conBonus; // unused + s8 movBonus; // unused +}; + +struct ItemData +{ + /* 00 */ u16 nameTextId; + /* 02 */ u16 descTextId; + /* 04 */ u16 useDescTextId; + + /* 06 */ u8 number; + /* 07 */ u8 weaponType; + + /* 08 */ u32 attributes; + + /* 0C */ const struct ItemStatBonuses* pStatBonuses; + /* 10 */ const u8* pEffectiveness; + + /* 14 */ u8 maxUses; + + /* 15 */ u8 might; + /* 16 */ u8 hit; + /* 17 */ u8 weight; + /* 18 */ u8 crit; + + /* 19 */ u8 encodedRange; + + /* 1A */ u16 costPerUse; + /* 1C */ u8 weaponRank; + /* 1D */ u8 iconId; + /* 1E */ u8 useEffectId; + /* 1F */ u8 weaponEffectId; + /* 20 */ u8 weaponExp; +}; + +enum +{ + // Item attributes + + IA_NONE = 0, + + IA_WEAPON = (1 << 0), + IA_MAGIC = (1 << 1), + IA_STAFF = (1 << 2), + IA_UNBREAKABLE = (1 << 3), + IA_UNSELLABLE = (1 << 4), + IA_BRAVE = (1 << 5), + IA_MAGICDAMAGE = (1 << 6), + IA_UNCOUNTERABLE = (1 << 7), + IA_REVERTTRIANGLE = (1 << 8), + IA_HAMMERNE = (1 << 9), // Defined as Hammerne effect in FE6 Nightmare module, but as ??? in FE7 & FE8. + IA_LOCK_3 = (1 << 10), // Dragons or Monster depending of game + IA_LOCK_1 = (1 << 11), + IA_LOCK_2 = (1 << 12), + IA_LOCK_0 = (1 << 13), // King in FE6 + IA_NEGATE_FLYING = (1 << 14), + IA_NEGATE_CRIT = (1 << 15), + IA_UNUSABLE = (1 << 16), + IA_NEGATE_DEFENSE = (1 << 17), + IA_LOCK_4 = (1 << 18), + IA_LOCK_5 = (1 << 19), + IA_LOCK_6 = (1 << 20), + IA_LOCK_7 = (1 << 21), + IA_ACCESSORY = (1 << 22), + IA_DEPLETEUSESONDEFENSE = (1 << 23), + IA_DEPLETEUSESONATTACK = (1 << 24), + + // Helpers + IA_REQUIRES_WEXP = (IA_WEAPON | IA_STAFF), + IA_LOCK_ANY = (IA_LOCK_0 | IA_LOCK_1 | IA_LOCK_2 | IA_LOCK_3 | IA_LOCK_4 | IA_LOCK_5 | IA_LOCK_6 | IA_LOCK_7 | IA_UNUSABLE) +}; + +enum +{ + ITYPE_SWORD = 0, + ITYPE_LANCE = 1, + ITYPE_AXE = 2, + ITYPE_BOW = 3, + ITYPE_STAFF = 4, + ITYPE_ANIMA = 5, + ITYPE_LIGHT = 6, + ITYPE_DARK = 7, + ITYPE_BLLST = 8, + ITYPE_ITEM = 9, + ITYPE_DRAGN = 10, + + ITYPE_12 = 12, +}; + +enum +{ + WPN_EFFECT_NONE = 0, + WPN_EFFECT_POISON = 1, + WPN_EFFECT_HPDRAIN = 2, + WPN_EFFECT_HPHALVE = 3, + WPN_EFFECT_DEVIL = 4, + WPN_EFFECT_PETRIFY = 5, +}; + +enum +{ + // Unit ranges are a (sometimes) weirdly hardcoded. + // A flagset value is used to represent the combined ranges of a unit's usable items + // That's what those "reaches" bits are for. + + REACH_NONE = 0, + + REACH_RANGE1 = (1 << 0), + REACH_RANGE2 = (1 << 1), + REACH_RANGE3 = (1 << 2), + REACH_TO10 = (1 << 3), + REACH_TO15 = (1 << 4), + REACH_MAGBY2 = (1 << 5), +}; + +enum +{ + // Weapon level identifiers + + WPN_LEVEL_0 = 0, + WPN_LEVEL_E = 1, + WPN_LEVEL_D = 2, + WPN_LEVEL_C = 3, + WPN_LEVEL_B = 4, + WPN_LEVEL_A = 5, + WPN_LEVEL_S = 6, +}; + +enum +{ + // Weapon exp needed to have a given weapon level + + WPN_EXP_0 = 0, + WPN_EXP_E = 1, + WPN_EXP_D = 31, + WPN_EXP_C = 71, + WPN_EXP_B = 121, + WPN_EXP_A = 181, + WPN_EXP_S = 251, +}; + +#define ITEM_SLOT_NONE (-1) +#define ITEM_SLOT_COUNT (5) + +extern const ItemData gItemData[]; + +char* GetItemNameWithArticle(int item, int capitalized); //! FE8U = (0x0801618C+1) + +int GetItemHpBonus(int item); //! FE8U = (0x080163F0+1) +int GetItemPowBonus(int item); //! FE8U = (0x08016420+1) +int GetItemSklBonus(int item); //! FE8U = (0x08016450+1) +int GetItemSpdBonus(int item); //! FE8U = (0x08016480+1) +int GetItemDefBonus(int item); //! FE8U = (0x080164B0+1) +int GetItemResBonus(int item); //! FE8U = (0x080164E0+1) +int GetItemLckBonus(int item); //! FE8U = (0x08016510+1) + +int MakeNewItem(u8 id); //! FE8U = (0x08016540+1) + +int CanUnitUseWeapon(const struct Unit*, int item); //! FE8U = (0x08016574+1) +int CanUnitUseWeaponNow(const struct Unit*, int item); //! FE8U = (0x08016750+1) + +int CanUnitUseStaff(const struct Unit*, int item); //! FE8U = (0x080167A4+1) +int CanUnitUseStaffNow(const struct Unit*, int item); //! FE8U = (0x08016800+1) + +void DrawItemMenuLine(struct TextHandle* text, int item, s8 isGrayed, u16* mapOut); +void DrawItemMenuLineLong(struct TextHandle* text, int item, s8 isGrayed, u16* mapOut); +void DrawItemMenuLineNoColor(struct TextHandle* text, int item, u16* mapOut); +void DrawItemStatScreenLine(struct TextHandle* text, int item, int nameColor, u16* mapOut); + +u16 GetItemAfterUse(int item); //! FE8U = (0x08016AEC+1) + +int GetUnitEquippedWeapon(const struct Unit*); //! FE8U = (0x08016B28+1) +int GetUnitEquippedWeaponSlot(const struct Unit*); //! FE8U = (0x08016B58+1) + +int IsItemCoveringRange(int item, int range); //! FE8U = (0x08016B8C+1) + +void EquipUnitItemSlot(struct Unit*, int slot); //! FE8U = (0x08016BC0+1) + +int IsItemEffectiveAgainst(int item, const struct Unit*); //! FE8U = (0x08016BEC+1) + +char* GetItemDisplayRangeString(int item); //! FE8U = (0x08016CC0+1) +char* GetItemDisplayRangeString2(int item); +int GetWeaponLevelFromExp(int rank); //! FE8U = (0x08016D5C+1) +char* GetItemDisplayRankString(int item); //! FE8U = (0x08016D94+1) + +char* GetWeaponTypeDisplayString(int wtype); //! FE8U = (0x08016E20+1) + +void GetWeaponExpProgressState(int wrank, int* valOut, int* maxOut); //! FE8U = (0x08016E50+1) + +int IsItemDanceRing(int item); //! FE8U = (0x08016EC8+1) +int IsItemDisplayUsable(const struct Unit*, int item); //! FE8U = 0x8016EE5 +int CanUnitUse_unused(const struct Unit*, int item); //! FE8U = 0x8016F7D +int GetUnitItemHealAmount(const struct Unit*, int item); //! FE8U = 0x8016FB9 +int GetUnitItemSlot(const struct Unit*, int item); //! FE8U = 0x801702D + +int IsItemStealable(int item); //! FE8U = 0x8017055 +int IsItemHammernable(int item); //! FE8U = 0x8017081 + +u32 GetItemReachBits(int item); //! FE8U = 0x80170D5 +u32 GetUnitWeaponReachBits(const struct Unit*, int slot); //! FE8U = 0x80171E9 +u32 GetUnitStaffReachBits(const struct Unit*); //! FE8U = 0x80172F9 + +int GetConvoyItemCostSum(void); //! FE8U = 0x801737D + +void SetItemUnsealedForCharacter(int item, u8 charId); +s8 IsItemUnsealedForUnit(struct Unit* unit, int item); +s8 IsWeaponMagic(int item); + +u8 GetItemIndex(int item); //! FE8U = 0x80174ED +char* GetItemName(int item); //! FE8U = 0x80174F5 +int GetItemDescId(int item); //! FE8U = 0x8017519 +int GetItemUseDescId(int item); //! FE8U = 0x8017531 +int GetItemType(int item); //! FE8U = 0x8017549 +u32 GetItemAttributes(int item); //! FE8U = 0x801756D +int GetItemUses(int item); //! FE8U = 0x8017585 +int GetItemMaxUses(int item); //! FE8U = 0x80175B1 +int GetItemMight(int item); //! FE8U = 0x80175DD +int GetItemHit(int item); //! FE8U = 0x80175F5 +int GetItemWeight(int item); //! FE8U = 0x801760D +int GetItemCrit(int item); //! FE8U = 0x8017625 +int GetItemCost(int item); //! FE8U = 0x801763D +int GetItemMinRange(int item); //! FE8U = 0x801766D +int GetItemMaxRange(int item); //! FE8U = 0x8017685 +int GetItemEncodedRange(int item); //! FE8U = 0x80176A1 +int GetItemRequiredExp(int item); //! FE8U = 0x80176B9 +u8* GetItemEffectiveness(int item); //! FE8U = 0x80176D1 +struct ItemStatBonuses* GetItemStatBonuses(int item); //! FE8U = 0x80176E9 +int GetItemIconId(int item); //! FE8U = 0x8017701 +int GetItemWeaponEffect(int item); //! FE8U = 0x8017725 +int GetItemUseEffect(int item); //! FE8U = 0x801773D +int GetItemCostPerUse(int item); //! FE8U = 0x8017755 +int GetItemMaxCost(int item); //! FE8U = 0x801776D +int GetItemAwardedExp(int item); //! FE8U = 0x8017799 + +const ItemData* GetItemData(u8); //! FE8U = 0x80177B1 + +// TODO: move elsewhere? +u16* GetConvoyItemArray(void); + +enum { CONVOY_ITEM_COUNT = 100 }; + +#endif // GBAFE_ITEM_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/map.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/map.h new file mode 100644 index 000000000..895a858f9 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/map.h @@ -0,0 +1,82 @@ +#ifndef GBAFE_MAP_H +#define GBAFE_MAP_H + +// Rename to bmmap.h? Since it corresponds to bmmap.c from the proto + +#include "common.h" +#include "unit.h" + +typedef u8** MapData; + +extern struct Vec2u gMapSize; //! FE8U = (0x0202E4D4) + +extern MapData gMapUnit; //! FE8U = (0x0202E4D8) +extern MapData gMapTerrain; //! FE8U = (0x0202E4DC) +extern MapData gMapMovement; //! FE8U = (0x0202E4E0) +extern MapData gMapRange; //! FE8U = (0x0202E4E4) +extern MapData gMapFog; //! FE8U = (0x0202E4E8) +extern MapData gMapHidden; //! FE8U = (0x0202E4EC) +extern MapData gMapMovement2; //! FE8U = (0x0202E4F0) + +extern u16** const gMapRawTiles; //! FE8U = (0x0859A9D4) + +enum { + // for use with gMapHidden + + HIDDEN_BIT_UNIT = (1 << 0), + HIDDEN_BIT_TRAP = (1 << 1), +}; + +void InitChapterMap(u8 chapterIndex); //! FE8U = 0x80194BD +void BmMapInit(void* pool, MapData* target, int width, int height); //! FE8U = 0x80197A5 + +void BmMapFill(MapData, u8 value); //! FE8U = 0x80197E5 + +void UnpackChapterMap(void* buffer, u8 chapterIndex); //! FE8U = 0x80198AD +void UnpackChapterMapGraphics(u8 chapterIndex); //! FE8U = 0x801990D +void InitBaseTilesBmMap(void); //! FE8U = 0x80199A5 + +void RefreshTerrainBmMap(void); //! FE8U = 0x8019A65 + +u8 GetTrueTerrainAt(int x, int y); //! FE8U = 0x8019AF5 + +void DisplayBmTile(u16* bg, int x, int y, int xTile, int yTile); //! FE8U = 0x8019B19 +void RenderBmMap(void); //! FE8U = 0x8019C3D + +void RenderBmMapOnBg2(void); //! FE8U = 0x8019CBD + +void RefreshUnitsOnBmMap(void); //! FE8U = 0x8019FA1 +void RefreshTorchlightsOnBmMap(void); //! FE8U = 0x801A175 +void RefreshMinesOnBmMap(void); //! FE8U = 0x801A1A1 +void RefreshEntityBmMaps(void); //! FE8U = 0x801A1F4 + +char* GetTerrainName(u8); //! FE8U = 0x801A241 +int GetTerrainHealAmount(u8); //! FE8U = 0x801A259 +int GetTerrainUnk(u8); //! FE8U = 0x801A269 + +void RevertMapChange(int id); //! FE8U = 0x801A2ED + +void FillMovementMapForUnit(const struct Unit*); //! FE8U = 0x801A38D +void FillMovementMapForUnitAndMovement(const struct Unit*, int movement); //! FE8U = 0x801A3CD +void MapMovementFillMovementFromUnit(const struct Unit*); //! FE8U = 0x801A409 +void MapRangeFillMovementFromPosition(int x, int y, const u8 costTable[]); //! FE8U = 0x801A43D +void MapMovementFillMovementFromPosition(int x, int y, const u8 costTable[]); //! FE8U = 0x801A46D +void MapFillMovementFromUnitAt(const struct Unit*, int x, int y, int movement); //! FE8U = 0x801A49D +void SetMovCostTable(const u8 table[]); //! FE8U = 0x801A4CD +void MapFillMovement(int x, int y, int movement, u8 unitIndex); //! FE8U = 0x801A4ED + +void ProcessUnitMovement(struct Unit*, int xStart, int yStart); //! FE8U = 0x801A82D + +void MapAddInRange(int x, int y, int range, int value); //! FE8U = 0x801AABD +void MapSetInRange(int x, int y, int range, int value); //! FE8U = 0x801ABC1 + +void FillMapAttackRangeForUnit(const struct Unit*); //! FE8U = 0x801ACBD +void FillRangeMapByRangeMask(const struct Unit*, u32 mask); //! FE8U = 0x801B461 +void FillMapStaffRangeForUnit(const struct Unit*); //! FE8U = 0x801B619 +void FillRangeMapForDangerZone(int boolStaff); //! FE8U = 0x801B811 +void SetSubjectMap(MapData); //! FE8U = 0x801B999 +void MapIncInBoundedRange(int x, int y, int minRange, int maxRange); //! FE8U = 0x801B9A5 + +u8 GetCurrentMovCostTable(void); //! FE8U = 0x801B9E5 + +#endif // GBAFE_MAP_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/menu.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/menu.h new file mode 100644 index 000000000..f598bbd7a --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/menu.h @@ -0,0 +1,152 @@ +#ifndef GBAFE_MENU_H +#define GBAFE_MENU_H + +// bmmenu.c? + +#include "proc.h" +#include "text.h" + +typedef struct MenuGeometry MenuGeometry; + +typedef struct MenuDefinition MenuDefinition; +typedef struct MenuCommandDefinition MenuCommandDefinition; + +typedef struct MenuProc MenuProc; +typedef struct MenuCommandProc MenuCommandProc; + +struct MenuGeometry +{ + u8 x, y, w, h; +}; + +struct MenuDefinition +{ + /* 00 */ struct MenuGeometry geometry; + + /* 04 */ u8 style; + + /* 08 */ const struct MenuCommandDefinition* commandList; + + /* 0C */ void(*onInit)(MenuProc*); + /* 10 */ void(*onEnd)(MenuProc*); + /* 14 */ void(*_u14)(MenuProc*); + /* 18 */ void(*onBPress)(MenuProc*, MenuCommandProc*); + /* 1C */ void(*onRPress)(MenuProc*); + /* 20 */ void(*onHelpBox)(MenuProc*, MenuCommandProc*); +}; + +struct MenuCommandDefinition +{ + /* 00 */ const char* rawName; + + /* 04 */ u16 nameId, helpId; + /* 08 */ u8 colorId, _u09; + + /* 0C */ int(*isAvailable)(const MenuCommandDefinition*, int); + + /* 10 */ void(*onDraw)(MenuProc*, MenuCommandProc*); + + /* 14 */ int(*onEffect)(MenuProc*, MenuCommandProc*); + /* 18 */ int(*onIdle)(MenuProc*, MenuCommandProc*); + + /* 1C */ void(*onSwitchIn)(MenuProc*, MenuCommandProc*); + /* 20 */ void(*onSwitchOut)(MenuProc*, MenuCommandProc*); +}; + +struct MenuProc +{ + /* 00 */ PROC_HEADER; + + /* 2C */ struct MenuGeometry geometry; + /* 30 */ const MenuDefinition* pDefinition; + + /* 34 */ struct MenuCommandProc* pCommandProc[11]; + + /* 60 */ u8 commandCount; + /* 61 */ u8 commandIndex; + /* 62 */ u8 prevCommandIndex; + /* 63 */ u8 stateBits; + + /* 64 */ u8 backBgId : 3; + /* 64 */ u8 frontBgId : 3; + + /* 66 */ u16 tileBase; + /* 68 */ u16 _u68; +}; + +struct MenuCommandProc +{ + /* 00 */ PROC_HEADER; + + /* 2A */ u16 xDrawTile; + /* 2C */ u16 yDrawTile; + + /* 30 */ const struct MenuCommandDefinition* pDefinition; + + /* 34 */ struct TextHandle text; + + /* 3C */ u8 commandDefinitionIndex; + /* 3D */ u8 availability; +}; + +enum +{ + // Menu command availability values + + MCA_USABLE = 1, + MCA_GRAYED = 2, + MCA_NONUSABLE = 3, +}; + +enum MenuEffect +{ + // + ME_NONE = 0, + + ME_DISABLE = (1 << 0), + ME_END = (1 << 1), + ME_PLAY_BEEP = (1 << 2), + ME_PLAY_BOOP = (1 << 3), + ME_CLEAR_GFX = (1 << 4), + ME_END_FACE0 = (1 << 5), + ME_END_AFTER = (1 << 7), +}; + +// TODO: move to ui.h +void UpdateHandCursor(int x, int y); //! FE8U = (0804E79C+1) + +MenuProc* StartMenuAdjusted(const MenuDefinition*, int xScreen, int xLeft, int xRight); //! FE8U = 0x804EB99 +MenuProc* StartMenuChild(const MenuDefinition*, Proc* parent); //! FE8U = 0x804EBC9 +MenuProc* StartMenu(const MenuDefinition*); //! FE8U = 0x804EBE5 +MenuProc* StartMenuExt2(const MenuDefinition*, int backBgId, u16 baseTile, int frontBgId, int idk, Proc* parent); //! FE8U = 0x804EC35 +MenuProc* StartMenuAt(const MenuDefinition*, MenuGeometry, Proc* parent); //! FE8U = 0x804EC99 +MenuProc* StartMenuExt(const MenuDefinition*, MenuGeometry, int backBgId, u16 baseTile, int frontBgId, int idk, Proc* parent); //! FE8U = 0x804ECB1 + +Proc* EndMenu(MenuProc*); //! FE8U = 0x804EEA9 +void EndAllMenus(MenuProc*); //! FE8U = 0x804EF21 + +// internal stuff +// Menu_CallDefinedConstructors //! FE8U = 0x804EF39 +// Menu_Draw //! FE8U = 0x804EF71 +// Menu_DrawHoverThing //! FE8U = 0x804F0E1 +// Menu_Idle //! FE8U = 0x804F165 +// Menu_HandleDirectionInputs //! FE8U = 0x804F295 +// Menu_HandleSelectInputs //! FE8U = 0x804F375 +// Menu_GetCursorGfxCurrentPosition //! FE8U = 0x804F401 + +// default usability +int MenuCommandAlwaysUsable(const MenuCommandDefinition*, int); //! FE8U = 0x804F449 +int MenuCommandAlwaysGrayed(const MenuCommandDefinition*, int); //! FE8U = 0x804F44D +int MenuCommandNeverUsable(const MenuCommandDefinition*, int); //! FE8U = 0x804F451 + +// menu state modifiers +void MenuCallHelpBox(MenuProc*, u16 textId); //! FE8U = 0x804F581 + +// void MarkSomethingInMenu(void); // Draw Cursor while disabled //! FE8U = 0x804F60D + +// MenuProc* StartMenu_AndDoSomethingCommands(const MenuDefinition*, int xScreen, int xLeft, int xRight); //! FE8U = 0x804F64D +// void Menu_UpdateMovingCursorGfxPosition(MenuProc*, int, int*); //! FE8U = 0x804F6A5 +void ClearMenuCommandOverride(void); //! FE8U = 0x804F6F9 +int CancelMenu(MenuProc *); + +#endif // GBAFE_MENU_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/mu.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/mu.h new file mode 100644 index 000000000..5258a9fab --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/mu.h @@ -0,0 +1,173 @@ +#ifndef GBAFE_MU_H +#define GBAFE_MU_H + +// mu.c + +#include + +#include "proc.h" +#include "unit.h" +#include "ap.h" + +typedef struct MUProc MoveUnitProc; +typedef struct MUProc MoveUnitState; + +typedef struct MUConfig MoveUnitExtraData; + +enum { + // MU Magic Constants + + // Maximum simultaneous MU count + MU_MAX_COUNT = 4, + + // Maximum move command count + MU_COMMAND_MAX_COUNT = 0x40, + + // Maximum size of uncompressed MU sprite sheet + MU_GFX_MAX_SIZE = 0x2200, + + // Default base obj tile index for storing sprites in VRAM + MU_BASE_OBJ_TILE = 0x380, + + // obj palette id used for MU fade effects + MU_FADE_OBJ_PAL = 5, + + // Number of bits used to keep track of subpixels + MU_SUBPIXEL_PRECISION = 4, +}; + +enum { + // Possible MU States + + MU_STATE_NOSTATE, + MU_STATE_NONACTIVE, + MU_STATE_MOVEMENT, + MU_STATE_WAITING, + MU_STATE_UNK4, + MU_STATE_BUMPING, + MU_STATE_UI_DISPLAY, + MU_STATE_DEATHFADE, +}; + +enum { + // MU command identifiers + + MU_COMMAND_END = -1, // end + + MU_COMMAND_MOVE_BASE, + + MU_COMMAND_MOVE_LEFT = MU_COMMAND_MOVE_BASE + 0, + MU_COMMAND_MOVE_RIGHT = MU_COMMAND_MOVE_BASE + 1, + MU_COMMAND_MOVE_DOWN = MU_COMMAND_MOVE_BASE + 2, + MU_COMMAND_MOVE_UP = MU_COMMAND_MOVE_BASE + 3, + + MU_COMMAND_HALT, + + MU_COMMAND_FACE_BASE, + + MU_COMMAND_FACE_LEFT = MU_COMMAND_FACE_BASE + 0, + MU_COMMAND_FACE_RIGHT = MU_COMMAND_FACE_BASE + 1, + MU_COMMAND_FACE_DOWN = MU_COMMAND_FACE_BASE + 2, + MU_COMMAND_FACE_UP = MU_COMMAND_FACE_BASE + 3, + + MU_COMMAND_WAIT, + MU_COMMAND_BUMP, + MU_COMMAND_UNK11, + MU_COMMAND_SET_SPEED, + + MU_COMMAND_CAMERA_ON, + MU_COMMAND_CAMERA_OFF, +}; + +enum { + // MU facing identifiers + + MU_FACING_LEFT, + MU_FACING_RIGHT, + MU_FACING_DOWN, + MU_FACING_UP, + + MU_FACING_SELECTED, + + // TODO: Which is MU_FACING_DANCING? + + MU_FACING_UNK11 = 11, // The facing id at start + MU_FACING_STANDING = 15, +}; + +enum { + // MU flash identifiers + + MU_FLASH_0, + MU_FLASH_1, + MU_FLASH_2, + MU_FLASH_3, + MU_FLASH_4, + MU_FLASH_5, +}; + +struct MUConfig; + +struct MUProc { + PROC_HEADER; + + /* 2C */ struct Unit* pUnit; + /* 30 */ struct APHandle* pAPHandle; + /* 34 */ struct MUConfig* pMUConfig; + /* 38 */ void* pGfxVRAM; + + /* 3C */ u8 muIndex; + /* 3D */ u8 _u3D; + /* 3E */ u8 boolAttractCamera; + /* 3F */ u8 stateId; + /* 40 */ u8 boolIsHidden; + /* 41 */ u8 displayedClassId; + /* 42 */ s8 facingId; + /* 43 */ u8 stepSoundTimer; + /* 44 */ u8 boolForceMaxSpeed; + /* 46 */ u16 objPriorityBits; + /* 48 */ u16 moveTimer; + /* 4A */ short moveConfig; + + // Coordinates are in 16th of pixel + /* 4C */ short xSubPosition; + /* 4E */ short ySubPosition; + /* 50 */ short xSubOffset; + /* 52 */ short ySubOffset; +}; + +struct MUConfig { + /* 00 */ u8 muIndex; + /* 01 */ u8 paletteIndex; + /* 02 */ u16 objTileIndex; + /* 04 */ u8 currentCommand; + /* 05 */ s8 commands[MU_COMMAND_MAX_COUNT]; + /* 45 */ // 3 byte padding + /* 48 */ struct MUProc* pMUProc; +}; + +void MU_Init(void); //! FE8U = (0x0807840C+1) +struct MUProc* MU_CreateExt(struct Unit* unit, int mms, int palId); //! FE8U = (0x08078428+1) +struct MUProc* MU_Create(struct Unit* unit); //! FE8U = (0x08078464+1) +void MU_EnableAttractCamera(struct MUProc*); //! FE8U = (0x080784E4+1) +void MU_DisableAttractCamera(struct MUProc*); //! FE8U = (0x080784EC+1) +struct MUProc* MU_CreateForUI(struct Unit* unit); //! FE8U = (0x080784F4+1) +struct MUProc* MU_CreateInternal(int x, int y, int mms, int objBase, int palId); //! FE8U = (0x08078540+1) +void MU_SetFacing(struct MUProc* moveunit, int direction); //! FE8U = (0x08078694+1) +void MU_SetDefaultFacing(struct MUProc* moveunit); //! FE8U = (0x080786BC+1) +void MU_SetDefaultFacing_Auto(); //! FE8U = (0x080786E8+1) +void MU_StartMoveScript_Auto(u8* moveManual); //! FE8U = (0x08078700+1) +int MU_Exists(); //! FE8U = (0x08078720+1) +int MU_IsAnyActive(); //! FE8U = (0x08078738+1) +void MU_StartMoveScript(struct MUProc* moveunit, u8* moveManual); //! FE8U = (0x08078790+1) +void MU_EndAll(); //! FE8U = (0x080790A4+1) +void MU_End(struct MUProc* moveunit); //! FE8U = (0x080790B4+1) +void MU_StartActionAnim(struct MUProc* moveunit); //! FE8U = 0x80798B1 +void MU_Hide(struct MUProc* moveunit); //! FE8U = 0x80797D5 +void MU_Show(struct MUProc* moveunit); //! FE8U = 0x80797DD +void MU_SetDisplayPosition(struct MUProc* moveunit, int x, int y); //! FE8U = (0x080797E4+1) +struct MUProc* MU_GetByUnit(struct Unit* unit); //!< FE8U:08079BB9 + +extern const struct ProcInstruction gProc_MoveUnit[]; + +#endif // GBAFE_MU_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/other.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/other.h new file mode 100644 index 000000000..dbc0185a2 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/other.h @@ -0,0 +1,84 @@ +#ifndef GBAFE_OTHER_H +#define GBAFE_OTHER_H + +#include "common.h" + +enum +{ + MLV_MOVE_BLUE = 0x01, + MLV_RANGE_RED = 0x02, + MLV_RANGE_GREEN = 0x04, + MLV_RANGE_BLUE = 0x08, +}; + +#define TRIG_MAX 0x1000 +#define TRIG_PI 0x80 + +#define SIN_LOOKUP(value) (gSinLookup[(value) % 0x100]) +#define COS_LOOKUP(value) (gCosLookup[(value) % 0x100]) + +#define ABS(aValue) ((aValue) >= 0 ? (aValue) : -(aValue)) + +#define RECT_DISTANCE(aXA, aYA, aXB, aYB) (ABS((aXA) - (aXB)) + ABS((aYA) - (aYB))) + +extern const short gSinLookup[]; //! FE8U = (0x080D751C) +extern const short gCosLookup[]; //! FE8U = (0x080D759C) + +extern const ProcCode gProc_GoBackToUnitMenu[]; +extern const ProcCode gProc_PlayerPhase[]; +extern const ProcCode gProc_BG3HSlide[]; + +extern const u16 gPal_MiscUIGraphics[]; + +extern u16 gSomethingRelatedToAnimAndDistance; //! FE8U = 0x203E120 + +char* GetStringFromIndex(int index); //! FE8U = 0x800A241 +char* String_GetFromIndexExt(int index, char* buffer); //! FE8U = 0x800A281 + +char* String_ExpandTactName(void); + +int String_FromNumber(int number, char* buffer); //! FE8U = 0x8014335 + +void SetCursorMapPosition(int x, int y); //! FE8U = 0x8015BBD + +int EnsureCameraOntoPosition(struct Proc* parent, int x, int y); //! FE8U = 0x8015E0D + +int ApplyUnitAction(struct Proc*); //! FE8U = 0x801849D + +void DisplayMoveRangeGraphics(unsigned param); //! FE8U = 0x801DA99 +void HideMoveRangeGraphics(void); //! FE8U = 0x801DACD + +void StartBMXFADE(int locking); //! FE8U = (0x0801DDC4+1) +void StartBlockingBMXFADE(int locking, struct Proc* parent); //! FE8U = (0x0801DDF0+1) + +int BMXFADEExists(); //! FE8U = (0x0801DE18+1) + +void ChangeActiveUnitFacing(int x, int y); //!< FE8U:0801F50D + +void StartFadeOutBlackMedium(void); +void WaitForFade(struct Proc* proc); + +unsigned GetPhaseAbleUnitCount(unsigned phase); //! FE8U = (0x08024CED+1) + +Proc* StartBottomHelpText(Proc*, const char*); //! FE8U = 0x8035709 +void EndBottomHelpText(void); //! FE8U = 0x8035749 +int IsBottomHelpTextActive(void); //! FE8U = 0x8035759 + +void MakeUIWindowTileMap_BG0BG1(int x, int y, int w, int h, int style); //! FE8U = 0x804E369 + +int GetFacingDirection(int xFrom, int yFrom, int xTo, int yTo); //!< FE8U:0807B9B9 + +void StartStatScreen(const struct Unit* unit, struct Proc* parent); //! FE8U = 0x808894D + +int GetBattleMapType(void); //! FE8U = 0x80BD069 + +// int div(int, int); // FE8U = (0x080D1AD4+1) +// int mod(int, int); // FE8U = (0x080D1B4C+1) + +void* memcpy(void* dest, const void* src, unsigned int count); //! FE8U = (0x080D1C0C+1) +void* memset(void* dest, int ch, unsigned int count); //! FE8U = (0x080D1C6C+1) + +char* strcpy(char* dest, const char* src); +unsigned strlen(const char* cstr); + +#endif // GBAFE_OTHER_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/popup.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/popup.h new file mode 100644 index 000000000..f86c33bd2 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/popup.h @@ -0,0 +1,59 @@ +#ifndef GBAFE_POPUP_H +#define GBAFE_POPUP_H + +#include + +#include "proc.h" +#include "unit.h" + +struct PopupProc { + /* 00 */ PROC_HEADER; + + /* 2C */ const u32* pDefinition; + /* 30 */ int clock; + + /* 34 */ s8 xTileParam; + /* 35 */ s8 yTileParam; + + /* 36 */ u8 winStyle; + + /* 37 */ u8 xTileReal; + /* 38 */ u8 yTileReal; + + /* 39 */ u8 xTileSize; + /* 3A */ u8 yTileSize; + + /* 3B */ u8 textColorId; + + /* 3C */ u16 _pad3C; + + /* 3E */ u16 iconId; + /* 40 */ u16 iconObjTileId; + /* 42 */ u8 iconPalId; + /* 43 */ u8 _pad43; + /* 44 */ u8 iconX; + /* 45 */ u8 _pad45; + + /* 46 */ u16 xGfxSize; + + /* 48 */ u16 soundId; +}; + +extern struct Unit* gpPopupUnit; +extern u16 gPopupItem; +extern u32 gPopupNumber; + +extern struct Proc* gpBattlePopupProc; //! FE8U = 0x2020140 +extern int gBattlePopupEnded; //! FE8U = 0x2020144 + +void SetPopupUnit(struct Unit* unit); //! FE8U = 0x8011451 +void SetPopupItem(u16 item); //! FE8U = 0x801145D +void SetPopupNumber(u32 number); //! FE8U = 0x8011469 +void Popup_Create(const u32* def, int time, int winStyle, struct Proc* parent); //! FE8U = 0x8011475 +// Popup_CreateExt; //! FE8U = 0x8011491 + +// ¯\_(ツ)_/¯ +#define SetPopupWType SetPopupItem +#define gPopupWType gPopupItem + +#endif // GBAFE_POPUP_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/proc.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/proc.h new file mode 100644 index 000000000..05800455c --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/proc.h @@ -0,0 +1,156 @@ +#ifndef GBAFE_PROC_H +#define GBAFE_PROC_H + +// proc.c + +#include "common.h" + +typedef struct Proc Proc; +typedef struct Proc ProcState; + +typedef struct ProcInstruction ProcCode; +typedef struct ProcInstruction ProcInstruction; + +struct ProcInstruction { + u16 type; + u16 sArg; + const void* lArg; +}; + +#define PROC_FIELDS \ + ProcInstruction* codeStart; /* start of instructions */ \ + ProcInstruction* codeNext; /* next instruction */ \ + void (*onEnd)(Proc*); /* called on proc end */ \ + void (*onCycle)(Proc*); /* called on proc cycle */ \ + const char* name; /* name (debug) */ \ + Proc* parent; /* parent proc */ \ + Proc* child; /* first child proc */ \ + Proc* previous; /* previous proc (younger sibling) */ \ + Proc* next; /* next proc (older sibling) */ \ + u16 sleepTime; /* time left to sleep */ \ + u8 mark; /* mark */ \ + u8 statebits; /* state */ \ + u8 lockCount; /* lock count*/ + +struct Proc { + PROC_FIELDS; +}; + +#define ROOT_PROC_0 (Proc*)(0) +#define ROOT_PROC_1 (Proc*)(1) +#define ROOT_PROC_2 (Proc*)(2) +#define ROOT_PROC_3 (Proc*)(3) +#define ROOT_PROC_4 (Proc*)(4) +#define ROOT_PROC_5 (Proc*)(5) +#define ROOT_PROC_6 (Proc*)(6) +#define ROOT_PROC_7 (Proc*)(7) + +#define PROC_END { 0x00, 0x0000, 0 } +#define PROC_SET_NAME(aName) { 0x01, 0x0000, aName } +#define PROC_CALL_ROUTINE(apRoutine) { 0x02, 0x0000, (const void*)(apRoutine) } +#define PROC_LOOP_ROUTINE(apRoutine) { 0x03, 0x0000, (const void*)(apRoutine) } +#define PROC_SET_DESTRUCTOR(apRoutine) { 0x04, 0x0000, (const void*)(apRoutine) } +#define PROC_NEW_CHILD(ap6CChild) { 0x05, 0x0000, (const void*)(ap6CChild) } +#define PROC_NEW_CHILD_BLOCKING(ap6CChild) { 0x06, 0x0000, (const void*)(ap6CChild) } +#define PROC_NEW_MAIN_BUGGED(ap6CMain) { 0x07, 0x0000, ap6CMain } +#define PROC_WHILE_EXISTS(ap6CToCheck) { 0x08, 0x0000, (const void*)(ap6CToCheck) } +#define PROC_END_ALL(ap6CToCheck) { 0x09, 0x0000, (const void*)(ap6CToCheck) } +#define PROC_BREAK_ALL_LOOP(ap6CToCheck) { 0x0A, 0x0000, (const void*)(ap6CToCheck) } +#define PROC_LABEL(aLabelId) { 0x0B, aLabelId, 0 } +#define PROC_GOTO(aLabelId) { 0x0C, aLabelId, 0 } +#define PROC_JUMP(ap6CCode) { 0x0D, 0x0000, (const void*)(ap6CCode) } +#define PROC_SLEEP(aTime) { 0x0E, aTime, 0 } +#define PROC_SET_MARK(aMark) { 0x0F, aMark, 0 } +#define PROC_BLOCK { 0x10, 0x0000, 0 } +#define PROC_END_IF_DUPLICATE { 0x11, 0x0000, 0 } +#define PROC_SET_BIT4 { 0x12, 0x0000, 0 } +#define PROC_13 { 0x13, 0x0000, 0 } +#define PROC_WHILE_ROUTINE(aprRoutine) { 0x14, 0x0000, (const void*)(aprRoutine) } +#define PROC_15 { 0x15, 0x0000, 0 } +#define PROC_CALL_ROUTINE_2(aprRoutine) { 0x16, 0x0000, (const void*)(aprRoutine) } +#define PROC_END_DUPLICATES { 0x17, 0x0000, 0 } +#define PROC_CALL_ROUTINE_ARG(aprRoutine, aArgument) { 0x18, aArgument, (const void*)(aprRoutine) } +#define PROC_19 { 0x19, 0x0000, 0 } + +#define PROC_YIELD PROC_SLEEP(0) + +Proc* ProcStart(const ProcInstruction*, Proc*); //! FE8U = (0x08002C7C+1) +Proc* ProcStartBlocking(const ProcInstruction*, Proc*); //! FE8U = (0x08002CE0+1) +void EndProc(Proc*); //! FE8U = (0x08002D6C+1) +void ExecProc(Proc*); //! FE8U = (0x08002E84+1) +void BreakProcLoop(Proc*); //! FE8U = (0x08002E94+1) +Proc* ProcFind(const ProcInstruction*); //! FE8U = (0x08002E9C+1) +void ProcGoto(Proc*, int); //! FE8U = (0x08002F24+1) +void ProcGotoPtr(Proc*, const ProcInstruction*); //! FE8U = (0x08002F5C+1) +void ProcMark(Proc*, int); //! FE8U = (0x08002F64+1) +void ProcSetEndFunc(Proc*, void(*)(Proc*)); //! FE8U = (0x08002F6C+1) +void ForEveryProc(void(*)(Proc*)); //! FE8U = (0x08002F70+1) +void ForEachProc(const ProcInstruction*, void(*)(Proc*)); //! FE8U = (0x08002F98+1) +void ProcHaltEachMarked(int); //! FE8U = (0x08002FEC+1) +void ProcResumeEachMarked(int); //! FE8U = (0x08003014+1) +void EndEachProcMarked(int); //! FE8U = (0x08003040+1) +void EndEachProc(const ProcInstruction*); //! FE8U = (0x08003078+1) +void BreakEachProcLoop(const ProcInstruction*); //! FE8U = (0x08003094+1) +void SetProcCycleHandler(Proc*, void(*)(Proc*)); //! FE8U = (0x08003450+1) + +// helper macros (to bypass need for casts everywhere) + +#define START_PROC(aProcScr, aParent) (void*)(ProcStart((aProcScr), (struct Proc*)(aParent))) +#define START_PROC_BLOCKING(aProcScr, aParent) (void*)(ProcStartBlocking((aProcScr), (struct Proc*)(aParent))) +#define END_PROC(aProc) EndProc((struct Proc*)(aProc)) +#define BREAK_PROC(aProc) BreakProcLoop((struct Proc*)(aProc)) +#define FOR_EACH_PROC(aProcScr, aFunc) ForEachProc((aProcScr), (void(*)(struct Proc*))(aFunc)) + +// compat with decomp + +#define PROC_HEADER PROC_FIELDS + +#define Proc_Create ProcStart +#define Proc_CreateBlockingChild ProcStartBlocking +#define Proc_Delete EndProc +#define Proc_Run ExecProc +#define Proc_ClearNativeCallback BreakProcLoop +#define Proc_Find ProcFind +#define Proc_GotoLabel ProcGoto +#define Proc_JumpToPointer ProcGotoPtr +#define Proc_SetMark ProcMark +#define Proc_SetDestructor ProcSetEndFunc +#define Proc_ForEach ForEveryProc +#define Proc_ForEachWithScript ForEachProc +#define Proc_BlockEachWithMark ProcHaltEachMarked +#define Proc_UnblockEachWithMark ProcResumeEachMarked + +// void Proc_Initialize(void); +// ??? Proc_Create(???); +// ??? Proc_CreateBlockingChild(???); +// ??? Proc_Delete(???);; +// ??? Proc_Run(???); +// ??? Proc_ClearNativeCallback(???); +// ??? Proc_Find(???); +// ??? Proc_FindNonBlocked(???); +// ??? Proc_FindWithMark(???); +// ??? Proc_GotoLabel(???); +// ??? Proc_JumpToPointer(???); +// ??? Proc_SetMark(???); +// ??? Proc_SetDestructor(???); +// ??? Proc_ForEach(???); +// ??? Proc_ForEachWithScript(???); +// ??? Proc_ForEachWithMark(???); +// ??? Proc_BlockEachWithMark(???); +// ??? Proc_UnblockEachWithMark(???); +// ??? Proc_DeleteEachWithMark(???); +// ??? Proc_DeleteAllWithScript(???); +// ??? Proc_ClearNativeCallbackEachWithScript(???); +// ??? sub_80030CC(???); +// ??? sub_800344C(???); +// ??? Proc_SetNativeFunc(???); +// ??? Proc_BlockSemaphore(???); +// ??? Proc_WakeSemaphore(???); +// ??? Proc_FindAfter(???); +// ??? Proc_FindAfterWithParent(???); +// ??? sub_80034D4(???); +// ??? sub_80034FC(???); +// ??? sub_8003530(???); +// ??? sub_8003540(???); + +#endif // GBAFE_PROC_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/random.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/random.h new file mode 100644 index 000000000..6d3539292 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/random.h @@ -0,0 +1,17 @@ +#ifndef GBAFE_RANDOM_H +#define GBAFE_RANDOM_H + +#include "common.h" + +extern u16 gRNState[]; +extern u16 gAestheticRandState; + +int RandNext(void); //! FE8U = (0x08000B88+1) +void SetRandState(const u16[3]); //! FE8U = (0x08000C34+1) +void GetRandState(u16[3]); //! FE8U = (0x08000C4C+1) +int NextRN_100(void); //! FE8U = (0x08000C64+1) +int NextRN_N(int); //! FE8U = (0x08000C80+1) +int Roll1RN(int); //! FE8U = (0x08000CA0+1) +int Roll2RN(int); //! FE8U = (0x08000CB8+1) + +#endif // GBAFE_FUNCTIONS_RANDOM_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/save.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/save.h new file mode 100644 index 000000000..83ec638ad --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/save.h @@ -0,0 +1,71 @@ +#ifndef GBAFE_SAVE_H +#define GBAFE_SAVE_H + +#include "common.h" + +struct SaveGlobalMetadata { + /* 00 */ char magicString[8]; + /* 08 */ u32 magic1; + /* 0C */ u16 magic2; + /* 0E */ u8 gameCompletionBits; + /* 0F */ u8 unk0F; + /* 10 */ u32 unk10; + /* 14 */ u8 completedPlaythroughIds[0x0C]; + /* 20 */ u8 unk20[0x20]; + /* 40 */ u8 knownCharacterBits[0x20]; + /* 60 */ u16 checksum; + /* 62 */ u8 lastSaveSlot; + /* 63 */ u8 lastSuspendSlot; +}; + +struct SaveBlockMetadata { + /* 00 */ u32 magic1; + /* 04 */ u16 magic2; + /* 06 */ u8 type; + /* 08 */ u16 offset; + /* 0A */ u16 size; + /* 0C */ u32 checksum; +}; + +enum { + SAVE_BLOCK_SAVE1 = 0, + SAVE_BLOCK_SAVE2 = 1, + SAVE_BLOCK_SAVE3 = 2, + SAVE_BLOCK_SUSPEND = 3, + SAVE_BLOCK_SUSPENDALT = 4, + SAVE_BLOCK_LINKARENA = 5, + SAVE_BLOCK_UNK6 = 6, +}; + +enum { + SAVE_TYPE_GAME = 0, + SAVE_TYPE_SUSPEND = 1, + SAVE_TYPE_LINKARENA = 2, + SAVE_TYPE_BLOCK6 = 3, +}; + +enum { + SBM_MAGIC1_GAME = 0x40624, + SBM_MAGIC1_LINKARENA = 0x20112, + SBM_MAGIC1_SLOT6 = 0x20223, + + SBM_MAGIC2 = 0x200A, +}; + +void* GetSaveTargetAddress(int blockId); +void* GetSaveSourceAddress(int blockId); + +int IsSramWorking(void); + +void ClearSaveBlock(int blockId); + +void SaveMetadata_Save(struct SaveBlockMetadata* sbm, int blockId); + +void LoadGeneralGameMetadata(struct SaveGlobalMetadata* buf); +void SaveGeneralGameMetadata(struct SaveGlobalMetadata* buf); + +void SGM_SetCharacterKnown(unsigned charId, struct SaveGlobalMetadata* sgm); + +void UpdateLastUsedGameSaveSlot(int blockId); + +#endif // GBAFE_SAVE_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sound.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sound.h new file mode 100644 index 000000000..339ad0d43 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sound.h @@ -0,0 +1,35 @@ +#ifndef GBAFE_SOUND_H +#define GBAFE_SOUND_H + +#include "common.h" +#include "chapterdata.h" + +// TODO +int Sound_GetCurrentSong(void); //! FE8U = 0x8002259 +s8 Sound_IsSongPlaying(void); //! FE8U = 0x8002265 +void Sound_SetVolume_8002274(int volume); //! FE8U = 0x8002275 +void Sound_SetSongVolume(int volume); //! FE8U = 0x80022ED +void Sound_FadeSongOut(int speed); //! FE8U = 0x800231D +void Sound_FadeOut_800237C(int speed); //! FE8U = 0x800237D +void Sound_FadeOut_80023E0(int speed); //! FE8U = 0x80023E1 +void Sound_PlaySong(int songId, void* player); //! FE8U = 0x8002449 // TODO: struct MusicPlayerInfo +void Sound_PlaySongSmoothCommon(int songId, int speed, void* player); //! FE8U = 0x8002479 +void Sound_PlaySongSmooth(int songId, void* player); //! FE8U = 0x80024D5 +void Sound_PlaySongSmoothExt(int songId, int speed, void* player); //! FE8U = 0x80024E5 +void StartSongVolumeTransitionB(int volume, int b, int c, struct Proc* parent); //! FE8U = 0x8002731 +void PlaySongDelayed(int songId, int delay, void* player); //! FE8U = 0x8002859 +void Sound_PlaySongCore(int songId, void* player); //! FE8U = 0x8002891 +void SetSoundDefaultMaxChannels(void); //! FE8U = 0x80028D1 +void SetSoundMaxChannels(int maxchn); //! FE8U = 0x80028E9 +void Sound_SetupMaxChannelsForSong(int songId); //! FE8U = 0x80028FD +void CancelPlaySongDelayed(void); //! FE8U = 0x8002AB9 + +// TODO: m4a header +void m4aSongNumStart(int); + +#define PlaySfx(aSongId) do { \ + if (!gChapterData.muteSfxOption) \ + m4aSongNumStart(aSongId); \ +} while (0) + +#endif // GBAFE_SOUND_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sram.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sram.h new file mode 100644 index 000000000..fde0bd733 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/sram.h @@ -0,0 +1,10 @@ +#ifndef GBAFE_SRAM_H +#define GBAFE_SRAM_H + +void SramFastFuncInit(void); +void WriteSramFast(const void* src, void* dest, unsigned size); +extern void (*ReadSramFast)(const void* src, void* dest, unsigned size); +extern unsigned (*gpVerifySramFast)(const void* src, void* dest, unsigned size); +unsigned WriteAndVerifySramFast(const void* src, void* dest, unsigned size); + +#endif // GBAFE_SRAM_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/standunit.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/standunit.h new file mode 100644 index 000000000..0f7428265 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/standunit.h @@ -0,0 +1,42 @@ +#ifndef GBAFE_STANDUNIT_H +#define GBAFE_STANDUNIT_H + +struct SMSHandle +{ + /* 00 */ struct SMSHandle* pNext; + + /* 04 */ short xDisplay; + /* 06 */ short yDisplay; + + /* 08 */ u16 oam2Base; + + /* 0A */ u8 unk0A; + /* 0B */ s8 config; +}; + +struct SMSData +{ + /* 00 */ u16 unk00; + /* 02 */ u16 size; + /* 04 */ const u8* pGraphics; +}; + +extern const struct SMSData gStandingMapSpriteData[]; + +#define SMS_SIZE(aId) (gStandingMapSpriteData[(aId)].size) + +unsigned SMS_RegisterUsage(unsigned id); //!< FE8U:080267FD + +void SMS_SyncIndirect(void); //!< FE8U:08026F95 + +unsigned GetUnitBattleMapSpritePaletteIndex(struct Unit*); //!< FE8U:0802713D +unsigned GetUnitMapSpritePaletteIndex(struct Unit*); //!< FE8U:08027169 + +void SMS_UpdateFromGameData(void); //!< FE8U:080271A1 +struct SMSHandle* SMS_GetNewInfoStruct(int y); //!< FE8U:0802736D +void SMS_DisplayAllFromInfoStructs(void); //!< FE8U:080273A5 + +void HideUnitSMS(struct Unit* unit); //!< FE8U:0802810D +void ShowUnitSMS(struct Unit* unit); //!< FE8U:08028131 + +#endif // GBAFE_STANDUNIT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/support.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/support.h new file mode 100644 index 000000000..63c01a749 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/support.h @@ -0,0 +1,60 @@ +#ifndef GBAFE_SUPPORT_H +#define GBAFE_SUPPORT_H + +enum +{ + SUPPORT_LEVEL_NONE, + SUPPORT_LEVEL_C, + SUPPORT_LEVEL_B, + SUPPORT_LEVEL_A, +}; + +enum +{ + SUPPORT_EXP_C = 81, + SUPPORT_EXP_B = 161, + SUPPORT_EXP_A = 241, +}; + +struct SupportData +{ + /* 00 */ u8 characters[7]; + /* 07 */ u8 supportExpBase[7]; + /* 0E */ u8 supportExpGrowth[7]; + /* 15 */ u8 supportCount; +}; + +struct SupportBonuses +{ + /* 00 */ u8 affinity; + + /* 01 */ u8 bonusAttack; + /* 02 */ u8 bonusDefense; + /* 03 */ u8 bonusHit; + /* 04 */ u8 bonusAvoid; + /* 05 */ u8 bonusCrit; + /* 06 */ u8 bonusDodge; +}; + +int GetUnitSupporterCount(struct Unit* unit); +u8 GetUnitSupporterCharacter(struct Unit* unit, int num); +struct Unit* GetUnitSupporterUnit(struct Unit* unit, int num); +int GetUnitSupportLevel(struct Unit* unit, int num); +int GetUnitTotalSupportLevel(struct Unit* unit); +void UnitGainSupportExp(struct Unit* unit, int num); +void UnitGainSupportLevel(struct Unit* unit, int num); +s8 CanUnitSupportNow(struct Unit* unit, int num); +int GetUnitSupporterInitialExp(struct Unit* unit, int num); +int GetUnitSupporterNum(struct Unit* unit, u8 charId); +void ClearUnitSupports(struct Unit* unit); +void ProcessTurnSupportExp(void); +int GetUnitSupportBonuses(struct Unit* unit, struct SupportBonuses* bonuses); +int GetUnitAffinityIcon(struct Unit* unit); +int GetCharacterAffinityIcon(int characterId); +int GetSupportLevelUiChar(int level); +char* GetAffinityName(int affinity); // unused? +s8 HaveCharactersMaxSupport(u8 charA, u8 charB); +void SwapUnitStats(struct Unit* unitA, struct Unit* unitB); +void ProcessSupportGains(); + +#endif // GBAFE_SUPPORT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/targetselect.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/targetselect.h new file mode 100644 index 000000000..614acf903 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/targetselect.h @@ -0,0 +1,91 @@ +#ifndef GBAFE_TARGETSELECT_H +#define GBAFE_TARGETSELECT_H + +#include "proc.h" + +struct TargetSelectionProc; + +typedef struct TargetEntry TargetEntry; +typedef struct TargetSelectionDefinition TargetSelectionDefinition; +typedef struct TargetSelectionProc TargetSelectionProc; + +struct TargetEntry { + /* 00 */ u8 x, y; + /* 02 */ u8 unitIndex; + /* 03 */ u8 trapIndex; + + /* 04 */ TargetEntry* next; + /* 08 */ TargetEntry* prev; +}; + +struct TargetSelectionDefinition { + /* 00 */ void(*onInit)(struct TargetSelectionProc*); + /* 04 */ void(*onEnd)(struct TargetSelectionProc*); + + /* 08 */ void(*onInitTarget)(struct TargetSelectionProc*, struct TargetEntry*); + + /* 0C */ void(*onSwitchIn)(struct TargetSelectionProc*, struct TargetEntry*); + /* 10 */ void(*onSwitchOut)(struct TargetSelectionProc*, struct TargetEntry*); + + /* 14 */ int(*onAPress)(struct TargetSelectionProc*, struct TargetEntry*); + /* 18 */ int(*onBPress)(struct TargetSelectionProc*, struct TargetEntry*); + /* 1C */ int(*onRPress)(struct TargetSelectionProc*, struct TargetEntry*); +}; + +struct TargetSelectionProc { + PROC_HEADER; + + /* 2C */ const TargetSelectionDefinition* pDefinition; + /* 30 */ TargetEntry* pCurrentEntry; + + /* 34 */ u8 stateBits; + + /* 38 */ int(*onAPressOverride)(TargetSelectionProc*, TargetEntry*); +}; + +enum _TargetSelectionEffect { + TSE_NONE = 0x00, + + TSE_DISABLE = 0x01, // (for one frame, probably useful for blocking) + TSE_END = 0x02, + TSE_PLAY_BEEP = 0x04, + TSE_PLAY_BOOP = 0x08, + TSE_CLEAR_GFX = 0x10, + TSE_END_FACE0 = 0x20 +}; + +extern struct Vec2u gTargetPosition; //! FE8U = 0x0203DDE8 +extern TargetEntry gTargetArray[]; //! FE8U = 0x0203DDEC +extern unsigned int gTargetArraySize; //! FE8U = 0x0203E0EC + +void InitTargets(int x, int y); //! FE8U = 0x804F8A5 +void AddTarget(int x, int y, u8 unit, u8 trap); //! FE8U = 0x804F8BD +void LinkTargets(void); //! FE8U = 0x804F911 + +void TargetSelection_GetRealCursorPosition(struct TargetSelectionProc*, int* xTarget, int* yTarget); //! FE8U = 0x804F959 +void TargetSelection_Loop(struct TargetSelectionProc*); //! FE8U = 0x804F96D + +struct TargetSelectionProc* StartTargetSelection(const struct TargetSelectionDefinition*); //! FE8U = 0x804FA3D +struct TargetSelectionProc* StartTargetSelectionExt(const struct TargetSelectionDefinition*, int(*)(struct TargetSelectionProc*, struct TargetEntry*)); //! FE8U = 0x804FAA5 + +struct Proc* EndTargetSelection(struct TargetSelectionProc*); //! FE8U = 0x804FAB9 + +// TargetSelection_HandleMoveInput //! FE8U = 0x804FAED +// TargetSelection_HandleSelectInput //! FE8U = 0x804FB65 + +unsigned GetFarthestTargetIndex(void); //! FE8U = 0x804FBFD +struct TargetEntry* LinkTargetsOrdered(void); //! FE8U = 0x804FC5D +struct TargetEntry* GetLinkedTargetList(void); //! FE8U = 0x804FD01 +struct TargetEntry* GetFirstTargetPointer(void); //! FE8U = 0x804FD11 +unsigned GetTargetListSize(void); //! FE8U = 0x804FD29 +struct TargetEntry* GetTarget(unsigned index); //! FE8U = 0x804FD35 + +void ForEachUnitInRange(void(*)(struct Unit*)); //! FE8U = 0x8024EAD +void ForEachPosInRange(void(*)(int, int)); //! FE8U = 0x8024F19 +void ForEachAdjacentUnit(int x, int y, void(*)(struct Unit*)); //! FE8U = 0x8024F71 +void ForEachAdjacentPosition(int x, int y, void(*)(int, int)); //! FE8U = 0x8024FA5 + +int GenericSelection_BackToUM(TargetSelectionProc*, TargetEntry*); //! FE8U = 0x8022749 +int GenericSelection_BackToUM_CamWait(TargetSelectionProc*, TargetEntry*); //! FE8U = 0x802282D + +#endif // GBAFE_TARGETSELECT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/text.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/text.h new file mode 100644 index 000000000..222fd9d3c --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/text.h @@ -0,0 +1,139 @@ +#ifndef GBAFE_TEXT_H +#define GBAFE_TEXT_H + +#include "common.h" + +typedef struct FontData FontData; +typedef struct TextHandle TextHandle; +typedef struct TextBatchEntry TextBatchEntry; +typedef struct FontGlyphData FontGlyphData; + +typedef enum FontGlyphType FontGlyphType; + +struct FontData { + /* 00 */ void* pVRAMTileRoot; + /* 04 */ const void* pGlyphData; + + /* 08 */ void (*drawGlyph)(TextHandle*, const FontGlyphData*); + /* 0C */ void*(*getDrawTarget)(TextHandle*); + + /* 10 */ u16 tileBase; + /* 12 */ u16 tileNext; + /* 14 */ u16 palIndex; + + /* 16 */ u8 unk16; + /* 17 */ u8 unk17; +}; + +struct TextHandle { + /* 00 */ u16 tileIndexOffset; + + /* 02 */ u8 xCursor; + /* 03 */ u8 colotId; + + /* 04 */ u8 tileWidth; + + /* 05 */ u8 useDoubleBuffer; + /* 06 */ u8 currentBufferId; + + /* 07 */ u8 unk07; +}; + +struct TextBatchEntry { + /* 00 */ struct TextHandle* textHandle; + /* 04 */ unsigned tileWidth; +}; + +struct FontGlyphData { + /* 00 */ const FontGlyphData* pNextMaybe; + /* 04 */ u8 wcbyte2; + /* 05 */ u8 pxLength; + /* 08 */ u32 lines2bpp[0x10]; +}; + +enum FontGlyphType { + FONT_GLYPH_UI = 0, + FONT_GLYPH_DIALOGUE = 1, +}; + +enum +{ + // TODO: maybe use names that also reflect meaning for dialogue colors (this is ui colors) + + TEXT_COLOR_NORMAL = 0, + TEXT_COLOR_GRAY = 1, + TEXT_COLOR_BLUE = 2, + TEXT_COLOR_GOLD = 3, + TEXT_COLOR_GREEN = 4, + TEXT_COLOR_BLACK = 5, +}; + +extern struct FontData gDefaultFontData; +extern struct FontData* gpCurrentFont; + +void Text_InitFont(void); //! FE8U = 0x8003C95 +void Text_InitFontExt(struct FontData* pData, void* pVRAMTileRoot, u16 tileBase, int palIndex); //! FE8U = 0x8003CB9 +void Text_SetFontStandardGlyphSet(int typeId); //! FE8U = 0x8003CF5 +void Text_ResetTileAllocation(void); //! FE8U = 0x8003D21 +void Text_SetFont(struct FontData*); //! FE8U = 0x8003D39 + +void Text_InitClear(struct TextHandle*, unsigned tileWidth); //! FE8U = 0x8003D5D +void Text_InitDB(struct TextHandle*, unsigned tileWidth); //! FE8U = 0x8003D85 +void InitClearTextBatch(const TextBatchEntry[]); //! FE8U = 0x8003DAD + +void Text_Clear(struct TextHandle*); //! FE8U = 0x8003DC9 + +int Text_GetXCursor(struct TextHandle*); //! FE8U = 0x8003E51 +struct TextHandle* Text_SetXCursor(struct TextHandle*, int); //! FE8U = 0x8003E55 +struct TextHandle* Text_Advance(struct TextHandle*, int); //! FE8U = 0x8003E59 + +struct TextHandle* Text_SetColorId(struct TextHandle*, int); //! FE8U = 0x8003E61 +int Text_GetColorId(struct TextHandle*); //! FE8U = 0x8003E65 + +struct TextHandle* Text_SetParameters(struct TextHandle*, int cursor, int color); //! FE8U = 0x8003E69 + +void Text_Display(struct TextHandle*, u16* bgMap); //! FE8U = 0x8003E71 +void Text_DisplayBlank(struct TextHandle*, u16* bgMap); //! FE8U = 0x8003EBD + +unsigned Text_GetStringTextWidth(const char*); //! FE8U = 0x8003EDD +const char* GetCharTextWidth(const char* in, unsigned* out); //! FE8U = 0x8003F3D +unsigned Text_GetStringTextCenteredPos(unsigned fullLen, const char* cstring); //! FE8U = 0x8003F91 + +const char* Text_GetStringNextLine(const char*); //! FE8U = 0x8003FF5 + +void Text_DrawString(struct TextHandle*, const char*); //! FE8U = 0x8004005 +void Text_DrawNumber(struct TextHandle*, int); //! FE8U = 0x8004075 +void Text_DrawNumberOr2Dashes(struct TextHandle*, u8); //! FE8U = 0x8004145 +void Text_DrawChar(struct TextHandle*, char); //! FE8U = 0x8004181 + +// TODO: figure more out +// (I only have vague knowledge on what most things past here does) + +void* Text_GetDst1dText(struct TextHandle*); //! FE8U = 0x80041E9 +const u16* Get2bppTo4bppLookup(int); //! FE8U = 0x8004209 +void DrawGlyph1DTile(struct TextHandle*, const struct FontGlyphData*); //! FE8U = 0x8004219 +void DrawGlyph1DTileNoClear(struct TextHandle*, const struct FontGlyphData*); //! FE8U = 0x8004269 + +void Font_LoadForUI(void); //! FE8U = 0x80043A9 +void Font_LoadForDialogue(void); //! FE8U = 0x80043E9 +void Font_SetDraw1DTileNoClear(void); //! FE8U = 0x8004429 + +void DrawTextInline(struct TextHandle*, u16* bg, int color, int xStart, int tileWidth, const char* cstring); //! FE8U = 0x800443D +void Text_InsertString(struct TextHandle*, int xPos, int color, const char* str); //! FE8U = 0x8004481 +void Text_InsertNumberOr2Dashes(struct TextHandle*, int xPos, int color, u8); //! FE8U = 0x80044A5 + +void Text_AppendStringAscii(struct TextHandle*, const char*); //! FE8U = 0x80044C9 +void Text_AppendCharAscii(struct TextHandle*, char); //! FE8U = 0x8004505 + +const char* GetCharTextWidthAscii(const char* in, unsigned* out); //! FE8U = 0x8004539 +unsigned GetStringTextWidthAscii(const char*); //! FE8U = 0x8004569 + +void Font_InitForObj(struct FontData*, void* vram, int pal); //! FE8U = 0x800459D +void Text_Init2DLine(struct TextHandle*); //! FE8U = 0x80045D9 +void Text_Fill2DLine(struct TextHandle*); //! FE8U = 0x80046B5 + +void DrawSpecialUiChar(u16* out, int color, int chr); +void DrawUiNumber(u16* out, int color, int number); +void DrawUiNumberOrDoubleDashes(u16* out, int color, int number); + +#endif // GBAFE_TEXT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/trap.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/trap.h new file mode 100644 index 000000000..2d20ab9e6 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/trap.h @@ -0,0 +1,103 @@ +#ifndef GBAFE_TRAPS_H +#define GBAFE_TRAPS_H + +// bmtrap.c? + +#include + +#include "common.h" + +typedef struct EventTrapData EventTrapData; + +typedef struct Trap Trap; +typedef struct Trap ActorTile; // because speedruns are neat + +struct EventTrapData { + /* 00 */ u8 type; + /* 01 */ u8 data[5]; +} __attribute__((packed)); + +struct Trap { + /* 00 */ u8 xPosition; + /* 01 */ u8 yPosition; + + /* 02 */ u8 type; + + /* 03 */ u8 data[5]; +}; + +enum { + TRAP_NONE = 0, + TRAP_BALLISTA = 1, + TRAP_OBSTACLE = 2, // walls & snags + TRAP_MAPCHANGE = 3, + TRAP_FIRETILE = 4, + TRAP_GAS = 5, + TRAP_MAPCHANGE2 = 6, // TODO: figure out + TRAP_LIGHTARROW = 7, + TRAP_8 = 8, + TRAP_9 = 9, + TRAP_TORCHLIGHT = 10, + TRAP_MINE = 11, + TRAP_GORGON_EGG = 12, // TODO: figure out + TRAP_LIGHT_RUNE = 13, +}; + +enum { + // Ballista extdata definitions + TRAP_EXTDATA_BLST_ITEMID = 0, // ballista item id + TRAP_EXTDATA_BLST_RIDDEN = 2, // "is ridden" boolean + TRAP_EXTDATA_BLST_ITEMUSES = 3, // ballista item uses + + // Obstacle (Snags and Walls) extdata definitions + TRAP_EXTDATA_OBSTACLE_HP = 0, // hp left + + // Map Change extdata definitions + TRAP_EXTDATA_MAPCHANGE_ID = 0, // map change id + + // Trap (Fire/Gas/Arrow) extdata definitions + TRAP_EXTDATA_TRAP_TURNFIRST = 1, // start turn countdown + TRAP_EXTDATA_TRAP_TURNNEXT = 2, // repeat turn countdown + TRAP_EXTDATA_TRAP_COUNTER = 3, // turn counter + TRAP_EXTDATA_TRAP_DAMAGE = 4, // trap damage (needs confirmation) + + // Torchlight extdata definitions + TRAP_EXTDATA_LIGHT_TURNSLEFT = 0, // turns left before wearing out + + // Light Rune extdata definitions + TRAP_EXTDATA_RUNE_REPLACINGTERRAIN = 0, // terrain id of the replaced tile + TRAP_EXTDATA_RUNE_TURNSLEFT = 3, // turns left beofre wearing out +}; + +extern struct Trap gTrapArray[]; //! FE8U = (0x0203A614) + +struct Trap* GetTrapAt(int x, int y); //! FE8U = (0x0802E1F0+1) +struct Trap* GetSpecificTrapAt(int x, int y, int type); //! FE8U = (0x0802E24C+1) + +struct Trap* AddTrap(int x, int y, int type, int ext); //! FE8U = (0x0802E2B8+1) +struct Trap* AddTrapExt(int x, int y, int type, int ext1, int ext24, int ext3, int ext5); //! FE8U = (0x0802E2E0+1) +void RemoveTrap(struct Trap* trap); //! FE8U = (0x0802E2FC+1) +void AddFireTrap(int x, int y, int startCountDown, int resetCountDown); //! FE8U = (0x0802E314+1) +void AddGasTrap(int x, int y, int direction, int startCountDown, int resetCountDown); //! FE8U = (0x0802E330+1) +void AddArrowTrap(int x, int startCountDown, int resetCountDown); //! FE8U = (0x0802E350+1) +void AddTrap8(int x, int y); //! FE8U = (0x0802E388+1) +void AddTrap9(int x, int y, int ext); //! FE8U = (0x0802E398+1) + +// map changes -> map.h? +void ApplyTrapMapChanges(void); //! FE8U = (0x0802E430+1) + +void ApplyMapChangesById(int id); //! FE8U = (0x0802E58C+1) +void AddMapChange(int id); //! FE8U = (0x0802E5F8+1) +void RemoveMapChange(int id); //! FE8U = (0x0802E60C+1) +int AreMapChangeTriggered(int id); //! FE8U = 0x802E639 + +void HideIfUnderRoof(struct Unit*); //! FE8U = (0x0802E660+1) +void UpdateUnitsUnderRoof(void); //! FE8U = (0x0802E690+1) + +struct Trap* GetTrap(int id); //!< FE8U:0802EB8D + +// other file? +void AddGorgonEggTrap(int a, int b, int c, int d, int e); //! FE8U = (0x08037928+1) +struct Trap* AddBallista(int x, int y, int itemIndex); //! FE8U = (0x08037A04+1) + +#endif // GBAFE_TRAPS_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/unit.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/unit.h new file mode 100644 index 000000000..eafdb5215 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/unit.h @@ -0,0 +1,491 @@ +#ifndef GBAFE_UNIT_H +#define GBAFE_UNIT_H + +// Rename to bmunit.h? Since it corresponds to bmunit.c from the proto +// Maybe corresponds to multiple files + +#include + +#include "common.h" + +typedef struct Unit Unit; +typedef struct BattleUnit BattleUnit; +typedef struct EventUnit EventUnit; + +typedef struct CharacterData CharacterData; +typedef struct ClassData ClassData; + +struct SMSHandle; +struct SupportData; + +enum { + // Config + + // Maximum unit level + UNIT_LEVEL_MAX = 20, + + // Maximum unit item count + UNIT_ITEM_COUNT = 5, + + // Maximum unit definition item count + UNIT_DEFINITION_ITEM_COUNT = 4 +}; + +// Meaningful constants +enum { + UNIT_EXP_DISABLED = 0xFF +}; + +struct CharacterData { + /* 00 */ u16 nameTextId; + /* 02 */ u16 descTextId; + /* 04 */ u8 number; + /* 05 */ u8 defaultClass; + /* 06 */ u16 portraitId; + /* 08 */ u8 miniPortrait; + /* 09 */ u8 affinity; + /* 0A */ u8 unk0A; + + /* 0B */ s8 baseLevel; + /* 0C */ s8 baseHP; + /* 0D */ s8 basePow; + /* 0E */ s8 baseSkl; + /* 0F */ s8 baseSpd; + /* 10 */ s8 baseDef; + /* 11 */ s8 baseRes; + /* 12 */ s8 baseLck; + /* 13 */ s8 baseCon; + + /* 14 */ u8 baseRanks[8]; + + /* 1C */ u8 growthHP; + /* 1D */ u8 growthPow; + /* 1E */ u8 growthSkl; + /* 1F */ u8 growthSpd; + /* 20 */ u8 growthDef; + /* 21 */ u8 growthRes; + /* 22 */ u8 growthLck; + + /* 23 */ u8 unk23; + /* 24 */ u8 unk24; + /* 25 */ u8 unk25; + /* 26 */ u8 unk26; + /* 27 */ u8 unk27; + + /* 28 */ u32 attributes; + + /* 2C */ const struct SupportData* pSupportData; + /* 30 */ void* pUnk30; +}; + +struct ClassData { + /* 00 */ u16 nameTextId; + /* 02 */ u16 descTextId; + /* 04 */ u8 number; + /* 05 */ u8 promotion; + /* 06 */ u8 SMSId; + /* 07 */ u8 slowWalking; + /* 08 */ u16 defaultPortraitId; + /* 0A */ u8 unk0A; + + /* 0B */ s8 baseHP; + /* 0C */ s8 basePow; + /* 0D */ s8 baseSkl; + /* 0E */ s8 baseSpd; + /* 0F */ s8 baseDef; + /* 10 */ s8 baseRes; + /* 11 */ s8 baseCon; + /* 12 */ s8 baseMov; + + /* 13 */ s8 maxHP; + /* 14 */ s8 maxPow; + /* 15 */ s8 maxSkl; + /* 16 */ s8 maxSpd; + /* 17 */ s8 maxDef; + /* 18 */ s8 maxRes; + /* 19 */ s8 maxCon; + + /* 1A */ s8 classRelativePower; + + /* 1B */ s8 growthHP; + /* 1C */ s8 growthPow; + /* 1D */ s8 growthSkl; + /* 1E */ s8 growthSpd; + /* 1F */ s8 growthDef; + /* 20 */ s8 growthRes; + /* 21 */ s8 growthLck; + + /* 22 */ u8 promotionHp; + /* 23 */ u8 promotionPow; + /* 24 */ u8 promotionSkl; + /* 25 */ u8 promotionSpd; + /* 26 */ u8 promotionDef; + /* 27 */ u8 promotionRes; + + /* 28 */ u32 attributes; + + /* 2C */ u8 baseRanks[8]; + + /* 34 */ const void* pBattleAnimDef; + /* 38 */ const s8* pMovCostTable[3]; // standard, rain, snow + + /* 44 */ const s8* pTerrainAvoidLookup; + /* 48 */ const s8* pTerrainDefenseLookup; + /* 4C */ const s8* pTerrainResistanceLookup; + + /* 50 */ const void* pUnk50; +}; + +struct Unit { + /* 00 */ const struct CharacterData* pCharacterData; + /* 04 */ const struct ClassData* pClassData; + + /* 08 */ s8 level; + /* 09 */ u8 exp; + /* 0A */ u8 aiFlag; + + /* 0B */ s8 index; + + /* 0C */ u32 state; + + /* 10 */ s8 xPos; + /* 11 */ s8 yPos; + + /* 12 */ s8 maxHP; + /* 13 */ s8 curHP; + /* 14 */ s8 pow; + /* 15 */ s8 skl; + /* 16 */ s8 spd; + /* 17 */ s8 def; + /* 18 */ s8 res; + /* 19 */ s8 lck; + + /* 1A */ s8 conBonus; + /* 1B */ u8 rescueOtherUnit; + /* 1C */ u8 ballistaIndex; + /* 1D */ s8 movBonus; + + /* 1E */ u16 items[UNIT_ITEM_COUNT]; + /* 28 */ u8 ranks[8]; + + /* 30 */ u8 statusIndex : 4; + /* 30 */ u8 statusDuration : 4; + + /* 31 */ u8 torchDuration : 4; + /* 31 */ u8 barrierDuration : 4; + + /* 32 */ u8 supports[6]; + /* 38 */ u8 unitLeader; + /* 39 */ u8 supportBits; + /* 3A */ u8 unk3A; + /* 3B */ u8 unk3B; + + /* 3C */ struct SMSHandle* pMapSpriteHandle; + + /* 40 */ u16 ai3And4; + /* 42 */ u8 ai1; + /* 43 */ u8 ai1data; + /* 44 */ u8 ai2; + /* 45 */ u8 ai2data; + /* 46 */ u8 unk46_saved; + /* 47 */ u8 unk47; +}; + +struct UnitDefinition { + /* 00 */ u8 charIndex; + /* 01 */ u8 classIndex; + /* 02 */ u8 leaderCharIndex; + + /* 03 */ u8 autolevel : 1; + /* 03 */ u8 allegiance : 2; + /* 03 */ u8 level : 5; + + /* 04 */ u16 xPosition : 6; /* 04:0 to 04:5 */ + /* 04 */ u16 yPosition : 6; /* 04:6 to 05:3 */ + /* 05 */ u16 genMonster : 1; /* 05:4 */ + /* 05 */ u16 itemDrop : 1; /* 05:5 */ + /* 05 */ u16 sumFlag : 1; /* 05:6 */ + /* 05 */ u16 extraData : 9; /* 05:7 to 06:7 */ + /* 07 */ u16 redaCount : 8; + + /* 08 */ const void* redas; + + /* 0C */ u8 items[UNIT_DEFINITION_ITEM_COUNT]; + + struct { + /* 10 */ u8 ai1; + /* 11 */ u8 ai2; + /* 12 */ u8 ai3; + /* 13 */ u8 ai4; + } ai; +}; + +enum { + // Unit state constant masks + + US_NONE = 0, + + US_HIDDEN = (1 << 0), + US_UNSELECTABLE = (1 << 1), + US_DEAD = (1 << 2), + US_NOT_DEPLOYED = (1 << 3), + US_RESCUING = (1 << 4), + US_RESCUED = (1 << 5), + US_HAS_MOVED = (1 << 6), // Bad name? + US_CANTOING = US_HAS_MOVED, // Alias + US_UNDER_A_ROOF = (1 << 7), + US_BIT8 = (1 << 8), + US_BIT9 = (1 << 9), + US_HAS_MOVED_AI = (1 << 10), + US_IN_BALLISTA = (1 << 11), + US_DROP_ITEM = (1 << 12), + US_GROWTH_BOOST = (1 << 13), + US_SOLOANIM_1 = (1 << 14), + US_SOLOANIM_2 = (1 << 15), + US_BIT16 = (1 << 16), + US_BIT17 = (1 << 17), + US_BIT18 = (1 << 18), + US_BIT19 = (1 << 19), + US_BIT20 = (1 << 20), + US_BIT21 = (1 << 21), + US_BIT22 = (1 << 22), + // = (1 << 23), + US_BIT24 = (1 << 24), + US_BIT25 = (1 << 25), + US_BIT26 = (1 << 26), + // = (1 << 27), + // = (1 << 28), + // = (1 << 29), + // = (1 << 30), + // = (1 << 31), + + // Helpers + US_UNAVAILABLE = (US_DEAD | US_NOT_DEPLOYED | US_BIT16), +}; + +enum { + // Unit status identifiers + + UNIT_STATUS_NONE = 0, + + UNIT_STATUS_POISON = 1, + UNIT_STATUS_SLEEP = 2, + UNIT_STATUS_SILENCED = 3, + UNIT_STATUS_BERSERK = 4, + + UNIT_STATUS_ATTACK = 5, + UNIT_STATUS_DEFENSE = 6, + UNIT_STATUS_CRIT = 7, + UNIT_STATUS_AVOID = 8, + + UNIT_STATUS_SICK = 9, + UNIT_STATUS_RECOVER = 10, + + UNIT_STATUS_PETRIFY = 11, + UNIT_STATUS_12 = 12, + UNIT_STATUS_13 = 13, +}; + +enum { + UA_BLUE = 0x00, + UA_GREEN = 0x40, + UA_RED = 0x80, + + FACTION_BLUE = 0x00, // player units + FACTION_GREEN = 0x40, // ally npc units + FACTION_RED = 0x80, // enemy units + FACTION_PURPLE = 0xC0, // link arena 4th team +}; + +enum { + // Character/Class attributes + + CA_NONE = 0, + + CA_MOUNTEDAID = (1 << 0), + CA_CANTO = (1 << 1), + CA_STEAL = (1 << 2), + CA_LOCKPICK = (1 << 3), + CA_DANCE = (1 << 4), + CA_PLAY = (1 << 5), + CA_CRITBONUS = (1 << 6), + CA_BALLISTAE = (1 << 7), + CA_PROMOTED = (1 << 8), + CA_SUPPLY = (1 << 9), + CA_MOUNTED = (1 << 10), + CA_WYVERN = (1 << 11), + CA_PEGASUS = (1 << 12), + CA_LORD = (1 << 13), + CA_FEMALE = (1 << 14), + CA_BOSS = (1 << 15), + CA_LOCK_1 = (1 << 16), + CA_LOCK_2 = (1 << 17), + CA_LOCK_3 = (1 << 18), // Dragons or Monster depending of game + CA_MAXLEVEL10 = (1 << 19), + CA_UNSELECTABLE = (1 << 20), + CA_TRIANGLEATTACK_PEGASI = (1 << 21), + CA_TRIANGLEATTACK_ARMORS = (1 << 22), + CA_BIT_23 = 0x00800000, + CA_NEGATE_LETHALITY = 0x01000000, + CA_LETHALITY = 0x02000000, + CA_MAGICSEAL = 0x04000000, + CA_SUMMON = 0x08000000, + CA_LOCK_4 = 0x10000000, + CA_LOCK_5 = 0x20000000, + CA_LOCK_6 = 0x40000000, + CA_LOCK_7 = 0x80000000, + + // Helpers + CA_REFRESHER = CA_DANCE | CA_PLAY, + CA_TRIANGLEATTACK_ANY = CA_TRIANGLEATTACK_ARMORS | CA_TRIANGLEATTACK_PEGASI, +}; + +#define UNIT_IS_VALID(aUnit) ((aUnit) && (aUnit)->pCharacterData) + +#define UNIT_FACTION(aUnit) ((aUnit)->index & 0xC0) + +#define UNIT_CATTRIBUTES(aUnit) ((aUnit)->pCharacterData->attributes | (aUnit)->pClassData->attributes) + +#define UNIT_MHP_MAX(aUnit) (UNIT_FACTION(unit) == FACTION_RED ? 120 : 60) +#define UNIT_POW_MAX(aUnit) ((aUnit)->pClassData->maxPow) +#define UNIT_SKL_MAX(aUnit) ((aUnit)->pClassData->maxSkl) +#define UNIT_SPD_MAX(aUnit) ((aUnit)->pClassData->maxSpd) +#define UNIT_DEF_MAX(aUnit) ((aUnit)->pClassData->maxDef) +#define UNIT_RES_MAX(aUnit) ((aUnit)->pClassData->maxRes) +#define UNIT_LCK_MAX(aUnit) (30) +#define UNIT_CON_MAX(aUnit) ((aUnit)->pClassData->maxCon) +#define UNIT_MOV_MAX(aUnit) (15) + +#define UNIT_CON_BASE(aUnit) ((aUnit)->pClassData->baseCon + (aUnit)->pCharacterData->baseCon) +#define UNIT_MOV_BASE(aUnit) ((aUnit)->pClassData->baseMov) + +#define UNIT_CON(aUnit) (UNIT_CON_BASE(aUnit) + (aUnit)->conBonus) +#define UNIT_MOV(aUnit) ((aUnit)->movBonus + UNIT_MOV_BASE(aUnit)) + +#define UNIT_IS_GORGON_EGG(aUnit) (((aUnit)->pClassData->number == CLASS_GORGONEGG) || ((aUnit)->pClassData->number == CLASS_GORGONEGG2)) +#define UNIT_IS_PHANTOM(aUnit) ((aUnit)->pClassData->number == CLASS_PHANTOM) + +#define UNIT_ARENA_LEVEL(aUnit) (((aUnit)->state >> 17) & 0x7) + +#define UNIT_SUPPORT_DATA(aUnit) ((aUnit)->pCharacterData->pSupportData) + +// Compat with old FE-CLib +#define UNIT_ATTRIBUTES(aUnit) UNIT_CATTRIBUTES(aUnit) + +extern const struct CharacterData gCharacterData[]; +extern const struct ClassData gClassData[]; + +extern struct Unit gUnitArrayBlue[]; //! FE8U = 0x202BE4C +extern struct Unit* gActiveUnit; //! FE8U = 0x3004E50 +extern struct Unit* const gUnitLookup[]; //! FE8U = 0x859A5D0 + +extern u8 gActiveUnitId; //! FE8U = 0x202BE44 +extern struct Vec2 gActiveUnitMoveOrigin; //! FE8U = 0x202BE48 + +void ClearUnits(void); //! FE8U = 0x80177C5 +void ClearUnit(struct Unit*); //! FE8U = 0x80177F5 +void CopyUnit(const struct Unit*, struct Unit*); //! FE8U = 0x801781D +struct Unit* GetFreeUnit(int faction); //! FE8U = 0x8017839 +struct Unit* GetFreeBlueUnit(); //! FE8U = 0x8017871 + +int GetUnitFogViewRange(const struct Unit*); //! FE8U = 0x80178A9 + +void SetUnitStatus(struct Unit*, int status); //! FE8U = 0x80178D9 +void SetUnitStatusExt(struct Unit*, int status, int duration); //! FE8U = 0x80178F5 + +int GetUnitSMSId(const struct Unit*); //! FE8U = 0x8017905 + +int UnitAddItem(struct Unit*, u16); //! FE8U = 0x8017949 +void ClearUnitInventory(struct Unit*); //! FE8U = 0x801796D +void UnitRemoveInvalidItems(struct Unit*); //! FE8U = 0x8017985 +int GetUnitItemCount(const struct Unit*); //! FE8U = 0x80179D9 +int UnitHasItem(const struct Unit*, u16); //! FE8U = 0x80179F9 + +int LoadUnits(const struct UnitDefinition[]); //! FE8U = 0x8017A35 +int CanClassWieldWeaponType(u8); //! FE8U = 0x8017A8D +struct Unit* LoadUnit(const struct UnitDefinition*); //! FE8U = 0x8017AC5 +void UnitInitFromDefinition(struct Unit*, const struct UnitDefinition*); //! FE8U = 0x8017D3D +void UnitLoadItemsFromDefinition(struct Unit*, const struct UnitDefinition*); //! FE8U = 0x8017DF9 +void UnitLoadStatsFromChracter(struct Unit*, const struct CharacterData*); //! FE8U = 0x8017E35 +void FixROMUnitStructPtr(struct Unit*); //! FE8U = 0x8017EBD +void UnitLoadSupports(struct Unit*); //! FE8U = 0x8017EF5 +void UnitAutolevelWExp(struct Unit*); //! FE8U = 0x8017F21 +void UnitAutolevelCore(struct Unit*, int, int); //! FE8U = 0x8017FC5 +void UnitAutolevelPenalty(struct Unit*, int, int); //! FE8U = 0x8018065 +void UnitApplyBonusLevels(struct Unit*, int); //! FE8U = 0x80180CD +void UnitAutolevel(struct Unit*); //! FE8U = 0x8018121 +void UnitAutolevelRealistic(struct Unit*); //! FE8U = 0x8018161 +void UnitCheckStatCaps(struct Unit*); //! FE8U = 0x80181C9 + +struct Unit* GetUnitByCharId(u8 charId); //! FE8U = 0x801829D +struct Unit* GetUnitFromCharIdAndFaction(u8 charId, int faction); //! FE8U = 0x80182D9 + +int CanUnitRescue(const struct Unit*, const struct Unit*); //! FE8U = 0x801831D +void UnitRescue(struct Unit*, struct Unit*); //! FE8U = 0x801834D +void UnitDrop(struct Unit*, int x, int y); //! FE8U = 0x8018371 +void UnitGive(struct Unit*, struct Unit*); //! FE8U = 0x80183C9 +void UnitKill(struct Unit*); //!< FE8U:080183FD +void UnitChangeFaction(struct Unit* unit, int faction); //! FE8U = 0x8018431 +void UnitFinalizeMovement(struct Unit*); //! FE8U = 0x801849D + +void UnitBeginAction(struct Unit*); //! FE8U = 0x801865D +void UnitBeginCantoAction(struct Unit*); //! FE8U = 0x80186D5 +void MoveActiveUnit(int x, int y); //! FE8U = 0x8018741 + +void SetAllUnitNotBackSprite(void); //! FE8U = 0x801895D + +void UnitUpdateUsedItem(struct Unit*, int slot); //! FE8U = 0x8018995 + +int GetUnitAid(const struct Unit*); //! FE8U = 0x80189B9 +int GetUnitMagBy2Range(const struct Unit*); //! FE8U = 0x8018A1D +int UnitHasMagicRank(const struct Unit*); //! FE8U = 0x8018A59 +int GetUnitWeaponUsabilityBits(const struct Unit*); //! FE8U = 0x8018B29 + +int CanUnitMove(void); //! FE8U = 0x8018BD9 + +int IsPositionMagicSealed(int x, int y); //! FE8U = 0x8018C99 +int IsUnitMagicSealed(const struct Unit*); //! FE8U = 0x8018D09 + +u16 GetUnitLastItem(const struct Unit*); //! FE8U = 0x8018D35 + +const u8* GetUnitMovementCost(const struct Unit*); //! FE8U = 0x8018D4D + +u8 GetClassSMSId(u8); //! FE8U = 0x8018D91 + +void UpdatePrevDeployStates(void); //! FE8U = 0x8018DB1 +void LoadUnitPrepScreenPositions(void); //! FE8U = 0x8018E31 +int IsUnitSlotAvailable(int faction); //! FE8U = 0x8018F49 +void ClearCutsceneUnits(void); //! FE8U = 0x80190B5 + +int GetUnitCurrentHp(const struct Unit*); //! FE8U = 0x8019151 +int GetUnitMaxHp(const struct Unit*); //! FE8U = 0x8019191 +int GetUnitPower(const struct Unit*); //! FE8U = 0x80191B1 +int GetUnitSkill(const struct Unit*); //! FE8U = 0x80191D1 +int GetUnitSpeed(const struct Unit*); //! FE8U = 0x8019211 +int GetUnitDefense(const struct Unit*); //! FE8U = 0x8019251 +int GetUnitResistance(const struct Unit*); //! FE8U = 0x8019271 +int GetUnitLuck(const struct Unit*); //! FE8U = 0x8019299 +int GetUnitPortraitId(const struct Unit*); //! FE8U = 0x80192B9 +int GetUnitMiniPortraitId(const struct Unit*); //! FE8U = 0x80192F5 +u8 GetUnitLeaderCharId(const struct Unit*); //! FE8U = 0x8019341 + +void SetUnitHp(struct Unit*, int); //! FE8U = 0x8019369 +void AddUnitHp(struct Unit*, int); //! FE8U = 0x80193A5 + +char* GetUnitRescueName(const struct Unit*); //! FE8U = 0x80193E9 +char* GetUnitStatusName(const struct Unit*); //! FE8U = 0x8019415 + +struct Unit* GetUnit(u8 index); //! FE8U = 0x8019431 + +const struct ClassData* GetClassData(u8); //! FE8U = 0x8019445 +const struct CharacterData* GetCharacterData(u8); //! FE8U = 0x8019465 + +void UnitRemoveItem(struct Unit*, int slot); //! FE8U = 0x8019485 + +int CanUnitCrossTerrain(const struct Unit*, u8 terrain); //! FE8U = 0x801949D + +int IsUnitEffectiveAgainst(const struct Unit*, const struct Unit*); + +int CountUnitInFactionWithoutAttributes(int faction, int attributes); + +#endif // GBAFE_UNIT_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/vramtransfer.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/vramtransfer.h new file mode 100644 index 000000000..a6782fa14 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/vramtransfer.h @@ -0,0 +1,43 @@ +#ifndef GBAFE_VRAMTRANSFER_H +#define GBAFE_VRAMTRANSFER_H + +#include "common.h" + +typedef struct ObjData ObjData; + +struct ObjData { + u16 count; + u16 data[]; // NOTE: C99+ only +}; + +// "Standard" single-object datas +extern const struct ObjData gObj_8x8; +extern const struct ObjData gObj_16x16; +extern const struct ObjData gObj_32x32; +extern const struct ObjData gObj_16x32; + +void ClearTileRegistry(void); //! FE8U = 0x8001FE1 +void RegisterTileGraphics(const void* source, void* target, unsigned size); //! FE8U = 0x8002015 +void RegisterFillTile(u32 value, void* target, unsigned size); //! FE8U = 0x8002055 +void SyncRegisteredTiles(void); //! FE8U = 0x8002089 + +void InitOAMSplice(int loOAMSize); //! FE8U = 0x80020FD + +void SyncHiOAM(void); //! FE8U = 0x8002139 +void SyncLoOAM(void); //! FE8U = 0x800217D + +void WriteOAMRotScaleData(unsigned index, int pa, int pb, int pc, int pd); //! FE8U = 0x80021B1 + +unsigned GetLoOAMSize(void); //! FE8U = 0x800224D + +// ARM +void PushToHiOAM(u16 xBase, u16 yBase, const struct ObjData* data, u16 tileBase); //! FE8U = 0x8002BB9 +void PushToLoOAM(u16 xBase, u16 yBase, const struct ObjData* data, u16 tileBase); //! FE8U = 0x8002BCD + +void ClearOAMBuffer(u16* buffer, unsigned size); //! FE8U = 0x80D7499 + +// decomp compat +#define CallARM_PushToSecondaryOAM PushToHiOAM +#define CallARM_PushToPrimaryOAM PushToLoOAM + +#endif // GBAFE_VRAMTRANSFER_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/wm.h b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/wm.h new file mode 100644 index 000000000..e8372d7e7 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/include/gbafe/wm.h @@ -0,0 +1,19 @@ +#ifndef GBAFE_WM_H +#define GBAFE_WM_H + +struct GMapData +{ + /* 00 */ u8 state; + /* 01 */ u8 unk01; + /* 02 */ short xCamera; + /* 04 */ short yCamera; + /* 08 */ u32 unk08; + /* 0C */ u32 unk0C; + /* 10 */ struct { u8 state, location; u16 unk; } units[4]; + /* 20 */ struct { u8 state, location; u16 unk; } unk20[4]; + /* 30 */ struct { u8 unk; } unk30[0x1D]; +}; + +extern struct GMapData gGMData; + +#endif // GBAFE_WM_H diff --git a/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20180806.s b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20180806.s new file mode 100644 index 000000000..d367319d7 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20180806.s @@ -0,0 +1,3738 @@ + +.macro SET_ABS_FUNC name, value + .global \name + .type \name, %function + .set \name, \value +.endm + +.macro SET_ABS_DATA name, value + .global \name + .type \name, %object + .set \name, \value +.endm + +SET_ABS_FUNC GlobalIRQHandler, 0x80000FC +SET_ABS_FUNC ARM_ClearOAMBuffer, 0x8000304 +SET_ABS_FUNC ARM_ComputeChecksum, 0x8000360 +SET_ABS_FUNC ARM_FillRect, 0x80003A8 +SET_ABS_FUNC ARM_PushToHiOAM, 0x8000494 +SET_ABS_FUNC ARM_PushToLoOAM, 0x8000534 +SET_ABS_FUNC ARM_Draw1DTileTextGlyphCore, 0x8000564 +SET_ABS_FUNC ARM_HuffmanTextDecomp, 0x80006E4 +SET_ABS_FUNC ARM_Func5, 0x8000784 +SET_ABS_FUNC ARM_FillMovementMapCore, 0x8000874 +SET_ABS_FUNC AgbMain, 0x8000A21 +SET_ABS_FUNC StoreIRQToIRAM, 0x8000B35 +SET_ABS_FUNC IRQDummy, 0x8000B75 +SET_ABS_FUNC SetIRQHandler, 0x8000B79 +SET_ABS_FUNC NextRN, 0x8000B89 +SET_ABS_FUNC InitRN, 0x8000BC9 +SET_ABS_FUNC LoadRNState, 0x8000C35 +SET_ABS_FUNC SaveRNState, 0x8000C4D +SET_ABS_FUNC NextRN_100, 0x8000C65 +SET_ABS_FUNC NextRN_N, 0x8000C81 +SET_ABS_FUNC Roll1RN, 0x8000CA1 +SET_ABS_FUNC Roll2RN, 0x8000CB9 +SET_ABS_FUNC SetOtherRNState, 0x8000CDD +SET_ABS_FUNC GetOtherRN, 0x8000CE9 +SET_ABS_FUNC GetGameClock, 0x8000D29 +SET_ABS_FUNC SetGameClock, 0x8000D35 +SET_ABS_FUNC IncrementGameClock, 0x8000D41 +SET_ABS_FUNC CopyToPaletteBuffer, 0x8000DB9 +SET_ABS_FUNC SyncLCDControl, 0x8000E9D +SET_ABS_FUNC GetBgControlBuffer, 0x8000F45 +SET_ABS_FUNC GetBgTileDataOffset, 0x8000F8D +SET_ABS_FUNC GetBgLocalTileIndex, 0x8000FA5 +SET_ABS_FUNC SetBgTileDataOffset, 0x8000FDD +SET_ABS_FUNC SetBgMapDataOffset, 0x8001005 +SET_ABS_FUNC SetBgScreenSize, 0x800104D +SET_ABS_FUNC SyncPalettes_AdditiveFilter, 0x8001095 +SET_ABS_FUNC SyncPalettes_SubstractiveFilter, 0x80010F1 +SET_ABS_FUNC SyncBgs, 0x800114D +SET_ABS_FUNC FillBgMap, 0x8001221 +SET_ABS_FUNC RegisterBlankTile, 0x8001241 +SET_ABS_FUNC SetInterrupt_LCDVBlank, 0x8001259 +SET_ABS_FUNC SetInterrupt_LCDVCountMatch, 0x80012AD +SET_ABS_FUNC SetLCDVCountSetting, 0x800131D +SET_ABS_FUNC SetMainCallback, 0x8001329 +SET_ABS_FUNC ExecMainCycle, 0x8001335 +SET_ABS_FUNC UpdateKeyStatus_Private, 0x800134D +SET_ABS_FUNC UpdateKeyStatus, 0x80013E1 +SET_ABS_FUNC ResetKeyStatus, 0x8001421 +SET_ABS_FUNC SetKeyStatusIgnore, 0x8001441 +SET_ABS_FUNC GetKeyStatusIgnore, 0x800144D +SET_ABS_FUNC KeyStatusSetterProc_Set, 0x8001459 +SET_ABS_FUNC StartKeyStatusSetter, 0x8001471 +SET_ABS_FUNC SetBgPosition, 0x800148D +SET_ABS_FUNC LoadBgConfig, 0x8001B59 +SET_ABS_FUNC GetBgMapBuffer, 0x8001C4D +SET_ABS_FUNC ShouldSkipHSScreen, 0x8001C69 +SET_ABS_FUNC UpdateHBlankHandlerState, 0x8001D29 +SET_ABS_FUNC SetPrimaryHBlankCallback, 0x8001DD9 +SET_ABS_FUNC SetSecondaryHBlankCallback, 0x8001DED +SET_ABS_FUNC GetBgIdFromMapBuffer, 0x8001E01 +SET_ABS_FUNC SetBgDepth, 0x8001E6D +SET_ABS_FUNC GetBgDepth, 0x8001E8D +SET_ABS_FUNC SetColorEffectsParameters, 0x8001EA1 +SET_ABS_FUNC SetColorEffectsFirstTarget, 0x8001ED1 +SET_ABS_FUNC SetColorEffectsSecondTarget, 0x8001F0D +SET_ABS_FUNC SetColorEffectBackdropFirstTarget, 0x8001F49 +SET_ABS_FUNC SetColorEffectBackdropSecondTarget, 0x8001F65 +SET_ABS_FUNC SetDefaultColorEffects, 0x8001F81 +SET_ABS_FUNC EnablePaletteSync, 0x8001F95 +SET_ABS_FUNC DisablePaletteSync, 0x8001FA1 +SET_ABS_FUNC EnableBgSyncByMask, 0x8001FAD +SET_ABS_FUNC EnableBgSyncByIndex, 0x8001FBD +SET_ABS_FUNC ClearTileRegistry, 0x8001FE1 +SET_ABS_FUNC RegisterTileGraphics, 0x8002015 +SET_ABS_FUNC RegisterFillTile, 0x8002055 +SET_ABS_FUNC SyncRegisteredTiles, 0x8002089 +SET_ABS_FUNC InitOAMSplice, 0x80020FD +SET_ABS_FUNC SyncHiOAM, 0x8002139 +SET_ABS_FUNC SyncLoOAM, 0x800217D +SET_ABS_FUNC WriteOAMRotScaleData, 0x80021B1 +SET_ABS_FUNC GetLoOAMSize, 0x800224D +SET_ABS_FUNC Sound_GetCurrentSong, 0x8002259 +SET_ABS_FUNC Sound_IsSongPlaying, 0x8002265 +SET_ABS_FUNC Sound_SetVolume_8002274, 0x8002275 +SET_ABS_FUNC Sound_SetSongVolume, 0x80022ED +SET_ABS_FUNC Sound_FadeSongOut, 0x800231D +SET_ABS_FUNC Sound_FadeOut_800237C, 0x800237D +SET_ABS_FUNC Sound_FadeOut_80023E0, 0x80023E1 +SET_ABS_FUNC Sound_PlaySong, 0x8002449 +SET_ABS_FUNC Sound_PlaySongSmoothCommon, 0x8002479 +SET_ABS_FUNC Sound_PlaySongSmooth, 0x80024D5 +SET_ABS_FUNC Sound_PlaySongSmoothExt, 0x80024E5 +SET_ABS_FUNC Sound_SongVolumeTransitionAProc_Loop, 0x80024F1 +SET_ABS_FUNC StartSongVolumeTransitionB, 0x8002731 +SET_ABS_FUNC Sound_SongVolumeTransitionBProc_Loop, 0x8002789 +SET_ABS_FUNC Sound_PlaySoundDelayedProc_Loop, 0x800281D +SET_ABS_FUNC PlaySongDelayed, 0x8002859 +SET_ABS_FUNC Sound_PlaySongCore, 0x8002891 +SET_ABS_FUNC SetSoundDefaultMaxChannels, 0x80028D1 +SET_ABS_FUNC SetSoundMaxChannels, 0x80028E9 +SET_ABS_FUNC Sound_SetupMaxChannelsForSong, 0x80028FD +SET_ABS_FUNC CancelPlaySongDelayed, 0x8002AB9 +SET_ABS_FUNC InitRamFuncs, 0x8002AF9 +SET_ABS_FUNC Draw1DTileTextGlyphCore, 0x8002B91 +SET_ABS_FUNC HuffmanTextDecomp, 0x8002BA5 +SET_ABS_FUNC PushToHiOAM, 0x8002BB9 +SET_ABS_FUNC PushToLoOAM, 0x8002BCD +SET_ABS_FUNC FillMovementMapCore, 0x8002BF5 +SET_ABS_FUNC InitProcSystem, 0x8002C09 +SET_ABS_FUNC StartProc, 0x8002C7D +SET_ABS_FUNC StartBlockingProc, 0x8002CE1 +SET_ABS_FUNC EndProc_Private, 0x8002D11 +SET_ABS_FUNC EndProc, 0x8002D6D +SET_ABS_FUNC _AllocProcState, 0x8002D85 +SET_ABS_FUNC _FreeProcState, 0x8002D95 +SET_ABS_FUNC _InsertMainProc, 0x8002DA5 +SET_ABS_FUNC _InsertChildProc, 0x8002DC9 +SET_ABS_FUNC _IsolateProc, 0x8002DE1 +SET_ABS_FUNC ExecProc_Private, 0x8002E29 +SET_ABS_FUNC ExecProc, 0x8002E85 +SET_ABS_FUNC BreakProcLoop, 0x8002E95 +SET_ABS_FUNC FindProc, 0x8002E9D +SET_ABS_FUNC GotoProcLabel, 0x8002F25 +SET_ABS_FUNC GotoProcInstruction, 0x8002F5D +SET_ABS_FUNC MarkProc, 0x8002F65 +SET_ABS_FUNC SetProcEndHandler, 0x8002F6D +SET_ABS_FUNC ForEveryProc, 0x8002F71 +SET_ABS_FUNC ForEachProc, 0x8002F99 +SET_ABS_FUNC HaltEachProcMarked, 0x8002FED +SET_ABS_FUNC ResumeEachProcMarked, 0x8003015 +SET_ABS_FUNC EndEachProcMarked, 0x8003041 +SET_ABS_FUNC _EndProc, 0x800306D +SET_ABS_FUNC EndEachProc, 0x8003079 +SET_ABS_FUNC _BreakProcLoop, 0x8003089 +SET_ABS_FUNC BreakEachProcLoop, 0x8003095 +SET_ABS_FUNC ForProcFamily, 0x80030A5 +SET_ABS_FUNC ProcInst00_End, 0x80030E9 +SET_ABS_FUNC ProcInst01_SetName, 0x80030F5 +SET_ABS_FUNC ProcInst02_CallRoutine, 0x8003105 +SET_ABS_FUNC ProcInst16_CallRoutine2, 0x8003119 +SET_ABS_FUNC ProcInst18_CallRoutineArg, 0x8003131 +SET_ABS_FUNC ProcInst14_WhileRoutine, 0x8003151 +SET_ABS_FUNC ProcInst03_SetOnCycle, 0x800317D +SET_ABS_FUNC ProcInst04_SetOnEnd, 0x800318D +SET_ABS_FUNC ProcInst05_AddChild, 0x80031A9 +SET_ABS_FUNC ProcInst06_AddBlockingChild, 0x80031C5 +SET_ABS_FUNC ProcInst07_BuggedAddGlobal, 0x80031E1 +SET_ABS_FUNC ProcInst08_BlockUntilRunning, 0x8003201 +SET_ABS_FUNC ProcInst09_EndAllOf, 0x8003229 +SET_ABS_FUNC ProcInst0A_BreakLoopForAll, 0x8003245 +SET_ABS_FUNC ProcInst0B_Nop, 0x8003261 +SET_ABS_FUNC ProcInst0D_GotoPointer, 0x800326D +SET_ABS_FUNC ProcInst0C_GotoLabel, 0x800327D +SET_ABS_FUNC _ProcSleepCallback, 0x8003291 +SET_ABS_FUNC ProcInst0E_Sleep, 0x80032AD +SET_ABS_FUNC ProcInst0F_Mark, 0x80032D5 +SET_ABS_FUNC ProcInst13_Nop2, 0x80032E9 +SET_ABS_FUNC ProcInst10_Halt, 0x80032F5 +SET_ABS_FUNC ProcInst11_EnsureUniqueWeak, 0x80032F9 +SET_ABS_FUNC ProcInst12_EnsureUniqueStrong, 0x8003339 +SET_ABS_FUNC ProcInst15_Nop3, 0x8003371 +SET_ABS_FUNC ProcInst12_SetBit4, 0x800337D +SET_ABS_FUNC ProcInterpretCode, 0x8003395 +SET_ABS_FUNC SetProcOnCycle, 0x8003451 +SET_ABS_FUNC _ResetIconGraphics, 0x8003579 +SET_ABS_FUNC ClearIcons, 0x8003585 +SET_ABS_FUNC LoadIconPalettes, 0x80035BD +SET_ABS_FUNC LoadIconPalette, 0x80035D5 +SET_ABS_FUNC GetIconGfxTileIndex, 0x8003611 +SET_ABS_FUNC GetIconGfxIndex, 0x8003625 +SET_ABS_FUNC GetIconTileIndex, 0x8003651 +SET_ABS_FUNC DrawIcon, 0x80036BD +SET_ABS_FUNC ClearIcon, 0x800370D +SET_ABS_FUNC LoadIconObjectGraphics, 0x800372D +SET_ABS_FUNC SetupDebugFontForBG, 0x800378D +SET_ABS_FUNC DBG_BG_Print, 0x8003805 +SET_ABS_FUNC ClearSmallStringBuffer, 0x80038C9 +SET_ABS_FUNC StoreNumberStringToSmallBuffer, 0x80038E1 +SET_ABS_FUNC StoreNumberStringOrDashesToSmallBuffer, 0x800391D +SET_ABS_FUNC StoreNumberHexStringToSmallBuffer, 0x8003969 +SET_ABS_FUNC PrintStringToDBG, 0x80039D1 +SET_ABS_FUNC FlushDBGToBG2, 0x8003A3D +SET_ABS_FUNC SetupDebugFontForOBJ, 0x8003B25 +SET_ABS_FUNC PrintDebugStringAsOBJ, 0x8003BB1 +SET_ABS_FUNC PrintDebugNumberDec, 0x8003BFD +SET_ABS_FUNC PrintDebugNumberHex, 0x8003C21 +SET_ABS_FUNC IsAsciiMode, 0x8003C7D +SET_ABS_FUNC SetAsciiMode, 0x8003C89 +SET_ABS_FUNC Font_InitDefault, 0x8003C95 +SET_ABS_FUNC Font_InitForUI, 0x8003CB9 +SET_ABS_FUNC Font_SetGlyphSet, 0x8003CF5 +SET_ABS_FUNC Font_ResetAllocation, 0x8003D21 +SET_ABS_FUNC SetFont, 0x8003D39 +SET_ABS_FUNC Text_InitClear, 0x8003D5D +SET_ABS_FUNC Text_InitDB, 0x8003D85 +SET_ABS_FUNC InitClearTextBatch, 0x8003DAD +SET_ABS_FUNC Text_Clear, 0x8003DC9 +SET_ABS_FUNC Text_GetXCursor, 0x8003E51 +SET_ABS_FUNC Text_SetXCursor, 0x8003E55 +SET_ABS_FUNC Text_Advance, 0x8003E59 +SET_ABS_FUNC Text_SetColorId, 0x8003E61 +SET_ABS_FUNC Text_GetColorId, 0x8003E65 +SET_ABS_FUNC Text_SetParameters, 0x8003E69 +SET_ABS_FUNC Text_Draw, 0x8003E71 +SET_ABS_FUNC Text_DrawBlank, 0x8003EBD +SET_ABS_FUNC GetStringTextWidth, 0x8003EDD +SET_ABS_FUNC GetCharTextWidth, 0x8003F3D +SET_ABS_FUNC GetStringTextCenteredPos, 0x8003F91 +SET_ABS_FUNC String_GetEnd, 0x8003FF5 +SET_ABS_FUNC Text_AppendString, 0x8004005 +SET_ABS_FUNC Text_AppendDecNumber, 0x8004075 +SET_ABS_FUNC Text_AppendNumberOr2Dashes, 0x8004145 +SET_ABS_FUNC Text_AppendChar, 0x8004181 +SET_ABS_FUNC Text_Get1DVRAMTarget, 0x80041E9 +SET_ABS_FUNC Get2bppTo4bppLookup, 0x8004209 +SET_ABS_FUNC DrawGlyph1DTile, 0x8004219 +SET_ABS_FUNC DrawGlyph1DTileNoClear, 0x8004269 +SET_ABS_FUNC Font_LoadForUI, 0x80043A9 +SET_ABS_FUNC Font_LoadForDialogue, 0x80043E9 +SET_ABS_FUNC Font_SetDraw1DTileNoClear, 0x8004429 +SET_ABS_FUNC DrawTextInline, 0x800443D +SET_ABS_FUNC Text_InsertString, 0x8004481 +SET_ABS_FUNC Text_InsertNumberOr2Dashes, 0x80044A5 +SET_ABS_FUNC Text_AppendStringAscii, 0x80044C9 +SET_ABS_FUNC Text_AppendCharAscii, 0x8004505 +SET_ABS_FUNC GetCharTextWidthAscii, 0x8004539 +SET_ABS_FUNC GetStringTextWidthAscii, 0x8004569 +SET_ABS_FUNC Font_InitForObj, 0x800459D +SET_ABS_FUNC Text_Init2DLine, 0x80045D9 +SET_ABS_FUNC Text_Clear2DLine, 0x800465D +SET_ABS_FUNC Text_Fill2DLine, 0x80046B5 +SET_ABS_FUNC Text_Get2DVRAMTarget, 0x80046E1 +SET_ABS_FUNC DrawGlyph2DTile, 0x8004701 +SET_ABS_FUNC NewGreenTextColorManager, 0x80049AD +SET_ABS_FUNC EndGreenTextColorManager, 0x80049D1 +SET_ABS_FUNC DrawDecNumber, 0x8004B95 +SET_ABS_FUNC AIS_ExecAll, 0x8004E41 +SET_ABS_FUNC ClearAISArray, 0x8004EB9 +SET_ABS_FUNC AIS_Create, 0x8004F49 +SET_ABS_FUNC AISArray_Sort, 0x8004FAD +SET_ABS_FUNC AIS_Free, 0x8005005 +SET_ABS_FUNC AIS_Display, 0x8005035 +SET_ABS_FUNC HandleNextAISFrame, 0x8005041 +SET_ABS_FUNC AIS_Link, 0x80051C1 +SET_ABS_FUNC _AIS_Display, 0x8005209 +SET_ABS_FUNC HiObjClear, 0x80053A5 +SET_ABS_FUNC HiObjInsertSafe, 0x80053E9 +SET_ABS_FUNC HiObjInsert, 0x8005429 +SET_ABS_FUNC HiObjProcess, 0x8005459 +SET_ABS_FUNC _HiObjProc_Loop, 0x8005489 +SET_ABS_FUNC StartHiObjProc, 0x80054B1 +SET_ABS_FUNC MoveHiObjProc, 0x80054F5 +SET_ABS_FUNC GetPortraitData, 0x8005515 +SET_ABS_FUNC InitFaces, 0x8005529 +SET_ABS_FUNC SetFaceGfxConfig, 0x8005545 +SET_ABS_FUNC FindFreeFaceSlot, 0x8005571 +SET_ABS_FUNC FACE_Load, 0x8005595 +SET_ABS_FUNC FACE_Display, 0x80055BD +SET_ABS_FUNC NewFaceAuto, 0x8005611 +SET_ABS_FUNC NewFace, 0x800563D +SET_ABS_FUNC EndFace, 0x8005739 +SET_ABS_FUNC EndFaceById, 0x8005759 +SET_ABS_FUNC SetFaceDisplayBits, 0x8005771 +SET_ABS_FUNC SetFaceDisplayBitsById, 0x800578D +SET_ABS_FUNC GetFaceDisplayBits, 0x80057A5 +SET_ABS_FUNC GetFaceDisplayBitsById, 0x80057A9 +SET_ABS_FUNC ApplyFaceDisplayBitChange, 0x80057C1 +SET_ABS_FUNC LoadMiniMugGraphics, 0x8005925 +SET_ABS_FUNC DrawMiniMug, 0x8005989 +SET_ABS_FUNC ShouldPortraitBeSmol, 0x8005C25 +SET_ABS_FUNC GetGenericMiniMugGfx, 0x8005F6D +SET_ABS_FUNC LoadGenericMiniMugPalette, 0x8005F9D +SET_ABS_FUNC SetFaceBlinkControl, 0x8006439 +SET_ABS_FUNC SetFaceBlinkControlById, 0x8006459 +SET_ABS_FUNC GetFaceBlinkProcUnk8006470, 0x8006471 +SET_ABS_FUNC NewFace2, 0x80064F5 +SET_ABS_FUNC Dialogue_ClearFaceReferences, 0x80067E9 +SET_ABS_FUNC Dialogue_InitGfx, 0x800680D +SET_ABS_FUNC Dialogue_InitGfxObj, 0x80068AD +SET_ABS_FUNC Dialogue_InitFont, 0x8006979 +SET_ABS_FUNC StartDialogue, 0x800698D +SET_ABS_FUNC StartDialogueFromIndex, 0x8006A31 +SET_ABS_FUNC StartDialogueParentless, 0x8006A71 +SET_ABS_FUNC EndDialogue, 0x8006A7D +SET_ABS_FUNC ClearDialogueFlags, 0x8006A99 +SET_ABS_FUNC SetDialogueFlag, 0x8006AA9 +SET_ABS_FUNC UnsetDialogueFlag, 0x8006AC9 +SET_ABS_FUNC CheckDialogueFlag, 0x8006ADD +SET_ABS_FUNC Dialogue_SetCharacterDisplayDelay, 0x8006AF1 +SET_ABS_FUNC Dialogue_SetDefaultTextColor, 0x8006B11 +SET_ABS_FUNC DialogueSkipInputListener_OnLoop, 0x8006B4D +SET_ABS_FUNC DialogueMain_OnInit, 0x8006C01 +SET_ABS_FUNC DialogueMain_OnLoop, 0x8006C35 +SET_ABS_FUNC DialogueMain_UpdateDisplay, 0x8006DA1 +SET_ABS_FUNC Dialogue_SetActiveFacePosition, 0x8007839 +SET_ABS_FUNC DialogueMain_OnEnd, 0x8007C0D +SET_ABS_FUNC DialoguePauseTimer_OnLoop, 0x8007C29 +SET_ABS_FUNC NewTextBluArrowAndButtonChecker, 0x8007CD9 +SET_ABS_FUNC StartDialogueTextChoice, 0x8007DE9 +SET_ABS_FUNC DialogueTextChoice_OnLoop, 0x8007E9D +SET_ABS_FUNC GetTextPauseDurationFromControlCode, 0x8008199 +SET_ABS_FUNC NewDialogueBoxAppearingAnimator, 0x80083E1 +SET_ABS_FUNC nullsub_74, 0x80087A5 +SET_ABS_FUNC DialogueExists, 0x80089D1 +SET_ABS_FUNC FaceExists, 0x80089E9 +SET_ABS_FUNC GetLastDialoguePromptResult, 0x8008A01 +SET_ABS_FUNC GetStringTextWidthWithDialogueCodes, 0x8008B45 +SET_ABS_FUNC GetZero, 0x8008F19 +SET_ABS_FUNC DialogueEnableBgSyncByMask, 0x8008F21 +SET_ABS_FUNC nullsub_15, 0x8009039 +SET_ABS_FUNC AP_ClearAll, 0x8009261 +SET_ABS_FUNC AP_Create, 0x800927D +SET_ABS_FUNC AP_Delete, 0x80092A5 +SET_ABS_FUNC AP_Update, 0x80092BD +SET_ABS_FUNC _AP_RegisterGraphics, 0x80092E5 +SET_ABS_FUNC _AP_Exec, 0x8009341 +SET_ABS_FUNC _AP_QueueRotScaleData, 0x8009431 +SET_ABS_FUNC AP_SwitchAnimation, 0x8009519 +SET_ABS_FUNC AP_SetDefinition, 0x8009549 +SET_ABS_FUNC _AP_QueueTileGfx, 0x8009569 +SET_ABS_FUNC _AP_Load, 0x8009675 +SET_ABS_FUNC _AP_ExecOneFrame, 0x8009699 +SET_ABS_FUNC _AP_Init, 0x80096B9 +SET_ABS_FUNC _AP_Alloc, 0x80096F1 +SET_ABS_FUNC APProc_Create, 0x8009719 +SET_ABS_FUNC _APProc_OnUpdate, 0x8009761 +SET_ABS_FUNC _APProc_OnDelete, 0x800978D +SET_ABS_FUNC APProc_SetParameters, 0x8009799 +SET_ABS_FUNC APProc_Delete, 0x80097B5 +SET_ABS_FUNC APProc_DeleteAll, 0x80097C1 +SET_ABS_FUNC APProc_Exists, 0x80097D1 +SET_ABS_FUNC GameControl_HandleSelectRightL, 0x8009A01 +SET_ABS_FUNC GameControl_8009A58, 0x8009A59 +SET_ABS_FUNC GameControl_8009A60_Null, 0x8009A61 +SET_ABS_FUNC Delete6CIfNotMarkedB, 0x8009A6D +SET_ABS_FUNC GameControl_MasterSwitch, 0x8009B89 +SET_ABS_FUNC CallActualSaveMenu, 0x8009DE1 +SET_ABS_FUNC GetChapterIdTo6C, 0x8009EDD +SET_ABS_FUNC SetChapterIdFrom6C, 0x8009EED +SET_ABS_FUNC NewGameControl, 0x8009F09 +SET_ABS_FUNC GetGameControl6C, 0x8009F41 +SET_ABS_FUNC SetNextGameActionId, 0x8009F51 +SET_ABS_FUNC SetNextChapterId, 0x8009F65 +SET_ABS_FUNC RestartGameAndGoto8, 0x8009F8D +SET_ABS_FUNC RestartGameAndGoto12, 0x8009FB1 +SET_ABS_FUNC nullsub_RestartGameAndGoto7, 0x8009FD5 +SET_ABS_FUNC nullsub_9, 0x8009FD9 +SET_ABS_FUNC GameControl_EnableSoundEffects, 0x8009FDD +SET_ABS_FUNC SomethingRelatedToText, 0x800A1C9 +SET_ABS_FUNC GetStringFromIndex, 0x800A241 +SET_ABS_FUNC GetStringFromIndexInBuffer, 0x800A281 +SET_ABS_FUNC FilterSomeTextFromStandardBuffer, 0x800A3B9 +SET_ABS_FUNC SetSomeRealCamPos, 0x800BA5D +SET_ABS_FUNC TriggerMapChanges, 0x800BAF9 +SET_ABS_FUNC UntriggerMapChange, 0x800BB49 +SET_ABS_FUNC HideAllUnits, 0x800BC1D +SET_ABS_FUNC GetUnitStructFromEventParameter, 0x800BC51 +SET_ABS_FUNC Event80_, 0x800BDCD +SET_ABS_FUNC Event81_, 0x800BDE9 +SET_ABS_FUNC Event82_EndWM, 0x800BE2D +SET_ABS_FUNC Event83_WM_SETCAM, 0x800BE39 +SET_ABS_FUNC Event84_WM_SETCAMONLOC, 0x800BE4D +SET_ABS_FUNC Event85_WM_SETCAMONSPRITE, 0x800BE8D +SET_ABS_FUNC Event86_WM_MOVECAM, 0x800BED5 +SET_ABS_FUNC Event87_, 0x800BF39 +SET_ABS_FUNC Event88_, 0x800BFD9 +SET_ABS_FUNC Event89_, 0x800C085 +SET_ABS_FUNC Event8A_, 0x800C0B9 +SET_ABS_FUNC Event8B_, 0x800C0C9 +SET_ABS_FUNC Event8C_, 0x800C0D5 +SET_ABS_FUNC Event8D_, 0x800C0F1 +SET_ABS_FUNC Event8E_, 0x800C109 +SET_ABS_FUNC Event8F_, 0x800C121 +SET_ABS_FUNC Event90_WM_DRAWPATH, 0x800C139 +SET_ABS_FUNC Event91_WM_DRAWPATH_Silent, 0x800C165 +SET_ABS_FUNC Event92_REMOVEPATH, 0x800C199 +SET_ABS_FUNC Event93_, 0x800C1CD +SET_ABS_FUNC Event94_, 0x800C1E9 +SET_ABS_FUNC Event95_, 0x800C205 +SET_ABS_FUNC Event96_, 0x800C255 +SET_ABS_FUNC Event97_, 0x800C2DD +SET_ABS_FUNC Event98_, 0x800C36D +SET_ABS_FUNC Event99_, 0x800C435 +SET_ABS_FUNC Event9A_, 0x800C469 +SET_ABS_FUNC Event9B_, 0x800C4C9 +SET_ABS_FUNC Event9C_, 0x800C4E5 +SET_ABS_FUNC Event9D_, 0x800C529 +SET_ABS_FUNC Event9E_PUTSPRITE, 0x800C55D +SET_ABS_FUNC Event9F_, 0x800C575 +SET_ABS_FUNC EventA0_REMSPRITE, 0x800C58D +SET_ABS_FUNC EventA1_, 0x800C59D +SET_ABS_FUNC EventA2_, 0x800C5AD +SET_ABS_FUNC EventA3_, 0x800C5BD +SET_ABS_FUNC EventA4_, 0x800C5F9 +SET_ABS_FUNC EventA5_, 0x800C635 +SET_ABS_FUNC EventA6_, 0x800C65D +SET_ABS_FUNC EventA7_, 0x800C68D +SET_ABS_FUNC EventA8_, 0x800C6C1 +SET_ABS_FUNC EventA9_, 0x800C755 +SET_ABS_FUNC EventAA_, 0x800C7B5 +SET_ABS_FUNC EventAB_, 0x800C7E5 +SET_ABS_FUNC EventAC_, 0x800C815 +SET_ABS_FUNC EventAD_, 0x800C85D +SET_ABS_FUNC EventAE_, 0x800C885 +SET_ABS_FUNC EventAF_, 0x800C8B1 +SET_ABS_FUNC EventB0_, 0x800C8D5 +SET_ABS_FUNC EventB1_, 0x800C8F9 +SET_ABS_FUNC EventB2_, 0x800C925 +SET_ABS_FUNC EventB3_, 0x800C939 +SET_ABS_FUNC EventB4_, 0x800C951 +SET_ABS_FUNC EventB5_, 0x800C981 +SET_ABS_FUNC EventB6_, 0x800C9A1 +SET_ABS_FUNC EventB7_, 0x800C9F1 +SET_ABS_FUNC EventB8_, 0x800CA19 +SET_ABS_FUNC EventB9_, 0x800CA39 +SET_ABS_FUNC EventBA_, 0x800CA61 +SET_ABS_FUNC EventBB_, 0x800CA9D +SET_ABS_FUNC EventBC_, 0x800CADD +SET_ABS_FUNC EventBD_, 0x800CB49 +SET_ABS_FUNC EventBE_, 0x800CB71 +SET_ABS_FUNC EventBF_, 0x800CBAD +SET_ABS_FUNC EventC0_, 0x800CBD9 +SET_ABS_FUNC EventC1_SKIPWM, 0x800CBF1 +SET_ABS_FUNC EventC2_, 0x800CC05 +SET_ABS_FUNC EventC3_, 0x800CC19 +SET_ABS_FUNC EventCE_, 0x800CC5D +SET_ABS_FUNC EventCF_, 0x800CC75 +SET_ABS_FUNC EventC4_, 0x800CC8D +SET_ABS_FUNC nullsub_31, 0x800CCE9 +SET_ABS_FUNC nullsub_32, 0x800CCED +SET_ABS_FUNC EventC5_, 0x800CCF1 +SET_ABS_FUNC nullsub_33, 0x800CD39 +SET_ABS_FUNC nullsub_34, 0x800CD3D +SET_ABS_FUNC EventC6_, 0x800CD51 +SET_ABS_FUNC EventC7_, 0x800CD89 +SET_ABS_FUNC EventC8_, 0x800CDA9 +SET_ABS_FUNC EventC9_, 0x800CDC9 +SET_ABS_FUNC EventCA_, 0x800CDF1 +SET_ABS_FUNC EventCB_, 0x800CDF5 +SET_ABS_FUNC EventCC_, 0x800CDF9 +SET_ABS_FUNC EventCD_, 0x800CE29 +SET_ABS_FUNC _MarkSomethingInMenu, 0x800CE41 +SET_ABS_FUNC EventEngine_Loop, 0x800CE4D +SET_ABS_FUNC EventEngine_Destructor, 0x800CF5D +SET_ABS_FUNC EqueueEventEngineCall, 0x800D00D +SET_ABS_FUNC HandleNextEventEngineCall, 0x800D045 +SET_ABS_FUNC CallMapEventEngine, 0x800D07D +SET_ABS_FUNC StartMapEventEngine, 0x800D0B1 +SET_ABS_FUNC NewBattleEventEngine, 0x800D141 +SET_ABS_FUNC MapEventEngineExists, 0x800D199 +SET_ABS_FUNC BattleEventEngineExists, 0x800D1B1 +SET_ABS_FUNC DeleteEventEngines, 0x800D1C9 +SET_ABS_FUNC SetEventSlotC, 0x800D1F9 +SET_ABS_FUNC CallBattleQuoteTextEvents, 0x800D285 +SET_ABS_FUNC CallSomeOtherEvents, 0x800D2D1 +SET_ABS_FUNC StartGameOverEvent, 0x800D391 +SET_ABS_FUNC EventEngine_CanSkipMaybe, 0x800D3A5 +SET_ABS_FUNC SetDialogueSkipEvBit, 0x800D3E5 +SET_ABS_FUNC EventEngine_EnableSkip, 0x800D415 +SET_ABS_FUNC CheckEventId_, 0x800D4B9 +SET_ABS_FUNC SlotQueuePush, 0x800D529 +SET_ABS_FUNC SlotQueuePop, 0x800D545 +SET_ABS_FUNC SetEventCounter, 0x800D589 +SET_ABS_FUNC GetEventCounter, 0x800D595 +SET_ABS_FUNC Event00_NULL, 0x800D5A1 +SET_ABS_FUNC Event01_End, 0x800D5A5 +SET_ABS_FUNC Event02_EvBitAndIdMod, 0x800D671 +SET_ABS_FUNC Event03_CheckEvBitOrId, 0x800D6E5 +SET_ABS_FUNC Event04_CheckRandom, 0x800D755 +SET_ABS_FUNC Event05_SetSlot, 0x800D77D +SET_ABS_FUNC Event06_SlotOperation, 0x800D795 +SET_ABS_FUNC Event07_SlotQueueOperations, 0x800D919 +SET_ABS_FUNC Event08_Label, 0x800D97D +SET_ABS_FUNC Event09_Goto, 0x800D981 +SET_ABS_FUNC Event0A_Call, 0x800D9B9 +SET_ABS_FUNC Event0B_EnqueueCall, 0x800DA2D +SET_ABS_FUNC Event0C_Branch, 0x800DA79 +SET_ABS_FUNC Event0D_AsmCall, 0x800DB01 +SET_ABS_FUNC Event0E_STAL, 0x800DB39 +SET_ABS_FUNC Event0F_, 0x800DBE1 +SET_ABS_FUNC Event10_ModifyEvBit, 0x800DC99 +SET_ABS_FUNC Event11_SetIgnoredKeys, 0x800DD59 +SET_ABS_FUNC Event12_, 0x800DD75 +SET_ABS_FUNC Event13_, 0x800DDB1 +SET_ABS_FUNC Event14_, 0x800DE15 +SET_ABS_FUNC Event15_, 0x800DE75 +SET_ABS_FUNC Event16_, 0x800DED5 +SET_ABS_FUNC Event17_Fade, 0x800DF21 +SET_ABS_FUNC Event18_, 0x800DFBD +SET_ABS_FUNC Event19_, 0x800E071 +SET_ABS_FUNC Event1A_TEXTSTART, 0x800E189 +SET_ABS_FUNC Event1B_TEXTSHOW, 0x800E3C9 +SET_ABS_FUNC Event1C_TEXTCONT, 0x800E51D +SET_ABS_FUNC Event1D_TEXTEND, 0x800E561 +SET_ABS_FUNC _WhileFace6CExists, 0x800E699 +SET_ABS_FUNC Event1E_, 0x800E6B5 +SET_ABS_FUNC Event1F_, 0x800E77D +SET_ABS_FUNC Event20_, 0x800E7C5 +SET_ABS_FUNC Event21_TextBGStuff, 0x800E8CD +SET_ABS_FUNC Event22_CLEAN, 0x800F0C9 +SET_ABS_FUNC Event23_BlockGameGraphics, 0x800F125 +SET_ABS_FUNC Event24_UnblockGameGraphics, 0x800F151 +SET_ABS_FUNC Event25_LOMA, 0x800F17D +SET_ABS_FUNC Event26_CameraControlMaybe, 0x800F20D +SET_ABS_FUNC Event27_MapChange, 0x800F2D5 +SET_ABS_FUNC Event28_ChangeWeather, 0x800F3ED +SET_ABS_FUNC Event29_SetFogVision, 0x800F3FD +SET_ABS_FUNC Event2A_MoveToChapter, 0x800F42D +SET_ABS_FUNC UNIT_GetListSize, 0x800F50D +SET_ABS_FUNC UNIT_ShouldBeLoaded, 0x800F529 +SET_ABS_FUNC LoadUnitsIdle, 0x800F5B9 +SET_ABS_FUNC UNITs_LoadInstant_800F698, 0x800F699 +SET_ABS_FUNC UNIT_Load_800F704, 0x800F705 +SET_ABS_FUNC UNIT_Filter, 0x800F915 +SET_ABS_FUNC Event2B_, 0x800FB19 +SET_ABS_FUNC Event2C_LoadUnits, 0x800FB85 +SET_ABS_FUNC TryPrepareEventUnitMovement, 0x800FC91 +SET_ABS_FUNC GetSomeEventEngineMoveRelatedBitfield, 0x800FCD9 +SET_ABS_FUNC Event2D_, 0x800FD0D +SET_ABS_FUNC Event2E_CheckAt, 0x800FD29 +SET_ABS_FUNC Event2F_MoveUnit, 0x800FD8D +SET_ABS_FUNC Event30_ENUN, 0x800FF25 +SET_ABS_FUNC Event31_DisplayEffectRange, 0x800FF69 +SET_ABS_FUNC Event32_SpawnSingleUnit, 0x800FFF9 +SET_ABS_FUNC Event33_CheckUnitVarious, 0x8010111 +SET_ABS_FUNC Event34_MessWithUnitState, 0x8010299 +SET_ABS_FUNC Event35_UnitClassChanging, 0x80104B1 +SET_ABS_FUNC Event36_CheckInArea, 0x801053D +SET_ABS_FUNC Event37_GiveItem, 0x80105A5 +SET_ABS_FUNC Event38_ChangeActiveUnit, 0x8010619 +SET_ABS_FUNC Event39_CHAI, 0x8010645 +SET_ABS_FUNC Event3A_, 0x80106E5 +SET_ABS_FUNC Event3B_, 0x801079D +SET_ABS_FUNC Event3C_, 0x8010851 +SET_ABS_FUNC Event3D_, 0x80108AD +SET_ABS_FUNC Event3E_PrepScreenCall, 0x8010969 +SET_ABS_FUNC Event3F_, 0x8010A59 +SET_ABS_FUNC Event40_PROM, 0x8010B79 +SET_ABS_FUNC Event41_, 0x8010BED +SET_ABS_FUNC Event42_, 0x8010C71 +SET_ABS_FUNC Event43_, 0x8010CF1 +SET_ABS_FUNC Event44_, 0x8010D29 +SET_ABS_FUNC Event45_, 0x8010D5D +SET_ABS_FUNC GetSomeLongPopupLength, 0x8010F39 +SET_ABS_FUNC GenSomeLongPopupText, 0x801106D +SET_ABS_FUNC LongPopup_PrepareGfx, 0x801119D +SET_ABS_FUNC LongPopup_PlaySound, 0x8011211 +SET_ABS_FUNC IconOAMUpdater_Loop, 0x8011255 +SET_ABS_FUNC LongPopup_Draw, 0x8011271 +SET_ABS_FUNC LongPopup_WaitForPress, 0x80113C1 +SET_ABS_FUNC LongPopup_Clear, 0x80113F9 +SET_ABS_FUNC SetPopupUnit, 0x8011451 +SET_ABS_FUNC SetPopupItem, 0x801145D +SET_ABS_FUNC SetPopupNumber, 0x8011469 +SET_ABS_FUNC NewPopupSimple, 0x8011475 +SET_ABS_FUNC NewPopup, 0x8011491 +SET_ABS_FUNC NewGotItemPopup, 0x80114DD +SET_ABS_FUNC ItemGot_DisplayLePopup, 0x8011525 +SET_ABS_FUNC ItemGot_GotLeItem, 0x8011539 +SET_ABS_FUNC NewItemGot, 0x8011555 +SET_ABS_FUNC NewGeneralItemGot, 0x801159D +SET_ABS_FUNC NewGoldGotPopup, 0x8011645 +SET_ABS_FUNC NewPopup_WeaponBroke, 0x80116E1 +SET_ABS_FUNC NewPopup_WRankIncrease, 0x8011705 +SET_ABS_FUNC nullsub_44, 0x8011A19 +SET_ABS_FUNC ChangeUnitAIThing, 0x8011CCD +SET_ABS_FUNC GetChapterAllyUnitCount, 0x8012345 +SET_ABS_FUNC InitPlayerUnitPositionsForPrepScreen, 0x8012361 +SET_ABS_FUNC StoreUnitWordStructs, 0x801263D +SET_ABS_FUNC LoadUnitWordStructs, 0x8012679 +SET_ABS_FUNC CopyString, 0x8012EC1 +SET_ABS_FUNC CopyNoCompData, 0x8012EDD +SET_ABS_FUNC Decompress, 0x8012F51 +SET_ABS_FUNC GetNoCompDataSize, 0x8012F91 +SET_ABS_FUNC RegisterObjectTileGraphics, 0x8012FF5 +SET_ABS_FUNC CopyTileGfxForObj, 0x8013021 +SET_ABS_FUNC GetPaletteBufferBuffer, 0x801344D +SET_ABS_FUNC SetSomethingInPaletteBB_2A, 0x8013471 +SET_ABS_FUNC SetSomethingInPaletteBB_5A, 0x8013481 +SET_ABS_FUNC SetSomethingInPaletteBB_8A, 0x8013495 +SET_ABS_FUNC GetSomethingInPaletteBB_2A, 0x80134A9 +SET_ABS_FUNC GetSomethingInPaletteBB_5A, 0x80134B5 +SET_ABS_FUNC GetSomethingInPaletteBB_8A, 0x80134C5 +SET_ABS_FUNC ArchiveCurrentPalettes, 0x80134D5 +SET_ABS_FUNC ArchivePalette, 0x8013521 +SET_ABS_FUNC WriteFadedPaletteFromArchive, 0x8013551 +SET_ABS_FUNC StartSomeFadeFromBlack, 0x8013CED +SET_ABS_FUNC StartFadeInBlack, 0x8013D09 +SET_ABS_FUNC NewFadeOutBlack, 0x8013D21 +SET_ABS_FUNC NewFadeInWhite, 0x8013D39 +SET_ABS_FUNC NewFadeOutWhite, 0x8013D51 +SET_ABS_FUNC StartSomeFadeFromBlackDefault, 0x8013D8D +SET_ABS_FUNC ContinueUntilSomeTransistion6CExists, 0x8014069 +SET_ABS_FUNC NewBlockingTimer, 0x8014239 +SET_ABS_FUNC Timer6C_Countdown, 0x8014255 +SET_ABS_FUNC String_FromNumber, 0x8014335 +SET_ABS_FUNC DeleteAllPaletteAnimator, 0x8014481 +SET_ABS_FUNC NewPaletteAnimator, 0x8014491 +SET_ABS_FUNC NewPaletteAnimator_, 0x80144E5 +SET_ABS_FUNC FutureCall2_Loop, 0x801487D +SET_ABS_FUNC FutureCall_Loop, 0x80148A1 +SET_ABS_FUNC SetupFutureCall2, 0x80148C9 +SET_ABS_FUNC SetupFutureCall, 0x80148E5 +SET_ABS_FUNC RerangeSomething, 0x8014B01 +SET_ABS_FUNC PlaySpacialSoundMaybe, 0x8014B29 +SET_ABS_FUNC GeneralVBlankHandler, 0x80152A5 +SET_ABS_FUNC GameLoop_Main, 0x80152F5 +SET_ABS_FUNC LockGameLogic, 0x8015361 +SET_ABS_FUNC UnlockGameLogic, 0x8015371 +SET_ABS_FUNC GetGameLogicLock, 0x8015381 +SET_ABS_FUNC SwitchGameplayPhase, 0x801538D +SET_ABS_FUNC MapMain_CallBeginningEvent, 0x80153D5 +SET_ABS_FUNC MapMain_SwitchPhases, 0x8015411 +SET_ABS_FUNC ThisProbablyUsedToBeEventRelatedInEarlierGames, 0x8015435 +SET_ABS_FUNC MapMain_StartPhaseController, 0x8015451 +SET_ABS_FUNC StartPlayerPhaseAndApplyAction, 0x80154A5 +SET_ABS_FUNC MapMain_UpdateTraps, 0x80154C9 +SET_ABS_FUNC MapMain_Suspend, 0x80154F5 +SET_ABS_FUNC MapMain_StartIntroFx, 0x801550D +SET_ABS_FUNC MapMain_DeployEveryone, 0x8015545 +SET_ABS_FUNC GotoChapterWithoutSave, 0x8015589 +SET_ABS_FUNC MapMain_ChapterSwitch, 0x80155C5 +SET_ABS_FUNC SetupBackgroundForWeatherMaybe, 0x8015609 +SET_ABS_FUNC LoadObjUIGfx, 0x8015681 +SET_ABS_FUNC LoadGameCoreGfx, 0x80156F5 +SET_ABS_FUNC HandleCursorMovement, 0x8015715 +SET_ABS_FUNC MoveCameraByStepMaybe, 0x8015839 +SET_ABS_FUNC GetSomeAdjustedCameraX, 0x80159B9 +SET_ABS_FUNC GetSomeAdjustedCameraY, 0x80159FD +SET_ABS_FUNC DisplayCursor, 0x8015A99 +SET_ABS_FUNC SetCursorMapPosition, 0x8015BBD +SET_ABS_FUNC Init6C_GENS, 0x8015C1D +SET_ABS_FUNC Loop6C_GENS, 0x8015CB1 +SET_ABS_FUNC StoreAdjustedCameraPositions, 0x8015D31 +SET_ABS_FUNC EnsureCameraOntoPosition, 0x8015E0D +SET_ABS_FUNC ShouldMoveCameraPosSomething, 0x8015E9D +SET_ABS_FUNC GetCurrentMapMusicIndex, 0x8015FC9 +SET_ABS_FUNC UpdatePlayMapMusic, 0x80160D1 +SET_ABS_FUNC GetItemSomeString, 0x801618D +SET_ABS_FUNC GetItemHealthBonus, 0x80163F1 +SET_ABS_FUNC GetItemPowerBonus, 0x8016421 +SET_ABS_FUNC GetItemSkillBonus, 0x8016451 +SET_ABS_FUNC GetItemSpeedBonus, 0x8016481 +SET_ABS_FUNC GetItemDefenseBonus, 0x80164B1 +SET_ABS_FUNC GetItemResistanceBonus, 0x80164E1 +SET_ABS_FUNC GetItemLuckBonus, 0x8016511 +SET_ABS_FUNC NewItem, 0x8016541 +SET_ABS_FUNC CanUnitWieldWeapon, 0x8016575 +SET_ABS_FUNC CanUnitUseWeapon, 0x8016751 +SET_ABS_FUNC CanUnitWieldStaff, 0x80167A5 +SET_ABS_FUNC CanUnitUseStaff, 0x8016801 +SET_ABS_FUNC DrawItemMenuCommand, 0x8016849 +SET_ABS_FUNC DrawTextAndIconForItem, 0x80169A9 +SET_ABS_FUNC GetItemAfterUse, 0x8016AED +SET_ABS_FUNC GetUnitEquippedItem, 0x8016B29 +SET_ABS_FUNC GetUnitEquippedItemSlot, 0x8016B59 +SET_ABS_FUNC IsItemCoveringRange, 0x8016B8D +SET_ABS_FUNC EquipUnitItemSlot, 0x8016BC1 +SET_ABS_FUNC IsWeaponEffectiveAgainst, 0x8016BED +SET_ABS_FUNC IsSlayerApplied, 0x8016C89 +SET_ABS_FUNC GetItemRangeString, 0x8016CC1 +SET_ABS_FUNC GetWRankLevel, 0x8016D5D +SET_ABS_FUNC GetItemWRankLevelString, 0x8016D95 +SET_ABS_FUNC GetWRankText, 0x8016DF9 +SET_ABS_FUNC GetWTypeString, 0x8016E21 +SET_ABS_FUNC GetWRankBarData, 0x8016E51 +SET_ABS_FUNC IsItemDanceRing, 0x8016EC9 +SET_ABS_FUNC IsItemUsable, 0x8016EE5 +SET_ABS_FUNC CanUnitUse, 0x8016F7D +SET_ABS_FUNC GetItemHealAmount, 0x8016FB9 +SET_ABS_FUNC GetUnitItemSlot, 0x801702D +SET_ABS_FUNC IsItemStealable, 0x8017055 +SET_ABS_FUNC IsItemHammernable, 0x8017081 +SET_ABS_FUNC GetWeaponRangeMask, 0x80170D5 +SET_ABS_FUNC GetUnitRangeMask, 0x80171E9 +SET_ABS_FUNC GetUnitStaffRangeMask_0, 0x801723D +SET_ABS_FUNC GetUnitStaffRangeMask, 0x80172F9 +SET_ABS_FUNC GetConvoyTotalGoldValue, 0x801737D +SET_ABS_FUNC GetUnitsTotalHeldGoldValue, 0x80173D1 +SET_ABS_FUNC GetPartyTotalGoldValue, 0x8017451 +SET_ABS_FUNC GetItemIndex, 0x80174ED +SET_ABS_FUNC GetItemNameString, 0x80174F5 +SET_ABS_FUNC GetItemDescTextIndex, 0x8017519 +SET_ABS_FUNC GetItemUseDescTextIndex, 0x8017531 +SET_ABS_FUNC GetItemWType, 0x8017549 +SET_ABS_FUNC GetItemAttributes, 0x801756D +SET_ABS_FUNC GetItemUses, 0x8017585 +SET_ABS_FUNC GetItemMaxUses, 0x80175B1 +SET_ABS_FUNC GetItemMight, 0x80175DD +SET_ABS_FUNC GetItemHit, 0x80175F5 +SET_ABS_FUNC GetItemWeight, 0x801760D +SET_ABS_FUNC GetItemCrit, 0x8017625 +SET_ABS_FUNC GetItemCost, 0x801763D +SET_ABS_FUNC GetItemMinRange, 0x801766D +SET_ABS_FUNC GetItemMaxRange, 0x8017685 +SET_ABS_FUNC GetItemRange, 0x80176A1 +SET_ABS_FUNC GetItemWRank, 0x80176B9 +SET_ABS_FUNC GetItemEffectivenessPtr, 0x80176D1 +SET_ABS_FUNC GetItemStatBonusesPointer, 0x80176E9 +SET_ABS_FUNC GetItemIconId, 0x8017701 +SET_ABS_FUNC GetItemWeaponEffect, 0x8017725 +SET_ABS_FUNC GetItemUseEffect, 0x801773D +SET_ABS_FUNC GetItemCostPerUse, 0x8017755 +SET_ABS_FUNC GetItemMaxCost, 0x801776D +SET_ABS_FUNC GetItemWExp, 0x8017799 +SET_ABS_FUNC GetItemData, 0x80177B1 +SET_ABS_FUNC ClearUnits, 0x80177C5 +SET_ABS_FUNC ClearUnit, 0x80177F5 +SET_ABS_FUNC CopyUnit, 0x801781D +SET_ABS_FUNC GetNextFreeUnit, 0x8017839 +SET_ABS_FUNC GetNextFreePlayerUnit, 0x8017871 +SET_ABS_FUNC GetUnitFogViewRange, 0x80178A9 +SET_ABS_FUNC SetUnitNewStatus, 0x80178D9 +SET_ABS_FUNC SetUnitStatus, 0x80178F5 +SET_ABS_FUNC GetUnitSMSIndex, 0x8017905 +SET_ABS_FUNC UnitAddItem, 0x8017949 +SET_ABS_FUNC ClearUnitInventory, 0x801796D +SET_ABS_FUNC RemoveUnitBlankItems, 0x8017985 +SET_ABS_FUNC GetUnitItemCount, 0x80179D9 +SET_ABS_FUNC UnitHasItem, 0x80179F9 +SET_ABS_FUNC LoadUnits, 0x8017A35 +SET_ABS_FUNC HasClassWRank, 0x8017A8D +SET_ABS_FUNC LoadUnit, 0x8017AC5 +SET_ABS_FUNC StoreNewUnitFromCode, 0x8017D3D +SET_ABS_FUNC CharFillInventoryFromCode, 0x8017DF9 +SET_ABS_FUNC LoadUnitStats, 0x8017E35 +SET_ABS_FUNC FixROMUnitStructPtr, 0x8017EBD +SET_ABS_FUNC LoadUnitSupports, 0x8017EF5 +SET_ABS_FUNC AutolevelUnitWeaponRanks, 0x8017F21 +SET_ABS_FUNC IncreaseUnitStatsByLevelCount, 0x8017FC5 +SET_ABS_FUNC RecomputeUnitStatsForLevelPenalty, 0x8018065 +SET_ABS_FUNC ApplyBonusLevels, 0x80180CD +SET_ABS_FUNC AutolevelUnit, 0x8018121 +SET_ABS_FUNC AutolevelRealistic, 0x8018161 +SET_ABS_FUNC EnsureNoUnitStatCapOverflow, 0x80181C9 +SET_ABS_FUNC GetUnitByCharId, 0x801829D +SET_ABS_FUNC GetNonAllyUnitStructById, 0x80182D9 +SET_ABS_FUNC CanUnitRescue, 0x801831D +SET_ABS_FUNC UnitRescue, 0x801834D +SET_ABS_FUNC UnitDrop, 0x8018371 +SET_ABS_FUNC UnitGive, 0x80183C9 +SET_ABS_FUNC UnitKill, 0x80183FD +SET_ABS_FUNC ChangeUnitAllegiance, 0x8018431 +SET_ABS_FUNC ApplyUnitMovement, 0x801849D +SET_ABS_FUNC GetUnitDropLocation, 0x80184E1 +SET_ABS_FUNC SetupActiveUnit, 0x801865D +SET_ABS_FUNC SetActiveUnit, 0x80186D5 +SET_ABS_FUNC MoveActiveUnit, 0x8018741 +SET_ABS_FUNC CleanupUnitStatesForPhaseSwitch, 0x80187C1 +SET_ABS_FUNC MapMain_UpdateUnitStatus, 0x8018859 +SET_ABS_FUNC SetAllUnitNotBackSprite, 0x801895D +SET_ABS_FUNC UnitDecreaseItemUse, 0x8018995 +SET_ABS_FUNC GetUnitAid, 0x80189B9 +SET_ABS_FUNC GetUnitMagBy2Range, 0x8018A1D +SET_ABS_FUNC UnitHasMagicRank, 0x8018A59 +SET_ABS_FUNC GetUnitUseFlags, 0x8018B29 +SET_ABS_FUNC GetRedTeamUseFlags, 0x8018BA1 +SET_ABS_FUNC CanActiveUnitMove, 0x8018BD9 +SET_ABS_FUNC IsPositionMagicSealed, 0x8018C99 +SET_ABS_FUNC CanUnitNotUseMagic, 0x8018D09 +SET_ABS_FUNC GetUnitLastItem, 0x8018D35 +SET_ABS_FUNC GetUnitMovCostTable, 0x8018D4D +SET_ABS_FUNC GetClassStandingMapSpriteId, 0x8018D91 +SET_ABS_FUNC MapMain_UpdatePrevDeployStates, 0x8018DB1 +SET_ABS_FUNC LoadUnitPrepScreenPositions, 0x8018E31 +SET_ABS_FUNC IsUnitSlotAvailable, 0x8018F49 +SET_ABS_FUNC GetDeployedPlayerUnitCount, 0x8018FF1 +SET_ABS_FUNC ClearCutsceneUnits, 0x80190B5 +SET_ABS_FUNC GetUnitCurrentHP, 0x8019151 +SET_ABS_FUNC GetUnitMaxHP, 0x8019191 +SET_ABS_FUNC GetUnitPower, 0x80191B1 +SET_ABS_FUNC GetUnitSkill, 0x80191D1 +SET_ABS_FUNC GetUnitSpeed, 0x8019211 +SET_ABS_FUNC GetUnitDefense, 0x8019251 +SET_ABS_FUNC GetUnitResistance, 0x8019271 +SET_ABS_FUNC GetUnitLuck, 0x8019299 +SET_ABS_FUNC GetUnitPortraitId, 0x80192B9 +SET_ABS_FUNC GetUnitMiniPortraitId, 0x80192F5 +SET_ABS_FUNC GetUnitLeader, 0x8019341 +SET_ABS_FUNC SetUnitHP, 0x8019369 +SET_ABS_FUNC UnitTryHeal, 0x80193A5 +SET_ABS_FUNC GetUnitRescuingNameString, 0x80193E9 +SET_ABS_FUNC GetUnitStatusString, 0x8019415 +SET_ABS_FUNC GetUnit, 0x8019431 +SET_ABS_FUNC GetClassData, 0x8019445 +SET_ABS_FUNC GetCharacterData, 0x8019465 +SET_ABS_FUNC RemoveUnitItem, 0x8019485 +SET_ABS_FUNC CanUnitCrossTerrain, 0x801949D +SET_ABS_FUNC InitChapterMap, 0x80194BD +SET_ABS_FUNC SetupMapRowPointers, 0x80197A5 +SET_ABS_FUNC ClearMapWith, 0x80197E5 +SET_ABS_FUNC LoadChapterMap, 0x80198AD +SET_ABS_FUNC LoadChapterMapGfx, 0x801990D +SET_ABS_FUNC SyncTilesFromMapBuffer, 0x80199A5 +SET_ABS_FUNC RefreshTerrainMap, 0x8019A65 +SET_ABS_FUNC GetSomeTerrainToChangeAtSomePosition, 0x8019AF5 +SET_ABS_FUNC UpdateGameTileGfx, 0x8019B19 +SET_ABS_FUNC DrawTileGraphics, 0x8019C3D +SET_ABS_FUNC InitMapChangeGraphics, 0x8019CBD +SET_ABS_FUNC RefreshUnitMapAndVision, 0x8019FA1 +SET_ABS_FUNC RefreshTrapFogVision, 0x801A175 +SET_ABS_FUNC RefreshTrapHiddenStates, 0x801A1A1 +SET_ABS_FUNC RefreshEntityMaps, 0x801A1F5 +SET_ABS_FUNC GetTerrainNameString, 0x801A241 +SET_ABS_FUNC GetTerrainHealAmount, 0x801A259 +SET_ABS_FUNC GetTerrainSomething, 0x801A269 +SET_ABS_FUNC RevertMapChangesById, 0x801A2ED +SET_ABS_FUNC FillMovementMapForUnit, 0x801A38D +SET_ABS_FUNC FillMovementMapForUnitAndMovement, 0x801A3CD +SET_ABS_FUNC FillMovementMapForUnitPosition, 0x801A409 +SET_ABS_FUNC FillMovementRangeMapForPosition, 0x801A43D +SET_ABS_FUNC FillMovementMapForPosition, 0x801A46D +SET_ABS_FUNC FillMovementMapForUnitAt, 0x801A49D +SET_ABS_FUNC StoreMovCostTable, 0x801A4CD +SET_ABS_FUNC FillMovementMap, 0x801A4ED +SET_ABS_FUNC GenerateMovementInstructionsToPoint, 0x801A641 +SET_ABS_FUNC ProcessUnitMovement, 0x801A82D +SET_ABS_FUNC DoSomeMovementMapFiltering, 0x801A8E5 +SET_ABS_FUNC MapAddInRange, 0x801AABD +SET_ABS_FUNC MapSetInRange, 0x801ABC1 +SET_ABS_FUNC FillMapAttackRangeForUnit, 0x801ACBD +SET_ABS_FUNC FillRangeMapByRangeMask, 0x801B461 +SET_ABS_FUNC FillMapStaffRangeForUnit, 0x801B619 +SET_ABS_FUNC FillRangeMapForDangerZone, 0x801B811 +SET_ABS_FUNC MapSetInMagicSealedRange, 0x801B951 +SET_ABS_FUNC SetSubjectMap, 0x801B999 +SET_ABS_FUNC MapIncInBoundedRange, 0x801B9A5 +SET_ABS_FUNC GetCurrentMovCostTable, 0x801B9E5 +SET_ABS_FUNC Loop6C_WaitForSelectPress, 0x801BA59 +SET_ABS_FUNC DebugMenu_MapIdle, 0x801BB41 +SET_ABS_FUNC DebugMenu_MapEffect, 0x801BB55 +SET_ABS_FUNC DebugMapMenu_DisplayInfoDraw, 0x801BCE5 +SET_ABS_FUNC DebugMapMenu_DisplayInfoIdle, 0x801BD59 +SET_ABS_FUNC DebugMapMenu_DisplayInfoEffect, 0x801BDA1 +SET_ABS_FUNC DebugMenu_WeatherDraw, 0x801BDA5 +SET_ABS_FUNC DebugMenu_WeatherIdle, 0x801BE29 +SET_ABS_FUNC DebugMenu_WeatherEffect, 0x801BEFD +SET_ABS_FUNC DebugMenu_ClearDraw, 0x801BF01 +SET_ABS_FUNC DebugMenu_ClearIdle, 0x801BF6D +SET_ABS_FUNC DebugMenu_ClearEffect, 0x801C015 +SET_ABS_FUNC DebugMenu_ErasedEffect, 0x801C019 +SET_ABS_FUNC DEBUGONLY_Startup, 0x801C091 +SET_ABS_FUNC UNUSED_StartupDebugMenu_WorldMapEffect, 0x801C1DD +SET_ABS_FUNC UNUSED_StartupDebugMenu_ChapterSelectIdle, 0x801C225 +SET_ABS_FUNC UNUSED_StartupDebugMenu_ChapterSelectEffect, 0x801C249 +SET_ABS_FUNC StartupDebugMenu_InitializeFileEffect, 0x801C371 +SET_ABS_FUNC DebugMenu_FogDraw, 0x801C3D5 +SET_ABS_FUNC DebugMenu_FogIdle, 0x801C449 +SET_ABS_FUNC DebugMenu_FogEffect, 0x801C4B1 +SET_ABS_FUNC StartupDebugMenu_ReleaseEntryEffect, 0x801C4B5 +SET_ABS_FUNC DebugMenu_GNightEffect, 0x801C4C1 +SET_ABS_FUNC DebugChargeMenu_Draw, 0x801C4D1 +SET_ABS_FUNC DebugChargeMenu_Idle, 0x801C589 +SET_ABS_FUNC PlayerPhase_Suspend, 0x801C895 +SET_ABS_FUNC HandlePlayerCursorMovement, 0x801C8AD +SET_ABS_FUNC CanShowUnitStatScreen, 0x801C929 +SET_ABS_FUNC PlayerPhase_MainIdle, 0x801C941 +SET_ABS_FUNC DisplayUnitEffectRange, 0x801CB71 +SET_ABS_FUNC PlayerPhase_InitUnitMovementSelect, 0x801CC1D +SET_ABS_FUNC DisplayActiveUnitEffectRange, 0x801CC7D +SET_ABS_FUNC PlayerPhase_DisplayDangerZone, 0x801CCB5 +SET_ABS_FUNC PlayerPhase_RangeDisplayIdle, 0x801CD1D +SET_ABS_FUNC PlayerPhase_CancelAction, 0x801CFF1 +SET_ABS_FUNC PlayerPhase_PreAction, 0x801D085 +SET_ABS_FUNC TryMakeCantoUnit, 0x801D245 +SET_ABS_FUNC MaybeRunPostActionEvents, 0x801D301 +SET_ABS_FUNC EnsureCameraOntoActiveUnitPosition, 0x801D31D +SET_ABS_FUNC PlayerPhase_ApplyUnitMovement, 0x801D471 +SET_ABS_FUNC GetUnitSelectionValueThing, 0x801D51D +SET_ABS_FUNC CanMoveActiveUnitTo, 0x801D5A9 +SET_ABS_FUNC PlayerPhase_DisplayUnitMovement, 0x801D625 +SET_ABS_FUNC PlayerPhase_WaitForUnitMovement, 0x801D64D +SET_ABS_FUNC PlayerPhase_ResumeRangeDisplay, 0x801D669 +SET_ABS_FUNC PlayerPhase_ReloadGameGfx, 0x801D6FD +SET_ABS_FUNC MakeMoveunitForActiveUnit, 0x801D70D +SET_ABS_FUNC ClearActiveUnit, 0x801D75D +SET_ABS_FUNC ASMC_801D7E8, 0x801D7E9 +SET_ABS_FUNC PlayerPhase_RangeDisplayIdle_ForceAPress, 0x801D819 +SET_ABS_FUNC Load6CRangeDisplaySquareGfx, 0x801D89D +SET_ABS_FUNC Loop6C_MLVCHC, 0x801D8ED +SET_ABS_FUNC Setup6CRangeDisplayGfx, 0x801D92D +SET_ABS_FUNC Loop6C_MoveLimitView, 0x801D9DD +SET_ABS_FUNC DestructMoveLimitView, 0x801DA61 +SET_ABS_FUNC DisplayMoveRangeGraphics, 0x801DA99 +SET_ABS_FUNC HideMoveRangeGraphics, 0x801DACD +SET_ABS_FUNC PlayerPhase_HandleAutoEnd, 0x801DBA5 +SET_ABS_FUNC GetSomeFacingDirection, 0x801DBD5 +SET_ABS_FUNC NewMoveUnitForUnitBeingRescued, 0x801DC01 +SET_ABS_FUNC Loop6C_KOIDO, 0x801DC3D +SET_ABS_FUNC Make6CKOIDO, 0x801DC7D +SET_ABS_FUNC Make6CKOIDOAMM, 0x801DCD1 +SET_ABS_FUNC Destruct6CBMXFADE, 0x801DDA9 +SET_ABS_FUNC StartBMXFADE, 0x801DDC5 +SET_ABS_FUNC StartBlockingBMXFADE, 0x801DDF1 +SET_ABS_FUNC BMXFADEExists, 0x801DE19 +SET_ABS_FUNC GetPlayerStartCursorPosition, 0x801DE31 +SET_ABS_FUNC GetEnemyStartCursorPosition, 0x801DE89 +SET_ABS_FUNC ADJUSTFROMXI_MoveCameraOnSomeUnit, 0x801DF65 +SET_ABS_FUNC HandleNewItemGetFromDrop, 0x801E099 +SET_ABS_FUNC SendToConvoyMenu_Draw, 0x801E139 +SET_ABS_FUNC MenuCommand_DrawExtraItem, 0x801E145 +SET_ABS_FUNC SendToConvoyMenu_NormalEffect, 0x801E189 +SET_ABS_FUNC FillWarpRangeMap, 0x801E34D +SET_ABS_FUNC ForceMenuItemPanel, 0x801E685 +SET_ABS_FUNC UpdateMenuItemPanel, 0x801E749 +SET_ABS_FUNC EndMenuItemPanel, 0x801EA55 +SET_ABS_FUNC StartUnitSwapAnimation, 0x801EC11 +SET_ABS_FUNC UnitSwapAnimationExists, 0x801EC49 +SET_ABS_FUNC LoadPhaseIntroGraphics, 0x801F2CD +SET_ABS_FUNC ChangeActiveUnitFacing, 0x801F50D +SET_ABS_FUNC GasTrapEffectGfx_Setup, 0x801F541 +SET_ABS_FUNC StartGasTrapEffectGfxMaybe, 0x801F601 +SET_ABS_FUNC MineFireEffectGfx_Setup, 0x801F631 +SET_ABS_FUNC NewFireTrapEffectGfx, 0x801F68D +SET_ABS_FUNC NewMineTrapEffectGfx, 0x801F6BD +SET_ABS_FUNC StartLightArrowTrapGfx, 0x801F845 +SET_ABS_FUNC BgMoverProc_Update, 0x801FD91 +SET_ABS_FUNC BeginLightRuneMapAnim, 0x8021685 +SET_ABS_FUNC BeginMineMapAnim, 0x8022301 +SET_ABS_FUNC MapMenuCommnd_EndEffect, 0x80225F9 +SET_ABS_FUNC MapMenuCommand_UnitEffect, 0x802260D +SET_ABS_FUNC MapMenuCommnd_StatusEffect, 0x8022651 +SET_ABS_FUNC MapMenuCommnd_GuideEffect, 0x80226E5 +SET_ABS_FUNC EffectWait, 0x8022739 +SET_ABS_FUNC GenericSelection_BackToUM, 0x8022749 +SET_ABS_FUNC GenericSelection_BackToUM_CamWait, 0x802282D +SET_ABS_FUNC RescueUsability, 0x80228A5 +SET_ABS_FUNC RescueEffect, 0x80228DD +SET_ABS_FUNC RescueSelection_OnSelect, 0x80228FD +SET_ABS_FUNC DropUsability, 0x8022911 +SET_ABS_FUNC DropEffect, 0x8022949 +SET_ABS_FUNC DropSelection_OnSelect, 0x8022969 +SET_ABS_FUNC TakeUsability, 0x802298D +SET_ABS_FUNC TakeEffect, 0x80229D5 +SET_ABS_FUNC GiveUsability, 0x80229F5 +SET_ABS_FUNC GiveEffect, 0x8022A3D +SET_ABS_FUNC MakeUnitRescueTransferGraphics, 0x8022A5D +SET_ABS_FUNC TakeSelection_OnSelect, 0x8022A91 +SET_ABS_FUNC GiveSelection_OnSelect, 0x8022AE1 +SET_ABS_FUNC DisplayUnitStandingAttackRange, 0x8022C31 +SET_ABS_FUNC HideMoveRangeGraphicsWrapper, 0x8022C99 +SET_ABS_FUNC DanceCommandUsability, 0x8023195 +SET_ABS_FUNC ItemCommandEffect, 0x80232E9 +SET_ABS_FUNC ItemSelectMenu_TextDraw, 0x8023351 +SET_ABS_FUNC ItemSelectMenu_Usability, 0x80233D9 +SET_ABS_FUNC ItemSelectMenu_Effect, 0x8023429 +SET_ABS_FUNC nullsub_25, 0x80234A9 +SET_ABS_FUNC FillBallistaRange, 0x80239CD +SET_ABS_FUNC StaffCommandUsability, 0x8023A55 +SET_ABS_FUNC StaffCommandEffect, 0x8023ACD +SET_ABS_FUNC StaffItemSelect_Usability, 0x8023B91 +SET_ABS_FUNC StaffItemSelect_Effect, 0x8023BC9 +SET_ABS_FUNC StaffItemSelect_TextDraw, 0x8023C09 +SET_ABS_FUNC StaffItemSelect_OnHover, 0x8023C15 +SET_ABS_FUNC PickCommandUsability, 0x8023E7D +SET_ABS_FUNC SupplyUsability, 0x8023F65 +SET_ABS_FUNC ArenaCommandUsability, 0x80240ED +SET_ABS_FUNC ArenaCommandEffect, 0x8024145 +SET_ABS_FUNC StealCommandUsability, 0x802418D +SET_ABS_FUNC StealCommandEffect, 0x80241DD +SET_ABS_FUNC StealTargetSelection_OnInit, 0x802421D +SET_ABS_FUNC StealItemMenuCommand_Usability, 0x8024305 +SET_ABS_FUNC StealItemMenuCommand_Draw, 0x8024349 +SET_ABS_FUNC StealItemMenuCommand_Effect, 0x802439D +SET_ABS_FUNC RescueSelection_OnConstruction, 0x802467D +SET_ABS_FUNC RescueSelection_OnChange, 0x802469D +SET_ABS_FUNC DropSelection_OnConstruction, 0x80246C1 +SET_ABS_FUNC TradeTargetSelection_OnInit, 0x8024769 +SET_ABS_FUNC nullsub_27, 0x8024885 +SET_ABS_FUNC RideCommandUsability, 0x80248C5 +SET_ABS_FUNC RideCommandEffect, 0x8024921 +SET_ABS_FUNC AttackCommandUsability, 0x80249AD +SET_ABS_FUNC AttackBallistaCommandUsability, 0x8024A29 +SET_ABS_FUNC nullsub_26, 0x8024BF5 +SET_ABS_FUNC GetPhaseAbleUnitCount, 0x8024CED +SET_ABS_FUNC AreUnitsAllied, 0x8024D8D +SET_ABS_FUNC IsSameAllegience, 0x8024DA5 +SET_ABS_FUNC GetCurrentPhase, 0x8024DBD +SET_ABS_FUNC IsNotEnemyPhaseMaybe, 0x8024DD1 +SET_ABS_FUNC GetPartyGoldAmount, 0x8024DE9 +SET_ABS_FUNC SetPartyGoldAmount, 0x8024E05 +SET_ABS_FUNC AddPartyGoldAmount, 0x8024E21 +SET_ABS_FUNC ForEachUnitInRange, 0x8024EAD +SET_ABS_FUNC ForEachPosInRange, 0x8024F19 +SET_ABS_FUNC ForEachAdjacentUnit, 0x8024F71 +SET_ABS_FUNC ForEachAdjacentPosition, 0x8024FA5 +SET_ABS_FUNC ForEachPosIn12Range, 0x8025039 +SET_ABS_FUNC ForEachUnitInMagBy2Range, 0x802506D +SET_ABS_FUNC TryAddTrapsToTargetList, 0x80250BD +SET_ABS_FUNC AddUnitToTargetListIfNotAllied, 0x802517D +SET_ABS_FUNC MakeTargetListForWeapon, 0x80251B5 +SET_ABS_FUNC TryAddUnitToTradeTargetList, 0x802521D +SET_ABS_FUNC MakeTradeTargetList, 0x80252D1 +SET_ABS_FUNC TryAddUnitToRescueTargetList, 0x8025345 +SET_ABS_FUNC MakeRescueTargetList, 0x80253B5 +SET_ABS_FUNC TryAddToDropTargetList, 0x80253E9 +SET_ABS_FUNC MakeDropTargetList, 0x8025441 +SET_ABS_FUNC TryAddRescuedUnitToTakeTargetList, 0x8025475 +SET_ABS_FUNC MakeTakeTargetList, 0x80254E1 +SET_ABS_FUNC MakeTargetListForSupport, 0x8025645 +SET_ABS_FUNC AddUnitToTargetListIfAllied, 0x80256F1 +SET_ABS_FUNC FillBallistaRangeMaybe, 0x8025729 +SET_ABS_FUNC TryAddClosedDoorToTargetList, 0x8025795 +SET_ABS_FUNC TryAddBridgeToTargetList, 0x80257D5 +SET_ABS_FUNC MakeTargetListForDoorAndBridges, 0x8025815 +SET_ABS_FUNC MakeTargetListForPick, 0x80258A5 +SET_ABS_FUNC AddAsTarget_IfCanStealFrom, 0x8025BA1 +SET_ABS_FUNC MakeTargetListForSteal, 0x8025C01 +SET_ABS_FUNC TryAddUnitToHealTargetList, 0x8025E29 +SET_ABS_FUNC MakeTargetListForAdjacentHeal, 0x8025E7D +SET_ABS_FUNC MakeTargetListForRangedHeal, 0x8025EB1 +SET_ABS_FUNC AddToTargetListIfNotAllied, 0x8025EFD +SET_ABS_FUNC MakeTargetListForFuckingNightmare, 0x8025F45 +SET_ABS_FUNC TryAddUnitToRestoreTargetList, 0x8025F99 +SET_ABS_FUNC MakeTargetListForRestore, 0x8025FE9 +SET_ABS_FUNC TryAddUnitToBarrierTargetList, 0x802601D +SET_ABS_FUNC MakeTargetListForBarrier, 0x802606D +SET_ABS_FUNC TryAddUnitToRescueStaffTargetList, 0x80260A1 +SET_ABS_FUNC MakeTargetListForRescueStaff, 0x80260D9 +SET_ABS_FUNC TryAddUnitToSilenceTargetList, 0x8026101 +SET_ABS_FUNC TryAddUnitToSleepTargetList, 0x802614D +SET_ABS_FUNC TryAddUnitToBerzerkTargetList, 0x8026199 +SET_ABS_FUNC MakeTargetListForSilence, 0x80261E5 +SET_ABS_FUNC MakeTargetListForSleep, 0x802620D +SET_ABS_FUNC MakeTargetListForBerserk, 0x8026235 +SET_ABS_FUNC TryAddUnitToWarpTargetList, 0x802625D +SET_ABS_FUNC MakeTargetListForWarp, 0x8026295 +SET_ABS_FUNC MakeTargetListForUnlock, 0x80262C9 +SET_ABS_FUNC TryAddUnitToHammerneTargetList, 0x80262FD +SET_ABS_FUNC MakeTargetListForHammerne, 0x8026355 +SET_ABS_FUNC MakeTargetListForLatona, 0x8026389 +SET_ABS_FUNC MakeTargetListForMine, 0x80264F1 +SET_ABS_FUNC MakeTargetListForLightRune, 0x8026581 +SET_ABS_FUNC TryAddUnitToDanceRingTargetList, 0x80265B5 +SET_ABS_FUNC MakeTargetListForDanceRing, 0x80265E5 +SET_ABS_FUNC SetupMapSpritesPalettes, 0x8026629 +SET_ABS_FUNC SMS_ClearUsageTable, 0x8026689 +SET_ABS_FUNC SMS_80266F0, 0x80266F1 +SET_ABS_FUNC SMS_SomethingGmapUnit, 0x802677D +SET_ABS_FUNC SMS_RegisterUsage, 0x80267FD +SET_ABS_FUNC SomethingSMS_16x16_0, 0x80268C9 +SET_ABS_FUNC SomethingSMS_16x16, 0x802695D +SET_ABS_FUNC SomethingSMS_16x32, 0x8026A39 +SET_ABS_FUNC SomethingSMS_32x32, 0x8026B29 +SET_ABS_FUNC SMS_FlushDirect, 0x8026F2D +SET_ABS_FUNC SMS_FlushIndirect, 0x8026F95 +SET_ABS_FUNC GetUnitSpritePaletteIndexWrapper, 0x802713D +SET_ABS_FUNC GetUnitMapSpritePaletteIndex, 0x8027169 +SET_ABS_FUNC SMS_UpdateFromGameData, 0x80271A1 +SET_ABS_FUNC SMS_GetNewInfoStruct, 0x802736D +SET_ABS_FUNC SMS_DisplayAllFromInfoStructs, 0x80273A5 +SET_ABS_FUNC DisplayChapterTileMarker, 0x8027531 +SET_ABS_FUNC DisplayUnitAdditionalBlinkingIcons, 0x80275E9 +SET_ABS_FUNC ResetMapSpriteHoverTimer, 0x8027A41 +SET_ABS_FUNC HandleMapSpriteCursorHover, 0x8027A4D +SET_ABS_FUNC SMS_DisplayOne, 0x8027F29 +SET_ABS_FUNC HideUnitSMS, 0x802810D +SET_ABS_FUNC ShowUnitSMS, 0x8028131 +SET_ABS_FUNC GetUnitStandingSpriteDataFlagThing, 0x8028145 +SET_ABS_FUNC GetROMUnitSupportCount, 0x80281C9 +SET_ABS_FUNC GetROMUnitSupportingId, 0x80281DD +SET_ABS_FUNC GetUnitSupportingUnit, 0x80281F5 +SET_ABS_FUNC GetSupportLevelBySupportIndex, 0x802823D +SET_ABS_FUNC GetUnitTotalSupportLevels, 0x8028265 +SET_ABS_FUNC AddSupportPoints, 0x8028291 +SET_ABS_FUNC CanUnitSupportCommandWith, 0x8028311 +SET_ABS_FUNC GetUnitStartingSupportValue, 0x802838D +SET_ABS_FUNC GetSupportDataIdForOtherUnit, 0x80283A9 +SET_ABS_FUNC ClearUnitSupports, 0x80283E1 +SET_ABS_FUNC ProcessSupportGains, 0x8028435 +SET_ABS_FUNC GetSupportBonusEntryPtr, 0x802852D +SET_ABS_FUNC StoreAddedAffinityBonusesForSupportLevel, 0x8028551 +SET_ABS_FUNC GetUnitSupportBonuses, 0x80285B1 +SET_ABS_FUNC CanUnitsStillSupportThisChapter, 0x802878D +SET_ABS_FUNC CanUnitUseItem, 0x8028871 +SET_ABS_FUNC ItemEffect_Call, 0x8028E61 +SET_ABS_FUNC IsGeneratedTargetListEmpty, 0x8029069 +SET_ABS_FUNC CanUseHealingItem, 0x802907D +SET_ABS_FUNC CanUsePureWater, 0x80290A1 +SET_ABS_FUNC CanUseTorch, 0x80290B9 +SET_ABS_FUNC CanUseAntidote, 0x80290E5 +SET_ABS_FUNC CanUseChestKey, 0x80290FD +SET_ABS_FUNC CanUseDoorKey, 0x8029139 +SET_ABS_FUNC CanOpenBridge, 0x802914D +SET_ABS_FUNC CanUseLockpick, 0x8029161 +SET_ABS_FUNC CanUsePromotionItem, 0x80291A9 +SET_ABS_FUNC CanUseStatBooster, 0x802940D +SET_ABS_FUNC CanUseJunaFruit, 0x8029505 +SET_ABS_FUNC EndItemEffectSelectionThing, 0x802951D +SET_ABS_FUNC GenericStaffSelection_OnSelect, 0x8029551 +SET_ABS_FUNC PrepareTargetSelectionForRescueStaff, 0x8029569 +SET_ABS_FUNC SetupTargetSelectionForGenericStaff, 0x80295A9 +SET_ABS_FUNC WarpTargetPosSelect_Init, 0x80295E9 +SET_ABS_FUNC WarpTargetPosSelect_Loop, 0x802969D +SET_ABS_FUNC WarpTargetPosSelect_Confirm, 0x80297D1 +SET_ABS_FUNC WarpTargetPosSelect_Cancel, 0x802980D +SET_ABS_FUNC WarpTargetPosSelect_Destruct, 0x8029841 +SET_ABS_FUNC WarpTargetSelection_OnSelect, 0x8029855 +SET_ABS_FUNC SetupWarpTargetSelection, 0x802987D +SET_ABS_FUNC PrepareTargetSelectionForMineAndLightRune, 0x80298F1 +SET_ABS_FUNC HammerneTargetSelection_OnSelect, 0x8029945 +SET_ABS_FUNC SetupHammerneUseSelection, 0x80299B9 +SET_ABS_FUNC HammerneTargetSelection_OnChange, 0x8029A09 +SET_ABS_FUNC HammerneTargetSelection_OnInit, 0x8029A2D +SET_ABS_FUNC nullsub_24, 0x8029A49 +SET_ABS_FUNC PrepareTargetSelectionForHeal, 0x8029B8D +SET_ABS_FUNC PrepareTargetSelectionForRestoreStaff, 0x8029BC9 +SET_ABS_FUNC PrepareTargetSelectionForOffensiveStaff, 0x8029CA1 +SET_ABS_FUNC GenericSelection_DeleteBBAndBG, 0x8029D29 +SET_ABS_FUNC TorchTargetPosSelect_Init, 0x8029D99 +SET_ABS_FUNC TorchTargetSelection_Loop, 0x8029DF1 +SET_ABS_FUNC NewTorchStaffSelection, 0x8029ED9 +SET_ABS_FUNC CanUnitUseItemPrepScreen, 0x8029F01 +SET_ABS_FUNC BATTLE_SyncMapFromBattle, 0x802A2F5 +SET_ABS_FUNC SimulateBattle, 0x802A319 +SET_ABS_FUNC SimulateBattleBallista, 0x802A365 +SET_ABS_FUNC SetupBattleStructFromUnitAndWeapon, 0x802A401 +SET_ABS_FUNC RollRNIfBattleStarted, 0x802A52D +SET_ABS_FUNC Roll2RNIfBattleStarted, 0x802A559 +SET_ABS_FUNC CopyUnitToBattleStruct, 0x802A585 +SET_ABS_FUNC CopyUnitToBattleStructRawStats, 0x802A669 +SET_ABS_FUNC WriteBattleStructTerrainBonuses, 0x802A6A1 +SET_ABS_FUNC BattleSetupTerrainData, 0x802A6DD +SET_ABS_FUNC SetupBattleWeaponData, 0x802A731 +SET_ABS_FUNC SetupBattleBallistaWeaponData, 0x802A919 +SET_ABS_FUNC FillPreBattleStats, 0x802A95D +SET_ABS_FUNC FillBattleStats, 0x802A9A9 +SET_ABS_FUNC BattleApplyMiscBonuses, 0x802A9D1 +SET_ABS_FUNC BattleLoadDefense, 0x802AA45 +SET_ABS_FUNC LoadRawDefense, 0x802AAA5 +SET_ABS_FUNC BattleLoadAttack, 0x802AABD +SET_ABS_FUNC BattleLoadAS, 0x802AB75 +SET_ABS_FUNC BattleLoadHit, 0x802ABAD +SET_ABS_FUNC BattleLoadAvoid, 0x802ABE5 +SET_ABS_FUNC BattleLoadCrit, 0x802AC19 +SET_ABS_FUNC BattleLoadDodge, 0x802AC55 +SET_ABS_FUNC ComputeHit, 0x802AC61 +SET_ABS_FUNC ComputeCrit, 0x802AC91 +SET_ABS_FUNC ComputeLethalityChance, 0x802ACF9 +SET_ABS_FUNC BattleApplySRankBonuses, 0x802AD55 +SET_ABS_FUNC BattleComputeBuffStatus, 0x802AD91 +SET_ABS_FUNC ComputeSpecialWeapons, 0x802ADCD +SET_ABS_FUNC ClearRounds, 0x802AE91 +SET_ABS_FUNC MakeBattle, 0x802AED1 +SET_ABS_FUNC GetBattleUnitPointers, 0x802AF7D +SET_ABS_FUNC BattleCheckDoubling, 0x802AF91 +SET_ABS_FUNC MakeBattleRound, 0x802B019 +SET_ABS_FUNC GetBattleHitCount, 0x802B081 +SET_ABS_FUNC BattleCheckBrave, 0x802B095 +SET_ABS_FUNC CheckForTriangleAttack, 0x802B0CD +SET_ABS_FUNC UpdateBattleStats, 0x802B1C5 +SET_ABS_FUNC RollForSureShot, 0x802B1F5 +SET_ABS_FUNC RollForPierce, 0x802B279 +SET_ABS_FUNC RollForGreatShield, 0x802B2E9 +SET_ABS_FUNC RollForLethality, 0x802B38D +SET_ABS_FUNC NullifyBattleDamageIfUsingStone, 0x802B3D1 +SET_ABS_FUNC GenerateCurrentRoundData, 0x802B3ED +SET_ABS_FUNC UpdateBattleTriangleAttackData, 0x802B579 +SET_ABS_FUNC CurrentRound_ComputeWeaponEffects, 0x802B601 +SET_ABS_FUNC MakeNextBattleHitRound, 0x802B83D +SET_ABS_FUNC GetStatIncrease, 0x802B9A1 +SET_ABS_FUNC GetAutoleveledStat, 0x802B9C5 +SET_ABS_FUNC CanUnitNotLevelUp, 0x802B9F5 +SET_ABS_FUNC CheckForLevelUp, 0x802BA29 +SET_ABS_FUNC CheckForLevelUpCaps, 0x802BF25 +SET_ABS_FUNC SaveUnitsFromBattle, 0x802C029 +SET_ABS_FUNC GetBattleNewWExp, 0x802C0B5 +SET_ABS_FUNC BattleUnit_DidWRankGoUp, 0x802C1B1 +SET_ABS_FUNC SaveUnitFromBattle, 0x802C1ED +SET_ABS_FUNC UpdateBallistaUsesFromBattle, 0x802C301 +SET_ABS_FUNC NullSomeStuff, 0x802C335 +SET_ABS_FUNC HandleSomeExp, 0x802C5B9 +SET_ABS_FUNC GetBattleUnitStaffExp, 0x802C639 +SET_ABS_FUNC InstigatorAdd10Exp, 0x802C6A1 +SET_ABS_FUNC SetupBattleUnitEquippedWeapon, 0x802C6ED +SET_ABS_FUNC BattleReverseWTriangeEffect, 0x802C76D +SET_ABS_FUNC BattleApplyWeaponTriangle, 0x802C7C1 +SET_ABS_FUNC DoSomeBattleWeaponStuff, 0x802C845 +SET_ABS_FUNC MakeSnagBattleTarget, 0x802C8C5 +SET_ABS_FUNC FillSnagBattleStats, 0x802C949 +SET_ABS_FUNC SaveSnagWallFromBattle, 0x802C985 +SET_ABS_FUNC BeginBattleAnimations, 0x802CA15 +SET_ABS_FUNC nullsub_11, 0x802CAF9 +SET_ABS_FUNC SetupSubjectBattleUnitForStaff, 0x802CB25 +SET_ABS_FUNC SetupTargetBattleUnitForStaff, 0x802CBC9 +SET_ABS_FUNC SaveInstigatorFromBattle, 0x802CC1D +SET_ABS_FUNC SaveInstigatorWith10ExtraExp, 0x802CC39 +SET_ABS_FUNC GetStaffAccuracy, 0x802CCDD +SET_ABS_FUNC IsCurrentBattleTriangleAttack, 0x802CE89 +SET_ABS_FUNC DidWeaponBreak, 0x802CE9D +SET_ABS_FUNC CurrentRound_ComputeDamage, 0x802CEC9 +SET_ABS_FUNC TradeMenu_802D2E0, 0x802D2E1 +SET_ABS_FUNC TradeMenu_InitTextHandles, 0x802D475 +SET_ABS_FUNC TradeMenu_RefreshItemText, 0x802D4A9 +SET_ABS_FUNC TradeMenu_InitGraphics, 0x802D795 +SET_ABS_FUNC TradeMenu_802D820, 0x802D821 +SET_ABS_FUNC TradeMenu_802D834, 0x802D835 +SET_ABS_FUNC TradeMenu_802D918, 0x802D919 +SET_ABS_FUNC TradeMenu_802D980, 0x802D981 +SET_ABS_FUNC TradeMenu_802DAAC, 0x802DAAD +SET_ABS_FUNC TradeMenu_802DAFC, 0x802DAFD +SET_ABS_FUNC TradeMenu_802DB48, 0x802DB49 +SET_ABS_FUNC StartTradeMenu, 0x802DD6D +SET_ABS_FUNC TradeMenu_802E140, 0x802E141 +SET_ABS_FUNC ResetTraps, 0x802E1C9 +SET_ABS_FUNC GetTrapAt, 0x802E1F1 +SET_ABS_FUNC GetSpecificTrapAt, 0x802E24D +SET_ABS_FUNC AddTrap, 0x802E2B9 +SET_ABS_FUNC AddTrapExt, 0x802E2E1 +SET_ABS_FUNC RemoveTrap, 0x802E2FD +SET_ABS_FUNC AddFireTrap, 0x802E315 +SET_ABS_FUNC AddGasTrap, 0x802E331 +SET_ABS_FUNC AddArrowTrap, 0x802E351 +SET_ABS_FUNC AddTrap8, 0x802E389 +SET_ABS_FUNC AddTrap9, 0x802E399 +SET_ABS_FUNC AddSnagsAndWalls, 0x802E3A9 +SET_ABS_FUNC ApplyTrapMapChanges, 0x802E431 +SET_ABS_FUNC UpdateAllLightRunes, 0x802E471 +SET_ABS_FUNC GetTrapExt1At, 0x802E4AD +SET_ABS_FUNC GetMapChangesPointerById, 0x802E4F5 +SET_ABS_FUNC GetMapChangesIdAt, 0x802E531 +SET_ABS_FUNC ApplyMapChangesById, 0x802E58D +SET_ABS_FUNC AddMapChange, 0x802E5F9 +SET_ABS_FUNC RemoveMapChange, 0x802E60D +SET_ABS_FUNC AreMapChangeTriggered, 0x802E639 +SET_ABS_FUNC HideIfUnderRoof, 0x802E661 +SET_ABS_FUNC UpdateUnitsUnderRoof, 0x802E691 +SET_ABS_FUNC AddToTargetListFromPos, 0x802E6F1 +SET_ABS_FUNC AddArrowTrapTargetsToTargetList, 0x802E711 +SET_ABS_FUNC MakeTargetListForTurnTrapDamage, 0x802E83D +SET_ABS_FUNC CountDownTraps, 0x802E9A9 +SET_ABS_FUNC ResetCounterForCountedDownTraps, 0x802E9D1 +SET_ABS_FUNC AddLightRune, 0x802EA59 +SET_ABS_FUNC RemoveLightRune, 0x802EA91 +SET_ABS_FUNC HandleTrapDecay, 0x802EAC1 +SET_ABS_FUNC BattleSomethingTrapChangeTerrain, 0x802EB11 +SET_ABS_FUNC NullAllLightRunesTerrain, 0x802EB51 +SET_ABS_FUNC GetTrap, 0x802EB8D +SET_ABS_FUNC ExecStandardHeal, 0x802EB99 +SET_ABS_FUNC ExecRestore, 0x802EC21 +SET_ABS_FUNC GetRescueStaffeePosition, 0x802ECD1 +SET_ABS_FUNC ExecRescueStaff, 0x802EEF9 +SET_ABS_FUNC ExecWarpStaff, 0x802EFAD +SET_ABS_FUNC ExecStatusStaff, 0x802F011 +SET_ABS_FUNC ExecFortify, 0x802F155 +SET_ABS_FUNC ExecHammerne, 0x802F2B5 +SET_ABS_FUNC ExecLatona, 0x802F30D +SET_ABS_FUNC ExecSomeSelfHeal, 0x802F381 +SET_ABS_FUNC ApplyStatBooster, 0x802F809 +SET_ABS_FUNC ExecStatBooster, 0x802F915 +SET_ABS_FUNC ExecItemMine, 0x802FA4D +SET_ABS_FUNC ExecTorchStaff, 0x802FB89 +SET_ABS_FUNC ActionStaffDoorChestUseItem, 0x802FC49 +SET_ABS_FUNC ActionPick, 0x802FFB5 +SET_ABS_FUNC SetupGameVBlankProc_TileAnimations, 0x80300F5 +SET_ABS_FUNC GameVBlankProc_Destructor, 0x8030139 +SET_ABS_FUNC GameVBlankProc_Loop, 0x8030145 +SET_ABS_FUNC StartGameVBlankProc, 0x8030151 +SET_ABS_FUNC EndGameVBlankProc, 0x8030175 +SET_ABS_FUNC BlockGameGraphicsLogic, 0x8030185 +SET_ABS_FUNC UnblockGameGraphicsLogic, 0x80301B9 +SET_ABS_FUNC SetupOAMSpliceForWeather, 0x80301F5 +SET_ABS_FUNC nullsub_12, 0x8030711 +SET_ABS_FUNC SetupWeatherGraphics_Maybe, 0x8030B35 +SET_ABS_FUNC UpdateWeatherGraphics, 0x8030BA5 +SET_ABS_FUNC SetupWeather, 0x8030C7D +SET_ABS_FUNC GetTextSpeed, 0x8030C95 +SET_ABS_FUNC ResetGameState, 0x8030DD9 +SET_ABS_FUNC StartChapter, 0x8030E05 +SET_ABS_FUNC GameControl_8030FE4, 0x8030FE5 +SET_ABS_FUNC LoadGameCoreGfx2, 0x8031179 +SET_ABS_FUNC ReloadGameCoreGraphics, 0x80311A9 +SET_ABS_FUNC StartMapMain, 0x80311BD +SET_ABS_FUNC EndBMAPMAIN, 0x80311F1 +SET_ABS_FUNC ChapterEndUnitCleanup, 0x8031215 +SET_ABS_FUNC MapMain_ResumeFromPhaseIdle, 0x8031301 +SET_ABS_FUNC MapMain_ResumeFromAction, 0x803133D +SET_ABS_FUNC MapMain_ResumeFromBerserkPhase, 0x80313BD +SET_ABS_FUNC MapMain_ResumeFromArena, 0x80313F9 +SET_ABS_FUNC MapMain_ResumeFromPhaseSwitch, 0x8031475 +SET_ABS_FUNC GetTacticianNameString, 0x80314E5 +SET_ABS_FUNC GetConvoyItemArray, 0x8031501 +SET_ABS_FUNC ClearConvoyItems, 0x8031509 +SET_ABS_FUNC ShrinkConvoyItemList, 0x803152D +SET_ABS_FUNC GetConvoyItemCount, 0x8031571 +SET_ABS_FUNC AddItemToConvoy, 0x8031595 +SET_ABS_FUNC GetConvoyItemSlot, 0x80315E5 +SET_ABS_FUNC HasConvoyAccess, 0x803161D +SET_ABS_FUNC InitUnitStack, 0x80316C5 +SET_ABS_FUNC PushUnit, 0x80316E1 +SET_ABS_FUNC LoadPlayerUnitsFromUnitStack, 0x8031715 +SET_ABS_FUNC LoadPlayerUnitsFromUnitStack2, 0x8031755 +SET_ABS_FUNC PrepareArenaStruct, 0x8031795 +SET_ABS_FUNC PrepareArena, 0x8031875 +SET_ABS_FUNC PrepareArena2, 0x8031891 +SET_ABS_FUNC GetUnitBestWRankType, 0x80318B5 +SET_ABS_FUNC GetClassBestWRankType, 0x80318E1 +SET_ABS_FUNC IsWeaponMagic, 0x80319D9 +SET_ABS_FUNC GetNearLevel, 0x80319F9 +SET_ABS_FUNC GetUnitArenaWeight, 0x8031A15 +SET_ABS_FUNC LoadArenaOpponentStruct, 0x8031A85 +SET_ABS_FUNC LoadArenaWeapons, 0x8031B71 +SET_ABS_FUNC GetArenaBetterItem, 0x8031BC1 +SET_ABS_FUNC PrepareBalancedArenaFight, 0x8031C11 +SET_ABS_FUNC AdjustArenaOpponentPower, 0x8031D59 +SET_ABS_FUNC CouldUnitUseAnyWeapon, 0x8031F51 +SET_ABS_FUNC StoreRNStateToActionStruct, 0x8031FED +SET_ABS_FUNC LoadRNStateFromActionStruct, 0x8031FFD +SET_ABS_FUNC ApplyUnitAction, 0x803200D +SET_ABS_FUNC ActionRescue, 0x8032165 +SET_ABS_FUNC ActionDrop, 0x80321E1 +SET_ABS_FUNC ActionVisitAndSieze, 0x8032271 +SET_ABS_FUNC ActionCombat, 0x803229D +SET_ABS_FUNC ActionArena, 0x8032345 +SET_ABS_FUNC ActionDance, 0x8032359 +SET_ABS_FUNC ActionTalk, 0x80323A9 +SET_ABS_FUNC ActionSupport, 0x80323D5 +SET_ABS_FUNC ActionSteal, 0x803247D +SET_ABS_FUNC ActionSummon, 0x8032555 +SET_ABS_FUNC ActionSummonDK, 0x8032581 +SET_ABS_FUNC SpriteJumpAnimation_Loop, 0x80325AD +SET_ABS_FUNC SpriteJumpAnimation_ExecAnyTrap, 0x8032659 +SET_ABS_FUNC SpriteJumpAnimation_Cleanup, 0x8032665 +SET_ABS_FUNC DropRescuedUnitIfDead, 0x8032675 +SET_ABS_FUNC KillUnitIfDefeatedBy, 0x8032729 +SET_ABS_FUNC KillUnitIfNoHealth, 0x8032751 +SET_ABS_FUNC BATTLE_GOTO1_IfNobodyIsDead, 0x8032775 +SET_ABS_FUNC DidUnitDie, 0x80327B5 +SET_ABS_FUNC BATTLE_ProbablyMakesTheDeadUnitDissapear, 0x80327C9 +SET_ABS_FUNC BATTLE_DeleteLinkedMOVEUNIT, 0x8032861 +SET_ABS_FUNC BATTLE_HandleUnitDeaths, 0x803286D +SET_ABS_FUNC BATTLE_HandleItemDrop, 0x80328D1 +SET_ABS_FUNC BATTLE_HandleActiveUnitDeath, 0x80329A1 +SET_ABS_FUNC MoveCursor_SetLastCursorPosition, 0x80329D9 +SET_ABS_FUNC MoveCursor_CutPath, 0x80329ED +SET_ABS_FUNC MoveCursor_AddMovePoint, 0x8032A95 +SET_ABS_FUNC MoveCursor_GetPointIndexForPosition, 0x8032B19 +SET_ABS_FUNC MoveCursor_AppendFromMoveBuffer, 0x8032B89 +SET_ABS_FUNC MoveCursor_FillMovementMapForEndPoint, 0x8032D31 +SET_ABS_FUNC MoveCursor_RecomputePath, 0x8032D75 +SET_ABS_FUNC MoveCursor_8032DA0, 0x8032DA1 +SET_ABS_FUNC GetPlayerLeaderUnitId, 0x8033259 +SET_ABS_FUNC CanCharacterBePrepMoved, 0x803374D +SET_ABS_FUNC InitPrepScreenUnitsAndCamera, 0x8033871 +SET_ABS_FUNC SALLYCURSOR6C_StartUnitSwap, 0x8033C11 +SET_ABS_FUNC CallCursorShop, 0x8033ED5 +SET_ABS_FUNC ShrinkPlayerUnits, 0x8034215 +SET_ABS_FUNC CanUnitUseVisit, 0x8034315 +SET_ABS_FUNC CanUnitUseSeize, 0x80343A9 +SET_ABS_FUNC CanUnitUseAttack, 0x8034429 +SET_ABS_FUNC CanActiveUnitUseRescue, 0x8034471 +SET_ABS_FUNC CanActiveUnitUseTrade, 0x803448D +SET_ABS_FUNC GetUnitCommandUseFlags, 0x80344A9 +SET_ABS_FUNC GetROMChapterStruct, 0x8034619 +SET_ABS_FUNC GetChapterMapPointer, 0x8034641 +SET_ABS_FUNC GetChapterMapChangesPointer, 0x8034685 +SET_ABS_FUNC GetChapterEventDataPointer, 0x80346B1 +SET_ABS_FUNC IsDifficultMode, 0x8034705 +SET_ABS_FUNC NewUnitInfoWindow, 0x80347A9 +SET_ABS_FUNC UnitInfoWindow_PositionUnitName, 0x80347D5 +SET_ABS_FUNC UnitInfoWindow_DrawBase, 0x803483D +SET_ABS_FUNC GetUnitInfoWindowX, 0x80349D5 +SET_ABS_FUNC NewUnitInfoWindow_WithAllLines, 0x8034C19 +SET_ABS_FUNC DrawHammerneUnitInfoWindow, 0x8034E5D +SET_ABS_FUNC SetupUnitRescueWindow, 0x8035205 +SET_ABS_FUNC StartBottomHelpText, 0x8035709 +SET_ABS_FUNC EndBottomHelpText, 0x8035749 +SET_ABS_FUNC IsBottomHelpTextActive, 0x8035759 +SET_ABS_FUNC ExecSelfDamage, 0x803592D +SET_ABS_FUNC BattleForecase_SetupLabelText, 0x8036595 +SET_ABS_FUNC DrawUnitNameForBattleForecast, 0x80365E5 +SET_ABS_FUNC AddWeaponStatsAfterRound, 0x803666D +SET_ABS_FUNC BKSEL_SetupHitAndSuchStats, 0x80366A1 +SET_ABS_FUNC BKSEL_DrawStandard, 0x8036819 +SET_ABS_FUNC BKSEL_DrawDetailed, 0x8036A71 +SET_ABS_FUNC BKSEL_Draw, 0x8036CD1 +SET_ABS_FUNC BKSEL_InitGfx, 0x8036D9D +SET_ABS_FUNC BKSEL_Destructor, 0x8036E1D +SET_ABS_FUNC BKSEL_Display, 0x8036E2D +SET_ABS_FUNC MapEventEngineExists_, 0x80372D5 +SET_ABS_FUNC StartBattleForecast, 0x803730D +SET_ABS_FUNC MineFireTrap_DoSomeBWLStuffWhenKill, 0x80374F5 +SET_ABS_FUNC FireTrap_StartGfx, 0x8037511 +SET_ABS_FUNC MineTrap_StartGfx, 0x8037529 +SET_ABS_FUNC MineFireTrap_8037540, 0x8037541 +SET_ABS_FUNC MineFireTrap_80375A0, 0x80375A1 +SET_ABS_FUNC GetTriggeredTrapType, 0x80375E9 +SET_ABS_FUNC ExecTrap, 0x8037661 +SET_ABS_FUNC HandlePostActionTraps, 0x8037745 +SET_ABS_FUNC ExecTrapForActionTarget, 0x80377CD +SET_ABS_FUNC ExecTrap_QuietMaybe, 0x8037831 +SET_ABS_FUNC LoadTrapData, 0x8037841 +SET_ABS_FUNC LoadChapterBallistae, 0x8037911 +SET_ABS_FUNC AddGorgonEggTrap, 0x8037929 +SET_ABS_FUNC GetNonEmptyBallistaAt, 0x803795D +SET_ABS_FUNC GetBallistaItemAt, 0x803798D +SET_ABS_FUNC GetSomeBallistaItemAt, 0x80379D5 +SET_ABS_FUNC AddBallista, 0x8037A05 +SET_ABS_FUNC RideBallista, 0x8037A35 +SET_ABS_FUNC TryRemoveUnitFromBallista, 0x8037A6D +SET_ABS_FUNC IsBallista, 0x8037AA9 +SET_ABS_FUNC GetBallistaItemUses, 0x8037B11 +SET_ABS_FUNC GetCurrentPromotedLevelBonus, 0x8037B45 +SET_ABS_FUNC CanUnitSeize, 0x8037B65 +SET_ABS_FUNC PushGlobalTimer, 0x8038209 +SET_ABS_FUNC PopGlobalTimer, 0x803821D +SET_ABS_FUNC CpPhase_Init, 0x80396AD +SET_ABS_FUNC BskPhase_Init, 0x8039719 +SET_ABS_FUNC CpPhase_Cleanup, 0x8039779 +SET_ABS_FUNC CpOrder_Main, 0x8039789 +SET_ABS_FUNC CpOrder_BuildUnitList, 0x8039859 +SET_ABS_FUNC GetUnitAiAttackPriority, 0x8039899 +SET_ABS_FUNC GetUnitAiPriority, 0x8039939 +SET_ABS_FUNC MakeAiUnitQueue, 0x80399B1 +SET_ABS_FUNC SortAiUnitQueue, 0x8039A51 +SET_ABS_FUNC CpOrder_End, 0x8039ABD +SET_ABS_FUNC CpDecide_Suspend, 0x8039AC9 +SET_ABS_FUNC CpDecide_Main, 0x8039B01 +SET_ABS_FUNC ClearAiDecision, 0x8039C01 +SET_ABS_FUNC SetAiActionParameters, 0x8039C21 +SET_ABS_FUNC AiMasterDecisionMaker, 0x8039CAD +SET_ABS_FUNC AiDecisionMaker_HealEscape, 0x8039D11 +SET_ABS_FUNC AiDecisionMaker_SpecialItems, 0x8039DC5 +SET_ABS_FUNC AiDecisionMaker_AiScript1, 0x8039DE1 +SET_ABS_FUNC AiDecisionMaker_AiScript2, 0x8039E2D +SET_ABS_FUNC StartAiTargetCursor, 0x8039ECD +SET_ABS_FUNC ApplyAICombat2, 0x803A07D +SET_ABS_FUNC ApplyAICombat, 0x803A309 +SET_ABS_FUNC ApplyAIDKSummonAction, 0x803A359 +SET_ABS_FUNC ApplyAIPickAction, 0x803A391 +SET_ABS_FUNC PrepareAIAction, 0x803A4E5 +SET_ABS_FUNC AiScriptCompare, 0x803A71D +SET_ABS_FUNC CouldStationaryUnitBeInRangeHeuristic, 0x803AC3D +SET_ABS_FUNC CouldUnitBeInRangeHeuristic, 0x803AC91 +SET_ABS_FUNC IsTerrainIdInList, 0x803AD19 +SET_ABS_FUNC FillMovementAndRangeMapForItem, 0x803B559 +SET_ABS_FUNC GetLesserWeightedAdjacentPosition, 0x803B719 +SET_ABS_FUNC GetItemAiStealPriority, 0x803B795 +SET_ABS_FUNC AiGetBestItemSlotIndexToSteal, 0x803B7C9 +SET_ABS_FUNC FindAiUnitSafestTileToMoveTo, 0x803B809 +SET_ABS_FUNC SetAiActionMoveBest, 0x803BA09 +SET_ABS_FUNC FindClosestBestPosition, 0x803BDE1 +SET_ABS_FUNC GenBlueUnitAiStats, 0x803C065 +SET_ABS_FUNC SetupUnitStatusStaffAIFlags, 0x803C121 +SET_ABS_FUNC SetupUnitHealStaffAIFlags, 0x803C169 +SET_ABS_FUNC SaveNumberOfAlliedUnitsIn0To8Range, 0x803C1B5 +SET_ABS_FUNC CharStoreAI, 0x803C259 +SET_ABS_FUNC AiFillMovementMapForUnit, 0x803C491 +SET_ABS_FUNC AiExecAi1, 0x803C4BD +SET_ABS_FUNC AiExecFallbackAi1, 0x803C511 +SET_ABS_FUNC AiExecAi2, 0x803C54D +SET_ABS_FUNC AiExecFallbackAi2, 0x803C5A1 +SET_ABS_FUNC AiScript_Exec, 0x803C5DD +SET_ABS_FUNC AiScriptCmd_ConditionalGoto, 0x803C649 +SET_ABS_FUNC AiScriptCmd_FunctionCall, 0x803C6ED +SET_ABS_FUNC AiScriptCmd_ChangeAi, 0x803C71D +SET_ABS_FUNC AiScriptCmd_Goto, 0x803C78D +SET_ABS_FUNC IsUnitEnemyWithActiveUnit, 0x803C819 +SET_ABS_FUNC IsUnitNotActiveUnit, 0x803C849 +SET_ABS_FUNC AiScriptCmd_DoNothing, 0x803CA7D +SET_ABS_FUNC AiScriptCmd_TryEscape, 0x803CF3D +SET_ABS_FUNC AiScriptCmd_Nop, 0x803D3D1 +SET_ABS_FUNC AiDoBerserkAction, 0x803D3E5 +SET_ABS_FUNC AiTryDoOffensiveAction, 0x803D451 +SET_ABS_FUNC AiFillUnitStandingRangeWithWeapon, 0x803D881 +SET_ABS_FUNC GetEffectiveTileMovCost, 0x803DB09 +SET_ABS_FUNC AiTryDoSteal, 0x803DB61 +SET_ABS_FUNC AiTrySimulateBattle, 0x803DCC5 +SET_ABS_FUNC AiGetTileWeightForAttack, 0x803DE5D +SET_ABS_FUNC ShouldAiNotBattle, 0x803DEC5 +SET_ABS_FUNC AiSimulateBattle, 0x803DEC9 +SET_ABS_FUNC AiBattleGetDamageDealtWeight, 0x803DF35 +SET_ABS_FUNC AiBattleGetTargetHpWeight, 0x803DF95 +SET_ABS_FUNC AiBattleGetAlliesAroundWeight, 0x803DFBD +SET_ABS_FUNC AiBattleGetWeight_803E068, 0x803E069 +SET_ABS_FUNC AiBattleGetTurnNumberWeight, 0x803E09D +SET_ABS_FUNC AiBattleGetDamageTakenWeight, 0x803E0B5 +SET_ABS_FUNC AiBattleGetTileDangerWeight, 0x803E115 +SET_ABS_FUNC AiBattleGetSubjectHpWeight, 0x803E151 +SET_ABS_FUNC ComputeAiAttackWeight, 0x803E179 +SET_ABS_FUNC AiGetUnitReachWeightWithEquippedWeapon, 0x803E1ED +SET_ABS_FUNC AiGetPositionTerrainSafetyWeight, 0x803E23D +SET_ABS_FUNC AiGetPositionUnitSafetyWeight, 0x803E27D +SET_ABS_FUNC SetupAiDangerMap, 0x803E2F5 +SET_ABS_FUNC FillAiDangerMap, 0x803E321 +SET_ABS_FUNC IsAiTileSafe, 0x803E449 +SET_ABS_FUNC AiUpdateAllUnitHealAi, 0x803E641 +SET_ABS_FUNC AiUnitUpdateGetHealMode, 0x803E699 +SET_ABS_FUNC AiUnitTryHealSelf, 0x803E719 +SET_ABS_FUNC AiUnitTryMoveTowardsEscapePoint, 0x803E7D1 +SET_ABS_FUNC AiUnitGetClosestEscapePointData, 0x803E879 +SET_ABS_FUNC GetUnitAttackAndWeapon, 0x803EC99 +SET_ABS_FUNC AiTryDoDanceAdjacent, 0x803ED29 +SET_ABS_FUNC AiTryDoStealAdjacent, 0x803EE4D +SET_ABS_FUNC AiGetStaffAiIndex, 0x803F9D9 +SET_ABS_FUNC AiTryDoStaff, 0x803FA41 +SET_ABS_FUNC GetAiSafestAccessibleAdjacentPosition, 0x803FAE9 +SET_ABS_FUNC nullsub_29, 0x8040665 +SET_ABS_FUNC OnSerialCommunication, 0x80419DD +SET_ABS_FUNC SioVSync_8041C1C, 0x8041C1D +SET_ABS_FUNC SioReady, 0x8041D69 +SET_ABS_FUNC SioMain_8041DC4, 0x8041DC5 +SET_ABS_FUNC SioCon_8042E0C, 0x8042E0D +SET_ABS_FUNC SioCon_8042E2C, 0x8042E2D +SET_ABS_FUNC SetGameLinkArenaBit, 0x8042E79 +SET_ABS_FUNC ClearGameLinkArenaBit, 0x8042E89 +SET_ABS_FUNC CheckGameLinkArenaBit, 0x8042E99 +SET_ABS_FUNC SioPlaySomeIndexedSfx, 0x804320D +SET_ABS_FUNC NameSelect_DrawNameText, 0x8044701 +SET_ABS_FUNC NameSelect_8044768, 0x8044769 +SET_ABS_FUNC NameSelect_8044C54, 0x8044C55 +SET_ABS_FUNC NameSelect_8044ED8, 0x8044ED9 +SET_ABS_FUNC OnNameSelectHBlank, 0x8044F85 +SET_ABS_FUNC NameSelect_8044FE4, 0x8044FE5 +SET_ABS_FUNC NameSelect_8044FFC, 0x8044FFD +SET_ABS_FUNC NameSelect_804503C, 0x804503D +SET_ABS_FUNC NameSelect_8045068, 0x8045069 +SET_ABS_FUNC NameSelect_DrawSomeText, 0x80450AD +SET_ABS_FUNC NameSelect_8045108, 0x8045109 +SET_ABS_FUNC NameSelect_80451F0, 0x80451F1 +SET_ABS_FUNC New6C_SIOMAIN2, 0x8045C15 +SET_ABS_FUNC CheckSomethingSaveRelated, 0x8047AB9 +SET_ABS_FUNC SioMenu_8047AF4, 0x8047AF5 +SET_ABS_FUNC SioMenu_8047B34, 0x8047B35 +SET_ABS_FUNC SioMenu_8047C60, 0x8047C61 +SET_ABS_FUNC SioMenu_8047CF0, 0x8047CF1 +SET_ABS_FUNC SioMenu_8047D88, 0x8047D89 +SET_ABS_FUNC SioMenu_8047FF8, 0x8047FF9 +SET_ABS_FUNC SioMenu_80480B4, 0x80480B5 +SET_ABS_FUNC SioMenu_8048168, 0x8048169 +SET_ABS_FUNC StartNameSelect, 0x8048261 +SET_ABS_FUNC nullsub_43, 0x8048A69 +SET_ABS_FUNC ITEMRANGEDONE_sub_804AF2C, 0x804AF2D +SET_ABS_FUNC BeginLinkArenaBattle, 0x804B801 +SET_ABS_FUNC nullsub_16, 0x804C3A1 +SET_ABS_FUNC nullsub_14, 0x804C3A5 +SET_ABS_FUNC nullsub_13, 0x804C3A9 +SET_ABS_FUNC LoadOldUIPal, 0x804E079 +SET_ABS_FUNC LoadNewUIPal, 0x804E0A9 +SET_ABS_FUNC LoadOldUIImage, 0x804E0D9 +SET_ABS_FUNC LoadNewUIImage, 0x804E109 +SET_ABS_FUNC WriteUIWindowTileMap, 0x804E1BD +SET_ABS_FUNC ClearTileMapRect, 0x804E315 +SET_ABS_FUNC MakeUIWindowTileMap_BG0BG1, 0x804E369 +SET_ABS_FUNC UpdateHandCursor, 0x804E79D +SET_ABS_FUNC ClearBG0BG1, 0x804E885 +SET_ABS_FUNC LoadOldUIGfx, 0x804EB55 +SET_ABS_FUNC LoadNewUIGraphics, 0x804EB69 +SET_ABS_FUNC StartMenuAdjusted, 0x804EB99 +SET_ABS_FUNC StartMenuChild, 0x804EBC9 +SET_ABS_FUNC StartMenu, 0x804EBE5 +SET_ABS_FUNC StartMenuExt2, 0x804EC35 +SET_ABS_FUNC StartMenuAt, 0x804EC99 +SET_ABS_FUNC StartMenuExt, 0x804ECB1 +SET_ABS_FUNC EndMenu, 0x804EEA9 +SET_ABS_FUNC EndAllMenus, 0x804EF21 +SET_ABS_FUNC Menu_CallDefinedConstructors, 0x804EF39 +SET_ABS_FUNC Menu_Draw, 0x804EF71 +SET_ABS_FUNC Menu_DrawHoverThing, 0x804F0E1 +SET_ABS_FUNC Menu_Idle, 0x804F165 +SET_ABS_FUNC Menu_HandleDirectionInputs, 0x804F295 +SET_ABS_FUNC Menu_HandleSelectInputs, 0x804F375 +SET_ABS_FUNC Menu_GetCursorGfxCurrentPosition, 0x804F401 +SET_ABS_FUNC MenuCommandAlwaysUsable, 0x804F449 +SET_ABS_FUNC MenuCommandAlwaysGrayed, 0x804F44D +SET_ABS_FUNC MenuCommandNeverUsable, 0x804F451 +SET_ABS_FUNC Menu_HelpBoxInit, 0x804F475 +SET_ABS_FUNC Menu_HelpBoxIdle, 0x804F4A1 +SET_ABS_FUNC MenuCallHelp, 0x804F521 +SET_ABS_FUNC Menu_TextBoxIdle, 0x804F531 +SET_ABS_FUNC MenuCallHelpBox, 0x804F581 +SET_ABS_FUNC Menu_804F5B4, 0x804F5B5 +SET_ABS_FUNC MarkSomethingInMenu, 0x804F60D +SET_ABS_FUNC UnMarkSomethingInMenu, 0x804F62D +SET_ABS_FUNC StartMenu_AndDoSomethingCommands, 0x804F64D +SET_ABS_FUNC Menu_UpdateMovingCursorGfxPosition, 0x804F6A5 +SET_ABS_FUNC ClearMenuRelatedList, 0x804F6F9 +SET_ABS_FUNC InitTargets, 0x804F8A5 +SET_ABS_FUNC AddTarget, 0x804F8BD +SET_ABS_FUNC LinkTargets, 0x804F911 +SET_ABS_FUNC TargetSelection_GetRealCursorPosition, 0x804F959 +SET_ABS_FUNC TargetSelection_Loop, 0x804F96D +SET_ABS_FUNC StartTargetSelection, 0x804FA3D +SET_ABS_FUNC StartTargetSelectionExt, 0x804FAA5 +SET_ABS_FUNC EndTargetSelection, 0x804FAB9 +SET_ABS_FUNC TargetSelection_HandleMoveInput, 0x804FAED +SET_ABS_FUNC TargetSelection_HandleSelectInput, 0x804FB65 +SET_ABS_FUNC GetFarthestTargetIndex, 0x804FBFD +SET_ABS_FUNC LinkTargetsOrdered, 0x804FC5D +SET_ABS_FUNC GetLinkedTargetList, 0x804FD01 +SET_ABS_FUNC GetFirstTargetPointer, 0x804FD11 +SET_ABS_FUNC GetTargetListSize, 0x804FD29 +SET_ABS_FUNC GetTarget, 0x804FD35 +SET_ABS_FUNC StartEkrBattleDeamon, 0x804FD61 +SET_ABS_FUNC EndEkrBattleDeamon, 0x804FD8D +SET_ABS_FUNC IsBattleDeamonActive, 0x804FDA1 +SET_ABS_FUNC EkrBattleDeamon_OnEnd, 0x804FDBD +SET_ABS_FUNC nullsub_35, 0x804FDD1 +SET_ABS_FUNC StartEkrBattle, 0x804FDD5 +SET_ABS_FUNC InBattleMainRoutine, 0x804FE41 +SET_ABS_FUNC GameLoop_Battle, 0x804FEE5 +SET_ABS_FUNC nullsub_36, 0x804FF61 +SET_ABS_FUNC ekrBattle_Init, 0x804FF65 +SET_ABS_FUNC ekrBattle_8050000, 0x8050001 +SET_ABS_FUNC EkrBattle_BattleQuoteInit, 0x8050055 +SET_ABS_FUNC EkrBattle_BattleQuoteWait, 0x80500F1 +SET_ABS_FUNC ekrBattle_8050134, 0x8050135 +SET_ABS_FUNC ekrBattle_8050158, 0x8050159 +SET_ABS_FUNC ekrBattle_8050174, 0x8050175 +SET_ABS_FUNC ekrBattle_8050224, 0x8050225 +SET_ABS_FUNC ekrBattle_8050244, 0x8050245 +SET_ABS_FUNC ekrBattle_WaitForFrame8, 0x8050291 +SET_ABS_FUNC ekrBattle_StartUIPaletteAnimations, 0x80502B1 +SET_ABS_FUNC ekrBattle_8050304, 0x8050305 +SET_ABS_FUNC ekrBattle_WaitForTriangleAttackAnim, 0x8050339 +SET_ABS_FUNC ekrBattle_InitMainAnimations, 0x8050361 +SET_ABS_FUNC ekrBattle_80503EC, 0x80503ED +SET_ABS_FUNC ekrBattle_StartMainAnimations, 0x8050401 +SET_ABS_FUNC ekrBattle_WaitForClassChange, 0x8050441 +SET_ABS_FUNC ekrBattle_WaitForRoundAnimations, 0x805046D +SET_ABS_FUNC ekrBattle_80505EC, 0x80505ED +SET_ABS_FUNC ekrBattle_8050600, 0x8050601 +SET_ABS_FUNC ekrBattle_8050684, 0x8050685 +SET_ABS_FUNC ekrBattle_80506C8, 0x80506C9 +SET_ABS_FUNC ekrBattle_80508F0, 0x80508F1 +SET_ABS_FUNC ekrBattle_8050940, 0x8050941 +SET_ABS_FUNC ekrBattle_80509A8, 0x80509A9 +SET_ABS_FUNC ekrBattle_8050A84, 0x8050A85 +SET_ABS_FUNC ekrBattle_8050AB8, 0x8050AB9 +SET_ABS_FUNC ekrBattle_8050B08, 0x8050B09 +SET_ABS_FUNC ekrBattle_CheckForLevelup_8050C34, 0x8050C35 +SET_ABS_FUNC ekrBattle_WaitForLevelup_8050C6C, 0x8050C6D +SET_ABS_FUNC ekrBattle_MakePopups, 0x8050C91 +SET_ABS_FUNC ekrBattle_WaitForPopup, 0x8050CA9 +SET_ABS_FUNC ekrBattle_8050CCC, 0x8050CCD +SET_ABS_FUNC ekrBattle_8050CF8, 0x8050CF9 +SET_ABS_FUNC ekrBattle_8050D88, 0x8050D89 +SET_ABS_FUNC ekrBattle_8050DA8, 0x8050DA9 +SET_ABS_FUNC nullsub_69, 0x8050DE1 +SET_ABS_FUNC NewEkrLvlupFan, 0x8050DE5 +SET_ABS_FUNC StartEkrGauge, 0x8050EF9 +SET_ABS_FUNC EndEkrGauge, 0x805116D +SET_ABS_FUNC EkrGauge_8051180, 0x8051181 +SET_ABS_FUNC EkrGauge_8051190, 0x8051191 +SET_ABS_FUNC EkrGauge_80511A0, 0x80511A1 +SET_ABS_FUNC EkrGauge_80511B0, 0x80511B1 +SET_ABS_FUNC EkrGauge_80511C0, 0x80511C1 +SET_ABS_FUNC EkrGauge_80511D0, 0x80511D1 +SET_ABS_FUNC EkrGauge_80511E4, 0x80511E5 +SET_ABS_FUNC EkrGauge_80511F8, 0x80511F9 +SET_ABS_FUNC EkrGauge_8051208, 0x8051209 +SET_ABS_FUNC EkrGauge_8051218, 0x8051219 +SET_ABS_FUNC EkrGauge_8051228, 0x8051229 +SET_ABS_FUNC ekrGauge_Loop, 0x8051285 +SET_ABS_FUNC StartEkrDispUP, 0x8051AC5 +SET_ABS_FUNC EkrDispUP_8051B48, 0x8051B49 +SET_ABS_FUNC ekrDispUP_Loop, 0x8051BB1 +SET_ABS_FUNC StartEfxHpBar, 0x8052305 +SET_ABS_FUNC StartEfxHpBarResire, 0x80525E9 +SET_ABS_FUNC StartEfxAvoid, 0x8052979 +SET_ABS_FUNC StartEfxHpBarLive, 0x8052A0D +SET_ABS_FUNC StartEfxNoDamage, 0x8052B99 +SET_ABS_FUNC StartEfxStatusCHG, 0x8052D8D +SET_ABS_FUNC StartEfxDeadEVTENT, 0x8052DD5 +SET_ABS_FUNC StartEfxDead, 0x8052FAD +SET_ABS_FUNC StartEfxDeadPika, 0x8053121 +SET_ABS_FUNC MoveBattleCameraOnto, 0x80533D1 +SET_ABS_FUNC nullsub_56, 0x805372D +SET_ABS_FUNC StartEfxQuake, 0x8053731 +SET_ABS_FUNC StartEfxHitQuake, 0x80539DD +SET_ABS_FUNC StartEfxFlashBG, 0x8053F11 +SET_ABS_FUNC StartEfxFlashHPBar, 0x8054441 +SET_ABS_FUNC StartEfxHPBarColorChange, 0x80545C1 +SET_ABS_FUNC EndEfxHPBarColorChange, 0x80546B1 +SET_ABS_FUNC StartEfxFlashUnit, 0x80547DD +SET_ABS_FUNC StartEfxStatusUnit, 0x8054A1D +SET_ABS_FUNC DeleteEach6C_efxStatusUnit, 0x8054B55 +SET_ABS_FUNC StartEfxWeaponIcon, 0x8054E8D +SET_ABS_FUNC EndEfxWeaponIcon, 0x8054ED5 +SET_ABS_FUNC PauseEfxWeaponIcon, 0x8054EF1 +SET_ABS_FUNC ResumeEfxWeaponIcon, 0x8054F01 +SET_ABS_FUNC EfxWeaponIcon_OnLoop, 0x8054F11 +SET_ABS_FUNC EfxWeaponIcon_OnEnd, 0x8054F79 +SET_ABS_FUNC NewEfxSpellCast, 0x8054FA9 +SET_ABS_FUNC SetSomethingSpellFxToTrue, 0x8055161 +SET_ABS_FUNC SetSomethingSpellFxToFalse, 0x805516D +SET_ABS_FUNC ClearBG1Position, 0x8055179 +SET_ABS_FUNC ClearBG1, 0x8055189 +SET_ABS_FUNC StartBattleAnimHitEffectsDefault, 0x8055279 +SET_ABS_FUNC StartBattleAnimHitEffects, 0x8055299 +SET_ABS_FUNC SomeImageStoringRoutine_SpellAnim, 0x80557D9 +SET_ABS_FUNC SomePaletteStoringRoutine_SpellAnim, 0x8055801 +SET_ABS_FUNC SomeImageStoringRoutine_SpellAnim2, 0x805581D +SET_ABS_FUNC SomePaletteStoringRoutine_SpellAnim2, 0x8055845 +SET_ABS_FUNC GetAnimationStartFrameMaybe, 0x805598D +SET_ABS_FUNC BeginAnimsOnBattleAnimations, 0x8055BD5 +SET_ABS_FUNC MainUpdate_8055C68, 0x8055C69 +SET_ABS_FUNC StartEkrBattleStarting, 0x8055CDD +SET_ABS_FUNC ekrBattleStarting_8055CF0, 0x8055CF1 +SET_ABS_FUNC ekrBattleStarting_8055DF4, 0x8055DF5 +SET_ABS_FUNC ekrBattleStarting_8055F00, 0x8055F01 +SET_ABS_FUNC ekrBattleStarting_8055FA0, 0x8055FA1 +SET_ABS_FUNC ekrBattleStarting_8055FE8, 0x8055FE9 +SET_ABS_FUNC ekrBattleStarting_8056024, 0x8056025 +SET_ABS_FUNC ekrBattleStarting_8056078, 0x8056079 +SET_ABS_FUNC ekrBattleEnding_80560F0, 0x80560F1 +SET_ABS_FUNC ekrBattleEnding_8056170, 0x8056171 +SET_ABS_FUNC ekrBattleEnding_80561C8, 0x80561C9 +SET_ABS_FUNC ekrBattleEnding_8056228, 0x8056229 +SET_ABS_FUNC ekrBattleEnding_8056288, 0x8056289 +SET_ABS_FUNC ekrBattleEnding_8056310, 0x8056311 +SET_ABS_FUNC ekrBattleEnding_8056390, 0x8056391 +SET_ABS_FUNC ekrBattleEnding_8056484, 0x8056485 +SET_ABS_FUNC StartEkrWindowAppear, 0x8056D25 +SET_ABS_FUNC EkrWindowAppear_Loop, 0x8056D91 +SET_ABS_FUNC StartEkrNamewinAppear, 0x8056E11 +SET_ABS_FUNC HasEkrNamewinAppearEnded, 0x8056E61 +SET_ABS_FUNC PrepareBattleGraphicsMaybe, 0x8056FF9 +SET_ABS_FUNC GetSpellAnimId, 0x8057FF9 +SET_ABS_FUNC GetBattleAnimationId, 0x8058849 +SET_ABS_FUNC SomethingFilterBattleAnimId, 0x8058961 +SET_ABS_FUNC GetAllegienceId, 0x80589B5 +SET_ABS_FUNC GetBattleAnimRoundType, 0x8058A0D +SET_ABS_FUNC GetBattleAnimRoundTypeFlags, 0x8058A35 +SET_ABS_FUNC GetSomeBattleAnimHpValue, 0x8058A61 +SET_ABS_FUNC IsItemDisplayedInBattle, 0x8058A8D +SET_ABS_FUNC BattleAIS_ExecCommands, 0x8058BC9 +SET_ABS_FUNC StartEkrChienCHR, 0x805990D +SET_ABS_FUNC EkrChienCHR_OnLoop, 0x8059925 +SET_ABS_FUNC RegisterAISSheetGraphics, 0x805993D +SET_ABS_FUNC SwitchAISFrameDataFromBARoundType, 0x805A07D +SET_ABS_FUNC GetAISLayerId, 0x805A155 +SET_ABS_FUNC GetAISSubjectId, 0x805A16D +SET_ABS_FUNC IsBatteRoundTypeAMiss, 0x805A185 +SET_ABS_FUNC GetCoreAIStruct, 0x805A2B5 +SET_ABS_FUNC GetAISNextBattleAnimRoundType, 0x805A2F1 +SET_ABS_FUNC GetAISCurrentRoundType, 0x805A311 +SET_ABS_FUNC StartEkrAnimeDrvProc, 0x805A9C1 +SET_ABS_FUNC EndEkrAnimeDrvProc, 0x805A9E1 +SET_ABS_FUNC ExecAllAIS, 0x805A9F5 +SET_ABS_FUNC StartEkrUnitMainMini, 0x805AA01 +SET_ABS_FUNC EkrUnitMainMini_OnLoop, 0x805AA4D +SET_ABS_FUNC SetBattleAnimArenaFlag, 0x805B01D +SET_ABS_FUNC GetBattleAnimArenaFlag, 0x805B029 +SET_ABS_FUNC PlayBattleCroudSfxIfArena, 0x805B07D +SET_ABS_FUNC BeginAnimsOnBattle_Arena, 0x805B0A9 +SET_ABS_FUNC NewEkrTogiInitPROC, 0x805B0F1 +SET_ABS_FUNC NewEkrTogiEndPROC, 0x805B279 +SET_ABS_FUNC NewEkrTogiColor, 0x805B34D +SET_ABS_FUNC EndEkrTogiColor, 0x805B381 +SET_ABS_FUNC StartSpellAnimation, 0x805B3CD +SET_ABS_FUNC StartSpellThing_MagicQuake, 0x805BC81 +SET_ABS_FUNC Loop6C_efxMagicQUAKE, 0x805BCC5 +SET_ABS_FUNC StartSpellAnimDummy, 0x805BE91 +SET_ABS_FUNC Loop6C_efxDummymagic, 0x805BEB5 +SET_ABS_FUNC StartSpellAnimHandAxe, 0x805BF09 +SET_ABS_FUNC StartSpellAnimArrow, 0x805C265 +SET_ABS_FUNC StartSpellAnimJavelin, 0x805C3F1 +SET_ABS_FUNC StartSpellAnimSong, 0x805C935 +SET_ABS_FUNC StartSpellAnimDance, 0x805CBDD +SET_ABS_FUNC nullsub_42, 0x805CEC5 +SET_ABS_FUNC StartSpellAnimFireBreath, 0x805D065 +SET_ABS_FUNC StartSpellAnimIceBreath, 0x805D389 +SET_ABS_FUNC StartSpellAnimDarkBreath, 0x805D4D1 +SET_ABS_FUNC Loop6C_efxDarkbreath, 0x805D509 +SET_ABS_FUNC StartSpellAnimThunder, 0x805D7D9 +SET_ABS_FUNC Loop6C_efxThunder, 0x805D815 +SET_ABS_FUNC StartSpellAnimFire, 0x805DAD5 +SET_ABS_FUNC StartSpellAnimElfire, 0x805DB19 +SET_ABS_FUNC Loop6C_efxFire, 0x805DB5D +SET_ABS_FUNC Loop6C_efxFireBG, 0x805DCC5 +SET_ABS_FUNC StartSubSpell_efxFireHITBG, 0x805DDF1 +SET_ABS_FUNC StartSubSpell_efxElfireBG, 0x805DED9 +SET_ABS_FUNC StartSubSpell_efxElfireBGCOL, 0x805DFA5 +SET_ABS_FUNC StartSubSpell_efxElfireOBJ, 0x805E031 +SET_ABS_FUNC StartSpellAnimFimbulvetr, 0x805E0E5 +SET_ABS_FUNC StartSpellAnimNosferatu, 0x805F355 +SET_ABS_FUNC Loop6C_efxResire, 0x805F391 +SET_ABS_FUNC StartSpellAnimPurge, 0x805FAE1 +SET_ABS_FUNC nullsub_41, 0x805FE81 +SET_ABS_FUNC StartSpellAnimDivine, 0x805FE85 +SET_ABS_FUNC DivineSfxLoop, 0x805FEC1 +SET_ABS_FUNC nullsub_39, 0x8060285 +SET_ABS_FUNC nullsub_40, 0x8060289 +SET_ABS_FUNC StartSpellAnimFenrir, 0x80608A5 +SET_ABS_FUNC StartSpellAnimHeal, 0x8061025 +SET_ABS_FUNC StartSpellAnimMend, 0x8061159 +SET_ABS_FUNC StartSpellAnimRecover, 0x80612BD +SET_ABS_FUNC StartSpellAnimSilence, 0x80623E1 +SET_ABS_FUNC StartSpellAnimSleep, 0x8062679 +SET_ABS_FUNC StartSpellAnimHammerne, 0x8062999 +SET_ABS_FUNC StartSpellAnimBerserk, 0x8062C15 +SET_ABS_FUNC StartSpellAnimShine, 0x8063481 +SET_ABS_FUNC StartSpellAnimLuna, 0x8063975 +SET_ABS_FUNC nullsub_51, 0x8064CFD +SET_ABS_FUNC StartSpellAnimAura, 0x8064E75 +SET_ABS_FUNC nullsub_52, 0x8065491 +SET_ABS_FUNC nullsub_53, 0x8065495 +SET_ABS_FUNC StartSpellAnimIvaldi, 0x80657D5 +SET_ABS_FUNC Loop6C_efxIvaldi, 0x8065811 +SET_ABS_FUNC StartSpellBG_IvaldiBG1, 0x80659AD +SET_ABS_FUNC Loop6C_efxIvaldiBG1, 0x8065A11 +SET_ABS_FUNC StartSpellBG_IvaldiBG2, 0x8065A81 +SET_ABS_FUNC Loop6C_efxIvaldiBG2, 0x8065AED +SET_ABS_FUNC StartSpellBG_IvaldiBG3, 0x8065B55 +SET_ABS_FUNC Loop6C_efxIvaldiBG3, 0x8065BB9 +SET_ABS_FUNC StartSpellBG_IvaldiBG4, 0x8065C39 +SET_ABS_FUNC PrepareSomeIvaldiParticleGraphics, 0x8065D85 +SET_ABS_FUNC StartSpellOBJ_IvaldiFall, 0x8065DA5 +SET_ABS_FUNC StartSpellOBJ_IvaldiSideWash, 0x8065F11 +SET_ABS_FUNC Loop6C_efxIvaldiOBJSideWash, 0x8065F65 +SET_ABS_FUNC StartSpellAnimStone, 0x80674D5 +SET_ABS_FUNC StartSpellAnimEvilEye, 0x8067799 +SET_ABS_FUNC StartSpellAnimNaglfar, 0x8067B7D +SET_ABS_FUNC Loop6C_efxNaglfar, 0x8067BB9 +SET_ABS_FUNC Loop6C_efxNaglfarBG, 0x8067E1D +SET_ABS_FUNC Loop6C_efxNaglfarBG2, 0x8067EE9 +SET_ABS_FUNC StartSpellAnimCrimsonEye, 0x8069EC5 +SET_ABS_FUNC StartEfxDamagaMojiEffect, 0x806C61D +SET_ABS_FUNC StartEfxDamageMojiEffectOBJ, 0x806C67D +SET_ABS_FUNC StartEfxCriticalEffect, 0x806C71D +SET_ABS_FUNC StartEfxPierceCriticalEffect, 0x806C9E9 +SET_ABS_FUNC StartEfxChillEffect, 0x806E015 +SET_ABS_FUNC StartEfxChillAnime, 0x806E1F1 +SET_ABS_FUNC nullsub_17, 0x806E30D +SET_ABS_FUNC nullsub_73, 0x806EB79 +SET_ABS_FUNC FillBGRect, 0x8070D7D +SET_ABS_FUNC ApplyFlashingPaletteAnimation, 0x807132D +SET_ABS_FUNC GetOtherRN_N, 0x80716B1 +SET_ABS_FUNC StartEkrsubAnimeEmulator, 0x80716C9 +SET_ABS_FUNC SomeBattlePlaySound_8071990, 0x8071991 +SET_ABS_FUNC Loop6C_efxSoundSE, 0x80719F1 +SET_ABS_FUNC Unset20200AC, 0x8071A8D +SET_ABS_FUNC Set20200AC, 0x8071A99 +SET_ABS_FUNC Get20200AC, 0x8071AA5 +SET_ABS_FUNC EkrClasschgFinished, 0x80729E1 +SET_ABS_FUNC EndEkrClasschg, 0x8072A01 +SET_ABS_FUNC NewEkrClassChg, 0x8072A15 +SET_ABS_FUNC EndEfxStatusUnit, 0x8072DC9 +SET_ABS_FUNC DoesEkrLevelUpSomething, 0x80734F9 +SET_ABS_FUNC EndEkrLevelUp, 0x8073519 +SET_ABS_FUNC NewEkrLevelup, 0x8073989 +SET_ABS_FUNC nullsub_62, 0x807460D +SET_ABS_FUNC HasBattleAnimTriangeAttackEnded, 0x8074F3D +SET_ABS_FUNC nullsub_18, 0x8074F59 +SET_ABS_FUNC StartEkrTriangle, 0x8074F5D +SET_ABS_FUNC EkrTriangle_OnLoop, 0x8074F81 +SET_ABS_FUNC StartEkrPegasusKnight, 0x8075185 +SET_ABS_FUNC StartEkrPegasusKnightBG, 0x807527D +SET_ABS_FUNC DoesBattlePopupExist, 0x8075B21 +SET_ABS_FUNC DeleteAnimsOnPopup, 0x8075B3D +SET_ABS_FUNC MakeBattlePopupTileMapFromTSA, 0x8075B79 +SET_ABS_FUNC DrawBattlePopup, 0x8075CA9 +SET_ABS_FUNC Battle_MakePopups, 0x8075F19 +SET_ABS_FUNC BattlePopup_Wait16Frames, 0x807606D +SET_ABS_FUNC ekrPopup_DrawWRankUp, 0x8076089 +SET_ABS_FUNC ekrPopup_WaitWRankUp, 0x80760B1 +SET_ABS_FUNC ekrPopup_DrawWRankUp2, 0x80760ED +SET_ABS_FUNC ekrPopup_WaitWRankUp2, 0x8076115 +SET_ABS_FUNC ekrPopup_DrawWpnBroke, 0x8076151 +SET_ABS_FUNC ekrPopup_WaitWpnBroke, 0x8076179 +SET_ABS_FUNC ekrPopup_DrawWpnBroke2, 0x80761B5 +SET_ABS_FUNC ekrPopup_WaitWpnBroke2, 0x80761DD +SET_ABS_FUNC ekrPopup_MarkEnd, 0x807621D +SET_ABS_FUNC nullsub_68, 0x807624D +SET_ABS_FUNC BeginAnimsOnBattle_Hensei, 0x8076331 +SET_ABS_FUNC NewEkrHenseiInitPROC, 0x807636D +SET_ABS_FUNC GetSpellAssocStructPtr, 0x8078215 +SET_ABS_FUNC GetSpellAssocCharCount, 0x8078249 +SET_ABS_FUNC GetSpellAssocAlt6CPointer, 0x8078269 +SET_ABS_FUNC GetSpellAssocReturnBool, 0x8078279 +SET_ABS_FUNC GetSpellAssocFacing, 0x8078289 +SET_ABS_FUNC GetSpellAssocFlashColor, 0x8078299 +SET_ABS_FUNC GenerateMonsterLevel, 0x80782ED +SET_ABS_FUNC GenerateMonsterClass, 0x8078325 +SET_ABS_FUNC GenerateMonsterItems, 0x8078351 +SET_ABS_FUNC ResetAllMoveUnitExtraData, 0x807840D +SET_ABS_FUNC StartMoveUnitForUnitExt, 0x8078429 +SET_ABS_FUNC StartMoveUnitForUnit, 0x8078465 +SET_ABS_FUNC EnableMoveUnitCameraFollow, 0x80784E5 +SET_ABS_FUNC DisableMoveUnitCameraFollow, 0x80784ED +SET_ABS_FUNC StartMoveUnitForUI, 0x80784F5 +SET_ABS_FUNC StartMoveUnit, 0x8078541 +SET_ABS_FUNC SetMoveUnitDirection, 0x8078695 +SET_ABS_FUNC ResetMoveUnitDirection, 0x80786BD +SET_ABS_FUNC ResetMoveUnitDirection_Unique, 0x80786E9 +SET_ABS_FUNC SetMoveUnitMoveManual_Unique, 0x8078701 +SET_ABS_FUNC DoesMoveUnitExist, 0x8078721 +SET_ABS_FUNC DoesMovingMoveUnitExist, 0x8078739 +SET_ABS_FUNC IsMoveUnit_Uhh, 0x8078771 +SET_ABS_FUNC SetMoveUnitMoveManual, 0x8078791 +SET_ABS_FUNC Init6C_89A2938, 0x80787FD +SET_ABS_FUNC Call89A2938_PlaySound1, 0x8078811 +SET_ABS_FUNC Call89A2938_PlaySound2, 0x8078825 +SET_ABS_FUNC NewSoundStepPlay6C, 0x807883D +SET_ABS_FUNC __MOVEUNIT6C_PlaySoundStepByClass, 0x8078889 +SET_ABS_FUNC nullsub_19, 0x8078895 +SET_ABS_FUNC MoveUnit_ExecMoveCommand, 0x8078899 +SET_ABS_FUNC DisplayFogThingMaybe, 0x8078A15 +SET_ABS_FUNC Call6C_89A2968, 0x8078A65 +SET_ABS_FUNC Loop6C_89A2968_1, 0x8078B09 +SET_ABS_FUNC Loop6C_89A2968_2, 0x8078BCD +SET_ABS_FUNC Does6C_89A2968Exist, 0x8078BFD +SET_ABS_FUNC MOVU_Call5_WaitForSomething, 0x8078C15 +SET_ABS_FUNC MOVU_Call4_SetState2, 0x8078C31 +SET_ABS_FUNC MOVU_Call3_Wait, 0x8078C39 +SET_ABS_FUNC nullsub_55, 0x8078C59 +SET_ABS_FUNC nullsub_54, 0x8078C5D +SET_ABS_FUNC MOVU_Call2_Moving, 0x8078C61 +SET_ABS_FUNC MOVEUNIT6C_PlaySoundStepByClass, 0x8078D6D +SET_ABS_FUNC _6CMOVEUNIT_Loop, 0x8079031 +SET_ABS_FUNC _6CMOVEUNIT_Destructor, 0x8079091 +SET_ABS_FUNC EndAllMoveUnits, 0x80790A5 +SET_ABS_FUNC EndMoveUnit, 0x80790B5 +SET_ABS_FUNC Delete6C__, 0x80790C1 +SET_ABS_FUNC HaltEachProcMarked4, 0x80790E1 +SET_ABS_FUNC ResumeEachProcMarked4, 0x80790ED +SET_ABS_FUNC IsSomeMOVEUNITRelatedStructAvailable, 0x807916D +SET_ABS_FUNC ResetAllMoveunitAnims, 0x8079191 +SET_ABS_FUNC GetNextMoveunitEntryStruct, 0x80791CD +SET_ABS_FUNC GetMoveUnitDisplayPosition, 0x807924D +SET_ABS_FUNC UpdateMOVEUNITGfx_Idle, 0x80792F9 +SET_ABS_FUNC UpdateMOVEUNITGfx_Movement, 0x80793A5 +SET_ABS_FUNC GetMoveUnitMovementSpeed, 0x807947D +SET_ABS_FUNC MOVEUNIT6C_807953C, 0x807953D +SET_ABS_FUNC GetMoveUnitGraphicsBuffer, 0x8079559 +SET_ABS_FUNC GetMoveUnitMMSImage, 0x8079575 +SET_ABS_FUNC GetMMSAnimDefinition, 0x8079589 +SET_ABS_FUNC StartMoveUnitDeathAnimation, 0x807959D +SET_ABS_FUNC BlendTimer6C_MainLoop, 0x8079619 +SET_ABS_FUNC HideMoveUnit, 0x80797D5 +SET_ABS_FUNC ShowMoveUnit, 0x80797DD +SET_ABS_FUNC SetMoveUnitDisplayPosition, 0x80797E5 +SET_ABS_FUNC SetMoveUnitDisplayOffset, 0x80797F5 +SET_ABS_FUNC StartMoveUnitFlashOut, 0x8079805 +SET_ABS_FUNC BeginMoveUnitActionAnimation, 0x80798B1 +SET_ABS_FUNC TCS_HaltAnim2, 0x80798E1 +SET_ABS_FUNC MOVEUNIT_Begin20FramesFastAnim, 0x8079945 +SET_ABS_FUNC TCS_HaltAnim, 0x8079969 +SET_ABS_FUNC mu_8079A74, 0x8079A75 +SET_ABS_FUNC SetAllMOVEUNITField44To1, 0x8079AF9 +SET_ABS_FUNC SetMOVEUNITField44To1, 0x8079B11 +SET_ABS_FUNC SetMoveUnitClassAndPalette, 0x8079B19 +SET_ABS_FUNC SetMoveUnitPalette, 0x8079B6D +SET_ABS_FUNC GetMoveUnitByIndex, 0x8079B91 +SET_ABS_FUNC GetExistingMoveUnitForUnit, 0x8079BB9 +SET_ABS_FUNC CopyEventMoveToBuffer, 0x8079CD9 +SET_ABS_FUNC ClearEventMoveBuffer, 0x8079D41 +SET_ABS_FUNC MuCtr_SetupWithEventMoveBuffer, 0x8079E79 +SET_ABS_FUNC MuCtrExists, 0x8079F85 +SET_ABS_FUNC SetAllMOVEUNITField44To1_, 0x8079F9D +SET_ABS_FUNC MoveUnit_, 0x807A015 +SET_ABS_FUNC GetPreferredPositionForUNIT, 0x807A055 +SET_ABS_FUNC MuCtr_ExecREDA_807A358, 0x807A359 +SET_ABS_FUNC GetAdjustedPositionForNewUnit, 0x807A4E9 +SET_ABS_FUNC DisplayWpnBrokePopup, 0x807A72D +SET_ABS_FUNC BattleUnit_ShouldDisplayWpnBroke, 0x807A771 +SET_ABS_FUNC DisplayWRankUpPopup, 0x807A795 +SET_ABS_FUNC BattleUnit_ShouldDisplayWRankUp, 0x807A7D9 +SET_ABS_FUNC _InitFontForUIDefault, 0x807A801 +SET_ABS_FUNC MapAnim_Cleanup, 0x807A80D +SET_ABS_FUNC MapAnim_AdvanceBattleRound, 0x807A839 +SET_ABS_FUNC MapAnim_PrepareNextBattleRound, 0x807A895 +SET_ABS_FUNC MapAnim_DisplayRoundAnim, 0x807A8F1 +SET_ABS_FUNC MapAnim_ShowPoisonEffectIfAny, 0x807A905 +SET_ABS_FUNC MapAnim_MoveCameraOntoSubject, 0x807A941 +SET_ABS_FUNC MapAnim_MoveCameraOntoTarget, 0x807A95D +SET_ABS_FUNC MapAnim_CallBattleQuoteEvents, 0x807ABB9 +SET_ABS_FUNC PlaySoundIdA0, 0x807ACD1 +SET_ABS_FUNC New6C_SummonGfx_FromActionPos, 0x807AD09 +SET_ABS_FUNC MakeBattleMOVEUNIT, 0x807B335 +SET_ABS_FUNC SetBattleAnimFacing, 0x807B3BD +SET_ABS_FUNC SetupBattleMOVEUNITs, 0x807B465 +SET_ABS_FUNC StartSomeMapAnim_807B68C, 0x807B68D +SET_ABS_FUNC BeginMapAnimForSteal, 0x807B6E5 +SET_ABS_FUNC BeginMapAnimForSummon, 0x807B741 +SET_ABS_FUNC BeginMapAnimForSummonDK, 0x807B799 +SET_ABS_FUNC BeginBattleMapAnims, 0x807B855 +SET_ABS_FUNC SetupMapAnimSpellData, 0x807B8D5 +SET_ABS_FUNC SetupMapBattleAnim, 0x807B901 +SET_ABS_FUNC GetFacingDirection, 0x807B9B9 +SET_ABS_FUNC DeleteBattleAnimInfoThing, 0x807BBB9 +SET_ABS_FUNC NewMapBattleInfoThing, 0x807BBC9 +SET_ABS_FUNC MapAnim_BeginMISSAnim, 0x807CB25 +SET_ABS_FUNC MapAnim_BeginNODAMAGEAnim, 0x807CB81 +SET_ABS_FUNC MapAnim_BeginWallBreakAnim, 0x807CBDD +SET_ABS_FUNC WallBreakAnim_Init, 0x807CC29 +SET_ABS_FUNC NewMapPoisonEffect, 0x807CC79 +SET_ABS_FUNC MapAnim_BeginPoisonAnim, 0x807CCC1 +SET_ABS_FUNC NewMapAnimEffectAnimator, 0x807D82D +SET_ABS_FUNC StartUnitWarpRing, 0x807DAA9 +SET_ABS_FUNC GetSomeStatUp, 0x807EC09 +SET_ABS_FUNC GetSomeStatBase, 0x807ED31 +SET_ABS_FUNC NewBG0Shaker, 0x807F615 +SET_ABS_FUNC BG0Shaker_Init, 0x807F629 +SET_ABS_FUNC BG0Shaker_Loop, 0x807F631 +SET_ABS_FUNC LoadSparkGfx, 0x807F6C1 +SET_ABS_FUNC StartStarRotationEffect, 0x807F7F9 +SET_ABS_FUNC StartStarExplosionEffect, 0x807F839 +SET_ABS_FUNC StartStarImplosionEffect, 0x807F859 +SET_ABS_FUNC New6C_SummonGfx, 0x8080D2D +SET_ABS_FUNC nullsub_58, 0x808125D +SET_ABS_FUNC GetItemAnim6CCode, 0x8081261 +SET_ABS_FUNC MapAnim_AnimateSubjectIdle, 0x8081279 +SET_ABS_FUNC MapAnim_SubjectResetAnim, 0x808129D +SET_ABS_FUNC MapAnim_BeginSubjectFastAnim, 0x80813F9 +SET_ABS_FUNC MapAnim_MoveSubjectsTowardsTarget, 0x80814D5 +SET_ABS_FUNC MapAnim_MoveSubjectsAwayFromTarget, 0x8081535 +SET_ABS_FUNC MapAnim_MoveCameraOnSubject, 0x8081595 +SET_ABS_FUNC MapAnim_MoveCameraOnTarget, 0x80815C1 +SET_ABS_FUNC MapAnim_MoveCameraOnWarpTarget, 0x80815ED +SET_ABS_FUNC MapAnim_BeginRoundSpecificAnims, 0x808161D +SET_ABS_FUNC MapAnim_WaitForHPToEndChangingMaybe, 0x8081915 +SET_ABS_FUNC MapAnim_PoisonEffectOnTarget, 0x8081931 +SET_ABS_FUNC MapAnim_TargetUnitWarpRing, 0x8081B71 +SET_ABS_FUNC MapAnim_WarpTargetWarpRing, 0x8081BCD +SET_ABS_FUNC MapAnim_TargetUnitFlashOut, 0x8081CD5 +SET_ABS_FUNC MapAnim_TargetUnitFlashIn, 0x8081CF9 +SET_ABS_FUNC MapAnim_TargetHide, 0x8081D1D +SET_ABS_FUNC MapAnim_TargetStarExplosion, 0x8081D41 +SET_ABS_FUNC MapAnim_TargetStarImplosion, 0x8081D85 +SET_ABS_FUNC MapAnim_TargetShow, 0x8081DE1 +SET_ABS_FUNC MapAnim_MoveTargetForWarp, 0x8081E05 +SET_ABS_FUNC CallEventDefinition, 0x8082E81 +SET_ABS_FUNC CheckEventDefinition, 0x8082EC5 +SET_ABS_FUNC CheckNextEventDefinition, 0x8082F29 +SET_ABS_FUNC IsThereClosedChestAt, 0x80831AD +SET_ABS_FUNC IsThereClosedDoorAt, 0x80831F1 +SET_ABS_FUNC ShouldCallEndEvent, 0x8083251 +SET_ABS_FUNC MaybeCallEndEvent_, 0x808326D +SET_ABS_FUNC CallEndEvent, 0x8083281 +SET_ABS_FUNC CheckWin, 0x80832D9 +SET_ABS_FUNC MaybeCallEndEvent, 0x80832E9 +SET_ABS_FUNC GetCurrentChapterBallistaePtr, 0x8083309 +SET_ABS_FUNC GetCurrentChapterBallistae2Ptr, 0x8083321 +SET_ABS_FUNC GetChapterAllyUnitDefinitions, 0x8083349 +SET_ABS_FUNC GetChapterEnemyUnitDefinitions, 0x80833B1 +SET_ABS_FUNC GetChapterSkirmishLeaderClasses, 0x8083401 +SET_ABS_FUNC ShouldCallBattleQuote, 0x80834B1 +SET_ABS_FUNC CallBattleQuoteEventsIfAny, 0x8083505 +SET_ABS_FUNC ShouldDisplayDeathQuoteForChar, 0x80835A9 +SET_ABS_FUNC EvCheck00_Always, 0x8083831 +SET_ABS_FUNC EvCheck01_AFEV, 0x8083835 +SET_ABS_FUNC EvCheck02_TURN, 0x8083865 +SET_ABS_FUNC EvCheck03_CHAR, 0x80838AD +SET_ABS_FUNC EvCheck04_CHARASM, 0x80838FD +SET_ABS_FUNC EvCheck05_LOCA, 0x8083939 +SET_ABS_FUNC EvCheck06_VILL, 0x8083979 +SET_ABS_FUNC EvCheck07_CHES, 0x808398D +SET_ABS_FUNC EvCheck08_DOOR, 0x80839C9 +SET_ABS_FUNC EvCheck09_, 0x8083A11 +SET_ABS_FUNC EvCheck0A_SHOP, 0x8083A59 +SET_ABS_FUNC EvCheck0B_AREA, 0x8083AA5 +SET_ABS_FUNC EvCheck0C_Never, 0x8083B25 +SET_ABS_FUNC EvCheck0D_Never, 0x8083B29 +SET_ABS_FUNC EvCheck0E_, 0x8083B2D +SET_ABS_FUNC EvCheck0F_, 0x8083B59 +SET_ABS_FUNC EvCheck10_, 0x8083B99 +SET_ABS_FUNC SetLocalEventId, 0x8083BD9 +SET_ABS_FUNC UnsetLocalEventId, 0x8083C0D +SET_ABS_FUNC ClearLocalEvents, 0x8083C49 +SET_ABS_FUNC CheckLocalEventId, 0x8083C61 +SET_ABS_FUNC SetGlobalEventId, 0x8083CA1 +SET_ABS_FUNC UnsetGlobalEventId, 0x8083CD9 +SET_ABS_FUNC CheckGlobalEventId, 0x8083D6D +SET_ABS_FUNC SetEventId, 0x8083D81 +SET_ABS_FUNC UnsetEventId, 0x8083D95 +SET_ABS_FUNC CheckEventId, 0x8083DA9 +SET_ABS_FUNC GetGlobalEventIdStorage, 0x8083DC1 +SET_ABS_FUNC GetGlobalEventIdStorageSize, 0x8083DC9 +SET_ABS_FUNC GetLocalEventIdStorage, 0x8083DCD +SET_ABS_FUNC GetLocalEventIdStorageSize, 0x8083DD5 +SET_ABS_FUNC CheckTutorialEvent, 0x8083E35 +SET_ABS_FUNC RunTutorialEvent, 0x8083E65 +SET_ABS_FUNC RunPhaseSwitchEvents, 0x8083EB9 +SET_ABS_FUNC CheckForCharacterEvents, 0x8083F69 +SET_ABS_FUNC RunCharacterEvents, 0x8083FB1 +SET_ABS_FUNC GetLocationEventCommandAt, 0x8084079 +SET_ABS_FUNC RunLocationEvents, 0x80840C5 +SET_ABS_FUNC CheckForPostActionEvents, 0x8084331 +SET_ABS_FUNC RunPostActionEvents, 0x80843C1 +SET_ABS_FUNC RunSelectEvents, 0x808445D +SET_ABS_FUNC RunMoveEventsMaybe, 0x80844B1 +SET_ABS_FUNC RunPostMoveEvents, 0x8084509 +SET_ABS_FUNC CheckBattleForecastTutorialEvent, 0x8084561 +SET_ABS_FUNC RunBattleForecastTutorialEvent, 0x808457D +SET_ABS_FUNC RunPlayerPhaseStartTutorialEvent, 0x8084591 +SET_ABS_FUNC ClearActiveEventRegistry, 0x80845A5 +SET_ABS_FUNC RegisterEventActivation, 0x80845B9 +SET_ABS_FUNC GetEventTriggerId, 0x80845E5 +SET_ABS_FUNC GetBattleQuoteEntry, 0x808464D +SET_ABS_FUNC GetDeathQuoteEntry, 0x80846E5 +SET_ABS_FUNC IsCharacterForceDeployed_, 0x8084801 +SET_ABS_FUNC IsSethLArachelMyrrhInnes, 0x8084859 +SET_ABS_FUNC IsAnyEnemyUnitAlive, 0x8084EE9 +SET_ABS_FUNC GetDeadEnemyAmount, 0x8084F1D +SET_ABS_FUNC IsCharDeadAsNonPlayerUnit, 0x8084F6D +SET_ABS_FUNC StartGameOver, 0x8085375 +SET_ABS_FUNC ResetAllPlayerUnitState, 0x8085485 +SET_ABS_FUNC TriggerDisableMapIcons, 0x8085971 +SET_ABS_FUNC UnTriggerDisableMapIcons, 0x808597D +SET_ABS_FUNC nullsub_20, 0x80859E9 +SET_ABS_FUNC nullsub_30, 0x8085F85 +SET_ABS_FUNC HandleCh5xUnits_Start, 0x8086415 +SET_ABS_FUNC HandleCh5xUnits_End, 0x8086465 +SET_ABS_FUNC CallRouteSplitMenu, 0x80864CD +SET_ABS_FUNC MenuCommand_DrawRouteSplit, 0x8086515 +SET_ABS_FUNC Command_EirikaMode, 0x8086565 +SET_ABS_FUNC Command_EphraimMode, 0x8086581 +SET_ABS_FUNC EndBG3Slider, 0x8086DBD +SET_ABS_FUNC GetSomeUnitId, 0x8086DCD +SET_ABS_FUNC DrawLotsaText, 0x8086E01 +SET_ABS_FUNC DrawStatScreenBar, 0x80870BD +SET_ABS_FUNC DrawUnitStatScreen, 0x8087185 +SET_ABS_FUNC DrawUnitItemScreen, 0x8087485 +SET_ABS_FUNC DrawUnitScreenSupportList, 0x8087699 +SET_ABS_FUNC DrawUnitWeaponRank, 0x8087789 +SET_ABS_FUNC DrawUnitWeaponScreen, 0x808784D +SET_ABS_FUNC DrawStatScreenPage, 0x80878CD +SET_ABS_FUNC DrawStatScreen, 0x8088671 +SET_ABS_FUNC StatScreenBGVPosManager_Loop, 0x8088921 +SET_ABS_FUNC StartStatScreen, 0x808894D +SET_ABS_FUNC MakeStatScreenRText6C, 0x80889A1 +SET_ABS_FUNC Create6CRText, 0x8089165 +SET_ABS_FUNC Loop6C_8A00B20_UpdateOAMData, 0x808948D +SET_ABS_FUNC LoadChapterTitleGfx, 0x8089625 +SET_ABS_FUNC LoadDialogueBoxGfx, 0x8089805 +SET_ABS_FUNC GetCameraMovementSpeedMaybe, 0x808BBCD +SET_ABS_FUNC Loop6CUI1_DisplayTransition, 0x808BCF9 +SET_ABS_FUNC Loop6CUI1_HideTransition, 0x808BE71 +SET_ABS_FUNC MMB_DrawStatusText, 0x808C389 +SET_ABS_FUNC DrawMinimugBoxMaybe, 0x808C45D +SET_ABS_FUNC InitMinimugBoxMaybe, 0x808C5D1 +SET_ABS_FUNC Loop6CUI1_Hidden, 0x808CCC9 +SET_ABS_FUNC Loop6CUI1_Displayed, 0x808CD75 +SET_ABS_FUNC Init6CUI2, 0x808CE9D +SET_ABS_FUNC Loop6CUI2, 0x808CEC9 +SET_ABS_FUNC InitPlayerPhaseInterfaceMaybe, 0x808CFC5 +SET_ABS_FUNC StartPlayerPhaseSideWindows, 0x808D13D +SET_ABS_FUNC EndPlayerPhaseSideWindows, 0x808D151 +SET_ABS_FUNC Init6CPI, 0x808D289 +SET_ABS_FUNC Loop16CPI, 0x808D47D +SET_ABS_FUNC Loop26CPI, 0x808D6D5 +SET_ABS_FUNC Loop46CPI, 0x808D71D +SET_ABS_FUNC Loop36CPI, 0x808D785 +SET_ABS_FUNC MinimalVBlankHandler, 0x808DAE5 +SET_ABS_FUNC NewChapterStatusScreen, 0x808E765 +SET_ABS_FUNC nullsub_63, 0x8090B45 +SET_ABS_FUNC StartUnitListMenu, 0x80920C5 +SET_ABS_FUNC SortUnitList_GetUnitSoloAnimation, 0x8092BE5 +SET_ABS_FUNC SortUnitList, 0x8092BF1 +SET_ABS_FUNC IsCharacterForceDeployed, 0x80953F1 +SET_ABS_FUNC SomeLeftoverFunctionThatReturns0, 0x809545D +SET_ABS_FUNC IsUnitInCurrentRoster, 0x8095461 +SET_ABS_FUNC SortPlayerUnitsForPrepScreen, 0x8095749 +SET_ABS_FUNC EndBG3Slider_, 0x8095A39 +SET_ABS_FUNC NewPrepScreenTraineePromotionManager, 0x8096685 +SET_ABS_FUNC PrepScreenTraineePromotionManagerExists, 0x8096699 +SET_ABS_FUNC Delete6CMenuScroll, 0x8097685 +SET_ABS_FUNC Make6CMenuScroll, 0x8097699 +SET_ABS_FUNC SomethingPrepListRelated, 0x80981E5 +SET_ABS_FUNC CanUnitPrepScreenUse, 0x809839D +SET_ABS_FUNC nullsub_21, 0x809B36D +SET_ABS_FUNC StoreConvoyWeaponIconGraphics, 0x809D2C5 +SET_ABS_FUNC SramInit, 0x80A2C3D +SET_ABS_FUNC IsSramWorking, 0x80A2CB1 +SET_ABS_FUNC LoadGameGeneralStats, 0x80A2D29 +SET_ABS_FUNC SaveGameGeneralStats, 0x80A2DA9 +SET_ABS_FUNC GetSaveDataOffsetPointer, 0x80A2ED5 +SET_ABS_FUNC SaveMetadata_Check, 0x80A2EF9 +SET_ABS_FUNC SaveMetadata_Generate, 0x80A2F95 +SET_ABS_FUNC GetSaveDataLocation, 0x80A3065 +SET_ABS_FUNC CheckSaveAndGetPointer, 0x80A3115 +SET_ABS_FUNC SaveLocalEventIndexes, 0x80A3131 +SET_ABS_FUNC SaveGlobalEventIndexes, 0x80A3151 +SET_ABS_FUNC LoadLocalEventIds, 0x80A3171 +SET_ABS_FUNC LoadGlobalEventIds, 0x80A3199 +SET_ABS_FUNC SaveConvoyItems, 0x80A31E5 +SET_ABS_FUNC LoadConvoyItems, 0x80A326D +SET_ABS_FUNC SetCharacterKnown, 0x80A37A9 +SET_ABS_FUNC IsCharacterKnown, 0x80A37F1 +SET_ABS_FUNC LoadBWLEntries, 0x80A421D +SET_ABS_FUNC LoadSomeTable, 0x80A4249 +SET_ABS_FUNC SaveBWLEntries, 0x80A4265 +SET_ABS_FUNC SaveChapterWinData, 0x80A4289 +SET_ABS_FUNC GetChapterWinDataEntry, 0x80A429D +SET_ABS_FUNC GetNextChapterWinDataEntryIndex, 0x80A42BD +SET_ABS_FUNC GetWonChapterCount, 0x80A42ED +SET_ABS_FUNC RegisterChapterTimeAndTurnCount, 0x80A4351 +SET_ABS_FUNC GetGameTotalTurnCount, 0x80A43D9 +SET_ABS_FUNC DoesThisChapterCount, 0x80A4405 +SET_ABS_FUNC GetGameTotalTime, 0x80A4449 +SET_ABS_FUNC GetGameTotalTurnCount2, 0x80A4489 +SET_ABS_FUNC BWL_AddWinOrLossIdk, 0x80A4685 +SET_ABS_FUNC BWL_IncrementMoveValue, 0x80A474D +SET_ABS_FUNC BWL_IncrementStatScreenViews, 0x80A478D +SET_ABS_FUNC BWL_IncrementDeployCountMaybe, 0x80A47CD +SET_ABS_FUNC BWL_AddTilesMoved, 0x80A481D +SET_ABS_FUNC BWL_AddExpGained, 0x80A487D +SET_ABS_FUNC StoreSomeUnitSetFlags, 0x80A48DD +SET_ABS_FUNC BWL_GetTotalBattles, 0x80A4905 +SET_ABS_FUNC BWL_GetTotalWins, 0x80A4929 +SET_ABS_FUNC BWL_GetTotalExpGained, 0x80A49A5 +SET_ABS_FUNC BWL_AddFavoritismValue, 0x80A4A35 +SET_ABS_FUNC BWL_GetEntry, 0x80A4CFD +SET_ABS_FUNC Get0203EDB4, 0x80A4D29 +SET_ABS_FUNC Set0203EDB4, 0x80A4D35 +SET_ABS_FUNC Save0203EDB4, 0x80A4D41 +SET_ABS_FUNC Load0203EDB4, 0x80A4D5D +SET_ABS_FUNC SaveGame, 0x80A5011 +SET_ABS_FUNC LoadGame, 0x80A5129 +SET_ABS_FUNC SaveMetadata_CheckId, 0x80A5219 +SET_ABS_FUNC SaveUnit, 0x80A533D +SET_ABS_FUNC LoadSavedUnit, 0x80A5795 +SET_ABS_FUNC SaveRNGState_Maybe, 0x80A59E1 +SET_ABS_FUNC SaveSuspendedGame, 0x80A5A49 +SET_ABS_FUNC LoadSuspendedGame, 0x80A5C15 +SET_ABS_FUNC PackUnitStructForSuspend, 0x80A5E11 +SET_ABS_FUNC UnpackUnitStructFromSuspend, 0x80A6119 +SET_ABS_FUNC SaveTrapStructs, 0x80A6371 +SET_ABS_FUNC ComputeSaveChecksum, 0x80A6409 +SET_ABS_FUNC SaveMetadata_VerifyChecksum, 0x80A6431 +SET_ABS_FUNC SaveMetadata_ComputeChecksum, 0x80A6455 +SET_ABS_FUNC Loop6C_savemenu, 0x80A9025 +SET_ABS_FUNC Make6C_savemenu, 0x80AA4C1 +SET_ABS_FUNC Make6C_savemenu2, 0x80AA519 +SET_ABS_FUNC savemenu_SetDifficultyChoice, 0x80AA52D +SET_ABS_FUNC New6C_savedraw, 0x80AB301 +SET_ABS_FUNC nullsub_64, 0x80AC3DD +SET_ABS_FUNC NewNewGameDifficultySelect, 0x80AC3E1 +SET_ABS_FUNC _CallDifferedLoop, 0x80AD2E9 +SET_ABS_FUNC Get6CDifferedLoop6C, 0x80AD2F9 +SET_ABS_FUNC DeleteEach6CDifferedLoop, 0x80AD31D +SET_ABS_FUNC Find6CDifferedLoop, 0x80AD339 +SET_ABS_FUNC EnableAllGfx, 0x80AD5D9 +SET_ABS_FUNC StartSmallBrownNameBoxes, 0x80ADB7D +SET_ABS_FUNC EndSmallBrownNameBoxes, 0x80ADC91 +SET_ABS_FUNC FadeInOut_Init, 0x80AE18D +SET_ABS_FUNC FadeIn_Loop, 0x80AE1A1 +SET_ABS_FUNC FadeOut_Loop, 0x80AE201 +SET_ABS_FUNC FadeInOut_DisableGfx, 0x80AE249 +SET_ABS_FUNC FadeInExists, 0x80AE2A1 +SET_ABS_FUNC FadeOutExists, 0x80AE2B9 +SET_ABS_FUNC NewFadeIn, 0x80AE2D1 +SET_ABS_FUNC NewFadeOut, 0x80AE2F5 +SET_ABS_FUNC nullsub_65, 0x80AF229 +SET_ABS_FUNC nullsub_66, 0x80B05C1 +SET_ABS_FUNC nullsub_67, 0x80B2519 +SET_ABS_FUNC Make6C_opinfo, 0x80B29F9 +SET_ABS_FUNC Shop6C_GetPortraitIndex, 0x80B4155 +SET_ABS_FUNC MakeShopArmory, 0x80B41E1 +SET_ABS_FUNC MakeShopVendor, 0x80B4201 +SET_ABS_FUNC MakeShop, 0x80B4241 +SET_ABS_FUNC SuspendCommand, 0x80B5D5D +SET_ABS_FUNC GetOverallRank, 0x80B6071 +SET_ABS_FUNC GetChapterTacticsRank, 0x80B6145 +SET_ABS_FUNC GetChapterSurvivalRank, 0x80B61C5 +SET_ABS_FUNC GetChapterDeathCount, 0x80B6285 +SET_ABS_FUNC GetChapterFundsRank, 0x80B62DD +SET_ABS_FUNC GetChapterWinPerc, 0x80B6359 +SET_ABS_FUNC GetChapterCombatRank, 0x80B63F1 +SET_ABS_FUNC GetChapterExpRank, 0x80B6425 +SET_ABS_FUNC ComputeChapterRankings, 0x80B6505 +SET_ABS_FUNC nullsub_6, 0x80B8189 +SET_ABS_FUNC nullsub_7, 0x80B818D +SET_ABS_FUNC nullsub_5, 0x80B81FD +SET_ABS_FUNC nullsub_57, 0x80B867D +SET_ABS_FUNC WorldMap_Destruct, 0x80B8A19 +SET_ABS_FUNC SetupGraphicSystemsForWorldMap, 0x80B8D5D +SET_ABS_FUNC DeployEveryUnit, 0x80B8FA5 +SET_ABS_FUNC nullsub_22, 0x80B8FD1 +SET_ABS_FUNC WorldMap_HideEverything, 0x80B9A11 +SET_ABS_FUNC WorldMap_InitChapterTransition, 0x80B9B39 +SET_ABS_FUNC WorldMap_WaitForChapterIntroEvents, 0x80B9CB1 +SET_ABS_FUNC DoNothing, 0x80B9F09 +SET_ABS_FUNC EndWM, 0x80BA025 +SET_ABS_FUNC NewWorldMap, 0x80BA2E5 +SET_ABS_FUNC WorldMap_SetupChapterStuff, 0x80BA335 +SET_ABS_FUNC CallChapterWMIntroEvents, 0x80BA3D5 +SET_ABS_FUNC NewMapScreenVSynce, 0x80BA719 +SET_ABS_FUNC MapScreen_OnDelete, 0x80BA759 +SET_ABS_FUNC MapScreen_Init, 0x80BA765 +SET_ABS_FUNC NewMapScreen, 0x80BABF1 +SET_ABS_FUNC MMS_GetGfx, 0x80BAC1D +SET_ABS_FUNC MMS_GetROMTCS2, 0x80BAC31 +SET_ABS_FUNC GetMapUnitMMSGfxBuffer, 0x80BAC45 +SET_ABS_FUNC GmapUnit_Destruct, 0x80BAC59 +SET_ABS_FUNC GmapUnit_Init, 0x80BAC65 +SET_ABS_FUNC GmapUnit_Loop, 0x80BAC79 +SET_ABS_FUNC GetPaletteIdForAllegience, 0x80BADD5 +SET_ABS_FUNC NewMapUnit, 0x80BADF1 +SET_ABS_FUNC MapUnitC_DeleteGmapUnit, 0x80BAF0D +SET_ABS_FUNC MapUnitC_SetPosition, 0x80BAF35 +SET_ABS_FUNC MapUnitC_SetTCSAnim, 0x80BAF85 +SET_ABS_FUNC MapUnitC_SetTCSOAMIndex, 0x80BB019 +SET_ABS_FUNC MapUnitC_SetAllegienceColorIndex, 0x80BB039 +SET_ABS_FUNC MapUnitC_MarkSomething, 0x80BB0A5 +SET_ABS_FUNC GmapUnitContainer_Destruct, 0x80BB1A1 +SET_ABS_FUNC GmapUnitContainer_Init, 0x80BB1C9 +SET_ABS_FUNC NewGmapUnitContainer, 0x80BB1E9 +SET_ABS_FUNC GmapUnitFade_Destruct, 0x80BB20D +SET_ABS_FUNC GmapUnitFade_Init, 0x80BB265 +SET_ABS_FUNC GmapUnitFade_Loop, 0x80BB349 +SET_ABS_FUNC WMLocation_GetChapterId, 0x80BB5B1 +SET_ABS_FUNC WMLoc_GetNextLocId, 0x80BB5E5 +SET_ABS_FUNC GmapScreen2_Destruct, 0x80BB719 +SET_ABS_FUNC GmapScreen2_Init, 0x80BB725 +SET_ABS_FUNC GmapScreen2_Loop, 0x80BB799 +SET_ABS_FUNC nullsub_59, 0x80BBA81 +SET_ABS_FUNC GmapCursor_Init, 0x80BBA85 +SET_ABS_FUNC GmapCursor_Destruct, 0x80BBAD5 +SET_ABS_FUNC NewGmapCursor, 0x80BBBC5 +SET_ABS_FUNC nullsub_38, 0x80BBEB5 +SET_ABS_FUNC MapRoute_StartTransition, 0x80BC0BD +SET_ABS_FUNC MapRoute_EnableBGSyncs, 0x80BC185 +SET_ABS_FUNC MapRoute_TransitionLoop, 0x80BC1B9 +SET_ABS_FUNC MapRoute_TransitionEnd, 0x80BC229 +SET_ABS_FUNC MapRoute_BeginRouteTransition, 0x80BC29D +SET_ABS_FUNC MapRoute_80BC2DC, 0x80BC2DD +SET_ABS_FUNC NewMapRoute, 0x80BC3A5 +SET_ABS_FUNC SetupNewWMRoute, 0x80BC8BD +SET_ABS_FUNC WM_RemovePath, 0x80BC8ED +SET_ABS_FUNC GetBattleMapType, 0x80BD069 +SET_ABS_FUNC nullsub_37, 0x80BD2A9 +SET_ABS_FUNC GetCharacterClassId, 0x80BD2AD +SET_ABS_FUNC MapMUPrim_MakeUnitForChar, 0x80BD2ED +SET_ABS_FUNC MapMUPrim_MakeUnitForClass, 0x80BD375 +SET_ABS_FUNC MapMUPrim_RemoveLinkedMapUnit, 0x80BD3E9 +SET_ABS_FUNC nullsub_70, 0x80BD419 +SET_ABS_FUNC nullsub_49, 0x80BDC01 +SET_ABS_FUNC MapMU_FillPrim, 0x80BDC05 +SET_ABS_FUNC NewMapMU, 0x80BDC29 +SET_ABS_FUNC MapMU_SetUnit, 0x80BDC3D +SET_ABS_FUNC MapMU_RemoveUnit, 0x80BDD2D +SET_ABS_FUNC MapMU_SetUnitTCSOAMIndex, 0x80BE0E9 +SET_ABS_FUNC MapMU_80BE108, 0x80BE109 +SET_ABS_FUNC MapMU_SetUnitClass, 0x80BE535 +SET_ABS_FUNC MapMU_SetUnitChar, 0x80BE551 +SET_ABS_FUNC WM_PutClassSprite, 0x80BF4D1 +SET_ABS_FUNC WM_PutCharSprite, 0x80BF505 +SET_ABS_FUNC WM_RemoveUnit, 0x80BF539 +SET_ABS_FUNC WM_DrawPath, 0x80BF58D +SET_ABS_FUNC nullsub_50, 0x80BF5C1 +SET_ABS_FUNC nullsub_48, 0x80BFD7D +SET_ABS_FUNC NewMapMuEntry, 0x80C01DD +SET_ABS_FUNC nullsub_47, 0x80C0549 +SET_ABS_FUNC GetWMCenteredCameraPosition, 0x80C0859 +SET_ABS_FUNC nullsub_72, 0x80C18E9 +SET_ABS_FUNC Make6C_Gmap_RM, 0x80C2421 +SET_ABS_FUNC GetWMDisplayPosition, 0x80C24AD +SET_ABS_FUNC nullsub_71, 0x80C3EC5 +SET_ABS_FUNC nullsub_23, 0x80C6101 +SET_ABS_FUNC AddSomeChild6C, 0x80C6739 +SET_ABS_FUNC DeleteSome6C, 0x80C674D +SET_ABS_FUNC StorePaletteToBufferMaybe, 0x80C6761 +SET_ABS_FUNC Initialize6CIntroSequence, 0x80C6A55 +SET_ABS_FUNC Until6C2AIs8Callback, 0x80C6E91 +SET_ABS_FUNC PrepareHealthAndSafetyScreen, 0x80CC1F9 +SET_ABS_FUNC NewPromotionMain, 0x80CC469 +SET_ABS_FUNC NewPromotionMain_raw, 0x80CC499 +SET_ABS_FUNC PromotionInit_SetNullState, 0x80CC905 +SET_ABS_FUNC PromotionInit_Loop, 0x80CC911 +SET_ABS_FUNC NewPromotion, 0x80CCA15 +SET_ABS_FUNC ChangePromotionClassDescText, 0x80CCA65 +SET_ABS_FUNC PromotionDisplay_InitClassName, 0x80CCAAD +SET_ABS_FUNC PromotionDisplay_DrawClassName, 0x80CCB41 +SET_ABS_FUNC IsThirdTraineePromotionAllowed, 0x80CCCA5 +SET_ABS_FUNC Make6C_PromotionSub, 0x80CCD35 +SET_ABS_FUNC PromotionDisplay_Init, 0x80CCD49 +SET_ABS_FUNC PromotionDisplay_InitClassDesc, 0x80CCF61 +SET_ABS_FUNC PromotionDisplay_MainLoop, 0x80CD015 +SET_ABS_FUNC GetClassAnimationIdForWeapon, 0x80CD571 +SET_ABS_FUNC PromotionCommand_OnSelect, 0x80CDB35 +SET_ABS_FUNC PromotionCommand_OnTextDraw, 0x80CDCC5 +SET_ABS_FUNC PromotionCommand_OnChange, 0x80CDD01 +SET_ABS_FUNC Usability_ThirdPromotionOption, 0x80CDD39 +SET_ABS_FUNC PromotionMenuSelect_OnInit, 0x80CDD79 +SET_ABS_FUNC nullsub_60, 0x80CDDD5 +SET_ABS_FUNC nullsub_61, 0x80CDDD9 +SET_ABS_FUNC StartPromotionMenuSelect, 0x80CDDDD +SET_ABS_FUNC m4a_1, 0x80CF4B9 +SET_ABS_FUNC SoundMain, 0x80CF4C9 +SET_ABS_FUNC SoundMainRAM, 0x80CF54D +SET_ABS_FUNC FlushSound_Maybe, 0x80CFB1D +SET_ABS_FUNC SoundStuff_80D0158, 0x80D0159 +SET_ABS_FUNC m4aSongNumStart, 0x80D01FD +SET_ABS_FUNC m4aSongNumStop, 0x80D02C9 +SET_ABS_FUNC m4aMPlayFadeOut, 0x80D0395 +SET_ABS_FUNC m4aMPlayFadeOutTemporarily, 0x80D03A5 +SET_ABS_FUNC m4aMPlayFadeIn, 0x80D03C5 +SET_ABS_FUNC m4aMPlayImmInit, 0x80D03ED +SET_ABS_FUNC m4aSoundMode, 0x80D0715 +SET_ABS_FUNC MPlayStart, 0x80D0931 +SET_ABS_FUNC m4aMPlayStop, 0x80D0A15 +SET_ABS_FUNC m4aMPlayVolumeControl, 0x80D11A5 +SET_ABS_FUNC ply_memacc, 0x80D1569 +SET_ABS_FUNC ply_xswee, 0x80D1635 +SET_ABS_FUNC ply_xcmd_0C, 0x80D1641 +SET_ABS_FUNC ply_xcmd_0D, 0x80D1655 +SET_ABS_FUNC DummyFunc, 0x80D1669 +SET_ABS_FUNC ArcTan2, 0x80D166D +SET_ABS_FUNC BgAffineSet, 0x80D1671 +SET_ABS_FUNC CpuFastSet, 0x80D1675 +SET_ABS_FUNC CpuSet, 0x80D1679 +SET_ABS_FUNC Div, 0x80D167D +SET_ABS_FUNC DivArm, 0x80D1681 +SET_ABS_FUNC Mod, 0x80D1685 +SET_ABS_FUNC HuffUnComp, 0x80D168D +SET_ABS_FUNC LZ77UnCompVram, 0x80D1691 +SET_ABS_FUNC LZ77UnCompWram, 0x80D1695 +SET_ABS_FUNC SVC_Multiboot, 0x80D1699 +SET_ABS_FUNC ObjAffineSet, 0x80D16A1 +SET_ABS_FUNC RLUnCompVram, 0x80D16A5 +SET_ABS_FUNC RLUnCompWram, 0x80D16A9 +SET_ABS_FUNC RegisterRamReset, 0x80D16AD +SET_ABS_FUNC SVC_Sqrt, 0x80D16D9 +SET_ABS_FUNC VBlankIntrWait, 0x80D16DD +SET_ABS_FUNC ReadSramFast_Core, 0x80D16E5 +SET_ABS_FUNC WriteSramFast, 0x80D1725 +SET_ABS_FUNC VerifySramFast_Core, 0x80D1765 +SET_ABS_FUNC SetSramFastFunc, 0x80D17B1 +SET_ABS_FUNC WriteAndVerifySramFast, 0x80D184D +SET_ABS_FUNC llsl_thumb, 0x80D188D +SET_ABS_FUNC BXR1, 0x80D18C5 +SET_ABS_FUNC BXR2, 0x80D18C9 +SET_ABS_FUNC BXR3, 0x80D18CD +SET_ABS_FUNC BXR4, 0x80D18D1 +SET_ABS_FUNC BXR5, 0x80D18D5 +SET_ABS_FUNC BXR6, 0x80D18D9 +SET_ABS_FUNC BXR7, 0x80D18DD +SET_ABS_FUNC BXR8, 0x80D18E1 +SET_ABS_FUNC BXR9, 0x80D18E5 +SET_ABS_FUNC BXR10, 0x80D18E9 +SET_ABS_FUNC BXR11, 0x80D18ED +SET_ABS_FUNC BXR12, 0x80D18F1 +SET_ABS_FUNC BXSP, 0x80D18F5 +SET_ABS_FUNC BXLR, 0x80D18F9 +SET_ABS_FUNC __divsi3, 0x80D18FD +SET_ABS_FUNC nullsub_1, 0x80D1991 +SET_ABS_FUNC __modsi3, 0x80D1995 +SET_ABS_FUNC _div, 0x80D1AD5 +SET_ABS_FUNC _mod, 0x80D1B4D +SET_ABS_FUNC memcpy, 0x80D1C0D +SET_ABS_FUNC memset, 0x80D1C6D +SET_ABS_FUNC .gcc2_compiled._11, 0x80D1CC1 +SET_ABS_FUNC sprintf, 0x80D1CFD +SET_ABS_FUNC .gcc2_compiled._12, 0x80D1D3D +SET_ABS_FUNC .gcc2_compiled._13, 0x80D1D89 +SET_ABS_FUNC strstr, 0x80D1DCD +SET_ABS_FUNC .gcc2_compiled._15, 0x80D1E11 +SET_ABS_FUNC __sbprintf, 0x80D1E31 +SET_ABS_FUNC vfprintf, 0x80D1EA5 +SET_ABS_FUNC _vfprintf_r, 0x80D1EB9 +SET_ABS_FUNC cvt, 0x80D2E19 +SET_ABS_FUNC exponent, 0x80D2F0D +SET_ABS_FUNC .gcc2_compiled._16, 0x80D2F7D +SET_ABS_FUNC .gcc2_compiled._17, 0x80D2FB1 +SET_ABS_FUNC _dtoa_r, 0x80D31B9 +SET_ABS_FUNC .gcc2_compiled._19, 0x80D3EB1 +SET_ABS_FUNC __sfmoreglue, 0x80D3F7D +SET_ABS_FUNC __sfp, 0x80D3FAD +SET_ABS_FUNC _cleanup_r, 0x80D4021 +SET_ABS_FUNC _cleanup, 0x80D4031 +SET_ABS_FUNC __sinit, 0x80D4041 +SET_ABS_FUNC .gcc2_compiled._21, 0x80D40A1 +SET_ABS_FUNC _malloc_trim_r, 0x80D4261 +SET_ABS_FUNC .gcc2_compiled._22, 0x80D4321 +SET_ABS_FUNC .gcc2_compiled._23, 0x80D454D +SET_ABS_FUNC .gcc2_compiled._24, 0x80D458D +SET_ABS_FUNC _localeconv_r, 0x80D45C9 +SET_ABS_FUNC setlocale, 0x80D45D1 +SET_ABS_FUNC localeconv, 0x80D45E9 +SET_ABS_FUNC .gcc2_compiled._25, 0x80D45F9 +SET_ABS_FUNC .gcc2_compiled._26, 0x80D46D5 +SET_ABS_FUNC _malloc_r, 0x80D4831 +SET_ABS_FUNC .gcc2_compiled._27, 0x80D4BF1 +SET_ABS_FUNC .gcc2_compiled._28, 0x80D4C1D +SET_ABS_FUNC .gcc2_compiled._29, 0x80D4C9D +SET_ABS_FUNC nullsub_3, 0x80D4D25 +SET_ABS_FUNC nullsub_4, 0x80D4D29 +SET_ABS_FUNC .gcc2_compiled._30, 0x80D4D2D +SET_ABS_FUNC _Bfree, 0x80D4D85 +SET_ABS_FUNC _multadd, 0x80D4D9D +SET_ABS_FUNC _s2b, 0x80D4E35 +SET_ABS_FUNC _hi0bits, 0x80D4EB9 +SET_ABS_FUNC _lo0bits, 0x80D4F11 +SET_ABS_FUNC _i2b, 0x80D4F95 +SET_ABS_FUNC _multiply, 0x80D4FA9 +SET_ABS_FUNC _pow5mult, 0x80D5115 +SET_ABS_FUNC _lshift, 0x80D51AD +SET_ABS_FUNC __mcmp, 0x80D524D +SET_ABS_FUNC __mdiff, 0x80D528D +SET_ABS_FUNC _ulp, 0x80D537D +SET_ABS_FUNC _b2d, 0x80D53C9 +SET_ABS_FUNC _d2b, 0x80D5485 +SET_ABS_FUNC _ratio, 0x80D556D +SET_ABS_FUNC _mprec_log10, 0x80D55BD +SET_ABS_FUNC .gcc2_compiled._31, 0x80D55FD +SET_ABS_FUNC .gcc2_compiled._32, 0x80D5621 +SET_ABS_FUNC .gcc2_compiled._44, 0x80D5641 +SET_ABS_FUNC .gcc2_compiled._33, 0x80D566D +SET_ABS_FUNC __swrite, 0x80D56A1 +SET_ABS_FUNC __sseek, 0x80D56E1 +SET_ABS_FUNC __sclose, 0x80D5721 +SET_ABS_FUNC .gcc2_compiled._35, 0x80D578D +SET_ABS_FUNC remap_handle, 0x80D57AD +SET_ABS_FUNC initialise_monitor_handles, 0x80D57F9 +SET_ABS_FUNC get_errno, 0x80D5869 +SET_ABS_FUNC error, 0x80D587D +SET_ABS_FUNC wrap, 0x80D5891 +SET_ABS_FUNC _swiread, 0x80D58A9 +SET_ABS_FUNC _read, 0x80D58CD +SET_ABS_FUNC _swilseek, 0x80D5915 +SET_ABS_FUNC _lseek, 0x80D5999 +SET_ABS_FUNC _swiwrite, 0x80D59A5 +SET_ABS_FUNC _write, 0x80D59C9 +SET_ABS_FUNC _swiopen, 0x80D5A15 +SET_ABS_FUNC _open, 0x80D5AB5 +SET_ABS_FUNC _swiclose, 0x80D5AC9 +SET_ABS_FUNC _close, 0x80D5AFD +SET_ABS_FUNC _exit, 0x80D5B09 +SET_ABS_FUNC _kill, 0x80D5B29 +SET_ABS_FUNC _getpid, 0x80D5B49 +SET_ABS_FUNC _sbrk, 0x80D5B4D +SET_ABS_FUNC _fstat, 0x80D5B89 +SET_ABS_FUNC _unlink, 0x80D5B95 +SET_ABS_FUNC _raise, 0x80D5B9D +SET_ABS_FUNC _gettimeofday, 0x80D5BA1 +SET_ABS_FUNC _times, 0x80D5BCD +SET_ABS_FUNC .gcc2_compiled._36, 0x80D5BF1 +SET_ABS_FUNC .gcc2_compiled._37, 0x80D5C21 +SET_ABS_FUNC .gcc2_compiled._39, 0x80D5CA5 +SET_ABS_FUNC .gcc2_compiled._40, 0x80D5CB1 +SET_ABS_FUNC .gcc2_compiled._41, 0x80D5CDD +SET_ABS_FUNC isatty, 0x80D5CFD +SET_ABS_FUNC alarm, 0x80D5D01 +SET_ABS_FUNC .gcc2_compiled._42, 0x80D5D05 +SET_ABS_FUNC .gcc2_compiled._43, 0x80D5D35 +SET_ABS_FUNC .gcc2_compiled._47, 0x80D5D65 +SET_ABS_FUNC __unpack_d, 0x80D5EAD +SET_ABS_FUNC _fpadd_parts, 0x80D5F85 +SET_ABS_FUNC __adddf3, 0x80D61F1 +SET_ABS_FUNC __subdf3, 0x80D6221 +SET_ABS_FUNC __muldf3, 0x80D6259 +SET_ABS_FUNC __divdf3, 0x80D6501 +SET_ABS_FUNC __fpcmp_parts_d, 0x80D6689 +SET_ABS_FUNC __cmpdf2, 0x80D6789 +SET_ABS_FUNC __eqdf2, 0x80D67B5 +SET_ABS_FUNC __nedf2, 0x80D6801 +SET_ABS_FUNC __gtdf2, 0x80D684D +SET_ABS_FUNC __gedf2, 0x80D6899 +SET_ABS_FUNC __ltdf2, 0x80D68E5 +SET_ABS_FUNC __ledf2, 0x80D6931 +SET_ABS_FUNC __floatsidf, 0x80D697D +SET_ABS_FUNC __fixdfsi, 0x80D69F9 +SET_ABS_FUNC __negdf2, 0x80D6A6D +SET_ABS_FUNC __make_dp, 0x80D6A95 +SET_ABS_FUNC __truncdfsf2, 0x80D6ABD +SET_ABS_FUNC .gcc2_compiled._48, 0x80D6B01 +SET_ABS_FUNC __unpack_f, 0x80D6BB9 +SET_ABS_FUNC _fpadd_parts_0, 0x80D6C35 +SET_ABS_FUNC __addsf3, 0x80D6DB1 +SET_ABS_FUNC __subsf3, 0x80D6DDD +SET_ABS_FUNC __mulsf3, 0x80D6E11 +SET_ABS_FUNC __divsf3, 0x80D6F75 +SET_ABS_FUNC __fpcmp_parts_f, 0x80D7061 +SET_ABS_FUNC __cmpsf2, 0x80D7145 +SET_ABS_FUNC __eqsf2, 0x80D716D +SET_ABS_FUNC __nesf2, 0x80D71B5 +SET_ABS_FUNC __gtsf2, 0x80D71FD +SET_ABS_FUNC __gesf2, 0x80D7245 +SET_ABS_FUNC __ltsf2, 0x80D728D +SET_ABS_FUNC __lesf2, 0x80D72D5 +SET_ABS_FUNC __floatsisf, 0x80D731D +SET_ABS_FUNC __fixsfsi, 0x80D737D +SET_ABS_FUNC __negsf2, 0x80D73E5 +SET_ABS_FUNC __make_fp, 0x80D7409 +SET_ABS_FUNC __extendsfdf2, 0x80D7421 +SET_ABS_FUNC .gcc2_compiled._49, 0x80D744D +SET_ABS_FUNC .gcc2_compiled._50, 0x80D7481 +SET_ABS_FUNC ClearOAMBuffer, 0x80D7499 +SET_ABS_FUNC BgTileMap_ApplyTSA, 0x80D74A1 +SET_ABS_FUNC BgTileMap_FillRect, 0x80D74A9 +SET_ABS_FUNC BgTileMap_CopyRect, 0x80D74B9 +SET_ABS_FUNC ComputeChecksum, 0x80D74C1 + +SET_ABS_DATA gAISFrontLeft, 0x2000000 +SET_ABS_DATA gAISBackLeft, 0x2000004 +SET_ABS_DATA gAISFrontRight, 0x2000008 +SET_ABS_DATA gAISBackRight, 0x200000C +SET_ABS_DATA gpBattleAnimFrameStartLookup, 0x200005C +SET_ABS_DATA gpProcEkrBattle, 0x2000064 +SET_ABS_DATA gpProcEkrGauge, 0x2000068 +SET_ABS_DATA gpProcEkrDispUP, 0x200006C +SET_ABS_DATA gpMapBuffer, 0x2001000 +SET_ABS_DATA gTradeMenuTextHandles, 0x200278C +SET_ABS_DATA gaBattleForecastTextStructs, 0x2002FDC +SET_ABS_DATA gStatScreenVOffset, 0x2003C02 +SET_ABS_DATA gpStatScreenUnit, 0x2003C08 +SET_ABS_DATA gpStatScreenMoveUnit, 0x2003C0C +SET_ABS_DATA gpCurrentHelpTextStruct, 0x2003C10 +SET_ABS_DATA gpStatScreenPageBg0Map, 0x2003D2C +SET_ABS_DATA gAISOAM_20041C8, 0x20041C8 +SET_ABS_DATA gpStatScreenPageBg2Map, 0x200472C +SET_ABS_DATA gSortedUnitList, 0x200D6E0 +SET_ABS_DATA gStringBufferAlt, 0x200F17C +SET_ABS_DATA gAISFrames_Left, 0x200F1C8 +SET_ABS_DATA gAISFrames_Right, 0x2011BC8 +SET_ABS_DATA gPrepScreenItemList, 0x20122D4 +SET_ABS_DATA gPrepScreenItemListSize, 0x2012F54 +SET_ABS_DATA gSomeFontStruct, 0x2017648 +SET_ABS_DATA gSomeTextStruct, 0x2017660 +SET_ABS_DATA gBool_EfxDeathActive, 0x2017734 +SET_ABS_DATA gSomeSubAnim6CCounter, 0x201774C +SET_ABS_DATA gpEfxStatusUnit, 0x201776C +SET_ABS_DATA gpEfxWeaponIcon, 0x2017774 +SET_ABS_DATA gpEfxSpellCast, 0x2017778 +SET_ABS_DATA gpEfxHPBarColorChange, 0x201777C +SET_ABS_DATA gSomeTSABuffer, 0x2019790 +SET_ABS_DATA gBattleAnimBoolEkrNamewinAppearActive, 0x201FAD0 +SET_ABS_DATA gBattleAnimBoolEndedRounds, 0x201FB04 +SET_ABS_DATA gpEkrAnimeDrvProc, 0x201FB18 +SET_ABS_DATA gpBattleAnimSomeSheetData, 0x201FB1C +SET_ABS_DATA gpEkrTogiColor, 0x201FB24 +SET_ABS_DATA gSomeBattleAISStruct_RightUnit, 0x2020048 +SET_ABS_DATA gpSomeBattleAIS_RightUnit, 0x2020054 +SET_ABS_DATA gSomeBattleAISStruct_LeftUnit, 0x2020058 +SET_ABS_DATA gpSomeBattleAIS_LeftUnit, 0x2020064 +SET_ABS_DATA gpEkrClasschg, 0x20200B0 +SET_ABS_DATA gpEkrLevelup, 0x20200B4 +SET_ABS_DATA gpSomeUnitStruct2, 0x202010C +SET_ABS_DATA gLevelUpLevelBase, 0x2020112 +SET_ABS_DATA gLevelUpStatsBase, 0x2020114 +SET_ABS_DATA gLevelUpStatsAfter, 0x2020124 +SET_ABS_DATA gBattleAnimTriangleAttackEnded, 0x202013C +SET_ABS_DATA gpPopup6C, 0x2020140 +SET_ABS_DATA gBoolPopupEnded, 0x2020144 +SET_ABS_DATA gGenericBuffer, 0x2020188 +SET_ABS_DATA gPaletteBuffer, 0x20228A8 +SET_ABS_DATA gPalette1Buffer, 0x20228C8 +SET_ABS_DATA gPalette2Buffer, 0x20228E8 +SET_ABS_DATA gPalette3Buffer, 0x2022908 +SET_ABS_DATA gPalette4Buffer, 0x2022928 +SET_ABS_DATA gPalette6Buffer, 0x2022968 +SET_ABS_DATA gPalette7Buffer, 0x2022988 +SET_ABS_DATA gPaletteEBuffer, 0x2022A68 +SET_ABS_DATA gPaletteFBuffer, 0x2022A88 +SET_ABS_DATA gPalette10Buffer, 0x2022AA8 +SET_ABS_DATA gPalette12Buffer, 0x2022AE8 +SET_ABS_DATA gPalette13Buffer, 0x2022B08 +SET_ABS_DATA gPalette14Buffer, 0x2022B28 +SET_ABS_DATA gPalette15Buffer, 0x2022B48 +SET_ABS_DATA gPalette16Buffer, 0x2022B68 +SET_ABS_DATA gPalette17Buffer, 0x2022B88 +SET_ABS_DATA gPalette18Buffer, 0x2022BA8 +SET_ABS_DATA gPalette19Buffer, 0x2022BC8 +SET_ABS_DATA gPalette1ABuffer, 0x2022BE8 +SET_ABS_DATA gPalette1BBuffer, 0x2022C08 +SET_ABS_DATA gPalette1CBuffer, 0x2022C28 +SET_ABS_DATA gPalette1DBuffer, 0x2022C48 +SET_ABS_DATA gPalette1EBuffer, 0x2022C68 +SET_ABS_DATA gPalette1FBuffer, 0x2022C88 +SET_ABS_DATA gBg0MapBuffer, 0x2022CA8 +SET_ABS_DATA gBg1MapBuffer, 0x20234A8 +SET_ABS_DATA gBg2MapBuffer, 0x2023CA8 +SET_ABS_DATA gBg3MapBuffer, 0x20244A8 +SET_ABS_DATA gBg0MapTarget, 0x2024CA8 +SET_ABS_DATA gBg1MapTarget, 0x2024CAC +SET_ABS_DATA gBg2MapTarget, 0x2024CB0 +SET_ABS_DATA gBg3MapTarget, 0x2024CB4 +SET_ABS_DATA gpMainCallback, 0x2024CB8 +SET_ABS_DATA gKeyStatus, 0x2024CC0 +SET_ABS_DATA gTileRegistryNextIndex, 0x2024CD4 +SET_ABS_DATA gTileRegistryTotalSize, 0x2024CD8 +SET_ABS_DATA gTileRegistry, 0x2024CDC +SET_ABS_DATA gSoundStatus, 0x2024E5C +SET_ABS_DATA gProcStatePool, 0x2024E68 +SET_ABS_DATA gProcAllocLookup, 0x2026968 +SET_ABS_DATA gProcAllocIterator, 0x2026A6C +SET_ABS_DATA gProcRoot, 0x2026A70 +SET_ABS_DATA gIconIndexToDataLookup, 0x2026A90 +SET_ABS_DATA gIconDataToIndexLookup, 0x2026E10 +SET_ABS_DATA gDebugTextData, 0x2026E30 +SET_ABS_DATA gSmallString, 0x2028E44 +SET_ABS_DATA gSmallStringEnd, 0x2028E4C +SET_ABS_DATA gDebugFontObjTileRoot, 0x2028E50 +SET_ABS_DATA gDebugFontObjPaletteMask, 0x2028E54 +SET_ABS_DATA gDefaultFontData, 0x2028E58 +SET_ABS_DATA gpCurrentFont, 0x2028E70 +SET_ABS_DATA gAISArray, 0x2028F78 +SET_ABS_DATA gpAISFirst, 0x2029D88 +SET_ABS_DATA gHiObjPool, 0x2029D8C +SET_ABS_DATA gHiObjNodes, 0x202A58C +SET_ABS_DATA gFaceGfxData, 0x202A68C +SET_ABS_DATA gCurrentTextString, 0x202A6AC +SET_ABS_DATA gCurrentTextIndex, 0x202B6AC +SET_ABS_DATA gPaletteFadeBuffer, 0x202B6B0 +SET_ABS_DATA gGameState, 0x202BCB0 +SET_ABS_DATA gChapterData, 0x202BCF0 +SET_ABS_DATA gPreviousCursorDisplayPosition, 0x202BD3C +SET_ABS_DATA gCursorAnimationClockReference, 0x202BD40 +SET_ABS_DATA gSomeCameraMovementTableMaybe, 0x202BD44 +SET_ABS_DATA gActiveUnitId, 0x202BE44 +SET_ABS_DATA gActiveUnitPosition, 0x202BE48 +SET_ABS_DATA gUnitArray, 0x202BE4C +SET_ABS_DATA gMapSize, 0x202E4D4 +SET_ABS_DATA gMapUnit, 0x202E4D8 +SET_ABS_DATA gMapTerrain, 0x202E4DC +SET_ABS_DATA gMapMovement, 0x202E4E0 +SET_ABS_DATA gMapRange, 0x202E4E4 +SET_ABS_DATA gMapFog, 0x202E4E8 +SET_ABS_DATA gMapHidden, 0x202E4EC +SET_ABS_DATA gMapMovement2, 0x202E4F0 +SET_ABS_DATA gMapUnitPool, 0x202E4F4 +SET_ABS_DATA gMapTerrainPool, 0x202ECAC +SET_ABS_DATA gMapFogPool, 0x202F464 +SET_ABS_DATA gMapHiddenPool, 0x202FC1C +SET_ABS_DATA gMapMovement2Pool, 0x20303D4 +SET_ABS_DATA gTileConfigBuffer, 0x2030B8C +SET_ABS_DATA gMapRawTilesPool, 0x2032F8C +SET_ABS_DATA gUnitMoveBuffer, 0x2033EFC +SET_ABS_DATA gUnitSubject, 0x2033F3C +SET_ABS_DATA gSMSGfxIndexLookup, 0x2033F40 +SET_ABS_DATA gSMSGfxBuffer_Frame1, 0x2034010 +SET_ABS_DATA gSMSGfxBuffer_Frame2, 0x2036010 +SET_ABS_DATA gSMSGfxBuffer_Frame3, 0x2038010 +SET_ABS_DATA gSMS16xGfxIndexCounter, 0x203A010 +SET_ABS_DATA gSMS32xGfxIndexCounter, 0x203A014 +SET_ABS_DATA gSMSHandleArray, 0x203A018 +SET_ABS_DATA gSMSHandleIt, 0x203A4C8 +SET_ABS_DATA gSMSSyncFlag, 0x203A4CC +SET_ABS_DATA gMapSpriteSwitchHoverTimer, 0x203A4D0 +SET_ABS_DATA gBattleStats, 0x203A4D4 +SET_ABS_DATA gSubjectBattleStruct, 0x203A4EC +SET_ABS_DATA gTargetBattleStruct, 0x203A56C +SET_ABS_DATA gRoundArray, 0x203A5EC +SET_ABS_DATA gpCurrentRound, 0x203A608 +SET_ABS_DATA gpTradeMenuProc, 0x203A610 +SET_ABS_DATA gTrapArray, 0x203A614 +SET_ABS_DATA gTrapArrayBack, 0x203A814 +SET_ABS_DATA gConvoyItemArray, 0x203A81C +SET_ABS_DATA gpSomeUnitPool, 0x203A8E4 +SET_ABS_DATA gpSomeUnitIt, 0x203A8E8 +SET_ABS_DATA gSomeUnitCounter, 0x203A8EC +SET_ABS_DATA gArenaData, 0x203A8F0 +SET_ABS_DATA gArenaOpponent, 0x203A910 +SET_ABS_DATA gActionData, 0x203A958 +SET_ABS_DATA gAiData, 0x203AA04 +SET_ABS_DATA gFont_203DB64, 0x203DB64 +SET_ABS_DATA gNameSelectNameBoxText, 0x203DD1C +SET_ABS_DATA gTargetPosition, 0x203DDE8 +SET_ABS_DATA gTargetArray, 0x203DDEC +SET_ABS_DATA gTargetArraySize, 0x203E0EC +SET_ABS_DATA gBoolBattleDeamonActive, 0x203E0F4 +SET_ABS_DATA gpEkrBattleDeamon, 0x203E0F8 +SET_ABS_DATA gStoredBattleAnimId21Ptr, 0x203E10C +SET_ABS_DATA gStoredBattleAnimId22Ptr, 0x203E10E +SET_ABS_DATA gSomeAllegienceIdShort, 0x203E116 +SET_ABS_DATA gBattleSpellAnimationId1, 0x203E118 +SET_ABS_DATA gBattleSpellAnimationId2, 0x203E11A +SET_ABS_DATA gSomethingRelatedToAnimAndDistance, 0x203E120 +SET_ABS_DATA gBattleAnimRoundTypeArrayMaybe, 0x203E12A +SET_ABS_DATA gRoundDamageValuesMaybe, 0x203E156 +SET_ABS_DATA gBattleAnimAnimationIndex, 0x203E182 +SET_ABS_DATA gpUnitLeft_BattleStruct, 0x203E188 +SET_ABS_DATA gpUnitRight_BattleStruct, 0x203E18C +SET_ABS_DATA gBattleCharacterIndices, 0x203E190 +SET_ABS_DATA gpExtraUnit1, 0x203E194 +SET_ABS_DATA gpExtraUnit2, 0x203E198 +SET_ABS_DATA gBattleAnimBoolLockSheetGraphicsMaybe, 0x203E1A4 +SET_ABS_DATA gBattleHpDisplayedValue, 0x203E1AC +SET_ABS_DATA gBoolBattleAnimIsArena, 0x203E1E4 +SET_ABS_DATA gMapAnimStruct, 0x203E1F0 +SET_ABS_DATA gSomeUnitId, 0x203E765 +SET_ABS_DATA gSomeTextRelatedStuff, 0x203E768 +SET_ABS_DATA gSomeX, 0x203E778 +SET_ABS_DATA gSomeY, 0x203E779 +SET_ABS_DATA gSomeTextId, 0x203E77A +SET_ABS_DATA gBWLDataArray, 0x203E884 +SET_ABS_DATA gBoolSramWorking, 0x203E88E +SET_ABS_DATA gpBWLSaveTarget, 0x203E890 +SET_ABS_DATA gBWLDataStorage, 0x203E894 +SET_ABS_DATA gChapterWinDataArray, 0x203ECF4 +SET_ABS_DATA gEventUnitDataBuffer, 0x203EFB8 +SET_ABS_DATA gRNState, 0x3000000 +SET_ABS_DATA gOtherRN, 0x3000008 +SET_ABS_DATA gBgSyncBits, 0x300000D +SET_ABS_DATA gPaletteSyncFlag, 0x300000E +SET_ABS_DATA gKeyStatusIgnore, 0x3000010 +SET_ABS_DATA gGameClock, 0x3000014 +SET_ABS_DATA gpOAMHiBuffer, 0x3000020 +SET_ABS_DATA gpOAMHiTarget, 0x3000024 +SET_ABS_DATA gpOAMHiSize, 0x300002A +SET_ABS_DATA gpOAMLoBuffer, 0x3000030 +SET_ABS_DATA gpOAMLoTarget, 0x3000034 +SET_ABS_DATA gpOAMLoSize, 0x300003A +SET_ABS_DATA gpMusicProcA, 0x3000040 +SET_ABS_DATA gpMusicProcB, 0x3000044 +SET_ABS_DATA gDialogueState, 0x3000048 +SET_ABS_DATA gDialogueText, 0x30000D0 +SET_ABS_DATA gDialogueTextChoiceResult, 0x30000E8 +SET_ABS_DATA gDialogueFont, 0x30000F0 +SET_ABS_DATA gAPArray, 0x3000108 +SET_ABS_DATA gEventRangeDisplayUnit, 0x3000434 +SET_ABS_DATA gEventCallQueue, 0x3000438 +SET_ABS_DATA gEventSlot, 0x30004B8 +SET_ABS_DATA gEventSlotQP, 0x30004EC +SET_ABS_DATA gEventQueue, 0x30004F0 +SET_ABS_DATA gEventCounter, 0x3000568 +SET_ABS_DATA gEventCallStack, 0x3000570 +SET_ABS_DATA gpPopupUnit, 0x30005F0 +SET_ABS_DATA gPopupItem, 0x30005F4 +SET_ABS_DATA gPopupNumber, 0x30005F8 +SET_ABS_DATA gSomeUnitWordArray, 0x3000600 +SET_ABS_DATA gpCurrentInitMap, 0x3000808 +SET_ABS_DATA gMapMovementPool, 0x3000810 +SET_ABS_DATA gMapRangePool, 0x3000FC8 +SET_ABS_DATA gAiScriptEndedFlag, 0x30017C8 +SET_ABS_DATA gBoolIsAI2, 0x30017CC +SET_ABS_DATA gpAiScriptCurrent, 0x30017D0 +SET_ABS_DATA gpCurrentAiFunctionCall, 0x30017D4 +SET_ABS_DATA gpAiBattleWeightFactorTable, 0x30017D8 +SET_ABS_DATA gSioBaudRate, 0x30017E0 +SET_ABS_DATA gStr_3001850, 0x3001850 +SET_ABS_DATA gMenuRelatedList, 0x3001870 +SET_ABS_DATA gMoveUnitExtraDataArray, 0x3001900 +SET_ABS_DATA gUsedBuffersBitfield, 0x3001A30 +SET_ABS_DATA gExtraLongEventMoveBuffer, 0x3001A34 +SET_ABS_DATA gActiveEventRegistry, 0x3001C80 +SET_ABS_DATA gOAMLoIt, 0x3003070 +SET_ABS_DATA gLCDIOBuffer, 0x3003080 +SET_ABS_DATA gIRQHandlers, 0x30030F0 +SET_ABS_DATA gpARM_FillMovementMapCore, 0x3003128 +SET_ABS_DATA gCurrentRotScaleIndex, 0x300312C +SET_ABS_DATA gpARM_PushToHiOAM, 0x3003130 +SET_ABS_DATA gpHBlankCallback, 0x3003134 +SET_ABS_DATA gSharedOAMBuffer, 0x3003140 +SET_ABS_DATA gpARM_Draw1DTileTextGlyphCore, 0x3003740 +SET_ABS_DATA gOAMHiIt, 0x3003744 +SET_ABS_DATA gpHBlankCallback2, 0x3003748 +SET_ABS_DATA gpARM_HuffmanTextDecomp, 0x3004150 +SET_ABS_DATA gpARM_PushToLoOAM, 0x3004154 +SET_ABS_DATA gSomeRotScaleOAMIt, 0x3004158 +SET_ABS_DATA gpARM_Func5, 0x3004960 +SET_ABS_DATA gOAMAllocIt, 0x3004970 +SET_ABS_DATA gpFaceProcs, 0x3004980 +SET_ABS_DATA gpSubjectMap, 0x30049A0 +SET_ABS_DATA gMovCostTableBuffer, 0x3004BB0 +SET_ABS_DATA gActiveUnit, 0x3004E50 +SET_ABS_DATA gMovementFillConfig, 0x3004E60 +SET_ABS_DATA gpAiDecisionMaker, 0x3004F10 +SET_ABS_DATA gBattleAnimCurrentAISIndex, 0x3004FAC +SET_ABS_DATA gGlobalTriggerData, 0x3005250 +SET_ABS_DATA gLocalTriggerStorage, 0x3005270 +SET_ABS_DATA gSomeWMEventRelatedStruct, 0x3005280 +SET_ABS_DATA gWMCamera, 0x3005282 +SET_ABS_DATA gSomeBitfield, 0x3005290 +SET_ABS_DATA gSomeWMLocation, 0x3005291 +SET_ABS_DATA gWMRoutes, 0x3005324 +SET_ABS_DATA gSaved, 0x300534E +SET_ABS_DATA gMusicPlayerInfo_3006440, 0x3006440 +SET_ABS_DATA gMusicPlayerInfo_3006650, 0x3006650 +SET_ABS_DATA gpReadSramFast, 0x30067A0 +SET_ABS_DATA gpVerifySramFast, 0x30067A4 +SET_ABS_DATA IRQCheckFlags, 0x3007FF8 +SET_ABS_DATA gpGlobalIRQHandler, 0x3007FFC +SET_ABS_DATA LCDControl, 0x4000000 +SET_ABS_DATA Undocumented_GreenSwap, 0x4000002 +SET_ABS_DATA GeneralLCDStatus_STAT_LYC_, 0x4000004 +SET_ABS_DATA VerticalCounter_LY_, 0x4000006 +SET_ABS_DATA BG0Control, 0x4000008 +SET_ABS_DATA BG1Control, 0x400000A +SET_ABS_DATA BG2Control, 0x400000C +SET_ABS_DATA BG3Control, 0x400000E +SET_ABS_DATA BG0X_Offset, 0x4000010 +SET_ABS_DATA BG0Y_Offset, 0x4000012 +SET_ABS_DATA BG1X_Offset, 0x4000014 +SET_ABS_DATA BG1Y_Offset, 0x4000016 +SET_ABS_DATA BG2X_Offset, 0x4000018 +SET_ABS_DATA BG2Y_Offset, 0x400001A +SET_ABS_DATA BG3X_Offset, 0x400001C +SET_ABS_DATA BG3Y_Offset, 0x400001E +SET_ABS_DATA BG2Rotation_ScalingParameterA_dx_, 0x4000020 +SET_ABS_DATA BG2Rotation_ScalingParameterB_dmx_, 0x4000022 +SET_ABS_DATA BG2Rotation_ScalingParameterC_dy_, 0x4000024 +SET_ABS_DATA BG2Rotation_ScalingParameterD_dmy_, 0x4000026 +SET_ABS_DATA BG2ReferencePointX_Coordinate, 0x4000028 +SET_ABS_DATA BG2ReferencePointY_Coordinate, 0x400002C +SET_ABS_DATA BG3Rotation_ScalingParameterA_dx_, 0x4000030 +SET_ABS_DATA BG3Rotation_ScalingParameterB_dmx_, 0x4000032 +SET_ABS_DATA BG3Rotation_ScalingParameterC_dy_, 0x4000034 +SET_ABS_DATA BG3Rotation_ScalingParameterD_dmy_, 0x4000036 +SET_ABS_DATA BG3ReferencePointX_Coordinate, 0x4000038 +SET_ABS_DATA BG3ReferencePointY_Coordinate, 0x400003C +SET_ABS_DATA Window0HorizontalDimensions, 0x4000040 +SET_ABS_DATA Window1HorizontalDimensions, 0x4000042 +SET_ABS_DATA Window0VerticalDimensions, 0x4000044 +SET_ABS_DATA Window1VerticalDimensions, 0x4000046 +SET_ABS_DATA InsideofWindow0and1, 0x4000048 +SET_ABS_DATA InsideofOBJWindow_OutsideofWindows, 0x400004A +SET_ABS_DATA MosaicSize, 0x400004C +SET_ABS_DATA ColorSpecialEffectsSelection, 0x4000050 +SET_ABS_DATA AlphaBlendingCoefficients, 0x4000052 +SET_ABS_DATA Brightness_Fade_In_Out_Coefficient, 0x4000054 +SET_ABS_DATA Channel1Sweepregister_NR10_, 0x4000060 +SET_ABS_DATA Channel1Duty_Length_Envelope_NR11_NR12_, 0x4000062 +SET_ABS_DATA Channel1Frequency_Control_NR13_NR14_, 0x4000064 +SET_ABS_DATA Channel2Duty_Length_Envelope_NR21_NR22_, 0x4000068 +SET_ABS_DATA Channel2Frequency_Control_NR23_NR24_, 0x400006C +SET_ABS_DATA Channel3Stop_WaveRAMselect_NR30_, 0x4000070 +SET_ABS_DATA Channel3Length_Volume_NR31_NR32_, 0x4000072 +SET_ABS_DATA Channel3Frequency_Control_NR33_NR34_, 0x4000074 +SET_ABS_DATA Channel4Length_Envelope_NR41_NR42_, 0x4000078 +SET_ABS_DATA Channel4Frequency_Control_NR43_NR44_, 0x400007C +SET_ABS_DATA ControlStereo_Volume_Enable_NR50_NR51_, 0x4000080 +SET_ABS_DATA ControlMixing_DMAControl, 0x4000082 +SET_ABS_DATA ControlSoundon_off_NR52_, 0x4000084 +SET_ABS_DATA SoundPWMControl, 0x4000088 +SET_ABS_DATA Channel3WavePatternRAM_2banks___, 0x4000090 +SET_ABS_DATA ChannelAFIFO_Data0_3, 0x40000A0 +SET_ABS_DATA ChannelBFIFO_Data0_3, 0x40000A4 +SET_ABS_DATA DMA0SourceAddress, 0x40000B0 +SET_ABS_DATA DMA0DestinationAddress, 0x40000B4 +SET_ABS_DATA DMA0WordCount, 0x40000B8 +SET_ABS_DATA DMA0Control, 0x40000BA +SET_ABS_DATA DMA1SourceAddress, 0x40000BC +SET_ABS_DATA DMA1DestinationAddress, 0x40000C0 +SET_ABS_DATA DMA1WordCount, 0x40000C4 +SET_ABS_DATA DMA1Control, 0x40000C6 +SET_ABS_DATA DMA2SourceAddress, 0x40000C8 +SET_ABS_DATA DMA2DestinationAddress, 0x40000CC +SET_ABS_DATA DMA2WordCount, 0x40000D0 +SET_ABS_DATA DMA2Control, 0x40000D2 +SET_ABS_DATA DMA3SourceAddress, 0x40000D4 +SET_ABS_DATA DMA3DestinationAddress, 0x40000D8 +SET_ABS_DATA DMA3WordCount, 0x40000DC +SET_ABS_DATA DMA3Control, 0x40000DE +SET_ABS_DATA Timer0Counter_Reload, 0x4000100 +SET_ABS_DATA Timer0Control, 0x4000102 +SET_ABS_DATA Timer1Counter_Reload, 0x4000104 +SET_ABS_DATA Timer1Control, 0x4000106 +SET_ABS_DATA Timer2Counter_Reload, 0x4000108 +SET_ABS_DATA Timer2Control, 0x400010A +SET_ABS_DATA Timer3Counter_Reload, 0x400010C +SET_ABS_DATA Timer3Control, 0x400010E +SET_ABS_DATA SIOData0_Parent__Multi_PlayerMode_, 0x4000120 +SET_ABS_DATA SIOData1_1stChild__Multi_PlayerMode_, 0x4000122 +SET_ABS_DATA SIOData2_2ndChild__Multi_PlayerMode_, 0x4000124 +SET_ABS_DATA SIOData3_3rdChild__Multi_PlayerMode_, 0x4000126 +SET_ABS_DATA SIOControlRegister, 0x4000128 +SET_ABS_DATA SIOData_Normal_8bitandUARTMode_, 0x400012A +SET_ABS_DATA KeyStatus, 0x4000130 +SET_ABS_DATA KeyInterruptControl, 0x4000132 +SET_ABS_DATA SIOModeSelect_GeneralPurposeData, 0x4000134 +SET_ABS_DATA SIOJOYBusControl, 0x4000140 +SET_ABS_DATA SIOJOYBusReceiveData, 0x4000150 +SET_ABS_DATA SIOJOYBusTransmitData, 0x4000154 +SET_ABS_DATA SIOJOYBusReceiveStatus, 0x4000158 +SET_ABS_DATA InterruptEnableRegister, 0x4000200 +SET_ABS_DATA InterruptRequestFlags_IRQAcknowledge, 0x4000202 +SET_ABS_DATA GamePakWaitstateControl, 0x4000204 +SET_ABS_DATA InterruptMasterEnableRegister, 0x4000208 +SET_ABS_DATA Undocumented_PostBootFlag, 0x4000300 +SET_ABS_DATA Undocumented_PowerDownControl, 0x4000301 +SET_ABS_DATA gSinLookup, 0x80D751C +SET_ABS_DATA gCosLookup, 0x80D759C +SET_ABS_DATA gHexNumbers, 0x80D779C +SET_ABS_DATA psZero, 0x80D77B0 +SET_ABS_DATA gpGenericMiniMugGraphics, 0x80D77BC +SET_ABS_DATA gpGenericMiniMugPalettes, 0x80D77DC +SET_ABS_DATA gpDialogueTextBoxGfx, 0x80D78EC +SET_ABS_DATA gRangeTextIdArray, 0x80D79E8 +SET_ABS_DATA gWRankTextIdArray, 0x80D7A10 +SET_ABS_DATA gWRankNameIdArray, 0x80D7A30 +SET_ABS_DATA gWTypeTextIdArray, 0x80D7A38 +SET_ABS_DATA gTradeMenuText_xLookup, 0x80D7C40 +SET_ABS_DATA gTradeMenuText_yLookup, 0x80D7C42 +SET_ABS_DATA gNullString, 0x80D7CB8 +SET_ABS_DATA gTextSpeedLookup, 0x80D7F58 +SET_ABS_DATA gArenaWeaponByWType, 0x80D7F5C +SET_ABS_DATA gArenaWeaponUpgradeTable, 0x80D7F64 +SET_ABS_DATA gBattleForecastLabelStringIndexes, 0x80D7FB0 +SET_ABS_DATA gPhaseUnitMaxLookup, 0x80D80C4 +SET_ABS_DATA gAdjacentTileOffsetLookup, 0x80D80F4 +SET_ABS_DATA gAiCommandCallTable, 0x80D80FC +SET_ABS_DATA gPhaseUnitCountTable, 0x80D8680 +SET_ABS_DATA gStaffAiPerformTable, 0x80D868C +SET_ABS_DATA gStaffAiPerformTable_2, 0x80D8690 +SET_ABS_DATA gSpecialItemAiPerformTable, 0x80D86F4 +SET_ABS_DATA gObj_80D9D6E, 0x80D9D6E +SET_ABS_DATA gObj_80D9D76, 0x80D9D76 +SET_ABS_DATA gObj_80D9D7E, 0x80D9D7E +SET_ABS_DATA gObj_80D9D86, 0x80D9D86 +SET_ABS_DATA gObj_80D9D8E, 0x80D9D8E +SET_ABS_DATA gObj_80D9DA2, 0x80D9DA2 +SET_ABS_DATA gObj_80D9DC2, 0x80D9DC2 +SET_ABS_DATA gObj_80D9DD6, 0x80D9DD6 +SET_ABS_DATA gSioMenuProcLookup, 0x80D9EFC +SET_ABS_DATA gBgConfig_80D9FE4, 0x80D9FE4 +SET_ABS_DATA gObj_80DA2B0, 0x80DA2B0 +SET_ABS_DATA gBattleAnimRoundTypeLookup_2Miss, 0x80DAE96 +SET_ABS_DATA gBattleAnimRoundTypeLookup_2Crit, 0x80DAEA0 +SET_ABS_DATA gBattleAnimRoundTypeLookup_Miss, 0x80DAEAA +SET_ABS_DATA gBattleAnimRoundTypeLookup_NotMiss, 0x80DAEB4 +SET_ABS_DATA gBattleAnimRoundTypeLookup_2MissMagic, 0x80DAEBE +SET_ABS_DATA gBattleAnimRoundTypeLookup_2CritMagic, 0x80DAEC8 +SET_ABS_DATA gBattleAnimModeLookupMaybe, 0x80DAEF0 +SET_ABS_DATA gAnimsOnLevelUpStatDisplayPositionLookup, 0x80E15CC +SET_ABS_DATA gTextHuffmanTreeStart, 0x815A72C +SET_ABS_DATA gBeforeTextTable, 0x815D488 +SET_ABS_DATA gTextTable, 0x815D48C +SET_ABS_DATA gStatScreenDrawCallTable, 0x8205B24 +SET_ABS_DATA gConvoyUseSaveLookup, 0x8205CA4 +SET_ABS_DATA gConvoyUseSaveLookup2, 0x8205CAC +SET_ABS_DATA gCombatRankLookup, 0x8205F20 +SET_ABS_DATA gSurvivalRankLookup, 0x8205F24 +SET_ABS_DATA gSomeGmapUnitTable, 0x8205F7C +SET_ABS_DATA gWMLocationData, 0x82060B0 +SET_ABS_DATA gWMPathData, 0x8206674 +SET_ABS_DATA gSomeDefaultsByWMSpriteIndex, 0x8206868 +SET_ABS_DATA gTraineePromotionTable, 0x8207044 +SET_ABS_DATA gMPlayTable, 0x8224404 +SET_ABS_DATA gSongTable, 0x8224470 +SET_ABS_DATA gpKeyStatus, 0x858791C +SET_ABS_DATA gProc_KeyStatusSetter, 0x8587920 +SET_ABS_DATA gBGMapBufferTable, 0x8587938 +SET_ABS_DATA gBGControlBufferTable, 0x8587948 +SET_ABS_DATA gProc_SongVolumeTransitionA, 0x8587958 +SET_ABS_DATA gProc_SongVolumeTransitionB, 0x8587970 +SET_ABS_DATA gProc_PlaySongDelayed, 0x8587988 +SET_ABS_DATA gProc_8587998, 0x8587998 +SET_ABS_DATA gProcInstCallTable, 0x85879D8 +SET_ABS_DATA gGfxDebugTextScreenFont, 0x8587A40 +SET_ABS_DATA g2bppTo4bppExpandLookupTables, 0x8588240 +SET_ABS_DATA gProc_GreenTextColorAnimator, 0x8588284 +SET_ABS_DATA g2bppTo4bppColor0Lookup, 0x858829C +SET_ABS_DATA g2bppTo4bppColor1Lookup, 0x858849C +SET_ABS_DATA g2bppTo4bppColor2Lookup, 0x858869C +SET_ABS_DATA g2bppTo4bppColor3Lookup, 0x858889C +SET_ABS_DATA g2bppTo4bppColor4Lookup, 0x8588A9C +SET_ABS_DATA g2bppTo4bppPixelMaskLookup, 0x858949C +SET_ABS_DATA gUITextGlyphArray, 0x858C7EC +SET_ABS_DATA gOtherTextGlyphArray, 0x858F6F4 +SET_ABS_DATA gOAM_8x8Obj, 0x8590F44 +SET_ABS_DATA gOAM_16x16Obj, 0x8590F4C +SET_ABS_DATA gOAM_32x32Obj, 0x8590F54 +SET_ABS_DATA gOAM_16x32Obj, 0x8590F6C +SET_ABS_DATA gProc_HiObjKeeper, 0x8590FDC +SET_ABS_DATA gDefaultFaceGfxData, 0x8590FEC +SET_ABS_DATA gFaceObj1, 0x859100C +SET_ABS_DATA gFaceObj2, 0x8591026 +SET_ABS_DATA gFaceObj3, 0x8591040 +SET_ABS_DATA gFaceObj4, 0x8591066 +SET_ABS_DATA gFaceObj5, 0x859108C +SET_ABS_DATA gFaceObj6, 0x85910BE +SET_ABS_DATA gFaceObj7, 0x85910F0 +SET_ABS_DATA gFaceObj8, 0x8591122 +SET_ABS_DATA gProc_Face, 0x8591154 +SET_ABS_DATA gProc_Face2, 0x859118C +SET_ABS_DATA gProc_EyeWinker, 0x8591264 +SET_ABS_DATA gpDialogueState, 0x859133C +SET_ABS_DATA gProc_DialogueSkipInputListener, 0x8591340 +SET_ABS_DATA gProc_DialogueMain, 0x8591358 +SET_ABS_DATA gProc_85913B0, 0x85913B0 +SET_ABS_DATA gProc_DialoguePauseTimer, 0x85913D0 +SET_ABS_DATA gProc_TextBluArrowAndButtonChecker, 0x85913F0 +SET_ABS_DATA gProc_8591470, 0x8591470 +SET_ABS_DATA gTextChoiceDef_YesNo, 0x8591490 +SET_ABS_DATA gTextChoiceDef_Shop, 0x85914A0 +SET_ABS_DATA gProc_DialogueTextChoice, 0x85914B0 +SET_ABS_DATA gPoc_TextBoxSlideAnimation, 0x85914C8 +SET_ABS_DATA gProc_85914F0, 0x85914F0 +SET_ABS_DATA gTextPauseDurationLookup, 0x8591520 +SET_ABS_DATA gProc_DialogueBoxAppearingAnimation, 0x8591530 +SET_ABS_DATA gProc_859160C, 0x859160C +SET_ABS_DATA gProc_8591624, 0x8591624 +SET_ABS_DATA gProc_APProc, 0x859168C +SET_ABS_DATA gProc_GameControl, 0x85916D4 +SET_ABS_DATA gItemStringPrefixLookup, 0x8591AA4 +SET_ABS_DATA gProc_MapEventEngine, 0x8591AC0 +SET_ABS_DATA gProc_BattleEventEngine, 0x8591AF8 +SET_ABS_DATA gLoEventCodeCallTable, 0x8591B28 +SET_ABS_DATA gHiEventCodeCallTable, 0x8591C98 +SET_ABS_DATA gProc_FaceWitness, 0x8591DE8 +SET_ABS_DATA gProc_8591E58, 0x8591E58 +SET_ABS_DATA gEvent_ForceSkipOffAndFadeOutDark, 0x8591F40 +SET_ABS_DATA gEvent_ForceSkipOffAndFadeInDark, 0x8591F64 +SET_ABS_DATA gEvent_ShowTextInSlot2, 0x8591F88 +SET_ABS_DATA gEvent_SomeTileChange, 0x8591F9C +SET_ABS_DATA gEvent_SomeTileChangeAndItemGive, 0x8591FA8 +SET_ABS_DATA gEvent_GotoPrepScreen, 0x8591FD8 +SET_ABS_DATA gEvent_8592058, 0x8592058 +SET_ABS_DATA gEvent_SuspendPrompt, 0x85920B8 +SET_ABS_DATA gEvent_ForceGameOver, 0x8592104 +SET_ABS_DATA gEvent_AfterEnd, 0x8592114 +SET_ABS_DATA gProc_Popup, 0x85921C8 +SET_ABS_DATA gProc_IconOAMUpdater, 0x8592228 +SET_ABS_DATA gPopup_GotItem, 0x8592230 +SET_ABS_DATA gPopup_ItemWasPilfered, 0x8592288 +SET_ABS_DATA gProc_ItemGot, 0x85922D0 +SET_ABS_DATA gPopup_GotGold, 0x8592300 +SET_ABS_DATA gPopup_GoldWasStole, 0x8592348 +SET_ABS_DATA gIconGraphics, 0x85926F4 +SET_ABS_DATA gIconPalettes, 0x85996F4 +SET_ABS_DATA gDataCopyCallTable, 0x8599FB4 +SET_ABS_DATA gProc_859A00C, 0x859A00C +SET_ABS_DATA gProc_SomeFade, 0x859A044 +SET_ABS_DATA gProc_Timer, 0x859A0D4 +SET_ABS_DATA gProc_PaletteAnimator, 0x859A0F8 +SET_ABS_DATA gProc_FutureCall2, 0x859A100 +SET_ABS_DATA gProc_FutureCall, 0x859A110 +SET_ABS_DATA gProc_MapMain, 0x859A1F0 +SET_ABS_DATA gProc_CursorOAM, 0x859A4A6 +SET_ABS_DATA gAnimatedCursorOAMLookup, 0x859A4C0 +SET_ABS_DATA gProc_CameraMovement, 0x859A548 +SET_ABS_DATA gStatusTextIndexLookup, 0x859A598 +SET_ABS_DATA gUnitLookup, 0x859A5D0 +SET_ABS_DATA gpTileTerrainConfig, 0x859A9D0 +SET_ABS_DATA gMapRawTiles, 0x859A9D4 +SET_ABS_DATA gProc_DebugMonitor, 0x859AA5C +SET_ABS_DATA gStringOnOffLookup, 0x859AA7C +SET_ABS_DATA gChapterIdOrderedList, 0x859AA9C +SET_ABS_DATA gProc_PlayerPhase, 0x859AAD8 +SET_ABS_DATA gProc_UnitSelect, 0x859ACE8 +SET_ABS_DATA gRangeDisplaySquareLookup, 0x859AD08 +SET_ABS_DATA gProc_MLVCHC, 0x859AD28 +SET_ABS_DATA gProc_MoveLimitView, 0x859AD50 +SET_ABS_DATA gProc_KOIDO, 0x859AD88 +SET_ABS_DATA gProc_KOIDOAMM, 0x859ADA0 +SET_ABS_DATA gProc_BMXFADE, 0x859ADC8 +SET_ABS_DATA gProc_ResetCursorPosition, 0x859AE00 +SET_ABS_DATA gProc_ADJUSTFROMXI, 0x859AE18 +SET_ABS_DATA gProc_SendItemToConvoy, 0x859AE38 +SET_ABS_DATA gProc_MenuItemPanel, 0x859AE88 +SET_ABS_DATA gProc_UnitSwapAnimation, 0x859AEA0 +SET_ABS_DATA gProc_859AEE8, 0x859AEE8 +SET_ABS_DATA gProc_PhaseSwitchGfxName, 0x859AEF8 +SET_ABS_DATA gProc_PhaseSwitchGfxSquares, 0x859AF40 +SET_ABS_DATA gProc_PhaseSwitchGfx_859AF60, 0x859AF60 +SET_ABS_DATA gProc_PhaseSwitchGfx, 0x859AF80 +SET_ABS_DATA gProc_GasTrapEffectGfxMaybe, 0x859AFC8 +SET_ABS_DATA gProc_MineFireEffectGfx, 0x859AFE8 +SET_ABS_DATA gProc_LightArrowTrapEffectGfx, 0x859B048 +SET_ABS_DATA gProc_BootlegPopup, 0x859B0C0 +SET_ABS_DATA gProc_ChapterIntroFxBgScroll, 0x859B0E0 +SET_ABS_DATA gProc_SomeKeyListener, 0x859B0F0 +SET_ABS_DATA gProc_859B108, 0x859B108 +SET_ABS_DATA gProc_859B160, 0x859B160 +SET_ABS_DATA gProc_859B180, 0x859B180 +SET_ABS_DATA gProc_859B198, 0x859B198 +SET_ABS_DATA gProc_ChapterIntroFx, 0x859B1B0 +SET_ABS_DATA gProc_GameOverBgScroll, 0x859B340 +SET_ABS_DATA gProc_GameOverBGEffect, 0x859B358 +SET_ABS_DATA gProc_WhiteCircularFade, 0x859B4F8 +SET_ABS_DATA gProc_859B510, 0x859B510 +SET_ABS_DATA gProc_859B528, 0x859B528 +SET_ABS_DATA gGfx_859B540, 0x859B540 +SET_ABS_DATA gProc_MineAnimSoundEffect, 0x859B560 +SET_ABS_DATA gProc_ChapterIntroTitleOnly, 0x859B578 +SET_ABS_DATA gProc_GoBackToUnitMenu, 0x859B600 +SET_ABS_DATA gpSMSGfxDecompBuffer, 0x859B668 +SET_ABS_DATA gSomeSMSLookupTable_859B66C, 0x859B66C +SET_ABS_DATA gSomeSMSLookupTable_859B67C, 0x859B67C +SET_ABS_DATA gProc_WarpTargetPosSelection, 0x859B9B8 +SET_ABS_DATA gProc_TorchTargetPosSelection, 0x859BA38 +SET_ABS_DATA gWTALookup, 0x859BA90 +SET_ABS_DATA gProc_SaveSubjectBattleUnit, 0x859BAC4 +SET_ABS_DATA gTradeMenuItemDispPosLookup, 0x859BADC +SET_ABS_DATA gProc_TradeMenu_859BB04, 0x859BB04 +SET_ABS_DATA gProc_TradeMenu, 0x859BB1C +SET_ABS_DATA gProc_Trade_859BBD4, 0x859BBD4 +SET_ABS_DATA gProc_859BBF4, 0x859BBF4 +SET_ABS_DATA gProc_859BC3C, 0x859BC3C +SET_ABS_DATA gEvent_859BC64, 0x859BC64 +SET_ABS_DATA gEvent_859BCA8, 0x859BCA8 +SET_ABS_DATA gEvent_859BCF4, 0x859BCF4 +SET_ABS_DATA gEvent_859BD40, 0x859BD40 +SET_ABS_DATA gProc_859BDA0, 0x859BDA0 +SET_ABS_DATA gErasedDebugMenuCommands, 0x859BE40 +SET_ABS_DATA gChargeDebugMenuCommands, 0x859BF18 +SET_ABS_DATA gDebugStartupMenuCommands, 0x859BF84 +SET_ABS_DATA gSomeDebugMenuCommands, 0x859C038 +SET_ABS_DATA gMapDebugMenuCommands, 0x859C080 +SET_ABS_DATA gMenuCommands_StaffItemSelect, 0x859C764 +SET_ABS_DATA gMenuCommands_UnitMenu, 0x859CA34 +SET_ABS_DATA gMenuCommands_MapMenu, 0x859CE6C +SET_ABS_DATA gErasedDebugMenuDef, 0x859CFB0 +SET_ABS_DATA gChargeDebugMenuDef, 0x859CFD4 +SET_ABS_DATA gDebugStartupMenuDef, 0x859CFF8 +SET_ABS_DATA gSomeDebugMenuDef, 0x859D01C +SET_ABS_DATA gMenu_MapDebug, 0x859D040 +SET_ABS_DATA gMenu_859D0F4, 0x859D0F4 +SET_ABS_DATA gMenu_859D118, 0x859D118 +SET_ABS_DATA gMenuDef_StaffItemSelect, 0x859D160 +SET_ABS_DATA gMenu_ItemMenu, 0x859D184 +SET_ABS_DATA gMenu_UnitMenu, 0x859D1F0 +SET_ABS_DATA gMenu_MapMenu, 0x859D214 +SET_ABS_DATA gSelect_RestoreStaff, 0x859D278 +SET_ABS_DATA gSelect_RegularDance, 0x859D2B8 +SET_ABS_DATA gSelect_GenericStaff, 0x859D2F8 +SET_ABS_DATA gSelect_Steal, 0x859D318 +SET_ABS_DATA gSelect_Hammerne, 0x859D3B8 +SET_ABS_DATA gSelect_Trade, 0x859D3D8 +SET_ABS_DATA gSelect_Give, 0x859D418 +SET_ABS_DATA gSelect_Take, 0x859D438 +SET_ABS_DATA gSelect_Drop, 0x859D458 +SET_ABS_DATA gSelect_Rescue, 0x859D478 +SET_ABS_DATA gProc_VBlankHandler, 0x859D8B8 +SET_ABS_DATA gProc_MapTask, 0x859D908 +SET_ABS_DATA gProc_GameGfxUnblocker, 0x859D9E4 +SET_ABS_DATA gProc_SMSJumpAnimation, 0x859DA94 +SET_ABS_DATA gProc_Battle, 0x859DABC +SET_ABS_DATA gProc_Arena, 0x859DB24 +SET_ABS_DATA gpMovementArrowData, 0x859DBA0 +SET_ABS_DATA gProc_PrepScreen, 0x859DBBC +SET_ABS_DATA gProc_UnitInfoWindow, 0x859E13C +SET_ABS_DATA gProc_BottomHelpText, 0x859E1B8 +SET_ABS_DATA gProc_859E308, 0x859E308 +SET_ABS_DATA gProc_859E368, 0x859E368 +SET_ABS_DATA gProc_859E3D0, 0x859E3D0 +SET_ABS_DATA gProc_859E438, 0x859E438 +SET_ABS_DATA gProc_BkSel, 0x859E520 +SET_ABS_DATA gProc_FireTrapEffect, 0x859E5AC +SET_ABS_DATA gProc_MineTrapEffect, 0x859E5FC +SET_ABS_DATA gProc_859E64C, 0x859E64C +SET_ABS_DATA gGfxMiscUIGraphics, 0x859E8E0 +SET_ABS_DATA gPal_MiscUIGraphics, 0x859ED70 +SET_ABS_DATA gPal_MapSprite, 0x859EE20 +SET_ABS_DATA gPal_MapSprite2, 0x859EE40 +SET_ABS_DATA gPal_MapSprite3, 0x859EE60 +SET_ABS_DATA gPal_MapSpriteArena, 0x859EEA0 +SET_ABS_DATA gPal_NotMapSprite, 0x859EEC0 +SET_ABS_DATA gPal_MapSpriteSepia, 0x859EEE0 +SET_ABS_DATA gPal_UIFont, 0x859EF00 +SET_ABS_DATA gPal_DialogueFont, 0x859EF20 +SET_ABS_DATA gGreenTextColorArray, 0x859EFC0 +SET_ABS_DATA gGfx_PhaseSwitchFrame, 0x859F020 +SET_ABS_DATA gGfx_PlayerPhaseIntro, 0x859F3F8 +SET_ABS_DATA gPal_PlayerPhaseIntro, 0x859FA2C +SET_ABS_DATA gGfx_EnemyPhaseIntro, 0x859FA4C +SET_ABS_DATA gPal_EnemyPhaseIntro, 0x85A0068 +SET_ABS_DATA gGfx_OtherPhaseIntro, 0x85A0088 +SET_ABS_DATA gPal_OtherPhaseIntro, 0x85A0698 +SET_ABS_DATA gGfx_PhaseSwitchSquares, 0x85A06D8 +SET_ABS_DATA gTSA_BattleForecastStandard, 0x85A09A8 +SET_ABS_DATA gBattleForecast_x2x4Gfx, 0x85A0C80 +SET_ABS_DATA gBattleForecast_x2x4Pal, 0x85A0D2C +SET_ABS_DATA gAP_SelectCursorThing, 0x85A0EA0 +SET_ABS_DATA gGfxMineFireEffectGfx, 0x85A2940 +SET_ABS_DATA gPal_FireEffectGfx, 0x85A2DDC +SET_ABS_DATA gAP_MineFireEffectGfx, 0x85A2DFC +SET_ABS_DATA gPal_MineEffectGfx, 0x85A3490 +SET_ABS_DATA gImg_MineAnimGfx, 0x85A7CC0 +SET_ABS_DATA gAP_MineAnim, 0x85A7E34 +SET_ABS_DATA gPal_MineAnimGfx, 0x85A7EC8 +SET_ABS_DATA gProc_CpPhase, 0x85A7F08 +SET_ABS_DATA gProc_BerserkPhase, 0x85A7F30 +SET_ABS_DATA gpAIUnitPriorityBuffer, 0x85A7F58 +SET_ABS_DATA gProc_CpOrder, 0x85A7F5C +SET_ABS_DATA gProc_BerserkOrder, 0x85A7F74 +SET_ABS_DATA gCpOrderCallTable, 0x85A7F94 +SET_ABS_DATA gAiDecisionMakerCallTable, 0x85A7F9C +SET_ABS_DATA gProc_CpDecide, 0x85A7FCC +SET_ABS_DATA gProc_AiTargetCursor, 0x85A8004 +SET_ABS_DATA gProc_CpPerform, 0x85A8024 +SET_ABS_DATA gAi_FallbackAi1, 0x85A812C +SET_ABS_DATA gAi_FallbackAi2, 0x85A813C +SET_ABS_DATA gAiTableOfNullTables, 0x85A8150 +SET_ABS_DATA gRedMasterAiEscapeTable, 0x85A8188 +SET_ABS_DATA gGreenMasterAiEscapeTable, 0x85A828C +SET_ABS_DATA gAI3HealingThresholdTable, 0x85A8390 +SET_ABS_DATA gAiStealPriorityItemList, 0x85A83A4 +SET_ABS_DATA gAiScript_EscapeMaybe, 0x85A8570 +SET_ABS_DATA gAiScript_DoNothingLoop, 0x85A8930 +SET_ABS_DATA gAi2ScriptTable, 0x85A9138 +SET_ABS_DATA gAi1ScriptTable, 0x85A9184 +SET_ABS_DATA gpAI2Table, 0x85A91D8 +SET_ABS_DATA gpAI1Table, 0x85A91E4 +SET_ABS_DATA g3RangePosOffsetLookup, 0x85A9254 +SET_ABS_DATA gTerrainList_85A92B8, 0x85A92B8 +SET_ABS_DATA gTerrainList_85A92DC, 0x85A92DC +SET_ABS_DATA gProc_85A92E4, 0x85A92E4 +SET_ABS_DATA gProc_85A9304, 0x85A9304 +SET_ABS_DATA gProc_SioCon, 0x85A932C +SET_ABS_DATA gProc_SioVSync, 0x85A9354 +SET_ABS_DATA gProc_SioMain, 0x85A937C +SET_ABS_DATA gProc_85A93A0, 0x85A93A0 +SET_ABS_DATA gProc_Hold, 0x85A93B8 +SET_ABS_DATA gProc_85A94AC, 0x85A94AC +SET_ABS_DATA gProc_NameSelect, 0x85A9614 +SET_ABS_DATA gProc_SioPra, 0x85A979C +SET_ABS_DATA gFaceConfig_85A9864, 0x85A9864 +SET_ABS_DATA gProc_SioBat, 0x85A9888 +SET_ABS_DATA gProc_SioTerm, 0x85A9BA0 +SET_ABS_DATA gProc_SioResult, 0x85A9D38 +SET_ABS_DATA gFaceConfig_85A9E48, 0x85A9E48 +SET_ABS_DATA gFaceConfig_85A9E68, 0x85A9E68 +SET_ABS_DATA gProc_SioMenu, 0x85A9E88 +SET_ABS_DATA gEvent_SomeCalledWith3, 0x85A9F48 +SET_ABS_DATA gProc_LinkArenaPointsBoxLoader, 0x85AA06C +SET_ABS_DATA gProc_85AA1AC, 0x85AA1AC +SET_ABS_DATA gPopup_85AA1FC, 0x85AA1FC +SET_ABS_DATA gPopup_85AA21C, 0x85AA21C +SET_ABS_DATA gProc_85AA24C, 0x85AA24C +SET_ABS_DATA gProc_85AA26C, 0x85AA26C +SET_ABS_DATA gEvent_85AA2B4, 0x85AA2B4 +SET_ABS_DATA gEvent_85AA2D8, 0x85AA2D8 +SET_ABS_DATA gProc_85AA2FC, 0x85AA2FC +SET_ABS_DATA gProc_85AA4CC, 0x85AA4CC +SET_ABS_DATA gProc_85AA5BC, 0x85AA5BC +SET_ABS_DATA gProc_SioMain2, 0x85AA6BC +SET_ABS_DATA gProc_85AA75C, 0x85AA75C +SET_ABS_DATA gProc_SioWarp, 0x85AA86C +SET_ABS_DATA gProc_SioWarpFx, 0x85AA89C +SET_ABS_DATA gProc_85AA914, 0x85AA914 +SET_ABS_DATA gProc_85AA954, 0x85AA954 +SET_ABS_DATA gObj_85AA96C, 0x85AA96C +SET_ABS_DATA gProc_85AA980, 0x85AA980 +SET_ABS_DATA gProc_85AA9C0, 0x85AA9C0 +SET_ABS_DATA gObj_85AA9D8, 0x85AA9D8 +SET_ABS_DATA gObj_85AA9E6, 0x85AA9E6 +SET_ABS_DATA gObj_85AA9FA, 0x85AA9FA +SET_ABS_DATA gObj_85AAA0E, 0x85AAA0E +SET_ABS_DATA gObj_85AAA50, 0x85AAA50 +SET_ABS_DATA gObj_85AAA5E, 0x85AAA5E +SET_ABS_DATA gProc_85AAA78, 0x85AAA78 +SET_ABS_DATA gProc_85AAA90, 0x85AAA90 +SET_ABS_DATA gProc_85AAAC4, 0x85AAAC4 +SET_ABS_DATA gProc_85AAAE8, 0x85AAAE8 +SET_ABS_DATA gProc_85AAB00, 0x85AAB00 +SET_ABS_DATA gProc_85AAB18, 0x85AAB18 +SET_ABS_DATA gObj_85AAB30, 0x85AAB30 +SET_ABS_DATA gObj_85AAB38, 0x85AAB38 +SET_ABS_DATA gObj_85AAB40, 0x85AAB40 +SET_ABS_DATA gProc_85AAB48, 0x85AAB48 +SET_ABS_DATA gProc_85AAB68, 0x85AAB68 +SET_ABS_DATA gProc_85AABC8, 0x85AABC8 +SET_ABS_DATA gMenuCommands_85AABF0, 0x85AABF0 +SET_ABS_DATA gMenuCommands_85AAC5C, 0x85AAC5C +SET_ABS_DATA gMenu_85AADA0, 0x85AADA0 +SET_ABS_DATA gGfx_LinkArenaMenuOptionsText, 0x85AAE0C +SET_ABS_DATA gGfx_SioMenuUi, 0x85AB358 +SET_ABS_DATA gGfx_SioObjUi, 0x85ABD68 +SET_ABS_DATA gGfx_PointsBox, 0x85AD80C +SET_ABS_DATA gPal_SioMenuUi, 0x85ADBE8 +SET_ABS_DATA gPal_SioUi, 0x85ADC48 +SET_ABS_DATA gPal_85ADE68, 0x85ADE68 +SET_ABS_DATA gTSA_85AE190, 0x85AE190 +SET_ABS_DATA gGfx_PhaseSwitchLinkArenaPlayerPhase, 0x85AE7EC +SET_ABS_DATA gWindowFrameModelTSA, 0x85B6430 +SET_ABS_DATA gOldUIPalettePointers, 0x85B6440 +SET_ABS_DATA gNewUIPaletterPointers, 0x85B6450 +SET_ABS_DATA gOldUIGfxPointers, 0x85B6460 +SET_ABS_DATA gNewUIGfxPointers, 0x85B6470 +SET_ABS_DATA gObj_85B6490, 0x85B6490 +SET_ABS_DATA gProc_MenuIdle, 0x85B64B8 +SET_ABS_DATA gProc_Menu, 0x85B64D0 +SET_ABS_DATA gProc_MenuCommand, 0x85B6510 +SET_ABS_DATA gProc_MenuHelpText, 0x85B6518 +SET_ABS_DATA gProc_MenuHelpText2, 0x85B6530 +SET_ABS_DATA gProc_MenuIdk, 0x85B6540 +SET_ABS_DATA gProc_TargetSelection, 0x85B655C +SET_ABS_DATA gProc_ekrBattleDeamon, 0x85B9358 +SET_ABS_DATA gProc_ekrBattle, 0x85B9378 +SET_ABS_DATA gProc_ekrLvlupFan, 0x85B93A0 +SET_ABS_DATA gProc_ekrGauge, 0x85B93B8 +SET_ABS_DATA gProc_ekrDispUP, 0x85B95EC +SET_ABS_DATA gProc_efxHPBar, 0x85B9604 +SET_ABS_DATA gProc_efxHPBarResire, 0x85B962C +SET_ABS_DATA gProc_efxAvoid, 0x85B9664 +SET_ABS_DATA gProc_efxHPBarLive, 0x85B968C +SET_ABS_DATA gProc_efxNoDamage, 0x85B96B4 +SET_ABS_DATA gProc_efxNoDamageYure, 0x85B96DC +SET_ABS_DATA gProc_efxStatusCHG, 0x85B96F4 +SET_ABS_DATA gProc_efxDeadEVTENT, 0x85B9724 +SET_ABS_DATA gProc_efxDead, 0x85B975C +SET_ABS_DATA gProc_efxDeadPika, 0x85B977C +SET_ABS_DATA gProc_efxDeadAlpha, 0x85B9794 +SET_ABS_DATA gProc_efxDeadDragonAlpha, 0x85B97AC +SET_ABS_DATA gProc_efxFarAttack, 0x85B97C4 +SET_ABS_DATA gProc_efxQuakePure, 0x85B97EC +SET_ABS_DATA gProc_efxQuake, 0x85B989C +SET_ABS_DATA gProc_efxHitQuake, 0x85B98B4 +SET_ABS_DATA gProc_efxFlashBG, 0x85B98CC +SET_ABS_DATA gProc_efxFlashHPBar, 0x85B9994 +SET_ABS_DATA gProc_efxHPBarColorChange, 0x85B99C4 +SET_ABS_DATA gProc_efxFlashUnit, 0x85B99E4 +SET_ABS_DATA gProc_efxFlashUnitEffect, 0x85B9A0C +SET_ABS_DATA gProc_efxStatusUnit, 0x85B9A34 +SET_ABS_DATA gProc_efxWeaponIcon, 0x85B9A5C +SET_ABS_DATA gProc_efxSpellCast, 0x85B9A84 +SET_ABS_DATA gProc_ekrBattleStarting, 0x85B9AD4 +SET_ABS_DATA gProc_ekrWindowAppear, 0x85B9D0C +SET_ABS_DATA gProc_ekrNamewinAppear, 0x85B9D24 +SET_ABS_DATA gProc_ekrBaseAppear, 0x85B9D44 +SET_ABS_DATA gAISFrames_DummyNoFrames, 0x85B9D5C +SET_ABS_DATA gProc_ekrChienCHR, 0x85B9D94 +SET_ABS_DATA gProc_ekrAnimeDrvProc, 0x85B9DAC +SET_ABS_DATA gProc_ekrUnitMainMini, 0x85B9DC4 +SET_ABS_DATA gProc_ekrTogiInitPROC, 0x85B9DDC +SET_ABS_DATA gProc_ekrTogiEndPROC, 0x85B9E0C +SET_ABS_DATA gProc_ekrTogiColor, 0x85B9E34 +SET_ABS_DATA gGfx_NODAMGEMIS, 0x85BA0B8 +SET_ABS_DATA gSpellAnimTable, 0x85D4E60 +SET_ABS_DATA gProc_efxMagicQUAKE, 0x85D5058 +SET_ABS_DATA gProc_efxDummymagic, 0x85D5070 +SET_ABS_DATA gProc_efxTeono, 0x85D5088 +SET_ABS_DATA gProc_efxTeonoOBJ, 0x85D50A0 +SET_ABS_DATA gProc_efxArrow, 0x85D50F8 +SET_ABS_DATA gProc_efxTeyari, 0x85D5128 +SET_ABS_DATA gProc_efxSong, 0x85D5158 +SET_ABS_DATA gProc_efxDance, 0x85D5278 +SET_ABS_DATA gProc_efxShooter, 0x85D5290 +SET_ABS_DATA gProc_efxHurtmut, 0x85D52C0 +SET_ABS_DATA gProc_efxFirebreath, 0x85D52F0 +SET_ABS_DATA gProc_efxIcebreath, 0x85D5358 +SET_ABS_DATA gProc_efxDarkbreath, 0x85D5390 +SET_ABS_DATA gProc_efxThunder, 0x85D5428 +SET_ABS_DATA gProc_efxFire, 0x85D54A0 +SET_ABS_DATA gProc_efxFireBG, 0x85D54B8 +SET_ABS_DATA gProc_efxFireHITBG, 0x85D5548 +SET_ABS_DATA gProc_efxElfireBG, 0x85D5608 +SET_ABS_DATA gProc_efxElfireBGCOL, 0x85D5620 +SET_ABS_DATA gProc_efxElfireOBJ, 0x85D5640 +SET_ABS_DATA gProc_efxFimbulvetr, 0x85D5658 +SET_ABS_DATA gProc_efxThunderstorm, 0x85D5770 +SET_ABS_DATA gProc_efxAlacalibur, 0x85D5880 +SET_ABS_DATA gProc_efxMistyrain, 0x85D58F0 +SET_ABS_DATA gProc_efxResire, 0x85D5AE0 +SET_ABS_DATA gProc_efxLightning, 0x85D5CF0 +SET_ABS_DATA gProc_efxPurge, 0x85D5EAC +SET_ABS_DATA gProc_efxDevine, 0x85D62FC +SET_ABS_DATA gProc_efxDevineBG, 0x85D6314 +SET_ABS_DATA gProc_efxFenrir, 0x85D6644 +SET_ABS_DATA gProc_efxLive, 0x85D68BC +SET_ABS_DATA gProc_efxRelive, 0x85D68D4 +SET_ABS_DATA gProc_efxRecover, 0x85D68EC +SET_ABS_DATA gProc_efxReblow, 0x85D6904 +SET_ABS_DATA gProc_efxReserve, 0x85D69CC +SET_ABS_DATA gProc_efxRest, 0x85D6A68 +SET_ABS_DATA gProc_efxRestBG, 0x85D6A80 +SET_ABS_DATA gProc_efxSilence, 0x85D6B20 +SET_ABS_DATA gProc_efxSleep, 0x85D6BB8 +SET_ABS_DATA gProc_efxHammarne, 0x85D6CB0 +SET_ABS_DATA gProc_efxBerserk, 0x85D6D68 +SET_ABS_DATA gProc_efxMshield, 0x85D6E70 +SET_ABS_DATA gProc_efxShine, 0x85D6EF4 +SET_ABS_DATA gProc_efxLuna, 0x85D6FCC +SET_ABS_DATA gProc_efxExcalibur, 0x85D71F8 +SET_ABS_DATA gProc_efxOura, 0x85D7490 +SET_ABS_DATA gProc_efxDancepara, 0x85D7670 +SET_ABS_DATA gProc_efxIvaldi, 0x85D7688 +SET_ABS_DATA gProc_efxIvaldiBG1, 0x85D76A0 +SET_ABS_DATA gProc_efxIvaldiBG2, 0x85D76E8 +SET_ABS_DATA gProc_efxIvaldiBG3, 0x85D7714 +SET_ABS_DATA gProc_efxIvaldiBG4, 0x85D77B0 +SET_ABS_DATA gProc_efxIvaldiOBJFall, 0x85D77CC +SET_ABS_DATA gProc_efxIvaldiOBJSideWash, 0x85D77E4 +SET_ABS_DATA gProc_efxIvaldiOBJUprise, 0x85D77FC +SET_ABS_DATA gProc_efxIvaldiOBJ1, 0x85D7814 +SET_ABS_DATA gProc_efxIvaldiWOUT, 0x85D7844 +SET_ABS_DATA gProc_efxStone, 0x85D7E20 +SET_ABS_DATA gProc_efxEvilEye, 0x85D7F00 +SET_ABS_DATA gProc_efxNaglfar, 0x85D80B0 +SET_ABS_DATA gProc_efxNaglfarBG, 0x85D80C8 +SET_ABS_DATA gProc_efxNaglfarBG2, 0x85D80E8 +SET_ABS_DATA gProc_efxNaglfarBG3, 0x85D81C0 +SET_ABS_DATA gProc_efxNaglfarBG4, 0x85D81F8 +SET_ABS_DATA gProc_efxNaglfarOBJ, 0x85D8238 +SET_ABS_DATA gProc_efxNaglfarOBJ2, 0x85D8250 +SET_ABS_DATA gProc_efxNaglfarOBJRockGyre, 0x85D8268 +SET_ABS_DATA gProc_efxNaglfarBlack, 0x85D8280 +SET_ABS_DATA gProc_efxDarkGrado, 0x85D8318 +SET_ABS_DATA gProc_efxCrimsonEye, 0x85D8764 +SET_ABS_DATA gProc_efxDarkLongMons, 0x85D89A0 +SET_ABS_DATA gProc_efxGorgon, 0x85D8B0C +SET_ABS_DATA gProc_efxDamageMojiEffect, 0x85D8D44 +SET_ABS_DATA gProc_efxDamageMojiEffectOBJ, 0x85D8D5C +SET_ABS_DATA gProc_efxCriticalEffect, 0x85D8D74 +SET_ABS_DATA gProc_efxCriticalEffectBG, 0x85D8D8C +SET_ABS_DATA gProc_efxCriticalEffectBGCOL, 0x85D8DA4 +SET_ABS_DATA gProc_efxNormalEffect, 0x85D8DC4 +SET_ABS_DATA gProc_efxNormalEffectBG, 0x85D8DDC +SET_ABS_DATA gProc_efxPierceCriticalEffect, 0x85D8E1C +SET_ABS_DATA gProc_efxSpecalEffect, 0x85D90DC +SET_ABS_DATA gProc_efxMantBatabata, 0x85D9284 +SET_ABS_DATA gProc_efxChillEffect, 0x85D92A4 +SET_ABS_DATA gProc_efxChillEffectBG, 0x85D92BC +SET_ABS_DATA gProc_efxChillEffectBGCOL, 0x85D92E0 +SET_ABS_DATA gProc_efxChillAnime, 0x85D9300 +SET_ABS_DATA gProc_efxSkillType01BG, 0x85D9318 +SET_ABS_DATA gProc_efxSkillCommonBG, 0x85D93F0 +SET_ABS_DATA gOpeningSpellAnimationStartLookup, 0x85D9430 +SET_ABS_DATA gProc_efxOpFire, 0x85D9454 +SET_ABS_DATA gProc_efxOpFireBG, 0x85D947C +SET_ABS_DATA gProc_efxOpFireOBJ, 0x85D94C4 +SET_ABS_DATA gProc_efxOpThunder, 0x85D94DC +SET_ABS_DATA gProc_efxOpThunderBG, 0x85D9504 +SET_ABS_DATA gProc_efxOpThunderBGCOL, 0x85D9524 +SET_ABS_DATA gProc_efxOpThunderOBJ, 0x85D9544 +SET_ABS_DATA gGfxIvaldiParticles, 0x86926E0 +SET_ABS_DATA gPalIvaldiParticles, 0x8692B10 +SET_ABS_DATA gGfxIvaldiFastRay, 0x86937C0 +SET_ABS_DATA gPalIvaldiFastRay, 0x86945C4 +SET_ABS_DATA gGfxIvaldiBigSpark, 0x8695B10 +SET_ABS_DATA gPalIvaldiBigSpark, 0x8696840 +SET_ABS_DATA gProc_ekrsubAnimeEmulator, 0x8758A30 +SET_ABS_DATA gProc_efxSoundSE, 0x8758A48 +SET_ABS_DATA gProc_ekrClasschg, 0x8758FC0 +SET_ABS_DATA gProc_ekrLevelup, 0x875932C +SET_ABS_DATA gProc_ekrTriangle, 0x87595A4 +SET_ABS_DATA gProc_ekrPegasusKnight, 0x87595BC +SET_ABS_DATA gProc_ekrPegasusKnightBG, 0x87595D4 +SET_ABS_DATA gPopupIconOAMData, 0x878D500 +SET_ABS_DATA gPopupIconFrameData, 0x878D518 +SET_ABS_DATA gProc_ekrPopup, 0x878D520 +SET_ABS_DATA gProc_ekrPopup2, 0x878D588 +SET_ABS_DATA gProc_ekrHenseiInitPROC, 0x878D5F0 +SET_ABS_DATA gProc_ekrHenseiEndPROC, 0x878D620 +SET_ABS_DATA gProc_ekrDragonBodyAnime, 0x87F43D4 +SET_ABS_DATA gGfx_ExpBar, 0x88030C4 +SET_ABS_DATA gGfxBattlePopup, 0x8803B30 +SET_ABS_DATA gGfxPopupTextBG, 0x8803BD0 +SET_ABS_DATA gPalBattlePopup, 0x8803CB0 +SET_ABS_DATA gTSA_BattlePopup, 0x8803CD0 +SET_ABS_DATA gCharacterData, 0x8803D30 +SET_ABS_DATA gCharacterData_1Indexed, 0x8803D64 +SET_ABS_DATA gClassData, 0x8807110 +SET_ABS_DATA gItemData, 0x8809B10 +SET_ABS_DATA gSomeMovCostTable, 0x880BB96 +SET_ABS_DATA gBallistaMovCostTable, 0x880BC18 +SET_ABS_DATA gTerrainHealAmountTable, 0x880C744 +SET_ABS_DATA gTerrainNameTextIdTable, 0x880D374 +SET_ABS_DATA gPortraitData, 0x88ACBC4 +SET_ABS_DATA gSlayerEffectivenessTable, 0x88ADF39 +SET_ABS_DATA gStandingMapSpriteData, 0x88AF880 +SET_ABS_DATA gSpellAssocData, 0x88AFBD8 +SET_ABS_DATA gSupportBonusData, 0x88B05F8 +SET_ABS_DATA gChapterDataTable, 0x88B0890 +SET_ABS_DATA gChapterAssetTable, 0x88B363C +SET_ABS_DATA gChapterWMEventLookup, 0x88B39EC +SET_ABS_DATA gChapterWMIntroEventLookup, 0x88B3AD8 +SET_ABS_DATA gConvoBackgroundData, 0x895DD1C +SET_ABS_DATA gPromotionTable, 0x895DFA4 +SET_ABS_DATA gProc_MoveUnitStep, 0x89A2938 +SET_ABS_DATA gDirectionMoveOffsetLookup, 0x89A2988 +SET_ABS_DATA gMoveUnitStateCallTable, 0x89A2C28 +SET_ABS_DATA gProc_MoveUnit, 0x89A2C48 +SET_ABS_DATA gWalkSpeedLookup, 0x89A2C78 +SET_ABS_DATA gProc_MoveUnitDeathBlend, 0x89A2C80 +SET_ABS_DATA gProc_89A2CF8, 0x89A2CF8 +SET_ABS_DATA gProc_MUControl, 0x89A2DB0 +SET_ABS_DATA gMovingMapSpriteData, 0x89A2E00 +SET_ABS_DATA gProc_MapAnimSteal, 0x89A32C8 +SET_ABS_DATA gProc_MapAnimSummon, 0x89A3398 +SET_ABS_DATA gProc_MapAnimSummonDK, 0x89A33C0 +SET_ABS_DATA gProc_MapAnimDance, 0x89A34B0 +SET_ABS_DATA gProc_MapAnimBattle, 0x89A3508 +SET_ABS_DATA gProc_MapAnimEnd, 0x89A35B0 +SET_ABS_DATA gProc_MapAnimBattleInfoThing, 0x89A3688 +SET_ABS_DATA gProc_MapAnimBattleWithMapEvents, 0x89A3874 +SET_ABS_DATA gProc_WallBreakAnim, 0x89A3924 +SET_ABS_DATA gProc_PoisonEffect, 0x89A3944 +SET_ABS_DATA gProc_MapAnimEffectAnimation, 0x89A3BA4 +SET_ABS_DATA gProc_89A3BDC, 0x89A3BDC +SET_ABS_DATA gProc_89A3C24, 0x89A3C24 +SET_ABS_DATA gProc_15FrameBG0Shaker, 0x89A4064 +SET_ABS_DATA gProc_SomeStarRotationEffect, 0x89A407C +SET_ABS_DATA gProc_SomeNiceSpecialEffects, 0x89A434C +SET_ABS_DATA gProc_SummonGfx, 0x89A46AC +SET_ABS_DATA gProc_ItemAnimDefault, 0x89A4764 +SET_ABS_DATA gProc_ItemAnimWarpRescue, 0x89A5214 +SET_ABS_DATA gAp_PoisonEffectAnim, 0x89A6F40 +SET_ABS_DATA gGfxMISSAnim, 0x89AC0A4 +SET_ABS_DATA gAPMISSAnim, 0x89AC194 +SET_ABS_DATA gGfxPoisonEffectAnim, 0x89ADEB0 +SET_ABS_DATA gPalPoisonEffectAnim, 0x89AE204 +SET_ABS_DATA gGfx_SomeWarpEffect, 0x89AE224 +SET_ABS_DATA gPal_SomeWarpEffect, 0x89AE484 +SET_ABS_DATA gGfxSpark, 0x89AE7A4 +SET_ABS_DATA gPalSpark, 0x89AE7C4 +SET_ABS_DATA gGfxDialogueTextBubble, 0x89E8238 +SET_ABS_DATA gPalDialogueTextBubble, 0x89E84D4 +SET_ABS_DATA gEventCheckTable, 0x89E84F4 +SET_ABS_DATA gEventIdMaskLookup, 0x89E857C +SET_ABS_DATA gBattleQuoteTable, 0x89EC6BC +SET_ABS_DATA gDeathQuoteTable, 0x89ECD4C +SET_ABS_DATA gForceDeployTable, 0x89ED64C +SET_ABS_DATA gProc_GameOver, 0x89EDF78 +SET_ABS_DATA gProc_89EE9E0, 0x89EE9E0 +SET_ABS_DATA gEvent_ChPrologueBeginning, 0x89EEBE8 +SET_ABS_DATA gMenuCommands_RouteSplit, 0x89F3634 +SET_ABS_DATA gMenu_RouteSplit, 0x89F36A0 +SET_ABS_DATA gEvents_SkirmishCommonBeginning, 0x89FFC30 +SET_ABS_DATA gEvent_SkirmishCommonEnd, 0x89FFD64 +SET_ABS_DATA gProc_BG3HSlide, 0x8A006E4 +SET_ABS_DATA gProc_StatScreenVPositionHandler, 0x8A009C8 +SET_ABS_DATA gProc_StatScreen, 0x8A009D8 +SET_ABS_DATA gProc_HelpText, 0x8A00AD0 +SET_ABS_DATA gStatScreenPage0HelpText, 0x8A00BC4 +SET_ABS_DATA gStatScreenPage1HelpText, 0x8A00DA0 +SET_ABS_DATA gStatScreenPage2HelpText, 0x8A00F44 +SET_ABS_DATA gChapterTitleGfxTable, 0x8A01208 +SET_ABS_DATA gProc_8A016E0, 0x8A016E0 +SET_ABS_DATA gProc_8A01740, 0x8A01740 +SET_ABS_DATA gProc_8A01760, 0x8A01760 +SET_ABS_DATA gProc_8A01800, 0x8A01800 +SET_ABS_DATA gProc_8A01818, 0x8A01818 +SET_ABS_DATA gProc_TI, 0x8A018AC +SET_ABS_DATA gProc_UI1, 0x8A0190C +SET_ABS_DATA gProc_UI2, 0x8A01994 +SET_ABS_DATA gProc_SideWindowMaker, 0x8A019C4 +SET_ABS_DATA gProc_PI, 0x8A019E4 +SET_ABS_DATA gProc_ChapterStatusScreen, 0x8A01B54 +SET_ABS_DATA gProc_8A01DBC, 0x8A01DBC +SET_ABS_DATA gGfxHelpTextBox, 0x8A0285C +SET_ABS_DATA gGfxHelpTextBox2, 0x8A02884 +SET_ABS_DATA gGfxHelpTextBox3, 0x8A028AC +SET_ABS_DATA gGfxHelpTextBox4, 0x8A02914 +SET_ABS_DATA gGfxHelpTextBox5, 0x8A02980 +SET_ABS_DATA gGfxRangeDisplaySquare, 0x8A02EB4 +SET_ABS_DATA gPalBlueRangeSquare, 0x8A02F34 +SET_ABS_DATA gPalRedRangeSquare, 0x8A02F94 +SET_ABS_DATA gPalGreenRangeSquare, 0x8A02FF4 +SET_ABS_DATA gGfx_MovementArrow, 0x8A03054 +SET_ABS_DATA gPal_MovementArrow, 0x8A0328C +SET_ABS_DATA gGfx_StatusText, 0x8A16DEC +SET_ABS_DATA gProc_bmenu, 0x8A177A0 +SET_ABS_DATA gProc_bmenu2, 0x8A178C0 +SET_ABS_DATA gProc_PrepScreenTraineePromotion, 0x8A184F4 +SET_ABS_DATA gProc_MenuScroll, 0x8A18808 +SET_ABS_DATA gPrepScreenShopItemList, 0x8A188E4 +SET_ABS_DATA gSomeTextIndexLookup, 0x8A191F4 +SET_ABS_DATA gpStringBufferAlt, 0x8A19200 +SET_ABS_DATA gShopSellTextIndexLookup, 0x8A1951C +SET_ABS_DATA gpShopSellStringBuffer, 0x8A19524 +SET_ABS_DATA gGfxPrepMenuInputHelp, 0x8A199C8 +SET_ABS_DATA gGfxConvoyTopWIcons, 0x8A1A0A4 +SET_ABS_DATA gGfxConvoyBottomWIcons, 0x8A1A23C +SET_ABS_DATA gPalConvoyWIcons, 0x8A1A3FC +SET_ABS_DATA gGfx_SmolBrownNameBox, 0x8A1B0D8 +SET_ABS_DATA gPal_SmolBrownNameBox, 0x8A1B154 +SET_ABS_DATA gpSaveDataStart, 0x8A1FAF4 +SET_ABS_DATA gpDummyChapterDataSRAM, 0x8A1FB30 +SET_ABS_DATA gpDummyChapterData, 0x8A1FB34 +SET_ABS_DATA gProc_8A20098, 0x8A20098 +SET_ABS_DATA gProc_SaveMenu, 0x8A200B8 +SET_ABS_DATA gProc_SaveMenu2, 0x8A203A8 +SET_ABS_DATA gProc_SaveDraw, 0x8A206A8 +SET_ABS_DATA gProc_SaveDrawCursor, 0x8A206D8 +SET_ABS_DATA gProc_NewGameDiffilcultySelect, 0x8A20A10 +SET_ABS_DATA gProc_DifferedLoop, 0x8A20C04 +SET_ABS_DATA gProc_SmallBrownNameBoxes, 0x8A20D6C +SET_ABS_DATA gProc_FadeIn, 0x8A20DA4 +SET_ABS_DATA gProc_FadeOut, 0x8A20DCC +SET_ABS_DATA gSoundRoomTable, 0x8A20E74 +SET_ABS_DATA gProc_CfExplReWrite, 0x8A2EC88 +SET_ABS_DATA gProc_CfObj, 0x8A2ECA8 +SET_ABS_DATA gProc_Config1, 0x8A2ECE0 +SET_ABS_DATA gProc_Config2, 0x8A2ED88 +SET_ABS_DATA gProc_Config3, 0x8A2EE00 +SET_ABS_DATA gProc_OpInfo, 0x8A2EEF0 +SET_ABS_DATA gGfx_ClassReelGlyphs, 0x8A36338 +SET_ABS_DATA gPal_ClassReelGlyphs, 0x8A372C0 +SET_ABS_DATA gShopPortraitIndexTable, 0x8A3918C +SET_ABS_DATA gProc_Shop, 0x8A39210 +SET_ABS_DATA gProc_ArenaThing, 0x8A394DC +SET_ABS_DATA gWMEvents_LordSplit, 0x8A3C860 +SET_ABS_DATA gOverallRankWeightLookup, 0x8A3CB04 +SET_ABS_DATA gOverallRankLookup, 0x8A3CB1E +SET_ABS_DATA gWMFaceGfxData, 0x8A3D728 +SET_ABS_DATA gProc_WorldMap, 0x8A3D748 +SET_ABS_DATA gProc_WorldMapWrapper, 0x8A3DD50 +SET_ABS_DATA gProc_WMapScreenVSync, 0x8A3DDF4 +SET_ABS_DATA gProc_WMapScreen, 0x8A3DE84 +SET_ABS_DATA gProc_WMapUnit, 0x8A3DECC +SET_ABS_DATA gProc_WMapUnitContainer, 0x8A3DEFC +SET_ABS_DATA gProc_WMapUnitFade, 0x8A3DF2C +SET_ABS_DATA gProc_WMapScreen2, 0x8A3DF64 +SET_ABS_DATA gProc_WMapCursor, 0x8A3DF94 +SET_ABS_DATA gProc_WMapRoute, 0x8A3DFC4 +SET_ABS_DATA gProc_WMapMUPrim, 0x8A3E248 +SET_ABS_DATA gProc_WMapMU, 0x8A3E2C0 +SET_ABS_DATA gProc_WMapPI, 0x8A3E464 +SET_ABS_DATA gProc_WMapMoveCursor, 0x8A3E4F4 +SET_ABS_DATA gProc_WMapScrollManage, 0x8A3E52C +SET_ABS_DATA gProc_WMapPalFade, 0x8A3E55C +SET_ABS_DATA gProc_WMapBaseEntry, 0x8A3E594 +SET_ABS_DATA gProc_WMapMuEntry, 0x8A3E624 +SET_ABS_DATA gProc_WMapRM, 0x8A3EB50 +SET_ABS_DATA gProc_Credits, 0x8AA2084 +SET_ABS_DATA gBgConfig_8AA213C, 0x8AA213C +SET_ABS_DATA gProc_8AA2154, 0x8AA2154 +SET_ABS_DATA gProc_8AA2184, 0x8AA2184 +SET_ABS_DATA gProc_8AA21BC, 0x8AA21BC +SET_ABS_DATA gProc_IntroSequence, 0x8AA71C8 +SET_ABS_DATA gProc_PreIntroSequence, 0x8AA7680 +SET_ABS_DATA gGfx_TitleScreen, 0x8AA7760 +SET_ABS_DATA gPal_TitleScreen, 0x8AAB3F4 +SET_ABS_DATA gGfxBarIntro, 0x8AF1AE8 +SET_ABS_DATA gPalBarIntro, 0x8AF1B18 +SET_ABS_DATA gGfxNintyIntSysPresentsIntroText, 0x8AF1B38 +SET_ABS_DATA gPalNintyIntSysPresentsIntroText, 0x8AF1FB0 +SET_ABS_DATA gGfxEphraimEirikaIntroText, 0x8AF1FD0 +SET_ABS_DATA gPalEphraimEirikaIntroText, 0x8AF2634 +SET_ABS_DATA gGfxBubblesIntro, 0x8AF2654 +SET_ABS_DATA gPalBubblesIntro, 0x8AF310C +SET_ABS_DATA gGfxHSWarning, 0x8B11D0C +SET_ABS_DATA gProc_PromotionMain, 0x8B12614 +SET_ABS_DATA gProc_PromotionInit, 0x8B126CC +SET_ABS_DATA gProc_PromotionDisplay, 0x8B1271C +SET_ABS_DATA gProc_ccramifyEnd, 0x8B127EC +SET_ABS_DATA gProc_ccramifyEvent, 0x8B1280C +SET_ABS_DATA gMenuCommands_Promotion, 0x8B12954 +SET_ABS_DATA gMenu_Promotion, 0x8B129E4 +SET_ABS_DATA gProc_PromotionMenuSelect, 0x8B12A08 +SET_ABS_DATA gMenuGeometry_Promotion, 0x8B12A60 +SET_ABS_DATA gProc_8B12A64, 0x8B12A64 +SET_ABS_DATA gProc_Guide, 0x8B12C64 +SET_ABS_DATA gProc_Guide2, 0x8B12D1C +SET_ABS_DATA gGfx_ChapterIntroBackground, 0x8B12DB4 +SET_ABS_DATA gPal_ChapterIntroBackground, 0x8B1754C +SET_ABS_DATA gGfx_8B17B64, 0x8B17B64 +SET_ABS_DATA gPal_8B18ED4, 0x8B18ED4 +SET_ABS_DATA gBattleAnimationData, 0x8C00008 diff --git a/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20181105.s b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20181105.s new file mode 100644 index 000000000..00263b771 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20181105.s @@ -0,0 +1,4081 @@ + +.macro SET_FUNC name, value + .global \name + .type \name, %function + .set \name, \value +.endm + +.macro SET_DATA name, value + .global \name + .type \name, %object + .set \name, \value +.endm + +@ division & other libgcc functions +SET_FUNC __aeabi_idiv, __divsi3 +SET_FUNC __aeabi_idivmod, __modsi3 +SET_FUNC __aeabi_llsl, llsl_thumb + +SET_FUNC GlobalIRQHandler, 0x80000FC +SET_FUNC ARM_ClearOAMBuffer, 0x8000304 +SET_FUNC ARM_ComputeChecksum32, 0x8000360 +SET_FUNC ARM_FillRect, 0x80003A8 +SET_FUNC ARM_PushToHiOAM, 0x8000494 +SET_FUNC ARM_PushToLoOAM, 0x8000534 +SET_FUNC ARM_Draw1DTileTextGlyphCore, 0x8000564 +SET_FUNC ARM_HuffmanTextDecomp, 0x80006E4 +SET_FUNC ARM_Func5, 0x8000784 +SET_FUNC ARM_FillMovementMapCore, 0x8000874 +SET_FUNC AgbMain, 0x8000A21 +SET_FUNC StoreIRQToIRAM, 0x8000B35 +SET_FUNC IRQDummy, 0x8000B75 +SET_FUNC SetIRQHandler, 0x8000B79 +SET_FUNC NextRN, 0x8000B89 +SET_FUNC InitRN, 0x8000BC9 +SET_FUNC LoadRNState, 0x8000C35 +SET_FUNC SaveRNState, 0x8000C4D +SET_FUNC NextRN_100, 0x8000C65 +SET_FUNC NextRN_N, 0x8000C81 +SET_FUNC Roll1RN, 0x8000CA1 +SET_FUNC Roll2RN, 0x8000CB9 +SET_FUNC SetOtherRNState, 0x8000CDD +SET_FUNC GetOtherRN, 0x8000CE9 +SET_FUNC GetGameClock, 0x8000D29 +SET_FUNC SetGameClock, 0x8000D35 +SET_FUNC IncrementGameClock, 0x8000D41 +SET_FUNC CopyToPaletteBuffer, 0x8000DB9 +SET_FUNC SyncLCDControl, 0x8000E9D +SET_FUNC GetBgControlBuffer, 0x8000F45 +SET_FUNC GetBgTileDataOffset, 0x8000F8D +SET_FUNC GetBgLocalTileIndex, 0x8000FA5 +SET_FUNC SetBgTileDataOffset, 0x8000FDD +SET_FUNC SetBgMapDataOffset, 0x8001005 +SET_FUNC SetBgScreenSize, 0x800104D +SET_FUNC SyncPalettes_AdditiveFilter, 0x8001095 +SET_FUNC SyncPalettes_SubstractiveFilter, 0x80010F1 +SET_FUNC SyncBgs, 0x800114D +SET_FUNC FillBgMap, 0x8001221 +SET_FUNC RegisterBlankTile, 0x8001241 +SET_FUNC SetInterrupt_LCDVBlank, 0x8001259 +SET_FUNC SetInterrupt_LCDVCountMatch, 0x80012AD +SET_FUNC SetLCDVCountSetting, 0x800131D +SET_FUNC SetMainCallback, 0x8001329 +SET_FUNC ExecMainCycle, 0x8001335 +SET_FUNC UpdateKeyStatus_Private, 0x800134D +SET_FUNC UpdateKeyStatus, 0x80013E1 +SET_FUNC ResetKeyStatus, 0x8001421 +SET_FUNC SetKeyStatusIgnore, 0x8001441 +SET_FUNC GetKeyStatusIgnore, 0x800144D +SET_FUNC KeyStatusSetterProc_Set, 0x8001459 +SET_FUNC StartKeyStatusSetter, 0x8001471 +SET_FUNC SetBgPosition, 0x800148D +SET_FUNC LoadBgConfig, 0x8001B59 +SET_FUNC GetBgMapBuffer, 0x8001C4D +SET_FUNC ShouldSkipHSScreen, 0x8001C69 +SET_FUNC UpdateHBlankHandlerState, 0x8001D29 +SET_FUNC SetPrimaryHBlankCallback, 0x8001DD9 +SET_FUNC SetSecondaryHBlankCallback, 0x8001DED +SET_FUNC GetBgIdFromMapBuffer, 0x8001E01 +SET_FUNC SetBgDepth, 0x8001E6D +SET_FUNC GetBgDepth, 0x8001E8D +SET_FUNC SetColorEffectsParameters, 0x8001EA1 +SET_FUNC SetColorEffectsFirstTarget, 0x8001ED1 +SET_FUNC SetColorEffectsSecondTarget, 0x8001F0D +SET_FUNC SetColorEffectBackdropFirstTarget, 0x8001F49 +SET_FUNC SetColorEffectBackdropSecondTarget, 0x8001F65 +SET_FUNC SetDefaultColorEffects, 0x8001F81 +SET_FUNC EnablePaletteSync, 0x8001F95 +SET_FUNC DisablePaletteSync, 0x8001FA1 +SET_FUNC EnableBgSyncByMask, 0x8001FAD +SET_FUNC EnableBgSyncByIndex, 0x8001FBD +SET_FUNC ClearTileRegistry, 0x8001FE1 +SET_FUNC RegisterTileGraphics, 0x8002015 +SET_FUNC RegisterFillTile, 0x8002055 +SET_FUNC SyncRegisteredTiles, 0x8002089 +SET_FUNC InitOAMSplice, 0x80020FD +SET_FUNC SyncHiOAM, 0x8002139 +SET_FUNC SyncLoOAM, 0x800217D +SET_FUNC WriteOAMRotScaleData, 0x80021B1 +SET_FUNC GetLoOAMSize, 0x800224D +SET_FUNC Sound_GetCurrentSong, 0x8002259 +SET_FUNC Sound_IsSongPlaying, 0x8002265 +SET_FUNC Sound_SetVolume_8002274, 0x8002275 +SET_FUNC Sound_SetSongVolume, 0x80022ED +SET_FUNC Sound_FadeSongOut, 0x800231D +SET_FUNC Sound_FadeOut_800237C, 0x800237D +SET_FUNC Sound_FadeOut_80023E0, 0x80023E1 +SET_FUNC Sound_PlaySong, 0x8002449 +SET_FUNC Sound_PlaySongSmoothCommon, 0x8002479 +SET_FUNC Sound_PlaySongSmooth, 0x80024D5 +SET_FUNC Sound_PlaySongSmoothExt, 0x80024E5 +SET_FUNC Sound_SongVolumeTransitionAProc_Loop, 0x80024F1 +SET_FUNC StartSongVolumeTransitionB, 0x8002731 +SET_FUNC Sound_SongVolumeTransitionBProc_Loop, 0x8002789 +SET_FUNC Sound_PlaySoundDelayedProc_Loop, 0x800281D +SET_FUNC PlaySongDelayed, 0x8002859 +SET_FUNC Sound_PlaySongCore, 0x8002891 +SET_FUNC SetSoundDefaultMaxChannels, 0x80028D1 +SET_FUNC SetSoundMaxChannels, 0x80028E9 +SET_FUNC Sound_SetupMaxChannelsForSong, 0x80028FD +SET_FUNC CancelPlaySongDelayed, 0x8002AB9 +SET_FUNC InitRamFuncs, 0x8002AF9 +SET_FUNC Draw1DTileTextGlyphCore, 0x8002B91 +SET_FUNC HuffmanTextDecomp, 0x8002BA5 +SET_FUNC PushToHiOAM, 0x8002BB9 +SET_FUNC PushToLoOAM, 0x8002BCD +SET_FUNC FillMovementMapCore, 0x8002BF5 +SET_FUNC InitProcSystem, 0x8002C09 +SET_FUNC StartProc, 0x8002C7D +SET_FUNC StartBlockingProc, 0x8002CE1 +SET_FUNC EndProc_Private, 0x8002D11 +SET_FUNC EndProc, 0x8002D6D +SET_FUNC _AllocProcState, 0x8002D85 +SET_FUNC _FreeProcState, 0x8002D95 +SET_FUNC _InsertMainProc, 0x8002DA5 +SET_FUNC _InsertChildProc, 0x8002DC9 +SET_FUNC _IsolateProc, 0x8002DE1 +SET_FUNC ExecProc_Private, 0x8002E29 +SET_FUNC ExecProc, 0x8002E85 +SET_FUNC BreakProcLoop, 0x8002E95 +SET_FUNC FindProc, 0x8002E9D +SET_FUNC GotoProcLabel, 0x8002F25 +SET_FUNC GotoProcInstruction, 0x8002F5D +SET_FUNC MarkProc, 0x8002F65 +SET_FUNC SetProcEndHandler, 0x8002F6D +SET_FUNC ForEveryProc, 0x8002F71 +SET_FUNC ForEachProc, 0x8002F99 +SET_FUNC HaltEachProcMarked, 0x8002FED +SET_FUNC ResumeEachProcMarked, 0x8003015 +SET_FUNC EndEachProcMarked, 0x8003041 +SET_FUNC _EndProc, 0x800306D +SET_FUNC EndEachProc, 0x8003079 +SET_FUNC _BreakProcLoop, 0x8003089 +SET_FUNC BreakEachProcLoop, 0x8003095 +SET_FUNC ForProcFamily, 0x80030A5 +SET_FUNC ProcInst00_End, 0x80030E9 +SET_FUNC ProcInst01_SetName, 0x80030F5 +SET_FUNC ProcInst02_CallRoutine, 0x8003105 +SET_FUNC ProcInst16_CallRoutine2, 0x8003119 +SET_FUNC ProcInst18_CallRoutineArg, 0x8003131 +SET_FUNC ProcInst14_WhileRoutine, 0x8003151 +SET_FUNC ProcInst03_SetOnCycle, 0x800317D +SET_FUNC ProcInst04_SetOnEnd, 0x800318D +SET_FUNC ProcInst05_AddChild, 0x80031A9 +SET_FUNC ProcInst06_AddBlockingChild, 0x80031C5 +SET_FUNC ProcInst07_BuggedAddGlobal, 0x80031E1 +SET_FUNC ProcInst08_BlockUntilRunning, 0x8003201 +SET_FUNC ProcInst09_EndAllOf, 0x8003229 +SET_FUNC ProcInst0A_BreakLoopForAll, 0x8003245 +SET_FUNC ProcInst0B_Nop, 0x8003261 +SET_FUNC ProcInst0D_GotoPointer, 0x800326D +SET_FUNC ProcInst0C_GotoLabel, 0x800327D +SET_FUNC _ProcSleepCallback, 0x8003291 +SET_FUNC ProcInst0E_Sleep, 0x80032AD +SET_FUNC ProcInst0F_Mark, 0x80032D5 +SET_FUNC ProcInst13_Nop2, 0x80032E9 +SET_FUNC ProcInst10_Halt, 0x80032F5 +SET_FUNC ProcInst11_EnsureUniqueWeak, 0x80032F9 +SET_FUNC ProcInst12_EnsureUniqueStrong, 0x8003339 +SET_FUNC ProcInst15_Nop3, 0x8003371 +SET_FUNC ProcInst12_SetBit4, 0x800337D +SET_FUNC ProcInterpretCode, 0x8003395 +SET_FUNC SetProcOnCycle, 0x8003451 +SET_FUNC _ResetIconGraphics, 0x8003579 +SET_FUNC ClearIcons, 0x8003585 +SET_FUNC LoadIconPalettes, 0x80035BD +SET_FUNC LoadIconPalette, 0x80035D5 +SET_FUNC GetIconGfxTileIndex, 0x8003611 +SET_FUNC GetIconGfxIndex, 0x8003625 +SET_FUNC GetIconTileIndex, 0x8003651 +SET_FUNC DrawIcon, 0x80036BD +SET_FUNC ClearIcon, 0x800370D +SET_FUNC LoadIconObjectGraphics, 0x800372D +SET_FUNC SetupDebugFontForBG, 0x800378D +SET_FUNC DBG_BG_Print, 0x8003805 +SET_FUNC ClearSmallStringBuffer, 0x80038C9 +SET_FUNC StoreNumberStringToSmallBuffer, 0x80038E1 +SET_FUNC StoreNumberStringOrDashesToSmallBuffer, 0x800391D +SET_FUNC StoreNumberHexStringToSmallBuffer, 0x8003969 +SET_FUNC PrintStringToDBG, 0x80039D1 +SET_FUNC FlushDBGToBG2, 0x8003A3D +SET_FUNC SetupDebugFontForOBJ, 0x8003B25 +SET_FUNC PrintDebugStringAsOBJ, 0x8003BB1 +SET_FUNC PrintDebugNumberDec, 0x8003BFD +SET_FUNC PrintDebugNumberHex, 0x8003C21 +SET_FUNC IsAsciiMode, 0x8003C7D +SET_FUNC SetAsciiMode, 0x8003C89 +SET_FUNC Font_InitDefault, 0x8003C95 +SET_FUNC Font_InitForUI, 0x8003CB9 +SET_FUNC Font_SetGlyphSet, 0x8003CF5 +SET_FUNC Font_ResetAllocation, 0x8003D21 +SET_FUNC SetFont, 0x8003D39 +SET_FUNC Text_InitClear, 0x8003D5D +SET_FUNC Text_InitDB, 0x8003D85 +SET_FUNC InitClearTextBatch, 0x8003DAD +SET_FUNC Text_Clear, 0x8003DC9 +SET_FUNC Text_GetXCursor, 0x8003E51 +SET_FUNC Text_SetXCursor, 0x8003E55 +SET_FUNC Text_Advance, 0x8003E59 +SET_FUNC Text_SetColorId, 0x8003E61 +SET_FUNC Text_GetColorId, 0x8003E65 +SET_FUNC Text_SetParameters, 0x8003E69 +SET_FUNC Text_Draw, 0x8003E71 +SET_FUNC Text_DrawBlank, 0x8003EBD +SET_FUNC GetStringTextWidth, 0x8003EDD +SET_FUNC GetCharTextWidth, 0x8003F3D +SET_FUNC GetStringTextCenteredPos, 0x8003F91 +SET_FUNC String_GetNextLine, 0x8003FF5 +SET_FUNC Text_AppendString, 0x8004005 +SET_FUNC Text_AppendDecNumber, 0x8004075 +SET_FUNC Text_AppendNumberOr2Dashes, 0x8004145 +SET_FUNC Text_AppendChar, 0x8004181 +SET_FUNC Text_Get1DVRAMTarget, 0x80041E9 +SET_FUNC Get2bppTo4bppLookup, 0x8004209 +SET_FUNC DrawGlyph1DTile, 0x8004219 +SET_FUNC DrawGlyph1DTileNoClear, 0x8004269 +SET_FUNC Font_LoadForUI, 0x80043A9 +SET_FUNC Font_LoadForDialogue, 0x80043E9 +SET_FUNC Font_SetDraw1DTileNoClear, 0x8004429 +SET_FUNC DrawTextInline, 0x800443D +SET_FUNC Text_InsertString, 0x8004481 +SET_FUNC Text_InsertNumberOr2Dashes, 0x80044A5 +SET_FUNC Text_AppendStringAscii, 0x80044C9 +SET_FUNC Text_AppendCharAscii, 0x8004505 +SET_FUNC GetCharTextWidthAscii, 0x8004539 +SET_FUNC GetStringTextWidthAscii, 0x8004569 +SET_FUNC Font_InitForObj, 0x800459D +SET_FUNC Text_Init2DLine, 0x80045D9 +SET_FUNC Text_Clear2DLine, 0x800465D +SET_FUNC Text_Fill2DLine, 0x80046B5 +SET_FUNC Text_Get2DVRAMTarget, 0x80046E1 +SET_FUNC DrawGlyph2DTile, 0x8004701 +SET_FUNC NewGreenTextColorManager, 0x80049AD +SET_FUNC EndGreenTextColorManager, 0x80049D1 +SET_FUNC Text_DrawGlyphManual, 0x8004A35 +SET_FUNC Text_DrawSpecialUiChar, 0x8004A91 +SET_FUNC DrawSpecialUiChar_, 0x8004ACD +SET_FUNC DrawSpecialUiChar, 0x8004B0D +SET_FUNC DrawSpecialUiDecNumber, 0x8004B49 +SET_FUNC DrawUiNumber, 0x8004B89 +SET_FUNC DrawUiNumberOrDoubleDashes, 0x8004B95 +SET_FUNC DrawUiSmallNumber, 0x8004BE5 +SET_FUNC DrawStatScreenBonusNumber, 0x8004BF1 +SET_FUNC UpdateAISs, 0x8004E41 +SET_FUNC ClearAISs, 0x8004EB9 +SET_FUNC CreateAIS, 0x8004F49 +SET_FUNC SortAISs, 0x8004FAD +SET_FUNC DeleteAIS, 0x8005005 +SET_FUNC DisplayAIS, 0x8005035 +SET_FUNC AdvanceAIS, 0x8005041 +SET_FUNC InsertAIS, 0x80051C1 +SET_FUNC _DisplayAIS, 0x8005209 +SET_FUNC HiObjClear, 0x80053A5 +SET_FUNC HiObjInsertSafe, 0x80053E9 +SET_FUNC HiObjInsert, 0x8005429 +SET_FUNC HiObjProcess, 0x8005459 +SET_FUNC _HiObjProc_Loop, 0x8005489 +SET_FUNC StartHiObjProc, 0x80054B1 +SET_FUNC MoveHiObjProc, 0x80054F5 +SET_FUNC GetPortraitData, 0x8005515 +SET_FUNC Face_Init, 0x8005529 +SET_FUNC SetFaceGfxConfig, 0x8005545 +SET_FUNC FindFreeFaceSlot, 0x8005571 +SET_FUNC FACE_Load, 0x8005595 +SET_FUNC FACE_Display, 0x80055BD +SET_FUNC StartFaceAuto, 0x8005611 +SET_FUNC StartFace, 0x800563D +SET_FUNC EndFace, 0x8005739 +SET_FUNC EndFaceById, 0x8005759 +SET_FUNC SetFaceDisplayBits, 0x8005771 +SET_FUNC SetFaceDisplayBitsById, 0x800578D +SET_FUNC GetFaceDisplayBits, 0x80057A5 +SET_FUNC GetFaceDisplayBitsById, 0x80057A9 +SET_FUNC ApplyFaceDisplayBitChange, 0x80057C1 +SET_FUNC LoadMiniMugGraphics, 0x8005925 +SET_FUNC DrawMiniMug, 0x8005989 +SET_FUNC ShouldPortraitBeSmol, 0x8005C25 +SET_FUNC GetGenericMiniMugGfx, 0x8005F6D +SET_FUNC LoadGenericMiniMugPalette, 0x8005F9D +SET_FUNC SetFaceBlinkControl, 0x8006439 +SET_FUNC SetFaceBlinkControlById, 0x8006459 +SET_FUNC GetFaceBlinkProcUnk8006470, 0x8006471 +SET_FUNC NewFace2, 0x80064F5 +SET_FUNC Dialogue_ClearFaceReferences, 0x80067E9 +SET_FUNC Dialogue_InitGfx, 0x800680D +SET_FUNC Dialogue_InitGfxObj, 0x80068AD +SET_FUNC Dialogue_InitFont, 0x8006979 +SET_FUNC StartDialogue, 0x800698D +SET_FUNC StartDialogueFromIndex, 0x8006A31 +SET_FUNC StartDialogueParentless, 0x8006A71 +SET_FUNC EndDialogue, 0x8006A7D +SET_FUNC ClearDialogueFlags, 0x8006A99 +SET_FUNC SetDialogueFlag, 0x8006AA9 +SET_FUNC UnsetDialogueFlag, 0x8006AC9 +SET_FUNC CheckDialogueFlag, 0x8006ADD +SET_FUNC Dialogue_SetCharacterDisplayDelay, 0x8006AF1 +SET_FUNC Dialogue_SetDefaultTextColor, 0x8006B11 +SET_FUNC DialogueSkipInputListener_OnLoop, 0x8006B4D +SET_FUNC DialogueMain_OnInit, 0x8006C01 +SET_FUNC DialogueMain_OnLoop, 0x8006C35 +SET_FUNC DialogueMain_UpdateDisplay, 0x8006DA1 +SET_FUNC Dialogue_SetActiveFacePosition, 0x8007839 +SET_FUNC DialogueMain_OnEnd, 0x8007C0D +SET_FUNC DialoguePauseTimer_OnLoop, 0x8007C29 +SET_FUNC NewTextBluArrowAndButtonChecker, 0x8007CD9 +SET_FUNC StartDialogueTextChoice, 0x8007DE9 +SET_FUNC DialogueTextChoice_OnLoop, 0x8007E9D +SET_FUNC GetTextPauseDurationFromControlCode, 0x8008199 +SET_FUNC NewDialogueBoxAppearingAnimator, 0x80083E1 +SET_FUNC nullsub_74, 0x80087A5 +SET_FUNC DialogueExists, 0x80089D1 +SET_FUNC FaceExists, 0x80089E9 +SET_FUNC GetLastDialoguePromptResult, 0x8008A01 +SET_FUNC GetStringTextWidthWithDialogueCodes, 0x8008B45 +SET_FUNC GetZero, 0x8008F19 +SET_FUNC DialogueEnableBgSyncByMask, 0x8008F21 +SET_FUNC nullsub_15, 0x8009039 +SET_FUNC AP_ClearAll, 0x8009261 +SET_FUNC AP_Create, 0x800927D +SET_FUNC AP_Delete, 0x80092A5 +SET_FUNC AP_Update, 0x80092BD +SET_FUNC _AP_RegisterGraphics, 0x80092E5 +SET_FUNC _AP_Exec, 0x8009341 +SET_FUNC _AP_QueueRotScaleData, 0x8009431 +SET_FUNC AP_SwitchAnimation, 0x8009519 +SET_FUNC AP_SetDefinition, 0x8009549 +SET_FUNC _AP_QueueTileGfx, 0x8009569 +SET_FUNC _AP_Load, 0x8009675 +SET_FUNC _AP_ExecOneFrame, 0x8009699 +SET_FUNC _AP_Init, 0x80096B9 +SET_FUNC _AP_Alloc, 0x80096F1 +SET_FUNC APProc_Create, 0x8009719 +SET_FUNC _APProc_OnUpdate, 0x8009761 +SET_FUNC _APProc_OnDelete, 0x800978D +SET_FUNC APProc_SetParameters, 0x8009799 +SET_FUNC APProc_Delete, 0x80097B5 +SET_FUNC APProc_DeleteAll, 0x80097C1 +SET_FUNC APProc_Exists, 0x80097D1 +SET_FUNC GameControl_HandleSelectRightL, 0x8009A01 +SET_FUNC GameControl_8009A58, 0x8009A59 +SET_FUNC GameControl_8009A60_Null, 0x8009A61 +SET_FUNC Delete6CIfNotMarkedB, 0x8009A6D +SET_FUNC GameControl_MasterSwitch, 0x8009B89 +SET_FUNC CallActualSaveMenu, 0x8009DE1 +SET_FUNC GameControl_GetChapterIdToProc, 0x8009EDD +SET_FUNC GameControl_GetChapterIdFromProc, 0x8009EED +SET_FUNC NewGameControl, 0x8009F09 +SET_FUNC GetGameControl, 0x8009F41 +SET_FUNC SetNextGameActionId, 0x8009F51 +SET_FUNC SetNextChapterId, 0x8009F65 +SET_FUNC RestartGameAndGoto8, 0x8009F8D +SET_FUNC RestartGameAndGoto12, 0x8009FB1 +SET_FUNC nullsub_RestartGameAndGoto7, 0x8009FD5 +SET_FUNC nullsub_9, 0x8009FD9 +SET_FUNC GameControl_EnableSoundEffects, 0x8009FDD +SET_FUNC String_GetGenericArticle, 0x800A049 +SET_FUNC String_PrependArticle, 0x800A161 +SET_FUNC String_StripSomeEndCharacters, 0x800A1C9 +SET_FUNC String_GetFromIndex, 0x800A241 +SET_FUNC String_GetFromIndexExt, 0x800A281 +SET_FUNC String_ExpandNames, 0x800A2A5 +SET_FUNC String_ExpandTactName, 0x800A3B9 +SET_FUNC SetSomeRealCamPos, 0x800BA5D +SET_FUNC TriggerMapChanges, 0x800BAF9 +SET_FUNC UntriggerMapChange, 0x800BB49 +SET_FUNC HideAllUnits, 0x800BC1D +SET_FUNC GetUnitStructFromEventParameter, 0x800BC51 +SET_FUNC Event80_, 0x800BDCD +SET_FUNC Event81_, 0x800BDE9 +SET_FUNC Event82_EndWM, 0x800BE2D +SET_FUNC Event83_WM_SETCAM, 0x800BE39 +SET_FUNC Event84_WM_SETCAMONLOC, 0x800BE4D +SET_FUNC Event85_WM_SETCAMONSPRITE, 0x800BE8D +SET_FUNC Event86_WM_MOVECAM, 0x800BED5 +SET_FUNC Event87_, 0x800BF39 +SET_FUNC Event88_, 0x800BFD9 +SET_FUNC Event89_, 0x800C085 +SET_FUNC Event8A_, 0x800C0B9 +SET_FUNC Event8B_, 0x800C0C9 +SET_FUNC Event8C_, 0x800C0D5 +SET_FUNC Event8D_, 0x800C0F1 +SET_FUNC Event8E_, 0x800C109 +SET_FUNC Event8F_, 0x800C121 +SET_FUNC Event90_WM_DRAWPATH, 0x800C139 +SET_FUNC Event91_WM_DRAWPATH_Silent, 0x800C165 +SET_FUNC Event92_REMOVEPATH, 0x800C199 +SET_FUNC Event93_, 0x800C1CD +SET_FUNC Event94_, 0x800C1E9 +SET_FUNC Event95_, 0x800C205 +SET_FUNC Event96_, 0x800C255 +SET_FUNC Event97_, 0x800C2DD +SET_FUNC Event98_, 0x800C36D +SET_FUNC Event99_, 0x800C435 +SET_FUNC Event9A_, 0x800C469 +SET_FUNC Event9B_, 0x800C4C9 +SET_FUNC Event9C_, 0x800C4E5 +SET_FUNC Event9D_, 0x800C529 +SET_FUNC Event9E_PUTSPRITE, 0x800C55D +SET_FUNC Event9F_, 0x800C575 +SET_FUNC EventA0_REMSPRITE, 0x800C58D +SET_FUNC EventA1_, 0x800C59D +SET_FUNC EventA2_, 0x800C5AD +SET_FUNC EventA3_, 0x800C5BD +SET_FUNC EventA4_, 0x800C5F9 +SET_FUNC EventA5_, 0x800C635 +SET_FUNC EventA6_, 0x800C65D +SET_FUNC EventA7_, 0x800C68D +SET_FUNC EventA8_, 0x800C6C1 +SET_FUNC EventA9_, 0x800C755 +SET_FUNC EventAA_, 0x800C7B5 +SET_FUNC EventAB_, 0x800C7E5 +SET_FUNC EventAC_, 0x800C815 +SET_FUNC EventAD_, 0x800C85D +SET_FUNC EventAE_, 0x800C885 +SET_FUNC EventAF_, 0x800C8B1 +SET_FUNC EventB0_, 0x800C8D5 +SET_FUNC EventB1_, 0x800C8F9 +SET_FUNC EventB2_, 0x800C925 +SET_FUNC EventB3_, 0x800C939 +SET_FUNC EventB4_, 0x800C951 +SET_FUNC EventB5_, 0x800C981 +SET_FUNC EventB6_, 0x800C9A1 +SET_FUNC EventB7_, 0x800C9F1 +SET_FUNC EventB8_, 0x800CA19 +SET_FUNC EventB9_, 0x800CA39 +SET_FUNC EventBA_, 0x800CA61 +SET_FUNC EventBB_, 0x800CA9D +SET_FUNC EventBC_, 0x800CADD +SET_FUNC EventBD_, 0x800CB49 +SET_FUNC EventBE_, 0x800CB71 +SET_FUNC EventBF_, 0x800CBAD +SET_FUNC EventC0_, 0x800CBD9 +SET_FUNC EventC1_SKIPWM, 0x800CBF1 +SET_FUNC EventC2_, 0x800CC05 +SET_FUNC EventC3_, 0x800CC19 +SET_FUNC EventCE_, 0x800CC5D +SET_FUNC EventCF_, 0x800CC75 +SET_FUNC EventC4_, 0x800CC8D +SET_FUNC nullsub_31, 0x800CCE9 +SET_FUNC nullsub_32, 0x800CCED +SET_FUNC EventC5_, 0x800CCF1 +SET_FUNC nullsub_33, 0x800CD39 +SET_FUNC nullsub_34, 0x800CD3D +SET_FUNC EventC6_, 0x800CD51 +SET_FUNC EventC7_, 0x800CD89 +SET_FUNC EventC8_, 0x800CDA9 +SET_FUNC EventC9_, 0x800CDC9 +SET_FUNC EventCA_, 0x800CDF1 +SET_FUNC EventCB_, 0x800CDF5 +SET_FUNC EventCC_, 0x800CDF9 +SET_FUNC EventCD_, 0x800CE29 +SET_FUNC _MarkSomethingInMenu, 0x800CE41 +SET_FUNC EventEngine_Loop, 0x800CE4D +SET_FUNC EventEngine_Destructor, 0x800CF5D +SET_FUNC EqueueEventEngineCall, 0x800D00D +SET_FUNC HandleNextEventEngineCall, 0x800D045 +SET_FUNC CallMapEventEngine, 0x800D07D +SET_FUNC StartMapEventEngine, 0x800D0B1 +SET_FUNC StartBattleEventEngine, 0x800D141 +SET_FUNC MapEventEngineExists, 0x800D199 +SET_FUNC BattleEventEngineExists, 0x800D1B1 +SET_FUNC DeleteEventEngines, 0x800D1C9 +SET_FUNC SetEventSlotC, 0x800D1F9 +SET_FUNC CallBattleQuoteTextEvents, 0x800D285 +SET_FUNC CallSomeOtherEvents, 0x800D2D1 +SET_FUNC StartGameOverEvent, 0x800D391 +SET_FUNC EventEngine_CanSkipMaybe, 0x800D3A5 +SET_FUNC SetDialogueSkipEvBit, 0x800D3E5 +SET_FUNC EventEngine_EnableSkip, 0x800D415 +SET_FUNC CheckEventId_, 0x800D4B9 +SET_FUNC SlotQueuePush, 0x800D529 +SET_FUNC SlotQueuePop, 0x800D545 +SET_FUNC SetEventCounter, 0x800D589 +SET_FUNC GetEventCounter, 0x800D595 +SET_FUNC Event00_Nop, 0x800D5A1 +SET_FUNC Event01_End, 0x800D5A5 +SET_FUNC Event02_EvBitAndIdMod, 0x800D671 +SET_FUNC Event03_CheckEvBitOrId, 0x800D6E5 +SET_FUNC Event04_CheckRandom, 0x800D755 +SET_FUNC Event05_SetSlot, 0x800D77D +SET_FUNC Event06_SlotOperation, 0x800D795 +SET_FUNC Event07_QueueOperation, 0x800D919 +SET_FUNC Event08_Label, 0x800D97D +SET_FUNC Event09_Goto, 0x800D981 +SET_FUNC Event0A_Call, 0x800D9B9 +SET_FUNC Event0B_EnqueueCall, 0x800DA2D +SET_FUNC Event0C_Branch, 0x800DA79 +SET_FUNC Event0D_AsmCall, 0x800DB01 +SET_FUNC Event0E_STAL, 0x800DB39 +SET_FUNC Event0F_CounterOperation, 0x800DBE1 +SET_FUNC Event10_ModifyEvBit, 0x800DC99 +SET_FUNC Event11_SetIgnoredKeys, 0x800DD59 +SET_FUNC Event12_, 0x800DD75 +SET_FUNC Event13_, 0x800DDB1 +SET_FUNC Event14_, 0x800DE15 +SET_FUNC Event15_, 0x800DE75 +SET_FUNC Event16_, 0x800DED5 +SET_FUNC Event17_Fade, 0x800DF21 +SET_FUNC Event18_, 0x800DFBD +SET_FUNC Event19_, 0x800E071 +SET_FUNC Event1A_TEXTSTART, 0x800E189 +SET_FUNC Event1B_TEXTSHOW, 0x800E3C9 +SET_FUNC Event1C_TEXTCONT, 0x800E51D +SET_FUNC Event1D_TEXTEND, 0x800E561 +SET_FUNC _WhileFace6CExists, 0x800E699 +SET_FUNC Event1E_, 0x800E6B5 +SET_FUNC Event1F_, 0x800E77D +SET_FUNC Event20_, 0x800E7C5 +SET_FUNC Event21_TextBGStuff, 0x800E8CD +SET_FUNC Event22_CLEAN, 0x800F0C9 +SET_FUNC Event23_BlockGameGraphics, 0x800F125 +SET_FUNC Event24_UnblockGameGraphics, 0x800F151 +SET_FUNC Event25_LOMA, 0x800F17D +SET_FUNC Event26_CameraControlMaybe, 0x800F20D +SET_FUNC Event27_MapChange, 0x800F2D5 +SET_FUNC Event28_ChangeWeather, 0x800F3ED +SET_FUNC Event29_SetFogVision, 0x800F3FD +SET_FUNC Event2A_MoveToChapter, 0x800F42D +SET_FUNC UNIT_GetListSize, 0x800F50D +SET_FUNC UNIT_ShouldBeLoaded, 0x800F529 +SET_FUNC LoadUnitsIdle, 0x800F5B9 +SET_FUNC UNITs_LoadInstant_800F698, 0x800F699 +SET_FUNC UNIT_Load_800F704, 0x800F705 +SET_FUNC UNIT_Filter, 0x800F915 +SET_FUNC Event2B_, 0x800FB19 +SET_FUNC Event2C_LoadUnits, 0x800FB85 +SET_FUNC TryPrepareEventUnitMovement, 0x800FC91 +SET_FUNC GetSomeEventEngineMoveRelatedBitfield, 0x800FCD9 +SET_FUNC Event2D_, 0x800FD0D +SET_FUNC Event2E_CheckAt, 0x800FD29 +SET_FUNC Event2F_MoveUnit, 0x800FD8D +SET_FUNC Event30_ENUN, 0x800FF25 +SET_FUNC Event31_DisplayEffectRange, 0x800FF69 +SET_FUNC Event32_SpawnSingleUnit, 0x800FFF9 +SET_FUNC Event33_CheckUnitVarious, 0x8010111 +SET_FUNC Event34_MessWithUnitState, 0x8010299 +SET_FUNC Event35_UnitClassChanging, 0x80104B1 +SET_FUNC Event36_CheckInArea, 0x801053D +SET_FUNC Event37_GiveItem, 0x80105A5 +SET_FUNC Event38_ChangeActiveUnit, 0x8010619 +SET_FUNC Event39_CHAI, 0x8010645 +SET_FUNC Event3A_, 0x80106E5 +SET_FUNC Event3B_, 0x801079D +SET_FUNC Event3C_, 0x8010851 +SET_FUNC Event3D_, 0x80108AD +SET_FUNC Event3E_PrepScreenCall, 0x8010969 +SET_FUNC Event3F_, 0x8010A59 +SET_FUNC Event40_PROM, 0x8010B79 +SET_FUNC Event41_, 0x8010BED +SET_FUNC Event42_, 0x8010C71 +SET_FUNC Event43_, 0x8010CF1 +SET_FUNC Event44_, 0x8010D29 +SET_FUNC Event45_, 0x8010D5D +SET_FUNC PopupProc_GetInnerLength, 0x8010F39 +SET_FUNC GenSomeLongPopupText, 0x801106D +SET_FUNC PopupProc_InitGfx, 0x801119D +SET_FUNC PopupProc_PlaySound, 0x8011211 +SET_FUNC PopupIconUpdaterLoop, 0x8011255 +SET_FUNC PopupProc_Display, 0x8011271 +SET_FUNC PopupProc_WaitForPress, 0x80113C1 +SET_FUNC LongPopup_Clear, 0x80113F9 +SET_FUNC SetPopupUnit, 0x8011451 +SET_FUNC SetPopupItem, 0x801145D +SET_FUNC SetPopupNumber, 0x8011469 +SET_FUNC Popup_Create, 0x8011475 +SET_FUNC Popup_CreateExt, 0x8011491 +SET_FUNC NewGotItemPopup, 0x80114DD +SET_FUNC ItemGot_DisplayLePopup, 0x8011525 +SET_FUNC ItemGot_GotLeItem, 0x8011539 +SET_FUNC NewItemGot, 0x8011555 +SET_FUNC NewGeneralItemGot, 0x801159D +SET_FUNC NewGoldGotPopup, 0x8011645 +SET_FUNC CreateItemStealingPopup, 0x8011695 +SET_FUNC NewPopup_WeaponBroke, 0x80116E1 +SET_FUNC NewPopup_WRankIncrease, 0x8011705 +SET_FUNC CreateNewUnitPopup, 0x8011729 +SET_FUNC nullsub_44, 0x8011A19 +SET_FUNC ChangeUnitAIThing, 0x8011CCD +SET_FUNC GetChapterAllyUnitCount, 0x8012345 +SET_FUNC InitPlayerUnitPositionsForPrepScreen, 0x8012361 +SET_FUNC StoreUnitWordStructs, 0x801263D +SET_FUNC LoadUnitWordStructs, 0x8012679 +SET_FUNC String_CopyTo, 0x8012EC1 +SET_FUNC CopyNoCompData, 0x8012EDD +SET_FUNC Decompress, 0x8012F51 +SET_FUNC GetNoCompDataSize, 0x8012F91 +SET_FUNC RegisterObjectTileGraphics, 0x8012FF5 +SET_FUNC CopyTileGfxForObj, 0x8013021 +SET_FUNC GetPaletteFadeBuffer, 0x801344D +SET_FUNC SetSomethingInPaletteBB_2A, 0x8013471 +SET_FUNC SetSomethingInPaletteBB_5A, 0x8013481 +SET_FUNC SetSomethingInPaletteBB_8A, 0x8013495 +SET_FUNC GetSomethingInPaletteBB_2A, 0x80134A9 +SET_FUNC GetSomethingInPaletteBB_5A, 0x80134B5 +SET_FUNC GetSomethingInPaletteBB_8A, 0x80134C5 +SET_FUNC ArchiveCurrentPalettes, 0x80134D5 +SET_FUNC ArchivePalette, 0x8013521 +SET_FUNC WriteFadedPaletteFromArchive, 0x8013551 +SET_FUNC IsFadeActive, 0x8013C89 +SET_FUNC StartBlockingFadeInBlack, 0x8013CD1 +SET_FUNC StartFadeOutBlack, 0x8013CED +SET_FUNC StartBlockingFadeInBlack, 0x8013D09 +SET_FUNC StartBlockingFadeOutBlack, 0x8013D21 +SET_FUNC StartBlockingFadeInWhite, 0x8013D39 +SET_FUNC StartBlockingFadeOutWhite, 0x8013D51 +SET_FUNC StartFadeInBlackMedium, 0x8013D69 +SET_FUNC StartFadeInBlackSlow, 0x8013D75 +SET_FUNC StartFadeInBlackFast, 0x8013D81 +SET_FUNC StartFadeOutBlackMedium, 0x8013D8D +SET_FUNC StartFadeOutBlackFast, 0x8013DA5 +SET_FUNC StartBlockingFadeInBlackSlow, 0x8013DC1 +SET_FUNC WaitForFade, 0x8014069 +SET_FUNC StartBlockingTimer, 0x8014239 +SET_FUNC Timer_Countdown, 0x8014255 +SET_FUNC String_FromNumber, 0x8014335 +SET_FUNC SomeDrawTextCentered, 0x80143D9 +SET_FUNC SomeDrawTextInlineAutoWidth, 0x801443D +SET_FUNC DeleteAllPaletteAnimator, 0x8014481 +SET_FUNC StartPaletteAnimator, 0x8014491 +SET_FUNC StartPaletteAnimator_, 0x80144E5 +SET_FUNC FutureCall2_Loop, 0x801487D +SET_FUNC FutureCall_Loop, 0x80148A1 +SET_FUNC SetupFutureCall2, 0x80148C9 +SET_FUNC SetupFutureCall, 0x80148E5 +SET_FUNC RerangeSomething, 0x8014B01 +SET_FUNC PlaySpacialSoundMaybe, 0x8014B29 +SET_FUNC OnVBlankMain, 0x80152A5 +SET_FUNC OnGameLoopMain, 0x80152F5 +SET_FUNC LockGameLogic, 0x8015361 +SET_FUNC UnlockGameLogic, 0x8015371 +SET_FUNC GetGameLogicLock, 0x8015381 +SET_FUNC SwitchGameplayPhase, 0x801538D +SET_FUNC MapMain_CallBeginningEvent, 0x80153D5 +SET_FUNC MapMain_SwitchPhases, 0x8015411 +SET_FUNC MapMain_ThisProbablyUsedToBeEventRelatedInEarlierGames, 0x8015435 +SET_FUNC MapMain_StartPhaseController, 0x8015451 +SET_FUNC MapMain_StartPlayerPhaseAndApplyAction, 0x80154A5 +SET_FUNC MapMain_UpdateTraps, 0x80154C9 +SET_FUNC MapMain_Suspend, 0x80154F5 +SET_FUNC MapMain_StartIntroFx, 0x801550D +SET_FUNC MapMain_DeployEveryone, 0x8015545 +SET_FUNC GotoChapterWithoutSave, 0x8015589 +SET_FUNC MapMain_ChapterSwitch, 0x80155C5 +SET_FUNC SetupBackgroundForWeatherMaybe, 0x8015609 +SET_FUNC LoadObjUIGfx, 0x8015681 +SET_FUNC LoadGameCoreGfx, 0x80156F5 +SET_FUNC HandleCursorMovement, 0x8015715 +SET_FUNC MoveCameraByStepMaybe, 0x8015839 +SET_FUNC GetSomeAdjustedCameraX, 0x80159B9 +SET_FUNC GetSomeAdjustedCameraY, 0x80159FD +SET_FUNC DisplayCursor, 0x8015A99 +SET_FUNC SetCursorMapPosition, 0x8015BBD +SET_FUNC Init6C_GENS, 0x8015C1D +SET_FUNC Loop6C_GENS, 0x8015CB1 +SET_FUNC StoreAdjustedCameraPositions, 0x8015D31 +SET_FUNC EnsureCameraOntoPosition, 0x8015E0D +SET_FUNC ShouldMoveCameraPosSomething, 0x8015E9D +SET_FUNC GetCurrentMapMusicIndex, 0x8015FC9 +SET_FUNC UpdatePlayMapMusic, 0x80160D1 +SET_FUNC GetItemStringWithArticle, 0x801618D +SET_FUNC GetItemHealthBonus, 0x80163F1 +SET_FUNC GetItemPowerBonus, 0x8016421 +SET_FUNC GetItemSkillBonus, 0x8016451 +SET_FUNC GetItemSpeedBonus, 0x8016481 +SET_FUNC GetItemDefenseBonus, 0x80164B1 +SET_FUNC GetItemResistanceBonus, 0x80164E1 +SET_FUNC GetItemLuckBonus, 0x8016511 +SET_FUNC MakeItem, 0x8016541 +SET_FUNC CanUnitWieldWeapon, 0x8016575 +SET_FUNC CanUnitUseWeapon, 0x8016751 +SET_FUNC CanUnitWieldStaff, 0x80167A5 +SET_FUNC CanUnitUseStaff, 0x8016801 +SET_FUNC DrawItemMenuCommand, 0x8016849 +SET_FUNC DrawTextAndIconForItem, 0x80169A9 +SET_FUNC GetItemAfterUse, 0x8016AED +SET_FUNC GetUnitEquippedItem, 0x8016B29 +SET_FUNC GetUnitEquippedItemSlot, 0x8016B59 +SET_FUNC IsItemCoveringRange, 0x8016B8D +SET_FUNC EquipUnitItemSlot, 0x8016BC1 +SET_FUNC IsWeaponEffectiveAgainst, 0x8016BED +SET_FUNC IsSlayerApplied, 0x8016C89 +SET_FUNC GetItemRangeString, 0x8016CC1 +SET_FUNC GetWRankLevel, 0x8016D5D +SET_FUNC GetItemWRankLevelString, 0x8016D95 +SET_FUNC GetWRankText, 0x8016DF9 +SET_FUNC GetWTypeString, 0x8016E21 +SET_FUNC GetWRankBarData, 0x8016E51 +SET_FUNC IsItemDanceRing, 0x8016EC9 +SET_FUNC IsItemUsable, 0x8016EE5 +SET_FUNC CanUnitUse, 0x8016F7D +SET_FUNC GetItemHealAmount, 0x8016FB9 +SET_FUNC GetUnitItemSlot, 0x801702D +SET_FUNC IsItemStealable, 0x8017055 +SET_FUNC IsItemHammernable, 0x8017081 +SET_FUNC GetWeaponRangeMask, 0x80170D5 +SET_FUNC GetUnitRangeMask, 0x80171E9 +SET_FUNC GetUnitStaffRangeMask_0, 0x801723D +SET_FUNC GetUnitStaffRangeMask, 0x80172F9 +SET_FUNC GetConvoyTotalGoldValue, 0x801737D +SET_FUNC GetUnitsTotalHeldGoldValue, 0x80173D1 +SET_FUNC GetPartyTotalGoldValue, 0x8017451 +SET_FUNC GetItemIndex, 0x80174ED +SET_FUNC GetItemNameString, 0x80174F5 +SET_FUNC GetItemDescStringIndex, 0x8017519 +SET_FUNC GetItemUseDescTextIndex, 0x8017531 +SET_FUNC GetItemWType, 0x8017549 +SET_FUNC GetItemAttributes, 0x801756D +SET_FUNC GetItemUses, 0x8017585 +SET_FUNC GetItemMaxUses, 0x80175B1 +SET_FUNC GetItemMight, 0x80175DD +SET_FUNC GetItemHit, 0x80175F5 +SET_FUNC GetItemWeight, 0x801760D +SET_FUNC GetItemCrit, 0x8017625 +SET_FUNC GetItemCost, 0x801763D +SET_FUNC GetItemMinRange, 0x801766D +SET_FUNC GetItemMaxRange, 0x8017685 +SET_FUNC GetItemRange, 0x80176A1 +SET_FUNC GetItemWRank, 0x80176B9 +SET_FUNC GetItemEffectivenessPtr, 0x80176D1 +SET_FUNC GetItemStatBonuses, 0x80176E9 +SET_FUNC GetItemIconId, 0x8017701 +SET_FUNC GetItemWeaponEffect, 0x8017725 +SET_FUNC GetItemUseEffect, 0x801773D +SET_FUNC GetItemCostPerUse, 0x8017755 +SET_FUNC GetItemMaxCost, 0x801776D +SET_FUNC GetItemWExp, 0x8017799 +SET_FUNC GetItemData, 0x80177B1 +SET_FUNC ClearUnits, 0x80177C5 +SET_FUNC ClearUnit, 0x80177F5 +SET_FUNC CopyUnit, 0x801781D +SET_FUNC GetNextFreeUnit, 0x8017839 +SET_FUNC GetNextFreePlayerUnit, 0x8017871 +SET_FUNC GetUnitFogViewRange, 0x80178A9 +SET_FUNC SetUnitNewStatus, 0x80178D9 +SET_FUNC SetUnitStatus, 0x80178F5 +SET_FUNC GetUnitSMSIndex, 0x8017905 +SET_FUNC UnitAddItem, 0x8017949 +SET_FUNC ClearUnitInventory, 0x801796D +SET_FUNC RemoveUnitBlankItems, 0x8017985 +SET_FUNC GetUnitItemCount, 0x80179D9 +SET_FUNC UnitHasItem, 0x80179F9 +SET_FUNC LoadUnits, 0x8017A35 +SET_FUNC HasClassWRank, 0x8017A8D +SET_FUNC LoadUnit, 0x8017AC5 +SET_FUNC PopulateUnitFromDefinition, 0x8017D3D +SET_FUNC CharFillInventoryFromCode, 0x8017DF9 +SET_FUNC LoadUnitStats, 0x8017E35 +SET_FUNC FixROMUnitStructPtr, 0x8017EBD +SET_FUNC InitUnitSupports, 0x8017EF5 +SET_FUNC AutolevelUnitWeaponRanks, 0x8017F21 +SET_FUNC IncreaseUnitStatsByLevelCount, 0x8017FC5 +SET_FUNC RecomputeUnitStatsForLevelPenalty, 0x8018065 +SET_FUNC ApplyBonusLevels, 0x80180CD +SET_FUNC AutolevelUnit, 0x8018121 +SET_FUNC AutolevelRealistic, 0x8018161 +SET_FUNC EnsureNoUnitStatCapOverflow, 0x80181C9 +SET_FUNC GetUnitByCharId, 0x801829D +SET_FUNC GetUnitByCharIdAndAllegiance, 0x80182D9 +SET_FUNC CanUnitRescue, 0x801831D +SET_FUNC UnitRescue, 0x801834D +SET_FUNC UnitDrop, 0x8018371 +SET_FUNC UnitGive, 0x80183C9 +SET_FUNC UnitKill, 0x80183FD +SET_FUNC ChangeUnitAllegiance, 0x8018431 +SET_FUNC ApplyUnitMovement, 0x801849D +SET_FUNC GetUnitDropLocation, 0x80184E1 +SET_FUNC SetupActiveUnit, 0x801865D +SET_FUNC SetActiveUnit, 0x80186D5 +SET_FUNC MoveActiveUnit, 0x8018741 +SET_FUNC CleanupUnitStatesForPhaseSwitch, 0x80187C1 +SET_FUNC MapMain_UpdateUnitStatus, 0x8018859 +SET_FUNC SetAllUnitNotBackSprite, 0x801895D +SET_FUNC UnitDecreaseItemUse, 0x8018995 +SET_FUNC GetUnitAid, 0x80189B9 +SET_FUNC GetUnitMagBy2Range, 0x8018A1D +SET_FUNC UnitHasMagicRank, 0x8018A59 +SET_FUNC GetUnitUseFlags, 0x8018B29 +SET_FUNC GetRedTeamUseFlags, 0x8018BA1 +SET_FUNC CanActiveUnitMove, 0x8018BD9 +SET_FUNC IsPositionMagicSealed, 0x8018C99 +SET_FUNC CanUnitNotUseMagic, 0x8018D09 +SET_FUNC GetUnitLastItem, 0x8018D35 +SET_FUNC GetUnitMovCostTable, 0x8018D4D +SET_FUNC GetClassStandingMapSpriteId, 0x8018D91 +SET_FUNC MapMain_UpdatePrevDeployStates, 0x8018DB1 +SET_FUNC LoadUnitPrepScreenPositions, 0x8018E31 +SET_FUNC IsUnitSlotAvailable, 0x8018F49 +SET_FUNC GetDeployedPlayerUnitCount, 0x8018FF1 +SET_FUNC ClearCutsceneUnits, 0x80190B5 +SET_FUNC GetUnitCurrentHP, 0x8019151 +SET_FUNC GetUnitMaxHP, 0x8019191 +SET_FUNC GetUnitPower, 0x80191B1 +SET_FUNC GetUnitSkill, 0x80191D1 +SET_FUNC GetUnitSpeed, 0x8019211 +SET_FUNC GetUnitDefense, 0x8019251 +SET_FUNC GetUnitResistance, 0x8019271 +SET_FUNC GetUnitLuck, 0x8019299 +SET_FUNC GetUnitPortraitId, 0x80192B9 +SET_FUNC GetUnitMiniPortraitId, 0x80192F5 +SET_FUNC GetUnitLeader, 0x8019341 +SET_FUNC SetUnitHP, 0x8019369 +SET_FUNC UnitTryHeal, 0x80193A5 +SET_FUNC GetUnitRescuingNameString, 0x80193E9 +SET_FUNC GetUnitStatusString, 0x8019415 +SET_FUNC GetUnit, 0x8019431 +SET_FUNC GetClassData, 0x8019445 +SET_FUNC GetCharacterData, 0x8019465 +SET_FUNC RemoveUnitItem, 0x8019485 +SET_FUNC CanUnitCrossTerrain, 0x801949D +SET_FUNC InitChapterMap, 0x80194BD +SET_FUNC SetupMapRowPointers, 0x80197A5 +SET_FUNC ClearMapWith, 0x80197E5 +SET_FUNC LoadChapterMap, 0x80198AD +SET_FUNC LoadChapterMapGfx, 0x801990D +SET_FUNC SyncTilesFromMapBuffer, 0x80199A5 +SET_FUNC RefreshTerrainMap, 0x8019A65 +SET_FUNC GetSomeTerrainToChangeAtSomePosition, 0x8019AF5 +SET_FUNC UpdateGameTileGfx, 0x8019B19 +SET_FUNC DrawTileGraphics, 0x8019C3D +SET_FUNC InitMapChangeGraphics, 0x8019CBD +SET_FUNC RefreshUnitMapAndVision, 0x8019FA1 +SET_FUNC RefreshTrapFogVision, 0x801A175 +SET_FUNC RefreshTrapHiddenStates, 0x801A1A1 +SET_FUNC RefreshEntityMaps, 0x801A1F5 +SET_FUNC GetTerrainNameString, 0x801A241 +SET_FUNC GetTerrainHealAmount, 0x801A259 +SET_FUNC GetTerrainSomething, 0x801A269 +SET_FUNC RevertMapChangesById, 0x801A2ED +SET_FUNC FillMovementMapForUnit, 0x801A38D +SET_FUNC FillMovementMapForUnitAndMovement, 0x801A3CD +SET_FUNC MapMovementFillMovementFromUnit, 0x801A409 +SET_FUNC MapRangeFillMovementFromPosition, 0x801A43D +SET_FUNC MapMovementFillMovementFromPosition, 0x801A46D +SET_FUNC MapFillMovementFromUnitAt, 0x801A49D +SET_FUNC SetMovCostTable, 0x801A4CD +SET_FUNC MapFillMovement, 0x801A4ED +SET_FUNC GenerateMovementInstructionsToPoint, 0x801A641 +SET_FUNC ProcessUnitMovement, 0x801A82D +SET_FUNC MapMovementMarkMovementEdges, 0x801A8E5 +SET_FUNC MapMarkMovementEdges, 0x801A9D1 +SET_FUNC MapAddInRange, 0x801AABD +SET_FUNC MapSetInRange, 0x801ABC1 +SET_FUNC FillMapAttackRangeForUnit, 0x801ACBD +SET_FUNC FillRangeMapByRangeMask, 0x801B461 +SET_FUNC FillMapStaffRangeForUnit, 0x801B619 +SET_FUNC FillRangeMapForDangerZone, 0x801B811 +SET_FUNC MapSetInMagicSealedRange, 0x801B951 +SET_FUNC SetSubjectMap, 0x801B999 +SET_FUNC MapIncInBoundedRange, 0x801B9A5 +SET_FUNC GetCurrentMovCostTable, 0x801B9E5 +SET_FUNC Loop6C_WaitForSelectPress, 0x801BA59 +SET_FUNC DebugMenu_MapIdle, 0x801BB41 +SET_FUNC DebugMenu_MapEffect, 0x801BB55 +SET_FUNC DebugMapMenu_DisplayInfoDraw, 0x801BCE5 +SET_FUNC DebugMapMenu_DisplayInfoIdle, 0x801BD59 +SET_FUNC DebugMapMenu_DisplayInfoEffect, 0x801BDA1 +SET_FUNC DebugMenu_WeatherDraw, 0x801BDA5 +SET_FUNC DebugMenu_WeatherIdle, 0x801BE29 +SET_FUNC DebugMenu_WeatherEffect, 0x801BEFD +SET_FUNC DebugMenu_ClearDraw, 0x801BF01 +SET_FUNC DebugMenu_ClearIdle, 0x801BF6D +SET_FUNC DebugMenu_ClearEffect, 0x801C015 +SET_FUNC DebugMenu_ErasedEffect, 0x801C019 +SET_FUNC DEBUGONLY_Startup, 0x801C091 +SET_FUNC UNUSED_StartupDebugMenu_WorldMapEffect, 0x801C1DD +SET_FUNC UNUSED_StartupDebugMenu_ChapterSelectIdle, 0x801C225 +SET_FUNC UNUSED_StartupDebugMenu_ChapterSelectEffect, 0x801C249 +SET_FUNC StartupDebugMenu_InitializeFileEffect, 0x801C371 +SET_FUNC DebugMenu_FogDraw, 0x801C3D5 +SET_FUNC DebugMenu_FogIdle, 0x801C449 +SET_FUNC DebugMenu_FogEffect, 0x801C4B1 +SET_FUNC StartupDebugMenu_ReleaseEntryEffect, 0x801C4B5 +SET_FUNC DebugMenu_GNightEffect, 0x801C4C1 +SET_FUNC DebugChargeMenu_Draw, 0x801C4D1 +SET_FUNC DebugChargeMenu_Idle, 0x801C589 +SET_FUNC PlayerPhase_Suspend, 0x801C895 +SET_FUNC HandlePlayerCursorMovement, 0x801C8AD +SET_FUNC CanShowUnitStatScreen, 0x801C929 +SET_FUNC PlayerPhase_MainIdle, 0x801C941 +SET_FUNC DisplayUnitEffectRange, 0x801CB71 +SET_FUNC PlayerPhase_InitUnitMovementSelect, 0x801CC1D +SET_FUNC DisplayActiveUnitEffectRange, 0x801CC7D +SET_FUNC PlayerPhase_DisplayDangerZone, 0x801CCB5 +SET_FUNC PlayerPhase_RangeDisplayIdle, 0x801CD1D +SET_FUNC PlayerPhase_CancelAction, 0x801CFF1 +SET_FUNC PlayerPhase_BackToMove, 0x801D009 +SET_FUNC PlayerPhase_PreAction, 0x801D085 +SET_FUNC TryMakeCantoUnit, 0x801D245 +SET_FUNC MaybeRunPostActionEvents, 0x801D301 +SET_FUNC EnsureCameraOntoActiveUnitPosition, 0x801D31D +SET_FUNC PlayerPhase_ApplyUnitMovement, 0x801D471 +SET_FUNC GetUnitSelectionValueThing, 0x801D51D +SET_FUNC CanMoveActiveUnitTo, 0x801D5A9 +SET_FUNC PlayerPhase_DisplayUnitMovement, 0x801D625 +SET_FUNC PlayerPhase_WaitForUnitMovement, 0x801D64D +SET_FUNC PlayerPhase_ResumeRangeDisplay, 0x801D669 +SET_FUNC PlayerPhase_ReloadGameGfx, 0x801D6FD +SET_FUNC MakeMoveunitForActiveUnit, 0x801D70D +SET_FUNC ClearActiveUnit, 0x801D75D +SET_FUNC ASMC_801D7E8, 0x801D7E9 +SET_FUNC PlayerPhase_RangeDisplayIdle_ForceAPress, 0x801D819 +SET_FUNC Load6CRangeDisplaySquareGfx, 0x801D89D +SET_FUNC Loop6C_MLVCHC, 0x801D8ED +SET_FUNC Setup6CRangeDisplayGfx, 0x801D92D +SET_FUNC Loop6C_MoveLimitView, 0x801D9DD +SET_FUNC DestructMoveLimitView, 0x801DA61 +SET_FUNC DisplayMoveRangeGraphics, 0x801DA99 +SET_FUNC HideMoveRangeGraphics, 0x801DACD +SET_FUNC PlayerPhase_HandleAutoEnd, 0x801DBA5 +SET_FUNC GetSomeFacingDirection, 0x801DBD5 +SET_FUNC NewMoveUnitForUnitBeingRescued, 0x801DC01 +SET_FUNC Loop6C_KOIDO, 0x801DC3D +SET_FUNC Make6CKOIDO, 0x801DC7D +SET_FUNC Make6CKOIDOAMM, 0x801DCD1 +SET_FUNC Destruct6CBMXFADE, 0x801DDA9 +SET_FUNC StartBMXFADE, 0x801DDC5 +SET_FUNC StartBlockingBMXFADE, 0x801DDF1 +SET_FUNC BMXFADEExists, 0x801DE19 +SET_FUNC GetPlayerStartCursorPosition, 0x801DE31 +SET_FUNC GetEnemyStartCursorPosition, 0x801DE89 +SET_FUNC ADJUSTFROMXI_MoveCameraOnSomeUnit, 0x801DF65 +SET_FUNC HandleNewItemGetFromDrop, 0x801E099 +SET_FUNC SendToConvoyMenu_Draw, 0x801E139 +SET_FUNC MenuCommand_DrawExtraItem, 0x801E145 +SET_FUNC SendToConvoyMenu_NormalEffect, 0x801E189 +SET_FUNC FillWarpRangeMap, 0x801E34D +SET_FUNC ForceMenuItemPanel, 0x801E685 +SET_FUNC UpdateMenuItemPanel, 0x801E749 +SET_FUNC EndMenuItemPanel, 0x801EA55 +SET_FUNC StartUnitSwapAnimation, 0x801EC11 +SET_FUNC UnitSwapAnimationExists, 0x801EC49 +SET_FUNC LoadPhaseIntroGraphics, 0x801F2CD +SET_FUNC ChangeActiveUnitFacing, 0x801F50D +SET_FUNC GasTrapEffectGfx_Setup, 0x801F541 +SET_FUNC StartGasTrapEffectGfxMaybe, 0x801F601 +SET_FUNC MineFireEffectGfx_Setup, 0x801F631 +SET_FUNC NewFireTrapEffectGfx, 0x801F68D +SET_FUNC NewMineTrapEffectGfx, 0x801F6BD +SET_FUNC StartLightArrowTrapGfx, 0x801F845 +SET_FUNC BgMoverProc_Update, 0x801FD91 +SET_FUNC BeginLightRuneMapAnim, 0x8021685 +SET_FUNC BeginMineMapAnim, 0x8022301 +SET_FUNC MapMenuCommnd_EndEffect, 0x80225F9 +SET_FUNC MapMenuCommand_UnitEffect, 0x802260D +SET_FUNC MapMenuCommnd_StatusEffect, 0x8022651 +SET_FUNC MapMenuCommnd_GuideEffect, 0x80226E5 +SET_FUNC MapMenuCommand_DangerZoneUnusedEffect, 0x80226F9 +SET_FUNC EffectWait, 0x8022739 +SET_FUNC GenericSelection_BackToUM, 0x8022749 +SET_FUNC GenericSelection_BackToUM_CamWait, 0x802282D +SET_FUNC RescueUsability, 0x80228A5 +SET_FUNC RescueEffect, 0x80228DD +SET_FUNC RescueSelection_OnSelect, 0x80228FD +SET_FUNC DropUsability, 0x8022911 +SET_FUNC DropEffect, 0x8022949 +SET_FUNC DropSelection_OnSelect, 0x8022969 +SET_FUNC TakeUsability, 0x802298D +SET_FUNC TakeEffect, 0x80229D5 +SET_FUNC GiveUsability, 0x80229F5 +SET_FUNC GiveEffect, 0x8022A3D +SET_FUNC MakeUnitRescueTransferGraphics, 0x8022A5D +SET_FUNC TakeSelection_OnSelect, 0x8022A91 +SET_FUNC GiveSelection_OnSelect, 0x8022AE1 +SET_FUNC DisplayUnitStandingAttackRange, 0x8022C31 +SET_FUNC HideMoveRangeGraphicsWrapper, 0x8022C99 +SET_FUNC DanceCommandUsability, 0x8023195 +SET_FUNC ItemCommandEffect, 0x80232E9 +SET_FUNC ItemSelectMenu_TextDraw, 0x8023351 +SET_FUNC ItemSelectMenu_Usability, 0x80233D9 +SET_FUNC ItemSelectMenu_Effect, 0x8023429 +SET_FUNC nullsub_25, 0x80234A9 +SET_FUNC FillBallistaRange, 0x80239CD +SET_FUNC StaffCommandUsability, 0x8023A55 +SET_FUNC StaffCommandEffect, 0x8023ACD +SET_FUNC StaffItemSelect_Usability, 0x8023B91 +SET_FUNC StaffItemSelect_Effect, 0x8023BC9 +SET_FUNC StaffItemSelect_TextDraw, 0x8023C09 +SET_FUNC StaffItemSelect_OnHover, 0x8023C15 +SET_FUNC PickCommandUsability, 0x8023E7D +SET_FUNC SupplyUsability, 0x8023F65 +SET_FUNC ArenaCommandUsability, 0x80240ED +SET_FUNC ArenaCommandEffect, 0x8024145 +SET_FUNC StealCommandUsability, 0x802418D +SET_FUNC StealCommandEffect, 0x80241DD +SET_FUNC StealTargetSelection_OnInit, 0x802421D +SET_FUNC StealItemMenuCommand_Usability, 0x8024305 +SET_FUNC StealItemMenuCommand_Draw, 0x8024349 +SET_FUNC StealItemMenuCommand_Effect, 0x802439D +SET_FUNC RescueSelection_OnConstruction, 0x802467D +SET_FUNC RescueSelection_OnChange, 0x802469D +SET_FUNC DropSelection_OnConstruction, 0x80246C1 +SET_FUNC TradeTargetSelection_OnInit, 0x8024769 +SET_FUNC nullsub_27, 0x8024885 +SET_FUNC RideCommandUsability, 0x80248C5 +SET_FUNC RideCommandEffect, 0x8024921 +SET_FUNC AttackCommandUsability, 0x80249AD +SET_FUNC AttackBallistaCommandUsability, 0x8024A29 +SET_FUNC nullsub_26, 0x8024BF5 +SET_FUNC GetPhaseAbleUnitCount, 0x8024CED +SET_FUNC AreAllegiancesAllied, 0x8024D8D +SET_FUNC AreAllegiancesEqual, 0x8024DA5 +SET_FUNC GetCurrentPhase, 0x8024DBD +SET_FUNC IsNotEnemyPhaseMaybe, 0x8024DD1 +SET_FUNC GetPartyGoldAmount, 0x8024DE9 +SET_FUNC SetPartyGoldAmount, 0x8024E05 +SET_FUNC AddPartyGoldAmount, 0x8024E21 +SET_FUNC ForEachUnitInRange, 0x8024EAD +SET_FUNC ForEachPosInRange, 0x8024F19 +SET_FUNC ForEachAdjacentUnit, 0x8024F71 +SET_FUNC ForEachAdjacentPosition, 0x8024FA5 +SET_FUNC ForEachPosIn12Range, 0x8025039 +SET_FUNC ForEachUnitInMagBy2Range, 0x802506D +SET_FUNC TryAddTrapsToTargetList, 0x80250BD +SET_FUNC AddUnitToTargetListIfNotAllied, 0x802517D +SET_FUNC MakeTargetListForWeapon, 0x80251B5 +SET_FUNC TryAddUnitToTradeTargetList, 0x802521D +SET_FUNC MakeTradeTargetList, 0x80252D1 +SET_FUNC TryAddUnitToRescueTargetList, 0x8025345 +SET_FUNC MakeRescueTargetList, 0x80253B5 +SET_FUNC TryAddToDropTargetList, 0x80253E9 +SET_FUNC MakeDropTargetList, 0x8025441 +SET_FUNC TryAddRescuedUnitToTakeTargetList, 0x8025475 +SET_FUNC MakeTakeTargetList, 0x80254E1 +SET_FUNC MakeTargetListForSupport, 0x8025645 +SET_FUNC AddUnitToTargetListIfAllied, 0x80256F1 +SET_FUNC FillBallistaRangeMaybe, 0x8025729 +SET_FUNC TryAddClosedDoorToTargetList, 0x8025795 +SET_FUNC TryAddBridgeToTargetList, 0x80257D5 +SET_FUNC MakeTargetListForDoorAndBridges, 0x8025815 +SET_FUNC MakeTargetListForPick, 0x80258A5 +SET_FUNC MakeTerrainHealTargetList, 0x8025905 +SET_FUNC MakePoisonDamageTargetList, 0x80259ED +SET_FUNC MakeGorgonEggHatchTargetList, 0x8025A65 +SET_FUNC AddAsTarget_IfCanStealFrom, 0x8025BA1 +SET_FUNC MakeTargetListForSteal, 0x8025C01 +SET_FUNC AddAsTarget_IfPositionCleanForSummon, 0x8025C35 +SET_FUNC ListSummonTargets, 0x8025CA5 +SET_FUNC TryAddUnitToHealTargetList, 0x8025E29 +SET_FUNC MakeTargetListForAdjacentHeal, 0x8025E7D +SET_FUNC MakeTargetListForRangedHeal, 0x8025EB1 +SET_FUNC AddToTargetListIfNotAllied, 0x8025EFD +SET_FUNC MakeTargetListForFuckingNightmare, 0x8025F45 +SET_FUNC TryAddUnitToRestoreTargetList, 0x8025F99 +SET_FUNC MakeTargetListForRestore, 0x8025FE9 +SET_FUNC TryAddUnitToBarrierTargetList, 0x802601D +SET_FUNC MakeTargetListForBarrier, 0x802606D +SET_FUNC TryAddUnitToRescueStaffTargetList, 0x80260A1 +SET_FUNC MakeTargetListForRescueStaff, 0x80260D9 +SET_FUNC TryAddUnitToSilenceTargetList, 0x8026101 +SET_FUNC TryAddUnitToSleepTargetList, 0x802614D +SET_FUNC TryAddUnitToBerzerkTargetList, 0x8026199 +SET_FUNC MakeTargetListForSilence, 0x80261E5 +SET_FUNC MakeTargetListForSleep, 0x802620D +SET_FUNC MakeTargetListForBerserk, 0x8026235 +SET_FUNC TryAddUnitToWarpTargetList, 0x802625D +SET_FUNC MakeTargetListForWarp, 0x8026295 +SET_FUNC MakeTargetListForUnlock, 0x80262C9 +SET_FUNC TryAddUnitToHammerneTargetList, 0x80262FD +SET_FUNC MakeTargetListForHammerne, 0x8026355 +SET_FUNC MakeTargetListForLatona, 0x8026389 +SET_FUNC MakeTargetListForMine, 0x80264F1 +SET_FUNC MakeTargetListForLightRune, 0x8026581 +SET_FUNC TryAddUnitToDanceRingTargetList, 0x80265B5 +SET_FUNC MakeTargetListForDanceRing, 0x80265E5 +SET_FUNC LoadMapSpritePalettes, 0x8026629 +SET_FUNC SMS_Init, 0x8026689 +SET_FUNC SMS_80266F0, 0x80266F1 +SET_FUNC SMS_SomethingGmapUnit, 0x802677D +SET_FUNC SMS_RegisterUsage, 0x80267FD +SET_FUNC SomethingSMS_16x16_0, 0x80268C9 +SET_FUNC SomethingSMS_16x16, 0x802695D +SET_FUNC SomethingSMS_16x32, 0x8026A39 +SET_FUNC SomethingSMS_32x32, 0x8026B29 +SET_FUNC SMS_SyncDirect, 0x8026F2D +SET_FUNC SMS_SyncIndirect, 0x8026F95 +SET_FUNC GetUnitBattleMapSpritePaletteIndex, 0x802713D +SET_FUNC GetUnitMapSpritePaletteIndex, 0x8027169 +SET_FUNC SMS_UpdateFromGameData, 0x80271A1 +SET_FUNC SMS_GetNewInfoStruct, 0x802736D +SET_FUNC SMS_DisplayAllFromInfoStructs, 0x80273A5 +SET_FUNC DisplayChapterTileMarker, 0x8027531 +SET_FUNC DisplayUnitAdditionalBlinkingIcons, 0x80275E9 +SET_FUNC ResetMapSpriteHoverTimer, 0x8027A41 +SET_FUNC HandleMapSpriteCursorHover, 0x8027A4D +SET_FUNC SMS_DisplayOne, 0x8027F29 +SET_FUNC HideUnitSMS, 0x802810D +SET_FUNC ShowUnitSMS, 0x8028131 +SET_FUNC GetUnitStandingSpriteDataFlagThing, 0x8028145 +SET_FUNC GetROMUnitSupportCount, 0x80281C9 +SET_FUNC GetROMUnitSupportingId, 0x80281DD +SET_FUNC GetUnitSupportingUnit, 0x80281F5 +SET_FUNC GetSupportLevelBySupportIndex, 0x802823D +SET_FUNC GetUnitTotalSupportLevels, 0x8028265 +SET_FUNC AddSupportPoints, 0x8028291 +SET_FUNC CanUnitSupportCommandWith, 0x8028311 +SET_FUNC GetUnitStartingSupportValue, 0x802838D +SET_FUNC GetSupportDataIdForOtherUnit, 0x80283A9 +SET_FUNC ClearUnitSupports, 0x80283E1 +SET_FUNC ProcessSupportGains, 0x8028435 +SET_FUNC GetSupportBonusEntryPtr, 0x802852D +SET_FUNC StoreAddedAffinityBonusesForSupportLevel, 0x8028551 +SET_FUNC GetUnitSupportBonuses, 0x80285B1 +SET_FUNC CanUnitsStillSupportThisChapter, 0x802878D +SET_FUNC SwapUnitStats, 0x80287D5 +SET_FUNC CanUnitUseItem, 0x8028871 +SET_FUNC ItemEffect_Call, 0x8028E61 +SET_FUNC IsGeneratedTargetListEmpty, 0x8029069 +SET_FUNC CanUseHealingItem, 0x802907D +SET_FUNC CanUsePureWater, 0x80290A1 +SET_FUNC CanUseTorch, 0x80290B9 +SET_FUNC CanUseAntidote, 0x80290E5 +SET_FUNC CanUseChestKey, 0x80290FD +SET_FUNC CanUseDoorKey, 0x8029139 +SET_FUNC CanOpenBridge, 0x802914D +SET_FUNC CanUseLockpick, 0x8029161 +SET_FUNC CanUsePromotionItem, 0x80291A9 +SET_FUNC CanUseStatBooster, 0x802940D +SET_FUNC CanUseJunaFruit, 0x8029505 +SET_FUNC EndItemEffectSelectionThing, 0x802951D +SET_FUNC GenericStaffSelection_OnSelect, 0x8029551 +SET_FUNC PrepareTargetSelectionForRescueStaff, 0x8029569 +SET_FUNC SetupTargetSelectionForGenericStaff, 0x80295A9 +SET_FUNC WarpTargetPosSelect_Init, 0x80295E9 +SET_FUNC WarpTargetPosSelect_Loop, 0x802969D +SET_FUNC WarpTargetPosSelect_Confirm, 0x80297D1 +SET_FUNC WarpTargetPosSelect_Cancel, 0x802980D +SET_FUNC WarpTargetPosSelect_Destruct, 0x8029841 +SET_FUNC WarpTargetSelection_OnSelect, 0x8029855 +SET_FUNC SetupWarpTargetSelection, 0x802987D +SET_FUNC PrepareTargetSelectionForMineAndLightRune, 0x80298F1 +SET_FUNC HammerneTargetSelection_OnSelect, 0x8029945 +SET_FUNC SetupHammerneUseSelection, 0x80299B9 +SET_FUNC HammerneTargetSelection_OnChange, 0x8029A09 +SET_FUNC HammerneTargetSelection_OnInit, 0x8029A2D +SET_FUNC nullsub_24, 0x8029A49 +SET_FUNC PrepareTargetSelectionForHeal, 0x8029B8D +SET_FUNC PrepareTargetSelectionForRestoreStaff, 0x8029BC9 +SET_FUNC PrepareTargetSelectionForOffensiveStaff, 0x8029CA1 +SET_FUNC GenericSelection_DeleteBBAndBG, 0x8029D29 +SET_FUNC TorchTargetPosSelect_Init, 0x8029D99 +SET_FUNC TorchTargetSelection_Loop, 0x8029DF1 +SET_FUNC NewTorchStaffSelection, 0x8029ED9 +SET_FUNC CanUnitUseItemPrepScreen, 0x8029F01 +SET_FUNC BATTLE_SyncMapFromBattle, 0x802A2F5 +SET_FUNC SimulateBattle, 0x802A319 +SET_FUNC SimulateBattleBallista, 0x802A365 +SET_FUNC SetupBattleStructFromUnitAndWeapon, 0x802A401 +SET_FUNC RollRNIfBattleStarted, 0x802A52D +SET_FUNC Roll2RNIfBattleStarted, 0x802A559 +SET_FUNC InitBattleUnitFromUnit, 0x802A585 +SET_FUNC CopyUnitToBattleStructRawStats, 0x802A669 +SET_FUNC WriteBattleStructTerrainBonuses, 0x802A6A1 +SET_FUNC BattleSetupTerrainData, 0x802A6DD +SET_FUNC SetupBattleWeaponData, 0x802A731 +SET_FUNC SetupBattleBallistaWeaponData, 0x802A919 +SET_FUNC FillPreBattleStats, 0x802A95D +SET_FUNC FillBattleStats, 0x802A9A9 +SET_FUNC BattleApplyMiscBonuses, 0x802A9D1 +SET_FUNC BattleLoadDefense, 0x802AA45 +SET_FUNC LoadRawDefense, 0x802AAA5 +SET_FUNC BattleLoadAttack, 0x802AABD +SET_FUNC BattleLoadAS, 0x802AB75 +SET_FUNC BattleLoadHit, 0x802ABAD +SET_FUNC BattleLoadAvoid, 0x802ABE5 +SET_FUNC BattleLoadCrit, 0x802AC19 +SET_FUNC BattleLoadDodge, 0x802AC55 +SET_FUNC ComputeHit, 0x802AC61 +SET_FUNC ComputeCrit, 0x802AC91 +SET_FUNC ComputeLethalityChance, 0x802ACF9 +SET_FUNC BattleApplySRankBonuses, 0x802AD55 +SET_FUNC BattleComputeBuffStatus, 0x802AD91 +SET_FUNC ComputeSpecialWeapons, 0x802ADCD +SET_FUNC ClearRounds, 0x802AE91 +SET_FUNC MakeBattle, 0x802AED1 +SET_FUNC GetBattleUnitPointers, 0x802AF7D +SET_FUNC BattleCheckDoubling, 0x802AF91 +SET_FUNC MakeBattleRound, 0x802B019 +SET_FUNC GetBattleHitCount, 0x802B081 +SET_FUNC BattleCheckBrave, 0x802B095 +SET_FUNC CheckForTriangleAttack, 0x802B0CD +SET_FUNC UpdateBattleStats, 0x802B1C5 +SET_FUNC RollForSureShot, 0x802B1F5 +SET_FUNC RollForPierce, 0x802B279 +SET_FUNC RollForGreatShield, 0x802B2E9 +SET_FUNC RollForLethality, 0x802B38D +SET_FUNC NullifyBattleDamageIfUsingStone, 0x802B3D1 +SET_FUNC GenerateCurrentRoundData, 0x802B3ED +SET_FUNC UpdateBattleTriangleAttackData, 0x802B579 +SET_FUNC CurrentRound_ComputeWeaponEffects, 0x802B601 +SET_FUNC MakeNextBattleHitRound, 0x802B83D +SET_FUNC GetStatIncrease, 0x802B9A1 +SET_FUNC GetAutoleveledStat, 0x802B9C5 +SET_FUNC CanUnitNotLevelUp, 0x802B9F5 +SET_FUNC CheckForLevelUp, 0x802BA29 +SET_FUNC CheckForLevelUpCaps, 0x802BF25 +SET_FUNC SaveUnitsFromBattle, 0x802C029 +SET_FUNC GetBattleNewWExp, 0x802C0B5 +SET_FUNC BattleUnit_DidWRankGoUp, 0x802C1B1 +SET_FUNC UpdateUnitFromBattleUnit, 0x802C1ED +SET_FUNC UpdateBallistaUsesFromBattle, 0x802C301 +SET_FUNC NullSomeStuff, 0x802C335 +SET_FUNC GetUnitEffectiveLevel, 0x802C345 +SET_FUNC GetUnitEffectivePowerLevel, 0x802C399 +SET_FUNC ComputeExpFromBattle, 0x802C535 +SET_FUNC HandleItemExpGain, 0x802C5B9 +SET_FUNC GetBattleUnitStaffExp, 0x802C639 +SET_FUNC ActiveBattleUnitAdd10Exp, 0x802C6A1 +SET_FUNC SetupBattleUnitEquippedWeapon, 0x802C6ED +SET_FUNC BattleReverseWTriangeEffect, 0x802C76D +SET_FUNC BattleApplyWeaponTriangle, 0x802C7C1 +SET_FUNC DoSomeBattleWeaponStuff, 0x802C845 +SET_FUNC MakeSnagBattleTarget, 0x802C8C5 +SET_FUNC FillSnagBattleStats, 0x802C949 +SET_FUNC SaveSnagWallFromBattle, 0x802C985 +SET_FUNC BeginBattleAnimations, 0x802CA15 +SET_FUNC nullsub_11, 0x802CAF9 +SET_FUNC SetupSubjectBattleUnitForStaff, 0x802CB25 +SET_FUNC SetupTargetBattleUnitForStaff, 0x802CBC9 +SET_FUNC UpdateActiveUnitFromBattle, 0x802CC1D +SET_FUNC FinishUp10ExpBattle, 0x802CC39 +SET_FUNC FinishUpItemBattle, 0x802CC55 +SET_FUNC GetStaffAccuracy, 0x802CCDD +SET_FUNC IsCurrentBattleTriangleAttack, 0x802CE89 +SET_FUNC BattleUnit_DidWeaponBreak, 0x802CE9D +SET_FUNC CurrentRound_ComputeDamage, 0x802CEC9 +SET_FUNC TradeMenu_802D2E0, 0x802D2E1 +SET_FUNC TradeMenu_InitTextHandles, 0x802D475 +SET_FUNC TradeMenu_RefreshItemText, 0x802D4A9 +SET_FUNC TradeMenu_InitGraphics, 0x802D795 +SET_FUNC TradeMenu_802D820, 0x802D821 +SET_FUNC TradeMenu_802D834, 0x802D835 +SET_FUNC TradeMenu_802D918, 0x802D919 +SET_FUNC TradeMenu_802D980, 0x802D981 +SET_FUNC TradeMenu_802DAAC, 0x802DAAD +SET_FUNC TradeMenu_802DAFC, 0x802DAFD +SET_FUNC TradeMenu_802DB48, 0x802DB49 +SET_FUNC StartTradeMenu, 0x802DD6D +SET_FUNC TradeMenu_802E140, 0x802E141 +SET_FUNC ResetTraps, 0x802E1C9 +SET_FUNC GetTrapAt, 0x802E1F1 +SET_FUNC GetSpecificTrapAt, 0x802E24D +SET_FUNC AddTrap, 0x802E2B9 +SET_FUNC AddTrapExt, 0x802E2E1 +SET_FUNC RemoveTrap, 0x802E2FD +SET_FUNC AddFireTrap, 0x802E315 +SET_FUNC AddGasTrap, 0x802E331 +SET_FUNC AddArrowTrap, 0x802E351 +SET_FUNC AddTrap8, 0x802E389 +SET_FUNC AddTrap9, 0x802E399 +SET_FUNC AddSnagsAndWalls, 0x802E3A9 +SET_FUNC ApplyTrapMapChanges, 0x802E431 +SET_FUNC UpdateAllLightRunes, 0x802E471 +SET_FUNC GetTrapExt1At, 0x802E4AD +SET_FUNC GetMapChangesPointerById, 0x802E4F5 +SET_FUNC GetMapChangesIdAt, 0x802E531 +SET_FUNC ApplyMapChangesById, 0x802E58D +SET_FUNC AddMapChange, 0x802E5F9 +SET_FUNC RemoveMapChange, 0x802E60D +SET_FUNC AreMapChangeTriggered, 0x802E639 +SET_FUNC HideIfUnderRoof, 0x802E661 +SET_FUNC UpdateUnitsUnderRoof, 0x802E691 +SET_FUNC AddToTargetListFromPos, 0x802E6F1 +SET_FUNC AddArrowTrapTargetsToTargetList, 0x802E711 +SET_FUNC MakeTargetListForTurnTrapDamage, 0x802E83D +SET_FUNC CountDownTraps, 0x802E9A9 +SET_FUNC ResetCounterForCountedDownTraps, 0x802E9D1 +SET_FUNC AddLightRune, 0x802EA59 +SET_FUNC RemoveLightRune, 0x802EA91 +SET_FUNC HandleTrapDecay, 0x802EAC1 +SET_FUNC BattleSomethingTrapChangeTerrain, 0x802EB11 +SET_FUNC NullAllLightRunesTerrain, 0x802EB51 +SET_FUNC GetTrap, 0x802EB8D +SET_FUNC ExecStandardHeal, 0x802EB99 +SET_FUNC ExecRestore, 0x802EC21 +SET_FUNC GetRescueStaffeePosition, 0x802ECD1 +SET_FUNC ExecRescueStaff, 0x802EEF9 +SET_FUNC ExecWarpStaff, 0x802EFAD +SET_FUNC ExecStatusStaff, 0x802F011 +SET_FUNC ExecFortify, 0x802F155 +SET_FUNC ExecUnlock, 0x802F275 +SET_FUNC ExecHammerne, 0x802F2B5 +SET_FUNC ExecLatona, 0x802F30D +SET_FUNC ExecSomeSelfHeal, 0x802F381 +SET_FUNC ApplyStatBoosterAndGetMessageId, 0x802F809 +SET_FUNC ExecStatBooster, 0x802F915 +SET_FUNC ExecItemMine, 0x802FA4D +SET_FUNC ExecTorchStaff, 0x802FB89 +SET_FUNC ActionStaffDoorChestUseItem, 0x802FC49 +SET_FUNC ActionPick, 0x802FFB5 +SET_FUNC SetupGameVBlankProc_TileAnimations, 0x80300F5 +SET_FUNC GameVBlankProc_Destructor, 0x8030139 +SET_FUNC GameVBlankProc_Loop, 0x8030145 +SET_FUNC StartGameVBlankProc, 0x8030151 +SET_FUNC EndGameVBlankProc, 0x8030175 +SET_FUNC LockGameGraphicsLogic, 0x8030185 +SET_FUNC UnlockGameGraphicsLogic, 0x80301B9 +SET_FUNC SetupOAMSpliceForWeather, 0x80301F5 +SET_FUNC nullsub_12, 0x8030711 +SET_FUNC SetupWeatherGraphics_Maybe, 0x8030B35 +SET_FUNC UpdateWeatherGraphics, 0x8030BA5 +SET_FUNC SetupWeather, 0x8030C7D +SET_FUNC GetTextSpeed, 0x8030C95 +SET_FUNC ResetGameState, 0x8030DD9 +SET_FUNC StartChapter, 0x8030E05 +SET_FUNC GameControl_8030FE4, 0x8030FE5 +SET_FUNC LoadGameCoreGfx2, 0x8031179 +SET_FUNC ReloadGameCoreGraphics, 0x80311A9 +SET_FUNC StartMapMain, 0x80311BD +SET_FUNC EndBMAPMAIN, 0x80311F1 +SET_FUNC ChapterEndUnitCleanup, 0x8031215 +SET_FUNC MapMain_ResumeFromPhaseIdle, 0x8031301 +SET_FUNC MapMain_ResumeFromAction, 0x803133D +SET_FUNC MapMain_ResumeFromBerserkPhase, 0x80313BD +SET_FUNC MapMain_ResumeFromArena, 0x80313F9 +SET_FUNC MapMain_ResumeFromPhaseSwitch, 0x8031475 +SET_FUNC GetTacticianNameString, 0x80314E5 +SET_FUNC SetTacticianName, 0x80314ED +SET_FUNC GetConvoyItemArray, 0x8031501 +SET_FUNC ClearConvoyItems, 0x8031509 +SET_FUNC ShrinkConvoyItemList, 0x803152D +SET_FUNC GetConvoyItemCount, 0x8031571 +SET_FUNC AddItemToConvoy, 0x8031595 +SET_FUNC GetConvoyItemSlot, 0x80315E5 +SET_FUNC HasConvoyAccess, 0x803161D +SET_FUNC InitUnitStack, 0x80316C5 +SET_FUNC PushUnit, 0x80316E1 +SET_FUNC LoadPlayerUnitsFromUnitStack, 0x8031715 +SET_FUNC LoadPlayerUnitsFromUnitStack2, 0x8031755 +SET_FUNC PrepareArenaStruct, 0x8031795 +SET_FUNC PrepareArena, 0x8031875 +SET_FUNC PrepareArena2, 0x8031891 +SET_FUNC GetUnitBestWRankType, 0x80318B5 +SET_FUNC GetClassBestWRankType, 0x80318E1 +SET_FUNC IsWeaponMagic, 0x80319D9 +SET_FUNC GetNearLevel, 0x80319F9 +SET_FUNC GetUnitArenaWeight, 0x8031A15 +SET_FUNC LoadArenaOpponentStruct, 0x8031A85 +SET_FUNC LoadArenaWeapons, 0x8031B71 +SET_FUNC GetArenaBetterItem, 0x8031BC1 +SET_FUNC PrepareBalancedArenaFight, 0x8031C11 +SET_FUNC AdjustArenaOpponentPower, 0x8031D59 +SET_FUNC CouldUnitUseAnyWeapon, 0x8031F51 +SET_FUNC StoreRNStateToActionStruct, 0x8031FED +SET_FUNC LoadRNStateFromActionStruct, 0x8031FFD +SET_FUNC ApplyUnitAction, 0x803200D +SET_FUNC ActionRescue, 0x8032165 +SET_FUNC ActionDrop, 0x80321E1 +SET_FUNC ActionVisitAndSieze, 0x8032271 +SET_FUNC ActionCombat, 0x803229D +SET_FUNC ActionArena, 0x8032345 +SET_FUNC ActionDance, 0x8032359 +SET_FUNC ActionTalk, 0x80323A9 +SET_FUNC ActionSupport, 0x80323D5 +SET_FUNC ActionSteal, 0x803247D +SET_FUNC ActionSummon, 0x8032555 +SET_FUNC ActionSummonDK, 0x8032581 +SET_FUNC SpriteJumpAnimation_Loop, 0x80325AD +SET_FUNC SpriteJumpAnimation_ExecAnyTrap, 0x8032659 +SET_FUNC SpriteJumpAnimation_Cleanup, 0x8032665 +SET_FUNC DropRescuedUnitIfDead, 0x8032675 +SET_FUNC KillUnitIfDefeatedBy, 0x8032729 +SET_FUNC KillUnitIfNoHealth, 0x8032751 +SET_FUNC BATTLE_GOTO1_IfNobodyIsDead, 0x8032775 +SET_FUNC DidUnitDie, 0x80327B5 +SET_FUNC BATTLE_ProbablyMakesTheDeadUnitDissapear, 0x80327C9 +SET_FUNC BATTLE_DeleteLinkedMOVEUNIT, 0x8032861 +SET_FUNC BATTLE_HandleUnitDeaths, 0x803286D +SET_FUNC BATTLE_HandleItemDrop, 0x80328D1 +SET_FUNC BATTLE_HandleActiveUnitDeath, 0x80329A1 +SET_FUNC MoveCursor_SetLastCursorPosition, 0x80329D9 +SET_FUNC MoveCursor_CutPath, 0x80329ED +SET_FUNC MoveCursor_AddMovePoint, 0x8032A95 +SET_FUNC MoveCursor_GetPointIndexForPosition, 0x8032B19 +SET_FUNC MoveCursor_AppendFromMoveBuffer, 0x8032B89 +SET_FUNC MoveCursor_FillMovementMapForEndPoint, 0x8032D31 +SET_FUNC MoveCursor_RecomputePath, 0x8032D75 +SET_FUNC MoveCursor_8032DA0, 0x8032DA1 +SET_FUNC GetPlayerLeaderUnitId, 0x8033259 +SET_FUNC CanCharacterBePrepMoved, 0x803374D +SET_FUNC InitPrepScreenUnitsAndCamera, 0x8033871 +SET_FUNC SALLYCURSOR6C_StartUnitSwap, 0x8033C11 +SET_FUNC CallCursorShop, 0x8033ED5 +SET_FUNC PrepScreenProc_LockGame, 0x80341D1 +SET_FUNC PrepScreenProc_HideEverythingAndUnlockGame, 0x8034201 +SET_FUNC ShrinkPlayerUnitList, 0x8034215 +SET_FUNC EndPrepScreen, 0x8034279 +SET_FUNC CanUnitUseVisit, 0x8034315 +SET_FUNC CanUnitUseSeize, 0x80343A9 +SET_FUNC CanUnitUseAttack, 0x8034429 +SET_FUNC CanActiveUnitUseRescue, 0x8034471 +SET_FUNC CanActiveUnitUseTrade, 0x803448D +SET_FUNC GetUnitCommandUseFlags, 0x80344A9 +SET_FUNC GetChapterDefinition, 0x8034619 +SET_FUNC GetChapterMapPointer, 0x8034641 +SET_FUNC GetChapterMapChangesPointer, 0x8034685 +SET_FUNC GetChapterEventDataPointer, 0x80346B1 +SET_FUNC IsDifficultMode, 0x8034705 +SET_FUNC NewUnitInfoWindow, 0x80347A9 +SET_FUNC UnitInfoWindow_PositionUnitName, 0x80347D5 +SET_FUNC UnitInfoWindow_DrawBase, 0x803483D +SET_FUNC GetUnitInfoWindowX, 0x80349D5 +SET_FUNC NewUnitInfoWindow_WithAllLines, 0x8034C19 +SET_FUNC DrawHammerneUnitInfoWindow, 0x8034E5D +SET_FUNC SetupUnitRescueWindow, 0x8035205 +SET_FUNC StartBottomHelpText, 0x8035709 +SET_FUNC EndBottomHelpText, 0x8035749 +SET_FUNC IsBottomHelpTextActive, 0x8035759 +SET_FUNC ExecSelfDamage, 0x803592D +SET_FUNC BattleForecase_SetupLabelText, 0x8036595 +SET_FUNC DrawUnitNameForBattleForecast, 0x80365E5 +SET_FUNC AddWeaponStatsAfterRound, 0x803666D +SET_FUNC BKSEL_SetupHitAndSuchStats, 0x80366A1 +SET_FUNC BKSEL_DrawStandard, 0x8036819 +SET_FUNC BKSEL_DrawDetailed, 0x8036A71 +SET_FUNC BKSEL_Draw, 0x8036CD1 +SET_FUNC BKSEL_InitGfx, 0x8036D9D +SET_FUNC BKSEL_Destructor, 0x8036E1D +SET_FUNC BKSEL_Display, 0x8036E2D +SET_FUNC MapEventEngineExists_, 0x80372D5 +SET_FUNC StartBattleForecast, 0x803730D +SET_FUNC MineFireTrap_DoSomeBWLStuffWhenKill, 0x80374F5 +SET_FUNC FireTrap_StartGfx, 0x8037511 +SET_FUNC MineTrap_StartGfx, 0x8037529 +SET_FUNC MineFireTrap_8037540, 0x8037541 +SET_FUNC MineFireTrap_80375A0, 0x80375A1 +SET_FUNC GetTriggeredTrapType, 0x80375E9 +SET_FUNC ExecTrap, 0x8037661 +SET_FUNC HandlePostActionTraps, 0x8037745 +SET_FUNC ExecTrapForActionTarget, 0x80377CD +SET_FUNC ExecTrap_QuietMaybe, 0x8037831 +SET_FUNC LoadTrapData, 0x8037841 +SET_FUNC LoadChapterBallistae, 0x8037911 +SET_FUNC AddGorgonEggTrap, 0x8037929 +SET_FUNC GetNonEmptyBallistaAt, 0x803795D +SET_FUNC GetBallistaItemAt, 0x803798D +SET_FUNC GetSomeBallistaItemAt, 0x80379D5 +SET_FUNC AddBallista, 0x8037A05 +SET_FUNC RideBallista, 0x8037A35 +SET_FUNC TryRemoveUnitFromBallista, 0x8037A6D +SET_FUNC IsBallista, 0x8037AA9 +SET_FUNC GetBallistaItemUses, 0x8037B11 +SET_FUNC GetCurrentPromotedLevelBonus, 0x8037B45 +SET_FUNC CanUnitSeize, 0x8037B65 +SET_FUNC PrepScreenProc_AddPostgameUnits, 0x8037D69 +SET_FUNC PrepScreenProc_TryAddUnit, 0x8037DDD +SET_FUNC PushGlobalTimer, 0x8038209 +SET_FUNC PopGlobalTimer, 0x803821D +SET_FUNC CpPhase_Init, 0x80396AD +SET_FUNC BskPhase_Init, 0x8039719 +SET_FUNC CpPhase_Cleanup, 0x8039779 +SET_FUNC CpOrder_Main, 0x8039789 +SET_FUNC BskOrder_Init, 0x80397B1 +SET_FUNC CpOrder_BuildUnitList, 0x8039859 +SET_FUNC GetUnitAiAttackPriority, 0x8039899 +SET_FUNC GetUnitAiPriority, 0x8039939 +SET_FUNC MakeAiUnitQueue, 0x80399B1 +SET_FUNC SortAiUnitQueue, 0x8039A51 +SET_FUNC CpOrder_End, 0x8039ABD +SET_FUNC CpDecide_Suspend, 0x8039AC9 +SET_FUNC CpDecide_Main, 0x8039B01 +SET_FUNC ClearAiDecision, 0x8039C01 +SET_FUNC AiSetDecision, 0x8039C21 +SET_FUNC AiUpdateDecision, 0x8039C65 +SET_FUNC AiMasterDecisionMaker, 0x8039CAD +SET_FUNC AiDecisionMaker_HealEscape, 0x8039D11 +SET_FUNC AiDecisionMaker_SpecialItems, 0x8039DC5 +SET_FUNC AiDecisionMaker_AiScript1, 0x8039DE1 +SET_FUNC AiDecisionMaker_AiScript2, 0x8039E2D +SET_FUNC AiTargetCursor_Main, 0x8039E89 +SET_FUNC StartAiTargetCursor, 0x8039ECD +SET_FUNC CpPerform_UpdateMapMusic, 0x8039EF5 +SET_FUNC CpPerform_MoveCameraOntoUnit, 0x8039F0D +SET_FUNC CpPerform_BeginUnitMovement, 0x8039FAD +SET_FUNC AiRefreshMap, 0x803A025 +SET_FUNC CpPerform_PerformCombat, 0x803A07D +SET_FUNC CpPerform_PerformEscape, 0x803A0F5 +SET_FUNC CpPerform_PerformSteal, 0x803A135 +SET_FUNC CpPerform_LootWait, 0x803A17D +SET_FUNC CpPerform_StaffWait, 0x803A205 +SET_FUNC CpPerform_ChestWait, 0x803A23D +SET_FUNC CpPerform_DanceWait, 0x803A271 +SET_FUNC CpPerform_TalkWait, 0x803A275 +SET_FUNC CpPerform_RideBallistaWait, 0x803A2B9 +SET_FUNC CpPerform_ExitBallistaWait, 0x803A2E1 +SET_FUNC CpPerform_PerformSomeOtherCombat, 0x803A309 +SET_FUNC CpPerform_PerformDkSummon, 0x803A359 +SET_FUNC CpPerform_PickWait, 0x803A391 +SET_FUNC CpPerform_MoveCameraOntoTarget, 0x803A3C9 +SET_FUNC CpPerform_PerformAction, 0x803A4E5 +SET_FUNC CpPerform_WaitAction, 0x803A5F9 +SET_FUNC CpPerform_DummyWait, 0x803A675 +SET_FUNC CpPerform_EscapeWait, 0x803A679 +SET_FUNC CpPerform_StealWait, 0x803A69D +SET_FUNC AiScriptCompare, 0x803A71D +SET_FUNC AiFindPositionOfCharacter, 0x803A789 +SET_FUNC AiFindClosestPositionWithUnitOfClass, 0x803A879 +SET_FUNC AiGetClosestUnitPosition, 0x803A925 +SET_FUNC CouldStationaryUnitBeInRangeHeuristic, 0x803AC3D +SET_FUNC CouldUnitBeInRangeHeuristic, 0x803AC91 +SET_FUNC IsTerrainIdInList, 0x803AD19 +SET_FUNC AiFindClosestTileInRangeWithListedTerrain, 0x803AD39 +SET_FUNC GetPositionRangeWeight, 0x803AE3D +SET_FUNC AiSomethingCheckPick, 0x803AFDD +SET_FUNC AiAreEnemiesWithin3Tiles, 0x803B41D +SET_FUNC FillMovementAndRangeMapForItem, 0x803B559 +SET_FUNC GetLesserWeightedAdjacentPosition, 0x803B719 +SET_FUNC GetItemAiStealPriority, 0x803B795 +SET_FUNC AiGetBestItemSlotIndexToSteal, 0x803B7C9 +SET_FUNC AiFindUnitSafestTileToMoveTo, 0x803B809 +SET_FUNC AiGetLootingParameters, 0x803B8FD +SET_FUNC AiGetActiveUniChestKeyItemSlot, 0x803B995 +SET_FUNC AiTryMoveTowards, 0x803BA09 +SET_FUNC FindClosestBestPosition, 0x803BDE1 +SET_FUNC AiIsCharacterOnMap, 0x803BF85 +SET_FUNC AiArePointsWithinDistance, 0x803BFD1 +SET_FUNC AiIsPositionLootable, 0x803C015 +SET_FUNC GenBlueUnitAiStats, 0x803C065 +SET_FUNC SetupUnitStatusStaffAIFlags, 0x803C121 +SET_FUNC SetupUnitHealStaffAIFlags, 0x803C169 +SET_FUNC UpdateNumberOfAlliedUnitsWithin8Tiles, 0x803C1B5 +SET_FUNC SetUnitAiFromDefinition, 0x803C259 +SET_FUNC AiFillMovementMapForUnit, 0x803C491 +SET_FUNC AiExecAi1, 0x803C4BD +SET_FUNC AiExecFallbackAi1, 0x803C511 +SET_FUNC AiExecAi2, 0x803C54D +SET_FUNC AiExecFallbackAi2, 0x803C5A1 +SET_FUNC AiScript_Exec, 0x803C5DD +SET_FUNC AiScriptCmd_00_ConditionalGoto, 0x803C649 +SET_FUNC AiScriptCmd_01_FunctionCall, 0x803C6ED +SET_FUNC AiScriptCmd_02_ChangeAi, 0x803C71D +SET_FUNC AiScriptCmd_03_Goto, 0x803C78D +SET_FUNC IsUnitEnemyWithActiveUnit, 0x803C819 +SET_FUNC IsUnitNotActiveUnit, 0x803C849 +SET_FUNC IsUnitEnemyAndNotInTheAiInstList, 0x803C865 +SET_FUNC IsUnitEnemyOrInTheAiInstList, 0x803C8AD +SET_FUNC AiIsUnitScriptCharAndEnemyWithActiveUnit, 0x803C8F5 +SET_FUNC AiIsUnitScriptClassAndEnemyWithActiveUnit, 0x803C935 +SET_FUNC AiScriptCmd_04_ActionOnSelectedCharacter, 0x803C975 +SET_FUNC AiScriptCmd_05_DoStandardAction, 0x803CA0D +SET_FUNC AiScriptCmd_06_DoNothing, 0x803CA7D +SET_FUNC AiScriptCmd_07_DoStandardActionNoMove, 0x803CA85 +SET_FUNC AiScriptCmd_08_DoStandardActionAgainstClass, 0x803CAE5 +SET_FUNC AiScriptCmd_09_DoStaffAction, 0x803CB35 +SET_FUNC AiScriptCmd_0A_DoStaffAction, 0x803CB51 +SET_FUNC AiScriptCmd_0B_DoStaffAction, 0x803CB6D +SET_FUNC AiScriptCmd_0C_MoveTowardsSetPoint, 0x803CB89 +SET_FUNC AiScriptCmd_0D_MoveTowardsCharacterUntilInRange, 0x803CBD5 +SET_FUNC AiScriptCmd_0E_DoNothing, 0x803CC91 +SET_FUNC AiScriptCmd_0F_MoveTowardsUnitWithClass, 0x803CC99 +SET_FUNC AiScriptCmd_10_DoLooting, 0x803CCDD +SET_FUNC AiScriptCmd_11_MoveTowardsSafety, 0x803CDD5 +SET_FUNC AiScriptCmd_12_MoveTowardsEnemy, 0x803CE19 +SET_FUNC AiScriptCmd_13, 0x803CE99 +SET_FUNC AiScriptCmd_14_DoNothing, 0x803CF19 +SET_FUNC AiScriptCmd_15_DoNothing, 0x803CF21 +SET_FUNC AiScriptCmd_16, 0x803CF29 +SET_FUNC AiScriptCmd_17_DoEscape, 0x803CF3D +SET_FUNC AiScriptCmd_18, 0x803D229 +SET_FUNC AiScriptCmd_19_MoveTowardsTerrain, 0x803D2D9 +SET_FUNC AiScriptCmd_1A_MoveTowardsTerrain, 0x803D355 +SET_FUNC AiScriptCmd_1B_NoOp, 0x803D3D1 +SET_FUNC AiDoBerserkAction, 0x803D3E5 +SET_FUNC AiDoBerserkMove, 0x803D405 +SET_FUNC AiTryDoOffensiveAction, 0x803D451 +SET_FUNC AiFillUnitStandingRangeWithWeapon, 0x803D881 +SET_FUNC GetEffectiveTileMovCost, 0x803DB09 +SET_FUNC AiTryDoSteal, 0x803DB61 +SET_FUNC AiTrySimulateBattle, 0x803DCC5 +SET_FUNC AiGetTileWeightForAttack, 0x803DE5D +SET_FUNC ShouldAiNotBattle, 0x803DEC5 +SET_FUNC AiSimulateBattle, 0x803DEC9 +SET_FUNC AiBattleGetDamageDealtWeight, 0x803DF35 +SET_FUNC AiBattleGetTargetHpWeight, 0x803DF95 +SET_FUNC AiBattleGetAlliesAroundWeight, 0x803DFBD +SET_FUNC AiBattleGetWeight_803E068, 0x803E069 +SET_FUNC AiBattleGetTurnNumberWeight, 0x803E09D +SET_FUNC AiBattleGetDamageTakenWeight, 0x803E0B5 +SET_FUNC AiBattleGetTileDangerWeight, 0x803E115 +SET_FUNC AiBattleGetSubjectHpWeight, 0x803E151 +SET_FUNC ComputeAiAttackWeight, 0x803E179 +SET_FUNC AiGetUnitReachWeightWithEquippedWeapon, 0x803E1ED +SET_FUNC AiGetPositionTerrainSafetyWeight, 0x803E23D +SET_FUNC AiGetPositionUnitSafetyWeight, 0x803E27D +SET_FUNC SetupAiDangerMap, 0x803E2F5 +SET_FUNC FillAiDangerMap, 0x803E321 +SET_FUNC IsAiTileSafe, 0x803E449 +SET_FUNC AiUpdateAllUnitHealAi, 0x803E641 +SET_FUNC AiUnitUpdateGetHealMode, 0x803E699 +SET_FUNC AiUnitTryHealSelf, 0x803E719 +SET_FUNC AiUnitTryMoveTowardsEscapePoint, 0x803E7D1 +SET_FUNC AiUnitGetClosestEscapePointData, 0x803E879 +SET_FUNC GetUnitAttackAndWeapon, 0x803EC99 +SET_FUNC AiTryDoDanceAdjacent, 0x803ED29 +SET_FUNC AiTryDoStealAdjacent, 0x803EE4D +SET_FUNC AiIsUnitAtPositionDifferentAllegiance, 0x803EFE1 +SET_FUNC AiGetStaffAiIndex, 0x803F9D9 +SET_FUNC AiTryDoStaff, 0x803FA41 +SET_FUNC GetAiSafestAccessibleAdjacentPosition, 0x803FAE9 +SET_FUNC nullsub_29, 0x8040665 +SET_FUNC AiTryDoSpecialItems, 0x8040845 +SET_FUNC AiSomethingGetPick, 0x8040BB5 +SET_FUNC AiTrySomethingPick, 0x8040C5D +SET_FUNC AiSetMovCostTableWithPassableWalls, 0x8040DCD +SET_FUNC AiSetMovCostTableWithTerrainSetAsPassable, 0x8040E05 +SET_FUNC InitAiMoveMapForUnit, 0x8040E69 +SET_FUNC AiMapRangeFillMovementWithPassableWalls, 0x8040F29 +SET_FUNC InitAiRangeMoveMapForUnitWithDoorsPassable, 0x8040F89 +SET_FUNC OnSerialCommunication, 0x80419DD +SET_FUNC SioVSync_8041C1C, 0x8041C1D +SET_FUNC SioReady, 0x8041D69 +SET_FUNC SioMain_8041DC4, 0x8041DC5 +SET_FUNC SioCon_8042E0C, 0x8042E0D +SET_FUNC SioCon_8042E2C, 0x8042E2D +SET_FUNC SetGameLinkArenaBit, 0x8042E79 +SET_FUNC ClearGameLinkArenaBit, 0x8042E89 +SET_FUNC CheckGameLinkArenaBit, 0x8042E99 +SET_FUNC SioPlaySomeIndexedSfx, 0x804320D +SET_FUNC NameSelect_DrawNameText, 0x8044701 +SET_FUNC NameSelect_8044768, 0x8044769 +SET_FUNC NameSelect_8044C54, 0x8044C55 +SET_FUNC NameSelect_8044ED8, 0x8044ED9 +SET_FUNC OnNameSelectHBlank, 0x8044F85 +SET_FUNC NameSelect_8044FE4, 0x8044FE5 +SET_FUNC NameSelect_8044FFC, 0x8044FFD +SET_FUNC NameSelect_804503C, 0x804503D +SET_FUNC NameSelect_8045068, 0x8045069 +SET_FUNC NameSelect_DrawSomeText, 0x80450AD +SET_FUNC NameSelect_8045108, 0x8045109 +SET_FUNC NameSelect_80451F0, 0x80451F1 +SET_FUNC New6C_SIOMAIN2, 0x8045C15 +SET_FUNC CheckSomethingSaveRelated, 0x8047AB9 +SET_FUNC SioMenu_8047AF4, 0x8047AF5 +SET_FUNC SioMenu_8047B34, 0x8047B35 +SET_FUNC SioMenu_8047C60, 0x8047C61 +SET_FUNC SioMenu_8047CF0, 0x8047CF1 +SET_FUNC SioMenu_8047D88, 0x8047D89 +SET_FUNC SioMenu_8047FF8, 0x8047FF9 +SET_FUNC SioMenu_80480B4, 0x80480B5 +SET_FUNC SioMenu_8048168, 0x8048169 +SET_FUNC StartNameSelect, 0x8048261 +SET_FUNC nullsub_43, 0x8048A69 +SET_FUNC ITEMRANGEDONE_sub_804AF2C, 0x804AF2D +SET_FUNC BeginLinkArenaBattle, 0x804B801 +SET_FUNC nullsub_16, 0x804C3A1 +SET_FUNC nullsub_14, 0x804C3A5 +SET_FUNC nullsub_13, 0x804C3A9 +SET_FUNC LoadOldUIPal, 0x804E079 +SET_FUNC LoadNewUIPal, 0x804E0A9 +SET_FUNC LoadOldUIImage, 0x804E0D9 +SET_FUNC LoadNewUIImage, 0x804E109 +SET_FUNC WriteUIWindowTileMap, 0x804E1BD +SET_FUNC ClearTileMapRect, 0x804E315 +SET_FUNC MakeUIWindowTileMap_BG0BG1, 0x804E369 +SET_FUNC UpdateHandCursor, 0x804E79D +SET_FUNC ClearBG0BG1, 0x804E885 +SET_FUNC DrawMenuItemHighlight, 0x804E98D +SET_FUNC ClearMenuItemHighlight, 0x804EA09 +SET_FUNC LoadOldUIGfx, 0x804EB55 +SET_FUNC LoadNewUIGraphics, 0x804EB69 +SET_FUNC StartMenuAdjusted, 0x804EB99 +SET_FUNC StartMenuChild, 0x804EBC9 +SET_FUNC StartMenu, 0x804EBE5 +SET_FUNC StartMenuExt2, 0x804EC35 +SET_FUNC StartMenuAt, 0x804EC99 +SET_FUNC StartMenuExt, 0x804ECB1 +SET_FUNC EndMenu, 0x804EEA9 +SET_FUNC EndAllMenus, 0x804EF21 +SET_FUNC Menu_CallDefinedConstructors, 0x804EF39 +SET_FUNC Menu_Draw, 0x804EF71 +SET_FUNC Menu_DrawHoverThing, 0x804F0E1 +SET_FUNC Menu_Idle, 0x804F165 +SET_FUNC Menu_HandleDirectionInputs, 0x804F295 +SET_FUNC Menu_HandleSelectInputs, 0x804F375 +SET_FUNC Menu_GetCursorGfxCurrentPosition, 0x804F401 +SET_FUNC MenuCommandAlwaysUsable, 0x804F449 +SET_FUNC MenuCommandAlwaysGrayed, 0x804F44D +SET_FUNC MenuCommandNeverUsable, 0x804F451 +SET_FUNC Menu_HelpBoxInit, 0x804F475 +SET_FUNC Menu_HelpBoxIdle, 0x804F4A1 +SET_FUNC MenuCallHelp, 0x804F521 +SET_FUNC Menu_TextBoxIdle, 0x804F531 +SET_FUNC MenuCallHelpBox, 0x804F581 +SET_FUNC Menu_804F5B4, 0x804F5B5 +SET_FUNC MarkSomethingInMenu, 0x804F60D +SET_FUNC UnMarkSomethingInMenu, 0x804F62D +SET_FUNC StartMenu_AndDoSomethingCommands, 0x804F64D +SET_FUNC Menu_UpdateMovingCursorGfxPosition, 0x804F6A5 +SET_FUNC ClearMenuRelatedList, 0x804F6F9 +SET_FUNC InitTargets, 0x804F8A5 +SET_FUNC AddTarget, 0x804F8BD +SET_FUNC LinkTargets, 0x804F911 +SET_FUNC TargetSelection_GetRealCursorPosition, 0x804F959 +SET_FUNC TargetSelection_Loop, 0x804F96D +SET_FUNC StartTargetSelection, 0x804FA3D +SET_FUNC StartTargetSelectionExt, 0x804FAA5 +SET_FUNC EndTargetSelection, 0x804FAB9 +SET_FUNC TargetSelection_HandleMoveInput, 0x804FAED +SET_FUNC TargetSelection_HandleSelectInput, 0x804FB65 +SET_FUNC GetFarthestTargetIndex, 0x804FBFD +SET_FUNC LinkTargetsOrdered, 0x804FC5D +SET_FUNC GetLinkedTargetList, 0x804FD01 +SET_FUNC GetFirstTargetPointer, 0x804FD11 +SET_FUNC GetTargetListSize, 0x804FD29 +SET_FUNC GetTarget, 0x804FD35 +SET_FUNC StartEkrBattleDeamon, 0x804FD61 +SET_FUNC EndEkrBattleDeamon, 0x804FD8D +SET_FUNC IsBattleDeamonActive, 0x804FDA1 +SET_FUNC EkrBattleDeamon_OnEnd, 0x804FDBD +SET_FUNC nullsub_35, 0x804FDD1 +SET_FUNC StartEkrBattle, 0x804FDD5 +SET_FUNC InBattleMainRoutine, 0x804FE41 +SET_FUNC GameLoop_Battle, 0x804FEE5 +SET_FUNC nullsub_36, 0x804FF61 +SET_FUNC ekrBattle_Init, 0x804FF65 +SET_FUNC ekrBattle_8050000, 0x8050001 +SET_FUNC EkrBattle_BattleQuoteInit, 0x8050055 +SET_FUNC EkrBattle_BattleQuoteWait, 0x80500F1 +SET_FUNC ekrBattle_8050134, 0x8050135 +SET_FUNC ekrBattle_8050158, 0x8050159 +SET_FUNC ekrBattle_8050174, 0x8050175 +SET_FUNC ekrBattle_8050224, 0x8050225 +SET_FUNC ekrBattle_8050244, 0x8050245 +SET_FUNC ekrBattle_WaitForFrame8, 0x8050291 +SET_FUNC ekrBattle_StartUIPaletteAnimations, 0x80502B1 +SET_FUNC ekrBattle_8050304, 0x8050305 +SET_FUNC ekrBattle_WaitForTriangleAttackAnim, 0x8050339 +SET_FUNC ekrBattle_InitMainAnimations, 0x8050361 +SET_FUNC ekrBattle_80503EC, 0x80503ED +SET_FUNC ekrBattle_StartMainAnimations, 0x8050401 +SET_FUNC ekrBattle_WaitForClassChange, 0x8050441 +SET_FUNC ekrBattle_WaitForRoundAnimations, 0x805046D +SET_FUNC ekrBattle_80505EC, 0x80505ED +SET_FUNC ekrBattle_8050600, 0x8050601 +SET_FUNC ekrBattle_8050684, 0x8050685 +SET_FUNC ekrBattle_80506C8, 0x80506C9 +SET_FUNC ekrBattle_80508F0, 0x80508F1 +SET_FUNC ekrBattle_8050940, 0x8050941 +SET_FUNC ekrBattle_80509A8, 0x80509A9 +SET_FUNC ekrBattle_8050A84, 0x8050A85 +SET_FUNC ekrBattle_8050AB8, 0x8050AB9 +SET_FUNC ekrBattle_8050B08, 0x8050B09 +SET_FUNC ekrBattle_CheckForLevelup_8050C34, 0x8050C35 +SET_FUNC ekrBattle_WaitForLevelup_8050C6C, 0x8050C6D +SET_FUNC ekrBattle_MakePopups, 0x8050C91 +SET_FUNC ekrBattle_WaitForPopup, 0x8050CA9 +SET_FUNC ekrBattle_8050CCC, 0x8050CCD +SET_FUNC ekrBattle_8050CF8, 0x8050CF9 +SET_FUNC ekrBattle_8050D88, 0x8050D89 +SET_FUNC ekrBattle_8050DA8, 0x8050DA9 +SET_FUNC nullsub_69, 0x8050DE1 +SET_FUNC NewEkrLvlupFan, 0x8050DE5 +SET_FUNC StartEkrGauge, 0x8050EF9 +SET_FUNC EndEkrGauge, 0x805116D +SET_FUNC EkrGauge_8051180, 0x8051181 +SET_FUNC EkrGauge_8051190, 0x8051191 +SET_FUNC EkrGauge_80511A0, 0x80511A1 +SET_FUNC EkrGauge_80511B0, 0x80511B1 +SET_FUNC EkrGauge_80511C0, 0x80511C1 +SET_FUNC EkrGauge_80511D0, 0x80511D1 +SET_FUNC EkrGauge_80511E4, 0x80511E5 +SET_FUNC EkrGauge_80511F8, 0x80511F9 +SET_FUNC EkrGauge_8051208, 0x8051209 +SET_FUNC EkrGauge_8051218, 0x8051219 +SET_FUNC EkrGauge_8051228, 0x8051229 +SET_FUNC ekrGauge_Loop, 0x8051285 +SET_FUNC StartEkrDispUP, 0x8051AC5 +SET_FUNC EkrDispUP_8051B48, 0x8051B49 +SET_FUNC ekrDispUP_Loop, 0x8051BB1 +SET_FUNC StartEfxHpBar, 0x8052305 +SET_FUNC StartEfxHpBarResire, 0x80525E9 +SET_FUNC StartEfxAvoid, 0x8052979 +SET_FUNC StartEfxHpBarLive, 0x8052A0D +SET_FUNC StartEfxNoDamage, 0x8052B99 +SET_FUNC StartEfxStatusCHG, 0x8052D8D +SET_FUNC StartEfxDeadEVTENT, 0x8052DD5 +SET_FUNC StartEfxDead, 0x8052FAD +SET_FUNC StartEfxDeadPika, 0x8053121 +SET_FUNC MoveBattleCameraOnto, 0x80533D1 +SET_FUNC nullsub_56, 0x805372D +SET_FUNC StartEfxQuake, 0x8053731 +SET_FUNC StartEfxHitQuake, 0x80539DD +SET_FUNC StartEfxFlashBG, 0x8053F11 +SET_FUNC StartEfxFlashHPBar, 0x8054441 +SET_FUNC StartEfxHPBarColorChange, 0x80545C1 +SET_FUNC EndEfxHPBarColorChange, 0x80546B1 +SET_FUNC StartEfxFlashUnit, 0x80547DD +SET_FUNC StartEfxStatusUnit, 0x8054A1D +SET_FUNC DeleteEach6C_efxStatusUnit, 0x8054B55 +SET_FUNC StartEfxWeaponIcon, 0x8054E8D +SET_FUNC EndEfxWeaponIcon, 0x8054ED5 +SET_FUNC PauseEfxWeaponIcon, 0x8054EF1 +SET_FUNC ResumeEfxWeaponIcon, 0x8054F01 +SET_FUNC EfxWeaponIcon_OnLoop, 0x8054F11 +SET_FUNC EfxWeaponIcon_OnEnd, 0x8054F79 +SET_FUNC StartEfxSpellCast, 0x8054FA9 +SET_FUNC StartEndEfxSpellCast, 0x8055001 +SET_FUNC SpellFx_Begin, 0x8055161 +SET_FUNC SpellFx_Finish, 0x805516D +SET_FUNC SpellFx_ClearBG1Position, 0x8055179 +SET_FUNC SpellFx_ClearBG1, 0x8055189 +SET_FUNC SpellFx_SetSomeColorEffect, 0x80551B1 +SET_FUNC SpellFx_ClearColorEffects, 0x805526D +SET_FUNC StartBattleAnimHitEffectsDefault, 0x8055279 +SET_FUNC StartBattleAnimHitEffects, 0x8055299 +SET_FUNC StartBattleAnimResireHitEffects, 0x8055425 +SET_FUNC SpellFx_WriteBgMap, 0x8055671 +SET_FUNC SpellFx_RegisterObjGfx, 0x80557D9 +SET_FUNC SpellFx_RegisterObjPal, 0x8055801 +SET_FUNC SpellFx_RegisterBgGfx, 0x805581D +SET_FUNC SpellFx_RegisterBgPal, 0x8055845 +SET_FUNC SpellFx_InterpretBgAnimScript, 0x80558F5 +SET_FUNC GetSpellAnimationStartFrame, 0x805598D +SET_FUNC BeginAnimsOnBattleAnimations, 0x8055BD5 +SET_FUNC MainUpdate_8055C68, 0x8055C69 +SET_FUNC StartEkrBattleStarting, 0x8055CDD +SET_FUNC ekrBattleStarting_8055CF0, 0x8055CF1 +SET_FUNC ekrBattleStarting_8055DF4, 0x8055DF5 +SET_FUNC ekrBattleStarting_8055F00, 0x8055F01 +SET_FUNC ekrBattleStarting_8055FA0, 0x8055FA1 +SET_FUNC ekrBattleStarting_8055FE8, 0x8055FE9 +SET_FUNC ekrBattleStarting_8056024, 0x8056025 +SET_FUNC ekrBattleStarting_8056078, 0x8056079 +SET_FUNC ekrBattleEnding_80560F0, 0x80560F1 +SET_FUNC ekrBattleEnding_8056170, 0x8056171 +SET_FUNC ekrBattleEnding_80561C8, 0x80561C9 +SET_FUNC ekrBattleEnding_8056228, 0x8056229 +SET_FUNC ekrBattleEnding_8056288, 0x8056289 +SET_FUNC ekrBattleEnding_8056310, 0x8056311 +SET_FUNC ekrBattleEnding_8056390, 0x8056391 +SET_FUNC ekrBattleEnding_8056484, 0x8056485 +SET_FUNC StartEkrWindowAppear, 0x8056D25 +SET_FUNC EkrWindowAppear_Loop, 0x8056D91 +SET_FUNC StartEkrNamewinAppear, 0x8056E11 +SET_FUNC HasEkrNamewinAppearEnded, 0x8056E61 +SET_FUNC PrepareBattleGraphicsMaybe, 0x8056FF9 +SET_FUNC GetSpellAnimId, 0x8057FF9 +SET_FUNC GetBattleAnimationId, 0x8058849 +SET_FUNC SomethingFilterBattleAnimId, 0x8058961 +SET_FUNC GetAllegienceId, 0x80589B5 +SET_FUNC GetBattleAnimRoundType, 0x8058A0D +SET_FUNC GetBattleAnimRoundTypeFlags, 0x8058A35 +SET_FUNC GetSomeBattleAnimHpValue, 0x8058A61 +SET_FUNC IsItemDisplayedInBattle, 0x8058A8D +SET_FUNC BattleAIS_ExecCommands, 0x8058BC9 +SET_FUNC StartEkrChienCHR, 0x805990D +SET_FUNC EkrChienCHR_OnLoop, 0x8059925 +SET_FUNC RegisterAISSheetGraphics, 0x805993D +SET_FUNC SwitchAISFrameDataFromBARoundType, 0x805A07D +SET_FUNC GetAISLayerId, 0x805A155 +SET_FUNC GetAISSubjectId, 0x805A16D +SET_FUNC IsBatteRoundTypeAMiss, 0x805A185 +SET_FUNC GetOpponentFrontAIS, 0x805A2B5 +SET_FUNC GetAISNextBattleAnimRoundType, 0x805A2F1 +SET_FUNC GetAISCurrentRoundType, 0x805A311 +SET_FUNC StartEkrAnimeDrvProc, 0x805A9C1 +SET_FUNC EndEkrAnimeDrvProc, 0x805A9E1 +SET_FUNC ExecAllAIS, 0x805A9F5 +SET_FUNC StartEkrUnitMainMini, 0x805AA01 +SET_FUNC EkrUnitMainMini_OnLoop, 0x805AA4D +SET_FUNC SetBattleAnimArenaFlag, 0x805B01D +SET_FUNC GetBattleAnimArenaFlag, 0x805B029 +SET_FUNC PlayBattleCroudSfxIfArena, 0x805B07D +SET_FUNC BeginAnimsOnBattle_Arena, 0x805B0A9 +SET_FUNC NewEkrTogiInitPROC, 0x805B0F1 +SET_FUNC NewEkrTogiEndPROC, 0x805B279 +SET_FUNC NewEkrTogiColor, 0x805B34D +SET_FUNC EndEkrTogiColor, 0x805B381 +SET_FUNC StartSpellAnimation, 0x805B3CD +SET_FUNC StartSpellThing_MagicQuake, 0x805BC81 +SET_FUNC Loop6C_efxMagicQUAKE, 0x805BCC5 +SET_FUNC StartSpellAnimDummy, 0x805BE91 +SET_FUNC Loop6C_efxDummymagic, 0x805BEB5 +SET_FUNC StartSpellAnimHandAxe, 0x805BF09 +SET_FUNC StartSpellAnimArrow, 0x805C265 +SET_FUNC StartSpellAnimJavelin, 0x805C3F1 +SET_FUNC StartSpellAnimSong, 0x805C935 +SET_FUNC StartSpellAnimDance, 0x805CBDD +SET_FUNC nullsub_42, 0x805CEC5 +SET_FUNC StartSpellAnimFireBreath, 0x805D065 +SET_FUNC StartSpellAnimIceBreath, 0x805D389 +SET_FUNC StartSpellAnimDarkBreath, 0x805D4D1 +SET_FUNC Loop6C_efxDarkbreath, 0x805D509 +SET_FUNC StartSpellAnimThunder, 0x805D7D9 +SET_FUNC EfxThunder_Main, 0x805D815 +SET_FUNC StartEfxThunderBG, 0x805D8B5 +SET_FUNC EfxThunderBG_Main, 0x805D939 +SET_FUNC StartEfxThunderBGCOL, 0x805D9BD +SET_FUNC EfxThunderBGCOL_Main, 0x805D9F9 +SET_FUNC StartEfxThunderOBJ, 0x805DA45 +SET_FUNC EfxThunderOBJ_Main, 0x805DAA5 +SET_FUNC StartSpellAnimFire, 0x805DAD5 +SET_FUNC StartSpellAnimElfire, 0x805DB19 +SET_FUNC EfxFire_Main, 0x805DB5D +SET_FUNC Loop6C_efxFireBG, 0x805DCC5 +SET_FUNC StartSubSpell_efxFireHITBG, 0x805DDF1 +SET_FUNC StartSubSpell_efxElfireBG, 0x805DED9 +SET_FUNC StartSubSpell_efxElfireBGCOL, 0x805DFA5 +SET_FUNC StartSubSpell_efxElfireOBJ, 0x805E031 +SET_FUNC StartSpellAnimFimbulvetr, 0x805E0E5 +SET_FUNC StartSpellAnimNosferatu, 0x805F355 +SET_FUNC EfxResire_Main, 0x805F391 +SET_FUNC StartSpellAnimPurge, 0x805FAE1 +SET_FUNC nullsub_41, 0x805FE81 +SET_FUNC StartSpellAnimDivine, 0x805FE85 +SET_FUNC DivineSfxLoop, 0x805FEC1 +SET_FUNC nullsub_39, 0x8060285 +SET_FUNC nullsub_40, 0x8060289 +SET_FUNC StartSpellAnimFenrir, 0x80608A5 +SET_FUNC StartSpellAnimHeal, 0x8061025 +SET_FUNC StartSpellAnimMend, 0x8061159 +SET_FUNC StartSpellAnimRecover, 0x80612BD +SET_FUNC StartSpellAnimSilence, 0x80623E1 +SET_FUNC StartSpellAnimSleep, 0x8062679 +SET_FUNC StartSpellAnimHammerne, 0x8062999 +SET_FUNC StartSpellAnimBerserk, 0x8062C15 +SET_FUNC StartSpellAnimShine, 0x8063481 +SET_FUNC StartSpellAnimLuna, 0x8063975 +SET_FUNC nullsub_51, 0x8064CFD +SET_FUNC StartSpellAnimAura, 0x8064E75 +SET_FUNC nullsub_52, 0x8065491 +SET_FUNC nullsub_53, 0x8065495 +SET_FUNC StartSpellAnimIvaldi, 0x80657D5 +SET_FUNC Loop6C_efxIvaldi, 0x8065811 +SET_FUNC StartSpellBG_IvaldiBG1, 0x80659AD +SET_FUNC Loop6C_efxIvaldiBG1, 0x8065A11 +SET_FUNC StartSpellBG_IvaldiBG2, 0x8065A81 +SET_FUNC Loop6C_efxIvaldiBG2, 0x8065AED +SET_FUNC StartSpellBG_IvaldiBG3, 0x8065B55 +SET_FUNC Loop6C_efxIvaldiBG3, 0x8065BB9 +SET_FUNC StartSpellBG_IvaldiBG4, 0x8065C39 +SET_FUNC PrepareSomeIvaldiParticleGraphics, 0x8065D85 +SET_FUNC StartSpellOBJ_IvaldiFall, 0x8065DA5 +SET_FUNC StartSpellOBJ_IvaldiSideWash, 0x8065F11 +SET_FUNC Loop6C_efxIvaldiOBJSideWash, 0x8065F65 +SET_FUNC StartSpellAnimStone, 0x80674D5 +SET_FUNC StartSpellAnimEvilEye, 0x8067799 +SET_FUNC StartSpellAnimNaglfar, 0x8067B7D +SET_FUNC Loop6C_efxNaglfar, 0x8067BB9 +SET_FUNC Loop6C_efxNaglfarBG, 0x8067E1D +SET_FUNC Loop6C_efxNaglfarBG2, 0x8067EE9 +SET_FUNC StartSpellAnimCrimsonEye, 0x8069EC5 +SET_FUNC StartEfxDamagaMojiEffect, 0x806C61D +SET_FUNC StartEfxDamageMojiEffectOBJ, 0x806C67D +SET_FUNC StartEfxCriticalEffect, 0x806C71D +SET_FUNC StartEfxPierceCriticalEffect, 0x806C9E9 +SET_FUNC StartEfxChillEffect, 0x806E015 +SET_FUNC StartEfxChillAnime, 0x806E1F1 +SET_FUNC nullsub_17, 0x806E30D +SET_FUNC nullsub_73, 0x806EB79 +SET_FUNC FillBGRect, 0x8070D7D +SET_FUNC ApplyFlashingPaletteAnimation, 0x807132D +SET_FUNC GetOtherRN_N, 0x80716B1 +SET_FUNC StartEkrsubAnimeEmulator, 0x80716C9 +SET_FUNC SomeBattlePlaySound_8071990, 0x8071991 +SET_FUNC Loop6C_efxSoundSE, 0x80719F1 +SET_FUNC Unset20200AC, 0x8071A8D +SET_FUNC Set20200AC, 0x8071A99 +SET_FUNC Get20200AC, 0x8071AA5 +SET_FUNC EkrClasschgFinished, 0x80729E1 +SET_FUNC EndEkrClasschg, 0x8072A01 +SET_FUNC NewEkrClassChg, 0x8072A15 +SET_FUNC EndEfxStatusUnit, 0x8072DC9 +SET_FUNC DoesEkrLevelUpSomething, 0x80734F9 +SET_FUNC EndEkrLevelUp, 0x8073519 +SET_FUNC NewEkrLevelup, 0x8073989 +SET_FUNC nullsub_62, 0x807460D +SET_FUNC HasBattleAnimTriangeAttackEnded, 0x8074F3D +SET_FUNC nullsub_18, 0x8074F59 +SET_FUNC StartEkrTriangle, 0x8074F5D +SET_FUNC EkrTriangle_OnLoop, 0x8074F81 +SET_FUNC StartEkrPegasusKnight, 0x8075185 +SET_FUNC StartEkrPegasusKnightBG, 0x807527D +SET_FUNC DoesBattlePopupExist, 0x8075B21 +SET_FUNC DeleteAnimsOnPopup, 0x8075B3D +SET_FUNC MakeBattlePopupTileMapFromTSA, 0x8075B79 +SET_FUNC DrawBattlePopup, 0x8075CA9 +SET_FUNC StartAnimsOnPopups, 0x8075F19 +SET_FUNC BattlePopup_Wait16Frames, 0x807606D +SET_FUNC ekrPopup_DrawWRankUp, 0x8076089 +SET_FUNC ekrPopup_WaitWRankUp, 0x80760B1 +SET_FUNC ekrPopup_DrawWRankUp2, 0x80760ED +SET_FUNC ekrPopup_WaitWRankUp2, 0x8076115 +SET_FUNC ekrPopup_DrawWpnBroke, 0x8076151 +SET_FUNC ekrPopup_WaitWpnBroke, 0x8076179 +SET_FUNC ekrPopup_DrawWpnBroke2, 0x80761B5 +SET_FUNC ekrPopup_WaitWpnBroke2, 0x80761DD +SET_FUNC ekrPopup_MarkEnd, 0x807621D +SET_FUNC nullsub_68, 0x807624D +SET_FUNC BeginAnimsOnBattle_Hensei, 0x8076331 +SET_FUNC NewEkrHenseiInitPROC, 0x807636D +SET_FUNC GetSpellAssocStructPtr, 0x8078215 +SET_FUNC GetSpellAssocCharCount, 0x8078249 +SET_FUNC GetSpellAssocMapAnimProcScript, 0x8078269 +SET_FUNC GetSpellAssocReturnBool, 0x8078279 +SET_FUNC GetSpellAssocFacing, 0x8078289 +SET_FUNC GetSpellAssocFlashColor, 0x8078299 +SET_FUNC GenerateMonsterLevel, 0x80782ED +SET_FUNC GenerateMonsterClass, 0x8078325 +SET_FUNC GenerateMonsterItems, 0x8078351 +SET_FUNC MU_Init, 0x807840D +SET_FUNC MU_CreateExt, 0x8078429 +SET_FUNC MU_Create, 0x8078465 +SET_FUNC MU_ManualUpdate, 0x80784D9 +SET_FUNC MU_EnableAttractCamera, 0x80784E5 +SET_FUNC MU_DisableAttractCamera, 0x80784ED +SET_FUNC MU_CreateForUI, 0x80784F5 +SET_FUNC MU_CreateInternal, 0x8078541 +SET_FUNC MU_SetFacing, 0x8078695 +SET_FUNC MU_SetDefaultFacing, 0x80786BD +SET_FUNC MU_SetDefaultFacing_Auto, 0x80786E9 +SET_FUNC MU_StartMoveScript_Auto, 0x8078701 +SET_FUNC MU_Exists, 0x8078721 +SET_FUNC MU_IsAnyActive, 0x8078739 +SET_FUNC MU_IsActive, 0x8078771 +SET_FUNC MU_StartMoveScript, 0x8078791 +SET_FUNC MU_CreateScripted, 0x80787C5 +SET_FUNC MU_StepSound_OnInit, 0x80787FD +SET_FUNC MU_StepSound_OnFirstSound, 0x8078811 +SET_FUNC MU_StepSound_OnSecondSound, 0x8078825 +SET_FUNC MU_StartStepSfx, 0x807883D +SET_FUNC MU_PlayStepSfx, 0x8078889 +SET_FUNC MU_8078894, 0x8078895 +SET_FUNC MU_InterpretCommandScript, 0x8078899 +SET_FUNC MU_StartFogBumpFx, 0x8078A15 +SET_FUNC MU_FogBumpFx_FirstFrame, 0x8078A65 +SET_FUNC MU_FogBumpFx_TransitionInLoop, 0x8078B09 +SET_FUNC MU_FogBumpFx_DisplayLoop, 0x8078BCD +SET_FUNC MU_IsFogBumpFxActive, 0x8078BFD +SET_FUNC MU_State_WaitForFogBump, 0x8078C15 +SET_FUNC MU_State_StartMovement, 0x8078C31 +SET_FUNC MU_State_WaitForTimer, 0x8078C39 +SET_FUNC MU_State_None, 0x8078C59 +SET_FUNC MU_State_NoOp, 0x8078C5D +SET_FUNC MU_State_DuringMovement, 0x8078C61 +SET_FUNC MU_AdvanceStepSfx, 0x8078D6D +SET_FUNC MU_OnLoop, 0x8079031 +SET_FUNC MU_OnEnd, 0x8079091 +SET_FUNC MU_EndAll, 0x80790A5 +SET_FUNC MU_End, 0x80790B5 +SET_FUNC MU_EndInternal, 0x80790C1 +SET_FUNC MU_80790CC, 0x80790CD +SET_FUNC MU_AllDisable, 0x80790E1 +SET_FUNC MU_AllEnable, 0x80790ED +SET_FUNC MU_GetComputedEndPosition, 0x80790F9 +SET_FUNC MU_CanStart, 0x807916D +SET_FUNC MU_AllRestartAnimations, 0x8079191 +SET_FUNC MU_GenerateConfigDefault, 0x80791CD +SET_FUNC MU_GenerateConfigOther, 0x807920D +SET_FUNC MU_ComputeDisplayPosition, 0x807924D +SET_FUNC MU_DisplayAsSMS, 0x80792F9 +SET_FUNC MU_DisplayAsMMS, 0x80793A5 +SET_FUNC MU_GetMovementSpeed, 0x807947D +SET_FUNC MU_SetMoveConfig, 0x807953D +SET_FUNC MU_GetGfxBufferById, 0x8079559 +SET_FUNC MU_GetSheetGfx, 0x8079575 +SET_FUNC MU_GetAnimationByClassId, 0x8079589 +SET_FUNC MU_StartDeathFade, 0x807959D +SET_FUNC MU_DeathFade_OnLoop, 0x8079619 +SET_FUNC MU_BlinkEffect_OnLoop, 0x8079655 +SET_FUNC MU_StartBlinkEffect, 0x807968D +SET_FUNC MU_SetupPixelEffect, 0x80796D5 +SET_FUNC MU_PixelEffect_OnLoop, 0x8079731 +SET_FUNC MU_StartPixelEffect, 0x8079789 +SET_FUNC MU_Hide, 0x80797D5 +SET_FUNC MU_Show, 0x80797DD +SET_FUNC MU_SetDisplayPosition, 0x80797E5 +SET_FUNC MU_SetDisplayOffset, 0x80797F5 +SET_FUNC MU_StartFlashFade, 0x8079805 +SET_FUNC MU_8079858, 0x8079859 +SET_FUNC MU_807988C, 0x807988D +SET_FUNC MU_StartActionAnim, 0x80798B1 +SET_FUNC MU_EndSelectionApAnim, 0x80798E1 +SET_FUNC MU_StartDelayedFaceTarget, 0x80798E9 +SET_FUNC MU_EndRefaceApAnim, 0x807990D +SET_FUNC MU_StartFastMoveAnim, 0x8079945 +SET_FUNC MU_EndFasterApAnim, 0x8079969 +SET_FUNC MU_StartCritFlash, 0x8079971 +SET_FUNC MU_CritFlash_Init, 0x80799A1 +SET_FUNC MU_CritFlash_SetFadedPalette, 0x80799A9 +SET_FUNC MU_CritFlash_SetRegularPalette, 0x80799C9 +SET_FUNC MU_CritFlash_StartFadeBack_maybe, 0x80799ED +SET_FUNC MU_CritFlash_SpriteShakeLoop, 0x8079A11 +SET_FUNC MU_CritFlash_RestorePalette, 0x8079A51 +SET_FUNC MU_StartHitFlash, 0x8079A75 +SET_FUNC MU_HitFlash_RestorePalette, 0x8079AD5 +SET_FUNC MU_AllForceSetMaxMoveSpeed, 0x8079AF9 +SET_FUNC MU_ForceSetMaxMoveSpeed, 0x8079B11 +SET_FUNC MU_SetSpecialSprite, 0x8079B19 +SET_FUNC MU_SetPaletteId, 0x8079B6D +SET_FUNC MU_GetByIndex, 0x8079B91 +SET_FUNC MU_GetByUnit, 0x8079BB9 +SET_FUNC MU_SortObjLayers, 0x8079BE1 +SET_FUNC CopyEventMoveToBuffer, 0x8079CD9 +SET_FUNC ClearEventMoveBuffer, 0x8079D41 +SET_FUNC MuCtr_CreateWithReda, 0x8079DDD +SET_FUNC MuCtr_InitFromReda, 0x8079E79 +SET_FUNC MuCtr_Exists, 0x8079F85 +SET_FUNC MU_AllForceSetMaxMoveSpeed_, 0x8079F9D +SET_FUNC MoveUnit_, 0x807A015 +SET_FUNC GetPreferredPositionForUNIT, 0x807A055 +SET_FUNC MuCtr_OnEnd, 0x807A1FD +SET_FUNC MuCtr_ExecREDA_807A358, 0x807A359 +SET_FUNC GetAdjustedPositionForNewUnit, 0x807A4E9 +SET_FUNC MapAnimProc_DisplayItemStealingPopup, 0x807A709 +SET_FUNC MapAnimProc_DisplayWpnBrokePopup, 0x807A72D +SET_FUNC BattleUnit_ShouldDisplayWpnBroke, 0x807A771 +SET_FUNC MapAnimProc_DisplayWRankUpPopup, 0x807A795 +SET_FUNC BattleUnit_ShouldDisplayWRankUp, 0x807A7D9 +SET_FUNC _InitFontForUIDefault, 0x807A801 +SET_FUNC MapAnim_Cleanup, 0x807A80D +SET_FUNC MapAnim_AdvanceBattleRound, 0x807A839 +SET_FUNC MapAnimProc_PrepareNextRound, 0x807A895 +SET_FUNC MapAnimProc_StartRoundAnimProc, 0x807A8F1 +SET_FUNC MapAnimProc_DisplayRoundSpecialAnims, 0x807A905 +SET_FUNC MapAnimProc_MoveCameraOntoSubject, 0x807A941 +SET_FUNC MapAnimProc_MoveCameraOntoTarget, 0x807A95D +SET_FUNC MapAnimProc_DisplayDeathQuote, 0x807A985 +SET_FUNC MapAnimProc_DisplayDeathFade, 0x807AA01 +SET_FUNC MapAnimProc_DisplayExpBar, 0x807AA4D +SET_FUNC MapAnim_CallBattleQuoteEvents, 0x807ABB9 +SET_FUNC PlaySoundIdA0, 0x807ACD1 +SET_FUNC New6C_SummonGfx_FromActionPos, 0x807AD09 +SET_FUNC CreateMapBattleMU, 0x807B335 +SET_FUNC SetBattleAnimActorFacing, 0x807B3BD +SET_FUNC SetupMapBattleMUs, 0x807B465 +SET_FUNC StartSomeMapAnim_807B68C, 0x807B68D +SET_FUNC BeginMapAnimForSteal, 0x807B6E5 +SET_FUNC BeginMapAnimForSummon, 0x807B741 +SET_FUNC BeginMapAnimForSummonDK, 0x807B799 +SET_FUNC BeginBattleMapAnims, 0x807B855 +SET_FUNC SetupMapAnimSpellData, 0x807B8D5 +SET_FUNC SetupMapBattleAnim, 0x807B901 +SET_FUNC GetFacingDirection, 0x807B9B9 +SET_FUNC MapAnim_EndBattleInfoBox, 0x807BBB9 +SET_FUNC MapAnim_StartBattleInfoBox, 0x807BBC9 +SET_FUNC MapAnimUi_Clear, 0x807BBF1 +SET_FUNC MapAnimExpBar_LoadGfx, 0x807C02D +SET_FUNC MapAnimExpBar_FillInit, 0x807C0DD +SET_FUNC MapAnimExpBar_FillLoop, 0x807C0F9 +SET_FUNC MapAnimExpBar_TransitionInInit, 0x807C14D +SET_FUNC MapAnimExpBar_TransitionInLoop, 0x807C1AD +SET_FUNC MapAnimExpBar_StartLevelUp, 0x807C211 +SET_FUNC MapAnim_BeginMISSAnim, 0x807CB25 +SET_FUNC MapAnim_BeginNODAMAGEAnim, 0x807CB81 +SET_FUNC MapAnim_BeginWallBreakAnim, 0x807CBDD +SET_FUNC WallBreakAnim_Init, 0x807CC29 +SET_FUNC StartMapAnimPoisonEffect, 0x807CC79 +SET_FUNC MapAnim_BeginPoisonAnim, 0x807CCC1 +SET_FUNC NewMapAnimEffectAnimator, 0x807D82D +SET_FUNC StartUnitWarpRing, 0x807DAA9 +SET_FUNC MapAnimLevelUp_InitLevelUpBox, 0x807EA99 +SET_FUNC MapAnimLevelUp_DrawActorStat, 0x807EBA5 +SET_FUNC MapAnimLevelUp_GetActorStatUp, 0x807EC09 +SET_FUNC MapAnimLevelUp_GetActorStatBase, 0x807ED31 +SET_FUNC MapAnim_StartLevelUp, 0x807F10D +SET_FUNC MapAnimLevelUpProc_InitLevelUpBox, 0x807F1AD +SET_FUNC MapAnimLevelUpProc_StartMusicThingy, 0x807F479 +SET_FUNC MapAnimLevelUpProc_DisplayLevelUpSmallText, 0x807F48D +SET_FUNC MapAnimLevelUpProc_ClearLevelUpSmallText, 0x807F53D +SET_FUNC NewBG0Shaker, 0x807F615 +SET_FUNC BG0Shaker_Init, 0x807F629 +SET_FUNC BG0Shaker_Loop, 0x807F631 +SET_FUNC LoadSparkGfx, 0x807F6C1 +SET_FUNC StartStarRotationEffect, 0x807F7F9 +SET_FUNC StartStarExplosionEffect, 0x807F839 +SET_FUNC StartStarImplosionEffect, 0x807F859 +SET_FUNC New6C_SummonGfx, 0x8080D2D +SET_FUNC nullsub_58, 0x808125D +SET_FUNC MapAnim_GetRoundProcScript, 0x8081261 +SET_FUNC MapAnim_AnimateSubjectIdle, 0x8081279 +SET_FUNC MapAnim_SubjectResetAnim, 0x808129D +SET_FUNC MapAnim_BeginSubjectFastAnim, 0x80813F9 +SET_FUNC MapAnim_MoveSubjectsTowardsTarget, 0x80814D5 +SET_FUNC MapAnim_MoveSubjectsAwayFromTarget, 0x8081535 +SET_FUNC MapAnim_MoveCameraOnSubject, 0x8081595 +SET_FUNC MapAnim_MoveCameraOnTarget, 0x80815C1 +SET_FUNC MapAnim_MoveCameraOnWarpTarget, 0x80815ED +SET_FUNC MapAnim_BeginRoundSpecificAnims, 0x808161D +SET_FUNC MapAnim_WaitForHPToEndChangingMaybe, 0x8081915 +SET_FUNC MapAnimProc_PoisonEffectOnDefender, 0x8081931 +SET_FUNC MapAnim_TargetUnitWarpRing, 0x8081B71 +SET_FUNC MapAnim_WarpTargetWarpRing, 0x8081BCD +SET_FUNC MapAnim_TargetUnitFlashOut, 0x8081CD5 +SET_FUNC MapAnim_TargetUnitFlashIn, 0x8081CF9 +SET_FUNC MapAnim_TargetHide, 0x8081D1D +SET_FUNC MapAnim_TargetStarExplosion, 0x8081D41 +SET_FUNC MapAnim_TargetStarImplosion, 0x8081D85 +SET_FUNC MapAnim_TargetShow, 0x8081DE1 +SET_FUNC MapAnim_MoveTargetForWarp, 0x8081E05 +SET_FUNC CallEventDefinition, 0x8082E81 +SET_FUNC CheckEventDefinition, 0x8082EC5 +SET_FUNC CheckNextEventDefinition, 0x8082F29 +SET_FUNC IsThereClosedChestAt, 0x80831AD +SET_FUNC IsThereClosedDoorAt, 0x80831F1 +SET_FUNC ShouldCallEndEvent, 0x8083251 +SET_FUNC MaybeCallEndEvent_, 0x808326D +SET_FUNC CallEndEvent, 0x8083281 +SET_FUNC CheckWin, 0x80832D9 +SET_FUNC MaybeCallEndEvent, 0x80832E9 +SET_FUNC GetCurrentChapterBallistaePtr, 0x8083309 +SET_FUNC GetCurrentChapterBallistae2Ptr, 0x8083321 +SET_FUNC GetChapterAllyUnitDefinitions, 0x8083349 +SET_FUNC GetChapterEnemyUnitDefinitions, 0x80833B1 +SET_FUNC GetChapterSkirmishLeaderClasses, 0x8083401 +SET_FUNC ShouldCallBattleQuote, 0x80834B1 +SET_FUNC CallBattleQuoteEventsIfAny, 0x8083505 +SET_FUNC ShouldDisplayDeathQuoteForChar, 0x80835A9 +SET_FUNC DisplayDeathQuoteForChar, 0x80835DD +SET_FUNC EvCheck00_Always, 0x8083831 +SET_FUNC EvCheck01_AFEV, 0x8083835 +SET_FUNC EvCheck02_TURN, 0x8083865 +SET_FUNC EvCheck03_CHAR, 0x80838AD +SET_FUNC EvCheck04_CHARASM, 0x80838FD +SET_FUNC EvCheck05_LOCA, 0x8083939 +SET_FUNC EvCheck06_VILL, 0x8083979 +SET_FUNC EvCheck07_CHES, 0x808398D +SET_FUNC EvCheck08_DOOR, 0x80839C9 +SET_FUNC EvCheck09_, 0x8083A11 +SET_FUNC EvCheck0A_SHOP, 0x8083A59 +SET_FUNC EvCheck0B_AREA, 0x8083AA5 +SET_FUNC EvCheck0C_Never, 0x8083B25 +SET_FUNC EvCheck0D_Never, 0x8083B29 +SET_FUNC EvCheck0E_, 0x8083B2D +SET_FUNC EvCheck0F_, 0x8083B59 +SET_FUNC EvCheck10_, 0x8083B99 +SET_FUNC SetLocalEventId, 0x8083BD9 +SET_FUNC UnsetLocalEventId, 0x8083C0D +SET_FUNC ClearLocalEvents, 0x8083C49 +SET_FUNC CheckLocalEventId, 0x8083C61 +SET_FUNC SetGlobalEventId, 0x8083CA1 +SET_FUNC UnsetGlobalEventId, 0x8083CD9 +SET_FUNC ClearGlobalTriggerState, 0x8083D19 +SET_FUNC CheckGlobalEventId, 0x8083D6D +SET_FUNC SetEventId, 0x8083D81 +SET_FUNC UnsetEventId, 0x8083D95 +SET_FUNC CheckEventId, 0x8083DA9 +SET_FUNC GetGlobalEventIdStorage, 0x8083DC1 +SET_FUNC GetGlobalEventIdStorageSize, 0x8083DC9 +SET_FUNC GetLocalEventIdStorage, 0x8083DCD +SET_FUNC GetLocalEventIdStorageSize, 0x8083DD5 +SET_FUNC CheckTutorialEvent, 0x8083E35 +SET_FUNC RunTutorialEvent, 0x8083E65 +SET_FUNC RunPhaseSwitchEvents, 0x8083EB9 +SET_FUNC CheckForCharacterEvents, 0x8083F69 +SET_FUNC RunCharacterEvents, 0x8083FB1 +SET_FUNC GetLocationEventCommandAt, 0x8084079 +SET_FUNC RunLocationEvents, 0x80840C5 +SET_FUNC CheckForPostActionEvents, 0x8084331 +SET_FUNC RunPostActionEvents, 0x80843C1 +SET_FUNC RunSelectEvents, 0x808445D +SET_FUNC RunMoveEventsMaybe, 0x80844B1 +SET_FUNC RunPostMoveEvents, 0x8084509 +SET_FUNC CheckBattleForecastTutorialEvent, 0x8084561 +SET_FUNC RunBattleForecastTutorialEvent, 0x808457D +SET_FUNC RunPlayerPhaseStartTutorialEvent, 0x8084591 +SET_FUNC ClearActiveEventRegistry, 0x80845A5 +SET_FUNC RegisterEventActivation, 0x80845B9 +SET_FUNC GetEventTriggerId, 0x80845E5 +SET_FUNC GetBattleQuoteEntry, 0x808464D +SET_FUNC GetCharDeathQuoteEntry, 0x80846E5 +SET_FUNC IsCharacterForceDeployed_, 0x8084801 +SET_FUNC IsSethLArachelMyrrhInnes, 0x8084859 +SET_FUNC IsAnyEnemyUnitAlive, 0x8084EE9 +SET_FUNC GetDeadEnemyAmount, 0x8084F1D +SET_FUNC IsCharDeadAsNonPlayerUnit, 0x8084F6D +SET_FUNC StartGameOver, 0x8085375 +SET_FUNC ResetAllPlayerUnitState, 0x8085485 +SET_FUNC TriggerDisableMapIcons, 0x8085971 +SET_FUNC UnTriggerDisableMapIcons, 0x808597D +SET_FUNC nullsub_20, 0x80859E9 +SET_FUNC nullsub_30, 0x8085F85 +SET_FUNC HandleCh5xUnits_Start, 0x8086415 +SET_FUNC HandleCh5xUnits_End, 0x8086465 +SET_FUNC CallRouteSplitMenu, 0x80864CD +SET_FUNC MenuCommand_DrawRouteSplit, 0x8086515 +SET_FUNC Command_EirikaMode, 0x8086565 +SET_FUNC Command_EphraimMode, 0x8086581 +SET_FUNC StartScreenMenuScrollingBg, 0x8086BB9 +SET_FUNC EndBG3Slider, 0x8086DBD +SET_FUNC GetSomeUnitId, 0x8086DCD +SET_FUNC DrawLotsaText, 0x8086E01 +SET_FUNC DrawStatScreenBar, 0x80870BD +SET_FUNC DrawUnitStatScreen, 0x8087185 +SET_FUNC DrawUnitItemScreen, 0x8087485 +SET_FUNC DrawUnitScreenSupportList, 0x8087699 +SET_FUNC DrawUnitWeaponRank, 0x8087789 +SET_FUNC DrawUnitWeaponScreen, 0x808784D +SET_FUNC DrawStatScreenPage, 0x80878CD +SET_FUNC DrawStatScreen, 0x8088671 +SET_FUNC StatScreenBGVPosManager_Loop, 0x8088921 +SET_FUNC StartStatScreen, 0x808894D +SET_FUNC StartStatScreenHelpTextBubble, 0x80889A1 +SET_FUNC StartHelpTextBubble, 0x8089165 +SET_FUNC Loop6C_8A00B20_UpdateOAMData, 0x808948D +SET_FUNC LoadChapterTitleGfx, 0x8089625 +SET_FUNC LoadDialogueBoxGfx, 0x8089805 +SET_FUNC GetCameraMovementSpeedMaybe, 0x808BBCD +SET_FUNC Loop6CUI1_DisplayTransition, 0x808BCF9 +SET_FUNC Loop6CUI1_HideTransition, 0x808BE71 +SET_FUNC MMB_DrawStatusText, 0x808C389 +SET_FUNC DrawMinimugBoxMaybe, 0x808C45D +SET_FUNC InitMinimugBoxMaybe, 0x808C5D1 +SET_FUNC Loop6CUI1_Hidden, 0x808CCC9 +SET_FUNC Loop6CUI1_Displayed, 0x808CD75 +SET_FUNC Init6CUI2, 0x808CE9D +SET_FUNC Loop6CUI2, 0x808CEC9 +SET_FUNC InitPlayerPhaseInterfaceMaybe, 0x808CFC5 +SET_FUNC StartPlayerPhaseSideWindows, 0x808D13D +SET_FUNC EndPlayerPhaseSideWindows, 0x808D151 +SET_FUNC Init6CPI, 0x808D289 +SET_FUNC Loop16CPI, 0x808D47D +SET_FUNC Loop26CPI, 0x808D6D5 +SET_FUNC Loop46CPI, 0x808D71D +SET_FUNC Loop36CPI, 0x808D785 +SET_FUNC MinimalVBlankHandler, 0x808DAE5 +SET_FUNC NewChapterStatusScreen, 0x808E765 +SET_FUNC nullsub_63, 0x8090B45 +SET_FUNC StartUnitListMenu, 0x80920C5 +SET_FUNC SortUnitList_GetUnitSoloAnimation, 0x8092BE5 +SET_FUNC SortUnitList, 0x8092BF1 +SET_FUNC GetPrepScreenUnitListEntry, 0x8095355 +SET_FUNC SetPrepScreenUnitListEntry, 0x8095365 +SET_FUNC GetPrepScreenUnitListSize, 0x8095375 +SET_FUNC SetPrepScreenUnitListSize, 0x8095385 +SET_FUNC IsCharacterForceDeployed, 0x80953F1 +SET_FUNC SomeLeftoverFunctionThatReturns0, 0x809545D +SET_FUNC IsUnitInCurrentRoster, 0x8095461 +SET_FUNC ReorderPlayerUnitsBasedOnDeployment, 0x80956D9 +SET_FUNC SortPlayerUnitsForPrepScreen, 0x8095749 +SET_FUNC InitPrepScreenUnitList, 0x80958BD +SET_FUNC AtMenu_AutoDeployPrepScreenUnits, 0x80959B5 +SET_FUNC RestartScreenMenuScrollingBg, 0x8095A1D +SET_FUNC EndScreenMenuScrollingBg, 0x8095A39 +SET_FUNC AtMenu_LockGame, 0x8096425 +SET_FUNC NewPrepScreenTraineePromotionManager, 0x8096685 +SET_FUNC PrepScreenTraineePromotionManagerExists, 0x8096699 +SET_FUNC Delete6CMenuScroll, 0x8097685 +SET_FUNC Make6CMenuScroll, 0x8097699 +SET_FUNC SomethingPrepListRelated, 0x80981E5 +SET_FUNC CanUnitPrepScreenUse, 0x809839D +SET_FUNC nullsub_21, 0x809B36D +SET_FUNC StoreConvoyWeaponIconGraphics, 0x809D2C5 +SET_FUNC SramInit, 0x80A2C3D +SET_FUNC IsSramWorking, 0x80A2CB1 +SET_FUNC ComputeChecksum16, 0x80A2CFD +SET_FUNC LoadGeneralGameMetadata, 0x80A2D29 +SET_FUNC SaveGeneralGameMetadata, 0x80A2DA9 +SET_FUNC SaveGeneralGameMetadataNoChecksum, 0x80A2DD1 +SET_FUNC GetSaveDataOffsetPointer, 0x80A2ED5 +SET_FUNC SaveMetadata_Load, 0x80A2EF9 +SET_FUNC SaveMetadata_Save, 0x80A2F95 +SET_FUNC GetSaveTargetAddress, 0x80A3065 +SET_FUNC GetSaveSourceAddress, 0x80A3115 +SET_FUNC SaveLocalEventIndexes, 0x80A3131 +SET_FUNC SaveGlobalEventIndexes, 0x80A3151 +SET_FUNC LoadLocalEventIds, 0x80A3171 +SET_FUNC LoadGlobalEventIds, 0x80A3199 +SET_FUNC SaveConvoyItems, 0x80A31E5 +SET_FUNC LoadConvoyItems, 0x80A326D +SET_FUNC GGM_SetCharacterKnown, 0x80A37A9 +SET_FUNC GGM_IsCharacterKnown, 0x80A37F1 +SET_FUNC GGM_IsAnyCharacterKnown, 0x80A3835 +SET_FUNC LoadBWLEntries, 0x80A421D +SET_FUNC LoadChapterDataWinArray, 0x80A4249 +SET_FUNC SaveBWLEntries, 0x80A4265 +SET_FUNC SaveChapterWinData, 0x80A4289 +SET_FUNC GetChapterWinDataEntry, 0x80A429D +SET_FUNC GetNextChapterWinDataEntryIndex, 0x80A42BD +SET_FUNC GetWonChapterCount, 0x80A42ED +SET_FUNC RegisterChapterTimeAndTurnCount, 0x80A4351 +SET_FUNC GetGameTotalTurnCount, 0x80A43D9 +SET_FUNC DoesThisChapterCount, 0x80A4405 +SET_FUNC GetGameTotalTime, 0x80A4449 +SET_FUNC GetGameTotalTurnCount2, 0x80A4489 +SET_FUNC BWL_AddWinOrLossIdk, 0x80A4685 +SET_FUNC BWL_IncrementMoveValue, 0x80A474D +SET_FUNC BWL_IncrementStatScreenViews, 0x80A478D +SET_FUNC BWL_IncrementDeployCountMaybe, 0x80A47CD +SET_FUNC BWL_AddTilesMoved, 0x80A481D +SET_FUNC BWL_AddExpGained, 0x80A487D +SET_FUNC StoreSomeUnitSetFlags, 0x80A48DD +SET_FUNC BWL_GetTotalBattles, 0x80A4905 +SET_FUNC BWL_GetTotalWins, 0x80A4929 +SET_FUNC BWL_GetTotalExpGained, 0x80A49A5 +SET_FUNC BWL_AddFavoritismValue, 0x80A4A35 +SET_FUNC IsPlaythroughIdUnique, 0x80A4B1D +SET_FUNC GetNewPlaythroughId, 0x80A4B6D +SET_FUNC GGM_GetCompletionCount, 0x80A4B91 +SET_FUNC GetGlobalCompletionCount, 0x80A4BB1 +SET_FUNC GGM_RegisterCompletedPlaythrough, 0x80A4BD1 +SET_FUNC GetCurerentGameMode, 0x80A4C09 +SET_FUNC BWL_GetEntry, 0x80A4CFD +SET_FUNC Get0203EDB4, 0x80A4D29 +SET_FUNC Set0203EDB4, 0x80A4D35 +SET_FUNC Save0203EDB4, 0x80A4D41 +SET_FUNC Load0203EDB4, 0x80A4D5D +SET_FUNC UpdateLastUsedGameSaveSlot, 0x80A4D81 +SET_FUNC GetLastUsedGameSaveSlot, 0x80A4DA1 +SET_FUNC SaveGame, 0x80A5011 +SET_FUNC LoadGame, 0x80A5129 +SET_FUNC SaveMetadata_CheckId, 0x80A5219 +SET_FUNC LoadSavedChapterData, 0x80A522D +SET_FUNC SaveUnit, 0x80A533D +SET_FUNC LoadSavedUnit, 0x80A5795 +SET_FUNC SaveRNGState_Maybe, 0x80A59E1 +SET_FUNC ClearSaveBlock, 0x80A5A21 +SET_FUNC SaveSuspendedGame, 0x80A5A49 +SET_FUNC LoadSuspendedGame, 0x80A5C15 +SET_FUNC PackUnitStructForSuspend, 0x80A5E11 +SET_FUNC UnpackUnitStructFromSuspend, 0x80A6119 +SET_FUNC SaveTrapStructs, 0x80A6371 +SET_FUNC GetLastSuspendSaveId, 0x80A63B1 +SET_FUNC GetNextSuspendSaveId, 0x80A63D1 +SET_FUNC UpdateNextSuspendSaveId, 0x80A63E1 +SET_FUNC ComputeSaveChecksum, 0x80A6409 +SET_FUNC SaveMetadata_VerifyChecksum, 0x80A6431 +SET_FUNC SaveMetadata_ComputeChecksum, 0x80A6455 +SET_FUNC SaveWMStuff, 0x80A70B1 +SET_FUNC LoadWMStuff, 0x80A7139 +SET_FUNC Loop6C_savemenu, 0x80A9025 +SET_FUNC Make6C_savemenu, 0x80AA4C1 +SET_FUNC Make6C_savemenu2, 0x80AA519 +SET_FUNC savemenu_SetDifficultyChoice, 0x80AA52D +SET_FUNC StartSaveDraw, 0x80AB301 +SET_FUNC nullsub_64, 0x80AC3DD +SET_FUNC NewNewGameDifficultySelect, 0x80AC3E1 +SET_FUNC _CallDifferedLoop, 0x80AD2E9 +SET_FUNC Get6CDifferedLoop6C, 0x80AD2F9 +SET_FUNC DeleteEach6CDifferedLoop, 0x80AD31D +SET_FUNC Find6CDifferedLoop, 0x80AD339 +SET_FUNC EnableAllGfx, 0x80AD5D9 +SET_FUNC StartSmallBrownNameBoxes, 0x80ADB7D +SET_FUNC EndSmallBrownNameBoxes, 0x80ADC91 +SET_FUNC FadeInOut_Init, 0x80AE18D +SET_FUNC FadeIn_Loop, 0x80AE1A1 +SET_FUNC FadeOut_Loop, 0x80AE201 +SET_FUNC FadeInOut_DisableGfx, 0x80AE249 +SET_FUNC FadeInExists, 0x80AE2A1 +SET_FUNC FadeOutExists, 0x80AE2B9 +SET_FUNC NewFadeIn, 0x80AE2D1 +SET_FUNC NewFadeOut, 0x80AE2F5 +SET_FUNC nullsub_65, 0x80AF229 +SET_FUNC nullsub_66, 0x80B05C1 +SET_FUNC nullsub_67, 0x80B2519 +SET_FUNC Make6C_opinfo, 0x80B29F9 +SET_FUNC Shop6C_GetPortraitIndex, 0x80B4155 +SET_FUNC MakeShopArmory, 0x80B41E1 +SET_FUNC MakeShopVendor, 0x80B4201 +SET_FUNC MakeShop, 0x80B4241 +SET_FUNC SuspendCommand, 0x80B5D5D +SET_FUNC GetOverallRank, 0x80B6071 +SET_FUNC GetChapterTacticsRank, 0x80B6145 +SET_FUNC GetChapterSurvivalRank, 0x80B61C5 +SET_FUNC GetChapterDeathCount, 0x80B6285 +SET_FUNC GetChapterFundsRank, 0x80B62DD +SET_FUNC GetChapterWinPerc, 0x80B6359 +SET_FUNC GetChapterCombatRank, 0x80B63F1 +SET_FUNC GetChapterExpRank, 0x80B6425 +SET_FUNC ComputeChapterRankings, 0x80B6505 +SET_FUNC nullsub_6, 0x80B8189 +SET_FUNC nullsub_7, 0x80B818D +SET_FUNC nullsub_5, 0x80B81FD +SET_FUNC nullsub_57, 0x80B867D +SET_FUNC GM_OnEnd, 0x80B8A19 +SET_FUNC InitGraphicSystemsForWorldMap, 0x80B8D5D +SET_FUNC DeployAllBlueUnits, 0x80B8FA5 +SET_FUNC nullsub_22, 0x80B8FD1 +SET_FUNC GM_80B8FD4, 0x80B8FD5 +SET_FUNC GM_80B9154, 0x80B9155 +SET_FUNC WorldMap_HideEverything, 0x80B9A11 +SET_FUNC WorldMap_InitChapterTransition, 0x80B9B39 +SET_FUNC WorldMap_WaitForChapterIntroEvents, 0x80B9CB1 +SET_FUNC DoNothing, 0x80B9F09 +SET_FUNC EndWM, 0x80BA025 +SET_FUNC GM_Start, 0x80BA2E5 +SET_FUNC GM_SetupChapterStuff, 0x80BA335 +SET_FUNC GM_CallChapterWMIntroEvent, 0x80BA3D5 +SET_FUNC StartGMapScreenVSync, 0x80BA719 +SET_FUNC GMapScreen_OnEnd, 0x80BA759 +SET_FUNC GMapScreen_Init, 0x80BA765 +SET_FUNC StartGMapScreen, 0x80BABF1 +SET_FUNC MMS_GetGfx, 0x80BAC1D +SET_FUNC MMS_GetROMTCS2, 0x80BAC31 +SET_FUNC GetMapUnitMMSGfxBuffer, 0x80BAC45 +SET_FUNC GmapUnit_Destruct, 0x80BAC59 +SET_FUNC GmapUnit_Init, 0x80BAC65 +SET_FUNC GmapUnit_Loop, 0x80BAC79 +SET_FUNC GetPaletteIdForAllegience, 0x80BADD5 +SET_FUNC NewMapUnit, 0x80BADF1 +SET_FUNC MapUnitC_DeleteGmapUnit, 0x80BAF0D +SET_FUNC MapUnitC_SetPosition, 0x80BAF35 +SET_FUNC MapUnitC_SetTCSAnim, 0x80BAF85 +SET_FUNC MapUnitC_SetTCSOAMIndex, 0x80BB019 +SET_FUNC MapUnitC_SetAllegienceColorIndex, 0x80BB039 +SET_FUNC MapUnitC_MarkSomething, 0x80BB0A5 +SET_FUNC GmapUnitContainer_Destruct, 0x80BB1A1 +SET_FUNC GmapUnitContainer_Init, 0x80BB1C9 +SET_FUNC NewGmapUnitContainer, 0x80BB1E9 +SET_FUNC GmapUnitFade_Destruct, 0x80BB20D +SET_FUNC GmapUnitFade_Init, 0x80BB265 +SET_FUNC GmapUnitFade_Loop, 0x80BB349 +SET_FUNC WMLocation_GetChapterId, 0x80BB5B1 +SET_FUNC WMLoc_GetNextLocId, 0x80BB5E5 +SET_FUNC GmapScreen2_Destruct, 0x80BB719 +SET_FUNC GmapScreen2_Init, 0x80BB725 +SET_FUNC GmapScreen2_Loop, 0x80BB799 +SET_FUNC nullsub_59, 0x80BBA81 +SET_FUNC GmapCursor_Init, 0x80BBA85 +SET_FUNC GmapCursor_Destruct, 0x80BBAD5 +SET_FUNC NewGmapCursor, 0x80BBBC5 +SET_FUNC nullsub_38, 0x80BBEB5 +SET_FUNC GMapRoute_StartTransition, 0x80BC0BD +SET_FUNC GMapRoute_EnableBGSyncs, 0x80BC185 +SET_FUNC GMapRoute_TransitionLoop, 0x80BC1B9 +SET_FUNC GMapRoute_TransitionEnd, 0x80BC229 +SET_FUNC MapRoute_BeginRouteTransition, 0x80BC29D +SET_FUNC GMapRoute_80BC2DC, 0x80BC2DD +SET_FUNC StartGMapRoute, 0x80BC3A5 +SET_FUNC SetupNewWMRoute, 0x80BC8BD +SET_FUNC WM_RemovePath, 0x80BC8ED +SET_FUNC GetBattleMapType, 0x80BD069 +SET_FUNC nullsub_37, 0x80BD2A9 +SET_FUNC GetCharacterClassId, 0x80BD2AD +SET_FUNC MapMUPrim_MakeUnitForChar, 0x80BD2ED +SET_FUNC MapMUPrim_MakeUnitForClass, 0x80BD375 +SET_FUNC MapMUPrim_RemoveLinkedMapUnit, 0x80BD3E9 +SET_FUNC nullsub_70, 0x80BD419 +SET_FUNC nullsub_49, 0x80BDC01 +SET_FUNC MapMU_FillPrim, 0x80BDC05 +SET_FUNC NewMapMU, 0x80BDC29 +SET_FUNC MapMU_SetUnit, 0x80BDC3D +SET_FUNC MapMU_RemoveUnit, 0x80BDD2D +SET_FUNC MapMU_SetUnitTCSOAMIndex, 0x80BE0E9 +SET_FUNC MapMU_80BE108, 0x80BE109 +SET_FUNC MapMU_SetUnitClass, 0x80BE535 +SET_FUNC MapMU_SetUnitChar, 0x80BE551 +SET_FUNC WM_PutClassSprite, 0x80BF4D1 +SET_FUNC WM_PutCharSprite, 0x80BF505 +SET_FUNC WM_RemoveUnit, 0x80BF539 +SET_FUNC WM_DrawPath, 0x80BF58D +SET_FUNC nullsub_50, 0x80BF5C1 +SET_FUNC nullsub_48, 0x80BFD7D +SET_FUNC StartGMapMuEntry, 0x80C01DD +SET_FUNC nullsub_47, 0x80C0549 +SET_FUNC GetWMCenteredCameraPosition, 0x80C0859 +SET_FUNC nullsub_72, 0x80C18E9 +SET_FUNC Make6C_Gmap_RM, 0x80C2421 +SET_FUNC GetWMDisplayPosition, 0x80C24AD +SET_FUNC nullsub_71, 0x80C3EC5 +SET_FUNC nullsub_23, 0x80C6101 +SET_FUNC AddSomeChild6C, 0x80C6739 +SET_FUNC DeleteSome6C, 0x80C674D +SET_FUNC StorePaletteToBufferMaybe, 0x80C6761 +SET_FUNC Initialize6CIntroSequence, 0x80C6A55 +SET_FUNC Until6C2AIs8Callback, 0x80C6E91 +SET_FUNC PrepareHealthAndSafetyScreen, 0x80CC1F9 +SET_FUNC NewPromotionMain, 0x80CC469 +SET_FUNC NewPromotionMain_raw, 0x80CC499 +SET_FUNC PromotionInit_SetNullState, 0x80CC905 +SET_FUNC PromotionInit_Loop, 0x80CC911 +SET_FUNC NewPromotion, 0x80CCA15 +SET_FUNC ChangePromotionClassDescText, 0x80CCA65 +SET_FUNC PromotionDisplay_InitClassName, 0x80CCAAD +SET_FUNC PromotionDisplay_DrawClassName, 0x80CCB41 +SET_FUNC IsThirdTraineePromotionAllowed, 0x80CCCA5 +SET_FUNC Make6C_PromotionSub, 0x80CCD35 +SET_FUNC PromotionDisplay_Init, 0x80CCD49 +SET_FUNC PromotionDisplay_InitClassDesc, 0x80CCF61 +SET_FUNC PromotionDisplay_MainLoop, 0x80CD015 +SET_FUNC GetClassAnimationIdForWeapon, 0x80CD571 +SET_FUNC PromotionCommand_OnSelect, 0x80CDB35 +SET_FUNC PromotionCommand_OnTextDraw, 0x80CDCC5 +SET_FUNC PromotionCommand_OnChange, 0x80CDD01 +SET_FUNC Usability_ThirdPromotionOption, 0x80CDD39 +SET_FUNC PromotionMenuSelect_OnInit, 0x80CDD79 +SET_FUNC nullsub_60, 0x80CDDD5 +SET_FUNC nullsub_61, 0x80CDDD9 +SET_FUNC StartPromotionMenuSelect, 0x80CDDDD +SET_FUNC m4a_1, 0x80CF4B9 +SET_FUNC SoundMain, 0x80CF4C9 +SET_FUNC SoundMainRAM, 0x80CF54D +SET_FUNC SoundMainBTM, 0x80CF8F1 +SET_FUNC RealClearChain, 0x80CF909 +SET_FUNC ply_fine, 0x80CF929 +SET_FUNC MPlayJumpTableCopy, 0x80CF959 +SET_FUNC ld_r3_tp_adr_i, 0x80CF98D +SET_FUNC ply_goto, 0x80CF999 +SET_FUNC ply_patt, 0x80CF9B9 +SET_FUNC ply_pend, 0x80CF9D5 +SET_FUNC ply_rept, 0x80CF9E9 +SET_FUNC ply_prio, 0x80CFA19 +SET_FUNC ply_tempo, 0x80CFA25 +SET_FUNC ply_keysh, 0x80CFA39 +SET_FUNC ply_voice, 0x80CFA4D +SET_FUNC ply_vol, 0x80CFA7D +SET_FUNC ply_pan, 0x80CFA91 +SET_FUNC ply_bend, 0x80CFAA5 +SET_FUNC ply_bendr, 0x80CFAB9 +SET_FUNC ply_lfodl, 0x80CFACD +SET_FUNC ply_modt, 0x80CFAD9 +SET_FUNC ply_tune, 0x80CFAF1 +SET_FUNC ply_port, 0x80CFB05 +SET_FUNC m4aSoundVSync, 0x80CFB1D +SET_FUNC MPlayMain, 0x80CFB69 +SET_FUNC TrackStop, 0x80CFDD1 +SET_FUNC SoundStuff_80D0158, 0x80D0159 +SET_FUNC m4aSoundInit, 0x80D0179 +SET_FUNC m4aSoundMain, 0x80D01F1 +SET_FUNC m4aSongNumStart, 0x80D01FD +SET_FUNC m4aSongNumStop, 0x80D02C9 +SET_FUNC m4aMPlayFadeOut, 0x80D0395 +SET_FUNC m4aMPlayFadeOutTemporarily, 0x80D03A5 +SET_FUNC m4aMPlayFadeIn, 0x80D03C5 +SET_FUNC m4aMPlayImmInit, 0x80D03ED +SET_FUNC MPlayExtender, 0x80D0435 +SET_FUNC MusicPlayerJumpTableCopy, 0x80D054D +SET_FUNC ClearChain, 0x80D0551 +SET_FUNC Clear64byte, 0x80D0565 +SET_FUNC SoundInit, 0x80D0579 +SET_FUNC SampleFreqSet, 0x80D0671 +SET_FUNC m4aSoundMode, 0x80D0715 +SET_FUNC SoundClear, 0x80D07AD +SET_FUNC m4aSoundVSyncOff, 0x80D0801 +SET_FUNC m4aSoundVSyncOn, 0x80D087D +SET_FUNC MPlayOpen, 0x80D08B9 +SET_FUNC MPlayStart, 0x80D0931 +SET_FUNC m4aMPlayStop, 0x80D0A15 +SET_FUNC FadeOutBody, 0x80D0A55 +SET_FUNC TrkVolPitSet, 0x80D0B1D +SET_FUNC MidiKeyToCgbFreq, 0x80D0BD1 +SET_FUNC CgbOscOff, 0x80D0C79 +SET_FUNC CgbModVol, 0x80D0CC9 +SET_FUNC m4aMPlayVolumeControl, 0x80D11A5 +SET_FUNC ply_memacc, 0x80D1569 +SET_FUNC ply_xswee, 0x80D1635 +SET_FUNC ply_xcmd_0C, 0x80D1641 +SET_FUNC ply_xcmd_0D, 0x80D1655 +SET_FUNC DummyFunc, 0x80D1669 +SET_FUNC ArcTan2, 0x80D166D +SET_FUNC BgAffineSet, 0x80D1671 +SET_FUNC CpuFastSet, 0x80D1675 +SET_FUNC CpuSet, 0x80D1679 +SET_FUNC Div, 0x80D167D +SET_FUNC DivArm, 0x80D1681 +SET_FUNC Mod, 0x80D1685 +SET_FUNC HuffUnComp, 0x80D168D +SET_FUNC LZ77UnCompVram, 0x80D1691 +SET_FUNC LZ77UnCompWram, 0x80D1695 +SET_FUNC SVC_Multiboot, 0x80D1699 +SET_FUNC ObjAffineSet, 0x80D16A1 +SET_FUNC RLUnCompVram, 0x80D16A5 +SET_FUNC RLUnCompWram, 0x80D16A9 +SET_FUNC RegisterRamReset, 0x80D16AD +SET_FUNC SVC_Sqrt, 0x80D16D9 +SET_FUNC VBlankIntrWait, 0x80D16DD +SET_FUNC ReadSramFast_Core, 0x80D16E5 +SET_FUNC WriteSramFast, 0x80D1725 +SET_FUNC VerifySramFast_Core, 0x80D1765 +SET_FUNC SetSramFastFunc, 0x80D17B1 +SET_FUNC WriteAndVerifySramFast, 0x80D184D +SET_FUNC llsl_thumb, 0x80D188D +SET_FUNC BXR1, 0x80D18C5 +SET_FUNC BXR2, 0x80D18C9 +SET_FUNC BXR3, 0x80D18CD +SET_FUNC BXR4, 0x80D18D1 +SET_FUNC BXR5, 0x80D18D5 +SET_FUNC BXR6, 0x80D18D9 +SET_FUNC BXR7, 0x80D18DD +SET_FUNC BXR8, 0x80D18E1 +SET_FUNC BXR9, 0x80D18E5 +SET_FUNC BXR10, 0x80D18E9 +SET_FUNC BXR11, 0x80D18ED +SET_FUNC BXR12, 0x80D18F1 +SET_FUNC BXSP, 0x80D18F5 +SET_FUNC BXLR, 0x80D18F9 +SET_FUNC __divsi3, 0x80D18FD +SET_FUNC nullsub_1, 0x80D1991 +SET_FUNC __modsi3, 0x80D1995 +SET_FUNC _div, 0x80D1AD5 +SET_FUNC __umodsi3, 0x80D1B4D +SET_FUNC memcpy, 0x80D1C0D +SET_FUNC memset, 0x80D1C6D +SET_FUNC .gcc2_compiled._11, 0x80D1CC1 +SET_FUNC sprintf, 0x80D1CFD +SET_FUNC strcpy, 0x80D1D3D +SET_FUNC strlen, 0x80D1D89 +SET_FUNC strstr, 0x80D1DCD +SET_FUNC .gcc2_compiled._15, 0x80D1E11 +SET_FUNC __sbprintf, 0x80D1E31 +SET_FUNC vfprintf, 0x80D1EA5 +SET_FUNC _vfprintf_r, 0x80D1EB9 +SET_FUNC cvt, 0x80D2E19 +SET_FUNC exponent, 0x80D2F0D +SET_FUNC .gcc2_compiled._16, 0x80D2F7D +SET_FUNC .gcc2_compiled._17, 0x80D2FB1 +SET_FUNC _dtoa_r, 0x80D31B9 +SET_FUNC .gcc2_compiled._19, 0x80D3EB1 +SET_FUNC __sfmoreglue, 0x80D3F7D +SET_FUNC __sfp, 0x80D3FAD +SET_FUNC _cleanup_r, 0x80D4021 +SET_FUNC _cleanup, 0x80D4031 +SET_FUNC __sinit, 0x80D4041 +SET_FUNC .gcc2_compiled._21, 0x80D40A1 +SET_FUNC _malloc_trim_r, 0x80D4261 +SET_FUNC .gcc2_compiled._22, 0x80D4321 +SET_FUNC .gcc2_compiled._23, 0x80D454D +SET_FUNC .gcc2_compiled._24, 0x80D458D +SET_FUNC _localeconv_r, 0x80D45C9 +SET_FUNC setlocale, 0x80D45D1 +SET_FUNC localeconv, 0x80D45E9 +SET_FUNC .gcc2_compiled._25, 0x80D45F9 +SET_FUNC .gcc2_compiled._26, 0x80D46D5 +SET_FUNC _malloc_r, 0x80D4831 +SET_FUNC .gcc2_compiled._27, 0x80D4BF1 +SET_FUNC .gcc2_compiled._28, 0x80D4C1D +SET_FUNC .gcc2_compiled._29, 0x80D4C9D +SET_FUNC nullsub_3, 0x80D4D25 +SET_FUNC nullsub_4, 0x80D4D29 +SET_FUNC .gcc2_compiled._30, 0x80D4D2D +SET_FUNC _Bfree, 0x80D4D85 +SET_FUNC _multadd, 0x80D4D9D +SET_FUNC _s2b, 0x80D4E35 +SET_FUNC _hi0bits, 0x80D4EB9 +SET_FUNC _lo0bits, 0x80D4F11 +SET_FUNC _i2b, 0x80D4F95 +SET_FUNC _multiply, 0x80D4FA9 +SET_FUNC _pow5mult, 0x80D5115 +SET_FUNC _lshift, 0x80D51AD +SET_FUNC __mcmp, 0x80D524D +SET_FUNC __mdiff, 0x80D528D +SET_FUNC _ulp, 0x80D537D +SET_FUNC _b2d, 0x80D53C9 +SET_FUNC _d2b, 0x80D5485 +SET_FUNC _ratio, 0x80D556D +SET_FUNC _mprec_log10, 0x80D55BD +SET_FUNC .gcc2_compiled._31, 0x80D55FD +SET_FUNC .gcc2_compiled._32, 0x80D5621 +SET_FUNC .gcc2_compiled._44, 0x80D5641 +SET_FUNC .gcc2_compiled._33, 0x80D566D +SET_FUNC __swrite, 0x80D56A1 +SET_FUNC __sseek, 0x80D56E1 +SET_FUNC __sclose, 0x80D5721 +SET_FUNC .gcc2_compiled._35, 0x80D578D +SET_FUNC remap_handle, 0x80D57AD +SET_FUNC initialise_monitor_handles, 0x80D57F9 +SET_FUNC get_errno, 0x80D5869 +SET_FUNC error, 0x80D587D +SET_FUNC wrap, 0x80D5891 +SET_FUNC _swiread, 0x80D58A9 +SET_FUNC _read, 0x80D58CD +SET_FUNC _swilseek, 0x80D5915 +SET_FUNC _lseek, 0x80D5999 +SET_FUNC _swiwrite, 0x80D59A5 +SET_FUNC _write, 0x80D59C9 +SET_FUNC _swiopen, 0x80D5A15 +SET_FUNC _open, 0x80D5AB5 +SET_FUNC _swiclose, 0x80D5AC9 +SET_FUNC _close, 0x80D5AFD +SET_FUNC _exit, 0x80D5B09 +SET_FUNC _kill, 0x80D5B29 +SET_FUNC _getpid, 0x80D5B49 +SET_FUNC _sbrk, 0x80D5B4D +SET_FUNC _fstat, 0x80D5B89 +SET_FUNC _unlink, 0x80D5B95 +SET_FUNC _raise, 0x80D5B9D +SET_FUNC _gettimeofday, 0x80D5BA1 +SET_FUNC _times, 0x80D5BCD +SET_FUNC .gcc2_compiled._36, 0x80D5BF1 +SET_FUNC .gcc2_compiled._37, 0x80D5C21 +SET_FUNC .gcc2_compiled._39, 0x80D5CA5 +SET_FUNC .gcc2_compiled._40, 0x80D5CB1 +SET_FUNC .gcc2_compiled._41, 0x80D5CDD +SET_FUNC isatty, 0x80D5CFD +SET_FUNC alarm, 0x80D5D01 +SET_FUNC .gcc2_compiled._42, 0x80D5D05 +SET_FUNC .gcc2_compiled._43, 0x80D5D35 +SET_FUNC .gcc2_compiled._47, 0x80D5D65 +SET_FUNC __unpack_d, 0x80D5EAD +SET_FUNC _fpadd_parts, 0x80D5F85 +SET_FUNC __adddf3, 0x80D61F1 +SET_FUNC __subdf3, 0x80D6221 +SET_FUNC __muldf3, 0x80D6259 +SET_FUNC __divdf3, 0x80D6501 +SET_FUNC __fpcmp_parts_d, 0x80D6689 +SET_FUNC __cmpdf2, 0x80D6789 +SET_FUNC __eqdf2, 0x80D67B5 +SET_FUNC __nedf2, 0x80D6801 +SET_FUNC __gtdf2, 0x80D684D +SET_FUNC __gedf2, 0x80D6899 +SET_FUNC __ltdf2, 0x80D68E5 +SET_FUNC __ledf2, 0x80D6931 +SET_FUNC __floatsidf, 0x80D697D +SET_FUNC __fixdfsi, 0x80D69F9 +SET_FUNC __negdf2, 0x80D6A6D +SET_FUNC __make_dp, 0x80D6A95 +SET_FUNC __truncdfsf2, 0x80D6ABD +SET_FUNC .gcc2_compiled._48, 0x80D6B01 +SET_FUNC __unpack_f, 0x80D6BB9 +SET_FUNC _fpadd_parts_0, 0x80D6C35 +SET_FUNC __addsf3, 0x80D6DB1 +SET_FUNC __subsf3, 0x80D6DDD +SET_FUNC __mulsf3, 0x80D6E11 +SET_FUNC __divsf3, 0x80D6F75 +SET_FUNC __fpcmp_parts_f, 0x80D7061 +SET_FUNC __cmpsf2, 0x80D7145 +SET_FUNC __eqsf2, 0x80D716D +SET_FUNC __nesf2, 0x80D71B5 +SET_FUNC __gtsf2, 0x80D71FD +SET_FUNC __gesf2, 0x80D7245 +SET_FUNC __ltsf2, 0x80D728D +SET_FUNC __lesf2, 0x80D72D5 +SET_FUNC __floatsisf, 0x80D731D +SET_FUNC __fixsfsi, 0x80D737D +SET_FUNC __negsf2, 0x80D73E5 +SET_FUNC __make_fp, 0x80D7409 +SET_FUNC __extendsfdf2, 0x80D7421 +SET_FUNC .gcc2_compiled._49, 0x80D744D +SET_FUNC .gcc2_compiled._50, 0x80D7481 +SET_FUNC ClearOAMBuffer, 0x80D7499 +SET_FUNC BgTileMap_ApplyTSA, 0x80D74A1 +SET_FUNC BgTileMap_FillRect, 0x80D74A9 +SET_FUNC BgTileMap_CopyRect, 0x80D74B9 +SET_FUNC ComputeChecksum32, 0x80D74C1 + +SET_DATA gAISFrontLeft, 0x2000000 +SET_DATA gAISBackLeft, 0x2000004 +SET_DATA gAISFrontRight, 0x2000008 +SET_DATA gAISBackRight, 0x200000C +SET_DATA gpBattleAnimFrameStartLookup, 0x200005C +SET_DATA gpProcEkrBattle, 0x2000064 +SET_DATA gpProcEkrGauge, 0x2000068 +SET_DATA gpProcEkrDispUP, 0x200006C +SET_DATA gpMapBuffer, 0x2001000 +SET_DATA gTradeMenuTextHandles, 0x200278C +SET_DATA gaBattleForecastTextStructs, 0x2002FDC +SET_DATA gStatScreenVOffset, 0x2003C02 +SET_DATA gpStatScreenUnit, 0x2003C08 +SET_DATA gpStatScreenMoveUnit, 0x2003C0C +SET_DATA gpCurrentHelpTextStruct, 0x2003C10 +SET_DATA gpStatScreenPageBg0Map, 0x2003D2C +SET_DATA gAISOAM_20041C8, 0x20041C8 +SET_DATA gpStatScreenPageBg2Map, 0x200472C +SET_DATA gSortedUnitList, 0x200D6E0 +SET_DATA gStringBufferAlt, 0x200F17C +SET_DATA gAISFrames_Left, 0x200F1C8 +SET_DATA gAISFrames_Right, 0x2011BC8 +SET_DATA gPrepScreenUnitList, 0x20121CC +SET_DATA gPrepScreenItemList, 0x20122D4 +SET_DATA gPrepScreenItemListSize, 0x2012F54 +SET_DATA gSomeFontStruct, 0x2017648 +SET_DATA gSomeTextStruct, 0x2017660 +SET_DATA gBool_SpellFxActive, 0x201772C +SET_DATA gBool_EfxDeathActive, 0x2017734 +SET_DATA gSomeSubAnim6CCounter, 0x201774C +SET_DATA gpEfxStatusUnit, 0x201776C +SET_DATA gpEfxWeaponIcon, 0x2017774 +SET_DATA gpEfxSpellCast, 0x2017778 +SET_DATA gpEfxHPBarColorChange, 0x201777C +SET_DATA gSpellAnimBgGfxBuffer_Maybe, 0x2017790 +SET_DATA gSpellFxTsaBuffer, 0x2019790 +SET_DATA gSpellAnimObjGfxBuffer_Maybe, 0x201A790 +SET_DATA gBattleAnimBoolEkrNamewinAppearActive, 0x201FAD0 +SET_DATA gBattleAnimBoolEndedRounds, 0x201FB04 +SET_DATA gpEkrAnimeDrvProc, 0x201FB18 +SET_DATA gpBattleAnimSomeSheetData, 0x201FB1C +SET_DATA gpEkrTogiColor, 0x201FB24 +SET_DATA gSomeBattleAISStruct_RightUnit, 0x2020048 +SET_DATA gpSomeBattleAIS_RightUnit, 0x2020054 +SET_DATA gSomeBattleAISStruct_LeftUnit, 0x2020058 +SET_DATA gpSomeBattleAIS_LeftUnit, 0x2020064 +SET_DATA gpEkrClasschg, 0x20200B0 +SET_DATA gpEkrLevelup, 0x20200B4 +SET_DATA gpSomeUnitStruct2, 0x202010C +SET_DATA gLevelUpLevelBase, 0x2020112 +SET_DATA gLevelUpStatsBase, 0x2020114 +SET_DATA gLevelUpStatsAfter, 0x2020124 +SET_DATA gBattleAnimTriangleAttackEnded, 0x202013C +SET_DATA gpBattlePopupProc, 0x2020140 +SET_DATA gBattlePopupEnded, 0x2020144 +SET_DATA gGenericBuffer, 0x2020188 +SET_DATA gPaletteBuffer, 0x20228A8 +SET_DATA gPalette1Buffer, 0x20228C8 +SET_DATA gPalette2Buffer, 0x20228E8 +SET_DATA gPalette3Buffer, 0x2022908 +SET_DATA gPalette4Buffer, 0x2022928 +SET_DATA gPalette6Buffer, 0x2022968 +SET_DATA gPalette7Buffer, 0x2022988 +SET_DATA gPaletteEBuffer, 0x2022A68 +SET_DATA gPaletteFBuffer, 0x2022A88 +SET_DATA gPalette10Buffer, 0x2022AA8 +SET_DATA gPalette12Buffer, 0x2022AE8 +SET_DATA gPalette13Buffer, 0x2022B08 +SET_DATA gPalette14Buffer, 0x2022B28 +SET_DATA gPalette15Buffer, 0x2022B48 +SET_DATA gPalette16Buffer, 0x2022B68 +SET_DATA gPalette17Buffer, 0x2022B88 +SET_DATA gPalette18Buffer, 0x2022BA8 +SET_DATA gPalette19Buffer, 0x2022BC8 +SET_DATA gPalette1ABuffer, 0x2022BE8 +SET_DATA gPalette1BBuffer, 0x2022C08 +SET_DATA gPalette1CBuffer, 0x2022C28 +SET_DATA gPalette1DBuffer, 0x2022C48 +SET_DATA gPalette1EBuffer, 0x2022C68 +SET_DATA gPalette1FBuffer, 0x2022C88 +SET_DATA gBg0MapBuffer, 0x2022CA8 +SET_DATA gBg1MapBuffer, 0x20234A8 +SET_DATA gBg2MapBuffer, 0x2023CA8 +SET_DATA gBg3MapBuffer, 0x20244A8 +SET_DATA gBg0MapTarget, 0x2024CA8 +SET_DATA gBg1MapTarget, 0x2024CAC +SET_DATA gBg2MapTarget, 0x2024CB0 +SET_DATA gBg3MapTarget, 0x2024CB4 +SET_DATA gpMainCallback, 0x2024CB8 +SET_DATA gKeyStatus, 0x2024CC0 +SET_DATA gTileRegistryNextIndex, 0x2024CD4 +SET_DATA gTileRegistryTotalSize, 0x2024CD8 +SET_DATA gTileRegistry, 0x2024CDC +SET_DATA gSoundStatus, 0x2024E5C +SET_DATA gProcStatePool, 0x2024E68 +SET_DATA gProcAllocLookup, 0x2026968 +SET_DATA gProcAllocIterator, 0x2026A6C +SET_DATA gProcRoot, 0x2026A70 +SET_DATA gIconIndexToDataLookup, 0x2026A90 +SET_DATA gIconDataToIndexLookup, 0x2026E10 +SET_DATA gDebugTextData, 0x2026E30 +SET_DATA gSmallString, 0x2028E44 +SET_DATA gSmallStringEnd, 0x2028E4C +SET_DATA gDebugFontObjTileRoot, 0x2028E50 +SET_DATA gDebugFontObjPaletteMask, 0x2028E54 +SET_DATA gDefaultFontData, 0x2028E58 +SET_DATA gpCurrentFont, 0x2028E70 +SET_DATA gSpecialUiCharAllocationTable, 0x2028E78 +SET_DATA gAISArray, 0x2028F78 +SET_DATA gpAISFirst, 0x2029D88 +SET_DATA gHiObjPool, 0x2029D8C +SET_DATA gHiObjNodes, 0x202A58C +SET_DATA gFaceGfxData, 0x202A68C +SET_DATA gCurrentTextString, 0x202A6AC +SET_DATA gCurrentTextIndex, 0x202B6AC +SET_DATA gPaletteFadeBuffer, 0x202B6B0 +SET_DATA gGameState, 0x202BCB0 +SET_DATA gChapterData, 0x202BCF0 +SET_DATA gPreviousCursorDisplayPosition, 0x202BD3C +SET_DATA gCursorAnimationClockReference, 0x202BD40 +SET_DATA gSomeCameraMovementTableMaybe, 0x202BD44 +SET_DATA gActiveUnitId, 0x202BE44 +SET_DATA gActiveUnitPosition, 0x202BE48 +SET_DATA gUnitArray, 0x202BE4C +SET_DATA gMapSize, 0x202E4D4 +SET_DATA gMapUnit, 0x202E4D8 +SET_DATA gMapTerrain, 0x202E4DC +SET_DATA gMapMovement, 0x202E4E0 +SET_DATA gMapRange, 0x202E4E4 +SET_DATA gMapFog, 0x202E4E8 +SET_DATA gMapHidden, 0x202E4EC +SET_DATA gMapMovement2, 0x202E4F0 +SET_DATA gMapUnitPool, 0x202E4F4 +SET_DATA gMapTerrainPool, 0x202ECAC +SET_DATA gMapFogPool, 0x202F464 +SET_DATA gMapHiddenPool, 0x202FC1C +SET_DATA gMapMovement2Pool, 0x20303D4 +SET_DATA gTileConfigBuffer, 0x2030B8C +SET_DATA gMapRawTilesPool, 0x2032F8C +SET_DATA gUnitMoveBuffer, 0x2033EFC +SET_DATA gUnitSubject, 0x2033F3C +SET_DATA gSMSGfxIndexLookup, 0x2033F40 +SET_DATA gSMSGfxBuffer_Frame1, 0x2034010 +SET_DATA gSMSGfxBuffer_Frame2, 0x2036010 +SET_DATA gSMSGfxBuffer_Frame3, 0x2038010 +SET_DATA gSMS16xGfxIndexCounter, 0x203A010 +SET_DATA gSMS32xGfxIndexCounter, 0x203A014 +SET_DATA gSMSHandleArray, 0x203A018 +SET_DATA gSMSHandleIt, 0x203A4C8 +SET_DATA gSMSSyncFlag, 0x203A4CC +SET_DATA gMapSpriteSwitchHoverTimer, 0x203A4D0 +SET_DATA gBattleStats, 0x203A4D4 +SET_DATA gActiveBattleUnit, 0x203A4EC +SET_DATA gTargetBattleUnit, 0x203A56C +SET_DATA gRoundArray, 0x203A5EC +SET_DATA gpCurrentRound, 0x203A608 +SET_DATA gpTradeMenuProc, 0x203A610 +SET_DATA gTrapArray, 0x203A614 +SET_DATA gTrapArrayBack, 0x203A814 +SET_DATA gConvoyItemArray, 0x203A81C +SET_DATA gpSomeUnitPool, 0x203A8E4 +SET_DATA gpSomeUnitIt, 0x203A8E8 +SET_DATA gSomeUnitCounter, 0x203A8EC +SET_DATA gArenaData, 0x203A8F0 +SET_DATA gArenaOpponent, 0x203A910 +SET_DATA gActionData, 0x203A958 +SET_DATA gMovementArrowData, 0x203A990 +SET_DATA gAiData, 0x203AA04 +SET_DATA gFont_203DB64, 0x203DB64 +SET_DATA gNameSelectNameBoxText, 0x203DD1C +SET_DATA gTargetPosition, 0x203DDE8 +SET_DATA gTargetArray, 0x203DDEC +SET_DATA gTargetArraySize, 0x203E0EC +SET_DATA gBoolBattleDeamonActive, 0x203E0F4 +SET_DATA gpEkrBattleDeamon, 0x203E0F8 +SET_DATA gStoredBattleAnimId21Ptr, 0x203E10C +SET_DATA gStoredBattleAnimId22Ptr, 0x203E10E +SET_DATA gSomeAllegienceIdShort, 0x203E116 +SET_DATA gBattleSpellAnimationId1, 0x203E118 +SET_DATA gBattleSpellAnimationId2, 0x203E11A +SET_DATA gSomethingRelatedToAnimAndDistance, 0x203E120 +SET_DATA gBattleAnimRoundTypeArrayMaybe, 0x203E12A +SET_DATA gRoundDamageValuesMaybe, 0x203E156 +SET_DATA gBattleAnimAnimationIndex, 0x203E182 +SET_DATA gpUnitLeft_BattleStruct, 0x203E188 +SET_DATA gpUnitRight_BattleStruct, 0x203E18C +SET_DATA gBattleCharacterIndices, 0x203E190 +SET_DATA gpExtraUnit1, 0x203E194 +SET_DATA gpExtraUnit2, 0x203E198 +SET_DATA gBattleAnimBoolLockSheetGraphicsMaybe, 0x203E1A4 +SET_DATA gBattleHpDisplayedValue, 0x203E1AC +SET_DATA gBoolBattleAnimIsArena, 0x203E1E4 +SET_DATA gMapAnimData, 0x203E1F0 +SET_DATA gSomeUnitId, 0x203E765 +SET_DATA gSomeTextRelatedStuff, 0x203E768 +SET_DATA gSomeX, 0x203E778 +SET_DATA gSomeY, 0x203E779 +SET_DATA gSomeTextId, 0x203E77A +SET_DATA gBWLDataArray, 0x203E884 +SET_DATA gBoolSramWorking, 0x203E88E +SET_DATA gpBWLSaveTarget, 0x203E890 +SET_DATA gBWLDataStorage, 0x203E894 +SET_DATA gChapterWinDataArray, 0x203ECF4 +SET_DATA gEventUnitDataBuffer, 0x203EFB8 +SET_DATA gRNState, 0x3000000 +SET_DATA gOtherRN, 0x3000008 +SET_DATA gBgSyncBits, 0x300000D +SET_DATA gPaletteSyncFlag, 0x300000E +SET_DATA gKeyStatusIgnore, 0x3000010 +SET_DATA gGameClock, 0x3000014 +SET_DATA gpOAMHiBuffer, 0x3000020 +SET_DATA gpOAMHiTarget, 0x3000024 +SET_DATA gpOAMHiSize, 0x300002A +SET_DATA gpOAMLoBuffer, 0x3000030 +SET_DATA gpOAMLoTarget, 0x3000034 +SET_DATA gpOAMLoSize, 0x300003A +SET_DATA gpMusicProcA, 0x3000040 +SET_DATA gpMusicProcB, 0x3000044 +SET_DATA gDialogueState, 0x3000048 +SET_DATA gDialogueText, 0x30000D0 +SET_DATA gDialogueTextChoiceResult, 0x30000E8 +SET_DATA gDialogueFont, 0x30000F0 +SET_DATA gAPArray, 0x3000108 +SET_DATA gEventRangeDisplayUnit, 0x3000434 +SET_DATA gEventCallQueue, 0x3000438 +SET_DATA gEventSlot, 0x30004B8 +SET_DATA gEventSlotQP, 0x30004EC +SET_DATA gEventQueue, 0x30004F0 +SET_DATA gEventCounter, 0x3000568 +SET_DATA gEventCallStack, 0x3000570 +SET_DATA gpPopupUnit, 0x30005F0 +SET_DATA gPopupItem, 0x30005F4 +SET_DATA gPopupNumber, 0x30005F8 +SET_DATA gSomeUnitWordArray, 0x3000600 +SET_DATA gSomeUtilityTextHandle, 0x3000800 +SET_DATA gpCurrentInitMap, 0x3000808 +SET_DATA gMapMovementPool, 0x3000810 +SET_DATA gMapRangePool, 0x3000FC8 +SET_DATA gAiScriptEndedFlag, 0x30017C8 +SET_DATA gBoolIsAi2, 0x30017CC +SET_DATA gpAiScriptCurrent, 0x30017D0 +SET_DATA gpCurrentAiFunctionCall, 0x30017D4 +SET_DATA gpAiBattleWeightFactorTable, 0x30017D8 +SET_DATA gSioBaudRate, 0x30017E0 +SET_DATA gStr_3001850, 0x3001850 +SET_DATA gMenuRelatedList, 0x3001870 +SET_DATA gMoveUnitExtraDataArray, 0x3001900 +SET_DATA gUsedBuffersBitfield, 0x3001A30 +SET_DATA gExtraLongEventMoveBuffer, 0x3001A34 +SET_DATA gSummonedUnitDefinitionBuffer, 0x3001C38 +SET_DATA gActiveEventRegistry, 0x3001C80 +SET_DATA gOAMLoIt, 0x3003070 +SET_DATA gLCDIOBuffer, 0x3003080 +SET_DATA gIRQHandlers, 0x30030F0 +SET_DATA gpARM_FillMovementMapCore, 0x3003128 +SET_DATA gCurrentRotScaleIndex, 0x300312C +SET_DATA gpARM_PushToHiOAM, 0x3003130 +SET_DATA gpHBlankCallback, 0x3003134 +SET_DATA gSharedOAMBuffer, 0x3003140 +SET_DATA gpARM_Draw1DTileTextGlyphCore, 0x3003740 +SET_DATA gOAMHiIt, 0x3003744 +SET_DATA gpHBlankCallback2, 0x3003748 +SET_DATA gpARM_HuffmanTextDecomp, 0x3004150 +SET_DATA gpARM_PushToLoOAM, 0x3004154 +SET_DATA gSomeRotScaleOAMIt, 0x3004158 +SET_DATA gpARM_Func5, 0x3004960 +SET_DATA gOAMAllocIt, 0x3004970 +SET_DATA gpFaceProcs, 0x3004980 +SET_DATA gpSubjectMap, 0x30049A0 +SET_DATA gCurrentMovCostTable, 0x3004BB0 +SET_DATA gActiveUnit, 0x3004E50 +SET_DATA gMovementFillConfig, 0x3004E60 +SET_DATA gpAiDecisionMaker, 0x3004F10 +SET_DATA gBattleAnimCurrentAISIndex, 0x3004FAC +SET_DATA gGlobalTriggerData, 0x3005250 +SET_DATA gLocalTriggerStorage, 0x3005270 +SET_DATA gSomeWMEventRelatedStruct, 0x3005280 +SET_DATA gWMCamera, 0x3005282 +SET_DATA gSomeBitfield, 0x3005290 +SET_DATA gSomeWMLocation, 0x3005291 +SET_DATA gWMRoutes, 0x3005324 +SET_DATA gSaved, 0x300534E +SET_DATA gMusicPlayerInfo_3006440, 0x3006440 +SET_DATA gMusicPlayerInfo_3006650, 0x3006650 +SET_DATA gpReadSramFast, 0x30067A0 +SET_DATA gpVerifySramFast, 0x30067A4 +SET_DATA gpM4aMainThing, 0x3007FF0 +SET_DATA IRQCheckFlags, 0x3007FF8 +SET_DATA gpGlobalIRQHandler, 0x3007FFC +SET_DATA LCDControl, 0x4000000 +SET_DATA Undocumented_GreenSwap, 0x4000002 +SET_DATA GeneralLCDStatus_STAT_LYC_, 0x4000004 +SET_DATA VerticalCounter_LY_, 0x4000006 +SET_DATA BG0Control, 0x4000008 +SET_DATA BG1Control, 0x400000A +SET_DATA BG2Control, 0x400000C +SET_DATA BG3Control, 0x400000E +SET_DATA BG0X_Offset, 0x4000010 +SET_DATA BG0Y_Offset, 0x4000012 +SET_DATA BG1X_Offset, 0x4000014 +SET_DATA BG1Y_Offset, 0x4000016 +SET_DATA BG2X_Offset, 0x4000018 +SET_DATA BG2Y_Offset, 0x400001A +SET_DATA BG3X_Offset, 0x400001C +SET_DATA BG3Y_Offset, 0x400001E +SET_DATA BG2Rotation_ScalingParameterA_dx_, 0x4000020 +SET_DATA BG2Rotation_ScalingParameterB_dmx_, 0x4000022 +SET_DATA BG2Rotation_ScalingParameterC_dy_, 0x4000024 +SET_DATA BG2Rotation_ScalingParameterD_dmy_, 0x4000026 +SET_DATA BG2ReferencePointX_Coordinate, 0x4000028 +SET_DATA BG2ReferencePointY_Coordinate, 0x400002C +SET_DATA BG3Rotation_ScalingParameterA_dx_, 0x4000030 +SET_DATA BG3Rotation_ScalingParameterB_dmx_, 0x4000032 +SET_DATA BG3Rotation_ScalingParameterC_dy_, 0x4000034 +SET_DATA BG3Rotation_ScalingParameterD_dmy_, 0x4000036 +SET_DATA BG3ReferencePointX_Coordinate, 0x4000038 +SET_DATA BG3ReferencePointY_Coordinate, 0x400003C +SET_DATA Window0HorizontalDimensions, 0x4000040 +SET_DATA Window1HorizontalDimensions, 0x4000042 +SET_DATA Window0VerticalDimensions, 0x4000044 +SET_DATA Window1VerticalDimensions, 0x4000046 +SET_DATA InsideofWindow0and1, 0x4000048 +SET_DATA InsideofOBJWindow_OutsideofWindows, 0x400004A +SET_DATA MosaicSize, 0x400004C +SET_DATA ColorSpecialEffectsSelection, 0x4000050 +SET_DATA AlphaBlendingCoefficients, 0x4000052 +SET_DATA Brightness_Fade_In_Out_Coefficient, 0x4000054 +SET_DATA Channel1Sweepregister_NR10_, 0x4000060 +SET_DATA Channel1Duty_Length_Envelope_NR11_NR12_, 0x4000062 +SET_DATA Channel1Frequency_Control_NR13_NR14_, 0x4000064 +SET_DATA Channel2Duty_Length_Envelope_NR21_NR22_, 0x4000068 +SET_DATA Channel2Frequency_Control_NR23_NR24_, 0x400006C +SET_DATA Channel3Stop_WaveRAMselect_NR30_, 0x4000070 +SET_DATA Channel3Length_Volume_NR31_NR32_, 0x4000072 +SET_DATA Channel3Frequency_Control_NR33_NR34_, 0x4000074 +SET_DATA Channel4Length_Envelope_NR41_NR42_, 0x4000078 +SET_DATA Channel4Frequency_Control_NR43_NR44_, 0x400007C +SET_DATA ControlStereo_Volume_Enable_NR50_NR51_, 0x4000080 +SET_DATA ControlMixing_DMAControl, 0x4000082 +SET_DATA ControlSoundon_off_NR52_, 0x4000084 +SET_DATA SoundPWMControl, 0x4000088 +SET_DATA Channel3WavePatternRAM_2banks___, 0x4000090 +SET_DATA ChannelAFIFO_Data0_3, 0x40000A0 +SET_DATA ChannelBFIFO_Data0_3, 0x40000A4 +SET_DATA DMA0SourceAddress, 0x40000B0 +SET_DATA DMA0DestinationAddress, 0x40000B4 +SET_DATA DMA0WordCount, 0x40000B8 +SET_DATA DMA0Control, 0x40000BA +SET_DATA DMA1SourceAddress, 0x40000BC +SET_DATA DMA1DestinationAddress, 0x40000C0 +SET_DATA DMA1WordCount, 0x40000C4 +SET_DATA DMA1Control, 0x40000C6 +SET_DATA DMA2SourceAddress, 0x40000C8 +SET_DATA DMA2DestinationAddress, 0x40000CC +SET_DATA DMA2WordCount, 0x40000D0 +SET_DATA DMA2Control, 0x40000D2 +SET_DATA DMA3SourceAddress, 0x40000D4 +SET_DATA DMA3DestinationAddress, 0x40000D8 +SET_DATA DMA3WordCount, 0x40000DC +SET_DATA DMA3Control, 0x40000DE +SET_DATA Timer0Counter_Reload, 0x4000100 +SET_DATA Timer0Control, 0x4000102 +SET_DATA Timer1Counter_Reload, 0x4000104 +SET_DATA Timer1Control, 0x4000106 +SET_DATA Timer2Counter_Reload, 0x4000108 +SET_DATA Timer2Control, 0x400010A +SET_DATA Timer3Counter_Reload, 0x400010C +SET_DATA Timer3Control, 0x400010E +SET_DATA SIOData0_Parent__Multi_PlayerMode_, 0x4000120 +SET_DATA SIOData1_1stChild__Multi_PlayerMode_, 0x4000122 +SET_DATA SIOData2_2ndChild__Multi_PlayerMode_, 0x4000124 +SET_DATA SIOData3_3rdChild__Multi_PlayerMode_, 0x4000126 +SET_DATA SIOControlRegister, 0x4000128 +SET_DATA SIOData_Normal_8bitandUARTMode_, 0x400012A +SET_DATA KeyStatus, 0x4000130 +SET_DATA KeyInterruptControl, 0x4000132 +SET_DATA SIOModeSelect_GeneralPurposeData, 0x4000134 +SET_DATA SIOJOYBusControl, 0x4000140 +SET_DATA SIOJOYBusReceiveData, 0x4000150 +SET_DATA SIOJOYBusTransmitData, 0x4000154 +SET_DATA SIOJOYBusReceiveStatus, 0x4000158 +SET_DATA InterruptEnableRegister, 0x4000200 +SET_DATA InterruptRequestFlags_IRQAcknowledge, 0x4000202 +SET_DATA GamePakWaitstateControl, 0x4000204 +SET_DATA InterruptMasterEnableRegister, 0x4000208 +SET_DATA Undocumented_PostBootFlag, 0x4000300 +SET_DATA Undocumented_PowerDownControl, 0x4000301 +SET_DATA gSinLookup, 0x80D751C +SET_DATA gCosLookup, 0x80D759C +SET_DATA gHexNumbers, 0x80D779C +SET_DATA psZero, 0x80D77B0 +SET_DATA gpGenericMiniMugGraphics, 0x80D77BC +SET_DATA gpGenericMiniMugPalettes, 0x80D77DC +SET_DATA gpDialogueTextBoxGfx, 0x80D78EC +SET_DATA gRangeTextIdArray, 0x80D79E8 +SET_DATA gWRankTextIdArray, 0x80D7A10 +SET_DATA gWRankNameIdArray, 0x80D7A30 +SET_DATA gWTypeTextIdArray, 0x80D7A38 +SET_DATA gTradeMenuText_xLookup, 0x80D7C40 +SET_DATA gTradeMenuText_yLookup, 0x80D7C42 +SET_DATA gNullString, 0x80D7CB8 +SET_DATA gTextSpeedLookup, 0x80D7F58 +SET_DATA gArenaWeaponByWType, 0x80D7F5C +SET_DATA gArenaWeaponUpgradeTable, 0x80D7F64 +SET_DATA gBattleForecastLabelStringIndexes, 0x80D7FB0 +SET_DATA gPrepScreenUnitJoinList, 0x80D8018 +SET_DATA gPhaseUnitMaxLookup, 0x80D80C4 +SET_DATA gAiEscapeMoveScriptTable, 0x80D80E8 +SET_DATA gAdjacentTileOffsetLookup, 0x80D80F4 +SET_DATA gAiCommandCallTable, 0x80D80FC +SET_DATA gAiSpecialItemsConfigPerChapter, 0x80D8538 +SET_DATA gPhaseUnitCountTable, 0x80D8680 +SET_DATA gStaffAiPerformTable, 0x80D868C +SET_DATA gStaffAiPerformTable_2, 0x80D8690 +SET_DATA gSpecialItemAiPerformTable, 0x80D86F4 +SET_DATA gObj_80D9D6E, 0x80D9D6E +SET_DATA gObj_80D9D76, 0x80D9D76 +SET_DATA gObj_80D9D7E, 0x80D9D7E +SET_DATA gObj_80D9D86, 0x80D9D86 +SET_DATA gObj_80D9D8E, 0x80D9D8E +SET_DATA gObj_80D9DA2, 0x80D9DA2 +SET_DATA gObj_80D9DC2, 0x80D9DC2 +SET_DATA gObj_80D9DD6, 0x80D9DD6 +SET_DATA gSioMenuProcLookup, 0x80D9EFC +SET_DATA gBgConfig_80D9FE4, 0x80D9FE4 +SET_DATA gObj_80DA2B0, 0x80DA2B0 +SET_DATA gBattleAnimRoundTypeLookup_2Miss, 0x80DAE96 +SET_DATA gBattleAnimRoundTypeLookup_2Crit, 0x80DAEA0 +SET_DATA gBattleAnimRoundTypeLookup_Miss, 0x80DAEAA +SET_DATA gBattleAnimRoundTypeLookup_NotMiss, 0x80DAEB4 +SET_DATA gBattleAnimRoundTypeLookup_2MissMagic, 0x80DAEBE +SET_DATA gBattleAnimRoundTypeLookup_2CritMagic, 0x80DAEC8 +SET_DATA gBattleAnimModeLookupMaybe, 0x80DAEF0 +SET_DATA gThunderAnimBgTsaScript, 0x80DCCA6 +SET_DATA gThunderAnimBgPalScript, 0x80DCCC0 +SET_DATA gAnimsOnLevelUpStatDisplayPositionLookup, 0x80E15CC +SET_DATA gTextHuffmanTreeStart, 0x815A72C +SET_DATA gBeforeTextTable, 0x815D488 +SET_DATA gTextTable, 0x815D48C +SET_DATA gStatScreenDrawCallTable, 0x8205B24 +SET_DATA gConvoyUseSaveLookup, 0x8205CA4 +SET_DATA gConvoyUseSaveLookup2, 0x8205CAC +SET_DATA gCombatRankLookup, 0x8205F20 +SET_DATA gSurvivalRankLookup, 0x8205F24 +SET_DATA gSomeGmapUnitTable, 0x8205F7C +SET_DATA gWMLocationData, 0x82060B0 +SET_DATA gWMPathData, 0x8206674 +SET_DATA gSomeDefaultsByWMSpriteIndex, 0x8206868 +SET_DATA gTraineePromotionTable, 0x8207044 +SET_DATA gMPlayTable, 0x8224404 +SET_DATA gSongTable, 0x8224470 +SET_DATA gpKeyStatus, 0x858791C +SET_DATA gProc_KeyStatusSetter, 0x8587920 +SET_DATA gBGMapBufferTable, 0x8587938 +SET_DATA gBGControlBufferTable, 0x8587948 +SET_DATA gProc_SongVolumeTransitionA, 0x8587958 +SET_DATA gProc_SongVolumeTransitionB, 0x8587970 +SET_DATA gProc_PlaySongDelayed, 0x8587988 +SET_DATA gProc_8587998, 0x8587998 +SET_DATA gProcInstCallTable, 0x85879D8 +SET_DATA gGfxDebugTextScreenFont, 0x8587A40 +SET_DATA g2bppTo4bppExpandLookupTables, 0x8588240 +SET_DATA gProc_GreenTextColorAnimator, 0x8588284 +SET_DATA g2bppTo4bppColor0Lookup, 0x858829C +SET_DATA g2bppTo4bppColor1Lookup, 0x858849C +SET_DATA g2bppTo4bppColor2Lookup, 0x858869C +SET_DATA g2bppTo4bppColor3Lookup, 0x858889C +SET_DATA g2bppTo4bppColor4Lookup, 0x8588A9C +SET_DATA g2bppTo4bppPixelMaskLookup, 0x858949C +SET_DATA gUITextGlyphArray, 0x858C7EC +SET_DATA gOtherTextGlyphArray, 0x858F6F4 +SET_DATA gFontGlyphs_SpecialUiElements, 0x8590B44 +SET_DATA gOAM_8x8Obj, 0x8590F44 +SET_DATA gOAM_16x16Obj, 0x8590F4C +SET_DATA gOAM_32x32Obj, 0x8590F54 +SET_DATA gOAM_16x32Obj, 0x8590F6C +SET_DATA gProc_HiObjKeeper, 0x8590FDC +SET_DATA gDefaultFaceGfxData, 0x8590FEC +SET_DATA gFaceObj1, 0x859100C +SET_DATA gFaceObj2, 0x8591026 +SET_DATA gFaceObj3, 0x8591040 +SET_DATA gFaceObj4, 0x8591066 +SET_DATA gFaceObj5, 0x859108C +SET_DATA gFaceObj6, 0x85910BE +SET_DATA gFaceObj7, 0x85910F0 +SET_DATA gFaceObj8, 0x8591122 +SET_DATA gProc_Face, 0x8591154 +SET_DATA gProc_Face2, 0x859118C +SET_DATA gProc_859124C, 0x859124C +SET_DATA gProc_FaceEyeLogic, 0x8591264 +SET_DATA gpDialogueState, 0x859133C +SET_DATA gProc_DialogueSkipInputListener, 0x8591340 +SET_DATA gProc_DialogueMain, 0x8591358 +SET_DATA gProc_85913B0, 0x85913B0 +SET_DATA gProc_DialoguePauseTimer, 0x85913D0 +SET_DATA gProc_TextBluArrowAndButtonChecker, 0x85913F0 +SET_DATA gProc_8591470, 0x8591470 +SET_DATA gTextChoiceDef_YesNo, 0x8591490 +SET_DATA gTextChoiceDef_Shop, 0x85914A0 +SET_DATA gProc_DialogueTextChoice, 0x85914B0 +SET_DATA gPoc_TextBoxSlideAnimation, 0x85914C8 +SET_DATA gProc_85914F0, 0x85914F0 +SET_DATA gTextPauseDurationLookup, 0x8591520 +SET_DATA gProc_DialogueBoxAppearingAnimation, 0x8591530 +SET_DATA gProc_859160C, 0x859160C +SET_DATA gProc_8591624, 0x8591624 +SET_DATA gProc_APProc, 0x859168C +SET_DATA gProc_GameControl, 0x85916D4 +SET_DATA gStringArticleLookup, 0x8591AA4 +SET_DATA gProc_MapEventEngine, 0x8591AC0 +SET_DATA gProc_BattleEventEngine, 0x8591AF8 +SET_DATA gLoEventCodeCallTable, 0x8591B28 +SET_DATA gHiEventCodeCallTable, 0x8591C98 +SET_DATA gProc_FaceWitness, 0x8591DE8 +SET_DATA gProc_8591E58, 0x8591E58 +SET_DATA gEvent_ForceSkipOffAndFadeOutDark, 0x8591F40 +SET_DATA gEvent_ForceSkipOffAndFadeInDark, 0x8591F64 +SET_DATA gEvent_ShowTextInSlot2, 0x8591F88 +SET_DATA gEvent_SomeTileChange, 0x8591F9C +SET_DATA gEvent_SomeTileChangeAndItemGive, 0x8591FA8 +SET_DATA gEvent_GotoPrepScreen, 0x8591FD8 +SET_DATA gEvent_8592058, 0x8592058 +SET_DATA gEvent_SuspendPrompt, 0x85920B8 +SET_DATA gEvent_ForceGameOver, 0x8592104 +SET_DATA gEvent_AfterEnd, 0x8592114 +SET_DATA gProc_Popup, 0x85921C8 +SET_DATA gProc_PopupIconUpdater, 0x8592228 +SET_DATA gPopup_GotItem, 0x8592230 +SET_DATA gPopup_ItemWasPilfered, 0x8592288 +SET_DATA gProc_ItemGot, 0x85922D0 +SET_DATA gPopup_GotGold, 0x8592300 +SET_DATA gPopup_GoldWasStole, 0x8592348 +SET_DATA gPopup_StoleItem, 0x8592380 +SET_DATA gPopup_ItemWasStolen, 0x85923D8 +SET_DATA gPopup_8592420, 0x8592420 +SET_DATA gPopup_YouCanNowUseUnit, 0x8592490 +SET_DATA gIconGraphics, 0x85926F4 +SET_DATA gIconPalettes, 0x85996F4 +SET_DATA gDataCopyCallTable, 0x8599FB4 +SET_DATA gProc_859A00C, 0x859A00C +SET_DATA gProc_FadeInBlack, 0x859A024 +SET_DATA gProc_FadeOutBlack, 0x859A044 +SET_DATA gProc_FadeInWhite, 0x859A064 +SET_DATA gProc_FadeOutWhite, 0x859A084 +SET_DATA gProc_859A0A4, 0x859A0A4 +SET_DATA gProc_Timer, 0x859A0D4 +SET_DATA gProc_PaletteAnimator, 0x859A0F8 +SET_DATA gProc_FutureCall2, 0x859A100 +SET_DATA gProc_FutureCall, 0x859A110 +SET_DATA gProc_MapMain, 0x859A1F0 +SET_DATA gObj_CursorFixed, 0x859A4A6 +SET_DATA gAnimatedCursorOAMLookup, 0x859A4C0 +SET_DATA gProc_CameraMovement, 0x859A548 +SET_DATA gStatusTextIndexLookup, 0x859A598 +SET_DATA gUnitLookup, 0x859A5D0 +SET_DATA gpTileTerrainConfig, 0x859A9D0 +SET_DATA gMapRawTiles, 0x859A9D4 +SET_DATA gProc_DebugMonitor, 0x859AA5C +SET_DATA gStringOnOffLookup, 0x859AA7C +SET_DATA gChapterIdOrderedList, 0x859AA9C +SET_DATA gProc_PlayerPhase, 0x859AAD8 +SET_DATA gProc_UnitSelect, 0x859ACE8 +SET_DATA gRangeDisplaySquareLookup, 0x859AD08 +SET_DATA gProc_MLVCHC, 0x859AD28 +SET_DATA gProc_MoveLimitView, 0x859AD50 +SET_DATA gProc_KOIDO, 0x859AD88 +SET_DATA gProc_KOIDOAMM, 0x859ADA0 +SET_DATA gProc_BMXFADE, 0x859ADC8 +SET_DATA gProc_ResetCursorPosition, 0x859AE00 +SET_DATA gProc_ADJUSTFROMXI, 0x859AE18 +SET_DATA gProc_SendItemToConvoy, 0x859AE38 +SET_DATA gProc_MenuItemPanel, 0x859AE88 +SET_DATA gProc_UnitSwapAnimation, 0x859AEA0 +SET_DATA gProc_859AEE8, 0x859AEE8 +SET_DATA gProc_PhaseSwitchGfxName, 0x859AEF8 +SET_DATA gProc_PhaseSwitchGfxSquares, 0x859AF40 +SET_DATA gProc_PhaseSwitchGfx_859AF60, 0x859AF60 +SET_DATA gProc_PhaseSwitchGfx, 0x859AF80 +SET_DATA gProc_GasTrapEffectGfxMaybe, 0x859AFC8 +SET_DATA gProc_MineFireEffectGfx, 0x859AFE8 +SET_DATA gProc_LightArrowTrapEffectGfx, 0x859B048 +SET_DATA gProc_BootlegPopup, 0x859B0C0 +SET_DATA gProc_ChapterIntroFxBgScroll, 0x859B0E0 +SET_DATA gProc_SomeKeyListener, 0x859B0F0 +SET_DATA gProc_859B108, 0x859B108 +SET_DATA gProc_859B160, 0x859B160 +SET_DATA gProc_859B180, 0x859B180 +SET_DATA gProc_859B198, 0x859B198 +SET_DATA gProc_ChapterIntroFx, 0x859B1B0 +SET_DATA gProc_GameOverBgScroll, 0x859B340 +SET_DATA gProc_GameOverBGEffect, 0x859B358 +SET_DATA gProc_859B3B0, 0x859B3B0 +SET_DATA gProc_859B3D0, 0x859B3D0 +SET_DATA gProc_859B3F0, 0x859B3F0 +SET_DATA gProc_859B410, 0x859B410 +SET_DATA gProc_859B4D0, 0x859B4D0 +SET_DATA gProc_WhiteCircularFade, 0x859B4F8 +SET_DATA gProc_859B510, 0x859B510 +SET_DATA gProc_859B528, 0x859B528 +SET_DATA gGfx_859B540, 0x859B540 +SET_DATA gProc_MineAnimSoundEffect, 0x859B560 +SET_DATA gProc_ChapterIntroTitleOnly, 0x859B578 +SET_DATA gProc_GoBackToUnitMenu, 0x859B600 +SET_DATA gProc_859B630, 0x859B630 +SET_DATA gpSMSGfxDecompBuffer, 0x859B668 +SET_DATA gSomeSMSLookupTable_859B66C, 0x859B66C +SET_DATA gSomeSMSLookupTable_859B67C, 0x859B67C +SET_DATA gProc_WarpTargetPosSelection, 0x859B9B8 +SET_DATA gProc_TorchTargetPosSelection, 0x859BA38 +SET_DATA gWTALookup, 0x859BA90 +SET_DATA gProc_DummyBattleAnimLock, 0x859BAC4 +SET_DATA gTradeMenuItemDispPosLookup, 0x859BADC +SET_DATA gProc_TradeMenu_859BB04, 0x859BB04 +SET_DATA gProc_TradeMenu, 0x859BB1C +SET_DATA gProc_Trade_859BBD4, 0x859BBD4 +SET_DATA gProc_859BBF4, 0x859BBF4 +SET_DATA gProc_859BC3C, 0x859BC3C +SET_DATA gEvent_859BC64, 0x859BC64 +SET_DATA gEvent_859BCA8, 0x859BCA8 +SET_DATA gEvent_859BCF4, 0x859BCF4 +SET_DATA gEvent_859BD40, 0x859BD40 +SET_DATA gProc_859BDA0, 0x859BDA0 +SET_DATA gErasedDebugMenuCommands, 0x859BE40 +SET_DATA gChargeDebugMenuCommands, 0x859BF18 +SET_DATA gDebugStartupMenuCommands, 0x859BF84 +SET_DATA gSomeDebugMenuCommands, 0x859C038 +SET_DATA gMapDebugMenuCommands, 0x859C080 +SET_DATA gMenuCommands_StaffItemSelect, 0x859C764 +SET_DATA gMenuCommands_UnitMenu, 0x859CA34 +SET_DATA gMenuCommands_MapMenu, 0x859CE6C +SET_DATA gErasedDebugMenuDef, 0x859CFB0 +SET_DATA gChargeDebugMenuDef, 0x859CFD4 +SET_DATA gDebugStartupMenuDef, 0x859CFF8 +SET_DATA gSomeDebugMenuDef, 0x859D01C +SET_DATA gMenu_MapDebug, 0x859D040 +SET_DATA gMenu_859D0F4, 0x859D0F4 +SET_DATA gMenu_859D118, 0x859D118 +SET_DATA gMenuDef_StaffItemSelect, 0x859D160 +SET_DATA gMenu_ItemMenu, 0x859D184 +SET_DATA gMenu_UnitMenu, 0x859D1F0 +SET_DATA gMenu_MapMenu, 0x859D214 +SET_DATA gSelect_RestoreStaff, 0x859D278 +SET_DATA gSelect_RegularDance, 0x859D2B8 +SET_DATA gSelect_GenericStaff, 0x859D2F8 +SET_DATA gSelect_Steal, 0x859D318 +SET_DATA gSelect_Hammerne, 0x859D3B8 +SET_DATA gSelect_Trade, 0x859D3D8 +SET_DATA gSelect_Give, 0x859D418 +SET_DATA gSelect_Take, 0x859D438 +SET_DATA gSelect_Drop, 0x859D458 +SET_DATA gSelect_Rescue, 0x859D478 +SET_DATA gProc_VBlankHandler, 0x859D8B8 +SET_DATA gProc_MapTask, 0x859D908 +SET_DATA gProc_GameGfxUnblocker, 0x859D9E4 +SET_DATA gProc_SMSJumpAnimation, 0x859DA94 +SET_DATA gProc_Battle, 0x859DABC +SET_DATA gProc_Arena, 0x859DB24 +SET_DATA gpMovementArrowData, 0x859DBA0 +SET_DATA gProc_PrepScreen, 0x859DBBC +SET_DATA gProc_UnitInfoWindow, 0x859E13C +SET_DATA gProc_BottomHelpText, 0x859E1B8 +SET_DATA gProc_859E2D0, 0x859E2D0 +SET_DATA gProc_TerrainHealLoop, 0x859E308 +SET_DATA gProc_PoisonDamageLoop, 0x859E368 +SET_DATA gProc_GorgonEggHatchLoop, 0x859E3D0 +SET_DATA gProc_StatusDepletionLoop, 0x859E438 +SET_DATA gProc_BkSel, 0x859E520 +SET_DATA gProc_FireTrapEffect, 0x859E5AC +SET_DATA gProc_MineTrapEffect, 0x859E5FC +SET_DATA gProc_859E64C, 0x859E64C +SET_DATA gGfxMiscUIGraphics, 0x859E8E0 +SET_DATA gPal_MiscUIGraphics, 0x859ED70 +SET_DATA gPal_MapSprite, 0x859EE20 +SET_DATA gPal_MapSprite2, 0x859EE40 +SET_DATA gPal_MapSprite3, 0x859EE60 +SET_DATA gPal_MapSpriteArena, 0x859EEA0 +SET_DATA gPal_NotMapSprite, 0x859EEC0 +SET_DATA gPal_MapSpriteSepia, 0x859EEE0 +SET_DATA gPal_UIFont, 0x859EF00 +SET_DATA gPal_DialogueFont, 0x859EF20 +SET_DATA gGreenTextColorArray, 0x859EFC0 +SET_DATA gGfx_PhaseSwitchFrame, 0x859F020 +SET_DATA gGfx_PlayerPhaseIntro, 0x859F3F8 +SET_DATA gPal_PlayerPhaseIntro, 0x859FA2C +SET_DATA gGfx_EnemyPhaseIntro, 0x859FA4C +SET_DATA gPal_EnemyPhaseIntro, 0x85A0068 +SET_DATA gGfx_OtherPhaseIntro, 0x85A0088 +SET_DATA gPal_OtherPhaseIntro, 0x85A0698 +SET_DATA gGfx_PhaseSwitchSquares, 0x85A06D8 +SET_DATA gTSA_BattleForecastStandard, 0x85A09A8 +SET_DATA gBattleForecast_x2x4Gfx, 0x85A0C80 +SET_DATA gBattleForecast_x2x4Pal, 0x85A0D2C +SET_DATA gAP_SelectCursorThing, 0x85A0EA0 +SET_DATA gGfxMineFireEffectGfx, 0x85A2940 +SET_DATA gPal_FireEffectGfx, 0x85A2DDC +SET_DATA gAP_MineFireEffectGfx, 0x85A2DFC +SET_DATA gPal_MineEffectGfx, 0x85A3490 +SET_DATA gImg_MineAnimGfx, 0x85A7CC0 +SET_DATA gAP_MineAnim, 0x85A7E34 +SET_DATA gPal_MineAnimGfx, 0x85A7EC8 +SET_DATA gProc_CpPhase, 0x85A7F08 +SET_DATA gProc_BerserkPhase, 0x85A7F30 +SET_DATA gpAIUnitPriorityBuffer, 0x85A7F58 +SET_DATA gProc_CpOrder, 0x85A7F5C +SET_DATA gProc_BerserkOrder, 0x85A7F74 +SET_DATA gCpOrderCallTable, 0x85A7F94 +SET_DATA gAiDecisionMakerCallTable, 0x85A7F9C +SET_DATA gProc_CpDecide, 0x85A7FCC +SET_DATA gProc_AiTargetCursor, 0x85A8004 +SET_DATA gProc_CpPerform, 0x85A8024 +SET_DATA gPopup_85A80A4, 0x85A80A4 +SET_DATA gSomeRangeTileOffsetLookup, 0x85A80BC +SET_DATA gTerrainList_LootableVillages, 0x85A8120 +SET_DATA gTerrainList_LootableVillagesAndChests, 0x85A8124 +SET_DATA gAi_FallbackAi1, 0x85A812C +SET_DATA gAi_FallbackAi2, 0x85A813C +SET_DATA gAiTableOfNullTables, 0x85A8150 +SET_DATA gRedMasterAiEscapeTable, 0x85A8188 +SET_DATA gGreenMasterAiEscapeTable, 0x85A828C +SET_DATA gAI3HealingThresholdTable, 0x85A8390 +SET_DATA gAiStealPriorityItemList, 0x85A83A4 +SET_DATA gAiScript_Ai2x00, 0x85A8410 +SET_DATA gAiScript_Ai2x12_85A8450, 0x85A8450 +SET_DATA gAiScript_Ai2x11_85A8480, 0x85A8480 +SET_DATA gAiScript_Ai2x04_85A8510, 0x85A8510 +SET_DATA gAiScript_EscapeMaybe, 0x85A8570 +SET_DATA gAiScript_ActionInRange, 0x85A8870 +SET_DATA gAiScript_ActionInRange_80Perc, 0x85A8890 +SET_DATA gAiScript_ActionInRange_50Perc, 0x85A88B0 +SET_DATA gAiScript_ActionStanding, 0x85A88D0 +SET_DATA gAiScript_ActionStanding_80Perc, 0x85A88F0 +SET_DATA gAiScript_ActionStanding_50Perc, 0x85A8910 +SET_DATA gAiScript_NoAi, 0x85A8930 +SET_DATA gAiScript_ActionInRange_ExceptNatasha, 0x85A8A04 +SET_DATA gAiScript_ActionInRange_ExceptOldCivilian, 0x85A8B40 +SET_DATA gAiScript_ActionInRange_ExceptNoOne, 0x85A8B80 +SET_DATA gAiScript_ActionInRange_PrioritizeNoOne, 0x85A8BA0 +SET_DATA gAiScript_ActionInRange2, 0x85A8BE0 +SET_DATA gAi2ScriptTable, 0x85A9138 +SET_DATA gAi1ScriptTable, 0x85A9184 +SET_DATA gpAI2Table, 0x85A91D8 +SET_DATA gpAi1Table, 0x85A91E4 +SET_DATA g3RangePosOffsetLookup, 0x85A9254 +SET_DATA gTerrainList_85A92B8, 0x85A92B8 +SET_DATA gTerrainList_85A92DC, 0x85A92DC +SET_DATA gProc_85A92E4, 0x85A92E4 +SET_DATA gProc_85A9304, 0x85A9304 +SET_DATA gProc_SioCon, 0x85A932C +SET_DATA gProc_SioVSync, 0x85A9354 +SET_DATA gProc_SioMain, 0x85A937C +SET_DATA gProc_85A93A0, 0x85A93A0 +SET_DATA gProc_Hold, 0x85A93B8 +SET_DATA gProc_85A94AC, 0x85A94AC +SET_DATA gProc_NameSelect, 0x85A9614 +SET_DATA gProc_SioPra, 0x85A979C +SET_DATA gFaceConfig_85A9864, 0x85A9864 +SET_DATA gProc_SioBat, 0x85A9888 +SET_DATA gProc_SioTerm, 0x85A9BA0 +SET_DATA gProc_SioResult, 0x85A9D38 +SET_DATA gFaceConfig_85A9E48, 0x85A9E48 +SET_DATA gFaceConfig_85A9E68, 0x85A9E68 +SET_DATA gProc_SioMenu, 0x85A9E88 +SET_DATA gEvent_SomeCalledWith3, 0x85A9F48 +SET_DATA gProc_LinkArenaPointsBoxLoader, 0x85AA06C +SET_DATA gProc_85AA1AC, 0x85AA1AC +SET_DATA gPopup_85AA1FC, 0x85AA1FC +SET_DATA gPopup_85AA21C, 0x85AA21C +SET_DATA gProc_85AA24C, 0x85AA24C +SET_DATA gProc_85AA26C, 0x85AA26C +SET_DATA gEvent_85AA2B4, 0x85AA2B4 +SET_DATA gEvent_85AA2D8, 0x85AA2D8 +SET_DATA gProc_85AA2FC, 0x85AA2FC +SET_DATA gProc_85AA4CC, 0x85AA4CC +SET_DATA gProc_85AA5BC, 0x85AA5BC +SET_DATA gProc_SioMain2, 0x85AA6BC +SET_DATA gProc_85AA75C, 0x85AA75C +SET_DATA gProc_SioWarp, 0x85AA86C +SET_DATA gProc_SioWarpFx, 0x85AA89C +SET_DATA gProc_85AA914, 0x85AA914 +SET_DATA gProc_85AA954, 0x85AA954 +SET_DATA gObj_85AA96C, 0x85AA96C +SET_DATA gProc_85AA980, 0x85AA980 +SET_DATA gProc_85AA9C0, 0x85AA9C0 +SET_DATA gObj_85AA9D8, 0x85AA9D8 +SET_DATA gObj_85AA9E6, 0x85AA9E6 +SET_DATA gObj_85AA9FA, 0x85AA9FA +SET_DATA gObj_85AAA0E, 0x85AAA0E +SET_DATA gObj_85AAA50, 0x85AAA50 +SET_DATA gObj_85AAA5E, 0x85AAA5E +SET_DATA gProc_85AAA78, 0x85AAA78 +SET_DATA gProc_85AAA90, 0x85AAA90 +SET_DATA gProc_85AAAC4, 0x85AAAC4 +SET_DATA gProc_85AAAE8, 0x85AAAE8 +SET_DATA gProc_85AAB00, 0x85AAB00 +SET_DATA gProc_85AAB18, 0x85AAB18 +SET_DATA gObj_85AAB30, 0x85AAB30 +SET_DATA gObj_85AAB38, 0x85AAB38 +SET_DATA gObj_85AAB40, 0x85AAB40 +SET_DATA gProc_85AAB48, 0x85AAB48 +SET_DATA gProc_85AAB68, 0x85AAB68 +SET_DATA gProc_85AABC8, 0x85AABC8 +SET_DATA gMenuCommands_85AABF0, 0x85AABF0 +SET_DATA gMenuCommands_85AAC5C, 0x85AAC5C +SET_DATA gMenu_85AADA0, 0x85AADA0 +SET_DATA gGfx_LinkArenaMenuOptionsText, 0x85AAE0C +SET_DATA gGfx_SioMenuUi, 0x85AB358 +SET_DATA gGfx_SioObjUi, 0x85ABD68 +SET_DATA gGfx_PointsBox, 0x85AD80C +SET_DATA gPal_SioMenuUi, 0x85ADBE8 +SET_DATA gPal_SioUi, 0x85ADC48 +SET_DATA gPal_85ADE68, 0x85ADE68 +SET_DATA gTSA_85AE190, 0x85AE190 +SET_DATA gGfx_PhaseSwitchLinkArenaPlayerPhase, 0x85AE7EC +SET_DATA gWindowFrameModelTSA, 0x85B6430 +SET_DATA gOldUIPalettePointers, 0x85B6440 +SET_DATA gNewUIPaletterPointers, 0x85B6450 +SET_DATA gOldUIGfxPointers, 0x85B6460 +SET_DATA gNewUIGfxPointers, 0x85B6470 +SET_DATA gObj_85B6490, 0x85B6490 +SET_DATA gProc_MenuIdle, 0x85B64B8 +SET_DATA gProc_Menu, 0x85B64D0 +SET_DATA gProc_MenuCommand, 0x85B6510 +SET_DATA gProc_MenuHelpText, 0x85B6518 +SET_DATA gProc_MenuHelpText2, 0x85B6530 +SET_DATA gProc_MenuIdk, 0x85B6540 +SET_DATA gProc_TargetSelection, 0x85B655C +SET_DATA gProc_ekrBattleDeamon, 0x85B9358 +SET_DATA gProc_ekrBattle, 0x85B9378 +SET_DATA gProc_ekrLvlupFan, 0x85B93A0 +SET_DATA gProc_ekrGauge, 0x85B93B8 +SET_DATA gProc_ekrDispUP, 0x85B95EC +SET_DATA gProc_efxHPBar, 0x85B9604 +SET_DATA gProc_efxHPBarResire, 0x85B962C +SET_DATA gProc_efxAvoid, 0x85B9664 +SET_DATA gProc_efxHPBarLive, 0x85B968C +SET_DATA gProc_efxNoDamage, 0x85B96B4 +SET_DATA gProc_efxNoDamageYure, 0x85B96DC +SET_DATA gProc_efxStatusCHG, 0x85B96F4 +SET_DATA gProc_efxDeadEVTENT, 0x85B9724 +SET_DATA gProc_efxDead, 0x85B975C +SET_DATA gProc_efxDeadPika, 0x85B977C +SET_DATA gProc_efxDeadAlpha, 0x85B9794 +SET_DATA gProc_efxDeadDragonAlpha, 0x85B97AC +SET_DATA gProc_efxFarAttack, 0x85B97C4 +SET_DATA gProc_efxQuakePure, 0x85B97EC +SET_DATA gProc_efxQuake, 0x85B989C +SET_DATA gProc_efxHitQuake, 0x85B98B4 +SET_DATA gProc_efxFlashBG, 0x85B98CC +SET_DATA gProc_efxFlashHPBar, 0x85B9994 +SET_DATA gProc_efxHPBarColorChange, 0x85B99C4 +SET_DATA gProc_efxFlashUnit, 0x85B99E4 +SET_DATA gProc_efxFlashUnitEffect, 0x85B9A0C +SET_DATA gProc_efxStatusUnit, 0x85B9A34 +SET_DATA gProc_efxWeaponIcon, 0x85B9A5C +SET_DATA gProc_efxSpellCast, 0x85B9A84 +SET_DATA gProc_ekrBattleStarting, 0x85B9AD4 +SET_DATA gProc_ekrWindowAppear, 0x85B9D0C +SET_DATA gProc_ekrNamewinAppear, 0x85B9D24 +SET_DATA gProc_ekrBaseAppear, 0x85B9D44 +SET_DATA gAISFrames_DummyNoFrames, 0x85B9D5C +SET_DATA gProc_ekrChienCHR, 0x85B9D94 +SET_DATA gProc_ekrAnimeDrvProc, 0x85B9DAC +SET_DATA gProc_ekrUnitMainMini, 0x85B9DC4 +SET_DATA gProc_ekrTogiInitPROC, 0x85B9DDC +SET_DATA gProc_ekrTogiEndPROC, 0x85B9E0C +SET_DATA gProc_ekrTogiColor, 0x85B9E34 +SET_DATA gGfx_NODAMGEMIS, 0x85BA0B8 +SET_DATA gSpellAnimTable, 0x85D4E60 +SET_DATA gProc_efxMagicQUAKE, 0x85D5058 +SET_DATA gProc_efxDummymagic, 0x85D5070 +SET_DATA gProc_efxTeono, 0x85D5088 +SET_DATA gProc_efxTeonoOBJ, 0x85D50A0 +SET_DATA gProc_efxArrow, 0x85D50F8 +SET_DATA gProc_efxArrowOBJ, 0x85D5110 +SET_DATA gProc_efxTeyari, 0x85D5128 +SET_DATA gProc_efxSong, 0x85D5158 +SET_DATA gProc_efxDance, 0x85D5278 +SET_DATA gProc_efxShooter, 0x85D5290 +SET_DATA gProc_efxHurtmut, 0x85D52C0 +SET_DATA gProc_efxFirebreath, 0x85D52F0 +SET_DATA gProc_efxIcebreath, 0x85D5358 +SET_DATA gProc_efxDarkbreath, 0x85D5390 +SET_DATA gProc_efxThunder, 0x85D5428 +SET_DATA gProc_efxThunderBG, 0x85D5440 +SET_DATA gThunderAnimBgTsaLookupClose, 0x85D5458 +SET_DATA gThunderAnimBgTsaLookupFar, 0x85D5460 +SET_DATA gProc_efxThunderBGCOL, 0x85D5468 +SET_DATA gProc_efxThunderOBJ, 0x85D5488 +SET_DATA gProc_efxFire, 0x85D54A0 +SET_DATA gProc_efxFireBG, 0x85D54B8 +SET_DATA gProc_efxFireHITBG, 0x85D5548 +SET_DATA gProc_efxElfireBG, 0x85D5608 +SET_DATA gProc_efxElfireBGCOL, 0x85D5620 +SET_DATA gProc_efxElfireOBJ, 0x85D5640 +SET_DATA gProc_efxFimbulvetr, 0x85D5658 +SET_DATA gProc_efxThunderstorm, 0x85D5770 +SET_DATA gProc_efxAlacalibur, 0x85D5880 +SET_DATA gProc_efxMistyrain, 0x85D58F0 +SET_DATA gProc_efxResire, 0x85D5AE0 +SET_DATA gProc_efxLightning, 0x85D5CF0 +SET_DATA gProc_efxPurge, 0x85D5EAC +SET_DATA gProc_efxDevine, 0x85D62FC +SET_DATA gProc_efxDevineBG, 0x85D6314 +SET_DATA gProc_efxFenrir, 0x85D6644 +SET_DATA gProc_efxLive, 0x85D68BC +SET_DATA gProc_efxRelive, 0x85D68D4 +SET_DATA gProc_efxRecover, 0x85D68EC +SET_DATA gProc_efxReblow, 0x85D6904 +SET_DATA gProc_efxReserve, 0x85D69CC +SET_DATA gProc_efxRest, 0x85D6A68 +SET_DATA gProc_efxRestBG, 0x85D6A80 +SET_DATA gProc_efxSilence, 0x85D6B20 +SET_DATA gProc_efxSleep, 0x85D6BB8 +SET_DATA gProc_efxHammarne, 0x85D6CB0 +SET_DATA gProc_efxBerserk, 0x85D6D68 +SET_DATA gProc_efxMshield, 0x85D6E70 +SET_DATA gProc_efxShine, 0x85D6EF4 +SET_DATA gProc_efxLuna, 0x85D6FCC +SET_DATA gProc_efxExcalibur, 0x85D71F8 +SET_DATA gProc_efxOura, 0x85D7490 +SET_DATA gProc_efxDancepara, 0x85D7670 +SET_DATA gProc_efxIvaldi, 0x85D7688 +SET_DATA gProc_efxIvaldiBG1, 0x85D76A0 +SET_DATA gProc_efxIvaldiBG2, 0x85D76E8 +SET_DATA gProc_efxIvaldiBG3, 0x85D7714 +SET_DATA gProc_efxIvaldiBG4, 0x85D77B0 +SET_DATA gProc_efxIvaldiOBJFall, 0x85D77CC +SET_DATA gProc_efxIvaldiOBJSideWash, 0x85D77E4 +SET_DATA gProc_efxIvaldiOBJUprise, 0x85D77FC +SET_DATA gProc_efxIvaldiOBJ1, 0x85D7814 +SET_DATA gProc_efxIvaldiWOUT, 0x85D7844 +SET_DATA gProc_efxStone, 0x85D7E20 +SET_DATA gProc_efxEvilEye, 0x85D7F00 +SET_DATA gProc_efxNaglfar, 0x85D80B0 +SET_DATA gProc_efxNaglfarBG, 0x85D80C8 +SET_DATA gProc_efxNaglfarBG2, 0x85D80E8 +SET_DATA gProc_efxNaglfarBG3, 0x85D81C0 +SET_DATA gProc_efxNaglfarBG4, 0x85D81F8 +SET_DATA gProc_efxNaglfarOBJ, 0x85D8238 +SET_DATA gProc_efxNaglfarOBJ2, 0x85D8250 +SET_DATA gProc_efxNaglfarOBJRockGyre, 0x85D8268 +SET_DATA gProc_efxNaglfarBlack, 0x85D8280 +SET_DATA gProc_efxDarkGrado, 0x85D8318 +SET_DATA gProc_efxCrimsonEye, 0x85D8764 +SET_DATA gProc_efxDarkLongMons, 0x85D89A0 +SET_DATA gProc_efxGorgon, 0x85D8B0C +SET_DATA gProc_efxDamageMojiEffect, 0x85D8D44 +SET_DATA gProc_efxDamageMojiEffectOBJ, 0x85D8D5C +SET_DATA gProc_efxCriticalEffect, 0x85D8D74 +SET_DATA gProc_efxCriticalEffectBG, 0x85D8D8C +SET_DATA gProc_efxCriticalEffectBGCOL, 0x85D8DA4 +SET_DATA gProc_efxNormalEffect, 0x85D8DC4 +SET_DATA gProc_efxNormalEffectBG, 0x85D8DDC +SET_DATA gProc_efxPierceCriticalEffect, 0x85D8E1C +SET_DATA gProc_efxSpecalEffect, 0x85D90DC +SET_DATA gProc_efxMantBatabata, 0x85D9284 +SET_DATA gProc_efxChillEffect, 0x85D92A4 +SET_DATA gProc_efxChillEffectBG, 0x85D92BC +SET_DATA gProc_efxChillEffectBGCOL, 0x85D92E0 +SET_DATA gProc_efxChillAnime, 0x85D9300 +SET_DATA gProc_efxSkillType01BG, 0x85D9318 +SET_DATA gProc_efxSkillCommonBG, 0x85D93F0 +SET_DATA gOpeningSpellAnimationStartLookup, 0x85D9430 +SET_DATA gProc_efxOpFire, 0x85D9454 +SET_DATA gProc_efxOpFireBG, 0x85D947C +SET_DATA gProc_efxOpFireOBJ, 0x85D94C4 +SET_DATA gProc_efxOpThunder, 0x85D94DC +SET_DATA gProc_efxOpThunderBG, 0x85D9504 +SET_DATA gProc_efxOpThunderBGCOL, 0x85D9524 +SET_DATA gProc_efxOpThunderOBJ, 0x85D9544 +SET_DATA gGfx_ThunderAnimBg, 0x85F2DC0 +SET_DATA gThunderAnimBgPalArray, 0x85F367C +SET_DATA gGfxIvaldiParticles, 0x86926E0 +SET_DATA gPalIvaldiParticles, 0x8692B10 +SET_DATA gGfxIvaldiFastRay, 0x86937C0 +SET_DATA gPalIvaldiFastRay, 0x86945C4 +SET_DATA gGfxIvaldiBigSpark, 0x8695B10 +SET_DATA gPalIvaldiBigSpark, 0x8696840 +SET_DATA gProc_ekrsubAnimeEmulator, 0x8758A30 +SET_DATA gProc_efxSoundSE, 0x8758A48 +SET_DATA gBossSongList, 0x8758A60 +SET_DATA gProc_ekrClasschg, 0x8758FC0 +SET_DATA gProc_ekrLevelup, 0x875932C +SET_DATA gProc_ekrTriangle, 0x87595A4 +SET_DATA gProc_ekrPegasusKnight, 0x87595BC +SET_DATA gProc_ekrPegasusKnightBG, 0x87595D4 +SET_DATA gPopupIconOAMData, 0x878D500 +SET_DATA gAnimScr_PopupIcon, 0x878D518 +SET_DATA gProc_ekrPopup, 0x878D520 +SET_DATA gProc_ekrPopup2, 0x878D588 +SET_DATA gProc_ekrHenseiInitPROC, 0x878D5F0 +SET_DATA gProc_ekrHenseiEndPROC, 0x878D620 +SET_DATA gProc_ekrDragonBodyAnime, 0x87F43D4 +SET_DATA gProc_efxSelfThunderBG, 0x8801880 +SET_DATA gGfx_ExpBar, 0x88030C4 +SET_DATA gGfx_LevelUpBoxFrame, 0x88035B0 +SET_DATA gMap_LevelUpBoxFrame, 0x88039E8 +SET_DATA gPal_LevelUpBoxFrame, 0x8803B10 +SET_DATA gGfx_BattlePopup, 0x8803B30 +SET_DATA gGfx_BattlePopupTextBg, 0x8803BD0 +SET_DATA gPal_BattlePopup, 0x8803CB0 +SET_DATA gTsa_BattlePopup, 0x8803CD0 +SET_DATA gCharacterData, 0x8803D30 +SET_DATA gCharacterData_1Indexed, 0x8803D64 +SET_DATA gClassData, 0x8807110 +SET_DATA gItemData, 0x8809B10 +SET_DATA gSomeMovCostTable, 0x880BB96 +SET_DATA gBallistaMovCostTable, 0x880BC18 +SET_DATA gTerrainHealAmountTable, 0x880C744 +SET_DATA gTerrainNameTextIdTable, 0x880D374 +SET_DATA gPortraitData, 0x88ACBC4 +SET_DATA gSlayerEffectivenessTable, 0x88ADF39 +SET_DATA gStandingMapSpriteData, 0x88AF880 +SET_DATA gSpellAssocData, 0x88AFBD8 +SET_DATA gSupportBonusData, 0x88B05F8 +SET_DATA gChapterDataTable, 0x88B0890 +SET_DATA gChapterAssetTable, 0x88B363C +SET_DATA gChapterWMEventLookup, 0x88B39EC +SET_DATA gChapterWMIntroEventLookup, 0x88B3AD8 +SET_DATA gConvoBackgroundData, 0x895DD1C +SET_DATA gPromotionTable, 0x895DFA4 +SET_DATA gSummonCharIdConfig_maybe, 0x895F5A4 +SET_DATA gProc_MoveUnitStep, 0x89A2938 +SET_DATA gDirectionMoveOffsetLookup, 0x89A2988 +SET_DATA gMoveUnitStateCallTable, 0x89A2C28 +SET_DATA gProc_MoveUnit, 0x89A2C48 +SET_DATA gWalkSpeedLookup, 0x89A2C78 +SET_DATA gProc_MoveUnitDeathBlend, 0x89A2C80 +SET_DATA gProc_89A2CF8, 0x89A2CF8 +SET_DATA gProc_MuCtr, 0x89A2DB0 +SET_DATA gMovingMapSpriteData, 0x89A2E00 +SET_DATA gProc_MapAnimSteal, 0x89A32C8 +SET_DATA gProc_MapAnimSummon, 0x89A3398 +SET_DATA gProc_MapAnimSummonDK, 0x89A33C0 +SET_DATA gProc_MapAnimDance, 0x89A34B0 +SET_DATA gProc_MapAnimBattle, 0x89A3508 +SET_DATA gProc_MapAnimEnd, 0x89A35B0 +SET_DATA gProc_MapAnimBattleInfoBox, 0x89A3688 +SET_DATA gProc_MapAnim_ExpBar, 0x89A36F8 +SET_DATA gProc_MapAnimBattleWithMapEvents, 0x89A3874 +SET_DATA gProc_WallBreakAnim, 0x89A3924 +SET_DATA gProc_PoisonEffect, 0x89A3944 +SET_DATA gProc_MapAnimEffectAnimation, 0x89A3BA4 +SET_DATA gProc_89A3BDC, 0x89A3BDC +SET_DATA gProc_89A3C24, 0x89A3C24 +SET_DATA gProc_UnlockEffect, 0x89A3E6C +SET_DATA gMapAnimLevelUpStatLabelLocationTable, 0x89A3ED4 +SET_DATA gProc_89A3F4C, 0x89A3F4C +SET_DATA gProc_89A3F5C, 0x89A3F5C +SET_DATA gProc_MapAnimLevelUp, 0x89A3F74 +SET_DATA gProc_15FrameBG0Shaker, 0x89A4064 +SET_DATA gProc_SomeStarRotationEffect, 0x89A407C +SET_DATA gProc_SomeNiceSpecialEffects, 0x89A434C +SET_DATA gProc_SummonGfx, 0x89A46AC +SET_DATA gProc_MapAnimDefaultRound, 0x89A4764 +SET_DATA gProc_ItemAnimUnlockStaff, 0x89A4C3C +SET_DATA gProc_ItemAnimWarpRescue, 0x89A5214 +SET_DATA gAp_LevelUpTextSmall, 0x89A5A6C +SET_DATA gAp_PoisonEffectAnim, 0x89A6F40 +SET_DATA gGfxMISSAnim, 0x89AC0A4 +SET_DATA gAPMISSAnim, 0x89AC194 +SET_DATA gGfx_LevelUpTextSmall, 0x89AC794 +SET_DATA gPal_LevelUpTextSmall, 0x89AC9A8 +SET_DATA gGfxPoisonEffectAnim, 0x89ADEB0 +SET_DATA gPalPoisonEffectAnim, 0x89AE204 +SET_DATA gGfx_SomeWarpEffect, 0x89AE224 +SET_DATA gPal_SomeWarpEffect, 0x89AE484 +SET_DATA gGfxSpark, 0x89AE7A4 +SET_DATA gPalSpark, 0x89AE7C4 +SET_DATA gGfxDialogueTextBubble, 0x89E8238 +SET_DATA gPalDialogueTextBubble, 0x89E84D4 +SET_DATA gEventCheckTable, 0x89E84F4 +SET_DATA gEventIdMaskLookup, 0x89E857C +SET_DATA gBattleQuoteTable, 0x89EC6BC +SET_DATA gDeathQuoteTable, 0x89ECD4C +SET_DATA gForceDeployTable, 0x89ED64C +SET_DATA gProc_GameOver, 0x89EDF78 +SET_DATA gEvent_LoadReinforcements, 0x89EE274 +SET_DATA gEvent_ConvoClearBackground, 0x89EE2C4 +SET_DATA gEvent_ConvoShowBackground, 0x89EE2E8 +SET_DATA gEvent_ConvoShowTextWithBg, 0x89EE310 +SET_DATA gProc_89EE9E0, 0x89EE9E0 +SET_DATA gEvent_ChPrologueBeginning, 0x89EEBE8 +SET_DATA gMenuCommands_RouteSplit, 0x89F3634 +SET_DATA gMenu_RouteSplit, 0x89F36A0 +SET_DATA gEvents_SkirmishCommonBeginning, 0x89FFC30 +SET_DATA gEvent_SkirmishCommonEnd, 0x89FFD64 +SET_DATA gProc_BG3HSlide, 0x8A006E4 +SET_DATA gProc_StatScreenVPositionHandler, 0x8A009C8 +SET_DATA gProc_StatScreen, 0x8A009D8 +SET_DATA gProc_HelpTextBubble, 0x8A00AD0 +SET_DATA gProc_8A00B20, 0x8A00B20 +SET_DATA gStatScreenPage0HelpText, 0x8A00BC4 +SET_DATA gStatScreenPage1HelpText, 0x8A00DA0 +SET_DATA gStatScreenPage2HelpText, 0x8A00F44 +SET_DATA gChapterTitleGfxTable, 0x8A01208 +SET_DATA gProc_8A016E0, 0x8A016E0 +SET_DATA gProc_8A01740, 0x8A01740 +SET_DATA gProc_8A01760, 0x8A01760 +SET_DATA gProc_8A01800, 0x8A01800 +SET_DATA gProc_8A01818, 0x8A01818 +SET_DATA gProc_TI, 0x8A018AC +SET_DATA gProc_UI1, 0x8A0190C +SET_DATA gProc_UI2, 0x8A01994 +SET_DATA gProc_SideWindowMaker, 0x8A019C4 +SET_DATA gProc_PI, 0x8A019E4 +SET_DATA gProc_ChapterStatusScreen, 0x8A01B54 +SET_DATA gProc_8A01DBC, 0x8A01DBC +SET_DATA gGfxHelpTextBox, 0x8A0285C +SET_DATA gGfxHelpTextBox2, 0x8A02884 +SET_DATA gGfxHelpTextBox3, 0x8A028AC +SET_DATA gGfxHelpTextBox4, 0x8A02914 +SET_DATA gGfxHelpTextBox5, 0x8A02980 +SET_DATA gGfxRangeDisplaySquare, 0x8A02EB4 +SET_DATA gPalBlueRangeSquare, 0x8A02F34 +SET_DATA gPalRedRangeSquare, 0x8A02F94 +SET_DATA gPalGreenRangeSquare, 0x8A02FF4 +SET_DATA gGfx_MovementArrow, 0x8A03054 +SET_DATA gPal_MovementArrow, 0x8A0328C +SET_DATA gGfx_StatusText, 0x8A16DEC +SET_DATA gProc_bmenu, 0x8A177A0 +SET_DATA gProc_bmenu2, 0x8A178C0 +SET_DATA gProc_AtMenu, 0x8A1829C +SET_DATA gProc_PrepScreenTraineePromotion, 0x8A184F4 +SET_DATA gProc_8A186B4, 0x8A186B4 +SET_DATA gProc_8A186DC, 0x8A186DC +SET_DATA gProc_8A186EC, 0x8A186EC +SET_DATA gProc_MenuScroll, 0x8A18808 +SET_DATA gPrepScreenShopItemList, 0x8A188E4 +SET_DATA gSomeTextIndexLookup, 0x8A191F4 +SET_DATA gpStringBufferAlt, 0x8A19200 +SET_DATA gShopSellTextIndexLookup, 0x8A1951C +SET_DATA gpShopSellStringBuffer, 0x8A19524 +SET_DATA gProc_8A1975C, 0x8A1975C +SET_DATA gProc_8A19880, 0x8A19880 +SET_DATA gGfxPrepMenuInputHelp, 0x8A199C8 +SET_DATA gGfxConvoyTopWIcons, 0x8A1A0A4 +SET_DATA gGfxConvoyBottomWIcons, 0x8A1A23C +SET_DATA gPalConvoyWIcons, 0x8A1A3FC +SET_DATA gGfx_SmolBrownNameBox, 0x8A1B0D8 +SET_DATA gPal_SmolBrownNameBox, 0x8A1B154 +SET_DATA gpSaveDataStart, 0x8A1FAF4 +SET_DATA gpDummyChapterDataSRAM, 0x8A1FB30 +SET_DATA gpDummyChapterData, 0x8A1FB34 +SET_DATA gProc_MaybeMapView, 0x8A1FB38 +SET_DATA gProc_8A20098, 0x8A20098 +SET_DATA gProc_SaveMenu, 0x8A200B8 +SET_DATA gProc_SaveMenu2, 0x8A203A8 +SET_DATA gProc_SaveDraw, 0x8A206A8 +SET_DATA gProc_SaveDrawCursor, 0x8A206D8 +SET_DATA gProc_NewGameDiffilcultySelect, 0x8A20A10 +SET_DATA gProc_DifferedLoop, 0x8A20C04 +SET_DATA gProc_8A20C1C, 0x8A20C1C +SET_DATA gProc_8A20C4C, 0x8A20C4C +SET_DATA gProc_SmallBrownNameBoxes, 0x8A20D6C +SET_DATA gProc_FadeIn, 0x8A20DA4 +SET_DATA gProc_FadeOut, 0x8A20DCC +SET_DATA gSoundRoomTable, 0x8A20E74 +SET_DATA gProc_CfExplReWrite, 0x8A2EC88 +SET_DATA gProc_CfObj, 0x8A2ECA8 +SET_DATA gProc_Config1, 0x8A2ECE0 +SET_DATA gProc_Config2, 0x8A2ED88 +SET_DATA gProc_Config3, 0x8A2EE00 +SET_DATA gProc_OpInfo, 0x8A2EEF0 +SET_DATA gGfx_ClassReelGlyphs, 0x8A36338 +SET_DATA gPal_ClassReelGlyphs, 0x8A372C0 +SET_DATA gShopPortraitIndexTable, 0x8A3918C +SET_DATA gProc_Shop, 0x8A39210 +SET_DATA gProc_ArenaThing, 0x8A394DC +SET_DATA gWMEvents_LordSplit, 0x8A3C860 +SET_DATA gOverallRankWeightLookup, 0x8A3CB04 +SET_DATA gOverallRankLookup, 0x8A3CB1E +SET_DATA gProc_8A3D6E0, 0x8A3D6E0 +SET_DATA gProc_8A3D700, 0x8A3D700 +SET_DATA gWMFaceGfxData, 0x8A3D728 +SET_DATA gProc_WorldMap, 0x8A3D748 +SET_DATA gProc_WorldMapWrapper, 0x8A3DD50 +SET_DATA gProc_GmapScreenVSync, 0x8A3DDF4 +SET_DATA gProc_GmapScreen, 0x8A3DE84 +SET_DATA gProc_GmapUnit, 0x8A3DECC +SET_DATA gProc_GmapUnitContainer, 0x8A3DEFC +SET_DATA gProc_GmapUnitFade, 0x8A3DF2C +SET_DATA gProc_GmapScreen2, 0x8A3DF64 +SET_DATA gProc_GmapCursor, 0x8A3DF94 +SET_DATA gProc_GmapRoute, 0x8A3DFC4 +SET_DATA gProc_WMapMUPrim, 0x8A3E248 +SET_DATA gProc_WMapMU, 0x8A3E2C0 +SET_DATA gProc_WMapPI, 0x8A3E464 +SET_DATA gProc_WMapMoveCursor, 0x8A3E4F4 +SET_DATA gProc_WMapScrollManage, 0x8A3E52C +SET_DATA gProc_WMapPalFade, 0x8A3E55C +SET_DATA gProc_WMapBaseEntry, 0x8A3E594 +SET_DATA gProc_GmapMuEntry, 0x8A3E624 +SET_DATA gProc_GmapTmConfront, 0x8A3E6E4 +SET_DATA gProc_GmapEffectPa, 0x8A3EA00 +SET_DATA gProc_GmapEffect, 0x8A3EA38 +SET_DATA gProc_GmapSogu, 0x8A3EA70 +SET_DATA gProc_GmapTimeMons, 0x8A3EAA8 +SET_DATA gProc_GmapRMUpdate, 0x8A3EAF0 +SET_DATA gProc_GmapRMUpdate2, 0x8A3EB10 +SET_DATA gProc_GmapRM, 0x8A3EB50 +SET_DATA gPal_GMapImage, 0x8A95FE4 +SET_DATA gProc_Credits, 0x8AA2084 +SET_DATA gBgConfig_8AA213C, 0x8AA213C +SET_DATA gProc_8AA2154, 0x8AA2154 +SET_DATA gProc_8AA2184, 0x8AA2184 +SET_DATA gProc_8AA21BC, 0x8AA21BC +SET_DATA gProc_8AA6A50, 0x8AA6A50 +SET_DATA gProc_IntroSequence, 0x8AA71C8 +SET_DATA gProc_PreIntroSequence, 0x8AA7680 +SET_DATA gGfx_TitleScreen, 0x8AA7760 +SET_DATA gPal_TitleScreen, 0x8AAB3F4 +SET_DATA gGfxBarIntro, 0x8AF1AE8 +SET_DATA gPalBarIntro, 0x8AF1B18 +SET_DATA gGfxNintyIntSysPresentsIntroText, 0x8AF1B38 +SET_DATA gPalNintyIntSysPresentsIntroText, 0x8AF1FB0 +SET_DATA gGfxEphraimEirikaIntroText, 0x8AF1FD0 +SET_DATA gPalEphraimEirikaIntroText, 0x8AF2634 +SET_DATA gGfxBubblesIntro, 0x8AF2654 +SET_DATA gPalBubblesIntro, 0x8AF310C +SET_DATA gGfxHSWarning, 0x8B11D0C +SET_DATA gProc_PromotionMain, 0x8B12614 +SET_DATA gProc_PromotionInit, 0x8B126CC +SET_DATA gProc_PromotionDisplay, 0x8B1271C +SET_DATA gProc_ccramifyEnd, 0x8B127EC +SET_DATA gProc_ccramifyEvent, 0x8B1280C +SET_DATA gMenuCommands_Promotion, 0x8B12954 +SET_DATA gMenu_Promotion, 0x8B129E4 +SET_DATA gProc_PromotionMenuSelect, 0x8B12A08 +SET_DATA gMenuGeometry_Promotion, 0x8B12A60 +SET_DATA gProc_8B12A64, 0x8B12A64 +SET_DATA gProc_Guide, 0x8B12C64 +SET_DATA gProc_Guide2, 0x8B12D1C +SET_DATA gGfx_ChapterIntroBackground, 0x8B12DB4 +SET_DATA gPal_ChapterIntroBackground, 0x8B1754C +SET_DATA gGfx_8B17B64, 0x8B17B64 +SET_DATA gPal_8B18ED4, 0x8B18ED4 +SET_DATA gBattleAnimationData, 0x8C00008 diff --git a/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20190316.s b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20190316.s new file mode 100644 index 000000000..701a1c39e --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/reference/FE8U-20190316.s @@ -0,0 +1,4512 @@ + +.macro SET_FUNC name, value + .global \name + .type \name, function + .set \name, \value +.endm + +.macro SET_DATA name, value + .global \name + .type \name, object + .set \name, \value +.endm + +@ division & other libgcc functions +SET_FUNC __aeabi_idiv, __divsi3 +SET_FUNC __aeabi_idivmod, __modsi3 + +SET_FUNC GlobalIRQHandler, 0x80000FC +SET_FUNC ARM_ClearOAMBuffer, 0x8000304 +SET_FUNC ARM_ComputeChecksum32, 0x8000360 +SET_FUNC ARM_BgMapFillRect, 0x80003A8 +SET_FUNC ARM_BgMapCopyRect, 0x80003E0 +SET_FUNC ARM_BgMapApplyTsa, 0x800043C +SET_FUNC ARM_PushToHiOAM, 0x8000494 +SET_FUNC ARM_PushToLoOAM, 0x8000534 +SET_FUNC ARM_Draw1DTileTextGlyphCore, 0x8000564 +SET_FUNC ARM_HuffmanTextDecomp, 0x80006E4 +SET_FUNC ARM_Func5, 0x8000784 +SET_FUNC ARM_FillMovementMapCore, 0x8000874 +SET_FUNC AgbMain, 0x8000A21 +SET_FUNC StoreIRQToIRAM, 0x8000B35 +SET_FUNC IRQDummy, 0x8000B75 +SET_FUNC SetIRQHandler, 0x8000B79 +SET_FUNC RandNext, 0x8000B89 +SET_FUNC RandInit, 0x8000BC9 +SET_FUNC SetRandState, 0x8000C35 +SET_FUNC GetRandState, 0x8000C4D +SET_FUNC NextRN_100, 0x8000C65 +SET_FUNC NextRN_N, 0x8000C81 +SET_FUNC Roll1RN, 0x8000CA1 +SET_FUNC Roll2RN, 0x8000CB9 +SET_FUNC AestheticRandInit, 0x8000CDD +SET_FUNC AestheticRandNext, 0x8000CE9 +SET_FUNC EnableSoftReset, 0x8000D01 +SET_FUNC DisableSoftReset, 0x8000D0D +SET_FUNC IsSoftResetEnabled, 0x8000D19 +SET_FUNC GetGameClock, 0x8000D29 +SET_FUNC SetGameClock, 0x8000D35 +SET_FUNC IncrementGameClock, 0x8000D41 +SET_FUNC CopyToPaletteBuffer, 0x8000DB9 +SET_FUNC SyncLCDControl, 0x8000E9D +SET_FUNC GetBgControlBuffer, 0x8000F45 +SET_FUNC GetBgTileDataOffset, 0x8000F8D +SET_FUNC GetBgLocalTileIndex, 0x8000FA5 +SET_FUNC SetBgTileDataOffset, 0x8000FDD +SET_FUNC SetBgMapDataOffset, 0x8001005 +SET_FUNC SetBgScreenSize, 0x800104D +SET_FUNC SyncPalettes_AdditiveFilter, 0x8001095 +SET_FUNC SyncPalettes_SubstractiveFilter, 0x80010F1 +SET_FUNC SyncBgAndPals, 0x800114D +SET_FUNC FillBgMap, 0x8001221 +SET_FUNC RegisterBlankTile, 0x8001241 +SET_FUNC SetInterrupt_LCDVBlank, 0x8001259 +SET_FUNC SetInterrupt_LCDVCountMatch, 0x80012AD +SET_FUNC SetLCDVCountSetting, 0x800131D +SET_FUNC SetMainCallback, 0x8001329 +SET_FUNC ExecMainCycle, 0x8001335 +SET_FUNC KeyStateUpdatePrivate, 0x800134D +SET_FUNC KeyStateUpdate, 0x80013E1 +SET_FUNC KeyStateInit, 0x8001421 +SET_FUNC SetKeyStatusIgnore, 0x8001441 +SET_FUNC GetKeyStatusIgnore, 0x800144D +SET_FUNC KeyStatusSetterProc_Set, 0x8001459 +SET_FUNC StartKeyStatusSetter, 0x8001471 +SET_FUNC SetBgPosition, 0x800148D +SET_FUNC LoadBgConfig, 0x8001B59 +SET_FUNC GetBgMapBuffer, 0x8001C4D +SET_FUNC ShouldSkipHSScreen, 0x8001C69 +SET_FUNC HandleResetSequence, 0x8001C79 +SET_FUNC UpdateHBlankHandlerState, 0x8001D29 +SET_FUNC SetPrimaryHBlankCallback, 0x8001DD9 +SET_FUNC SetSecondaryHBlankCallback, 0x8001DED +SET_FUNC GetBgIdFromMapBuffer, 0x8001E01 +SET_FUNC SetBgDepth, 0x8001E6D +SET_FUNC GetBgDepth, 0x8001E8D +SET_FUNC SetColorEffectsParameters, 0x8001EA1 +SET_FUNC SetColorEffectsFirstTarget, 0x8001ED1 +SET_FUNC SetColorEffectsSecondTarget, 0x8001F0D +SET_FUNC SetColorEffectBackdropFirstTarget, 0x8001F49 +SET_FUNC SetColorEffectBackdropSecondTarget, 0x8001F65 +SET_FUNC SetDefaultColorEffects, 0x8001F81 +SET_FUNC EnablePaletteSync, 0x8001F95 +SET_FUNC DisablePaletteSync, 0x8001FA1 +SET_FUNC EnableBgSyncByMask, 0x8001FAD +SET_FUNC EnableBgSyncByIndex, 0x8001FBD +SET_FUNC ClearTileRegistry, 0x8001FE1 +SET_FUNC RegisterTileGraphics, 0x8002015 +SET_FUNC RegisterFillTile, 0x8002055 +SET_FUNC SyncRegisteredTiles, 0x8002089 +SET_FUNC InitOAMSplice, 0x80020FD +SET_FUNC SyncHiOAM, 0x8002139 +SET_FUNC SyncLoOAM, 0x800217D +SET_FUNC WriteOAMRotScaleData, 0x80021B1 +SET_FUNC GetLoOAMSize, 0x800224D +SET_FUNC Sound_GetCurrentSong, 0x8002259 +SET_FUNC Sound_IsSongPlaying, 0x8002265 +SET_FUNC Sound_SetVolume_8002274, 0x8002275 +SET_FUNC Sound_SetSongVolume, 0x80022ED +SET_FUNC Sound_FadeSongOut, 0x800231D +SET_FUNC Sound_FadeOut_800237C, 0x800237D +SET_FUNC Sound_FadeOut_80023E0, 0x80023E1 +SET_FUNC Sound_PlaySong, 0x8002449 +SET_FUNC Sound_PlaySongSmoothCommon, 0x8002479 +SET_FUNC Sound_PlaySongSmooth, 0x80024D5 +SET_FUNC Sound_PlaySongSmoothExt, 0x80024E5 +SET_FUNC Sound_SongVolumeTransitionAProc_Loop, 0x80024F1 +SET_FUNC StartSongVolumeTransitionB, 0x8002731 +SET_FUNC Sound_SongVolumeTransitionBProc_Loop, 0x8002789 +SET_FUNC Sound_PlaySoundDelayedProc_Loop, 0x800281D +SET_FUNC PlaySongDelayed, 0x8002859 +SET_FUNC Sound_PlaySongCore, 0x8002891 +SET_FUNC SetSoundDefaultMaxChannels, 0x80028D1 +SET_FUNC SetSoundMaxChannels, 0x80028E9 +SET_FUNC Sound_SetupMaxChannelsForSong, 0x80028FD +SET_FUNC CancelPlaySongDelayed, 0x8002AB9 +SET_FUNC RamFuncInit, 0x8002AF9 +SET_FUNC Draw1DTileTextGlyphCore, 0x8002B91 +SET_FUNC HuffmanTextDecomp, 0x8002BA5 +SET_FUNC PushToHiOAM, 0x8002BB9 +SET_FUNC PushToLoOAM, 0x8002BCD +SET_FUNC FillMovementMapCore, 0x8002BF5 +SET_FUNC ProcInit, 0x8002C09 +SET_FUNC ProcStart, 0x8002C7D +SET_FUNC ProcStartBlocking, 0x8002CE1 +SET_FUNC ProcEndPrivate, 0x8002D11 +SET_FUNC EndProc, 0x8002D6D +SET_FUNC ProcAlloc, 0x8002D85 +SET_FUNC _FreeProcState, 0x8002D95 +SET_FUNC ProcInsertRoot, 0x8002DA5 +SET_FUNC ProcInsert, 0x8002DC9 +SET_FUNC ProcIsolate, 0x8002DE1 +SET_FUNC ExecProc_Private, 0x8002E29 +SET_FUNC ExecProc, 0x8002E85 +SET_FUNC BreakProcLoop, 0x8002E95 +SET_FUNC ProcFind, 0x8002E9D +SET_FUNC ProcFindNonBlocked, 0x8002EC5 +SET_FUNC ProcFindMarked, 0x8002EF5 +SET_FUNC ProcGoto, 0x8002F25 +SET_FUNC ProcGotoPtr, 0x8002F5D +SET_FUNC ProcMark, 0x8002F65 +SET_FUNC ProcSetEndFunc, 0x8002F6D +SET_FUNC ForEveryProc, 0x8002F71 +SET_FUNC ForEachProc, 0x8002F99 +SET_FUNC ProcForEachMarked, 0x8002FC1 +SET_FUNC ProcHaltEachMarked, 0x8002FED +SET_FUNC ProcResumeEachMarked, 0x8003015 +SET_FUNC EndEachProcMarked, 0x8003041 +SET_FUNC _EndProc, 0x800306D +SET_FUNC EndEachProc, 0x8003079 +SET_FUNC _BreakProcLoop, 0x8003089 +SET_FUNC BreakEachProcLoop, 0x8003095 +SET_FUNC ForProcFamily, 0x80030A5 +SET_FUNC ProcInst00_End, 0x80030E9 +SET_FUNC ProcInst01_SetName, 0x80030F5 +SET_FUNC ProcInst02_CallRoutine, 0x8003105 +SET_FUNC ProcInst16_CallRoutine2, 0x8003119 +SET_FUNC ProcInst18_CallRoutineArg, 0x8003131 +SET_FUNC ProcInst14_WhileRoutine, 0x8003151 +SET_FUNC ProcInst03_SetOnCycle, 0x800317D +SET_FUNC ProcInst04_SetOnEnd, 0x800318D +SET_FUNC ProcInst05_AddChild, 0x80031A9 +SET_FUNC ProcInst06_AddBlockingChild, 0x80031C5 +SET_FUNC ProcInst07_BuggedAddGlobal, 0x80031E1 +SET_FUNC ProcInst08_BlockUntilRunning, 0x8003201 +SET_FUNC ProcInst09_EndAllOf, 0x8003229 +SET_FUNC ProcInst0A_BreakLoopForAll, 0x8003245 +SET_FUNC ProcInst0B_Nop, 0x8003261 +SET_FUNC ProcInst0D_GotoPointer, 0x800326D +SET_FUNC ProcInst0C_GotoLabel, 0x800327D +SET_FUNC _ProcSleepCallback, 0x8003291 +SET_FUNC ProcInst0E_Sleep, 0x80032AD +SET_FUNC ProcInst0F_Mark, 0x80032D5 +SET_FUNC ProcInst13_Nop2, 0x80032E9 +SET_FUNC ProcInst10_Halt, 0x80032F5 +SET_FUNC ProcInst11_EnsureUniqueWeak, 0x80032F9 +SET_FUNC ProcInst17_EnsureUniqueStrong, 0x8003339 +SET_FUNC ProcInst15_Nop3, 0x8003371 +SET_FUNC ProcInst12_SetBit4, 0x800337D +SET_FUNC ProcInterpretScript, 0x8003395 +SET_FUNC SetProcOnCycle, 0x8003451 +SET_FUNC Proc_GetNextWithScript, 0x800346D +SET_FUNC Proc_GetNextChild, 0x80034A1 +SET_FUNC _ResetIconGraphics, 0x8003579 +SET_FUNC ClearIcons, 0x8003585 +SET_FUNC LoadIconPalettes, 0x80035BD +SET_FUNC LoadIconPalette, 0x80035D5 +SET_FUNC GetIconGfxTileIndex, 0x8003611 +SET_FUNC GetIconGfxIndex, 0x8003625 +SET_FUNC GetIconTileIndex, 0x8003651 +SET_FUNC DrawIcon, 0x80036BD +SET_FUNC ClearIcon, 0x800370D +SET_FUNC LoadIconObjectGraphics, 0x800372D +SET_FUNC DebugBgFontInit, 0x800378D +SET_FUNC DebugBgPrint, 0x8003805 +SET_FUNC DebugInit, 0x8003871 +SET_FUNC DebugClearNumberString, 0x80038C9 +SET_FUNC DebugIntToString, 0x80038E1 +SET_FUNC DebugIntToStringOrDashes, 0x800391D +SET_FUNC DebugPrintNumber, 0x800394D +SET_FUNC DebugIntToStringHex, 0x8003969 +SET_FUNC DebugPrintNumberHex, 0x80039B5 +SET_FUNC DebugPrint, 0x80039D1 +SET_FUNC DebugDisplay, 0x8003A3D +SET_FUNC DebugMain, 0x8003ABD +SET_FUNC DebugObjFontInit, 0x8003B25 +SET_FUNC DebugObjPrint, 0x8003BB1 +SET_FUNC DebugObjPrintNumber, 0x8003BFD +SET_FUNC DebugObjPrintNumberHex, 0x8003C21 +SET_FUNC GetLang, 0x8003C7D +SET_FUNC SetLang, 0x8003C89 +SET_FUNC Text_InitFont, 0x8003C95 +SET_FUNC Text_InitFontExt, 0x8003CB9 +SET_FUNC Text_SetFontStandardGlyphSet, 0x8003CF5 +SET_FUNC Text_ResetTileAllocation, 0x8003D21 +SET_FUNC Text_SetFont, 0x8003D39 +SET_FUNC Text_InitClear, 0x8003D5D +SET_FUNC Text_InitDB, 0x8003D85 +SET_FUNC InitClearTextBatch, 0x8003DAD +SET_FUNC Text_Clear, 0x8003DC9 +SET_FUNC Text_GetXCursor, 0x8003E51 +SET_FUNC Text_SetXCursor, 0x8003E55 +SET_FUNC Text_Advance, 0x8003E59 +SET_FUNC Text_SetColorId, 0x8003E61 +SET_FUNC Text_GetColorId, 0x8003E65 +SET_FUNC Text_SetParameters, 0x8003E69 +SET_FUNC Text_Display, 0x8003E71 +SET_FUNC Text_DisplayBlank, 0x8003EBD +SET_FUNC Text_GetStringTextWidth, 0x8003EDD +SET_FUNC GetCharTextWidth, 0x8003F3D +SET_FUNC Text_GetStringTextCenteredPos, 0x8003F91 +SET_FUNC Text_GetStringNextLine, 0x8003FF5 +SET_FUNC Text_DrawString, 0x8004005 +SET_FUNC Text_DrawNumber, 0x8004075 +SET_FUNC Text_DrawNumberOr2Dashes, 0x8004145 +SET_FUNC Text_DrawChar, 0x8004181 +SET_FUNC Text_GetDst1dText, 0x80041E9 +SET_FUNC Get2bppTo4bppLookup, 0x8004209 +SET_FUNC DrawGlyph1DTile, 0x8004219 +SET_FUNC DrawGlyph1DTileNoClear, 0x8004269 +SET_FUNC Font_LoadForUI, 0x80043A9 +SET_FUNC Font_LoadForDialogue, 0x80043E9 +SET_FUNC Font_SetDraw1DTileNoClear, 0x8004429 +SET_FUNC DrawTextInline, 0x800443D +SET_FUNC Text_InsertString, 0x8004481 +SET_FUNC Text_InsertNumberOr2Dashes, 0x80044A5 +SET_FUNC Text_AppendStringAscii, 0x80044C9 +SET_FUNC Text_AppendCharAscii, 0x8004505 +SET_FUNC GetCharTextWidthAscii, 0x8004539 +SET_FUNC GetStringTextWidthAscii, 0x8004569 +SET_FUNC Font_InitForObj, 0x800459D +SET_FUNC Text_Init2DLine, 0x80045D9 +SET_FUNC Text_Clear2DLine, 0x800465D +SET_FUNC Text_Fill2DLine, 0x80046B5 +SET_FUNC Text_Get2DVRAMTarget, 0x80046E1 +SET_FUNC DrawGlyph2DTile, 0x8004701 +SET_FUNC NewGreenTextColorManager, 0x80049AD +SET_FUNC EndGreenTextColorManager, 0x80049D1 +SET_FUNC Text_DrawGlyphManual, 0x8004A35 +SET_FUNC Text_DrawSpecialUiChar, 0x8004A91 +SET_FUNC DrawSpecialUiChar_, 0x8004ACD +SET_FUNC DrawSpecialUiChar, 0x8004B0D +SET_FUNC DrawSpecialUiDecNumber, 0x8004B49 +SET_FUNC DrawUiNumber, 0x8004B89 +SET_FUNC DrawUiNumberOrDoubleDashes, 0x8004B95 +SET_FUNC DrawUiSmallNumber, 0x8004BE5 +SET_FUNC DrawStatScreenBonusNumber, 0x8004BF1 +SET_FUNC UpdateAISs, 0x8004E41 +SET_FUNC ClearAISs, 0x8004EB9 +SET_FUNC CreateAIS, 0x8004F49 +SET_FUNC SortAISs, 0x8004FAD +SET_FUNC DeleteAIS, 0x8005005 +SET_FUNC DisplayAIS, 0x8005035 +SET_FUNC AdvanceAIS, 0x8005041 +SET_FUNC InsertAIS, 0x80051C1 +SET_FUNC _DisplayAIS, 0x8005209 +SET_FUNC ObjClear, 0x80053A5 +SET_FUNC ObjInsertSafe, 0x80053E9 +SET_FUNC ObjInsert, 0x8005429 +SET_FUNC ObjDisplayAll, 0x8005459 +SET_FUNC _HiObjProc_Loop, 0x8005489 +SET_FUNC StartHiObjProc, 0x80054B1 +SET_FUNC MoveHiObjProc, 0x80054F5 +SET_FUNC GetPortraitData, 0x8005515 +SET_FUNC Face_Init, 0x8005529 +SET_FUNC SetFaceGfxConfig, 0x8005545 +SET_FUNC FindFreeFaceSlot, 0x8005571 +SET_FUNC FACE_Load, 0x8005595 +SET_FUNC FACE_Display, 0x80055BD +SET_FUNC StartFaceAuto, 0x8005611 +SET_FUNC StartFace, 0x800563D +SET_FUNC EndFace, 0x8005739 +SET_FUNC EndFaceById, 0x8005759 +SET_FUNC SetFaceDisplayBits, 0x8005771 +SET_FUNC SetFaceDisplayBitsById, 0x800578D +SET_FUNC GetFaceDisplayBits, 0x80057A5 +SET_FUNC GetFaceDisplayBitsById, 0x80057A9 +SET_FUNC ApplyFaceDisplayBitChange, 0x80057C1 +SET_FUNC LoadMiniMugGraphics, 0x8005925 +SET_FUNC DrawMiniMug, 0x8005989 +SET_FUNC ShouldPortraitBeSmol, 0x8005C25 +SET_FUNC StartFaceFadeOut, 0x8005F39 +SET_FUNC GetGenericMiniMugGfx, 0x8005F6D +SET_FUNC LoadGenericMiniMugPalette, 0x8005F9D +SET_FUNC SetFaceBlinkControl, 0x8006439 +SET_FUNC SetFaceBlinkControlById, 0x8006459 +SET_FUNC GetFaceBlinkProcUnk8006470, 0x8006471 +SET_FUNC NewFace2, 0x80064F5 +SET_FUNC Dialogue_ClearFaceReferences, 0x80067E9 +SET_FUNC Dialogue_InitGfx, 0x800680D +SET_FUNC Dialogue_InitGfxObj, 0x80068AD +SET_FUNC Dialogue_InitFont, 0x8006979 +SET_FUNC StartDialogue, 0x800698D +SET_FUNC StartDialogueFromIndex, 0x8006A31 +SET_FUNC StartDialogueParentless, 0x8006A71 +SET_FUNC EndDialogue, 0x8006A7D +SET_FUNC ClearDialogueFlags, 0x8006A99 +SET_FUNC SetDialogueFlag, 0x8006AA9 +SET_FUNC UnsetDialogueFlag, 0x8006AC9 +SET_FUNC CheckDialogueFlag, 0x8006ADD +SET_FUNC Dialogue_SetCharacterDisplayDelay, 0x8006AF1 +SET_FUNC Dialogue_SetDefaultTextColor, 0x8006B11 +SET_FUNC DialogueSkipInputListener_OnLoop, 0x8006B4D +SET_FUNC DialogueMain_OnInit, 0x8006C01 +SET_FUNC DialogueMain_OnLoop, 0x8006C35 +SET_FUNC DialogueMain_UpdateDisplay, 0x8006DA1 +SET_FUNC LockDialogue, 0x8006EC5 +SET_FUNC IsDialogueLocked, 0x8006ED9 +SET_FUNC UnlockDialogue, 0x8006EF1 +SET_FUNC Dialogue_SetActiveFacePosition, 0x8007839 +SET_FUNC DialogueMain_OnEnd, 0x8007C0D +SET_FUNC DialoguePauseTimer_OnLoop, 0x8007C29 +SET_FUNC NewTextBluArrowAndButtonChecker, 0x8007CD9 +SET_FUNC StartDialogueTextChoice, 0x8007DE9 +SET_FUNC DialogueTextChoice_OnLoop, 0x8007E9D +SET_FUNC GetTextPauseDurationFromControlCode, 0x8008199 +SET_FUNC Dialogue_ClearTextBoxes, 0x80081A9 +SET_FUNC Dialogue_ClearText, 0x80081ED +SET_FUNC NewDialogueBoxAppearingAnimator, 0x80083E1 +SET_FUNC nullsub_74, 0x80087A5 +SET_FUNC DialogueExists, 0x80089D1 +SET_FUNC FaceExists, 0x80089E9 +SET_FUNC GetLastDialoguePromptResult, 0x8008A01 +SET_FUNC GetStringTextWidthWithDialogueCodes, 0x8008B45 +SET_FUNC GetZero, 0x8008F19 +SET_FUNC DialogueEnableBgSyncByMask, 0x8008F21 +SET_FUNC nullsub_15, 0x8009039 +SET_FUNC AP_Init, 0x8009261 +SET_FUNC AP_Create, 0x800927D +SET_FUNC AP_Delete, 0x80092A5 +SET_FUNC AP_Update, 0x80092BD +SET_FUNC _AP_RegisterGraphics, 0x80092E5 +SET_FUNC _AP_Exec, 0x8009341 +SET_FUNC AP_RegisterAffine, 0x8009431 +SET_FUNC AP_SetAnimation, 0x8009519 +SET_FUNC AP_SetDefinition, 0x8009549 +SET_FUNC _AP_QueueTileGfx, 0x8009569 +SET_FUNC _AP_Load, 0x8009675 +SET_FUNC _AP_ExecOneFrame, 0x8009699 +SET_FUNC AP_CreatePrivate, 0x80096B9 +SET_FUNC AP_Alloc, 0x80096F1 +SET_FUNC APProc_Create, 0x8009719 +SET_FUNC _APProc_OnUpdate, 0x8009761 +SET_FUNC _APProc_OnDelete, 0x800978D +SET_FUNC APProc_SetParameters, 0x8009799 +SET_FUNC APProc_Delete, 0x80097B5 +SET_FUNC APProc_DeleteAll, 0x80097C1 +SET_FUNC APProc_Exists, 0x80097D1 +SET_FUNC GameControl_HandleSelectRightL, 0x8009A01 +SET_FUNC GameControl_8009A58, 0x8009A59 +SET_FUNC GameControl_8009A60_Null, 0x8009A61 +SET_FUNC EndProcIfNotMarkedB, 0x8009A6D +SET_FUNC GameControl_MasterSwitch, 0x8009B89 +SET_FUNC GameControl_PostChapterSwitch, 0x8009CE1 +SET_FUNC GameControl_ChapterSwitch, 0x8009D99 +SET_FUNC GameControl_CallPostChapterSaveMenu, 0x8009DE1 +SET_FUNC CallGameEndingEvent, 0x8009E99 +SET_FUNC GameControl_RememberChapterId, 0x8009EDD +SET_FUNC GameControl_RestoreChapterId, 0x8009EED +SET_FUNC StartGameControl, 0x8009F09 +SET_FUNC GetGameControl, 0x8009F41 +SET_FUNC SetNextGameActionId, 0x8009F51 +SET_FUNC SetNextChapterId, 0x8009F65 +SET_FUNC RestartGameAndGoto8, 0x8009F8D +SET_FUNC RestartGameAndGoto12, 0x8009FB1 +SET_FUNC nullsub_RestartGameAndGoto7, 0x8009FD5 +SET_FUNC nullsub_9, 0x8009FD9 +SET_FUNC GameControl_EnableSoundEffects, 0x8009FDD +SET_FUNC String_GetGenericArticle, 0x800A049 +SET_FUNC PrependArticleToString, 0x800A161 +SET_FUNC String_StripSomeEndCharacters, 0x800A1C9 +SET_FUNC GetStringFromIndex, 0x800A241 +SET_FUNC String_GetFromIndexExt, 0x800A281 +SET_FUNC Text_ExpandNamesInString, 0x800A2A5 +SET_FUNC String_ExpandTactName, 0x800A3B9 +SET_FUNC SetSomeRealCamPos, 0x800BA5D +SET_FUNC TriggerMapChanges, 0x800BAF9 +SET_FUNC UntriggerMapChange, 0x800BB49 +SET_FUNC HideAllUnits, 0x800BC1D +SET_FUNC GetUnitStructFromEventParameter, 0x800BC51 +SET_FUNC Event80_, 0x800BDCD +SET_FUNC Event81_, 0x800BDE9 +SET_FUNC Event82_EndWM, 0x800BE2D +SET_FUNC Event83_WM_SETCAM, 0x800BE39 +SET_FUNC Event84_WM_SETCAMONLOC, 0x800BE4D +SET_FUNC Event85_WM_SETCAMONSPRITE, 0x800BE8D +SET_FUNC Event86_WM_MOVECAM, 0x800BED5 +SET_FUNC Event87_, 0x800BF39 +SET_FUNC Event88_, 0x800BFD9 +SET_FUNC Event89_, 0x800C085 +SET_FUNC Event8A_, 0x800C0B9 +SET_FUNC Event8B_, 0x800C0C9 +SET_FUNC Event8C_, 0x800C0D5 +SET_FUNC Event8D_, 0x800C0F1 +SET_FUNC Event8E_, 0x800C109 +SET_FUNC Event8F_, 0x800C121 +SET_FUNC Event90_WM_DRAWPATH, 0x800C139 +SET_FUNC Event91_WM_DRAWPATH_Silent, 0x800C165 +SET_FUNC Event92_REMOVEPATH, 0x800C199 +SET_FUNC Event93_, 0x800C1CD +SET_FUNC Event94_, 0x800C1E9 +SET_FUNC Event95_, 0x800C205 +SET_FUNC Event96_, 0x800C255 +SET_FUNC Event97_, 0x800C2DD +SET_FUNC Event98_, 0x800C36D +SET_FUNC Event99_, 0x800C435 +SET_FUNC Event9A_, 0x800C469 +SET_FUNC Event9B_, 0x800C4C9 +SET_FUNC Event9C_, 0x800C4E5 +SET_FUNC Event9D_, 0x800C529 +SET_FUNC Event9E_PUTSPRITE, 0x800C55D +SET_FUNC Event9F_, 0x800C575 +SET_FUNC EventA0_REMSPRITE, 0x800C58D +SET_FUNC EventA1_, 0x800C59D +SET_FUNC EventA2_, 0x800C5AD +SET_FUNC EventA3_, 0x800C5BD +SET_FUNC EventA4_, 0x800C5F9 +SET_FUNC EventA5_, 0x800C635 +SET_FUNC EventA6_, 0x800C65D +SET_FUNC EventA7_, 0x800C68D +SET_FUNC EventA8_, 0x800C6C1 +SET_FUNC EventA9_, 0x800C755 +SET_FUNC EventAA_, 0x800C7B5 +SET_FUNC EventAB_, 0x800C7E5 +SET_FUNC EventAC_, 0x800C815 +SET_FUNC EventAD_, 0x800C85D +SET_FUNC EventAE_, 0x800C885 +SET_FUNC EventAF_, 0x800C8B1 +SET_FUNC EventB0_, 0x800C8D5 +SET_FUNC EventB1_, 0x800C8F9 +SET_FUNC EventB2_, 0x800C925 +SET_FUNC EventB3_, 0x800C939 +SET_FUNC EventB4_, 0x800C951 +SET_FUNC EventB5_, 0x800C981 +SET_FUNC EventB6_, 0x800C9A1 +SET_FUNC EventB7_, 0x800C9F1 +SET_FUNC EventB8_, 0x800CA19 +SET_FUNC EventB9_, 0x800CA39 +SET_FUNC EventBA_, 0x800CA61 +SET_FUNC EventBB_, 0x800CA9D +SET_FUNC EventBC_, 0x800CADD +SET_FUNC EventBD_, 0x800CB49 +SET_FUNC EventBE_, 0x800CB71 +SET_FUNC EventBF_, 0x800CBAD +SET_FUNC EventC0_, 0x800CBD9 +SET_FUNC EventC1_SKIPWM, 0x800CBF1 +SET_FUNC EventC2_, 0x800CC05 +SET_FUNC EventC3_, 0x800CC19 +SET_FUNC EventCE_, 0x800CC5D +SET_FUNC EventCF_, 0x800CC75 +SET_FUNC EventC4_, 0x800CC8D +SET_FUNC nullsub_31, 0x800CCE9 +SET_FUNC nullsub_32, 0x800CCED +SET_FUNC EventC5_, 0x800CCF1 +SET_FUNC nullsub_33, 0x800CD39 +SET_FUNC nullsub_34, 0x800CD3D +SET_FUNC EventC6_, 0x800CD51 +SET_FUNC EventC7_, 0x800CD89 +SET_FUNC EventC8_, 0x800CDA9 +SET_FUNC EventC9_, 0x800CDC9 +SET_FUNC EventCA_, 0x800CDF1 +SET_FUNC EventCB_, 0x800CDF5 +SET_FUNC EventCC_, 0x800CDF9 +SET_FUNC EventCD_, 0x800CE29 +SET_FUNC _MarkSomethingInMenu, 0x800CE41 +SET_FUNC EventEngine_Loop, 0x800CE4D +SET_FUNC EventEngine_OnEnd, 0x800CF5D +SET_FUNC EqueueEventEngineCall, 0x800D00D +SET_FUNC HandleNextEventEngineCall, 0x800D045 +SET_FUNC CallMapEventEngine, 0x800D07D +SET_FUNC StartMapEventEngine, 0x800D0B1 +SET_FUNC StartBattleEventEngine, 0x800D141 +SET_FUNC MapEventEngineExists, 0x800D199 +SET_FUNC BattleEventEngineExists, 0x800D1B1 +SET_FUNC DeleteEventEngines, 0x800D1C9 +SET_FUNC SetEventSlotC, 0x800D1F9 +SET_FUNC CallBattleQuoteTextEvents, 0x800D285 +SET_FUNC CallSomeOtherEvents, 0x800D2D1 +SET_FUNC StartGameOverEvent, 0x800D391 +SET_FUNC EventEngine_CanSkipMaybe, 0x800D3A5 +SET_FUNC SetDialogueSkipEvBit, 0x800D3E5 +SET_FUNC EventEngine_EnableSkip, 0x800D415 +SET_FUNC CheckEventId_, 0x800D4B9 +SET_FUNC SlotQueuePush, 0x800D529 +SET_FUNC SlotQueuePop, 0x800D545 +SET_FUNC SetEventCounter, 0x800D589 +SET_FUNC GetEventCounter, 0x800D595 +SET_FUNC Event00_Nop, 0x800D5A1 +SET_FUNC Event01_End, 0x800D5A5 +SET_FUNC Event02_EvBitAndIdMod, 0x800D671 +SET_FUNC Event03_CheckEvBitOrId, 0x800D6E5 +SET_FUNC Event04_CheckRandom, 0x800D755 +SET_FUNC Event05_SetSlot, 0x800D77D +SET_FUNC Event06_SlotOperation, 0x800D795 +SET_FUNC Event07_QueueOperation, 0x800D919 +SET_FUNC Event08_Label, 0x800D97D +SET_FUNC Event09_Goto, 0x800D981 +SET_FUNC Event0A_Call, 0x800D9B9 +SET_FUNC Event0B_EnqueueCall, 0x800DA2D +SET_FUNC Event0C_Branch, 0x800DA79 +SET_FUNC Event0D_AsmCall, 0x800DB01 +SET_FUNC Event0E_STAL, 0x800DB39 +SET_FUNC Event0F_CounterOperation, 0x800DBE1 +SET_FUNC Event10_ModifyEvBit, 0x800DC99 +SET_FUNC Event11_SetIgnoredKeys, 0x800DD59 +SET_FUNC Event12_SetBGM, 0x800DD75 +SET_FUNC Event13_SetBGM2, 0x800DDB1 +SET_FUNC Event14_OverwriteBGM, 0x800DE15 +SET_FUNC Event15_QuietBGM, 0x800DE75 +SET_FUNC Event16_PlaySound, 0x800DED5 +SET_FUNC Event17_Fade, 0x800DF21 +SET_FUNC Event18_ColorEffects, 0x800DFBD +SET_FUNC Event19_, 0x800E071 +SET_FUNC Event1A_TEXTSTART, 0x800E189 +SET_FUNC Event1B_TEXTSHOW, 0x800E3C9 +SET_FUNC Event1C_TEXTCONT, 0x800E51D +SET_FUNC Event1D_TEXTEND, 0x800E561 +SET_FUNC FaceWitnessProc_Main, 0x800E699 +SET_FUNC Event1E_, 0x800E6B5 +SET_FUNC Event1F_, 0x800E77D +SET_FUNC Event20_, 0x800E7C5 +SET_FUNC Event21_TextBGStuff, 0x800E8CD +SET_FUNC Event22_CLEAN, 0x800F0C9 +SET_FUNC Event23_BlockGameGraphics, 0x800F125 +SET_FUNC Event24_UnblockGameGraphics, 0x800F151 +SET_FUNC Event25_LOMA, 0x800F17D +SET_FUNC Event26_CameraControlMaybe, 0x800F20D +SET_FUNC Event27_MapChange, 0x800F2D5 +SET_FUNC Event28_ChangeWeather, 0x800F3ED +SET_FUNC Event29_SetFogVision, 0x800F3FD +SET_FUNC Event2A_MoveToChapter, 0x800F42D +SET_FUNC UNIT_GetListSize, 0x800F50D +SET_FUNC UNIT_ShouldBeLoaded, 0x800F529 +SET_FUNC LoadUnitsIdle, 0x800F5B9 +SET_FUNC UNITs_LoadInstant_800F698, 0x800F699 +SET_FUNC UNIT_Load_800F704, 0x800F705 +SET_FUNC UNIT_Filter, 0x800F915 +SET_FUNC Event2B_, 0x800FB19 +SET_FUNC Event2C_LoadUnits, 0x800FB85 +SET_FUNC CanStartEventUnitMovement, 0x800FC91 +SET_FUNC GetSomeEventEngineMoveRelatedBitfield, 0x800FCD9 +SET_FUNC Event2D_, 0x800FD0D +SET_FUNC Event2E_CheckAt, 0x800FD29 +SET_FUNC Event2F_MoveUnit, 0x800FD8D +SET_FUNC Event30_WaitForUnitMovement, 0x800FF25 +SET_FUNC Event31_DisplayEffectRange, 0x800FF69 +SET_FUNC Event32_SpawnSingleUnit, 0x800FFF9 +SET_FUNC Event33_CheckUnitVarious, 0x8010111 +SET_FUNC Event34_MessWithUnitState, 0x8010299 +SET_FUNC Event35_UnitClassChanging, 0x80104B1 +SET_FUNC Event36_CheckInArea, 0x801053D +SET_FUNC Event37_GiveItem, 0x80105A5 +SET_FUNC Event38_ChangeActiveUnit, 0x8010619 +SET_FUNC Event39_CHAI, 0x8010645 +SET_FUNC Event3A_, 0x80106E5 +SET_FUNC EventDisplayCursorProc_Loop, 0x8010749 +SET_FUNC Event3B_DisplayCursor, 0x801079D +SET_FUNC Event3C_, 0x8010851 +SET_FUNC Event3D_DisableMenuCommands, 0x80108AD +SET_FUNC Event3E_PrepScreenCall, 0x8010969 +SET_FUNC DecodeEventScriptedBattle, 0x801098D +SET_FUNC Event3F_, 0x8010A59 +SET_FUNC Event40_PROM, 0x8010B79 +SET_FUNC Event41_WarpAnim, 0x8010BED +SET_FUNC Event42_, 0x8010C71 +SET_FUNC Event43_, 0x8010CF1 +SET_FUNC Event44_, 0x8010D29 +SET_FUNC Event45_, 0x8010D5D +SET_FUNC ClearDialogueAndFaces, 0x8010E51 +SET_FUNC DisplayFlashingCursor, 0x8010E6D +SET_FUNC PopupProc_GetInnerLength, 0x8010F39 +SET_FUNC GenSomeLongPopupText, 0x801106D +SET_FUNC PopupProc_InitGfx, 0x801119D +SET_FUNC PopupProc_PlaySound, 0x8011211 +SET_FUNC PopupIconUpdaterLoop, 0x8011255 +SET_FUNC PopupProc_Display, 0x8011271 +SET_FUNC PopupProc_WaitForPress, 0x80113C1 +SET_FUNC LongPopup_Clear, 0x80113F9 +SET_FUNC SetPopupUnit, 0x8011451 +SET_FUNC SetPopupItem, 0x801145D +SET_FUNC SetPopupNumber, 0x8011469 +SET_FUNC Popup_Create, 0x8011475 +SET_FUNC Popup_CreateExt, 0x8011491 +SET_FUNC NewGotItemPopup, 0x80114DD +SET_FUNC ItemGot_DisplayLePopup, 0x8011525 +SET_FUNC ItemGot_GotLeItem, 0x8011539 +SET_FUNC NewItemGot, 0x8011555 +SET_FUNC NewGeneralItemGot, 0x801159D +SET_FUNC NewGoldGotPopup, 0x8011645 +SET_FUNC CreateItemStealingPopup, 0x8011695 +SET_FUNC NewPopup_WeaponBroke, 0x80116E1 +SET_FUNC NewPopup_WRankIncrease, 0x8011705 +SET_FUNC CreateNewUnitPopup, 0x8011729 +SET_FUNC nullsub_44, 0x8011A19 +SET_FUNC ChangeUnitAIThing, 0x8011CCD +SET_FUNC GetChapterAllyUnitCount, 0x8012345 +SET_FUNC InitPlayerUnitPositionsForPrepScreen, 0x8012361 +SET_FUNC PositionUnitsAccordingToDeployment, 0x801240D +SET_FUNC PositionUnitAccordingToDeployment, 0x801247D +SET_FUNC StoreUnitWordStructs, 0x801263D +SET_FUNC LoadUnitWordStructs, 0x8012679 +SET_FUNC String_CopyTo, 0x8012EC1 +SET_FUNC CopyNoCompData, 0x8012EDD +SET_FUNC Decompress, 0x8012F51 +SET_FUNC GetNoCompDataSize, 0x8012F91 +SET_FUNC RegisterObjectTileGraphics, 0x8012FF5 +SET_FUNC CopyTileGfxForObj, 0x8013021 +SET_FUNC GetPaletteFadeBuffer, 0x801344D +SET_FUNC SetSomethingInPaletteBB_2A, 0x8013471 +SET_FUNC SetSomethingInPaletteBB_5A, 0x8013481 +SET_FUNC SetSomethingInPaletteBB_8A, 0x8013495 +SET_FUNC GetSomethingInPaletteBB_2A, 0x80134A9 +SET_FUNC GetSomethingInPaletteBB_5A, 0x80134B5 +SET_FUNC GetSomethingInPaletteBB_8A, 0x80134C5 +SET_FUNC ArchiveCurrentPalettes, 0x80134D5 +SET_FUNC ArchivePalette, 0x8013521 +SET_FUNC WriteFadedPaletteFromArchive, 0x8013551 +SET_FUNC MapBrightnessFadeExists, 0x8013845 +SET_FUNC IsFadeActive, 0x8013C89 +SET_FUNC StartFadeInBlack, 0x8013CD1 +SET_FUNC StartFadeOutBlack, 0x8013CED +SET_FUNC StartBlockingFadeInBlack, 0x8013D09 +SET_FUNC StartBlockingFadeOutBlack, 0x8013D21 +SET_FUNC StartBlockingFadeInWhite, 0x8013D39 +SET_FUNC StartBlockingFadeOutWhite, 0x8013D51 +SET_FUNC StartFadeInBlackMedium, 0x8013D69 +SET_FUNC StartFadeInBlackSlow, 0x8013D75 +SET_FUNC StartFadeInBlackFast, 0x8013D81 +SET_FUNC StartFadeOutBlackMedium, 0x8013D8D +SET_FUNC StartFadeOutBlackFast, 0x8013DA5 +SET_FUNC StartBlockingFadeInBlackSlow, 0x8013DC1 +SET_FUNC WaitForFade, 0x8014069 +SET_FUNC StartBlockingTimer, 0x8014239 +SET_FUNC Timer_Countdown, 0x8014255 +SET_FUNC String_FromNumber, 0x8014335 +SET_FUNC SomeDrawTextCentered, 0x80143D9 +SET_FUNC SomeDrawTextInlineAutoWidth, 0x801443D +SET_FUNC DeleteAllPaletteAnimator, 0x8014481 +SET_FUNC StartPaletteAnimator, 0x8014491 +SET_FUNC StartPaletteAnimator_, 0x80144E5 +SET_FUNC FutureCall2_Loop, 0x801487D +SET_FUNC FutureCall_Loop, 0x80148A1 +SET_FUNC SetupFutureCall2, 0x80148C9 +SET_FUNC SetupFutureCall, 0x80148E5 +SET_FUNC RerangeSomething, 0x8014B01 +SET_FUNC PlaySpacialSoundMaybe, 0x8014B29 +SET_FUNC OnVBlankMain, 0x80152A5 +SET_FUNC OnGameLoopMain, 0x80152F5 +SET_FUNC LockGameLogic, 0x8015361 +SET_FUNC UnlockGameLogic, 0x8015371 +SET_FUNC GetGameLogicLock, 0x8015381 +SET_FUNC SwitchGameplayPhase, 0x801538D +SET_FUNC MapMain_CallBeginningEvent, 0x80153D5 +SET_FUNC MapMain_SwitchPhases, 0x8015411 +SET_FUNC MapMain_ThisProbablyUsedToBeEventRelatedInEarlierGames, 0x8015435 +SET_FUNC MapMain_StartPhaseController, 0x8015451 +SET_FUNC MapMain_StartPlayerPhaseAndApplyAction, 0x80154A5 +SET_FUNC MapMain_UpdateTraps, 0x80154C9 +SET_FUNC MapMain_Suspend, 0x80154F5 +SET_FUNC MapMain_StartIntroFx, 0x801550D +SET_FUNC MapMain_DeployEveryone, 0x8015545 +SET_FUNC GotoChapterWithoutSave, 0x8015589 +SET_FUNC MapMain_ChapterSwitch, 0x80155C5 +SET_FUNC SetupBackgroundForWeatherMaybe, 0x8015609 +SET_FUNC LoadObjUIGfx, 0x8015681 +SET_FUNC LoadGameCoreGfx, 0x80156F5 +SET_FUNC HandleCursorMovement, 0x8015715 +SET_FUNC MoveCameraByStepMaybe, 0x8015839 +SET_FUNC GetSomeAdjustedCameraX, 0x80159B9 +SET_FUNC GetSomeAdjustedCameraY, 0x80159FD +SET_FUNC DisplayCursor, 0x8015A99 +SET_FUNC SetCursorMapPosition, 0x8015BBD +SET_FUNC CameraMovement_OnInit, 0x8015C1D +SET_FUNC CameraMovement_OnLoop, 0x8015CB1 +SET_FUNC GetCenteredCameraPosition, 0x8015D31 +SET_FUNC CenterCameraOntoPosition, 0x8015D85 +SET_FUNC EnsureCameraOntoPosition, 0x8015E0D +SET_FUNC ShouldMoveCameraPosSomething, 0x8015E9D +SET_FUNC GetCurrentMapMusicIndex, 0x8015FC9 +SET_FUNC UpdatePlayMapMusic, 0x80160D1 +SET_FUNC GetItemNameWithArticle, 0x801618D +SET_FUNC GetItemHpBonus, 0x80163F1 +SET_FUNC GetItemPowBonus, 0x8016421 +SET_FUNC GetItemSklBonus, 0x8016451 +SET_FUNC GetItemSpdBonus, 0x8016481 +SET_FUNC GetItemDefBonus, 0x80164B1 +SET_FUNC GetItemResBonus, 0x80164E1 +SET_FUNC GetItemLckBonus, 0x8016511 +SET_FUNC MakeNewItem, 0x8016541 +SET_FUNC CanUnitUseWeapon, 0x8016575 +SET_FUNC CanUnitUseWeaponNow, 0x8016751 +SET_FUNC CanUnitUseStaff, 0x80167A5 +SET_FUNC CanUnitUseStaffNow, 0x8016801 +SET_FUNC DrawItemMenuLine, 0x8016849 +SET_FUNC DrawItemMenuLineLong, 0x80168E1 +SET_FUNC DrawItemMenuLineNoColor, 0x80169A9 +SET_FUNC DrawItemStatScreenLine, 0x8016A2D +SET_FUNC GetItemAfterUse, 0x8016AED +SET_FUNC GetUnitEquippedWeapon, 0x8016B29 +SET_FUNC GetUnitEquippedWeaponSlot, 0x8016B59 +SET_FUNC IsItemCoveringRange, 0x8016B8D +SET_FUNC EquipUnitItemSlot, 0x8016BC1 +SET_FUNC IsItemEffectiveAgainst, 0x8016BED +SET_FUNC IsUnitEffectiveAgainst, 0x8016C89 +SET_FUNC GetItemDisplayRangeString, 0x8016CC1 +SET_FUNC GetItemDisplayRangeString2, 0x8016CC9 +SET_FUNC GetWeaponLevelFromExp, 0x8016D5D +SET_FUNC GetItemDisplayRankString, 0x8016D95 +SET_FUNC GetDisplayRankSpecialCharFromExp, 0x8016DF9 +SET_FUNC GetWeaponTypeDisplayString, 0x8016E21 +SET_FUNC GetWeaponExpProgressState, 0x8016E51 +SET_FUNC IsItemDanceRing, 0x8016EC9 +SET_FUNC IsItemDisplayUsable, 0x8016EE5 +SET_FUNC CanUnitUse_unused, 0x8016F7D +SET_FUNC GetUnitItemHealAmount, 0x8016FB9 +SET_FUNC GetUnitItemSlot, 0x801702D +SET_FUNC IsItemStealable, 0x8017055 +SET_FUNC IsItemHammernable, 0x8017081 +SET_FUNC GetItemReachBits, 0x80170D5 +SET_FUNC GetUnitWeaponReachBits, 0x80171E9 +SET_FUNC GetUnitItemUseReachBits, 0x801723D +SET_FUNC GetUnitStaffReachBits, 0x80172F9 +SET_FUNC GetConvoyItemCostSum, 0x801737D +SET_FUNC GetUnitItemCostSum, 0x80173D1 +SET_FUNC GetPartyTotalGoldValue, 0x8017451 +SET_FUNC SetItemUnsealedForCharacter, 0x8017479 +SET_FUNC IsItemUnsealedForUnit, 0x80174AD +SET_FUNC GetItemIndex, 0x80174ED +SET_FUNC GetItemName, 0x80174F5 +SET_FUNC GetItemDescId, 0x8017519 +SET_FUNC GetItemUseDescId, 0x8017531 +SET_FUNC GetItemType, 0x8017549 +SET_FUNC GetItemAttributes, 0x801756D +SET_FUNC GetItemUses, 0x8017585 +SET_FUNC GetItemMaxUses, 0x80175B1 +SET_FUNC GetItemMight, 0x80175DD +SET_FUNC GetItemHit, 0x80175F5 +SET_FUNC GetItemWeight, 0x801760D +SET_FUNC GetItemCrit, 0x8017625 +SET_FUNC GetItemCost, 0x801763D +SET_FUNC GetItemMinRange, 0x801766D +SET_FUNC GetItemMaxRange, 0x8017685 +SET_FUNC GetItemEncodedRange, 0x80176A1 +SET_FUNC GetItemRequiredExp, 0x80176B9 +SET_FUNC GetItemEffectiveness, 0x80176D1 +SET_FUNC GetItemStatBonuses, 0x80176E9 +SET_FUNC GetItemIconId, 0x8017701 +SET_FUNC GetItemWeaponEffect, 0x8017725 +SET_FUNC GetItemUseEffect, 0x801773D +SET_FUNC GetItemCostPerUse, 0x8017755 +SET_FUNC GetItemMaxCost, 0x801776D +SET_FUNC GetItemAwardedExp, 0x8017799 +SET_FUNC GetItemData, 0x80177B1 +SET_FUNC ClearUnits, 0x80177C5 +SET_FUNC ClearUnit, 0x80177F5 +SET_FUNC CopyUnit, 0x801781D +SET_FUNC GetFreeUnit, 0x8017839 +SET_FUNC GetFreeBlueUnit, 0x8017871 +SET_FUNC GetUnitFogViewRange, 0x80178A9 +SET_FUNC SetUnitStatusExt, 0x80178D9 +SET_FUNC SetUnitStatusExt, 0x80178F5 +SET_FUNC GetUnitSMSId, 0x8017905 +SET_FUNC UnitAddItem, 0x8017949 +SET_FUNC ClearUnitInventory, 0x801796D +SET_FUNC UnitRemoveInvalidItems, 0x8017985 +SET_FUNC GetUnitItemCount, 0x80179D9 +SET_FUNC UnitHasItem, 0x80179F9 +SET_FUNC LoadUnits, 0x8017A35 +SET_FUNC CanClassWieldWeaponType, 0x8017A8D +SET_FUNC LoadUnit, 0x8017AC5 +SET_FUNC UnitInitFromDefinition, 0x8017D3D +SET_FUNC UnitLoadItemsFromDefinition, 0x8017DF9 +SET_FUNC UnitLoadStatsFromChracter, 0x8017E35 +SET_FUNC FixROMUnitStructPtr, 0x8017EBD +SET_FUNC UnitLoadSupports, 0x8017EF5 +SET_FUNC UnitAutolevelWExp, 0x8017F21 +SET_FUNC UnitAutolevelCore, 0x8017FC5 +SET_FUNC UnitAutolevelPenalty, 0x8018065 +SET_FUNC UnitApplyBonusLevels, 0x80180CD +SET_FUNC UnitAutolevel, 0x8018121 +SET_FUNC UnitAutolevelRealistic, 0x8018161 +SET_FUNC UnitCheckStatCaps, 0x80181C9 +SET_FUNC GetUnitByCharId, 0x801829D +SET_FUNC GetUnitFromCharIdAndFaction, 0x80182D9 +SET_FUNC CanUnitRescue, 0x801831D +SET_FUNC UnitRescue, 0x801834D +SET_FUNC UnitDrop, 0x8018371 +SET_FUNC UnitGive, 0x80183C9 +SET_FUNC UnitKill, 0x80183FD +SET_FUNC UnitChangeFaction, 0x8018431 +SET_FUNC UnitFinalizeMovement, 0x801849D +SET_FUNC UnitGetDeathDropLocation, 0x80184E1 +SET_FUNC UnitBeginAction, 0x801865D +SET_FUNC UnitBeginCantoAction, 0x80186D5 +SET_FUNC MoveActiveUnit, 0x8018741 +SET_FUNC ClearActiveFactionGrayedStates, 0x80187C1 +SET_FUNC TickActiveFactionTurn, 0x8018859 +SET_FUNC SetAllUnitNotBackSprite, 0x801895D +SET_FUNC UnitUpdateUsedItem, 0x8018995 +SET_FUNC GetUnitAid, 0x80189B9 +SET_FUNC GetUnitMagBy2Range, 0x8018A1D +SET_FUNC UnitHasMagicRank, 0x8018A59 +SET_FUNC GetUnitKeyItemSlotForTerrain, 0x8018A9D +SET_FUNC GetUnitAidIconId, 0x8018AF1 +SET_FUNC GetUnitWeaponUsabilityBits, 0x8018B29 +SET_FUNC GetCombinedEnemyWeaponUsabilityBits, 0x8018BA1 +SET_FUNC CanUnitMove, 0x8018BD9 +SET_FUNC IsPositionMagicSealed, 0x8018C99 +SET_FUNC IsUnitMagicSealed, 0x8018D09 +SET_FUNC GetUnitLastItem, 0x8018D35 +SET_FUNC GetUnitMovementCost, 0x8018D4D +SET_FUNC GetClassSMSId, 0x8018D91 +SET_FUNC UpdatePrevDeployStates, 0x8018DB1 +SET_FUNC LoadUnitPrepScreenPositions, 0x8018E31 +SET_FUNC ClearTemporaryUnits, 0x8018EB9 +SET_FUNC IsUnitSlotAvailable, 0x8018F49 +SET_FUNC CountAvailableBlueUnits, 0x8018FF1 +SET_FUNC CountRedUnits, 0x8019035 +SET_FUNC CountGreenUnits, 0x8019075 +SET_FUNC ClearCutsceneUnits, 0x80190B5 +SET_FUNC GetUnitCurrentHp, 0x8019151 +SET_FUNC GetUnitMaxHp, 0x8019191 +SET_FUNC GetUnitPower, 0x80191B1 +SET_FUNC GetUnitSkill, 0x80191D1 +SET_FUNC GetUnitSpeed, 0x8019211 +SET_FUNC GetUnitDefense, 0x8019251 +SET_FUNC GetUnitResistance, 0x8019271 +SET_FUNC GetUnitLuck, 0x8019299 +SET_FUNC GetUnitPortraitId, 0x80192B9 +SET_FUNC GetUnitMiniPortraitId, 0x80192F5 +SET_FUNC GetUnitLeaderCharId, 0x8019341 +SET_FUNC SetUnitLeaderCharId, 0x8019361 +SET_FUNC SetUnitHp, 0x8019369 +SET_FUNC AddUnitHp, 0x80193A5 +SET_FUNC GetUnitRescueName, 0x80193E9 +SET_FUNC GetUnitStatusName, 0x8019415 +SET_FUNC GetUnit, 0x8019431 +SET_FUNC GetClassData, 0x8019445 +SET_FUNC GetCharacterData, 0x8019465 +SET_FUNC UnitRemoveItem, 0x8019485 +SET_FUNC CanUnitCrossTerrain, 0x801949D +SET_FUNC InitChapterMap, 0x80194BD +SET_FUNC BmMapInit, 0x80197A5 +SET_FUNC BmMapFill, 0x80197E5 +SET_FUNC BmMapFillEdges, 0x8019841 +SET_FUNC UnpackChapterMap, 0x80198AD +SET_FUNC UnpackChapterMapGraphics, 0x801990D +SET_FUNC UnpackChapterMapPalette, 0x8019975 +SET_FUNC InitBaseTilesBmMap, 0x80199A5 +SET_FUNC RefreshTerrainBmMap, 0x8019A65 +SET_FUNC GetTrueTerrainAt, 0x8019AF5 +SET_FUNC DisplayBmTile, 0x8019B19 +SET_FUNC DisplayMovementViewTile, 0x8019B8D +SET_FUNC RenderBmMap, 0x8019C3D +SET_FUNC RenderBmMapOnBg2, 0x8019CBD +SET_FUNC UpdateBmMapDisplay, 0x8019D29 +SET_FUNC RenderBmMapColumn, 0x8019E09 +SET_FUNC RenderBmMapLine, 0x8019ED5 +SET_FUNC RefreshUnitsOnBmMap, 0x8019FA1 +SET_FUNC RefreshTorchlightsOnBmMap, 0x801A175 +SET_FUNC RefreshMinesOnBmMap, 0x801A1A1 +SET_FUNC RefreshEntityBmMaps, 0x801A1F5 +SET_FUNC GetTerrainName, 0x801A241 +SET_FUNC GetTerrainHealAmount, 0x801A259 +SET_FUNC GetTerrainUnk, 0x801A269 +SET_FUNC RevertMapChange, 0x801A2ED +SET_FUNC FillMovementMapForUnit, 0x801A38D +SET_FUNC FillMovementMapForUnitAndMovement, 0x801A3CD +SET_FUNC MapMovementFillMovementFromUnit, 0x801A409 +SET_FUNC MapRangeFillMovementFromPosition, 0x801A43D +SET_FUNC MapMovementFillMovementFromPosition, 0x801A46D +SET_FUNC MapFillMovementFromUnitAt, 0x801A49D +SET_FUNC SetMovCostTable, 0x801A4CD +SET_FUNC MapFillMovement, 0x801A4ED +SET_FUNC GenerateMovementInstructionsToPoint, 0x801A641 +SET_FUNC ProcessUnitMovement, 0x801A82D +SET_FUNC MapMovementMarkMovementEdges, 0x801A8E5 +SET_FUNC MapMarkMovementEdges, 0x801A9D1 +SET_FUNC MapAddInRange, 0x801AABD +SET_FUNC MapSetInRange, 0x801ABC1 +SET_FUNC FillMapAttackRangeForUnit, 0x801ACBD +SET_FUNC FillRangeMapByRangeMask, 0x801B461 +SET_FUNC FillMapStaffRangeForUnit, 0x801B619 +SET_FUNC FillRangeMapForDangerZone, 0x801B811 +SET_FUNC MapSetInMagicSealedRange, 0x801B951 +SET_FUNC SetSubjectMap, 0x801B999 +SET_FUNC MapIncInBoundedRange, 0x801B9A5 +SET_FUNC GetCurrentMovCostTable, 0x801B9E5 +SET_FUNC Loop6C_WaitForSelectPress, 0x801BA59 +SET_FUNC DebugMenu_MapIdle, 0x801BB41 +SET_FUNC DebugMenu_MapEffect, 0x801BB55 +SET_FUNC DebugMapMenu_DisplayInfoDraw, 0x801BCE5 +SET_FUNC DebugMapMenu_DisplayInfoIdle, 0x801BD59 +SET_FUNC DebugMapMenu_DisplayInfoEffect, 0x801BDA1 +SET_FUNC DebugMenu_WeatherDraw, 0x801BDA5 +SET_FUNC DebugMenu_WeatherIdle, 0x801BE29 +SET_FUNC DebugMenu_WeatherEffect, 0x801BEFD +SET_FUNC DebugMenu_ClearDraw, 0x801BF01 +SET_FUNC DebugMenu_ClearIdle, 0x801BF6D +SET_FUNC DebugMenu_ClearEffect, 0x801C015 +SET_FUNC DebugMenu_ErasedEffect, 0x801C019 +SET_FUNC DEBUGONLY_Startup, 0x801C091 +SET_FUNC UNUSED_StartupDebugMenu_WorldMapEffect, 0x801C1DD +SET_FUNC UNUSED_StartupDebugMenu_ChapterSelectIdle, 0x801C225 +SET_FUNC UNUSED_StartupDebugMenu_ChapterSelectEffect, 0x801C249 +SET_FUNC StartupDebugMenu_InitializeFileEffect, 0x801C371 +SET_FUNC DebugMenu_FogDraw, 0x801C3D5 +SET_FUNC DebugMenu_FogIdle, 0x801C449 +SET_FUNC DebugMenu_FogEffect, 0x801C4B1 +SET_FUNC StartupDebugMenu_ReleaseEntryEffect, 0x801C4B5 +SET_FUNC DebugMenu_GNightEffect, 0x801C4C1 +SET_FUNC DebugChargeMenu_Draw, 0x801C4D1 +SET_FUNC DebugChargeMenu_Idle, 0x801C589 +SET_FUNC PlayerPhase_Suspend, 0x801C895 +SET_FUNC HandlePlayerCursorMovement, 0x801C8AD +SET_FUNC CanShowUnitStatScreen, 0x801C929 +SET_FUNC PlayerPhase_MainIdle, 0x801C941 +SET_FUNC DisplayUnitEffectRange, 0x801CB71 +SET_FUNC PlayerPhase_InitUnitMovementSelect, 0x801CC1D +SET_FUNC DisplayActiveUnitEffectRange, 0x801CC7D +SET_FUNC PlayerPhase_DisplayDangerZone, 0x801CCB5 +SET_FUNC PlayerPhase_RangeDisplayIdle, 0x801CD1D +SET_FUNC PlayerPhase_CancelAction, 0x801CFF1 +SET_FUNC PlayerPhase_BackToMove, 0x801D009 +SET_FUNC PlayerPhase_PreAction, 0x801D085 +SET_FUNC TryMakeCantoUnit, 0x801D245 +SET_FUNC MaybeRunPostActionEvents, 0x801D301 +SET_FUNC EnsureCameraOntoActiveUnitPosition, 0x801D31D +SET_FUNC PlayerPhase_ApplyUnitMovement, 0x801D471 +SET_FUNC GetUnitSelectionValueThing, 0x801D51D +SET_FUNC CanMoveActiveUnitTo, 0x801D5A9 +SET_FUNC PlayerPhase_DisplayUnitMovement, 0x801D625 +SET_FUNC PlayerPhase_WaitForUnitMovement, 0x801D64D +SET_FUNC PlayerPhase_ResumeRangeDisplay, 0x801D669 +SET_FUNC PlayerPhase_ReloadGameGfx, 0x801D6FD +SET_FUNC MakeMoveunitForActiveUnit, 0x801D70D +SET_FUNC ClearActiveUnit, 0x801D75D +SET_FUNC ASMC_801D7E8, 0x801D7E9 +SET_FUNC PlayerPhase_RangeDisplayIdle_ForceAPress, 0x801D819 +SET_FUNC MoveLimitViewChange_OnInit, 0x801D89D +SET_FUNC MoveLimitViewChange_OnLoop, 0x801D8ED +SET_FUNC MoveLimitView_OnInit, 0x801D92D +SET_FUNC MoveLimitView_OnLoop, 0x801D9DD +SET_FUNC MoveLimitView_OnEnd, 0x801DA61 +SET_FUNC DisplayMoveRangeGraphics, 0x801DA99 +SET_FUNC HideMoveRangeGraphics, 0x801DACD +SET_FUNC PlayerPhase_HandleAutoEnd, 0x801DBA5 +SET_FUNC GetSomeFacingDirection, 0x801DBD5 +SET_FUNC NewMoveUnitForUnitBeingRescued, 0x801DC01 +SET_FUNC Loop6C_KOIDO, 0x801DC3D +SET_FUNC Make6CKOIDO, 0x801DC7D +SET_FUNC Make6CKOIDOAMM, 0x801DCD1 +SET_FUNC Destruct6CBMXFADE, 0x801DDA9 +SET_FUNC StartBMXFADE, 0x801DDC5 +SET_FUNC StartBlockingBMXFADE, 0x801DDF1 +SET_FUNC BMXFADEExists, 0x801DE19 +SET_FUNC GetPlayerStartCursorPosition, 0x801DE31 +SET_FUNC GetEnemyStartCursorPosition, 0x801DE89 +SET_FUNC ADJUSTFROMXI_MoveCameraOnSomeUnit, 0x801DF65 +SET_FUNC HandleNewItemGetFromDrop, 0x801E099 +SET_FUNC SendToConvoyMenu_Draw, 0x801E139 +SET_FUNC MenuCommand_DrawExtraItem, 0x801E145 +SET_FUNC SendToConvoyMenu_NormalEffect, 0x801E189 +SET_FUNC FillWarpRangeMap, 0x801E34D +SET_FUNC ForceMenuItemPanel, 0x801E685 +SET_FUNC UpdateMenuItemPanel, 0x801E749 +SET_FUNC EndMenuItemPanel, 0x801EA55 +SET_FUNC StartUnitSwapAnimation, 0x801EC11 +SET_FUNC UnitSwapAnimationExists, 0x801EC49 +SET_FUNC LoadPhaseIntroGraphics, 0x801F2CD +SET_FUNC ChangeActiveUnitFacing, 0x801F50D +SET_FUNC GasTrapEffectGfx_Setup, 0x801F541 +SET_FUNC StartGasTrapEffectGfxMaybe, 0x801F601 +SET_FUNC MineFireEffectGfx_Setup, 0x801F631 +SET_FUNC NewFireTrapEffectGfx, 0x801F68D +SET_FUNC NewMineTrapEffectGfx, 0x801F6BD +SET_FUNC StartLightArrowTrapGfx, 0x801F845 +SET_FUNC BgMoverProc_Update, 0x801FD91 +SET_FUNC BeginLightRuneMapAnim, 0x8021685 +SET_FUNC BeginMineMapAnim, 0x8022301 +SET_FUNC MapMenuCommnd_EndEffect, 0x80225F9 +SET_FUNC MapMenuCommand_UnitEffect, 0x802260D +SET_FUNC MapMenuCommnd_StatusEffect, 0x8022651 +SET_FUNC MapMenuCommnd_GuideEffect, 0x80226E5 +SET_FUNC MapMenuCommand_DangerZoneUnusedEffect, 0x80226F9 +SET_FUNC EffectWait, 0x8022739 +SET_FUNC GenericSelection_BackToUM, 0x8022749 +SET_FUNC GenericSelection_BackToUM_CamWait, 0x802282D +SET_FUNC RescueUsability, 0x80228A5 +SET_FUNC RescueEffect, 0x80228DD +SET_FUNC RescueSelection_OnSelect, 0x80228FD +SET_FUNC DropUsability, 0x8022911 +SET_FUNC DropEffect, 0x8022949 +SET_FUNC DropSelection_OnSelect, 0x8022969 +SET_FUNC TakeUsability, 0x802298D +SET_FUNC TakeEffect, 0x80229D5 +SET_FUNC GiveUsability, 0x80229F5 +SET_FUNC GiveEffect, 0x8022A3D +SET_FUNC MakeUnitRescueTransferGraphics, 0x8022A5D +SET_FUNC TakeSelection_OnSelect, 0x8022A91 +SET_FUNC GiveSelection_OnSelect, 0x8022AE1 +SET_FUNC DisplayUnitStandingAttackRange, 0x8022C31 +SET_FUNC HideMoveRangeGraphicsWrapper, 0x8022C99 +SET_FUNC DanceCommandUsability, 0x8023195 +SET_FUNC ItemCommandEffect, 0x80232E9 +SET_FUNC ItemSelectMenu_TextDraw, 0x8023351 +SET_FUNC ItemSelectMenu_Usability, 0x80233D9 +SET_FUNC ItemSelectMenu_Effect, 0x8023429 +SET_FUNC nullsub_25, 0x80234A9 +SET_FUNC CancelMenu, 0x8023551 +SET_FUNC FillBallistaRange, 0x80239CD +SET_FUNC StaffCommandUsability, 0x8023A55 +SET_FUNC StaffCommandEffect, 0x8023ACD +SET_FUNC StaffItemSelect_Usability, 0x8023B91 +SET_FUNC StaffItemSelect_Effect, 0x8023BC9 +SET_FUNC StaffItemSelect_TextDraw, 0x8023C09 +SET_FUNC StaffItemSelect_OnHover, 0x8023C15 +SET_FUNC PickCommandUsability, 0x8023E7D +SET_FUNC SupplyUsability, 0x8023F65 +SET_FUNC ArenaCommandUsability, 0x80240ED +SET_FUNC ArenaCommandEffect, 0x8024145 +SET_FUNC StealCommandUsability, 0x802418D +SET_FUNC StealCommandEffect, 0x80241DD +SET_FUNC StealTargetSelection_OnInit, 0x802421D +SET_FUNC StealItemMenuCommand_Usability, 0x8024305 +SET_FUNC StealItemMenuCommand_Draw, 0x8024349 +SET_FUNC StealItemMenuCommand_Effect, 0x802439D +SET_FUNC RescueSelection_OnConstruction, 0x802467D +SET_FUNC RescueSelection_OnChange, 0x802469D +SET_FUNC DropSelection_OnConstruction, 0x80246C1 +SET_FUNC TradeTargetSelection_OnInit, 0x8024769 +SET_FUNC nullsub_27, 0x8024885 +SET_FUNC RideCommandUsability, 0x80248C5 +SET_FUNC RideCommandEffect, 0x8024921 +SET_FUNC AttackCommandUsability, 0x80249AD +SET_FUNC AttackBallistaCommandUsability, 0x8024A29 +SET_FUNC nullsub_26, 0x8024BF5 +SET_FUNC GetPhaseAbleUnitCount, 0x8024CED +SET_FUNC CountUnitInFactionWithoutAttributes, 0x8024D51 +SET_FUNC AreAllegiancesAllied, 0x8024D8D +SET_FUNC AreAllegiancesEqual, 0x8024DA5 +SET_FUNC GetCurrentPhase, 0x8024DBD +SET_FUNC IsNotEnemyPhaseMaybe, 0x8024DD1 +SET_FUNC GetPartyGoldAmount, 0x8024DE9 +SET_FUNC SetPartyGoldAmount, 0x8024E05 +SET_FUNC AddPartyGoldAmount, 0x8024E21 +SET_FUNC ForEachUnitInRange, 0x8024EAD +SET_FUNC ForEachPosInRange, 0x8024F19 +SET_FUNC ForEachAdjacentUnit, 0x8024F71 +SET_FUNC ForEachAdjacentPosition, 0x8024FA5 +SET_FUNC ForEachPosIn12Range, 0x8025039 +SET_FUNC ForEachUnitInMagBy2Range, 0x802506D +SET_FUNC TryAddTrapsToTargetList, 0x80250BD +SET_FUNC AddUnitToTargetListIfNotAllied, 0x802517D +SET_FUNC MakeTargetListForWeapon, 0x80251B5 +SET_FUNC TryAddUnitToTradeTargetList, 0x802521D +SET_FUNC MakeTradeTargetList, 0x80252D1 +SET_FUNC TryAddUnitToRescueTargetList, 0x8025345 +SET_FUNC MakeRescueTargetList, 0x80253B5 +SET_FUNC TryAddToDropTargetList, 0x80253E9 +SET_FUNC MakeDropTargetList, 0x8025441 +SET_FUNC TryAddRescuedUnitToTakeTargetList, 0x8025475 +SET_FUNC MakeTakeTargetList, 0x80254E1 +SET_FUNC MakeTargetListForSupport, 0x8025645 +SET_FUNC AddUnitToTargetListIfAllied, 0x80256F1 +SET_FUNC FillBallistaRangeMaybe, 0x8025729 +SET_FUNC TryAddClosedDoorToTargetList, 0x8025795 +SET_FUNC TryAddBridgeToTargetList, 0x80257D5 +SET_FUNC MakeTargetListForDoorAndBridges, 0x8025815 +SET_FUNC MakeTargetListForPick, 0x80258A5 +SET_FUNC MakeTerrainHealTargetList, 0x8025905 +SET_FUNC MakePoisonDamageTargetList, 0x80259ED +SET_FUNC MakeGorgonEggHatchTargetList, 0x8025A65 +SET_FUNC AddAsTarget_IfCanStealFrom, 0x8025BA1 +SET_FUNC MakeTargetListForSteal, 0x8025C01 +SET_FUNC AddAsTarget_IfPositionCleanForSummon, 0x8025C35 +SET_FUNC ListSummonTargets, 0x8025CA5 +SET_FUNC TryAddUnitToHealTargetList, 0x8025E29 +SET_FUNC MakeTargetListForAdjacentHeal, 0x8025E7D +SET_FUNC MakeTargetListForRangedHeal, 0x8025EB1 +SET_FUNC AddToTargetListIfNotAllied, 0x8025EFD +SET_FUNC MakeTargetListForFuckingNightmare, 0x8025F45 +SET_FUNC TryAddUnitToRestoreTargetList, 0x8025F99 +SET_FUNC MakeTargetListForRestore, 0x8025FE9 +SET_FUNC TryAddUnitToBarrierTargetList, 0x802601D +SET_FUNC MakeTargetListForBarrier, 0x802606D +SET_FUNC TryAddUnitToRescueStaffTargetList, 0x80260A1 +SET_FUNC MakeTargetListForRescueStaff, 0x80260D9 +SET_FUNC TryAddUnitToSilenceTargetList, 0x8026101 +SET_FUNC TryAddUnitToSleepTargetList, 0x802614D +SET_FUNC TryAddUnitToBerzerkTargetList, 0x8026199 +SET_FUNC MakeTargetListForSilence, 0x80261E5 +SET_FUNC MakeTargetListForSleep, 0x802620D +SET_FUNC MakeTargetListForBerserk, 0x8026235 +SET_FUNC TryAddUnitToWarpTargetList, 0x802625D +SET_FUNC MakeTargetListForWarp, 0x8026295 +SET_FUNC MakeTargetListForUnlock, 0x80262C9 +SET_FUNC TryAddUnitToHammerneTargetList, 0x80262FD +SET_FUNC MakeTargetListForHammerne, 0x8026355 +SET_FUNC MakeTargetListForLatona, 0x8026389 +SET_FUNC MakeTargetListForMine, 0x80264F1 +SET_FUNC MakeTargetListForLightRune, 0x8026581 +SET_FUNC TryAddUnitToDanceRingTargetList, 0x80265B5 +SET_FUNC MakeTargetListForDanceRing, 0x80265E5 +SET_FUNC LoadMapSpritePalettes, 0x8026629 +SET_FUNC SMS_Init, 0x8026689 +SET_FUNC SMS_80266F0, 0x80266F1 +SET_FUNC SMS_SomethingGmapUnit, 0x802677D +SET_FUNC SMS_RegisterUsage, 0x80267FD +SET_FUNC SomethingSMS_16x16_0, 0x80268C9 +SET_FUNC SomethingSMS_16x16, 0x802695D +SET_FUNC SomethingSMS_16x32, 0x8026A39 +SET_FUNC SomethingSMS_32x32, 0x8026B29 +SET_FUNC SMS_SyncDirect, 0x8026F2D +SET_FUNC SMS_SyncIndirect, 0x8026F95 +SET_FUNC GetUnitBattleMapSpritePaletteIndex, 0x802713D +SET_FUNC GetUnitMapSpritePaletteIndex, 0x8027169 +SET_FUNC SMS_UpdateFromGameData, 0x80271A1 +SET_FUNC SMS_GetNewInfoStruct, 0x802736D +SET_FUNC SMS_DisplayAllFromInfoStructs, 0x80273A5 +SET_FUNC DisplayChapterTileMarker, 0x8027531 +SET_FUNC DisplayUnitAdditionalBlinkingIcons, 0x80275E9 +SET_FUNC ResetMapSpriteHoverTimer, 0x8027A41 +SET_FUNC HandleMapSpriteCursorHover, 0x8027A4D +SET_FUNC SMS_DisplayOne, 0x8027F29 +SET_FUNC SMS_DisplayWindowBlended, 0x8028015 +SET_FUNC HideUnitSMS, 0x802810D +SET_FUNC ShowUnitSMS, 0x8028131 +SET_FUNC GetUnitStandingSpriteDataFlagThing, 0x8028145 +SET_FUNC GetROMUnitSupportCount, 0x80281C9 +SET_FUNC GetROMUnitSupportingId, 0x80281DD +SET_FUNC GetUnitSupportingUnit, 0x80281F5 +SET_FUNC GetSupportLevelBySupportIndex, 0x802823D +SET_FUNC GetUnitTotalSupportLevels, 0x8028265 +SET_FUNC AddSupportPoints, 0x8028291 +SET_FUNC CanUnitSupportCommandWith, 0x8028311 +SET_FUNC GetUnitStartingSupportValue, 0x802838D +SET_FUNC GetSupportDataIdForOtherUnit, 0x80283A9 +SET_FUNC ClearUnitSupports, 0x80283E1 +SET_FUNC ProcessSupportGains, 0x8028435 +SET_FUNC GetSupportBonusEntryPtr, 0x802852D +SET_FUNC StoreAddedAffinityBonusesForSupportLevel, 0x8028551 +SET_FUNC GetUnitSupportBonuses, 0x80285B1 +SET_FUNC CanUnitsStillSupportThisChapter, 0x802878D +SET_FUNC SwapUnitStats, 0x80287D5 +SET_FUNC CanUnitUseItem, 0x8028871 +SET_FUNC ItemEffect_Call, 0x8028E61 +SET_FUNC IsGeneratedTargetListEmpty, 0x8029069 +SET_FUNC CanUseHealingItem, 0x802907D +SET_FUNC CanUsePureWater, 0x80290A1 +SET_FUNC CanUseTorch, 0x80290B9 +SET_FUNC CanUseAntidote, 0x80290E5 +SET_FUNC CanUseChestKey, 0x80290FD +SET_FUNC CanUseDoorKey, 0x8029139 +SET_FUNC CanOpenBridge, 0x802914D +SET_FUNC CanUseLockpick, 0x8029161 +SET_FUNC CanUsePromotionItem, 0x80291A9 +SET_FUNC CanUseStatBooster, 0x802940D +SET_FUNC CanUseJunaFruit, 0x8029505 +SET_FUNC EndItemEffectSelectionThing, 0x802951D +SET_FUNC GenericStaffSelection_OnSelect, 0x8029551 +SET_FUNC PrepareTargetSelectionForRescueStaff, 0x8029569 +SET_FUNC SetupTargetSelectionForGenericStaff, 0x80295A9 +SET_FUNC WarpTargetPosSelect_Init, 0x80295E9 +SET_FUNC WarpTargetPosSelect_Loop, 0x802969D +SET_FUNC WarpTargetPosSelect_Confirm, 0x80297D1 +SET_FUNC WarpTargetPosSelect_Cancel, 0x802980D +SET_FUNC WarpTargetPosSelect_Destruct, 0x8029841 +SET_FUNC WarpTargetSelection_OnSelect, 0x8029855 +SET_FUNC SetupWarpTargetSelection, 0x802987D +SET_FUNC PrepareTargetSelectionForMineAndLightRune, 0x80298F1 +SET_FUNC HammerneTargetSelection_OnSelect, 0x8029945 +SET_FUNC SetupHammerneUseSelection, 0x80299B9 +SET_FUNC HammerneTargetSelection_OnChange, 0x8029A09 +SET_FUNC HammerneTargetSelection_OnInit, 0x8029A2D +SET_FUNC nullsub_24, 0x8029A49 +SET_FUNC PrepareTargetSelectionForHeal, 0x8029B8D +SET_FUNC PrepareTargetSelectionForRestoreStaff, 0x8029BC9 +SET_FUNC PrepareTargetSelectionForOffensiveStaff, 0x8029CA1 +SET_FUNC GenericSelection_DeleteBBAndBG, 0x8029D29 +SET_FUNC TorchTargetPosSelect_Init, 0x8029D99 +SET_FUNC TorchTargetSelection_Loop, 0x8029DF1 +SET_FUNC NewTorchStaffSelection, 0x8029ED9 +SET_FUNC CanUnitUseItemPrepScreen, 0x8029F01 +SET_FUNC BattleGenerateSimulationInternal, 0x802A13D +SET_FUNC BattleGenerateRealInternal, 0x802A20D +SET_FUNC BattleApplyGameStateUpdates, 0x802A2F5 +SET_FUNC BattleGenerateSimulation, 0x802A319 +SET_FUNC BattleGenerateReal, 0x802A351 +SET_FUNC BattleGenerateBallistaSimulation, 0x802A365 +SET_FUNC BattleGenerateBallistaReal, 0x802A385 +SET_FUNC BattleGenerate, 0x802A399 +SET_FUNC BattleGenerateUiStats, 0x802A401 +SET_FUNC BattleRoll1RN, 0x802A52D +SET_FUNC BattleRoll2RN, 0x802A559 +SET_FUNC InitBattleUnit, 0x802A585 +SET_FUNC InitBattleUnitWithoutBonuses, 0x802A669 +SET_FUNC SetBattleUnitTerrainBonuses, 0x802A6A1 +SET_FUNC SetBattleUnitTerrainBonusesAuto, 0x802A6DD +SET_FUNC SetBattleUnitWeapon, 0x802A731 +SET_FUNC SetBattleUnitWeaponBallista, 0x802A919 +SET_FUNC ComputeBattleUnitStats, 0x802A95D +SET_FUNC ComputeBattleUnitEffectiveStats, 0x802A9A9 +SET_FUNC ComputeBattleUnitSupportBonuses, 0x802A9D1 +SET_FUNC ComputeBattleUnitDefense, 0x802AA45 +SET_FUNC ComputeBattleUnitBaseDefense, 0x802AAA5 +SET_FUNC ComputeBattleUnitAttack, 0x802AABD +SET_FUNC ComputeBattleUnitSpeed, 0x802AB75 +SET_FUNC ComputeBattleUnitHitRate, 0x802ABAD +SET_FUNC ComputeBattleUnitAvoidRate, 0x802ABE5 +SET_FUNC ComputeBattleUnitCritRate, 0x802AC19 +SET_FUNC ComputeBattleUnitDodgeRate, 0x802AC55 +SET_FUNC ComputeBattleUnitEffectiveHitRate, 0x802AC61 +SET_FUNC ComputeBattleUnitEffectiveCritRate, 0x802AC91 +SET_FUNC ComputeBattleUnitSilencerRate, 0x802ACF9 +SET_FUNC ComputeBattleUnitWeaponRankBonuses, 0x802AD55 +SET_FUNC ComputeBattleUnitStatusBonuses, 0x802AD91 +SET_FUNC ComputeBattleUnitSpecialWeaponStats, 0x802ADCD +SET_FUNC ClearBattleHits, 0x802AE91 +SET_FUNC BattleUnwind, 0x802AED1 +SET_FUNC BattleGetBattleUnitOrder, 0x802AF7D +SET_FUNC BattleGetFollowUpOrder, 0x802AF91 +SET_FUNC BattleGenerateRoundHits, 0x802B019 +SET_FUNC GetBattleUnitHitCount, 0x802B081 +SET_FUNC BattleCheckBraveEffect, 0x802B095 +SET_FUNC BattleCheckTriangleAttack, 0x802B0CD +SET_FUNC BattleUpdateBattleStats, 0x802B1C5 +SET_FUNC BattleCheckSureShot, 0x802B1F5 +SET_FUNC BattleCheckPierce, 0x802B279 +SET_FUNC BattleCheckGreatShield, 0x802B2E9 +SET_FUNC BattleCheckSilencer, 0x802B38D +SET_FUNC BattleCheckPetrify, 0x802B3D1 +SET_FUNC BattleGenerateHitAttributes, 0x802B3ED +SET_FUNC BattleGenerateHitTriangleAttack, 0x802B579 +SET_FUNC BattleGenerateHitEffects, 0x802B601 +SET_FUNC BattleGenerateHit, 0x802B83D +SET_FUNC BattleApplyExpGains, 0x802B92D +SET_FUNC GetStatIncrease, 0x802B9A1 +SET_FUNC GetAutoleveledStatIncrease, 0x802B9C5 +SET_FUNC CanBattleUnitGainLevels, 0x802B9F5 +SET_FUNC CheckBattleUnitLevelUp, 0x802BA29 +SET_FUNC ApplyUnitDefaultPromotion, 0x802BC01 +SET_FUNC ApplyUnitPromotion, 0x802BD51 +SET_FUNC GenerateBattleUnitStatGainsComparatively, 0x802BEA1 +SET_FUNC CheckBattleUnitStatCaps, 0x802BF25 +SET_FUNC BattleApplyUnitUpdates, 0x802C029 +SET_FUNC GetBattleUnitUpdatedWeaponExp, 0x802C0B5 +SET_FUNC HasBattleUnitGainedWeaponLevel, 0x802C1B1 +SET_FUNC UpdateUnitFromBattle, 0x802C1ED +SET_FUNC UpdateUnitDuringBattle, 0x802C2D5 +SET_FUNC BattleApplyBallistaUpdates, 0x802C301 +SET_FUNC GetUnitExpLevel, 0x802C345 +SET_FUNC GetUnitRoundExp, 0x802C369 +SET_FUNC GetUnitPowerLevel, 0x802C399 +SET_FUNC GetUnitClassKillExpBonus, 0x802C3D9 +SET_FUNC GetUnitExpMultiplier, 0x802C40D +SET_FUNC GetUnitKillExpBonus, 0x802C451 +SET_FUNC ModifyUnitSpecialExp, 0x802C4F1 +SET_FUNC GetBattleUnitExpGain, 0x802C535 +SET_FUNC BattleApplyItemExpGains, 0x802C5B9 +SET_FUNC GetBattleUnitStaffExp, 0x802C639 +SET_FUNC BattleApplyMiscActionExpGains, 0x802C6A1 +SET_FUNC BattleUnitTargetSetEquippedWeapon, 0x802C6ED +SET_FUNC BattleUnitTargetCheckCanCounter, 0x802C741 +SET_FUNC BattleApplyReaverEffect, 0x802C76D +SET_FUNC BattleApplyWeaponTriangleEffect, 0x802C7C1 +SET_FUNC BattleInitTargetCanCounter, 0x802C845 +SET_FUNC InitObstacleBattleUnit, 0x802C8C5 +SET_FUNC ComputeBattleObstacleStats, 0x802C949 +SET_FUNC UpdateObstacleFromBattle, 0x802C985 +SET_FUNC BeginBattleAnimations, 0x802CA15 +SET_FUNC GetUnitSoloBattleAnimType, 0x802CA71 +SET_FUNC GetBattleAnimType, 0x802CA99 +SET_FUNC BattlePrintDebugUnitInfo, 0x802CAF9 +SET_FUNC BattlePrintDebugHitInfo, 0x802CAFD +SET_FUNC BattleInitItemEffect, 0x802CB25 +SET_FUNC BattleInitItemEffectTarget, 0x802CBC9 +SET_FUNC UpdateActorFromBattle, 0x802CC1D +SET_FUNC BattleApplyMiscAction, 0x802CC39 +SET_FUNC BattleApplyItemEffect, 0x802CC55 +SET_FUNC GetOffensiveStaffAccuracy, 0x802CCDD +SET_FUNC BattleGenerateArena, 0x802CD65 +SET_FUNC BattleIsTriangleAttack, 0x802CE89 +SET_FUNC DidBattleUnitBreakWeapon, 0x802CE9D +SET_FUNC SetScriptedBattle, 0x802CEBD +SET_FUNC BattleGenerateHitScriptedDamage, 0x802CEC9 +SET_FUNC BattleUnwindScripted, 0x802CF4D +SET_FUNC UnitLevelUp_unused, 0x802D0BD +SET_FUNC BattleHitAdvance, 0x802D2B5 +SET_FUNC BattleHitTerminate, 0x802D2C5 +SET_FUNC TradeMenu_802D2E0, 0x802D2E1 +SET_FUNC TradeMenu_InitTextHandles, 0x802D475 +SET_FUNC TradeMenu_RefreshItemText, 0x802D4A9 +SET_FUNC TradeMenu_InitGraphics, 0x802D795 +SET_FUNC TradeMenu_802D820, 0x802D821 +SET_FUNC TradeMenu_802D834, 0x802D835 +SET_FUNC TradeMenu_802D918, 0x802D919 +SET_FUNC TradeMenu_802D980, 0x802D981 +SET_FUNC TradeMenu_802DAAC, 0x802DAAD +SET_FUNC TradeMenu_802DAFC, 0x802DAFD +SET_FUNC TradeMenu_802DB48, 0x802DB49 +SET_FUNC StartTradeMenu, 0x802DD6D +SET_FUNC TradeMenu_802E140, 0x802E141 +SET_FUNC ResetTraps, 0x802E1C9 +SET_FUNC GetTrapAt, 0x802E1F1 +SET_FUNC GetSpecificTrapAt, 0x802E24D +SET_FUNC AddTrap, 0x802E2B9 +SET_FUNC AddTrapExt, 0x802E2E1 +SET_FUNC RemoveTrap, 0x802E2FD +SET_FUNC AddFireTrap, 0x802E315 +SET_FUNC AddGasTrap, 0x802E331 +SET_FUNC AddArrowTrap, 0x802E351 +SET_FUNC AddTrap8, 0x802E389 +SET_FUNC AddTrap9, 0x802E399 +SET_FUNC AddSnagsAndWalls, 0x802E3A9 +SET_FUNC ApplyTrapMapChanges, 0x802E431 +SET_FUNC UpdateAllLightRunes, 0x802E471 +SET_FUNC GetTrapExt1At, 0x802E4AD +SET_FUNC GetMapChangesPointerById, 0x802E4F5 +SET_FUNC GetMapChangesIdAt, 0x802E531 +SET_FUNC ApplyMapChangesById, 0x802E58D +SET_FUNC AddMapChange, 0x802E5F9 +SET_FUNC RemoveMapChange, 0x802E60D +SET_FUNC AreMapChangeTriggered, 0x802E639 +SET_FUNC HideIfUnderRoof, 0x802E661 +SET_FUNC UpdateUnitsUnderRoof, 0x802E691 +SET_FUNC AddToTargetListFromPos, 0x802E6F1 +SET_FUNC AddArrowTrapTargetsToTargetList, 0x802E711 +SET_FUNC MakeTargetListForTurnTrapDamage, 0x802E83D +SET_FUNC CountDownTraps, 0x802E9A9 +SET_FUNC ResetCounterForCountedDownTraps, 0x802E9D1 +SET_FUNC AddLightRune, 0x802EA59 +SET_FUNC RemoveLightRune, 0x802EA91 +SET_FUNC HandleTrapDecay, 0x802EAC1 +SET_FUNC BattleSomethingTrapChangeTerrain, 0x802EB11 +SET_FUNC NullAllLightRunesTerrain, 0x802EB51 +SET_FUNC GetTrap, 0x802EB8D +SET_FUNC ExecStandardHeal, 0x802EB99 +SET_FUNC ExecRestore, 0x802EC21 +SET_FUNC GetRescueStaffeePosition, 0x802ECD1 +SET_FUNC ExecRescueStaff, 0x802EEF9 +SET_FUNC ExecWarpStaff, 0x802EFAD +SET_FUNC ExecStatusStaff, 0x802F011 +SET_FUNC ExecFortify, 0x802F155 +SET_FUNC ExecUnlock, 0x802F275 +SET_FUNC ExecHammerne, 0x802F2B5 +SET_FUNC ExecLatona, 0x802F30D +SET_FUNC ExecSomeSelfHeal, 0x802F381 +SET_FUNC ApplyStatBoosterAndGetMessageId, 0x802F809 +SET_FUNC ExecStatBooster, 0x802F915 +SET_FUNC ExecItemMine, 0x802FA4D +SET_FUNC ExecTorchStaff, 0x802FB89 +SET_FUNC ActionStaffDoorChestUseItem, 0x802FC49 +SET_FUNC ActionPick, 0x802FFB5 +SET_FUNC SetupGameVBlankProc_TileAnimations, 0x80300F5 +SET_FUNC GameVBlankProc_Destructor, 0x8030139 +SET_FUNC GameVBlankProc_Loop, 0x8030145 +SET_FUNC StartGameVBlankProc, 0x8030151 +SET_FUNC EndGameVBlankProc, 0x8030175 +SET_FUNC LockGameGraphicsLogic, 0x8030185 +SET_FUNC UnlockGameGraphicsLogic, 0x80301B9 +SET_FUNC AllocWeatherParticles, 0x80301F5 +SET_FUNC nullsub_12, 0x8030711 +SET_FUNC SetupWeatherGraphics_Maybe, 0x8030B35 +SET_FUNC UpdateWeatherGraphics, 0x8030BA5 +SET_FUNC SetupWeather, 0x8030C7D +SET_FUNC GetTextSpeed, 0x8030C95 +SET_FUNC InitClearChapterState, 0x8030CF5 +SET_FUNC ResetGameState, 0x8030DD9 +SET_FUNC StartChapter, 0x8030E05 +SET_FUNC GameControl_StartResumedGame, 0x8030FE5 +SET_FUNC LoadGameCoreGfx2, 0x8031179 +SET_FUNC ReloadGameCoreGraphics, 0x80311A9 +SET_FUNC StartMapMain, 0x80311BD +SET_FUNC EndMapMain, 0x80311F1 +SET_FUNC ChapterEndUnitCleanup, 0x8031215 +SET_FUNC MapMain_ResumeFromPhaseIdle, 0x8031301 +SET_FUNC MapMain_ResumeFromAction, 0x803133D +SET_FUNC MapMain_ResumeFromBerserkPhase, 0x80313BD +SET_FUNC MapMain_ResumeFromArena, 0x80313F9 +SET_FUNC MapMain_ResumeFromPhaseSwitch, 0x8031475 +SET_FUNC GetTacticianNameString, 0x80314E5 +SET_FUNC SetTacticianName, 0x80314ED +SET_FUNC GetConvoyItemArray, 0x8031501 +SET_FUNC ClearConvoyItems, 0x8031509 +SET_FUNC ShrinkConvoyItemList, 0x803152D +SET_FUNC GetConvoyItemCount, 0x8031571 +SET_FUNC AddItemToConvoy, 0x8031595 +SET_FUNC GetConvoyItemSlot, 0x80315E5 +SET_FUNC HasConvoyAccess, 0x803161D +SET_FUNC InitUnitStack, 0x80316C5 +SET_FUNC PushUnit, 0x80316E1 +SET_FUNC LoadPlayerUnitsFromUnitStack, 0x8031715 +SET_FUNC LoadPlayerUnitsFromUnitStack2, 0x8031755 +SET_FUNC PrepareArenaStruct, 0x8031795 +SET_FUNC PrepareArena, 0x8031875 +SET_FUNC PrepareArena2, 0x8031891 +SET_FUNC GetUnitBestWRankType, 0x80318B5 +SET_FUNC GetClassBestWRankType, 0x80318E1 +SET_FUNC IsWeaponMagic, 0x80319D9 +SET_FUNC GetNearLevel, 0x80319F9 +SET_FUNC GetUnitArenaWeight, 0x8031A15 +SET_FUNC LoadArenaOpponentStruct, 0x8031A85 +SET_FUNC LoadArenaWeapons, 0x8031B71 +SET_FUNC GetArenaBetterItem, 0x8031BC1 +SET_FUNC PrepareBalancedArenaFight, 0x8031C11 +SET_FUNC AdjustArenaOpponentPower, 0x8031D59 +SET_FUNC CouldUnitUseAnyWeapon, 0x8031F51 +SET_FUNC StoreRNStateToActionStruct, 0x8031FED +SET_FUNC LoadRNStateFromActionStruct, 0x8031FFD +SET_FUNC ApplyUnitAction, 0x803200D +SET_FUNC ActionRescue, 0x8032165 +SET_FUNC ActionDrop, 0x80321E1 +SET_FUNC ActionVisitAndSieze, 0x8032271 +SET_FUNC ActionCombat, 0x803229D +SET_FUNC ActionArena, 0x8032345 +SET_FUNC ActionDance, 0x8032359 +SET_FUNC ActionTalk, 0x80323A9 +SET_FUNC ActionSupport, 0x80323D5 +SET_FUNC ActionSteal, 0x803247D +SET_FUNC ActionSummon, 0x8032555 +SET_FUNC ActionSummonDK, 0x8032581 +SET_FUNC SpriteJumpAnimation_Loop, 0x80325AD +SET_FUNC SpriteJumpAnimation_ExecAnyTrap, 0x8032659 +SET_FUNC SpriteJumpAnimation_Cleanup, 0x8032665 +SET_FUNC DropRescuedUnitIfDead, 0x8032675 +SET_FUNC KillUnitIfDefeatedBy, 0x8032729 +SET_FUNC KillUnitIfNoHealth, 0x8032751 +SET_FUNC BATTLE_GOTO1_IfNobodyIsDead, 0x8032775 +SET_FUNC DidUnitDie, 0x80327B5 +SET_FUNC BATTLE_ProbablyMakesTheDeadUnitDissapear, 0x80327C9 +SET_FUNC BATTLE_DeleteLinkedMOVEUNIT, 0x8032861 +SET_FUNC BATTLE_HandleUnitDeaths, 0x803286D +SET_FUNC BATTLE_HandleItemDrop, 0x80328D1 +SET_FUNC BATTLE_HandleActiveUnitDeath, 0x80329A1 +SET_FUNC MoveCursor_SetLastCursorPosition, 0x80329D9 +SET_FUNC MoveCursor_CutPath, 0x80329ED +SET_FUNC MoveCursor_AddMovePoint, 0x8032A95 +SET_FUNC MoveCursor_GetPointIndexForPosition, 0x8032B19 +SET_FUNC MoveCursor_AppendFromMoveBuffer, 0x8032B89 +SET_FUNC MoveCursor_FillMovementMapForEndPoint, 0x8032D31 +SET_FUNC MoveCursor_RecomputePath, 0x8032D75 +SET_FUNC MoveCursor_8032DA0, 0x8032DA1 +SET_FUNC GetPlayerLeaderUnitId, 0x8033259 +SET_FUNC ClosePrepScreenMapMenu, 0x803334D +SET_FUNC PrepScreenMapMenu_OnViewMap, 0x8033359 +SET_FUNC PrepScreenMapMenu_OnFormation, 0x803336D +SET_FUNC PrepScreenMapMenu_OnStartPress, 0x80333A5 +SET_FUNC PrepScreenMapMenu_OnBPress, 0x80333C5 +SET_FUNC PrepScreenMapMenu_OnOptions, 0x803341D +SET_FUNC PrepScreenMapMenu_OnSave, 0x8033459 +SET_FUNC PrepScreenMapMenu_OnDebug, 0x8033469 +SET_FUNC PrepScreenProc_InitMapMenu, 0x80334BD +SET_FUNC PrepScreenProc_DimMapImmediate, 0x80334CD +SET_FUNC PrepScreenProc_StartBrightenMap, 0x80334E9 +SET_FUNC PrepScreenProc_StartDimMap, 0x8033515 +SET_FUNC PrepScreenMapMenu_OnEnd, 0x8033635 +SET_FUNC PrepScreenProc_StartMapMenu, 0x8033649 +SET_FUNC CanCharacterBePrepMoved, 0x803374D +SET_FUNC InitPrepScreenUnitsAndCamera, 0x8033871 +SET_FUNC InitPrepScreenCursorPosition, 0x80338C1 +SET_FUNC PrepScreenProc_MapIdle, 0x8033979 +SET_FUNC PrepScreen_StartUnitSwap, 0x8033C11 +SET_FUNC PrepScreen_UnitSwapIdle, 0x8033C91 +SET_FUNC PrepScreen_StartUnitSwapAnim, 0x8033E09 +SET_FUNC InitMapChangeGraphicsIfFog, 0x8033E8D +SET_FUNC DisplayMapChangeIfFog, 0x8033EA5 +SET_FUNC PrepScreenProc_StartConfigMenu, 0x8033EC1 +SET_FUNC PrepScreenProc_StartShopScreen, 0x8033ED5 +SET_FUNC PrepScreenProc_Cleanup, 0x8034079 +SET_FUNC StartPrepScreenSaveMenu, 0x803410D +SET_FUNC PrepScreenProc_LockGame, 0x80341D1 +SET_FUNC PrepScreenProc_HideEverythingAndUnlockGame, 0x8034201 +SET_FUNC ShrinkPlayerUnitList, 0x8034215 +SET_FUNC EndPrepScreen, 0x8034279 +SET_FUNC CanUnitUseVisit, 0x8034315 +SET_FUNC CanUnitUseSeize, 0x80343A9 +SET_FUNC CanUnitUseAttack, 0x8034429 +SET_FUNC CanActiveUnitUseRescue, 0x8034471 +SET_FUNC CanActiveUnitUseTrade, 0x803448D +SET_FUNC GetUnitCommandUseFlags, 0x80344A9 +SET_FUNC GetChapterDefinition, 0x8034619 +SET_FUNC GetChapterMapPointer, 0x8034641 +SET_FUNC GetChapterMapChangesPointer, 0x8034685 +SET_FUNC GetChapterEventDataPointer, 0x80346B1 +SET_FUNC IsDifficultMode, 0x8034705 +SET_FUNC NewUnitInfoWindow, 0x80347A9 +SET_FUNC UnitInfoWindow_PositionUnitName, 0x80347D5 +SET_FUNC UnitInfoWindow_DrawBase, 0x803483D +SET_FUNC GetUnitInfoWindowX, 0x80349D5 +SET_FUNC NewUnitInfoWindow_WithAllLines, 0x8034C19 +SET_FUNC DrawHammerneUnitInfoWindow, 0x8034E5D +SET_FUNC SetupUnitRescueWindow, 0x8035205 +SET_FUNC StartBottomHelpText, 0x8035709 +SET_FUNC EndBottomHelpText, 0x8035749 +SET_FUNC IsBottomHelpTextActive, 0x8035759 +SET_FUNC ExecSelfDamage, 0x803592D +SET_FUNC StartStatusClearFx, 0x8035DDD +SET_FUNC BattleForecase_SetupLabelText, 0x8036595 +SET_FUNC DrawUnitNameForBattleForecast, 0x80365E5 +SET_FUNC AddWeaponStatsAfterRound, 0x803666D +SET_FUNC BKSEL_SetupHitAndSuchStats, 0x80366A1 +SET_FUNC BKSEL_DrawStandard, 0x8036819 +SET_FUNC BKSEL_DrawDetailed, 0x8036A71 +SET_FUNC BKSEL_Draw, 0x8036CD1 +SET_FUNC BKSEL_InitGfx, 0x8036D9D +SET_FUNC BKSEL_Destructor, 0x8036E1D +SET_FUNC BKSEL_Display, 0x8036E2D +SET_FUNC MapEventEngineExists_, 0x80372D5 +SET_FUNC StartBattleForecast, 0x803730D +SET_FUNC MineFireTrap_DoSomeBWLStuffWhenKill, 0x80374F5 +SET_FUNC FireTrap_StartGfx, 0x8037511 +SET_FUNC MineTrap_StartGfx, 0x8037529 +SET_FUNC MineFireTrap_8037540, 0x8037541 +SET_FUNC MineFireTrap_80375A0, 0x80375A1 +SET_FUNC GetTriggeredTrapType, 0x80375E9 +SET_FUNC ExecTrap, 0x8037661 +SET_FUNC HandlePostActionTraps, 0x8037745 +SET_FUNC ExecTrapForActionTarget, 0x80377CD +SET_FUNC ExecTrap_QuietMaybe, 0x8037831 +SET_FUNC LoadTrapData, 0x8037841 +SET_FUNC LoadChapterBallistae, 0x8037911 +SET_FUNC AddGorgonEggTrap, 0x8037929 +SET_FUNC GetNonEmptyBallistaAt, 0x803795D +SET_FUNC GetBallistaItemAt, 0x803798D +SET_FUNC GetSomeBallistaItemAt, 0x80379D5 +SET_FUNC AddBallista, 0x8037A05 +SET_FUNC RideBallista, 0x8037A35 +SET_FUNC TryRemoveUnitFromBallista, 0x8037A6D +SET_FUNC IsBallista, 0x8037AA9 +SET_FUNC GetBallistaItemUses, 0x8037B11 +SET_FUNC GetCurrentPromotedLevelBonus, 0x8037B45 +SET_FUNC CanUnitSeize, 0x8037B65 +SET_FUNC PrepScreenProc_AddPostgameUnits, 0x8037D69 +SET_FUNC PrepScreenProc_TryAddUnit, 0x8037DDD +SET_FUNC PushGlobalTimer, 0x8038209 +SET_FUNC PopGlobalTimer, 0x803821D +SET_FUNC CpPhase_Init, 0x80396AD +SET_FUNC BskPhase_Init, 0x8039719 +SET_FUNC CpPhase_Cleanup, 0x8039779 +SET_FUNC CpOrder_Main, 0x8039789 +SET_FUNC BskOrder_Init, 0x80397B1 +SET_FUNC CpOrder_BuildUnitList, 0x8039859 +SET_FUNC GetUnitAiAttackPriority, 0x8039899 +SET_FUNC GetUnitAiPriority, 0x8039939 +SET_FUNC MakeAiUnitQueue, 0x80399B1 +SET_FUNC SortAiUnitQueue, 0x8039A51 +SET_FUNC CpOrder_End, 0x8039ABD +SET_FUNC CpDecide_Suspend, 0x8039AC9 +SET_FUNC CpDecide_Main, 0x8039B01 +SET_FUNC ClearAiDecision, 0x8039C01 +SET_FUNC AiSetDecision, 0x8039C21 +SET_FUNC AiUpdateDecision, 0x8039C65 +SET_FUNC AiMasterDecisionMaker, 0x8039CAD +SET_FUNC AiDecisionMaker_HealEscape, 0x8039D11 +SET_FUNC AiDecisionMaker_SpecialItems, 0x8039DC5 +SET_FUNC AiDecisionMaker_AiScript1, 0x8039DE1 +SET_FUNC AiDecisionMaker_AiScript2, 0x8039E2D +SET_FUNC AiTargetCursor_Main, 0x8039E89 +SET_FUNC StartAiTargetCursor, 0x8039ECD +SET_FUNC CpPerform_UpdateMapMusic, 0x8039EF5 +SET_FUNC CpPerform_MoveCameraOntoUnit, 0x8039F0D +SET_FUNC CpPerform_BeginUnitMovement, 0x8039FAD +SET_FUNC AiRefreshMap, 0x803A025 +SET_FUNC CpPerform_PerformCombat, 0x803A07D +SET_FUNC CpPerform_PerformEscape, 0x803A0F5 +SET_FUNC CpPerform_PerformSteal, 0x803A135 +SET_FUNC CpPerform_LootWait, 0x803A17D +SET_FUNC CpPerform_StaffWait, 0x803A205 +SET_FUNC CpPerform_ChestWait, 0x803A23D +SET_FUNC CpPerform_DanceWait, 0x803A271 +SET_FUNC CpPerform_TalkWait, 0x803A275 +SET_FUNC CpPerform_RideBallistaWait, 0x803A2B9 +SET_FUNC CpPerform_ExitBallistaWait, 0x803A2E1 +SET_FUNC CpPerform_PerformSomeOtherCombat, 0x803A309 +SET_FUNC CpPerform_PerformDkSummon, 0x803A359 +SET_FUNC CpPerform_PickWait, 0x803A391 +SET_FUNC CpPerform_MoveCameraOntoTarget, 0x803A3C9 +SET_FUNC CpPerform_PerformAction, 0x803A4E5 +SET_FUNC CpPerform_WaitAction, 0x803A5F9 +SET_FUNC CpPerform_DummyWait, 0x803A675 +SET_FUNC CpPerform_EscapeWait, 0x803A679 +SET_FUNC CpPerform_StealWait, 0x803A69D +SET_FUNC AiScriptCompare, 0x803A71D +SET_FUNC AiFindPositionOfCharacter, 0x803A789 +SET_FUNC AiFindClosestPositionWithUnitOfClass, 0x803A879 +SET_FUNC AiGetClosestUnitPosition, 0x803A925 +SET_FUNC CouldStationaryUnitBeInRangeHeuristic, 0x803AC3D +SET_FUNC CouldUnitBeInRangeHeuristic, 0x803AC91 +SET_FUNC IsTerrainIdInList, 0x803AD19 +SET_FUNC AiFindClosestTileInRangeWithListedTerrain, 0x803AD39 +SET_FUNC GetPositionRangeWeight, 0x803AE3D +SET_FUNC AiSomethingCheckPick, 0x803AFDD +SET_FUNC AiAreEnemiesWithin3Tiles, 0x803B41D +SET_FUNC FillMovementAndRangeMapForItem, 0x803B559 +SET_FUNC GetLesserWeightedAdjacentPosition, 0x803B719 +SET_FUNC GetItemAiStealPriority, 0x803B795 +SET_FUNC AiGetBestItemSlotIndexToSteal, 0x803B7C9 +SET_FUNC AiFindUnitSafestTileToMoveTo, 0x803B809 +SET_FUNC AiGetLootingParameters, 0x803B8FD +SET_FUNC AiGetActiveUniChestKeyItemSlot, 0x803B995 +SET_FUNC AiTryMoveTowards, 0x803BA09 +SET_FUNC FindUnitClosestValidPosition, 0x803BDE1 +SET_FUNC AiIsCharacterOnMap, 0x803BF85 +SET_FUNC AiArePointsWithinDistance, 0x803BFD1 +SET_FUNC AiIsPositionLootable, 0x803C015 +SET_FUNC GenBlueUnitAiStats, 0x803C065 +SET_FUNC SetupUnitStatusStaffAIFlags, 0x803C121 +SET_FUNC SetupUnitHealStaffAIFlags, 0x803C169 +SET_FUNC UpdateNumberOfAlliedUnitsWithin8Tiles, 0x803C1B5 +SET_FUNC SetUnitAiFromDefinition, 0x803C259 +SET_FUNC AiFillMovementMapForUnit, 0x803C491 +SET_FUNC AiExecAi1, 0x803C4BD +SET_FUNC AiExecFallbackAi1, 0x803C511 +SET_FUNC AiExecAi2, 0x803C54D +SET_FUNC AiExecFallbackAi2, 0x803C5A1 +SET_FUNC AiScript_Exec, 0x803C5DD +SET_FUNC AiScriptCmd_00_ConditionalGoto, 0x803C649 +SET_FUNC AiScriptCmd_01_FunctionCall, 0x803C6ED +SET_FUNC AiScriptCmd_02_ChangeAi, 0x803C71D +SET_FUNC AiScriptCmd_03_Goto, 0x803C78D +SET_FUNC IsUnitEnemyWithActiveUnit, 0x803C819 +SET_FUNC IsUnitNotActiveUnit, 0x803C849 +SET_FUNC IsUnitEnemyAndNotInTheAiInstList, 0x803C865 +SET_FUNC IsUnitEnemyOrInTheAiInstList, 0x803C8AD +SET_FUNC AiIsUnitScriptCharAndEnemyWithActiveUnit, 0x803C8F5 +SET_FUNC AiIsUnitScriptClassAndEnemyWithActiveUnit, 0x803C935 +SET_FUNC AiScriptCmd_04_ActionOnSelectedCharacter, 0x803C975 +SET_FUNC AiScriptCmd_05_DoStandardAction, 0x803CA0D +SET_FUNC AiScriptCmd_06_DoNothing, 0x803CA7D +SET_FUNC AiScriptCmd_07_DoStandardActionNoMove, 0x803CA85 +SET_FUNC AiScriptCmd_08_DoStandardActionAgainstClass, 0x803CAE5 +SET_FUNC AiScriptCmd_09_DoStaffAction, 0x803CB35 +SET_FUNC AiScriptCmd_0A_DoStaffAction, 0x803CB51 +SET_FUNC AiScriptCmd_0B_DoStaffAction, 0x803CB6D +SET_FUNC AiScriptCmd_0C_MoveTowardsSetPoint, 0x803CB89 +SET_FUNC AiScriptCmd_0D_MoveTowardsCharacterUntilInRange, 0x803CBD5 +SET_FUNC AiScriptCmd_0E_DoNothing, 0x803CC91 +SET_FUNC AiScriptCmd_0F_MoveTowardsUnitWithClass, 0x803CC99 +SET_FUNC AiScriptCmd_10_DoLooting, 0x803CCDD +SET_FUNC AiScriptCmd_11_MoveTowardsSafety, 0x803CDD5 +SET_FUNC AiScriptCmd_12_MoveTowardsEnemy, 0x803CE19 +SET_FUNC AiScriptCmd_13, 0x803CE99 +SET_FUNC AiScriptCmd_14_DoNothing, 0x803CF19 +SET_FUNC AiScriptCmd_15_DoNothing, 0x803CF21 +SET_FUNC AiScriptCmd_16_RandomMovement, 0x803CF29 +SET_FUNC AiScriptCmd_17_DoEscape, 0x803CF3D +SET_FUNC AiScriptCmd_18_TryAttackSnagWall, 0x803D229 +SET_FUNC AiScriptCmd_19_MoveTowardsTerrain, 0x803D2D9 +SET_FUNC AiScriptCmd_1A_MoveTowardsTerrain, 0x803D355 +SET_FUNC AiScriptCmd_1B_NoOp, 0x803D3D1 +SET_FUNC AiDoBerserkAction, 0x803D3E5 +SET_FUNC AiDoBerserkMove, 0x803D405 +SET_FUNC AiTryDoOffensiveAction, 0x803D451 +SET_FUNC AiFillUnitStandingRangeWithWeapon, 0x803D881 +SET_FUNC GetEffectiveTileMovCost, 0x803DB09 +SET_FUNC AiTryDoSteal, 0x803DB61 +SET_FUNC AiTrySimulateBattle, 0x803DCC5 +SET_FUNC AiGetTileWeightForAttack, 0x803DE5D +SET_FUNC ShouldAiNotBattle, 0x803DEC5 +SET_FUNC AiSimulateBattle, 0x803DEC9 +SET_FUNC AiBattleGetDamageDealtWeight, 0x803DF35 +SET_FUNC AiBattleGetTargetHpWeight, 0x803DF95 +SET_FUNC AiBattleGetAlliesAroundWeight, 0x803DFBD +SET_FUNC AiBattleGetWeight_803E068, 0x803E069 +SET_FUNC AiBattleGetTurnNumberWeight, 0x803E09D +SET_FUNC AiBattleGetDamageTakenWeight, 0x803E0B5 +SET_FUNC AiBattleGetTileDangerWeight, 0x803E115 +SET_FUNC AiBattleGetSubjectHpWeight, 0x803E151 +SET_FUNC ComputeAiAttackWeight, 0x803E179 +SET_FUNC AiGetUnitReachWeightWithEquippedWeapon, 0x803E1ED +SET_FUNC AiGetPositionTerrainSafetyWeight, 0x803E23D +SET_FUNC AiGetPositionUnitSafetyWeight, 0x803E27D +SET_FUNC SetupAiDangerMap, 0x803E2F5 +SET_FUNC FillAiDangerMap, 0x803E321 +SET_FUNC IsAiTileSafe, 0x803E449 +SET_FUNC AiUpdateAllUnitHealAi, 0x803E641 +SET_FUNC AiUnitUpdateGetHealMode, 0x803E699 +SET_FUNC AiUnitTryHealSelf, 0x803E719 +SET_FUNC AiUnitTryMoveTowardsEscapePoint, 0x803E7D1 +SET_FUNC AiUnitGetClosestEscapePointData, 0x803E879 +SET_FUNC GetUnitAttackAndWeapon, 0x803EC99 +SET_FUNC AiTryDoDanceAdjacent, 0x803ED29 +SET_FUNC AiTryDoStealAdjacent, 0x803EE4D +SET_FUNC AiIsUnitAtPositionDifferentAllegiance, 0x803EFE1 +SET_FUNC AiGetStaffAiIndex, 0x803F9D9 +SET_FUNC AiTryDoStaff, 0x803FA41 +SET_FUNC GetAiSafestAccessibleAdjacentPosition, 0x803FAE9 +SET_FUNC nullsub_29, 0x8040665 +SET_FUNC AiTryDoSpecialItems, 0x8040845 +SET_FUNC AiSomethingGetPick, 0x8040BB5 +SET_FUNC AiTrySomethingPick, 0x8040C5D +SET_FUNC AiSetMovCostTableWithPassableWalls, 0x8040DCD +SET_FUNC AiSetMovCostTableWithTerrainSetAsPassable, 0x8040E05 +SET_FUNC InitAiMoveMapForUnit, 0x8040E69 +SET_FUNC AiMapRangeFillMovementWithPassableWalls, 0x8040F29 +SET_FUNC InitAiRangeMoveMapForUnitWithDoorsPassable, 0x8040F89 +SET_FUNC OnSerialCommunication, 0x80419DD +SET_FUNC SioVSync_8041C1C, 0x8041C1D +SET_FUNC SioReady, 0x8041D69 +SET_FUNC SioMain_8041DC4, 0x8041DC5 +SET_FUNC SioCon_8042E0C, 0x8042E0D +SET_FUNC SioCon_8042E2C, 0x8042E2D +SET_FUNC SetGameLinkArenaBit, 0x8042E79 +SET_FUNC ClearGameLinkArenaBit, 0x8042E89 +SET_FUNC CheckGameLinkArenaBit, 0x8042E99 +SET_FUNC SioPlaySomeIndexedSfx, 0x804320D +SET_FUNC NameSelect_DrawNameText, 0x8044701 +SET_FUNC NameSelect_8044768, 0x8044769 +SET_FUNC NameSelect_8044C54, 0x8044C55 +SET_FUNC NameSelect_8044ED8, 0x8044ED9 +SET_FUNC OnNameSelectHBlank, 0x8044F85 +SET_FUNC NameSelect_8044FE4, 0x8044FE5 +SET_FUNC NameSelect_8044FFC, 0x8044FFD +SET_FUNC NameSelect_804503C, 0x804503D +SET_FUNC NameSelect_8045068, 0x8045069 +SET_FUNC NameSelect_DrawSomeText, 0x80450AD +SET_FUNC NameSelect_8045108, 0x8045109 +SET_FUNC NameSelect_80451F0, 0x80451F1 +SET_FUNC New6C_SIOMAIN2, 0x8045C15 +SET_FUNC CheckSomethingSaveRelated, 0x8047AB9 +SET_FUNC SioMenu_8047AF4, 0x8047AF5 +SET_FUNC SioMenu_8047B34, 0x8047B35 +SET_FUNC SioMenu_8047C60, 0x8047C61 +SET_FUNC SioMenu_8047CF0, 0x8047CF1 +SET_FUNC SioMenu_8047D88, 0x8047D89 +SET_FUNC SioMenu_8047FF8, 0x8047FF9 +SET_FUNC SioMenu_80480B4, 0x80480B5 +SET_FUNC SioMenu_8048168, 0x8048169 +SET_FUNC StartNameSelect, 0x8048261 +SET_FUNC nullsub_43, 0x8048A69 +SET_FUNC ITEMRANGEDONE_sub_804AF2C, 0x804AF2D +SET_FUNC BeginLinkArenaBattle, 0x804B801 +SET_FUNC nullsub_16, 0x804C3A1 +SET_FUNC nullsub_14, 0x804C3A5 +SET_FUNC nullsub_13, 0x804C3A9 +SET_FUNC LoadOldUIPal, 0x804E079 +SET_FUNC LoadNewUiFramePalette, 0x804E0A9 +SET_FUNC LoadOldUIImage, 0x804E0D9 +SET_FUNC LoadNewUiFrameImage, 0x804E109 +SET_FUNC WriteUIWindowTileMap, 0x804E1BD +SET_FUNC ClearTileMapRect, 0x804E315 +SET_FUNC MakeUIWindowTileMap_BG0BG1, 0x804E369 +SET_FUNC UpdateHandCursor, 0x804E79D +SET_FUNC ClearBG0BG1, 0x804E885 +SET_FUNC DrawMenuItemHighlight, 0x804E98D +SET_FUNC ClearMenuItemHighlight, 0x804EA09 +SET_FUNC LoadOldUIGfx, 0x804EB55 +SET_FUNC LoadNewUiFrameGraphics, 0x804EB69 +SET_FUNC StartMenuAdjusted, 0x804EB99 +SET_FUNC StartMenuChild, 0x804EBC9 +SET_FUNC StartMenu, 0x804EBE5 +SET_FUNC StartMenuExt2, 0x804EC35 +SET_FUNC StartMenuAt, 0x804EC99 +SET_FUNC StartMenuExt, 0x804ECB1 +SET_FUNC EndMenu, 0x804EEA9 +SET_FUNC EndAllMenus, 0x804EF21 +SET_FUNC Menu_CallDefinedConstructors, 0x804EF39 +SET_FUNC Menu_Draw, 0x804EF71 +SET_FUNC Menu_DrawHoverThing, 0x804F0E1 +SET_FUNC Menu_Idle, 0x804F165 +SET_FUNC Menu_HandleDirectionInputs, 0x804F295 +SET_FUNC Menu_HandleSelectInputs, 0x804F375 +SET_FUNC Menu_GetCursorGfxCurrentPosition, 0x804F401 +SET_FUNC MenuCommandAlwaysUsable, 0x804F449 +SET_FUNC MenuCommandAlwaysGrayed, 0x804F44D +SET_FUNC MenuCommandNeverUsable, 0x804F451 +SET_FUNC Menu_HelpBoxInit, 0x804F475 +SET_FUNC Menu_HelpBoxIdle, 0x804F4A1 +SET_FUNC MenuCallHelp, 0x804F521 +SET_FUNC Menu_TextBoxIdle, 0x804F531 +SET_FUNC MenuCallHelpBox, 0x804F581 +SET_FUNC Menu_804F5B4, 0x804F5B5 +SET_FUNC MarkSomethingInMenu, 0x804F60D +SET_FUNC UnMarkSomethingInMenu, 0x804F62D +SET_FUNC StartMenu_AndDoSomethingCommands, 0x804F64D +SET_FUNC Menu_UpdateMovingCursorGfxPosition, 0x804F6A5 +SET_FUNC ClearMenuCommandOverride, 0x804F6F9 +SET_FUNC GetOverriddenUnusableMenuCommands, 0x804F715 +SET_FUNC SetOverriddenUnusableMenuCommands, 0x804F755 +SET_FUNC SetMenuCommandOverride, 0x804F77D +SET_FUNC GetOverriddenMenuCommandUsability, 0x804F7AD +SET_FUNC GetOverriddenMenuCommandEffect, 0x804F7E9 +SET_FUNC InitTargets, 0x804F8A5 +SET_FUNC AddTarget, 0x804F8BD +SET_FUNC LinkTargets, 0x804F911 +SET_FUNC TargetSelection_GetRealCursorPosition, 0x804F959 +SET_FUNC TargetSelection_Loop, 0x804F96D +SET_FUNC StartTargetSelection, 0x804FA3D +SET_FUNC StartTargetSelectionExt, 0x804FAA5 +SET_FUNC EndTargetSelection, 0x804FAB9 +SET_FUNC TargetSelection_HandleMoveInput, 0x804FAED +SET_FUNC TargetSelection_HandleSelectInput, 0x804FB65 +SET_FUNC GetFarthestTargetIndex, 0x804FBFD +SET_FUNC LinkTargetsOrdered, 0x804FC5D +SET_FUNC GetLinkedTargetList, 0x804FD01 +SET_FUNC GetFirstTargetPointer, 0x804FD11 +SET_FUNC GetTargetListSize, 0x804FD29 +SET_FUNC GetTarget, 0x804FD35 +SET_FUNC StartEkrBattleDeamon, 0x804FD61 +SET_FUNC EndEkrBattleDeamon, 0x804FD8D +SET_FUNC IsBattleDeamonActive, 0x804FDA1 +SET_FUNC EkrBattleDeamon_OnEnd, 0x804FDBD +SET_FUNC nullsub_35, 0x804FDD1 +SET_FUNC StartEkrBattle, 0x804FDD5 +SET_FUNC InBattleMainRoutine, 0x804FE41 +SET_FUNC GameLoop_Battle, 0x804FEE5 +SET_FUNC nullsub_36, 0x804FF61 +SET_FUNC ekrBattle_Init, 0x804FF65 +SET_FUNC ekrBattle_8050000, 0x8050001 +SET_FUNC EkrBattle_BattleQuoteInit, 0x8050055 +SET_FUNC EkrBattle_BattleQuoteWait, 0x80500F1 +SET_FUNC ekrBattle_8050134, 0x8050135 +SET_FUNC ekrBattle_8050158, 0x8050159 +SET_FUNC ekrBattle_8050174, 0x8050175 +SET_FUNC ekrBattle_8050224, 0x8050225 +SET_FUNC ekrBattle_8050244, 0x8050245 +SET_FUNC ekrBattle_WaitForFrame8, 0x8050291 +SET_FUNC ekrBattle_StartUIPaletteAnimations, 0x80502B1 +SET_FUNC ekrBattle_8050304, 0x8050305 +SET_FUNC ekrBattle_WaitForTriangleAttackAnim, 0x8050339 +SET_FUNC ekrBattle_InitMainAnimations, 0x8050361 +SET_FUNC ekrBattle_80503EC, 0x80503ED +SET_FUNC ekrBattle_StartMainAnimations, 0x8050401 +SET_FUNC ekrBattle_WaitForClassChange, 0x8050441 +SET_FUNC ekrBattle_WaitForRoundAnimations, 0x805046D +SET_FUNC ekrBattle_80505EC, 0x80505ED +SET_FUNC ekrBattle_8050600, 0x8050601 +SET_FUNC ekrBattle_8050684, 0x8050685 +SET_FUNC ekrBattle_80506C8, 0x80506C9 +SET_FUNC ekrBattle_80508F0, 0x80508F1 +SET_FUNC ekrBattle_8050940, 0x8050941 +SET_FUNC ekrBattle_80509A8, 0x80509A9 +SET_FUNC ekrBattle_8050A84, 0x8050A85 +SET_FUNC ekrBattle_8050AB8, 0x8050AB9 +SET_FUNC ekrBattle_8050B08, 0x8050B09 +SET_FUNC ekrBattle_CheckForLevelup_8050C34, 0x8050C35 +SET_FUNC ekrBattle_WaitForLevelup_8050C6C, 0x8050C6D +SET_FUNC ekrBattle_MakePopups, 0x8050C91 +SET_FUNC ekrBattle_WaitForPopup, 0x8050CA9 +SET_FUNC ekrBattle_8050CCC, 0x8050CCD +SET_FUNC ekrBattle_8050CF8, 0x8050CF9 +SET_FUNC ekrBattle_8050D88, 0x8050D89 +SET_FUNC ekrBattle_8050DA8, 0x8050DA9 +SET_FUNC nullsub_69, 0x8050DE1 +SET_FUNC NewEkrLvlupFan, 0x8050DE5 +SET_FUNC StartEkrGauge, 0x8050EF9 +SET_FUNC EndEkrGauge, 0x805116D +SET_FUNC EkrGauge_8051180, 0x8051181 +SET_FUNC EkrGauge_8051190, 0x8051191 +SET_FUNC EkrGauge_80511A0, 0x80511A1 +SET_FUNC EkrGauge_80511B0, 0x80511B1 +SET_FUNC EkrGauge_80511C0, 0x80511C1 +SET_FUNC EkrGauge_80511D0, 0x80511D1 +SET_FUNC EkrGauge_80511E4, 0x80511E5 +SET_FUNC EkrGauge_80511F8, 0x80511F9 +SET_FUNC EkrGauge_8051208, 0x8051209 +SET_FUNC EkrGauge_8051218, 0x8051219 +SET_FUNC EkrGauge_8051228, 0x8051229 +SET_FUNC ekrGauge_Loop, 0x8051285 +SET_FUNC StartEkrDispUP, 0x8051AC5 +SET_FUNC EkrDispUP_8051B48, 0x8051B49 +SET_FUNC ekrDispUP_Loop, 0x8051BB1 +SET_FUNC StartEfxHpBar, 0x8052305 +SET_FUNC StartEfxHpBarResire, 0x80525E9 +SET_FUNC StartEfxAvoid, 0x8052979 +SET_FUNC StartEfxHpBarLive, 0x8052A0D +SET_FUNC StartEfxNoDamage, 0x8052B99 +SET_FUNC StartEfxStatusCHG, 0x8052D8D +SET_FUNC StartEfxDeadEVTENT, 0x8052DD5 +SET_FUNC StartEfxDead, 0x8052FAD +SET_FUNC StartEfxDeadPika, 0x8053121 +SET_FUNC MoveBattleCameraOnto, 0x80533D1 +SET_FUNC nullsub_56, 0x805372D +SET_FUNC StartEfxQuake, 0x8053731 +SET_FUNC StartEfxHitQuake, 0x80539DD +SET_FUNC StartEfxFlashBG, 0x8053F11 +SET_FUNC StartEfxFlashHPBar, 0x8054441 +SET_FUNC StartEfxHPBarColorChange, 0x80545C1 +SET_FUNC EndEfxHPBarColorChange, 0x80546B1 +SET_FUNC StartEfxFlashUnit, 0x80547DD +SET_FUNC StartEfxStatusUnit, 0x8054A1D +SET_FUNC DeleteEach6C_efxStatusUnit, 0x8054B55 +SET_FUNC StartEfxWeaponIcon, 0x8054E8D +SET_FUNC EndEfxWeaponIcon, 0x8054ED5 +SET_FUNC PauseEfxWeaponIcon, 0x8054EF1 +SET_FUNC ResumeEfxWeaponIcon, 0x8054F01 +SET_FUNC EfxWeaponIcon_OnLoop, 0x8054F11 +SET_FUNC EfxWeaponIcon_OnEnd, 0x8054F79 +SET_FUNC StartEfxSpellCast, 0x8054FA9 +SET_FUNC StartEndEfxSpellCast, 0x8055001 +SET_FUNC SpellFx_Begin, 0x8055161 +SET_FUNC SpellFx_Finish, 0x805516D +SET_FUNC SpellFx_ClearBG1Position, 0x8055179 +SET_FUNC SpellFx_ClearBG1, 0x8055189 +SET_FUNC SpellFx_SetSomeColorEffect, 0x80551B1 +SET_FUNC SpellFx_ClearColorEffects, 0x805526D +SET_FUNC StartBattleAnimHitEffectsDefault, 0x8055279 +SET_FUNC StartBattleAnimHitEffects, 0x8055299 +SET_FUNC StartBattleAnimResireHitEffects, 0x8055425 +SET_FUNC SpellFx_WriteBgMap, 0x8055671 +SET_FUNC SpellFx_RegisterObjGfx, 0x80557D9 +SET_FUNC SpellFx_RegisterObjPal, 0x8055801 +SET_FUNC SpellFx_RegisterBgGfx, 0x805581D +SET_FUNC SpellFx_RegisterBgPal, 0x8055845 +SET_FUNC SpellFx_InterpretBgAnimScript, 0x80558F5 +SET_FUNC GetSpellAnimationStartFrame, 0x805598D +SET_FUNC BeginAnimsOnBattleAnimations, 0x8055BD5 +SET_FUNC MainUpdate_8055C68, 0x8055C69 +SET_FUNC StartEkrBattleStarting, 0x8055CDD +SET_FUNC ekrBattleStarting_8055CF0, 0x8055CF1 +SET_FUNC ekrBattleStarting_8055DF4, 0x8055DF5 +SET_FUNC ekrBattleStarting_8055F00, 0x8055F01 +SET_FUNC ekrBattleStarting_8055FA0, 0x8055FA1 +SET_FUNC ekrBattleStarting_8055FE8, 0x8055FE9 +SET_FUNC ekrBattleStarting_8056024, 0x8056025 +SET_FUNC ekrBattleStarting_8056078, 0x8056079 +SET_FUNC ekrBattleEnding_80560F0, 0x80560F1 +SET_FUNC ekrBattleEnding_8056170, 0x8056171 +SET_FUNC ekrBattleEnding_80561C8, 0x80561C9 +SET_FUNC ekrBattleEnding_8056228, 0x8056229 +SET_FUNC ekrBattleEnding_8056288, 0x8056289 +SET_FUNC ekrBattleEnding_8056310, 0x8056311 +SET_FUNC ekrBattleEnding_8056390, 0x8056391 +SET_FUNC ekrBattleEnding_8056484, 0x8056485 +SET_FUNC StartEkrWindowAppear, 0x8056D25 +SET_FUNC EkrWindowAppear_Loop, 0x8056D91 +SET_FUNC StartEkrNamewinAppear, 0x8056E11 +SET_FUNC HasEkrNamewinAppearEnded, 0x8056E61 +SET_FUNC PrepareBattleGraphicsMaybe, 0x8056FF9 +SET_FUNC GetSpellAnimId, 0x8057FF9 +SET_FUNC GetBattleAnimationId, 0x8058849 +SET_FUNC SomethingFilterBattleAnimId, 0x8058961 +SET_FUNC GetAllegienceId, 0x80589B5 +SET_FUNC GetBattleAnimRoundType, 0x8058A0D +SET_FUNC GetBattleAnimRoundTypeFlags, 0x8058A35 +SET_FUNC GetSomeBattleAnimHpValue, 0x8058A61 +SET_FUNC IsItemDisplayedInBattle, 0x8058A8D +SET_FUNC BattleAIS_ExecCommands, 0x8058BC9 +SET_FUNC StartEkrChienCHR, 0x805990D +SET_FUNC EkrChienCHR_OnLoop, 0x8059925 +SET_FUNC RegisterAISSheetGraphics, 0x805993D +SET_FUNC SwitchAISFrameDataFromBARoundType, 0x805A07D +SET_FUNC GetAISLayerId, 0x805A155 +SET_FUNC GetAISSubjectId, 0x805A16D +SET_FUNC IsBatteRoundTypeAMiss, 0x805A185 +SET_FUNC GetOpponentFrontAIS, 0x805A2B5 +SET_FUNC GetAISNextBattleAnimRoundType, 0x805A2F1 +SET_FUNC GetAISCurrentRoundType, 0x805A311 +SET_FUNC StartEkrAnimeDrvProc, 0x805A9C1 +SET_FUNC EndEkrAnimeDrvProc, 0x805A9E1 +SET_FUNC ExecAllAIS, 0x805A9F5 +SET_FUNC StartEkrUnitMainMini, 0x805AA01 +SET_FUNC EkrUnitMainMini_OnLoop, 0x805AA4D +SET_FUNC SetBattleAnimArenaFlag, 0x805B01D +SET_FUNC GetBattleAnimArenaFlag, 0x805B029 +SET_FUNC PlayBattleCroudSfxIfArena, 0x805B07D +SET_FUNC BeginAnimsOnBattle_Arena, 0x805B0A9 +SET_FUNC NewEkrTogiInitPROC, 0x805B0F1 +SET_FUNC NewEkrTogiEndPROC, 0x805B279 +SET_FUNC NewEkrTogiColor, 0x805B34D +SET_FUNC EndEkrTogiColor, 0x805B381 +SET_FUNC StartSpellAnimation, 0x805B3CD +SET_FUNC StartSpellThing_MagicQuake, 0x805BC81 +SET_FUNC Loop6C_efxMagicQUAKE, 0x805BCC5 +SET_FUNC StartSpellAnimDummy, 0x805BE91 +SET_FUNC Loop6C_efxDummymagic, 0x805BEB5 +SET_FUNC StartSpellAnimHandAxe, 0x805BF09 +SET_FUNC StartSpellAnimArrow, 0x805C265 +SET_FUNC StartSpellAnimJavelin, 0x805C3F1 +SET_FUNC StartSpellAnimSong, 0x805C935 +SET_FUNC StartSpellAnimDance, 0x805CBDD +SET_FUNC nullsub_42, 0x805CEC5 +SET_FUNC StartSpellAnimFireBreath, 0x805D065 +SET_FUNC StartSpellAnimIceBreath, 0x805D389 +SET_FUNC StartSpellAnimDarkBreath, 0x805D4D1 +SET_FUNC Loop6C_efxDarkbreath, 0x805D509 +SET_FUNC StartSpellAnimThunder, 0x805D7D9 +SET_FUNC EfxThunder_Main, 0x805D815 +SET_FUNC StartEfxThunderBG, 0x805D8B5 +SET_FUNC EfxThunderBG_Main, 0x805D939 +SET_FUNC StartEfxThunderBGCOL, 0x805D9BD +SET_FUNC EfxThunderBGCOL_Main, 0x805D9F9 +SET_FUNC StartEfxThunderOBJ, 0x805DA45 +SET_FUNC EfxThunderOBJ_Main, 0x805DAA5 +SET_FUNC StartSpellAnimFire, 0x805DAD5 +SET_FUNC StartSpellAnimElfire, 0x805DB19 +SET_FUNC EfxFire_Main, 0x805DB5D +SET_FUNC Loop6C_efxFireBG, 0x805DCC5 +SET_FUNC StartSubSpell_efxFireHITBG, 0x805DDF1 +SET_FUNC StartSubSpell_efxElfireBG, 0x805DED9 +SET_FUNC StartSubSpell_efxElfireBGCOL, 0x805DFA5 +SET_FUNC StartSubSpell_efxElfireOBJ, 0x805E031 +SET_FUNC StartSpellAnimFimbulvetr, 0x805E0E5 +SET_FUNC StartSpellAnimNosferatu, 0x805F355 +SET_FUNC EfxResire_Main, 0x805F391 +SET_FUNC StartSpellAnimPurge, 0x805FAE1 +SET_FUNC nullsub_41, 0x805FE81 +SET_FUNC StartSpellAnimDivine, 0x805FE85 +SET_FUNC DivineSfxLoop, 0x805FEC1 +SET_FUNC nullsub_39, 0x8060285 +SET_FUNC nullsub_40, 0x8060289 +SET_FUNC StartSpellAnimFenrir, 0x80608A5 +SET_FUNC StartSpellAnimHeal, 0x8061025 +SET_FUNC StartSpellAnimMend, 0x8061159 +SET_FUNC StartSpellAnimRecover, 0x80612BD +SET_FUNC StartSpellAnimSilence, 0x80623E1 +SET_FUNC StartSpellAnimSleep, 0x8062679 +SET_FUNC StartSpellAnimHammerne, 0x8062999 +SET_FUNC StartSpellAnimBerserk, 0x8062C15 +SET_FUNC StartSpellAnimShine, 0x8063481 +SET_FUNC StartSpellAnimLuna, 0x8063975 +SET_FUNC nullsub_51, 0x8064CFD +SET_FUNC StartSpellAnimAura, 0x8064E75 +SET_FUNC nullsub_52, 0x8065491 +SET_FUNC nullsub_53, 0x8065495 +SET_FUNC StartSpellAnimIvaldi, 0x80657D5 +SET_FUNC Loop6C_efxIvaldi, 0x8065811 +SET_FUNC StartSpellBG_IvaldiBG1, 0x80659AD +SET_FUNC Loop6C_efxIvaldiBG1, 0x8065A11 +SET_FUNC StartSpellBG_IvaldiBG2, 0x8065A81 +SET_FUNC Loop6C_efxIvaldiBG2, 0x8065AED +SET_FUNC StartSpellBG_IvaldiBG3, 0x8065B55 +SET_FUNC Loop6C_efxIvaldiBG3, 0x8065BB9 +SET_FUNC StartSpellBG_IvaldiBG4, 0x8065C39 +SET_FUNC PrepareSomeIvaldiParticleGraphics, 0x8065D85 +SET_FUNC StartSpellOBJ_IvaldiFall, 0x8065DA5 +SET_FUNC StartSpellOBJ_IvaldiSideWash, 0x8065F11 +SET_FUNC Loop6C_efxIvaldiOBJSideWash, 0x8065F65 +SET_FUNC StartSpellAnimStone, 0x80674D5 +SET_FUNC StartSpellAnimEvilEye, 0x8067799 +SET_FUNC StartSpellAnimNaglfar, 0x8067B7D +SET_FUNC Loop6C_efxNaglfar, 0x8067BB9 +SET_FUNC Loop6C_efxNaglfarBG, 0x8067E1D +SET_FUNC Loop6C_efxNaglfarBG2, 0x8067EE9 +SET_FUNC StartSpellAnimCrimsonEye, 0x8069EC5 +SET_FUNC StartEfxDamagaMojiEffect, 0x806C61D +SET_FUNC StartEfxDamageMojiEffectOBJ, 0x806C67D +SET_FUNC StartEfxCriticalEffect, 0x806C71D +SET_FUNC StartEfxPierceCriticalEffect, 0x806C9E9 +SET_FUNC StartEfxChillEffect, 0x806E015 +SET_FUNC StartEfxChillAnime, 0x806E1F1 +SET_FUNC nullsub_17, 0x806E30D +SET_FUNC nullsub_73, 0x806EB79 +SET_FUNC FillBGRect, 0x8070D7D +SET_FUNC ApplyFlashingPaletteAnimation, 0x807132D +SET_FUNC GetOtherRN_N, 0x80716B1 +SET_FUNC StartEkrsubAnimeEmulator, 0x80716C9 +SET_FUNC SomeBattlePlaySound_8071990, 0x8071991 +SET_FUNC Loop6C_efxSoundSE, 0x80719F1 +SET_FUNC Unset20200AC, 0x8071A8D +SET_FUNC Set20200AC, 0x8071A99 +SET_FUNC Get20200AC, 0x8071AA5 +SET_FUNC EkrClasschgFinished, 0x80729E1 +SET_FUNC EndEkrClasschg, 0x8072A01 +SET_FUNC NewEkrClassChg, 0x8072A15 +SET_FUNC EndEfxStatusUnit, 0x8072DC9 +SET_FUNC DoesEkrLevelUpSomething, 0x80734F9 +SET_FUNC EndEkrLevelUp, 0x8073519 +SET_FUNC NewEkrLevelup, 0x8073989 +SET_FUNC nullsub_62, 0x807460D +SET_FUNC HasBattleAnimTriangeAttackEnded, 0x8074F3D +SET_FUNC nullsub_18, 0x8074F59 +SET_FUNC StartEkrTriangle, 0x8074F5D +SET_FUNC EkrTriangle_OnLoop, 0x8074F81 +SET_FUNC StartEkrPegasusKnight, 0x8075185 +SET_FUNC StartEkrPegasusKnightBG, 0x807527D +SET_FUNC DoesBattlePopupExist, 0x8075B21 +SET_FUNC DeleteAnimsOnPopup, 0x8075B3D +SET_FUNC MakeBattlePopupTileMapFromTSA, 0x8075B79 +SET_FUNC DrawBattlePopup, 0x8075CA9 +SET_FUNC StartAnimsOnPopups, 0x8075F19 +SET_FUNC BattlePopup_Wait16Frames, 0x807606D +SET_FUNC ekrPopup_DrawWRankUp, 0x8076089 +SET_FUNC ekrPopup_WaitWRankUp, 0x80760B1 +SET_FUNC ekrPopup_DrawWRankUp2, 0x80760ED +SET_FUNC ekrPopup_WaitWRankUp2, 0x8076115 +SET_FUNC ekrPopup_DrawWpnBroke, 0x8076151 +SET_FUNC ekrPopup_WaitWpnBroke, 0x8076179 +SET_FUNC ekrPopup_DrawWpnBroke2, 0x80761B5 +SET_FUNC ekrPopup_WaitWpnBroke2, 0x80761DD +SET_FUNC ekrPopup_MarkEnd, 0x807621D +SET_FUNC nullsub_68, 0x807624D +SET_FUNC BeginAnimsOnBattle_Hensei, 0x8076331 +SET_FUNC NewEkrHenseiInitPROC, 0x807636D +SET_FUNC GetSpellAssocStructPtr, 0x8078215 +SET_FUNC GetSpellAssocCharCount, 0x8078249 +SET_FUNC GetSpellAssocMapAnimProcScript, 0x8078269 +SET_FUNC GetSpellAssocReturnBool, 0x8078279 +SET_FUNC GetSpellAssocFacing, 0x8078289 +SET_FUNC GetSpellAssocFlashColor, 0x8078299 +SET_FUNC GenerateMonsterLevel, 0x80782ED +SET_FUNC GenerateMonsterClass, 0x8078325 +SET_FUNC GenerateMonsterItems, 0x8078351 +SET_FUNC MU_Init, 0x807840D +SET_FUNC MU_CreateExt, 0x8078429 +SET_FUNC MU_Create, 0x8078465 +SET_FUNC MU_ManualUpdate, 0x80784D9 +SET_FUNC MU_EnableAttractCamera, 0x80784E5 +SET_FUNC MU_DisableAttractCamera, 0x80784ED +SET_FUNC MU_CreateForUI, 0x80784F5 +SET_FUNC MU_CreateInternal, 0x8078541 +SET_FUNC MU_SetFacing, 0x8078695 +SET_FUNC MU_SetDefaultFacing, 0x80786BD +SET_FUNC MU_SetDefaultFacing_Auto, 0x80786E9 +SET_FUNC MU_StartMoveScript_Auto, 0x8078701 +SET_FUNC MU_Exists, 0x8078721 +SET_FUNC MU_IsAnyActive, 0x8078739 +SET_FUNC MU_IsActive, 0x8078771 +SET_FUNC MU_StartMoveScript, 0x8078791 +SET_FUNC MU_CreateScripted, 0x80787C5 +SET_FUNC MU_StepSound_OnInit, 0x80787FD +SET_FUNC MU_StepSound_OnFirstSound, 0x8078811 +SET_FUNC MU_StepSound_OnSecondSound, 0x8078825 +SET_FUNC MU_StartStepSfx, 0x807883D +SET_FUNC MU_PlayStepSfx, 0x8078889 +SET_FUNC MU_8078894, 0x8078895 +SET_FUNC MU_InterpretCommandScript, 0x8078899 +SET_FUNC MU_StartFogBumpFx, 0x8078A15 +SET_FUNC MU_FogBumpFx_FirstFrame, 0x8078A65 +SET_FUNC MU_FogBumpFx_TransitionInLoop, 0x8078B09 +SET_FUNC MU_FogBumpFx_DisplayLoop, 0x8078BCD +SET_FUNC MU_IsFogBumpFxActive, 0x8078BFD +SET_FUNC MU_State_WaitForFogBump, 0x8078C15 +SET_FUNC MU_State_StartMovement, 0x8078C31 +SET_FUNC MU_State_WaitForTimer, 0x8078C39 +SET_FUNC MU_State_None, 0x8078C59 +SET_FUNC MU_State_NoOp, 0x8078C5D +SET_FUNC MU_State_DuringMovement, 0x8078C61 +SET_FUNC MU_AdvanceStepSfx, 0x8078D6D +SET_FUNC MU_OnLoop, 0x8079031 +SET_FUNC MU_OnEnd, 0x8079091 +SET_FUNC MU_EndAll, 0x80790A5 +SET_FUNC MU_End, 0x80790B5 +SET_FUNC MU_EndInternal, 0x80790C1 +SET_FUNC MU_80790CC, 0x80790CD +SET_FUNC MU_AllDisable, 0x80790E1 +SET_FUNC MU_AllEnable, 0x80790ED +SET_FUNC MU_GetComputedEndPosition, 0x80790F9 +SET_FUNC MU_CanStart, 0x807916D +SET_FUNC MU_AllRestartAnimations, 0x8079191 +SET_FUNC MU_GenerateConfigDefault, 0x80791CD +SET_FUNC MU_GenerateConfigOther, 0x807920D +SET_FUNC MU_ComputeDisplayPosition, 0x807924D +SET_FUNC MU_DisplayAsSMS, 0x80792F9 +SET_FUNC MU_DisplayAsMMS, 0x80793A5 +SET_FUNC MU_GetMovementSpeed, 0x807947D +SET_FUNC MU_SetMoveConfig, 0x807953D +SET_FUNC MU_GetGfxBufferById, 0x8079559 +SET_FUNC MU_GetSheetGfx, 0x8079575 +SET_FUNC MU_GetAnimationByClassId, 0x8079589 +SET_FUNC MU_StartDeathFade, 0x807959D +SET_FUNC MU_DeathFade_OnLoop, 0x8079619 +SET_FUNC MU_BlinkEffect_OnLoop, 0x8079655 +SET_FUNC MU_StartBlinkEffect, 0x807968D +SET_FUNC MU_SetupPixelEffect, 0x80796D5 +SET_FUNC MU_PixelEffect_OnLoop, 0x8079731 +SET_FUNC MU_StartPixelEffect, 0x8079789 +SET_FUNC MU_Hide, 0x80797D5 +SET_FUNC MU_Show, 0x80797DD +SET_FUNC MU_SetDisplayPosition, 0x80797E5 +SET_FUNC MU_SetDisplayOffset, 0x80797F5 +SET_FUNC MU_StartFlashFade, 0x8079805 +SET_FUNC MU_8079858, 0x8079859 +SET_FUNC MU_807988C, 0x807988D +SET_FUNC MU_StartActionAnim, 0x80798B1 +SET_FUNC MU_EndSelectionApAnim, 0x80798E1 +SET_FUNC MU_StartDelayedFaceTarget, 0x80798E9 +SET_FUNC MU_EndRefaceApAnim, 0x807990D +SET_FUNC MU_StartFastMoveAnim, 0x8079945 +SET_FUNC MU_EndFasterApAnim, 0x8079969 +SET_FUNC MU_StartCritFlash, 0x8079971 +SET_FUNC MU_CritFlash_Init, 0x80799A1 +SET_FUNC MU_CritFlash_SetFadedPalette, 0x80799A9 +SET_FUNC MU_CritFlash_SetRegularPalette, 0x80799C9 +SET_FUNC MU_CritFlash_StartFadeBack_maybe, 0x80799ED +SET_FUNC MU_CritFlash_SpriteShakeLoop, 0x8079A11 +SET_FUNC MU_CritFlash_RestorePalette, 0x8079A51 +SET_FUNC MU_StartHitFlash, 0x8079A75 +SET_FUNC MU_HitFlash_RestorePalette, 0x8079AD5 +SET_FUNC MU_AllForceSetMaxMoveSpeed, 0x8079AF9 +SET_FUNC MU_ForceSetMaxMoveSpeed, 0x8079B11 +SET_FUNC MU_SetSpecialSprite, 0x8079B19 +SET_FUNC MU_SetPaletteId, 0x8079B6D +SET_FUNC MU_GetByIndex, 0x8079B91 +SET_FUNC MU_GetByUnit, 0x8079BB9 +SET_FUNC MU_SortObjLayers, 0x8079BE1 +SET_FUNC CopyEventMoveToBuffer, 0x8079CD9 +SET_FUNC ClearEventMoveBuffer, 0x8079D41 +SET_FUNC MuCtr_StartDefinedMove, 0x8079D75 +SET_FUNC MuCtr_StartMoveTowards, 0x8079DDD +SET_FUNC MuCtr_InitDefinedMove, 0x8079E79 +SET_FUNC MuCtr_Exists, 0x8079F85 +SET_FUNC MU_AllForceSetMaxMoveSpeed_, 0x8079F9D +SET_FUNC MoveUnit_, 0x807A015 +SET_FUNC GenUnitDefinitionFinalPosition, 0x807A055 +SET_FUNC MuCtr_OnEnd, 0x807A1FD +SET_FUNC MuCtr_ExecREDA_807A358, 0x807A359 +SET_FUNC AdjustNewUnitPosition, 0x807A4E9 +SET_FUNC MapAnimProc_DisplayItemStealingPopup, 0x807A709 +SET_FUNC MapAnimProc_DisplayWpnBrokePopup, 0x807A72D +SET_FUNC BattleUnit_ShouldDisplayWpnBroke, 0x807A771 +SET_FUNC MapAnimProc_DisplayWRankUpPopup, 0x807A795 +SET_FUNC BattleUnit_ShouldDisplayWRankUp, 0x807A7D9 +SET_FUNC _InitFontForUIDefault, 0x807A801 +SET_FUNC MapAnim_Cleanup, 0x807A80D +SET_FUNC MapAnim_AdvanceBattleRound, 0x807A839 +SET_FUNC MapAnimProc_PrepareNextRound, 0x807A895 +SET_FUNC MapAnimProc_StartRoundAnimProc, 0x807A8F1 +SET_FUNC MapAnimProc_DisplayRoundSpecialAnims, 0x807A905 +SET_FUNC MapAnimProc_MoveCameraOntoSubject, 0x807A941 +SET_FUNC MapAnimProc_MoveCameraOntoTarget, 0x807A95D +SET_FUNC MapAnimProc_DisplayDeathQuote, 0x807A985 +SET_FUNC MapAnimProc_DisplayDeathFade, 0x807AA01 +SET_FUNC MapAnimProc_DisplayExpBar, 0x807AA4D +SET_FUNC MapAnim_CallBattleQuoteEvents, 0x807ABB9 +SET_FUNC PlaySoundIdA0, 0x807ACD1 +SET_FUNC New6C_SummonGfx_FromActionPos, 0x807AD09 +SET_FUNC CreateMapBattleMU, 0x807B335 +SET_FUNC SetBattleAnimActorFacing, 0x807B3BD +SET_FUNC SetupMapBattleMUs, 0x807B465 +SET_FUNC StartSomeMapAnim_807B68C, 0x807B68D +SET_FUNC BeginMapAnimForSteal, 0x807B6E5 +SET_FUNC BeginMapAnimForSummon, 0x807B741 +SET_FUNC BeginMapAnimForSummonDK, 0x807B799 +SET_FUNC BeginBattleMapAnims, 0x807B855 +SET_FUNC SetupMapAnimSpellData, 0x807B8D5 +SET_FUNC SetupMapBattleAnim, 0x807B901 +SET_FUNC GetFacingDirection, 0x807B9B9 +SET_FUNC MapAnim_EndBattleInfoBox, 0x807BBB9 +SET_FUNC MapAnim_StartBattleInfoBox, 0x807BBC9 +SET_FUNC MapAnimUi_Clear, 0x807BBF1 +SET_FUNC MapAnimExpBar_LoadGfx, 0x807C02D +SET_FUNC MapAnimExpBar_FillInit, 0x807C0DD +SET_FUNC MapAnimExpBar_FillLoop, 0x807C0F9 +SET_FUNC MapAnimExpBar_TransitionInInit, 0x807C14D +SET_FUNC MapAnimExpBar_TransitionInLoop, 0x807C1AD +SET_FUNC MapAnimExpBar_StartLevelUp, 0x807C211 +SET_FUNC MapAnim_BeginMISSAnim, 0x807CB25 +SET_FUNC MapAnim_BeginNODAMAGEAnim, 0x807CB81 +SET_FUNC MapAnim_BeginWallBreakAnim, 0x807CBDD +SET_FUNC WallBreakAnim_Init, 0x807CC29 +SET_FUNC StartMapAnimPoisonEffect, 0x807CC79 +SET_FUNC MapAnim_BeginPoisonAnim, 0x807CCC1 +SET_FUNC NewMapAnimEffectAnimator, 0x807D82D +SET_FUNC StartUnitWarpRing, 0x807DAA9 +SET_FUNC MapAnimLevelUp_InitLevelUpBox, 0x807EA99 +SET_FUNC MapAnimLevelUp_DrawActorStat, 0x807EBA5 +SET_FUNC MapAnimLevelUp_GetActorStatUp, 0x807EC09 +SET_FUNC MapAnimLevelUp_GetActorStatBase, 0x807ED31 +SET_FUNC MapAnim_StartLevelUp, 0x807F10D +SET_FUNC MapAnimLevelUpProc_InitLevelUpBox, 0x807F1AD +SET_FUNC MapAnimLevelUpProc_StartMusicThingy, 0x807F479 +SET_FUNC MapAnimLevelUpProc_DisplayLevelUpSmallText, 0x807F48D +SET_FUNC MapAnimLevelUpProc_ClearLevelUpSmallText, 0x807F53D +SET_FUNC NewBG0Shaker, 0x807F615 +SET_FUNC BG0Shaker_Init, 0x807F629 +SET_FUNC BG0Shaker_Loop, 0x807F631 +SET_FUNC LoadSparkGfx, 0x807F6C1 +SET_FUNC StartStarRotationEffect, 0x807F7F9 +SET_FUNC StartStarExplosionEffect, 0x807F839 +SET_FUNC StartStarImplosionEffect, 0x807F859 +SET_FUNC New6C_SummonGfx, 0x8080D2D +SET_FUNC nullsub_58, 0x808125D +SET_FUNC MapAnim_GetRoundProcScript, 0x8081261 +SET_FUNC MapAnim_AnimateSubjectIdle, 0x8081279 +SET_FUNC MapAnim_SubjectResetAnim, 0x808129D +SET_FUNC MapAnim_BeginSubjectFastAnim, 0x80813F9 +SET_FUNC MapAnim_MoveSubjectsTowardsTarget, 0x80814D5 +SET_FUNC MapAnim_MoveSubjectsAwayFromTarget, 0x8081535 +SET_FUNC MapAnim_MoveCameraOnSubject, 0x8081595 +SET_FUNC MapAnim_MoveCameraOnTarget, 0x80815C1 +SET_FUNC MapAnim_MoveCameraOnWarpTarget, 0x80815ED +SET_FUNC MapAnim_BeginRoundSpecificAnims, 0x808161D +SET_FUNC MapAnim_WaitForHPToEndChangingMaybe, 0x8081915 +SET_FUNC MapAnimProc_PoisonEffectOnDefender, 0x8081931 +SET_FUNC MapAnim_TargetUnitWarpRing, 0x8081B71 +SET_FUNC MapAnim_WarpTargetWarpRing, 0x8081BCD +SET_FUNC MapAnim_TargetUnitFlashOut, 0x8081CD5 +SET_FUNC MapAnim_TargetUnitFlashIn, 0x8081CF9 +SET_FUNC MapAnim_TargetHide, 0x8081D1D +SET_FUNC MapAnim_TargetStarExplosion, 0x8081D41 +SET_FUNC MapAnim_TargetStarImplosion, 0x8081D85 +SET_FUNC MapAnim_TargetShow, 0x8081DE1 +SET_FUNC MapAnim_MoveTargetForWarp, 0x8081E05 +SET_FUNC CallEventDefinition, 0x8082E81 +SET_FUNC CheckEventDefinition, 0x8082EC5 +SET_FUNC CheckNextEventDefinition, 0x8082F29 +SET_FUNC IsThereClosedChestAt, 0x80831AD +SET_FUNC IsThereClosedDoorAt, 0x80831F1 +SET_FUNC ShouldCallEndEvent, 0x8083251 +SET_FUNC MaybeCallEndEvent_, 0x808326D +SET_FUNC CallEndEvent, 0x8083281 +SET_FUNC CheckWin, 0x80832D9 +SET_FUNC MaybeCallEndEvent, 0x80832E9 +SET_FUNC GetCurrentChapterBallistaePtr, 0x8083309 +SET_FUNC GetCurrentChapterBallistae2Ptr, 0x8083321 +SET_FUNC GetChapterAllyUnitDefinitions, 0x8083349 +SET_FUNC GetChapterEnemyUnitDefinitions, 0x80833B1 +SET_FUNC GetChapterSkirmishLeaderClasses, 0x8083401 +SET_FUNC ShouldCallBattleQuote, 0x80834B1 +SET_FUNC CallBattleQuoteEventsIfAny, 0x8083505 +SET_FUNC ShouldDisplayDeathQuoteForChar, 0x80835A9 +SET_FUNC DisplayDeathQuoteForChar, 0x80835DD +SET_FUNC EvCheck00_Always, 0x8083831 +SET_FUNC EvCheck01_AFEV, 0x8083835 +SET_FUNC EvCheck02_TURN, 0x8083865 +SET_FUNC EvCheck03_CHAR, 0x80838AD +SET_FUNC EvCheck04_CHARASM, 0x80838FD +SET_FUNC EvCheck05_LOCA, 0x8083939 +SET_FUNC EvCheck06_VILL, 0x8083979 +SET_FUNC EvCheck07_CHES, 0x808398D +SET_FUNC EvCheck08_DOOR, 0x80839C9 +SET_FUNC EvCheck09_, 0x8083A11 +SET_FUNC EvCheck0A_SHOP, 0x8083A59 +SET_FUNC EvCheck0B_AREA, 0x8083AA5 +SET_FUNC EvCheck0C_Never, 0x8083B25 +SET_FUNC EvCheck0D_Never, 0x8083B29 +SET_FUNC EvCheck0E_, 0x8083B2D +SET_FUNC EvCheck0F_, 0x8083B59 +SET_FUNC EvCheck10_, 0x8083B99 +SET_FUNC SetLocalEventId, 0x8083BD9 +SET_FUNC UnsetLocalEventId, 0x8083C0D +SET_FUNC ClearLocalEvents, 0x8083C49 +SET_FUNC CheckLocalEventId, 0x8083C61 +SET_FUNC SetGlobalEventId, 0x8083CA1 +SET_FUNC UnsetGlobalEventId, 0x8083CD9 +SET_FUNC ClearGlobalTriggerState, 0x8083D19 +SET_FUNC CheckGlobalEventIdFrom, 0x8083D35 +SET_FUNC CheckGlobalEventId, 0x8083D6D +SET_FUNC SetEventId, 0x8083D81 +SET_FUNC UnsetEventId, 0x8083D95 +SET_FUNC CheckEventId, 0x8083DA9 +SET_FUNC GetGlobalEventIdStorage, 0x8083DC1 +SET_FUNC GetGlobalEventIdStorageSize, 0x8083DC9 +SET_FUNC GetLocalEventIdStorage, 0x8083DCD +SET_FUNC GetLocalEventIdStorageSize, 0x8083DD5 +SET_FUNC CheckTutorialEvent, 0x8083E35 +SET_FUNC RunTutorialEvent, 0x8083E65 +SET_FUNC RunPhaseSwitchEvents, 0x8083EB9 +SET_FUNC CheckForCharacterEvents, 0x8083F69 +SET_FUNC RunCharacterEvents, 0x8083FB1 +SET_FUNC GetLocationEventCommandAt, 0x8084079 +SET_FUNC RunLocationEvents, 0x80840C5 +SET_FUNC CheckForPostActionEvents, 0x8084331 +SET_FUNC RunPostActionEvents, 0x80843C1 +SET_FUNC RunSelectEvents, 0x808445D +SET_FUNC RunMoveEventsMaybe, 0x80844B1 +SET_FUNC RunPostMoveEvents, 0x8084509 +SET_FUNC CheckBattleForecastTutorialEvent, 0x8084561 +SET_FUNC RunBattleForecastTutorialEvent, 0x808457D +SET_FUNC RunPlayerPhaseStartTutorialEvent, 0x8084591 +SET_FUNC ClearActiveEventRegistry, 0x80845A5 +SET_FUNC RegisterEventActivation, 0x80845B9 +SET_FUNC GetEventTriggerId, 0x80845E5 +SET_FUNC SetEid82, 0x8084629 +SET_FUNC CheckEid82, 0x8084635 +SET_FUNC GetBattleQuoteEntry, 0x808464D +SET_FUNC GetCharDeathQuoteEntry, 0x80846E5 +SET_FUNC IsCharacterForceDeployed_, 0x8084801 +SET_FUNC IsSethLArachelMyrrhInnes, 0x8084859 +SET_FUNC IsAnyEnemyUnitAlive, 0x8084EE9 +SET_FUNC GetDeadEnemyAmount, 0x8084F1D +SET_FUNC IsCharDeadAsNonPlayerUnit, 0x8084F6D +SET_FUNC StartGameOver, 0x8085375 +SET_FUNC ResetAllPlayerUnitState, 0x8085485 +SET_FUNC TriggerDisableMapIcons, 0x8085971 +SET_FUNC UnTriggerDisableMapIcons, 0x808597D +SET_FUNC nullsub_20, 0x80859E9 +SET_FUNC nullsub_30, 0x8085F85 +SET_FUNC HandleCh5xUnits_Start, 0x8086415 +SET_FUNC HandleCh5xUnits_End, 0x8086465 +SET_FUNC CallRouteSplitMenu, 0x80864CD +SET_FUNC MenuCommand_DrawRouteSplit, 0x8086515 +SET_FUNC Command_EirikaMode, 0x8086565 +SET_FUNC Command_EphraimMode, 0x8086581 +SET_FUNC StartScreenMenuScrollingBg, 0x8086BB9 +SET_FUNC EndBG3Slider, 0x8086DBD +SET_FUNC GetSomeUnitId, 0x8086DCD +SET_FUNC DrawLotsaText, 0x8086E01 +SET_FUNC DrawStatScreenBar, 0x80870BD +SET_FUNC DrawUnitStatScreen, 0x8087185 +SET_FUNC DrawUnitItemScreen, 0x8087485 +SET_FUNC DrawUnitScreenSupportList, 0x8087699 +SET_FUNC DrawUnitWeaponRank, 0x8087789 +SET_FUNC DrawUnitWeaponScreen, 0x808784D +SET_FUNC DrawStatScreenPage, 0x80878CD +SET_FUNC DrawStatScreen, 0x8088671 +SET_FUNC StatScreenBGVPosManager_Loop, 0x8088921 +SET_FUNC StartStatScreen, 0x808894D +SET_FUNC StartStatScreenHelpTextBubble, 0x80889A1 +SET_FUNC StartHelpTextBubble, 0x8089165 +SET_FUNC Loop6C_8A00B20_UpdateOAMData, 0x808948D +SET_FUNC LoadChapterTitleGfx, 0x8089625 +SET_FUNC LoadDialogueBoxGfx, 0x8089805 +SET_FUNC DrawItemDescBoxInfo, 0x8089C41 +SET_FUNC DrawItemDescBoxStats, 0x8089CD5 +SET_FUNC SetDialogueBoxConfig, 0x808A519 +SET_FUNC GetDialogueBoxConfig, 0x808A525 +SET_FUNC BoxDialogueInterpreter_Main, 0x808B179 +SET_FUNC GetCameraMovementSpeedMaybe, 0x808BBCD +SET_FUNC Loop6CUI1_DisplayTransition, 0x808BCF9 +SET_FUNC Loop6CUI1_HideTransition, 0x808BE71 +SET_FUNC MMB_DrawStatusText, 0x808C389 +SET_FUNC DrawMinimugBoxMaybe, 0x808C45D +SET_FUNC InitMinimugBoxMaybe, 0x808C5D1 +SET_FUNC Loop6CUI1_Hidden, 0x808CCC9 +SET_FUNC Loop6CUI1_Displayed, 0x808CD75 +SET_FUNC Init6CUI2, 0x808CE9D +SET_FUNC Loop6CUI2, 0x808CEC9 +SET_FUNC InitPlayerPhaseInterfaceMaybe, 0x808CFC5 +SET_FUNC StartPlayerPhaseSideWindows, 0x808D13D +SET_FUNC EndPlayerPhaseSideWindows, 0x808D151 +SET_FUNC Init6CPI, 0x808D289 +SET_FUNC Loop16CPI, 0x808D47D +SET_FUNC Loop26CPI, 0x808D6D5 +SET_FUNC Loop46CPI, 0x808D71D +SET_FUNC Loop36CPI, 0x808D785 +SET_FUNC MinimalVBlankHandler, 0x808DAE5 +SET_FUNC CountUnitsByFaction, 0x808DDF9 +SET_FUNC NewChapterStatusScreen, 0x808E765 +SET_FUNC nullsub_63, 0x8090B45 +SET_FUNC StartUnitListMenu, 0x80920C5 +SET_FUNC SortUnitList_GetUnitSoloAnimation, 0x8092BE5 +SET_FUNC SortUnitList, 0x8092BF1 +SET_FUNC CanPrepScreenSave, 0x8094FF5 +SET_FUNC GetActivePrepScreenMenuItemHelpTextId, 0x8095025 +SET_FUNC PrepScreenMenu_OnPickUnits, 0x80951B9 +SET_FUNC PrepScreenMenu_OnItems, 0x80951CD +SET_FUNC PrepScreenMenu_OnSupport, 0x80951E1 +SET_FUNC PrepScreenMenu_OnSave, 0x8095211 +SET_FUNC PrepScreenMenu_OnStartPress, 0x8095241 +SET_FUNC PrepScreenMenu_OnCancel, 0x8095285 +SET_FUNC PrepScreenMenu_OnBPress, 0x8095291 +SET_FUNC PrepScreenMenu_OnCheckMap, 0x80952C1 +SET_FUNC GetPrepScreenUnitListEntry, 0x8095355 +SET_FUNC SetPrepScreenUnitListEntry, 0x8095365 +SET_FUNC GetPrepScreenUnitListSize, 0x8095375 +SET_FUNC SetPrepScreenUnitListSize, 0x8095385 +SET_FUNC IsCharacterForceDeployed, 0x80953F1 +SET_FUNC CountForceDeployedUnits, 0x809541D +SET_FUNC SomeLeftoverFunctionThatReturns0, 0x809545D +SET_FUNC IsUnitInCurrentRoster, 0x8095461 +SET_FUNC AtMenu_AddPrepScreenSupportMenuItem, 0x8095499 +SET_FUNC CanPrepScreenCheckMap, 0x8095505 +SET_FUNC AtMenu_InitPrepScreenMenu, 0x8095525 +SET_FUNC ReorderPlayerUnitsBasedOnDeployment, 0x80956D9 +SET_FUNC SortPlayerUnitsForPrepScreen, 0x8095749 +SET_FUNC InitPrepScreenUnitList, 0x80958BD +SET_FUNC AtMenu_AutoCapDeployPrepScreenUnits, 0x80959B5 +SET_FUNC RestartScreenMenuScrollingBg, 0x8095A1D +SET_FUNC EndScreenMenuScrollingBg, 0x8095A39 +SET_FUNC AtMenu_8095AD8, 0x8095AD9 +SET_FUNC ClearPrepScreenMenuHelpText, 0x8095B31 +SET_FUNC DrawPrepScreenMenuHelpText, 0x8095B65 +SET_FUNC DisplayPrepScreenMenuHelpText, 0x8095B95 +SET_FUNC UpdatePrepScreenMenuHelp_Clear, 0x8095BD9 +SET_FUNC UpdatePrepScreenMenuHelp_Draw, 0x8095BE9 +SET_FUNC UpdatePrepScreenMenuHelp_Display, 0x8095BF5 +SET_FUNC StartUpdatePrepScreenMenuHelp, 0x8095C01 +SET_FUNC AtMenu_Reinitialize, 0x8095C85 +SET_FUNC AtMenu_EndIfNoUnits, 0x8095EBD +SET_FUNC AtMenu_MaintainPrepScreenMenuHelp, 0x8095F2D +SET_FUNC AtMenu_StartSubmenu, 0x809631D +SET_FUNC AtMenu_OnSubmenuEnd, 0x8096391 +SET_FUNC AtMenu_LockGame, 0x8096425 +SET_FUNC StartAtMenu, 0x8096455 +SET_FUNC StartAtMenu_LinkArena, 0x8096469 +SET_FUNC NewPrepScreenTraineePromotionManager, 0x8096685 +SET_FUNC PrepScreenTraineePromotionManagerExists, 0x8096699 +SET_FUNC AtMenuExists, 0x80966B1 +SET_FUNC PrepScreenMenu_OnInit, 0x8096CCD +SET_FUNC PrepScreenMenu_OnActiveLoop, 0x8096D11 +SET_FUNC PrepScreenMenu_OnLoop_2, 0x8096F45 +SET_FUNC PrepScreenMenu_OnLoop_0, 0x8096F6D +SET_FUNC PrepScreenMenu_OnEnd, 0x8096F99 +SET_FUNC StartPrepScreenMenu, 0x8096FAD +SET_FUNC SetPrepScreenMenuOnBPress, 0x8096FD1 +SET_FUNC SetPrepScreenMenuOnStartPress, 0x8096FED +SET_FUNC SetPrepScreenMenuOnEnd, 0x8097009 +SET_FUNC SetPrepScreenMenuItem, 0x8097025 +SET_FUNC SetPrepScreenMenuSelectedItem, 0x80970CD +SET_FUNC GetActivePrepScreenMenuItemId, 0x809710D +SET_FUNC DrawPrepScreenMenuFrameAt, 0x8097155 +SET_FUNC SetPrepScreenMenuPosition, 0x8097201 +SET_FUNC EndPrepScreenMenu, 0x80972B1 +SET_FUNC ClearPrepScreenMenu, 0x80972D5 +SET_FUNC PrepScreenMenuExists, 0x8097341 +SET_FUNC DisablePrepScreenMenu, 0x809735D +SET_FUNC EnablePrepScreenMenu, 0x8097395 +SET_FUNC Delete6CMenuScroll, 0x8097685 +SET_FUNC Make6CMenuScroll, 0x8097699 +SET_FUNC SomethingPrepListRelated, 0x80981E5 +SET_FUNC CanUnitPrepScreenUse, 0x809839D +SET_FUNC StartPrepScreenItemsMenu, 0x8099F69 +SET_FUNC nullsub_21, 0x809B36D +SET_FUNC DrawPrepScreenItemUseStatLabels, 0x809BF11 +SET_FUNC DrawPrepScreenItemUseStatBars, 0x809C0B5 +SET_FUNC DrawPrepScreenItemUseStatValues, 0x809C255 +SET_FUNC DrawPrepScreenItemUseItemUseDesc, 0x809C3ED +SET_FUNC PrepScreenItemUseScreen_OnUpdateSMS, 0x809C4B5 +SET_FUNC PrepScreenItemUseScreen_OnInit, 0x809C4D9 +SET_FUNC PrepScreenItemUseScreen_InitDisplay, 0x809C4E5 +SET_FUNC PrepScreenItemUseScreen_OnIdle, 0x809C821 +SET_FUNC DisplayAreYouSureYNBoxText, 0x809C959 +SET_FUNC PrepScreenItemUseScreen_AreUSureBoxInit, 0x809C9F5 +SET_FUNC PrepScreenItemUseScreen_AreUSureBoxLoop, 0x809CA15 +SET_FUNC StartPrepScreenItemUseScreen, 0x809CCFD +SET_FUNC StoreConvoyWeaponIconGraphics, 0x809D2C5 +SET_FUNC nullsub_19, 0x80A0759 +SET_FUNC StartPrepScreenSupportMenu, 0x80A0945 +SET_FUNC CanPrepScreenSupport, 0x80A095D +SET_FUNC SramInit, 0x80A2C3D +SET_FUNC IsSramWorking, 0x80A2CB1 +SET_FUNC ComputeChecksum16, 0x80A2CFD +SET_FUNC LoadGeneralGameMetadata, 0x80A2D29 +SET_FUNC SaveGeneralGameMetadata, 0x80A2DA9 +SET_FUNC SaveGeneralGameMetadataNoChecksum, 0x80A2DD1 +SET_FUNC InitSaveGeneralGameMetadata, 0x80A2DE5 +SET_FUNC GetSaveDataOffsetPointer, 0x80A2ED5 +SET_FUNC SaveMetadata_Load, 0x80A2EF9 +SET_FUNC SaveMetadata_Save, 0x80A2F95 +SET_FUNC GetSaveTargetAddress, 0x80A3065 +SET_FUNC GetSaveSourceAddress, 0x80A3115 +SET_FUNC SaveLocalEventIndexes, 0x80A3131 +SET_FUNC SaveGlobalEventIndexes, 0x80A3151 +SET_FUNC LoadLocalEventIds, 0x80A3171 +SET_FUNC LoadPermanentEids, 0x80A3199 +SET_FUNC LoadPermanentEidsIn, 0x80A31C1 +SET_FUNC SaveConvoyItems, 0x80A31E5 +SET_FUNC LoadConvoyItems, 0x80A326D +SET_FUNC SGM_SetCharacterKnown, 0x80A37A9 +SET_FUNC GGM_IsCharacterKnown, 0x80A37F1 +SET_FUNC GGM_IsAnyCharacterKnown, 0x80A3835 +SET_FUNC VerifySavedRankingChecksum, 0x80A3899 +SET_FUNC LoadBonusContentData, 0x80A38F5 +SET_FUNC SaveBonusContentData, 0x80A3951 +SET_FUNC SaveRankings, 0x80A3985 +SET_FUNC SaveEndgameRankingsMaybe, 0x80A3DD9 +SET_FUNC SaveClearedBWLAndChapterWinData, 0x80A4105 +SET_FUNC LoadBWLEntries, 0x80A421D +SET_FUNC LoadChapterDataWinArray, 0x80A4249 +SET_FUNC SaveBWLEntries, 0x80A4265 +SET_FUNC SaveChapterWinData, 0x80A4289 +SET_FUNC GetChapterWinDataEntry, 0x80A429D +SET_FUNC GetNextChapterWinDataEntryIndex, 0x80A42BD +SET_FUNC GetWonChapterCount, 0x80A42ED +SET_FUNC RegisterChapterTimeAndTurnCount, 0x80A4351 +SET_FUNC GetGameTotalTurnCount, 0x80A43D9 +SET_FUNC DoesThisChapterCount, 0x80A4405 +SET_FUNC GetGameTotalTime, 0x80A4449 +SET_FUNC GetGameTotalTurnCount2, 0x80A4489 +SET_FUNC BWL_AddWinOrLossIdk, 0x80A4685 +SET_FUNC BWL_IncrementMoveValue, 0x80A474D +SET_FUNC BWL_IncrementStatScreenViews, 0x80A478D +SET_FUNC BWL_IncrementDeployCountMaybe, 0x80A47CD +SET_FUNC BWL_AddTilesMoved, 0x80A481D +SET_FUNC BWL_AddExpGained, 0x80A487D +SET_FUNC StoreSomeUnitSetFlags, 0x80A48DD +SET_FUNC BWL_GetTotalBattles, 0x80A4905 +SET_FUNC BWL_GetTotalWins, 0x80A4929 +SET_FUNC BWL_GetTotalExpGained, 0x80A49A5 +SET_FUNC BWL_AddFavoritismValue, 0x80A4A35 +SET_FUNC IsPlaythroughIdUnique, 0x80A4B1D +SET_FUNC GetNewPlaythroughId, 0x80A4B6D +SET_FUNC GGM_GetCompletionCount, 0x80A4B91 +SET_FUNC GetGlobalCompletionCount, 0x80A4BB1 +SET_FUNC GGM_RegisterCompletedPlaythrough, 0x80A4BD1 +SET_FUNC GetCurerentGameMode, 0x80A4C09 +SET_FUNC RegisterCompletedPlaythrough, 0x80A4C15 +SET_FUNC BWL_GetEntry, 0x80A4CFD +SET_FUNC GetBonusContentClaimFlags, 0x80A4D29 +SET_FUNC SetBonusContentClaimFlags, 0x80A4D35 +SET_FUNC SaveBonusContentClaimFlags, 0x80A4D41 +SET_FUNC LoadBonusContentClaimFlags, 0x80A4D5D +SET_FUNC UpdateLastUsedGameSaveSlot, 0x80A4D81 +SET_FUNC GetLastUsedGameSaveSlot, 0x80A4DA1 +SET_FUNC CopyGameSave, 0x80A4E09 +SET_FUNC SaveNewGame, 0x80A4E71 +SET_FUNC SaveGame, 0x80A5011 +SET_FUNC LoadGame, 0x80A5129 +SET_FUNC SaveMetadata_CheckId, 0x80A5219 +SET_FUNC LoadSavedChapterState, 0x80A522D +SET_FUNC LoadSavedBonusClaimFlags, 0x80A524D +SET_FUNC LoadSavedWMStuff, 0x80A5275 +SET_FUNC LoadSavedEid8A, 0x80A5291 +SET_FUNC SaveUnit, 0x80A533D +SET_FUNC LoadSavedUnit, 0x80A5795 +SET_FUNC SaveGMMonsterRnState, 0x80A59E1 +SET_FUNC LoadGMMonsterRnState, 0x80A5A01 +SET_FUNC ClearSaveBlock, 0x80A5A21 +SET_FUNC SaveSuspendedGame, 0x80A5A49 +SET_FUNC LoadSuspendedGame, 0x80A5C15 +SET_FUNC LoadSuspendedChapterState, 0x80A5DFD +SET_FUNC PackUnitStructForSuspend, 0x80A5E11 +SET_FUNC UnpackUnitStructFromSuspend, 0x80A6119 +SET_FUNC SaveTrapStructs, 0x80A6371 +SET_FUNC GetLastSuspendSaveId, 0x80A63B1 +SET_FUNC GetNextSuspendSaveId, 0x80A63D1 +SET_FUNC UpdateNextSuspendSaveId, 0x80A63E1 +SET_FUNC ComputeSaveChecksum, 0x80A6409 +SET_FUNC SaveMetadata_VerifyChecksum, 0x80A6431 +SET_FUNC SaveMetadata_ComputeChecksum, 0x80A6455 +SET_FUNC GetTrialMapSavedMapAddress, 0x80A6B71 +SET_FUNC GetTrialMapSavedMapSize, 0x80A6B91 +SET_FUNC GetTrialMapSavedChapterAddress, 0x80A6BB5 +SET_FUNC GetTrialMapSavedChapterSize, 0x80A6BD5 +SET_FUNC SaveWMStuff, 0x80A70B1 +SET_FUNC LoadWMStuff, 0x80A7139 +SET_FUNC Loop6C_savemenu, 0x80A9025 +SET_FUNC StartTrialMap_Maybe, 0x80AA145 +SET_FUNC Make6C_savemenu, 0x80AA4C1 +SET_FUNC Start_savemenu2, 0x80AA519 +SET_FUNC savemenu_SetDifficultyChoice, 0x80AA52D +SET_FUNC StartSaveDraw, 0x80AB301 +SET_FUNC nullsub_64, 0x80AC3DD +SET_FUNC StartNewGameDifficultySelect, 0x80AC3E1 +SET_FUNC ParallelWorker_OnLoop, 0x80AD2E9 +SET_FUNC StartParallelWorker, 0x80AD2F9 +SET_FUNC EndAllParallelWorkers, 0x80AD31D +SET_FUNC GetParallelWorker, 0x80AD339 +SET_FUNC ResetPrepScreenHandCursor, 0x80AD47D +SET_FUNC HidePrepScreenHandCursor, 0x80AD565 +SET_FUNC EndPrepScreenHandCursor, 0x80AD581 +SET_FUNC EnableAllGfx, 0x80AD5D9 +SET_FUNC StartSmallBrownNameBoxes, 0x80ADB7D +SET_FUNC EndSmallBrownNameBoxes, 0x80ADC91 +SET_FUNC EndAllProcChildren, 0x80ADDD5 +SET_FUNC FadeInOut_Init, 0x80AE18D +SET_FUNC FadeIn_Loop, 0x80AE1A1 +SET_FUNC FadeOut_Loop, 0x80AE201 +SET_FUNC FadeInOut_DisableGfx, 0x80AE249 +SET_FUNC FadeInExists, 0x80AE2A1 +SET_FUNC FadeOutExists, 0x80AE2B9 +SET_FUNC NewFadeIn, 0x80AE2D1 +SET_FUNC NewFadeOut, 0x80AE2F5 +SET_FUNC nullsub_65, 0x80AF229 +SET_FUNC nullsub_66, 0x80B05C1 +SET_FUNC InitBonusContentClaimList, 0x80B0761 +SET_FUNC DrawBonusItemMenuEntry, 0x80B0895 +SET_FUNC SetBonusContentClaimed, 0x80B0A25 +SET_FUNC ClaimBonusItemMenu_Init, 0x80B0ADD +SET_FUNC ClaimBonusItemMenu_MainLoop, 0x80B0D39 +SET_FUNC StartClaimBonusItemMenu, 0x80B1689 +SET_FUNC nullsub_67, 0x80B2519 +SET_FUNC Make6C_opinfo, 0x80B29F9 +SET_FUNC Shop6C_GetPortraitIndex, 0x80B4155 +SET_FUNC StartArmoryScreen, 0x80B41E1 +SET_FUNC StartVendorScreen, 0x80B4201 +SET_FUNC StartShopScreen, 0x80B4241 +SET_FUNC SuspendCommand, 0x80B5D5D +SET_FUNC GetOverallRank, 0x80B6071 +SET_FUNC GetChapterTacticsRank, 0x80B6145 +SET_FUNC GetChapterSurvivalRank, 0x80B61C5 +SET_FUNC GetChapterDeathCount, 0x80B6285 +SET_FUNC GetChapterFundsRank, 0x80B62DD +SET_FUNC GetChapterWinPerc, 0x80B6359 +SET_FUNC GetChapterCombatRank, 0x80B63F1 +SET_FUNC GetChapterExpRank, 0x80B6425 +SET_FUNC ComputeChapterRankings, 0x80B6505 +SET_FUNC nullsub_6, 0x80B8189 +SET_FUNC nullsub_7, 0x80B818D +SET_FUNC nullsub_5, 0x80B81FD +SET_FUNC nullsub_57, 0x80B867D +SET_FUNC GM_OnEnd, 0x80B8A19 +SET_FUNC InitGraphicsForWorldMap, 0x80B8D5D +SET_FUNC LoadGMObjGraphics, 0x80B8E15 +SET_FUNC GMProc_80B8E60, 0x80B8E61 +SET_FUNC GMProc_DeployAllBlueUnits, 0x80B8FA5 +SET_FUNC nullsub_22, 0x80B8FD1 +SET_FUNC GM_80B8FD4, 0x80B8FD5 +SET_FUNC GMProc_80B9154, 0x80B9155 +SET_FUNC WorldMap_HideEverything, 0x80B9A11 +SET_FUNC WorldMap_InitChapterTransition, 0x80B9B39 +SET_FUNC WorldMap_WaitForChapterIntroEvents, 0x80B9CB1 +SET_FUNC DoNothing, 0x80B9F09 +SET_FUNC GM_End, 0x80BA025 +SET_FUNC GM_Start, 0x80BA2E5 +SET_FUNC GM_SetupChapterStuff, 0x80BA335 +SET_FUNC GM_CallChapterWMIntroEvent, 0x80BA3D5 +SET_FUNC GMapScreenVSync_OnInit, 0x80BA61D +SET_FUNC GMapScreenVSync_OnUpdate, 0x80BA629 +SET_FUNC StartGMapScreenVSync, 0x80BA719 +SET_FUNC GMapScreen_OnEnd, 0x80BA759 +SET_FUNC GMapScreen_Init, 0x80BA765 +SET_FUNC StartGMapScreen, 0x80BABF1 +SET_FUNC MMS_GetGfx, 0x80BAC1D +SET_FUNC MMS_GetROMTCS2, 0x80BAC31 +SET_FUNC GetMapUnitMMSGfxBuffer, 0x80BAC45 +SET_FUNC GmapUnit_Destruct, 0x80BAC59 +SET_FUNC GmapUnit_Init, 0x80BAC65 +SET_FUNC GmapUnit_Loop, 0x80BAC79 +SET_FUNC GetPaletteIdForAllegience, 0x80BADD5 +SET_FUNC NewMapUnit, 0x80BADF1 +SET_FUNC MapUnitC_DeleteGmapUnit, 0x80BAF0D +SET_FUNC MapUnitC_SetPosition, 0x80BAF35 +SET_FUNC MapUnitC_SetAnim, 0x80BAF85 +SET_FUNC MapUnitC_SetTCSOAMIndex, 0x80BB019 +SET_FUNC MapUnitC_SetAllegienceColorIndex, 0x80BB039 +SET_FUNC MapUnitC_MarkSomething, 0x80BB0A5 +SET_FUNC GmapUnitContainer_OnEnd, 0x80BB1A1 +SET_FUNC GmapUnitContainer_OnInit, 0x80BB1C9 +SET_FUNC StartGmapUnitContainer, 0x80BB1E9 +SET_FUNC GmapUnitFade_Destruct, 0x80BB20D +SET_FUNC GmapUnitFade_Init, 0x80BB265 +SET_FUNC GmapUnitFade_Loop, 0x80BB349 +SET_FUNC WMLocation_GetChapterId, 0x80BB5B1 +SET_FUNC WMLoc_GetNextLocId, 0x80BB5E5 +SET_FUNC GmapScreen2_Destruct, 0x80BB719 +SET_FUNC GmapScreen2_Init, 0x80BB725 +SET_FUNC GmapScreen2_Loop, 0x80BB799 +SET_FUNC nullsub_59, 0x80BBA81 +SET_FUNC GmapCursor_OnInit, 0x80BBA85 +SET_FUNC GmapCursor_OnUpdate, 0x80BBAD5 +SET_FUNC StartGmapCursor, 0x80BBBC5 +SET_FUNC nullsub_38, 0x80BBEB5 +SET_FUNC GMapRoute_StartTransition, 0x80BC0BD +SET_FUNC GMapRoute_EnableBGSyncs, 0x80BC185 +SET_FUNC GMapRoute_TransitionLoop, 0x80BC1B9 +SET_FUNC GMapRoute_TransitionEnd, 0x80BC229 +SET_FUNC MapRoute_BeginRouteTransition, 0x80BC29D +SET_FUNC GMapRoute_80BC2DC, 0x80BC2DD +SET_FUNC StartGMapRoute, 0x80BC3A5 +SET_FUNC SetupNewWMRoute, 0x80BC8BD +SET_FUNC WM_RemovePath, 0x80BC8ED +SET_FUNC GM_ClearAllStoryLocations, 0x80BCFB5 +SET_FUNC GetBattleMapType, 0x80BD069 +SET_FUNC nullsub_37, 0x80BD2A9 +SET_FUNC GetCharacterClassId, 0x80BD2AD +SET_FUNC MapMUPrim_MakeUnitForChar, 0x80BD2ED +SET_FUNC MapMUPrim_MakeUnitForClass, 0x80BD375 +SET_FUNC MapMUPrim_RemoveLinkedMapUnit, 0x80BD3E9 +SET_FUNC nullsub_70, 0x80BD419 +SET_FUNC nullsub_49, 0x80BDC01 +SET_FUNC MapMU_FillPrim, 0x80BDC05 +SET_FUNC NewMapMU, 0x80BDC29 +SET_FUNC MapMU_SetUnit, 0x80BDC3D +SET_FUNC MapMU_RemoveUnit, 0x80BDD2D +SET_FUNC MapMU_SetUnitTCSOAMIndex, 0x80BE0E9 +SET_FUNC MapMU_80BE108, 0x80BE109 +SET_FUNC MapMU_SetUnitClass, 0x80BE535 +SET_FUNC MapMU_SetUnitChar, 0x80BE551 +SET_FUNC GM_PutClassUnit, 0x80BF4D1 +SET_FUNC GM_PutCharUnit, 0x80BF505 +SET_FUNC GM_RemoveUnit, 0x80BF539 +SET_FUNC WM_DrawPath, 0x80BF58D +SET_FUNC nullsub_50, 0x80BF5C1 +SET_FUNC nullsub_48, 0x80BFD7D +SET_FUNC StartGMapMuEntry, 0x80C01DD +SET_FUNC nullsub_47, 0x80C0549 +SET_FUNC GetWMCenteredCameraPosition, 0x80C0859 +SET_FUNC nullsub_72, 0x80C18E9 +SET_FUNC Make6C_Gmap_RM, 0x80C2421 +SET_FUNC GetWMDisplayPosition, 0x80C24AD +SET_FUNC nullsub_71, 0x80C3EC5 +SET_FUNC GM_GetBaseMenuProc, 0x80C4049 +SET_FUNC nullsub_23, 0x80C6101 +SET_FUNC AddSomeChild6C, 0x80C6739 +SET_FUNC DeleteSome6C, 0x80C674D +SET_FUNC StorePaletteToBufferMaybe, 0x80C6761 +SET_FUNC Initialize6CIntroSequence, 0x80C6A55 +SET_FUNC Until6C2AIs8Callback, 0x80C6E91 +SET_FUNC PrepareHealthAndSafetyScreen, 0x80CC1F9 +SET_FUNC NewPromotionMain, 0x80CC469 +SET_FUNC NewPromotionMain_raw, 0x80CC499 +SET_FUNC PromotionInit_SetNullState, 0x80CC905 +SET_FUNC PromotionInit_Loop, 0x80CC911 +SET_FUNC StartTraineePromotion, 0x80CC941 +SET_FUNC StartPrepScreenPromotion, 0x80CC991 +SET_FUNC StartMapPromotion, 0x80CCA15 +SET_FUNC ChangePromotionClassDescText, 0x80CCA65 +SET_FUNC PromotionDisplay_InitClassName, 0x80CCAAD +SET_FUNC PromotionDisplay_DrawClassName, 0x80CCB41 +SET_FUNC IsThirdTraineePromotionAllowed, 0x80CCCA5 +SET_FUNC Make6C_PromotionSub, 0x80CCD35 +SET_FUNC PromotionDisplay_Init, 0x80CCD49 +SET_FUNC PromotionDisplay_InitClassDesc, 0x80CCF61 +SET_FUNC PromotionDisplay_MainLoop, 0x80CD015 +SET_FUNC GetClassAnimationIdForWeapon, 0x80CD571 +SET_FUNC StartCCRamifyEnd, 0x80CD619 +SET_FUNC PromotionCommand_OnSelect, 0x80CDB35 +SET_FUNC PromotionCommand_OnTextDraw, 0x80CDCC5 +SET_FUNC PromotionCommand_OnChange, 0x80CDD01 +SET_FUNC Usability_ThirdPromotionOption, 0x80CDD39 +SET_FUNC PromotionMenuSelect_OnInit, 0x80CDD79 +SET_FUNC nullsub_60, 0x80CDDD5 +SET_FUNC nullsub_61, 0x80CDDD9 +SET_FUNC StartPromotionMenuSelect, 0x80CDDDD +SET_FUNC guMenu2ReWriteUp_80CE2FC, 0x80CE2FD +SET_FUNC guMenu2ReWriteDown_80CE388, 0x80CE389 +SET_FUNC guMenu2ReWriteFirst_80CE588, 0x80CE589 +SET_FUNC guMess3ReWrite_80CE95C, 0x80CE95D +SET_FUNC guMess3ReWrite_80CE9E8, 0x80CE9E9 +SET_FUNC Guide_80CECB0, 0x80CECB1 +SET_FUNC Guide_80CEF10, 0x80CEF11 +SET_FUNC Guide_80CEFD4, 0x80CEFD5 +SET_FUNC Guide_80CF448, 0x80CF449 +SET_FUNC m4a_1, 0x80CF4B9 +SET_FUNC SoundMain, 0x80CF4C9 +SET_FUNC SoundMainRAM, 0x80CF54D +SET_FUNC SoundMainBTM, 0x80CF8F1 +SET_FUNC RealClearChain, 0x80CF909 +SET_FUNC ply_fine, 0x80CF929 +SET_FUNC MPlayJumpTableCopy, 0x80CF959 +SET_FUNC ld_r3_tp_adr_i, 0x80CF98D +SET_FUNC ply_goto, 0x80CF999 +SET_FUNC ply_patt, 0x80CF9B9 +SET_FUNC ply_pend, 0x80CF9D5 +SET_FUNC ply_rept, 0x80CF9E9 +SET_FUNC ply_prio, 0x80CFA19 +SET_FUNC ply_tempo, 0x80CFA25 +SET_FUNC ply_keysh, 0x80CFA39 +SET_FUNC ply_voice, 0x80CFA4D +SET_FUNC ply_vol, 0x80CFA7D +SET_FUNC ply_pan, 0x80CFA91 +SET_FUNC ply_bend, 0x80CFAA5 +SET_FUNC ply_bendr, 0x80CFAB9 +SET_FUNC ply_lfodl, 0x80CFACD +SET_FUNC ply_modt, 0x80CFAD9 +SET_FUNC ply_tune, 0x80CFAF1 +SET_FUNC ply_port, 0x80CFB05 +SET_FUNC m4aSoundVSync, 0x80CFB1D +SET_FUNC MPlayMain, 0x80CFB69 +SET_FUNC TrackStop, 0x80CFDD1 +SET_FUNC SoundStuff_80D0158, 0x80D0159 +SET_FUNC m4aSoundInit, 0x80D0179 +SET_FUNC m4aSoundMain, 0x80D01F1 +SET_FUNC m4aSongNumStart, 0x80D01FD +SET_FUNC m4aSongNumStop, 0x80D02C9 +SET_FUNC m4aMPlayFadeOut, 0x80D0395 +SET_FUNC m4aMPlayFadeOutTemporarily, 0x80D03A5 +SET_FUNC m4aMPlayFadeIn, 0x80D03C5 +SET_FUNC m4aMPlayImmInit, 0x80D03ED +SET_FUNC MPlayExtender, 0x80D0435 +SET_FUNC MusicPlayerJumpTableCopy, 0x80D054D +SET_FUNC ClearChain, 0x80D0551 +SET_FUNC Clear64byte, 0x80D0565 +SET_FUNC SoundInit, 0x80D0579 +SET_FUNC SampleFreqSet, 0x80D0671 +SET_FUNC m4aSoundMode, 0x80D0715 +SET_FUNC SoundClear, 0x80D07AD +SET_FUNC m4aSoundVSyncOff, 0x80D0801 +SET_FUNC m4aSoundVSyncOn, 0x80D087D +SET_FUNC MPlayOpen, 0x80D08B9 +SET_FUNC MPlayStart, 0x80D0931 +SET_FUNC m4aMPlayStop, 0x80D0A15 +SET_FUNC FadeOutBody, 0x80D0A55 +SET_FUNC TrkVolPitSet, 0x80D0B1D +SET_FUNC MidiKeyToCgbFreq, 0x80D0BD1 +SET_FUNC CgbOscOff, 0x80D0C79 +SET_FUNC CgbModVol, 0x80D0CC9 +SET_FUNC m4aMPlayVolumeControl, 0x80D11A5 +SET_FUNC ply_memacc, 0x80D1569 +SET_FUNC ply_xswee, 0x80D1635 +SET_FUNC ply_xcmd_0C, 0x80D1641 +SET_FUNC ply_xcmd_0D, 0x80D1655 +SET_FUNC DummyFunc, 0x80D1669 +SET_FUNC ArcTan2, 0x80D166D +SET_FUNC BgAffineSet, 0x80D1671 +SET_FUNC CpuFastSet, 0x80D1675 +SET_FUNC CpuSet, 0x80D1679 +SET_FUNC Div, 0x80D167D +SET_FUNC DivArm, 0x80D1681 +SET_FUNC Mod, 0x80D1685 +SET_FUNC HuffUnComp, 0x80D168D +SET_FUNC LZ77UnCompVram, 0x80D1691 +SET_FUNC LZ77UnCompWram, 0x80D1695 +SET_FUNC SVC_Multiboot, 0x80D1699 +SET_FUNC ObjAffineSet, 0x80D16A1 +SET_FUNC RLUnCompVram, 0x80D16A5 +SET_FUNC RLUnCompWram, 0x80D16A9 +SET_FUNC RegisterRamReset, 0x80D16AD +SET_FUNC SVC_Sqrt, 0x80D16D9 +SET_FUNC VBlankIntrWait, 0x80D16DD +SET_FUNC ReadSramFast_Core, 0x80D16E5 +SET_FUNC WriteSramFast, 0x80D1725 +SET_FUNC VerifySramFast_Core, 0x80D1765 +SET_FUNC SramFastFuncInit, 0x80D17B1 +SET_FUNC WriteAndVerifySramFast, 0x80D184D +SET_FUNC __aeabi_llsl, 0x80D188D +SET_FUNC BXR1, 0x80D18C5 +SET_FUNC BXR2, 0x80D18C9 +SET_FUNC BXR3, 0x80D18CD +SET_FUNC BXR4, 0x80D18D1 +SET_FUNC BXR5, 0x80D18D5 +SET_FUNC BXR6, 0x80D18D9 +SET_FUNC BXR7, 0x80D18DD +SET_FUNC BXR8, 0x80D18E1 +SET_FUNC BXR9, 0x80D18E5 +SET_FUNC BXR10, 0x80D18E9 +SET_FUNC BXR11, 0x80D18ED +SET_FUNC BXR12, 0x80D18F1 +SET_FUNC BXSP, 0x80D18F5 +SET_FUNC BXLR, 0x80D18F9 +SET_FUNC __divsi3, 0x80D18FD +SET_FUNC nullsub_1, 0x80D1991 +SET_FUNC __modsi3, 0x80D1995 +SET_FUNC __udivsi3, 0x80D1AD5 +SET_FUNC __umodsi3, 0x80D1B4D +SET_FUNC memcpy, 0x80D1C0D +SET_FUNC memset, 0x80D1C6D +SET_FUNC .gcc2_compiled._11, 0x80D1CC1 +SET_FUNC sprintf, 0x80D1CFD +SET_FUNC strcpy, 0x80D1D3D +SET_FUNC strlen, 0x80D1D89 +SET_FUNC strstr, 0x80D1DCD +SET_FUNC .gcc2_compiled._15, 0x80D1E11 +SET_FUNC __sbprintf, 0x80D1E31 +SET_FUNC vfprintf, 0x80D1EA5 +SET_FUNC _vfprintf_r, 0x80D1EB9 +SET_FUNC cvt, 0x80D2E19 +SET_FUNC exponent, 0x80D2F0D +SET_FUNC .gcc2_compiled._17, 0x80D2FB1 +SET_FUNC _dtoa_r, 0x80D31B9 +SET_FUNC .gcc2_compiled._19, 0x80D3EB1 +SET_FUNC __sfmoreglue, 0x80D3F7D +SET_FUNC __sfp, 0x80D3FAD +SET_FUNC _cleanup_r, 0x80D4021 +SET_FUNC _cleanup, 0x80D4031 +SET_FUNC __sinit, 0x80D4041 +SET_FUNC .gcc2_compiled._21, 0x80D40A1 +SET_FUNC _malloc_trim_r, 0x80D4261 +SET_FUNC .gcc2_compiled._22, 0x80D4321 +SET_FUNC .gcc2_compiled._23, 0x80D454D +SET_FUNC .gcc2_compiled._24, 0x80D458D +SET_FUNC _localeconv_r, 0x80D45C9 +SET_FUNC setlocale, 0x80D45D1 +SET_FUNC localeconv, 0x80D45E9 +SET_FUNC .gcc2_compiled._25, 0x80D45F9 +SET_FUNC .gcc2_compiled._26, 0x80D46D5 +SET_FUNC _malloc_r, 0x80D4831 +SET_FUNC .gcc2_compiled._27, 0x80D4BF1 +SET_FUNC .gcc2_compiled._28, 0x80D4C1D +SET_FUNC .gcc2_compiled._29, 0x80D4C9D +SET_FUNC nullsub_3, 0x80D4D25 +SET_FUNC nullsub_4, 0x80D4D29 +SET_FUNC .gcc2_compiled._30, 0x80D4D2D +SET_FUNC _Bfree, 0x80D4D85 +SET_FUNC _multadd, 0x80D4D9D +SET_FUNC _s2b, 0x80D4E35 +SET_FUNC _hi0bits, 0x80D4EB9 +SET_FUNC _lo0bits, 0x80D4F11 +SET_FUNC _i2b, 0x80D4F95 +SET_FUNC _multiply, 0x80D4FA9 +SET_FUNC _pow5mult, 0x80D5115 +SET_FUNC _lshift, 0x80D51AD +SET_FUNC __mcmp, 0x80D524D +SET_FUNC __mdiff, 0x80D528D +SET_FUNC _ulp, 0x80D537D +SET_FUNC _b2d, 0x80D53C9 +SET_FUNC _d2b, 0x80D5485 +SET_FUNC _ratio, 0x80D556D +SET_FUNC _mprec_log10, 0x80D55BD +SET_FUNC .gcc2_compiled._31, 0x80D55FD +SET_FUNC .gcc2_compiled._32, 0x80D5621 +SET_FUNC .gcc2_compiled._44, 0x80D5641 +SET_FUNC .gcc2_compiled._33, 0x80D566D +SET_FUNC __swrite, 0x80D56A1 +SET_FUNC __sseek, 0x80D56E1 +SET_FUNC __sclose, 0x80D5721 +SET_FUNC .gcc2_compiled._35, 0x80D578D +SET_FUNC remap_handle, 0x80D57AD +SET_FUNC initialise_monitor_handles, 0x80D57F9 +SET_FUNC get_errno, 0x80D5869 +SET_FUNC error, 0x80D587D +SET_FUNC wrap, 0x80D5891 +SET_FUNC _swiread, 0x80D58A9 +SET_FUNC _read, 0x80D58CD +SET_FUNC _swilseek, 0x80D5915 +SET_FUNC _lseek, 0x80D5999 +SET_FUNC _swiwrite, 0x80D59A5 +SET_FUNC _write, 0x80D59C9 +SET_FUNC _swiopen, 0x80D5A15 +SET_FUNC _open, 0x80D5AB5 +SET_FUNC _swiclose, 0x80D5AC9 +SET_FUNC _close, 0x80D5AFD +SET_FUNC _exit, 0x80D5B09 +SET_FUNC _kill, 0x80D5B29 +SET_FUNC _getpid, 0x80D5B49 +SET_FUNC _sbrk, 0x80D5B4D +SET_FUNC _fstat, 0x80D5B89 +SET_FUNC _unlink, 0x80D5B95 +SET_FUNC _raise, 0x80D5B9D +SET_FUNC _gettimeofday, 0x80D5BA1 +SET_FUNC _times, 0x80D5BCD +SET_FUNC .gcc2_compiled._36, 0x80D5BF1 +SET_FUNC .gcc2_compiled._37, 0x80D5C21 +SET_FUNC .gcc2_compiled._39, 0x80D5CA5 +SET_FUNC .gcc2_compiled._40, 0x80D5CB1 +SET_FUNC .gcc2_compiled._41, 0x80D5CDD +SET_FUNC isatty, 0x80D5CFD +SET_FUNC alarm, 0x80D5D01 +SET_FUNC .gcc2_compiled._42, 0x80D5D05 +SET_FUNC .gcc2_compiled._43, 0x80D5D35 +SET_FUNC .gcc2_compiled._47, 0x80D5D65 +SET_FUNC __unpack_d, 0x80D5EAD +SET_FUNC _fpadd_parts, 0x80D5F85 +SET_FUNC __adddf3, 0x80D61F1 +SET_FUNC __subdf3, 0x80D6221 +SET_FUNC __muldf3, 0x80D6259 +SET_FUNC __divdf3, 0x80D6501 +SET_FUNC __fpcmp_parts_d, 0x80D6689 +SET_FUNC __cmpdf2, 0x80D6789 +SET_FUNC __eqdf2, 0x80D67B5 +SET_FUNC __nedf2, 0x80D6801 +SET_FUNC __gtdf2, 0x80D684D +SET_FUNC __gedf2, 0x80D6899 +SET_FUNC __ltdf2, 0x80D68E5 +SET_FUNC __ledf2, 0x80D6931 +SET_FUNC __floatsidf, 0x80D697D +SET_FUNC __fixdfsi, 0x80D69F9 +SET_FUNC __negdf2, 0x80D6A6D +SET_FUNC __make_dp, 0x80D6A95 +SET_FUNC __truncdfsf2, 0x80D6ABD +SET_FUNC .gcc2_compiled._48, 0x80D6B01 +SET_FUNC __unpack_f, 0x80D6BB9 +SET_FUNC _fpadd_parts_0, 0x80D6C35 +SET_FUNC __addsf3, 0x80D6DB1 +SET_FUNC __subsf3, 0x80D6DDD +SET_FUNC __mulsf3, 0x80D6E11 +SET_FUNC __divsf3, 0x80D6F75 +SET_FUNC __fpcmp_parts_f, 0x80D7061 +SET_FUNC __cmpsf2, 0x80D7145 +SET_FUNC __eqsf2, 0x80D716D +SET_FUNC __nesf2, 0x80D71B5 +SET_FUNC __gtsf2, 0x80D71FD +SET_FUNC __gesf2, 0x80D7245 +SET_FUNC __ltsf2, 0x80D728D +SET_FUNC __lesf2, 0x80D72D5 +SET_FUNC __floatsisf, 0x80D731D +SET_FUNC __fixsfsi, 0x80D737D +SET_FUNC __negsf2, 0x80D73E5 +SET_FUNC __make_fp, 0x80D7409 +SET_FUNC __extendsfdf2, 0x80D7421 +SET_FUNC .gcc2_compiled._49, 0x80D744D +SET_FUNC .gcc2_compiled._50, 0x80D7481 +SET_FUNC ClearOAMBuffer, 0x80D7499 +SET_FUNC BgMap_ApplyTsa, 0x80D74A1 +SET_FUNC BgMapFillRect, 0x80D74A9 +SET_FUNC BgMapCopyRect, 0x80D74B9 +SET_FUNC ComputeChecksum32, 0x80D74C1 + +SET_DATA gAISFrontLeft, 0x2000000 +SET_DATA gAISBackLeft, 0x2000004 +SET_DATA gAISFrontRight, 0x2000008 +SET_DATA gAISBackRight, 0x200000C +SET_DATA gpBattleAnimFrameStartLookup, 0x200005C +SET_DATA gpProcEkrBattle, 0x2000064 +SET_DATA gpProcEkrGauge, 0x2000068 +SET_DATA gpProcEkrDispUP, 0x200006C +SET_DATA gpMapBuffer, 0x2001000 +SET_DATA gBonusClaimItemList, 0x2001168 +SET_DATA gTradeMenuTextHandles, 0x200278C +SET_DATA gaBattleForecastTextStructs, 0x2002FDC +SET_DATA gStatScreenVOffset, 0x2003C02 +SET_DATA gpStatScreenUnit, 0x2003C08 +SET_DATA gpStatScreenMoveUnit, 0x2003C0C +SET_DATA gpCurrentHelpTextStruct, 0x2003C10 +SET_DATA gpStatScreenPageBg0Map, 0x2003D2C +SET_DATA gAISOAM_20041C8, 0x20041C8 +SET_DATA gpStatScreenPageBg2Map, 0x200472C +SET_DATA gSortedUnitList, 0x200D6E0 +SET_DATA gStringBufferAlt, 0x200F17C +SET_DATA gAISFrames_Left, 0x200F1C8 +SET_DATA gPrepScreenMenuHelpTextArray, 0x20111A4 +SET_DATA gAISFrames_Right, 0x2011BC8 +SET_DATA gPrepScreenUnitList, 0x20121CC +SET_DATA gPrepScreenItemList, 0x20122D4 +SET_DATA gPrepScreenItemListSize, 0x2012F54 +SET_DATA gSomeFontStruct, 0x2017648 +SET_DATA gSomeTextStruct, 0x2017660 +SET_DATA gBool_SpellFxActive, 0x201772C +SET_DATA gBool_EfxDeathActive, 0x2017734 +SET_DATA gSomeSubAnim6CCounter, 0x201774C +SET_DATA gpEfxStatusUnit, 0x201776C +SET_DATA gpEfxWeaponIcon, 0x2017774 +SET_DATA gpEfxSpellCast, 0x2017778 +SET_DATA gpEfxHPBarColorChange, 0x201777C +SET_DATA gSpellAnimBgGfxBuffer_Maybe, 0x2017790 +SET_DATA gSpellFxTsaBuffer, 0x2019790 +SET_DATA gSpellAnimObjGfxBuffer_Maybe, 0x201A790 +SET_DATA gBattleAnimBoolEkrNamewinAppearActive, 0x201FAD0 +SET_DATA gBattleAnimBoolEndedRounds, 0x201FB04 +SET_DATA gpEkrAnimeDrvProc, 0x201FB18 +SET_DATA gpBattleAnimSomeSheetData, 0x201FB1C +SET_DATA gpEkrTogiColor, 0x201FB24 +SET_DATA gSomeBattleAISStruct_RightUnit, 0x2020048 +SET_DATA gpSomeBattleAIS_RightUnit, 0x2020054 +SET_DATA gSomeBattleAISStruct_LeftUnit, 0x2020058 +SET_DATA gpSomeBattleAIS_LeftUnit, 0x2020064 +SET_DATA gpEkrClasschg, 0x20200B0 +SET_DATA gpEkrLevelup, 0x20200B4 +SET_DATA gpSomeUnitStruct2, 0x202010C +SET_DATA gLevelUpLevelBase, 0x2020112 +SET_DATA gLevelUpStatsBase, 0x2020114 +SET_DATA gLevelUpStatsAfter, 0x2020124 +SET_DATA gBattleAnimTriangleAttackEnded, 0x202013C +SET_DATA gpBattlePopupProc, 0x2020140 +SET_DATA gBattlePopupEnded, 0x2020144 +SET_DATA gGenericBuffer, 0x2020188 +SET_DATA gPaletteBuffer, 0x20228A8 +SET_DATA gPalette1Buffer, 0x20228C8 +SET_DATA gPalette2Buffer, 0x20228E8 +SET_DATA gPalette3Buffer, 0x2022908 +SET_DATA gPalette4Buffer, 0x2022928 +SET_DATA gPalette6Buffer, 0x2022968 +SET_DATA gPalette7Buffer, 0x2022988 +SET_DATA gPaletteEBuffer, 0x2022A68 +SET_DATA gPaletteFBuffer, 0x2022A88 +SET_DATA gPalette10Buffer, 0x2022AA8 +SET_DATA gPalette12Buffer, 0x2022AE8 +SET_DATA gPalette13Buffer, 0x2022B08 +SET_DATA gPalette14Buffer, 0x2022B28 +SET_DATA gPalette15Buffer, 0x2022B48 +SET_DATA gPalette16Buffer, 0x2022B68 +SET_DATA gPalette17Buffer, 0x2022B88 +SET_DATA gPalette18Buffer, 0x2022BA8 +SET_DATA gPalette19Buffer, 0x2022BC8 +SET_DATA gPalette1ABuffer, 0x2022BE8 +SET_DATA gPalette1BBuffer, 0x2022C08 +SET_DATA gPalette1CBuffer, 0x2022C28 +SET_DATA gPalette1DBuffer, 0x2022C48 +SET_DATA gPalette1EBuffer, 0x2022C68 +SET_DATA gPalette1FBuffer, 0x2022C88 +SET_DATA gBg0MapBuffer, 0x2022CA8 +SET_DATA gBg1MapBuffer, 0x20234A8 +SET_DATA gBg2MapBuffer, 0x2023CA8 +SET_DATA gBg3MapBuffer, 0x20244A8 +SET_DATA gBg0MapTarget, 0x2024CA8 +SET_DATA gBg1MapTarget, 0x2024CAC +SET_DATA gBg2MapTarget, 0x2024CB0 +SET_DATA gBg3MapTarget, 0x2024CB4 +SET_DATA gpMainCallback, 0x2024CB8 +SET_DATA gKeyState, 0x2024CC0 +SET_DATA gTileRegistryNextIndex, 0x2024CD4 +SET_DATA gTileRegistryTotalSize, 0x2024CD8 +SET_DATA gTileRegistry, 0x2024CDC +SET_DATA gSoundStatus, 0x2024E5C +SET_DATA gProcStatePool, 0x2024E68 +SET_DATA gProcAllocLookup, 0x2026968 +SET_DATA gProcAllocIterator, 0x2026A6C +SET_DATA gProcRoot, 0x2026A70 +SET_DATA gIconIndexToDataLookup, 0x2026A90 +SET_DATA gIconDataToIndexLookup, 0x2026E10 +SET_DATA gDebugTextData, 0x2026E30 +SET_DATA gDebugNumberString, 0x2028E44 +SET_DATA gDebugFontObjTileRoot, 0x2028E50 +SET_DATA gDebugFontObjPaletteMask, 0x2028E54 +SET_DATA gDefaultFontData, 0x2028E58 +SET_DATA gpCurrentFont, 0x2028E70 +SET_DATA gLang, 0x2028E74 +SET_DATA gSpecialUiCharAllocationTable, 0x2028E78 +SET_DATA gAISArray, 0x2028F78 +SET_DATA gpAISFirst, 0x2029D88 +SET_DATA gHiObjPool, 0x2029D8C +SET_DATA gHiObjNodes, 0x202A58C +SET_DATA gFaceGfxData, 0x202A68C +SET_DATA gCurrentTextString, 0x202A6AC +SET_DATA gCurrentTextIndex, 0x202B6AC +SET_DATA gPaletteFadeBuffer, 0x202B6B0 +SET_DATA gGameState, 0x202BCB0 +SET_DATA gChapterData, 0x202BCF0 +SET_DATA gPreviousCursorDisplayPosition, 0x202BD3C +SET_DATA gCursorAnimationClockReference, 0x202BD40 +SET_DATA gSomeCameraMovementTableMaybe, 0x202BD44 +SET_DATA gActiveUnitId, 0x202BE44 +SET_DATA gActiveUnitMoveOrigin, 0x202BE48 +SET_DATA gUnitArrayBlue, 0x202BE4C +SET_DATA gUnitArrayRed, 0x202CFBC +SET_DATA gUnitArrayGreen, 0x202DDCC +SET_DATA gUnitArrayPurple, 0x202E36C +SET_DATA gMapSize, 0x202E4D4 +SET_DATA gMapUnit, 0x202E4D8 +SET_DATA gMapTerrain, 0x202E4DC +SET_DATA gMapMovement, 0x202E4E0 +SET_DATA gMapRange, 0x202E4E4 +SET_DATA gMapFog, 0x202E4E8 +SET_DATA gMapHidden, 0x202E4EC +SET_DATA gMapMovement2, 0x202E4F0 +SET_DATA gMapUnitPool, 0x202E4F4 +SET_DATA gMapTerrainPool, 0x202ECAC +SET_DATA gMapFogPool, 0x202F464 +SET_DATA gMapHiddenPool, 0x202FC1C +SET_DATA gMapMovement2Pool, 0x20303D4 +SET_DATA gTileConfigBuffer, 0x2030B8C +SET_DATA gMapRawTilesPool, 0x2032F8C +SET_DATA gUnitMoveBuffer, 0x2033EFC +SET_DATA gUnitSubject, 0x2033F3C +SET_DATA gSMSGfxIndexLookup, 0x2033F40 +SET_DATA gSMSGfxBuffer_Frame1, 0x2034010 +SET_DATA gSMSGfxBuffer_Frame2, 0x2036010 +SET_DATA gSMSGfxBuffer_Frame3, 0x2038010 +SET_DATA gSMS16xGfxIndexCounter, 0x203A010 +SET_DATA gSMS32xGfxIndexCounter, 0x203A014 +SET_DATA gSMSHandleArray, 0x203A018 +SET_DATA gSMSHandleIt, 0x203A4C8 +SET_DATA gSMSSyncFlag, 0x203A4CC +SET_DATA gMapSpriteSwitchHoverTimer, 0x203A4D0 +SET_DATA gBattleStats, 0x203A4D4 +SET_DATA gBattleActor, 0x203A4EC +SET_DATA gBattleTarget, 0x203A56C +SET_DATA gBattleHitArray, 0x203A5EC +SET_DATA gBattleHitIterator, 0x203A608 +SET_DATA gpTradeMenuProc, 0x203A610 +SET_DATA gTrapArray, 0x203A614 +SET_DATA gTrapArrayBack, 0x203A814 +SET_DATA gConvoyItemArray, 0x203A81C +SET_DATA gpSomeUnitPool, 0x203A8E4 +SET_DATA gpSomeUnitIt, 0x203A8E8 +SET_DATA gSomeUnitCounter, 0x203A8EC +SET_DATA gArenaData, 0x203A8F0 +SET_DATA gArenaOpponent, 0x203A910 +SET_DATA gActionData, 0x203A958 +SET_DATA gMovementArrowData, 0x203A990 +SET_DATA gAiData, 0x203AA04 +SET_DATA gFont_203DB64, 0x203DB64 +SET_DATA gNameSelectNameBoxText, 0x203DD1C +SET_DATA gHandCursorPosition, 0x203DDE0 +SET_DATA gPreviousHandCursorUpdateTime, 0x203DDE4 +SET_DATA gTargetPosition, 0x203DDE8 +SET_DATA gTargetArray, 0x203DDEC +SET_DATA gTargetArraySize, 0x203E0EC +SET_DATA gBoolBattleDeamonActive, 0x203E0F4 +SET_DATA gpEkrBattleDeamon, 0x203E0F8 +SET_DATA gStoredBattleAnimId21Ptr, 0x203E10C +SET_DATA gStoredBattleAnimId22Ptr, 0x203E10E +SET_DATA gSomeAllegienceIdShort, 0x203E116 +SET_DATA gBattleSpellAnimationId1, 0x203E118 +SET_DATA gBattleSpellAnimationId2, 0x203E11A +SET_DATA gSomethingRelatedToAnimAndDistance, 0x203E120 +SET_DATA gBattleAnimRoundTypeArrayMaybe, 0x203E12A +SET_DATA gRoundDamageValuesMaybe, 0x203E156 +SET_DATA gBattleAnimAnimationIndex, 0x203E182 +SET_DATA gpUnitLeft_BattleStruct, 0x203E188 +SET_DATA gpUnitRight_BattleStruct, 0x203E18C +SET_DATA gBattleCharacterIndices, 0x203E190 +SET_DATA gpExtraUnit1, 0x203E194 +SET_DATA gpExtraUnit2, 0x203E198 +SET_DATA gBattleAnimBoolLockSheetGraphicsMaybe, 0x203E1A4 +SET_DATA gBattleHpDisplayedValue, 0x203E1AC +SET_DATA gBoolBattleAnimIsArena, 0x203E1E4 +SET_DATA gMapAnimData, 0x203E1F0 +SET_DATA gSomeUnitId, 0x203E765 +SET_DATA gSomeTextRelatedStuff, 0x203E768 +SET_DATA gHelpTextOriginTile, 0x203E788 +SET_DATA gBWLDataArray, 0x203E884 +SET_DATA gBoolSramWorking, 0x203E88E +SET_DATA gpBWLSaveTarget, 0x203E890 +SET_DATA gBWLDataStorage, 0x203E894 +SET_DATA gChapterWinDataArray, 0x203ECF4 +SET_DATA gBonusContentFlags, 0x203EDB4 +SET_DATA gTrialMapData, 0x203EF44 +SET_DATA gSaveMenuRTextData, 0x203EF64 +SET_DATA gEventUnitDataBuffer, 0x203EFB8 +SET_DATA gRNState, 0x3000000 +SET_DATA gAestheticRandState, 0x3000008 +SET_DATA gSoftResetEnabled, 0x300000C +SET_DATA gBgSyncBits, 0x300000D +SET_DATA gPaletteSyncFlag, 0x300000E +SET_DATA gKeyStatusIgnore, 0x3000010 +SET_DATA gGameClock, 0x3000014 +SET_DATA gpOAMHiBuffer, 0x3000020 +SET_DATA gpOAMHiTarget, 0x3000024 +SET_DATA gpOAMHiSize, 0x300002A +SET_DATA gpOAMLoBuffer, 0x3000030 +SET_DATA gpOAMLoTarget, 0x3000034 +SET_DATA gpOAMLoSize, 0x300003A +SET_DATA gpMusicProcA, 0x3000040 +SET_DATA gpMusicProcB, 0x3000044 +SET_DATA gDialogueState, 0x3000048 +SET_DATA gDialogueText, 0x30000D0 +SET_DATA gDialogueTextChoiceResult, 0x30000E8 +SET_DATA gDialogueFont, 0x30000F0 +SET_DATA gApPool, 0x3000108 +SET_DATA gEvent1EData, 0x3000428 +SET_DATA gEventRangeDisplayUnit, 0x3000434 +SET_DATA gEventCallQueue, 0x3000438 +SET_DATA gEventSlot, 0x30004B8 +SET_DATA gEventSlotQP, 0x30004EC +SET_DATA gEventQueue, 0x30004F0 +SET_DATA gEventCounter, 0x3000568 +SET_DATA gEventCallStack, 0x3000570 +SET_DATA gpPopupUnit, 0x30005F0 +SET_DATA gPopupItem, 0x30005F4 +SET_DATA gPopupNumber, 0x30005F8 +SET_DATA gSomeUnitWordArray, 0x3000600 +SET_DATA gSomeUtilityTextHandle, 0x3000800 +SET_DATA gpCurrentInitMap, 0x3000808 +SET_DATA gMapMovementPool, 0x3000810 +SET_DATA gMapRangePool, 0x3000FC8 +SET_DATA gDungeonState, 0x30017A0 +SET_DATA gAiScriptEndedFlag, 0x30017C8 +SET_DATA gBoolIsAi2, 0x30017CC +SET_DATA gpAiScriptCurrent, 0x30017D0 +SET_DATA gpCurrentAiFunctionCall, 0x30017D4 +SET_DATA gpAiBattleWeightFactorTable, 0x30017D8 +SET_DATA gSioBaudRate, 0x30017E0 +SET_DATA gStr_3001850, 0x3001850 +SET_DATA gOverriddenMenuCommandList, 0x3001870 +SET_DATA gMoveUnitExtraDataArray, 0x3001900 +SET_DATA gUsedBuffersBitfield, 0x3001A30 +SET_DATA gExtraLongEventMoveBuffer, 0x3001A34 +SET_DATA gSummonedUnitDefinitionBuffer, 0x3001C38 +SET_DATA gActiveEventRegistry, 0x3001C80 +SET_DATA gOAMLoIt, 0x3003070 +SET_DATA gLCDIOBuffer, 0x3003080 +SET_DATA gIRQHandlers, 0x30030F0 +SET_DATA gpARM_FillMovementMapCore, 0x3003128 +SET_DATA gCurrentRotScaleIndex, 0x300312C +SET_DATA gpARM_PushToHiOAM, 0x3003130 +SET_DATA gpHBlankCallback, 0x3003134 +SET_DATA gSharedOAMBuffer, 0x3003140 +SET_DATA gpARM_Draw1DTileTextGlyphCore, 0x3003740 +SET_DATA gOAMHiIt, 0x3003744 +SET_DATA gpHBlankCallback2, 0x3003748 +SET_DATA gpARM_HuffmanTextDecomp, 0x3004150 +SET_DATA gpARM_PushToLoOAM, 0x3004154 +SET_DATA gSomeRotScaleOAMIt, 0x3004158 +SET_DATA gpARM_Func5, 0x3004960 +SET_DATA gOAMAllocIt, 0x3004970 +SET_DATA gpFaceProcs, 0x3004980 +SET_DATA gpSubjectMap, 0x30049A0 +SET_DATA gCurrentMovCostTable, 0x3004BB0 +SET_DATA gActiveUnit, 0x3004E50 +SET_DATA gMovementFillConfig, 0x3004E60 +SET_DATA gpAiDecisionMaker, 0x3004F10 +SET_DATA gBattleAnimCurrentAISIndex, 0x3004FAC +SET_DATA gGlobalEidData, 0x3005250 +SET_DATA gLocalEidData, 0x3005270 +SET_DATA gGMData, 0x3005280 +SET_DATA gGMapMonsterRnState, 0x300534E +SET_DATA gMusicPlayerInfo_3006440, 0x3006440 +SET_DATA gMusicPlayerInfo_3006650, 0x3006650 +SET_DATA ReadSramFast, 0x30067A0 +SET_DATA gpVerifySramFast, 0x30067A4 +SET_DATA gpM4aMainThing, 0x3007FF0 +SET_DATA gIrqCheckFlags, 0x3007FF8 +SET_DATA gpGlobalIRQHandler, 0x3007FFC +SET_DATA LCDControl, 0x4000000 +SET_DATA Undocumented_GreenSwap, 0x4000002 +SET_DATA GeneralLCDStatus_STAT_LYC_, 0x4000004 +SET_DATA VerticalCounter_LY_, 0x4000006 +SET_DATA BG0Control, 0x4000008 +SET_DATA BG1Control, 0x400000A +SET_DATA BG2Control, 0x400000C +SET_DATA BG3Control, 0x400000E +SET_DATA BG0X_Offset, 0x4000010 +SET_DATA BG0Y_Offset, 0x4000012 +SET_DATA BG1X_Offset, 0x4000014 +SET_DATA BG1Y_Offset, 0x4000016 +SET_DATA BG2X_Offset, 0x4000018 +SET_DATA BG2Y_Offset, 0x400001A +SET_DATA BG3X_Offset, 0x400001C +SET_DATA BG3Y_Offset, 0x400001E +SET_DATA BG2Rotation_ScalingParameterA_dx_, 0x4000020 +SET_DATA BG2Rotation_ScalingParameterB_dmx_, 0x4000022 +SET_DATA BG2Rotation_ScalingParameterC_dy_, 0x4000024 +SET_DATA BG2Rotation_ScalingParameterD_dmy_, 0x4000026 +SET_DATA BG2ReferencePointX_Coordinate, 0x4000028 +SET_DATA BG2ReferencePointY_Coordinate, 0x400002C +SET_DATA BG3Rotation_ScalingParameterA_dx_, 0x4000030 +SET_DATA BG3Rotation_ScalingParameterB_dmx_, 0x4000032 +SET_DATA BG3Rotation_ScalingParameterC_dy_, 0x4000034 +SET_DATA BG3Rotation_ScalingParameterD_dmy_, 0x4000036 +SET_DATA BG3ReferencePointX_Coordinate, 0x4000038 +SET_DATA BG3ReferencePointY_Coordinate, 0x400003C +SET_DATA Window0HorizontalDimensions, 0x4000040 +SET_DATA Window1HorizontalDimensions, 0x4000042 +SET_DATA Window0VerticalDimensions, 0x4000044 +SET_DATA Window1VerticalDimensions, 0x4000046 +SET_DATA InsideofWindow0and1, 0x4000048 +SET_DATA InsideofOBJWindow_OutsideofWindows, 0x400004A +SET_DATA MosaicSize, 0x400004C +SET_DATA ColorSpecialEffectsSelection, 0x4000050 +SET_DATA AlphaBlendingCoefficients, 0x4000052 +SET_DATA Brightness_Fade_In_Out_Coefficient, 0x4000054 +SET_DATA Channel1Sweepregister_NR10_, 0x4000060 +SET_DATA Channel1Duty_Length_Envelope_NR11_NR12_, 0x4000062 +SET_DATA Channel1Frequency_Control_NR13_NR14_, 0x4000064 +SET_DATA Channel2Duty_Length_Envelope_NR21_NR22_, 0x4000068 +SET_DATA Channel2Frequency_Control_NR23_NR24_, 0x400006C +SET_DATA Channel3Stop_WaveRAMselect_NR30_, 0x4000070 +SET_DATA Channel3Length_Volume_NR31_NR32_, 0x4000072 +SET_DATA Channel3Frequency_Control_NR33_NR34_, 0x4000074 +SET_DATA Channel4Length_Envelope_NR41_NR42_, 0x4000078 +SET_DATA Channel4Frequency_Control_NR43_NR44_, 0x400007C +SET_DATA ControlStereo_Volume_Enable_NR50_NR51_, 0x4000080 +SET_DATA ControlMixing_DMAControl, 0x4000082 +SET_DATA ControlSoundon_off_NR52_, 0x4000084 +SET_DATA SoundPWMControl, 0x4000088 +SET_DATA Channel3WavePatternRAM_2banks___, 0x4000090 +SET_DATA ChannelAFIFO_Data0_3, 0x40000A0 +SET_DATA ChannelBFIFO_Data0_3, 0x40000A4 +SET_DATA DMA0SourceAddress, 0x40000B0 +SET_DATA DMA0DestinationAddress, 0x40000B4 +SET_DATA DMA0WordCount, 0x40000B8 +SET_DATA DMA0Control, 0x40000BA +SET_DATA DMA1SourceAddress, 0x40000BC +SET_DATA DMA1DestinationAddress, 0x40000C0 +SET_DATA DMA1WordCount, 0x40000C4 +SET_DATA DMA1Control, 0x40000C6 +SET_DATA DMA2SourceAddress, 0x40000C8 +SET_DATA DMA2DestinationAddress, 0x40000CC +SET_DATA DMA2WordCount, 0x40000D0 +SET_DATA DMA2Control, 0x40000D2 +SET_DATA DMA3SourceAddress, 0x40000D4 +SET_DATA DMA3DestinationAddress, 0x40000D8 +SET_DATA DMA3WordCount, 0x40000DC +SET_DATA DMA3Control, 0x40000DE +SET_DATA Timer0Counter_Reload, 0x4000100 +SET_DATA Timer0Control, 0x4000102 +SET_DATA Timer1Counter_Reload, 0x4000104 +SET_DATA Timer1Control, 0x4000106 +SET_DATA Timer2Counter_Reload, 0x4000108 +SET_DATA Timer2Control, 0x400010A +SET_DATA Timer3Counter_Reload, 0x400010C +SET_DATA Timer3Control, 0x400010E +SET_DATA SIOData0_Parent__Multi_PlayerMode_, 0x4000120 +SET_DATA SIOData1_1stChild__Multi_PlayerMode_, 0x4000122 +SET_DATA SIOData2_2ndChild__Multi_PlayerMode_, 0x4000124 +SET_DATA SIOData3_3rdChild__Multi_PlayerMode_, 0x4000126 +SET_DATA SIOControlRegister, 0x4000128 +SET_DATA SIOData_Normal_8bitandUARTMode_, 0x400012A +SET_DATA KeyStatus, 0x4000130 +SET_DATA KeyInterruptControl, 0x4000132 +SET_DATA SIOModeSelect_GeneralPurposeData, 0x4000134 +SET_DATA SIOJOYBusControl, 0x4000140 +SET_DATA SIOJOYBusReceiveData, 0x4000150 +SET_DATA SIOJOYBusTransmitData, 0x4000154 +SET_DATA SIOJOYBusReceiveStatus, 0x4000158 +SET_DATA InterruptEnableRegister, 0x4000200 +SET_DATA InterruptRequestFlags_IRQAcknowledge, 0x4000202 +SET_DATA GamePakWaitstateControl, 0x4000204 +SET_DATA InterruptMasterEnableRegister, 0x4000208 +SET_DATA Undocumented_PostBootFlag, 0x4000300 +SET_DATA Undocumented_PowerDownControl, 0x4000301 +SET_DATA gSinLookup, 0x80D751C +SET_DATA gCosLookup, 0x80D759C +SET_DATA gHexNumbers, 0x80D779C +SET_DATA psZero, 0x80D77B0 +SET_DATA gpGenericMiniMugGraphics, 0x80D77BC +SET_DATA gpGenericMiniMugPalettes, 0x80D77DC +SET_DATA gpDialogueTextBoxGfx, 0x80D78EC +SET_DATA gMenuCommandEventDisableList, 0x80D793F +SET_DATA gMenuCommandEventGrayList, 0x80D794E +SET_DATA gRangeTextIdArray, 0x80D79E8 +SET_DATA gWRankTextIdArray, 0x80D7A10 +SET_DATA gWRankSpecialCharLookup, 0x80D7A30 +SET_DATA gWTypeTextIdArray, 0x80D7A38 +SET_DATA gTradeMenuText_xLookup, 0x80D7C40 +SET_DATA gTradeMenuText_yLookup, 0x80D7C42 +SET_DATA gNullString, 0x80D7CB8 +SET_DATA gTextSpeedLookup, 0x80D7F58 +SET_DATA gArenaWeaponByWType, 0x80D7F5C +SET_DATA gArenaWeaponUpgradeTable, 0x80D7F64 +SET_DATA gBattleForecastLabelStringIndexes, 0x80D7FB0 +SET_DATA gPrepScreenUnitJoinList, 0x80D8018 +SET_DATA gPhaseUnitMaxLookup, 0x80D80C4 +SET_DATA gAiEscapeMoveScriptTable, 0x80D80E8 +SET_DATA gAdjacentTileOffsetLookup, 0x80D80F4 +SET_DATA gAiCommandCallTable, 0x80D80FC +SET_DATA gAiSpecialItemsConfigPerChapter, 0x80D8538 +SET_DATA gPhaseUnitCountTable, 0x80D8680 +SET_DATA gStaffAiPerformTable, 0x80D868C +SET_DATA gStaffAiPerformTable_2, 0x80D8690 +SET_DATA gSpecialItemAiPerformTable, 0x80D86F4 +SET_DATA gObj_80D9D6E, 0x80D9D6E +SET_DATA gObj_80D9D76, 0x80D9D76 +SET_DATA gObj_80D9D7E, 0x80D9D7E +SET_DATA gObj_80D9D86, 0x80D9D86 +SET_DATA gObj_80D9D8E, 0x80D9D8E +SET_DATA gObj_80D9DA2, 0x80D9DA2 +SET_DATA gObj_80D9DC2, 0x80D9DC2 +SET_DATA gObj_80D9DD6, 0x80D9DD6 +SET_DATA gSioMenuProcLookup, 0x80D9EFC +SET_DATA gBgConfig_80D9FE4, 0x80D9FE4 +SET_DATA gObj_80DA2B0, 0x80DA2B0 +SET_DATA gBattleAnimRoundTypeLookup_2Miss, 0x80DAE96 +SET_DATA gBattleAnimRoundTypeLookup_2Crit, 0x80DAEA0 +SET_DATA gBattleAnimRoundTypeLookup_Miss, 0x80DAEAA +SET_DATA gBattleAnimRoundTypeLookup_NotMiss, 0x80DAEB4 +SET_DATA gBattleAnimRoundTypeLookup_2MissMagic, 0x80DAEBE +SET_DATA gBattleAnimRoundTypeLookup_2CritMagic, 0x80DAEC8 +SET_DATA gBattleAnimModeLookupMaybe, 0x80DAEF0 +SET_DATA gThunderAnimBgTsaScript, 0x80DCCA6 +SET_DATA gThunderAnimBgPalScript, 0x80DCCC0 +SET_DATA gAnimsOnLevelUpStatDisplayPositionLookup, 0x80E15CC +SET_DATA gTextHuffmanTreeStart, 0x815A72C +SET_DATA gBeforeTextTable, 0x815D488 +SET_DATA gTextTable, 0x815D48C +SET_DATA gStatScreenDrawCallTable, 0x8205B24 +SET_DATA gFaceConfig_8205C70, 0x8205C70 +SET_DATA gConvoyUseSaveLookup, 0x8205CA4 +SET_DATA gConvoyUseSaveLookup2, 0x8205CAC +SET_DATA gBgConfig_8205E50, 0x8205E50 +SET_DATA gCombatRankLookup, 0x8205F20 +SET_DATA gSurvivalRankLookup, 0x8205F24 +SET_DATA gSomeGmapUnitTable, 0x8205F7C +SET_DATA gWMLocationData, 0x82060B0 +SET_DATA gWMPathData, 0x8206674 +SET_DATA gSomeDefaultsByWMSpriteIndex, 0x8206868 +SET_DATA gTraineePromotionTable, 0x8207044 +SET_DATA gMPlayTable, 0x8224404 +SET_DATA gSongTable, 0x8224470 +SET_DATA gpKeyState, 0x858791C +SET_DATA gProc_KeyStatusSetter, 0x8587920 +SET_DATA gBGMapBufferTable, 0x8587938 +SET_DATA gBGControlBufferTable, 0x8587948 +SET_DATA gProc_SongVolumeTransitionA, 0x8587958 +SET_DATA gProc_SongVolumeTransitionB, 0x8587970 +SET_DATA gProc_PlaySongDelayed, 0x8587988 +SET_DATA gProc_8587998, 0x8587998 +SET_DATA gProcInstCallTable, 0x85879D8 +SET_DATA gGfxDebugTextScreenFont, 0x8587A40 +SET_DATA g2bppTo4bppExpandLookupTables, 0x8588240 +SET_DATA gProc_GreenTextColorAnimator, 0x8588284 +SET_DATA g2bppTo4bppColor0Lookup, 0x858829C +SET_DATA g2bppTo4bppColor1Lookup, 0x858849C +SET_DATA g2bppTo4bppColor2Lookup, 0x858869C +SET_DATA g2bppTo4bppColor3Lookup, 0x858889C +SET_DATA g2bppTo4bppColor4Lookup, 0x8588A9C +SET_DATA g2bppTo4bppPixelMaskLookup, 0x858949C +SET_DATA gUITextGlyphArray, 0x858C7EC +SET_DATA gOtherTextGlyphArray, 0x858F6F4 +SET_DATA gFontGlyphs_SpecialUiElements, 0x8590B44 +SET_DATA gObj_8x8, 0x8590F44 +SET_DATA gObj_16x16, 0x8590F4C +SET_DATA gObj_32x32, 0x8590F54 +SET_DATA gObj_16x32, 0x8590F6C +SET_DATA gObj_8590F7C, 0x8590F7C +SET_DATA gObj_8590F9C, 0x8590F9C +SET_DATA gProc_HiObjKeeper, 0x8590FDC +SET_DATA gDefaultFaceGfxData, 0x8590FEC +SET_DATA gFaceObj1, 0x859100C +SET_DATA gFaceObj2, 0x8591026 +SET_DATA gFaceObj3, 0x8591040 +SET_DATA gFaceObj4, 0x8591066 +SET_DATA gFaceObj5, 0x859108C +SET_DATA gFaceObj6, 0x85910BE +SET_DATA gFaceObj7, 0x85910F0 +SET_DATA gFaceObj8, 0x8591122 +SET_DATA gProc_Face, 0x8591154 +SET_DATA gProc_Face2, 0x859118C +SET_DATA gProc_859124C, 0x859124C +SET_DATA gProc_FaceEyeLogic, 0x8591264 +SET_DATA gpDialogueState, 0x859133C +SET_DATA gProc_DialogueSkipInputListener, 0x8591340 +SET_DATA gProc_DialogueMain, 0x8591358 +SET_DATA gProc_DialogueLock, 0x8591388 +SET_DATA gProc_85913B0, 0x85913B0 +SET_DATA gProc_DialoguePauseTimer, 0x85913D0 +SET_DATA gProc_TextBluArrowAndButtonChecker, 0x85913F0 +SET_DATA gProc_8591470, 0x8591470 +SET_DATA gTextChoiceDef_YesNo, 0x8591490 +SET_DATA gTextChoiceDef_Shop, 0x85914A0 +SET_DATA gProc_DialogueTextChoice, 0x85914B0 +SET_DATA gPoc_TextBoxSlideAnimation, 0x85914C8 +SET_DATA gProc_85914F0, 0x85914F0 +SET_DATA gTextPauseDurationLookup, 0x8591520 +SET_DATA gProc_DialogueBoxAppearingAnimation, 0x8591530 +SET_DATA gProc_859160C, 0x859160C +SET_DATA gProc_8591624, 0x8591624 +SET_DATA gProc_APProc, 0x859168C +SET_DATA gProc_GameControl, 0x85916D4 +SET_DATA gStringArticleLookup, 0x8591AA4 +SET_DATA gProc_MapEventEngine, 0x8591AC0 +SET_DATA gProc_BattleEventEngine, 0x8591AF8 +SET_DATA gLoEventCodeCallTable, 0x8591B28 +SET_DATA gHiEventCodeCallTable, 0x8591C98 +SET_DATA gProc_FaceWitness, 0x8591DE8 +SET_DATA gProc_ConvoBackgroundFade, 0x8591E58 +SET_DATA gProc_EventDisplayCursor, 0x8591F08 +SET_DATA gEvent_ForceSkipOffAndFadeOutDark, 0x8591F40 +SET_DATA gEvent_ForceSkipOffAndFadeInDark, 0x8591F64 +SET_DATA gEvent_ShowTextInSlot2, 0x8591F88 +SET_DATA gEvent_SomeTileChange, 0x8591F9C +SET_DATA gEvent_SomeTileChangeAndItemGive, 0x8591FA8 +SET_DATA gEvent_GotoPrepScreen, 0x8591FD8 +SET_DATA gEvent_8591FF0, 0x8591FF0 +SET_DATA gEvent_8592030, 0x8592030 +SET_DATA gEvent_8592058, 0x8592058 +SET_DATA gEvent_SuspendPrompt, 0x85920B8 +SET_DATA gEvent_ForceGameOver, 0x8592104 +SET_DATA gEvent_AfterEnd, 0x8592114 +SET_DATA gEvent_AfterEnd_Clean, 0x8592140 +SET_DATA gEvent_AfterEnd_CleanResetMap, 0x8592170 +SET_DATA gObj_85921AC, 0x85921AC +SET_DATA gProc_Popup, 0x85921C8 +SET_DATA gProc_PopupIconUpdater, 0x8592228 +SET_DATA gPopup_GotItem, 0x8592230 +SET_DATA gPopup_ItemWasPilfered, 0x8592288 +SET_DATA gProc_ItemGot, 0x85922D0 +SET_DATA gPopup_GotGold, 0x8592300 +SET_DATA gPopup_GoldWasStole, 0x8592348 +SET_DATA gPopup_StoleItem, 0x8592380 +SET_DATA gPopup_ItemWasStolen, 0x85923D8 +SET_DATA gPopup_8592420, 0x8592420 +SET_DATA gPopup_WRankIncrease, 0x8592468 +SET_DATA gPopup_YouCanNowUseUnit, 0x8592490 +SET_DATA gIconGraphics, 0x85926F4 +SET_DATA gIconPalettes, 0x85996F4 +SET_DATA gDecompressCallTable, 0x8599FB4 +SET_DATA gProc_MapPaletteBightnessFade, 0x8599FD4 +SET_DATA gProc_859A00C, 0x859A00C +SET_DATA gProc_FadeInBlack, 0x859A024 +SET_DATA gProc_FadeOutBlack, 0x859A044 +SET_DATA gProc_FadeInWhite, 0x859A064 +SET_DATA gProc_FadeOutWhite, 0x859A084 +SET_DATA gProc_859A0A4, 0x859A0A4 +SET_DATA gProc_Timer, 0x859A0D4 +SET_DATA gProc_PaletteAnimator, 0x859A0F8 +SET_DATA gProc_FutureCall2, 0x859A100 +SET_DATA gProc_FutureCall, 0x859A110 +SET_DATA gProc_MapMain, 0x859A1F0 +SET_DATA gObj_CursorFixed, 0x859A4A6 +SET_DATA gAnimatedCursorOAMLookup, 0x859A4C0 +SET_DATA gProc_CameraMovement, 0x859A548 +SET_DATA gStatusTextIndexLookup, 0x859A598 +SET_DATA gUnitLookup, 0x859A5D0 +SET_DATA gpTileTerrainConfig, 0x859A9D0 +SET_DATA gMapRawTiles, 0x859A9D4 +SET_DATA gProc_DebugMonitor, 0x859AA5C +SET_DATA gStringOnOffLookup, 0x859AA7C +SET_DATA gChapterIdOrderedList, 0x859AA9C +SET_DATA gProc_PlayerPhase, 0x859AAD8 +SET_DATA gProc_UnitSelect, 0x859ACE8 +SET_DATA gRangeDisplaySquareLookup, 0x859AD08 +SET_DATA gProc_MoveLimitViewChange, 0x859AD28 +SET_DATA gProc_MoveLimitView, 0x859AD50 +SET_DATA gProc_KOIDO, 0x859AD88 +SET_DATA gProc_KOIDOAMM, 0x859ADA0 +SET_DATA gProc_BMXFADE, 0x859ADC8 +SET_DATA gProc_ResetCursorPosition, 0x859AE00 +SET_DATA gProc_ADJUSTFROMXI, 0x859AE18 +SET_DATA gProc_SendItemToConvoy, 0x859AE38 +SET_DATA gProc_MenuItemPanel, 0x859AE88 +SET_DATA gProc_UnitSwapAnimation, 0x859AEA0 +SET_DATA gProc_859AEE8, 0x859AEE8 +SET_DATA gProc_PhaseSwitchGfxName, 0x859AEF8 +SET_DATA gProc_PhaseSwitchGfxSquares, 0x859AF40 +SET_DATA gProc_PhaseSwitchGfx_859AF60, 0x859AF60 +SET_DATA gProc_PhaseSwitchGfx, 0x859AF80 +SET_DATA gProc_GasTrapEffectGfxMaybe, 0x859AFC8 +SET_DATA gProc_MineFireEffectGfx, 0x859AFE8 +SET_DATA gProc_LightArrowTrapEffectGfx, 0x859B048 +SET_DATA gProc_BootlegPopup, 0x859B0C0 +SET_DATA gProc_ChapterIntroFxBgScroll, 0x859B0E0 +SET_DATA gProc_SomeKeyListener, 0x859B0F0 +SET_DATA gProc_859B108, 0x859B108 +SET_DATA gProc_859B160, 0x859B160 +SET_DATA gProc_859B180, 0x859B180 +SET_DATA gProc_859B198, 0x859B198 +SET_DATA gProc_ChapterIntroFx, 0x859B1B0 +SET_DATA gProc_GameOverBgScroll, 0x859B340 +SET_DATA gProc_GameOverBGEffect, 0x859B358 +SET_DATA gProc_859B3B0, 0x859B3B0 +SET_DATA gProc_859B3D0, 0x859B3D0 +SET_DATA gProc_859B3F0, 0x859B3F0 +SET_DATA gProc_859B410, 0x859B410 +SET_DATA gProc_859B4D0, 0x859B4D0 +SET_DATA gProc_WhiteCircularFade, 0x859B4F8 +SET_DATA gProc_859B510, 0x859B510 +SET_DATA gProc_859B528, 0x859B528 +SET_DATA gGfx_859B540, 0x859B540 +SET_DATA gProc_MineAnimSoundEffect, 0x859B560 +SET_DATA gProc_ChapterIntroTitleOnly, 0x859B578 +SET_DATA gProc_GoBackToUnitMenu, 0x859B600 +SET_DATA gProc_859B630, 0x859B630 +SET_DATA gpSMSGfxDecompBuffer, 0x859B668 +SET_DATA gSomeSMSLookupTable_859B66C, 0x859B66C +SET_DATA gSomeSMSLookupTable_859B67C, 0x859B67C +SET_DATA gObj_16x16_SemiTransparent, 0x859B976 +SET_DATA gObj_16x32_SemiTransparent, 0x859B97E +SET_DATA gObj_32x32_SemiTransparent, 0x859B986 +SET_DATA gObj_16x16_ObjWindow, 0x859B98E +SET_DATA gObj_16x32_ObjWindow, 0x859B996 +SET_DATA gObj_32x32_ObjWindow, 0x859B99E +SET_DATA gProc_WarpTargetPosSelection, 0x859B9B8 +SET_DATA gProc_TorchTargetPosSelection, 0x859BA38 +SET_DATA gWeaponTriangleRules, 0x859BA90 +SET_DATA gProc_BattleAnimSimpleLock, 0x859BAC4 +SET_DATA gTradeMenuItemDispPosLookup, 0x859BADC +SET_DATA gProc_TradeMenu_859BB04, 0x859BB04 +SET_DATA gProc_TradeMenu, 0x859BB1C +SET_DATA gProc_Trade_859BBD4, 0x859BBD4 +SET_DATA gProc_859BBF4, 0x859BBF4 +SET_DATA gProc_859BC3C, 0x859BC3C +SET_DATA gEvent_859BC64, 0x859BC64 +SET_DATA gEvent_859BCA8, 0x859BCA8 +SET_DATA gEvent_859BCF4, 0x859BCF4 +SET_DATA gEvent_859BD40, 0x859BD40 +SET_DATA gProc_859BDA0, 0x859BDA0 +SET_DATA gErasedDebugMenuCommands, 0x859BE40 +SET_DATA gChargeDebugMenuCommands, 0x859BF18 +SET_DATA gDebugStartupMenuCommands, 0x859BF84 +SET_DATA gSomeDebugMenuCommands, 0x859C038 +SET_DATA gMapDebugMenuCommands, 0x859C080 +SET_DATA gMenuCommands_StaffItemSelect, 0x859C764 +SET_DATA gMenuCommands_UnitMenu, 0x859CA34 +SET_DATA gMenuCommands_MapMenu, 0x859CE6C +SET_DATA gErasedDebugMenuDef, 0x859CFB0 +SET_DATA gChargeDebugMenuDef, 0x859CFD4 +SET_DATA gDebugStartupMenuDef, 0x859CFF8 +SET_DATA gSomeDebugMenuDef, 0x859D01C +SET_DATA gMenu_MapDebug, 0x859D040 +SET_DATA gMenu_859D0F4, 0x859D0F4 +SET_DATA gMenu_859D118, 0x859D118 +SET_DATA gMenuDef_859D13C, 0x859D13C +SET_DATA gMenuDef_StaffItemSelect, 0x859D160 +SET_DATA gMenu_ItemMenu, 0x859D184 +SET_DATA gMenu_UnitMenu, 0x859D1F0 +SET_DATA gMenu_MapMenu, 0x859D214 +SET_DATA gSelect_RestoreStaff, 0x859D278 +SET_DATA gSelect_RegularDance, 0x859D2B8 +SET_DATA gSelect_GenericStaff, 0x859D2F8 +SET_DATA gSelect_Steal, 0x859D318 +SET_DATA gSelect_Hammerne, 0x859D3B8 +SET_DATA gSelect_Trade, 0x859D3D8 +SET_DATA gSelect_Give, 0x859D418 +SET_DATA gSelect_Take, 0x859D438 +SET_DATA gSelect_Drop, 0x859D458 +SET_DATA gSelect_Rescue, 0x859D478 +SET_DATA gProc_VBlankHandler, 0x859D8B8 +SET_DATA gProc_MapTask, 0x859D908 +SET_DATA gProc_GameGfxUnblocker, 0x859D9E4 +SET_DATA gProc_SMSJumpAnimation, 0x859DA94 +SET_DATA gProc_Battle, 0x859DABC +SET_DATA gProc_Arena, 0x859DB24 +SET_DATA gpMovementArrowData, 0x859DBA0 +SET_DATA gProc_859DBA4, 0x859DBA4 +SET_DATA gProc_PrepScreen, 0x859DBBC +SET_DATA gProc_UnitInfoWindow, 0x859E13C +SET_DATA gProc_BottomHelpText, 0x859E1B8 +SET_DATA gProc_StatusClearFx_GfxScroll, 0x859E248 +SET_DATA gProc_StatusClearFx_BlendedSprite, 0x859E260 +SET_DATA gProc_StatusClearFx_BlendFade, 0x859E280 +SET_DATA gProc_StatusClearFx, 0x859E2D0 +SET_DATA gProc_TerrainHealLoop, 0x859E308 +SET_DATA gProc_PoisonDamageLoop, 0x859E368 +SET_DATA gProc_GorgonEggHatchLoop, 0x859E3D0 +SET_DATA gProc_StatusDepletionLoop, 0x859E438 +SET_DATA gProc_BkSel, 0x859E520 +SET_DATA gProc_FireTrapEffect, 0x859E5AC +SET_DATA gProc_MineTrapEffect, 0x859E5FC +SET_DATA gProc_859E64C, 0x859E64C +SET_DATA gGfxMiscUIGraphics, 0x859E8E0 +SET_DATA gPal_MiscUIGraphics, 0x859ED70 +SET_DATA gPal_MapSprite, 0x859EE20 +SET_DATA gPal_MapSprite2, 0x859EE40 +SET_DATA gPal_MapSprite3, 0x859EE60 +SET_DATA gPal_MapSpriteArena, 0x859EEA0 +SET_DATA gPal_NotMapSprite, 0x859EEC0 +SET_DATA gPal_MapSpriteSepia, 0x859EEE0 +SET_DATA gPal_UIFont, 0x859EF00 +SET_DATA gPal_DialogueFont, 0x859EF20 +SET_DATA gPal_HelpTextBox, 0x859EF60 +SET_DATA gPal_YellowTextBox, 0x859EF80 +SET_DATA gGreenTextColorArray, 0x859EFC0 +SET_DATA gGfx_PhaseSwitchFrame, 0x859F020 +SET_DATA gGfx_PlayerPhaseIntro, 0x859F3F8 +SET_DATA gPal_PlayerPhaseIntro, 0x859FA2C +SET_DATA gGfx_EnemyPhaseIntro, 0x859FA4C +SET_DATA gPal_EnemyPhaseIntro, 0x85A0068 +SET_DATA gGfx_OtherPhaseIntro, 0x85A0088 +SET_DATA gPal_OtherPhaseIntro, 0x85A0698 +SET_DATA gGfx_PhaseSwitchSquares, 0x85A06D8 +SET_DATA gTSA_BattleForecastStandard, 0x85A09A8 +SET_DATA gBattleForecast_x2x4Gfx, 0x85A0C80 +SET_DATA gBattleForecast_x2x4Pal, 0x85A0D2C +SET_DATA gAP_SelectCursorThing, 0x85A0EA0 +SET_DATA gGfxMineFireEffectGfx, 0x85A2940 +SET_DATA gPal_FireEffectGfx, 0x85A2DDC +SET_DATA gAP_MineFireEffectGfx, 0x85A2DFC +SET_DATA gPal_MineEffectGfx, 0x85A3490 +SET_DATA gImg_MineAnimGfx, 0x85A7CC0 +SET_DATA gAP_MineAnim, 0x85A7E34 +SET_DATA gPal_MineAnimGfx, 0x85A7EC8 +SET_DATA gPal_85A7EE8, 0x85A7EE8 +SET_DATA gProc_CpPhase, 0x85A7F08 +SET_DATA gProc_BerserkPhase, 0x85A7F30 +SET_DATA gpAIUnitPriorityBuffer, 0x85A7F58 +SET_DATA gProc_CpOrder, 0x85A7F5C +SET_DATA gProc_BerserkOrder, 0x85A7F74 +SET_DATA gCpOrderCallTable, 0x85A7F94 +SET_DATA gAiDecisionMakerCallTable, 0x85A7F9C +SET_DATA gProc_CpDecide, 0x85A7FCC +SET_DATA gProc_AiTargetCursor, 0x85A8004 +SET_DATA gProc_CpPerform, 0x85A8024 +SET_DATA gPopup_85A80A4, 0x85A80A4 +SET_DATA gSomeRangeTileOffsetLookup, 0x85A80BC +SET_DATA gTerrainList_LootableVillages, 0x85A8120 +SET_DATA gTerrainList_LootableVillagesAndChests, 0x85A8124 +SET_DATA gAiScript_FallbackAi1, 0x85A812C +SET_DATA gAiScript_FallbackAi2, 0x85A813C +SET_DATA gAiTableOfNullTables, 0x85A8150 +SET_DATA gRedMasterAiEscapeTable, 0x85A8188 +SET_DATA gGreenMasterAiEscapeTable, 0x85A828C +SET_DATA gAI3HealingThresholdTable, 0x85A8390 +SET_DATA gAiStealPriorityItemList, 0x85A83A4 +SET_DATA gAiScript_Ai2x00, 0x85A8410 +SET_DATA gAiScript_Ai2x12_85A8450, 0x85A8450 +SET_DATA gAiScript_Ai2x11_85A8480, 0x85A8480 +SET_DATA gAiScript_Ai2x04_85A8510, 0x85A8510 +SET_DATA gAiScript_EscapeMaybe, 0x85A8570 +SET_DATA gAiScript_ActionInRange, 0x85A8870 +SET_DATA gAiScript_ActionInRange_80Perc, 0x85A8890 +SET_DATA gAiScript_ActionInRange_50Perc, 0x85A88B0 +SET_DATA gAiScript_ActionStanding, 0x85A88D0 +SET_DATA gAiScript_ActionStanding_80Perc, 0x85A88F0 +SET_DATA gAiScript_ActionStanding_50Perc, 0x85A8910 +SET_DATA gAiScript_NoAi, 0x85A8930 +SET_DATA gAiScript_ActionInRange_ExceptNatasha, 0x85A8A04 +SET_DATA gAiScript_ActionInRange_ExceptOldCivilian, 0x85A8B40 +SET_DATA gAiScript_ActionInRange_ExceptNoOne, 0x85A8B80 +SET_DATA gAiScript_ActionInRange_PrioritizeNoOne, 0x85A8BA0 +SET_DATA gAiScript_ActionInRange2, 0x85A8BE0 +SET_DATA gAiScript_AttackSnags, 0x85A9060 +SET_DATA gAi2ScriptTable, 0x85A9138 +SET_DATA gAi1ScriptTable, 0x85A9184 +SET_DATA gpAI2Table, 0x85A91D8 +SET_DATA gpAi1Table, 0x85A91E4 +SET_DATA g3RangePosOffsetLookup, 0x85A9254 +SET_DATA gTerrainList_85A92B8, 0x85A92B8 +SET_DATA gTerrainList_85A92DC, 0x85A92DC +SET_DATA gProc_85A92E4, 0x85A92E4 +SET_DATA gProc_85A9304, 0x85A9304 +SET_DATA gProc_SioCon, 0x85A932C +SET_DATA gProc_SioVSync, 0x85A9354 +SET_DATA gProc_SioMain, 0x85A937C +SET_DATA gProc_85A93A0, 0x85A93A0 +SET_DATA gProc_Hold, 0x85A93B8 +SET_DATA gProc_85A94AC, 0x85A94AC +SET_DATA gProc_NameSelect, 0x85A9614 +SET_DATA gProc_SioPra, 0x85A979C +SET_DATA gFaceConfig_85A9864, 0x85A9864 +SET_DATA gProc_SioBat, 0x85A9888 +SET_DATA gProc_SioTerm, 0x85A9BA0 +SET_DATA gProc_SioResult, 0x85A9D38 +SET_DATA gFaceConfig_85A9E48, 0x85A9E48 +SET_DATA gFaceConfig_85A9E68, 0x85A9E68 +SET_DATA gProc_SioMenu, 0x85A9E88 +SET_DATA gEvent_SomeCalledWith3, 0x85A9F48 +SET_DATA gProc_LinkArenaPointsBoxLoader, 0x85AA06C +SET_DATA gProc_85AA1AC, 0x85AA1AC +SET_DATA gPopup_85AA1FC, 0x85AA1FC +SET_DATA gPopup_85AA21C, 0x85AA21C +SET_DATA gProc_85AA24C, 0x85AA24C +SET_DATA gProc_85AA26C, 0x85AA26C +SET_DATA gEvent_85AA2B4, 0x85AA2B4 +SET_DATA gEvent_85AA2D8, 0x85AA2D8 +SET_DATA gProc_85AA2FC, 0x85AA2FC +SET_DATA gProc_85AA4CC, 0x85AA4CC +SET_DATA gProc_85AA5BC, 0x85AA5BC +SET_DATA gProc_SioMain2, 0x85AA6BC +SET_DATA gProc_85AA75C, 0x85AA75C +SET_DATA gProc_SioWarp, 0x85AA86C +SET_DATA gProc_SioWarpFx, 0x85AA89C +SET_DATA gProc_85AA914, 0x85AA914 +SET_DATA gProc_85AA954, 0x85AA954 +SET_DATA gObj_85AA96C, 0x85AA96C +SET_DATA gProc_85AA980, 0x85AA980 +SET_DATA gProc_85AA9C0, 0x85AA9C0 +SET_DATA gObj_85AA9D8, 0x85AA9D8 +SET_DATA gObj_85AA9E6, 0x85AA9E6 +SET_DATA gObj_85AA9FA, 0x85AA9FA +SET_DATA gObj_85AAA0E, 0x85AAA0E +SET_DATA gObj_85AAA50, 0x85AAA50 +SET_DATA gObj_85AAA5E, 0x85AAA5E +SET_DATA gProc_85AAA78, 0x85AAA78 +SET_DATA gProc_85AAA90, 0x85AAA90 +SET_DATA gProc_85AAAC4, 0x85AAAC4 +SET_DATA gProc_85AAAE8, 0x85AAAE8 +SET_DATA gProc_85AAB00, 0x85AAB00 +SET_DATA gProc_85AAB18, 0x85AAB18 +SET_DATA gObj_85AAB30, 0x85AAB30 +SET_DATA gObj_85AAB38, 0x85AAB38 +SET_DATA gObj_85AAB40, 0x85AAB40 +SET_DATA gProc_85AAB48, 0x85AAB48 +SET_DATA gProc_85AAB68, 0x85AAB68 +SET_DATA gProc_85AABC8, 0x85AABC8 +SET_DATA gMenuCommands_85AABF0, 0x85AABF0 +SET_DATA gMenuCommands_85AAC5C, 0x85AAC5C +SET_DATA gMenu_85AADA0, 0x85AADA0 +SET_DATA gGfx_LinkArenaMenuOptionsText, 0x85AAE0C +SET_DATA gGfx_SioMenuUi, 0x85AB358 +SET_DATA gGfx_SioObjUi, 0x85ABD68 +SET_DATA gGfx_PointsBox, 0x85AD80C +SET_DATA gPal_SioMenuUi, 0x85ADBE8 +SET_DATA gPal_SioUi, 0x85ADC48 +SET_DATA gPal_85ADE68, 0x85ADE68 +SET_DATA gTSA_85AE190, 0x85AE190 +SET_DATA gGfx_PhaseSwitchLinkArenaPlayerPhase, 0x85AE7EC +SET_DATA gWindowFrameModelTSA, 0x85B6430 +SET_DATA gOldUIPalettePointers, 0x85B6440 +SET_DATA gNewUIPaletterPointers, 0x85B6450 +SET_DATA gOldUIGfxPointers, 0x85B6460 +SET_DATA gNewUIGfxPointers, 0x85B6470 +SET_DATA gObj_85B6490, 0x85B6490 +SET_DATA gHandCursorXOffsetLookup, 0x85B6498 +SET_DATA gProc_Menu_Idle, 0x85B64B8 +SET_DATA gProc_Menu, 0x85B64D0 +SET_DATA gProc_MenuCommandDummy, 0x85B6510 +SET_DATA gProc_Menu_HelpText, 0x85B6518 +SET_DATA gProc_Menu_HelpText2, 0x85B6530 +SET_DATA gProc_Menu_Idk, 0x85B6540 +SET_DATA gProc_TargetSelection, 0x85B655C +SET_DATA gProc_ekrBattleDeamon, 0x85B9358 +SET_DATA gProc_ekrBattle, 0x85B9378 +SET_DATA gProc_ekrLvlupFan, 0x85B93A0 +SET_DATA gProc_ekrGauge, 0x85B93B8 +SET_DATA gProc_ekrDispUP, 0x85B95EC +SET_DATA gProc_efxHPBar, 0x85B9604 +SET_DATA gProc_efxHPBarResire, 0x85B962C +SET_DATA gProc_efxAvoid, 0x85B9664 +SET_DATA gProc_efxHPBarLive, 0x85B968C +SET_DATA gProc_efxNoDamage, 0x85B96B4 +SET_DATA gProc_efxNoDamageYure, 0x85B96DC +SET_DATA gProc_efxStatusCHG, 0x85B96F4 +SET_DATA gProc_efxDeadEVTENT, 0x85B9724 +SET_DATA gProc_efxDead, 0x85B975C +SET_DATA gProc_efxDeadPika, 0x85B977C +SET_DATA gProc_efxDeadAlpha, 0x85B9794 +SET_DATA gProc_efxDeadDragonAlpha, 0x85B97AC +SET_DATA gProc_efxFarAttack, 0x85B97C4 +SET_DATA gProc_efxQuakePure, 0x85B97EC +SET_DATA gProc_efxQuake, 0x85B989C +SET_DATA gProc_efxHitQuake, 0x85B98B4 +SET_DATA gProc_efxFlashBG, 0x85B98CC +SET_DATA gProc_efxFlashHPBar, 0x85B9994 +SET_DATA gProc_efxHPBarColorChange, 0x85B99C4 +SET_DATA gProc_efxFlashUnit, 0x85B99E4 +SET_DATA gProc_efxFlashUnitEffect, 0x85B9A0C +SET_DATA gProc_efxStatusUnit, 0x85B9A34 +SET_DATA gProc_efxWeaponIcon, 0x85B9A5C +SET_DATA gProc_efxSpellCast, 0x85B9A84 +SET_DATA gProc_ekrBattleStarting, 0x85B9AD4 +SET_DATA gProc_ekrWindowAppear, 0x85B9D0C +SET_DATA gProc_ekrNamewinAppear, 0x85B9D24 +SET_DATA gProc_ekrBaseAppear, 0x85B9D44 +SET_DATA gAISFrames_DummyNoFrames, 0x85B9D5C +SET_DATA gProc_ekrChienCHR, 0x85B9D94 +SET_DATA gProc_ekrAnimeDrvProc, 0x85B9DAC +SET_DATA gProc_ekrUnitMainMini, 0x85B9DC4 +SET_DATA gProc_ekrTogiInitPROC, 0x85B9DDC +SET_DATA gProc_ekrTogiEndPROC, 0x85B9E0C +SET_DATA gProc_ekrTogiColor, 0x85B9E34 +SET_DATA gGfx_NODAMGEMIS, 0x85BA0B8 +SET_DATA gSpellAnimTable, 0x85D4E60 +SET_DATA gProc_efxMagicQUAKE, 0x85D5058 +SET_DATA gProc_efxDummymagic, 0x85D5070 +SET_DATA gProc_efxTeono, 0x85D5088 +SET_DATA gProc_efxTeonoOBJ, 0x85D50A0 +SET_DATA gProc_efxArrow, 0x85D50F8 +SET_DATA gProc_efxArrowOBJ, 0x85D5110 +SET_DATA gProc_efxTeyari, 0x85D5128 +SET_DATA gProc_efxSong, 0x85D5158 +SET_DATA gProc_efxDance, 0x85D5278 +SET_DATA gProc_efxShooter, 0x85D5290 +SET_DATA gProc_efxHurtmut, 0x85D52C0 +SET_DATA gProc_efxFirebreath, 0x85D52F0 +SET_DATA gProc_efxIcebreath, 0x85D5358 +SET_DATA gProc_efxDarkbreath, 0x85D5390 +SET_DATA gProc_efxThunder, 0x85D5428 +SET_DATA gProc_efxThunderBG, 0x85D5440 +SET_DATA gThunderAnimBgTsaLookupClose, 0x85D5458 +SET_DATA gThunderAnimBgTsaLookupFar, 0x85D5460 +SET_DATA gProc_efxThunderBGCOL, 0x85D5468 +SET_DATA gProc_efxThunderOBJ, 0x85D5488 +SET_DATA gProc_efxFire, 0x85D54A0 +SET_DATA gProc_efxFireBG, 0x85D54B8 +SET_DATA gProc_efxFireHITBG, 0x85D5548 +SET_DATA gProc_efxElfireBG, 0x85D5608 +SET_DATA gProc_efxElfireBGCOL, 0x85D5620 +SET_DATA gProc_efxElfireOBJ, 0x85D5640 +SET_DATA gProc_efxFimbulvetr, 0x85D5658 +SET_DATA gProc_efxThunderstorm, 0x85D5770 +SET_DATA gProc_efxAlacalibur, 0x85D5880 +SET_DATA gProc_efxMistyrain, 0x85D58F0 +SET_DATA gProc_efxResire, 0x85D5AE0 +SET_DATA gProc_efxLightning, 0x85D5CF0 +SET_DATA gProc_efxPurge, 0x85D5EAC +SET_DATA gProc_efxDevine, 0x85D62FC +SET_DATA gProc_efxDevineBG, 0x85D6314 +SET_DATA gProc_efxFenrir, 0x85D6644 +SET_DATA gProc_efxLive, 0x85D68BC +SET_DATA gProc_efxRelive, 0x85D68D4 +SET_DATA gProc_efxRecover, 0x85D68EC +SET_DATA gProc_efxReblow, 0x85D6904 +SET_DATA gProc_efxReserve, 0x85D69CC +SET_DATA gProc_efxRest, 0x85D6A68 +SET_DATA gProc_efxRestBG, 0x85D6A80 +SET_DATA gProc_efxSilence, 0x85D6B20 +SET_DATA gProc_efxSleep, 0x85D6BB8 +SET_DATA gProc_efxHammarne, 0x85D6CB0 +SET_DATA gProc_efxBerserk, 0x85D6D68 +SET_DATA gProc_efxMshield, 0x85D6E70 +SET_DATA gProc_efxShine, 0x85D6EF4 +SET_DATA gProc_efxLuna, 0x85D6FCC +SET_DATA gProc_efxExcalibur, 0x85D71F8 +SET_DATA gProc_efxOura, 0x85D7490 +SET_DATA gProc_efxDancepara, 0x85D7670 +SET_DATA gProc_efxIvaldi, 0x85D7688 +SET_DATA gProc_efxIvaldiBG1, 0x85D76A0 +SET_DATA gProc_efxIvaldiBG2, 0x85D76E8 +SET_DATA gProc_efxIvaldiBG3, 0x85D7714 +SET_DATA gProc_efxIvaldiBG4, 0x85D77B0 +SET_DATA gProc_efxIvaldiOBJFall, 0x85D77CC +SET_DATA gProc_efxIvaldiOBJSideWash, 0x85D77E4 +SET_DATA gProc_efxIvaldiOBJUprise, 0x85D77FC +SET_DATA gProc_efxIvaldiOBJ1, 0x85D7814 +SET_DATA gProc_efxIvaldiWOUT, 0x85D7844 +SET_DATA gProc_efxStone, 0x85D7E20 +SET_DATA gProc_efxEvilEye, 0x85D7F00 +SET_DATA gProc_efxNaglfar, 0x85D80B0 +SET_DATA gProc_efxNaglfarBG, 0x85D80C8 +SET_DATA gProc_efxNaglfarBG2, 0x85D80E8 +SET_DATA gProc_efxNaglfarBG3, 0x85D81C0 +SET_DATA gProc_efxNaglfarBG4, 0x85D81F8 +SET_DATA gProc_efxNaglfarOBJ, 0x85D8238 +SET_DATA gProc_efxNaglfarOBJ2, 0x85D8250 +SET_DATA gProc_efxNaglfarOBJRockGyre, 0x85D8268 +SET_DATA gProc_efxNaglfarBlack, 0x85D8280 +SET_DATA gProc_efxDarkGrado, 0x85D8318 +SET_DATA gProc_efxCrimsonEye, 0x85D8764 +SET_DATA gProc_efxDarkLongMons, 0x85D89A0 +SET_DATA gProc_efxGorgon, 0x85D8B0C +SET_DATA gProc_efxDamageMojiEffect, 0x85D8D44 +SET_DATA gProc_efxDamageMojiEffectOBJ, 0x85D8D5C +SET_DATA gProc_efxCriticalEffect, 0x85D8D74 +SET_DATA gProc_efxCriticalEffectBG, 0x85D8D8C +SET_DATA gProc_efxCriticalEffectBGCOL, 0x85D8DA4 +SET_DATA gProc_efxNormalEffect, 0x85D8DC4 +SET_DATA gProc_efxNormalEffectBG, 0x85D8DDC +SET_DATA gProc_efxPierceCriticalEffect, 0x85D8E1C +SET_DATA gProc_efxSpecalEffect, 0x85D90DC +SET_DATA gProc_efxMantBatabata, 0x85D9284 +SET_DATA gProc_efxChillEffect, 0x85D92A4 +SET_DATA gProc_efxChillEffectBG, 0x85D92BC +SET_DATA gProc_efxChillEffectBGCOL, 0x85D92E0 +SET_DATA gProc_efxChillAnime, 0x85D9300 +SET_DATA gProc_efxSkillType01BG, 0x85D9318 +SET_DATA gProc_efxSkillCommonBG, 0x85D93F0 +SET_DATA gOpeningSpellAnimationStartLookup, 0x85D9430 +SET_DATA gProc_efxOpFire, 0x85D9454 +SET_DATA gProc_efxOpFireBG, 0x85D947C +SET_DATA gProc_efxOpFireOBJ, 0x85D94C4 +SET_DATA gProc_efxOpThunder, 0x85D94DC +SET_DATA gProc_efxOpThunderBG, 0x85D9504 +SET_DATA gProc_efxOpThunderBGCOL, 0x85D9524 +SET_DATA gProc_efxOpThunderOBJ, 0x85D9544 +SET_DATA gGfx_ThunderAnimBg, 0x85F2DC0 +SET_DATA gThunderAnimBgPalArray, 0x85F367C +SET_DATA gGfxIvaldiParticles, 0x86926E0 +SET_DATA gPalIvaldiParticles, 0x8692B10 +SET_DATA gGfxIvaldiFastRay, 0x86937C0 +SET_DATA gPalIvaldiFastRay, 0x86945C4 +SET_DATA gGfxIvaldiBigSpark, 0x8695B10 +SET_DATA gPalIvaldiBigSpark, 0x8696840 +SET_DATA gProc_ekrsubAnimeEmulator, 0x8758A30 +SET_DATA gProc_efxSoundSE, 0x8758A48 +SET_DATA gBossSongList, 0x8758A60 +SET_DATA gProc_ekrClasschg, 0x8758FC0 +SET_DATA gProc_ekrLevelup, 0x875932C +SET_DATA gProc_ekrTriangle, 0x87595A4 +SET_DATA gProc_ekrPegasusKnight, 0x87595BC +SET_DATA gProc_ekrPegasusKnightBG, 0x87595D4 +SET_DATA gPopupIconOAMData, 0x878D500 +SET_DATA gAnimScr_PopupIcon, 0x878D518 +SET_DATA gProc_ekrPopup, 0x878D520 +SET_DATA gProc_ekrPopup2, 0x878D588 +SET_DATA gProc_ekrHenseiInitPROC, 0x878D5F0 +SET_DATA gProc_ekrHenseiEndPROC, 0x878D620 +SET_DATA gProc_ekrDragonBodyAnime, 0x87F43D4 +SET_DATA gProc_efxSelfThunderBG, 0x8801880 +SET_DATA gGfx_ExpBar, 0x88030C4 +SET_DATA gGfx_LevelUpBoxFrame, 0x88035B0 +SET_DATA gMap_LevelUpBoxFrame, 0x88039E8 +SET_DATA gPal_LevelUpBoxFrame, 0x8803B10 +SET_DATA gGfx_BattlePopup, 0x8803B30 +SET_DATA gGfx_BattlePopupTextBg, 0x8803BD0 +SET_DATA gPal_BattlePopup, 0x8803CB0 +SET_DATA gTsa_BattlePopup, 0x8803CD0 +SET_DATA gCharacterData, 0x8803D30 +SET_DATA gCharacterData_1Indexed, 0x8803D64 +SET_DATA gClassData, 0x8807110 +SET_DATA gItemData, 0x8809B10 +SET_DATA gSomeMovCostTable, 0x880BB96 +SET_DATA gBallistaMovCostTable, 0x880BC18 +SET_DATA gTerrainHealAmountTable, 0x880C744 +SET_DATA gTerrainNameTextIdTable, 0x880D374 +SET_DATA gPortraitData, 0x88ACBC4 +SET_DATA gSlayerEffectivenessTable, 0x88ADF39 +SET_DATA gStandingMapSpriteData, 0x88AF880 +SET_DATA gSpellAssocData, 0x88AFBD8 +SET_DATA gSupportBonusData, 0x88B05F8 +SET_DATA gChapterDataTable, 0x88B0890 +SET_DATA gChapterAssetTable, 0x88B363C +SET_DATA gChapterWMEventLookup, 0x88B39EC +SET_DATA gChapterWMIntroEventLookup, 0x88B3AD8 +SET_DATA gRandomMonsterClassGroupTable, 0x88D2060 +SET_DATA gConvoBackgroundData, 0x895DD1C +SET_DATA gPromotionTable, 0x895DFA4 +SET_DATA gSummonCharIdConfig_maybe, 0x895F5A4 +SET_DATA gProc_MoveUnitStep, 0x89A2938 +SET_DATA gDirectionMoveOffsetLookup, 0x89A2988 +SET_DATA gMoveUnitStateCallTable, 0x89A2C28 +SET_DATA gProc_MoveUnit, 0x89A2C48 +SET_DATA gWalkSpeedLookup, 0x89A2C78 +SET_DATA gProc_MoveUnitDeathBlend, 0x89A2C80 +SET_DATA gProc_89A2CF8, 0x89A2CF8 +SET_DATA gProc_MuCtr, 0x89A2DB0 +SET_DATA gMovingMapSpriteData, 0x89A2E00 +SET_DATA gProc_89A3288, 0x89A3288 +SET_DATA gProc_MapAnimSteal, 0x89A32C8 +SET_DATA gProc_MapAnimSummon, 0x89A3398 +SET_DATA gProc_MapAnimSummonDK, 0x89A33C0 +SET_DATA gProc_MapAnimDance, 0x89A34B0 +SET_DATA gProc_MapAnimBattle, 0x89A3508 +SET_DATA gProc_MapAnimEnd, 0x89A35B0 +SET_DATA gProc_MapAnimBattleInfoBox, 0x89A3688 +SET_DATA gProc_MapAnim_ExpBar, 0x89A36F8 +SET_DATA gProc_MapAnimBattleWithMapEvents, 0x89A3874 +SET_DATA gProc_WallBreakAnim, 0x89A3924 +SET_DATA gProc_PoisonEffect, 0x89A3944 +SET_DATA gProc_MapAnimEffectAnimation, 0x89A3BA4 +SET_DATA gProc_89A3BDC, 0x89A3BDC +SET_DATA gProc_89A3C24, 0x89A3C24 +SET_DATA gProc_UnlockEffect, 0x89A3E6C +SET_DATA gMapAnimLevelUpStatLabelLocationTable, 0x89A3ED4 +SET_DATA gProc_89A3F4C, 0x89A3F4C +SET_DATA gProc_89A3F5C, 0x89A3F5C +SET_DATA gProc_MapAnimLevelUp, 0x89A3F74 +SET_DATA gProc_15FrameBG0Shaker, 0x89A4064 +SET_DATA gProc_SomeStarRotationEffect, 0x89A407C +SET_DATA gProc_SomeNiceSpecialEffects, 0x89A434C +SET_DATA gProc_SummonGfx, 0x89A46AC +SET_DATA gProc_MapAnimDefaultRound, 0x89A4764 +SET_DATA gProc_ItemAnimUnlockStaff, 0x89A4C3C +SET_DATA gProc_ItemAnimWarpRescue, 0x89A5214 +SET_DATA gAp_LevelUpTextSmall, 0x89A5A6C +SET_DATA gAp_PoisonEffectAnim, 0x89A6F40 +SET_DATA gGfxMISSAnim, 0x89AC0A4 +SET_DATA gAPMISSAnim, 0x89AC194 +SET_DATA gGfx_LevelUpTextSmall, 0x89AC794 +SET_DATA gPal_LevelUpTextSmall, 0x89AC9A8 +SET_DATA gGfxPoisonEffectAnim, 0x89ADEB0 +SET_DATA gPalPoisonEffectAnim, 0x89AE204 +SET_DATA gGfx_SomeWarpEffect, 0x89AE224 +SET_DATA gPal_SomeWarpEffect, 0x89AE484 +SET_DATA gGfxSpark, 0x89AE7A4 +SET_DATA gPalSpark, 0x89AE7C4 +SET_DATA gGfxDialogueTextBubble, 0x89E8238 +SET_DATA gPalDialogueTextBubble, 0x89E84D4 +SET_DATA gEventCheckTable, 0x89E84F4 +SET_DATA gEventIdMaskLookup, 0x89E857C +SET_DATA gBattleQuoteTable, 0x89EC6BC +SET_DATA gDeathQuoteTable, 0x89ECD4C +SET_DATA gForceDeployTable, 0x89ED64C +SET_DATA gProc_GameOver, 0x89EDF78 +SET_DATA gEvent_CallIfTutorial, 0x89EE0C0 +SET_DATA gEvent_CallIfHard, 0x89EE0DC +SET_DATA gEvent_CallIfChapter, 0x89EE104 +SET_DATA gEvent_CallIfMode, 0x89EE120 +SET_DATA gEvent_CallMatchMode, 0x89EE140 +SET_DATA gEvent_SetEidIfPostgame, 0x89EE184 +SET_DATA gEvent_CancelEventIfNotCharacter, 0x89EE19C +SET_DATA gEvent_CancelEventIfNotFaction, 0x89EE1B8 +SET_DATA gEvent_CancelEvent, 0x89EE1D4 +SET_DATA gEvent_LoadUnits, 0x89EE1E8 +SET_DATA gEvent_LoadUnitsMatchDifficulty, 0x89EE218 +SET_DATA gEvent_LoadUnitsIfHard, 0x89EE248 +SET_DATA gEvent_LoadReinforcements, 0x89EE274 +SET_DATA gEvent_LoadReinforcementsIfHard, 0x89EE29C +SET_DATA gEvent_ConvoClearBackground, 0x89EE2C4 +SET_DATA gEvent_ConvoShowBackground, 0x89EE2E8 +SET_DATA gEvent_ConvoShowTextWithBg, 0x89EE310 +SET_DATA gEvent_TileChangeAtActiveUnit, 0x89EE330 +SET_DATA gEvent_TileChangeIfBlue, 0x89EE340 +SET_DATA gEvent_TileChangeIfRed, 0x89EE354 +SET_DATA gEvent_TileChangeIfGreen, 0x89EE368 +SET_DATA gEvent_TileChangeIfFaction, 0x89EE37C +SET_DATA gEvent_DisplayFlashingCursors, 0x89EE39C +SET_DATA gEvent_MoveOntoLeader, 0x89EE3BC +SET_DATA gEvent_MoveToLeader, 0x89EE3F4 +SET_DATA gEvent_SetInParty, 0x89EE4A0 +SET_DATA gEvent_WarpIn, 0x89EE4F8 +SET_DATA gEvent_WarpOut, 0x89EE51C +SET_DATA gEvent_BlinkWarpIn, 0x89EE53C +SET_DATA gEvent_BlinkWarpOut, 0x89EE578 +SET_DATA gEvent_SetInParty2, 0x89EE5BC +SET_DATA gEvent_TryGiveHiddenItem, 0x89EE61C +SET_DATA gEvent_89EE67C, 0x89EE67C +SET_DATA gEvent_89EE6F4, 0x89EE6F4 +SET_DATA gEvent_89EE794, 0x89EE794 +SET_DATA gEvent_89EE828, 0x89EE828 +SET_DATA gEvent_89EE84C, 0x89EE84C +SET_DATA gObj_89EE99C, 0x89EE99C +SET_DATA gProc_89EE9E0, 0x89EE9E0 +SET_DATA gEvent_ChPrologueBeginning, 0x89EEBE8 +SET_DATA gMenuCommands_RouteSplit, 0x89F3634 +SET_DATA gMenu_RouteSplit, 0x89F36A0 +SET_DATA gEvent_Valni1Beginning, 0x89FDB68 +SET_DATA gEvent_Valni1Ending, 0x89FDBE4 +SET_DATA gEvents_SkirmishCommonBeginning, 0x89FFC30 +SET_DATA gEvent_SkirmishCommonEnd, 0x89FFD64 +SET_DATA gEvent_8A00308, 0x8A00308 +SET_DATA gEvent_8A0035C, 0x8A0035C +SET_DATA gEvent_8A00364, 0x8A00364 +SET_DATA gEvent_8A0036C, 0x8A0036C +SET_DATA gEvent_EirikaModeGameEnd, 0x8A0037C +SET_DATA gEvent_EphraimModeGameEnd, 0x8A0048C +SET_DATA gEvent_8A00544, 0x8A00544 +SET_DATA gEvent_8A005B4, 0x8A005B4 +SET_DATA gEvent_8A0062C, 0x8A0062C +SET_DATA gEvent_8A00680, 0x8A00680 +SET_DATA gProc_BG3HSlide, 0x8A006E4 +SET_DATA gProc_StatScreenVPositionHandler, 0x8A009C8 +SET_DATA gProc_StatScreen, 0x8A009D8 +SET_DATA gProc_8A00A98, 0x8A00A98 +SET_DATA gProc_HelpTextBubble, 0x8A00AD0 +SET_DATA gProc_8A00B20, 0x8A00B20 +SET_DATA gStatScreenPage0HelpText, 0x8A00BC4 +SET_DATA gStatScreenPage1HelpText, 0x8A00DA0 +SET_DATA gStatScreenPage2HelpText, 0x8A00F44 +SET_DATA gChapterTitleGfxTable, 0x8A01208 +SET_DATA gProc_8A01628, 0x8A01628 +SET_DATA gProc_8A01650, 0x8A01650 +SET_DATA gProc_BoxDialogue, 0x8A016E0 +SET_DATA gProc_8A01740, 0x8A01740 +SET_DATA gProc_BoxDialogueInterpreter, 0x8A01760 +SET_DATA gProc_8A01800, 0x8A01800 +SET_DATA gProc_8A01818, 0x8A01818 +SET_DATA gProc_TI, 0x8A018AC +SET_DATA gProc_UI1, 0x8A0190C +SET_DATA gProc_UI2, 0x8A01994 +SET_DATA gProc_SideWindowMaker, 0x8A019C4 +SET_DATA gProc_PI, 0x8A019E4 +SET_DATA gProc_ChapterStatusScreen, 0x8A01B54 +SET_DATA gProc_8A01C04, 0x8A01C04 +SET_DATA gProc_8A01DBC, 0x8A01DBC +SET_DATA gGfx_HelpTextBox, 0x8A0285C +SET_DATA gGfx_HelpTextBox2, 0x8A02884 +SET_DATA gGfx_HelpTextBox3, 0x8A028AC +SET_DATA gGfx_HelpTextBox4, 0x8A02914 +SET_DATA gGfx_HelpTextBox5, 0x8A02980 +SET_DATA gGfx_YellowTextBox, 0x8A029A8 +SET_DATA gGfx_YellowTextBox2, 0x8A02A1C +SET_DATA gGfx_YellowTextBox3, 0x8A02A94 +SET_DATA gGfx_YellowTextBox4, 0x8A02B3C +SET_DATA gGfx_YellowTextBox5, 0x8A02BAC +SET_DATA gGfxRangeDisplaySquare, 0x8A02EB4 +SET_DATA gPalBlueRangeSquare, 0x8A02F34 +SET_DATA gPalRedRangeSquare, 0x8A02F94 +SET_DATA gPalGreenRangeSquare, 0x8A02FF4 +SET_DATA gGfx_MovementArrow, 0x8A03054 +SET_DATA gPal_MovementArrow, 0x8A0328C +SET_DATA gGfx_StatusClearFx, 0x8A032AC +SET_DATA gPal_StatusClearFx, 0x8A03334 +SET_DATA gTsa_StatusClearFx, 0x8A03354 +SET_DATA gGfx_StatusText, 0x8A16DEC +SET_DATA gProc_bmenu, 0x8A177A0 +SET_DATA gProc_bmenu2, 0x8A178C0 +SET_DATA gBgConfig_8A181E8, 0x8A181E8 +SET_DATA gPrepScreenMenuItemHelpTextIdLookup, 0x8A18200 +SET_DATA gProc_UpdatePrepScreenMenuHelp, 0x8A1826C +SET_DATA gProc_AtMenu, 0x8A1829C +SET_DATA gProc_PrepScreenTraineePromotion, 0x8A184F4 +SET_DATA gProc_8A186B4, 0x8A186B4 +SET_DATA gProc_PrepScreenMenuDummyItem, 0x8A186DC +SET_DATA gProc_PrepScreenMenu, 0x8A186EC +SET_DATA gProc_MenuScroll, 0x8A18808 +SET_DATA gPrepScreenShopItemList, 0x8A188E4 +SET_DATA gProc_PrepScreenItemsMenu, 0x8A189A4 +SET_DATA gProc_PrepScreenPickUnitsMenu, 0x8A18E8C +SET_DATA gProc_PrepScreenItemUseScreen, 0x8A19064 +SET_DATA gProc_StatScreenItemStatBoosterEffect, 0x8A191A4 +SET_DATA gSomeTextIndexLookup, 0x8A191F4 +SET_DATA gpStringBufferAlt, 0x8A19200 +SET_DATA gShopSellTextIndexLookup, 0x8A1951C +SET_DATA gpShopSellStringBuffer, 0x8A19524 +SET_DATA gProc_PrepScreenSupportMenu, 0x8A1962C +SET_DATA gProc_8A1975C, 0x8A1975C +SET_DATA gProc_8A19880, 0x8A19880 +SET_DATA gGfxPrepMenuInputHelp, 0x8A199C8 +SET_DATA gGfx_ConvoyTopWIcons, 0x8A1A0A4 +SET_DATA gGfx_ConvoyBottomWIcons, 0x8A1A23C +SET_DATA gPal_ConvoyWIcons, 0x8A1A3FC +SET_DATA gGfx_SmolBrownNameBox, 0x8A1B0D8 +SET_DATA gPal_SmolBrownNameBox, 0x8A1B154 +SET_DATA gpSaveDataStart, 0x8A1FAF4 +SET_DATA gpDummyChapterDataSRAM, 0x8A1FB30 +SET_DATA gpDummyChapterData, 0x8A1FB34 +SET_DATA gProc_MaybeMapView, 0x8A1FB38 +SET_DATA gBgConfig_8A20050, 0x8A20050 +SET_DATA gProc_8A20098, 0x8A20098 +SET_DATA gProc_SaveMenu, 0x8A200B8 +SET_DATA gProc_SaveMenu2, 0x8A203A8 +SET_DATA gProc_8A204BC, 0x8A204BC +SET_DATA gProc_SaveDraw, 0x8A206A8 +SET_DATA gProc_SaveDrawCursor, 0x8A206D8 +SET_DATA gProc_8A206F8, 0x8A206F8 +SET_DATA gProc_SqMask, 0x8A2073C +SET_DATA gProc_SaveBgUp, 0x8A2075C +SET_DATA gObj_8A2077C, 0x8A2077C +SET_DATA gObj_8A20796, 0x8A20796 +SET_DATA gObj_8A207B0, 0x8A207B0 +SET_DATA gObj_8A207C4, 0x8A207C4 +SET_DATA gObj_8A207DE, 0x8A207DE +SET_DATA gObj_8A207F2, 0x8A207F2 +SET_DATA gObj_8A20800, 0x8A20800 +SET_DATA gObj_8A2080E, 0x8A2080E +SET_DATA gObj_8A20828, 0x8A20828 +SET_DATA gObj_8A20842, 0x8A20842 +SET_DATA gObj_8A2084A, 0x8A2084A +SET_DATA gObj_8A20864, 0x8A20864 +SET_DATA gObj_8A2087E, 0x8A2087E +SET_DATA gObj_8A20898, 0x8A20898 +SET_DATA gObj_8A208B2, 0x8A208B2 +SET_DATA gObj_8A208CC, 0x8A208CC +SET_DATA gObj_8A208E6, 0x8A208E6 +SET_DATA gObj_8A208EE, 0x8A208EE +SET_DATA gObj_8A20902, 0x8A20902 +SET_DATA gObj_8A20916, 0x8A20916 +SET_DATA gObj_8A2092A, 0x8A2092A +SET_DATA gObj_8A20950, 0x8A20950 +SET_DATA gObj_8A20976, 0x8A20976 +SET_DATA gProc_NewGameDiffilcultySelect, 0x8A20A10 +SET_DATA gObj_8A20A98, 0x8A20A98 +SET_DATA gObj_8A20AA0, 0x8A20AA0 +SET_DATA gObj_8A20AAE, 0x8A20AAE +SET_DATA gObj_8A20AC2, 0x8A20AC2 +SET_DATA gObj_8A20AD0, 0x8A20AD0 +SET_DATA gObj_8A20AE4, 0x8A20AE4 +SET_DATA gObj_8A20AF2, 0x8A20AF2 +SET_DATA gProc_8A20B1C, 0x8A20B1C +SET_DATA gObj_8A20B3C, 0x8A20B3C +SET_DATA gObj_8A20B44, 0x8A20B44 +SET_DATA gProc_8A20B4C, 0x8A20B4C +SET_DATA gObj_8A20B7C, 0x8A20B7C +SET_DATA gObj_8A20B8A, 0x8A20B8A +SET_DATA gProc_8A20B94, 0x8A20B94 +SET_DATA gProc_8A20BB4, 0x8A20BB4 +SET_DATA gProc_8A20BD4, 0x8A20BD4 +SET_DATA gProc_ParallelWorker, 0x8A20C04 +SET_DATA gProc_PrepScreenHandCursor, 0x8A20C1C +SET_DATA gProc_8A20C4C, 0x8A20C4C +SET_DATA gObj_8A20C64, 0x8A20C64 +SET_DATA gObj_8A20C9C, 0x8A20C9C +SET_DATA gObj_8A20CD4, 0x8A20CD4 +SET_DATA gObj_8A20D0C, 0x8A20D0C +SET_DATA gObj_8A20D44, 0x8A20D44 +SET_DATA gObj_8A20D58, 0x8A20D58 +SET_DATA gProc_SmallBrownNameBoxes, 0x8A20D6C +SET_DATA gProc_8A20D8C, 0x8A20D8C +SET_DATA gProc_FadeIn, 0x8A20DA4 +SET_DATA gProc_FadeOut, 0x8A20DCC +SET_DATA gProc_8A20DFC, 0x8A20DFC +SET_DATA gProc_8A20E24, 0x8A20E24 +SET_DATA gProc_8A20E44, 0x8A20E44 +SET_DATA gSoundRoomTable, 0x8A20E74 +SET_DATA gProc_8A212E4, 0x8A212E4 +SET_DATA gProc_8A21308, 0x8A21308 +SET_DATA gProc_8A21338, 0x8A21338 +SET_DATA gObj_8A21440, 0x8A21440 +SET_DATA gObj_8A2144E, 0x8A2144E +SET_DATA gObj_8A2145C, 0x8A2145C +SET_DATA gObj_8A2146A, 0x8A2146A +SET_DATA gObj_8A2148A, 0x8A2148A +SET_DATA gObj_8A2149E, 0x8A2149E +SET_DATA gObj_8A214A6, 0x8A214A6 +SET_DATA gObj_8A214AE, 0x8A214AE +SET_DATA gObj_8A214B6, 0x8A214B6 +SET_DATA gObj_8A214BE, 0x8A214BE +SET_DATA gObj_8A214C6, 0x8A214C6 +SET_DATA gObj_8A214CE, 0x8A214CE +SET_DATA gObj_8A214D6, 0x8A214D6 +SET_DATA gObj_8A214DE, 0x8A214DE +SET_DATA gObj_8A214E6, 0x8A214E6 +SET_DATA gObj_8A214EE, 0x8A214EE +SET_DATA gObj_8A214F6, 0x8A214F6 +SET_DATA gObj_8A214FE, 0x8A214FE +SET_DATA gProc_8A21530, 0x8A21530 +SET_DATA gBgConfig_8A21550, 0x8A21550 +SET_DATA gProc_8A21568, 0x8A21568 +SET_DATA gpBonusClaimData, 0x8A21590 +SET_DATA gpBonusClaimDataUpdated, 0x8A21594 +SET_DATA gpBonusClaimItemList, 0x8A21598 +SET_DATA gpBonusClaimItemCount, 0x8A2159C +SET_DATA gProc_ClaimBonusItemMenu, 0x8A215A8 +SET_DATA gGfx_SomeBlueBg_8A21658, 0x8A21658 +SET_DATA gPal_SomeBlueBg_8A25DCC, 0x8A25DCC +SET_DATA gTsa_SomeBlueBg_8A25ECC, 0x8A25ECC +SET_DATA gAp_8A280A8, 0x8A280A8 +SET_DATA gProc_CfExplReWrite, 0x8A2EC88 +SET_DATA gProc_CfObj, 0x8A2ECA8 +SET_DATA gProc_Config1, 0x8A2ECE0 +SET_DATA gProc_Config2, 0x8A2ED88 +SET_DATA gProc_Config3, 0x8A2EE00 +SET_DATA gProc_ColFadeOut, 0x8A2EE90 +SET_DATA gProc_ColFadeIn, 0x8A2EEC0 +SET_DATA gProc_OpInfo, 0x8A2EEF0 +SET_DATA gGfx_ClassReelGlyphs, 0x8A36338 +SET_DATA gPal_ClassReelGlyphs, 0x8A372C0 +SET_DATA gShopPortraitIndexTable, 0x8A3918C +SET_DATA gProc_Shop, 0x8A39210 +SET_DATA gProc_ArenaThing, 0x8A394DC +SET_DATA gProc_8A3963C, 0x8A3963C +SET_DATA gWMEvents_LordSplit, 0x8A3C860 +SET_DATA gOverallRankWeightLookup, 0x8A3CB04 +SET_DATA gOverallRankLookup, 0x8A3CB1E +SET_DATA gProc_8A3D498, 0x8A3D498 +SET_DATA gProc_8A3D6E0, 0x8A3D6E0 +SET_DATA gProc_8A3D700, 0x8A3D700 +SET_DATA gWMFaceGfxData, 0x8A3D728 +SET_DATA gProc_WorldMap, 0x8A3D748 +SET_DATA gProc_WorldMapWrapper, 0x8A3DD50 +SET_DATA gProc_GmapScreenVSync, 0x8A3DDF4 +SET_DATA gProc_GmapScreen, 0x8A3DE84 +SET_DATA gProc_GmapUnit, 0x8A3DECC +SET_DATA gProc_GmapUnitContainer, 0x8A3DEFC +SET_DATA gProc_GmapUnitFade, 0x8A3DF2C +SET_DATA gProc_GmapScreen2, 0x8A3DF64 +SET_DATA gProc_GmapCursor, 0x8A3DF94 +SET_DATA gProc_GmapRoute, 0x8A3DFC4 +SET_DATA gProc_GMapMUPrim, 0x8A3E248 +SET_DATA gProc_GMapMU, 0x8A3E2C0 +SET_DATA gProc_WMapPI, 0x8A3E464 +SET_DATA gProc_WMapMoveCursor, 0x8A3E4F4 +SET_DATA gProc_WMapScrollManage, 0x8A3E52C +SET_DATA gProc_WMapPalFade, 0x8A3E55C +SET_DATA gProc_WMapBaseEntry, 0x8A3E594 +SET_DATA gProc_GmapMuEntry, 0x8A3E624 +SET_DATA gProc_GmapTmConfront, 0x8A3E6E4 +SET_DATA gProc_GmapEffectPa, 0x8A3EA00 +SET_DATA gProc_GmapEffect, 0x8A3EA38 +SET_DATA gProc_GmapSogu, 0x8A3EA70 +SET_DATA gProc_GmapTimeMons, 0x8A3EAA8 +SET_DATA gProc_GmapRMUpdate, 0x8A3EAF0 +SET_DATA gProc_GmapRMUpdate2, 0x8A3EB10 +SET_DATA gProc_GmapRM, 0x8A3EB50 +SET_DATA gProc_8A3EE44, 0x8A3EE44 +SET_DATA gProc_GmapBaseMenu, 0x8A3EEEC +SET_DATA gPal_GMapImage, 0x8A95FE4 +SET_DATA gGfx_GMObj1, 0x8A96308 +SET_DATA gGfx_GMObj2, 0x8A97410 +SET_DATA gPal_GMObj, 0x8A97A40 +SET_DATA gAp_8A97AEC, 0x8A97AEC +SET_DATA gProc_Credits, 0x8AA2084 +SET_DATA gBgConfig_8AA213C, 0x8AA213C +SET_DATA gProc_8AA2154, 0x8AA2154 +SET_DATA gProc_8AA2184, 0x8AA2184 +SET_DATA gProc_8AA21BC, 0x8AA21BC +SET_DATA gProc_8AA6A50, 0x8AA6A50 +SET_DATA gProc_IntroSequence, 0x8AA71C8 +SET_DATA gProc_PreIntroSequence, 0x8AA7680 +SET_DATA gGfx_TitleScreen, 0x8AA7760 +SET_DATA gPal_TitleScreen, 0x8AAB3F4 +SET_DATA gGfxBarIntro, 0x8AF1AE8 +SET_DATA gPalBarIntro, 0x8AF1B18 +SET_DATA gGfxNintyIntSysPresentsIntroText, 0x8AF1B38 +SET_DATA gPalNintyIntSysPresentsIntroText, 0x8AF1FB0 +SET_DATA gGfxEphraimEirikaIntroText, 0x8AF1FD0 +SET_DATA gPalEphraimEirikaIntroText, 0x8AF2634 +SET_DATA gGfxBubblesIntro, 0x8AF2654 +SET_DATA gPalBubblesIntro, 0x8AF310C +SET_DATA gGfxHSWarning, 0x8B11D0C +SET_DATA gProc_PromotionMain, 0x8B12614 +SET_DATA gProc_PromotionInit, 0x8B126CC +SET_DATA gProc_PromotionDisplay, 0x8B1271C +SET_DATA gProc_ccramifyEnd, 0x8B127EC +SET_DATA gProc_ccramifyEvent, 0x8B1280C +SET_DATA gMenuCommands_Promotion, 0x8B12954 +SET_DATA gMenu_Promotion, 0x8B129E4 +SET_DATA gProc_PromotionMenuSelect, 0x8B12A08 +SET_DATA gMenuGeometry_Promotion, 0x8B12A60 +SET_DATA gProc_8B12A64, 0x8B12A64 +SET_DATA gProc_Guide, 0x8B12C64 +SET_DATA gProc_Guide2, 0x8B12D1C +SET_DATA gGfx_ChapterIntroBackground, 0x8B12DB4 +SET_DATA gPal_ChapterIntroBackground, 0x8B1754C +SET_DATA gGfx_8B17B64, 0x8B17B64 +SET_DATA gPal_8B18ED4, 0x8B18ED4 +SET_DATA gBattleAnimationData, 0x8C00008 diff --git a/EngineHacks/FourthAllegiance/FE-CLib/utility/put-lyn-here.txt b/EngineHacks/FourthAllegiance/FE-CLib/utility/put-lyn-here.txt new file mode 100644 index 000000000..258f198ab --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/utility/put-lyn-here.txt @@ -0,0 +1 @@ +https://github.com/StanHash/lyn/releases diff --git a/EngineHacks/FourthAllegiance/FE-CLib/utility/update-reference-object.sh b/EngineHacks/FourthAllegiance/FE-CLib/utility/update-reference-object.sh new file mode 100644 index 000000000..dc1f7547b --- /dev/null +++ b/EngineHacks/FourthAllegiance/FE-CLib/utility/update-reference-object.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env sh + +# This script is what I use to update the entirety of CHAX from an old fe8u.s to a new one. +# It bad, but it work +# -Stan + +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +# Ensuring the files we want to compare exist +if [ ! -f $1 ]; then + echo "err, $1 does not exist" + exit 1 +fi + +if [ ! -f $2 ]; then + echo "err, $2 does not exist" + exit 1 +fi + +update_script_file=$(mktemp) + +# Making the update script +$(dirname $0)/lyn diff $1 $2 | awk '$1 ~ /^>/ { printf "sed -i s^\\\\b%s\\\\b^%s^g $1\n", $2, $3 }' > $update_script_file + +# Applying changes +find -type f -name "*.h" -exec sh $update_script_file '{}' \; +find -type f -name "*.c" -exec sh $update_script_file '{}' \; +find -type f -name "*.s" -exec sh $update_script_file '{}' \; + +# Removing temp script +rm -f $update_script_file diff --git a/EngineHacks/FourthAllegiance/FourthAllegiance.c b/EngineHacks/FourthAllegiance/FourthAllegiance.c new file mode 100644 index 000000000..525a60289 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FourthAllegiance.c @@ -0,0 +1,54 @@ +#include "FE-CLib\include\gbafe.h" + +s8 AreAllegiancesAllied(int factionA, int factionB) { + factionA &= 0xFF; factionB &= 0xFF; + if (factionA == factionB) return TRUE; // if same units, then they're obviously allied + factionA = (factionA >> 6); + factionB = (factionB >> 6); + if ((GetChapterDefinition(gChapterData.chapterIndex)->factionRelations) >> (factionA * 4 + factionB) & 1) return TRUE; else return FALSE; +} + +void SwitchGameplayPhase() { + switch(gChapterData.currentPhase) { + case FACTION_BLUE: + gChapterData.currentPhase = FACTION_RED; + break; + case FACTION_RED: + gChapterData.currentPhase = FACTION_GREEN; + break; + case FACTION_GREEN: + gChapterData.currentPhase = FACTION_PURPLE; + break; + case FACTION_PURPLE: + gChapterData.currentPhase = FACTION_BLUE; + if(gChapterData.turnNumber < 999) gChapterData.turnNumber++; + ProcessSupportGains(); + break; + } +} + +int GetCurrentMapMusicIndex() { + int PlayerPhaseMusicIndex, EnemyPhaseMusicIndex, OtherPhaseMusicIndex, NeutralPhaseMusicIndex; + if(CheckEventId(4)) PlayerPhaseMusicIndex = 6; else PlayerPhaseMusicIndex = 0; + if(CheckEventId(4)) EnemyPhaseMusicIndex = 7; else EnemyPhaseMusicIndex = 1; + if(CheckEventId(4)) OtherPhaseMusicIndex = 5; else OtherPhaseMusicIndex = 2; + if(CheckEventId(4)) NeutralPhaseMusicIndex = 4; else NeutralPhaseMusicIndex = 3; + switch(gChapterData.currentPhase) { + case FACTION_RED: + return GetChapterDefinition(gChapterData.chapterIndex)->mapSongIndices[EnemyPhaseMusicIndex]; + case FACTION_GREEN: + return GetChapterDefinition(gChapterData.chapterIndex)->mapSongIndices[OtherPhaseMusicIndex]; + case FACTION_PURPLE: + return GetChapterDefinition(gChapterData.chapterIndex)->mapSongIndices[NeutralPhaseMusicIndex]; + case FACTION_BLUE: + if(CheckEventId(4)) // Victory Music doesn't play if flag 4 is on? + return GetChapterDefinition(gChapterData.chapterIndex)->mapSongIndices[PlayerPhaseMusicIndex]; + else { // Should normal player phase music be played or victory music? + if(GetBattleMapType() == 2 || GetChapterDefinition(gChapterData.chapterIndex)->victorySongEnemyThreshold != 0) { + if (CountUnitInFactionWithoutAttributes(FACTION_RED, US_UNAVAILABLE) < GetChapterDefinition(gChapterData.chapterIndex)->victorySongEnemyThreshold || CountUnitInFactionWithoutAttributes(FACTION_RED, US_UNAVAILABLE) == 0) return 0x10; + + } + return GetChapterDefinition(gChapterData.chapterIndex)->mapSongIndices[PlayerPhaseMusicIndex]; + } + } +} \ No newline at end of file diff --git a/EngineHacks/FourthAllegiance/FourthAllegiance.event b/EngineHacks/FourthAllegiance/FourthAllegiance.event new file mode 100644 index 000000000..747ab5c15 --- /dev/null +++ b/EngineHacks/FourthAllegiance/FourthAllegiance.event @@ -0,0 +1,30 @@ +PUSH +ORG $1538c +SHORT $4778 $46C0 +WORD $E59FC000 $E12FFF1C +POIN SwitchGameplayPhase +POP +PUSH +ORG $15fc8 +SHORT $4778 $46C0 +WORD $E59FC000 $E12FFF1C +POIN GetCurrentMapMusicIndex +POP +PUSH +ORG $24d8c +SHORT $4778 $46C0 +WORD $E59FC000 $E12FFF1C +POIN AreAllegiancesAllied +POP +PUSH +ORG (CURRENTOFFSET+$1); AreAllegiancesAllied: +ORG (CURRENTOFFSET+$38); SwitchGameplayPhase: +ORG (CURRENTOFFSET+$50); GetCurrentMapMusicIndex: +POP +SHORT $B570 $25FF $4028 $0004 $400D $2001 $42AC $D00C $4B07 $7B98 $4B07 $F000 $F8BD $11A4 $8CC0 $00A4 $11AD $1964 $4120 $2301 $4018 $BC70 $BC02 $4708 +BYTE $F0 $BC $02 $02 $19 $46 $03 $08 +SHORT $B510 $4B10 $7BDA $2A40 $D01A $D804 $2A00 $D012 $BC10 $BC01 $4700 $2A80 $D010 $2AC0 $D1F8 $2200 $4909 $73DA $8A1A $428A $D801 $3201 $821A $4B07 $F000 $F894 $E7EC $2280 $73DA $E7E9 $2240 $E7FB $22C0 $E7F9 +BYTE $F0 $BC $02 $02 $E6 $03 $00 $00 $35 $84 $02 $08 +SHORT $B5F7 $4F3C $2004 $F000 $F883 $1E43 $4198 $2406 $4240 $4004 $2004 $F000 $F87B $2607 $2800 $D100 $3E06 $2004 $F000 $F874 $2305 $9300 $2800 $D101 $3B03 $9300 $2004 $F000 $F86B $0003 $1E58 $4183 $4D2D $9301 $7BEB $2B40 $D019 $D804 $2B00 $D020 $BCFE $BC02 $4708 $2B80 $D008 $2BC0 $D1F8 $4B27 $7BA8 $F000 $F853 $9B01 $330B $E00E $7BA8 $4B23 $F000 $F84C $3608 $0076 $1986 $88F0 $E7E8 $4B1F $7BA8 $F000 $F843 $9B00 $3308 $005B $18C3 $88D8 $E7DE $2004 $F000 $F83C $4E18 $2800 $D007 $7BA8 $F000 $F835 $3408 $0064 $1900 $88C0 $E7D0 $4B14 $F000 $F82C $2802 $D115 $4912 $2080 $4F12 $F000 $F827 $9000 $7BA8 $F000 $F822 $3086 $7803 $9A00 $429A $DB05 $490B $2080 $F000 $F81A $2800 $D1DE $2010 $E7B5 $7BA8 $F000 $F812 $3086 $7803 $2B00 $D1E2 $E7D4 +BYTE $A9 $3D $08 $08 $F0 $BC $02 $02 $19 $46 $03 $08 $69 $D0 $0B $08 $0C $00 $01 $00 $51 $4D $02 $08 +SHORT $4718 $4730 $4738 $46C0 diff --git a/EngineHacks/FourthAllegiance/lyn.exe b/EngineHacks/FourthAllegiance/lyn.exe new file mode 100644 index 0000000000000000000000000000000000000000..41644f4f9bce7185745bfeff6a2b77786b691293 GIT binary patch literal 2406700 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�PYS-B&-#}7AdM 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

-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

glAKsLy^-=s08>*?4I?Iu*2se1SxPY8 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

H9*U~r?(*aGDOV36cOb;=dEXc9CgISg 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

m9{BwNe;<;fn<#AaH}xnsyZDdIazutipT> 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%0DD}~Pvz6AK& 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

DWsQq#uu@@s*gJ_w> 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ǮenKpx+sI3EP$%GXoKp8)c7M)g@hF0z%$ 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 z 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%0A-HiA^lzEPa6*Zzotrb=@JJ{*T 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 SHORT $2800 diff --git a/EngineHacks/Necessary/CalcLoops/TurnLoop/StartOfTurn_CalcLoop.s b/EngineHacks/Necessary/CalcLoops/TurnLoop/StartOfTurn_CalcLoop.s index dd38863a9..2067af1cb 100644 --- a/EngineHacks/Necessary/CalcLoops/TurnLoop/StartOfTurn_CalcLoop.s +++ b/EngineHacks/Necessary/CalcLoops/TurnLoop/StartOfTurn_CalcLoop.s @@ -114,8 +114,13 @@ beq EndOfNPC cmp r0, #0x40 beq EndOfEnemy cmp r0, #0x80 +beq EndOfFourth +cmp r0, #0xC0 beq EndOfPlayer +EndOfFourth: +mov r0, #0xC0 @ fourth +b CheckIfPhaseExists EndOfNPC: mov r0, #0x40 @ npc b CheckIfPhaseExists diff --git a/EngineHacks/Necessary/ExpandedModularSave/ExModularSave.event b/EngineHacks/Necessary/ExpandedModularSave/ExModularSave.event index 29a9b629e..01674bfe0 100644 --- a/EngineHacks/Necessary/ExpandedModularSave/ExModularSave.event +++ b/EngineHacks/Necessary/ExpandedModularSave/ExModularSave.event @@ -73,7 +73,6 @@ gSaveBlockTypeSizeLookup: #define EMS_CHUNK_EIDS_PERMANENT 6 #define EMS_CHUNK_BONUSCLAIMDATA 7 #define EMS_CHUNK_WMDATA 8 -#define EMS_CHUNK_ARENAUNITS 9 // =========== // = MODULES = @@ -84,13 +83,13 @@ gSaveBlockTypeSizeLookup: #include "SrcModules/Debuffs.lyn.event" // Debuffs module +/* #ifdef USE_STRMAG_SPLIT #ifdef STAIRS_ASM MESSAGE EMS with strmag and Stair #include "SrcModules/SaveUnitExpandedStrmagStairs.lyn.event" // Str/Mag and Stairs both require saving shenanigans. #else - MESSAGE EMS with strmag and Stair at currentOffset - #include "SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event" // Only Str/Mag split. + #include "SrcModules/SaveUnitExpandedStrmag.lyn.event" // Only Str/Mag split. #endif // STAIRS_ASM #else #ifdef STAIRS_ASM @@ -99,6 +98,9 @@ gSaveBlockTypeSizeLookup: #include "SrcModules/SaveUnitExpanded.lyn.event" // Regular. #endif // STAIRS_ASM #endif // USE_STRMAG_SPLIT +*/ +MESSAGE EMS with strmag and Stair In +#include "SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event" //Fatigue EMS DebuffTablePointer: // required for debuffs module WORD DebuffTableRam @@ -199,14 +201,22 @@ gSuspendSaveChunks: // Save Debuffs (TODO: maybe reduce size) DeclSaveChunk($2494, DebuffTableSize, SUD_SaveDebuffs, SUD_LoadDebuffs) + // Save 15 purple units (15 * 0x3C = $0384) + DeclSaveChunk($2514, $0384, ESU_SavePurpleSuspendUnits, ESU_LoadPurpleSuspendUnits) + + //2514 + // Save Debuffs (TODO: maybe reduce size) //$440 + DeclSaveChunk($2898, DebuffTableSize, SUD_SaveDebuffs, SUD_LoadDebuffs) + //Save Arena progress DeclSaveChunk($2CE0, $60, ESU_SaveArenaProgress, ESU_LoadArenaProgress) + //2898 // Permanent eids (moved here because of a mistake in the previous allocation) - DeclSaveChunk($2DA8, $0019, $0A3150+1, $0A3198+1) - - // ends at $2DC1 - // free up to $2E78 ($B7 free bytes) + DeclSaveChunk($2E54, $0019, $0A3150+1, $0A3198+1) + //2cD8 + // ends at $2E6D + // free up to $2E78 ($0b free bytes) DeclSaveChunk(0, 0, 0, MSu_LoadClaimFlagsFromParentSave) // Load Bonus Claim flags from parent save diff --git a/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event b/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event index 33153709a..ee142af50 100644 --- a/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event +++ b/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.lyn.event @@ -8,6 +8,8 @@ ORG CURRENTOFFSET+$48;ESU_SaveGreenSuspendUnits: ORG CURRENTOFFSET+$48;ESU_LoadGreenSuspendUnits: ORG CURRENTOFFSET+$48;ESU_SaveRedSuspendUnits: ORG CURRENTOFFSET+$48;ESU_LoadRedSuspendUnits: +ORG CURRENTOFFSET+$48;ESU_SavePurpleSuspendUnits: +ORG CURRENTOFFSET+$48;ESU_LoadPurpleSuspendUnits: POP WORD $4B34B407 $F0001C08 $BC07F8DB $B530E004 $2A00680A $7912D0F4 $684A7002 $D0002A00 $70427912 $70827C8A $70C27D0A $5CCA233A $7D4A7102 $7D8A7142 $7DCA7182 $7E0A71C2 $7E4A7202 $7E8A7242 $7F4A7282 $243F72C2 $40227C0A $40237C4B $431A019B $7A0B241F $31B4023 $7A4B431A $431A045B $C128182 $230F7382 $2428181B $25071864 $555A5D62 $DAFB3D01 $181B2317 $18642432 $5D622506 $3D01555A $231EDAFB $5ACA2504 $330252C2 $DAFA3D01 $628268CA $343B1C0C $352C1C05 $702A7822 $343B1C0C $352D1C05 $702A7822 $34471C0C $352E1C05 $702A7822 $BC02BC30 $4708 $80177F5 $1C04B530 $4B391C0D $F0007828 $6020F86D $78684B37 $F868F000 $78AA6060 $78EA74A2 $792A7522 $54E2233A $7562796A $75A279AA $75E279EA $76227A2A $76627A6A $76A27AAA $77627AEA $233F68EA $2B3F4013 $23FFD100 $9927423 $4013233F $D1002B3F $746323FF $231F0992 $72234013 $237F0952 $2B7F4013 $23FFD100 $20287263 $210F1900 $23071949 $54C25CCA $DAFB3B01 $19002032 $19492117 $5CCA2306 $3B0154C2 $211EDAFB $5A6A2304 $31025262 $DAFA3B01 $60E26AAA $343B352C $7022782A $3C3B3D2C $343B352D $7022782A $3C3B3D2D $3447352E $7022782A $3C473D2E $1C204B08 $F808F000 $1C014B07 $F0001C20 $1C20F803 $BC08BC30 $4718 $8019465 $8019445 $8019191 $8019369 $1C0CB510 $FF19F7FF $1812222C $70117CE1 $70517EE1 $70917F21 $5C612130 $213170D1 $71115C61 $5C612139 $49057151 $5C617809 $49047191 $5C617809 $BC1071D1 $4708BC02 POIN CharacterStructStairByte @@ -21,4 +23,4 @@ POIN CharacterStructFatigueByte WORD $1C0CB510 $FF06F7FF $1912222C $74C17811 $76C17851 $77017891 $78D12330 $233154C1 $54C17911 $181B2340 $70997951 $71197991 $70D979D1 $71597A11 $72817A51 $80198951 $781B4B05 $54C17B11 $781B4B04 $54C17B51 $BC02BC10 $4708 POIN CharacterStructStairByte POIN CharacterStructFatigueByte -WORD $B08CB570 $1C081C04 $DF062130 $25011C06 $1C284B0B $FF42F7FF $D00C2800 $46681C01 $FE63F7FF $1C214B07 $F7FF2230 $3430FF37 $3E013501 $B00CDCEC $BC01BC70 $4700 $8019431 $80D184D $B08CB570 $1C081C04 $DF062130 $25011C06 $681B4B0B $46691C20 $F7FF2230 $4B09FF1B $F7FF1C28 $2800FF17 $4669D006 $FE9EF7FF $35013430 $DCEB3E01 $BC70B00C $4700BC01 $30067A0 $8019431 $B08DB570 $1C081C04 $DF062134 $25011C06 $1C284B0B $FEFAF7FF $D00C2800 $46681C01 $FEFEF7FF $1C214B07 $F7FF2234 $3434FEEF $3E013501 $B00DDCEC $BC01BC70 $4700 $8019431 $80D184D $B08DB570 $1C081C04 $DF062134 $25011C06 $681B4B0B $46691C20 $F7FF2234 $4B09FED3 $F7FF1C28 $2800FECF $4669D006 $FEF8F7FF $35013434 $DCEB3E01 $BC70B00D $4700BC01 $30067A0 $8019431 $B08FB570 $1C081C04 $DF06213C $25411C06 $1C284B0B $FEB2F7FF $D00C2800 $46681C01 $FEFEF7FF $1C214B07 $F7FF223C $343CFEA7 $3E013501 $B00FDCEC $BC01BC70 $4700 $8019431 $80D184D $B08FB570 $1C081C04 $DF06213C $25411C06 $681B4B0B $46691C20 $F7FF223C $4B09FE8B $F7FF1C28 $2800FE87 $4669D006 $FF04F7FF $3501343C $DCEB3E01 $BC70B00F $4700BC01 $30067A0 $8019431 $B08FB570 $1C081C04 $DF06213C $25811C06 $1C284B0B $FE6AF7FF $D00C2800 $46681C01 $FEB6F7FF $1C214B07 $F7FF223C $343CFE5F $3E013501 $B00FDCEC $BC01BC70 $4700 $8019431 $80D184D $B08FB570 $1C081C04 $DF06213C $25811C06 $681B4B0B $46691C20 $F7FF223C $4B09FE43 $F7FF1C28 $2800FE3F $4669D006 $FEBCF7FF $3501343C $DCEB3E01 $BC70B00F $4700BC01 $30067A0 $8019431 +WORD $B08CB570 $1C081C04 $DF062130 $25011C06 $1C284B0B $FF42F7FF $D00C2800 $46681C01 $FE63F7FF $1C214B07 $F7FF2230 $3430FF37 $3E013501 $B00CDCEC $BC01BC70 $4700 $8019431 $80D184D $B08CB570 $1C081C04 $DF062130 $25011C06 $681B4B0B $46691C20 $F7FF2230 $4B09FF1B $F7FF1C28 $2800FF17 $4669D006 $FE9EF7FF $35013430 $DCEB3E01 $BC70B00C $4700BC01 $30067A0 $8019431 $B08DB570 $1C081C04 $DF062134 $25011C06 $1C284B0B $FEFAF7FF $D00C2800 $46681C01 $FEFEF7FF $1C214B07 $F7FF2234 $3434FEEF $3E013501 $B00DDCEC $BC01BC70 $4700 $8019431 $80D184D $B08DB570 $1C081C04 $DF062134 $25011C06 $681B4B0B $46691C20 $F7FF2234 $4B09FED3 $F7FF1C28 $2800FECF $4669D006 $FEF8F7FF $35013434 $DCEB3E01 $BC70B00D $4700BC01 $30067A0 $8019431 $B08FB570 $1C081C04 $DF06213C $25411C06 $1C284B0B $FEB2F7FF $D00C2800 $46681C01 $FEFEF7FF $1C214B07 $F7FF223C $343CFEA7 $3E013501 $B00FDCEC $BC01BC70 $4700 $8019431 $80D184D $B08FB570 $1C081C04 $DF06213C $25411C06 $681B4B0B $46691C20 $F7FF223C $4B09FE8B $F7FF1C28 $2800FE87 $4669D006 $FF04F7FF $3501343C $DCEB3E01 $BC70B00F $4700BC01 $30067A0 $8019431 $B08FB570 $1C081C04 $DF06213C $25811C06 $1C284B0B $FE6AF7FF $D00C2800 $46681C01 $FEB6F7FF $1C214B07 $F7FF223C $343CFE5F $3E013501 $B00FDCEC $BC01BC70 $4700 $8019431 $80D184D $B08FB570 $1C081C04 $DF06213C $25811C06 $681B4B0B $46691C20 $F7FF223C $4B09FE43 $F7FF1C28 $2800FE3F $4669D006 $FEBCF7FF $3501343C $DCEB3E01 $BC70B00F $4700BC01 $30067A0 $8019431 $B08FB570 $1C081C04 $DF06213C $25C11C06 $1C284B0B $FE22F7FF $D00C2800 $46681C01 $FE6EF7FF $1C214B07 $F7FF223C $343CFE17 $3E013501 $B00FDCEC $BC01BC70 $4700 $8019431 $80D184D $B08FB570 $1C081C04 $DF06213C $25C11C06 $681B4B0B $46691C20 $F7FF223C $4B09FDFB $F7FF1C28 $2800FDF7 $4669D006 $FE74F7FF $3501343C $DCEB3E01 $BC70B00F $4700BC01 $30067A0 $8019431 diff --git a/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.s b/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.s index ba59eaa55..80fce797d 100644 --- a/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.s +++ b/EngineHacks/Necessary/ExpandedModularSave/SrcModules/SaveUnitExpandedStrmagStairsFatigue.s @@ -915,3 +915,7 @@ UnpackOtherSuspendSaveUnit: @ Suspend red units SAVE_UNIT_FUNC ESU_SaveRedSuspendUnits, PackOtherSuspendSaveUnit, OtherSuspendSaveUnit.size, 0x80 LOAD_UNIT_FUNC ESU_LoadRedSuspendUnits, UnpackOtherSuspendSaveUnit, OtherSuspendSaveUnit.size, 0x80 + + @ Suspend purple units + SAVE_UNIT_FUNC ESU_SavePurpleSuspendUnits, PackOtherSuspendSaveUnit, OtherSuspendSaveUnit.size, 0xC0 + LOAD_UNIT_FUNC ESU_LoadPurpleSuspendUnits, UnpackOtherSuspendSaveUnit, OtherSuspendSaveUnit.size, 0xC0 diff --git a/EngineHacks/NeutralMinimugBox.png b/EngineHacks/NeutralMinimugBox.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1c32ea509e87f9759ccc6fe5fa86d87a0e9d82 GIT binary patch literal 1145 zcmeAS@N?(olHy`uVBq!ia0vp^89;2n!3-o%$)D$BU|?nl@Ck7(Xjt&$$B!2mc1);< z2+&~o@ow*rdu!gEopWz*_t`bo|DR?3znb;!Y|`E-L08u}9-U(d)IJJELtxm1z_djV zw=gg;ns~Z6hE&YCd*e1=vjPu8z=G5j{O|t%FVhugz4G?pv?Ha)ag*L&2%Fw$sCl7> z)8U?%!_J647TE>4+eAKZ+E-k)W%5)nEi-3rDZ8`G0_ls6oax#$aqhEOTfK`kL=8Ez zP83EsG`%D4F<@~u~LSfr-;+Pj2aB$7Ka8EvV#jEoc8aDD- zzlETeOJn z>q{GfU-#xStJwdwn%i--ewCgtTfXSVuESS~9NahzR+N000CZ zNkl?705T$Bxj!g{Umlna=&pSx^Q` z5g&YcHsX4EFd6q2OC&2wg1d86z~M>2lM0BrnK@0z`;IGQrAO4(`Gf()+6&{A4Df-# z4*~GO!SyP&&cG?lHD!*vKsz!!5uhnRq(wj`-?IzciU5{5EWRoREB7{;8Lwpkp#(?7 zwI4`a@7i3PN>O{T%?Z6^?)a4P$!W!?fP}xy45(0x6u=40;q#0!5;gcTGA;|)1xebb zjF{U~4q|ZR5VViELUYm}p~mnDHL2yL5rB`cGXq>l2e?~p7)jHJk-RpRM#d{U!L11J zA&yGEsYSr2;BvDGcFSL6$I(zzC;jClx}j46XfQL87TTg{;_&duOf!ZclJ_(+(r@kW z3j%zJ6ci^LWgME^cYI%4@&hWDUu8iJH4Pm2O)`)*8x;Vr%#_(3^UKjuhGGK;%@_|C zxTlGcw)=%NP`sl2wsw&w4yyM}>I$?@$!m2_1W1Kz4HCQ>Ta2-!3P61X>%`N>B2)Q< zp|nCtHf~}hsuv2;d`^F%T|?s3YmU%blrHwB`$1>yG}rjAm-Lz#qhgVYI)Kyl(i{4^NS%Zog z*QBl2%SM<_7~0kd2qG{tLcn^d6(9f`PJ|@N4j614NH_4FwEEU6Beci@_KOyK4Z0%( zZ5M>mz{NMxTdxbxm@KpyqKOg1hx38}iQ*mtib3SU(D|RFp)dy8bFOt>edE(P343|x zxMX}ssen#aM80MMXsC< "%~n1.symbols.log" + +@rem Extract raw assembly binary (text section) from elf +SET objcopy="%startDir%arm-none-eabi-objcopy" +%objcopy% -S "%~n1.elf" -O binary "%~n1.dmp" + +echo y | del "%~n1.elf" + +echo y | del "%~n1.symbols.log" +pause \ No newline at end of file diff --git a/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.dmp b/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.dmp new file mode 100644 index 0000000000000000000000000000000000000000..ae7f36f169b1a423f2e6554649ca853a5b84a67d GIT binary patch literal 312 zcmZSB>gn0%=IM2zy3&o^kZFs9MuB_57Dg2X8CS1qZVW#dH25yKfmw`OTs=4x+3vIK zX^>!4>T+PLxa2J8z*xX&vRQ}W!n5ZVURSCaO%!Czf#xy%V3lFejl7_d!JrX#L8F>Q zk;8#OBk-cRM`i|RB~t~17Vm{FC&mkm20xzbdbGJ|$mn=7C^0HC{9uz|)Kk5n0~S;F z1o0X4WG|?I`3#B>HS&H26$~2u7i7RTG0P}=L_$qv2AawWHkHxr&2t7dh6jvl3Nk`q z_lrV(A%f-$20f+=g3gQuOb=lGvDaa_5URs;0pzb~&kOc2?qP7B8qCP?VGk3N!4yW0 IuuV)%0326ddjJ3c literal 0 HcmV?d00001 diff --git a/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.lyn.event b/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.lyn.event index e8b87431e..38efbb28a 100644 --- a/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.lyn.event +++ b/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.lyn.event @@ -1,17 +1,17 @@ ALIGN 4 -WORD $2401B570 $4A3A1C20 $F8004696 $D0052800 +WORD $2401B570 $4A391C20 $F8004696 $D0052800 SHORT ((GetUnitDebuffEntry-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((GetUnitDebuffEntry-4-CURRENTOFFSET>>1)&$7FF)|$F800 -WORD $68094937 +WORD $68094936 SHORT ((UnsetBit-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((UnsetBit-4-CURRENTOFFSET>>1)&$7FF)|$F800 -WORD $2CB33401 $E7EFD000 $7BD44A34 $1C203401 $468E4930 $1C05F800 $D04F2D00 $28006828 $7B28D04C $4208210C $4831D148 $79096869 $2A007802 $428AD00D $3001D001 $4829E7F8 $1C284686 $22004928 $F8002301 $2E001C06 $4826D125 $1C284686 $F8004923 $2E001C06 $4820D01D $1C284686 $22002100 $F8002301 $78304E1B $D00F2800 $468E4916 $1C03F800 $6859481B $78027909 $D0032A00 $D005428A $E7F83001 $E7EC3601 $E0002600 $1C202601 $46964A0C +WORD $2CCC3401 $E7EFD000 $7BD44A33 $1C203401 $468E492F $1C05F800 $D04F2D00 $28006828 $7B28D04C $4208210C $4830D148 $79096869 $2A007802 $428AD00D $3001D001 $4828E7F8 $1C284686 $22004927 $F8002301 $2E001C06 $4825D125 $1C284686 $F8004922 $2E001C06 $481FD01D $1C284686 $22002100 $F8002301 $78304E1A $D00F2800 $468E4915 $1C03F800 $6859481A $78027909 $D0032A00 $D005428A $E7F83001 $E7EC3601 $E0002600 $1C202601 $46964A0B SHORT $F800 SHORT ((GetUnitDebuffEntry-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((GetUnitDebuffEntry-4-CURRENTOFFSET>>1)&$7FF)|$F800 -SHORT $490B +SHORT $490A WORD $2E006809 SHORT $D002 SHORT ((SetBit-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((SetBit-4-CURRENTOFFSET>>1)&$7FF)|$F800 SHORT $E001 SHORT ((UnsetBit-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((UnsetBit-4-CURRENTOFFSET>>1)&$7FF)|$F800 -WORD $2C3F3401 $2C55D004 $2CB3D002 $E7A0D000 $BC702000 $4708BC02 $8019430 +WORD $4A063401 $32407BD2 $DBA24294 $BC702000 $4708BC02 $8019430 POIN ArmorMarchBitOffset_Link WORD $202BCF0 $202B256 diff --git a/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.s b/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.s index 132fe1078..8094ca488 100644 --- a/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.s +++ b/EngineHacks/SkillSystem/Skills/AuraSkills/ArmorMarch/armormarchskill.s @@ -31,7 +31,7 @@ ldr r1, [r1] bl UnsetBit unsetReit: add r4,#1 -cmp r4,#0xB3 +cmp r4,#0xCC beq allUnset b unsetLoop @@ -105,7 +105,7 @@ mov r3,#1 @range .short 0xf800 @check if any nearby unit is an armor -ldr r6,=#0x202B256 @bugger for the nearby units +ldr r6,=0x202B256 @bugger for the nearby units checkArmorsLoop: ldrb r0,[r6] cmp r0,#0 @@ -155,14 +155,23 @@ Unset: bl UnsetBit Next: +@ 0x08B6C912-0x08B6C91E -> Armor March loop check add r4,#1 -cmp r4,#0x3F -beq End -cmp r4,#0x55 -beq End -cmp r4,#0xB3 -beq End -b Loop +ldr r2, =gChapterData @ gPlaySt / gChapterData (0x0202BCF0) +ldrb r2, [r2, #0x0F] @ gPlaySt.faction +add r2, #0x40 +cmp r4, r2 +blt Loop + +@cmp r4,#0x3F +@beq End +@cmp r4,#0x55 +@beq End +@cmp r4,#0xB3 +@beq End +@cmp r4,#0xCC @end of fourth allegiance units/prevent freezing +@bgt End +@b Loop End: diff --git a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/Assemble Lyn.bat b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/Assemble Lyn.bat index b78658fe9..cef1d0a9f 100644 --- a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/Assemble Lyn.bat +++ b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/Assemble Lyn.bat @@ -4,6 +4,7 @@ SET startDir="C:\devkitPro\devkitARM\bin\" SET as="%startDir%arm-none-eabi-as" SET LYN="C:\devkitPro\lyn.exe" + @rem Assemble into an elf %as% -g -mcpu=arm7tdmi -mthumb-interwork %1 -o "%~n1.elf" diff --git a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.lyn.event b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.lyn.event index 3633e96af..d6f611e38 100644 --- a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.lyn.event +++ b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.lyn.event @@ -1,7 +1,7 @@ ALIGN 4 -WORD $480DB510 $34017BC4 $490C1C20 $F800468E $D0052800 +WORD $480CB510 $34017BC4 $490B1C20 $F800468E $D0052800 SHORT ((GetUnitDebuffEntry-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((GetUnitDebuffEntry-4-CURRENTOFFSET>>1)&$7FF)|$F800 -WORD $68094909 +WORD $68094908 SHORT ((UnsetBit-4-CURRENTOFFSET>>12)&$7FF)|$F000 ((UnsetBit-4-CURRENTOFFSET>>1)&$7FF)|$F800 -WORD $2C3F3401 $2C55D004 $2CB3D002 $E7EBD000 $BC102000 $4708BC02 $202BCF0 $8019430 +WORD $49043401 $31407BC9 $DBED428C $BC102000 $4708BC02 $202BCF0 $8019430 POIN VigorDanceBitOffset_Link diff --git a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.s b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.s index 6faf50921..eb781ed9f 100644 --- a/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.s +++ b/EngineHacks/SkillSystem/Skills/StandaloneSkills/VigorDance/vigordancereset.s @@ -30,14 +30,23 @@ ldr r1, [r1] bl UnsetBit Next: +@ 0x08B8185E-0x08B8186A -> Vigor Dance loop check add r4,#1 -cmp r4,#0x3F @end of player units -beq End -cmp r4,#0x55 @end of green units -beq End -cmp r4,#0xB3 @end of enemy units -beq End -b Loop +ldr r1, =gChapterData @ gPlaySt / gChapterData (0x0202BCF0) +ldrb r1, [r1, #0x0F] @ gPlaySt.faction +add r1, #0x40 +cmp r4, r1 +blt Loop + +@cmp r4,#0x3F @end of player units +@beq End +@cmp r4,#0x55 @end of green units +@beq End +@cmp r4,#0xB3 @end of enemy units +@beq End +@cmp r4,#0xCC @end of fourth allegiance units/prevent freezing +@bgt End +@b Loop End: mov r0, #0 @ no blocking proc / animation diff --git a/EngineHacks/VanillaFactionRelationsSetter.event b/EngineHacks/VanillaFactionRelationsSetter.event new file mode 100644 index 000000000..6b7cb0129 --- /dev/null +++ b/EngineHacks/VanillaFactionRelationsSetter.event @@ -0,0 +1,236 @@ +PUSH +ORG 0x8B08B6 +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*1)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*2)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*3)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*4)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*5)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*6)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*7)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*8)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*9)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*10)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*11)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*12)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*13)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*14)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*15)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*16)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*17)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*18)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*19)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*20)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*21)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*22)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*23)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*24)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*25)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*26)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*27)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*28)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*29)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*30)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*31)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*32)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*33)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*34)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*35)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*36)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*37)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*38)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*39)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*40)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*41)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*42)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*43)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*44)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*45)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*46)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*47)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*48)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*49)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*50)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*51)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*52)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*53)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*54)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*55)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*56)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*57)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*58)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*59)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*60)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*61)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*62)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*63)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*64)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*65)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*66)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*67)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*68)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*69)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*70)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*71)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*72)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*73)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*74)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*75)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*76)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +ORG (0x8B08B6+(148*77)) +FactionRelations( /* Blue Units */ TRUE, TRUE, FALSE, FALSE, /* Green Units */ TRUE, TRUE, FALSE, FALSE, /* Red Units */ FALSE, FALSE, TRUE, FALSE, /* Purple Units */ FALSE, FALSE, FALSE, TRUE) // Blue, Green, Red, Gray + +POP \ No newline at end of file diff --git a/EngineHacks/_MasterHackInstaller.event b/EngineHacks/_MasterHackInstaller.event index 7e44c0abd..69caa8e00 100644 --- a/EngineHacks/_MasterHackInstaller.event +++ b/EngineHacks/_MasterHackInstaller.event @@ -11,6 +11,7 @@ #include "Config.event" #include "Necessary/UnitMenu/_UnitMenuDefs.event" +#define PurpleUnitCount 15 //max of 15 can be saved through suspend! ////////////////////////////////SUPPORTING CHANGES @@ -25,6 +26,160 @@ PUSH #endif POP +////////////////////////////////4TH ALLEGIANCE STUFF 1 +PUSH + +ORG 0x17BDC +BYTE 0xC0 0x20 0xF8 0xE7 // Fix 4th allegiance units not being loaded + +ORG 0x59EEC0 +BYTE $90 $42 $0B $35 $B5 $76 $9C $7F $8F $29 $38 $26 $FF $67 $0B $31 $90 $49 $77 $72 $1A $7F $5D $0C $FF $17 $30 $3A $FF $7F $A9 $20 + +//Fix Enemies being able to go through purple units +ORG $800 //modifies movement ARM code +WORD 0xE59FC000 0xE12FFF1C //ldr r12,pc+8; bx r12 +POIN NewMovementCheck|1 + +ORG 0x3D60A +BYTE 0xFF // Fix attack AI not targetting purple units + +// FE8U:0x08019FA0 - RefreshUnitsOnBmMap +ORG 0x1A160 +BYTE 0xC0 + PurpleUnitCount // Display more units during AI phases + +// FE8U:0x080275E8 - PutUnitSpriteIconsOam +ORG 0xD7C12 // FE8U:0x80D7C0C = rescuePalLut +SHORT 0x000B // use palette 0xB for purple rescue icon +ORG 0x275F8 +SHORT 0x2208 // expand memcpy to load 8 bytes instead of 6 + +// FE8U:0x080275E8 - PutUnitSpriteIconsOam +ORG 0x27A02 +BYTE 0xC0 + PurpleUnitCount - 1 // Loop terminator; vanilla: 0xBF + +ORG 0x30E3C +BYTE 0xC0 // Makes turn 0 start on Neutral Phase, so it can properly switch to player phase on turn 1 + +ORG 0x1F326 +SHORT 0xE00D +ORG 0x1F344 +jumpToHack(LoadEnemyOrNeutralPhaseGraphics) + +ORG 0x15470 +SHORT 0xE004 +ORG 0x1DF2C +SHORT 0xE004 // Hopefully making phase 0xC0 work + +ORG 0x3E642 +SHORT 0xB084 // Expand the stack +ORG 0x3E694 +POIN gPhaseUnitCountTable // Add the neutral unit count +ORG 0x3E64C +SHORT 0xC878 0xC178 // Add one more unit count to the array +ORG 0x3E686 +SHORT 0xB004 // Expand the stack + +ORG 0x399B6 +SHORT 0xB084 +ORG 0x39A44 +POIN gPhaseUnitCountTable +ORG 0x399C8 +SHORT 0xC8D8 0xC1D8 +ORG 0x39A2E +SHORT 0xB004 + +ORG 0x397B6 +SHORT 0xB084 +ORG 0x39840 +POIN gPhaseUnitCountTable +ORG 0x397C4 +SHORT 0xC8D8 0xC1D8 +ORG 0x39830 +SHORT 0xB004 + +ORG 0x10150 +POIN CheckAllegianceFix + +ORG 0x3E8A0 +SHORT 0xE006 // Make purple units use the green units escape point table + +// Minimug box palette +ORG 0x8C2E4 +SHORT 0xE004 +ORG 0x8C2F0 +jumpToHack(LoadEnemyOrNeutralMinimugBoxPalette) + +ORG 0x8B08B6 +SHORT 0 + +ORG 0x3125A +BYTE 0xC0 + PurpleUnitCount // Clearing units after chapter end + +ORG 0x1A0C0 +BYTE 0xC0 + PurpleUnitCount // Loading units(RefreshUnitMapAndVision) + +ORG 0x27284 +BYTE 0xC0 + PurpleUnitCount // Standing map sprites showing up + +#include "NewUnitRAMPointerSetter.event" +POP + +#include "FourthAllegiance\FourthAllegiance.event" + + + +ALIGN 4 +#define FactionRelations(blue, green, red, purple, blue2, green2, red2, purple2, blue3, green3, red3, purple3, blue4, green4, red4, purple4) "SHORT blue|(green<<1)|(red<<2)|(purple<<3)|(blue2<<4)|(green2<<5)|(red2<<6)|(purple2<<7)|(blue3<<8)|(green3<<9)|(red3<<10)|(purple3<<11)|(blue4<<12)|(green4<<13)|(red4<<14)|(purple4<<15)" +#define TRUE 1 +#define FALSE 0 + +#include "VanillaFactionRelationsSetter.event" + +ALIGN 4 + +MESSAGE AreAllegiancesAllied + +#include "Necessary/ExpandedModularSave/ExModularSave.event" + +ALIGN 4 +NewMovementCheck: +#incbin "asm/NewMovementCheck.dmp" +POIN AreAllegiancesAllied + +ALIGN 4 +LoadEnemyOrNeutralPhaseGraphics: +#incbin "asm/LoadEnemyOrNeutralPhaseGraphics.dmp" +POIN NeutralPhaseBannerGraphics +POIN NeutralPhaseBannerPalette + +ALIGN 4 +CheckAllegianceFix: +#incbin "asm/CheckAllegianceFix.dmp" + +ALIGN 4 +LoadEnemyOrNeutralMinimugBoxPalette: +#incbin "asm/LoadEnemyOrNeutralMinimugBoxPalette.dmp" +POIN NeutralMinimugBoxPalette + +ALIGN 4 +NeutralPhaseBannerGraphics: +#incext Png2Dmp "NeutralPhaseBanner.png" --lz77 + +ALIGN 4 +NeutralPhaseBannerPalette: +#incext Png2Dmp "NeutralPhaseBanner.png" --palette-only + +ALIGN 4 +NeutralMinimugBoxPalette: +#incext Png2Dmp "NeutralMinimugBox.png" --palette-only + +ALIGN 4 +gPhaseUnitCountTable: // Originally at 0xD8680 +WORD 62 // Player +WORD 15 // NPC +WORD 50 // Enemy +WORD PurpleUnitCount // Neutral + ////////////////////////////////FREE SPACE WITHIN BL RANGE PUSH @@ -133,6 +288,7 @@ POP //StealGfxFix #include "QualityOfLife/StealGfxFix.event" + //Menu Semitransparency #include "QualityOfLife/SemitransparencyChanges.event" @@ -260,7 +416,7 @@ POP //Durability-Based Items, for Skill Scrolls #include "Necessary/DurabilityBasedItems/DurabilityBasedItems.event" - + //Generic routines that other things may rely on #include "Necessary/Routines/Installer.event" @@ -297,9 +453,8 @@ POP #include "Necessary/Popups.event" #include "Necessary/CalcLoops/CalcLoops.event" - + // Save/Suspend Expansion - MESSAGE "Using EMS Save/Suspend Expansion" - #include "Necessary/ExpandedModularSave/ExModularSave.event" + diff --git a/EngineHacks/asm/Assemble ARM.bat b/EngineHacks/asm/Assemble ARM.bat new file mode 100644 index 000000000..43a1b73d2 --- /dev/null +++ b/EngineHacks/asm/Assemble ARM.bat @@ -0,0 +1,20 @@ +@echo off + +SET startDir=C:\devkitPro\devkitARM\bin\ + +@rem Assemble into an elf +SET as="%startDir%arm-none-eabi-as" +%as% -g -mcpu=arm7tdmi -mthumb-interwork %1 -o "%~n1.elf" + +@rem Print symbol table +SET readelf="%startDir%arm-none-eabi-readelf" +%readelf% -s "%~n1.elf" > "%~n1.symbols.log" + +@rem Extract raw assembly binary (text section) from elf +SET objcopy="%startDir%arm-none-eabi-objcopy" +%objcopy% -S "%~n1.elf" -O binary "%~n1.dmp" + +echo y | del "%~n1.elf" + +echo y | del "%~n1.symbols.log" +pause \ No newline at end of file diff --git a/EngineHacks/asm/CheckAllegianceFix.dmp b/EngineHacks/asm/CheckAllegianceFix.dmp new file mode 100644 index 0000000000000000000000000000000000000000..3a8d8c6dbbb2cc3d2837d28bbf96915980620a2d GIT binary patch literal 40 tcmZS3V!X)eE#c0s7#MayfzhFpli7nYnHeZ@z^#^vkz)r719LZ!1^~7j2yp-a literal 0 HcmV?d00001 diff --git a/EngineHacks/asm/CheckAllegianceFix.s b/EngineHacks/asm/CheckAllegianceFix.s new file mode 100644 index 000000000..dcaf1006c --- /dev/null +++ b/EngineHacks/asm/CheckAllegianceFix.s @@ -0,0 +1,22 @@ +.thumb +.org 0x0 + +@ r2: Unit +cmp r2, #0 @ If unit exists +bne Continue +ldr r3, =0x801027D +bx r3 +Continue: +mov r1, #0x0B +ldsb r1, [r2, r1] @ allegiance byte +mov r0, #0xC0 +and r1, r0 @ fetch allegiance +lsr r1, #6 @ Will return either 0(player), 1(npc), 2(enemy) or 3(purple) +ldr r0, =0x30004B8 @ gEventsSlot +str r1, [r0, #0x30] @ Store the result +ldr r3, =0x801028B +bx r3 + + +.align +.pool diff --git a/EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.dmp b/EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.dmp new file mode 100644 index 0000000000000000000000000000000000000000..2664ce6115bdd85803bfd4cbbccef83e5f8be398 GIT binary patch literal 24 fcmZqBV7$oW!|;IFhsj&Q{eat=;)NWnhdDR^TQLVp literal 0 HcmV?d00001 diff --git a/EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.s b/EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.s new file mode 100644 index 000000000..8f1178270 --- /dev/null +++ b/EngineHacks/asm/LoadEnemyOrNeutralMinimugBoxPalette.s @@ -0,0 +1,17 @@ +.thumb +.org 0x0 +cmp r0, #0x80 +bne LoadNeutralPalette +ldr r4, =0x8A173AC +b GoBack + +LoadNeutralPalette: +ldr r4, NeutralMinimugBoxPalette + +GoBack: +ldr r3, =0x808C305 +bx r3 + +.align +.pool +NeutralMinimugBoxPalette: diff --git a/EngineHacks/asm/LoadEnemyOrNeutralPhaseGraphics.dmp b/EngineHacks/asm/LoadEnemyOrNeutralPhaseGraphics.dmp new file mode 100644 index 0000000000000000000000000000000000000000..152a2ebb5e39494609f8437b07c9faab379444d4 GIT binary patch literal 108 zcmZqB5WXnlA?hjWJ5%H`4KHlxZ?hT#XJ2Fr!|Jpy}{xv}^txI