d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)

* setup TU

* JASResArcLoader OK

* d_a_obj_stoneMark work

* some funcs in d_a_obj_stoneMark

* many changes

* quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile

* d_file_select functions + pr cleanup
This commit is contained in:
Pheenoh
2023-03-17 21:05:06 -06:00
committed by GitHub
parent a01d65b0b9
commit 3cdef97cb8
79 changed files with 2315 additions and 2996 deletions
+29 -29
View File
@@ -19,9 +19,9 @@ TARGET_COL := wii
TARGET := dolzel2
BUILD_PATH := build
BUILD_DIR := $(BUILD_PATH)/$(TARGET)
TARGET_ISO := $(BUILD_DIR)/dolzel2.iso
BUILD_PATH := build
BUILD_DIR := $(BUILD_PATH)/$(TARGET)
TARGET_ISO := $(BUILD_DIR)/dolzel2.iso
SRC_DIRS := $(shell find src/ libs/ -type f -name '*.cpp')
ASM_DIRS := $(shell find asm/ -type f -name '*.s')
@@ -30,11 +30,11 @@ ASM_DIRS := $(shell find asm/ -type f -name '*.s')
LDSCRIPT := $(BUILD_DIR)/ldscript.lcf
# Outputs
DOL := $(BUILD_DIR)/main.dol
DOL_SHIFT := $(BUILD_DIR)/main_shift.dol
ELF := $(DOL:.dol=.elf)
ELF_SHIFT := $(DOL_SHIFT:.dol=.elf)
MAP := $(BUILD_DIR)/dolzel2.map
DOL := $(BUILD_DIR)/main.dol
DOL_SHIFT := $(BUILD_DIR)/main_shift.dol
ELF := $(DOL:.dol=.elf)
ELF_SHIFT := $(DOL_SHIFT:.dol=.elf)
MAP := $(BUILD_DIR)/dolzel2.map
# include list of object files
include obj_files.mk
@@ -67,21 +67,21 @@ else
SHA1SUM := sha1sum
endif
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy
STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip
CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_modded.exe
DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe
FRANK_CC := $(WINE) tools/mwcc_compiler/1.2.5e/mwcceppc.exe
LD := $(WINE_LD) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe
ELF2DOL := $(BUILD_PATH)/elf2dol
YAZ0 := $(BUILD_PATH)/yaz0.so
PYTHON := python3
ICONV := iconv
DOXYGEN := doxygen
MAKEREL := tools/makerel.py
FRANK := tools/frank.py
IMAGENAME := gz2e01.iso
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy
STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip
CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_modded.exe
DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe
FRANK_CC := $(WINE) tools/mwcc_compiler/1.2.5e/mwcceppc.exe
LD := $(WINE_LD) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe
ELF2DOL := $(BUILD_PATH)/elf2dol
YAZ0 := $(BUILD_PATH)/yaz0.so
PYTHON := python3
ICONV := iconv
DOXYGEN := doxygen
MAKEREL := tools/makerel.py
FRANK := tools/frank.py
IMAGENAME := gz2e01.iso
# Options
INCLUDES := -i include -i include/dolphin/ -i src
@@ -101,13 +101,13 @@ DEPFLAGS := $(if $(DISABLE_DEPS),,-MD)
$(BUILD_DIR)/src/init.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES)
# __start.c needs mwcc 1.2.5 and O4,p
$(BUILD_DIR)/src/__start.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES)
$(BUILD_DIR)/src/__start.o: MWCC_VERSION := 1.2.5
$(BUILD_DIR)/src/__start.o: CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc.exe
$(BUILD_DIR)/src/__start.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES)
$(BUILD_DIR)/src/__start.o: MWCC_VERSION := 1.2.5
$(BUILD_DIR)/src/__start.o: CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc.exe
# elf2dol needs to know these in order to calculate sbss correctly.
SDATA_PDHR := 9
SBSS_PDHR := 10
SDATA_PDHR := 9
SBSS_PDHR := 10
#-------------------------------------------------------------------------------
# Recipes
@@ -221,7 +221,7 @@ rungame: game
iso: game
@$(PYTHON) tools/packageISO.py $(BUILD_DIR)/game/ $(TARGET_ISO)
#
$(BUILD_DIR)/%.o: %.c $(BUILD_DIR)/%.d
@mkdir -p $(@D)
@echo building... $<
+8 -8
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 25.741830% | 925808 | 3596512
.text | 25.784308% | 927344 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 33.570377% | 1349744 | 4020640
Total | 33.608312% | 1351280 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 33.570377% | 1349744 | 4020640
RELs | 33.387651% | 3839688 | 11500324
Total | 33.434985% | 5189432 | 15520964
main.dol | 33.608312% | 1351280 | 4020672
RELs | 33.406154% | 3841816 | 11500324
Total | 33.458523% | 5193096 | 15520996
## RELs
@@ -609,8 +609,8 @@ d_a_obj_ss_drink | 36.026542% | 3692 | 10248
d_a_obj_ss_item | 38.313378% | 2944 | 7684
d_a_obj_stairBlock | 45.129643% | 2576 | 5708
d_a_obj_stick | 43.708609% | 2376 | 5436
d_a_obj_stone | 26.135237% | 5272 | 20172
d_a_obj_stoneMark | 52.549020% | 1072 | 2040
d_a_obj_stone | 35.435257% | 7148 | 20172
d_a_obj_stoneMark | 64.901961% | 1324 | 2040
d_a_obj_stopper | 31.675996% | 3848 | 12148
d_a_obj_stopper2 | 38.987342% | 1848 | 4740
d_a_obj_suisya | 49.914821% | 1172 | 2348
@@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.387651% | 3839688 | 11500324
Total | 33.406154% | 3841816 | 11500324
@@ -1,34 +0,0 @@
lbl_80290C04:
/* 80290C04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290C08 7C 08 02 A6 */ mflr r0
/* 80290C0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80290C10 39 61 00 20 */ addi r11, r1, 0x20
/* 80290C14 48 0D 15 C5 */ bl _savegpr_28
/* 80290C18 7C 7C 1B 78 */ mr r28, r3
/* 80290C1C 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80290C20 83 E3 00 08 */ lwz r31, 8(r3)
/* 80290C24 3B C0 00 00 */ li r30, 0
/* 80290C28 3B A0 00 00 */ li r29, 0
/* 80290C2C 48 00 00 2C */ b lbl_80290C58
lbl_80290C30:
/* 80290C30 7F 83 E3 78 */ mr r3, r28
/* 80290C34 7F A4 EB 78 */ mr r4, r29
/* 80290C38 48 04 5A 4D */ bl findIdxResource__10JKRArchiveCFUl
/* 80290C3C 28 03 00 00 */ cmplwi r3, 0
/* 80290C40 41 82 00 14 */ beq lbl_80290C54
/* 80290C44 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80290C48 7C 1E 00 40 */ cmplw r30, r0
/* 80290C4C 40 80 00 08 */ bge lbl_80290C54
/* 80290C50 7C 1E 03 78 */ mr r30, r0
lbl_80290C54:
/* 80290C54 3B BD 00 01 */ addi r29, r29, 1
lbl_80290C58:
/* 80290C58 7C 1D F8 40 */ cmplw r29, r31
/* 80290C5C 41 80 FF D4 */ blt lbl_80290C30
/* 80290C60 7F C3 F3 78 */ mr r3, r30
/* 80290C64 39 61 00 20 */ addi r11, r1, 0x20
/* 80290C68 48 0D 15 BD */ bl _restgpr_28
/* 80290C6C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290C70 7C 08 03 A6 */ mtlr r0
/* 80290C74 38 21 00 20 */ addi r1, r1, 0x20
/* 80290C78 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80290BD0:
/* 80290BD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290BD4 7C 08 02 A6 */ mflr r0
/* 80290BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290BDC 48 04 5B 95 */ bl findIdResource__10JKRArchiveCFUs
/* 80290BE0 28 03 00 00 */ cmplwi r3, 0
/* 80290BE4 40 82 00 0C */ bne lbl_80290BF0
/* 80290BE8 38 60 00 00 */ li r3, 0
/* 80290BEC 48 00 00 08 */ b lbl_80290BF4
lbl_80290BF0:
/* 80290BF0 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_80290BF4:
/* 80290BF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290BF8 7C 08 03 A6 */ mtlr r0
/* 80290BFC 38 21 00 10 */ addi r1, r1, 0x10
/* 80290C00 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_80290D18:
/* 80290D18 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80290D1C 7C 08 02 A6 */ mflr r0
/* 80290D20 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290D24 90 61 00 08 */ stw r3, 8(r1)
/* 80290D28 B0 81 00 0C */ sth r4, 0xc(r1)
/* 80290D2C 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80290D30 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80290D34 38 00 00 00 */ li r0, 0
/* 80290D38 90 01 00 18 */ stw r0, 0x18(r1)
/* 80290D3C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80290D40 90 01 00 20 */ stw r0, 0x20(r1)
/* 80290D44 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80290D48 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80290D4C 4B FF F1 B1 */ bl getThreadPointer__6JASDvdFv
/* 80290D50 3C 80 80 29 */ lis r4, loadResourceCallback__15JASResArcLoaderFPv@ha /* 0x80290C7C@ha */
/* 80290D54 38 84 0C 7C */ addi r4, r4, loadResourceCallback__15JASResArcLoaderFPv@l /* 0x80290C7C@l */
/* 80290D58 38 A1 00 08 */ addi r5, r1, 8
/* 80290D5C 38 C0 00 1C */ li r6, 0x1c
/* 80290D60 4B FF ED FD */ bl sendCmdMsg__13JASTaskThreadFPFPv_vPCvUl
/* 80290D64 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80290D68 7C 08 03 A6 */ mtlr r0
/* 80290D6C 38 21 00 30 */ addi r1, r1, 0x30
/* 80290D70 4E 80 00 20 */ blr
@@ -1,43 +0,0 @@
lbl_80290C7C:
/* 80290C7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290C80 7C 08 02 A6 */ mflr r0
/* 80290C84 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290C88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80290C8C 93 C1 00 08 */ stw r30, 8(r1)
/* 80290C90 7C 7E 1B 78 */ mr r30, r3
/* 80290C94 80 63 00 00 */ lwz r3, 0(r3)
/* 80290C98 80 9E 00 08 */ lwz r4, 8(r30)
/* 80290C9C 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80290CA0 A0 DE 00 04 */ lhz r6, 4(r30)
/* 80290CA4 48 04 52 9D */ bl readResource__10JKRArchiveFPvUlUs
/* 80290CA8 7C 7F 1B 78 */ mr r31, r3
/* 80290CAC 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80290CB0 28 0C 00 00 */ cmplwi r12, 0
/* 80290CB4 41 82 00 10 */ beq lbl_80290CC4
/* 80290CB8 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80290CBC 7D 89 03 A6 */ mtctr r12
/* 80290CC0 4E 80 04 21 */ bctrl
lbl_80290CC4:
/* 80290CC4 28 1F 00 00 */ cmplwi r31, 0
/* 80290CC8 40 82 00 20 */ bne lbl_80290CE8
/* 80290CCC 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80290CD0 28 03 00 00 */ cmplwi r3, 0
/* 80290CD4 41 82 00 2C */ beq lbl_80290D00
/* 80290CD8 38 80 FF FF */ li r4, -1
/* 80290CDC 38 A0 00 01 */ li r5, 1
/* 80290CE0 48 0A DD 15 */ bl OSSendMessage
/* 80290CE4 48 00 00 1C */ b lbl_80290D00
lbl_80290CE8:
/* 80290CE8 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80290CEC 28 03 00 00 */ cmplwi r3, 0
/* 80290CF0 41 82 00 10 */ beq lbl_80290D00
/* 80290CF4 38 80 00 00 */ li r4, 0
/* 80290CF8 38 A0 00 01 */ li r5, 1
/* 80290CFC 48 0A DC F9 */ bl OSSendMessage
lbl_80290D00:
/* 80290D00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80290D04 83 C1 00 08 */ lwz r30, 8(r1)
/* 80290D08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290D0C 7C 08 03 A6 */ mtlr r0
/* 80290D10 38 21 00 10 */ addi r1, r1, 0x10
/* 80290D14 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_801872C4:
/* 801872C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801872C8 7C 08 02 A6 */ mflr r0
/* 801872CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801872D0 39 61 00 20 */ addi r11, r1, 0x20
/* 801872D4 48 1D AE FD */ bl _savegpr_26
/* 801872D8 7C 7A 1B 78 */ mr r26, r3
/* 801872DC 48 00 5F 81 */ bl headerTxtChangeAnm__14dFile_select_cFv
/* 801872E0 7C 7B 1B 78 */ mr r27, r3
/* 801872E4 7F 43 D3 78 */ mr r3, r26
/* 801872E8 48 00 8E 3D */ bl nameMoveAnm__14dFile_select_cFv
/* 801872EC 7C 7C 1B 78 */ mr r28, r3
/* 801872F0 7F 43 D3 78 */ mr r3, r26
/* 801872F4 48 00 6E CD */ bl errorMoveAnm__14dFile_select_cFv
/* 801872F8 7C 7D 1B 78 */ mr r29, r3
/* 801872FC 7F 43 D3 78 */ mr r3, r26
/* 80187300 48 00 1A 39 */ bl yesnoMenuMoveAnm__14dFile_select_cFv
/* 80187304 7C 7E 1B 78 */ mr r30, r3
/* 80187308 7F 43 D3 78 */ mr r3, r26
/* 8018730C 48 00 62 69 */ bl ketteiTxtDispAnm__14dFile_select_cFv
/* 80187310 7C 7F 1B 78 */ mr r31, r3
/* 80187314 7F 43 D3 78 */ mr r3, r26
/* 80187318 48 00 61 05 */ bl modoruTxtDispAnm__14dFile_select_cFv
/* 8018731C 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 80187320 28 00 00 01 */ cmplwi r0, 1
/* 80187324 40 82 00 48 */ bne lbl_8018736C
/* 80187328 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8018732C 28 00 00 01 */ cmplwi r0, 1
/* 80187330 40 82 00 3C */ bne lbl_8018736C
/* 80187334 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 80187338 28 00 00 01 */ cmplwi r0, 1
/* 8018733C 40 82 00 30 */ bne lbl_8018736C
/* 80187340 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80187344 28 00 00 01 */ cmplwi r0, 1
/* 80187348 40 82 00 24 */ bne lbl_8018736C
/* 8018734C 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 80187350 28 00 00 01 */ cmplwi r0, 1
/* 80187354 40 82 00 18 */ bne lbl_8018736C
/* 80187358 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8018735C 28 00 00 01 */ cmplwi r0, 1
/* 80187360 40 82 00 0C */ bne lbl_8018736C
/* 80187364 38 00 00 0F */ li r0, 0xf
/* 80187368 98 1A 02 6F */ stb r0, 0x26f(r26)
lbl_8018736C:
/* 8018736C 39 61 00 20 */ addi r11, r1, 0x20
/* 80187370 48 1D AE AD */ bl _restgpr_26
/* 80187374 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80187378 7C 08 03 A6 */ mtlr r0
/* 8018737C 38 21 00 20 */ addi r1, r1, 0x20
/* 80187380 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_8018721C:
/* 8018721C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80187220 7C 08 02 A6 */ mflr r0
/* 80187224 90 01 00 24 */ stw r0, 0x24(r1)
/* 80187228 39 61 00 20 */ addi r11, r1, 0x20
/* 8018722C 48 1D AF A9 */ bl _savegpr_27
/* 80187230 7C 7B 1B 78 */ mr r27, r3
/* 80187234 48 00 60 29 */ bl headerTxtChangeAnm__14dFile_select_cFv
/* 80187238 7C 7C 1B 78 */ mr r28, r3
/* 8018723C 7F 63 DB 78 */ mr r3, r27
/* 80187240 48 00 8E E5 */ bl nameMoveAnm__14dFile_select_cFv
/* 80187244 7C 7D 1B 78 */ mr r29, r3
/* 80187248 7F 63 DB 78 */ mr r3, r27
/* 8018724C 4B FF FA 61 */ bl menuMoveAnm__14dFile_select_cFv
/* 80187250 7C 7E 1B 78 */ mr r30, r3
/* 80187254 7F 63 DB 78 */ mr r3, r27
/* 80187258 48 00 8B C1 */ bl fileRecScaleAnm__14dFile_select_cFv
/* 8018725C 7C 7F 1B 78 */ mr r31, r3
/* 80187260 7F 63 DB 78 */ mr r3, r27
/* 80187264 48 00 8D 39 */ bl fileInfoScaleAnm__14dFile_select_cFv
/* 80187268 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8018726C 28 00 00 01 */ cmplwi r0, 1
/* 80187270 40 82 00 3C */ bne lbl_801872AC
/* 80187274 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 80187278 28 00 00 01 */ cmplwi r0, 1
/* 8018727C 40 82 00 30 */ bne lbl_801872AC
/* 80187280 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80187284 28 00 00 01 */ cmplwi r0, 1
/* 80187288 40 82 00 24 */ bne lbl_801872AC
/* 8018728C 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 80187290 28 00 00 01 */ cmplwi r0, 1
/* 80187294 40 82 00 18 */ bne lbl_801872AC
/* 80187298 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8018729C 28 00 00 01 */ cmplwi r0, 1
/* 801872A0 40 82 00 0C */ bne lbl_801872AC
/* 801872A4 38 00 00 0F */ li r0, 0xf
/* 801872A8 98 1B 02 6F */ stb r0, 0x26f(r27)
lbl_801872AC:
/* 801872AC 39 61 00 20 */ addi r11, r1, 0x20
/* 801872B0 48 1D AF 71 */ bl _restgpr_27
/* 801872B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801872B8 7C 08 03 A6 */ mtlr r0
/* 801872BC 38 21 00 20 */ addi r1, r1, 0x20
/* 801872C0 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8018FE18:
/* 8018FE18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8018FE1C 7C 08 02 A6 */ mflr r0
/* 8018FE20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8018FE24 7C 65 1B 78 */ mr r5, r3
/* 8018FE28 88 03 02 65 */ lbz r0, 0x265(r3)
/* 8018FE2C 54 00 10 3A */ slwi r0, r0, 2
/* 8018FE30 7C 65 02 14 */ add r3, r5, r0
/* 8018FE34 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 8018FE38 3C 80 80 43 */ lis r4, g_fsHIO@ha /* 0x8042C9EC@ha */
/* 8018FE3C 38 84 C9 EC */ addi r4, r4, g_fsHIO@l /* 0x8042C9EC@l */
/* 8018FE40 88 84 00 05 */ lbz r4, 5(r4)
/* 8018FE44 C0 25 00 C8 */ lfs f1, 0xc8(r5)
/* 8018FE48 C0 45 00 D4 */ lfs f2, 0xd4(r5)
/* 8018FE4C 38 A0 00 00 */ li r5, 0
/* 8018FE50 48 0C 49 7D */ bl scaleAnime__8CPaneMgrFsffUc
/* 8018FE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8018FE58 7C 08 03 A6 */ mtlr r0
/* 8018FE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 8018FE60 4E 80 00 20 */ blr
@@ -1,62 +0,0 @@
lbl_8018D25C:
/* 8018D25C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8018D260 7C 08 02 A6 */ mflr r0
/* 8018D264 90 01 00 24 */ stw r0, 0x24(r1)
/* 8018D268 39 61 00 20 */ addi r11, r1, 0x20
/* 8018D26C 48 1D 4F 6D */ bl _savegpr_28
/* 8018D270 7C 7F 1B 78 */ mr r31, r3
/* 8018D274 88 03 02 1D */ lbz r0, 0x21d(r3)
/* 8018D278 28 00 00 00 */ cmplwi r0, 0
/* 8018D27C 41 82 00 0C */ beq lbl_8018D288
/* 8018D280 38 60 00 01 */ li r3, 1
/* 8018D284 48 00 00 A8 */ b lbl_8018D32C
lbl_8018D288:
/* 8018D288 3B 80 00 00 */ li r28, 0
/* 8018D28C 88 1F 02 1C */ lbz r0, 0x21c(r31)
/* 8018D290 54 00 10 3A */ slwi r0, r0, 2
/* 8018D294 7C 7F 02 14 */ add r3, r31, r0
/* 8018D298 80 63 02 0C */ lwz r3, 0x20c(r3)
/* 8018D29C 3C 80 80 43 */ lis r4, g_fsHIO@ha /* 0x8042C9EC@ha */
/* 8018D2A0 3B A4 C9 EC */ addi r29, r4, g_fsHIO@l /* 0x8042C9EC@l */
/* 8018D2A4 88 9D 00 07 */ lbz r4, 7(r29)
/* 8018D2A8 38 A0 00 FF */ li r5, 0xff
/* 8018D2AC 38 C0 00 00 */ li r6, 0
/* 8018D2B0 38 E0 00 00 */ li r7, 0
/* 8018D2B4 48 0C 85 C5 */ bl alphaAnime__13CPaneMgrAlphaFsUcUcUc
/* 8018D2B8 7C 7E 1B 78 */ mr r30, r3
/* 8018D2BC 88 1F 02 1C */ lbz r0, 0x21c(r31)
/* 8018D2C0 68 00 00 01 */ xori r0, r0, 1
/* 8018D2C4 54 00 10 3A */ slwi r0, r0, 2
/* 8018D2C8 7C 7F 02 14 */ add r3, r31, r0
/* 8018D2CC 80 63 02 0C */ lwz r3, 0x20c(r3)
/* 8018D2D0 88 9D 00 07 */ lbz r4, 7(r29)
/* 8018D2D4 38 A0 00 00 */ li r5, 0
/* 8018D2D8 38 C0 00 FF */ li r6, 0xff
/* 8018D2DC 38 E0 00 00 */ li r7, 0
/* 8018D2E0 48 0C 85 99 */ bl alphaAnime__13CPaneMgrAlphaFsUcUcUc
/* 8018D2E4 3C 80 80 43 */ lis r4, g_meter2_info@ha /* 0x80430188@ha */
/* 8018D2E8 38 84 01 88 */ addi r4, r4, g_meter2_info@l /* 0x80430188@l */
/* 8018D2EC A8 84 00 94 */ lha r4, 0x94(r4)
/* 8018D2F0 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 8018D2F4 28 00 00 01 */ cmplwi r0, 1
/* 8018D2F8 40 82 00 30 */ bne lbl_8018D328
/* 8018D2FC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8018D300 28 00 00 01 */ cmplwi r0, 1
/* 8018D304 40 82 00 24 */ bne lbl_8018D328
/* 8018D308 2C 04 00 00 */ cmpwi r4, 0
/* 8018D30C 40 82 00 1C */ bne lbl_8018D328
/* 8018D310 88 1F 02 1C */ lbz r0, 0x21c(r31)
/* 8018D314 68 00 00 01 */ xori r0, r0, 1
/* 8018D318 98 1F 02 1C */ stb r0, 0x21c(r31)
/* 8018D31C 38 00 00 01 */ li r0, 1
/* 8018D320 98 1F 02 1D */ stb r0, 0x21d(r31)
/* 8018D324 3B 80 00 01 */ li r28, 1
lbl_8018D328:
/* 8018D328 7F 83 E3 78 */ mr r3, r28
lbl_8018D32C:
/* 8018D32C 39 61 00 20 */ addi r11, r1, 0x20
/* 8018D330 48 1D 4E F5 */ bl _restgpr_28
/* 8018D334 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8018D338 7C 08 03 A6 */ mtlr r0
/* 8018D33C 38 21 00 20 */ addi r1, r1, 0x20
/* 8018D340 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_8018D884:
/* 8018D884 38 00 00 00 */ li r0, 0
/* 8018D888 54 89 06 3E */ clrlwi r9, r4, 0x18
/* 8018D88C 54 84 15 BA */ rlwinm r4, r4, 2, 0x16, 0x1d
/* 8018D890 7D 03 22 14 */ add r8, r3, r4
/* 8018D894 80 88 03 64 */ lwz r4, 0x364(r8)
/* 8018D898 B0 04 00 16 */ sth r0, 0x16(r4)
/* 8018D89C 80 88 03 70 */ lwz r4, 0x370(r8)
/* 8018D8A0 B0 04 00 16 */ sth r0, 0x16(r4)
/* 8018D8A4 80 88 03 7C */ lwz r4, 0x37c(r8)
/* 8018D8A8 B0 04 00 16 */ sth r0, 0x16(r4)
/* 8018D8AC 7C 63 4A 14 */ add r3, r3, r9
/* 8018D8B0 98 A3 03 88 */ stb r5, 0x388(r3)
/* 8018D8B4 98 C3 03 8B */ stb r6, 0x38b(r3)
/* 8018D8B8 98 E3 03 8E */ stb r7, 0x38e(r3)
/* 8018D8BC 80 68 03 94 */ lwz r3, 0x394(r8)
/* 8018D8C0 B0 03 00 6A */ sth r0, 0x6a(r3)
/* 8018D8C4 4E 80 00 20 */ blr
-24
View File
@@ -1,24 +0,0 @@
lbl_80347418:
/* 80347418 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 /* qr0 */
/* 8034741C E0 23 00 08 */ psq_l f1, 8(r3), 0, 0 /* qr0 */
/* 80347420 E0 44 00 00 */ psq_l f2, 0(r4), 0, 0 /* qr0 */
/* 80347424 10 A0 00 50 */ ps_neg f5, f0
/* 80347428 E0 64 00 08 */ psq_l f3, 8(r4), 0, 0 /* qr0 */
/* 8034742C 10 C0 08 50 */ ps_neg f6, f1
/* 80347430 10 85 04 60 */ ps_merge01 f4, f5, f0
/* 80347434 10 E1 00 98 */ ps_muls0 f7, f1, f2
/* 80347438 10 A5 00 98 */ ps_muls0 f5, f5, f2
/* 8034743C 10 26 0C 60 */ ps_merge01 f1, f6, f1
/* 80347440 11 04 00 9A */ ps_muls1 f8, f4, f2
/* 80347444 10 E4 38 DC */ ps_madds0 f7, f4, f3, f7
/* 80347448 10 41 00 9A */ ps_muls1 f2, f1, f2
/* 8034744C 10 A1 28 DC */ ps_madds0 f5, f1, f3, f5
/* 80347450 11 06 40 DE */ ps_madds1 f8, f6, f3, f8
/* 80347454 10 E7 3C A0 */ ps_merge10 f7, f7, f7
/* 80347458 10 40 10 DE */ ps_madds1 f2, f0, f3, f2
/* 8034745C 10 A5 2C A0 */ ps_merge10 f5, f5, f5
/* 80347460 10 E7 10 2A */ ps_add f7, f7, f2
/* 80347464 F0 E5 00 00 */ psq_st f7, 0(r5), 0, 0 /* qr0 */
/* 80347468 10 A5 40 28 */ ps_sub f5, f5, f8
/* 8034746C F0 A5 00 08 */ psq_st f5, 8(r5), 0, 0 /* qr0 */
/* 80347470 4E 80 00 20 */ blr
@@ -1,258 +0,0 @@
lbl_8000B95C:
/* 8000B95C 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8000B960 7C 08 02 A6 */ mflr r0
/* 8000B964 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8000B968 39 61 00 D0 */ addi r11, r1, 0xd0
/* 8000B96C 48 35 68 6D */ bl _savegpr_28
/* 8000B970 83 8D 8F 88 */ lwz r28, sErrorManager__12JUTException(r13)
/* 8000B974 83 ED 8F 9C */ lwz r31, sConsole__12JUTException(r13)
/* 8000B978 7F FE FB 78 */ mr r30, r31
/* 8000B97C 80 04 01 98 */ lwz r0, 0x198(r4)
/* 8000B980 54 08 00 3A */ rlwinm r8, r0, 0, 0, 0x1d
/* 8000B984 3C 60 80 00 */ lis r3, 0x8000 /* 0x8000000C@ha */
/* 8000B988 38 03 00 0C */ addi r0, r3, 0x000C /* 0x8000000C@l */
/* 8000B98C 7C 08 00 40 */ cmplw r8, r0
/* 8000B990 41 80 00 3C */ blt lbl_8000B9CC
/* 8000B994 3C 60 83 00 */ lis r3, 0x8300 /* 0x82FFFFFF@ha */
/* 8000B998 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x82FFFFFF@l */
/* 8000B99C 7C 08 00 40 */ cmplw r8, r0
/* 8000B9A0 40 80 00 2C */ bge lbl_8000B9CC
/* 8000B9A4 7F E3 FB 78 */ mr r3, r31
/* 8000B9A8 3C 80 80 37 */ lis r4, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */
/* 8000B9AC 38 84 3D E8 */ addi r4, r4, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */
/* 8000B9B0 38 84 01 A1 */ addi r4, r4, 0x1a1
/* 8000B9B4 80 A8 FF F4 */ lwz r5, -0xc(r8)
/* 8000B9B8 80 C8 FF F8 */ lwz r6, -8(r8)
/* 8000B9BC 80 E8 FF FC */ lwz r7, -4(r8)
/* 8000B9C0 81 08 00 00 */ lwz r8, 0(r8)
/* 8000B9C4 4C C6 31 82 */ crclr 6
/* 8000B9C8 48 2D C1 F1 */ bl print_f__10JUTConsoleFPCce
lbl_8000B9CC:
/* 8000B9CC 38 61 00 10 */ addi r3, r1, 0x10
/* 8000B9D0 38 80 00 00 */ li r4, 0
/* 8000B9D4 48 2D 4D 09 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
/* 8000B9D8 38 01 00 10 */ addi r0, r1, 0x10
/* 8000B9DC 90 1C 00 84 */ stw r0, 0x84(r28)
/* 8000B9E0 38 00 FF FF */ li r0, -1
/* 8000B9E4 90 1C 00 88 */ stw r0, 0x88(r28)
/* 8000B9E8 7F 83 E3 78 */ mr r3, r28
/* 8000B9EC 48 2D 75 2D */ bl isEnablePad__12JUTExceptionCFv
/* 8000B9F0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8000B9F4 7C 00 00 34 */ cntlzw r0, r0
/* 8000B9F8 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 8000B9FC 40 82 02 30 */ bne lbl_8000BC2C
/* 8000BA00 7F E3 FB 78 */ mr r3, r31
/* 8000BA04 3C 80 80 37 */ lis r4, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */
/* 8000BA08 38 84 3D E8 */ addi r4, r4, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */
/* 8000BA0C 38 84 01 BF */ addi r4, r4, 0x1bf
/* 8000BA10 48 2D C2 29 */ bl print__10JUTConsoleFPCc
/* 8000BA14 7F E3 FB 78 */ mr r3, r31
/* 8000BA18 3C 80 80 37 */ lis r4, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */
/* 8000BA1C 38 84 3D E8 */ addi r4, r4, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */
/* 8000BA20 38 84 01 EB */ addi r4, r4, 0x1eb
/* 8000BA24 48 2D C2 15 */ bl print__10JUTConsoleFPCc
/* 8000BA28 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BA2C 38 80 00 01 */ li r4, 1
/* 8000BA30 48 2D CA 21 */ bl drawDirect__17JUTConsoleManagerCFb
/* 8000BA34 48 33 1C D5 */ bl OSEnableInterrupts
/* 8000BA38 3B E0 00 00 */ li r31, 0
/* 8000BA3C 3B A0 00 00 */ li r29, 0
lbl_8000BA40:
/* 8000BA40 38 61 00 08 */ addi r3, r1, 8
/* 8000BA44 38 81 00 0C */ addi r4, r1, 0xc
/* 8000BA48 4B FF FD 21 */ bl exceptionReadPad__FPUlPUl
/* 8000BA4C 88 0D 8F 81 */ lbz r0, sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset+0x1(r13)
/* 8000BA50 28 00 00 00 */ cmplwi r0, 0
/* 8000BA54 41 82 00 14 */ beq lbl_8000BA68
/* 8000BA58 38 60 00 01 */ li r3, 1
/* 8000BA5C 38 80 00 00 */ li r4, 0
/* 8000BA60 38 A0 00 00 */ li r5, 0
/* 8000BA64 48 33 3E 49 */ bl OSResetSystem
lbl_8000BA68:
/* 8000BA68 38 60 00 00 */ li r3, 0
/* 8000BA6C 80 01 00 08 */ lwz r0, 8(r1)
/* 8000BA70 28 00 10 00 */ cmplwi r0, 0x1000
/* 8000BA74 40 82 00 10 */ bne lbl_8000BA84
/* 8000BA78 7F C3 F3 78 */ mr r3, r30
/* 8000BA7C 48 00 C6 D1 */ bl exception_addition__FP10JUTConsole
/* 8000BA80 38 60 00 01 */ li r3, 1
lbl_8000BA84:
/* 8000BA84 80 01 00 08 */ lwz r0, 8(r1)
/* 8000BA88 28 00 00 10 */ cmplwi r0, 0x10
/* 8000BA8C 40 82 00 80 */ bne lbl_8000BB0C
/* 8000BA90 80 8D 8C 38 */ lwz r4, systemConsole__9JFWSystem(r13)
/* 8000BA94 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BA98 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8000BA9C 7C 00 20 40 */ cmplw r0, r4
/* 8000BAA0 41 82 00 58 */ beq lbl_8000BAF8
/* 8000BAA4 7C 9E 23 78 */ mr r30, r4
/* 8000BAA8 C0 02 81 00 */ lfs f0, lit_3940(r2)
/* 8000BAAC D0 04 00 50 */ stfs f0, 0x50(r4)
/* 8000BAB0 C0 02 81 04 */ lfs f0, lit_3941(r2)
/* 8000BAB4 D0 04 00 54 */ stfs f0, 0x54(r4)
/* 8000BAB8 38 00 00 08 */ li r0, 8
/* 8000BABC 90 04 00 40 */ stw r0, 0x40(r4)
/* 8000BAC0 38 00 00 20 */ li r0, 0x20
/* 8000BAC4 90 04 00 44 */ stw r0, 0x44(r4)
/* 8000BAC8 38 00 00 17 */ li r0, 0x17
/* 8000BACC 90 04 00 48 */ stw r0, 0x48(r4)
/* 8000BAD0 80 04 00 48 */ lwz r0, 0x48(r4)
/* 8000BAD4 80 64 00 24 */ lwz r3, 0x24(r4)
/* 8000BAD8 7C 00 18 40 */ cmplw r0, r3
/* 8000BADC 40 81 00 08 */ ble lbl_8000BAE4
/* 8000BAE0 90 64 00 48 */ stw r3, 0x48(r4)
lbl_8000BAE4:
/* 8000BAE4 38 00 00 01 */ li r0, 1
/* 8000BAE8 98 04 00 68 */ stb r0, 0x68(r4)
/* 8000BAEC 38 00 00 03 */ li r0, 3
/* 8000BAF0 90 04 00 58 */ stw r0, 0x58(r4)
/* 8000BAF4 48 00 00 08 */ b lbl_8000BAFC
lbl_8000BAF8:
/* 8000BAF8 83 CD 8F 9C */ lwz r30, sConsole__12JUTException(r13)
lbl_8000BAFC:
/* 8000BAFC 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BB00 7F C4 F3 78 */ mr r4, r30
/* 8000BB04 48 2D C9 C1 */ bl setDirectConsole__17JUTConsoleManagerFP10JUTConsole
/* 8000BB08 38 60 00 01 */ li r3, 1
lbl_8000BB0C:
/* 8000BB0C 80 01 00 08 */ lwz r0, 8(r1)
/* 8000BB10 28 00 01 00 */ cmplwi r0, 0x100
/* 8000BB14 40 82 00 14 */ bne lbl_8000BB28
/* 8000BB18 7F C3 F3 78 */ mr r3, r30
/* 8000BB1C 80 9E 00 24 */ lwz r4, 0x24(r30)
/* 8000BB20 48 2D C5 89 */ bl scroll__10JUTConsoleFi
/* 8000BB24 38 60 00 01 */ li r3, 1
lbl_8000BB28:
/* 8000BB28 80 01 00 08 */ lwz r0, 8(r1)
/* 8000BB2C 28 00 02 00 */ cmplwi r0, 0x200
/* 8000BB30 40 82 00 18 */ bne lbl_8000BB48
/* 8000BB34 7F C3 F3 78 */ mr r3, r30
/* 8000BB38 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8000BB3C 7C 80 00 D0 */ neg r4, r0
/* 8000BB40 48 2D C5 69 */ bl scroll__10JUTConsoleFi
/* 8000BB44 38 60 00 01 */ li r3, 1
lbl_8000BB48:
/* 8000BB48 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000BB4C 28 00 00 08 */ cmplwi r0, 8
/* 8000BB50 40 82 00 4C */ bne lbl_8000BB9C
/* 8000BB54 7F C3 F3 78 */ mr r3, r30
/* 8000BB58 2C 1F 00 03 */ cmpwi r31, 3
/* 8000BB5C 40 80 00 0C */ bge lbl_8000BB68
/* 8000BB60 38 80 FF FF */ li r4, -1
/* 8000BB64 48 00 00 24 */ b lbl_8000BB88
lbl_8000BB68:
/* 8000BB68 2C 1F 00 05 */ cmpwi r31, 5
/* 8000BB6C 40 80 00 0C */ bge lbl_8000BB78
/* 8000BB70 38 80 FF FE */ li r4, -2
/* 8000BB74 48 00 00 14 */ b lbl_8000BB88
lbl_8000BB78:
/* 8000BB78 2C 1F 00 07 */ cmpwi r31, 7
/* 8000BB7C 38 80 FF F8 */ li r4, -8
/* 8000BB80 40 80 00 08 */ bge lbl_8000BB88
/* 8000BB84 38 80 FF FC */ li r4, -4
lbl_8000BB88:
/* 8000BB88 48 2D C5 21 */ bl scroll__10JUTConsoleFi
/* 8000BB8C 38 60 00 01 */ li r3, 1
/* 8000BB90 3B A0 00 00 */ li r29, 0
/* 8000BB94 3B FF 00 01 */ addi r31, r31, 1
/* 8000BB98 48 00 00 5C */ b lbl_8000BBF4
lbl_8000BB9C:
/* 8000BB9C 28 00 00 04 */ cmplwi r0, 4
/* 8000BBA0 40 82 00 4C */ bne lbl_8000BBEC
/* 8000BBA4 7F C3 F3 78 */ mr r3, r30
/* 8000BBA8 2C 1D 00 03 */ cmpwi r29, 3
/* 8000BBAC 40 80 00 0C */ bge lbl_8000BBB8
/* 8000BBB0 38 80 00 01 */ li r4, 1
/* 8000BBB4 48 00 00 24 */ b lbl_8000BBD8
lbl_8000BBB8:
/* 8000BBB8 2C 1D 00 05 */ cmpwi r29, 5
/* 8000BBBC 40 80 00 0C */ bge lbl_8000BBC8
/* 8000BBC0 38 80 00 02 */ li r4, 2
/* 8000BBC4 48 00 00 14 */ b lbl_8000BBD8
lbl_8000BBC8:
/* 8000BBC8 2C 1D 00 07 */ cmpwi r29, 7
/* 8000BBCC 38 80 00 08 */ li r4, 8
/* 8000BBD0 40 80 00 08 */ bge lbl_8000BBD8
/* 8000BBD4 38 80 00 04 */ li r4, 4
lbl_8000BBD8:
/* 8000BBD8 48 2D C4 D1 */ bl scroll__10JUTConsoleFi
/* 8000BBDC 38 60 00 01 */ li r3, 1
/* 8000BBE0 3B E0 00 00 */ li r31, 0
/* 8000BBE4 3B BD 00 01 */ addi r29, r29, 1
/* 8000BBE8 48 00 00 0C */ b lbl_8000BBF4
lbl_8000BBEC:
/* 8000BBEC 3B E0 00 00 */ li r31, 0
/* 8000BBF0 3B A0 00 00 */ li r29, 0
lbl_8000BBF4:
/* 8000BBF4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8000BBF8 28 00 00 01 */ cmplwi r0, 1
/* 8000BBFC 40 82 00 24 */ bne lbl_8000BC20
/* 8000BC00 48 34 1C BD */ bl VIGetRetraceCount
/* 8000BC04 7C 7C 1B 78 */ mr r28, r3
lbl_8000BC08:
/* 8000BC08 48 34 1C B5 */ bl VIGetRetraceCount
/* 8000BC0C 7C 1C 18 40 */ cmplw r28, r3
/* 8000BC10 41 82 FF F8 */ beq lbl_8000BC08
/* 8000BC14 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BC18 38 80 00 01 */ li r4, 1
/* 8000BC1C 48 2D C8 35 */ bl drawDirect__17JUTConsoleManagerCFb
lbl_8000BC20:
/* 8000BC20 38 60 00 1E */ li r3, 0x1e
/* 8000BC24 48 2D 7D 5D */ bl waitTime__12JUTExceptionFl
/* 8000BC28 4B FF FE 18 */ b lbl_8000BA40
lbl_8000BC2C:
/* 8000BC2C 7F E3 FB 78 */ mr r3, r31
/* 8000BC30 48 00 C5 1D */ bl exception_addition__FP10JUTConsole
/* 8000BC34 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BC38 38 80 00 01 */ li r4, 1
/* 8000BC3C 48 2D C8 15 */ bl drawDirect__17JUTConsoleManagerCFb
lbl_8000BC40:
/* 8000BC40 7F E3 FB 78 */ mr r3, r31
/* 8000BC44 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8000BC48 7C 80 00 D0 */ neg r4, r0
/* 8000BC4C 48 2D C4 5D */ bl scroll__10JUTConsoleFi
/* 8000BC50 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BC54 38 80 00 01 */ li r4, 1
/* 8000BC58 48 2D C7 F9 */ bl drawDirect__17JUTConsoleManagerCFb
/* 8000BC5C 38 60 07 D0 */ li r3, 0x7d0
/* 8000BC60 48 2D 7D 21 */ bl waitTime__12JUTExceptionFl
lbl_8000BC64:
/* 8000BC64 83 DF 00 48 */ lwz r30, 0x48(r31)
/* 8000BC68 48 00 00 50 */ b lbl_8000BCB8
lbl_8000BC6C:
/* 8000BC6C 7F E3 FB 78 */ mr r3, r31
/* 8000BC70 38 80 00 01 */ li r4, 1
/* 8000BC74 48 2D C4 35 */ bl scroll__10JUTConsoleFi
/* 8000BC78 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
/* 8000BC7C 38 80 00 01 */ li r4, 1
/* 8000BC80 48 2D C7 D1 */ bl drawDirect__17JUTConsoleManagerCFb
/* 8000BC84 83 9F 00 48 */ lwz r28, 0x48(r31)
/* 8000BC88 7F E3 FB 78 */ mr r3, r31
/* 8000BC8C 48 2D C5 1D */ bl getLineOffset__10JUTConsoleCFv
/* 8000BC90 7C 7D 1B 78 */ mr r29, r3
/* 8000BC94 7F E3 FB 78 */ mr r3, r31
/* 8000BC98 48 2D C4 ED */ bl getUsedLine__10JUTConsoleCFv
/* 8000BC9C 7C 7C 18 50 */ subf r3, r28, r3
/* 8000BCA0 38 03 00 01 */ addi r0, r3, 1
/* 8000BCA4 7C 00 E8 40 */ cmplw r0, r29
/* 8000BCA8 40 81 00 18 */ ble lbl_8000BCC0
/* 8000BCAC 38 60 00 14 */ li r3, 0x14
/* 8000BCB0 48 2D 7C D1 */ bl waitTime__12JUTExceptionFl
/* 8000BCB4 3B DE FF FF */ addi r30, r30, -1
lbl_8000BCB8:
/* 8000BCB8 28 1E 00 00 */ cmplwi r30, 0
/* 8000BCBC 40 82 FF B0 */ bne lbl_8000BC6C
lbl_8000BCC0:
/* 8000BCC0 38 60 0B B8 */ li r3, 0xbb8
/* 8000BCC4 48 2D 7C BD */ bl waitTime__12JUTExceptionFl
/* 8000BCC8 83 9F 00 48 */ lwz r28, 0x48(r31)
/* 8000BCCC 7F E3 FB 78 */ mr r3, r31
/* 8000BCD0 48 2D C4 D9 */ bl getLineOffset__10JUTConsoleCFv
/* 8000BCD4 7C 7D 1B 78 */ mr r29, r3
/* 8000BCD8 7F E3 FB 78 */ mr r3, r31
/* 8000BCDC 48 2D C4 A9 */ bl getUsedLine__10JUTConsoleCFv
/* 8000BCE0 7C 7C 18 50 */ subf r3, r28, r3
/* 8000BCE4 38 03 00 01 */ addi r0, r3, 1
/* 8000BCE8 7C 00 E8 40 */ cmplw r0, r29
/* 8000BCEC 40 81 FF 54 */ ble lbl_8000BC40
/* 8000BCF0 4B FF FF 74 */ b lbl_8000BC64
@@ -1,9 +0,0 @@
lbl_80CE93A4:
/* 80CE93A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CE93A8 7C 08 02 A6 */ mflr r0
/* 80CE93AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CE93B0 48 00 04 11 */ bl CreateHeap__12daObjStone_cFv
/* 80CE93B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CE93B8 7C 08 03 A6 */ mtlr r0
/* 80CE93BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80CE93C0 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_80CE97C0:
/* 80CE97C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CE97C4 7C 08 02 A6 */ mflr r0
/* 80CE97C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CE97CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CE97D0 7C 7F 1B 78 */ mr r31, r3
/* 80CE97D4 88 03 09 06 */ lbz r0, 0x906(r3)
/* 80CE97D8 54 00 10 3A */ slwi r0, r0, 2
/* 80CE97DC 3C 60 80 CF */ lis r3, l_arcName@ha /* 0x80CECC74@ha */
/* 80CE97E0 38 63 CC 74 */ addi r3, r3, l_arcName@l /* 0x80CECC74@l */
/* 80CE97E4 7C 63 00 2E */ lwzx r3, r3, r0
/* 80CE97E8 3C 80 80 CF */ lis r4, l_bmdIdx@ha /* 0x80CECAB4@ha */
/* 80CE97EC 38 84 CA B4 */ addi r4, r4, l_bmdIdx@l /* 0x80CECAB4@l */
/* 80CE97F0 7C 84 00 2E */ lwzx r4, r4, r0
/* 80CE97F4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80CE97F8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80CE97FC 3C A5 00 02 */ addis r5, r5, 2
/* 80CE9800 38 C0 00 80 */ li r6, 0x80
/* 80CE9804 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80CE9808 4B 35 2A E5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80CE980C 3C 80 00 08 */ lis r4, 8
/* 80CE9810 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80CE9814 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80CE9818 4B 32 B4 3D */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80CE981C 90 7F 05 70 */ stw r3, 0x570(r31)
/* 80CE9820 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80CE9824 30 03 FF FF */ addic r0, r3, -1
/* 80CE9828 7C 60 19 10 */ subfe r3, r0, r3
/* 80CE982C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CE9830 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CE9834 7C 08 03 A6 */ mtlr r0
/* 80CE9838 38 21 00 10 */ addi r1, r1, 0x10
/* 80CE983C 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
lbl_80CEC1AC:
/* 80CEC1AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80CEC1B0 7C 08 02 A6 */ mflr r0
/* 80CEC1B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80CEC1B8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80CEC1BC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80CEC1C0 7C 7E 1B 78 */ mr r30, r3
/* 80CEC1C4 3B E0 00 00 */ li r31, 0
/* 80CEC1C8 38 60 00 00 */ li r3, 0
/* 80CEC1CC C0 5E 04 D0 */ lfs f2, 0x4d0(r30)
/* 80CEC1D0 D0 41 00 08 */ stfs f2, 8(r1)
/* 80CEC1D4 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
/* 80CEC1D8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80CEC1DC C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80CEC1E0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80CEC1E4 88 1E 09 07 */ lbz r0, 0x907(r30)
/* 80CEC1E8 28 00 00 02 */ cmplwi r0, 2
/* 80CEC1EC 40 82 00 14 */ bne lbl_80CEC200
/* 80CEC1F0 3B E0 00 01 */ li r31, 1
/* 80CEC1F4 D0 41 00 08 */ stfs f2, 8(r1)
/* 80CEC1F8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80CEC1FC D0 01 00 10 */ stfs f0, 0x10(r1)
lbl_80CEC200:
/* 80CEC200 88 1E 09 07 */ lbz r0, 0x907(r30)
/* 80CEC204 28 00 00 03 */ cmplwi r0, 3
/* 80CEC208 40 82 00 08 */ bne lbl_80CEC210
/* 80CEC20C 38 60 00 01 */ li r3, 1
lbl_80CEC210:
/* 80CEC210 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80CEC214 40 82 00 18 */ bne lbl_80CEC22C
/* 80CEC218 38 7E 05 74 */ addi r3, r30, 0x574
/* 80CEC21C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80CEC220 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80CEC224 38 84 0F 38 */ addi r4, r4, 0xf38
/* 80CEC228 4B 38 A8 85 */ bl CrrPos__9dBgS_AcchFR4dBgS
lbl_80CEC22C:
/* 80CEC22C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80CEC230 41 82 00 1C */ beq lbl_80CEC24C
/* 80CEC234 C0 01 00 08 */ lfs f0, 8(r1)
/* 80CEC238 D0 1E 04 D0 */ stfs f0, 0x4d0(r30)
/* 80CEC23C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80CEC240 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
/* 80CEC244 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80CEC248 D0 1E 04 D8 */ stfs f0, 0x4d8(r30)
lbl_80CEC24C:
/* 80CEC24C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80CEC250 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80CEC254 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80CEC258 7C 08 03 A6 */ mtlr r0
/* 80CEC25C 38 21 00 20 */ addi r1, r1, 0x20
/* 80CEC260 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_80CEC948:
/* 80CEC948 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CEC94C 7C 08 02 A6 */ mflr r0
/* 80CEC950 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CEC954 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CEC958 7C 7F 1B 78 */ mr r31, r3
/* 80CEC95C 38 7F 09 70 */ addi r3, r31, 0x970
/* 80CEC960 4B 5D 16 99 */ bl deleteObject__14Z2SoundObjBaseFv
/* 80CEC964 A0 9F 04 94 */ lhz r4, 0x494(r31)
/* 80CEC968 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80CEC96C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80CEC970 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80CEC974 7C 05 07 74 */ extsb r5, r0
/* 80CEC978 4B 34 8D 3D */ bl offActor__10dSv_info_cFii
/* 80CEC97C 7F E3 FB 78 */ mr r3, r31
/* 80CEC980 38 80 00 01 */ li r4, 1
/* 80CEC984 4B FF FE 59 */ bl effect_delete__12daObjStone_cFb
/* 80CEC988 38 7F 05 68 */ addi r3, r31, 0x568
/* 80CEC98C 88 1F 09 06 */ lbz r0, 0x906(r31)
/* 80CEC990 54 00 10 3A */ slwi r0, r0, 2
/* 80CEC994 3C 80 80 CF */ lis r4, l_arcName@ha /* 0x80CECC74@ha */
/* 80CEC998 38 84 CC 74 */ addi r4, r4, l_arcName@l /* 0x80CECC74@l */
/* 80CEC99C 7C 84 00 2E */ lwzx r4, r4, r0
/* 80CEC9A0 4B 34 06 69 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80CEC9A4 38 60 00 01 */ li r3, 1
/* 80CEC9A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CEC9AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CEC9B0 7C 08 03 A6 */ mtlr r0
/* 80CEC9B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CEC9B8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80CECA1C:
/* 80CECA1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CECA20 7C 08 02 A6 */ mflr r0
/* 80CECA24 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CECA28 4B FF CE 19 */ bl create__12daObjStone_cFv
/* 80CECA2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CECA30 7C 08 03 A6 */ mtlr r0
/* 80CECA34 38 21 00 10 */ addi r1, r1, 0x10
/* 80CECA38 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80CEC9FC:
/* 80CEC9FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CECA00 7C 08 02 A6 */ mflr r0
/* 80CECA04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CECA08 4B FF FF 41 */ bl _delete__12daObjStone_cFv
/* 80CECA0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CECA10 7C 08 03 A6 */ mtlr r0
/* 80CECA14 38 21 00 10 */ addi r1, r1, 0x10
/* 80CECA18 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80CEC9BC:
/* 80CEC9BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CEC9C0 7C 08 02 A6 */ mflr r0
/* 80CEC9C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CEC9C8 4B FF FE C1 */ bl draw__12daObjStone_cFv
/* 80CEC9CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CEC9D0 7C 08 03 A6 */ mtlr r0
/* 80CEC9D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CEC9D8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80CEC9DC:
/* 80CEC9DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CEC9E0 7C 08 02 A6 */ mflr r0
/* 80CEC9E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CEC9E8 4B FF D1 B9 */ bl execute__12daObjStone_cFv
/* 80CEC9EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CEC9F0 7C 08 03 A6 */ mtlr r0
/* 80CEC9F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CEC9F8 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_80CEC888:
/* 80CEC888 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80CEC88C 7C 08 02 A6 */ mflr r0
/* 80CEC890 90 01 00 24 */ stw r0, 0x24(r1)
/* 80CEC894 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80CEC898 7C 7F 1B 78 */ mr r31, r3
/* 80CEC89C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80CEC8A0 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80CEC8A4 38 80 00 08 */ li r4, 8
/* 80CEC8A8 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 80CEC8AC 38 DF 01 0C */ addi r6, r31, 0x10c
/* 80CEC8B0 4B 4B 6F 15 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80CEC8B4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80CEC8B8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80CEC8BC 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 80CEC8C0 80 84 00 04 */ lwz r4, 4(r4)
/* 80CEC8C4 38 BF 01 0C */ addi r5, r31, 0x10c
/* 80CEC8C8 4B 4B 84 D9 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80CEC8CC 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80CEC8D0 4B 32 13 F5 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80CEC8D4 80 1F 05 24 */ lwz r0, 0x524(r31)
/* 80CEC8D8 28 00 00 00 */ cmplwi r0, 0
/* 80CEC8DC 40 82 00 54 */ bne lbl_80CEC930
/* 80CEC8E0 88 1F 09 06 */ lbz r0, 0x906(r31)
/* 80CEC8E4 54 00 10 3A */ slwi r0, r0, 2
/* 80CEC8E8 3C 60 80 CF */ lis r3, l_shadow_size@ha /* 0x80CECB60@ha */
/* 80CEC8EC 38 63 CB 60 */ addi r3, r3, l_shadow_size@l /* 0x80CECB60@l */
/* 80CEC8F0 7C 43 04 2E */ lfsx f2, r3, r0
/* 80CEC8F4 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 80CEC8F8 D0 01 00 08 */ stfs f0, 8(r1)
/* 80CEC8FC C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 80CEC900 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80CEC904 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 80CEC908 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80CEC90C 38 61 00 08 */ addi r3, r1, 8
/* 80CEC910 C0 3F 06 0C */ lfs f1, 0x60c(r31)
/* 80CEC914 38 9F 06 64 */ addi r4, r31, 0x664
/* 80CEC918 38 A0 00 00 */ li r5, 0
/* 80CEC91C 3C C0 80 CF */ lis r6, lit_3845@ha /* 0x80CECBB8@ha */
/* 80CEC920 C0 66 CB B8 */ lfs f3, lit_3845@l(r6) /* 0x80CECBB8@l */
/* 80CEC924 3C C0 80 42 */ lis r6, mSimpleTexObj__21dDlst_shadowControl_c@ha /* 0x804248D0@ha */
/* 80CEC928 38 C6 48 D0 */ addi r6, r6, mSimpleTexObj__21dDlst_shadowControl_c@l /* 0x804248D0@l */
/* 80CEC92C 4B 34 07 89 */ bl dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj
lbl_80CEC930:
/* 80CEC930 38 60 00 01 */ li r3, 1
/* 80CEC934 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80CEC938 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80CEC93C 7C 08 03 A6 */ mtlr r0
/* 80CEC940 38 21 00 20 */ addi r1, r1, 0x20
/* 80CEC944 4E 80 00 20 */ blr
@@ -1,42 +0,0 @@
lbl_80CE93C4:
/* 80CE93C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CE93C8 7C 08 02 A6 */ mflr r0
/* 80CE93CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CE93D0 3C 80 80 43 */ lis r4, Zero__4cXyz@ha /* 0x80430CF4@ha */
/* 80CE93D4 C4 04 0C F4 */ lfsu f0, Zero__4cXyz@l(r4) /* 0x80430CF4@l */
/* 80CE93D8 D0 03 09 10 */ stfs f0, 0x910(r3)
/* 80CE93DC C0 04 00 04 */ lfs f0, 4(r4)
/* 80CE93E0 D0 03 09 14 */ stfs f0, 0x914(r3)
/* 80CE93E4 C0 04 00 08 */ lfs f0, 8(r4)
/* 80CE93E8 D0 03 09 18 */ stfs f0, 0x918(r3)
/* 80CE93EC 38 00 00 00 */ li r0, 0
/* 80CE93F0 B0 03 09 1C */ sth r0, 0x91c(r3)
/* 80CE93F4 3C 80 80 3A */ lis r4, ZeroQuat@ha /* 0x803A7240@ha */
/* 80CE93F8 C4 04 72 40 */ lfsu f0, ZeroQuat@l(r4) /* 0x803A7240@l */
/* 80CE93FC D0 03 09 30 */ stfs f0, 0x930(r3)
/* 80CE9400 C0 04 00 04 */ lfs f0, 4(r4)
/* 80CE9404 D0 03 09 34 */ stfs f0, 0x934(r3)
/* 80CE9408 C0 04 00 08 */ lfs f0, 8(r4)
/* 80CE940C D0 03 09 38 */ stfs f0, 0x938(r3)
/* 80CE9410 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80CE9414 D0 03 09 3C */ stfs f0, 0x93c(r3)
/* 80CE9418 C0 03 09 30 */ lfs f0, 0x930(r3)
/* 80CE941C D0 03 09 20 */ stfs f0, 0x920(r3)
/* 80CE9420 C0 03 09 34 */ lfs f0, 0x934(r3)
/* 80CE9424 D0 03 09 24 */ stfs f0, 0x924(r3)
/* 80CE9428 C0 03 09 38 */ lfs f0, 0x938(r3)
/* 80CE942C D0 03 09 28 */ stfs f0, 0x928(r3)
/* 80CE9430 C0 03 09 3C */ lfs f0, 0x93c(r3)
/* 80CE9434 D0 03 09 2C */ stfs f0, 0x92c(r3)
/* 80CE9438 80 83 05 70 */ lwz r4, 0x570(r3)
/* 80CE943C C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 80CE9440 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80CE9444 C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 80CE9448 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80CE944C C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 80CE9450 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80CE9454 48 00 00 15 */ bl setBaseMtx__12daObjStone_cFv
/* 80CE9458 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CE945C 7C 08 03 A6 */ mtlr r0
/* 80CE9460 38 21 00 10 */ addi r1, r1, 0x10
/* 80CE9464 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80CEB0B8:
/* 80CEB0B8 80 03 07 C8 */ lwz r0, 0x7c8(r3)
/* 80CEB0BC 60 00 00 01 */ ori r0, r0, 1
/* 80CEB0C0 90 03 07 C8 */ stw r0, 0x7c8(r3)
/* 80CEB0C4 80 03 07 F4 */ lwz r0, 0x7f4(r3)
/* 80CEB0C8 60 00 00 01 */ ori r0, r0, 1
/* 80CEB0CC 90 03 07 F4 */ stw r0, 0x7f4(r3)
/* 80CEB0D0 80 03 05 5C */ lwz r0, 0x55c(r3)
/* 80CEB0D4 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80CEB0D8 90 03 05 5C */ stw r0, 0x55c(r3)
/* 80CEB0DC 38 00 00 00 */ li r0, 0
/* 80CEB0E0 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEB0E4 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 80CEB0E8 D0 03 09 44 */ stfs f0, 0x944(r3)
/* 80CEB0EC 38 00 00 01 */ li r0, 1
/* 80CEB0F0 98 03 09 07 */ stb r0, 0x907(r3)
/* 80CEB0F4 4E 80 00 20 */ blr
@@ -1,21 +0,0 @@
lbl_80CEAF88:
/* 80CEAF88 80 03 07 C8 */ lwz r0, 0x7c8(r3)
/* 80CEAF8C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80CEAF90 90 03 07 C8 */ stw r0, 0x7c8(r3)
/* 80CEAF94 80 03 07 F4 */ lwz r0, 0x7f4(r3)
/* 80CEAF98 60 00 00 01 */ ori r0, r0, 1
/* 80CEAF9C 90 03 07 F4 */ stw r0, 0x7f4(r3)
/* 80CEAFA0 80 03 05 5C */ lwz r0, 0x55c(r3)
/* 80CEAFA4 60 00 00 10 */ ori r0, r0, 0x10
/* 80CEAFA8 90 03 05 5C */ stw r0, 0x55c(r3)
/* 80CEAFAC 88 03 09 06 */ lbz r0, 0x906(r3)
/* 80CEAFB0 54 00 10 3A */ slwi r0, r0, 2
/* 80CEAFB4 3C 80 80 CF */ lis r4, l_initial_offsetY@ha /* 0x80CECB14@ha */
/* 80CEAFB8 38 84 CB 14 */ addi r4, r4, l_initial_offsetY@l /* 0x80CECB14@l */
/* 80CEAFBC 7C 04 04 2E */ lfsx f0, r4, r0
/* 80CEAFC0 D0 03 09 40 */ stfs f0, 0x940(r3)
/* 80CEAFC4 38 00 00 00 */ li r0, 0
/* 80CEAFC8 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEAFCC 38 00 00 03 */ li r0, 3
/* 80CEAFD0 98 03 09 07 */ stb r0, 0x907(r3)
/* 80CEAFD4 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_80CEAFE8:
/* 80CEAFE8 80 03 07 C8 */ lwz r0, 0x7c8(r3)
/* 80CEAFEC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80CEAFF0 90 03 07 C8 */ stw r0, 0x7c8(r3)
/* 80CEAFF4 80 03 07 F4 */ lwz r0, 0x7f4(r3)
/* 80CEAFF8 60 00 00 01 */ ori r0, r0, 1
/* 80CEAFFC 90 03 07 F4 */ stw r0, 0x7f4(r3)
/* 80CEB000 80 03 05 5C */ lwz r0, 0x55c(r3)
/* 80CEB004 60 00 00 10 */ ori r0, r0, 0x10
/* 80CEB008 90 03 05 5C */ stw r0, 0x55c(r3)
/* 80CEB00C 38 00 00 00 */ li r0, 0
/* 80CEB010 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEB014 98 03 09 07 */ stb r0, 0x907(r3)
/* 80CEB018 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80CEB6E8:
/* 80CEB6E8 80 03 07 C8 */ lwz r0, 0x7c8(r3)
/* 80CEB6EC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80CEB6F0 90 03 07 C8 */ stw r0, 0x7c8(r3)
/* 80CEB6F4 80 03 07 F4 */ lwz r0, 0x7f4(r3)
/* 80CEB6F8 60 00 00 01 */ ori r0, r0, 1
/* 80CEB6FC 90 03 07 F4 */ stw r0, 0x7f4(r3)
/* 80CEB700 80 03 05 5C */ lwz r0, 0x55c(r3)
/* 80CEB704 60 00 00 10 */ ori r0, r0, 0x10
/* 80CEB708 90 03 05 5C */ stw r0, 0x55c(r3)
/* 80CEB70C 38 00 00 00 */ li r0, 0
/* 80CEB710 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEB714 38 00 00 04 */ li r0, 4
/* 80CEB718 98 03 09 07 */ stb r0, 0x907(r3)
/* 80CEB71C 4E 80 00 20 */ blr
@@ -1,25 +0,0 @@
lbl_80CEBE24:
/* 80CEBE24 3C 80 80 CF */ lis r4, l_bmdIdx@ha /* 0x80CECAB4@ha */
/* 80CEBE28 38 A4 CA B4 */ addi r5, r4, l_bmdIdx@l /* 0x80CECAB4@l */
/* 80CEBE2C 80 03 07 C8 */ lwz r0, 0x7c8(r3)
/* 80CEBE30 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80CEBE34 90 03 07 C8 */ stw r0, 0x7c8(r3)
/* 80CEBE38 80 03 07 F4 */ lwz r0, 0x7f4(r3)
/* 80CEBE3C 60 00 00 01 */ ori r0, r0, 1
/* 80CEBE40 90 03 07 F4 */ stw r0, 0x7f4(r3)
/* 80CEBE44 88 03 09 06 */ lbz r0, 0x906(r3)
/* 80CEBE48 54 00 10 3A */ slwi r0, r0, 2
/* 80CEBE4C 38 85 00 60 */ addi r4, r5, 0x60
/* 80CEBE50 7C 04 04 2E */ lfsx f0, r4, r0
/* 80CEBE54 D0 03 09 40 */ stfs f0, 0x940(r3)
/* 80CEBE58 38 00 00 00 */ li r0, 0
/* 80CEBE5C 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEBE60 C0 05 01 5C */ lfs f0, 0x15c(r5)
/* 80CEBE64 D0 03 05 30 */ stfs f0, 0x530(r3)
/* 80CEBE68 C0 05 01 60 */ lfs f0, 0x160(r5)
/* 80CEBE6C D0 03 05 34 */ stfs f0, 0x534(r3)
/* 80CEBE70 C0 03 07 40 */ lfs f0, 0x740(r3)
/* 80CEBE74 D0 03 04 D4 */ stfs f0, 0x4d4(r3)
/* 80CEBE78 38 00 00 06 */ li r0, 6
/* 80CEBE7C 98 03 09 07 */ stb r0, 0x907(r3)
/* 80CEBE80 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80CEC180:
/* 80CEC180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CEC184 7C 08 02 A6 */ mflr r0
/* 80CEC188 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CEC18C 80 83 09 0C */ lwz r4, 0x90c(r3)
/* 80CEC190 38 04 00 01 */ addi r0, r4, 1
/* 80CEC194 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEC198 4B 32 DA E5 */ bl fopAcM_delete__FP10fopAc_ac_c
/* 80CEC19C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CEC1A0 7C 08 03 A6 */ mtlr r0
/* 80CEC1A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CEC1A8 4E 80 00 20 */ blr
@@ -1,5 +0,0 @@
lbl_80CEAFD8:
/* 80CEAFD8 80 83 09 0C */ lwz r4, 0x90c(r3)
/* 80CEAFDC 38 04 00 01 */ addi r0, r4, 1
/* 80CEAFE0 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEAFE4 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_80CEB01C:
/* 80CEB01C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CEB020 7C 08 02 A6 */ mflr r0
/* 80CEB024 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CEB028 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CEB02C 93 C1 00 08 */ stw r30, 8(r1)
/* 80CEB030 7C 7E 1B 78 */ mr r30, r3
/* 80CEB034 3C 80 80 CF */ lis r4, l_bmdIdx@ha /* 0x80CECAB4@ha */
/* 80CEB038 3B E4 CA B4 */ addi r31, r4, l_bmdIdx@l /* 0x80CECAB4@l */
/* 80CEB03C 80 83 09 0C */ lwz r4, 0x90c(r3)
/* 80CEB040 38 04 00 01 */ addi r0, r4, 1
/* 80CEB044 90 03 09 0C */ stw r0, 0x90c(r3)
/* 80CEB048 C0 23 05 2C */ lfs f1, 0x52c(r3)
/* 80CEB04C C0 1F 01 40 */ lfs f0, 0x140(r31)
/* 80CEB050 EC 01 00 32 */ fmuls f0, f1, f0
/* 80CEB054 D0 03 05 2C */ stfs f0, 0x52c(r3)
/* 80CEB058 38 9E 07 8C */ addi r4, r30, 0x78c
/* 80CEB05C 4B 32 F6 71 */ bl fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz
/* 80CEB060 38 7E 09 40 */ addi r3, r30, 0x940
/* 80CEB064 88 1E 09 06 */ lbz r0, 0x906(r30)
/* 80CEB068 54 00 10 3A */ slwi r0, r0, 2
/* 80CEB06C 38 9F 00 68 */ addi r4, r31, 0x68
/* 80CEB070 7C 24 04 2E */ lfsx f1, r4, r0
/* 80CEB074 C0 5F 01 44 */ lfs f2, 0x144(r31)
/* 80CEB078 4B 58 56 C9 */ bl cLib_chaseF__FPfff
/* 80CEB07C 80 1E 09 0C */ lwz r0, 0x90c(r30)
/* 80CEB080 28 00 00 05 */ cmplwi r0, 5
/* 80CEB084 40 81 00 1C */ ble lbl_80CEB0A0
/* 80CEB088 7F C3 F3 78 */ mr r3, r30
/* 80CEB08C 48 00 15 31 */ bl checkRollAngle__12daObjStone_cFv
/* 80CEB090 2C 03 00 00 */ cmpwi r3, 0
/* 80CEB094 41 82 00 0C */ beq lbl_80CEB0A0
/* 80CEB098 7F C3 F3 78 */ mr r3, r30
/* 80CEB09C 48 00 06 4D */ bl init_modeWalk__12daObjStone_cFv
lbl_80CEB0A0:
/* 80CEB0A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CEB0A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80CEB0A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CEB0AC 7C 08 03 A6 */ mtlr r0
/* 80CEB0B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80CEB0B4 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_80CEBE84:
/* 80CEBE84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80CEBE88 7C 08 02 A6 */ mflr r0
/* 80CEBE8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80CEBE90 39 61 00 20 */ addi r11, r1, 0x20
/* 80CEBE94 4B 67 63 49 */ bl _savegpr_29
/* 80CEBE98 7C 7D 1B 78 */ mr r29, r3
/* 80CEBE9C C0 43 07 40 */ lfs f2, 0x740(r3)
/* 80CEBEA0 3C 80 80 CF */ lis r4, lit_5074@ha /* 0x80CECC18@ha */
/* 80CEBEA4 C0 24 CC 18 */ lfs f1, lit_5074@l(r4) /* 0x80CECC18@l */
/* 80CEBEA8 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 80CEBEAC EC 01 00 2A */ fadds f0, f1, f0
/* 80CEBEB0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80CEBEB4 7C 00 00 26 */ mfcr r0
/* 80CEBEB8 54 1E 17 FE */ rlwinm r30, r0, 2, 0x1f, 0x1f
/* 80CEBEBC 80 03 05 A0 */ lwz r0, 0x5a0(r3)
/* 80CEBEC0 54 1F CF FE */ rlwinm r31, r0, 0x19, 0x1f, 0x1f
/* 80CEBEC4 C0 23 05 2C */ lfs f1, 0x52c(r3)
/* 80CEBEC8 3C 80 80 CF */ lis r4, lit_5075@ha /* 0x80CECC1C@ha */
/* 80CEBECC C0 04 CC 1C */ lfs f0, lit_5075@l(r4) /* 0x80CECC1C@l */
/* 80CEBED0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80CEBED4 D0 03 05 2C */ stfs f0, 0x52c(r3)
/* 80CEBED8 38 80 00 00 */ li r4, 0
/* 80CEBEDC 4B 32 E7 F1 */ bl fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz
/* 80CEBEE0 28 1E 00 00 */ cmplwi r30, 0
/* 80CEBEE4 40 82 00 0C */ bne lbl_80CEBEF0
/* 80CEBEE8 28 1F 00 00 */ cmplwi r31, 0
/* 80CEBEEC 41 82 00 0C */ beq lbl_80CEBEF8
lbl_80CEBEF0:
/* 80CEBEF0 7F A3 EB 78 */ mr r3, r29
/* 80CEBEF4 4B 32 DD 89 */ bl fopAcM_delete__FP10fopAc_ac_c
lbl_80CEBEF8:
/* 80CEBEF8 80 7D 09 0C */ lwz r3, 0x90c(r29)
/* 80CEBEFC 38 03 00 01 */ addi r0, r3, 1
/* 80CEBF00 90 1D 09 0C */ stw r0, 0x90c(r29)
/* 80CEBF04 39 61 00 20 */ addi r11, r1, 0x20
/* 80CEBF08 4B 67 63 21 */ bl _restgpr_29
/* 80CEBF0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80CEBF10 7C 08 03 A6 */ mtlr r0
/* 80CEBF14 38 21 00 20 */ addi r1, r1, 0x20
/* 80CEBF18 4E 80 00 20 */ blr
@@ -1,55 +0,0 @@
lbl_80CE9468:
/* 80CE9468 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CE946C 7C 08 02 A6 */ mflr r0
/* 80CE9470 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CE9474 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CE9478 7C 7F 1B 78 */ mr r31, r3
/* 80CE947C 38 7F 09 20 */ addi r3, r31, 0x920
/* 80CE9480 38 9F 09 30 */ addi r4, r31, 0x930
/* 80CE9484 7C 65 1B 78 */ mr r5, r3
/* 80CE9488 4B 65 DF 91 */ bl PSQUATMultiply
/* 80CE948C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CE9490 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CE9494 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80CE9498 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80CE949C C0 1F 09 40 */ lfs f0, 0x940(r31)
/* 80CE94A0 EC 42 00 2A */ fadds f2, f2, f0
/* 80CE94A4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80CE94A8 4B 65 D4 41 */ bl PSMTXTrans
/* 80CE94AC 38 7F 09 20 */ addi r3, r31, 0x920
/* 80CE94B0 4B 32 3A CD */ bl quatM__14mDoMtx_stack_cFPC10Quaternion
/* 80CE94B4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CE94B8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CE94BC A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 80CE94C0 A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 80CE94C4 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 80CE94C8 4B 32 2D D9 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80CE94CC 38 7F 09 00 */ addi r3, r31, 0x900
/* 80CE94D0 4B 32 3A 75 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 80CE94D4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CE94D8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CE94DC 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 80CE94E0 38 84 00 24 */ addi r4, r4, 0x24
/* 80CE94E4 4B 65 CF CD */ bl PSMTXCopy
/* 80CE94E8 C0 1F 09 20 */ lfs f0, 0x920(r31)
/* 80CE94EC D0 1F 09 30 */ stfs f0, 0x930(r31)
/* 80CE94F0 C0 1F 09 24 */ lfs f0, 0x924(r31)
/* 80CE94F4 D0 1F 09 34 */ stfs f0, 0x934(r31)
/* 80CE94F8 C0 1F 09 28 */ lfs f0, 0x928(r31)
/* 80CE94FC D0 1F 09 38 */ stfs f0, 0x938(r31)
/* 80CE9500 C0 1F 09 2C */ lfs f0, 0x92c(r31)
/* 80CE9504 D0 1F 09 3C */ stfs f0, 0x93c(r31)
/* 80CE9508 3C 60 80 3A */ lis r3, ZeroQuat@ha /* 0x803A7240@ha */
/* 80CE950C C4 03 72 40 */ lfsu f0, ZeroQuat@l(r3) /* 0x803A7240@l */
/* 80CE9510 D0 1F 09 20 */ stfs f0, 0x920(r31)
/* 80CE9514 C0 03 00 04 */ lfs f0, 4(r3)
/* 80CE9518 D0 1F 09 24 */ stfs f0, 0x924(r31)
/* 80CE951C C0 03 00 08 */ lfs f0, 8(r3)
/* 80CE9520 D0 1F 09 28 */ stfs f0, 0x928(r31)
/* 80CE9524 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80CE9528 D0 1F 09 2C */ stfs f0, 0x92c(r31)
/* 80CE952C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CE9530 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CE9534 7C 08 03 A6 */ mtlr r0
/* 80CE9538 38 21 00 10 */ addi r1, r1, 0x10
/* 80CE953C 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_8059A33C:
/* 8059A33C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A340 7C 08 02 A6 */ mflr r0
/* 8059A344 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A348 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059A410@ha */
/* 8059A34C 38 84 A4 10 */ addi r4, r4, l_arcName@l /* 0x8059A410@l */
/* 8059A350 80 84 00 00 */ lwz r4, 0(r4)
/* 8059A354 38 63 05 68 */ addi r3, r3, 0x568
/* 8059A358 4B A9 2C B1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8059A35C 38 60 00 01 */ li r3, 1
/* 8059A360 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A364 7C 08 03 A6 */ mtlr r0
/* 8059A368 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A36C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059A3B0:
/* 8059A3B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A3B4 7C 08 02 A6 */ mflr r0
/* 8059A3B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A3BC 4B FF FD AD */ bl create__12daObjSMark_cFv
/* 8059A3C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A3C4 7C 08 03 A6 */ mtlr r0
/* 8059A3C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A3CC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059A390:
/* 8059A390 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A394 7C 08 02 A6 */ mflr r0
/* 8059A398 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A39C 4B FF FF A1 */ bl _delete__12daObjSMark_cFv
/* 8059A3A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A3A4 7C 08 03 A6 */ mtlr r0
/* 8059A3A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A3AC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059A370:
/* 8059A370 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A374 7C 08 02 A6 */ mflr r0
/* 8059A378 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A37C 4B FF FF 51 */ bl draw__12daObjSMark_cFv
/* 8059A380 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A384 7C 08 03 A6 */ mtlr r0
/* 8059A388 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A38C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059A018:
/* 8059A018 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A01C 7C 08 02 A6 */ mflr r0
/* 8059A020 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A024 48 00 00 15 */ bl setBaseMtx__12daObjSMark_cFv
/* 8059A028 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A02C 7C 08 03 A6 */ mtlr r0
/* 8059A030 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A034 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_8059A038:
/* 8059A038 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A03C 7C 08 02 A6 */ mflr r0
/* 8059A040 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A044 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059A048 7C 7F 1B 78 */ mr r31, r3
/* 8059A04C 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8059A050 4B A7 2D 15 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8059A054 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 8059A058 4B A7 2E ED */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 8059A05C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A060 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A064 38 9F 07 E4 */ addi r4, r31, 0x7e4
/* 8059A068 4B DA C4 49 */ bl PSMTXCopy
/* 8059A06C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059A070 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A074 7C 08 03 A6 */ mtlr r0
/* 8059A078 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A07C 4E 80 00 20 */ blr
+4
View File
@@ -124,7 +124,11 @@ public:
mTranslateValues = pTranslateValues;
mKind = KIND_TRANSFORM;
}
#ifdef __dt__15J2DAnmTransformFv_DEFINED
/* 80184370 */ virtual ~J2DAnmTransform();
#else
/* 80184370 */ virtual ~J2DAnmTransform() {}
#endif
/* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const;
/* 0x10 */ f32* mScaleValues;
+1 -2
View File
@@ -94,8 +94,7 @@ public:
/* vt 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm) {}
/* vt 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm) {}
/* vt 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {}
/* vt 0x7C */ virtual const J2DAnmTransform*
animationTransform(const J2DAnmTransform* transform);
/* vt 0x7C */ virtual const J2DAnmTransform* animationTransform(const J2DAnmTransform* transform);
/* vt 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility);
/* vt 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility);
/* vt 0x88 */ virtual void setVtxColorAnimation(J2DAnmVtxColor* vtx_color);
+8 -2
View File
@@ -11,8 +11,14 @@
#include "dolphin/types.h"
enum J3DMdlFlag {
/* 0x4 */ J3DMdlFlag_SkinPosCpu = 0x4,
/* 0x8 */ J3DMdlFlag_SkinNrmCpu = 0x8,
/* 0x00001 */ J3DMdlFlag_Unk00001 = 0x1,
/* 0x00002 */ J3DMdlFlag_Unk00002 = 0x2,
/* 0x00004 */ J3DMdlFlag_SkinPosCpu = 0x4,
/* 0x00008 */ J3DMdlFlag_SkinNrmCpu = 0x8,
/* 0x00010 */ J3DMdlFlag_Unk00010 = 0x10,
/* 0x20000 */ J3DMdlFlag_Unk20000 = 0x20000,
/* 0x40000 */ J3DMdlFlag_Unk40000 = 0x40000,
/* 0x80000 */ J3DMdlFlag_Unk80000 = 0x80000,
};
struct J3DUnkCalc1 {
+39 -1
View File
@@ -1,6 +1,44 @@
#ifndef JASRESARCLOADER_H
#define JASRESARCLOADER_H
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRArchive.h"
namespace JASResArcLoader {
/* 80290BD0 */ size_t getResSize(JKRArchive const*, u16);
/* 80290C04 */ size_t getResMaxSize(JKRArchive const*);
/* 80290C7C */ static void loadResourceCallback(void*);
/* 80290D18 */ int loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);
};
// from pikmin2
typedef void (*LoadCallback)(u32, u32);
enum ResArcMessage {
RESARCMSG_Error = -1,
RESARCMSG_Success = 0,
};
struct CallbackArgs {
inline CallbackArgs(u16 id, u8* buf, u32 size, JKRArchive* archive)
: mArchive(archive)
, mID(id)
, mBuffer(buf)
, mBufferSize(size)
, mCallback(0)
, mCallbackArg(0)
, mQueue(0)
{
}
JKRArchive* mArchive; // _00
u16 mID; // _04
u8* mBuffer; // _08
u32 mBufferSize; // _0C
LoadCallback mCallback; // _10
u32 mCallbackArg; // _14, arg to pass to mCallback along with readResource result
OSMessageQueue* mQueue; // _18
};
#endif /* JASRESARCLOADER_H */
+1
View File
@@ -84,6 +84,7 @@ public:
// was needed for open__14JKRAramArchiveFl
u8 getCompressFlag() const { return (getFlags() & 0x04); }
bool isYAZ0Compressed() const { return (getFlags() & 0x80) != 0; }
u32 getSize() const { return data_size; }
};
enum EMountMode {
+4
View File
@@ -236,4 +236,8 @@ inline s32 JKRResizeMemBlock(JKRHeap* heap, void* ptr, u32 size) {
return JKRHeap::resize(ptr, size, heap);
}
inline JKRHeap* JKRGetRootHeap() {
return JKRHeap::getRootHeap();
}
#endif /* JKRHEAP_H */
+4
View File
@@ -98,6 +98,10 @@ public:
mGamePadPort = JUTGamePad::Port_Unknown;
}
static void setMapFile(const char* map) {
appendMapFile(map);
}
private:
static OSMessageQueue sMessageQueue;
static const char* sCpuExpName[17];
+1 -1
View File
@@ -20,7 +20,7 @@ class JUTNameTab {
public:
JUTNameTab();
JUTNameTab(const ResNTAB* pNameTable);
virtual ~JUTNameTab() {}
virtual ~JUTNameTab() {};
void setResource(const ResNTAB* pNameTable);
s32 getIndex(char const*) const;
+1
View File
@@ -457,6 +457,7 @@ public:
void OnCoSetBit() { mObjCo.OnSPrmBit(1); }
void OffAtVsPlayerBit() { mObjAt.OffSPrmBit(0xC); }
void OnAtVsPlayerBit() { mObjAt.OnSPrmBit(0xC); }
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
}; // Size = 0x40
+4
View File
@@ -29,6 +29,10 @@ inline s16 cM_deg2s(f32 val) {
return val * 182.04445f;
}
inline s16 i_cM_deg2s(f32 val) {
return val;
}
inline f32 cM_fsin(f32 v) {
return JMASSin(cM_rad2s(v));
}
+1 -1
View File
@@ -7,7 +7,7 @@
class csXyz : public SVec {
public:
static const csXyz Zero;
/* 80018BD0 */ ~csXyz() {}
/* 80018BD0 */ ~csXyz() {};
/* inline */ csXyz() {}
/* inline */ csXyz(const csXyz& other) : SVec(other){};
/* 802673F4 */ csXyz(s16, s16, s16);
+2 -2
View File
@@ -3142,7 +3142,7 @@ public:
return checkHookshotReadyAnime() || checkHookshotShootAnime();
}
BOOL checkBoomerangReadyAnime() const {
return (mEquipItem == BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54);
return (mEquipItem == BOOMERANG || mEquipItem == noentry71) && checkUpperAnime(0x54);
}
bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); }
BOOL checkCopyRodThrowAnime() const { return mEquipItem == COPY_ROD && checkUpperAnime(0x53); }
@@ -3181,7 +3181,7 @@ public:
bool swordButton() { return itemButtonCheck(8); }
daPy_actorKeep_c* getThrowBoomerangAcKeep() { return &mThrowBoomerangAcKeep; }
s32 getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; }
bool checkFisingRodLure() const { return mEquipItem == 0x105; }
bool checkFisingRodLure() const { return mEquipItem == noentry73; }
bool doTrigger() const { return mItemTrigger & BTN_A; }
bool swordTrigger() { return itemTriggerCheck(BTN_B); }
bool peepSubjectCancelTrigger() { return itemTriggerCheck(0x8); }
+3
View File
@@ -121,6 +121,7 @@ public:
void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); }
bool ChkGroundFind() { return m_flags & GROUND_FIND; }
bool ChkGroundHit() { return m_flags & GROUND_HIT; }
bool ChkGroundLanding() { return m_flags & GROUND_LANDING; }
void ClrGroundLanding() { m_flags &= ~GROUND_LANDING; }
void ClrGroundAway() { m_flags &= ~GROUND_AWAY; }
void ClrWallHit() { m_flags &= ~WALL_HIT; }
@@ -136,6 +137,8 @@ public:
void SetWaterHit() { m_flags |= WATER_HIT; }
void ClrWaterIn() { m_flags &= ~WATER_IN; }
void SetWaterIn() { m_flags |= WATER_IN; }
const u32 MaskWaterIn() { return m_flags & WATER_IN; }
const bool ChkWaterIn() { return MaskWaterIn();}
void ClrGroundFind() { m_flags &= ~GROUND_FIND; }
u32 MaskRoofHit() { return m_flags & ROOF_HIT; }
bool ChkRoofHit() { return MaskRoofHit(); }
+1
View File
@@ -346,6 +346,7 @@ public:
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
static u32 const m_hitSeID[24];
+9
View File
@@ -937,6 +937,10 @@ inline void dComIfGs_setCollectClothes(u8 i_clothesNo) {
g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_CLOTHING, i_clothesNo);
}
inline void dComIfGs_setCardToMemory(char* card_ptr,int dataNum) {
g_dComIfG_gameInfo.info.card_to_memory(card_ptr,dataNum);
}
inline void dComIfGs_setRodTypeLevelUp() {
g_dComIfG_gameInfo.info.getPlayer().getItem().setRodTypeLevelUp();
}
@@ -1008,6 +1012,7 @@ inline void dComIfGs_offSwitch(int i_no, int i_roomNo) {
g_dComIfG_gameInfo.info.offSwitch(i_no, i_roomNo);
}
inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo) {
return g_dComIfG_gameInfo.info.isSwitch(i_no, i_roomNo);
}
@@ -1479,6 +1484,10 @@ inline BOOL dComIfGs_isActor(int i_no, int i_roomNo) {
return g_dComIfG_gameInfo.info.isActor(i_no, i_roomNo);
}
inline void dComIfGs_offActor(int i_no, int i_roomNo) {
g_dComIfG_gameInfo.info.offActor(i_no,i_roomNo);
}
inline void dComIfGs_putSave(int i_stageNo) {
g_dComIfG_gameInfo.info.putSave(i_stageNo);
}
+3
View File
@@ -3,6 +3,7 @@
#include "dolphin/types.h"
#include "dolphin/os/OS.h"
#include "dolphin/mtx/quat.h"
struct JKRAramArchive;
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
@@ -81,4 +82,6 @@ struct dLib_time_c {
static bool m_timeStopped;
};
extern Quaternion ZeroQuat;
#endif /* D_D_LIB_H */
+463
View File
@@ -2,5 +2,468 @@
#define D_FILE_D_FILE_SELECT_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_MemCard.h"
#include "d/file/d_file_sel_warning.h"
#include "d/d_name.h"
#include "d/msg/d_msg_string.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
class dDlst_FileSel_c {
public:
/* 8018DEBC */ void draw();
/* 8019135C */ ~dDlst_FileSel_c();
/* 0x00 */ void* vtable;
/* 0x04 */ J2DScreen* mpScreen;
};
struct dFile_select3D_c {
/* 801902F0 */ dFile_select3D_c();
/* 80190380 */ ~dFile_select3D_c();
/* 801903DC */ void _create(u8, u8);
/* 8019049C */ void _delete();
/* 801904A0 */ void freeHeap();
/* 801904E4 */ void _move();
/* 801905A8 */ void draw();
/* 8019065C */ void setJ3D(char const*, char const*, char const*);
/* 8019095C */ void set_mtx();
/* 80190A14 */ void animePlay();
/* 80190B44 */ void animeEntry();
/* 80190BA8 */ void createMaskModel();
/* 80190D68 */ void createMirrorModel();
/* 80190FE8 */ void toItem3Dpos(f32, f32, f32, cXyz*);
/* 801910D4 */ void calcViewMtx(f32 (*)[4]);
};
struct dDlst_FileSelYn_c {
/* 8018E0C0 */ void draw();
/* 801911F4 */ ~dDlst_FileSelYn_c();
/* 0x00 */ void* vtable;
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ u8 field_0x08[4];
};
struct dDlst_FileSelDt_c {
/* 8018DEF4 */ void draw();
/* 801912E4 */ ~dDlst_FileSelDt_c();
/* 0x00 */ void* vtable;
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ J2DPane* mpPane;
/* 0x0C */ u8 field_0x0c[4];
};
struct dDlst_FileSelCp_c {
/* 8018DFFC */ void draw();
/* 8019126C */ ~dDlst_FileSelCp_c();
/* 0x00 */ void* vtable;
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ bool field_0x08;
/* 0x0C */ J2DPane* mpPane1;
/* 0x10 */ J2DPane* mpPane2;
};
struct dDlst_FileSel3m_c {
/* 8018E0F8 */ void draw();
/* 8019117C */ ~dDlst_FileSel3m_c();
/* 0x00 */ void* vtable;
/* 0x04 */ J2DScreen* mpScreen;
};
struct dFile_info_c {
/* 80192434 */ dFile_info_c(JKRArchive*, u8);
/* 80192954 */ void setSaveData(dSv_save_c*, int, u8);
/* 80192D60 */ void _draw();
};
// temp struct in order to get matches
class dFs_HIO_c_tmp {
public:
/* 0x0000 */ void* vtable;
/* 0x0004 */ s8 field_0x0004;
/* 0x0005 */ u8 field_0x0005;
/* 0x0006 */ u8 field_0x0006;
/* 0x0007 */ u8 field_0x0007;
/* 0x0008 */ u8 field_0x0008;
/* 0x0009 */ u8 field_0x0009;
/* 0x000A */ u8 field_0x000a;
/* 0x000B */ u8 field_0x000b;
/* 0x000C */ u8 field_0x000c;
/* 0x000D */ u8 field_0x000d;
/* 0x000E */ u8 field_0x000e[2];
/* 0x0010 */ float field_0x0010;
/* 0x0014 */ float field_0x0014;
/* 0x0018 */ float field_0x0018;
/* 0x001C */ u8 field_0x001c;
/* 0x001D */ u8 field_0x001d;
/* 0x001E */ u8 field_0x001e;
/* 0x001F */ u8 field_0x001f;
/* 0x0020 */ u8 field_0x0020;
/* 0x0021 */ u8 field_0x0021;
/* 0x0022 */ u8 field_0x0022;
/* 0x0023 */ u8 field_0x0023;
};
class dFs_HIO_c {
public:
/* 801835F8 */ dFs_HIO_c();
/* 801913E0 */ virtual ~dFs_HIO_c();
/* 0x0000 */ // void* vtable;
/* 0x0004 */ s8 field_0x0004;
/* 0x0005 */ u8 field_0x0005;
/* 0x0006 */ u8 field_0x0006;
/* 0x0007 */ u8 field_0x0007;
/* 0x0008 */ u8 field_0x0008;
/* 0x0009 */ u8 field_0x0009;
/* 0x000A */ u8 field_0x000a;
/* 0x000B */ u8 field_0x000b;
/* 0x000C */ u8 field_0x000c;
/* 0x000D */ u8 field_0x000d;
/* 0x000E */ u8 field_0x000e[2];
/* 0x0010 */ float field_0x0010;
/* 0x0014 */ float field_0x0014;
/* 0x0018 */ float field_0x0018;
/* 0x001C */ u8 field_0x001c;
/* 0x001D */ u8 field_0x001d;
/* 0x001E */ u8 field_0x001e;
/* 0x001F */ u8 field_0x001f;
/* 0x0020 */ u8 field_0x0020;
/* 0x0021 */ u8 field_0x0021;
/* 0x0022 */ u8 field_0x0022;
/* 0x0023 */ u8 field_0x0023;
};
class dFile_select_c {
public:
/* 8018366C */ dFile_select_c(JKRArchive*);
/* 8018375C */ ~dFile_select_c();
/* 801843CC */ void _create();
/* 801844FC */ void _move();
/* 80184664 */ void selFileWakuAnm();
/* 801848A0 */ void bookIconAnm();
/* 8018499C */ void selCopyFileWakuAnm();
/* 80184A48 */ void copyBookIconAnm();
/* 80184B44 */ void dataDelEffAnm();
/* 80184BFC */ void dataCopyEffAnm();
/* 80184CB4 */ void selectDataBaseMoveAnmInitSet(int, int);
/* 80184D4C */ void selectDataBaseMoveAnm();
/* 80184E38 */ void dataSelectInAnmSet();
/* 80185040 */ void dataSelectIn();
/* 80185230 */ void dataSelectInit();
/* 801853C4 */ void dataSelect();
/* 80185508 */ void dataSelectStart();
/* 80185994 */ void selectDataMoveAnmInitSet(int, int);
/* 80185AAC */ void selectDataMoveAnm();
/* 80185C2C */ void dataSelectAnmSet();
/* 80185DE0 */ void dataSelectMoveAnime();
/* 80186088 */ void makeRecInfo(u8);
/* 801864DC */ void selectDataOpenMove();
/* 80186638 */ void selectDataNameMove();
/* 801866C8 */ void selectDataOpenEraseMove();
/* 80186774 */ void menuSelect();
/* 801868EC */ void menuSelectStart();
/* 80186A80 */ void menuSelectCansel();
/* 80186B48 */ void menuMoveAnmInitSet(int, int);
/* 80186CAC */ bool menuMoveAnm();
/* 80186E14 */ void menuSelectAnmSet();
/* 80186F98 */ void menuSelectMoveAnm();
/* 8018721C */ void ToNameMove();
/* 801872C4 */ void ToNameMove2();
/* 80187384 */ void nameInputWait();
/* 801873BC */ void nameInput();
/* 801874F8 */ void nameToDataSelectMove();
/* 8018759C */ void nameInputFade();
/* 801876A0 */ void nameInput2Move();
/* 8018774C */ void nameInput2();
/* 80187824 */ void backNameInputMove0();
/* 80187908 */ void backNameInputMove();
/* 801879B8 */ void ToCopyPaneMove();
/* 80187ADC */ void ToErasePaneMove();
/* 80187B44 */ void backSelectMove();
/* 80187BE8 */ void copySelMoveAnmInitSet(int, int);
/* 80187DB8 */ void setSaveDataForCopySel();
/* 80187ED4 */ void copyDataToSelect();
/* 8018801C */ void copyDataToSelectStart();
/* 80188234 */ void copyDataToSelectCansel();
/* 8018832C */ void copyDataToSelectMoveAnmSet();
/* 801884D0 */ void copyDataToSelectMoveAnm();
/* 80188834 */ void copySelectWakuAlpahAnmInit(u8, u8, u8, u8);
/* 80188878 */ void copySelectWakuAlpahAnm(u8);
/* 80188950 */ void getCptoNum(u8);
/* 80188994 */ void copyToSelBack();
/* 80188B54 */ void copyToSelPaneMove();
/* 80188BBC */ void yesnoMenuMoveAnmInitSet(int, int);
/* 80188D38 */ bool yesnoMenuMoveAnm();
/* 80188ED0 */ void yesnoSelectMoveAnm();
/* 8018912C */ void yesnoCursorShow();
/* 8018929C */ void YesNoSelect();
/* 801893E4 */ void yesNoSelectStart();
/* 8018978C */ void yesnoSelectAnmSet();
/* 80189904 */ void yesnoCancelAnmSet();
/* 80189A24 */ void YesNoCancelMove();
/* 80189BA8 */ void yesNoCursorMoveAnm();
/* 80189C14 */ void CmdExecPaneMove0();
/* 80189E28 */ void CommandExec();
/* 80189F68 */ void DataEraseWait();
/* 80189FFC */ void DataEraseWait2();
/* 8018A194 */ void ErasePaneMoveOk();
/* 8018A2DC */ void ErasePaneMoveOk2();
/* 8018A3B0 */ void eraseEndBackSelectWait();
/* 8018A444 */ void eraseEndBackSelect();
/* 8018A4D0 */ void DataCopyWait();
/* 8018A564 */ void DataCopyWait2();
/* 8018A6F8 */ void copyPaneMoveOk();
/* 8018A868 */ void copyPaneMoveOk2();
/* 8018A960 */ void ErrorMsgPaneMove();
/* 8018AAC4 */ void backDatSelPaneMove();
/* 8018AC3C */ void backDatSelWait();
/* 8018AD38 */ void backDatSelWait2();
/* 8018AD9C */ void nextModeWait();
/* 8018ADA0 */ void screenSet();
/* 8018BF2C */ void screenSetCopySel();
/* 8018C524 */ void screenSetYesNo();
/* 8018C8F4 */ void screenSet3Menu();
/* 8018CCD0 */ void screenSetDetail();
/* 8018CE38 */ void setWakuAnm();
/* 8018CF50 */ void displayInit();
/* 8018D044 */ void setSaveData();
/* 8018D0E4 */ void headerTxtSet(u16, u8, u8);
/* 8018D25C */ bool headerTxtChangeAnm();
/* 8018D344 */ void modoruTxtChange(u8);
/* 8018D3A0 */ void modoruTxtDispAnmInit(u8);
/* 8018D41C */ bool modoruTxtDispAnm();
/* 8018D4F8 */ void ketteiTxtDispAnmInit(u8);
/* 8018D574 */ bool ketteiTxtDispAnm();
/* 8018D650 */ void selectWakuAlpahAnmInit(u8, u8, u8, u8);
/* 8018D68C */ void selectWakuAlpahAnm(u8);
/* 8018D764 */ void selFileCursorShow();
/* 8018D884 */ void menuWakuAlpahAnmInit(u8, u8, u8, u8);
/* 8018D8C8 */ void menuWakuAlpahAnm(u8);
/* 8018DA10 */ void menuCursorShow();
/* 8018DB80 */ void yesnoWakuAlpahAnmInit(u8, u8, u8, u8);
/* 8018DBCC */ void yesnoWakuAlpahAnm(u8);
/* 8018DD38 */ void _draw();
/* 8018E130 */ void errorMoveAnmInitSet(int, int);
/* 8018E1C0 */ bool errorMoveAnm();
/* 8018E2B4 */ void errDispInitSet(int, int);
/* 8018E4CC */ void MemCardCheckMain();
/* 8018E504 */ void MemCardStatCheck();
/* 8018E7C4 */ void MemCardLoadWait();
/* 8018E93C */ void MemCardErrMsgWaitKey();
/* 8018E9B0 */ void noFileSpaceDispInit();
/* 8018E9D4 */ void MemCardNoFileSpaceDisp();
/* 8018EA3C */ void iplSelDispInit();
/* 8018EA90 */ void MemCardGotoIPLSelectDisp();
/* 8018EB10 */ void MemCardGotoIPLSelect();
/* 8018EBCC */ void MemCardGotoIPL();
/* 8018EC4C */ void noSaveSelDispInit();
/* 8018ECBC */ void MemCardNoSaveSelDisp();
/* 8018ED80 */ void MemCardErrMsgWaitNoSaveSel();
/* 8018EF5C */ void formatYesSelDispInitSet();
/* 8018EFAC */ void formatNoSelDispInitSet();
/* 8018EFFC */ void MemCardFormatYesSelDisp();
/* 8018F080 */ void MemCardFormatNoSelDisp();
/* 8018F128 */ void MemCardErrMsgWaitFormatSel();
/* 8018F17C */ void formatYesSel2DispInitSet();
/* 8018F1CC */ void MemCardErrMsgWaitFormatSel2();
/* 8018F228 */ void MemCardFormatYesSel2Disp();
/* 8018F2A4 */ void MemCardFormat();
/* 8018F304 */ void MemCardFormatWait();
/* 8018F374 */ void MemCardFormatCheck();
/* 8018F400 */ void MemCardMakeGameFileSel();
/* 8018F488 */ void MemCardMakeGameFileSelDisp();
/* 8018F580 */ void MemCardMakeGameFile();
/* 8018F5E0 */ void MemCardMakeGameFileWait();
/* 8018F650 */ void MemCardMakeGameFileCheck();
/* 8018F6DC */ void MemCardMsgWindowInitOpen();
/* 8018F8D8 */ void MemCardMsgWindowOpen();
/* 8018F974 */ void MemCardMsgWindowClose();
/* 8018FA2C */ void errYesNoSelect();
/* 8018FB80 */ void errCurMove(u8);
/* 8018FBF8 */ void MemCardErrYesNoCursorMoveAnm();
/* 8018FC64 */ void errorTxtSet(u16);
/* 8018FD30 */ void errorTxtChangeAnm();
/* 8018FE18 */ bool fileRecScaleAnm();
/* 8018FE64 */ void fileRecScaleAnmInitSet2(f32, f32);
/* 8018FEF4 */ void fileRecScaleAnm2();
/* 8018FF9C */ bool fileInfoScaleAnm();
/* 80190074 */ void nameMoveAnmInitSet(int, int);
/* 80190124 */ bool nameMoveAnm();
/* 80190208 */ void MemCardSaveDataClear();
/* 80190254 */ void setInitSaveData();
/* 801902B8 */ void dataSave();
bool getFadeFlag() { return mFadeFlag; }
int isDataNew(u8 i) { return mDataNew[i]; }
int isSelectEnd() { return mSelectEnd; }
u8 getSelectNum() { return mSelectNum; }
void setUseType(u8 type) { mUseType = type; }
/* 0x0000 */ void* vtable;
/* 0x0004 */ u8 field_0x04[4];
/* 0x0008 */ JKRArchive* mpArchive;
/* 0x000C */ dFile_select3D_c* mpFileSelect3d;
/* 0x0010 */ dDlst_FileSel_c mFileSelectDlst;
/* 0x0018 */ JUTFont* mpMessageFont;
/* 0x001C */ JUTFont* mpSubFont;
/* 0x0020 */ dMsgString_c* mpMessageString;
/* 0x0024 */ dDlst_FileSelDt_c mFileSelDeleteDlst;
/* 0x0034 */ dDlst_FileSelCp_c mFileSelCopyDlst;
/* 0x0048 */ dDlst_FileSelYn_c mFileSelYesNoDlst;
/* 0x0054 */ dDlst_FileSel3m_c mFileSel3mDlst;
/* 0x005C */ u8 field_0x00[4];
/* 0x0060 */ dSelect_cursor_c* mpCursor1;
/* 0x0064 */ dSelect_cursor_c* mpCursor2;
/* 0x0068 */ dName_c* mpName;
/* 0x006C */ dFile_warning_c* mpFileWarning;
/* 0x0070 */ u8 field_0x70[0xc];
/* 0x007C */ dFile_info_c* mpFileInfo[2];
/* 0x0084 */ J2DAnmBase* mpAnmBase[7];
/* 0x00A0 */ u8 field_0xa0[4];
/* 0x00A4 */ CPaneMgr* mpPaneMgr1;
/* 0x00A8 */ u8 field_0xa8[0xbc-0xa8];
/* 0x00BC */ CPaneMgr* mpPaneMgrs[4];
/* 0x00CC */ u8 field_0x00cc[8];
/* 0x00D4 */ float field_0x00d4;
/* 0x00D8 */ u8 field_0xd8[0x108 - 0xd8];
/* 0x0108 */ bool field_0x108;
/* 0x0109 */ bool field_0x109;
/* 0x010A */ u8 field_0x10a[2];
/* 0x010C */ J2DPane* mpPane;
/* 0x0110 */ int field_0x0110;
/* 0x0110 */ int field_0x0114;
/* 0x0118 */ J2DPane* field_0x0118;
/* 0x011C */ J2DPane* field_0x011c;
/* 0x0120 */ int field_0x0120;
/* 0x0124 */ int field_0x0124;
/* 0x0128 */ bool field_0x0128;
/* 0x0129 */ u8 field_0x0129[0x012C - 0x0129];
/* 0x012C */ J2DPane* field_0x012c;
/* 0x0130 */ int field_0x0130;
/* 0x0134 */ int field_0x0134;
/* 0x0138 */ u8 field_0x0138[0x014A - 0x0138];
/* 0x014A */ bool field_0x014a;
/* 0x014B */ bool field_0x014b;
/* 0x014C */ u8 field_0x014C[0x0188 - 0x014C];
/* 0x0188 */ CPaneMgr* field_0x0188[3];
/* 0x0194 */ u8 field_0x0194[0x01C8 - 0x0194];
/* 0x01C8 */ J2DAnmBase* field_0x01c8;
/* 0x01CC */ u8 field_0x01CC[0x01D0 - 0x01CC];
/* 0x01D0 */ J2DAnmBase* field_0x01d0;
/* 0x01D4 */ u8 field_0x01D4[0x01D8 - 0x01D4];
/* 0x01D8 */ J2DAnmBase* field_0x01d8;
/* 0x01DC */ u8 field_0x01DC[0x01E0 - 0x01DC];
/* 0x01E0 */ J2DAnmBase* field_0x01e0;
/* 0x01E4 */ u8 field_0x01E4[0x01E8 - 0x01E4];
/* 0x01E8 */ J2DAnmBase* field_0x01e8;
/* 0x01EC */ u8 field_0x01EC[0x01F0 - 0x01EC];
/* 0x01F0 */ J2DAnmBase* field_0x01f0;
/* 0x01F4 */ u8 field_0x01F4[0x01F8 - 0x01F4];
/* 0x01F8 */ J2DAnmBase* field_0x01f8;
/* 0x01FC */ u8 field_0x01FC[0x0200 - 0x01FC];
/* 0x0200 */ J2DAnmBase* field_0x0200;
/* 0x0204 */ u8 field_0x0204[8];
/* 0x020C */ CPaneMgrAlpha* field_0x020c;
/* 0x0210 */ u8 field_0x0210[0x021C - 0x0210];
/* 0x021C */ u8 field_0x021c;
/* 0x021D */ u8 field_0x021d;
/* 0x021E */ u8 field_0x021e[0x0238 - 0x021E];
/* 0x0238 */ CPaneMgrAlpha* field_0x0238;
/* 0x023C */ CPaneMgrAlpha* field_0x023c;
/* 0x0240 */ CPaneMgrAlpha* field_0x0240;
/* 0x0244 */ CPaneMgrAlpha* field_0x0244;
/* 0x0248 */ u8 field_0x0248[0x024A - 0x0248];
/* 0x024A */ bool field_0x024a;
/* 0x024B */ u8 field_0x024B[0x0250 - 0x024B];
/* 0x0250 */ char* field_0x0250;
/* 0x0254 */ STControl* mStick;
/* 0x0258 */ u8 mDataNew[3];
/* 0x025B */ u8 field_0x025b;
/* 0x025C */ u8 field_0x025c[0x0264 - 0x025C];
/* 0x0264 */ u8 field_0x0264;
/* 0x0265 */ u8 mSelectNum;
/* 0x0266 */ u8 field_0x0266;
/* 0x0267 */ u8 field_0x0267;
/* 0x0268 */ u8 field_0x0268[0x026A - 0x0268];
/* 0x026A */ u8 field_0x026a;
/* 0x026B */ u8 field_0x026b[0x026e - 0x026b];
/* 0x026E */ u8 field_0x026e;
/* 0x026F */ u8 field_0x026f;
/* 0x0270 */ bool mSelectEnd;
/* 0x0271 */ u8 field_0x0271[0x0283 - 0x0271];
/* 0x0283 */ bool field_0x0283;
/* 0x0284 */ u8 field_0x0284[0x029C - 0x0284];
/* 0x029C */ J2DAnmBase* field_0x029c;
/* 0x02A0 */ J2DAnmBase* field_0x02a0;
/* 0x02A4 */ u8 field_0x02A4[0x02E8 - 0x02A4];
/* 0x02E8 */ J2DAnmBase* field_0x02e8;
/* 0x02EC */ u8 field_0x02EC[0x02F0 - 0x02EC];
/* 0x02F0 */ J2DAnmBase* field_0x02f0;
/* 0x02F4 */ u8 field_0x02F4[0x02F8 - 0x02F4];
/* 0x02F8 */ J2DAnmBase* field_0x02f8;
/* 0x02FC */ u8 field_0x02FC[0x0300 - 0x02FC];
/* 0x0300 */ J2DAnmBase* field_0x0300;
/* 0x0304 */ u8 field_0x0304[0x0308 - 0x0304];
/* 0x0308 */ J2DAnmBase* field_0x0308;
/* 0x030C */ u8 field_0x030C[0x0310 - 0x030C];
/* 0x0310 */ J2DAnmBase* field_0x0310;
/* 0x0314 */ J2DAnmBase* field_0x0314;
/* 0x0318 */ J2DAnmBase* field_0x0318;
/* 0x031C */ J2DAnmBase* field_0x031c;
/* 0x0320 */ J2DAnmBase* field_0x0320;
/* 0x0324 */ u8 field_0x0324[0x0328 - 0x0324];
/* 0x0328 */ J2DAnmTransform* field_0x0328; // actually J2DAnmVtxColor?
/* 0x032C */ J2DAnmTransform* field_0x032c;
/* 0x0330 */ J2DAnmBase* field_0x0330;
/* 0x0334 */ u8 field_0x0334[0x0338 - 0x0334];
/* 0x0338 */ J2DAnmBase* field_0x0338;
/* 0x033C */ u8 field_0x033c[4];
/* 0x0340 */ CPaneMgrAlpha* field_0x0340;
/* 0x0344 */ u8 field_0x0344[8];
/* 0x034C */ s32 field_0x034c;
/* 0x0350 */ u8 field_0x0350[8];
/* 0x0358 */ int field_0x0358;
/* 0x035C */ int field_0x035c;
/* 0x0360 */ bool field_0x0360;
/* 0x0361 */ u8 field_0x0361[3];
/* 0x0364 */ CPaneMgrAlpha* mpPaneAlpha1;
/* 0x0368 */ u8 field_0x0368[8];
/* 0x0370 */ CPaneMgrAlpha* mpPaneAlpha2;
/* 0x0374 */ u8 field_0x0374[8];
/* 0x037C */ CPaneMgrAlpha* mpPaneAlpha3;
/* 0x0380 */ u8 field_0x0380[8];
/* 0x0388 */ u8 field_0x0388;
/* 0x0389 */ u8 field_0x0389;
/* 0x038A */ u8 field_0x038a;
/* 0x038B */ u8 field_0x038b;
/* 0x038C */ u8 field_0x038c;
/* 0x038D */ u8 field_0x038d;
/* 0x038E */ u8 field_0x038e;
/* 0x038F */ u8 field_0x038f;
/* 0x0390 */ u8 field_0x0390[4];
/* 0x0394 */ CPaneMgr* mpPaneMgr2;
/* 0x0398 */ u8 field_0x0398[0x03A0 - 0x0398];
/* 0x03A0 */ J2DAnmBase* field_0x03a0;
/* 0x03A4 */ u8 field_0x03A4[0x03A8 - 0x03A4];
/* 0x03A8 */ CPaneMgr* field_0x03a8;
/* 0x03AC */ s16 field_0x03ac;
/* 0x03AE */ u8 field_0x03AE[0x03B0 - 0x03AE];
/* 0x03B0 */ u8 mUseType;
/* 0x03B1 */ u8 field_0x03b1[7];
/* 0x03B8 */ char mpMemCard;
/* 0x03B9 */ u8 field_0x03b9[3];
/* 0x03BC */ u8 field_0x03bc[0x2374 - 0x3BC];
/* 0x2374 */ bool mFadeFlag;
/* 0x2375 */ bool mHasDrawn;
/* 0x2376 */ u8 field_0x2376[0x2378 - 0x2376];
/* 0x2378 */ J2DPicture* field_0x2378;
};
STATIC_ASSERT(sizeof(dFile_select_c) == 0x237C);
#endif /* D_FILE_D_FILE_SELECT_H */
+268 -260
View File
@@ -60,266 +60,274 @@ enum ItemSlots {
};
enum ItemTable {
/* 0x00 */ HEART,
/* 0x01 */ GREEN_RUPEE,
/* 0x02 */ BLUE_RUPEE,
/* 0x03 */ YELLOW_RUPEE,
/* 0x04 */ RED_RUPEE,
/* 0x05 */ PURPLE_RUPEE,
/* 0x06 */ ORANGE_RUPEE,
/* 0x07 */ SILVER_RUPEE,
/* 0x08 */ S_MAGIC,
/* 0x09 */ L_MAGIC,
/* 0x0A */ BOMB_5,
/* 0x0B */ BOMB_10,
/* 0x0C */ BOMB_20,
/* 0x0D */ BOMB_30,
/* 0x0E */ ARROW_10,
/* 0x0F */ ARROW_20,
/* 0x10 */ ARROW_30,
/* 0x11 */ ARROW_1,
/* 0x12 */ PACHINKO_SHOT,
/* 0x13 */ noentry1,
/* 0x14 */ noentry2,
/* 0x15 */ noentry3,
/* 0x16 */ WATER_BOMB_5,
/* 0x17 */ WATER_BOMB_10,
/* 0x18 */ WATER_BOMB_20,
/* 0x19 */ WATER_BOMB_30,
/* 0x1A */ BOMB_INSECT_5,
/* 0x1B */ BOMB_INSECT_10,
/* 0x1C */ BOMB_INSECT_20,
/* 0x1D */ BOMB_INSECT_30,
/* 0x1E */ RECOVERY_FAILY,
/* 0x1F */ TRIPLE_HEART,
/* 0x20 */ SMALL_KEY,
/* 0x21 */ KAKERA_HEART,
/* 0x22 */ UTAWA_HEART,
/* 0x23 */ MAP,
/* 0x24 */ COMPUS,
/* 0x25 */ DUNGEON_EXIT,
/* 0x26 */ BOSS_KEY,
/* 0x27 */ DUNGEON_BACK,
/* 0x28 */ SWORD,
/* 0x29 */ MASTER_SWORD,
/* 0x2A */ WOOD_SHIELD,
/* 0x2B */ SHIELD,
/* 0x2C */ HYLIA_SHIELD,
/* 0x2D */ TKS_LETTER,
/* 0x2E */ WEAR_CASUAL,
/* 0x2F */ WEAR_KOKIRI,
/* 0x30 */ ARMOR,
/* 0x31 */ WEAR_ZORA,
/* 0x32 */ MAGIC_LV1,
/* 0x33 */ DUNGEON_EXIT_2,
/* 0x34 */ WALLET_LV1,
/* 0x35 */ WALLET_LV2,
/* 0x36 */ WALLET_LV3,
/* 0x37 */ noentry4,
/* 0x38 */ noentry5,
/* 0x39 */ noentry6,
/* 0x3A */ noentry7,
/* 0x3B */ noentry8,
/* 0x3C */ noentry9,
/* 0x3D */ ZORAS_JEWEL,
/* 0x3E */ HAWK_EYE,
/* 0x3F */ WOOD_STICK,
/* 0x40 */ BOOMERANG,
/* 0x41 */ SPINNER,
/* 0x42 */ IRONBALL,
/* 0x43 */ BOW,
/* 0x44 */ HOOKSHOT,
/* 0x45 */ HVY_BOOTS,
/* 0x46 */ COPY_ROD,
/* 0x47 */ W_HOOKSHOT,
/* 0x48 */ KANTERA,
/* 0x49 */ LIGHT_SWORD,
/* 0x4A */ FISHING_ROD_1,
/* 0x4B */ PACHINKO,
/* 0x4C */ COPY_ROD_2,
/* 0x4D */ noentry10,
/* 0x4E */ noentry11,
/* 0x4F */ BOMB_BAG_LV2,
/* 0x50 */ BOMB_BAG_LV1,
/* 0x51 */ BOMB_IN_BAG,
/* 0x52 */ noentry12,
/* 0x53 */ LIGHT_ARROW,
/* 0x54 */ ARROW_LV1,
/* 0x55 */ ARROW_LV2,
/* 0x56 */ ARROW_LV3,
/* 0x57 */ noentry13,
/* 0x58 */ LURE_ROD,
/* 0x59 */ BOMB_ARROW,
/* 0x5A */ HAWK_ARROW,
/* 0x5B */ BEE_ROD,
/* 0x5C */ JEWEL_ROD,
/* 0x5D */ WORM_ROD,
/* 0x5E */ JEWEL_BEE_ROD,
/* 0x5F */ JEWEL_WORM_ROD,
/* 0x60 */ EMPTY_BOTTLE,
/* 0x61 */ RED_BOTTLE,
/* 0x62 */ GREEN_BOTTLE,
/* 0x63 */ BLUE_BOTTLE,
/* 0x64 */ MILK_BOTTLE,
/* 0x65 */ HALF_MILK_BOTTLE,
/* 0x66 */ OIL_BOTTLE,
/* 0x67 */ WATER_BOTTLE,
/* 0x68 */ OIL_BOTTLE_2,
/* 0x69 */ RED_BOTTLE_2,
/* 0x6A */ UGLY_SOUP,
/* 0x6B */ HOT_SPRING,
/* 0x6C */ FAIRY,
/* 0x6D */ HOT_SPRING_2,
/* 0x6E */ OIL2,
/* 0x6F */ OIL,
/* 0x70 */ NORMAL_BOMB,
/* 0x71 */ WATER_BOMB,
/* 0x72 */ POKE_BOMB,
/* 0x73 */ FAIRY_DROP,
/* 0x74 */ WORM,
/* 0x75 */ DROP_BOTTLE,
/* 0x76 */ BEE_CHILD,
/* 0x77 */ CHUCHU_RARE,
/* 0x78 */ CHUCHU_RED,
/* 0x79 */ CHUCHU_BLUE,
/* 0x7A */ CHUCHU_GREEN,
/* 0x7B */ CHUCHU_YELLOW,
/* 0x7C */ CHUCHU_PURPLE,
/* 0x7D */ LV1_SOUP,
/* 0x7E */ LV2_SOUP,
/* 0x7F */ LV3_SOUP,
/* 0x80 */ LETTER,
/* 0x81 */ BILL,
/* 0x82 */ WOOD_STATUE,
/* 0x83 */ IRIAS_PENDANT,
/* 0x84 */ HORSE_FLUTE,
/* 0x85 */ noentry14,
/* 0x86 */ noentry15,
/* 0x87 */ noentry16,
/* 0x88 */ noentry17,
/* 0x89 */ noentry18,
/* 0x8A */ noentry19,
/* 0x8B */ noentry20,
/* 0x8C */ noentry21,
/* 0x8D */ noentry22,
/* 0x8E */ noentry23,
/* 0x8F */ noentry24,
/* 0x90 */ RAFRELS_MEMO,
/* 0x91 */ ASHS_SCRIBBLING,
/* 0x92 */ noentry25,
/* 0x93 */ noentry26,
/* 0x94 */ noentry27,
/* 0x95 */ noentry28,
/* 0x96 */ noentry29,
/* 0x97 */ noentry30,
/* 0x98 */ noentry31,
/* 0x99 */ noentry32,
/* 0x9A */ noentry33,
/* 0x9B */ noentry34,
/* 0x9C */ CHUCHU_YELLOW2,
/* 0x9D */ OIL_BOTTLE3,
/* 0x9E */ SHOP_BEE_CHILD,
/* 0x9F */ CHUCHU_BLACK,
/* 0xA0 */ LIGHT_DROP,
/* 0xA1 */ DROP_CONTAINER,
/* 0xA2 */ DROP_CONTAINER02,
/* 0xA3 */ DROP_CONTAINER03,
/* 0xA4 */ FILLED_CONTAINER,
/* 0xA5 */ MIRROR_PIECE_2,
/* 0xA6 */ MIRROR_PIECE_3,
/* 0xA7 */ MIRROR_PIECE_4,
/* 0xA8 */ noentry35,
/* 0xA9 */ noentry36,
/* 0xAA */ noentry37,
/* 0xAB */ noentry38,
/* 0xAC */ noentry39,
/* 0xAD */ noentry40,
/* 0xAE */ noentry41,
/* 0xAF */ noentry42,
/* 0xB0 */ SMELL_YELIA_POUCH,
/* 0xB1 */ SMELL_PUMPKIN,
/* 0xB2 */ SMELL_POH,
/* 0xB3 */ SMELL_FISH,
/* 0xB4 */ SMELL_CHILDREN,
/* 0xB5 */ SMELL_MEDICINE,
/* 0xB6 */ noentry43,
/* 0xB7 */ noentry44,
/* 0xB8 */ noentry45,
/* 0xB9 */ noentry46,
/* 0xBA */ noentry47,
/* 0xBB */ noentry48,
/* 0xBC */ noentry49,
/* 0xBD */ noentry50,
/* 0xBE */ noentry51,
/* 0xBF */ noentry52,
/* 0xC0 */ M_BEETLE,
/* 0xC1 */ F_BEETLE,
/* 0xC2 */ M_BUTTERFLY,
/* 0xC3 */ F_BUTTERFLY,
/* 0xC4 */ M_STAG_BEETLE,
/* 0xC5 */ F_STAG_BEETLE,
/* 0xC6 */ M_GRASSHOPPER,
/* 0xC7 */ F_GRASSHOPPER,
/* 0xC8 */ M_NANAFUSHI,
/* 0xC9 */ F_NANAFUSHI,
/* 0xCA */ M_DANGOMUSHI,
/* 0xCB */ F_DANGOMUSHI,
/* 0xCC */ M_MANTIS,
/* 0xCD */ F_MANTIS,
/* 0xCE */ M_LADYBUG,
/* 0xCF */ F_LADYBUG,
/* 0xD0 */ M_SNAIL,
/* 0xD1 */ F_SNAIL,
/* 0xD2 */ M_DRAGONFLY,
/* 0xD3 */ F_DRAGONFLY,
/* 0xD4 */ M_ANT,
/* 0xD5 */ F_ANT,
/* 0xD6 */ M_MAYFLY,
/* 0xD7 */ F_MAYFLY,
/* 0xD8 */ noentry53,
/* 0xD9 */ noentry54,
/* 0xDA */ noentry55,
/* 0xDB */ noentry56,
/* 0xDC */ noentry57,
/* 0xDD */ noentry58,
/* 0xDE */ noentry59,
/* 0xDF */ noentry60,
/* 0xE0 */ POU_SPIRIT,
/* 0xE1 */ noentry61,
/* 0xE2 */ noentry62,
/* 0xE3 */ noentry63,
/* 0xE4 */ noentry64,
/* 0xE5 */ noentry65,
/* 0xE6 */ noentry66,
/* 0xE7 */ noentry67,
/* 0xE8 */ noentry68,
/* 0xE9 */ ANCIENT_DOCUMENT,
/* 0xEA */ AIR_LETTER,
/* 0xEB */ ANCIENT_DOCUMENT2,
/* 0xEC */ LV7_DUNGEON_EXIT,
/* 0xED */ LINKS_SAVINGS,
/* 0xEE */ SMALL_KEY2,
/* 0xEF */ POU_FIRE1,
/* 0xF0 */ POU_FIRE2,
/* 0xF1 */ POU_FIRE3,
/* 0xF2 */ POU_FIRE4,
/* 0xF3 */ BOSSRIDER_KEY,
/* 0xF4 */ TOMATO_PUREE,
/* 0xF5 */ TASTE,
/* 0xF6 */ LV5_BOSS_KEY,
/* 0xF7 */ SURFBOARD,
/* 0xF8 */ KANTERA2,
/* 0xF9 */ L2_KEY_PIECES1,
/* 0xFA */ L2_KEY_PIECES2,
/* 0xFB */ L2_KEY_PIECES3,
/* 0xFC */ KEY_OF_CARAVAN,
/* 0xFD */ LV2_BOSS_KEY,
/* 0xFE */ KEY_OF_FILONE,
/* 0xFF */ NO_ITEM
};
enum EquipItem {
/* 0x103 */ EQUIP_SWORD = 0x103,
/* 0x0000 */ HEART,
/* 0x0001 */ GREEN_RUPEE,
/* 0x0002 */ BLUE_RUPEE,
/* 0x0003 */ YELLOW_RUPEE,
/* 0x0004 */ RED_RUPEE,
/* 0x0005 */ PURPLE_RUPEE,
/* 0x0006 */ ORANGE_RUPEE,
/* 0x0007 */ SILVER_RUPEE,
/* 0x0008 */ S_MAGIC,
/* 0x0009 */ L_MAGIC,
/* 0x000A */ BOMB_5,
/* 0x000B */ BOMB_10,
/* 0x000C */ BOMB_20,
/* 0x000D */ BOMB_30,
/* 0x000E */ ARROW_10,
/* 0x000F */ ARROW_20,
/* 0x0010 */ ARROW_30,
/* 0x0011 */ ARROW_1,
/* 0x0012 */ PACHINKO_SHOT,
/* 0x0013 */ noentry1,
/* 0x0014 */ noentry2,
/* 0x0015 */ noentry3,
/* 0x0016 */ WATER_BOMB_5,
/* 0x0017 */ WATER_BOMB_10,
/* 0x0018 */ WATER_BOMB_20,
/* 0x0019 */ WATER_BOMB_30,
/* 0x001A */ BOMB_INSECT_5,
/* 0x001B */ BOMB_INSECT_10,
/* 0x001C */ BOMB_INSECT_20,
/* 0x001D */ BOMB_INSECT_30,
/* 0x001E */ RECOVERY_FAILY,
/* 0x001F */ TRIPLE_HEART,
/* 0x0020 */ SMALL_KEY,
/* 0x0021 */ KAKERA_HEART,
/* 0x0022 */ UTAWA_HEART,
/* 0x0023 */ MAP,
/* 0x0024 */ COMPUS,
/* 0x0025 */ DUNGEON_EXIT,
/* 0x0026 */ BOSS_KEY,
/* 0x0027 */ DUNGEON_BACK,
/* 0x0028 */ SWORD,
/* 0x0029 */ MASTER_SWORD,
/* 0x002A */ WOOD_SHIELD,
/* 0x002B */ SHIELD,
/* 0x002C */ HYLIA_SHIELD,
/* 0x002D */ TKS_LETTER,
/* 0x002E */ WEAR_CASUAL,
/* 0x002F */ WEAR_KOKIRI,
/* 0x0030 */ ARMOR,
/* 0x0031 */ WEAR_ZORA,
/* 0x0032 */ MAGIC_LV1,
/* 0x0033 */ DUNGEON_EXIT_2,
/* 0x0034 */ WALLET_LV1,
/* 0x0035 */ WALLET_LV2,
/* 0x0036 */ WALLET_LV3,
/* 0x0037 */ noentry4,
/* 0x0038 */ noentry5,
/* 0x0039 */ noentry6,
/* 0x003A */ noentry7,
/* 0x003B */ noentry8,
/* 0x003C */ noentry9,
/* 0x003D */ ZORAS_JEWEL,
/* 0x003E */ HAWK_EYE,
/* 0x003F */ WOOD_STICK,
/* 0x0040 */ BOOMERANG,
/* 0x0041 */ SPINNER,
/* 0x0042 */ IRONBALL,
/* 0x0043 */ BOW,
/* 0x0044 */ HOOKSHOT,
/* 0x0045 */ HVY_BOOTS,
/* 0x0046 */ COPY_ROD,
/* 0x0047 */ W_HOOKSHOT,
/* 0x0048 */ KANTERA,
/* 0x0049 */ LIGHT_SWORD,
/* 0x004A */ FISHING_ROD_1,
/* 0x004B */ PACHINKO,
/* 0x004C */ COPY_ROD_2,
/* 0x004D */ noentry10,
/* 0x004E */ noentry11,
/* 0x004F */ BOMB_BAG_LV2,
/* 0x0050 */ BOMB_BAG_LV1,
/* 0x0051 */ BOMB_IN_BAG,
/* 0x0052 */ noentry12,
/* 0x0053 */ LIGHT_ARROW,
/* 0x0054 */ ARROW_LV1,
/* 0x0055 */ ARROW_LV2,
/* 0x0056 */ ARROW_LV3,
/* 0x0057 */ noentry13,
/* 0x0058 */ LURE_ROD,
/* 0x0059 */ BOMB_ARROW,
/* 0x005A */ HAWK_ARROW,
/* 0x005B */ BEE_ROD,
/* 0x005C */ JEWEL_ROD,
/* 0x005D */ WORM_ROD,
/* 0x005E */ JEWEL_BEE_ROD,
/* 0x005F */ JEWEL_WORM_ROD,
/* 0x0060 */ EMPTY_BOTTLE,
/* 0x0061 */ RED_BOTTLE,
/* 0x0062 */ GREEN_BOTTLE,
/* 0x0063 */ BLUE_BOTTLE,
/* 0x0064 */ MILK_BOTTLE,
/* 0x0065 */ HALF_MILK_BOTTLE,
/* 0x0066 */ OIL_BOTTLE,
/* 0x0067 */ WATER_BOTTLE,
/* 0x0068 */ OIL_BOTTLE_2,
/* 0x0069 */ RED_BOTTLE_2,
/* 0x006A */ UGLY_SOUP,
/* 0x006B */ HOT_SPRING,
/* 0x006C */ FAIRY,
/* 0x006D */ HOT_SPRING_2,
/* 0x006E */ OIL2,
/* 0x006F */ OIL,
/* 0x0070 */ NORMAL_BOMB,
/* 0x0071 */ WATER_BOMB,
/* 0x0072 */ POKE_BOMB,
/* 0x0073 */ FAIRY_DROP,
/* 0x0074 */ WORM,
/* 0x0075 */ DROP_BOTTLE,
/* 0x0076 */ BEE_CHILD,
/* 0x0077 */ CHUCHU_RARE,
/* 0x0078 */ CHUCHU_RED,
/* 0x0079 */ CHUCHU_BLUE,
/* 0x007A */ CHUCHU_GREEN,
/* 0x007B */ CHUCHU_YELLOW,
/* 0x007C */ CHUCHU_PURPLE,
/* 0x007D */ LV1_SOUP,
/* 0x007E */ LV2_SOUP,
/* 0x007F */ LV3_SOUP,
/* 0x0080 */ LETTER,
/* 0x0081 */ BILL,
/* 0x0082 */ WOOD_STATUE,
/* 0x0083 */ IRIAS_PENDANT,
/* 0x0084 */ HORSE_FLUTE,
/* 0x0085 */ noentry14,
/* 0x0086 */ noentry15,
/* 0x0087 */ noentry16,
/* 0x0088 */ noentry17,
/* 0x0089 */ noentry18,
/* 0x008A */ noentry19,
/* 0x008B */ noentry20,
/* 0x008C */ noentry21,
/* 0x008D */ noentry22,
/* 0x008E */ noentry23,
/* 0x008F */ noentry24,
/* 0x0090 */ RAFRELS_MEMO,
/* 0x0091 */ ASHS_SCRIBBLING,
/* 0x0092 */ noentry25,
/* 0x0093 */ noentry26,
/* 0x0094 */ noentry27,
/* 0x0095 */ noentry28,
/* 0x0096 */ noentry29,
/* 0x0097 */ noentry30,
/* 0x0098 */ noentry31,
/* 0x0099 */ noentry32,
/* 0x009A */ noentry33,
/* 0x009B */ noentry34,
/* 0x009C */ CHUCHU_YELLOW2,
/* 0x009D */ OIL_BOTTLE3,
/* 0x009E */ SHOP_BEE_CHILD,
/* 0x009F */ CHUCHU_BLACK,
/* 0x00A0 */ LIGHT_DROP,
/* 0x00A1 */ DROP_CONTAINER,
/* 0x00A2 */ DROP_CONTAINER02,
/* 0x00A3 */ DROP_CONTAINER03,
/* 0x00A4 */ FILLED_CONTAINER,
/* 0x00A5 */ MIRROR_PIECE_2,
/* 0x00A6 */ MIRROR_PIECE_3,
/* 0x00A7 */ MIRROR_PIECE_4,
/* 0x00A8 */ noentry35,
/* 0x00A9 */ noentry36,
/* 0x00AA */ noentry37,
/* 0x00AB */ noentry38,
/* 0x00AC */ noentry39,
/* 0x00AD */ noentry40,
/* 0x00AE */ noentry41,
/* 0x00AF */ noentry42,
/* 0x00B0 */ SMELL_YELIA_POUCH,
/* 0x00B1 */ SMELL_PUMPKIN,
/* 0x00B2 */ SMELL_POH,
/* 0x00B3 */ SMELL_FISH,
/* 0x00B4 */ SMELL_CHILDREN,
/* 0x00B5 */ SMELL_MEDICINE,
/* 0x00B6 */ noentry43,
/* 0x00B7 */ noentry44,
/* 0x00B8 */ noentry45,
/* 0x00B9 */ noentry46,
/* 0x00BA */ noentry47,
/* 0x00BB */ noentry48,
/* 0x00BC */ noentry49,
/* 0x00BD */ noentry50,
/* 0x00BE */ noentry51,
/* 0x00BF */ noentry52,
/* 0x00C0 */ M_BEETLE,
/* 0x00C1 */ F_BEETLE,
/* 0x00C2 */ M_BUTTERFLY,
/* 0x00C3 */ F_BUTTERFLY,
/* 0x00C4 */ M_STAG_BEETLE,
/* 0x00C5 */ F_STAG_BEETLE,
/* 0x00C6 */ M_GRASSHOPPER,
/* 0x00C7 */ F_GRASSHOPPER,
/* 0x00C8 */ M_NANAFUSHI,
/* 0x00C9 */ F_NANAFUSHI,
/* 0x00CA */ M_DANGOMUSHI,
/* 0x00CB */ F_DANGOMUSHI,
/* 0x00CC */ M_MANTIS,
/* 0x00CD */ F_MANTIS,
/* 0x00CE */ M_LADYBUG,
/* 0x00CF */ F_LADYBUG,
/* 0x00D0 */ M_SNAIL,
/* 0x00D1 */ F_SNAIL,
/* 0x00D2 */ M_DRAGONFLY,
/* 0x00D3 */ F_DRAGONFLY,
/* 0x00D4 */ M_ANT,
/* 0x00D5 */ F_ANT,
/* 0x00D6 */ M_MAYFLY,
/* 0x00D7 */ F_MAYFLY,
/* 0x00D8 */ noentry53,
/* 0x00D9 */ noentry54,
/* 0x00DA */ noentry55,
/* 0x00DB */ noentry56,
/* 0x00DC */ noentry57,
/* 0x00DD */ noentry58,
/* 0x00DE */ noentry59,
/* 0x00DF */ noentry60,
/* 0x00E0 */ POU_SPIRIT,
/* 0x00E1 */ noentry61,
/* 0x00E2 */ noentry62,
/* 0x00E3 */ noentry63,
/* 0x00E4 */ noentry64,
/* 0x00E5 */ noentry65,
/* 0x00E6 */ noentry66,
/* 0x00E7 */ noentry67,
/* 0x00E8 */ noentry68,
/* 0x00E9 */ ANCIENT_DOCUMENT,
/* 0x00EA */ AIR_LETTER,
/* 0x00EB */ ANCIENT_DOCUMENT2,
/* 0x00EC */ LV7_DUNGEON_EXIT,
/* 0x00ED */ LINKS_SAVINGS,
/* 0x00EE */ SMALL_KEY2,
/* 0x00EF */ POU_FIRE1,
/* 0x00F0 */ POU_FIRE2,
/* 0x00F1 */ POU_FIRE3,
/* 0x00F2 */ POU_FIRE4,
/* 0x00F3 */ BOSSRIDER_KEY,
/* 0x00F4 */ TOMATO_PUREE,
/* 0x00F5 */ TASTE,
/* 0x00F6 */ LV5_BOSS_KEY,
/* 0x00F7 */ SURFBOARD,
/* 0x00F8 */ KANTERA2,
/* 0x00F9 */ L2_KEY_PIECES1,
/* 0x00FA */ L2_KEY_PIECES2,
/* 0x00FB */ L2_KEY_PIECES3,
/* 0x00FC */ KEY_OF_CARAVAN,
/* 0x00FD */ LV2_BOSS_KEY,
/* 0x00FE */ KEY_OF_FILONE,
/* 0x00FF */ NO_ITEM,
/* 0x0100 */ noentry69,
/* 0x0101 */ noentry70,
/* 0x0102 */ noentry71,
/* 0x0103 */ EQUIP_SWORD,
/* 0x0104 */ noentry72,
/* 0x0105 */ noentry73,
/* 0x0106 */ noentry74,
/* 0x0107 */ noentry75,
/* 0x0108 */ noentry76,
/* 0x0109 */ noentry77,
/* 0x010A */ noentry78,
/* 0x010B */ noentry79,
};
enum CollectItem {
+1 -1
View File
@@ -107,7 +107,7 @@ public:
/* 0x497 */ u8 mCullType;
/* 0x498 */ u8 mDemoActorId;
/* 0x499 */ s8 mSubtype;
/* 0x49A */ u8 field_0x49a;
/* 0x49A */ u8 mCarryType;
/* 0x49C */ u32 mStatus;
/* 0x4A0 */ u32 mCondition;
/* 0x4A4 */ u32 mParentPcId;
+29 -5
View File
@@ -80,9 +80,14 @@ class fopAcM_gc_c {
public:
static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; }
static bool gndCheck(const cXyz*);
static u8 mGndCheck[84];
static u8 mGndCheck[84]; // this is dBgS_GndChk but all static data in the TU probably needs to be setup first (otherwise causes a reordering problem with the __sinit function)
static f32 mGroundY;
// strange issue where f_op_actor_mng.h can't find the dComIfG_Bgsp() inline even when you include the header
// static bool getTriPla(cM3dGPla* pPlane) {
// return dComIfG_Bgsp().GetTriPla(mGndCheck,pPlane);
// }
static f32 getGroundY() { return mGroundY; }
};
@@ -129,13 +134,15 @@ inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
}
enum fopAcM_CARRY {
fopAcM_CARRY_HEAVY = 2,
fopAcM_CARRY_SIDE = 4,
fopAcM_CARRY_TYPE_8 = 8,
/* 0x01 */ fopAcM_CARRY_TYPE_1 = 1,
/* 0x02 */ fopAcM_CARRY_HEAVY = 2,
/* 0x04 */ fopAcM_CARRY_SIDE = 4,
/* 0x08 */ fopAcM_CARRY_TYPE_8 = 8,
/* 0x10 */ fopAcM_CARRY_LIGHT = 16, // guess based on context
};
inline u32 fopAcM_CheckCarryType(fopAc_ac_c* actor, fopAcM_CARRY type) {
return actor->field_0x49a & type;
return actor->mCarryType & type;
}
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
@@ -242,6 +249,10 @@ inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
actor->mGravity = gravity;
}
inline void fopAcM_SetMaxFallSpeed(fopAc_ac_c* actor, f32 speed) {
actor->mMaxFallSpeed = speed;
}
inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) {
actor->mCullMtx = m;
}
@@ -258,6 +269,10 @@ inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) {
actor->mStatus = status;
}
inline void fopAcM_SetModel(fopAc_ac_c* actor, J3DModel* model) {
actor->model = model;
}
inline fopAcM_prm_class* fopAcM_GetAppend(void* actor) {
return (fopAcM_prm_class*)fpcM_GetAppend(actor);
}
@@ -293,6 +308,7 @@ inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) {
inline void dComIfGs_onSwitch(int i_no, int i_roomNo);
inline void dComIfGs_offSwitch(int i_no, int i_roomNo);
inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo);
inline void dComIfGs_offActor(int i_no, int i_roomNo);
inline void i_fopAcM_onSwitch(const fopAc_ac_c* pActor, int sw) {
return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
@@ -582,6 +598,14 @@ inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 p
i_mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo));
}
inline void fopAcM_offActor(fopAc_ac_c* pActor, u32 flag) {
dComIfGs_offActor(flag,fopAcM_GetHomeRoomNo(pActor));
}
inline void fopAcM_OnCarryType(fopAc_ac_c* pActor, fopAcM_CARRY param_2) {
pActor->mCarryType |= param_2;
}
extern "C" {
void fopAcM_initManager__Fv(void);
void fopAcM_CreateAppend__Fv(void);
+1
View File
@@ -2,6 +2,7 @@
#define M_DO_M_DO_MACHINE_EXCEPTION_H
#include "dolphin/types.h"
#include "dolphin/gx/GX.h"
struct JUTConsole;
+8
View File
@@ -65,6 +65,14 @@ inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
param_1->z = param_0[2][3];
}
inline void mDoMtx_quatMultiply(const Quaternion* a, const Quaternion* b, Quaternion* ab) {
PSQUATMultiply(a,b,ab);
}
inline void mDoMtx_quatSlerp(const Quaternion* a, const Quaternion* b, Quaternion* ab, f32 param_4) {
C_QUATSlerp(a,b,ab,param_4);
}
class mDoMtx_stack_c {
public:
/* 8000CCC8 */ static bool push();
@@ -2,5 +2,79 @@
#define D_A_OBJ_STONE_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
enum {
OBJ_STONE_TYPE_SMALL = 0,
OBJ_STONE_TYPE_BIG = 1
};
class daObjStone_c : public fopAc_ac_c {
public:
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
u8 getItemType() { return fopAcM_GetParamBit(this,4,2); }
u8 getItemNo() { return fopAcM_GetParamBit(this,8,8); }
u8 getItemBit() { return fopAcM_GetParamBit(this,16,8); }
/* 80CE93C4 */ void initBaseMtx();
/* 80CE9468 */ void setBaseMtx();
/* 80CE9540 */ int Create();
/* 80CE97C0 */ bool CreateHeap();
/* 80CE9840 */ int create();
/* 80CE9BA0 */ int execute();
/* 80CE9CF8 */ void mode_proc_call();
/* 80CEAF88 */ void init_modePutWait();
/* 80CEAFD8 */ void modePutWait();
/* 80CEAFE8 */ void init_modeWait();
/* 80CEB01C */ void modeWait();
/* 80CEB0B8 */ void init_modeDrop();
/* 80CEB0F8 */ void modeDrop();
/* 80CEB35C */ void init_modeCarry();
/* 80CEB480 */ void modeCarry();
/* 80CEB6E8 */ void init_modeWalk();
/* 80CEB720 */ void modeWalk();
/* 80CEBCDC */ void init_modePushWolfNonBreak();
/* 80CEBE24 */ void init_modeYogan();
/* 80CEBE84 */ void modeYogan();
/* 80CEBF1C */ void init_modeBreak();
/* 80CEC180 */ void modeBreak();
/* 80CEC1AC */ void CrrPos();
/* 80CEC264 */ void createItem();
/* 80CEC33C */ void calcRotBaseMtx(s16*);
/* 80CEC5BC */ int checkRollAngle();
/* 80CEC6D8 */ void set_carry_eff();
/* 80CEC7DC */ void effect_delete(bool);
/* 80CEC888 */ int draw();
/* 80CEC948 */ int _delete();
/* 0x0568 */ request_of_phase_process_class mPhase;
/* 0x0570 */ J3DModel* mpModel;
/* 0x0574 */ dBgS_ObjAcch mChkObj;
/* 0x074C */ dBgS_AcchCir mChkCircle;
/* 0x078C */ dCcD_Stts mStatus;
/* 0x07C8 */ dCcD_Sph mCollider;
/* 0x0900 */ csXyz mShapeAngle;
/* 0x0906 */ u8 mStoneType; // 0: small rock, 1: big rock
/* 0x0907 */ u8 field_0x0907;
/* 0x0908 */ u8 field_0x0908;
/* 0x090C */ u32 mMode; // maybe a better name for this
/* 0x0910 */ cXyz field_0x0910;
/* 0x091C */ u16 field_0x091c;
/* 0x091E */ u8 field_0x091E[0x0920 - 0x091E];
/* 0x0920 */ Quaternion field_0x0920;
/* 0x0930 */ Quaternion field_0x0930;
/* 0x0940 */ f32 mInitialOffsetY;
/* 0x0944 */ f32 mLastPosY;
/* 0x0948 */ f32 mLastSpeedY; // maybe a better name for this
/* 0x094C */ u8 field_0x094c;
/* 0x094C */ u8 field_0x094d;
/* 0x094E */ bool mIsInWater;
/* 0x094F */ u8 field_0x094f;
/* 0x0950 */ u8 field_0x0950;
/* 0x0951 */ u8 field_0x0951[0x0960 - 0x0951];
/* 0x0960 */ u32 field_0x0960;
/* 0x0964 */ JPABaseEmitter* field_0x0964[3];
/* 0x0970 */ Z2SoundObjSimple mSound;
};
#endif /* D_A_OBJ_STONE_H */
@@ -2,5 +2,24 @@
#define D_A_OBJ_STONEMARK_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
class daObjSMark_c : public fopAc_ac_c {
public:
/* 8059A018 */ void initBaseMtx();
/* 8059A038 */ void setBaseMtx();
/* 8059A080 */ int Create();
/* 8059A168 */ int create();
/* 8059A2CC */ int draw();
/* 8059A33C */ int _delete();
/* 0x0568 */ request_of_phase_process_class mpPhase;
/* 0x0570 */ GXTexObj mTexObj;
/* 0x0590 */ dBgS_ObjAcch mObjAcch;
/* 0x0768 */ dBgS_AcchCir mAcchCir;
/* 0x07A8 */ dCcD_Stts mStts;
/* 0x07E4 */ Mtx mCullMtx;
};
#endif /* D_A_OBJ_STONEMARK_H */
+17 -17
View File
@@ -155,7 +155,7 @@ SECTION_DATA extern void* __vt__12J3DMtxBuffer[3] = {
/* 80327184-80327300 321AC4 017C+00 0/0 3/3 0/0 .text
* entryModelData__8J3DModelFP12J3DModelDataUlUl */
s32 J3DModel::entryModelData(J3DModelData* p_modelData, u32 param_1, u32 param_2) {
s32 J3DModel::entryModelData(J3DModelData* p_modelData, u32 modelFlag, u32 mtxBufferFlag) {
mModelData = p_modelData;
mMtxBuffer = new J3DMtxBuffer();
@@ -163,37 +163,37 @@ s32 J3DModel::entryModelData(J3DModelData* p_modelData, u32 param_1, u32 param_2
return 4;
}
switch (mMtxBuffer->create(p_modelData, param_2)) {
switch (mMtxBuffer->create(p_modelData, mtxBufferFlag)) {
case 0:
switch (createShapePacket(p_modelData)) {
case 0:
switch (createMatPacket(p_modelData, param_1)) {
switch (createMatPacket(p_modelData, modelFlag)) {
case 0:
mVertexBuffer.setVertexData(&p_modelData->getVertexData());
prepareShapePackets();
if (param_1 & 0x1) {
onFlag(0x1);
if (modelFlag & J3DMdlFlag_Unk00001) {
onFlag(J3DMdlFlag_Unk00001);
}
if (param_1 & 0x2) {
onFlag(0x2);
if (modelFlag & J3DMdlFlag_Unk00002) {
onFlag(J3DMdlFlag_Unk00002);
}
if (param_1 & 0x10) {
onFlag(0x10);
if (modelFlag & J3DMdlFlag_Unk00010) {
onFlag(J3DMdlFlag_Unk00010);
}
if (param_1 & 0x20000) {
onFlag(0x20000);
if (modelFlag & J3DMdlFlag_Unk20000) {
onFlag(J3DMdlFlag_Unk20000);
}
if (param_1 & 0x40000) {
onFlag(0x40000);
if (modelFlag & J3DMdlFlag_Unk40000) {
onFlag(J3DMdlFlag_Unk40000);
}
if (param_1 & 0x80000) {
onFlag(0x80000);
if (modelFlag & J3DMdlFlag_Unk80000) {
onFlag(J3DMdlFlag_Unk80000);
}
if (param_1 & J3DMdlFlag_SkinPosCpu) {
if (modelFlag & J3DMdlFlag_SkinPosCpu) {
onFlag(J3DMdlFlag_SkinPosCpu);
}
if (param_1 & J3DMdlFlag_SkinNrmCpu) {
if (modelFlag & J3DMdlFlag_SkinNrmCpu) {
onFlag(J3DMdlFlag_SkinNrmCpu);
}
return 0;
+1 -1
View File
@@ -326,7 +326,7 @@ J3DShapePacket::~J3DShapePacket() {}
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm u32 J3DShapePacket::calcDifferedBufferSize(u32 param_0) {
asm u32 J3DShapePacket::calcDifferedBufferSize(u32 flag) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s"
}
+51 -81
View File
@@ -1,100 +1,70 @@
//
// Generated By: dol2asm
// Translation Unit: JASResArcLoader
//
/**
* JASResArcLoader.cpp
* JAS - Resource Archive Loader
*/
#include "JSystem/JAudio2/JASResArcLoader.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JAudio2/JASDvdThread.h"
//
// Types:
//
struct JKRArchive {
/* 802D5F40 */ void readResource(void*, u32, u16);
/* 802D6684 */ void findIdxResource(u32) const;
/* 802D6770 */ void findIdResource(u16) const;
};
struct JASTaskThread {
/* 8028FB5C */ void sendCmdMsg(void (*)(void*), void const*, u32);
};
struct JASResArcLoader {
/* 80290BD0 */ void getResSize(JKRArchive const*, u16);
/* 80290C04 */ void getResMaxSize(JKRArchive const*);
/* 80290C7C */ void loadResourceCallback(void*);
/* 80290D18 */ void loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);
};
//
// Forward References:
//
extern "C" void getResSize__15JASResArcLoaderFPC10JKRArchiveUs();
extern "C" void getResMaxSize__15JASResArcLoaderFPC10JKRArchive();
extern "C" void loadResourceCallback__15JASResArcLoaderFPv();
extern "C" void loadResourceAsync__15JASResArcLoaderFP10JKRArchiveUsPUcUlPFUlUl_vUl();
//
// External References:
//
extern "C" void sendCmdMsg__13JASTaskThreadFPFPv_vPCvUl();
extern "C" void getThreadPointer__6JASDvdFv();
extern "C" void readResource__10JKRArchiveFPvUlUs();
extern "C" void findIdxResource__10JKRArchiveCFUl();
extern "C" void findIdResource__10JKRArchiveCFUs();
extern "C" void OSSendMessage();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* 80290BD0-80290C04 28B510 0034+00 0/0 2/2 0/0 .text
* getResSize__15JASResArcLoaderFPC10JKRArchiveUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASResArcLoader::getResSize(JKRArchive const* param_0, u16 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASResArcLoader/getResSize__15JASResArcLoaderFPC10JKRArchiveUs.s"
size_t JASResArcLoader::getResSize(JKRArchive const* i_archiveP, u16 i_resourceID) {
JKRArchive::SDIFileEntry* file = i_archiveP->findIdResource(i_resourceID);
if (file == 0) {
return 0;
}
return file->data_size;
}
#pragma pop
/* 80290C04-80290C7C 28B544 0078+00 0/0 1/1 0/0 .text
* getResMaxSize__15JASResArcLoaderFPC10JKRArchive */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASResArcLoader::getResMaxSize(JKRArchive const* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASResArcLoader/getResMaxSize__15JASResArcLoaderFPC10JKRArchive.s"
size_t JASResArcLoader::getResMaxSize(JKRArchive const* i_archiveP) {
u32 maxSize, index;
u32 fileEntries = i_archiveP->countFile();
for (maxSize = 0, index = 0; index < fileEntries; index++) {
JKRArchive::SDIFileEntry* file = i_archiveP->findIdxResource(index);
if (file) {
if (maxSize < file->data_size) {
maxSize = file->data_size;
}
}
}
return maxSize;
}
#pragma pop
/* 80290C7C-80290D18 28B5BC 009C+00 1/1 0/0 0/0 .text loadResourceCallback__15JASResArcLoaderFPv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASResArcLoader::loadResourceCallback(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASResArcLoader/loadResourceCallback__15JASResArcLoaderFPv.s"
static void JASResArcLoader::loadResourceCallback(void* args) {
CallbackArgs* castedArgs = static_cast<CallbackArgs*>(args);
u32 readResult = castedArgs->mArchive->readResource(castedArgs->mBuffer, castedArgs->mBufferSize, castedArgs->mID);
if (castedArgs->mCallback) {
castedArgs->mCallback(readResult, castedArgs->mCallbackArg);
}
if (readResult == 0) {
if (castedArgs->mQueue) {
OSSendMessage(castedArgs->mQueue, (void*)RESARCMSG_Error, OS_MESSAGE_BLOCK);
}
} else {
if (castedArgs->mQueue) {
OSSendMessage(castedArgs->mQueue, (void*)RESARCMSG_Success, OS_MESSAGE_BLOCK);
}
}
}
#pragma pop
/* 80290D18-80290D74 28B658 005C+00 0/0 1/1 0/0 .text
* loadResourceAsync__15JASResArcLoaderFP10JKRArchiveUsPUcUlPFUlUl_vUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASResArcLoader::loadResourceAsync(JKRArchive* param_0, u16 param_1, u8* param_2,
u32 param_3, void (*param_4)(u32, u32), u32 param_5) {
nofralloc
#include "asm/JSystem/JAudio2/JASResArcLoader/loadResourceAsync__15JASResArcLoaderFP10JKRArchiveUsPUcUlPFUlUl_vUl.s"
int JASResArcLoader::loadResourceAsync(JKRArchive* archive, u16 id, u8* buffer, u32 size, LoadCallback callback, u32 cbArg)
{
CallbackArgs args(id, buffer, size, archive);
args.mCallback = callback;
args.mCallbackArg = cbArg;
return JASDvd::getThreadPointer()->sendCmdMsg(&loadResourceCallback, (void*)&args, sizeof(CallbackArgs));
}
#pragma pop
+82 -11
View File
@@ -1,23 +1,41 @@
//
// Generated By: dol2asm
// Translation Unit: quat
//
/**
* quat.c
* Dolphin - Matrix Quaternion Functions
*/
#include "dolphin/mtx/quat.h"
#include "MSL_C/math.h"
#include "dol2asm.h"
//
// Declarations:
//
/* 80347418-80347474 341D58 005C+00 0/0 0/0 2/2 .text PSQUATMultiply */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void PSQUATMultiply(const Quaternion* a, const Quaternion* b, Quaternion* ab) {
asm void PSQUATMultiply(register const Quaternion* a, register const Quaternion* b, register Quaternion* ab) {
nofralloc
#include "asm/dolphin/mtx/quat/PSQUATMultiply.s"
psq_l f0, 0(a), 0, 0
psq_l f1, 8(a), 0, 0
psq_l f2, 0(b), 0, 0
ps_neg f5, f0
psq_l f3, 8(b), 0, 0
ps_neg f6, f1
ps_merge01 f4, f5, f0
ps_muls0 f7, f1, f2
ps_muls0 f5, f5, f2
ps_merge01 f1, f6, f1
ps_muls1 f8, f4, f2
ps_madds0 f7, f4, f3, f7
ps_muls1 f2, f1, f2
ps_madds0 f5, f1, f3, f5
ps_madds1 f8, f6, f3, f8
ps_merge10 f7, f7, f7
ps_madds1 f2, f0, f3, f2
ps_merge10 f5, f5, f5
ps_add f7, f7, f2
psq_st f7, 0(ab), 0, 0
ps_sub f5, f5, f8
psq_st f5, 8(ab), 0, 0
blr
}
#pragma pop
@@ -37,6 +55,26 @@ SECTION_SDATA2 static f32 lit_133 = 1.0f;
SECTION_SDATA2 static f32 lit_135 = 0.5f;
/* 80347474-80347500 341DB4 008C+00 0/0 1/1 0/0 .text C_QUATRotAxisRad */
#ifdef NONMATCHING
// matches with literals
void C_QUATRotAxisRad(Quaternion* q, const Vec* axis, f32 rad) {
f32 tmp,tmp2,tmp3;
Vec dst;
tmp = rad;
PSVECNormalize(axis,&dst);
tmp2 = tmp * 0.5f;
tmp3 = sinf(tmp* 0.5f);
tmp = tmp3;
tmp3 = cosf(tmp2);
q->x = tmp * dst.x;
q->y = tmp * dst.y;
q->z = tmp * dst.z;
q->w = tmp3;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -45,12 +83,44 @@ asm void C_QUATRotAxisRad(Quaternion* q, const Vec* axis, f32 rad) {
#include "asm/dolphin/mtx/quat/C_QUATRotAxisRad.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8045655C-80456560 004B5C 0004+00 1/1 0/0 0/0 .sdata2 @261 */
SECTION_SDATA2 static f32 lit_261 = 0.9999899864196777f;
/* 80347500-80347674 341E40 0174+00 0/0 0/0 2/2 .text C_QUATSlerp */
#ifdef NONMATCHING
// matches with literals
void C_QUATSlerp(const Quaternion* p, const Quaternion* q, Quaternion* r, f32 t) {
f32 ratioA, ratioB;
f32 value = 1.0f;
f32 cosHalfTheta = p->x*q->x + p->y*q->y + p->z*q->z + p->w*q->w;
if (cosHalfTheta < 0.0f) {
cosHalfTheta = -cosHalfTheta;
value = -value;
}
if (cosHalfTheta <= 0.9999899864196777f) {
f32 halfTheta = acosf(cosHalfTheta);
f32 sinHalfTheta = sinf(halfTheta);
ratioA = sinf((1.0f - t) * halfTheta) / sinHalfTheta;
ratioB = sinf(t * halfTheta) / sinHalfTheta;
value *= ratioB;
} else {
ratioA = 1.0f - t;
value *= t;
}
r->x = (ratioA * p->x) + (value * q->x);
r->y = (ratioA * p->y) + (value * q->y);
r->z = (ratioA * p->z) + (value * q->z);
r->w = (ratioA * p->w) + (value * q->w);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -59,3 +129,4 @@ asm void C_QUATSlerp(const Quaternion* p, const Quaternion* q, Quaternion* r, f3
#include "asm/dolphin/mtx/quat/C_QUATSlerp.s"
}
#pragma pop
#endif
File diff suppressed because it is too large Load Diff
@@ -1,81 +1,15 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_stoneMark
//
/**
* d_a_obj_stoneMark.cpp
* Actor - Object Stone Mark
*
* Visual mark under the stone actor (d_a_obj_stone)
*
*/
#include "rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjSMark_c {
/* 8059A018 */ void initBaseMtx();
/* 8059A038 */ void setBaseMtx();
/* 8059A080 */ void Create();
/* 8059A168 */ void create();
/* 8059A2CC */ void draw();
/* 8059A33C */ void _delete();
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 8059A25C */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cBgS_PolyInfo {};
struct _GXTlutObj {};
struct _GXTexObj {};
struct ResTIMG {};
#include "m_Do/m_Do_lib.h"
//
// Forward References:
@@ -94,6 +28,7 @@ extern "C" static void daObjSMark_Create__FP10fopAc_ac_c();
extern "C" static void func_8059A3D0();
extern "C" static void func_8059A3D8();
extern "C" extern char const* const d_a_obj_stoneMark__stringBase0;
extern void* __vt__12dBgS_ObjAcch[9];
//
// External References:
@@ -117,41 +52,28 @@ extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
//
// Declarations:
//
/* 8059A018-8059A038 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjSMark_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/initBaseMtx__12daObjSMark_cFv.s"
void daObjSMark_c::initBaseMtx() {
setBaseMtx();
}
#pragma pop
/* 8059A038-8059A080 000098 0048+00 1/1 0/0 0/0 .text setBaseMtx__12daObjSMark_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/setBaseMtx__12daObjSMark_cFv.s"
void daObjSMark_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
PSMTXCopy((MtxP)&mDoMtx_stack_c::now,(MtxP)&mCullMtx);
}
#pragma pop
/* ############################################################################################## */
/* 8059A3E8-8059A3EC 000000 0004+00 2/2 0/0 0/0 .rodata @3642 */
SECTION_RODATA static u8 const lit_3642[4] = {
@@ -183,69 +105,69 @@ SECTION_DEAD static char const* const stringBase_8059A404 = "A_IwaAto";
#pragma pop
/* 8059A410-8059A414 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_stoneMark__stringBase0;
static char* l_arcName = "A_IwaAto";
/* 8059A080-8059A168 0000E0 00E8+00 1/1 0/0 0/0 .text Create__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches with literals
int daObjSMark_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this,(MtxP)&mCullMtx);
fopAcM_setCullSizeSphere(this,0.0f,0.0f,0.0f,100.0f);
mAcchCir.SetWall(30.0f,30.0f);
mObjAcch.Set(&fopAcM_GetPosition_p(this),&fopAcM_GetOldPosition_p(this),this,1,&mAcchCir,&fopAcM_GetSpeed_p(this),0,0);
mObjAcch.CrrPos(dComIfG_Bgsp());
mDoLib_setResTimgObj((ResTIMG*)dComIfG_getObjectRes(l_arcName,3),&mTexObj,0,0);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::Create() {
asm int daObjSMark_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/Create__12daObjSMark_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8059A414-8059A434 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSMark_Method */
SECTION_DATA static void* l_daObjSMark_Method[8] = {
(void*)daObjSMark_Create__FP10fopAc_ac_c,
(void*)daObjSMark_Delete__FP12daObjSMark_c,
(void*)NULL,
(void*)NULL,
(void*)daObjSMark_Draw__FP12daObjSMark_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8059A434-8059A464 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_StoneMark */
SECTION_DATA extern void* g_profile_Obj_StoneMark[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01710000, (void*)&g_fpcLf_Method,
(void*)0x00000814, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02160000, (void*)&l_daObjSMark_Method,
(void*)0x00040100, (void*)0x00170000,
};
/* 8059A464-8059A488 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D8,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D0,
};
/* 8059A168-8059A25C 0001C8 00F4+00 1/1 0/0 0/0 .text create__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches, but has issues with weak labels being used
int daObjSMark_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjSMark_c();
fopAcM_OnCondition(this, 8);
}
int phase = dComIfG_resLoad(&mpPhase,l_arcName);
if (phase == cPhs_COMPLEATE_e){
if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::create() {
asm int daObjSMark_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/func_8059A168.s"
}
#pragma pop
#endif
/* 8059A25C-8059A2CC 0002BC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/__dt__12dBgS_ObjAcchFv.s"
}
@@ -255,9 +177,11 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
/* 8059A3F4-8059A3FC 00000C 0008+00 0/1 0/0 0/0 .rodata l_shadow_size$3714 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const l_shadow_size[8] = {
0x42, 0x5C, 0x00, 0x00, 0x42, 0xAA, 0x00, 0x00,
static const f32 l_shadow_size[2] = {
55.0f,
85.0f
};
COMPILER_STRIP_GATE(0x8059A3F4, &l_shadow_size);
#pragma pop
@@ -276,57 +200,51 @@ COMPILER_STRIP_GATE(0x8059A400, &lit_3719);
#pragma pop
/* 8059A2CC-8059A33C 00032C 0070+00 1/1 0/0 0/0 .text draw__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches with literals
int daObjSMark_c::draw() {
dComIfGd_setSimpleShadow(&current.pos,
mObjAcch.GetGroundH(),
l_shadow_size[fopAcM_GetParam(this) & 0xFF],
mObjAcch.m_gnd,
shape_angle.y,
((f32)-0.6 - g_env_light.field_0x1238 * (f32)0.4),
&this->mTexObj);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::draw() {
asm int daObjSMark_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/draw__12daObjSMark_cFv.s"
}
#pragma pop
#endif
/* 8059A33C-8059A370 00039C 0034+00 1/1 0/0 0/0 .text _delete__12daObjSMark_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSMark_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/_delete__12daObjSMark_cFv.s"
int daObjSMark_c::_delete() {
dComIfG_resDelete(&mpPhase,l_arcName);
return 1;
}
#pragma pop
/* 8059A370-8059A390 0003D0 0020+00 1/0 0/0 0/0 .text daObjSMark_Draw__FP12daObjSMark_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSMark_Draw(daObjSMark_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Draw__FP12daObjSMark_c.s"
static int daObjSMark_Draw(daObjSMark_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 8059A390-8059A3B0 0003F0 0020+00 1/0 0/0 0/0 .text daObjSMark_Delete__FP12daObjSMark_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSMark_Delete(daObjSMark_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Delete__FP12daObjSMark_c.s"
static int daObjSMark_Delete(daObjSMark_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 8059A3B0-8059A3D0 000410 0020+00 1/0 0/0 0/0 .text daObjSMark_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSMark_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Create__FP10fopAc_ac_c.s"
static int daObjSMark_Create(fopAc_ac_c* i_this) {
return static_cast<daObjSMark_c*>(i_this)->create();
}
#pragma pop
/* 8059A3D0-8059A3D8 000430 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
#pragma push
@@ -349,3 +267,49 @@ static asm void func_8059A3D8() {
#pragma pop
/* 8059A404-8059A404 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* ############################################################################################## */
/* 8059A414-8059A434 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSMark_Method */
static actor_method_class l_daObjSMark_Method = {
(process_method_func)daObjSMark_Create__FP10fopAc_ac_c,
(process_method_func)daObjSMark_Delete__FP12daObjSMark_c,
(process_method_func)0,
(process_method_func)0,
(process_method_func)daObjSMark_Draw__FP12daObjSMark_c
};
/* 8059A434-8059A464 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_StoneMark */
extern actor_process_profile_definition g_profile_Obj_StoneMark = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Obj_StoneMark, // mProcName
0, // padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daObjSMark_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x0216, // mPriority
0, // padding
0, // padding
&l_daObjSMark_Method, // mSubMtd
0x00040100, // mStatus
0, // mActorType
23, // mCullType
0, // padding
0 // padding
};
/* 8059A464-8059A488 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D8,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D0,
};
+11 -11
View File
@@ -12285,12 +12285,12 @@ void daAlink_c::setSelectEquipItem(int param_0) {
}
if (checkWoodSwordEquip()) {
if (mEquipItem == 0x103 || param_0 != 0) {
if (mEquipItem == EQUIP_SWORD || param_0 != 0) {
mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
} else {
mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->show();
}
} else if (mEquipItem == 0x103 || param_0 != 0) {
} else if (mEquipItem == EQUIP_SWORD || param_0 != 0) {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show();
} else {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
@@ -13911,7 +13911,7 @@ const daAlink_BckData* daAlink_c::getMainBckData(daAlink_c::daAlink_ANM i_anmID)
return &m_mainBckShield[i_anmID];
}
if ((mEquipItem == 0x103 && i_anmID < 0x15 && i_anmID >= 0x10) ||
if ((mEquipItem == EQUIP_SWORD && i_anmID < 0x15 && i_anmID >= 0x10) ||
(i_anmID == ANM_SWIM_WAIT && mEquipItem != NO_ITEM))
{
return &m_mainBckSword[i_anmID - 0x10];
@@ -15569,7 +15569,7 @@ asm int daAlink_c::checkItemActionInitStart() {
/* 800B7090-800B7168 0B19D0 00D8+00 1/1 0/0 0/0 .text checkItemChangeAutoAction__9daAlink_cFv */
int daAlink_c::checkItemChangeAutoAction() {
if (i_checkResetFlg0(RFLG0_UNK_80)) {
if (mEquipItem == 0x103) {
if (mEquipItem == EQUIP_SWORD) {
if (i_checkModeFlg(0x40000)) {
return 0;
}
@@ -16030,9 +16030,9 @@ void daAlink_c::allUnequip(int param_0) {
itemEquip(KANTERA);
i_onNoResetFlg1(FLG1_UNK_40);
return;
} else if (mEquipItem == 0x103) {
} else if (mEquipItem == EQUIP_SWORD) {
swordUnequip();
} else if (mEquipItem == 0x102) {
} else if (mEquipItem == noentry71) {
deleteEquipItem(0, 0);
field_0x2060->initOldFrameMorf(lit_7808, 0, 35);
} else {
@@ -16072,7 +16072,7 @@ BOOL daAlink_c::checkItemChangeFromButton() {
if (doTrigger() && i_dComIfGp_getDoStatus() == 4) {
if (mEquipItem != KANTERA && i_checkNoResetFlg2(FLG2_UNK_1)) {
offKandelaarModel();
} else if (mSwordFlourishTimer != 0 && mEquipItem == 0x103 &&
} else if (mSwordFlourishTimer != 0 && mEquipItem == EQUIP_SWORD &&
!checkWoodSwordEquip() && !i_checkModeFlg(0x402))
{
return procSwordUnequipSpInit();
@@ -16246,7 +16246,7 @@ int daAlink_c::checkNextAction(int param_0) {
setSpeedAndAngleAtn();
} else if (((!checkUpperReadyThrowAnime() || mFastShotTime != 0) ||
(checkBoomerangThrowAnime() &&
(mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == 0x102 ||
(mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == noentry71 ||
i_checkNoResetFlg1(FLG1_UNK_2)))) ||
(checkCopyRodThrowAnime() &&
(mCopyRodAcKeep.getActor() != NULL || i_checkNoResetFlg1(FLG1_UNK_10000))))
@@ -17059,7 +17059,7 @@ void daAlink_c::setLastSceneMode(u32* o_mode) {
*o_mode |= 0x200000;
}
if (mEquipItem == 0x103) {
if (mEquipItem == EQUIP_SWORD) {
*o_mode |= 0x28000000;
} else if (mEquipItem < NO_ITEM) {
*o_mode |= mEquipItem << 0x18;
@@ -17531,7 +17531,7 @@ BOOL daAlink_c::setItemModel() {
return 1;
}
if (mEquipItem == 0x103) {
if (mEquipItem == EQUIP_SWORD) {
setSwordModel();
return 1;
}
@@ -18300,7 +18300,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
i_dComIfGp_clearPlayerStatus1(0,0x7fb7b78);
cancelHookshotShot();
if (mEquipItem == 0x109) {
if (mEquipItem == noentry77) {
deleteEquipItem(0, 0);
}
+1 -1
View File
@@ -141,7 +141,7 @@ BOOL daAlink_c::checkBoomerangAnime() const {
/* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */
BOOL daAlink_c::checkBoomerangThrowAnime() const {
return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) &&
return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == noentry71) &&
checkUpperAnime(0x53);
}
+1 -1
View File
@@ -109,7 +109,7 @@ BOOL daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const {
/* 800F3EB8-800F3F38 0EE7F8 0080+00 0/0 0/0 2/2 .text
* checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c */
BOOL daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const {
return mEquipItem == 0x10B && checkCanoeRideOwn(param_0);
return mEquipItem == noentry79 && checkCanoeRideOwn(param_0);
}
/* 800F3F38-800F3FC4 0EE878 008C+00 0/0 0/0 1/1 .text checkCanoeFishingRodGrabOrPut__9daAlink_cCFv
+6 -6
View File
@@ -972,7 +972,7 @@ int daAlink_c::procBackJump() {
offModeFlg(0x2000);
}
if (checkCutTurnInput() && mEquipItem == 0x103) {
if (checkCutTurnInput() && mEquipItem == EQUIP_SWORD) {
field_0x3198 = getCutTurnDirection();
}
@@ -1031,7 +1031,7 @@ int daAlink_c::procBackJumpLand() {
checkNextAction(0);
}
} else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCheckFrame) {
if (mEquipItem == 0x103 && (field_0x3198 != 2 || checkCutTurnInput())) {
if (mEquipItem == EQUIP_SWORD && (field_0x3198 != 2 || checkCutTurnInput())) {
return procCutTurnInit(1, field_0x3198);
}
@@ -1795,7 +1795,7 @@ int daAlink_c::execute() {
if (dComIfGp_event_runCheck()) {
field_0x3184 = dComIfGp_evmng_getMyStaffId("Alink", this, 0);
if (mEvtInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) && mEquipItem == 0x102) {
if (mEvtInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) && mEquipItem == noentry71) {
deleteEquipItem(FALSE, FALSE);
}
}
@@ -1870,7 +1870,7 @@ int daAlink_c::execute() {
field_0x2f9d = 0;
field_0x2fc1 = 6;
if (!checkSwordGet() && mEquipItem == 0x103) {
if (!checkSwordGet() && mEquipItem == EQUIP_SWORD) {
deleteEquipItem(FALSE, FALSE);
}
@@ -2068,7 +2068,7 @@ int daAlink_c::execute() {
}
}
if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == 0x103) {
if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == EQUIP_SWORD) {
mSwordFlourishTimer = daAlinkHIO_cut_c0::m.mFlourishTime;
}
@@ -3648,7 +3648,7 @@ s32 daAlink_c::getItemID() const {
/* 800D0370-800D038C 0CACB0 001C+00 1/0 0/0 0/0 .text getGrabActorID__9daAlink_cCFv */
s32 daAlink_c::getGrabActorID() const {
if (mEquipItem == 0x102) {
if (mEquipItem == noentry71) {
return mItemAcKeep.getID();
} else {
return mGrabItemAcKeep.getID();
+5 -2
View File
@@ -77,8 +77,11 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
/* ############################################################################################## */
/* 803A7240-803A7250 004360 0010+00 0/0 0/0 6/6 .data ZeroQuat */
SECTION_DATA extern u8 ZeroQuat[16] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
Quaternion ZeroQuat = {
0.0f,
0.0f,
0.0f,
1.0f
};
/* 803A7250-803A7260 004370 0010+00 0/0 1/1 0/0 .data __vt__10CSTControl */
File diff suppressed because it is too large Load Diff
+1
View File
@@ -6,6 +6,7 @@
#include "d/s/d_s_name.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
// #include "d/file/d_file_select.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_mng.h"
+10 -8
View File
@@ -3530,26 +3530,28 @@ asm void mDoExt_removeSubFont() {
/* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text
* mDoExt_J3DModel__create__FP12J3DModelDataUlUl */
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2) {
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32 differedDlistFlag) {
if (i_modelData != NULL) {
J3DModel* model = new J3DModel();
if (model != NULL) {
// Update the modelFlag if the model data passed in has a shared dlist object
if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL) {
if (i_modelData->isLocked()) {
param_1 = 0x20000;
} else if (param_1 == 0x20000) {
param_1 |= 0x40000;
modelFlag = J3DMdlFlag_Unk20000;
} else if (modelFlag == J3DMdlFlag_Unk20000) {
modelFlag |= J3DMdlFlag_Unk40000;
} else {
param_1 = 0x80000;
modelFlag = J3DMdlFlag_Unk80000;
}
}
if (!model->entryModelData(i_modelData, param_1, 1)) {
if (param_1 == 0x80000 && model->newDifferedDisplayList(param_2)) {
// Set up the model
if (!model->entryModelData(i_modelData, modelFlag, 1)) {
if (modelFlag == J3DMdlFlag_Unk80000 && model->newDifferedDisplayList(differedDlistFlag)) {
return NULL;
}
model->lock();
return model;
}
+7 -61
View File
@@ -8,14 +8,11 @@
#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JKernel/JKRAramStream.h"
#include "JSystem/JKernel/JKRDvdAramRipper.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTException.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_DVDError.h"
#include "m_Do/m_Do_MemCard.h"
#include "m_Do/m_Do_dvd_thread.h"
@@ -46,8 +43,6 @@ extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
// External References:
//
extern "C" void OSReportDisable();
extern "C" void OSReportEnable();
extern "C" void mDoExt_createAssertHeap__FP7JKRHeap();
extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getDbPrintHeap__Fv();
@@ -65,9 +60,7 @@ extern "C" void mDoRst_reset__FiUli();
extern "C" void create__9mDoDvdThdFl();
extern "C" void mDoDvdErr_ThdInit__Fv();
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
extern "C" void exception_addition__FP10JUTConsole();
extern "C" void init__3cMlFP7JKRHeap();
extern "C" void cAPICPad_recalibrate__Fv();
extern "C" void cM_initRnd__Fiii();
extern "C" void firstInit__9JFWSystemFv();
extern "C" void init__9JFWSystemFv();
@@ -124,10 +117,6 @@ extern "C" u8 systemConsole__9JFWSystem[4];
extern "C" u8 sSystemHeap__7JKRHeap[4];
extern "C" u8 sRootHeap__7JKRHeap[4];
extern "C" u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */];
extern "C" extern bool sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset;
extern "C" u8 sErrorManager__12JUTException[4];
extern "C" u8 sConsole__12JUTException[4];
extern "C" u8 sManager__17JUTConsoleManager[4];
//
// Declarations:
@@ -387,26 +376,7 @@ void myExceptionCallback(u16, OSContext*, u32, u32) {
VIFlush();
}
/* ############################################################################################## */
/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80373F89 = "(SRR0-3):%08X %08X %08X %08X\n";
SECTION_DEAD static char const* const stringBase_80373FA7 =
"PUSH START BUTTON TO ADDITIONAL INFOMATION\n";
SECTION_DEAD static char const* const stringBase_80373FD3 =
"--------------------------------------\n";
#pragma pop
/* 80451B00-80451B04 000100 0004+00 1/1 0/0 0/0 .sdata2 @3940 */
SECTION_SDATA2 static f32 lit_3940 = 8.0f;
/* 80451B04-80451B08 000104 0004+00 1/1 0/0 0/0 .sdata2 @3941 */
SECTION_SDATA2 static f32 lit_3941 = 6.0f;
/* 8000B95C-8000BCF4 00629C 0398+00 1/1 0/0 0/0 .text fault_callback_scroll__FUsP9OSContextUlUl */
#ifdef NONMATCHING
// Everything matches but there are issues with dead section
static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
JUTException* manager = JUTException::getManager();
JUTConsole* exConsole = manager->getConsole();
@@ -523,41 +493,17 @@ static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
} while (true);
} while (true);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fault_callback_scroll(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/m_Do/m_Do_machine/fault_callback_scroll__FUsP9OSContextUlUl.s"
}
#pragma pop
#endif
// originally used in my_PrintHeap, but the function body was removed in retail
const char* my_PrintHeapSring = "\x1B[32m%-24s = size=%d KB\n\x1B[m";
/* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */
static void my_PrintHeap(char const* heapName, u32 heapSize) {
/* empty function */
return;
}
/* ############################################################################################## */
/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80373FFB = ""
"\x1B"
"[32m%-24s = size=%d KB\n"
"\x1B"
"[m";
SECTION_DEAD static char const* const stringBase_80374017 = ""
"\x1B"
"[32m%-24s = %08x-%08x size=%d KB\n"
"\x1B"
"[m";
#pragma pop
/* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */
void my_SysPrintHeap(char const* message, void* start, u32 size) {
// "32m%-24s = %08x-%08x size=%d KB\n"
OSReport_System("\x1b[32m%-24s = %08x-%08x size=%d KB\n\x1b[m", message, start,
(u32)start + size, size / 1024);
}
@@ -577,7 +523,7 @@ SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/
#pragma pop
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {
static _GXRenderModeObj g_ntscZeldaIntDf = {
0,
608,
448,
@@ -605,7 +551,7 @@ SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {
};
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {
extern _GXRenderModeObj g_ntscZeldaProg = {
2,
608,
448,
@@ -634,7 +580,7 @@ SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {
/* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c
*/
SECTION_SDATA GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
/* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */
// reg alloc r30 - r31
+8 -2
View File
@@ -130,7 +130,13 @@ def expected_copy(debug: bool, build_path: Path, expected_path: Path):
default=DEFAULT_TOOLS_PATH,
required=True,
)
def setup(debug: bool, game_path: Path, tools_path: Path):
@click.option(
"--yaz0-encoder",
type=str,
default="native",
required=False,
)
def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str):
"""Setup project"""
if debug:
@@ -326,7 +332,7 @@ def setup(debug: bool, game_path: Path, tools_path: Path):
import extract_game_assets
previous_dir = os.getcwd()
os.chdir(str(game_path.absolute()))
extract_game_assets.extract("../" + str(iso))
extract_game_assets.extract("../" + str(iso),yaz0_encoder)
os.chdir(previous_dir)
except ImportError as ex:
_handle_import_error(ex)