Skip to content
Merged
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
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ CODE_OVERLAYS := field_init intro field \
tripletriad battle_render battle world

ALL_EFFECT_OVERLAYS := $(filter effect_%,$(SPLAT_BINARIES))
EFFECTS ?= effect_001 effect_025 effect_028
EFFECTS ?= effect_001 effect_025 effect_028 effect_052 effect_039 effect_056 effect_050 effect_051 effect_036
EFFECT_OVERLAYS := $(if $(filter all,$(EFFECTS)),$(ALL_EFFECT_OVERLAYS),$(EFFECTS))
OVERLAYS := $(MENU_OVERLAYS) $(CODE_OVERLAYS) $(EFFECT_OVERLAYS)
ALL_OVERLAYS := $(MENU_OVERLAYS) $(CODE_OVERLAYS) $(ALL_EFFECT_OVERLAYS)
Expand Down
164 changes: 148 additions & 16 deletions config/ff8.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1256,16 +1256,41 @@ binaries:
options:
target_path: original/effect/effect_036.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_036
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_036]
- [0x9D6C, .rodata, effect_036]
- [0x9D80, bin, effect_036]
- [0x0, c, effect_036_entry]
- [0x20C, c, lib/common]
- [0x97C, c, lib/rotz]
- [0xB08, c, lib/heading]
- [0xB38, c, lib/entity]
- [0x16A8, c, lib/tint]
- [0x1984, c, lib/vector]
- [0x20F0, c, lib/emit]
- [0x3F24, c, lib/packet]
- [0x412C, c, lib/particlestep]
- [0x5420, c, lib/particlealloc]
- [0x553C, c, lib/draw]
- [0x6198, c, lib/emitteralloc]
- [0x62B8, c, lib/spawn]
- [0x806C, c, lib/list]
- [0x8688, c, lib/trail]
- [0x87FC, c, lib/strands]
- [0x8CE8, c, lib/tables]
- [0x8FFC, c, lib/bankclear]
- [0x9050, c, lib/drawscript]
- [0x94B4, c, effect_036]
- [0x9D6C, .rodata, lib/particlestep]
- [0x9D80, pad]
- [0x9D84, .rodata, lib/list]
- [0x9DB0, .rodata, effect_036]
- [0x9DF8, bin, effect_036]
- [0x422F0]

