Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ set(FF7_MINI
set(FF7_MAGIC
src/magic/barrier.c
src/magic/brizad.c
src/magic/gas.c
src/magic/hakugek1.c
src/magic/hakugek2.c
src/magic/kaen.c
src/magic/kaen2.c
src/magic/lv5deth.c
src/magic/mabaria.c
src/magic/sennkoku.c
Expand Down
13 changes: 13 additions & 0 deletions config/symbols.magic-gas.us.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
MAGIC_Gas = 0x801B0010;
GasTargetCenterCalc = 0x801B0030;
GasSprayVectorCalc = 0x801B01DC;
GasSpriteMatrixSetup = 0x801B030C;
GasDoubleBufferFlip = 0x801B046C;
GasFlameSpriteTick = 0x801B04D8;
GasEmberTick = 0x801B05DC;
GasFireballTick = 0x801B080C;
GasTargetTick = 0x801B0AEC;
GasTargetSetup = 0x801B0EAC;
GasStart = 0x801B0F84;
g_GasPrimBuffer = 0x801D3FF8;
g_GasBufferPtr = 0x801EBFF8;
14 changes: 14 additions & 0 deletions config/symbols.magic-hakugek1.us.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
MAGIC_Hakugek1 = 0x801B0000;
Hakugek1TargetCenterCalc = 0x801B0020;
Hakugek1SprayVectorCalc = 0x801B01CC;
Hakugek1SpriteMatrixSetup = 0x801B02FC;
Hakugek1DoubleBufferFlip = 0x801B045C;
Hakugek1FirePuffTick = 0x801B04C8;
Hakugek1DebrisTick = 0x801B062C;
Hakugek1PillarRiseTick = 0x801B0878;
Hakugek1ShockwaveTick = 0x801B09F0;
Hakugek1TargetTick = 0x801B0D84;
Hakugek1TargetSetup = 0x801B11B4;
Hakugek1Start = 0x801B1290;
g_Hakugek1PrimBuffer = 0x801D2A80;
g_Hakugek1BufferPtr = 0x801EAA80;
14 changes: 14 additions & 0 deletions config/symbols.magic-hakugek2.us.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
MAGIC_Hakugek2 = 0x801B0000;
Hakugek2TargetCenterCalc = 0x801B0020;
Hakugek2SprayVectorCalc = 0x801B01CC;
Hakugek2SpriteMatrixSetup = 0x801B02FC;
Hakugek2DoubleBufferFlip = 0x801B045C;
Hakugek2FirePuffTick = 0x801B04C8;
Hakugek2DebrisTick = 0x801B062C;
Hakugek2PillarRiseTick = 0x801B0878;
Hakugek2ShockwaveTick = 0x801B09E0;
Hakugek2TargetTick = 0x801B0D64;
Hakugek2TargetSetup = 0x801B10A0;
Hakugek2Start = 0x801B117C;
g_Hakugek2PrimBuffer = 0x801D296C;
g_Hakugek2BufferPtr = 0x801EA96C;
13 changes: 13 additions & 0 deletions config/symbols.magic-kaen.us.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
MAGIC_Kaen = 0x801B0010;
KaenTargetCenterCalc = 0x801B0030;
KaenSprayVectorCalc = 0x801B01DC;
KaenSpriteMatrixSetup = 0x801B030C;
KaenDoubleBufferFlip = 0x801B046C;
KaenFlameSpriteTick = 0x801B04D8;
KaenEmberTick = 0x801B05DC;
KaenFireballTick = 0x801B080C;
KaenTargetTick = 0x801B0AEC;
KaenTargetSetup = 0x801B0EAC;
KaenStart = 0x801B0F6C;
g_KaenPrimBuffer = 0x801D3F30;
g_KaenBufferPtr = 0x801EBF30;
13 changes: 13 additions & 0 deletions config/symbols.magic-kaen2.us.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
MAGIC_Kaen2 = 0x801B0000;
Kaen2TargetCenterCalc = 0x801B0020;
Kaen2SprayVectorCalc = 0x801B01CC;
Kaen2SpriteMatrixSetup = 0x801B02FC;
Kaen2DoubleBufferFlip = 0x801B045C;
Kaen2FlameSpriteTick = 0x801B04C8;
Kaen2EmberTick = 0x801B0658;
Kaen2FireballTick = 0x801B0888;
Kaen2TargetTick = 0x801B0B40;
Kaen2TargetSetup = 0x801B0FF0;
Kaen2Start = 0x801B10BC;
g_Kaen2PrimBuffer = 0x801D4140;
g_Kaen2BufferPtr = 0x801EC140;
69 changes: 69 additions & 0 deletions config/us.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -807,3 +807,72 @@ overlays:
- [0, c, sennkoku]
- [0x930, data, sennkoku_model]
- [0x559C, data, sennkoku_buffers]
# KAEN.BIN -- effect overlay
- name: kaen
disk_path: disks/us/MAGIC/KAEN.BIN
sha1: 2dc7702de646e5288feeae5f349b58ce88135b5e
base_path: magic
imports: [main, battle]
vram_start: 0x801B0000
symbol_addrs_path:
- config/symbols.magic-kaen.us.txt
segments:
# REVIEW (split): the 0x10 bytes before the code are the effect's sprite descriptor; the linker script puts rodata first, so it is a rodata segment; cost: none, data only
- [0, rodata, kaen]
- [0x10, c, kaen]
- [0xFE8, data, kaen_model]
- [0x23F30, data, kaen_buffers]
# KAEN2.BIN -- effect overlay
- name: kaen2
disk_path: disks/us/MAGIC/KAEN2.BIN
sha1: 0bb5bf470e3b04dd658b7c28ff374464a1401ca6
base_path: magic
imports: [main, battle]
vram_start: 0x801B0000
symbol_addrs_path:
- config/symbols.magic-kaen2.us.txt
segments:
- [0, c, kaen2]
- [0x1128, data, kaen2_model]
- [0x24140, data, kaen2_buffers]
# GAS.BIN -- effect overlay
- name: gas
disk_path: disks/us/MAGIC/GAS.BIN
sha1: 5fe66342aeed0b053440d8c66bc144a49445a016
base_path: magic
imports: [main, battle]
vram_start: 0x801B0000
symbol_addrs_path:
- config/symbols.magic-gas.us.txt
segments:
# REVIEW (split): the 0x10 bytes before the code are the effect's sprite descriptor; the linker script puts rodata first, so it is a rodata segment; cost: none, data only
- [0, rodata, gas]
- [0x10, c, gas]
- [0xFF0, data, gas_model]
- [0x23FF8, data, gas_buffers]
# HAKUGEK1.BIN -- effect overlay
- name: hakugek1
disk_path: disks/us/MAGIC/HAKUGEK1.BIN
sha1: 5cf866b06953286fa308f84b04fc327c50c56669
base_path: magic
imports: [main, battle]
vram_start: 0x801B0000
symbol_addrs_path:
- config/symbols.magic-hakugek1.us.txt
segments:
- [0, c, hakugek1]
- [0x12FC, data, hakugek1_model]
- [0x22A80, data, hakugek1_buffers]
# HAKUGEK2.BIN -- effect overlay
- name: hakugek2
disk_path: disks/us/MAGIC/HAKUGEK2.BIN
sha1: a7385d17eb1439af1cb9b1282abd9e163e563b5f
base_path: magic
imports: [main, battle]
vram_start: 0x801B0000
symbol_addrs_path:
- config/symbols.magic-hakugek2.us.txt
segments:
- [0, c, hakugek2]
- [0x11E8, data, hakugek2_model]
- [0x2296C, data, hakugek2_buffers]
Loading
Loading