mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 23:24:32 -04:00
feat(decomp): parallel gate — 13 fns across 13 binaries (12 workers)
md_SC03_135 func_801E38B4 md_SC05_026 func_801EE0D4 ov_SC03_107 func_8016AB6C ov_SC02_000 func_8017F950 ov_SC02_003 func_8017F950 ov_SC03_112 func_80181E88 ov_SC07_007 func_8016AB6C ov_SC07_010 func_8016AB6C ov_SC07_006 func_8016AB6C ov_SC06_011 func_8017EEEC ov_SC07_011 func_8016AB6C ov_SC06_024 func_801831A8 ov_SC06_022 func_8017F85C
This commit is contained in:
+12
-10
@@ -243,7 +243,7 @@ ov_SC02_000_ELF := $(ov_SC02_000_OUT).elf
|
||||
ov_SC02_000_MAPFILE := $(ov_SC02_000_OUT).map
|
||||
ov_SC02_000_LD_SCRIPT := $(ov_SC02_000_OUT).ld
|
||||
ov_SC02_000_SPLAT_YAML := config/splat.ov_SC02_000.yaml
|
||||
ov_SC02_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_000.o,ov_SC02_000_jr_8012ACE0.o,tail2.data.o,ov_SC02_000_jr_80135888.o,tail3.data.o,ov_SC02_000_jr_80135A4C.o,tail4.data.o,ov_SC02_000_jr_80135D20.o,tail5.data.o,ov_SC02_000_jr_801380E0.o,ov_SC02_000_o0c.o,tail6.data.o,ov_SC02_000_jr_8013F350.o,tail7.data.o,ov_SC02_000_jr_8013FFD8.o,tail8.data.o,ov_SC02_000_jr_80140608.o,tail9.data.o,ov_SC02_000_jr_8015444C.o,ov_SC02_000_jr_80154C24.o,ov_SC02_000_jr_801588CC.o,ov_SC02_000_jr_80159C84.o,tail10.data.o,ov_SC02_000_jr_8015A3C8.o,tail11.data.o,ov_SC02_000_jr_8015AE2C.o,tail12.data.o,ov_SC02_000_jr_8015C32C.o,tail13.data.o,ov_SC02_000_jr_8016AB6C.o,tail14.data.o,ov_SC02_000_jr_80171B4C.o,ov_SC02_000_jr_801734BC.o,tail15.data.o,ov_SC02_000_jr_801789AC.o,ov_SC02_000_jr_80178D40.o,tail16.data.o,ov_SC02_000_jr_8017A4AC.o,tail17.data.o,ov_SC02_000_jr_8017AE2C.o,ov_SC02_000_jr_8017EA84.o,tail18.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,ov_SC02_000_jr_801808C4.o,ov_SC02_000_jr_80180D6C.o,ov_SC02_000_jr_80181538.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC02_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_000.o,ov_SC02_000_jr_8012ACE0.o,tail2.data.o,ov_SC02_000_jr_80135888.o,tail3.data.o,ov_SC02_000_jr_80135A4C.o,tail4.data.o,ov_SC02_000_jr_80135D20.o,tail5.data.o,ov_SC02_000_jr_801380E0.o,ov_SC02_000_o0c.o,tail6.data.o,ov_SC02_000_jr_8013F350.o,tail7.data.o,ov_SC02_000_jr_8013FFD8.o,tail8.data.o,ov_SC02_000_jr_80140608.o,tail9.data.o,ov_SC02_000_jr_8015444C.o,ov_SC02_000_jr_80154C24.o,ov_SC02_000_jr_801588CC.o,ov_SC02_000_jr_80159C84.o,tail10.data.o,ov_SC02_000_jr_8015A3C8.o,tail11.data.o,ov_SC02_000_jr_8015AE2C.o,tail12.data.o,ov_SC02_000_jr_8015C32C.o,tail13.data.o,ov_SC02_000_jr_8016AB6C.o,tail14.data.o,ov_SC02_000_jr_80171B4C.o,ov_SC02_000_jr_801734BC.o,tail15.data.o,ov_SC02_000_jr_801789AC.o,ov_SC02_000_jr_80178D40.o,tail16.data.o,ov_SC02_000_jr_8017A4AC.o,tail17.data.o,ov_SC02_000_jr_8017AE2C.o,ov_SC02_000_jr_8017EA84.o,tail18.data.o,ov_SC02_000_jr_8017F950.o,tail19.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,ov_SC02_000_jr_801808C4.o,ov_SC02_000_jr_80180D6C.o,ov_SC02_000_jr_80181538.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC02_000/ov_SC02_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -284,7 +284,7 @@ ov_SC02_003_ELF := $(ov_SC02_003_OUT).elf
|
||||
ov_SC02_003_MAPFILE := $(ov_SC02_003_OUT).map
|
||||
ov_SC02_003_LD_SCRIPT := $(ov_SC02_003_OUT).ld
|
||||
ov_SC02_003_SPLAT_YAML := config/splat.ov_SC02_003.yaml
|
||||
ov_SC02_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_003.o,ov_SC02_003_jr_8012ACE0.o,tail2.data.o,ov_SC02_003_jr_80135888.o,tail3.data.o,ov_SC02_003_jr_80135A4C.o,tail4.data.o,ov_SC02_003_jr_80135D20.o,tail5.data.o,ov_SC02_003_jr_801380E0.o,ov_SC02_003_o0c.o,tail6.data.o,ov_SC02_003_jr_8013F350.o,tail7.data.o,ov_SC02_003_jr_8013FFD8.o,tail8.data.o,ov_SC02_003_jr_80140608.o,tail9.data.o,ov_SC02_003_jr_8015444C.o,ov_SC02_003_jr_80154C24.o,ov_SC02_003_jr_801588CC.o,ov_SC02_003_jr_80159C84.o,tail10.data.o,ov_SC02_003_jr_8015A3C8.o,tail11.data.o,ov_SC02_003_jr_8015AE2C.o,tail12.data.o,ov_SC02_003_jr_8015C32C.o,tail13.data.o,ov_SC02_003_jr_8016AB6C.o,tail14.data.o,ov_SC02_003_jr_80171B4C.o,ov_SC02_003_jr_801734BC.o,tail15.data.o,ov_SC02_003_jr_801789AC.o,ov_SC02_003_jr_80178D40.o,tail16.data.o,ov_SC02_003_jr_8017A4AC.o,tail17.data.o,ov_SC02_003_jr_8017AE2C.o,ov_SC02_003_jr_8017EA84.o,tail18.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,ov_SC02_003_jr_801808C4.o,ov_SC02_003_jr_80180D6C.o,ov_SC02_003_jr_80181538.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC02_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_003.o,ov_SC02_003_jr_8012ACE0.o,tail2.data.o,ov_SC02_003_jr_80135888.o,tail3.data.o,ov_SC02_003_jr_80135A4C.o,tail4.data.o,ov_SC02_003_jr_80135D20.o,tail5.data.o,ov_SC02_003_jr_801380E0.o,ov_SC02_003_o0c.o,tail6.data.o,ov_SC02_003_jr_8013F350.o,tail7.data.o,ov_SC02_003_jr_8013FFD8.o,tail8.data.o,ov_SC02_003_jr_80140608.o,tail9.data.o,ov_SC02_003_jr_8015444C.o,ov_SC02_003_jr_80154C24.o,ov_SC02_003_jr_801588CC.o,ov_SC02_003_jr_80159C84.o,tail10.data.o,ov_SC02_003_jr_8015A3C8.o,tail11.data.o,ov_SC02_003_jr_8015AE2C.o,tail12.data.o,ov_SC02_003_jr_8015C32C.o,tail13.data.o,ov_SC02_003_jr_8016AB6C.o,tail14.data.o,ov_SC02_003_jr_80171B4C.o,ov_SC02_003_jr_801734BC.o,tail15.data.o,ov_SC02_003_jr_801789AC.o,ov_SC02_003_jr_80178D40.o,tail16.data.o,ov_SC02_003_jr_8017A4AC.o,tail17.data.o,ov_SC02_003_jr_8017AE2C.o,ov_SC02_003_jr_8017EA84.o,tail18.data.o,ov_SC02_003_jr_8017F950.o,tail19.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,ov_SC02_003_jr_801808C4.o,ov_SC02_003_jr_80180D6C.o,ov_SC02_003_jr_80181538.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC02_003/ov_SC02_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -2590,7 +2590,7 @@ ov_SC03_112_ELF := $(ov_SC03_112_OUT).elf
|
||||
ov_SC03_112_MAPFILE := $(ov_SC03_112_OUT).map
|
||||
ov_SC03_112_LD_SCRIPT := $(ov_SC03_112_OUT).ld
|
||||
ov_SC03_112_SPLAT_YAML := config/splat.ov_SC03_112.yaml
|
||||
ov_SC03_112_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_112.o,ov_SC03_112_jr_8012ACE0.o,tail2.data.o,ov_SC03_112_jr_80135888.o,tail3.data.o,ov_SC03_112_jr_80135A4C.o,tail4.data.o,ov_SC03_112_jr_80135D20.o,tail5.data.o,ov_SC03_112_jr_801380E0.o,ov_SC03_112_o0c.o,tail6.data.o,ov_SC03_112_jr_8013F350.o,tail7.data.o,ov_SC03_112_jr_8013FFD8.o,tail8.data.o,ov_SC03_112_jr_80140608.o,tail9.data.o,ov_SC03_112_jr_8015444C.o,ov_SC03_112_jr_80154C24.o,ov_SC03_112_jr_801588CC.o,ov_SC03_112_jr_80159C84.o,tail10.data.o,ov_SC03_112_jr_8015A3C8.o,tail11.data.o,ov_SC03_112_jr_8015AE2C.o,tail12.data.o,ov_SC03_112_jr_8015C32C.o,tail13.data.o,ov_SC03_112_jr_8016AB6C.o,tail14.data.o,ov_SC03_112_jr_80171B4C.o,ov_SC03_112_jr_801734BC.o,tail15.data.o,ov_SC03_112_jr_801789AC.o,ov_SC03_112_jr_80178D40.o,tail16.data.o,ov_SC03_112_jr_8017A4AC.o,tail17.data.o,ov_SC03_112_jr_8017AE2C.o,ov_SC03_112_jr_8017C294.o,tail18.data.o,ov_SC03_112_jr_801817E0.o,tail19.data.o,ov_SC03_112_jr_80181F74.o,ov_SC03_112_jr_80182BF8.o,ov_SC03_112_jr_80183AE0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC03_112_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_112.o,ov_SC03_112_jr_8012ACE0.o,tail2.data.o,ov_SC03_112_jr_80135888.o,tail3.data.o,ov_SC03_112_jr_80135A4C.o,tail4.data.o,ov_SC03_112_jr_80135D20.o,tail5.data.o,ov_SC03_112_jr_801380E0.o,ov_SC03_112_o0c.o,tail6.data.o,ov_SC03_112_jr_8013F350.o,tail7.data.o,ov_SC03_112_jr_8013FFD8.o,tail8.data.o,ov_SC03_112_jr_80140608.o,tail9.data.o,ov_SC03_112_jr_8015444C.o,ov_SC03_112_jr_80154C24.o,ov_SC03_112_jr_801588CC.o,ov_SC03_112_jr_80159C84.o,tail10.data.o,ov_SC03_112_jr_8015A3C8.o,tail11.data.o,ov_SC03_112_jr_8015AE2C.o,tail12.data.o,ov_SC03_112_jr_8015C32C.o,tail13.data.o,ov_SC03_112_jr_8016AB6C.o,tail14.data.o,ov_SC03_112_jr_80171B4C.o,ov_SC03_112_jr_801734BC.o,tail15.data.o,ov_SC03_112_jr_801789AC.o,ov_SC03_112_jr_80178D40.o,tail16.data.o,ov_SC03_112_jr_8017A4AC.o,tail17.data.o,ov_SC03_112_jr_8017AE2C.o,ov_SC03_112_jr_8017C294.o,tail18.data.o,ov_SC03_112_jr_801817E0.o,ov_SC03_112_jr_80181F74.o,ov_SC03_112_jr_80182BF8.o,ov_SC03_112_jr_80183AE0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC03_112/ov_SC03_112.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -2603,6 +2603,7 @@ build/src/ov_SC03_112/ov_SC03_112_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178
|
||||
build/src/ov_SC03_112/ov_SC03_112_jr_801817E0.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC03_112/ov_SC03_112_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
ov_SC03_112_CHECK_SHA := config/check.ov_SC03_112.sha
|
||||
ov_SC03_112_SYMBOLS := config/symbols.ov_SC03_112.txt
|
||||
@@ -4172,7 +4173,7 @@ ov_SC06_011_ELF := $(ov_SC06_011_OUT).elf
|
||||
ov_SC06_011_MAPFILE := $(ov_SC06_011_OUT).map
|
||||
ov_SC06_011_LD_SCRIPT := $(ov_SC06_011_OUT).ld
|
||||
ov_SC06_011_SPLAT_YAML := config/splat.ov_SC06_011.yaml
|
||||
ov_SC06_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_011.o,ov_SC06_011_jr_8012ACE0.o,tail2.data.o,ov_SC06_011_jr_80135888.o,tail3.data.o,ov_SC06_011_jr_80135A4C.o,tail4.data.o,ov_SC06_011_jr_80135D20.o,tail5.data.o,ov_SC06_011_jr_801380E0.o,ov_SC06_011_o0c.o,tail6.data.o,ov_SC06_011_jr_8013F350.o,tail7.data.o,ov_SC06_011_jr_8013FFD8.o,tail8.data.o,ov_SC06_011_jr_80140608.o,tail9.data.o,ov_SC06_011_jr_8015444C.o,ov_SC06_011_jr_80154C24.o,ov_SC06_011_jr_801588CC.o,ov_SC06_011_jr_80159C84.o,tail10.data.o,ov_SC06_011_jr_8015A3C8.o,tail11.data.o,ov_SC06_011_jr_8015AE2C.o,tail12.data.o,ov_SC06_011_jr_8015C32C.o,tail13.data.o,ov_SC06_011_jr_8016AB6C.o,tail14.data.o,ov_SC06_011_jr_80171B4C.o,ov_SC06_011_jr_801734BC.o,tail15.data.o,ov_SC06_011_jr_801789AC.o,ov_SC06_011_jr_80178D40.o,tail16.data.o,ov_SC06_011_jr_8017A4AC.o,tail17.data.o,ov_SC06_011_jr_8017AE2C.o,ov_SC06_011_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC06_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_011.o,ov_SC06_011_jr_8012ACE0.o,tail2.data.o,ov_SC06_011_jr_80135888.o,tail3.data.o,ov_SC06_011_jr_80135A4C.o,tail4.data.o,ov_SC06_011_jr_80135D20.o,tail5.data.o,ov_SC06_011_jr_801380E0.o,ov_SC06_011_o0c.o,tail6.data.o,ov_SC06_011_jr_8013F350.o,tail7.data.o,ov_SC06_011_jr_8013FFD8.o,tail8.data.o,ov_SC06_011_jr_80140608.o,tail9.data.o,ov_SC06_011_jr_8015444C.o,ov_SC06_011_jr_80154C24.o,ov_SC06_011_jr_801588CC.o,ov_SC06_011_jr_80159C84.o,tail10.data.o,ov_SC06_011_jr_8015A3C8.o,tail11.data.o,ov_SC06_011_jr_8015AE2C.o,tail12.data.o,ov_SC06_011_jr_8015C32C.o,tail13.data.o,ov_SC06_011_jr_8016AB6C.o,tail14.data.o,ov_SC06_011_jr_80171B4C.o,ov_SC06_011_jr_801734BC.o,tail15.data.o,ov_SC06_011_jr_801789AC.o,ov_SC06_011_jr_80178D40.o,tail16.data.o,ov_SC06_011_jr_8017A4AC.o,tail17.data.o,ov_SC06_011_jr_8017AE2C.o,ov_SC06_011_jr_8017BEBC.o,ov_SC06_011_jr_8017EEEC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC06_011/ov_SC06_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC06_011/ov_SC06_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -4439,6 +4440,7 @@ build/src/ov_SC06_022/ov_SC06_022_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_80182D08.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC06_022/ov_SC06_022_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
@@ -4477,6 +4479,7 @@ build/src/ov_SC06_024/ov_SC06_024_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x48
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_80181D34.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_801851E0.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC06_024/ov_SC06_024_jr_80186F00.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC06_024/ov_SC06_024_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
@@ -4861,7 +4864,7 @@ ov_SC07_006_ELF := $(ov_SC07_006_OUT).elf
|
||||
ov_SC07_006_MAPFILE := $(ov_SC07_006_OUT).map
|
||||
ov_SC07_006_LD_SCRIPT := $(ov_SC07_006_OUT).ld
|
||||
ov_SC07_006_SPLAT_YAML := config/splat.ov_SC07_006.yaml
|
||||
ov_SC07_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_006.o,ov_SC07_006_jr_80131340.o,tail2.data.o,ov_SC07_006_jr_80135888.o,tail3.data.o,ov_SC07_006_jr_80135A4C.o,tail4.data.o,ov_SC07_006_jr_80135D20.o,tail5.data.o,ov_SC07_006_jr_801380E0.o,ov_SC07_006_o0c.o,tail6.data.o,ov_SC07_006_jr_8013F350.o,tail7.data.o,ov_SC07_006_jr_8014032C.o,tail8.data.o,ov_SC07_006_jr_80140608.o,tail9.data.o,ov_SC07_006_jr_8015444C.o,ov_SC07_006_jr_80154C24.o,ov_SC07_006_jr_801588CC.o,ov_SC07_006_jr_80159C84.o,tail10.data.o,ov_SC07_006_jr_8015A3C8.o,tail11.data.o,ov_SC07_006_jr_8015B950.o,tail12.data.o,ov_SC07_006_jr_8015C32C.o,tail13.data.o,ov_SC07_006_jr_8016AE5C.o,tail14.data.o,ov_SC07_006_jr_80171B4C.o,tail15.data.o,ov_SC07_006_jr_801789AC.o,ov_SC07_006_jr_80179B74.o,tail16.data.o,ov_SC07_006_jr_8017AE2C.o,ov_SC07_006_jr_8017BEBC.o,tail17.data.o,ov_SC07_006_jr_80183814.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC07_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_006.o,ov_SC07_006_jr_80131340.o,tail2.data.o,ov_SC07_006_jr_80135888.o,tail3.data.o,ov_SC07_006_jr_80135A4C.o,tail4.data.o,ov_SC07_006_jr_80135D20.o,tail5.data.o,ov_SC07_006_jr_801380E0.o,ov_SC07_006_o0c.o,tail6.data.o,ov_SC07_006_jr_8013F350.o,tail7.data.o,ov_SC07_006_jr_8014032C.o,tail8.data.o,ov_SC07_006_jr_80140608.o,tail9.data.o,ov_SC07_006_jr_8015444C.o,ov_SC07_006_jr_80154C24.o,ov_SC07_006_jr_801588CC.o,ov_SC07_006_jr_80159C84.o,tail10.data.o,ov_SC07_006_jr_8015A3C8.o,tail11.data.o,ov_SC07_006_jr_8015B950.o,tail12.data.o,ov_SC07_006_jr_8015C32C.o,tail13.data.o,ov_SC07_006_jr_8016AB6C.o,ov_SC07_006_jr_8016AE5C.o,tail14.data.o,ov_SC07_006_jr_80171B4C.o,tail15.data.o,ov_SC07_006_jr_801789AC.o,ov_SC07_006_jr_80179B74.o,tail16.data.o,ov_SC07_006_jr_8017AE2C.o,ov_SC07_006_jr_8017BEBC.o,tail17.data.o,ov_SC07_006_jr_80183814.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC07_006/ov_SC07_006.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -4875,7 +4878,6 @@ build/src/ov_SC07_006/ov_SC07_006_jr_8015A3C8.o: JTBL_PADS := 0,4 # §8e pads (
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_801789AC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_80179B74.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90
|
||||
build/src/ov_SC07_006/ov_SC07_006_jr_80183814.o: JTBL_PADS := 0 # §8e pads — one table since wave dd banked func_8018A150 (P31 S60)
|
||||
build/src/ov_SC07_006/ov_SC07_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
ov_SC07_006_CHECK_SHA := config/check.ov_SC07_006.sha
|
||||
ov_SC07_006_SYMBOLS := config/symbols.ov_SC07_006.txt
|
||||
@@ -4898,7 +4900,7 @@ ov_SC07_007_ELF := $(ov_SC07_007_OUT).elf
|
||||
ov_SC07_007_MAPFILE := $(ov_SC07_007_OUT).map
|
||||
ov_SC07_007_LD_SCRIPT := $(ov_SC07_007_OUT).ld
|
||||
ov_SC07_007_SPLAT_YAML := config/splat.ov_SC07_007.yaml
|
||||
ov_SC07_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_007.o,ov_SC07_007_jr_80131340.o,tail2.data.o,ov_SC07_007_jr_80135888.o,tail3.data.o,ov_SC07_007_jr_80135A4C.o,tail4.data.o,ov_SC07_007_jr_80135D20.o,tail5.data.o,ov_SC07_007_jr_801380E0.o,ov_SC07_007_o0c.o,tail6.data.o,ov_SC07_007_jr_8013F350.o,tail7.data.o,ov_SC07_007_jr_8014032C.o,tail8.data.o,ov_SC07_007_jr_80140608.o,tail9.data.o,ov_SC07_007_jr_8015444C.o,ov_SC07_007_jr_80154C24.o,ov_SC07_007_jr_801588CC.o,ov_SC07_007_jr_80159C84.o,tail10.data.o,ov_SC07_007_jr_8015A3C8.o,tail11.data.o,ov_SC07_007_jr_8015B950.o,tail12.data.o,ov_SC07_007_jr_8015C32C.o,tail13.data.o,ov_SC07_007_jr_8016AE5C.o,tail14.data.o,ov_SC07_007_jr_80171B4C.o,tail15.data.o,ov_SC07_007_jr_801789AC.o,ov_SC07_007_jr_80179B74.o,tail16.data.o,ov_SC07_007_jr_8017AE2C.o,ov_SC07_007_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC07_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_007.o,ov_SC07_007_jr_80131340.o,tail2.data.o,ov_SC07_007_jr_80135888.o,tail3.data.o,ov_SC07_007_jr_80135A4C.o,tail4.data.o,ov_SC07_007_jr_80135D20.o,tail5.data.o,ov_SC07_007_jr_801380E0.o,ov_SC07_007_o0c.o,tail6.data.o,ov_SC07_007_jr_8013F350.o,tail7.data.o,ov_SC07_007_jr_8014032C.o,tail8.data.o,ov_SC07_007_jr_80140608.o,tail9.data.o,ov_SC07_007_jr_8015444C.o,ov_SC07_007_jr_80154C24.o,ov_SC07_007_jr_801588CC.o,ov_SC07_007_jr_80159C84.o,tail10.data.o,ov_SC07_007_jr_8015A3C8.o,tail11.data.o,ov_SC07_007_jr_8015B950.o,tail12.data.o,ov_SC07_007_jr_8015C32C.o,tail13.data.o,ov_SC07_007_jr_8016AB6C.o,ov_SC07_007_jr_8016AE5C.o,tail14.data.o,ov_SC07_007_jr_80171B4C.o,tail15.data.o,ov_SC07_007_jr_801789AC.o,ov_SC07_007_jr_80179B74.o,tail16.data.o,ov_SC07_007_jr_8017AE2C.o,ov_SC07_007_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC07_007/ov_SC07_007.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc
|
||||
build/src/ov_SC07_007/ov_SC07_007_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC07_007/ov_SC07_007_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -4935,7 +4937,7 @@ ov_SC07_010_ELF := $(ov_SC07_010_OUT).elf
|
||||
ov_SC07_010_MAPFILE := $(ov_SC07_010_OUT).map
|
||||
ov_SC07_010_LD_SCRIPT := $(ov_SC07_010_OUT).ld
|
||||
ov_SC07_010_SPLAT_YAML := config/splat.ov_SC07_010.yaml
|
||||
ov_SC07_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_010.o,ov_SC07_010_jr_80131340.o,tail2.data.o,ov_SC07_010_jr_80135888.o,tail3.data.o,ov_SC07_010_jr_80135A4C.o,tail4.data.o,ov_SC07_010_jr_80135D20.o,tail5.data.o,ov_SC07_010_jr_801380E0.o,ov_SC07_010_o0.o,tail6.data.o,ov_SC07_010_jr_8013F350.o,tail7.data.o,ov_SC07_010_jr_8014032C.o,tail8.data.o,ov_SC07_010_jr_80140608.o,tail9.data.o,ov_SC07_010_jr_8015444C.o,ov_SC07_010_jr_80154C24.o,ov_SC07_010_jr_801588CC.o,ov_SC07_010_jr_80159C84.o,tail10.data.o,ov_SC07_010_jr_8015A3C8.o,tail11.data.o,ov_SC07_010_jr_8015B950.o,tail12.data.o,ov_SC07_010_jr_8015C32C.o,tail13.data.o,ov_SC07_010_jr_8016AE5C.o,tail14.data.o,ov_SC07_010_jr_80171B4C.o,tail15.data.o,ov_SC07_010_jr_801789AC.o,ov_SC07_010_jr_80179B74.o,tail16.data.o,ov_SC07_010_jr_8017AE2C.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC07_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_010.o,ov_SC07_010_jr_80131340.o,tail2.data.o,ov_SC07_010_jr_80135888.o,tail3.data.o,ov_SC07_010_jr_80135A4C.o,tail4.data.o,ov_SC07_010_jr_80135D20.o,tail5.data.o,ov_SC07_010_jr_801380E0.o,ov_SC07_010_o0.o,tail6.data.o,ov_SC07_010_jr_8013F350.o,tail7.data.o,ov_SC07_010_jr_8014032C.o,tail8.data.o,ov_SC07_010_jr_80140608.o,tail9.data.o,ov_SC07_010_jr_8015444C.o,ov_SC07_010_jr_80154C24.o,ov_SC07_010_jr_801588CC.o,ov_SC07_010_jr_80159C84.o,tail10.data.o,ov_SC07_010_jr_8015A3C8.o,tail11.data.o,ov_SC07_010_jr_8015B950.o,tail12.data.o,ov_SC07_010_jr_8015C32C.o,tail13.data.o,ov_SC07_010_jr_8016AB6C.o,ov_SC07_010_jr_8016AE5C.o,tail14.data.o,ov_SC07_010_jr_80171B4C.o,tail15.data.o,ov_SC07_010_jr_801789AC.o,ov_SC07_010_jr_80179B74.o,tail16.data.o,ov_SC07_010_jr_8017AE2C.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC07_010/ov_SC07_010.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc
|
||||
build/src/ov_SC07_010/ov_SC07_010_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC07_010/ov_SC07_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -4971,7 +4973,7 @@ ov_SC07_011_ELF := $(ov_SC07_011_OUT).elf
|
||||
ov_SC07_011_MAPFILE := $(ov_SC07_011_OUT).map
|
||||
ov_SC07_011_LD_SCRIPT := $(ov_SC07_011_OUT).ld
|
||||
ov_SC07_011_SPLAT_YAML := config/splat.ov_SC07_011.yaml
|
||||
ov_SC07_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_011.o,ov_SC07_011_jr_80131340.o,tail2.data.o,ov_SC07_011_jr_80135888.o,tail3.data.o,ov_SC07_011_jr_80135A4C.o,tail4.data.o,ov_SC07_011_jr_80135D20.o,tail5.data.o,ov_SC07_011_jr_801380E0.o,ov_SC07_011_o0c.o,tail6.data.o,ov_SC07_011_jr_8013F350.o,tail7.data.o,ov_SC07_011_jr_8014032C.o,tail8.data.o,ov_SC07_011_jr_80140608.o,tail9.data.o,ov_SC07_011_jr_8015444C.o,ov_SC07_011_jr_80154C24.o,ov_SC07_011_jr_801588CC.o,ov_SC07_011_jr_80159C84.o,tail10.data.o,ov_SC07_011_jr_8015A3C8.o,tail11.data.o,ov_SC07_011_jr_8015B950.o,tail12.data.o,ov_SC07_011_jr_8015C32C.o,tail13.data.o,ov_SC07_011_jr_8016AE5C.o,tail14.data.o,ov_SC07_011_jr_80171B4C.o,tail15.data.o,ov_SC07_011_jr_801789AC.o,ov_SC07_011_jr_80179B74.o,tail16.data.o,ov_SC07_011_jr_8017AE2C.o,ov_SC07_011_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC07_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_011.o,ov_SC07_011_jr_80131340.o,tail2.data.o,ov_SC07_011_jr_80135888.o,tail3.data.o,ov_SC07_011_jr_80135A4C.o,tail4.data.o,ov_SC07_011_jr_80135D20.o,tail5.data.o,ov_SC07_011_jr_801380E0.o,ov_SC07_011_o0c.o,tail6.data.o,ov_SC07_011_jr_8013F350.o,tail7.data.o,ov_SC07_011_jr_8014032C.o,tail8.data.o,ov_SC07_011_jr_80140608.o,tail9.data.o,ov_SC07_011_jr_8015444C.o,ov_SC07_011_jr_80154C24.o,ov_SC07_011_jr_801588CC.o,ov_SC07_011_jr_80159C84.o,tail10.data.o,ov_SC07_011_jr_8015A3C8.o,tail11.data.o,ov_SC07_011_jr_8015B950.o,tail12.data.o,ov_SC07_011_jr_8015C32C.o,tail13.data.o,ov_SC07_011_jr_8016AB6C.o,ov_SC07_011_jr_8016AE5C.o,tail14.data.o,ov_SC07_011_jr_80171B4C.o,tail15.data.o,ov_SC07_011_jr_801789AC.o,ov_SC07_011_jr_80179B74.o,tail16.data.o,ov_SC07_011_jr_8017AE2C.o,ov_SC07_011_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC07_011/ov_SC07_011.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc
|
||||
build/src/ov_SC07_011/ov_SC07_011_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC07_011/ov_SC07_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -5078,7 +5080,7 @@ ov_SC03_107_ELF := $(ov_SC03_107_OUT).elf
|
||||
ov_SC03_107_MAPFILE := $(ov_SC03_107_OUT).map
|
||||
ov_SC03_107_LD_SCRIPT := $(ov_SC03_107_OUT).ld
|
||||
ov_SC03_107_SPLAT_YAML := config/splat.ov_SC03_107.yaml
|
||||
ov_SC03_107_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_107.o,ov_SC03_107_jr_80131340.o,tail2.data.o,ov_SC03_107_jr_80135A4C.o,tail3.data.o,ov_SC03_107_jr_80135EB0.o,tail4.data.o,ov_SC03_107_jr_801380E0.o,ov_SC03_107_o0c.o,tail5.data.o,ov_SC03_107_jr_8013F350.o,tail6.data.o,ov_SC03_107_jr_8015444C.o,tail7.data.o,ov_SC03_107_jr_801549F8.o,ov_SC03_107_jr_801555F4.o,tail8.data.o,ov_SC03_107_jr_801594E8.o,ov_SC03_107_jr_80159C84.o,tail9.data.o,ov_SC03_107_jr_8015A3C8.o,tail10.data.o,ov_SC03_107_jr_8016AE5C.o,tail11.data.o,ov_SC03_107_jr_80171B4C.o,tail12.data.o,ov_SC03_107_jr_801789AC.o,tail13.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC03_107_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_107.o,ov_SC03_107_jr_80131340.o,tail2.data.o,ov_SC03_107_jr_80135A4C.o,tail3.data.o,ov_SC03_107_jr_80135EB0.o,tail4.data.o,ov_SC03_107_jr_801380E0.o,ov_SC03_107_o0c.o,tail5.data.o,ov_SC03_107_jr_8013F350.o,tail6.data.o,ov_SC03_107_jr_8015444C.o,tail7.data.o,ov_SC03_107_jr_801549F8.o,ov_SC03_107_jr_801555F4.o,tail8.data.o,ov_SC03_107_jr_801594E8.o,ov_SC03_107_jr_80159C84.o,tail9.data.o,ov_SC03_107_jr_8015A3C8.o,tail10.data.o,ov_SC03_107_jr_8016AB6C.o,ov_SC03_107_jr_8016AE5C.o,tail11.data.o,ov_SC03_107_jr_80171B4C.o,tail12.data.o,ov_SC03_107_jr_801789AC.o,tail13.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC03_107/ov_SC03_107.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc
|
||||
build/src/ov_SC03_107/ov_SC03_107_jr_80131340.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x2c
|
||||
build/src/ov_SC03_107/ov_SC03_107_jr_80135A4C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
|
||||
@@ -121,6 +121,7 @@ segments:
|
||||
- [0x52354, c, ov_SC02_000_jr_8017A4AC]
|
||||
- [0x52cd4, c, ov_SC02_000_jr_8017AE2C]
|
||||
- [0x5692c, c, ov_SC02_000_jr_8017EA84]
|
||||
- [0x577f8, c, ov_SC02_000_jr_8017F950]
|
||||
- [0x579cc, c, ov_SC02_000_jr_8017FB24]
|
||||
- [0x57b58, c, ov_SC02_000_jr_8017FCB0]
|
||||
- [0x5876c, c, ov_SC02_000_jr_801808C4]
|
||||
@@ -171,6 +172,8 @@ segments:
|
||||
- [0xbe768, .rodata, ov_SC02_000_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe7fc, .rodata, ov_SC02_000_jr_8017EA84] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe8a8, data, tail18]
|
||||
- [0xbe8bc, .rodata, ov_SC02_000_jr_8017F950] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe920, data, tail19]
|
||||
- [0xbe924, .rodata, ov_SC02_000_jr_8017FB24] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe944, .rodata, ov_SC02_000_jr_8017FCB0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe9a4, .rodata, ov_SC02_000_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
@@ -178,7 +181,7 @@ segments:
|
||||
- [0xbeaa4, .rodata, ov_SC02_000_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeae4, .rodata, ov_SC02_000_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb04, .rodata, ov_SC02_000_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb24, data, tail19]
|
||||
- [0xbeb24, data, tail20]
|
||||
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0xC070F] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -121,6 +121,7 @@ segments:
|
||||
- [0x52354, c, ov_SC02_003_jr_8017A4AC]
|
||||
- [0x52cd4, c, ov_SC02_003_jr_8017AE2C]
|
||||
- [0x5692c, c, ov_SC02_003_jr_8017EA84]
|
||||
- [0x577f8, c, ov_SC02_003_jr_8017F950]
|
||||
- [0x579cc, c, ov_SC02_003_jr_8017FB24]
|
||||
- [0x57b58, c, ov_SC02_003_jr_8017FCB0]
|
||||
- [0x5876c, c, ov_SC02_003_jr_801808C4]
|
||||
@@ -171,6 +172,8 @@ segments:
|
||||
- [0xbe768, .rodata, ov_SC02_003_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe7fc, .rodata, ov_SC02_003_jr_8017EA84] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe8a8, data, tail18]
|
||||
- [0xbe8bc, .rodata, ov_SC02_003_jr_8017F950] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe920, data, tail19]
|
||||
- [0xbe924, .rodata, ov_SC02_003_jr_8017FB24] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe944, .rodata, ov_SC02_003_jr_8017FCB0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe9a4, .rodata, ov_SC02_003_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
@@ -178,7 +181,7 @@ segments:
|
||||
- [0xbeaa4, .rodata, ov_SC02_003_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeae4, .rodata, ov_SC02_003_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb04, .rodata, ov_SC02_003_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb24, data, tail19]
|
||||
- [0xbeb24, data, tail20]
|
||||
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0xC070F] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -109,6 +109,7 @@ segments:
|
||||
- [0x31390, c, ov_SC03_107_jr_801594E8]
|
||||
- [0x31b2c, c, ov_SC03_107_jr_80159C84]
|
||||
- [0x32270, c, ov_SC03_107_jr_8015A3C8]
|
||||
- [0x42a14, c, ov_SC03_107_jr_8016AB6C]
|
||||
- [0x42d04, c, ov_SC03_107_jr_8016AE5C]
|
||||
- [0x499f4, c, ov_SC03_107_jr_80171B4C]
|
||||
- [0x50854, c, ov_SC03_107_jr_801789AC]
|
||||
@@ -135,6 +136,7 @@ segments:
|
||||
- [0x71f7c, data, tail9]
|
||||
- [0x71f80, .rodata, ov_SC03_107_jr_8015A3C8] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x71ffc, data, tail10]
|
||||
- [0x72014, .rodata, ov_SC03_107_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x72034, .rodata, ov_SC03_107_jr_8016AE5C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x72054, data, tail11]
|
||||
- [0x72094, .rodata, ov_SC03_107_jr_80171B4C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -169,11 +169,10 @@ segments:
|
||||
- [0x8380c, .rodata, ov_SC03_112_jr_8017C294] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x8382c, data, tail18]
|
||||
- [0x83834, .rodata, ov_SC03_112_jr_801817E0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x83848, data, tail19]
|
||||
- [0x83914, .rodata, ov_SC03_112_jr_80181F74] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x83928, .rodata, ov_SC03_112_jr_80182BF8] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x83990, .rodata, ov_SC03_112_jr_80183AE0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x839b8, data, tail20]
|
||||
- [0x839b8, data, tail19]
|
||||
- [0x84FF4, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0x84FF7] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -121,6 +121,7 @@ segments:
|
||||
- [0x52354, c, ov_SC06_011_jr_8017A4AC]
|
||||
- [0x52cd4, c, ov_SC06_011_jr_8017AE2C]
|
||||
- [0x53d64, c, ov_SC06_011_jr_8017BEBC]
|
||||
- [0x56d94, c, ov_SC06_011_jr_8017EEEC]
|
||||
- [0x582ac, data, tail]
|
||||
- [0x815b8, .rodata, ov_SC06_011] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x81694, .rodata, ov_SC06_011_jr_8012ACE0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
@@ -163,7 +164,8 @@ segments:
|
||||
- [0x826d4, data, tail17]
|
||||
- [0x826d8, .rodata, ov_SC06_011_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x826ec, .rodata, ov_SC06_011_jr_8017BEBC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x82728, data, tail18]
|
||||
- [0x82728, .rodata, ov_SC06_011_jr_8017EEEC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x8273c, data, tail18]
|
||||
- [0x83BFC, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0x83BFF] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -167,7 +167,7 @@ segments:
|
||||
- [0xb8948, data, tail17]
|
||||
- [0xb894c, .rodata, ov_SC06_022_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb8960, .rodata, ov_SC06_022_jr_8017BEBC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb8980, data, tail18]
|
||||
- [0xb8994, data, tail18]
|
||||
- [0xb8998, .rodata, ov_SC06_022_jr_80180CD0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb89d4, .rodata, ov_SC06_022_jr_80182D08] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb8ab4, .rodata, ov_SC06_022_jr_80184304] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -169,7 +169,7 @@ segments:
|
||||
- [0xb7a90, .rodata, ov_SC06_024_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb7aa4, .rodata, ov_SC06_024_jr_8017BEBC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb7b04, .rodata, ov_SC06_024_jr_80181D34] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb7b18, data, tail18]
|
||||
- [0xb7b38, data, tail18]
|
||||
- [0xb7b3c, .rodata, ov_SC06_024_jr_80183B3C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb7b58, .rodata, ov_SC06_024_jr_801851E0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xb7c38, .rodata, ov_SC06_024_jr_801867DC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -113,6 +113,7 @@ segments:
|
||||
- [0x32270, c, ov_SC07_006_jr_8015A3C8]
|
||||
- [0x337f8, c, ov_SC07_006_jr_8015B950]
|
||||
- [0x341d4, c, ov_SC07_006_jr_8015C32C]
|
||||
- [0x42a14, c, ov_SC07_006_jr_8016AB6C]
|
||||
- [0x42d04, c, ov_SC07_006_jr_8016AE5C]
|
||||
- [0x499f4, c, ov_SC07_006_jr_80171B4C]
|
||||
- [0x50854, c, ov_SC07_006_jr_801789AC]
|
||||
@@ -150,6 +151,7 @@ segments:
|
||||
- [0xcc614, data, tail12]
|
||||
- [0xcc618, .rodata, ov_SC07_006_jr_8015C32C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xcc634, data, tail13]
|
||||
- [0xcc64c, .rodata, ov_SC07_006_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xcc66c, .rodata, ov_SC07_006_jr_8016AE5C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xcc68c, data, tail14]
|
||||
- [0xcc6cc, .rodata, ov_SC07_006_jr_80171B4C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -113,6 +113,7 @@ segments:
|
||||
- [0x32270, c, ov_SC07_007_jr_8015A3C8]
|
||||
- [0x337f8, c, ov_SC07_007_jr_8015B950]
|
||||
- [0x341d4, c, ov_SC07_007_jr_8015C32C]
|
||||
- [0x42a14, c, ov_SC07_007_jr_8016AB6C]
|
||||
- [0x42d04, c, ov_SC07_007_jr_8016AE5C]
|
||||
- [0x499f4, c, ov_SC07_007_jr_80171B4C]
|
||||
- [0x50854, c, ov_SC07_007_jr_801789AC]
|
||||
@@ -149,6 +150,7 @@ segments:
|
||||
- [0x9ddf0, data, tail12]
|
||||
- [0x9ddf4, .rodata, ov_SC07_007_jr_8015C32C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x9de10, data, tail13]
|
||||
- [0x9de28, .rodata, ov_SC07_007_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x9de48, .rodata, ov_SC07_007_jr_8016AE5C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x9de68, data, tail14]
|
||||
- [0x9dea8, .rodata, ov_SC07_007_jr_80171B4C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -113,6 +113,7 @@ segments:
|
||||
- [0x32270, c, ov_SC07_010_jr_8015A3C8]
|
||||
- [0x337f8, c, ov_SC07_010_jr_8015B950]
|
||||
- [0x341d4, c, ov_SC07_010_jr_8015C32C]
|
||||
- [0x42a14, c, ov_SC07_010_jr_8016AB6C]
|
||||
- [0x42d04, c, ov_SC07_010_jr_8016AE5C]
|
||||
- [0x499f4, c, ov_SC07_010_jr_80171B4C]
|
||||
- [0x50854, c, ov_SC07_010_jr_801789AC]
|
||||
@@ -148,6 +149,7 @@ segments:
|
||||
- [0x7e2d0, data, tail12]
|
||||
- [0x7e2d4, .rodata, ov_SC07_010_jr_8015C32C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x7e2f0, data, tail13]
|
||||
- [0x7e308, .rodata, ov_SC07_010_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x7e328, .rodata, ov_SC07_010_jr_8016AE5C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x7e348, data, tail14]
|
||||
- [0x7e388, .rodata, ov_SC07_010_jr_80171B4C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -113,6 +113,7 @@ segments:
|
||||
- [0x32270, c, ov_SC07_011_jr_8015A3C8]
|
||||
- [0x337f8, c, ov_SC07_011_jr_8015B950]
|
||||
- [0x341d4, c, ov_SC07_011_jr_8015C32C]
|
||||
- [0x42a14, c, ov_SC07_011_jr_8016AB6C]
|
||||
- [0x42d04, c, ov_SC07_011_jr_8016AE5C]
|
||||
- [0x499f4, c, ov_SC07_011_jr_80171B4C]
|
||||
- [0x50854, c, ov_SC07_011_jr_801789AC]
|
||||
@@ -149,6 +150,7 @@ segments:
|
||||
- [0x66998, data, tail12]
|
||||
- [0x6699c, .rodata, ov_SC07_011_jr_8015C32C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x669b8, data, tail13]
|
||||
- [0x669d0, .rodata, ov_SC07_011_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x669f0, .rodata, ov_SC07_011_jr_8016AE5C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x66a10, data, tail14]
|
||||
- [0x66a50, .rodata, ov_SC07_011_jr_80171B4C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
|
||||
@@ -779,7 +779,132 @@ s32 func_801E3830(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s32 *arg4) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E38B4);
|
||||
|
||||
extern void func_8002B00C(void *);
|
||||
extern void func_801E48B8(s32);
|
||||
extern void func_80029774(s32);
|
||||
extern s32 func_8002D4C8(s32, s32);
|
||||
extern s32 func_8002AF48(s32);
|
||||
extern s32 func_8002AF60(void);
|
||||
extern void func_801E40A8(void);
|
||||
|
||||
s32 func_801E38B4(void)
|
||||
{
|
||||
extern s32 D_801EAC54;
|
||||
extern s16 D_8011512C;
|
||||
extern u8 D_801EAC45;
|
||||
extern u8 D_801EA960[];
|
||||
extern u16 D_80115118;
|
||||
extern u16 D_8011511A;
|
||||
extern s32 D_801E64E8;
|
||||
extern s16 D_801150D4;
|
||||
extern s32 D_801EAC3C;
|
||||
extern u8 D_801EAC4D;
|
||||
extern u8 D_801EAC44[];
|
||||
extern u8 D_801EAC4C[];
|
||||
extern u8 D_801EAC48[];
|
||||
extern void *D_801EAC58[];
|
||||
extern s32 D_801E6448;
|
||||
|
||||
s32 ret;
|
||||
short i;
|
||||
|
||||
ret = 0;
|
||||
if (D_801EAC54 != 0) {
|
||||
if (D_801EAC54 == 1) {
|
||||
s16 *p = &D_8011512C;
|
||||
|
||||
if (*p == 3 && D_801EAC45 == 8) {
|
||||
func_8002B00C(D_801EA960);
|
||||
func_801E48B8(0);
|
||||
func_80029774(0);
|
||||
*p = 4;
|
||||
D_80115118 = 0x4B;
|
||||
D_801E64E8 = 0x15;
|
||||
D_801150D4 = D_8011511A;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0xB3B, 0);
|
||||
} else {
|
||||
*p = 0;
|
||||
}
|
||||
} else {
|
||||
D_8011512C = 0xA;
|
||||
D_801E64E8 = 0x1B;
|
||||
D_80115118 = 0x4B;
|
||||
D_801EAC3C = 0;
|
||||
return;
|
||||
}
|
||||
D_801EAC3C = 0;
|
||||
D_801EAC4D = 0xFF;
|
||||
}
|
||||
|
||||
if (D_8011512C == 4 || D_8011512C == 0xA) {
|
||||
return;
|
||||
}
|
||||
if (D_801EAC45 == D_801EAC4D) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
D_801EAC4C[i] = D_801EAC44[i];
|
||||
}
|
||||
|
||||
switch (D_801EAC45) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
ret = 0xA;
|
||||
D_8011512C = 0;
|
||||
D_8011511A = 0;
|
||||
break;
|
||||
case 2:
|
||||
ret = 0xB;
|
||||
D_801150D4 = 0;
|
||||
D_8011512C = 0;
|
||||
D_8011511A = 0;
|
||||
break;
|
||||
case 3:
|
||||
ret = 0x1F;
|
||||
D_801150D4 = 0;
|
||||
D_8011512C = 8;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
reset_state:
|
||||
ret = 0x13;
|
||||
D_801150D4 = 0;
|
||||
D_8011512C = 8;
|
||||
break;
|
||||
case 7:
|
||||
ret = 0xA;
|
||||
break;
|
||||
case 8:
|
||||
ret = 0xC;
|
||||
if ((D_801EAC48[0] | D_801EAC48[1] | D_801EAC48[2] | D_801EAC48[3]) == 0) {
|
||||
goto reset_state;
|
||||
}
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (D_801EAC48[i] == 1) {
|
||||
((s32 *)D_801EAC58)[i] = func_8002AF48(i);
|
||||
} else {
|
||||
((s32 *)D_801EAC58)[i] = 0;
|
||||
}
|
||||
}
|
||||
if (((s32 *)D_801EAC58)[0] == 0 && ((s32 *)D_801EAC58)[1] == 0 && ((s32 *)D_801EAC58)[2] == 0 &&
|
||||
((s32 *)D_801EAC58)[3] == 0) {
|
||||
goto reset_state;
|
||||
}
|
||||
D_8011512C = 1;
|
||||
D_8011511A = (func_8002AF60() & 3) + 1;
|
||||
func_801E40A8();
|
||||
break;
|
||||
}
|
||||
|
||||
if (ret != 0) {
|
||||
D_801E6448 = ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ void func_801EDF80(void)
|
||||
extern s32 func_8002B0B4(s32, s32, void *);
|
||||
extern void func_801EEC54(void);
|
||||
extern void func_801EEFBC(void);
|
||||
extern s32 func_801EE0D4(void);
|
||||
extern s32 func_801EE0D4();
|
||||
extern void func_801EE730(void);
|
||||
|
||||
u16 idx;
|
||||
@@ -298,7 +298,284 @@ INCLUDE_RODATA("asm/md_SC05_026/nonmatchings/md_SC05_026", D_801ED988);
|
||||
|
||||
INCLUDE_RODATA("asm/md_SC05_026/nonmatchings/md_SC05_026", D_801EDA60);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC05_026/nonmatchings/md_SC05_026", func_801EE0D4);
|
||||
typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C;
|
||||
typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C;
|
||||
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974;
|
||||
|
||||
extern s32 func_80014ED4(s32);
|
||||
extern s32 func_80015018(s32);
|
||||
extern s16 func_8014168C(s16);
|
||||
extern void func_801EFC30(void);
|
||||
extern void func_801EFC58(s32);
|
||||
extern void func_8002AF70(void *, s32);
|
||||
extern s32 func_8002D4C8(s32, s32);
|
||||
extern void func_8002AF18(void);
|
||||
|
||||
|
||||
s32 func_801EE0D4(void) {
|
||||
|
||||
extern u16 D_8011511A;
|
||||
extern u8 D_801F8303[];
|
||||
extern s32 D_801F18D8;
|
||||
extern s16 D_801F8014;
|
||||
extern u8 D_801F801C[];
|
||||
extern s32 D_801F82FC;
|
||||
extern u8 D_801F8309;
|
||||
s32 *p;
|
||||
s32 *p2;
|
||||
u16 *ph;
|
||||
s16 *q;
|
||||
s32 pad;
|
||||
s32 flag;
|
||||
s32 st;
|
||||
s32 t;
|
||||
s32 t2;
|
||||
s32 sv;
|
||||
s32 x;
|
||||
s32 r;
|
||||
s32 unused[4];
|
||||
|
||||
flag = 0;
|
||||
pad = func_80014ED4(0);
|
||||
func_80015018(0);
|
||||
func_8014168C(D_8011511A);
|
||||
|
||||
if (pad & 0x40) {
|
||||
st = D_8011512C;
|
||||
switch (st) {
|
||||
case 1:
|
||||
if (D_80115126 == 0) {
|
||||
if (D_801F8303[D_8011511A] == 1) {
|
||||
D_801F1838 = 0x19;
|
||||
} else {
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x472, 0);
|
||||
return 0;
|
||||
}
|
||||
} else if (D_801F8303[D_8011511A] == 1) {
|
||||
D_801F1838 = 0x16;
|
||||
} else {
|
||||
D_801F1838 = 0x19;
|
||||
}
|
||||
D_8011512C = 2;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
return 0;
|
||||
case 2:
|
||||
func_801EFC30();
|
||||
if (D_80115126 == 0) {
|
||||
D_801F18D8 = 0x14;
|
||||
D_801F82F8 = 2;
|
||||
D_801F82FC = D_8011511A - 1;
|
||||
} else {
|
||||
D_801F82FC = D_8011511A - 1;
|
||||
func_801EFC58(1);
|
||||
func_8002AF70(D_801F801C, D_801F82FC);
|
||||
D_801F18D8 = 0xE;
|
||||
D_801F82F8 = 1;
|
||||
}
|
||||
D_8011512C = 3;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
return 0;
|
||||
case 4:
|
||||
case 7:
|
||||
Lcheck47:
|
||||
if ((*(u16 *)&D_80115118) < 0x47) {
|
||||
goto Lreset;
|
||||
}
|
||||
return 0;
|
||||
case 9:
|
||||
p = &D_801F1838;
|
||||
if (*p == 0x1D || *p == 0x21) {
|
||||
goto Lmsg473ret1;
|
||||
}
|
||||
(*(s16 *)&D_801F8010) = 0;
|
||||
D_801F8018 = 1;
|
||||
D_8011512C = 0;
|
||||
*p = D_801F17A0;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
return 0;
|
||||
case 5:
|
||||
goto Lload;
|
||||
case 0:
|
||||
case 3:
|
||||
case 6:
|
||||
case 8:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
break;
|
||||
default:
|
||||
goto Ltail;
|
||||
}
|
||||
return 0;
|
||||
} else if (pad & 0x10) {
|
||||
st = D_8011512C;
|
||||
switch (st) {
|
||||
case 0:
|
||||
if (D_801F1838 != 0xB) {
|
||||
return 0;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
Lmsg473:
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x473, 0);
|
||||
t = D_801F8014;
|
||||
sv = t;
|
||||
if (t == 0) {
|
||||
return 1;
|
||||
}
|
||||
x = (t == 1) ? 0x1D : 0x21;
|
||||
r = 0;
|
||||
t = 9;
|
||||
D_8011512C = t;
|
||||
D_801F1838 = x;
|
||||
t = 0xFF;
|
||||
goto Lstore;
|
||||
case 2:
|
||||
if (D_80115126 == 0) {
|
||||
D_801F1838 = 0xC;
|
||||
} else {
|
||||
D_801F1838 = 0xD;
|
||||
}
|
||||
D_8011512C = 1;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x473, 0);
|
||||
return 0;
|
||||
case 5:
|
||||
case 8:
|
||||
if (D_80115126 != 0) {
|
||||
goto Lmsg473;
|
||||
}
|
||||
Lmsg473ret1:
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x473, 0);
|
||||
return 1;
|
||||
case 9:
|
||||
p2 = &D_801F1838;
|
||||
if (*p2 == 0x1D || *p2 == 0x21) {
|
||||
if (D_801F8018 == 0) {
|
||||
*p2 = 0x1A;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
return 0;
|
||||
}
|
||||
(*(s16 *)&D_801F8010) = 0;
|
||||
D_8011512C = 0;
|
||||
*p2 = D_801F17A0;
|
||||
((s32 (*)(void))func_8002AF18)();
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
return 0;
|
||||
}
|
||||
*p2 = (D_801F8014 == 1) ? 0x1D : 0x21;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x473, 0);
|
||||
return 0;
|
||||
case 4:
|
||||
case 7:
|
||||
goto Lcheck47;
|
||||
case 3:
|
||||
case 6:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
break;
|
||||
default:
|
||||
goto Ltail;
|
||||
}
|
||||
return 0;
|
||||
} else if (pad & 0x20) {
|
||||
st = D_8011512C;
|
||||
if (st == 5) {
|
||||
D_801F18D8 = 0x17;
|
||||
D_8011512C = 6;
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45D, 0);
|
||||
D_801F82F8 = 3;
|
||||
return 0;
|
||||
}
|
||||
goto Ltail;
|
||||
}
|
||||
Lload:
|
||||
st = D_8011512C;
|
||||
Ltail:
|
||||
if (st == 4 || st == 7 || st >= 10) {
|
||||
ph = &(*(u16 *)&D_80115118);
|
||||
if (*ph != 0) {
|
||||
*ph = *ph - 1;
|
||||
goto Lmid;
|
||||
}
|
||||
Lreset:
|
||||
(*(u16 *)&D_80115118) = 0;
|
||||
if (D_80115126 == 0) {
|
||||
if (D_8011512C == 4) {
|
||||
return -1;
|
||||
}
|
||||
D_801F1838 = 0xC;
|
||||
} else {
|
||||
t2 = D_801F8014;
|
||||
sv = t2;
|
||||
if (t2 != 0 && D_8011512C == 4) {
|
||||
t = (t2 == 1) ? 0x1D : 0x21;
|
||||
r = 0;
|
||||
D_801F1838 = t;
|
||||
t = 9;
|
||||
D_8011512C = t;
|
||||
t = 0xFF;
|
||||
Lstore:
|
||||
(*(s16 *)&D_801F8010) = sv;
|
||||
D_801F8309 = t;
|
||||
return r;
|
||||
}
|
||||
D_801F1838 = 0xD;
|
||||
q = &D_8011512C;
|
||||
if (*q == 0xC) {
|
||||
*q = 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
D_8011512C = 1;
|
||||
return 0;
|
||||
}
|
||||
Lmid:
|
||||
if (D_8011512C != 1) {
|
||||
return 0;
|
||||
}
|
||||
if (pad & 0x1000) {
|
||||
t = D_8011511A;
|
||||
D_8011511A = t - 2;
|
||||
flag = 1;
|
||||
if (D_8011511A == 0 || D_8011511A >= 5) {
|
||||
D_8011511A = t + 2;
|
||||
}
|
||||
}
|
||||
if (pad & 0x4000) {
|
||||
ph = &D_8011511A;
|
||||
t2 = *ph;
|
||||
*ph = t2 + 2;
|
||||
flag = 1;
|
||||
if (*ph >= 5) {
|
||||
*ph = t2 - 2;
|
||||
}
|
||||
}
|
||||
if (pad & 0x8000) {
|
||||
ph = &D_8011511A;
|
||||
t2 = *ph;
|
||||
*ph = t2 + 1;
|
||||
flag = 1;
|
||||
if (*ph & 1) {
|
||||
*ph = t2 - 1;
|
||||
}
|
||||
}
|
||||
if (pad & 0x2000) {
|
||||
ph = &D_8011511A;
|
||||
t2 = *ph;
|
||||
*ph = t2 - 1;
|
||||
flag = 1;
|
||||
if (!(*ph & 1)) {
|
||||
*ph = t2 + 1;
|
||||
}
|
||||
}
|
||||
r = flag;
|
||||
if (r) {
|
||||
((void (*)(s32, s32))func_8002D4C8)(0x45A, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void func_801EE730(void) {
|
||||
typedef struct { u32 *ot; u32 pad[4]; } Env_801EFA40; /* 0x14 stride */
|
||||
|
||||
@@ -3411,6 +3411,3 @@ void func_8017F62C(s32 a0)
|
||||
*(u16 *)(a0 + 0xFC) = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017EA84", func_8017F950);
|
||||
|
||||
@@ -3409,6 +3409,3 @@ void func_8017F62C(s32 a0)
|
||||
*(u16 *)(a0 + 0xFC) = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017EA84", func_8017F950);
|
||||
|
||||
@@ -9082,6 +9082,3 @@ void func_8016AB30(void *a0) {
|
||||
extern void (*D_80185614[])(void);
|
||||
D_80185614[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_8015A3C8", func_8016AB6C);
|
||||
|
||||
@@ -3078,4 +3078,52 @@ TAIL:
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112_jr_801817E0", func_80181E88);
|
||||
|
||||
extern void func_80182708(s32 *a0);
|
||||
extern s32 func_80182944();
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_8012B14C(s32 a0, s32 a1);
|
||||
extern void func_8012E9C0(s32 a0);
|
||||
extern void func_80131E00(s32 a0, s32 a1);
|
||||
extern u8 D_801A8410[];
|
||||
extern u8 D_801A8420[];
|
||||
extern u8 D_801A8430[];
|
||||
extern s32 D_801A82E8;
|
||||
|
||||
void func_80181E88(s32 param_1)
|
||||
{
|
||||
s32 tbl;
|
||||
|
||||
func_80182708((s32 *)param_1);
|
||||
switch (*(u16 *)(param_1 + 0x5e)) {
|
||||
case 1:
|
||||
if (*(s16 *)(param_1 + 0x60) == 0) {
|
||||
*(u16 *)(param_1 + 0x76) = *(u16 *)(param_1 + 0x76) - *(s16 *)(param_1 + 0x60);
|
||||
if ((s32)(*(u16 *)(param_1 + 0x76) << 16) <= 0) {
|
||||
func_80131E00(param_1, 0xe);
|
||||
}
|
||||
func_8012E9C0(param_1);
|
||||
*(s16 *)(param_1 + 0x34) = 3;
|
||||
return;
|
||||
}
|
||||
tbl = (s32)D_801A8410;
|
||||
break;
|
||||
case 8:
|
||||
tbl = (s32)D_801A8420;
|
||||
break;
|
||||
case 5:
|
||||
case 0x1d:
|
||||
case 0x20:
|
||||
tbl = (s32)D_801A8430;
|
||||
break;
|
||||
case 0x32:
|
||||
default:
|
||||
tbl = (s32)D_801A8410;
|
||||
break;
|
||||
}
|
||||
func_8012B14C(param_1, tbl);
|
||||
((void (*)(s32, void *))func_8012A828)(param_1, &D_801A82E8);
|
||||
*(s16 *)(param_1 + 0x34) = 0;
|
||||
func_80182944(param_1);
|
||||
}
|
||||
|
||||
|
||||
@@ -4562,877 +4562,3 @@ void func_8017EDA4(void *a0) {
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_011/nonmatchings/ov_SC06_011_jr_8017BEBC", func_8017EEEC);
|
||||
|
||||
|
||||
extern void (*D_8019E268[])(void);
|
||||
|
||||
void func_8017F09C(void *a0) {
|
||||
D_8019E268[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8019E2A4[])(void);
|
||||
|
||||
void func_8017F0D8(void *a0) {
|
||||
D_8019E2A4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_8019E1B8;
|
||||
extern u8 D_8018077C[];
|
||||
|
||||
void func_8017F114(void *a0) {
|
||||
if (func_8012C354((s32)a0, (s32)&D_8019E1B8) != 0) {
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
func_8012A828((s32 *)a0, (s32)D_8018077C);
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0xE00;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0xE00;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0xE00;
|
||||
*(u16 *)((s32)a0 + 0xFC) = 0x300;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern u8 D_8018077C[];
|
||||
extern u8 D_8019E270[];
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
|
||||
void func_8017F1BC(arg0)
|
||||
s32 arg0;
|
||||
{
|
||||
|
||||
extern u8 D_8019E270[];
|
||||
s32 s0 = arg0;
|
||||
|
||||
if (func_8012C354(s0, (s32)D_8019E270) != 0) {
|
||||
*(u8 *)(s0 + 0xC0) = 1;
|
||||
func_8012A828((s32 *)s0, (s32)D_8018077C);
|
||||
*(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) | 0x10;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x18) = 0xAAA;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x1C) = 0xAAA;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8017E5D0(void);
|
||||
void func_8017F240(s32 arg0) {
|
||||
s32 temp_v0;
|
||||
func_8017E5D0();
|
||||
temp_v0 = *(s32 *)(arg0 + 0x1c) + 1;
|
||||
*(s32 *)(arg0 + 0x1c) = temp_v0;
|
||||
}
|
||||
|
||||
|
||||
extern void func_8016EE40(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 D_801A077C;
|
||||
void func_8017F278(void) {
|
||||
((void (*)(void *, s32))func_8016EE40)(&D_801A077C, 0x1000000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801A0794[])(void);
|
||||
|
||||
void func_8017F2A0(void *a0) {
|
||||
D_801A0794[*(u8 *)((s32)a0 + 0x216)]();
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80171990(u8 *a0);
|
||||
extern void func_8017F5F0(s32 a0);
|
||||
|
||||
void func_8017F2DC(a0)
|
||||
s32 a0;
|
||||
{
|
||||
s32 t;
|
||||
|
||||
func_8017F5F0(a0);
|
||||
t = *(s16 *)(a0 + 0x210);
|
||||
if (t >= 0) {
|
||||
t = 0x30;
|
||||
} else {
|
||||
t = -0x30;
|
||||
}
|
||||
*(s16 *)(a0 + 0x210) = t;
|
||||
func_80171990((u8 *)a0);
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_8017F6CC();
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80171928(void *a0);
|
||||
|
||||
void func_8017F324(void *param)
|
||||
{
|
||||
void *s0 = param;
|
||||
|
||||
if (func_8017F6CC() != 0) {
|
||||
func_8002D4C8(0x8B1, 0);
|
||||
func_80171928(s0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8016EE40(s32 a0, s32 a1, s32 a2);
|
||||
extern M2C_UNK D_801A079C;
|
||||
|
||||
void func_8017F364(void) {
|
||||
((void (*)(void *, s32))func_8016EE40)(&D_801A079C, 0x1000000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801A07A8[])(void);
|
||||
|
||||
void func_8017F38C(void *a0) {
|
||||
D_801A07A8[*(u8 *)((s32)a0 + 0x216)]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern s32 func_80012A60(s32 a0, s32 a1);
|
||||
extern s32 func_80171990(u8 *a0);
|
||||
extern s32 D_801ABBD8;
|
||||
|
||||
void func_8017F3C8(void *a0)
|
||||
{
|
||||
register void *s3 __asm__("$19") = a0;
|
||||
void *s2;
|
||||
register void *p __asm__("$3");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 bits;
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s1;
|
||||
|
||||
s2 = *(void **)((s32)s3 + 0x20);
|
||||
func_8017F5F0(s3);
|
||||
p = (*(void * *)&D_801ABBD8);
|
||||
if (p == 0) {
|
||||
goto END;
|
||||
}
|
||||
v0 = *(u16 *)((s32)s2 + 0x12) + 0x800;
|
||||
p = *(void **)((s32)p + 0x20);
|
||||
bits = *(u16 *)((s32)p + 0x12) & 0x400;
|
||||
s0 = v0 & 0xFFF;
|
||||
if (bits == 0) {
|
||||
goto ELSE;
|
||||
}
|
||||
s1 = func_80012A60(s0, 0x400);
|
||||
v0 = func_80012A60(s0, 0xC00);
|
||||
v1 = (s16)s1;
|
||||
v0 = (s16)v0;
|
||||
v0 = (v0 < v1);
|
||||
if (v0 != 0) {
|
||||
goto TRUE1;
|
||||
}
|
||||
v0 = 0x400;
|
||||
goto STORE;
|
||||
TRUE1:
|
||||
v0 = 0xC00;
|
||||
goto STORE;
|
||||
ELSE:
|
||||
s1 = func_80012A60(s0, 0);
|
||||
v0 = func_80012A60(s0, 0x800);
|
||||
v1 = (s16)s1;
|
||||
v0 = (s16)v0;
|
||||
v0 = (v0 < v1);
|
||||
if (v0 != 0) {
|
||||
goto TRUE2;
|
||||
}
|
||||
*(u16 *)((s32)s2 + 0x12) = 0;
|
||||
goto END;
|
||||
TRUE2:
|
||||
v0 = 0x800;
|
||||
STORE:
|
||||
*(u16 *)((s32)s2 + 0x12) = v0;
|
||||
END:
|
||||
func_80171990((u8 *)s3);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern s32 func_8017F6CC();
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern s32 func_80171990(u8*);
|
||||
|
||||
void func_8017F4D0(void *param)
|
||||
{
|
||||
void *s0 = param;
|
||||
|
||||
if (func_8017F6CC() != 0) {
|
||||
func_8002D4C8(0x8B1, 0);
|
||||
((void (*)(void *))func_80171990)(s0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80013328(s32 a0, s32 a1);
|
||||
extern u8 D_801202A0[];
|
||||
extern void func_800D1724(s32 a0);
|
||||
extern void func_80171928(void *a0);
|
||||
|
||||
void func_8017F510(arg0)
|
||||
void *arg0;
|
||||
{
|
||||
u8 *p;
|
||||
u8 *found;
|
||||
s32 i;
|
||||
s32 best;
|
||||
s16 t;
|
||||
|
||||
found = 0;
|
||||
best = 0x7FFFFFFF;
|
||||
for (i = 0; i < 0x60; i++) {
|
||||
p = &D_801202A0[i * 0x10C];
|
||||
if ((*(u16 *)(p + 0) != 0) && ((*(u16 *)(p + 0x5C) & 0x80) != 0)) {
|
||||
t = (s16)func_80013328((s32)arg0 + 4, (s32)p + 4);
|
||||
if (t < best) {
|
||||
best = t;
|
||||
found = p;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (found != 0) {
|
||||
func_800D1724(*(s32 *)(found + 0xDC));
|
||||
}
|
||||
func_80171928(arg0);
|
||||
}
|
||||
|
||||
|
||||
extern u8 D_801202A0[];
|
||||
extern s32 D_801ABBD8;
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80015978(s32 a0, s32 *a1);
|
||||
extern s32 func_80013328(s32 a0, s32 a1);
|
||||
extern void func_8012F2E8(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
void func_8017F5F0(s32 arg0)
|
||||
{
|
||||
s16 v;
|
||||
s32 i;
|
||||
s32 best;
|
||||
unsigned short *p;
|
||||
s32 buf[2];
|
||||
|
||||
best = 0x7FFFFFFF;
|
||||
i = 0;
|
||||
p = (unsigned short *)D_801202A0;
|
||||
D_801ABBD8 = 0;
|
||||
loop:
|
||||
if (*p == 0x26E) {
|
||||
v = (s16)func_80013328(arg0 + 4, (s32)(p + 2));
|
||||
if (v < best) {
|
||||
best = v;
|
||||
D_801ABBD8 = (s32)p;
|
||||
}
|
||||
}
|
||||
__asm__("" ::
|
||||
"r"(best));
|
||||
i++;
|
||||
p += 0x86;
|
||||
if (i < 0x60) {
|
||||
goto loop;
|
||||
}
|
||||
*(s16 *)(arg0 + 0x208) = 0;
|
||||
func_80015978(arg0 + 4, buf);
|
||||
func_8012F2E8(D_801ABBD8, (s32)buf, arg0 + 0x20C);
|
||||
*(s32 *)(arg0 + 0x204) = D_801ABBD8;
|
||||
func_8002D4C8(0x8B0, 0);
|
||||
}
|
||||
|
||||
|
||||
extern void func_8012F14C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80015954(s32 a0, s32 a1);
|
||||
|
||||
s32 func_8017F6CC(s32 param_1) {
|
||||
s32 sp10[2];
|
||||
s32 p;
|
||||
s32 q;
|
||||
short v;
|
||||
|
||||
p = *(s32 *)(param_1 + 0x204);
|
||||
q = *(s32 *)(p + 0x20);
|
||||
if (p != 0) {
|
||||
*(u16 *)(q + 0x12) = *(u16 *)(q + 0x12) + 0x80;
|
||||
func_8012F14C(q + 0x34, param_1 + 0x20C, (s32)sp10);
|
||||
func_80015954((s32)sp10, param_1 + 4);
|
||||
}
|
||||
q = *(s32 *)(param_1 + 0x20);
|
||||
*(u16 *)(q + 0x12) = *(u16 *)(q + 0x12) + 0x80;
|
||||
v = *(u16 *)(param_1 + 0x208) + 0x80;
|
||||
*(u16 *)(param_1 + 0x208) = v;
|
||||
return v == 0x800;
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_8002A04C(s32 arg0);
|
||||
extern void func_8012C098(void *arg0);
|
||||
extern void func_8002AC00(s32 arg0);
|
||||
|
||||
void func_8017F760(s32 a0) {
|
||||
register s32 s0 __asm__("$16");
|
||||
s0 = a0;
|
||||
if (*(s16 *)(s0 + 0x100) == 0) {
|
||||
func_8002A04C(a0);
|
||||
}
|
||||
if ((*(u8 *)(s0 + 0xC1) == 5) || (*(u8 *)(s0 + 0xC1) == 0xD) ||
|
||||
(*(u8 *)(s0 + 0xC1) == 0xB) || (*(u8 *)(s0 + 0xC1) == 0xE)) {
|
||||
func_8002AC00(7);
|
||||
}
|
||||
func_8012C098((void *)s0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void func_8017F7D4(s32 a0) {
|
||||
SVECTOR in;
|
||||
SVECTOR out;
|
||||
s32 v0;
|
||||
|
||||
in.vx = *(s16 *)(a0 + 0x6);
|
||||
in.vy = *(s16 *)(a0 + 0xA);
|
||||
in.vz = *(s16 *)(a0 + 0xE);
|
||||
out = in;
|
||||
out.vy += 8;
|
||||
|
||||
if ((func_80133784(1, &in, (s32)&out) & 0x6000) != 0) {
|
||||
v0 = 1;
|
||||
} else {
|
||||
func_8012B23C(a0);
|
||||
v0 = 0;
|
||||
}
|
||||
|
||||
if (v0 == 0) {
|
||||
*(s16 *)(a0 + 0x2) = 0x8;
|
||||
*(s16 *)(a0 + 0x98) = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (*(s32 *)(a0 + 0xC4) & 4) {
|
||||
func_8017F8AC(a0);
|
||||
} else {
|
||||
func_8017F8F8(a0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern short D_801A8F00;
|
||||
extern void func_8012A828(s32*, s32);
|
||||
extern void func_8012B23C(void*);
|
||||
|
||||
void func_8017F8AC(s32 a0) {
|
||||
*(s16 *)(a0 + 0x2) = 5;
|
||||
*(s16 *)(a0 + 0x34) = 0;
|
||||
*(u16 *)(a0 + 0x5C) = 0xAA10;
|
||||
((void (*)(s32, void *))func_8012A828)(a0, &D_801A8F00);
|
||||
((void (*)(s32))func_8012B23C)(a0);
|
||||
}
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 rand(void);
|
||||
extern s32 func_8012B744(void *a0, void *a1);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B23C(void *a0);
|
||||
extern void Square0(s32 *a0, s32 *a1);
|
||||
extern u8 D_801A8AE8[];
|
||||
|
||||
void func_8017F8F8(void *param_1) {
|
||||
s32 d[3];
|
||||
void *target;
|
||||
|
||||
*(s16 *)((s32)param_1 + 0x2) = 1;
|
||||
*(s16 *)((s32)param_1 + 0x34) = 0;
|
||||
*(u16 *)((s32)param_1 + 0x5C) = 0xAA10;
|
||||
*(s32 *)((s32)param_1 + 0x1C) = (rand() & 0x1F) + 0x24;
|
||||
|
||||
target = (void *)((s32)param_1 + 0x88);
|
||||
|
||||
d[0] = *(s16 *)((s32)param_1 + 0x6) - *(s16 *)target;
|
||||
d[1] = 0;
|
||||
d[2] = *(s16 *)((s32)param_1 + 0xE) - *(s16 *)((s32)param_1 + 0x8C);
|
||||
Square0(&d[0], &d[0]);
|
||||
|
||||
if (d[0] + d[2] > 0x8FFFF) {
|
||||
*(s16 *)((s32)param_1 + 0xFC) = func_8012B744((void *)((s32)param_1 + 4), target);
|
||||
} else {
|
||||
register s32 t __asm__("$2") = rand() & 0x3FF;
|
||||
s32 v1 = t - 0x200;
|
||||
if (v1 < 0) {
|
||||
v1 = t - 0x500;
|
||||
} else {
|
||||
v1 = t + 0x100;
|
||||
}
|
||||
*(s16 *)((s32)param_1 + 0xFC) =
|
||||
(*(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) + v1) & 0xFFF;
|
||||
}
|
||||
|
||||
func_8012B23C(param_1);
|
||||
func_8012A828((s32 *)param_1, (s32)&D_801A8AE8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern short D_801A89A0;
|
||||
void func_8017FA00(short *a0) {
|
||||
*(short *)((char *)a0 + 0x2) = 0x2;
|
||||
*(short *)((char *)a0 + 0x34) = 0;
|
||||
func_8012A828((s32 *)a0, (s32)&D_801A89A0);
|
||||
}
|
||||
|
||||
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern short D_801A8B90;
|
||||
extern short D_801A8C18;
|
||||
|
||||
void func_8017FA30(s32 a0) {
|
||||
*(s16 *)(a0 + 2) = 3;
|
||||
if (*(u16 *)(a0 + 0x86) & 2) {
|
||||
*(s16 *)(a0 + 0x34) = 1;
|
||||
*(s32 *)(a0 + 0x1C) = 0x28;
|
||||
func_8012A828((s32 *)a0, (s32)&D_801A8B90);
|
||||
*(u16 *)(a0 + 0xFE) = 0;
|
||||
} else {
|
||||
*(s16 *)(a0 + 0x34) = 0;
|
||||
func_8012A828((s32 *)a0, (s32)&D_801A8C18);
|
||||
*(s32 *)(a0 + 0x1C) = 0x19;
|
||||
*(u16 *)(a0 + 0x86) |= 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/* func_8017FAB4 -- state handler (state u16 at +0x34: 0 = wind-up, 1 = active). */
|
||||
|
||||
extern s32 func_8012B8E4(s32 a0, s32 a1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B178(s32 a0, s32 a1);
|
||||
extern s32 func_8012CBA4(s32 a0);
|
||||
extern void func_8012ADE4(u8 *a0);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80142414(s32 a0, s16 a1);
|
||||
extern s32 func_80143B6C(s32 a0, s32 a1);
|
||||
extern void func_8017F8F8();
|
||||
extern void func_8017FC7C();
|
||||
|
||||
extern short D_801A8B90;
|
||||
extern short D_801A8C18;
|
||||
extern s32 D_801A07B8;
|
||||
|
||||
void func_8017FAB4(s32 a0)
|
||||
{
|
||||
s32 s0 = a0;
|
||||
u16 st;
|
||||
s32 v;
|
||||
unsigned short *p;
|
||||
s16 t;
|
||||
|
||||
st = *(u16 *)(s0 + 0x34);
|
||||
switch (st) {
|
||||
case 0:
|
||||
v = func_8012B8E4(s0, 4);
|
||||
p = (unsigned short *)(*(s32 *)(s0 + 0x20) + 0x12);
|
||||
*p = *p + v;
|
||||
|
||||
if (*(s32 *)(s0 + 0x1C) == 0xF) {
|
||||
func_80142414(s0, -0x78);
|
||||
func_8002D4C8(0x6A9, 0);
|
||||
}
|
||||
|
||||
if (func_8012BEE8(s0) != 0) {
|
||||
*(u16 *)(s0 + 0x2) = 3;
|
||||
if ((*(u16 *)(s0 + 0x86) & 0x2) != 0) {
|
||||
*(u16 *)(s0 + 0x34) = 1;
|
||||
*(s32 *)(s0 + 0x1C) = 0x28;
|
||||
func_8012A828((s32 *)s0, (s32)((u8 *)&D_801A8B90));
|
||||
*(u16 *)(s0 + 0xFE) = 0;
|
||||
} else {
|
||||
*(u16 *)(s0 + 0x34) = 0;
|
||||
func_8012A828((s32 *)s0, (s32)((u8 *)&D_801A8C18));
|
||||
*(s32 *)(s0 + 0x1C) = 0x19;
|
||||
*(u16 *)(s0 + 0x86) = *(u16 *)(s0 + 0x86) | 0x2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (*(s32 *)(s0 + 0x1C) >= 0x16) {
|
||||
v = func_8012B8E4(s0, 6);
|
||||
p = (unsigned short *)(*(s32 *)(s0 + 0x20) + 0x12);
|
||||
*p = *p + v;
|
||||
}
|
||||
|
||||
func_8012B178(s0, D_801A07B8);
|
||||
|
||||
if (func_8012CBA4(s0) != 0x2000) {
|
||||
func_8012ADE4((u8 *)s0);
|
||||
}
|
||||
|
||||
t = *(u16 *)(s0 + 0xFE) - 1;
|
||||
*(u16 *)(s0 + 0xFE) = t;
|
||||
if (t <= 0) {
|
||||
func_80143B6C(s0, 0);
|
||||
*(u16 *)(s0 + 0xFE) = 8;
|
||||
}
|
||||
|
||||
if (func_8012BEE8(s0) != 0) {
|
||||
func_8017F8F8(s0);
|
||||
}
|
||||
|
||||
if (func_8012BD3C(s0, 0x200, 0x1000) != 0) {
|
||||
func_8017FC7C(s0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern char D_801A8CE8[];
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
|
||||
void func_8017FC7C(param_1)
|
||||
int param_1;
|
||||
{
|
||||
*(short *)(param_1 + 2) = 4;
|
||||
*(short *)(param_1 + 0x34) = 0;
|
||||
func_8012A828(param_1, &D_801A8CE8);
|
||||
*(int *)(param_1 + 0x1c) = 0x14;
|
||||
}
|
||||
|
||||
|
||||
extern u8 D_801A0848[];
|
||||
extern s32 D_801A88F8;
|
||||
extern s32 D_801A8DB0;
|
||||
extern s16 D_801A89A0;
|
||||
extern s32 func_8012B8E4(s32 a0, s32 a1);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern s32 func_8012BD3C(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
|
||||
void func_8017FCC0(s32 s0) {
|
||||
u16 st;
|
||||
s32 v0;
|
||||
s32 a0;
|
||||
|
||||
st = *(u16 *)(s0 + 0x34);
|
||||
switch (st) {
|
||||
case 0:
|
||||
if (*(s32 *)(s0 + 0x1C) == 7) {
|
||||
func_8012D5E4(s0, (s32)D_801A0848, (s32)(D_801A0848 + 8), 0xB);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
v0 = func_8012B8E4(s0, 6);
|
||||
a0 = *(s32 *)(s0 + 0x20);
|
||||
*(u16 *)((s32)a0 + 0x12) = *(u16 *)((s32)a0 + 0x12) + v0;
|
||||
break;
|
||||
case 2:
|
||||
if (*(s32 *)(s0 + 0x1C) == 10) {
|
||||
func_8012D5E4(s0, (s32)D_801A0848, (s32)(D_801A0848 + 8), 0xB);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8012BEE8(s0) != 0) {
|
||||
st = *(u16 *)(s0 + 0x34);
|
||||
switch (st) {
|
||||
case 0:
|
||||
if (func_8012BD3C(s0, 0x400, 0x4000) != 0) {
|
||||
*(s16 *)(s0 + 0x34) = 1;
|
||||
func_8012A828((s32 *)s0, (s32)&D_801A88F8);
|
||||
*(s32 *)(s0 + 0x1C) = 0xA;
|
||||
} else {
|
||||
*(u16 *)(s0 + 2) = 2;
|
||||
*(s16 *)(s0 + 0x34) = 0;
|
||||
func_8012A828((s32 *)s0, (s32)&D_801A89A0);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
*(s16 *)(s0 + 0x34) = 2;
|
||||
*(s32 *)(s0 + 0x1C) = 0x18;
|
||||
func_8012A828((s32 *)s0, (s32)&D_801A8DB0);
|
||||
break;
|
||||
case 2:
|
||||
*(u16 *)(s0 + 2) = 2;
|
||||
*(s16 *)(s0 + 0x34) = 0;
|
||||
func_8012A828((s32 *)s0, (s32)&D_801A89A0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801A085C[];
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
extern void func_8012B200(u8 *a0);
|
||||
extern void func_8012B178(s32 a0, s32 a1);
|
||||
|
||||
void func_8017FE34(s32 arg0) {
|
||||
s32 *tbl = D_801A085C;
|
||||
|
||||
if ((*(u16 *)(arg0 + 0x70) & 0x2000) == 0) {
|
||||
tbl += 3;
|
||||
}
|
||||
*(u16 *)(arg0 + 2) = 7;
|
||||
func_8012A828((s32 *)arg0, tbl[0]);
|
||||
func_8012B2CC(arg0);
|
||||
func_8012B200((u8 *)arg0);
|
||||
func_8012B178(arg0, tbl[1]);
|
||||
*(s32 *)(arg0 + 0x1C) = tbl[2];
|
||||
}
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 D_801A0874[];
|
||||
extern s32 func_8012C044(s32 arg0);
|
||||
extern void func_8002AC00(s32 arg0);
|
||||
extern void func_8012C098(void *arg0);
|
||||
|
||||
void func_8017FEB4(s32 arg0) {
|
||||
void (*handler)(s32);
|
||||
register u8 val __asm__("$3");
|
||||
|
||||
handler = (void (*)(s32))D_801A0874[((u16 *)arg0)[1]];
|
||||
handler(arg0);
|
||||
|
||||
if (((u16 *)arg0)[0] == 0)
|
||||
return;
|
||||
|
||||
if (func_8012C044(arg0) == 0)
|
||||
return;
|
||||
|
||||
*(u16 *)(arg0 + 0x100) = 1;
|
||||
|
||||
val = ((u8 *)arg0)[0xC1];
|
||||
if (val == 5 || val == 0xD || val == 0xB || val == 0xE) {
|
||||
func_8002AC00(0x7);
|
||||
}
|
||||
|
||||
func_8012C098((void *)arg0);
|
||||
}
|
||||
|
||||
|
||||
extern void func_8002D4C8(s32 arg0, s32 arg1);
|
||||
void func_8017FF58(void) {
|
||||
func_8002D4C8(0x6AA, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
extern void func_8002D4C8(s32 arg0, s32 arg1);
|
||||
void func_8017FF7C(u8 *a0) {
|
||||
if (*(u8 *)(a0 + 0x5E) == 0xC) {
|
||||
func_8002D4C8(0x9DA, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8012CBF4(s32 a0);
|
||||
extern void func_8017F8F8();
|
||||
|
||||
void func_8017FFAC(s32 a0)
|
||||
{
|
||||
func_8012CBF4(a0);
|
||||
if (*(u16 *)(a0 + 0x72) & 0x4000) {
|
||||
func_8017F8F8(a0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_8012B608(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8012B178(s32 a0, s32 a1);
|
||||
extern s32 func_8012CBA4(s32 a0);
|
||||
extern void func_8012ADE4(u8 *a0);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_8017FA00(short *a0);
|
||||
extern s32 D_801A07B4;
|
||||
|
||||
void func_8017FFF0(s32 a0) {
|
||||
s32 ret;
|
||||
s32 v0;
|
||||
|
||||
if (*(s32 *)(a0 + 0x1C) >= 4) {
|
||||
v0 = *(s32 *)(a0 + 0x20);
|
||||
ret = func_8012B608(*(s16 *)(v0 + 0x12), *(s16 *)(a0 + 0xFC), 8);
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += ret;
|
||||
}
|
||||
func_8012B178(a0, D_801A07B4);
|
||||
if (func_8012CBA4(a0) != 0x2000) {
|
||||
func_8012ADE4((u8 *)a0);
|
||||
}
|
||||
if (func_8012BEE8(a0) != 0) {
|
||||
func_8017FA00((short *)a0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void Square0(s32 *a0, s32 *a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_8017FA30(s32 a0);
|
||||
extern void func_8017F8F8();
|
||||
|
||||
void func_80180098(s32 a0)
|
||||
{
|
||||
s32 s0 = a0;
|
||||
s32 d[3];
|
||||
|
||||
if (*(u16 *)(s0 + 0x34) == 0 && (*(u16 *)(s0 + 0x72) & 0x4000)) {
|
||||
d[0] = *(s16 *)(s0 + 0x6) - *(s16 *)(s0 + 0x88);
|
||||
d[1] = 0;
|
||||
d[2] = *(s16 *)(s0 + 0xE) - *(s16 *)(s0 + 0x8C);
|
||||
Square0(d, d);
|
||||
if (d[0] + d[2] <= 0x8FFFF && func_8012BCCC(s0) <= 0x10000) {
|
||||
func_8017FA30(s0);
|
||||
} else {
|
||||
func_8017F8F8(s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801A0858;
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
extern void func_8012E88C(s32 a0);
|
||||
extern void func_8017FE34(s32 a0);
|
||||
|
||||
void func_8018015C(void *a0) {
|
||||
s32 s0 = (s32)a0;
|
||||
s32 v0 = func_8012BCCC(s0);
|
||||
if (v0 < D_801A0858) {
|
||||
func_8012E88C(s0);
|
||||
func_8017FE34(s0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8012AD80(s32 a0);
|
||||
extern s32 func_8012BEE8(s32 a0);
|
||||
extern s32 func_80143B6C(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32*, s32);
|
||||
|
||||
extern s16 D_801A8B90;
|
||||
extern s16 D_801A8C18;
|
||||
|
||||
void func_801801AC(s32 a0) {
|
||||
s32 v0;
|
||||
|
||||
func_8012AD80(a0);
|
||||
if (*(u16 *)(a0 + 0x70) & 0x2000) {
|
||||
v0 = *(u16 *)(a0 + 0xFE) - 1;
|
||||
*(u16 *)(a0 + 0xFE) = v0;
|
||||
if ((s16)v0 <= 0) {
|
||||
func_80143B6C(a0, 0);
|
||||
*(u16 *)(a0 + 0xFE) = 8;
|
||||
}
|
||||
}
|
||||
if (func_8012BEE8(a0)) {
|
||||
*(u16 *)(a0 + 0x86) |= 2;
|
||||
*(s16 *)(a0 + 0x2) = 3;
|
||||
if (*(u16 *)(a0 + 0x86) & 2) {
|
||||
*(s16 *)(a0 + 0x34) = 1;
|
||||
*(s32 *)(a0 + 0x1C) = 0x28;
|
||||
((void (*)(s32, void *))func_8012A828)(a0, &D_801A8B90);
|
||||
*(u16 *)(a0 + 0xFE) = 0;
|
||||
} else {
|
||||
*(s16 *)(a0 + 0x34) = 0;
|
||||
((void (*)(s32, void *))func_8012A828)(a0, &D_801A8C18);
|
||||
*(s32 *)(a0 + 0x1C) = 0x19;
|
||||
*(u16 *)(a0 + 0x86) |= 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 func_8002A04C(s32);
|
||||
extern void func_8012CBF4(s32);
|
||||
extern void func_8012C098(void*);
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern void func_8002AC00(s32 a0);
|
||||
extern void func_8017F8F8();
|
||||
|
||||
void func_80180298(s32 a0) {
|
||||
s16 field_a;
|
||||
s16 field_100;
|
||||
u8 state;
|
||||
s32 result;
|
||||
|
||||
field_a = *(s16 *)(a0 + 0xA);
|
||||
if (field_a >= 0x10) {
|
||||
field_100 = *(s16 *)(a0 + 0x100);
|
||||
if (field_100 == 0) {
|
||||
((void (*)(s32))func_8002A04C)(a0);
|
||||
}
|
||||
state = *(u8 *)(a0 + 0xC1);
|
||||
if (state == 5 || state == 0xD || state == 0xB || state == 0xE) {
|
||||
func_8002AC00(7);
|
||||
}
|
||||
((void (*)(s32))func_8012C098)(a0);
|
||||
} else {
|
||||
result = ((s32 (*)(s32))func_8012CBF4)(a0);
|
||||
if ((result & 0x2000) != 0) {
|
||||
if ((result & 0x1000) != 0) {
|
||||
func_80131E00((struct S80131E00 *)a0, 0x12);
|
||||
} else {
|
||||
func_8017F8F8(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801A07CC;
|
||||
extern u8 D_801A0800[];
|
||||
extern s32 func_8012C354(s32 a0, s32 a1);
|
||||
extern s32 func_80143970(s32 a0);
|
||||
extern s32 func_8012B030(u8 *a0);
|
||||
extern void func_8012A828(s32 *a0, s32 a1);
|
||||
extern short D_801A89A0;
|
||||
extern void func_8012E8A8(u8 *a0);
|
||||
extern void func_8017F8F8();
|
||||
|
||||
void func_80180360(void *a0) {
|
||||
if (func_8012C354((s32)a0, (s32)&D_801A07CC) != 0) {
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)a0 + 0xB4) = -1;
|
||||
*(u8 *)((s32)a0 + 0xC1) = 0;
|
||||
*(s32 *)((s32)a0 + 0xBC) = (s32)D_801A0800;
|
||||
func_80143970((s32)a0);
|
||||
func_8012B030((u8 *)a0);
|
||||
if (*(u16 *)((s32)a0 + 0x70) & 0x6000) {
|
||||
*(u16 *)((s32)a0 + 0x2) = 6;
|
||||
func_8012A828((s32 *)a0, (s32)&D_801A89A0);
|
||||
func_8012E8A8(a0);
|
||||
} else {
|
||||
func_8017F8F8(a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4776,7 +4776,58 @@ s32 func_8017F830(s16 *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_022/nonmatchings/ov_SC06_022_jr_8017BEBC", func_8017F85C);
|
||||
|
||||
|
||||
|
||||
void func_8017F85C(void *a0) {
|
||||
extern u16 D_801AD2DC[];
|
||||
extern u16 D_801AD2DE[];
|
||||
extern u16 D_801AD2E0[];
|
||||
extern u8 D_801AD394[];
|
||||
extern u8 D_80063548[];
|
||||
extern void func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void*);
|
||||
extern void func_8001C2C4(s32 a0);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8017F9FC(void*);
|
||||
extern void func_801800AC(s32);
|
||||
s32 v0;
|
||||
|
||||
if ((v0 = *(s32 *)((s32)a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) {
|
||||
((void (*)(s32))func_8012CAE4)((s32)a0);
|
||||
return;
|
||||
}
|
||||
|
||||
func_8001C2C4(v0);
|
||||
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20) = (s32)D_80063548;
|
||||
|
||||
switch (*(s16 *)((s32)a0 + 0x70)) {
|
||||
case 0:
|
||||
*(u16 *)((s32)a0 + 0x6) += D_801AD2DC[*(s16 *)((s32)a0 + 0x70) * 4];
|
||||
*(u16 *)((s32)a0 + 0xA) += D_801AD2DE[*(s16 *)((s32)a0 + 0x70) * 4];
|
||||
*(u16 *)((s32)a0 + 0xE) += D_801AD2E0[*(s16 *)((s32)a0 + 0x70) * 4];
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x2000100;
|
||||
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x90;
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x80) = (s32)D_801AD394;
|
||||
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = 0x1040;
|
||||
*(s32 *)((s32)a0 + 0xCC) = func_8012C658(0x2F4, 1, (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0xD0) = func_8012C658(0x2F4, 2, (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0xD4) = func_8012C658(0x2F4, 3, (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0xD8) = func_8012C658(0x2F4, 4, (s32)a0);
|
||||
((void (*)(s32))func_8017F9FC)((s32)a0);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
*(s32 *)((s32)a0 + 0xCC) = func_8012C658(0x2F9, *(s16 *)((s32)a0 + 0x70) - 1, (s32)a0);
|
||||
/* fallthrough */
|
||||
case 3:
|
||||
case 4:
|
||||
((void (*)(void *))func_801800AC)((void *)a0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3595,7 +3595,97 @@ extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_024/nonmatchings/ov_SC06_024_jr_80181D34", func_801831A8);
|
||||
|
||||
|
||||
void func_801831A8(s32 s0)
|
||||
{
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8001C1E4(void *a0, void *a1);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern u8 D_801AC4D8[];
|
||||
struct RowC_80180CD0 { void *p; };
|
||||
extern struct RowC_80180CD0 D_801AC520[];
|
||||
|
||||
register s32 a0 __asm__("$4");
|
||||
register s32 a1 __asm__("$5");
|
||||
s32 v1;
|
||||
|
||||
a0 = *(s32 *)(s0 + 0x20);
|
||||
a1 = (s32)D_801AC520[*(s16 *)(s0 + 0x70)].p;
|
||||
func_8001C214(a0, a1);
|
||||
|
||||
v1 = *(s32 *)(s0 + 0x20);
|
||||
*(u16 *)(v1 + 0x2C) = *(u16 *)(v1 + 0x2C) | 0x90;
|
||||
v1 = *(s32 *)(s0 + 0x20);
|
||||
*(s32 *)(v1 + 0x80) = (s32)D_801AC4D8;
|
||||
v1 = *(s32 *)(s0 + 0x20);
|
||||
*(u16 *)(v1 + 0x18) = 0x1040;
|
||||
|
||||
switch (*(s16 *)(s0 + 0x70)) {
|
||||
case 0:
|
||||
case 1:
|
||||
*(s16 *)(s0 + 6) = -0x88;
|
||||
*(u16 *)(s0 + 10) = 0;
|
||||
if (*(s16 *)(s0 + 0x70) == 0) {
|
||||
*(s16 *)(s0 + 14) = 0x20;
|
||||
} else {
|
||||
*(s16 *)(s0 + 14) = -0x20;
|
||||
}
|
||||
a0 = *(s32 *)(s0 + 0x20);
|
||||
a1 = *(s32 *)(*(s32 *)(s0 + 0x64) + 0x20);
|
||||
func_8001C1E4((void *)a0, (void *)a1);
|
||||
a0 = s0;
|
||||
a1 = 1;
|
||||
*(u16 *)(a0 + 0x100) = 0;
|
||||
*(s32 *)(a0 + 0x1C) = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x18) = 0x1300;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x1A) = 0x1300;
|
||||
*(s32 *)(s0 + 0xCC) = *(s32 *)(s0 + 0x64);
|
||||
*(u16 *)(s0 + 0xE) = *(u16 *)(s0 + 0xE) - 0x20;
|
||||
if (*(s32 *)(s0 + 0x6C) != 0) {
|
||||
func_801831A8(*(s32 *)(s0 + 0x6C));
|
||||
}
|
||||
*(u16 *)(s0 + 0x54) = 0x80;
|
||||
a0 = s0;
|
||||
a1 = 2;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
*(s32 *)(s0 + 0xCC) = *(s32 *)(*(s32 *)(s0 + 0x64) + 0xCC);
|
||||
a0 = *(s32 *)(s0 + 0x20);
|
||||
a1 = *(s32 *)(*(s32 *)(s0 + 0x64) + 0x20);
|
||||
func_8001C1E4((void *)a0, (void *)a1);
|
||||
*(u16 *)(s0 + 0xE) = 0;
|
||||
*(u16 *)(s0 + 0xA) = 0;
|
||||
*(u16 *)(s0 + 6) = 0;
|
||||
if (*(s32 *)(s0 + 0xD0) != 0) {
|
||||
func_801831A8(*(s32 *)(s0 + 0xD0));
|
||||
}
|
||||
*(s32 *)(s0 + 0x1C) = 9;
|
||||
a0 = s0;
|
||||
a1 = 4;
|
||||
break;
|
||||
case 6:
|
||||
*(s32 *)(s0 + 0xCC) = *(s32 *)(*(s32 *)(s0 + 0x64) + 0xCC);
|
||||
*(u16 *)(s0 + 0xE) = 0;
|
||||
*(u16 *)(s0 + 0xA) = 0;
|
||||
*(u16 *)(s0 + 6) = 0;
|
||||
a0 = *(s32 *)(s0 + 0x20);
|
||||
a1 = *(s32 *)(*(s32 *)(s0 + 0x64) + 0x20);
|
||||
func_8001C1E4((void *)a0, (void *)a1);
|
||||
a0 = s0;
|
||||
a1 = 3;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
((void (*)(s32, s32))func_8012AD44)((void *)a0, a1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801AC564[])(void);
|
||||
|
||||
@@ -8222,6 +8222,3 @@ void func_8016AB30(void *a0) {
|
||||
extern void (*D_8018D578[])(void);
|
||||
D_8018D578[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC07_006/nonmatchings/ov_SC07_006_jr_8015C32C", func_8016AB6C);
|
||||
|
||||
@@ -8151,6 +8151,3 @@ void func_8016AB30(void *a0) {
|
||||
extern void (*D_8018609C[])(void);
|
||||
D_8018609C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8015C32C", func_8016AB6C);
|
||||
|
||||
@@ -7423,6 +7423,3 @@ void func_8016AB30(void *a0) {
|
||||
extern void (*D_8018512C[])(void);
|
||||
D_8018512C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8015C32C", func_8016AB6C);
|
||||
|
||||
@@ -8152,6 +8152,3 @@ void func_8016AB30(void *a0) {
|
||||
extern void (*D_801817EC[])(void);
|
||||
D_801817EC[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC07_011/nonmatchings/ov_SC07_011_jr_8015C32C", func_8016AB6C);
|
||||
|
||||
Reference in New Issue
Block a user