- name: effect_037
sha1: b612bceb1b012825e0742387b0c698f409303e42
options:
Expand Down Expand Up @@ -1301,15 +1326,41 @@ binaries:
options:
target_path: original/effect/effect_039.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_039
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_039]
- [0x9F34, .rodata, effect_039]
- [0x9F48, bin, effect_039]
- [0x0, c, effect_039_entry]
- [0x208, c, lib/common]
- [0x978, c, lib/rotz]
- [0xB04, c, lib/heading]
- [0xB34, c, lib/entity]
- [0x16A4, c, lib/tint]
- [0x1980, c, lib/vector]
- [0x20EC, c, lib/emit]
- [0x3F20, c, lib/packet]
- [0x4128, c, lib/particlestep]
- [0x541C, c, lib/particlealloc]
- [0x5538, c, lib/draw]
- [0x6194, c, lib/emitteralloc]
- [0x62B4, c, lib/spawn]
- [0x8068, c, lib/list]
- [0x8684, c, lib/trail]
- [0x87F8, c, lib/strands]
- [0x8CE4, c, lib/tables]
- [0x8FF8, c, lib/bankclear]
- [0x9050, c, lib/drawscript]
- [0x94B4, c, effect_039]
# particlestep's jump table, then the pad its section end carried, then
# list's two, then the script dispatch tables.
- [0x9F34, .rodata, lib/particlestep]
- [0x9F48, pad]
- [0x9F4C, .rodata, lib/list]
- [0x9F78, .rodata, effect_039]
- [0x9FD8, bin, effect_039]
- [0x39744]
- name: effect_040
sha1: 71c17ed17dd7557405ab4a9ef1ca1eb46383dddf
Expand Down Expand Up @@ -1466,45 +1517,101 @@ binaries:
options:
target_path: original/effect/effect_050.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_050
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_050]
- [0x4614, .rodata, effect_050]
# Potion+ is byte for byte effect_001, so it links effect_001's sources.
- [0x0, c, effect_001_entry]
- [0x1F0, c, lib/common]
- [0x960, c, lib/aim]
- [0xAD8, c, lib/entity]
- [0x1648, c, lib/sprite]
- [0x16E4, c, lib/step]
- [0x172C, c, effect_001_anim]
- [0x181C, c, lib/render]
- [0x2E48, c, effect_001]
- [0x4614, .rodata, effect_001]
- [0x4678, bin, effect_050]
- [0x258E0]
- name: effect_051
sha1: 759122767c1509712ce1016d12c494df57d62392
options:
target_path: original/effect/effect_051.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_051
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_051]
- [0x8304, .rodata, effect_051]
# Hi-Potion+ is byte for byte effect_025, so it links effect_025's sources.
- [0x0, c, effect_025_entry]
- [0x14C, c, lib/common]
- [0x8BC, c, lib/aim]
- [0xA34, c, lib/heading]
- [0xA64, c, lib/scatter]
- [0xB6C, c, lib/render]
- [0x2198, c, lib/entity]
- [0x2D08, c, lib/emit_mode]
- [0x4BFC, c, effect_025_scroll]
- [0x4F44, c, lib/sprite]
- [0x4FE0, c, effect_025_anim]
- [0x5204, c, lib/step]
- [0x524C, c, effect_025_motes]
- [0x5CEC, c, lib/fill]
- [0x5D10, c, lib/rot]
- [0x5F14, c, lib/pose]
- [0x6910, c, lib/interpolate]
- [0x6A00, c, effect_025]
- [0x8304, .rodata, effect_025_motes]
- [0x8344, .rodata, effect_025]
- [0x83D0, bin, effect_051]
- [0x33EA4]
- name: effect_052
sha1: 018066f1282c8db5bf22c8ec68b0d92fe329d9d0
options:
target_path: original/effect/effect_052.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_052
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_052]
- [0x9BDC, .rodata, effect_052]
- [0x9BF0, bin, effect_052]
- [0x0, c, effect_052_entry]
- [0x1EC, c, lib/common]
- [0x95C, c, lib/rotz]
- [0xAE8, c, lib/heading]
- [0xB18, c, lib/entity]
- [0x1688, c, lib/tint]
- [0x1964, c, lib/vector]
- [0x20D0, c, lib/emit]
- [0x3F04, c, lib/packet]
- [0x410C, c, lib/particlestep]
- [0x5400, c, lib/particlealloc]
- [0x551C, c, lib/draw]
- [0x6178, c, lib/emitteralloc]
- [0x6298, c, lib/spawn]
- [0x804C, c, lib/list]
- [0x8668, c, lib/trail]
- [0x87DC, c, lib/strands]
- [0x8CC8, c, lib/tables]
- [0x8FDC, c, lib/bankclear]
- [0x9034, c, lib/drawscript]
- [0x9498, c, effect_052]
# particlestep's jump table, then the pad its section end carried, then
# list's two, then the script dispatch tables.
- [0x9BDC, .rodata, lib/particlestep]
- [0x9BF0, pad]
- [0x9BF4, .rodata, lib/list]
- [0x9C20, .rodata, effect_052]
- [0x9C68, bin, effect_052]
- [0x3C6D8]
- name: effect_053
sha1: 738b1bb7de8b266db68995f925e9602f88fca51f
Expand Down Expand Up @@ -1556,15 +1663,40 @@ binaries:
options:
target_path: original/effect/effect_056.bin
src_path: src/effect
section_order: [.text, .rodata, .data, .bss]
segments:
- name: effect_056
type: code
start: 0x0
vram: 0x801A0000
subsegments:
- [0x0, c, effect_056]
- [0x9F34, .rodata, effect_056]
- [0x9F48, bin, effect_056]
# Absorb is byte for byte effect_039 (Drain), so it links Drain's sources.
- [0x0, c, effect_039_entry]
- [0x208, c, lib/common]
- [0x978, c, lib/rotz]
- [0xB04, c, lib/heading]
- [0xB34, c, lib/entity]
- [0x16A4, c, lib/tint]
- [0x1980, c, lib/vector]
- [0x20EC, c, lib/emit]
- [0x3F20, c, lib/packet]
- [0x4128, c, lib/particlestep]
- [0x541C, c, lib/particlealloc]
- [0x5538, c, lib/draw]
- [0x6194, c, lib/emitteralloc]
- [0x62B4, c, lib/spawn]
- [0x8068, c, lib/list]
- [0x8684, c, lib/trail]
- [0x87F8, c, lib/strands]
- [0x8CE4, c, lib/tables]
- [0x8FF8, c, lib/bankclear]
- [0x9050, c, lib/drawscript]
- [0x94B4, c, effect_039]
- [0x9F34, .rodata, lib/particlestep]
- [0x9F48, pad]
- [0x9F4C, .rodata, lib/list]
- [0x9F78, .rodata, effect_039]
- [0x9FD8, bin, effect_056]
- [0x39744]
- name: effect_057
sha1: 1ae05f01dd5c2a348e1f11bfad13b9419ee00177
Expand Down
113 changes: 113 additions & 0 deletions config/symbols.effect_036.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
effectTextInit = 0x801A020C; // type:func
effectTextHex = 0x801A035C; // type:func
effectTextNewline = 0x801A0408; // type:func
effectNop = 0x801A0428; // type:func
effectDrawQuad128 = 0x801A0430; // type:func
effectDrawQuad256 = 0x801A052C; // type:func
effectMatrixIdentity = 0x801A0628; // type:func
effectMatrixRotX = 0x801A0660; // type:func
effectMatrixRotY = 0x801A07F0; // type:func
effectMatrixRotZ = 0x801A097C; // type:func
effectMatrixHeading = 0x801A0B08; // type:func
effectReleaseWait = 0x801A0B38; // type:func
effectSpawnTask = 0x801A0B60; // type:func
effectCacheSlotAnchors = 0x801A0CEC; // type:func
effectSlotAnchor0 = 0x801A0E20; // type:func
effectSlotAnchor1 = 0x801A0E50; // type:func
effectSlotAnchorMid = 0x801A0E80; // type:func
effectCacheAnimSlotAnchors = 0x801A0EB0; // type:func
effectAnimSlotAnchor0 = 0x801A0FEC; // type:func
effectAnimSlotAnchor1 = 0x801A101C; // type:func
effectAnimSlotAnchorMid = 0x801A104C; // type:func
effectUpdateModelBounds = 0x801A107C; // type:func
effectGetModelBounds = 0x801A12C8; // type:func
effectModelRadius = 0x801A1318; // type:func
effectModelHalfHeight = 0x801A13BC; // type:func
effectModelHalfWidth = 0x801A13EC; // type:func
effectModelHeight = 0x801A1444; // type:func
effectModelTop = 0x801A1468; // type:func
effectModelBottom = 0x801A14B0; // type:func
effectModelRandomY = 0x801A14F8; // type:func
effectModelCentreY = 0x801A15B0; // type:func
effectModelCentre = 0x801A1604; // type:func
effectZeroWords = 0x801A1670; // type:func
effectTintPlay = 0x801A16A8; // type:func
effectRandBetween = 0x801A1984; // type:func
effectRandProduct = 0x801A1A08; // type:func
effectRandVector = 0x801A1AAC; // type:func
effectMatrixFromAngles = 0x801A1B24; // type:func
effectJitterAngle = 0x801A1BF0; // type:func
effectJitterVector = 0x801A1C84; // type:func
effectJitterAngleS = 0x801A1CFC; // type:func
effectJitterSVector = 0x801A1D8C; // type:func
effectCopyVector = 0x801A1E04; // type:func
effectFadeValue = 0x801A1E34; // type:func
effectFadeVector = 0x801A1E90; // type:func
effectBlendPointSets = 0x801A1F5C; // type:func
effectEmitTris = 0x801A20F0; // type:func
effectEmitQuads = 0x801A23BC; // type:func
effectEmitTexTris = 0x801A26E0; // type:func
effectEmitTexQuads = 0x801A2A68; // type:func
effectEmitGouraudTris = 0x801A2E4C; // type:func
effectEmitGouraudQuads = 0x801A3154; // type:func
effectEmitGouraudTexTris = 0x801A34DC; // type:func
effectEmitGouraudTexQuads = 0x801A3898; // type:func
effectEmitStream = 0x801A3CE0; // type:func
effectBuildMeshPacket = 0x801A3F24; // type:func
effectParticleLateStep = 0x801A412C; // type:func
effectParticleAdvance = 0x801A41E4; // type:func
effectParticleAgeHold = 0x801A49EC; // type:func
effectParticlePose = 0x801A4AE0; // type:func
effectParticleAlloc = 0x801A5420; // type:func
effectStepRunKind = 0x801A553C; // type:func
effectStepFire = 0x801A5574; // type:func
effectParticleStep = 0x801A5620; // type:func
effectEmitterCountStep = 0x801A570C; // type:func
effectSpriteEmit = 0x801A5724; // type:func
effectSpritePacket = 0x801A5D50; // type:func
effectParticleDrawPacket = 0x801A5FB8; // type:func
effectDrawParticles = 0x801A6078; // type:func
effectEmitterAlloc = 0x801A6198; // type:func
effectEmitterAge = 0x801A62B8; // type:func
effectEmitterSpawn = 0x801A6320; // type:func
effectEmitterSpawnShare = 0x801A6DBC; // type:func
effectEmitterStep = 0x801A6EBC; // type:func
effectEmitterOnStrand = 0x801A6F5C; // type:func
effectEmitterOnTrail = 0x801A71E4; // type:func
effectEmitterOnOwner = 0x801A73EC; // type:func
effectEmitterSlide = 0x801A75FC; // type:func
effectListAppend = 0x801A806C; // type:func
effectListRemove = 0x801A80A8; // type:func
effectListClear = 0x801A80E8; // type:func
effectListRun = 0x801A8100; // type:func
effectEmitterSetup = 0x801A8188; // type:func
effectStepFireSlots = 0x801A83BC; // type:func
effectEmittersOnCue = 0x801A8470; // type:func
effectTrailPush = 0x801A85AC; // type:func
effectTrailAim = 0x801A8688; // type:func
effectStrandsSeed = 0x801A87FC; // type:func
effectStrandsPush = 0x801A8908; // type:func
effectStrandsAim = 0x801A8A20; // type:func
effectPoseTablesRelocate = 0x801A8CE8; // type:func
effectStartChildScript = 0x801A8F8C; // type:func
effectBanksClear = 0x801A8FFC; // type:func
effectDrawScriptStart = 0x801A9050; // type:func
effectDrawScriptRun = 0x801A92F8; // type:func
effectDrawListSpan = 0x801A9420; // type:func
g_effectStackBase = 0x801E22F8;
g_effectStackTop = 0x801E22FC;
g_effectEmitterBank = 0x801E25A0;
g_effectParticleBank = 0x801E25A4;
g_effectDrawList = 0x801E25A8;
g_effectEmitterCursor = 0x801E25AC;
g_effectParticleCursor = 0x801E25AE;
g_effectParticleTotal = 0x801E25B0;
g_effectLiveTotal = 0x801E25B2;
g_effectChildPool = 0x801E2DB0;
g_effectPrimCursor = 0x801E2DC0;
g_effectHexGlyphs = 0x801E3100;
g_effectTextX = 0x801E3114;
g_effectTextY = 0x801E3118;
g_effectTextColour = 0x801E311C;
g_effectBankUnk90 = 0x801E25B4;
g_effectBankUnk92 = 0x801E25B6;
Loading
Loading