diff --git a/.gitignore b/.gitignore index 5a56e0ef..7b2aadc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,24 @@ -*.z64 -build/* .*~ -*.rz -.vscode/settings.json .vscode/c_cpp_properties.json -*.tmp .vscode/ipch/* -ge007.u.bin +.vscode/launch.json +.vscode/settings.json +*.rz +*.tmp +*.z64 /.vs -lib/libultra_rom.a -ge007.u.elf -baserom.u.dump -ge007.u.dump -assets/ge007.u.29E560.Globalimagetable_commandblock.bin +021990.bin +0219D0.bin assets/animationtable_data.bin assets/animationtable_entries.bin +assets/font/*.bin +assets/ge007.j.118660.jfont_chardata.bin assets/ge007.u.117880.jfont_dl.bin assets/ge007.u.117940.jfont_chardata.bin -assets/ge007.j.118660.jfont_chardata.bin assets/ge007.u.123040.efont_chardata.bin assets/ge007.u.29D160.Globalimagetable.bin +assets/ge007.u.29E560.Globalimagetable_commandblock.bin assets/ge007.u.2A4D50.usedby7F008DE4.bin -assets/font/*.bin assets/images/split/*.bin assets/music/*.bin assets/music/*.ctl @@ -29,21 +26,24 @@ assets/music/*.tbl assets/obseg/bg/*.bin assets/obseg/chr/*.bin assets/obseg/gun/*.bin +assets/obseg/ob__ob_end.seg assets/obseg/prop/*.bin assets/obseg/setup/*.bin -assets/obseg/setup/u/*.bin +assets/obseg/setup/e/*.bin assets/obseg/setup/j/*.bin +assets/obseg/setup/u/*.bin assets/obseg/stan/*.bin assets/obseg/text/*.bin -assets/obseg/text/u/*.bin +assets/obseg/text/e/*.bin assets/obseg/text/j/*.bin -assets/obseg/ob__ob_end.seg +assets/obseg/text/u/*.bin assets/ramrom/*.bin - +build/* +data_seg +ge007.e.bin +ge007.e.elf ge007.j.bin ge007.j.elf -data_seg -021990.bin -.vscode/launch.json - -0219D0.bin +ge007.u.bin +ge007.u.elf +lib/libultra_rom.a diff --git a/CppProperties.json b/CppProperties.json new file mode 100644 index 00000000..74845cda --- /dev/null +++ b/CppProperties.json @@ -0,0 +1,21 @@ +{ + "configurations": [ + { + "name": "MIPS3-DEBUG", + "configurationType": "Debug", + "generator": "Unix Makefiles", + "includePath": [ + "${env.INCLUDE}", + "${workspaceRoot}\\**", + "" + ], + "wslPath": "${defaultWSLPath}", + "defines": [ + "TRI4_Ext", + "DEBUG" + ] + //"compilerPath": "/usr/", + } + + ] +} diff --git a/Makefile b/Makefile index 254ccb2c..077d0558 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,7 @@ BUILD_DIR := build/$(COUNTRYCODE) include assets/Makefile.obseg include assets/Makefile.music BUILD_SUB_DIRS := \ - src src/game src/rarezip libultra assets assets/obseg \ + src src/game src/rarezip src/libultra assets assets/obseg \ assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop \ assets/obseg/text assets/obseg/bg assets/obseg/setup assets/obseg/stan \ assets/music assets/ramrom assets/images assets/images/split assets/font @@ -80,8 +80,8 @@ CODEFILES := $(foreach dir,src,$(wildcard $(dir)/*.c)) CODEOBJECTS := $(foreach file,$(CODEFILES),$(BUILD_DIR)/$(file:.c=.o)) LIBULTRA := lib/libultra_rom.a -ULTRAFILES := libultra/libultra.s -ULTRAOBJECTS := $(BUILD_DIR)/libultra/libultra.o +ULTRAFILES := $(foreach dir,src/libultra,$(wildcard $(dir)/*.s)) +ULTRAOBJECTS := $(foreach file,$(ULTRAFILES),$(BUILD_DIR)/$(file:.s=.o)) GAMEFILES := $(foreach dir,src/game,$(wildcard $(dir)/*.c)) GAMEOBJECTS := $(foreach file,$(GAMEFILES),$(BUILD_DIR)/$(file:.c=.o)) @@ -89,6 +89,12 @@ GAMEOBJECTS := $(foreach file,$(GAMEFILES),$(BUILD_DIR)/$(file:.c=.o)) ROMFILES := assets/romfiles.s ROMOBJECTS := $(BUILD_DIR)/assets/romfiles.o +GLOBALIMAGETABLEFILES := assets/GlobalImageTable.c +GLOBALIMAGETABLEOBJECTS := $(BUILD_DIR)/assets/GlobalImageTable.o + +ROMFILES2 := assets/romfiles2.s +ROMOBJECTS2 := $(BUILD_DIR)/assets/romfiles2.o + RAMROM_FILES := assets/ramrom/ramrom.s RAMROM_OBJECTS := $(BUILD_DIR)/assets/ramrom/ramrom.o @@ -152,6 +158,10 @@ $(BUILD_DIR)/%.o: src/%.s $(BUILD_DIR)/src/%.o: src/%.s $(AS) $(ASFLAGS) -o $@ $< +$(BUILD_DIR)/assets/%.o: assets/%.c + $(ASM_PREPROC) $(OPTIMIZATION) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION) + $(ASM_PREPROC) $(OPTIMIZATION) $< --post-process $@ --assembler "$(AS) $(ASFLAGS)" --asm-prelude tools/asmpreproc/prelude.s + $(BUILD_DIR)/assets/%.o: assets/%.s $(AS) $(ASFLAGS) -o $@ $< @@ -178,7 +188,7 @@ $(BUILD_DIR)/src/%.o: src/%.c $(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS) -$(APPELF): $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) +$(APPELF): $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(GLOBALIMAGETABLEOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) $(LD) $(LDFLAGS) -o $@ $(APPBIN): $(APPELF) diff --git a/assets/GlobalImageTable.c b/assets/GlobalImageTable.c new file mode 100644 index 00000000..d24d5d42 --- /dev/null +++ b/assets/GlobalImageTable.c @@ -0,0 +1,693 @@ +#include "ultra64.h" +#include "bondconstants.h" +#include "bondtypes.h" + +struct sGlobalImageTable GlobalImageTable = { + { //globalDL_0x000 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00000000, + 0xB900031D, 0x00504B50, + 0xBA001001, 0x00000000, + 0xFC121824, 0xFF33FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD083A, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x078 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0824, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0825, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x120 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0828, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0829, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x1c8 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0832, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0833, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x270 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0834, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0835, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x318 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0836, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0837, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x3c0 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0838, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0839, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x468 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD083A, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD083B, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x510 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD083C, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD083D, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x5b8 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD083E, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD083F, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x660 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0840, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0841, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x708 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0826, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0827, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x7b0 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD082A, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD082B, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x858 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD082C, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD082D, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x900 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD082E, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD082F, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0x9a8 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00100000, + 0xB900031D, 0x0C184B50, + 0xBA001001, 0x00000000, + 0xFC111404, 0xFF13FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD0830, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x0761F125, + 0xF5680E00, 0x00018060, + 0xF2000000, 0x000DC0DC, + 0xFD100000, 0xABCD0831, + 0xF5100188, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x070DF200, + 0xF5100988, 0x01090A42, + 0xF2000000, 0x010DC0DC, + 0xBA000E02, 0x00000000, + 0xE7000000, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //globalDL_0xa50 + 0xE7000000, 0x00000000, + 0xBA001402, 0x00000000, + 0xB900031D, 0x00552078, + 0xBA001001, 0x00000000, + 0xFC121824, 0xFF33FFFF, + 0xBB000001, 0xFFFFFFFF, + 0xFD700000, 0xABCD03F7, + 0xF5700000, 0x07000000, + 0xE6000000, 0x00000000, + 0xF3000000, 0x071FF200, + 0xE7000000, 0x00000000, + 0xF5680800, 0x00014050, + 0xF2000000, 0x0007C07C, + 0xBA000E02, 0x00000000, + 0xB8000000, 0x00000000 + }, + + { //s_genericimage + {0x858, 0x36, 0x36, 3, F_IA, D_8BIT, MIRROR, MIRROR, 0} + }, + + { //s_impactimages + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x879, 0x40, 0x20, 7, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x87A, 0x40, 0x40, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0xCE, 0x40, 0x20, 7, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x87B, 0x20, 0x20, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x87C, 0x20, 0x20, 0, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x5C3, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x87D, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x5C4, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x87E, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x87F, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x5C6, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x5C7, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0}, + {0x87A, 0x40, 0x40, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0} + }, + + { //s_explosion_smokeimages + {0x880, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x881, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x882, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x883, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x884, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x885, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + }, + + { //s_scattered_explosions + {0x886, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x887, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x888, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x889, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x88A, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + }, + + { //s_flareimage1 + {0x8B5, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + }, + + { //s_flareimage2 + {0x8B6, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0} + }, + + { //s_flareimage3 + {0x850, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0} + }, + + { //s_flareimage4 + {0x857, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0} + }, + + { //s_flareimage5 + {0x856, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + }, + + { //s_ammo9mmimage + {0x8B7, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_rifleammoimage + {0x8B8, 5, 0x1C, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_shotgunammoimage + {0x877, 6, 0x14, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_knifeammoimage + {0x876, 6, 0x18, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_glammoimage + {0x875, 8, 0x15, 0, F_RGBA, D_32BIT, 0, MIRROR, 0} + }, + + { //s_rocketammoimage + {0x871, 7, 0x16, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_genericmineammoimage + {0x872, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_grenadeammoimage + {0x873, 0xE, 0x12, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_magnumammoimage + {0x874, 5, 0xF, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_goldengunammoimage + {0x8B9, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_remotemineammoimage + {0x8BA, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_timedmineammoimage + {0x8BE, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_proxmineammoimage + {0x8BB, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0} + }, + + { //s_tankammoimage + {0x9A0, 7, 0x16, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0} + }, + + { //s_crosshairimage + {0x8BC, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + }, + + { //s_betacrosshairimage + {0x8BD, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0} + }, + + { //s_glassoverlayimage + {0x292, 0x20, 1, 6, F_IA, D_8BIT, 0, 0, 0}, + {0x28E, 0x36, 0x36, 3, F_IA, D_8BIT, MIRROR, MIRROR, 0} + }, + + { //s_monitorimages + {0x88B, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x88C, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x88D, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x88E, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x88F, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x890, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x891, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0}, + {0x892, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x893, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x894, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x895, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x4A1, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x896, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x897, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x4A2, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x4A3, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x898, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0}, + {0x246, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x247, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x248, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x899, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x89A, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x89B, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x89C, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x245, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x89D, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x89E, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}, + {0x8B3, 0x40, 0x40, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AF, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8B0, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8B1, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8B2, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AB, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AC, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AD, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AE, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8AA, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x89F, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8A0, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8A1, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0}, + {0x8A2, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0}, + {0x8A3, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0}, + {0x8A4, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0}, + {0x8A5, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0}, + {0x8A6, 0x80, 0x30, 0, F_I, D_8BIT, 0, MIRROR, 0}, + {0x8A7, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0}, + {0x8A8, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0}, + {0x8A9, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0}, + {0x8D7, 0x36, 0x36, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0x345, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0} + }, + + { //s_skywaterimages + {0x8B4, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}, + {0x5E4, 0x40, 0x40, 0, F_I, D_8BIT, 0, 0, 0}, + {0x5E5, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0} + }, + + { //s_mainfolderimages + {0, 0x20, 0x1C, 0, F_RGBA, D_32BIT, 0, MIRROR, 0}, + {2, 0x20, 0x1C, 0, F_RGBA, D_32BIT, 0, MIRROR, 0}, + {3, 0x7A, 0x12, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {1, 0xF, 0xF, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {4, 0x14, 0x14, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}, + {0xA47, 0x10, 0x10, 0, F_I, D_8BIT, 0, 0, 0} + }, + + { //s_mpradarimages + {0xC8, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0} + }, + + { //s_mpcharselimages + {0xA2A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA2B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA2C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA2D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA32, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA33, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA34, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA35, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA36, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA37, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA38, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA39, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA2E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA2F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA30, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA31, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA48, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA49, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA4F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA50, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA51, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA52, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA53, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA54, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA55, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA56, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA57, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA58, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA59, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA5F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA60, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA61, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA62, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA63, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA64, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA65, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA66, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA67, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA68, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA69, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA6F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA7A, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA7B, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA7C, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA7D, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA86, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA85, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA83, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}, + {0xA84, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0} + }, + + { //s_mpstageselimages + {0xA20, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA16, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA12, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA19, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA14, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA1E, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA1B, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA24, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA17, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA15, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA18, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA1A, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA7E, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA7F, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA80, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA81, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}, + {0xA87, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0} + } +}; diff --git a/assets/romfiles.s b/assets/romfiles.s index 961e216b..e3ab0f0e 100644 --- a/assets/romfiles.s +++ b/assets/romfiles.s @@ -34,253 +34,5 @@ _animation_dataSegmentRomStart: .incbin "assets/animationtable_data.bin" .global _animation_dataSegmentRomEnd _animation_dataSegmentRomEnd: - - # enum image_format, mappedto_2 -.set rgba, 0 -.set yuv, 1 -.set ci, 2 -.set ia, 3 -.set i, 4 - - # --------------------------------------------------------------------------- - - # enum image_bitdepth, mappedto_3 -.set D_4BIT, 0 -.set D_8BIT, 1 -.set D_16BIT, 2 -.set D_32BIT, 3 - - # --------------------------------------------------------------------------- - - # enum cm_flags, mappedto_4 -.set clamp, 1 -.set mirror, 2 - -.macro texture_entry index, width, height, level, format, depth, flagsS, flagsT, pad -.word \index -.byte \width -.byte \height -.byte \level -.byte \format -.byte \depth -.byte \flagsS -.byte \flagsT -.byte \pad -.endm - - .global _GlobalimagetableSegmentRomStart _GlobalimagetableSegmentRomStart: -.incbin "assets/ge007.u.29D160.Globalimagetable.bin" -texture_entry 0x858, 0x36, 0x36, 3, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x879, 0x40, 0x20, 7, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x87A, 0x40, 0x40, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0xCE, 0x40, 0x20, 7, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x87B, 0x20, 0x20, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x87C, 0x20, 0x20, 0, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x5C3, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x87D, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x5C4, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x87E, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x87F, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x5C6, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x5C7, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0 -texture_entry 0x87A, 0x40, 0x40, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x880, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x881, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x882, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x883, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x884, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x885, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x886, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x887, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x888, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x889, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x88A, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x8B5, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x8B6, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x850, 0x10, 0x20, 6, rgba, D_32BIT, 0, 0, 0 -texture_entry 0x857, 0x10, 0x20, 6, rgba, D_32BIT, 0, 0, 0 -texture_entry 0x856, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0 -texture_entry 0x8B7, 5, 0xC, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x8B8, 5, 0x1C, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x877, 6, 0x14, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x876, 6, 0x18, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x875, 8, 0x15, 0, rgba, D_32BIT, 0, mirror, 0 -texture_entry 0x871, 7, 0x16, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x872, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x873, 0xE, 0x12, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x874, 5, 0xF, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x8B9, 5, 0xC, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x8BA, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x8BE, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x8BB, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0 -texture_entry 0x9A0, 7, 0x16, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x8BC, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0 -texture_entry 0x8BD, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0 -texture_entry 0x292, 0x20, 1, 6, ia, D_8BIT, 0, 0, 0 -texture_entry 0x28E, 0x36, 0x36, 3, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x88B, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x88C, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x88D, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x88E, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x88F, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x890, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x891, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x892, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x893, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x894, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x895, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x4A1, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x896, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x897, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x4A2, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x4A3, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x898, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0 -texture_entry 0x246, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x247, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x248, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x899, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x89A, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x89B, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x89C, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x245, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x89D, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x89E, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x8B3, 0x40, 0x40, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AF, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8B0, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8B1, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8B2, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AB, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AC, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AD, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AE, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8AA, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x89F, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A0, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A1, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A2, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A3, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A4, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A5, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A6, 0x80, 0x30, 0, i, D_8BIT, 0, mirror, 0 -texture_entry 0x8A7, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A8, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0 -texture_entry 0x8A9, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0 -texture_entry 0x8D7, 0x36, 0x36, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0x345, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0x8B4, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0 -texture_entry 0x5E4, 0x40, 0x40, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0x5E5, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0, 0x20, 0x1C, 0, rgba, D_32BIT, 0, mirror, 0 -texture_entry 2, 0x20, 0x1C, 0, rgba, D_32BIT, 0, mirror, 0 -texture_entry 3, 0x7A, 0x12, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 1, 0xF, 0xF, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 4, 0x14, 0x14, 0, ia, D_8BIT, mirror, mirror, 0 -texture_entry 0xA47, 0x10, 0x10, 0, i, D_8BIT, 0, 0, 0 -texture_entry 0xC8, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0 -texture_entry 0xA2A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA2B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA2C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA2D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA32, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA33, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA34, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA35, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA36, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA37, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA38, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA39, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA2E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA2F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA30, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA31, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA48, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA49, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA4F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA50, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA51, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA52, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA53, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA54, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA55, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA56, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA57, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA58, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA59, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA5F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA60, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA61, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA62, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA63, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA64, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA65, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA66, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA67, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA68, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA69, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA6F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA7A, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA7B, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA7C, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA7D, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA86, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA85, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA83, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA84, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0 -texture_entry 0xA20, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA16, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA12, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA19, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA14, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA1E, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA1B, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA24, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA17, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA15, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA18, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA1A, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA7E, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA7F, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA80, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA81, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -texture_entry 0xA87, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0 -.word 0 -.word 0 -.global _GlobalimagetableSegmentRomEnd -_GlobalimagetableSegmentRomEnd: - -.global _GlobalimagetablecmdblkSegmentRomStart -_GlobalimagetablecmdblkSegmentRomStart: -.incbin "assets/ge007.u.29E560.Globalimagetable_commandblock.bin" -.global _GlobalimagetablecmdblkSegmentRomEnd -_GlobalimagetablecmdblkSegmentRomEnd: - -.global unknown2 -unknown2: -.incbin "assets/ge007.u.2A4D50.usedby7F008DE4.bin" -.global unknown2_end -unknown2_end: diff --git a/assets/romfiles2.s b/assets/romfiles2.s new file mode 100644 index 00000000..b9fb4ffb --- /dev/null +++ b/assets/romfiles2.s @@ -0,0 +1,15 @@ +.section .romfiles, "a" +.global _GlobalimagetableSegmentRomEnd +_GlobalimagetableSegmentRomEnd: + +.global _GlobalimagetablecmdblkSegmentRomStart +_GlobalimagetablecmdblkSegmentRomStart: +.incbin "assets/ge007.u.29E560.Globalimagetable_commandblock.bin" +.global _GlobalimagetablecmdblkSegmentRomEnd +_GlobalimagetablecmdblkSegmentRomEnd: + +.global unknown2 +unknown2: +.incbin "assets/ge007.u.2A4D50.usedby7F008DE4.bin" +.global unknown2_end +unknown2_end: diff --git a/filelist.j.csv b/filelist.j.csv index a8c21de0..b02edda2 100644 --- a/filelist.j.csv +++ b/filelist.j.csv @@ -3,7 +3,7 @@ 1195360,6784,assets/ge007.u.123040.efont_chardata.bin,0,1 1202144,1482432,assets/animationtable_entries.bin,0,1 2684576,59360,assets/animationtable_data.bin,0,1 -2743936,5120,assets/ge007.u.29D160.Globalimagetable.bin,0,1 +2743936,5120,assets/ge007.u.29D160.Globalimagetable.bin,0,0 2749056,26608,assets/ge007.u.29E560.Globalimagetable_commandblock.bin,0,1 2775664,107904,assets/ge007.u.2A4D50.usedby7F008DE4.bin,0,1 2883568,20992,assets/ramrom/ramrom_Dam_1.bin,0,1 diff --git a/filelist.u.csv b/filelist.u.csv index a14f6eaa..c50219ef 100644 --- a/filelist.u.csv +++ b/filelist.u.csv @@ -3,7 +3,7 @@ 1192000,6784,assets/ge007.u.123040.efont_chardata.bin,0,1 1198784,1482432,assets/animationtable_entries.bin,0,1 2681216,59360,assets/animationtable_data.bin,0,1 -2740576,2760,assets/ge007.u.29D160.Globalimagetable.bin,0,1 +2740576,2760,assets/ge007.u.29D160.Globalimagetable.bin,0,0 2745696,26608,assets/ge007.u.29E560.Globalimagetable_commandblock.bin,0,1 2772304,107904,assets/ge007.u.2A4D50.usedby7F008DE4.bin,0,1 2880208,20992,assets/ramrom/ramrom_Dam_1.bin,0,1 diff --git a/ge007.e.ld b/ge007.e.ld index 635d202a..a95a427f 100644 --- a/ge007.e.ld +++ b/ge007.e.ld @@ -8,7 +8,7 @@ SECTIONS _headerSegmentStart = ADDR(.header); _headerSegmentRomStart = _romSegmentStart; .header 0x04000000 : AT(_romSegmentStart) { - build/src/rom_header.o(.data); + build/e/src/rom_header.o(.data); } _headerSegmentEnd = ADDR(.header) + SIZEOF(.header); _headerSegmentRomEnd = _headerSegmentRomStart + SIZEOF(.header); @@ -19,7 +19,7 @@ SECTIONS _bootSegmentStart = ADDR(.boot); _bootSegmentRomStart = _headerSegmentRomEnd; .boot 0x04000040 : AT(_bootSegmentRomStart) { - build/src/bootcode.o(.text); + build/e/src/bootcode.o(.text); } _bootSegmentEnd = ADDR(.boot) + SIZEOF(.boot); _bootSegmentRomEnd = _bootSegmentRomStart + SIZEOF(.boot); @@ -31,7 +31,7 @@ SECTIONS _startSegmentStart = ADDR(.start); _startSegmentRomStart = _bootSegmentRomEnd; .start 0x80000400 : AT(_startSegmentRomStart) { - build/src/_start.o (.text); + build/e/src/_start.o (.text); } _startSegmentEnd = ADDR(.start) + SIZEOF(.start); _startSegmentRomEnd = _startSegmentRomStart + SIZEOF(.start); @@ -42,44 +42,126 @@ SECTIONS _codeSegmentStart = ADDR(.code); _codeSegmentRomStart = _startSegmentRomEnd; .code 0x70000450 : AT(_codeSegmentRomStart) SUBALIGN(16) { - build/src/boot.o (.text); - build/src/init.o (.text); - build/src/sched.o (.text); - build/src/osMapTLB.o (.text); - - + build/e/src/boot.o (.text); + build/e/src/init.o (.text); + build/e/src/sched.o (.text); + build/e/src/osMapTLB.o (.text); + build/e/src/libultra/osCreateViManager.o (.text); + build/e/src/libultra/osCreatePiManager.o (.text); - build/src/tlb_manage.o (.text); - build/src/tlb_random.o (.text); - build/src/tlb_resolve.o (.text); - build/src/tlb_hardwire.o (.text); - build/src/audi.o (.text); - build/src/speed_graph.o (.text); - build/src/video.o (.text); - build/src/deb.o (.text); - build/src/deb_video.o (.text); - build/src/deb_print.o (.text); - build/src/debug_getlastRA.o (.text); - build/src/ramrom.o (.text); - build/src/boss.o (.text); - build/src/music.o (.text); - build/src/snd.o (.text); - build/src/memp.o (.text); - build/src/mema.o (.text); - build/src/random.o (.text); - build/src/token.o (.text); - build/src/str.o (.text); - build/src/sprintf.o (.text); - build/src/pi.o (.text); - build/src/vi.o (.text); - build/src/debugmenu.o (.text); - build/src/joy.o (.text); - build/src/joy_rumble.o (.text); - build/src/rmon.o (.text); - build/libultra/libultra.o (.text); + build/e/src/tlb_manage.o (.text); + build/e/src/tlb_random.o (.text); + build/e/src/tlb_resolve.o (.text); + build/e/src/tlb_hardwire.o (.text); + build/e/src/audi.o (.text); + build/e/src/speed_graph.o (.text); + build/e/src/video.o (.text); + build/e/src/deb.o (.text); + build/e/src/deb_video.o (.text); + build/e/src/deb_print.o (.text); + build/e/src/debug_getlastRA.o (.text); + build/e/src/ramrom.o (.text); + build/e/src/boss.o (.text); + build/e/src/music.o (.text); + build/e/src/snd.o (.text); + build/e/src/memp.o (.text); + build/e/src/mema.o (.text); + build/e/src/random.o (.text); + build/e/src/token.o (.text); + build/e/src/str.o (.text); + build/e/src/sprintf.o (.text); + build/e/src/pi.o (.text); + build/e/src/vi.o (.text); + build/e/src/debugmenu.o (.text); + build/e/src/joy.o (.text); + build/e/src/joy_rumble.o (.text); + build/e/src/rmon.o (.text); + + build/e/src/libultra/osPiRawStartDma.o (.text); + build/e/src/libultra/osPiGetStatus.o (.text); + build/e/src/libultra/osInitialize.o (.text); + build/e/src/libultra/osWritebackDCacheAll.o (.text); + build/e/src/libultra/osInvalICache.o (.text); + build/e/src/libultra/osUnmapTLB.o (.text); + build/e/src/libultra/__osGetFpcCsr.o (.text); + build/e/src/libultra/__osSetFpcCsr.o (.text); + build/e/src/libultra/osCreateThread.o (.text); + build/e/src/libultra/osStartThread.o (.text); + build/e/src/libultra/osCreateMesgQueue.o (.text); + build/e/src/libultra/osStopThread.o (.text); + build/e/src/libultra/osSetThreadPri.o (.text); + build/e/src/libultra/osGetCount.o (.text); + + build/e/src/libultra/osViModeTable.o (.text); + build/e/src/libultra/osSetEventMesg.o (.text); + build/e/src/libultra/osViSetEvent.o (.text); + build/e/src/libultra/osSetIntMask.o (.text); + build/e/src/libultra/osRecvMesg.o (.text); + build/e/src/libultra/osSendMesg.o (.text); + build/e/src/libultra/osViSetMode.o (.text); + build/e/src/libultra/osViSetXScale.o (.text); + build/e/src/libultra/osViSetYScale.o (.text); + build/e/src/libultra/osViRepeatLine.o (.text); + build/e/src/libultra/osViBlack.o (.text); + build/e/src/libultra/osSpTaskYielded.o (.text); + build/e/src/libultra/osDpGetCounters.o (.text); + build/e/src/libultra/osViGetCurrentFramebuffer.o (.text); + build/e/src/libultra/osViGetNextFramebuffer.o (.text); + build/e/src/libultra/osViSwapBuffer.o (.text); + build/e/src/libultra/osDpSetStatus.o (.text); + build/e/src/libultra/osSpTaskLoad.o (.text); + build/e/src/libultra/osDpSetNextBuffer.o (.text); + build/e/src/libultra/osSpTaskYield.o (.text); + build/e/src/libultra/__osGetTLBHi.o (.text); + build/e/src/libultra/osVirtualToPhysical.o (.text); + build/e/src/libultra/osAiSetFrequency.o (.text); + build/e/src/libultra/alInit.o (.text); + build/e/src/libultra/osGetTime.o (.text); + build/e/src/libultra/ll.o (.text); + build/e/src/libultra/osAiGetLength.o (.text); + build/e/src/libultra/syn.o (.text); + build/e/src/libultra/osPiStartDma.o (.text); + build/e/src/libultra/osViSetSpecialFeatures.o (.text); + build/e/src/libultra/_bcopy.o (.text); + build/e/src/libultra/guPerspective.o (.text); + build/e/src/libultra/Mtx.o (.text); + build/e/src/libultra/__osGetCurrFaultedThread.o (.text); + build/e/src/libultra/exception.o (.text); + build/e/src/libultra/__osDequeueThread.o (.text); + build/e/src/libultra/osYieldThread.o (.text); + build/e/src/libultra/osInvalDCache.o (.text); + build/e/src/libultra/osWritebackDCache.o (.text); + build/e/src/libultra/osSetTimer.o (.text); + build/e/src/libultra/alHeapInit.o (.text); + build/e/src/libultra/alBnkfNew.o (.text); + build/e/src/libultra/__CSP.o (.text); + build/e/src/libultra/alSeqpSetBank.o (.text); + build/e/src/libultra/alCSPGetState.o (.text); + build/e/src/libultra/csequencer.o (.text); + build/e/src/libultra/alCSPSetSeq.o (.text); + build/e/src/libultra/alCSPPlay.o (.text); + build/e/src/libultra/alCSPStop.o (.text); + build/e/src/libultra/alCSPSetVol.o (.text); + build/e/src/libultra/alEvtq.o (.text); + build/e/src/libultra/alSynAddPlayer.o (.text); + build/e/src/libultra/alSynAllocVoice.o (.text); + build/e/src/libultra/alSynSetVol.o (.text); + build/e/src/libultra/alSynStartVoice.o (.text); + build/e/src/libultra/alSynSetPan.o (.text); + build/e/src/libultra/alSynSetPitch.o (.text); + build/e/src/libultra/alSynSetFXMix.o (.text); + build/e/src/libultra/alSynStopVoice.o (.text); + build/e/src/libultra/alSynFreeVoice.o (.text); + build/e/src/libultra/alCents2Ratio.o (.text); + build/e/src/libultra/osPiReadIo.o (.text); + build/e/src/libultra/string.o (.text); + build/e/src/libultra/_Printf.o (.text); + + build/e/src/libultra/libultra.o (.text); + /*build/e/src/libultra/libultra.a:libultra.o (.text);*/ } _codeSegmentEnd = ADDR(.code) + SIZEOF(.code); _codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code); @@ -89,7 +171,7 @@ SECTIONS _cdataSegmentStart = ADDR(.cdata); _cdataSegmentRomStart = _codeSegmentRomEnd; .cdata _cdataSegmentRomStart : AT(_cdataSegmentRomStart) { - build/src/c_data_filler.o (.data); + build/e/src/c_data_filler.o (.data); } _cdataSegmentEnd = ADDR(.cdata) + SIZEOF(.cdata); _cdataSegmentRomEnd = _cdataSegmentRomStart + SIZEOF(.cdata); @@ -100,8 +182,8 @@ SECTIONS _rarezipSegmentStart = ADDR(.rarezip); _rarezipSegmentRomStart = _cdataSegmentRomEnd; .rarezip 0x70200000 : AT(_rarezipSegmentRomStart) { - build/src/rarezip/rarezip.o (.text); - build/src/rarezip/rarezip.o (.data); + build/e/src/rarezip/rarezip.o (.text); + build/e/src/rarezip/rarezip.o (.data); } _rarezipSegmentEnd = ADDR(.rarezip) + SIZEOF(.rarezip); _rarezipSegmentRomEnd = _rarezipSegmentRomStart + SIZEOF(.rarezip); @@ -113,120 +195,127 @@ SECTIONS _gameSegmentStart = ADDR(.game); _gameSegmentRomStart = _rarezipSegmentRomEnd; .game 0x7F000000 : AT(_gameSegmentRomStart) { - build/src/game/initgamedata.o (.text); - build/src/game/initweaponanigroups.o (.text); - build/src/game/initactorpropstuff.o (.text); - build/src/game/initnull_0009D0.o (.text); - build/src/game/initunk_0009E0.o (.text); - build/src/game/initanitable.o (.text); - build/src/game/initunk_000B60.o (.text); - build/src/game/setguscale.o (.text); - build/src/game/initnull_000BC0.o (.text); - build/src/game/initimages.o (.text); - build/src/game/initintromatrices.o (.text); - build/src/game/initmenus.o (.text); - build/src/game/initguards.o (.text); - build/src/game/deb_loadallmodels.o (.text); - build/src/game/initobjects.o (.text); - build/src/game/prop.o (.text); - build/src/game/objective.o (.text); - build/src/game/ejectedcartridges.o (.text); - build/src/game/initBondDATA.o (.text); - build/src/game/initunk_005450.o (.text); - build/src/game/initunk_005520.o (.text); - build/src/game/initcameraandthrown.o (.text); - build/src/game/inititemslots.o (.text); - build/src/game/initBondDATAdefaults.o (.text); - build/src/game/initpathtablesomething.o (.text); - build/src/game/initpathtablelinks.o (.text); - build/src/game/initexplosioncasing.o (.text); - build/src/game/initunk_007180.o (.text); - build/src/game/initunk_007290.o (.text); - build/src/game/initunk_0072B0.o (.text); - build/src/game/initmttex.o (.text); - build/src/game/initunk_0073B0.o (.text); - build/src/game/initunk_007460.o (.text); - build/src/game/cleanup_alarms.o (.text); - build/src/game/cleanup_objects.o (.text); - build/src/game/cleanup_objectives.o (.text); - build/src/game/cleanupSFXRelated.o (.text); - build/src/game/playerstats_007770.o (.text); - build/src/game/unk_007800.o (.text); - build/src/game/unk_007920.o (.text); - build/src/game/null_007970.o (.text); - build/src/game/unk_007980.o (.text); - build/src/game/intro_logos.o (.text); - build/src/game/mainmenu.o (.text); - build/src/game/unk_01B0E0.o (.text); - build/src/game/unk_01B240.o (.text); - build/src/game/unk_01BAE0.o (.text); - build/src/game/blood_animation.o (.text); - build/src/game/blood_decrypt.o (.text); - build/src/game/gamefile.o (.text); - build/src/game/chr.o (.text); - build/src/game/chrai.o (.text); - build/src/game/loadobjectmodel.o (.text); - build/src/game/objective_status.o (.text); - build/src/game/sin.o (.text); - build/src/game/unk_057FD0.o (.text); - build/src/game/unk_05A9E0.o (.text); - build/src/game/convertangleusinginverse.o (.text); - build/src/game/unk_05AB70.o (.text); - build/src/game/unk_05ACB0.o (.text); - build/src/game/unk_05AE00.o (.text); - build/src/game/unk_05B1E0.o (.text); - build/src/game/truncf.o (.text); - build/src/game/unk_05C440.o (.text); - build/src/game/bondwalk.o (.text); - build/src/game/objecthandler.o (.text); - build/src/game/objecthandler_2.o (.text); - build/src/game/othermodemicrocode.o (.text); - build/src/game/bond.o (.text); - build/src/game/unk_08DBB0.o (.text); - build/src/game/debugmenu_08FE00.o (.text); - build/src/game/debugmenu_090490.o (.text); - build/src/game/unk_091080.o (.text); - build/src/game/cheat_buttons.o (.text); - build/src/game/unk_092890.o (.text); - build/src/game/unk_092E50.o (.text); - build/src/game/unk_093880.o (.text); - build/src/game/unk_09B600.o (.text); - build/src/game/unk_09B740.o (.text); - build/src/game/unk_09B7A0.o (.text); - build/src/game/unk_09C250.o (.text); - build/src/game/unk_0A1DA0.o (.text); - build/src/game/watch.o (.text); - build/src/game/textrelated.o (.text); - build/src/game/stan.o (.text); - build/src/game/unk_0B3200.o (.text); - build/src/game/bg.o (.text); - build/src/game/fog.o (.text); - build/src/game/lightfixture.o (.text); - build/src/game/unk_0BC530.o (.text); - build/src/game/ob.o (.text); - build/src/game/dyn.o (.text); - build/src/game/lvl.o (.text); - build/src/game/lvl_2.o (.text); - build/src/game/unk_0C0A70.o (.text); - build/src/game/mp_music.o (.text); - build/src/game/lvl_text.o (.text); - build/src/game/mp_watch.o (.text); - build/src/game/radar.o (.text); - build/src/game/mp_weapon.o (.text); - build/src/game/image.o (.text); - build/src/game/image_bank.o (.text); - build/src/game/unk_0CC4C0.o (.text); - build/src/game/decompress.o (.text); - build/src/game/zlib.o (.text); - build/src/game/rsp.o (.text); - build/src/game/indy_comms.o (.text); - build/src/game/indy_commands.o (.text); - build/src/game/game_debug.o (.text); - build/src/game/compiletime.o (.text); - build/src/game/unk_0D1AC0.o (.text); - build/src/game/viewport.o (.text); - build/src/game/music_0D2720.o (.text); - build/src/game/spectrum.o (.text); + build/e/src/game/initgamedata.o (.text); + build/e/src/game/initweaponanigroups.o (.text); + build/e/src/game/initactorpropstuff.o (.text); + build/e/src/game/initnull_0009D0.o (.text); + build/e/src/game/initunk_0009E0.o (.text); + build/e/src/game/initanitable.o (.text); + build/e/src/game/initunk_000B60.o (.text); + build/e/src/game/setguscale.o (.text); + build/e/src/game/initnull_000BC0.o (.text); + build/e/src/game/initimages.o (.text); + build/e/src/game/initintromatrices.o (.text); + build/e/src/game/initmenus.o (.text); + build/e/src/game/initguards.o (.text); + build/e/src/game/deb_loadallmodels.o (.text); + build/e/src/game/initobjects.o (.text); + build/e/src/game/prop.o (.text); + build/e/src/game/objective.o (.text); + build/e/src/game/ejectedcartridges.o (.text); + build/e/src/game/initBondDATA.o (.text); + build/e/src/game/initunk_005450.o (.text); + build/e/src/game/initunk_005520.o (.text); + build/e/src/game/initcameraandthrown.o (.text); + build/e/src/game/inititemslots.o (.text); + build/e/src/game/initBondDATAdefaults.o (.text); + build/e/src/game/initpathtablesomething.o (.text); + build/e/src/game/initpathtablelinks.o (.text); + build/e/src/game/initexplosioncasing.o (.text); + build/e/src/game/initunk_007180.o (.text); + build/e/src/game/initunk_007290.o (.text); + build/e/src/game/initunk_0072B0.o (.text); + build/e/src/game/initmttex.o (.text); + build/e/src/game/initunk_0073B0.o (.text); + build/e/src/game/initunk_007460.o (.text); + build/e/src/game/cleanup_alarms.o (.text); + build/e/src/game/cleanup_objects.o (.text); + build/e/src/game/cleanup_objectives.o (.text); + build/e/src/game/cleanupSFXRelated.o (.text); + build/e/src/game/playerstats_007770.o (.text); + build/e/src/game/unk_007800.o (.text); + build/e/src/game/unk_007920.o (.text); + build/e/src/game/null_007970.o (.text); + build/e/src/game/unk_007980.o (.text); + build/e/src/game/intro_logos.o (.text); + build/e/src/game/mainmenu.o (.text); + build/e/src/game/unk_01B0E0.o (.text); + build/e/src/game/unk_01B240.o (.text); + build/e/src/game/unk_01BAE0.o (.text); + build/e/src/game/blood_animation.o (.text); + build/e/src/game/blood_decrypt.o (.text); + build/e/src/game/gamefile.o (.text); + build/e/src/game/gamefile2.o (.text); + build/e/src/game/chr.o (.text); + build/e/src/game/chr2.o (.text); + build/e/src/game/chrai.o (.text); + build/e/src/game/chrobjhandler.o (.text); + build/e/src/game/loadobjectmodel.o (.text); + build/e/src/game/objective_status.o (.text); + build/e/src/game/objective_status2.o (.text); + build/e/src/game/sin.o (.text); + build/e/src/game/unk_057FD0.o (.text); + build/e/src/game/unk_05A9E0.o (.text); + build/e/src/game/convertangleusinginverse.o (.text); + build/e/src/game/unk_05AB70.o (.text); + build/e/src/game/unk_05ACB0.o (.text); + build/e/src/game/unk_05AE00.o (.text); + build/e/src/game/unk_05B1E0.o (.text); + build/e/src/game/truncf.o (.text); + build/e/src/game/unk_05C440.o (.text); + build/e/src/game/bondwalk.o (.text); + build/e/src/game/bondwalk2.o (.text); + build/e/src/game/objecthandler.o (.text); + build/e/src/game/objecthandler_2.o (.text); + build/e/src/game/othermodemicrocode.o (.text); + build/e/src/game/bond.o (.text); + build/e/src/game/bond2.o (.text); + build/e/src/game/unk_08DBB0.o (.text); + build/e/src/game/debugmenu_08FE00.o (.text); + build/e/src/game/debugmenu_090490.o (.text); + build/e/src/game/unk_091080.o (.text); + build/e/src/game/chrobjdata.o (.text); + build/e/src/game/cheat_buttons.o (.text); + build/e/src/game/unk_092890.o (.text); + build/e/src/game/unk_092E50.o (.text); + build/e/src/game/unk_093880.o (.text); + build/e/src/game/unk_09B600.o (.text); + build/e/src/game/unk_09B740.o (.text); + build/e/src/game/unk_09B7A0.o (.text); + build/e/src/game/unk_09C250.o (.text); + build/e/src/game/unk_0A1DA0.o (.text); + build/e/src/game/watch.o (.text); + build/e/src/game/textrelated.o (.text); + build/e/src/game/stan.o (.text); + build/e/src/game/unk_0B3200.o (.text); + build/e/src/game/bg.o (.text); + build/e/src/game/fog.o (.text); + build/e/src/game/lightfixture.o (.text); + build/e/src/game/unk_0BC530.o (.text); + build/e/src/game/ob.o (.text); + build/e/src/game/dyn.o (.text); + build/e/src/game/lvl.o (.text); + build/e/src/game/lvl_2.o (.text); + build/e/src/game/unk_0C0A70.o (.text); + build/e/src/game/mp_music.o (.text); + build/e/src/game/lvl_text.o (.text); + build/e/src/game/mp_watch.o (.text); + build/e/src/game/radar.o (.text); + build/e/src/game/mp_weapon.o (.text); + build/e/src/game/image.o (.text); + build/e/src/game/image_bank.o (.text); + build/e/src/game/unk_0CC4C0.o (.text); + build/e/src/game/decompress.o (.text); + build/e/src/game/zlib.o (.text); + build/e/src/game/rsp.o (.text); + build/e/src/game/indy_comms.o (.text); + build/e/src/game/indy_commands.o (.text); + build/e/src/game/game_debug.o (.text); + build/e/src/game/compiletime.o (.text); + build/e/src/game/unk_0D1AC0.o (.text); + build/e/src/game/viewport.o (.text); + build/e/src/game/music_0D2720.o (.text); + build/e/src/game/spectrum.o (.text); } _gameSegmentEnd = ADDR(.game) + SIZEOF(.game); _gameSegmentRomEnd = _gameSegmentRomStart + SIZEOF(.game); @@ -237,11 +326,13 @@ SECTIONS _romfiles_117880SegmentStart = ADDR(.romfiles_117880); _romfiles_117880SegmentRomStart = _gameSegmentRomEnd; .romfiles_117880 _romfiles_117880SegmentRomStart : AT(_romfiles_117880SegmentRomStart) { - build/assets/romfiles.o (.romfiles); - build/assets/ramrom/ramrom.o (.ramrom); - build/assets/font/font.o (.font); - build/assets/music/music.o (.music); - build/assets/music/music.o (.musiccompressed); + build/e/assets/romfiles.o (.romfiles); + build/e/assets/GlobalImageTable.o (.data); + build/e/assets/romfiles2.o (.romfiles); + build/e/assets/ramrom/ramrom.o (.ramrom); + build/e/assets/font/font.o (.font); + build/e/assets/music/music.o (.music); + build/e/assets/music/music.o (.musiccompressed); } _romfiles_117880SegmentEnd = ADDR(.romfiles_117880) + SIZEOF(.romfiles_117880); _romfiles_117880SegmentRomEnd = _romfiles_117880SegmentRomStart + SIZEOF(.romfiles_117880); @@ -252,7 +343,7 @@ SECTIONS _obsegSegmentStart = ADDR(.obseg); _obsegSegmentRomStart = _romfiles_117880SegmentRomEnd; .obseg _obsegSegmentRomStart : AT(_obsegSegmentRomStart) { - build/assets/obseg/ob_seg.o (.ob_seg); + build/e/assets/obseg/ob_seg.o (.ob_seg); } _obsegSegmentEnd = ADDR(.obseg) + SIZEOF(.obseg); _obsegSegmentRomEnd = _obsegSegmentRomStart + SIZEOF(.obseg); @@ -263,2708 +354,2705 @@ SECTIONS _imagesSegmentStart = ADDR(.images); _imagesSegmentRomStart = _obsegSegmentRomEnd; .images _imagesSegmentRomStart : AT(_imagesSegmentRomStart) { - _image1_start = .; - build/assets/images/split/image1.o (.data); - _image1_end = .; - _image1_size = (_image1_end - _image1_start); - build/assets/images/split/image2.o (.data); - build/assets/images/split/image3.o (.data); - build/assets/images/split/image4.o (.data); - build/assets/images/split/image5.o (.data); - build/assets/images/split/image6.o (.data); - build/assets/images/split/image7.o (.data); - build/assets/images/split/image8.o (.data); - build/assets/images/split/image9.o (.data); - build/assets/images/split/image10.o (.data); - build/assets/images/split/image11.o (.data); - build/assets/images/split/image12.o (.data); - build/assets/images/split/image13.o (.data); - build/assets/images/split/image14.o (.data); - build/assets/images/split/image15.o (.data); - build/assets/images/split/image16.o (.data); - build/assets/images/split/image17.o (.data); - build/assets/images/split/image18.o (.data); - build/assets/images/split/image19.o (.data); - build/assets/images/split/image20.o (.data); - build/assets/images/split/image21.o (.data); - build/assets/images/split/image22.o (.data); - build/assets/images/split/image23.o (.data); - build/assets/images/split/image24.o (.data); - build/assets/images/split/image25.o (.data); - build/assets/images/split/image26.o (.data); - build/assets/images/split/image27.o (.data); - build/assets/images/split/image28.o (.data); - build/assets/images/split/image29.o (.data); - build/assets/images/split/image30.o (.data); - build/assets/images/split/image31.o (.data); - build/assets/images/split/image32.o (.data); - build/assets/images/split/image33.o (.data); - build/assets/images/split/image34.o (.data); - build/assets/images/split/image35.o (.data); - build/assets/images/split/image36.o (.data); - build/assets/images/split/image37.o (.data); - build/assets/images/split/image38.o (.data); - build/assets/images/split/image39.o (.data); - build/assets/images/split/image40.o (.data); - build/assets/images/split/image41.o (.data); - build/assets/images/split/image42.o (.data); - build/assets/images/split/image43.o (.data); - build/assets/images/split/image44.o (.data); - build/assets/images/split/image45.o (.data); - build/assets/images/split/image46.o (.data); - build/assets/images/split/image47.o (.data); - build/assets/images/split/image48.o (.data); - build/assets/images/split/image49.o (.data); - build/assets/images/split/image50.o (.data); - build/assets/images/split/image51.o (.data); - build/assets/images/split/image52.o (.data); - build/assets/images/split/image53.o (.data); - build/assets/images/split/image54.o (.data); - build/assets/images/split/image55.o (.data); - build/assets/images/split/image56.o (.data); - build/assets/images/split/image57.o (.data); - build/assets/images/split/image58.o (.data); - build/assets/images/split/image59.o (.data); - build/assets/images/split/image60.o (.data); - build/assets/images/split/image61.o (.data); - build/assets/images/split/image62.o (.data); - build/assets/images/split/image63.o (.data); - build/assets/images/split/image64.o (.data); - build/assets/images/split/image65.o (.data); - build/assets/images/split/image66.o (.data); - build/assets/images/split/image67.o (.data); - build/assets/images/split/image68.o (.data); - build/assets/images/split/image69.o (.data); - build/assets/images/split/image70.o (.data); - build/assets/images/split/image71.o (.data); - build/assets/images/split/image72.o (.data); - build/assets/images/split/image73.o (.data); - build/assets/images/split/image74.o (.data); - build/assets/images/split/image75.o (.data); - build/assets/images/split/image76.o (.data); - build/assets/images/split/image77.o (.data); - build/assets/images/split/image78.o (.data); - build/assets/images/split/image79.o (.data); - build/assets/images/split/image80.o (.data); - build/assets/images/split/image81.o (.data); - build/assets/images/split/image82.o (.data); - build/assets/images/split/image83.o (.data); - build/assets/images/split/image84.o (.data); - build/assets/images/split/image85.o (.data); - build/assets/images/split/image86.o (.data); - build/assets/images/split/image87.o (.data); - build/assets/images/split/image88.o (.data); - build/assets/images/split/image89.o (.data); - build/assets/images/split/image90.o (.data); - build/assets/images/split/image91.o (.data); - build/assets/images/split/image92.o (.data); - build/assets/images/split/image93.o (.data); - build/assets/images/split/image94.o (.data); - build/assets/images/split/image95.o (.data); - build/assets/images/split/image96.o (.data); - build/assets/images/split/image97.o (.data); - build/assets/images/split/image98.o (.data); - build/assets/images/split/image99.o (.data); - build/assets/images/split/image100.o (.data); - build/assets/images/split/image101.o (.data); - build/assets/images/split/image102.o (.data); - build/assets/images/split/image103.o (.data); - build/assets/images/split/image104.o (.data); - build/assets/images/split/image105.o (.data); - build/assets/images/split/image106.o (.data); - build/assets/images/split/image107.o (.data); - build/assets/images/split/image108.o (.data); - build/assets/images/split/image109.o (.data); - build/assets/images/split/image110.o (.data); - build/assets/images/split/image111.o (.data); - build/assets/images/split/image112.o (.data); - build/assets/images/split/image113.o (.data); - build/assets/images/split/image114.o (.data); - build/assets/images/split/image115.o (.data); - build/assets/images/split/image116.o (.data); - build/assets/images/split/image117.o (.data); - build/assets/images/split/image118.o (.data); - build/assets/images/split/image119.o (.data); - build/assets/images/split/image120.o (.data); - build/assets/images/split/image121.o (.data); - build/assets/images/split/image122.o (.data); - build/assets/images/split/image123.o (.data); - build/assets/images/split/image124.o (.data); - build/assets/images/split/image125.o (.data); - build/assets/images/split/image126.o (.data); - build/assets/images/split/image127.o (.data); - build/assets/images/split/image128.o (.data); - build/assets/images/split/image129.o (.data); - build/assets/images/split/image130.o (.data); - build/assets/images/split/image131.o (.data); - build/assets/images/split/image132.o (.data); - build/assets/images/split/image133.o (.data); - build/assets/images/split/image134.o (.data); - build/assets/images/split/image135.o (.data); - build/assets/images/split/image136.o (.data); - build/assets/images/split/image137.o (.data); - build/assets/images/split/image138.o (.data); - build/assets/images/split/image139.o (.data); - build/assets/images/split/image140.o (.data); - build/assets/images/split/image141.o (.data); - build/assets/images/split/image142.o (.data); - build/assets/images/split/image143.o (.data); - build/assets/images/split/image144.o (.data); - build/assets/images/split/image145.o (.data); - build/assets/images/split/image146.o (.data); - build/assets/images/split/image147.o (.data); - build/assets/images/split/image148.o (.data); - build/assets/images/split/image149.o (.data); - build/assets/images/split/image150.o (.data); - build/assets/images/split/image151.o (.data); - build/assets/images/split/image152.o (.data); - build/assets/images/split/image153.o (.data); - build/assets/images/split/image154.o (.data); - build/assets/images/split/image155.o (.data); - build/assets/images/split/image156.o (.data); - build/assets/images/split/image157.o (.data); - build/assets/images/split/image158.o (.data); - build/assets/images/split/image159.o (.data); - build/assets/images/split/image160.o (.data); - build/assets/images/split/image161.o (.data); - build/assets/images/split/image162.o (.data); - build/assets/images/split/image163.o (.data); - build/assets/images/split/image164.o (.data); - build/assets/images/split/image165.o (.data); - build/assets/images/split/image166.o (.data); - build/assets/images/split/image167.o (.data); - build/assets/images/split/image168.o (.data); - build/assets/images/split/image169.o (.data); - build/assets/images/split/image170.o (.data); - build/assets/images/split/image171.o (.data); - build/assets/images/split/image172.o (.data); - build/assets/images/split/image173.o (.data); - build/assets/images/split/image174.o (.data); - build/assets/images/split/image175.o (.data); - build/assets/images/split/image176.o (.data); - build/assets/images/split/image177.o (.data); - build/assets/images/split/image178.o (.data); - build/assets/images/split/image179.o (.data); - build/assets/images/split/image180.o (.data); - build/assets/images/split/image181.o (.data); - build/assets/images/split/image182.o (.data); - build/assets/images/split/image183.o (.data); - build/assets/images/split/image184.o (.data); - build/assets/images/split/image185.o (.data); - build/assets/images/split/image186.o (.data); - build/assets/images/split/image187.o (.data); - build/assets/images/split/image188.o (.data); - build/assets/images/split/image189.o (.data); - build/assets/images/split/image190.o (.data); - build/assets/images/split/image191.o (.data); - build/assets/images/split/image192.o (.data); - build/assets/images/split/image193.o (.data); - build/assets/images/split/image194.o (.data); - build/assets/images/split/image195.o (.data); - build/assets/images/split/image196.o (.data); - build/assets/images/split/image197.o (.data); - build/assets/images/split/image198.o (.data); - build/assets/images/split/image199.o (.data); - build/assets/images/split/image200.o (.data); - build/assets/images/split/image201.o (.data); - build/assets/images/split/image202.o (.data); - build/assets/images/split/image203.o (.data); - build/assets/images/split/image204.o (.data); - build/assets/images/split/image205.o (.data); - build/assets/images/split/image206.o (.data); - build/assets/images/split/image207.o (.data); - build/assets/images/split/image208.o (.data); - build/assets/images/split/image209.o (.data); - build/assets/images/split/image210.o (.data); - build/assets/images/split/image211.o (.data); - build/assets/images/split/image212.o (.data); - build/assets/images/split/image213.o (.data); - build/assets/images/split/image214.o (.data); - build/assets/images/split/image215.o (.data); - build/assets/images/split/image216.o (.data); - build/assets/images/split/image217.o (.data); - build/assets/images/split/image218.o (.data); - build/assets/images/split/image219.o (.data); - build/assets/images/split/image220.o (.data); - build/assets/images/split/image221.o (.data); - build/assets/images/split/image222.o (.data); - build/assets/images/split/image223.o (.data); - build/assets/images/split/image224.o (.data); - build/assets/images/split/image225.o (.data); - build/assets/images/split/image226.o (.data); - build/assets/images/split/image227.o (.data); - build/assets/images/split/image228.o (.data); - build/assets/images/split/image229.o (.data); - build/assets/images/split/image230.o (.data); - build/assets/images/split/image231.o (.data); - build/assets/images/split/image232.o (.data); - build/assets/images/split/image233.o (.data); - build/assets/images/split/image234.o (.data); - build/assets/images/split/image235.o (.data); - build/assets/images/split/image236.o (.data); - build/assets/images/split/image237.o (.data); - build/assets/images/split/image238.o (.data); - build/assets/images/split/image239.o (.data); - build/assets/images/split/image240.o (.data); - build/assets/images/split/image241.o (.data); - build/assets/images/split/image242.o (.data); - build/assets/images/split/image243.o (.data); - build/assets/images/split/image244.o (.data); - build/assets/images/split/image245.o (.data); - build/assets/images/split/image246.o (.data); - build/assets/images/split/image247.o (.data); - build/assets/images/split/image248.o (.data); - build/assets/images/split/image249.o (.data); - build/assets/images/split/image250.o (.data); - build/assets/images/split/image251.o (.data); - build/assets/images/split/image252.o (.data); - build/assets/images/split/image253.o (.data); - build/assets/images/split/image254.o (.data); - build/assets/images/split/image255.o (.data); - build/assets/images/split/image256.o (.data); - build/assets/images/split/image257.o (.data); - build/assets/images/split/image258.o (.data); - build/assets/images/split/image259.o (.data); - build/assets/images/split/image260.o (.data); - build/assets/images/split/image261.o (.data); - build/assets/images/split/image262.o (.data); - build/assets/images/split/image263.o (.data); - build/assets/images/split/image264.o (.data); - build/assets/images/split/image265.o (.data); - build/assets/images/split/image266.o (.data); - build/assets/images/split/image267.o (.data); - build/assets/images/split/image268.o (.data); - build/assets/images/split/image269.o (.data); - build/assets/images/split/image270.o (.data); - build/assets/images/split/image271.o (.data); - build/assets/images/split/image272.o (.data); - build/assets/images/split/image273.o (.data); - build/assets/images/split/image274.o (.data); - build/assets/images/split/image275.o (.data); - build/assets/images/split/image276.o (.data); - build/assets/images/split/image277.o (.data); - build/assets/images/split/image278.o (.data); - build/assets/images/split/image279.o (.data); - build/assets/images/split/image280.o (.data); - build/assets/images/split/image281.o (.data); - build/assets/images/split/image282.o (.data); - build/assets/images/split/image283.o (.data); - build/assets/images/split/image284.o (.data); - build/assets/images/split/image285.o (.data); - build/assets/images/split/image286.o (.data); - build/assets/images/split/image287.o (.data); - build/assets/images/split/image288.o (.data); - build/assets/images/split/image289.o (.data); - build/assets/images/split/image290.o (.data); - build/assets/images/split/image291.o (.data); - build/assets/images/split/image292.o (.data); - build/assets/images/split/image293.o (.data); - build/assets/images/split/image294.o (.data); - build/assets/images/split/image295.o (.data); - build/assets/images/split/image296.o (.data); - build/assets/images/split/image297.o (.data); - build/assets/images/split/image298.o (.data); - build/assets/images/split/image299.o (.data); - build/assets/images/split/image300.o (.data); - build/assets/images/split/image301.o (.data); - build/assets/images/split/image302.o (.data); - build/assets/images/split/image303.o (.data); - build/assets/images/split/image304.o (.data); - build/assets/images/split/image305.o (.data); - build/assets/images/split/image306.o (.data); - build/assets/images/split/image307.o (.data); - build/assets/images/split/image308.o (.data); - build/assets/images/split/image309.o (.data); - build/assets/images/split/image310.o (.data); - build/assets/images/split/image311.o (.data); - build/assets/images/split/image312.o (.data); - build/assets/images/split/image313.o (.data); - build/assets/images/split/image314.o (.data); - build/assets/images/split/image315.o (.data); - build/assets/images/split/image316.o (.data); - build/assets/images/split/image317.o (.data); - build/assets/images/split/image318.o (.data); - build/assets/images/split/image319.o (.data); - build/assets/images/split/image320.o (.data); - build/assets/images/split/image321.o (.data); - build/assets/images/split/image322.o (.data); - build/assets/images/split/image323.o (.data); - build/assets/images/split/image324.o (.data); - build/assets/images/split/image325.o (.data); - build/assets/images/split/image326.o (.data); - build/assets/images/split/image327.o (.data); - build/assets/images/split/image328.o (.data); - build/assets/images/split/image329.o (.data); - build/assets/images/split/image330.o (.data); - build/assets/images/split/image331.o (.data); - build/assets/images/split/image332.o (.data); - build/assets/images/split/image333.o (.data); - build/assets/images/split/image334.o (.data); - build/assets/images/split/image335.o (.data); - build/assets/images/split/image336.o (.data); - build/assets/images/split/image337.o (.data); - build/assets/images/split/image338.o (.data); - build/assets/images/split/image339.o (.data); - build/assets/images/split/image340.o (.data); - build/assets/images/split/image341.o (.data); - build/assets/images/split/image342.o (.data); - build/assets/images/split/image343.o (.data); - build/assets/images/split/image344.o (.data); - build/assets/images/split/image345.o (.data); - build/assets/images/split/image346.o (.data); - build/assets/images/split/image347.o (.data); - build/assets/images/split/image348.o (.data); - build/assets/images/split/image349.o (.data); - build/assets/images/split/image350.o (.data); - build/assets/images/split/image351.o (.data); - build/assets/images/split/image352.o (.data); - build/assets/images/split/image353.o (.data); - build/assets/images/split/image354.o (.data); - build/assets/images/split/image355.o (.data); - build/assets/images/split/image356.o (.data); - build/assets/images/split/image357.o (.data); - build/assets/images/split/image358.o (.data); - build/assets/images/split/image359.o (.data); - build/assets/images/split/image360.o (.data); - build/assets/images/split/image361.o (.data); - build/assets/images/split/image362.o (.data); - build/assets/images/split/image363.o (.data); - build/assets/images/split/image364.o (.data); - build/assets/images/split/image365.o (.data); - build/assets/images/split/image366.o (.data); - build/assets/images/split/image367.o (.data); - build/assets/images/split/image368.o (.data); - build/assets/images/split/image369.o (.data); - build/assets/images/split/image370.o (.data); - build/assets/images/split/image371.o (.data); - build/assets/images/split/image372.o (.data); - build/assets/images/split/image373.o (.data); - build/assets/images/split/image374.o (.data); - build/assets/images/split/image375.o (.data); - build/assets/images/split/image376.o (.data); - build/assets/images/split/image377.o (.data); - build/assets/images/split/image378.o (.data); - build/assets/images/split/image379.o (.data); - build/assets/images/split/image380.o (.data); - build/assets/images/split/image381.o (.data); - build/assets/images/split/image382.o (.data); - build/assets/images/split/image383.o (.data); - build/assets/images/split/image384.o (.data); - build/assets/images/split/image385.o (.data); - build/assets/images/split/image386.o (.data); - build/assets/images/split/image387.o (.data); - build/assets/images/split/image388.o (.data); - build/assets/images/split/image389.o (.data); - build/assets/images/split/image390.o (.data); - build/assets/images/split/image391.o (.data); - build/assets/images/split/image392.o (.data); - build/assets/images/split/image393.o (.data); - build/assets/images/split/image394.o (.data); - build/assets/images/split/image395.o (.data); - build/assets/images/split/image396.o (.data); - build/assets/images/split/image397.o (.data); - build/assets/images/split/image398.o (.data); - build/assets/images/split/image399.o (.data); - build/assets/images/split/image400.o (.data); - build/assets/images/split/image401.o (.data); - build/assets/images/split/image402.o (.data); - build/assets/images/split/image403.o (.data); - build/assets/images/split/image404.o (.data); - build/assets/images/split/image405.o (.data); - build/assets/images/split/image406.o (.data); - build/assets/images/split/image407.o (.data); - build/assets/images/split/image408.o (.data); - build/assets/images/split/image409.o (.data); - build/assets/images/split/image410.o (.data); - build/assets/images/split/image411.o (.data); - build/assets/images/split/image412.o (.data); - build/assets/images/split/image413.o (.data); - build/assets/images/split/image414.o (.data); - build/assets/images/split/image415.o (.data); - build/assets/images/split/image416.o (.data); - build/assets/images/split/image417.o (.data); - build/assets/images/split/image418.o (.data); - build/assets/images/split/image419.o (.data); - build/assets/images/split/image420.o (.data); - build/assets/images/split/image421.o (.data); - build/assets/images/split/image422.o (.data); - build/assets/images/split/image423.o (.data); - build/assets/images/split/image424.o (.data); - build/assets/images/split/image425.o (.data); - build/assets/images/split/image426.o (.data); - build/assets/images/split/image427.o (.data); - build/assets/images/split/image428.o (.data); - build/assets/images/split/image429.o (.data); - build/assets/images/split/image430.o (.data); - build/assets/images/split/image431.o (.data); - build/assets/images/split/image432.o (.data); - build/assets/images/split/image433.o (.data); - build/assets/images/split/image434.o (.data); - build/assets/images/split/image435.o (.data); - build/assets/images/split/image436.o (.data); - build/assets/images/split/image437.o (.data); - build/assets/images/split/image438.o (.data); - build/assets/images/split/image439.o (.data); - build/assets/images/split/image440.o (.data); - build/assets/images/split/image441.o (.data); - build/assets/images/split/image442.o (.data); - build/assets/images/split/image443.o (.data); - build/assets/images/split/image444.o (.data); - build/assets/images/split/image445.o (.data); - build/assets/images/split/image446.o (.data); - build/assets/images/split/image447.o (.data); - build/assets/images/split/image448.o (.data); - build/assets/images/split/image449.o (.data); - build/assets/images/split/image450.o (.data); - build/assets/images/split/image451.o (.data); - build/assets/images/split/image452.o (.data); - build/assets/images/split/image453.o (.data); - build/assets/images/split/image454.o (.data); - build/assets/images/split/image455.o (.data); - build/assets/images/split/image456.o (.data); - build/assets/images/split/image457.o (.data); - build/assets/images/split/image458.o (.data); - build/assets/images/split/image459.o (.data); - build/assets/images/split/image460.o (.data); - build/assets/images/split/image461.o (.data); - build/assets/images/split/image462.o (.data); - build/assets/images/split/image463.o (.data); - build/assets/images/split/image464.o (.data); - build/assets/images/split/image465.o (.data); - build/assets/images/split/image466.o (.data); - build/assets/images/split/image467.o (.data); - build/assets/images/split/image468.o (.data); - build/assets/images/split/image469.o (.data); - build/assets/images/split/image470.o (.data); - build/assets/images/split/image471.o (.data); - build/assets/images/split/image472.o (.data); - build/assets/images/split/image473.o (.data); - build/assets/images/split/image474.o (.data); - build/assets/images/split/image475.o (.data); - build/assets/images/split/image476.o (.data); - build/assets/images/split/image477.o (.data); - build/assets/images/split/image478.o (.data); - build/assets/images/split/image479.o (.data); - build/assets/images/split/image480.o (.data); - build/assets/images/split/image481.o (.data); - build/assets/images/split/image482.o (.data); - build/assets/images/split/image483.o (.data); - build/assets/images/split/image484.o (.data); - build/assets/images/split/image485.o (.data); - build/assets/images/split/image486.o (.data); - build/assets/images/split/image487.o (.data); - build/assets/images/split/image488.o (.data); - build/assets/images/split/image489.o (.data); - build/assets/images/split/image490.o (.data); - build/assets/images/split/image491.o (.data); - build/assets/images/split/image492.o (.data); - build/assets/images/split/image493.o (.data); - build/assets/images/split/image494.o (.data); - build/assets/images/split/image495.o (.data); - build/assets/images/split/image496.o (.data); - build/assets/images/split/image497.o (.data); - build/assets/images/split/image498.o (.data); - build/assets/images/split/image499.o (.data); - build/assets/images/split/image500.o (.data); - build/assets/images/split/image501.o (.data); - build/assets/images/split/image502.o (.data); - build/assets/images/split/image503.o (.data); - build/assets/images/split/image504.o (.data); - build/assets/images/split/image505.o (.data); - build/assets/images/split/image506.o (.data); - build/assets/images/split/image507.o (.data); - build/assets/images/split/image508.o (.data); - build/assets/images/split/image509.o (.data); - build/assets/images/split/image510.o (.data); - build/assets/images/split/image511.o (.data); - build/assets/images/split/image512.o (.data); - build/assets/images/split/image513.o (.data); - build/assets/images/split/image514.o (.data); - build/assets/images/split/image515.o (.data); - build/assets/images/split/image516.o (.data); - build/assets/images/split/image517.o (.data); - build/assets/images/split/image518.o (.data); - build/assets/images/split/image519.o (.data); - build/assets/images/split/image520.o (.data); - build/assets/images/split/image521.o (.data); - build/assets/images/split/image522.o (.data); - build/assets/images/split/image523.o (.data); - build/assets/images/split/image524.o (.data); - build/assets/images/split/image525.o (.data); - build/assets/images/split/image526.o (.data); - build/assets/images/split/image527.o (.data); - build/assets/images/split/image528.o (.data); - build/assets/images/split/image529.o (.data); - build/assets/images/split/image530.o (.data); - build/assets/images/split/image531.o (.data); - build/assets/images/split/image532.o (.data); - build/assets/images/split/image533.o (.data); - build/assets/images/split/image534.o (.data); - build/assets/images/split/image535.o (.data); - build/assets/images/split/image536.o (.data); - build/assets/images/split/image537.o (.data); - build/assets/images/split/image538.o (.data); - build/assets/images/split/image539.o (.data); - build/assets/images/split/image540.o (.data); - build/assets/images/split/image541.o (.data); - build/assets/images/split/image542.o (.data); - build/assets/images/split/image543.o (.data); - build/assets/images/split/image544.o (.data); - build/assets/images/split/image545.o (.data); - build/assets/images/split/image546.o (.data); - build/assets/images/split/image547.o (.data); - build/assets/images/split/image548.o (.data); - build/assets/images/split/image549.o (.data); - build/assets/images/split/image550.o (.data); - build/assets/images/split/image551.o (.data); - build/assets/images/split/image552.o (.data); - build/assets/images/split/image553.o (.data); - build/assets/images/split/image554.o (.data); - build/assets/images/split/image555.o (.data); - build/assets/images/split/image556.o (.data); - build/assets/images/split/image557.o (.data); - build/assets/images/split/image558.o (.data); - build/assets/images/split/image559.o (.data); - build/assets/images/split/image560.o (.data); - build/assets/images/split/image561.o (.data); - build/assets/images/split/image562.o (.data); - build/assets/images/split/image563.o (.data); - build/assets/images/split/image564.o (.data); - build/assets/images/split/image565.o (.data); - build/assets/images/split/image566.o (.data); - build/assets/images/split/image567.o (.data); - build/assets/images/split/image568.o (.data); - build/assets/images/split/image569.o (.data); - build/assets/images/split/image570.o (.data); - build/assets/images/split/image571.o (.data); - build/assets/images/split/image572.o (.data); - build/assets/images/split/image573.o (.data); - build/assets/images/split/image574.o (.data); - build/assets/images/split/image575.o (.data); - build/assets/images/split/image576.o (.data); - build/assets/images/split/image577.o (.data); - build/assets/images/split/image578.o (.data); - build/assets/images/split/image579.o (.data); - build/assets/images/split/image580.o (.data); - build/assets/images/split/image581.o (.data); - build/assets/images/split/image582.o (.data); - build/assets/images/split/image583.o (.data); - build/assets/images/split/image584.o (.data); - build/assets/images/split/image585.o (.data); - build/assets/images/split/image586.o (.data); - build/assets/images/split/image587.o (.data); - build/assets/images/split/image588.o (.data); - build/assets/images/split/image589.o (.data); - build/assets/images/split/image590.o (.data); - build/assets/images/split/image591.o (.data); - build/assets/images/split/image592.o (.data); - build/assets/images/split/image593.o (.data); - build/assets/images/split/image594.o (.data); - build/assets/images/split/image595.o (.data); - build/assets/images/split/image596.o (.data); - build/assets/images/split/image597.o (.data); - build/assets/images/split/image598.o (.data); - build/assets/images/split/image599.o (.data); - build/assets/images/split/image600.o (.data); - build/assets/images/split/image601.o (.data); - build/assets/images/split/image602.o (.data); - build/assets/images/split/image603.o (.data); - build/assets/images/split/image604.o (.data); - build/assets/images/split/image605.o (.data); - build/assets/images/split/image606.o (.data); - build/assets/images/split/image607.o (.data); - build/assets/images/split/image608.o (.data); - build/assets/images/split/image609.o (.data); - build/assets/images/split/image610.o (.data); - build/assets/images/split/image611.o (.data); - build/assets/images/split/image612.o (.data); - build/assets/images/split/image613.o (.data); - build/assets/images/split/image614.o (.data); - build/assets/images/split/image615.o (.data); - build/assets/images/split/image616.o (.data); - build/assets/images/split/image617.o (.data); - build/assets/images/split/image618.o (.data); - build/assets/images/split/image619.o (.data); - build/assets/images/split/image620.o (.data); - build/assets/images/split/image621.o (.data); - build/assets/images/split/image622.o (.data); - build/assets/images/split/image623.o (.data); - build/assets/images/split/image624.o (.data); - build/assets/images/split/image625.o (.data); - build/assets/images/split/image626.o (.data); - build/assets/images/split/image627.o (.data); - build/assets/images/split/image628.o (.data); - build/assets/images/split/image629.o (.data); - build/assets/images/split/image630.o (.data); - build/assets/images/split/image631.o (.data); - build/assets/images/split/image632.o (.data); - build/assets/images/split/image633.o (.data); - build/assets/images/split/image634.o (.data); - build/assets/images/split/image635.o (.data); - build/assets/images/split/image636.o (.data); - build/assets/images/split/image637.o (.data); - build/assets/images/split/image638.o (.data); - build/assets/images/split/image639.o (.data); - build/assets/images/split/image640.o (.data); - build/assets/images/split/image641.o (.data); - build/assets/images/split/image642.o (.data); - build/assets/images/split/image643.o (.data); - build/assets/images/split/image644.o (.data); - build/assets/images/split/image645.o (.data); - build/assets/images/split/image646.o (.data); - build/assets/images/split/image647.o (.data); - build/assets/images/split/image648.o (.data); - build/assets/images/split/image649.o (.data); - build/assets/images/split/image650.o (.data); - build/assets/images/split/image651.o (.data); - build/assets/images/split/image652.o (.data); - build/assets/images/split/image653.o (.data); - build/assets/images/split/image654.o (.data); - build/assets/images/split/image655.o (.data); - build/assets/images/split/image656.o (.data); - build/assets/images/split/image657.o (.data); - build/assets/images/split/image658.o (.data); - build/assets/images/split/image659.o (.data); - build/assets/images/split/image660.o (.data); - build/assets/images/split/image661.o (.data); - build/assets/images/split/image662.o (.data); - build/assets/images/split/image663.o (.data); - build/assets/images/split/image664.o (.data); - build/assets/images/split/image665.o (.data); - build/assets/images/split/image666.o (.data); - build/assets/images/split/image667.o (.data); - build/assets/images/split/image668.o (.data); - build/assets/images/split/image669.o (.data); - build/assets/images/split/image670.o (.data); - build/assets/images/split/image671.o (.data); - build/assets/images/split/image672.o (.data); - build/assets/images/split/image673.o (.data); - build/assets/images/split/image674.o (.data); - build/assets/images/split/image675.o (.data); - build/assets/images/split/image676.o (.data); - build/assets/images/split/image677.o (.data); - build/assets/images/split/image678.o (.data); - build/assets/images/split/image679.o (.data); - build/assets/images/split/image680.o (.data); - build/assets/images/split/image681.o (.data); - build/assets/images/split/image682.o (.data); - build/assets/images/split/image683.o (.data); - build/assets/images/split/image684.o (.data); - build/assets/images/split/image685.o (.data); - build/assets/images/split/image686.o (.data); - build/assets/images/split/image687.o (.data); - build/assets/images/split/image688.o (.data); - build/assets/images/split/image689.o (.data); - build/assets/images/split/image690.o (.data); - build/assets/images/split/image691.o (.data); - build/assets/images/split/image692.o (.data); - build/assets/images/split/image693.o (.data); - build/assets/images/split/image694.o (.data); - build/assets/images/split/image695.o (.data); - build/assets/images/split/image696.o (.data); - build/assets/images/split/image697.o (.data); - build/assets/images/split/image698.o (.data); - build/assets/images/split/image699.o (.data); - build/assets/images/split/image700.o (.data); - build/assets/images/split/image701.o (.data); - build/assets/images/split/image702.o (.data); - build/assets/images/split/image703.o (.data); - build/assets/images/split/image704.o (.data); - build/assets/images/split/image705.o (.data); - build/assets/images/split/image706.o (.data); - build/assets/images/split/image707.o (.data); - build/assets/images/split/image708.o (.data); - build/assets/images/split/image709.o (.data); - build/assets/images/split/image710.o (.data); - build/assets/images/split/image711.o (.data); - build/assets/images/split/image712.o (.data); - build/assets/images/split/image713.o (.data); - build/assets/images/split/image714.o (.data); - build/assets/images/split/image715.o (.data); - build/assets/images/split/image716.o (.data); - build/assets/images/split/image717.o (.data); - build/assets/images/split/image718.o (.data); - build/assets/images/split/image719.o (.data); - build/assets/images/split/image720.o (.data); - build/assets/images/split/image721.o (.data); - build/assets/images/split/image722.o (.data); - build/assets/images/split/image723.o (.data); - build/assets/images/split/image724.o (.data); - build/assets/images/split/image725.o (.data); - build/assets/images/split/image726.o (.data); - build/assets/images/split/image727.o (.data); - build/assets/images/split/image728.o (.data); - build/assets/images/split/image729.o (.data); - build/assets/images/split/image730.o (.data); - build/assets/images/split/image731.o (.data); - build/assets/images/split/image732.o (.data); - build/assets/images/split/image733.o (.data); - build/assets/images/split/image734.o (.data); - build/assets/images/split/image735.o (.data); - build/assets/images/split/image736.o (.data); - build/assets/images/split/image737.o (.data); - build/assets/images/split/image738.o (.data); - build/assets/images/split/image739.o (.data); - build/assets/images/split/image740.o (.data); - build/assets/images/split/image741.o (.data); - build/assets/images/split/image742.o (.data); - build/assets/images/split/image743.o (.data); - build/assets/images/split/image744.o (.data); - build/assets/images/split/image745.o (.data); - build/assets/images/split/image746.o (.data); - build/assets/images/split/image747.o (.data); - build/assets/images/split/image748.o (.data); - build/assets/images/split/image749.o (.data); - build/assets/images/split/image750.o (.data); - build/assets/images/split/image751.o (.data); - build/assets/images/split/image752.o (.data); - build/assets/images/split/image753.o (.data); - build/assets/images/split/image754.o (.data); - build/assets/images/split/image755.o (.data); - build/assets/images/split/image756.o (.data); - build/assets/images/split/image757.o (.data); - build/assets/images/split/image758.o (.data); - build/assets/images/split/image759.o (.data); - build/assets/images/split/image760.o (.data); - build/assets/images/split/image761.o (.data); - build/assets/images/split/image762.o (.data); - build/assets/images/split/image763.o (.data); - build/assets/images/split/image764.o (.data); - build/assets/images/split/image765.o (.data); - build/assets/images/split/image766.o (.data); - build/assets/images/split/image767.o (.data); - build/assets/images/split/image768.o (.data); - build/assets/images/split/image769.o (.data); - build/assets/images/split/image770.o (.data); - build/assets/images/split/image771.o (.data); - build/assets/images/split/image772.o (.data); - build/assets/images/split/image773.o (.data); - build/assets/images/split/image774.o (.data); - build/assets/images/split/image775.o (.data); - build/assets/images/split/image776.o (.data); - build/assets/images/split/image777.o (.data); - build/assets/images/split/image778.o (.data); - build/assets/images/split/image779.o (.data); - build/assets/images/split/image780.o (.data); - build/assets/images/split/image781.o (.data); - build/assets/images/split/image782.o (.data); - build/assets/images/split/image783.o (.data); - build/assets/images/split/image784.o (.data); - build/assets/images/split/image785.o (.data); - build/assets/images/split/image786.o (.data); - build/assets/images/split/image787.o (.data); - build/assets/images/split/image788.o (.data); - build/assets/images/split/image789.o (.data); - build/assets/images/split/image790.o (.data); - build/assets/images/split/image791.o (.data); - build/assets/images/split/image792.o (.data); - build/assets/images/split/image793.o (.data); - build/assets/images/split/image794.o (.data); - build/assets/images/split/image795.o (.data); - build/assets/images/split/image796.o (.data); - build/assets/images/split/image797.o (.data); - build/assets/images/split/image798.o (.data); - build/assets/images/split/image799.o (.data); - build/assets/images/split/image800.o (.data); - build/assets/images/split/image801.o (.data); - build/assets/images/split/image802.o (.data); - build/assets/images/split/image803.o (.data); - build/assets/images/split/image804.o (.data); - build/assets/images/split/image805.o (.data); - build/assets/images/split/image806.o (.data); - build/assets/images/split/image807.o (.data); - build/assets/images/split/image808.o (.data); - build/assets/images/split/image809.o (.data); - build/assets/images/split/image810.o (.data); - build/assets/images/split/image811.o (.data); - build/assets/images/split/image812.o (.data); - build/assets/images/split/image813.o (.data); - build/assets/images/split/image814.o (.data); - build/assets/images/split/image815.o (.data); - build/assets/images/split/image816.o (.data); - build/assets/images/split/image817.o (.data); - build/assets/images/split/image818.o (.data); - build/assets/images/split/image819.o (.data); - build/assets/images/split/image820.o (.data); - build/assets/images/split/image821.o (.data); - build/assets/images/split/image822.o (.data); - build/assets/images/split/image823.o (.data); - build/assets/images/split/image824.o (.data); - build/assets/images/split/image825.o (.data); - build/assets/images/split/image826.o (.data); - build/assets/images/split/image827.o (.data); - build/assets/images/split/image828.o (.data); - build/assets/images/split/image829.o (.data); - build/assets/images/split/image830.o (.data); - build/assets/images/split/image831.o (.data); - build/assets/images/split/image832.o (.data); - build/assets/images/split/image833.o (.data); - build/assets/images/split/image834.o (.data); - build/assets/images/split/image835.o (.data); - build/assets/images/split/image836.o (.data); - build/assets/images/split/image837.o (.data); - build/assets/images/split/image838.o (.data); - build/assets/images/split/image839.o (.data); - build/assets/images/split/image840.o (.data); - build/assets/images/split/image841.o (.data); - build/assets/images/split/image842.o (.data); - build/assets/images/split/image843.o (.data); - build/assets/images/split/image844.o (.data); - build/assets/images/split/image845.o (.data); - build/assets/images/split/image846.o (.data); - build/assets/images/split/image847.o (.data); - build/assets/images/split/image848.o (.data); - build/assets/images/split/image849.o (.data); - build/assets/images/split/image850.o (.data); - build/assets/images/split/image851.o (.data); - build/assets/images/split/image852.o (.data); - build/assets/images/split/image853.o (.data); - build/assets/images/split/image854.o (.data); - build/assets/images/split/image855.o (.data); - build/assets/images/split/image856.o (.data); - build/assets/images/split/image857.o (.data); - build/assets/images/split/image858.o (.data); - build/assets/images/split/image859.o (.data); - build/assets/images/split/image860.o (.data); - build/assets/images/split/image861.o (.data); - build/assets/images/split/image862.o (.data); - build/assets/images/split/image863.o (.data); - build/assets/images/split/image864.o (.data); - build/assets/images/split/image865.o (.data); - build/assets/images/split/image866.o (.data); - build/assets/images/split/image867.o (.data); - build/assets/images/split/image868.o (.data); - build/assets/images/split/image869.o (.data); - build/assets/images/split/image870.o (.data); - build/assets/images/split/image871.o (.data); - build/assets/images/split/image872.o (.data); - build/assets/images/split/image873.o (.data); - build/assets/images/split/image874.o (.data); - build/assets/images/split/image875.o (.data); - build/assets/images/split/image876.o (.data); - build/assets/images/split/image877.o (.data); - build/assets/images/split/image878.o (.data); - build/assets/images/split/image879.o (.data); - build/assets/images/split/image880.o (.data); - build/assets/images/split/image881.o (.data); - build/assets/images/split/image882.o (.data); - build/assets/images/split/image883.o (.data); - build/assets/images/split/image884.o (.data); - build/assets/images/split/image885.o (.data); - build/assets/images/split/image886.o (.data); - build/assets/images/split/image887.o (.data); - build/assets/images/split/image888.o (.data); - build/assets/images/split/image889.o (.data); - build/assets/images/split/image890.o (.data); - build/assets/images/split/image891.o (.data); - build/assets/images/split/image892.o (.data); - build/assets/images/split/image893.o (.data); - build/assets/images/split/image894.o (.data); - build/assets/images/split/image895.o (.data); - build/assets/images/split/image896.o (.data); - build/assets/images/split/image897.o (.data); - build/assets/images/split/image898.o (.data); - build/assets/images/split/image899.o (.data); - build/assets/images/split/image900.o (.data); - build/assets/images/split/image901.o (.data); - build/assets/images/split/image902.o (.data); - build/assets/images/split/image903.o (.data); - build/assets/images/split/image904.o (.data); - build/assets/images/split/image905.o (.data); - build/assets/images/split/image906.o (.data); - build/assets/images/split/image907.o (.data); - build/assets/images/split/image908.o (.data); - build/assets/images/split/image909.o (.data); - build/assets/images/split/image910.o (.data); - build/assets/images/split/image911.o (.data); - build/assets/images/split/image912.o (.data); - build/assets/images/split/image913.o (.data); - build/assets/images/split/image914.o (.data); - build/assets/images/split/image915.o (.data); - build/assets/images/split/image916.o (.data); - build/assets/images/split/image917.o (.data); - build/assets/images/split/image918.o (.data); - build/assets/images/split/image919.o (.data); - build/assets/images/split/image920.o (.data); - build/assets/images/split/image921.o (.data); - build/assets/images/split/image922.o (.data); - build/assets/images/split/image923.o (.data); - build/assets/images/split/image924.o (.data); - build/assets/images/split/image925.o (.data); - build/assets/images/split/image926.o (.data); - build/assets/images/split/image927.o (.data); - build/assets/images/split/image928.o (.data); - build/assets/images/split/image929.o (.data); - build/assets/images/split/image930.o (.data); - build/assets/images/split/image931.o (.data); - build/assets/images/split/image932.o (.data); - build/assets/images/split/image933.o (.data); - build/assets/images/split/image934.o (.data); - build/assets/images/split/image935.o (.data); - build/assets/images/split/image936.o (.data); - build/assets/images/split/image937.o (.data); - build/assets/images/split/image938.o (.data); - build/assets/images/split/image939.o (.data); - build/assets/images/split/image940.o (.data); - build/assets/images/split/image941.o (.data); - build/assets/images/split/image942.o (.data); - build/assets/images/split/image943.o (.data); - build/assets/images/split/image944.o (.data); - build/assets/images/split/image945.o (.data); - build/assets/images/split/image946.o (.data); - build/assets/images/split/image947.o (.data); - build/assets/images/split/image948.o (.data); - build/assets/images/split/image949.o (.data); - build/assets/images/split/image950.o (.data); - build/assets/images/split/image951.o (.data); - build/assets/images/split/image952.o (.data); - build/assets/images/split/image953.o (.data); - build/assets/images/split/image954.o (.data); - build/assets/images/split/image955.o (.data); - build/assets/images/split/image956.o (.data); - build/assets/images/split/image957.o (.data); - build/assets/images/split/image958.o (.data); - build/assets/images/split/image959.o (.data); - build/assets/images/split/image960.o (.data); - build/assets/images/split/image961.o (.data); - build/assets/images/split/image962.o (.data); - build/assets/images/split/image963.o (.data); - build/assets/images/split/image964.o (.data); - build/assets/images/split/image965.o (.data); - build/assets/images/split/image966.o (.data); - build/assets/images/split/image967.o (.data); - build/assets/images/split/image968.o (.data); - build/assets/images/split/image969.o (.data); - build/assets/images/split/image970.o (.data); - build/assets/images/split/image971.o (.data); - build/assets/images/split/image972.o (.data); - build/assets/images/split/image973.o (.data); - build/assets/images/split/image974.o (.data); - build/assets/images/split/image975.o (.data); - build/assets/images/split/image976.o (.data); - build/assets/images/split/image977.o (.data); - build/assets/images/split/image978.o (.data); - build/assets/images/split/image979.o (.data); - build/assets/images/split/image980.o (.data); - build/assets/images/split/image981.o (.data); - build/assets/images/split/image982.o (.data); - build/assets/images/split/image983.o (.data); - build/assets/images/split/image984.o (.data); - build/assets/images/split/image985.o (.data); - build/assets/images/split/image986.o (.data); - build/assets/images/split/image987.o (.data); - build/assets/images/split/image988.o (.data); - build/assets/images/split/image989.o (.data); - build/assets/images/split/image990.o (.data); - build/assets/images/split/image991.o (.data); - build/assets/images/split/image992.o (.data); - build/assets/images/split/image993.o (.data); - build/assets/images/split/image994.o (.data); - build/assets/images/split/image995.o (.data); - build/assets/images/split/image996.o (.data); - build/assets/images/split/image997.o (.data); - build/assets/images/split/image998.o (.data); - build/assets/images/split/image999.o (.data); - build/assets/images/split/image1000.o (.data); - build/assets/images/split/image1001.o (.data); - build/assets/images/split/image1002.o (.data); - build/assets/images/split/image1003.o (.data); - build/assets/images/split/image1004.o (.data); - build/assets/images/split/image1005.o (.data); - build/assets/images/split/image1006.o (.data); - build/assets/images/split/image1007.o (.data); - build/assets/images/split/image1008.o (.data); - build/assets/images/split/image1009.o (.data); - build/assets/images/split/image1010.o (.data); - build/assets/images/split/image1011.o (.data); - build/assets/images/split/image1012.o (.data); - build/assets/images/split/image1013.o (.data); - build/assets/images/split/image1014.o (.data); - build/assets/images/split/image1015.o (.data); - build/assets/images/split/image1016.o (.data); - build/assets/images/split/image1017.o (.data); - build/assets/images/split/image1018.o (.data); - build/assets/images/split/image1019.o (.data); - build/assets/images/split/image1020.o (.data); - build/assets/images/split/image1021.o (.data); - build/assets/images/split/image1022.o (.data); - build/assets/images/split/image1023.o (.data); - build/assets/images/split/image1024.o (.data); - build/assets/images/split/image1025.o (.data); - build/assets/images/split/image1026.o (.data); - build/assets/images/split/image1027.o (.data); - build/assets/images/split/image1028.o (.data); - build/assets/images/split/image1029.o (.data); - build/assets/images/split/image1030.o (.data); - build/assets/images/split/image1031.o (.data); - build/assets/images/split/image1032.o (.data); - build/assets/images/split/image1033.o (.data); - build/assets/images/split/image1034.o (.data); - build/assets/images/split/image1035.o (.data); - build/assets/images/split/image1036.o (.data); - build/assets/images/split/image1037.o (.data); - build/assets/images/split/image1038.o (.data); - build/assets/images/split/image1039.o (.data); - build/assets/images/split/image1040.o (.data); - build/assets/images/split/image1041.o (.data); - build/assets/images/split/image1042.o (.data); - build/assets/images/split/image1043.o (.data); - build/assets/images/split/image1044.o (.data); - build/assets/images/split/image1045.o (.data); - build/assets/images/split/image1046.o (.data); - build/assets/images/split/image1047.o (.data); - build/assets/images/split/image1048.o (.data); - build/assets/images/split/image1049.o (.data); - build/assets/images/split/image1050.o (.data); - build/assets/images/split/image1051.o (.data); - build/assets/images/split/image1052.o (.data); - build/assets/images/split/image1053.o (.data); - build/assets/images/split/image1054.o (.data); - build/assets/images/split/image1055.o (.data); - build/assets/images/split/image1056.o (.data); - build/assets/images/split/image1057.o (.data); - build/assets/images/split/image1058.o (.data); - build/assets/images/split/image1059.o (.data); - build/assets/images/split/image1060.o (.data); - build/assets/images/split/image1061.o (.data); - build/assets/images/split/image1062.o (.data); - build/assets/images/split/image1063.o (.data); - build/assets/images/split/image1064.o (.data); - build/assets/images/split/image1065.o (.data); - build/assets/images/split/image1066.o (.data); - build/assets/images/split/image1067.o (.data); - build/assets/images/split/image1068.o (.data); - build/assets/images/split/image1069.o (.data); - build/assets/images/split/image1070.o (.data); - build/assets/images/split/image1071.o (.data); - build/assets/images/split/image1072.o (.data); - build/assets/images/split/image1073.o (.data); - build/assets/images/split/image1074.o (.data); - build/assets/images/split/image1075.o (.data); - build/assets/images/split/image1076.o (.data); - build/assets/images/split/image1077.o (.data); - build/assets/images/split/image1078.o (.data); - build/assets/images/split/image1079.o (.data); - build/assets/images/split/image1080.o (.data); - build/assets/images/split/image1081.o (.data); - build/assets/images/split/image1082.o (.data); - build/assets/images/split/image1083.o (.data); - build/assets/images/split/image1084.o (.data); - build/assets/images/split/image1085.o (.data); - build/assets/images/split/image1086.o (.data); - build/assets/images/split/image1087.o (.data); - build/assets/images/split/image1088.o (.data); - build/assets/images/split/image1089.o (.data); - build/assets/images/split/image1090.o (.data); - build/assets/images/split/image1091.o (.data); - build/assets/images/split/image1092.o (.data); - build/assets/images/split/image1093.o (.data); - build/assets/images/split/image1094.o (.data); - build/assets/images/split/image1095.o (.data); - build/assets/images/split/image1096.o (.data); - build/assets/images/split/image1097.o (.data); - build/assets/images/split/image1098.o (.data); - build/assets/images/split/image1099.o (.data); - build/assets/images/split/image1100.o (.data); - build/assets/images/split/image1101.o (.data); - build/assets/images/split/image1102.o (.data); - build/assets/images/split/image1103.o (.data); - build/assets/images/split/image1104.o (.data); - build/assets/images/split/image1105.o (.data); - build/assets/images/split/image1106.o (.data); - build/assets/images/split/image1107.o (.data); - build/assets/images/split/image1108.o (.data); - build/assets/images/split/image1109.o (.data); - build/assets/images/split/image1110.o (.data); - build/assets/images/split/image1111.o (.data); - build/assets/images/split/image1112.o (.data); - build/assets/images/split/image1113.o (.data); - build/assets/images/split/image1114.o (.data); - build/assets/images/split/image1115.o (.data); - build/assets/images/split/image1116.o (.data); - build/assets/images/split/image1117.o (.data); - build/assets/images/split/image1118.o (.data); - build/assets/images/split/image1119.o (.data); - build/assets/images/split/image1120.o (.data); - build/assets/images/split/image1121.o (.data); - build/assets/images/split/image1122.o (.data); - build/assets/images/split/image1123.o (.data); - build/assets/images/split/image1124.o (.data); - build/assets/images/split/image1125.o (.data); - build/assets/images/split/image1126.o (.data); - build/assets/images/split/image1127.o (.data); - build/assets/images/split/image1128.o (.data); - build/assets/images/split/image1129.o (.data); - build/assets/images/split/image1130.o (.data); - build/assets/images/split/image1131.o (.data); - build/assets/images/split/image1132.o (.data); - build/assets/images/split/image1133.o (.data); - build/assets/images/split/image1134.o (.data); - build/assets/images/split/image1135.o (.data); - build/assets/images/split/image1136.o (.data); - build/assets/images/split/image1137.o (.data); - build/assets/images/split/image1138.o (.data); - build/assets/images/split/image1139.o (.data); - build/assets/images/split/image1140.o (.data); - build/assets/images/split/image1141.o (.data); - build/assets/images/split/image1142.o (.data); - build/assets/images/split/image1143.o (.data); - build/assets/images/split/image1144.o (.data); - build/assets/images/split/image1145.o (.data); - build/assets/images/split/image1146.o (.data); - build/assets/images/split/image1147.o (.data); - build/assets/images/split/image1148.o (.data); - build/assets/images/split/image1149.o (.data); - build/assets/images/split/image1150.o (.data); - build/assets/images/split/image1151.o (.data); - build/assets/images/split/image1152.o (.data); - build/assets/images/split/image1153.o (.data); - build/assets/images/split/image1154.o (.data); - build/assets/images/split/image1155.o (.data); - build/assets/images/split/image1156.o (.data); - build/assets/images/split/image1157.o (.data); - build/assets/images/split/image1158.o (.data); - build/assets/images/split/image1159.o (.data); - build/assets/images/split/image1160.o (.data); - build/assets/images/split/image1161.o (.data); - build/assets/images/split/image1162.o (.data); - build/assets/images/split/image1163.o (.data); - build/assets/images/split/image1164.o (.data); - build/assets/images/split/image1165.o (.data); - build/assets/images/split/image1166.o (.data); - build/assets/images/split/image1167.o (.data); - build/assets/images/split/image1168.o (.data); - build/assets/images/split/image1169.o (.data); - build/assets/images/split/image1170.o (.data); - build/assets/images/split/image1171.o (.data); - build/assets/images/split/image1172.o (.data); - build/assets/images/split/image1173.o (.data); - build/assets/images/split/image1174.o (.data); - build/assets/images/split/image1175.o (.data); - build/assets/images/split/image1176.o (.data); - build/assets/images/split/image1177.o (.data); - build/assets/images/split/image1178.o (.data); - build/assets/images/split/image1179.o (.data); - build/assets/images/split/image1180.o (.data); - build/assets/images/split/image1181.o (.data); - build/assets/images/split/image1182.o (.data); - build/assets/images/split/image1183.o (.data); - build/assets/images/split/image1184.o (.data); - build/assets/images/split/image1185.o (.data); - build/assets/images/split/image1186.o (.data); - build/assets/images/split/image1187.o (.data); - build/assets/images/split/image1188.o (.data); - build/assets/images/split/image1189.o (.data); - build/assets/images/split/image1190.o (.data); - build/assets/images/split/image1191.o (.data); - build/assets/images/split/image1192.o (.data); - build/assets/images/split/image1193.o (.data); - build/assets/images/split/image1194.o (.data); - build/assets/images/split/image1195.o (.data); - build/assets/images/split/image1196.o (.data); - build/assets/images/split/image1197.o (.data); - build/assets/images/split/image1198.o (.data); - build/assets/images/split/image1199.o (.data); - build/assets/images/split/image1200.o (.data); - build/assets/images/split/image1201.o (.data); - build/assets/images/split/image1202.o (.data); - build/assets/images/split/image1203.o (.data); - build/assets/images/split/image1204.o (.data); - build/assets/images/split/image1205.o (.data); - build/assets/images/split/image1206.o (.data); - build/assets/images/split/image1207.o (.data); - build/assets/images/split/image1208.o (.data); - build/assets/images/split/image1209.o (.data); - build/assets/images/split/image1210.o (.data); - build/assets/images/split/image1211.o (.data); - build/assets/images/split/image1212.o (.data); - build/assets/images/split/image1213.o (.data); - build/assets/images/split/image1214.o (.data); - build/assets/images/split/image1215.o (.data); - build/assets/images/split/image1216.o (.data); - build/assets/images/split/image1217.o (.data); - build/assets/images/split/image1218.o (.data); - build/assets/images/split/image1219.o (.data); - build/assets/images/split/image1220.o (.data); - build/assets/images/split/image1221.o (.data); - build/assets/images/split/image1222.o (.data); - build/assets/images/split/image1223.o (.data); - build/assets/images/split/image1224.o (.data); - build/assets/images/split/image1225.o (.data); - build/assets/images/split/image1226.o (.data); - build/assets/images/split/image1227.o (.data); - build/assets/images/split/image1228.o (.data); - build/assets/images/split/image1229.o (.data); - build/assets/images/split/image1230.o (.data); - build/assets/images/split/image1231.o (.data); - build/assets/images/split/image1232.o (.data); - build/assets/images/split/image1233.o (.data); - build/assets/images/split/image1234.o (.data); - build/assets/images/split/image1235.o (.data); - build/assets/images/split/image1236.o (.data); - build/assets/images/split/image1237.o (.data); - build/assets/images/split/image1238.o (.data); - build/assets/images/split/image1239.o (.data); - build/assets/images/split/image1240.o (.data); - build/assets/images/split/image1241.o (.data); - build/assets/images/split/image1242.o (.data); - build/assets/images/split/image1243.o (.data); - build/assets/images/split/image1244.o (.data); - build/assets/images/split/image1245.o (.data); - build/assets/images/split/image1246.o (.data); - build/assets/images/split/image1247.o (.data); - build/assets/images/split/image1248.o (.data); - build/assets/images/split/image1249.o (.data); - build/assets/images/split/image1250.o (.data); - build/assets/images/split/image1251.o (.data); - build/assets/images/split/image1252.o (.data); - build/assets/images/split/image1253.o (.data); - build/assets/images/split/image1254.o (.data); - build/assets/images/split/image1255.o (.data); - build/assets/images/split/image1256.o (.data); - build/assets/images/split/image1257.o (.data); - build/assets/images/split/image1258.o (.data); - build/assets/images/split/image1259.o (.data); - build/assets/images/split/image1260.o (.data); - build/assets/images/split/image1261.o (.data); - build/assets/images/split/image1262.o (.data); - build/assets/images/split/image1263.o (.data); - build/assets/images/split/image1264.o (.data); - build/assets/images/split/image1265.o (.data); - build/assets/images/split/image1266.o (.data); - build/assets/images/split/image1267.o (.data); - build/assets/images/split/image1268.o (.data); - build/assets/images/split/image1269.o (.data); - build/assets/images/split/image1270.o (.data); - build/assets/images/split/image1271.o (.data); - build/assets/images/split/image1272.o (.data); - build/assets/images/split/image1273.o (.data); - build/assets/images/split/image1274.o (.data); - build/assets/images/split/image1275.o (.data); - build/assets/images/split/image1276.o (.data); - build/assets/images/split/image1277.o (.data); - build/assets/images/split/image1278.o (.data); - build/assets/images/split/image1279.o (.data); - build/assets/images/split/image1280.o (.data); - build/assets/images/split/image1281.o (.data); - build/assets/images/split/image1282.o (.data); - build/assets/images/split/image1283.o (.data); - build/assets/images/split/image1284.o (.data); - build/assets/images/split/image1285.o (.data); - build/assets/images/split/image1286.o (.data); - build/assets/images/split/image1287.o (.data); - build/assets/images/split/image1288.o (.data); - build/assets/images/split/image1289.o (.data); - build/assets/images/split/image1290.o (.data); - build/assets/images/split/image1291.o (.data); - build/assets/images/split/image1292.o (.data); - build/assets/images/split/image1293.o (.data); - build/assets/images/split/image1294.o (.data); - build/assets/images/split/image1295.o (.data); - build/assets/images/split/image1296.o (.data); - build/assets/images/split/image1297.o (.data); - build/assets/images/split/image1298.o (.data); - build/assets/images/split/image1299.o (.data); - build/assets/images/split/image1300.o (.data); - build/assets/images/split/image1301.o (.data); - build/assets/images/split/image1302.o (.data); - build/assets/images/split/image1303.o (.data); - build/assets/images/split/image1304.o (.data); - build/assets/images/split/image1305.o (.data); - build/assets/images/split/image1306.o (.data); - build/assets/images/split/image1307.o (.data); - build/assets/images/split/image1308.o (.data); - build/assets/images/split/image1309.o (.data); - build/assets/images/split/image1310.o (.data); - build/assets/images/split/image1311.o (.data); - build/assets/images/split/image1312.o (.data); - build/assets/images/split/image1313.o (.data); - build/assets/images/split/image1314.o (.data); - build/assets/images/split/image1315.o (.data); - build/assets/images/split/image1316.o (.data); - build/assets/images/split/image1317.o (.data); - build/assets/images/split/image1318.o (.data); - build/assets/images/split/image1319.o (.data); - build/assets/images/split/image1320.o (.data); - build/assets/images/split/image1321.o (.data); - build/assets/images/split/image1322.o (.data); - build/assets/images/split/image1323.o (.data); - build/assets/images/split/image1324.o (.data); - build/assets/images/split/image1325.o (.data); - build/assets/images/split/image1326.o (.data); - build/assets/images/split/image1327.o (.data); - build/assets/images/split/image1328.o (.data); - build/assets/images/split/image1329.o (.data); - build/assets/images/split/image1330.o (.data); - build/assets/images/split/image1331.o (.data); - build/assets/images/split/image1332.o (.data); - build/assets/images/split/image1333.o (.data); - build/assets/images/split/image1334.o (.data); - build/assets/images/split/image1335.o (.data); - build/assets/images/split/image1336.o (.data); - build/assets/images/split/image1337.o (.data); - build/assets/images/split/image1338.o (.data); - build/assets/images/split/image1339.o (.data); - build/assets/images/split/image1340.o (.data); - build/assets/images/split/image1341.o (.data); - build/assets/images/split/image1342.o (.data); - build/assets/images/split/image1343.o (.data); - build/assets/images/split/image1344.o (.data); - build/assets/images/split/image1345.o (.data); - build/assets/images/split/image1346.o (.data); - build/assets/images/split/image1347.o (.data); - build/assets/images/split/image1348.o (.data); - build/assets/images/split/image1349.o (.data); - build/assets/images/split/image1350.o (.data); - build/assets/images/split/image1351.o (.data); - build/assets/images/split/image1352.o (.data); - build/assets/images/split/image1353.o (.data); - build/assets/images/split/image1354.o (.data); - build/assets/images/split/image1355.o (.data); - build/assets/images/split/image1356.o (.data); - build/assets/images/split/image1357.o (.data); - build/assets/images/split/image1358.o (.data); - build/assets/images/split/image1359.o (.data); - build/assets/images/split/image1360.o (.data); - build/assets/images/split/image1361.o (.data); - build/assets/images/split/image1362.o (.data); - build/assets/images/split/image1363.o (.data); - build/assets/images/split/image1364.o (.data); - build/assets/images/split/image1365.o (.data); - build/assets/images/split/image1366.o (.data); - build/assets/images/split/image1367.o (.data); - build/assets/images/split/image1368.o (.data); - build/assets/images/split/image1369.o (.data); - build/assets/images/split/image1370.o (.data); - build/assets/images/split/image1371.o (.data); - build/assets/images/split/image1372.o (.data); - build/assets/images/split/image1373.o (.data); - build/assets/images/split/image1374.o (.data); - build/assets/images/split/image1375.o (.data); - build/assets/images/split/image1376.o (.data); - build/assets/images/split/image1377.o (.data); - build/assets/images/split/image1378.o (.data); - build/assets/images/split/image1379.o (.data); - build/assets/images/split/image1380.o (.data); - build/assets/images/split/image1381.o (.data); - build/assets/images/split/image1382.o (.data); - build/assets/images/split/image1383.o (.data); - build/assets/images/split/image1384.o (.data); - build/assets/images/split/image1385.o (.data); - build/assets/images/split/image1386.o (.data); - build/assets/images/split/image1387.o (.data); - build/assets/images/split/image1388.o (.data); - build/assets/images/split/image1389.o (.data); - build/assets/images/split/image1390.o (.data); - build/assets/images/split/image1391.o (.data); - build/assets/images/split/image1392.o (.data); - build/assets/images/split/image1393.o (.data); - build/assets/images/split/image1394.o (.data); - build/assets/images/split/image1395.o (.data); - build/assets/images/split/image1396.o (.data); - build/assets/images/split/image1397.o (.data); - build/assets/images/split/image1398.o (.data); - build/assets/images/split/image1399.o (.data); - build/assets/images/split/image1400.o (.data); - build/assets/images/split/image1401.o (.data); - build/assets/images/split/image1402.o (.data); - build/assets/images/split/image1403.o (.data); - build/assets/images/split/image1404.o (.data); - build/assets/images/split/image1405.o (.data); - build/assets/images/split/image1406.o (.data); - build/assets/images/split/image1407.o (.data); - build/assets/images/split/image1408.o (.data); - build/assets/images/split/image1409.o (.data); - build/assets/images/split/image1410.o (.data); - build/assets/images/split/image1411.o (.data); - build/assets/images/split/image1412.o (.data); - build/assets/images/split/image1413.o (.data); - build/assets/images/split/image1414.o (.data); - build/assets/images/split/image1415.o (.data); - build/assets/images/split/image1416.o (.data); - build/assets/images/split/image1417.o (.data); - build/assets/images/split/image1418.o (.data); - build/assets/images/split/image1419.o (.data); - build/assets/images/split/image1420.o (.data); - build/assets/images/split/image1421.o (.data); - build/assets/images/split/image1422.o (.data); - build/assets/images/split/image1423.o (.data); - build/assets/images/split/image1424.o (.data); - build/assets/images/split/image1425.o (.data); - build/assets/images/split/image1426.o (.data); - build/assets/images/split/image1427.o (.data); - build/assets/images/split/image1428.o (.data); - build/assets/images/split/image1429.o (.data); - build/assets/images/split/image1430.o (.data); - build/assets/images/split/image1431.o (.data); - build/assets/images/split/image1432.o (.data); - build/assets/images/split/image1433.o (.data); - build/assets/images/split/image1434.o (.data); - build/assets/images/split/image1435.o (.data); - build/assets/images/split/image1436.o (.data); - build/assets/images/split/image1437.o (.data); - build/assets/images/split/image1438.o (.data); - build/assets/images/split/image1439.o (.data); - build/assets/images/split/image1440.o (.data); - build/assets/images/split/image1441.o (.data); - build/assets/images/split/image1442.o (.data); - build/assets/images/split/image1443.o (.data); - build/assets/images/split/image1444.o (.data); - build/assets/images/split/image1445.o (.data); - build/assets/images/split/image1446.o (.data); - build/assets/images/split/image1447.o (.data); - build/assets/images/split/image1448.o (.data); - build/assets/images/split/image1449.o (.data); - build/assets/images/split/image1450.o (.data); - build/assets/images/split/image1451.o (.data); - build/assets/images/split/image1452.o (.data); - build/assets/images/split/image1453.o (.data); - build/assets/images/split/image1454.o (.data); - build/assets/images/split/image1455.o (.data); - build/assets/images/split/image1456.o (.data); - build/assets/images/split/image1457.o (.data); - build/assets/images/split/image1458.o (.data); - build/assets/images/split/image1459.o (.data); - build/assets/images/split/image1460.o (.data); - build/assets/images/split/image1461.o (.data); - build/assets/images/split/image1462.o (.data); - build/assets/images/split/image1463.o (.data); - build/assets/images/split/image1464.o (.data); - build/assets/images/split/image1465.o (.data); - build/assets/images/split/image1466.o (.data); - build/assets/images/split/image1467.o (.data); - build/assets/images/split/image1468.o (.data); - build/assets/images/split/image1469.o (.data); - build/assets/images/split/image1470.o (.data); - build/assets/images/split/image1471.o (.data); - build/assets/images/split/image1472.o (.data); - build/assets/images/split/image1473.o (.data); - build/assets/images/split/image1474.o (.data); - build/assets/images/split/image1475.o (.data); - build/assets/images/split/image1476.o (.data); - build/assets/images/split/image1477.o (.data); - build/assets/images/split/image1478.o (.data); - build/assets/images/split/image1479.o (.data); - build/assets/images/split/image1480.o (.data); - build/assets/images/split/image1481.o (.data); - build/assets/images/split/image1482.o (.data); - build/assets/images/split/image1483.o (.data); - build/assets/images/split/image1484.o (.data); - build/assets/images/split/image1485.o (.data); - build/assets/images/split/image1486.o (.data); - build/assets/images/split/image1487.o (.data); - build/assets/images/split/image1488.o (.data); - build/assets/images/split/image1489.o (.data); - build/assets/images/split/image1490.o (.data); - build/assets/images/split/image1491.o (.data); - build/assets/images/split/image1492.o (.data); - build/assets/images/split/image1493.o (.data); - build/assets/images/split/image1494.o (.data); - build/assets/images/split/image1495.o (.data); - build/assets/images/split/image1496.o (.data); - build/assets/images/split/image1497.o (.data); - build/assets/images/split/image1498.o (.data); - build/assets/images/split/image1499.o (.data); - build/assets/images/split/image1500.o (.data); - build/assets/images/split/image1501.o (.data); - build/assets/images/split/image1502.o (.data); - build/assets/images/split/image1503.o (.data); - build/assets/images/split/image1504.o (.data); - build/assets/images/split/image1505.o (.data); - build/assets/images/split/image1506.o (.data); - build/assets/images/split/image1507.o (.data); - build/assets/images/split/image1508.o (.data); - build/assets/images/split/image1509.o (.data); - build/assets/images/split/image1510.o (.data); - build/assets/images/split/image1511.o (.data); - build/assets/images/split/image1512.o (.data); - build/assets/images/split/image1513.o (.data); - build/assets/images/split/image1514.o (.data); - build/assets/images/split/image1515.o (.data); - build/assets/images/split/image1516.o (.data); - build/assets/images/split/image1517.o (.data); - build/assets/images/split/image1518.o (.data); - build/assets/images/split/image1519.o (.data); - build/assets/images/split/image1520.o (.data); - build/assets/images/split/image1521.o (.data); - build/assets/images/split/image1522.o (.data); - build/assets/images/split/image1523.o (.data); - build/assets/images/split/image1524.o (.data); - build/assets/images/split/image1525.o (.data); - build/assets/images/split/image1526.o (.data); - build/assets/images/split/image1527.o (.data); - build/assets/images/split/image1528.o (.data); - build/assets/images/split/image1529.o (.data); - build/assets/images/split/image1530.o (.data); - build/assets/images/split/image1531.o (.data); - build/assets/images/split/image1532.o (.data); - build/assets/images/split/image1533.o (.data); - build/assets/images/split/image1534.o (.data); - build/assets/images/split/image1535.o (.data); - build/assets/images/split/image1536.o (.data); - build/assets/images/split/image1537.o (.data); - build/assets/images/split/image1538.o (.data); - build/assets/images/split/image1539.o (.data); - build/assets/images/split/image1540.o (.data); - build/assets/images/split/image1541.o (.data); - build/assets/images/split/image1542.o (.data); - build/assets/images/split/image1543.o (.data); - build/assets/images/split/image1544.o (.data); - build/assets/images/split/image1545.o (.data); - build/assets/images/split/image1546.o (.data); - build/assets/images/split/image1547.o (.data); - build/assets/images/split/image1548.o (.data); - build/assets/images/split/image1549.o (.data); - build/assets/images/split/image1550.o (.data); - build/assets/images/split/image1551.o (.data); - build/assets/images/split/image1552.o (.data); - build/assets/images/split/image1553.o (.data); - build/assets/images/split/image1554.o (.data); - build/assets/images/split/image1555.o (.data); - build/assets/images/split/image1556.o (.data); - build/assets/images/split/image1557.o (.data); - build/assets/images/split/image1558.o (.data); - build/assets/images/split/image1559.o (.data); - build/assets/images/split/image1560.o (.data); - build/assets/images/split/image1561.o (.data); - build/assets/images/split/image1562.o (.data); - build/assets/images/split/image1563.o (.data); - build/assets/images/split/image1564.o (.data); - build/assets/images/split/image1565.o (.data); - build/assets/images/split/image1566.o (.data); - build/assets/images/split/image1567.o (.data); - build/assets/images/split/image1568.o (.data); - build/assets/images/split/image1569.o (.data); - build/assets/images/split/image1570.o (.data); - build/assets/images/split/image1571.o (.data); - build/assets/images/split/image1572.o (.data); - build/assets/images/split/image1573.o (.data); - build/assets/images/split/image1574.o (.data); - build/assets/images/split/image1575.o (.data); - build/assets/images/split/image1576.o (.data); - build/assets/images/split/image1577.o (.data); - build/assets/images/split/image1578.o (.data); - build/assets/images/split/image1579.o (.data); - build/assets/images/split/image1580.o (.data); - build/assets/images/split/image1581.o (.data); - build/assets/images/split/image1582.o (.data); - build/assets/images/split/image1583.o (.data); - build/assets/images/split/image1584.o (.data); - build/assets/images/split/image1585.o (.data); - build/assets/images/split/image1586.o (.data); - build/assets/images/split/image1587.o (.data); - build/assets/images/split/image1588.o (.data); - build/assets/images/split/image1589.o (.data); - build/assets/images/split/image1590.o (.data); - build/assets/images/split/image1591.o (.data); - build/assets/images/split/image1592.o (.data); - build/assets/images/split/image1593.o (.data); - build/assets/images/split/image1594.o (.data); - build/assets/images/split/image1595.o (.data); - build/assets/images/split/image1596.o (.data); - build/assets/images/split/image1597.o (.data); - build/assets/images/split/image1598.o (.data); - build/assets/images/split/image1599.o (.data); - build/assets/images/split/image1600.o (.data); - build/assets/images/split/image1601.o (.data); - build/assets/images/split/image1602.o (.data); - build/assets/images/split/image1603.o (.data); - build/assets/images/split/image1604.o (.data); - build/assets/images/split/image1605.o (.data); - build/assets/images/split/image1606.o (.data); - build/assets/images/split/image1607.o (.data); - build/assets/images/split/image1608.o (.data); - build/assets/images/split/image1609.o (.data); - build/assets/images/split/image1610.o (.data); - build/assets/images/split/image1611.o (.data); - build/assets/images/split/image1612.o (.data); - build/assets/images/split/image1613.o (.data); - build/assets/images/split/image1614.o (.data); - build/assets/images/split/image1615.o (.data); - build/assets/images/split/image1616.o (.data); - build/assets/images/split/image1617.o (.data); - build/assets/images/split/image1618.o (.data); - build/assets/images/split/image1619.o (.data); - build/assets/images/split/image1620.o (.data); - build/assets/images/split/image1621.o (.data); - build/assets/images/split/image1622.o (.data); - build/assets/images/split/image1623.o (.data); - build/assets/images/split/image1624.o (.data); - build/assets/images/split/image1625.o (.data); - build/assets/images/split/image1626.o (.data); - build/assets/images/split/image1627.o (.data); - build/assets/images/split/image1628.o (.data); - build/assets/images/split/image1629.o (.data); - build/assets/images/split/image1630.o (.data); - build/assets/images/split/image1631.o (.data); - build/assets/images/split/image1632.o (.data); - build/assets/images/split/image1633.o (.data); - build/assets/images/split/image1634.o (.data); - build/assets/images/split/image1635.o (.data); - build/assets/images/split/image1636.o (.data); - build/assets/images/split/image1637.o (.data); - build/assets/images/split/image1638.o (.data); - build/assets/images/split/image1639.o (.data); - build/assets/images/split/image1640.o (.data); - build/assets/images/split/image1641.o (.data); - build/assets/images/split/image1642.o (.data); - build/assets/images/split/image1643.o (.data); - build/assets/images/split/image1644.o (.data); - build/assets/images/split/image1645.o (.data); - build/assets/images/split/image1646.o (.data); - build/assets/images/split/image1647.o (.data); - build/assets/images/split/image1648.o (.data); - build/assets/images/split/image1649.o (.data); - build/assets/images/split/image1650.o (.data); - build/assets/images/split/image1651.o (.data); - build/assets/images/split/image1652.o (.data); - build/assets/images/split/image1653.o (.data); - build/assets/images/split/image1654.o (.data); - build/assets/images/split/image1655.o (.data); - build/assets/images/split/image1656.o (.data); - build/assets/images/split/image1657.o (.data); - build/assets/images/split/image1658.o (.data); - build/assets/images/split/image1659.o (.data); - build/assets/images/split/image1660.o (.data); - build/assets/images/split/image1661.o (.data); - build/assets/images/split/image1662.o (.data); - build/assets/images/split/image1663.o (.data); - build/assets/images/split/image1664.o (.data); - build/assets/images/split/image1665.o (.data); - build/assets/images/split/image1666.o (.data); - build/assets/images/split/image1667.o (.data); - build/assets/images/split/image1668.o (.data); - build/assets/images/split/image1669.o (.data); - build/assets/images/split/image1670.o (.data); - build/assets/images/split/image1671.o (.data); - build/assets/images/split/image1672.o (.data); - build/assets/images/split/image1673.o (.data); - build/assets/images/split/image1674.o (.data); - build/assets/images/split/image1675.o (.data); - build/assets/images/split/image1676.o (.data); - build/assets/images/split/image1677.o (.data); - build/assets/images/split/image1678.o (.data); - build/assets/images/split/image1679.o (.data); - build/assets/images/split/image1680.o (.data); - build/assets/images/split/image1681.o (.data); - build/assets/images/split/image1682.o (.data); - build/assets/images/split/image1683.o (.data); - build/assets/images/split/image1684.o (.data); - build/assets/images/split/image1685.o (.data); - build/assets/images/split/image1686.o (.data); - build/assets/images/split/image1687.o (.data); - build/assets/images/split/image1688.o (.data); - build/assets/images/split/image1689.o (.data); - build/assets/images/split/image1690.o (.data); - build/assets/images/split/image1691.o (.data); - build/assets/images/split/image1692.o (.data); - build/assets/images/split/image1693.o (.data); - build/assets/images/split/image1694.o (.data); - build/assets/images/split/image1695.o (.data); - build/assets/images/split/image1696.o (.data); - build/assets/images/split/image1697.o (.data); - build/assets/images/split/image1698.o (.data); - build/assets/images/split/image1699.o (.data); - build/assets/images/split/image1700.o (.data); - build/assets/images/split/image1701.o (.data); - build/assets/images/split/image1702.o (.data); - build/assets/images/split/image1703.o (.data); - build/assets/images/split/image1704.o (.data); - build/assets/images/split/image1705.o (.data); - build/assets/images/split/image1706.o (.data); - build/assets/images/split/image1707.o (.data); - build/assets/images/split/image1708.o (.data); - build/assets/images/split/image1709.o (.data); - build/assets/images/split/image1710.o (.data); - build/assets/images/split/image1711.o (.data); - build/assets/images/split/image1712.o (.data); - build/assets/images/split/image1713.o (.data); - build/assets/images/split/image1714.o (.data); - build/assets/images/split/image1715.o (.data); - build/assets/images/split/image1716.o (.data); - build/assets/images/split/image1717.o (.data); - build/assets/images/split/image1718.o (.data); - build/assets/images/split/image1719.o (.data); - build/assets/images/split/image1720.o (.data); - build/assets/images/split/image1721.o (.data); - build/assets/images/split/image1722.o (.data); - build/assets/images/split/image1723.o (.data); - build/assets/images/split/image1724.o (.data); - build/assets/images/split/image1725.o (.data); - build/assets/images/split/image1726.o (.data); - build/assets/images/split/image1727.o (.data); - build/assets/images/split/image1728.o (.data); - build/assets/images/split/image1729.o (.data); - build/assets/images/split/image1730.o (.data); - build/assets/images/split/image1731.o (.data); - build/assets/images/split/image1732.o (.data); - build/assets/images/split/image1733.o (.data); - build/assets/images/split/image1734.o (.data); - build/assets/images/split/image1735.o (.data); - build/assets/images/split/image1736.o (.data); - build/assets/images/split/image1737.o (.data); - build/assets/images/split/image1738.o (.data); - build/assets/images/split/image1739.o (.data); - build/assets/images/split/image1740.o (.data); - build/assets/images/split/image1741.o (.data); - build/assets/images/split/image1742.o (.data); - build/assets/images/split/image1743.o (.data); - build/assets/images/split/image1744.o (.data); - build/assets/images/split/image1745.o (.data); - build/assets/images/split/image1746.o (.data); - build/assets/images/split/image1747.o (.data); - build/assets/images/split/image1748.o (.data); - build/assets/images/split/image1749.o (.data); - build/assets/images/split/image1750.o (.data); - build/assets/images/split/image1751.o (.data); - build/assets/images/split/image1752.o (.data); - build/assets/images/split/image1753.o (.data); - build/assets/images/split/image1754.o (.data); - build/assets/images/split/image1755.o (.data); - build/assets/images/split/image1756.o (.data); - build/assets/images/split/image1757.o (.data); - build/assets/images/split/image1758.o (.data); - build/assets/images/split/image1759.o (.data); - build/assets/images/split/image1760.o (.data); - build/assets/images/split/image1761.o (.data); - build/assets/images/split/image1762.o (.data); - build/assets/images/split/image1763.o (.data); - build/assets/images/split/image1764.o (.data); - build/assets/images/split/image1765.o (.data); - build/assets/images/split/image1766.o (.data); - build/assets/images/split/image1767.o (.data); - build/assets/images/split/image1768.o (.data); - build/assets/images/split/image1769.o (.data); - build/assets/images/split/image1770.o (.data); - build/assets/images/split/image1771.o (.data); - build/assets/images/split/image1772.o (.data); - build/assets/images/split/image1773.o (.data); - build/assets/images/split/image1774.o (.data); - build/assets/images/split/image1775.o (.data); - build/assets/images/split/image1776.o (.data); - build/assets/images/split/image1777.o (.data); - build/assets/images/split/image1778.o (.data); - build/assets/images/split/image1779.o (.data); - build/assets/images/split/image1780.o (.data); - build/assets/images/split/image1781.o (.data); - build/assets/images/split/image1782.o (.data); - build/assets/images/split/image1783.o (.data); - build/assets/images/split/image1784.o (.data); - build/assets/images/split/image1785.o (.data); - build/assets/images/split/image1786.o (.data); - build/assets/images/split/image1787.o (.data); - build/assets/images/split/image1788.o (.data); - build/assets/images/split/image1789.o (.data); - build/assets/images/split/image1790.o (.data); - build/assets/images/split/image1791.o (.data); - build/assets/images/split/image1792.o (.data); - build/assets/images/split/image1793.o (.data); - build/assets/images/split/image1794.o (.data); - build/assets/images/split/image1795.o (.data); - build/assets/images/split/image1796.o (.data); - build/assets/images/split/image1797.o (.data); - build/assets/images/split/image1798.o (.data); - build/assets/images/split/image1799.o (.data); - build/assets/images/split/image1800.o (.data); - build/assets/images/split/image1801.o (.data); - build/assets/images/split/image1802.o (.data); - build/assets/images/split/image1803.o (.data); - build/assets/images/split/image1804.o (.data); - build/assets/images/split/image1805.o (.data); - build/assets/images/split/image1806.o (.data); - build/assets/images/split/image1807.o (.data); - build/assets/images/split/image1808.o (.data); - build/assets/images/split/image1809.o (.data); - build/assets/images/split/image1810.o (.data); - build/assets/images/split/image1811.o (.data); - build/assets/images/split/image1812.o (.data); - build/assets/images/split/image1813.o (.data); - build/assets/images/split/image1814.o (.data); - build/assets/images/split/image1815.o (.data); - build/assets/images/split/image1816.o (.data); - build/assets/images/split/image1817.o (.data); - build/assets/images/split/image1818.o (.data); - build/assets/images/split/image1819.o (.data); - build/assets/images/split/image1820.o (.data); - build/assets/images/split/image1821.o (.data); - build/assets/images/split/image1822.o (.data); - build/assets/images/split/image1823.o (.data); - build/assets/images/split/image1824.o (.data); - build/assets/images/split/image1825.o (.data); - build/assets/images/split/image1826.o (.data); - build/assets/images/split/image1827.o (.data); - build/assets/images/split/image1828.o (.data); - build/assets/images/split/image1829.o (.data); - build/assets/images/split/image1830.o (.data); - build/assets/images/split/image1831.o (.data); - build/assets/images/split/image1832.o (.data); - build/assets/images/split/image1833.o (.data); - build/assets/images/split/image1834.o (.data); - build/assets/images/split/image1835.o (.data); - build/assets/images/split/image1836.o (.data); - build/assets/images/split/image1837.o (.data); - build/assets/images/split/image1838.o (.data); - build/assets/images/split/image1839.o (.data); - build/assets/images/split/image1840.o (.data); - build/assets/images/split/image1841.o (.data); - build/assets/images/split/image1842.o (.data); - build/assets/images/split/image1843.o (.data); - build/assets/images/split/image1844.o (.data); - build/assets/images/split/image1845.o (.data); - build/assets/images/split/image1846.o (.data); - build/assets/images/split/image1847.o (.data); - build/assets/images/split/image1848.o (.data); - build/assets/images/split/image1849.o (.data); - build/assets/images/split/image1850.o (.data); - build/assets/images/split/image1851.o (.data); - build/assets/images/split/image1852.o (.data); - build/assets/images/split/image1853.o (.data); - build/assets/images/split/image1854.o (.data); - build/assets/images/split/image1855.o (.data); - build/assets/images/split/image1856.o (.data); - build/assets/images/split/image1857.o (.data); - build/assets/images/split/image1858.o (.data); - build/assets/images/split/image1859.o (.data); - build/assets/images/split/image1860.o (.data); - build/assets/images/split/image1861.o (.data); - build/assets/images/split/image1862.o (.data); - build/assets/images/split/image1863.o (.data); - build/assets/images/split/image1864.o (.data); - build/assets/images/split/image1865.o (.data); - build/assets/images/split/image1866.o (.data); - build/assets/images/split/image1867.o (.data); - build/assets/images/split/image1868.o (.data); - build/assets/images/split/image1869.o (.data); - build/assets/images/split/image1870.o (.data); - build/assets/images/split/image1871.o (.data); - build/assets/images/split/image1872.o (.data); - build/assets/images/split/image1873.o (.data); - build/assets/images/split/image1874.o (.data); - build/assets/images/split/image1875.o (.data); - build/assets/images/split/image1876.o (.data); - build/assets/images/split/image1877.o (.data); - build/assets/images/split/image1878.o (.data); - build/assets/images/split/image1879.o (.data); - build/assets/images/split/image1880.o (.data); - build/assets/images/split/image1881.o (.data); - build/assets/images/split/image1882.o (.data); - build/assets/images/split/image1883.o (.data); - build/assets/images/split/image1884.o (.data); - build/assets/images/split/image1885.o (.data); - build/assets/images/split/image1886.o (.data); - build/assets/images/split/image1887.o (.data); - build/assets/images/split/image1888.o (.data); - build/assets/images/split/image1889.o (.data); - build/assets/images/split/image1890.o (.data); - build/assets/images/split/image1891.o (.data); - build/assets/images/split/image1892.o (.data); - build/assets/images/split/image1893.o (.data); - build/assets/images/split/image1894.o (.data); - build/assets/images/split/image1895.o (.data); - build/assets/images/split/image1896.o (.data); - build/assets/images/split/image1897.o (.data); - build/assets/images/split/image1898.o (.data); - build/assets/images/split/image1899.o (.data); - build/assets/images/split/image1900.o (.data); - build/assets/images/split/image1901.o (.data); - build/assets/images/split/image1902.o (.data); - build/assets/images/split/image1903.o (.data); - build/assets/images/split/image1904.o (.data); - build/assets/images/split/image1905.o (.data); - build/assets/images/split/image1906.o (.data); - build/assets/images/split/image1907.o (.data); - build/assets/images/split/image1908.o (.data); - build/assets/images/split/image1909.o (.data); - build/assets/images/split/image1910.o (.data); - build/assets/images/split/image1911.o (.data); - build/assets/images/split/image1912.o (.data); - build/assets/images/split/image1913.o (.data); - build/assets/images/split/image1914.o (.data); - build/assets/images/split/image1915.o (.data); - build/assets/images/split/image1916.o (.data); - build/assets/images/split/image1917.o (.data); - build/assets/images/split/image1918.o (.data); - build/assets/images/split/image1919.o (.data); - build/assets/images/split/image1920.o (.data); - build/assets/images/split/image1921.o (.data); - build/assets/images/split/image1922.o (.data); - build/assets/images/split/image1923.o (.data); - build/assets/images/split/image1924.o (.data); - build/assets/images/split/image1925.o (.data); - build/assets/images/split/image1926.o (.data); - build/assets/images/split/image1927.o (.data); - build/assets/images/split/image1928.o (.data); - build/assets/images/split/image1929.o (.data); - build/assets/images/split/image1930.o (.data); - build/assets/images/split/image1931.o (.data); - build/assets/images/split/image1932.o (.data); - build/assets/images/split/image1933.o (.data); - build/assets/images/split/image1934.o (.data); - build/assets/images/split/image1935.o (.data); - build/assets/images/split/image1936.o (.data); - build/assets/images/split/image1937.o (.data); - build/assets/images/split/image1938.o (.data); - build/assets/images/split/image1939.o (.data); - build/assets/images/split/image1940.o (.data); - build/assets/images/split/image1941.o (.data); - build/assets/images/split/image1942.o (.data); - build/assets/images/split/image1943.o (.data); - build/assets/images/split/image1944.o (.data); - build/assets/images/split/image1945.o (.data); - build/assets/images/split/image1946.o (.data); - build/assets/images/split/image1947.o (.data); - build/assets/images/split/image1948.o (.data); - build/assets/images/split/image1949.o (.data); - build/assets/images/split/image1950.o (.data); - build/assets/images/split/image1951.o (.data); - build/assets/images/split/image1952.o (.data); - build/assets/images/split/image1953.o (.data); - build/assets/images/split/image1954.o (.data); - build/assets/images/split/image1955.o (.data); - build/assets/images/split/image1956.o (.data); - build/assets/images/split/image1957.o (.data); - build/assets/images/split/image1958.o (.data); - build/assets/images/split/image1959.o (.data); - build/assets/images/split/image1960.o (.data); - build/assets/images/split/image1961.o (.data); - build/assets/images/split/image1962.o (.data); - build/assets/images/split/image1963.o (.data); - build/assets/images/split/image1964.o (.data); - build/assets/images/split/image1965.o (.data); - build/assets/images/split/image1966.o (.data); - build/assets/images/split/image1967.o (.data); - build/assets/images/split/image1968.o (.data); - build/assets/images/split/image1969.o (.data); - build/assets/images/split/image1970.o (.data); - build/assets/images/split/image1971.o (.data); - build/assets/images/split/image1972.o (.data); - build/assets/images/split/image1973.o (.data); - build/assets/images/split/image1974.o (.data); - build/assets/images/split/image1975.o (.data); - build/assets/images/split/image1976.o (.data); - build/assets/images/split/image1977.o (.data); - build/assets/images/split/image1978.o (.data); - build/assets/images/split/image1979.o (.data); - build/assets/images/split/image1980.o (.data); - build/assets/images/split/image1981.o (.data); - build/assets/images/split/image1982.o (.data); - build/assets/images/split/image1983.o (.data); - build/assets/images/split/image1984.o (.data); - build/assets/images/split/image1985.o (.data); - build/assets/images/split/image1986.o (.data); - build/assets/images/split/image1987.o (.data); - build/assets/images/split/image1988.o (.data); - build/assets/images/split/image1989.o (.data); - build/assets/images/split/image1990.o (.data); - build/assets/images/split/image1991.o (.data); - build/assets/images/split/image1992.o (.data); - build/assets/images/split/image1993.o (.data); - build/assets/images/split/image1994.o (.data); - build/assets/images/split/image1995.o (.data); - build/assets/images/split/image1996.o (.data); - build/assets/images/split/image1997.o (.data); - build/assets/images/split/image1998.o (.data); - build/assets/images/split/image1999.o (.data); - build/assets/images/split/image2000.o (.data); - build/assets/images/split/image2001.o (.data); - build/assets/images/split/image2002.o (.data); - build/assets/images/split/image2003.o (.data); - build/assets/images/split/image2004.o (.data); - build/assets/images/split/image2005.o (.data); - build/assets/images/split/image2006.o (.data); - build/assets/images/split/image2007.o (.data); - build/assets/images/split/image2008.o (.data); - build/assets/images/split/image2009.o (.data); - build/assets/images/split/image2010.o (.data); - build/assets/images/split/image2011.o (.data); - build/assets/images/split/image2012.o (.data); - build/assets/images/split/image2013.o (.data); - build/assets/images/split/image2014.o (.data); - build/assets/images/split/image2015.o (.data); - build/assets/images/split/image2016.o (.data); - build/assets/images/split/image2017.o (.data); - build/assets/images/split/image2018.o (.data); - build/assets/images/split/image2019.o (.data); - build/assets/images/split/image2020.o (.data); - build/assets/images/split/image2021.o (.data); - build/assets/images/split/image2022.o (.data); - build/assets/images/split/image2023.o (.data); - build/assets/images/split/image2024.o (.data); - build/assets/images/split/image2025.o (.data); - build/assets/images/split/image2026.o (.data); - build/assets/images/split/image2027.o (.data); - build/assets/images/split/image2028.o (.data); - build/assets/images/split/image2029.o (.data); - build/assets/images/split/image2030.o (.data); - build/assets/images/split/image2031.o (.data); - build/assets/images/split/image2032.o (.data); - build/assets/images/split/image2033.o (.data); - build/assets/images/split/image2034.o (.data); - build/assets/images/split/image2035.o (.data); - build/assets/images/split/image2036.o (.data); - build/assets/images/split/image2037.o (.data); - build/assets/images/split/image2038.o (.data); - build/assets/images/split/image2039.o (.data); - build/assets/images/split/image2040.o (.data); - build/assets/images/split/image2041.o (.data); - build/assets/images/split/image2042.o (.data); - build/assets/images/split/image2043.o (.data); - build/assets/images/split/image2044.o (.data); - build/assets/images/split/image2045.o (.data); - build/assets/images/split/image2046.o (.data); - build/assets/images/split/image2047.o (.data); - build/assets/images/split/image2048.o (.data); - build/assets/images/split/image2049.o (.data); - build/assets/images/split/image2050.o (.data); - build/assets/images/split/image2051.o (.data); - build/assets/images/split/image2052.o (.data); - build/assets/images/split/image2053.o (.data); - build/assets/images/split/image2054.o (.data); - build/assets/images/split/image2055.o (.data); - build/assets/images/split/image2056.o (.data); - build/assets/images/split/image2057.o (.data); - build/assets/images/split/image2058.o (.data); - build/assets/images/split/image2059.o (.data); - build/assets/images/split/image2060.o (.data); - build/assets/images/split/image2061.o (.data); - build/assets/images/split/image2062.o (.data); - build/assets/images/split/image2063.o (.data); - build/assets/images/split/image2064.o (.data); - build/assets/images/split/image2065.o (.data); - build/assets/images/split/image2066.o (.data); - build/assets/images/split/image2067.o (.data); - build/assets/images/split/image2068.o (.data); - build/assets/images/split/image2069.o (.data); - build/assets/images/split/image2070.o (.data); - build/assets/images/split/image2071.o (.data); - build/assets/images/split/image2072.o (.data); - build/assets/images/split/image2073.o (.data); - build/assets/images/split/image2074.o (.data); - build/assets/images/split/image2075.o (.data); - build/assets/images/split/image2076.o (.data); - build/assets/images/split/image2077.o (.data); - build/assets/images/split/image2078.o (.data); - build/assets/images/split/image2079.o (.data); - build/assets/images/split/image2080.o (.data); - build/assets/images/split/image2081.o (.data); - build/assets/images/split/image2082.o (.data); - build/assets/images/split/image2083.o (.data); - build/assets/images/split/image2084.o (.data); - build/assets/images/split/image2085.o (.data); - build/assets/images/split/image2086.o (.data); - build/assets/images/split/image2087.o (.data); - build/assets/images/split/image2088.o (.data); - build/assets/images/split/image2089.o (.data); - build/assets/images/split/image2090.o (.data); - build/assets/images/split/image2091.o (.data); - build/assets/images/split/image2092.o (.data); - build/assets/images/split/image2093.o (.data); - build/assets/images/split/image2094.o (.data); - build/assets/images/split/image2095.o (.data); - build/assets/images/split/image2096.o (.data); - build/assets/images/split/image2097.o (.data); - build/assets/images/split/image2098.o (.data); - build/assets/images/split/image2099.o (.data); - build/assets/images/split/image2100.o (.data); - build/assets/images/split/image2101.o (.data); - build/assets/images/split/image2102.o (.data); - build/assets/images/split/image2103.o (.data); - build/assets/images/split/image2104.o (.data); - build/assets/images/split/image2105.o (.data); - build/assets/images/split/image2106.o (.data); - build/assets/images/split/image2107.o (.data); - build/assets/images/split/image2108.o (.data); - build/assets/images/split/image2109.o (.data); - build/assets/images/split/image2110.o (.data); - build/assets/images/split/image2111.o (.data); - build/assets/images/split/image2112.o (.data); - build/assets/images/split/image2113.o (.data); - build/assets/images/split/image2114.o (.data); - build/assets/images/split/image2115.o (.data); - build/assets/images/split/image2116.o (.data); - build/assets/images/split/image2117.o (.data); - build/assets/images/split/image2118.o (.data); - build/assets/images/split/image2119.o (.data); - build/assets/images/split/image2120.o (.data); - build/assets/images/split/image2121.o (.data); - build/assets/images/split/image2122.o (.data); - build/assets/images/split/image2123.o (.data); - build/assets/images/split/image2124.o (.data); - build/assets/images/split/image2125.o (.data); - build/assets/images/split/image2126.o (.data); - build/assets/images/split/image2127.o (.data); - build/assets/images/split/image2128.o (.data); - build/assets/images/split/image2129.o (.data); - build/assets/images/split/image2130.o (.data); - build/assets/images/split/image2131.o (.data); - build/assets/images/split/image2132.o (.data); - build/assets/images/split/image2133.o (.data); - build/assets/images/split/image2134.o (.data); - build/assets/images/split/image2135.o (.data); - build/assets/images/split/image2136.o (.data); - build/assets/images/split/image2137.o (.data); - build/assets/images/split/image2138.o (.data); - build/assets/images/split/image2139.o (.data); - build/assets/images/split/image2140.o (.data); - build/assets/images/split/image2141.o (.data); - build/assets/images/split/image2142.o (.data); - build/assets/images/split/image2143.o (.data); - build/assets/images/split/image2144.o (.data); - build/assets/images/split/image2145.o (.data); - build/assets/images/split/image2146.o (.data); - build/assets/images/split/image2147.o (.data); - build/assets/images/split/image2148.o (.data); - build/assets/images/split/image2149.o (.data); - build/assets/images/split/image2150.o (.data); - build/assets/images/split/image2151.o (.data); - build/assets/images/split/image2152.o (.data); - build/assets/images/split/image2153.o (.data); - build/assets/images/split/image2154.o (.data); - build/assets/images/split/image2155.o (.data); - build/assets/images/split/image2156.o (.data); - build/assets/images/split/image2157.o (.data); - build/assets/images/split/image2158.o (.data); - build/assets/images/split/image2159.o (.data); - build/assets/images/split/image2160.o (.data); - build/assets/images/split/image2161.o (.data); - build/assets/images/split/image2162.o (.data); - build/assets/images/split/image2163.o (.data); - build/assets/images/split/image2164.o (.data); - build/assets/images/split/image2165.o (.data); - build/assets/images/split/image2166.o (.data); - build/assets/images/split/image2167.o (.data); - build/assets/images/split/image2168.o (.data); - build/assets/images/split/image2169.o (.data); - build/assets/images/split/image2170.o (.data); - build/assets/images/split/image2171.o (.data); - build/assets/images/split/image2172.o (.data); - build/assets/images/split/image2173.o (.data); - build/assets/images/split/image2174.o (.data); - build/assets/images/split/image2175.o (.data); - build/assets/images/split/image2176.o (.data); - build/assets/images/split/image2177.o (.data); - build/assets/images/split/image2178.o (.data); - build/assets/images/split/image2179.o (.data); - build/assets/images/split/image2180.o (.data); - build/assets/images/split/image2181.o (.data); - build/assets/images/split/image2182.o (.data); - build/assets/images/split/image2183.o (.data); - build/assets/images/split/image2184.o (.data); - build/assets/images/split/image2185.o (.data); - build/assets/images/split/image2186.o (.data); - build/assets/images/split/image2187.o (.data); - build/assets/images/split/image2188.o (.data); - build/assets/images/split/image2189.o (.data); - build/assets/images/split/image2190.o (.data); - build/assets/images/split/image2191.o (.data); - build/assets/images/split/image2192.o (.data); - build/assets/images/split/image2193.o (.data); - build/assets/images/split/image2194.o (.data); - build/assets/images/split/image2195.o (.data); - build/assets/images/split/image2196.o (.data); - build/assets/images/split/image2197.o (.data); - build/assets/images/split/image2198.o (.data); - build/assets/images/split/image2199.o (.data); - build/assets/images/split/image2200.o (.data); - build/assets/images/split/image2201.o (.data); - build/assets/images/split/image2202.o (.data); - build/assets/images/split/image2203.o (.data); - build/assets/images/split/image2204.o (.data); - build/assets/images/split/image2205.o (.data); - build/assets/images/split/image2206.o (.data); - build/assets/images/split/image2207.o (.data); - build/assets/images/split/image2208.o (.data); - build/assets/images/split/image2209.o (.data); - build/assets/images/split/image2210.o (.data); - build/assets/images/split/image2211.o (.data); - build/assets/images/split/image2212.o (.data); - build/assets/images/split/image2213.o (.data); - build/assets/images/split/image2214.o (.data); - build/assets/images/split/image2215.o (.data); - build/assets/images/split/image2216.o (.data); - build/assets/images/split/image2217.o (.data); - build/assets/images/split/image2218.o (.data); - build/assets/images/split/image2219.o (.data); - build/assets/images/split/image2220.o (.data); - build/assets/images/split/image2221.o (.data); - build/assets/images/split/image2222.o (.data); - build/assets/images/split/image2223.o (.data); - build/assets/images/split/image2224.o (.data); - build/assets/images/split/image2225.o (.data); - build/assets/images/split/image2226.o (.data); - build/assets/images/split/image2227.o (.data); - build/assets/images/split/image2228.o (.data); - build/assets/images/split/image2229.o (.data); - build/assets/images/split/image2230.o (.data); - build/assets/images/split/image2231.o (.data); - build/assets/images/split/image2232.o (.data); - build/assets/images/split/image2233.o (.data); - build/assets/images/split/image2234.o (.data); - build/assets/images/split/image2235.o (.data); - build/assets/images/split/image2236.o (.data); - build/assets/images/split/image2237.o (.data); - build/assets/images/split/image2238.o (.data); - build/assets/images/split/image2239.o (.data); - build/assets/images/split/image2240.o (.data); - build/assets/images/split/image2241.o (.data); - build/assets/images/split/image2242.o (.data); - build/assets/images/split/image2243.o (.data); - build/assets/images/split/image2244.o (.data); - build/assets/images/split/image2245.o (.data); - build/assets/images/split/image2246.o (.data); - build/assets/images/split/image2247.o (.data); - build/assets/images/split/image2248.o (.data); - build/assets/images/split/image2249.o (.data); - build/assets/images/split/image2250.o (.data); - build/assets/images/split/image2251.o (.data); - build/assets/images/split/image2252.o (.data); - build/assets/images/split/image2253.o (.data); - build/assets/images/split/image2254.o (.data); - build/assets/images/split/image2255.o (.data); - build/assets/images/split/image2256.o (.data); - build/assets/images/split/image2257.o (.data); - build/assets/images/split/image2258.o (.data); - build/assets/images/split/image2259.o (.data); - build/assets/images/split/image2260.o (.data); - build/assets/images/split/image2261.o (.data); - build/assets/images/split/image2262.o (.data); - build/assets/images/split/image2263.o (.data); - build/assets/images/split/image2264.o (.data); - build/assets/images/split/image2265.o (.data); - build/assets/images/split/image2266.o (.data); - build/assets/images/split/image2267.o (.data); - build/assets/images/split/image2268.o (.data); - build/assets/images/split/image2269.o (.data); - build/assets/images/split/image2270.o (.data); - build/assets/images/split/image2271.o (.data); - build/assets/images/split/image2272.o (.data); - build/assets/images/split/image2273.o (.data); - build/assets/images/split/image2274.o (.data); - build/assets/images/split/image2275.o (.data); - build/assets/images/split/image2276.o (.data); - build/assets/images/split/image2277.o (.data); - build/assets/images/split/image2278.o (.data); - build/assets/images/split/image2279.o (.data); - build/assets/images/split/image2280.o (.data); - build/assets/images/split/image2281.o (.data); - build/assets/images/split/image2282.o (.data); - build/assets/images/split/image2283.o (.data); - build/assets/images/split/image2284.o (.data); - build/assets/images/split/image2285.o (.data); - build/assets/images/split/image2286.o (.data); - build/assets/images/split/image2287.o (.data); - build/assets/images/split/image2288.o (.data); - build/assets/images/split/image2289.o (.data); - build/assets/images/split/image2290.o (.data); - build/assets/images/split/image2291.o (.data); - build/assets/images/split/image2292.o (.data); - build/assets/images/split/image2293.o (.data); - build/assets/images/split/image2294.o (.data); - build/assets/images/split/image2295.o (.data); - build/assets/images/split/image2296.o (.data); - build/assets/images/split/image2297.o (.data); - build/assets/images/split/image2298.o (.data); - build/assets/images/split/image2299.o (.data); - build/assets/images/split/image2300.o (.data); - build/assets/images/split/image2301.o (.data); - build/assets/images/split/image2302.o (.data); - build/assets/images/split/image2303.o (.data); - build/assets/images/split/image2304.o (.data); - build/assets/images/split/image2305.o (.data); - build/assets/images/split/image2306.o (.data); - build/assets/images/split/image2307.o (.data); - build/assets/images/split/image2308.o (.data); - build/assets/images/split/image2309.o (.data); - build/assets/images/split/image2310.o (.data); - build/assets/images/split/image2311.o (.data); - build/assets/images/split/image2312.o (.data); - build/assets/images/split/image2313.o (.data); - build/assets/images/split/image2314.o (.data); - build/assets/images/split/image2315.o (.data); - build/assets/images/split/image2316.o (.data); - build/assets/images/split/image2317.o (.data); - build/assets/images/split/image2318.o (.data); - build/assets/images/split/image2319.o (.data); - build/assets/images/split/image2320.o (.data); - build/assets/images/split/image2321.o (.data); - build/assets/images/split/image2322.o (.data); - build/assets/images/split/image2323.o (.data); - build/assets/images/split/image2324.o (.data); - build/assets/images/split/image2325.o (.data); - build/assets/images/split/image2326.o (.data); - build/assets/images/split/image2327.o (.data); - build/assets/images/split/image2328.o (.data); - build/assets/images/split/image2329.o (.data); - build/assets/images/split/image2330.o (.data); - build/assets/images/split/image2331.o (.data); - build/assets/images/split/image2332.o (.data); - build/assets/images/split/image2333.o (.data); - build/assets/images/split/image2334.o (.data); - build/assets/images/split/image2335.o (.data); - build/assets/images/split/image2336.o (.data); - build/assets/images/split/image2337.o (.data); - build/assets/images/split/image2338.o (.data); - build/assets/images/split/image2339.o (.data); - build/assets/images/split/image2340.o (.data); - build/assets/images/split/image2341.o (.data); - build/assets/images/split/image2342.o (.data); - build/assets/images/split/image2343.o (.data); - build/assets/images/split/image2344.o (.data); - build/assets/images/split/image2345.o (.data); - build/assets/images/split/image2346.o (.data); - build/assets/images/split/image2347.o (.data); - build/assets/images/split/image2348.o (.data); - build/assets/images/split/image2349.o (.data); - build/assets/images/split/image2350.o (.data); - build/assets/images/split/image2351.o (.data); - build/assets/images/split/image2352.o (.data); - build/assets/images/split/image2353.o (.data); - build/assets/images/split/image2354.o (.data); - build/assets/images/split/image2355.o (.data); - build/assets/images/split/image2356.o (.data); - build/assets/images/split/image2357.o (.data); - build/assets/images/split/image2358.o (.data); - build/assets/images/split/image2359.o (.data); - build/assets/images/split/image2360.o (.data); - build/assets/images/split/image2361.o (.data); - build/assets/images/split/image2362.o (.data); - build/assets/images/split/image2363.o (.data); - build/assets/images/split/image2364.o (.data); - build/assets/images/split/image2365.o (.data); - build/assets/images/split/image2366.o (.data); - build/assets/images/split/image2367.o (.data); - build/assets/images/split/image2368.o (.data); - build/assets/images/split/image2369.o (.data); - build/assets/images/split/image2370.o (.data); - build/assets/images/split/image2371.o (.data); - build/assets/images/split/image2372.o (.data); - build/assets/images/split/image2373.o (.data); - build/assets/images/split/image2374.o (.data); - build/assets/images/split/image2375.o (.data); - build/assets/images/split/image2376.o (.data); - build/assets/images/split/image2377.o (.data); - build/assets/images/split/image2378.o (.data); - build/assets/images/split/image2379.o (.data); - build/assets/images/split/image2380.o (.data); - build/assets/images/split/image2381.o (.data); - build/assets/images/split/image2382.o (.data); - build/assets/images/split/image2383.o (.data); - build/assets/images/split/image2384.o (.data); - build/assets/images/split/image2385.o (.data); - build/assets/images/split/image2386.o (.data); - build/assets/images/split/image2387.o (.data); - build/assets/images/split/image2388.o (.data); - build/assets/images/split/image2389.o (.data); - build/assets/images/split/image2390.o (.data); - build/assets/images/split/image2391.o (.data); - build/assets/images/split/image2392.o (.data); - build/assets/images/split/image2393.o (.data); - build/assets/images/split/image2394.o (.data); - build/assets/images/split/image2395.o (.data); - build/assets/images/split/image2396.o (.data); - build/assets/images/split/image2397.o (.data); - build/assets/images/split/image2398.o (.data); - build/assets/images/split/image2399.o (.data); - build/assets/images/split/image2400.o (.data); - build/assets/images/split/image2401.o (.data); - build/assets/images/split/image2402.o (.data); - build/assets/images/split/image2403.o (.data); - build/assets/images/split/image2404.o (.data); - build/assets/images/split/image2405.o (.data); - build/assets/images/split/image2406.o (.data); - build/assets/images/split/image2407.o (.data); - build/assets/images/split/image2408.o (.data); - build/assets/images/split/image2409.o (.data); - build/assets/images/split/image2410.o (.data); - build/assets/images/split/image2411.o (.data); - build/assets/images/split/image2412.o (.data); - build/assets/images/split/image2413.o (.data); - build/assets/images/split/image2414.o (.data); - build/assets/images/split/image2415.o (.data); - build/assets/images/split/image2416.o (.data); - build/assets/images/split/image2417.o (.data); - build/assets/images/split/image2418.o (.data); - build/assets/images/split/image2419.o (.data); - build/assets/images/split/image2420.o (.data); - build/assets/images/split/image2421.o (.data); - build/assets/images/split/image2422.o (.data); - build/assets/images/split/image2423.o (.data); - build/assets/images/split/image2424.o (.data); - build/assets/images/split/image2425.o (.data); - build/assets/images/split/image2426.o (.data); - build/assets/images/split/image2427.o (.data); - build/assets/images/split/image2428.o (.data); - build/assets/images/split/image2429.o (.data); - build/assets/images/split/image2430.o (.data); - build/assets/images/split/image2431.o (.data); - build/assets/images/split/image2432.o (.data); - build/assets/images/split/image2433.o (.data); - build/assets/images/split/image2434.o (.data); - build/assets/images/split/image2435.o (.data); - build/assets/images/split/image2436.o (.data); - build/assets/images/split/image2437.o (.data); - build/assets/images/split/image2438.o (.data); - build/assets/images/split/image2439.o (.data); - build/assets/images/split/image2440.o (.data); - build/assets/images/split/image2441.o (.data); - build/assets/images/split/image2442.o (.data); - build/assets/images/split/image2443.o (.data); - build/assets/images/split/image2444.o (.data); - build/assets/images/split/image2445.o (.data); - build/assets/images/split/image2446.o (.data); - build/assets/images/split/image2447.o (.data); - build/assets/images/split/image2448.o (.data); - build/assets/images/split/image2449.o (.data); - build/assets/images/split/image2450.o (.data); - build/assets/images/split/image2451.o (.data); - build/assets/images/split/image2452.o (.data); - build/assets/images/split/image2453.o (.data); - build/assets/images/split/image2454.o (.data); - build/assets/images/split/image2455.o (.data); - build/assets/images/split/image2456.o (.data); - build/assets/images/split/image2457.o (.data); - build/assets/images/split/image2458.o (.data); - build/assets/images/split/image2459.o (.data); - build/assets/images/split/image2460.o (.data); - build/assets/images/split/image2461.o (.data); - build/assets/images/split/image2462.o (.data); - build/assets/images/split/image2463.o (.data); - build/assets/images/split/image2464.o (.data); - build/assets/images/split/image2465.o (.data); - build/assets/images/split/image2466.o (.data); - build/assets/images/split/image2467.o (.data); - build/assets/images/split/image2468.o (.data); - build/assets/images/split/image2469.o (.data); - build/assets/images/split/image2470.o (.data); - build/assets/images/split/image2471.o (.data); - build/assets/images/split/image2472.o (.data); - build/assets/images/split/image2473.o (.data); - build/assets/images/split/image2474.o (.data); - build/assets/images/split/image2475.o (.data); - build/assets/images/split/image2476.o (.data); - build/assets/images/split/image2477.o (.data); - build/assets/images/split/image2478.o (.data); - build/assets/images/split/image2479.o (.data); - build/assets/images/split/image2480.o (.data); - build/assets/images/split/image2481.o (.data); - build/assets/images/split/image2482.o (.data); - build/assets/images/split/image2483.o (.data); - build/assets/images/split/image2484.o (.data); - build/assets/images/split/image2485.o (.data); - build/assets/images/split/image2486.o (.data); - build/assets/images/split/image2487.o (.data); - build/assets/images/split/image2488.o (.data); - build/assets/images/split/image2489.o (.data); - build/assets/images/split/image2490.o (.data); - build/assets/images/split/image2491.o (.data); - build/assets/images/split/image2492.o (.data); - build/assets/images/split/image2493.o (.data); - build/assets/images/split/image2494.o (.data); - build/assets/images/split/image2495.o (.data); - build/assets/images/split/image2496.o (.data); - build/assets/images/split/image2497.o (.data); - build/assets/images/split/image2498.o (.data); - build/assets/images/split/image2499.o (.data); - build/assets/images/split/image2500.o (.data); - build/assets/images/split/image2501.o (.data); - build/assets/images/split/image2502.o (.data); - build/assets/images/split/image2503.o (.data); - build/assets/images/split/image2504.o (.data); - build/assets/images/split/image2505.o (.data); - build/assets/images/split/image2506.o (.data); - build/assets/images/split/image2507.o (.data); - build/assets/images/split/image2508.o (.data); - build/assets/images/split/image2509.o (.data); - build/assets/images/split/image2510.o (.data); - build/assets/images/split/image2511.o (.data); - build/assets/images/split/image2512.o (.data); - build/assets/images/split/image2513.o (.data); - build/assets/images/split/image2514.o (.data); - build/assets/images/split/image2515.o (.data); - build/assets/images/split/image2516.o (.data); - build/assets/images/split/image2517.o (.data); - build/assets/images/split/image2518.o (.data); - build/assets/images/split/image2519.o (.data); - build/assets/images/split/image2520.o (.data); - build/assets/images/split/image2521.o (.data); - build/assets/images/split/image2522.o (.data); - build/assets/images/split/image2523.o (.data); - build/assets/images/split/image2524.o (.data); - build/assets/images/split/image2525.o (.data); - build/assets/images/split/image2526.o (.data); - build/assets/images/split/image2527.o (.data); - build/assets/images/split/image2528.o (.data); - build/assets/images/split/image2529.o (.data); - build/assets/images/split/image2530.o (.data); - build/assets/images/split/image2531.o (.data); - build/assets/images/split/image2532.o (.data); - build/assets/images/split/image2533.o (.data); - build/assets/images/split/image2534.o (.data); - build/assets/images/split/image2535.o (.data); - build/assets/images/split/image2536.o (.data); - build/assets/images/split/image2537.o (.data); - build/assets/images/split/image2538.o (.data); - build/assets/images/split/image2539.o (.data); - build/assets/images/split/image2540.o (.data); - build/assets/images/split/image2541.o (.data); - build/assets/images/split/image2542.o (.data); - build/assets/images/split/image2543.o (.data); - build/assets/images/split/image2544.o (.data); - build/assets/images/split/image2545.o (.data); - build/assets/images/split/image2546.o (.data); - build/assets/images/split/image2547.o (.data); - build/assets/images/split/image2548.o (.data); - build/assets/images/split/image2549.o (.data); - build/assets/images/split/image2550.o (.data); - build/assets/images/split/image2551.o (.data); - build/assets/images/split/image2552.o (.data); - build/assets/images/split/image2553.o (.data); - build/assets/images/split/image2554.o (.data); - build/assets/images/split/image2555.o (.data); - build/assets/images/split/image2556.o (.data); - build/assets/images/split/image2557.o (.data); - build/assets/images/split/image2558.o (.data); - build/assets/images/split/image2559.o (.data); - build/assets/images/split/image2560.o (.data); - build/assets/images/split/image2561.o (.data); - build/assets/images/split/image2562.o (.data); - build/assets/images/split/image2563.o (.data); - build/assets/images/split/image2564.o (.data); - build/assets/images/split/image2565.o (.data); - build/assets/images/split/image2566.o (.data); - build/assets/images/split/image2567.o (.data); - build/assets/images/split/image2568.o (.data); - build/assets/images/split/image2569.o (.data); - build/assets/images/split/image2570.o (.data); - build/assets/images/split/image2571.o (.data); - build/assets/images/split/image2572.o (.data); - build/assets/images/split/image2573.o (.data); - build/assets/images/split/image2574.o (.data); - build/assets/images/split/image2575.o (.data); - build/assets/images/split/image2576.o (.data); - build/assets/images/split/image2577.o (.data); - build/assets/images/split/image2578.o (.data); - build/assets/images/split/image2579.o (.data); - build/assets/images/split/image2580.o (.data); - build/assets/images/split/image2581.o (.data); - build/assets/images/split/image2582.o (.data); - build/assets/images/split/image2583.o (.data); - build/assets/images/split/image2584.o (.data); - build/assets/images/split/image2585.o (.data); - build/assets/images/split/image2586.o (.data); - build/assets/images/split/image2587.o (.data); - build/assets/images/split/image2588.o (.data); - build/assets/images/split/image2589.o (.data); - build/assets/images/split/image2590.o (.data); - build/assets/images/split/image2591.o (.data); - build/assets/images/split/image2592.o (.data); - build/assets/images/split/image2593.o (.data); - build/assets/images/split/image2594.o (.data); - build/assets/images/split/image2595.o (.data); - build/assets/images/split/image2596.o (.data); - build/assets/images/split/image2597.o (.data); - build/assets/images/split/image2598.o (.data); - build/assets/images/split/image2599.o (.data); - build/assets/images/split/image2600.o (.data); - build/assets/images/split/image2601.o (.data); - build/assets/images/split/image2602.o (.data); - build/assets/images/split/image2603.o (.data); - build/assets/images/split/image2604.o (.data); - build/assets/images/split/image2605.o (.data); - build/assets/images/split/image2606.o (.data); - build/assets/images/split/image2607.o (.data); - build/assets/images/split/image2608.o (.data); - build/assets/images/split/image2609.o (.data); - build/assets/images/split/image2610.o (.data); - build/assets/images/split/image2611.o (.data); - build/assets/images/split/image2612.o (.data); - build/assets/images/split/image2613.o (.data); - build/assets/images/split/image2614.o (.data); - build/assets/images/split/image2615.o (.data); - build/assets/images/split/image2616.o (.data); - build/assets/images/split/image2617.o (.data); - build/assets/images/split/image2618.o (.data); - build/assets/images/split/image2619.o (.data); - build/assets/images/split/image2620.o (.data); - build/assets/images/split/image2621.o (.data); - build/assets/images/split/image2622.o (.data); - build/assets/images/split/image2623.o (.data); - build/assets/images/split/image2624.o (.data); - build/assets/images/split/image2625.o (.data); - build/assets/images/split/image2626.o (.data); - build/assets/images/split/image2627.o (.data); - build/assets/images/split/image2628.o (.data); - build/assets/images/split/image2629.o (.data); - build/assets/images/split/image2630.o (.data); - build/assets/images/split/image2631.o (.data); - build/assets/images/split/image2632.o (.data); - build/assets/images/split/image2633.o (.data); - build/assets/images/split/image2634.o (.data); - build/assets/images/split/image2635.o (.data); - build/assets/images/split/image2636.o (.data); - build/assets/images/split/image2637.o (.data); - build/assets/images/split/image2638.o (.data); - build/assets/images/split/image2639.o (.data); - build/assets/images/split/image2640.o (.data); - build/assets/images/split/image2641.o (.data); - build/assets/images/split/image2642.o (.data); - build/assets/images/split/image2643.o (.data); - build/assets/images/split/image2644.o (.data); - build/assets/images/split/image2645.o (.data); - build/assets/images/split/image2646.o (.data); - build/assets/images/split/image2647.o (.data); - build/assets/images/split/image2648.o (.data); - build/assets/images/split/image2649.o (.data); - build/assets/images/split/image2650.o (.data); - build/assets/images/split/image2651.o (.data); - build/assets/images/split/image2652.o (.data); - build/assets/images/split/image2653.o (.data); - build/assets/images/split/image2654.o (.data); - build/assets/images/split/image2655.o (.data); - build/assets/images/split/image2656.o (.data); - build/assets/images/split/image2657.o (.data); - build/assets/images/split/image2658.o (.data); - build/assets/images/split/image2659.o (.data); - build/assets/images/split/image2660.o (.data); - build/assets/images/split/image2661.o (.data); - build/assets/images/split/image2662.o (.data); - build/assets/images/split/image2663.o (.data); - build/assets/images/split/image2664.o (.data); - build/assets/images/split/image2665.o (.data); - build/assets/images/split/image2666.o (.data); - build/assets/images/split/image2667.o (.data); - build/assets/images/split/image2668.o (.data); - build/assets/images/split/image2669.o (.data); - build/assets/images/split/image2670.o (.data); - build/assets/images/split/image2671.o (.data); - build/assets/images/split/image2672.o (.data); - build/assets/images/split/image2673.o (.data); - build/assets/images/split/image2674.o (.data); - build/assets/images/split/image2675.o (.data); - build/assets/images/split/image2676.o (.data); - build/assets/images/split/image2677.o (.data); - build/assets/images/split/image2678.o (.data); - build/assets/images/split/image2679.o (.data); - build/assets/images/split/image2680.o (.data); - build/assets/images/split/image2681.o (.data); - build/assets/images/split/image2682.o (.data); - build/assets/images/split/image2683.o (.data); - build/assets/images/split/image2684.o (.data); - build/assets/images/split/image2685.o (.data); - build/assets/images/split/image2686.o (.data); - build/assets/images/split/image2687.o (.data); - build/assets/images/split/image2688.o (.data); - build/assets/images/split/image2689.o (.data); - build/assets/images/split/image2690.o (.data); - build/assets/images/split/image2691.o (.data); - build/assets/images/split/image2692.o (.data); - build/assets/images/split/image2693.o (.data); - build/assets/images/split/image2694.o (.data); - build/assets/images/split/image2695.o (.data); - build/assets/images/split/image2696.o (.data); - build/assets/images/split/image2697.o (.data); - build/assets/images/split/image2698.o (.data); - build/assets/images/split/image2699.o (.data); + build/e/assets/images/split/image1.o (.data); + build/e/assets/images/split/image2.o (.data); + build/e/assets/images/split/image3.o (.data); + build/e/assets/images/split/image4.o (.data); + build/e/assets/images/split/image5.o (.data); + build/e/assets/images/split/image6.o (.data); + build/e/assets/images/split/image7.o (.data); + build/e/assets/images/split/image8.o (.data); + build/e/assets/images/split/image9.o (.data); + build/e/assets/images/split/image10.o (.data); + build/e/assets/images/split/image11.o (.data); + build/e/assets/images/split/image12.o (.data); + build/e/assets/images/split/image13.o (.data); + build/e/assets/images/split/image14.o (.data); + build/e/assets/images/split/image15.o (.data); + build/e/assets/images/split/image16.o (.data); + build/e/assets/images/split/image17.o (.data); + build/e/assets/images/split/image18.o (.data); + build/e/assets/images/split/image19.o (.data); + build/e/assets/images/split/image20.o (.data); + build/e/assets/images/split/image21.o (.data); + build/e/assets/images/split/image22.o (.data); + build/e/assets/images/split/image23.o (.data); + build/e/assets/images/split/image24.o (.data); + build/e/assets/images/split/image25.o (.data); + build/e/assets/images/split/image26.o (.data); + build/e/assets/images/split/image27.o (.data); + build/e/assets/images/split/image28.o (.data); + build/e/assets/images/split/image29.o (.data); + build/e/assets/images/split/image30.o (.data); + build/e/assets/images/split/image31.o (.data); + build/e/assets/images/split/image32.o (.data); + build/e/assets/images/split/image33.o (.data); + build/e/assets/images/split/image34.o (.data); + build/e/assets/images/split/image35.o (.data); + build/e/assets/images/split/image36.o (.data); + build/e/assets/images/split/image37.o (.data); + build/e/assets/images/split/image38.o (.data); + build/e/assets/images/split/image39.o (.data); + build/e/assets/images/split/image40.o (.data); + build/e/assets/images/split/image41.o (.data); + build/e/assets/images/split/image42.o (.data); + build/e/assets/images/split/image43.o (.data); + build/e/assets/images/split/image44.o (.data); + build/e/assets/images/split/image45.o (.data); + build/e/assets/images/split/image46.o (.data); + build/e/assets/images/split/image47.o (.data); + build/e/assets/images/split/image48.o (.data); + build/e/assets/images/split/image49.o (.data); + build/e/assets/images/split/image50.o (.data); + build/e/assets/images/split/image51.o (.data); + build/e/assets/images/split/image52.o (.data); + build/e/assets/images/split/image53.o (.data); + build/e/assets/images/split/image54.o (.data); + build/e/assets/images/split/image55.o (.data); + build/e/assets/images/split/image56.o (.data); + build/e/assets/images/split/image57.o (.data); + build/e/assets/images/split/image58.o (.data); + build/e/assets/images/split/image59.o (.data); + build/e/assets/images/split/image60.o (.data); + build/e/assets/images/split/image61.o (.data); + build/e/assets/images/split/image62.o (.data); + build/e/assets/images/split/image63.o (.data); + build/e/assets/images/split/image64.o (.data); + build/e/assets/images/split/image65.o (.data); + build/e/assets/images/split/image66.o (.data); + build/e/assets/images/split/image67.o (.data); + build/e/assets/images/split/image68.o (.data); + build/e/assets/images/split/image69.o (.data); + build/e/assets/images/split/image70.o (.data); + build/e/assets/images/split/image71.o (.data); + build/e/assets/images/split/image72.o (.data); + build/e/assets/images/split/image73.o (.data); + build/e/assets/images/split/image74.o (.data); + build/e/assets/images/split/image75.o (.data); + build/e/assets/images/split/image76.o (.data); + build/e/assets/images/split/image77.o (.data); + build/e/assets/images/split/image78.o (.data); + build/e/assets/images/split/image79.o (.data); + build/e/assets/images/split/image80.o (.data); + build/e/assets/images/split/image81.o (.data); + build/e/assets/images/split/image82.o (.data); + build/e/assets/images/split/image83.o (.data); + build/e/assets/images/split/image84.o (.data); + build/e/assets/images/split/image85.o (.data); + build/e/assets/images/split/image86.o (.data); + build/e/assets/images/split/image87.o (.data); + build/e/assets/images/split/image88.o (.data); + build/e/assets/images/split/image89.o (.data); + build/e/assets/images/split/image90.o (.data); + build/e/assets/images/split/image91.o (.data); + build/e/assets/images/split/image92.o (.data); + build/e/assets/images/split/image93.o (.data); + build/e/assets/images/split/image94.o (.data); + build/e/assets/images/split/image95.o (.data); + build/e/assets/images/split/image96.o (.data); + build/e/assets/images/split/image97.o (.data); + build/e/assets/images/split/image98.o (.data); + build/e/assets/images/split/image99.o (.data); + build/e/assets/images/split/image100.o (.data); + build/e/assets/images/split/image101.o (.data); + build/e/assets/images/split/image102.o (.data); + build/e/assets/images/split/image103.o (.data); + build/e/assets/images/split/image104.o (.data); + build/e/assets/images/split/image105.o (.data); + build/e/assets/images/split/image106.o (.data); + build/e/assets/images/split/image107.o (.data); + build/e/assets/images/split/image108.o (.data); + build/e/assets/images/split/image109.o (.data); + build/e/assets/images/split/image110.o (.data); + build/e/assets/images/split/image111.o (.data); + build/e/assets/images/split/image112.o (.data); + build/e/assets/images/split/image113.o (.data); + build/e/assets/images/split/image114.o (.data); + build/e/assets/images/split/image115.o (.data); + build/e/assets/images/split/image116.o (.data); + build/e/assets/images/split/image117.o (.data); + build/e/assets/images/split/image118.o (.data); + build/e/assets/images/split/image119.o (.data); + build/e/assets/images/split/image120.o (.data); + build/e/assets/images/split/image121.o (.data); + build/e/assets/images/split/image122.o (.data); + build/e/assets/images/split/image123.o (.data); + build/e/assets/images/split/image124.o (.data); + build/e/assets/images/split/image125.o (.data); + build/e/assets/images/split/image126.o (.data); + build/e/assets/images/split/image127.o (.data); + build/e/assets/images/split/image128.o (.data); + build/e/assets/images/split/image129.o (.data); + build/e/assets/images/split/image130.o (.data); + build/e/assets/images/split/image131.o (.data); + build/e/assets/images/split/image132.o (.data); + build/e/assets/images/split/image133.o (.data); + build/e/assets/images/split/image134.o (.data); + build/e/assets/images/split/image135.o (.data); + build/e/assets/images/split/image136.o (.data); + build/e/assets/images/split/image137.o (.data); + build/e/assets/images/split/image138.o (.data); + build/e/assets/images/split/image139.o (.data); + build/e/assets/images/split/image140.o (.data); + build/e/assets/images/split/image141.o (.data); + build/e/assets/images/split/image142.o (.data); + build/e/assets/images/split/image143.o (.data); + build/e/assets/images/split/image144.o (.data); + build/e/assets/images/split/image145.o (.data); + build/e/assets/images/split/image146.o (.data); + build/e/assets/images/split/image147.o (.data); + build/e/assets/images/split/image148.o (.data); + build/e/assets/images/split/image149.o (.data); + build/e/assets/images/split/image150.o (.data); + build/e/assets/images/split/image151.o (.data); + build/e/assets/images/split/image152.o (.data); + build/e/assets/images/split/image153.o (.data); + build/e/assets/images/split/image154.o (.data); + build/e/assets/images/split/image155.o (.data); + build/e/assets/images/split/image156.o (.data); + build/e/assets/images/split/image157.o (.data); + build/e/assets/images/split/image158.o (.data); + build/e/assets/images/split/image159.o (.data); + build/e/assets/images/split/image160.o (.data); + build/e/assets/images/split/image161.o (.data); + build/e/assets/images/split/image162.o (.data); + build/e/assets/images/split/image163.o (.data); + build/e/assets/images/split/image164.o (.data); + build/e/assets/images/split/image165.o (.data); + build/e/assets/images/split/image166.o (.data); + build/e/assets/images/split/image167.o (.data); + build/e/assets/images/split/image168.o (.data); + build/e/assets/images/split/image169.o (.data); + build/e/assets/images/split/image170.o (.data); + build/e/assets/images/split/image171.o (.data); + build/e/assets/images/split/image172.o (.data); + build/e/assets/images/split/image173.o (.data); + build/e/assets/images/split/image174.o (.data); + build/e/assets/images/split/image175.o (.data); + build/e/assets/images/split/image176.o (.data); + build/e/assets/images/split/image177.o (.data); + build/e/assets/images/split/image178.o (.data); + build/e/assets/images/split/image179.o (.data); + build/e/assets/images/split/image180.o (.data); + build/e/assets/images/split/image181.o (.data); + build/e/assets/images/split/image182.o (.data); + build/e/assets/images/split/image183.o (.data); + build/e/assets/images/split/image184.o (.data); + build/e/assets/images/split/image185.o (.data); + build/e/assets/images/split/image186.o (.data); + build/e/assets/images/split/image187.o (.data); + build/e/assets/images/split/image188.o (.data); + build/e/assets/images/split/image189.o (.data); + build/e/assets/images/split/image190.o (.data); + build/e/assets/images/split/image191.o (.data); + build/e/assets/images/split/image192.o (.data); + build/e/assets/images/split/image193.o (.data); + build/e/assets/images/split/image194.o (.data); + build/e/assets/images/split/image195.o (.data); + build/e/assets/images/split/image196.o (.data); + build/e/assets/images/split/image197.o (.data); + build/e/assets/images/split/image198.o (.data); + build/e/assets/images/split/image199.o (.data); + build/e/assets/images/split/image200.o (.data); + build/e/assets/images/split/image201.o (.data); + build/e/assets/images/split/image202.o (.data); + build/e/assets/images/split/image203.o (.data); + build/e/assets/images/split/image204.o (.data); + build/e/assets/images/split/image205.o (.data); + build/e/assets/images/split/image206.o (.data); + build/e/assets/images/split/image207.o (.data); + build/e/assets/images/split/image208.o (.data); + build/e/assets/images/split/image209.o (.data); + build/e/assets/images/split/image210.o (.data); + build/e/assets/images/split/image211.o (.data); + build/e/assets/images/split/image212.o (.data); + build/e/assets/images/split/image213.o (.data); + build/e/assets/images/split/image214.o (.data); + build/e/assets/images/split/image215.o (.data); + build/e/assets/images/split/image216.o (.data); + build/e/assets/images/split/image217.o (.data); + build/e/assets/images/split/image218.o (.data); + build/e/assets/images/split/image219.o (.data); + build/e/assets/images/split/image220.o (.data); + build/e/assets/images/split/image221.o (.data); + build/e/assets/images/split/image222.o (.data); + build/e/assets/images/split/image223.o (.data); + build/e/assets/images/split/image224.o (.data); + build/e/assets/images/split/image225.o (.data); + build/e/assets/images/split/image226.o (.data); + build/e/assets/images/split/image227.o (.data); + build/e/assets/images/split/image228.o (.data); + build/e/assets/images/split/image229.o (.data); + build/e/assets/images/split/image230.o (.data); + build/e/assets/images/split/image231.o (.data); + build/e/assets/images/split/image232.o (.data); + build/e/assets/images/split/image233.o (.data); + build/e/assets/images/split/image234.o (.data); + build/e/assets/images/split/image235.o (.data); + build/e/assets/images/split/image236.o (.data); + build/e/assets/images/split/image237.o (.data); + build/e/assets/images/split/image238.o (.data); + build/e/assets/images/split/image239.o (.data); + build/e/assets/images/split/image240.o (.data); + build/e/assets/images/split/image241.o (.data); + build/e/assets/images/split/image242.o (.data); + build/e/assets/images/split/image243.o (.data); + build/e/assets/images/split/image244.o (.data); + build/e/assets/images/split/image245.o (.data); + build/e/assets/images/split/image246.o (.data); + build/e/assets/images/split/image247.o (.data); + build/e/assets/images/split/image248.o (.data); + build/e/assets/images/split/image249.o (.data); + build/e/assets/images/split/image250.o (.data); + build/e/assets/images/split/image251.o (.data); + build/e/assets/images/split/image252.o (.data); + build/e/assets/images/split/image253.o (.data); + build/e/assets/images/split/image254.o (.data); + build/e/assets/images/split/image255.o (.data); + build/e/assets/images/split/image256.o (.data); + build/e/assets/images/split/image257.o (.data); + build/e/assets/images/split/image258.o (.data); + build/e/assets/images/split/image259.o (.data); + build/e/assets/images/split/image260.o (.data); + build/e/assets/images/split/image261.o (.data); + build/e/assets/images/split/image262.o (.data); + build/e/assets/images/split/image263.o (.data); + build/e/assets/images/split/image264.o (.data); + build/e/assets/images/split/image265.o (.data); + build/e/assets/images/split/image266.o (.data); + build/e/assets/images/split/image267.o (.data); + build/e/assets/images/split/image268.o (.data); + build/e/assets/images/split/image269.o (.data); + build/e/assets/images/split/image270.o (.data); + build/e/assets/images/split/image271.o (.data); + build/e/assets/images/split/image272.o (.data); + build/e/assets/images/split/image273.o (.data); + build/e/assets/images/split/image274.o (.data); + build/e/assets/images/split/image275.o (.data); + build/e/assets/images/split/image276.o (.data); + build/e/assets/images/split/image277.o (.data); + build/e/assets/images/split/image278.o (.data); + build/e/assets/images/split/image279.o (.data); + build/e/assets/images/split/image280.o (.data); + build/e/assets/images/split/image281.o (.data); + build/e/assets/images/split/image282.o (.data); + build/e/assets/images/split/image283.o (.data); + build/e/assets/images/split/image284.o (.data); + build/e/assets/images/split/image285.o (.data); + build/e/assets/images/split/image286.o (.data); + build/e/assets/images/split/image287.o (.data); + build/e/assets/images/split/image288.o (.data); + build/e/assets/images/split/image289.o (.data); + build/e/assets/images/split/image290.o (.data); + build/e/assets/images/split/image291.o (.data); + build/e/assets/images/split/image292.o (.data); + build/e/assets/images/split/image293.o (.data); + build/e/assets/images/split/image294.o (.data); + build/e/assets/images/split/image295.o (.data); + build/e/assets/images/split/image296.o (.data); + build/e/assets/images/split/image297.o (.data); + build/e/assets/images/split/image298.o (.data); + build/e/assets/images/split/image299.o (.data); + build/e/assets/images/split/image300.o (.data); + build/e/assets/images/split/image301.o (.data); + build/e/assets/images/split/image302.o (.data); + build/e/assets/images/split/image303.o (.data); + build/e/assets/images/split/image304.o (.data); + build/e/assets/images/split/image305.o (.data); + build/e/assets/images/split/image306.o (.data); + build/e/assets/images/split/image307.o (.data); + build/e/assets/images/split/image308.o (.data); + build/e/assets/images/split/image309.o (.data); + build/e/assets/images/split/image310.o (.data); + build/e/assets/images/split/image311.o (.data); + build/e/assets/images/split/image312.o (.data); + build/e/assets/images/split/image313.o (.data); + build/e/assets/images/split/image314.o (.data); + build/e/assets/images/split/image315.o (.data); + build/e/assets/images/split/image316.o (.data); + build/e/assets/images/split/image317.o (.data); + build/e/assets/images/split/image318.o (.data); + build/e/assets/images/split/image319.o (.data); + build/e/assets/images/split/image320.o (.data); + build/e/assets/images/split/image321.o (.data); + build/e/assets/images/split/image322.o (.data); + build/e/assets/images/split/image323.o (.data); + build/e/assets/images/split/image324.o (.data); + build/e/assets/images/split/image325.o (.data); + build/e/assets/images/split/image326.o (.data); + build/e/assets/images/split/image327.o (.data); + build/e/assets/images/split/image328.o (.data); + build/e/assets/images/split/image329.o (.data); + build/e/assets/images/split/image330.o (.data); + build/e/assets/images/split/image331.o (.data); + build/e/assets/images/split/image332.o (.data); + build/e/assets/images/split/image333.o (.data); + build/e/assets/images/split/image334.o (.data); + build/e/assets/images/split/image335.o (.data); + build/e/assets/images/split/image336.o (.data); + build/e/assets/images/split/image337.o (.data); + build/e/assets/images/split/image338.o (.data); + build/e/assets/images/split/image339.o (.data); + build/e/assets/images/split/image340.o (.data); + build/e/assets/images/split/image341.o (.data); + build/e/assets/images/split/image342.o (.data); + build/e/assets/images/split/image343.o (.data); + build/e/assets/images/split/image344.o (.data); + build/e/assets/images/split/image345.o (.data); + build/e/assets/images/split/image346.o (.data); + build/e/assets/images/split/image347.o (.data); + build/e/assets/images/split/image348.o (.data); + build/e/assets/images/split/image349.o (.data); + build/e/assets/images/split/image350.o (.data); + build/e/assets/images/split/image351.o (.data); + build/e/assets/images/split/image352.o (.data); + build/e/assets/images/split/image353.o (.data); + build/e/assets/images/split/image354.o (.data); + build/e/assets/images/split/image355.o (.data); + build/e/assets/images/split/image356.o (.data); + build/e/assets/images/split/image357.o (.data); + build/e/assets/images/split/image358.o (.data); + build/e/assets/images/split/image359.o (.data); + build/e/assets/images/split/image360.o (.data); + build/e/assets/images/split/image361.o (.data); + build/e/assets/images/split/image362.o (.data); + build/e/assets/images/split/image363.o (.data); + build/e/assets/images/split/image364.o (.data); + build/e/assets/images/split/image365.o (.data); + build/e/assets/images/split/image366.o (.data); + build/e/assets/images/split/image367.o (.data); + build/e/assets/images/split/image368.o (.data); + build/e/assets/images/split/image369.o (.data); + build/e/assets/images/split/image370.o (.data); + build/e/assets/images/split/image371.o (.data); + build/e/assets/images/split/image372.o (.data); + build/e/assets/images/split/image373.o (.data); + build/e/assets/images/split/image374.o (.data); + build/e/assets/images/split/image375.o (.data); + build/e/assets/images/split/image376.o (.data); + build/e/assets/images/split/image377.o (.data); + build/e/assets/images/split/image378.o (.data); + build/e/assets/images/split/image379.o (.data); + build/e/assets/images/split/image380.o (.data); + build/e/assets/images/split/image381.o (.data); + build/e/assets/images/split/image382.o (.data); + build/e/assets/images/split/image383.o (.data); + build/e/assets/images/split/image384.o (.data); + build/e/assets/images/split/image385.o (.data); + build/e/assets/images/split/image386.o (.data); + build/e/assets/images/split/image387.o (.data); + build/e/assets/images/split/image388.o (.data); + build/e/assets/images/split/image389.o (.data); + build/e/assets/images/split/image390.o (.data); + build/e/assets/images/split/image391.o (.data); + build/e/assets/images/split/image392.o (.data); + build/e/assets/images/split/image393.o (.data); + build/e/assets/images/split/image394.o (.data); + build/e/assets/images/split/image395.o (.data); + build/e/assets/images/split/image396.o (.data); + build/e/assets/images/split/image397.o (.data); + build/e/assets/images/split/image398.o (.data); + build/e/assets/images/split/image399.o (.data); + build/e/assets/images/split/image400.o (.data); + build/e/assets/images/split/image401.o (.data); + build/e/assets/images/split/image402.o (.data); + build/e/assets/images/split/image403.o (.data); + build/e/assets/images/split/image404.o (.data); + build/e/assets/images/split/image405.o (.data); + build/e/assets/images/split/image406.o (.data); + build/e/assets/images/split/image407.o (.data); + build/e/assets/images/split/image408.o (.data); + build/e/assets/images/split/image409.o (.data); + build/e/assets/images/split/image410.o (.data); + build/e/assets/images/split/image411.o (.data); + build/e/assets/images/split/image412.o (.data); + build/e/assets/images/split/image413.o (.data); + build/e/assets/images/split/image414.o (.data); + build/e/assets/images/split/image415.o (.data); + build/e/assets/images/split/image416.o (.data); + build/e/assets/images/split/image417.o (.data); + build/e/assets/images/split/image418.o (.data); + build/e/assets/images/split/image419.o (.data); + build/e/assets/images/split/image420.o (.data); + build/e/assets/images/split/image421.o (.data); + build/e/assets/images/split/image422.o (.data); + build/e/assets/images/split/image423.o (.data); + build/e/assets/images/split/image424.o (.data); + build/e/assets/images/split/image425.o (.data); + build/e/assets/images/split/image426.o (.data); + build/e/assets/images/split/image427.o (.data); + build/e/assets/images/split/image428.o (.data); + build/e/assets/images/split/image429.o (.data); + build/e/assets/images/split/image430.o (.data); + build/e/assets/images/split/image431.o (.data); + build/e/assets/images/split/image432.o (.data); + build/e/assets/images/split/image433.o (.data); + build/e/assets/images/split/image434.o (.data); + build/e/assets/images/split/image435.o (.data); + build/e/assets/images/split/image436.o (.data); + build/e/assets/images/split/image437.o (.data); + build/e/assets/images/split/image438.o (.data); + build/e/assets/images/split/image439.o (.data); + build/e/assets/images/split/image440.o (.data); + build/e/assets/images/split/image441.o (.data); + build/e/assets/images/split/image442.o (.data); + build/e/assets/images/split/image443.o (.data); + build/e/assets/images/split/image444.o (.data); + build/e/assets/images/split/image445.o (.data); + build/e/assets/images/split/image446.o (.data); + build/e/assets/images/split/image447.o (.data); + build/e/assets/images/split/image448.o (.data); + build/e/assets/images/split/image449.o (.data); + build/e/assets/images/split/image450.o (.data); + build/e/assets/images/split/image451.o (.data); + build/e/assets/images/split/image452.o (.data); + build/e/assets/images/split/image453.o (.data); + build/e/assets/images/split/image454.o (.data); + build/e/assets/images/split/image455.o (.data); + build/e/assets/images/split/image456.o (.data); + build/e/assets/images/split/image457.o (.data); + build/e/assets/images/split/image458.o (.data); + build/e/assets/images/split/image459.o (.data); + build/e/assets/images/split/image460.o (.data); + build/e/assets/images/split/image461.o (.data); + build/e/assets/images/split/image462.o (.data); + build/e/assets/images/split/image463.o (.data); + build/e/assets/images/split/image464.o (.data); + build/e/assets/images/split/image465.o (.data); + build/e/assets/images/split/image466.o (.data); + build/e/assets/images/split/image467.o (.data); + build/e/assets/images/split/image468.o (.data); + build/e/assets/images/split/image469.o (.data); + build/e/assets/images/split/image470.o (.data); + build/e/assets/images/split/image471.o (.data); + build/e/assets/images/split/image472.o (.data); + build/e/assets/images/split/image473.o (.data); + build/e/assets/images/split/image474.o (.data); + build/e/assets/images/split/image475.o (.data); + build/e/assets/images/split/image476.o (.data); + build/e/assets/images/split/image477.o (.data); + build/e/assets/images/split/image478.o (.data); + build/e/assets/images/split/image479.o (.data); + build/e/assets/images/split/image480.o (.data); + build/e/assets/images/split/image481.o (.data); + build/e/assets/images/split/image482.o (.data); + build/e/assets/images/split/image483.o (.data); + build/e/assets/images/split/image484.o (.data); + build/e/assets/images/split/image485.o (.data); + build/e/assets/images/split/image486.o (.data); + build/e/assets/images/split/image487.o (.data); + build/e/assets/images/split/image488.o (.data); + build/e/assets/images/split/image489.o (.data); + build/e/assets/images/split/image490.o (.data); + build/e/assets/images/split/image491.o (.data); + build/e/assets/images/split/image492.o (.data); + build/e/assets/images/split/image493.o (.data); + build/e/assets/images/split/image494.o (.data); + build/e/assets/images/split/image495.o (.data); + build/e/assets/images/split/image496.o (.data); + build/e/assets/images/split/image497.o (.data); + build/e/assets/images/split/image498.o (.data); + build/e/assets/images/split/image499.o (.data); + build/e/assets/images/split/image500.o (.data); + build/e/assets/images/split/image501.o (.data); + build/e/assets/images/split/image502.o (.data); + build/e/assets/images/split/image503.o (.data); + build/e/assets/images/split/image504.o (.data); + build/e/assets/images/split/image505.o (.data); + build/e/assets/images/split/image506.o (.data); + build/e/assets/images/split/image507.o (.data); + build/e/assets/images/split/image508.o (.data); + build/e/assets/images/split/image509.o (.data); + build/e/assets/images/split/image510.o (.data); + build/e/assets/images/split/image511.o (.data); + build/e/assets/images/split/image512.o (.data); + build/e/assets/images/split/image513.o (.data); + build/e/assets/images/split/image514.o (.data); + build/e/assets/images/split/image515.o (.data); + build/e/assets/images/split/image516.o (.data); + build/e/assets/images/split/image517.o (.data); + build/e/assets/images/split/image518.o (.data); + build/e/assets/images/split/image519.o (.data); + build/e/assets/images/split/image520.o (.data); + build/e/assets/images/split/image521.o (.data); + build/e/assets/images/split/image522.o (.data); + build/e/assets/images/split/image523.o (.data); + build/e/assets/images/split/image524.o (.data); + build/e/assets/images/split/image525.o (.data); + build/e/assets/images/split/image526.o (.data); + build/e/assets/images/split/image527.o (.data); + build/e/assets/images/split/image528.o (.data); + build/e/assets/images/split/image529.o (.data); + build/e/assets/images/split/image530.o (.data); + build/e/assets/images/split/image531.o (.data); + build/e/assets/images/split/image532.o (.data); + build/e/assets/images/split/image533.o (.data); + build/e/assets/images/split/image534.o (.data); + build/e/assets/images/split/image535.o (.data); + build/e/assets/images/split/image536.o (.data); + build/e/assets/images/split/image537.o (.data); + build/e/assets/images/split/image538.o (.data); + build/e/assets/images/split/image539.o (.data); + build/e/assets/images/split/image540.o (.data); + build/e/assets/images/split/image541.o (.data); + build/e/assets/images/split/image542.o (.data); + build/e/assets/images/split/image543.o (.data); + build/e/assets/images/split/image544.o (.data); + build/e/assets/images/split/image545.o (.data); + build/e/assets/images/split/image546.o (.data); + build/e/assets/images/split/image547.o (.data); + build/e/assets/images/split/image548.o (.data); + build/e/assets/images/split/image549.o (.data); + build/e/assets/images/split/image550.o (.data); + build/e/assets/images/split/image551.o (.data); + build/e/assets/images/split/image552.o (.data); + build/e/assets/images/split/image553.o (.data); + build/e/assets/images/split/image554.o (.data); + build/e/assets/images/split/image555.o (.data); + build/e/assets/images/split/image556.o (.data); + build/e/assets/images/split/image557.o (.data); + build/e/assets/images/split/image558.o (.data); + build/e/assets/images/split/image559.o (.data); + build/e/assets/images/split/image560.o (.data); + build/e/assets/images/split/image561.o (.data); + build/e/assets/images/split/image562.o (.data); + build/e/assets/images/split/image563.o (.data); + build/e/assets/images/split/image564.o (.data); + build/e/assets/images/split/image565.o (.data); + build/e/assets/images/split/image566.o (.data); + build/e/assets/images/split/image567.o (.data); + build/e/assets/images/split/image568.o (.data); + build/e/assets/images/split/image569.o (.data); + build/e/assets/images/split/image570.o (.data); + build/e/assets/images/split/image571.o (.data); + build/e/assets/images/split/image572.o (.data); + build/e/assets/images/split/image573.o (.data); + build/e/assets/images/split/image574.o (.data); + build/e/assets/images/split/image575.o (.data); + build/e/assets/images/split/image576.o (.data); + build/e/assets/images/split/image577.o (.data); + build/e/assets/images/split/image578.o (.data); + build/e/assets/images/split/image579.o (.data); + build/e/assets/images/split/image580.o (.data); + build/e/assets/images/split/image581.o (.data); + build/e/assets/images/split/image582.o (.data); + build/e/assets/images/split/image583.o (.data); + build/e/assets/images/split/image584.o (.data); + build/e/assets/images/split/image585.o (.data); + build/e/assets/images/split/image586.o (.data); + build/e/assets/images/split/image587.o (.data); + build/e/assets/images/split/image588.o (.data); + build/e/assets/images/split/image589.o (.data); + build/e/assets/images/split/image590.o (.data); + build/e/assets/images/split/image591.o (.data); + build/e/assets/images/split/image592.o (.data); + build/e/assets/images/split/image593.o (.data); + build/e/assets/images/split/image594.o (.data); + build/e/assets/images/split/image595.o (.data); + build/e/assets/images/split/image596.o (.data); + build/e/assets/images/split/image597.o (.data); + build/e/assets/images/split/image598.o (.data); + build/e/assets/images/split/image599.o (.data); + build/e/assets/images/split/image600.o (.data); + build/e/assets/images/split/image601.o (.data); + build/e/assets/images/split/image602.o (.data); + build/e/assets/images/split/image603.o (.data); + build/e/assets/images/split/image604.o (.data); + build/e/assets/images/split/image605.o (.data); + build/e/assets/images/split/image606.o (.data); + build/e/assets/images/split/image607.o (.data); + build/e/assets/images/split/image608.o (.data); + build/e/assets/images/split/image609.o (.data); + build/e/assets/images/split/image610.o (.data); + build/e/assets/images/split/image611.o (.data); + build/e/assets/images/split/image612.o (.data); + build/e/assets/images/split/image613.o (.data); + build/e/assets/images/split/image614.o (.data); + build/e/assets/images/split/image615.o (.data); + build/e/assets/images/split/image616.o (.data); + build/e/assets/images/split/image617.o (.data); + build/e/assets/images/split/image618.o (.data); + build/e/assets/images/split/image619.o (.data); + build/e/assets/images/split/image620.o (.data); + build/e/assets/images/split/image621.o (.data); + build/e/assets/images/split/image622.o (.data); + build/e/assets/images/split/image623.o (.data); + build/e/assets/images/split/image624.o (.data); + build/e/assets/images/split/image625.o (.data); + build/e/assets/images/split/image626.o (.data); + build/e/assets/images/split/image627.o (.data); + build/e/assets/images/split/image628.o (.data); + build/e/assets/images/split/image629.o (.data); + build/e/assets/images/split/image630.o (.data); + build/e/assets/images/split/image631.o (.data); + build/e/assets/images/split/image632.o (.data); + build/e/assets/images/split/image633.o (.data); + build/e/assets/images/split/image634.o (.data); + build/e/assets/images/split/image635.o (.data); + build/e/assets/images/split/image636.o (.data); + build/e/assets/images/split/image637.o (.data); + build/e/assets/images/split/image638.o (.data); + build/e/assets/images/split/image639.o (.data); + build/e/assets/images/split/image640.o (.data); + build/e/assets/images/split/image641.o (.data); + build/e/assets/images/split/image642.o (.data); + build/e/assets/images/split/image643.o (.data); + build/e/assets/images/split/image644.o (.data); + build/e/assets/images/split/image645.o (.data); + build/e/assets/images/split/image646.o (.data); + build/e/assets/images/split/image647.o (.data); + build/e/assets/images/split/image648.o (.data); + build/e/assets/images/split/image649.o (.data); + build/e/assets/images/split/image650.o (.data); + build/e/assets/images/split/image651.o (.data); + build/e/assets/images/split/image652.o (.data); + build/e/assets/images/split/image653.o (.data); + build/e/assets/images/split/image654.o (.data); + build/e/assets/images/split/image655.o (.data); + build/e/assets/images/split/image656.o (.data); + build/e/assets/images/split/image657.o (.data); + build/e/assets/images/split/image658.o (.data); + build/e/assets/images/split/image659.o (.data); + build/e/assets/images/split/image660.o (.data); + build/e/assets/images/split/image661.o (.data); + build/e/assets/images/split/image662.o (.data); + build/e/assets/images/split/image663.o (.data); + build/e/assets/images/split/image664.o (.data); + build/e/assets/images/split/image665.o (.data); + build/e/assets/images/split/image666.o (.data); + build/e/assets/images/split/image667.o (.data); + build/e/assets/images/split/image668.o (.data); + build/e/assets/images/split/image669.o (.data); + build/e/assets/images/split/image670.o (.data); + build/e/assets/images/split/image671.o (.data); + build/e/assets/images/split/image672.o (.data); + build/e/assets/images/split/image673.o (.data); + build/e/assets/images/split/image674.o (.data); + build/e/assets/images/split/image675.o (.data); + build/e/assets/images/split/image676.o (.data); + build/e/assets/images/split/image677.o (.data); + build/e/assets/images/split/image678.o (.data); + build/e/assets/images/split/image679.o (.data); + build/e/assets/images/split/image680.o (.data); + build/e/assets/images/split/image681.o (.data); + build/e/assets/images/split/image682.o (.data); + build/e/assets/images/split/image683.o (.data); + build/e/assets/images/split/image684.o (.data); + build/e/assets/images/split/image685.o (.data); + build/e/assets/images/split/image686.o (.data); + build/e/assets/images/split/image687.o (.data); + build/e/assets/images/split/image688.o (.data); + build/e/assets/images/split/image689.o (.data); + build/e/assets/images/split/image690.o (.data); + build/e/assets/images/split/image691.o (.data); + build/e/assets/images/split/image692.o (.data); + build/e/assets/images/split/image693.o (.data); + build/e/assets/images/split/image694.o (.data); + build/e/assets/images/split/image695.o (.data); + build/e/assets/images/split/image696.o (.data); + build/e/assets/images/split/image697.o (.data); + build/e/assets/images/split/image698.o (.data); + build/e/assets/images/split/image699.o (.data); + build/e/assets/images/split/image700.o (.data); + build/e/assets/images/split/image701.o (.data); + build/e/assets/images/split/image702.o (.data); + build/e/assets/images/split/image703.o (.data); + build/e/assets/images/split/image704.o (.data); + build/e/assets/images/split/image705.o (.data); + build/e/assets/images/split/image706.o (.data); + build/e/assets/images/split/image707.o (.data); + build/e/assets/images/split/image708.o (.data); + build/e/assets/images/split/image709.o (.data); + build/e/assets/images/split/image710.o (.data); + build/e/assets/images/split/image711.o (.data); + build/e/assets/images/split/image712.o (.data); + build/e/assets/images/split/image713.o (.data); + build/e/assets/images/split/image714.o (.data); + build/e/assets/images/split/image715.o (.data); + build/e/assets/images/split/image716.o (.data); + build/e/assets/images/split/image717.o (.data); + build/e/assets/images/split/image718.o (.data); + build/e/assets/images/split/image719.o (.data); + build/e/assets/images/split/image720.o (.data); + build/e/assets/images/split/image721.o (.data); + build/e/assets/images/split/image722.o (.data); + build/e/assets/images/split/image723.o (.data); + build/e/assets/images/split/image724.o (.data); + build/e/assets/images/split/image725.o (.data); + build/e/assets/images/split/image726.o (.data); + build/e/assets/images/split/image727.o (.data); + build/e/assets/images/split/image728.o (.data); + build/e/assets/images/split/image729.o (.data); + build/e/assets/images/split/image730.o (.data); + build/e/assets/images/split/image731.o (.data); + build/e/assets/images/split/image732.o (.data); + build/e/assets/images/split/image733.o (.data); + build/e/assets/images/split/image734.o (.data); + build/e/assets/images/split/image735.o (.data); + build/e/assets/images/split/image736.o (.data); + build/e/assets/images/split/image737.o (.data); + build/e/assets/images/split/image738.o (.data); + build/e/assets/images/split/image739.o (.data); + build/e/assets/images/split/image740.o (.data); + build/e/assets/images/split/image741.o (.data); + build/e/assets/images/split/image742.o (.data); + build/e/assets/images/split/image743.o (.data); + build/e/assets/images/split/image744.o (.data); + build/e/assets/images/split/image745.o (.data); + build/e/assets/images/split/image746.o (.data); + build/e/assets/images/split/image747.o (.data); + build/e/assets/images/split/image748.o (.data); + build/e/assets/images/split/image749.o (.data); + build/e/assets/images/split/image750.o (.data); + build/e/assets/images/split/image751.o (.data); + build/e/assets/images/split/image752.o (.data); + build/e/assets/images/split/image753.o (.data); + build/e/assets/images/split/image754.o (.data); + build/e/assets/images/split/image755.o (.data); + build/e/assets/images/split/image756.o (.data); + build/e/assets/images/split/image757.o (.data); + build/e/assets/images/split/image758.o (.data); + build/e/assets/images/split/image759.o (.data); + build/e/assets/images/split/image760.o (.data); + build/e/assets/images/split/image761.o (.data); + build/e/assets/images/split/image762.o (.data); + build/e/assets/images/split/image763.o (.data); + build/e/assets/images/split/image764.o (.data); + build/e/assets/images/split/image765.o (.data); + build/e/assets/images/split/image766.o (.data); + build/e/assets/images/split/image767.o (.data); + build/e/assets/images/split/image768.o (.data); + build/e/assets/images/split/image769.o (.data); + build/e/assets/images/split/image770.o (.data); + build/e/assets/images/split/image771.o (.data); + build/e/assets/images/split/image772.o (.data); + build/e/assets/images/split/image773.o (.data); + build/e/assets/images/split/image774.o (.data); + build/e/assets/images/split/image775.o (.data); + build/e/assets/images/split/image776.o (.data); + build/e/assets/images/split/image777.o (.data); + build/e/assets/images/split/image778.o (.data); + build/e/assets/images/split/image779.o (.data); + build/e/assets/images/split/image780.o (.data); + build/e/assets/images/split/image781.o (.data); + build/e/assets/images/split/image782.o (.data); + build/e/assets/images/split/image783.o (.data); + build/e/assets/images/split/image784.o (.data); + build/e/assets/images/split/image785.o (.data); + build/e/assets/images/split/image786.o (.data); + build/e/assets/images/split/image787.o (.data); + build/e/assets/images/split/image788.o (.data); + build/e/assets/images/split/image789.o (.data); + build/e/assets/images/split/image790.o (.data); + build/e/assets/images/split/image791.o (.data); + build/e/assets/images/split/image792.o (.data); + build/e/assets/images/split/image793.o (.data); + build/e/assets/images/split/image794.o (.data); + build/e/assets/images/split/image795.o (.data); + build/e/assets/images/split/image796.o (.data); + build/e/assets/images/split/image797.o (.data); + build/e/assets/images/split/image798.o (.data); + build/e/assets/images/split/image799.o (.data); + build/e/assets/images/split/image800.o (.data); + build/e/assets/images/split/image801.o (.data); + build/e/assets/images/split/image802.o (.data); + build/e/assets/images/split/image803.o (.data); + build/e/assets/images/split/image804.o (.data); + build/e/assets/images/split/image805.o (.data); + build/e/assets/images/split/image806.o (.data); + build/e/assets/images/split/image807.o (.data); + build/e/assets/images/split/image808.o (.data); + build/e/assets/images/split/image809.o (.data); + build/e/assets/images/split/image810.o (.data); + build/e/assets/images/split/image811.o (.data); + build/e/assets/images/split/image812.o (.data); + build/e/assets/images/split/image813.o (.data); + build/e/assets/images/split/image814.o (.data); + build/e/assets/images/split/image815.o (.data); + build/e/assets/images/split/image816.o (.data); + build/e/assets/images/split/image817.o (.data); + build/e/assets/images/split/image818.o (.data); + build/e/assets/images/split/image819.o (.data); + build/e/assets/images/split/image820.o (.data); + build/e/assets/images/split/image821.o (.data); + build/e/assets/images/split/image822.o (.data); + build/e/assets/images/split/image823.o (.data); + build/e/assets/images/split/image824.o (.data); + build/e/assets/images/split/image825.o (.data); + build/e/assets/images/split/image826.o (.data); + build/e/assets/images/split/image827.o (.data); + build/e/assets/images/split/image828.o (.data); + build/e/assets/images/split/image829.o (.data); + build/e/assets/images/split/image830.o (.data); + build/e/assets/images/split/image831.o (.data); + build/e/assets/images/split/image832.o (.data); + build/e/assets/images/split/image833.o (.data); + build/e/assets/images/split/image834.o (.data); + build/e/assets/images/split/image835.o (.data); + build/e/assets/images/split/image836.o (.data); + build/e/assets/images/split/image837.o (.data); + build/e/assets/images/split/image838.o (.data); + build/e/assets/images/split/image839.o (.data); + build/e/assets/images/split/image840.o (.data); + build/e/assets/images/split/image841.o (.data); + build/e/assets/images/split/image842.o (.data); + build/e/assets/images/split/image843.o (.data); + build/e/assets/images/split/image844.o (.data); + build/e/assets/images/split/image845.o (.data); + build/e/assets/images/split/image846.o (.data); + build/e/assets/images/split/image847.o (.data); + build/e/assets/images/split/image848.o (.data); + build/e/assets/images/split/image849.o (.data); + build/e/assets/images/split/image850.o (.data); + build/e/assets/images/split/image851.o (.data); + build/e/assets/images/split/image852.o (.data); + build/e/assets/images/split/image853.o (.data); + build/e/assets/images/split/image854.o (.data); + build/e/assets/images/split/image855.o (.data); + build/e/assets/images/split/image856.o (.data); + build/e/assets/images/split/image857.o (.data); + build/e/assets/images/split/image858.o (.data); + build/e/assets/images/split/image859.o (.data); + build/e/assets/images/split/image860.o (.data); + build/e/assets/images/split/image861.o (.data); + build/e/assets/images/split/image862.o (.data); + build/e/assets/images/split/image863.o (.data); + build/e/assets/images/split/image864.o (.data); + build/e/assets/images/split/image865.o (.data); + build/e/assets/images/split/image866.o (.data); + build/e/assets/images/split/image867.o (.data); + build/e/assets/images/split/image868.o (.data); + build/e/assets/images/split/image869.o (.data); + build/e/assets/images/split/image870.o (.data); + build/e/assets/images/split/image871.o (.data); + build/e/assets/images/split/image872.o (.data); + build/e/assets/images/split/image873.o (.data); + build/e/assets/images/split/image874.o (.data); + build/e/assets/images/split/image875.o (.data); + build/e/assets/images/split/image876.o (.data); + build/e/assets/images/split/image877.o (.data); + build/e/assets/images/split/image878.o (.data); + build/e/assets/images/split/image879.o (.data); + build/e/assets/images/split/image880.o (.data); + build/e/assets/images/split/image881.o (.data); + build/e/assets/images/split/image882.o (.data); + build/e/assets/images/split/image883.o (.data); + build/e/assets/images/split/image884.o (.data); + build/e/assets/images/split/image885.o (.data); + build/e/assets/images/split/image886.o (.data); + build/e/assets/images/split/image887.o (.data); + build/e/assets/images/split/image888.o (.data); + build/e/assets/images/split/image889.o (.data); + build/e/assets/images/split/image890.o (.data); + build/e/assets/images/split/image891.o (.data); + build/e/assets/images/split/image892.o (.data); + build/e/assets/images/split/image893.o (.data); + build/e/assets/images/split/image894.o (.data); + build/e/assets/images/split/image895.o (.data); + build/e/assets/images/split/image896.o (.data); + build/e/assets/images/split/image897.o (.data); + build/e/assets/images/split/image898.o (.data); + build/e/assets/images/split/image899.o (.data); + build/e/assets/images/split/image900.o (.data); + build/e/assets/images/split/image901.o (.data); + build/e/assets/images/split/image902.o (.data); + build/e/assets/images/split/image903.o (.data); + build/e/assets/images/split/image904.o (.data); + build/e/assets/images/split/image905.o (.data); + build/e/assets/images/split/image906.o (.data); + build/e/assets/images/split/image907.o (.data); + build/e/assets/images/split/image908.o (.data); + build/e/assets/images/split/image909.o (.data); + build/e/assets/images/split/image910.o (.data); + build/e/assets/images/split/image911.o (.data); + build/e/assets/images/split/image912.o (.data); + build/e/assets/images/split/image913.o (.data); + build/e/assets/images/split/image914.o (.data); + build/e/assets/images/split/image915.o (.data); + build/e/assets/images/split/image916.o (.data); + build/e/assets/images/split/image917.o (.data); + build/e/assets/images/split/image918.o (.data); + build/e/assets/images/split/image919.o (.data); + build/e/assets/images/split/image920.o (.data); + build/e/assets/images/split/image921.o (.data); + build/e/assets/images/split/image922.o (.data); + build/e/assets/images/split/image923.o (.data); + build/e/assets/images/split/image924.o (.data); + build/e/assets/images/split/image925.o (.data); + build/e/assets/images/split/image926.o (.data); + build/e/assets/images/split/image927.o (.data); + build/e/assets/images/split/image928.o (.data); + build/e/assets/images/split/image929.o (.data); + build/e/assets/images/split/image930.o (.data); + build/e/assets/images/split/image931.o (.data); + build/e/assets/images/split/image932.o (.data); + build/e/assets/images/split/image933.o (.data); + build/e/assets/images/split/image934.o (.data); + build/e/assets/images/split/image935.o (.data); + build/e/assets/images/split/image936.o (.data); + build/e/assets/images/split/image937.o (.data); + build/e/assets/images/split/image938.o (.data); + build/e/assets/images/split/image939.o (.data); + build/e/assets/images/split/image940.o (.data); + build/e/assets/images/split/image941.o (.data); + build/e/assets/images/split/image942.o (.data); + build/e/assets/images/split/image943.o (.data); + build/e/assets/images/split/image944.o (.data); + build/e/assets/images/split/image945.o (.data); + build/e/assets/images/split/image946.o (.data); + build/e/assets/images/split/image947.o (.data); + build/e/assets/images/split/image948.o (.data); + build/e/assets/images/split/image949.o (.data); + build/e/assets/images/split/image950.o (.data); + build/e/assets/images/split/image951.o (.data); + build/e/assets/images/split/image952.o (.data); + build/e/assets/images/split/image953.o (.data); + build/e/assets/images/split/image954.o (.data); + build/e/assets/images/split/image955.o (.data); + build/e/assets/images/split/image956.o (.data); + build/e/assets/images/split/image957.o (.data); + build/e/assets/images/split/image958.o (.data); + build/e/assets/images/split/image959.o (.data); + build/e/assets/images/split/image960.o (.data); + build/e/assets/images/split/image961.o (.data); + build/e/assets/images/split/image962.o (.data); + build/e/assets/images/split/image963.o (.data); + build/e/assets/images/split/image964.o (.data); + build/e/assets/images/split/image965.o (.data); + build/e/assets/images/split/image966.o (.data); + build/e/assets/images/split/image967.o (.data); + build/e/assets/images/split/image968.o (.data); + build/e/assets/images/split/image969.o (.data); + build/e/assets/images/split/image970.o (.data); + build/e/assets/images/split/image971.o (.data); + build/e/assets/images/split/image972.o (.data); + build/e/assets/images/split/image973.o (.data); + build/e/assets/images/split/image974.o (.data); + build/e/assets/images/split/image975.o (.data); + build/e/assets/images/split/image976.o (.data); + build/e/assets/images/split/image977.o (.data); + build/e/assets/images/split/image978.o (.data); + build/e/assets/images/split/image979.o (.data); + build/e/assets/images/split/image980.o (.data); + build/e/assets/images/split/image981.o (.data); + build/e/assets/images/split/image982.o (.data); + build/e/assets/images/split/image983.o (.data); + build/e/assets/images/split/image984.o (.data); + build/e/assets/images/split/image985.o (.data); + build/e/assets/images/split/image986.o (.data); + build/e/assets/images/split/image987.o (.data); + build/e/assets/images/split/image988.o (.data); + build/e/assets/images/split/image989.o (.data); + build/e/assets/images/split/image990.o (.data); + build/e/assets/images/split/image991.o (.data); + build/e/assets/images/split/image992.o (.data); + build/e/assets/images/split/image993.o (.data); + build/e/assets/images/split/image994.o (.data); + build/e/assets/images/split/image995.o (.data); + build/e/assets/images/split/image996.o (.data); + build/e/assets/images/split/image997.o (.data); + build/e/assets/images/split/image998.o (.data); + build/e/assets/images/split/image999.o (.data); + build/e/assets/images/split/image1000.o (.data); + build/e/assets/images/split/image1001.o (.data); + build/e/assets/images/split/image1002.o (.data); + build/e/assets/images/split/image1003.o (.data); + build/e/assets/images/split/image1004.o (.data); + build/e/assets/images/split/image1005.o (.data); + build/e/assets/images/split/image1006.o (.data); + build/e/assets/images/split/image1007.o (.data); + build/e/assets/images/split/image1008.o (.data); + build/e/assets/images/split/image1009.o (.data); + build/e/assets/images/split/image1010.o (.data); + build/e/assets/images/split/image1011.o (.data); + build/e/assets/images/split/image1012.o (.data); + build/e/assets/images/split/image1013.o (.data); + build/e/assets/images/split/image1014.o (.data); + build/e/assets/images/split/image1015.o (.data); + build/e/assets/images/split/image1016.o (.data); + build/e/assets/images/split/image1017.o (.data); + build/e/assets/images/split/image1018.o (.data); + build/e/assets/images/split/image1019.o (.data); + build/e/assets/images/split/image1020.o (.data); + build/e/assets/images/split/image1021.o (.data); + build/e/assets/images/split/image1022.o (.data); + build/e/assets/images/split/image1023.o (.data); + build/e/assets/images/split/image1024.o (.data); + build/e/assets/images/split/image1025.o (.data); + build/e/assets/images/split/image1026.o (.data); + build/e/assets/images/split/image1027.o (.data); + build/e/assets/images/split/image1028.o (.data); + build/e/assets/images/split/image1029.o (.data); + build/e/assets/images/split/image1030.o (.data); + build/e/assets/images/split/image1031.o (.data); + build/e/assets/images/split/image1032.o (.data); + build/e/assets/images/split/image1033.o (.data); + build/e/assets/images/split/image1034.o (.data); + build/e/assets/images/split/image1035.o (.data); + build/e/assets/images/split/image1036.o (.data); + build/e/assets/images/split/image1037.o (.data); + build/e/assets/images/split/image1038.o (.data); + build/e/assets/images/split/image1039.o (.data); + build/e/assets/images/split/image1040.o (.data); + build/e/assets/images/split/image1041.o (.data); + build/e/assets/images/split/image1042.o (.data); + build/e/assets/images/split/image1043.o (.data); + build/e/assets/images/split/image1044.o (.data); + build/e/assets/images/split/image1045.o (.data); + build/e/assets/images/split/image1046.o (.data); + build/e/assets/images/split/image1047.o (.data); + build/e/assets/images/split/image1048.o (.data); + build/e/assets/images/split/image1049.o (.data); + build/e/assets/images/split/image1050.o (.data); + build/e/assets/images/split/image1051.o (.data); + build/e/assets/images/split/image1052.o (.data); + build/e/assets/images/split/image1053.o (.data); + build/e/assets/images/split/image1054.o (.data); + build/e/assets/images/split/image1055.o (.data); + build/e/assets/images/split/image1056.o (.data); + build/e/assets/images/split/image1057.o (.data); + build/e/assets/images/split/image1058.o (.data); + build/e/assets/images/split/image1059.o (.data); + build/e/assets/images/split/image1060.o (.data); + build/e/assets/images/split/image1061.o (.data); + build/e/assets/images/split/image1062.o (.data); + build/e/assets/images/split/image1063.o (.data); + build/e/assets/images/split/image1064.o (.data); + build/e/assets/images/split/image1065.o (.data); + build/e/assets/images/split/image1066.o (.data); + build/e/assets/images/split/image1067.o (.data); + build/e/assets/images/split/image1068.o (.data); + build/e/assets/images/split/image1069.o (.data); + build/e/assets/images/split/image1070.o (.data); + build/e/assets/images/split/image1071.o (.data); + build/e/assets/images/split/image1072.o (.data); + build/e/assets/images/split/image1073.o (.data); + build/e/assets/images/split/image1074.o (.data); + build/e/assets/images/split/image1075.o (.data); + build/e/assets/images/split/image1076.o (.data); + build/e/assets/images/split/image1077.o (.data); + build/e/assets/images/split/image1078.o (.data); + build/e/assets/images/split/image1079.o (.data); + build/e/assets/images/split/image1080.o (.data); + build/e/assets/images/split/image1081.o (.data); + build/e/assets/images/split/image1082.o (.data); + build/e/assets/images/split/image1083.o (.data); + build/e/assets/images/split/image1084.o (.data); + build/e/assets/images/split/image1085.o (.data); + build/e/assets/images/split/image1086.o (.data); + build/e/assets/images/split/image1087.o (.data); + build/e/assets/images/split/image1088.o (.data); + build/e/assets/images/split/image1089.o (.data); + build/e/assets/images/split/image1090.o (.data); + build/e/assets/images/split/image1091.o (.data); + build/e/assets/images/split/image1092.o (.data); + build/e/assets/images/split/image1093.o (.data); + build/e/assets/images/split/image1094.o (.data); + build/e/assets/images/split/image1095.o (.data); + build/e/assets/images/split/image1096.o (.data); + build/e/assets/images/split/image1097.o (.data); + build/e/assets/images/split/image1098.o (.data); + build/e/assets/images/split/image1099.o (.data); + build/e/assets/images/split/image1100.o (.data); + build/e/assets/images/split/image1101.o (.data); + build/e/assets/images/split/image1102.o (.data); + build/e/assets/images/split/image1103.o (.data); + build/e/assets/images/split/image1104.o (.data); + build/e/assets/images/split/image1105.o (.data); + build/e/assets/images/split/image1106.o (.data); + build/e/assets/images/split/image1107.o (.data); + build/e/assets/images/split/image1108.o (.data); + build/e/assets/images/split/image1109.o (.data); + build/e/assets/images/split/image1110.o (.data); + build/e/assets/images/split/image1111.o (.data); + build/e/assets/images/split/image1112.o (.data); + build/e/assets/images/split/image1113.o (.data); + build/e/assets/images/split/image1114.o (.data); + build/e/assets/images/split/image1115.o (.data); + build/e/assets/images/split/image1116.o (.data); + build/e/assets/images/split/image1117.o (.data); + build/e/assets/images/split/image1118.o (.data); + build/e/assets/images/split/image1119.o (.data); + build/e/assets/images/split/image1120.o (.data); + build/e/assets/images/split/image1121.o (.data); + build/e/assets/images/split/image1122.o (.data); + build/e/assets/images/split/image1123.o (.data); + build/e/assets/images/split/image1124.o (.data); + build/e/assets/images/split/image1125.o (.data); + build/e/assets/images/split/image1126.o (.data); + build/e/assets/images/split/image1127.o (.data); + build/e/assets/images/split/image1128.o (.data); + build/e/assets/images/split/image1129.o (.data); + build/e/assets/images/split/image1130.o (.data); + build/e/assets/images/split/image1131.o (.data); + build/e/assets/images/split/image1132.o (.data); + build/e/assets/images/split/image1133.o (.data); + build/e/assets/images/split/image1134.o (.data); + build/e/assets/images/split/image1135.o (.data); + build/e/assets/images/split/image1136.o (.data); + build/e/assets/images/split/image1137.o (.data); + build/e/assets/images/split/image1138.o (.data); + build/e/assets/images/split/image1139.o (.data); + build/e/assets/images/split/image1140.o (.data); + build/e/assets/images/split/image1141.o (.data); + build/e/assets/images/split/image1142.o (.data); + build/e/assets/images/split/image1143.o (.data); + build/e/assets/images/split/image1144.o (.data); + build/e/assets/images/split/image1145.o (.data); + build/e/assets/images/split/image1146.o (.data); + build/e/assets/images/split/image1147.o (.data); + build/e/assets/images/split/image1148.o (.data); + build/e/assets/images/split/image1149.o (.data); + build/e/assets/images/split/image1150.o (.data); + build/e/assets/images/split/image1151.o (.data); + build/e/assets/images/split/image1152.o (.data); + build/e/assets/images/split/image1153.o (.data); + build/e/assets/images/split/image1154.o (.data); + build/e/assets/images/split/image1155.o (.data); + build/e/assets/images/split/image1156.o (.data); + build/e/assets/images/split/image1157.o (.data); + build/e/assets/images/split/image1158.o (.data); + build/e/assets/images/split/image1159.o (.data); + build/e/assets/images/split/image1160.o (.data); + build/e/assets/images/split/image1161.o (.data); + build/e/assets/images/split/image1162.o (.data); + build/e/assets/images/split/image1163.o (.data); + build/e/assets/images/split/image1164.o (.data); + build/e/assets/images/split/image1165.o (.data); + build/e/assets/images/split/image1166.o (.data); + build/e/assets/images/split/image1167.o (.data); + build/e/assets/images/split/image1168.o (.data); + build/e/assets/images/split/image1169.o (.data); + build/e/assets/images/split/image1170.o (.data); + build/e/assets/images/split/image1171.o (.data); + build/e/assets/images/split/image1172.o (.data); + build/e/assets/images/split/image1173.o (.data); + build/e/assets/images/split/image1174.o (.data); + build/e/assets/images/split/image1175.o (.data); + build/e/assets/images/split/image1176.o (.data); + build/e/assets/images/split/image1177.o (.data); + build/e/assets/images/split/image1178.o (.data); + build/e/assets/images/split/image1179.o (.data); + build/e/assets/images/split/image1180.o (.data); + build/e/assets/images/split/image1181.o (.data); + build/e/assets/images/split/image1182.o (.data); + build/e/assets/images/split/image1183.o (.data); + build/e/assets/images/split/image1184.o (.data); + build/e/assets/images/split/image1185.o (.data); + build/e/assets/images/split/image1186.o (.data); + build/e/assets/images/split/image1187.o (.data); + build/e/assets/images/split/image1188.o (.data); + build/e/assets/images/split/image1189.o (.data); + build/e/assets/images/split/image1190.o (.data); + build/e/assets/images/split/image1191.o (.data); + build/e/assets/images/split/image1192.o (.data); + build/e/assets/images/split/image1193.o (.data); + build/e/assets/images/split/image1194.o (.data); + build/e/assets/images/split/image1195.o (.data); + build/e/assets/images/split/image1196.o (.data); + build/e/assets/images/split/image1197.o (.data); + build/e/assets/images/split/image1198.o (.data); + build/e/assets/images/split/image1199.o (.data); + build/e/assets/images/split/image1200.o (.data); + build/e/assets/images/split/image1201.o (.data); + build/e/assets/images/split/image1202.o (.data); + build/e/assets/images/split/image1203.o (.data); + build/e/assets/images/split/image1204.o (.data); + build/e/assets/images/split/image1205.o (.data); + build/e/assets/images/split/image1206.o (.data); + build/e/assets/images/split/image1207.o (.data); + build/e/assets/images/split/image1208.o (.data); + build/e/assets/images/split/image1209.o (.data); + build/e/assets/images/split/image1210.o (.data); + build/e/assets/images/split/image1211.o (.data); + build/e/assets/images/split/image1212.o (.data); + build/e/assets/images/split/image1213.o (.data); + build/e/assets/images/split/image1214.o (.data); + build/e/assets/images/split/image1215.o (.data); + build/e/assets/images/split/image1216.o (.data); + build/e/assets/images/split/image1217.o (.data); + build/e/assets/images/split/image1218.o (.data); + build/e/assets/images/split/image1219.o (.data); + build/e/assets/images/split/image1220.o (.data); + build/e/assets/images/split/image1221.o (.data); + build/e/assets/images/split/image1222.o (.data); + build/e/assets/images/split/image1223.o (.data); + build/e/assets/images/split/image1224.o (.data); + build/e/assets/images/split/image1225.o (.data); + build/e/assets/images/split/image1226.o (.data); + build/e/assets/images/split/image1227.o (.data); + build/e/assets/images/split/image1228.o (.data); + build/e/assets/images/split/image1229.o (.data); + build/e/assets/images/split/image1230.o (.data); + build/e/assets/images/split/image1231.o (.data); + build/e/assets/images/split/image1232.o (.data); + build/e/assets/images/split/image1233.o (.data); + build/e/assets/images/split/image1234.o (.data); + build/e/assets/images/split/image1235.o (.data); + build/e/assets/images/split/image1236.o (.data); + build/e/assets/images/split/image1237.o (.data); + build/e/assets/images/split/image1238.o (.data); + build/e/assets/images/split/image1239.o (.data); + build/e/assets/images/split/image1240.o (.data); + build/e/assets/images/split/image1241.o (.data); + build/e/assets/images/split/image1242.o (.data); + build/e/assets/images/split/image1243.o (.data); + build/e/assets/images/split/image1244.o (.data); + build/e/assets/images/split/image1245.o (.data); + build/e/assets/images/split/image1246.o (.data); + build/e/assets/images/split/image1247.o (.data); + build/e/assets/images/split/image1248.o (.data); + build/e/assets/images/split/image1249.o (.data); + build/e/assets/images/split/image1250.o (.data); + build/e/assets/images/split/image1251.o (.data); + build/e/assets/images/split/image1252.o (.data); + build/e/assets/images/split/image1253.o (.data); + build/e/assets/images/split/image1254.o (.data); + build/e/assets/images/split/image1255.o (.data); + build/e/assets/images/split/image1256.o (.data); + build/e/assets/images/split/image1257.o (.data); + build/e/assets/images/split/image1258.o (.data); + build/e/assets/images/split/image1259.o (.data); + build/e/assets/images/split/image1260.o (.data); + build/e/assets/images/split/image1261.o (.data); + build/e/assets/images/split/image1262.o (.data); + build/e/assets/images/split/image1263.o (.data); + build/e/assets/images/split/image1264.o (.data); + build/e/assets/images/split/image1265.o (.data); + build/e/assets/images/split/image1266.o (.data); + build/e/assets/images/split/image1267.o (.data); + build/e/assets/images/split/image1268.o (.data); + build/e/assets/images/split/image1269.o (.data); + build/e/assets/images/split/image1270.o (.data); + build/e/assets/images/split/image1271.o (.data); + build/e/assets/images/split/image1272.o (.data); + build/e/assets/images/split/image1273.o (.data); + build/e/assets/images/split/image1274.o (.data); + build/e/assets/images/split/image1275.o (.data); + build/e/assets/images/split/image1276.o (.data); + build/e/assets/images/split/image1277.o (.data); + build/e/assets/images/split/image1278.o (.data); + build/e/assets/images/split/image1279.o (.data); + build/e/assets/images/split/image1280.o (.data); + build/e/assets/images/split/image1281.o (.data); + build/e/assets/images/split/image1282.o (.data); + build/e/assets/images/split/image1283.o (.data); + build/e/assets/images/split/image1284.o (.data); + build/e/assets/images/split/image1285.o (.data); + build/e/assets/images/split/image1286.o (.data); + build/e/assets/images/split/image1287.o (.data); + build/e/assets/images/split/image1288.o (.data); + build/e/assets/images/split/image1289.o (.data); + build/e/assets/images/split/image1290.o (.data); + build/e/assets/images/split/image1291.o (.data); + build/e/assets/images/split/image1292.o (.data); + build/e/assets/images/split/image1293.o (.data); + build/e/assets/images/split/image1294.o (.data); + build/e/assets/images/split/image1295.o (.data); + build/e/assets/images/split/image1296.o (.data); + build/e/assets/images/split/image1297.o (.data); + build/e/assets/images/split/image1298.o (.data); + build/e/assets/images/split/image1299.o (.data); + build/e/assets/images/split/image1300.o (.data); + build/e/assets/images/split/image1301.o (.data); + build/e/assets/images/split/image1302.o (.data); + build/e/assets/images/split/image1303.o (.data); + build/e/assets/images/split/image1304.o (.data); + build/e/assets/images/split/image1305.o (.data); + build/e/assets/images/split/image1306.o (.data); + build/e/assets/images/split/image1307.o (.data); + build/e/assets/images/split/image1308.o (.data); + build/e/assets/images/split/image1309.o (.data); + build/e/assets/images/split/image1310.o (.data); + build/e/assets/images/split/image1311.o (.data); + build/e/assets/images/split/image1312.o (.data); + build/e/assets/images/split/image1313.o (.data); + build/e/assets/images/split/image1314.o (.data); + build/e/assets/images/split/image1315.o (.data); + build/e/assets/images/split/image1316.o (.data); + build/e/assets/images/split/image1317.o (.data); + build/e/assets/images/split/image1318.o (.data); + build/e/assets/images/split/image1319.o (.data); + build/e/assets/images/split/image1320.o (.data); + build/e/assets/images/split/image1321.o (.data); + build/e/assets/images/split/image1322.o (.data); + build/e/assets/images/split/image1323.o (.data); + build/e/assets/images/split/image1324.o (.data); + build/e/assets/images/split/image1325.o (.data); + build/e/assets/images/split/image1326.o (.data); + build/e/assets/images/split/image1327.o (.data); + build/e/assets/images/split/image1328.o (.data); + build/e/assets/images/split/image1329.o (.data); + build/e/assets/images/split/image1330.o (.data); + build/e/assets/images/split/image1331.o (.data); + build/e/assets/images/split/image1332.o (.data); + build/e/assets/images/split/image1333.o (.data); + build/e/assets/images/split/image1334.o (.data); + build/e/assets/images/split/image1335.o (.data); + build/e/assets/images/split/image1336.o (.data); + build/e/assets/images/split/image1337.o (.data); + build/e/assets/images/split/image1338.o (.data); + build/e/assets/images/split/image1339.o (.data); + build/e/assets/images/split/image1340.o (.data); + build/e/assets/images/split/image1341.o (.data); + build/e/assets/images/split/image1342.o (.data); + build/e/assets/images/split/image1343.o (.data); + build/e/assets/images/split/image1344.o (.data); + build/e/assets/images/split/image1345.o (.data); + build/e/assets/images/split/image1346.o (.data); + build/e/assets/images/split/image1347.o (.data); + build/e/assets/images/split/image1348.o (.data); + build/e/assets/images/split/image1349.o (.data); + build/e/assets/images/split/image1350.o (.data); + build/e/assets/images/split/image1351.o (.data); + build/e/assets/images/split/image1352.o (.data); + build/e/assets/images/split/image1353.o (.data); + build/e/assets/images/split/image1354.o (.data); + build/e/assets/images/split/image1355.o (.data); + build/e/assets/images/split/image1356.o (.data); + build/e/assets/images/split/image1357.o (.data); + build/e/assets/images/split/image1358.o (.data); + build/e/assets/images/split/image1359.o (.data); + build/e/assets/images/split/image1360.o (.data); + build/e/assets/images/split/image1361.o (.data); + build/e/assets/images/split/image1362.o (.data); + build/e/assets/images/split/image1363.o (.data); + build/e/assets/images/split/image1364.o (.data); + build/e/assets/images/split/image1365.o (.data); + build/e/assets/images/split/image1366.o (.data); + build/e/assets/images/split/image1367.o (.data); + build/e/assets/images/split/image1368.o (.data); + build/e/assets/images/split/image1369.o (.data); + build/e/assets/images/split/image1370.o (.data); + build/e/assets/images/split/image1371.o (.data); + build/e/assets/images/split/image1372.o (.data); + build/e/assets/images/split/image1373.o (.data); + build/e/assets/images/split/image1374.o (.data); + build/e/assets/images/split/image1375.o (.data); + build/e/assets/images/split/image1376.o (.data); + build/e/assets/images/split/image1377.o (.data); + build/e/assets/images/split/image1378.o (.data); + build/e/assets/images/split/image1379.o (.data); + build/e/assets/images/split/image1380.o (.data); + build/e/assets/images/split/image1381.o (.data); + build/e/assets/images/split/image1382.o (.data); + build/e/assets/images/split/image1383.o (.data); + build/e/assets/images/split/image1384.o (.data); + build/e/assets/images/split/image1385.o (.data); + build/e/assets/images/split/image1386.o (.data); + build/e/assets/images/split/image1387.o (.data); + build/e/assets/images/split/image1388.o (.data); + build/e/assets/images/split/image1389.o (.data); + build/e/assets/images/split/image1390.o (.data); + build/e/assets/images/split/image1391.o (.data); + build/e/assets/images/split/image1392.o (.data); + build/e/assets/images/split/image1393.o (.data); + build/e/assets/images/split/image1394.o (.data); + build/e/assets/images/split/image1395.o (.data); + build/e/assets/images/split/image1396.o (.data); + build/e/assets/images/split/image1397.o (.data); + build/e/assets/images/split/image1398.o (.data); + build/e/assets/images/split/image1399.o (.data); + build/e/assets/images/split/image1400.o (.data); + build/e/assets/images/split/image1401.o (.data); + build/e/assets/images/split/image1402.o (.data); + build/e/assets/images/split/image1403.o (.data); + build/e/assets/images/split/image1404.o (.data); + build/e/assets/images/split/image1405.o (.data); + build/e/assets/images/split/image1406.o (.data); + build/e/assets/images/split/image1407.o (.data); + build/e/assets/images/split/image1408.o (.data); + build/e/assets/images/split/image1409.o (.data); + build/e/assets/images/split/image1410.o (.data); + build/e/assets/images/split/image1411.o (.data); + build/e/assets/images/split/image1412.o (.data); + build/e/assets/images/split/image1413.o (.data); + build/e/assets/images/split/image1414.o (.data); + build/e/assets/images/split/image1415.o (.data); + build/e/assets/images/split/image1416.o (.data); + build/e/assets/images/split/image1417.o (.data); + build/e/assets/images/split/image1418.o (.data); + build/e/assets/images/split/image1419.o (.data); + build/e/assets/images/split/image1420.o (.data); + build/e/assets/images/split/image1421.o (.data); + build/e/assets/images/split/image1422.o (.data); + build/e/assets/images/split/image1423.o (.data); + build/e/assets/images/split/image1424.o (.data); + build/e/assets/images/split/image1425.o (.data); + build/e/assets/images/split/image1426.o (.data); + build/e/assets/images/split/image1427.o (.data); + build/e/assets/images/split/image1428.o (.data); + build/e/assets/images/split/image1429.o (.data); + build/e/assets/images/split/image1430.o (.data); + build/e/assets/images/split/image1431.o (.data); + build/e/assets/images/split/image1432.o (.data); + build/e/assets/images/split/image1433.o (.data); + build/e/assets/images/split/image1434.o (.data); + build/e/assets/images/split/image1435.o (.data); + build/e/assets/images/split/image1436.o (.data); + build/e/assets/images/split/image1437.o (.data); + build/e/assets/images/split/image1438.o (.data); + build/e/assets/images/split/image1439.o (.data); + build/e/assets/images/split/image1440.o (.data); + build/e/assets/images/split/image1441.o (.data); + build/e/assets/images/split/image1442.o (.data); + build/e/assets/images/split/image1443.o (.data); + build/e/assets/images/split/image1444.o (.data); + build/e/assets/images/split/image1445.o (.data); + build/e/assets/images/split/image1446.o (.data); + build/e/assets/images/split/image1447.o (.data); + build/e/assets/images/split/image1448.o (.data); + build/e/assets/images/split/image1449.o (.data); + build/e/assets/images/split/image1450.o (.data); + build/e/assets/images/split/image1451.o (.data); + build/e/assets/images/split/image1452.o (.data); + build/e/assets/images/split/image1453.o (.data); + build/e/assets/images/split/image1454.o (.data); + build/e/assets/images/split/image1455.o (.data); + build/e/assets/images/split/image1456.o (.data); + build/e/assets/images/split/image1457.o (.data); + build/e/assets/images/split/image1458.o (.data); + build/e/assets/images/split/image1459.o (.data); + build/e/assets/images/split/image1460.o (.data); + build/e/assets/images/split/image1461.o (.data); + build/e/assets/images/split/image1462.o (.data); + build/e/assets/images/split/image1463.o (.data); + build/e/assets/images/split/image1464.o (.data); + build/e/assets/images/split/image1465.o (.data); + build/e/assets/images/split/image1466.o (.data); + build/e/assets/images/split/image1467.o (.data); + build/e/assets/images/split/image1468.o (.data); + build/e/assets/images/split/image1469.o (.data); + build/e/assets/images/split/image1470.o (.data); + build/e/assets/images/split/image1471.o (.data); + build/e/assets/images/split/image1472.o (.data); + build/e/assets/images/split/image1473.o (.data); + build/e/assets/images/split/image1474.o (.data); + build/e/assets/images/split/image1475.o (.data); + build/e/assets/images/split/image1476.o (.data); + build/e/assets/images/split/image1477.o (.data); + build/e/assets/images/split/image1478.o (.data); + build/e/assets/images/split/image1479.o (.data); + build/e/assets/images/split/image1480.o (.data); + build/e/assets/images/split/image1481.o (.data); + build/e/assets/images/split/image1482.o (.data); + build/e/assets/images/split/image1483.o (.data); + build/e/assets/images/split/image1484.o (.data); + build/e/assets/images/split/image1485.o (.data); + build/e/assets/images/split/image1486.o (.data); + build/e/assets/images/split/image1487.o (.data); + build/e/assets/images/split/image1488.o (.data); + build/e/assets/images/split/image1489.o (.data); + build/e/assets/images/split/image1490.o (.data); + build/e/assets/images/split/image1491.o (.data); + build/e/assets/images/split/image1492.o (.data); + build/e/assets/images/split/image1493.o (.data); + build/e/assets/images/split/image1494.o (.data); + build/e/assets/images/split/image1495.o (.data); + build/e/assets/images/split/image1496.o (.data); + build/e/assets/images/split/image1497.o (.data); + build/e/assets/images/split/image1498.o (.data); + build/e/assets/images/split/image1499.o (.data); + build/e/assets/images/split/image1500.o (.data); + build/e/assets/images/split/image1501.o (.data); + build/e/assets/images/split/image1502.o (.data); + build/e/assets/images/split/image1503.o (.data); + build/e/assets/images/split/image1504.o (.data); + build/e/assets/images/split/image1505.o (.data); + build/e/assets/images/split/image1506.o (.data); + build/e/assets/images/split/image1507.o (.data); + build/e/assets/images/split/image1508.o (.data); + build/e/assets/images/split/image1509.o (.data); + build/e/assets/images/split/image1510.o (.data); + build/e/assets/images/split/image1511.o (.data); + build/e/assets/images/split/image1512.o (.data); + build/e/assets/images/split/image1513.o (.data); + build/e/assets/images/split/image1514.o (.data); + build/e/assets/images/split/image1515.o (.data); + build/e/assets/images/split/image1516.o (.data); + build/e/assets/images/split/image1517.o (.data); + build/e/assets/images/split/image1518.o (.data); + build/e/assets/images/split/image1519.o (.data); + build/e/assets/images/split/image1520.o (.data); + build/e/assets/images/split/image1521.o (.data); + build/e/assets/images/split/image1522.o (.data); + build/e/assets/images/split/image1523.o (.data); + build/e/assets/images/split/image1524.o (.data); + build/e/assets/images/split/image1525.o (.data); + build/e/assets/images/split/image1526.o (.data); + build/e/assets/images/split/image1527.o (.data); + build/e/assets/images/split/image1528.o (.data); + build/e/assets/images/split/image1529.o (.data); + build/e/assets/images/split/image1530.o (.data); + build/e/assets/images/split/image1531.o (.data); + build/e/assets/images/split/image1532.o (.data); + build/e/assets/images/split/image1533.o (.data); + build/e/assets/images/split/image1534.o (.data); + build/e/assets/images/split/image1535.o (.data); + build/e/assets/images/split/image1536.o (.data); + build/e/assets/images/split/image1537.o (.data); + build/e/assets/images/split/image1538.o (.data); + build/e/assets/images/split/image1539.o (.data); + build/e/assets/images/split/image1540.o (.data); + build/e/assets/images/split/image1541.o (.data); + build/e/assets/images/split/image1542.o (.data); + build/e/assets/images/split/image1543.o (.data); + build/e/assets/images/split/image1544.o (.data); + build/e/assets/images/split/image1545.o (.data); + build/e/assets/images/split/image1546.o (.data); + build/e/assets/images/split/image1547.o (.data); + build/e/assets/images/split/image1548.o (.data); + build/e/assets/images/split/image1549.o (.data); + build/e/assets/images/split/image1550.o (.data); + build/e/assets/images/split/image1551.o (.data); + build/e/assets/images/split/image1552.o (.data); + build/e/assets/images/split/image1553.o (.data); + build/e/assets/images/split/image1554.o (.data); + build/e/assets/images/split/image1555.o (.data); + build/e/assets/images/split/image1556.o (.data); + build/e/assets/images/split/image1557.o (.data); + build/e/assets/images/split/image1558.o (.data); + build/e/assets/images/split/image1559.o (.data); + build/e/assets/images/split/image1560.o (.data); + build/e/assets/images/split/image1561.o (.data); + build/e/assets/images/split/image1562.o (.data); + build/e/assets/images/split/image1563.o (.data); + build/e/assets/images/split/image1564.o (.data); + build/e/assets/images/split/image1565.o (.data); + build/e/assets/images/split/image1566.o (.data); + build/e/assets/images/split/image1567.o (.data); + build/e/assets/images/split/image1568.o (.data); + build/e/assets/images/split/image1569.o (.data); + build/e/assets/images/split/image1570.o (.data); + build/e/assets/images/split/image1571.o (.data); + build/e/assets/images/split/image1572.o (.data); + build/e/assets/images/split/image1573.o (.data); + build/e/assets/images/split/image1574.o (.data); + build/e/assets/images/split/image1575.o (.data); + build/e/assets/images/split/image1576.o (.data); + build/e/assets/images/split/image1577.o (.data); + build/e/assets/images/split/image1578.o (.data); + build/e/assets/images/split/image1579.o (.data); + build/e/assets/images/split/image1580.o (.data); + build/e/assets/images/split/image1581.o (.data); + build/e/assets/images/split/image1582.o (.data); + build/e/assets/images/split/image1583.o (.data); + build/e/assets/images/split/image1584.o (.data); + build/e/assets/images/split/image1585.o (.data); + build/e/assets/images/split/image1586.o (.data); + build/e/assets/images/split/image1587.o (.data); + build/e/assets/images/split/image1588.o (.data); + build/e/assets/images/split/image1589.o (.data); + build/e/assets/images/split/image1590.o (.data); + build/e/assets/images/split/image1591.o (.data); + build/e/assets/images/split/image1592.o (.data); + build/e/assets/images/split/image1593.o (.data); + build/e/assets/images/split/image1594.o (.data); + build/e/assets/images/split/image1595.o (.data); + build/e/assets/images/split/image1596.o (.data); + build/e/assets/images/split/image1597.o (.data); + build/e/assets/images/split/image1598.o (.data); + build/e/assets/images/split/image1599.o (.data); + build/e/assets/images/split/image1600.o (.data); + build/e/assets/images/split/image1601.o (.data); + build/e/assets/images/split/image1602.o (.data); + build/e/assets/images/split/image1603.o (.data); + build/e/assets/images/split/image1604.o (.data); + build/e/assets/images/split/image1605.o (.data); + build/e/assets/images/split/image1606.o (.data); + build/e/assets/images/split/image1607.o (.data); + build/e/assets/images/split/image1608.o (.data); + build/e/assets/images/split/image1609.o (.data); + build/e/assets/images/split/image1610.o (.data); + build/e/assets/images/split/image1611.o (.data); + build/e/assets/images/split/image1612.o (.data); + build/e/assets/images/split/image1613.o (.data); + build/e/assets/images/split/image1614.o (.data); + build/e/assets/images/split/image1615.o (.data); + build/e/assets/images/split/image1616.o (.data); + build/e/assets/images/split/image1617.o (.data); + build/e/assets/images/split/image1618.o (.data); + build/e/assets/images/split/image1619.o (.data); + build/e/assets/images/split/image1620.o (.data); + build/e/assets/images/split/image1621.o (.data); + build/e/assets/images/split/image1622.o (.data); + build/e/assets/images/split/image1623.o (.data); + build/e/assets/images/split/image1624.o (.data); + build/e/assets/images/split/image1625.o (.data); + build/e/assets/images/split/image1626.o (.data); + build/e/assets/images/split/image1627.o (.data); + build/e/assets/images/split/image1628.o (.data); + build/e/assets/images/split/image1629.o (.data); + build/e/assets/images/split/image1630.o (.data); + build/e/assets/images/split/image1631.o (.data); + build/e/assets/images/split/image1632.o (.data); + build/e/assets/images/split/image1633.o (.data); + build/e/assets/images/split/image1634.o (.data); + build/e/assets/images/split/image1635.o (.data); + build/e/assets/images/split/image1636.o (.data); + build/e/assets/images/split/image1637.o (.data); + build/e/assets/images/split/image1638.o (.data); + build/e/assets/images/split/image1639.o (.data); + build/e/assets/images/split/image1640.o (.data); + build/e/assets/images/split/image1641.o (.data); + build/e/assets/images/split/image1642.o (.data); + build/e/assets/images/split/image1643.o (.data); + build/e/assets/images/split/image1644.o (.data); + build/e/assets/images/split/image1645.o (.data); + build/e/assets/images/split/image1646.o (.data); + build/e/assets/images/split/image1647.o (.data); + build/e/assets/images/split/image1648.o (.data); + build/e/assets/images/split/image1649.o (.data); + build/e/assets/images/split/image1650.o (.data); + build/e/assets/images/split/image1651.o (.data); + build/e/assets/images/split/image1652.o (.data); + build/e/assets/images/split/image1653.o (.data); + build/e/assets/images/split/image1654.o (.data); + build/e/assets/images/split/image1655.o (.data); + build/e/assets/images/split/image1656.o (.data); + build/e/assets/images/split/image1657.o (.data); + build/e/assets/images/split/image1658.o (.data); + build/e/assets/images/split/image1659.o (.data); + build/e/assets/images/split/image1660.o (.data); + build/e/assets/images/split/image1661.o (.data); + build/e/assets/images/split/image1662.o (.data); + build/e/assets/images/split/image1663.o (.data); + build/e/assets/images/split/image1664.o (.data); + build/e/assets/images/split/image1665.o (.data); + build/e/assets/images/split/image1666.o (.data); + build/e/assets/images/split/image1667.o (.data); + build/e/assets/images/split/image1668.o (.data); + build/e/assets/images/split/image1669.o (.data); + build/e/assets/images/split/image1670.o (.data); + build/e/assets/images/split/image1671.o (.data); + build/e/assets/images/split/image1672.o (.data); + build/e/assets/images/split/image1673.o (.data); + build/e/assets/images/split/image1674.o (.data); + build/e/assets/images/split/image1675.o (.data); + build/e/assets/images/split/image1676.o (.data); + build/e/assets/images/split/image1677.o (.data); + build/e/assets/images/split/image1678.o (.data); + build/e/assets/images/split/image1679.o (.data); + build/e/assets/images/split/image1680.o (.data); + build/e/assets/images/split/image1681.o (.data); + build/e/assets/images/split/image1682.o (.data); + build/e/assets/images/split/image1683.o (.data); + build/e/assets/images/split/image1684.o (.data); + build/e/assets/images/split/image1685.o (.data); + build/e/assets/images/split/image1686.o (.data); + build/e/assets/images/split/image1687.o (.data); + build/e/assets/images/split/image1688.o (.data); + build/e/assets/images/split/image1689.o (.data); + build/e/assets/images/split/image1690.o (.data); + build/e/assets/images/split/image1691.o (.data); + build/e/assets/images/split/image1692.o (.data); + build/e/assets/images/split/image1693.o (.data); + build/e/assets/images/split/image1694.o (.data); + build/e/assets/images/split/image1695.o (.data); + build/e/assets/images/split/image1696.o (.data); + build/e/assets/images/split/image1697.o (.data); + build/e/assets/images/split/image1698.o (.data); + build/e/assets/images/split/image1699.o (.data); + build/e/assets/images/split/image1700.o (.data); + build/e/assets/images/split/image1701.o (.data); + build/e/assets/images/split/image1702.o (.data); + build/e/assets/images/split/image1703.o (.data); + build/e/assets/images/split/image1704.o (.data); + build/e/assets/images/split/image1705.o (.data); + build/e/assets/images/split/image1706.o (.data); + build/e/assets/images/split/image1707.o (.data); + build/e/assets/images/split/image1708.o (.data); + build/e/assets/images/split/image1709.o (.data); + build/e/assets/images/split/image1710.o (.data); + build/e/assets/images/split/image1711.o (.data); + build/e/assets/images/split/image1712.o (.data); + build/e/assets/images/split/image1713.o (.data); + build/e/assets/images/split/image1714.o (.data); + build/e/assets/images/split/image1715.o (.data); + build/e/assets/images/split/image1716.o (.data); + build/e/assets/images/split/image1717.o (.data); + build/e/assets/images/split/image1718.o (.data); + build/e/assets/images/split/image1719.o (.data); + build/e/assets/images/split/image1720.o (.data); + build/e/assets/images/split/image1721.o (.data); + build/e/assets/images/split/image1722.o (.data); + build/e/assets/images/split/image1723.o (.data); + build/e/assets/images/split/image1724.o (.data); + build/e/assets/images/split/image1725.o (.data); + build/e/assets/images/split/image1726.o (.data); + build/e/assets/images/split/image1727.o (.data); + build/e/assets/images/split/image1728.o (.data); + build/e/assets/images/split/image1729.o (.data); + build/e/assets/images/split/image1730.o (.data); + build/e/assets/images/split/image1731.o (.data); + build/e/assets/images/split/image1732.o (.data); + build/e/assets/images/split/image1733.o (.data); + build/e/assets/images/split/image1734.o (.data); + build/e/assets/images/split/image1735.o (.data); + build/e/assets/images/split/image1736.o (.data); + build/e/assets/images/split/image1737.o (.data); + build/e/assets/images/split/image1738.o (.data); + build/e/assets/images/split/image1739.o (.data); + build/e/assets/images/split/image1740.o (.data); + build/e/assets/images/split/image1741.o (.data); + build/e/assets/images/split/image1742.o (.data); + build/e/assets/images/split/image1743.o (.data); + build/e/assets/images/split/image1744.o (.data); + build/e/assets/images/split/image1745.o (.data); + build/e/assets/images/split/image1746.o (.data); + build/e/assets/images/split/image1747.o (.data); + build/e/assets/images/split/image1748.o (.data); + build/e/assets/images/split/image1749.o (.data); + build/e/assets/images/split/image1750.o (.data); + build/e/assets/images/split/image1751.o (.data); + build/e/assets/images/split/image1752.o (.data); + build/e/assets/images/split/image1753.o (.data); + build/e/assets/images/split/image1754.o (.data); + build/e/assets/images/split/image1755.o (.data); + build/e/assets/images/split/image1756.o (.data); + build/e/assets/images/split/image1757.o (.data); + build/e/assets/images/split/image1758.o (.data); + build/e/assets/images/split/image1759.o (.data); + build/e/assets/images/split/image1760.o (.data); + build/e/assets/images/split/image1761.o (.data); + build/e/assets/images/split/image1762.o (.data); + build/e/assets/images/split/image1763.o (.data); + build/e/assets/images/split/image1764.o (.data); + build/e/assets/images/split/image1765.o (.data); + build/e/assets/images/split/image1766.o (.data); + build/e/assets/images/split/image1767.o (.data); + build/e/assets/images/split/image1768.o (.data); + build/e/assets/images/split/image1769.o (.data); + build/e/assets/images/split/image1770.o (.data); + build/e/assets/images/split/image1771.o (.data); + build/e/assets/images/split/image1772.o (.data); + build/e/assets/images/split/image1773.o (.data); + build/e/assets/images/split/image1774.o (.data); + build/e/assets/images/split/image1775.o (.data); + build/e/assets/images/split/image1776.o (.data); + build/e/assets/images/split/image1777.o (.data); + build/e/assets/images/split/image1778.o (.data); + build/e/assets/images/split/image1779.o (.data); + build/e/assets/images/split/image1780.o (.data); + build/e/assets/images/split/image1781.o (.data); + build/e/assets/images/split/image1782.o (.data); + build/e/assets/images/split/image1783.o (.data); + build/e/assets/images/split/image1784.o (.data); + build/e/assets/images/split/image1785.o (.data); + build/e/assets/images/split/image1786.o (.data); + build/e/assets/images/split/image1787.o (.data); + build/e/assets/images/split/image1788.o (.data); + build/e/assets/images/split/image1789.o (.data); + build/e/assets/images/split/image1790.o (.data); + build/e/assets/images/split/image1791.o (.data); + build/e/assets/images/split/image1792.o (.data); + build/e/assets/images/split/image1793.o (.data); + build/e/assets/images/split/image1794.o (.data); + build/e/assets/images/split/image1795.o (.data); + build/e/assets/images/split/image1796.o (.data); + build/e/assets/images/split/image1797.o (.data); + build/e/assets/images/split/image1798.o (.data); + build/e/assets/images/split/image1799.o (.data); + build/e/assets/images/split/image1800.o (.data); + build/e/assets/images/split/image1801.o (.data); + build/e/assets/images/split/image1802.o (.data); + build/e/assets/images/split/image1803.o (.data); + build/e/assets/images/split/image1804.o (.data); + build/e/assets/images/split/image1805.o (.data); + build/e/assets/images/split/image1806.o (.data); + build/e/assets/images/split/image1807.o (.data); + build/e/assets/images/split/image1808.o (.data); + build/e/assets/images/split/image1809.o (.data); + build/e/assets/images/split/image1810.o (.data); + build/e/assets/images/split/image1811.o (.data); + build/e/assets/images/split/image1812.o (.data); + build/e/assets/images/split/image1813.o (.data); + build/e/assets/images/split/image1814.o (.data); + build/e/assets/images/split/image1815.o (.data); + build/e/assets/images/split/image1816.o (.data); + build/e/assets/images/split/image1817.o (.data); + build/e/assets/images/split/image1818.o (.data); + build/e/assets/images/split/image1819.o (.data); + build/e/assets/images/split/image1820.o (.data); + build/e/assets/images/split/image1821.o (.data); + build/e/assets/images/split/image1822.o (.data); + build/e/assets/images/split/image1823.o (.data); + build/e/assets/images/split/image1824.o (.data); + build/e/assets/images/split/image1825.o (.data); + build/e/assets/images/split/image1826.o (.data); + build/e/assets/images/split/image1827.o (.data); + build/e/assets/images/split/image1828.o (.data); + build/e/assets/images/split/image1829.o (.data); + build/e/assets/images/split/image1830.o (.data); + build/e/assets/images/split/image1831.o (.data); + build/e/assets/images/split/image1832.o (.data); + build/e/assets/images/split/image1833.o (.data); + build/e/assets/images/split/image1834.o (.data); + build/e/assets/images/split/image1835.o (.data); + build/e/assets/images/split/image1836.o (.data); + build/e/assets/images/split/image1837.o (.data); + build/e/assets/images/split/image1838.o (.data); + build/e/assets/images/split/image1839.o (.data); + build/e/assets/images/split/image1840.o (.data); + build/e/assets/images/split/image1841.o (.data); + build/e/assets/images/split/image1842.o (.data); + build/e/assets/images/split/image1843.o (.data); + build/e/assets/images/split/image1844.o (.data); + build/e/assets/images/split/image1845.o (.data); + build/e/assets/images/split/image1846.o (.data); + build/e/assets/images/split/image1847.o (.data); + build/e/assets/images/split/image1848.o (.data); + build/e/assets/images/split/image1849.o (.data); + build/e/assets/images/split/image1850.o (.data); + build/e/assets/images/split/image1851.o (.data); + build/e/assets/images/split/image1852.o (.data); + build/e/assets/images/split/image1853.o (.data); + build/e/assets/images/split/image1854.o (.data); + build/e/assets/images/split/image1855.o (.data); + build/e/assets/images/split/image1856.o (.data); + build/e/assets/images/split/image1857.o (.data); + build/e/assets/images/split/image1858.o (.data); + build/e/assets/images/split/image1859.o (.data); + build/e/assets/images/split/image1860.o (.data); + build/e/assets/images/split/image1861.o (.data); + build/e/assets/images/split/image1862.o (.data); + build/e/assets/images/split/image1863.o (.data); + build/e/assets/images/split/image1864.o (.data); + build/e/assets/images/split/image1865.o (.data); + build/e/assets/images/split/image1866.o (.data); + build/e/assets/images/split/image1867.o (.data); + build/e/assets/images/split/image1868.o (.data); + build/e/assets/images/split/image1869.o (.data); + build/e/assets/images/split/image1870.o (.data); + build/e/assets/images/split/image1871.o (.data); + build/e/assets/images/split/image1872.o (.data); + build/e/assets/images/split/image1873.o (.data); + build/e/assets/images/split/image1874.o (.data); + build/e/assets/images/split/image1875.o (.data); + build/e/assets/images/split/image1876.o (.data); + build/e/assets/images/split/image1877.o (.data); + build/e/assets/images/split/image1878.o (.data); + build/e/assets/images/split/image1879.o (.data); + build/e/assets/images/split/image1880.o (.data); + build/e/assets/images/split/image1881.o (.data); + build/e/assets/images/split/image1882.o (.data); + build/e/assets/images/split/image1883.o (.data); + build/e/assets/images/split/image1884.o (.data); + build/e/assets/images/split/image1885.o (.data); + build/e/assets/images/split/image1886.o (.data); + build/e/assets/images/split/image1887.o (.data); + build/e/assets/images/split/image1888.o (.data); + build/e/assets/images/split/image1889.o (.data); + build/e/assets/images/split/image1890.o (.data); + build/e/assets/images/split/image1891.o (.data); + build/e/assets/images/split/image1892.o (.data); + build/e/assets/images/split/image1893.o (.data); + build/e/assets/images/split/image1894.o (.data); + build/e/assets/images/split/image1895.o (.data); + build/e/assets/images/split/image1896.o (.data); + build/e/assets/images/split/image1897.o (.data); + build/e/assets/images/split/image1898.o (.data); + build/e/assets/images/split/image1899.o (.data); + build/e/assets/images/split/image1900.o (.data); + build/e/assets/images/split/image1901.o (.data); + build/e/assets/images/split/image1902.o (.data); + build/e/assets/images/split/image1903.o (.data); + build/e/assets/images/split/image1904.o (.data); + build/e/assets/images/split/image1905.o (.data); + build/e/assets/images/split/image1906.o (.data); + build/e/assets/images/split/image1907.o (.data); + build/e/assets/images/split/image1908.o (.data); + build/e/assets/images/split/image1909.o (.data); + build/e/assets/images/split/image1910.o (.data); + build/e/assets/images/split/image1911.o (.data); + build/e/assets/images/split/image1912.o (.data); + build/e/assets/images/split/image1913.o (.data); + build/e/assets/images/split/image1914.o (.data); + build/e/assets/images/split/image1915.o (.data); + build/e/assets/images/split/image1916.o (.data); + build/e/assets/images/split/image1917.o (.data); + build/e/assets/images/split/image1918.o (.data); + build/e/assets/images/split/image1919.o (.data); + build/e/assets/images/split/image1920.o (.data); + build/e/assets/images/split/image1921.o (.data); + build/e/assets/images/split/image1922.o (.data); + build/e/assets/images/split/image1923.o (.data); + build/e/assets/images/split/image1924.o (.data); + build/e/assets/images/split/image1925.o (.data); + build/e/assets/images/split/image1926.o (.data); + build/e/assets/images/split/image1927.o (.data); + build/e/assets/images/split/image1928.o (.data); + build/e/assets/images/split/image1929.o (.data); + build/e/assets/images/split/image1930.o (.data); + build/e/assets/images/split/image1931.o (.data); + build/e/assets/images/split/image1932.o (.data); + build/e/assets/images/split/image1933.o (.data); + build/e/assets/images/split/image1934.o (.data); + build/e/assets/images/split/image1935.o (.data); + build/e/assets/images/split/image1936.o (.data); + build/e/assets/images/split/image1937.o (.data); + build/e/assets/images/split/image1938.o (.data); + build/e/assets/images/split/image1939.o (.data); + build/e/assets/images/split/image1940.o (.data); + build/e/assets/images/split/image1941.o (.data); + build/e/assets/images/split/image1942.o (.data); + build/e/assets/images/split/image1943.o (.data); + build/e/assets/images/split/image1944.o (.data); + build/e/assets/images/split/image1945.o (.data); + build/e/assets/images/split/image1946.o (.data); + build/e/assets/images/split/image1947.o (.data); + build/e/assets/images/split/image1948.o (.data); + build/e/assets/images/split/image1949.o (.data); + build/e/assets/images/split/image1950.o (.data); + build/e/assets/images/split/image1951.o (.data); + build/e/assets/images/split/image1952.o (.data); + build/e/assets/images/split/image1953.o (.data); + build/e/assets/images/split/image1954.o (.data); + build/e/assets/images/split/image1955.o (.data); + build/e/assets/images/split/image1956.o (.data); + build/e/assets/images/split/image1957.o (.data); + build/e/assets/images/split/image1958.o (.data); + build/e/assets/images/split/image1959.o (.data); + build/e/assets/images/split/image1960.o (.data); + build/e/assets/images/split/image1961.o (.data); + build/e/assets/images/split/image1962.o (.data); + build/e/assets/images/split/image1963.o (.data); + build/e/assets/images/split/image1964.o (.data); + build/e/assets/images/split/image1965.o (.data); + build/e/assets/images/split/image1966.o (.data); + build/e/assets/images/split/image1967.o (.data); + build/e/assets/images/split/image1968.o (.data); + build/e/assets/images/split/image1969.o (.data); + build/e/assets/images/split/image1970.o (.data); + build/e/assets/images/split/image1971.o (.data); + build/e/assets/images/split/image1972.o (.data); + build/e/assets/images/split/image1973.o (.data); + build/e/assets/images/split/image1974.o (.data); + build/e/assets/images/split/image1975.o (.data); + build/e/assets/images/split/image1976.o (.data); + build/e/assets/images/split/image1977.o (.data); + build/e/assets/images/split/image1978.o (.data); + build/e/assets/images/split/image1979.o (.data); + build/e/assets/images/split/image1980.o (.data); + build/e/assets/images/split/image1981.o (.data); + build/e/assets/images/split/image1982.o (.data); + build/e/assets/images/split/image1983.o (.data); + build/e/assets/images/split/image1984.o (.data); + build/e/assets/images/split/image1985.o (.data); + build/e/assets/images/split/image1986.o (.data); + build/e/assets/images/split/image1987.o (.data); + build/e/assets/images/split/image1988.o (.data); + build/e/assets/images/split/image1989.o (.data); + build/e/assets/images/split/image1990.o (.data); + build/e/assets/images/split/image1991.o (.data); + build/e/assets/images/split/image1992.o (.data); + build/e/assets/images/split/image1993.o (.data); + build/e/assets/images/split/image1994.o (.data); + build/e/assets/images/split/image1995.o (.data); + build/e/assets/images/split/image1996.o (.data); + build/e/assets/images/split/image1997.o (.data); + build/e/assets/images/split/image1998.o (.data); + build/e/assets/images/split/image1999.o (.data); + build/e/assets/images/split/image2000.o (.data); + build/e/assets/images/split/image2001.o (.data); + build/e/assets/images/split/image2002.o (.data); + build/e/assets/images/split/image2003.o (.data); + build/e/assets/images/split/image2004.o (.data); + build/e/assets/images/split/image2005.o (.data); + build/e/assets/images/split/image2006.o (.data); + build/e/assets/images/split/image2007.o (.data); + build/e/assets/images/split/image2008.o (.data); + build/e/assets/images/split/image2009.o (.data); + build/e/assets/images/split/image2010.o (.data); + build/e/assets/images/split/image2011.o (.data); + build/e/assets/images/split/image2012.o (.data); + build/e/assets/images/split/image2013.o (.data); + build/e/assets/images/split/image2014.o (.data); + build/e/assets/images/split/image2015.o (.data); + build/e/assets/images/split/image2016.o (.data); + build/e/assets/images/split/image2017.o (.data); + build/e/assets/images/split/image2018.o (.data); + build/e/assets/images/split/image2019.o (.data); + build/e/assets/images/split/image2020.o (.data); + build/e/assets/images/split/image2021.o (.data); + build/e/assets/images/split/image2022.o (.data); + build/e/assets/images/split/image2023.o (.data); + build/e/assets/images/split/image2024.o (.data); + build/e/assets/images/split/image2025.o (.data); + build/e/assets/images/split/image2026.o (.data); + build/e/assets/images/split/image2027.o (.data); + build/e/assets/images/split/image2028.o (.data); + build/e/assets/images/split/image2029.o (.data); + build/e/assets/images/split/image2030.o (.data); + build/e/assets/images/split/image2031.o (.data); + build/e/assets/images/split/image2032.o (.data); + build/e/assets/images/split/image2033.o (.data); + build/e/assets/images/split/image2034.o (.data); + build/e/assets/images/split/image2035.o (.data); + build/e/assets/images/split/image2036.o (.data); + build/e/assets/images/split/image2037.o (.data); + build/e/assets/images/split/image2038.o (.data); + build/e/assets/images/split/image2039.o (.data); + build/e/assets/images/split/image2040.o (.data); + build/e/assets/images/split/image2041.o (.data); + build/e/assets/images/split/image2042.o (.data); + build/e/assets/images/split/image2043.o (.data); + build/e/assets/images/split/image2044.o (.data); + build/e/assets/images/split/image2045.o (.data); + build/e/assets/images/split/image2046.o (.data); + build/e/assets/images/split/image2047.o (.data); + build/e/assets/images/split/image2048.o (.data); + build/e/assets/images/split/image2049.o (.data); + build/e/assets/images/split/image2050.o (.data); + build/e/assets/images/split/image2051.o (.data); + build/e/assets/images/split/image2052.o (.data); + build/e/assets/images/split/image2053.o (.data); + build/e/assets/images/split/image2054.o (.data); + build/e/assets/images/split/image2055.o (.data); + build/e/assets/images/split/image2056.o (.data); + build/e/assets/images/split/image2057.o (.data); + build/e/assets/images/split/image2058.o (.data); + build/e/assets/images/split/image2059.o (.data); + build/e/assets/images/split/image2060.o (.data); + build/e/assets/images/split/image2061.o (.data); + build/e/assets/images/split/image2062.o (.data); + build/e/assets/images/split/image2063.o (.data); + build/e/assets/images/split/image2064.o (.data); + build/e/assets/images/split/image2065.o (.data); + build/e/assets/images/split/image2066.o (.data); + build/e/assets/images/split/image2067.o (.data); + build/e/assets/images/split/image2068.o (.data); + build/e/assets/images/split/image2069.o (.data); + build/e/assets/images/split/image2070.o (.data); + build/e/assets/images/split/image2071.o (.data); + build/e/assets/images/split/image2072.o (.data); + build/e/assets/images/split/image2073.o (.data); + build/e/assets/images/split/image2074.o (.data); + build/e/assets/images/split/image2075.o (.data); + build/e/assets/images/split/image2076.o (.data); + build/e/assets/images/split/image2077.o (.data); + build/e/assets/images/split/image2078.o (.data); + build/e/assets/images/split/image2079.o (.data); + build/e/assets/images/split/image2080.o (.data); + build/e/assets/images/split/image2081.o (.data); + build/e/assets/images/split/image2082.o (.data); + build/e/assets/images/split/image2083.o (.data); + build/e/assets/images/split/image2084.o (.data); + build/e/assets/images/split/image2085.o (.data); + build/e/assets/images/split/image2086.o (.data); + build/e/assets/images/split/image2087.o (.data); + build/e/assets/images/split/image2088.o (.data); + build/e/assets/images/split/image2089.o (.data); + build/e/assets/images/split/image2090.o (.data); + build/e/assets/images/split/image2091.o (.data); + build/e/assets/images/split/image2092.o (.data); + build/e/assets/images/split/image2093.o (.data); + build/e/assets/images/split/image2094.o (.data); + build/e/assets/images/split/image2095.o (.data); + build/e/assets/images/split/image2096.o (.data); + build/e/assets/images/split/image2097.o (.data); + build/e/assets/images/split/image2098.o (.data); + build/e/assets/images/split/image2099.o (.data); + build/e/assets/images/split/image2100.o (.data); + build/e/assets/images/split/image2101.o (.data); + build/e/assets/images/split/image2102.o (.data); + build/e/assets/images/split/image2103.o (.data); + build/e/assets/images/split/image2104.o (.data); + build/e/assets/images/split/image2105.o (.data); + build/e/assets/images/split/image2106.o (.data); + build/e/assets/images/split/image2107.o (.data); + build/e/assets/images/split/image2108.o (.data); + build/e/assets/images/split/image2109.o (.data); + build/e/assets/images/split/image2110.o (.data); + build/e/assets/images/split/image2111.o (.data); + build/e/assets/images/split/image2112.o (.data); + build/e/assets/images/split/image2113.o (.data); + build/e/assets/images/split/image2114.o (.data); + build/e/assets/images/split/image2115.o (.data); + build/e/assets/images/split/image2116.o (.data); + build/e/assets/images/split/image2117.o (.data); + build/e/assets/images/split/image2118.o (.data); + build/e/assets/images/split/image2119.o (.data); + build/e/assets/images/split/image2120.o (.data); + build/e/assets/images/split/image2121.o (.data); + build/e/assets/images/split/image2122.o (.data); + build/e/assets/images/split/image2123.o (.data); + build/e/assets/images/split/image2124.o (.data); + build/e/assets/images/split/image2125.o (.data); + build/e/assets/images/split/image2126.o (.data); + build/e/assets/images/split/image2127.o (.data); + build/e/assets/images/split/image2128.o (.data); + build/e/assets/images/split/image2129.o (.data); + build/e/assets/images/split/image2130.o (.data); + build/e/assets/images/split/image2131.o (.data); + build/e/assets/images/split/image2132.o (.data); + build/e/assets/images/split/image2133.o (.data); + build/e/assets/images/split/image2134.o (.data); + build/e/assets/images/split/image2135.o (.data); + build/e/assets/images/split/image2136.o (.data); + build/e/assets/images/split/image2137.o (.data); + build/e/assets/images/split/image2138.o (.data); + build/e/assets/images/split/image2139.o (.data); + build/e/assets/images/split/image2140.o (.data); + build/e/assets/images/split/image2141.o (.data); + build/e/assets/images/split/image2142.o (.data); + build/e/assets/images/split/image2143.o (.data); + build/e/assets/images/split/image2144.o (.data); + build/e/assets/images/split/image2145.o (.data); + build/e/assets/images/split/image2146.o (.data); + build/e/assets/images/split/image2147.o (.data); + build/e/assets/images/split/image2148.o (.data); + build/e/assets/images/split/image2149.o (.data); + build/e/assets/images/split/image2150.o (.data); + build/e/assets/images/split/image2151.o (.data); + build/e/assets/images/split/image2152.o (.data); + build/e/assets/images/split/image2153.o (.data); + build/e/assets/images/split/image2154.o (.data); + build/e/assets/images/split/image2155.o (.data); + build/e/assets/images/split/image2156.o (.data); + build/e/assets/images/split/image2157.o (.data); + build/e/assets/images/split/image2158.o (.data); + build/e/assets/images/split/image2159.o (.data); + build/e/assets/images/split/image2160.o (.data); + build/e/assets/images/split/image2161.o (.data); + build/e/assets/images/split/image2162.o (.data); + build/e/assets/images/split/image2163.o (.data); + build/e/assets/images/split/image2164.o (.data); + build/e/assets/images/split/image2165.o (.data); + build/e/assets/images/split/image2166.o (.data); + build/e/assets/images/split/image2167.o (.data); + build/e/assets/images/split/image2168.o (.data); + build/e/assets/images/split/image2169.o (.data); + build/e/assets/images/split/image2170.o (.data); + build/e/assets/images/split/image2171.o (.data); + build/e/assets/images/split/image2172.o (.data); + build/e/assets/images/split/image2173.o (.data); + build/e/assets/images/split/image2174.o (.data); + build/e/assets/images/split/image2175.o (.data); + build/e/assets/images/split/image2176.o (.data); + build/e/assets/images/split/image2177.o (.data); + build/e/assets/images/split/image2178.o (.data); + build/e/assets/images/split/image2179.o (.data); + build/e/assets/images/split/image2180.o (.data); + build/e/assets/images/split/image2181.o (.data); + build/e/assets/images/split/image2182.o (.data); + build/e/assets/images/split/image2183.o (.data); + build/e/assets/images/split/image2184.o (.data); + build/e/assets/images/split/image2185.o (.data); + build/e/assets/images/split/image2186.o (.data); + build/e/assets/images/split/image2187.o (.data); + build/e/assets/images/split/image2188.o (.data); + build/e/assets/images/split/image2189.o (.data); + build/e/assets/images/split/image2190.o (.data); + build/e/assets/images/split/image2191.o (.data); + build/e/assets/images/split/image2192.o (.data); + build/e/assets/images/split/image2193.o (.data); + build/e/assets/images/split/image2194.o (.data); + build/e/assets/images/split/image2195.o (.data); + build/e/assets/images/split/image2196.o (.data); + build/e/assets/images/split/image2197.o (.data); + build/e/assets/images/split/image2198.o (.data); + build/e/assets/images/split/image2199.o (.data); + build/e/assets/images/split/image2200.o (.data); + build/e/assets/images/split/image2201.o (.data); + build/e/assets/images/split/image2202.o (.data); + build/e/assets/images/split/image2203.o (.data); + build/e/assets/images/split/image2204.o (.data); + build/e/assets/images/split/image2205.o (.data); + build/e/assets/images/split/image2206.o (.data); + build/e/assets/images/split/image2207.o (.data); + build/e/assets/images/split/image2208.o (.data); + build/e/assets/images/split/image2209.o (.data); + build/e/assets/images/split/image2210.o (.data); + build/e/assets/images/split/image2211.o (.data); + build/e/assets/images/split/image2212.o (.data); + build/e/assets/images/split/image2213.o (.data); + build/e/assets/images/split/image2214.o (.data); + build/e/assets/images/split/image2215.o (.data); + build/e/assets/images/split/image2216.o (.data); + build/e/assets/images/split/image2217.o (.data); + build/e/assets/images/split/image2218.o (.data); + build/e/assets/images/split/image2219.o (.data); + build/e/assets/images/split/image2220.o (.data); + build/e/assets/images/split/image2221.o (.data); + build/e/assets/images/split/image2222.o (.data); + build/e/assets/images/split/image2223.o (.data); + build/e/assets/images/split/image2224.o (.data); + build/e/assets/images/split/image2225.o (.data); + build/e/assets/images/split/image2226.o (.data); + build/e/assets/images/split/image2227.o (.data); + build/e/assets/images/split/image2228.o (.data); + build/e/assets/images/split/image2229.o (.data); + build/e/assets/images/split/image2230.o (.data); + build/e/assets/images/split/image2231.o (.data); + build/e/assets/images/split/image2232.o (.data); + build/e/assets/images/split/image2233.o (.data); + build/e/assets/images/split/image2234.o (.data); + build/e/assets/images/split/image2235.o (.data); + build/e/assets/images/split/image2236.o (.data); + build/e/assets/images/split/image2237.o (.data); + build/e/assets/images/split/image2238.o (.data); + build/e/assets/images/split/image2239.o (.data); + build/e/assets/images/split/image2240.o (.data); + build/e/assets/images/split/image2241.o (.data); + build/e/assets/images/split/image2242.o (.data); + build/e/assets/images/split/image2243.o (.data); + build/e/assets/images/split/image2244.o (.data); + build/e/assets/images/split/image2245.o (.data); + build/e/assets/images/split/image2246.o (.data); + build/e/assets/images/split/image2247.o (.data); + build/e/assets/images/split/image2248.o (.data); + build/e/assets/images/split/image2249.o (.data); + build/e/assets/images/split/image2250.o (.data); + build/e/assets/images/split/image2251.o (.data); + build/e/assets/images/split/image2252.o (.data); + build/e/assets/images/split/image2253.o (.data); + build/e/assets/images/split/image2254.o (.data); + build/e/assets/images/split/image2255.o (.data); + build/e/assets/images/split/image2256.o (.data); + build/e/assets/images/split/image2257.o (.data); + build/e/assets/images/split/image2258.o (.data); + build/e/assets/images/split/image2259.o (.data); + build/e/assets/images/split/image2260.o (.data); + build/e/assets/images/split/image2261.o (.data); + build/e/assets/images/split/image2262.o (.data); + build/e/assets/images/split/image2263.o (.data); + build/e/assets/images/split/image2264.o (.data); + build/e/assets/images/split/image2265.o (.data); + build/e/assets/images/split/image2266.o (.data); + build/e/assets/images/split/image2267.o (.data); + build/e/assets/images/split/image2268.o (.data); + build/e/assets/images/split/image2269.o (.data); + build/e/assets/images/split/image2270.o (.data); + build/e/assets/images/split/image2271.o (.data); + build/e/assets/images/split/image2272.o (.data); + build/e/assets/images/split/image2273.o (.data); + build/e/assets/images/split/image2274.o (.data); + build/e/assets/images/split/image2275.o (.data); + build/e/assets/images/split/image2276.o (.data); + build/e/assets/images/split/image2277.o (.data); + build/e/assets/images/split/image2278.o (.data); + build/e/assets/images/split/image2279.o (.data); + build/e/assets/images/split/image2280.o (.data); + build/e/assets/images/split/image2281.o (.data); + build/e/assets/images/split/image2282.o (.data); + build/e/assets/images/split/image2283.o (.data); + build/e/assets/images/split/image2284.o (.data); + build/e/assets/images/split/image2285.o (.data); + build/e/assets/images/split/image2286.o (.data); + build/e/assets/images/split/image2287.o (.data); + build/e/assets/images/split/image2288.o (.data); + build/e/assets/images/split/image2289.o (.data); + build/e/assets/images/split/image2290.o (.data); + build/e/assets/images/split/image2291.o (.data); + build/e/assets/images/split/image2292.o (.data); + build/e/assets/images/split/image2293.o (.data); + build/e/assets/images/split/image2294.o (.data); + build/e/assets/images/split/image2295.o (.data); + build/e/assets/images/split/image2296.o (.data); + build/e/assets/images/split/image2297.o (.data); + build/e/assets/images/split/image2298.o (.data); + build/e/assets/images/split/image2299.o (.data); + build/e/assets/images/split/image2300.o (.data); + build/e/assets/images/split/image2301.o (.data); + build/e/assets/images/split/image2302.o (.data); + build/e/assets/images/split/image2303.o (.data); + build/e/assets/images/split/image2304.o (.data); + build/e/assets/images/split/image2305.o (.data); + build/e/assets/images/split/image2306.o (.data); + build/e/assets/images/split/image2307.o (.data); + build/e/assets/images/split/image2308.o (.data); + build/e/assets/images/split/image2309.o (.data); + build/e/assets/images/split/image2310.o (.data); + build/e/assets/images/split/image2311.o (.data); + build/e/assets/images/split/image2312.o (.data); + build/e/assets/images/split/image2313.o (.data); + build/e/assets/images/split/image2314.o (.data); + build/e/assets/images/split/image2315.o (.data); + build/e/assets/images/split/image2316.o (.data); + build/e/assets/images/split/image2317.o (.data); + build/e/assets/images/split/image2318.o (.data); + build/e/assets/images/split/image2319.o (.data); + build/e/assets/images/split/image2320.o (.data); + build/e/assets/images/split/image2321.o (.data); + build/e/assets/images/split/image2322.o (.data); + build/e/assets/images/split/image2323.o (.data); + build/e/assets/images/split/image2324.o (.data); + build/e/assets/images/split/image2325.o (.data); + build/e/assets/images/split/image2326.o (.data); + build/e/assets/images/split/image2327.o (.data); + build/e/assets/images/split/image2328.o (.data); + build/e/assets/images/split/image2329.o (.data); + build/e/assets/images/split/image2330.o (.data); + build/e/assets/images/split/image2331.o (.data); + build/e/assets/images/split/image2332.o (.data); + build/e/assets/images/split/image2333.o (.data); + build/e/assets/images/split/image2334.o (.data); + build/e/assets/images/split/image2335.o (.data); + build/e/assets/images/split/image2336.o (.data); + build/e/assets/images/split/image2337.o (.data); + build/e/assets/images/split/image2338.o (.data); + build/e/assets/images/split/image2339.o (.data); + build/e/assets/images/split/image2340.o (.data); + build/e/assets/images/split/image2341.o (.data); + build/e/assets/images/split/image2342.o (.data); + build/e/assets/images/split/image2343.o (.data); + build/e/assets/images/split/image2344.o (.data); + build/e/assets/images/split/image2345.o (.data); + build/e/assets/images/split/image2346.o (.data); + build/e/assets/images/split/image2347.o (.data); + build/e/assets/images/split/image2348.o (.data); + build/e/assets/images/split/image2349.o (.data); + build/e/assets/images/split/image2350.o (.data); + build/e/assets/images/split/image2351.o (.data); + build/e/assets/images/split/image2352.o (.data); + build/e/assets/images/split/image2353.o (.data); + build/e/assets/images/split/image2354.o (.data); + build/e/assets/images/split/image2355.o (.data); + build/e/assets/images/split/image2356.o (.data); + build/e/assets/images/split/image2357.o (.data); + build/e/assets/images/split/image2358.o (.data); + build/e/assets/images/split/image2359.o (.data); + build/e/assets/images/split/image2360.o (.data); + build/e/assets/images/split/image2361.o (.data); + build/e/assets/images/split/image2362.o (.data); + build/e/assets/images/split/image2363.o (.data); + build/e/assets/images/split/image2364.o (.data); + build/e/assets/images/split/image2365.o (.data); + build/e/assets/images/split/image2366.o (.data); + build/e/assets/images/split/image2367.o (.data); + build/e/assets/images/split/image2368.o (.data); + build/e/assets/images/split/image2369.o (.data); + build/e/assets/images/split/image2370.o (.data); + build/e/assets/images/split/image2371.o (.data); + build/e/assets/images/split/image2372.o (.data); + build/e/assets/images/split/image2373.o (.data); + build/e/assets/images/split/image2374.o (.data); + build/e/assets/images/split/image2375.o (.data); + build/e/assets/images/split/image2376.o (.data); + build/e/assets/images/split/image2377.o (.data); + build/e/assets/images/split/image2378.o (.data); + build/e/assets/images/split/image2379.o (.data); + build/e/assets/images/split/image2380.o (.data); + build/e/assets/images/split/image2381.o (.data); + build/e/assets/images/split/image2382.o (.data); + build/e/assets/images/split/image2383.o (.data); + build/e/assets/images/split/image2384.o (.data); + build/e/assets/images/split/image2385.o (.data); + build/e/assets/images/split/image2386.o (.data); + build/e/assets/images/split/image2387.o (.data); + build/e/assets/images/split/image2388.o (.data); + build/e/assets/images/split/image2389.o (.data); + build/e/assets/images/split/image2390.o (.data); + build/e/assets/images/split/image2391.o (.data); + build/e/assets/images/split/image2392.o (.data); + build/e/assets/images/split/image2393.o (.data); + build/e/assets/images/split/image2394.o (.data); + build/e/assets/images/split/image2395.o (.data); + build/e/assets/images/split/image2396.o (.data); + build/e/assets/images/split/image2397.o (.data); + build/e/assets/images/split/image2398.o (.data); + build/e/assets/images/split/image2399.o (.data); + build/e/assets/images/split/image2400.o (.data); + build/e/assets/images/split/image2401.o (.data); + build/e/assets/images/split/image2402.o (.data); + build/e/assets/images/split/image2403.o (.data); + build/e/assets/images/split/image2404.o (.data); + build/e/assets/images/split/image2405.o (.data); + build/e/assets/images/split/image2406.o (.data); + build/e/assets/images/split/image2407.o (.data); + build/e/assets/images/split/image2408.o (.data); + build/e/assets/images/split/image2409.o (.data); + build/e/assets/images/split/image2410.o (.data); + build/e/assets/images/split/image2411.o (.data); + build/e/assets/images/split/image2412.o (.data); + build/e/assets/images/split/image2413.o (.data); + build/e/assets/images/split/image2414.o (.data); + build/e/assets/images/split/image2415.o (.data); + build/e/assets/images/split/image2416.o (.data); + build/e/assets/images/split/image2417.o (.data); + build/e/assets/images/split/image2418.o (.data); + build/e/assets/images/split/image2419.o (.data); + build/e/assets/images/split/image2420.o (.data); + build/e/assets/images/split/image2421.o (.data); + build/e/assets/images/split/image2422.o (.data); + build/e/assets/images/split/image2423.o (.data); + build/e/assets/images/split/image2424.o (.data); + build/e/assets/images/split/image2425.o (.data); + build/e/assets/images/split/image2426.o (.data); + build/e/assets/images/split/image2427.o (.data); + build/e/assets/images/split/image2428.o (.data); + build/e/assets/images/split/image2429.o (.data); + build/e/assets/images/split/image2430.o (.data); + build/e/assets/images/split/image2431.o (.data); + build/e/assets/images/split/image2432.o (.data); + build/e/assets/images/split/image2433.o (.data); + build/e/assets/images/split/image2434.o (.data); + build/e/assets/images/split/image2435.o (.data); + build/e/assets/images/split/image2436.o (.data); + build/e/assets/images/split/image2437.o (.data); + build/e/assets/images/split/image2438.o (.data); + build/e/assets/images/split/image2439.o (.data); + build/e/assets/images/split/image2440.o (.data); + build/e/assets/images/split/image2441.o (.data); + build/e/assets/images/split/image2442.o (.data); + build/e/assets/images/split/image2443.o (.data); + build/e/assets/images/split/image2444.o (.data); + build/e/assets/images/split/image2445.o (.data); + build/e/assets/images/split/image2446.o (.data); + build/e/assets/images/split/image2447.o (.data); + build/e/assets/images/split/image2448.o (.data); + build/e/assets/images/split/image2449.o (.data); + build/e/assets/images/split/image2450.o (.data); + build/e/assets/images/split/image2451.o (.data); + build/e/assets/images/split/image2452.o (.data); + build/e/assets/images/split/image2453.o (.data); + build/e/assets/images/split/image2454.o (.data); + build/e/assets/images/split/image2455.o (.data); + build/e/assets/images/split/image2456.o (.data); + build/e/assets/images/split/image2457.o (.data); + build/e/assets/images/split/image2458.o (.data); + build/e/assets/images/split/image2459.o (.data); + build/e/assets/images/split/image2460.o (.data); + build/e/assets/images/split/image2461.o (.data); + build/e/assets/images/split/image2462.o (.data); + build/e/assets/images/split/image2463.o (.data); + build/e/assets/images/split/image2464.o (.data); + build/e/assets/images/split/image2465.o (.data); + build/e/assets/images/split/image2466.o (.data); + build/e/assets/images/split/image2467.o (.data); + build/e/assets/images/split/image2468.o (.data); + build/e/assets/images/split/image2469.o (.data); + build/e/assets/images/split/image2470.o (.data); + build/e/assets/images/split/image2471.o (.data); + build/e/assets/images/split/image2472.o (.data); + build/e/assets/images/split/image2473.o (.data); + build/e/assets/images/split/image2474.o (.data); + build/e/assets/images/split/image2475.o (.data); + build/e/assets/images/split/image2476.o (.data); + build/e/assets/images/split/image2477.o (.data); + build/e/assets/images/split/image2478.o (.data); + build/e/assets/images/split/image2479.o (.data); + build/e/assets/images/split/image2480.o (.data); + build/e/assets/images/split/image2481.o (.data); + build/e/assets/images/split/image2482.o (.data); + build/e/assets/images/split/image2483.o (.data); + build/e/assets/images/split/image2484.o (.data); + build/e/assets/images/split/image2485.o (.data); + build/e/assets/images/split/image2486.o (.data); + build/e/assets/images/split/image2487.o (.data); + build/e/assets/images/split/image2488.o (.data); + build/e/assets/images/split/image2489.o (.data); + build/e/assets/images/split/image2490.o (.data); + build/e/assets/images/split/image2491.o (.data); + build/e/assets/images/split/image2492.o (.data); + build/e/assets/images/split/image2493.o (.data); + build/e/assets/images/split/image2494.o (.data); + build/e/assets/images/split/image2495.o (.data); + build/e/assets/images/split/image2496.o (.data); + build/e/assets/images/split/image2497.o (.data); + build/e/assets/images/split/image2498.o (.data); + build/e/assets/images/split/image2499.o (.data); + build/e/assets/images/split/image2500.o (.data); + build/e/assets/images/split/image2501.o (.data); + build/e/assets/images/split/image2502.o (.data); + build/e/assets/images/split/image2503.o (.data); + build/e/assets/images/split/image2504.o (.data); + build/e/assets/images/split/image2505.o (.data); + build/e/assets/images/split/image2506.o (.data); + build/e/assets/images/split/image2507.o (.data); + build/e/assets/images/split/image2508.o (.data); + build/e/assets/images/split/image2509.o (.data); + build/e/assets/images/split/image2510.o (.data); + build/e/assets/images/split/image2511.o (.data); + build/e/assets/images/split/image2512.o (.data); + build/e/assets/images/split/image2513.o (.data); + build/e/assets/images/split/image2514.o (.data); + build/e/assets/images/split/image2515.o (.data); + build/e/assets/images/split/image2516.o (.data); + build/e/assets/images/split/image2517.o (.data); + build/e/assets/images/split/image2518.o (.data); + build/e/assets/images/split/image2519.o (.data); + build/e/assets/images/split/image2520.o (.data); + build/e/assets/images/split/image2521.o (.data); + build/e/assets/images/split/image2522.o (.data); + build/e/assets/images/split/image2523.o (.data); + build/e/assets/images/split/image2524.o (.data); + build/e/assets/images/split/image2525.o (.data); + build/e/assets/images/split/image2526.o (.data); + build/e/assets/images/split/image2527.o (.data); + build/e/assets/images/split/image2528.o (.data); + build/e/assets/images/split/image2529.o (.data); + build/e/assets/images/split/image2530.o (.data); + build/e/assets/images/split/image2531.o (.data); + build/e/assets/images/split/image2532.o (.data); + build/e/assets/images/split/image2533.o (.data); + build/e/assets/images/split/image2534.o (.data); + build/e/assets/images/split/image2535.o (.data); + build/e/assets/images/split/image2536.o (.data); + build/e/assets/images/split/image2537.o (.data); + build/e/assets/images/split/image2538.o (.data); + build/e/assets/images/split/image2539.o (.data); + build/e/assets/images/split/image2540.o (.data); + build/e/assets/images/split/image2541.o (.data); + build/e/assets/images/split/image2542.o (.data); + build/e/assets/images/split/image2543.o (.data); + build/e/assets/images/split/image2544.o (.data); + build/e/assets/images/split/image2545.o (.data); + build/e/assets/images/split/image2546.o (.data); + build/e/assets/images/split/image2547.o (.data); + build/e/assets/images/split/image2548.o (.data); + build/e/assets/images/split/image2549.o (.data); + build/e/assets/images/split/image2550.o (.data); + build/e/assets/images/split/image2551.o (.data); + build/e/assets/images/split/image2552.o (.data); + build/e/assets/images/split/image2553.o (.data); + build/e/assets/images/split/image2554.o (.data); + build/e/assets/images/split/image2555.o (.data); + build/e/assets/images/split/image2556.o (.data); + build/e/assets/images/split/image2557.o (.data); + build/e/assets/images/split/image2558.o (.data); + build/e/assets/images/split/image2559.o (.data); + build/e/assets/images/split/image2560.o (.data); + build/e/assets/images/split/image2561.o (.data); + build/e/assets/images/split/image2562.o (.data); + build/e/assets/images/split/image2563.o (.data); + build/e/assets/images/split/image2564.o (.data); + build/e/assets/images/split/image2565.o (.data); + build/e/assets/images/split/image2566.o (.data); + build/e/assets/images/split/image2567.o (.data); + build/e/assets/images/split/image2568.o (.data); + build/e/assets/images/split/image2569.o (.data); + build/e/assets/images/split/image2570.o (.data); + build/e/assets/images/split/image2571.o (.data); + build/e/assets/images/split/image2572.o (.data); + build/e/assets/images/split/image2573.o (.data); + build/e/assets/images/split/image2574.o (.data); + build/e/assets/images/split/image2575.o (.data); + build/e/assets/images/split/image2576.o (.data); + build/e/assets/images/split/image2577.o (.data); + build/e/assets/images/split/image2578.o (.data); + build/e/assets/images/split/image2579.o (.data); + build/e/assets/images/split/image2580.o (.data); + build/e/assets/images/split/image2581.o (.data); + build/e/assets/images/split/image2582.o (.data); + build/e/assets/images/split/image2583.o (.data); + build/e/assets/images/split/image2584.o (.data); + build/e/assets/images/split/image2585.o (.data); + build/e/assets/images/split/image2586.o (.data); + build/e/assets/images/split/image2587.o (.data); + build/e/assets/images/split/image2588.o (.data); + build/e/assets/images/split/image2589.o (.data); + build/e/assets/images/split/image2590.o (.data); + build/e/assets/images/split/image2591.o (.data); + build/e/assets/images/split/image2592.o (.data); + build/e/assets/images/split/image2593.o (.data); + build/e/assets/images/split/image2594.o (.data); + build/e/assets/images/split/image2595.o (.data); + build/e/assets/images/split/image2596.o (.data); + build/e/assets/images/split/image2597.o (.data); + build/e/assets/images/split/image2598.o (.data); + build/e/assets/images/split/image2599.o (.data); + build/e/assets/images/split/image2600.o (.data); + build/e/assets/images/split/image2601.o (.data); + build/e/assets/images/split/image2602.o (.data); + build/e/assets/images/split/image2603.o (.data); + build/e/assets/images/split/image2604.o (.data); + build/e/assets/images/split/image2605.o (.data); + build/e/assets/images/split/image2606.o (.data); + build/e/assets/images/split/image2607.o (.data); + build/e/assets/images/split/image2608.o (.data); + build/e/assets/images/split/image2609.o (.data); + build/e/assets/images/split/image2610.o (.data); + build/e/assets/images/split/image2611.o (.data); + build/e/assets/images/split/image2612.o (.data); + build/e/assets/images/split/image2613.o (.data); + build/e/assets/images/split/image2614.o (.data); + build/e/assets/images/split/image2615.o (.data); + build/e/assets/images/split/image2616.o (.data); + build/e/assets/images/split/image2617.o (.data); + build/e/assets/images/split/image2618.o (.data); + build/e/assets/images/split/image2619.o (.data); + build/e/assets/images/split/image2620.o (.data); + build/e/assets/images/split/image2621.o (.data); + build/e/assets/images/split/image2622.o (.data); + build/e/assets/images/split/image2623.o (.data); + build/e/assets/images/split/image2624.o (.data); + build/e/assets/images/split/image2625.o (.data); + build/e/assets/images/split/image2626.o (.data); + build/e/assets/images/split/image2627.o (.data); + build/e/assets/images/split/image2628.o (.data); + build/e/assets/images/split/image2629.o (.data); + build/e/assets/images/split/image2630.o (.data); + build/e/assets/images/split/image2631.o (.data); + build/e/assets/images/split/image2632.o (.data); + build/e/assets/images/split/image2633.o (.data); + build/e/assets/images/split/image2634.o (.data); + build/e/assets/images/split/image2635.o (.data); + build/e/assets/images/split/image2636.o (.data); + build/e/assets/images/split/image2637.o (.data); + build/e/assets/images/split/image2638.o (.data); + build/e/assets/images/split/image2639.o (.data); + build/e/assets/images/split/image2640.o (.data); + build/e/assets/images/split/image2641.o (.data); + build/e/assets/images/split/image2642.o (.data); + build/e/assets/images/split/image2643.o (.data); + build/e/assets/images/split/image2644.o (.data); + build/e/assets/images/split/image2645.o (.data); + build/e/assets/images/split/image2646.o (.data); + build/e/assets/images/split/image2647.o (.data); + build/e/assets/images/split/image2648.o (.data); + build/e/assets/images/split/image2649.o (.data); + build/e/assets/images/split/image2650.o (.data); + build/e/assets/images/split/image2651.o (.data); + build/e/assets/images/split/image2652.o (.data); + build/e/assets/images/split/image2653.o (.data); + build/e/assets/images/split/image2654.o (.data); + build/e/assets/images/split/image2655.o (.data); + build/e/assets/images/split/image2656.o (.data); + build/e/assets/images/split/image2657.o (.data); + build/e/assets/images/split/image2658.o (.data); + build/e/assets/images/split/image2659.o (.data); + build/e/assets/images/split/image2660.o (.data); + build/e/assets/images/split/image2661.o (.data); + build/e/assets/images/split/image2662.o (.data); + build/e/assets/images/split/image2663.o (.data); + build/e/assets/images/split/image2664.o (.data); + build/e/assets/images/split/image2665.o (.data); + build/e/assets/images/split/image2666.o (.data); + build/e/assets/images/split/image2667.o (.data); + build/e/assets/images/split/image2668.o (.data); + build/e/assets/images/split/image2669.o (.data); + build/e/assets/images/split/image2670.o (.data); + build/e/assets/images/split/image2671.o (.data); + build/e/assets/images/split/image2672.o (.data); + build/e/assets/images/split/image2673.o (.data); + build/e/assets/images/split/image2674.o (.data); + build/e/assets/images/split/image2675.o (.data); + build/e/assets/images/split/image2676.o (.data); + build/e/assets/images/split/image2677.o (.data); + build/e/assets/images/split/image2678.o (.data); + build/e/assets/images/split/image2679.o (.data); + build/e/assets/images/split/image2680.o (.data); + build/e/assets/images/split/image2681.o (.data); + build/e/assets/images/split/image2682.o (.data); + build/e/assets/images/split/image2683.o (.data); + build/e/assets/images/split/image2684.o (.data); + build/e/assets/images/split/image2685.o (.data); + build/e/assets/images/split/image2686.o (.data); + build/e/assets/images/split/image2687.o (.data); + build/e/assets/images/split/image2688.o (.data); + build/e/assets/images/split/image2689.o (.data); + build/e/assets/images/split/image2690.o (.data); + build/e/assets/images/split/image2691.o (.data); + build/e/assets/images/split/image2692.o (.data); + build/e/assets/images/split/image2693.o (.data); + build/e/assets/images/split/image2694.o (.data); + build/e/assets/images/split/image2695.o (.data); + build/e/assets/images/split/image2696.o (.data); + build/e/assets/images/split/image2697.o (.data); + build/e/assets/images/split/image2698.o (.data); + build/e/assets/images/split/image2699.o (.data); } _imagesSegmentEnd = ADDR(.images) + SIZEOF(.images); _imagesSegmentRomEnd = _imagesSegmentRomStart + SIZEOF(.images); @@ -2980,308 +3068,494 @@ SECTIONS _csegmentSegmentStart = ADDR(.csegment); _csegmentSegmentRomStart = __csegtempPos; .csegment __dataSegmentVaddrStart : AT(_csegmentSegmentRomStart) { - build/src/rspboot.o (.text); - build/src/gspboot.o (.text); - build/src/aspboot.o (.text); - build/src/boot.o (.data); - build/src/init.o (.data); - build/src/sched.o (.data); - build/src/osMapTLB.o (.data); - build/src/tlb_manage.o (.data); - build/src/tlb_random.o (.data); - build/src/tlb_resolve.o (.data); - build/src/tlb_hardwire.o (.data); - build/src/audi.o (.data); - build/src/speed_graph.o (.data); - build/src/video.o (.data); - build/src/deb.o (.data); - build/src/deb_video.o (.data); - build/src/deb_print.o (.data); - build/src/debug_getlastRA.o (.data); - build/src/ramrom.o (.data); - build/src/boss.o (.data); - build/src/music.o (.data); - build/src/snd.o (.data); - build/src/memp.o (.data); - build/src/mema.o (.data); - build/src/random.o (.data); - build/src/token.o (.data); - build/src/str.o (.data); - build/src/sprintf.o (.data); - build/src/pi.o (.data); - build/src/vi.o (.data); - build/src/debugmenu.o (.data); - build/src/joy.o (.data); - build/src/joy_rumble.o (.data); - build/src/rmon.o (.data); - build/libultra/libultra.o (.data); + build/e/src/rspboot.o (.text); + build/e/src/gspboot.o (.text); + build/e/src/aspboot.o (.text); + build/e/src/boot.o (.data); + build/e/src/init.o (.data); + build/e/src/sched.o (.data); + build/e/src/osMapTLB.o (.data); - build/src/aspboot.o (.rodata); - build/src/boot.o (.rodata); - build/src/init.o (.rodata); - build/src/sched.o (.rodata); - build/src/osMapTLB.o (.rodata); - build/src/tlb_manage.o (.rodata); - build/src/tlb_random.o (.rodata); - build/src/tlb_resolve.o (.rodata); - build/src/tlb_hardwire.o (.rodata); - build/src/audi.o (.rodata); - build/src/speed_graph.o (.rodata); - build/src/video.o (.rodata); - build/src/deb.o (.rodata); - build/src/deb_video.o (.rodata); - build/src/deb_print.o (.rodata); - build/src/debug_getlastRA.o (.rodata); - build/src/ramrom.o (.rodata); - build/src/boss.o (.rodata); - build/src/music.o (.rodata); - build/src/snd.o (.rodata); - build/src/memp.o (.rodata); - build/src/mema.o (.rodata); - build/src/random.o (.rodata); - build/src/token.o (.rodata); - build/src/str.o (.rodata); - build/src/sprintf.o (.rodata); - build/src/pi.o (.rodata); - build/src/vi.o (.rodata); - build/src/debugmenu.o (.rodata); - build/src/joy.o (.rodata); - build/src/joy_rumble.o (.rodata); - build/src/rmon.o (.rodata); - build/libultra/libultra.o (.rodata); + build/e/src/libultra/osCreateViManager.o (.data); + build/e/src/libultra/osCreatePiManager.o (.data); - build/src/game/initgamedata.o (.data); - build/src/game/initweaponanigroups.o (.data); - build/src/game/initactorpropstuff.o (.data); - build/src/game/initnull_0009D0.o (.data); - build/src/game/initunk_0009E0.o (.data); - build/src/game/initanitable.o (.data); - build/src/game/initunk_000B60.o (.data); - build/src/game/setguscale.o (.data); - build/src/game/initnull_000BC0.o (.data); - build/src/game/initimages.o (.data); - build/src/game/initintromatrices.o (.data); - build/src/game/initmenus.o (.data); - build/src/game/initguards.o (.data); - build/src/game/deb_loadallmodels.o (.data); - build/src/game/initobjects.o (.data); - build/src/game/prop.o (.data); - build/src/game/objective.o (.data); - build/src/game/ejectedcartridges.o (.data); - build/src/game/initBondDATA.o (.data); - build/src/game/initunk_005450.o (.data); - build/src/game/initunk_005520.o (.data); - build/src/game/initcameraandthrown.o (.data); - build/src/game/inititemslots.o (.data); - build/src/game/initBondDATAdefaults.o (.data); - build/src/game/initpathtablesomething.o (.data); - build/src/game/initpathtablelinks.o (.data); - build/src/game/initexplosioncasing.o (.data); - build/src/game/initunk_007180.o (.data); - build/src/game/initunk_007290.o (.data); - build/src/game/initunk_0072B0.o (.data); - build/src/game/initmttex.o (.data); - build/src/game/initunk_0073B0.o (.data); - build/src/game/initunk_007460.o (.data); - build/src/game/cleanup_alarms.o (.data); - build/src/game/cleanup_objects.o (.data); - build/src/game/cleanup_objectives.o (.data); - build/src/game/cleanupSFXRelated.o (.data); - build/src/game/playerstats_007770.o (.data); - build/src/game/unk_007800.o (.data); - build/src/game/unk_007920.o (.data); - build/src/game/null_007970.o (.data); - build/src/game/unk_007980.o (.data); - build/src/game/intro_logos.o (.data); - build/src/game/mainmenu.o (.data); - build/src/game/unk_01B0E0.o (.data); - build/src/game/unk_01B240.o (.data); - build/src/game/unk_01BAE0.o (.data); - build/src/game/blood_animation.o (.data); - build/src/game/blood_decrypt.o (.data); - build/src/game/gamefile.o (.data); - build/src/game/chr.o (.data); - build/src/game/chrai.o (.data); - build/src/game/loadobjectmodel.o (.data); - build/src/game/objective_status.o (.data); - build/src/game/sin.o (.data); - build/src/game/unk_057FD0.o (.data); - build/src/game/unk_05A9E0.o (.data); - build/src/game/convertangleusinginverse.o (.data); - build/src/game/unk_05AB70.o (.data); - build/src/game/unk_05ACB0.o (.data); - build/src/game/unk_05AE00.o (.data); - build/src/game/unk_05B1E0.o (.data); - build/src/game/truncf.o (.data); - build/src/game/unk_05C440.o (.data); - build/src/game/bondwalk.o (.data); - build/src/game/objecthandler.o (.data); - build/src/game/objecthandler_2.o (.data); - build/src/game/othermodemicrocode.o (.data); - build/src/game/bond.o (.data); - build/src/game/unk_08DBB0.o (.data); - build/src/game/debugmenu_08FE00.o (.data); - build/src/game/debugmenu_090490.o (.data); - build/src/game/unk_091080.o (.data); - build/src/game/cheat_buttons.o (.data); - build/src/game/unk_092890.o (.data); - build/src/game/unk_092E50.o (.data); - build/src/game/unk_093880.o (.data); - build/src/game/unk_09B600.o (.data); - build/src/game/unk_09B740.o (.data); - build/src/game/unk_09B7A0.o (.data); - build/src/game/unk_09C250.o (.data); - build/src/game/unk_0A1DA0.o (.data); - build/src/game/watch.o (.data); - build/src/game/textrelated.o (.data); - build/src/game/stan.o (.data); - build/src/game/unk_0B3200.o (.data); - build/src/game/bg.o (.data); - build/src/game/fog.o (.data); - build/src/game/lightfixture.o (.data); - build/src/game/unk_0BC530.o (.data); - build/src/game/ob.o (.data); - build/src/game/dyn.o (.data); - build/src/game/lvl.o (.data); - build/src/game/lvl_2.o (.data); - build/src/game/unk_0C0A70.o (.data); - build/src/game/mp_music.o (.data); - build/src/game/lvl_text.o (.data); - build/src/game/mp_watch.o (.data); - build/src/game/radar.o (.data); - build/src/game/mp_weapon.o (.data); - build/src/game/image.o (.data); - build/src/game/image_bank.o (.data); - build/src/game/unk_0CC4C0.o (.data); - build/src/game/decompress.o (.data); - build/src/game/zlib.o (.data); - build/src/game/rsp.o (.data); - build/src/game/indy_comms.o (.data); - build/src/game/indy_commands.o (.data); - build/src/game/game_debug.o (.data); - build/src/game/compiletime.o (.data); - build/src/game/unk_0D1AC0.o (.data); - build/src/game/viewport.o (.data); - build/src/game/music_0D2720.o (.data); - build/src/game/spectrum.o (.data); + build/e/src/tlb_manage.o (.data); + build/e/src/tlb_random.o (.data); + build/e/src/tlb_resolve.o (.data); + build/e/src/tlb_hardwire.o (.data); + build/e/src/audi.o (.data); + build/e/src/speed_graph.o (.data); + build/e/src/video.o (.data); + build/e/src/deb.o (.data); + build/e/src/deb_video.o (.data); + build/e/src/deb_print.o (.data); + build/e/src/debug_getlastRA.o (.data); + build/e/src/ramrom.o (.data); + build/e/src/boss.o (.data); + build/e/src/music.o (.data); + build/e/src/snd.o (.data); + build/e/src/memp.o (.data); + build/e/src/mema.o (.data); + build/e/src/random.o (.data); + build/e/src/token.o (.data); + build/e/src/str.o (.data); + build/e/src/sprintf.o (.data); + build/e/src/pi.o (.data); + build/e/src/vi.o (.data); + build/e/src/debugmenu.o (.data); + build/e/src/joy.o (.data); + build/e/src/joy_rumble.o (.data); + build/e/src/rmon.o (.data); - build/src/game/initgamedata.o (.rodata); - build/src/game/initweaponanigroups.o (.rodata); - build/src/game/initactorpropstuff.o (.rodata); - build/src/game/initnull_0009D0.o (.rodata); - build/src/game/initunk_0009E0.o (.rodata); - build/src/game/initanitable.o (.rodata); - build/src/game/initunk_000B60.o (.rodata); - build/src/game/setguscale.o (.rodata); - build/src/game/initnull_000BC0.o (.rodata); - build/src/game/initimages.o (.rodata); - build/src/game/initintromatrices.o (.rodata); - build/src/game/initmenus.o (.rodata); - build/src/game/initguards.o (.rodata); - build/src/game/deb_loadallmodels.o (.rodata); - build/src/game/initobjects.o (.rodata); - build/src/game/prop.o (.rodata); - build/src/game/objective.o (.rodata); - build/src/game/ejectedcartridges.o (.rodata); - build/src/game/initBondDATA.o (.rodata); - build/src/game/initunk_005450.o (.rodata); - build/src/game/initunk_005520.o (.rodata); - build/src/game/initcameraandthrown.o (.rodata); - build/src/game/inititemslots.o (.rodata); - build/src/game/initBondDATAdefaults.o (.rodata); - build/src/game/initpathtablesomething.o (.rodata); - build/src/game/initpathtablelinks.o (.rodata); - build/src/game/initexplosioncasing.o (.rodata); - build/src/game/initunk_007180.o (.rodata); - build/src/game/initunk_007290.o (.rodata); - build/src/game/initunk_0072B0.o (.rodata); - build/src/game/initmttex.o (.rodata); - build/src/game/initunk_0073B0.o (.rodata); - build/src/game/initunk_007460.o (.rodata); - build/src/game/cleanup_alarms.o (.rodata); - build/src/game/cleanup_objects.o (.rodata); - build/src/game/cleanup_objectives.o (.rodata); - build/src/game/cleanupSFXRelated.o (.rodata); - build/src/game/playerstats_007770.o (.rodata); - build/src/game/unk_007800.o (.rodata); - build/src/game/unk_007920.o (.rodata); - build/src/game/null_007970.o (.rodata); - build/src/game/unk_007980.o (.rodata); - build/src/game/intro_logos.o (.rodata); - build/src/game/mainmenu.o (.rodata); - build/src/game/unk_01B0E0.o (.rodata); - build/src/game/unk_01B240.o (.rodata); - build/src/game/unk_01BAE0.o (.rodata); - build/src/game/blood_animation.o (.rodata); - build/src/game/blood_decrypt.o (.rodata); - build/src/game/gamefile.o (.rodata); - build/src/game/chr.o (.rodata); - build/src/game/chrai.o (.rodata); - build/src/game/loadobjectmodel.o (.rodata); - build/src/game/objective_status.o (.rodata); - build/src/game/sin.o (.rodata); - build/src/game/unk_057FD0.o (.rodata); - build/src/game/unk_05A9E0.o (.rodata); - build/src/game/convertangleusinginverse.o (.rodata); - build/src/game/unk_05AB70.o (.rodata); - build/src/game/unk_05ACB0.o (.rodata); - build/src/game/unk_05AE00.o (.rodata); - build/src/game/unk_05B1E0.o (.rodata); - build/src/game/truncf.o (.rodata); - build/src/game/unk_05C440.o (.rodata); - build/src/game/bondwalk.o (.rodata); - build/src/game/objecthandler.o (.rodata); - build/src/game/objecthandler_2.o (.rodata); - build/src/game/othermodemicrocode.o (.rodata); - build/src/game/bond.o (.rodata); - build/src/game/unk_08DBB0.o (.rodata); - build/src/game/debugmenu_08FE00.o (.rodata); - build/src/game/debugmenu_090490.o (.rodata); - build/src/game/unk_091080.o (.rodata); - build/src/game/cheat_buttons.o (.rodata); - build/src/game/unk_092890.o (.rodata); - build/src/game/unk_092E50.o (.rodata); - build/src/game/unk_093880.o (.rodata); - build/src/game/unk_09B600.o (.rodata); - build/src/game/unk_09B740.o (.rodata); - build/src/game/unk_09B7A0.o (.rodata); - build/src/game/unk_09C250.o (.rodata); - build/src/game/unk_0A1DA0.o (.rodata); - build/src/game/watch.o (.rodata); - build/src/game/textrelated.o (.rodata); - build/src/game/stan.o (.rodata); - build/src/game/unk_0B3200.o (.rodata); - build/src/game/bg.o (.rodata); - build/src/game/fog.o (.rodata); - build/src/game/lightfixture.o (.rodata); - build/src/game/unk_0BC530.o (.rodata); - build/src/game/ob.o (.rodata); - build/src/game/dyn.o (.rodata); - build/src/game/lvl.o (.rodata); - build/src/game/lvl_2.o (.rodata); - build/src/game/unk_0C0A70.o (.rodata); - build/src/game/mp_music.o (.rodata); - build/src/game/lvl_text.o (.rodata); - build/src/game/mp_watch.o (.rodata); - build/src/game/radar.o (.rodata); - build/src/game/mp_weapon.o (.rodata); - build/src/game/image.o (.rodata); - build/src/game/image_bank.o (.rodata); - build/src/game/unk_0CC4C0.o (.rodata); - build/src/game/decompress.o (.rodata); - build/src/game/zlib.o (.rodata); - build/src/game/rsp.o (.rodata); - build/src/game/indy_comms.o (.rodata); - build/src/game/indy_commands.o (.rodata); - build/src/game/game_debug.o (.rodata); - build/src/game/compiletime.o (.rodata); - build/src/game/unk_0D1AC0.o (.rodata); - build/src/game/viewport.o (.rodata); - build/src/game/music_0D2720.o (.rodata); - build/src/game/spectrum.o (.rodata); + build/e/src/libultra/osPiRawStartDma.o (.data); + build/e/src/libultra/osPiGetStatus.o (.data); + build/e/src/libultra/osInitialize.o (.data); + build/e/src/libultra/osWritebackDCacheAll.o (.data); + build/e/src/libultra/osInvalICache.o (.data); + build/e/src/libultra/osUnmapTLB.o (.data); + build/e/src/libultra/__osGetFpcCsr.o (.data); + build/e/src/libultra/__osSetFpcCsr.o (.data); + build/e/src/libultra/osCreateThread.o (.data); + build/e/src/libultra/osStartThread.o (.data); + build/e/src/libultra/osCreateMesgQueue.o (.data); + build/e/src/libultra/osStopThread.o (.data); + build/e/src/libultra/osSetThreadPri.o (.data); + build/e/src/libultra/osGetCount.o (.data); - build/src/gspboot.o (.data); - build/src/aspboot.o (.data); + build/e/src/libultra/osViModeTable.o (.data); + build/e/src/libultra/osSetEventMesg.o (.data); + build/e/src/libultra/osViSetEvent.o (.data); + build/e/src/libultra/osSetIntMask.o (.data); + build/e/src/libultra/osRecvMesg.o (.data); + build/e/src/libultra/osSendMesg.o (.data); + build/e/src/libultra/osViSetMode.o (.data); + build/e/src/libultra/osViSetXScale.o (.data); + build/e/src/libultra/osViSetYScale.o (.data); + build/e/src/libultra/osViRepeatLine.o (.data); + build/e/src/libultra/osViBlack.o (.data); + build/e/src/libultra/osSpTaskYielded.o (.data); + build/e/src/libultra/osDpGetCounters.o (.data); + build/e/src/libultra/osViGetCurrentFramebuffer.o (.data); + build/e/src/libultra/osViGetNextFramebuffer.o (.data); + build/e/src/libultra/osViSwapBuffer.o (.data); + build/e/src/libultra/osDpSetStatus.o (.data); + build/e/src/libultra/osSpTaskLoad.o (.data); + build/e/src/libultra/osDpSetNextBuffer.o (.data); + build/e/src/libultra/osSpTaskYield.o (.data); + build/e/src/libultra/__osGetTLBHi.o (.data); + build/e/src/libultra/osVirtualToPhysical.o (.data); + build/e/src/libultra/osAiSetFrequency.o (.data); + build/e/src/libultra/alInit.o (.data); + build/e/src/libultra/osGetTime.o (.data); + build/e/src/libultra/ll.o (.data); + build/e/src/libultra/osAiGetLength.o (.data); + build/e/src/libultra/syn.o (.data); + build/e/src/libultra/osPiStartDma.o (.data); + build/e/src/libultra/osViSetSpecialFeatures.o (.data); + build/e/src/libultra/_bcopy.o (.data); + build/e/src/libultra/guPerspective.o (.data); + build/e/src/libultra/Mtx.o (.data); + build/e/src/libultra/__osGetCurrFaultedThread.o (.data); + build/e/src/libultra/exception.o (.data); + build/e/src/libultra/__osDequeueThread.o (.data); + build/e/src/libultra/osYieldThread.o (.data); + build/e/src/libultra/osInvalDCache.o (.data); + build/e/src/libultra/osWritebackDCache.o (.data); + build/e/src/libultra/osSetTimer.o (.data); + build/e/src/libultra/alHeapInit.o (.data); + build/e/src/libultra/alBnkfNew.o (.data); + build/e/src/libultra/__CSP.o (.data); + build/e/src/libultra/alSeqpSetBank.o (.data); + build/e/src/libultra/alCSPGetState.o (.data); + build/e/src/libultra/csequencer.o (.data); + build/e/src/libultra/alCSPSetSeq.o (.data); + build/e/src/libultra/alCSPPlay.o (.data); + build/e/src/libultra/alCSPStop.o (.data); + build/e/src/libultra/alCSPSetVol.o (.data); + build/e/src/libultra/alEvtq.o (.data); + build/e/src/libultra/alSynAddPlayer.o (.data); + build/e/src/libultra/alSynAllocVoice.o (.data); + build/e/src/libultra/alSynSetVol.o (.data); + build/e/src/libultra/alSynStartVoice.o (.data); + build/e/src/libultra/alSynSetPan.o (.data); + build/e/src/libultra/alSynSetPitch.o (.data); + build/e/src/libultra/alSynSetFXMix.o (.data); + build/e/src/libultra/alSynStopVoice.o (.data); + build/e/src/libultra/alSynFreeVoice.o (.data); + build/e/src/libultra/alCents2Ratio.o (.data); + build/e/src/libultra/osPiReadIo.o (.data); + build/e/src/libultra/string.o (.data); + build/e/src/libultra/_Printf.o (.data); + + build/e/src/libultra/libultra.o (.data); + /*build/e/src/libultra/libultra.a:libultra.o (.data);*/ + + build/e/src/aspboot.o (.rodata); + build/e/src/boot.o (.rodata); + build/e/src/init.o (.rodata); + build/e/src/sched.o (.rodata); + build/e/src/osMapTLB.o (.rodata); + + build/e/src/libultra/osCreateViManager.o (.rodata); + build/e/src/libultra/osCreatePiManager.o (.rodata); + + build/e/src/tlb_manage.o (.rodata); + build/e/src/tlb_random.o (.rodata); + build/e/src/tlb_resolve.o (.rodata); + build/e/src/tlb_hardwire.o (.rodata); + build/e/src/audi.o (.rodata); + build/e/src/speed_graph.o (.rodata); + build/e/src/video.o (.rodata); + build/e/src/deb.o (.rodata); + build/e/src/deb_video.o (.rodata); + build/e/src/deb_print.o (.rodata); + build/e/src/debug_getlastRA.o (.rodata); + build/e/src/ramrom.o (.rodata); + build/e/src/boss.o (.rodata); + build/e/src/music.o (.rodata); + build/e/src/snd.o (.rodata); + build/e/src/memp.o (.rodata); + build/e/src/mema.o (.rodata); + build/e/src/random.o (.rodata); + build/e/src/token.o (.rodata); + build/e/src/str.o (.rodata); + build/e/src/sprintf.o (.rodata); + build/e/src/pi.o (.rodata); + build/e/src/vi.o (.rodata); + build/e/src/debugmenu.o (.rodata); + build/e/src/joy.o (.rodata); + build/e/src/joy_rumble.o (.rodata); + build/e/src/rmon.o (.rodata); + + build/e/src/libultra/osPiRawStartDma.o (.rodata); + build/e/src/libultra/osPiGetStatus.o (.rodata); + build/e/src/libultra/osInitialize.o (.rodata); + build/e/src/libultra/osWritebackDCacheAll.o (.rodata); + build/e/src/libultra/osInvalICache.o (.rodata); + build/e/src/libultra/osUnmapTLB.o (.rodata); + build/e/src/libultra/__osGetFpcCsr.o (.rodata); + build/e/src/libultra/__osSetFpcCsr.o (.rodata); + build/e/src/libultra/osCreateThread.o (.rodata); + build/e/src/libultra/osStartThread.o (.rodata); + build/e/src/libultra/osCreateMesgQueue.o (.rodata); + build/e/src/libultra/osStopThread.o (.rodata); + build/e/src/libultra/osSetThreadPri.o (.rodata); + build/e/src/libultra/osGetCount.o (.rodata); + + build/e/src/libultra/osViModeTable.o (.rodata); + build/e/src/libultra/osSetEventMesg.o (.rodata); + build/e/src/libultra/osViSetEvent.o (.rodata); + build/e/src/libultra/osSetIntMask.o (.rodata); + build/e/src/libultra/osRecvMesg.o (.rodata); + build/e/src/libultra/osSendMesg.o (.rodata); + build/e/src/libultra/osViSetMode.o (.rodata); + build/e/src/libultra/osViSetXScale.o (.rodata); + build/e/src/libultra/osViSetYScale.o (.rodata); + build/e/src/libultra/osViRepeatLine.o (.rodata); + build/e/src/libultra/osViBlack.o (.rodata); + build/e/src/libultra/osSpTaskYielded.o (.rodata); + build/e/src/libultra/osDpGetCounters.o (.rodata); + build/e/src/libultra/osViGetCurrentFramebuffer.o (.rodata); + build/e/src/libultra/osViGetNextFramebuffer.o (.rodata); + build/e/src/libultra/osViSwapBuffer.o (.rodata); + build/e/src/libultra/osDpSetStatus.o (.rodata); + build/e/src/libultra/osSpTaskLoad.o (.rodata); + build/e/src/libultra/osDpSetNextBuffer.o (.rodata); + build/e/src/libultra/osSpTaskYield.o (.rodata); + build/e/src/libultra/__osGetTLBHi.o (.rodata); + build/e/src/libultra/osVirtualToPhysical.o (.rodata); + build/e/src/libultra/osAiSetFrequency.o (.rodata); + build/e/src/libultra/alInit.o (.rodata); + build/e/src/libultra/osGetTime.o (.rodata); + build/e/src/libultra/ll.o (.rodata); + build/e/src/libultra/osAiGetLength.o (.rodata); + build/e/src/libultra/syn.o (.rodata); + build/e/src/libultra/osPiStartDma.o (.rodata); + build/e/src/libultra/osViSetSpecialFeatures.o (.rodata); + build/e/src/libultra/_bcopy.o (.rodata); + build/e/src/libultra/guPerspective.o (.rodata); + build/e/src/libultra/Mtx.o (.rodata); + build/e/src/libultra/__osGetCurrFaultedThread.o (.rodata); + build/e/src/libultra/exception.o (.rodata); + build/e/src/libultra/__osDequeueThread.o (.rodata); + build/e/src/libultra/osYieldThread.o (.rodata); + build/e/src/libultra/osInvalDCache.o (.rodata); + build/e/src/libultra/osWritebackDCache.o (.rodata); + build/e/src/libultra/osSetTimer.o (.rodata); + build/e/src/libultra/alHeapInit.o (.rodata); + build/e/src/libultra/alBnkfNew.o (.rodata); + build/e/src/libultra/__CSP.o (.rodata); + build/e/src/libultra/alSeqpSetBank.o (.rodata); + build/e/src/libultra/alCSPGetState.o (.rodata); + build/e/src/libultra/csequencer.o (.rodata); + build/e/src/libultra/alCSPSetSeq.o (.rodata); + build/e/src/libultra/alCSPPlay.o (.rodata); + build/e/src/libultra/alCSPStop.o (.rodata); + build/e/src/libultra/alCSPSetVol.o (.rodata); + build/e/src/libultra/alEvtq.o (.rodata); + build/e/src/libultra/alSynAddPlayer.o (.rodata); + build/e/src/libultra/alSynAllocVoice.o (.rodata); + build/e/src/libultra/alSynSetVol.o (.rodata); + build/e/src/libultra/alSynStartVoice.o (.rodata); + build/e/src/libultra/alSynSetPan.o (.rodata); + build/e/src/libultra/alSynSetPitch.o (.rodata); + build/e/src/libultra/alSynSetFXMix.o (.rodata); + build/e/src/libultra/alSynStopVoice.o (.rodata); + build/e/src/libultra/alSynFreeVoice.o (.rodata); + build/e/src/libultra/alCents2Ratio.o (.rodata); + build/e/src/libultra/osPiReadIo.o (.rodata); + build/e/src/libultra/string.o (.rodata); + build/e/src/libultra/_Printf.o (.rodata); + + build/e/src/libultra/libultra.o (.rodata); + /*build/e/src/libultra/libultra.a:libultra.o (.rodata);*/ + + build/e/src/game/initgamedata.o (.data); + build/e/src/game/initweaponanigroups.o (.data); + build/e/src/game/initactorpropstuff.o (.data); + build/e/src/game/initnull_0009D0.o (.data); + build/e/src/game/initunk_0009E0.o (.data); + build/e/src/game/initanitable.o (.data); + build/e/src/game/initunk_000B60.o (.data); + build/e/src/game/setguscale.o (.data); + build/e/src/game/initnull_000BC0.o (.data); + build/e/src/game/initimages.o (.data); + build/e/src/game/initintromatrices.o (.data); + build/e/src/game/initmenus.o (.data); + build/e/src/game/initguards.o (.data); + build/e/src/game/deb_loadallmodels.o (.data); + build/e/src/game/initobjects.o (.data); + build/e/src/game/prop.o (.data); + build/e/src/game/objective.o (.data); + build/e/src/game/ejectedcartridges.o (.data); + build/e/src/game/initBondDATA.o (.data); + build/e/src/game/initunk_005450.o (.data); + build/e/src/game/initunk_005520.o (.data); + build/e/src/game/initcameraandthrown.o (.data); + build/e/src/game/inititemslots.o (.data); + build/e/src/game/initBondDATAdefaults.o (.data); + build/e/src/game/initpathtablesomething.o (.data); + build/e/src/game/initpathtablelinks.o (.data); + build/e/src/game/initexplosioncasing.o (.data); + build/e/src/game/initunk_007180.o (.data); + build/e/src/game/initunk_007290.o (.data); + build/e/src/game/initunk_0072B0.o (.data); + build/e/src/game/initmttex.o (.data); + build/e/src/game/initunk_0073B0.o (.data); + build/e/src/game/initunk_007460.o (.data); + build/e/src/game/cleanup_alarms.o (.data); + build/e/src/game/cleanup_objects.o (.data); + build/e/src/game/cleanup_objectives.o (.data); + build/e/src/game/cleanupSFXRelated.o (.data); + build/e/src/game/playerstats_007770.o (.data); + build/e/src/game/unk_007800.o (.data); + build/e/src/game/unk_007920.o (.data); + build/e/src/game/null_007970.o (.data); + build/e/src/game/unk_007980.o (.data); + build/e/src/game/intro_logos.o (.data); + build/e/src/game/mainmenu.o (.data); + build/e/src/game/unk_01B0E0.o (.data); + build/e/src/game/unk_01B240.o (.data); + build/e/src/game/unk_01BAE0.o (.data); + build/e/src/game/blood_animation.o (.data); + build/e/src/game/blood_decrypt.o (.data); + build/e/src/game/gamefile.o (.data); + build/e/src/game/gamefile2.o (.data); + build/e/src/game/chr.o (.data); + build/e/src/game/chr2.o (.data); + build/e/src/game/chrai.o (.data); + build/e/src/game/chrobjhandler.o (.data); + build/e/src/game/loadobjectmodel.o (.data); + build/e/src/game/objective_status.o (.data); + build/e/src/game/objective_status2.o (.data); + build/e/src/game/sin.o (.data); + build/e/src/game/unk_057FD0.o (.data); + build/e/src/game/unk_05A9E0.o (.data); + build/e/src/game/convertangleusinginverse.o (.data); + build/e/src/game/unk_05AB70.o (.data); + build/e/src/game/unk_05ACB0.o (.data); + build/e/src/game/unk_05AE00.o (.data); + build/e/src/game/unk_05B1E0.o (.data); + build/e/src/game/truncf.o (.data); + build/e/src/game/unk_05C440.o (.data); + build/e/src/game/bondwalk.o (.data); + build/e/src/game/bondwalk2.o (.data); + build/e/src/game/objecthandler.o (.data); + build/e/src/game/objecthandler_2.o (.data); + build/e/src/game/othermodemicrocode.o (.data); + build/e/src/game/bond.o (.data); + build/e/src/game/bond2.o (.data); + build/e/src/game/unk_08DBB0.o (.data); + build/e/src/game/debugmenu_08FE00.o (.data); + build/e/src/game/debugmenu_090490.o (.data); + build/e/src/game/unk_091080.o (.data); + build/e/src/game/chrobjdata.o (.data); + build/e/src/game/cheat_buttons.o (.data); + build/e/src/game/unk_092890.o (.data); + build/e/src/game/unk_092E50.o (.data); + build/e/src/game/unk_093880.o (.data); + build/e/src/game/unk_09B600.o (.data); + build/e/src/game/unk_09B740.o (.data); + build/e/src/game/unk_09B7A0.o (.data); + build/e/src/game/unk_09C250.o (.data); + build/e/src/game/unk_0A1DA0.o (.data); + build/e/src/game/watch.o (.data); + build/e/src/game/textrelated.o (.data); + build/e/src/game/stan.o (.data); + build/e/src/game/unk_0B3200.o (.data); + build/e/src/game/bg.o (.data); + build/e/src/game/fog.o (.data); + build/e/src/game/lightfixture.o (.data); + build/e/src/game/unk_0BC530.o (.data); + build/e/src/game/ob.o (.data); + build/e/src/game/dyn.o (.data); + build/e/src/game/lvl.o (.data); + build/e/src/game/lvl_2.o (.data); + build/e/src/game/unk_0C0A70.o (.data); + build/e/src/game/mp_music.o (.data); + build/e/src/game/lvl_text.o (.data); + build/e/src/game/mp_watch.o (.data); + build/e/src/game/radar.o (.data); + build/e/src/game/mp_weapon.o (.data); + build/e/src/game/image.o (.data); + build/e/src/game/image_bank.o (.data); + build/e/src/game/unk_0CC4C0.o (.data); + build/e/src/game/decompress.o (.data); + build/e/src/game/zlib.o (.data); + build/e/src/game/rsp.o (.data); + build/e/src/game/indy_comms.o (.data); + build/e/src/game/indy_commands.o (.data); + build/e/src/game/game_debug.o (.data); + build/e/src/game/compiletime.o (.data); + build/e/src/game/unk_0D1AC0.o (.data); + build/e/src/game/viewport.o (.data); + build/e/src/game/music_0D2720.o (.data); + build/e/src/game/spectrum.o (.data); + + build/e/src/game/initgamedata.o (.rodata); + build/e/src/game/initweaponanigroups.o (.rodata); + build/e/src/game/initactorpropstuff.o (.rodata); + build/e/src/game/initnull_0009D0.o (.rodata); + build/e/src/game/initunk_0009E0.o (.rodata); + build/e/src/game/initanitable.o (.rodata); + build/e/src/game/initunk_000B60.o (.rodata); + build/e/src/game/setguscale.o (.rodata); + build/e/src/game/initnull_000BC0.o (.rodata); + build/e/src/game/initimages.o (.rodata); + build/e/src/game/initintromatrices.o (.rodata); + build/e/src/game/initmenus.o (.rodata); + build/e/src/game/initguards.o (.rodata); + build/e/src/game/deb_loadallmodels.o (.rodata); + build/e/src/game/initobjects.o (.rodata); + build/e/src/game/prop.o (.rodata); + build/e/src/game/objective.o (.rodata); + build/e/src/game/ejectedcartridges.o (.rodata); + build/e/src/game/initBondDATA.o (.rodata); + build/e/src/game/initunk_005450.o (.rodata); + build/e/src/game/initunk_005520.o (.rodata); + build/e/src/game/initcameraandthrown.o (.rodata); + build/e/src/game/inititemslots.o (.rodata); + build/e/src/game/initBondDATAdefaults.o (.rodata); + build/e/src/game/initpathtablesomething.o (.rodata); + build/e/src/game/initpathtablelinks.o (.rodata); + build/e/src/game/initexplosioncasing.o (.rodata); + build/e/src/game/initunk_007180.o (.rodata); + build/e/src/game/initunk_007290.o (.rodata); + build/e/src/game/initunk_0072B0.o (.rodata); + build/e/src/game/initmttex.o (.rodata); + build/e/src/game/initunk_0073B0.o (.rodata); + build/e/src/game/initunk_007460.o (.rodata); + build/e/src/game/cleanup_alarms.o (.rodata); + build/e/src/game/cleanup_objects.o (.rodata); + build/e/src/game/cleanup_objectives.o (.rodata); + build/e/src/game/cleanupSFXRelated.o (.rodata); + build/e/src/game/playerstats_007770.o (.rodata); + build/e/src/game/unk_007800.o (.rodata); + build/e/src/game/unk_007920.o (.rodata); + build/e/src/game/null_007970.o (.rodata); + build/e/src/game/unk_007980.o (.rodata); + build/e/src/game/intro_logos.o (.rodata); + build/e/src/game/mainmenu.o (.rodata); + build/e/src/game/unk_01B0E0.o (.rodata); + build/e/src/game/unk_01B240.o (.rodata); + build/e/src/game/unk_01BAE0.o (.rodata); + build/e/src/game/blood_animation.o (.rodata); + build/e/src/game/blood_decrypt.o (.rodata); + build/e/src/game/gamefile.o (.rodata); + build/e/src/game/gamefile2.o (.rodata); + build/e/src/game/chr.o (.rodata); + build/e/src/game/chr2.o (.rodata); + build/e/src/game/chrai.o (.rodata); + build/e/src/game/chrobjhandler.o (.rodata); + build/e/src/game/loadobjectmodel.o (.rodata); + build/e/src/game/objective_status.o (.rodata); + build/e/src/game/objective_status2.o (.rodata); + build/e/src/game/sin.o (.rodata); + build/e/src/game/unk_057FD0.o (.rodata); + build/e/src/game/unk_05A9E0.o (.rodata); + build/e/src/game/convertangleusinginverse.o (.rodata); + build/e/src/game/unk_05AB70.o (.rodata); + build/e/src/game/unk_05ACB0.o (.rodata); + build/e/src/game/unk_05AE00.o (.rodata); + build/e/src/game/unk_05B1E0.o (.rodata); + build/e/src/game/truncf.o (.rodata); + build/e/src/game/unk_05C440.o (.rodata); + build/e/src/game/bondwalk.o (.rodata); + build/e/src/game/bondwalk2.o (.rodata); + build/e/src/game/objecthandler.o (.rodata); + build/e/src/game/objecthandler_2.o (.rodata); + build/e/src/game/othermodemicrocode.o (.rodata); + build/e/src/game/bond.o (.rodata); + build/e/src/game/bond2.o (.rodata); + build/e/src/game/unk_08DBB0.o (.rodata); + build/e/src/game/debugmenu_08FE00.o (.rodata); + build/e/src/game/debugmenu_090490.o (.rodata); + build/e/src/game/unk_091080.o (.rodata); + build/e/src/game/chrobjdata.o (.rodata); + build/e/src/game/cheat_buttons.o (.rodata); + build/e/src/game/unk_092890.o (.rodata); + build/e/src/game/unk_092E50.o (.rodata); + build/e/src/game/unk_093880.o (.rodata); + build/e/src/game/unk_09B600.o (.rodata); + build/e/src/game/unk_09B740.o (.rodata); + build/e/src/game/unk_09B7A0.o (.rodata); + build/e/src/game/unk_09C250.o (.rodata); + build/e/src/game/unk_0A1DA0.o (.rodata); + build/e/src/game/watch.o (.rodata); + build/e/src/game/textrelated.o (.rodata); + build/e/src/game/stan.o (.rodata); + build/e/src/game/unk_0B3200.o (.rodata); + build/e/src/game/bg.o (.rodata); + build/e/src/game/fog.o (.rodata); + build/e/src/game/lightfixture.o (.rodata); + build/e/src/game/unk_0BC530.o (.rodata); + build/e/src/game/ob.o (.rodata); + build/e/src/game/dyn.o (.rodata); + build/e/src/game/lvl.o (.rodata); + build/e/src/game/lvl_2.o (.rodata); + build/e/src/game/unk_0C0A70.o (.rodata); + build/e/src/game/mp_music.o (.rodata); + build/e/src/game/lvl_text.o (.rodata); + build/e/src/game/mp_watch.o (.rodata); + build/e/src/game/radar.o (.rodata); + build/e/src/game/mp_weapon.o (.rodata); + build/e/src/game/image.o (.rodata); + build/e/src/game/image_bank.o (.rodata); + build/e/src/game/unk_0CC4C0.o (.rodata); + build/e/src/game/decompress.o (.rodata); + build/e/src/game/zlib.o (.rodata); + build/e/src/game/rsp.o (.rodata); + build/e/src/game/indy_comms.o (.rodata); + build/e/src/game/indy_commands.o (.rodata); + build/e/src/game/game_debug.o (.rodata); + build/e/src/game/compiletime.o (.rodata); + build/e/src/game/unk_0D1AC0.o (.rodata); + build/e/src/game/viewport.o (.rodata); + build/e/src/game/music_0D2720.o (.rodata); + build/e/src/game/spectrum.o (.rodata); + + build/e/src/gspboot.o (.data); + build/e/src/aspboot.o (.data); } _csegmentSegmentEnd = ADDR(.csegment) + SIZEOF(.csegment); _csegmentSegmentRomEnd = _csegmentSegmentRomStart + SIZEOF(.csegment); @@ -3291,168 +3565,271 @@ SECTIONS _bssSegmentStart = ADDR(.bss); _bssSegmentRomStart = _csegmentSegmentRomEnd; .bss _csegmentSegmentEnd : AT(_bssSegmentRomStart){ - build/src/boot.o (.bss); - build/src/init.o (.bss); - build/src/sched.o (.bss); - build/src/osMapTLB.o (.bss); - build/src/tlb_manage.o (.bss); - build/src/tlb_random.o (.bss); - build/src/tlb_resolve.o (.bss); - build/src/audi.o (.bss); - build/src/speed_graph.o (.bss); - build/src/video.o (.bss); - build/src/deb.o (.bss); - build/src/deb_video.o (.bss); - build/src/deb_print.o (.bss); - build/src/debug_getlastRA.o (.bss); - build/src/ramrom.o (.bss); - build/src/boss.o (.bss); - build/src/music.o (.bss); - build/src/snd.o (.bss); - build/src/memp.o (.bss); - build/src/mema.o (.bss); - build/src/random.o (.bss); - build/src/token.o (.bss); - build/src/str.o (.bss); - build/src/sprintf.o (.bss); - build/src/pi.o (.bss); - build/src/vi.o (.bss); - build/src/debugmenu.o (.bss); - build/src/joy.o (.bss); - build/src/joy_rumble.o (.bss); - build/src/rmon.o (.bss); - build/libultra/libultra.o (.bss); - build/src/game/initgamedata.o (.bss); - build/src/game/initweaponanigroups.o (.bss); - build/src/game/initactorpropstuff.o (.bss); - build/src/game/initnull_0009D0.o (.bss); - build/src/game/initunk_0009E0.o (.bss); - build/src/game/initanitable.o (.bss); - build/src/game/initunk_000B60.o (.bss); - build/src/game/setguscale.o (.bss); - build/src/game/initnull_000BC0.o (.bss); - build/src/game/initimages.o (.bss); - build/src/game/initintromatrices.o (.bss); - build/src/game/initmenus.o (.bss); - build/src/game/initguards.o (.bss); - build/src/game/deb_loadallmodels.o (.bss); - build/src/game/initobjects.o (.bss); - build/src/game/prop.o (.bss); - build/src/game/objective.o (.bss); - build/src/game/ejectedcartridges.o (.bss); - build/src/game/initBondDATA.o (.bss); - build/src/game/initunk_005450.o (.bss); - build/src/game/initunk_005520.o (.bss); - build/src/game/initcameraandthrown.o (.bss); - build/src/game/inititemslots.o (.bss); - build/src/game/initBondDATAdefaults.o (.bss); - build/src/game/initpathtablesomething.o (.bss); - build/src/game/initpathtablelinks.o (.bss); - build/src/game/initexplosioncasing.o (.bss); - build/src/game/initunk_007180.o (.bss); - build/src/game/initunk_007290.o (.bss); - build/src/game/initunk_0072B0.o (.bss); - build/src/game/initmttex.o (.bss); - build/src/game/initunk_0073B0.o (.bss); - build/src/game/initunk_007460.o (.bss); - build/src/game/cleanup_alarms.o (.bss); - build/src/game/cleanup_objects.o (.bss); - build/src/game/cleanup_objectives.o (.bss); - build/src/game/cleanupSFXRelated.o (.bss); - build/src/game/playerstats_007770.o (.bss); - build/src/game/unk_007800.o (.bss); - build/src/game/unk_007920.o (.bss); - build/src/game/null_007970.o (.bss); - build/src/game/unk_007980.o (.bss); - build/src/game/intro_logos.o (.bss); - build/src/game/mainmenu.o (.bss); - build/src/game/unk_01B0E0.o (.bss); - build/src/game/unk_01B240.o (.bss); - build/src/game/unk_01BAE0.o (.bss); - build/src/game/blood_animation.o (.bss); - build/src/game/blood_decrypt.o (.bss); - build/src/game/gamefile.o (.bss); - build/src/game/chr.o (.bss); - build/src/game/chrai.o (.bss); - build/src/game/loadobjectmodel.o (.bss); - build/src/game/objective_status.o (.bss); - build/src/game/sin.o (.bss); - build/src/game/unk_057FD0.o (.bss); - build/src/game/unk_05A9E0.o (.bss); - build/src/game/convertangleusinginverse.o (.bss); - build/src/game/unk_05AB70.o (.bss); - build/src/game/unk_05ACB0.o (.bss); - build/src/game/unk_05AE00.o (.bss); - build/src/game/unk_05B1E0.o (.bss); - build/src/game/truncf.o (.bss); - build/src/game/unk_05C440.o (.bss); - build/src/game/bondwalk.o (.bss); - build/src/game/objecthandler.o (.bss); - build/src/game/objecthandler_2.o (.bss); - build/src/game/othermodemicrocode.o (.bss); - build/src/game/bond.o (.bss); - build/src/game/unk_08DBB0.o (.bss); - build/src/game/debugmenu_08FE00.o (.bss); - build/src/game/debugmenu_090490.o (.bss); - build/src/game/unk_091080.o (.bss); - build/src/game/cheat_buttons.o (.bss); - build/src/game/unk_092890.o (.bss); - build/src/game/unk_092E50.o (.bss); - build/src/game/unk_093880.o (.bss); - build/src/game/unk_09B600.o (.bss); - build/src/game/unk_09B740.o (.bss); - build/src/game/unk_09B7A0.o (.bss); - build/src/game/unk_09C250.o (.bss); - build/src/game/unk_0A1DA0.o (.bss); - build/src/game/watch.o (.bss); - build/src/game/textrelated.o (.bss); - build/src/game/stan.o (.bss); - build/src/game/unk_0B3200.o (.bss); - build/src/game/bg.o (.bss); - build/src/game/fog.o (.bss); - build/src/game/lightfixture.o (.bss); - build/src/game/unk_0BC530.o (.bss); - build/src/game/ob.o (.bss); - build/src/game/dyn.o (.bss); - build/src/game/lvl.o (.bss); - build/src/game/lvl_2.o (.bss); - build/src/game/unk_0C0A70.o (.bss); - build/src/game/mp_music.o (.bss); - build/src/game/lvl_text.o (.bss); - build/src/game/mp_watch.o (.bss); - build/src/game/radar.o (.bss); - build/src/game/mp_weapon.o (.bss); - build/src/game/image.o (.bss); - build/src/game/image_bank.o (.bss); - build/src/game/unk_0CC4C0.o (.bss); - build/src/game/decompress.o (.bss); - build/src/game/zlib.o (.bss); - build/src/game/rsp.o (.bss); - build/src/game/indy_comms.o (.bss); - build/src/game/indy_commands.o (.bss); - build/src/game/game_debug.o (.bss); - build/src/game/compiletime.o (.bss); - build/src/game/unk_0D1AC0.o (.bss); - build/src/game/viewport.o (.bss); - build/src/game/music_0D2720.o (.bss); - build/src/game/spectrum.o (.bss); - build/src/game/room_model_buffer.o (.bss); + build/e/src/boot.o (.bss); + build/e/src/init.o (.bss); + build/e/src/sched.o (.bss); + build/e/src/osMapTLB.o (.bss); + + build/e/src/libultra/osCreateViManager.o (.bss); + build/e/src/libultra/osCreatePiManager.o (.bss); + + build/e/src/tlb_manage.o (.bss); + build/e/src/tlb_random.o (.bss); + build/e/src/tlb_resolve.o (.bss); + build/e/src/audi.o (.bss); + build/e/src/speed_graph.o (.bss); + build/e/src/video.o (.bss); + build/e/src/deb.o (.bss); + build/e/src/deb_video.o (.bss); + build/e/src/deb_print.o (.bss); + build/e/src/debug_getlastRA.o (.bss); + build/e/src/ramrom.o (.bss); + build/e/src/boss.o (.bss); + build/e/src/music.o (.bss); + build/e/src/snd.o (.bss); + build/e/src/memp.o (.bss); + build/e/src/mema.o (.bss); + build/e/src/random.o (.bss); + build/e/src/token.o (.bss); + build/e/src/str.o (.bss); + build/e/src/sprintf.o (.bss); + build/e/src/pi.o (.bss); + build/e/src/vi.o (.bss); + build/e/src/debugmenu.o (.bss); + build/e/src/joy.o (.bss); + build/e/src/joy_rumble.o (.bss); + build/e/src/rmon.o (.bss); + + build/e/src/libultra/osPiRawStartDma.o (.bss); + build/e/src/libultra/osPiGetStatus.o (.bss); + build/e/src/libultra/osInitialize.o (.bss); + build/e/src/libultra/osWritebackDCacheAll.o (.bss); + build/e/src/libultra/osInvalICache.o (.bss); + build/e/src/libultra/osUnmapTLB.o (.bss); + build/e/src/libultra/__osGetFpcCsr.o (.bss); + build/e/src/libultra/__osSetFpcCsr.o (.bss); + build/e/src/libultra/osCreateThread.o (.bss); + build/e/src/libultra/osStartThread.o (.bss); + build/e/src/libultra/osCreateMesgQueue.o (.bss); + build/e/src/libultra/osStopThread.o (.bss); + build/e/src/libultra/osSetThreadPri.o (.bss); + build/e/src/libultra/osGetCount.o (.bss); + + build/e/src/libultra/osViModeTable.o (.bss); + build/e/src/libultra/osSetEventMesg.o (.bss); + build/e/src/libultra/osViSetEvent.o (.bss); + build/e/src/libultra/osSetIntMask.o (.bss); + build/e/src/libultra/osRecvMesg.o (.bss); + build/e/src/libultra/osSendMesg.o (.bss); + build/e/src/libultra/osViSetMode.o (.bss); + build/e/src/libultra/osViSetXScale.o (.bss); + build/e/src/libultra/osViSetYScale.o (.bss); + build/e/src/libultra/osViRepeatLine.o (.bss); + build/e/src/libultra/osViBlack.o (.bss); + build/e/src/libultra/osSpTaskYielded.o (.bss); + build/e/src/libultra/osDpGetCounters.o (.bss); + build/e/src/libultra/osViGetCurrentFramebuffer.o (.bss); + build/e/src/libultra/osViGetNextFramebuffer.o (.bss); + build/e/src/libultra/osViSwapBuffer.o (.bss); + build/e/src/libultra/osDpSetStatus.o (.bss); + build/e/src/libultra/osSpTaskLoad.o (.bss); + build/e/src/libultra/osDpSetNextBuffer.o (.bss); + build/e/src/libultra/osSpTaskYield.o (.bss); + build/e/src/libultra/__osGetTLBHi.o (.bss); + build/e/src/libultra/osVirtualToPhysical.o (.bss); + build/e/src/libultra/osAiSetFrequency.o (.bss); + build/e/src/libultra/alInit.o (.bss); + build/e/src/libultra/osGetTime.o (.bss); + build/e/src/libultra/ll.o (.bss); + build/e/src/libultra/osAiGetLength.o (.bss); + build/e/src/libultra/syn.o (.bss); + build/e/src/libultra/osPiStartDma.o (.bss); + build/e/src/libultra/osViSetSpecialFeatures.o (.bss); + build/e/src/libultra/_bcopy.o (.bss); + build/e/src/libultra/guPerspective.o (.bss); + build/e/src/libultra/Mtx.o (.bss); + build/e/src/libultra/__osGetCurrFaultedThread.o (.bss); + build/e/src/libultra/exception.o (.bss); + build/e/src/libultra/__osDequeueThread.o (.bss); + build/e/src/libultra/osYieldThread.o (.bss); + build/e/src/libultra/osInvalDCache.o (.bss); + build/e/src/libultra/osWritebackDCache.o (.bss); + build/e/src/libultra/osSetTimer.o (.bss); + build/e/src/libultra/alHeapInit.o (.bss); + build/e/src/libultra/alBnkfNew.o (.bss); + build/e/src/libultra/__CSP.o (.bss); + build/e/src/libultra/alSeqpSetBank.o (.bss); + build/e/src/libultra/alCSPGetState.o (.bss); + build/e/src/libultra/csequencer.o (.bss); + build/e/src/libultra/alCSPSetSeq.o (.bss); + build/e/src/libultra/alCSPPlay.o (.bss); + build/e/src/libultra/alCSPStop.o (.bss); + build/e/src/libultra/alCSPSetVol.o (.bss); + build/e/src/libultra/alEvtq.o (.bss); + build/e/src/libultra/alSynAddPlayer.o (.bss); + build/e/src/libultra/alSynAllocVoice.o (.bss); + build/e/src/libultra/alSynSetVol.o (.bss); + build/e/src/libultra/alSynStartVoice.o (.bss); + build/e/src/libultra/alSynSetPan.o (.bss); + build/e/src/libultra/alSynSetPitch.o (.bss); + build/e/src/libultra/alSynSetFXMix.o (.bss); + build/e/src/libultra/alSynStopVoice.o (.bss); + build/e/src/libultra/alSynFreeVoice.o (.bss); + build/e/src/libultra/alCents2Ratio.o (.bss); + build/e/src/libultra/osPiReadIo.o (.bss); + build/e/src/libultra/string.o (.bss); + build/e/src/libultra/_Printf.o (.bss); + + build/e/src/libultra/libultra.o (.bss); + /*build/e/src/libultra/libultra.a:libultra.o (.bss);*/ + + build/e/src/game/initgamedata.o (.bss); + build/e/src/game/initweaponanigroups.o (.bss); + build/e/src/game/initactorpropstuff.o (.bss); + build/e/src/game/initnull_0009D0.o (.bss); + build/e/src/game/initunk_0009E0.o (.bss); + build/e/src/game/initanitable.o (.bss); + build/e/src/game/initunk_000B60.o (.bss); + build/e/src/game/setguscale.o (.bss); + build/e/src/game/initnull_000BC0.o (.bss); + build/e/src/game/initimages.o (.bss); + build/e/src/game/initintromatrices.o (.bss); + build/e/src/game/initmenus.o (.bss); + build/e/src/game/initguards.o (.bss); + build/e/src/game/deb_loadallmodels.o (.bss); + build/e/src/game/initobjects.o (.bss); + build/e/src/game/prop.o (.bss); + build/e/src/game/objective.o (.bss); + build/e/src/game/ejectedcartridges.o (.bss); + build/e/src/game/initBondDATA.o (.bss); + build/e/src/game/initunk_005450.o (.bss); + build/e/src/game/initunk_005520.o (.bss); + build/e/src/game/initcameraandthrown.o (.bss); + build/e/src/game/inititemslots.o (.bss); + build/e/src/game/initBondDATAdefaults.o (.bss); + build/e/src/game/initpathtablesomething.o (.bss); + build/e/src/game/initpathtablelinks.o (.bss); + build/e/src/game/initexplosioncasing.o (.bss); + build/e/src/game/initunk_007180.o (.bss); + build/e/src/game/initunk_007290.o (.bss); + build/e/src/game/initunk_0072B0.o (.bss); + build/e/src/game/initmttex.o (.bss); + build/e/src/game/initunk_0073B0.o (.bss); + build/e/src/game/initunk_007460.o (.bss); + build/e/src/game/cleanup_alarms.o (.bss); + build/e/src/game/cleanup_objects.o (.bss); + build/e/src/game/cleanup_objectives.o (.bss); + build/e/src/game/cleanupSFXRelated.o (.bss); + build/e/src/game/playerstats_007770.o (.bss); + build/e/src/game/unk_007800.o (.bss); + build/e/src/game/unk_007920.o (.bss); + build/e/src/game/null_007970.o (.bss); + build/e/src/game/unk_007980.o (.bss); + build/e/src/game/intro_logos.o (.bss); + build/e/src/game/mainmenu.o (.bss); + build/e/src/game/unk_01B0E0.o (.bss); + build/e/src/game/unk_01B240.o (.bss); + build/e/src/game/unk_01BAE0.o (.bss); + build/e/src/game/blood_animation.o (.bss); + build/e/src/game/blood_decrypt.o (.bss); + build/e/src/game/gamefile.o (.bss); + build/e/src/game/gamefile2.o (.bss); + build/e/src/game/chr.o (.bss); + build/e/src/game/chr2.o (.bss); + build/e/src/game/chrai.o (.bss); + build/e/src/game/chrobjhandler.o (.bss); + build/e/src/game/loadobjectmodel.o (.bss); + build/e/src/game/objective_status.o (.bss); + build/e/src/game/objective_status2.o (.bss); + build/e/src/game/sin.o (.bss); + build/e/src/game/unk_057FD0.o (.bss); + build/e/src/game/unk_05A9E0.o (.bss); + build/e/src/game/convertangleusinginverse.o (.bss); + build/e/src/game/unk_05AB70.o (.bss); + build/e/src/game/unk_05ACB0.o (.bss); + build/e/src/game/unk_05AE00.o (.bss); + build/e/src/game/unk_05B1E0.o (.bss); + build/e/src/game/truncf.o (.bss); + build/e/src/game/unk_05C440.o (.bss); + build/e/src/game/bondwalk.o (.bss); + build/e/src/game/bondwalk2.o (.bss); + build/e/src/game/objecthandler.o (.bss); + build/e/src/game/objecthandler_2.o (.bss); + build/e/src/game/othermodemicrocode.o (.bss); + build/e/src/game/bond.o (.bss); + build/e/src/game/bond2.o (.bss); + build/e/src/game/unk_08DBB0.o (.bss); + build/e/src/game/debugmenu_08FE00.o (.bss); + build/e/src/game/debugmenu_090490.o (.bss); + build/e/src/game/unk_091080.o (.bss); + build/e/src/game/chrobjdata.o (.bss); + build/e/src/game/cheat_buttons.o (.bss); + build/e/src/game/unk_092890.o (.bss); + build/e/src/game/unk_092E50.o (.bss); + build/e/src/game/unk_093880.o (.bss); + build/e/src/game/unk_09B600.o (.bss); + build/e/src/game/unk_09B740.o (.bss); + build/e/src/game/unk_09B7A0.o (.bss); + build/e/src/game/unk_09C250.o (.bss); + build/e/src/game/unk_0A1DA0.o (.bss); + build/e/src/game/watch.o (.bss); + build/e/src/game/textrelated.o (.bss); + build/e/src/game/stan.o (.bss); + build/e/src/game/unk_0B3200.o (.bss); + build/e/src/game/bg.o (.bss); + build/e/src/game/fog.o (.bss); + build/e/src/game/lightfixture.o (.bss); + build/e/src/game/unk_0BC530.o (.bss); + build/e/src/game/ob.o (.bss); + build/e/src/game/dyn.o (.bss); + build/e/src/game/lvl.o (.bss); + build/e/src/game/lvl_2.o (.bss); + build/e/src/game/unk_0C0A70.o (.bss); + build/e/src/game/mp_music.o (.bss); + build/e/src/game/lvl_text.o (.bss); + build/e/src/game/mp_watch.o (.bss); + build/e/src/game/radar.o (.bss); + build/e/src/game/mp_weapon.o (.bss); + build/e/src/game/image.o (.bss); + build/e/src/game/image_bank.o (.bss); + build/e/src/game/unk_0CC4C0.o (.bss); + build/e/src/game/decompress.o (.bss); + build/e/src/game/zlib.o (.bss); + build/e/src/game/rsp.o (.bss); + build/e/src/game/indy_comms.o (.bss); + build/e/src/game/indy_commands.o (.bss); + build/e/src/game/game_debug.o (.bss); + build/e/src/game/compiletime.o (.bss); + build/e/src/game/unk_0D1AC0.o (.bss); + build/e/src/game/viewport.o (.bss); + build/e/src/game/music_0D2720.o (.bss); + build/e/src/game/spectrum.o (.bss); } _bssSegmentEnd = ADDR(.bss) + SIZEOF(.bss); + _bssSegmentSize = SIZEOF(.bss); _bssSegmentRomEnd = _bssSegmentRomStart + SIZEOF(.bss); + _roombufSegmentStart = ADDR(.roombuf); + _roombufSegmentRomStart = _bssSegmentRomEnd; + .roombuf _bssSegmentEnd : AT(_roombufSegmentRomStart){ + build/e/src/game/room_model_buffer.o (.bss); + } + _roombufSegmentEnd = ADDR(.roombuf) + SIZEOF(.roombuf); + _roombufSegmentRomEnd = _roombufSegmentRomStart + SIZEOF(.roombuf); + _decompbufSegmentStart = ADDR(.decompbuf); - _decompbufSegmentRomStart = _bssSegmentRomEnd; + _decompbufSegmentRomStart = _roombufSegmentRomEnd; .decompbuf 0x80300000 : AT(_decompbufSegmentRomStart){ - build/src/decompressbuffer.o (.bss); + build/e/src/decompressbuffer.o (.bss); } _decompbufSegmentEnd = ADDR(.decompbuf) + SIZEOF(.decompbuf); _decompbufSegmentRomEnd = _decompbufSegmentRomStart + SIZEOF(.decompbuf); + _stacksSegmentStart = ADDR(.stacks); _stacksSegmentRomStart = _decompbufSegmentRomEnd; .stacks 0x803ab400 : AT(_stacksSegmentRomStart){ - build/src/stacks.o (.bss); + build/e/src/stacks.o (.bss); } _stacksSegmentEnd = ADDR(.stacks) + SIZEOF(.stacks); _stacksSegmentRomEnd = _stacksSegmentRomStart + SIZEOF(.stacks); @@ -3460,7 +3837,7 @@ SECTIONS _cfbSegmentStart = ADDR(.cfb); _cfbSegmentRomStart = _stacksSegmentRomEnd; .cfb 0x803b5000 : AT(_cfbSegmentRomStart){ - build/src/cfb.o (.bss); + build/e/src/cfb.o (.bss); } _cfbSegmentEnd = ADDR(.cfb) + SIZEOF(.cfb); _cfbSegmentRomEnd = _cfbSegmentRomStart + SIZEOF(.cfb); @@ -3478,33 +3855,36 @@ SECTIONS * (.gptab.data); * (.reginfo); - build/assets/romfiles.o (.text); - build/assets/romfiles.o (.data); - build/assets/ramrom/ramrom.o (.text); - build/assets/ramrom/ramrom.o (.data); - build/assets/font/font.o (.text); - build/assets/font/font.o (.data); - build/assets/music/music.o (.text); - build/assets/music/music.o (.data); - build/assets/obseg/ob_seg.o (.text); - build/assets/obseg/ob_seg.o (.data); - build/assets/images/split/*.o (.text); - build/assets/images/split/*.o (.data); - build/src/rom_header.o (.text); - build/src/bootcode.o (.data); - build/src/_start.o (.data); - build/src/rspboot.o (.data); - build/src/_start.o (.rodata); - build/src/rspboot.o (.rodata); - build/src/gspboot.o (.rodata); - build/src/_start.o (.bss); - build/assets/romfiles.o (.bss); - build/assets/ramrom/ramrom.o (.bss); - build/assets/font/font.o (.bss); - build/assets/music/music.o (.bss); - build/assets/obseg/ob_seg.o (.bss); - build/src/rspboot.o (.bss); - build/src/gspboot.o (.bss); - build/src/aspboot.o (.bss); + build/e/assets/romfiles.o (.text); + build/e/assets/romfiles.o (.data); + build/e/assets/romfiles2.o (.text); + build/e/assets/romfiles2.o (.data); + build/e/assets/ramrom/ramrom.o (.text); + build/e/assets/ramrom/ramrom.o (.data); + build/e/assets/font/font.o (.text); + build/e/assets/font/font.o (.data); + build/e/assets/music/music.o (.text); + build/e/assets/music/music.o (.data); + build/e/assets/obseg/ob_seg.o (.text); + build/e/assets/obseg/ob_seg.o (.data); + build/e/assets/images/split/*.o (.text); + build/e/assets/images/split/*.o (.data); + build/e/src/rom_header.o (.text); + build/e/src/bootcode.o (.data); + build/e/src/_start.o (.data); + build/e/src/rspboot.o (.data); + build/e/src/_start.o (.rodata); + build/e/src/rspboot.o (.rodata); + build/e/src/gspboot.o (.rodata); + build/e/src/_start.o (.bss); + build/e/assets/romfiles.o (.bss); + build/e/assets/romfiles2.o (.bss); + build/e/assets/ramrom/ramrom.o (.bss); + build/e/assets/font/font.o (.bss); + build/e/assets/music/music.o (.bss); + build/e/assets/obseg/ob_seg.o (.bss); + build/e/src/rspboot.o (.bss); + build/e/src/gspboot.o (.bss); + build/e/src/aspboot.o (.bss); } } diff --git a/ge007.j.ld b/ge007.j.ld index 7c029c3e..8a605926 100644 --- a/ge007.j.ld +++ b/ge007.j.ld @@ -58,9 +58,7 @@ SECTIONS build/j/src/deb_print.o (.text); build/j/src/debug_getlastRA.o (.text); build/j/src/ramrom.o (.text); - build/j/src/boss.o (.text); - build/j/src/music.o (.text); build/j/src/snd.o (.text); build/j/src/memp.o (.text); @@ -72,12 +70,92 @@ SECTIONS build/j/src/pi.o (.text); build/j/src/vi.o (.text); build/j/src/debugmenu.o (.text); - build/j/src/joy.o (.text); - build/j/src/joy_rumble.o (.text); build/j/src/rmon.o (.text); - build/j/libultra/libultra.o (.text); + + build/j/src/libultra/osPiRawStartDma.o (.text); + build/j/src/libultra/osPiGetStatus.o (.text); + build/j/src/libultra/osInitialize.o (.text); + build/j/src/libultra/osWritebackDCacheAll.o (.text); + build/j/src/libultra/osInvalICache.o (.text); + build/j/src/libultra/osUnmapTLB.o (.text); + build/j/src/libultra/__osGetFpcCsr.o (.text); + build/j/src/libultra/__osSetFpcCsr.o (.text); + build/j/src/libultra/osCreateThread.o (.text); + build/j/src/libultra/osStartThread.o (.text); + build/j/src/libultra/osCreateMesgQueue.o (.text); + build/j/src/libultra/osStopThread.o (.text); + build/j/src/libultra/osSetThreadPri.o (.text); + build/j/src/libultra/osGetCount.o (.text); + build/j/src/libultra/osCreateViManager.o (.text); + build/j/src/libultra/osViModeTable.o (.text); + build/j/src/libultra/osSetEventMesg.o (.text); + build/j/src/libultra/osViSetEvent.o (.text); + build/j/src/libultra/osSetIntMask.o (.text); + build/j/src/libultra/osRecvMesg.o (.text); + build/j/src/libultra/osSendMesg.o (.text); + build/j/src/libultra/osViSetMode.o (.text); + build/j/src/libultra/osViSetXScale.o (.text); + build/j/src/libultra/osViSetYScale.o (.text); + build/j/src/libultra/osViRepeatLine.o (.text); + build/j/src/libultra/osViBlack.o (.text); + build/j/src/libultra/osSpTaskYielded.o (.text); + build/j/src/libultra/osDpGetCounters.o (.text); + build/j/src/libultra/osViGetCurrentFramebuffer.o (.text); + build/j/src/libultra/osViGetNextFramebuffer.o (.text); + build/j/src/libultra/osViSwapBuffer.o (.text); + build/j/src/libultra/osDpSetStatus.o (.text); + build/j/src/libultra/osSpTaskLoad.o (.text); + build/j/src/libultra/osDpSetNextBuffer.o (.text); + build/j/src/libultra/osSpTaskYield.o (.text); + build/j/src/libultra/__osGetTLBHi.o (.text); + build/j/src/libultra/osVirtualToPhysical.o (.text); + build/j/src/libultra/osAiSetFrequency.o (.text); + build/j/src/libultra/alInit.o (.text); + build/j/src/libultra/osGetTime.o (.text); + build/j/src/libultra/ll.o (.text); + build/j/src/libultra/osAiGetLength.o (.text); + build/j/src/libultra/syn.o (.text); + build/j/src/libultra/osPiStartDma.o (.text); + build/j/src/libultra/osViSetSpecialFeatures.o (.text); + build/j/src/libultra/_bcopy.o (.text); + build/j/src/libultra/guPerspective.o (.text); + build/j/src/libultra/Mtx.o (.text); + build/j/src/libultra/__osGetCurrFaultedThread.o (.text); + build/j/src/libultra/exception.o (.text); + build/j/src/libultra/__osDequeueThread.o (.text); + build/j/src/libultra/osYieldThread.o (.text); + build/j/src/libultra/osInvalDCache.o (.text); + build/j/src/libultra/osWritebackDCache.o (.text); + build/j/src/libultra/osSetTimer.o (.text); + build/j/src/libultra/alHeapInit.o (.text); + build/j/src/libultra/alBnkfNew.o (.text); + build/j/src/libultra/__CSP.o (.text); + build/j/src/libultra/alSeqpSetBank.o (.text); + build/j/src/libultra/alCSPGetState.o (.text); + build/j/src/libultra/csequencer.o (.text); + build/j/src/libultra/alCSPSetSeq.o (.text); + build/j/src/libultra/alCSPPlay.o (.text); + build/j/src/libultra/alCSPStop.o (.text); + build/j/src/libultra/alCSPSetVol.o (.text); + build/j/src/libultra/alEvtq.o (.text); + build/j/src/libultra/alSynAddPlayer.o (.text); + build/j/src/libultra/alSynAllocVoice.o (.text); + build/j/src/libultra/alSynSetVol.o (.text); + build/j/src/libultra/alSynStartVoice.o (.text); + build/j/src/libultra/alSynSetPan.o (.text); + build/j/src/libultra/alSynSetPitch.o (.text); + build/j/src/libultra/alSynSetFXMix.o (.text); + build/j/src/libultra/alSynStopVoice.o (.text); + build/j/src/libultra/alSynFreeVoice.o (.text); + build/j/src/libultra/alCents2Ratio.o (.text); + build/j/src/libultra/osPiReadIo.o (.text); + build/j/src/libultra/string.o (.text); + build/j/src/libultra/_Printf.o (.text); + build/j/src/libultra/osCreatePiManager.o (.text); + build/j/src/libultra/libultra.o (.text); + /*build/j/src/libultra/libultra.a:libultra.o (.text);*/ } _codeSegmentEnd = ADDR(.code) + SIZEOF(.code); _codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code); @@ -165,6 +243,7 @@ SECTIONS build/j/src/game/chr.o (.text); build/j/src/game/chr2.o (.text); build/j/src/game/chrai.o (.text); + build/j/src/game/chrobjhandler.o (.text); build/j/src/game/loadobjectmodel.o (.text); build/j/src/game/objective_status.o (.text); build/j/src/game/objective_status2.o (.text); @@ -242,6 +321,8 @@ SECTIONS _romfiles_117880SegmentRomStart = _gameSegmentRomEnd; .romfiles_117880 _romfiles_117880SegmentRomStart : AT(_romfiles_117880SegmentRomStart) { build/j/assets/romfiles.o (.romfiles); + build/j/assets/GlobalImageTable.o (.data); + build/j/assets/romfiles2.o (.romfiles); build/j/assets/ramrom/ramrom.o (.ramrom); build/j/assets/font/font.o (.font); build/j/assets/music/music.o (.music); @@ -267,10 +348,7 @@ SECTIONS _imagesSegmentStart = ADDR(.images); _imagesSegmentRomStart = _obsegSegmentRomEnd; .images _imagesSegmentRomStart : AT(_imagesSegmentRomStart) { - _image1_start = .; - build/j/assets/images/split/image1.o (.data); - _image1_end = .; - _image1_size = (_image1_end - _image1_start); + build/j/assets/images/split/image1.o (.data); build/j/assets/images/split/image2.o (.data); build/j/assets/images/split/image3.o (.data); build/j/assets/images/split/image4.o (.data); @@ -3018,7 +3096,89 @@ SECTIONS build/j/src/joy.o (.data); build/j/src/joy_rumble.o (.data); build/j/src/rmon.o (.data); - build/j/libultra/libultra.o (.data); + + build/j/src/libultra/osPiRawStartDma.o (.data); + build/j/src/libultra/osPiGetStatus.o (.data); + build/j/src/libultra/osInitialize.o (.data); + build/j/src/libultra/osWritebackDCacheAll.o (.data); + build/j/src/libultra/osInvalICache.o (.data); + build/j/src/libultra/osUnmapTLB.o (.data); + build/j/src/libultra/__osGetFpcCsr.o (.data); + build/j/src/libultra/__osSetFpcCsr.o (.data); + build/j/src/libultra/osCreateThread.o (.data); + build/j/src/libultra/osStartThread.o (.data); + build/j/src/libultra/osCreateMesgQueue.o (.data); + build/j/src/libultra/osStopThread.o (.data); + build/j/src/libultra/osSetThreadPri.o (.data); + build/j/src/libultra/osGetCount.o (.data); + build/j/src/libultra/osCreateViManager.o (.data); + build/j/src/libultra/osViModeTable.o (.data); + build/j/src/libultra/osSetEventMesg.o (.data); + build/j/src/libultra/osViSetEvent.o (.data); + build/j/src/libultra/osSetIntMask.o (.data); + build/j/src/libultra/osRecvMesg.o (.data); + build/j/src/libultra/osSendMesg.o (.data); + build/j/src/libultra/osViSetMode.o (.data); + build/j/src/libultra/osViSetXScale.o (.data); + build/j/src/libultra/osViSetYScale.o (.data); + build/j/src/libultra/osViRepeatLine.o (.data); + build/j/src/libultra/osViBlack.o (.data); + build/j/src/libultra/osSpTaskYielded.o (.data); + build/j/src/libultra/osDpGetCounters.o (.data); + build/j/src/libultra/osViGetCurrentFramebuffer.o (.data); + build/j/src/libultra/osViGetNextFramebuffer.o (.data); + build/j/src/libultra/osViSwapBuffer.o (.data); + build/j/src/libultra/osDpSetStatus.o (.data); + build/j/src/libultra/osSpTaskLoad.o (.data); + build/j/src/libultra/osDpSetNextBuffer.o (.data); + build/j/src/libultra/osSpTaskYield.o (.data); + build/j/src/libultra/__osGetTLBHi.o (.data); + build/j/src/libultra/osVirtualToPhysical.o (.data); + build/j/src/libultra/osAiSetFrequency.o (.data); + build/j/src/libultra/alInit.o (.data); + build/j/src/libultra/osGetTime.o (.data); + build/j/src/libultra/ll.o (.data); + build/j/src/libultra/osAiGetLength.o (.data); + build/j/src/libultra/syn.o (.data); + build/j/src/libultra/osPiStartDma.o (.data); + build/j/src/libultra/osViSetSpecialFeatures.o (.data); + build/j/src/libultra/_bcopy.o (.data); + build/j/src/libultra/guPerspective.o (.data); + build/j/src/libultra/Mtx.o (.data); + build/j/src/libultra/__osGetCurrFaultedThread.o (.data); + build/j/src/libultra/exception.o (.data); + build/j/src/libultra/__osDequeueThread.o (.data); + build/j/src/libultra/osYieldThread.o (.data); + build/j/src/libultra/osInvalDCache.o (.data); + build/j/src/libultra/osWritebackDCache.o (.data); + build/j/src/libultra/osSetTimer.o (.data); + build/j/src/libultra/alHeapInit.o (.data); + build/j/src/libultra/alBnkfNew.o (.data); + build/j/src/libultra/__CSP.o (.data); + build/j/src/libultra/alSeqpSetBank.o (.data); + build/j/src/libultra/alCSPGetState.o (.data); + build/j/src/libultra/csequencer.o (.data); + build/j/src/libultra/alCSPSetSeq.o (.data); + build/j/src/libultra/alCSPPlay.o (.data); + build/j/src/libultra/alCSPStop.o (.data); + build/j/src/libultra/alCSPSetVol.o (.data); + build/j/src/libultra/alEvtq.o (.data); + build/j/src/libultra/alSynAddPlayer.o (.data); + build/j/src/libultra/alSynAllocVoice.o (.data); + build/j/src/libultra/alSynSetVol.o (.data); + build/j/src/libultra/alSynStartVoice.o (.data); + build/j/src/libultra/alSynSetPan.o (.data); + build/j/src/libultra/alSynSetPitch.o (.data); + build/j/src/libultra/alSynSetFXMix.o (.data); + build/j/src/libultra/alSynStopVoice.o (.data); + build/j/src/libultra/alSynFreeVoice.o (.data); + build/j/src/libultra/alCents2Ratio.o (.data); + build/j/src/libultra/osPiReadIo.o (.data); + build/j/src/libultra/string.o (.data); + build/j/src/libultra/_Printf.o (.data); + build/j/src/libultra/osCreatePiManager.o (.data); + build/j/src/libultra/libultra.o (.data); + /*build/j/src/libultra/libultra.a:libultra.o (.data);*/ build/j/src/aspboot.o (.rodata); build/j/src/boot.o (.rodata); @@ -3052,7 +3212,89 @@ SECTIONS build/j/src/joy.o (.rodata); build/j/src/joy_rumble.o (.rodata); build/j/src/rmon.o (.rodata); - build/j/libultra/libultra.o (.rodata); + + build/j/src/libultra/osPiRawStartDma.o (.rodata); + build/j/src/libultra/osPiGetStatus.o (.rodata); + build/j/src/libultra/osInitialize.o (.rodata); + build/j/src/libultra/osWritebackDCacheAll.o (.rodata); + build/j/src/libultra/osInvalICache.o (.rodata); + build/j/src/libultra/osUnmapTLB.o (.rodata); + build/j/src/libultra/__osGetFpcCsr.o (.rodata); + build/j/src/libultra/__osSetFpcCsr.o (.rodata); + build/j/src/libultra/osCreateThread.o (.rodata); + build/j/src/libultra/osStartThread.o (.rodata); + build/j/src/libultra/osCreateMesgQueue.o (.rodata); + build/j/src/libultra/osStopThread.o (.rodata); + build/j/src/libultra/osSetThreadPri.o (.rodata); + build/j/src/libultra/osGetCount.o (.rodata); + build/j/src/libultra/osCreateViManager.o (.rodata); + build/j/src/libultra/osViModeTable.o (.rodata); + build/j/src/libultra/osSetEventMesg.o (.rodata); + build/j/src/libultra/osViSetEvent.o (.rodata); + build/j/src/libultra/osSetIntMask.o (.rodata); + build/j/src/libultra/osRecvMesg.o (.rodata); + build/j/src/libultra/osSendMesg.o (.rodata); + build/j/src/libultra/osViSetMode.o (.rodata); + build/j/src/libultra/osViSetXScale.o (.rodata); + build/j/src/libultra/osViSetYScale.o (.rodata); + build/j/src/libultra/osViRepeatLine.o (.rodata); + build/j/src/libultra/osViBlack.o (.rodata); + build/j/src/libultra/osSpTaskYielded.o (.rodata); + build/j/src/libultra/osDpGetCounters.o (.rodata); + build/j/src/libultra/osViGetCurrentFramebuffer.o (.rodata); + build/j/src/libultra/osViGetNextFramebuffer.o (.rodata); + build/j/src/libultra/osViSwapBuffer.o (.rodata); + build/j/src/libultra/osDpSetStatus.o (.rodata); + build/j/src/libultra/osSpTaskLoad.o (.rodata); + build/j/src/libultra/osDpSetNextBuffer.o (.rodata); + build/j/src/libultra/osSpTaskYield.o (.rodata); + build/j/src/libultra/__osGetTLBHi.o (.rodata); + build/j/src/libultra/osVirtualToPhysical.o (.rodata); + build/j/src/libultra/osAiSetFrequency.o (.rodata); + build/j/src/libultra/alInit.o (.rodata); + build/j/src/libultra/osGetTime.o (.rodata); + build/j/src/libultra/ll.o (.rodata); + build/j/src/libultra/osAiGetLength.o (.rodata); + build/j/src/libultra/syn.o (.rodata); + build/j/src/libultra/osPiStartDma.o (.rodata); + build/j/src/libultra/osViSetSpecialFeatures.o (.rodata); + build/j/src/libultra/_bcopy.o (.rodata); + build/j/src/libultra/guPerspective.o (.rodata); + build/j/src/libultra/Mtx.o (.rodata); + build/j/src/libultra/__osGetCurrFaultedThread.o (.rodata); + build/j/src/libultra/exception.o (.rodata); + build/j/src/libultra/__osDequeueThread.o (.rodata); + build/j/src/libultra/osYieldThread.o (.rodata); + build/j/src/libultra/osInvalDCache.o (.rodata); + build/j/src/libultra/osWritebackDCache.o (.rodata); + build/j/src/libultra/osSetTimer.o (.rodata); + build/j/src/libultra/alHeapInit.o (.rodata); + build/j/src/libultra/alBnkfNew.o (.rodata); + build/j/src/libultra/__CSP.o (.rodata); + build/j/src/libultra/alSeqpSetBank.o (.rodata); + build/j/src/libultra/alCSPGetState.o (.rodata); + build/j/src/libultra/csequencer.o (.rodata); + build/j/src/libultra/alCSPSetSeq.o (.rodata); + build/j/src/libultra/alCSPPlay.o (.rodata); + build/j/src/libultra/alCSPStop.o (.rodata); + build/j/src/libultra/alCSPSetVol.o (.rodata); + build/j/src/libultra/alEvtq.o (.rodata); + build/j/src/libultra/alSynAddPlayer.o (.rodata); + build/j/src/libultra/alSynAllocVoice.o (.rodata); + build/j/src/libultra/alSynSetVol.o (.rodata); + build/j/src/libultra/alSynStartVoice.o (.rodata); + build/j/src/libultra/alSynSetPan.o (.rodata); + build/j/src/libultra/alSynSetPitch.o (.rodata); + build/j/src/libultra/alSynSetFXMix.o (.rodata); + build/j/src/libultra/alSynStopVoice.o (.rodata); + build/j/src/libultra/alSynFreeVoice.o (.rodata); + build/j/src/libultra/alCents2Ratio.o (.rodata); + build/j/src/libultra/osPiReadIo.o (.rodata); + build/j/src/libultra/string.o (.rodata); + build/j/src/libultra/_Printf.o (.rodata); + build/j/src/libultra/osCreatePiManager.o (.rodata); + build/j/src/libultra/libultra.o (.rodata); + /*build/j/src/libultra/libultra.a:libultra.o (.rodata);*/ build/j/src/game/initgamedata.o (.data); build/j/src/game/initweaponanigroups.o (.data); @@ -3108,6 +3350,7 @@ SECTIONS build/j/src/game/chr.o (.data); build/j/src/game/chr2.o (.data); build/j/src/game/chrai.o (.data); + build/j/src/game/chrobjhandler.o (.data); build/j/src/game/loadobjectmodel.o (.data); build/j/src/game/objective_status.o (.data); build/j/src/game/objective_status2.o (.data); @@ -3229,6 +3472,7 @@ SECTIONS build/j/src/game/chr.o (.rodata); build/j/src/game/chr2.o (.rodata); build/j/src/game/chrai.o (.rodata); + build/j/src/game/chrobjhandler.o (.rodata); build/j/src/game/loadobjectmodel.o (.rodata); build/j/src/game/objective_status.o (.rodata); build/j/src/game/objective_status2.o (.rodata); @@ -3337,7 +3581,90 @@ SECTIONS build/j/src/joy.o (.bss); build/j/src/joy_rumble.o (.bss); build/j/src/rmon.o (.bss); - build/j/libultra/libultra.o (.bss); + + build/j/src/libultra/osPiRawStartDma.o (.bss); + build/j/src/libultra/osPiGetStatus.o (.bss); + build/j/src/libultra/osInitialize.o (.bss); + build/j/src/libultra/osWritebackDCacheAll.o (.bss); + build/j/src/libultra/osInvalICache.o (.bss); + build/j/src/libultra/osUnmapTLB.o (.bss); + build/j/src/libultra/__osGetFpcCsr.o (.bss); + build/j/src/libultra/__osSetFpcCsr.o (.bss); + build/j/src/libultra/osCreateThread.o (.bss); + build/j/src/libultra/osStartThread.o (.bss); + build/j/src/libultra/osCreateMesgQueue.o (.bss); + build/j/src/libultra/osStopThread.o (.bss); + build/j/src/libultra/osSetThreadPri.o (.bss); + build/j/src/libultra/osGetCount.o (.bss); + build/j/src/libultra/osCreateViManager.o (.bss); + build/j/src/libultra/osViModeTable.o (.bss); + build/j/src/libultra/osSetEventMesg.o (.bss); + build/j/src/libultra/osViSetEvent.o (.bss); + build/j/src/libultra/osSetIntMask.o (.bss); + build/j/src/libultra/osRecvMesg.o (.bss); + build/j/src/libultra/osSendMesg.o (.bss); + build/j/src/libultra/osViSetMode.o (.bss); + build/j/src/libultra/osViSetXScale.o (.bss); + build/j/src/libultra/osViSetYScale.o (.bss); + build/j/src/libultra/osViRepeatLine.o (.bss); + build/j/src/libultra/osViBlack.o (.bss); + build/j/src/libultra/osSpTaskYielded.o (.bss); + build/j/src/libultra/osDpGetCounters.o (.bss); + build/j/src/libultra/osViGetCurrentFramebuffer.o (.bss); + build/j/src/libultra/osViGetNextFramebuffer.o (.bss); + build/j/src/libultra/osViSwapBuffer.o (.bss); + build/j/src/libultra/osDpSetStatus.o (.bss); + build/j/src/libultra/osSpTaskLoad.o (.bss); + build/j/src/libultra/osDpSetNextBuffer.o (.bss); + build/j/src/libultra/osSpTaskYield.o (.bss); + build/j/src/libultra/__osGetTLBHi.o (.bss); + build/j/src/libultra/osVirtualToPhysical.o (.bss); + build/j/src/libultra/osAiSetFrequency.o (.bss); + build/j/src/libultra/alInit.o (.bss); + build/j/src/libultra/osGetTime.o (.bss); + build/j/src/libultra/ll.o (.bss); + build/j/src/libultra/osAiGetLength.o (.bss); + build/j/src/libultra/syn.o (.bss); + build/j/src/libultra/osPiStartDma.o (.bss); + build/j/src/libultra/osViSetSpecialFeatures.o (.bss); + build/j/src/libultra/_bcopy.o (.bss); + build/j/src/libultra/guPerspective.o (.bss); + build/j/src/libultra/Mtx.o (.bss); + build/j/src/libultra/__osGetCurrFaultedThread.o (.bss); + build/j/src/libultra/exception.o (.bss); + build/j/src/libultra/__osDequeueThread.o (.bss); + build/j/src/libultra/osYieldThread.o (.bss); + build/j/src/libultra/osInvalDCache.o (.bss); + build/j/src/libultra/osWritebackDCache.o (.bss); + build/j/src/libultra/osSetTimer.o (.bss); + build/j/src/libultra/alHeapInit.o (.bss); + build/j/src/libultra/alBnkfNew.o (.bss); + build/j/src/libultra/__CSP.o (.bss); + build/j/src/libultra/alSeqpSetBank.o (.bss); + build/j/src/libultra/alCSPGetState.o (.bss); + build/j/src/libultra/csequencer.o (.bss); + build/j/src/libultra/alCSPSetSeq.o (.bss); + build/j/src/libultra/alCSPPlay.o (.bss); + build/j/src/libultra/alCSPStop.o (.bss); + build/j/src/libultra/alCSPSetVol.o (.bss); + build/j/src/libultra/alEvtq.o (.bss); + build/j/src/libultra/alSynAddPlayer.o (.bss); + build/j/src/libultra/alSynAllocVoice.o (.bss); + build/j/src/libultra/alSynSetVol.o (.bss); + build/j/src/libultra/alSynStartVoice.o (.bss); + build/j/src/libultra/alSynSetPan.o (.bss); + build/j/src/libultra/alSynSetPitch.o (.bss); + build/j/src/libultra/alSynSetFXMix.o (.bss); + build/j/src/libultra/alSynStopVoice.o (.bss); + build/j/src/libultra/alSynFreeVoice.o (.bss); + build/j/src/libultra/alCents2Ratio.o (.bss); + build/j/src/libultra/osPiReadIo.o (.bss); + build/j/src/libultra/string.o (.bss); + build/j/src/libultra/_Printf.o (.bss); + build/j/src/libultra/osCreatePiManager.o (.bss); + build/j/src/libultra/libultra.o (.bss); + /*build/j/src/libultra/libultra.a:libultra.o (.bss);*/ + build/j/src/game/initgamedata.o (.bss); build/j/src/game/initweaponanigroups.o (.bss); build/j/src/game/initactorpropstuff.o (.bss); @@ -3392,6 +3719,7 @@ SECTIONS build/j/src/game/chr.o (.bss); build/j/src/game/chr2.o (.bss); build/j/src/game/chrai.o (.bss); + build/j/src/game/chrobjhandler.o (.bss); build/j/src/game/loadobjectmodel.o (.bss); build/j/src/game/objective_status.o (.bss); build/j/src/game/objective_status2.o (.bss); @@ -3510,6 +3838,8 @@ SECTIONS build/j/assets/romfiles.o (.text); build/j/assets/romfiles.o (.data); + build/j/assets/romfiles2.o (.text); + build/j/assets/romfiles2.o (.data); build/j/assets/ramrom/ramrom.o (.text); build/j/assets/ramrom/ramrom.o (.data); build/j/assets/font/font.o (.text); @@ -3529,6 +3859,7 @@ SECTIONS build/j/src/gspboot.o (.rodata); build/j/src/_start.o (.bss); build/j/assets/romfiles.o (.bss); + build/j/assets/romfiles2.o (.bss); build/j/assets/ramrom/ramrom.o (.bss); build/j/assets/font/font.o (.bss); build/j/assets/music/music.o (.bss); diff --git a/ge007.u.ld b/ge007.u.ld index 2f38d03b..a9e68012 100644 --- a/ge007.u.ld +++ b/ge007.u.ld @@ -73,7 +73,89 @@ SECTIONS build/u/src/joy.o (.text); build/u/src/joy_rumble.o (.text); build/u/src/rmon.o (.text); - build/u/libultra/libultra.o (.text); + + build/u/src/libultra/osPiRawStartDma.o (.text); + build/u/src/libultra/osPiGetStatus.o (.text); + build/u/src/libultra/osInitialize.o (.text); + build/u/src/libultra/osWritebackDCacheAll.o (.text); + build/u/src/libultra/osInvalICache.o (.text); + build/u/src/libultra/osUnmapTLB.o (.text); + build/u/src/libultra/__osGetFpcCsr.o (.text); + build/u/src/libultra/__osSetFpcCsr.o (.text); + build/u/src/libultra/osCreateThread.o (.text); + build/u/src/libultra/osStartThread.o (.text); + build/u/src/libultra/osCreateMesgQueue.o (.text); + build/u/src/libultra/osStopThread.o (.text); + build/u/src/libultra/osSetThreadPri.o (.text); + build/u/src/libultra/osGetCount.o (.text); + build/u/src/libultra/osCreateViManager.o (.text); + build/u/src/libultra/osViModeTable.o (.text); + build/u/src/libultra/osSetEventMesg.o (.text); + build/u/src/libultra/osViSetEvent.o (.text); + build/u/src/libultra/osSetIntMask.o (.text); + build/u/src/libultra/osRecvMesg.o (.text); + build/u/src/libultra/osSendMesg.o (.text); + build/u/src/libultra/osViSetMode.o (.text); + build/u/src/libultra/osViSetXScale.o (.text); + build/u/src/libultra/osViSetYScale.o (.text); + build/u/src/libultra/osViRepeatLine.o (.text); + build/u/src/libultra/osViBlack.o (.text); + build/u/src/libultra/osSpTaskYielded.o (.text); + build/u/src/libultra/osDpGetCounters.o (.text); + build/u/src/libultra/osViGetCurrentFramebuffer.o (.text); + build/u/src/libultra/osViGetNextFramebuffer.o (.text); + build/u/src/libultra/osViSwapBuffer.o (.text); + build/u/src/libultra/osDpSetStatus.o (.text); + build/u/src/libultra/osSpTaskLoad.o (.text); + build/u/src/libultra/osDpSetNextBuffer.o (.text); + build/u/src/libultra/osSpTaskYield.o (.text); + build/u/src/libultra/__osGetTLBHi.o (.text); + build/u/src/libultra/osVirtualToPhysical.o (.text); + build/u/src/libultra/osAiSetFrequency.o (.text); + build/u/src/libultra/alInit.o (.text); + build/u/src/libultra/osGetTime.o (.text); + build/u/src/libultra/ll.o (.text); + build/u/src/libultra/osAiGetLength.o (.text); + build/u/src/libultra/syn.o (.text); + build/u/src/libultra/osPiStartDma.o (.text); + build/u/src/libultra/osViSetSpecialFeatures.o (.text); + build/u/src/libultra/_bcopy.o (.text); + build/u/src/libultra/guPerspective.o (.text); + build/u/src/libultra/Mtx.o (.text); + build/u/src/libultra/__osGetCurrFaultedThread.o (.text); + build/u/src/libultra/exception.o (.text); + build/u/src/libultra/__osDequeueThread.o (.text); + build/u/src/libultra/osYieldThread.o (.text); + build/u/src/libultra/osInvalDCache.o (.text); + build/u/src/libultra/osWritebackDCache.o (.text); + build/u/src/libultra/osSetTimer.o (.text); + build/u/src/libultra/alHeapInit.o (.text); + build/u/src/libultra/alBnkfNew.o (.text); + build/u/src/libultra/__CSP.o (.text); + build/u/src/libultra/alSeqpSetBank.o (.text); + build/u/src/libultra/alCSPGetState.o (.text); + build/u/src/libultra/csequencer.o (.text); + build/u/src/libultra/alCSPSetSeq.o (.text); + build/u/src/libultra/alCSPPlay.o (.text); + build/u/src/libultra/alCSPStop.o (.text); + build/u/src/libultra/alCSPSetVol.o (.text); + build/u/src/libultra/alEvtq.o (.text); + build/u/src/libultra/alSynAddPlayer.o (.text); + build/u/src/libultra/alSynAllocVoice.o (.text); + build/u/src/libultra/alSynSetVol.o (.text); + build/u/src/libultra/alSynStartVoice.o (.text); + build/u/src/libultra/alSynSetPan.o (.text); + build/u/src/libultra/alSynSetPitch.o (.text); + build/u/src/libultra/alSynSetFXMix.o (.text); + build/u/src/libultra/alSynStopVoice.o (.text); + build/u/src/libultra/alSynFreeVoice.o (.text); + build/u/src/libultra/alCents2Ratio.o (.text); + build/u/src/libultra/osPiReadIo.o (.text); + build/u/src/libultra/string.o (.text); + build/u/src/libultra/_Printf.o (.text); + build/u/src/libultra/osCreatePiManager.o (.text); + build/u/src/libultra/libultra.o (.text); + /*build/u/src/libultra/libultra.a:libultra.o (.text);*/ } _codeSegmentEnd = ADDR(.code) + SIZEOF(.code); _codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code); @@ -161,6 +243,7 @@ SECTIONS build/u/src/game/chr.o (.text); build/u/src/game/chr2.o (.text); build/u/src/game/chrai.o (.text); + build/u/src/game/chrobjhandler.o (.text); build/u/src/game/loadobjectmodel.o (.text); build/u/src/game/objective_status.o (.text); build/u/src/game/objective_status2.o (.text); @@ -238,6 +321,8 @@ SECTIONS _romfiles_117880SegmentRomStart = _gameSegmentRomEnd; .romfiles_117880 _romfiles_117880SegmentRomStart : AT(_romfiles_117880SegmentRomStart) { build/u/assets/romfiles.o (.romfiles); + build/u/assets/GlobalImageTable.o (.data); + build/u/assets/romfiles2.o (.romfiles); build/u/assets/ramrom/ramrom.o (.ramrom); build/u/assets/font/font.o (.font); build/u/assets/music/music.o (.music); @@ -3014,7 +3099,89 @@ SECTIONS build/u/src/joy.o (.data); build/u/src/joy_rumble.o (.data); build/u/src/rmon.o (.data); - build/u/libultra/libultra.o (.data); + + build/u/src/libultra/osPiRawStartDma.o (.data); + build/u/src/libultra/osPiGetStatus.o (.data); + build/u/src/libultra/osInitialize.o (.data); + build/u/src/libultra/osWritebackDCacheAll.o (.data); + build/u/src/libultra/osInvalICache.o (.data); + build/u/src/libultra/osUnmapTLB.o (.data); + build/u/src/libultra/__osGetFpcCsr.o (.data); + build/u/src/libultra/__osSetFpcCsr.o (.data); + build/u/src/libultra/osCreateThread.o (.data); + build/u/src/libultra/osStartThread.o (.data); + build/u/src/libultra/osCreateMesgQueue.o (.data); + build/u/src/libultra/osStopThread.o (.data); + build/u/src/libultra/osSetThreadPri.o (.data); + build/u/src/libultra/osGetCount.o (.data); + build/u/src/libultra/osCreateViManager.o (.data); + build/u/src/libultra/osViModeTable.o (.data); + build/u/src/libultra/osSetEventMesg.o (.data); + build/u/src/libultra/osViSetEvent.o (.data); + build/u/src/libultra/osSetIntMask.o (.data); + build/u/src/libultra/osRecvMesg.o (.data); + build/u/src/libultra/osSendMesg.o (.data); + build/u/src/libultra/osViSetMode.o (.data); + build/u/src/libultra/osViSetXScale.o (.data); + build/u/src/libultra/osViSetYScale.o (.data); + build/u/src/libultra/osViRepeatLine.o (.data); + build/u/src/libultra/osViBlack.o (.data); + build/u/src/libultra/osSpTaskYielded.o (.data); + build/u/src/libultra/osDpGetCounters.o (.data); + build/u/src/libultra/osViGetCurrentFramebuffer.o (.data); + build/u/src/libultra/osViGetNextFramebuffer.o (.data); + build/u/src/libultra/osViSwapBuffer.o (.data); + build/u/src/libultra/osDpSetStatus.o (.data); + build/u/src/libultra/osSpTaskLoad.o (.data); + build/u/src/libultra/osDpSetNextBuffer.o (.data); + build/u/src/libultra/osSpTaskYield.o (.data); + build/u/src/libultra/__osGetTLBHi.o (.data); + build/u/src/libultra/osVirtualToPhysical.o (.data); + build/u/src/libultra/osAiSetFrequency.o (.data); + build/u/src/libultra/alInit.o (.data); + build/u/src/libultra/osGetTime.o (.data); + build/u/src/libultra/ll.o (.data); + build/u/src/libultra/osAiGetLength.o (.data); + build/u/src/libultra/syn.o (.data); + build/u/src/libultra/osPiStartDma.o (.data); + build/u/src/libultra/osViSetSpecialFeatures.o (.data); + build/u/src/libultra/_bcopy.o (.data); + build/u/src/libultra/guPerspective.o (.data); + build/u/src/libultra/Mtx.o (.data); + build/u/src/libultra/__osGetCurrFaultedThread.o (.data); + build/u/src/libultra/exception.o (.data); + build/u/src/libultra/__osDequeueThread.o (.data); + build/u/src/libultra/osYieldThread.o (.data); + build/u/src/libultra/osInvalDCache.o (.data); + build/u/src/libultra/osWritebackDCache.o (.data); + build/u/src/libultra/osSetTimer.o (.data); + build/u/src/libultra/alHeapInit.o (.data); + build/u/src/libultra/alBnkfNew.o (.data); + build/u/src/libultra/__CSP.o (.data); + build/u/src/libultra/alSeqpSetBank.o (.data); + build/u/src/libultra/alCSPGetState.o (.data); + build/u/src/libultra/csequencer.o (.data); + build/u/src/libultra/alCSPSetSeq.o (.data); + build/u/src/libultra/alCSPPlay.o (.data); + build/u/src/libultra/alCSPStop.o (.data); + build/u/src/libultra/alCSPSetVol.o (.data); + build/u/src/libultra/alEvtq.o (.data); + build/u/src/libultra/alSynAddPlayer.o (.data); + build/u/src/libultra/alSynAllocVoice.o (.data); + build/u/src/libultra/alSynSetVol.o (.data); + build/u/src/libultra/alSynStartVoice.o (.data); + build/u/src/libultra/alSynSetPan.o (.data); + build/u/src/libultra/alSynSetPitch.o (.data); + build/u/src/libultra/alSynSetFXMix.o (.data); + build/u/src/libultra/alSynStopVoice.o (.data); + build/u/src/libultra/alSynFreeVoice.o (.data); + build/u/src/libultra/alCents2Ratio.o (.data); + build/u/src/libultra/osPiReadIo.o (.data); + build/u/src/libultra/string.o (.data); + build/u/src/libultra/_Printf.o (.data); + build/u/src/libultra/osCreatePiManager.o (.data); + build/u/src/libultra/libultra.o (.data); + /*build/u/src/libultra/libultra.a:libultra.o (.data);*/ build/u/src/aspboot.o (.rodata); build/u/src/boot.o (.rodata); @@ -3048,7 +3215,89 @@ SECTIONS build/u/src/joy.o (.rodata); build/u/src/joy_rumble.o (.rodata); build/u/src/rmon.o (.rodata); - build/u/libultra/libultra.o (.rodata); + + build/u/src/libultra/osPiRawStartDma.o (.rodata); + build/u/src/libultra/osPiGetStatus.o (.rodata); + build/u/src/libultra/osInitialize.o (.rodata); + build/u/src/libultra/osWritebackDCacheAll.o (.rodata); + build/u/src/libultra/osInvalICache.o (.rodata); + build/u/src/libultra/osUnmapTLB.o (.rodata); + build/u/src/libultra/__osGetFpcCsr.o (.rodata); + build/u/src/libultra/__osSetFpcCsr.o (.rodata); + build/u/src/libultra/osCreateThread.o (.rodata); + build/u/src/libultra/osStartThread.o (.rodata); + build/u/src/libultra/osCreateMesgQueue.o (.rodata); + build/u/src/libultra/osStopThread.o (.rodata); + build/u/src/libultra/osSetThreadPri.o (.rodata); + build/u/src/libultra/osGetCount.o (.rodata); + build/u/src/libultra/osCreateViManager.o (.rodata); + build/u/src/libultra/osViModeTable.o (.rodata); + build/u/src/libultra/osSetEventMesg.o (.rodata); + build/u/src/libultra/osViSetEvent.o (.rodata); + build/u/src/libultra/osSetIntMask.o (.rodata); + build/u/src/libultra/osRecvMesg.o (.rodata); + build/u/src/libultra/osSendMesg.o (.rodata); + build/u/src/libultra/osViSetMode.o (.rodata); + build/u/src/libultra/osViSetXScale.o (.rodata); + build/u/src/libultra/osViSetYScale.o (.rodata); + build/u/src/libultra/osViRepeatLine.o (.rodata); + build/u/src/libultra/osViBlack.o (.rodata); + build/u/src/libultra/osSpTaskYielded.o (.rodata); + build/u/src/libultra/osDpGetCounters.o (.rodata); + build/u/src/libultra/osViGetCurrentFramebuffer.o (.rodata); + build/u/src/libultra/osViGetNextFramebuffer.o (.rodata); + build/u/src/libultra/osViSwapBuffer.o (.rodata); + build/u/src/libultra/osDpSetStatus.o (.rodata); + build/u/src/libultra/osSpTaskLoad.o (.rodata); + build/u/src/libultra/osDpSetNextBuffer.o (.rodata); + build/u/src/libultra/osSpTaskYield.o (.rodata); + build/u/src/libultra/__osGetTLBHi.o (.rodata); + build/u/src/libultra/osVirtualToPhysical.o (.rodata); + build/u/src/libultra/osAiSetFrequency.o (.rodata); + build/u/src/libultra/alInit.o (.rodata); + build/u/src/libultra/osGetTime.o (.rodata); + build/u/src/libultra/ll.o (.rodata); + build/u/src/libultra/osAiGetLength.o (.rodata); + build/u/src/libultra/syn.o (.rodata); + build/u/src/libultra/osPiStartDma.o (.rodata); + build/u/src/libultra/osViSetSpecialFeatures.o (.rodata); + build/u/src/libultra/_bcopy.o (.rodata); + build/u/src/libultra/guPerspective.o (.rodata); + build/u/src/libultra/Mtx.o (.rodata); + build/u/src/libultra/__osGetCurrFaultedThread.o (.rodata); + build/u/src/libultra/exception.o (.rodata); + build/u/src/libultra/__osDequeueThread.o (.rodata); + build/u/src/libultra/osYieldThread.o (.rodata); + build/u/src/libultra/osInvalDCache.o (.rodata); + build/u/src/libultra/osWritebackDCache.o (.rodata); + build/u/src/libultra/osSetTimer.o (.rodata); + build/u/src/libultra/alHeapInit.o (.rodata); + build/u/src/libultra/alBnkfNew.o (.rodata); + build/u/src/libultra/__CSP.o (.rodata); + build/u/src/libultra/alSeqpSetBank.o (.rodata); + build/u/src/libultra/alCSPGetState.o (.rodata); + build/u/src/libultra/csequencer.o (.rodata); + build/u/src/libultra/alCSPSetSeq.o (.rodata); + build/u/src/libultra/alCSPPlay.o (.rodata); + build/u/src/libultra/alCSPStop.o (.rodata); + build/u/src/libultra/alCSPSetVol.o (.rodata); + build/u/src/libultra/alEvtq.o (.rodata); + build/u/src/libultra/alSynAddPlayer.o (.rodata); + build/u/src/libultra/alSynAllocVoice.o (.rodata); + build/u/src/libultra/alSynSetVol.o (.rodata); + build/u/src/libultra/alSynStartVoice.o (.rodata); + build/u/src/libultra/alSynSetPan.o (.rodata); + build/u/src/libultra/alSynSetPitch.o (.rodata); + build/u/src/libultra/alSynSetFXMix.o (.rodata); + build/u/src/libultra/alSynStopVoice.o (.rodata); + build/u/src/libultra/alSynFreeVoice.o (.rodata); + build/u/src/libultra/alCents2Ratio.o (.rodata); + build/u/src/libultra/osPiReadIo.o (.rodata); + build/u/src/libultra/string.o (.rodata); + build/u/src/libultra/_Printf.o (.rodata); + build/u/src/libultra/osCreatePiManager.o (.rodata); + build/u/src/libultra/libultra.o (.rodata); + /*build/u/src/libultra/libultra.a:libultra.o (.rodata);*/ build/u/src/game/initgamedata.o (.data); build/u/src/game/initweaponanigroups.o (.data); @@ -3104,6 +3353,7 @@ SECTIONS build/u/src/game/chr.o (.data); build/u/src/game/chr2.o (.data); build/u/src/game/chrai.o (.data); + build/u/src/game/chrobjhandler.o (.data); build/u/src/game/loadobjectmodel.o (.data); build/u/src/game/objective_status.o (.data); build/u/src/game/objective_status2.o (.data); @@ -3225,6 +3475,7 @@ SECTIONS build/u/src/game/chr.o (.rodata); build/u/src/game/chr2.o (.rodata); build/u/src/game/chrai.o (.rodata); + build/u/src/game/chrobjhandler.o (.rodata); build/u/src/game/loadobjectmodel.o (.rodata); build/u/src/game/objective_status.o (.rodata); build/u/src/game/objective_status2.o (.rodata); @@ -3333,7 +3584,90 @@ SECTIONS build/u/src/joy.o (.bss); build/u/src/joy_rumble.o (.bss); build/u/src/rmon.o (.bss); - build/u/libultra/libultra.o (.bss); + + build/u/src/libultra/osPiRawStartDma.o (.bss); + build/u/src/libultra/osPiGetStatus.o (.bss); + build/u/src/libultra/osInitialize.o (.bss); + build/u/src/libultra/osWritebackDCacheAll.o (.bss); + build/u/src/libultra/osInvalICache.o (.bss); + build/u/src/libultra/osUnmapTLB.o (.bss); + build/u/src/libultra/__osGetFpcCsr.o (.bss); + build/u/src/libultra/__osSetFpcCsr.o (.bss); + build/u/src/libultra/osCreateThread.o (.bss); + build/u/src/libultra/osStartThread.o (.bss); + build/u/src/libultra/osCreateMesgQueue.o (.bss); + build/u/src/libultra/osStopThread.o (.bss); + build/u/src/libultra/osSetThreadPri.o (.bss); + build/u/src/libultra/osGetCount.o (.bss); + build/u/src/libultra/osCreateViManager.o (.bss); + build/u/src/libultra/osViModeTable.o (.bss); + build/u/src/libultra/osSetEventMesg.o (.bss); + build/u/src/libultra/osViSetEvent.o (.bss); + build/u/src/libultra/osSetIntMask.o (.bss); + build/u/src/libultra/osRecvMesg.o (.bss); + build/u/src/libultra/osSendMesg.o (.bss); + build/u/src/libultra/osViSetMode.o (.bss); + build/u/src/libultra/osViSetXScale.o (.bss); + build/u/src/libultra/osViSetYScale.o (.bss); + build/u/src/libultra/osViRepeatLine.o (.bss); + build/u/src/libultra/osViBlack.o (.bss); + build/u/src/libultra/osSpTaskYielded.o (.bss); + build/u/src/libultra/osDpGetCounters.o (.bss); + build/u/src/libultra/osViGetCurrentFramebuffer.o (.bss); + build/u/src/libultra/osViGetNextFramebuffer.o (.bss); + build/u/src/libultra/osViSwapBuffer.o (.bss); + build/u/src/libultra/osDpSetStatus.o (.bss); + build/u/src/libultra/osSpTaskLoad.o (.bss); + build/u/src/libultra/osDpSetNextBuffer.o (.bss); + build/u/src/libultra/osSpTaskYield.o (.bss); + build/u/src/libultra/__osGetTLBHi.o (.bss); + build/u/src/libultra/osVirtualToPhysical.o (.bss); + build/u/src/libultra/osAiSetFrequency.o (.bss); + build/u/src/libultra/alInit.o (.bss); + build/u/src/libultra/osGetTime.o (.bss); + build/u/src/libultra/ll.o (.bss); + build/u/src/libultra/osAiGetLength.o (.bss); + build/u/src/libultra/syn.o (.bss); + build/u/src/libultra/osPiStartDma.o (.bss); + build/u/src/libultra/osViSetSpecialFeatures.o (.bss); + build/u/src/libultra/_bcopy.o (.bss); + build/u/src/libultra/guPerspective.o (.bss); + build/u/src/libultra/Mtx.o (.bss); + build/u/src/libultra/__osGetCurrFaultedThread.o (.bss); + build/u/src/libultra/exception.o (.bss); + build/u/src/libultra/__osDequeueThread.o (.bss); + build/u/src/libultra/osYieldThread.o (.bss); + build/u/src/libultra/osInvalDCache.o (.bss); + build/u/src/libultra/osWritebackDCache.o (.bss); + build/u/src/libultra/osSetTimer.o (.bss); + build/u/src/libultra/alHeapInit.o (.bss); + build/u/src/libultra/alBnkfNew.o (.bss); + build/u/src/libultra/__CSP.o (.bss); + build/u/src/libultra/alSeqpSetBank.o (.bss); + build/u/src/libultra/alCSPGetState.o (.bss); + build/u/src/libultra/csequencer.o (.bss); + build/u/src/libultra/alCSPSetSeq.o (.bss); + build/u/src/libultra/alCSPPlay.o (.bss); + build/u/src/libultra/alCSPStop.o (.bss); + build/u/src/libultra/alCSPSetVol.o (.bss); + build/u/src/libultra/alEvtq.o (.bss); + build/u/src/libultra/alSynAddPlayer.o (.bss); + build/u/src/libultra/alSynAllocVoice.o (.bss); + build/u/src/libultra/alSynSetVol.o (.bss); + build/u/src/libultra/alSynStartVoice.o (.bss); + build/u/src/libultra/alSynSetPan.o (.bss); + build/u/src/libultra/alSynSetPitch.o (.bss); + build/u/src/libultra/alSynSetFXMix.o (.bss); + build/u/src/libultra/alSynStopVoice.o (.bss); + build/u/src/libultra/alSynFreeVoice.o (.bss); + build/u/src/libultra/alCents2Ratio.o (.bss); + build/u/src/libultra/osPiReadIo.o (.bss); + build/u/src/libultra/string.o (.bss); + build/u/src/libultra/_Printf.o (.bss); + build/u/src/libultra/osCreatePiManager.o (.bss); + build/u/src/libultra/libultra.o (.bss); + /*build/u/src/libultra/libultra.a:libultra.o (.bss);*/ + build/u/src/game/initgamedata.o (.bss); build/u/src/game/initweaponanigroups.o (.bss); build/u/src/game/initactorpropstuff.o (.bss); @@ -3388,6 +3722,7 @@ SECTIONS build/u/src/game/chr.o (.bss); build/u/src/game/chr2.o (.bss); build/u/src/game/chrai.o (.bss); + build/u/src/game/chrobjhandler.o (.bss); build/u/src/game/loadobjectmodel.o (.bss); build/u/src/game/objective_status.o (.bss); build/u/src/game/objective_status2.o (.bss); @@ -3506,6 +3841,8 @@ SECTIONS build/u/assets/romfiles.o (.text); build/u/assets/romfiles.o (.data); + build/u/assets/romfiles2.o (.text); + build/u/assets/romfiles2.o (.data); build/u/assets/ramrom/ramrom.o (.text); build/u/assets/ramrom/ramrom.o (.data); build/u/assets/font/font.o (.text); @@ -3525,6 +3862,7 @@ SECTIONS build/u/src/gspboot.o (.rodata); build/u/src/_start.o (.bss); build/u/assets/romfiles.o (.bss); + build/u/assets/romfiles2.o (.bss); build/u/assets/ramrom/ramrom.o (.bss); build/u/assets/font/font.o (.bss); build/u/assets/music/music.o (.bss); diff --git a/ge007_libultra/libultra/libultra.s b/ge007_libultra/libultra/libultra.s index 00e32df3..bc4228c8 100644 --- a/ge007_libultra/libultra/libultra.s +++ b/ge007_libultra/libultra/libultra.s @@ -3862,7 +3862,7 @@ glabel guMtxL2F /* 010D78 70010178 27BD0010 */ addiu $sp, $sp, 0x10 /* 010D7C 7001017C 00000000 */ nop -glabel ultra_70010180 +glabel __osGetCurrFaultedThread /* 010D80 70010180 3C028002 */ lui $v0, 0x8002 /* 010D84 70010184 03E00008 */ jr $ra /* 010D88 70010188 8C427734 */ lw $v0, 0x7734($v0) diff --git a/src/bondaicommands.h b/src/bondaicommands.h index 646e644a..6bd6db57 100644 --- a/src/bondaicommands.h +++ b/src/bondaicommands.h @@ -66,7 +66,7 @@ //============================================================================= // commands with a vehicle/aircraft prefix can only be executed by vehicle/aircraft // objects. these types of objects do not use a chr struct. most non-vehicle -// commands will crash if they try to access caller's chr struct +// commands will crash if they try to access caller's chr struct //============================================================================= // ai commands with label argument //============================================================================= @@ -192,9 +192,9 @@ // command D7 - hud flags #define HUD_HIDE_ALL 0x00 // hide all -#define HUD_SHOW_TEXT_TOP 0x01 // hide all but top text -#define HUD_SHOW_TEXT_BOTTOM 0x02 // hide all but bottom text -#define HUD_SHOW_HUD_COUNTDOWN 0x04 // hide all but hud countdown +#define HUD_SHOW_TEXT_TOP 0x01 // don't hide top text +#define HUD_SHOW_TEXT_BOTTOM 0x02 // don't hide bottom text +#define HUD_SHOW_HUD_COUNTDOWN 0x04 // don't hide hud countdown // command 94/95/96/97/98/99 chr->BITFIELD - used for ai list GLIST_FIRE_RAND_ANIM_SUBROUTINE #define BITFIELD_DONT_POINT_AT_BOND 0x01 // if set, don't point at bond @@ -259,7 +259,13 @@ #define if_local_timer_seconds_greater_than(seconds, label) \ if_local_timer_greater_than((SECS_TO_TIMER60(seconds)), label) -#define camera_wait_for_loading \ +#define camera_transition_from_bond \ + bond_hide_weapons \ + ai_sleep \ + ai_sleep \ + ai_sleep + +#define camera_transition_to_bond \ ai_sleep \ ai_sleep \ ai_sleep @@ -326,7 +332,7 @@ // info: used for ai list parser to check when list ends //============================================================================= // note: not recommended to execute this command - to finish a list create an -// infinite loop (goto_loop_infinite) or jump to glist end routine when list has +// infinite loop (goto_loop_infinite) or jump to GLIST_END_ROUTINE when list has // finished tasks //===========================================================================*/ #define ai_list_end_ID 0x04 @@ -565,7 +571,7 @@ // command id: 16 // info: update guard's aim/fire target, goto label if successful //============================================================================= -// note: this command only works if guard is currently aiming at a target +// note: this command only works if guard is currently aiming at a target. // bitfield argument is used to set the target type (pad/bond/chr). // use TARGET_# flags for bitfield argument //===========================================================================*/ @@ -582,7 +588,7 @@ // command id: 17 // info: make guard continuously face target, goto label if successful //============================================================================= -// note: if guard was shot while facing target, guard will snap out of facing state +// note: if guard was shot while facing target, guard will snap out of facing state. // bitfield argument is used to set the target type (pad/bond/chr). // use TARGET_# flags for bitfield argument. command can't use TARGET_AIM_ONLY flag //===========================================================================*/ @@ -705,7 +711,8 @@ // command id: 20 // info: makes guard walk a predefined path within setup //============================================================================= -// note: usually paired with goto glist 0005/0007 +// note: usually paired with goto GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM +// or GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM //===========================================================================*/ #define guard_start_patrol_ID 0x20 #define guard_start_patrol_LENGTH 0x02 @@ -1605,17 +1612,17 @@ object_tag, /*============================================================================= -// name: object_detach_from_chr +// name: object_drop_from_chr // command id: 60 -// info: detach tagged object from chr and drop to ground +// info: drop tagged object held/attached to chr //============================================================================= -// note: item must be attached to a chr. embedded objects will not drop, only -// works with attached objects. props can be damaged on drop +// note: item must be held/attached to a chr. embedded objects will not drop, +// only works with attached objects. props can be damaged on drop //===========================================================================*/ -#define object_detach_from_chr_ID 0x60 -#define object_detach_from_chr_LENGTH 0x02 -#define object_detach_from_chr(object_tag) \ - object_detach_from_chr_ID, \ +#define object_drop_from_chr_ID 0x60 +#define object_drop_from_chr_LENGTH 0x02 +#define object_drop_from_chr(object_tag) \ + object_drop_from_chr_ID, \ object_tag, /*============================================================================= @@ -2312,7 +2319,7 @@ // name: guard_set_health_total // command id: 8F // info: set guard's total health - the higher the value, the more shots needed -// to kill guard. +// to kill guard. //============================================================================= // note: sets to chr->maxdamage. default health is 4.0f (0x0028/40 dec for argument). // argument is converted to float and divided by 10 before setting to maxdamage. @@ -2353,8 +2360,8 @@ //============================================================================= // note: sets to chr->speedrating. default speed is 0 - argument is signed. // negative values will make guard animate slower - this affects firing animations. -// command does not use 007 reaction speed modifier. do not use values above 0x60 -// or it may crash +// command does not use 007 reaction speed modifier. do not use values above/below +// 100 or it may crash //===========================================================================*/ #define guard_set_speed_rating_ID 0x91 #define guard_set_speed_rating_LENGTH 0x02 @@ -2490,9 +2497,11 @@ // command id: 9A // info: set bits in objective bitfield on //============================================================================= -// note: can be used to store a mission unique objective flag, which can be set +// note: can be used to store a mission unique objective flag, which can be linked // to mission objectives. it can also be used to store miscellaneous flags used -// by other ai lists +// by other ai lists. if a mission objective is changed while in third person, +// it will not be updated on the briefing page - all mission objectives status +// are locked while in third person //===========================================================================*/ #define objective_bitfield_set_on_ID 0x9A #define objective_bitfield_set_on_LENGTH 0x05 @@ -2505,9 +2514,11 @@ // command id: 9B // info: set bits in objective bitfield off //============================================================================= -// note: can be used to store a mission unique objective flag, which can be set +// note: can be used to store a mission unique objective flag, which can be linked // to mission objectives. it can also be used to store miscellaneous flags used -// by other ai lists +// by other ai lists. if a mission objective is changed while in third person, +// it will not be updated on the briefing page - all mission objectives status +// are locked while in third person //===========================================================================*/ #define objective_bitfield_set_off_ID 0x9B #define objective_bitfield_set_off_LENGTH 0x05 @@ -3290,7 +3301,7 @@ // command id: D2 // info: exits the level //============================================================================= -// note: recommend not to use this command, instead goto glist exit level for +// note: recommend not to use this command, instead goto GLIST_EXIT_LEVEL for // exit cutscene list. retail game has a glitch with hires mode that needs to // execute this command in a loop, check cuba's 1000 list //===========================================================================*/ @@ -3307,8 +3318,8 @@ // note: unused command, never used in retail game. tagged items within inventory // will become invalid after command - only weapons are safe. command must have // 3 ai_sleep commands before executing this command or else engine will crash -// on console (use macro camera_wait_for_loading). if camera mode is already in -// third person then you don't need to do the above +// on console (use camera_transition_to_bond). mission time is resumed on return +// to first person view //===========================================================================*/ #define camera_return_to_bond_ID 0xD3 #define camera_return_to_bond_LENGTH 0x01 @@ -3320,9 +3331,10 @@ // command id: D4 // info: change view to pad and look at bond //============================================================================= -// note: command must have 3 ai_sleep commands before executing this command or -// else engine will crash on console (use macro camera_wait_for_loading). +// note: command must have a bond_hide_weapons command and 3 ai_sleep commands +// before executing this command or else engine will crash (use camera_transition_from_bond). // if camera mode is already in third person then you don't need to do the above. +// mission time is paused while in third person //===========================================================================*/ #define camera_look_at_bond_from_pad_ID 0xD4 #define camera_look_at_bond_from_pad_LENGTH 0x03 @@ -3335,11 +3347,12 @@ // command id: D5 // info: change view to tagged camera's position and rotation //============================================================================= -// note: command must have 3 ai_sleep commands before executing this command or -// else engine will crash on console (use macro camera_wait_for_loading). +// note: command must have a bond_hide_weapons command and 3 ai_sleep commands +// before executing this command or else engine will crash (use camera_transition_from_bond). // if camera mode is already in third person then you don't need to do the above. // only look at bond if flag is set. unused flag may have separated look at bond -// as x/y flags instead of a single flag - for retail unused flag does nothing +// as x/y flags instead of a single flag - for retail unused flag does nothing. +// mission time is paused while in third person //===========================================================================*/ #define camera_switch_ID 0xD5 #define camera_switch_LENGTH 0x06 @@ -3366,34 +3379,35 @@ label, /*============================================================================= -// name: hud_hide_and_lock_controls +// name: hud_hide_and_lock_controls_and_pause_mission_time // command id: D7 -// info: hide hud elements and lock player controls +// info: hide hud elements, lock player control and stop mission time. +// command is commonly used for exit mission lists //============================================================================= // note: argument flag will not hide element on command execution. this is -// needed for dialog or countdown while in cinema mode. flags can be combined +// needed for dialog/hud countdown while in cinema mode. flags can be combined // together to show multiple elements. sequential executions of D7 can be used // to hide more elements, but once an element has been hidden it cannot be shown // again until command D8 is executed. bond can take damage while in locked state. // use HUD_# flags for bitfield argument //===========================================================================*/ -#define hud_hide_and_lock_controls_ID 0xD7 -#define hud_hide_and_lock_controls_LENGTH 0x02 -#define hud_hide_and_lock_controls(bitfield) \ - hud_hide_and_lock_controls_ID, \ +#define hud_hide_and_lock_controls_and_pause_mission_time_ID 0xD7 +#define hud_hide_and_lock_controls_and_pause_mission_time_LENGTH 0x02 +#define hud_hide_and_lock_controls_and_pause_mission_time(bitfield) \ + hud_hide_and_lock_controls_and_pause_mission_time_ID, \ bitfield, /*============================================================================= -// name: hud_show_all +// name: hud_show_all_and_unlock_controls_and_resume_mission_time // command id: D8 -// info: show all hud elements that have been disabled by D7 +// info: show all hud elements, unlock player control and resume mission time //============================================================================= // note: should only be executed after D7 command //===========================================================================*/ -#define hud_show_all_ID 0xD8 -#define hud_show_all_LENGTH 0x01 -#define hud_show_all \ - hud_show_all_ID, +#define hud_show_all_and_unlock_controls_and_resume_mission_time_ID 0xD8 +#define hud_show_all_and_unlock_controls_and_resume_mission_time_LENGTH 0x01 +#define hud_show_all_and_unlock_controls_and_resume_mission_time \ + hud_show_all_and_unlock_controls_and_resume_mission_time_ID, /*============================================================================= // name: chr_try_teleporting_to_pad @@ -3618,14 +3632,17 @@ gas_leak_and_switch_fog_ID, /*============================================================================= -// name: mission_time_stop_and_exit_level_on_button_input +// name: trigger_fade_and_exit_level_on_button_press // command id: EA -// info: stop the mission time and exit level if player 1 pressed any buttons +// info: if player pressed any button, fade to black and exit level +//============================================================================= +// note: this command activates a state where game will fade to black when button +// input is detected from controller 1. command does not pause mission time //===========================================================================*/ -#define mission_time_stop_and_exit_level_on_button_input_ID 0xEA -#define mission_time_stop_and_exit_level_on_button_input_LENGTH 0x01 -#define mission_time_stop_and_exit_level_on_button_input \ - mission_time_stop_and_exit_level_on_button_input_ID, +#define trigger_fade_and_exit_level_on_button_press_ID 0xEA +#define trigger_fade_and_exit_level_on_button_press_LENGTH 0x01 +#define trigger_fade_and_exit_level_on_button_press \ + trigger_fade_and_exit_level_on_button_press_ID, /*============================================================================= // name: if_bond_is_dead @@ -3666,9 +3683,9 @@ // command id: EE // info: change view to orbit a pad with set speed //============================================================================= -// note: command must have 3 ai_sleep commands before executing this command or -// else engine will crash on console (use macro camera_wait_for_loading). if camera -// mode is already in third person then you don't need to do the above. +// note: command must have a bond_hide_weapons command and 3 ai_sleep commands +// before executing this command or else engine will crash (use camera_transition_from_bond). +// if camera mode is already in third person then you don't need to do the above. // arguments: // lat_distance: camera distance from pad, 100 units per meter. argument is unsigned // vert_distance: camera distance from pad, 100 units per meter. argument is signed @@ -3679,6 +3696,7 @@ // y_pos_offset: offset the relative y position for pad (boom/jib), argument is signed // initial_rotation: uses compass direction like target commands (14-17) // but inverted - hex N: 0000 E: C000 S: 8000: W: 4000 +// mission time is paused while in third person //===========================================================================*/ #define camera_orbit_pad_ID 0xEE #define camera_orbit_pad_LENGTH 0x0D diff --git a/src/bondconstants.h b/src/bondconstants.h index 7add973b..ae25bf69 100644 --- a/src/bondconstants.h +++ b/src/bondconstants.h @@ -18,7 +18,7 @@ #define CHR_OBJECTIVE -2 /* objective ai list chr ID */ #define CHR_FREE -1 /* chr IDs when free'd (killed or removed from level) */ #define CHR_SPAWN_NUM_START 5000 /* default chr num for spawned guards with ai command BD/BE */ -#define CHR_CLONED_NUM_START 9000 /* default chr num for cloed guards with ai command C1 */ +#define CHR_CLONED_NUM_START 10000 /* default chr num for cloed guards with ai command C1 */ #define PAD_PRESET 9000 /* stored as chr->padpreset1 */ @@ -1023,6 +1023,26 @@ typedef enum CAMERAMODE { UNK10_CAM } CAMERAMODE; +typedef enum IMAGE_FORMAT { + F_RGBA, + F_YUV, + F_CI, + F_IA, + F_I + } IMAGE_FORMAT; + + typedef enum IMAGE_BITDEPTH { + D_4BIT, + D_8BIT, + D_16BIT, + D_32BIT +} IMAGE_BITDEPTH; + +typedef enum CM_FLAGS { + CLAMP = 1, + MIRROR =2 +} CM_FLAGS; + /* motion capture actor: duncan botwood */ /* motion capture assistance: b jones */ /* recorded using 'flock of birds' system by ascension technology corporation, in a freezing metal barn in the depths of winter */ @@ -1117,7 +1137,7 @@ typedef enum ANIMATIONS { ANIM_aim_running_right_one_handed_weapon = 86, ANIM_aim_running_left_one_handed_weapon = 87, ANIM_aim_sprinting_one_handed_weapon = 88, - ANIM_jogging_one_handed_weapon = 89, + ANIM_running_one_handed_weapon = 89, ANIM_sprinting_one_handed_weapon = 90, ANIM_null91 = 91, /* invalid slot */ ANIM_null92 = 92, /* invalid slot */ @@ -1132,7 +1152,7 @@ typedef enum ANIMATIONS { ANIM_holster_one_handed_weapon_and_cross_arms = 101, ANIM_cock_one_handed_weapon_turn_around_and_stand_up = 102, ANIM_draw_one_handed_weapon_and_turn_around = 103, - ANIM_step_foward_and_hold_one_handed_weapon = 104, + ANIM_step_forward_and_hold_one_handed_weapon = 104, ANIM_holster_one_handed_weapon_and_adjust_suit = 105, ANIM_idle_unarmed = 106, ANIM_walking_unarmed = 107, @@ -1253,9 +1273,9 @@ typedef enum ACT_TYPE { } ACT_TYPE; // character flags -#define CHRFLAG_00000001 0x00000001 // unknown -#define CHRFLAG_SUNGLASSES 0x00000002 // sunglasses -#define CHRFLAG_00000004 0x00000004 // unknown +#define CHRFLAG_INIT 0x00000001 // initialize chr +#define CHRFLAG_CLONE 0x00000002 // clone on heard gunfire (used by GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE) +#define CHRFLAG_NEAR_MISS 0x00000004 // chr was just nearly shot (sometimes set on direct hit) #define CHRFLAG_HAS_BEEN_ON_SCREEN 0x00000008 // chr has been on screen before #define CHRFLAG_INVINCIBLE 0x00000010 // invincible #define CHRFLAG_00000020 0x00000020 // unknown @@ -1276,7 +1296,7 @@ typedef enum ACT_TYPE { #define CHRFLAG_COUNT_DEATH_AS_CIVILIAN 0x00100000 // count death as civilian killed #define CHRFLAG_WAS_HIT 0x00200000 // chr has been hit (even if invincible) #define CHRFLAG_00400000 0x00400000 // unknown -#define CHRFLAG_00800000 0x00800000 // unknown +#define CHRFLAG_CULL_USING_HITBOX 0x00800000 // cull chr using hitbox instead of tile/clipping (useful with lock y pos flag) #define CHRFLAG_01000000 0x01000000 // unknown #define CHRFLAG_02000000 0x02000000 // unknown #define CHRFLAG_04000000 0x04000000 // unknown diff --git a/src/bondgame.h b/src/bondgame.h index f1793cb6..f08c3c7f 100644 --- a/src/bondgame.h +++ b/src/bondgame.h @@ -2,8 +2,8 @@ #define _BOND_H_ #include "ultra64.h" -extern u16 cfb_16_a[]; -extern u16 cfb_16_b[]; +extern u8 cfb_16_a[]; +extern u8 cfb_16_b[]; extern u32 *_codeSegmentStart; extern u32 *_codeSegmentEnd; diff --git a/src/bondtypes.h b/src/bondtypes.h index 0fcaca45..adab431f 100644 --- a/src/bondtypes.h +++ b/src/bondtypes.h @@ -1,7 +1,7 @@ #ifndef _BONDTYPES_H_ #define _BONDTYPES_H_ #include "ultra64.h" - +#include "bondconstants.h" struct rgba_val{ u8 r; u8 g; @@ -192,4 +192,131 @@ struct CHRdata { int * handle_positiondata_hat; }; +struct object_standard { + u16 extrascale:2; + u8 hidden2:1; + u8 type:1; + u16 obj; + u16 pad; + u32 flags; + u32 flags2; + void * runtime_ptr_obj_posdata; + void * runtime_ptr_obj_instance_controller; + void * runtime_MATRIX0; + void * runtime_MATRIX1; + void * runtime_MATRIX2; + void * runtime_MATRIX3; + void * runtime_MATRIX4; + void * runtime_MATRIX5; + void * runtime_MATRIX6; + void * runtime_MATRIX7; + void * runtime_MATRIX8; + void * runtime_MATRIX9; + void * runtime_MATRIXA; + void * runtime_MATRIXB; + void * runtime_MATRIXC; + void * runtime_MATRIXD; + void * runtime_MATRIXE; + void * runtime_MATRIXF; + f32 runtime_x_pos; + f32 runtime_y_pos; + f32 runtime_z_pos; + int runtime_bitflags; + int ptr_allocated_collisiondata_block; + int field_6C; + float field_70; + short damage; + short maxdamage; + char field_78; + char field_79; + char field_7A; + char field_7B; + char field_7C; + char field_7D; + char field_7E; + char field_7F; +}; + +struct watchMenuObjectiveText { + u32 id; + enum WATCH_BRIEFING_PAGE menu; + u16 reserved; + u16 text; + struct watchMenuObjectiveText * nextentry; +}; +//!FIXME all but text field cannot be trusted +struct objective_entry { + u32 id; + enum WATCH_BRIEFING_PAGE menu; + u16 reserved; + u16 text; + struct watchMenuObjectiveText * nextentry; +}; + +typedef struct sImageTableEntry { + u32 index; + u8 width; + u8 height; + u8 level; + u8 format; + u8 depth; + u8 flagsS; + u8 flagsT; + u8 pad; +} sImageTableEntry; + +typedef struct sGlobalImageTable { + u32 globalDL_0x000[30]; + u32 globalDL_0x078[42]; + u32 globalDL_0x120[42]; + u32 globalDL_0x1c8[42]; + u32 globalDL_0x270[42]; + u32 globalDL_0x318[42]; + u32 globalDL_0x3c0[42]; + u32 globalDL_0x468[42]; + u32 globalDL_0x510[42]; + u32 globalDL_0x5b8[42]; + u32 globalDL_0x660[42]; + u32 globalDL_0x708[42]; + u32 globalDL_0x7b0[42]; + u32 globalDL_0x858[42]; + u32 globalDL_0x900[42]; + u32 globalDL_0x9a8[42]; + u32 globalDL_0xa50[30]; + struct sImageTableEntry s_genericimage[1]; + struct sImageTableEntry s_impactimages[20]; + struct sImageTableEntry s_explosion_smokeimages[6]; + struct sImageTableEntry s_scattered_explosions[5]; + struct sImageTableEntry s_flareimage1[1]; + struct sImageTableEntry s_flareimage2[1]; + struct sImageTableEntry s_flareimage3[1]; + struct sImageTableEntry s_flareimage4[1]; + struct sImageTableEntry s_flareimage5[1]; + struct sImageTableEntry s_ammo9mmimage[1]; + struct sImageTableEntry s_rifleammoimage[1]; + struct sImageTableEntry s_shotgunammoimage[1]; + struct sImageTableEntry s_knifeammoimage[1]; + struct sImageTableEntry s_glammoimage[1]; + struct sImageTableEntry s_rocketammoimage[1]; + struct sImageTableEntry s_genericmineammoimage[1]; + struct sImageTableEntry s_grenadeammoimage[1]; + struct sImageTableEntry s_magnumammoimage[1]; + struct sImageTableEntry s_goldengunammoimage[1]; + struct sImageTableEntry s_remotemineammoimage[1]; + struct sImageTableEntry s_timedmineammoimage[1]; + struct sImageTableEntry s_proxmineammoimage[1]; + struct sImageTableEntry s_tankammoimage[1]; + struct sImageTableEntry s_crosshairimage[1]; + struct sImageTableEntry s_betacrosshairimage[1]; + struct sImageTableEntry s_glassoverlayimage[2]; + struct sImageTableEntry s_monitorimages[50]; + struct sImageTableEntry s_skywaterimages[3]; + struct sImageTableEntry s_mainfolderimages[6]; + struct sImageTableEntry s_mpradarimages[1]; + struct sImageTableEntry s_mpcharselimages[64]; + struct sImageTableEntry s_mpstageselimages[17]; +} sGlobalImageTable; + + + #endif diff --git a/src/boss.c b/src/boss.c index 0ff30eac..638f9c18 100644 --- a/src/boss.c +++ b/src/boss.c @@ -157,12 +157,12 @@ void init_mainthread_data(void) current_m_malloc_value = (s32) (strtol(check_token(1, "-m"), 0, 0) << 0xa); } temp_s0 = (osVirtualToPhysical(&room_model_buffer) | 0x80000000); - check_memflag_tokens(temp_s0, (return_ptr_TLBallocatedblock() - temp_s0)); - reset_mem_bank_a0(6); + mempCheckMemflagTokens(temp_s0, (return_ptr_TLBallocatedblock() - temp_s0)); + mempResetBank(6); init_LnameX(); something_with_lvl_c_debug(); something_with_boss_c_debug(); - null_init_main(); + null_init_main_7f0acb70(); null_init_main_0(); default_player_perspective_and_height(); store_osgetcount(); @@ -287,9 +287,9 @@ void mainloop(void) sp1DC = 0; reset_mem_bank_5(); - if (check_token(1, &aLevel__0) != 0) + if (check_token(1, "-level_") != 0) { - temp_ret = check_token(1, &aLevel__1); + temp_ret = check_token(1, "-level_"); current_stage_num = (s32) ((temp_ret->unk1 + (temp_ret->unk0 * 0xa)) + -0x210); } if (current_stage_num != 0x5a) @@ -298,10 +298,10 @@ void mainloop(void) set_selected_folder_num(0); set_selected_difficulty(0); set_solo_and_ptr_briefing(current_stage_num); - if (check_token(1, &aHard) != 0) + if (check_token(1, "-hard") != 0) { - set_selected_difficulty(*check_token(1, &aHard_1) + -0x30); - set_difficulty(*check_token(1, &aHard_2) + -0x30); + set_selected_difficulty(*check_token(1, "-hard") + -0x30); + set_difficulty(*check_token(1, "-hard") + -0x30); } } increment_random_num(osGetCount()); @@ -384,13 +384,13 @@ loop_18: } strtok((&memallocstringtable + (phi_s0_3 * 8))->unk4, &memallocstringtable); } - reset_mem_bank_a0(4); + mempResetBank(4); something_mem_bank_a0(4); if (check_token(1, &aMa) != 0) { current_ma_malloc_value = (s32) (strtol(check_token(1, &aMa_0), 0, 0) << 0xa); } - reset_memtable_base_allocation(allocate_bytes_in_bank(current_ma_malloc_value, 4), current_ma_malloc_value); + mempInitMallocTable(mempAllocBytesInBank(current_ma_malloc_value, 4), current_ma_malloc_value); reset_play_data_ptrs(); phi_s1 = 0; if (current_stage_num != 0x5a) @@ -566,8 +566,8 @@ loop_44: temp_s3_3 = temp_s3_3 + 8; if (show_mem_use_flag != 0) { - nulled_list_all8_mem_alloc_banks_sizes(); - generate_lists_before_after_mem_merge(); + nulled_mempLoopAllMemBanks(); + memaGenerateListsBeforeAfterMerge(); removed_debug_routine(temp_s3_3); nullsub_41(0); show_mem_use_flag = 0; @@ -619,7 +619,7 @@ loop_58: } unload_stage_text_data(); stop_demo_playback(); - memp_related_6(4); + mempNullNextEntryInBank(4); something_mem_bank_a0(4); current_stage_num = (?32) loadedstage; loadedstage = -1; @@ -826,7 +826,7 @@ glabel mainloop /* 006EE4 700062E4 0C002963 */ jal strtok /* 006EE8 700062E8 8DC40004 */ lw $a0, 4($t6) .L700062EC: -/* 006EEC 700062EC 0C002667 */ jal reset_mem_bank_a0 +/* 006EEC 700062EC 0C002667 */ jal mempResetBank /* 006EF0 700062F0 24040004 */ li $a0, 4 /* 006EF4 700062F4 0FC2F46F */ jal something_mem_bank_a0 /* 006EF8 700062F8 24040004 */ li $a0, 4 @@ -849,11 +849,11 @@ glabel mainloop .L7000633C: /* 006F3C 7000633C 3C048002 */ lui $a0, %hi(current_ma_malloc_value) /* 006F40 70006340 8C8441B0 */ lw $a0, %lo(current_ma_malloc_value)($a0) -/* 006F44 70006344 0C0025C8 */ jal allocate_bytes_in_bank +/* 006F44 70006344 0C0025C8 */ jal mempAllocBytesInBank /* 006F48 70006348 24050004 */ li $a1, 4 /* 006F4C 7000634C 3C058002 */ lui $a1, %hi(current_ma_malloc_value) /* 006F50 70006350 8CA541B0 */ lw $a1, %lo(current_ma_malloc_value)($a1) -/* 006F54 70006354 0C002766 */ jal reset_memtable_base_allocation +/* 006F54 70006354 0C002766 */ jal mempInitMallocTable /* 006F58 70006358 00402025 */ move $a0, $v0 /* 006F5C 7000635C 0FC268CB */ jal reset_play_data_ptrs /* 006F60 70006360 00000000 */ nop @@ -1134,9 +1134,9 @@ glabel mainloop /* 007374 70006774 26730008 */ addiu $s3, $s3, 8 /* 007378 70006778 1100000B */ beqz $t0, .L700067A8 /* 00737C 7000677C 00000000 */ nop -/* 007380 70006780 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes +/* 007380 70006780 0C00263C */ jal nulled_mempLoopAllMemBanks /* 007384 70006784 00000000 */ nop -/* 007388 70006788 0C0028A7 */ jal generate_lists_before_after_mem_merge +/* 007388 70006788 0C0028A7 */ jal memaGenerateListsBeforeAfterMerge /* 00738C 7000678C 00000000 */ nop /* 007390 70006790 0FC2F5DD */ jal removed_debug_routine /* 007394 70006794 02602025 */ move $a0, $s3 @@ -1224,7 +1224,7 @@ glabel mainloop /* 0074B8 700068B8 00000000 */ nop /* 0074BC 700068BC 0FC3023F */ jal stop_demo_playback /* 0074C0 700068C0 00000000 */ nop -/* 0074C4 700068C4 0C002671 */ jal memp_related_6 +/* 0074C4 700068C4 0C002671 */ jal mempNullNextEntryInBank /* 0074C8 700068C8 24040004 */ li $a0, 4 /* 0074CC 700068CC 0FC2F46F */ jal something_mem_bank_a0 /* 0074D0 700068D0 24040004 */ li $a0, 4 diff --git a/src/cfb.c b/src/cfb.c index 7026855f..af2fd9e6 100644 --- a/src/cfb.c +++ b/src/cfb.c @@ -1,5 +1,5 @@ #include "ultra64.h" #include "bondgame.h" -u16 cfb_16_a[320*240]; -u16 cfb_16_b[320*240]; \ No newline at end of file +u8 cfb_16_a[320*240*2]; +u8 cfb_16_b[320*240*2]; \ No newline at end of file diff --git a/src/deb.c b/src/deb.c index 4acbc1f9..d5270f6c 100644 --- a/src/deb.c +++ b/src/deb.c @@ -11,7 +11,7 @@ */ /* bss */ -char dword_CODE_bss_80060890[0x400]; +extern char dword_CODE_bss_80060890[0x400]; @@ -104,7 +104,7 @@ u32 get_entry_of_size_in_debug_notice_list(s32 arg0) return debug_notice_list_data; } debug_notice_list_data = (u32) (temp_v0 - arg0); - return allocate_bytes_in_bank(6); + return mempAllocBytesInBank(6); } #else GLOBAL_ASM( @@ -123,7 +123,7 @@ glabel get_entry_of_size_in_debug_notice_list /* 0059A8 70004DA8 00441023 */ subu $v0, $v0, $a0 /* 0059AC 70004DAC 3C018002 */ lui $at, %hi(debug_notice_list_data) /* 0059B0 70004DB0 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at) -/* 0059B4 70004DB4 0C0025C8 */ jal allocate_bytes_in_bank +/* 0059B4 70004DB4 0C0025C8 */ jal mempAllocBytesInBank /* 0059B8 70004DB8 24050006 */ li $a1, 6 /* 0059BC 70004DBC 10000005 */ b .L70004DD4 /* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp) diff --git a/src/deb_video.c b/src/deb_video.c index 610558e4..55401717 100644 --- a/src/deb_video.c +++ b/src/deb_video.c @@ -83,7 +83,7 @@ glabel thread5_translate_7F_address /* 005BCC 70004FCC 24060001 */ li $a2, 1 /* 005BD0 70004FD0 0C00374C */ jal osSetIntMask /* 005BD4 70004FD4 24040001 */ li $a0, 1 -/* 005BD8 70004FD8 0C004060 */ jal ultra_70010180 +/* 005BD8 70004FD8 0C004060 */ jal __osGetCurrFaultedThread /* 005BDC 70004FDC 00408025 */ move $s0, $v0 /* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe) /* 005BE4 70004FE4 1040FFF6 */ beqz $v0, .L70004FC0 diff --git a/src/game/bg.c b/src/game/bg.c index 444ceaa5..28d065a9 100644 --- a/src/game/bg.c +++ b/src/game/bg.c @@ -1722,13 +1722,14 @@ glabel sub_GAME_7F0B40D4 #ifdef NONMATCHING -void sub_GAME_7F0B4124(void) { +void load_bg_file(STAGENUM stagenum) +{ } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0B4124 +glabel load_bg_file /* 0E8C54 7F0B4124 27BDFF48 */ addiu $sp, $sp, -0xb8 /* 0E8C58 7F0B4128 AFB20020 */ sw $s2, 0x20($sp) /* 0E8C5C 7F0B412C 3C128004 */ lui $s2, %hi(D_80041400) @@ -1801,7 +1802,7 @@ glabel sub_GAME_7F0B4124 /* 0E8D5C 7F0B422C 360F000F */ ori $t7, $s0, 0xf /* 0E8D60 7F0B4230 25F00001 */ addiu $s0, $t7, 1 /* 0E8D64 7F0B4234 02002025 */ move $a0, $s0 -/* 0E8D68 7F0B4238 0C0025C8 */ jal allocate_bytes_in_bank +/* 0E8D68 7F0B4238 0C0025C8 */ jal mempAllocBytesInBank /* 0E8D6C 7F0B423C 24050004 */ li $a1, 4 /* 0E8D70 7F0B4240 8E580000 */ lw $t8, ($s2) /* 0E8D74 7F0B4244 AEE20000 */ sw $v0, ($s7) diff --git a/src/game/bond.c b/src/game/bond.c index 51063457..2c6125a1 100644 --- a/src/game/bond.c +++ b/src/game/bond.c @@ -505,9 +505,49 @@ void sub_GAME_7F077C30(f32 arg0, f32 arg1, f32 arg2) #ifdef NONMATCHING -void sub_GAME_7F077C5C(void) { +void sub_GAME_7F077C5C(void) +{ + f32 sp34; + f32 sp30; + f32 sp2C; + f32 temp_f14; + f32 temp_f16; + f32 temp_f2; + f32 temp_f2_2; + f32 temp_f2_3; + sp2C = sinf((pPlayer->c_perspfovy * D_80054FA0) / 360.0f); + pPlayer->c_scaley = (f32) (sp2C / (cosf((pPlayer->c_perspfovy * D_80054FA0) / 360.0f) * pPlayer->c_halfheight)); + pPlayer->c_scalex = (f32) (((pPlayer->c_scaley * pPlayer->c_perspaspect) * pPlayer->c_halfheight) / pPlayer->c_halfwidth); + pPlayer->c_recipscalex = (f32) (1.0f / pPlayer->c_scalex); + pPlayer->c_recipscaley = (f32) (1.0f / pPlayer->c_scaley); + pPlayer->c_scalelod = (f32) pPlayer->c_scaley; + sp2C = sinf(D_80054FA4); + pPlayer->c_scalelod60 = (f32) (sp2C / (cosf(D_80054FA8) * 120.0f)); + pPlayer->c_lodscalez = (f32) (pPlayer->c_scalelod / pPlayer->c_scalelod60); + temp_f2 = pPlayer->c_lodscalez * 65536.0f; + if (4294967296.0f < temp_f2) + { + pPlayer->c_lodscalezu32 = -1U; + } + else + { + pPlayer->c_lodscalezu32 = (u32) temp_f2; + } + temp_f14 = pPlayer->c_halfheight * pPlayer->c_scaley; + sp30 = temp_f14; + temp_f2_2 = 1.0f / sqrtf((temp_f14 * temp_f14) + 1.0f, temp_f14); + (pPlayer->c_cameratopnorm).x = 0.0f; + (pPlayer->c_cameratopnorm).y = temp_f2_2; + (pPlayer->c_cameratopnorm).z = (f32) (temp_f14 * temp_f2_2); + temp_f16 = -pPlayer->c_halfwidth * pPlayer->c_scalex; + sp34 = temp_f16; + temp_f2_3 = 1.0f / sqrtf((temp_f16 * temp_f16) + 1.0f, temp_f14); + (pPlayer->c_cameraleftnorm).x = (f32) -temp_f2_3; + (pPlayer->c_cameraleftnorm).y = 0.0f; + (pPlayer->c_cameraleftnorm).z = (f32) (-temp_f16 * temp_f2_3); } + #else GLOBAL_ASM( .late_rodata @@ -704,8 +744,8 @@ void sub_GAME_7F077EEC(void *arg0, void *arg1, f32 arg2) { f32 temp_f2; // Node 0 - temp_f14 = ((pPlayer->field_10B0 - (arg0->unk4 - pPlayer->field_109C)) * pPlayer->field_10B8); - temp_f16 = (((*arg0 - pPlayer->field_1098) - pPlayer->field_10AC) * pPlayer->field_10B4); + temp_f14 = ((pPlayer->c_halfheight - (arg0->unk4 - pPlayer->c_screentop)) * pPlayer->c_scaley); + temp_f16 = (((*arg0 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * pPlayer->c_scalex); sp20 = temp_f16; temp_ret = sqrtf((((temp_f16 * temp_f16) + (temp_f14 * temp_f14)) + (-1.0f * -1.0f)), temp_f14); temp_f2 = (arg2 / temp_ret); @@ -778,8 +818,8 @@ glabel sub_GAME_7F077EEC #ifdef NONMATCHING void *sub_GAME_7F077FB4(void *arg0, s32 arg1, void *arg2) { // Node 0 - arg2->unk4 = (f32) ((arg0->unk4 * arg1) * pPlayer->field_10B8); - *arg2 = (f32) ((*arg0 * arg1) * pPlayer->field_10B4); + arg2->unk4 = (f32) ((arg0->unk4 * arg1) * pPlayer->c_scaley); + *arg2 = (f32) ((*arg0 * arg1) * pPlayer->c_scalex); return &pPlayer; } #else @@ -815,8 +855,8 @@ void *sub_GAME_7F077FF4(void *arg0, void *arg1) { // Node 0 temp_f0 = (1.0f / arg0->unk8); - arg1->unk4 = (f32) (((arg0->unk4 * temp_f0) * pPlayer->field_10C0) + (pPlayer->field_109C + pPlayer->field_10B0)); - *arg1 = (f32) ((pPlayer->field_1098 + pPlayer->field_10AC) - ((*arg0 * temp_f0) * pPlayer->field_10BC)); + arg1->unk4 = (f32) (((arg0->unk4 * temp_f0) * pPlayer->c_recipscaley) + (pPlayer->c_screentop + pPlayer->c_halfheight)); + *arg1 = (f32) ((pPlayer->c_screenleft + pPlayer->c_halfwidth) - ((*arg0 * temp_f0) * pPlayer->c_recipscalex)); return pPlayer; } #else @@ -873,8 +913,8 @@ void *sub_GAME_7F078060(void *arg0, void *arg1) { phi_f2 = (1.0f / arg0->unk8); } // Node 3 - arg1->unk4 = (f32) (((arg0->unk4 * phi_f2) * pPlayer->field_10C0) + (pPlayer->field_109C + pPlayer->field_10B0)); - *arg1 = (f32) ((pPlayer->field_1098 + pPlayer->field_10AC) - ((*arg0 * phi_f2) * pPlayer->field_10BC)); + arg1->unk4 = (f32) (((arg0->unk4 * phi_f2) * pPlayer->c_recipscaley) + (pPlayer->c_screentop + pPlayer->c_halfheight)); + *arg1 = (f32) ((pPlayer->c_screenleft + pPlayer->c_halfwidth) - ((*arg0 * phi_f2) * pPlayer->c_recipscalex)); return pPlayer; } @@ -936,8 +976,8 @@ void *sub_GAME_7F0780F0(void *arg0, s32 arg1, void *arg2) { // Node 0 temp_f0 = (1.0f / arg1); - arg2->unk4 = (f32) ((arg0->unk4 * temp_f0) * pPlayer->field_10C0); - *arg2 = (f32) ((*arg0 * temp_f0) * pPlayer->field_10BC); + arg2->unk4 = (f32) ((arg0->unk4 * temp_f0) * pPlayer->c_recipscaley); + *arg2 = (f32) ((*arg0 * temp_f0) * pPlayer->c_recipscalex); return &pPlayer; } #else @@ -983,10 +1023,10 @@ void *sub_GAME_7F078140(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4) { // Node 0 sp1C = sinf(((arg3 * *(void *)0x80050000) / 360.0f), arg3); - temp_f14 = (sp1C / (cosf(sp18) * pPlayer->field_10B0)); - temp_f4 = ((pPlayer->field_10B0 - (arg0->unk4 - pPlayer->field_109C)) * temp_f14); + temp_f14 = (sp1C / (cosf(sp18) * pPlayer->c_halfheight)); + temp_f4 = ((pPlayer->c_halfheight - (arg0->unk4 - pPlayer->c_screentop)) * temp_f14); sp2C = temp_f4; - temp_f8 = (((*arg0 - pPlayer->field_1098) - pPlayer->field_10AC) * (((temp_f14 * arg4) * pPlayer->field_10B0) / pPlayer->field_10AC)); + temp_f8 = (((*arg0 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * (((temp_f14 * arg4) * pPlayer->c_halfheight) / pPlayer->c_halfwidth)); sp30 = temp_f8; temp_f2 = (arg2 / sqrtf((((temp_f8 * temp_f8) + (temp_f4 * temp_f4)) + (-1.0f * -1.0f)), temp_f14)); *arg1 = (f32) (sp30 * temp_f2); @@ -1085,9 +1125,9 @@ void *sub_GAME_7F078258(void *arg0, void *arg1, f32 arg2, f32 arg3) { // Node 0 sp20 = cosf(((arg2 * D_80054FB4) / 360.0f), arg2); - temp_f12 = ((sp20 * pPlayer->field_10B0) / (arg0->unk8 * sinf(sp1C))); - arg1->unk4 = (f32) ((arg0->unk4 * temp_f12) + (pPlayer->field_109C + pPlayer->field_10B0)); - *arg1 = (f32) ((pPlayer->field_1098 + pPlayer->field_10AC) - (*arg0 * ((pPlayer->field_10AC * temp_f12) / (arg3 * pPlayer->field_10B0)))); + temp_f12 = ((sp20 * pPlayer->c_halfheight) / (arg0->unk8 * sinf(sp1C))); + arg1->unk4 = (f32) ((arg0->unk4 * temp_f12) + (pPlayer->c_screentop + pPlayer->c_halfheight)); + *arg1 = (f32) ((pPlayer->c_screenleft + pPlayer->c_halfwidth) - (*arg0 * ((pPlayer->c_halfwidth * temp_f12) / (arg3 * pPlayer->c_halfheight)))); return pPlayer; } #else @@ -1340,12 +1380,11 @@ glabel sub_GAME_7F078504 #ifdef NONMATCHING -void *sub_GAME_7F078534(void *arg0) { - // Node 0 - *arg0 = (f32) pPlayer->field_1100; - arg0->unk4 = (f32) -pPlayer->field_1104; - arg0->unk8 = (f32) pPlayer->field_1108; - return &pPlayer; +void sub_GAME_7F078534(xyzpoint *param_1) +{ + param_1->x = (pPlayer->c_cameratopnorm).x; + param_1->y = -(pPlayer->c_cameratopnorm).y; + param_1->z = (pPlayer->c_cameratopnorm).z; } #else GLOBAL_ASM( @@ -1372,12 +1411,11 @@ glabel sub_GAME_7F078534 #ifdef NONMATCHING -void *sub_GAME_7F078568(void *arg0) { - // Node 0 - *arg0 = (f32) pPlayer->field_110C; - arg0->unk4 = (f32) pPlayer->field_1110; - arg0->unk8 = (f32) pPlayer->field_1114; - return &pPlayer; +void sub_GAME_7F078568(xyzpoint *param_1) +{ + param_1->x = (pPlayer->c_cameraleftnorm).x; + param_1->y = (pPlayer->c_cameraleftnorm).y; + param_1->z = (pPlayer->c_cameraleftnorm).z; } #else GLOBAL_ASM( @@ -1403,12 +1441,11 @@ glabel sub_GAME_7F078568 #ifdef NONMATCHING -void *sub_GAME_7F078598(void *arg0) { - // Node 0 - *arg0 = (f32) -pPlayer->field_110C; - arg0->unk4 = (f32) pPlayer->field_1110; - arg0->unk8 = (f32) pPlayer->field_1114; - return &pPlayer; +void sub_GAME_7F078598(xyzpoint *param_1) +{ + param_1->x = -(pPlayer->c_cameraleftnorm).x; + param_1->y = (pPlayer->c_cameraleftnorm).y; + param_1->z = (pPlayer->c_cameraleftnorm).z; } #else GLOBAL_ASM( @@ -1446,50 +1483,52 @@ f32 getPlayer_c_perspnear(void) #ifdef NONMATCHING -void *sub_GAME_7F0785DC(void) +void sub_GAME_7F0785DC(void) { + f32 sp28; f32 sp24; - f32 temp_f2; - f32 temp_f20; - f32 temp_f2_2; - f32 temp_f16; - f32 temp_f18; f32 temp_f14; - f32 temp_f20_2; f32 temp_f14_2; + f32 temp_f16; f32 temp_f16_2; + f32 temp_f18; f32 temp_f18_2; + f32 temp_f20; + f32 temp_f20_2; + f32 temp_f2; + f32 temp_f2_2; - temp_f2 = (pPlayer->field_10B0 * pPlayer->field_10B8); + temp_f2 = pPlayer->c_halfheight * pPlayer->c_scaley; sp24 = temp_f2; - temp_f20 = (1.0f / sqrtf(((temp_f2 * temp_f2) + 1.0f))); - temp_f2_2 = (temp_f2 * temp_f20); + temp_f20 = 1.0f / sqrtf((temp_f2 * temp_f2) + 1.0f); + temp_f2_2 = temp_f2 * temp_f20; temp_f16 = -temp_f20; temp_f18 = -temp_f16; - flt_CODE_bss_80079940 = (f32) ((pPlayer->field_10D4->unk20 * temp_f2_2) + (temp_f18 * pPlayer->field_10D4->unk10)); - flt_CODE_bss_80079940.unk4 = (f32) ((pPlayer->field_10D4->unk24 * temp_f2_2) + (temp_f18 * pPlayer->field_10D4->unk14)); - flt_CODE_bss_80079940.unk8 = (f32) ((pPlayer->field_10D4->unk28 * temp_f2_2) + (temp_f18 * pPlayer->field_10D4->unk18)); - flt_CODE_bss_8007994C = (f32) ((pPlayer->field_10D4->unk38 * flt_CODE_bss_80079940.unk8) + ((flt_CODE_bss_80079940 * pPlayer->field_10D4->unk30) + (flt_CODE_bss_80079940.unk4 * pPlayer->field_10D4->unk34))); - flt_CODE_bss_80079950 = (f32) ((pPlayer->field_10D4->unk20 * temp_f2_2) + (temp_f16 * pPlayer->field_10D4->unk10)); - flt_CODE_bss_80079950.unk4 = (f32) ((pPlayer->field_10D4->unk24 * temp_f2_2) + (temp_f16 * pPlayer->field_10D4->unk14)); - flt_CODE_bss_80079950.unk8 = (f32) ((pPlayer->field_10D4->unk28 * temp_f2_2) + (temp_f16 * pPlayer->field_10D4->unk18)); - flt_CODE_bss_8007995C = (f32) ((pPlayer->field_10D4->unk38 * flt_CODE_bss_80079950.unk8) + ((flt_CODE_bss_80079950 * pPlayer->field_10D4->unk30) + (flt_CODE_bss_80079950.unk4 * pPlayer->field_10D4->unk34))); - temp_f14 = (-pPlayer->field_10AC * pPlayer->field_10B4); - temp_f20_2 = (1.0f / sqrtf(((temp_f14 * temp_f14) + 1.0f), temp_f14, &flt_CODE_bss_80079940, &flt_CODE_bss_80079950)); - temp_f14_2 = (sp28 * temp_f20_2); + flt_CODE_bss_80079940.unk0 = (f32) ((pPlayer->unk10D4->unk20 * temp_f2_2) + (temp_f18 * pPlayer->unk10D4->unk10)); + flt_CODE_bss_80079940.unk4 = (f32) ((pPlayer->unk10D4->unk24 * temp_f2_2) + (temp_f18 * pPlayer->unk10D4->unk14)); + flt_CODE_bss_80079940.unk8 = (f32) ((pPlayer->unk10D4->unk28 * temp_f2_2) + (temp_f18 * pPlayer->unk10D4->unk18)); + flt_CODE_bss_8007994C = (f32) ((pPlayer->unk10D4->unk38 * flt_CODE_bss_80079940.unk8) + ((flt_CODE_bss_80079940.unk0 * pPlayer->unk10D4->unk30) + (flt_CODE_bss_80079940.unk4 * pPlayer->unk10D4->unk34))); + flt_CODE_bss_80079950.unk0 = (f32) ((pPlayer->unk10D4->unk20 * temp_f2_2) + (temp_f16 * pPlayer->unk10D4->unk10)); + flt_CODE_bss_80079950.unk4 = (f32) ((pPlayer->unk10D4->unk24 * temp_f2_2) + (temp_f16 * pPlayer->unk10D4->unk14)); + flt_CODE_bss_80079950.unk8 = (f32) ((pPlayer->unk10D4->unk28 * temp_f2_2) + (temp_f16 * pPlayer->unk10D4->unk18)); + flt_CODE_bss_8007995C = (f32) ((pPlayer->unk10D4->unk38 * flt_CODE_bss_80079950.unk8) + ((flt_CODE_bss_80079950.unk0 * pPlayer->unk10D4->unk30) + (flt_CODE_bss_80079950.unk4 * pPlayer->unk10D4->unk34))); + temp_f14 = -pPlayer->unk10AC * pPlayer->unk10B4; + sp28 = temp_f14; + temp_f20_2 = 1.0f / sqrtf((temp_f14 * temp_f14) + 1.0f, temp_f14, &flt_CODE_bss_80079940, &flt_CODE_bss_80079950); + temp_f14_2 = temp_f14 * temp_f20_2; temp_f16_2 = -temp_f20_2; temp_f18_2 = -temp_f16_2; - flt_CODE_bss_80079960 = (f32) ((temp_f16_2 * *pPlayer->field_10D4) - (pPlayer->field_10D4->unk20 * temp_f14_2)); - flt_CODE_bss_80079960.unk4 = (f32) ((temp_f16_2 * pPlayer->field_10D4->unk4) - (pPlayer->field_10D4->unk24 * temp_f14_2)); - flt_CODE_bss_80079960.unk8 = (f32) ((temp_f16_2 * pPlayer->field_10D4->unk8) - (pPlayer->field_10D4->unk28 * temp_f14_2)); - flt_CODE_bss_8007996C = (f32) ((pPlayer->field_10D4->unk38 * flt_CODE_bss_80079960.unk8) + ((flt_CODE_bss_80079960 * pPlayer->field_10D4->unk30) + (flt_CODE_bss_80079960.unk4 * pPlayer->field_10D4->unk34))); - flt_CODE_bss_80079970 = (f32) ((temp_f18_2 * *pPlayer->field_10D4) - (pPlayer->field_10D4->unk20 * temp_f14_2)); - flt_CODE_bss_80079970.unk4 = (f32) ((temp_f18_2 * pPlayer->field_10D4->unk4) - (pPlayer->field_10D4->unk24 * temp_f14_2)); - flt_CODE_bss_80079970.unk8 = (f32) ((temp_f18_2 * pPlayer->field_10D4->unk8) - (pPlayer->field_10D4->unk28 * temp_f14_2)); - flt_CODE_bss_8007997C = (f32) ((pPlayer->field_10D4->unk38 * flt_CODE_bss_80079970.unk8) + ((flt_CODE_bss_80079970 * pPlayer->field_10D4->unk30) + (flt_CODE_bss_80079970.unk4 * pPlayer->field_10D4->unk34))); - (void *)0x80080000->unk-6680 = (f32) ((pPlayer->field_10D4->unk38 * pPlayer->field_10D4->unk28) + ((pPlayer->field_10D4->unk20 * pPlayer->field_10D4->unk30) + (pPlayer->field_10D4->unk24 * pPlayer->field_10D4->unk34))); - return pPlayer->field_10D4; + flt_CODE_bss_80079960.unk0 = (f32) ((temp_f16_2 * pPlayer->unk10D4->unk0) - (pPlayer->unk10D4->unk20 * temp_f14_2)); + flt_CODE_bss_80079960.unk4 = (f32) ((temp_f16_2 * pPlayer->unk10D4->unk4) - (pPlayer->unk10D4->unk24 * temp_f14_2)); + flt_CODE_bss_80079960.unk8 = (f32) ((temp_f16_2 * pPlayer->unk10D4->unk8) - (pPlayer->unk10D4->unk28 * temp_f14_2)); + flt_CODE_bss_8007996C = (f32) ((pPlayer->unk10D4->unk38 * flt_CODE_bss_80079960.unk8) + ((flt_CODE_bss_80079960.unk0 * pPlayer->unk10D4->unk30) + (flt_CODE_bss_80079960.unk4 * pPlayer->unk10D4->unk34))); + flt_CODE_bss_80079970.unk0 = (f32) ((temp_f18_2 * pPlayer->unk10D4->unk0) - (pPlayer->unk10D4->unk20 * temp_f14_2)); + flt_CODE_bss_80079970.unk4 = (f32) ((temp_f18_2 * pPlayer->unk10D4->unk4) - (pPlayer->unk10D4->unk24 * temp_f14_2)); + flt_CODE_bss_80079970.unk8 = (f32) ((temp_f18_2 * pPlayer->unk10D4->unk8) - (pPlayer->unk10D4->unk28 * temp_f14_2)); + flt_CODE_bss_8007997C = (f32) ((pPlayer->unk10D4->unk38 * flt_CODE_bss_80079970.unk8) + ((flt_CODE_bss_80079970.unk0 * pPlayer->unk10D4->unk30) + (flt_CODE_bss_80079970.unk4 * pPlayer->unk10D4->unk34))); + flt_CODE_bss_80079980 = (f32) ((pPlayer->unk10D4->unk38 * pPlayer->unk10D4->unk28) + ((pPlayer->unk10D4->unk20 * pPlayer->unk10D4->unk30) + (pPlayer->unk10D4->unk24 * pPlayer->unk10D4->unk34))); } + #else GLOBAL_ASM( .text @@ -2097,7 +2136,7 @@ void sub_GAME_7F078BF4(void *arg0, s32 arg1, void *arg2) { return 0; } - temp_f2 = (((*arg2 - pPlayer->field_1098) - pPlayer->field_10AC) * pPlayer->field_10B4); + temp_f2 = (((*arg2 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * pPlayer->c_scalex); sp38 = temp_f2; temp_f12 = (1.0f / sqrtf(((temp_f2 * temp_f2) + 1.0f))); temp_f2_2 = (temp_f2 * temp_f12); @@ -2112,7 +2151,7 @@ void sub_GAME_7F078BF4(void *arg0, s32 arg1, void *arg2) { return 0; } - temp_f2_3 = (-((arg2->unk8 - pPlayer->field_1098) - pPlayer->field_10AC) * pPlayer->field_10B4); + temp_f2_3 = (-((arg2->unk8 - pPlayer->c_screenleft) - pPlayer->c_halfwidth) * pPlayer->c_scalex); sp38 = temp_f2_3; temp_f12_2 = (1.0f / sqrtf(((temp_f2_3 * temp_f2_3) + 1.0f), temp_f14, arg0)); temp_f2_4 = (temp_f2_3 * temp_f12_2); @@ -2127,7 +2166,7 @@ void sub_GAME_7F078BF4(void *arg0, s32 arg1, void *arg2) { return 0; } - temp_f2_5 = ((pPlayer->field_10B0 - (arg2->unk4 - pPlayer->field_109C)) * pPlayer->field_10B8); + temp_f2_5 = ((pPlayer->c_halfheight - (arg2->unk4 - pPlayer->c_screentop)) * pPlayer->c_scaley); sp34 = temp_f2_5; temp_f12_3 = (1.0f / sqrtf(((temp_f2_5 * temp_f2_5) + 1.0f), temp_f14_2, arg0)); temp_f2_6 = (temp_f2_5 * temp_f12_3); @@ -2142,7 +2181,7 @@ void sub_GAME_7F078BF4(void *arg0, s32 arg1, void *arg2) { return 0; } - temp_f2_7 = (-(pPlayer->field_10B0 - (arg2->unkC - pPlayer->field_109C)) * pPlayer->field_10B8); + temp_f2_7 = (-(pPlayer->c_halfheight - (arg2->unkC - pPlayer->c_screentop)) * pPlayer->c_scaley); sp34 = temp_f2_7; temp_f12_4 = (1.0f / sqrtf(((temp_f2_7 * temp_f2_7) + 1.0f), temp_f14_3, arg0)); temp_f2_8 = (temp_f2_7 * temp_f12_4); @@ -2866,38 +2905,36 @@ glabel sub_GAME_7F0790F0 #ifdef NONMATCHING -?32 init_player_BONDdata(void) { - // Node 0 +void init_player_BONDdata(void) +{ if (get_num_players() >= 2) { - // Node 1 - pPlayer->field_430 = get_player_control_style(get_cur_playernum()); + pPlayer->controlstyle = get_player_control_style(get_cur_playernum()); cur_player_set_control_type(get_player_control_style(get_cur_playernum())); } - // Node 2 - pPlayer->field_38 = 0.0f; - pPlayer->field_3C = 0.0f; - pPlayer->field_40 = 0.0f; - pPlayer->field_44 = 0.0f; - pPlayer->field_48 = 0.0f; - pPlayer->field_4C = 0.0f; - pPlayer->field_50 = 0.0f; - pPlayer->field_54 = 0.0f; - pPlayer->field_58 = 0.0f; - *pPlayer = 0; - pPlayer->field_4 = 0.0f; - pPlayer->field_8 = 0.0f; - pPlayer->field_C = 0.0f; - pPlayer->field_10 = 0.0f; - pPlayer->field_14 = 0.0f; - pPlayer->field_18 = 1.0f; - pPlayer->field_1C = 0.0f; - pPlayer->field_20 = 1.0f; - pPlayer->field_24 = 0.0f; - pPlayer->field_28 = 0.0f; - pPlayer->field_2C = 0.0f; - pPlayer->field_30 = 0.0f; - pPlayer->field_34 = 0; + pPlayer->current_model_xpos = 0.0f; + pPlayer->current_model_ypos = 0.0f; + pPlayer->current_model_zpos = 0.0f; + pPlayer->previous_model_xpos = 0.0f; + pPlayer->previous_model_ypos = 0.0f; + pPlayer->previous_model_zpos = 0.0f; + pPlayer->current_room_xpos = 0.0f; + pPlayer->current_room_ypos = 0.0f; + pPlayer->current_room_zpos = 0.0f; + pPlayer->unknown = 0; + pPlayer->xpos = 0.0f; + pPlayer->ypos = 0.0f; + pPlayer->zpos = 0.0f; + pPlayer->xpos2 = 0.0f; + pPlayer->ypos2 = 0.0f; + pPlayer->zpos2 = 1.0f; + pPlayer->xoffset = 0.0f; + pPlayer->yoffset = 1.0f; + pPlayer->zoffset = 0.0f; + pPlayer->xpos3 = 0.0f; + pPlayer->ypos3 = 0.0f; + pPlayer->zpos3 = 0.0f; + pPlayer->room_pointer = 0; pPlayer->field_3C4 = 0.0f; pPlayer->field_3C8 = 0.0f; pPlayer->field_3CC = 1.0f; @@ -2910,74 +2947,72 @@ glabel sub_GAME_7F0790F0 pPlayer->field_1274 = 0.0f; pPlayer->field_1278 = 0.0f; pPlayer->field_127C = 0.0f; - pPlayer->field_9C = 2; + pPlayer->crouchposition = 2; pPlayer->field_29FC = 2; - pPlayer->field_A0 = 0.0f; + pPlayer->ducking_height_offset = 0.0f; pPlayer->field_A4 = 0.0f; pPlayer->field_AC = 1; pPlayer->field_D0 = 0; - pPlayer->field_D8 = 0; - pPlayer->field_DC = 1.0f; - pPlayer->field_E0 = 0.0f; - pPlayer->field_E4 = 1.0f; - pPlayer->field_E8 = 0.0f; - pPlayer->field_EC = 1.0f; - pPlayer->field_F0 = 0.0f; - pPlayer->field_F4 = -1; - pPlayer->field_F8 = -1; + pPlayer->bonddead = 0; + pPlayer->bondhealth = 1.0f; + pPlayer->bondarmour = 0.0f; + pPlayer->oldhealth = 1.0f; + pPlayer->oldarmour = 0.0f; + pPlayer->apparenthealth = 1.0f; + pPlayer->apparentarmour = 0.0f; + pPlayer->damageshowtime = -1; + pPlayer->healthshowtime = -1; pPlayer->field_1C0 = 0; pPlayer->field_1C4 = 0; - pPlayer->field_1C8 = 0; - pPlayer->field_1CC = 1; - pPlayer->field_1D0 = 0; + pPlayer->pause_animation_state = 0; + pPlayer->paused_flag = 1; + pPlayer->open_close_solo_watch_menu = 0; pPlayer->field_1A0 = 0; - pPlayer->field_19C = 0.0f; - pPlayer->field_14C = 0.0f; - pPlayer->field_150 = 1.0f; - pPlayer->field_154 = 0.0f; - pPlayer->field_158 = -4.0f; - pPlayer->field_15C = (f32) pPlayer->field_158; - if (pPlayer->field_15C < 0.0f) + pPlayer->bondfadefracnew = 0.0f; + pPlayer->speedtheta = 0.0f; + pPlayer->vv_costheta = 1.0f; + pPlayer->vv_sintheta = 0.0f; + pPlayer->vv_verta = -4.0f; + pPlayer->vv_verta360 = (f32) pPlayer->vv_verta; + if (pPlayer->vv_verta360 < 0.0f) { - // Node 3 - pPlayer->field_15C = (f32) (pPlayer->field_15C + 360.0f); + pPlayer->vv_verta360 = (f32) (pPlayer->vv_verta360 + 360.0f); } - // Node 4 - pPlayer->field_160 = 0.0f; - pPlayer->field_164 = 1.0f; - pPlayer->field_168 = 0.0f; - pPlayer->field_16C = 0.0f; - pPlayer->field_170 = 0.0f; - pPlayer->field_174 = 0.0f; + pPlayer->speedverta = 0.0f; + pPlayer->vv_cosverta = 1.0f; + pPlayer->vv_sinverta = 0.0f; + pPlayer->speedsideways = 0.0f; + pPlayer->speedstrafe = 0.0f; + pPlayer->speedforwards = 0.0f; pPlayer->field_2A4C = 0.0f; - pPlayer->field_178 = 1.0f; - pPlayer->field_17C = 0; - pPlayer->field_180 = 0.0f; - pPlayer->field_184 = 0.0f; - pPlayer->field_188 = 0.0f; + pPlayer->speedboost = 1.0f; + pPlayer->speedmaxtime60 = 0; + pPlayer->boost_factor_x = 0.0f; + pPlayer->boost_factor_y = 0.0f; + pPlayer->boost_factor_z = 0.0f; pPlayer->field_104 = 0; pPlayer->field_108 = 0; pPlayer->field_10C = 0; - pPlayer->field_110 = 0; - pPlayer->field_114 = 1; - pPlayer->field_118 = 1; - pPlayer->field_11C = 0; - pPlayer->field_120 = 1; - pPlayer->field_124 = 0; - pPlayer->field_128 = 1; - pPlayer->field_12C = 0.0f; - pPlayer->field_130 = 0; - pPlayer->field_134 = -1; - pPlayer->field_138 = 1; - pPlayer->field_13C = 0.0f; - pPlayer->field_140 = 0; - pPlayer->field_144 = -1; - pPlayer->field_3D0 = 0xff; - pPlayer->field_3D4 = 0xff; - pPlayer->field_3D8 = 0xff; - pPlayer->field_3DC = 0.0f; + pPlayer->movecentrerelease = 0; + pPlayer->lookaheadcentreenabled = 1; + pPlayer->automovecentreenabled = 1; + pPlayer->fastmovecentreenabled = 0; + pPlayer->automovecentre = 1; + pPlayer->insightaimmode = 0; + pPlayer->autoyaimenabled = 1; + pPlayer->autoaimy = 0.0f; + pPlayer->autoyaimtime = 0; + pPlayer->autoyaimtime60 = -1; + pPlayer->autoxaimenabled = 1; + pPlayer->autoaimx = 0.0f; + pPlayer->autoxaimtime = 0; + pPlayer->autoxaimtime60 = -1; + pPlayer->tint_red = 0xff; + pPlayer->tint_green = 0xff; + pPlayer->tint_blue = 0xff; + pPlayer->tint_alpha = 0.0f; pPlayer->field_3E0 = -1.0f; - pPlayer->field_3E4 = -1.0f; + pPlayer->time_for_fade = -1.0f; pPlayer->field_3E8 = 0xff; pPlayer->field_3EC = 0xff; pPlayer->field_3F0 = 0xff; @@ -2986,21 +3021,21 @@ glabel sub_GAME_7F0790F0 pPlayer->field_3FC = 0xff; pPlayer->field_400 = 0.0f; pPlayer->field_404 = 0.0f; - pPlayer->field_18C = -1.0f; - pPlayer->field_190 = -1.0f; - pPlayer->field_194 = 0.0f; - pPlayer->field_198 = 0.0f; + pPlayer->viewport_alpha = -1.0f; + pPlayer->bondfadetime60 = -1.0f; + pPlayer->bondfadetimemax = 0.0f; + pPlayer->bondfadefracold = 0.0f; pPlayer->field_42C = 2; - pPlayer->field_430 = 0; - pPlayer->field_204 = 0.0f; + pPlayer->controlstyle = 0; + pPlayer->pause_starting_angle = 0.0f; pPlayer->field_208 = 0.0f; - pPlayer->field_20C = 0.0f; + pPlayer->pause_target_angle = 0.0f; pPlayer->field_210 = 0.0f; pPlayer->field_214 = 0.0f; pPlayer->field_218 = 0; - pPlayer->field_220 = 0; - pPlayer->field_224 = 0.0f; - pPlayer->field_200 = 0; + pPlayer->step_in_view_watch_animation = 0; + pPlayer->pause_animation_counter = 0.0f; + pPlayer->pausing_flag = 0; pPlayer->field_3B4 = (u16)0; pPlayer->field_3B6 = (u16)0; pPlayer->field_29C0 = 15.0f; @@ -3009,7 +3044,6 @@ glabel sub_GAME_7F0790F0 pPlayer->field_2A0C = 0.0f; pPlayer->field_2A6C = 0; pPlayer->field_2A70 = 0; - return 0xff; } #else @@ -3654,7 +3688,7 @@ void sub_GAME_7F0798B8(void) { ? phi_return; // Node 0 - pPlayer->field_29BC = (f32) (((cur_player_stat_ptr->unk64 * 185.0f) * 1.0f) - 10.0f); + pPlayer->field_29BC = (f32) (((pPlayersPerm->unk64 * 185.0f) * 1.0f) - 10.0f); pPlayer->field_29F8 = 0; pPlayer->field_29F4 = sub_GAME_7F08BFB8(); pPlayer->field_2A00 = 0; @@ -3679,8 +3713,8 @@ void sub_GAME_7F0798B8(void) { GLOBAL_ASM( .text glabel sub_GAME_7F0798B8 -/* 0AE3E8 7F0798B8 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 0AE3EC 7F0798BC 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 0AE3E8 7F0798B8 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 0AE3EC 7F0798BC 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 0AE3F0 7F0798C0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0AE3F4 7F0798C4 AFBF0014 */ sw $ra, 0x14($sp) /* 0AE3F8 7F0798C8 3C014339 */ li $at, 0x43390000 # 185.000000 @@ -3891,7 +3925,7 @@ void *sub_GAME_7F079A60(void *arg0, void *arg1, void *arg2, s32 arg3, void *arg4 void *phi_return; // Node 0 - if ((((((((((*arg0 != pPlayer->field_4) || (arg0->unk4 != pPlayer->field_8)) || (arg0->unk8 != pPlayer->field_C)) || (*arg1 != pPlayer->field_10)) || (arg1->unk4 != pPlayer->field_14)) || (arg1->unk8 != pPlayer->field_18)) || (*arg2 != pPlayer->field_1C)) || (arg2->unk4 != pPlayer->field_20)) || (arg2->unk8 != pPlayer->field_24)) || (pPlayer->field_34 == 0)) + if ((((((((((*arg0 != pPlayer->xpos) || (arg0->unk4 != pPlayer->ypos)) || (arg0->unk8 != pPlayer->zpos)) || (*arg1 != pPlayer->xpos2)) || (arg1->unk4 != pPlayer->ypos2)) || (arg1->unk8 != pPlayer->zpos2)) || (*arg2 != pPlayer->xoffset)) || (arg2->unk4 != pPlayer->yoffset)) || (arg2->unk8 != pPlayer->zoffset)) || (pPlayer->room_pointer == 0)) { // Node 10 sp34 = arg3; @@ -3899,49 +3933,49 @@ void *sub_GAME_7F079A60(void *arg0, void *arg1, void *arg2, s32 arg3, void *arg4 { // Node 11 sub_GAME_7F0B0518(sp34, *arg0, arg0->unk8); - pPlayer->field_34 = sp34; + pPlayer->room_pointer = sp34; } else { // Node 12 - if (pPlayer->field_34 != 0) + if (pPlayer->room_pointer != 0) { // Node 13 - sp30 = (s32) pPlayer->field_34; - if (sub_GAME_7F0B0BE4(&sp30, pPlayer->field_4, pPlayer->field_C, *arg0, (f32) arg0->unk8) != 0) + sp30 = (s32) pPlayer->room_pointer; + if (sub_GAME_7F0B0BE4(&sp30, pPlayer->xpos, pPlayer->zpos, *arg0, (f32) arg0->unk8) != 0) { // Node 14 - pPlayer->field_34 = sp30; + pPlayer->room_pointer = sp30; } else { // Node 15 - pPlayer->field_34 = sp34; + pPlayer->room_pointer = sp34; } } else { // Node 16 - pPlayer->field_34 = sp34; + pPlayer->room_pointer = sp34; } } // Node 17 - *&pPlayer->field_4 = (f32) *arg0; - *&pPlayer->field_8 = (f32) arg0->unk4; - *&pPlayer->field_C = (f32) arg0->unk8; - *&pPlayer->field_10 = (f32) *arg1; - *&pPlayer->field_14 = (f32) arg1->unk4; - *&pPlayer->field_18 = (f32) arg1->unk8; - *&pPlayer->field_1C = (f32) *arg2; - *&pPlayer->field_20 = (f32) arg2->unk4; - *&pPlayer->field_24 = (f32) arg2->unk8; + *&pPlayer->xpos = (f32) *arg0; + *&pPlayer->ypos = (f32) arg0->unk4; + *&pPlayer->zpos = (f32) arg0->unk8; + *&pPlayer->xpos2 = (f32) *arg1; + *&pPlayer->ypos2 = (f32) arg1->unk4; + *&pPlayer->zpos2 = (f32) arg1->unk8; + *&pPlayer->xoffset = (f32) *arg2; + *&pPlayer->yoffset = (f32) arg2->unk4; + *&pPlayer->zoffset = (f32) arg2->unk8; temp_v0 = *&pPlayer; temp_v0->unk28 = (f32) temp_v0->unk4; temp_v0_2 = *&pPlayer; temp_v0_2->unk30 = (f32) temp_v0_2->unkC; temp_v0_3 = *&pPlayer; temp_ret = sub_GAME_7F0B2970(temp_v0_3->unk34, temp_v0_3->unk4, temp_v0_3->unkC, arg1); - pPlayer->field_2C = temp_ret; + pPlayer->ypos3 = temp_ret; phi_return = temp_ret; } else @@ -4179,17 +4213,17 @@ glabel solo_char_load /* 0AE840 7F079D10 8DE20004 */ lw $v0, 4($t7) /* 0AE844 7F079D14 544001CA */ bnezl $v0, .L7F07A440 /* 0AE848 7F079D18 8C4F001C */ lw $t7, 0x1c($v0) -/* 0AE84C 7F079D1C 0FC173CC */ jal sub_GAME_7F05CF30 +/* 0AE84C 7F079D1C 0FC173CC */ jal getPlayerWeaponBufferForHand /* 0AE850 7F079D20 00002025 */ move $a0, $zero /* 0AE854 7F079D24 AFA200F0 */ sw $v0, 0xf0($sp) -/* 0AE858 7F079D28 0FC173CC */ jal sub_GAME_7F05CF30 +/* 0AE858 7F079D28 0FC173CC */ jal getPlayerWeaponBufferForHand /* 0AE85C 7F079D2C 24040001 */ li $a0, 1 /* 0AE860 7F079D30 AFA200EC */ sw $v0, 0xec($sp) /* 0AE864 7F079D34 AFA000E8 */ sw $zero, 0xe8($sp) -/* 0AE868 7F079D38 0FC173D2 */ jal sub_GAME_7F05CF48 +/* 0AE868 7F079D38 0FC173D2 */ jal getSizeBufferWeaponInHand /* 0AE86C 7F079D3C 00002025 */ move $a0, $zero /* 0AE870 7F079D40 AFA200E4 */ sw $v0, 0xe4($sp) -/* 0AE874 7F079D44 0FC173D2 */ jal sub_GAME_7F05CF48 +/* 0AE874 7F079D44 0FC173D2 */ jal getSizeBufferWeaponInHand /* 0AE878 7F079D48 24040001 */ li $a0, 1 /* 0AE87C 7F079D4C 3C198003 */ lui $t9, %hi(dummy_08_pp7_obj) /* 0AE880 7F079D50 273965AC */ addiu $t9, %lo(dummy_08_pp7_obj) # addiu $t9, $t9, 0x65ac @@ -4417,7 +4451,7 @@ variable_body_head: /* 0AEB88 7F07A058 0FC1D929 */ jal load_object_fill_header /* 0AEB8C 7F07A05C 8C650004 */ lw $a1, 4($v1) /* 0AEB90 7F07A060 8FA30028 */ lw $v1, 0x28($sp) -/* 0AEB94 7F07A064 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 0AEB94 7F07A064 0FC2F462 */ jal get_pc_buffer_remaining_value /* 0AEB98 7F07A068 8C640004 */ lw $a0, 4($v1) /* 0AEB9C 7F07A06C 8FAD0040 */ lw $t5, 0x40($sp) /* 0AEBA0 7F07A070 3C0F8004 */ lui $t7, %hi(c_item_entries) @@ -4462,7 +4496,7 @@ variable_body_head: /* 0AEC3C 7F07A10C 0FC1D929 */ jal load_object_fill_header /* 0AEC40 7F07A110 01C83823 */ subu $a3, $t6, $t0 /* 0AEC44 7F07A114 8FA30028 */ lw $v1, 0x28($sp) -/* 0AEC48 7F07A118 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 0AEC48 7F07A118 0FC2F462 */ jal get_pc_buffer_remaining_value /* 0AEC4C 7F07A11C 8C640004 */ lw $a0, 4($v1) /* 0AEC50 7F07A120 8FA300E8 */ lw $v1, 0xe8($sp) /* 0AEC54 7F07A124 8FAC00F0 */ lw $t4, 0xf0($sp) @@ -4645,7 +4679,7 @@ variable_body_head: /* 0AEF08 7F07A3D8 0FC1D929 */ jal load_object_fill_header /* 0AEF0C 7F07A3DC 030C3021 */ addu $a2, $t8, $t4 /* 0AEF10 7F07A3E0 8FA30028 */ lw $v1, 0x28($sp) -/* 0AEF14 7F07A3E4 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 0AEF14 7F07A3E4 0FC2F462 */ jal get_pc_buffer_remaining_value /* 0AEF18 7F07A3E8 8C640004 */ lw $a0, 4($v1) /* 0AEF1C 7F07A3EC 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded /* 0AEF20 7F07A3F0 8FA400F4 */ lw $a0, 0xf4($sp) @@ -4742,17 +4776,17 @@ glabel solo_char_load /* 0AEE70 7F07A300 8DE20004 */ lw $v0, 4($t7) /* 0AEE74 7F07A304 544001D6 */ bnezl $v0, .Ljp7F07AA60 /* 0AEE78 7F07A308 8C59001C */ lw $t9, 0x1c($v0) -/* 0AEE7C 7F07A30C 0FC17514 */ jal sub_GAME_7F05CF30 +/* 0AEE7C 7F07A30C 0FC17514 */ jal getPlayerWeaponBufferForHand /* 0AEE80 7F07A310 00002025 */ move $a0, $zero /* 0AEE84 7F07A314 AFA200F0 */ sw $v0, 0xf0($sp) -/* 0AEE88 7F07A318 0FC17514 */ jal sub_GAME_7F05CF30 +/* 0AEE88 7F07A318 0FC17514 */ jal getPlayerWeaponBufferForHand /* 0AEE8C 7F07A31C 24040001 */ li $a0, 1 /* 0AEE90 7F07A320 AFA200EC */ sw $v0, 0xec($sp) /* 0AEE94 7F07A324 AFA000E8 */ sw $zero, 0xe8($sp) -/* 0AEE98 7F07A328 0FC1751A */ jal sub_GAME_7F05CF48 +/* 0AEE98 7F07A328 0FC1751A */ jal getSizeBufferWeaponInHand /* 0AEE9C 7F07A32C 00002025 */ move $a0, $zero /* 0AEEA0 7F07A330 AFA200E4 */ sw $v0, 0xe4($sp) -/* 0AEEA4 7F07A334 0FC1751A */ jal sub_GAME_7F05CF48 +/* 0AEEA4 7F07A334 0FC1751A */ jal getSizeBufferWeaponInHand /* 0AEEA8 7F07A338 24040001 */ li $a0, 1 /* 0AEEAC 7F07A33C 3C198003 */ lui $t9, %hi(dummy_08_pp7_obj) # $t9, 0x8003 /* 0AEEB0 7F07A340 273965EC */ addiu $t9, %lo(dummy_08_pp7_obj) # addiu $t9, $t9, 0x65ec @@ -4980,7 +5014,7 @@ variable_body_head: /* 0AF1B8 7F07A648 0FC1DAA5 */ jal load_object_fill_header /* 0AF1BC 7F07A64C 8C650004 */ lw $a1, 4($v1) /* 0AF1C0 7F07A650 8FA30028 */ lw $v1, 0x28($sp) -/* 0AF1C4 7F07A654 0FC2F74E */ jal sub_GAME_7F0BD188 +/* 0AF1C4 7F07A654 0FC2F74E */ jal get_pc_buffer_remaining_value /* 0AF1C8 7F07A658 8C640004 */ lw $a0, 4($v1) /* 0AF1CC 7F07A65C 8FAD0040 */ lw $t5, 0x40($sp) /* 0AF1D0 7F07A660 3C0F8004 */ lui $t7, %hi(c_item_entries) # $t7, 0x8004 @@ -5025,7 +5059,7 @@ variable_body_head: /* 0AF26C 7F07A6FC 0FC1DAA5 */ jal load_object_fill_header /* 0AF270 7F07A700 01C83823 */ subu $a3, $t6, $t0 /* 0AF274 7F07A704 8FA30028 */ lw $v1, 0x28($sp) -/* 0AF278 7F07A708 0FC2F74E */ jal sub_GAME_7F0BD188 +/* 0AF278 7F07A708 0FC2F74E */ jal get_pc_buffer_remaining_value /* 0AF27C 7F07A70C 8C640004 */ lw $a0, 4($v1) /* 0AF280 7F07A710 8FA300E8 */ lw $v1, 0xe8($sp) /* 0AF284 7F07A714 8FAC00F0 */ lw $t4, 0xf0($sp) @@ -5221,7 +5255,7 @@ variable_body_head: /* 0AF568 7F07A9F8 0FC1DAA5 */ jal load_object_fill_header /* 0AF56C 7F07A9FC 016D3021 */ addu $a2, $t3, $t5 /* 0AF570 7F07AA00 8FA30028 */ lw $v1, 0x28($sp) -/* 0AF574 7F07AA04 0FC2F74E */ jal sub_GAME_7F0BD188 +/* 0AF574 7F07AA04 0FC2F74E */ jal get_pc_buffer_remaining_value /* 0AF578 7F07AA08 8C640004 */ lw $a0, 4($v1) /* 0AF57C 7F07AA0C 0FC1D8B9 */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded /* 0AF580 7F07AA10 8FA400F4 */ lw $a0, 0xf4($sp) @@ -8749,7 +8783,7 @@ s32 get_BONDdata_autoaim_y(void) return pPlayer->autoyaimenabled; } else { - return cur_player_stat_ptr->autoaim; + return pPlayersPerm->autoaim; } } #else @@ -8768,8 +8802,8 @@ glabel get_BONDdata_autoaim_y /* 0B10D4 7F07C5A4 10000004 */ b .L7F07C5B8 /* 0B10D8 7F07C5A8 8DC20128 */ lw $v0, 0x128($t6) .L7F07C5AC: -/* 0B10DC 7F07C5AC 3C0F8008 */ lui $t7, %hi(cur_player_stat_ptr) -/* 0B10E0 7F07C5B0 8DEFA0B4 */ lw $t7, %lo(cur_player_stat_ptr)($t7) +/* 0B10DC 7F07C5AC 3C0F8008 */ lui $t7, %hi(pPlayersPerm) +/* 0B10E0 7F07C5B0 8DEFA0B4 */ lw $t7, %lo(pPlayersPerm)($t7) /* 0B10E4 7F07C5B4 91E2006A */ lbu $v0, 0x6a($t7) .L7F07C5B8: /* 0B10E8 7F07C5B8 03E00008 */ jr $ra @@ -8855,10 +8889,10 @@ void get_BONDdata_autoaim_x(void) { { // Node 2 // Node 3 - return cur_player_stat_ptr->unk6A; + return pPlayersPerm->unk6A; } // Node 1 - return cur_player_stat_ptr->unk6A; + return pPlayersPerm->unk6A; } #else GLOBAL_ASM( @@ -8876,8 +8910,8 @@ glabel get_BONDdata_autoaim_x /* 0B11BC 7F07C68C 10000004 */ b .L7F07C6A0 /* 0B11C0 7F07C690 8DC20138 */ lw $v0, 0x138($t6) .L7F07C694: -/* 0B11C4 7F07C694 3C0F8008 */ lui $t7, %hi(cur_player_stat_ptr) -/* 0B11C8 7F07C698 8DEFA0B4 */ lw $t7, %lo(cur_player_stat_ptr)($t7) +/* 0B11C4 7F07C694 3C0F8008 */ lui $t7, %hi(pPlayersPerm) +/* 0B11C8 7F07C698 8DEFA0B4 */ lw $t7, %lo(pPlayersPerm)($t7) /* 0B11CC 7F07C69C 91E2006A */ lbu $v0, 0x6a($t7) .L7F07C6A0: /* 0B11D0 7F07C6A0 03E00008 */ jr $ra @@ -9957,7 +9991,7 @@ s32 cal_player_collision(void *arg0, void *arg1) { if ((sub_GAME_7F0B0E24(&sp90, pPlayer->field_48C, pPlayer->field_494, *arg0, (f32) arg0->unk8, sp8C, sp88, sp84, 0.0f, 1.0f) != 0) && (sub_GAME_7F0B18B8(&sp90, *arg0, arg0->unk8, sp80, sp8C, sp88, sp84) < 0)) { // Node 12 - if ((-100.0f == pPlayer->field_A0) || (sp7C < 0)) + if ((-100.0f == pPlayer->ducking_height_offset) || (sp7C < 0)) { // Node 14 if ((sub_GAME_7F0B23A4(&sp3C) == 0) && (sub_GAME_7F0B26B8(&sp90, *arg0, arg0->unk8, sp80, (f32) (pPlayer->field_490 + 175.0f)) >= 0)) @@ -11302,7 +11336,7 @@ glabel sub_GAME_7F07DE9C #ifdef NONMATCHING void *sub_GAME_7F07DEFC(void) { // Node 0 - pPlayer->field_204 = (f32) pPlayer->field_158; + pPlayer->pause_starting_angle = (f32) pPlayer->vv_verta; pPlayer->field_210 = 0.0f; pPlayer->field_218 = 0; return pPlayer; @@ -11341,8 +11375,8 @@ f32 sub_GAME_7F07DF28(s32 arg0) { if (arg0 != 0) { // Node 1 - pPlayer->field_208 = (f32) pPlayer->field_158; - pPlayer->field_20C = -40.0f; + pPlayer->field_208 = (f32) pPlayer->vv_verta; + pPlayer->pause_target_angle = -40.0f; phi_v1 = &pPlayer; } else @@ -12112,7 +12146,7 @@ void sub_GAME_7F07E62C(void) { if (pPlayer->field_11BC < pPlayer->field_11C0) { // Node 1 - if ((pPlayer->field_1C8 == 0xc) || (pPlayer->field_1C8 == 0xc)) + if ((pPlayer->pause_animation_state == 0xc) || (pPlayer->pause_animation_state == 0xc)) { // Node 3 pPlayer->field_11BC = (f32) (pPlayer->field_11BC + (f32) D_80048498); @@ -12139,8 +12173,8 @@ void sub_GAME_7F07E62C(void) { pPlayer->field_11C4 = (f32) pPlayer->field_11CC; } // Node 9 - sub_GAME_7F09B214(pPlayer->field_11C4, &pPlayer); - return video_related_1F(pPlayer->field_11C4, &pPlayer); + set_cur_player_fovy(pPlayer->field_11C4, &pPlayer); + return setvideo_far(pPlayer->field_11C4, &pPlayer); } #else @@ -12212,12 +12246,12 @@ glabel sub_GAME_7F07E62C /* 0B323C 7F07E70C E44611C4 */ swc1 $f6, 0x11c4($v0) .L7F07E710: /* 0B3240 7F07E710 8C980000 */ lw $t8, ($a0) -/* 0B3244 7F07E714 0FC26C85 */ jal sub_GAME_7F09B214 +/* 0B3244 7F07E714 0FC26C85 */ jal set_cur_player_fovy /* 0B3248 7F07E718 C70C11C4 */ lwc1 $f12, 0x11c4($t8) /* 0B324C 7F07E71C 3C048008 */ lui $a0, %hi(pPlayer) /* 0B3250 7F07E720 2484A0B0 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5f50 /* 0B3254 7F07E724 8C990000 */ lw $t9, ($a0) -/* 0B3258 7F07E728 0C001151 */ jal video_related_1F +/* 0B3258 7F07E728 0C001151 */ jal setvideo_far /* 0B325C 7F07E72C C72C11C4 */ lwc1 $f12, 0x11c4($t9) /* 0B3260 7F07E730 8FBF0014 */ lw $ra, 0x14($sp) /* 0B3264 7F07E734 27BD0018 */ addiu $sp, $sp, 0x18 @@ -12288,12 +12322,12 @@ glabel sub_GAME_7F07E62C /* 0B3888 7F07ED18 E45211C4 */ swc1 $f18, 0x11c4($v0) .Ljp7F07ED1C: /* 0B388C 7F07ED1C 8C8E0000 */ lw $t6, ($a0) -/* 0B3890 7F07ED20 0FC26F6D */ jal sub_GAME_7F09B214 +/* 0B3890 7F07ED20 0FC26F6D */ jal set_cur_player_fovy /* 0B3894 7F07ED24 C5CC11C4 */ lwc1 $f12, 0x11c4($t6) /* 0B3898 7F07ED28 3C048008 */ lui $a0, %hi(pPlayer) # $a0, 0x8008 /* 0B389C 7F07ED2C 2484A120 */ addiu $a0, %lo(pPlayer) # addiu $a0, $a0, -0x5ee0 /* 0B38A0 7F07ED30 8C8F0000 */ lw $t7, ($a0) -/* 0B38A4 7F07ED34 0C001151 */ jal video_related_1F +/* 0B38A4 7F07ED34 0C001151 */ jal setvideo_far /* 0B38A8 7F07ED38 C5EC11C4 */ lwc1 $f12, 0x11c4($t7) /* 0B38AC 7F07ED3C 8FBF0014 */ lw $ra, 0x14($sp) /* 0B38B0 7F07ED40 27BD0018 */ addiu $sp, $sp, 0x18 @@ -12379,7 +12413,7 @@ void sub_GAME_7F07E7CC(void) { // Node 2 sub_GAME_7F075FAC((pPlayer + 0x230), sp24, (pPlayer + 0x2ec)); set_obj_instance_controller_scale((pPlayer + 0x230), (c_item_entries+0x33C * D_80055088)); - pPlayer->field_220 = 0; + pPlayer->step_in_view_watch_animation = 0; return sub_GAME_7F06FCA8((pPlayer + 0x230), (ptr_animation_table + &0x000042C8), 0, 0.0f, (f32) (0.5f * watch_transition_time), 0.0f); } #else @@ -12457,7 +12491,7 @@ glabel sub_GAME_7F07E7CC #ifdef NONMATCHING void *sub_GAME_7F07E8B0(f32 arg0) { // Node 0 - if (pPlayer->field_220 == 0) + if (pPlayer->step_in_view_watch_animation == 0) { // Node 1 pPlayer->field_22C = (f32) (20.0f / arg0); @@ -12468,7 +12502,7 @@ void *sub_GAME_7F07E8B0(f32 arg0) { pPlayer->field_22C = (f32) ((20.0f - pPlayer->field_258) / arg0); } // Node 3 - pPlayer->field_220 = 1; + pPlayer->step_in_view_watch_animation = 1; pPlayer->field_228 = arg0; return pPlayer; } @@ -12512,7 +12546,7 @@ glabel sub_GAME_7F07E8B0 #ifdef NONMATCHING void *sub_GAME_7F07E910(f32 arg0) { // Node 0 - if (pPlayer->field_220 == 20.0f) + if (pPlayer->step_in_view_watch_animation == 20.0f) { // Node 1 pPlayer->field_22C = (f32) (20.0f / arg0); @@ -12523,7 +12557,7 @@ void *sub_GAME_7F07E910(f32 arg0) { pPlayer->field_22C = (f32) (pPlayer->field_258 / arg0); } // Node 3 - pPlayer->field_220 = 2; + pPlayer->step_in_view_watch_animation = 2; pPlayer->field_228 = arg0; return pPlayer; } @@ -12567,41 +12601,41 @@ void *sub_GAME_7F07E964(void) { // Node 0 phi_return = pPlayer; - if (pPlayer->field_220 != 0) + if (pPlayer->step_in_view_watch_animation != 0) { // Node 1 phi_return = pPlayer; - if (3 != pPlayer->field_220) + if (3 != pPlayer->step_in_view_watch_animation) { // Node 2 - if (pPlayer->field_220 == 20.0f) + if (pPlayer->step_in_view_watch_animation == 20.0f) { // Node 3 - pPlayer->field_224 = (f32) (pPlayer->field_224 + ((global_timer_delta * watch_transition_time) * pPlayer->field_22C)); - if (20.0f < pPlayer->field_224) + pPlayer->pause_animation_counter = (f32) (pPlayer->pause_animation_counter + ((global_timer_delta * watch_transition_time) * pPlayer->field_22C)); + if (20.0f < pPlayer->pause_animation_counter) { // Node 4 - pPlayer->field_224 = 20.0f; - pPlayer->field_220 = 3; + pPlayer->pause_animation_counter = 20.0f; + pPlayer->step_in_view_watch_animation = 3; } } else { // Node 5 - if (pPlayer->field_220 == &global_timer_delta) + if (pPlayer->step_in_view_watch_animation == &global_timer_delta) { // Node 6 - pPlayer->field_224 = (f32) (pPlayer->field_224 - ((global_timer_delta * watch_transition_time) * pPlayer->field_22C)); - if (pPlayer->field_224 < 0.0f) + pPlayer->pause_animation_counter = (f32) (pPlayer->pause_animation_counter - ((global_timer_delta * watch_transition_time) * pPlayer->field_22C)); + if (pPlayer->pause_animation_counter < 0.0f) { // Node 7 - pPlayer->field_224 = 0.0f; - pPlayer->field_220 = 0; + pPlayer->pause_animation_counter = 0.0f; + pPlayer->step_in_view_watch_animation = 0; } } } // Node 8 - phi_return = sub_GAME_7F070090((pPlayer + 0x230), pPlayer->field_224, 0); + phi_return = sub_GAME_7F070090((pPlayer + 0x230), pPlayer->pause_animation_counter, 0); } } // Node 9 @@ -12759,7 +12793,7 @@ glabel sub_GAME_7F07EAF0 /* 0B3628 7F07EAF8 AFB10018 */ sw $s1, 0x18($sp) /* 0B362C 7F07EAFC 0FC1577B */ jal deactivate_alarm_sound_effect /* 0B3630 7F07EB00 AFB00014 */ sw $s0, 0x14($sp) -/* 0B3634 7F07EB04 0FC157BE */ jal sub_GAME_7F055EF8 +/* 0B3634 7F07EB04 0FC157BE */ jal check_deactivate_gas_sound /* 0B3638 7F07EB08 00000000 */ nop /* 0B363C 7F07EB0C 00008825 */ move $s1, $zero .L7F07EB10: @@ -14870,11 +14904,11 @@ void sub_GAME_7F07FCC4(s32 arg0) { if (arg0 == -1) { // Node 1 - pPlayer->field_170 = (f32) (pPlayer->field_170 - global_timer_delta); - if (pPlayer->field_170 < -1.0f) + pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe - global_timer_delta); + if (pPlayer->speedstrafe < -1.0f) { // Node 2 - pPlayer->field_170 = -1.0f; + pPlayer->speedstrafe = -1.0f; } } else @@ -14883,40 +14917,40 @@ void sub_GAME_7F07FCC4(s32 arg0) { if (arg0 == 1) { // Node 4 - pPlayer->field_170 = (f32) (pPlayer->field_170 + global_timer_delta); - if (1.0f < pPlayer->field_170) + pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe + global_timer_delta); + if (1.0f < pPlayer->speedstrafe) { // Node 5 - pPlayer->field_170 = 1.0f; + pPlayer->speedstrafe = 1.0f; } } else { // Node 6 - if (0.0f < pPlayer->field_170) + if (0.0f < pPlayer->speedstrafe) { // Node 7 - pPlayer->field_170 = (f32) (pPlayer->field_170 - global_timer_delta); - if (pPlayer->field_170 < 0.0f) + pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe - global_timer_delta); + if (pPlayer->speedstrafe < 0.0f) { // Node 8 - pPlayer->field_170 = 0.0f; + pPlayer->speedstrafe = 0.0f; } } else { // Node 9 - pPlayer->field_170 = (f32) (pPlayer->field_170 + global_timer_delta); - if (0.0f < pPlayer->field_170) + pPlayer->speedstrafe = (f32) (pPlayer->speedstrafe + global_timer_delta); + if (0.0f < pPlayer->speedstrafe) { // Node 10 - pPlayer->field_170 = 0.0f; + pPlayer->speedstrafe = 0.0f; } } } } // Node 11 - pPlayer->field_16C = (f32) pPlayer->field_170; + pPlayer->speedsideways = (f32) pPlayer->speedstrafe; return; } #else @@ -15072,7 +15106,7 @@ void sub_GAME_7F07FE1C(s32 arg0) { } } // Node 11 - pPlayer->field_174 = (f32) pPlayer->field_2A4C; + pPlayer->speedforwards = (f32) pPlayer->field_2A4C; return; } #else @@ -15884,14 +15918,14 @@ void set_rgba_tint(s32 arg0, s32 arg1, s32 arg2, f32 arg3) { void *sub_GAME_7F0807E0(f32 arg0, s32 arg1, ?32 arg2, ?32 arg3, f32 arg4) { // Node 0 pPlayer->field_3E0 = 0.0f; - pPlayer->field_3E4 = arg0; - pPlayer->field_3E8 = (?32) pPlayer->field_3D0; + pPlayer->time_for_fade = arg0; + pPlayer->field_3E8 = (?32) pPlayer->tint_red; pPlayer->field_3EC = arg1; - pPlayer->field_3F0 = (?32) pPlayer->field_3D4; + pPlayer->field_3F0 = (?32) pPlayer->tint_green; pPlayer->field_3F4 = arg2; - pPlayer->field_3F8 = (?32) pPlayer->field_3D8; + pPlayer->field_3F8 = (?32) pPlayer->tint_blue; pPlayer->field_3FC = arg3; - pPlayer->field_400 = (f32) pPlayer->field_3DC; + pPlayer->field_400 = (f32) pPlayer->tint_alpha; pPlayer->field_404 = arg4; return pPlayer; } @@ -15940,7 +15974,7 @@ glabel sub_GAME_7F0807E0 #ifdef NONMATCHING void fade_to_over_seconds(f32 arg1) { // Node 0 - return sub_GAME_7F0807E0(pPlayer->field_3D0, pPlayer->field_3D4, pPlayer->field_3D8); + return sub_GAME_7F0807E0(pPlayer->tint_red, pPlayer->tint_green, pPlayer->tint_blue); } #else @@ -15970,7 +16004,7 @@ glabel fade_to_over_seconds #ifdef NONMATCHING void check_if_fade_to_black_complete(void) { // Node 0 - if (pPlayer->field_3E4 < 0.0f) + if (pPlayer->time_for_fade < 0.0f) { // Node 1 } @@ -16006,26 +16040,26 @@ void *sub_GAME_7F0808BC(void) { f32 temp_f12; // Node 0 - if (0.0f <= pPlayer->field_3E4) + if (0.0f <= pPlayer->time_for_fade) { // Node 1 pPlayer->field_3E0 = (f32) (pPlayer->field_3E0 + global_timer_delta); - if (pPlayer->field_3E0 < pPlayer->field_3E4) + if (pPlayer->field_3E0 < pPlayer->time_for_fade) { // Node 2 - temp_f12 = (pPlayer->field_3E0 / pPlayer->field_3E4); - pPlayer->field_3DC = (f32) (pPlayer->field_400 + ((pPlayer->field_404 - pPlayer->field_400) * temp_f12)); - pPlayer->field_3D0 = (s32) (pPlayer->field_3E8 + (s32) ((f32) (pPlayer->field_3EC - pPlayer->field_3E8) * temp_f12)); - pPlayer->field_3D4 = (s32) (pPlayer->field_3F0 + (s32) ((f32) (pPlayer->field_3F4 - pPlayer->field_3F0) * temp_f12)); - pPlayer->field_3D8 = (s32) (pPlayer->field_3F8 + (s32) ((f32) (pPlayer->field_3FC - pPlayer->field_3F8) * temp_f12)); + temp_f12 = (pPlayer->field_3E0 / pPlayer->time_for_fade); + pPlayer->tint_alpha = (f32) (pPlayer->field_400 + ((pPlayer->field_404 - pPlayer->field_400) * temp_f12)); + pPlayer->tint_red = (s32) (pPlayer->field_3E8 + (s32) ((f32) (pPlayer->field_3EC - pPlayer->field_3E8) * temp_f12)); + pPlayer->tint_green = (s32) (pPlayer->field_3F0 + (s32) ((f32) (pPlayer->field_3F4 - pPlayer->field_3F0) * temp_f12)); + pPlayer->tint_blue = (s32) (pPlayer->field_3F8 + (s32) ((f32) (pPlayer->field_3FC - pPlayer->field_3F8) * temp_f12)); return pPlayer; } // Node 3 - pPlayer->field_3DC = (f32) pPlayer->field_404; - pPlayer->field_3D0 = (s32) pPlayer->field_3EC; - pPlayer->field_3D4 = (s32) pPlayer->field_3F4; - pPlayer->field_3D8 = (s32) pPlayer->field_3FC; - pPlayer->field_3E4 = -1.0f; + pPlayer->tint_alpha = (f32) pPlayer->field_404; + pPlayer->tint_red = (s32) pPlayer->field_3EC; + pPlayer->tint_green = (s32) pPlayer->field_3F4; + pPlayer->tint_blue = (s32) pPlayer->field_3FC; + pPlayer->time_for_fade = -1.0f; } // Node 4 return pPlayer; @@ -16138,8 +16172,8 @@ void *set_curplayer_fade(f32 arg0, f32 arg1) { if (pPlayer->field_A8->unk4 != 0) { // Node 1 - pPlayer->field_18C = 0.0f; - pPlayer->field_190 = arg0; + pPlayer->viewport_alpha = 0.0f; + pPlayer->bondfadetime60 = arg0; temp_f8 = (f32) pPlayer->field_A8->unk4->unkC; phi_f8 = temp_f8; if (pPlayer->field_A8->unk4->unkC < 0) @@ -16148,8 +16182,8 @@ void *set_curplayer_fade(f32 arg0, f32 arg1) { phi_f8 = (temp_f8 + 4294967296.0f); } // Node 3 - pPlayer->field_194 = (f32) (phi_f8 / 255.0f); - pPlayer->field_198 = arg1; + pPlayer->bondfadetimemax = (f32) (phi_f8 / 255.0f); + pPlayer->bondfadefracold = arg1; } // Node 4 return pPlayer->field_A8->unk4; @@ -16200,20 +16234,20 @@ void *update_curplayer_fade(void) { f32 phi_f12; // Node 0 - if (0.0f <= pPlayer->field_190) + if (0.0f <= pPlayer->bondfadetime60) { // Node 1 - pPlayer->field_18C = (f32) (pPlayer->field_18C + *(void *)0x80050000); - if (pPlayer->field_18C < pPlayer->field_190) + pPlayer->viewport_alpha = (f32) (pPlayer->viewport_alpha + *(void *)0x80050000); + if (pPlayer->viewport_alpha < pPlayer->bondfadetime60) { // Node 2 - phi_f12 = (pPlayer->field_194 + (((pPlayer->field_198 - pPlayer->field_194) * pPlayer->field_18C) / pPlayer->field_190)); + phi_f12 = (pPlayer->bondfadetimemax + (((pPlayer->bondfadefracold - pPlayer->bondfadetimemax) * pPlayer->viewport_alpha) / pPlayer->bondfadetime60)); } else { // Node 3 - pPlayer->field_190 = -1.0f; - phi_f12 = pPlayer->field_198; + pPlayer->bondfadetime60 = -1.0f; + phi_f12 = pPlayer->bondfadefracold; } // Node 4 if (pPlayer->field_A8->unk4 != 0) @@ -17024,8 +17058,8 @@ void *sub_GAME_7F081478(void) { s32 phi_v1; // Node 0 - pPlayer->field_29BC = (f32) ((pPlayer->field_500 * cur_player_stat_ptr->unk64) + 7.0f); - temp_f0_2 = (pPlayer->field_29BC + ((pPlayer->field_88 + pPlayer->field_A0) * cur_player_stat_ptr->unk64)); + pPlayer->field_29BC = (f32) ((pPlayer->field_500 * pPlayersPerm->unk64) + 7.0f); + temp_f0_2 = (pPlayer->field_29BC + ((pPlayer->field_88 + pPlayer->ducking_height_offset) * pPlayersPerm->unk64)); phi_f0 = temp_f0_2; if (temp_f0_2 < 30.0f) { @@ -17054,7 +17088,7 @@ void *sub_GAME_7F081478(void) { } // Node 7 phi_v0 = pPlayer; - if (pPlayer->field_D8 != 0) + if (pPlayer->bonddead != 0) { // Node 8 temp_f0 = pPlayer->field_29C0; @@ -17125,10 +17159,10 @@ glabel D_8005510C .word 0x3dccccd0 /*0.10000002*/ .text glabel sub_GAME_7F081478 -/* 0B5FA8 7F081478 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) +/* 0B5FA8 7F081478 3C038008 */ lui $v1, %hi(pPlayersPerm) /* 0B5FAC 7F08147C 3C088008 */ lui $t0, %hi(pPlayer) /* 0B5FB0 7F081480 2508A0B0 */ addiu $t0, %lo(pPlayer) # addiu $t0, $t0, -0x5f50 -/* 0B5FB4 7F081484 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # addiu $v1, $v1, -0x5f4c +/* 0B5FB4 7F081484 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c /* 0B5FB8 7F081488 8C6E0000 */ lw $t6, ($v1) /* 0B5FBC 7F08148C 8D020000 */ lw $v0, ($t0) /* 0B5FC0 7F081490 27BDFFC8 */ addiu $sp, $sp, -0x38 @@ -17347,32 +17381,32 @@ void *sub_GAME_7F081790(void) { void *phi_v0_3; // Node 0 - if (pPlayer->field_158 < -180.0f) + if (pPlayer->vv_verta < -180.0f) { // Node 1 loop_2: // Node 2 - pPlayer->field_158 = (f32) (pPlayer->field_158 + 360.0f); - if (pPlayer->field_158 < -180.0f) + pPlayer->vv_verta = (f32) (pPlayer->vv_verta + 360.0f); + if (pPlayer->vv_verta < -180.0f) { goto loop_2; } } // Node 3 - phi_f0 = pPlayer->field_158; + phi_f0 = pPlayer->vv_verta; phi_v0 = pPlayer; - phi_f0_2 = pPlayer->field_158; + phi_f0_2 = pPlayer->vv_verta; phi_v0_2 = pPlayer; - if (180.0f <= pPlayer->field_158) + if (180.0f <= pPlayer->vv_verta) { loop_4: // Node 4 phi_v0->unk158 = (f32) (phi_f0 - 360.0f); - phi_f0 = pPlayer->field_158; + phi_f0 = pPlayer->vv_verta; phi_v0 = pPlayer; - phi_f0_2 = pPlayer->field_158; + phi_f0_2 = pPlayer->vv_verta; phi_v0_2 = pPlayer; - if (180.0f <= pPlayer->field_158) + if (180.0f <= pPlayer->vv_verta) { goto loop_4; } @@ -17396,20 +17430,20 @@ loop_4: } } // Node 9 - pPlayer->field_150 = cosf((phi_v0_3->unk148 * D_80055110), 360.0f); - pPlayer->field_154 = sinf((pPlayer->field_148 * D_80055114)); - pPlayer->field_15C = (f32) pPlayer->field_158; - if (pPlayer->field_15C < 0.0f) + pPlayer->vv_costheta = cosf((phi_v0_3->unk148 * D_80055110), 360.0f); + pPlayer->vv_sintheta = sinf((pPlayer->field_148 * D_80055114)); + pPlayer->vv_verta360 = (f32) pPlayer->vv_verta; + if (pPlayer->vv_verta360 < 0.0f) { // Node 10 - pPlayer->field_15C = (f32) (pPlayer->field_15C + 360.0f); + pPlayer->vv_verta360 = (f32) (pPlayer->vv_verta360 + 360.0f); } // Node 11 - pPlayer->field_164 = cosf((pPlayer->field_15C * D_80055118), 360.0f); - pPlayer->field_168 = sinf((pPlayer->field_15C * D_8005511C)); - pPlayer->field_498 = (f32) -pPlayer->field_154; + pPlayer->vv_cosverta = cosf((pPlayer->vv_verta360 * D_80055118), 360.0f); + pPlayer->vv_sinverta = sinf((pPlayer->vv_verta360 * D_8005511C)); + pPlayer->field_498 = (f32) -pPlayer->vv_sintheta; pPlayer->field_49C = 0.0f; - pPlayer->field_4A0 = (f32) pPlayer->field_150; + pPlayer->field_4A0 = (f32) pPlayer->vv_costheta; return pPlayer; } #else @@ -26420,151 +26454,69 @@ int getHeight330or240(void) { return 240; } - - - - -#ifdef NONMATCHING -void get_curplayer_viewport_width(void) { - // Node 0 +s32 get_curplayer_viewport_width(void) +{ if (get_num_players() >= 3) { - // Node 1 - return 0x140; + return 159; } - // Node 2 if (camera_8003642C != 0) { - // Node 3 - return 0x140; + return 440; } - // Node 4 if (cur_player_get_screen_setting() == 1) { - // Node 5 - return 0x140; + return 320; } - // Node 6 - if (cur_player_get_screen_setting() != 2) + if (cur_player_get_screen_setting() == 2) { - // Node 8 - // Node 9 - return 0x140; + return 320; } - // Node 7 - return 0x140; + return 320; } -#else -GLOBAL_ASM( -.text -glabel get_curplayer_viewport_width -/* 0BB770 7F086C40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BB774 7F086C44 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BB778 7F086C48 0FC26919 */ jal get_num_players -/* 0BB77C 7F086C4C 00000000 */ nop -/* 0BB780 7F086C50 28410003 */ slti $at, $v0, 3 -/* 0BB784 7F086C54 14200003 */ bnez $at, .L7F086C64 -/* 0BB788 7F086C58 3C0E8003 */ lui $t6, %hi(camera_8003642C) -/* 0BB78C 7F086C5C 10000015 */ b .L7F086CB4 -/* 0BB790 7F086C60 2402009F */ li $v0, 159 -.L7F086C64: -/* 0BB794 7F086C64 8DCE642C */ lw $t6, %lo(camera_8003642C)($t6) -/* 0BB798 7F086C68 11C00003 */ beqz $t6, .L7F086C78 -/* 0BB79C 7F086C6C 00000000 */ nop -/* 0BB7A0 7F086C70 10000010 */ b .L7F086CB4 -/* 0BB7A4 7F086C74 240201B8 */ li $v0, 440 -.L7F086C78: -/* 0BB7A8 7F086C78 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB7AC 7F086C7C 00000000 */ nop -/* 0BB7B0 7F086C80 24010001 */ li $at, 1 -/* 0BB7B4 7F086C84 14410003 */ bne $v0, $at, .L7F086C94 -/* 0BB7B8 7F086C88 00000000 */ nop -/* 0BB7BC 7F086C8C 10000009 */ b .L7F086CB4 -/* 0BB7C0 7F086C90 24020140 */ li $v0, 320 -.L7F086C94: -/* 0BB7C4 7F086C94 0FC293B2 */ jal cur_player_get_screen_setting -/* 0BB7C8 7F086C98 00000000 */ nop -/* 0BB7CC 7F086C9C 24010002 */ li $at, 2 -/* 0BB7D0 7F086CA0 54410004 */ bnel $v0, $at, .L7F086CB4 -/* 0BB7D4 7F086CA4 24020140 */ li $v0, 320 -/* 0BB7D8 7F086CA8 10000002 */ b .L7F086CB4 -/* 0BB7DC 7F086CAC 24020140 */ li $v0, 320 -/* 0BB7E0 7F086CB0 24020140 */ li $v0, 320 -.L7F086CB4: -/* 0BB7E4 7F086CB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BB7E8 7F086CB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BB7EC 7F086CBC 03E00008 */ jr $ra -/* 0BB7F0 7F086CC0 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -void get_curplayer_viewport_ulx(void) { - // Node 0 - if (get_num_players() < 3) - { - // Node 4 - // Node 5 - return 0; - } - // Node 1 - if (get_cur_playernum() != 1) - { - // Node 2 - if (get_cur_playernum() != 3) - { - // Node 4 - // Node 5 - return 0; +s32 get_curplayer_viewport_ulx(void) +{ + + if (2 < get_num_players()) { + if ((get_cur_playernum() == 1) || (get_cur_playernum() == 3)) { + return 0xa1; } } - // Node 3 return 0; } -#else -GLOBAL_ASM( -.text -glabel get_curplayer_viewport_ulx -/* 0BB7F4 7F086CC4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BB7F8 7F086CC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BB7FC 7F086CCC 0FC26919 */ jal get_num_players -/* 0BB800 7F086CD0 00000000 */ nop -/* 0BB804 7F086CD4 28410003 */ slti $at, $v0, 3 -/* 0BB808 7F086CD8 5420000E */ bnezl $at, .L7F086D14 -/* 0BB80C 7F086CDC 00001025 */ move $v0, $zero -/* 0BB810 7F086CE0 0FC26C54 */ jal get_cur_playernum -/* 0BB814 7F086CE4 00000000 */ nop -/* 0BB818 7F086CE8 24010001 */ li $at, 1 -/* 0BB81C 7F086CEC 10410006 */ beq $v0, $at, .L7F086D08 -/* 0BB820 7F086CF0 00000000 */ nop -/* 0BB824 7F086CF4 0FC26C54 */ jal get_cur_playernum -/* 0BB828 7F086CF8 00000000 */ nop -/* 0BB82C 7F086CFC 24010003 */ li $at, 3 -/* 0BB830 7F086D00 54410004 */ bnel $v0, $at, .L7F086D14 -/* 0BB834 7F086D04 00001025 */ move $v0, $zero -.L7F086D08: -/* 0BB838 7F086D08 10000002 */ b .L7F086D14 -/* 0BB83C 7F086D0C 240200A1 */ li $v0, 161 -/* 0BB840 7F086D10 00001025 */ move $v0, $zero -.L7F086D14: -/* 0BB844 7F086D14 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BB848 7F086D18 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BB84C 7F086D1C 03E00008 */ jr $ra -/* 0BB850 7F086D20 00000000 */ nop -) -#endif - #ifdef NONMATCHING -void get_curplayer_viewport_height(void) { - +s32 get_curplayer_viewport_height(void) +{ + if (get_num_players() >= 2) + { + return 0x6d; + } + if (camera_8003642C != 0) + { + if (cur_player_get_screen_setting() == 1) + { + return 0xf8; + } + if (cur_player_get_screen_setting() != 2) + { + return 0x130; + } + return 0xbe; + } + if (cur_player_get_screen_setting() == 1) + { + return (s32) (((s32) (40.0f * sub_GAME_7F07EA78()) + 0xb4) << 0x10) >> 0x10; + } + if (cur_player_get_screen_setting() == 2) + { + return (s32) (((s32) (84.0f * sub_GAME_7F07EA78()) + 0x88) << 0x10) >> 0x10; + } + return 0xdc; } #else GLOBAL_ASM( @@ -26785,11 +26737,11 @@ glabel possibly_reset_viewport_options_for_player /* 0BBAD8 7F086FA8 44816000 */ mtc1 $at, $f12 /* 0BBADC 7F086FAC AFA40020 */ sw $a0, 0x20($sp) /* 0BBAE0 7F086FB0 AFA50024 */ sw $a1, 0x24($sp) -/* 0BBAE4 7F086FB4 0FC26C85 */ jal sub_GAME_7F09B214 +/* 0BBAE4 7F086FB4 0FC26C85 */ jal set_cur_player_fovy /* 0BBAE8 7F086FB8 AFA60028 */ sw $a2, 0x28($sp) /* 0BBAEC 7F086FBC 3C014270 */ li $at, 0x42700000 # 60.000000 /* 0BBAF0 7F086FC0 44816000 */ mtc1 $at, $f12 -/* 0BBAF4 7F086FC4 0C001151 */ jal video_related_1F +/* 0BBAF4 7F086FC4 0C001151 */ jal setvideo_far /* 0BBAF8 7F086FC8 00000000 */ nop /* 0BBAFC 7F086FCC 3C038003 */ lui $v1, %hi(camera_80036430) /* 0BBB00 7F086FD0 24636430 */ addiu $v1, %lo(camera_80036430) # addiu $v1, $v1, 0x6430 @@ -26854,7 +26806,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BBBD4 7F0870A4 25ADA800 */ addiu $t5, %lo(cfb_16_b) # addiu $t5, $t5, -0x5800 /* 0BBBD8 7F0870A8 144D0003 */ bne $v0, $t5, .L7F0870B8 /* 0BBBDC 7F0870AC 3C048003 */ lui $a0, %hi(resolution) -/* 0BBBE0 7F0870B0 0C000F0F */ jal set_video2buf_offset28 +/* 0BBBE0 7F0870B0 0C000F0F */ jal set_video2buf_frameb /* 0BBBE4 7F0870B4 8C846428 */ lw $a0, %lo(resolution)($a0) .L7F0870B8: /* 0BBBE8 7F0870B8 0FC293B8 */ jal get_screen_ratio @@ -26879,7 +26831,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BBC34 7F087104 46128102 */ mul.s $f4, $f16, $f18 /* 0BBC38 7F087108 00000000 */ nop /* 0BBC3C 7F08710C 46082302 */ mul.s $f12, $f4, $f8 -/* 0BBC40 7F087110 0FC26C89 */ jal sub_GAME_7F09B224 +/* 0BBC40 7F087110 0FC26C89 */ jal set_cur_player_aspect /* 0BBC44 7F087114 00000000 */ nop /* 0BBC48 7F087118 0FC21B10 */ jal get_curplayer_viewport_width /* 0BBC4C 7F08711C 00000000 */ nop @@ -26912,7 +26864,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BBCB4 7F087184 44985000 */ mtc1 $t8, $f10 /* 0BBCB8 7F087188 46802220 */ cvt.s.w $f8, $f4 /* 0BBCBC 7F08718C 468054A0 */ cvt.s.w $f18, $f10 -/* 0BBCC0 7F087190 0FC26C89 */ jal sub_GAME_7F09B224 +/* 0BBCC0 7F087190 0FC26C89 */ jal set_cur_player_aspect /* 0BBCC4 7F087194 46089303 */ div.s $f12, $f18, $f8 /* 0BBCC8 7F087198 0FC21B10 */ jal get_curplayer_viewport_width /* 0BBCCC 7F08719C 00000000 */ nop @@ -27013,8 +26965,8 @@ glabel possibly_reset_viewport_options_for_player /* 0BBE40 7F087310 28430002 */ slti $v1, $v0, 2 /* 0BBE44 7F087314 38650001 */ xori $a1, $v1, 1 /* 0BBE48 7F087318 10A00005 */ beqz $a1, .L7F087330 -/* 0BBE4C 7F08731C 3C0C8008 */ lui $t4, %hi(cur_player_stat_ptr) -/* 0BBE50 7F087320 8D8CA0B4 */ lw $t4, %lo(cur_player_stat_ptr)($t4) +/* 0BBE4C 7F08731C 3C0C8008 */ lui $t4, %hi(pPlayersPerm) +/* 0BBE50 7F087320 8D8CA0B4 */ lw $t4, %lo(pPlayersPerm)($t4) /* 0BBE54 7F087324 9185006B */ lbu $a1, 0x6b($t4) /* 0BBE58 7F087328 0005682B */ sltu $t5, $zero, $a1 /* 0BBE5C 7F08732C 01A02825 */ move $a1, $t5 @@ -27222,11 +27174,11 @@ glabel possibly_reset_viewport_options_for_player /* 0BC1E4 7F087674 44816000 */ mtc1 $at, $f12 /* 0BC1E8 7F087678 AFA40020 */ sw $a0, 0x20($sp) /* 0BC1EC 7F08767C AFA50024 */ sw $a1, 0x24($sp) -/* 0BC1F0 7F087680 0FC26F6D */ jal sub_GAME_7F09B214 +/* 0BC1F0 7F087680 0FC26F6D */ jal set_cur_player_fovy /* 0BC1F4 7F087684 AFA60028 */ sw $a2, 0x28($sp) /* 0BC1F8 7F087688 3C014270 */ li $at, 0x42700000 # 60.000000 /* 0BC1FC 7F08768C 44816000 */ mtc1 $at, $f12 -/* 0BC200 7F087690 0C001151 */ jal video_related_1F +/* 0BC200 7F087690 0C001151 */ jal setvideo_far /* 0BC204 7F087694 00000000 */ nop /* 0BC208 7F087698 3C038003 */ lui $v1, %hi(camera_80036430) # $v1, 0x8003 /* 0BC20C 7F08769C 24636470 */ addiu $v1, %lo(camera_80036430) # addiu $v1, $v1, 0x6470 @@ -27291,7 +27243,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BC2E0 7F087770 25ADA800 */ addiu $t5, %lo(cfb_16_b) # addiu $t5, $t5, -0x5800 /* 0BC2E4 7F087774 144D0003 */ bne $v0, $t5, .Ljp7F087784 /* 0BC2E8 7F087778 3C048003 */ lui $a0, %hi(resolution) # $a0, 0x8003 -/* 0BC2EC 7F08777C 0C000F0F */ jal set_video2buf_offset28 +/* 0BC2EC 7F08777C 0C000F0F */ jal set_video2buf_frameb /* 0BC2F0 7F087780 8C846468 */ lw $a0, %lo(resolution)($a0) .Ljp7F087784: /* 0BC2F4 7F087784 0FC296A0 */ jal get_screen_ratio @@ -27316,7 +27268,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BC340 7F0877D0 46128102 */ mul.s $f4, $f16, $f18 /* 0BC344 7F0877D4 00000000 */ nop /* 0BC348 7F0877D8 46082302 */ mul.s $f12, $f4, $f8 -/* 0BC34C 7F0877DC 0FC26F71 */ jal sub_GAME_7F09B224 +/* 0BC34C 7F0877DC 0FC26F71 */ jal set_cur_player_aspect /* 0BC350 7F0877E0 00000000 */ nop /* 0BC354 7F0877E4 0FC21CC3 */ jal get_curplayer_viewport_width /* 0BC358 7F0877E8 00000000 */ nop @@ -27349,7 +27301,7 @@ glabel possibly_reset_viewport_options_for_player /* 0BC3C0 7F087850 44985000 */ mtc1 $t8, $f10 /* 0BC3C4 7F087854 46802220 */ cvt.s.w $f8, $f4 /* 0BC3C8 7F087858 468054A0 */ cvt.s.w $f18, $f10 -/* 0BC3CC 7F08785C 0FC26F71 */ jal sub_GAME_7F09B224 +/* 0BC3CC 7F08785C 0FC26F71 */ jal set_cur_player_aspect /* 0BC3D0 7F087860 46089303 */ div.s $f12, $f18, $f8 /* 0BC3D4 7F087864 0FC21CC3 */ jal get_curplayer_viewport_width /* 0BC3D8 7F087868 00000000 */ nop @@ -27450,8 +27402,8 @@ glabel possibly_reset_viewport_options_for_player /* 0BC54C 7F0879DC 28430002 */ slti $v1, $v0, 2 /* 0BC550 7F0879E0 38650001 */ xori $a1, $v1, 1 /* 0BC554 7F0879E4 10A00005 */ beqz $a1, .Ljp7F0879FC -/* 0BC558 7F0879E8 3C0C8008 */ lui $t4, %hi(cur_player_stat_ptr) # $t4, 0x8008 -/* 0BC55C 7F0879EC 8D8CA124 */ lw $t4, %lo(cur_player_stat_ptr)($t4) +/* 0BC558 7F0879E8 3C0C8008 */ lui $t4, %hi(pPlayersPerm) # $t4, 0x8008 +/* 0BC55C 7F0879EC 8D8CA124 */ lw $t4, %lo(pPlayersPerm)($t4) /* 0BC560 7F0879F0 9185006B */ lbu $a1, 0x6b($t4) /* 0BC564 7F0879F4 0005682B */ sltu $t5, $zero, $a1 /* 0BC568 7F0879F8 01A02825 */ move $a1, $t5 @@ -27651,10 +27603,10 @@ glabel possibly_reset_viewport_options_for_player #ifdef NONMATCHING void sub_GAME_7F0875E4(s32 arg0) { // Node 0 - sub_GAME_7F0BCA34((pPlayer + 0x38)); - pPlayer->field_50 = (f32) (get_room_data_float1() * pPlayer->field_38); - pPlayer->field_54 = (f32) (get_room_data_float1() * pPlayer->field_3C); - pPlayer->field_58 = (f32) (get_room_data_float1() * pPlayer->field_40); + sub_GAME_7F0BCA34(pPlayer->current_model_xpos); + pPlayer->current_room_xpos = (f32) (get_room_data_float1() * pPlayer->current_model_xpos); + pPlayer->current_room_ypos = (f32) (get_room_data_float1() * pPlayer->current_model_ypos); + pPlayer->current_room_zpos = (f32) (get_room_data_float1() * pPlayer->current_model_zpos); return sub_GAME_7F0BC624(arg0); } #else @@ -27703,9 +27655,9 @@ glabel sub_GAME_7F0875E4 #ifdef NONMATCHING void store_BONDdata_curpos_to_previous(void) { // Node 0 - pPlayer->field_44 = (f32) pPlayer->field_38; - pPlayer->field_48 = (f32) pPlayer->field_3C; - pPlayer->field_4C = (f32) pPlayer->field_40; + pPlayer->previous_model_xpos = (f32) pPlayer->current_model_xpos; + pPlayer->previous_model_ypos = (f32) pPlayer->current_model_ypos; + pPlayer->previous_model_zpos = (f32) pPlayer->current_model_zpos; return sub_GAME_7F0583D8(get_BONDdata_field_10CC(), (pPlayer + 0x44)); } #else @@ -27775,11 +27727,11 @@ void sub_GAME_7F0876C4(void *arg0, void *arg1, void *arg2) { pPlayer->field_64 = sub_GAME_7F0BD6E0(); pPlayer->field_68 = sub_GAME_7F0BD6E0(); sp104 = sub_GAME_7F0BD6F8(2); - temp_f10 = ((*arg0 - pPlayer->field_38) * D_800364CC); + temp_f10 = ((*arg0 - pPlayer->current_model_xpos) * D_800364CC); spAC = temp_f10; - temp_f6 = ((arg0->unk4 - pPlayer->field_3C) * D_800364CC); + temp_f6 = ((arg0->unk4 - pPlayer->current_model_ypos) * D_800364CC); spB0 = temp_f6; - temp_f4 = ((arg0->unk8 - pPlayer->field_40) * D_800364CC); + temp_f4 = ((arg0->unk8 - pPlayer->current_model_zpos) * D_800364CC); spB4 = temp_f4; temp_f16 = (*arg1 + temp_f10); spB8 = temp_f16; @@ -28096,15 +28048,15 @@ s32 sub_GAME_7F087A08(s32 arg0) { if (*pPlayer == 1) { // Node 1 - sp74 = (f32) pPlayer->field_4; - sp78 = (f32) pPlayer->field_8; - sp7C = (f32) pPlayer->field_C; - sp68 = (f32) (pPlayer->field_10 - pPlayer->field_4); - sp6C = (f32) (pPlayer->field_14 - pPlayer->field_8); - sp70 = (f32) (pPlayer->field_18 - pPlayer->field_C); - sp5C = (f32) pPlayer->field_1C; - sp60 = (f32) pPlayer->field_20; - sp64 = (f32) pPlayer->field_24; + sp74 = (f32) pPlayer->xpos; + sp78 = (f32) pPlayer->ypos; + sp7C = (f32) pPlayer->zpos; + sp68 = (f32) (pPlayer->xpos2 - pPlayer->xpos); + sp6C = (f32) (pPlayer->ypos2 - pPlayer->ypos); + sp70 = (f32) (pPlayer->zpos2 - pPlayer->zpos); + sp5C = (f32) pPlayer->xoffset; + sp60 = (f32) pPlayer->yoffset; + sp64 = (f32) pPlayer->zoffset; } else { @@ -28115,7 +28067,7 @@ s32 sub_GAME_7F087A08(s32 arg0) { temp_a1 = (temp_v1 + 0x38); sp4C.unk4 = (?32) D_80036830.unk4; sp4C.unk8 = (?32) D_80036830.unk8; - if (pPlayer->field_D8 == 0) + if (pPlayer->bonddead == 0) { // Node 3 sp58 = temp_v1; @@ -29720,9 +29672,9 @@ s32 sub_GAME_7F088618(void *arg0) { void *temp_s0_11; // Node 0 - sub_GAME_7F0A2F30((pPlayer + 0x12b8), 0x2e, 1, pPlayer->field_F0); + sub_GAME_7F0A2F30((pPlayer + 0x12b8), 0x2e, 1, pPlayer->apparentarmour); sub_GAME_7F0A3330((pPlayer + 0x19f8), (pPlayer + 0x800012b8), 0x2e); - sub_GAME_7F0A2F30((pPlayer + 0x1598), 0x2e, -1, pPlayer->field_EC); + sub_GAME_7F0A2F30((pPlayer + 0x1598), 0x2e, -1, pPlayer->apparenthealth); sub_GAME_7F0A3330((pPlayer + 0x2128), (pPlayer + 0x80001598), 0x2e); spBC = sub_GAME_7F0BD6E0(); temp_ret = sub_GAME_7F0BD6E0(); @@ -31210,8 +31162,8 @@ glabel kill_current_player /* 0BE3A8 7F089878 0FC22FEE */ jal sub_GAME_7F08BFB8 /* 0BE3AC 7F08987C 00000000 */ nop /* 0BE3B0 7F089880 8E0C0000 */ lw $t4, ($s0) -/* 0BE3B4 7F089884 3C0F8008 */ lui $t7, %hi(cur_player_stat_ptr) -/* 0BE3B8 7F089888 8DEFA0B4 */ lw $t7, %lo(cur_player_stat_ptr)($t7) +/* 0BE3B4 7F089884 3C0F8008 */ lui $t7, %hi(pPlayersPerm) +/* 0BE3B8 7F089888 8DEFA0B4 */ lw $t7, %lo(pPlayersPerm)($t7) /* 0BE3BC 7F08988C 8D8D29F4 */ lw $t5, 0x29f4($t4) /* 0BE3C0 7F089890 8DF80050 */ lw $t8, 0x50($t7) /* 0BE3C4 7F089894 004D7023 */ subu $t6, $v0, $t5 @@ -31221,8 +31173,8 @@ glabel kill_current_player /* 0BE3D4 7F0898A4 0FC22FEE */ jal sub_GAME_7F08BFB8 /* 0BE3D8 7F0898A8 00000000 */ nop /* 0BE3DC 7F0898AC 8E190000 */ lw $t9, ($s0) -/* 0BE3E0 7F0898B0 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr) -/* 0BE3E4 7F0898B4 8D4AA0B4 */ lw $t2, %lo(cur_player_stat_ptr)($t2) +/* 0BE3E0 7F0898B0 3C0A8008 */ lui $t2, %hi(pPlayersPerm) +/* 0BE3E4 7F0898B4 8D4AA0B4 */ lw $t2, %lo(pPlayersPerm)($t2) /* 0BE3E8 7F0898B8 8F2829F4 */ lw $t0, 0x29f4($t9) /* 0BE3EC 7F0898BC 00484823 */ subu $t1, $v0, $t0 /* 0BE3F0 7F0898C0 AD490050 */ sw $t1, 0x50($t2) @@ -31285,8 +31237,8 @@ glabel pi_800552B0 .text glabel record_damage_kills /* 0BE44C 7F08991C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BE450 7F089920 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 0BE454 7F089924 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 0BE450 7F089920 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 0BE454 7F089924 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 0BE458 7F089928 AFBF0014 */ sw $ra, 0x14($sp) /* 0BE45C 7F08992C E7AE0044 */ swc1 $f14, 0x44($sp) /* 0BE460 7F089930 AFA60048 */ sw $a2, 0x48($sp) @@ -31549,7 +31501,7 @@ glabel record_damage_kills /* 0BE838 7F089D08 24010003 */ li $at, 3 /* 0BE83C 7F089D0C 54410007 */ bnel $v0, $at, .L7F089D2C /* 0BE840 7F089D10 8FA8002C */ lw $t0, 0x2c($sp) -/* 0BE844 7F089D14 0FC233F0 */ jal sub_GAME_7F08CFC0 +/* 0BE844 7F089D14 0FC233F0 */ jal checkforgoldengun /* 0BE848 7F089D18 00000000 */ nop /* 0BE84C 7F089D1C 10400002 */ beqz $v0, .L7F089D28 /* 0BE850 7F089D20 24190001 */ li $t9, 1 @@ -31649,8 +31601,8 @@ glabel pi_800552B0 .text glabel record_damage_kills /* 0BEB60 7F089FF0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BEB64 7F089FF4 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) # $t6, 0x8008 -/* 0BEB68 7F089FF8 8DCEA124 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 0BEB64 7F089FF4 3C0E8008 */ lui $t6, %hi(pPlayersPerm) # $t6, 0x8008 +/* 0BEB68 7F089FF8 8DCEA124 */ lw $t6, %lo(pPlayersPerm)($t6) /* 0BEB6C 7F089FFC AFBF0014 */ sw $ra, 0x14($sp) /* 0BEB70 7F08A000 E7AE0044 */ swc1 $f14, 0x44($sp) /* 0BEB74 7F08A004 AFA60048 */ sw $a2, 0x48($sp) @@ -31920,7 +31872,7 @@ glabel record_damage_kills /* 0BEF68 7F08A3F8 24010003 */ li $at, 3 /* 0BEF6C 7F08A3FC 14410006 */ bne $v0, $at, .Ljp7F08A418 /* 0BEF70 7F08A400 00000000 */ nop -/* 0BEF74 7F08A404 0FC23649 */ jal sub_GAME_7F08CFC0 +/* 0BEF74 7F08A404 0FC23649 */ jal checkforgoldengun /* 0BEF78 7F08A408 00000000 */ nop /* 0BEF7C 7F08A40C 10400002 */ beqz $v0, .Ljp7F08A418 /* 0BEF80 7F08A410 240F0001 */ li $t7, 1 @@ -32126,13 +32078,13 @@ glabel check_if_healthbar_timer_greater_than_0 #ifdef NONMATCHING -void get_BONDdata_field19C(void) { +void get_BONDdata_bondfadefracnew(void) { } #else GLOBAL_ASM( .text -glabel get_BONDdata_field19C +glabel get_BONDdata_bondfadefracnew /* 0BEA04 7F089ED4 3C0E8008 */ lui $t6, %hi(pPlayer) /* 0BEA08 7F089ED8 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) /* 0BEA0C 7F089EDC 03E00008 */ jr $ra @@ -32644,8 +32596,8 @@ void add_BONDdata_watch_armor(void) { GLOBAL_ASM( .text glabel add_BONDdata_watch_armor -/* 0BEE3C 7F08A30C 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 0BEE40 7F08A310 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 0BEE3C 7F08A30C 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 0BEE40 7F08A310 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 0BEE44 7F08A314 3C0E8008 */ lui $t6, %hi(pPlayer) /* 0BEE48 7F08A318 C4440040 */ lwc1 $f4, 0x40($v0) /* 0BEE4C 7F08A31C 460C2180 */ add.s $f6, $f4, $f12 @@ -32972,7 +32924,7 @@ glabel display_string_in_lower_left_corner #endif #ifdef VERSION_JP -void jp_FUN_7f08ac40(char *string) +void jp_display_string_in_lower_left_corner(char *string) { display_string_in_lower_left_corner(string,ptrSecondFontTableSmall,ptrFirstFontTableSmall); } diff --git a/src/game/bond.h b/src/game/bond.h index d9c17e6d..9c41c1be 100644 --- a/src/game/bond.h +++ b/src/game/bond.h @@ -1,7 +1,9 @@ #ifndef _BOND_H_ #define _BOND_H_ + #include "ultra64.h" #include "game/chr.h" + struct xyzpoint { f32 x; @@ -9,7 +11,7 @@ struct xyzpoint f32 z; }; -struct Player +typedef struct Player { s32 unknown; s32 xpos; @@ -526,8 +528,7 @@ struct Player s16 viewtop; s32 right_invisible; s32 left_invisible; - s32 item_right; - s32 item_left; + s32 handitem[2]; s32 ptr_right_weapon_buffer; s32 ptr_left_weapon_buffer; s32 copy_of_body_obj_header[8]; @@ -2684,7 +2685,7 @@ struct Player s32 deathcount; s32 num_suicides; s32 field_29E0; - s32 field_29E4; + s32 last_kill_time; s32 field_29E8; s32 field_29EC; s32 field_29F0; @@ -2705,7 +2706,7 @@ struct Player s32 field_2A2C; s32 field_2A30; s32 field_2A34; - s32 field_2A38; + s32 cur_item_weapon_getname; s32 actual_health; s32 actual_armor; s32 field_2A44; @@ -2717,13 +2718,13 @@ struct Player s32 cur_player_control_type_1; f32 cur_player_control_type_2; s32 neg_vspacing_for_control_type_entry; - s32 has_set_control_type_data; + u32 has_set_control_type_data; s32 field_2A6C; s32 field_2A70; s32 field_2A74; s32 field_2A78; s32 field_2A7C; -}; +} Player; struct firing_anim_struct { struct weapon_firing_animation_table * pointer; diff --git a/src/game/bond2.c b/src/game/bond2.c index 65f589a3..3d6ddd64 100644 --- a/src/game/bond2.c +++ b/src/game/bond2.c @@ -2104,13 +2104,13 @@ glabel sub_GAME_7F08CF80 #ifdef NONMATCHING -void sub_GAME_7F08CFC0(void) { +void checkforgoldengun(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F08CFC0 +glabel checkforgoldengun /* 0C1AF0 7F08CFC0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0C1AF4 7F08CFC4 AFBF0014 */ sw $ra, 0x14($sp) /* 0C1AF8 7F08CFC8 0FC230C5 */ jal is_weapon_in_inv diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index d623540f..b83b134b 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -1,7 +1,10 @@ #include "ultra64.h" #include "game/bondwalk.h" #include "game/chrobjdata.h" + #include "bondgame.h" +#include "game/bond.h" +#include "game/unk_093880.h" // bss s32 dword_CODE_bss_80075DB0; @@ -36,9 +39,7 @@ u32 D_80032454 = 0; u32 D_80032458 = 0; //D:8003245C -u32 size_right_item_buffer = 0x14820; -//D:80032460 -u32 size_left_item_buffer = 0x14820; +u32 size_item_buffer[] = {0x14820, 0x14820}; //D:80032464 u32 D_80032464[] ={0x7530, 0x7530}; @@ -64,6 +65,17 @@ struct ejected_cart ejected_cartridge[] = { #define SCALEVAL_RUGER 0.80000001 #define SCALEVAL_LAUNCHER 0.80000001 #endif +#ifdef VERSION_EU +//!FIXME temp copy of us data +#define SCALEVAL1 0.80000001 +#define SCALEVAL_KNIFE 0.80000001 +#define SCALEVAL_SKORPIAN 0.80000001 +#define SCALEVAL_AK47 0.80000001 +#define SCALEVAL_UZI 0.80000001 +#define SCALEVAL_P90 0.80000001 +#define SCALEVAL_RUGER 0.80000001 +#define SCALEVAL_LAUNCHER 0.80000001 +#endif #ifdef VERSION_JP #define SCALEVAL1 0.8812 #define SCALEVAL_KNIFE 0.8228 @@ -75,7 +87,7 @@ struct ejected_cart ejected_cartridge[] = { #define SCALEVAL_LAUNCHER 0.9048 #endif //D:80032494 -struct weapon_stats stru_D_80032494 = { +struct weapon_stats default_weaponstats = { 1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 4.0, 0.0, 0x110 }; //D:80032504 @@ -1198,7 +1210,7 @@ struct weapon_stats *get_ptr_item_statistics(int item) { if (gitem_structs[item].has_no_model == 0) { /* weapon has model, return stats struct */ return gitem_structs[item].item_weapon_stats; } - return &stru_D_80032494; /* no model, return defaults */ + return &default_weaponstats; /* no model, return defaults */ } @@ -1673,12 +1685,13 @@ glabel sub_GAME_7F05CEBC - - #ifdef NONMATCHING -void get_itemtype_in_hand(void) { +s32 get_itemtype_in_hand(int hand) +{ + return pPlayer->handitem[hand]; } + #else GLOBAL_ASM( .text @@ -1718,13 +1731,13 @@ glabel get_ptr_itemheader_in_hand #ifdef NONMATCHING -void sub_GAME_7F05CF30(void) { +void getPlayerWeaponBufferForHand(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F05CF30 +glabel getPlayerWeaponBufferForHand /* 091A60 7F05CF30 3C0E8008 */ lui $t6, %hi(pPlayer) /* 091A64 7F05CF34 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) /* 091A68 7F05CF38 00047880 */ sll $t7, $a0, 2 @@ -1736,25 +1749,10 @@ glabel sub_GAME_7F05CF30 - - -#ifdef NONMATCHING -void sub_GAME_7F05CF48(void) { - +u32 getSizeBufferWeaponInHand(int hand) +{ + return size_item_buffer[hand]; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05CF48 -/* 091A78 7F05CF48 00047080 */ sll $t6, $a0, 2 -/* 091A7C 7F05CF4C 3C028003 */ lui $v0, %hi(size_right_item_buffer) -/* 091A80 7F05CF50 004E1021 */ addu $v0, $v0, $t6 -/* 091A84 7F05CF54 03E00008 */ jr $ra -/* 091A88 7F05CF58 8C42245C */ lw $v0, %lo(size_right_item_buffer)($v0) -) -#endif - - @@ -1896,13 +1894,14 @@ glabel get_ptr_weapon_model_header_line #ifdef NONMATCHING -void sub_GAME_7F05D078(void) { - +int getCurrentWeaponOrItem(void) +{ + return pPlayer->cur_item_weapon_getname; } #else GLOBAL_ASM( .text -glabel sub_GAME_7F05D078 +glabel getCurrentWeaponOrItem /* 091BA8 7F05D078 3C0E8008 */ lui $t6, %hi(pPlayer) /* 091BAC 7F05D07C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) /* 091BB0 7F05D080 03E00008 */ jr $ra @@ -1958,10 +1957,10 @@ glabel used_to_load_1st_person_model_on_demand /* 091C38 7F05D108 8FA20038 */ lw $v0, 0x38($sp) /* 091C3C 7F05D10C 50400076 */ beql $v0, $zero, .L7F05D2E8 /* 091C40 7F05D110 8FA20038 */ lw $v0, 0x38($sp) -/* 091C44 7F05D114 0FC173CC */ jal sub_GAME_7F05CF30 +/* 091C44 7F05D114 0FC173CC */ jal getPlayerWeaponBufferForHand /* 091C48 7F05D118 8FA40050 */ lw $a0, 0x50($sp) /* 091C4C 7F05D11C AFA20040 */ sw $v0, 0x40($sp) -/* 091C50 7F05D120 0FC173D2 */ jal sub_GAME_7F05CF48 +/* 091C50 7F05D120 0FC173D2 */ jal getSizeBufferWeaponInHand /* 091C54 7F05D124 8FA40050 */ lw $a0, 0x50($sp) /* 091C58 7F05D128 8FAE0044 */ lw $t6, 0x44($sp) /* 091C5C 7F05D12C 8FAA0050 */ lw $t2, 0x50($sp) @@ -2420,8 +2419,11 @@ glabel sub_GAME_7F05D650 #ifdef NONMATCHING -void sub_GAME_7F05D690(void) { - +void proc_7F05D690(void) +{ + draw_item_in_hand_has_more_ammo(0,pPlayer->previous_right_weapon); + draw_item_in_hand_has_more_ammo(1,pPlayer->left_weapon_previous); + return; } #else GLOBAL_ASM( @@ -2451,8 +2453,24 @@ glabel sub_GAME_7F05D690 #ifdef NONMATCHING -void advance_through_inventory(void) { +void advance_through_inventory(void) +{ + ITEM_IDS nextleft; + ITEM_IDS nextright; + + nextright = get_next_weapon_in_cycle_for_hand(0,1); + nextleft = get_next_weapon_in_cycle_for_hand(1,1); + if (((int)nextright < 0x21) && ((int)nextleft < 0x21)) { + proc_7F08C86C((int *)&nextright,(int *)&nextleft,0); + } + else { + nextright = pPlayer->previous_right_weapon; + nextleft = pPlayer->left_weapon_previous; + } + likely_change_weapon_in_hand(0,nextright,1); + likely_change_weapon_in_hand(1,nextleft,1); + return; } #else GLOBAL_ASM( @@ -3591,7 +3609,7 @@ glabel sub_GAME_7F05E0E4 /* 092D04 7F05E1D4 4481A000 */ mtc1 $at, $f20 /* 092D08 7F05E1D8 E7000FC0 */ swc1 $f0, 0xfc0($t8) .L7F05E1DC: -/* 092D0C 7F05E1DC 0FC227B5 */ jal get_BONDdata_field19C +/* 092D0C 7F05E1DC 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 092D10 7F05E1E0 E7B00050 */ swc1 $f16, 0x50($sp) /* 092D14 7F05E1E4 3C018005 */ lui $at, %hi(D_80053C54) /* 092D18 7F05E1E8 C4283C54 */ lwc1 $f8, %lo(D_80053C54)($at) @@ -3603,7 +3621,7 @@ glabel sub_GAME_7F05E0E4 /* 092D30 7F05E200 00000000 */ nop /* 092D34 7F05E204 4502000C */ bc1fl .L7F05E238 /* 092D38 7F05E208 3C013F00 */ lui $at, 0x3f00 -/* 092D3C 7F05E20C 0FC227B5 */ jal get_BONDdata_field19C +/* 092D3C 7F05E20C 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 092D40 7F05E210 E7B00050 */ swc1 $f16, 0x50($sp) /* 092D44 7F05E214 3C018005 */ lui $at, %hi(D_80053C58) /* 092D48 7F05E218 C4323C58 */ lwc1 $f18, %lo(D_80053C58)($at) @@ -4675,7 +4693,7 @@ glabel sub_GAME_7F05EE24 /* 093A80 7F05EF50 C44A0B0C */ lwc1 $f10, 0xb0c($v0) /* 093A84 7F05EF54 E7AA00E4 */ swc1 $f10, 0xe4($sp) /* 093A88 7F05EF58 C4520B10 */ lwc1 $f18, 0xb10($v0) -/* 093A8C 7F05EF5C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 093A8C 7F05EF5C 0FC15FF4 */ jal reset_array_of_0x10_floats /* 093A90 7F05EF60 E7B200E8 */ swc1 $f18, 0xe8($sp) /* 093A94 7F05EF64 3C198008 */ lui $t9, %hi(pPlayer) /* 093A98 7F05EF68 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9) @@ -5149,7 +5167,7 @@ glabel generate_player_thrown_object /* 093FDC 7F05F4AC E7B200E4 */ swc1 $f18, 0xe4($sp) /* 093FE0 7F05F4B0 C4460B10 */ lwc1 $f6, 0xb10($v0) /* 093FE4 7F05F4B4 AFAF002C */ sw $t7, 0x2c($sp) -/* 093FE8 7F05F4B8 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 093FE8 7F05F4B8 0FC15FF4 */ jal reset_array_of_0x10_floats /* 093FEC 7F05F4BC E7A600E8 */ swc1 $f6, 0xe8($sp) /* 093FF0 7F05F4C0 3C198008 */ lui $t9, %hi(pPlayer) /* 093FF4 7F05F4C4 8FA3002C */ lw $v1, 0x2c($sp) @@ -5378,7 +5396,7 @@ glabel sub_GAME_7F05F73C /* 0942B0 7F05F780 0FC2280B */ jal get_BONDdata_field408 /* 0942B4 7F05F784 AFA20034 */ sw $v0, 0x34($sp) /* 0942B8 7F05F788 AFA20030 */ sw $v0, 0x30($sp) -/* 0942BC 7F05F78C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0942BC 7F05F78C 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0942C0 7F05F790 27A400A0 */ addiu $a0, $sp, 0xa0 /* 0942C4 7F05F794 27A40044 */ addiu $a0, $sp, 0x44 /* 0942C8 7F05F798 27A50038 */ addiu $a1, $sp, 0x38 @@ -5719,7 +5737,7 @@ glabel sub_GAME_7F05FB64 /* 0946E4 7F05FBB4 0FC17674 */ jal get_item_in_hand /* 0946E8 7F05FBB8 8FA40108 */ lw $a0, 0x108($sp) /* 0946EC 7F05FBBC AFA20040 */ sw $v0, 0x40($sp) -/* 0946F0 7F05FBC0 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0946F0 7F05FBC0 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0946F4 7F05FBC4 27A400C0 */ addiu $a0, $sp, 0xc0 /* 0946F8 7F05FBC8 8FA80040 */ lw $t0, 0x40($sp) /* 0946FC 7F05FBCC 24010020 */ li $at, 32 @@ -6712,7 +6730,7 @@ glabel handles_firing_or_throwing_weapon_in_hand .L7F060950: /* 095480 7F060950 0FC17185 */ jal sub_GAME_7F05C614 /* 095484 7F060954 00000000 */ nop -/* 095488 7F060958 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 095488 7F060958 0FC15FF4 */ jal reset_array_of_0x10_floats /* 09548C 7F06095C 27A40154 */ addiu $a0, $sp, 0x154 /* 095490 7F060960 8FA200FC */ lw $v0, 0xfc($sp) /* 095494 7F060964 2401001E */ li $at, 30 @@ -6954,7 +6972,7 @@ glabel handles_firing_or_throwing_weapon_in_hand /* 095818 7F060CE8 00402025 */ move $a0, $v0 /* 09581C 7F060CEC AFA30100 */ sw $v1, 0x100($sp) .L7F060CF0: -/* 095820 7F060CF0 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 095820 7F060CF0 0FC15FF4 */ jal reset_array_of_0x10_floats /* 095824 7F060CF4 AFA40044 */ sw $a0, 0x44($sp) /* 095828 7F060CF8 8FAE01A0 */ lw $t6, 0x1a0($sp) /* 09582C 7F060CFC 8FA30100 */ lw $v1, 0x100($sp) @@ -8496,7 +8514,7 @@ glabel handles_firing_or_throwing_weapon_in_hand .Ljp7F060E70: /* 0959E0 7F060E70 0FC172CD */ jal sub_GAME_7F05C614 /* 0959E4 7F060E74 00000000 */ nop -/* 0959E8 7F060E78 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0959E8 7F060E78 0FC1613C */ jal reset_array_of_0x10_floats /* 0959EC 7F060E7C 27A40154 */ addiu $a0, $sp, 0x154 /* 0959F0 7F060E80 8FA200FC */ lw $v0, 0xfc($sp) /* 0959F4 7F060E84 2401001E */ li $at, 30 @@ -8738,7 +8756,7 @@ glabel handles_firing_or_throwing_weapon_in_hand /* 095D78 7F061208 00402025 */ move $a0, $v0 /* 095D7C 7F06120C AFA30100 */ sw $v1, 0x100($sp) .Ljp7F061210: -/* 095D80 7F061210 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 095D80 7F061210 0FC1613C */ jal reset_array_of_0x10_floats /* 095D84 7F061214 AFA40044 */ sw $a0, 0x44($sp) /* 095D88 7F061218 8FAE01A0 */ lw $t6, 0x1a0($sp) /* 095D8C 7F06121C 8FA30100 */ lw $v1, 0x100($sp) @@ -10945,8 +10963,8 @@ glabel sub_GAME_7F062B00 /* 097648 7F062B18 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) /* 09764C 7F062B1C 29E10003 */ slti $at, $t7, 3 /* 097650 7F062B20 10200008 */ beqz $at, .L7F062B44 -/* 097654 7F062B24 3C018005 */ lui $at, %hi(D_jpunk) -/* 097658 7F062B28 C4268378 */ lwc1 $f6, %lo(D_jpunk)($at) +/* 097654 7F062B24 3C018005 */ lui $at, %hi(jp_global_timer_delta) +/* 097658 7F062B28 C4268378 */ lwc1 $f6, %lo(jp_global_timer_delta)($at) /* 09765C 7F062B2C C4840020 */ lwc1 $f4, 0x20($a0) /* 097660 7F062B30 C48A0028 */ lwc1 $f10, 0x28($a0) /* 097664 7F062B34 46062202 */ mul.s $f8, $f4, $f6 @@ -11376,7 +11394,7 @@ glabel set_enviro_fog_for_items_in_solo_watch_menu /* 097C24 7F0630F4 19400009 */ blez $t2, .L7F06311C /* 097C28 7F0630F8 00115980 */ sll $t3, $s1, 6 .L7F0630FC: -/* 097C2C 7F0630FC 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 097C2C 7F0630FC 0FC15FF4 */ jal reset_array_of_0x10_floats /* 097C30 7F063100 01702021 */ addu $a0, $t3, $s0 /* 097C34 7F063104 864C000E */ lh $t4, 0xe($s2) /* 097C38 7F063108 26310001 */ addiu $s1, $s1, 1 @@ -12047,9 +12065,9 @@ glabel sub_GAME_7F06359C /* 098484 7F063954 E7A20018 */ swc1 $f2, 0x18($sp) /* 098488 7F063958 0FC165A5 */ jal sub_GAME_7F059694 /* 09848C 7F06395C E7B20024 */ swc1 $f18, 0x24($sp) -/* 098490 7F063960 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 098490 7F063960 0FC15FF4 */ jal reset_array_of_0x10_floats /* 098494 7F063964 02602025 */ move $a0, $s3 -/* 098498 7F063968 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 098498 7F063968 0FC15FF4 */ jal reset_array_of_0x10_floats /* 09849C 7F06396C 02C02025 */ move $a0, $s6 /* 0984A0 7F063970 02C02025 */ move $a0, $s6 /* 0984A4 7F063974 0FC16008 */ jal sub_GAME_7F058020 @@ -12499,7 +12517,7 @@ glabel sub_GAME_7F06359C /* 098B50 7F064020 8FC80068 */ lw $t0, 0x68($fp) /* 098B54 7F064024 AF080004 */ sw $t0, 4($t8) /* 098B58 7F064028 8FC1006C */ lw $at, 0x6c($fp) -/* 098B5C 7F06402C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 098B5C 7F06402C 0FC15FF4 */ jal reset_array_of_0x10_floats /* 098B60 7F064030 AF010008 */ sw $at, 8($t8) /* 098B64 7F064034 82840000 */ lb $a0, ($s4) /* 098B68 7F064038 0C0030C3 */ jal get_controller_buttons_held @@ -19574,7 +19592,7 @@ glabel sub_GAME_7F066E64 /* 09B9A8 7F066E78 00000000 */ nop /* 09B9AC 7F066E7C 0FC30776 */ jal get_textptr_for_textID /* 09B9B0 7F066E80 340498D8 */ li $a0, 39128 -/* 09B9B4 7F066E84 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 09B9B4 7F066E84 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 09B9B8 7F066E88 00402025 */ move $a0, $v0 /* 09B9BC 7F066E8C 3C0F8008 */ lui $t7, %hi(pPlayer) /* 09B9C0 7F066E90 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) @@ -19596,7 +19614,7 @@ glabel sub_GAME_7F066E64 .L7F066ED0: /* 09BA00 7F066ED0 0FC30776 */ jal get_textptr_for_textID /* 09BA04 7F066ED4 340498D9 */ li $a0, 39129 -/* 09BA08 7F066ED8 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 09BA08 7F066ED8 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 09BA0C 7F066EDC 00402025 */ move $a0, $v0 /* 09BA10 7F066EE0 0FC175A4 */ jal sub_GAME_7F05D690 /* 09BA14 7F066EE4 00000000 */ nop @@ -25253,7 +25271,7 @@ void inc_curplayer_hitcount_with_weapon(s32 arg1) { if (temp_ret != 0) { // Node 1 - temp_v0 = (cur_player_stat_ptr + (arg1 * 4)); + temp_v0 = (pPlayersPerm + (arg1 * 4)); *temp_v0 = (s32) (*temp_v0 + 1); } // Node 2 @@ -25269,9 +25287,9 @@ glabel inc_curplayer_hitcount_with_weapon /* 09F234 7F06A704 0FC1782D */ jal check_special_attributes /* 09F238 7F06A708 3C050001 */ lui $a1, 1 /* 09F23C 7F06A70C 10400008 */ beqz $v0, .L7F06A730 -/* 09F240 7F06A710 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) +/* 09F240 7F06A710 3C0E8008 */ lui $t6, %hi(pPlayersPerm) /* 09F244 7F06A714 8FAF001C */ lw $t7, 0x1c($sp) -/* 09F248 7F06A718 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 09F248 7F06A718 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 09F24C 7F06A71C 000FC080 */ sll $t8, $t7, 2 /* 09F250 7F06A720 01D81021 */ addu $v0, $t6, $t8 /* 09F254 7F06A724 8C590000 */ lw $t9, ($v0) @@ -25292,14 +25310,14 @@ glabel inc_curplayer_hitcount_with_weapon #ifdef NONMATCHING void get_curplayer_shot_register(s32 arg0) { // Node 0 - return *(cur_player_stat_ptr + (arg0 * 4)); + return *(pPlayersPerm + (arg0 * 4)); } #else GLOBAL_ASM( .text glabel get_curplayer_shot_register -/* 09F270 7F06A740 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 09F274 7F06A744 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 09F270 7F06A740 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 09F274 7F06A744 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 09F278 7F06A748 00047880 */ sll $t7, $a0, 2 /* 09F27C 7F06A74C 01CFC021 */ addu $t8, $t6, $t7 /* 09F280 7F06A750 03E00008 */ jr $ra @@ -25312,18 +25330,17 @@ glabel get_curplayer_shot_register #ifdef NONMATCHING -void *inc_cur_civilian_casualties(void) { - // Node 0 - cur_player_stat_ptr->unk6C = (s32) (cur_player_stat_ptr->unk6C + 1); - return cur_player_stat_ptr; -} +void inc_cur_civilian_casualties(void) +{ + pPlayersPerm->killed_civilians++ +} #else GLOBAL_ASM( .text glabel inc_cur_civilian_casualties -/* 09F288 7F06A758 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 09F28C 7F06A75C 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 09F288 7F06A758 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 09F28C 7F06A75C 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 09F290 7F06A760 8C4E006C */ lw $t6, 0x6c($v0) /* 09F294 7F06A764 25CF0001 */ addiu $t7, $t6, 1 /* 09F298 7F06A768 03E00008 */ jr $ra @@ -25336,16 +25353,16 @@ glabel inc_cur_civilian_casualties #ifdef NONMATCHING -void get_civilian_casualties(void) { - // Node 0 - return cur_player_stat_ptr->unk6C; +int get_civilian_casualties(void) +{ + return pPlayersPerm->killed_civilians; } #else GLOBAL_ASM( .text glabel get_civilian_casualties -/* 09F2A0 7F06A770 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 09F2A4 7F06A774 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 09F2A0 7F06A770 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 09F2A4 7F06A774 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 09F2A8 7F06A778 03E00008 */ jr $ra /* 09F2AC 7F06A77C 8DC2006C */ lw $v0, 0x6c($t6) ) @@ -25366,43 +25383,43 @@ void *increment_num_kills_display_text_in_MP(void) { void *phi_return_reg; // Node 0 - cur_player_stat_ptr->unk1C = (s32) (cur_player_stat_ptr->unk1C + 1); - pPlayer->unk29F8 = (s32) (pPlayer->unk29F8 + 1); + pPlayersPerm->killcount = (s32) (pPlayersPerm->killcount + 1); + pPlayer->field_29F8 = (s32) (pPlayer->field_29F8 + 1); temp_ret = get_num_players(); phi_return_reg = temp_ret; if (temp_ret >= 2) { // Node 1 sp34 = sub_GAME_7F08BFB8(); - sprintf(&sp40, &aSD, get_textptr_for_textID(0x98da), cur_player_stat_ptr->unk1C); + sprintf(&sp40, &aSD, get_textptr_for_textID(0x98da), pPlayersPerm->killcount); display_string_in_lower_left_corner(&sp40); - if (cur_player_stat_ptr->unk1C >= 2) + if (pPlayersPerm->killcount >= 2) { // Node 2 - temp_v0 = (sp34 - pPlayer->unk29E4); - if (cur_player_stat_ptr->unk48 < temp_v0) + temp_v0 = (sp34 - pPlayer->last_kill_time); + if (pPlayersPerm->slowest2kills < temp_v0) { // Node 3 - cur_player_stat_ptr->unk48 = temp_v0; + pPlayersPerm->slowest2kills = temp_v0; } // Node 4 - if (temp_v0 < cur_player_stat_ptr->unk44) + if (temp_v0 < pPlayersPerm->fastest2kills) { // Node 5 - cur_player_stat_ptr->unk44 = temp_v0; + pPlayersPerm->fastest2kills = temp_v0; } } // Node 6 pPlayer->unk29F0 = (s32) pPlayer->unk29EC; pPlayer->unk29EC = (s32) pPlayer->unk29E8; - pPlayer->unk29E8 = (s32) pPlayer->unk29E4; - pPlayer->unk29E4 = sp34; + pPlayer->unk29E8 = (s32) pPlayer->last_kill_time; + pPlayer->last_kill_time = sp34; phi_a0 = 1; if (-1 != pPlayer->unk29E8) { // Node 7 phi_a0 = 1; - if ((pPlayer->unk29E4 - pPlayer->unk29E8) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29E8) < 0x78) { // Node 8 phi_a0 = 2; @@ -25410,7 +25427,7 @@ void *increment_num_kills_display_text_in_MP(void) { { // Node 9 phi_a0 = 2; - if ((pPlayer->unk29E4 - pPlayer->unk29EC) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78) { // Node 10 temp_a0 = (2 + 1); @@ -25419,7 +25436,7 @@ void *increment_num_kills_display_text_in_MP(void) { { // Node 11 phi_a0 = temp_a0; - if ((pPlayer->unk29E4 - pPlayer->unk29F0) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78) { // Node 12 phi_a0 = (temp_a0 + 1); @@ -25431,10 +25448,10 @@ void *increment_num_kills_display_text_in_MP(void) { } // Node 13 phi_return_reg = pPlayer; - if (cur_player_stat_ptr->unk58 < phi_a0) + if (pPlayersPerm->most_killed_one_time < phi_a0) { // Node 14 - cur_player_stat_ptr->unk58 = (s32) phi_a0; + pPlayersPerm->most_killed_one_time = (s32) phi_a0; phi_return_reg = pPlayer; } } @@ -25446,8 +25463,8 @@ void *increment_num_kills_display_text_in_MP(void) { GLOBAL_ASM( .text glabel increment_num_kills_display_text_in_MP -/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F2B8 7F06A788 27BDFEC0 */ addiu $sp, $sp, -0x140 /* 09F2BC 7F06A78C AFBF001C */ sw $ra, 0x1c($sp) /* 09F2C0 7F06A790 AFB00018 */ sw $s0, 0x18($sp) @@ -25469,8 +25486,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F300 7F06A7D0 AFA20034 */ sw $v0, 0x34($sp) /* 09F304 7F06A7D4 0FC30776 */ jal get_textptr_for_textID /* 09F308 7F06A7D8 340498DA */ li $a0, 39130 -/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(cur_player_stat_ptr) -/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0) +/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(pPlayersPerm) +/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0) /* 09F314 7F06A7E4 3C058005 */ lui $a1, %hi(aSD) /* 09F318 7F06A7E8 24A53BF8 */ addiu $a1, %lo(aSD) # addiu $a1, $a1, 0x3bf8 /* 09F31C 7F06A7EC 27A40040 */ addiu $a0, $sp, 0x40 @@ -25479,8 +25496,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F328 7F06A7F8 8D07001C */ lw $a3, 0x1c($t0) /* 09F32C 7F06A7FC 0FC228F2 */ jal display_string_in_lower_left_corner /* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F33C 7F06A80C 8C69001C */ lw $t1, 0x1c($v1) /* 09F340 7F06A810 29210002 */ slti $at, $t1, 2 /* 09F344 7F06A814 54200012 */ bnezl $at, .L7F06A860 @@ -25494,8 +25511,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F364 7F06A834 50200005 */ beql $at, $zero, .L7F06A84C /* 09F368 7F06A838 8C6E0044 */ lw $t6, 0x44($v1) /* 09F36C 7F06A83C AC620048 */ sw $v0, 0x48($v1) -/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1) .L7F06A84C: /* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6 @@ -25542,8 +25559,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F41C 7F06A8EC 00000000 */ nop /* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1 .L7F06A8F4: -/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F42C 7F06A8FC 8C6D0058 */ lw $t5, 0x58($v1) /* 09F430 7F06A900 01A4082A */ slt $at, $t5, $a0 /* 09F434 7F06A904 50200003 */ beql $at, $zero, .L7F06A914 @@ -25561,8 +25578,8 @@ glabel increment_num_kills_display_text_in_MP GLOBAL_ASM( .text glabel increment_num_kills_display_text_in_MP -/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F2B8 7F06A788 27BDFEC0 */ addiu $sp, $sp, -0x140 /* 09F2BC 7F06A78C AFBF001C */ sw $ra, 0x1c($sp) /* 09F2C0 7F06A790 AFB00018 */ sw $s0, 0x18($sp) @@ -25584,18 +25601,18 @@ glabel increment_num_kills_display_text_in_MP /* 09F300 7F06A7D0 AFA20034 */ sw $v0, 0x34($sp) /* 09F304 7F06A7D4 0FC30776 */ jal get_textptr_for_textID /* 09F308 7F06A7D8 340498DA */ li $a0, 39130 -/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(cur_player_stat_ptr) -/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0) +/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(pPlayersPerm) +/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0) /* 09F314 7F06A7E4 3C058005 */ lui $a1, %hi(aSD) /* 09F318 7F06A7E8 24A53BF8 */ addiu $a1, %lo(aSD) # addiu $a1, $a1, 0x3bf8 /* 09F31C 7F06A7EC 27A40040 */ addiu $a0, $sp, 0x40 /* 09F320 7F06A7F0 00403025 */ move $a2, $v0 /* 09F324 7F06A7F4 0C002B25 */ jal sprintf /* 09F328 7F06A7F8 8D07001C */ lw $a3, 0x1c($t0) -/* 09F32C 7F06A7FC 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 09F32C 7F06A7FC 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F33C 7F06A80C 8C69001C */ lw $t1, 0x1c($v1) /* 09F340 7F06A810 29210002 */ slti $at, $t1, 2 /* 09F344 7F06A814 54200012 */ bnezl $at, .L7F06A860 @@ -25609,8 +25626,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F364 7F06A834 50200005 */ beql $at, $zero, .L7F06A84C /* 09F368 7F06A838 8C6E0044 */ lw $t6, 0x44($v1) /* 09F36C 7F06A83C AC620048 */ sw $v0, 0x48($v1) -/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1) .L7F06A84C: /* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6 @@ -25657,8 +25674,8 @@ glabel increment_num_kills_display_text_in_MP /* 09F41C 7F06A8EC 00000000 */ nop /* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1 .L7F06A8F4: -/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1) +/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1) /* 09F42C 7F06A8FC 8C6D0058 */ lw $t5, 0x58($v1) /* 09F430 7F06A900 01A4082A */ slt $at, $t5, $a0 /* 09F434 7F06A904 50200003 */ beql $at, $zero, .L7F06A914 @@ -25680,15 +25697,15 @@ glabel increment_num_kills_display_text_in_MP #ifdef NONMATCHING void get_curplay_killcount(void) { // Node 0 - return cur_player_stat_ptr->unk1C; + return pPlayersPerm->killcount; } #else GLOBAL_ASM( .text glabel get_curplay_killcount -/* 09F454 7F06A924 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 09F458 7F06A928 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 09F454 7F06A924 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 09F458 7F06A928 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 09F45C 7F06A92C 03E00008 */ jr $ra /* 09F460 7F06A930 8DC2001C */ lw $v0, 0x1c($t6) ) @@ -25699,17 +25716,16 @@ glabel get_curplay_killcount #ifdef NONMATCHING -void *increment_num_times_killed_MwtGC(void) { - // Node 0 - cur_player_stat_ptr->unk20 = (s32) (cur_player_stat_ptr->unk20 + 1); - return cur_player_stat_ptr; +void increment_num_times_killed_MwtGC(void) +{ + pPlayersPerm->ggkillcount++; } #else GLOBAL_ASM( .text glabel increment_num_times_killed_MwtGC -/* 09F464 7F06A934 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 09F468 7F06A938 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 09F464 7F06A934 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 09F468 7F06A938 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 09F46C 7F06A93C 8C4E0020 */ lw $t6, 0x20($v0) /* 09F470 7F06A940 25CF0001 */ addiu $t7, $t6, 1 /* 09F474 7F06A944 03E00008 */ jr $ra @@ -25724,14 +25740,14 @@ glabel increment_num_times_killed_MwtGC #ifdef NONMATCHING void get_times_killed_mwtgx(void) { // Node 0 - return cur_player_stat_ptr->unk20; + return pPlayersPerm->ggkillcount; } #else GLOBAL_ASM( .text glabel get_times_killed_mwtgx -/* 09F47C 7F06A94C 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr) -/* 09F480 7F06A950 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6) +/* 09F47C 7F06A94C 3C0E8008 */ lui $t6, %hi(pPlayersPerm) +/* 09F480 7F06A950 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6) /* 09F484 7F06A954 03E00008 */ jr $ra /* 09F488 7F06A958 8DC20020 */ lw $v0, 0x20($t6) ) @@ -25742,35 +25758,22 @@ glabel get_times_killed_mwtgx #ifdef NONMATCHING -void increment_num_deaths(void) { - s32 sp28; - ? sp30; - ? temp_ret; - ? phi_return_reg; - - // Node 0 - pPlayer->unk29D8 = (s32) (pPlayer->unk29D8 + 1); - temp_ret = get_num_players(); - phi_return_reg = temp_ret; - if (temp_ret >= 2) +void increment_num_deaths(void) +{ + char acStack256 [256] + pPlayer->deathcount = (s32) (pPlayer->deathcount + 1); + if (get_num_players() >= 2) { - // Node 1 - if (pPlayer->unk29D8 == 1) + if (pPlayer->deathcount == 1) { - // Node 2 - sprintf(&sp30, get_textptr_for_textID(0x98db)); + sprintf(acStack256, get_textptr_for_textID(0x98db)); } else { - // Node 3 - sp28 = get_textptr_for_textID(0x98dc); - sprintf(&sp30, &aSDS, sp28, pPlayer->unk29D8, get_textptr_for_textID(0x98dd)); + sprintf(acStack256, &aSDS, get_textptr_for_textID(0x98dc), pPlayer->deathcount, get_textptr_for_textID(0x98dd)); } - // Node 4 - phi_return_reg = display_string_in_lower_left_corner(&sp30); + display_string_in_lower_left_corner(acStack256); } - // Node 5 - return phi_return_reg; } #else #ifdef VERSION_US @@ -25868,7 +25871,7 @@ glabel increment_num_deaths /* 09F518 7F06A9E8 0C002B25 */ jal sprintf /* 09F51C 7F06A9EC 8FA60028 */ lw $a2, 0x28($sp) .L7F06A9F0: -/* 09F520 7F06A9F0 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 09F520 7F06A9F0 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 09F524 7F06A9F4 27A40030 */ addiu $a0, $sp, 0x30 .L7F06A9F8: /* 09F528 7F06A9F8 8FBF001C */ lw $ra, 0x1c($sp) @@ -25885,7 +25888,7 @@ glabel increment_num_deaths #ifdef NONMATCHING void get_curplayer_numdeaths(void) { // Node 0 - return pPlayer->unk29D8; + return pPlayer->deathcount; } #else @@ -25914,42 +25917,42 @@ void *increment_num_suicides_display_MP(void) { void *phi_return_reg; // Node 0 - pPlayer->unk29DC = (s32) (pPlayer->unk29DC + 1); + pPlayer->num_suicides = (s32) (pPlayer->num_suicides + 1); temp_ret = get_num_players(); phi_return_reg = temp_ret; if (temp_ret >= 2) { // Node 1 sp34 = sub_GAME_7F08BFB8(); - sprintf(&sp40, &aSD_0, get_textptr_for_textID(0x98de), pPlayer->unk29DC); + sprintf(&sp40, &aSD_0, get_textptr_for_textID(0x98de), pPlayer->num_suicides); display_string_in_lower_left_corner(&sp40); - if (cur_player_stat_ptr->unk1C >= 2) + if (pPlayersPerm->killcount >= 2) { // Node 2 - temp_v1 = (sp34 - pPlayer->unk29E4); - if (cur_player_stat_ptr->unk48 < temp_v1) + temp_v1 = (sp34 - pPlayer->last_kill_time); + if (pPlayersPerm->slowest2kills < temp_v1) { // Node 3 - cur_player_stat_ptr->unk48 = temp_v1; + pPlayersPerm->slowest2kills = temp_v1; } // Node 4 - if (temp_v1 < cur_player_stat_ptr->unk44) + if (temp_v1 < pPlayersPerm->fastest2kills) { // Node 5 - cur_player_stat_ptr->unk44 = temp_v1; + pPlayersPerm->fastest2kills = temp_v1; } } // Node 6 pPlayer->unk29F0 = (s32) pPlayer->unk29EC; pPlayer->unk29EC = (s32) pPlayer->unk29E8; - pPlayer->unk29E8 = (s32) pPlayer->unk29E4; - pPlayer->unk29E4 = sp34; + pPlayer->unk29E8 = (s32) pPlayer->last_kill_time; + pPlayer->last_kill_time = sp34; phi_v1 = 1; if (-1 != pPlayer->unk29E8) { // Node 7 phi_v1 = 1; - if ((pPlayer->unk29E4 - pPlayer->unk29E8) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29E8) < 0x78) { // Node 8 phi_v1 = 2; @@ -25957,7 +25960,7 @@ void *increment_num_suicides_display_MP(void) { { // Node 9 phi_v1 = 2; - if ((pPlayer->unk29E4 - pPlayer->unk29EC) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78) { // Node 10 temp_v1_2 = (2 + 1); @@ -25966,7 +25969,7 @@ void *increment_num_suicides_display_MP(void) { { // Node 11 phi_v1 = temp_v1_2; - if ((pPlayer->unk29E4 - pPlayer->unk29F0) < 0x78) + if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78) { // Node 12 phi_v1 = (temp_v1_2 + 1); @@ -25977,12 +25980,12 @@ void *increment_num_suicides_display_MP(void) { } } // Node 13 - phi_return_reg = cur_player_stat_ptr; - if (cur_player_stat_ptr->unk58 < phi_v1) + phi_return_reg = pPlayersPerm; + if (pPlayersPerm->most_killed_one_time < phi_v1) { // Node 14 - cur_player_stat_ptr->unk58 = (s32) phi_v1; - phi_return_reg = cur_player_stat_ptr; + pPlayersPerm->most_killed_one_time = (s32) phi_v1; + phi_return_reg = pPlayersPerm; } } // Node 15 @@ -26021,8 +26024,8 @@ glabel increment_num_suicides_display_MP /* 09F5A8 7F06AA78 8F0729DC */ lw $a3, 0x29dc($t8) /* 09F5AC 7F06AA7C 0FC228F2 */ jal display_string_in_lower_left_corner /* 09F5B0 7F06AA80 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(cur_player_stat_ptr) -/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(cur_player_stat_ptr) # addiu $a3, $a3, -0x5f4c +/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(pPlayersPerm) +/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(pPlayersPerm) # addiu $a3, $a3, -0x5f4c /* 09F5BC 7F06AA8C 8CE20000 */ lw $v0, ($a3) /* 09F5C0 7F06AA90 8C59001C */ lw $t9, 0x1c($v0) /* 09F5C4 7F06AA94 2B210002 */ slti $at, $t9, 2 @@ -26128,10 +26131,10 @@ glabel increment_num_suicides_display_MP /* 09F5A0 7F06AA70 00403025 */ move $a2, $v0 /* 09F5A4 7F06AA74 0C002B25 */ jal sprintf /* 09F5A8 7F06AA78 8F0729DC */ lw $a3, 0x29dc($t8) -/* 09F5AC 7F06AA7C 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 09F5AC 7F06AA7C 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 09F5B0 7F06AA80 27A40040 */ addiu $a0, $sp, 0x40 -/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(cur_player_stat_ptr) -/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(cur_player_stat_ptr) # addiu $a3, $a3, -0x5f4c +/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(pPlayersPerm) +/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(pPlayersPerm) # addiu $a3, $a3, -0x5f4c /* 09F5BC 7F06AA8C 8CE20000 */ lw $v0, ($a3) /* 09F5C0 7F06AA90 8C59001C */ lw $t9, 0x1c($v0) /* 09F5C4 7F06AA94 2B210002 */ slti $at, $t9, 2 diff --git a/src/game/cheat_buttons.c b/src/game/cheat_buttons.c index 9a731079..5952d438 100644 --- a/src/game/cheat_buttons.c +++ b/src/game/cheat_buttons.c @@ -205,13 +205,13 @@ struct struct_15 D_8003F80C[] = { #ifdef NONMATCHING -void sub_GAME_7F091740(void) { +void cheatButton_7F091740(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F091740 +glabel cheatButton_7F091740 /* 0C6270 7F091740 AFA40000 */ sw $a0, ($sp) /* 0C6274 7F091744 308EFFFF */ andi $t6, $a0, 0xffff /* 0C6278 7F091748 01C02025 */ move $a0, $t6 @@ -238,13 +238,13 @@ glabel sub_GAME_7F091740 #ifdef NONMATCHING -void sub_GAME_7F09177C(void) { +void cheatButton_7F09177C(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F09177C +glabel cheatButton_7F09177C /* 0C62AC 7F09177C 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0C62B0 7F091780 AFB1001C */ sw $s1, 0x1c($sp) /* 0C62B4 7F091784 AFBF002C */ sw $ra, 0x2c($sp) @@ -338,7 +338,7 @@ glabel sub_GAME_7F09177C /* 0C63F0 7F0918C0 54850011 */ bnel $a0, $a1, .L7F091908 /* 0C63F4 7F0918C4 92280010 */ lbu $t0, 0x10($s1) /* 0C63F8 7F0918C8 A0C012B5 */ sb $zero, 0x12b5($a2) -/* 0C63FC 7F0918CC 0FC249EF */ jal sub_GAME_7F0927BC +/* 0C63FC 7F0918CC 0FC249EF */ jal cheatCheckIfOn /* 0C6400 7F0918D0 92240000 */ lbu $a0, ($s1) /* 0C6404 7F0918D4 10400005 */ beqz $v0, .L7F0918EC /* 0C6408 7F0918D8 00000000 */ nop @@ -347,12 +347,12 @@ glabel sub_GAME_7F09177C /* 0C6414 7F0918E4 13200005 */ beqz $t9, .L7F0918FC /* 0C6418 7F0918E8 00000000 */ nop .L7F0918EC: -/* 0C641C 7F0918EC 0FC246D9 */ jal sub_GAME_7F091B64 +/* 0C641C 7F0918EC 0FC246D9 */ jal handle_cheats_turned_on /* 0C6420 7F0918F0 92240000 */ lbu $a0, ($s1) /* 0C6424 7F0918F4 10000004 */ b .L7F091908 /* 0C6428 7F0918F8 92280010 */ lbu $t0, 0x10($s1) .L7F0918FC: -/* 0C642C 7F0918FC 0FC2490E */ jal sub_GAME_7F092438 +/* 0C642C 7F0918FC 0FC2490E */ jal cheatDisplayMessageActivateCheat /* 0C6430 7F091900 92240000 */ lbu $a0, ($s1) /* 0C6434 7F091904 92280010 */ lbu $t0, 0x10($s1) .L7F091908: @@ -379,13 +379,13 @@ glabel sub_GAME_7F09177C #ifdef NONMATCHING -void sub_GAME_7F09193C(void) { +void cheat_buttons_mp_related(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F09193C +glabel cheat_buttons_mp_related /* 0C646C 7F09193C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C6470 7F091940 AFBF0014 */ sw $ra, 0x14($sp) /* 0C6474 7F091944 0FC26C54 */ jal get_cur_playernum @@ -414,13 +414,13 @@ glabel sub_GAME_7F09193C /* 0C64D0 7F0919A0 11400028 */ beqz $t2, .L7F091A44 /* 0C64D4 7F0919A4 A7A50024 */ sh $a1, 0x24($sp) /* 0C64D8 7F0919A8 30A4FFFF */ andi $a0, $a1, 0xffff -/* 0C64DC 7F0919AC 0FC245D0 */ jal sub_GAME_7F091740 +/* 0C64DC 7F0919AC 0FC245D0 */ jal cheatButton_7F091740 /* 0C64E0 7F0919B0 AFA60018 */ sw $a2, 0x18($sp) /* 0C64E4 7F0919B4 24010001 */ li $at, 1 /* 0C64E8 7F0919B8 1441001E */ bne $v0, $at, .L7F091A34 /* 0C64EC 7F0919BC 8FA70018 */ lw $a3, 0x18($sp) /* 0C64F0 7F0919C0 97A40026 */ lhu $a0, 0x26($sp) -/* 0C64F4 7F0919C4 0FC245D0 */ jal sub_GAME_7F091740 +/* 0C64F4 7F0919C4 0FC245D0 */ jal cheatButton_7F091740 /* 0C64F8 7F0919C8 AFA70018 */ sw $a3, 0x18($sp) /* 0C64FC 7F0919CC 24010001 */ li $at, 1 /* 0C6500 7F0919D0 14410018 */ bne $v0, $at, .L7F091A34 @@ -454,7 +454,7 @@ glabel sub_GAME_7F09193C /* 0C656C 7F091A3C 8C8A0000 */ lw $t2, ($a0) /* 0C6570 7F091A40 A14012B5 */ sb $zero, 0x12b5($t2) .L7F091A44: -/* 0C6574 7F091A44 0FC245DF */ jal sub_GAME_7F09177C +/* 0C6574 7F091A44 0FC245DF */ jal cheatButton_7F09177C /* 0C6578 7F091A48 00000000 */ nop /* 0C657C 7F091A4C 8FBF0014 */ lw $ra, 0x14($sp) /* 0C6580 7F091A50 27BD0028 */ addiu $sp, $sp, 0x28 @@ -467,38 +467,28 @@ glabel sub_GAME_7F09193C -#ifdef NONMATCHING -void sub_GAME_7F091A5C(void) { +u32 is_cheat_index_equal_to_1C(u32 cheatindex) +{ + if (cheatindex == 0x1c) { + return 1; + } + return 0; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F091A5C -/* 0C658C 7F091A5C 2401001C */ li $at, 28 -/* 0C6590 7F091A60 14810003 */ bne $a0, $at, .L7F091A70 -/* 0C6594 7F091A64 00001025 */ move $v0, $zero -/* 0C6598 7F091A68 03E00008 */ jr $ra -/* 0C659C 7F091A6C 24020001 */ li $v0, 1 -.L7F091A70: -/* 0C65A0 7F091A70 03E00008 */ jr $ra -/* 0C65A4 7F091A74 00000000 */ nop -) -#endif #ifdef NONMATCHING -void sub_GAME_7F091A78(void) { +void cheatCheckIfMPCheat(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F091A78 +glabel cheatCheckIfMPCheat /* 0C65A8 7F091A78 00047100 */ sll $t6, $a0, 4 /* 0C65AC 7F091A7C 3C0F8004 */ lui $t7, %hi(D_8003F808) /* 0C65B0 7F091A80 01EE7821 */ addu $t7, $t7, $t6 @@ -522,13 +512,48 @@ glabel sub_GAME_7F091A78 #ifdef NONMATCHING -void sub_GAME_7F091AAC(void) { - +void turn_on_cheat_for_players(u32 cheatindex) +{ + u32 uVar1; + u32 playernum; + u32 numplayers; + u32 i; + + uVar1 = *(&D_8003F808 + cheatindex * 0x10); + playernum = get_cur_playernum(); + numplayers = get_num_players(); + if (numplayers == 1) { + handle_cheats_turned_on(cheatindex); + } + else { + if ((uVar1 & 4) != 0) + { + if ((uVar1 & 0x20) == 0) + { + i = 0; + if (0 < (int)numplayers) + { + while (i != numplayers) + { + set_cur_player(i); + handle_cheats_turned_on(cheatindex); + i = i + 1; + }; + } + set_cur_player(playernum); + } + else + { + handle_cheats_turned_on(cheatindex); + } + } + } + return; } #else GLOBAL_ASM( .text -glabel sub_GAME_7F091AAC +glabel turn_on_cheat_for_players /* 0C65DC 7F091AAC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0C65E0 7F091AB0 AFB00018 */ sw $s0, 0x18($sp) /* 0C65E4 7F091AB4 3C108004 */ lui $s0, %hi(D_8003F808) @@ -545,7 +570,7 @@ glabel sub_GAME_7F091AAC /* 0C6610 7F091AE0 24010001 */ li $at, 1 /* 0C6614 7F091AE4 14410005 */ bne $v0, $at, .L7F091AFC /* 0C6618 7F091AE8 00408825 */ move $s1, $v0 -/* 0C661C 7F091AEC 0FC246D9 */ jal sub_GAME_7F091B64 +/* 0C661C 7F091AEC 0FC246D9 */ jal handle_cheats_turned_on /* 0C6620 7F091AF0 02402025 */ move $a0, $s2 /* 0C6624 7F091AF4 10000016 */ b .L7F091B50 /* 0C6628 7F091AF8 8FBF0024 */ lw $ra, 0x24($sp) @@ -555,7 +580,7 @@ glabel sub_GAME_7F091AAC /* 0C6634 7F091B04 32180020 */ andi $t8, $s0, 0x20 /* 0C6638 7F091B08 13000005 */ beqz $t8, .L7F091B20 /* 0C663C 7F091B0C 00000000 */ nop -/* 0C6640 7F091B10 0FC246D9 */ jal sub_GAME_7F091B64 +/* 0C6640 7F091B10 0FC246D9 */ jal handle_cheats_turned_on /* 0C6644 7F091B14 02402025 */ move $a0, $s2 /* 0C6648 7F091B18 1000000D */ b .L7F091B50 /* 0C664C 7F091B1C 8FBF0024 */ lw $ra, 0x24($sp) @@ -565,7 +590,7 @@ glabel sub_GAME_7F091AAC .L7F091B28: /* 0C6658 7F091B28 0FC26C43 */ jal set_cur_player /* 0C665C 7F091B2C 02002025 */ move $a0, $s0 -/* 0C6660 7F091B30 0FC246D9 */ jal sub_GAME_7F091B64 +/* 0C6660 7F091B30 0FC246D9 */ jal handle_cheats_turned_on /* 0C6664 7F091B34 02402025 */ move $a0, $s2 /* 0C6668 7F091B38 26100001 */ addiu $s0, $s0, 1 /* 0C666C 7F091B3C 1611FFFA */ bne $s0, $s1, .L7F091B28 @@ -589,7 +614,7 @@ glabel sub_GAME_7F091AAC #ifdef NONMATCHING -void sub_GAME_7F091B64(void) { +void handle_cheats_turned_on(void) { } #else @@ -677,7 +702,7 @@ glabel jpt_cheats_cheat glabel finalamount .word 0x3d4ccccd /*0.050000001*/ .text -glabel sub_GAME_7F091B64 +glabel handle_cheats_turned_on /* 0C6694 7F091B64 00047100 */ sll $t6, $a0, 4 /* 0C6698 7F091B68 3C0F8004 */ lui $t7, %hi(D_8003F808) /* 0C669C 7F091B6C 01EE7821 */ addu $t7, $t7, $t6 @@ -896,7 +921,7 @@ cheats_cheat_dk_mode: /* 0C69A8 7F091E78 3404B017 */ li $a0, 45079 /* 0C69AC 7F091E7C 0FC228F2 */ jal display_string_in_lower_left_corner /* 0C69B0 7F091E80 00402025 */ move $a0, $v0 -/* 0C69B4 7F091E84 0FC249FD */ jal sub_GAME_7F0927F4 +/* 0C69B4 7F091E84 0FC249FD */ jal set_DKMode /* 0C69B8 7F091E88 24040001 */ li $a0, 1 /* 0C69BC 7F091E8C 10000167 */ b .L7F09242C /* 0C69C0 7F091E90 8FBF0014 */ lw $ra, 0x14($sp) @@ -954,8 +979,8 @@ cheats_cheat_extra_weapons: cheats_cheat_tiny_bond: /* 0C6A8C 7F091F5C 24010001 */ li $at, 1 /* 0C6A90 7F091F60 14410131 */ bne $v0, $at, .L7F092428 -/* 0C6A94 7F091F64 3C0B8008 */ lui $t3, %hi(cur_player_stat_ptr) -/* 0C6A98 7F091F68 8D6BA0B4 */ lw $t3, %lo(cur_player_stat_ptr)($t3) +/* 0C6A94 7F091F64 3C0B8008 */ lui $t3, %hi(pPlayersPerm) +/* 0C6A98 7F091F68 8D6BA0B4 */ lw $t3, %lo(pPlayersPerm)($t3) /* 0C6A9C 7F091F6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C6AA0 7F091F70 44818000 */ mtc1 $at, $f16 /* 0C6AA4 7F091F74 C5720064 */ lwc1 $f18, 0x64($t3) @@ -968,9 +993,9 @@ cheats_cheat_tiny_bond: /* 0C6AC0 7F091F90 0FC228F2 */ jal display_string_in_lower_left_corner /* 0C6AC4 7F091F94 00402025 */ move $a0, $v0 /* 0C6AC8 7F091F98 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C6ACC 7F091F9C 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr) +/* 0C6ACC 7F091F9C 3C0A8008 */ lui $t2, %hi(pPlayersPerm) /* 0C6AD0 7F091FA0 44810000 */ mtc1 $at, $f0 -/* 0C6AD4 7F091FA4 8D4AA0B4 */ lw $t2, %lo(cur_player_stat_ptr)($t2) +/* 0C6AD4 7F091FA4 8D4AA0B4 */ lw $t2, %lo(pPlayersPerm)($t2) /* 0C6AD8 7F091FA8 3C0C8008 */ lui $t4, %hi(pPlayer) /* 0C6ADC 7F091FAC E5400064 */ swc1 $f0, 0x64($t2) /* 0C6AE0 7F091FB0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) @@ -1255,7 +1280,7 @@ cheats_debug_unlocklevel: /* 0C6EE4 7F0923B4 00003025 */ move $a2, $zero /* 0C6EE8 7F0923B8 AFA30018 */ sw $v1, 0x18($sp) /* 0C6EEC 7F0923BC AFA5001C */ sw $a1, 0x1c($sp) -/* 0C6EF0 7F0923C0 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 0C6EF0 7F0923C0 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 0C6EF4 7F0923C4 AFA80020 */ sw $t0, 0x20($sp) /* 0C6EF8 7F0923C8 24010003 */ li $at, 3 /* 0C6EFC 7F0923CC 8FA30018 */ lw $v1, 0x18($sp) @@ -1378,7 +1403,7 @@ glabel finalamount .word 0x3d4ccccd /*0.050000001*/ .text -glabel sub_GAME_7F091B64 +glabel handle_cheats_turned_on /* 0C71B4 7F092644 00047100 */ sll $t6, $a0, 4 /* 0C71B8 7F092648 3C0F8004 */ lui $t7, %hi(D_8003F808) /* 0C71BC 7F09264C 01EE7821 */ addu $t7, $t7, $t6 @@ -1436,7 +1461,7 @@ cheats_cheat_invincibility: /* 0C727C 7F09270C 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7280 7F092710 0FC30AA2 */ jal get_textptr_for_textID /* 0C7284 7F092714 3404B00F */ li $a0, 45071 -/* 0C7288 7F092718 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7288 7F092718 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C728C 7F09271C 00402025 */ move $a0, $v0 /* 0C7290 7F092720 0FC229A0 */ jal set_bondata_invincible_flag /* 0C7294 7F092724 24040001 */ li $a0, 1 @@ -1449,7 +1474,7 @@ cheats_cheat_allguns: /* 0C72AC 7F09273C 8FBF0014 */ lw $ra, 0x14($sp) /* 0C72B0 7F092740 0FC30AA2 */ jal get_textptr_for_textID /* 0C72B4 7F092744 3404B010 */ li $a0, 45072 -/* 0C72B8 7F092748 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C72B8 7F092748 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C72BC 7F09274C 00402025 */ move $a0, $v0 /* 0C72C0 7F092750 0FC232CB */ jal set_BONDdata_allguns_flag /* 0C72C4 7F092754 24040001 */ li $a0, 1 @@ -1458,7 +1483,7 @@ cheats_cheat_allguns: cheats_cheat_max_ammo: /* 0C72D0 7F092760 0FC30AA2 */ jal get_textptr_for_textID /* 0C72D4 7F092764 3404B011 */ li $a0, 45073 -/* 0C72D8 7F092768 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C72D8 7F092768 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C72DC 7F09276C 00402025 */ move $a0, $v0 /* 0C72E0 7F092770 0FC1A637 */ jal set_max_ammo_for_cur_player /* 0C72E4 7F092774 00000000 */ nop @@ -1528,7 +1553,7 @@ cheats_cheat_2x_health: .Ljp7F09285C: /* 0C73CC 7F09285C 0FC30AA2 */ jal get_textptr_for_textID /* 0C73D0 7F092860 3404B012 */ li $a0, 45074 -/* 0C73D4 7F092864 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C73D4 7F092864 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C73D8 7F092868 00402025 */ move $a0, $v0 /* 0C73DC 7F09286C 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C73E0 7F092870 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008 @@ -1559,7 +1584,7 @@ cheats_cheat_2x_armor: .Ljp7F0928D0: /* 0C7440 7F0928D0 0FC30AA2 */ jal get_textptr_for_textID /* 0C7444 7F0928D4 3404B013 */ li $a0, 45075 -/* 0C7448 7F0928D8 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7448 7F0928D8 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C744C 7F0928DC 00402025 */ move $a0, $v0 /* 0C7450 7F0928E0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 /* 0C7454 7F0928E4 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0 @@ -1579,7 +1604,7 @@ cheats_cheat_invisibility: /* 0C7488 7F092918 8FBF0014 */ lw $ra, 0x14($sp) /* 0C748C 7F09291C 0FC30AA2 */ jal get_textptr_for_textID /* 0C7490 7F092920 3404B014 */ li $a0, 45076 -/* 0C7494 7F092924 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7494 7F092924 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C7498 7F092928 00402025 */ move $a0, $v0 /* 0C749C 7F09292C 0FC229A8 */ jal set_invisible_to_guards_flag /* 0C74A0 7F092930 00002025 */ move $a0, $zero @@ -1588,16 +1613,16 @@ cheats_cheat_invisibility: cheats_cheat_infinite_ammo: /* 0C74AC 7F09293C 0FC30AA2 */ jal get_textptr_for_textID /* 0C74B0 7F092940 3404B016 */ li $a0, 45078 -/* 0C74B4 7F092944 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C74B4 7F092944 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C74B8 7F092948 00402025 */ move $a0, $v0 /* 0C74BC 7F09294C 10000197 */ b .Ljp7F092FAC /* 0C74C0 7F092950 8FBF0014 */ lw $ra, 0x14($sp) cheats_cheat_dk_mode: /* 0C74C4 7F092954 0FC30AA2 */ jal get_textptr_for_textID /* 0C74C8 7F092958 3404B017 */ li $a0, 45079 -/* 0C74CC 7F09295C 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C74CC 7F09295C 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C74D0 7F092960 00402025 */ move $a0, $v0 -/* 0C74D4 7F092964 0FC24CDD */ jal sub_GAME_7F0927F4 +/* 0C74D4 7F092964 0FC24CDD */ jal set_DKMode /* 0C74D8 7F092968 24040001 */ li $a0, 1 /* 0C74DC 7F09296C 1000018F */ b .Ljp7F092FAC /* 0C74E0 7F092970 8FBF0014 */ lw $ra, 0x14($sp) @@ -1648,15 +1673,15 @@ cheats_cheat_extra_weapons: /* 0C7590 7F092A20 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7594 7F092A24 0FC30AA2 */ jal get_textptr_for_textID /* 0C7598 7F092A28 3404B018 */ li $a0, 45080 -/* 0C759C 7F092A2C 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C759C 7F092A2C 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C75A0 7F092A30 00402025 */ move $a0, $v0 /* 0C75A4 7F092A34 1000015D */ b .Ljp7F092FAC /* 0C75A8 7F092A38 8FBF0014 */ lw $ra, 0x14($sp) cheats_cheat_tiny_bond: /* 0C75AC 7F092A3C 24010001 */ li $at, 1 /* 0C75B0 7F092A40 14410159 */ bne $v0, $at, .Ljp7F092FA8 -/* 0C75B4 7F092A44 3C0B8008 */ lui $t3, %hi(cur_player_stat_ptr) # $t3, 0x8008 -/* 0C75B8 7F092A48 8D6BA124 */ lw $t3, %lo(cur_player_stat_ptr)($t3) +/* 0C75B4 7F092A44 3C0B8008 */ lui $t3, %hi(pPlayersPerm) # $t3, 0x8008 +/* 0C75B8 7F092A48 8D6BA124 */ lw $t3, %lo(pPlayersPerm)($t3) /* 0C75BC 7F092A4C 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C75C0 7F092A50 44818000 */ mtc1 $at, $f16 /* 0C75C4 7F092A54 C5720064 */ lwc1 $f18, 0x64($t3) @@ -1666,12 +1691,12 @@ cheats_cheat_tiny_bond: /* 0C75D4 7F092A64 8FBF0014 */ lw $ra, 0x14($sp) /* 0C75D8 7F092A68 0FC30AA2 */ jal get_textptr_for_textID /* 0C75DC 7F092A6C 3404B019 */ li $a0, 45081 -/* 0C75E0 7F092A70 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C75E0 7F092A70 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C75E4 7F092A74 00402025 */ move $a0, $v0 /* 0C75E8 7F092A78 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C75EC 7F092A7C 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr) # $t2, 0x8008 +/* 0C75EC 7F092A7C 3C0A8008 */ lui $t2, %hi(pPlayersPerm) # $t2, 0x8008 /* 0C75F0 7F092A80 44810000 */ mtc1 $at, $f0 -/* 0C75F4 7F092A84 8D4AA124 */ lw $t2, %lo(cur_player_stat_ptr)($t2) +/* 0C75F4 7F092A84 8D4AA124 */ lw $t2, %lo(pPlayersPerm)($t2) /* 0C75F8 7F092A88 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008 /* 0C75FC 7F092A8C E5400064 */ swc1 $f0, 0x64($t2) /* 0C7600 7F092A90 8D8CA120 */ lw $t4, %lo(pPlayer)($t4) @@ -1688,7 +1713,7 @@ cheats_cheat_tiny_bond: cheats_cheat_paintball: /* 0C762C 7F092ABC 0FC30AA2 */ jal get_textptr_for_textID /* 0C7630 7F092AC0 3404B01A */ li $a0, 45082 -/* 0C7634 7F092AC4 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7634 7F092AC4 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C7638 7F092AC8 00402025 */ move $a0, $v0 /* 0C763C 7F092ACC 10000137 */ b .Ljp7F092FAC /* 0C7640 7F092AD0 8FBF0014 */ lw $ra, 0x14($sp) @@ -1710,7 +1735,7 @@ cheats_cheat_10x_health: .Ljp7F092B0C: /* 0C767C 7F092B0C 0FC30AA2 */ jal get_textptr_for_textID /* 0C7680 7F092B10 3404B01B */ li $a0, 45083 -/* 0C7684 7F092B14 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7684 7F092B14 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C7688 7F092B18 00402025 */ move $a0, $v0 /* 0C768C 7F092B1C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008 /* 0C7690 7F092B20 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0 @@ -1798,7 +1823,7 @@ cheats_cheat_fast: /* 0C77BC 7F092C4C 8FBF0014 */ lw $ra, 0x14($sp) /* 0C77C0 7F092C50 0FC30AA2 */ jal get_textptr_for_textID /* 0C77C4 7F092C54 3404B01D */ li $a0, 45085 -/* 0C77C8 7F092C58 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C77C8 7F092C58 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C77CC 7F092C5C 00402025 */ move $a0, $v0 /* 0C77D0 7F092C60 0FC246C1 */ jal set_debug_fast_bond_flag /* 0C77D4 7F092C64 24040001 */ li $a0, 1 @@ -1825,7 +1850,7 @@ cheats_debug_fast_ani: /* 0C7820 7F092CB0 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7824 7F092CB4 0FC30AA2 */ jal get_textptr_for_textID /* 0C7828 7F092CB8 3404B034 */ li $a0, 45108 -/* 0C782C 7F092CBC 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C782C 7F092CBC 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C7830 7F092CC0 00402025 */ move $a0, $v0 /* 0C7834 7F092CC4 3C014080 */ li $at, 0x40800000 # 4.000000 /* 0C7838 7F092CC8 44816000 */ mtc1 $at, $f12 @@ -1845,7 +1870,7 @@ cheats_debug_slow_ani: /* 0C786C 7F092CFC 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7870 7F092D00 0FC30AA2 */ jal get_textptr_for_textID /* 0C7874 7F092D04 3404B032 */ li $a0, 45106 -/* 0C7878 7F092D08 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0C7878 7F092D08 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0C787C 7F092D0C 00402025 */ move $a0, $v0 /* 0C7880 7F092D10 3C013E80 */ li $at, 0x3E800000 # 0.250000 /* 0C7884 7F092D14 44816000 */ mtc1 $at, $f12 @@ -1997,7 +2022,7 @@ cheats_debug_unlocklevel: /* 0C7AA4 7F092F34 00003025 */ move $a2, $zero /* 0C7AA8 7F092F38 AFA30018 */ sw $v1, 0x18($sp) /* 0C7AAC 7F092F3C AFA5001C */ sw $a1, 0x1c($sp) -/* 0C7AB0 7F092F40 0FC0791C */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 0C7AB0 7F092F40 0FC0791C */ jal isStageUnlockedAtDifficulty /* 0C7AB4 7F092F44 AFA80020 */ sw $t0, 0x20($sp) /* 0C7AB8 7F092F48 24010003 */ li $at, 3 /* 0C7ABC 7F092F4C 8FA30018 */ lw $v1, 0x18($sp) @@ -2040,7 +2065,7 @@ cheats_debug_return_saved_ra: #ifdef NONMATCHING -void sub_GAME_7F092438(void) { +void cheatDisplayMessageActivateCheat(void) { } #else @@ -2125,7 +2150,7 @@ glabel jpt_800573DC /*.word cheat_button_default*/ .text -glabel sub_GAME_7F092438 +glabel cheatDisplayMessageActivateCheat /* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4 /* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808) /* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6 @@ -2224,15 +2249,15 @@ cheat_button_dkmode: /* 0C70C4 7F092594 3404B023 */ li $a0, 45091 /* 0C70C8 7F092598 0FC228F2 */ jal display_string_in_lower_left_corner /* 0C70CC 7F09259C 00402025 */ move $a0, $v0 -/* 0C70D0 7F0925A0 0FC249FD */ jal sub_GAME_7F0927F4 +/* 0C70D0 7F0925A0 0FC249FD */ jal set_DKMode /* 0C70D4 7F0925A4 00002025 */ move $a0, $zero /* 0C70D8 7F0925A8 10000042 */ b .L7F0926B4 /* 0C70DC 7F0925AC 8FBF0014 */ lw $ra, 0x14($sp) cheat_button_unknown_0: /* 0C70E0 7F0925B0 24010001 */ li $at, 1 /* 0C70E4 7F0925B4 1441003E */ bne $v0, $at, .L7F0926B0 -/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(cur_player_stat_ptr) -/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(cur_player_stat_ptr)($t8) +/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(pPlayersPerm) +/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(pPlayersPerm)($t8) /* 0C70F0 7F0925C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C70F4 7F0925C4 44812000 */ mtc1 $at, $f4 /* 0C70F8 7F0925C8 C7060064 */ lwc1 $f6, 0x64($t8) @@ -2245,8 +2270,8 @@ cheat_button_unknown_0: /* 0C7114 7F0925E4 0FC228F2 */ jal display_string_in_lower_left_corner /* 0C7118 7F0925E8 00402025 */ move $a0, $v0 /* 0C711C 7F0925EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(cur_player_stat_ptr) -/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9) +/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(pPlayersPerm) +/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9) /* 0C7128 7F0925F8 44814000 */ mtc1 $at, $f8 /* 0C712C 7F0925FC 3C088008 */ lui $t0, %hi(pPlayer) /* 0C7130 7F092600 E7280064 */ swc1 $f8, 0x64($t9) @@ -2387,7 +2412,7 @@ glabel jpt_800573DC /*.word cheat_button_default*/ .text -glabel sub_GAME_7F092438 +glabel cheatDisplayMessageActivateCheat /* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4 /* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808) /* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6 @@ -2437,7 +2462,7 @@ cheat_button_invincibility: /* 0C7014 7F0924E4 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7018 7F0924E8 0FC30776 */ jal get_textptr_for_textID /* 0C701C 7F0924EC 3404B01E */ li $a0, 45086 -/* 0C7020 7F0924F0 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C7020 7F0924F0 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C7024 7F0924F4 00402025 */ move $a0, $v0 /* 0C7028 7F0924F8 0FC227D2 */ jal set_bondata_invincible_flag /* 0C702C 7F0924FC 00002025 */ move $a0, $zero @@ -2450,7 +2475,7 @@ cheat_button_all_guns: /* 0C7044 7F092514 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7048 7F092518 0FC30776 */ jal get_textptr_for_textID /* 0C704C 7F09251C 3404B01F */ li $a0, 45087 -/* 0C7050 7F092520 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C7050 7F092520 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C7054 7F092524 00402025 */ move $a0, $v0 /* 0C7058 7F092528 0FC230A7 */ jal set_BONDdata_allguns_flag /* 0C705C 7F09252C 00002025 */ move $a0, $zero @@ -2468,7 +2493,7 @@ cheat_button_unknown: /* 0C7084 7F092554 8FBF0014 */ lw $ra, 0x14($sp) /* 0C7088 7F092558 0FC30776 */ jal get_textptr_for_textID /* 0C708C 7F09255C 3404B020 */ li $a0, 45088 -/* 0C7090 7F092560 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C7090 7F092560 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C7094 7F092564 00402025 */ move $a0, $v0 /* 0C7098 7F092568 0FC227DA */ jal set_invisible_to_guards_flag /* 0C709C 7F09256C 24040001 */ li $a0, 1 @@ -2477,24 +2502,24 @@ cheat_button_unknown: cheat_button_infinite_ammo: /* 0C70A8 7F092578 0FC30776 */ jal get_textptr_for_textID /* 0C70AC 7F09257C 3404B022 */ li $a0, 45090 -/* 0C70B0 7F092580 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C70B0 7F092580 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C70B4 7F092584 00402025 */ move $a0, $v0 /* 0C70B8 7F092588 1000004A */ b .L7F0926B4 /* 0C70BC 7F09258C 8FBF0014 */ lw $ra, 0x14($sp) cheat_button_dkmode: /* 0C70C0 7F092590 0FC30776 */ jal get_textptr_for_textID /* 0C70C4 7F092594 3404B023 */ li $a0, 45091 -/* 0C70C8 7F092598 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C70C8 7F092598 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C70CC 7F09259C 00402025 */ move $a0, $v0 -/* 0C70D0 7F0925A0 0FC249FD */ jal sub_GAME_7F0927F4 +/* 0C70D0 7F0925A0 0FC249FD */ jal set_DKMode /* 0C70D4 7F0925A4 00002025 */ move $a0, $zero /* 0C70D8 7F0925A8 10000042 */ b .L7F0926B4 /* 0C70DC 7F0925AC 8FBF0014 */ lw $ra, 0x14($sp) cheat_button_unknown_0: /* 0C70E0 7F0925B0 24010001 */ li $at, 1 /* 0C70E4 7F0925B4 1441003E */ bne $v0, $at, .L7F0926B0 -/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(cur_player_stat_ptr) -/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(cur_player_stat_ptr)($t8) +/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(pPlayersPerm) +/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(pPlayersPerm)($t8) /* 0C70F0 7F0925C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C70F4 7F0925C4 44812000 */ mtc1 $at, $f4 /* 0C70F8 7F0925C8 C7060064 */ lwc1 $f6, 0x64($t8) @@ -2504,11 +2529,11 @@ cheat_button_unknown_0: /* 0C7108 7F0925D8 8FBF0014 */ lw $ra, 0x14($sp) /* 0C710C 7F0925DC 0FC30776 */ jal get_textptr_for_textID /* 0C7110 7F0925E0 3404B024 */ li $a0, 45092 -/* 0C7114 7F0925E4 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C7114 7F0925E4 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C7118 7F0925E8 00402025 */ move $a0, $v0 /* 0C711C 7F0925EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(cur_player_stat_ptr) -/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9) +/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(pPlayersPerm) +/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9) /* 0C7128 7F0925F8 44814000 */ mtc1 $at, $f8 /* 0C712C 7F0925FC 3C088008 */ lui $t0, %hi(pPlayer) /* 0C7130 7F092600 E7280064 */ swc1 $f8, 0x64($t9) @@ -2526,7 +2551,7 @@ cheat_button_unknown_0: cheat_button_paintball: /* 0C7160 7F092630 0FC30776 */ jal get_textptr_for_textID /* 0C7164 7F092634 3404B025 */ li $a0, 45093 -/* 0C7168 7F092638 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C7168 7F092638 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C716C 7F09263C 00402025 */ move $a0, $v0 /* 0C7170 7F092640 1000001C */ b .L7F0926B4 /* 0C7174 7F092644 8FBF0014 */ lw $ra, 0x14($sp) @@ -2546,7 +2571,7 @@ cheat_button_fast_mode: /* 0C71A4 7F092674 8FBF0014 */ lw $ra, 0x14($sp) /* 0C71A8 7F092678 0FC30776 */ jal get_textptr_for_textID /* 0C71AC 7F09267C 3404B027 */ li $a0, 45095 -/* 0C71B0 7F092680 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 0C71B0 7F092680 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 0C71B4 7F092684 00402025 */ move $a0, $v0 /* 0C71B8 7F092688 0FC24409 */ jal set_debug_fast_bond_flag /* 0C71BC 7F09268C 00002025 */ move $a0, $zero @@ -2575,7 +2600,7 @@ cheat_button_default: #ifdef NONMATCHING -void sub_GAME_7F0926C0(void) { +void cheatDisableAllCheats(void) { s32 sp30; s32 temp_s4; s32 temp_s0; @@ -2601,10 +2626,10 @@ loop_3: if ((phi_s1->unk-4 & 0x40) != 0) { // Node 4 - if (sub_GAME_7F0927BC(phi_s0) != 0) + if (cheatCheckIfOn(phi_s0) != 0) { // Node 5 - sub_GAME_7F092438(phi_s0); + cheatDisplayMessageActivateCheat(phi_s0); } } // Node 6 @@ -2652,7 +2677,7 @@ GLOBAL_ASM( /*.word cheat_button_default*/ /*.word cheat_button_default*/ .text -glabel sub_GAME_7F0926C0 +glabel cheatDisableAllCheats /* 0C71F0 7F0926C0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 0C71F4 7F0926C4 AFBF002C */ sw $ra, 0x2c($sp) /* 0C71F8 7F0926C8 AFB40028 */ sw $s4, 0x28($sp) @@ -2678,11 +2703,11 @@ glabel sub_GAME_7F0926C0 /* 0C7240 7F092710 31CF0040 */ andi $t7, $t6, 0x40 /* 0C7244 7F092714 51E00008 */ beql $t7, $zero, .L7F092738 /* 0C7248 7F092718 26100001 */ addiu $s0, $s0, 1 -/* 0C724C 7F09271C 0FC249EF */ jal sub_GAME_7F0927BC +/* 0C724C 7F09271C 0FC249EF */ jal cheatCheckIfOn /* 0C7250 7F092720 02002025 */ move $a0, $s0 /* 0C7254 7F092724 50400004 */ beql $v0, $zero, .L7F092738 /* 0C7258 7F092728 26100001 */ addiu $s0, $s0, 1 -/* 0C725C 7F09272C 0FC2490E */ jal sub_GAME_7F092438 +/* 0C725C 7F09272C 0FC2490E */ jal cheatDisplayMessageActivateCheat /* 0C7260 7F092730 02002025 */ move $a0, $s0 /* 0C7264 7F092734 26100001 */ addiu $s0, $s0, 1 .L7F092738: @@ -2710,7 +2735,7 @@ glabel sub_GAME_7F0926C0 #ifdef NONMATCHING -void sub_GAME_7F092774(void) { +void cheatGetMenuTextPointer(void) { } #else @@ -2726,7 +2751,7 @@ GLOBAL_ASM( /*.word cheat_button_default*/ /*.word cheat_button_default*/ .text -glabel sub_GAME_7F092774 +glabel cheatGetMenuTextPointer /* 0C72A4 7F092774 00047100 */ sll $t6, $a0, 4 /* 0C72A8 7F092778 3C028004 */ lui $v0, %hi(D_8003F804) /* 0C72AC 7F09277C 004E1021 */ addu $v0, $v0, $t6 @@ -2755,7 +2780,7 @@ glabel sub_GAME_7F092774 #ifdef NONMATCHING -void sub_GAME_7F0927BC(void) { +void cheatCheckIfOn(void) { } #else @@ -2767,7 +2792,7 @@ GLOBAL_ASM( .word cheat_button_default .text -glabel sub_GAME_7F0927BC +glabel cheatCheckIfOn /* 0C72EC 7F0927BC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0C72F0 7F0927C0 AFBF0014 */ sw $ra, 0x14($sp) /* 0C72F4 7F0927C4 0FC26C54 */ jal get_cur_playernum @@ -2790,7 +2815,7 @@ glabel sub_GAME_7F0927BC #ifdef NONMATCHING -void sub_GAME_7F0927F4(void) { +void set_DKMode(void) { } #else @@ -2800,7 +2825,7 @@ GLOBAL_ASM( glabel D_80057504 .word 0x3f4ccccd /*0.80000001*/ .text -glabel sub_GAME_7F0927F4 +glabel set_DKMode /* 0C7324 7F0927F4 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0C7328 7F0927F8 AFB10024 */ sw $s1, 0x24($sp) /* 0C732C 7F0927FC AFBF002C */ sw $ra, 0x2c($sp) @@ -2853,7 +2878,7 @@ GLOBAL_ASM( glabel D_80057504 .word 0x3f4ccccd /*0.80000001*/ .text -glabel sub_GAME_7F0927F4 +glabel set_DKMode /* 0C7EE4 7F093374 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 0C7EE8 7F093378 AFB00020 */ sw $s0, 0x20($sp) /* 0C7EEC 7F09337C AFBF002C */ sw $ra, 0x2c($sp) diff --git a/src/game/chr.c b/src/game/chr.c index cbde88a8..c5edaa5b 100644 --- a/src/game/chr.c +++ b/src/game/chr.c @@ -1970,8 +1970,8 @@ glabel sub_GAME_7F01FC10 /* 05478C 7F01FC5C 1721002C */ bne $t9, $at, .L7F01FD10 /* 054790 7F01FC60 00000000 */ nop /* 054794 7F01FC64 C6020038 */ lwc1 $f2, 0x38($s0) -/* 054798 7F01FC68 3C028005 */ lui $v0, %hi(D_jpunk) -/* 05479C 7F01FC6C 24428378 */ addiu $v0, %lo(D_jpunk) # addiu $v0, $v0, -0x7c88 +/* 054798 7F01FC68 3C028005 */ lui $v0, %hi(jp_global_timer_delta) +/* 05479C 7F01FC6C 24428378 */ addiu $v0, %lo(jp_global_timer_delta) # addiu $v0, $v0, -0x7c88 /* 0547A0 7F01FC70 4602603C */ c.lt.s $f12, $f2 /* 0547A4 7F01FC74 00000000 */ nop /* 0547A8 7F01FC78 45000025 */ bc1f .L7F01FD10 @@ -2819,8 +2819,8 @@ glabel sub_GAME_7F0205F0 /* 055134 7F020604 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 055138 7F020608 44811000 */ mtc1 $at, $f2 /* 05513C 7F02060C 46803220 */ cvt.s.w $f8, $f6 -/* 055140 7F020610 3C018005 */ lui $at, %hi(D_jpunk) -/* 055144 7F020614 C4248378 */ lwc1 $f4, %lo(D_jpunk)($at) +/* 055140 7F020610 3C018005 */ lui $at, %hi(jp_global_timer_delta) +/* 055144 7F020614 C4248378 */ lwc1 $f4, %lo(jp_global_timer_delta)($at) /* 055148 7F020618 46082003 */ div.s $f0, $f4, $f8 /* 05514C 7F02061C 4600103C */ c.lt.s $f2, $f0 /* 055150 7F020620 00000000 */ nop @@ -3081,7 +3081,7 @@ glabel sub_GAME_7F02083C /* 055380 7F020850 AFA5009C */ sw $a1, 0x9c($sp) /* 055384 7F020854 AFA60098 */ sw $a2, 0x98($sp) /* 055388 7F020858 2404000C */ li $a0, 12 -/* 05538C 7F02085C 0FC249EF */ jal sub_GAME_7F0927BC +/* 05538C 7F02085C 0FC249EF */ jal cheatCheckIfOn /* 055390 7F020860 E7A40094 */ swc1 $f4, 0x94($sp) /* 055394 7F020864 1040000E */ beqz $v0, .L7F0208A0 /* 055398 7F020868 8FA60098 */ lw $a2, 0x98($sp) @@ -3463,7 +3463,7 @@ glabel sub_GAME_7F02083C /* 055630 7F020AC0 AFA5009C */ sw $a1, 0x9c($sp) /* 055634 7F020AC4 AFA70098 */ sw $a3, 0x98($sp) /* 055638 7F020AC8 2404000C */ li $a0, 12 -/* 05563C 7F020ACC 0FC24CCF */ jal sub_GAME_7F0927BC +/* 05563C 7F020ACC 0FC24CCF */ jal cheatCheckIfOn /* 055640 7F020AD0 E7A40094 */ swc1 $f4, 0x94($sp) /* 055644 7F020AD4 1040001C */ beqz $v0, .L7F020B48 /* 055648 7F020AD8 8FA70098 */ lw $a3, 0x98($sp) @@ -4355,7 +4355,7 @@ glabel sub_GAME_7F020EF0 /* 055F78 7F021448 A04F0001 */ sb $t7, 1($v0) /* 055F7C 7F02144C 8E0E0014 */ lw $t6, 0x14($s0) /* 055F80 7F021450 35C90008 */ ori $t1, $t6, 8 -/* 055F84 7F021454 0FC249EF */ jal sub_GAME_7F0927BC +/* 055F84 7F021454 0FC249EF */ jal cheatCheckIfOn /* 055F88 7F021458 AE090014 */ sw $t1, 0x14($s0) /* 055F8C 7F02145C 10400004 */ beqz $v0, .L7F021470 /* 055F90 7F021460 3C013EA0 */ li $at, 0x3EA00000 # 0.312500 @@ -5207,7 +5207,7 @@ glabel sub_GAME_7F020EF0 /* 056250 7F0216E0 A04F0001 */ sb $t7, 1($v0) /* 056254 7F0216E4 8E0E0014 */ lw $t6, 0x14($s0) /* 056258 7F0216E8 35C90008 */ ori $t1, $t6, 8 -/* 05625C 7F0216EC 0FC24CCF */ jal sub_GAME_7F0927BC +/* 05625C 7F0216EC 0FC24CCF */ jal cheatCheckIfOn /* 056260 7F0216F0 AE090014 */ sw $t1, 0x14($s0) /* 056264 7F0216F4 10400018 */ beqz $v0, .Ljp7F021758 /* 056268 7F0216F8 00000000 */ nop @@ -6003,8 +6003,8 @@ glabel sub_GAME_7F021BFC /* 056A04 7F021ED4 AFA300A4 */ sw $v1, 0xa4($sp) /* 056A08 7F021ED8 AFB800A0 */ sw $t8, 0xa0($sp) .L7F021EDC: -/* 056A0C 7F021EDC 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 056A10 7F021EE0 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 056A0C 7F021EDC 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 056A10 7F021EE0 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 056A14 7F021EE4 27A40070 */ addiu $a0, $sp, 0x70 /* 056A18 7F021EE8 8C590034 */ lw $t9, 0x34($v0) /* 056A1C 7F021EEC 272D0001 */ addiu $t5, $t9, 1 diff --git a/src/game/chr2.c b/src/game/chr2.c index 1d5d4be7..960d36ba 100644 --- a/src/game/chr2.c +++ b/src/game/chr2.c @@ -81,7 +81,7 @@ glabel maybe_load_models_for_guards /* 057E68 7F023338 AFA0002C */ sw $zero, 0x2c($sp) /* 057E6C 7F02333C 2404000C */ li $a0, 12 /* 057E70 7F023340 AFA20024 */ sw $v0, 0x24($sp) -/* 057E74 7F023344 0FC249EF */ jal sub_GAME_7F0927BC +/* 057E74 7F023344 0FC249EF */ jal cheatCheckIfOn /* 057E78 7F023348 E7AA0030 */ swc1 $f10, 0x30($sp) /* 057E7C 7F02334C 10400005 */ beqz $v0, .L7F023364 /* 057E80 7F023350 C7B00034 */ lwc1 $f16, 0x34($sp) @@ -217,7 +217,7 @@ glabel maybe_load_models_for_guards /* 058198 7F023628 AFA0002C */ sw $zero, 0x2c($sp) /* 05819C 7F02362C 2404000C */ li $a0, 12 /* 0581A0 7F023630 AFA20024 */ sw $v0, 0x24($sp) -/* 0581A4 7F023634 0FC24CCF */ jal sub_GAME_7F0927BC +/* 0581A4 7F023634 0FC24CCF */ jal cheatCheckIfOn /* 0581A8 7F023638 E7AA0030 */ swc1 $f10, 0x30($sp) /* 0581AC 7F02363C 10400009 */ beqz $v0, .Ljp7F023664 /* 0581B0 7F023640 8FA40038 */ lw $a0, 0x38($sp) @@ -11938,8 +11938,8 @@ glabel sub_GAME_7F02C2B0 /* 060E20 7F02C2F0 3C018005 */ lui $at, %hi(D_80051EA0) /* 060E24 7F02C2F4 C4241EA0 */ lwc1 $f4, %lo(D_80051EA0)($at) /* 060E28 7F02C2F8 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 060E2C 7F02C2FC 3C018005 */ lui $at, %hi(D_jpunk) -/* 060E30 7F02C300 C42A8378 */ lwc1 $f10, %lo(D_jpunk)($at) +/* 060E2C 7F02C2FC 3C018005 */ lui $at, %hi(jp_global_timer_delta) +/* 060E30 7F02C300 C42A8378 */ lwc1 $f10, %lo(jp_global_timer_delta)($at) /* 060E34 7F02C304 46062202 */ mul.s $f8, $f4, $f6 /* 060E38 7F02C308 8FAF002C */ lw $t7, 0x2c($sp) /* 060E3C 7F02C30C 8FA70030 */ lw $a3, 0x30($sp) @@ -13572,9 +13572,9 @@ glabel sub_GAME_7F02D2E4 /* 061F48 7F02D418 44816000 */ mtc1 $at, $f12 /* 061F4C 7F02D41C 3C018005 */ lui $at, %hi(D_80051F58) /* 061F50 7F02D420 C4241F58 */ lwc1 $f4, %lo(D_80051F58)($at) -/* 061F54 7F02D424 3C018005 */ lui $at, %hi(D_jpunk) +/* 061F54 7F02D424 3C018005 */ lui $at, %hi(jp_global_timer_delta) /* 061F58 7F02D428 4600603C */ c.lt.s $f12, $f0 -/* 061F5C 7F02D42C C4268378 */ lwc1 $f6, %lo(D_jpunk)($at) +/* 061F5C 7F02D42C C4268378 */ lwc1 $f6, %lo(jp_global_timer_delta)($at) /* 061F60 7F02D430 8FB90060 */ lw $t9, 0x60($sp) /* 061F64 7F02D434 46062082 */ mul.s $f2, $f4, $f6 /* 061F68 7F02D438 45020005 */ bc1fl .L7F02D450 @@ -14198,7 +14198,7 @@ glabel sub_GAME_7F02D734 /* 062794 7F02DC64 24050056 */ li $a1, 86 /* 062798 7F02DC68 1040016E */ beqz $v0, .L7F02E224 /* 06279C 7F02DC6C AFA20208 */ sw $v0, 0x208($sp) -/* 0627A0 7F02DC70 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0627A0 7F02DC70 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0627A4 7F02DC74 27A401C8 */ addiu $a0, $sp, 0x1c8 /* 0627A8 7F02DC78 C7AC024C */ lwc1 $f12, 0x24c($sp) /* 0627AC 7F02DC7C 0FC1615C */ jal sub_GAME_7F058570 @@ -14313,7 +14313,7 @@ glabel sub_GAME_7F02D734 /* 062954 7F02DE24 24050057 */ li $a1, 87 /* 062958 7F02DE28 104000FE */ beqz $v0, .L7F02E224 /* 06295C 7F02DE2C AFA20128 */ sw $v0, 0x128($sp) -/* 062960 7F02DE30 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 062960 7F02DE30 0FC15FF4 */ jal reset_array_of_0x10_floats /* 062964 7F02DE34 27A400E8 */ addiu $a0, $sp, 0xe8 /* 062968 7F02DE38 3C018005 */ lui $at, %hi(D_80051F6C) /* 06296C 7F02DE3C C4201F6C */ lwc1 $f0, %lo(D_80051F6C)($at) diff --git a/src/game/chrai.c b/src/game/chrai.c index 83a3ee28..f23f3667 100644 --- a/src/game/chrai.c +++ b/src/game/chrai.c @@ -2,7 +2,9 @@ #include "bondgame.h" #include "game/chr.h" #include "game/chrai.h" - +#include "snd.h" +#include "music.h" +#include "game/lvl_text.h" // bss //CODE.bss:80069B70 struct sfx_register_struct sfx_related[8]; @@ -90,14 +92,10 @@ u32 dword_CODE_bss_80071DF8; //CODE.bss:80071DFC u32 dword_CODE_bss_80071DFC; //CODE.bss:80071E00 -u32 dword_CODE_bss_80071E00; -//CODE.bss:80071E04 -u32 dword_CODE_bss_80071E04; -//CODE.bss:80071E08 -char dword_CODE_bss_80071E08[0x70]; +char temp_mine_table[0x78]; //CODE.bss:80071E78 -u32 gas_damage_flag; +f32 gas_damage_flag; //CODE.bss:80071E7C u32 gas_cutoff_flag; //CODE.bss:80071E80 @@ -148,7 +146,7 @@ void * ptr_setup_path_link; //CODE.bss:80075D08 void * ptr_setup_intro; //CODE.bss:80075D0C -void * ptr_setup_objects; +struct object_standard * ptr_setup_objects; //CODE.bss:80075D10 void * ptr_setup_path_sets; //CODE.bss:80075D14 @@ -186,447 +184,6 @@ s32 D_80030AB0 = 0; s32 D_80030AB4 = 0; s32 D_80030AB8 = 0; s32 D_80030ABC = 0; -s32 alarm_timer = 0; -s32 *ptr_alarm_sfx = 0; -f32 toxic_gas_sound_timer = 0.0; -s32 activate_gas_sound_timer = FALSE; -f32 D_80030AD0 = 0.0; -f32 D_80030AD4 = 0.0; -f32 D_80030AD8 = 0.0; -s32 D_80030ADC = 0; -s32 D_80030AE0 = 0; -s32 D_80030AE4 = 0; -s32 clock_drawn_flag = 1; -s32 clock_enable = 0; -f32 clock_time = 0; -s32 D_80030AF4 = 0; -s32 D_80030AF8 = 0; -s32 D_80030AFC = 0; -s32 D_80030B00 = 0; -s32 D_80030B04 = 0; -s32 D_80030B08 = 0; -s32 D_80030B0C = 0; -s32 bodypartshot = 0xFFFFFFFF; -f32 D_80030B14 = 1.0; -f32 D_80030B18 = 1.0; -f32 D_80030B1C = 1.0; -f32 D_80030B20 = 1.0; -f32 D_80030B24 = 1.0; -f32 solo_ammo_multiplier = 1.0; -s16 Throwing_knife_SFX[] = {0x5F, 0x60, 0x61}; - -u32 D_80030B34[] = { - 0, 1, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 -}; -//80030b74 -u32 monitor_animation_microcode[] = { - 7, 0, 1, 0x400, 0x14, 8, 0x14, 2, - 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, - 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, - 8, 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, - 8, 0x14, 0xB -}; - -u32 D_80030C00[] = { - 7, 0xC, 1, 0x400, 0x14, - 8, 0x14, 2, 0x400, 0x14, 0xD, 0xFF, 0x14, - 8, 0x14, 5, 0x200, 0x14, 6, 0x200, 0x14, - 0xD,0xFFFFFFFF, 0x14, 8, 0x14, 5, 0x400, 0x14, - 6, 0x400, 0x14, 8, 0x14, 7, 0xD, 1, - 0x400, 0x14, 8, 0x14, 2, 0x400, 0x14, 0xD, - 0xFF, 0x14, 8, 0x14, 5, 0x200, 0x14, 6, - 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, 8, 0x14, 5, - 0x400, 0x14, 6, 0x400, 0x14, 8, 0x14, 7, - 0xE, 1, 0x400, 0x14, 8, 0x14, 2, 0x400, - 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, 0x200, - 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, 8, - 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, 8, - 0x14, 7, 0xF, 1, 0x400, 0x14, 8, 0x14, - 2, 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, - 5, 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, - 0x14, 8, 0x14, 5, 0x400, 0x14, 6, 0x400, - 0x14, 8, 0x14, 0xB, -}; - -u32 D_80030E24[] = { - 7, 0x11, 8, 0x50, - 7, 0x12, 8, 0x50, 7, 0x13, 8, 0x50, - 7, 0x14, 8, 0x50, 7, 0x15, 8, 0x50, - 7, 0x16, 8, 0x50, 7, 0x17, 8, 0x50, - 7, 0x18, 8, 0x50, 7, 0x19, 8, 0x50, - 7, 0x1A, 8, 0x50, 0xB, -}; - -u32 D_80030EC8[] = { - 7, 7, 8, - 0x50, 7, 8, 8, 0x50, 7, 9, 8, - 0x50, 7, 0xC, 8, 0x50, 7, 0xD, 8, - 0x50, 8, 0x50, 7, 0x19, 8, 0x50, 7, - 0x14, 8, 0x50, 0xB -}; - -u32 D_80030F44[] = { - 0xD,0x202020FF, 1, 7, 0x1C, 1, 0x800, 0x78, - 8, 0x78, 5, 0x100, 1, 6, 0x200, 0x3C, - 1,0xFFFFE000, 0x78, 8, 0x78, 5, 0x400, 1, - 6, 0x400, 0x3C, 6, 0x400, 0x3C, 1, 0x800, - 0x78, 8, 0x78, 5, 0x80, 1, 6, 0x800, - 0x3C, 6, 0x400, 0x78, 2, 0x400, 0x3C, 1, - 0x200, 0x78, 8, 0x78, 0xB -}; - -u32 D_80031018[] = { - 0xD, 0x202020FF, 1, 7, 0x1C, 5, 0x80, 1, 6, 0x800, 0x3C, 6, 0x400, 0x78, - 2, 0x400, 0xA, 1, 0x200, 0x28, 8, 0x78, 0xB -}; - -u32 D_80031074[] = { - 7, 0x1D, 0xD, 0x8000FF, 1, 2, 0xFFFFFE00, 0x50, 8, 0x78, 2, 0xFFFFFF00, - 0x14, 8, 0x78, 2, 0xFFFFFF80, 0xA, 8, 0x28, 2, 0xFFFFFE00, 0x28, 8, 0x3C, - 2, 0xFFFFFFC0, 0x1E, 8, 0x78, 0xB -}; - -u32 D_800310F0[] = { - 7, 0x1D, 0xD, 0x280000FF, 1, 2, 0x200, 0x50, 8, 0x78, 2, 0x100, 0x14, - 8, 0x78, 2, 0x80, 0xA, 8, 0x28, 2, 0x200, 0x28, 8, 0x3C, 2, 0x40, 0x1E, - 8, 0x78, 2, 0x100, 0x14, 8, 0x78, 2, 0x80, 0xA, 0xB -}; - -u32 D_8003118C[] = { - 7, 0x1D, 0xD, 0x3C00FF, 1, 2, 0x200, 0x50, 8, 0x78, 2, 0x80, 0xA, 8, - 0x28, 2, 0x100, 0x14, 8, 0x78, 2, 0x80, 0xA, 8, 0x28, 2, 0x200, 0x28, - 8, 0x3C, 2, 0x40, 0x1E, 8, 0x78, 0xB -}; - -u32 D_8003121C[] = { - 7, 0x1E, 0xD, 0x404000FF, 1, 1, 0x280, 1, 8, 0xA, 0xB -}; - -u32 D_80031248[] = { - 7, 0x1E, 0xD, 0x4040FF, 1, 1, 0x280, 1, 8, 0xA, 0xB -}; - -u32 D_80031274[] = { - 7, 0x1E, 0xD,0x406440FF, 1, 1,0xFFFFFD80, - 1, 8, 0xA, 0xB -}; - -u32 D_800312A0[] = { - 0xD, 0xAFF0AFE, 0x14, 9, &D_800312C8 -}; - -u32 D_800312B4[] = { - 0xD, 0xA640AFE, 0x14, 9, (u32)&D_800312C8 -}; - -u32 D_800312C8[] = { - 0xF, 0xB6, 8, 1, 0xA, &D_800312A0, 0x51E, 0xA, &D_800312B4, 0x147A, 0xB -}; - -u32 D_800312F4[] = { - 7, 0x30, 0xD, 0xA960AFE, 1, 9, &D_800312B4 -}; - -u32 D_80031310[] = { - 7, 0x10, 0xD, 0x303080FF, 0x1E, 8, 5, 7, 0x2D, 8, 5, 7, 0x2E, 8, 5, 7, 0x2F, 8, 5, 0xB -}; - -u32 D_80031360[] = { - 7, 0x2C, 0xD,0x308030FF, 0x1E, 1,0xFFFFFC00, 0x400, - 8, 0x5A0, 3, 0x288, 0x168, 4, 0x3AA, 0x168, - 5, 0x80, 0x12C, 6, 0x80, 0x12C, 0xD, 0xFF, - 0x3C, 8, 0x3C, 0xD,0x808080FF, 0xA, 8, 0x5A, - 0xD,0x38C838FF, 0x1E, 8, 0x1E, 0xD,0x803838FF, 0x3C, - 8, 0x3C, 0xD,0x808080FF, 0x3C, 8, 0x3C, 3, - 0x200, 0x168, 4, 0x200, 0x168, 5, 0x400, 0x2D0, - 6, 0x400, 0x2D0, 8, 0x12C, 7, 0x2C, 8, - 0x1A4, 0xD, 0xC800FF, 0x1E, 8, 0x1E, 0xD,0x1E381EFF, - 0x3C, 8, 0x3C, 0xB -}; - -u32 D_80031490[] = { - 0xD, 0xFF, 1, 0xD,0xC8C8C8FF, 0x190, 7, 1, - 8, 0x2A8, 7, 2, 8, 0x2A8, 7, 4, - 8, 0xB4, 0xD,0x808032FF, 1, 7, 4, 8, - 0xC8, 0xB -}; - -u32 D_800314F8[] = { - 5, 0x400, 1, 6, 0x400, 1, 0xD,0xC81414FF, - 1, 7, 6, 8, 0x258, 0xD,0xC8C8C8FF, 5, - 8, 5, 0xD,0x383838FF, 0x3C, 7, 0x1B, 0xD, - 0xA0A0AFF, 0x64, 8, 0x190, 0xB -}; - -u32 D_8003156C[] = { - 0xD, 0xA960AFF, 0, 7, 0x28, 8, 5, 7, - 0x29, 8, 5, 7, 0x2A, 8, 5, 7, - 0x2B, 8, 0xA, 7, 0x29, 8, 5, 0xB -}; - -u32 D_800315CC[] = { - 7, 0x24, 0xD, 0xA960AFF, 0, 8, 3, 0xD, - 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, 8, - 3, 0xD, 0x87808FF, 0, 8, 2, 1, 0x264, - 0x1E, 7, 0x25, 0xD, 0xA960AFF, 0, 8, 3, - 0xD, 0x87808FF, 0, 8, 2, 7, 0x26, 0xD, - 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, 8, - 2, 7, 0x27, 0xD, 0xA960AFF, 0, 8, 3, - 0xD, 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, - 8, 3, 0xD, 0x87808FF, 0, 8, 2, 0xD, - 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, 8, - 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, - 0, 8, 2, 1, 0x19C, 0x28, 7, 0x26, - 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, - 8, 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, - 0x87808FF, 0, 8, 2, 7, 0x25, 0xD, 0xA960AFF, - 0, 8, 3, 0xD, 0x87808FF, 0, 8, 2, - 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, - 8, 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, - 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, 8, - 3, 0xD, 0x87808FF, 0, 8, 2, 0xB -}; - -u32 D_80031848[] = { - 0x0000000D, 0x0A780AFF, - 0x00000000, 0x00000007, - 0x00000020, 0x00000008, - 0x00000005, 0x00000007, - 0x00000021, 0x00000008, - 0x00000005, 0x00000007, - 0x00000022, 0x00000008, - 0x00000005, 0x00000007, - 0x00000023, 0x00000008, - 0x00000005, 0x0000000B -}; - -u32 D_80031898[] = {7, 0x1C, 0xD, 0x800000, 1, 8, 5, 0xB}; - -struct struct_5 D_800318B8[] = { - {0xA, D_80031018, 0x1999}, - {0xA, D_8003156C, 0x1999}, - {0xA, D_8003121C, 0x1999}, - {0xA, D_80031248, 0x1999}, - {0xA, D_80031274, 0x1999}, - {0xA, D_800310F0, 0x3333}, - {0xA, D_8003118C, 0x6666}, - {0xA, D_80031074, 0xFFFF} -}; - -u32 D_80031918 = 0xB; - -struct struct_5 D_8003191C[] = { - {0xA, D_80030F44, 0x51E}, - {0xA, D_8003121C, 0x51E}, - {0xA, D_80031074, 0x51E}, - {0xA, &D_80031950, 0x9999} -}; - -u32 D_8003194C = 0xB; - -struct struct_5 D_80031950[] = { - {0xA, &D_800319D4, 0x1999}, - {0xA, &D_800319F0, 0x1999}, - {0xA, &D_80031A0C, 0x1999}, - {0xA, &D_80031A28, 0x1999}, - {0xA, &D_80031A44, 0x1999}, - {0xA, &D_80031A60, 0x1999}, - {0xA, &D_80031A7C, 0x1999}, - {0xA, &D_80031A98, 0x1999}, - {0xA, &D_80031AB4, 0x1999}, - {0xA, &D_80031AD0, 0x1999} -}; -u32 D_800319C8[] = {8, 0x64, 0xB}; - -struct struct_0 D_800319D4 = {7, 0x11, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_800319F0 = {7, 0x12, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A0C = {7, 0x13, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A28 = {7, 0x14, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A44 = {7, 0x15, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A60 = {7, 0x16, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A7C = {7, 0x17, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031A98 = {7, 0x18, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031AB4 = {7, 0x19, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; -struct struct_0 D_80031AD0 = {7, 0x1A, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; - -struct struct_5 D_80031AEC[] = { - {0xA, &D_80031B24, 0x1999}, - {0xA, &D_80031B38, 0x1999}, - {0xA, &D_80031B4C, 0x1999} -}; - -struct struct_12 D_80031B10[] = {0xD, 0xC8, 0xC8, 0xC8, 0xFF, 0x3C, 9, D_80031B60}; -struct struct_12 D_80031B24[] = {0xD, 0xC8, 0x32, 0x32, 0xFF, 0x3C, 9, D_80031B60}; -struct struct_12 D_80031B38[] = {0xD, 0x32, 0xC8, 0x32, 0xFF, 0x3C, 9, D_80031B60}; -struct struct_12 D_80031B4C[] = {0xD, 0x32, 0x32, 0xC8, 0xFF, 0x3C, 9, D_80031B60}; -u32 D_80031B60[] = {8, 0x32}; - -//80031B68 -struct struct_5 D_80031B68 = {0xA, &D_80031BB4, 0x1999}; -//80031B74 -struct struct_5 D_80031B74 = {0xA, &D_80031BD0, 0x1999}; -//80031B80 -struct struct_5 D_80031B80 = {0xA, &D_80031BEC, 0x1999}; -//80031B8C -struct struct_5 D_80031B8C = {0xA, &D_80031C08, 0x1999}; -//80031B98 -struct struct_5 D_80031B98 = {0xA, &D_80031C80, 0x1999}; -//80031BA4 -u32 D_80031BA4[] = {8, 0x12C, 9, &D_80031D30}; - -struct struct_16 D_80031BB4 = {1, 0x800, 0x78, 8, 0x78, 9, D_80031D30}; -struct struct_16 D_80031BD0 = {2, 0x2000, 0x32, 8, 0xC8, 9, D_80031D30}; -struct struct_16 D_80031BEC = {2, 0x2000, 0xC8, 8, 0xC8, 9, D_80031D30}; - -u32 D_80031C08[] = { - 3, 0x288, 0x12C, 4, 0x3AA, 0x12C, - 5, 0x80, 0xC8, 6, 0x80, 0xC8, - 8, 0x12C, 3, 0x200, 0x32, - 4, 0x200, 0xC8, 5, 0x400, 0x2D0, - 6, 0x400, 0x2D0, 8, 0x258, 9, D_80031D30 -}; - -u32 D_80031C80[] = { - 3, 0x320, 0x190, 4, 0x190, 0x190, 5, 0x80, - 0xC8, 6, 0x80, 0xC8, 8, 0x12C, 3, 0xC8, - 0xC8, 4, 0x190, 0x320, 5, 0x200, 0x2D0, 6, - 0x200, 0x2D0, 8, 0x320, 5, 0x400, 0x2D0, 6, - 0x400, 0x2D0, 3, 0x200, 0x64, 4, 0x200, 0x3C, - 8, 0x1F4, 9, D_80031D30 -}; - -u32 D_80031D30[] = { - 8, 0x32, 0xA, &D_80031AEC, 0x1999, 0xA, &D_80031D58, 0x3333, - 9, &D_80031950 -}; - -struct struct_20 D_80031D58 = {8, 0x32, 0xD, 0xFFFFFFFF, 0xA, 0xD, 0xFF, 5, 0xD, 0xFFFFFFFF, 0xA, 8, 0x19, 0xD, 0xFF, 0xC8, 8, 0x1F4, 9, D_80031950}; - -u32 D_80031DA8[] = { - 7, 0x31, 5, 0x200, 0, 6, 0x200, 0, - 0xD,0xDC2828FF, 0x3C, 8, 0x3C, 0xD,0x323232FF, 0xA, - 8, 0xA, 0xB -}; - -u32 D_80031DF4[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, - 0xD, 0x32C832FF, 0x3C, 8, 0x3C, - 0xD, 0x323232FF, 0xA, 8, 0xA, 0xB -}; - -u32 D_80031E40[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, - 0xD, 0x323232FF, 0xA, 8, 0xA, 0xB -}; - -u32 D_80031E78[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, - 0xD, 0xDC2828FF, 0xA, 8, 0xA, 0xB -}; - -u32 D_80031EB0[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, - 0xD, 0x32C832FF, 0xA, 8, 0xA, 0xB -}; - -u32 D_80031EE8[] = {7, 0, 0xD, 0xFF, 0, 0xC}; - -u32 dword_D_80031F00[] = { - 5, 0x400, 0, 6, 0x400, 0, 8, 1, - 5, 0x1000, 0x14, 6, 0x1000, 0x14, 8, 0x14, - 0xB -}; - -u32 dword_D_80031F44[] = { - 7, 0, 1, 0x400, 0x14, 8, 0x14, 2, - 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, - 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, - 8, 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, - 8, 0x14, 0xB -}; - -u32 D_80031FD0[] = { - 0, 1, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 -}; - -u32 D_80032010 = 0; -u32 D_80032014 = 0; -u32 D_80032018 = 0; -u32 D_8003201C = 0; -u32 D_80032020 = 0; -u32 D_80032024 = 0; -u32 D_80032028 = 0; -u32 D_8003202C = 0; -u32 D_80032030 = 0; -u32 D_80032034 = 0; -u32 D_80032038 = 0; -u32 D_8003203C = 0; -u32 D_80032040 = 0; -u32 D_80032044 = 0; -u32 D_80032048 = 0; - -u32 D_8003204C = 0x7FFF; -u32 D_80032050 = 0x7FFF; -u32 D_80032054 = 0x7FFF; -u32 D_80032058 = 0xFFFF8000; -u32 D_8003205C = 0xFFFF8000; -u32 D_80032060 = 0xFFFF8000; -u32 D_80032064 = 0; -u32 D_80032068 = 0; -u32 D_8003206C = 0; -u32 D_80032070 = 0x7FFF; -u32 D_80032074 = 0x7FFF; -u32 D_80032078 = 0x7FFF; -u32 D_8003207C = 0xFFFF8000; -u32 D_80032080 = 0xFFFF8000; -u32 D_80032084 = 0xFFFF8000; -u32 D_80032088 = 0; -u32 D_8003208C = 0; -u32 D_80032090 = 0; - -u32 blank_07_object[] = { - 0x1000007, 0xFFFF, 1, 0, 0, 0,0x3F800000, 0, - 0, 0, 0,0x3F800000, 0, 0, 0, 0, - 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, - 0, 0, 0, 0, 0,0x447A0000 -}; - -u32 D_8003210C[] = {0xFFFFFF00, 0xFFFFFF00}; - -u32 blank_11_object[] = { - 0x1000011, 0, 0x4000, 0, 0, 0,0x3F800000, 0, - 0, 0, 0,0x3F800000, 0, 0, 0, 0, - 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, - 0, 0, 0, 0, 0,0x447A0000 -}; - -u32 D_8003218C[] = {0xFFFFFF00, 0xFFFFFF00}; - -u32 blank_08_object_preset_1[] = { - 0x1000008, 1, 0, 0, 0, 0,0x3F800000, 0, - 0, 0, 0,0x3F800000, 0, 0, 0, 0, - 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, - 0, 0, 0, 0, 0,0x447A0000,0xFFFFFF00,0xFFFFFF00, - 0xFFFFFF -}; - -u32 D_80032218 = 0; - -u32 blank_08_object_preset_4001[] = { - 0x1000008, 0x4001, 0, 0, 0, 0,0x3F800000, 0, - 0, 0, 0,0x3F800000, 0, 0, 0, 0, - 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, - 0, 0, 0, 0, 0,0x447A0000,0xFFFFFF00,0xFFFFFF00, - 0xFFFFFF -}; - -u32 D_800322A0 = 0; -u32 D_800322A4 = 0; - -u32 D_800322A8[] = {1, 3}; -u32 D_800322B0[] = {0, 0, 0, 0}; -u32 D_800322C0[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -//rodata @@ -7165,7 +6722,7 @@ actionBF_Spawn_Weapon_9: /* 06D6F8 7F038BC8 8EEF001C */ lw $t7, 0x1c($s7) /* 06D6FC 7F038BCC 11E00021 */ beqz $t7, .L7F038C54 /* 06D700 7F038BD0 00000000 */ nop -/* 06D704 7F038BD4 0FC249EF */ jal sub_GAME_7F0927BC +/* 06D704 7F038BD4 0FC249EF */ jal cheatCheckIfOn /* 06D708 7F038BD8 2404001C */ li $a0, 28 /* 06D70C 7F038BDC 50400018 */ beql $v0, $zero, .L7F038C40 /* 06D710 7F038BE0 02E02025 */ move $a0, $s7 @@ -7879,7 +7436,7 @@ actionD5_Go_To_Camera_Position_6: /* 06E124 7F0395F4 92240001 */ lbu $a0, 1($s1) /* 06E128 7F0395F8 1040001A */ beqz $v0, .L7F039664 /* 06E12C 7F0395FC 00408025 */ move $s0, $v0 -/* 06E130 7F039600 0FC15AC7 */ jal sub_GAME_7F056B1C +/* 06E130 7F039600 0FC15AC7 */ jal check_if_object_type_has_been_loaded /* 06E134 7F039604 00402025 */ move $a0, $v0 /* 06E138 7F039608 04420017 */ bltzl $v0, .L7F039668 /* 06E13C 7F03960C 26520006 */ addiu $s2, $s2, 6 @@ -8692,7 +8249,7 @@ actionFC_Launch_Shuttle_2: /* 06ECB8 7F03A188 AFA30088 */ sw $v1, 0x88($sp) /* 06ECBC 7F03A18C 8FA30088 */ lw $v1, 0x88($sp) /* 06ECC0 7F03A190 8C64006C */ lw $a0, 0x6c($v1) -/* 06ECC4 7F03A194 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 06ECC4 7F03A194 0FC15FF4 */ jal reset_array_of_0x10_floats /* 06ECC8 7F03A198 24840020 */ addiu $a0, $a0, 0x20 /* 06ECCC 7F03A19C 8FA30088 */ lw $v1, 0x88($sp) /* 06ECD0 7F03A1A0 3C018005 */ lui $at, %hi(D_80052974) @@ -13032,7 +12589,7 @@ actionBF_Spawn_Weapon_9: /* 06D6F8 7F038BC8 8EEF001C */ lw $t7, 0x1c($s7) /* 06D6FC 7F038BCC 11E00021 */ beqz $t7, .L7F038C54 /* 06D700 7F038BD0 00000000 */ nop -/* 06D704 7F038BD4 0FC249EF */ jal sub_GAME_7F0927BC +/* 06D704 7F038BD4 0FC249EF */ jal cheatCheckIfOn /* 06D708 7F038BD8 2404001C */ li $a0, 28 /* 06D70C 7F038BDC 50400018 */ beql $v0, $zero, .L7F038C40 /* 06D710 7F038BE0 02E02025 */ move $a0, $s7 @@ -13246,7 +12803,7 @@ actionC2_Display_Text_Preset_Bottom_Screen_3: /* 06DA00 7F038ED0 000C5A00 */ sll $t3, $t4, 8 /* 06DA04 7F038ED4 0FC30776 */ jal get_textptr_for_textID /* 06DA08 7F038ED8 01782025 */ or $a0, $t3, $t8 -/* 06DA0C 7F038EDC 0FC228F2 */ jal jp_FUN_7f08ac40 +/* 06DA0C 7F038EDC 0FC228F2 */ jal jp_display_string_in_lower_left_corner /* 06DA10 7F038EE0 00402025 */ move $a0, $v0 /* 06DA14 7F038EE4 26520003 */ addiu $s2, $s2, 3 /* 06DA18 7F038EE8 1000F1A8 */ b GetByteS1_ParseCommandByte_SwitchCase @@ -13746,7 +13303,7 @@ actionD5_Go_To_Camera_Position_6: /* 06E124 7F0395F4 92240001 */ lbu $a0, 1($s1) /* 06E128 7F0395F8 1040001A */ beqz $v0, .L7F039664 /* 06E12C 7F0395FC 00408025 */ move $s0, $v0 -/* 06E130 7F039600 0FC15AC7 */ jal sub_GAME_7F056B1C +/* 06E130 7F039600 0FC15AC7 */ jal check_if_object_type_has_been_loaded /* 06E134 7F039604 00402025 */ move $a0, $v0 /* 06E138 7F039608 04420017 */ bltzl $v0, .L7F039668 /* 06E13C 7F03960C 26520006 */ addiu $s2, $s2, 6 @@ -14559,7 +14116,7 @@ actionFC_Launch_Shuttle_2: /* 06ECB8 7F03A188 AFA30088 */ sw $v1, 0x88($sp) /* 06ECBC 7F03A18C 8FA30088 */ lw $v1, 0x88($sp) /* 06ECC0 7F03A190 8C64006C */ lw $a0, 0x6c($v1) -/* 06ECC4 7F03A194 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 06ECC4 7F03A194 0FC15FF4 */ jal reset_array_of_0x10_floats /* 06ECC8 7F03A198 24840020 */ addiu $a0, $a0, 0x20 /* 06ECCC 7F03A19C 8FA30088 */ lw $v1, 0x88($sp) /* 06ECD0 7F03A1A0 3C018005 */ lui $at, %hi(D_80052974) @@ -16898,7 +16455,7 @@ glabel sub_GAME_7F03BDEC .L7F03BEC8: /* 0709F8 7F03BEC8 3C014248 */ li $at, 0x42480000 # 50.000000 /* 0709FC 7F03BECC 4481A000 */ mtc1 $at, $f20 -/* 070A00 7F03BED0 0FC1741E */ jal sub_GAME_7F05D078 +/* 070A00 7F03BED0 0FC1741E */ jal getCurrentWeaponOrItem /* 070A04 7F03BED4 8E120004 */ lw $s2, 4($s0) /* 070A08 7F03BED8 24010011 */ li $at, 17 /* 070A0C 7F03BEDC 14410004 */ bne $v0, $at, .L7F03BEF0 @@ -17909,7 +17466,7 @@ glabel determing_type_of_object_and_detection /* 07167C 7F03CB4C 00402025 */ move $a0, $v0 /* 071680 7F03CB50 54400008 */ bnezl $v0, .L7F03CB74 /* 071684 7F03CB54 8FBF0024 */ lw $ra, 0x24($sp) -/* 071688 7F03CB58 0FC1597C */ jal sub_GAME_7F0565F0 +/* 071688 7F03CB58 0FC1597C */ jal handle_alarm_gas_timer_calldamage /* 07168C 7F03CB5C 00000000 */ nop /* 071690 7F03CB60 0FC0D239 */ jal loop_set_sound_effect_all_slots /* 071694 7F03CB64 00000000 */ nop @@ -18508,22 +18065,6 @@ glabel D_800529C0 .word 0x3e333333 /*0.175*/ glabel D_800529C4 .word 0x3f533333 /*0.82499999*/ -glabel D_800529C8 -.word 0 -.word 0 -glabel D_800529D0 -.word 0xA000000 /*"\n"*/ -glabel D_800529D4 -.word 0x2E0A0000 /*".\n"*/ -glabel D_800529D8 -.word 0, 0, 0, 0, 0, 0, 0, 0 -.word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -glabel D_80052A38 -.word 0 -glabel D_80052A3C -.word 0 -glabel D_80052A40 -.word 0xA000000 /*"\n"*/ .text glabel sub_GAME_7F03D188 /* 071CB8 7F03D188 27BDFF50 */ addiu $sp, $sp, -0xb0 @@ -22034,36890 +21575,3 @@ glabel sub_GAME_7F03FAB0 -#ifdef NONMATCHING -void sub_GAME_7F03FB70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FB70 -/* 0746A0 7F03FB70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0746A4 7F03FB74 AFBF001C */ sw $ra, 0x1c($sp) -/* 0746A8 7F03FB78 AFB00018 */ sw $s0, 0x18($sp) -/* 0746AC 7F03FB7C 8C8E0000 */ lw $t6, ($a0) -/* 0746B0 7F03FB80 00808025 */ move $s0, $a0 -/* 0746B4 7F03FB84 31CF0080 */ andi $t7, $t6, 0x80 -/* 0746B8 7F03FB88 51E00014 */ beql $t7, $zero, .L7F03FBDC -/* 0746BC 7F03FB8C 8E180000 */ lw $t8, ($s0) -/* 0746C0 7F03FB90 8C840098 */ lw $a0, 0x98($a0) -/* 0746C4 7F03FB94 50800008 */ beql $a0, $zero, .L7F03FBB8 -/* 0746C8 7F03FB98 8E04009C */ lw $a0, 0x9c($s0) -/* 0746CC 7F03FB9C 0C00237C */ jal sfxGetArg0Unk3F -/* 0746D0 7F03FBA0 00000000 */ nop -/* 0746D4 7F03FBA4 50400004 */ beql $v0, $zero, .L7F03FBB8 -/* 0746D8 7F03FBA8 8E04009C */ lw $a0, 0x9c($s0) -/* 0746DC 7F03FBAC 0C002408 */ jal sfxDeactivate -/* 0746E0 7F03FBB0 8E040098 */ lw $a0, 0x98($s0) -/* 0746E4 7F03FBB4 8E04009C */ lw $a0, 0x9c($s0) -.L7F03FBB8: -/* 0746E8 7F03FBB8 50800008 */ beql $a0, $zero, .L7F03FBDC -/* 0746EC 7F03FBBC 8E180000 */ lw $t8, ($s0) -/* 0746F0 7F03FBC0 0C00237C */ jal sfxGetArg0Unk3F -/* 0746F4 7F03FBC4 00000000 */ nop -/* 0746F8 7F03FBC8 50400004 */ beql $v0, $zero, .L7F03FBDC -/* 0746FC 7F03FBCC 8E180000 */ lw $t8, ($s0) -/* 074700 7F03FBD0 0C002408 */ jal sfxDeactivate -/* 074704 7F03FBD4 8E04009C */ lw $a0, 0x9c($s0) -/* 074708 7F03FBD8 8E180000 */ lw $t8, ($s0) -.L7F03FBDC: -/* 07470C 7F03FBDC 3C018000 */ lui $at, 0x8000 -/* 074710 7F03FBE0 0301C825 */ or $t9, $t8, $at -/* 074714 7F03FBE4 AE190000 */ sw $t9, ($s0) -/* 074718 7F03FBE8 8FBF001C */ lw $ra, 0x1c($sp) -/* 07471C 7F03FBEC 8FB00018 */ lw $s0, 0x18($sp) -/* 074720 7F03FBF0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 074724 7F03FBF4 03E00008 */ jr $ra -/* 074728 7F03FBF8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FBFC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A44 -.word 0x3A0A0000 /*":\n"*/ -glabel D_80052A48 -.word 0x3d4ccccd /*0.050000001*/ -.text -glabel sub_GAME_7F03FBFC -/* 07472C 7F03FBFC 44800000 */ mtc1 $zero, $f0 -/* 074730 7F03FC00 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 074734 7F03FC04 44811000 */ mtc1 $at, $f2 -/* 074738 7F03FC08 AC800000 */ sw $zero, ($a0) -/* 07473C 7F03FC0C AC800088 */ sw $zero, 0x88($a0) -/* 074740 7F03FC10 3C018005 */ lui $at, %hi(D_80052A48) -/* 074744 7F03FC14 E4800004 */ swc1 $f0, 4($a0) -/* 074748 7F03FC18 E4800008 */ swc1 $f0, 8($a0) -/* 07474C 7F03FC1C E480000C */ swc1 $f0, 0xc($a0) -/* 074750 7F03FC20 E4800010 */ swc1 $f0, 0x10($a0) -/* 074754 7F03FC24 E4800014 */ swc1 $f0, 0x14($a0) -/* 074758 7F03FC28 E4800018 */ swc1 $f0, 0x18($a0) -/* 07475C 7F03FC2C E480001C */ swc1 $f0, 0x1c($a0) -/* 074760 7F03FC30 E4820060 */ swc1 $f2, 0x60($a0) -/* 074764 7F03FC34 C4242A48 */ lwc1 $f4, %lo(D_80052A48)($at) -/* 074768 7F03FC38 2402FFFF */ li $v0, -1 -/* 07476C 7F03FC3C 240E0001 */ li $t6, 1 -/* 074770 7F03FC40 AC800090 */ sw $zero, 0x90($a0) -/* 074774 7F03FC44 AC8200A0 */ sw $v0, 0xa0($a0) -/* 074778 7F03FC48 AC8000A4 */ sw $zero, 0xa4($a0) -/* 07477C 7F03FC4C AC8000A8 */ sw $zero, 0xa8($a0) -/* 074780 7F03FC50 AC8200AC */ sw $v0, 0xac($a0) -/* 074784 7F03FC54 AC8E00B8 */ sw $t6, 0xb8($a0) -/* 074788 7F03FC58 AC8000BC */ sw $zero, 0xbc($a0) -/* 07478C 7F03FC5C AC8000E0 */ sw $zero, 0xe0($a0) -/* 074790 7F03FC60 AC8000E4 */ sw $zero, 0xe4($a0) -/* 074794 7F03FC64 AC8000E8 */ sw $zero, 0xe8($a0) -/* 074798 7F03FC68 E4800094 */ swc1 $f0, 0x94($a0) -/* 07479C 7F03FC6C E48200C0 */ swc1 $f2, 0xc0($a0) -/* 0747A0 7F03FC70 E48200C4 */ swc1 $f2, 0xc4($a0) -/* 0747A4 7F03FC74 E48200C8 */ swc1 $f2, 0xc8($a0) -/* 0747A8 7F03FC78 03E00008 */ jr $ra -/* 0747AC 7F03FC7C E484008C */ swc1 $f4, 0x8c($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FC80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FC80 -/* 0747B0 7F03FC80 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0747B4 7F03FC84 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) -/* 0747B8 7F03FC88 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) -/* 0747BC 7F03FC8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0747C0 7F03FC90 2406FFFF */ li $a2, -1 -/* 0747C4 7F03FC94 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 -/* 0747C8 7F03FC98 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 -/* 0747CC 7F03FC9C 00002825 */ move $a1, $zero -/* 0747D0 7F03FCA0 3C038000 */ lui $v1, 0x8000 -.L7F03FCA4: -/* 0747D4 7F03FCA4 8C4E0000 */ lw $t6, ($v0) -/* 0747D8 7F03FCA8 244200EC */ addiu $v0, $v0, 0xec -/* 0747DC 7F03FCAC 0044082B */ sltu $at, $v0, $a0 -/* 0747E0 7F03FCB0 01C37824 */ and $t7, $t6, $v1 -/* 0747E4 7F03FCB4 11E00007 */ beqz $t7, .L7F03FCD4 -/* 0747E8 7F03FCB8 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) -/* 0747EC 7F03FCBC 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 -/* 0747F0 7F03FCC0 00E52021 */ addu $a0, $a3, $a1 -/* 0747F4 7F03FCC4 0FC0FEFF */ jal sub_GAME_7F03FBFC -/* 0747F8 7F03FCC8 AFA40020 */ sw $a0, 0x20($sp) -/* 0747FC 7F03FCCC 10000032 */ b .L7F03FD98 -/* 074800 7F03FCD0 8FA20020 */ lw $v0, 0x20($sp) -.L7F03FCD4: -/* 074804 7F03FCD4 1420FFF3 */ bnez $at, .L7F03FCA4 -/* 074808 7F03FCD8 24A500EC */ addiu $a1, $a1, 0xec -/* 07480C 7F03FCDC 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) -/* 074810 7F03FCE0 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) -/* 074814 7F03FCE4 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 -/* 074818 7F03FCE8 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 -/* 07481C 7F03FCEC 00001825 */ move $v1, $zero -/* 074820 7F03FCF0 240500EC */ li $a1, 236 -/* 074824 7F03FCF4 24040014 */ li $a0, 20 -.L7F03FCF8: -/* 074828 7F03FCF8 8C5800E4 */ lw $t8, 0xe4($v0) -/* 07482C 7F03FCFC 5300000D */ beql $t8, $zero, .L7F03FD34 -/* 074830 7F03FD00 24630001 */ addiu $v1, $v1, 1 -/* 074834 7F03FD04 04C2000A */ bltzl $a2, .L7F03FD30 -/* 074838 7F03FD08 00603025 */ move $a2, $v1 -/* 07483C 7F03FD0C 00C50019 */ multu $a2, $a1 -/* 074840 7F03FD10 8C5900E8 */ lw $t9, 0xe8($v0) -/* 074844 7F03FD14 00004812 */ mflo $t1 -/* 074848 7F03FD18 00E95021 */ addu $t2, $a3, $t1 -/* 07484C 7F03FD1C 8D4B00E8 */ lw $t3, 0xe8($t2) -/* 074850 7F03FD20 032B082A */ slt $at, $t9, $t3 -/* 074854 7F03FD24 50200003 */ beql $at, $zero, .L7F03FD34 -/* 074858 7F03FD28 24630001 */ addiu $v1, $v1, 1 -/* 07485C 7F03FD2C 00603025 */ move $a2, $v1 -.L7F03FD30: -/* 074860 7F03FD30 24630001 */ addiu $v1, $v1, 1 -.L7F03FD34: -/* 074864 7F03FD34 1464FFF0 */ bne $v1, $a0, .L7F03FCF8 -/* 074868 7F03FD38 244200EC */ addiu $v0, $v0, 0xec -/* 07486C 7F03FD3C 04C00016 */ bltz $a2, .L7F03FD98 -/* 074870 7F03FD40 00001025 */ move $v0, $zero -/* 074874 7F03FD44 00C50019 */ multu $a2, $a1 -/* 074878 7F03FD48 00001812 */ mflo $v1 -/* 07487C 7F03FD4C 00E34021 */ addu $t0, $a3, $v1 -/* 074880 7F03FD50 8D0C00E4 */ lw $t4, 0xe4($t0) -/* 074884 7F03FD54 8D840010 */ lw $a0, 0x10($t4) -/* 074888 7F03FD58 AFA80020 */ sw $t0, 0x20($sp) -/* 07488C 7F03FD5C 0FC1033C */ jal sub_GAME_7F040CF0 -/* 074890 7F03FD60 AFA30024 */ sw $v1, 0x24($sp) -/* 074894 7F03FD64 8FA80020 */ lw $t0, 0x20($sp) -/* 074898 7F03FD68 8FA30024 */ lw $v1, 0x24($sp) -/* 07489C 7F03FD6C 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) -/* 0748A0 7F03FD70 8D0200E4 */ lw $v0, 0xe4($t0) -/* 0748A4 7F03FD74 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 -/* 0748A8 7F03FD78 00E32021 */ addu $a0, $a3, $v1 -/* 0748AC 7F03FD7C 8C4D0064 */ lw $t5, 0x64($v0) -/* 0748B0 7F03FD80 35AE0004 */ ori $t6, $t5, 4 -/* 0748B4 7F03FD84 AC4E0064 */ sw $t6, 0x64($v0) -/* 0748B8 7F03FD88 0FC0FEFF */ jal sub_GAME_7F03FBFC -/* 0748BC 7F03FD8C AFA4001C */ sw $a0, 0x1c($sp) -/* 0748C0 7F03FD90 10000001 */ b .L7F03FD98 -/* 0748C4 7F03FD94 8FA2001C */ lw $v0, 0x1c($sp) -.L7F03FD98: -/* 0748C8 7F03FD98 8FBF0014 */ lw $ra, 0x14($sp) -/* 0748CC 7F03FD9C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0748D0 7F03FDA0 03E00008 */ jr $ra -/* 0748D4 7F03FDA4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FDA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FDA8 -/* 0748D8 7F03FDA8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0748DC 7F03FDAC AFBF0014 */ sw $ra, 0x14($sp) -/* 0748E0 7F03FDB0 8C830004 */ lw $v1, 4($a0) -/* 0748E4 7F03FDB4 8C620064 */ lw $v0, 0x64($v1) -/* 0748E8 7F03FDB8 304E0040 */ andi $t6, $v0, 0x40 -/* 0748EC 7F03FDBC 11C00007 */ beqz $t6, .L7F03FDDC -/* 0748F0 7F03FDC0 30580080 */ andi $t8, $v0, 0x80 -/* 0748F4 7F03FDC4 0FC0FF20 */ jal sub_GAME_7F03FC80 -/* 0748F8 7F03FDC8 AFA3001C */ sw $v1, 0x1c($sp) -/* 0748FC 7F03FDCC 8FA3001C */ lw $v1, 0x1c($sp) -/* 074900 7F03FDD0 8C6F006C */ lw $t7, 0x6c($v1) -/* 074904 7F03FDD4 1000000B */ b .L7F03FE04 -/* 074908 7F03FDD8 ADE20044 */ sw $v0, 0x44($t7) -.L7F03FDDC: -/* 07490C 7F03FDDC 5700000A */ bnezl $t8, .L7F03FE08 -/* 074910 7F03FDE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 074914 7F03FDE4 0FC0FF20 */ jal sub_GAME_7F03FC80 -/* 074918 7F03FDE8 AFA3001C */ sw $v1, 0x1c($sp) -/* 07491C 7F03FDEC 8FA3001C */ lw $v1, 0x1c($sp) -/* 074920 7F03FDF0 10400004 */ beqz $v0, .L7F03FE04 -/* 074924 7F03FDF4 AC62006C */ sw $v0, 0x6c($v1) -/* 074928 7F03FDF8 8C790064 */ lw $t9, 0x64($v1) -/* 07492C 7F03FDFC 37280080 */ ori $t0, $t9, 0x80 -/* 074930 7F03FE00 AC680064 */ sw $t0, 0x64($v1) -.L7F03FE04: -/* 074934 7F03FE04 8FBF0014 */ lw $ra, 0x14($sp) -.L7F03FE08: -/* 074938 7F03FE08 27BD0020 */ addiu $sp, $sp, 0x20 -/* 07493C 7F03FE0C 03E00008 */ jr $ra -/* 074940 7F03FE10 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FE14(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FE14 -/* 074944 7F03FE14 8C820004 */ lw $v0, 4($a0) -/* 074948 7F03FE18 00001825 */ move $v1, $zero -/* 07494C 7F03FE1C 8C450064 */ lw $a1, 0x64($v0) -/* 074950 7F03FE20 30AE0040 */ andi $t6, $a1, 0x40 -/* 074954 7F03FE24 11C00004 */ beqz $t6, .L7F03FE38 -/* 074958 7F03FE28 30B80080 */ andi $t8, $a1, 0x80 -/* 07495C 7F03FE2C 8C4F006C */ lw $t7, 0x6c($v0) -/* 074960 7F03FE30 10000004 */ b .L7F03FE44 -/* 074964 7F03FE34 8DE30044 */ lw $v1, 0x44($t7) -.L7F03FE38: -/* 074968 7F03FE38 13000002 */ beqz $t8, .L7F03FE44 -/* 07496C 7F03FE3C 00000000 */ nop -/* 074970 7F03FE40 8C43006C */ lw $v1, 0x6c($v0) -.L7F03FE44: -/* 074974 7F03FE44 1060000E */ beqz $v1, .L7F03FE80 -/* 074978 7F03FE48 00000000 */ nop -/* 07497C 7F03FE4C 8C790000 */ lw $t9, ($v1) -/* 074980 7F03FE50 240A00FF */ li $t2, 255 -/* 074984 7F03FE54 240B00FF */ li $t3, 255 -/* 074988 7F03FE58 37280004 */ ori $t0, $t9, 4 -/* 07498C 7F03FE5C AC680000 */ sw $t0, ($v1) -/* 074990 7F03FE60 8C820014 */ lw $v0, 0x14($a0) -/* 074994 7F03FE64 50400006 */ beql $v0, $zero, .L7F03FE80 -/* 074998 7F03FE68 A06B00CC */ sb $t3, 0xcc($v1) -/* 07499C 7F03FE6C 90490003 */ lbu $t1, 3($v0) -/* 0749A0 7F03FE70 A06A00CD */ sb $t2, 0xcd($v1) -/* 0749A4 7F03FE74 03E00008 */ jr $ra -/* 0749A8 7F03FE78 A06900CC */ sb $t1, 0xcc($v1) - -/* 0749AC 7F03FE7C A06B00CC */ sb $t3, 0xcc($v1) -.L7F03FE80: -/* 0749B0 7F03FE80 03E00008 */ jr $ra -/* 0749B4 7F03FE84 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FE88(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FE88 -/* 0749B8 7F03FE88 8C8E0000 */ lw $t6, ($a0) -/* 0749BC 7F03FE8C 35CF0001 */ ori $t7, $t6, 1 -/* 0749C0 7F03FE90 03E00008 */ jr $ra -/* 0749C4 7F03FE94 AC8F0000 */ sw $t7, ($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FE98(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FE98 -/* 0749C8 7F03FE98 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) -/* 0749CC 7F03FE9C 3C028007 */ lui $v0, %hi(objinst) -/* 0749D0 7F03FEA0 24425B70 */ addiu $v0, %lo(objinst) # addiu $v0, $v0, 0x5b70 -/* 0749D4 7F03FEA4 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 -/* 0749D8 7F03FEA8 00001825 */ move $v1, $zero -.L7F03FEAC: -/* 0749DC 7F03FEAC 8C8E0000 */ lw $t6, ($a0) -/* 0749E0 7F03FEB0 31CF0001 */ andi $t7, $t6, 1 -/* 0749E4 7F03FEB4 11E00006 */ beqz $t7, .L7F03FED0 -/* 0749E8 7F03FEB8 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075030) -/* 0749EC 7F03FEBC 27185030 */ addiu $t8, %lo(dword_CODE_bss_80075030) # addiu $t8, $t8, 0x5030 -/* 0749F0 7F03FEC0 AC800000 */ sw $zero, ($a0) -/* 0749F4 7F03FEC4 AC800044 */ sw $zero, 0x44($a0) -/* 0749F8 7F03FEC8 03E00008 */ jr $ra -/* 0749FC 7F03FECC 00781021 */ addu $v0, $v1, $t8 - -.L7F03FED0: -/* 074A00 7F03FED0 8C990048 */ lw $t9, 0x48($a0) -/* 074A04 7F03FED4 33280001 */ andi $t0, $t9, 1 -/* 074A08 7F03FED8 11000007 */ beqz $t0, .L7F03FEF8 -/* 074A0C 7F03FEDC 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80075030) -/* 074A10 7F03FEE0 254A5030 */ addiu $t2, %lo(dword_CODE_bss_80075030) # addiu $t2, $t2, 0x5030 -/* 074A14 7F03FEE4 24690048 */ addiu $t1, $v1, 0x48 -/* 074A18 7F03FEE8 012A1021 */ addu $v0, $t1, $t2 -/* 074A1C 7F03FEEC AC800048 */ sw $zero, 0x48($a0) -/* 074A20 7F03FEF0 03E00008 */ jr $ra -/* 074A24 7F03FEF4 AC80008C */ sw $zero, 0x8c($a0) - -.L7F03FEF8: -/* 074A28 7F03FEF8 8C8B0090 */ lw $t3, 0x90($a0) -/* 074A2C 7F03FEFC 316C0001 */ andi $t4, $t3, 1 -/* 074A30 7F03FF00 11800007 */ beqz $t4, .L7F03FF20 -/* 074A34 7F03FF04 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075030) -/* 074A38 7F03FF08 25CE5030 */ addiu $t6, %lo(dword_CODE_bss_80075030) # addiu $t6, $t6, 0x5030 -/* 074A3C 7F03FF0C 246D0090 */ addiu $t5, $v1, 0x90 -/* 074A40 7F03FF10 01AE1021 */ addu $v0, $t5, $t6 -/* 074A44 7F03FF14 AC800090 */ sw $zero, 0x90($a0) -/* 074A48 7F03FF18 03E00008 */ jr $ra -/* 074A4C 7F03FF1C AC8000D4 */ sw $zero, 0xd4($a0) - -.L7F03FF20: -/* 074A50 7F03FF20 8C8F00D8 */ lw $t7, 0xd8($a0) -/* 074A54 7F03FF24 31F80001 */ andi $t8, $t7, 1 -/* 074A58 7F03FF28 13000007 */ beqz $t8, .L7F03FF48 -/* 074A5C 7F03FF2C 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075030) -/* 074A60 7F03FF30 25085030 */ addiu $t0, %lo(dword_CODE_bss_80075030) # addiu $t0, $t0, 0x5030 -/* 074A64 7F03FF34 247900D8 */ addiu $t9, $v1, 0xd8 -/* 074A68 7F03FF38 03281021 */ addu $v0, $t9, $t0 -/* 074A6C 7F03FF3C AC8000D8 */ sw $zero, 0xd8($a0) -/* 074A70 7F03FF40 03E00008 */ jr $ra -/* 074A74 7F03FF44 AC80011C */ sw $zero, 0x11c($a0) - -.L7F03FF48: -/* 074A78 7F03FF48 24840120 */ addiu $a0, $a0, 0x120 -/* 074A7C 7F03FF4C 1482FFD7 */ bne $a0, $v0, .L7F03FEAC -/* 074A80 7F03FF50 24630120 */ addiu $v1, $v1, 0x120 -/* 074A84 7F03FF54 00001025 */ move $v0, $zero -/* 074A88 7F03FF58 03E00008 */ jr $ra -/* 074A8C 7F03FF5C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FF60(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FF60 -/* 074A90 7F03FF60 908E0002 */ lbu $t6, 2($a0) -/* 074A94 7F03FF64 3C014080 */ lui $at, 0x4080 -/* 074A98 7F03FF68 31CF0080 */ andi $t7, $t6, 0x80 -/* 074A9C 7F03FF6C 55E0000C */ bnezl $t7, .L7F03FFA0 -/* 074AA0 7F03FF70 C4840070 */ lwc1 $f4, 0x70($a0) -/* 074AA4 7F03FF74 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 074AA8 7F03FF78 44813000 */ mtc1 $at, $f6 -/* 074AAC 7F03FF7C C4840070 */ lwc1 $f4, 0x70($a0) -/* 074AB0 7F03FF80 C48A0074 */ lwc1 $f10, 0x74($a0) -/* 074AB4 7F03FF84 46062202 */ mul.s $f8, $f4, $f6 -/* 074AB8 7F03FF88 460A4403 */ div.s $f16, $f8, $f10 -/* 074ABC 7F03FF8C 4600848D */ trunc.w.s $f18, $f16 -/* 074AC0 7F03FF90 44029000 */ mfc1 $v0, $f18 -/* 074AC4 7F03FF94 03E00008 */ jr $ra -/* 074AC8 7F03FF98 00000000 */ nop - -/* 074ACC 7F03FF9C C4840070 */ lwc1 $f4, 0x70($a0) -.L7F03FFA0: -/* 074AD0 7F03FFA0 44813000 */ mtc1 $at, $f6 -/* 074AD4 7F03FFA4 00000000 */ nop -/* 074AD8 7F03FFA8 46062200 */ add.s $f8, $f4, $f6 -/* 074ADC 7F03FFAC 4600428D */ trunc.w.s $f10, $f8 -/* 074AE0 7F03FFB0 44025000 */ mfc1 $v0, $f10 -/* 074AE4 7F03FFB4 00000000 */ nop -/* 074AE8 7F03FFB8 03E00008 */ jr $ra -/* 074AEC 7F03FFBC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void do_something_if_object_destroyed(void) { - -} -#else -GLOBAL_ASM( -.text -glabel do_something_if_object_destroyed -/* 074AF0 7F03FFC0 908E0002 */ lbu $t6, 2($a0) -/* 074AF4 7F03FFC4 31CF0080 */ andi $t7, $t6, 0x80 -/* 074AF8 7F03FFC8 55E00004 */ bnezl $t7, .L7F03FFDC -/* 074AFC 7F03FFCC C4840070 */ lwc1 $f4, 0x70($a0) -/* 074B00 7F03FFD0 03E00008 */ jr $ra -/* 074B04 7F03FFD4 00001025 */ move $v0, $zero - -/* 074B08 7F03FFD8 C4840070 */ lwc1 $f4, 0x70($a0) -.L7F03FFDC: -/* 074B0C 7F03FFDC 4600218D */ trunc.w.s $f6, $f4 -/* 074B10 7F03FFE0 44023000 */ mfc1 $v0, $f6 -/* 074B14 7F03FFE4 00000000 */ nop -/* 074B18 7F03FFE8 0002C883 */ sra $t9, $v0, 2 -/* 074B1C 7F03FFEC 27220001 */ addiu $v0, $t9, 1 -/* 074B20 7F03FFF0 03E00008 */ jr $ra -/* 074B24 7F03FFF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F03FFF8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F03FFF8 -/* 074B28 7F03FFF8 8C8E0000 */ lw $t6, ($a0) -/* 074B2C 7F03FFFC 8DC20014 */ lw $v0, 0x14($t6) -/* 074B30 7F040000 5040001B */ beql $v0, $zero, .L7F040070 -/* 074B34 7F040004 00001025 */ move $v0, $zero -/* 074B38 7F040008 1040000A */ beqz $v0, .L7F040034 -/* 074B3C 7F04000C 00401825 */ move $v1, $v0 -/* 074B40 7F040010 2405000A */ li $a1, 10 -/* 074B44 7F040014 946F0000 */ lhu $t7, ($v1) -.L7F040018: -/* 074B48 7F040018 54AF0004 */ bnel $a1, $t7, .L7F04002C -/* 074B4C 7F04001C 8C63000C */ lw $v1, 0xc($v1) -/* 074B50 7F040020 03E00008 */ jr $ra -/* 074B54 7F040024 8C620004 */ lw $v0, 4($v1) - -/* 074B58 7F040028 8C63000C */ lw $v1, 0xc($v1) -.L7F04002C: -/* 074B5C 7F04002C 5460FFFA */ bnezl $v1, .L7F040018 -/* 074B60 7F040030 946F0000 */ lhu $t7, ($v1) -.L7F040034: -/* 074B64 7F040034 8C440014 */ lw $a0, 0x14($v0) -/* 074B68 7F040038 2405000A */ li $a1, 10 -/* 074B6C 7F04003C 5080000C */ beql $a0, $zero, .L7F040070 -/* 074B70 7F040040 00001025 */ move $v0, $zero -/* 074B74 7F040044 10800009 */ beqz $a0, .L7F04006C -/* 074B78 7F040048 00801825 */ move $v1, $a0 -/* 074B7C 7F04004C 94780000 */ lhu $t8, ($v1) -.L7F040050: -/* 074B80 7F040050 54B80004 */ bnel $a1, $t8, .L7F040064 -/* 074B84 7F040054 8C63000C */ lw $v1, 0xc($v1) -/* 074B88 7F040058 03E00008 */ jr $ra -/* 074B8C 7F04005C 8C620004 */ lw $v0, 4($v1) - -/* 074B90 7F040060 8C63000C */ lw $v1, 0xc($v1) -.L7F040064: -/* 074B94 7F040064 5460FFFA */ bnezl $v1, .L7F040050 -/* 074B98 7F040068 94780000 */ lhu $t8, ($v1) -.L7F04006C: -/* 074B9C 7F04006C 00001025 */ move $v0, $zero -.L7F040070: -/* 074BA0 7F040070 03E00008 */ jr $ra -/* 074BA4 7F040074 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040078(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040078 -/* 074BA8 7F040078 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 074BAC 7F04007C AFBF0014 */ sw $ra, 0x14($sp) -/* 074BB0 7F040080 8C8E0014 */ lw $t6, 0x14($a0) -/* 074BB4 7F040084 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 074BB8 7F040088 8DC40008 */ lw $a0, 8($t6) -/* 074BBC 7F04008C 8FBF0014 */ lw $ra, 0x14($sp) -/* 074BC0 7F040090 27BD0018 */ addiu $sp, $sp, 0x18 -/* 074BC4 7F040094 03E00008 */ jr $ra -/* 074BC8 7F040098 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_color_shading_from_tile(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_color_shading_from_tile -/* 074BCC 7F04009C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 074BD0 7F0400A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 074BD4 7F0400A4 AFA40018 */ sw $a0, 0x18($sp) -/* 074BD8 7F0400A8 00807025 */ move $t6, $a0 -/* 074BDC 7F0400AC 00A03825 */ move $a3, $a1 -/* 074BE0 7F0400B0 8DC50008 */ lw $a1, 8($t6) -/* 074BE4 7F0400B4 8DC60010 */ lw $a2, 0x10($t6) -/* 074BE8 7F0400B8 8C840014 */ lw $a0, 0x14($a0) -/* 074BEC 7F0400BC 0FC2CB0B */ jal copy_tile_RGB_as_24bit -/* 074BF0 7F0400C0 AFA7001C */ sw $a3, 0x1c($sp) -/* 074BF4 7F0400C4 8FA7001C */ lw $a3, 0x1c($sp) -/* 074BF8 7F0400C8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 074BFC 7F0400CC 44814000 */ mtc1 $at, $f8 -/* 074C00 7F0400D0 90EB0002 */ lbu $t3, 2($a3) -/* 074C04 7F0400D4 90ED0000 */ lbu $t5, ($a3) -/* 074C08 7F0400D8 90FF0001 */ lbu $ra, 1($a3) -/* 074C0C 7F0400DC 000B7880 */ sll $t7, $t3, 2 -/* 074C10 7F0400E0 000DC080 */ sll $t8, $t5, 2 -/* 074C14 7F0400E4 01EB7821 */ addu $t7, $t7, $t3 -/* 074C18 7F0400E8 030DC021 */ addu $t8, $t8, $t5 -/* 074C1C 7F0400EC 001F7080 */ sll $t6, $ra, 2 -/* 074C20 7F0400F0 0018C100 */ sll $t8, $t8, 4 -/* 074C24 7F0400F4 000F7880 */ sll $t7, $t7, 2 -/* 074C28 7F0400F8 01DF7021 */ addu $t6, $t6, $ra -/* 074C2C 7F0400FC 000E70C0 */ sll $t6, $t6, 3 -/* 074C30 7F040100 01EB7821 */ addu $t7, $t7, $t3 -/* 074C34 7F040104 030DC023 */ subu $t8, $t8, $t5 -/* 074C38 7F040108 01F8C821 */ addu $t9, $t7, $t8 -/* 074C3C 7F04010C 01DF7023 */ subu $t6, $t6, $ra -/* 074C40 7F040110 000E7080 */ sll $t6, $t6, 2 -/* 074C44 7F040114 032E1821 */ addu $v1, $t9, $t6 -/* 074C48 7F040118 00037A03 */ sra $t7, $v1, 8 -/* 074C4C 7F04011C 241800FF */ li $t8, 255 -/* 074C50 7F040120 030FC823 */ subu $t9, $t8, $t7 -/* 074C54 7F040124 44992000 */ mtc1 $t9, $f4 -/* 074C58 7F040128 240F0001 */ li $t7, 1 -/* 074C5C 7F04012C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 074C60 7F040130 468021A0 */ cvt.s.w $f6, $f4 -/* 074C64 7F040134 00001025 */ move $v0, $zero -/* 074C68 7F040138 00006025 */ move $t4, $zero -/* 074C6C 7F04013C 46083282 */ mul.s $f10, $f6, $f8 -/* 074C70 7F040140 444EF800 */ cfc1 $t6, $31 -/* 074C74 7F040144 44CFF800 */ ctc1 $t7, $31 -/* 074C78 7F040148 00000000 */ nop -/* 074C7C 7F04014C 46005424 */ cvt.w.s $f16, $f10 -/* 074C80 7F040150 444FF800 */ cfc1 $t7, $31 -/* 074C84 7F040154 00000000 */ nop -/* 074C88 7F040158 31EF0078 */ andi $t7, $t7, 0x78 -/* 074C8C 7F04015C 51E00013 */ beql $t7, $zero, .L7F0401AC -/* 074C90 7F040160 440F8000 */ mfc1 $t7, $f16 -/* 074C94 7F040164 44818000 */ mtc1 $at, $f16 -/* 074C98 7F040168 240F0001 */ li $t7, 1 -/* 074C9C 7F04016C 46105401 */ sub.s $f16, $f10, $f16 -/* 074CA0 7F040170 44CFF800 */ ctc1 $t7, $31 -/* 074CA4 7F040174 00000000 */ nop -/* 074CA8 7F040178 46008424 */ cvt.w.s $f16, $f16 -/* 074CAC 7F04017C 444FF800 */ cfc1 $t7, $31 -/* 074CB0 7F040180 00000000 */ nop -/* 074CB4 7F040184 31EF0078 */ andi $t7, $t7, 0x78 -/* 074CB8 7F040188 15E00005 */ bnez $t7, .L7F0401A0 -/* 074CBC 7F04018C 00000000 */ nop -/* 074CC0 7F040190 440F8000 */ mfc1 $t7, $f16 -/* 074CC4 7F040194 3C018000 */ lui $at, 0x8000 -/* 074CC8 7F040198 10000007 */ b .L7F0401B8 -/* 074CCC 7F04019C 01E17825 */ or $t7, $t7, $at -.L7F0401A0: -/* 074CD0 7F0401A0 10000005 */ b .L7F0401B8 -/* 074CD4 7F0401A4 240FFFFF */ li $t7, -1 -/* 074CD8 7F0401A8 440F8000 */ mfc1 $t7, $f16 -.L7F0401AC: -/* 074CDC 7F0401AC 00000000 */ nop -/* 074CE0 7F0401B0 05E0FFFB */ bltz $t7, .L7F0401A0 -/* 074CE4 7F0401B4 00000000 */ nop -.L7F0401B8: -/* 074CE8 7F0401B8 44CEF800 */ ctc1 $t6, $31 -/* 074CEC 7F0401BC 01BF082A */ slt $at, $t5, $ra -/* 074CF0 7F0401C0 10200003 */ beqz $at, .L7F0401D0 -/* 074CF4 7F0401C4 A0EF0003 */ sb $t7, 3($a3) -/* 074CF8 7F0401C8 10000002 */ b .L7F0401D4 -/* 074CFC 7F0401CC 24020001 */ li $v0, 1 -.L7F0401D0: -/* 074D00 7F0401D0 240C0001 */ li $t4, 1 -.L7F0401D4: -/* 074D04 7F0401D4 00E25021 */ addu $t2, $a3, $v0 -/* 074D08 7F0401D8 91460000 */ lbu $a2, ($t2) -/* 074D0C 7F0401DC 00402825 */ move $a1, $v0 -/* 074D10 7F0401E0 00ECC021 */ addu $t8, $a3, $t4 -/* 074D14 7F0401E4 00CB082A */ slt $at, $a2, $t3 -/* 074D18 7F0401E8 50200005 */ beql $at, $zero, .L7F040200 -/* 074D1C 7F0401EC 93190000 */ lbu $t9, ($t8) -/* 074D20 7F0401F0 24EA0002 */ addiu $t2, $a3, 2 -/* 074D24 7F0401F4 10000009 */ b .L7F04021C -/* 074D28 7F0401F8 91460000 */ lbu $a2, ($t2) -/* 074D2C 7F0401FC 93190000 */ lbu $t9, ($t8) -.L7F040200: -/* 074D30 7F040200 01802825 */ move $a1, $t4 -/* 074D34 7F040204 032B082A */ slt $at, $t9, $t3 -/* 074D38 7F040208 50200004 */ beql $at, $zero, .L7F04021C -/* 074D3C 7F04020C 240C0002 */ li $t4, 2 -/* 074D40 7F040210 10000002 */ b .L7F04021C -/* 074D44 7F040214 24050002 */ li $a1, 2 -/* 074D48 7F040218 240C0002 */ li $t4, 2 -.L7F04021C: -/* 074D4C 7F04021C 18C0001B */ blez $a2, .L7F04028C -/* 074D50 7F040220 00E51821 */ addu $v1, $a3, $a1 -/* 074D54 7F040224 00EC1021 */ addu $v0, $a3, $t4 -/* 074D58 7F040228 904E0000 */ lbu $t6, ($v0) -/* 074D5C 7F04022C 906F0000 */ lbu $t7, ($v1) -/* 074D60 7F040230 A0400000 */ sb $zero, ($v0) -/* 074D64 7F040234 00CE2023 */ subu $a0, $a2, $t6 -/* 074D68 7F040238 01E40019 */ multu $t7, $a0 -/* 074D6C 7F04023C 00804825 */ move $t1, $a0 -/* 074D70 7F040240 0000C012 */ mflo $t8 -/* 074D74 7F040244 00000000 */ nop -/* 074D78 7F040248 00000000 */ nop -/* 074D7C 7F04024C 0306001A */ div $zero, $t8, $a2 -/* 074D80 7F040250 00004012 */ mflo $t0 -/* 074D84 7F040254 A0680000 */ sb $t0, ($v1) -/* 074D88 7F040258 A1440000 */ sb $a0, ($t2) -/* 074D8C 7F04025C 14C00002 */ bnez $a2, .L7F040268 -/* 074D90 7F040260 00000000 */ nop -/* 074D94 7F040264 0007000D */ break 7 -.L7F040268: -/* 074D98 7F040268 2401FFFF */ li $at, -1 -/* 074D9C 7F04026C 14C10004 */ bne $a2, $at, .L7F040280 -/* 074DA0 7F040270 3C018000 */ lui $at, 0x8000 -/* 074DA4 7F040274 17010002 */ bne $t8, $at, .L7F040280 -/* 074DA8 7F040278 00000000 */ nop -/* 074DAC 7F04027C 0006000D */ break 6 -.L7F040280: -/* 074DB0 7F040280 90FF0001 */ lbu $ra, 1($a3) -/* 074DB4 7F040284 90ED0000 */ lbu $t5, ($a3) -/* 074DB8 7F040288 90EB0002 */ lbu $t3, 2($a3) -.L7F04028C: -/* 074DBC 7F04028C 000DC842 */ srl $t9, $t5, 1 -/* 074DC0 7F040290 001F7042 */ srl $t6, $ra, 1 -/* 074DC4 7F040294 000B7842 */ srl $t7, $t3, 1 -/* 074DC8 7F040298 A0F90000 */ sb $t9, ($a3) -/* 074DCC 7F04029C A0EE0001 */ sb $t6, 1($a3) -/* 074DD0 7F0402A0 A0EF0002 */ sb $t7, 2($a3) -/* 074DD4 7F0402A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 074DD8 7F0402A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 074DDC 7F0402AC 03E00008 */ jr $ra -/* 074DE0 7F0402B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0402B4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0402B4 -/* 074DE4 7F0402B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 074DE8 7F0402B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 074DEC 7F0402BC 8C820004 */ lw $v0, 4($a0) -/* 074DF0 7F0402C0 8C4E0008 */ lw $t6, 8($v0) -/* 074DF4 7F0402C4 31CF0400 */ andi $t7, $t6, 0x400 -/* 074DF8 7F0402C8 55E0000E */ bnezl $t7, .L7F040304 -/* 074DFC 7F0402CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 074E00 7F0402D0 0FC10027 */ jal set_color_shading_from_tile -/* 074E04 7F0402D4 AFA5001C */ sw $a1, 0x1c($sp) -/* 074E08 7F0402D8 8FA5001C */ lw $a1, 0x1c($sp) -/* 074E0C 7F0402DC 90B80000 */ lbu $t8, ($a1) -/* 074E10 7F0402E0 90A80001 */ lbu $t0, 1($a1) -/* 074E14 7F0402E4 90AA0002 */ lbu $t2, 2($a1) -/* 074E18 7F0402E8 0018C842 */ srl $t9, $t8, 1 -/* 074E1C 7F0402EC 00084842 */ srl $t1, $t0, 1 -/* 074E20 7F0402F0 000A5842 */ srl $t3, $t2, 1 -/* 074E24 7F0402F4 A0B90000 */ sb $t9, ($a1) -/* 074E28 7F0402F8 A0A90001 */ sb $t1, 1($a1) -/* 074E2C 7F0402FC A0AB0002 */ sb $t3, 2($a1) -/* 074E30 7F040300 8FBF0014 */ lw $ra, 0x14($sp) -.L7F040304: -/* 074E34 7F040304 27BD0018 */ addiu $sp, $sp, 0x18 -/* 074E38 7F040308 03E00008 */ jr $ra -/* 074E3C 7F04030C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void update_color_shading(void) { - -} -#else -GLOBAL_ASM( -.text -glabel update_color_shading -/* 074E40 7F040310 90880000 */ lbu $t0, ($a0) -/* 074E44 7F040314 90AE0000 */ lbu $t6, ($a1) -/* 074E48 7F040318 90890001 */ lbu $t1, 1($a0) -/* 074E4C 7F04031C 908A0002 */ lbu $t2, 2($a0) -/* 074E50 7F040320 01C81023 */ subu $v0, $t6, $t0 -/* 074E54 7F040324 244F0007 */ addiu $t7, $v0, 7 -/* 074E58 7F040328 000FC0C3 */ sra $t8, $t7, 3 -/* 074E5C 7F04032C 01181821 */ addu $v1, $t0, $t8 -/* 074E60 7F040330 A0830000 */ sb $v1, ($a0) -/* 074E64 7F040334 90B90001 */ lbu $t9, 1($a1) -/* 074E68 7F040338 908B0003 */ lbu $t3, 3($a0) -/* 074E6C 7F04033C 03291023 */ subu $v0, $t9, $t1 -/* 074E70 7F040340 244C0007 */ addiu $t4, $v0, 7 -/* 074E74 7F040344 000C68C3 */ sra $t5, $t4, 3 -/* 074E78 7F040348 012D1821 */ addu $v1, $t1, $t5 -/* 074E7C 7F04034C A0830001 */ sb $v1, 1($a0) -/* 074E80 7F040350 90AE0002 */ lbu $t6, 2($a1) -/* 074E84 7F040354 01CA1023 */ subu $v0, $t6, $t2 -/* 074E88 7F040358 244F0007 */ addiu $t7, $v0, 7 -/* 074E8C 7F04035C 000FC0C3 */ sra $t8, $t7, 3 -/* 074E90 7F040360 01581821 */ addu $v1, $t2, $t8 -/* 074E94 7F040364 A0830002 */ sb $v1, 2($a0) -/* 074E98 7F040368 90B90003 */ lbu $t9, 3($a1) -/* 074E9C 7F04036C 032B1023 */ subu $v0, $t9, $t3 -/* 074EA0 7F040370 244C0007 */ addiu $t4, $v0, 7 -/* 074EA4 7F040374 000C68C3 */ sra $t5, $t4, 3 -/* 074EA8 7F040378 016D1821 */ addu $v1, $t3, $t5 -/* 074EAC 7F04037C 03E00008 */ jr $ra -/* 074EB0 7F040380 A0830003 */ sb $v1, 3($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040384(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040384 -/* 074EB4 7F040384 24010001 */ li $at, 1 -/* 074EB8 7F040388 14A1003C */ bne $a1, $at, .L7F04047C -/* 074EBC 7F04038C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 074EC0 7F040390 44811000 */ mtc1 $at, $f2 -/* 074EC4 7F040394 C4C40000 */ lwc1 $f4, ($a2) -/* 074EC8 7F040398 C4C80004 */ lwc1 $f8, 4($a2) -/* 074ECC 7F04039C C4D00008 */ lwc1 $f16, 8($a2) -/* 074ED0 7F0403A0 46022182 */ mul.s $f6, $f4, $f2 -/* 074ED4 7F0403A4 00000000 */ nop -/* 074ED8 7F0403A8 46024282 */ mul.s $f10, $f8, $f2 -/* 074EDC 7F0403AC 00000000 */ nop -/* 074EE0 7F0403B0 46028482 */ mul.s $f18, $f16, $f2 -/* 074EE4 7F0403B4 E4C60000 */ swc1 $f6, ($a2) -/* 074EE8 7F0403B8 C4C80000 */ lwc1 $f8, ($a2) -/* 074EEC 7F0403BC C4C6000C */ lwc1 $f6, 0xc($a2) -/* 074EF0 7F0403C0 E4CA0004 */ swc1 $f10, 4($a2) -/* 074EF4 7F0403C4 E4D20008 */ swc1 $f18, 8($a2) -/* 074EF8 7F0403C8 8C8E0000 */ lw $t6, ($a0) -/* 074EFC 7F0403CC 8C990004 */ lw $t9, 4($a0) -/* 074F00 7F0403D0 8C8A0008 */ lw $t2, 8($a0) -/* 074F04 7F0403D4 448E2000 */ mtc1 $t6, $f4 -/* 074F08 7F0403D8 8C8D000C */ lw $t5, 0xc($a0) -/* 074F0C 7F0403DC 46802020 */ cvt.s.w $f0, $f4 -/* 074F10 7F0403E0 46004281 */ sub.s $f10, $f8, $f0 -/* 074F14 7F0403E4 44994000 */ mtc1 $t9, $f8 -/* 074F18 7F0403E8 460A3402 */ mul.s $f16, $f6, $f10 -/* 074F1C 7F0403EC 46008480 */ add.s $f18, $f16, $f0 -/* 074F20 7F0403F0 46804020 */ cvt.s.w $f0, $f8 -/* 074F24 7F0403F4 4600910D */ trunc.w.s $f4, $f18 -/* 074F28 7F0403F8 44182000 */ mfc1 $t8, $f4 -/* 074F2C 7F0403FC 00000000 */ nop -/* 074F30 7F040400 AC980000 */ sw $t8, ($a0) -/* 074F34 7F040404 C4CA0004 */ lwc1 $f10, 4($a2) -/* 074F38 7F040408 C4C6000C */ lwc1 $f6, 0xc($a2) -/* 074F3C 7F04040C 46005401 */ sub.s $f16, $f10, $f0 -/* 074F40 7F040410 448A5000 */ mtc1 $t2, $f10 -/* 074F44 7F040414 46103482 */ mul.s $f18, $f6, $f16 -/* 074F48 7F040418 46009100 */ add.s $f4, $f18, $f0 -/* 074F4C 7F04041C 46805020 */ cvt.s.w $f0, $f10 -/* 074F50 7F040420 4600220D */ trunc.w.s $f8, $f4 -/* 074F54 7F040424 44094000 */ mfc1 $t1, $f8 -/* 074F58 7F040428 00000000 */ nop -/* 074F5C 7F04042C AC890004 */ sw $t1, 4($a0) -/* 074F60 7F040430 C4D00008 */ lwc1 $f16, 8($a2) -/* 074F64 7F040434 C4C6000C */ lwc1 $f6, 0xc($a2) -/* 074F68 7F040438 46008481 */ sub.s $f18, $f16, $f0 -/* 074F6C 7F04043C 448D8000 */ mtc1 $t5, $f16 -/* 074F70 7F040440 46123102 */ mul.s $f4, $f6, $f18 -/* 074F74 7F040444 46002200 */ add.s $f8, $f4, $f0 -/* 074F78 7F040448 46808020 */ cvt.s.w $f0, $f16 -/* 074F7C 7F04044C 4600428D */ trunc.w.s $f10, $f8 -/* 074F80 7F040450 46001481 */ sub.s $f18, $f2, $f0 -/* 074F84 7F040454 440C5000 */ mfc1 $t4, $f10 -/* 074F88 7F040458 00000000 */ nop -/* 074F8C 7F04045C AC8C0008 */ sw $t4, 8($a0) -/* 074F90 7F040460 C4C6000C */ lwc1 $f6, 0xc($a2) -/* 074F94 7F040464 46123102 */ mul.s $f4, $f6, $f18 -/* 074F98 7F040468 46002200 */ add.s $f8, $f4, $f0 -/* 074F9C 7F04046C 4600428D */ trunc.w.s $f10, $f8 -/* 074FA0 7F040470 440F5000 */ mfc1 $t7, $f10 -/* 074FA4 7F040474 00000000 */ nop -/* 074FA8 7F040478 AC8F000C */ sw $t7, 0xc($a0) -.L7F04047C: -/* 074FAC 7F04047C 03E00008 */ jr $ra -/* 074FB0 7F040480 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040484(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040484 -/* 074FB4 7F040484 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 074FB8 7F040488 AFBF001C */ sw $ra, 0x1c($sp) -/* 074FBC 7F04048C AFB00018 */ sw $s0, 0x18($sp) -/* 074FC0 7F040490 8C8E0068 */ lw $t6, 0x68($a0) -/* 074FC4 7F040494 00808025 */ move $s0, $a0 -/* 074FC8 7F040498 51C00028 */ beql $t6, $zero, .L7F04053C -/* 074FCC 7F04049C 8FBF001C */ lw $ra, 0x1c($sp) -/* 074FD0 7F0404A0 0FC1001E */ jal sub_GAME_7F040078 -/* 074FD4 7F0404A4 00000000 */ nop -/* 074FD8 7F0404A8 AFA20064 */ sw $v0, 0x64($sp) -/* 074FDC 7F0404AC 26040018 */ addiu $a0, $s0, 0x18 -/* 074FE0 7F0404B0 0FC16008 */ jal sub_GAME_7F058020 -/* 074FE4 7F0404B4 27A50024 */ addiu $a1, $sp, 0x24 -/* 074FE8 7F0404B8 26040058 */ addiu $a0, $s0, 0x58 -/* 074FEC 7F0404BC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 074FF0 7F0404C0 27A50024 */ addiu $a1, $sp, 0x24 -/* 074FF4 7F0404C4 8E070068 */ lw $a3, 0x68($s0) -/* 074FF8 7F0404C8 8FA40064 */ lw $a0, 0x64($sp) -/* 074FFC 7F0404CC 27A50024 */ addiu $a1, $sp, 0x24 -/* 075000 7F0404D0 0FC0FD50 */ jal sub_GAME_7F03F540 -/* 075004 7F0404D4 24E60004 */ addiu $a2, $a3, 4 -/* 075008 7F0404D8 8FA40064 */ lw $a0, 0x64($sp) -/* 07500C 7F0404DC 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 075010 7F0404E0 27A50024 */ addiu $a1, $sp, 0x24 -/* 075014 7F0404E4 C604005C */ lwc1 $f4, 0x5c($s0) -/* 075018 7F0404E8 8E0F0068 */ lw $t7, 0x68($s0) -/* 07501C 7F0404EC 27A50024 */ addiu $a1, $sp, 0x24 -/* 075020 7F0404F0 46040180 */ add.s $f6, $f0, $f4 -/* 075024 7F0404F4 E5E60048 */ swc1 $f6, 0x48($t7) -/* 075028 7F0404F8 0FC0FA97 */ jal sub_GAME_7F03EA5C -/* 07502C 7F0404FC 8FA40064 */ lw $a0, 0x64($sp) -/* 075030 7F040500 C608005C */ lwc1 $f8, 0x5c($s0) -/* 075034 7F040504 8E180068 */ lw $t8, 0x68($s0) -/* 075038 7F040508 24010028 */ li $at, 40 -/* 07503C 7F04050C 46080280 */ add.s $f10, $f0, $f8 -/* 075040 7F040510 E70A0044 */ swc1 $f10, 0x44($t8) -/* 075044 7F040514 92190003 */ lbu $t9, 3($s0) -/* 075048 7F040518 57210008 */ bnel $t9, $at, .L7F04053C -/* 07504C 7F04051C 8FBF001C */ lw $ra, 0x1c($sp) -/* 075050 7F040520 8E070068 */ lw $a3, 0x68($s0) -/* 075054 7F040524 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 075058 7F040528 44819000 */ mtc1 $at, $f18 -/* 07505C 7F04052C C4F00048 */ lwc1 $f16, 0x48($a3) -/* 075060 7F040530 46128101 */ sub.s $f4, $f16, $f18 -/* 075064 7F040534 E4E40048 */ swc1 $f4, 0x48($a3) -/* 075068 7F040538 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04053C: -/* 07506C 7F04053C 8FB00018 */ lw $s0, 0x18($sp) -/* 075070 7F040540 27BD0068 */ addiu $sp, $sp, 0x68 -/* 075074 7F040544 03E00008 */ jr $ra -/* 075078 7F040548 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void init_standard_object(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_standard_object -/* 07507C 7F04054C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 075080 7F040550 AFB10018 */ sw $s1, 0x18($sp) -/* 075084 7F040554 AFB00014 */ sw $s0, 0x14($sp) -/* 075088 7F040558 00808025 */ move $s0, $a0 -/* 07508C 7F04055C 00C08825 */ move $s1, $a2 -/* 075090 7F040560 14C00007 */ bnez $a2, .L7F040580 -/* 075094 7F040564 AFBF001C */ sw $ra, 0x1c($sp) -/* 075098 7F040568 AFA50024 */ sw $a1, 0x24($sp) -/* 07509C 7F04056C 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 0750A0 7F040570 AFA7002C */ sw $a3, 0x2c($sp) -/* 0750A4 7F040574 8FA50024 */ lw $a1, 0x24($sp) -/* 0750A8 7F040578 8FA7002C */ lw $a3, 0x2c($sp) -/* 0750AC 7F04057C 00408825 */ move $s1, $v0 -.L7F040580: -/* 0750B0 7F040580 14E0000C */ bnez $a3, .L7F0405B4 -/* 0750B4 7F040584 00000000 */ nop -/* 0750B8 7F040588 920E0003 */ lbu $t6, 3($s0) -/* 0750BC 7F04058C 24010028 */ li $at, 40 -/* 0750C0 7F040590 15C10005 */ bne $t6, $at, .L7F0405A8 -/* 0750C4 7F040594 00000000 */ nop -/* 0750C8 7F040598 0FC1B08F */ jal get_aircraft_obj_instance_controller -/* 0750CC 7F04059C 00A02025 */ move $a0, $a1 -/* 0750D0 7F0405A0 10000004 */ b .L7F0405B4 -/* 0750D4 7F0405A4 00403825 */ move $a3, $v0 -.L7F0405A8: -/* 0750D8 7F0405A8 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 0750DC 7F0405AC 00A02025 */ move $a0, $a1 -/* 0750E0 7F0405B0 00403825 */ move $a3, $v0 -.L7F0405B4: -/* 0750E4 7F0405B4 12200039 */ beqz $s1, .L7F04069C -/* 0750E8 7F0405B8 00000000 */ nop -/* 0750EC 7F0405BC 10E00037 */ beqz $a3, .L7F04069C -/* 0750F0 7F0405C0 00000000 */ nop -/* 0750F4 7F0405C4 8E0F0008 */ lw $t7, 8($s0) -/* 0750F8 7F0405C8 AE070014 */ sw $a3, 0x14($s0) -/* 0750FC 7F0405CC AE000068 */ sw $zero, 0x68($s0) -/* 075100 7F0405D0 31F80100 */ andi $t8, $t7, 0x100 -/* 075104 7F0405D4 13000008 */ beqz $t8, .L7F0405F8 -/* 075108 7F0405D8 24040050 */ li $a0, 80 -/* 07510C 7F0405DC 0C0025C8 */ jal allocate_bytes_in_bank -/* 075110 7F0405E0 24050004 */ li $a1, 4 -/* 075114 7F0405E4 92190002 */ lbu $t9, 2($s0) -/* 075118 7F0405E8 AE020068 */ sw $v0, 0x68($s0) -/* 07511C 7F0405EC 37280008 */ ori $t0, $t9, 8 -/* 075120 7F0405F0 10000004 */ b .L7F040604 -/* 075124 7F0405F4 A2080002 */ sb $t0, 2($s0) -.L7F0405F8: -/* 075128 7F0405F8 92090002 */ lbu $t1, 2($s0) -/* 07512C 7F0405FC 312AFFF7 */ andi $t2, $t1, 0xfff7 -/* 075130 7F040600 A20A0002 */ sb $t2, 2($s0) -.L7F040604: -/* 075134 7F040604 44800000 */ mtc1 $zero, $f0 -/* 075138 7F040608 8E0C0014 */ lw $t4, 0x14($s0) -/* 07513C 7F04060C AE110010 */ sw $s1, 0x10($s0) -/* 075140 7F040610 AE00006C */ sw $zero, 0x6c($s0) -/* 075144 7F040614 A2000078 */ sb $zero, 0x78($s0) -/* 075148 7F040618 A2000079 */ sb $zero, 0x79($s0) -/* 07514C 7F04061C A200007A */ sb $zero, 0x7a($s0) -/* 075150 7F040620 A200007B */ sb $zero, 0x7b($s0) -/* 075154 7F040624 A200007C */ sb $zero, 0x7c($s0) -/* 075158 7F040628 A200007D */ sb $zero, 0x7d($s0) -/* 07515C 7F04062C A200007E */ sb $zero, 0x7e($s0) -/* 075160 7F040630 A200007F */ sb $zero, 0x7f($s0) -/* 075164 7F040634 240BFFFF */ li $t3, -1 -/* 075168 7F040638 E6000070 */ swc1 $f0, 0x70($s0) -/* 07516C 7F04063C A58B0000 */ sh $t3, ($t4) -/* 075170 7F040640 8E0D0014 */ lw $t5, 0x14($s0) -/* 075174 7F040644 3C058004 */ lui $a1, %hi(PitemZ_entries+8) -/* 075178 7F040648 ADA00004 */ sw $zero, 4($t5) -/* 07517C 7F04064C 860E0004 */ lh $t6, 4($s0) -/* 075180 7F040650 8E040014 */ lw $a0, 0x14($s0) -/* 075184 7F040654 000E7880 */ sll $t7, $t6, 2 -/* 075188 7F040658 01EE7823 */ subu $t7, $t7, $t6 -/* 07518C 7F04065C 000F7880 */ sll $t7, $t7, 2 -/* 075190 7F040660 00AF2821 */ addu $a1, $a1, $t7 -/* 075194 7F040664 0FC1B39E */ jal set_obj_instance_controller_scale -/* 075198 7F040668 8CA5A230 */ lw $a1, %lo(PitemZ_entries+8)($a1) -/* 07519C 7F04066C 44800000 */ mtc1 $zero, $f0 -/* 0751A0 7F040670 24180001 */ li $t8, 1 -/* 0751A4 7F040674 A2380000 */ sb $t8, ($s1) -/* 0751A8 7F040678 AE300004 */ sw $s0, 4($s1) -/* 0751AC 7F04067C E6200008 */ swc1 $f0, 8($s1) -/* 0751B0 7F040680 E6000058 */ swc1 $f0, 0x58($s0) -/* 0751B4 7F040684 E620000C */ swc1 $f0, 0xc($s1) -/* 0751B8 7F040688 E600005C */ swc1 $f0, 0x5c($s0) -/* 0751BC 7F04068C E6200010 */ swc1 $f0, 0x10($s1) -/* 0751C0 7F040690 E6000060 */ swc1 $f0, 0x60($s0) -/* 0751C4 7F040694 10000012 */ b .L7F0406E0 -/* 0751C8 7F040698 AE200014 */ sw $zero, 0x14($s1) -.L7F04069C: -/* 0751CC 7F04069C 10E0000B */ beqz $a3, .L7F0406CC -/* 0751D0 7F0406A0 00000000 */ nop -/* 0751D4 7F0406A4 92190003 */ lbu $t9, 3($s0) -/* 0751D8 7F0406A8 24010028 */ li $at, 40 -/* 0751DC 7F0406AC 17210005 */ bne $t9, $at, .L7F0406C4 -/* 0751E0 7F0406B0 00000000 */ nop -/* 0751E4 7F0406B4 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero -/* 0751E8 7F0406B8 00E02025 */ move $a0, $a3 -/* 0751EC 7F0406BC 10000003 */ b .L7F0406CC -/* 0751F0 7F0406C0 00000000 */ nop -.L7F0406C4: -/* 0751F4 7F0406C4 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 0751F8 7F0406C8 00E02025 */ move $a0, $a3 -.L7F0406CC: -/* 0751FC 7F0406CC 52200005 */ beql $s1, $zero, .L7F0406E4 -/* 075200 7F0406D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 075204 7F0406D4 0FC0E921 */ jal set_last_obj_pos_data -/* 075208 7F0406D8 02202025 */ move $a0, $s1 -/* 07520C 7F0406DC 00008825 */ move $s1, $zero -.L7F0406E0: -/* 075210 7F0406E0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0406E4: -/* 075214 7F0406E4 02201025 */ move $v0, $s1 -/* 075218 7F0406E8 8FB10018 */ lw $s1, 0x18($sp) -/* 07521C 7F0406EC 8FB00014 */ lw $s0, 0x14($sp) -/* 075220 7F0406F0 03E00008 */ jr $ra -/* 075224 7F0406F4 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0406F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0406F8 -/* 075228 7F0406F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 07522C 7F0406FC AFBF0014 */ sw $ra, 0x14($sp) -/* 075230 7F040700 00003025 */ move $a2, $zero -/* 075234 7F040704 0FC10153 */ jal init_standard_object -/* 075238 7F040708 00003825 */ move $a3, $zero -/* 07523C 7F04070C 8FBF0014 */ lw $ra, 0x14($sp) -/* 075240 7F040710 27BD0018 */ addiu $sp, $sp, 0x18 -/* 075244 7F040714 03E00008 */ jr $ra -/* 075248 7F040718 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04071C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04071C -/* 07524C 7F04071C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 075250 7F040720 AFBF0014 */ sw $ra, 0x14($sp) -/* 075254 7F040724 848E0004 */ lh $t6, 4($a0) -/* 075258 7F040728 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 07525C 7F04072C 000E7880 */ sll $t7, $t6, 2 -/* 075260 7F040730 01EE7823 */ subu $t7, $t7, $t6 -/* 075264 7F040734 000F7880 */ sll $t7, $t7, 2 -/* 075268 7F040738 00AF2821 */ addu $a1, $a1, $t7 -/* 07526C 7F04073C 0FC101BE */ jal sub_GAME_7F0406F8 -/* 075270 7F040740 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 075274 7F040744 8FBF0014 */ lw $ra, 0x14($sp) -/* 075278 7F040748 27BD0018 */ addiu $sp, $sp, 0x18 -/* 07527C 7F04074C 03E00008 */ jr $ra -/* 075280 7F040750 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040754(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040754 -/* 075284 7F040754 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 075288 7F040758 AFBF001C */ sw $ra, 0x1c($sp) -/* 07528C 7F04075C AFB00018 */ sw $s0, 0x18($sp) -/* 075290 7F040760 AFA5002C */ sw $a1, 0x2c($sp) -/* 075294 7F040764 AFA70034 */ sw $a3, 0x34($sp) -/* 075298 7F040768 8C820010 */ lw $v0, 0x10($a0) -/* 07529C 7F04076C 00808025 */ move $s0, $a0 -/* 0752A0 7F040770 26050018 */ addiu $a1, $s0, 0x18 -/* 0752A4 7F040774 00C02025 */ move $a0, $a2 -/* 0752A8 7F040778 0FC16008 */ jal sub_GAME_7F058020 -/* 0752AC 7F04077C AFA20024 */ sw $v0, 0x24($sp) -/* 0752B0 7F040780 8FA3002C */ lw $v1, 0x2c($sp) -/* 0752B4 7F040784 8FA20024 */ lw $v0, 0x24($sp) -/* 0752B8 7F040788 2605007C */ addiu $a1, $s0, 0x7c -/* 0752BC 7F04078C C4600000 */ lwc1 $f0, ($v1) -/* 0752C0 7F040790 E4400008 */ swc1 $f0, 8($v0) -/* 0752C4 7F040794 E6000058 */ swc1 $f0, 0x58($s0) -/* 0752C8 7F040798 C4600004 */ lwc1 $f0, 4($v1) -/* 0752CC 7F04079C E440000C */ swc1 $f0, 0xc($v0) -/* 0752D0 7F0407A0 E600005C */ swc1 $f0, 0x5c($s0) -/* 0752D4 7F0407A4 C4600008 */ lwc1 $f0, 8($v1) -/* 0752D8 7F0407A8 E4400010 */ swc1 $f0, 0x10($v0) -/* 0752DC 7F0407AC E6000060 */ swc1 $f0, 0x60($s0) -/* 0752E0 7F0407B0 8FAE0034 */ lw $t6, 0x34($sp) -/* 0752E4 7F0407B4 AC4E0014 */ sw $t6, 0x14($v0) -/* 0752E8 7F0407B8 0FC100AD */ jal sub_GAME_7F0402B4 -/* 0752EC 7F0407BC 8E040010 */ lw $a0, 0x10($s0) -/* 0752F0 7F0407C0 920F007C */ lbu $t7, 0x7c($s0) -/* 0752F4 7F0407C4 9218007D */ lbu $t8, 0x7d($s0) -/* 0752F8 7F0407C8 9219007E */ lbu $t9, 0x7e($s0) -/* 0752FC 7F0407CC 9208007F */ lbu $t0, 0x7f($s0) -/* 075300 7F0407D0 A20F0078 */ sb $t7, 0x78($s0) -/* 075304 7F0407D4 A2180079 */ sb $t8, 0x79($s0) -/* 075308 7F0407D8 A219007A */ sb $t9, 0x7a($s0) -/* 07530C 7F0407DC A208007B */ sb $t0, 0x7b($s0) -/* 075310 7F0407E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 075314 7F0407E4 8FB00018 */ lw $s0, 0x18($sp) -/* 075318 7F0407E8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 07531C 7F0407EC 03E00008 */ jr $ra -/* 075320 7F0407F0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0407F4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0407F4 -/* 075324 7F0407F4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 075328 7F0407F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 07532C 7F0407FC AFB00018 */ sw $s0, 0x18($sp) -/* 075330 7F040800 AFA40028 */ sw $a0, 0x28($sp) -/* 075334 7F040804 AFA60030 */ sw $a2, 0x30($sp) -/* 075338 7F040808 AFA70034 */ sw $a3, 0x34($sp) -/* 07533C 7F04080C 8C8F0014 */ lw $t7, 0x14($a0) -/* 075340 7F040810 00A08025 */ move $s0, $a1 -/* 075344 7F040814 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 075348 7F040818 8DE40008 */ lw $a0, 8($t7) -/* 07534C 7F04081C AFA20020 */ sw $v0, 0x20($sp) -/* 075350 7F040820 8E060008 */ lw $a2, 8($s0) -/* 075354 7F040824 8E050000 */ lw $a1, ($s0) -/* 075358 7F040828 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 07535C 7F04082C 8FA40034 */ lw $a0, 0x34($sp) -/* 075360 7F040830 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 075364 7F040834 44812000 */ mtc1 $at, $f4 -/* 075368 7F040838 00000000 */ nop -/* 07536C 7F04083C 46040180 */ add.s $f6, $f0, $f4 -/* 075370 7F040840 E6060004 */ swc1 $f6, 4($s0) -/* 075374 7F040844 8FA50030 */ lw $a1, 0x30($sp) -/* 075378 7F040848 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 07537C 7F04084C 8FA40020 */ lw $a0, 0x20($sp) -/* 075380 7F040850 C6080004 */ lwc1 $f8, 4($s0) -/* 075384 7F040854 02002825 */ move $a1, $s0 -/* 075388 7F040858 46004281 */ sub.s $f10, $f8, $f0 -/* 07538C 7F04085C E60A0004 */ swc1 $f10, 4($s0) -/* 075390 7F040860 8FA70034 */ lw $a3, 0x34($sp) -/* 075394 7F040864 8FA60030 */ lw $a2, 0x30($sp) -/* 075398 7F040868 0FC101D5 */ jal sub_GAME_7F040754 -/* 07539C 7F04086C 8FA40028 */ lw $a0, 0x28($sp) -/* 0753A0 7F040870 0FC10121 */ jal sub_GAME_7F040484 -/* 0753A4 7F040874 8FA40028 */ lw $a0, 0x28($sp) -/* 0753A8 7F040878 8FBF001C */ lw $ra, 0x1c($sp) -/* 0753AC 7F04087C 8FB00018 */ lw $s0, 0x18($sp) -/* 0753B0 7F040880 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0753B4 7F040884 03E00008 */ jr $ra -/* 0753B8 7F040888 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04088C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A4C -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F04088C -/* 0753BC 7F04088C 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 0753C0 7F040890 AFBF0024 */ sw $ra, 0x24($sp) -/* 0753C4 7F040894 AFB00020 */ sw $s0, 0x20($sp) -/* 0753C8 7F040898 AFA500AC */ sw $a1, 0xac($sp) -/* 0753CC 7F04089C AFA600B0 */ sw $a2, 0xb0($sp) -/* 0753D0 7F0408A0 AFA700B4 */ sw $a3, 0xb4($sp) -/* 0753D4 7F0408A4 8C8E0014 */ lw $t6, 0x14($a0) -/* 0753D8 7F0408A8 00808025 */ move $s0, $a0 -/* 0753DC 7F0408AC 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 0753E0 7F0408B0 8DC40008 */ lw $a0, 8($t6) -/* 0753E4 7F0408B4 AFA200A0 */ sw $v0, 0xa0($sp) -/* 0753E8 7F0408B8 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 0753EC 7F0408BC 00402025 */ move $a0, $v0 -/* 0753F0 7F0408C0 8FA400A0 */ lw $a0, 0xa0($sp) -/* 0753F4 7F0408C4 0FC0FA1B */ jal sub_GAME_7F03E86C -/* 0753F8 7F0408C8 E7A0009C */ swc1 $f0, 0x9c($sp) -/* 0753FC 7F0408CC 8FA700B4 */ lw $a3, 0xb4($sp) -/* 075400 7F0408D0 E7A00098 */ swc1 $f0, 0x98($sp) -/* 075404 7F0408D4 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 075408 7F0408D8 AFA70088 */ sw $a3, 0x88($sp) -/* 07540C 7F0408DC 8E020008 */ lw $v0, 8($s0) -/* 075410 7F0408E0 3C018005 */ lui $at, %hi(D_80052A4C) -/* 075414 7F0408E4 27A50048 */ addiu $a1, $sp, 0x48 -/* 075418 7F0408E8 304F0004 */ andi $t7, $v0, 4 -/* 07541C 7F0408EC 11E00018 */ beqz $t7, .L7F040950 -/* 075420 7F0408F0 30580008 */ andi $t8, $v0, 8 -/* 075424 7F0408F4 0FC161A2 */ jal sub_GAME_7F058688 -/* 075428 7F0408F8 C42C2A4C */ lwc1 $f12, %lo(D_80052A4C)($at) -/* 07542C 7F0408FC 8FA400B0 */ lw $a0, 0xb0($sp) -/* 075430 7F040900 0FC1601A */ jal sub_GAME_7F058068 -/* 075434 7F040904 27A50048 */ addiu $a1, $sp, 0x48 -/* 075438 7F040908 C7A00098 */ lwc1 $f0, 0x98($sp) -/* 07543C 7F04090C C7A60058 */ lwc1 $f6, 0x58($sp) -/* 075440 7F040910 8FA200B8 */ lw $v0, 0xb8($sp) -/* 075444 7F040914 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 075448 7F040918 46003202 */ mul.s $f8, $f6, $f0 -/* 07544C 7F04091C C4440000 */ lwc1 $f4, ($v0) -/* 075450 7F040920 46009182 */ mul.s $f6, $f18, $f0 -/* 075454 7F040924 46082281 */ sub.s $f10, $f4, $f8 -/* 075458 7F040928 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 07545C 7F04092C C4500004 */ lwc1 $f16, 4($v0) -/* 075460 7F040930 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 075464 7F040934 46068101 */ sub.s $f4, $f16, $f6 -/* 075468 7F040938 46005482 */ mul.s $f18, $f10, $f0 -/* 07546C 7F04093C E7A40090 */ swc1 $f4, 0x90($sp) -/* 075470 7F040940 C4480008 */ lwc1 $f8, 8($v0) -/* 075474 7F040944 46124401 */ sub.s $f16, $f8, $f18 -/* 075478 7F040948 10000068 */ b .L7F040AEC -/* 07547C 7F04094C E7B00094 */ swc1 $f16, 0x94($sp) -.L7F040950: -/* 075480 7F040950 13000017 */ beqz $t8, .L7F0409B0 -/* 075484 7F040954 8FA200AC */ lw $v0, 0xac($sp) -/* 075488 7F040958 8FA400B0 */ lw $a0, 0xb0($sp) -/* 07548C 7F04095C 27A50048 */ addiu $a1, $sp, 0x48 -/* 075490 7F040960 0FC16008 */ jal sub_GAME_7F058020 -/* 075494 7F040964 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 075498 7F040968 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 07549C 7F04096C C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0754A0 7F040970 8FA200B8 */ lw $v0, 0xb8($sp) -/* 0754A4 7F040974 C7B0005C */ lwc1 $f16, 0x5c($sp) -/* 0754A8 7F040978 46022282 */ mul.s $f10, $f4, $f2 -/* 0754AC 7F04097C C4460000 */ lwc1 $f6, ($v0) -/* 0754B0 7F040980 46028102 */ mul.s $f4, $f16, $f2 -/* 0754B4 7F040984 460A3201 */ sub.s $f8, $f6, $f10 -/* 0754B8 7F040988 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 0754BC 7F04098C C4520004 */ lwc1 $f18, 4($v0) -/* 0754C0 7F040990 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 0754C4 7F040994 46049181 */ sub.s $f6, $f18, $f4 -/* 0754C8 7F040998 46024402 */ mul.s $f16, $f8, $f2 -/* 0754CC 7F04099C E7A60090 */ swc1 $f6, 0x90($sp) -/* 0754D0 7F0409A0 C44A0008 */ lwc1 $f10, 8($v0) -/* 0754D4 7F0409A4 46105481 */ sub.s $f18, $f10, $f16 -/* 0754D8 7F0409A8 10000050 */ b .L7F040AEC -/* 0754DC 7F0409AC E7B20094 */ swc1 $f18, 0x94($sp) -.L7F0409B0: -/* 0754E0 7F0409B0 8C450000 */ lw $a1, ($v0) -/* 0754E4 7F0409B4 8C460008 */ lw $a2, 8($v0) -/* 0754E8 7F0409B8 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 0754EC 7F0409BC 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0754F0 7F0409C0 00E02025 */ move $a0, $a3 -/* 0754F4 7F0409C4 8FA400B0 */ lw $a0, 0xb0($sp) -/* 0754F8 7F0409C8 27A50048 */ addiu $a1, $sp, 0x48 -/* 0754FC 7F0409CC 0FC16008 */ jal sub_GAME_7F058020 -/* 075500 7F0409D0 E7A00040 */ swc1 $f0, 0x40($sp) -/* 075504 7F0409D4 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 075508 7F0409D8 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 07550C 7F0409DC 8FA200B8 */ lw $v0, 0xb8($sp) -/* 075510 7F0409E0 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 075514 7F0409E4 46023202 */ mul.s $f8, $f6, $f2 -/* 075518 7F0409E8 C4440000 */ lwc1 $f4, ($v0) -/* 07551C 7F0409EC 8FB900B4 */ lw $t9, 0xb4($sp) -/* 075520 7F0409F0 46029182 */ mul.s $f6, $f18, $f2 -/* 075524 7F0409F4 8FA400AC */ lw $a0, 0xac($sp) -/* 075528 7F0409F8 46082281 */ sub.s $f10, $f4, $f8 -/* 07552C 7F0409FC E7AA008C */ swc1 $f10, 0x8c($sp) -/* 075530 7F040A00 C4500008 */ lwc1 $f16, 8($v0) -/* 075534 7F040A04 46068101 */ sub.s $f4, $f16, $f6 -/* 075538 7F040A08 E7A40094 */ swc1 $f4, 0x94($sp) -/* 07553C 7F040A0C 0FC0FEAC */ jal sub_GAME_7F03FAB0 -/* 075540 7F040A10 93250003 */ lbu $a1, 3($t9) -/* 075544 7F040A14 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 075548 7F040A18 1040002D */ beqz $v0, .L7F040AD0 -/* 07554C 7F040A1C C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 075550 7F040A20 8C440010 */ lw $a0, 0x10($v0) -/* 075554 7F040A24 27A80030 */ addiu $t0, $sp, 0x30 -/* 075558 7F040A28 AFA80010 */ sw $t0, 0x10($sp) -/* 07555C 7F040A2C E7AC0040 */ swc1 $f12, 0x40($sp) -/* 075560 7F040A30 E7A2009C */ swc1 $f2, 0x9c($sp) -/* 075564 7F040A34 27A5003C */ addiu $a1, $sp, 0x3c -/* 075568 7F040A38 27A60038 */ addiu $a2, $sp, 0x38 -/* 07556C 7F040A3C 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 075570 7F040A40 27A70034 */ addiu $a3, $sp, 0x34 -/* 075574 7F040A44 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 075578 7F040A48 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 07557C 7F040A4C C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 075580 7F040A50 C7B00098 */ lwc1 $f16, 0x98($sp) -/* 075584 7F040A54 4608603C */ c.lt.s $f12, $f8 -/* 075588 7F040A58 00000000 */ nop -/* 07558C 7F040A5C 45020015 */ bc1fl .L7F040AB4 -/* 075590 7F040A60 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 075594 7F040A64 46028181 */ sub.s $f6, $f16, $f2 -/* 075598 7F040A68 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 07559C 7F040A6C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0755A0 7F040A70 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0755A4 7F040A74 46069102 */ mul.s $f4, $f18, $f6 -/* 0755A8 7F040A78 44813000 */ mtc1 $at, $f6 -/* 0755AC 7F040A7C 460C2400 */ add.s $f16, $f4, $f12 -/* 0755B0 7F040A80 46068100 */ add.s $f4, $f16, $f6 -/* 0755B4 7F040A84 4604503C */ c.lt.s $f10, $f4 -/* 0755B8 7F040A88 00000000 */ nop -/* 0755BC 7F040A8C 45020009 */ bc1fl .L7F040AB4 -/* 0755C0 7F040A90 C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 0755C4 7F040A94 46029402 */ mul.s $f16, $f18, $f2 -/* 0755C8 7F040A98 46104181 */ sub.s $f6, $f8, $f16 -/* 0755CC 7F040A9C E7A60090 */ swc1 $f6, 0x90($sp) -/* 0755D0 7F040AA0 8E090064 */ lw $t1, 0x64($s0) -/* 0755D4 7F040AA4 352A8000 */ ori $t2, $t1, 0x8000 -/* 0755D8 7F040AA8 10000010 */ b .L7F040AEC -/* 0755DC 7F040AAC AE0A0064 */ sw $t2, 0x64($s0) -/* 0755E0 7F040AB0 C7AA005C */ lwc1 $f10, 0x5c($sp) -.L7F040AB4: -/* 0755E4 7F040AB4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0755E8 7F040AB8 44814000 */ mtc1 $at, $f8 -/* 0755EC 7F040ABC 46025102 */ mul.s $f4, $f10, $f2 -/* 0755F0 7F040AC0 46046481 */ sub.s $f18, $f12, $f4 -/* 0755F4 7F040AC4 46089400 */ add.s $f16, $f18, $f8 -/* 0755F8 7F040AC8 10000008 */ b .L7F040AEC -/* 0755FC 7F040ACC E7B00090 */ swc1 $f16, 0x90($sp) -.L7F040AD0: -/* 075600 7F040AD0 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 075604 7F040AD4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 075608 7F040AD8 44819000 */ mtc1 $at, $f18 -/* 07560C 7F040ADC 46023282 */ mul.s $f10, $f6, $f2 -/* 075610 7F040AE0 460A6101 */ sub.s $f4, $f12, $f10 -/* 075614 7F040AE4 46122200 */ add.s $f8, $f4, $f18 -/* 075618 7F040AE8 E7A80090 */ swc1 $f8, 0x90($sp) -.L7F040AEC: -/* 07561C 7F040AEC 8E0B000C */ lw $t3, 0xc($s0) -/* 075620 7F040AF0 8FA200AC */ lw $v0, 0xac($sp) -/* 075624 7F040AF4 27A40088 */ addiu $a0, $sp, 0x88 -/* 075628 7F040AF8 316C0001 */ andi $t4, $t3, 1 -/* 07562C 7F040AFC 1580000E */ bnez $t4, .L7F040B38 -/* 075630 7F040B00 8FA7008C */ lw $a3, 0x8c($sp) -/* 075634 7F040B04 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 075638 7F040B08 8C450000 */ lw $a1, ($v0) -/* 07563C 7F040B0C 8C460008 */ lw $a2, 8($v0) -/* 075640 7F040B10 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 075644 7F040B14 E7B00010 */ swc1 $f16, 0x10($sp) -/* 075648 7F040B18 10400007 */ beqz $v0, .L7F040B38 -/* 07564C 7F040B1C 02002025 */ move $a0, $s0 -/* 075650 7F040B20 27A5008C */ addiu $a1, $sp, 0x8c -/* 075654 7F040B24 27A60048 */ addiu $a2, $sp, 0x48 -/* 075658 7F040B28 0FC101D5 */ jal sub_GAME_7F040754 -/* 07565C 7F040B2C 8FA70088 */ lw $a3, 0x88($sp) -/* 075660 7F040B30 10000014 */ b .L7F040B84 -/* 075664 7F040B34 00000000 */ nop -.L7F040B38: -/* 075668 7F040B38 02002025 */ move $a0, $s0 -/* 07566C 7F040B3C 8FA500AC */ lw $a1, 0xac($sp) -/* 075670 7F040B40 27A60048 */ addiu $a2, $sp, 0x48 -/* 075674 7F040B44 0FC101D5 */ jal sub_GAME_7F040754 -/* 075678 7F040B48 8FA700B4 */ lw $a3, 0xb4($sp) -/* 07567C 7F040B4C 8E0D000C */ lw $t5, 0xc($s0) -/* 075680 7F040B50 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 075684 7F040B54 31AE0001 */ andi $t6, $t5, 1 -/* 075688 7F040B58 55C00006 */ bnezl $t6, .L7F040B74 -/* 07568C 7F040B5C E6060058 */ swc1 $f6, 0x58($s0) -/* 075690 7F040B60 8E0F0008 */ lw $t7, 8($s0) -/* 075694 7F040B64 31F81000 */ andi $t8, $t7, 0x1000 -/* 075698 7F040B68 13000006 */ beqz $t8, .L7F040B84 -/* 07569C 7F040B6C 00000000 */ nop -/* 0756A0 7F040B70 E6060058 */ swc1 $f6, 0x58($s0) -.L7F040B74: -/* 0756A4 7F040B74 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0756A8 7F040B78 E60A005C */ swc1 $f10, 0x5c($s0) -/* 0756AC 7F040B7C C7A40094 */ lwc1 $f4, 0x94($sp) -/* 0756B0 7F040B80 E6040060 */ swc1 $f4, 0x60($s0) -.L7F040B84: -/* 0756B4 7F040B84 0FC10121 */ jal sub_GAME_7F040484 -/* 0756B8 7F040B88 02002025 */ move $a0, $s0 -/* 0756BC 7F040B8C 8FBF0024 */ lw $ra, 0x24($sp) -/* 0756C0 7F040B90 8FB00020 */ lw $s0, 0x20($sp) -/* 0756C4 7F040B94 27BD00A8 */ addiu $sp, $sp, 0xa8 -/* 0756C8 7F040B98 03E00008 */ jr $ra -/* 0756CC 7F040B9C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040BA0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A50 -.word 0x4096cbe4 /*4.712389*/ -glabel D_80052A54 -.word 0x40490fdb /*3.1415927*/ -.text -glabel sub_GAME_7F040BA0 -/* 0756D0 7F040BA0 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 0756D4 7F040BA4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0756D8 7F040BA8 AFB00020 */ sw $s0, 0x20($sp) -/* 0756DC 7F040BAC AFA500CC */ sw $a1, 0xcc($sp) -/* 0756E0 7F040BB0 AFA600D0 */ sw $a2, 0xd0($sp) -/* 0756E4 7F040BB4 AFA700D4 */ sw $a3, 0xd4($sp) -/* 0756E8 7F040BB8 8C8E0014 */ lw $t6, 0x14($a0) -/* 0756EC 7F040BBC 00808025 */ move $s0, $a0 -/* 0756F0 7F040BC0 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 0756F4 7F040BC4 8DC40008 */ lw $a0, 8($t6) -/* 0756F8 7F040BC8 0FC0FA1D */ jal sub_GAME_7F03E874 -/* 0756FC 7F040BCC 00402025 */ move $a0, $v0 -/* 075700 7F040BD0 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 075704 7F040BD4 3C018005 */ lui $at, %hi(D_80052A50) -/* 075708 7F040BD8 E7A000BC */ swc1 $f0, 0xbc($sp) -/* 07570C 7F040BDC C42C2A50 */ lwc1 $f12, %lo(D_80052A50)($at) -/* 075710 7F040BE0 27A5006C */ addiu $a1, $sp, 0x6c -/* 075714 7F040BE4 0FC1615C */ jal sub_GAME_7F058570 -/* 075718 7F040BE8 AFAF00AC */ sw $t7, 0xac($sp) -/* 07571C 7F040BEC 3C018005 */ lui $at, %hi(D_80052A54) -/* 075720 7F040BF0 C42C2A54 */ lwc1 $f12, %lo(D_80052A54)($at) -/* 075724 7F040BF4 0FC1617F */ jal sub_GAME_7F0585FC -/* 075728 7F040BF8 27A5002C */ addiu $a1, $sp, 0x2c -/* 07572C 7F040BFC 27A4002C */ addiu $a0, $sp, 0x2c -/* 075730 7F040C00 0FC1601A */ jal sub_GAME_7F058068 -/* 075734 7F040C04 27A5006C */ addiu $a1, $sp, 0x6c -/* 075738 7F040C08 8FA400D0 */ lw $a0, 0xd0($sp) -/* 07573C 7F040C0C 0FC1601A */ jal sub_GAME_7F058068 -/* 075740 7F040C10 27A5006C */ addiu $a1, $sp, 0x6c -/* 075744 7F040C14 C7A000BC */ lwc1 $f0, 0xbc($sp) -/* 075748 7F040C18 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 07574C 7F040C1C 8FA200D8 */ lw $v0, 0xd8($sp) -/* 075750 7F040C20 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 075754 7F040C24 46003202 */ mul.s $f8, $f6, $f0 -/* 075758 7F040C28 C4440000 */ lwc1 $f4, ($v0) -/* 07575C 7F040C2C 27A400AC */ addiu $a0, $sp, 0xac -/* 075760 7F040C30 46009182 */ mul.s $f6, $f18, $f0 -/* 075764 7F040C34 46082281 */ sub.s $f10, $f4, $f8 -/* 075768 7F040C38 E7AA00B0 */ swc1 $f10, 0xb0($sp) -/* 07576C 7F040C3C C4500004 */ lwc1 $f16, 4($v0) -/* 075770 7F040C40 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 075774 7F040C44 8FA700B0 */ lw $a3, 0xb0($sp) -/* 075778 7F040C48 46068101 */ sub.s $f4, $f16, $f6 -/* 07577C 7F040C4C 46005482 */ mul.s $f18, $f10, $f0 -/* 075780 7F040C50 E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 075784 7F040C54 C4480008 */ lwc1 $f8, 8($v0) -/* 075788 7F040C58 8FA200CC */ lw $v0, 0xcc($sp) -/* 07578C 7F040C5C 46124401 */ sub.s $f16, $f8, $f18 -/* 075790 7F040C60 E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 075794 7F040C64 8E18000C */ lw $t8, 0xc($s0) -/* 075798 7F040C68 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 07579C 7F040C6C 33190001 */ andi $t9, $t8, 1 -/* 0757A0 7F040C70 5720000E */ bnezl $t9, .L7F040CAC -/* 0757A4 7F040C74 02002025 */ move $a0, $s0 -/* 0757A8 7F040C78 8C450000 */ lw $a1, ($v0) -/* 0757AC 7F040C7C 8C460008 */ lw $a2, 8($v0) -/* 0757B0 7F040C80 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0757B4 7F040C84 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0757B8 7F040C88 10400007 */ beqz $v0, .L7F040CA8 -/* 0757BC 7F040C8C 02002025 */ move $a0, $s0 -/* 0757C0 7F040C90 27A500B0 */ addiu $a1, $sp, 0xb0 -/* 0757C4 7F040C94 27A6006C */ addiu $a2, $sp, 0x6c -/* 0757C8 7F040C98 0FC101D5 */ jal sub_GAME_7F040754 -/* 0757CC 7F040C9C 8FA700AC */ lw $a3, 0xac($sp) -/* 0757D0 7F040CA0 1000000C */ b .L7F040CD4 -/* 0757D4 7F040CA4 00000000 */ nop -.L7F040CA8: -/* 0757D8 7F040CA8 02002025 */ move $a0, $s0 -.L7F040CAC: -/* 0757DC 7F040CAC 8FA500CC */ lw $a1, 0xcc($sp) -/* 0757E0 7F040CB0 27A6006C */ addiu $a2, $sp, 0x6c -/* 0757E4 7F040CB4 0FC101D5 */ jal sub_GAME_7F040754 -/* 0757E8 7F040CB8 8FA700D4 */ lw $a3, 0xd4($sp) -/* 0757EC 7F040CBC C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0757F0 7F040CC0 E6040058 */ swc1 $f4, 0x58($s0) -/* 0757F4 7F040CC4 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0757F8 7F040CC8 E60A005C */ swc1 $f10, 0x5c($s0) -/* 0757FC 7F040CCC C7A800B8 */ lwc1 $f8, 0xb8($sp) -/* 075800 7F040CD0 E6080060 */ swc1 $f8, 0x60($s0) -.L7F040CD4: -/* 075804 7F040CD4 0FC10121 */ jal sub_GAME_7F040484 -/* 075808 7F040CD8 02002025 */ move $a0, $s0 -/* 07580C 7F040CDC 8FBF0024 */ lw $ra, 0x24($sp) -/* 075810 7F040CE0 8FB00020 */ lw $s0, 0x20($sp) -/* 075814 7F040CE4 27BD00C8 */ addiu $sp, $sp, 0xc8 -/* 075818 7F040CE8 03E00008 */ jr $ra -/* 07581C 7F040CEC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040CF0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040CF0 -/* 075820 7F040CF0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 075824 7F040CF4 AFBF0014 */ sw $ra, 0x14($sp) -/* 075828 7F040CF8 8C820004 */ lw $v0, 4($a0) -/* 07582C 7F040CFC 8C430064 */ lw $v1, 0x64($v0) -/* 075830 7F040D00 306E0040 */ andi $t6, $v1, 0x40 -/* 075834 7F040D04 11C00015 */ beqz $t6, .L7F040D5C -/* 075838 7F040D08 30780080 */ andi $t8, $v1, 0x80 -/* 07583C 7F040D0C 8C44006C */ lw $a0, 0x6c($v0) -/* 075840 7F040D10 5080000E */ beql $a0, $zero, .L7F040D4C -/* 075844 7F040D14 2401FFBF */ li $at, -65 -/* 075848 7F040D18 8C850044 */ lw $a1, 0x44($a0) -/* 07584C 7F040D1C 10A00006 */ beqz $a1, .L7F040D38 -/* 075850 7F040D20 00000000 */ nop -/* 075854 7F040D24 00A02025 */ move $a0, $a1 -/* 075858 7F040D28 0FC0FEDC */ jal sub_GAME_7F03FB70 -/* 07585C 7F040D2C AFA2001C */ sw $v0, 0x1c($sp) -/* 075860 7F040D30 8FA2001C */ lw $v0, 0x1c($sp) -/* 075864 7F040D34 8C44006C */ lw $a0, 0x6c($v0) -.L7F040D38: -/* 075868 7F040D38 0FC0FFA2 */ jal sub_GAME_7F03FE88 -/* 07586C 7F040D3C AFA2001C */ sw $v0, 0x1c($sp) -/* 075870 7F040D40 8FA2001C */ lw $v0, 0x1c($sp) -/* 075874 7F040D44 8C430064 */ lw $v1, 0x64($v0) -/* 075878 7F040D48 2401FFBF */ li $at, -65 -.L7F040D4C: -/* 07587C 7F040D4C 00617824 */ and $t7, $v1, $at -/* 075880 7F040D50 AC40006C */ sw $zero, 0x6c($v0) -/* 075884 7F040D54 1000000C */ b .L7F040D88 -/* 075888 7F040D58 AC4F0064 */ sw $t7, 0x64($v0) -.L7F040D5C: -/* 07588C 7F040D5C 5300000B */ beql $t8, $zero, .L7F040D8C -/* 075890 7F040D60 8FBF0014 */ lw $ra, 0x14($sp) -/* 075894 7F040D64 8C44006C */ lw $a0, 0x6c($v0) -/* 075898 7F040D68 0FC0FEDC */ jal sub_GAME_7F03FB70 -/* 07589C 7F040D6C AFA2001C */ sw $v0, 0x1c($sp) -/* 0758A0 7F040D70 8FA2001C */ lw $v0, 0x1c($sp) -/* 0758A4 7F040D74 2401FF7F */ li $at, -129 -/* 0758A8 7F040D78 8C590064 */ lw $t9, 0x64($v0) -/* 0758AC 7F040D7C AC40006C */ sw $zero, 0x6c($v0) -/* 0758B0 7F040D80 03214024 */ and $t0, $t9, $at -/* 0758B4 7F040D84 AC480064 */ sw $t0, 0x64($v0) -.L7F040D88: -/* 0758B8 7F040D88 8FBF0014 */ lw $ra, 0x14($sp) -.L7F040D8C: -/* 0758BC 7F040D8C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0758C0 7F040D90 03E00008 */ jr $ra -/* 0758C4 7F040D94 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F040D98(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F040D98 -/* 0758C8 7F040D98 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0758CC 7F040D9C AFBF0024 */ sw $ra, 0x24($sp) -/* 0758D0 7F040DA0 AFB20020 */ sw $s2, 0x20($sp) -/* 0758D4 7F040DA4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0758D8 7F040DA8 AFB00018 */ sw $s0, 0x18($sp) -/* 0758DC 7F040DAC AFA5002C */ sw $a1, 0x2c($sp) -/* 0758E0 7F040DB0 90820003 */ lbu $v0, 3($a0) -/* 0758E4 7F040DB4 2401000D */ li $at, 13 -/* 0758E8 7F040DB8 00C08025 */ move $s0, $a2 -/* 0758EC 7F040DBC 14410015 */ bne $v0, $at, .L7F040E14 -/* 0758F0 7F040DC0 00809025 */ move $s2, $a0 -/* 0758F4 7F040DC4 8C8400C4 */ lw $a0, 0xc4($a0) -/* 0758F8 7F040DC8 50800008 */ beql $a0, $zero, .L7F040DEC -/* 0758FC 7F040DCC 8E4400C8 */ lw $a0, 0xc8($s2) -/* 075900 7F040DD0 0C00237C */ jal sfxGetArg0Unk3F -/* 075904 7F040DD4 00000000 */ nop -/* 075908 7F040DD8 50400004 */ beql $v0, $zero, .L7F040DEC -/* 07590C 7F040DDC 8E4400C8 */ lw $a0, 0xc8($s2) -/* 075910 7F040DE0 0C002408 */ jal sfxDeactivate -/* 075914 7F040DE4 8E4400C4 */ lw $a0, 0xc4($s2) -/* 075918 7F040DE8 8E4400C8 */ lw $a0, 0xc8($s2) -.L7F040DEC: -/* 07591C 7F040DEC 5080004E */ beql $a0, $zero, .L7F040F28 -/* 075920 7F040DF0 8E510010 */ lw $s1, 0x10($s2) -/* 075924 7F040DF4 0C00237C */ jal sfxGetArg0Unk3F -/* 075928 7F040DF8 00000000 */ nop -/* 07592C 7F040DFC 5040004A */ beql $v0, $zero, .L7F040F28 -/* 075930 7F040E00 8E510010 */ lw $s1, 0x10($s2) -/* 075934 7F040E04 0C002408 */ jal sfxDeactivate -/* 075938 7F040E08 8E4400C8 */ lw $a0, 0xc8($s2) -/* 07593C 7F040E0C 10000046 */ b .L7F040F28 -/* 075940 7F040E10 8E510010 */ lw $s1, 0x10($s2) -.L7F040E14: -/* 075944 7F040E14 24010008 */ li $at, 8 -/* 075948 7F040E18 54410008 */ bnel $v0, $at, .L7F040E3C -/* 07594C 7F040E1C 24010001 */ li $at, 1 -/* 075950 7F040E20 8E420084 */ lw $v0, 0x84($s2) -/* 075954 7F040E24 50400040 */ beql $v0, $zero, .L7F040F28 -/* 075958 7F040E28 8E510010 */ lw $s1, 0x10($s2) -/* 07595C 7F040E2C AC400084 */ sw $zero, 0x84($v0) -/* 075960 7F040E30 1000003C */ b .L7F040F24 -/* 075964 7F040E34 AE400084 */ sw $zero, 0x84($s2) -/* 075968 7F040E38 24010001 */ li $at, 1 -.L7F040E3C: -/* 07596C 7F040E3C 54410016 */ bnel $v0, $at, .L7F040E98 -/* 075970 7F040E40 2401002F */ li $at, 47 -/* 075974 7F040E44 8E4400F4 */ lw $a0, 0xf4($s2) -/* 075978 7F040E48 50800008 */ beql $a0, $zero, .L7F040E6C -/* 07597C 7F040E4C 8E4400F8 */ lw $a0, 0xf8($s2) -/* 075980 7F040E50 0C00237C */ jal sfxGetArg0Unk3F -/* 075984 7F040E54 00000000 */ nop -/* 075988 7F040E58 50400004 */ beql $v0, $zero, .L7F040E6C -/* 07598C 7F040E5C 8E4400F8 */ lw $a0, 0xf8($s2) -/* 075990 7F040E60 0C002408 */ jal sfxDeactivate -/* 075994 7F040E64 8E4400F4 */ lw $a0, 0xf4($s2) -/* 075998 7F040E68 8E4400F8 */ lw $a0, 0xf8($s2) -.L7F040E6C: -/* 07599C 7F040E6C 5080002E */ beql $a0, $zero, .L7F040F28 -/* 0759A0 7F040E70 8E510010 */ lw $s1, 0x10($s2) -/* 0759A4 7F040E74 0C00237C */ jal sfxGetArg0Unk3F -/* 0759A8 7F040E78 00000000 */ nop -/* 0759AC 7F040E7C 5040002A */ beql $v0, $zero, .L7F040F28 -/* 0759B0 7F040E80 8E510010 */ lw $s1, 0x10($s2) -/* 0759B4 7F040E84 0C002408 */ jal sfxDeactivate -/* 0759B8 7F040E88 8E4400F8 */ lw $a0, 0xf8($s2) -/* 0759BC 7F040E8C 10000026 */ b .L7F040F28 -/* 0759C0 7F040E90 8E510010 */ lw $s1, 0x10($s2) -/* 0759C4 7F040E94 2401002F */ li $at, 47 -.L7F040E98: -/* 0759C8 7F040E98 54410009 */ bnel $v0, $at, .L7F040EC0 -/* 0759CC 7F040E9C 24010028 */ li $at, 40 -/* 0759D0 7F040EA0 8E44008C */ lw $a0, 0x8c($s2) -/* 0759D4 7F040EA4 04820020 */ bltzl $a0, .L7F040F28 -/* 0759D8 7F040EA8 8E510010 */ lw $s1, 0x10($s2) -/* 0759DC 7F040EAC 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 0759E0 7F040EB0 24050001 */ li $a1, 1 -/* 0759E4 7F040EB4 1000001C */ b .L7F040F28 -/* 0759E8 7F040EB8 8E510010 */ lw $s1, 0x10($s2) -/* 0759EC 7F040EBC 24010028 */ li $at, 40 -.L7F040EC0: -/* 0759F0 7F040EC0 5441000D */ bnel $v0, $at, .L7F040EF8 -/* 0759F4 7F040EC4 24010027 */ li $at, 39 -/* 0759F8 7F040EC8 8E4400B0 */ lw $a0, 0xb0($s2) -/* 0759FC 7F040ECC 50800016 */ beql $a0, $zero, .L7F040F28 -/* 075A00 7F040ED0 8E510010 */ lw $s1, 0x10($s2) -/* 075A04 7F040ED4 0C00237C */ jal sfxGetArg0Unk3F -/* 075A08 7F040ED8 00000000 */ nop -/* 075A0C 7F040EDC 50400012 */ beql $v0, $zero, .L7F040F28 -/* 075A10 7F040EE0 8E510010 */ lw $s1, 0x10($s2) -/* 075A14 7F040EE4 0C002408 */ jal sfxDeactivate -/* 075A18 7F040EE8 8E4400B0 */ lw $a0, 0xb0($s2) -/* 075A1C 7F040EEC 1000000E */ b .L7F040F28 -/* 075A20 7F040EF0 8E510010 */ lw $s1, 0x10($s2) -/* 075A24 7F040EF4 24010027 */ li $at, 39 -.L7F040EF8: -/* 075A28 7F040EF8 5441000B */ bnel $v0, $at, .L7F040F28 -/* 075A2C 7F040EFC 8E510010 */ lw $s1, 0x10($s2) -/* 075A30 7F040F00 8E4400AC */ lw $a0, 0xac($s2) -/* 075A34 7F040F04 50800008 */ beql $a0, $zero, .L7F040F28 -/* 075A38 7F040F08 8E510010 */ lw $s1, 0x10($s2) -/* 075A3C 7F040F0C 0C00237C */ jal sfxGetArg0Unk3F -/* 075A40 7F040F10 00000000 */ nop -/* 075A44 7F040F14 50400004 */ beql $v0, $zero, .L7F040F28 -/* 075A48 7F040F18 8E510010 */ lw $s1, 0x10($s2) -/* 075A4C 7F040F1C 0C002408 */ jal sfxDeactivate -/* 075A50 7F040F20 8E4400AC */ lw $a0, 0xac($s2) -.L7F040F24: -/* 075A54 7F040F24 8E510010 */ lw $s1, 0x10($s2) -.L7F040F28: -/* 075A58 7F040F28 12200038 */ beqz $s1, .L7F04100C -/* 075A5C 7F040F2C 02202025 */ move $a0, $s1 -/* 075A60 7F040F30 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 075A64 7F040F34 00002825 */ move $a1, $zero -/* 075A68 7F040F38 8E440010 */ lw $a0, 0x10($s2) -/* 075A6C 7F040F3C 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 075A70 7F040F40 24050001 */ li $a1, 1 -/* 075A74 7F040F44 56000032 */ bnezl $s0, .L7F041010 -/* 075A78 7F040F48 8FBF0024 */ lw $ra, 0x24($sp) -/* 075A7C 7F040F4C 0FC1033C */ jal sub_GAME_7F040CF0 -/* 075A80 7F040F50 8E440010 */ lw $a0, 0x10($s2) -/* 075A84 7F040F54 8E510010 */ lw $s1, 0x10($s2) -/* 075A88 7F040F58 8E2E001C */ lw $t6, 0x1c($s1) -/* 075A8C 7F040F5C 11C00004 */ beqz $t6, .L7F040F70 -/* 075A90 7F040F60 00000000 */ nop -/* 075A94 7F040F64 0FC13011 */ jal sub_GAME_7F04C044 -/* 075A98 7F040F68 02202025 */ move $a0, $s1 -/* 075A9C 7F040F6C 8E510010 */ lw $s1, 0x10($s2) -.L7F040F70: -/* 075AA0 7F040F70 0FC0F863 */ jal sub_GAME_7F03E18C -/* 075AA4 7F040F74 02202025 */ move $a0, $s1 -/* 075AA8 7F040F78 8E510010 */ lw $s1, 0x10($s2) -/* 075AAC 7F040F7C 8E300020 */ lw $s0, 0x20($s1) -/* 075AB0 7F040F80 52000009 */ beql $s0, $zero, .L7F040FA8 -/* 075AB4 7F040F84 922F0000 */ lbu $t7, ($s1) -.L7F040F88: -/* 075AB8 7F040F88 8E110024 */ lw $s1, 0x24($s0) -/* 075ABC 7F040F8C 8E040004 */ lw $a0, 4($s0) -/* 075AC0 7F040F90 0FC10409 */ jal sub_GAME_7F041024 -/* 075AC4 7F040F94 24050001 */ li $a1, 1 -/* 075AC8 7F040F98 1620FFFB */ bnez $s1, .L7F040F88 -/* 075ACC 7F040F9C 02208025 */ move $s0, $s1 -/* 075AD0 7F040FA0 8E510010 */ lw $s1, 0x10($s2) -/* 075AD4 7F040FA4 922F0000 */ lbu $t7, ($s1) -.L7F040FA8: -/* 075AD8 7F040FA8 24010002 */ li $at, 2 -/* 075ADC 7F040FAC 51E10004 */ beql $t7, $at, .L7F040FC0 -/* 075AE0 7F040FB0 92580003 */ lbu $t8, 3($s2) -/* 075AE4 7F040FB4 0FC1437A */ jal sub_GAME_7F050DE8 -/* 075AE8 7F040FB8 8E440014 */ lw $a0, 0x14($s2) -/* 075AEC 7F040FBC 92580003 */ lbu $t8, 3($s2) -.L7F040FC0: -/* 075AF0 7F040FC0 24010028 */ li $at, 40 -/* 075AF4 7F040FC4 17010005 */ bne $t8, $at, .L7F040FDC -/* 075AF8 7F040FC8 00000000 */ nop -/* 075AFC 7F040FCC 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero -/* 075B00 7F040FD0 8E440014 */ lw $a0, 0x14($s2) -/* 075B04 7F040FD4 10000004 */ b .L7F040FE8 -/* 075B08 7F040FD8 8FB9002C */ lw $t9, 0x2c($sp) -.L7F040FDC: -/* 075B0C 7F040FDC 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 075B10 7F040FE0 8E440014 */ lw $a0, 0x14($s2) -/* 075B14 7F040FE4 8FB9002C */ lw $t9, 0x2c($sp) -.L7F040FE8: -/* 075B18 7F040FE8 53200008 */ beql $t9, $zero, .L7F04100C -/* 075B1C 7F040FEC AE400010 */ sw $zero, 0x10($s2) -/* 075B20 7F040FF0 0FC0E94E */ jal sub_GAME_7F03A538 -/* 075B24 7F040FF4 8E440010 */ lw $a0, 0x10($s2) -/* 075B28 7F040FF8 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 075B2C 7F040FFC 8E440010 */ lw $a0, 0x10($s2) -/* 075B30 7F041000 0FC0E921 */ jal set_last_obj_pos_data -/* 075B34 7F041004 8E440010 */ lw $a0, 0x10($s2) -/* 075B38 7F041008 AE400010 */ sw $zero, 0x10($s2) -.L7F04100C: -/* 075B3C 7F04100C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F041010: -/* 075B40 7F041010 8FB00018 */ lw $s0, 0x18($sp) -/* 075B44 7F041014 8FB1001C */ lw $s1, 0x1c($sp) -/* 075B48 7F041018 8FB20020 */ lw $s2, 0x20($sp) -/* 075B4C 7F04101C 03E00008 */ jr $ra -/* 075B50 7F041020 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041024(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041024 -/* 075B54 7F041024 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 075B58 7F041028 AFBF0014 */ sw $ra, 0x14($sp) -/* 075B5C 7F04102C 0FC10366 */ jal sub_GAME_7F040D98 -/* 075B60 7F041030 00003025 */ move $a2, $zero -/* 075B64 7F041034 8FBF0014 */ lw $ra, 0x14($sp) -/* 075B68 7F041038 27BD0018 */ addiu $sp, $sp, 0x18 -/* 075B6C 7F04103C 03E00008 */ jr $ra -/* 075B70 7F041040 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void if_a0_plus_3_is_4_then_10_else_20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel if_a0_plus_3_is_4_then_10_else_20 -/* 075B74 7F041044 908E0003 */ lbu $t6, 3($a0) -/* 075B78 7F041048 24010004 */ li $at, 4 -/* 075B7C 7F04104C 15C10004 */ bne $t6, $at, .L7F041060 -/* 075B80 7F041050 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 075B84 7F041054 44810000 */ mtc1 $at, $f0 -/* 075B88 7F041058 03E00008 */ jr $ra -/* 075B8C 7F04105C 00000000 */ nop - -.L7F041060: -/* 075B90 7F041060 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 075B94 7F041064 44810000 */ mtc1 $at, $f0 -/* 075B98 7F041068 00000000 */ nop -/* 075B9C 7F04106C 03E00008 */ jr $ra -/* 075BA0 7F041070 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041074(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041074 -/* 075BA4 7F041074 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 075BA8 7F041078 AFA70024 */ sw $a3, 0x24($sp) -/* 075BAC 7F04107C C48A0000 */ lwc1 $f10, ($a0) -/* 075BB0 7F041080 C4C80000 */ lwc1 $f8, ($a2) -/* 075BB4 7F041084 00001025 */ move $v0, $zero -/* 075BB8 7F041088 460A4181 */ sub.s $f6, $f8, $f10 -/* 075BBC 7F04108C E7A6000C */ swc1 $f6, 0xc($sp) -/* 075BC0 7F041090 C4880004 */ lwc1 $f8, 4($a0) -/* 075BC4 7F041094 C4C40004 */ lwc1 $f4, 4($a2) -/* 075BC8 7F041098 46082281 */ sub.s $f10, $f4, $f8 -/* 075BCC 7F04109C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 075BD0 7F0410A0 C4840008 */ lwc1 $f4, 8($a0) -/* 075BD4 7F0410A4 C4C60008 */ lwc1 $f6, 8($a2) -/* 075BD8 7F0410A8 C7AA000C */ lwc1 $f10, 0xc($sp) -/* 075BDC 7F0410AC 46043201 */ sub.s $f8, $f6, $f4 -/* 075BE0 7F0410B0 C7A40010 */ lwc1 $f4, 0x10($sp) -/* 075BE4 7F0410B4 E7A80014 */ swc1 $f8, 0x14($sp) -/* 075BE8 7F0410B8 C4AC0000 */ lwc1 $f12, ($a1) -/* 075BEC 7F0410BC C4AE0004 */ lwc1 $f14, 4($a1) -/* 075BF0 7F0410C0 C4A20008 */ lwc1 $f2, 8($a1) -/* 075BF4 7F0410C4 460A6182 */ mul.s $f6, $f12, $f10 -/* 075BF8 7F0410C8 E7AA0000 */ swc1 $f10, ($sp) -/* 075BFC 7F0410CC 46047202 */ mul.s $f8, $f14, $f4 -/* 075C00 7F0410D0 46083180 */ add.s $f6, $f6, $f8 -/* 075C04 7F0410D4 C7A80014 */ lwc1 $f8, 0x14($sp) -/* 075C08 7F0410D8 46024282 */ mul.s $f10, $f8, $f2 -/* 075C0C 7F0410DC 46065000 */ add.s $f0, $f10, $f6 -/* 075C10 7F0410E0 44805000 */ mtc1 $zero, $f10 -/* 075C14 7F0410E4 00000000 */ nop -/* 075C18 7F0410E8 4600503C */ c.lt.s $f10, $f0 -/* 075C1C 7F0410EC 00000000 */ nop -/* 075C20 7F0410F0 45000019 */ bc1f .L7F041158 -/* 075C24 7F0410F4 00000000 */ nop -/* 075C28 7F0410F8 460C6182 */ mul.s $f6, $f12, $f12 -/* 075C2C 7F0410FC 00000000 */ nop -/* 075C30 7F041100 460E7282 */ mul.s $f10, $f14, $f14 -/* 075C34 7F041104 460A3180 */ add.s $f6, $f6, $f10 -/* 075C38 7F041108 46021282 */ mul.s $f10, $f2, $f2 -/* 075C3C 7F04110C 46065400 */ add.s $f16, $f10, $f6 -/* 075C40 7F041110 C7AA0000 */ lwc1 $f10, ($sp) -/* 075C44 7F041114 460A5182 */ mul.s $f6, $f10, $f10 -/* 075C48 7F041118 00000000 */ nop -/* 075C4C 7F04111C 46042282 */ mul.s $f10, $f4, $f4 -/* 075C50 7F041120 460A3100 */ add.s $f4, $f6, $f10 -/* 075C54 7F041124 46084182 */ mul.s $f6, $f8, $f8 -/* 075C58 7F041128 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 075C5C 7F04112C 46000282 */ mul.s $f10, $f0, $f0 -/* 075C60 7F041130 46043480 */ add.s $f18, $f6, $f4 -/* 075C64 7F041134 46084182 */ mul.s $f6, $f8, $f8 -/* 075C68 7F041138 46069101 */ sub.s $f4, $f18, $f6 -/* 075C6C 7F04113C 46102202 */ mul.s $f8, $f4, $f16 -/* 075C70 7F041140 460A403E */ c.le.s $f8, $f10 -/* 075C74 7F041144 00000000 */ nop -/* 075C78 7F041148 45000003 */ bc1f .L7F041158 -/* 075C7C 7F04114C 00000000 */ nop -/* 075C80 7F041150 10000001 */ b .L7F041158 -/* 075C84 7F041154 24020001 */ li $v0, 1 -.L7F041158: -/* 075C88 7F041158 03E00008 */ jr $ra -/* 075C8C 7F04115C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041160(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041160 -/* 075C90 7F041160 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 075C94 7F041164 AFBF0044 */ sw $ra, 0x44($sp) -/* 075C98 7F041168 AFB70040 */ sw $s7, 0x40($sp) -/* 075C9C 7F04116C AFB6003C */ sw $s6, 0x3c($sp) -/* 075CA0 7F041170 AFB50038 */ sw $s5, 0x38($sp) -/* 075CA4 7F041174 AFB40034 */ sw $s4, 0x34($sp) -/* 075CA8 7F041178 AFB30030 */ sw $s3, 0x30($sp) -/* 075CAC 7F04117C AFB2002C */ sw $s2, 0x2c($sp) -/* 075CB0 7F041180 AFB10028 */ sw $s1, 0x28($sp) -/* 075CB4 7F041184 AFB00024 */ sw $s0, 0x24($sp) -/* 075CB8 7F041188 AFA700B4 */ sw $a3, 0xb4($sp) -/* 075CBC 7F04118C 8C970014 */ lw $s7, 0x14($a0) -/* 075CC0 7F041190 AFA0009C */ sw $zero, 0x9c($sp) -/* 075CC4 7F041194 AFA00064 */ sw $zero, 0x64($sp) -/* 075CC8 7F041198 908E0003 */ lbu $t6, 3($a0) -/* 075CCC 7F04119C 24010001 */ li $at, 1 -/* 075CD0 7F0411A0 00A08825 */ move $s1, $a1 -/* 075CD4 7F0411A4 15C1001A */ bne $t6, $at, .L7F041210 -/* 075CD8 7F0411A8 00C09825 */ move $s3, $a2 -/* 075CDC 7F0411AC 248400D0 */ addiu $a0, $a0, 0xd0 -/* 075CE0 7F0411B0 8EE5000C */ lw $a1, 0xc($s7) -/* 075CE4 7F0411B4 02203025 */ move $a2, $s1 -/* 075CE8 7F0411B8 0FC1D1F4 */ jal sub_GAME_7F0747D0 -/* 075CEC 7F0411BC 02603825 */ move $a3, $s3 -/* 075CF0 7F0411C0 8EEF0008 */ lw $t7, 8($s7) -/* 075CF4 7F0411C4 00408025 */ move $s0, $v0 -/* 075CF8 7F0411C8 27B4006C */ addiu $s4, $sp, 0x6c -/* 075CFC 7F0411CC 8DF80000 */ lw $t8, ($t7) -/* 075D00 7F0411D0 27B50068 */ addiu $s5, $sp, 0x68 -/* 075D04 7F0411D4 18400025 */ blez $v0, .L7F04126C -/* 075D08 7F0411D8 AFB8009C */ sw $t8, 0x9c($sp) -/* 075D0C 7F0411DC 27B60064 */ addiu $s6, $sp, 0x64 -/* 075D10 7F0411E0 AFB60018 */ sw $s6, 0x18($sp) -/* 075D14 7F0411E4 02E02025 */ move $a0, $s7 -/* 075D18 7F0411E8 03002825 */ move $a1, $t8 -/* 075D1C 7F0411EC 02203025 */ move $a2, $s1 -/* 075D20 7F0411F0 02603825 */ move $a3, $s3 -/* 075D24 7F0411F4 AFB40010 */ sw $s4, 0x10($sp) -/* 075D28 7F0411F8 0FC1366C */ jal sub_GAME_7F04D9B0 -/* 075D2C 7F0411FC AFB50014 */ sw $s5, 0x14($sp) -/* 075D30 7F041200 1440001A */ bnez $v0, .L7F04126C -/* 075D34 7F041204 00000000 */ nop -/* 075D38 7F041208 10000018 */ b .L7F04126C -/* 075D3C 7F04120C 00008025 */ move $s0, $zero -.L7F041210: -/* 075D40 7F041210 27B60064 */ addiu $s6, $sp, 0x64 -/* 075D44 7F041214 27B50068 */ addiu $s5, $sp, 0x68 -/* 075D48 7F041218 27B4006C */ addiu $s4, $sp, 0x6c -/* 075D4C 7F04121C 27B2009C */ addiu $s2, $sp, 0x9c -/* 075D50 7F041220 02E02025 */ move $a0, $s7 -.L7F041224: -/* 075D54 7F041224 02202825 */ move $a1, $s1 -/* 075D58 7F041228 02603025 */ move $a2, $s3 -/* 075D5C 7F04122C 0FC1D4BF */ jal sub_GAME_7F0752FC -/* 075D60 7F041230 02403825 */ move $a3, $s2 -/* 075D64 7F041234 1840000B */ blez $v0, .L7F041264 -/* 075D68 7F041238 00408025 */ move $s0, $v0 -/* 075D6C 7F04123C 02E02025 */ move $a0, $s7 -/* 075D70 7F041240 8FA5009C */ lw $a1, 0x9c($sp) -/* 075D74 7F041244 02203025 */ move $a2, $s1 -/* 075D78 7F041248 02603825 */ move $a3, $s3 -/* 075D7C 7F04124C AFB40010 */ sw $s4, 0x10($sp) -/* 075D80 7F041250 AFB50014 */ sw $s5, 0x14($sp) -/* 075D84 7F041254 0FC1366C */ jal sub_GAME_7F04D9B0 -/* 075D88 7F041258 AFB60018 */ sw $s6, 0x18($sp) -/* 075D8C 7F04125C 14400003 */ bnez $v0, .L7F04126C -/* 075D90 7F041260 00000000 */ nop -.L7F041264: -/* 075D94 7F041264 5E00FFEF */ bgtzl $s0, .L7F041224 -/* 075D98 7F041268 02E02025 */ move $a0, $s7 -.L7F04126C: -/* 075D9C 7F04126C 1A000059 */ blez $s0, .L7F0413D4 -/* 075DA0 7F041270 00001025 */ move $v0, $zero -/* 075DA4 7F041274 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 075DA8 7F041278 8FA500B4 */ lw $a1, 0xb4($sp) -/* 075DAC 7F04127C 8EF9000C */ lw $t9, 0xc($s7) -/* 075DB0 7F041280 8FA80068 */ lw $t0, 0x68($sp) -/* 075DB4 7F041284 E4A40000 */ swc1 $f4, ($a1) -/* 075DB8 7F041288 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 075DBC 7F04128C 00084980 */ sll $t1, $t0, 6 -/* 075DC0 7F041290 03298821 */ addu $s1, $t9, $t1 -/* 075DC4 7F041294 E4A60004 */ swc1 $f6, 4($a1) -/* 075DC8 7F041298 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 075DCC 7F04129C 02202025 */ move $a0, $s1 -/* 075DD0 7F0412A0 0FC1611D */ jal sub_GAME_7F058474 -/* 075DD4 7F0412A4 E4A80008 */ swc1 $f8, 8($a1) -/* 075DD8 7F0412A8 0FC1E111 */ jal sub_GAME_7F078444 -/* 075DDC 7F0412AC 00000000 */ nop -/* 075DE0 7F0412B0 00402025 */ move $a0, $v0 -/* 075DE4 7F0412B4 0FC1611D */ jal sub_GAME_7F058474 -/* 075DE8 7F0412B8 8FA500B4 */ lw $a1, 0xb4($sp) -/* 075DEC 7F0412BC 8FB000B8 */ lw $s0, 0xb8($sp) -/* 075DF0 7F0412C0 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 075DF4 7F0412C4 02202025 */ move $a0, $s1 -/* 075DF8 7F0412C8 02002825 */ move $a1, $s0 -/* 075DFC 7F0412CC E60A0000 */ swc1 $f10, ($s0) -/* 075E00 7F0412D0 C7B0007C */ lwc1 $f16, 0x7c($sp) -/* 075E04 7F0412D4 E6100004 */ swc1 $f16, 4($s0) -/* 075E08 7F0412D8 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 075E0C 7F0412DC 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 075E10 7F0412E0 E6120008 */ swc1 $f18, 8($s0) -/* 075E14 7F0412E4 C6020000 */ lwc1 $f2, ($s0) -/* 075E18 7F0412E8 C6640000 */ lwc1 $f4, ($s3) -/* 075E1C 7F0412EC C60C0004 */ lwc1 $f12, 4($s0) -/* 075E20 7F0412F0 C6680004 */ lwc1 $f8, 4($s3) -/* 075E24 7F0412F4 46041182 */ mul.s $f6, $f2, $f4 -/* 075E28 7F0412F8 C6000008 */ lwc1 $f0, 8($s0) -/* 075E2C 7F0412FC C6720008 */ lwc1 $f18, 8($s3) -/* 075E30 7F041300 46086282 */ mul.s $f10, $f12, $f8 -/* 075E34 7F041304 44807000 */ mtc1 $zero, $f14 -/* 075E38 7F041308 46009102 */ mul.s $f4, $f18, $f0 -/* 075E3C 7F04130C 460A3400 */ add.s $f16, $f6, $f10 -/* 075E40 7F041310 46102200 */ add.s $f8, $f4, $f16 -/* 075E44 7F041314 4608703C */ c.lt.s $f14, $f8 -/* 075E48 7F041318 00000000 */ nop -/* 075E4C 7F04131C 45000007 */ bc1f .L7F04133C -/* 075E50 7F041320 00000000 */ nop -/* 075E54 7F041324 46001187 */ neg.s $f6, $f2 -/* 075E58 7F041328 46006287 */ neg.s $f10, $f12 -/* 075E5C 7F04132C 46000487 */ neg.s $f18, $f0 -/* 075E60 7F041330 E6060000 */ swc1 $f6, ($s0) -/* 075E64 7F041334 E60A0004 */ swc1 $f10, 4($s0) -/* 075E68 7F041338 E6120008 */ swc1 $f18, 8($s0) -.L7F04133C: -/* 075E6C 7F04133C 0FC1E111 */ jal sub_GAME_7F078444 -/* 075E70 7F041340 00000000 */ nop -/* 075E74 7F041344 00402025 */ move $a0, $v0 -/* 075E78 7F041348 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 075E7C 7F04134C 02002825 */ move $a1, $s0 -/* 075E80 7F041350 44807000 */ mtc1 $zero, $f14 -/* 075E84 7F041354 C6040000 */ lwc1 $f4, ($s0) -/* 075E88 7F041358 02002025 */ move $a0, $s0 -/* 075E8C 7F04135C 26050004 */ addiu $a1, $s0, 4 -/* 075E90 7F041360 46047032 */ c.eq.s $f14, $f4 -/* 075E94 7F041364 00000000 */ nop -/* 075E98 7F041368 4500000C */ bc1f .L7F04139C -/* 075E9C 7F04136C 00000000 */ nop -/* 075EA0 7F041370 C6100004 */ lwc1 $f16, 4($s0) -/* 075EA4 7F041374 46107032 */ c.eq.s $f14, $f16 -/* 075EA8 7F041378 00000000 */ nop -/* 075EAC 7F04137C 45000007 */ bc1f .L7F04139C -/* 075EB0 7F041380 00000000 */ nop -/* 075EB4 7F041384 C6080008 */ lwc1 $f8, 8($s0) -/* 075EB8 7F041388 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 075EBC 7F04138C 46087032 */ c.eq.s $f14, $f8 -/* 075EC0 7F041390 00000000 */ nop -/* 075EC4 7F041394 45030006 */ bc1tl .L7F0413B0 -/* 075EC8 7F041398 44813000 */ mtc1 $at, $f6 -.L7F04139C: -/* 075ECC 7F04139C 0C007DD4 */ jal guNormalize -/* 075ED0 7F0413A0 26060008 */ addiu $a2, $s0, 8 -/* 075ED4 7F0413A4 10000005 */ b .L7F0413BC -/* 075ED8 7F0413A8 8FAB00BC */ lw $t3, 0xbc($sp) -/* 075EDC 7F0413AC 44813000 */ mtc1 $at, $f6 -.L7F0413B0: -/* 075EE0 7F0413B0 00000000 */ nop -/* 075EE4 7F0413B4 E6060008 */ swc1 $f6, 8($s0) -/* 075EE8 7F0413B8 8FAB00BC */ lw $t3, 0xbc($sp) -.L7F0413BC: -/* 075EEC 7F0413BC 24020001 */ li $v0, 1 -/* 075EF0 7F0413C0 AD770000 */ sw $s7, ($t3) -/* 075EF4 7F0413C4 8FAD00C0 */ lw $t5, 0xc0($sp) -/* 075EF8 7F0413C8 8FAC0064 */ lw $t4, 0x64($sp) -/* 075EFC 7F0413CC 10000001 */ b .L7F0413D4 -/* 075F00 7F0413D0 ADAC0000 */ sw $t4, ($t5) -.L7F0413D4: -/* 075F04 7F0413D4 8FBF0044 */ lw $ra, 0x44($sp) -/* 075F08 7F0413D8 8FB00024 */ lw $s0, 0x24($sp) -/* 075F0C 7F0413DC 8FB10028 */ lw $s1, 0x28($sp) -/* 075F10 7F0413E0 8FB2002C */ lw $s2, 0x2c($sp) -/* 075F14 7F0413E4 8FB30030 */ lw $s3, 0x30($sp) -/* 075F18 7F0413E8 8FB40034 */ lw $s4, 0x34($sp) -/* 075F1C 7F0413EC 8FB50038 */ lw $s5, 0x38($sp) -/* 075F20 7F0413F0 8FB6003C */ lw $s6, 0x3c($sp) -/* 075F24 7F0413F4 8FB70040 */ lw $s7, 0x40($sp) -/* 075F28 7F0413F8 03E00008 */ jr $ra -/* 075F2C 7F0413FC 27BD00A8 */ addiu $sp, $sp, 0xa8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041400(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041400 -/* 075F30 7F041400 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 075F34 7F041404 AFB50044 */ sw $s5, 0x44($sp) -/* 075F38 7F041408 AFB40040 */ sw $s4, 0x40($sp) -/* 075F3C 7F04140C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 075F40 7F041410 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 075F44 7F041414 00C0A025 */ move $s4, $a2 -/* 075F48 7F041418 00A0A825 */ move $s5, $a1 -/* 075F4C 7F04141C AFBF0054 */ sw $ra, 0x54($sp) -/* 075F50 7F041420 AFA700E4 */ sw $a3, 0xe4($sp) -/* 075F54 7F041424 4481A000 */ mtc1 $at, $f20 -/* 075F58 7F041428 240EFFFF */ li $t6, -1 -/* 075F5C 7F04142C 27AF00C8 */ addiu $t7, $sp, 0xc8 -/* 075F60 7F041430 AFBE0050 */ sw $fp, 0x50($sp) -/* 075F64 7F041434 AFB7004C */ sw $s7, 0x4c($sp) -/* 075F68 7F041438 AFB60048 */ sw $s6, 0x48($sp) -/* 075F6C 7F04143C AFB3003C */ sw $s3, 0x3c($sp) -/* 075F70 7F041440 AFB20038 */ sw $s2, 0x38($sp) -/* 075F74 7F041444 AFB10034 */ sw $s1, 0x34($sp) -/* 075F78 7F041448 AFB00030 */ sw $s0, 0x30($sp) -/* 075F7C 7F04144C AFA400D8 */ sw $a0, 0xd8($sp) -/* 075F80 7F041450 AFAE0094 */ sw $t6, 0x94($sp) -/* 075F84 7F041454 AFAF0010 */ sw $t7, 0x10($sp) -/* 075F88 7F041458 27A700CC */ addiu $a3, $sp, 0xcc -/* 075F8C 7F04145C 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 075F90 7F041460 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 075F94 7F041464 27A600D0 */ addiu $a2, $sp, 0xd0 -/* 075F98 7F041468 8FB800D0 */ lw $t8, 0xd0($sp) -/* 075F9C 7F04146C C7A400CC */ lwc1 $f4, 0xcc($sp) -/* 075FA0 7F041470 5B0000CD */ blezl $t8, .L7F0417A8 -/* 075FA4 7F041474 00001025 */ move $v0, $zero -/* 075FA8 7F041478 C6A00004 */ lwc1 $f0, 4($s5) -/* 075FAC 7F04147C C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 075FB0 7F041480 4600203C */ c.lt.s $f4, $f0 -/* 075FB4 7F041484 00000000 */ nop -/* 075FB8 7F041488 45020007 */ bc1fl .L7F0414A8 -/* 075FBC 7F04148C 4608003C */ c.lt.s $f0, $f8 -/* 075FC0 7F041490 C6860004 */ lwc1 $f6, 4($s4) -/* 075FC4 7F041494 4606203C */ c.lt.s $f4, $f6 -/* 075FC8 7F041498 00000000 */ nop -/* 075FCC 7F04149C 450300C2 */ bc1tl .L7F0417A8 -/* 075FD0 7F0414A0 00001025 */ move $v0, $zero -/* 075FD4 7F0414A4 4608003C */ c.lt.s $f0, $f8 -.L7F0414A8: -/* 075FD8 7F0414A8 00000000 */ nop -/* 075FDC 7F0414AC 45020007 */ bc1fl .L7F0414CC -/* 075FE0 7F0414B0 C6B00000 */ lwc1 $f16, ($s5) -/* 075FE4 7F0414B4 C68A0004 */ lwc1 $f10, 4($s4) -/* 075FE8 7F0414B8 4608503C */ c.lt.s $f10, $f8 -/* 075FEC 7F0414BC 00000000 */ nop -/* 075FF0 7F0414C0 450300B9 */ bc1tl .L7F0417A8 -/* 075FF4 7F0414C4 00001025 */ move $v0, $zero -/* 075FF8 7F0414C8 C6B00000 */ lwc1 $f16, ($s5) -.L7F0414CC: -/* 075FFC 7F0414CC 8FB900D0 */ lw $t9, 0xd0($sp) -/* 076000 7F0414D0 00008025 */ move $s0, $zero -/* 076004 7F0414D4 E7B000A0 */ swc1 $f16, 0xa0($sp) -/* 076008 7F0414D8 C6B20008 */ lwc1 $f18, 8($s5) -/* 07600C 7F0414DC E7B200A4 */ swc1 $f18, 0xa4($sp) -/* 076010 7F0414E0 C6840000 */ lwc1 $f4, ($s4) -/* 076014 7F0414E4 E7A40098 */ swc1 $f4, 0x98($sp) -/* 076018 7F0414E8 C6860008 */ lwc1 $f6, 8($s4) -/* 07601C 7F0414EC 1B200043 */ blez $t9, .L7F0415FC -/* 076020 7F0414F0 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 076024 7F0414F4 00008825 */ move $s1, $zero -/* 076028 7F0414F8 27BE00B0 */ addiu $fp, $sp, 0xb0 -/* 07602C 7F0414FC 27B70098 */ addiu $s7, $sp, 0x98 -/* 076030 7F041500 27B600A0 */ addiu $s6, $sp, 0xa0 -/* 076034 7F041504 8FA800D0 */ lw $t0, 0xd0($sp) -.L7F041508: -/* 076038 7F041508 26130001 */ addiu $s3, $s0, 1 -/* 07603C 7F04150C 8FA900D4 */ lw $t1, 0xd4($sp) -/* 076040 7F041510 0268001A */ div $zero, $s3, $t0 -/* 076044 7F041514 01311821 */ addu $v1, $t1, $s1 -/* 076048 7F041518 C46A0000 */ lwc1 $f10, ($v1) -/* 07604C 7F04151C C6AC0000 */ lwc1 $f12, ($s5) -/* 076050 7F041520 C6AE0008 */ lwc1 $f14, 8($s5) -/* 076054 7F041524 8E860000 */ lw $a2, ($s4) -/* 076058 7F041528 8E870008 */ lw $a3, 8($s4) -/* 07605C 7F04152C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 076060 7F041530 C4680004 */ lwc1 $f8, 4($v1) -/* 076064 7F041534 00001010 */ mfhi $v0 -/* 076068 7F041538 000250C0 */ sll $t2, $v0, 3 -/* 07606C 7F04153C 012A2021 */ addu $a0, $t1, $t2 -/* 076070 7F041540 E7A80014 */ swc1 $f8, 0x14($sp) -/* 076074 7F041544 C4900000 */ lwc1 $f16, ($a0) -/* 076078 7F041548 15000002 */ bnez $t0, .L7F041554 -/* 07607C 7F04154C 00000000 */ nop -/* 076080 7F041550 0007000D */ break 7 -.L7F041554: -/* 076084 7F041554 2401FFFF */ li $at, -1 -/* 076088 7F041558 15010004 */ bne $t0, $at, .L7F04156C -/* 07608C 7F04155C 3C018000 */ lui $at, 0x8000 -/* 076090 7F041560 16610002 */ bne $s3, $at, .L7F04156C -/* 076094 7F041564 00000000 */ nop -/* 076098 7F041568 0006000D */ break 6 -.L7F04156C: -/* 07609C 7F04156C E7B00018 */ swc1 $f16, 0x18($sp) -/* 0760A0 7F041570 C4920004 */ lwc1 $f18, 4($a0) -/* 0760A4 7F041574 00409025 */ move $s2, $v0 -/* 0760A8 7F041578 0FC2C1A2 */ jal sub_GAME_7F0B0688 -/* 0760AC 7F04157C E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0760B0 7F041580 50400019 */ beql $v0, $zero, .L7F0415E8 -/* 0760B4 7F041584 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 0760B8 7F041588 8FAB00D4 */ lw $t3, 0xd4($sp) -/* 0760BC 7F04158C 001260C0 */ sll $t4, $s2, 3 -/* 0760C0 7F041590 02C02025 */ move $a0, $s6 -/* 0760C4 7F041594 01711821 */ addu $v1, $t3, $s1 -/* 0760C8 7F041598 C4640000 */ lwc1 $f4, ($v1) -/* 0760CC 7F04159C 016C1021 */ addu $v0, $t3, $t4 -/* 0760D0 7F0415A0 02E02825 */ move $a1, $s7 -/* 0760D4 7F0415A4 E7A400B0 */ swc1 $f4, 0xb0($sp) -/* 0760D8 7F0415A8 C4660004 */ lwc1 $f6, 4($v1) -/* 0760DC 7F0415AC 03C03025 */ move $a2, $fp -/* 0760E0 7F0415B0 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 0760E4 7F0415B4 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 0760E8 7F0415B8 C44A0000 */ lwc1 $f10, ($v0) -/* 0760EC 7F0415BC E7AA00A8 */ swc1 $f10, 0xa8($sp) -/* 0760F0 7F0415C0 C4480004 */ lwc1 $f8, 4($v0) -/* 0760F4 7F0415C4 0FC2CC80 */ jal sub_GAME_7F0B3200 -/* 0760F8 7F0415C8 E7A800AC */ swc1 $f8, 0xac($sp) -/* 0760FC 7F0415CC 4614003C */ c.lt.s $f0, $f20 -/* 076100 7F0415D0 00000000 */ nop -/* 076104 7F0415D4 45020004 */ bc1fl .L7F0415E8 -/* 076108 7F0415D8 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 07610C 7F0415DC 46000506 */ mov.s $f20, $f0 -/* 076110 7F0415E0 AFB00094 */ sw $s0, 0x94($sp) -/* 076114 7F0415E4 8FAD00D0 */ lw $t5, 0xd0($sp) -.L7F0415E8: -/* 076118 7F0415E8 02608025 */ move $s0, $s3 -/* 07611C 7F0415EC 26310008 */ addiu $s1, $s1, 8 -/* 076120 7F0415F0 026D082A */ slt $at, $s3, $t5 -/* 076124 7F0415F4 5420FFC4 */ bnezl $at, .L7F041508 -/* 076128 7F0415F8 8FA800D0 */ lw $t0, 0xd0($sp) -.L7F0415FC: -/* 07612C 7F0415FC 8FAE0094 */ lw $t6, 0x94($sp) -/* 076130 7F041600 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 076134 7F041604 27A40088 */ addiu $a0, $sp, 0x88 -/* 076138 7F041608 19C00066 */ blez $t6, .L7F0417A4 -/* 07613C 7F04160C 000EC0C0 */ sll $t8, $t6, 3 -/* 076140 7F041610 8FA800D0 */ lw $t0, 0xd0($sp) -/* 076144 7F041614 25D90001 */ addiu $t9, $t6, 1 -/* 076148 7F041618 01F81021 */ addu $v0, $t7, $t8 -/* 07614C 7F04161C 0328001A */ div $zero, $t9, $t0 -/* 076150 7F041620 4480A000 */ mtc1 $zero, $f20 -/* 076154 7F041624 C4500000 */ lwc1 $f16, ($v0) -/* 076158 7F041628 00004810 */ mfhi $t1 -/* 07615C 7F04162C E7B4008C */ swc1 $f20, 0x8c($sp) -/* 076160 7F041630 E7B00088 */ swc1 $f16, 0x88($sp) -/* 076164 7F041634 C4520004 */ lwc1 $f18, 4($v0) -/* 076168 7F041638 000950C0 */ sll $t2, $t1, 3 -/* 07616C 7F04163C 01EA1821 */ addu $v1, $t7, $t2 -/* 076170 7F041640 E7B20090 */ swc1 $f18, 0x90($sp) -/* 076174 7F041644 C4640000 */ lwc1 $f4, ($v1) -/* 076178 7F041648 E7B40080 */ swc1 $f20, 0x80($sp) -/* 07617C 7F04164C 27AB006C */ addiu $t3, $sp, 0x6c -/* 076180 7F041650 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 076184 7F041654 C4660004 */ lwc1 $f6, 4($v1) -/* 076188 7F041658 15000002 */ bnez $t0, .L7F041664 -/* 07618C 7F04165C 00000000 */ nop -/* 076190 7F041660 0007000D */ break 7 -.L7F041664: -/* 076194 7F041664 2401FFFF */ li $at, -1 -/* 076198 7F041668 15010004 */ bne $t0, $at, .L7F04167C -/* 07619C 7F04166C 3C018000 */ li $at, 0x80000000 # -0.000000 -/* 0761A0 7F041670 17210002 */ bne $t9, $at, .L7F04167C -/* 0761A4 7F041674 00000000 */ nop -/* 0761A8 7F041678 0006000D */ break 6 -.L7F04167C: -/* 0761AC 7F04167C AFAB0010 */ sw $t3, 0x10($sp) -/* 0761B0 7F041680 27A5007C */ addiu $a1, $sp, 0x7c -/* 0761B4 7F041684 02A03025 */ move $a2, $s5 -/* 0761B8 7F041688 8FA700E4 */ lw $a3, 0xe4($sp) -/* 0761BC 7F04168C 0FC0984C */ jal sub_GAME_7F026130 -/* 0761C0 7F041690 E7A60084 */ swc1 $f6, 0x84($sp) -/* 0761C4 7F041694 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0761C8 7F041698 C6A80000 */ lwc1 $f8, ($s5) -/* 0761CC 7F04169C 8FA500E4 */ lw $a1, 0xe4($sp) -/* 0761D0 7F0416A0 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 0761D4 7F0416A4 46085401 */ sub.s $f16, $f10, $f8 -/* 0761D8 7F0416A8 C6AA0004 */ lwc1 $f10, 4($s5) -/* 0761DC 7F0416AC C4B20000 */ lwc1 $f18, ($a1) -/* 0761E0 7F0416B0 8FA300F0 */ lw $v1, 0xf0($sp) -/* 0761E4 7F0416B4 460A3201 */ sub.s $f8, $f6, $f10 -/* 0761E8 7F0416B8 46128102 */ mul.s $f4, $f16, $f18 -/* 0761EC 7F0416BC C4B00004 */ lwc1 $f16, 4($a1) -/* 0761F0 7F0416C0 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 0761F4 7F0416C4 8FA200E8 */ lw $v0, 0xe8($sp) -/* 0761F8 7F0416C8 46104482 */ mul.s $f18, $f8, $f16 -/* 0761FC 7F0416CC C6A80008 */ lwc1 $f8, 8($s5) -/* 076200 7F0416D0 8FA400EC */ lw $a0, 0xec($sp) -/* 076204 7F0416D4 46085401 */ sub.s $f16, $f10, $f8 -/* 076208 7F0416D8 C46A0000 */ lwc1 $f10, ($v1) -/* 07620C 7F0416DC 46122180 */ add.s $f6, $f4, $f18 -/* 076210 7F0416E0 C4A40008 */ lwc1 $f4, 8($a1) -/* 076214 7F0416E4 46102482 */ mul.s $f18, $f4, $f16 -/* 076218 7F0416E8 46069000 */ add.s $f0, $f18, $f6 -/* 07621C 7F0416EC 460A003C */ c.lt.s $f0, $f10 -/* 076220 7F0416F0 00000000 */ nop -/* 076224 7F0416F4 4502002C */ bc1fl .L7F0417A8 -/* 076228 7F0416F8 00001025 */ move $v0, $zero -/* 07622C 7F0416FC E4600000 */ swc1 $f0, ($v1) -/* 076230 7F041700 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 076234 7F041704 E4480000 */ swc1 $f8, ($v0) -/* 076238 7F041708 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 07623C 7F04170C E4440004 */ swc1 $f4, 4($v0) -/* 076240 7F041710 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 076244 7F041714 E4500008 */ swc1 $f16, 8($v0) -/* 076248 7F041718 C4B20000 */ lwc1 $f18, ($a1) -/* 07624C 7F04171C E4940004 */ swc1 $f20, 4($a0) -/* 076250 7F041720 46009187 */ neg.s $f6, $f18 -/* 076254 7F041724 E4860000 */ swc1 $f6, ($a0) -/* 076258 7F041728 C4840000 */ lwc1 $f4, ($a0) -/* 07625C 7F04172C C4AA0008 */ lwc1 $f10, 8($a1) -/* 076260 7F041730 24850004 */ addiu $a1, $a0, 4 -/* 076264 7F041734 4604A032 */ c.eq.s $f20, $f4 -/* 076268 7F041738 46005207 */ neg.s $f8, $f10 -/* 07626C 7F04173C 45000007 */ bc1f .L7F04175C -/* 076270 7F041740 E4880008 */ swc1 $f8, 8($a0) -/* 076274 7F041744 C4900008 */ lwc1 $f16, 8($a0) -/* 076278 7F041748 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07627C 7F04174C 4610A032 */ c.eq.s $f20, $f16 -/* 076280 7F041750 00000000 */ nop -/* 076284 7F041754 45030006 */ bc1tl .L7F041770 -/* 076288 7F041758 44819000 */ mtc1 $at, $f18 -.L7F04175C: -/* 07628C 7F04175C 0C007DD4 */ jal guNormalize -/* 076290 7F041760 24860008 */ addiu $a2, $a0, 8 -/* 076294 7F041764 10000005 */ b .L7F04177C -/* 076298 7F041768 8FAC00D8 */ lw $t4, 0xd8($sp) -/* 07629C 7F04176C 44819000 */ mtc1 $at, $f18 -.L7F041770: -/* 0762A0 7F041770 00000000 */ nop -/* 0762A4 7F041774 E4920008 */ swc1 $f18, 8($a0) -/* 0762A8 7F041778 8FAC00D8 */ lw $t4, 0xd8($sp) -.L7F04177C: -/* 0762AC 7F04177C 3C018003 */ lui $at, %hi(D_80030B0C) -/* 0762B0 7F041780 24020001 */ li $v0, 1 -/* 0762B4 7F041784 AC2C0B0C */ sw $t4, %lo(D_80030B0C)($at) -/* 0762B8 7F041788 3C018003 */ lui $at, %hi(bodypartshot) -/* 0762BC 7F04178C AC200B10 */ sw $zero, %lo(bodypartshot)($at) -/* 0762C0 7F041790 3C018007 */ lui $at, %hi(objinst) -/* 0762C4 7F041794 AC205B70 */ sw $zero, %lo(objinst)($at) -/* 0762C8 7F041798 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) -/* 0762CC 7F04179C 10000002 */ b .L7F0417A8 -/* 0762D0 7F0417A0 AC205B74 */ sw $zero, %lo(dword_CODE_bss_80075B74)($at) -.L7F0417A4: -/* 0762D4 7F0417A4 00001025 */ move $v0, $zero -.L7F0417A8: -/* 0762D8 7F0417A8 8FBF0054 */ lw $ra, 0x54($sp) -/* 0762DC 7F0417AC D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0762E0 7F0417B0 8FB00030 */ lw $s0, 0x30($sp) -/* 0762E4 7F0417B4 8FB10034 */ lw $s1, 0x34($sp) -/* 0762E8 7F0417B8 8FB20038 */ lw $s2, 0x38($sp) -/* 0762EC 7F0417BC 8FB3003C */ lw $s3, 0x3c($sp) -/* 0762F0 7F0417C0 8FB40040 */ lw $s4, 0x40($sp) -/* 0762F4 7F0417C4 8FB50044 */ lw $s5, 0x44($sp) -/* 0762F8 7F0417C8 8FB60048 */ lw $s6, 0x48($sp) -/* 0762FC 7F0417CC 8FB7004C */ lw $s7, 0x4c($sp) -/* 076300 7F0417D0 8FBE0050 */ lw $fp, 0x50($sp) -/* 076304 7F0417D4 03E00008 */ jr $ra -/* 076308 7F0417D8 27BD00D8 */ addiu $sp, $sp, 0xd8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0417DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0417DC -/* 07630C 7F0417DC 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 076310 7F0417E0 AFB00028 */ sw $s0, 0x28($sp) -/* 076314 7F0417E4 00808025 */ move $s0, $a0 -/* 076318 7F0417E8 AFBF0034 */ sw $ra, 0x34($sp) -/* 07631C 7F0417EC AFB20030 */ sw $s2, 0x30($sp) -/* 076320 7F0417F0 AFB1002C */ sw $s1, 0x2c($sp) -/* 076324 7F0417F4 AFA60060 */ sw $a2, 0x60($sp) -/* 076328 7F0417F8 8C840014 */ lw $a0, 0x14($a0) -/* 07632C 7F0417FC 00A08825 */ move $s1, $a1 -/* 076330 7F041800 00E09025 */ move $s2, $a3 -/* 076334 7F041804 0FC1B403 */ jal getinstsize -/* 076338 7F041808 AFA40054 */ sw $a0, 0x54($sp) -/* 07633C 7F04180C 8E020010 */ lw $v0, 0x10($s0) -/* 076340 7F041810 44801000 */ mtc1 $zero, $f2 -/* 076344 7F041814 8C4E001C */ lw $t6, 0x1c($v0) -/* 076348 7F041818 55C00013 */ bnezl $t6, .L7F041868 -/* 07634C 7F04181C 46000207 */ neg.s $f8, $f0 -/* 076350 7F041820 C6040058 */ lwc1 $f4, 0x58($s0) -/* 076354 7F041824 C6260000 */ lwc1 $f6, ($s1) -/* 076358 7F041828 C608005C */ lwc1 $f8, 0x5c($s0) -/* 07635C 7F04182C C62A0004 */ lwc1 $f10, 4($s1) -/* 076360 7F041830 46062301 */ sub.s $f12, $f4, $f6 -/* 076364 7F041834 C6460000 */ lwc1 $f6, ($s2) -/* 076368 7F041838 C6240008 */ lwc1 $f4, 8($s1) -/* 07636C 7F04183C 460A4381 */ sub.s $f14, $f8, $f10 -/* 076370 7F041840 C6120060 */ lwc1 $f18, 0x60($s0) -/* 076374 7F041844 46066202 */ mul.s $f8, $f12, $f6 -/* 076378 7F041848 C64A0004 */ lwc1 $f10, 4($s2) -/* 07637C 7F04184C 46049401 */ sub.s $f16, $f18, $f4 -/* 076380 7F041850 C6460008 */ lwc1 $f6, 8($s2) -/* 076384 7F041854 460A7482 */ mul.s $f18, $f14, $f10 -/* 076388 7F041858 46124100 */ add.s $f4, $f8, $f18 -/* 07638C 7F04185C 46103282 */ mul.s $f10, $f6, $f16 -/* 076390 7F041860 46045080 */ add.s $f2, $f10, $f4 -/* 076394 7F041864 46000207 */ neg.s $f8, $f0 -.L7F041868: -/* 076398 7F041868 C7B20068 */ lwc1 $f18, 0x68($sp) -/* 07639C 7F04186C 4602403E */ c.le.s $f8, $f2 -/* 0763A0 7F041870 00000000 */ nop -/* 0763A4 7F041874 45020055 */ bc1fl .L7F0419CC -/* 0763A8 7F041878 00001025 */ move $v0, $zero -/* 0763AC 7F04187C 46009180 */ add.s $f6, $f18, $f0 -/* 0763B0 7F041880 4606103E */ c.le.s $f2, $f6 -/* 0763B4 7F041884 00000000 */ nop -/* 0763B8 7F041888 45020050 */ bc1fl .L7F0419CC -/* 0763BC 7F04188C 00001025 */ move $v0, $zero -/* 0763C0 7F041890 904F0001 */ lbu $t7, 1($v0) -/* 0763C4 7F041894 8FA5006C */ lw $a1, 0x6c($sp) -/* 0763C8 7F041898 8FA60070 */ lw $a2, 0x70($sp) -/* 0763CC 7F04189C 31F80002 */ andi $t8, $t7, 2 -/* 0763D0 7F0418A0 1300002A */ beqz $t8, .L7F04194C -/* 0763D4 7F0418A4 8FA40054 */ lw $a0, 0x54($sp) -/* 0763D8 7F0418A8 8FB90078 */ lw $t9, 0x78($sp) -/* 0763DC 7F0418AC 8FA90080 */ lw $t1, 0x80($sp) -/* 0763E0 7F0418B0 8FAA0084 */ lw $t2, 0x84($sp) -/* 0763E4 7F0418B4 02002025 */ move $a0, $s0 -/* 0763E8 7F0418B8 8FA70074 */ lw $a3, 0x74($sp) -/* 0763EC 7F0418BC AFB90010 */ sw $t9, 0x10($sp) -/* 0763F0 7F0418C0 AFA90014 */ sw $t1, 0x14($sp) -/* 0763F4 7F0418C4 0FC10458 */ jal sub_GAME_7F041160 -/* 0763F8 7F0418C8 AFAA0018 */ sw $t2, 0x18($sp) -/* 0763FC 7F0418CC 1040003E */ beqz $v0, .L7F0419C8 -/* 076400 7F0418D0 8FA30074 */ lw $v1, 0x74($sp) -/* 076404 7F0418D4 C46A0000 */ lwc1 $f10, ($v1) -/* 076408 7F0418D8 C6240000 */ lwc1 $f4, ($s1) -/* 07640C 7F0418DC C4680004 */ lwc1 $f8, 4($v1) -/* 076410 7F0418E0 C6320004 */ lwc1 $f18, 4($s1) -/* 076414 7F0418E4 46045301 */ sub.s $f12, $f10, $f4 -/* 076418 7F0418E8 C6440000 */ lwc1 $f4, ($s2) -/* 07641C 7F0418EC C62A0008 */ lwc1 $f10, 8($s1) -/* 076420 7F0418F0 46124381 */ sub.s $f14, $f8, $f18 -/* 076424 7F0418F4 C4660008 */ lwc1 $f6, 8($v1) -/* 076428 7F0418F8 46046202 */ mul.s $f8, $f12, $f4 -/* 07642C 7F0418FC C6520004 */ lwc1 $f18, 4($s2) -/* 076430 7F041900 460A3401 */ sub.s $f16, $f6, $f10 -/* 076434 7F041904 C6440008 */ lwc1 $f4, 8($s2) -/* 076438 7F041908 46127182 */ mul.s $f6, $f14, $f18 -/* 07643C 7F04190C 46064280 */ add.s $f10, $f8, $f6 -/* 076440 7F041910 46102482 */ mul.s $f18, $f4, $f16 -/* 076444 7F041914 44804000 */ mtc1 $zero, $f8 -/* 076448 7F041918 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 07644C 7F04191C 460A9080 */ add.s $f2, $f18, $f10 -/* 076450 7F041920 4602403E */ c.le.s $f8, $f2 -/* 076454 7F041924 00000000 */ nop -/* 076458 7F041928 45020028 */ bc1fl .L7F0419CC -/* 07645C 7F04192C 00001025 */ move $v0, $zero -/* 076460 7F041930 4606103E */ c.le.s $f2, $f6 -/* 076464 7F041934 8FA8007C */ lw $t0, 0x7c($sp) -/* 076468 7F041938 24020001 */ li $v0, 1 -/* 07646C 7F04193C 45020023 */ bc1fl .L7F0419CC -/* 076470 7F041940 00001025 */ move $v0, $zero -/* 076474 7F041944 10000021 */ b .L7F0419CC -/* 076478 7F041948 E5020000 */ swc1 $f2, ($t0) -.L7F04194C: -/* 07647C 7F04194C 0FC1B403 */ jal getinstsize -/* 076480 7F041950 AFA2003C */ sw $v0, 0x3c($sp) -/* 076484 7F041954 44070000 */ mfc1 $a3, $f0 -/* 076488 7F041958 02202025 */ move $a0, $s1 -/* 07648C 7F04195C 02402825 */ move $a1, $s2 -/* 076490 7F041960 0FC1041D */ jal sub_GAME_7F041074 -/* 076494 7F041964 26060058 */ addiu $a2, $s0, 0x58 -/* 076498 7F041968 10400017 */ beqz $v0, .L7F0419C8 -/* 07649C 7F04196C 8FA30074 */ lw $v1, 0x74($sp) -/* 0764A0 7F041970 8FA8007C */ lw $t0, 0x7c($sp) -/* 0764A4 7F041974 C7A40068 */ lwc1 $f4, 0x68($sp) -/* 0764A8 7F041978 02202825 */ move $a1, $s1 -/* 0764AC 7F04197C 02403825 */ move $a3, $s2 -/* 0764B0 7F041980 E5040000 */ swc1 $f4, ($t0) -/* 0764B4 7F041984 8FAB0078 */ lw $t3, 0x78($sp) -/* 0764B8 7F041988 AFA30010 */ sw $v1, 0x10($sp) -/* 0764BC 7F04198C 8FA60060 */ lw $a2, 0x60($sp) -/* 0764C0 7F041990 8FA4003C */ lw $a0, 0x3c($sp) -/* 0764C4 7F041994 AFA80018 */ sw $t0, 0x18($sp) -/* 0764C8 7F041998 0FC10500 */ jal sub_GAME_7F041400 -/* 0764CC 7F04199C AFAB0014 */ sw $t3, 0x14($sp) -/* 0764D0 7F0419A0 10400009 */ beqz $v0, .L7F0419C8 -/* 0764D4 7F0419A4 8FAC0054 */ lw $t4, 0x54($sp) -/* 0764D8 7F0419A8 8FAD0080 */ lw $t5, 0x80($sp) -/* 0764DC 7F0419AC 24020001 */ li $v0, 1 -/* 0764E0 7F0419B0 ADAC0000 */ sw $t4, ($t5) -/* 0764E4 7F0419B4 8D8E0008 */ lw $t6, 8($t4) -/* 0764E8 7F0419B8 8FB80084 */ lw $t8, 0x84($sp) -/* 0764EC 7F0419BC 8DCF0000 */ lw $t7, ($t6) -/* 0764F0 7F0419C0 10000002 */ b .L7F0419CC -/* 0764F4 7F0419C4 AF0F0000 */ sw $t7, ($t8) -.L7F0419C8: -/* 0764F8 7F0419C8 00001025 */ move $v0, $zero -.L7F0419CC: -/* 0764FC 7F0419CC 8FBF0034 */ lw $ra, 0x34($sp) -/* 076500 7F0419D0 8FB00028 */ lw $s0, 0x28($sp) -/* 076504 7F0419D4 8FB1002C */ lw $s1, 0x2c($sp) -/* 076508 7F0419D8 8FB20030 */ lw $s2, 0x30($sp) -/* 07650C 7F0419DC 03E00008 */ jr $ra -/* 076510 7F0419E0 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0419E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0419E4 -/* 076514 7F0419E4 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 076518 7F0419E8 AFBF0064 */ sw $ra, 0x64($sp) -/* 07651C 7F0419EC AFBE0060 */ sw $fp, 0x60($sp) -/* 076520 7F0419F0 AFB7005C */ sw $s7, 0x5c($sp) -/* 076524 7F0419F4 AFB60058 */ sw $s6, 0x58($sp) -/* 076528 7F0419F8 AFB50054 */ sw $s5, 0x54($sp) -/* 07652C 7F0419FC AFB40050 */ sw $s4, 0x50($sp) -/* 076530 7F041A00 AFB3004C */ sw $s3, 0x4c($sp) -/* 076534 7F041A04 AFB20048 */ sw $s2, 0x48($sp) -/* 076538 7F041A08 AFB10044 */ sw $s1, 0x44($sp) -/* 07653C 7F041A0C AFB00040 */ sw $s0, 0x40($sp) -/* 076540 7F041A10 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 076544 7F041A14 8C830010 */ lw $v1, 0x10($a0) -/* 076548 7F041A18 C7B400A8 */ lwc1 $f20, 0xa8($sp) -/* 07654C 7F041A1C 8FB700AC */ lw $s7, 0xac($sp) -/* 076550 7F041A20 8FBE00B0 */ lw $fp, 0xb0($sp) -/* 076554 7F041A24 27AE008C */ addiu $t6, $sp, 0x8c -/* 076558 7F041A28 27AF0080 */ addiu $t7, $sp, 0x80 -/* 07655C 7F041A2C 27B8007C */ addiu $t8, $sp, 0x7c -/* 076560 7F041A30 27B90078 */ addiu $t9, $sp, 0x78 -/* 076564 7F041A34 27A80074 */ addiu $t0, $sp, 0x74 -/* 076568 7F041A38 00808025 */ move $s0, $a0 -/* 07656C 7F041A3C 00A09825 */ move $s3, $a1 -/* 076570 7F041A40 00C0A025 */ move $s4, $a2 -/* 076574 7F041A44 00E0A825 */ move $s5, $a3 -/* 076578 7F041A48 0000B025 */ move $s6, $zero -/* 07657C 7F041A4C AFA8002C */ sw $t0, 0x2c($sp) -/* 076580 7F041A50 AFB90028 */ sw $t9, 0x28($sp) -/* 076584 7F041A54 AFB80024 */ sw $t8, 0x24($sp) -/* 076588 7F041A58 AFAF0020 */ sw $t7, 0x20($sp) -/* 07658C 7F041A5C AFAE001C */ sw $t6, 0x1c($sp) -/* 076590 7F041A60 AFA3006C */ sw $v1, 0x6c($sp) -/* 076594 7F041A64 E7B40010 */ swc1 $f20, 0x10($sp) -/* 076598 7F041A68 AFB70014 */ sw $s7, 0x14($sp) -/* 07659C 7F041A6C 0FC105F7 */ jal sub_GAME_7F0417DC -/* 0765A0 7F041A70 AFBE0018 */ sw $fp, 0x18($sp) -/* 0765A4 7F041A74 10400024 */ beqz $v0, .L7F041B08 -/* 0765A8 7F041A78 8FA3006C */ lw $v1, 0x6c($sp) -/* 0765AC 7F041A7C 8FA900BC */ lw $t1, 0xbc($sp) -/* 0765B0 7F041A80 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 0765B4 7F041A84 8FB100B4 */ lw $s1, 0xb4($sp) -/* 0765B8 7F041A88 C5260000 */ lwc1 $f6, ($t1) -/* 0765BC 7F041A8C 8FB200B8 */ lw $s2, 0xb8($sp) -/* 0765C0 7F041A90 4606203C */ c.lt.s $f4, $f6 -/* 0765C4 7F041A94 00000000 */ nop -/* 0765C8 7F041A98 4502001C */ bc1fl .L7F041B0C -/* 0765CC 7F041A9C 906E0001 */ lbu $t6, 1($v1) -/* 0765D0 7F041AA0 E5240000 */ swc1 $f4, ($t1) -/* 0765D4 7F041AA4 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0765D8 7F041AA8 3C018003 */ lui $at, %hi(D_80030B0C) -/* 0765DC 7F041AAC 240BFFFF */ li $t3, -1 -/* 0765E0 7F041AB0 E6280000 */ swc1 $f8, ($s1) -/* 0765E4 7F041AB4 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 0765E8 7F041AB8 24160001 */ li $s6, 1 -/* 0765EC 7F041ABC E62A0004 */ swc1 $f10, 4($s1) -/* 0765F0 7F041AC0 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 0765F4 7F041AC4 E6300008 */ swc1 $f16, 8($s1) -/* 0765F8 7F041AC8 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 0765FC 7F041ACC E6520000 */ swc1 $f18, ($s2) -/* 076600 7F041AD0 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 076604 7F041AD4 E6460004 */ swc1 $f6, 4($s2) -/* 076608 7F041AD8 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 07660C 7F041ADC E6440008 */ swc1 $f4, 8($s2) -/* 076610 7F041AE0 8E0A0010 */ lw $t2, 0x10($s0) -/* 076614 7F041AE4 8FAC0078 */ lw $t4, 0x78($sp) -/* 076618 7F041AE8 8FAD0074 */ lw $t5, 0x74($sp) -/* 07661C 7F041AEC AC2A0B0C */ sw $t2, %lo(D_80030B0C)($at) -/* 076620 7F041AF0 3C018003 */ lui $at, %hi(bodypartshot) -/* 076624 7F041AF4 AC2B0B10 */ sw $t3, %lo(bodypartshot)($at) -/* 076628 7F041AF8 3C018007 */ lui $at, %hi(objinst) -/* 07662C 7F041AFC AC2C5B70 */ sw $t4, %lo(objinst)($at) -/* 076630 7F041B00 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) -/* 076634 7F041B04 AC2D5B74 */ sw $t5, %lo(dword_CODE_bss_80075B74)($at) -.L7F041B08: -/* 076638 7F041B08 906E0001 */ lbu $t6, 1($v1) -.L7F041B0C: -/* 07663C 7F041B0C 8FB100B4 */ lw $s1, 0xb4($sp) -/* 076640 7F041B10 8FB200B8 */ lw $s2, 0xb8($sp) -/* 076644 7F041B14 31CF0002 */ andi $t7, $t6, 2 -/* 076648 7F041B18 51E0001A */ beql $t7, $zero, .L7F041B84 -/* 07664C 7F041B1C 8FBF0064 */ lw $ra, 0x64($sp) -/* 076650 7F041B20 8C700020 */ lw $s0, 0x20($v1) -/* 076654 7F041B24 52000017 */ beql $s0, $zero, .L7F041B84 -/* 076658 7F041B28 8FBF0064 */ lw $ra, 0x64($sp) -/* 07665C 7F041B2C 92180001 */ lbu $t8, 1($s0) -.L7F041B30: -/* 076660 7F041B30 02602825 */ move $a1, $s3 -/* 076664 7F041B34 02803025 */ move $a2, $s4 -/* 076668 7F041B38 33190002 */ andi $t9, $t8, 2 -/* 07666C 7F041B3C 1320000D */ beqz $t9, .L7F041B74 -/* 076670 7F041B40 02A03825 */ move $a3, $s5 -/* 076674 7F041B44 8E040004 */ lw $a0, 4($s0) -/* 076678 7F041B48 8FA800BC */ lw $t0, 0xbc($sp) -/* 07667C 7F041B4C AFB20020 */ sw $s2, 0x20($sp) -/* 076680 7F041B50 AFB1001C */ sw $s1, 0x1c($sp) -/* 076684 7F041B54 AFBE0018 */ sw $fp, 0x18($sp) -/* 076688 7F041B58 AFB70014 */ sw $s7, 0x14($sp) -/* 07668C 7F041B5C E7B40010 */ swc1 $f20, 0x10($sp) -/* 076690 7F041B60 0FC10679 */ jal sub_GAME_7F0419E4 -/* 076694 7F041B64 AFA80024 */ sw $t0, 0x24($sp) -/* 076698 7F041B68 50400003 */ beql $v0, $zero, .L7F041B78 -/* 07669C 7F041B6C 8E100024 */ lw $s0, 0x24($s0) -/* 0766A0 7F041B70 24160001 */ li $s6, 1 -.L7F041B74: -/* 0766A4 7F041B74 8E100024 */ lw $s0, 0x24($s0) -.L7F041B78: -/* 0766A8 7F041B78 5600FFED */ bnezl $s0, .L7F041B30 -/* 0766AC 7F041B7C 92180001 */ lbu $t8, 1($s0) -/* 0766B0 7F041B80 8FBF0064 */ lw $ra, 0x64($sp) -.L7F041B84: -/* 0766B4 7F041B84 02C01025 */ move $v0, $s6 -/* 0766B8 7F041B88 8FB60058 */ lw $s6, 0x58($sp) -/* 0766BC 7F041B8C D7B40038 */ ldc1 $f20, 0x38($sp) -/* 0766C0 7F041B90 8FB00040 */ lw $s0, 0x40($sp) -/* 0766C4 7F041B94 8FB10044 */ lw $s1, 0x44($sp) -/* 0766C8 7F041B98 8FB20048 */ lw $s2, 0x48($sp) -/* 0766CC 7F041B9C 8FB3004C */ lw $s3, 0x4c($sp) -/* 0766D0 7F041BA0 8FB40050 */ lw $s4, 0x50($sp) -/* 0766D4 7F041BA4 8FB50054 */ lw $s5, 0x54($sp) -/* 0766D8 7F041BA8 8FB7005C */ lw $s7, 0x5c($sp) -/* 0766DC 7F041BAC 8FBE0060 */ lw $fp, 0x60($sp) -/* 0766E0 7F041BB0 03E00008 */ jr $ra -/* 0766E4 7F041BB4 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041BB8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041BB8 -/* 0766E8 7F041BB8 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0766EC 7F041BBC AFA70074 */ sw $a3, 0x74($sp) -/* 0766F0 7F041BC0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0766F4 7F041BC4 AFB20028 */ sw $s2, 0x28($sp) -/* 0766F8 7F041BC8 AFB10024 */ sw $s1, 0x24($sp) -/* 0766FC 7F041BCC AFB00020 */ sw $s0, 0x20($sp) -/* 076700 7F041BD0 AFA40068 */ sw $a0, 0x68($sp) -/* 076704 7F041BD4 00803825 */ move $a3, $a0 -/* 076708 7F041BD8 8C920018 */ lw $s2, 0x18($a0) -/* 07670C 7F041BDC 8C84001C */ lw $a0, 0x1c($a0) -/* 076710 7F041BE0 00C08025 */ move $s0, $a2 -/* 076714 7F041BE4 00A08825 */ move $s1, $a1 -/* 076718 7F041BE8 0FC1B403 */ jal getinstsize -/* 07671C 7F041BEC AFA70068 */ sw $a3, 0x68($sp) -/* 076720 7F041BF0 C6440008 */ lwc1 $f4, 8($s2) -/* 076724 7F041BF4 C6260000 */ lwc1 $f6, ($s1) -/* 076728 7F041BF8 C648000C */ lwc1 $f8, 0xc($s2) -/* 07672C 7F041BFC C62A0004 */ lwc1 $f10, 4($s1) -/* 076730 7F041C00 46062081 */ sub.s $f2, $f4, $f6 -/* 076734 7F041C04 C6060000 */ lwc1 $f6, ($s0) -/* 076738 7F041C08 C6240008 */ lwc1 $f4, 8($s1) -/* 07673C 7F041C0C 460A4301 */ sub.s $f12, $f8, $f10 -/* 076740 7F041C10 C6520010 */ lwc1 $f18, 0x10($s2) -/* 076744 7F041C14 46061202 */ mul.s $f8, $f2, $f6 -/* 076748 7F041C18 C60A0004 */ lwc1 $f10, 4($s0) -/* 07674C 7F041C1C 46049381 */ sub.s $f14, $f18, $f4 -/* 076750 7F041C20 C6060008 */ lwc1 $f6, 8($s0) -/* 076754 7F041C24 460A6482 */ mul.s $f18, $f12, $f10 -/* 076758 7F041C28 46124100 */ add.s $f4, $f8, $f18 -/* 07675C 7F041C2C 460E3282 */ mul.s $f10, $f6, $f14 -/* 076760 7F041C30 C7B20074 */ lwc1 $f18, 0x74($sp) -/* 076764 7F041C34 46000207 */ neg.s $f8, $f0 -/* 076768 7F041C38 46045400 */ add.s $f16, $f10, $f4 -/* 07676C 7F041C3C 4610403E */ c.le.s $f8, $f16 -/* 076770 7F041C40 00000000 */ nop -/* 076774 7F041C44 4502006B */ bc1fl .L7F041DF4 -/* 076778 7F041C48 00001025 */ move $v0, $zero -/* 07677C 7F041C4C 46009180 */ add.s $f6, $f18, $f0 -/* 076780 7F041C50 4606803E */ c.le.s $f16, $f6 -/* 076784 7F041C54 00000000 */ nop -/* 076788 7F041C58 45020066 */ bc1fl .L7F041DF4 -/* 07678C 7F041C5C 00001025 */ move $v0, $zero -/* 076790 7F041C60 924E0001 */ lbu $t6, 1($s2) -/* 076794 7F041C64 8FB80068 */ lw $t8, 0x68($sp) -/* 076798 7F041C68 27A40038 */ addiu $a0, $sp, 0x38 -/* 07679C 7F041C6C 31CF0002 */ andi $t7, $t6, 2 -/* 0767A0 7F041C70 11E0005F */ beqz $t7, .L7F041DF0 -/* 0767A4 7F041C74 27A70040 */ addiu $a3, $sp, 0x40 -/* 0767A8 7F041C78 8F190020 */ lw $t9, 0x20($t8) -/* 0767AC 7F041C7C 27A8003C */ addiu $t0, $sp, 0x3c -/* 0767B0 7F041C80 AFA80010 */ sw $t0, 0x10($sp) -/* 0767B4 7F041C84 8FA50078 */ lw $a1, 0x78($sp) -/* 0767B8 7F041C88 8FA6007C */ lw $a2, 0x7c($sp) -/* 0767BC 7F041C8C 0FC1B004 */ jal sub_GAME_7F06C010 -/* 0767C0 7F041C90 AFB90038 */ sw $t9, 0x38($sp) -/* 0767C4 7F041C94 18400056 */ blez $v0, .L7F041DF0 -/* 0767C8 7F041C98 AFA20044 */ sw $v0, 0x44($sp) -/* 0767CC 7F041C9C 8FA40040 */ lw $a0, 0x40($sp) -/* 0767D0 7F041CA0 8FA5003C */ lw $a1, 0x3c($sp) -/* 0767D4 7F041CA4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0767D8 7F041CA8 00003025 */ move $a2, $zero -/* 0767DC 7F041CAC 8FA30078 */ lw $v1, 0x78($sp) -/* 0767E0 7F041CB0 C44A0030 */ lwc1 $f10, 0x30($v0) -/* 0767E4 7F041CB4 8FA7007C */ lw $a3, 0x7c($sp) -/* 0767E8 7F041CB8 C4640000 */ lwc1 $f4, ($v1) -/* 0767EC 7F041CBC C4480034 */ lwc1 $f8, 0x34($v0) -/* 0767F0 7F041CC0 C4720004 */ lwc1 $f18, 4($v1) -/* 0767F4 7F041CC4 46045081 */ sub.s $f2, $f10, $f4 -/* 0767F8 7F041CC8 C4E40000 */ lwc1 $f4, ($a3) -/* 0767FC 7F041CCC C4460038 */ lwc1 $f6, 0x38($v0) -/* 076800 7F041CD0 46124301 */ sub.s $f12, $f8, $f18 -/* 076804 7F041CD4 C46A0008 */ lwc1 $f10, 8($v1) -/* 076808 7F041CD8 46041202 */ mul.s $f8, $f2, $f4 -/* 07680C 7F041CDC C4F20004 */ lwc1 $f18, 4($a3) -/* 076810 7F041CE0 460A3381 */ sub.s $f14, $f6, $f10 -/* 076814 7F041CE4 C4E40008 */ lwc1 $f4, 8($a3) -/* 076818 7F041CE8 46126182 */ mul.s $f6, $f12, $f18 -/* 07681C 7F041CEC 8FA50088 */ lw $a1, 0x88($sp) -/* 076820 7F041CF0 8FA20080 */ lw $v0, 0x80($sp) -/* 076824 7F041CF4 460E2482 */ mul.s $f18, $f4, $f14 -/* 076828 7F041CF8 8FA40084 */ lw $a0, 0x84($sp) -/* 07682C 7F041CFC 46064280 */ add.s $f10, $f8, $f6 -/* 076830 7F041D00 C4A80000 */ lwc1 $f8, ($a1) -/* 076834 7F041D04 460A9000 */ add.s $f0, $f18, $f10 -/* 076838 7F041D08 4608003C */ c.lt.s $f0, $f8 -/* 07683C 7F041D0C 00000000 */ nop -/* 076840 7F041D10 45020038 */ bc1fl .L7F041DF4 -/* 076844 7F041D14 00001025 */ move $v0, $zero -/* 076848 7F041D18 E4A00000 */ swc1 $f0, ($a1) -/* 07684C 7F041D1C C6060000 */ lwc1 $f6, ($s0) -/* 076850 7F041D20 C6320000 */ lwc1 $f18, ($s1) -/* 076854 7F041D24 44801000 */ mtc1 $zero, $f2 -/* 076858 7F041D28 46003102 */ mul.s $f4, $f6, $f0 -/* 07685C 7F041D2C 24850004 */ addiu $a1, $a0, 4 -/* 076860 7F041D30 46122280 */ add.s $f10, $f4, $f18 -/* 076864 7F041D34 E44A0000 */ swc1 $f10, ($v0) -/* 076868 7F041D38 C6080004 */ lwc1 $f8, 4($s0) -/* 07686C 7F041D3C C6240004 */ lwc1 $f4, 4($s1) -/* 076870 7F041D40 46004182 */ mul.s $f6, $f8, $f0 -/* 076874 7F041D44 46043480 */ add.s $f18, $f6, $f4 -/* 076878 7F041D48 E4520004 */ swc1 $f18, 4($v0) -/* 07687C 7F041D4C C60A0008 */ lwc1 $f10, 8($s0) -/* 076880 7F041D50 C6260008 */ lwc1 $f6, 8($s1) -/* 076884 7F041D54 46005202 */ mul.s $f8, $f10, $f0 -/* 076888 7F041D58 46064100 */ add.s $f4, $f8, $f6 -/* 07688C 7F041D5C E4440008 */ swc1 $f4, 8($v0) -/* 076890 7F041D60 C6120000 */ lwc1 $f18, ($s0) -/* 076894 7F041D64 E4820004 */ swc1 $f2, 4($a0) -/* 076898 7F041D68 46009287 */ neg.s $f10, $f18 -/* 07689C 7F041D6C E48A0000 */ swc1 $f10, ($a0) -/* 0768A0 7F041D70 C4840000 */ lwc1 $f4, ($a0) -/* 0768A4 7F041D74 C6080008 */ lwc1 $f8, 8($s0) -/* 0768A8 7F041D78 46041032 */ c.eq.s $f2, $f4 -/* 0768AC 7F041D7C 46004187 */ neg.s $f6, $f8 -/* 0768B0 7F041D80 45000007 */ bc1f .L7F041DA0 -/* 0768B4 7F041D84 E4860008 */ swc1 $f6, 8($a0) -/* 0768B8 7F041D88 C4920008 */ lwc1 $f18, 8($a0) -/* 0768BC 7F041D8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0768C0 7F041D90 46121032 */ c.eq.s $f2, $f18 -/* 0768C4 7F041D94 00000000 */ nop -/* 0768C8 7F041D98 45030006 */ bc1tl .L7F041DB4 -/* 0768CC 7F041D9C 44815000 */ mtc1 $at, $f10 -.L7F041DA0: -/* 0768D0 7F041DA0 0C007DD4 */ jal guNormalize -/* 0768D4 7F041DA4 24860008 */ addiu $a2, $a0, 8 -/* 0768D8 7F041DA8 10000005 */ b .L7F041DC0 -/* 0768DC 7F041DAC 8FA90044 */ lw $t1, 0x44($sp) -/* 0768E0 7F041DB0 44815000 */ mtc1 $at, $f10 -.L7F041DB4: -/* 0768E4 7F041DB4 00000000 */ nop -/* 0768E8 7F041DB8 E48A0008 */ swc1 $f10, 8($a0) -/* 0768EC 7F041DBC 8FA90044 */ lw $t1, 0x44($sp) -.L7F041DC0: -/* 0768F0 7F041DC0 3C018003 */ lui $at, %hi(D_80030B0C) -/* 0768F4 7F041DC4 AC320B0C */ sw $s2, %lo(D_80030B0C)($at) -/* 0768F8 7F041DC8 8FAA0040 */ lw $t2, 0x40($sp) -/* 0768FC 7F041DCC 3C018003 */ lui $at, %hi(bodypartshot) -/* 076900 7F041DD0 AC290B10 */ sw $t1, %lo(bodypartshot)($at) -/* 076904 7F041DD4 3C018007 */ lui $at, %hi(objinst) -/* 076908 7F041DD8 8FAB003C */ lw $t3, 0x3c($sp) -/* 07690C 7F041DDC AC2A5B70 */ sw $t2, %lo(objinst)($at) -/* 076910 7F041DE0 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) -/* 076914 7F041DE4 24020001 */ li $v0, 1 -/* 076918 7F041DE8 10000002 */ b .L7F041DF4 -/* 07691C 7F041DEC AC2B5B74 */ sw $t3, %lo(dword_CODE_bss_80075B74)($at) -.L7F041DF0: -/* 076920 7F041DF0 00001025 */ move $v0, $zero -.L7F041DF4: -/* 076924 7F041DF4 8FBF002C */ lw $ra, 0x2c($sp) -/* 076928 7F041DF8 8FB00020 */ lw $s0, 0x20($sp) -/* 07692C 7F041DFC 8FB10024 */ lw $s1, 0x24($sp) -/* 076930 7F041E00 8FB20028 */ lw $s2, 0x28($sp) -/* 076934 7F041E04 03E00008 */ jr $ra -/* 076938 7F041E08 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F041E0C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F041E0C -/* 07693C 7F041E0C 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 076940 7F041E10 AFBF005C */ sw $ra, 0x5c($sp) -/* 076944 7F041E14 AFB40048 */ sw $s4, 0x48($sp) -/* 076948 7F041E18 AFB20040 */ sw $s2, 0x40($sp) -/* 07694C 7F041E1C 00E09025 */ move $s2, $a3 -/* 076950 7F041E20 00A0A025 */ move $s4, $a1 -/* 076954 7F041E24 AFBE0058 */ sw $fp, 0x58($sp) -/* 076958 7F041E28 AFB70054 */ sw $s7, 0x54($sp) -/* 07695C 7F041E2C AFB60050 */ sw $s6, 0x50($sp) -/* 076960 7F041E30 AFB5004C */ sw $s5, 0x4c($sp) -/* 076964 7F041E34 AFB30044 */ sw $s3, 0x44($sp) -/* 076968 7F041E38 AFB1003C */ sw $s1, 0x3c($sp) -/* 07696C 7F041E3C AFB00038 */ sw $s0, 0x38($sp) -/* 076970 7F041E40 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 076974 7F041E44 AFA400B8 */ sw $a0, 0xb8($sp) -/* 076978 7F041E48 AFA600C0 */ sw $a2, 0xc0($sp) -/* 07697C 7F041E4C AFA000B4 */ sw $zero, 0xb4($sp) -/* 076980 7F041E50 0FC1F3A1 */ jal get_ptr_for_players_tank -/* 076984 7F041E54 AFA000A4 */ sw $zero, 0xa4($sp) -/* 076988 7F041E58 8FA300C0 */ lw $v1, 0xc0($sp) -/* 07698C 7F041E5C AFA20074 */ sw $v0, 0x74($sp) -/* 076990 7F041E60 C6860000 */ lwc1 $f6, ($s4) -/* 076994 7F041E64 C4640000 */ lwc1 $f4, ($v1) -/* 076998 7F041E68 46062201 */ sub.s $f8, $f4, $f6 -/* 07699C 7F041E6C E7A80098 */ swc1 $f8, 0x98($sp) -/* 0769A0 7F041E70 C6900004 */ lwc1 $f16, 4($s4) -/* 0769A4 7F041E74 C46A0004 */ lwc1 $f10, 4($v1) -/* 0769A8 7F041E78 46105481 */ sub.s $f18, $f10, $f16 -/* 0769AC 7F041E7C C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0769B0 7F041E80 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0769B4 7F041E84 C6860008 */ lwc1 $f6, 8($s4) -/* 0769B8 7F041E88 C4640008 */ lwc1 $f4, 8($v1) -/* 0769BC 7F041E8C 460A5402 */ mul.s $f16, $f10, $f10 -/* 0769C0 7F041E90 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 0769C4 7F041E94 46062201 */ sub.s $f8, $f4, $f6 -/* 0769C8 7F041E98 46129102 */ mul.s $f4, $f18, $f18 -/* 0769CC 7F041E9C E7A800A0 */ swc1 $f8, 0xa0($sp) -/* 0769D0 7F041EA0 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0769D4 7F041EA4 46084282 */ mul.s $f10, $f8, $f8 -/* 0769D8 7F041EA8 46048180 */ add.s $f6, $f16, $f4 -/* 0769DC 7F041EAC 0C007DF8 */ jal sqrtf -/* 0769E0 7F041EB0 46065300 */ add.s $f12, $f10, $f6 -/* 0769E4 7F041EB4 44809000 */ mtc1 $zero, $f18 -/* 0769E8 7F041EB8 46000506 */ mov.s $f20, $f0 -/* 0769EC 7F041EBC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0769F0 7F041EC0 46120032 */ c.eq.s $f0, $f18 -/* 0769F4 7F041EC4 00000000 */ nop -/* 0769F8 7F041EC8 45020004 */ bc1fl .L7F041EDC -/* 0769FC 7F041ECC 44818000 */ mtc1 $at, $f16 -/* 076A00 7F041ED0 100000D1 */ b .L7F042218 -/* 076A04 7F041ED4 00001025 */ move $v0, $zero -/* 076A08 7F041ED8 44818000 */ mtc1 $at, $f16 -.L7F041EDC: -/* 076A0C 7F041EDC C7A40098 */ lwc1 $f4, 0x98($sp) -/* 076A10 7F041EE0 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 076A14 7F041EE4 46148003 */ div.s $f0, $f16, $f20 -/* 076A18 7F041EE8 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 076A1C 7F041EEC 46002202 */ mul.s $f8, $f4, $f0 -/* 076A20 7F041EF0 00000000 */ nop -/* 076A24 7F041EF4 46005182 */ mul.s $f6, $f10, $f0 -/* 076A28 7F041EF8 00000000 */ nop -/* 076A2C 7F041EFC 46009402 */ mul.s $f16, $f18, $f0 -/* 076A30 7F041F00 E7A80098 */ swc1 $f8, 0x98($sp) -/* 076A34 7F041F04 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 076A38 7F041F08 E7B000A0 */ swc1 $f16, 0xa0($sp) -/* 076A3C 7F041F0C C6840000 */ lwc1 $f4, ($s4) -/* 076A40 7F041F10 E7A40088 */ swc1 $f4, 0x88($sp) -/* 076A44 7F041F14 C6880004 */ lwc1 $f8, 4($s4) -/* 076A48 7F041F18 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 076A4C 7F041F1C C68A0008 */ lwc1 $f10, 8($s4) -/* 076A50 7F041F20 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 076A54 7F041F24 E7AA0090 */ swc1 $f10, 0x90($sp) -/* 076A58 7F041F28 00402025 */ move $a0, $v0 -/* 076A5C 7F041F2C 0FC1611D */ jal sub_GAME_7F058474 -/* 076A60 7F041F30 27A50088 */ addiu $a1, $sp, 0x88 -/* 076A64 7F041F34 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 076A68 7F041F38 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 076A6C 7F041F3C C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 076A70 7F041F40 E7A6007C */ swc1 $f6, 0x7c($sp) -/* 076A74 7F041F44 E7B20080 */ swc1 $f18, 0x80($sp) -/* 076A78 7F041F48 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 076A7C 7F041F4C E7B00084 */ swc1 $f16, 0x84($sp) -/* 076A80 7F041F50 00402025 */ move $a0, $v0 -/* 076A84 7F041F54 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 076A88 7F041F58 27A5007C */ addiu $a1, $sp, 0x7c -/* 076A8C 7F041F5C 12400099 */ beqz $s2, .L7F0421C4 -/* 076A90 7F041F60 E7B400A8 */ swc1 $f20, 0xa8($sp) -/* 076A94 7F041F64 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 076A98 7F041F68 8FA400D0 */ lw $a0, 0xd0($sp) -/* 076A9C 7F041F6C 3C138007 */ lui $s3, %hi(ptr_list_object_lookup_indices) -/* 076AA0 7F041F70 8E739C30 */ lw $s3, %lo(ptr_list_object_lookup_indices)($s3) -/* 076AA4 7F041F74 27BE00A8 */ addiu $fp, $sp, 0xa8 -/* 076AA8 7F041F78 27B70098 */ addiu $s7, $sp, 0x98 -/* 076AAC 7F041F7C 86620000 */ lh $v0, ($s3) -/* 076AB0 7F041F80 8FB600CC */ lw $s6, 0xcc($sp) -/* 076AB4 7F041F84 8FB500C8 */ lw $s5, 0xc8($sp) -/* 076AB8 7F041F88 0440008E */ bltz $v0, .L7F0421C4 -/* 076ABC 7F041F8C 00027080 */ sll $t6, $v0, 2 -.L7F041F90: -/* 076AC0 7F041F90 01C27023 */ subu $t6, $t6, $v0 -/* 076AC4 7F041F94 000E7080 */ sll $t6, $t6, 2 -/* 076AC8 7F041F98 8FB800B8 */ lw $t8, 0xb8($sp) -/* 076ACC 7F041F9C 01C27021 */ addu $t6, $t6, $v0 -/* 076AD0 7F041FA0 3C0F8007 */ lui $t7, %hi(pos_data_entry) -/* 076AD4 7F041FA4 25EF9C38 */ addiu $t7, %lo(pos_data_entry) # addiu $t7, $t7, -0x63c8 -/* 076AD8 7F041FA8 000E7080 */ sll $t6, $t6, 2 -/* 076ADC 7F041FAC 01CF8021 */ addu $s0, $t6, $t7 -/* 076AE0 7F041FB0 52180081 */ beql $s0, $t8, .L7F0421B8 -/* 076AE4 7F041FB4 86620002 */ lh $v0, 2($s3) -/* 076AE8 7F041FB8 92020000 */ lbu $v0, ($s0) -/* 076AEC 7F041FBC 24010001 */ li $at, 1 -/* 076AF0 7F041FC0 10410005 */ beq $v0, $at, .L7F041FD8 -/* 076AF4 7F041FC4 24010004 */ li $at, 4 -/* 076AF8 7F041FC8 10410003 */ beq $v0, $at, .L7F041FD8 -/* 076AFC 7F041FCC 24010002 */ li $at, 2 -/* 076B00 7F041FD0 54410030 */ bnel $v0, $at, .L7F042094 -/* 076B04 7F041FD4 24010003 */ li $at, 3 -.L7F041FD8: -/* 076B08 7F041FD8 8E110004 */ lw $s1, 4($s0) -/* 076B0C 7F041FDC 8E390064 */ lw $t9, 0x64($s1) -/* 076B10 7F041FE0 33280008 */ andi $t0, $t9, 8 -/* 076B14 7F041FE4 55000074 */ bnezl $t0, .L7F0421B8 -/* 076B18 7F041FE8 86620002 */ lh $v0, 2($s3) -/* 076B1C 7F041FEC 8E29000C */ lw $t1, 0xc($s1) -/* 076B20 7F041FF0 24010002 */ li $at, 2 -/* 076B24 7F041FF4 00095180 */ sll $t2, $t1, 6 -/* 076B28 7F041FF8 0542006F */ bltzl $t2, .L7F0421B8 -/* 076B2C 7F041FFC 86620002 */ lh $v0, 2($s3) -/* 076B30 7F042000 1441000B */ bne $v0, $at, .L7F042030 -/* 076B34 7F042004 324D0001 */ andi $t5, $s2, 1 -/* 076B38 7F042008 324B0002 */ andi $t3, $s2, 2 -/* 076B3C 7F04200C 5560000B */ bnezl $t3, .L7F04203C -/* 076B40 7F042010 8FAE0074 */ lw $t6, 0x74($sp) -/* 076B44 7F042014 0FC0F67B */ jal sub_GAME_7F03D9EC -/* 076B48 7F042018 02002025 */ move $a0, $s0 -/* 076B4C 7F04201C 00526024 */ and $t4, $v0, $s2 -/* 076B50 7F042020 55800006 */ bnezl $t4, .L7F04203C -/* 076B54 7F042024 8FAE0074 */ lw $t6, 0x74($sp) -/* 076B58 7F042028 10000063 */ b .L7F0421B8 -/* 076B5C 7F04202C 86620002 */ lh $v0, 2($s3) -.L7F042030: -/* 076B60 7F042030 51A00061 */ beql $t5, $zero, .L7F0421B8 -/* 076B64 7F042034 86620002 */ lh $v0, 2($s3) -/* 076B68 7F042038 8FAE0074 */ lw $t6, 0x74($sp) -.L7F04203C: -/* 076B6C 7F04203C 02202025 */ move $a0, $s1 -/* 076B70 7F042040 02802825 */ move $a1, $s4 -/* 076B74 7F042044 160E0004 */ bne $s0, $t6, .L7F042058 -/* 076B78 7F042048 8FA600C0 */ lw $a2, 0xc0($sp) -/* 076B7C 7F04204C 922F0002 */ lbu $t7, 2($s1) -/* 076B80 7F042050 31F80020 */ andi $t8, $t7, 0x20 -/* 076B84 7F042054 17000057 */ bnez $t8, .L7F0421B4 -.L7F042058: -/* 076B88 7F042058 27B90088 */ addiu $t9, $sp, 0x88 -/* 076B8C 7F04205C 27A8007C */ addiu $t0, $sp, 0x7c -/* 076B90 7F042060 AFA80018 */ sw $t0, 0x18($sp) -/* 076B94 7F042064 AFB90014 */ sw $t9, 0x14($sp) -/* 076B98 7F042068 02E03825 */ move $a3, $s7 -/* 076B9C 7F04206C E7B40010 */ swc1 $f20, 0x10($sp) -/* 076BA0 7F042070 AFB5001C */ sw $s5, 0x1c($sp) -/* 076BA4 7F042074 AFB60020 */ sw $s6, 0x20($sp) -/* 076BA8 7F042078 0FC10679 */ jal sub_GAME_7F0419E4 -/* 076BAC 7F04207C AFBE0024 */ sw $fp, 0x24($sp) -/* 076BB0 7F042080 1040004C */ beqz $v0, .L7F0421B4 -/* 076BB4 7F042084 24090001 */ li $t1, 1 -/* 076BB8 7F042088 1000004A */ b .L7F0421B4 -/* 076BBC 7F04208C AFA900A4 */ sw $t1, 0xa4($sp) -/* 076BC0 7F042090 24010003 */ li $at, 3 -.L7F042094: -/* 076BC4 7F042094 10410005 */ beq $v0, $at, .L7F0420AC -/* 076BC8 7F042098 24010006 */ li $at, 6 -/* 076BCC 7F04209C 5441002F */ bnel $v0, $at, .L7F04215C -/* 076BD0 7F0420A0 24010006 */ li $at, 6 -/* 076BD4 7F0420A4 8E0A0004 */ lw $t2, 4($s0) -/* 076BD8 7F0420A8 1140002B */ beqz $t2, .L7F042158 -.L7F0420AC: -/* 076BDC 7F0420AC 24010006 */ li $at, 6 -/* 076BE0 7F0420B0 1441000F */ bne $v0, $at, .L7F0420F0 -/* 076BE4 7F0420B4 8E110004 */ lw $s1, 4($s0) -/* 076BE8 7F0420B8 0FC26C57 */ jal sub_GAME_7F09B15C -/* 076BEC 7F0420BC 02002025 */ move $a0, $s0 -/* 076BF0 7F0420C0 00025880 */ sll $t3, $v0, 2 -/* 076BF4 7F0420C4 3C0C8008 */ lui $t4, %hi(ptr_BONDdata_p1) -/* 076BF8 7F0420C8 018B6021 */ addu $t4, $t4, $t3 -/* 076BFC 7F0420CC 8D8C9EE0 */ lw $t4, %lo(ptr_BONDdata_p1)($t4) -/* 076C00 7F0420D0 324E0004 */ andi $t6, $s2, 4 -/* 076C04 7F0420D4 8D8D00AC */ lw $t5, 0xac($t4) -/* 076C08 7F0420D8 51A00037 */ beql $t5, $zero, .L7F0421B8 -/* 076C0C 7F0420DC 86620002 */ lh $v0, 2($s3) -/* 076C10 7F0420E0 55C0000E */ bnezl $t6, .L7F04211C -/* 076C14 7F0420E4 4407A000 */ mfc1 $a3, $f20 -/* 076C18 7F0420E8 10000033 */ b .L7F0421B8 -/* 076C1C 7F0420EC 86620002 */ lh $v0, 2($s3) -.L7F0420F0: -/* 076C20 7F0420F0 24010003 */ li $at, 3 -/* 076C24 7F0420F4 54410009 */ bnel $v0, $at, .L7F04211C -/* 076C28 7F0420F8 4407A000 */ mfc1 $a3, $f20 -/* 076C2C 7F0420FC 962F0012 */ lhu $t7, 0x12($s1) -/* 076C30 7F042100 32590008 */ andi $t9, $s2, 8 -/* 076C34 7F042104 31F80100 */ andi $t8, $t7, 0x100 -/* 076C38 7F042108 5700002B */ bnezl $t8, .L7F0421B8 -/* 076C3C 7F04210C 86620002 */ lh $v0, 2($s3) -/* 076C40 7F042110 53200029 */ beql $t9, $zero, .L7F0421B8 -/* 076C44 7F042114 86620002 */ lh $v0, 2($s3) -/* 076C48 7F042118 4407A000 */ mfc1 $a3, $f20 -.L7F04211C: -/* 076C4C 7F04211C 27A80088 */ addiu $t0, $sp, 0x88 -/* 076C50 7F042120 27A9007C */ addiu $t1, $sp, 0x7c -/* 076C54 7F042124 AFA90014 */ sw $t1, 0x14($sp) -/* 076C58 7F042128 AFA80010 */ sw $t0, 0x10($sp) -/* 076C5C 7F04212C 02202025 */ move $a0, $s1 -/* 076C60 7F042130 02802825 */ move $a1, $s4 -/* 076C64 7F042134 02E03025 */ move $a2, $s7 -/* 076C68 7F042138 AFB50018 */ sw $s5, 0x18($sp) -/* 076C6C 7F04213C AFB6001C */ sw $s6, 0x1c($sp) -/* 076C70 7F042140 0FC106EE */ jal sub_GAME_7F041BB8 -/* 076C74 7F042144 AFBE0020 */ sw $fp, 0x20($sp) -/* 076C78 7F042148 1040001A */ beqz $v0, .L7F0421B4 -/* 076C7C 7F04214C 240A0001 */ li $t2, 1 -/* 076C80 7F042150 10000018 */ b .L7F0421B4 -/* 076C84 7F042154 AFAA00A4 */ sw $t2, 0xa4($sp) -.L7F042158: -/* 076C88 7F042158 24010006 */ li $at, 6 -.L7F04215C: -/* 076C8C 7F04215C 54410016 */ bnel $v0, $at, .L7F0421B8 -/* 076C90 7F042160 86620002 */ lh $v0, 2($s3) -/* 076C94 7F042164 0FC26C57 */ jal sub_GAME_7F09B15C -/* 076C98 7F042168 02002025 */ move $a0, $s0 -/* 076C9C 7F04216C 00025880 */ sll $t3, $v0, 2 -/* 076CA0 7F042170 3C0C8008 */ lui $t4, %hi(ptr_BONDdata_p1) -/* 076CA4 7F042174 018B6021 */ addu $t4, $t4, $t3 -/* 076CA8 7F042178 8D8C9EE0 */ lw $t4, %lo(ptr_BONDdata_p1)($t4) -/* 076CAC 7F04217C 02002025 */ move $a0, $s0 -/* 076CB0 7F042180 02802825 */ move $a1, $s4 -/* 076CB4 7F042184 8D8D00AC */ lw $t5, 0xac($t4) -/* 076CB8 7F042188 8FA600C0 */ lw $a2, 0xc0($sp) -/* 076CBC 7F04218C 02E03825 */ move $a3, $s7 -/* 076CC0 7F042190 51A00009 */ beql $t5, $zero, .L7F0421B8 -/* 076CC4 7F042194 86620002 */ lh $v0, 2($s3) -/* 076CC8 7F042198 AFB50010 */ sw $s5, 0x10($sp) -/* 076CCC 7F04219C AFB60014 */ sw $s6, 0x14($sp) -/* 076CD0 7F0421A0 0FC10500 */ jal sub_GAME_7F041400 -/* 076CD4 7F0421A4 AFBE0018 */ sw $fp, 0x18($sp) -/* 076CD8 7F0421A8 10400002 */ beqz $v0, .L7F0421B4 -/* 076CDC 7F0421AC 240E0001 */ li $t6, 1 -/* 076CE0 7F0421B0 AFAE00A4 */ sw $t6, 0xa4($sp) -.L7F0421B4: -/* 076CE4 7F0421B4 86620002 */ lh $v0, 2($s3) -.L7F0421B8: -/* 076CE8 7F0421B8 26730002 */ addiu $s3, $s3, 2 -/* 076CEC 7F0421BC 0443FF74 */ bgezl $v0, .L7F041F90 -/* 076CF0 7F0421C0 00027080 */ sll $t6, $v0, 2 -.L7F0421C4: -/* 076CF4 7F0421C4 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 076CF8 7F0421C8 3C028007 */ lui $v0, %hi(flt_CODE_bss_80075B78) -/* 076CFC 7F0421CC 24425B78 */ addiu $v0, %lo(flt_CODE_bss_80075B78) # addiu $v0, $v0, 0x5b78 -/* 076D00 7F0421D0 11E00010 */ beqz $t7, .L7F042214 -/* 076D04 7F0421D4 3C038007 */ lui $v1, %hi(flt_CODE_bss_80075B88) -/* 076D08 7F0421D8 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 076D0C 7F0421DC C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 076D10 7F0421E0 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 076D14 7F0421E4 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 076D18 7F0421E8 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 076D1C 7F0421EC C7B00084 */ lwc1 $f16, 0x84($sp) -/* 076D20 7F0421F0 24635B88 */ addiu $v1, %lo(flt_CODE_bss_80075B88) # addiu $v1, $v1, 0x5b88 -/* 076D24 7F0421F4 24180001 */ li $t8, 1 -/* 076D28 7F0421F8 AFB800B4 */ sw $t8, 0xb4($sp) -/* 076D2C 7F0421FC E4440000 */ swc1 $f4, ($v0) -/* 076D30 7F042200 E4480004 */ swc1 $f8, 4($v0) -/* 076D34 7F042204 E44A0008 */ swc1 $f10, 8($v0) -/* 076D38 7F042208 E4660000 */ swc1 $f6, ($v1) -/* 076D3C 7F04220C E4720004 */ swc1 $f18, 4($v1) -/* 076D40 7F042210 E4700008 */ swc1 $f16, 8($v1) -.L7F042214: -/* 076D44 7F042214 8FA200B4 */ lw $v0, 0xb4($sp) -.L7F042218: -/* 076D48 7F042218 8FBF005C */ lw $ra, 0x5c($sp) -/* 076D4C 7F04221C D7B40030 */ ldc1 $f20, 0x30($sp) -/* 076D50 7F042220 8FB00038 */ lw $s0, 0x38($sp) -/* 076D54 7F042224 8FB1003C */ lw $s1, 0x3c($sp) -/* 076D58 7F042228 8FB20040 */ lw $s2, 0x40($sp) -/* 076D5C 7F04222C 8FB30044 */ lw $s3, 0x44($sp) -/* 076D60 7F042230 8FB40048 */ lw $s4, 0x48($sp) -/* 076D64 7F042234 8FB5004C */ lw $s5, 0x4c($sp) -/* 076D68 7F042238 8FB60050 */ lw $s6, 0x50($sp) -/* 076D6C 7F04223C 8FB70054 */ lw $s7, 0x54($sp) -/* 076D70 7F042240 8FBE0058 */ lw $fp, 0x58($sp) -/* 076D74 7F042244 03E00008 */ jr $ra -/* 076D78 7F042248 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void handles_projectile_motion(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A58 -.word 0x3dcccccd /*0.1*/ -.text -glabel handles_projectile_motion -/* 076D7C 7F04224C 27BDFD50 */ addiu $sp, $sp, -0x2b0 -/* 076D80 7F042250 AFBF003C */ sw $ra, 0x3c($sp) -/* 076D84 7F042254 AFB30038 */ sw $s3, 0x38($sp) -/* 076D88 7F042258 AFB20034 */ sw $s2, 0x34($sp) -/* 076D8C 7F04225C AFB10030 */ sw $s1, 0x30($sp) -/* 076D90 7F042260 AFB0002C */ sw $s0, 0x2c($sp) -/* 076D94 7F042264 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 076D98 7F042268 8C820010 */ lw $v0, 0x10($a0) -/* 076D9C 7F04226C 240F0001 */ li $t7, 1 -/* 076DA0 7F042270 3C018003 */ lui $at, %hi(D_80030B0C) -/* 076DA4 7F042274 8C4E0014 */ lw $t6, 0x14($v0) -/* 076DA8 7F042278 AFAF02A4 */ sw $t7, 0x2a4($sp) -/* 076DAC 7F04227C AC200B0C */ sw $zero, %lo(D_80030B0C)($at) -/* 076DB0 7F042280 AFAE02A8 */ sw $t6, 0x2a8($sp) -/* 076DB4 7F042284 C4840058 */ lwc1 $f4, 0x58($a0) -/* 076DB8 7F042288 C4A00000 */ lwc1 $f0, ($a1) -/* 076DBC 7F04228C 00E08025 */ move $s0, $a3 -/* 076DC0 7F042290 00A08825 */ move $s1, $a1 -/* 076DC4 7F042294 46040032 */ c.eq.s $f0, $f4 -/* 076DC8 7F042298 00809025 */ move $s2, $a0 -/* 076DCC 7F04229C 00C09825 */ move $s3, $a2 -/* 076DD0 7F0422A0 4502000E */ bc1fl .L7F0422DC -/* 076DD4 7F0422A4 E7A00268 */ swc1 $f0, 0x268($sp) -/* 076DD8 7F0422A8 C4A60004 */ lwc1 $f6, 4($a1) -/* 076DDC 7F0422AC C488005C */ lwc1 $f8, 0x5c($a0) -/* 076DE0 7F0422B0 46083032 */ c.eq.s $f6, $f8 -/* 076DE4 7F0422B4 00000000 */ nop -/* 076DE8 7F0422B8 45020008 */ bc1fl .L7F0422DC -/* 076DEC 7F0422BC E7A00268 */ swc1 $f0, 0x268($sp) -/* 076DF0 7F0422C0 C4AA0008 */ lwc1 $f10, 8($a1) -/* 076DF4 7F0422C4 C4900060 */ lwc1 $f16, 0x60($a0) -/* 076DF8 7F0422C8 46105032 */ c.eq.s $f10, $f16 -/* 076DFC 7F0422CC 00000000 */ nop -/* 076E00 7F0422D0 450301C6 */ bc1tl .L7F0429EC -/* 076E04 7F0422D4 8FBF003C */ lw $ra, 0x3c($sp) -/* 076E08 7F0422D8 E7A00268 */ swc1 $f0, 0x268($sp) -.L7F0422DC: -/* 076E0C 7F0422DC C6320004 */ lwc1 $f18, 4($s1) -/* 076E10 7F0422E0 E7B2026C */ swc1 $f18, 0x26c($sp) -/* 076E14 7F0422E4 C6240008 */ lwc1 $f4, 8($s1) -/* 076E18 7F0422E8 E7A40270 */ swc1 $f4, 0x270($sp) -/* 076E1C 7F0422EC 8E580064 */ lw $t8, 0x64($s2) -/* 076E20 7F0422F0 33190080 */ andi $t9, $t8, 0x80 -/* 076E24 7F0422F4 532001BD */ beql $t9, $zero, .L7F0429EC -/* 076E28 7F0422F8 8FBF003C */ lw $ra, 0x3c($sp) -/* 076E2C 7F0422FC 8E49006C */ lw $t1, 0x6c($s2) -/* 076E30 7F042300 26440058 */ addiu $a0, $s2, 0x58 -/* 076E34 7F042304 27A50268 */ addiu $a1, $sp, 0x268 -/* 076E38 7F042308 8D2A0000 */ lw $t2, ($t1) -/* 076E3C 7F04230C 27A70074 */ addiu $a3, $sp, 0x74 -/* 076E40 7F042310 27AC007C */ addiu $t4, $sp, 0x7c -/* 076E44 7F042314 314B0004 */ andi $t3, $t2, 4 -/* 076E48 7F042318 116001B3 */ beqz $t3, .L7F0429E8 -/* 076E4C 7F04231C 27AD0260 */ addiu $t5, $sp, 0x260 -/* 076E50 7F042320 AFA00260 */ sw $zero, 0x260($sp) -/* 076E54 7F042324 8E46006C */ lw $a2, 0x6c($s2) -/* 076E58 7F042328 240E0014 */ li $t6, 20 -/* 076E5C 7F04232C AFAE0018 */ sw $t6, 0x18($sp) -/* 076E60 7F042330 AFB102B4 */ sw $s1, 0x2b4($sp) -/* 076E64 7F042334 AFA40048 */ sw $a0, 0x48($sp) -/* 076E68 7F042338 AFA202AC */ sw $v0, 0x2ac($sp) -/* 076E6C 7F04233C AFAD0014 */ sw $t5, 0x14($sp) -/* 076E70 7F042340 AFAC0010 */ sw $t4, 0x10($sp) -/* 076E74 7F042344 0FC2D2AD */ jal sub_GAME_7F0B4AB4 -/* 076E78 7F042348 24C600CC */ addiu $a2, $a2, 0xcc -/* 076E7C 7F04234C 8FA30260 */ lw $v1, 0x260($sp) -/* 076E80 7F042350 27B8007C */ addiu $t8, $sp, 0x7c -/* 076E84 7F042354 24050064 */ li $a1, 100 -/* 076E88 7F042358 28610015 */ slti $at, $v1, 0x15 -/* 076E8C 7F04235C 54200003 */ bnezl $at, .L7F04236C -/* 076E90 7F042360 00037880 */ sll $t7, $v1, 2 -/* 076E94 7F042364 24030014 */ li $v1, 20 -/* 076E98 7F042368 00037880 */ sll $t7, $v1, 2 -.L7F04236C: -/* 076E9C 7F04236C 01F82021 */ addu $a0, $t7, $t8 -/* 076EA0 7F042370 0FC2E3A6 */ jal sub_GAME_7F0B8E98 -/* 076EA4 7F042374 AFA30260 */ sw $v1, 0x260($sp) -/* 076EA8 7F042378 8FA30260 */ lw $v1, 0x260($sp) -/* 076EAC 7F04237C 2419FFFF */ li $t9, -1 -/* 076EB0 7F042380 27B1007C */ addiu $s1, $sp, 0x7c -/* 076EB4 7F042384 00621821 */ addu $v1, $v1, $v0 -/* 076EB8 7F042388 00034880 */ sll $t1, $v1, 2 -/* 076EBC 7F04238C 03A95021 */ addu $t2, $sp, $t1 -/* 076EC0 7F042390 AD59007C */ sw $t9, 0x7c($t2) -/* 076EC4 7F042394 8FAB007C */ lw $t3, 0x7c($sp) -/* 076EC8 7F042398 AFA30260 */ sw $v1, 0x260($sp) -/* 076ECC 7F04239C 0562009E */ bltzl $t3, .L7F042618 -/* 076ED0 7F0423A0 8FAD02A4 */ lw $t5, 0x2a4($sp) -/* 076ED4 7F0423A4 4480A000 */ mtc1 $zero, $f20 -/* 076ED8 7F0423A8 8E260000 */ lw $a2, ($s1) -/* 076EDC 7F0423AC 8FA40048 */ lw $a0, 0x48($sp) -.L7F0423B0: -/* 076EE0 7F0423B0 27A50268 */ addiu $a1, $sp, 0x268 -/* 076EE4 7F0423B4 0FC2DE9E */ jal sub_GAME_7F0B7A78 -/* 076EE8 7F0423B8 27A70274 */ addiu $a3, $sp, 0x274 -/* 076EEC 7F0423BC 50400092 */ beql $v0, $zero, .L7F042608 -/* 076EF0 7F0423C0 8E260004 */ lw $a2, 4($s1) -/* 076EF4 7F0423C4 0FC2D20C */ jal get_room_data_float2 -/* 076EF8 7F0423C8 00000000 */ nop -/* 076EFC 7F0423CC C7A60274 */ lwc1 $f6, 0x274($sp) -/* 076F00 7F0423D0 C7AA0278 */ lwc1 $f10, 0x278($sp) -/* 076F04 7F0423D4 C7B2027C */ lwc1 $f18, 0x27c($sp) -/* 076F08 7F0423D8 46003202 */ mul.s $f8, $f6, $f0 -/* 076F0C 7F0423DC C7A60268 */ lwc1 $f6, 0x268($sp) -/* 076F10 7F0423E0 46005402 */ mul.s $f16, $f10, $f0 -/* 076F14 7F0423E4 C7AA0268 */ lwc1 $f10, 0x268($sp) -/* 076F18 7F0423E8 46009102 */ mul.s $f4, $f18, $f0 -/* 076F1C 7F0423EC E7A80274 */ swc1 $f8, 0x274($sp) -/* 076F20 7F0423F0 E7B00278 */ swc1 $f16, 0x278($sp) -/* 076F24 7F0423F4 E7A4027C */ swc1 $f4, 0x27c($sp) -/* 076F28 7F0423F8 C64C0058 */ lwc1 $f12, 0x58($s2) -/* 076F2C 7F0423FC 4606603E */ c.le.s $f12, $f6 -/* 076F30 7F042400 00000000 */ nop -/* 076F34 7F042404 4502000A */ bc1fl .L7F042430 -/* 076F38 7F042408 460C503E */ c.le.s $f10, $f12 -/* 076F3C 7F04240C 4606403E */ c.le.s $f8, $f6 -/* 076F40 7F042410 00000000 */ nop -/* 076F44 7F042414 45020006 */ bc1fl .L7F042430 -/* 076F48 7F042418 460C503E */ c.le.s $f10, $f12 -/* 076F4C 7F04241C 4608603E */ c.le.s $f12, $f8 -/* 076F50 7F042420 00000000 */ nop -/* 076F54 7F042424 4503000E */ bc1tl .L7F042460 -/* 076F58 7F042428 C642005C */ lwc1 $f2, 0x5c($s2) -/* 076F5C 7F04242C 460C503E */ c.le.s $f10, $f12 -.L7F042430: -/* 076F60 7F042430 C7B00274 */ lwc1 $f16, 0x274($sp) -/* 076F64 7F042434 45020074 */ bc1fl .L7F042608 -/* 076F68 7F042438 8E260004 */ lw $a2, 4($s1) -/* 076F6C 7F04243C 4610503E */ c.le.s $f10, $f16 -/* 076F70 7F042440 00000000 */ nop -/* 076F74 7F042444 45020070 */ bc1fl .L7F042608 -/* 076F78 7F042448 8E260004 */ lw $a2, 4($s1) -/* 076F7C 7F04244C 460C803E */ c.le.s $f16, $f12 -/* 076F80 7F042450 00000000 */ nop -/* 076F84 7F042454 4502006C */ bc1fl .L7F042608 -/* 076F88 7F042458 8E260004 */ lw $a2, 4($s1) -/* 076F8C 7F04245C C642005C */ lwc1 $f2, 0x5c($s2) -.L7F042460: -/* 076F90 7F042460 C7B2026C */ lwc1 $f18, 0x26c($sp) -/* 076F94 7F042464 C7A40278 */ lwc1 $f4, 0x278($sp) -/* 076F98 7F042468 C7A6026C */ lwc1 $f6, 0x26c($sp) -/* 076F9C 7F04246C 4612103E */ c.le.s $f2, $f18 -/* 076FA0 7F042470 00000000 */ nop -/* 076FA4 7F042474 4502000A */ bc1fl .L7F0424A0 -/* 076FA8 7F042478 4602303E */ c.le.s $f6, $f2 -/* 076FAC 7F04247C 4612203E */ c.le.s $f4, $f18 -/* 076FB0 7F042480 00000000 */ nop -/* 076FB4 7F042484 45020006 */ bc1fl .L7F0424A0 -/* 076FB8 7F042488 4602303E */ c.le.s $f6, $f2 -/* 076FBC 7F04248C 4604103E */ c.le.s $f2, $f4 -/* 076FC0 7F042490 00000000 */ nop -/* 076FC4 7F042494 4503000E */ bc1tl .L7F0424D0 -/* 076FC8 7F042498 C6400060 */ lwc1 $f0, 0x60($s2) -/* 076FCC 7F04249C 4602303E */ c.le.s $f6, $f2 -.L7F0424A0: -/* 076FD0 7F0424A0 C7A80278 */ lwc1 $f8, 0x278($sp) -/* 076FD4 7F0424A4 45020058 */ bc1fl .L7F042608 -/* 076FD8 7F0424A8 8E260004 */ lw $a2, 4($s1) -/* 076FDC 7F0424AC 4608303E */ c.le.s $f6, $f8 -/* 076FE0 7F0424B0 00000000 */ nop -/* 076FE4 7F0424B4 45020054 */ bc1fl .L7F042608 -/* 076FE8 7F0424B8 8E260004 */ lw $a2, 4($s1) -/* 076FEC 7F0424BC 4602403E */ c.le.s $f8, $f2 -/* 076FF0 7F0424C0 00000000 */ nop -/* 076FF4 7F0424C4 45020050 */ bc1fl .L7F042608 -/* 076FF8 7F0424C8 8E260004 */ lw $a2, 4($s1) -/* 076FFC 7F0424CC C6400060 */ lwc1 $f0, 0x60($s2) -.L7F0424D0: -/* 077000 7F0424D0 C7AA0270 */ lwc1 $f10, 0x270($sp) -/* 077004 7F0424D4 C7B0027C */ lwc1 $f16, 0x27c($sp) -/* 077008 7F0424D8 C7B20270 */ lwc1 $f18, 0x270($sp) -/* 07700C 7F0424DC 460A003E */ c.le.s $f0, $f10 -/* 077010 7F0424E0 00000000 */ nop -/* 077014 7F0424E4 4502000A */ bc1fl .L7F042510 -/* 077018 7F0424E8 4600903E */ c.le.s $f18, $f0 -/* 07701C 7F0424EC 460A803E */ c.le.s $f16, $f10 -/* 077020 7F0424F0 00000000 */ nop -/* 077024 7F0424F4 45020006 */ bc1fl .L7F042510 -/* 077028 7F0424F8 4600903E */ c.le.s $f18, $f0 -/* 07702C 7F0424FC 4610003E */ c.le.s $f0, $f16 -/* 077030 7F042500 00000000 */ nop -/* 077034 7F042504 4503000E */ bc1tl .L7F042540 -/* 077038 7F042508 C7A60274 */ lwc1 $f6, 0x274($sp) -/* 07703C 7F04250C 4600903E */ c.le.s $f18, $f0 -.L7F042510: -/* 077040 7F042510 C7A4027C */ lwc1 $f4, 0x27c($sp) -/* 077044 7F042514 4502003C */ bc1fl .L7F042608 -/* 077048 7F042518 8E260004 */ lw $a2, 4($s1) -/* 07704C 7F04251C 4604903E */ c.le.s $f18, $f4 -/* 077050 7F042520 00000000 */ nop -/* 077054 7F042524 45020038 */ bc1fl .L7F042608 -/* 077058 7F042528 8E260004 */ lw $a2, 4($s1) -/* 07705C 7F04252C 4600203E */ c.le.s $f4, $f0 -/* 077060 7F042530 00000000 */ nop -/* 077064 7F042534 45020034 */ bc1fl .L7F042608 -/* 077068 7F042538 8E260004 */ lw $a2, 4($s1) -/* 07706C 7F04253C C7A60274 */ lwc1 $f6, 0x274($sp) -.L7F042540: -/* 077070 7F042540 C7A80278 */ lwc1 $f8, 0x278($sp) -/* 077074 7F042544 46066032 */ c.eq.s $f12, $f6 -/* 077078 7F042548 00000000 */ nop -/* 07707C 7F04254C 4502000A */ bc1fl .L7F042578 -/* 077080 7F042550 C7B00274 */ lwc1 $f16, 0x274($sp) -/* 077084 7F042554 46081032 */ c.eq.s $f2, $f8 -/* 077088 7F042558 C7AA027C */ lwc1 $f10, 0x27c($sp) -/* 07708C 7F04255C 45020006 */ bc1fl .L7F042578 -/* 077090 7F042560 C7B00274 */ lwc1 $f16, 0x274($sp) -/* 077094 7F042564 460A0032 */ c.eq.s $f0, $f10 -/* 077098 7F042568 00000000 */ nop -/* 07709C 7F04256C 45030026 */ bc1tl .L7F042608 -/* 0770A0 7F042570 8E260004 */ lw $a2, 4($s1) -/* 0770A4 7F042574 C7B00274 */ lwc1 $f16, 0x274($sp) -.L7F042578: -/* 0770A8 7F042578 AFA002A4 */ sw $zero, 0x2a4($sp) -/* 0770AC 7F04257C 02002025 */ move $a0, $s0 -/* 0770B0 7F042580 E6700000 */ swc1 $f16, ($s3) -/* 0770B4 7F042584 C7B20278 */ lwc1 $f18, 0x278($sp) -/* 0770B8 7F042588 26050004 */ addiu $a1, $s0, 4 -/* 0770BC 7F04258C E6720004 */ swc1 $f18, 4($s3) -/* 0770C0 7F042590 C7A4027C */ lwc1 $f4, 0x27c($sp) -/* 0770C4 7F042594 E6640008 */ swc1 $f4, 8($s3) -/* 0770C8 7F042598 C7A60280 */ lwc1 $f6, 0x280($sp) -/* 0770CC 7F04259C E6060000 */ swc1 $f6, ($s0) -/* 0770D0 7F0425A0 C6100000 */ lwc1 $f16, ($s0) -/* 0770D4 7F0425A4 C7A80284 */ lwc1 $f8, 0x284($sp) -/* 0770D8 7F0425A8 4610A032 */ c.eq.s $f20, $f16 -/* 0770DC 7F0425AC E6080004 */ swc1 $f8, 4($s0) -/* 0770E0 7F0425B0 C7AA0288 */ lwc1 $f10, 0x288($sp) -/* 0770E4 7F0425B4 4500000C */ bc1f .L7F0425E8 -/* 0770E8 7F0425B8 E60A0008 */ swc1 $f10, 8($s0) -/* 0770EC 7F0425BC C6120004 */ lwc1 $f18, 4($s0) -/* 0770F0 7F0425C0 4612A032 */ c.eq.s $f20, $f18 -/* 0770F4 7F0425C4 00000000 */ nop -/* 0770F8 7F0425C8 45000007 */ bc1f .L7F0425E8 -/* 0770FC 7F0425CC 00000000 */ nop -/* 077100 7F0425D0 C6040008 */ lwc1 $f4, 8($s0) -/* 077104 7F0425D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077108 7F0425D8 4604A032 */ c.eq.s $f20, $f4 -/* 07710C 7F0425DC 00000000 */ nop -/* 077110 7F0425E0 45030006 */ bc1tl .L7F0425FC -/* 077114 7F0425E4 44813000 */ mtc1 $at, $f6 -.L7F0425E8: -/* 077118 7F0425E8 0C007DD4 */ jal guNormalize -/* 07711C 7F0425EC 26060008 */ addiu $a2, $s0, 8 -/* 077120 7F0425F0 10000005 */ b .L7F042608 -/* 077124 7F0425F4 8E260004 */ lw $a2, 4($s1) -/* 077128 7F0425F8 44813000 */ mtc1 $at, $f6 -.L7F0425FC: -/* 07712C 7F0425FC 00000000 */ nop -/* 077130 7F042600 E6060008 */ swc1 $f6, 8($s0) -/* 077134 7F042604 8E260004 */ lw $a2, 4($s1) -.L7F042608: -/* 077138 7F042608 26310004 */ addiu $s1, $s1, 4 -/* 07713C 7F04260C 04C3FF68 */ bgezl $a2, .L7F0423B0 -/* 077140 7F042610 8FA40048 */ lw $a0, 0x48($sp) -/* 077144 7F042614 8FAD02A4 */ lw $t5, 0x2a4($sp) -.L7F042618: -/* 077148 7F042618 8FA202B4 */ lw $v0, 0x2b4($sp) -/* 07714C 7F04261C 55A00037 */ bnezl $t5, .L7F0426FC -/* 077150 7F042620 27AE007C */ addiu $t6, $sp, 0x7c -/* 077154 7F042624 C4480000 */ lwc1 $f8, ($v0) -/* 077158 7F042628 C64A0058 */ lwc1 $f10, 0x58($s2) -/* 07715C 7F04262C 460A4401 */ sub.s $f16, $f8, $f10 -/* 077160 7F042630 E7B00064 */ swc1 $f16, 0x64($sp) -/* 077164 7F042634 C644005C */ lwc1 $f4, 0x5c($s2) -/* 077168 7F042638 C4520004 */ lwc1 $f18, 4($v0) -/* 07716C 7F04263C 46049181 */ sub.s $f6, $f18, $f4 -/* 077170 7F042640 C7B20064 */ lwc1 $f18, 0x64($sp) -/* 077174 7F042644 E7A60068 */ swc1 $f6, 0x68($sp) -/* 077178 7F042648 C64A0060 */ lwc1 $f10, 0x60($s2) -/* 07717C 7F04264C C4480008 */ lwc1 $f8, 8($v0) -/* 077180 7F042650 46129102 */ mul.s $f4, $f18, $f18 -/* 077184 7F042654 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 077188 7F042658 460A4401 */ sub.s $f16, $f8, $f10 -/* 07718C 7F04265C 46063202 */ mul.s $f8, $f6, $f6 -/* 077190 7F042660 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 077194 7F042664 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 077198 7F042668 46108482 */ mul.s $f18, $f16, $f16 -/* 07719C 7F04266C 46082280 */ add.s $f10, $f4, $f8 -/* 0771A0 7F042670 0C007DF8 */ jal sqrtf -/* 0771A4 7F042674 460A9300 */ add.s $f12, $f18, $f10 -/* 0771A8 7F042678 3C018005 */ lui $at, %hi(D_80052A58) # -0.000000 -/* 0771AC 7F04267C C42C2A58 */ lwc1 $f12, %lo(D_80052A58)($at) -/* 0771B0 7F042680 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0771B4 7F042684 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 0771B8 7F042688 4600603C */ c.lt.s $f12, $f0 -/* 0771BC 7F04268C 00000000 */ nop -/* 0771C0 7F042690 45020004 */ bc1fl .L7F0426A4 -/* 0771C4 7F042694 44811000 */ mtc1 $at, $f2 -/* 0771C8 7F042698 10000003 */ b .L7F0426A8 -/* 0771CC 7F04269C 46006083 */ div.s $f2, $f12, $f0 -/* 0771D0 7F0426A0 44811000 */ mtc1 $at, $f2 -.L7F0426A4: -/* 0771D4 7F0426A4 00000000 */ nop -.L7F0426A8: -/* 0771D8 7F0426A8 46041202 */ mul.s $f8, $f2, $f4 -/* 0771DC 7F0426AC C6660000 */ lwc1 $f6, ($s3) -/* 0771E0 7F0426B0 C6720004 */ lwc1 $f18, 4($s3) -/* 0771E4 7F0426B4 46083401 */ sub.s $f16, $f6, $f8 -/* 0771E8 7F0426B8 C6680008 */ lwc1 $f8, 8($s3) -/* 0771EC 7F0426BC E6700000 */ swc1 $f16, ($s3) -/* 0771F0 7F0426C0 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0771F4 7F0426C4 460A1102 */ mul.s $f4, $f2, $f10 -/* 0771F8 7F0426C8 46049181 */ sub.s $f6, $f18, $f4 -/* 0771FC 7F0426CC C6640000 */ lwc1 $f4, ($s3) -/* 077200 7F0426D0 E6660004 */ swc1 $f6, 4($s3) -/* 077204 7F0426D4 C7B0006C */ lwc1 $f16, 0x6c($sp) -/* 077208 7F0426D8 46101282 */ mul.s $f10, $f2, $f16 -/* 07720C 7F0426DC 460A4481 */ sub.s $f18, $f8, $f10 -/* 077210 7F0426E0 E6720008 */ swc1 $f18, 8($s3) -/* 077214 7F0426E4 E7A40268 */ swc1 $f4, 0x268($sp) -/* 077218 7F0426E8 C6660004 */ lwc1 $f6, 4($s3) -/* 07721C 7F0426EC E7A6026C */ swc1 $f6, 0x26c($sp) -/* 077220 7F0426F0 C6700008 */ lwc1 $f16, 8($s3) -/* 077224 7F0426F4 E7B00270 */ swc1 $f16, 0x270($sp) -/* 077228 7F0426F8 27AE007C */ addiu $t6, $sp, 0x7c -.L7F0426FC: -/* 07722C 7F0426FC AFAE0018 */ sw $t6, 0x18($sp) -/* 077230 7F042700 8FA402AC */ lw $a0, 0x2ac($sp) -/* 077234 7F042704 8FA50048 */ lw $a1, 0x48($sp) -/* 077238 7F042708 27A60268 */ addiu $a2, $sp, 0x268 -/* 07723C 7F04270C 2407001F */ li $a3, 31 -/* 077240 7F042710 AFB30010 */ sw $s3, 0x10($sp) -/* 077244 7F042714 0FC10783 */ jal sub_GAME_7F041E0C -/* 077248 7F042718 AFB00014 */ sw $s0, 0x14($sp) -/* 07724C 7F04271C 14400036 */ bnez $v0, .L7F0427F8 -/* 077250 7F042720 8FAB02C4 */ lw $t3, 0x2c4($sp) -/* 077254 7F042724 8FAF02A4 */ lw $t7, 0x2a4($sp) -/* 077258 7F042728 8FB802C0 */ lw $t8, 0x2c0($sp) -/* 07725C 7F04272C 8FAD02A4 */ lw $t5, 0x2a4($sp) -/* 077260 7F042730 55E00016 */ bnezl $t7, .L7F04278C -/* 077264 7F042734 24100001 */ li $s0, 1 -/* 077268 7F042738 53000014 */ beql $t8, $zero, .L7F04278C -/* 07726C 7F04273C 24100001 */ li $s0, 1 -/* 077270 7F042740 8FA902C4 */ lw $t1, 0x2c4($sp) -/* 077274 7F042744 24190002 */ li $t9, 2 -/* 077278 7F042748 AFB902A4 */ sw $t9, 0x2a4($sp) -/* 07727C 7F04274C 1520000C */ bnez $t1, .L7F042780 -/* 077280 7F042750 8FA40048 */ lw $a0, 0x48($sp) -/* 077284 7F042754 8E46006C */ lw $a2, 0x6c($s2) -/* 077288 7F042758 27AA007C */ addiu $t2, $sp, 0x7c -/* 07728C 7F04275C 27AB0260 */ addiu $t3, $sp, 0x260 -/* 077290 7F042760 240C0014 */ li $t4, 20 -/* 077294 7F042764 AFAC0018 */ sw $t4, 0x18($sp) -/* 077298 7F042768 AFAB0014 */ sw $t3, 0x14($sp) -/* 07729C 7F04276C AFAA0010 */ sw $t2, 0x10($sp) -/* 0772A0 7F042770 02602825 */ move $a1, $s3 -/* 0772A4 7F042774 27A70074 */ addiu $a3, $sp, 0x74 -/* 0772A8 7F042778 0FC2D2AD */ jal sub_GAME_7F0B4AB4 -/* 0772AC 7F04277C 24C600CC */ addiu $a2, $a2, 0xcc -.L7F042780: -/* 0772B0 7F042780 1000003A */ b .L7F04286C -/* 0772B4 7F042784 8FA902A4 */ lw $t1, 0x2a4($sp) -/* 0772B8 7F042788 24100001 */ li $s0, 1 -.L7F04278C: -/* 0772BC 7F04278C 11B00003 */ beq $t5, $s0, .L7F04279C -/* 0772C0 7F042790 8FAE02C4 */ lw $t6, 0x2c4($sp) -/* 0772C4 7F042794 55C00035 */ bnezl $t6, .L7F04286C -/* 0772C8 7F042798 8FA902A4 */ lw $t1, 0x2a4($sp) -.L7F04279C: -/* 0772CC 7F04279C 8FAF02A4 */ lw $t7, 0x2a4($sp) -/* 0772D0 7F0427A0 8FA40048 */ lw $a0, 0x48($sp) -/* 0772D4 7F0427A4 27A50268 */ addiu $a1, $sp, 0x268 -/* 0772D8 7F0427A8 11F0000A */ beq $t7, $s0, .L7F0427D4 -/* 0772DC 7F0427AC 27A70074 */ addiu $a3, $sp, 0x74 -/* 0772E0 7F0427B0 8E46006C */ lw $a2, 0x6c($s2) -/* 0772E4 7F0427B4 27B8007C */ addiu $t8, $sp, 0x7c -/* 0772E8 7F0427B8 27B90260 */ addiu $t9, $sp, 0x260 -/* 0772EC 7F0427BC 24090014 */ li $t1, 20 -/* 0772F0 7F0427C0 AFA90018 */ sw $t1, 0x18($sp) -/* 0772F4 7F0427C4 AFB90014 */ sw $t9, 0x14($sp) -/* 0772F8 7F0427C8 AFB80010 */ sw $t8, 0x10($sp) -/* 0772FC 7F0427CC 0FC2D2AD */ jal sub_GAME_7F0B4AB4 -/* 077300 7F0427D0 24C600CC */ addiu $a2, $a2, 0xcc -.L7F0427D4: -/* 077304 7F0427D4 C7A80268 */ lwc1 $f8, 0x268($sp) -/* 077308 7F0427D8 E6480058 */ swc1 $f8, 0x58($s2) -/* 07730C 7F0427DC C7AA0270 */ lwc1 $f10, 0x270($sp) -/* 077310 7F0427E0 E64A0060 */ swc1 $f10, 0x60($s2) -/* 077314 7F0427E4 8FAA02AC */ lw $t2, 0x2ac($sp) -/* 077318 7F0427E8 C7A0026C */ lwc1 $f0, 0x26c($sp) -/* 07731C 7F0427EC E540000C */ swc1 $f0, 0xc($t2) -/* 077320 7F0427F0 1000001D */ b .L7F042868 -/* 077324 7F0427F4 E640005C */ swc1 $f0, 0x5c($s2) -.L7F0427F8: -/* 077328 7F0427F8 1560001B */ bnez $t3, .L7F042868 -/* 07732C 7F0427FC 27A50268 */ addiu $a1, $sp, 0x268 -/* 077330 7F042800 C6520058 */ lwc1 $f18, 0x58($s2) -/* 077334 7F042804 27AC007C */ addiu $t4, $sp, 0x7c -/* 077338 7F042808 27AD0260 */ addiu $t5, $sp, 0x260 -/* 07733C 7F04280C E7B20268 */ swc1 $f18, 0x268($sp) -/* 077340 7F042810 C6440060 */ lwc1 $f4, 0x60($s2) -/* 077344 7F042814 240E0014 */ li $t6, 20 -/* 077348 7F042818 8FA40048 */ lw $a0, 0x48($sp) -/* 07734C 7F04281C E7A40270 */ swc1 $f4, 0x270($sp) -/* 077350 7F042820 8E46006C */ lw $a2, 0x6c($s2) -/* 077354 7F042824 AFAE0018 */ sw $t6, 0x18($sp) -/* 077358 7F042828 AFAD0014 */ sw $t5, 0x14($sp) -/* 07735C 7F04282C AFAC0010 */ sw $t4, 0x10($sp) -/* 077360 7F042830 27A70074 */ addiu $a3, $sp, 0x74 -/* 077364 7F042834 0FC2D2AD */ jal sub_GAME_7F0B4AB4 -/* 077368 7F042838 24C600CC */ addiu $a2, $a2, 0xcc -/* 07736C 7F04283C C7A0026C */ lwc1 $f0, 0x26c($sp) -/* 077370 7F042840 8FAF02AC */ lw $t7, 0x2ac($sp) -/* 077374 7F042844 24190002 */ li $t9, 2 -/* 077378 7F042848 E5E0000C */ swc1 $f0, 0xc($t7) -/* 07737C 7F04284C E640005C */ swc1 $f0, 0x5c($s2) -/* 077380 7F042850 8FB802C0 */ lw $t8, 0x2c0($sp) -/* 077384 7F042854 53000004 */ beql $t8, $zero, .L7F042868 -/* 077388 7F042858 AFA002A4 */ sw $zero, 0x2a4($sp) -/* 07738C 7F04285C 10000002 */ b .L7F042868 -/* 077390 7F042860 AFB902A4 */ sw $t9, 0x2a4($sp) -/* 077394 7F042864 AFA002A4 */ sw $zero, 0x2a4($sp) -.L7F042868: -/* 077398 7F042868 8FA902A4 */ lw $t1, 0x2a4($sp) -.L7F04286C: -/* 07739C 7F04286C 24100001 */ li $s0, 1 -/* 0773A0 7F042870 8FAA02C4 */ lw $t2, 0x2c4($sp) -/* 0773A4 7F042874 51300004 */ beql $t1, $s0, .L7F042888 -/* 0773A8 7F042878 8E4B006C */ lw $t3, 0x6c($s2) -/* 0773AC 7F04287C 5540005B */ bnezl $t2, .L7F0429EC -/* 0773B0 7F042880 8FBF003C */ lw $ra, 0x3c($sp) -/* 0773B4 7F042884 8E4B006C */ lw $t3, 0x6c($s2) -.L7F042888: -/* 0773B8 7F042888 00004025 */ move $t0, $zero -/* 0773BC 7F04288C 8D620000 */ lw $v0, ($t3) -/* 0773C0 7F042890 304C0008 */ andi $t4, $v0, 8 -/* 0773C4 7F042894 15800028 */ bnez $t4, .L7F042938 -/* 0773C8 7F042898 01801025 */ move $v0, $t4 -/* 0773CC 7F04289C 8FA202AC */ lw $v0, 0x2ac($sp) -/* 0773D0 7F0428A0 27A402A8 */ addiu $a0, $sp, 0x2a8 -/* 0773D4 7F0428A4 8C4D0014 */ lw $t5, 0x14($v0) -/* 0773D8 7F0428A8 AFAD02A8 */ sw $t5, 0x2a8($sp) -/* 0773DC 7F0428AC C6460060 */ lwc1 $f6, 0x60($s2) -/* 0773E0 7F0428B0 8E470058 */ lw $a3, 0x58($s2) -/* 0773E4 7F0428B4 8C460010 */ lw $a2, 0x10($v0) -/* 0773E8 7F0428B8 8C450008 */ lw $a1, 8($v0) -/* 0773EC 7F0428BC AFA00264 */ sw $zero, 0x264($sp) -/* 0773F0 7F0428C0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0773F4 7F0428C4 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0773F8 7F0428C8 1450000F */ bne $v0, $s0, .L7F042908 -/* 0773FC 7F0428CC 8FA80264 */ lw $t0, 0x264($sp) -/* 077400 7F0428D0 8FAE02A8 */ lw $t6, 0x2a8($sp) -/* 077404 7F0428D4 8FA302AC */ lw $v1, 0x2ac($sp) -/* 077408 7F0428D8 51C0000C */ beql $t6, $zero, .L7F04290C -/* 07740C 7F0428DC 8E43006C */ lw $v1, 0x6c($s2) -/* 077410 7F0428E0 AC6E0014 */ sw $t6, 0x14($v1) -/* 077414 7F0428E4 C6500058 */ lwc1 $f16, 0x58($s2) -/* 077418 7F0428E8 E4700008 */ swc1 $f16, 8($v1) -/* 07741C 7F0428EC C6480060 */ lwc1 $f8, 0x60($s2) -/* 077420 7F0428F0 E4680010 */ swc1 $f8, 0x10($v1) -/* 077424 7F0428F4 8E4F006C */ lw $t7, 0x6c($s2) -/* 077428 7F0428F8 8DE20000 */ lw $v0, ($t7) -/* 07742C 7F0428FC 30580008 */ andi $t8, $v0, 8 -/* 077430 7F042900 1000000D */ b .L7F042938 -/* 077434 7F042904 03001025 */ move $v0, $t8 -.L7F042908: -/* 077438 7F042908 8E43006C */ lw $v1, 0x6c($s2) -.L7F04290C: -/* 07743C 7F04290C 8C790000 */ lw $t9, ($v1) -/* 077440 7F042910 37290008 */ ori $t1, $t9, 8 -/* 077444 7F042914 AC690000 */ sw $t1, ($v1) -/* 077448 7F042918 8FAA02AC */ lw $t2, 0x2ac($sp) -/* 07744C 7F04291C 914B0001 */ lbu $t3, 1($t2) -/* 077450 7F042920 356C0008 */ ori $t4, $t3, 8 -/* 077454 7F042924 A14C0001 */ sb $t4, 1($t2) -/* 077458 7F042928 8E4D006C */ lw $t5, 0x6c($s2) -/* 07745C 7F04292C 8DA20000 */ lw $v0, ($t5) -/* 077460 7F042930 304E0008 */ andi $t6, $v0, 8 -/* 077464 7F042934 01C01025 */ move $v0, $t6 -.L7F042938: -/* 077468 7F042938 10400016 */ beqz $v0, .L7F042994 -/* 07746C 7F04293C 8FA40048 */ lw $a0, 0x48($sp) -/* 077470 7F042940 27A50074 */ addiu $a1, $sp, 0x74 -/* 077474 7F042944 00003025 */ move $a2, $zero -/* 077478 7F042948 0FC2BC83 */ jal sub_GAME_7F0AF20C -/* 07747C 7F04294C AFA80264 */ sw $t0, 0x264($sp) -/* 077480 7F042950 8FA80264 */ lw $t0, 0x264($sp) -/* 077484 7F042954 1040000F */ beqz $v0, .L7F042994 -/* 077488 7F042958 AFA202A8 */ sw $v0, 0x2a8($sp) -/* 07748C 7F04295C 8FA402AC */ lw $a0, 0x2ac($sp) -/* 077490 7F042960 2401FFF7 */ li $at, -9 -/* 077494 7F042964 AC820014 */ sw $v0, 0x14($a0) -/* 077498 7F042968 C64A0058 */ lwc1 $f10, 0x58($s2) -/* 07749C 7F04296C E48A0008 */ swc1 $f10, 8($a0) -/* 0774A0 7F042970 C6520060 */ lwc1 $f18, 0x60($s2) -/* 0774A4 7F042974 E4920010 */ swc1 $f18, 0x10($a0) -/* 0774A8 7F042978 8E43006C */ lw $v1, 0x6c($s2) -/* 0774AC 7F04297C 8C6F0000 */ lw $t7, ($v1) -/* 0774B0 7F042980 01E1C024 */ and $t8, $t7, $at -/* 0774B4 7F042984 AC780000 */ sw $t8, ($v1) -/* 0774B8 7F042988 90990001 */ lbu $t9, 1($a0) -/* 0774BC 7F04298C 03214824 */ and $t1, $t9, $at -/* 0774C0 7F042990 A0890001 */ sb $t1, 1($a0) -.L7F042994: -/* 0774C4 7F042994 93AB0074 */ lbu $t3, 0x74($sp) -/* 0774C8 7F042998 240400FF */ li $a0, 255 -/* 0774CC 7F04299C 27AC0074 */ addiu $t4, $sp, 0x74 -/* 0774D0 7F0429A0 108B000D */ beq $a0, $t3, .L7F0429D8 -/* 0774D4 7F0429A4 010C1021 */ addu $v0, $t0, $t4 -/* 0774D8 7F0429A8 90430000 */ lbu $v1, ($v0) -/* 0774DC 7F0429AC 24050007 */ li $a1, 7 -/* 0774E0 7F0429B0 8E4A006C */ lw $t2, 0x6c($s2) -.L7F0429B4: -/* 0774E4 7F0429B4 24420001 */ addiu $v0, $v0, 1 -/* 0774E8 7F0429B8 01486821 */ addu $t5, $t2, $t0 -/* 0774EC 7F0429BC A1A300CC */ sb $v1, 0xcc($t5) -/* 0774F0 7F0429C0 90430000 */ lbu $v1, ($v0) -/* 0774F4 7F0429C4 25080001 */ addiu $t0, $t0, 1 -/* 0774F8 7F0429C8 50830004 */ beql $a0, $v1, .L7F0429DC -/* 0774FC 7F0429CC 8E4F006C */ lw $t7, 0x6c($s2) -/* 077500 7F0429D0 5505FFF8 */ bnel $t0, $a1, .L7F0429B4 -/* 077504 7F0429D4 8E4A006C */ lw $t2, 0x6c($s2) -.L7F0429D8: -/* 077508 7F0429D8 8E4F006C */ lw $t7, 0x6c($s2) -.L7F0429DC: -/* 07750C 7F0429DC 240E00FF */ li $t6, 255 -/* 077510 7F0429E0 01E8C021 */ addu $t8, $t7, $t0 -/* 077514 7F0429E4 A30E00CC */ sb $t6, 0xcc($t8) -.L7F0429E8: -/* 077518 7F0429E8 8FBF003C */ lw $ra, 0x3c($sp) -.L7F0429EC: -/* 07751C 7F0429EC 8FA202A4 */ lw $v0, 0x2a4($sp) -/* 077520 7F0429F0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 077524 7F0429F4 8FB0002C */ lw $s0, 0x2c($sp) -/* 077528 7F0429F8 8FB10030 */ lw $s1, 0x30($sp) -/* 07752C 7F0429FC 8FB20034 */ lw $s2, 0x34($sp) -/* 077530 7F042A00 8FB30038 */ lw $s3, 0x38($sp) -/* 077534 7F042A04 03E00008 */ jr $ra -/* 077538 7F042A08 27BD02B0 */ addiu $sp, $sp, 0x2b0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F042A0C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A5C -.word 0x3f7d70a4 /*0.99000001*/ -.text -glabel sub_GAME_7F042A0C -/* 07753C 7F042A0C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 077540 7F042A10 AFBF0034 */ sw $ra, 0x34($sp) -/* 077544 7F042A14 AFB00030 */ sw $s0, 0x30($sp) -/* 077548 7F042A18 AFA600C8 */ sw $a2, 0xc8($sp) -/* 07754C 7F042A1C AFA700CC */ sw $a3, 0xcc($sp) -/* 077550 7F042A20 8C900010 */ lw $s0, 0x10($a0) -/* 077554 7F042A24 8E0E0014 */ lw $t6, 0x14($s0) -/* 077558 7F042A28 AFA500C4 */ sw $a1, 0xc4($sp) -/* 07755C 7F042A2C AFA400C0 */ sw $a0, 0xc0($sp) -/* 077560 7F042A30 0FC10411 */ jal if_a0_plus_3_is_4_then_10_else_20 -/* 077564 7F042A34 AFAE00B8 */ sw $t6, 0xb8($sp) -/* 077568 7F042A38 8FA500C4 */ lw $a1, 0xc4($sp) -/* 07756C 7F042A3C 240F0001 */ li $t7, 1 -/* 077570 7F042A40 3C018003 */ lui $at, %hi(D_80030B0C) -/* 077574 7F042A44 E7A000B4 */ swc1 $f0, 0xb4($sp) -/* 077578 7F042A48 AFAF00B0 */ sw $t7, 0xb0($sp) -/* 07757C 7F042A4C AC200B0C */ sw $zero, %lo(D_80030B0C)($at) -/* 077580 7F042A50 C6040008 */ lwc1 $f4, 8($s0) -/* 077584 7F042A54 C4A20000 */ lwc1 $f2, ($a1) -/* 077588 7F042A58 46041032 */ c.eq.s $f2, $f4 -/* 07758C 7F042A5C 00000000 */ nop -/* 077590 7F042A60 4502000E */ bc1fl .L7F042A9C -/* 077594 7F042A64 E7A20098 */ swc1 $f2, 0x98($sp) -/* 077598 7F042A68 C4A60004 */ lwc1 $f6, 4($a1) -/* 07759C 7F042A6C C608000C */ lwc1 $f8, 0xc($s0) -/* 0775A0 7F042A70 46083032 */ c.eq.s $f6, $f8 -/* 0775A4 7F042A74 00000000 */ nop -/* 0775A8 7F042A78 45020008 */ bc1fl .L7F042A9C -/* 0775AC 7F042A7C E7A20098 */ swc1 $f2, 0x98($sp) -/* 0775B0 7F042A80 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0775B4 7F042A84 C6100010 */ lwc1 $f16, 0x10($s0) -/* 0775B8 7F042A88 46105032 */ c.eq.s $f10, $f16 -/* 0775BC 7F042A8C 00000000 */ nop -/* 0775C0 7F042A90 45030104 */ bc1tl .L7F042EA4 -/* 0775C4 7F042A94 8FBF0034 */ lw $ra, 0x34($sp) -/* 0775C8 7F042A98 E7A20098 */ swc1 $f2, 0x98($sp) -.L7F042A9C: -/* 0775CC 7F042A9C C4B20004 */ lwc1 $f18, 4($a1) -/* 0775D0 7F042AA0 8FB800C0 */ lw $t8, 0xc0($sp) -/* 0775D4 7F042AA4 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 0775D8 7F042AA8 C4A40008 */ lwc1 $f4, 8($a1) -/* 0775DC 7F042AAC E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 0775E0 7F042AB0 8F190064 */ lw $t9, 0x64($t8) -/* 0775E4 7F042AB4 33280080 */ andi $t0, $t9, 0x80 -/* 0775E8 7F042AB8 510000FA */ beql $t0, $zero, .L7F042EA4 -/* 0775EC 7F042ABC 8FBF0034 */ lw $ra, 0x34($sp) -/* 0775F0 7F042AC0 8E040014 */ lw $a0, 0x14($s0) -/* 0775F4 7F042AC4 8E050008 */ lw $a1, 8($s0) -/* 0775F8 7F042AC8 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0775FC 7F042ACC 8E060010 */ lw $a2, 0x10($s0) -/* 077600 7F042AD0 8FA900C0 */ lw $t1, 0xc0($sp) -/* 077604 7F042AD4 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 077608 7F042AD8 8D2A006C */ lw $t2, 0x6c($t1) -/* 07760C 7F042ADC 8D4B0000 */ lw $t3, ($t2) -/* 077610 7F042AE0 316C0040 */ andi $t4, $t3, 0x40 -/* 077614 7F042AE4 55800008 */ bnezl $t4, .L7F042B08 -/* 077618 7F042AE8 C602000C */ lwc1 $f2, 0xc($s0) -/* 07761C 7F042AEC 44809000 */ mtc1 $zero, $f18 -/* 077620 7F042AF0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077624 7F042AF4 44818000 */ mtc1 $at, $f16 -/* 077628 7F042AF8 E7B20090 */ swc1 $f18, 0x90($sp) -/* 07762C 7F042AFC 10000010 */ b .L7F042B40 -/* 077630 7F042B00 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 077634 7F042B04 C602000C */ lwc1 $f2, 0xc($s0) -.L7F042B08: -/* 077638 7F042B08 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 07763C 7F042B0C 4602503C */ c.lt.s $f10, $f2 -/* 077640 7F042B10 00000000 */ nop -/* 077644 7F042B14 45020007 */ bc1fl .L7F042B34 -/* 077648 7F042B18 46002181 */ sub.s $f6, $f4, $f0 -/* 07764C 7F042B1C 46001401 */ sub.s $f16, $f2, $f0 -/* 077650 7F042B20 46005481 */ sub.s $f18, $f10, $f0 -/* 077654 7F042B24 E7B00090 */ swc1 $f16, 0x90($sp) -/* 077658 7F042B28 10000005 */ b .L7F042B40 -/* 07765C 7F042B2C E7B2008C */ swc1 $f18, 0x8c($sp) -/* 077660 7F042B30 46002181 */ sub.s $f6, $f4, $f0 -.L7F042B34: -/* 077664 7F042B34 46001201 */ sub.s $f8, $f2, $f0 -/* 077668 7F042B38 E7A60090 */ swc1 $f6, 0x90($sp) -/* 07766C 7F042B3C E7A8008C */ swc1 $f8, 0x8c($sp) -.L7F042B40: -/* 077670 7F042B40 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 077674 7F042B44 00000000 */ nop -/* 077678 7F042B48 8E050008 */ lw $a1, 8($s0) -/* 07767C 7F042B4C 8E060010 */ lw $a2, 0x10($s0) -/* 077680 7F042B50 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077684 7F042B54 44813000 */ mtc1 $at, $f6 -/* 077688 7F042B58 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 07768C 7F042B5C C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 077690 7F042B60 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 077694 7F042B64 44802000 */ mtc1 $zero, $f4 -/* 077698 7F042B68 240D001F */ li $t5, 31 -/* 07769C 7F042B6C AFAD0014 */ sw $t5, 0x14($sp) -/* 0776A0 7F042B70 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0776A4 7F042B74 8FA70098 */ lw $a3, 0x98($sp) -/* 0776A8 7F042B78 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0776AC 7F042B7C E7A60024 */ swc1 $f6, 0x24($sp) -/* 0776B0 7F042B80 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0776B4 7F042B84 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 0776B8 7F042B88 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0776BC 7F042B8C E7A40020 */ swc1 $f4, 0x20($sp) -/* 0776C0 7F042B90 1040001D */ beqz $v0, .L7F042C08 -/* 0776C4 7F042B94 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 0776C8 7F042B98 11C0001B */ beqz $t6, .L7F042C08 -/* 0776CC 7F042B9C 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0776D0 7F042BA0 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0776D4 7F042BA4 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 0776D8 7F042BA8 240F001F */ li $t7, 31 -/* 0776DC 7F042BAC AFAF0010 */ sw $t7, 0x10($sp) -/* 0776E0 7F042BB0 8FA50098 */ lw $a1, 0x98($sp) -/* 0776E4 7F042BB4 8FA600A0 */ lw $a2, 0xa0($sp) -/* 0776E8 7F042BB8 8FA700B4 */ lw $a3, 0xb4($sp) -/* 0776EC 7F042BBC E7A80014 */ swc1 $f8, 0x14($sp) -/* 0776F0 7F042BC0 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 0776F4 7F042BC4 E7B00018 */ swc1 $f16, 0x18($sp) -/* 0776F8 7F042BC8 0441000F */ bgez $v0, .L7F042C08 -/* 0776FC 7F042BCC C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 077700 7F042BD0 8FA200C0 */ lw $v0, 0xc0($sp) -/* 077704 7F042BD4 E44A0058 */ swc1 $f10, 0x58($v0) -/* 077708 7F042BD8 C7B200A0 */ lwc1 $f18, 0xa0($sp) -/* 07770C 7F042BDC E4520060 */ swc1 $f18, 0x60($v0) -/* 077710 7F042BE0 8FB800B8 */ lw $t8, 0xb8($sp) -/* 077714 7F042BE4 AE180014 */ sw $t8, 0x14($s0) -/* 077718 7F042BE8 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 07771C 7F042BEC E6040008 */ swc1 $f4, 8($s0) -/* 077720 7F042BF0 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 077724 7F042BF4 E6060010 */ swc1 $f6, 0x10($s0) -/* 077728 7F042BF8 C7A0009C */ lwc1 $f0, 0x9c($sp) -/* 07772C 7F042BFC E600000C */ swc1 $f0, 0xc($s0) -/* 077730 7F042C00 100000A7 */ b .L7F042EA0 -/* 077734 7F042C04 E440005C */ swc1 $f0, 0x5c($v0) -.L7F042C08: -/* 077738 7F042C08 27A40080 */ addiu $a0, $sp, 0x80 -/* 07773C 7F042C0C 0FC2CA2C */ jal sub_GAME_7F0B28B0 -/* 077740 7F042C10 27A50074 */ addiu $a1, $sp, 0x74 -/* 077744 7F042C14 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 077748 7F042C18 C7B00088 */ lwc1 $f16, 0x88($sp) -/* 07774C 7F042C1C 8FA400CC */ lw $a0, 0xcc($sp) -/* 077750 7F042C20 44801000 */ mtc1 $zero, $f2 -/* 077754 7F042C24 46104281 */ sub.s $f10, $f8, $f16 -/* 077758 7F042C28 24850004 */ addiu $a1, $a0, 4 -/* 07775C 7F042C2C E4820004 */ swc1 $f2, 4($a0) -/* 077760 7F042C30 E48A0000 */ swc1 $f10, ($a0) -/* 077764 7F042C34 C4880000 */ lwc1 $f8, ($a0) -/* 077768 7F042C38 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 07776C 7F042C3C C7B20080 */ lwc1 $f18, 0x80($sp) -/* 077770 7F042C40 46081032 */ c.eq.s $f2, $f8 -/* 077774 7F042C44 46049181 */ sub.s $f6, $f18, $f4 -/* 077778 7F042C48 45000007 */ bc1f .L7F042C68 -/* 07777C 7F042C4C E4860008 */ swc1 $f6, 8($a0) -/* 077780 7F042C50 C4900008 */ lwc1 $f16, 8($a0) -/* 077784 7F042C54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077788 7F042C58 46101032 */ c.eq.s $f2, $f16 -/* 07778C 7F042C5C 00000000 */ nop -/* 077790 7F042C60 45030006 */ bc1tl .L7F042C7C -/* 077794 7F042C64 44815000 */ mtc1 $at, $f10 -.L7F042C68: -/* 077798 7F042C68 0C007DD4 */ jal guNormalize -/* 07779C 7F042C6C 24860008 */ addiu $a2, $a0, 8 -/* 0777A0 7F042C70 10000005 */ b .L7F042C88 -/* 0777A4 7F042C74 C6000008 */ lwc1 $f0, 8($s0) -/* 0777A8 7F042C78 44815000 */ mtc1 $at, $f10 -.L7F042C7C: -/* 0777AC 7F042C7C 00000000 */ nop -/* 0777B0 7F042C80 E48A0008 */ swc1 $f10, 8($a0) -/* 0777B4 7F042C84 C6000008 */ lwc1 $f0, 8($s0) -.L7F042C88: -/* 0777B8 7F042C88 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 0777BC 7F042C8C C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0777C0 7F042C90 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 0777C4 7F042C94 46009032 */ c.eq.s $f18, $f0 -/* 0777C8 7F042C98 00000000 */ nop -/* 0777CC 7F042C9C 4502000F */ bc1fl .L7F042CDC -/* 0777D0 7F042CA0 46005481 */ sub.s $f18, $f10, $f0 -/* 0777D4 7F042CA4 C606000C */ lwc1 $f6, 0xc($s0) -/* 0777D8 7F042CA8 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 0777DC 7F042CAC 46062032 */ c.eq.s $f4, $f6 -/* 0777E0 7F042CB0 00000000 */ nop -/* 0777E4 7F042CB4 45020009 */ bc1fl .L7F042CDC -/* 0777E8 7F042CB8 46005481 */ sub.s $f18, $f10, $f0 -/* 0777EC 7F042CBC C6100010 */ lwc1 $f16, 0x10($s0) -/* 0777F0 7F042CC0 8FA200C8 */ lw $v0, 0xc8($sp) -/* 0777F4 7F042CC4 C7B20098 */ lwc1 $f18, 0x98($sp) -/* 0777F8 7F042CC8 46104032 */ c.eq.s $f8, $f16 -/* 0777FC 7F042CCC 00000000 */ nop -/* 077800 7F042CD0 4503006A */ bc1tl .L7F042E7C -/* 077804 7F042CD4 E4520000 */ swc1 $f18, ($v0) -/* 077808 7F042CD8 46005481 */ sub.s $f18, $f10, $f0 -.L7F042CDC: -/* 07780C 7F042CDC C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 077810 7F042CE0 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 077814 7F042CE4 26040008 */ addiu $a0, $s0, 8 -/* 077818 7F042CE8 E7B200A4 */ swc1 $f18, 0xa4($sp) -/* 07781C 7F042CEC C606000C */ lwc1 $f6, 0xc($s0) -/* 077820 7F042CF0 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 077824 7F042CF4 8FA600C8 */ lw $a2, 0xc8($sp) -/* 077828 7F042CF8 46062201 */ sub.s $f8, $f4, $f6 -/* 07782C 7F042CFC E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 077830 7F042D00 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 077834 7F042D04 460A8481 */ sub.s $f18, $f16, $f10 -/* 077838 7F042D08 0FC09893 */ jal sub_GAME_7F02624C -/* 07783C 7F042D0C E7B200AC */ swc1 $f18, 0xac($sp) -/* 077840 7F042D10 C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* 077844 7F042D14 C7B00080 */ lwc1 $f16, 0x80($sp) -/* 077848 7F042D18 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 07784C 7F042D1C E7A4005C */ swc1 $f4, 0x5c($sp) -/* 077850 7F042D20 C6060008 */ lwc1 $f6, 8($s0) -/* 077854 7F042D24 C7B20074 */ lwc1 $f18, 0x74($sp) -/* 077858 7F042D28 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 07785C 7F042D2C E7A60060 */ swc1 $f6, 0x60($sp) -/* 077860 7F042D30 C6080010 */ lwc1 $f8, 0x10($s0) -/* 077864 7F042D34 E7B00054 */ swc1 $f16, 0x54($sp) -/* 077868 7F042D38 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 07786C 7F042D3C E7B2004C */ swc1 $f18, 0x4c($sp) -/* 077870 7F042D40 E7A40050 */ swc1 $f4, 0x50($sp) -/* 077874 7F042D44 E7A80064 */ swc1 $f8, 0x64($sp) -/* 077878 7F042D48 C6080008 */ lwc1 $f8, 8($s0) -/* 07787C 7F042D4C C7A60098 */ lwc1 $f6, 0x98($sp) -/* 077880 7F042D50 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 077884 7F042D54 27A4005C */ addiu $a0, $sp, 0x5c -/* 077888 7F042D58 46083401 */ sub.s $f16, $f6, $f8 -/* 07788C 7F042D5C 27A50054 */ addiu $a1, $sp, 0x54 -/* 077890 7F042D60 27A6004C */ addiu $a2, $sp, 0x4c -/* 077894 7F042D64 27A70044 */ addiu $a3, $sp, 0x44 -/* 077898 7F042D68 E7B00044 */ swc1 $f16, 0x44($sp) -/* 07789C 7F042D6C C6120010 */ lwc1 $f18, 0x10($s0) -/* 0778A0 7F042D70 46125101 */ sub.s $f4, $f10, $f18 -/* 0778A4 7F042D74 0FC2CCF7 */ jal sub_GAME_7F0B33DC -/* 0778A8 7F042D78 E7A40048 */ swc1 $f4, 0x48($sp) -/* 0778AC 7F042D7C C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0778B0 7F042D80 3C018005 */ lui $at, %hi(D_80052A5C) -/* 0778B4 7F042D84 C4222A5C */ lwc1 $f2, %lo(D_80052A5C)($at) -/* 0778B8 7F042D88 46004402 */ mul.s $f16, $f8, $f0 -/* 0778BC 7F042D8C 8E190014 */ lw $t9, 0x14($s0) -/* 0778C0 7F042D90 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0778C4 7F042D94 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0778C8 7F042D98 AFB900B8 */ sw $t9, 0xb8($sp) -/* 0778CC 7F042D9C C6060008 */ lwc1 $f6, 8($s0) -/* 0778D0 7F042DA0 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 0778D4 7F042DA4 46028282 */ mul.s $f10, $f16, $f2 -/* 0778D8 7F042DA8 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 0778DC 7F042DAC 2408001F */ li $t0, 31 -/* 0778E0 7F042DB0 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0778E4 7F042DB4 460A3480 */ add.s $f18, $f6, $f10 -/* 0778E8 7F042DB8 46008182 */ mul.s $f6, $f16, $f0 -/* 0778EC 7F042DBC C7B00090 */ lwc1 $f16, 0x90($sp) -/* 0778F0 7F042DC0 E7B20068 */ swc1 $f18, 0x68($sp) -/* 0778F4 7F042DC4 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0778F8 7F042DC8 8FA70068 */ lw $a3, 0x68($sp) -/* 0778FC 7F042DCC 46023282 */ mul.s $f10, $f6, $f2 -/* 077900 7F042DD0 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 077904 7F042DD4 460A4480 */ add.s $f18, $f8, $f10 -/* 077908 7F042DD8 44815000 */ mtc1 $at, $f10 -/* 07790C 7F042DDC 44804000 */ mtc1 $zero, $f8 -/* 077910 7F042DE0 E7B20070 */ swc1 $f18, 0x70($sp) -/* 077914 7F042DE4 8E060010 */ lw $a2, 0x10($s0) -/* 077918 7F042DE8 8E050008 */ lw $a1, 8($s0) -/* 07791C 7F042DEC C7A40070 */ lwc1 $f4, 0x70($sp) -/* 077920 7F042DF0 AFA80014 */ sw $t0, 0x14($sp) -/* 077924 7F042DF4 E7B00018 */ swc1 $f16, 0x18($sp) -/* 077928 7F042DF8 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 07792C 7F042DFC E7AA0024 */ swc1 $f10, 0x24($sp) -/* 077930 7F042E00 E7A80020 */ swc1 $f8, 0x20($sp) -/* 077934 7F042E04 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 077938 7F042E08 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07793C 7F042E0C 1040001F */ beqz $v0, .L7F042E8C -/* 077940 7F042E10 8FA900B8 */ lw $t1, 0xb8($sp) -/* 077944 7F042E14 1120001D */ beqz $t1, .L7F042E8C -/* 077948 7F042E18 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 07794C 7F042E1C C7B20090 */ lwc1 $f18, 0x90($sp) -/* 077950 7F042E20 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 077954 7F042E24 240A001F */ li $t2, 31 -/* 077958 7F042E28 AFAA0010 */ sw $t2, 0x10($sp) -/* 07795C 7F042E2C 8FA50068 */ lw $a1, 0x68($sp) -/* 077960 7F042E30 8FA60070 */ lw $a2, 0x70($sp) -/* 077964 7F042E34 8FA700B4 */ lw $a3, 0xb4($sp) -/* 077968 7F042E38 E7B20014 */ swc1 $f18, 0x14($sp) -/* 07796C 7F042E3C 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 077970 7F042E40 E7A40018 */ swc1 $f4, 0x18($sp) -/* 077974 7F042E44 04410011 */ bgez $v0, .L7F042E8C -/* 077978 7F042E48 C7B00068 */ lwc1 $f16, 0x68($sp) -/* 07797C 7F042E4C 8FAB00C0 */ lw $t3, 0xc0($sp) -/* 077980 7F042E50 E5700058 */ swc1 $f16, 0x58($t3) -/* 077984 7F042E54 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 077988 7F042E58 E5660060 */ swc1 $f6, 0x60($t3) -/* 07798C 7F042E5C 8FAC00B8 */ lw $t4, 0xb8($sp) -/* 077990 7F042E60 AE0C0014 */ sw $t4, 0x14($s0) -/* 077994 7F042E64 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 077998 7F042E68 E6080008 */ swc1 $f8, 8($s0) -/* 07799C 7F042E6C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 0779A0 7F042E70 10000006 */ b .L7F042E8C -/* 0779A4 7F042E74 E60A0010 */ swc1 $f10, 0x10($s0) -/* 0779A8 7F042E78 E4520000 */ swc1 $f18, ($v0) -.L7F042E7C: -/* 0779AC 7F042E7C C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 0779B0 7F042E80 E4440004 */ swc1 $f4, 4($v0) -/* 0779B4 7F042E84 C7B000A0 */ lwc1 $f16, 0xa0($sp) -/* 0779B8 7F042E88 E4500008 */ swc1 $f16, 8($v0) -.L7F042E8C: -/* 0779BC 7F042E8C C7A0006C */ lwc1 $f0, 0x6c($sp) -/* 0779C0 7F042E90 E600000C */ swc1 $f0, 0xc($s0) -/* 0779C4 7F042E94 8FAD00C0 */ lw $t5, 0xc0($sp) -/* 0779C8 7F042E98 E5A0005C */ swc1 $f0, 0x5c($t5) -/* 0779CC 7F042E9C AFA000B0 */ sw $zero, 0xb0($sp) -.L7F042EA0: -/* 0779D0 7F042EA0 8FBF0034 */ lw $ra, 0x34($sp) -.L7F042EA4: -/* 0779D4 7F042EA4 8FA200B0 */ lw $v0, 0xb0($sp) -/* 0779D8 7F042EA8 8FB00030 */ lw $s0, 0x30($sp) -/* 0779DC 7F042EAC 03E00008 */ jr $ra -/* 0779E0 7F042EB0 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F042EB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F042EB4 -/* 0779E4 7F042EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0779E8 7F042EB8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0779EC 7F042EBC 8C8E0064 */ lw $t6, 0x64($a0) -/* 0779F0 7F042EC0 8FAB0030 */ lw $t3, 0x30($sp) -/* 0779F4 7F042EC4 31CF0080 */ andi $t7, $t6, 0x80 -/* 0779F8 7F042EC8 11E0000D */ beqz $t7, .L7F042F00 -/* 0779FC 7F042ECC 00000000 */ nop -/* 077A00 7F042ED0 8C98006C */ lw $t8, 0x6c($a0) -/* 077A04 7F042ED4 8FA90030 */ lw $t1, 0x30($sp) -/* 077A08 7F042ED8 8F190000 */ lw $t9, ($t8) -/* 077A0C 7F042EDC 33280004 */ andi $t0, $t9, 4 -/* 077A10 7F042EE0 11000007 */ beqz $t0, .L7F042F00 -/* 077A14 7F042EE4 00000000 */ nop -/* 077A18 7F042EE8 8FAA0034 */ lw $t2, 0x34($sp) -/* 077A1C 7F042EEC AFA90010 */ sw $t1, 0x10($sp) -/* 077A20 7F042EF0 0FC10893 */ jal handles_projectile_motion -/* 077A24 7F042EF4 AFAA0014 */ sw $t2, 0x14($sp) -/* 077A28 7F042EF8 10000004 */ b .L7F042F0C -/* 077A2C 7F042EFC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F042F00: -/* 077A30 7F042F00 0FC10A83 */ jal sub_GAME_7F042A0C -/* 077A34 7F042F04 AFAB0010 */ sw $t3, 0x10($sp) -/* 077A38 7F042F08 8FBF001C */ lw $ra, 0x1c($sp) -.L7F042F0C: -/* 077A3C 7F042F0C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 077A40 7F042F10 03E00008 */ jr $ra -/* 077A44 7F042F14 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F042F18(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F042F18 -/* 077A48 7F042F18 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 077A4C 7F042F1C 3C038005 */ lui $v1, %hi(clock_timer) -/* 077A50 7F042F20 24638374 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c8c -/* 077A54 7F042F24 8C6E0000 */ lw $t6, ($v1) -/* 077A58 7F042F28 F7B40008 */ sdc1 $f20, 8($sp) -/* 077A5C 7F042F2C 4487A000 */ mtc1 $a3, $f20 -/* 077A60 7F042F30 F7BA0020 */ sdc1 $f26, 0x20($sp) -/* 077A64 7F042F34 F7B80018 */ sdc1 $f24, 0x18($sp) -/* 077A68 7F042F38 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 077A6C 7F042F3C 44857000 */ mtc1 $a1, $f14 -/* 077A70 7F042F40 C4C00000 */ lwc1 $f0, ($a2) -/* 077A74 7F042F44 19C0006A */ blez $t6, .L7F0430F0 -/* 077A78 7F042F48 00001025 */ move $v0, $zero -/* 077A7C 7F042F4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 077A80 7F042F50 4481D000 */ mtc1 $at, $f26 -/* 077A84 7F042F54 4480C000 */ mtc1 $zero, $f24 -/* 077A88 7F042F58 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 077A8C 7F042F5C C7A20038 */ lwc1 $f2, 0x38($sp) -/* 077A90 7F042F60 C4900000 */ lwc1 $f16, ($a0) -.L7F042F64: -/* 077A94 7F042F64 46107301 */ sub.s $f12, $f14, $f16 -/* 077A98 7F042F68 460CC03C */ c.lt.s $f24, $f12 -/* 077A9C 7F042F6C 00000000 */ nop -/* 077AA0 7F042F70 4502002E */ bc1fl .L7F04302C -/* 077AA4 7F042F74 4618003C */ c.lt.s $f0, $f24 -/* 077AA8 7F042F78 4600C03C */ c.lt.s $f24, $f0 -/* 077AAC 7F042F7C 00000000 */ nop -/* 077AB0 7F042F80 45020011 */ bc1fl .L7F042FC8 -/* 077AB4 7F042F84 4612003C */ c.lt.s $f0, $f18 -/* 077AB8 7F042F88 46000102 */ mul.s $f4, $f0, $f0 -/* 077ABC 7F042F8C 00000000 */ nop -/* 077AC0 7F042F90 461A2182 */ mul.s $f6, $f4, $f26 -/* 077AC4 7F042F94 46023203 */ div.s $f8, $f6, $f2 -/* 077AC8 7F042F98 4608603E */ c.le.s $f12, $f8 -/* 077ACC 7F042F9C 00000000 */ nop -/* 077AD0 7F042FA0 45000008 */ bc1f .L7F042FC4 -/* 077AD4 7F042FA4 00000000 */ nop -/* 077AD8 7F042FA8 46020001 */ sub.s $f0, $f0, $f2 -/* 077ADC 7F042FAC 4602003C */ c.lt.s $f0, $f2 -/* 077AE0 7F042FB0 00000000 */ nop -/* 077AE4 7F042FB4 45020014 */ bc1fl .L7F043008 -/* 077AE8 7F042FB8 4600603E */ c.le.s $f12, $f0 -/* 077AEC 7F042FBC 10000011 */ b .L7F043004 -/* 077AF0 7F042FC0 46001006 */ mov.s $f0, $f2 -.L7F042FC4: -/* 077AF4 7F042FC4 4612003C */ c.lt.s $f0, $f18 -.L7F042FC8: -/* 077AF8 7F042FC8 00000000 */ nop -/* 077AFC 7F042FCC 4502000E */ bc1fl .L7F043008 -/* 077B00 7F042FD0 4600603E */ c.le.s $f12, $f0 -/* 077B04 7F042FD4 4618003C */ c.lt.s $f0, $f24 -/* 077B08 7F042FD8 00000000 */ nop -/* 077B0C 7F042FDC 45020004 */ bc1fl .L7F042FF0 -/* 077B10 7F042FE0 46140000 */ add.s $f0, $f0, $f20 -/* 077B14 7F042FE4 10000002 */ b .L7F042FF0 -/* 077B18 7F042FE8 46020000 */ add.s $f0, $f0, $f2 -/* 077B1C 7F042FEC 46140000 */ add.s $f0, $f0, $f20 -.L7F042FF0: -/* 077B20 7F042FF0 4600903C */ c.lt.s $f18, $f0 -/* 077B24 7F042FF4 00000000 */ nop -/* 077B28 7F042FF8 45020003 */ bc1fl .L7F043008 -/* 077B2C 7F042FFC 4600603E */ c.le.s $f12, $f0 -/* 077B30 7F043000 46009006 */ mov.s $f0, $f18 -.L7F043004: -/* 077B34 7F043004 4600603E */ c.le.s $f12, $f0 -.L7F043008: -/* 077B38 7F043008 00000000 */ nop -/* 077B3C 7F04300C 45020004 */ bc1fl .L7F043020 -/* 077B40 7F043010 46008280 */ add.s $f10, $f16, $f0 -/* 077B44 7F043014 10000036 */ b .L7F0430F0 -/* 077B48 7F043018 E48E0000 */ swc1 $f14, ($a0) -/* 077B4C 7F04301C 46008280 */ add.s $f10, $f16, $f0 -.L7F043020: -/* 077B50 7F043020 1000002E */ b .L7F0430DC -/* 077B54 7F043024 E48A0000 */ swc1 $f10, ($a0) -/* 077B58 7F043028 4618003C */ c.lt.s $f0, $f24 -.L7F04302C: -/* 077B5C 7F04302C 00000000 */ nop -/* 077B60 7F043030 45020012 */ bc1fl .L7F04307C -/* 077B64 7F043034 46009587 */ neg.s $f22, $f18 -/* 077B68 7F043038 46000102 */ mul.s $f4, $f0, $f0 -/* 077B6C 7F04303C 46006287 */ neg.s $f10, $f12 -/* 077B70 7F043040 461A2182 */ mul.s $f6, $f4, $f26 -/* 077B74 7F043044 46023203 */ div.s $f8, $f6, $f2 -/* 077B78 7F043048 4608503E */ c.le.s $f10, $f8 -/* 077B7C 7F04304C 00000000 */ nop -/* 077B80 7F043050 4502000A */ bc1fl .L7F04307C -/* 077B84 7F043054 46009587 */ neg.s $f22, $f18 -/* 077B88 7F043058 46020000 */ add.s $f0, $f0, $f2 -/* 077B8C 7F04305C 46001587 */ neg.s $f22, $f2 -/* 077B90 7F043060 4600B03C */ c.lt.s $f22, $f0 -/* 077B94 7F043064 00000000 */ nop -/* 077B98 7F043068 45020015 */ bc1fl .L7F0430C0 -/* 077B9C 7F04306C 460C003E */ c.le.s $f0, $f12 -/* 077BA0 7F043070 10000012 */ b .L7F0430BC -/* 077BA4 7F043074 4600B006 */ mov.s $f0, $f22 -/* 077BA8 7F043078 46009587 */ neg.s $f22, $f18 -.L7F04307C: -/* 077BAC 7F04307C 4600B03C */ c.lt.s $f22, $f0 -/* 077BB0 7F043080 00000000 */ nop -/* 077BB4 7F043084 4502000E */ bc1fl .L7F0430C0 -/* 077BB8 7F043088 460C003E */ c.le.s $f0, $f12 -/* 077BBC 7F04308C 4600C03C */ c.lt.s $f24, $f0 -/* 077BC0 7F043090 00000000 */ nop -/* 077BC4 7F043094 45020004 */ bc1fl .L7F0430A8 -/* 077BC8 7F043098 46140001 */ sub.s $f0, $f0, $f20 -/* 077BCC 7F04309C 10000002 */ b .L7F0430A8 -/* 077BD0 7F0430A0 46020001 */ sub.s $f0, $f0, $f2 -/* 077BD4 7F0430A4 46140001 */ sub.s $f0, $f0, $f20 -.L7F0430A8: -/* 077BD8 7F0430A8 4616003C */ c.lt.s $f0, $f22 -/* 077BDC 7F0430AC 00000000 */ nop -/* 077BE0 7F0430B0 45020003 */ bc1fl .L7F0430C0 -/* 077BE4 7F0430B4 460C003E */ c.le.s $f0, $f12 -/* 077BE8 7F0430B8 4600B006 */ mov.s $f0, $f22 -.L7F0430BC: -/* 077BEC 7F0430BC 460C003E */ c.le.s $f0, $f12 -.L7F0430C0: -/* 077BF0 7F0430C0 00000000 */ nop -/* 077BF4 7F0430C4 45020004 */ bc1fl .L7F0430D8 -/* 077BF8 7F0430C8 46008100 */ add.s $f4, $f16, $f0 -/* 077BFC 7F0430CC 10000008 */ b .L7F0430F0 -/* 077C00 7F0430D0 E48E0000 */ swc1 $f14, ($a0) -/* 077C04 7F0430D4 46008100 */ add.s $f4, $f16, $f0 -.L7F0430D8: -/* 077C08 7F0430D8 E4840000 */ swc1 $f4, ($a0) -.L7F0430DC: -/* 077C0C 7F0430DC 8C6F0000 */ lw $t7, ($v1) -/* 077C10 7F0430E0 24420001 */ addiu $v0, $v0, 1 -/* 077C14 7F0430E4 004F082A */ slt $at, $v0, $t7 -/* 077C18 7F0430E8 5420FF9E */ bnezl $at, .L7F042F64 -/* 077C1C 7F0430EC C4900000 */ lwc1 $f16, ($a0) -.L7F0430F0: -/* 077C20 7F0430F0 E4C00000 */ swc1 $f0, ($a2) -/* 077C24 7F0430F4 D7BA0020 */ ldc1 $f26, 0x20($sp) -/* 077C28 7F0430F8 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 077C2C 7F0430FC D7B60010 */ ldc1 $f22, 0x10($sp) -/* 077C30 7F043100 D7B40008 */ ldc1 $f20, 8($sp) -/* 077C34 7F043104 03E00008 */ jr $ra -/* 077C38 7F043108 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04310C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A60 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80052A64 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052A68 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052A6C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052A70 -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F04310C -/* 077C3C 7F04310C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 077C40 7F043110 AFBF001C */ sw $ra, 0x1c($sp) -/* 077C44 7F043114 44856000 */ mtc1 $a1, $f12 -/* 077C48 7F043118 C4840000 */ lwc1 $f4, ($a0) -/* 077C4C 7F04311C 3C018005 */ lui $at, %hi(D_80052A60) -/* 077C50 7F043120 C4262A60 */ lwc1 $f6, %lo(D_80052A60)($at) -/* 077C54 7F043124 46046001 */ sub.s $f0, $f12, $f4 -/* 077C58 7F043128 44877000 */ mtc1 $a3, $f14 -/* 077C5C 7F04312C 3C018005 */ lui $at, %hi(D_80052A68) -/* 077C60 7F043130 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 077C64 7F043134 4606003C */ c.lt.s $f0, $f6 -/* 077C68 7F043138 44077000 */ mfc1 $a3, $f14 -/* 077C6C 7F04313C 45000005 */ bc1f .L7F043154 -/* 077C70 7F043140 00000000 */ nop -/* 077C74 7F043144 3C018005 */ lui $at, %hi(D_80052A68) -/* 077C78 7F043148 C4282A64 */ lwc1 $f8, %lo(D_80052A64)($at) -/* 077C7C 7F04314C 10000009 */ b .L7F043174 -/* 077C80 7F043150 46086300 */ add.s $f12, $f12, $f8 -.L7F043154: -/* 077C84 7F043154 C42A2A68 */ lwc1 $f10, %lo(D_80052A68)($at) -/* 077C88 7F043158 3C018005 */ lui $at, %hi(D_80052A6C) -/* 077C8C 7F04315C 4600503E */ c.le.s $f10, $f0 -/* 077C90 7F043160 00000000 */ nop -/* 077C94 7F043164 45020004 */ bc1fl .L7F043178 -/* 077C98 7F043168 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 077C9C 7F04316C C4222A6C */ lwc1 $f2, %lo(D_80052A6C)($at) -/* 077CA0 7F043170 46026301 */ sub.s $f12, $f12, $f2 -.L7F043174: -/* 077CA4 7F043174 C7B20034 */ lwc1 $f18, 0x34($sp) -.L7F043178: -/* 077CA8 7F043178 44056000 */ mfc1 $a1, $f12 -/* 077CAC 7F04317C E7B00010 */ swc1 $f16, 0x10($sp) -/* 077CB0 7F043180 AFA40020 */ sw $a0, 0x20($sp) -/* 077CB4 7F043184 0FC10BC6 */ jal sub_GAME_7F042F18 -/* 077CB8 7F043188 E7B20014 */ swc1 $f18, 0x14($sp) -/* 077CBC 7F04318C 8FA40020 */ lw $a0, 0x20($sp) -/* 077CC0 7F043190 44802000 */ mtc1 $zero, $f4 -/* 077CC4 7F043194 3C018005 */ lui $at, %hi(D_80052A70) -/* 077CC8 7F043198 C4800000 */ lwc1 $f0, ($a0) -/* 077CCC 7F04319C C4222A70 */ lwc1 $f2, %lo(D_80052A70)($at) -/* 077CD0 7F0431A0 4604003C */ c.lt.s $f0, $f4 -/* 077CD4 7F0431A4 00000000 */ nop -/* 077CD8 7F0431A8 45020005 */ bc1fl .L7F0431C0 -/* 077CDC 7F0431AC 4600103E */ c.le.s $f2, $f0 -/* 077CE0 7F0431B0 46020180 */ add.s $f6, $f0, $f2 -/* 077CE4 7F0431B4 E4860000 */ swc1 $f6, ($a0) -/* 077CE8 7F0431B8 C4800000 */ lwc1 $f0, ($a0) -/* 077CEC 7F0431BC 4600103E */ c.le.s $f2, $f0 -.L7F0431C0: -/* 077CF0 7F0431C0 00000000 */ nop -/* 077CF4 7F0431C4 45020004 */ bc1fl .L7F0431D8 -/* 077CF8 7F0431C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 077CFC 7F0431CC 46020201 */ sub.s $f8, $f0, $f2 -/* 077D00 7F0431D0 E4880000 */ swc1 $f8, ($a0) -/* 077D04 7F0431D4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0431D8: -/* 077D08 7F0431D8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 077D0C 7F0431DC 03E00008 */ jr $ra -/* 077D10 7F0431E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0431E4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A74 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052A78 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80052A7C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052A80 -.word 0x3d4ccccd /*0.050000001*/ -glabel D_80052A84 -.word 0x3cf5c28f /*0.029999999*/ -glabel D_80052A88 -.word 0x3e19999a /*0.15000001*/ -.text -glabel sub_GAME_7F0431E4 -/* 077D14 7F0431E4 27BDFEE8 */ addiu $sp, $sp, -0x118 -/* 077D18 7F0431E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 077D1C 7F0431EC AFB10018 */ sw $s1, 0x18($sp) -/* 077D20 7F0431F0 AFB00014 */ sw $s0, 0x14($sp) -/* 077D24 7F0431F4 AFA5011C */ sw $a1, 0x11c($sp) -/* 077D28 7F0431F8 8C8E0064 */ lw $t6, 0x64($a0) -/* 077D2C 7F0431FC 3C01FFFE */ li $at, 0xFFFE0000 # -nan -/* 077D30 7F043200 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 077D34 7F043204 01C17824 */ and $t7, $t6, $at -/* 077D38 7F043208 31F90080 */ andi $t9, $t7, 0x80 -/* 077D3C 7F04320C 00808825 */ move $s1, $a0 -/* 077D40 7F043210 1320010A */ beqz $t9, .L7F04363C -/* 077D44 7F043214 AC8F0064 */ sw $t7, 0x64($a0) -/* 077D48 7F043218 90880003 */ lbu $t0, 3($a0) -/* 077D4C 7F04321C 8C90006C */ lw $s0, 0x6c($a0) -/* 077D50 7F043220 24010001 */ li $at, 1 -/* 077D54 7F043224 15010009 */ bne $t0, $at, .L7F04324C -/* 077D58 7F043228 26240018 */ addiu $a0, $s1, 0x18 -/* 077D5C 7F04322C 0FC0FEDC */ jal sub_GAME_7F03FB70 -/* 077D60 7F043230 02002025 */ move $a0, $s0 -/* 077D64 7F043234 8E290064 */ lw $t1, 0x64($s1) -/* 077D68 7F043238 2401FF7F */ li $at, -129 -/* 077D6C 7F04323C AE20006C */ sw $zero, 0x6c($s1) -/* 077D70 7F043240 01215024 */ and $t2, $t1, $at -/* 077D74 7F043244 100000FD */ b .L7F04363C -/* 077D78 7F043248 AE2A0064 */ sw $t2, 0x64($s1) -.L7F04324C: -/* 077D7C 7F04324C 8E0B0000 */ lw $t3, ($s0) -/* 077D80 7F043250 2401FFFE */ li $at, -2 -/* 077D84 7F043254 AE000088 */ sw $zero, 0x88($s0) -/* 077D88 7F043258 01616024 */ and $t4, $t3, $at -/* 077D8C 7F04325C 2401FFFB */ li $at, -5 -/* 077D90 7F043260 AE0C0000 */ sw $t4, ($s0) -/* 077D94 7F043264 01817024 */ and $t6, $t4, $at -/* 077D98 7F043268 AE0E0000 */ sw $t6, ($s0) -/* 077D9C 7F04326C AFA40028 */ sw $a0, 0x28($sp) -/* 077DA0 7F043270 0FC16218 */ jal sub_GAME_7F058860 -/* 077DA4 7F043274 27A5010C */ addiu $a1, $sp, 0x10c -/* 077DA8 7F043278 27A4010C */ addiu $a0, $sp, 0x10c -/* 077DAC 7F04327C 0FC161C5 */ jal sub_GAME_7F058714 -/* 077DB0 7F043280 27A500CC */ addiu $a1, $sp, 0xcc -/* 077DB4 7F043284 26050068 */ addiu $a1, $s0, 0x68 -/* 077DB8 7F043288 AFA50024 */ sw $a1, 0x24($sp) -/* 077DBC 7F04328C 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 077DC0 7F043290 27A4010C */ addiu $a0, $sp, 0x10c -/* 077DC4 7F043294 27A400CC */ addiu $a0, $sp, 0xcc -/* 077DC8 7F043298 0FC1674E */ jal sub_GAME_7F059D38 -/* 077DCC 7F04329C 27A5008C */ addiu $a1, $sp, 0x8c -/* 077DD0 7F0432A0 27A4008C */ addiu $a0, $sp, 0x8c -/* 077DD4 7F0432A4 8FA50028 */ lw $a1, 0x28($sp) -/* 077DD8 7F0432A8 0FC16032 */ jal sub_GAME_7F0580C8 -/* 077DDC 7F0432AC 27A6004C */ addiu $a2, $sp, 0x4c -/* 077DE0 7F0432B0 C7A2004C */ lwc1 $f2, 0x4c($sp) -/* 077DE4 7F0432B4 C7AE0050 */ lwc1 $f14, 0x50($sp) -/* 077DE8 7F0432B8 C7A00054 */ lwc1 $f0, 0x54($sp) -/* 077DEC 7F0432BC 46021102 */ mul.s $f4, $f2, $f2 -/* 077DF0 7F0432C0 00000000 */ nop -/* 077DF4 7F0432C4 460E7182 */ mul.s $f6, $f14, $f14 -/* 077DF8 7F0432C8 46062200 */ add.s $f8, $f4, $f6 -/* 077DFC 7F0432CC 46000282 */ mul.s $f10, $f0, $f0 -/* 077E00 7F0432D0 0C007DF8 */ jal sqrtf -/* 077E04 7F0432D4 46085300 */ add.s $f12, $f10, $f8 -/* 077E08 7F0432D8 E60000C0 */ swc1 $f0, 0xc0($s0) -/* 077E0C 7F0432DC C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 077E10 7F0432E0 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 077E14 7F0432E4 46042182 */ mul.s $f6, $f4, $f4 -/* 077E18 7F0432E8 00000000 */ nop -/* 077E1C 7F0432EC 460A5202 */ mul.s $f8, $f10, $f10 -/* 077E20 7F0432F0 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 077E24 7F0432F4 46083100 */ add.s $f4, $f6, $f8 -/* 077E28 7F0432F8 460A5182 */ mul.s $f6, $f10, $f10 -/* 077E2C 7F0432FC 0C007DF8 */ jal sqrtf -/* 077E30 7F043300 46043300 */ add.s $f12, $f6, $f4 -/* 077E34 7F043304 E60000C4 */ swc1 $f0, 0xc4($s0) -/* 077E38 7F043308 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 077E3C 7F04330C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 077E40 7F043310 46084282 */ mul.s $f10, $f8, $f8 -/* 077E44 7F043314 00000000 */ nop -/* 077E48 7F043318 46063102 */ mul.s $f4, $f6, $f6 -/* 077E4C 7F04331C C7A60074 */ lwc1 $f6, 0x74($sp) -/* 077E50 7F043320 46045200 */ add.s $f8, $f10, $f4 -/* 077E54 7F043324 46063282 */ mul.s $f10, $f6, $f6 -/* 077E58 7F043328 0C007DF8 */ jal sqrtf -/* 077E5C 7F04332C 46085300 */ add.s $f12, $f10, $f8 -/* 077E60 7F043330 E60000C8 */ swc1 $f0, 0xc8($s0) -/* 077E64 7F043334 44808000 */ mtc1 $zero, $f16 -/* 077E68 7F043338 C6220018 */ lwc1 $f2, 0x18($s1) -/* 077E6C 7F04333C C62E0020 */ lwc1 $f14, 0x20($s1) -/* 077E70 7F043340 46101032 */ c.eq.s $f2, $f16 -/* 077E74 7F043344 00000000 */ nop -/* 077E78 7F043348 45000005 */ bc1f .L7F043360 -/* 077E7C 7F04334C 00000000 */ nop -/* 077E80 7F043350 46107032 */ c.eq.s $f14, $f16 -/* 077E84 7F043354 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077E88 7F043358 45030013 */ bc1tl .L7F0433A8 -/* 077E8C 7F04335C 44817000 */ mtc1 $at, $f14 -.L7F043360: -/* 077E90 7F043360 46021102 */ mul.s $f4, $f2, $f2 -/* 077E94 7F043364 E7A20048 */ swc1 $f2, 0x48($sp) -/* 077E98 7F043368 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 077E9C 7F04336C 460E7182 */ mul.s $f6, $f14, $f14 -/* 077EA0 7F043370 0C007DF8 */ jal sqrtf -/* 077EA4 7F043374 46062300 */ add.s $f12, $f4, $f6 -/* 077EA8 7F043378 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 077EAC 7F04337C 44819000 */ mtc1 $at, $f18 -/* 077EB0 7F043380 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 077EB4 7F043384 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 077EB8 7F043388 46009303 */ div.s $f12, $f18, $f0 -/* 077EBC 7F04338C 44808000 */ mtc1 $zero, $f16 -/* 077EC0 7F043390 460C1082 */ mul.s $f2, $f2, $f12 -/* 077EC4 7F043394 00000000 */ nop -/* 077EC8 7F043398 460C7382 */ mul.s $f14, $f14, $f12 -/* 077ECC 7F04339C 10000004 */ b .L7F0433B0 -/* 077ED0 7F0433A0 00000000 */ nop -/* 077ED4 7F0433A4 44817000 */ mtc1 $at, $f14 -.L7F0433A8: -/* 077ED8 7F0433A8 44819000 */ mtc1 $at, $f18 -/* 077EDC 7F0433AC 46008086 */ mov.s $f2, $f16 -.L7F0433B0: -/* 077EE0 7F0433B0 E7A2008C */ swc1 $f2, 0x8c($sp) -/* 077EE4 7F0433B4 E7B00090 */ swc1 $f16, 0x90($sp) -/* 077EE8 7F0433B8 E7AE0094 */ swc1 $f14, 0x94($sp) -/* 077EEC 7F0433BC E7B00098 */ swc1 $f16, 0x98($sp) -/* 077EF0 7F0433C0 C62A002C */ lwc1 $f10, 0x2c($s1) -/* 077EF4 7F0433C4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 077EF8 7F0433C8 27A4008C */ addiu $a0, $sp, 0x8c -/* 077EFC 7F0433CC 460A803E */ c.le.s $f16, $f10 -/* 077F00 7F0433D0 27A5010C */ addiu $a1, $sp, 0x10c -/* 077F04 7F0433D4 4502000C */ bc1fl .L7F043408 -/* 077F08 7F0433D8 44812000 */ mtc1 $at, $f4 -/* 077F0C 7F0433DC 46007207 */ neg.s $f8, $f14 -/* 077F10 7F0433E0 E7B0009C */ swc1 $f16, 0x9c($sp) -/* 077F14 7F0433E4 E7B200A0 */ swc1 $f18, 0xa0($sp) -/* 077F18 7F0433E8 E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 077F1C 7F0433EC E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 077F20 7F0433F0 E7A800AC */ swc1 $f8, 0xac($sp) -/* 077F24 7F0433F4 E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 077F28 7F0433F8 E7A200B4 */ swc1 $f2, 0xb4($sp) -/* 077F2C 7F0433FC 1000000B */ b .L7F04342C -/* 077F30 7F043400 E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 077F34 7F043404 44812000 */ mtc1 $at, $f4 -.L7F043408: -/* 077F38 7F043408 46001187 */ neg.s $f6, $f2 -/* 077F3C 7F04340C E7B0009C */ swc1 $f16, 0x9c($sp) -/* 077F40 7F043410 E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 077F44 7F043414 E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 077F48 7F043418 E7AE00AC */ swc1 $f14, 0xac($sp) -/* 077F4C 7F04341C E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 077F50 7F043420 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 077F54 7F043424 E7B000B8 */ swc1 $f16, 0xb8($sp) -/* 077F58 7F043428 E7A400A0 */ swc1 $f4, 0xa0($sp) -.L7F04342C: -/* 077F5C 7F04342C E7B000BC */ swc1 $f16, 0xbc($sp) -/* 077F60 7F043430 E7B000C0 */ swc1 $f16, 0xc0($sp) -/* 077F64 7F043434 E7B000C4 */ swc1 $f16, 0xc4($sp) -/* 077F68 7F043438 0FC16218 */ jal sub_GAME_7F058860 -/* 077F6C 7F04343C E7B200C8 */ swc1 $f18, 0xc8($sp) -/* 077F70 7F043440 26050078 */ addiu $a1, $s0, 0x78 -/* 077F74 7F043444 AFA50028 */ sw $a1, 0x28($sp) -/* 077F78 7F043448 0FC16CFD */ jal sub_GAME_7F05B3F4 -/* 077F7C 7F04344C 27A4010C */ addiu $a0, $sp, 0x10c -/* 077F80 7F043450 8FA50028 */ lw $a1, 0x28($sp) -/* 077F84 7F043454 0FC16F84 */ jal sub_GAME_7F05BE10 -/* 077F88 7F043458 8FA40024 */ lw $a0, 0x24($sp) -/* 077F8C 7F04345C 44808000 */ mtc1 $zero, $f16 -/* 077F90 7F043460 00000000 */ nop -/* 077F94 7F043464 E6100060 */ swc1 $f16, 0x60($s0) -/* 077F98 7F043468 C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 077F9C 7F04346C C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 077FA0 7F043470 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 077FA4 7F043474 46085102 */ mul.s $f4, $f10, $f8 -/* 077FA8 7F043478 C7AA00D0 */ lwc1 $f10, 0xd0($sp) -/* 077FAC 7F04347C 460A3202 */ mul.s $f8, $f6, $f10 -/* 077FB0 7F043480 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 077FB4 7F043484 46082180 */ add.s $f6, $f4, $f8 -/* 077FB8 7F043488 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 077FBC 7F04348C 46045202 */ mul.s $f8, $f10, $f4 -/* 077FC0 7F043490 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 077FC4 7F043494 46064300 */ add.s $f12, $f8, $f6 -/* 077FC8 7F043498 44808000 */ mtc1 $zero, $f16 -/* 077FCC 7F04349C 46000486 */ mov.s $f18, $f0 -/* 077FD0 7F0434A0 4600803C */ c.lt.s $f16, $f0 -/* 077FD4 7F0434A4 00000000 */ nop -/* 077FD8 7F0434A8 45020018 */ bc1fl .L7F04350C -/* 077FDC 7F0434AC 4600803C */ c.lt.s $f16, $f0 -/* 077FE0 7F0434B0 C622001C */ lwc1 $f2, 0x1c($s1) -/* 077FE4 7F0434B4 8FA2011C */ lw $v0, 0x11c($sp) -/* 077FE8 7F0434B8 4602803C */ c.lt.s $f16, $f2 -/* 077FEC 7F0434BC 00000000 */ nop -/* 077FF0 7F0434C0 45020012 */ bc1fl .L7F04350C -/* 077FF4 7F0434C4 4600803C */ c.lt.s $f16, $f0 -/* 077FF8 7F0434C8 C44A0004 */ lwc1 $f10, 4($v0) -/* 077FFC 7F0434CC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 078000 7F0434D0 4602503C */ c.lt.s $f10, $f2 -/* 078004 7F0434D4 00000000 */ nop -/* 078008 7F0434D8 4502000C */ bc1fl .L7F04350C -/* 07800C 7F0434DC 4600803C */ c.lt.s $f16, $f0 -/* 078010 7F0434E0 44812000 */ mtc1 $at, $f4 -/* 078014 7F0434E4 3C018005 */ lui $at, %hi(D_80052A74) -/* 078018 7F0434E8 C4262A74 */ lwc1 $f6, %lo(D_80052A74)($at) -/* 07801C 7F0434EC 46040202 */ mul.s $f8, $f0, $f4 -/* 078020 7F0434F0 3C018005 */ lui $at, %hi(D_80052A78) -/* 078024 7F0434F4 C4242A78 */ lwc1 $f4, %lo(D_80052A78)($at) -/* 078028 7F0434F8 46064283 */ div.s $f10, $f8, $f6 -/* 07802C 7F0434FC 460A2203 */ div.s $f8, $f4, $f10 -/* 078030 7F043500 10000037 */ b .L7F0435E0 -/* 078034 7F043504 E6080064 */ swc1 $f8, 0x64($s0) -/* 078038 7F043508 4600803C */ c.lt.s $f16, $f0 -.L7F04350C: -/* 07803C 7F04350C 8FA2011C */ lw $v0, 0x11c($sp) -/* 078040 7F043510 C622001C */ lwc1 $f2, 0x1c($s1) -/* 078044 7F043514 45000013 */ bc1f .L7F043564 -/* 078048 7F043518 C44E0004 */ lwc1 $f14, 4($v0) -/* 07804C 7F04351C 4610103C */ c.lt.s $f2, $f16 -/* 078050 7F043520 00000000 */ nop -/* 078054 7F043524 45020010 */ bc1fl .L7F043568 -/* 078058 7F043528 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 07805C 7F04352C 460E103C */ c.lt.s $f2, $f14 -/* 078060 7F043530 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 078064 7F043534 4502000C */ bc1fl .L7F043568 -/* 078068 7F043538 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 07806C 7F04353C 44813000 */ mtc1 $at, $f6 -/* 078070 7F043540 3C018005 */ lui $at, %hi(D_80052A7C) -/* 078074 7F043544 C42A2A7C */ lwc1 $f10, %lo(D_80052A7C)($at) -/* 078078 7F043548 46060102 */ mul.s $f4, $f0, $f6 -/* 07807C 7F04354C 3C018005 */ lui $at, %hi(D_80052A80) -/* 078080 7F043550 C4262A80 */ lwc1 $f6, %lo(D_80052A80)($at) -/* 078084 7F043554 460A2203 */ div.s $f8, $f4, $f10 -/* 078088 7F043558 46083103 */ div.s $f4, $f6, $f8 -/* 07808C 7F04355C 10000020 */ b .L7F0435E0 -/* 078090 7F043560 E6040064 */ swc1 $f4, 0x64($s0) -.L7F043564: -/* 078094 7F043564 C62A0020 */ lwc1 $f10, 0x20($s1) -.L7F043568: -/* 078098 7F043568 C4460008 */ lwc1 $f6, 8($v0) -/* 07809C 7F04356C C4440000 */ lwc1 $f4, ($v0) -/* 0780A0 7F043570 8E2F0014 */ lw $t7, 0x14($s1) -/* 0780A4 7F043574 46065202 */ mul.s $f8, $f10, $f6 -/* 0780A8 7F043578 C62A0018 */ lwc1 $f10, 0x18($s1) -/* 0780AC 7F04357C C5E00014 */ lwc1 $f0, 0x14($t7) -/* 0780B0 7F043580 E7B20030 */ swc1 $f18, 0x30($sp) -/* 0780B4 7F043584 460A2182 */ mul.s $f6, $f4, $f10 -/* 0780B8 7F043588 00000000 */ nop -/* 0780BC 7F04358C 46027102 */ mul.s $f4, $f14, $f2 -/* 0780C0 7F043590 46043280 */ add.s $f10, $f6, $f4 -/* 0780C4 7F043594 46000102 */ mul.s $f4, $f0, $f0 -/* 0780C8 7F043598 460A4180 */ add.s $f6, $f8, $f10 -/* 0780CC 7F04359C 0FC16B2C */ jal sub_GAME_7F05ACB0 -/* 0780D0 7F0435A0 46043303 */ div.s $f12, $f6, $f4 -/* 0780D4 7F0435A4 44808000 */ mtc1 $zero, $f16 -/* 0780D8 7F0435A8 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 0780DC 7F0435AC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 0780E0 7F0435B0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 0780E4 7F0435B4 46109032 */ c.eq.s $f18, $f16 -/* 0780E8 7F0435B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0780EC 7F0435BC 46080083 */ div.s $f2, $f0, $f8 -/* 0780F0 7F0435C0 45030005 */ bc1tl .L7F0435D8 -/* 0780F4 7F0435C4 44813000 */ mtc1 $at, $f6 -/* 0780F8 7F0435C8 46121283 */ div.s $f10, $f2, $f18 -/* 0780FC 7F0435CC 10000004 */ b .L7F0435E0 -/* 078100 7F0435D0 E60A0064 */ swc1 $f10, 0x64($s0) -/* 078104 7F0435D4 44813000 */ mtc1 $at, $f6 -.L7F0435D8: -/* 078108 7F0435D8 00000000 */ nop -/* 07810C 7F0435DC E6060064 */ swc1 $f6, 0x64($s0) -.L7F0435E0: -/* 078110 7F0435E0 C6000064 */ lwc1 $f0, 0x64($s0) -/* 078114 7F0435E4 3C018005 */ lui $at, %hi(D_80052A84) -/* 078118 7F0435E8 4610003C */ c.lt.s $f0, $f16 -/* 07811C 7F0435EC 00000000 */ nop -/* 078120 7F0435F0 45000004 */ bc1f .L7F043604 -/* 078124 7F0435F4 00000000 */ nop -/* 078128 7F0435F8 46000107 */ neg.s $f4, $f0 -/* 07812C 7F0435FC E6040064 */ swc1 $f4, 0x64($s0) -/* 078130 7F043600 C6000064 */ lwc1 $f0, 0x64($s0) -.L7F043604: -/* 078134 7F043604 C4222A84 */ lwc1 $f2, %lo(D_80052A84)($at) -/* 078138 7F043608 3C018005 */ lui $at, %hi(D_80052A88) -/* 07813C 7F04360C 4602003C */ c.lt.s $f0, $f2 -/* 078140 7F043610 00000000 */ nop -/* 078144 7F043614 45000003 */ bc1f .L7F043624 -/* 078148 7F043618 00000000 */ nop -/* 07814C 7F04361C 10000007 */ b .L7F04363C -/* 078150 7F043620 E6020064 */ swc1 $f2, 0x64($s0) -.L7F043624: -/* 078154 7F043624 C4222A88 */ lwc1 $f2, %lo(D_80052A88)($at) -/* 078158 7F043628 4600103C */ c.lt.s $f2, $f0 -/* 07815C 7F04362C 00000000 */ nop -/* 078160 7F043630 45020003 */ bc1fl .L7F043640 -/* 078164 7F043634 8FBF001C */ lw $ra, 0x1c($sp) -/* 078168 7F043638 E6020064 */ swc1 $f2, 0x64($s0) -.L7F04363C: -/* 07816C 7F04363C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F043640: -/* 078170 7F043640 8FB00014 */ lw $s0, 0x14($sp) -/* 078174 7F043644 8FB10018 */ lw $s1, 0x18($sp) -/* 078178 7F043648 03E00008 */ jr $ra -/* 07817C 7F04364C 27BD0118 */ addiu $sp, $sp, 0x118 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F043650(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F043650 -/* 078180 7F043650 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 078184 7F043654 AFBF001C */ sw $ra, 0x1c($sp) -/* 078188 7F043658 AFB00018 */ sw $s0, 0x18($sp) -/* 07818C 7F04365C 8C820064 */ lw $v0, 0x64($a0) -/* 078190 7F043660 00808025 */ move $s0, $a0 -/* 078194 7F043664 304E0080 */ andi $t6, $v0, 0x80 -/* 078198 7F043668 51C0006F */ beql $t6, $zero, .L7F043828 -/* 07819C 7F04366C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0781A0 7F043670 8C83006C */ lw $v1, 0x6c($a0) -/* 0781A4 7F043674 2401FFDF */ li $at, -33 -/* 0781A8 7F043678 8C6F0000 */ lw $t7, ($v1) -/* 0781AC 7F04367C 31F80001 */ andi $t8, $t7, 1 -/* 0781B0 7F043680 53000052 */ beql $t8, $zero, .L7F0437CC -/* 0781B4 7F043684 00414024 */ and $t0, $v0, $at -/* 0781B8 7F043688 8C790090 */ lw $t9, 0x90($v1) -/* 0781BC 7F04368C 30480020 */ andi $t0, $v0, 0x20 -/* 0781C0 7F043690 5F20004E */ bgtzl $t9, .L7F0437CC -/* 0781C4 7F043694 00414024 */ and $t0, $v0, $at -/* 0781C8 7F043698 1100004B */ beqz $t0, .L7F0437C8 -/* 0781CC 7F04369C 3C0A8003 */ lui $t2, %hi(Throwing_knife_SFX) -/* 0781D0 7F0436A0 254A0B2C */ addiu $t2, %lo(Throwing_knife_SFX) # addiu $t2, $t2, 0xb2c -/* 0781D4 7F0436A4 8D410000 */ lw $at, ($t2) -/* 0781D8 7F0436A8 27A90038 */ addiu $t1, $sp, 0x38 -/* 0781DC 7F0436AC AD210000 */ sw $at, ($t1) -/* 0781E0 7F0436B0 95410004 */ lhu $at, 4($t2) -/* 0781E4 7F0436B4 A5210004 */ sh $at, 4($t1) -/* 0781E8 7F0436B8 8C8D006C */ lw $t5, 0x6c($a0) -/* 0781EC 7F0436BC 8DAE00A4 */ lw $t6, 0xa4($t5) -/* 0781F0 7F0436C0 0C002914 */ jal get_random_value -/* 0781F4 7F0436C4 AFAE0034 */ sw $t6, 0x34($sp) -/* 0781F8 7F0436C8 24010003 */ li $at, 3 -/* 0781FC 7F0436CC 0041001B */ divu $zero, $v0, $at -/* 078200 7F0436D0 00007810 */ mfhi $t7 -/* 078204 7F0436D4 AFAF0030 */ sw $t7, 0x30($sp) -/* 078208 7F0436D8 8E03006C */ lw $v1, 0x6c($s0) -/* 07820C 7F0436DC 3C198005 */ lui $t9, %hi(global_timer) -/* 078210 7F0436E0 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 078214 7F0436E4 8C7800A0 */ lw $t8, 0xa0($v1) -/* 078218 7F0436E8 8FA70034 */ lw $a3, 0x34($sp) -/* 07821C 7F0436EC 2728FFFA */ addiu $t0, $t9, -6 -/* 078220 7F0436F0 0308082A */ slt $at, $t8, $t0 -/* 078224 7F0436F4 1020000D */ beqz $at, .L7F04372C -/* 078228 7F0436F8 00075880 */ sll $t3, $a3, 2 -/* 07822C 7F0436FC 006B4821 */ addu $t1, $v1, $t3 -/* 078230 7F043700 8D240098 */ lw $a0, 0x98($t1) -/* 078234 7F043704 5080000A */ beql $a0, $zero, .L7F043730 -/* 078238 7F043708 8FA70034 */ lw $a3, 0x34($sp) -/* 07823C 7F04370C 0C00237C */ jal sfxGetArg0Unk3F -/* 078240 7F043710 AFAB002C */ sw $t3, 0x2c($sp) -/* 078244 7F043714 10400005 */ beqz $v0, .L7F04372C -/* 078248 7F043718 8FA7002C */ lw $a3, 0x2c($sp) -/* 07824C 7F04371C 8E0A006C */ lw $t2, 0x6c($s0) -/* 078250 7F043720 01476021 */ addu $t4, $t2, $a3 -/* 078254 7F043724 0C002408 */ jal sfxDeactivate -/* 078258 7F043728 8D840098 */ lw $a0, 0x98($t4) -.L7F04372C: -/* 07825C 7F04372C 8FA70034 */ lw $a3, 0x34($sp) -.L7F043730: -/* 078260 7F043730 8E0E006C */ lw $t6, 0x6c($s0) -/* 078264 7F043734 00076880 */ sll $t5, $a3, 2 -/* 078268 7F043738 01CD7821 */ addu $t7, $t6, $t5 -/* 07826C 7F04373C 8DF90098 */ lw $t9, 0x98($t7) -/* 078270 7F043740 57200039 */ bnezl $t9, .L7F043828 -/* 078274 7F043744 8FBF001C */ lw $ra, 0x1c($sp) -/* 078278 7F043748 0FC2FF01 */ jal get_controls_locked_flag -/* 07827C 7F04374C AFAD002C */ sw $t5, 0x2c($sp) -/* 078280 7F043750 14400034 */ bnez $v0, .L7F043824 -/* 078284 7F043754 8FA7002C */ lw $a3, 0x2c($sp) -/* 078288 7F043758 8FB80030 */ lw $t8, 0x30($sp) -/* 07828C 7F04375C 8E0B006C */ lw $t3, 0x6c($s0) -/* 078290 7F043760 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 078294 7F043764 00184040 */ sll $t0, $t8, 1 -/* 078298 7F043768 03A82821 */ addu $a1, $sp, $t0 -/* 07829C 7F04376C 84A50038 */ lh $a1, 0x38($a1) -/* 0782A0 7F043770 01673021 */ addu $a2, $t3, $a3 -/* 0782A4 7F043774 24C60098 */ addiu $a2, $a2, 0x98 -/* 0782A8 7F043778 AFA7002C */ sw $a3, 0x2c($sp) -/* 0782AC 7F04377C 0C002382 */ jal play_sfx_a1 -/* 0782B0 7F043780 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0782B4 7F043784 8FA7002C */ lw $a3, 0x2c($sp) -/* 0782B8 7F043788 8E09006C */ lw $t1, 0x6c($s0) -/* 0782BC 7F04378C 8E050010 */ lw $a1, 0x10($s0) -/* 0782C0 7F043790 01275021 */ addu $t2, $t1, $a3 -/* 0782C4 7F043794 8D440098 */ lw $a0, 0x98($t2) -/* 0782C8 7F043798 0FC14E84 */ jal sub_GAME_7F053A10 -/* 0782CC 7F04379C 24A50008 */ addiu $a1, $a1, 8 -/* 0782D0 7F0437A0 3C0C8005 */ lui $t4, %hi(global_timer) -/* 0782D4 7F0437A4 8D8C837C */ lw $t4, %lo(global_timer)($t4) -/* 0782D8 7F0437A8 8E0D006C */ lw $t5, 0x6c($s0) -/* 0782DC 7F0437AC 240F0001 */ li $t7, 1 -/* 0782E0 7F0437B0 ADAC00A0 */ sw $t4, 0xa0($t5) -/* 0782E4 7F0437B4 8FAE0034 */ lw $t6, 0x34($sp) -/* 0782E8 7F0437B8 8E18006C */ lw $t8, 0x6c($s0) -/* 0782EC 7F0437BC 01EEC823 */ subu $t9, $t7, $t6 -/* 0782F0 7F0437C0 10000018 */ b .L7F043824 -/* 0782F4 7F0437C4 AF1900A4 */ sw $t9, 0xa4($t8) -.L7F0437C8: -/* 0782F8 7F0437C8 00414024 */ and $t0, $v0, $at -.L7F0437CC: -/* 0782FC 7F0437CC AE080064 */ sw $t0, 0x64($s0) -/* 078300 7F0437D0 8C640098 */ lw $a0, 0x98($v1) -/* 078304 7F0437D4 50800009 */ beql $a0, $zero, .L7F0437FC -/* 078308 7F0437D8 8E09006C */ lw $t1, 0x6c($s0) -/* 07830C 7F0437DC 0C00237C */ jal sfxGetArg0Unk3F -/* 078310 7F0437E0 00000000 */ nop -/* 078314 7F0437E4 50400005 */ beql $v0, $zero, .L7F0437FC -/* 078318 7F0437E8 8E09006C */ lw $t1, 0x6c($s0) -/* 07831C 7F0437EC 8E0B006C */ lw $t3, 0x6c($s0) -/* 078320 7F0437F0 0C002408 */ jal sfxDeactivate -/* 078324 7F0437F4 8D640098 */ lw $a0, 0x98($t3) -/* 078328 7F0437F8 8E09006C */ lw $t1, 0x6c($s0) -.L7F0437FC: -/* 07832C 7F0437FC 8D24009C */ lw $a0, 0x9c($t1) -/* 078330 7F043800 50800009 */ beql $a0, $zero, .L7F043828 -/* 078334 7F043804 8FBF001C */ lw $ra, 0x1c($sp) -/* 078338 7F043808 0C00237C */ jal sfxGetArg0Unk3F -/* 07833C 7F04380C 00000000 */ nop -/* 078340 7F043810 50400005 */ beql $v0, $zero, .L7F043828 -/* 078344 7F043814 8FBF001C */ lw $ra, 0x1c($sp) -/* 078348 7F043818 8E0A006C */ lw $t2, 0x6c($s0) -/* 07834C 7F04381C 0C002408 */ jal sfxDeactivate -/* 078350 7F043820 8D44009C */ lw $a0, 0x9c($t2) -.L7F043824: -/* 078354 7F043824 8FBF001C */ lw $ra, 0x1c($sp) -.L7F043828: -/* 078358 7F043828 8FB00018 */ lw $s0, 0x18($sp) -/* 07835C 7F04382C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 078360 7F043830 03E00008 */ jr $ra -/* 078364 7F043834 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F043838(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052A8C -.word 0xbfc90fdb /*-1.5707964*/ -glabel D_80052A90 -.word 0xbfc90fdb /*-1.5707964*/ -.text -glabel sub_GAME_7F043838 -/* 078368 7F043838 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 07836C 7F04383C AFBF0014 */ sw $ra, 0x14($sp) -/* 078370 7F043840 AFA5012C */ sw $a1, 0x12c($sp) -/* 078374 7F043844 C4820000 */ lwc1 $f2, ($a0) -/* 078378 7F043848 C48E0004 */ lwc1 $f14, 4($a0) -/* 07837C 7F04384C C4800008 */ lwc1 $f0, 8($a0) -/* 078380 7F043850 46021102 */ mul.s $f4, $f2, $f2 -/* 078384 7F043854 AFA40128 */ sw $a0, 0x128($sp) -/* 078388 7F043858 460E7182 */ mul.s $f6, $f14, $f14 -/* 07838C 7F04385C 46062200 */ add.s $f8, $f4, $f6 -/* 078390 7F043860 46000282 */ mul.s $f10, $f0, $f0 -/* 078394 7F043864 0C007DF8 */ jal sqrtf -/* 078398 7F043868 46085300 */ add.s $f12, $f10, $f8 -/* 07839C 7F04386C 8FA40128 */ lw $a0, 0x128($sp) -/* 0783A0 7F043870 44801000 */ mtc1 $zero, $f2 -/* 0783A4 7F043874 C4840000 */ lwc1 $f4, ($a0) -/* 0783A8 7F043878 C4860004 */ lwc1 $f6, 4($a0) -/* 0783AC 7F04387C C48A0008 */ lwc1 $f10, 8($a0) -/* 0783B0 7F043880 46002383 */ div.s $f14, $f4, $f0 -/* 0783B4 7F043884 46003483 */ div.s $f18, $f6, $f0 -/* 0783B8 7F043888 46027032 */ c.eq.s $f14, $f2 -/* 0783BC 7F04388C 00000000 */ nop -/* 0783C0 7F043890 4500000C */ bc1f .L7F0438C4 -/* 0783C4 7F043894 46005403 */ div.s $f16, $f10, $f0 -/* 0783C8 7F043898 46028032 */ c.eq.s $f16, $f2 -/* 0783CC 7F04389C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0783D0 7F0438A0 45000008 */ bc1f .L7F0438C4 -/* 0783D4 7F0438A4 00000000 */ nop -/* 0783D8 7F0438A8 44814000 */ mtc1 $at, $f8 -/* 0783DC 7F0438AC E7A20124 */ swc1 $f2, 0x124($sp) -/* 0783E0 7F0438B0 E7A20120 */ swc1 $f2, 0x120($sp) -/* 0783E4 7F0438B4 E7B2011C */ swc1 $f18, 0x11c($sp) -/* 0783E8 7F0438B8 E7A20114 */ swc1 $f2, 0x114($sp) -/* 0783EC 7F0438BC 10000016 */ b .L7F043918 -/* 0783F0 7F0438C0 E7A80118 */ swc1 $f8, 0x118($sp) -.L7F0438C4: -/* 0783F4 7F0438C4 460E7102 */ mul.s $f4, $f14, $f14 -/* 0783F8 7F0438C8 E7AE010C */ swc1 $f14, 0x10c($sp) -/* 0783FC 7F0438CC E7B00104 */ swc1 $f16, 0x104($sp) -/* 078400 7F0438D0 46108182 */ mul.s $f6, $f16, $f16 -/* 078404 7F0438D4 E7B20108 */ swc1 $f18, 0x108($sp) -/* 078408 7F0438D8 0C007DF8 */ jal sqrtf -/* 07840C 7F0438DC 46062300 */ add.s $f12, $f4, $f6 -/* 078410 7F0438E0 C7AE010C */ lwc1 $f14, 0x10c($sp) -/* 078414 7F0438E4 C7B00104 */ lwc1 $f16, 0x104($sp) -/* 078418 7F0438E8 C7B20108 */ lwc1 $f18, 0x108($sp) -/* 07841C 7F0438EC 46007083 */ div.s $f2, $f14, $f0 -/* 078420 7F0438F0 46000107 */ neg.s $f4, $f0 -/* 078424 7F0438F4 E7A40120 */ swc1 $f4, 0x120($sp) -/* 078428 7F0438F8 46008303 */ div.s $f12, $f16, $f0 -/* 07842C 7F0438FC 46029202 */ mul.s $f8, $f18, $f2 -/* 078430 7F043900 46001287 */ neg.s $f10, $f2 -/* 078434 7F043904 E7AA0114 */ swc1 $f10, 0x114($sp) -/* 078438 7F043908 E7A80124 */ swc1 $f8, 0x124($sp) -/* 07843C 7F04390C 460C9182 */ mul.s $f6, $f18, $f12 -/* 078440 7F043910 E7AC0118 */ swc1 $f12, 0x118($sp) -/* 078444 7F043914 E7A6011C */ swc1 $f6, 0x11c($sp) -.L7F043918: -/* 078448 7F043918 C7AC0118 */ lwc1 $f12, 0x118($sp) -/* 07844C 7F04391C 0FC16A8C */ jal convert_angle_using_inverse -/* 078450 7F043920 C7AE0114 */ lwc1 $f14, 0x114($sp) -/* 078454 7F043924 E7A000F4 */ swc1 $f0, 0xf4($sp) -/* 078458 7F043928 46000307 */ neg.s $f12, $f0 -/* 07845C 7F04392C 0FC1617F */ jal sub_GAME_7F0585FC -/* 078460 7F043930 27A500B0 */ addiu $a1, $sp, 0xb0 -/* 078464 7F043934 C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 078468 7F043938 C7A80120 */ lwc1 $f8, 0x120($sp) -/* 07846C 7F04393C C7A4011C */ lwc1 $f4, 0x11c($sp) -/* 078470 7F043940 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 078474 7F043944 27A50024 */ addiu $a1, $sp, 0x24 -/* 078478 7F043948 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 07847C 7F04394C E7A80028 */ swc1 $f8, 0x28($sp) -/* 078480 7F043950 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 078484 7F043954 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 078488 7F043958 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 07848C 7F04395C 0FC16A8C */ jal convert_angle_using_inverse -/* 078490 7F043960 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 078494 7F043964 3C018005 */ lui $at, %hi(D_80052A8C) -/* 078498 7F043968 C4262A8C */ lwc1 $f6, %lo(D_80052A8C)($at) -/* 07849C 7F04396C C7AA00F4 */ lwc1 $f10, 0xf4($sp) -/* 0784A0 7F043970 E7A000F0 */ swc1 $f0, 0xf0($sp) -/* 0784A4 7F043974 27A50070 */ addiu $a1, $sp, 0x70 -/* 0784A8 7F043978 0FC1617F */ jal sub_GAME_7F0585FC -/* 0784AC 7F04397C 460A3300 */ add.s $f12, $f6, $f10 -/* 0784B0 7F043980 3C018005 */ lui $at, %hi(D_80052A90) -/* 0784B4 7F043984 C4282A90 */ lwc1 $f8, %lo(D_80052A90)($at) -/* 0784B8 7F043988 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 0784BC 7F04398C 27A50030 */ addiu $a1, $sp, 0x30 -/* 0784C0 7F043990 0FC1615C */ jal sub_GAME_7F058570 -/* 0784C4 7F043994 46044301 */ sub.s $f12, $f8, $f4 -/* 0784C8 7F043998 27A40070 */ addiu $a0, $sp, 0x70 -/* 0784CC 7F04399C 27A50030 */ addiu $a1, $sp, 0x30 -/* 0784D0 7F0439A0 0FC16032 */ jal sub_GAME_7F0580C8 -/* 0784D4 7F0439A4 8FA6012C */ lw $a2, 0x12c($sp) -/* 0784D8 7F0439A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0784DC 7F0439AC 27BD0128 */ addiu $sp, $sp, 0x128 -/* 0784E0 7F0439B0 03E00008 */ jr $ra -/* 0784E4 7F0439B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0439B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0439B8 -/* 0784E8 7F0439B8 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0784EC 7F0439BC AFB00018 */ sw $s0, 0x18($sp) -/* 0784F0 7F0439C0 00808025 */ move $s0, $a0 -/* 0784F4 7F0439C4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0784F8 7F0439C8 AFA5006C */ sw $a1, 0x6c($sp) -/* 0784FC 7F0439CC AFA60070 */ sw $a2, 0x70($sp) -/* 078500 7F0439D0 27A50028 */ addiu $a1, $sp, 0x28 -/* 078504 7F0439D4 0FC10E0E */ jal sub_GAME_7F043838 -/* 078508 7F0439D8 00E02025 */ move $a0, $a3 -/* 07850C 7F0439DC 8E0E0014 */ lw $t6, 0x14($s0) -/* 078510 7F0439E0 27A50028 */ addiu $a1, $sp, 0x28 -/* 078514 7F0439E4 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 078518 7F0439E8 C5CC0014 */ lwc1 $f12, 0x14($t6) -/* 07851C 7F0439EC 02002025 */ move $a0, $s0 -/* 078520 7F0439F0 8FA5006C */ lw $a1, 0x6c($sp) -/* 078524 7F0439F4 27A60028 */ addiu $a2, $sp, 0x28 -/* 078528 7F0439F8 0FC101D5 */ jal sub_GAME_7F040754 -/* 07852C 7F0439FC 8FA70070 */ lw $a3, 0x70($sp) -/* 078530 7F043A00 8E0F0014 */ lw $t7, 0x14($s0) -/* 078534 7F043A04 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 078538 7F043A08 8DE40008 */ lw $a0, 8($t7) -/* 07853C 7F043A0C 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 078540 7F043A10 00402025 */ move $a0, $v0 -/* 078544 7F043A14 C6060028 */ lwc1 $f6, 0x28($s0) -/* 078548 7F043A18 C6040058 */ lwc1 $f4, 0x58($s0) -/* 07854C 7F043A1C C612002C */ lwc1 $f18, 0x2c($s0) -/* 078550 7F043A20 46060202 */ mul.s $f8, $f0, $f6 -/* 078554 7F043A24 C610005C */ lwc1 $f16, 0x5c($s0) -/* 078558 7F043A28 02002025 */ move $a0, $s0 -/* 07855C 7F043A2C 46120182 */ mul.s $f6, $f0, $f18 -/* 078560 7F043A30 46082281 */ sub.s $f10, $f4, $f8 -/* 078564 7F043A34 C6080060 */ lwc1 $f8, 0x60($s0) -/* 078568 7F043A38 46068101 */ sub.s $f4, $f16, $f6 -/* 07856C 7F043A3C E60A0058 */ swc1 $f10, 0x58($s0) -/* 078570 7F043A40 C60A0030 */ lwc1 $f10, 0x30($s0) -/* 078574 7F043A44 E604005C */ swc1 $f4, 0x5c($s0) -/* 078578 7F043A48 460A0482 */ mul.s $f18, $f0, $f10 -/* 07857C 7F043A4C 46124401 */ sub.s $f16, $f8, $f18 -/* 078580 7F043A50 0FC10121 */ jal sub_GAME_7F040484 -/* 078584 7F043A54 E6100060 */ swc1 $f16, 0x60($s0) -/* 078588 7F043A58 8FBF001C */ lw $ra, 0x1c($sp) -/* 07858C 7F043A5C 8FB00018 */ lw $s0, 0x18($sp) -/* 078590 7F043A60 27BD0068 */ addiu $sp, $sp, 0x68 -/* 078594 7F043A64 03E00008 */ jr $ra -/* 078598 7F043A68 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F043A6C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F043A6C -/* 07859C 7F043A6C 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 0785A0 7F043A70 AFBF001C */ sw $ra, 0x1c($sp) -/* 0785A4 7F043A74 AFB10018 */ sw $s1, 0x18($sp) -/* 0785A8 7F043A78 AFB00014 */ sw $s0, 0x14($sp) -/* 0785AC 7F043A7C AFA500F4 */ sw $a1, 0xf4($sp) -/* 0785B0 7F043A80 AFA600F8 */ sw $a2, 0xf8($sp) -/* 0785B4 7F043A84 AFA700FC */ sw $a3, 0xfc($sp) -/* 0785B8 7F043A88 90AF0001 */ lbu $t7, 1($a1) -/* 0785BC 7F043A8C 00808825 */ move $s1, $a0 -/* 0785C0 7F043A90 31F80002 */ andi $t8, $t7, 2 -/* 0785C4 7F043A94 53000034 */ beql $t8, $zero, .L7F043B68 -/* 0785C8 7F043A98 00001025 */ move $v0, $zero -/* 0785CC 7F043A9C 0FC0FFA6 */ jal sub_GAME_7F03FE98 -/* 0785D0 7F043AA0 8C900004 */ lw $s0, 4($a0) -/* 0785D4 7F043AA4 1040002F */ beqz $v0, .L7F043B64 -/* 0785D8 7F043AA8 AE02006C */ sw $v0, 0x6c($s0) -/* 0785DC 7F043AAC 8FA400F8 */ lw $a0, 0xf8($sp) -/* 0785E0 7F043AB0 8FA500FC */ lw $a1, 0xfc($sp) -/* 0785E4 7F043AB4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 0785E8 7F043AB8 00003025 */ move $a2, $zero -/* 0785EC 7F043ABC AFA20028 */ sw $v0, 0x28($sp) -/* 0785F0 7F043AC0 8E190064 */ lw $t9, 0x64($s0) -/* 0785F4 7F043AC4 02202025 */ move $a0, $s1 -/* 0785F8 7F043AC8 37280040 */ ori $t0, $t9, 0x40 -/* 0785FC 7F043ACC 0FC0F863 */ jal sub_GAME_7F03E18C -/* 078600 7F043AD0 AE080064 */ sw $t0, 0x64($s0) -/* 078604 7F043AD4 0FC0E94E */ jal sub_GAME_7F03A538 -/* 078608 7F043AD8 02202025 */ move $a0, $s1 -/* 07860C 7F043ADC 0FC0E905 */ jal unset_stateflag_0x04_for_posdata -/* 078610 7F043AE0 02202025 */ move $a0, $s1 -/* 078614 7F043AE4 8FA900F8 */ lw $t1, 0xf8($sp) -/* 078618 7F043AE8 8E0A0014 */ lw $t2, 0x14($s0) -/* 07861C 7F043AEC 02202025 */ move $a0, $s1 -/* 078620 7F043AF0 AD490018 */ sw $t1, 0x18($t2) -/* 078624 7F043AF4 8E0C0014 */ lw $t4, 0x14($s0) -/* 078628 7F043AF8 8FAB00FC */ lw $t3, 0xfc($sp) -/* 07862C 7F043AFC AD8B001C */ sw $t3, 0x1c($t4) -/* 078630 7F043B00 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 078634 7F043B04 8FA500F4 */ lw $a1, 0xf4($sp) -/* 078638 7F043B08 27B100AC */ addiu $s1, $sp, 0xac -/* 07863C 7F043B0C 02202825 */ move $a1, $s1 -/* 078640 7F043B10 0FC16008 */ jal sub_GAME_7F058020 -/* 078644 7F043B14 26040018 */ addiu $a0, $s0, 0x18 -/* 078648 7F043B18 26040058 */ addiu $a0, $s0, 0x58 -/* 07864C 7F043B1C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 078650 7F043B20 02202825 */ move $a1, $s1 -/* 078654 7F043B24 0FC1E111 */ jal sub_GAME_7F078444 -/* 078658 7F043B28 00000000 */ nop -/* 07865C 7F043B2C 00402025 */ move $a0, $v0 -/* 078660 7F043B30 8FA50028 */ lw $a1, 0x28($sp) -/* 078664 7F043B34 0FC16063 */ jal sub_GAME_7F05818C -/* 078668 7F043B38 27A6006C */ addiu $a2, $sp, 0x6c -/* 07866C 7F043B3C 27A4006C */ addiu $a0, $sp, 0x6c -/* 078670 7F043B40 0FC167EE */ jal sub_GAME_7F059FB8 -/* 078674 7F043B44 27A5002C */ addiu $a1, $sp, 0x2c -/* 078678 7F043B48 8E06006C */ lw $a2, 0x6c($s0) -/* 07867C 7F043B4C 27A4002C */ addiu $a0, $sp, 0x2c -/* 078680 7F043B50 02202825 */ move $a1, $s1 -/* 078684 7F043B54 0FC16063 */ jal sub_GAME_7F05818C -/* 078688 7F043B58 24C60004 */ addiu $a2, $a2, 4 -/* 07868C 7F043B5C 10000002 */ b .L7F043B68 -/* 078690 7F043B60 24020001 */ li $v0, 1 -.L7F043B64: -/* 078694 7F043B64 00001025 */ move $v0, $zero -.L7F043B68: -/* 078698 7F043B68 8FBF001C */ lw $ra, 0x1c($sp) -/* 07869C 7F043B6C 8FB00014 */ lw $s0, 0x14($sp) -/* 0786A0 7F043B70 8FB10018 */ lw $s1, 0x18($sp) -/* 0786A4 7F043B74 03E00008 */ jr $ra -/* 0786A8 7F043B78 27BD00F0 */ addiu $sp, $sp, 0xf0 -) -#endif - - - - - -#ifdef NONMATCHING -void generate_explosion_at_position(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel generate_explosion_at_position -/* 0786AC 7F043B7C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0786B0 7F043B80 AFBF002C */ sw $ra, 0x2c($sp) -/* 0786B4 7F043B84 AFB00028 */ sw $s0, 0x28($sp) -/* 0786B8 7F043B88 AFA50064 */ sw $a1, 0x64($sp) -/* 0786BC 7F043B8C 8C880004 */ lw $t0, 4($a0) -/* 0786C0 7F043B90 3C010006 */ lui $at, 6 -/* 0786C4 7F043B94 00808025 */ move $s0, $a0 -/* 0786C8 7F043B98 8D0E0064 */ lw $t6, 0x64($t0) -/* 0786CC 7F043B9C 2619002C */ addiu $t9, $s0, 0x2c -/* 0786D0 7F043BA0 01C17824 */ and $t7, $t6, $at -/* 0786D4 7F043BA4 000FC442 */ srl $t8, $t7, 0x11 -/* 0786D8 7F043BA8 AFB80058 */ sw $t8, 0x58($sp) -/* 0786DC 7F043BAC 8C86001C */ lw $a2, 0x1c($a0) -/* 0786E0 7F043BB0 00002025 */ move $a0, $zero -/* 0786E4 7F043BB4 50C00056 */ beql $a2, $zero, .L7F043D10 -/* 0786E8 7F043BB8 8D020008 */ lw $v0, 8($t0) -/* 0786EC 7F043BBC 8CC2001C */ lw $v0, 0x1c($a2) -/* 0786F0 7F043BC0 00C01825 */ move $v1, $a2 -/* 0786F4 7F043BC4 50400006 */ beql $v0, $zero, .L7F043BE0 -/* 0786F8 7F043BC8 8C790014 */ lw $t9, 0x14($v1) -/* 0786FC 7F043BCC 00401825 */ move $v1, $v0 -.L7F043BD0: -/* 078700 7F043BD0 8C42001C */ lw $v0, 0x1c($v0) -/* 078704 7F043BD4 5440FFFE */ bnezl $v0, .L7F043BD0 -/* 078708 7F043BD8 00401825 */ move $v1, $v0 -/* 07870C 7F043BDC 8C790014 */ lw $t9, 0x14($v1) -.L7F043BE0: -/* 078710 7F043BE0 AFB90050 */ sw $t9, 0x50($sp) -/* 078714 7F043BE4 92090001 */ lbu $t1, 1($s0) -/* 078718 7F043BE8 312A0002 */ andi $t2, $t1, 2 -/* 07871C 7F043BEC 51400014 */ beql $t2, $zero, .L7F043C40 -/* 078720 7F043BF0 C46A0008 */ lwc1 $f10, 8($v1) -/* 078724 7F043BF4 8D040014 */ lw $a0, 0x14($t0) -/* 078728 7F043BF8 AFA8005C */ sw $t0, 0x5c($sp) -/* 07872C 7F043BFC 0FC1B1A8 */ jal getsubmatrix -/* 078730 7F043C00 AFA30054 */ sw $v1, 0x54($sp) -/* 078734 7F043C04 C4440030 */ lwc1 $f4, 0x30($v0) -/* 078738 7F043C08 E7A40044 */ swc1 $f4, 0x44($sp) -/* 07873C 7F043C0C C4460034 */ lwc1 $f6, 0x34($v0) -/* 078740 7F043C10 E7A60048 */ swc1 $f6, 0x48($sp) -/* 078744 7F043C14 C4480038 */ lwc1 $f8, 0x38($v0) -/* 078748 7F043C18 0FC1E111 */ jal sub_GAME_7F078444 -/* 07874C 7F043C1C E7A8004C */ swc1 $f8, 0x4c($sp) -/* 078750 7F043C20 27B00044 */ addiu $s0, $sp, 0x44 -/* 078754 7F043C24 02002825 */ move $a1, $s0 -/* 078758 7F043C28 0FC1611D */ jal sub_GAME_7F058474 -/* 07875C 7F043C2C 00402025 */ move $a0, $v0 -/* 078760 7F043C30 8FA30054 */ lw $v1, 0x54($sp) -/* 078764 7F043C34 10000008 */ b .L7F043C58 -/* 078768 7F043C38 8FA8005C */ lw $t0, 0x5c($sp) -/* 07876C 7F043C3C C46A0008 */ lwc1 $f10, 8($v1) -.L7F043C40: -/* 078770 7F043C40 27B00044 */ addiu $s0, $sp, 0x44 -/* 078774 7F043C44 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 078778 7F043C48 C470000C */ lwc1 $f16, 0xc($v1) -/* 07877C 7F043C4C E7B00048 */ swc1 $f16, 0x48($sp) -/* 078780 7F043C50 C4720010 */ lwc1 $f18, 0x10($v1) -/* 078784 7F043C54 E7B2004C */ swc1 $f18, 0x4c($sp) -.L7F043C58: -/* 078788 7F043C58 906B0001 */ lbu $t3, 1($v1) -/* 07878C 7F043C5C 27A40050 */ addiu $a0, $sp, 0x50 -/* 078790 7F043C60 8FA70044 */ lw $a3, 0x44($sp) -/* 078794 7F043C64 316C0008 */ andi $t4, $t3, 8 -/* 078798 7F043C68 1580001A */ bnez $t4, .L7F043CD4 -/* 07879C 7F043C6C C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0787A0 7F043C70 8C650008 */ lw $a1, 8($v1) -/* 0787A4 7F043C74 8C660010 */ lw $a2, 0x10($v1) -/* 0787A8 7F043C78 AFA8005C */ sw $t0, 0x5c($sp) -/* 0787AC 7F043C7C AFA30054 */ sw $v1, 0x54($sp) -/* 0787B0 7F043C80 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0787B4 7F043C84 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0787B8 7F043C88 8FA30054 */ lw $v1, 0x54($sp) -/* 0787BC 7F043C8C 10400011 */ beqz $v0, .L7F043CD4 -/* 0787C0 7F043C90 8FA8005C */ lw $t0, 0x5c($sp) -/* 0787C4 7F043C94 8D0D0008 */ lw $t5, 8($t0) -/* 0787C8 7F043C98 8FB80058 */ lw $t8, 0x58($sp) -/* 0787CC 7F043C9C 2479002C */ addiu $t9, $v1, 0x2c -/* 0787D0 7F043CA0 31AE000E */ andi $t6, $t5, 0xe -/* 0787D4 7F043CA4 2DCF0001 */ sltiu $t7, $t6, 1 -/* 0787D8 7F043CA8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0787DC 7F043CAC AFB90018 */ sw $t9, 0x18($sp) -/* 0787E0 7F043CB0 AFA0001C */ sw $zero, 0x1c($sp) -/* 0787E4 7F043CB4 00002025 */ move $a0, $zero -/* 0787E8 7F043CB8 02002825 */ move $a1, $s0 -/* 0787EC 7F043CBC 8FA60050 */ lw $a2, 0x50($sp) -/* 0787F0 7F043CC0 87A70066 */ lh $a3, 0x66($sp) -/* 0787F4 7F043CC4 0FC27094 */ jal sub_GAME_7F09C250 -/* 0787F8 7F043CC8 AFB80014 */ sw $t8, 0x14($sp) -/* 0787FC 7F043CCC 10000024 */ b .L7F043D60 -/* 078800 7F043CD0 8FBF002C */ lw $ra, 0x2c($sp) -.L7F043CD4: -/* 078804 7F043CD4 8FA90058 */ lw $t1, 0x58($sp) -/* 078808 7F043CD8 246A002C */ addiu $t2, $v1, 0x2c -/* 07880C 7F043CDC 240B0001 */ li $t3, 1 -/* 078810 7F043CE0 AFAB001C */ sw $t3, 0x1c($sp) -/* 078814 7F043CE4 AFAA0018 */ sw $t2, 0x18($sp) -/* 078818 7F043CE8 00002025 */ move $a0, $zero -/* 07881C 7F043CEC 02002825 */ move $a1, $s0 -/* 078820 7F043CF0 8FA60050 */ lw $a2, 0x50($sp) -/* 078824 7F043CF4 87A70066 */ lh $a3, 0x66($sp) -/* 078828 7F043CF8 AFA00010 */ sw $zero, 0x10($sp) -/* 07882C 7F043CFC 0FC27094 */ jal sub_GAME_7F09C250 -/* 078830 7F043D00 AFA90014 */ sw $t1, 0x14($sp) -/* 078834 7F043D04 10000016 */ b .L7F043D60 -/* 078838 7F043D08 8FBF002C */ lw $ra, 0x2c($sp) -/* 07883C 7F043D0C 8D020008 */ lw $v0, 8($t0) -.L7F043D10: -/* 078840 7F043D10 304C000E */ andi $t4, $v0, 0xe -/* 078844 7F043D14 2D820001 */ sltiu $v0, $t4, 1 -/* 078848 7F043D18 50400005 */ beql $v0, $zero, .L7F043D30 -/* 07884C 7F043D1C 8FB80058 */ lw $t8, 0x58($sp) -/* 078850 7F043D20 92020001 */ lbu $v0, 1($s0) -/* 078854 7F043D24 304E0008 */ andi $t6, $v0, 8 -/* 078858 7F043D28 2DC20001 */ sltiu $v0, $t6, 1 -/* 07885C 7F043D2C 8FB80058 */ lw $t8, 0x58($sp) -.L7F043D30: -/* 078860 7F043D30 8E060014 */ lw $a2, 0x14($s0) -/* 078864 7F043D34 AFB90018 */ sw $t9, 0x18($sp) -/* 078868 7F043D38 AFA20010 */ sw $v0, 0x10($sp) -/* 07886C 7F043D3C AFB80014 */ sw $t8, 0x14($sp) -/* 078870 7F043D40 92090001 */ lbu $t1, 1($s0) -/* 078874 7F043D44 25050058 */ addiu $a1, $t0, 0x58 -/* 078878 7F043D48 87A70066 */ lh $a3, 0x66($sp) -/* 07887C 7F043D4C 312A0008 */ andi $t2, $t1, 8 -/* 078880 7F043D50 000A582B */ sltu $t3, $zero, $t2 -/* 078884 7F043D54 0FC27094 */ jal sub_GAME_7F09C250 -/* 078888 7F043D58 AFAB001C */ sw $t3, 0x1c($sp) -/* 07888C 7F043D5C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F043D60: -/* 078890 7F043D60 8FB00028 */ lw $s0, 0x28($sp) -/* 078894 7F043D64 27BD0060 */ addiu $sp, $sp, 0x60 -/* 078898 7F043D68 03E00008 */ jr $ra -/* 07889C 7F043D6C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel generate_explosion_at_position -/* 0789EC 7F043E7C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0789F0 7F043E80 AFBF002C */ sw $ra, 0x2c($sp) -/* 0789F4 7F043E84 AFB00028 */ sw $s0, 0x28($sp) -/* 0789F8 7F043E88 AFA50064 */ sw $a1, 0x64($sp) -/* 0789FC 7F043E8C 8C880004 */ lw $t0, 4($a0) -/* 078A00 7F043E90 3C010006 */ lui $at, 6 -/* 078A04 7F043E94 00808025 */ move $s0, $a0 -/* 078A08 7F043E98 8D0E0064 */ lw $t6, 0x64($t0) -/* 078A0C 7F043E9C 2619002C */ addiu $t9, $s0, 0x2c -/* 078A10 7F043EA0 01C17824 */ and $t7, $t6, $at -/* 078A14 7F043EA4 000FC442 */ srl $t8, $t7, 0x11 -/* 078A18 7F043EA8 AFB80058 */ sw $t8, 0x58($sp) -/* 078A1C 7F043EAC 8C86001C */ lw $a2, 0x1c($a0) -/* 078A20 7F043EB0 00002025 */ move $a0, $zero -/* 078A24 7F043EB4 50C00056 */ beql $a2, $zero, .L7F044010 -/* 078A28 7F043EB8 8D020008 */ lw $v0, 8($t0) -/* 078A2C 7F043EBC 8CC2001C */ lw $v0, 0x1c($a2) -/* 078A30 7F043EC0 00C01825 */ move $v1, $a2 -/* 078A34 7F043EC4 50400006 */ beql $v0, $zero, .L7F043EE0 -/* 078A38 7F043EC8 8C790014 */ lw $t9, 0x14($v1) -/* 078A3C 7F043ECC 00401825 */ move $v1, $v0 -.L7F043ED0: -/* 078A40 7F043ED0 8C42001C */ lw $v0, 0x1c($v0) -/* 078A44 7F043ED4 5440FFFE */ bnezl $v0, .L7F043ED0 -/* 078A48 7F043ED8 00401825 */ move $v1, $v0 -/* 078A4C 7F043EDC 8C790014 */ lw $t9, 0x14($v1) -.L7F043EE0: -/* 078A50 7F043EE0 AFB9004C */ sw $t9, 0x4c($sp) -/* 078A54 7F043EE4 92090001 */ lbu $t1, 1($s0) -/* 078A58 7F043EE8 312A0002 */ andi $t2, $t1, 2 -/* 078A5C 7F043EEC 51400014 */ beql $t2, $zero, .L7F043F40 -/* 078A60 7F043EF0 C46A0008 */ lwc1 $f10, 8($v1) -/* 078A64 7F043EF4 8D040014 */ lw $a0, 0x14($t0) -/* 078A68 7F043EF8 AFA8005C */ sw $t0, 0x5c($sp) -/* 078A6C 7F043EFC 0FC1B324 */ jal getsubmatrix -/* 078A70 7F043F00 AFA30050 */ sw $v1, 0x50($sp) -/* 078A74 7F043F04 C4440030 */ lwc1 $f4, 0x30($v0) -/* 078A78 7F043F08 E7A40040 */ swc1 $f4, 0x40($sp) -/* 078A7C 7F043F0C C4460034 */ lwc1 $f6, 0x34($v0) -/* 078A80 7F043F10 E7A60044 */ swc1 $f6, 0x44($sp) -/* 078A84 7F043F14 C4480038 */ lwc1 $f8, 0x38($v0) -/* 078A88 7F043F18 0FC1E28D */ jal sub_GAME_7F078444 -/* 078A8C 7F043F1C E7A80048 */ swc1 $f8, 0x48($sp) -/* 078A90 7F043F20 27B00040 */ addiu $s0, $sp, 0x40 -/* 078A94 7F043F24 02002825 */ move $a1, $s0 -/* 078A98 7F043F28 0FC16265 */ jal sub_GAME_7F058474 -/* 078A9C 7F043F2C 00402025 */ move $a0, $v0 -/* 078AA0 7F043F30 8FA30050 */ lw $v1, 0x50($sp) -/* 078AA4 7F043F34 10000008 */ b .L7F043F58 -/* 078AA8 7F043F38 8FA8005C */ lw $t0, 0x5c($sp) -/* 078AAC 7F043F3C C46A0008 */ lwc1 $f10, 8($v1) -.L7F043F40: -/* 078AB0 7F043F40 27B00040 */ addiu $s0, $sp, 0x40 -/* 078AB4 7F043F44 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 078AB8 7F043F48 C470000C */ lwc1 $f16, 0xc($v1) -/* 078ABC 7F043F4C E7B00044 */ swc1 $f16, 0x44($sp) -/* 078AC0 7F043F50 C4720010 */ lwc1 $f18, 0x10($v1) -/* 078AC4 7F043F54 E7B20048 */ swc1 $f18, 0x48($sp) -.L7F043F58: -/* 078AC8 7F043F58 906B0001 */ lbu $t3, 1($v1) -/* 078ACC 7F043F5C 27A4004C */ addiu $a0, $sp, 0x4c -/* 078AD0 7F043F60 8FA70040 */ lw $a3, 0x40($sp) -/* 078AD4 7F043F64 316C0008 */ andi $t4, $t3, 8 -/* 078AD8 7F043F68 1580001A */ bnez $t4, .L7F043FD4 -/* 078ADC 7F043F6C C7A40048 */ lwc1 $f4, 0x48($sp) -/* 078AE0 7F043F70 8C650008 */ lw $a1, 8($v1) -/* 078AE4 7F043F74 8C660010 */ lw $a2, 0x10($v1) -/* 078AE8 7F043F78 AFA8005C */ sw $t0, 0x5c($sp) -/* 078AEC 7F043F7C AFA30050 */ sw $v1, 0x50($sp) -/* 078AF0 7F043F80 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 078AF4 7F043F84 E7A40010 */ swc1 $f4, 0x10($sp) -/* 078AF8 7F043F88 8FA30050 */ lw $v1, 0x50($sp) -/* 078AFC 7F043F8C 10400011 */ beqz $v0, .L7F043FD4 -/* 078B00 7F043F90 8FA8005C */ lw $t0, 0x5c($sp) -/* 078B04 7F043F94 8D0D0008 */ lw $t5, 8($t0) -/* 078B08 7F043F98 8FB80058 */ lw $t8, 0x58($sp) -/* 078B0C 7F043F9C 2479002C */ addiu $t9, $v1, 0x2c -/* 078B10 7F043FA0 31AE000E */ andi $t6, $t5, 0xe -/* 078B14 7F043FA4 2DCF0001 */ sltiu $t7, $t6, 1 -/* 078B18 7F043FA8 AFAF0010 */ sw $t7, 0x10($sp) -/* 078B1C 7F043FAC AFB90018 */ sw $t9, 0x18($sp) -/* 078B20 7F043FB0 AFA0001C */ sw $zero, 0x1c($sp) -/* 078B24 7F043FB4 00002025 */ move $a0, $zero -/* 078B28 7F043FB8 02002825 */ move $a1, $s0 -/* 078B2C 7F043FBC 8FA6004C */ lw $a2, 0x4c($sp) -/* 078B30 7F043FC0 87A70066 */ lh $a3, 0x66($sp) -/* 078B34 7F043FC4 0FC2737C */ jal sub_GAME_7F09C250 -/* 078B38 7F043FC8 AFB80014 */ sw $t8, 0x14($sp) -/* 078B3C 7F043FCC 10000024 */ b .L7F044060 -/* 078B40 7F043FD0 00401825 */ move $v1, $v0 -.L7F043FD4: -/* 078B44 7F043FD4 8FA90058 */ lw $t1, 0x58($sp) -/* 078B48 7F043FD8 246A002C */ addiu $t2, $v1, 0x2c -/* 078B4C 7F043FDC 240B0001 */ li $t3, 1 -/* 078B50 7F043FE0 AFAB001C */ sw $t3, 0x1c($sp) -/* 078B54 7F043FE4 AFAA0018 */ sw $t2, 0x18($sp) -/* 078B58 7F043FE8 00002025 */ move $a0, $zero -/* 078B5C 7F043FEC 02002825 */ move $a1, $s0 -/* 078B60 7F043FF0 8FA6004C */ lw $a2, 0x4c($sp) -/* 078B64 7F043FF4 87A70066 */ lh $a3, 0x66($sp) -/* 078B68 7F043FF8 AFA00010 */ sw $zero, 0x10($sp) -/* 078B6C 7F043FFC 0FC2737C */ jal sub_GAME_7F09C250 -/* 078B70 7F044000 AFA90014 */ sw $t1, 0x14($sp) -/* 078B74 7F044004 10000016 */ b .L7F044060 -/* 078B78 7F044008 00401825 */ move $v1, $v0 -/* 078B7C 7F04400C 8D020008 */ lw $v0, 8($t0) -.L7F044010: -/* 078B80 7F044010 304C000E */ andi $t4, $v0, 0xe -/* 078B84 7F044014 2D820001 */ sltiu $v0, $t4, 1 -/* 078B88 7F044018 50400005 */ beql $v0, $zero, .L7F044030 -/* 078B8C 7F04401C 8FB80058 */ lw $t8, 0x58($sp) -/* 078B90 7F044020 92020001 */ lbu $v0, 1($s0) -/* 078B94 7F044024 304E0008 */ andi $t6, $v0, 8 -/* 078B98 7F044028 2DC20001 */ sltiu $v0, $t6, 1 -/* 078B9C 7F04402C 8FB80058 */ lw $t8, 0x58($sp) -.L7F044030: -/* 078BA0 7F044030 8E060014 */ lw $a2, 0x14($s0) -/* 078BA4 7F044034 AFB90018 */ sw $t9, 0x18($sp) -/* 078BA8 7F044038 AFA20010 */ sw $v0, 0x10($sp) -/* 078BAC 7F04403C AFB80014 */ sw $t8, 0x14($sp) -/* 078BB0 7F044040 92090001 */ lbu $t1, 1($s0) -/* 078BB4 7F044044 25050058 */ addiu $a1, $t0, 0x58 -/* 078BB8 7F044048 87A70066 */ lh $a3, 0x66($sp) -/* 078BBC 7F04404C 312A0008 */ andi $t2, $t1, 8 -/* 078BC0 7F044050 000A582B */ sltu $t3, $zero, $t2 -/* 078BC4 7F044054 0FC2737C */ jal sub_GAME_7F09C250 -/* 078BC8 7F044058 AFAB001C */ sw $t3, 0x1c($sp) -/* 078BCC 7F04405C 00401825 */ move $v1, $v0 -.L7F044060: -/* 078BD0 7F044060 8FBF002C */ lw $ra, 0x2c($sp) -/* 078BD4 7F044064 8FB00028 */ lw $s0, 0x28($sp) -/* 078BD8 7F044068 27BD0060 */ addiu $sp, $sp, 0x60 -/* 078BDC 7F04406C 03E00008 */ jr $ra -/* 078BE0 7F044070 00601025 */ move $v0, $v1 - -) -#endif - -#endif - - -#ifdef NONMATCHING -void handle_thrown_explosive_detonation(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80052A94 -.word 0x47742400 /*62500.0*/ -.text -glabel handle_thrown_explosive_detonation -/* 0788A0 7F043D70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0788A4 7F043D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 0788A8 7F043D78 AFA40020 */ sw $a0, 0x20($sp) -/* 0788AC 7F043D7C 8C870004 */ lw $a3, 4($a0) -/* 0788B0 7F043D80 0FC26C54 */ jal get_cur_playernum -/* 0788B4 7F043D84 AFA7001C */ sw $a3, 0x1c($sp) -/* 0788B8 7F043D88 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 0788BC 7F043D8C 00402025 */ move $a0, $v0 -/* 0788C0 7F043D90 14400117 */ bnez $v0, .L7F0441F0 -/* 0788C4 7F043D94 8FA7001C */ lw $a3, 0x1c($sp) -/* 0788C8 7F043D98 90E20003 */ lbu $v0, 3($a3) -/* 0788CC 7F043D9C 24010007 */ li $at, 7 -/* 0788D0 7F043DA0 5441000F */ bnel $v0, $at, .L7F043DE0 -/* 0788D4 7F043DA4 24010008 */ li $at, 8 -/* 0788D8 7F043DA8 8CEF0008 */ lw $t7, 8($a3) -/* 0788DC 7F043DAC 8FA40020 */ lw $a0, 0x20($sp) -/* 0788E0 7F043DB0 2405000C */ li $a1, 12 -/* 0788E4 7F043DB4 000FC0C0 */ sll $t8, $t7, 3 -/* 0788E8 7F043DB8 0703010E */ bgezl $t8, .L7F0441F4 -/* 0788EC 7F043DBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0788F0 7F043DC0 0FC10EDF */ jal generate_explosion_at_position -/* 0788F4 7F043DC4 AFA7001C */ sw $a3, 0x1c($sp) -/* 0788F8 7F043DC8 8FA7001C */ lw $a3, 0x1c($sp) -/* 0788FC 7F043DCC 8CF90064 */ lw $t9, 0x64($a3) -/* 078900 7F043DD0 37280004 */ ori $t0, $t9, 4 -/* 078904 7F043DD4 10000106 */ b .L7F0441F0 -/* 078908 7F043DD8 ACE80064 */ sw $t0, 0x64($a3) -/* 07890C 7F043DDC 24010008 */ li $at, 8 -.L7F043DE0: -/* 078910 7F043DE0 14410103 */ bne $v0, $at, .L7F0441F0 -/* 078914 7F043DE4 8FA90020 */ lw $t1, 0x20($sp) -/* 078918 7F043DE8 8D260004 */ lw $a2, 4($t1) -/* 07891C 7F043DEC 2401001A */ li $at, 26 -/* 078920 7F043DF0 80C30080 */ lb $v1, 0x80($a2) -/* 078924 7F043DF4 10610003 */ beq $v1, $at, .L7F043E04 -/* 078928 7F043DF8 24010057 */ li $at, 87 -/* 07892C 7F043DFC 5461001B */ bnel $v1, $at, .L7F043E6C -/* 078930 7F043E00 24010056 */ li $at, 86 -.L7F043E04: -/* 078934 7F043E04 84C20082 */ lh $v0, 0x82($a2) -/* 078938 7F043E08 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 07893C 7F043E0C 04420017 */ bltzl $v0, .L7F043E6C -/* 078940 7F043E10 24010056 */ li $at, 86 -/* 078944 7F043E14 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 078948 7F043E18 004A5823 */ subu $t3, $v0, $t2 -/* 07894C 7F043E1C A4CB0082 */ sh $t3, 0x82($a2) -/* 078950 7F043E20 84CC0082 */ lh $t4, 0x82($a2) -/* 078954 7F043E24 8FA40020 */ lw $a0, 0x20($sp) -/* 078958 7F043E28 058300F2 */ bgezl $t4, .L7F0441F4 -/* 07895C 7F043E2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 078960 7F043E30 8CED000C */ lw $t5, 0xc($a3) -/* 078964 7F043E34 2405000D */ li $a1, 13 -/* 078968 7F043E38 000D7000 */ sll $t6, $t5, 0 -/* 07896C 7F043E3C 05C10003 */ bgez $t6, .L7F043E4C -/* 078970 7F043E40 00000000 */ nop -/* 078974 7F043E44 10000001 */ b .L7F043E4C -/* 078978 7F043E48 24050011 */ li $a1, 17 -.L7F043E4C: -/* 07897C 7F043E4C 0FC10EDF */ jal generate_explosion_at_position -/* 078980 7F043E50 AFA7001C */ sw $a3, 0x1c($sp) -/* 078984 7F043E54 8FA7001C */ lw $a3, 0x1c($sp) -/* 078988 7F043E58 8CEF0064 */ lw $t7, 0x64($a3) -/* 07898C 7F043E5C 35F80004 */ ori $t8, $t7, 4 -/* 078990 7F043E60 100000E3 */ b .L7F0441F0 -/* 078994 7F043E64 ACF80064 */ sw $t8, 0x64($a3) -/* 078998 7F043E68 24010056 */ li $at, 86 -.L7F043E6C: -/* 07899C 7F043E6C 54610014 */ bnel $v1, $at, .L7F043EC0 -/* 0789A0 7F043E70 24010022 */ li $at, 34 -/* 0789A4 7F043E74 84D90082 */ lh $t9, 0x82($a2) -/* 0789A8 7F043E78 8FA40020 */ lw $a0, 0x20($sp) -/* 0789AC 7F043E7C 572000DD */ bnezl $t9, .L7F0441F4 -/* 0789B0 7F043E80 8FBF0014 */ lw $ra, 0x14($sp) -/* 0789B4 7F043E84 8CE8000C */ lw $t0, 0xc($a3) -/* 0789B8 7F043E88 2405000D */ li $a1, 13 -/* 0789BC 7F043E8C 00084800 */ sll $t1, $t0, 0 -/* 0789C0 7F043E90 05210003 */ bgez $t1, .L7F043EA0 -/* 0789C4 7F043E94 00000000 */ nop -/* 0789C8 7F043E98 10000001 */ b .L7F043EA0 -/* 0789CC 7F043E9C 24050011 */ li $a1, 17 -.L7F043EA0: -/* 0789D0 7F043EA0 0FC10EDF */ jal generate_explosion_at_position -/* 0789D4 7F043EA4 AFA7001C */ sw $a3, 0x1c($sp) -/* 0789D8 7F043EA8 8FA7001C */ lw $a3, 0x1c($sp) -/* 0789DC 7F043EAC 8CEA0064 */ lw $t2, 0x64($a3) -/* 0789E0 7F043EB0 354B0004 */ ori $t3, $t2, 4 -/* 0789E4 7F043EB4 100000CE */ b .L7F0441F0 -/* 0789E8 7F043EB8 ACEB0064 */ sw $t3, 0x64($a3) -/* 0789EC 7F043EBC 24010022 */ li $at, 34 -.L7F043EC0: -/* 0789F0 7F043EC0 54610014 */ bnel $v1, $at, .L7F043F14 -/* 0789F4 7F043EC4 2401001B */ li $at, 27 -/* 0789F8 7F043EC8 84CC0082 */ lh $t4, 0x82($a2) -/* 0789FC 7F043ECC 8FA40020 */ lw $a0, 0x20($sp) -/* 078A00 7F043ED0 24050011 */ li $a1, 17 -/* 078A04 7F043ED4 558000C7 */ bnezl $t4, .L7F0441F4 -/* 078A08 7F043ED8 8FBF0014 */ lw $ra, 0x14($sp) -/* 078A0C 7F043EDC 0FC10EDF */ jal generate_explosion_at_position -/* 078A10 7F043EE0 AFA7001C */ sw $a3, 0x1c($sp) -/* 078A14 7F043EE4 8FA7001C */ lw $a3, 0x1c($sp) -/* 078A18 7F043EE8 24040078 */ li $a0, 120 -/* 078A1C 7F043EEC 8CED0064 */ lw $t5, 0x64($a3) -/* 078A20 7F043EF0 35AE0004 */ ori $t6, $t5, 4 -/* 078A24 7F043EF4 0FC22FF1 */ jal trigger_explosions_around_player -/* 078A28 7F043EF8 ACEE0064 */ sw $t6, 0x64($a3) -/* 078A2C 7F043EFC 24040002 */ li $a0, 2 -/* 078A30 7F043F00 0FC15858 */ jal set_unset_clock_lock_bits -/* 078A34 7F043F04 00002825 */ move $a1, $zero -/* 078A38 7F043F08 100000BA */ b .L7F0441F4 -/* 078A3C 7F043F0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 078A40 7F043F10 2401001B */ li $at, 27 -.L7F043F14: -/* 078A44 7F043F14 10610003 */ beq $v1, $at, .L7F043F24 -/* 078A48 7F043F18 24010021 */ li $at, 33 -/* 078A4C 7F043F1C 5461001F */ bnel $v1, $at, .L7F043F9C -/* 078A50 7F043F20 2401001D */ li $at, 29 -.L7F043F24: -/* 078A54 7F043F24 84C20082 */ lh $v0, 0x82($a2) -/* 078A58 7F043F28 3C0F8005 */ lui $t7, %hi(clock_timer) -/* 078A5C 7F043F2C 0442001B */ bltzl $v0, .L7F043F9C -/* 078A60 7F043F30 2401001D */ li $at, 29 -/* 078A64 7F043F34 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) -/* 078A68 7F043F38 004FC023 */ subu $t8, $v0, $t7 -/* 078A6C 7F043F3C A4D80082 */ sh $t8, 0x82($a2) -/* 078A70 7F043F40 84D90082 */ lh $t9, 0x82($a2) -/* 078A74 7F043F44 8FA40020 */ lw $a0, 0x20($sp) -/* 078A78 7F043F48 072300AA */ bgezl $t9, .L7F0441F4 -/* 078A7C 7F043F4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 078A80 7F043F50 8CE8000C */ lw $t0, 0xc($a3) -/* 078A84 7F043F54 2405000D */ li $a1, 13 -/* 078A88 7F043F58 00084800 */ sll $t1, $t0, 0 -/* 078A8C 7F043F5C 05210003 */ bgez $t1, .L7F043F6C -/* 078A90 7F043F60 00000000 */ nop -/* 078A94 7F043F64 10000001 */ b .L7F043F6C -/* 078A98 7F043F68 24050011 */ li $a1, 17 -.L7F043F6C: -/* 078A9C 7F043F6C AFA60018 */ sw $a2, 0x18($sp) -/* 078AA0 7F043F70 0FC10EDF */ jal generate_explosion_at_position -/* 078AA4 7F043F74 AFA7001C */ sw $a3, 0x1c($sp) -/* 078AA8 7F043F78 8FA60018 */ lw $a2, 0x18($sp) -/* 078AAC 7F043F7C 8FA7001C */ lw $a3, 0x1c($sp) -/* 078AB0 7F043F80 240AFFFF */ li $t2, -1 -/* 078AB4 7F043F84 A4CA0082 */ sh $t2, 0x82($a2) -/* 078AB8 7F043F88 8CEB0064 */ lw $t3, 0x64($a3) -/* 078ABC 7F043F8C 356C0004 */ ori $t4, $t3, 4 -/* 078AC0 7F043F90 10000097 */ b .L7F0441F0 -/* 078AC4 7F043F94 ACEC0064 */ sw $t4, 0x64($a3) -/* 078AC8 7F043F98 2401001D */ li $at, 29 -.L7F043F9C: -/* 078ACC 7F043F9C 54610049 */ bnel $v1, $at, .L7F0440C4 -/* 078AD0 7F043FA0 2401001C */ li $at, 28 -/* 078AD4 7F043FA4 3C038003 */ lui $v1, %hi(D_80030AF4) -/* 078AD8 7F043FA8 8C630AF4 */ lw $v1, %lo(D_80030AF4)($v1) -/* 078ADC 7F043FAC 3C088005 */ lui $t0, %hi(clock_timer) -/* 078AE0 7F043FB0 5060000C */ beql $v1, $zero, .L7F043FE4 -/* 078AE4 7F043FB4 84C20082 */ lh $v0, 0x82($a2) -/* 078AE8 7F043FB8 8CE20064 */ lw $v0, 0x64($a3) -/* 078AEC 7F043FBC 3C010006 */ lui $at, 6 -/* 078AF0 7F043FC0 240F0001 */ li $t7, 1 -/* 078AF4 7F043FC4 00416824 */ and $t5, $v0, $at -/* 078AF8 7F043FC8 000D7442 */ srl $t6, $t5, 0x11 -/* 078AFC 7F043FCC 01CFC004 */ sllv $t8, $t7, $t6 -/* 078B00 7F043FD0 0078C824 */ and $t9, $v1, $t8 -/* 078B04 7F043FD4 53200003 */ beql $t9, $zero, .L7F043FE4 -/* 078B08 7F043FD8 84C20082 */ lh $v0, 0x82($a2) -/* 078B0C 7F043FDC A4C00082 */ sh $zero, 0x82($a2) -/* 078B10 7F043FE0 84C20082 */ lh $v0, 0x82($a2) -.L7F043FE4: -/* 078B14 7F043FE4 28410002 */ slti $at, $v0, 2 -/* 078B18 7F043FE8 1420000B */ bnez $at, .L7F044018 -/* 078B1C 7F043FEC 00000000 */ nop -/* 078B20 7F043FF0 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 078B24 7F043FF4 240B0001 */ li $t3, 1 -/* 078B28 7F043FF8 00484823 */ subu $t1, $v0, $t0 -/* 078B2C 7F043FFC A4C90082 */ sh $t1, 0x82($a2) -/* 078B30 7F044000 84CA0082 */ lh $t2, 0x82($a2) -/* 078B34 7F044004 29410002 */ slti $at, $t2, 2 -/* 078B38 7F044008 5020007A */ beql $at, $zero, .L7F0441F4 -/* 078B3C 7F04400C 8FBF0014 */ lw $ra, 0x14($sp) -/* 078B40 7F044010 10000077 */ b .L7F0441F0 -/* 078B44 7F044014 A4CB0082 */ sh $t3, 0x82($a2) -.L7F044018: -/* 078B48 7F044018 54400076 */ bnezl $v0, .L7F0441F4 -/* 078B4C 7F04401C 8FBF0014 */ lw $ra, 0x14($sp) -/* 078B50 7F044020 8CEC000C */ lw $t4, 0xc($a3) -/* 078B54 7F044024 8FA40020 */ lw $a0, 0x20($sp) -/* 078B58 7F044028 24050011 */ li $a1, 17 -/* 078B5C 7F04402C 000C6800 */ sll $t5, $t4, 0 -/* 078B60 7F044030 05A30008 */ bgezl $t5, .L7F044054 -/* 078B64 7F044034 AFA60018 */ sw $a2, 0x18($sp) -/* 078B68 7F044038 AFA60018 */ sw $a2, 0x18($sp) -/* 078B6C 7F04403C 0FC10EDF */ jal generate_explosion_at_position -/* 078B70 7F044040 AFA7001C */ sw $a3, 0x1c($sp) -/* 078B74 7F044044 8FA60018 */ lw $a2, 0x18($sp) -/* 078B78 7F044048 10000017 */ b .L7F0440A8 -/* 078B7C 7F04404C 8FA7001C */ lw $a3, 0x1c($sp) -/* 078B80 7F044050 AFA60018 */ sw $a2, 0x18($sp) -.L7F044054: -/* 078B84 7F044054 0C001A57 */ jal get_stage_num -/* 078B88 7F044058 AFA7001C */ sw $a3, 0x1c($sp) -/* 078B8C 7F04405C 24010022 */ li $at, 34 -/* 078B90 7F044060 8FA60018 */ lw $a2, 0x18($sp) -/* 078B94 7F044064 14410009 */ bne $v0, $at, .L7F04408C -/* 078B98 7F044068 8FA7001C */ lw $a3, 0x1c($sp) -/* 078B9C 7F04406C 8FA40020 */ lw $a0, 0x20($sp) -/* 078BA0 7F044070 24050013 */ li $a1, 19 -/* 078BA4 7F044074 AFA60018 */ sw $a2, 0x18($sp) -/* 078BA8 7F044078 0FC10EDF */ jal generate_explosion_at_position -/* 078BAC 7F04407C AFA7001C */ sw $a3, 0x1c($sp) -/* 078BB0 7F044080 8FA60018 */ lw $a2, 0x18($sp) -/* 078BB4 7F044084 10000008 */ b .L7F0440A8 -/* 078BB8 7F044088 8FA7001C */ lw $a3, 0x1c($sp) -.L7F04408C: -/* 078BBC 7F04408C 8FA40020 */ lw $a0, 0x20($sp) -/* 078BC0 7F044090 2405000D */ li $a1, 13 -/* 078BC4 7F044094 AFA60018 */ sw $a2, 0x18($sp) -/* 078BC8 7F044098 0FC10EDF */ jal generate_explosion_at_position -/* 078BCC 7F04409C AFA7001C */ sw $a3, 0x1c($sp) -/* 078BD0 7F0440A0 8FA60018 */ lw $a2, 0x18($sp) -/* 078BD4 7F0440A4 8FA7001C */ lw $a3, 0x1c($sp) -.L7F0440A8: -/* 078BD8 7F0440A8 240EFFFF */ li $t6, -1 -/* 078BDC 7F0440AC A4CE0082 */ sh $t6, 0x82($a2) -/* 078BE0 7F0440B0 8CEF0064 */ lw $t7, 0x64($a3) -/* 078BE4 7F0440B4 35F80004 */ ori $t8, $t7, 4 -/* 078BE8 7F0440B8 1000004D */ b .L7F0441F0 -/* 078BEC 7F0440BC ACF80064 */ sw $t8, 0x64($a3) -/* 078BF0 7F0440C0 2401001C */ li $at, 28 -.L7F0440C4: -/* 078BF4 7F0440C4 5461004B */ bnel $v1, $at, .L7F0441F4 -/* 078BF8 7F0440C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 078BFC 7F0440CC 84C20082 */ lh $v0, 0x82($a2) -/* 078C00 7F0440D0 3C198005 */ lui $t9, %hi(clock_timer) -/* 078C04 7F0440D4 28410002 */ slti $at, $v0, 2 -/* 078C08 7F0440D8 54200012 */ bnezl $at, .L7F044124 -/* 078C0C 7F0440DC 24010001 */ li $at, 1 -/* 078C10 7F0440E0 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 078C14 7F0440E4 240A0001 */ li $t2, 1 -/* 078C18 7F0440E8 00C02025 */ move $a0, $a2 -/* 078C1C 7F0440EC 00594023 */ subu $t0, $v0, $t9 -/* 078C20 7F0440F0 A4C80082 */ sh $t0, 0x82($a2) -/* 078C24 7F0440F4 84C90082 */ lh $t1, 0x82($a2) -/* 078C28 7F0440F8 29210002 */ slti $at, $t1, 2 -/* 078C2C 7F0440FC 50200027 */ beql $at, $zero, .L7F04419C -/* 078C30 7F044100 84CC0082 */ lh $t4, 0x82($a2) -/* 078C34 7F044104 A4CA0082 */ sh $t2, 0x82($a2) -/* 078C38 7F044108 AFA7001C */ sw $a3, 0x1c($sp) -/* 078C3C 7F04410C 0FC146D7 */ jal add_obj_to_temp_proxmine_table -/* 078C40 7F044110 AFA60018 */ sw $a2, 0x18($sp) -/* 078C44 7F044114 8FA60018 */ lw $a2, 0x18($sp) -/* 078C48 7F044118 1000001F */ b .L7F044198 -/* 078C4C 7F04411C 8FA7001C */ lw $a3, 0x1c($sp) -/* 078C50 7F044120 24010001 */ li $at, 1 -.L7F044124: -/* 078C54 7F044124 5441001D */ bnel $v0, $at, .L7F04419C -/* 078C58 7F044128 84CC0082 */ lh $t4, 0x82($a2) -/* 078C5C 7F04412C AFA60018 */ sw $a2, 0x18($sp) -/* 078C60 7F044130 0FC225E6 */ jal get_curplayer_positiondata -/* 078C64 7F044134 AFA7001C */ sw $a3, 0x1c($sp) -/* 078C68 7F044138 8FAB0020 */ lw $t3, 0x20($sp) -/* 078C6C 7F04413C C4440008 */ lwc1 $f4, 8($v0) -/* 078C70 7F044140 C448000C */ lwc1 $f8, 0xc($v0) -/* 078C74 7F044144 C5660008 */ lwc1 $f6, 8($t3) -/* 078C78 7F044148 C56A000C */ lwc1 $f10, 0xc($t3) -/* 078C7C 7F04414C C4500010 */ lwc1 $f16, 0x10($v0) -/* 078C80 7F044150 46062001 */ sub.s $f0, $f4, $f6 -/* 078C84 7F044154 C5720010 */ lwc1 $f18, 0x10($t3) -/* 078C88 7F044158 3C018005 */ lui $at, %hi(D_80052A94) -/* 078C8C 7F04415C 460A4081 */ sub.s $f2, $f8, $f10 -/* 078C90 7F044160 46000102 */ mul.s $f4, $f0, $f0 -/* 078C94 7F044164 8FA60018 */ lw $a2, 0x18($sp) -/* 078C98 7F044168 46128301 */ sub.s $f12, $f16, $f18 -/* 078C9C 7F04416C 46021182 */ mul.s $f6, $f2, $f2 -/* 078CA0 7F044170 C4322A94 */ lwc1 $f18, %lo(D_80052A94)($at) -/* 078CA4 7F044174 8FA7001C */ lw $a3, 0x1c($sp) -/* 078CA8 7F044178 460C6282 */ mul.s $f10, $f12, $f12 -/* 078CAC 7F04417C 46062200 */ add.s $f8, $f4, $f6 -/* 078CB0 7F044180 460A4400 */ add.s $f16, $f8, $f10 -/* 078CB4 7F044184 4612803C */ c.lt.s $f16, $f18 -/* 078CB8 7F044188 00000000 */ nop -/* 078CBC 7F04418C 45020003 */ bc1fl .L7F04419C -/* 078CC0 7F044190 84CC0082 */ lh $t4, 0x82($a2) -/* 078CC4 7F044194 A4C00082 */ sh $zero, 0x82($a2) -.L7F044198: -/* 078CC8 7F044198 84CC0082 */ lh $t4, 0x82($a2) -.L7F04419C: -/* 078CCC 7F04419C 8FA40020 */ lw $a0, 0x20($sp) -/* 078CD0 7F0441A0 55800014 */ bnezl $t4, .L7F0441F4 -/* 078CD4 7F0441A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 078CD8 7F0441A8 8CED000C */ lw $t5, 0xc($a3) -/* 078CDC 7F0441AC 2405000D */ li $a1, 13 -/* 078CE0 7F0441B0 000D7000 */ sll $t6, $t5, 0 -/* 078CE4 7F0441B4 05C10003 */ bgez $t6, .L7F0441C4 -/* 078CE8 7F0441B8 00000000 */ nop -/* 078CEC 7F0441BC 10000001 */ b .L7F0441C4 -/* 078CF0 7F0441C0 24050011 */ li $a1, 17 -.L7F0441C4: -/* 078CF4 7F0441C4 AFA60018 */ sw $a2, 0x18($sp) -/* 078CF8 7F0441C8 0FC10EDF */ jal generate_explosion_at_position -/* 078CFC 7F0441CC AFA7001C */ sw $a3, 0x1c($sp) -/* 078D00 7F0441D0 8FA40018 */ lw $a0, 0x18($sp) -/* 078D04 7F0441D4 8FA7001C */ lw $a3, 0x1c($sp) -/* 078D08 7F0441D8 240FFFFF */ li $t7, -1 -/* 078D0C 7F0441DC A48F0082 */ sh $t7, 0x82($a0) -/* 078D10 7F0441E0 8CF80064 */ lw $t8, 0x64($a3) -/* 078D14 7F0441E4 37190004 */ ori $t9, $t8, 4 -/* 078D18 7F0441E8 0FC146E5 */ jal remove_obj_from_temp_proxmine_table -/* 078D1C 7F0441EC ACF90064 */ sw $t9, 0x64($a3) -.L7F0441F0: -/* 078D20 7F0441F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0441F4: -/* 078D24 7F0441F4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 078D28 7F0441F8 03E00008 */ jr $ra -/* 078D2C 7F0441FC 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80052A94 -.word 0x47742400 /*62500.0*/ -.text -glabel handle_thrown_explosive_detonation -/* 078BE4 7F044074 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 078BE8 7F044078 AFBF0014 */ sw $ra, 0x14($sp) -/* 078BEC 7F04407C AFA40030 */ sw $a0, 0x30($sp) -/* 078BF0 7F044080 8C870004 */ lw $a3, 4($a0) -/* 078BF4 7F044084 0FC26F3C */ jal get_cur_playernum -/* 078BF8 7F044088 AFA7002C */ sw $a3, 0x2c($sp) -/* 078BFC 7F04408C 0FC2701E */ jal sub_GAME_7F09B4D8 -/* 078C00 7F044090 00402025 */ move $a0, $v0 -/* 078C04 7F044094 14400110 */ bnez $v0, .L7F0444D8 -/* 078C08 7F044098 8FA7002C */ lw $a3, 0x2c($sp) -/* 078C0C 7F04409C 90E20003 */ lbu $v0, 3($a3) -/* 078C10 7F0440A0 24010007 */ li $at, 7 -/* 078C14 7F0440A4 5441000F */ bnel $v0, $at, .L7F0440E4 -/* 078C18 7F0440A8 24010008 */ li $at, 8 -/* 078C1C 7F0440AC 8CEF0008 */ lw $t7, 8($a3) -/* 078C20 7F0440B0 8FA40030 */ lw $a0, 0x30($sp) -/* 078C24 7F0440B4 2405000C */ li $a1, 12 -/* 078C28 7F0440B8 000FC0C0 */ sll $t8, $t7, 3 -/* 078C2C 7F0440BC 07030107 */ bgezl $t8, .L7F0444DC -/* 078C30 7F0440C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 078C34 7F0440C4 0FC10F9F */ jal generate_explosion_at_position -/* 078C38 7F0440C8 AFA7002C */ sw $a3, 0x2c($sp) -/* 078C3C 7F0440CC 8FA7002C */ lw $a3, 0x2c($sp) -/* 078C40 7F0440D0 8CF90064 */ lw $t9, 0x64($a3) -/* 078C44 7F0440D4 37280004 */ ori $t0, $t9, 4 -/* 078C48 7F0440D8 100000FF */ b .L7F0444D8 -/* 078C4C 7F0440DC ACE80064 */ sw $t0, 0x64($a3) -/* 078C50 7F0440E0 24010008 */ li $at, 8 -.L7F0440E4: -/* 078C54 7F0440E4 144100FC */ bne $v0, $at, .L7F0444D8 -/* 078C58 7F0440E8 8FA90030 */ lw $t1, 0x30($sp) -/* 078C5C 7F0440EC 8D260004 */ lw $a2, 4($t1) -/* 078C60 7F0440F0 2401001A */ li $at, 26 -/* 078C64 7F0440F4 80C30080 */ lb $v1, 0x80($a2) -/* 078C68 7F0440F8 10610003 */ beq $v1, $at, .L7F044108 -/* 078C6C 7F0440FC 24010057 */ li $at, 87 -/* 078C70 7F044100 5461001B */ bnel $v1, $at, .L7F044170 -/* 078C74 7F044104 24010056 */ li $at, 86 -.L7F044108: -/* 078C78 7F044108 84C20082 */ lh $v0, 0x82($a2) -/* 078C7C 7F04410C 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 -/* 078C80 7F044110 04420017 */ bltzl $v0, .L7F044170 -/* 078C84 7F044114 24010056 */ li $at, 86 -/* 078C88 7F044118 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) -/* 078C8C 7F04411C 004A5823 */ subu $t3, $v0, $t2 -/* 078C90 7F044120 A4CB0082 */ sh $t3, 0x82($a2) -/* 078C94 7F044124 84CC0082 */ lh $t4, 0x82($a2) -/* 078C98 7F044128 8FA40030 */ lw $a0, 0x30($sp) -/* 078C9C 7F04412C 058300EB */ bgezl $t4, .L7F0444DC -/* 078CA0 7F044130 8FBF0014 */ lw $ra, 0x14($sp) -/* 078CA4 7F044134 8CED000C */ lw $t5, 0xc($a3) -/* 078CA8 7F044138 2405000D */ li $a1, 13 -/* 078CAC 7F04413C 000D7000 */ sll $t6, $t5, 0 -/* 078CB0 7F044140 05C10003 */ bgez $t6, .L7F044150 -/* 078CB4 7F044144 00000000 */ nop -/* 078CB8 7F044148 10000001 */ b .L7F044150 -/* 078CBC 7F04414C 24050011 */ li $a1, 17 -.L7F044150: -/* 078CC0 7F044150 0FC10F9F */ jal generate_explosion_at_position -/* 078CC4 7F044154 AFA7002C */ sw $a3, 0x2c($sp) -/* 078CC8 7F044158 8FA7002C */ lw $a3, 0x2c($sp) -/* 078CCC 7F04415C 8CEF0064 */ lw $t7, 0x64($a3) -/* 078CD0 7F044160 35F80004 */ ori $t8, $t7, 4 -/* 078CD4 7F044164 100000DC */ b .L7F0444D8 -/* 078CD8 7F044168 ACF80064 */ sw $t8, 0x64($a3) -/* 078CDC 7F04416C 24010056 */ li $at, 86 -.L7F044170: -/* 078CE0 7F044170 54610014 */ bnel $v1, $at, .L7F0441C4 -/* 078CE4 7F044174 24010022 */ li $at, 34 -/* 078CE8 7F044178 84D90082 */ lh $t9, 0x82($a2) -/* 078CEC 7F04417C 8FA40030 */ lw $a0, 0x30($sp) -/* 078CF0 7F044180 572000D6 */ bnezl $t9, .L7F0444DC -/* 078CF4 7F044184 8FBF0014 */ lw $ra, 0x14($sp) -/* 078CF8 7F044188 8CE8000C */ lw $t0, 0xc($a3) -/* 078CFC 7F04418C 2405000D */ li $a1, 13 -/* 078D00 7F044190 00084800 */ sll $t1, $t0, 0 -/* 078D04 7F044194 05210003 */ bgez $t1, .L7F0441A4 -/* 078D08 7F044198 00000000 */ nop -/* 078D0C 7F04419C 10000001 */ b .L7F0441A4 -/* 078D10 7F0441A0 24050011 */ li $a1, 17 -.L7F0441A4: -/* 078D14 7F0441A4 0FC10F9F */ jal generate_explosion_at_position -/* 078D18 7F0441A8 AFA7002C */ sw $a3, 0x2c($sp) -/* 078D1C 7F0441AC 8FA7002C */ lw $a3, 0x2c($sp) -/* 078D20 7F0441B0 8CEA0064 */ lw $t2, 0x64($a3) -/* 078D24 7F0441B4 354B0004 */ ori $t3, $t2, 4 -/* 078D28 7F0441B8 100000C7 */ b .L7F0444D8 -/* 078D2C 7F0441BC ACEB0064 */ sw $t3, 0x64($a3) -/* 078D30 7F0441C0 24010022 */ li $at, 34 -.L7F0441C4: -/* 078D34 7F0441C4 54610014 */ bnel $v1, $at, .L7F044218 -/* 078D38 7F0441C8 2401001B */ li $at, 27 -/* 078D3C 7F0441CC 84CC0082 */ lh $t4, 0x82($a2) -/* 078D40 7F0441D0 8FA40030 */ lw $a0, 0x30($sp) -/* 078D44 7F0441D4 24050011 */ li $a1, 17 -/* 078D48 7F0441D8 558000C0 */ bnezl $t4, .L7F0444DC -/* 078D4C 7F0441DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 078D50 7F0441E0 0FC10F9F */ jal generate_explosion_at_position -/* 078D54 7F0441E4 AFA7002C */ sw $a3, 0x2c($sp) -/* 078D58 7F0441E8 8FA7002C */ lw $a3, 0x2c($sp) -/* 078D5C 7F0441EC 24040078 */ li $a0, 120 -/* 078D60 7F0441F0 8CED0064 */ lw $t5, 0x64($a3) -/* 078D64 7F0441F4 35AE0004 */ ori $t6, $t5, 4 -/* 078D68 7F0441F8 0FC23213 */ jal trigger_explosions_around_player -/* 078D6C 7F0441FC ACEE0064 */ sw $t6, 0x64($a3) -/* 078D70 7F044200 24040002 */ li $a0, 2 -/* 078D74 7F044204 0FC15997 */ jal set_unset_clock_lock_bits -/* 078D78 7F044208 00002825 */ move $a1, $zero -/* 078D7C 7F04420C 100000B3 */ b .L7F0444DC -/* 078D80 7F044210 8FBF0014 */ lw $ra, 0x14($sp) -/* 078D84 7F044214 2401001B */ li $at, 27 -.L7F044218: -/* 078D88 7F044218 10610003 */ beq $v1, $at, .L7F044228 -/* 078D8C 7F04421C 24010021 */ li $at, 33 -/* 078D90 7F044220 54610020 */ bnel $v1, $at, .L7F0442A4 -/* 078D94 7F044224 2401001D */ li $at, 29 -.L7F044228: -/* 078D98 7F044228 84C20082 */ lh $v0, 0x82($a2) -/* 078D9C 7F04422C 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 078DA0 7F044230 0442001C */ bltzl $v0, .L7F0442A4 -/* 078DA4 7F044234 2401001D */ li $at, 29 -/* 078DA8 7F044238 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 078DAC 7F04423C 004FC023 */ subu $t8, $v0, $t7 -/* 078DB0 7F044240 A4D80082 */ sh $t8, 0x82($a2) -/* 078DB4 7F044244 84D90082 */ lh $t9, 0x82($a2) -/* 078DB8 7F044248 8FA40030 */ lw $a0, 0x30($sp) -/* 078DBC 7F04424C 072300A3 */ bgezl $t9, .L7F0444DC -/* 078DC0 7F044250 8FBF0014 */ lw $ra, 0x14($sp) -/* 078DC4 7F044254 8CE8000C */ lw $t0, 0xc($a3) -/* 078DC8 7F044258 2405000D */ li $a1, 13 -/* 078DCC 7F04425C 00084800 */ sll $t1, $t0, 0 -/* 078DD0 7F044260 05210003 */ bgez $t1, .L7F044270 -/* 078DD4 7F044264 00000000 */ nop -/* 078DD8 7F044268 10000001 */ b .L7F044270 -/* 078DDC 7F04426C 24050011 */ li $a1, 17 -.L7F044270: -/* 078DE0 7F044270 AFA60028 */ sw $a2, 0x28($sp) -/* 078DE4 7F044274 0FC10F9F */ jal generate_explosion_at_position -/* 078DE8 7F044278 AFA7002C */ sw $a3, 0x2c($sp) -/* 078DEC 7F04427C 8FA60028 */ lw $a2, 0x28($sp) -/* 078DF0 7F044280 10400095 */ beqz $v0, .L7F0444D8 -/* 078DF4 7F044284 8FA7002C */ lw $a3, 0x2c($sp) -/* 078DF8 7F044288 240AFFFF */ li $t2, -1 -/* 078DFC 7F04428C A4CA0082 */ sh $t2, 0x82($a2) -/* 078E00 7F044290 8CEB0064 */ lw $t3, 0x64($a3) -/* 078E04 7F044294 356C0004 */ ori $t4, $t3, 4 -/* 078E08 7F044298 1000008F */ b .L7F0444D8 -/* 078E0C 7F04429C ACEC0064 */ sw $t4, 0x64($a3) -/* 078E10 7F0442A0 2401001D */ li $at, 29 -.L7F0442A4: -/* 078E14 7F0442A4 5461003F */ bnel $v1, $at, .L7F0443A4 -/* 078E18 7F0442A8 2401001C */ li $at, 28 -/* 078E1C 7F0442AC 3C038003 */ lui $v1, %hi(D_80030AF4) # $v1, 0x8003 -/* 078E20 7F0442B0 8C630B34 */ lw $v1, %lo(D_80030AF4)($v1) -/* 078E24 7F0442B4 3C088005 */ lui $t0, %hi(clock_timer) # $t0, 0x8005 -/* 078E28 7F0442B8 5060000C */ beql $v1, $zero, .L7F0442EC -/* 078E2C 7F0442BC 84C20082 */ lh $v0, 0x82($a2) -/* 078E30 7F0442C0 8CE20064 */ lw $v0, 0x64($a3) -/* 078E34 7F0442C4 3C010006 */ lui $at, 6 -/* 078E38 7F0442C8 240F0001 */ li $t7, 1 -/* 078E3C 7F0442CC 00416824 */ and $t5, $v0, $at -/* 078E40 7F0442D0 000D7442 */ srl $t6, $t5, 0x11 -/* 078E44 7F0442D4 01CFC004 */ sllv $t8, $t7, $t6 -/* 078E48 7F0442D8 0078C824 */ and $t9, $v1, $t8 -/* 078E4C 7F0442DC 53200003 */ beql $t9, $zero, .L7F0442EC -/* 078E50 7F0442E0 84C20082 */ lh $v0, 0x82($a2) -/* 078E54 7F0442E4 A4C00082 */ sh $zero, 0x82($a2) -/* 078E58 7F0442E8 84C20082 */ lh $v0, 0x82($a2) -.L7F0442EC: -/* 078E5C 7F0442EC 28410002 */ slti $at, $v0, 2 -/* 078E60 7F0442F0 1420000B */ bnez $at, .L7F044320 -/* 078E64 7F0442F4 00000000 */ nop -/* 078E68 7F0442F8 8D0883A4 */ lw $t0, %lo(clock_timer)($t0) -/* 078E6C 7F0442FC 240B0001 */ li $t3, 1 -/* 078E70 7F044300 00484823 */ subu $t1, $v0, $t0 -/* 078E74 7F044304 A4C90082 */ sh $t1, 0x82($a2) -/* 078E78 7F044308 84CA0082 */ lh $t2, 0x82($a2) -/* 078E7C 7F04430C 29410002 */ slti $at, $t2, 2 -/* 078E80 7F044310 50200072 */ beql $at, $zero, .L7F0444DC -/* 078E84 7F044314 8FBF0014 */ lw $ra, 0x14($sp) -/* 078E88 7F044318 1000006F */ b .L7F0444D8 -/* 078E8C 7F04431C A4CB0082 */ sh $t3, 0x82($a2) -.L7F044320: -/* 078E90 7F044320 5440006E */ bnezl $v0, .L7F0444DC -/* 078E94 7F044324 8FBF0014 */ lw $ra, 0x14($sp) -/* 078E98 7F044328 8CEC000C */ lw $t4, 0xc($a3) -/* 078E9C 7F04432C 2405000D */ li $a1, 13 -/* 078EA0 7F044330 000C6800 */ sll $t5, $t4, 0 -/* 078EA4 7F044334 05A30004 */ bgezl $t5, .L7F044348 -/* 078EA8 7F044338 AFA5001C */ sw $a1, 0x1c($sp) -/* 078EAC 7F04433C 1000000B */ b .L7F04436C -/* 078EB0 7F044340 24050011 */ li $a1, 17 -/* 078EB4 7F044344 AFA5001C */ sw $a1, 0x1c($sp) -.L7F044348: -/* 078EB8 7F044348 AFA60028 */ sw $a2, 0x28($sp) -/* 078EBC 7F04434C 0C001A57 */ jal get_stage_num -/* 078EC0 7F044350 AFA7002C */ sw $a3, 0x2c($sp) -/* 078EC4 7F044354 24010022 */ li $at, 34 -/* 078EC8 7F044358 8FA5001C */ lw $a1, 0x1c($sp) -/* 078ECC 7F04435C 8FA60028 */ lw $a2, 0x28($sp) -/* 078ED0 7F044360 14410002 */ bne $v0, $at, .L7F04436C -/* 078ED4 7F044364 8FA7002C */ lw $a3, 0x2c($sp) -/* 078ED8 7F044368 24050013 */ li $a1, 19 -.L7F04436C: -/* 078EDC 7F04436C 8FA40030 */ lw $a0, 0x30($sp) -/* 078EE0 7F044370 AFA60028 */ sw $a2, 0x28($sp) -/* 078EE4 7F044374 0FC10F9F */ jal generate_explosion_at_position -/* 078EE8 7F044378 AFA7002C */ sw $a3, 0x2c($sp) -/* 078EEC 7F04437C 8FA60028 */ lw $a2, 0x28($sp) -/* 078EF0 7F044380 10400055 */ beqz $v0, .L7F0444D8 -/* 078EF4 7F044384 8FA7002C */ lw $a3, 0x2c($sp) -/* 078EF8 7F044388 240EFFFF */ li $t6, -1 -/* 078EFC 7F04438C A4CE0082 */ sh $t6, 0x82($a2) -/* 078F00 7F044390 8CEF0064 */ lw $t7, 0x64($a3) -/* 078F04 7F044394 35F80004 */ ori $t8, $t7, 4 -/* 078F08 7F044398 1000004F */ b .L7F0444D8 -/* 078F0C 7F04439C ACF80064 */ sw $t8, 0x64($a3) -/* 078F10 7F0443A0 2401001C */ li $at, 28 -.L7F0443A4: -/* 078F14 7F0443A4 5461004D */ bnel $v1, $at, .L7F0444DC -/* 078F18 7F0443A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 078F1C 7F0443AC 84C20082 */ lh $v0, 0x82($a2) -/* 078F20 7F0443B0 3C198005 */ lui $t9, %hi(clock_timer) # $t9, 0x8005 -/* 078F24 7F0443B4 28410002 */ slti $at, $v0, 2 -/* 078F28 7F0443B8 54200012 */ bnezl $at, .L7F044404 -/* 078F2C 7F0443BC 24010001 */ li $at, 1 -/* 078F30 7F0443C0 8F3983A4 */ lw $t9, %lo(clock_timer)($t9) -/* 078F34 7F0443C4 240A0001 */ li $t2, 1 -/* 078F38 7F0443C8 00C02025 */ move $a0, $a2 -/* 078F3C 7F0443CC 00594023 */ subu $t0, $v0, $t9 -/* 078F40 7F0443D0 A4C80082 */ sh $t0, 0x82($a2) -/* 078F44 7F0443D4 84C90082 */ lh $t1, 0x82($a2) -/* 078F48 7F0443D8 29210002 */ slti $at, $t1, 2 -/* 078F4C 7F0443DC 50200027 */ beql $at, $zero, .L7F04447C -/* 078F50 7F0443E0 84CC0082 */ lh $t4, 0x82($a2) -/* 078F54 7F0443E4 A4CA0082 */ sh $t2, 0x82($a2) -/* 078F58 7F0443E8 AFA7002C */ sw $a3, 0x2c($sp) -/* 078F5C 7F0443EC 0FC14816 */ jal add_obj_to_temp_proxmine_table -/* 078F60 7F0443F0 AFA60028 */ sw $a2, 0x28($sp) -/* 078F64 7F0443F4 8FA60028 */ lw $a2, 0x28($sp) -/* 078F68 7F0443F8 1000001F */ b .L7F044478 -/* 078F6C 7F0443FC 8FA7002C */ lw $a3, 0x2c($sp) -/* 078F70 7F044400 24010001 */ li $at, 1 -.L7F044404: -/* 078F74 7F044404 5441001D */ bnel $v0, $at, .L7F04447C -/* 078F78 7F044408 84CC0082 */ lh $t4, 0x82($a2) -/* 078F7C 7F04440C AFA60028 */ sw $a2, 0x28($sp) -/* 078F80 7F044410 0FC2279B */ jal get_curplayer_positiondata -/* 078F84 7F044414 AFA7002C */ sw $a3, 0x2c($sp) -/* 078F88 7F044418 8FAB0030 */ lw $t3, 0x30($sp) -/* 078F8C 7F04441C C4440008 */ lwc1 $f4, 8($v0) -/* 078F90 7F044420 C448000C */ lwc1 $f8, 0xc($v0) -/* 078F94 7F044424 C5660008 */ lwc1 $f6, 8($t3) -/* 078F98 7F044428 C56A000C */ lwc1 $f10, 0xc($t3) -/* 078F9C 7F04442C C4500010 */ lwc1 $f16, 0x10($v0) -/* 078FA0 7F044430 46062001 */ sub.s $f0, $f4, $f6 -/* 078FA4 7F044434 C5720010 */ lwc1 $f18, 0x10($t3) -/* 078FA8 7F044438 3C018005 */ lui $at, %hi(D_80052A94) # $at, 0x8005 -/* 078FAC 7F04443C 460A4081 */ sub.s $f2, $f8, $f10 -/* 078FB0 7F044440 46000102 */ mul.s $f4, $f0, $f0 -/* 078FB4 7F044444 8FA60028 */ lw $a2, 0x28($sp) -/* 078FB8 7F044448 46128301 */ sub.s $f12, $f16, $f18 -/* 078FBC 7F04444C 46021182 */ mul.s $f6, $f2, $f2 -/* 078FC0 7F044450 C4322AC4 */ lwc1 $f18, %lo(D_80052A94)($at) -/* 078FC4 7F044454 8FA7002C */ lw $a3, 0x2c($sp) -/* 078FC8 7F044458 460C6282 */ mul.s $f10, $f12, $f12 -/* 078FCC 7F04445C 46062200 */ add.s $f8, $f4, $f6 -/* 078FD0 7F044460 460A4400 */ add.s $f16, $f8, $f10 -/* 078FD4 7F044464 4612803C */ c.lt.s $f16, $f18 -/* 078FD8 7F044468 00000000 */ nop -/* 078FDC 7F04446C 45020003 */ bc1fl .L7F04447C -/* 078FE0 7F044470 84CC0082 */ lh $t4, 0x82($a2) -/* 078FE4 7F044474 A4C00082 */ sh $zero, 0x82($a2) -.L7F044478: -/* 078FE8 7F044478 84CC0082 */ lh $t4, 0x82($a2) -.L7F04447C: -/* 078FEC 7F04447C 8FA40030 */ lw $a0, 0x30($sp) -/* 078FF0 7F044480 55800016 */ bnezl $t4, .L7F0444DC -/* 078FF4 7F044484 8FBF0014 */ lw $ra, 0x14($sp) -/* 078FF8 7F044488 8CED000C */ lw $t5, 0xc($a3) -/* 078FFC 7F04448C 2405000D */ li $a1, 13 -/* 079000 7F044490 000D7000 */ sll $t6, $t5, 0 -/* 079004 7F044494 05C10003 */ bgez $t6, .L7F0444A4 -/* 079008 7F044498 00000000 */ nop -/* 07900C 7F04449C 10000001 */ b .L7F0444A4 -/* 079010 7F0444A0 24050011 */ li $a1, 17 -.L7F0444A4: -/* 079014 7F0444A4 AFA60028 */ sw $a2, 0x28($sp) -/* 079018 7F0444A8 0FC10F9F */ jal generate_explosion_at_position -/* 07901C 7F0444AC AFA7002C */ sw $a3, 0x2c($sp) -/* 079020 7F0444B0 8FA60028 */ lw $a2, 0x28($sp) -/* 079024 7F0444B4 10400008 */ beqz $v0, .L7F0444D8 -/* 079028 7F0444B8 8FA7002C */ lw $a3, 0x2c($sp) -/* 07902C 7F0444BC 240FFFFF */ li $t7, -1 -/* 079030 7F0444C0 A4CF0082 */ sh $t7, 0x82($a2) -/* 079034 7F0444C4 8CF80064 */ lw $t8, 0x64($a3) -/* 079038 7F0444C8 00C02025 */ move $a0, $a2 -/* 07903C 7F0444CC 37190004 */ ori $t9, $t8, 4 -/* 079040 7F0444D0 0FC14824 */ jal remove_obj_from_temp_proxmine_table -/* 079044 7F0444D4 ACF90064 */ sw $t9, 0x64($a3) -.L7F0444D8: -/* 079048 7F0444D8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0444DC: -/* 07904C 7F0444DC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 079050 7F0444E0 03E00008 */ jr $ra -/* 079054 7F0444E4 00000000 */ nop -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F044200(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F044200 -/* 078D30 7F044200 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 078D34 7F044204 AFBF001C */ sw $ra, 0x1c($sp) -/* 078D38 7F044208 AFB10018 */ sw $s1, 0x18($sp) -/* 078D3C 7F04420C AFB00014 */ sw $s0, 0x14($sp) -/* 078D40 7F044210 8C900020 */ lw $s0, 0x20($a0) -/* 078D44 7F044214 52000009 */ beql $s0, $zero, .L7F04423C -/* 078D48 7F044218 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04421C: -/* 078D4C 7F04421C 8E110024 */ lw $s1, 0x24($s0) -/* 078D50 7F044220 0FC11080 */ jal sub_GAME_7F044200 -/* 078D54 7F044224 02002025 */ move $a0, $s0 -/* 078D58 7F044228 0FC1304C */ jal sub_GAME_7F04C130 -/* 078D5C 7F04422C 02002025 */ move $a0, $s0 -/* 078D60 7F044230 1620FFFA */ bnez $s1, .L7F04421C -/* 078D64 7F044234 02208025 */ move $s0, $s1 -/* 078D68 7F044238 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04423C: -/* 078D6C 7F04423C 8FB00014 */ lw $s0, 0x14($sp) -/* 078D70 7F044240 8FB10018 */ lw $s1, 0x18($sp) -/* 078D74 7F044244 03E00008 */ jr $ra -/* 078D78 7F044248 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04424C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04424C -/* 078D7C 7F04424C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 078D80 7F044250 AFBF001C */ sw $ra, 0x1c($sp) -/* 078D84 7F044254 AFB10018 */ sw $s1, 0x18($sp) -/* 078D88 7F044258 AFB00014 */ sw $s0, 0x14($sp) -/* 078D8C 7F04425C 8C870004 */ lw $a3, 4($a0) -/* 078D90 7F044260 00808825 */ move $s1, $a0 -/* 078D94 7F044264 8CEE0064 */ lw $t6, 0x64($a3) -/* 078D98 7F044268 31CF0004 */ andi $t7, $t6, 4 -/* 078D9C 7F04426C 51E0000A */ beql $t7, $zero, .L7F044298 -/* 078DA0 7F044270 92390001 */ lbu $t9, 1($s1) -/* 078DA4 7F044274 90E60002 */ lbu $a2, 2($a3) -/* 078DA8 7F044278 00E02025 */ move $a0, $a3 -/* 078DAC 7F04427C 24050001 */ li $a1, 1 -/* 078DB0 7F044280 30D80004 */ andi $t8, $a2, 4 -/* 078DB4 7F044284 0FC10366 */ jal sub_GAME_7F040D98 -/* 078DB8 7F044288 03003025 */ move $a2, $t8 -/* 078DBC 7F04428C 1000000F */ b .L7F0442CC -/* 078DC0 7F044290 8FBF001C */ lw $ra, 0x1c($sp) -/* 078DC4 7F044294 92390001 */ lbu $t9, 1($s1) -.L7F044298: -/* 078DC8 7F044298 02202025 */ move $a0, $s1 -/* 078DCC 7F04429C 3328FFFD */ andi $t0, $t9, 0xfffd -/* 078DD0 7F0442A0 0FC10F5C */ jal handle_thrown_explosive_detonation -/* 078DD4 7F0442A4 A2280001 */ sb $t0, 1($s1) -/* 078DD8 7F0442A8 8E300020 */ lw $s0, 0x20($s1) -/* 078DDC 7F0442AC 52000007 */ beql $s0, $zero, .L7F0442CC -/* 078DE0 7F0442B0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0442B4: -/* 078DE4 7F0442B4 8E110024 */ lw $s1, 0x24($s0) -/* 078DE8 7F0442B8 0FC11093 */ jal sub_GAME_7F04424C -/* 078DEC 7F0442BC 02002025 */ move $a0, $s0 -/* 078DF0 7F0442C0 1620FFFC */ bnez $s1, .L7F0442B4 -/* 078DF4 7F0442C4 02208025 */ move $s0, $s1 -/* 078DF8 7F0442C8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0442CC: -/* 078DFC 7F0442CC 8FB00014 */ lw $s0, 0x14($sp) -/* 078E00 7F0442D0 8FB10018 */ lw $s1, 0x18($sp) -/* 078E04 7F0442D4 03E00008 */ jr $ra -/* 078E08 7F0442D8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0442DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0442DC -/* 078E0C 7F0442DC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 078E10 7F0442E0 AFBF0024 */ sw $ra, 0x24($sp) -/* 078E14 7F0442E4 AFB20020 */ sw $s2, 0x20($sp) -/* 078E18 7F0442E8 AFB1001C */ sw $s1, 0x1c($sp) -/* 078E1C 7F0442EC AFB00018 */ sw $s0, 0x18($sp) -/* 078E20 7F0442F0 8C910004 */ lw $s1, 4($a0) -/* 078E24 7F0442F4 00809025 */ move $s2, $a0 -/* 078E28 7F0442F8 8E220064 */ lw $v0, 0x64($s1) -/* 078E2C 7F0442FC 8E300014 */ lw $s0, 0x14($s1) -/* 078E30 7F044300 304E0004 */ andi $t6, $v0, 4 -/* 078E34 7F044304 51C0000A */ beql $t6, $zero, .L7F044330 -/* 078E38 7F044308 8E05001C */ lw $a1, 0x1c($s0) -/* 078E3C 7F04430C 92260002 */ lbu $a2, 2($s1) -/* 078E40 7F044310 02202025 */ move $a0, $s1 -/* 078E44 7F044314 24050001 */ li $a1, 1 -/* 078E48 7F044318 30CF0004 */ andi $t7, $a2, 4 -/* 078E4C 7F04431C 0FC10366 */ jal sub_GAME_7F040D98 -/* 078E50 7F044320 01E03025 */ move $a2, $t7 -/* 078E54 7F044324 10000036 */ b .L7F044400 -/* 078E58 7F044328 8FBF0024 */ lw $ra, 0x24($sp) -/* 078E5C 7F04432C 8E05001C */ lw $a1, 0x1c($s0) -.L7F044330: -/* 078E60 7F044330 30580040 */ andi $t8, $v0, 0x40 -/* 078E64 7F044334 50A00025 */ beql $a1, $zero, .L7F0443CC -/* 078E68 7F044338 924C0001 */ lbu $t4, 1($s2) -/* 078E6C 7F04433C 13000022 */ beqz $t8, .L7F0443C8 -/* 078E70 7F044340 00003025 */ move $a2, $zero -/* 078E74 7F044344 0FC1B198 */ jal sub_GAME_7F06C660 -/* 078E78 7F044348 8E040018 */ lw $a0, 0x18($s0) -/* 078E7C 7F04434C AFA2002C */ sw $v0, 0x2c($sp) -/* 078E80 7F044350 92590001 */ lbu $t9, 1($s2) -/* 078E84 7F044354 37280002 */ ori $t0, $t9, 2 -/* 078E88 7F044358 A2480001 */ sb $t0, 1($s2) -/* 078E8C 7F04435C 8E090008 */ lw $t1, 8($s0) -/* 078E90 7F044360 8524000E */ lh $a0, 0xe($t1) -/* 078E94 7F044364 00045180 */ sll $t2, $a0, 6 -/* 078E98 7F044368 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 078E9C 7F04436C 01402025 */ move $a0, $t2 -/* 078EA0 7F044370 AE02000C */ sw $v0, 0xc($s0) -/* 078EA4 7F044374 8E25006C */ lw $a1, 0x6c($s1) -/* 078EA8 7F044378 8FA4002C */ lw $a0, 0x2c($sp) -/* 078EAC 7F04437C 00403025 */ move $a2, $v0 -/* 078EB0 7F044380 0FC16063 */ jal sub_GAME_7F05818C -/* 078EB4 7F044384 24A50004 */ addiu $a1, $a1, 4 -/* 078EB8 7F044388 8E0B0008 */ lw $t3, 8($s0) -/* 078EBC 7F04438C 02002025 */ move $a0, $s0 -/* 078EC0 7F044390 0FC1BBA9 */ jal sub_GAME_7F06EEA4 -/* 078EC4 7F044394 8D650000 */ lw $a1, ($t3) -/* 078EC8 7F044398 0FC10F5C */ jal handle_thrown_explosive_detonation -/* 078ECC 7F04439C 02402025 */ move $a0, $s2 -/* 078ED0 7F0443A0 8E510020 */ lw $s1, 0x20($s2) -/* 078ED4 7F0443A4 52200016 */ beql $s1, $zero, .L7F044400 -/* 078ED8 7F0443A8 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0443AC: -/* 078EDC 7F0443AC 8E300024 */ lw $s0, 0x24($s1) -/* 078EE0 7F0443B0 0FC110B7 */ jal sub_GAME_7F0442DC -/* 078EE4 7F0443B4 02202025 */ move $a0, $s1 -/* 078EE8 7F0443B8 1600FFFC */ bnez $s0, .L7F0443AC -/* 078EEC 7F0443BC 02008825 */ move $s1, $s0 -/* 078EF0 7F0443C0 1000000F */ b .L7F044400 -/* 078EF4 7F0443C4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0443C8: -/* 078EF8 7F0443C8 924C0001 */ lbu $t4, 1($s2) -.L7F0443CC: -/* 078EFC 7F0443CC 02402025 */ move $a0, $s2 -/* 078F00 7F0443D0 318DFFFD */ andi $t5, $t4, 0xfffd -/* 078F04 7F0443D4 0FC10F5C */ jal handle_thrown_explosive_detonation -/* 078F08 7F0443D8 A24D0001 */ sb $t5, 1($s2) -/* 078F0C 7F0443DC 8E510020 */ lw $s1, 0x20($s2) -/* 078F10 7F0443E0 52200007 */ beql $s1, $zero, .L7F044400 -/* 078F14 7F0443E4 8FBF0024 */ lw $ra, 0x24($sp) -.L7F0443E8: -/* 078F18 7F0443E8 8E300024 */ lw $s0, 0x24($s1) -/* 078F1C 7F0443EC 0FC11093 */ jal sub_GAME_7F04424C -/* 078F20 7F0443F0 02202025 */ move $a0, $s1 -/* 078F24 7F0443F4 1600FFFC */ bnez $s0, .L7F0443E8 -/* 078F28 7F0443F8 02008825 */ move $s1, $s0 -/* 078F2C 7F0443FC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F044400: -/* 078F30 7F044400 8FB00018 */ lw $s0, 0x18($sp) -/* 078F34 7F044404 8FB1001C */ lw $s1, 0x1c($sp) -/* 078F38 7F044408 8FB20020 */ lw $s2, 0x20($sp) -/* 078F3C 7F04440C 03E00008 */ jr $ra -/* 078F40 7F044410 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F044414(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F044414 -/* 078F44 7F044414 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 078F48 7F044418 AFB50044 */ sw $s5, 0x44($sp) -/* 078F4C 7F04441C AFB20038 */ sw $s2, 0x38($sp) -/* 078F50 7F044420 AFB10034 */ sw $s1, 0x34($sp) -/* 078F54 7F044424 AFB00030 */ sw $s0, 0x30($sp) -/* 078F58 7F044428 00A08025 */ move $s0, $a1 -/* 078F5C 7F04442C 00E08825 */ move $s1, $a3 -/* 078F60 7F044430 00809025 */ move $s2, $a0 -/* 078F64 7F044434 00C0A825 */ move $s5, $a2 -/* 078F68 7F044438 AFBF004C */ sw $ra, 0x4c($sp) -/* 078F6C 7F04443C AFB60048 */ sw $s6, 0x48($sp) -/* 078F70 7F044440 AFB40040 */ sw $s4, 0x40($sp) -/* 078F74 7F044444 AFB3003C */ sw $s3, 0x3c($sp) -/* 078F78 7F044448 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 078F7C 7F04444C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 078F80 7F044450 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 078F84 7F044454 18A0008A */ blez $a1, .L7F044680 -/* 078F88 7F044458 00004025 */ move $t0, $zero -/* 078F8C 7F04445C 4480C000 */ mtc1 $zero, $f24 -/* 078F90 7F044460 4480B800 */ mtc1 $zero, $f23 -/* 078F94 7F044464 4480B000 */ mtc1 $zero, $f22 -/* 078F98 7F044468 00809825 */ move $s3, $a0 -/* 078F9C 7F04446C D7B40088 */ ldc1 $f20, 0x88($sp) -/* 078FA0 7F044470 27B60074 */ addiu $s6, $sp, 0x74 -.L7F044474: -/* 078FA4 7F044474 25140001 */ addiu $s4, $t0, 1 -/* 078FA8 7F044478 0290001A */ div $zero, $s4, $s0 -/* 078FAC 7F04447C 00002810 */ mfhi $a1 -/* 078FB0 7F044480 000570C0 */ sll $t6, $a1, 3 -/* 078FB4 7F044484 024E1021 */ addu $v0, $s2, $t6 -/* 078FB8 7F044488 C4460004 */ lwc1 $f6, 4($v0) -/* 078FBC 7F04448C C6640004 */ lwc1 $f4, 4($s3) -/* 078FC0 7F044490 C44A0000 */ lwc1 $f10, ($v0) -/* 078FC4 7F044494 46003221 */ cvt.d.s $f8, $f6 -/* 078FC8 7F044498 46002021 */ cvt.d.s $f0, $f4 -/* 078FCC 7F04449C C6620000 */ lwc1 $f2, ($s3) -/* 078FD0 7F0444A0 46204301 */ sub.d $f12, $f8, $f0 -/* 078FD4 7F0444A4 16000002 */ bnez $s0, .L7F0444B0 -/* 078FD8 7F0444A8 00000000 */ nop -/* 078FDC 7F0444AC 0007000D */ break 7 -.L7F0444B0: -/* 078FE0 7F0444B0 2401FFFF */ li $at, -1 -/* 078FE4 7F0444B4 16010004 */ bne $s0, $at, .L7F0444C8 -/* 078FE8 7F0444B8 3C018000 */ lui $at, 0x8000 -/* 078FEC 7F0444BC 16810002 */ bne $s4, $at, .L7F0444C8 -/* 078FF0 7F0444C0 00000000 */ nop -/* 078FF4 7F0444C4 0006000D */ break 6 -.L7F0444C8: -/* 078FF8 7F0444C8 46366032 */ c.eq.d $f12, $f22 -/* 078FFC 7F0444CC 24AF0001 */ addiu $t7, $a1, 1 -/* 079000 7F0444D0 460054A1 */ cvt.d.s $f18, $f10 -/* 079004 7F0444D4 46001421 */ cvt.d.s $f16, $f2 -/* 079008 7F0444D8 45000011 */ bc1f .L7F044520 -/* 07900C 7F0444DC 46328381 */ sub.d $f14, $f16, $f18 -/* 079010 7F0444E0 46367032 */ c.eq.d $f14, $f22 -/* 079014 7F0444E4 00000000 */ nop -/* 079018 7F0444E8 4500000D */ bc1f .L7F044520 -/* 07901C 7F0444EC 00000000 */ nop -/* 079020 7F0444F0 E7A20074 */ swc1 $f2, 0x74($sp) -/* 079024 7F0444F4 E7B80078 */ swc1 $f24, 0x78($sp) -/* 079028 7F0444F8 C6640004 */ lwc1 $f4, 4($s3) -/* 07902C 7F0444FC 02C02025 */ move $a0, $s6 -/* 079030 7F044500 02A02825 */ move $a1, $s5 -/* 079034 7F044504 02203025 */ move $a2, $s1 -/* 079038 7F044508 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 07903C 7F04450C E7A4007C */ swc1 $f4, 0x7c($sp) -/* 079040 7F044510 50400058 */ beql $v0, $zero, .L7F044674 -/* 079044 7F044514 02804025 */ move $t0, $s4 -/* 079048 7F044518 1000005A */ b .L7F044684 -/* 07904C 7F04451C 00001025 */ move $v0, $zero -.L7F044520: -/* 079050 7F044520 01F0001A */ div $zero, $t7, $s0 -/* 079054 7F044524 462E0182 */ mul.d $f6, $f0, $f14 -/* 079058 7F044528 00001010 */ mfhi $v0 -/* 07905C 7F04452C 00401825 */ move $v1, $v0 -/* 079060 7F044530 00002025 */ move $a0, $zero -/* 079064 7F044534 462C8202 */ mul.d $f8, $f16, $f12 -/* 079068 7F044538 46283080 */ add.d $f2, $f6, $f8 -/* 07906C 7F04453C 16000002 */ bnez $s0, .L7F044548 -/* 079070 7F044540 00000000 */ nop -/* 079074 7F044544 0007000D */ break 7 -.L7F044548: -/* 079078 7F044548 2401FFFF */ li $at, -1 -/* 07907C 7F04454C 16010004 */ bne $s0, $at, .L7F044560 -/* 079080 7F044550 3C018000 */ lui $at, 0x8000 -/* 079084 7F044554 15E10002 */ bne $t7, $at, .L7F044560 -/* 079088 7F044558 00000000 */ nop -/* 07908C 7F04455C 0006000D */ break 6 -.L7F044560: -/* 079090 7F044560 1102001D */ beq $t0, $v0, .L7F0445D8 -/* 079094 7F044564 00000000 */ nop -/* 079098 7F044568 0003C0C0 */ sll $t8, $v1, 3 -.L7F04456C: -/* 07909C 7F04456C 02581021 */ addu $v0, $s2, $t8 -/* 0790A0 7F044570 C44A0004 */ lwc1 $f10, 4($v0) -/* 0790A4 7F044574 C4460000 */ lwc1 $f6, ($v0) -/* 0790A8 7F044578 460054A1 */ cvt.d.s $f18, $f10 -/* 0790AC 7F04457C 46003221 */ cvt.d.s $f8, $f6 -/* 0790B0 7F044580 462E9102 */ mul.d $f4, $f18, $f14 -/* 0790B4 7F044584 00000000 */ nop -/* 0790B8 7F044588 462C4282 */ mul.d $f10, $f8, $f12 -/* 0790BC 7F04458C 462A2500 */ add.d $f20, $f4, $f10 -/* 0790C0 7F044590 4622A032 */ c.eq.d $f20, $f2 -/* 0790C4 7F044594 00000000 */ nop -/* 0790C8 7F044598 4500000F */ bc1f .L7F0445D8 -/* 0790CC 7F04459C 00000000 */ nop -/* 0790D0 7F0445A0 24790001 */ addiu $t9, $v1, 1 -/* 0790D4 7F0445A4 0330001A */ div $zero, $t9, $s0 -/* 0790D8 7F0445A8 00001810 */ mfhi $v1 -/* 0790DC 7F0445AC 16000002 */ bnez $s0, .L7F0445B8 -/* 0790E0 7F0445B0 00000000 */ nop -/* 0790E4 7F0445B4 0007000D */ break 7 -.L7F0445B8: -/* 0790E8 7F0445B8 2401FFFF */ li $at, -1 -/* 0790EC 7F0445BC 16010004 */ bne $s0, $at, .L7F0445D0 -/* 0790F0 7F0445C0 3C018000 */ lui $at, 0x8000 -/* 0790F4 7F0445C4 17210002 */ bne $t9, $at, .L7F0445D0 -/* 0790F8 7F0445C8 00000000 */ nop -/* 0790FC 7F0445CC 0006000D */ break 6 -.L7F0445D0: -/* 079100 7F0445D0 5468FFE6 */ bnel $v1, $t0, .L7F04456C -/* 079104 7F0445D4 0003C0C0 */ sll $t8, $v1, 3 -.L7F0445D8: -/* 079108 7F0445D8 1A200021 */ blez $s1, .L7F044660 -/* 07910C 7F0445DC 00000000 */ nop -/* 079110 7F0445E0 02A01025 */ move $v0, $s5 -.L7F0445E4: -/* 079114 7F0445E4 C4520004 */ lwc1 $f18, 4($v0) -/* 079118 7F0445E8 C4440000 */ lwc1 $f4, ($v0) -/* 07911C 7F0445EC 4622A032 */ c.eq.d $f20, $f2 -/* 079120 7F0445F0 460091A1 */ cvt.d.s $f6, $f18 -/* 079124 7F0445F4 460022A1 */ cvt.d.s $f10, $f4 -/* 079128 7F0445F8 462E3202 */ mul.d $f8, $f6, $f14 -/* 07912C 7F0445FC 00000000 */ nop -/* 079130 7F044600 462C5482 */ mul.d $f18, $f10, $f12 -/* 079134 7F044604 45000003 */ bc1f .L7F044614 -/* 079138 7F044608 46324000 */ add.d $f0, $f8, $f18 -/* 07913C 7F04460C 46201181 */ sub.d $f6, $f2, $f0 -/* 079140 7F044610 46223500 */ add.d $f20, $f6, $f2 -.L7F044614: -/* 079144 7F044614 4622003C */ c.lt.d $f0, $f2 -/* 079148 7F044618 00000000 */ nop -/* 07914C 7F04461C 45020006 */ bc1fl .L7F044638 -/* 079150 7F044620 4620103C */ c.lt.d $f2, $f0 -/* 079154 7F044624 4622A03C */ c.lt.d $f20, $f2 -/* 079158 7F044628 00000000 */ nop -/* 07915C 7F04462C 4501000C */ bc1t .L7F044660 -/* 079160 7F044630 00000000 */ nop -/* 079164 7F044634 4620103C */ c.lt.d $f2, $f0 -.L7F044638: -/* 079168 7F044638 00000000 */ nop -/* 07916C 7F04463C 45020006 */ bc1fl .L7F044658 -/* 079170 7F044640 24840001 */ addiu $a0, $a0, 1 -/* 079174 7F044644 4634103C */ c.lt.d $f2, $f20 -/* 079178 7F044648 00000000 */ nop -/* 07917C 7F04464C 45010004 */ bc1t .L7F044660 -/* 079180 7F044650 00000000 */ nop -/* 079184 7F044654 24840001 */ addiu $a0, $a0, 1 -.L7F044658: -/* 079188 7F044658 1491FFE2 */ bne $a0, $s1, .L7F0445E4 -/* 07918C 7F04465C 24420008 */ addiu $v0, $v0, 8 -.L7F044660: -/* 079190 7F044660 54910004 */ bnel $a0, $s1, .L7F044674 -/* 079194 7F044664 02804025 */ move $t0, $s4 -/* 079198 7F044668 10000006 */ b .L7F044684 -/* 07919C 7F04466C 24020001 */ li $v0, 1 -/* 0791A0 7F044670 02804025 */ move $t0, $s4 -.L7F044674: -/* 0791A4 7F044674 1690FF7F */ bne $s4, $s0, .L7F044474 -/* 0791A8 7F044678 26730008 */ addiu $s3, $s3, 8 -/* 0791AC 7F04467C F7B40088 */ sdc1 $f20, 0x88($sp) -.L7F044680: -/* 0791B0 7F044680 00001025 */ move $v0, $zero -.L7F044684: -/* 0791B4 7F044684 8FBF004C */ lw $ra, 0x4c($sp) -/* 0791B8 7F044688 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0791BC 7F04468C D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0791C0 7F044690 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0791C4 7F044694 8FB00030 */ lw $s0, 0x30($sp) -/* 0791C8 7F044698 8FB10034 */ lw $s1, 0x34($sp) -/* 0791CC 7F04469C 8FB20038 */ lw $s2, 0x38($sp) -/* 0791D0 7F0446A0 8FB3003C */ lw $s3, 0x3c($sp) -/* 0791D4 7F0446A4 8FB40040 */ lw $s4, 0x40($sp) -/* 0791D8 7F0446A8 8FB50044 */ lw $s5, 0x44($sp) -/* 0791DC 7F0446AC 8FB60048 */ lw $s6, 0x48($sp) -/* 0791E0 7F0446B0 03E00008 */ jr $ra -/* 0791E4 7F0446B4 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0446B8(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F0446B8 -/* 0791E8 7F0446B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0791EC 7F0446BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0791F0 7F0446C0 AFA40018 */ sw $a0, 0x18($sp) -/* 0791F4 7F0446C4 AFA5001C */ sw $a1, 0x1c($sp) -/* 0791F8 7F0446C8 AFA60020 */ sw $a2, 0x20($sp) -/* 0791FC 7F0446CC 0FC11105 */ jal sub_GAME_7F044414 -/* 079200 7F0446D0 AFA70024 */ sw $a3, 0x24($sp) -/* 079204 7F0446D4 10400003 */ beqz $v0, .L7F0446E4 -/* 079208 7F0446D8 8FA40020 */ lw $a0, 0x20($sp) -/* 07920C 7F0446DC 1000000A */ b .L7F044708 -/* 079210 7F0446E0 00001025 */ move $v0, $zero -.L7F0446E4: -/* 079214 7F0446E4 8FA50024 */ lw $a1, 0x24($sp) -/* 079218 7F0446E8 8FA60018 */ lw $a2, 0x18($sp) -/* 07921C 7F0446EC 0FC11105 */ jal sub_GAME_7F044414 -/* 079220 7F0446F0 8FA7001C */ lw $a3, 0x1c($sp) -/* 079224 7F0446F4 50400004 */ beql $v0, $zero, .L7F044708 -/* 079228 7F0446F8 24020001 */ li $v0, 1 -/* 07922C 7F0446FC 10000002 */ b .L7F044708 -/* 079230 7F044700 00001025 */ move $v0, $zero -/* 079234 7F044704 24020001 */ li $v0, 1 -.L7F044708: -/* 079238 7F044708 8FBF0014 */ lw $ra, 0x14($sp) -/* 07923C 7F04470C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 079240 7F044710 03E00008 */ jr $ra -/* 079244 7F044714 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F0446B8 -/* 079510 7F0449A0 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 079514 7F0449A4 AFB60038 */ sw $s6, 0x38($sp) -/* 079518 7F0449A8 AFB50034 */ sw $s5, 0x34($sp) -/* 07951C 7F0449AC AFB40030 */ sw $s4, 0x30($sp) -/* 079520 7F0449B0 AFB3002C */ sw $s3, 0x2c($sp) -/* 079524 7F0449B4 AFB10024 */ sw $s1, 0x24($sp) -/* 079528 7F0449B8 00A09825 */ move $s3, $a1 -/* 07952C 7F0449BC 00E0A025 */ move $s4, $a3 -/* 079530 7F0449C0 0080A825 */ move $s5, $a0 -/* 079534 7F0449C4 00C0B025 */ move $s6, $a2 -/* 079538 7F0449C8 AFBF003C */ sw $ra, 0x3c($sp) -/* 07953C 7F0449CC AFB20028 */ sw $s2, 0x28($sp) -/* 079540 7F0449D0 AFB00020 */ sw $s0, 0x20($sp) -/* 079544 7F0449D4 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 079548 7F0449D8 18A00014 */ blez $a1, .Ljp7F044A2C -/* 07954C 7F0449DC 00008825 */ move $s1, $zero -/* 079550 7F0449E0 4480A000 */ mtc1 $zero, $f20 -/* 079554 7F0449E4 00808025 */ move $s0, $a0 -/* 079558 7F0449E8 27B20048 */ addiu $s2, $sp, 0x48 -.Ljp7F0449EC: -/* 07955C 7F0449EC C6040000 */ lwc1 $f4, ($s0) -/* 079560 7F0449F0 E7B4004C */ swc1 $f20, 0x4c($sp) -/* 079564 7F0449F4 02402025 */ move $a0, $s2 -/* 079568 7F0449F8 E7A40048 */ swc1 $f4, 0x48($sp) -/* 07956C 7F0449FC C6060004 */ lwc1 $f6, 4($s0) -/* 079570 7F044A00 02C02825 */ move $a1, $s6 -/* 079574 7F044A04 02803025 */ move $a2, $s4 -/* 079578 7F044A08 0FC0F3F6 */ jal sub_GAME_7F03CCD8 -/* 07957C 7F044A0C E7A60050 */ swc1 $f6, 0x50($sp) -/* 079580 7F044A10 10400003 */ beqz $v0, .Ljp7F044A20 -/* 079584 7F044A14 26310001 */ addiu $s1, $s1, 1 -/* 079588 7F044A18 10000029 */ b .Ljp7F044AC0 -/* 07958C 7F044A1C 24020001 */ li $v0, 1 -.Ljp7F044A20: -/* 079590 7F044A20 1633FFF2 */ bne $s1, $s3, .Ljp7F0449EC -/* 079594 7F044A24 26100008 */ addiu $s0, $s0, 8 -/* 079598 7F044A28 00008825 */ move $s1, $zero -.Ljp7F044A2C: -/* 07959C 7F044A2C 4480A000 */ mtc1 $zero, $f20 -/* 0795A0 7F044A30 1A800011 */ blez $s4, .Ljp7F044A78 -/* 0795A4 7F044A34 27B20048 */ addiu $s2, $sp, 0x48 -/* 0795A8 7F044A38 02C08025 */ move $s0, $s6 -.Ljp7F044A3C: -/* 0795AC 7F044A3C C6080000 */ lwc1 $f8, ($s0) -/* 0795B0 7F044A40 E7B4004C */ swc1 $f20, 0x4c($sp) -/* 0795B4 7F044A44 02402025 */ move $a0, $s2 -/* 0795B8 7F044A48 E7A80048 */ swc1 $f8, 0x48($sp) -/* 0795BC 7F044A4C C60A0004 */ lwc1 $f10, 4($s0) -/* 0795C0 7F044A50 02A02825 */ move $a1, $s5 -/* 0795C4 7F044A54 02603025 */ move $a2, $s3 -/* 0795C8 7F044A58 0FC0F3F6 */ jal sub_GAME_7F03CCD8 -/* 0795CC 7F044A5C E7AA0050 */ swc1 $f10, 0x50($sp) -/* 0795D0 7F044A60 10400003 */ beqz $v0, .Ljp7F044A70 -/* 0795D4 7F044A64 26310001 */ addiu $s1, $s1, 1 -/* 0795D8 7F044A68 10000015 */ b .Ljp7F044AC0 -/* 0795DC 7F044A6C 24020001 */ li $v0, 1 -.Ljp7F044A70: -/* 0795E0 7F044A70 1634FFF2 */ bne $s1, $s4, .Ljp7F044A3C -/* 0795E4 7F044A74 26100008 */ addiu $s0, $s0, 8 -.Ljp7F044A78: -/* 0795E8 7F044A78 02A02025 */ move $a0, $s5 -/* 0795EC 7F044A7C 02602825 */ move $a1, $s3 -/* 0795F0 7F044A80 02C03025 */ move $a2, $s6 -/* 0795F4 7F044A84 0FC111BF */ jal sub_GAME_7F044414 -/* 0795F8 7F044A88 02803825 */ move $a3, $s4 -/* 0795FC 7F044A8C 10400003 */ beqz $v0, .Ljp7F044A9C -/* 079600 7F044A90 02C02025 */ move $a0, $s6 -/* 079604 7F044A94 1000000A */ b .Ljp7F044AC0 -/* 079608 7F044A98 00001025 */ move $v0, $zero -.Ljp7F044A9C: -/* 07960C 7F044A9C 02802825 */ move $a1, $s4 -/* 079610 7F044AA0 02A03025 */ move $a2, $s5 -/* 079614 7F044AA4 0FC111BF */ jal sub_GAME_7F044414 -/* 079618 7F044AA8 02603825 */ move $a3, $s3 -/* 07961C 7F044AAC 50400004 */ beql $v0, $zero, .Ljp7F044AC0 -/* 079620 7F044AB0 24020001 */ li $v0, 1 -/* 079624 7F044AB4 10000002 */ b .Ljp7F044AC0 -/* 079628 7F044AB8 00001025 */ move $v0, $zero -/* 07962C 7F044ABC 24020001 */ li $v0, 1 -.Ljp7F044AC0: -/* 079630 7F044AC0 8FBF003C */ lw $ra, 0x3c($sp) -/* 079634 7F044AC4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 079638 7F044AC8 8FB00020 */ lw $s0, 0x20($sp) -/* 07963C 7F044ACC 8FB10024 */ lw $s1, 0x24($sp) -/* 079640 7F044AD0 8FB20028 */ lw $s2, 0x28($sp) -/* 079644 7F044AD4 8FB3002C */ lw $s3, 0x2c($sp) -/* 079648 7F044AD8 8FB40030 */ lw $s4, 0x30($sp) -/* 07964C 7F044ADC 8FB50034 */ lw $s5, 0x34($sp) -/* 079650 7F044AE0 8FB60038 */ lw $s6, 0x38($sp) -/* 079654 7F044AE4 03E00008 */ jr $ra -/* 079658 7F044AE8 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - -#endif - - - -#ifdef NONMATCHING -void sub_GAME_7F044718(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F044718 -/* 079248 7F044718 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 07924C 7F04471C AFB40060 */ sw $s4, 0x60($sp) -/* 079250 7F044720 AFB3005C */ sw $s3, 0x5c($sp) -/* 079254 7F044724 F7BC0040 */ sdc1 $f28, 0x40($sp) -/* 079258 7F044728 4485E000 */ mtc1 $a1, $f28 -/* 07925C 7F04472C AFBF0064 */ sw $ra, 0x64($sp) -/* 079260 7F044730 AFB20058 */ sw $s2, 0x58($sp) -/* 079264 7F044734 AFB10054 */ sw $s1, 0x54($sp) -/* 079268 7F044738 AFB00050 */ sw $s0, 0x50($sp) -/* 07926C 7F04473C F7BE0048 */ sdc1 $f30, 0x48($sp) -/* 079270 7F044740 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 079274 7F044744 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 079278 7F044748 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 07927C 7F04474C F7B40020 */ sdc1 $f20, 0x20($sp) -/* 079280 7F044750 00E09825 */ move $s3, $a3 -/* 079284 7F044754 00C0A025 */ move $s4, $a2 -/* 079288 7F044758 C4960000 */ lwc1 $f22, ($a0) -/* 07928C 7F04475C C4980008 */ lwc1 $f24, 8($a0) -/* 079290 7F044760 18E00042 */ blez $a3, .L7F04486C -/* 079294 7F044764 00001025 */ move $v0, $zero -/* 079298 7F044768 4480F000 */ mtc1 $zero, $f30 -/* 07929C 7F04476C 00C08825 */ move $s1, $a2 -.L7F044770: -/* 0792A0 7F044770 24520001 */ addiu $s2, $v0, 1 -/* 0792A4 7F044774 0253001A */ div $zero, $s2, $s3 -/* 0792A8 7F044778 00007010 */ mfhi $t6 -/* 0792AC 7F04477C 000E78C0 */ sll $t7, $t6, 3 -/* 0792B0 7F044780 028F8021 */ addu $s0, $s4, $t7 -/* 0792B4 7F044784 8E060000 */ lw $a2, ($s0) -/* 0792B8 7F044788 8E070004 */ lw $a3, 4($s0) -/* 0792BC 7F04478C C62C0000 */ lwc1 $f12, ($s1) -/* 0792C0 7F044790 C62E0004 */ lwc1 $f14, 4($s1) -/* 0792C4 7F044794 16600002 */ bnez $s3, .L7F0447A0 -/* 0792C8 7F044798 00000000 */ nop -/* 0792CC 7F04479C 0007000D */ break 7 -.L7F0447A0: -/* 0792D0 7F0447A0 2401FFFF */ li $at, -1 -/* 0792D4 7F0447A4 16610004 */ bne $s3, $at, .L7F0447B8 -/* 0792D8 7F0447A8 3C018000 */ lui $at, 0x8000 -/* 0792DC 7F0447AC 16410002 */ bne $s2, $at, .L7F0447B8 -/* 0792E0 7F0447B0 00000000 */ nop -/* 0792E4 7F0447B4 0006000D */ break 6 -.L7F0447B8: -/* 0792E8 7F0447B8 E7B80014 */ swc1 $f24, 0x14($sp) -/* 0792EC 7F0447BC 0FC2C5B1 */ jal sub_GAME_7F0B16C4 -/* 0792F0 7F0447C0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0792F4 7F0447C4 461E003C */ c.lt.s $f0, $f30 -/* 0792F8 7F0447C8 4406B000 */ mfc1 $a2, $f22 -/* 0792FC 7F0447CC 4407C000 */ mfc1 $a3, $f24 -/* 079300 7F0447D0 46000506 */ mov.s $f20, $f0 -/* 079304 7F0447D4 45020003 */ bc1fl .L7F0447E4 -/* 079308 7F0447D8 C62C0000 */ lwc1 $f12, ($s1) -/* 07930C 7F0447DC 46000507 */ neg.s $f20, $f0 -/* 079310 7F0447E0 C62C0000 */ lwc1 $f12, ($s1) -.L7F0447E4: -/* 079314 7F0447E4 0FC2C5E5 */ jal sub_GAME_7F0B1794 -/* 079318 7F0447E8 C62E0004 */ lwc1 $f14, 4($s1) -/* 07931C 7F0447EC 4406B000 */ mfc1 $a2, $f22 -/* 079320 7F0447F0 4407C000 */ mfc1 $a3, $f24 -/* 079324 7F0447F4 46000686 */ mov.s $f26, $f0 -/* 079328 7F0447F8 C60C0000 */ lwc1 $f12, ($s0) -/* 07932C 7F0447FC 0FC2C5E5 */ jal sub_GAME_7F0B1794 -/* 079330 7F044800 C60E0004 */ lwc1 $f14, 4($s0) -/* 079334 7F044804 461CA03C */ c.lt.s $f20, $f28 -/* 079338 7F044808 00000000 */ nop -/* 07933C 7F04480C 45020015 */ bc1fl .L7F044864 -/* 079340 7F044810 02401025 */ move $v0, $s2 -/* 079344 7F044814 461CD03C */ c.lt.s $f26, $f28 -/* 079348 7F044818 00000000 */ nop -/* 07934C 7F04481C 4501000E */ bc1t .L7F044858 -/* 079350 7F044820 00000000 */ nop -/* 079354 7F044824 461C003C */ c.lt.s $f0, $f28 -/* 079358 7F044828 00000000 */ nop -/* 07935C 7F04482C 4501000A */ bc1t .L7F044858 -/* 079360 7F044830 00000000 */ nop -/* 079364 7F044834 C62C0000 */ lwc1 $f12, ($s1) -/* 079368 7F044838 C62E0004 */ lwc1 $f14, 4($s1) -/* 07936C 7F04483C 8E060000 */ lw $a2, ($s0) -/* 079370 7F044840 8E070004 */ lw $a3, 4($s0) -/* 079374 7F044844 E7B80014 */ swc1 $f24, 0x14($sp) -/* 079378 7F044848 0FC2C5F9 */ jal sub_GAME_7F0B17E4 -/* 07937C 7F04484C E7B60010 */ swc1 $f22, 0x10($sp) -/* 079380 7F044850 50400004 */ beql $v0, $zero, .L7F044864 -/* 079384 7F044854 02401025 */ move $v0, $s2 -.L7F044858: -/* 079388 7F044858 10000005 */ b .L7F044870 -/* 07938C 7F04485C 24020001 */ li $v0, 1 -/* 079390 7F044860 02401025 */ move $v0, $s2 -.L7F044864: -/* 079394 7F044864 1653FFC2 */ bne $s2, $s3, .L7F044770 -/* 079398 7F044868 26310008 */ addiu $s1, $s1, 8 -.L7F04486C: -/* 07939C 7F04486C 00001025 */ move $v0, $zero -.L7F044870: -/* 0793A0 7F044870 8FBF0064 */ lw $ra, 0x64($sp) -/* 0793A4 7F044874 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0793A8 7F044878 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0793AC 7F04487C D7B80030 */ ldc1 $f24, 0x30($sp) -/* 0793B0 7F044880 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 0793B4 7F044884 D7BC0040 */ ldc1 $f28, 0x40($sp) -/* 0793B8 7F044888 D7BE0048 */ ldc1 $f30, 0x48($sp) -/* 0793BC 7F04488C 8FB00050 */ lw $s0, 0x50($sp) -/* 0793C0 7F044890 8FB10054 */ lw $s1, 0x54($sp) -/* 0793C4 7F044894 8FB20058 */ lw $s2, 0x58($sp) -/* 0793C8 7F044898 8FB3005C */ lw $s3, 0x5c($sp) -/* 0793CC 7F04489C 8FB40060 */ lw $s4, 0x60($sp) -/* 0793D0 7F0448A0 03E00008 */ jr $ra -/* 0793D4 7F0448A4 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0448A8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0448A8 -/* 0793D8 7F0448A8 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0793DC 7F0448AC AFBF0034 */ sw $ra, 0x34($sp) -/* 0793E0 7F0448B0 AFB50030 */ sw $s5, 0x30($sp) -/* 0793E4 7F0448B4 27AE008C */ addiu $t6, $sp, 0x8c -/* 0793E8 7F0448B8 0080A825 */ move $s5, $a0 -/* 0793EC 7F0448BC AFB4002C */ sw $s4, 0x2c($sp) -/* 0793F0 7F0448C0 AFB30028 */ sw $s3, 0x28($sp) -/* 0793F4 7F0448C4 AFB20024 */ sw $s2, 0x24($sp) -/* 0793F8 7F0448C8 AFB10020 */ sw $s1, 0x20($sp) -/* 0793FC 7F0448CC AFB0001C */ sw $s0, 0x1c($sp) -/* 079400 7F0448D0 AFAE0010 */ sw $t6, 0x10($sp) -/* 079404 7F0448D4 27A50098 */ addiu $a1, $sp, 0x98 -/* 079408 7F0448D8 27A60094 */ addiu $a2, $sp, 0x94 -/* 07940C 7F0448DC 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 079410 7F0448E0 27A70090 */ addiu $a3, $sp, 0x90 -/* 079414 7F0448E4 8FAF0094 */ lw $t7, 0x94($sp) -/* 079418 7F0448E8 27B0006C */ addiu $s0, $sp, 0x6c -/* 07941C 7F0448EC 02A02025 */ move $a0, $s5 -/* 079420 7F0448F0 1DE00003 */ bgtz $t7, .L7F044900 -/* 079424 7F0448F4 00000000 */ nop -/* 079428 7F0448F8 10000086 */ b .L7F044B14 -/* 07942C 7F0448FC 24020001 */ li $v0, 1 -.L7F044900: -/* 079430 7F044900 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 079434 7F044904 02002825 */ move $a1, $s0 -/* 079438 7F044908 0FC0F8FF */ jal sub_GAME_7F03E3FC -/* 07943C 7F04490C 02002025 */ move $a0, $s0 -/* 079440 7F044910 3C138007 */ lui $s3, %hi(ptr_list_object_lookup_indices) -/* 079444 7F044914 8E739C30 */ lw $s3, %lo(ptr_list_object_lookup_indices)($s3) -/* 079448 7F044918 24140002 */ li $s4, 2 -/* 07944C 7F04491C 86620000 */ lh $v0, ($s3) -/* 079450 7F044920 0440007B */ bltz $v0, .L7F044B10 -/* 079454 7F044924 0002C080 */ sll $t8, $v0, 2 -.L7F044928: -/* 079458 7F044928 0302C023 */ subu $t8, $t8, $v0 -/* 07945C 7F04492C 0018C080 */ sll $t8, $t8, 2 -/* 079460 7F044930 0302C021 */ addu $t8, $t8, $v0 -/* 079464 7F044934 3C198007 */ lui $t9, %hi(pos_data_entry) -/* 079468 7F044938 27399C38 */ addiu $t9, %lo(pos_data_entry) # addiu $t9, $t9, -0x63c8 -/* 07946C 7F04493C 0018C080 */ sll $t8, $t8, 2 -/* 079470 7F044940 03199021 */ addu $s2, $t8, $t9 -/* 079474 7F044944 5255006F */ beql $s2, $s5, .L7F044B04 -/* 079478 7F044948 86620002 */ lh $v0, 2($s3) -/* 07947C 7F04494C 92420000 */ lbu $v0, ($s2) -/* 079480 7F044950 24010006 */ li $at, 6 -/* 079484 7F044954 10410003 */ beq $v0, $at, .L7F044964 -/* 079488 7F044958 24010003 */ li $at, 3 -/* 07948C 7F04495C 5441003C */ bnel $v0, $at, .L7F044A50 -/* 079490 7F044960 24010001 */ li $at, 1 -.L7F044964: -/* 079494 7F044964 8E420004 */ lw $v0, 4($s2) -/* 079498 7F044968 02402025 */ move $a0, $s2 -/* 07949C 7F04496C 27A5005C */ addiu $a1, $sp, 0x5c -/* 0794A0 7F044970 10400005 */ beqz $v0, .L7F044988 -/* 0794A4 7F044974 27A60064 */ addiu $a2, $sp, 0x64 -/* 0794A8 7F044978 8C480014 */ lw $t0, 0x14($v0) -/* 0794AC 7F04497C 31090400 */ andi $t1, $t0, 0x400 -/* 0794B0 7F044980 55200060 */ bnezl $t1, .L7F044B04 -/* 0794B4 7F044984 86620002 */ lh $v0, 2($s3) -.L7F044988: -/* 0794B8 7F044988 0FC0F3E2 */ jal sub_GAME_7F03CF88 -/* 0794BC 7F04498C 27A70060 */ addiu $a3, $sp, 0x60 -/* 0794C0 7F044990 0FC0F3FA */ jal sub_GAME_7F03CFE8 -/* 0794C4 7F044994 02402025 */ move $a0, $s2 -/* 0794C8 7F044998 C7A20060 */ lwc1 $f2, 0x60($sp) -/* 0794CC 7F04499C C7A80090 */ lwc1 $f8, 0x90($sp) -/* 0794D0 7F0449A0 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 0794D4 7F0449A4 46001080 */ add.s $f2, $f2, $f0 -/* 0794D8 7F0449A8 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 0794DC 7F0449AC 46002180 */ add.s $f6, $f4, $f0 -/* 0794E0 7F0449B0 E7A20060 */ swc1 $f2, 0x60($sp) -/* 0794E4 7F0449B4 4608103E */ c.le.s $f2, $f8 -/* 0794E8 7F0449B8 E7A60064 */ swc1 $f6, 0x64($sp) -/* 0794EC 7F0449BC 45020051 */ bc1fl .L7F044B04 -/* 0794F0 7F0449C0 86620002 */ lh $v0, 2($s3) -/* 0794F4 7F0449C4 4606503E */ c.le.s $f10, $f6 -/* 0794F8 7F0449C8 26510008 */ addiu $s1, $s2, 8 -/* 0794FC 7F0449CC 24100001 */ li $s0, 1 -/* 079500 7F0449D0 02202025 */ move $a0, $s1 -/* 079504 7F0449D4 4500004A */ bc1f .L7F044B00 -/* 079508 7F0449D8 8FA50098 */ lw $a1, 0x98($sp) -/* 07950C 7F0449DC 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 079510 7F0449E0 8FA60094 */ lw $a2, 0x94($sp) -/* 079514 7F0449E4 10400002 */ beqz $v0, .L7F0449F0 -/* 079518 7F0449E8 02202025 */ move $a0, $s1 -/* 07951C 7F0449EC 00008025 */ move $s0, $zero -.L7F0449F0: -/* 079520 7F0449F0 12000007 */ beqz $s0, .L7F044A10 -/* 079524 7F0449F4 8FA5005C */ lw $a1, 0x5c($sp) -/* 079528 7F0449F8 8FA60098 */ lw $a2, 0x98($sp) -/* 07952C 7F0449FC 0FC111C6 */ jal sub_GAME_7F044718 -/* 079530 7F044A00 8FA70094 */ lw $a3, 0x94($sp) -/* 079534 7F044A04 10400002 */ beqz $v0, .L7F044A10 -/* 079538 7F044A08 00000000 */ nop -/* 07953C 7F044A0C 00008025 */ move $s0, $zero -.L7F044A10: -/* 079540 7F044A10 5600003C */ bnezl $s0, .L7F044B04 -/* 079544 7F044A14 86620002 */ lh $v0, 2($s3) -/* 079548 7F044A18 924A0000 */ lbu $t2, ($s2) -/* 07954C 7F044A1C 24010003 */ li $at, 3 -/* 079550 7F044A20 15410008 */ bne $t2, $at, .L7F044A44 -/* 079554 7F044A24 00000000 */ nop -/* 079558 7F044A28 92AB0000 */ lbu $t3, ($s5) -/* 07955C 7F044A2C 168B0005 */ bne $s4, $t3, .L7F044A44 -/* 079560 7F044A30 00000000 */ nop -/* 079564 7F044A34 8E420004 */ lw $v0, 4($s2) -/* 079568 7F044A38 944C0012 */ lhu $t4, 0x12($v0) -/* 07956C 7F044A3C 358D0010 */ ori $t5, $t4, 0x10 -/* 079570 7F044A40 A44D0012 */ sh $t5, 0x12($v0) -.L7F044A44: -/* 079574 7F044A44 10000033 */ b .L7F044B14 -/* 079578 7F044A48 00001025 */ move $v0, $zero -/* 07957C 7F044A4C 24010001 */ li $at, 1 -.L7F044A50: -/* 079580 7F044A50 10410005 */ beq $v0, $at, .L7F044A68 -/* 079584 7F044A54 24010004 */ li $at, 4 -/* 079588 7F044A58 50410004 */ beql $v0, $at, .L7F044A6C -/* 07958C 7F044A5C 92AE0000 */ lbu $t6, ($s5) -/* 079590 7F044A60 56820028 */ bnel $s4, $v0, .L7F044B04 -/* 079594 7F044A64 86620002 */ lh $v0, 2($s3) -.L7F044A68: -/* 079598 7F044A68 92AE0000 */ lbu $t6, ($s5) -.L7F044A6C: -/* 07959C 7F044A6C 02402025 */ move $a0, $s2 -/* 0795A0 7F044A70 27A5004C */ addiu $a1, $sp, 0x4c -/* 0795A4 7F044A74 168E0009 */ bne $s4, $t6, .L7F044A9C -/* 0795A8 7F044A78 27A60048 */ addiu $a2, $sp, 0x48 -/* 0795AC 7F044A7C 52820021 */ beql $s4, $v0, .L7F044B04 -/* 0795B0 7F044A80 86620002 */ lh $v0, 2($s3) -/* 0795B4 7F044A84 8E4F0004 */ lw $t7, 4($s2) -/* 0795B8 7F044A88 2401002B */ li $at, 43 -/* 0795BC 7F044A8C 91E20003 */ lbu $v0, 3($t7) -/* 0795C0 7F044A90 1041001B */ beq $v0, $at, .L7F044B00 -/* 0795C4 7F044A94 24010028 */ li $at, 40 -/* 0795C8 7F044A98 10410019 */ beq $v0, $at, .L7F044B00 -.L7F044A9C: -/* 0795CC 7F044A9C 27B80040 */ addiu $t8, $sp, 0x40 -/* 0795D0 7F044AA0 AFB80010 */ sw $t8, 0x10($sp) -/* 0795D4 7F044AA4 0FC0F308 */ jal sub_GAME_7F03CC20 -/* 0795D8 7F044AA8 27A70044 */ addiu $a3, $sp, 0x44 -/* 0795DC 7F044AAC 8FA50048 */ lw $a1, 0x48($sp) -/* 0795E0 7F044AB0 C7B00090 */ lwc1 $f16, 0x90($sp) -/* 0795E4 7F044AB4 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 0795E8 7F044AB8 58A00012 */ blezl $a1, .L7F044B04 -/* 0795EC 7F044ABC 86620002 */ lh $v0, 2($s3) -/* 0795F0 7F044AC0 4610903E */ c.le.s $f18, $f16 -/* 0795F4 7F044AC4 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 0795F8 7F044AC8 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 0795FC 7F044ACC 4502000D */ bc1fl .L7F044B04 -/* 079600 7F044AD0 86620002 */ lh $v0, 2($s3) -/* 079604 7F044AD4 4604403E */ c.le.s $f8, $f4 -/* 079608 7F044AD8 8FA4004C */ lw $a0, 0x4c($sp) -/* 07960C 7F044ADC 8FA60098 */ lw $a2, 0x98($sp) -/* 079610 7F044AE0 45020008 */ bc1fl .L7F044B04 -/* 079614 7F044AE4 86620002 */ lh $v0, 2($s3) -/* 079618 7F044AE8 0FC111AE */ jal sub_GAME_7F0446B8 -/* 07961C 7F044AEC 8FA70094 */ lw $a3, 0x94($sp) -/* 079620 7F044AF0 50400004 */ beql $v0, $zero, .L7F044B04 -/* 079624 7F044AF4 86620002 */ lh $v0, 2($s3) -/* 079628 7F044AF8 10000006 */ b .L7F044B14 -/* 07962C 7F044AFC 00001025 */ move $v0, $zero -.L7F044B00: -/* 079630 7F044B00 86620002 */ lh $v0, 2($s3) -.L7F044B04: -/* 079634 7F044B04 26730002 */ addiu $s3, $s3, 2 -/* 079638 7F044B08 0443FF87 */ bgezl $v0, .L7F044928 -/* 07963C 7F044B0C 0002C080 */ sll $t8, $v0, 2 -.L7F044B10: -/* 079640 7F044B10 24020001 */ li $v0, 1 -.L7F044B14: -/* 079644 7F044B14 8FBF0034 */ lw $ra, 0x34($sp) -/* 079648 7F044B18 8FB0001C */ lw $s0, 0x1c($sp) -/* 07964C 7F044B1C 8FB10020 */ lw $s1, 0x20($sp) -/* 079650 7F044B20 8FB20024 */ lw $s2, 0x24($sp) -/* 079654 7F044B24 8FB30028 */ lw $s3, 0x28($sp) -/* 079658 7F044B28 8FB4002C */ lw $s4, 0x2c($sp) -/* 07965C 7F044B2C 8FB50030 */ lw $s5, 0x30($sp) -/* 079660 7F044B30 03E00008 */ jr $ra -/* 079664 7F044B34 27BD00A0 */ addiu $sp, $sp, 0xa0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F044B38(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F044B38 -/* 079668 7F044B38 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 07966C 7F044B3C AFBF0024 */ sw $ra, 0x24($sp) -/* 079670 7F044B40 AFB10020 */ sw $s1, 0x20($sp) -/* 079674 7F044B44 AFB0001C */ sw $s0, 0x1c($sp) -/* 079678 7F044B48 8C830014 */ lw $v1, 0x14($a0) -/* 07967C 7F044B4C 8C910010 */ lw $s1, 0x10($a0) -/* 079680 7F044B50 24180001 */ li $t8, 1 -/* 079684 7F044B54 8C790008 */ lw $t9, 8($v1) -/* 079688 7F044B58 00808025 */ move $s0, $a0 -/* 07968C 7F044B5C 27A500C8 */ addiu $a1, $sp, 0xc8 -/* 079690 7F044B60 8F220008 */ lw $v0, 8($t9) -/* 079694 7F044B64 8C480004 */ lw $t0, 4($v0) -/* 079698 7F044B68 8D090004 */ lw $t1, 4($t0) -/* 07969C 7F044B6C AFA90148 */ sw $t1, 0x148($sp) -/* 0796A0 7F044B70 8C4A0008 */ lw $t2, 8($v0) -/* 0796A4 7F044B74 8D4B0004 */ lw $t3, 4($t2) -/* 0796A8 7F044B78 AFAB0144 */ sw $t3, 0x144($sp) -/* 0796AC 7F044B7C 8C4C000C */ lw $t4, 0xc($v0) -/* 0796B0 7F044B80 8D8D0004 */ lw $t5, 4($t4) -/* 0796B4 7F044B84 AFAD0140 */ sw $t5, 0x140($sp) -/* 0796B8 7F044B88 8C4E0010 */ lw $t6, 0x10($v0) -/* 0796BC 7F044B8C 8DCF0004 */ lw $t7, 4($t6) -/* 0796C0 7F044B90 AFB80108 */ sw $t8, 0x108($sp) -/* 0796C4 7F044B94 AFAF013C */ sw $t7, 0x13c($sp) -/* 0796C8 7F044B98 8C590018 */ lw $t9, 0x18($v0) -/* 0796CC 7F044B9C 8F280004 */ lw $t0, 4($t9) -/* 0796D0 7F044BA0 AFA800C0 */ sw $t0, 0xc0($sp) -/* 0796D4 7F044BA4 C48C00A0 */ lwc1 $f12, 0xa0($a0) -/* 0796D8 7F044BA8 0FC1617F */ jal sub_GAME_7F0585FC -/* 0796DC 7F044BAC AFA30154 */ sw $v1, 0x154($sp) -/* 0796E0 7F044BB0 8FA90154 */ lw $t1, 0x154($sp) -/* 0796E4 7F044BB4 27A500C8 */ addiu $a1, $sp, 0xc8 -/* 0796E8 7F044BB8 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0796EC 7F044BBC C52C0014 */ lwc1 $f12, 0x14($t1) -/* 0796F0 7F044BC0 26040058 */ addiu $a0, $s0, 0x58 -/* 0796F4 7F044BC4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0796F8 7F044BC8 27A500C8 */ addiu $a1, $sp, 0xc8 -/* 0796FC 7F044BCC 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 079700 7F044BD0 8FA50148 */ lw $a1, 0x148($sp) -/* 079704 7F044BD4 0FC16106 */ jal sub_GAME_7F058418 -/* 079708 7F044BD8 27A60130 */ addiu $a2, $sp, 0x130 -/* 07970C 7F044BDC 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 079710 7F044BE0 8FA50144 */ lw $a1, 0x144($sp) -/* 079714 7F044BE4 0FC16106 */ jal sub_GAME_7F058418 -/* 079718 7F044BE8 27A60124 */ addiu $a2, $sp, 0x124 -/* 07971C 7F044BEC 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 079720 7F044BF0 8FA50140 */ lw $a1, 0x140($sp) -/* 079724 7F044BF4 0FC16106 */ jal sub_GAME_7F058418 -/* 079728 7F044BF8 27A60118 */ addiu $a2, $sp, 0x118 -/* 07972C 7F044BFC 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 079730 7F044C00 8FA5013C */ lw $a1, 0x13c($sp) -/* 079734 7F044C04 0FC16106 */ jal sub_GAME_7F058418 -/* 079738 7F044C08 27A6010C */ addiu $a2, $sp, 0x10c -/* 07973C 7F044C0C 8E2A0014 */ lw $t2, 0x14($s1) -/* 079740 7F044C10 C7A80138 */ lwc1 $f8, 0x138($sp) -/* 079744 7F044C14 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 079748 7F044C18 AFAA00C4 */ sw $t2, 0xc4($sp) -/* 07974C 7F044C1C 8E260010 */ lw $a2, 0x10($s1) -/* 079750 7F044C20 8E250008 */ lw $a1, 8($s1) -/* 079754 7F044C24 8FA70130 */ lw $a3, 0x130($sp) -/* 079758 7F044C28 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07975C 7F044C2C E7A80010 */ swc1 $f8, 0x10($sp) -/* 079760 7F044C30 10400006 */ beqz $v0, .L7F044C4C -/* 079764 7F044C34 8FA400C4 */ lw $a0, 0xc4($sp) -/* 079768 7F044C38 8FA50130 */ lw $a1, 0x130($sp) -/* 07976C 7F044C3C 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 079770 7F044C40 8FA60138 */ lw $a2, 0x138($sp) -/* 079774 7F044C44 10000002 */ b .L7F044C50 -/* 079778 7F044C48 E7A00134 */ swc1 $f0, 0x134($sp) -.L7F044C4C: -/* 07977C 7F044C4C AFA00108 */ sw $zero, 0x108($sp) -.L7F044C50: -/* 079780 7F044C50 8E2B0014 */ lw $t3, 0x14($s1) -/* 079784 7F044C54 C7A6012C */ lwc1 $f6, 0x12c($sp) -/* 079788 7F044C58 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 07978C 7F044C5C AFAB00C4 */ sw $t3, 0xc4($sp) -/* 079790 7F044C60 8E260010 */ lw $a2, 0x10($s1) -/* 079794 7F044C64 8E250008 */ lw $a1, 8($s1) -/* 079798 7F044C68 8FA70124 */ lw $a3, 0x124($sp) -/* 07979C 7F044C6C 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0797A0 7F044C70 E7A60010 */ swc1 $f6, 0x10($sp) -/* 0797A4 7F044C74 10400006 */ beqz $v0, .L7F044C90 -/* 0797A8 7F044C78 8FA400C4 */ lw $a0, 0xc4($sp) -/* 0797AC 7F044C7C 8FA50124 */ lw $a1, 0x124($sp) -/* 0797B0 7F044C80 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0797B4 7F044C84 8FA6012C */ lw $a2, 0x12c($sp) -/* 0797B8 7F044C88 10000002 */ b .L7F044C94 -/* 0797BC 7F044C8C E7A00128 */ swc1 $f0, 0x128($sp) -.L7F044C90: -/* 0797C0 7F044C90 AFA00108 */ sw $zero, 0x108($sp) -.L7F044C94: -/* 0797C4 7F044C94 8E2C0014 */ lw $t4, 0x14($s1) -/* 0797C8 7F044C98 C7A40120 */ lwc1 $f4, 0x120($sp) -/* 0797CC 7F044C9C 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0797D0 7F044CA0 AFAC00C4 */ sw $t4, 0xc4($sp) -/* 0797D4 7F044CA4 8E260010 */ lw $a2, 0x10($s1) -/* 0797D8 7F044CA8 8E250008 */ lw $a1, 8($s1) -/* 0797DC 7F044CAC 8FA70118 */ lw $a3, 0x118($sp) -/* 0797E0 7F044CB0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 0797E4 7F044CB4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0797E8 7F044CB8 10400006 */ beqz $v0, .L7F044CD4 -/* 0797EC 7F044CBC 8FA400C4 */ lw $a0, 0xc4($sp) -/* 0797F0 7F044CC0 8FA50118 */ lw $a1, 0x118($sp) -/* 0797F4 7F044CC4 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 0797F8 7F044CC8 8FA60120 */ lw $a2, 0x120($sp) -/* 0797FC 7F044CCC 10000002 */ b .L7F044CD8 -/* 079800 7F044CD0 E7A0011C */ swc1 $f0, 0x11c($sp) -.L7F044CD4: -/* 079804 7F044CD4 AFA00108 */ sw $zero, 0x108($sp) -.L7F044CD8: -/* 079808 7F044CD8 8E2D0014 */ lw $t5, 0x14($s1) -/* 07980C 7F044CDC C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 079810 7F044CE0 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 079814 7F044CE4 AFAD00C4 */ sw $t5, 0xc4($sp) -/* 079818 7F044CE8 8E260010 */ lw $a2, 0x10($s1) -/* 07981C 7F044CEC 8E250008 */ lw $a1, 8($s1) -/* 079820 7F044CF0 8FA7010C */ lw $a3, 0x10c($sp) -/* 079824 7F044CF4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 079828 7F044CF8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07982C 7F044CFC 10400006 */ beqz $v0, .L7F044D18 -/* 079830 7F044D00 8FA400C4 */ lw $a0, 0xc4($sp) -/* 079834 7F044D04 8FA5010C */ lw $a1, 0x10c($sp) -/* 079838 7F044D08 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 07983C 7F044D0C 8FA60114 */ lw $a2, 0x114($sp) -/* 079840 7F044D10 10000002 */ b .L7F044D1C -/* 079844 7F044D14 E7A00110 */ swc1 $f0, 0x110($sp) -.L7F044D18: -/* 079848 7F044D18 AFA00108 */ sw $zero, 0x108($sp) -.L7F044D1C: -/* 07984C 7F044D1C 8FAE0108 */ lw $t6, 0x108($sp) -/* 079850 7F044D20 26040018 */ addiu $a0, $s0, 0x18 -/* 079854 7F044D24 27A600BC */ addiu $a2, $sp, 0xbc -/* 079858 7F044D28 11C0010E */ beqz $t6, .L7F045164 -/* 07985C 7F044D2C 00802825 */ move $a1, $a0 -/* 079860 7F044D30 C7B20124 */ lwc1 $f18, 0x124($sp) -/* 079864 7F044D34 C7B00130 */ lwc1 $f16, 0x130($sp) -/* 079868 7F044D38 C7AE0128 */ lwc1 $f14, 0x128($sp) -/* 07986C 7F044D3C C7AC0134 */ lwc1 $f12, 0x134($sp) -/* 079870 7F044D40 46109401 */ sub.s $f16, $f18, $f16 -/* 079874 7F044D44 C7B2012C */ lwc1 $f18, 0x12c($sp) -/* 079878 7F044D48 C7AA0138 */ lwc1 $f10, 0x138($sp) -/* 07987C 7F044D4C 460C7301 */ sub.s $f12, $f14, $f12 -/* 079880 7F044D50 E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 079884 7F044D54 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 079888 7F044D58 460A9281 */ sub.s $f10, $f18, $f10 -/* 07988C 7F044D5C E7AC00B8 */ swc1 $f12, 0xb8($sp) -/* 079890 7F044D60 27A500B8 */ addiu $a1, $sp, 0xb8 -/* 079894 7F044D64 0C007DD4 */ jal guNormalize -/* 079898 7F044D68 E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 07989C 7F044D6C C7B2010C */ lwc1 $f18, 0x10c($sp) -/* 0798A0 7F044D70 C7B00124 */ lwc1 $f16, 0x124($sp) -/* 0798A4 7F044D74 C7AE0110 */ lwc1 $f14, 0x110($sp) -/* 0798A8 7F044D78 C7AC0128 */ lwc1 $f12, 0x128($sp) -/* 0798AC 7F044D7C 46109401 */ sub.s $f16, $f18, $f16 -/* 0798B0 7F044D80 C7B20114 */ lwc1 $f18, 0x114($sp) -/* 0798B4 7F044D84 C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 0798B8 7F044D88 460C7301 */ sub.s $f12, $f14, $f12 -/* 0798BC 7F044D8C E7B000A8 */ swc1 $f16, 0xa8($sp) -/* 0798C0 7F044D90 27A400A8 */ addiu $a0, $sp, 0xa8 -/* 0798C4 7F044D94 460A9281 */ sub.s $f10, $f18, $f10 -/* 0798C8 7F044D98 E7AC00AC */ swc1 $f12, 0xac($sp) -/* 0798CC 7F044D9C 27A500AC */ addiu $a1, $sp, 0xac -/* 0798D0 7F044DA0 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 0798D4 7F044DA4 0C007DD4 */ jal guNormalize -/* 0798D8 7F044DA8 E7AA00B0 */ swc1 $f10, 0xb0($sp) -/* 0798DC 7F044DAC C7B20118 */ lwc1 $f18, 0x118($sp) -/* 0798E0 7F044DB0 C7B0010C */ lwc1 $f16, 0x10c($sp) -/* 0798E4 7F044DB4 C7AE011C */ lwc1 $f14, 0x11c($sp) -/* 0798E8 7F044DB8 C7AC0110 */ lwc1 $f12, 0x110($sp) -/* 0798EC 7F044DBC 46109401 */ sub.s $f16, $f18, $f16 -/* 0798F0 7F044DC0 C7B20120 */ lwc1 $f18, 0x120($sp) -/* 0798F4 7F044DC4 C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 0798F8 7F044DC8 460C7301 */ sub.s $f12, $f14, $f12 -/* 0798FC 7F044DCC E7B0009C */ swc1 $f16, 0x9c($sp) -/* 079900 7F044DD0 27A4009C */ addiu $a0, $sp, 0x9c -/* 079904 7F044DD4 460A9281 */ sub.s $f10, $f18, $f10 -/* 079908 7F044DD8 E7AC00A0 */ swc1 $f12, 0xa0($sp) -/* 07990C 7F044DDC 27A500A0 */ addiu $a1, $sp, 0xa0 -/* 079910 7F044DE0 27A600A4 */ addiu $a2, $sp, 0xa4 -/* 079914 7F044DE4 0C007DD4 */ jal guNormalize -/* 079918 7F044DE8 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 07991C 7F044DEC C7B20130 */ lwc1 $f18, 0x130($sp) -/* 079920 7F044DF0 C7B00118 */ lwc1 $f16, 0x118($sp) -/* 079924 7F044DF4 C7AE0134 */ lwc1 $f14, 0x134($sp) -/* 079928 7F044DF8 C7AC011C */ lwc1 $f12, 0x11c($sp) -/* 07992C 7F044DFC 46109401 */ sub.s $f16, $f18, $f16 -/* 079930 7F044E00 C7B20138 */ lwc1 $f18, 0x138($sp) -/* 079934 7F044E04 C7AA0120 */ lwc1 $f10, 0x120($sp) -/* 079938 7F044E08 460C7301 */ sub.s $f12, $f14, $f12 -/* 07993C 7F044E0C E7B00090 */ swc1 $f16, 0x90($sp) -/* 079940 7F044E10 27A40090 */ addiu $a0, $sp, 0x90 -/* 079944 7F044E14 460A9281 */ sub.s $f10, $f18, $f10 -/* 079948 7F044E18 E7AC0094 */ swc1 $f12, 0x94($sp) -/* 07994C 7F044E1C 27A50094 */ addiu $a1, $sp, 0x94 -/* 079950 7F044E20 27A60098 */ addiu $a2, $sp, 0x98 -/* 079954 7F044E24 0C007DD4 */ jal guNormalize -/* 079958 7F044E28 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 07995C 7F044E2C C7A800BC */ lwc1 $f8, 0xbc($sp) -/* 079960 7F044E30 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 079964 7F044E34 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 079968 7F044E38 E7A80028 */ swc1 $f8, 0x28($sp) -/* 07996C 7F044E3C 46064102 */ mul.s $f4, $f8, $f6 -/* 079970 7F044E40 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 079974 7F044E44 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 079978 7F044E48 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 07997C 7F044E4C 46085182 */ mul.s $f6, $f10, $f8 -/* 079980 7F044E50 E7A80030 */ swc1 $f8, 0x30($sp) -/* 079984 7F044E54 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 079988 7F044E58 46062001 */ sub.s $f0, $f4, $f6 -/* 07998C 7F044E5C C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 079990 7F044E60 46045182 */ mul.s $f6, $f10, $f4 -/* 079994 7F044E64 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 079998 7F044E68 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 07999C 7F044E6C 460A4102 */ mul.s $f4, $f8, $f10 -/* 0799A0 7F044E70 46043381 */ sub.s $f14, $f6, $f4 -/* 0799A4 7F044E74 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 0799A8 7F044E78 4600703E */ c.le.s $f14, $f0 -/* 0799AC 7F044E7C 00000000 */ nop -/* 0799B0 7F044E80 45020023 */ bc1fl .L7F044F10 -/* 0799B4 7F044E84 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0799B8 7F044E88 46064102 */ mul.s $f4, $f8, $f6 -/* 0799BC 7F044E8C E7AA0038 */ swc1 $f10, 0x38($sp) -/* 0799C0 7F044E90 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 0799C4 7F044E94 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 0799C8 7F044E98 460A4282 */ mul.s $f10, $f8, $f10 -/* 0799CC 7F044E9C 460A2101 */ sub.s $f4, $f4, $f10 -/* 0799D0 7F044EA0 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 0799D4 7F044EA4 4600203E */ c.le.s $f4, $f0 -/* 0799D8 7F044EA8 00000000 */ nop -/* 0799DC 7F044EAC 45020018 */ bc1fl .L7F044F10 -/* 0799E0 7F044EB0 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 0799E4 7F044EB4 460A4102 */ mul.s $f4, $f8, $f10 -/* 0799E8 7F044EB8 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 0799EC 7F044EBC C7AC00B8 */ lwc1 $f12, 0xb8($sp) -/* 0799F0 7F044EC0 46064182 */ mul.s $f6, $f8, $f6 -/* 0799F4 7F044EC4 46062101 */ sub.s $f4, $f4, $f6 -/* 0799F8 7F044EC8 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 0799FC 7F044ECC 4600203E */ c.le.s $f4, $f0 -/* 079A00 7F044ED0 00000000 */ nop -/* 079A04 7F044ED4 4502000E */ bc1fl .L7F044F10 -/* 079A08 7F044ED8 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 079A0C 7F044EDC 46066102 */ mul.s $f4, $f12, $f6 -/* 079A10 7F044EE0 C7A200AC */ lwc1 $f2, 0xac($sp) -/* 079A14 7F044EE4 E7A00078 */ swc1 $f0, 0x78($sp) -/* 079A18 7F044EE8 46081182 */ mul.s $f6, $f2, $f8 -/* 079A1C 7F044EEC 46062201 */ sub.s $f8, $f4, $f6 -/* 079A20 7F044EF0 46025102 */ mul.s $f4, $f10, $f2 -/* 079A24 7F044EF4 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 079A28 7F044EF8 E7A80074 */ swc1 $f8, 0x74($sp) -/* 079A2C 7F044EFC 460C3202 */ mul.s $f8, $f6, $f12 -/* 079A30 7F044F00 46082281 */ sub.s $f10, $f4, $f8 -/* 079A34 7F044F04 10000045 */ b .L7F04501C -/* 079A38 7F044F08 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 079A3C 7F044F0C C7A600A4 */ lwc1 $f6, 0xa4($sp) -.L7F044F10: -/* 079A40 7F044F10 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 079A44 7F044F14 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 079A48 7F044F18 E7A60038 */ swc1 $f6, 0x38($sp) -/* 079A4C 7F044F1C 46043202 */ mul.s $f8, $f6, $f4 -/* 079A50 7F044F20 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 079A54 7F044F24 E7A40034 */ swc1 $f4, 0x34($sp) -/* 079A58 7F044F28 46065102 */ mul.s $f4, $f10, $f6 -/* 079A5C 7F044F2C 46044001 */ sub.s $f0, $f8, $f4 -/* 079A60 7F044F30 C7A800B4 */ lwc1 $f8, 0xb4($sp) -/* 079A64 7F044F34 46085102 */ mul.s $f4, $f10, $f8 -/* 079A68 7F044F38 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 079A6C 7F044F3C C7AA00BC */ lwc1 $f10, 0xbc($sp) -/* 079A70 7F044F40 460E003E */ c.le.s $f0, $f14 -/* 079A74 7F044F44 46085282 */ mul.s $f10, $f10, $f8 -/* 079A78 7F044F48 45000013 */ bc1f .L7F044F98 -/* 079A7C 7F044F4C 460A2081 */ sub.s $f2, $f4, $f10 -/* 079A80 7F044F50 460E103E */ c.le.s $f2, $f14 -/* 079A84 7F044F54 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 079A88 7F044F58 45020010 */ bc1fl .L7F044F9C -/* 079A8C 7F044F5C 4600103E */ c.le.s $f2, $f0 -/* 079A90 7F044F60 C7A200AC */ lwc1 $f2, 0xac($sp) -/* 079A94 7F044F64 C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 079A98 7F044F68 C7AA00B0 */ lwc1 $f10, 0xb0($sp) -/* 079A9C 7F044F6C 46081102 */ mul.s $f4, $f2, $f8 -/* 079AA0 7F044F70 E7AE0078 */ swc1 $f14, 0x78($sp) -/* 079AA4 7F044F74 460A6202 */ mul.s $f8, $f12, $f10 -/* 079AA8 7F044F78 46082281 */ sub.s $f10, $f4, $f8 -/* 079AAC 7F044F7C C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 079AB0 7F044F80 460C2202 */ mul.s $f8, $f4, $f12 -/* 079AB4 7F044F84 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 079AB8 7F044F88 46023282 */ mul.s $f10, $f6, $f2 -/* 079ABC 7F044F8C 460A4101 */ sub.s $f4, $f8, $f10 -/* 079AC0 7F044F90 10000022 */ b .L7F04501C -/* 079AC4 7F044F94 E7A4007C */ swc1 $f4, 0x7c($sp) -.L7F044F98: -/* 079AC8 7F044F98 4600103E */ c.le.s $f2, $f0 -.L7F044F9C: -/* 079ACC 7F044F9C C7AC00A0 */ lwc1 $f12, 0xa0($sp) -/* 079AD0 7F044FA0 C7AE0094 */ lwc1 $f14, 0x94($sp) -/* 079AD4 7F044FA4 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 079AD8 7F044FA8 45000010 */ bc1f .L7F044FEC -/* 079ADC 7F044FAC C7A60098 */ lwc1 $f6, 0x98($sp) -/* 079AE0 7F044FB0 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 079AE4 7F044FB4 C7AE0094 */ lwc1 $f14, 0x94($sp) -/* 079AE8 7F044FB8 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 079AEC 7F044FBC 46066202 */ mul.s $f8, $f12, $f6 -/* 079AF0 7F044FC0 E7A00078 */ swc1 $f0, 0x78($sp) -/* 079AF4 7F044FC4 460A7102 */ mul.s $f4, $f14, $f10 -/* 079AF8 7F044FC8 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 079AFC 7F044FCC 46044181 */ sub.s $f6, $f8, $f4 -/* 079B00 7F044FD0 460E5202 */ mul.s $f8, $f10, $f14 -/* 079B04 7F044FD4 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 079B08 7F044FD8 E7A60074 */ swc1 $f6, 0x74($sp) -/* 079B0C 7F044FDC 460C2182 */ mul.s $f6, $f4, $f12 -/* 079B10 7F044FE0 46064281 */ sub.s $f10, $f8, $f6 -/* 079B14 7F044FE4 1000000D */ b .L7F04501C -/* 079B18 7F044FE8 E7AA007C */ swc1 $f10, 0x7c($sp) -.L7F044FEC: -/* 079B1C 7F044FEC 46047202 */ mul.s $f8, $f14, $f4 -/* 079B20 7F044FF0 C7AC00B8 */ lwc1 $f12, 0xb8($sp) -/* 079B24 7F044FF4 E7A20078 */ swc1 $f2, 0x78($sp) -/* 079B28 7F044FF8 46066282 */ mul.s $f10, $f12, $f6 -/* 079B2C 7F044FFC C7A60090 */ lwc1 $f6, 0x90($sp) -/* 079B30 7F045000 460A4101 */ sub.s $f4, $f8, $f10 -/* 079B34 7F045004 460C3202 */ mul.s $f8, $f6, $f12 -/* 079B38 7F045008 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 079B3C 7F04500C E7A40074 */ swc1 $f4, 0x74($sp) -/* 079B40 7F045010 460E5102 */ mul.s $f4, $f10, $f14 -/* 079B44 7F045014 46044181 */ sub.s $f6, $f8, $f4 -/* 079B48 7F045018 E7A6007C */ swc1 $f6, 0x7c($sp) -.L7F04501C: -/* 079B4C 7F04501C 0FC15FAB */ jal sinf -/* 079B50 7F045020 C60C00A0 */ lwc1 $f12, 0xa0($s0) -/* 079B54 7F045024 44805000 */ mtc1 $zero, $f10 -/* 079B58 7F045028 E7A00068 */ swc1 $f0, 0x68($sp) -/* 079B5C 7F04502C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 079B60 7F045030 0FC15FA8 */ jal cosf -/* 079B64 7F045034 C60C00A0 */ lwc1 $f12, 0xa0($s0) -/* 079B68 7F045038 26040018 */ addiu $a0, $s0, 0x18 -/* 079B6C 7F04503C E7A00070 */ swc1 $f0, 0x70($sp) -/* 079B70 7F045040 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 -/* 079B74 7F045044 AFA40058 */ sw $a0, 0x58($sp) -/* 079B78 7F045048 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 079B7C 7F04504C 8FA50058 */ lw $a1, 0x58($sp) -/* 079B80 7F045050 E6080028 */ swc1 $f8, 0x28($s0) -/* 079B84 7F045054 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 079B88 7F045058 C6100028 */ lwc1 $f16, 0x28($s0) -/* 079B8C 7F04505C E604002C */ swc1 $f4, 0x2c($s0) -/* 079B90 7F045060 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 079B94 7F045064 C60E002C */ lwc1 $f14, 0x2c($s0) -/* 079B98 7F045068 E6060030 */ swc1 $f6, 0x30($s0) -/* 079B9C 7F04506C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 079BA0 7F045070 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 079BA4 7F045074 C6000030 */ lwc1 $f0, 0x30($s0) -/* 079BA8 7F045078 460A7202 */ mul.s $f8, $f14, $f10 -/* 079BAC 7F04507C 00000000 */ nop -/* 079BB0 7F045080 46002182 */ mul.s $f6, $f4, $f0 -/* 079BB4 7F045084 46064281 */ sub.s $f10, $f8, $f6 -/* 079BB8 7F045088 E60A0018 */ swc1 $f10, 0x18($s0) -/* 079BBC 7F04508C C7A40068 */ lwc1 $f4, 0x68($sp) -/* 079BC0 7F045090 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 079BC4 7F045094 46040202 */ mul.s $f8, $f0, $f4 -/* 079BC8 7F045098 00000000 */ nop -/* 079BCC 7F04509C 46103282 */ mul.s $f10, $f6, $f16 -/* 079BD0 7F0450A0 460A4101 */ sub.s $f4, $f8, $f10 -/* 079BD4 7F0450A4 E604001C */ swc1 $f4, 0x1c($s0) -/* 079BD8 7F0450A8 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 079BDC 7F0450AC C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 079BE0 7F0450B0 46068202 */ mul.s $f8, $f16, $f6 -/* 079BE4 7F0450B4 00000000 */ nop -/* 079BE8 7F0450B8 460E5102 */ mul.s $f4, $f10, $f14 -/* 079BEC 7F0450BC C60A001C */ lwc1 $f10, 0x1c($s0) -/* 079BF0 7F0450C0 46044181 */ sub.s $f6, $f8, $f4 -/* 079BF4 7F0450C4 E6060020 */ swc1 $f6, 0x20($s0) -/* 079BF8 7F0450C8 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 079BFC 7F0450CC C7A80048 */ lwc1 $f8, 0x48($sp) -/* 079C00 7F0450D0 C6020020 */ lwc1 $f2, 0x20($s0) -/* 079C04 7F0450D4 C6120018 */ lwc1 $f18, 0x18($s0) -/* 079C08 7F0450D8 46004102 */ mul.s $f4, $f8, $f0 -/* 079C0C 7F0450DC 00000000 */ nop -/* 079C10 7F0450E0 46027182 */ mul.s $f6, $f14, $f2 -/* 079C14 7F0450E4 46062281 */ sub.s $f10, $f4, $f6 -/* 079C18 7F0450E8 46101202 */ mul.s $f8, $f2, $f16 -/* 079C1C 7F0450EC 00000000 */ nop -/* 079C20 7F0450F0 46120102 */ mul.s $f4, $f0, $f18 -/* 079C24 7F0450F4 E60A0038 */ swc1 $f10, 0x38($s0) -/* 079C28 7F0450F8 460E9282 */ mul.s $f10, $f18, $f14 -/* 079C2C 7F0450FC 46044181 */ sub.s $f6, $f8, $f4 -/* 079C30 7F045100 E606003C */ swc1 $f6, 0x3c($s0) -/* 079C34 7F045104 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 079C38 7F045108 46088102 */ mul.s $f4, $f16, $f8 -/* 079C3C 7F04510C 46045181 */ sub.s $f6, $f10, $f4 -/* 079C40 7F045110 E6060040 */ swc1 $f6, 0x40($s0) -/* 079C44 7F045114 8FAF0154 */ lw $t7, 0x154($sp) -/* 079C48 7F045118 C5EC0014 */ lwc1 $f12, 0x14($t7) -/* 079C4C 7F04511C 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 079C50 7F045120 AFA50058 */ sw $a1, 0x58($sp) -/* 079C54 7F045124 8FA40058 */ lw $a0, 0x58($sp) -/* 079C58 7F045128 8FA50148 */ lw $a1, 0x148($sp) -/* 079C5C 7F04512C 0FC16106 */ jal sub_GAME_7F058418 -/* 079C60 7F045130 27A60124 */ addiu $a2, $sp, 0x124 -/* 079C64 7F045134 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 079C68 7F045138 8FA400C0 */ lw $a0, 0xc0($sp) -/* 079C6C 7F04513C 8FB80154 */ lw $t8, 0x154($sp) -/* 079C70 7F045140 C7A80134 */ lwc1 $f8, 0x134($sp) -/* 079C74 7F045144 C70A0014 */ lwc1 $f10, 0x14($t8) -/* 079C78 7F045148 460A0102 */ mul.s $f4, $f0, $f10 -/* 079C7C 7F04514C C7AA0128 */ lwc1 $f10, 0x128($sp) -/* 079C80 7F045150 46044181 */ sub.s $f6, $f8, $f4 -/* 079C84 7F045154 460A3081 */ sub.s $f2, $f6, $f10 -/* 079C88 7F045158 E622000C */ swc1 $f2, 0xc($s1) -/* 079C8C 7F04515C 10000019 */ b .L7F0451C4 -/* 079C90 7F045160 E602005C */ swc1 $f2, 0x5c($s0) -.L7F045164: -/* 079C94 7F045164 C60C00A0 */ lwc1 $f12, 0xa0($s0) -/* 079C98 7F045168 0FC1617F */ jal sub_GAME_7F0585FC -/* 079C9C 7F04516C AFA40058 */ sw $a0, 0x58($sp) -/* 079CA0 7F045170 8FB90154 */ lw $t9, 0x154($sp) -/* 079CA4 7F045174 8FA50058 */ lw $a1, 0x58($sp) -/* 079CA8 7F045178 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 079CAC 7F04517C C72C0014 */ lwc1 $f12, 0x14($t9) -/* 079CB0 7F045180 8E240014 */ lw $a0, 0x14($s1) -/* 079CB4 7F045184 8E250008 */ lw $a1, 8($s1) -/* 079CB8 7F045188 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 079CBC 7F04518C 8E260010 */ lw $a2, 0x10($s1) -/* 079CC0 7F045190 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 079CC4 7F045194 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 079CC8 7F045198 8FA400C0 */ lw $a0, 0xc0($sp) -/* 079CCC 7F04519C 8FA80148 */ lw $t0, 0x148($sp) -/* 079CD0 7F0451A0 8FA90154 */ lw $t1, 0x154($sp) -/* 079CD4 7F0451A4 C5080004 */ lwc1 $f8, 4($t0) -/* 079CD8 7F0451A8 C5260014 */ lwc1 $f6, 0x14($t1) -/* 079CDC 7F0451AC 46004100 */ add.s $f4, $f8, $f0 -/* 079CE0 7F0451B0 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 079CE4 7F0451B4 46062282 */ mul.s $f10, $f4, $f6 -/* 079CE8 7F0451B8 460A4081 */ sub.s $f2, $f8, $f10 -/* 079CEC 7F0451BC E622000C */ swc1 $f2, 0xc($s1) -/* 079CF0 7F0451C0 E602005C */ swc1 $f2, 0x5c($s0) -.L7F0451C4: -/* 079CF4 7F0451C4 8FBF0024 */ lw $ra, 0x24($sp) -/* 079CF8 7F0451C8 8FA20108 */ lw $v0, 0x108($sp) -/* 079CFC 7F0451CC 8FB0001C */ lw $s0, 0x1c($sp) -/* 079D00 7F0451D0 8FB10020 */ lw $s1, 0x20($sp) -/* 079D04 7F0451D4 03E00008 */ jr $ra -/* 079D08 7F0451D8 27BD0158 */ addiu $sp, $sp, 0x158 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0451DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0451DC -/* 079D0C 7F0451DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 079D10 7F0451E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 079D14 7F0451E4 AFA5001C */ sw $a1, 0x1c($sp) -/* 079D18 7F0451E8 AFA60020 */ sw $a2, 0x20($sp) -/* 079D1C 7F0451EC AFA70024 */ sw $a3, 0x24($sp) -/* 079D20 7F0451F0 0FC225E6 */ jal get_curplayer_positiondata -/* 079D24 7F0451F4 AFA40018 */ sw $a0, 0x18($sp) -/* 079D28 7F0451F8 8FA40018 */ lw $a0, 0x18($sp) -/* 079D2C 7F0451FC C4460008 */ lwc1 $f6, 8($v0) -/* 079D30 7F045200 C44A000C */ lwc1 $f10, 0xc($v0) -/* 079D34 7F045204 C4840000 */ lwc1 $f4, ($a0) -/* 079D38 7F045208 C4880004 */ lwc1 $f8, 4($a0) -/* 079D3C 7F04520C C4520010 */ lwc1 $f18, 0x10($v0) -/* 079D40 7F045210 46062001 */ sub.s $f0, $f4, $f6 -/* 079D44 7F045214 C4900008 */ lwc1 $f16, 8($a0) -/* 079D48 7F045218 460A4081 */ sub.s $f2, $f8, $f10 -/* 079D4C 7F04521C 46000102 */ mul.s $f4, $f0, $f0 -/* 079D50 7F045220 46128381 */ sub.s $f14, $f16, $f18 -/* 079D54 7F045224 46021182 */ mul.s $f6, $f2, $f2 -/* 079D58 7F045228 46062200 */ add.s $f8, $f4, $f6 -/* 079D5C 7F04522C 460E7282 */ mul.s $f10, $f14, $f14 -/* 079D60 7F045230 0C007DF8 */ jal sqrtf -/* 079D64 7F045234 460A4300 */ add.s $f12, $f8, $f10 -/* 079D68 7F045238 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 079D6C 7F04523C C7A2001C */ lwc1 $f2, 0x1c($sp) -/* 079D70 7F045240 8FBF0014 */ lw $ra, 0x14($sp) -/* 079D74 7F045244 4600603C */ c.lt.s $f12, $f0 -/* 079D78 7F045248 00000000 */ nop -/* 079D7C 7F04524C 45020004 */ bc1fl .L7F045260 -/* 079D80 7F045250 4602003C */ c.lt.s $f0, $f2 -/* 079D84 7F045254 1000001C */ b .L7F0452C8 -/* 079D88 7F045258 240300FF */ li $v1, 255 -/* 079D8C 7F04525C 4602003C */ c.lt.s $f0, $f2 -.L7F045260: -/* 079D90 7F045260 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 079D94 7F045264 C7B00024 */ lwc1 $f16, 0x24($sp) -/* 079D98 7F045268 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 079D9C 7F04526C 4502000A */ bc1fl .L7F045298 -/* 079DA0 7F045270 44815000 */ mtc1 $at, $f10 -/* 079DA4 7F045274 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 079DA8 7F045278 44819000 */ mtc1 $at, $f18 -/* 079DAC 7F04527C 00000000 */ nop -/* 079DB0 7F045280 46128102 */ mul.s $f4, $f16, $f18 -/* 079DB4 7F045284 4600218D */ trunc.w.s $f6, $f4 -/* 079DB8 7F045288 44033000 */ mfc1 $v1, $f6 -/* 079DBC 7F04528C 1000000F */ b .L7F0452CC -/* 079DC0 7F045290 00601025 */ move $v0, $v1 -/* 079DC4 7F045294 44815000 */ mtc1 $at, $f10 -.L7F045298: -/* 079DC8 7F045298 46020201 */ sub.s $f8, $f0, $f2 -/* 079DCC 7F04529C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 079DD0 7F0452A0 460E5401 */ sub.s $f16, $f10, $f14 -/* 079DD4 7F0452A4 46026101 */ sub.s $f4, $f12, $f2 -/* 079DD8 7F0452A8 46104482 */ mul.s $f18, $f8, $f16 -/* 079DDC 7F0452AC 44814000 */ mtc1 $at, $f8 -/* 079DE0 7F0452B0 46049183 */ div.s $f6, $f18, $f4 -/* 079DE4 7F0452B4 460E3280 */ add.s $f10, $f6, $f14 -/* 079DE8 7F0452B8 46085402 */ mul.s $f16, $f10, $f8 -/* 079DEC 7F0452BC 4600848D */ trunc.w.s $f18, $f16 -/* 079DF0 7F0452C0 44039000 */ mfc1 $v1, $f18 -/* 079DF4 7F0452C4 00000000 */ nop -.L7F0452C8: -/* 079DF8 7F0452C8 00601025 */ move $v0, $v1 -.L7F0452CC: -/* 079DFC 7F0452CC 03E00008 */ jr $ra -/* 079E00 7F0452D0 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void object_interaction(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel rocket_initial_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_80052A9C -.word 0x3c360b61 /*0.011111111*/ -glabel D_80052AA0 -.word 0x3d8f5c29 /*0.07*/ -glabel prop_projectile_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_80052AA8 -.word 0x400e38e4 /*2.2222223*/ -glabel D_80052AAC -.word 0x46d9038c /*27777.773*/ -glabel D_80052AB0 -.word 0x3f8ccccd /*1.1*/ -glabel D_80052AB4 -.word 0x3f666666 /*0.89999998*/ -glabel D_80052AB8 -.word 0x3f666666 /*0.89999998*/ -glabel D_80052ABC -.word 0x3dcccccd /*0.1*/ -glabel D_80052AC0 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052AC4 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052AC8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052ACC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AD0 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052AD4 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80052AD8 -.word 0xbf490fdb /*-0.78539819*/ -glabel D_80052ADC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AE0 -.word 0x3a2b92a6 /*0.00065449846*/ -glabel D_80052AE4 -.word 0x3a2b92a6 /*0.00065449846*/ -glabel D_80052AE8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AEC -.word 0x37433637 /*0.000011635529*/ -glabel D_80052AF0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AF4 -.word 0x3a3702d4 /*0.00069813174*/ -glabel D_80052AF8 -.word 0x36c33637 /*0.0000058177643*/ -glabel D_80052AFC -.word 0x39b702d4 /*0.00034906587*/ -glabel D_80052B00 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B04 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B0C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B10 -.word 0x3f9c61ab /*1.2217306*/ -glabel D_80052B14 -.word 0xbf9c61ab /*-1.2217306*/ -glabel D_80052B18 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80052B1C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B20 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B24 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80052B28 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80052B2C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B30 -.word 0x3a64c389 /*0.00087266468*/ -glabel D_80052B34 -.word 0x3a64c389 /*0.00087266468*/ -glabel D_80052B38 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B3C -.word 0x3f1930a7 /*0.59839863*/ -glabel D_80052B40 -.word 0x3c236719 /*0.0099733109*/ -glabel D_80052B44 -.word 0x3f7d70a4 /*0.99000001*/ -glabel D_80052B48 -.word 0x38d1b717 /*0.000099999997*/ -glabel D_80052B4C -.word 0x3964c389 /*0.00021816617*/ -glabel D_80052B50 -.word 0x3bd67750 /*0.0065449849*/ -glabel D_80052B54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B58 -.word 0x3964c389 /*0.00021816617*/ -glabel D_80052B5C -.word 0xb964c389 /*-0.00021816617*/ -glabel D_80052B60 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B64 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B68 -.word 0x3e99999a /*0.30000001*/ -glabel D_80052B6C -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052B70 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052B74 -.word 0x3e23d70a /*0.16*/ -glabel D_80052B78 -.word 0x461c4000 /*10000.0*/ -glabel D_80052B7C -.word 0x453b8000 /*3000.0*/ -glabel D_80052B80 -.word 0x3f19999a /*0.60000002*/ -glabel D_80052B84 -.word 0x3e99999a /*0.30000001*/ -glabel D_80052B88 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052B8C -.word 0x3e4ccccd /*0.2*/ -glabel D_80052B90 -.word 0x453b8000 /*3000.0*/ -glabel D_80052B94 -.word 0x453b8000 /*3000.0*/ -.text -glabel object_interaction -/* 079E04 7F0452D4 27BDF958 */ addiu $sp, $sp, -0x6a8 -/* 079E08 7F0452D8 AFBF0054 */ sw $ra, 0x54($sp) -/* 079E0C 7F0452DC AFB40050 */ sw $s4, 0x50($sp) -/* 079E10 7F0452E0 AFB3004C */ sw $s3, 0x4c($sp) -/* 079E14 7F0452E4 AFB20048 */ sw $s2, 0x48($sp) -/* 079E18 7F0452E8 AFB10044 */ sw $s1, 0x44($sp) -/* 079E1C 7F0452EC AFB00040 */ sw $s0, 0x40($sp) -/* 079E20 7F0452F0 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 079E24 7F0452F4 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 079E28 7F0452F8 8C910004 */ lw $s1, 4($a0) -/* 079E2C 7F0452FC 4480B000 */ mtc1 $zero, $f22 -/* 079E30 7F045300 00809825 */ move $s3, $a0 -/* 079E34 7F045304 8E340014 */ lw $s4, 0x14($s1) -/* 079E38 7F045308 AFA00690 */ sw $zero, 0x690($sp) -/* 079E3C 7F04530C AFA00680 */ sw $zero, 0x680($sp) -/* 079E40 7F045310 0FC26919 */ jal get_num_players -/* 079E44 7F045314 E7B6067C */ swc1 $f22, 0x67c($sp) -/* 079E48 7F045318 240C0001 */ li $t4, 1 -/* 079E4C 7F04531C AFA20674 */ sw $v0, 0x674($sp) -/* 079E50 7F045320 AFAC0670 */ sw $t4, 0x670($sp) -/* 079E54 7F045324 8E230064 */ lw $v1, 0x64($s1) -/* 079E58 7F045328 306E0004 */ andi $t6, $v1, 4 -/* 079E5C 7F04532C 11C00009 */ beqz $t6, .L7F045354 -/* 079E60 7F045330 306F0008 */ andi $t7, $v1, 8 -/* 079E64 7F045334 92260002 */ lbu $a2, 2($s1) -/* 079E68 7F045338 02202025 */ move $a0, $s1 -/* 079E6C 7F04533C 00002825 */ move $a1, $zero -/* 079E70 7F045340 30CD0004 */ andi $t5, $a2, 4 -/* 079E74 7F045344 0FC10366 */ jal sub_GAME_7F040D98 -/* 079E78 7F045348 01A03025 */ move $a2, $t5 -/* 079E7C 7F04534C 100011F8 */ b .L7F049B30 -/* 079E80 7F045350 24020001 */ li $v0, 1 -.L7F045354: -/* 079E84 7F045354 11E00005 */ beqz $t7, .L7F04536C -/* 079E88 7F045358 30680080 */ andi $t0, $v1, 0x80 -/* 079E8C 7F04535C 2401FFF7 */ li $at, -9 -/* 079E90 7F045360 0061C024 */ and $t8, $v1, $at -/* 079E94 7F045364 1000000B */ b .L7F045394 -/* 079E98 7F045368 AE380064 */ sw $t8, 0x64($s1) -.L7F04536C: -/* 079E9C 7F04536C 5100000A */ beql $t0, $zero, .L7F045398 -/* 079EA0 7F045370 24010001 */ li $at, 1 -/* 079EA4 7F045374 92690001 */ lbu $t1, 1($s3) -/* 079EA8 7F045378 24020003 */ li $v0, 3 -/* 079EAC 7F04537C 312BFFFD */ andi $t3, $t1, 0xfffd -/* 079EB0 7F045380 A26B0001 */ sb $t3, 1($s3) -/* 079EB4 7F045384 8E390064 */ lw $t9, 0x64($s1) -/* 079EB8 7F045388 372A0008 */ ori $t2, $t9, 8 -/* 079EBC 7F04538C 100011E8 */ b .L7F049B30 -/* 079EC0 7F045390 AE2A0064 */ sw $t2, 0x64($s1) -.L7F045394: -/* 079EC4 7F045394 24010001 */ li $at, 1 -.L7F045398: -/* 079EC8 7F045398 14410003 */ bne $v0, $at, .L7F0453A8 -/* 079ECC 7F04539C 240C0001 */ li $t4, 1 -/* 079ED0 7F0453A0 10000015 */ b .L7F0453F8 -/* 079ED4 7F0453A4 AFAC0678 */ sw $t4, 0x678($sp) -.L7F0453A8: -/* 079ED8 7F0453A8 0FC26C54 */ jal get_cur_playernum -/* 079EDC 7F0453AC 00000000 */ nop -/* 079EE0 7F0453B0 0FC26D36 */ jal sub_GAME_7F09B4D8 -/* 079EE4 7F0453B4 00402025 */ move $a0, $v0 -/* 079EE8 7F0453B8 2C4E0001 */ sltiu $t6, $v0, 1 -/* 079EEC 7F0453BC AFAE0678 */ sw $t6, 0x678($sp) -/* 079EF0 7F0453C0 8E2D0064 */ lw $t5, 0x64($s1) -/* 079EF4 7F0453C4 31AF0080 */ andi $t7, $t5, 0x80 -/* 079EF8 7F0453C8 51E0000C */ beql $t7, $zero, .L7F0453FC -/* 079EFC 7F0453CC 8FAB0678 */ lw $t3, 0x678($sp) -/* 079F00 7F0453D0 8E22006C */ lw $v0, 0x6c($s1) -/* 079F04 7F0453D4 3C188008 */ lui $t8, %hi(pPlayer) -/* 079F08 7F0453D8 8C430088 */ lw $v1, 0x88($v0) -/* 079F0C 7F0453DC 50600007 */ beql $v1, $zero, .L7F0453FC -/* 079F10 7F0453E0 8FAB0678 */ lw $t3, 0x678($sp) -/* 079F14 7F0453E4 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) -/* 079F18 7F0453E8 8F0800A8 */ lw $t0, 0xa8($t8) -/* 079F1C 7F0453EC 01034826 */ xor $t1, $t0, $v1 -/* 079F20 7F0453F0 2D290001 */ sltiu $t1, $t1, 1 -/* 079F24 7F0453F4 AFA90678 */ sw $t1, 0x678($sp) -.L7F0453F8: -/* 079F28 7F0453F8 8FAB0678 */ lw $t3, 0x678($sp) -.L7F0453FC: -/* 079F2C 7F0453FC 51600B8C */ beql $t3, $zero, .L7F048230 -/* 079F30 7F045400 92220003 */ lbu $v0, 3($s1) -/* 079F34 7F045404 8E390064 */ lw $t9, 0x64($s1) -/* 079F38 7F045408 332A0080 */ andi $t2, $t9, 0x80 -/* 079F3C 7F04540C 51400483 */ beql $t2, $zero, .L7F04661C -/* 079F40 7F045410 8FAD0690 */ lw $t5, 0x690($sp) -/* 079F44 7F045414 8E30006C */ lw $s0, 0x6c($s1) -/* 079F48 7F045418 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 079F4C 7F04541C 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 079F50 7F045420 8E0C00E0 */ lw $t4, 0xe0($s0) -/* 079F54 7F045424 018E6821 */ addu $t5, $t4, $t6 -/* 079F58 7F045428 29A10961 */ slti $at, $t5, 0x961 -/* 079F5C 7F04542C 14200004 */ bnez $at, .L7F045440 -/* 079F60 7F045430 AE0D00E0 */ sw $t5, 0xe0($s0) -/* 079F64 7F045434 8E380064 */ lw $t8, 0x64($s1) -/* 079F68 7F045438 37080004 */ ori $t0, $t8, 4 -/* 079F6C 7F04543C AE280064 */ sw $t0, 0x64($s1) -.L7F045440: -/* 079F70 7F045440 8E090000 */ lw $t1, ($s0) -/* 079F74 7F045444 312B0100 */ andi $t3, $t1, 0x100 -/* 079F78 7F045448 5160002F */ beql $t3, $zero, .L7F045508 -/* 079F7C 7F04544C C6260058 */ lwc1 $f6, 0x58($s1) -/* 079F80 7F045450 92390003 */ lbu $t9, 3($s1) -/* 079F84 7F045454 24010008 */ li $at, 8 -/* 079F88 7F045458 24120001 */ li $s2, 1 -/* 079F8C 7F04545C 57210008 */ bnel $t9, $at, .L7F045480 -/* 079F90 7F045460 8E040088 */ lw $a0, 0x88($s0) -/* 079F94 7F045464 AFB10648 */ sw $s1, 0x648($sp) -/* 079F98 7F045468 822A0080 */ lb $t2, 0x80($s1) -/* 079F9C 7F04546C 24010056 */ li $at, 86 -/* 079FA0 7F045470 55410003 */ bnel $t2, $at, .L7F045480 -/* 079FA4 7F045474 8E040088 */ lw $a0, 0x88($s0) -/* 079FA8 7F045478 00009025 */ move $s2, $zero -/* 079FAC 7F04547C 8E040088 */ lw $a0, 0x88($s0) -.L7F045480: -/* 079FB0 7F045480 50800004 */ beql $a0, $zero, .L7F045494 -/* 079FB4 7F045484 02202025 */ move $a0, $s1 -/* 079FB8 7F045488 0FC0F416 */ jal sub_GAME_7F03D058 -/* 079FBC 7F04548C 00002825 */ move $a1, $zero -/* 079FC0 7F045490 02202025 */ move $a0, $s1 -.L7F045494: -/* 079FC4 7F045494 260500D4 */ addiu $a1, $s0, 0xd4 -/* 079FC8 7F045498 27A6064C */ addiu $a2, $sp, 0x64c -/* 079FCC 7F04549C 27A70658 */ addiu $a3, $sp, 0x658 -/* 079FD0 7F0454A0 AFA00010 */ sw $zero, 0x10($sp) -/* 079FD4 7F0454A4 0FC10BAD */ jal sub_GAME_7F042EB4 -/* 079FD8 7F0454A8 AFB20014 */ sw $s2, 0x14($sp) -/* 079FDC 7F0454AC AFA20664 */ sw $v0, 0x664($sp) -/* 079FE0 7F0454B0 8E040088 */ lw $a0, 0x88($s0) -/* 079FE4 7F0454B4 50800004 */ beql $a0, $zero, .L7F0454C8 -/* 079FE8 7F0454B8 8FAC0664 */ lw $t4, 0x664($sp) -/* 079FEC 7F0454BC 0FC0F416 */ jal sub_GAME_7F03D058 -/* 079FF0 7F0454C0 24050001 */ li $a1, 1 -/* 079FF4 7F0454C4 8FAC0664 */ lw $t4, 0x664($sp) -.L7F0454C8: -/* 079FF8 7F0454C8 24010001 */ li $at, 1 -/* 079FFC 7F0454CC 8FA20648 */ lw $v0, 0x648($sp) -/* 07A000 7F0454D0 51810009 */ beql $t4, $at, .L7F0454F8 -/* 07A004 7F0454D4 8E0D0000 */ lw $t5, ($s0) -/* 07A008 7F0454D8 50400007 */ beql $v0, $zero, .L7F0454F8 -/* 07A00C 7F0454DC 8E0D0000 */ lw $t5, ($s0) -/* 07A010 7F0454E0 804E0080 */ lb $t6, 0x80($v0) -/* 07A014 7F0454E4 24010056 */ li $at, 86 -/* 07A018 7F0454E8 55C10003 */ bnel $t6, $at, .L7F0454F8 -/* 07A01C 7F0454EC 8E0D0000 */ lw $t5, ($s0) -/* 07A020 7F0454F0 A4400082 */ sh $zero, 0x82($v0) -/* 07A024 7F0454F4 8E0D0000 */ lw $t5, ($s0) -.L7F0454F8: -/* 07A028 7F0454F8 2401FEFF */ li $at, -257 -/* 07A02C 7F0454FC 01A17824 */ and $t7, $t5, $at -/* 07A030 7F045500 AE0F0000 */ sw $t7, ($s0) -/* 07A034 7F045504 C6260058 */ lwc1 $f6, 0x58($s1) -.L7F045508: -/* 07A038 7F045508 3C188005 */ lui $t8, %hi(clock_timer) -/* 07A03C 7F04550C 3C013F80 */ lui $at, 0x3f80 -/* 07A040 7F045510 E7A60694 */ swc1 $f6, 0x694($sp) -/* 07A044 7F045514 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07A048 7F045518 E7AA0698 */ swc1 $f10, 0x698($sp) -/* 07A04C 7F04551C C6240060 */ lwc1 $f4, 0x60($s1) -/* 07A050 7F045520 E7A4069C */ swc1 $f4, 0x69c($sp) -/* 07A054 7F045524 8E0200BC */ lw $v0, 0xbc($s0) -/* 07A058 7F045528 58400005 */ blezl $v0, .L7F045540 -/* 07A05C 7F04552C 8E29006C */ lw $t1, 0x6c($s1) -/* 07A060 7F045530 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 07A064 7F045534 00584023 */ subu $t0, $v0, $t8 -/* 07A068 7F045538 AE0800BC */ sw $t0, 0xbc($s0) -/* 07A06C 7F04553C 8E29006C */ lw $t1, 0x6c($s1) -.L7F045540: -/* 07A070 7F045540 8D2B0000 */ lw $t3, ($t1) -/* 07A074 7F045544 31790001 */ andi $t9, $t3, 1 -/* 07A078 7F045548 53200351 */ beql $t9, $zero, .L7F046290 -/* 07A07C 7F04554C C6000060 */ lwc1 $f0, 0x60($s0) -/* 07A080 7F045550 0FC1001E */ jal sub_GAME_7F040078 -/* 07A084 7F045554 02202025 */ move $a0, $s1 -/* 07A088 7F045558 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07A08C 7F04555C 44814000 */ mtc1 $at, $f8 -/* 07A090 7F045560 3C078005 */ lui $a3, %hi(clock_timer) -/* 07A094 7F045564 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c -/* 07A098 7F045568 AFA20640 */ sw $v0, 0x640($sp) -/* 07A09C 7F04556C AFA00610 */ sw $zero, 0x610($sp) -/* 07A0A0 7F045570 AFA0060C */ sw $zero, 0x60c($sp) -/* 07A0A4 7F045574 AFA00604 */ sw $zero, 0x604($sp) -/* 07A0A8 7F045578 E7A80638 */ swc1 $f8, 0x638($sp) -/* 07A0AC 7F04557C 8E0A00A8 */ lw $t2, 0xa8($s0) -/* 07A0B0 7F045580 8CEC0000 */ lw $t4, ($a3) -/* 07A0B4 7F045584 C634005C */ lwc1 $f20, 0x5c($s1) -/* 07A0B8 7F045588 00009025 */ move $s2, $zero -/* 07A0BC 7F04558C 014C7021 */ addu $t6, $t2, $t4 -/* 07A0C0 7F045590 AE0E00A8 */ sw $t6, 0xa8($s0) -/* 07A0C4 7F045594 C6260018 */ lwc1 $f6, 0x18($s1) -/* 07A0C8 7F045598 3C018005 */ lui $at, %hi(rocket_initial_gravity_modifier) -/* 07A0CC 7F04559C E7A6062C */ swc1 $f6, 0x62c($sp) -/* 07A0D0 7F0455A0 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 07A0D4 7F0455A4 E7AA0630 */ swc1 $f10, 0x630($sp) -/* 07A0D8 7F0455A8 C6240020 */ lwc1 $f4, 0x20($s1) -/* 07A0DC 7F0455AC E7A40634 */ swc1 $f4, 0x634($sp) -/* 07A0E0 7F0455B0 8E030000 */ lw $v1, ($s0) -/* 07A0E4 7F0455B4 306D0020 */ andi $t5, $v1, 0x20 -/* 07A0E8 7F0455B8 11A0004B */ beqz $t5, .L7F0456E8 -/* 07A0EC 7F0455BC 00000000 */ nop -/* 07A0F0 7F0455C0 C4322A98 */ lwc1 $f18, %lo(rocket_initial_gravity_modifier)($at) -/* 07A0F4 7F0455C4 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07A0F8 7F0455C8 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 07A0FC 7F0455CC 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 07A100 7F0455D0 4612003C */ c.lt.s $f0, $f18 -/* 07A104 7F0455D4 00000000 */ nop -/* 07A108 7F0455D8 4502001C */ bc1fl .L7F04564C -/* 07A10C 7F0455DC C60000B0 */ lwc1 $f0, 0xb0($s0) -/* 07A110 7F0455E0 C6080014 */ lwc1 $f8, 0x14($s0) -/* 07A114 7F0455E4 C4460000 */ lwc1 $f6, ($v0) -/* 07A118 7F0455E8 C60400B4 */ lwc1 $f4, 0xb4($s0) -/* 07A11C 7F0455EC 3C018005 */ lui $at, %hi(D_80052A9C) -/* 07A120 7F0455F0 46064282 */ mul.s $f10, $f8, $f6 -/* 07A124 7F0455F4 460A2200 */ add.s $f8, $f4, $f10 -/* 07A128 7F0455F8 E60800B4 */ swc1 $f8, 0xb4($s0) -/* 07A12C 7F0455FC C4440000 */ lwc1 $f4, ($v0) -/* 07A130 7F045600 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07A134 7F045604 C60800B0 */ lwc1 $f8, 0xb0($s0) -/* 07A138 7F045608 46043282 */ mul.s $f10, $f6, $f4 -/* 07A13C 7F04560C 460A4180 */ add.s $f6, $f8, $f10 -/* 07A140 7F045610 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 07A144 7F045614 C4480000 */ lwc1 $f8, ($v0) -/* 07A148 7F045618 C4242A9C */ lwc1 $f4, %lo(D_80052A9C)($at) -/* 07A14C 7F04561C 46082282 */ mul.s $f10, $f4, $f8 -/* 07A150 7F045620 460A0180 */ add.s $f6, $f0, $f10 -/* 07A154 7F045624 E606001C */ swc1 $f6, 0x1c($s0) -/* 07A158 7F045628 C604001C */ lwc1 $f4, 0x1c($s0) -/* 07A15C 7F04562C 4604903C */ c.lt.s $f18, $f4 -/* 07A160 7F045630 00000000 */ nop -/* 07A164 7F045634 45000002 */ bc1f .L7F045640 -/* 07A168 7F045638 00000000 */ nop -/* 07A16C 7F04563C E612001C */ swc1 $f18, 0x1c($s0) -.L7F045640: -/* 07A170 7F045640 10000029 */ b .L7F0456E8 -/* 07A174 7F045644 8E030000 */ lw $v1, ($s0) -/* 07A178 7F045648 C60000B0 */ lwc1 $f0, 0xb0($s0) -.L7F04564C: -/* 07A17C 7F04564C C7A80698 */ lwc1 $f8, 0x698($sp) -/* 07A180 7F045650 4600403C */ c.lt.s $f8, $f0 -/* 07A184 7F045654 00000000 */ nop -/* 07A188 7F045658 45000019 */ bc1f .L7F0456C0 -/* 07A18C 7F04565C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07A190 7F045660 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 07A194 7F045664 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 07A198 7F045668 C60800B4 */ lwc1 $f8, 0xb4($s0) -/* 07A19C 7F04566C 46065102 */ mul.s $f4, $f10, $f6 -/* 07A1A0 7F045670 46044280 */ add.s $f10, $f8, $f4 -/* 07A1A4 7F045674 E60A00B4 */ swc1 $f10, 0xb4($s0) -/* 07A1A8 7F045678 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 07A1AC 7F04567C C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07A1B0 7F045680 3C018005 */ lui $at, %hi(D_80052AA0) -/* 07A1B4 7F045684 46083102 */ mul.s $f4, $f6, $f8 -/* 07A1B8 7F045688 46040280 */ add.s $f10, $f0, $f4 -/* 07A1BC 7F04568C E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 07A1C0 7F045690 C7A80698 */ lwc1 $f8, 0x698($sp) -/* 07A1C4 7F045694 C60600B0 */ lwc1 $f6, 0xb0($s0) -/* 07A1C8 7F045698 C42A2AA0 */ lwc1 $f10, %lo(D_80052AA0)($at) -/* 07A1CC 7F04569C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07A1D0 7F0456A0 46083101 */ sub.s $f4, $f6, $f8 -/* 07A1D4 7F0456A4 46045182 */ mul.s $f6, $f10, $f4 -/* 07A1D8 7F0456A8 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07A1DC 7F0456AC 460A3102 */ mul.s $f4, $f6, $f10 -/* 07A1E0 7F0456B0 46044180 */ add.s $f6, $f8, $f4 -/* 07A1E4 7F0456B4 E7A60698 */ swc1 $f6, 0x698($sp) -/* 07A1E8 7F0456B8 1000000B */ b .L7F0456E8 -/* 07A1EC 7F0456BC 8E030000 */ lw $v1, ($s0) -.L7F0456C0: -/* 07A1F0 7F0456C0 E7A00698 */ swc1 $f0, 0x698($sp) -/* 07A1F4 7F0456C4 8E0F0000 */ lw $t7, ($s0) -/* 07A1F8 7F0456C8 2401FFDF */ li $at, -33 -/* 07A1FC 7F0456CC C60A00B4 */ lwc1 $f10, 0xb4($s0) -/* 07A200 7F0456D0 01E1C024 */ and $t8, $t7, $at -/* 07A204 7F0456D4 AE180000 */ sw $t8, ($s0) -/* 07A208 7F0456D8 37030010 */ ori $v1, $t8, 0x10 -/* 07A20C 7F0456DC E616001C */ swc1 $f22, 0x1c($s0) -/* 07A210 7F0456E0 AE030000 */ sw $v1, ($s0) -/* 07A214 7F0456E4 E60A0008 */ swc1 $f10, 8($s0) -.L7F0456E8: -/* 07A218 7F0456E8 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 07A21C 7F0456EC 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 07A220 7F0456F0 3C018005 */ lui $at, %hi(prop_projectile_gravity_modifier) -/* 07A224 7F0456F4 306B0010 */ andi $t3, $v1, 0x10 -/* 07A228 7F0456F8 C4322AA4 */ lwc1 $f18, %lo(prop_projectile_gravity_modifier)($at) -/* 07A22C 7F0456FC C4420000 */ lwc1 $f2, ($v0) -/* 07A230 7F045700 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07A234 7F045704 15600015 */ bnez $t3, .L7F04575C -/* 07A238 7F045708 C6100014 */ lwc1 $f16, 0x14($s0) -/* 07A23C 7F04570C 46008100 */ add.s $f4, $f16, $f0 -/* 07A240 7F045710 C6080008 */ lwc1 $f8, 8($s0) -/* 07A244 7F045714 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A248 7F045718 46022182 */ mul.s $f6, $f4, $f2 -/* 07A24C 7F04571C 46064280 */ add.s $f10, $f8, $f6 -/* 07A250 7F045720 E60A0008 */ swc1 $f10, 8($s0) -/* 07A254 7F045724 C4420000 */ lwc1 $f2, ($v0) -/* 07A258 7F045728 C60C0008 */ lwc1 $f12, 8($s0) -/* 07A25C 7F04572C 44815000 */ mtc1 $at, $f10 -/* 07A260 7F045730 46029102 */ mul.s $f4, $f18, $f2 -/* 07A264 7F045734 46046381 */ sub.s $f14, $f12, $f4 -/* 07A268 7F045738 460E6200 */ add.s $f8, $f12, $f14 -/* 07A26C 7F04573C 46081182 */ mul.s $f6, $f2, $f8 -/* 07A270 7F045740 C7A80698 */ lwc1 $f8, 0x698($sp) -/* 07A274 7F045744 460A3102 */ mul.s $f4, $f6, $f10 -/* 07A278 7F045748 46044180 */ add.s $f6, $f8, $f4 -/* 07A27C 7F04574C E7A60698 */ swc1 $f6, 0x698($sp) -/* 07A280 7F045750 E60E0008 */ swc1 $f14, 8($s0) -/* 07A284 7F045754 1000000C */ b .L7F045788 -/* 07A288 7F045758 C4420000 */ lwc1 $f2, ($v0) -.L7F04575C: -/* 07A28C 7F04575C 46008200 */ add.s $f8, $f16, $f0 -/* 07A290 7F045760 C60A0008 */ lwc1 $f10, 8($s0) -/* 07A294 7F045764 46024102 */ mul.s $f4, $f8, $f2 -/* 07A298 7F045768 46045180 */ add.s $f6, $f10, $f4 -/* 07A29C 7F04576C E6060008 */ swc1 $f6, 8($s0) -/* 07A2A0 7F045770 C60A0008 */ lwc1 $f10, 8($s0) -/* 07A2A4 7F045774 C4420000 */ lwc1 $f2, ($v0) -/* 07A2A8 7F045778 C7A80698 */ lwc1 $f8, 0x698($sp) -/* 07A2AC 7F04577C 46025102 */ mul.s $f4, $f10, $f2 -/* 07A2B0 7F045780 46044180 */ add.s $f6, $f8, $f4 -/* 07A2B4 7F045784 E7A60698 */ swc1 $f6, 0x698($sp) -.L7F045788: -/* 07A2B8 7F045788 C6080010 */ lwc1 $f8, 0x10($s0) -/* 07A2BC 7F04578C C60A0004 */ lwc1 $f10, 4($s0) -/* 07A2C0 7F045790 26240018 */ addiu $a0, $s1, 0x18 -/* 07A2C4 7F045794 46024102 */ mul.s $f4, $f8, $f2 -/* 07A2C8 7F045798 C6080018 */ lwc1 $f8, 0x18($s0) -/* 07A2CC 7F04579C 26050020 */ addiu $a1, $s0, 0x20 -/* 07A2D0 7F0457A0 46045180 */ add.s $f6, $f10, $f4 -/* 07A2D4 7F0457A4 E6060004 */ swc1 $f6, 4($s0) -/* 07A2D8 7F0457A8 C44A0000 */ lwc1 $f10, ($v0) -/* 07A2DC 7F0457AC C606000C */ lwc1 $f6, 0xc($s0) -/* 07A2E0 7F0457B0 460A4102 */ mul.s $f4, $f8, $f10 -/* 07A2E4 7F0457B4 46043200 */ add.s $f8, $f6, $f4 -/* 07A2E8 7F0457B8 C6060004 */ lwc1 $f6, 4($s0) -/* 07A2EC 7F0457BC E608000C */ swc1 $f8, 0xc($s0) -/* 07A2F0 7F0457C0 C4420000 */ lwc1 $f2, ($v0) -/* 07A2F4 7F0457C4 C7AA0694 */ lwc1 $f10, 0x694($sp) -/* 07A2F8 7F0457C8 8CE60000 */ lw $a2, ($a3) -/* 07A2FC 7F0457CC 46023102 */ mul.s $f4, $f6, $f2 -/* 07A300 7F0457D0 C7A6069C */ lwc1 $f6, 0x69c($sp) -/* 07A304 7F0457D4 46045200 */ add.s $f8, $f10, $f4 -/* 07A308 7F0457D8 E7A80694 */ swc1 $f8, 0x694($sp) -/* 07A30C 7F0457DC C60A000C */ lwc1 $f10, 0xc($s0) -/* 07A310 7F0457E0 AFA5006C */ sw $a1, 0x6c($sp) -/* 07A314 7F0457E4 AFA40070 */ sw $a0, 0x70($sp) -/* 07A318 7F0457E8 46025102 */ mul.s $f4, $f10, $f2 -/* 07A31C 7F0457EC 46043200 */ add.s $f8, $f6, $f4 -/* 07A320 7F0457F0 0FC15F7E */ jal sub_GAME_7F057DF8 -/* 07A324 7F0457F4 E7A8069C */ swc1 $f8, 0x69c($sp) -/* 07A328 7F0457F8 92390003 */ lbu $t9, 3($s1) -/* 07A32C 7F0457FC 24010008 */ li $at, 8 -/* 07A330 7F045800 57210013 */ bnel $t9, $at, .L7F045850 -/* 07A334 7F045804 8E040088 */ lw $a0, 0x88($s0) -/* 07A338 7F045808 82220080 */ lb $v0, 0x80($s1) -/* 07A33C 7F04580C 2401001D */ li $at, 29 -/* 07A340 7F045810 1041000D */ beq $v0, $at, .L7F045848 -/* 07A344 7F045814 2401001B */ li $at, 27 -/* 07A348 7F045818 1041000B */ beq $v0, $at, .L7F045848 -/* 07A34C 7F04581C 2401001C */ li $at, 28 -/* 07A350 7F045820 10410009 */ beq $v0, $at, .L7F045848 -/* 07A354 7F045824 24010021 */ li $at, 33 -/* 07A358 7F045828 10410007 */ beq $v0, $at, .L7F045848 -/* 07A35C 7F04582C 2401002F */ li $at, 47 -/* 07A360 7F045830 10410005 */ beq $v0, $at, .L7F045848 -/* 07A364 7F045834 24010030 */ li $at, 48 -/* 07A368 7F045838 10410003 */ beq $v0, $at, .L7F045848 -/* 07A36C 7F04583C 24010022 */ li $at, 34 -/* 07A370 7F045840 54410003 */ bnel $v0, $at, .L7F045850 -/* 07A374 7F045844 8E040088 */ lw $a0, 0x88($s0) -.L7F045848: -/* 07A378 7F045848 24120001 */ li $s2, 1 -/* 07A37C 7F04584C 8E040088 */ lw $a0, 0x88($s0) -.L7F045850: -/* 07A380 7F045850 50800004 */ beql $a0, $zero, .L7F045864 -/* 07A384 7F045854 02202025 */ move $a0, $s1 -/* 07A388 7F045858 0FC0F416 */ jal sub_GAME_7F03D058 -/* 07A38C 7F04585C 00002825 */ move $a1, $zero -/* 07A390 7F045860 02202025 */ move $a0, $s1 -.L7F045864: -/* 07A394 7F045864 27A50694 */ addiu $a1, $sp, 0x694 -/* 07A398 7F045868 27A60614 */ addiu $a2, $sp, 0x614 -/* 07A39C 7F04586C 27A70620 */ addiu $a3, $sp, 0x620 -/* 07A3A0 7F045870 AFB20010 */ sw $s2, 0x10($sp) -/* 07A3A4 7F045874 0FC10BAD */ jal sub_GAME_7F042EB4 -/* 07A3A8 7F045878 AFA00014 */ sw $zero, 0x14($sp) -/* 07A3AC 7F04587C AFA20664 */ sw $v0, 0x664($sp) -/* 07A3B0 7F045880 8E040088 */ lw $a0, 0x88($s0) -/* 07A3B4 7F045884 50800004 */ beql $a0, $zero, .L7F045898 -/* 07A3B8 7F045888 8FAC0664 */ lw $t4, 0x664($sp) -/* 07A3BC 7F04588C 0FC0F416 */ jal sub_GAME_7F03D058 -/* 07A3C0 7F045890 24050001 */ li $a1, 1 -/* 07A3C4 7F045894 8FAC0664 */ lw $t4, 0x664($sp) -.L7F045898: -/* 07A3C8 7F045898 240A0001 */ li $t2, 1 -/* 07A3CC 7F04589C 24010002 */ li $at, 2 -/* 07A3D0 7F0458A0 15810042 */ bne $t4, $at, .L7F0459AC -/* 07A3D4 7F0458A4 AFAA0690 */ sw $t2, 0x690($sp) -/* 07A3D8 7F0458A8 3C038003 */ lui $v1, %hi(D_80030B0C) -/* 07A3DC 7F0458AC 8C630B0C */ lw $v1, %lo(D_80030B0C)($v1) -/* 07A3E0 7F0458B0 10600007 */ beqz $v1, .L7F0458D0 -/* 07A3E4 7F0458B4 00000000 */ nop -/* 07A3E8 7F0458B8 90620000 */ lbu $v0, ($v1) -/* 07A3EC 7F0458BC 24010003 */ li $at, 3 -/* 07A3F0 7F0458C0 1041003A */ beq $v0, $at, .L7F0459AC -/* 07A3F4 7F0458C4 24010006 */ li $at, 6 -/* 07A3F8 7F0458C8 50410039 */ beql $v0, $at, .L7F0459B0 -/* 07A3FC 7F0458CC 8FAC0604 */ lw $t4, 0x604($sp) -.L7F0458D0: -/* 07A400 7F0458D0 10600007 */ beqz $v1, .L7F0458F0 -/* 07A404 7F0458D4 00002025 */ move $a0, $zero -/* 07A408 7F0458D8 8C620004 */ lw $v0, 4($v1) -/* 07A40C 7F0458DC 8C4E0064 */ lw $t6, 0x64($v0) -/* 07A410 7F0458E0 31CD0080 */ andi $t5, $t6, 0x80 -/* 07A414 7F0458E4 11A00002 */ beqz $t5, .L7F0458F0 -/* 07A418 7F0458E8 00000000 */ nop -/* 07A41C 7F0458EC 24040001 */ li $a0, 1 -.L7F0458F0: -/* 07A420 7F0458F0 5480002F */ bnezl $a0, .L7F0459B0 -/* 07A424 7F0458F4 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A428 7F0458F8 0FC0FEDC */ jal sub_GAME_7F03FB70 -/* 07A42C 7F0458FC 02002025 */ move $a0, $s0 -/* 07A430 7F045900 8E2F0064 */ lw $t7, 0x64($s1) -/* 07A434 7F045904 2401FF7F */ li $at, -129 -/* 07A438 7F045908 AE20006C */ sw $zero, 0x6c($s1) -/* 07A43C 7F04590C 01E1C024 */ and $t8, $t7, $at -/* 07A440 7F045910 AE380064 */ sw $t8, 0x64($s1) -/* 07A444 7F045914 92620001 */ lbu $v0, 1($s3) -/* 07A448 7F045918 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07A44C 7F04591C 240500F1 */ li $a1, 241 -/* 07A450 7F045920 30480008 */ andi $t0, $v0, 8 -/* 07A454 7F045924 11000003 */ beqz $t0, .L7F045934 -/* 07A458 7F045928 00003025 */ move $a2, $zero -/* 07A45C 7F04592C 34490010 */ ori $t1, $v0, 0x10 -/* 07A460 7F045930 A2690001 */ sb $t1, 1($s3) -.L7F045934: -/* 07A464 7F045934 0C002382 */ jal play_sfx_a1 -/* 07A468 7F045938 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07A46C 7F04593C 00402025 */ move $a0, $v0 -/* 07A470 7F045940 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07A474 7F045944 26650008 */ addiu $a1, $s3, 8 -/* 07A478 7F045948 8E6B0014 */ lw $t3, 0x14($s3) -/* 07A47C 7F04594C 82240080 */ lb $a0, 0x80($s1) -/* 07A480 7F045950 0FC15DFA */ jal sub_GAME_7F0577E8 -/* 07A484 7F045954 91650003 */ lbu $a1, 3($t3) -/* 07A488 7F045958 02202025 */ move $a0, $s1 -/* 07A48C 7F04595C 27A50614 */ addiu $a1, $sp, 0x614 -/* 07A490 7F045960 8E660014 */ lw $a2, 0x14($s3) -/* 07A494 7F045964 0FC10E6E */ jal sub_GAME_7F0439B8 -/* 07A498 7F045968 27A70620 */ addiu $a3, $sp, 0x620 -/* 07A49C 7F04596C 3C058003 */ lui $a1, %hi(D_80030B0C) -/* 07A4A0 7F045970 8CA50B0C */ lw $a1, %lo(D_80030B0C)($a1) -/* 07A4A4 7F045974 02602025 */ move $a0, $s3 -/* 07A4A8 7F045978 3C068007 */ lui $a2, %hi(objinst) -/* 07A4AC 7F04597C 10A0000B */ beqz $a1, .L7F0459AC -/* 07A4B0 7F045980 3C078007 */ lui $a3, %hi(dword_CODE_bss_80075B74) -/* 07A4B4 7F045984 8E720014 */ lw $s2, 0x14($s3) -/* 07A4B8 7F045988 8CC65B70 */ lw $a2, %lo(objinst)($a2) -/* 07A4BC 7F04598C 0FC10E9B */ jal sub_GAME_7F043A6C -/* 07A4C0 7F045990 8CE75B74 */ lw $a3, %lo(dword_CODE_bss_80075B74)($a3) -/* 07A4C4 7F045994 10400005 */ beqz $v0, .L7F0459AC -/* 07A4C8 7F045998 24190005 */ li $t9, 5 -/* 07A4CC 7F04599C AE720014 */ sw $s2, 0x14($s3) -/* 07A4D0 7F0459A0 240A0001 */ li $t2, 1 -/* 07A4D4 7F0459A4 AFB90680 */ sw $t9, 0x680($sp) -/* 07A4D8 7F0459A8 AFAA0604 */ sw $t2, 0x604($sp) -.L7F0459AC: -/* 07A4DC 7F0459AC 8FAC0604 */ lw $t4, 0x604($sp) -.L7F0459B0: -/* 07A4E0 7F0459B0 158000EC */ bnez $t4, .L7F045D64 -/* 07A4E4 7F0459B4 3C128003 */ lui $s2, %hi(D_80030B0C) -/* 07A4E8 7F0459B8 8E520B0C */ lw $s2, %lo(D_80030B0C)($s2) -/* 07A4EC 7F0459BC 524000EA */ beql $s2, $zero, .L7F045D68 -/* 07A4F0 7F0459C0 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A4F4 7F0459C4 922E0003 */ lbu $t6, 3($s1) -/* 07A4F8 7F0459C8 24010008 */ li $at, 8 -/* 07A4FC 7F0459CC 55C100E6 */ bnel $t6, $at, .L7F045D68 -/* 07A500 7F0459D0 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A504 7F0459D4 82220080 */ lb $v0, 0x80($s1) -/* 07A508 7F0459D8 24010003 */ li $at, 3 -/* 07A50C 7F0459DC 544100C3 */ bnel $v0, $at, .L7F045CEC -/* 07A510 7F0459E0 24010056 */ li $at, 86 -/* 07A514 7F0459E4 92420000 */ lbu $v0, ($s2) -/* 07A518 7F0459E8 24010003 */ li $at, 3 -/* 07A51C 7F0459EC 1041000D */ beq $v0, $at, .L7F045A24 -/* 07A520 7F0459F0 24010006 */ li $at, 6 -/* 07A524 7F0459F4 544100DC */ bnel $v0, $at, .L7F045D68 -/* 07A528 7F0459F8 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A52C 7F0459FC 8E4D0004 */ lw $t5, 4($s2) -/* 07A530 7F045A00 51A000D9 */ beql $t5, $zero, .L7F045D68 -/* 07A534 7F045A04 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A538 7F045A08 0FC26C57 */ jal sub_GAME_7F09B15C -/* 07A53C 7F045A0C 02402025 */ move $a0, $s2 -/* 07A540 7F045A10 0FC26C54 */ jal get_cur_playernum -/* 07A544 7F045A14 00409025 */ move $s2, $v0 -/* 07A548 7F045A18 105200D2 */ beq $v0, $s2, .L7F045D64 -/* 07A54C 7F045A1C 3C128003 */ lui $s2, %hi(D_80030B0C) -/* 07A550 7F045A20 8E520B0C */ lw $s2, %lo(D_80030B0C)($s2) -.L7F045A24: -/* 07A554 7F045A24 8E22006C */ lw $v0, 0x6c($s1) -/* 07A558 7F045A28 8E440004 */ lw $a0, 4($s2) -/* 07A55C 7F045A2C 8C4F0000 */ lw $t7, ($v0) -/* 07A560 7F045A30 31F80001 */ andi $t8, $t7, 1 -/* 07A564 7F045A34 530000CC */ beql $t8, $zero, .L7F045D68 -/* 07A568 7F045A38 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A56C 7F045A3C 8C480090 */ lw $t0, 0x90($v0) -/* 07A570 7F045A40 5D0000C9 */ bgtzl $t0, .L7F045D68 -/* 07A574 7F045A44 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A578 7F045A48 8E290064 */ lw $t1, 0x64($s1) -/* 07A57C 7F045A4C 3C068007 */ lui $a2, %hi(flt_CODE_bss_80075B78) -/* 07A580 7F045A50 24C65B78 */ addiu $a2, %lo(flt_CODE_bss_80075B78) # addiu $a2, $a2, 0x5b78 -/* 07A584 7F045A54 312B0020 */ andi $t3, $t1, 0x20 -/* 07A588 7F045A58 116000C2 */ beqz $t3, .L7F045D64 -/* 07A58C 7F045A5C 3C058003 */ lui $a1, %hi(bodypartshot) -/* 07A590 7F045A60 82270080 */ lb $a3, 0x80($s1) -/* 07A594 7F045A64 24190001 */ li $t9, 1 -/* 07A598 7F045A68 AFB90010 */ sw $t9, 0x10($sp) -/* 07A59C 7F045A6C 0FC09C9F */ jal handles_shot_actors -/* 07A5A0 7F045A70 8CA50B10 */ lw $a1, %lo(bodypartshot)($a1) -/* 07A5A4 7F045A74 104000BB */ beqz $v0, .L7F045D64 -/* 07A5A8 7F045A78 240A0001 */ li $t2, 1 -/* 07A5AC 7F045A7C AFAA0604 */ sw $t2, 0x604($sp) -/* 07A5B0 7F045A80 C610008C */ lwc1 $f16, 0x8c($s0) -/* 07A5B4 7F045A84 C7AA0620 */ lwc1 $f10, 0x620($sp) -/* 07A5B8 7F045A88 4610B03C */ c.lt.s $f22, $f16 -/* 07A5BC 7F045A8C 00000000 */ nop -/* 07A5C0 7F045A90 4502001D */ bc1fl .L7F045B08 -/* 07A5C4 7F045A94 8E0C0000 */ lw $t4, ($s0) -/* 07A5C8 7F045A98 C6020004 */ lwc1 $f2, 4($s0) -/* 07A5CC 7F045A9C C60C0008 */ lwc1 $f12, 8($s0) -/* 07A5D0 7F045AA0 C7A40624 */ lwc1 $f4, 0x624($sp) -/* 07A5D4 7F045AA4 460A1182 */ mul.s $f6, $f2, $f10 -/* 07A5D8 7F045AA8 C600000C */ lwc1 $f0, 0xc($s0) -/* 07A5DC 7F045AAC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07A5E0 7F045AB0 46046202 */ mul.s $f8, $f12, $f4 -/* 07A5E4 7F045AB4 46083100 */ add.s $f4, $f6, $f8 -/* 07A5E8 7F045AB8 C7A60628 */ lwc1 $f6, 0x628($sp) -/* 07A5EC 7F045ABC 46003202 */ mul.s $f8, $f6, $f0 -/* 07A5F0 7F045AC0 44813000 */ mtc1 $at, $f6 -/* 07A5F4 7F045AC4 46044380 */ add.s $f14, $f8, $f4 -/* 07A5F8 7F045AC8 46068200 */ add.s $f8, $f16, $f6 -/* 07A5FC 7F045ACC 46004107 */ neg.s $f4, $f8 -/* 07A600 7F045AD0 46047382 */ mul.s $f14, $f14, $f4 -/* 07A604 7F045AD4 00000000 */ nop -/* 07A608 7F045AD8 460A7182 */ mul.s $f6, $f14, $f10 -/* 07A60C 7F045ADC 46061200 */ add.s $f8, $f2, $f6 -/* 07A610 7F045AE0 E6080004 */ swc1 $f8, 4($s0) -/* 07A614 7F045AE4 C7A40624 */ lwc1 $f4, 0x624($sp) -/* 07A618 7F045AE8 46047282 */ mul.s $f10, $f14, $f4 -/* 07A61C 7F045AEC 460A6180 */ add.s $f6, $f12, $f10 -/* 07A620 7F045AF0 E6060008 */ swc1 $f6, 8($s0) -/* 07A624 7F045AF4 C7A80628 */ lwc1 $f8, 0x628($sp) -/* 07A628 7F045AF8 46087102 */ mul.s $f4, $f14, $f8 -/* 07A62C 7F045AFC 46040280 */ add.s $f10, $f0, $f4 -/* 07A630 7F045B00 E60A000C */ swc1 $f10, 0xc($s0) -/* 07A634 7F045B04 8E0C0000 */ lw $t4, ($s0) -.L7F045B08: -/* 07A638 7F045B08 318E0200 */ andi $t6, $t4, 0x200 -/* 07A63C 7F045B0C 55C00004 */ bnezl $t6, .L7F045B20 -/* 07A640 7F045B10 8E0D0090 */ lw $t5, 0x90($s0) -/* 07A644 7F045B14 0FC15EB0 */ jal sub_GAME_7F057AC0 -/* 07A648 7F045B18 8FA4006C */ lw $a0, 0x6c($sp) -/* 07A64C 7F045B1C 8E0D0090 */ lw $t5, 0x90($s0) -.L7F045B20: -/* 07A650 7F045B20 3C058003 */ lui $a1, %hi(D_80030B0C) -/* 07A654 7F045B24 2406FFFF */ li $a2, -1 -/* 07A658 7F045B28 25AF0001 */ addiu $t7, $t5, 1 -/* 07A65C 7F045B2C AE0F0090 */ sw $t7, 0x90($s0) -/* 07A660 7F045B30 8CA50B0C */ lw $a1, %lo(D_80030B0C)($a1) -/* 07A664 7F045B34 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 07A668 7F045B38 82240080 */ lb $a0, 0x80($s1) -/* 07A66C 7F045B3C 3C188003 */ lui $t8, %hi(D_80030B0C) -/* 07A670 7F045B40 8F180B0C */ lw $t8, %lo(D_80030B0C)($t8) -/* 07A674 7F045B44 3C028003 */ lui $v0, %hi(bodypartshot) -/* 07A678 7F045B48 93080001 */ lbu $t0, 1($t8) -/* 07A67C 7F045B4C 31090002 */ andi $t1, $t0, 2 -/* 07A680 7F045B50 51200085 */ beql $t1, $zero, .L7F045D68 -/* 07A684 7F045B54 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A688 7F045B58 8C420B10 */ lw $v0, %lo(bodypartshot)($v0) -/* 07A68C 7F045B5C 24010064 */ li $at, 100 -/* 07A690 7F045B60 10410080 */ beq $v0, $at, .L7F045D64 -/* 07A694 7F045B64 2401006E */ li $at, 110 -/* 07A698 7F045B68 1041007E */ beq $v0, $at, .L7F045D64 -/* 07A69C 7F045B6C 3C048007 */ lui $a0, %hi(objinst) -/* 07A6A0 7F045B70 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) -/* 07A6A4 7F045B74 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07A6A8 7F045B78 8C845B70 */ lw $a0, %lo(objinst)($a0) -/* 07A6AC 7F045B7C 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07A6B0 7F045B80 00003025 */ move $a2, $zero -/* 07A6B4 7F045B84 C7A60614 */ lwc1 $f6, 0x614($sp) -/* 07A6B8 7F045B88 C7A80618 */ lwc1 $f8, 0x618($sp) -/* 07A6BC 7F045B8C C7A4061C */ lwc1 $f4, 0x61c($sp) -/* 07A6C0 7F045B90 00409025 */ move $s2, $v0 -/* 07A6C4 7F045B94 E7A605CC */ swc1 $f6, 0x5cc($sp) -/* 07A6C8 7F045B98 E7A805D0 */ swc1 $f8, 0x5d0($sp) -/* 07A6CC 7F045B9C 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07A6D0 7F045BA0 E7A405D4 */ swc1 $f4, 0x5d4($sp) -/* 07A6D4 7F045BA4 00402025 */ move $a0, $v0 -/* 07A6D8 7F045BA8 0FC1611D */ jal sub_GAME_7F058474 -/* 07A6DC 7F045BAC 27A505CC */ addiu $a1, $sp, 0x5cc -/* 07A6E0 7F045BB0 C7AA05CC */ lwc1 $f10, 0x5cc($sp) -/* 07A6E4 7F045BB4 C6460030 */ lwc1 $f6, 0x30($s2) -/* 07A6E8 7F045BB8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A6EC 7F045BBC 44810000 */ mtc1 $at, $f0 -/* 07A6F0 7F045BC0 46065201 */ sub.s $f8, $f10, $f6 -/* 07A6F4 7F045BC4 3C048007 */ lui $a0, %hi(objinst) -/* 07A6F8 7F045BC8 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) -/* 07A6FC 7F045BCC 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07A700 7F045BD0 46004102 */ mul.s $f4, $f8, $f0 -/* 07A704 7F045BD4 C7A805D0 */ lwc1 $f8, 0x5d0($sp) -/* 07A708 7F045BD8 8C845B70 */ lw $a0, %lo(objinst)($a0) -/* 07A70C 7F045BDC 46045180 */ add.s $f6, $f10, $f4 -/* 07A710 7F045BE0 E7A605CC */ swc1 $f6, 0x5cc($sp) -/* 07A714 7F045BE4 C64A0034 */ lwc1 $f10, 0x34($s2) -/* 07A718 7F045BE8 460A4101 */ sub.s $f4, $f8, $f10 -/* 07A71C 7F045BEC 46002182 */ mul.s $f6, $f4, $f0 -/* 07A720 7F045BF0 C7A405D4 */ lwc1 $f4, 0x5d4($sp) -/* 07A724 7F045BF4 46064280 */ add.s $f10, $f8, $f6 -/* 07A728 7F045BF8 E7AA05D0 */ swc1 $f10, 0x5d0($sp) -/* 07A72C 7F045BFC C6480038 */ lwc1 $f8, 0x38($s2) -/* 07A730 7F045C00 46082181 */ sub.s $f6, $f4, $f8 -/* 07A734 7F045C04 46003282 */ mul.s $f10, $f6, $f0 -/* 07A738 7F045C08 460A2200 */ add.s $f8, $f4, $f10 -/* 07A73C 7F045C0C 0FC1B3A4 */ jal getjointsize -/* 07A740 7F045C10 E7A805D4 */ swc1 $f8, 0x5d4($sp) -/* 07A744 7F045C14 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A748 7F045C18 44813000 */ mtc1 $at, $f6 -/* 07A74C 7F045C1C 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B88) -/* 07A750 7F045C20 C42A5B88 */ lwc1 $f10, %lo(flt_CODE_bss_80075B88)($at) -/* 07A754 7F045C24 46060102 */ mul.s $f4, $f0, $f6 -/* 07A758 7F045C28 C7A605CC */ lwc1 $f6, 0x5cc($sp) -/* 07A75C 7F045C2C 3C048007 */ lui $a0, %hi(objinst) -/* 07A760 7F045C30 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) -/* 07A764 7F045C34 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07A768 7F045C38 8C845B70 */ lw $a0, %lo(objinst)($a0) -/* 07A76C 7F045C3C 460A2202 */ mul.s $f8, $f4, $f10 -/* 07A770 7F045C40 46083101 */ sub.s $f4, $f6, $f8 -/* 07A774 7F045C44 0FC1B3A4 */ jal getjointsize -/* 07A778 7F045C48 E7A405CC */ swc1 $f4, 0x5cc($sp) -/* 07A77C 7F045C4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A780 7F045C50 44815000 */ mtc1 $at, $f10 -/* 07A784 7F045C54 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B8C) -/* 07A788 7F045C58 C4285B8C */ lwc1 $f8, %lo(flt_CODE_bss_80075B8C)($at) -/* 07A78C 7F045C5C 460A0182 */ mul.s $f6, $f0, $f10 -/* 07A790 7F045C60 C7AA05D0 */ lwc1 $f10, 0x5d0($sp) -/* 07A794 7F045C64 3C048007 */ lui $a0, %hi(objinst) -/* 07A798 7F045C68 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) -/* 07A79C 7F045C6C 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07A7A0 7F045C70 8C845B70 */ lw $a0, %lo(objinst)($a0) -/* 07A7A4 7F045C74 46083102 */ mul.s $f4, $f6, $f8 -/* 07A7A8 7F045C78 46045181 */ sub.s $f6, $f10, $f4 -/* 07A7AC 7F045C7C 0FC1B3A4 */ jal getjointsize -/* 07A7B0 7F045C80 E7A605D0 */ swc1 $f6, 0x5d0($sp) -/* 07A7B4 7F045C84 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A7B8 7F045C88 44814000 */ mtc1 $at, $f8 -/* 07A7BC 7F045C8C 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B90) -/* 07A7C0 7F045C90 C4245B90 */ lwc1 $f4, %lo(flt_CODE_bss_80075B90)($at) -/* 07A7C4 7F045C94 46080282 */ mul.s $f10, $f0, $f8 -/* 07A7C8 7F045C98 C7A805D4 */ lwc1 $f8, 0x5d4($sp) -/* 07A7CC 7F045C9C 02402025 */ move $a0, $s2 -/* 07A7D0 7F045CA0 27A5058C */ addiu $a1, $sp, 0x58c -/* 07A7D4 7F045CA4 46045182 */ mul.s $f6, $f10, $f4 -/* 07A7D8 7F045CA8 46064281 */ sub.s $f10, $f8, $f6 -/* 07A7DC 7F045CAC 0FC16799 */ jal sub_GAME_7F059E64 -/* 07A7E0 7F045CB0 E7AA05D4 */ swc1 $f10, 0x5d4($sp) -/* 07A7E4 7F045CB4 27A4058C */ addiu $a0, $sp, 0x58c -/* 07A7E8 7F045CB8 0FC1611D */ jal sub_GAME_7F058474 -/* 07A7EC 7F045CBC 27A505CC */ addiu $a1, $sp, 0x5cc -/* 07A7F0 7F045CC0 3C048007 */ lui $a0, %hi(objinst) -/* 07A7F4 7F045CC4 3C058003 */ lui $a1, %hi(bodypartshot) -/* 07A7F8 7F045CC8 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075B74) -/* 07A7FC 7F045CCC 8CC65B74 */ lw $a2, %lo(dword_CODE_bss_80075B74)($a2) -/* 07A800 7F045CD0 8CA50B10 */ lw $a1, %lo(bodypartshot)($a1) -/* 07A804 7F045CD4 8C845B70 */ lw $a0, %lo(objinst)($a0) -/* 07A808 7F045CD8 0FC08877 */ jal sub_GAME_7F0221DC -/* 07A80C 7F045CDC 27A705CC */ addiu $a3, $sp, 0x5cc -/* 07A810 7F045CE0 10000021 */ b .L7F045D68 -/* 07A814 7F045CE4 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A818 7F045CE8 24010056 */ li $at, 86 -.L7F045CEC: -/* 07A81C 7F045CEC 5441001E */ bnel $v0, $at, .L7F045D68 -/* 07A820 7F045CF0 8FAC0604 */ lw $t4, 0x604($sp) -/* 07A824 7F045CF4 92420000 */ lbu $v0, ($s2) -/* 07A828 7F045CF8 240B0001 */ li $t3, 1 -/* 07A82C 7F045CFC 24010003 */ li $at, 3 -/* 07A830 7F045D00 14410008 */ bne $v0, $at, .L7F045D24 -/* 07A834 7F045D04 AFAB0604 */ sw $t3, 0x604($sp) -/* 07A838 7F045D08 8E440004 */ lw $a0, 4($s2) -/* 07A83C 7F045D0C 26250058 */ addiu $a1, $s1, 0x58 -/* 07A840 7F045D10 3C064000 */ lui $a2, 0x4000 -/* 07A844 7F045D14 0FC09E01 */ jal sub_GAME_7F027804 -/* 07A848 7F045D18 24070001 */ li $a3, 1 -/* 07A84C 7F045D1C 10000011 */ b .L7F045D64 -/* 07A850 7F045D20 A6200082 */ sh $zero, 0x82($s1) -.L7F045D24: -/* 07A854 7F045D24 24010001 */ li $at, 1 -/* 07A858 7F045D28 10410004 */ beq $v0, $at, .L7F045D3C -/* 07A85C 7F045D2C 3C0542C8 */ lui $a1, 0x42c8 -/* 07A860 7F045D30 24010004 */ li $at, 4 -/* 07A864 7F045D34 5441000B */ bnel $v0, $at, .L7F045D64 -/* 07A868 7F045D38 A6200082 */ sh $zero, 0x82($s1) -.L7F045D3C: -/* 07A86C 7F045D3C 8E220064 */ lw $v0, 0x64($s1) -/* 07A870 7F045D40 3C010006 */ lui $at, 6 -/* 07A874 7F045D44 8E440004 */ lw $a0, 4($s2) -/* 07A878 7F045D48 0041C824 */ and $t9, $v0, $at -/* 07A87C 7F045D4C 00195442 */ srl $t2, $t9, 0x11 -/* 07A880 7F045D50 AFAA0010 */ sw $t2, 0x10($sp) -/* 07A884 7F045D54 26260058 */ addiu $a2, $s1, 0x58 -/* 07A888 7F045D58 0FC13842 */ jal maybe_detonate_object -/* 07A88C 7F045D5C 24070056 */ li $a3, 86 -/* 07A890 7F045D60 A6200082 */ sh $zero, 0x82($s1) -.L7F045D64: -/* 07A894 7F045D64 8FAC0604 */ lw $t4, 0x604($sp) -.L7F045D68: -/* 07A898 7F045D68 5580010B */ bnezl $t4, .L7F046198 -/* 07A89C 7F045D6C 8E2A0064 */ lw $t2, 0x64($s1) -/* 07A8A0 7F045D70 8FAE0664 */ lw $t6, 0x664($sp) -/* 07A8A4 7F045D74 55C00031 */ bnezl $t6, .L7F045E3C -/* 07A8A8 7F045D78 8E0F0000 */ lw $t7, ($s0) -/* 07A8AC 7F045D7C C610008C */ lwc1 $f16, 0x8c($s0) -/* 07A8B0 7F045D80 C7A40620 */ lwc1 $f4, 0x620($sp) -/* 07A8B4 7F045D84 4610B03C */ c.lt.s $f22, $f16 -/* 07A8B8 7F045D88 00000000 */ nop -/* 07A8BC 7F045D8C 4502002B */ bc1fl .L7F045E3C -/* 07A8C0 7F045D90 8E0F0000 */ lw $t7, ($s0) -/* 07A8C4 7F045D94 C6020004 */ lwc1 $f2, 4($s0) -/* 07A8C8 7F045D98 C60C0008 */ lwc1 $f12, 8($s0) -/* 07A8CC 7F045D9C C7A60624 */ lwc1 $f6, 0x624($sp) -/* 07A8D0 7F045DA0 46041202 */ mul.s $f8, $f2, $f4 -/* 07A8D4 7F045DA4 C600000C */ lwc1 $f0, 0xc($s0) -/* 07A8D8 7F045DA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07A8DC 7F045DAC 46066282 */ mul.s $f10, $f12, $f6 -/* 07A8E0 7F045DB0 4616603E */ c.le.s $f12, $f22 -/* 07A8E4 7F045DB4 460A4180 */ add.s $f6, $f8, $f10 -/* 07A8E8 7F045DB8 C7A80628 */ lwc1 $f8, 0x628($sp) -/* 07A8EC 7F045DBC 46004282 */ mul.s $f10, $f8, $f0 -/* 07A8F0 7F045DC0 44814000 */ mtc1 $at, $f8 -/* 07A8F4 7F045DC4 46065380 */ add.s $f14, $f10, $f6 -/* 07A8F8 7F045DC8 46088280 */ add.s $f10, $f16, $f8 -/* 07A8FC 7F045DCC 46005187 */ neg.s $f6, $f10 -/* 07A900 7F045DD0 46067382 */ mul.s $f14, $f14, $f6 -/* 07A904 7F045DD4 00000000 */ nop -/* 07A908 7F045DD8 46047202 */ mul.s $f8, $f14, $f4 -/* 07A90C 7F045DDC 46081280 */ add.s $f10, $f2, $f8 -/* 07A910 7F045DE0 E60A0004 */ swc1 $f10, 4($s0) -/* 07A914 7F045DE4 C7A60624 */ lwc1 $f6, 0x624($sp) -/* 07A918 7F045DE8 46067102 */ mul.s $f4, $f14, $f6 -/* 07A91C 7F045DEC 46046200 */ add.s $f8, $f12, $f4 -/* 07A920 7F045DF0 E6080008 */ swc1 $f8, 8($s0) -/* 07A924 7F045DF4 C7AA0628 */ lwc1 $f10, 0x628($sp) -/* 07A928 7F045DF8 460A7182 */ mul.s $f6, $f14, $f10 -/* 07A92C 7F045DFC 46060100 */ add.s $f4, $f0, $f6 -/* 07A930 7F045E00 4500000D */ bc1f .L7F045E38 -/* 07A934 7F045E04 E604000C */ swc1 $f4, 0xc($s0) -/* 07A938 7F045E08 C6080008 */ lwc1 $f8, 8($s0) -/* 07A93C 7F045E0C 240D0001 */ li $t5, 1 -/* 07A940 7F045E10 4608B03E */ c.le.s $f22, $f8 -/* 07A944 7F045E14 00000000 */ nop -/* 07A948 7F045E18 45030007 */ bc1tl .L7F045E38 -/* 07A94C 7F045E1C AFAD060C */ sw $t5, 0x60c($sp) -/* 07A950 7F045E20 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07A954 7F045E24 460AA03E */ c.le.s $f20, $f10 -/* 07A958 7F045E28 00000000 */ nop -/* 07A95C 7F045E2C 45020003 */ bc1fl .L7F045E3C -/* 07A960 7F045E30 8E0F0000 */ lw $t7, ($s0) -/* 07A964 7F045E34 AFAD060C */ sw $t5, 0x60c($sp) -.L7F045E38: -/* 07A968 7F045E38 8E0F0000 */ lw $t7, ($s0) -.L7F045E3C: -/* 07A96C 7F045E3C C7B4063C */ lwc1 $f20, 0x63c($sp) -/* 07A970 7F045E40 31F80008 */ andi $t8, $t7, 8 -/* 07A974 7F045E44 17000014 */ bnez $t8, .L7F045E98 -/* 07A978 7F045E48 00000000 */ nop -/* 07A97C 7F045E4C 8E640014 */ lw $a0, 0x14($s3) -/* 07A980 7F045E50 8E650008 */ lw $a1, 8($s3) -/* 07A984 7F045E54 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 07A988 7F045E58 8E660010 */ lw $a2, 0x10($s3) -/* 07A98C 7F045E5C 46000506 */ mov.s $f20, $f0 -/* 07A990 7F045E60 8FA40640 */ lw $a0, 0x640($sp) -/* 07A994 7F045E64 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 07A998 7F045E68 8FA50070 */ lw $a1, 0x70($sp) -/* 07A99C 7F045E6C 4600A101 */ sub.s $f4, $f20, $f0 -/* 07A9A0 7F045E70 E7A00638 */ swc1 $f0, 0x638($sp) -/* 07A9A4 7F045E74 C666000C */ lwc1 $f6, 0xc($s3) -/* 07A9A8 7F045E78 00004025 */ move $t0, $zero -/* 07A9AC 7F045E7C 4604303C */ c.lt.s $f6, $f4 -/* 07A9B0 7F045E80 00000000 */ nop -/* 07A9B4 7F045E84 45000002 */ bc1f .L7F045E90 -/* 07A9B8 7F045E88 00000000 */ nop -/* 07A9BC 7F045E8C 24080001 */ li $t0, 1 -.L7F045E90: -/* 07A9C0 7F045E90 10000001 */ b .L7F045E98 -/* 07A9C4 7F045E94 AFA80610 */ sw $t0, 0x610($sp) -.L7F045E98: -/* 07A9C8 7F045E98 8FA90610 */ lw $t1, 0x610($sp) -/* 07A9CC 7F045E9C 8FAB0664 */ lw $t3, 0x664($sp) -/* 07A9D0 7F045EA0 55200004 */ bnezl $t1, .L7F045EB4 -/* 07A9D4 7F045EA4 8E190000 */ lw $t9, ($s0) -/* 07A9D8 7F045EA8 5560000B */ bnezl $t3, .L7F045ED8 -/* 07A9DC 7F045EAC 8FAD0610 */ lw $t5, 0x610($sp) -/* 07A9E0 7F045EB0 8E190000 */ lw $t9, ($s0) -.L7F045EB4: -/* 07A9E4 7F045EB4 332A0200 */ andi $t2, $t9, 0x200 -/* 07A9E8 7F045EB8 55400004 */ bnezl $t2, .L7F045ECC -/* 07A9EC 7F045EBC 8E0C0090 */ lw $t4, 0x90($s0) -/* 07A9F0 7F045EC0 0FC15EB0 */ jal sub_GAME_7F057AC0 -/* 07A9F4 7F045EC4 8FA4006C */ lw $a0, 0x6c($sp) -/* 07A9F8 7F045EC8 8E0C0090 */ lw $t4, 0x90($s0) -.L7F045ECC: -/* 07A9FC 7F045ECC 258E0001 */ addiu $t6, $t4, 1 -/* 07AA00 7F045ED0 AE0E0090 */ sw $t6, 0x90($s0) -/* 07AA04 7F045ED4 8FAD0610 */ lw $t5, 0x610($sp) -.L7F045ED8: -/* 07AA08 7F045ED8 8FAF060C */ lw $t7, 0x60c($sp) -/* 07AA0C 7F045EDC 8FB80610 */ lw $t8, 0x610($sp) -/* 07AA10 7F045EE0 15A00003 */ bnez $t5, .L7F045EF0 -/* 07AA14 7F045EE4 00000000 */ nop -/* 07AA18 7F045EE8 51E0003A */ beql $t7, $zero, .L7F045FD4 -/* 07AA1C 7F045EEC 922C0003 */ lbu $t4, 3($s1) -.L7F045EF0: -/* 07AA20 7F045EF0 13000009 */ beqz $t8, .L7F045F18 -/* 07AA24 7F045EF4 C7A40618 */ lwc1 $f4, 0x618($sp) -/* 07AA28 7F045EF8 C7A80638 */ lwc1 $f8, 0x638($sp) -/* 07AA2C 7F045EFC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07AA30 7F045F00 44813000 */ mtc1 $at, $f6 -/* 07AA34 7F045F04 4608A281 */ sub.s $f10, $f20, $f8 -/* 07AA38 7F045F08 46065000 */ add.s $f0, $f10, $f6 -/* 07AA3C 7F045F0C E660000C */ swc1 $f0, 0xc($s3) -/* 07AA40 7F045F10 10000008 */ b .L7F045F34 -/* 07AA44 7F045F14 E620005C */ swc1 $f0, 0x5c($s1) -.L7F045F18: -/* 07AA48 7F045F18 C7A80638 */ lwc1 $f8, 0x638($sp) -/* 07AA4C 7F045F1C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07AA50 7F045F20 44813000 */ mtc1 $at, $f6 -/* 07AA54 7F045F24 46082281 */ sub.s $f10, $f4, $f8 -/* 07AA58 7F045F28 46065080 */ add.s $f2, $f10, $f6 -/* 07AA5C 7F045F2C E662000C */ swc1 $f2, 0xc($s3) -/* 07AA60 7F045F30 E622005C */ swc1 $f2, 0x5c($s1) -.L7F045F34: -/* 07AA64 7F045F34 8E230064 */ lw $v1, 0x64($s1) -/* 07AA68 7F045F38 02202025 */ move $a0, $s1 -/* 07AA6C 7F045F3C 000343C0 */ sll $t0, $v1, 0xf -/* 07AA70 7F045F40 05000002 */ bltz $t0, .L7F045F4C -/* 07AA74 7F045F44 34690100 */ ori $t1, $v1, 0x100 -/* 07AA78 7F045F48 AE290064 */ sw $t1, 0x64($s1) -.L7F045F4C: -/* 07AA7C 7F045F4C C610008C */ lwc1 $f16, 0x8c($s0) -/* 07AA80 7F045F50 4610B03C */ c.lt.s $f22, $f16 -/* 07AA84 7F045F54 00000000 */ nop -/* 07AA88 7F045F58 4500001B */ bc1f .L7F045FC8 -/* 07AA8C 7F045F5C 00000000 */ nop -/* 07AA90 7F045F60 C6040008 */ lwc1 $f4, 8($s0) -/* 07AA94 7F045F64 46008207 */ neg.s $f8, $f16 -/* 07AA98 7F045F68 3C018005 */ lui $at, %hi(D_80052AA8) -/* 07AA9C 7F045F6C 46082282 */ mul.s $f10, $f4, $f8 -/* 07AAA0 7F045F70 C4202AA8 */ lwc1 $f0, %lo(D_80052AA8)($at) -/* 07AAA4 7F045F74 E60A0008 */ swc1 $f10, 8($s0) -/* 07AAA8 7F045F78 C6060008 */ lwc1 $f6, 8($s0) -/* 07AAAC 7F045F7C 4600303C */ c.lt.s $f6, $f0 -/* 07AAB0 7F045F80 00000000 */ nop -/* 07AAB4 7F045F84 45020013 */ bc1fl .L7F045FD4 -/* 07AAB8 7F045F88 922C0003 */ lbu $t4, 3($s1) -/* 07AABC 7F045F8C 8E0B0000 */ lw $t3, ($s0) -/* 07AAC0 7F045F90 02202025 */ move $a0, $s1 -/* 07AAC4 7F045F94 31790002 */ andi $t9, $t3, 2 -/* 07AAC8 7F045F98 13200007 */ beqz $t9, .L7F045FB8 -/* 07AACC 7F045F9C 00000000 */ nop -/* 07AAD0 7F045FA0 8E0A0090 */ lw $t2, 0x90($s0) -/* 07AAD4 7F045FA4 24010001 */ li $at, 1 -/* 07AAD8 7F045FA8 15410003 */ bne $t2, $at, .L7F045FB8 -/* 07AADC 7F045FAC 00000000 */ nop -/* 07AAE0 7F045FB0 10000007 */ b .L7F045FD0 -/* 07AAE4 7F045FB4 E6000008 */ swc1 $f0, 8($s0) -.L7F045FB8: -/* 07AAE8 7F045FB8 0FC10C79 */ jal sub_GAME_7F0431E4 -/* 07AAEC 7F045FBC 27A5062C */ addiu $a1, $sp, 0x62c -/* 07AAF0 7F045FC0 10000004 */ b .L7F045FD4 -/* 07AAF4 7F045FC4 922C0003 */ lbu $t4, 3($s1) -.L7F045FC8: -/* 07AAF8 7F045FC8 0FC10C79 */ jal sub_GAME_7F0431E4 -/* 07AAFC 7F045FCC 27A5062C */ addiu $a1, $sp, 0x62c -.L7F045FD0: -/* 07AB00 7F045FD0 922C0003 */ lbu $t4, 3($s1) -.L7F045FD4: -/* 07AB04 7F045FD4 24010008 */ li $at, 8 -/* 07AB08 7F045FD8 5581006F */ bnel $t4, $at, .L7F046198 -/* 07AB0C 7F045FDC 8E2A0064 */ lw $t2, 0x64($s1) -/* 07AB10 7F045FE0 82220080 */ lb $v0, 0x80($s1) -/* 07AB14 7F045FE4 24010003 */ li $at, 3 -/* 07AB18 7F045FE8 54410006 */ bnel $v0, $at, .L7F046004 -/* 07AB1C 7F045FEC 24010056 */ li $at, 86 -/* 07AB20 7F045FF0 0FC10D94 */ jal sub_GAME_7F043650 -/* 07AB24 7F045FF4 02202025 */ move $a0, $s1 -/* 07AB28 7F045FF8 10000042 */ b .L7F046104 -/* 07AB2C 7F045FFC 8FB80664 */ lw $t8, 0x664($sp) -/* 07AB30 7F046000 24010056 */ li $at, 86 -.L7F046004: -/* 07AB34 7F046004 1441002D */ bne $v0, $at, .L7F0460BC -/* 07AB38 7F046008 8FAE0664 */ lw $t6, 0x664($sp) -/* 07AB3C 7F04600C 11C00003 */ beqz $t6, .L7F04601C -/* 07AB40 7F046010 8FAD0610 */ lw $t5, 0x610($sp) -/* 07AB44 7F046014 51A00004 */ beql $t5, $zero, .L7F046028 -/* 07AB48 7F046018 C6020004 */ lwc1 $f2, 4($s0) -.L7F04601C: -/* 07AB4C 7F04601C 10000038 */ b .L7F046100 -/* 07AB50 7F046020 A6200082 */ sh $zero, 0x82($s1) -/* 07AB54 7F046024 C6020004 */ lwc1 $f2, 4($s0) -.L7F046028: -/* 07AB58 7F046028 C60C0008 */ lwc1 $f12, 8($s0) -/* 07AB5C 7F04602C C600000C */ lwc1 $f0, 0xc($s0) -/* 07AB60 7F046030 46021102 */ mul.s $f4, $f2, $f2 -/* 07AB64 7F046034 3C018005 */ lui $at, %hi(D_80052AAC) -/* 07AB68 7F046038 26240058 */ addiu $a0, $s1, 0x58 -/* 07AB6C 7F04603C 460C6202 */ mul.s $f8, $f12, $f12 -/* 07AB70 7F046040 24060008 */ li $a2, 8 -/* 07AB74 7F046044 46000182 */ mul.s $f6, $f0, $f0 -/* 07AB78 7F046048 46082280 */ add.s $f10, $f4, $f8 -/* 07AB7C 7F04604C C4242AAC */ lwc1 $f4, %lo(D_80052AAC)($at) -/* 07AB80 7F046050 460A3380 */ add.s $f14, $f6, $f10 -/* 07AB84 7F046054 460E203C */ c.lt.s $f4, $f14 -/* 07AB88 7F046058 00000000 */ nop -/* 07AB8C 7F04605C 45020005 */ bc1fl .L7F046074 -/* 07AB90 7F046060 8E0F00A8 */ lw $t7, 0xa8($s0) -/* 07AB94 7F046064 E6160010 */ swc1 $f22, 0x10($s0) -/* 07AB98 7F046068 E6160014 */ swc1 $f22, 0x14($s0) -/* 07AB9C 7F04606C E6160018 */ swc1 $f22, 0x18($s0) -/* 07ABA0 7F046070 8E0F00A8 */ lw $t7, 0xa8($s0) -.L7F046074: -/* 07ABA4 7F046074 29E1012D */ slti $at, $t7, 0x12d -/* 07ABA8 7F046078 54200008 */ bnezl $at, .L7F04609C -/* 07ABAC 7F04607C 92690001 */ lbu $t1, 1($s3) -/* 07ABB0 7F046080 8E180000 */ lw $t8, ($s0) -/* 07ABB4 7F046084 2401FFCF */ li $at, -49 -/* 07ABB8 7F046088 E616001C */ swc1 $f22, 0x1c($s0) -/* 07ABBC 7F04608C 03014024 */ and $t0, $t8, $at -/* 07ABC0 7F046090 1000001B */ b .L7F046100 -/* 07ABC4 7F046094 AE080000 */ sw $t0, ($s0) -/* 07ABC8 7F046098 92690001 */ lbu $t1, 1($s3) -.L7F04609C: -/* 07ABCC 7F04609C 8E650014 */ lw $a1, 0x14($s3) -/* 07ABD0 7F0460A0 2667002C */ addiu $a3, $s3, 0x2c -/* 07ABD4 7F0460A4 312B0008 */ andi $t3, $t1, 8 -/* 07ABD8 7F0460A8 000BC82B */ sltu $t9, $zero, $t3 -/* 07ABDC 7F0460AC 0FC279C0 */ jal sub_GAME_7F09E700 -/* 07ABE0 7F0460B0 AFB90010 */ sw $t9, 0x10($sp) -/* 07ABE4 7F0460B4 10000013 */ b .L7F046104 -/* 07ABE8 7F0460B8 8FB80664 */ lw $t8, 0x664($sp) -.L7F0460BC: -/* 07ABEC 7F0460BC 24010057 */ li $at, 87 -/* 07ABF0 7F0460C0 1441000F */ bne $v0, $at, .L7F046100 -/* 07ABF4 7F0460C4 8FAA0610 */ lw $t2, 0x610($sp) -/* 07ABF8 7F0460C8 15400003 */ bnez $t2, .L7F0460D8 -/* 07ABFC 7F0460CC 8FAC060C */ lw $t4, 0x60c($sp) -/* 07AC00 7F0460D0 11800003 */ beqz $t4, .L7F0460E0 -/* 07AC04 7F0460D4 26240058 */ addiu $a0, $s1, 0x58 -.L7F0460D8: -/* 07AC08 7F0460D8 10000009 */ b .L7F046100 -/* 07AC0C 7F0460DC A6200082 */ sh $zero, 0x82($s1) -.L7F0460E0: -/* 07AC10 7F0460E0 926E0001 */ lbu $t6, 1($s3) -/* 07AC14 7F0460E4 8E650014 */ lw $a1, 0x14($s3) -/* 07AC18 7F0460E8 24060009 */ li $a2, 9 -/* 07AC1C 7F0460EC 31CD0008 */ andi $t5, $t6, 8 -/* 07AC20 7F0460F0 000D782B */ sltu $t7, $zero, $t5 -/* 07AC24 7F0460F4 AFAF0010 */ sw $t7, 0x10($sp) -/* 07AC28 7F0460F8 0FC279C0 */ jal sub_GAME_7F09E700 -/* 07AC2C 7F0460FC 2667002C */ addiu $a3, $s3, 0x2c -.L7F046100: -/* 07AC30 7F046100 8FB80664 */ lw $t8, 0x664($sp) -.L7F046104: -/* 07AC34 7F046104 3C128005 */ lui $s2, %hi(D_80048380) -/* 07AC38 7F046108 26528380 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c80 -/* 07AC3C 7F04610C 13000003 */ beqz $t8, .L7F04611C -/* 07AC40 7F046110 8FA80610 */ lw $t0, 0x610($sp) -/* 07AC44 7F046114 51000020 */ beql $t0, $zero, .L7F046198 -/* 07AC48 7F046118 8E2A0064 */ lw $t2, 0x64($s1) -.L7F04611C: -/* 07AC4C 7F04611C 8E420000 */ lw $v0, ($s2) -/* 07AC50 7F046120 8E0900AC */ lw $t1, 0xac($s0) -/* 07AC54 7F046124 244BFFFE */ addiu $t3, $v0, -2 -/* 07AC58 7F046128 012B082A */ slt $at, $t1, $t3 -/* 07AC5C 7F04612C 50200019 */ beql $at, $zero, .L7F046194 -/* 07AC60 7F046130 AE0200AC */ sw $v0, 0xac($s0) -/* 07AC64 7F046134 82220080 */ lb $v0, 0x80($s1) -/* 07AC68 7F046138 26790008 */ addiu $t9, $s3, 8 -/* 07AC6C 7F04613C 24010003 */ li $at, 3 -/* 07AC70 7F046140 10410004 */ beq $v0, $at, .L7F046154 -/* 07AC74 7F046144 AFB90070 */ sw $t9, 0x70($sp) -/* 07AC78 7F046148 24010002 */ li $at, 2 -/* 07AC7C 7F04614C 14410008 */ bne $v0, $at, .L7F046170 -/* 07AC80 7F046150 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -.L7F046154: -/* 07AC84 7F046154 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07AC88 7F046158 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07AC8C 7F04615C 24050003 */ li $a1, 3 -/* 07AC90 7F046160 0C002382 */ jal play_sfx_a1 -/* 07AC94 7F046164 00003025 */ move $a2, $zero -/* 07AC98 7F046168 10000006 */ b .L7F046184 -/* 07AC9C 7F04616C 00402025 */ move $a0, $v0 -.L7F046170: -/* 07ACA0 7F046170 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07ACA4 7F046174 2405002D */ li $a1, 45 -/* 07ACA8 7F046178 0C002382 */ jal play_sfx_a1 -/* 07ACAC 7F04617C 00003025 */ move $a2, $zero -/* 07ACB0 7F046180 00402025 */ move $a0, $v0 -.L7F046184: -/* 07ACB4 7F046184 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07ACB8 7F046188 8FA50070 */ lw $a1, 0x70($sp) -/* 07ACBC 7F04618C 8E420000 */ lw $v0, ($s2) -/* 07ACC0 7F046190 AE0200AC */ sw $v0, 0xac($s0) -.L7F046194: -/* 07ACC4 7F046194 8E2A0064 */ lw $t2, 0x64($s1) -.L7F046198: -/* 07ACC8 7F046198 3C128005 */ lui $s2, %hi(D_80048380) -/* 07ACCC 7F04619C 26528380 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c80 -/* 07ACD0 7F0461A0 314C0080 */ andi $t4, $t2, 0x80 -/* 07ACD4 7F0461A4 5180011D */ beql $t4, $zero, .L7F04661C -/* 07ACD8 7F0461A8 8FAD0690 */ lw $t5, 0x690($sp) -/* 07ACDC 7F0461AC 8E0E0000 */ lw $t6, ($s0) -/* 07ACE0 7F0461B0 31CD0400 */ andi $t5, $t6, 0x400 -/* 07ACE4 7F0461B4 51A00119 */ beql $t5, $zero, .L7F04661C -/* 07ACE8 7F0461B8 8FAD0690 */ lw $t5, 0x690($sp) -/* 07ACEC 7F0461BC 8E420000 */ lw $v0, ($s2) -/* 07ACF0 7F0461C0 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 07ACF4 7F0461C4 27B00564 */ addiu $s0, $sp, 0x564 -/* 07ACF8 7F0461C8 304F0007 */ andi $t7, $v0, 7 -/* 07ACFC 7F0461CC 15E00112 */ bnez $t7, .L7F046618 -/* 07AD00 7F0461D0 00002025 */ move $a0, $zero -/* 07AD04 7F0461D4 44810000 */ mtc1 $at, $f0 -/* 07AD08 7F0461D8 C6280058 */ lwc1 $f8, 0x58($s1) -/* 07AD0C 7F0461DC 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 -/* 07AD10 7F0461E0 44812000 */ mtc1 $at, $f4 -/* 07AD14 7F0461E4 46004180 */ add.s $f6, $f8, $f0 -/* 07AD18 7F0461E8 3058000F */ andi $t8, $v0, 0xf -/* 07AD1C 7F0461EC E7A60564 */ swc1 $f6, 0x564($sp) -/* 07AD20 7F0461F0 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07AD24 7F0461F4 46045201 */ sub.s $f8, $f10, $f4 -/* 07AD28 7F0461F8 E7A80568 */ swc1 $f8, 0x568($sp) -/* 07AD2C 7F0461FC C6260060 */ lwc1 $f6, 0x60($s1) -/* 07AD30 7F046200 17000005 */ bnez $t8, .L7F046218 -/* 07AD34 7F046204 E7A6056C */ swc1 $f6, 0x56c($sp) -/* 07AD38 7F046208 C7AA056C */ lwc1 $f10, 0x56c($sp) -/* 07AD3C 7F04620C 46005100 */ add.s $f4, $f10, $f0 -/* 07AD40 7F046210 10000004 */ b .L7F046224 -/* 07AD44 7F046214 E7A4056C */ swc1 $f4, 0x56c($sp) -.L7F046218: -/* 07AD48 7F046218 C7A8056C */ lwc1 $f8, 0x56c($sp) -/* 07AD4C 7F04621C 46004181 */ sub.s $f6, $f8, $f0 -/* 07AD50 7F046220 E7A6056C */ swc1 $f6, 0x56c($sp) -.L7F046224: -/* 07AD54 7F046224 8E220010 */ lw $v0, 0x10($s1) -/* 07AD58 7F046228 02002825 */ move $a1, $s0 -/* 07AD5C 7F04622C 24070014 */ li $a3, 20 -/* 07AD60 7F046230 8C460014 */ lw $a2, 0x14($v0) -/* 07AD64 7F046234 2448002C */ addiu $t0, $v0, 0x2c -/* 07AD68 7F046238 AFA80018 */ sw $t0, 0x18($sp) -/* 07AD6C 7F04623C AFA0001C */ sw $zero, 0x1c($sp) -/* 07AD70 7F046240 AFA00014 */ sw $zero, 0x14($sp) -/* 07AD74 7F046244 0FC27094 */ jal sub_GAME_7F09C250 -/* 07AD78 7F046248 AFA00010 */ sw $zero, 0x10($sp) -/* 07AD7C 7F04624C 8E490000 */ lw $t1, ($s2) -/* 07AD80 7F046250 24010028 */ li $at, 40 -/* 07AD84 7F046254 02002025 */ move $a0, $s0 -/* 07AD88 7F046258 0121001A */ div $zero, $t1, $at -/* 07AD8C 7F04625C 00005810 */ mfhi $t3 -/* 07AD90 7F046260 556000EE */ bnezl $t3, .L7F04661C -/* 07AD94 7F046264 8FAD0690 */ lw $t5, 0x690($sp) -/* 07AD98 7F046268 8E220010 */ lw $v0, 0x10($s1) -/* 07AD9C 7F04626C 24190001 */ li $t9, 1 -/* 07ADA0 7F046270 2406000A */ li $a2, 10 -/* 07ADA4 7F046274 8C450014 */ lw $a1, 0x14($v0) -/* 07ADA8 7F046278 AFB90010 */ sw $t9, 0x10($sp) -/* 07ADAC 7F04627C 0FC279C0 */ jal sub_GAME_7F09E700 -/* 07ADB0 7F046280 2447002C */ addiu $a3, $v0, 0x2c -/* 07ADB4 7F046284 100000E5 */ b .L7F04661C -/* 07ADB8 7F046288 8FAD0690 */ lw $t5, 0x690($sp) -/* 07ADBC 7F04628C C6000060 */ lwc1 $f0, 0x60($s0) -.L7F046290: -/* 07ADC0 7F046290 44815000 */ mtc1 $at, $f10 -/* 07ADC4 7F046294 24120001 */ li $s2, 1 -/* 07ADC8 7F046298 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07ADCC 7F04629C 460A003C */ c.lt.s $f0, $f10 -/* 07ADD0 7F0462A0 26040068 */ addiu $a0, $s0, 0x68 -/* 07ADD4 7F0462A4 26050078 */ addiu $a1, $s0, 0x78 -/* 07ADD8 7F0462A8 45020031 */ bc1fl .L7F046370 -/* 07ADDC 7F0462AC C60A0004 */ lwc1 $f10, 4($s0) -/* 07ADE0 7F0462B0 C6020064 */ lwc1 $f2, 0x64($s0) -/* 07ADE4 7F0462B4 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07ADE8 7F0462B8 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 07ADEC 7F0462BC 3C018005 */ lui $at, %hi(D_80052AB0) -/* 07ADF0 7F0462C0 46041202 */ mul.s $f8, $f2, $f4 -/* 07ADF4 7F0462C4 27B20550 */ addiu $s2, $sp, 0x550 -/* 07ADF8 7F0462C8 46080180 */ add.s $f6, $f0, $f8 -/* 07ADFC 7F0462CC E6060060 */ swc1 $f6, 0x60($s0) -/* 07AE00 7F0462D0 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 07AE04 7F0462D4 59400005 */ blezl $t2, .L7F0462EC -/* 07AE08 7F0462D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AE0C 7F0462DC C42A2AB0 */ lwc1 $f10, %lo(D_80052AB0)($at) -/* 07AE10 7F0462E0 460A1102 */ mul.s $f4, $f2, $f10 -/* 07AE14 7F0462E4 E6040064 */ swc1 $f4, 0x64($s0) -/* 07AE18 7F0462E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L7F0462EC: -/* 07AE1C 7F0462EC 44814000 */ mtc1 $at, $f8 -/* 07AE20 7F0462F0 C6000060 */ lwc1 $f0, 0x60($s0) -/* 07AE24 7F0462F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AE28 7F0462F8 4600403C */ c.lt.s $f8, $f0 -/* 07AE2C 7F0462FC 00000000 */ nop -/* 07AE30 7F046300 45030006 */ bc1tl .L7F04631C -/* 07AE34 7F046304 44813000 */ mtc1 $at, $f6 -/* 07AE38 7F046308 8E0C0000 */ lw $t4, ($s0) -/* 07AE3C 7F04630C 318E0008 */ andi $t6, $t4, 8 -/* 07AE40 7F046310 51C00006 */ beql $t6, $zero, .L7F04632C -/* 07AE44 7F046314 44060000 */ mfc1 $a2, $f0 -/* 07AE48 7F046318 44813000 */ mtc1 $at, $f6 -.L7F04631C: -/* 07AE4C 7F04631C 00000000 */ nop -/* 07AE50 7F046320 E6060060 */ swc1 $f6, 0x60($s0) -/* 07AE54 7F046324 C6000060 */ lwc1 $f0, 0x60($s0) -/* 07AE58 7F046328 44060000 */ mfc1 $a2, $f0 -.L7F04632C: -/* 07AE5C 7F04632C 0FC16E82 */ jal sub_GAME_7F05BA08 -/* 07AE60 7F046330 02403825 */ move $a3, $s2 -/* 07AE64 7F046334 26250018 */ addiu $a1, $s1, 0x18 -/* 07AE68 7F046338 AFA50070 */ sw $a1, 0x70($sp) -/* 07AE6C 7F04633C 0FC16D8A */ jal sub_GAME_7F05B628 -/* 07AE70 7F046340 02402025 */ move $a0, $s2 -/* 07AE74 7F046344 C60C00C0 */ lwc1 $f12, 0xc0($s0) -/* 07AE78 7F046348 0FC1626D */ jal sub_GAME_7F0589B4 -/* 07AE7C 7F04634C 8FA50070 */ lw $a1, 0x70($sp) -/* 07AE80 7F046350 C60C00C4 */ lwc1 $f12, 0xc4($s0) -/* 07AE84 7F046354 0FC16279 */ jal sub_GAME_7F0589E4 -/* 07AE88 7F046358 8FA50070 */ lw $a1, 0x70($sp) -/* 07AE8C 7F04635C C60C00C8 */ lwc1 $f12, 0xc8($s0) -/* 07AE90 7F046360 0FC16293 */ jal sub_GAME_7F058A4C -/* 07AE94 7F046364 8FA50070 */ lw $a1, 0x70($sp) -/* 07AE98 7F046368 00009025 */ move $s2, $zero -/* 07AE9C 7F04636C C60A0004 */ lwc1 $f10, 4($s0) -.L7F046370: -/* 07AEA0 7F046370 460AB032 */ c.eq.s $f22, $f10 -/* 07AEA4 7F046374 00000000 */ nop -/* 07AEA8 7F046378 4502000F */ bc1fl .L7F0463B8 -/* 07AEAC 7F04637C 8E0D0000 */ lw $t5, ($s0) -/* 07AEB0 7F046380 C604000C */ lwc1 $f4, 0xc($s0) -/* 07AEB4 7F046384 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AEB8 7F046388 4604B032 */ c.eq.s $f22, $f4 -/* 07AEBC 7F04638C 00000000 */ nop -/* 07AEC0 7F046390 45020009 */ bc1fl .L7F0463B8 -/* 07AEC4 7F046394 8E0D0000 */ lw $t5, ($s0) -/* 07AEC8 7F046398 C6080060 */ lwc1 $f8, 0x60($s0) -/* 07AECC 7F04639C 44813000 */ mtc1 $at, $f6 -/* 07AED0 7F0463A0 00000000 */ nop -/* 07AED4 7F0463A4 4606403C */ c.lt.s $f8, $f6 -/* 07AED8 7F0463A8 00000000 */ nop -/* 07AEDC 7F0463AC 45000088 */ bc1f .L7F0465D0 -/* 07AEE0 7F0463B0 00000000 */ nop -/* 07AEE4 7F0463B4 8E0D0000 */ lw $t5, ($s0) -.L7F0463B8: -/* 07AEE8 7F0463B8 02202025 */ move $a0, $s1 -/* 07AEEC 7F0463BC 26380018 */ addiu $t8, $s1, 0x18 -/* 07AEF0 7F0463C0 31AF0008 */ andi $t7, $t5, 8 -/* 07AEF4 7F0463C4 15E00082 */ bnez $t7, .L7F0465D0 -/* 07AEF8 7F0463C8 00000000 */ nop -/* 07AEFC 7F0463CC AFB80070 */ sw $t8, 0x70($sp) -/* 07AF00 7F0463D0 0FC1001E */ jal sub_GAME_7F040078 -/* 07AF04 7F0463D4 00009025 */ move $s2, $zero -/* 07AF08 7F0463D8 3C038005 */ lui $v1, %hi(clock_timer) -/* 07AF0C 7F0463DC 8C638374 */ lw $v1, %lo(clock_timer)($v1) -/* 07AF10 7F0463E0 AFA2054C */ sw $v0, 0x54c($sp) -/* 07AF14 7F0463E4 00002025 */ move $a0, $zero -/* 07AF18 7F0463E8 18600048 */ blez $v1, .L7F04650C -/* 07AF1C 7F0463EC 3C018005 */ lui $at, %hi(D_80052AB4) -/* 07AF20 7F0463F0 C42E2AB4 */ lwc1 $f14, %lo(D_80052AB4)($at) -/* 07AF24 7F0463F4 C7AA0694 */ lwc1 $f10, 0x694($sp) -.L7F0463F8: -/* 07AF28 7F0463F8 C6040004 */ lwc1 $f4, 4($s0) -/* 07AF2C 7F0463FC C7A6069C */ lwc1 $f6, 0x69c($sp) -/* 07AF30 7F046400 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AF34 7F046404 46045200 */ add.s $f8, $f10, $f4 -/* 07AF38 7F046408 E7A80694 */ swc1 $f8, 0x694($sp) -/* 07AF3C 7F04640C C60A000C */ lwc1 $f10, 0xc($s0) -/* 07AF40 7F046410 460A3100 */ add.s $f4, $f6, $f10 -/* 07AF44 7F046414 44813000 */ mtc1 $at, $f6 -/* 07AF48 7F046418 E7A4069C */ swc1 $f4, 0x69c($sp) -/* 07AF4C 7F04641C C6080060 */ lwc1 $f8, 0x60($s0) -/* 07AF50 7F046420 4608303E */ c.le.s $f6, $f8 -/* 07AF54 7F046424 00000000 */ nop -/* 07AF58 7F046428 45020035 */ bc1fl .L7F046500 -/* 07AF5C 7F04642C 24840001 */ addiu $a0, $a0, 1 -/* 07AF60 7F046430 C60A0094 */ lwc1 $f10, 0x94($s0) -/* 07AF64 7F046434 460AB03C */ c.lt.s $f22, $f10 -/* 07AF68 7F046438 00000000 */ nop -/* 07AF6C 7F04643C 45020027 */ bc1fl .L7F0464DC -/* 07AF70 7F046440 C6060004 */ lwc1 $f6, 4($s0) -/* 07AF74 7F046444 C600000C */ lwc1 $f0, 0xc($s0) -/* 07AF78 7F046448 C6020004 */ lwc1 $f2, 4($s0) -/* 07AF7C 7F04644C AFA40548 */ sw $a0, 0x548($sp) -/* 07AF80 7F046450 46000102 */ mul.s $f4, $f0, $f0 -/* 07AF84 7F046454 00000000 */ nop -/* 07AF88 7F046458 46021202 */ mul.s $f8, $f2, $f2 -/* 07AF8C 7F04645C 0C007DF8 */ jal sqrtf -/* 07AF90 7F046460 46082300 */ add.s $f12, $f4, $f8 -/* 07AF94 7F046464 3C018005 */ lui $at, %hi(D_80052AB8) -/* 07AF98 7F046468 C42E2AB8 */ lwc1 $f14, %lo(D_80052AB8)($at) -/* 07AF9C 7F04646C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07AFA0 7F046470 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07AFA4 7F046474 C6060094 */ lwc1 $f6, 0x94($s0) -/* 07AFA8 7F046478 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AFAC 7F04647C 44814000 */ mtc1 $at, $f8 -/* 07AFB0 7F046480 460A3102 */ mul.s $f4, $f6, $f10 -/* 07AFB4 7F046484 8FA40548 */ lw $a0, 0x548($sp) -/* 07AFB8 7F046488 3C038005 */ lui $v1, %hi(clock_timer) -/* 07AFBC 7F04648C 46002303 */ div.s $f12, $f4, $f0 -/* 07AFC0 7F046490 460C403E */ c.le.s $f8, $f12 -/* 07AFC4 7F046494 00000000 */ nop -/* 07AFC8 7F046498 45020005 */ bc1fl .L7F0464B0 -/* 07AFCC 7F04649C C6020004 */ lwc1 $f2, 4($s0) -/* 07AFD0 7F0464A0 E6160004 */ swc1 $f22, 4($s0) -/* 07AFD4 7F0464A4 1000000A */ b .L7F0464D0 -/* 07AFD8 7F0464A8 E616000C */ swc1 $f22, 0xc($s0) -/* 07AFDC 7F0464AC C6020004 */ lwc1 $f2, 4($s0) -.L7F0464B0: -/* 07AFE0 7F0464B0 C600000C */ lwc1 $f0, 0xc($s0) -/* 07AFE4 7F0464B4 460C1182 */ mul.s $f6, $f2, $f12 -/* 07AFE8 7F0464B8 00000000 */ nop -/* 07AFEC 7F0464BC 460C0102 */ mul.s $f4, $f0, $f12 -/* 07AFF0 7F0464C0 46061281 */ sub.s $f10, $f2, $f6 -/* 07AFF4 7F0464C4 46040201 */ sub.s $f8, $f0, $f4 -/* 07AFF8 7F0464C8 E60A0004 */ swc1 $f10, 4($s0) -/* 07AFFC 7F0464CC E608000C */ swc1 $f8, 0xc($s0) -.L7F0464D0: -/* 07B000 7F0464D0 1000000A */ b .L7F0464FC -/* 07B004 7F0464D4 8C638374 */ lw $v1, %lo(clock_timer)($v1) -/* 07B008 7F0464D8 C6060004 */ lwc1 $f6, 4($s0) -.L7F0464DC: -/* 07B00C 7F0464DC C604000C */ lwc1 $f4, 0xc($s0) -/* 07B010 7F0464E0 3C038005 */ lui $v1, %hi(clock_timer) -/* 07B014 7F0464E4 460E3282 */ mul.s $f10, $f6, $f14 -/* 07B018 7F0464E8 00000000 */ nop -/* 07B01C 7F0464EC 460E2202 */ mul.s $f8, $f4, $f14 -/* 07B020 7F0464F0 E60A0004 */ swc1 $f10, 4($s0) -/* 07B024 7F0464F4 E608000C */ swc1 $f8, 0xc($s0) -/* 07B028 7F0464F8 8C638374 */ lw $v1, %lo(clock_timer)($v1) -.L7F0464FC: -/* 07B02C 7F0464FC 24840001 */ addiu $a0, $a0, 1 -.L7F046500: -/* 07B030 7F046500 0083082A */ slt $at, $a0, $v1 -/* 07B034 7F046504 5420FFBC */ bnezl $at, .L7F0463F8 -/* 07B038 7F046508 C7AA0694 */ lwc1 $f10, 0x694($sp) -.L7F04650C: -/* 07B03C 7F04650C 02202025 */ move $a0, $s1 -/* 07B040 7F046510 27A50694 */ addiu $a1, $sp, 0x694 -/* 07B044 7F046514 27A60530 */ addiu $a2, $sp, 0x530 -/* 07B048 7F046518 27A7053C */ addiu $a3, $sp, 0x53c -/* 07B04C 7F04651C AFA00010 */ sw $zero, 0x10($sp) -/* 07B050 7F046520 0FC10BAD */ jal sub_GAME_7F042EB4 -/* 07B054 7F046524 AFA00014 */ sw $zero, 0x14($sp) -/* 07B058 7F046528 24080001 */ li $t0, 1 -/* 07B05C 7F04652C AFA80690 */ sw $t0, 0x690($sp) -/* 07B060 7F046530 8E660010 */ lw $a2, 0x10($s3) -/* 07B064 7F046534 8E650008 */ lw $a1, 8($s3) -/* 07B068 7F046538 0FC2CA5C */ jal sub_GAME_7F0B2970 -/* 07B06C 7F04653C 8E640014 */ lw $a0, 0x14($s3) -/* 07B070 7F046540 46000506 */ mov.s $f20, $f0 -/* 07B074 7F046544 8FA4054C */ lw $a0, 0x54c($sp) -/* 07B078 7F046548 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 07B07C 7F04654C 8FA50070 */ lw $a1, 0x70($sp) -/* 07B080 7F046550 3C018005 */ lui $at, %hi(D_80052ABC) -/* 07B084 7F046554 C42E2ABC */ lwc1 $f14, %lo(D_80052ABC)($at) -/* 07B088 7F046558 4600A181 */ sub.s $f6, $f20, $f0 -/* 07B08C 7F04655C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07B090 7F046560 44815000 */ mtc1 $at, $f10 -/* 07B094 7F046564 3C018005 */ lui $at, %hi(D_80052AC0) -/* 07B098 7F046568 460A3300 */ add.s $f12, $f6, $f10 -/* 07B09C 7F04656C E66C000C */ swc1 $f12, 0xc($s3) -/* 07B0A0 7F046570 E62C005C */ swc1 $f12, 0x5c($s1) -/* 07B0A4 7F046574 C6020004 */ lwc1 $f2, 4($s0) -/* 07B0A8 7F046578 460E103C */ c.lt.s $f2, $f14 -/* 07B0AC 7F04657C 00000000 */ nop -/* 07B0B0 7F046580 45000013 */ bc1f .L7F0465D0 -/* 07B0B4 7F046584 00000000 */ nop -/* 07B0B8 7F046588 C4242AC0 */ lwc1 $f4, %lo(D_80052AC0)($at) -/* 07B0BC 7F04658C 4602203C */ c.lt.s $f4, $f2 -/* 07B0C0 7F046590 00000000 */ nop -/* 07B0C4 7F046594 4500000E */ bc1f .L7F0465D0 -/* 07B0C8 7F046598 00000000 */ nop -/* 07B0CC 7F04659C C600000C */ lwc1 $f0, 0xc($s0) -/* 07B0D0 7F0465A0 3C018005 */ lui $at, %hi(D_80052AC4) -/* 07B0D4 7F0465A4 460E003C */ c.lt.s $f0, $f14 -/* 07B0D8 7F0465A8 00000000 */ nop -/* 07B0DC 7F0465AC 45000008 */ bc1f .L7F0465D0 -/* 07B0E0 7F0465B0 00000000 */ nop -/* 07B0E4 7F0465B4 C4282AC4 */ lwc1 $f8, %lo(D_80052AC4)($at) -/* 07B0E8 7F0465B8 4600403C */ c.lt.s $f8, $f0 -/* 07B0EC 7F0465BC 00000000 */ nop -/* 07B0F0 7F0465C0 45000003 */ bc1f .L7F0465D0 -/* 07B0F4 7F0465C4 00000000 */ nop -/* 07B0F8 7F0465C8 E616000C */ swc1 $f22, 0xc($s0) -/* 07B0FC 7F0465CC E6160004 */ swc1 $f22, 4($s0) -.L7F0465D0: -/* 07B100 7F0465D0 16400005 */ bnez $s2, .L7F0465E8 -/* 07B104 7F0465D4 00000000 */ nop -/* 07B108 7F0465D8 8E090000 */ lw $t1, ($s0) -/* 07B10C 7F0465DC 312B0008 */ andi $t3, $t1, 8 -/* 07B110 7F0465E0 5160000E */ beql $t3, $zero, .L7F04661C -/* 07B114 7F0465E4 8FAD0690 */ lw $t5, 0x690($sp) -.L7F0465E8: -/* 07B118 7F0465E8 0FC0FEDC */ jal sub_GAME_7F03FB70 -/* 07B11C 7F0465EC 02002025 */ move $a0, $s0 -/* 07B120 7F0465F0 8E390064 */ lw $t9, 0x64($s1) -/* 07B124 7F0465F4 2401FF7F */ li $at, -129 -/* 07B128 7F0465F8 AE20006C */ sw $zero, 0x6c($s1) -/* 07B12C 7F0465FC 03215024 */ and $t2, $t9, $at -/* 07B130 7F046600 AE2A0064 */ sw $t2, 0x64($s1) -/* 07B134 7F046604 92620001 */ lbu $v0, 1($s3) -/* 07B138 7F046608 304C0008 */ andi $t4, $v0, 8 -/* 07B13C 7F04660C 11800002 */ beqz $t4, .L7F046618 -/* 07B140 7F046610 344E0010 */ ori $t6, $v0, 0x10 -/* 07B144 7F046614 A26E0001 */ sb $t6, 1($s3) -.L7F046618: -/* 07B148 7F046618 8FAD0690 */ lw $t5, 0x690($sp) -.L7F04661C: -/* 07B14C 7F04661C 11A0000B */ beqz $t5, .L7F04664C -/* 07B150 7F046620 262F0058 */ addiu $t7, $s1, 0x58 -/* 07B154 7F046624 AFAF0070 */ sw $t7, 0x70($sp) -/* 07B158 7F046628 0FC10121 */ jal sub_GAME_7F040484 -/* 07B15C 7F04662C 02202025 */ move $a0, $s1 -/* 07B160 7F046630 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 07B164 7F046634 02202025 */ move $a0, $s1 -/* 07B168 7F046638 8E240010 */ lw $a0, 0x10($s1) -/* 07B16C 7F04663C 0FC100AD */ jal sub_GAME_7F0402B4 -/* 07B170 7F046640 2625007C */ addiu $a1, $s1, 0x7c -/* 07B174 7F046644 0FC146F3 */ jal detonate_proxmine_In_range -/* 07B178 7F046648 8FA40070 */ lw $a0, 0x70($sp) -.L7F04664C: -/* 07B17C 7F04664C 92220003 */ lbu $v0, 3($s1) -/* 07B180 7F046650 24010001 */ li $at, 1 -/* 07B184 7F046654 54410052 */ bnel $v0, $at, .L7F0467A0 -/* 07B188 7F046658 24010006 */ li $at, 6 -/* 07B18C 7F04665C 8E700004 */ lw $s0, 4($s3) -/* 07B190 7F046660 3C188005 */ lui $t8, %hi(global_timer) -/* 07B194 7F046664 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07B198 7F046668 E7A6067C */ swc1 $f6, 0x67c($sp) -/* 07B19C 7F04666C 8E0200EC */ lw $v0, 0xec($s0) -/* 07B1A0 7F046670 58400012 */ blezl $v0, .L7F0466BC -/* 07B1A4 7F046674 820C00BC */ lb $t4, 0xbc($s0) -/* 07B1A8 7F046678 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 07B1AC 7F04667C 8E0800A0 */ lw $t0, 0xa0($s0) -/* 07B1B0 7F046680 03084823 */ subu $t1, $t8, $t0 -/* 07B1B4 7F046684 0049082A */ slt $at, $v0, $t1 -/* 07B1B8 7F046688 5020000C */ beql $at, $zero, .L7F0466BC -/* 07B1BC 7F04668C 820C00BC */ lb $t4, 0xbc($s0) -/* 07B1C0 7F046690 820B00BC */ lb $t3, 0xbc($s0) -/* 07B1C4 7F046694 55600009 */ bnezl $t3, .L7F0466BC -/* 07B1C8 7F046698 820C00BC */ lb $t4, 0xbc($s0) -/* 07B1CC 7F04669C 8E190008 */ lw $t9, 8($s0) -/* 07B1D0 7F0466A0 02002025 */ move $a0, $s0 -/* 07B1D4 7F0466A4 00195000 */ sll $t2, $t9, 0 -/* 07B1D8 7F0466A8 05420004 */ bltzl $t2, .L7F0466BC -/* 07B1DC 7F0466AC 820C00BC */ lb $t4, 0xbc($s0) -/* 07B1E0 7F0466B0 0FC15262 */ jal set_door_state -/* 07B1E4 7F0466B4 24050002 */ li $a1, 2 -/* 07B1E8 7F0466B8 820C00BC */ lb $t4, 0xbc($s0) -.L7F0466BC: -/* 07B1EC 7F0466BC 24010003 */ li $at, 3 -/* 07B1F0 7F0466C0 5581001B */ bnel $t4, $at, .L7F046730 -/* 07B1F4 7F0466C4 960D009A */ lhu $t5, 0x9a($s0) -/* 07B1F8 7F0466C8 8E0200C8 */ lw $v0, 0xc8($s0) -/* 07B1FC 7F0466CC 24030001 */ li $v1, 1 -/* 07B200 7F0466D0 02002025 */ move $a0, $s0 -/* 07B204 7F0466D4 10400011 */ beqz $v0, .L7F04671C -/* 07B208 7F0466D8 00000000 */ nop -/* 07B20C 7F0466DC 1050000F */ beq $v0, $s0, .L7F04671C -/* 07B210 7F0466E0 00000000 */ nop -/* 07B214 7F0466E4 804E00BC */ lb $t6, 0xbc($v0) -.L7F0466E8: -/* 07B218 7F0466E8 55C00007 */ bnezl $t6, .L7F046708 -/* 07B21C 7F0466EC 00001825 */ move $v1, $zero -/* 07B220 7F0466F0 C44A00B4 */ lwc1 $f10, 0xb4($v0) -/* 07B224 7F0466F4 460AB03C */ c.lt.s $f22, $f10 -/* 07B228 7F0466F8 00000000 */ nop -/* 07B22C 7F0466FC 45020003 */ bc1fl .L7F04670C -/* 07B230 7F046700 8C4200C8 */ lw $v0, 0xc8($v0) -/* 07B234 7F046704 00001825 */ move $v1, $zero -.L7F046708: -/* 07B238 7F046708 8C4200C8 */ lw $v0, 0xc8($v0) -.L7F04670C: -/* 07B23C 7F04670C 10400003 */ beqz $v0, .L7F04671C -/* 07B240 7F046710 00000000 */ nop -/* 07B244 7F046714 5450FFF4 */ bnel $v0, $s0, .L7F0466E8 -/* 07B248 7F046718 804E00BC */ lb $t6, 0xbc($v0) -.L7F04671C: -/* 07B24C 7F04671C 50600004 */ beql $v1, $zero, .L7F046730 -/* 07B250 7F046720 960D009A */ lhu $t5, 0x9a($s0) -/* 07B254 7F046724 0FC15229 */ jal sub_GAME_7F0548A4 -/* 07B258 7F046728 24050001 */ li $a1, 1 -/* 07B25C 7F04672C 960D009A */ lhu $t5, 0x9a($s0) -.L7F046730: -/* 07B260 7F046730 24010008 */ li $at, 8 -/* 07B264 7F046734 15A1000B */ bne $t5, $at, .L7F046764 -/* 07B268 7F046738 00000000 */ nop -/* 07B26C 7F04673C 0FC15288 */ jal sub_GAME_7F054A20 -/* 07B270 7F046740 02002025 */ move $a0, $s0 -/* 07B274 7F046744 10400007 */ beqz $v0, .L7F046764 -/* 07B278 7F046748 00000000 */ nop -/* 07B27C 7F04674C 0FC0F9C6 */ jal sub_GAME_7F03E718 -/* 07B280 7F046750 02002025 */ move $a0, $s0 -/* 07B284 7F046754 10400003 */ beqz $v0, .L7F046764 -/* 07B288 7F046758 00000000 */ nop -/* 07B28C 7F04675C 0FC15667 */ jal sub_GAME_7F05599C -/* 07B290 7F046760 02602025 */ move $a0, $s3 -.L7F046764: -/* 07B294 7F046764 3C188005 */ lui $t8, %hi(global_timer) -/* 07B298 7F046768 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 07B29C 7F04676C 8E0F00FC */ lw $t7, 0xfc($s0) -/* 07B2A0 7F046770 3C088005 */ lui $t0, %hi(clock_timer) -/* 07B2A4 7F046774 01F8082A */ slt $at, $t7, $t8 -/* 07B2A8 7F046778 14200004 */ bnez $at, .L7F04678C -/* 07B2AC 7F04677C 00000000 */ nop -/* 07B2B0 7F046780 8D088374 */ lw $t0, %lo(clock_timer)($t0) -/* 07B2B4 7F046784 550006AA */ bnezl $t0, .L7F048230 -/* 07B2B8 7F046788 92220003 */ lbu $v0, 3($s1) -.L7F04678C: -/* 07B2BC 7F04678C 0FC153ED */ jal sub_GAME_7F054FB4 -/* 07B2C0 7F046790 02002025 */ move $a0, $s0 -/* 07B2C4 7F046794 100006A6 */ b .L7F048230 -/* 07B2C8 7F046798 92220003 */ lbu $v0, 3($s1) -/* 07B2CC 7F04679C 24010006 */ li $at, 6 -.L7F0467A0: -/* 07B2D0 7F0467A0 54410130 */ bnel $v0, $at, .L7F046C64 -/* 07B2D4 7F0467A4 2401000D */ li $at, 13 -/* 07B2D8 7F0467A8 8E290008 */ lw $t1, 8($s1) -/* 07B2DC 7F0467AC 000958C0 */ sll $t3, $t1, 3 -/* 07B2E0 7F0467B0 0562012C */ bltzl $t3, .L7F046C64 -/* 07B2E4 7F0467B4 2401000D */ li $at, 13 -/* 07B2E8 7F0467B8 8E700004 */ lw $s0, 4($s3) -/* 07B2EC 7F0467BC 8E1900D4 */ lw $t9, 0xd4($s0) -/* 07B2F0 7F0467C0 53200004 */ beql $t9, $zero, .L7F0467D4 -/* 07B2F4 7F0467C4 C61200D0 */ lwc1 $f18, 0xd0($s0) -/* 07B2F8 7F0467C8 10000002 */ b .L7F0467D4 -/* 07B2FC 7F0467CC C61200CC */ lwc1 $f18, 0xcc($s0) -/* 07B300 7F0467D0 C61200D0 */ lwc1 $f18, 0xd0($s0) -.L7F0467D4: -/* 07B304 7F0467D4 0FC225E6 */ jal get_curplayer_positiondata -/* 07B308 7F0467D8 E7B20518 */ swc1 $f18, 0x518($sp) -/* 07B30C 7F0467DC AFA20514 */ sw $v0, 0x514($sp) -/* 07B310 7F0467E0 C6280058 */ lwc1 $f8, 0x58($s1) -/* 07B314 7F0467E4 C4440008 */ lwc1 $f4, 8($v0) -/* 07B318 7F0467E8 C60000E8 */ lwc1 $f0, 0xe8($s0) -/* 07B31C 7F0467EC C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07B320 7F0467F0 46082301 */ sub.s $f12, $f4, $f8 -/* 07B324 7F0467F4 C446000C */ lwc1 $f6, 0xc($v0) -/* 07B328 7F0467F8 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07B32C 7F0467FC 4600B03C */ c.lt.s $f22, $f0 -/* 07B330 7F046800 C4440010 */ lwc1 $f4, 0x10($v0) -/* 07B334 7F046804 C7B20518 */ lwc1 $f18, 0x518($sp) -/* 07B338 7F046808 24120001 */ li $s2, 1 -/* 07B33C 7F04680C 460A3081 */ sub.s $f2, $f6, $f10 -/* 07B340 7F046810 4500000E */ bc1f .L7F04684C -/* 07B344 7F046814 46082381 */ sub.s $f14, $f4, $f8 -/* 07B348 7F046818 46000182 */ mul.s $f6, $f0, $f0 -/* 07B34C 7F04681C 00000000 */ nop -/* 07B350 7F046820 460C6282 */ mul.s $f10, $f12, $f12 -/* 07B354 7F046824 00000000 */ nop -/* 07B358 7F046828 46021102 */ mul.s $f4, $f2, $f2 -/* 07B35C 7F04682C 46045200 */ add.s $f8, $f10, $f4 -/* 07B360 7F046830 460E7282 */ mul.s $f10, $f14, $f14 -/* 07B364 7F046834 460A4100 */ add.s $f4, $f8, $f10 -/* 07B368 7F046838 4604303C */ c.lt.s $f6, $f4 -/* 07B36C 7F04683C 00000000 */ nop -/* 07B370 7F046840 45000002 */ bc1f .L7F04684C -/* 07B374 7F046844 00000000 */ nop -/* 07B378 7F046848 00009025 */ move $s2, $zero -.L7F04684C: -/* 07B37C 7F04684C 8E2A0008 */ lw $t2, 8($s1) -/* 07B380 7F046850 000A6080 */ sll $t4, $t2, 2 -/* 07B384 7F046854 05810002 */ bgez $t4, .L7F046860 -/* 07B388 7F046858 00000000 */ nop -/* 07B38C 7F04685C 00009025 */ move $s2, $zero -.L7F046860: -/* 07B390 7F046860 1240003A */ beqz $s2, .L7F04694C -/* 07B394 7F046864 00000000 */ nop -/* 07B398 7F046868 0FC16A8C */ jal convert_angle_using_inverse -/* 07B39C 7F04686C E7B20518 */ swc1 $f18, 0x518($sp) -/* 07B3A0 7F046870 C60200C8 */ lwc1 $f2, 0xc8($s0) -/* 07B3A4 7F046874 C7B20518 */ lwc1 $f18, 0x518($sp) -/* 07B3A8 7F046878 3C018005 */ lui $at, %hi(D_80052ACC) -/* 07B3AC 7F04687C 4616103C */ c.lt.s $f2, $f22 -/* 07B3B0 7F046880 00000000 */ nop -/* 07B3B4 7F046884 45000005 */ bc1f .L7F04689C -/* 07B3B8 7F046888 00000000 */ nop -/* 07B3BC 7F04688C 3C018005 */ lui $at, %hi(D_80052AC8) -/* 07B3C0 7F046890 C4342AC8 */ lwc1 $f20, %lo(D_80052AC8)($at) -/* 07B3C4 7F046894 10000007 */ b .L7F0468B4 -/* 07B3C8 7F046898 46141080 */ add.s $f2, $f2, $f20 -.L7F04689C: -/* 07B3CC 7F04689C C4342ACC */ lwc1 $f20, %lo(D_80052ACC)($at) -/* 07B3D0 7F0468A0 4602A03E */ c.le.s $f20, $f2 -/* 07B3D4 7F0468A4 00000000 */ nop -/* 07B3D8 7F0468A8 45020003 */ bc1fl .L7F0468B8 -/* 07B3DC 7F0468AC C60800C4 */ lwc1 $f8, 0xc4($s0) -/* 07B3E0 7F0468B0 46141081 */ sub.s $f2, $f2, $f20 -.L7F0468B4: -/* 07B3E4 7F0468B4 C60800C4 */ lwc1 $f8, 0xc4($s0) -.L7F0468B8: -/* 07B3E8 7F0468B8 3C018005 */ lui $at, %hi(D_80052AD0) -/* 07B3EC 7F0468BC 46081080 */ add.s $f2, $f2, $f8 -/* 07B3F0 7F0468C0 4602A03E */ c.le.s $f20, $f2 -/* 07B3F4 7F0468C4 00000000 */ nop -/* 07B3F8 7F0468C8 45020003 */ bc1fl .L7F0468D8 -/* 07B3FC 7F0468CC 4602003C */ c.lt.s $f0, $f2 -/* 07B400 7F0468D0 46141081 */ sub.s $f2, $f2, $f20 -/* 07B404 7F0468D4 4602003C */ c.lt.s $f0, $f2 -.L7F0468D8: -/* 07B408 7F0468D8 46020381 */ sub.s $f14, $f0, $f2 -/* 07B40C 7F0468DC 45000002 */ bc1f .L7F0468E8 -/* 07B410 7F0468E0 46007306 */ mov.s $f12, $f14 -/* 07B414 7F0468E4 46147300 */ add.s $f12, $f14, $f20 -.L7F0468E8: -/* 07B418 7F0468E8 C4202AD0 */ lwc1 $f0, %lo(D_80052AD0)($at) -/* 07B41C 7F0468EC 3C018005 */ lui $at, %hi(D_80052AD4) -/* 07B420 7F0468F0 46006301 */ sub.s $f12, $f12, $f0 -/* 07B424 7F0468F4 4616603C */ c.lt.s $f12, $f22 -/* 07B428 7F0468F8 00000000 */ nop -/* 07B42C 7F0468FC 45020003 */ bc1fl .L7F04690C -/* 07B430 7F046900 460C003C */ c.lt.s $f0, $f12 -/* 07B434 7F046904 46146300 */ add.s $f12, $f12, $f20 -/* 07B438 7F046908 460C003C */ c.lt.s $f0, $f12 -.L7F04690C: -/* 07B43C 7F04690C 00000000 */ nop -/* 07B440 7F046910 45000002 */ bc1f .L7F04691C -/* 07B444 7F046914 00000000 */ nop -/* 07B448 7F046918 46146301 */ sub.s $f12, $f12, $f20 -.L7F04691C: -/* 07B44C 7F04691C C42A2AD4 */ lwc1 $f10, %lo(D_80052AD4)($at) -/* 07B450 7F046920 3C018005 */ lui $at, %hi(D_80052AD8) -/* 07B454 7F046924 460C503C */ c.lt.s $f10, $f12 -/* 07B458 7F046928 00000000 */ nop -/* 07B45C 7F04692C 45030007 */ bc1tl .L7F04694C -/* 07B460 7F046930 00009025 */ move $s2, $zero -/* 07B464 7F046934 C4262AD8 */ lwc1 $f6, %lo(D_80052AD8)($at) -/* 07B468 7F046938 4606603C */ c.lt.s $f12, $f6 -/* 07B46C 7F04693C 00000000 */ nop -/* 07B470 7F046940 45000002 */ bc1f .L7F04694C -/* 07B474 7F046944 00000000 */ nop -/* 07B478 7F046948 00009025 */ move $s2, $zero -.L7F04694C: -/* 07B47C 7F04694C 12400034 */ beqz $s2, .L7F046A20 -/* 07B480 7F046950 00002825 */ move $a1, $zero -/* 07B484 7F046954 8E6E0014 */ lw $t6, 0x14($s3) -/* 07B488 7F046958 E7B20518 */ swc1 $f18, 0x518($sp) -/* 07B48C 7F04695C 8FA40514 */ lw $a0, 0x514($sp) -/* 07B490 7F046960 0FC2280F */ jal sub_GAME_7F08A03C -/* 07B494 7F046964 AFAE04F0 */ sw $t6, 0x4f0($sp) -/* 07B498 7F046968 8FA20514 */ lw $v0, 0x514($sp) -/* 07B49C 7F04696C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 07B4A0 7F046970 8E650008 */ lw $a1, 8($s3) -/* 07B4A4 7F046974 C4440010 */ lwc1 $f4, 0x10($v0) -/* 07B4A8 7F046978 8E660010 */ lw $a2, 0x10($s3) -/* 07B4AC 7F04697C 8C470008 */ lw $a3, 8($v0) -/* 07B4B0 7F046980 44814000 */ mtc1 $at, $f8 -/* 07B4B4 7F046984 44815000 */ mtc1 $at, $f10 -/* 07B4B8 7F046988 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B4BC 7F04698C 44813000 */ mtc1 $at, $f6 -/* 07B4C0 7F046990 240D001B */ li $t5, 27 -/* 07B4C4 7F046994 AFAD0014 */ sw $t5, 0x14($sp) -/* 07B4C8 7F046998 E7B60020 */ swc1 $f22, 0x20($sp) -/* 07B4CC 7F04699C 27A404F0 */ addiu $a0, $sp, 0x4f0 -/* 07B4D0 7F0469A0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07B4D4 7F0469A4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 07B4D8 7F0469A8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 07B4DC 7F0469AC 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 07B4E0 7F0469B0 E7A60024 */ swc1 $f6, 0x24($sp) -/* 07B4E4 7F0469B4 10400015 */ beqz $v0, .L7F046A0C -/* 07B4E8 7F0469B8 C7B20518 */ lwc1 $f18, 0x518($sp) -/* 07B4EC 7F0469BC 3C188005 */ lui $t8, %hi(clock_timer) -/* 07B4F0 7F0469C0 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 07B4F4 7F0469C4 8E0F00E0 */ lw $t7, 0xe0($s0) -/* 07B4F8 7F0469C8 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 07B4FC 7F0469CC 44812000 */ mtc1 $at, $f4 -/* 07B500 7F0469D0 01F84021 */ addu $t0, $t7, $t8 -/* 07B504 7F0469D4 AE0800E0 */ sw $t0, 0xe0($s0) -/* 07B508 7F0469D8 3C018003 */ lui $at, %hi(D_80030B14) -/* 07B50C 7F0469DC C4280B14 */ lwc1 $f8, %lo(D_80030B14)($at) -/* 07B510 7F0469E0 46082282 */ mul.s $f10, $f4, $f8 -/* 07B514 7F0469E4 4600518D */ trunc.w.s $f6, $f10 -/* 07B518 7F0469E8 44193000 */ mfc1 $t9, $f6 -/* 07B51C 7F0469EC 00000000 */ nop -/* 07B520 7F0469F0 0119082A */ slt $at, $t0, $t9 -/* 07B524 7F0469F4 54200006 */ bnezl $at, .L7F046A10 -/* 07B528 7F0469F8 8FA40514 */ lw $a0, 0x514($sp) -/* 07B52C 7F0469FC 0FC15772 */ jal start_alarm -/* 07B530 7F046A00 E7B20518 */ swc1 $f18, 0x518($sp) -/* 07B534 7F046A04 C7B20518 */ lwc1 $f18, 0x518($sp) -/* 07B538 7F046A08 AE0000E0 */ sw $zero, 0xe0($s0) -.L7F046A0C: -/* 07B53C 7F046A0C 8FA40514 */ lw $a0, 0x514($sp) -.L7F046A10: -/* 07B540 7F046A10 24050001 */ li $a1, 1 -/* 07B544 7F046A14 0FC2280F */ jal sub_GAME_7F08A03C -/* 07B548 7F046A18 E7B20518 */ swc1 $f18, 0x518($sp) -/* 07B54C 7F046A1C C7B20518 */ lwc1 $f18, 0x518($sp) -.L7F046A20: -/* 07B550 7F046A20 C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07B554 7F046A24 4612703C */ c.lt.s $f14, $f18 -/* 07B558 7F046A28 00000000 */ nop -/* 07B55C 7F046A2C 45020047 */ bc1fl .L7F046B4C -/* 07B560 7F046A30 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B564 7F046A34 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B568 7F046A38 3C018005 */ lui $at, %hi(D_80052AE0) -/* 07B56C 7F046A3C C4302AE0 */ lwc1 $f16, %lo(D_80052AE0)($at) -/* 07B570 7F046A40 46000102 */ mul.s $f4, $f0, $f0 -/* 07B574 7F046A44 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07B578 7F046A48 44814000 */ mtc1 $at, $f8 -/* 07B57C 7F046A4C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B580 7F046A50 46082282 */ mul.s $f10, $f4, $f8 -/* 07B584 7F046A54 46105083 */ div.s $f2, $f10, $f16 -/* 07B588 7F046A58 46029181 */ sub.s $f6, $f18, $f2 -/* 07B58C 7F046A5C 460E303E */ c.le.s $f6, $f14 -/* 07B590 7F046A60 00000000 */ nop -/* 07B594 7F046A64 4502000F */ bc1fl .L7F046AA4 -/* 07B598 7F046A68 C60C00DC */ lwc1 $f12, 0xdc($s0) -/* 07B59C 7F046A6C C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07B5A0 7F046A70 46048202 */ mul.s $f8, $f16, $f4 -/* 07B5A4 7F046A74 46080281 */ sub.s $f10, $f0, $f8 -/* 07B5A8 7F046A78 E60A00D8 */ swc1 $f10, 0xd8($s0) -/* 07B5AC 7F046A7C C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B5B0 7F046A80 4610003C */ c.lt.s $f0, $f16 -/* 07B5B4 7F046A84 00000000 */ nop -/* 07B5B8 7F046A88 45000003 */ bc1f .L7F046A98 -/* 07B5BC 7F046A8C 00000000 */ nop -/* 07B5C0 7F046A90 E61000D8 */ swc1 $f16, 0xd8($s0) -/* 07B5C4 7F046A94 C60000D8 */ lwc1 $f0, 0xd8($s0) -.L7F046A98: -/* 07B5C8 7F046A98 1000001D */ b .L7F046B10 -/* 07B5CC 7F046A9C C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07B5D0 7F046AA0 C60C00DC */ lwc1 $f12, 0xdc($s0) -.L7F046AA4: -/* 07B5D4 7F046AA4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B5D8 7F046AA8 460C003C */ c.lt.s $f0, $f12 -/* 07B5DC 7F046AAC 00000000 */ nop -/* 07B5E0 7F046AB0 45000017 */ bc1f .L7F046B10 -/* 07B5E4 7F046AB4 00000000 */ nop -/* 07B5E8 7F046AB8 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 07B5EC 7F046ABC 46068102 */ mul.s $f4, $f16, $f6 -/* 07B5F0 7F046AC0 46040080 */ add.s $f2, $f0, $f4 -/* 07B5F4 7F046AC4 4602603C */ c.lt.s $f12, $f2 -/* 07B5F8 7F046AC8 00000000 */ nop -/* 07B5FC 7F046ACC 45000002 */ bc1f .L7F046AD8 -/* 07B600 7F046AD0 00000000 */ nop -/* 07B604 7F046AD4 46006086 */ mov.s $f2, $f12 -.L7F046AD8: -/* 07B608 7F046AD8 46021202 */ mul.s $f8, $f2, $f2 -/* 07B60C 7F046ADC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07B610 7F046AE0 44815000 */ mtc1 $at, $f10 -/* 07B614 7F046AE4 00000000 */ nop -/* 07B618 7F046AE8 460A4182 */ mul.s $f6, $f8, $f10 -/* 07B61C 7F046AEC 46103103 */ div.s $f4, $f6, $f16 -/* 07B620 7F046AF0 46049201 */ sub.s $f8, $f18, $f4 -/* 07B624 7F046AF4 4608703C */ c.lt.s $f14, $f8 -/* 07B628 7F046AF8 00000000 */ nop -/* 07B62C 7F046AFC 45000004 */ bc1f .L7F046B10 -/* 07B630 7F046B00 00000000 */ nop -/* 07B634 7F046B04 E60200D8 */ swc1 $f2, 0xd8($s0) -/* 07B638 7F046B08 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B63C 7F046B0C C60E00C8 */ lwc1 $f14, 0xc8($s0) -.L7F046B10: -/* 07B640 7F046B10 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B644 7F046B14 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07B648 7F046B18 460A0182 */ mul.s $f6, $f0, $f10 -/* 07B64C 7F046B1C 46067100 */ add.s $f4, $f14, $f6 -/* 07B650 7F046B20 E60400C8 */ swc1 $f4, 0xc8($s0) -/* 07B654 7F046B24 C60800C8 */ lwc1 $f8, 0xc8($s0) -/* 07B658 7F046B28 4608903E */ c.le.s $f18, $f8 -/* 07B65C 7F046B2C 00000000 */ nop -/* 07B660 7F046B30 450205BF */ bc1fl .L7F048230 -/* 07B664 7F046B34 92220003 */ lbu $v0, 3($s1) -/* 07B668 7F046B38 E61200C8 */ swc1 $f18, 0xc8($s0) -/* 07B66C 7F046B3C E61600D8 */ swc1 $f22, 0xd8($s0) -/* 07B670 7F046B40 100005BA */ b .L7F04822C -/* 07B674 7F046B44 AE0000D4 */ sw $zero, 0xd4($s0) -/* 07B678 7F046B48 C60000D8 */ lwc1 $f0, 0xd8($s0) -.L7F046B4C: -/* 07B67C 7F046B4C 3C018005 */ lui $at, %hi(D_80052AE4) -/* 07B680 7F046B50 C4302AE4 */ lwc1 $f16, %lo(D_80052AE4)($at) -/* 07B684 7F046B54 46000282 */ mul.s $f10, $f0, $f0 -/* 07B688 7F046B58 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07B68C 7F046B5C 44813000 */ mtc1 $at, $f6 -/* 07B690 7F046B60 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B694 7F046B64 240A0001 */ li $t2, 1 -/* 07B698 7F046B68 46065102 */ mul.s $f4, $f10, $f6 -/* 07B69C 7F046B6C 46102083 */ div.s $f2, $f4, $f16 -/* 07B6A0 7F046B70 46029200 */ add.s $f8, $f18, $f2 -/* 07B6A4 7F046B74 4608703E */ c.le.s $f14, $f8 -/* 07B6A8 7F046B78 00000000 */ nop -/* 07B6AC 7F046B7C 4502000F */ bc1fl .L7F046BBC -/* 07B6B0 7F046B80 C60C00DC */ lwc1 $f12, 0xdc($s0) -/* 07B6B4 7F046B84 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07B6B8 7F046B88 460A8182 */ mul.s $f6, $f16, $f10 -/* 07B6BC 7F046B8C 46060101 */ sub.s $f4, $f0, $f6 -/* 07B6C0 7F046B90 E60400D8 */ swc1 $f4, 0xd8($s0) -/* 07B6C4 7F046B94 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B6C8 7F046B98 4610003C */ c.lt.s $f0, $f16 -/* 07B6CC 7F046B9C 00000000 */ nop -/* 07B6D0 7F046BA0 45000003 */ bc1f .L7F046BB0 -/* 07B6D4 7F046BA4 00000000 */ nop -/* 07B6D8 7F046BA8 E61000D8 */ swc1 $f16, 0xd8($s0) -/* 07B6DC 7F046BAC C60000D8 */ lwc1 $f0, 0xd8($s0) -.L7F046BB0: -/* 07B6E0 7F046BB0 1000001D */ b .L7F046C28 -/* 07B6E4 7F046BB4 C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07B6E8 7F046BB8 C60C00DC */ lwc1 $f12, 0xdc($s0) -.L7F046BBC: -/* 07B6EC 7F046BBC 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B6F0 7F046BC0 460C003C */ c.lt.s $f0, $f12 -/* 07B6F4 7F046BC4 00000000 */ nop -/* 07B6F8 7F046BC8 45000017 */ bc1f .L7F046C28 -/* 07B6FC 7F046BCC 00000000 */ nop -/* 07B700 7F046BD0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 07B704 7F046BD4 46088282 */ mul.s $f10, $f16, $f8 -/* 07B708 7F046BD8 460A0080 */ add.s $f2, $f0, $f10 -/* 07B70C 7F046BDC 4602603C */ c.lt.s $f12, $f2 -/* 07B710 7F046BE0 00000000 */ nop -/* 07B714 7F046BE4 45000002 */ bc1f .L7F046BF0 -/* 07B718 7F046BE8 00000000 */ nop -/* 07B71C 7F046BEC 46006086 */ mov.s $f2, $f12 -.L7F046BF0: -/* 07B720 7F046BF0 46021182 */ mul.s $f6, $f2, $f2 -/* 07B724 7F046BF4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07B728 7F046BF8 44812000 */ mtc1 $at, $f4 -/* 07B72C 7F046BFC 00000000 */ nop -/* 07B730 7F046C00 46043202 */ mul.s $f8, $f6, $f4 -/* 07B734 7F046C04 46104283 */ div.s $f10, $f8, $f16 -/* 07B738 7F046C08 460A9180 */ add.s $f6, $f18, $f10 -/* 07B73C 7F046C0C 460E303C */ c.lt.s $f6, $f14 -/* 07B740 7F046C10 00000000 */ nop -/* 07B744 7F046C14 45000004 */ bc1f .L7F046C28 -/* 07B748 7F046C18 00000000 */ nop -/* 07B74C 7F046C1C E60200D8 */ swc1 $f2, 0xd8($s0) -/* 07B750 7F046C20 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B754 7F046C24 C60E00C8 */ lwc1 $f14, 0xc8($s0) -.L7F046C28: -/* 07B758 7F046C28 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07B75C 7F046C2C C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07B760 7F046C30 46040202 */ mul.s $f8, $f0, $f4 -/* 07B764 7F046C34 46087281 */ sub.s $f10, $f14, $f8 -/* 07B768 7F046C38 E60A00C8 */ swc1 $f10, 0xc8($s0) -/* 07B76C 7F046C3C C60600C8 */ lwc1 $f6, 0xc8($s0) -/* 07B770 7F046C40 4612303E */ c.le.s $f6, $f18 -/* 07B774 7F046C44 00000000 */ nop -/* 07B778 7F046C48 45020579 */ bc1fl .L7F048230 -/* 07B77C 7F046C4C 92220003 */ lbu $v0, 3($s1) -/* 07B780 7F046C50 E61200C8 */ swc1 $f18, 0xc8($s0) -/* 07B784 7F046C54 E61600D8 */ swc1 $f22, 0xd8($s0) -/* 07B788 7F046C58 10000574 */ b .L7F04822C -/* 07B78C 7F046C5C AE0A00D4 */ sw $t2, 0xd4($s0) -/* 07B790 7F046C60 2401000D */ li $at, 13 -.L7F046C64: -/* 07B794 7F046C64 5441023F */ bnel $v0, $at, .L7F047564 -/* 07B798 7F046C68 24010027 */ li $at, 39 -/* 07B79C 7F046C6C 8E2C0008 */ lw $t4, 8($s1) -/* 07B7A0 7F046C70 000C70C0 */ sll $t6, $t4, 3 -/* 07B7A4 7F046C74 05C2023B */ bltzl $t6, .L7F047564 -/* 07B7A8 7F046C78 24010027 */ li $at, 39 -/* 07B7AC 7F046C7C 0FC225E6 */ jal get_curplayer_positiondata -/* 07B7B0 7F046C80 8E700004 */ lw $s0, 4($s3) -/* 07B7B4 7F046C84 AFA004AC */ sw $zero, 0x4ac($sp) -/* 07B7B8 7F046C88 AFA004A8 */ sw $zero, 0x4a8($sp) -/* 07B7BC 7F046C8C AFA004A4 */ sw $zero, 0x4a4($sp) -/* 07B7C0 7F046C90 8E23000C */ lw $v1, 0xc($s1) -/* 07B7C4 7F046C94 00409025 */ move $s2, $v0 -/* 07B7C8 7F046C98 00036800 */ sll $t5, $v1, 0 -/* 07B7CC 7F046C9C 05A10056 */ bgez $t5, .L7F046DF8 -/* 07B7D0 7F046CA0 00037840 */ sll $t7, $v1, 1 -/* 07B7D4 7F046CA4 05E30008 */ bgezl $t7, .L7F046CC8 -/* 07B7D8 7F046CA8 C6020084 */ lwc1 $f2, 0x84($s0) -/* 07B7DC 7F046CAC C6080090 */ lwc1 $f8, 0x90($s0) -/* 07B7E0 7F046CB0 C604009C */ lwc1 $f4, 0x9c($s0) -/* 07B7E4 7F046CB4 E6080084 */ swc1 $f8, 0x84($s0) -/* 07B7E8 7F046CB8 C6020084 */ lwc1 $f2, 0x84($s0) -/* 07B7EC 7F046CBC 10000036 */ b .L7F046D98 -/* 07B7F0 7F046CC0 E6040098 */ swc1 $f4, 0x98($s0) -/* 07B7F4 7F046CC4 C6020084 */ lwc1 $f2, 0x84($s0) -.L7F046CC8: -/* 07B7F8 7F046CC8 C60A0090 */ lwc1 $f10, 0x90($s0) -/* 07B7FC 7F046CCC 460A1032 */ c.eq.s $f2, $f10 -/* 07B800 7F046CD0 00000000 */ nop -/* 07B804 7F046CD4 45000030 */ bc1f .L7F046D98 -/* 07B808 7F046CD8 00000000 */ nop -/* 07B80C 7F046CDC C6060098 */ lwc1 $f6, 0x98($s0) -/* 07B810 7F046CE0 C604009C */ lwc1 $f4, 0x9c($s0) -/* 07B814 7F046CE4 46043032 */ c.eq.s $f6, $f4 -/* 07B818 7F046CE8 00000000 */ nop -/* 07B81C 7F046CEC 4500002A */ bc1f .L7F046D98 -/* 07B820 7F046CF0 00000000 */ nop -/* 07B824 7F046CF4 0C002914 */ jal get_random_value -/* 07B828 7F046CF8 00000000 */ nop -/* 07B82C 7F046CFC 44824000 */ mtc1 $v0, $f8 -/* 07B830 7F046D00 3C018005 */ lui $at, %hi(D_80052AE8) -/* 07B834 7F046D04 C4342AE8 */ lwc1 $f20, %lo(D_80052AE8)($at) -/* 07B838 7F046D08 04410005 */ bgez $v0, .L7F046D20 -/* 07B83C 7F046D0C 468042A0 */ cvt.s.w $f10, $f8 -/* 07B840 7F046D10 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07B844 7F046D14 44813000 */ mtc1 $at, $f6 -/* 07B848 7F046D18 00000000 */ nop -/* 07B84C 7F046D1C 46065280 */ add.s $f10, $f10, $f6 -.L7F046D20: -/* 07B850 7F046D20 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07B854 7F046D24 44812000 */ mtc1 $at, $f4 -/* 07B858 7F046D28 3C01421C */ li $at, 0x421C0000 # 39.000000 -/* 07B85C 7F046D2C 44813000 */ mtc1 $at, $f6 -/* 07B860 7F046D30 46045202 */ mul.s $f8, $f10, $f4 -/* 07B864 7F046D34 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B868 7F046D38 44812000 */ mtc1 $at, $f4 -/* 07B86C 7F046D3C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07B870 7F046D40 46064282 */ mul.s $f10, $f8, $f6 -/* 07B874 7F046D44 46045200 */ add.s $f8, $f10, $f4 -/* 07B878 7F046D48 44815000 */ mtc1 $at, $f10 -/* 07B87C 7F046D4C 46144182 */ mul.s $f6, $f8, $f20 -/* 07B880 7F046D50 460A3103 */ div.s $f4, $f6, $f10 -/* 07B884 7F046D54 0C002914 */ jal get_random_value -/* 07B888 7F046D58 E6040098 */ swc1 $f4, 0x98($s0) -/* 07B88C 7F046D5C 44824000 */ mtc1 $v0, $f8 -/* 07B890 7F046D60 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07B894 7F046D64 04410004 */ bgez $v0, .L7F046D78 -/* 07B898 7F046D68 468041A0 */ cvt.s.w $f6, $f8 -/* 07B89C 7F046D6C 44815000 */ mtc1 $at, $f10 -/* 07B8A0 7F046D70 00000000 */ nop -/* 07B8A4 7F046D74 460A3180 */ add.s $f6, $f6, $f10 -.L7F046D78: -/* 07B8A8 7F046D78 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07B8AC 7F046D7C 44812000 */ mtc1 $at, $f4 -/* 07B8B0 7F046D80 00000000 */ nop -/* 07B8B4 7F046D84 46043202 */ mul.s $f8, $f6, $f4 -/* 07B8B8 7F046D88 00000000 */ nop -/* 07B8BC 7F046D8C 46144282 */ mul.s $f10, $f8, $f20 -/* 07B8C0 7F046D90 E60A0084 */ swc1 $f10, 0x84($s0) -/* 07B8C4 7F046D94 C6020084 */ lwc1 $f2, 0x84($s0) -.L7F046D98: -/* 07B8C8 7F046D98 3C018005 */ lui $at, %hi(D_80052AEC) -/* 07B8CC 7F046D9C C4202AEC */ lwc1 $f0, %lo(D_80052AEC)($at) -/* 07B8D0 7F046DA0 3C018005 */ lui $at, %hi(D_80052AF4) -/* 07B8D4 7F046DA4 C4262AF4 */ lwc1 $f6, %lo(D_80052AF4)($at) -/* 07B8D8 7F046DA8 44051000 */ mfc1 $a1, $f2 -/* 07B8DC 7F046DAC 44070000 */ mfc1 $a3, $f0 -/* 07B8E0 7F046DB0 26040090 */ addiu $a0, $s0, 0x90 -/* 07B8E4 7F046DB4 26060094 */ addiu $a2, $s0, 0x94 -/* 07B8E8 7F046DB8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07B8EC 7F046DBC 0FC10C43 */ jal sub_GAME_7F04310C -/* 07B8F0 7F046DC0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 07B8F4 7F046DC4 3C018005 */ lui $at, %hi(D_80052AF8) -/* 07B8F8 7F046DC8 C4202AF8 */ lwc1 $f0, %lo(D_80052AF8)($at) -/* 07B8FC 7F046DCC 3C018005 */ lui $at, %hi(D_80052AFC) -/* 07B900 7F046DD0 C4242AFC */ lwc1 $f4, %lo(D_80052AFC)($at) -/* 07B904 7F046DD4 8E050098 */ lw $a1, 0x98($s0) -/* 07B908 7F046DD8 44070000 */ mfc1 $a3, $f0 -/* 07B90C 7F046DDC 2604009C */ addiu $a0, $s0, 0x9c -/* 07B910 7F046DE0 260600A0 */ addiu $a2, $s0, 0xa0 -/* 07B914 7F046DE4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07B918 7F046DE8 0FC10C43 */ jal sub_GAME_7F04310C -/* 07B91C 7F046DEC E7A40014 */ swc1 $f4, 0x14($sp) -/* 07B920 7F046DF0 1000050F */ b .L7F048230 -/* 07B924 7F046DF4 92220003 */ lbu $v0, 3($s1) -.L7F046DF8: -/* 07B928 7F046DF8 C6480008 */ lwc1 $f8, 8($s2) -/* 07B92C 7F046DFC C62A0058 */ lwc1 $f10, 0x58($s1) -/* 07B930 7F046E00 C646000C */ lwc1 $f6, 0xc($s2) -/* 07B934 7F046E04 C624005C */ lwc1 $f4, 0x5c($s1) -/* 07B938 7F046E08 460A4001 */ sub.s $f0, $f8, $f10 -/* 07B93C 7F046E0C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 07B940 7F046E10 44815000 */ mtc1 $at, $f10 -/* 07B944 7F046E14 46043201 */ sub.s $f8, $f6, $f4 -/* 07B948 7F046E18 460A4181 */ sub.s $f6, $f8, $f10 -/* 07B94C 7F046E1C 46000282 */ mul.s $f10, $f0, $f0 -/* 07B950 7F046E20 E7A604C0 */ swc1 $f6, 0x4c0($sp) -/* 07B954 7F046E24 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07B958 7F046E28 C6440010 */ lwc1 $f4, 0x10($s2) -/* 07B95C 7F046E2C E7A004C4 */ swc1 $f0, 0x4c4($sp) -/* 07B960 7F046E30 46082081 */ sub.s $f2, $f4, $f8 -/* 07B964 7F046E34 46021182 */ mul.s $f6, $f2, $f2 -/* 07B968 7F046E38 E7A204BC */ swc1 $f2, 0x4bc($sp) -/* 07B96C 7F046E3C 46065500 */ add.s $f20, $f10, $f6 -/* 07B970 7F046E40 E7B404B8 */ swc1 $f20, 0x4b8($sp) -/* 07B974 7F046E44 0C007DF8 */ jal sqrtf -/* 07B978 7F046E48 4600A306 */ mov.s $f12, $f20 -/* 07B97C 7F046E4C E7A004B0 */ swc1 $f0, 0x4b0($sp) -/* 07B980 7F046E50 8E380008 */ lw $t8, 8($s1) -/* 07B984 7F046E54 46000086 */ mov.s $f2, $f0 -/* 07B988 7F046E58 00184100 */ sll $t0, $t8, 4 -/* 07B98C 7F046E5C 05030008 */ bgezl $t0, .L7F046E80 -/* 07B990 7F046E60 C7AC04B8 */ lwc1 $f12, 0x4b8($sp) -/* 07B994 7F046E64 C7A004C0 */ lwc1 $f0, 0x4c0($sp) -/* 07B998 7F046E68 46000102 */ mul.s $f4, $f0, $f0 -/* 07B99C 7F046E6C 4604A300 */ add.s $f12, $f20, $f4 -/* 07B9A0 7F046E70 0C007DF8 */ jal sqrtf -/* 07B9A4 7F046E74 E7AC04B8 */ swc1 $f12, 0x4b8($sp) -/* 07B9A8 7F046E78 46000086 */ mov.s $f2, $f0 -/* 07B9AC 7F046E7C C7AC04B8 */ lwc1 $f12, 0x4b8($sp) -.L7F046E80: -/* 07B9B0 7F046E80 0FC0B491 */ jal sub_GAME_7F02D244 -/* 07B9B4 7F046E84 E7A204B4 */ swc1 $f2, 0x4b4($sp) -/* 07B9B8 7F046E88 E7A004A0 */ swc1 $f0, 0x4a0($sp) -/* 07B9BC 7F046E8C C6080098 */ lwc1 $f8, 0x98($s0) -/* 07B9C0 7F046E90 C6100084 */ lwc1 $f16, 0x84($s0) -/* 07B9C4 7F046E94 C7A204B4 */ lwc1 $f2, 0x4b4($sp) -/* 07B9C8 7F046E98 E7A804D4 */ swc1 $f8, 0x4d4($sp) -/* 07B9CC 7F046E9C C60A00A8 */ lwc1 $f10, 0xa8($s0) -/* 07B9D0 7F046EA0 460A103E */ c.le.s $f2, $f10 -/* 07B9D4 7F046EA4 00000000 */ nop -/* 07B9D8 7F046EA8 45020096 */ bc1fl .L7F047104 -/* 07B9DC 7F046EAC 8FAC04AC */ lw $t4, 0x4ac($sp) -/* 07B9E0 7F046EB0 C7AC04C4 */ lwc1 $f12, 0x4c4($sp) -/* 07B9E4 7F046EB4 C7AE04BC */ lwc1 $f14, 0x4bc($sp) -/* 07B9E8 7F046EB8 0FC16A8C */ jal convert_angle_using_inverse -/* 07B9EC 7F046EBC E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07B9F0 7F046EC0 E7A0049C */ swc1 $f0, 0x49c($sp) -/* 07B9F4 7F046EC4 C7AC04C0 */ lwc1 $f12, 0x4c0($sp) -/* 07B9F8 7F046EC8 0FC16A8C */ jal convert_angle_using_inverse -/* 07B9FC 7F046ECC C7AE04B0 */ lwc1 $f14, 0x4b0($sp) -/* 07BA00 7F046ED0 E7A00498 */ swc1 $f0, 0x498($sp) -/* 07BA04 7F046ED4 8E220008 */ lw $v0, 8($s1) -/* 07BA08 7F046ED8 C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BA0C 7F046EDC 24190001 */ li $t9, 1 -/* 07BA10 7F046EE0 00025840 */ sll $t3, $v0, 1 -/* 07BA14 7F046EE4 05600003 */ bltz $t3, .L7F046EF4 -/* 07BA18 7F046EE8 00024880 */ sll $t1, $v0, 2 -/* 07BA1C 7F046EEC 05210005 */ bgez $t1, .L7F046F04 -/* 07BA20 7F046EF0 C7A6049C */ lwc1 $f6, 0x49c($sp) -.L7F046EF4: -/* 07BA24 7F046EF4 3C018005 */ lui $at, %hi(D_80052B00) -/* 07BA28 7F046EF8 C4342B00 */ lwc1 $f20, %lo(D_80052B00)($at) -/* 07BA2C 7F046EFC 10000027 */ b .L7F046F9C -/* 07BA30 7F046F00 AFB904AC */ sw $t9, 0x4ac($sp) -.L7F046F04: -/* 07BA34 7F046F04 C6040090 */ lwc1 $f4, 0x90($s0) -/* 07BA38 7F046F08 3C018005 */ lui $at, %hi(D_80052B04) -/* 07BA3C 7F046F0C 46043301 */ sub.s $f12, $f6, $f4 -/* 07BA40 7F046F10 4616603C */ c.lt.s $f12, $f22 -/* 07BA44 7F046F14 00000000 */ nop -/* 07BA48 7F046F18 45000003 */ bc1f .L7F046F28 -/* 07BA4C 7F046F1C 00000000 */ nop -/* 07BA50 7F046F20 C4342B04 */ lwc1 $f20, %lo(D_80052B04)($at) -/* 07BA54 7F046F24 46146300 */ add.s $f12, $f12, $f20 -.L7F046F28: -/* 07BA58 7F046F28 3C018005 */ lui $at, %hi(D_80052B08) -/* 07BA5C 7F046F2C C4342B08 */ lwc1 $f20, %lo(D_80052B08)($at) -/* 07BA60 7F046F30 3C018005 */ lui $at, %hi(D_80052B0C) -/* 07BA64 7F046F34 C4282B0C */ lwc1 $f8, %lo(D_80052B0C)($at) -/* 07BA68 7F046F38 3C018005 */ lui $at, %hi(D_80052B10) -/* 07BA6C 7F046F3C 460C403C */ c.lt.s $f8, $f12 -/* 07BA70 7F046F40 00000000 */ nop -/* 07BA74 7F046F44 45020003 */ bc1fl .L7F046F54 -/* 07BA78 7F046F48 C60A009C */ lwc1 $f10, 0x9c($s0) -/* 07BA7C 7F046F4C 46146301 */ sub.s $f12, $f12, $f20 -/* 07BA80 7F046F50 C60A009C */ lwc1 $f10, 0x9c($s0) -.L7F046F54: -/* 07BA84 7F046F54 460A0081 */ sub.s $f2, $f0, $f10 -/* 07BA88 7F046F58 4616103C */ c.lt.s $f2, $f22 -/* 07BA8C 7F046F5C 00000000 */ nop -/* 07BA90 7F046F60 45000001 */ bc1f .L7F046F68 -/* 07BA94 7F046F64 00000000 */ nop -.L7F046F68: -/* 07BA98 7F046F68 C4262B10 */ lwc1 $f6, %lo(D_80052B10)($at) -/* 07BA9C 7F046F6C 3C018005 */ lui $at, %hi(D_80052B14) -/* 07BAA0 7F046F70 4606603C */ c.lt.s $f12, $f6 -/* 07BAA4 7F046F74 00000000 */ nop -/* 07BAA8 7F046F78 45020009 */ bc1fl .L7F046FA0 -/* 07BAAC 7F046F7C 8FAC04AC */ lw $t4, 0x4ac($sp) -/* 07BAB0 7F046F80 C4242B14 */ lwc1 $f4, %lo(D_80052B14)($at) -/* 07BAB4 7F046F84 240A0001 */ li $t2, 1 -/* 07BAB8 7F046F88 460C203C */ c.lt.s $f4, $f12 -/* 07BABC 7F046F8C 00000000 */ nop -/* 07BAC0 7F046F90 45020003 */ bc1fl .L7F046FA0 -/* 07BAC4 7F046F94 8FAC04AC */ lw $t4, 0x4ac($sp) -/* 07BAC8 7F046F98 AFAA04AC */ sw $t2, 0x4ac($sp) -.L7F046F9C: -/* 07BACC 7F046F9C 8FAC04AC */ lw $t4, 0x4ac($sp) -.L7F046FA0: -/* 07BAD0 7F046FA0 C7A8049C */ lwc1 $f8, 0x49c($sp) -/* 07BAD4 7F046FA4 02402025 */ move $a0, $s2 -/* 07BAD8 7F046FA8 11800055 */ beqz $t4, .L7F047100 -/* 07BADC 7F046FAC 00002825 */ move $a1, $zero -/* 07BAE0 7F046FB0 C60A0084 */ lwc1 $f10, 0x84($s0) -/* 07BAE4 7F046FB4 3C018005 */ lui $at, %hi(D_80052B18) -/* 07BAE8 7F046FB8 C4262B18 */ lwc1 $f6, %lo(D_80052B18)($at) -/* 07BAEC 7F046FBC 460A4001 */ sub.s $f0, $f8, $f10 -/* 07BAF0 7F046FC0 8E6E0014 */ lw $t6, 0x14($s3) -/* 07BAF4 7F046FC4 3C018005 */ lui $at, %hi(D_80052B1C) -/* 07BAF8 7F046FC8 4606003C */ c.lt.s $f0, $f6 -/* 07BAFC 7F046FCC AFAE0490 */ sw $t6, 0x490($sp) -/* 07BB00 7F046FD0 45000003 */ bc1f .L7F046FE0 -/* 07BB04 7F046FD4 00000000 */ nop -/* 07BB08 7F046FD8 10000007 */ b .L7F046FF8 -/* 07BB0C 7F046FDC 46140000 */ add.s $f0, $f0, $f20 -.L7F046FE0: -/* 07BB10 7F046FE0 C4242B1C */ lwc1 $f4, %lo(D_80052B1C)($at) -/* 07BB14 7F046FE4 4600203E */ c.le.s $f4, $f0 -/* 07BB18 7F046FE8 00000000 */ nop -/* 07BB1C 7F046FEC 45020003 */ bc1fl .L7F046FFC -/* 07BB20 7F046FF0 E7A00494 */ swc1 $f0, 0x494($sp) -/* 07BB24 7F046FF4 46140001 */ sub.s $f0, $f0, $f20 -.L7F046FF8: -/* 07BB28 7F046FF8 E7A00494 */ swc1 $f0, 0x494($sp) -.L7F046FFC: -/* 07BB2C 7F046FFC 0FC2280F */ jal sub_GAME_7F08A03C -/* 07BB30 7F047000 E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BB34 7F047004 C7A00494 */ lwc1 $f0, 0x494($sp) -/* 07BB38 7F047008 C6080088 */ lwc1 $f8, 0x88($s0) -/* 07BB3C 7F04700C C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BB40 7F047010 4608003E */ c.le.s $f0, $f8 -/* 07BB44 7F047014 00000000 */ nop -/* 07BB48 7F047018 45020027 */ bc1fl .L7F0470B8 -/* 07BB4C 7F04701C 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BB50 7F047020 C60A008C */ lwc1 $f10, 0x8c($s0) -/* 07BB54 7F047024 240D001B */ li $t5, 27 -/* 07BB58 7F047028 4600503E */ c.le.s $f10, $f0 -/* 07BB5C 7F04702C 00000000 */ nop -/* 07BB60 7F047030 45020021 */ bc1fl .L7F0470B8 -/* 07BB64 7F047034 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BB68 7F047038 C6460010 */ lwc1 $f6, 0x10($s2) -/* 07BB6C 7F04703C 8E650008 */ lw $a1, 8($s3) -/* 07BB70 7F047040 8E660010 */ lw $a2, 0x10($s3) -/* 07BB74 7F047044 8E470008 */ lw $a3, 8($s2) -/* 07BB78 7F047048 AFAD0014 */ sw $t5, 0x14($sp) -/* 07BB7C 7F04704C E7A60010 */ swc1 $f6, 0x10($sp) -/* 07BB80 7F047050 C660000C */ lwc1 $f0, 0xc($s3) -/* 07BB84 7F047054 27A40490 */ addiu $a0, $sp, 0x490 -/* 07BB88 7F047058 E7A00018 */ swc1 $f0, 0x18($sp) -/* 07BB8C 7F04705C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 07BB90 7F047060 C642000C */ lwc1 $f2, 0xc($s2) -/* 07BB94 7F047064 E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BB98 7F047068 E7A20020 */ swc1 $f2, 0x20($sp) -/* 07BB9C 7F04706C 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 07BBA0 7F047070 E7A20024 */ swc1 $f2, 0x24($sp) -/* 07BBA4 7F047074 1040000F */ beqz $v0, .L7F0470B4 -/* 07BBA8 7F047078 C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BBAC 7F04707C 8FAF0490 */ lw $t7, 0x490($sp) -/* 07BBB0 7F047080 8E580014 */ lw $t8, 0x14($s2) -/* 07BBB4 7F047084 55F8000C */ bnel $t7, $t8, .L7F0470B8 -/* 07BBB8 7F047088 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BBBC 7F04708C 8E280008 */ lw $t0, 8($s1) -/* 07BBC0 7F047090 3C012000 */ lui $at, 0x2000 -/* 07BBC4 7F047094 24090001 */ li $t1, 1 -/* 07BBC8 7F047098 01015825 */ or $t3, $t0, $at -/* 07BBCC 7F04709C AE2B0008 */ sw $t3, 8($s1) -/* 07BBD0 7F0470A0 C7A40498 */ lwc1 $f4, 0x498($sp) -/* 07BBD4 7F0470A4 AFA904A4 */ sw $t1, 0x4a4($sp) -/* 07BBD8 7F0470A8 C7B0049C */ lwc1 $f16, 0x49c($sp) -/* 07BBDC 7F0470AC 1000000F */ b .L7F0470EC -/* 07BBE0 7F0470B0 E7A404D4 */ swc1 $f4, 0x4d4($sp) -.L7F0470B4: -/* 07BBE4 7F0470B4 8E0200B8 */ lw $v0, 0xb8($s0) -.L7F0470B8: -/* 07BBE8 7F0470B8 3C198005 */ lui $t9, %hi(global_timer) -/* 07BBEC 7F0470BC 0442000B */ bltzl $v0, .L7F0470EC -/* 07BBF0 7F0470C0 AFA004AC */ sw $zero, 0x4ac($sp) -/* 07BBF4 7F0470C4 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 07BBF8 7F0470C8 272AFF88 */ addiu $t2, $t9, -0x78 -/* 07BBFC 7F0470CC 0142082A */ slt $at, $t2, $v0 -/* 07BC00 7F0470D0 50200006 */ beql $at, $zero, .L7F0470EC -/* 07BC04 7F0470D4 AFA004AC */ sw $zero, 0x4ac($sp) -/* 07BC08 7F0470D8 C608009C */ lwc1 $f8, 0x9c($s0) -/* 07BC0C 7F0470DC C6100090 */ lwc1 $f16, 0x90($s0) -/* 07BC10 7F0470E0 10000002 */ b .L7F0470EC -/* 07BC14 7F0470E4 E7A804D4 */ swc1 $f8, 0x4d4($sp) -/* 07BC18 7F0470E8 AFA004AC */ sw $zero, 0x4ac($sp) -.L7F0470EC: -/* 07BC1C 7F0470EC 02402025 */ move $a0, $s2 -/* 07BC20 7F0470F0 24050001 */ li $a1, 1 -/* 07BC24 7F0470F4 0FC2280F */ jal sub_GAME_7F08A03C -/* 07BC28 7F0470F8 E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BC2C 7F0470FC C7B004D8 */ lwc1 $f16, 0x4d8($sp) -.L7F047100: -/* 07BC30 7F047100 8FAC04AC */ lw $t4, 0x4ac($sp) -.L7F047104: -/* 07BC34 7F047104 3C018005 */ lui $at, %hi(D_80052B20) -/* 07BC38 7F047108 C4342B20 */ lwc1 $f20, %lo(D_80052B20)($at) -/* 07BC3C 7F04710C 51800007 */ beql $t4, $zero, .L7F04712C -/* 07BC40 7F047110 8E0E00D0 */ lw $t6, 0xd0($s0) -/* 07BC44 7F047114 C7AC04B8 */ lwc1 $f12, 0x4b8($sp) -/* 07BC48 7F047118 0FC0B491 */ jal sub_GAME_7F02D244 -/* 07BC4C 7F04711C E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BC50 7F047120 C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BC54 7F047124 E7A004A0 */ swc1 $f0, 0x4a0($sp) -/* 07BC58 7F047128 8E0E00D0 */ lw $t6, 0xd0($s0) -.L7F04712C: -/* 07BC5C 7F04712C 11C0001F */ beqz $t6, .L7F0471AC -/* 07BC60 7F047130 3C0D8005 */ lui $t5, %hi(global_timer) -/* 07BC64 7F047134 8DAD837C */ lw $t5, %lo(global_timer)($t5) -/* 07BC68 7F047138 24010078 */ li $at, 120 -/* 07BC6C 7F04713C E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BC70 7F047140 01A1001A */ div $zero, $t5, $at -/* 07BC74 7F047144 00007810 */ mfhi $t7 -/* 07BC78 7F047148 448F5000 */ mtc1 $t7, $f10 -/* 07BC7C 7F04714C 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 07BC80 7F047150 44814000 */ mtc1 $at, $f8 -/* 07BC84 7F047154 468051A0 */ cvt.s.w $f6, $f10 -/* 07BC88 7F047158 46143102 */ mul.s $f4, $f6, $f20 -/* 07BC8C 7F04715C 0FC15FAB */ jal sinf -/* 07BC90 7F047160 46082303 */ div.s $f12, $f4, $f8 -/* 07BC94 7F047164 3C018005 */ lui $at, %hi(D_80052B24) -/* 07BC98 7F047168 C4262B24 */ lwc1 $f6, %lo(D_80052B24)($at) -/* 07BC9C 7F04716C C7AA04A0 */ lwc1 $f10, 0x4a0($sp) -/* 07BCA0 7F047170 C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BCA4 7F047174 46065102 */ mul.s $f4, $f10, $f6 -/* 07BCA8 7F047178 00000000 */ nop -/* 07BCAC 7F04717C 46002202 */ mul.s $f8, $f4, $f0 -/* 07BCB0 7F047180 46088400 */ add.s $f16, $f16, $f8 -/* 07BCB4 7F047184 4616803C */ c.lt.s $f16, $f22 -/* 07BCB8 7F047188 00000000 */ nop -/* 07BCBC 7F04718C 45000002 */ bc1f .L7F047198 -/* 07BCC0 7F047190 00000000 */ nop -/* 07BCC4 7F047194 46148400 */ add.s $f16, $f16, $f20 -.L7F047198: -/* 07BCC8 7F047198 4610A03E */ c.le.s $f20, $f16 -/* 07BCCC 7F04719C 00000000 */ nop -/* 07BCD0 7F0471A0 45020003 */ bc1fl .L7F0471B0 -/* 07BCD4 7F0471A4 C6020084 */ lwc1 $f2, 0x84($s0) -/* 07BCD8 7F0471A8 46148401 */ sub.s $f16, $f16, $f20 -.L7F0471AC: -/* 07BCDC 7F0471AC C6020084 */ lwc1 $f2, 0x84($s0) -.L7F0471B0: -/* 07BCE0 7F0471B0 3C018005 */ lui $at, %hi(D_80052B28) -/* 07BCE4 7F0471B4 C42A2B28 */ lwc1 $f10, %lo(D_80052B28)($at) -/* 07BCE8 7F0471B8 46028001 */ sub.s $f0, $f16, $f2 -/* 07BCEC 7F0471BC 26040090 */ addiu $a0, $s0, 0x90 -/* 07BCF0 7F0471C0 460A003C */ c.lt.s $f0, $f10 -/* 07BCF4 7F0471C4 00000000 */ nop -/* 07BCF8 7F0471C8 45000003 */ bc1f .L7F0471D8 -/* 07BCFC 7F0471CC 00000000 */ nop -/* 07BD00 7F0471D0 10000008 */ b .L7F0471F4 -/* 07BD04 7F0471D4 46140000 */ add.s $f0, $f0, $f20 -.L7F0471D8: -/* 07BD08 7F0471D8 3C018005 */ lui $at, %hi(D_80052B2C) -/* 07BD0C 7F0471DC C4262B2C */ lwc1 $f6, %lo(D_80052B2C)($at) -/* 07BD10 7F0471E0 4600303E */ c.le.s $f6, $f0 -/* 07BD14 7F0471E4 00000000 */ nop -/* 07BD18 7F0471E8 45020003 */ bc1fl .L7F0471F8 -/* 07BD1C 7F0471EC C60C0088 */ lwc1 $f12, 0x88($s0) -/* 07BD20 7F0471F0 46140001 */ sub.s $f0, $f0, $f20 -.L7F0471F4: -/* 07BD24 7F0471F4 C60C0088 */ lwc1 $f12, 0x88($s0) -.L7F0471F8: -/* 07BD28 7F0471F8 3C018005 */ lui $at, %hi(D_80052B30) -/* 07BD2C 7F0471FC 4600603C */ c.lt.s $f12, $f0 -/* 07BD30 7F047200 00000000 */ nop -/* 07BD34 7F047204 45020004 */ bc1fl .L7F047218 -/* 07BD38 7F047208 C60C008C */ lwc1 $f12, 0x8c($s0) -/* 07BD3C 7F04720C 10000007 */ b .L7F04722C -/* 07BD40 7F047210 460C1400 */ add.s $f16, $f2, $f12 -/* 07BD44 7F047214 C60C008C */ lwc1 $f12, 0x8c($s0) -.L7F047218: -/* 07BD48 7F047218 460C003C */ c.lt.s $f0, $f12 -/* 07BD4C 7F04721C 00000000 */ nop -/* 07BD50 7F047220 45020003 */ bc1fl .L7F047230 -/* 07BD54 7F047224 4616803C */ c.lt.s $f16, $f22 -/* 07BD58 7F047228 460C1400 */ add.s $f16, $f2, $f12 -.L7F04722C: -/* 07BD5C 7F04722C 4616803C */ c.lt.s $f16, $f22 -.L7F047230: -/* 07BD60 7F047230 00000000 */ nop -/* 07BD64 7F047234 45020003 */ bc1fl .L7F047244 -/* 07BD68 7F047238 4610A03E */ c.le.s $f20, $f16 -/* 07BD6C 7F04723C 46148400 */ add.s $f16, $f16, $f20 -/* 07BD70 7F047240 4610A03E */ c.le.s $f20, $f16 -.L7F047244: -/* 07BD74 7F047244 00000000 */ nop -/* 07BD78 7F047248 45000002 */ bc1f .L7F047254 -/* 07BD7C 7F04724C 00000000 */ nop -/* 07BD80 7F047250 46148401 */ sub.s $f16, $f16, $f20 -.L7F047254: -/* 07BD84 7F047254 C4202B30 */ lwc1 $f0, %lo(D_80052B30)($at) -/* 07BD88 7F047258 44058000 */ mfc1 $a1, $f16 -/* 07BD8C 7F04725C 26060094 */ addiu $a2, $s0, 0x94 -/* 07BD90 7F047260 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07BD94 7F047264 C60400A4 */ lwc1 $f4, 0xa4($s0) -/* 07BD98 7F047268 44070000 */ mfc1 $a3, $f0 -/* 07BD9C 7F04726C E7B004D8 */ swc1 $f16, 0x4d8($sp) -/* 07BDA0 7F047270 0FC10C43 */ jal sub_GAME_7F04310C -/* 07BDA4 7F047274 E7A40014 */ swc1 $f4, 0x14($sp) -/* 07BDA8 7F047278 3C018005 */ lui $at, %hi(D_80052B34) -/* 07BDAC 7F04727C C4202B34 */ lwc1 $f0, %lo(D_80052B34)($at) -/* 07BDB0 7F047280 2604009C */ addiu $a0, $s0, 0x9c -/* 07BDB4 7F047284 8FA504D4 */ lw $a1, 0x4d4($sp) -/* 07BDB8 7F047288 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07BDBC 7F04728C C60800A4 */ lwc1 $f8, 0xa4($s0) -/* 07BDC0 7F047290 44070000 */ mfc1 $a3, $f0 -/* 07BDC4 7F047294 260600A0 */ addiu $a2, $s0, 0xa0 -/* 07BDC8 7F047298 0FC10C43 */ jal sub_GAME_7F04310C -/* 07BDCC 7F04729C E7A80014 */ swc1 $f8, 0x14($sp) -/* 07BDD0 7F0472A0 C7B004D8 */ lwc1 $f16, 0x4d8($sp) -/* 07BDD4 7F0472A4 C60A0090 */ lwc1 $f10, 0x90($s0) -/* 07BDD8 7F0472A8 3C018005 */ lui $at, %hi(D_80052B38) -/* 07BDDC 7F0472AC C7A604D4 */ lwc1 $f6, 0x4d4($sp) -/* 07BDE0 7F0472B0 460A8301 */ sub.s $f12, $f16, $f10 -/* 07BDE4 7F0472B4 4616603C */ c.lt.s $f12, $f22 -/* 07BDE8 7F0472B8 00000000 */ nop -/* 07BDEC 7F0472BC 45000002 */ bc1f .L7F0472C8 -/* 07BDF0 7F0472C0 00000000 */ nop -/* 07BDF4 7F0472C4 46146300 */ add.s $f12, $f12, $f20 -.L7F0472C8: -/* 07BDF8 7F0472C8 C4202B38 */ lwc1 $f0, %lo(D_80052B38)($at) -/* 07BDFC 7F0472CC 460C003C */ c.lt.s $f0, $f12 -/* 07BE00 7F0472D0 00000000 */ nop -/* 07BE04 7F0472D4 45020003 */ bc1fl .L7F0472E4 -/* 07BE08 7F0472D8 C604009C */ lwc1 $f4, 0x9c($s0) -/* 07BE0C 7F0472DC 46146301 */ sub.s $f12, $f12, $f20 -/* 07BE10 7F0472E0 C604009C */ lwc1 $f4, 0x9c($s0) -.L7F0472E4: -/* 07BE14 7F0472E4 46043081 */ sub.s $f2, $f6, $f4 -/* 07BE18 7F0472E8 4616103C */ c.lt.s $f2, $f22 -/* 07BE1C 7F0472EC 00000000 */ nop -/* 07BE20 7F0472F0 45020003 */ bc1fl .L7F047300 -/* 07BE24 7F0472F4 4602003C */ c.lt.s $f0, $f2 -/* 07BE28 7F0472F8 46141080 */ add.s $f2, $f2, $f20 -/* 07BE2C 7F0472FC 4602003C */ c.lt.s $f0, $f2 -.L7F047300: -/* 07BE30 7F047300 00000000 */ nop -/* 07BE34 7F047304 45020003 */ bc1fl .L7F047314 -/* 07BE38 7F047308 AE0000D0 */ sw $zero, 0xd0($s0) -/* 07BE3C 7F04730C 46141081 */ sub.s $f2, $f2, $f20 -/* 07BE40 7F047310 AE0000D0 */ sw $zero, 0xd0($s0) -.L7F047314: -/* 07BE44 7F047314 8FB804AC */ lw $t8, 0x4ac($sp) -/* 07BE48 7F047318 C7A804A0 */ lwc1 $f8, 0x4a0($sp) -/* 07BE4C 7F04731C 53000047 */ beql $t8, $zero, .L7F04743C -/* 07BE50 7F047320 8FB904A8 */ lw $t9, 0x4a8($sp) -/* 07BE54 7F047324 4608603C */ c.lt.s $f12, $f8 -/* 07BE58 7F047328 C7AA04A0 */ lwc1 $f10, 0x4a0($sp) -/* 07BE5C 7F04732C 4502001B */ bc1fl .L7F04739C -/* 07BE60 7F047330 460A5000 */ add.s $f0, $f10, $f10 -/* 07BE64 7F047334 46004007 */ neg.s $f0, $f8 -/* 07BE68 7F047338 460C003C */ c.lt.s $f0, $f12 -/* 07BE6C 7F04733C 00000000 */ nop -/* 07BE70 7F047340 45020016 */ bc1fl .L7F04739C -/* 07BE74 7F047344 460A5000 */ add.s $f0, $f10, $f10 -/* 07BE78 7F047348 4608103C */ c.lt.s $f2, $f8 -/* 07BE7C 7F04734C 00000000 */ nop -/* 07BE80 7F047350 45020012 */ bc1fl .L7F04739C -/* 07BE84 7F047354 460A5000 */ add.s $f0, $f10, $f10 -/* 07BE88 7F047358 4602003C */ c.lt.s $f0, $f2 -/* 07BE8C 7F04735C 24080001 */ li $t0, 1 -/* 07BE90 7F047360 4502000E */ bc1fl .L7F04739C -/* 07BE94 7F047364 460A5000 */ add.s $f0, $f10, $f10 -/* 07BE98 7F047368 AE0800D0 */ sw $t0, 0xd0($s0) -/* 07BE9C 7F04736C 8FA904A4 */ lw $t1, 0x4a4($sp) -/* 07BEA0 7F047370 240B0001 */ li $t3, 1 -/* 07BEA4 7F047374 AFAB04A8 */ sw $t3, 0x4a8($sp) -/* 07BEA8 7F047378 1120002F */ beqz $t1, .L7F047438 -/* 07BEAC 7F04737C 3C198005 */ lui $t9, %hi(global_timer) -/* 07BEB0 7F047380 8F39837C */ lw $t9, %lo(global_timer)($t9) -/* 07BEB4 7F047384 3C0A8005 */ lui $t2, %hi(global_timer) -/* 07BEB8 7F047388 AE1900B8 */ sw $t9, 0xb8($s0) -/* 07BEBC 7F04738C 8D4A837C */ lw $t2, %lo(global_timer)($t2) -/* 07BEC0 7F047390 10000029 */ b .L7F047438 -/* 07BEC4 7F047394 AE0A00BC */ sw $t2, 0xbc($s0) -/* 07BEC8 7F047398 460A5000 */ add.s $f0, $f10, $f10 -.L7F04739C: -/* 07BECC 7F04739C 4600603C */ c.lt.s $f12, $f0 -/* 07BED0 7F0473A0 00000000 */ nop -/* 07BED4 7F0473A4 45020018 */ bc1fl .L7F047408 -/* 07BED8 7F0473A8 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BEDC 7F0473AC 46000387 */ neg.s $f14, $f0 -/* 07BEE0 7F0473B0 460C703C */ c.lt.s $f14, $f12 -/* 07BEE4 7F0473B4 00000000 */ nop -/* 07BEE8 7F0473B8 45020013 */ bc1fl .L7F047408 -/* 07BEEC 7F0473BC 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BEF0 7F0473C0 4600103C */ c.lt.s $f2, $f0 -/* 07BEF4 7F0473C4 00000000 */ nop -/* 07BEF8 7F0473C8 4502000F */ bc1fl .L7F047408 -/* 07BEFC 7F0473CC 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BF00 7F0473D0 4602703C */ c.lt.s $f14, $f2 -/* 07BF04 7F0473D4 240C0001 */ li $t4, 1 -/* 07BF08 7F0473D8 4502000B */ bc1fl .L7F047408 -/* 07BF0C 7F0473DC 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BF10 7F0473E0 AE0C00D0 */ sw $t4, 0xd0($s0) -/* 07BF14 7F0473E4 8FAD04A4 */ lw $t5, 0x4a4($sp) -/* 07BF18 7F0473E8 240E0001 */ li $t6, 1 -/* 07BF1C 7F0473EC AFAE04A8 */ sw $t6, 0x4a8($sp) -/* 07BF20 7F0473F0 11A00011 */ beqz $t5, .L7F047438 -/* 07BF24 7F0473F4 3C0F8005 */ lui $t7, %hi(global_timer) -/* 07BF28 7F0473F8 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 07BF2C 7F0473FC 1000000E */ b .L7F047438 -/* 07BF30 7F047400 AE0F00B8 */ sw $t7, 0xb8($s0) -/* 07BF34 7F047404 8E0200B8 */ lw $v0, 0xb8($s0) -.L7F047408: -/* 07BF38 7F047408 3C188005 */ lui $t8, %hi(global_timer) -/* 07BF3C 7F04740C 0442000B */ bltzl $v0, .L7F04743C -/* 07BF40 7F047410 8FB904A8 */ lw $t9, 0x4a8($sp) -/* 07BF44 7F047414 8F18837C */ lw $t8, %lo(global_timer)($t8) -/* 07BF48 7F047418 240B0001 */ li $t3, 1 -/* 07BF4C 7F04741C 24090001 */ li $t1, 1 -/* 07BF50 7F047420 2708FF88 */ addiu $t0, $t8, -0x78 -/* 07BF54 7F047424 0102082A */ slt $at, $t0, $v0 -/* 07BF58 7F047428 50200004 */ beql $at, $zero, .L7F04743C -/* 07BF5C 7F04742C 8FB904A8 */ lw $t9, 0x4a8($sp) -/* 07BF60 7F047430 AE0B00D0 */ sw $t3, 0xd0($s0) -/* 07BF64 7F047434 AFA904A8 */ sw $t1, 0x4a8($sp) -.L7F047438: -/* 07BF68 7F047438 8FB904A8 */ lw $t9, 0x4a8($sp) -.L7F04743C: -/* 07BF6C 7F04743C 3C018005 */ lui $at, %hi(D_80052B3C) -/* 07BF70 7F047440 53200013 */ beql $t9, $zero, .L7F047490 -/* 07BF74 7F047444 C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07BF78 7F047448 C4202B3C */ lwc1 $f0, %lo(D_80052B3C)($at) -/* 07BF7C 7F04744C 3C018005 */ lui $at, %hi(D_80052B40) -/* 07BF80 7F047450 C4262B40 */ lwc1 $f6, %lo(D_80052B40)($at) -/* 07BF84 7F047454 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07BF88 7F047458 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07BF8C 7F04745C C60A00B0 */ lwc1 $f10, 0xb0($s0) -/* 07BF90 7F047460 46043202 */ mul.s $f8, $f6, $f4 -/* 07BF94 7F047464 46085180 */ add.s $f6, $f10, $f8 -/* 07BF98 7F047468 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 07BF9C 7F04746C C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07BFA0 7F047470 4602003C */ c.lt.s $f0, $f2 -/* 07BFA4 7F047474 00000000 */ nop -/* 07BFA8 7F047478 45020023 */ bc1fl .L7F047508 -/* 07BFAC 7F04747C 4602B03C */ c.lt.s $f22, $f2 -/* 07BFB0 7F047480 E60000B0 */ swc1 $f0, 0xb0($s0) -/* 07BFB4 7F047484 1000001F */ b .L7F047504 -/* 07BFB8 7F047488 C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07BFBC 7F04748C C60200B0 */ lwc1 $f2, 0xb0($s0) -.L7F047490: -/* 07BFC0 7F047490 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 07BFC4 7F047494 4602B03C */ c.lt.s $f22, $f2 -/* 07BFC8 7F047498 00000000 */ nop -/* 07BFCC 7F04749C 4502001A */ bc1fl .L7F047508 -/* 07BFD0 7F0474A0 4602B03C */ c.lt.s $f22, $f2 -/* 07BFD4 7F0474A4 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 07BFD8 7F0474A8 00001025 */ move $v0, $zero -/* 07BFDC 7F0474AC 3C018005 */ lui $at, %hi(D_80052B44) -/* 07BFE0 7F0474B0 1940000C */ blez $t2, .L7F0474E4 -/* 07BFE4 7F0474B4 00000000 */ nop -/* 07BFE8 7F0474B8 C4202B44 */ lwc1 $f0, %lo(D_80052B44)($at) -/* 07BFEC 7F0474BC C60400B0 */ lwc1 $f4, 0xb0($s0) -.L7F0474C0: -/* 07BFF0 7F0474C0 3C0C8005 */ lui $t4, %hi(clock_timer) -/* 07BFF4 7F0474C4 24420001 */ addiu $v0, $v0, 1 -/* 07BFF8 7F0474C8 46002282 */ mul.s $f10, $f4, $f0 -/* 07BFFC 7F0474CC E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 07C000 7F0474D0 8D8C8374 */ lw $t4, %lo(clock_timer)($t4) -/* 07C004 7F0474D4 004C082A */ slt $at, $v0, $t4 -/* 07C008 7F0474D8 5420FFF9 */ bnezl $at, .L7F0474C0 -/* 07C00C 7F0474DC C60400B0 */ lwc1 $f4, 0xb0($s0) -/* 07C010 7F0474E0 C60200B0 */ lwc1 $f2, 0xb0($s0) -.L7F0474E4: -/* 07C014 7F0474E4 3C018005 */ lui $at, %hi(D_80052B48) -/* 07C018 7F0474E8 C4282B48 */ lwc1 $f8, %lo(D_80052B48)($at) -/* 07C01C 7F0474EC 4608103E */ c.le.s $f2, $f8 -/* 07C020 7F0474F0 00000000 */ nop -/* 07C024 7F0474F4 45020004 */ bc1fl .L7F047508 -/* 07C028 7F0474F8 4602B03C */ c.lt.s $f22, $f2 -/* 07C02C 7F0474FC E61600B0 */ swc1 $f22, 0xb0($s0) -/* 07C030 7F047500 C60200B0 */ lwc1 $f2, 0xb0($s0) -.L7F047504: -/* 07C034 7F047504 4602B03C */ c.lt.s $f22, $f2 -.L7F047508: -/* 07C038 7F047508 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C03C 7F04750C 45020348 */ bc1fl .L7F048230 -/* 07C040 7F047510 92220003 */ lbu $v0, 3($s1) -/* 07C044 7F047514 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07C048 7F047518 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07C04C 7F04751C 46041282 */ mul.s $f10, $f2, $f4 -/* 07C050 7F047520 460A3200 */ add.s $f8, $f6, $f10 -/* 07C054 7F047524 E60800B4 */ swc1 $f8, 0xb4($s0) -/* 07C058 7F047528 C60000B4 */ lwc1 $f0, 0xb4($s0) -/* 07C05C 7F04752C 4600A03E */ c.le.s $f20, $f0 -/* 07C060 7F047530 00000000 */ nop -/* 07C064 7F047534 4502033E */ bc1fl .L7F048230 -/* 07C068 7F047538 92220003 */ lbu $v0, 3($s1) -/* 07C06C 7F04753C 46140101 */ sub.s $f4, $f0, $f20 -.L7F047540: -/* 07C070 7F047540 E60400B4 */ swc1 $f4, 0xb4($s0) -/* 07C074 7F047544 C60000B4 */ lwc1 $f0, 0xb4($s0) -/* 07C078 7F047548 4600A03E */ c.le.s $f20, $f0 -/* 07C07C 7F04754C 00000000 */ nop -/* 07C080 7F047550 4503FFFB */ bc1tl .L7F047540 -/* 07C084 7F047554 46140101 */ sub.s $f4, $f0, $f20 -/* 07C088 7F047558 10000335 */ b .L7F048230 -/* 07C08C 7F04755C 92220003 */ lbu $v0, 3($s1) -/* 07C090 7F047560 24010027 */ li $at, 39 -.L7F047564: -/* 07C094 7F047564 14410255 */ bne $v0, $at, .L7F047EBC -/* 07C098 7F047568 02202025 */ move $a0, $s1 -/* 07C09C 7F04756C C62600A0 */ lwc1 $f6, 0xa0($s1) -/* 07C0A0 7F047570 AFA00478 */ sw $zero, 0x478($sp) -/* 07C0A4 7F047574 24050001 */ li $a1, 1 -/* 07C0A8 7F047578 0FC0D521 */ jal parse_handle_actionblocks -/* 07C0AC 7F04757C E7A6047C */ swc1 $f6, 0x47c($sp) -/* 07C0B0 7F047580 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07C0B4 7F047584 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C0B8 7F047588 460EB03E */ c.le.s $f22, $f14 -/* 07C0BC 7F04758C 00000000 */ nop -/* 07C0C0 7F047590 45020016 */ bc1fl .L7F0475EC -/* 07C0C4 7F047594 8E2E000C */ lw $t6, 0xc($s1) -/* 07C0C8 7F047598 C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C0CC 7F04759C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C0D0 7F0475A0 4602703E */ c.le.s $f14, $f2 -/* 07C0D4 7F0475A4 00000000 */ nop -/* 07C0D8 7F0475A8 45020006 */ bc1fl .L7F0475C4 -/* 07C0DC 7F0475AC C6200088 */ lwc1 $f0, 0x88($s1) -/* 07C0E0 7F0475B0 C62A0094 */ lwc1 $f10, 0x94($s1) -/* 07C0E4 7F0475B4 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07C0E8 7F0475B8 10000008 */ b .L7F0475DC -/* 07C0EC 7F0475BC E62A0088 */ swc1 $f10, 0x88($s1) -/* 07C0F0 7F0475C0 C6200088 */ lwc1 $f0, 0x88($s1) -.L7F0475C4: -/* 07C0F4 7F0475C4 C6280094 */ lwc1 $f8, 0x94($s1) -/* 07C0F8 7F0475C8 46004101 */ sub.s $f4, $f8, $f0 -/* 07C0FC 7F0475CC 46022182 */ mul.s $f6, $f4, $f2 -/* 07C100 7F0475D0 460E3283 */ div.s $f10, $f6, $f14 -/* 07C104 7F0475D4 460A0200 */ add.s $f8, $f0, $f10 -/* 07C108 7F0475D8 E6280088 */ swc1 $f8, 0x88($s1) -.L7F0475DC: -/* 07C10C 7F0475DC C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07C110 7F0475E0 46047181 */ sub.s $f6, $f14, $f4 -/* 07C114 7F0475E4 E6260098 */ swc1 $f6, 0x98($s1) -/* 07C118 7F0475E8 8E2E000C */ lw $t6, 0xc($s1) -.L7F0475EC: -/* 07C11C 7F0475EC 00008025 */ move $s0, $zero -/* 07C120 7F0475F0 000E6B00 */ sll $t5, $t6, 0xc -/* 07C124 7F0475F4 05A00014 */ bltz $t5, .L7F047648 -/* 07C128 7F0475F8 00000000 */ nop -/* 07C12C 7F0475FC 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 07C130 7F047600 02202025 */ move $a0, $s1 -/* 07C134 7F047604 10400010 */ beqz $v0, .L7F047648 -/* 07C138 7F047608 00000000 */ nop -/* 07C13C 7F04760C C62A0088 */ lwc1 $f10, 0x88($s1) -/* 07C140 7F047610 26240058 */ addiu $a0, $s1, 0x58 -/* 07C144 7F047614 3C0544FA */ lui $a1, 0x44fa -/* 07C148 7F047618 460AB03C */ c.lt.s $f22, $f10 -/* 07C14C 7F04761C 3C06453B */ lui $a2, (0x453B8000 >> 16) # lui $a2, 0x453b -/* 07C150 7F047620 45010006 */ bc1t .L7F04763C -/* 07C154 7F047624 00000000 */ nop -/* 07C158 7F047628 C6280094 */ lwc1 $f8, 0x94($s1) -/* 07C15C 7F04762C 4608B03C */ c.lt.s $f22, $f8 -/* 07C160 7F047630 00000000 */ nop -/* 07C164 7F047634 45000004 */ bc1f .L7F047648 -/* 07C168 7F047638 00000000 */ nop -.L7F04763C: -/* 07C16C 7F04763C 0FC14E25 */ jal sub_GAME_7F053894 -/* 07C170 7F047640 34C68000 */ ori $a2, (0x453B8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 07C174 7F047644 00408025 */ move $s0, $v0 -.L7F047648: -/* 07C178 7F047648 5A000019 */ blezl $s0, .L7F0476B0 -/* 07C17C 7F04764C 8E2400AC */ lw $a0, 0xac($s1) -/* 07C180 7F047650 8E2400AC */ lw $a0, 0xac($s1) -/* 07C184 7F047654 10800005 */ beqz $a0, .L7F04766C -/* 07C188 7F047658 00000000 */ nop -/* 07C18C 7F04765C 0C00237C */ jal sfxGetArg0Unk3F -/* 07C190 7F047660 00000000 */ nop -/* 07C194 7F047664 5440000A */ bnezl $v0, .L7F047690 -/* 07C198 7F047668 8E2400AC */ lw $a0, 0xac($s1) -.L7F04766C: -/* 07C19C 7F04766C 0FC2FF01 */ jal get_controls_locked_flag -/* 07C1A0 7F047670 00000000 */ nop -/* 07C1A4 7F047674 14400005 */ bnez $v0, .L7F04768C -/* 07C1A8 7F047678 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07C1AC 7F04767C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07C1B0 7F047680 24050041 */ li $a1, 65 -/* 07C1B4 7F047684 0C002382 */ jal play_sfx_a1 -/* 07C1B8 7F047688 262600AC */ addiu $a2, $s1, 0xac -.L7F04768C: -/* 07C1BC 7F04768C 8E2400AC */ lw $a0, 0xac($s1) -.L7F047690: -/* 07C1C0 7F047690 24050008 */ li $a1, 8 -/* 07C1C4 7F047694 5080000F */ beql $a0, $zero, .L7F0476D4 -/* 07C1C8 7F047698 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C1CC 7F04769C 0C002461 */ jal sfx_c_70009184 -/* 07C1D0 7F0476A0 02003025 */ move $a2, $s0 -/* 07C1D4 7F0476A4 1000000B */ b .L7F0476D4 -/* 07C1D8 7F0476A8 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C1DC 7F0476AC 8E2400AC */ lw $a0, 0xac($s1) -.L7F0476B0: -/* 07C1E0 7F0476B0 50800008 */ beql $a0, $zero, .L7F0476D4 -/* 07C1E4 7F0476B4 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C1E8 7F0476B8 0C00237C */ jal sfxGetArg0Unk3F -/* 07C1EC 7F0476BC 00000000 */ nop -/* 07C1F0 7F0476C0 50400004 */ beql $v0, $zero, .L7F0476D4 -/* 07C1F4 7F0476C4 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C1F8 7F0476C8 0C002408 */ jal sfxDeactivate -/* 07C1FC 7F0476CC 8E2400AC */ lw $a0, 0xac($s1) -/* 07C200 7F0476D0 8E2400A4 */ lw $a0, 0xa4($s1) -.L7F0476D4: -/* 07C204 7F0476D4 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 07C208 7F0476D8 5080002A */ beql $a0, $zero, .L7F047784 -/* 07C20C 7F0476DC 8E2B0008 */ lw $t3, 8($s1) -/* 07C210 7F0476E0 8E3800A8 */ lw $t8, 0xa8($s1) -/* 07C214 7F0476E4 8C8F0000 */ lw $t7, ($a0) -/* 07C218 7F0476E8 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 -/* 07C21C 7F0476EC 00184080 */ sll $t0, $t8, 2 -/* 07C220 7F0476F0 01E81021 */ addu $v0, $t7, $t0 -/* 07C224 7F0476F4 8C4B0000 */ lw $t3, ($v0) -/* 07C228 7F0476F8 8CB90000 */ lw $t9, ($a1) -/* 07C22C 7F0476FC 8CAE0018 */ lw $t6, 0x18($a1) -/* 07C230 7F047700 000B4900 */ sll $t1, $t3, 4 -/* 07C234 7F047704 01391821 */ addu $v1, $t1, $t9 -/* 07C238 7F047708 8C6A0000 */ lw $t2, ($v1) -/* 07C23C 7F04770C C6260058 */ lwc1 $f6, 0x58($s1) -/* 07C240 7F047710 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07C244 7F047714 000A6080 */ sll $t4, $t2, 2 -/* 07C248 7F047718 018A6023 */ subu $t4, $t4, $t2 -/* 07C24C 7F04771C 000C6080 */ sll $t4, $t4, 2 -/* 07C250 7F047720 018A6023 */ subu $t4, $t4, $t2 -/* 07C254 7F047724 000C6080 */ sll $t4, $t4, 2 -/* 07C258 7F047728 018E3021 */ addu $a2, $t4, $t6 -/* 07C25C 7F04772C C4C40000 */ lwc1 $f4, ($a2) -/* 07C260 7F047730 C4CA0008 */ lwc1 $f10, 8($a2) -/* 07C264 7F047734 AFA60478 */ sw $a2, 0x478($sp) -/* 07C268 7F047738 46062301 */ sub.s $f12, $f4, $f6 -/* 07C26C 7F04773C 0FC16A8C */ jal convert_angle_using_inverse -/* 07C270 7F047740 46085381 */ sub.s $f14, $f10, $f8 -/* 07C274 7F047744 E7A0047C */ swc1 $f0, 0x47c($sp) -/* 07C278 7F047748 8E2D0008 */ lw $t5, 8($s1) -/* 07C27C 7F04774C 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07C280 7F047750 C7A4047C */ lwc1 $f4, 0x47c($sp) -/* 07C284 7F047754 000DC080 */ sll $t8, $t5, 2 -/* 07C288 7F047758 07010018 */ bgez $t8, .L7F0477BC -/* 07C28C 7F04775C 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07C290 7F047760 8E2F0008 */ lw $t7, 8($s1) -/* 07C294 7F047764 E62400A0 */ swc1 $f4, 0xa0($s1) -/* 07C298 7F047768 02202025 */ move $a0, $s1 -/* 07C29C 7F04776C 01E14024 */ and $t0, $t7, $at -/* 07C2A0 7F047770 0FC112CE */ jal sub_GAME_7F044B38 -/* 07C2A4 7F047774 AE280008 */ sw $t0, 8($s1) -/* 07C2A8 7F047778 10000011 */ b .L7F0477C0 -/* 07C2AC 7F04777C C6260088 */ lwc1 $f6, 0x88($s1) -/* 07C2B0 7F047780 8E2B0008 */ lw $t3, 8($s1) -.L7F047784: -/* 07C2B4 7F047784 000B4880 */ sll $t1, $t3, 2 -/* 07C2B8 7F047788 0523000D */ bgezl $t1, .L7F0477C0 -/* 07C2BC 7F04778C C6260088 */ lwc1 $f6, 0x88($s1) -/* 07C2C0 7F047790 C62C0038 */ lwc1 $f12, 0x38($s1) -/* 07C2C4 7F047794 0FC16A8C */ jal convert_angle_using_inverse -/* 07C2C8 7F047798 C62E0040 */ lwc1 $f14, 0x40($s1) -/* 07C2CC 7F04779C 8E390008 */ lw $t9, 8($s1) -/* 07C2D0 7F0477A0 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07C2D4 7F0477A4 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07C2D8 7F0477A8 03215024 */ and $t2, $t9, $at -/* 07C2DC 7F0477AC E62000A0 */ swc1 $f0, 0xa0($s1) -/* 07C2E0 7F0477B0 AE2A0008 */ sw $t2, 8($s1) -/* 07C2E4 7F0477B4 0FC112CE */ jal sub_GAME_7F044B38 -/* 07C2E8 7F0477B8 02202025 */ move $a0, $s1 -.L7F0477BC: -/* 07C2EC 7F0477BC C6260088 */ lwc1 $f6, 0x88($s1) -.L7F0477C0: -/* 07C2F0 7F0477C0 4606B03C */ c.lt.s $f22, $f6 -/* 07C2F4 7F0477C4 00000000 */ nop -/* 07C2F8 7F0477C8 450201AC */ bc1fl .L7F047E7C -/* 07C2FC 7F0477CC 8E280008 */ lw $t0, 8($s1) -/* 07C300 7F0477D0 8E6C0014 */ lw $t4, 0x14($s3) -/* 07C304 7F0477D4 8FAE0478 */ lw $t6, 0x478($sp) -/* 07C308 7F0477D8 4600B386 */ mov.s $f14, $f22 -/* 07C30C 7F0477DC AFAC0468 */ sw $t4, 0x468($sp) -/* 07C310 7F0477E0 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C314 7F0477E4 E7AC0438 */ swc1 $f12, 0x438($sp) -/* 07C318 7F0477E8 C62A009C */ lwc1 $f10, 0x9c($s1) -/* 07C31C 7F0477EC 11C00013 */ beqz $t6, .L7F04783C -/* 07C320 7F0477F0 E7AA0434 */ swc1 $f10, 0x434($sp) -/* 07C324 7F0477F4 262D0058 */ addiu $t5, $s1, 0x58 -/* 07C328 7F0477F8 AFAD0070 */ sw $t5, 0x70($sp) -/* 07C32C 7F0477FC 0FC15FAB */ jal sinf -/* 07C330 7F047800 E7AE0430 */ swc1 $f14, 0x430($sp) -/* 07C334 7F047804 E7A0043C */ swc1 $f0, 0x43c($sp) -/* 07C338 7F047808 E7B60440 */ swc1 $f22, 0x440($sp) -/* 07C33C 7F04780C 0FC15FA8 */ jal cosf -/* 07C340 7F047810 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C344 7F047814 E7A00444 */ swc1 $f0, 0x444($sp) -/* 07C348 7F047818 8FA40070 */ lw $a0, 0x70($sp) -/* 07C34C 7F04781C 27A5043C */ addiu $a1, $sp, 0x43c -/* 07C350 7F047820 8FA60478 */ lw $a2, 0x478($sp) -/* 07C354 7F047824 0FC0BF0D */ jal sub_GAME_7F02FC34 -/* 07C358 7F047828 3C074120 */ lui $a3, 0x4120 -/* 07C35C 7F04782C 10400003 */ beqz $v0, .L7F04783C -/* 07C360 7F047830 C7AE0430 */ lwc1 $f14, 0x430($sp) -/* 07C364 7F047834 C62800A0 */ lwc1 $f8, 0xa0($s1) -/* 07C368 7F047838 E7A8047C */ swc1 $f8, 0x47c($sp) -.L7F04783C: -/* 07C36C 7F04783C 3C018005 */ lui $at, %hi(D_80052B4C) -/* 07C370 7F047840 C4242B4C */ lwc1 $f4, %lo(D_80052B4C)($at) -/* 07C374 7F047844 3C018005 */ lui $at, %hi(D_80052B50) -/* 07C378 7F047848 C4262B50 */ lwc1 $f6, %lo(D_80052B50)($at) -/* 07C37C 7F04784C 3C0738E4 */ lui $a3, (0x38E4C389 >> 16) # lui $a3, 0x38e4 -/* 07C380 7F047850 34E7C389 */ ori $a3, (0x38E4C389 & 0xFFFF) # ori $a3, $a3, 0xc389 -/* 07C384 7F047854 262400A0 */ addiu $a0, $s1, 0xa0 -/* 07C388 7F047858 8FA5047C */ lw $a1, 0x47c($sp) -/* 07C38C 7F04785C 2626009C */ addiu $a2, $s1, 0x9c -/* 07C390 7F047860 E7AE0430 */ swc1 $f14, 0x430($sp) -/* 07C394 7F047864 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07C398 7F047868 0FC10C43 */ jal sub_GAME_7F04310C -/* 07C39C 7F04786C E7A60014 */ swc1 $f6, 0x14($sp) -/* 07C3A0 7F047870 3C018005 */ lui $at, %hi(D_80052B54) -/* 07C3A4 7F047874 C4342B54 */ lwc1 $f20, %lo(D_80052B54)($at) -/* 07C3A8 7F047878 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C3AC 7F04787C C7AE0430 */ lwc1 $f14, 0x430($sp) -/* 07C3B0 7F047880 3C018005 */ lui $at, %hi(D_80052B58) -/* 07C3B4 7F047884 460CA03E */ c.le.s $f20, $f12 -/* 07C3B8 7F047888 00000000 */ nop -/* 07C3BC 7F04788C 45020009 */ bc1fl .L7F0478B4 -/* 07C3C0 7F047890 4616603C */ c.lt.s $f12, $f22 -/* 07C3C4 7F047894 46146281 */ sub.s $f10, $f12, $f20 -.L7F047898: -/* 07C3C8 7F047898 E62A00A0 */ swc1 $f10, 0xa0($s1) -/* 07C3CC 7F04789C C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C3D0 7F0478A0 460CA03E */ c.le.s $f20, $f12 -/* 07C3D4 7F0478A4 00000000 */ nop -/* 07C3D8 7F0478A8 4503FFFB */ bc1tl .L7F047898 -/* 07C3DC 7F0478AC 46146281 */ sub.s $f10, $f12, $f20 -/* 07C3E0 7F0478B0 4616603C */ c.lt.s $f12, $f22 -.L7F0478B4: -/* 07C3E4 7F0478B4 00000000 */ nop -/* 07C3E8 7F0478B8 45020009 */ bc1fl .L7F0478E0 -/* 07C3EC 7F0478BC C7A4047C */ lwc1 $f4, 0x47c($sp) -/* 07C3F0 7F0478C0 46146200 */ add.s $f8, $f12, $f20 -.L7F0478C4: -/* 07C3F4 7F0478C4 E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07C3F8 7F0478C8 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C3FC 7F0478CC 4616603C */ c.lt.s $f12, $f22 -/* 07C400 7F0478D0 00000000 */ nop -/* 07C404 7F0478D4 4503FFFB */ bc1tl .L7F0478C4 -/* 07C408 7F0478D8 46146200 */ add.s $f8, $f12, $f20 -/* 07C40C 7F0478DC C7A4047C */ lwc1 $f4, 0x47c($sp) -.L7F0478E0: -/* 07C410 7F0478E0 460C2032 */ c.eq.s $f4, $f12 -/* 07C414 7F0478E4 00000000 */ nop -/* 07C418 7F0478E8 4502000F */ bc1fl .L7F047928 -/* 07C41C 7F0478EC 8E980008 */ lw $t8, 8($s4) -/* 07C420 7F0478F0 C620009C */ lwc1 $f0, 0x9c($s1) -/* 07C424 7F0478F4 C4262B58 */ lwc1 $f6, %lo(D_80052B58)($at) -/* 07C428 7F0478F8 3C018005 */ lui $at, %hi(D_80052B5C) -/* 07C42C 7F0478FC 4606003E */ c.le.s $f0, $f6 -/* 07C430 7F047900 00000000 */ nop -/* 07C434 7F047904 45020008 */ bc1fl .L7F047928 -/* 07C438 7F047908 8E980008 */ lw $t8, 8($s4) -/* 07C43C 7F04790C C42A2B5C */ lwc1 $f10, %lo(D_80052B5C)($at) -/* 07C440 7F047910 4600503E */ c.le.s $f10, $f0 -/* 07C444 7F047914 00000000 */ nop -/* 07C448 7F047918 45020003 */ bc1fl .L7F047928 -/* 07C44C 7F04791C 8E980008 */ lw $t8, 8($s4) -/* 07C450 7F047920 E636009C */ swc1 $f22, 0x9c($s1) -/* 07C454 7F047924 8E980008 */ lw $t8, 8($s4) -.L7F047928: -/* 07C458 7F047928 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C45C 7F04792C C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C460 7F047930 8F0F0008 */ lw $t7, 8($t8) -/* 07C464 7F047934 C7A40438 */ lwc1 $f4, 0x438($sp) -/* 07C468 7F047938 4602B03C */ c.lt.s $f22, $f2 -/* 07C46C 7F04793C 8DE8000C */ lw $t0, 0xc($t7) -/* 07C470 7F047940 45000004 */ bc1f .L7F047954 -/* 07C474 7F047944 8D100004 */ lw $s0, 4($t0) -/* 07C478 7F047948 C62800A0 */ lwc1 $f8, 0xa0($s1) -/* 07C47C 7F04794C 46044181 */ sub.s $f6, $f8, $f4 -/* 07C480 7F047950 46023383 */ div.s $f14, $f6, $f2 -.L7F047954: -/* 07C484 7F047954 4616703C */ c.lt.s $f14, $f22 -/* 07C488 7F047958 00000000 */ nop -/* 07C48C 7F04795C 45000002 */ bc1f .L7F047968 -/* 07C490 7F047960 00000000 */ nop -/* 07C494 7F047964 46147380 */ add.s $f14, $f14, $f20 -.L7F047968: -/* 07C498 7F047968 0FC15FAB */ jal sinf -/* 07C49C 7F04796C 46007306 */ mov.s $f12, $f14 -/* 07C4A0 7F047970 C60A0008 */ lwc1 $f10, 8($s0) -/* 07C4A4 7F047974 C6880014 */ lwc1 $f8, 0x14($s4) -/* 07C4A8 7F047978 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C4AC 7F04797C 46085102 */ mul.s $f4, $f10, $f8 -/* 07C4B0 7F047980 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07C4B4 7F047984 46040182 */ mul.s $f6, $f0, $f4 -/* 07C4B8 7F047988 00000000 */ nop -/* 07C4BC 7F04798C 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C4C0 7F047990 E7A80460 */ swc1 $f8, 0x460($sp) -/* 07C4C4 7F047994 0FC15FAB */ jal sinf -/* 07C4C8 7F047998 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C4CC 7F04799C E7A0043C */ swc1 $f0, 0x43c($sp) -/* 07C4D0 7F0479A0 E7B60440 */ swc1 $f22, 0x440($sp) -/* 07C4D4 7F0479A4 0FC15FA8 */ jal cosf -/* 07C4D8 7F0479A8 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C4DC 7F0479AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07C4E0 7F0479B0 44817000 */ mtc1 $at, $f14 -/* 07C4E4 7F0479B4 E7A00444 */ swc1 $f0, 0x444($sp) -/* 07C4E8 7F0479B8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07C4EC 7F0479BC C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C4F0 7F0479C0 C6240088 */ lwc1 $f4, 0x88($s1) -/* 07C4F4 7F0479C4 C7AA043C */ lwc1 $f10, 0x43c($sp) -/* 07C4F8 7F0479C8 C7AC0460 */ lwc1 $f12, 0x460($sp) -/* 07C4FC 7F0479CC 46022182 */ mul.s $f6, $f4, $f2 -/* 07C500 7F0479D0 C6240058 */ lwc1 $f4, 0x58($s1) -/* 07C504 7F0479D4 27B00468 */ addiu $s0, $sp, 0x468 -/* 07C508 7F0479D8 240B001F */ li $t3, 31 -/* 07C50C 7F0479DC 02002025 */ move $a0, $s0 -/* 07C510 7F0479E0 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C514 7F0479E4 46082180 */ add.s $f6, $f4, $f8 -/* 07C518 7F0479E8 C7A40444 */ lwc1 $f4, 0x444($sp) -/* 07C51C 7F0479EC 460C2202 */ mul.s $f8, $f4, $f12 -/* 07C520 7F0479F0 46083181 */ sub.s $f6, $f6, $f8 -/* 07C524 7F0479F4 E7A60694 */ swc1 $f6, 0x694($sp) -/* 07C528 7F0479F8 C628005C */ lwc1 $f8, 0x5c($s1) -/* 07C52C 7F0479FC 44073000 */ mfc1 $a3, $f6 -/* 07C530 7F047A00 E7A80698 */ swc1 $f8, 0x698($sp) -/* 07C534 7F047A04 C6280088 */ lwc1 $f8, 0x88($s1) -/* 07C538 7F047A08 46024202 */ mul.s $f8, $f8, $f2 -/* 07C53C 7F047A0C 00000000 */ nop -/* 07C540 7F047A10 46044202 */ mul.s $f8, $f8, $f4 -/* 07C544 7F047A14 C6240060 */ lwc1 $f4, 0x60($s1) -/* 07C548 7F047A18 46082100 */ add.s $f4, $f4, $f8 -/* 07C54C 7F047A1C 460C5202 */ mul.s $f8, $f10, $f12 -/* 07C550 7F047A20 46044280 */ add.s $f10, $f8, $f4 -/* 07C554 7F047A24 E7AA069C */ swc1 $f10, 0x69c($sp) -/* 07C558 7F047A28 8E660010 */ lw $a2, 0x10($s3) -/* 07C55C 7F047A2C 8E650008 */ lw $a1, 8($s3) -/* 07C560 7F047A30 E7B60020 */ swc1 $f22, 0x20($sp) -/* 07C564 7F047A34 E7B60018 */ swc1 $f22, 0x18($sp) -/* 07C568 7F047A38 AFAB0014 */ sw $t3, 0x14($sp) -/* 07C56C 7F047A3C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C570 7F047A40 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 07C574 7F047A44 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 07C578 7F047A48 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 07C57C 7F047A4C 104000FA */ beqz $v0, .L7F047E38 -/* 07C580 7F047A50 02002025 */ move $a0, $s0 -/* 07C584 7F047A54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07C588 7F047A58 44814000 */ mtc1 $at, $f8 -/* 07C58C 7F047A5C 2409001F */ li $t1, 31 -/* 07C590 7F047A60 AFA90010 */ sw $t1, 0x10($sp) -/* 07C594 7F047A64 8FA50694 */ lw $a1, 0x694($sp) -/* 07C598 7F047A68 8FA6069C */ lw $a2, 0x69c($sp) -/* 07C59C 7F047A6C 3C074120 */ lui $a3, 0x4120 -/* 07C5A0 7F047A70 E7B60014 */ swc1 $f22, 0x14($sp) -/* 07C5A4 7F047A74 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 07C5A8 7F047A78 E7A80018 */ swc1 $f8, 0x18($sp) -/* 07C5AC 7F047A7C 044300EF */ bgezl $v0, .L7F047E3C -/* 07C5B0 7F047A80 C6260098 */ lwc1 $f6, 0x98($s1) -/* 07C5B4 7F047A84 8E790014 */ lw $t9, 0x14($s3) -/* 07C5B8 7F047A88 8FAA0468 */ lw $t2, 0x468($sp) -/* 07C5BC 7F047A8C 02202025 */ move $a0, $s1 -/* 07C5C0 7F047A90 AFB9044C */ sw $t9, 0x44c($sp) -/* 07C5C4 7F047A94 C6640008 */ lwc1 $f4, 8($s3) -/* 07C5C8 7F047A98 E7A40450 */ swc1 $f4, 0x450($sp) -/* 07C5CC 7F047A9C C666000C */ lwc1 $f6, 0xc($s3) -/* 07C5D0 7F047AA0 E7A60454 */ swc1 $f6, 0x454($sp) -/* 07C5D4 7F047AA4 C66A0010 */ lwc1 $f10, 0x10($s3) -/* 07C5D8 7F047AA8 E7AA0458 */ swc1 $f10, 0x458($sp) -/* 07C5DC 7F047AAC AE6A0014 */ sw $t2, 0x14($s3) -/* 07C5E0 7F047AB0 C7A20694 */ lwc1 $f2, 0x694($sp) -/* 07C5E4 7F047AB4 E6620008 */ swc1 $f2, 8($s3) -/* 07C5E8 7F047AB8 E6220058 */ swc1 $f2, 0x58($s1) -/* 07C5EC 7F047ABC C7A2069C */ lwc1 $f2, 0x69c($sp) -/* 07C5F0 7F047AC0 E6620010 */ swc1 $f2, 0x10($s3) -/* 07C5F4 7F047AC4 0FC10121 */ jal sub_GAME_7F040484 -/* 07C5F8 7F047AC8 E6220060 */ swc1 $f2, 0x60($s1) -/* 07C5FC 7F047ACC 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 07C600 7F047AD0 02202025 */ move $a0, $s1 -/* 07C604 7F047AD4 0FC1122A */ jal sub_GAME_7F0448A8 -/* 07C608 7F047AD8 02602025 */ move $a0, $s3 -/* 07C60C 7F047ADC 10400092 */ beqz $v0, .L7F047D28 -/* 07C610 7F047AE0 00409025 */ move $s2, $v0 -/* 07C614 7F047AE4 8E8C0008 */ lw $t4, 8($s4) -/* 07C618 7F047AE8 C6280018 */ lwc1 $f8, 0x18($s1) -/* 07C61C 7F047AEC 02002025 */ move $a0, $s0 -/* 07C620 7F047AF0 8D8E0008 */ lw $t6, 8($t4) -/* 07C624 7F047AF4 8DCD0028 */ lw $t5, 0x28($t6) -/* 07C628 7F047AF8 8DA20004 */ lw $v0, 4($t5) -/* 07C62C 7F047AFC C4440004 */ lwc1 $f4, 4($v0) -/* 07C630 7F047B00 46044182 */ mul.s $f6, $f8, $f4 -/* 07C634 7F047B04 E7A60424 */ swc1 $f6, 0x424($sp) -/* 07C638 7F047B08 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 07C63C 7F047B0C C4480004 */ lwc1 $f8, 4($v0) -/* 07C640 7F047B10 46085102 */ mul.s $f4, $f10, $f8 -/* 07C644 7F047B14 E7A4042C */ swc1 $f4, 0x42c($sp) -/* 07C648 7F047B18 C6260018 */ lwc1 $f6, 0x18($s1) -/* 07C64C 7F047B1C C44A0008 */ lwc1 $f10, 8($v0) -/* 07C650 7F047B20 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C654 7F047B24 E7A80418 */ swc1 $f8, 0x418($sp) -/* 07C658 7F047B28 C6240020 */ lwc1 $f4, 0x20($s1) -/* 07C65C 7F047B2C C4460008 */ lwc1 $f6, 8($v0) -/* 07C660 7F047B30 46062282 */ mul.s $f10, $f4, $f6 -/* 07C664 7F047B34 E7AA0420 */ swc1 $f10, 0x420($sp) -/* 07C668 7F047B38 C6280038 */ lwc1 $f8, 0x38($s1) -/* 07C66C 7F047B3C C4440014 */ lwc1 $f4, 0x14($v0) -/* 07C670 7F047B40 46044182 */ mul.s $f6, $f8, $f4 -/* 07C674 7F047B44 E7A6040C */ swc1 $f6, 0x40c($sp) -/* 07C678 7F047B48 C62A0040 */ lwc1 $f10, 0x40($s1) -/* 07C67C 7F047B4C C4480014 */ lwc1 $f8, 0x14($v0) -/* 07C680 7F047B50 46085102 */ mul.s $f4, $f10, $f8 -/* 07C684 7F047B54 E7A40414 */ swc1 $f4, 0x414($sp) -/* 07C688 7F047B58 C6260038 */ lwc1 $f6, 0x38($s1) -/* 07C68C 7F047B5C C44A0018 */ lwc1 $f10, 0x18($v0) -/* 07C690 7F047B60 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C694 7F047B64 E7A80400 */ swc1 $f8, 0x400($sp) -/* 07C698 7F047B68 C6240040 */ lwc1 $f4, 0x40($s1) -/* 07C69C 7F047B6C C4460018 */ lwc1 $f6, 0x18($v0) -/* 07C6A0 7F047B70 C7A8040C */ lwc1 $f8, 0x40c($sp) -/* 07C6A4 7F047B74 46062282 */ mul.s $f10, $f4, $f6 -/* 07C6A8 7F047B78 C7A40424 */ lwc1 $f4, 0x424($sp) -/* 07C6AC 7F047B7C E7AA0408 */ swc1 $f10, 0x408($sp) -/* 07C6B0 7F047B80 8E780014 */ lw $t8, 0x14($s3) -/* 07C6B4 7F047B84 AFB80468 */ sw $t8, 0x468($sp) -/* 07C6B8 7F047B88 C6600008 */ lwc1 $f0, 8($s3) -/* 07C6BC 7F047B8C C6620010 */ lwc1 $f2, 0x10($s3) -/* 07C6C0 7F047B90 46040180 */ add.s $f6, $f0, $f4 -/* 07C6C4 7F047B94 C7A40414 */ lwc1 $f4, 0x414($sp) -/* 07C6C8 7F047B98 44050000 */ mfc1 $a1, $f0 -/* 07C6CC 7F047B9C 44061000 */ mfc1 $a2, $f2 -/* 07C6D0 7F047BA0 46064280 */ add.s $f10, $f8, $f6 -/* 07C6D4 7F047BA4 C7A8042C */ lwc1 $f8, 0x42c($sp) -/* 07C6D8 7F047BA8 46081180 */ add.s $f6, $f2, $f8 -/* 07C6DC 7F047BAC 44075000 */ mfc1 $a3, $f10 -/* 07C6E0 7F047BB0 46062280 */ add.s $f10, $f4, $f6 -/* 07C6E4 7F047BB4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07C6E8 7F047BB8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C6EC 7F047BBC 10400059 */ beqz $v0, .L7F047D24 -/* 07C6F0 7F047BC0 C7A40424 */ lwc1 $f4, 0x424($sp) -/* 07C6F4 7F047BC4 C6600008 */ lwc1 $f0, 8($s3) -/* 07C6F8 7F047BC8 C7A8040C */ lwc1 $f8, 0x40c($sp) -/* 07C6FC 7F047BCC C6620010 */ lwc1 $f2, 0x10($s3) -/* 07C700 7F047BD0 46040180 */ add.s $f6, $f0, $f4 -/* 07C704 7F047BD4 C7A40414 */ lwc1 $f4, 0x414($sp) -/* 07C708 7F047BD8 02002025 */ move $a0, $s0 -/* 07C70C 7F047BDC 46064280 */ add.s $f10, $f8, $f6 -/* 07C710 7F047BE0 C7A6042C */ lwc1 $f6, 0x42c($sp) -/* 07C714 7F047BE4 44055000 */ mfc1 $a1, $f10 -/* 07C718 7F047BE8 46061280 */ add.s $f10, $f2, $f6 -/* 07C71C 7F047BEC 460A2180 */ add.s $f6, $f4, $f10 -/* 07C720 7F047BF0 C7AA0418 */ lwc1 $f10, 0x418($sp) -/* 07C724 7F047BF4 44063000 */ mfc1 $a2, $f6 -/* 07C728 7F047BF8 460A0180 */ add.s $f6, $f0, $f10 -/* 07C72C 7F047BFC 46064280 */ add.s $f10, $f8, $f6 -/* 07C730 7F047C00 C7A80420 */ lwc1 $f8, 0x420($sp) -/* 07C734 7F047C04 46081180 */ add.s $f6, $f2, $f8 -/* 07C738 7F047C08 44075000 */ mfc1 $a3, $f10 -/* 07C73C 7F047C0C 46062280 */ add.s $f10, $f4, $f6 -/* 07C740 7F047C10 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07C744 7F047C14 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C748 7F047C18 10400042 */ beqz $v0, .L7F047D24 -/* 07C74C 7F047C1C C7A40418 */ lwc1 $f4, 0x418($sp) -/* 07C750 7F047C20 C6680008 */ lwc1 $f8, 8($s3) -/* 07C754 7F047C24 C7A6040C */ lwc1 $f6, 0x40c($sp) -/* 07C758 7F047C28 02002025 */ move $a0, $s0 -/* 07C75C 7F047C2C 46044000 */ add.s $f0, $f8, $f4 -/* 07C760 7F047C30 C7A40420 */ lwc1 $f4, 0x420($sp) -/* 07C764 7F047C34 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07C768 7F047C38 46003280 */ add.s $f10, $f6, $f0 -/* 07C76C 7F047C3C C7A60414 */ lwc1 $f6, 0x414($sp) -/* 07C770 7F047C40 46044080 */ add.s $f2, $f8, $f4 -/* 07C774 7F047C44 44055000 */ mfc1 $a1, $f10 -/* 07C778 7F047C48 C7A80400 */ lwc1 $f8, 0x400($sp) -/* 07C77C 7F047C4C 46023280 */ add.s $f10, $f6, $f2 -/* 07C780 7F047C50 C7A60408 */ lwc1 $f6, 0x408($sp) -/* 07C784 7F047C54 46004100 */ add.s $f4, $f8, $f0 -/* 07C788 7F047C58 44065000 */ mfc1 $a2, $f10 -/* 07C78C 7F047C5C 46023280 */ add.s $f10, $f6, $f2 -/* 07C790 7F047C60 44072000 */ mfc1 $a3, $f4 -/* 07C794 7F047C64 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07C798 7F047C68 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C79C 7F047C6C 1040002D */ beqz $v0, .L7F047D24 -/* 07C7A0 7F047C70 C7A40418 */ lwc1 $f4, 0x418($sp) -/* 07C7A4 7F047C74 C6600008 */ lwc1 $f0, 8($s3) -/* 07C7A8 7F047C78 C7A80400 */ lwc1 $f8, 0x400($sp) -/* 07C7AC 7F047C7C C6620010 */ lwc1 $f2, 0x10($s3) -/* 07C7B0 7F047C80 46040180 */ add.s $f6, $f0, $f4 -/* 07C7B4 7F047C84 C7A40408 */ lwc1 $f4, 0x408($sp) -/* 07C7B8 7F047C88 02002025 */ move $a0, $s0 -/* 07C7BC 7F047C8C 46064280 */ add.s $f10, $f8, $f6 -/* 07C7C0 7F047C90 C7A60420 */ lwc1 $f6, 0x420($sp) -/* 07C7C4 7F047C94 44055000 */ mfc1 $a1, $f10 -/* 07C7C8 7F047C98 46061280 */ add.s $f10, $f2, $f6 -/* 07C7CC 7F047C9C 460A2180 */ add.s $f6, $f4, $f10 -/* 07C7D0 7F047CA0 C7AA0424 */ lwc1 $f10, 0x424($sp) -/* 07C7D4 7F047CA4 44063000 */ mfc1 $a2, $f6 -/* 07C7D8 7F047CA8 460A0180 */ add.s $f6, $f0, $f10 -/* 07C7DC 7F047CAC 46064280 */ add.s $f10, $f8, $f6 -/* 07C7E0 7F047CB0 C7A8042C */ lwc1 $f8, 0x42c($sp) -/* 07C7E4 7F047CB4 46081180 */ add.s $f6, $f2, $f8 -/* 07C7E8 7F047CB8 44075000 */ mfc1 $a3, $f10 -/* 07C7EC 7F047CBC 46062280 */ add.s $f10, $f4, $f6 -/* 07C7F0 7F047CC0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07C7F4 7F047CC4 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C7F8 7F047CC8 10400016 */ beqz $v0, .L7F047D24 -/* 07C7FC 7F047CCC C7A40424 */ lwc1 $f4, 0x424($sp) -/* 07C800 7F047CD0 C6680008 */ lwc1 $f8, 8($s3) -/* 07C804 7F047CD4 C7A60400 */ lwc1 $f6, 0x400($sp) -/* 07C808 7F047CD8 02002025 */ move $a0, $s0 -/* 07C80C 7F047CDC 46044000 */ add.s $f0, $f8, $f4 -/* 07C810 7F047CE0 C7A4042C */ lwc1 $f4, 0x42c($sp) -/* 07C814 7F047CE4 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07C818 7F047CE8 46003280 */ add.s $f10, $f6, $f0 -/* 07C81C 7F047CEC C7A60408 */ lwc1 $f6, 0x408($sp) -/* 07C820 7F047CF0 46044080 */ add.s $f2, $f8, $f4 -/* 07C824 7F047CF4 44055000 */ mfc1 $a1, $f10 -/* 07C828 7F047CF8 C7A8040C */ lwc1 $f8, 0x40c($sp) -/* 07C82C 7F047CFC 46023280 */ add.s $f10, $f6, $f2 -/* 07C830 7F047D00 C7A60414 */ lwc1 $f6, 0x414($sp) -/* 07C834 7F047D04 46004100 */ add.s $f4, $f8, $f0 -/* 07C838 7F047D08 44065000 */ mfc1 $a2, $f10 -/* 07C83C 7F047D0C 46023280 */ add.s $f10, $f6, $f2 -/* 07C840 7F047D10 44072000 */ mfc1 $a3, $f4 -/* 07C844 7F047D14 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07C848 7F047D18 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C84C 7F047D1C 14400002 */ bnez $v0, .L7F047D28 -/* 07C850 7F047D20 00000000 */ nop -.L7F047D24: -/* 07C854 7F047D24 00009025 */ move $s2, $zero -.L7F047D28: -/* 07C858 7F047D28 12400023 */ beqz $s2, .L7F047DB8 -/* 07C85C 7F047D2C 02202025 */ move $a0, $s1 -/* 07C860 7F047D30 262F0058 */ addiu $t7, $s1, 0x58 -/* 07C864 7F047D34 AFAF0070 */ sw $t7, 0x70($sp) -/* 07C868 7F047D38 0FC112CE */ jal sub_GAME_7F044B38 -/* 07C86C 7F047D3C 2630007C */ addiu $s0, $s1, 0x7c -/* 07C870 7F047D40 02602025 */ move $a0, $s3 -/* 07C874 7F047D44 0FC100AD */ jal sub_GAME_7F0402B4 -/* 07C878 7F047D48 02002825 */ move $a1, $s0 -/* 07C87C 7F047D4C 0FC146F3 */ jal detonate_proxmine_In_range -/* 07C880 7F047D50 8FA40070 */ lw $a0, 0x70($sp) -/* 07C884 7F047D54 8FA80478 */ lw $t0, 0x478($sp) -/* 07C888 7F047D58 27A40450 */ addiu $a0, $sp, 0x450 -/* 07C88C 7F047D5C 27A50694 */ addiu $a1, $sp, 0x694 -/* 07C890 7F047D60 11000054 */ beqz $t0, .L7F047EB4 -/* 07C894 7F047D64 01003025 */ move $a2, $t0 -/* 07C898 7F047D68 0FC0BF54 */ jal sub_GAME_7F02FD50 -/* 07C89C 7F047D6C 3C0742C8 */ lui $a3, 0x42c8 -/* 07C8A0 7F047D70 10400050 */ beqz $v0, .L7F047EB4 -/* 07C8A4 7F047D74 00000000 */ nop -/* 07C8A8 7F047D78 8E2B00A8 */ lw $t3, 0xa8($s1) -/* 07C8AC 7F047D7C 8E3900A4 */ lw $t9, 0xa4($s1) -/* 07C8B0 7F047D80 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07C8B4 7F047D84 25690001 */ addiu $t1, $t3, 1 -/* 07C8B8 7F047D88 AE2900A8 */ sw $t1, 0xa8($s1) -/* 07C8BC 7F047D8C 8F2A0000 */ lw $t2, ($t9) -/* 07C8C0 7F047D90 00097080 */ sll $t6, $t1, 2 -/* 07C8C4 7F047D94 014E6821 */ addu $t5, $t2, $t6 -/* 07C8C8 7F047D98 8DB80000 */ lw $t8, ($t5) -/* 07C8CC 7F047D9C 07010045 */ bgez $t8, .L7F047EB4 -/* 07C8D0 7F047DA0 00000000 */ nop -/* 07C8D4 7F047DA4 44814000 */ mtc1 $at, $f8 -/* 07C8D8 7F047DA8 AE2000A4 */ sw $zero, 0xa4($s1) -/* 07C8DC 7F047DAC E6360094 */ swc1 $f22, 0x94($s1) -/* 07C8E0 7F047DB0 10000040 */ b .L7F047EB4 -/* 07C8E4 7F047DB4 E6280098 */ swc1 $f8, 0x98($s1) -.L7F047DB8: -/* 07C8E8 7F047DB8 C6240098 */ lwc1 $f4, 0x98($s1) -/* 07C8EC 7F047DBC 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07C8F0 7F047DC0 4616203C */ c.lt.s $f4, $f22 -/* 07C8F4 7F047DC4 00000000 */ nop -/* 07C8F8 7F047DC8 45020006 */ bc1fl .L7F047DE4 -/* 07C8FC 7F047DCC E6360088 */ swc1 $f22, 0x88($s1) -/* 07C900 7F047DD0 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07C904 7F047DD4 44815000 */ mtc1 $at, $f10 -/* 07C908 7F047DD8 E6260094 */ swc1 $f6, 0x94($s1) -/* 07C90C 7F047DDC E62A0098 */ swc1 $f10, 0x98($s1) -/* 07C910 7F047DE0 E6360088 */ swc1 $f22, 0x88($s1) -.L7F047DE4: -/* 07C914 7F047DE4 C7A80438 */ lwc1 $f8, 0x438($sp) -/* 07C918 7F047DE8 02202025 */ move $a0, $s1 -/* 07C91C 7F047DEC E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07C920 7F047DF0 C7A40434 */ lwc1 $f4, 0x434($sp) -/* 07C924 7F047DF4 E624009C */ swc1 $f4, 0x9c($s1) -/* 07C928 7F047DF8 8FAF044C */ lw $t7, 0x44c($sp) -/* 07C92C 7F047DFC AE6F0014 */ sw $t7, 0x14($s3) -/* 07C930 7F047E00 C7A20450 */ lwc1 $f2, 0x450($sp) -/* 07C934 7F047E04 E6620008 */ swc1 $f2, 8($s3) -/* 07C938 7F047E08 E6220058 */ swc1 $f2, 0x58($s1) -/* 07C93C 7F047E0C C7A20454 */ lwc1 $f2, 0x454($sp) -/* 07C940 7F047E10 E662000C */ swc1 $f2, 0xc($s3) -/* 07C944 7F047E14 E622005C */ swc1 $f2, 0x5c($s1) -/* 07C948 7F047E18 C7A20458 */ lwc1 $f2, 0x458($sp) -/* 07C94C 7F047E1C E6620010 */ swc1 $f2, 0x10($s3) -/* 07C950 7F047E20 0FC10121 */ jal sub_GAME_7F040484 -/* 07C954 7F047E24 E6220060 */ swc1 $f2, 0x60($s1) -/* 07C958 7F047E28 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 07C95C 7F047E2C 02202025 */ move $a0, $s1 -/* 07C960 7F047E30 10000020 */ b .L7F047EB4 -/* 07C964 7F047E34 00000000 */ nop -.L7F047E38: -/* 07C968 7F047E38 C6260098 */ lwc1 $f6, 0x98($s1) -.L7F047E3C: -/* 07C96C 7F047E3C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07C970 7F047E40 4616303C */ c.lt.s $f6, $f22 -/* 07C974 7F047E44 00000000 */ nop -/* 07C978 7F047E48 45020006 */ bc1fl .L7F047E64 -/* 07C97C 7F047E4C E6360088 */ swc1 $f22, 0x88($s1) -/* 07C980 7F047E50 C62A0088 */ lwc1 $f10, 0x88($s1) -/* 07C984 7F047E54 44814000 */ mtc1 $at, $f8 -/* 07C988 7F047E58 E62A0094 */ swc1 $f10, 0x94($s1) -/* 07C98C 7F047E5C E6280098 */ swc1 $f8, 0x98($s1) -/* 07C990 7F047E60 E6360088 */ swc1 $f22, 0x88($s1) -.L7F047E64: -/* 07C994 7F047E64 C7A40438 */ lwc1 $f4, 0x438($sp) -/* 07C998 7F047E68 E62400A0 */ swc1 $f4, 0xa0($s1) -/* 07C99C 7F047E6C C7A60434 */ lwc1 $f6, 0x434($sp) -/* 07C9A0 7F047E70 10000010 */ b .L7F047EB4 -/* 07C9A4 7F047E74 E626009C */ swc1 $f6, 0x9c($s1) -/* 07C9A8 7F047E78 8E280008 */ lw $t0, 8($s1) -.L7F047E7C: -/* 07C9AC 7F047E7C 00085880 */ sll $t3, $t0, 2 -/* 07C9B0 7F047E80 0561000C */ bgez $t3, .L7F047EB4 -/* 07C9B4 7F047E84 00000000 */ nop -/* 07C9B8 7F047E88 C62C0038 */ lwc1 $f12, 0x38($s1) -/* 07C9BC 7F047E8C 0FC16A8C */ jal convert_angle_using_inverse -/* 07C9C0 7F047E90 C62E0040 */ lwc1 $f14, 0x40($s1) -/* 07C9C4 7F047E94 8E290008 */ lw $t1, 8($s1) -/* 07C9C8 7F047E98 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07C9CC 7F047E9C 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07C9D0 7F047EA0 0121C824 */ and $t9, $t1, $at -/* 07C9D4 7F047EA4 E62000A0 */ swc1 $f0, 0xa0($s1) -/* 07C9D8 7F047EA8 AE390008 */ sw $t9, 8($s1) -/* 07C9DC 7F047EAC 0FC112CE */ jal sub_GAME_7F044B38 -/* 07C9E0 7F047EB0 02202025 */ move $a0, $s1 -.L7F047EB4: -/* 07C9E4 7F047EB4 100000DE */ b .L7F048230 -/* 07C9E8 7F047EB8 92220003 */ lbu $v0, 3($s1) -.L7F047EBC: -/* 07C9EC 7F047EBC 24010028 */ li $at, 40 -/* 07C9F0 7F047EC0 144100DA */ bne $v0, $at, .L7F04822C -/* 07C9F4 7F047EC4 02202025 */ move $a0, $s1 -/* 07C9F8 7F047EC8 0FC0D521 */ jal parse_handle_actionblocks -/* 07C9FC 7F047ECC 24050001 */ li $a1, 1 -/* 07CA00 7F047ED0 8E300014 */ lw $s0, 0x14($s1) -/* 07CA04 7F047ED4 26250058 */ addiu $a1, $s1, 0x58 -/* 07CA08 7F047ED8 8E0C0020 */ lw $t4, 0x20($s0) -/* 07CA0C 7F047EDC 02002025 */ move $a0, $s0 -/* 07CA10 7F047EE0 51800065 */ beql $t4, $zero, .L7F048078 -/* 07CA14 7F047EE4 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07CA18 7F047EE8 0FC1B303 */ jal setsuboffset -/* 07CA1C 7F047EEC AFA50070 */ sw $a1, 0x70($sp) -/* 07CA20 7F047EF0 8E300014 */ lw $s0, 0x14($s1) -/* 07CA24 7F047EF4 3C0E8003 */ lui $t6, %hi(animation_table_ptrs2+4) -/* 07CA28 7F047EF8 8DCEA050 */ lw $t6, %lo(animation_table_ptrs2+4)($t6) -/* 07CA2C 7F047EFC 8E0A0020 */ lw $t2, 0x20($s0) -/* 07CA30 7F047F00 3C054127 */ lui $a1, (0x4127020C >> 16) # lui $a1, 0x4127 -/* 07CA34 7F047F04 02002025 */ move $a0, $s0 -/* 07CA38 7F047F08 154E0009 */ bne $t2, $t6, .L7F047F30 -/* 07CA3C 7F047F0C 00000000 */ nop -/* 07CA40 7F047F10 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 07CA44 7F047F14 34A5020C */ ori $a1, (0x4127020C & 0xFFFF) # ori $a1, $a1, 0x20c -/* 07CA48 7F047F18 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049 -/* 07CA4C 7F047F1C 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb -/* 07CA50 7F047F20 0FC1B34F */ jal setsubroty -/* 07CA54 7F047F24 8E240014 */ lw $a0, 0x14($s1) -/* 07CA58 7F047F28 10000024 */ b .L7F047FBC -/* 07CA5C 7F047F2C 00000000 */ nop -.L7F047F30: -/* 07CA60 7F047F30 0C001A57 */ jal get_stage_num -/* 07CA64 7F047F34 00000000 */ nop -/* 07CA68 7F047F38 24010016 */ li $at, 22 -/* 07CA6C 7F047F3C 1441000A */ bne $v0, $at, .L7F047F68 -/* 07CA70 7F047F40 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 -/* 07CA74 7F047F44 8E240014 */ lw $a0, 0x14($s1) -/* 07CA78 7F047F48 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 07CA7C 7F047F4C 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CA80 7F047F50 3C054016 */ lui $a1, (0x4016CBE4 >> 16) # lui $a1, 0x4016 -/* 07CA84 7F047F54 34A5CBE4 */ ori $a1, (0x4016CBE4 & 0xFFFF) # ori $a1, $a1, 0xcbe4 -/* 07CA88 7F047F58 0FC1B34F */ jal setsubroty -/* 07CA8C 7F047F5C 8E240014 */ lw $a0, 0x14($s1) -/* 07CA90 7F047F60 10000016 */ b .L7F047FBC -/* 07CA94 7F047F64 00000000 */ nop -.L7F047F68: -/* 07CA98 7F047F68 0C001A57 */ jal get_stage_num -/* 07CA9C 7F047F6C 00000000 */ nop -/* 07CAA0 7F047F70 2401001A */ li $at, 26 -/* 07CAA4 7F047F74 1441000B */ bne $v0, $at, .L7F047FA4 -/* 07CAA8 7F047F78 3C053F85 */ lui $a1, 0x3f85 -/* 07CAAC 7F047F7C 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 -/* 07CAB0 7F047F80 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CAB4 7F047F84 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 07CAB8 7F047F88 8E240014 */ lw $a0, 0x14($s1) -/* 07CABC 7F047F8C 3C05407B */ lui $a1, (0x407B9B3D >> 16) # lui $a1, 0x407b -/* 07CAC0 7F047F90 34A553D1 */ ori $a1, (0x407B53D1 & 0xFFFF) # ori $a1, $a1, 0x53d1 -/* 07CAC4 7F047F94 0FC1B34F */ jal setsubroty -/* 07CAC8 7F047F98 8E240014 */ lw $a0, 0x14($s1) -/* 07CACC 7F047F9C 10000007 */ b .L7F047FBC -/* 07CAD0 7F047FA0 00000000 */ nop -.L7F047FA4: -/* 07CAD4 7F047FA4 8E240014 */ lw $a0, 0x14($s1) -/* 07CAD8 7F047FA8 0FC1B3A1 */ jal sub_GAME_7F06CE84 -/* 07CADC 7F047FAC 34A59B3D */ ori $a1, (0x407B9B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CAE0 7F047FB0 4405B000 */ mfc1 $a1, $f22 -/* 07CAE4 7F047FB4 0FC1B34F */ jal setsubroty -/* 07CAE8 7F047FB8 8E240014 */ lw $a0, 0x14($s1) -.L7F047FBC: -/* 07CAEC 7F047FBC 3C058005 */ lui $a1, %hi(clock_timer) -/* 07CAF0 7F047FC0 8CA58374 */ lw $a1, %lo(clock_timer)($a1) -/* 07CAF4 7F047FC4 8E240014 */ lw $a0, 0x14($s1) -/* 07CAF8 7F047FC8 0FC1C2BB */ jal sub_GAME_7F070AEC -/* 07CAFC 7F047FCC 24060001 */ li $a2, 1 -/* 07CB00 7F047FD0 0FC1B5AC */ jal subcalcpos -/* 07CB04 7F047FD4 8E240014 */ lw $a0, 0x14($s1) -/* 07CB08 7F047FD8 8E240014 */ lw $a0, 0x14($s1) -/* 07CB0C 7F047FDC 0FC1B2E6 */ jal getsuboffset -/* 07CB10 7F047FE0 8FA50070 */ lw $a1, 0x70($sp) -/* 07CB14 7F047FE4 C62A0058 */ lwc1 $f10, 0x58($s1) -/* 07CB18 7F047FE8 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 07CB1C 7F047FEC 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 -/* 07CB20 7F047FF0 E66A0008 */ swc1 $f10, 8($s3) -/* 07CB24 7F047FF4 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07CB28 7F047FF8 E6680010 */ swc1 $f8, 0x10($s3) -/* 07CB2C 7F047FFC 86220006 */ lh $v0, 6($s1) -/* 07CB30 7F048000 28412710 */ slti $at, $v0, 0x2710 -/* 07CB34 7F048004 1020000B */ beqz $at, .L7F048034 -/* 07CB38 7F048008 00027900 */ sll $t7, $v0, 4 -/* 07CB3C 7F04800C 00026880 */ sll $t5, $v0, 2 -/* 07CB40 7F048010 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) -/* 07CB44 7F048014 01A26823 */ subu $t5, $t5, $v0 -/* 07CB48 7F048018 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 -/* 07CB4C 7F04801C 000D6880 */ sll $t5, $t5, 2 -/* 07CB50 7F048020 8CB80018 */ lw $t8, 0x18($a1) -/* 07CB54 7F048024 01A26823 */ subu $t5, $t5, $v0 -/* 07CB58 7F048028 000D6880 */ sll $t5, $t5, 2 -/* 07CB5C 7F04802C 10000008 */ b .L7F048050 -/* 07CB60 7F048030 01B81821 */ addu $v1, $t5, $t8 -.L7F048034: -/* 07CB64 7F048034 8CA8001C */ lw $t0, 0x1c($a1) -/* 07CB68 7F048038 01E27821 */ addu $t7, $t7, $v0 -/* 07CB6C 7F04803C 000F7880 */ sll $t7, $t7, 2 -/* 07CB70 7F048040 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 07CB74 7F048044 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 07CB78 7F048048 01E81821 */ addu $v1, $t7, $t0 -/* 07CB7C 7F04804C 00611821 */ addu $v1, $v1, $at -.L7F048050: -/* 07CB80 7F048050 C624005C */ lwc1 $f4, 0x5c($s1) -/* 07CB84 7F048054 C4660004 */ lwc1 $f6, 4($v1) -/* 07CB88 7F048058 46062280 */ add.s $f10, $f4, $f6 -/* 07CB8C 7F04805C E66A000C */ swc1 $f10, 0xc($s3) -/* 07CB90 7F048060 C668000C */ lwc1 $f8, 0xc($s3) -/* 07CB94 7F048064 8E240014 */ lw $a0, 0x14($s1) -/* 07CB98 7F048068 E628005C */ swc1 $f8, 0x5c($s1) -/* 07CB9C 7F04806C 0FC1B303 */ jal setsuboffset -/* 07CBA0 7F048070 8FA50070 */ lw $a1, 0x70($sp) -/* 07CBA4 7F048074 C62C00A0 */ lwc1 $f12, 0xa0($s1) -.L7F048078: -/* 07CBA8 7F048078 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07CBAC 7F04807C 460CB03E */ c.le.s $f22, $f12 -/* 07CBB0 7F048080 00000000 */ nop -/* 07CBB4 7F048084 45020016 */ bc1fl .L7F0480E0 -/* 07CBB8 7F048088 C6200094 */ lwc1 $f0, 0x94($s1) -/* 07CBBC 7F04808C C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07CBC0 7F048090 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07CBC4 7F048094 4602603E */ c.le.s $f12, $f2 -/* 07CBC8 7F048098 00000000 */ nop -/* 07CBCC 7F04809C 45020006 */ bc1fl .L7F0480B8 -/* 07CBD0 7F0480A0 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07CBD4 7F0480A4 C624009C */ lwc1 $f4, 0x9c($s1) -/* 07CBD8 7F0480A8 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07CBDC 7F0480AC 10000008 */ b .L7F0480D0 -/* 07CBE0 7F0480B0 E6240098 */ swc1 $f4, 0x98($s1) -/* 07CBE4 7F0480B4 C62E0098 */ lwc1 $f14, 0x98($s1) -.L7F0480B8: -/* 07CBE8 7F0480B8 C626009C */ lwc1 $f6, 0x9c($s1) -/* 07CBEC 7F0480BC 460E3281 */ sub.s $f10, $f6, $f14 -/* 07CBF0 7F0480C0 46025202 */ mul.s $f8, $f10, $f2 -/* 07CBF4 7F0480C4 460C4103 */ div.s $f4, $f8, $f12 -/* 07CBF8 7F0480C8 46047180 */ add.s $f6, $f14, $f4 -/* 07CBFC 7F0480CC E6260098 */ swc1 $f6, 0x98($s1) -.L7F0480D0: -/* 07CC00 7F0480D0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07CC04 7F0480D4 460A6201 */ sub.s $f8, $f12, $f10 -/* 07CC08 7F0480D8 E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07CC0C 7F0480DC C6200094 */ lwc1 $f0, 0x94($s1) -.L7F0480E0: -/* 07CC10 7F0480E0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07CC14 7F0480E4 4600B03E */ c.le.s $f22, $f0 -/* 07CC18 7F0480E8 00000000 */ nop -/* 07CC1C 7F0480EC 45020016 */ bc1fl .L7F048148 -/* 07CC20 7F0480F0 8E2B000C */ lw $t3, 0xc($s1) -/* 07CC24 7F0480F4 C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07CC28 7F0480F8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07CC2C 7F0480FC 4602003E */ c.le.s $f0, $f2 -/* 07CC30 7F048100 00000000 */ nop -/* 07CC34 7F048104 45020006 */ bc1fl .L7F048120 -/* 07CC38 7F048108 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07CC3C 7F04810C C6240090 */ lwc1 $f4, 0x90($s1) -/* 07CC40 7F048110 C6200094 */ lwc1 $f0, 0x94($s1) -/* 07CC44 7F048114 10000008 */ b .L7F048138 -/* 07CC48 7F048118 E624008C */ swc1 $f4, 0x8c($s1) -/* 07CC4C 7F04811C C62C008C */ lwc1 $f12, 0x8c($s1) -.L7F048120: -/* 07CC50 7F048120 C6260090 */ lwc1 $f6, 0x90($s1) -/* 07CC54 7F048124 460C3281 */ sub.s $f10, $f6, $f12 -/* 07CC58 7F048128 46025202 */ mul.s $f8, $f10, $f2 -/* 07CC5C 7F04812C 46004103 */ div.s $f4, $f8, $f0 -/* 07CC60 7F048130 46046180 */ add.s $f6, $f12, $f4 -/* 07CC64 7F048134 E626008C */ swc1 $f6, 0x8c($s1) -.L7F048138: -/* 07CC68 7F048138 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07CC6C 7F04813C 460A0201 */ sub.s $f8, $f0, $f10 -/* 07CC70 7F048140 E6280094 */ swc1 $f8, 0x94($s1) -/* 07CC74 7F048144 8E2B000C */ lw $t3, 0xc($s1) -.L7F048148: -/* 07CC78 7F048148 00008025 */ move $s0, $zero -/* 07CC7C 7F04814C 000B4B00 */ sll $t1, $t3, 0xc -/* 07CC80 7F048150 05200014 */ bltz $t1, .L7F0481A4 -/* 07CC84 7F048154 00000000 */ nop -/* 07CC88 7F048158 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 07CC8C 7F04815C 02202025 */ move $a0, $s1 -/* 07CC90 7F048160 10400010 */ beqz $v0, .L7F0481A4 -/* 07CC94 7F048164 00000000 */ nop -/* 07CC98 7F048168 C624008C */ lwc1 $f4, 0x8c($s1) -/* 07CC9C 7F04816C 4604B032 */ c.eq.s $f22, $f4 -/* 07CCA0 7F048170 00000000 */ nop -/* 07CCA4 7F048174 4501000B */ bc1t .L7F0481A4 -/* 07CCA8 7F048178 00000000 */ nop -/* 07CCAC 7F04817C 8E390008 */ lw $t9, 8($s1) -/* 07CCB0 7F048180 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c -/* 07CCB4 7F048184 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 -/* 07CCB8 7F048188 00196080 */ sll $t4, $t9, 2 -/* 07CCBC 7F04818C 05800005 */ bltz $t4, .L7F0481A4 -/* 07CCC0 7F048190 26240058 */ addiu $a0, $s1, 0x58 -/* 07CCC4 7F048194 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb -/* 07CCC8 7F048198 0FC14E25 */ jal sub_GAME_7F053894 -/* 07CCCC 7F04819C 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 07CCD0 7F0481A0 00408025 */ move $s0, $v0 -.L7F0481A4: -/* 07CCD4 7F0481A4 5A000019 */ blezl $s0, .L7F04820C -/* 07CCD8 7F0481A8 8E2400B0 */ lw $a0, 0xb0($s1) -/* 07CCDC 7F0481AC 8E2400B0 */ lw $a0, 0xb0($s1) -/* 07CCE0 7F0481B0 10800005 */ beqz $a0, .L7F0481C8 -/* 07CCE4 7F0481B4 00000000 */ nop -/* 07CCE8 7F0481B8 0C00237C */ jal sfxGetArg0Unk3F -/* 07CCEC 7F0481BC 00000000 */ nop -/* 07CCF0 7F0481C0 5440000A */ bnezl $v0, .L7F0481EC -/* 07CCF4 7F0481C4 8E2400B0 */ lw $a0, 0xb0($s1) -.L7F0481C8: -/* 07CCF8 7F0481C8 0FC2FF01 */ jal get_controls_locked_flag -/* 07CCFC 7F0481CC 00000000 */ nop -/* 07CD00 7F0481D0 14400005 */ bnez $v0, .L7F0481E8 -/* 07CD04 7F0481D4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07CD08 7F0481D8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07CD0C 7F0481DC 2405003A */ li $a1, 58 -/* 07CD10 7F0481E0 0C002382 */ jal play_sfx_a1 -/* 07CD14 7F0481E4 262600B0 */ addiu $a2, $s1, 0xb0 -.L7F0481E8: -/* 07CD18 7F0481E8 8E2400B0 */ lw $a0, 0xb0($s1) -.L7F0481EC: -/* 07CD1C 7F0481EC 24050008 */ li $a1, 8 -/* 07CD20 7F0481F0 5080000F */ beql $a0, $zero, .L7F048230 -/* 07CD24 7F0481F4 92220003 */ lbu $v0, 3($s1) -/* 07CD28 7F0481F8 0C002461 */ jal sfx_c_70009184 -/* 07CD2C 7F0481FC 02003025 */ move $a2, $s0 -/* 07CD30 7F048200 1000000B */ b .L7F048230 -/* 07CD34 7F048204 92220003 */ lbu $v0, 3($s1) -/* 07CD38 7F048208 8E2400B0 */ lw $a0, 0xb0($s1) -.L7F04820C: -/* 07CD3C 7F04820C 50800008 */ beql $a0, $zero, .L7F048230 -/* 07CD40 7F048210 92220003 */ lbu $v0, 3($s1) -/* 07CD44 7F048214 0C00237C */ jal sfxGetArg0Unk3F -/* 07CD48 7F048218 00000000 */ nop -/* 07CD4C 7F04821C 50400004 */ beql $v0, $zero, .L7F048230 -/* 07CD50 7F048220 92220003 */ lbu $v0, 3($s1) -/* 07CD54 7F048224 0C002408 */ jal sfxDeactivate -/* 07CD58 7F048228 8E2400B0 */ lw $a0, 0xb0($s1) -.L7F04822C: -/* 07CD5C 7F04822C 92220003 */ lbu $v0, 3($s1) -.L7F048230: -/* 07CD60 7F048230 3C018005 */ lui $at, %hi(D_80052B64) -/* 07CD64 7F048234 C4342B64 */ lwc1 $f20, %lo(D_80052B64)($at) -/* 07CD68 7F048238 2401002F */ li $at, 47 -/* 07CD6C 7F04823C 54410020 */ bnel $v0, $at, .L7F0482C0 -/* 07CD70 7F048240 24010001 */ li $at, 1 -/* 07CD74 7F048244 8E700004 */ lw $s0, 4($s3) -/* 07CD78 7F048248 26240058 */ addiu $a0, $s1, 0x58 -/* 07CD7C 7F04824C 8E0A0080 */ lw $t2, 0x80($s0) -/* 07CD80 7F048250 8E0E0084 */ lw $t6, 0x84($s0) -/* 07CD84 7F048254 8E070090 */ lw $a3, 0x90($s0) -/* 07CD88 7F048258 448A3000 */ mtc1 $t2, $f6 -/* 07CD8C 7F04825C 448E5000 */ mtc1 $t6, $f10 -/* 07CD90 7F048260 468031A0 */ cvt.s.w $f6, $f6 -/* 07CD94 7F048264 468052A0 */ cvt.s.w $f10, $f10 -/* 07CD98 7F048268 44053000 */ mfc1 $a1, $f6 -/* 07CD9C 7F04826C 44065000 */ mfc1 $a2, $f10 -/* 07CDA0 7F048270 0FC11477 */ jal sub_GAME_7F0451DC -/* 07CDA4 7F048274 00000000 */ nop -/* 07CDA8 7F048278 8E04008C */ lw $a0, 0x8c($s0) -/* 07CDAC 7F04827C AE020088 */ sw $v0, 0x88($s0) -/* 07CDB0 7F048280 8FAD0674 */ lw $t5, 0x674($sp) -/* 07CDB4 7F048284 0480000B */ bltz $a0, .L7F0482B4 -/* 07CDB8 7F048288 24010001 */ li $at, 1 -/* 07CDBC 7F04828C 15A10009 */ bne $t5, $at, .L7F0482B4 -/* 07CDC0 7F048290 240100FF */ li $at, 255 -/* 07CDC4 7F048294 14410005 */ bne $v0, $at, .L7F0482AC -/* 07CDC8 7F048298 00000000 */ nop -/* 07CDCC 7F04829C 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 07CDD0 7F0482A0 00002825 */ move $a1, $zero -/* 07CDD4 7F0482A4 10000003 */ b .L7F0482B4 -/* 07CDD8 7F0482A8 00000000 */ nop -.L7F0482AC: -/* 07CDDC 7F0482AC 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 07CDE0 7F0482B0 24050001 */ li $a1, 1 -.L7F0482B4: -/* 07CDE4 7F0482B4 1000003B */ b .L7F0483A4 -/* 07CDE8 7F0482B8 AFA00670 */ sw $zero, 0x670($sp) -/* 07CDEC 7F0482BC 24010001 */ li $at, 1 -.L7F0482C0: -/* 07CDF0 7F0482C0 54410039 */ bnel $v0, $at, .L7F0483A8 -/* 07CDF4 7F0482C4 922F0003 */ lbu $t7, 3($s1) -/* 07CDF8 7F0482C8 962F0098 */ lhu $t7, 0x98($s1) -/* 07CDFC 7F0482CC 31E80002 */ andi $t0, $t7, 2 -/* 07CE00 7F0482D0 51000035 */ beql $t0, $zero, .L7F0483A8 -/* 07CE04 7F0482D4 922F0003 */ lbu $t7, 3($s1) -/* 07CE08 7F0482D8 8E700004 */ lw $s0, 4($s3) -/* 07CE0C 7F0482DC 4407B000 */ mfc1 $a3, $f22 -/* 07CE10 7F0482E0 24120001 */ li $s2, 1 -/* 07CE14 7F0482E4 8E0B00C0 */ lw $t3, 0xc0($s0) -/* 07CE18 7F0482E8 8E0900C4 */ lw $t1, 0xc4($s0) -/* 07CE1C 7F0482EC 26240058 */ addiu $a0, $s1, 0x58 -/* 07CE20 7F0482F0 448B4000 */ mtc1 $t3, $f8 -/* 07CE24 7F0482F4 44892000 */ mtc1 $t1, $f4 -/* 07CE28 7F0482F8 46804220 */ cvt.s.w $f8, $f8 -/* 07CE2C 7F0482FC 46802120 */ cvt.s.w $f4, $f4 -/* 07CE30 7F048300 44054000 */ mfc1 $a1, $f8 -/* 07CE34 7F048304 44062000 */ mfc1 $a2, $f4 -/* 07CE38 7F048308 0FC11477 */ jal sub_GAME_7F0451DC -/* 07CE3C 7F04830C 00000000 */ nop -/* 07CE40 7F048310 A60200BE */ sh $v0, 0xbe($s0) -/* 07CE44 7F048314 8FB90674 */ lw $t9, 0x674($sp) -/* 07CE48 7F048318 24010001 */ li $at, 1 -/* 07CE4C 7F04831C 57210022 */ bnel $t9, $at, .L7F0483A8 -/* 07CE50 7F048320 922F0003 */ lbu $t7, 3($s1) -/* 07CE54 7F048324 860C00BE */ lh $t4, 0xbe($s0) -/* 07CE58 7F048328 240100FF */ li $at, 255 -/* 07CE5C 7F04832C 55810007 */ bnel $t4, $at, .L7F04834C -/* 07CE60 7F048330 00009025 */ move $s2, $zero -/* 07CE64 7F048334 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07CE68 7F048338 4606B03C */ c.lt.s $f22, $f6 -/* 07CE6C 7F04833C 00000000 */ nop -/* 07CE70 7F048340 45020003 */ bc1fl .L7F048350 -/* 07CE74 7F048344 8E820008 */ lw $v0, 8($s4) -/* 07CE78 7F048348 00009025 */ move $s2, $zero -.L7F04834C: -/* 07CE7C 7F04834C 8E820008 */ lw $v0, 8($s4) -.L7F048350: -/* 07CE80 7F048350 3C0A8004 */ lui $t2, %hi(prop_door_related) -/* 07CE84 7F048354 254AA1DC */ addiu $t2, %lo(prop_door_related) # addiu $t2, $t2, -0x5e24 -/* 07CE88 7F048358 8C4E0004 */ lw $t6, 4($v0) -/* 07CE8C 7F04835C 154E0009 */ bne $t2, $t6, .L7F048384 -/* 07CE90 7F048360 00000000 */ nop -/* 07CE94 7F048364 8C4D0008 */ lw $t5, 8($v0) -/* 07CE98 7F048368 02802025 */ move $a0, $s4 -/* 07CE9C 7F04836C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07CEA0 7F048370 8DA50004 */ lw $a1, 4($t5) -/* 07CEA4 7F048374 8C580000 */ lw $t8, ($v0) -/* 07CEA8 7F048378 17000002 */ bnez $t8, .L7F048384 -/* 07CEAC 7F04837C 00000000 */ nop -/* 07CEB0 7F048380 00009025 */ move $s2, $zero -.L7F048384: -/* 07CEB4 7F048384 12400005 */ beqz $s2, .L7F04839C -/* 07CEB8 7F048388 00000000 */ nop -/* 07CEBC 7F04838C 0FC14D71 */ jal sub_GAME_7F0535C4 -/* 07CEC0 7F048390 02002025 */ move $a0, $s0 -/* 07CEC4 7F048394 10000004 */ b .L7F0483A8 -/* 07CEC8 7F048398 922F0003 */ lbu $t7, 3($s1) -.L7F04839C: -/* 07CECC 7F04839C 0FC14D66 */ jal sub_GAME_7F053598 -/* 07CED0 7F0483A0 02002025 */ move $a0, $s0 -.L7F0483A4: -/* 07CED4 7F0483A4 922F0003 */ lbu $t7, 3($s1) -.L7F0483A8: -/* 07CED8 7F0483A8 2410002D */ li $s0, 45 -/* 07CEDC 7F0483AC 560F0008 */ bnel $s0, $t7, .L7F0483D0 -/* 07CEE0 7F0483B0 8E23000C */ lw $v1, 0xc($s1) -/* 07CEE4 7F0483B4 0FC1F3A1 */ jal get_ptr_for_players_tank -/* 07CEE8 7F0483B8 00000000 */ nop -/* 07CEEC 7F0483BC 54530004 */ bnel $v0, $s3, .L7F0483D0 -/* 07CEF0 7F0483C0 8E23000C */ lw $v1, 0xc($s1) -/* 07CEF4 7F0483C4 10000019 */ b .L7F04842C -/* 07CEF8 7F0483C8 24030001 */ li $v1, 1 -/* 07CEFC 7F0483CC 8E23000C */ lw $v1, 0xc($s1) -.L7F0483D0: -/* 07CF00 7F0483D0 00034140 */ sll $t0, $v1, 5 -/* 07CF04 7F0483D4 05030004 */ bgezl $t0, .L7F0483E8 -/* 07CF08 7F0483D8 8E2B0064 */ lw $t3, 0x64($s1) -/* 07CF0C 7F0483DC 10000013 */ b .L7F04842C -/* 07CF10 7F0483E0 24030001 */ li $v1, 1 -/* 07CF14 7F0483E4 8E2B0064 */ lw $t3, 0x64($s1) -.L7F0483E8: -/* 07CF18 7F0483E8 0003CB00 */ sll $t9, $v1, 0xc -/* 07CF1C 7F0483EC 00001825 */ move $v1, $zero -/* 07CF20 7F0483F0 31690800 */ andi $t1, $t3, 0x800 -/* 07CF24 7F0483F4 1520000D */ bnez $t1, .L7F04842C -/* 07CF28 7F0483F8 00000000 */ nop -/* 07CF2C 7F0483FC 0720000B */ bltz $t9, .L7F04842C -/* 07CF30 7F048400 02802025 */ move $a0, $s4 -/* 07CF34 7F048404 262C0058 */ addiu $t4, $s1, 0x58 -/* 07CF38 7F048408 0FC1B403 */ jal getinstsize -/* 07CF3C 7F04840C AFAC0070 */ sw $t4, 0x70($sp) -/* 07CF40 7F048410 44060000 */ mfc1 $a2, $f0 -/* 07CF44 7F048414 02602025 */ move $a0, $s3 -/* 07CF48 7F048418 8FA50070 */ lw $a1, 0x70($sp) -/* 07CF4C 7F04841C 0FC1535B */ jal sub_GAME_7F054D6C -/* 07CF50 7F048420 8FA70670 */ lw $a3, 0x670($sp) -/* 07CF54 7F048424 10000001 */ b .L7F04842C -/* 07CF58 7F048428 00401825 */ move $v1, $v0 -.L7F04842C: -/* 07CF5C 7F04842C 1060037A */ beqz $v1, .L7F049218 -/* 07CF60 7F048430 8FAA0678 */ lw $t2, 0x678($sp) -/* 07CF64 7F048434 11400003 */ beqz $t2, .L7F048444 -/* 07CF68 7F048438 26240078 */ addiu $a0, $s1, 0x78 -/* 07CF6C 7F04843C 0FC100C4 */ jal update_color_shading -/* 07CF70 7F048440 2625007C */ addiu $a1, $s1, 0x7c -.L7F048444: -/* 07CF74 7F048444 926E0001 */ lbu $t6, 1($s3) -/* 07CF78 7F048448 35CD0002 */ ori $t5, $t6, 2 -/* 07CF7C 7F04844C A26D0001 */ sb $t5, 1($s3) -/* 07CF80 7F048450 8E980008 */ lw $t8, 8($s4) -/* 07CF84 7F048454 8704000E */ lh $a0, 0xe($t8) -/* 07CF88 7F048458 00047980 */ sll $t7, $a0, 6 -/* 07CF8C 7F04845C 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 07CF90 7F048460 01E02025 */ move $a0, $t7 -/* 07CF94 7F048464 AE82000C */ sw $v0, 0xc($s4) -/* 07CF98 7F048468 92280003 */ lbu $t0, 3($s1) -/* 07CF9C 7F04846C 24010001 */ li $at, 1 -/* 07CFA0 7F048470 00409025 */ move $s2, $v0 -/* 07CFA4 7F048474 150100AD */ bne $t0, $at, .L7F04872C -/* 07CFA8 7F048478 26240018 */ addiu $a0, $s1, 0x18 -/* 07CFAC 7F04847C 8E640004 */ lw $a0, 4($s3) -/* 07CFB0 7F048480 00402825 */ move $a1, $v0 -/* 07CFB4 7F048484 0FC149BB */ jal sub_GAME_7F0526EC -/* 07CFB8 7F048488 AFA4039C */ sw $a0, 0x39c($sp) -/* 07CFBC 7F04848C 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07CFC0 7F048490 00000000 */ nop -/* 07CFC4 7F048494 00402025 */ move $a0, $v0 -/* 07CFC8 7F048498 0FC16026 */ jal sub_GAME_7F058098 -/* 07CFCC 7F04849C 02402825 */ move $a1, $s2 -/* 07CFD0 7F0484A0 8E820008 */ lw $v0, 8($s4) -/* 07CFD4 7F0484A4 3C0B8004 */ lui $t3, %hi(prop_eyelid_door_related) -/* 07CFD8 7F0484A8 256BA100 */ addiu $t3, %lo(prop_eyelid_door_related) # addiu $t3, $t3, -0x5f00 -/* 07CFDC 7F0484AC 8C430004 */ lw $v1, 4($v0) -/* 07CFE0 7F0484B0 3C0D8004 */ lui $t5, %hi(prop_iris_door_related) -/* 07CFE4 7F0484B4 8FA6039C */ lw $a2, 0x39c($sp) -/* 07CFE8 7F0484B8 15630025 */ bne $t3, $v1, .L7F048550 -/* 07CFEC 7F0484BC 25ADA15C */ addiu $t5, %lo(prop_iris_door_related) # addiu $t5, $t5, -0x5ea4 -/* 07CFF0 7F0484C0 C4CA00B4 */ lwc1 $f10, 0xb4($a2) -/* 07CFF4 7F0484C4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07CFF8 7F0484C8 44812000 */ mtc1 $at, $f4 -/* 07CFFC 7F0484CC 46145202 */ mul.s $f8, $f10, $f20 -/* 07D000 7F0484D0 8C490008 */ lw $t1, 8($v0) -/* 07D004 7F0484D4 26450040 */ addiu $a1, $s2, 0x40 -/* 07D008 7F0484D8 8D390004 */ lw $t9, 4($t1) -/* 07D00C 7F0484DC 46044183 */ div.s $f6, $f8, $f4 -/* 07D010 7F0484E0 8F300004 */ lw $s0, 4($t9) -/* 07D014 7F0484E4 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D018 7F0484E8 4606A301 */ sub.s $f12, $f20, $f6 -/* 07D01C 7F0484EC 0FC1615C */ jal sub_GAME_7F058570 -/* 07D020 7F0484F0 E7AC0394 */ swc1 $f12, 0x394($sp) -/* 07D024 7F0484F4 02002025 */ move $a0, $s0 -/* 07D028 7F0484F8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D02C 7F0484FC 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D030 7F048500 02402025 */ move $a0, $s2 -/* 07D034 7F048504 0FC1601A */ jal sub_GAME_7F058068 -/* 07D038 7F048508 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D03C 7F04850C 8E8C0008 */ lw $t4, 8($s4) -/* 07D040 7F048510 C7AA0394 */ lwc1 $f10, 0x394($sp) -/* 07D044 7F048514 26450080 */ addiu $a1, $s2, 0x80 -/* 07D048 7F048518 8D8A0008 */ lw $t2, 8($t4) -/* 07D04C 7F04851C 460AA301 */ sub.s $f12, $f20, $f10 -/* 07D050 7F048520 8D4E0008 */ lw $t6, 8($t2) -/* 07D054 7F048524 8DD00004 */ lw $s0, 4($t6) -/* 07D058 7F048528 0FC1615C */ jal sub_GAME_7F058570 -/* 07D05C 7F04852C AFA50068 */ sw $a1, 0x68($sp) -/* 07D060 7F048530 02002025 */ move $a0, $s0 -/* 07D064 7F048534 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D068 7F048538 8FA50068 */ lw $a1, 0x68($sp) -/* 07D06C 7F04853C 02402025 */ move $a0, $s2 -/* 07D070 7F048540 0FC1601A */ jal sub_GAME_7F058068 -/* 07D074 7F048544 8FA50068 */ lw $a1, 0x68($sp) -/* 07D078 7F048548 1000031F */ b .L7F0491C8 -/* 07D07C 7F04854C 8E8F0008 */ lw $t7, 8($s4) -.L7F048550: -/* 07D080 7F048550 55A3031D */ bnel $t5, $v1, .L7F0491C8 -/* 07D084 7F048554 8E8F0008 */ lw $t7, 8($s4) -/* 07D088 7F048558 C4C200B4 */ lwc1 $f2, 0xb4($a2) -/* 07D08C 7F04855C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07D090 7F048560 44812000 */ mtc1 $at, $f4 -/* 07D094 7F048564 46141202 */ mul.s $f8, $f2, $f20 -/* 07D098 7F048568 3C018005 */ lui $at, %hi(D_80052B68) -/* 07D09C 7F04856C C42A2B68 */ lwc1 $f10, %lo(D_80052B68)($at) -/* 07D0A0 7F048570 4600B386 */ mov.s $f14, $f22 -/* 07D0A4 7F048574 46044183 */ div.s $f6, $f8, $f4 -/* 07D0A8 7F048578 E7A60384 */ swc1 $f6, 0x384($sp) -/* 07D0AC 7F04857C C4CC0084 */ lwc1 $f12, 0x84($a2) -/* 07D0B0 7F048580 460A6002 */ mul.s $f0, $f12, $f10 -/* 07D0B4 7F048584 4602003C */ c.lt.s $f0, $f2 -/* 07D0B8 7F048588 00000000 */ nop -/* 07D0BC 7F04858C 4502001F */ bc1fl .L7F04860C -/* 07D0C0 7F048590 8FA80678 */ lw $t0, 0x678($sp) -/* 07D0C4 7F048594 46001201 */ sub.s $f8, $f2, $f0 -/* 07D0C8 7F048598 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07D0CC 7F04859C 8FB80678 */ lw $t8, 0x678($sp) -/* 07D0D0 7F0485A0 46006181 */ sub.s $f6, $f12, $f0 -/* 07D0D4 7F0485A4 46086102 */ mul.s $f4, $f12, $f8 -/* 07D0D8 7F0485A8 46062283 */ div.s $f10, $f4, $f6 -/* 07D0DC 7F0485AC 44812000 */ mtc1 $at, $f4 -/* 07D0E0 7F0485B0 46145202 */ mul.s $f8, $f10, $f20 -/* 07D0E4 7F0485B4 46044383 */ div.s $f14, $f8, $f4 -/* 07D0E8 7F0485B8 13000011 */ beqz $t8, .L7F048600 -/* 07D0EC 7F0485BC E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D0F0 7F0485C0 C7A6067C */ lwc1 $f6, 0x67c($sp) -/* 07D0F4 7F0485C4 E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D0F8 7F0485C8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07D0FC 7F0485CC 4600303E */ c.le.s $f6, $f0 -/* 07D100 7F0485D0 240500CA */ li $a1, 202 -/* 07D104 7F0485D4 00003025 */ move $a2, $zero -/* 07D108 7F0485D8 266F0008 */ addiu $t7, $s3, 8 -/* 07D10C 7F0485DC 45000008 */ bc1f .L7F048600 -/* 07D110 7F0485E0 00000000 */ nop -/* 07D114 7F0485E4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07D118 7F0485E8 AFAF0070 */ sw $t7, 0x70($sp) -/* 07D11C 7F0485EC 0C002382 */ jal play_sfx_a1 -/* 07D120 7F0485F0 E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D124 7F0485F4 00402025 */ move $a0, $v0 -/* 07D128 7F0485F8 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07D12C 7F0485FC 8FA50070 */ lw $a1, 0x70($sp) -.L7F048600: -/* 07D130 7F048600 10000016 */ b .L7F04865C -/* 07D134 7F048604 AFA0038C */ sw $zero, 0x38c($sp) -/* 07D138 7F048608 8FA80678 */ lw $t0, 0x678($sp) -.L7F04860C: -/* 07D13C 7F04860C E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D140 7F048610 51000012 */ beql $t0, $zero, .L7F04865C -/* 07D144 7F048614 AFA0038C */ sw $zero, 0x38c($sp) -/* 07D148 7F048618 C7AA067C */ lwc1 $f10, 0x67c($sp) -/* 07D14C 7F04861C E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D150 7F048620 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07D154 7F048624 460A003C */ c.lt.s $f0, $f10 -/* 07D158 7F048628 240500CB */ li $a1, 203 -/* 07D15C 7F04862C 00003025 */ move $a2, $zero -/* 07D160 7F048630 266B0008 */ addiu $t3, $s3, 8 -/* 07D164 7F048634 45020009 */ bc1fl .L7F04865C -/* 07D168 7F048638 AFA0038C */ sw $zero, 0x38c($sp) -/* 07D16C 7F04863C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07D170 7F048640 AFAB0070 */ sw $t3, 0x70($sp) -/* 07D174 7F048644 0C002382 */ jal play_sfx_a1 -/* 07D178 7F048648 E7AE0380 */ swc1 $f14, 0x380($sp) -/* 07D17C 7F04864C 00402025 */ move $a0, $v0 -/* 07D180 7F048650 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07D184 7F048654 8FA50070 */ lw $a1, 0x70($sp) -/* 07D188 7F048658 AFA0038C */ sw $zero, 0x38c($sp) -.L7F04865C: -/* 07D18C 7F04865C 8E890008 */ lw $t1, 8($s4) -/* 07D190 7F048660 8FA3038C */ lw $v1, 0x38c($sp) -/* 07D194 7F048664 C7AC0380 */ lwc1 $f12, 0x380($sp) -/* 07D198 7F048668 8D390008 */ lw $t9, 8($t1) -/* 07D19C 7F04866C 00031040 */ sll $v0, $v1, 1 -/* 07D1A0 7F048670 00026080 */ sll $t4, $v0, 2 -/* 07D1A4 7F048674 032C5021 */ addu $t2, $t9, $t4 -/* 07D1A8 7F048678 8D4E0004 */ lw $t6, 4($t2) -/* 07D1AC 7F04867C 0002C180 */ sll $t8, $v0, 6 -/* 07D1B0 7F048680 02582821 */ addu $a1, $s2, $t8 -/* 07D1B4 7F048684 8DCD0004 */ lw $t5, 4($t6) -/* 07D1B8 7F048688 AFA20074 */ sw $v0, 0x74($sp) -/* 07D1BC 7F04868C 24A50040 */ addiu $a1, $a1, 0x40 -/* 07D1C0 7F048690 0FC161A2 */ jal sub_GAME_7F058688 -/* 07D1C4 7F048694 AFAD0390 */ sw $t5, 0x390($sp) -/* 07D1C8 7F048698 8FAF0074 */ lw $t7, 0x74($sp) -/* 07D1CC 7F04869C 8FB0038C */ lw $s0, 0x38c($sp) -/* 07D1D0 7F0486A0 8FA40390 */ lw $a0, 0x390($sp) -/* 07D1D4 7F0486A4 000F4180 */ sll $t0, $t7, 6 -/* 07D1D8 7F0486A8 02482821 */ addu $a1, $s2, $t0 -/* 07D1DC 7F0486AC 24A50040 */ addiu $a1, $a1, 0x40 -/* 07D1E0 7F0486B0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D1E4 7F0486B4 AFA50070 */ sw $a1, 0x70($sp) -/* 07D1E8 7F0486B8 02402025 */ move $a0, $s2 -/* 07D1EC 7F0486BC 0FC1601A */ jal sub_GAME_7F058068 -/* 07D1F0 7F0486C0 8FA50070 */ lw $a1, 0x70($sp) -/* 07D1F4 7F0486C4 8E8B0008 */ lw $t3, 8($s4) -/* 07D1F8 7F0486C8 8FA20074 */ lw $v0, 0x74($sp) -/* 07D1FC 7F0486CC C7AC0384 */ lwc1 $f12, 0x384($sp) -/* 07D200 7F0486D0 8D690008 */ lw $t1, 8($t3) -/* 07D204 7F0486D4 24420002 */ addiu $v0, $v0, 2 -/* 07D208 7F0486D8 0002C880 */ sll $t9, $v0, 2 -/* 07D20C 7F0486DC 01396021 */ addu $t4, $t1, $t9 -/* 07D210 7F0486E0 8D8A0000 */ lw $t2, ($t4) -/* 07D214 7F0486E4 00026980 */ sll $t5, $v0, 6 -/* 07D218 7F0486E8 024D2821 */ addu $a1, $s2, $t5 -/* 07D21C 7F0486EC 8D4E0004 */ lw $t6, 4($t2) -/* 07D220 7F0486F0 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D224 7F0486F4 0FC161A2 */ jal sub_GAME_7F058688 -/* 07D228 7F0486F8 AFAE0390 */ sw $t6, 0x390($sp) -/* 07D22C 7F0486FC 8FA40390 */ lw $a0, 0x390($sp) -/* 07D230 7F048700 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D234 7F048704 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D238 7F048708 8FA40070 */ lw $a0, 0x70($sp) -/* 07D23C 7F04870C 0FC1601A */ jal sub_GAME_7F058068 -/* 07D240 7F048710 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D244 7F048714 26100001 */ addiu $s0, $s0, 1 -/* 07D248 7F048718 24010006 */ li $at, 6 -/* 07D24C 7F04871C 1601FFCF */ bne $s0, $at, .L7F04865C -/* 07D250 7F048720 AFB0038C */ sw $s0, 0x38c($sp) -/* 07D254 7F048724 100002A8 */ b .L7F0491C8 -/* 07D258 7F048728 8E8F0008 */ lw $t7, 8($s4) -.L7F04872C: -/* 07D25C 7F04872C 26380058 */ addiu $t8, $s1, 0x58 -/* 07D260 7F048730 AFB80070 */ sw $t8, 0x70($sp) -/* 07D264 7F048734 0FC16008 */ jal sub_GAME_7F058020 -/* 07D268 7F048738 27A503A4 */ addiu $a1, $sp, 0x3a4 -/* 07D26C 7F04873C 8FA40070 */ lw $a0, 0x70($sp) -/* 07D270 7F048740 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D274 7F048744 27A503A4 */ addiu $a1, $sp, 0x3a4 -/* 07D278 7F048748 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07D27C 7F04874C 00000000 */ nop -/* 07D280 7F048750 00402025 */ move $a0, $v0 -/* 07D284 7F048754 27A503A4 */ addiu $a1, $sp, 0x3a4 -/* 07D288 7F048758 0FC16063 */ jal sub_GAME_7F05818C -/* 07D28C 7F04875C 02403025 */ move $a2, $s2 -/* 07D290 7F048760 92220003 */ lbu $v0, 3($s1) -/* 07D294 7F048764 24010006 */ li $at, 6 -/* 07D298 7F048768 27A50320 */ addiu $a1, $sp, 0x320 -/* 07D29C 7F04876C 5441002D */ bnel $v0, $at, .L7F048824 -/* 07D2A0 7F048770 2401000D */ li $at, 13 -/* 07D2A4 7F048774 8E620004 */ lw $v0, 4($s3) -/* 07D2A8 7F048778 8E8F0008 */ lw $t7, 8($s4) -/* 07D2AC 7F04877C C44C00C8 */ lwc1 $f12, 0xc8($v0) -/* 07D2B0 7F048780 8DE80008 */ lw $t0, 8($t7) -/* 07D2B4 7F048784 4616603C */ c.lt.s $f12, $f22 -/* 07D2B8 7F048788 8D0B0000 */ lw $t3, ($t0) -/* 07D2BC 7F04878C 45000003 */ bc1f .L7F04879C -/* 07D2C0 7F048790 8D700004 */ lw $s0, 4($t3) -/* 07D2C4 7F048794 10000006 */ b .L7F0487B0 -/* 07D2C8 7F048798 46146300 */ add.s $f12, $f12, $f20 -.L7F04879C: -/* 07D2CC 7F04879C 460CA03E */ c.le.s $f20, $f12 -/* 07D2D0 7F0487A0 00000000 */ nop -/* 07D2D4 7F0487A4 45000002 */ bc1f .L7F0487B0 -/* 07D2D8 7F0487A8 00000000 */ nop -/* 07D2DC 7F0487AC 46146301 */ sub.s $f12, $f12, $f20 -.L7F0487B0: -/* 07D2E0 7F0487B0 0FC1617F */ jal sub_GAME_7F0585FC -/* 07D2E4 7F0487B4 AFA20370 */ sw $v0, 0x370($sp) -/* 07D2E8 7F0487B8 8FA20370 */ lw $v0, 0x370($sp) -/* 07D2EC 7F0487BC 26460040 */ addiu $a2, $s2, 0x40 -/* 07D2F0 7F0487C0 AFA6006C */ sw $a2, 0x6c($sp) -/* 07D2F4 7F0487C4 27A40320 */ addiu $a0, $sp, 0x320 -/* 07D2F8 7F0487C8 0FC16032 */ jal sub_GAME_7F0580C8 -/* 07D2FC 7F0487CC 24450084 */ addiu $a1, $v0, 0x84 -/* 07D300 7F0487D0 C6080000 */ lwc1 $f8, ($s0) -/* 07D304 7F0487D4 27B20360 */ addiu $s2, $sp, 0x360 -/* 07D308 7F0487D8 02402825 */ move $a1, $s2 -/* 07D30C 7F0487DC E7A80360 */ swc1 $f8, 0x360($sp) -/* 07D310 7F0487E0 C6040004 */ lwc1 $f4, 4($s0) -/* 07D314 7F0487E4 27A403A4 */ addiu $a0, $sp, 0x3a4 -/* 07D318 7F0487E8 E7A40364 */ swc1 $f4, 0x364($sp) -/* 07D31C 7F0487EC C6060008 */ lwc1 $f6, 8($s0) -/* 07D320 7F0487F0 0FC1611D */ jal sub_GAME_7F058474 -/* 07D324 7F0487F4 E7A60368 */ swc1 $f6, 0x368($sp) -/* 07D328 7F0487F8 02402025 */ move $a0, $s2 -/* 07D32C 7F0487FC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D330 7F048800 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D334 7F048804 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07D338 7F048808 00000000 */ nop -/* 07D33C 7F04880C 00402025 */ move $a0, $v0 -/* 07D340 7F048810 0FC16026 */ jal sub_GAME_7F058098 -/* 07D344 7F048814 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D348 7F048818 1000026B */ b .L7F0491C8 -/* 07D34C 7F04881C 8E8F0008 */ lw $t7, 8($s4) -/* 07D350 7F048820 2401000D */ li $at, 13 -.L7F048824: -/* 07D354 7F048824 5441007F */ bnel $v0, $at, .L7F048A24 -/* 07D358 7F048828 24010008 */ li $at, 8 -/* 07D35C 7F04882C 8E620004 */ lw $v0, 4($s3) -/* 07D360 7F048830 3C018005 */ lui $at, %hi(D_80052B6C) -/* 07D364 7F048834 C4282B6C */ lwc1 $f8, %lo(D_80052B6C)($at) -/* 07D368 7F048838 C44A0090 */ lwc1 $f10, 0x90($v0) -/* 07D36C 7F04883C C444009C */ lwc1 $f4, 0x9c($v0) -/* 07D370 7F048840 46085300 */ add.s $f12, $f10, $f8 -/* 07D374 7F048844 46002187 */ neg.s $f6, $f4 -/* 07D378 7F048848 460CA03E */ c.le.s $f20, $f12 -/* 07D37C 7F04884C E7A60300 */ swc1 $f6, 0x300($sp) -/* 07D380 7F048850 45020003 */ bc1fl .L7F048860 -/* 07D384 7F048854 8E890008 */ lw $t1, 8($s4) -/* 07D388 7F048858 46146301 */ sub.s $f12, $f12, $f20 -/* 07D38C 7F04885C 8E890008 */ lw $t1, 8($s4) -.L7F048860: -/* 07D390 7F048860 27A403A4 */ addiu $a0, $sp, 0x3a4 -/* 07D394 7F048864 27A50308 */ addiu $a1, $sp, 0x308 -/* 07D398 7F048868 8D390008 */ lw $t9, 8($t1) -/* 07D39C 7F04886C 8F2C0004 */ lw $t4, 4($t9) -/* 07D3A0 7F048870 8D900004 */ lw $s0, 4($t4) -/* 07D3A4 7F048874 C60A0000 */ lwc1 $f10, ($s0) -/* 07D3A8 7F048878 E7AA0308 */ swc1 $f10, 0x308($sp) -/* 07D3AC 7F04887C C6080004 */ lwc1 $f8, 4($s0) -/* 07D3B0 7F048880 E7A8030C */ swc1 $f8, 0x30c($sp) -/* 07D3B4 7F048884 C6040008 */ lwc1 $f4, 8($s0) -/* 07D3B8 7F048888 E7AC0304 */ swc1 $f12, 0x304($sp) -/* 07D3BC 7F04888C AFA20318 */ sw $v0, 0x318($sp) -/* 07D3C0 7F048890 0FC1611D */ jal sub_GAME_7F058474 -/* 07D3C4 7F048894 E7A40310 */ swc1 $f4, 0x310($sp) -/* 07D3C8 7F048898 26450040 */ addiu $a1, $s2, 0x40 -/* 07D3CC 7F04889C C7AC0304 */ lwc1 $f12, 0x304($sp) -/* 07D3D0 7F0488A0 0FC1617F */ jal sub_GAME_7F0585FC -/* 07D3D4 7F0488A4 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D3D8 7F0488A8 27A40308 */ addiu $a0, $sp, 0x308 -/* 07D3DC 7F0488AC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D3E0 7F0488B0 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D3E4 7F0488B4 8FAA0318 */ lw $t2, 0x318($sp) -/* 07D3E8 7F0488B8 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D3EC 7F0488BC 8D4E0014 */ lw $t6, 0x14($t2) -/* 07D3F0 7F0488C0 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 07D3F4 7F0488C4 C5CC0014 */ lwc1 $f12, 0x14($t6) -/* 07D3F8 7F0488C8 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07D3FC 7F0488CC 00000000 */ nop -/* 07D400 7F0488D0 00402025 */ move $a0, $v0 -/* 07D404 7F0488D4 0FC16026 */ jal sub_GAME_7F058098 -/* 07D408 7F0488D8 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D40C 7F0488DC 8E8D0008 */ lw $t5, 8($s4) -/* 07D410 7F0488E0 26450080 */ addiu $a1, $s2, 0x80 -/* 07D414 7F0488E4 C7AC0300 */ lwc1 $f12, 0x300($sp) -/* 07D418 7F0488E8 8DB80008 */ lw $t8, 8($t5) -/* 07D41C 7F0488EC 8F0F0008 */ lw $t7, 8($t8) -/* 07D420 7F0488F0 8DF00004 */ lw $s0, 4($t7) -/* 07D424 7F0488F4 0FC161A2 */ jal sub_GAME_7F058688 -/* 07D428 7F0488F8 AFA50068 */ sw $a1, 0x68($sp) -/* 07D42C 7F0488FC 02002025 */ move $a0, $s0 -/* 07D430 7F048900 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D434 7F048904 8FA50068 */ lw $a1, 0x68($sp) -/* 07D438 7F048908 8FA4006C */ lw $a0, 0x6c($sp) -/* 07D43C 7F04890C 0FC16026 */ jal sub_GAME_7F058098 -/* 07D440 7F048910 8FA50068 */ lw $a1, 0x68($sp) -/* 07D444 7F048914 8E880008 */ lw $t0, 8($s4) -/* 07D448 7F048918 02802025 */ move $a0, $s4 -/* 07D44C 7F04891C 8D030008 */ lw $v1, 8($t0) -/* 07D450 7F048920 8C65000C */ lw $a1, 0xc($v1) -/* 07D454 7F048924 50A00016 */ beql $a1, $zero, .L7F048980 -/* 07D458 7F048928 8C650010 */ lw $a1, 0x10($v1) -/* 07D45C 7F04892C 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07D460 7F048930 00003025 */ move $a2, $zero -/* 07D464 7F048934 AFA202FC */ sw $v0, 0x2fc($sp) -/* 07D468 7F048938 8E8B0008 */ lw $t3, 8($s4) -/* 07D46C 7F04893C 8FAC0318 */ lw $t4, 0x318($sp) -/* 07D470 7F048940 00402825 */ move $a1, $v0 -/* 07D474 7F048944 8D690008 */ lw $t1, 8($t3) -/* 07D478 7F048948 C58C00B4 */ lwc1 $f12, 0xb4($t4) -/* 07D47C 7F04894C 8D39000C */ lw $t9, 0xc($t1) -/* 07D480 7F048950 0FC1615C */ jal sub_GAME_7F058570 -/* 07D484 7F048954 8F300004 */ lw $s0, 4($t9) -/* 07D488 7F048958 8FB202FC */ lw $s2, 0x2fc($sp) -/* 07D48C 7F04895C 02002025 */ move $a0, $s0 -/* 07D490 7F048960 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D494 7F048964 02402825 */ move $a1, $s2 -/* 07D498 7F048968 8FA40068 */ lw $a0, 0x68($sp) -/* 07D49C 7F04896C 0FC16026 */ jal sub_GAME_7F058098 -/* 07D4A0 7F048970 02402825 */ move $a1, $s2 -/* 07D4A4 7F048974 8E8A0008 */ lw $t2, 8($s4) -/* 07D4A8 7F048978 8D430008 */ lw $v1, 8($t2) -/* 07D4AC 7F04897C 8C650010 */ lw $a1, 0x10($v1) -.L7F048980: -/* 07D4B0 7F048980 02802025 */ move $a0, $s4 -/* 07D4B4 7F048984 50A00010 */ beql $a1, $zero, .L7F0489C8 -/* 07D4B8 7F048988 8C650018 */ lw $a1, 0x18($v1) -/* 07D4BC 7F04898C 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07D4C0 7F048990 00003025 */ move $a2, $zero -/* 07D4C4 7F048994 8E8E0008 */ lw $t6, 8($s4) -/* 07D4C8 7F048998 00409025 */ move $s2, $v0 -/* 07D4CC 7F04899C 00402825 */ move $a1, $v0 -/* 07D4D0 7F0489A0 8DCD0008 */ lw $t5, 8($t6) -/* 07D4D4 7F0489A4 8DB80010 */ lw $t8, 0x10($t5) -/* 07D4D8 7F0489A8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07D4DC 7F0489AC 8F040004 */ lw $a0, 4($t8) -/* 07D4E0 7F0489B0 8FA40068 */ lw $a0, 0x68($sp) -/* 07D4E4 7F0489B4 0FC16026 */ jal sub_GAME_7F058098 -/* 07D4E8 7F0489B8 02402825 */ move $a1, $s2 -/* 07D4EC 7F0489BC 8E8F0008 */ lw $t7, 8($s4) -/* 07D4F0 7F0489C0 8DE30008 */ lw $v1, 8($t7) -/* 07D4F4 7F0489C4 8C650018 */ lw $a1, 0x18($v1) -.L7F0489C8: -/* 07D4F8 7F0489C8 02802025 */ move $a0, $s4 -/* 07D4FC 7F0489CC 50A001FE */ beql $a1, $zero, .L7F0491C8 -/* 07D500 7F0489D0 8E8F0008 */ lw $t7, 8($s4) -/* 07D504 7F0489D4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07D508 7F0489D8 00003025 */ move $a2, $zero -/* 07D50C 7F0489DC 8E880008 */ lw $t0, 8($s4) -/* 07D510 7F0489E0 8FB90318 */ lw $t9, 0x318($sp) -/* 07D514 7F0489E4 00409025 */ move $s2, $v0 -/* 07D518 7F0489E8 8D0B0008 */ lw $t3, 8($t0) -/* 07D51C 7F0489EC 00402825 */ move $a1, $v0 -/* 07D520 7F0489F0 C72C00B4 */ lwc1 $f12, 0xb4($t9) -/* 07D524 7F0489F4 8D690018 */ lw $t1, 0x18($t3) -/* 07D528 7F0489F8 0FC1615C */ jal sub_GAME_7F058570 -/* 07D52C 7F0489FC 8D300004 */ lw $s0, 4($t1) -/* 07D530 7F048A00 02002025 */ move $a0, $s0 -/* 07D534 7F048A04 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D538 7F048A08 02402825 */ move $a1, $s2 -/* 07D53C 7F048A0C 8FA40068 */ lw $a0, 0x68($sp) -/* 07D540 7F048A10 0FC16026 */ jal sub_GAME_7F058098 -/* 07D544 7F048A14 02402825 */ move $a1, $s2 -/* 07D548 7F048A18 100001EB */ b .L7F0491C8 -/* 07D54C 7F048A1C 8E8F0008 */ lw $t7, 8($s4) -/* 07D550 7F048A20 24010008 */ li $at, 8 -.L7F048A24: -/* 07D554 7F048A24 54410017 */ bnel $v0, $at, .L7F048A84 -/* 07D558 7F048A28 2401000C */ li $at, 12 -/* 07D55C 7F048A2C 8E8C0008 */ lw $t4, 8($s4) -/* 07D560 7F048A30 24020001 */ li $v0, 1 -/* 07D564 7F048A34 26440040 */ addiu $a0, $s2, 0x40 -/* 07D568 7F048A38 858A000E */ lh $t2, 0xe($t4) -/* 07D56C 7F048A3C 29410002 */ slti $at, $t2, 2 -/* 07D570 7F048A40 542001E1 */ bnezl $at, .L7F0491C8 -/* 07D574 7F048A44 8E8F0008 */ lw $t7, 8($s4) -/* 07D578 7F048A48 AFA202F8 */ sw $v0, 0x2f8($sp) -.L7F048A4C: -/* 07D57C 7F048A4C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 -/* 07D580 7F048A50 AFA40074 */ sw $a0, 0x74($sp) -/* 07D584 7F048A54 8E8E0008 */ lw $t6, 8($s4) -/* 07D588 7F048A58 8FA202F8 */ lw $v0, 0x2f8($sp) -/* 07D58C 7F048A5C 8FA40074 */ lw $a0, 0x74($sp) -/* 07D590 7F048A60 85CD000E */ lh $t5, 0xe($t6) -/* 07D594 7F048A64 24420001 */ addiu $v0, $v0, 1 -/* 07D598 7F048A68 24840040 */ addiu $a0, $a0, 0x40 -/* 07D59C 7F048A6C 004D082A */ slt $at, $v0, $t5 -/* 07D5A0 7F048A70 5420FFF6 */ bnezl $at, .L7F048A4C -/* 07D5A4 7F048A74 AFA202F8 */ sw $v0, 0x2f8($sp) -/* 07D5A8 7F048A78 100001D3 */ b .L7F0491C8 -/* 07D5AC 7F048A7C 8E8F0008 */ lw $t7, 8($s4) -/* 07D5B0 7F048A80 2401000C */ li $at, 12 -.L7F048A84: -/* 07D5B4 7F048A84 5441002C */ bnel $v0, $at, .L7F048B38 -/* 07D5B8 7F048A88 24010027 */ li $at, 39 -/* 07D5BC 7F048A8C 8E980008 */ lw $t8, 8($s4) -/* 07D5C0 7F048A90 26450040 */ addiu $a1, $s2, 0x40 -/* 07D5C4 7F048A94 8F0F0008 */ lw $t7, 8($t8) -/* 07D5C8 7F048A98 8DE80000 */ lw $t0, ($t7) -/* 07D5CC 7F048A9C 8D040004 */ lw $a0, 4($t0) -/* 07D5D0 7F048AA0 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07D5D4 7F048AA4 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D5D8 7F048AA8 02402025 */ move $a0, $s2 -/* 07D5DC 7F048AAC 0FC16026 */ jal sub_GAME_7F058098 -/* 07D5E0 7F048AB0 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D5E4 7F048AB4 8E8B0008 */ lw $t3, 8($s4) -/* 07D5E8 7F048AB8 26450080 */ addiu $a1, $s2, 0x80 -/* 07D5EC 7F048ABC 8D690008 */ lw $t1, 8($t3) -/* 07D5F0 7F048AC0 8D390004 */ lw $t9, 4($t1) -/* 07D5F4 7F048AC4 8F240004 */ lw $a0, 4($t9) -/* 07D5F8 7F048AC8 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07D5FC 7F048ACC AFA50068 */ sw $a1, 0x68($sp) -/* 07D600 7F048AD0 02402025 */ move $a0, $s2 -/* 07D604 7F048AD4 0FC16026 */ jal sub_GAME_7F058098 -/* 07D608 7F048AD8 8FA50068 */ lw $a1, 0x68($sp) -/* 07D60C 7F048ADC 8E8C0008 */ lw $t4, 8($s4) -/* 07D610 7F048AE0 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07D614 7F048AE4 8D8A0008 */ lw $t2, 8($t4) -/* 07D618 7F048AE8 8D4E0008 */ lw $t6, 8($t2) -/* 07D61C 7F048AEC 8DC40004 */ lw $a0, 4($t6) -/* 07D620 7F048AF0 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07D624 7F048AF4 AFA50074 */ sw $a1, 0x74($sp) -/* 07D628 7F048AF8 02402025 */ move $a0, $s2 -/* 07D62C 7F048AFC 0FC16026 */ jal sub_GAME_7F058098 -/* 07D630 7F048B00 8FA50074 */ lw $a1, 0x74($sp) -/* 07D634 7F048B04 8E8D0008 */ lw $t5, 8($s4) -/* 07D638 7F048B08 26500100 */ addiu $s0, $s2, 0x100 -/* 07D63C 7F048B0C 02002825 */ move $a1, $s0 -/* 07D640 7F048B10 8DB80008 */ lw $t8, 8($t5) -/* 07D644 7F048B14 8F0F000C */ lw $t7, 0xc($t8) -/* 07D648 7F048B18 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07D64C 7F048B1C 8DE40004 */ lw $a0, 4($t7) -/* 07D650 7F048B20 02402025 */ move $a0, $s2 -/* 07D654 7F048B24 0FC16026 */ jal sub_GAME_7F058098 -/* 07D658 7F048B28 02002825 */ move $a1, $s0 -/* 07D65C 7F048B2C 100001A6 */ b .L7F0491C8 -/* 07D660 7F048B30 8E8F0008 */ lw $t7, 8($s4) -/* 07D664 7F048B34 24010027 */ li $at, 39 -.L7F048B38: -/* 07D668 7F048B38 544100B9 */ bnel $v0, $at, .L7F048E20 -/* 07D66C 7F048B3C 24010028 */ li $at, 40 -/* 07D670 7F048B40 8E880008 */ lw $t0, 8($s4) -/* 07D674 7F048B44 8FAF0678 */ lw $t7, 0x678($sp) -/* 07D678 7F048B48 4600B006 */ mov.s $f0, $f22 -/* 07D67C 7F048B4C 8D030008 */ lw $v1, 8($t0) -/* 07D680 7F048B50 8C6B0004 */ lw $t3, 4($v1) -/* 07D684 7F048B54 8D690004 */ lw $t1, 4($t3) -/* 07D688 7F048B58 AFA90260 */ sw $t1, 0x260($sp) -/* 07D68C 7F048B5C 8C790008 */ lw $t9, 8($v1) -/* 07D690 7F048B60 8F2C0004 */ lw $t4, 4($t9) -/* 07D694 7F048B64 AFAC025C */ sw $t4, 0x25c($sp) -/* 07D698 7F048B68 8C6E0010 */ lw $t6, 0x10($v1) -/* 07D69C 7F048B6C 8C6A000C */ lw $t2, 0xc($v1) -/* 07D6A0 7F048B70 8DCD0004 */ lw $t5, 4($t6) -/* 07D6A4 7F048B74 8D500004 */ lw $s0, 4($t2) -/* 07D6A8 7F048B78 AFAD0254 */ sw $t5, 0x254($sp) -/* 07D6AC 7F048B7C 8C780018 */ lw $t8, 0x18($v1) -/* 07D6B0 7F048B80 C6840014 */ lwc1 $f4, 0x14($s4) -/* 07D6B4 7F048B84 8F020004 */ lw $v0, 4($t8) -/* 07D6B8 7F048B88 C4460010 */ lwc1 $f6, 0x10($v0) -/* 07D6BC 7F048B8C C44A000C */ lwc1 $f10, 0xc($v0) -/* 07D6C0 7F048B90 460A3201 */ sub.s $f8, $f6, $f10 -/* 07D6C4 7F048B94 46044082 */ mul.s $f2, $f8, $f4 -/* 07D6C8 7F048B98 11E00026 */ beqz $t7, .L7F048C34 -/* 07D6CC 7F048B9C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07D6D0 7F048BA0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07D6D4 7F048BA4 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07D6D8 7F048BA8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07D6DC 7F048BAC 460A3202 */ mul.s $f8, $f6, $f10 -/* 07D6E0 7F048BB0 44815000 */ mtc1 $at, $f10 -/* 07D6E4 7F048BB4 46144102 */ mul.s $f4, $f8, $f20 -/* 07D6E8 7F048BB8 00000000 */ nop -/* 07D6EC 7F048BBC 46141182 */ mul.s $f6, $f2, $f20 -/* 07D6F0 7F048BC0 00000000 */ nop -/* 07D6F4 7F048BC4 460A3202 */ mul.s $f8, $f6, $f10 -/* 07D6F8 7F048BC8 C626008C */ lwc1 $f6, 0x8c($s1) -/* 07D6FC 7F048BCC 46082003 */ div.s $f0, $f4, $f8 -/* 07D700 7F048BD0 46003280 */ add.s $f10, $f6, $f0 -/* 07D704 7F048BD4 E62A008C */ swc1 $f10, 0x8c($s1) -/* 07D708 7F048BD8 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D70C 7F048BDC 460CA03E */ c.le.s $f20, $f12 -/* 07D710 7F048BE0 00000000 */ nop -/* 07D714 7F048BE4 45000008 */ bc1f .L7F048C08 -/* 07D718 7F048BE8 00000000 */ nop -/* 07D71C 7F048BEC 46146101 */ sub.s $f4, $f12, $f20 -.L7F048BF0: -/* 07D720 7F048BF0 E624008C */ swc1 $f4, 0x8c($s1) -/* 07D724 7F048BF4 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D728 7F048BF8 460CA03E */ c.le.s $f20, $f12 -/* 07D72C 7F048BFC 00000000 */ nop -/* 07D730 7F048C00 4503FFFB */ bc1tl .L7F048BF0 -/* 07D734 7F048C04 46146101 */ sub.s $f4, $f12, $f20 -.L7F048C08: -/* 07D738 7F048C08 4616603C */ c.lt.s $f12, $f22 -/* 07D73C 7F048C0C 00000000 */ nop -/* 07D740 7F048C10 45020009 */ bc1fl .L7F048C38 -/* 07D744 7F048C14 C626008C */ lwc1 $f6, 0x8c($s1) -/* 07D748 7F048C18 46146200 */ add.s $f8, $f12, $f20 -.L7F048C1C: -/* 07D74C 7F048C1C E628008C */ swc1 $f8, 0x8c($s1) -/* 07D750 7F048C20 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D754 7F048C24 4616603C */ c.lt.s $f12, $f22 -/* 07D758 7F048C28 00000000 */ nop -/* 07D75C 7F048C2C 4503FFFB */ bc1tl .L7F048C1C -/* 07D760 7F048C30 46146200 */ add.s $f8, $f12, $f20 -.L7F048C34: -/* 07D764 7F048C34 C626008C */ lwc1 $f6, 0x8c($s1) -.L7F048C38: -/* 07D768 7F048C38 46003280 */ add.s $f10, $f6, $f0 -/* 07D76C 7F048C3C E62A008C */ swc1 $f10, 0x8c($s1) -/* 07D770 7F048C40 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D774 7F048C44 460CA03E */ c.le.s $f20, $f12 -/* 07D778 7F048C48 00000000 */ nop -/* 07D77C 7F048C4C 45020009 */ bc1fl .L7F048C74 -/* 07D780 7F048C50 4616603C */ c.lt.s $f12, $f22 -/* 07D784 7F048C54 46146101 */ sub.s $f4, $f12, $f20 -.L7F048C58: -/* 07D788 7F048C58 E624008C */ swc1 $f4, 0x8c($s1) -/* 07D78C 7F048C5C C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D790 7F048C60 460CA03E */ c.le.s $f20, $f12 -/* 07D794 7F048C64 00000000 */ nop -/* 07D798 7F048C68 4503FFFB */ bc1tl .L7F048C58 -/* 07D79C 7F048C6C 46146101 */ sub.s $f4, $f12, $f20 -/* 07D7A0 7F048C70 4616603C */ c.lt.s $f12, $f22 -.L7F048C74: -/* 07D7A4 7F048C74 00000000 */ nop -/* 07D7A8 7F048C78 45000008 */ bc1f .L7F048C9C -/* 07D7AC 7F048C7C 00000000 */ nop -/* 07D7B0 7F048C80 46146200 */ add.s $f8, $f12, $f20 -.L7F048C84: -/* 07D7B4 7F048C84 E628008C */ swc1 $f8, 0x8c($s1) -/* 07D7B8 7F048C88 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D7BC 7F048C8C 4616603C */ c.lt.s $f12, $f22 -/* 07D7C0 7F048C90 00000000 */ nop -/* 07D7C4 7F048C94 4503FFFB */ bc1tl .L7F048C84 -/* 07D7C8 7F048C98 46146200 */ add.s $f8, $f12, $f20 -.L7F048C9C: -/* 07D7CC 7F048C9C 0FC1615C */ jal sub_GAME_7F058570 -/* 07D7D0 7F048CA0 27A502AC */ addiu $a1, $sp, 0x2ac -/* 07D7D4 7F048CA4 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07D7D8 7F048CA8 4606B03C */ c.lt.s $f22, $f6 -/* 07D7DC 7F048CAC 00000000 */ nop -/* 07D7E0 7F048CB0 4502002B */ bc1fl .L7F048D60 -/* 07D7E4 7F048CB4 C62C0090 */ lwc1 $f12, 0x90($s1) -/* 07D7E8 7F048CB8 8FA80260 */ lw $t0, 0x260($sp) -/* 07D7EC 7F048CBC C60A0008 */ lwc1 $f10, 8($s0) -/* 07D7F0 7F048CC0 C62C009C */ lwc1 $f12, 0x9c($s1) -/* 07D7F4 7F048CC4 C5040008 */ lwc1 $f4, 8($t0) -/* 07D7F8 7F048CC8 C6860014 */ lwc1 $f6, 0x14($s4) -/* 07D7FC 7F048CCC 4616603C */ c.lt.s $f12, $f22 -/* 07D800 7F048CD0 46045201 */ sub.s $f8, $f10, $f4 -/* 07D804 7F048CD4 46064082 */ mul.s $f2, $f8, $f6 -/* 07D808 7F048CD8 45020003 */ bc1fl .L7F048CE8 -/* 07D80C 7F048CDC E7A20250 */ swc1 $f2, 0x250($sp) -/* 07D810 7F048CE0 46006307 */ neg.s $f12, $f12 -/* 07D814 7F048CE4 E7A20250 */ swc1 $f2, 0x250($sp) -.L7F048CE8: -/* 07D818 7F048CE8 0FC15FAB */ jal sinf -/* 07D81C 7F048CEC E7AC024C */ swc1 $f12, 0x24c($sp) -/* 07D820 7F048CF0 C7A20250 */ lwc1 $f2, 0x250($sp) -/* 07D824 7F048CF4 C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 07D828 7F048CF8 46020282 */ mul.s $f10, $f0, $f2 -/* 07D82C 7F048CFC 0FC15FA8 */ jal cosf -/* 07D830 7F048D00 E7AA0248 */ swc1 $f10, 0x248($sp) -/* 07D834 7F048D04 C7A20250 */ lwc1 $f2, 0x250($sp) -/* 07D838 7F048D08 C6280088 */ lwc1 $f8, 0x88($s1) -/* 07D83C 7F048D0C C7AC0248 */ lwc1 $f12, 0x248($sp) -/* 07D840 7F048D10 46020102 */ mul.s $f4, $f0, $f2 -/* 07D844 7F048D14 46081181 */ sub.s $f6, $f2, $f8 -/* 07D848 7F048D18 0FC16A8C */ jal convert_angle_using_inverse -/* 07D84C 7F048D1C 46062381 */ sub.s $f14, $f4, $f6 -/* 07D850 7F048D20 C7A2024C */ lwc1 $f2, 0x24c($sp) -/* 07D854 7F048D24 E6200090 */ swc1 $f0, 0x90($s1) -/* 07D858 7F048D28 4602003C */ c.lt.s $f0, $f2 -/* 07D85C 7F048D2C 00000000 */ nop -/* 07D860 7F048D30 45020003 */ bc1fl .L7F048D40 -/* 07D864 7F048D34 C62A009C */ lwc1 $f10, 0x9c($s1) -/* 07D868 7F048D38 E6220090 */ swc1 $f2, 0x90($s1) -/* 07D86C 7F048D3C C62A009C */ lwc1 $f10, 0x9c($s1) -.L7F048D40: -/* 07D870 7F048D40 460AB03C */ c.lt.s $f22, $f10 -/* 07D874 7F048D44 00000000 */ nop -/* 07D878 7F048D48 45020005 */ bc1fl .L7F048D60 -/* 07D87C 7F048D4C C62C0090 */ lwc1 $f12, 0x90($s1) -/* 07D880 7F048D50 C6280090 */ lwc1 $f8, 0x90($s1) -/* 07D884 7F048D54 4608A101 */ sub.s $f4, $f20, $f8 -/* 07D888 7F048D58 E6240090 */ swc1 $f4, 0x90($s1) -/* 07D88C 7F048D5C C62C0090 */ lwc1 $f12, 0x90($s1) -.L7F048D60: -/* 07D890 7F048D60 0FC1617F */ jal sub_GAME_7F0585FC -/* 07D894 7F048D64 27A5026C */ addiu $a1, $sp, 0x26c -/* 07D898 7F048D68 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07D89C 7F048D6C AFA50074 */ sw $a1, 0x74($sp) -/* 07D8A0 7F048D70 0FC16008 */ jal sub_GAME_7F058020 -/* 07D8A4 7F048D74 27A402AC */ addiu $a0, $sp, 0x2ac -/* 07D8A8 7F048D78 02002025 */ move $a0, $s0 -/* 07D8AC 7F048D7C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D8B0 7F048D80 8FA50074 */ lw $a1, 0x74($sp) -/* 07D8B4 7F048D84 02402025 */ move $a0, $s2 -/* 07D8B8 7F048D88 0FC16026 */ jal sub_GAME_7F058098 -/* 07D8BC 7F048D8C 8FA50074 */ lw $a1, 0x74($sp) -/* 07D8C0 7F048D90 26500100 */ addiu $s0, $s2, 0x100 -/* 07D8C4 7F048D94 02002825 */ move $a1, $s0 -/* 07D8C8 7F048D98 0FC16008 */ jal sub_GAME_7F058020 -/* 07D8CC 7F048D9C 27A402AC */ addiu $a0, $sp, 0x2ac -/* 07D8D0 7F048DA0 8FA40254 */ lw $a0, 0x254($sp) -/* 07D8D4 7F048DA4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D8D8 7F048DA8 02002825 */ move $a1, $s0 -/* 07D8DC 7F048DAC 02402025 */ move $a0, $s2 -/* 07D8E0 7F048DB0 0FC16026 */ jal sub_GAME_7F058098 -/* 07D8E4 7F048DB4 02002825 */ move $a1, $s0 -/* 07D8E8 7F048DB8 27A4026C */ addiu $a0, $sp, 0x26c -/* 07D8EC 7F048DBC 0FC16026 */ jal sub_GAME_7F058098 -/* 07D8F0 7F048DC0 27A502AC */ addiu $a1, $sp, 0x2ac -/* 07D8F4 7F048DC4 26450040 */ addiu $a1, $s2, 0x40 -/* 07D8F8 7F048DC8 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D8FC 7F048DCC 0FC16008 */ jal sub_GAME_7F058020 -/* 07D900 7F048DD0 27A402AC */ addiu $a0, $sp, 0x2ac -/* 07D904 7F048DD4 8FA40260 */ lw $a0, 0x260($sp) -/* 07D908 7F048DD8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D90C 7F048DDC 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D910 7F048DE0 02402025 */ move $a0, $s2 -/* 07D914 7F048DE4 0FC16026 */ jal sub_GAME_7F058098 -/* 07D918 7F048DE8 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D91C 7F048DEC 26450080 */ addiu $a1, $s2, 0x80 -/* 07D920 7F048DF0 AFA50068 */ sw $a1, 0x68($sp) -/* 07D924 7F048DF4 0FC16008 */ jal sub_GAME_7F058020 -/* 07D928 7F048DF8 27A402AC */ addiu $a0, $sp, 0x2ac -/* 07D92C 7F048DFC 8FA4025C */ lw $a0, 0x25c($sp) -/* 07D930 7F048E00 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D934 7F048E04 8FA50068 */ lw $a1, 0x68($sp) -/* 07D938 7F048E08 02402025 */ move $a0, $s2 -/* 07D93C 7F048E0C 0FC16026 */ jal sub_GAME_7F058098 -/* 07D940 7F048E10 8FA50068 */ lw $a1, 0x68($sp) -/* 07D944 7F048E14 100000EC */ b .L7F0491C8 -/* 07D948 7F048E18 8E8F0008 */ lw $t7, 8($s4) -/* 07D94C 7F048E1C 24010028 */ li $at, 40 -.L7F048E20: -/* 07D950 7F048E20 14410086 */ bne $v0, $at, .L7F04903C -/* 07D954 7F048E24 00000000 */ nop -/* 07D958 7F048E28 8E8B0008 */ lw $t3, 8($s4) -/* 07D95C 7F048E2C 3C0A8005 */ lui $t2, %hi(clock_timer) -/* 07D960 7F048E30 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) -/* 07D964 7F048E34 8D690008 */ lw $t1, 8($t3) -/* 07D968 7F048E38 8FAE0678 */ lw $t6, 0x678($sp) -/* 07D96C 7F048E3C 27B001B0 */ addiu $s0, $sp, 0x1b0 -/* 07D970 7F048E40 8D390008 */ lw $t9, 8($t1) -/* 07D974 7F048E44 3C0F8003 */ lui $t7, %hi(D_80030B34) -/* 07D978 7F048E48 02402025 */ move $a0, $s2 -/* 07D97C 7F048E4C 8F2C0004 */ lw $t4, 4($t9) -/* 07D980 7F048E50 26450040 */ addiu $a1, $s2, 0x40 -/* 07D984 7F048E54 1940001E */ blez $t2, .L7F048ED0 -/* 07D988 7F048E58 AFAC01FC */ sw $t4, 0x1fc($sp) -/* 07D98C 7F048E5C 51C0001D */ beql $t6, $zero, .L7F048ED4 -/* 07D990 7F048E60 8E2D0014 */ lw $t5, 0x14($s1) -/* 07D994 7F048E64 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07D998 7F048E68 C62A008C */ lwc1 $f10, 0x8c($s1) -/* 07D99C 7F048E6C 460A3200 */ add.s $f8, $f6, $f10 -/* 07D9A0 7F048E70 E6280088 */ swc1 $f8, 0x88($s1) -/* 07D9A4 7F048E74 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07D9A8 7F048E78 4600A03E */ c.le.s $f20, $f0 -/* 07D9AC 7F048E7C 00000000 */ nop -/* 07D9B0 7F048E80 45020009 */ bc1fl .L7F048EA8 -/* 07D9B4 7F048E84 4616003C */ c.lt.s $f0, $f22 -/* 07D9B8 7F048E88 46140101 */ sub.s $f4, $f0, $f20 -.L7F048E8C: -/* 07D9BC 7F048E8C E6240088 */ swc1 $f4, 0x88($s1) -/* 07D9C0 7F048E90 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07D9C4 7F048E94 4600A03E */ c.le.s $f20, $f0 -/* 07D9C8 7F048E98 00000000 */ nop -/* 07D9CC 7F048E9C 4503FFFB */ bc1tl .L7F048E8C -/* 07D9D0 7F048EA0 46140101 */ sub.s $f4, $f0, $f20 -/* 07D9D4 7F048EA4 4616003C */ c.lt.s $f0, $f22 -.L7F048EA8: -/* 07D9D8 7F048EA8 00000000 */ nop -/* 07D9DC 7F048EAC 45020009 */ bc1fl .L7F048ED4 -/* 07D9E0 7F048EB0 8E2D0014 */ lw $t5, 0x14($s1) -/* 07D9E4 7F048EB4 46140180 */ add.s $f6, $f0, $f20 -.L7F048EB8: -/* 07D9E8 7F048EB8 E6260088 */ swc1 $f6, 0x88($s1) -/* 07D9EC 7F048EBC C6200088 */ lwc1 $f0, 0x88($s1) -/* 07D9F0 7F048EC0 4616003C */ c.lt.s $f0, $f22 -/* 07D9F4 7F048EC4 00000000 */ nop -/* 07D9F8 7F048EC8 4503FFFB */ bc1tl .L7F048EB8 -/* 07D9FC 7F048ECC 46140180 */ add.s $f6, $f0, $f20 -.L7F048ED0: -/* 07DA00 7F048ED0 8E2D0014 */ lw $t5, 0x14($s1) -.L7F048ED4: -/* 07DA04 7F048ED4 25EF0B34 */ addiu $t7, %lo(D_80030B34) # addiu $t7, $t7, 0xb34 -/* 07DA08 7F048ED8 25EB003C */ addiu $t3, $t7, 0x3c -/* 07DA0C 7F048EDC 8DB80020 */ lw $t8, 0x20($t5) -/* 07DA10 7F048EE0 02004825 */ move $t1, $s0 -/* 07DA14 7F048EE4 13000015 */ beqz $t8, .L7F048F3C -/* 07DA18 7F048EE8 00000000 */ nop -.L7F048EEC: -/* 07DA1C 7F048EEC 8DE10000 */ lw $at, ($t7) -/* 07DA20 7F048EF0 25EF000C */ addiu $t7, $t7, 0xc -/* 07DA24 7F048EF4 2529000C */ addiu $t1, $t1, 0xc -/* 07DA28 7F048EF8 AD21FFF4 */ sw $at, -0xc($t1) -/* 07DA2C 7F048EFC 8DE1FFF8 */ lw $at, -8($t7) -/* 07DA30 7F048F00 AD21FFF8 */ sw $at, -8($t1) -/* 07DA34 7F048F04 8DE1FFFC */ lw $at, -4($t7) -/* 07DA38 7F048F08 15EBFFF8 */ bne $t7, $t3, .L7F048EEC -/* 07DA3C 7F048F0C AD21FFFC */ sw $at, -4($t1) -/* 07DA40 7F048F10 8DE10000 */ lw $at, ($t7) -/* 07DA44 7F048F14 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 07DA48 7F048F18 AD210000 */ sw $at, ($t1) -/* 07DA4C 7F048F1C AFA201B0 */ sw $v0, 0x1b0($sp) -/* 07DA50 7F048F20 AFB201C0 */ sw $s2, 0x1c0($sp) -/* 07DA54 7F048F24 8E250014 */ lw $a1, 0x14($s1) -/* 07DA58 7F048F28 0FC1BCBE */ jal subcalcmatrices -/* 07DA5C 7F048F2C 02002025 */ move $a0, $s0 -/* 07DA60 7F048F30 26590040 */ addiu $t9, $s2, 0x40 -/* 07DA64 7F048F34 10000003 */ b .L7F048F44 -/* 07DA68 7F048F38 AFB9006C */ sw $t9, 0x6c($sp) -.L7F048F3C: -/* 07DA6C 7F048F3C 0FC16008 */ jal sub_GAME_7F058020 -/* 07DA70 7F048F40 AFA5006C */ sw $a1, 0x6c($sp) -.L7F048F44: -/* 07DA74 7F048F44 8E2C0008 */ lw $t4, 8($s1) -/* 07DA78 7F048F48 27A50200 */ addiu $a1, $sp, 0x200 -/* 07DA7C 7F048F4C 000C5080 */ sll $t2, $t4, 2 -/* 07DA80 7F048F50 05410006 */ bgez $t2, .L7F048F6C -/* 07DA84 7F048F54 00000000 */ nop -/* 07DA88 7F048F58 C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DA8C 7F048F5C 0FC161A2 */ jal sub_GAME_7F058688 -/* 07DA90 7F048F60 27A50200 */ addiu $a1, $sp, 0x200 -/* 07DA94 7F048F64 10000004 */ b .L7F048F78 -/* 07DA98 7F048F68 26450080 */ addiu $a1, $s2, 0x80 -.L7F048F6C: -/* 07DA9C 7F048F6C 0FC1617F */ jal sub_GAME_7F0585FC -/* 07DAA0 7F048F70 C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DAA4 7F048F74 26450080 */ addiu $a1, $s2, 0x80 -.L7F048F78: -/* 07DAA8 7F048F78 AFA50068 */ sw $a1, 0x68($sp) -/* 07DAAC 7F048F7C 0FC16008 */ jal sub_GAME_7F058020 -/* 07DAB0 7F048F80 27A40200 */ addiu $a0, $sp, 0x200 -/* 07DAB4 7F048F84 8FA401FC */ lw $a0, 0x1fc($sp) -/* 07DAB8 7F048F88 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DABC 7F048F8C 8FA50068 */ lw $a1, 0x68($sp) -/* 07DAC0 7F048F90 8FA4006C */ lw $a0, 0x6c($sp) -/* 07DAC4 7F048F94 0FC16026 */ jal sub_GAME_7F058098 -/* 07DAC8 7F048F98 8FA50068 */ lw $a1, 0x68($sp) -/* 07DACC 7F048F9C 8E8E0008 */ lw $t6, 8($s4) -/* 07DAD0 7F048FA0 02802025 */ move $a0, $s4 -/* 07DAD4 7F048FA4 00003025 */ move $a2, $zero -/* 07DAD8 7F048FA8 8DC30008 */ lw $v1, 8($t6) -/* 07DADC 7F048FAC 8C65000C */ lw $a1, 0xc($v1) -/* 07DAE0 7F048FB0 50A00013 */ beql $a1, $zero, .L7F049000 -/* 07DAE4 7F048FB4 8C650010 */ lw $a1, 0x10($v1) -/* 07DAE8 7F048FB8 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07DAEC 7F048FBC 8CB20004 */ lw $s2, 4($a1) -/* 07DAF0 7F048FC0 00408025 */ move $s0, $v0 -/* 07DAF4 7F048FC4 C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DAF8 7F048FC8 0FC1615C */ jal sub_GAME_7F058570 -/* 07DAFC 7F048FCC 27A50200 */ addiu $a1, $sp, 0x200 -/* 07DB00 7F048FD0 27A40200 */ addiu $a0, $sp, 0x200 -/* 07DB04 7F048FD4 0FC16008 */ jal sub_GAME_7F058020 -/* 07DB08 7F048FD8 02002825 */ move $a1, $s0 -/* 07DB0C 7F048FDC 02402025 */ move $a0, $s2 -/* 07DB10 7F048FE0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DB14 7F048FE4 02002825 */ move $a1, $s0 -/* 07DB18 7F048FE8 8FA4006C */ lw $a0, 0x6c($sp) -/* 07DB1C 7F048FEC 0FC16026 */ jal sub_GAME_7F058098 -/* 07DB20 7F048FF0 02002825 */ move $a1, $s0 -/* 07DB24 7F048FF4 8E8D0008 */ lw $t5, 8($s4) -/* 07DB28 7F048FF8 8DA30008 */ lw $v1, 8($t5) -/* 07DB2C 7F048FFC 8C650010 */ lw $a1, 0x10($v1) -.L7F049000: -/* 07DB30 7F049000 02802025 */ move $a0, $s4 -/* 07DB34 7F049004 00003025 */ move $a2, $zero -/* 07DB38 7F049008 50A0006F */ beql $a1, $zero, .L7F0491C8 -/* 07DB3C 7F04900C 8E8F0008 */ lw $t7, 8($s4) -/* 07DB40 7F049010 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07DB44 7F049014 8CB20004 */ lw $s2, 4($a1) -/* 07DB48 7F049018 00408025 */ move $s0, $v0 -/* 07DB4C 7F04901C 02402025 */ move $a0, $s2 -/* 07DB50 7F049020 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07DB54 7F049024 00402825 */ move $a1, $v0 -/* 07DB58 7F049028 8FA4006C */ lw $a0, 0x6c($sp) -/* 07DB5C 7F04902C 0FC16026 */ jal sub_GAME_7F058098 -/* 07DB60 7F049030 02002825 */ move $a1, $s0 -/* 07DB64 7F049034 10000064 */ b .L7F0491C8 -/* 07DB68 7F049038 8E8F0008 */ lw $t7, 8($s4) -.L7F04903C: -/* 07DB6C 7F04903C 16020061 */ bne $s0, $v0, .L7F0491C4 -/* 07DB70 7F049040 26450040 */ addiu $a1, $s2, 0x40 -/* 07DB74 7F049044 8E980008 */ lw $t8, 8($s4) -/* 07DB78 7F049048 8F030008 */ lw $v1, 8($t8) -/* 07DB7C 7F04904C 8C6B000C */ lw $t3, 0xc($v1) -/* 07DB80 7F049050 8C680004 */ lw $t0, 4($v1) -/* 07DB84 7F049054 8D6F0004 */ lw $t7, 4($t3) -/* 07DB88 7F049058 8D100004 */ lw $s0, 4($t0) -/* 07DB8C 7F04905C AFAF0164 */ sw $t7, 0x164($sp) -/* 07DB90 7F049060 8C690010 */ lw $t1, 0x10($v1) -/* 07DB94 7F049064 8D390004 */ lw $t9, 4($t1) -/* 07DB98 7F049068 AFB90160 */ sw $t9, 0x160($sp) -/* 07DB9C 7F04906C 8C6C0008 */ lw $t4, 8($v1) -/* 07DBA0 7F049070 8D8A0004 */ lw $t2, 4($t4) -/* 07DBA4 7F049074 AFAA015C */ sw $t2, 0x15c($sp) -/* 07DBA8 7F049078 8C6E0018 */ lw $t6, 0x18($v1) -/* 07DBAC 7F04907C 8DCD0004 */ lw $t5, 4($t6) -/* 07DBB0 7F049080 AFAD0158 */ sw $t5, 0x158($sp) -/* 07DBB4 7F049084 C62E00C8 */ lwc1 $f14, 0xc8($s1) -/* 07DBB8 7F049088 46007387 */ neg.s $f14, $f14 -/* 07DBBC 7F04908C 4616703C */ c.lt.s $f14, $f22 -/* 07DBC0 7F049090 00000000 */ nop -/* 07DBC4 7F049094 45020003 */ bc1fl .L7F0490A4 -/* 07DBC8 7F049098 C62C00CC */ lwc1 $f12, 0xcc($s1) -/* 07DBCC 7F04909C 46147380 */ add.s $f14, $f14, $f20 -/* 07DBD0 7F0490A0 C62C00CC */ lwc1 $f12, 0xcc($s1) -.L7F0490A4: -/* 07DBD4 7F0490A4 46006307 */ neg.s $f12, $f12 -/* 07DBD8 7F0490A8 4616603C */ c.lt.s $f12, $f22 -/* 07DBDC 7F0490AC 00000000 */ nop -/* 07DBE0 7F0490B0 45020003 */ bc1fl .L7F0490C0 -/* 07DBE4 7F0490B4 AFA5006C */ sw $a1, 0x6c($sp) -/* 07DBE8 7F0490B8 46146300 */ add.s $f12, $f12, $f20 -/* 07DBEC 7F0490BC AFA5006C */ sw $a1, 0x6c($sp) -.L7F0490C0: -/* 07DBF0 7F0490C0 0FC1617F */ jal sub_GAME_7F0585FC -/* 07DBF4 7F0490C4 E7AE0154 */ swc1 $f14, 0x154($sp) -/* 07DBF8 7F0490C8 02002025 */ move $a0, $s0 -/* 07DBFC 7F0490CC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DC00 7F0490D0 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DC04 7F0490D4 02402025 */ move $a0, $s2 -/* 07DC08 7F0490D8 0FC16026 */ jal sub_GAME_7F058098 -/* 07DC0C 7F0490DC 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DC10 7F0490E0 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07DC14 7F0490E4 C7AC0154 */ lwc1 $f12, 0x154($sp) -/* 07DC18 7F0490E8 0FC1615C */ jal sub_GAME_7F058570 -/* 07DC1C 7F0490EC AFA50074 */ sw $a1, 0x74($sp) -/* 07DC20 7F0490F0 8FA40164 */ lw $a0, 0x164($sp) -/* 07DC24 7F0490F4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DC28 7F0490F8 8FA50074 */ lw $a1, 0x74($sp) -/* 07DC2C 7F0490FC 8FA4006C */ lw $a0, 0x6c($sp) -/* 07DC30 7F049100 0FC16026 */ jal sub_GAME_7F058098 -/* 07DC34 7F049104 8FA50074 */ lw $a1, 0x74($sp) -/* 07DC38 7F049108 3C018005 */ lui $at, %hi(D_80052B70) -/* 07DC3C 7F04910C 26500100 */ addiu $s0, $s2, 0x100 -/* 07DC40 7F049110 02002825 */ move $a1, $s0 -/* 07DC44 7F049114 0FC1617F */ jal sub_GAME_7F0585FC -/* 07DC48 7F049118 C42C2B70 */ lwc1 $f12, %lo(D_80052B70)($at) -/* 07DC4C 7F04911C 8FA40160 */ lw $a0, 0x160($sp) -/* 07DC50 7F049120 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DC54 7F049124 02002825 */ move $a1, $s0 -/* 07DC58 7F049128 8FA40074 */ lw $a0, 0x74($sp) -/* 07DC5C 7F04912C 0FC16026 */ jal sub_GAME_7F058098 -/* 07DC60 7F049130 02002825 */ move $a1, $s0 -/* 07DC64 7F049134 26450080 */ addiu $a1, $s2, 0x80 -/* 07DC68 7F049138 AFA50068 */ sw $a1, 0x68($sp) -/* 07DC6C 7F04913C 0FC16259 */ jal init_something_copy_posdata_to_it -/* 07DC70 7F049140 8FA4015C */ lw $a0, 0x15c($sp) -/* 07DC74 7F049144 8FA4006C */ lw $a0, 0x6c($sp) -/* 07DC78 7F049148 0FC16026 */ jal sub_GAME_7F058098 -/* 07DC7C 7F04914C 8FA50068 */ lw $a1, 0x68($sp) -/* 07DC80 7F049150 0FC1E111 */ jal sub_GAME_7F078444 -/* 07DC84 7F049154 00000000 */ nop -/* 07DC88 7F049158 27B0016C */ addiu $s0, $sp, 0x16c -/* 07DC8C 7F04915C 02003025 */ move $a2, $s0 -/* 07DC90 7F049160 00402025 */ move $a0, $v0 -/* 07DC94 7F049164 0FC16063 */ jal sub_GAME_7F05818C -/* 07DC98 7F049168 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DC9C 7F04916C 8FA40158 */ lw $a0, 0x158($sp) -/* 07DCA0 7F049170 02002825 */ move $a1, $s0 -/* 07DCA4 7F049174 26260084 */ addiu $a2, $s1, 0x84 -/* 07DCA8 7F049178 0FC0FD50 */ jal sub_GAME_7F03F540 -/* 07DCAC 7F04917C 26270080 */ addiu $a3, $s1, 0x80 -/* 07DCB0 7F049180 8E980008 */ lw $t8, 8($s4) -/* 07DCB4 7F049184 8F030008 */ lw $v1, 8($t8) -/* 07DCB8 7F049188 8C65001C */ lw $a1, 0x1c($v1) -/* 07DCBC 7F04918C 50A00008 */ beql $a1, $zero, .L7F0491B0 -/* 07DCC0 7F049190 8C650020 */ lw $a1, 0x20($v1) -/* 07DCC4 7F049194 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07DCC8 7F049198 02802025 */ move $a0, $s4 -/* 07DCCC 7F04919C 8E2800C4 */ lw $t0, 0xc4($s1) -/* 07DCD0 7F0491A0 A4480000 */ sh $t0, ($v0) -/* 07DCD4 7F0491A4 8E8B0008 */ lw $t3, 8($s4) -/* 07DCD8 7F0491A8 8D630008 */ lw $v1, 8($t3) -/* 07DCDC 7F0491AC 8C650020 */ lw $a1, 0x20($v1) -.L7F0491B0: -/* 07DCE0 7F0491B0 50A00005 */ beql $a1, $zero, .L7F0491C8 -/* 07DCE4 7F0491B4 8E8F0008 */ lw $t7, 8($s4) -/* 07DCE8 7F0491B8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07DCEC 7F0491BC 02802025 */ move $a0, $s4 -/* 07DCF0 7F0491C0 AC400000 */ sw $zero, ($v0) -.L7F0491C4: -/* 07DCF4 7F0491C4 8E8F0008 */ lw $t7, 8($s4) -.L7F0491C8: -/* 07DCF8 7F0491C8 02802025 */ move $a0, $s4 -/* 07DCFC 7F0491CC 0FC1BBA9 */ jal sub_GAME_7F06EEA4 -/* 07DD00 7F0491D0 8DE50000 */ lw $a1, ($t7) -/* 07DD04 7F0491D4 8E89000C */ lw $t1, 0xc($s4) -/* 07DD08 7F0491D8 02602025 */ move $a0, $s3 -/* 07DD0C 7F0491DC C52A0038 */ lwc1 $f10, 0x38($t1) -/* 07DD10 7F0491E0 46005207 */ neg.s $f8, $f10 -/* 07DD14 7F0491E4 0FC10F5C */ jal handle_thrown_explosive_detonation -/* 07DD18 7F0491E8 E6680018 */ swc1 $f8, 0x18($s3) -/* 07DD1C 7F0491EC 8E640020 */ lw $a0, 0x20($s3) -/* 07DD20 7F0491F0 50800018 */ beql $a0, $zero, .L7F049254 -/* 07DD24 7F0491F4 8E230064 */ lw $v1, 0x64($s1) -/* 07DD28 7F0491F8 8C820024 */ lw $v0, 0x24($a0) -.L7F0491FC: -/* 07DD2C 7F0491FC 0FC110B7 */ jal sub_GAME_7F0442DC -/* 07DD30 7F049200 AFA20684 */ sw $v0, 0x684($sp) -/* 07DD34 7F049204 8FA40684 */ lw $a0, 0x684($sp) -/* 07DD38 7F049208 5480FFFC */ bnezl $a0, .L7F0491FC -/* 07DD3C 7F04920C 8C820024 */ lw $v0, 0x24($a0) -/* 07DD40 7F049210 10000010 */ b .L7F049254 -/* 07DD44 7F049214 8E230064 */ lw $v1, 0x64($s1) -.L7F049218: -/* 07DD48 7F049218 92790001 */ lbu $t9, 1($s3) -/* 07DD4C 7F04921C 02602025 */ move $a0, $s3 -/* 07DD50 7F049220 332CFFFD */ andi $t4, $t9, 0xfffd -/* 07DD54 7F049224 0FC10F5C */ jal handle_thrown_explosive_detonation -/* 07DD58 7F049228 A26C0001 */ sb $t4, 1($s3) -/* 07DD5C 7F04922C 8E640020 */ lw $a0, 0x20($s3) -/* 07DD60 7F049230 50800008 */ beql $a0, $zero, .L7F049254 -/* 07DD64 7F049234 8E230064 */ lw $v1, 0x64($s1) -/* 07DD68 7F049238 8C820024 */ lw $v0, 0x24($a0) -.L7F04923C: -/* 07DD6C 7F04923C 0FC11093 */ jal sub_GAME_7F04424C -/* 07DD70 7F049240 AFA20684 */ sw $v0, 0x684($sp) -/* 07DD74 7F049244 8FA40684 */ lw $a0, 0x684($sp) -/* 07DD78 7F049248 5480FFFC */ bnezl $a0, .L7F04923C -/* 07DD7C 7F04924C 8C820024 */ lw $v0, 0x24($a0) -/* 07DD80 7F049250 8E230064 */ lw $v1, 0x64($s1) -.L7F049254: -/* 07DD84 7F049254 2401FEFF */ li $at, -257 -/* 07DD88 7F049258 266D0008 */ addiu $t5, $s3, 8 -/* 07DD8C 7F04925C 306A0100 */ andi $t2, $v1, 0x100 -/* 07DD90 7F049260 1140001F */ beqz $t2, .L7F0492E0 -/* 07DD94 7F049264 00617024 */ and $t6, $v1, $at -/* 07DD98 7F049268 AE2E0064 */ sw $t6, 0x64($s1) -/* 07DD9C 7F04926C 0C002914 */ jal get_random_value -/* 07DDA0 7F049270 AFAD0070 */ sw $t5, 0x70($sp) -/* 07DDA4 7F049274 44822000 */ mtc1 $v0, $f4 -/* 07DDA8 7F049278 02202025 */ move $a0, $s1 -/* 07DDAC 7F04927C 04410005 */ bgez $v0, .L7F049294 -/* 07DDB0 7F049280 468021A0 */ cvt.s.w $f6, $f4 -/* 07DDB4 7F049284 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07DDB8 7F049288 44815000 */ mtc1 $at, $f10 -/* 07DDBC 7F04928C 00000000 */ nop -/* 07DDC0 7F049290 460A3180 */ add.s $f6, $f6, $f10 -.L7F049294: -/* 07DDC4 7F049294 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07DDC8 7F049298 44814000 */ mtc1 $at, $f8 -/* 07DDCC 7F04929C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07DDD0 7F0492A0 44815000 */ mtc1 $at, $f10 -/* 07DDD4 7F0492A4 46083102 */ mul.s $f4, $f6, $f8 -/* 07DDD8 7F0492A8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 07DDDC 7F0492AC 44814000 */ mtc1 $at, $f8 -/* 07DDE0 7F0492B0 8E380064 */ lw $t8, 0x64($s1) -/* 07DDE4 7F0492B4 3C010006 */ lui $at, 6 -/* 07DDE8 7F0492B8 8FA60070 */ lw $a2, 0x70($sp) -/* 07DDEC 7F0492BC 03014024 */ and $t0, $t8, $at -/* 07DDF0 7F0492C0 460A2182 */ mul.s $f6, $f4, $f10 -/* 07DDF4 7F0492C4 00003825 */ move $a3, $zero -/* 07DDF8 7F0492C8 00085C42 */ srl $t3, $t0, 0x11 -/* 07DDFC 7F0492CC AFAB0010 */ sw $t3, 0x10($sp) -/* 07DE00 7F0492D0 46083100 */ add.s $f4, $f6, $f8 -/* 07DE04 7F0492D4 44052000 */ mfc1 $a1, $f4 -/* 07DE08 7F0492D8 0FC13842 */ jal maybe_detonate_object -/* 07DE0C 7F0492DC 00000000 */ nop -.L7F0492E0: -/* 07DE10 7F0492E0 8FAF0678 */ lw $t7, 0x678($sp) -/* 07DE14 7F0492E4 51E0020D */ beql $t7, $zero, .L7F049B1C -/* 07DE18 7F0492E8 8FA90680 */ lw $t1, 0x680($sp) -/* 07DE1C 7F0492EC 92220003 */ lbu $v0, 3($s1) -/* 07DE20 7F0492F0 24010001 */ li $at, 1 -/* 07DE24 7F0492F4 54410006 */ bnel $v0, $at, .L7F049310 -/* 07DE28 7F0492F8 2401000D */ li $at, 13 -/* 07DE2C 7F0492FC 0FC14E8F */ jal sub_GAME_7F053A3C -/* 07DE30 7F049300 8E640004 */ lw $a0, 4($s3) -/* 07DE34 7F049304 10000202 */ b .L7F049B10 -/* 07DE38 7F049308 00000000 */ nop -/* 07DE3C 7F04930C 2401000D */ li $at, 13 -.L7F049310: -/* 07DE40 7F049310 144101FF */ bne $v0, $at, .L7F049B10 -/* 07DE44 7F049314 00000000 */ nop -/* 07DE48 7F049318 0FC2FF01 */ jal get_controls_locked_flag -/* 07DE4C 7F04931C 00000000 */ nop -/* 07DE50 7F049320 144001FB */ bnez $v0, .L7F049B10 -/* 07DE54 7F049324 00000000 */ nop -/* 07DE58 7F049328 8E700004 */ lw $s0, 4($s3) -/* 07DE5C 7F04932C AFA0013C */ sw $zero, 0x13c($sp) -/* 07DE60 7F049330 AFA00138 */ sw $zero, 0x138($sp) -/* 07DE64 7F049334 8E0900D0 */ lw $t1, 0xd0($s0) -/* 07DE68 7F049338 512001E4 */ beql $t1, $zero, .L7F049ACC -/* 07DE6C 7F04933C 8E980008 */ lw $t8, 8($s4) -/* 07DE70 7F049340 8E390008 */ lw $t9, 8($s1) -/* 07DE74 7F049344 001960C0 */ sll $t4, $t9, 3 -/* 07DE78 7F049348 058201E0 */ bltzl $t4, .L7F049ACC -/* 07DE7C 7F04934C 8E980008 */ lw $t8, 8($s4) -/* 07DE80 7F049350 8E0A00AC */ lw $t2, 0xac($s0) -/* 07DE84 7F049354 3C0C8005 */ lui $t4, %hi(global_timer) -/* 07DE88 7F049358 254E0001 */ addiu $t6, $t2, 1 -/* 07DE8C 7F04935C 31CD0001 */ andi $t5, $t6, 1 -/* 07DE90 7F049360 AE0E00AC */ sw $t6, 0xac($s0) -/* 07DE94 7F049364 2DB80001 */ sltiu $t8, $t5, 1 -/* 07DE98 7F049368 AFB8013C */ sw $t8, 0x13c($sp) -/* 07DE9C 7F04936C 8E880008 */ lw $t0, 8($s4) -/* 07DEA0 7F049370 39A90001 */ xori $t1, $t5, 1 -/* 07DEA4 7F049374 2D290001 */ sltiu $t1, $t1, 1 -/* 07DEA8 7F049378 8D0B0008 */ lw $t3, 8($t0) -/* 07DEAC 7F04937C 8D6F0014 */ lw $t7, 0x14($t3) -/* 07DEB0 7F049380 51E00003 */ beql $t7, $zero, .L7F049390 -/* 07DEB4 7F049384 8E1900C0 */ lw $t9, 0xc0($s0) -/* 07DEB8 7F049388 AFA90138 */ sw $t1, 0x138($sp) -/* 07DEBC 7F04938C 8E1900C0 */ lw $t9, 0xc0($s0) -.L7F049390: -/* 07DEC0 7F049390 8D8C837C */ lw $t4, %lo(global_timer)($t4) -/* 07DEC4 7F049394 032C082A */ slt $at, $t9, $t4 -/* 07DEC8 7F049398 50200032 */ beql $at, $zero, .L7F049464 -/* 07DECC 7F04939C 8FAF013C */ lw $t7, 0x13c($sp) -/* 07DED0 7F0493A0 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07DED4 7F0493A4 50800008 */ beql $a0, $zero, .L7F0493C8 -/* 07DED8 7F0493A8 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07DEDC 7F0493AC 0C00237C */ jal sfxGetArg0Unk3F -/* 07DEE0 7F0493B0 00000000 */ nop -/* 07DEE4 7F0493B4 50400004 */ beql $v0, $zero, .L7F0493C8 -/* 07DEE8 7F0493B8 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07DEEC 7F0493BC 0C002408 */ jal sfxDeactivate -/* 07DEF0 7F0493C0 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07DEF4 7F0493C4 8E0400C8 */ lw $a0, 0xc8($s0) -.L7F0493C8: -/* 07DEF8 7F0493C8 50800008 */ beql $a0, $zero, .L7F0493EC -/* 07DEFC 7F0493CC 8E0A00C4 */ lw $t2, 0xc4($s0) -/* 07DF00 7F0493D0 0C00237C */ jal sfxGetArg0Unk3F -/* 07DF04 7F0493D4 00000000 */ nop -/* 07DF08 7F0493D8 50400004 */ beql $v0, $zero, .L7F0493EC -/* 07DF0C 7F0493DC 8E0A00C4 */ lw $t2, 0xc4($s0) -/* 07DF10 7F0493E0 0C002408 */ jal sfxDeactivate -/* 07DF14 7F0493E4 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07DF18 7F0493E8 8E0A00C4 */ lw $t2, 0xc4($s0) -.L7F0493EC: -/* 07DF1C 7F0493EC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07DF20 7F0493F0 240500FD */ li $a1, 253 -/* 07DF24 7F0493F4 1540000A */ bnez $t2, .L7F049420 -/* 07DF28 7F0493F8 260600C4 */ addiu $a2, $s0, 0xc4 -/* 07DF2C 7F0493FC 266E0008 */ addiu $t6, $s3, 8 -/* 07DF30 7F049400 AFAE0070 */ sw $t6, 0x70($sp) -/* 07DF34 7F049404 0C002382 */ jal play_sfx_a1 -/* 07DF38 7F049408 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07DF3C 7F04940C 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07DF40 7F049410 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07DF44 7F049414 8FA50070 */ lw $a1, 0x70($sp) -/* 07DF48 7F049418 1000000D */ b .L7F049450 -/* 07DF4C 7F04941C 00000000 */ nop -.L7F049420: -/* 07DF50 7F049420 8E0D00C8 */ lw $t5, 0xc8($s0) -/* 07DF54 7F049424 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 07DF58 7F049428 240500FD */ li $a1, 253 -/* 07DF5C 7F04942C 15A00008 */ bnez $t5, .L7F049450 -/* 07DF60 7F049430 260600C8 */ addiu $a2, $s0, 0xc8 -/* 07DF64 7F049434 26780008 */ addiu $t8, $s3, 8 -/* 07DF68 7F049438 AFB80070 */ sw $t8, 0x70($sp) -/* 07DF6C 7F04943C 0C002382 */ jal play_sfx_a1 -/* 07DF70 7F049440 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07DF74 7F049444 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07DF78 7F049448 0FC14E84 */ jal sub_GAME_7F053A10 -/* 07DF7C 7F04944C 8FA50070 */ lw $a1, 0x70($sp) -.L7F049450: -/* 07DF80 7F049450 3C088005 */ lui $t0, %hi(global_timer) -/* 07DF84 7F049454 8D08837C */ lw $t0, %lo(global_timer)($t0) -/* 07DF88 7F049458 250B0002 */ addiu $t3, $t0, 2 -/* 07DF8C 7F04945C AE0B00C0 */ sw $t3, 0xc0($s0) -/* 07DF90 7F049460 8FAF013C */ lw $t7, 0x13c($sp) -.L7F049464: -/* 07DF94 7F049464 8FA90138 */ lw $t1, 0x138($sp) -/* 07DF98 7F049468 24190001 */ li $t9, 1 -/* 07DF9C 7F04946C 55E00004 */ bnezl $t7, .L7F049480 -/* 07DFA0 7F049470 AFB9011C */ sw $t9, 0x11c($sp) -/* 07DFA4 7F049474 51200195 */ beql $t1, $zero, .L7F049ACC -/* 07DFA8 7F049478 8E980008 */ lw $t8, 8($s4) -/* 07DFAC 7F04947C AFB9011C */ sw $t9, 0x11c($sp) -.L7F049480: -/* 07DFB0 7F049480 AFA0010C */ sw $zero, 0x10c($sp) -/* 07DFB4 7F049484 8E6C0014 */ lw $t4, 0x14($s3) -/* 07DFB8 7F049488 AFAC0108 */ sw $t4, 0x108($sp) -/* 07DFBC 7F04948C 8E0A00AC */ lw $t2, 0xac($s0) -/* 07DFC0 7F049490 314E0003 */ andi $t6, $t2, 3 -/* 07DFC4 7F049494 2DCD0001 */ sltiu $t5, $t6, 1 -/* 07DFC8 7F049498 0FC225E6 */ jal get_curplayer_positiondata -/* 07DFCC 7F04949C AFAD0104 */ sw $t5, 0x104($sp) -/* 07DFD0 7F0494A0 AFA20100 */ sw $v0, 0x100($sp) -/* 07DFD4 7F0494A4 8E980008 */ lw $t8, 8($s4) -/* 07DFD8 7F0494A8 24040005 */ li $a0, 5 -/* 07DFDC 7F0494AC 8F030008 */ lw $v1, 8($t8) -/* 07DFE0 7F0494B0 8C68001C */ lw $t0, 0x1c($v1) -/* 07DFE4 7F0494B4 51000007 */ beql $t0, $zero, .L7F0494D4 -/* 07DFE8 7F0494B8 92690001 */ lbu $t1, 1($s3) -/* 07DFEC 7F0494BC 8E0B00AC */ lw $t3, 0xac($s0) -/* 07DFF0 7F0494C0 316F0007 */ andi $t7, $t3, 7 -/* 07DFF4 7F0494C4 55E00003 */ bnezl $t7, .L7F0494D4 -/* 07DFF8 7F0494C8 92690001 */ lbu $t1, 1($s3) -/* 07DFFC 7F0494CC 24040007 */ li $a0, 7 -/* 07E000 7F0494D0 92690001 */ lbu $t1, 1($s3) -.L7F0494D4: -/* 07E004 7F0494D4 31390002 */ andi $t9, $t1, 2 -/* 07E008 7F0494D8 1320002D */ beqz $t9, .L7F049590 -/* 07E00C 7F0494DC 00048880 */ sll $s1, $a0, 2 -/* 07E010 7F0494E0 00716021 */ addu $t4, $v1, $s1 -/* 07E014 7F0494E4 8D850000 */ lw $a1, ($t4) -/* 07E018 7F0494E8 02802025 */ move $a0, $s4 -/* 07E01C 7F0494EC 50A00029 */ beql $a1, $zero, .L7F049594 -/* 07E020 7F0494F0 C6640008 */ lwc1 $f4, 8($s3) -/* 07E024 7F0494F4 0FC1B198 */ jal sub_GAME_7F06C660 -/* 07E028 7F0494F8 00003025 */ move $a2, $zero -/* 07E02C 7F0494FC 8E8A0008 */ lw $t2, 8($s4) -/* 07E030 7F049500 00409025 */ move $s2, $v0 -/* 07E034 7F049504 8D4E0008 */ lw $t6, 8($t2) -/* 07E038 7F049508 01D16821 */ addu $t5, $t6, $s1 -/* 07E03C 7F04950C 8DB80000 */ lw $t8, ($t5) -/* 07E040 7F049510 8F030004 */ lw $v1, 4($t8) -/* 07E044 7F049514 C46A0000 */ lwc1 $f10, ($v1) -/* 07E048 7F049518 E7AA012C */ swc1 $f10, 0x12c($sp) -/* 07E04C 7F04951C C4660004 */ lwc1 $f6, 4($v1) -/* 07E050 7F049520 E7A60130 */ swc1 $f6, 0x130($sp) -/* 07E054 7F049524 C4680008 */ lwc1 $f8, 8($v1) -/* 07E058 7F049528 0FC1E111 */ jal sub_GAME_7F078444 -/* 07E05C 7F04952C E7A80134 */ swc1 $f8, 0x134($sp) -/* 07E060 7F049530 27B100B8 */ addiu $s1, $sp, 0xb8 -/* 07E064 7F049534 02203025 */ move $a2, $s1 -/* 07E068 7F049538 00402025 */ move $a0, $v0 -/* 07E06C 7F04953C 0FC16063 */ jal sub_GAME_7F05818C -/* 07E070 7F049540 02402825 */ move $a1, $s2 -/* 07E074 7F049544 02202025 */ move $a0, $s1 -/* 07E078 7F049548 0FC1611D */ jal sub_GAME_7F058474 -/* 07E07C 7F04954C 27A5012C */ addiu $a1, $sp, 0x12c -/* 07E080 7F049550 C7A40134 */ lwc1 $f4, 0x134($sp) -/* 07E084 7F049554 8E650008 */ lw $a1, 8($s3) -/* 07E088 7F049558 8E660010 */ lw $a2, 0x10($s3) -/* 07E08C 7F04955C 27A40108 */ addiu $a0, $sp, 0x108 -/* 07E090 7F049560 8FA7012C */ lw $a3, 0x12c($sp) -/* 07E094 7F049564 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 07E098 7F049568 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07E09C 7F04956C 1440000E */ bnez $v0, .L7F0495A8 -/* 07E0A0 7F049570 00000000 */ nop -/* 07E0A4 7F049574 C66A0008 */ lwc1 $f10, 8($s3) -/* 07E0A8 7F049578 E7AA012C */ swc1 $f10, 0x12c($sp) -/* 07E0AC 7F04957C C666000C */ lwc1 $f6, 0xc($s3) -/* 07E0B0 7F049580 E7A60130 */ swc1 $f6, 0x130($sp) -/* 07E0B4 7F049584 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07E0B8 7F049588 10000007 */ b .L7F0495A8 -/* 07E0BC 7F04958C E7A80134 */ swc1 $f8, 0x134($sp) -.L7F049590: -/* 07E0C0 7F049590 C6640008 */ lwc1 $f4, 8($s3) -.L7F049594: -/* 07E0C4 7F049594 E7A4012C */ swc1 $f4, 0x12c($sp) -/* 07E0C8 7F049598 C66A000C */ lwc1 $f10, 0xc($s3) -/* 07E0CC 7F04959C E7AA0130 */ swc1 $f10, 0x130($sp) -/* 07E0D0 7F0495A0 C6660010 */ lwc1 $f6, 0x10($s3) -/* 07E0D4 7F0495A4 E7A60134 */ swc1 $f6, 0x134($sp) -.L7F0495A8: -/* 07E0D8 7F0495A8 0FC15FA8 */ jal cosf -/* 07E0DC 7F0495AC C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E0E0 7F0495B0 C60C0090 */ lwc1 $f12, 0x90($s0) -/* 07E0E4 7F0495B4 0FC15FAB */ jal sinf -/* 07E0E8 7F0495B8 E7A0007C */ swc1 $f0, 0x7c($sp) -/* 07E0EC 7F0495BC C7A2007C */ lwc1 $f2, 0x7c($sp) -/* 07E0F0 7F0495C0 46020202 */ mul.s $f8, $f0, $f2 -/* 07E0F4 7F0495C4 E7A80120 */ swc1 $f8, 0x120($sp) -/* 07E0F8 7F0495C8 0FC15FAB */ jal sinf -/* 07E0FC 7F0495CC C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E100 7F0495D0 E7A00124 */ swc1 $f0, 0x124($sp) -/* 07E104 7F0495D4 0FC15FA8 */ jal cosf -/* 07E108 7F0495D8 C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E10C 7F0495DC C60C0090 */ lwc1 $f12, 0x90($s0) -/* 07E110 7F0495E0 0FC15FA8 */ jal cosf -/* 07E114 7F0495E4 E7A0007C */ swc1 $f0, 0x7c($sp) -/* 07E118 7F0495E8 C7A2007C */ lwc1 $f2, 0x7c($sp) -/* 07E11C 7F0495EC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07E120 7F0495F0 44816000 */ mtc1 $at, $f12 -/* 07E124 7F0495F4 46020382 */ mul.s $f14, $f0, $f2 -/* 07E128 7F0495F8 C7A40120 */ lwc1 $f4, 0x120($sp) -/* 07E12C 7F0495FC C7A6012C */ lwc1 $f6, 0x12c($sp) -/* 07E130 7F049600 460C2282 */ mul.s $f10, $f4, $f12 -/* 07E134 7F049604 C7A40124 */ lwc1 $f4, 0x124($sp) -/* 07E138 7F049608 E7AE0128 */ swc1 $f14, 0x128($sp) -/* 07E13C 7F04960C 46065200 */ add.s $f8, $f10, $f6 -/* 07E140 7F049610 460C2282 */ mul.s $f10, $f4, $f12 -/* 07E144 7F049614 C7A60130 */ lwc1 $f6, 0x130($sp) -/* 07E148 7F049618 460C7102 */ mul.s $f4, $f14, $f12 -/* 07E14C 7F04961C E7A80110 */ swc1 $f8, 0x110($sp) -/* 07E150 7F049620 46065200 */ add.s $f8, $f10, $f6 -/* 07E154 7F049624 C7AA0134 */ lwc1 $f10, 0x134($sp) -/* 07E158 7F049628 460A2180 */ add.s $f6, $f4, $f10 -/* 07E15C 7F04962C E7A80114 */ swc1 $f8, 0x114($sp) -/* 07E160 7F049630 0FC2C731 */ jal sub_GAME_7F0B1CC4 -/* 07E164 7F049634 E7A60118 */ swc1 $f6, 0x118($sp) -/* 07E168 7F049638 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 07E16C 7F04963C 44810000 */ mtc1 $at, $f0 -/* 07E170 7F049640 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E174 7F049644 44812000 */ mtc1 $at, $f4 -/* 07E178 7F049648 C7A80118 */ lwc1 $f8, 0x118($sp) -/* 07E17C 7F04964C 24080002 */ li $t0, 2 -/* 07E180 7F049650 AFA80014 */ sw $t0, 0x14($sp) -/* 07E184 7F049654 27A40108 */ addiu $a0, $sp, 0x108 -/* 07E188 7F049658 8FA5012C */ lw $a1, 0x12c($sp) -/* 07E18C 7F04965C 8FA60134 */ lw $a2, 0x134($sp) -/* 07E190 7F049660 8FA70110 */ lw $a3, 0x110($sp) -/* 07E194 7F049664 E7B60020 */ swc1 $f22, 0x20($sp) -/* 07E198 7F049668 E7A00018 */ swc1 $f0, 0x18($sp) -/* 07E19C 7F04966C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 07E1A0 7F049670 E7A80010 */ swc1 $f8, 0x10($sp) -/* 07E1A4 7F049674 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 07E1A8 7F049678 E7A40024 */ swc1 $f4, 0x24($sp) -/* 07E1AC 7F04967C 14400017 */ bnez $v0, .L7F0496DC -/* 07E1B0 7F049680 27A60110 */ addiu $a2, $sp, 0x110 -/* 07E1B4 7F049684 27A4012C */ addiu $a0, $sp, 0x12c -/* 07E1B8 7F049688 0FC09893 */ jal sub_GAME_7F02624C -/* 07E1BC 7F04968C 27A50120 */ addiu $a1, $sp, 0x120 -/* 07E1C0 7F049690 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 07E1C4 7F049694 44818000 */ mtc1 $at, $f16 -/* 07E1C8 7F049698 C7A60120 */ lwc1 $f6, 0x120($sp) -/* 07E1CC 7F04969C C7AA0110 */ lwc1 $f10, 0x110($sp) -/* 07E1D0 7F0496A0 C7AE0128 */ lwc1 $f14, 0x128($sp) -/* 07E1D4 7F0496A4 46068202 */ mul.s $f8, $f16, $f6 -/* 07E1D8 7F0496A8 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 07E1DC 7F0496AC 8FAB0108 */ lw $t3, 0x108($sp) -/* 07E1E0 7F0496B0 AFAB010C */ sw $t3, 0x10c($sp) -/* 07E1E4 7F0496B4 46085101 */ sub.s $f4, $f10, $f8 -/* 07E1E8 7F0496B8 C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 07E1EC 7F0496BC 460A8202 */ mul.s $f8, $f16, $f10 -/* 07E1F0 7F0496C0 E7A40110 */ swc1 $f4, 0x110($sp) -/* 07E1F4 7F0496C4 C7AA0118 */ lwc1 $f10, 0x118($sp) -/* 07E1F8 7F0496C8 46083101 */ sub.s $f4, $f6, $f8 -/* 07E1FC 7F0496CC 460E8182 */ mul.s $f6, $f16, $f14 -/* 07E200 7F0496D0 E7A40114 */ swc1 $f4, 0x114($sp) -/* 07E204 7F0496D4 46065201 */ sub.s $f8, $f10, $f6 -/* 07E208 7F0496D8 E7A80118 */ swc1 $f8, 0x118($sp) -.L7F0496DC: -/* 07E20C 7F0496DC 3C0F8005 */ lui $t7, %hi(global_timer) -/* 07E210 7F0496E0 8DEF837C */ lw $t7, %lo(global_timer)($t7) -/* 07E214 7F0496E4 8E0900BC */ lw $t1, 0xbc($s0) -/* 07E218 7F0496E8 27B10110 */ addiu $s1, $sp, 0x110 -/* 07E21C 7F0496EC 8FA50100 */ lw $a1, 0x100($sp) -/* 07E220 7F0496F0 15E90052 */ bne $t7, $t1, .L7F04983C -/* 07E224 7F0496F4 C7AA012C */ lwc1 $f10, 0x12c($sp) -/* 07E228 7F0496F8 C4A40008 */ lwc1 $f4, 8($a1) -/* 07E22C 7F0496FC C4A6000C */ lwc1 $f6, 0xc($a1) -/* 07E230 7F049700 C7A80130 */ lwc1 $f8, 0x130($sp) -/* 07E234 7F049704 460A2001 */ sub.s $f0, $f4, $f10 -/* 07E238 7F049708 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 07E23C 7F04970C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 07E240 7F049710 46083081 */ sub.s $f2, $f6, $f8 -/* 07E244 7F049714 C7A60134 */ lwc1 $f6, 0x134($sp) -/* 07E248 7F049718 46062301 */ sub.s $f12, $f4, $f6 -/* 07E24C 7F04971C 46000102 */ mul.s $f4, $f0, $f0 -/* 07E250 7F049720 00000000 */ nop -/* 07E254 7F049724 46021282 */ mul.s $f10, $f2, $f2 -/* 07E258 7F049728 460A2100 */ add.s $f4, $f4, $f10 -/* 07E25C 7F04972C 460C6282 */ mul.s $f10, $f12, $f12 -/* 07E260 7F049730 460A2500 */ add.s $f20, $f4, $f10 -/* 07E264 7F049734 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 07E268 7F049738 C7A40110 */ lwc1 $f4, 0x110($sp) -/* 07E26C 7F04973C 460A2001 */ sub.s $f0, $f4, $f10 -/* 07E270 7F049740 C7A40114 */ lwc1 $f4, 0x114($sp) -/* 07E274 7F049744 C7AA0118 */ lwc1 $f10, 0x118($sp) -/* 07E278 7F049748 46082081 */ sub.s $f2, $f4, $f8 -/* 07E27C 7F04974C 46000102 */ mul.s $f4, $f0, $f0 -/* 07E280 7F049750 46065301 */ sub.s $f12, $f10, $f6 -/* 07E284 7F049754 46021202 */ mul.s $f8, $f2, $f2 -/* 07E288 7F049758 46082280 */ add.s $f10, $f4, $f8 -/* 07E28C 7F04975C 460C6182 */ mul.s $f6, $f12, $f12 -/* 07E290 7F049760 46065100 */ add.s $f4, $f10, $f6 -/* 07E294 7F049764 4604A03E */ c.le.s $f20, $f4 -/* 07E298 7F049768 00000000 */ nop -/* 07E29C 7F04976C 45000033 */ bc1f .L7F04983C -/* 07E2A0 7F049770 00000000 */ nop -/* 07E2A4 7F049774 0FC227A9 */ jal check_if_bond_is_invincible -/* 07E2A8 7F049778 00000000 */ nop -/* 07E2AC 7F04977C 54400030 */ bnezl $v0, .L7F049840 -/* 07E2B0 7F049780 8FB9011C */ lw $t9, 0x11c($sp) -/* 07E2B4 7F049784 0C007DF8 */ jal sqrtf -/* 07E2B8 7F049788 4600A306 */ mov.s $f12, $f20 -/* 07E2BC 7F04978C 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 07E2C0 7F049790 44816000 */ mtc1 $at, $f12 -/* 07E2C4 7F049794 3C018005 */ lui $at, %hi(D_80052B74) -/* 07E2C8 7F049798 C4282B74 */ lwc1 $f8, %lo(D_80052B74)($at) -/* 07E2CC 7F04979C 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07E2D0 7F0497A0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07E2D4 7F0497A4 3C018003 */ lui $at, %hi(D_80030B1C) -/* 07E2D8 7F0497A8 4600603C */ c.lt.s $f12, $f0 -/* 07E2DC 7F0497AC 460A4182 */ mul.s $f6, $f8, $f10 -/* 07E2E0 7F0497B0 C4240B1C */ lwc1 $f4, %lo(D_80030B1C)($at) -/* 07E2E4 7F0497B4 46043082 */ mul.s $f2, $f6, $f4 -/* 07E2E8 7F0497B8 45020005 */ bc1fl .L7F0497D0 -/* 07E2EC 7F0497BC C60A00D4 */ lwc1 $f10, 0xd4($s0) -/* 07E2F0 7F0497C0 46006203 */ div.s $f8, $f12, $f0 -/* 07E2F4 7F0497C4 46081082 */ mul.s $f2, $f2, $f8 -/* 07E2F8 7F0497C8 00000000 */ nop -/* 07E2FC 7F0497CC C60A00D4 */ lwc1 $f10, 0xd4($s0) -.L7F0497D0: -/* 07E300 7F0497D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E304 7F0497D4 44814000 */ mtc1 $at, $f8 -/* 07E308 7F0497D8 46025180 */ add.s $f6, $f10, $f2 -/* 07E30C 7F0497DC E60600D4 */ swc1 $f6, 0xd4($s0) -/* 07E310 7F0497E0 C60400D4 */ lwc1 $f4, 0xd4($s0) -/* 07E314 7F0497E4 4604403E */ c.le.s $f8, $f4 -/* 07E318 7F0497E8 00000000 */ nop -/* 07E31C 7F0497EC 45020014 */ bc1fl .L7F049840 -/* 07E320 7F0497F0 8FB9011C */ lw $t9, 0x11c($sp) -/* 07E324 7F0497F4 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 07E328 7F0497F8 2404000E */ li $a0, 14 -/* 07E32C 7F0497FC 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 07E330 7F049800 44815000 */ mtc1 $at, $f10 -/* 07E334 7F049804 3C018003 */ lui $at, %hi(D_80030B20) -/* 07E338 7F049808 C4240B20 */ lwc1 $f4, %lo(D_80030B20)($at) -/* 07E33C 7F04980C 460A0182 */ mul.s $f6, $f0, $f10 -/* 07E340 7F049810 C60E0090 */ lwc1 $f14, 0x90($s0) -/* 07E344 7F049814 2406FFFF */ li $a2, -1 -/* 07E348 7F049818 24070001 */ li $a3, 1 -/* 07E34C 7F04981C 46043302 */ mul.s $f12, $f6, $f4 -/* 07E350 7F049820 0FC22793 */ jal sub_GAME_7F089E4C -/* 07E354 7F049824 00000000 */ nop -/* 07E358 7F049828 0FC227A9 */ jal check_if_bond_is_invincible -/* 07E35C 7F04982C E61600D4 */ swc1 $f22, 0xd4($s0) -/* 07E360 7F049830 50400003 */ beql $v0, $zero, .L7F049840 -/* 07E364 7F049834 8FB9011C */ lw $t9, 0x11c($sp) -/* 07E368 7F049838 AFA0011C */ sw $zero, 0x11c($sp) -.L7F04983C: -/* 07E36C 7F04983C 8FB9011C */ lw $t9, 0x11c($sp) -.L7F049840: -/* 07E370 7F049840 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 07E374 7F049844 44818000 */ mtc1 $at, $f16 -/* 07E378 7F049848 1320000F */ beqz $t9, .L7F049888 -/* 07E37C 7F04984C 8FA50100 */ lw $a1, 0x100($sp) -/* 07E380 7F049850 8FAC010C */ lw $t4, 0x10c($sp) -/* 07E384 7F049854 02202025 */ move $a0, $s1 -/* 07E388 7F049858 24050001 */ li $a1, 1 -/* 07E38C 7F04985C 51800005 */ beql $t4, $zero, .L7F049874 -/* 07E390 7F049860 2404000E */ li $a0, 14 -/* 07E394 7F049864 44068000 */ mfc1 $a2, $f16 -/* 07E398 7F049868 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 07E39C 7F04986C 91870003 */ lbu $a3, 3($t4) -/* 07E3A0 7F049870 2404000E */ li $a0, 14 -.L7F049874: -/* 07E3A4 7F049874 02202825 */ move $a1, $s1 -/* 07E3A8 7F049878 0FC191DD */ jal recall_joy2_hits_edit_flag -/* 07E3AC 7F04987C 2406FFFF */ li $a2, -1 -/* 07E3B0 7F049880 1000000B */ b .L7F0498B0 -/* 07E3B4 7F049884 8FAA0104 */ lw $t2, 0x104($sp) -.L7F049888: -/* 07E3B8 7F049888 C4A80008 */ lwc1 $f8, 8($a1) -/* 07E3BC 7F04988C 2404000E */ li $a0, 14 -/* 07E3C0 7F049890 2406FFFF */ li $a2, -1 -/* 07E3C4 7F049894 E7A80110 */ swc1 $f8, 0x110($sp) -/* 07E3C8 7F049898 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 07E3CC 7F04989C E7AA0114 */ swc1 $f10, 0x114($sp) -/* 07E3D0 7F0498A0 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 07E3D4 7F0498A4 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 07E3D8 7F0498A8 E7A60118 */ swc1 $f6, 0x118($sp) -/* 07E3DC 7F0498AC 8FAA0104 */ lw $t2, 0x104($sp) -.L7F0498B0: -/* 07E3E0 7F0498B0 C7A4012C */ lwc1 $f4, 0x12c($sp) -/* 07E3E4 7F0498B4 51400085 */ beql $t2, $zero, .L7F049ACC -/* 07E3E8 7F0498B8 8E980008 */ lw $t8, 8($s4) -/* 07E3EC 7F0498BC 8E0300CC */ lw $v1, 0xcc($s0) -/* 07E3F0 7F0498C0 E4640004 */ swc1 $f4, 4($v1) -/* 07E3F4 7F0498C4 C7A80130 */ lwc1 $f8, 0x130($sp) -/* 07E3F8 7F0498C8 C4640004 */ lwc1 $f4, 4($v1) -/* 07E3FC 7F0498CC E4680008 */ swc1 $f8, 8($v1) -/* 07E400 7F0498D0 C7AA0134 */ lwc1 $f10, 0x134($sp) -/* 07E404 7F0498D4 E46A000C */ swc1 $f10, 0xc($v1) -/* 07E408 7F0498D8 C7A60110 */ lwc1 $f6, 0x110($sp) -/* 07E40C 7F0498DC 46043201 */ sub.s $f8, $f6, $f4 -/* 07E410 7F0498E0 C4660008 */ lwc1 $f6, 8($v1) -/* 07E414 7F0498E4 E4680010 */ swc1 $f8, 0x10($v1) -/* 07E418 7F0498E8 C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 07E41C 7F0498EC C4620010 */ lwc1 $f2, 0x10($v1) -/* 07E420 7F0498F0 46065101 */ sub.s $f4, $f10, $f6 -/* 07E424 7F0498F4 C46A000C */ lwc1 $f10, 0xc($v1) -/* 07E428 7F0498F8 E4640014 */ swc1 $f4, 0x14($v1) -/* 07E42C 7F0498FC C7A80118 */ lwc1 $f8, 0x118($sp) -/* 07E430 7F049900 46021102 */ mul.s $f4, $f2, $f2 -/* 07E434 7F049904 C46E0014 */ lwc1 $f14, 0x14($v1) -/* 07E438 7F049908 460A4181 */ sub.s $f6, $f8, $f10 -/* 07E43C 7F04990C 460E7202 */ mul.s $f8, $f14, $f14 -/* 07E440 7F049910 E4660018 */ swc1 $f6, 0x18($v1) -/* 07E444 7F049914 C4600018 */ lwc1 $f0, 0x18($v1) -/* 07E448 7F049918 AFA30090 */ sw $v1, 0x90($sp) -/* 07E44C 7F04991C 46000182 */ mul.s $f6, $f0, $f0 -/* 07E450 7F049920 46082280 */ add.s $f10, $f4, $f8 -/* 07E454 7F049924 0C007DF8 */ jal sqrtf -/* 07E458 7F049928 460A3300 */ add.s $f12, $f6, $f10 -/* 07E45C 7F04992C 3C018005 */ lui $at, %hi(D_80052B78) -/* 07E460 7F049930 C42E2B78 */ lwc1 $f14, %lo(D_80052B78)($at) -/* 07E464 7F049934 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E468 7F049938 44812000 */ mtc1 $at, $f4 -/* 07E46C 7F04993C 8FA30090 */ lw $v1, 0x90($sp) -/* 07E470 7F049940 4600703C */ c.lt.s $f14, $f0 -/* 07E474 7F049944 46000306 */ mov.s $f12, $f0 -/* 07E478 7F049948 46002083 */ div.s $f2, $f4, $f0 -/* 07E47C 7F04994C C4680010 */ lwc1 $f8, 0x10($v1) -/* 07E480 7F049950 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 07E484 7F049954 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 07E488 7F049958 44810000 */ mtc1 $at, $f0 -/* 07E48C 7F04995C 46024182 */ mul.s $f6, $f8, $f2 -/* 07E490 7F049960 C4680018 */ lwc1 $f8, 0x18($v1) -/* 07E494 7F049964 46025102 */ mul.s $f4, $f10, $f2 -/* 07E498 7F049968 E4660010 */ swc1 $f6, 0x10($v1) -/* 07E49C 7F04996C 46024182 */ mul.s $f6, $f8, $f2 -/* 07E4A0 7F049970 E4640014 */ swc1 $f4, 0x14($v1) -/* 07E4A4 7F049974 45000002 */ bc1f .L7F049980 -/* 07E4A8 7F049978 E4660018 */ swc1 $f6, 0x18($v1) -/* 07E4AC 7F04997C 46007306 */ mov.s $f12, $f14 -.L7F049980: -/* 07E4B0 7F049980 4600603C */ c.lt.s $f12, $f0 -/* 07E4B4 7F049984 240E000E */ li $t6, 14 -/* 07E4B8 7F049988 A0600000 */ sb $zero, ($v1) -/* 07E4BC 7F04998C A06E0001 */ sb $t6, 1($v1) -/* 07E4C0 7F049990 45000002 */ bc1f .L7F04999C -/* 07E4C4 7F049994 E46C001C */ swc1 $f12, 0x1c($v1) -/* 07E4C8 7F049998 46000306 */ mov.s $f12, $f0 -.L7F04999C: -/* 07E4CC 7F04999C 806D0001 */ lb $t5, 1($v1) -/* 07E4D0 7F0499A0 24010016 */ li $at, 22 -/* 07E4D4 7F0499A4 15A10026 */ bne $t5, $at, .L7F049A40 -/* 07E4D8 7F0499A8 3C018005 */ lui $at, %hi(D_80052B7C) -/* 07E4DC 7F0499AC C4222B7C */ lwc1 $f2, %lo(D_80052B7C)($at) -/* 07E4E0 7F0499B0 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 07E4E4 7F0499B4 44815000 */ mtc1 $at, $f10 -/* 07E4E8 7F0499B8 3C018005 */ lui $at, %hi(D_80052B80) -/* 07E4EC 7F0499BC 460C5102 */ mul.s $f4, $f10, $f12 -/* 07E4F0 7F0499C0 E4640020 */ swc1 $f4, 0x20($v1) -/* 07E4F4 7F0499C4 C4282B80 */ lwc1 $f8, %lo(D_80052B80)($at) -/* 07E4F8 7F0499C8 460C4002 */ mul.s $f0, $f8, $f12 -/* 07E4FC 7F0499CC 4600103C */ c.lt.s $f2, $f0 -/* 07E500 7F0499D0 E4600024 */ swc1 $f0, 0x24($v1) -/* 07E504 7F0499D4 45020003 */ bc1fl .L7F0499E4 -/* 07E508 7F0499D8 AFA30090 */ sw $v1, 0x90($sp) -/* 07E50C 7F0499DC E4620024 */ swc1 $f2, 0x24($v1) -/* 07E510 7F0499E0 AFA30090 */ sw $v1, 0x90($sp) -.L7F0499E4: -/* 07E514 7F0499E4 0C002914 */ jal get_random_value -/* 07E518 7F0499E8 E7AC0094 */ swc1 $f12, 0x94($sp) -/* 07E51C 7F0499EC 44823000 */ mtc1 $v0, $f6 -/* 07E520 7F0499F0 8FA30090 */ lw $v1, 0x90($sp) -/* 07E524 7F0499F4 C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 07E528 7F0499F8 04410005 */ bgez $v0, .L7F049A10 -/* 07E52C 7F0499FC 468032A0 */ cvt.s.w $f10, $f6 -/* 07E530 7F049A00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07E534 7F049A04 44812000 */ mtc1 $at, $f4 -/* 07E538 7F049A08 00000000 */ nop -/* 07E53C 7F049A0C 46045280 */ add.s $f10, $f10, $f4 -.L7F049A10: -/* 07E540 7F049A10 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07E544 7F049A14 44814000 */ mtc1 $at, $f8 -/* 07E548 7F049A18 3C018005 */ lui $at, %hi(D_80052B84) -/* 07E54C 7F049A1C C4242B84 */ lwc1 $f4, %lo(D_80052B84)($at) -/* 07E550 7F049A20 46085182 */ mul.s $f6, $f10, $f8 -/* 07E554 7F049A24 3C018005 */ lui $at, %hi(D_80052B88) -/* 07E558 7F049A28 C4282B88 */ lwc1 $f8, %lo(D_80052B88)($at) -/* 07E55C 7F049A2C 46043282 */ mul.s $f10, $f6, $f4 -/* 07E560 7F049A30 460A4181 */ sub.s $f6, $f8, $f10 -/* 07E564 7F049A34 460C3102 */ mul.s $f4, $f6, $f12 -/* 07E568 7F049A38 10000023 */ b .L7F049AC8 -/* 07E56C 7F049A3C E4640028 */ swc1 $f4, 0x28($v1) -.L7F049A40: -/* 07E570 7F049A40 3C018005 */ lui $at, %hi(D_80052B8C) -/* 07E574 7F049A44 C4282B8C */ lwc1 $f8, %lo(D_80052B8C)($at) -/* 07E578 7F049A48 3C018005 */ lui $at, %hi(D_80052B90) -/* 07E57C 7F049A4C 460C4002 */ mul.s $f0, $f8, $f12 -/* 07E580 7F049A50 E4600020 */ swc1 $f0, 0x20($v1) -/* 07E584 7F049A54 E4600024 */ swc1 $f0, 0x24($v1) -/* 07E588 7F049A58 C42A2B90 */ lwc1 $f10, %lo(D_80052B90)($at) -/* 07E58C 7F049A5C 3C018005 */ lui $at, %hi(D_80052B94) -/* 07E590 7F049A60 4600503C */ c.lt.s $f10, $f0 -/* 07E594 7F049A64 00000000 */ nop -/* 07E598 7F049A68 45000003 */ bc1f .L7F049A78 -/* 07E59C 7F049A6C 00000000 */ nop -/* 07E5A0 7F049A70 C4262B94 */ lwc1 $f6, %lo(D_80052B94)($at) -/* 07E5A4 7F049A74 E4660024 */ swc1 $f6, 0x24($v1) -.L7F049A78: -/* 07E5A8 7F049A78 0C002914 */ jal get_random_value -/* 07E5AC 7F049A7C AFA30090 */ sw $v1, 0x90($sp) -/* 07E5B0 7F049A80 44822000 */ mtc1 $v0, $f4 -/* 07E5B4 7F049A84 8FA30090 */ lw $v1, 0x90($sp) -/* 07E5B8 7F049A88 04410005 */ bgez $v0, .L7F049AA0 -/* 07E5BC 7F049A8C 46802220 */ cvt.s.w $f8, $f4 -/* 07E5C0 7F049A90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07E5C4 7F049A94 44815000 */ mtc1 $at, $f10 -/* 07E5C8 7F049A98 00000000 */ nop -/* 07E5CC 7F049A9C 460A4200 */ add.s $f8, $f8, $f10 -.L7F049AA0: -/* 07E5D0 7F049AA0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07E5D4 7F049AA4 44813000 */ mtc1 $at, $f6 -/* 07E5D8 7F049AA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E5DC 7F049AAC 44815000 */ mtc1 $at, $f10 -/* 07E5E0 7F049AB0 46064002 */ mul.s $f0, $f8, $f6 -/* 07E5E4 7F049AB4 C4660020 */ lwc1 $f6, 0x20($v1) -/* 07E5E8 7F049AB8 46000100 */ add.s $f4, $f0, $f0 -/* 07E5EC 7F049ABC 460A2201 */ sub.s $f8, $f4, $f10 -/* 07E5F0 7F049AC0 46064102 */ mul.s $f4, $f8, $f6 -/* 07E5F4 7F049AC4 E4640028 */ swc1 $f4, 0x28($v1) -.L7F049AC8: -/* 07E5F8 7F049AC8 8E980008 */ lw $t8, 8($s4) -.L7F049ACC: -/* 07E5FC 7F049ACC 8F030008 */ lw $v1, 8($t8) -/* 07E600 7F049AD0 8C650014 */ lw $a1, 0x14($v1) -/* 07E604 7F049AD4 50A00008 */ beql $a1, $zero, .L7F049AF8 -/* 07E608 7F049AD8 8C65001C */ lw $a1, 0x1c($v1) -/* 07E60C 7F049ADC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07E610 7F049AE0 02802025 */ move $a0, $s4 -/* 07E614 7F049AE4 8FA8013C */ lw $t0, 0x13c($sp) -/* 07E618 7F049AE8 A4480000 */ sh $t0, ($v0) -/* 07E61C 7F049AEC 8E8B0008 */ lw $t3, 8($s4) -/* 07E620 7F049AF0 8D630008 */ lw $v1, 8($t3) -/* 07E624 7F049AF4 8C65001C */ lw $a1, 0x1c($v1) -.L7F049AF8: -/* 07E628 7F049AF8 10A00005 */ beqz $a1, .L7F049B10 -/* 07E62C 7F049AFC 00000000 */ nop -/* 07E630 7F049B00 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07E634 7F049B04 02802025 */ move $a0, $s4 -/* 07E638 7F049B08 8FAF0138 */ lw $t7, 0x138($sp) -/* 07E63C 7F049B0C A44F0000 */ sh $t7, ($v0) -.L7F049B10: -/* 07E640 7F049B10 0FC11080 */ jal sub_GAME_7F044200 -/* 07E644 7F049B14 02602025 */ move $a0, $s3 -/* 07E648 7F049B18 8FA90680 */ lw $t1, 0x680($sp) -.L7F049B1C: -/* 07E64C 7F049B1C 24010005 */ li $at, 5 -/* 07E650 7F049B20 55210003 */ bnel $t1, $at, .L7F049B30 -/* 07E654 7F049B24 8FA20680 */ lw $v0, 0x680($sp) -/* 07E658 7F049B28 AE600014 */ sw $zero, 0x14($s3) -/* 07E65C 7F049B2C 8FA20680 */ lw $v0, 0x680($sp) -.L7F049B30: -/* 07E660 7F049B30 8FBF0054 */ lw $ra, 0x54($sp) -/* 07E664 7F049B34 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 07E668 7F049B38 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 07E66C 7F049B3C 8FB00040 */ lw $s0, 0x40($sp) -/* 07E670 7F049B40 8FB10044 */ lw $s1, 0x44($sp) -/* 07E674 7F049B44 8FB20048 */ lw $s2, 0x48($sp) -/* 07E678 7F049B48 8FB3004C */ lw $s3, 0x4c($sp) -/* 07E67C 7F049B4C 8FB40050 */ lw $s4, 0x50($sp) -/* 07E680 7F049B50 03E00008 */ jr $ra -/* 07E684 7F049B54 27BD06A8 */ addiu $sp, $sp, 0x6a8 -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel rocket_initial_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_80052A9C -.word 0x3c360b61 /*0.011111111*/ -glabel D_80052AA0 -.word 0x3d8f5c29 /*0.07*/ -glabel prop_projectile_gravity_modifier -.word 0x3e8e38e4 /*0.27777779*/ -glabel D_80052AA8 -.word 0x400e38e4 /*2.2222223*/ -glabel D_80052AAC -.word 0x46d9038c /*27777.773*/ -glabel D_80052AB0 -.word 0x3f8ccccd /*1.1*/ -glabel D_80052AB4 -.word 0x3f666666 /*0.89999998*/ -glabel D_80052AB8 -.word 0x3f666666 /*0.89999998*/ -glabel D_80052ABC -.word 0x3dcccccd /*0.1*/ -glabel D_80052AC0 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052AC4 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052AC8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052ACC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AD0 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052AD4 -.word 0x3f490fdb /*0.78539819*/ -glabel D_80052AD8 -.word 0xbf490fdb /*-0.78539819*/ -glabel D_80052ADC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AE0 -.word 0x3a2b92a6 /*0.00065449846*/ -glabel D_80052AE4 -.word 0x3a2b92a6 /*0.00065449846*/ -glabel D_80052AE8 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AEC -.word 0x37433637 /*0.000011635529*/ -glabel D_80052AF0 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052AF4 -.word 0x3a3702d4 /*0.00069813174*/ -glabel D_80052AF8 -.word 0x36c33637 /*0.0000058177643*/ -glabel D_80052AFC -.word 0x39b702d4 /*0.00034906587*/ -glabel D_80052B00 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B04 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B08 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B0C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B10 -.word 0x3f9c61ab /*1.2217306*/ -glabel D_80052B14 -.word 0xbf9c61ab /*-1.2217306*/ -glabel D_80052B18 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80052B1C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B20 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B24 -.word 0x3f4ccccd /*0.80000001*/ -glabel D_80052B28 -.word 0xc0490fdb /*-3.1415927*/ -glabel D_80052B2C -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B30 -.word 0x3a64c389 /*0.00087266468*/ -glabel D_80052B34 -.word 0x3a64c389 /*0.00087266468*/ -glabel D_80052B38 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052B3C -.word 0x3f1930a7 /*0.59839863*/ -glabel D_80052B40 -.word 0x3c236719 /*0.0099733109*/ -glabel D_80052B44 -.word 0x3f7d70a4 /*0.99000001*/ -glabel D_80052B48 -.word 0x38d1b717 /*0.000099999997*/ -glabel D_80052B4C -.word 0x3964c389 /*0.00021816617*/ -glabel D_80052B50 -.word 0x3bd67750 /*0.0065449849*/ -glabel D_80052B54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B58 -.word 0x3964c389 /*0.00021816617*/ -glabel D_80052B5C -.word 0xb964c389 /*-0.00021816617*/ -glabel D_80052B60 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B64 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052B68 -.word 0x3e99999a /*0.30000001*/ -glabel D_80052B6C -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052B70 -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052B74 -.word 0x3e23d70a /*0.16*/ -glabel D_80052B78 -.word 0x461c4000 /*10000.0*/ -glabel D_80052B7C -.word 0x453b8000 /*3000.0*/ -glabel D_80052B80 -.word 0x3f19999a /*0.60000002*/ -glabel D_80052B84 -.word 0x3e99999a /*0.30000001*/ -glabel D_80052B88 -.word 0xbdcccccd /*-0.1*/ -glabel D_80052B8C -.word 0x3e4ccccd /*0.2*/ -glabel D_80052B90 -.word 0x453b8000 /*3000.0*/ -glabel D_80052B94 -.word 0x453b8000 /*3000.0*/ -.text -glabel object_interaction -/* 07A218 7F0456A8 27BDF950 */ addiu $sp, $sp, -0x6b0 -/* 07A21C 7F0456AC AFBF0054 */ sw $ra, 0x54($sp) -/* 07A220 7F0456B0 AFB40050 */ sw $s4, 0x50($sp) -/* 07A224 7F0456B4 AFB3004C */ sw $s3, 0x4c($sp) -/* 07A228 7F0456B8 AFB20048 */ sw $s2, 0x48($sp) -/* 07A22C 7F0456BC AFB10044 */ sw $s1, 0x44($sp) -/* 07A230 7F0456C0 AFB00040 */ sw $s0, 0x40($sp) -/* 07A234 7F0456C4 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 07A238 7F0456C8 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 07A23C 7F0456CC 8C910004 */ lw $s1, 4($a0) -/* 07A240 7F0456D0 4480B000 */ mtc1 $zero, $f22 -/* 07A244 7F0456D4 00809825 */ move $s3, $a0 -/* 07A248 7F0456D8 8E340014 */ lw $s4, 0x14($s1) -/* 07A24C 7F0456DC AFA00698 */ sw $zero, 0x698($sp) -/* 07A250 7F0456E0 AFA00688 */ sw $zero, 0x688($sp) -/* 07A254 7F0456E4 0FC26C01 */ jal get_num_players -/* 07A258 7F0456E8 E7B60684 */ swc1 $f22, 0x684($sp) -/* 07A25C 7F0456EC 240F0001 */ li $t7, 1 -/* 07A260 7F0456F0 AFA2067C */ sw $v0, 0x67c($sp) -/* 07A264 7F0456F4 AFAF0678 */ sw $t7, 0x678($sp) -/* 07A268 7F0456F8 8E230064 */ lw $v1, 0x64($s1) -/* 07A26C 7F0456FC 30790004 */ andi $t9, $v1, 4 -/* 07A270 7F045700 13200009 */ beqz $t9, .Ljp7F045728 -/* 07A274 7F045704 30680008 */ andi $t0, $v1, 8 -/* 07A278 7F045708 92260002 */ lbu $a2, 2($s1) -/* 07A27C 7F04570C 02202025 */ move $a0, $s1 -/* 07A280 7F045710 00002825 */ move $a1, $zero -/* 07A284 7F045714 30D80004 */ andi $t8, $a2, 4 -/* 07A288 7F045718 0FC10426 */ jal sub_GAME_7F040D98 -/* 07A28C 7F04571C 03003025 */ move $a2, $t8 -/* 07A290 7F045720 10001204 */ b .Ljp7F049F34 -/* 07A294 7F045724 24020001 */ li $v0, 1 -.Ljp7F045728: -/* 07A298 7F045728 11000005 */ beqz $t0, .Ljp7F045740 -/* 07A29C 7F04572C 306B0080 */ andi $t3, $v1, 0x80 -/* 07A2A0 7F045730 2401FFF7 */ li $at, -9 -/* 07A2A4 7F045734 00614824 */ and $t1, $v1, $at -/* 07A2A8 7F045738 1000000B */ b .Ljp7F045768 -/* 07A2AC 7F04573C AE290064 */ sw $t1, 0x64($s1) -.Ljp7F045740: -/* 07A2B0 7F045740 5160000A */ beql $t3, $zero, .Ljp7F04576C -/* 07A2B4 7F045744 24010001 */ li $at, 1 -/* 07A2B8 7F045748 926C0001 */ lbu $t4, 1($s3) -/* 07A2BC 7F04574C 24020003 */ li $v0, 3 -/* 07A2C0 7F045750 318EFFFD */ andi $t6, $t4, 0xfffd -/* 07A2C4 7F045754 A26E0001 */ sb $t6, 1($s3) -/* 07A2C8 7F045758 8E2A0064 */ lw $t2, 0x64($s1) -/* 07A2CC 7F04575C 354D0008 */ ori $t5, $t2, 8 -/* 07A2D0 7F045760 100011F4 */ b .Ljp7F049F34 -/* 07A2D4 7F045764 AE2D0064 */ sw $t5, 0x64($s1) -.Ljp7F045768: -/* 07A2D8 7F045768 24010001 */ li $at, 1 -.Ljp7F04576C: -/* 07A2DC 7F04576C 14410003 */ bne $v0, $at, .Ljp7F04577C -/* 07A2E0 7F045770 240F0001 */ li $t7, 1 -/* 07A2E4 7F045774 10000019 */ b .Ljp7F0457DC -/* 07A2E8 7F045778 AFAF0680 */ sw $t7, 0x680($sp) -.Ljp7F04577C: -/* 07A2EC 7F04577C 0FC26F3C */ jal get_cur_playernum -/* 07A2F0 7F045780 00000000 */ nop -/* 07A2F4 7F045784 0FC2701E */ jal sub_GAME_7F09B4D8 -/* 07A2F8 7F045788 00402025 */ move $a0, $v0 -/* 07A2FC 7F04578C 2C590001 */ sltiu $t9, $v0, 1 -/* 07A300 7F045790 AFB90680 */ sw $t9, 0x680($sp) -/* 07A304 7F045794 8E380064 */ lw $t8, 0x64($s1) -/* 07A308 7F045798 33080080 */ andi $t0, $t8, 0x80 -/* 07A30C 7F04579C 51000010 */ beql $t0, $zero, .Ljp7F0457E0 -/* 07A310 7F0457A0 8FAA0680 */ lw $t2, 0x680($sp) -/* 07A314 7F0457A4 8E30006C */ lw $s0, 0x6c($s1) -/* 07A318 7F0457A8 8E040088 */ lw $a0, 0x88($s0) -/* 07A31C 7F0457AC 5080000C */ beql $a0, $zero, .Ljp7F0457E0 -/* 07A320 7F0457B0 8FAA0680 */ lw $t2, 0x680($sp) -/* 07A324 7F0457B4 0FC26F3F */ jal sub_GAME_7F09B15C -/* 07A328 7F0457B8 00000000 */ nop -/* 07A32C 7F0457BC 04400007 */ bltz $v0, .Ljp7F0457DC -/* 07A330 7F0457C0 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 -/* 07A334 7F0457C4 8D29A120 */ lw $t1, %lo(pPlayer)($t1) -/* 07A338 7F0457C8 8E0C0088 */ lw $t4, 0x88($s0) -/* 07A33C 7F0457CC 8D2B00A8 */ lw $t3, 0xa8($t1) -/* 07A340 7F0457D0 016C7026 */ xor $t6, $t3, $t4 -/* 07A344 7F0457D4 2DCE0001 */ sltiu $t6, $t6, 1 -/* 07A348 7F0457D8 AFAE0680 */ sw $t6, 0x680($sp) -.Ljp7F0457DC: -/* 07A34C 7F0457DC 8FAA0680 */ lw $t2, 0x680($sp) -.Ljp7F0457E0: -/* 07A350 7F0457E0 51400B94 */ beql $t2, $zero, .Ljp7F048634 -/* 07A354 7F0457E4 92220003 */ lbu $v0, 3($s1) -/* 07A358 7F0457E8 8E2D0064 */ lw $t5, 0x64($s1) -/* 07A35C 7F0457EC 31AF0080 */ andi $t7, $t5, 0x80 -/* 07A360 7F0457F0 51E0048B */ beql $t7, $zero, .Ljp7F046A20 -/* 07A364 7F0457F4 8FAB0698 */ lw $t3, 0x698($sp) -/* 07A368 7F0457F8 8E30006C */ lw $s0, 0x6c($s1) -/* 07A36C 7F0457FC 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 -/* 07A370 7F045800 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) -/* 07A374 7F045804 8E1900E0 */ lw $t9, 0xe0($s0) -/* 07A378 7F045808 03384021 */ addu $t0, $t9, $t8 -/* 07A37C 7F04580C 29010961 */ slti $at, $t0, 0x961 -/* 07A380 7F045810 14200004 */ bnez $at, .Ljp7F045824 -/* 07A384 7F045814 AE0800E0 */ sw $t0, 0xe0($s0) -/* 07A388 7F045818 8E2B0064 */ lw $t3, 0x64($s1) -/* 07A38C 7F04581C 356C0004 */ ori $t4, $t3, 4 -/* 07A390 7F045820 AE2C0064 */ sw $t4, 0x64($s1) -.Ljp7F045824: -/* 07A394 7F045824 8E0E0000 */ lw $t6, ($s0) -/* 07A398 7F045828 31CA0100 */ andi $t2, $t6, 0x100 -/* 07A39C 7F04582C 5140002F */ beql $t2, $zero, .Ljp7F0458EC -/* 07A3A0 7F045830 C6260058 */ lwc1 $f6, 0x58($s1) -/* 07A3A4 7F045834 922D0003 */ lbu $t5, 3($s1) -/* 07A3A8 7F045838 24010008 */ li $at, 8 -/* 07A3AC 7F04583C 24120001 */ li $s2, 1 -/* 07A3B0 7F045840 55A10008 */ bnel $t5, $at, .Ljp7F045864 -/* 07A3B4 7F045844 8E040088 */ lw $a0, 0x88($s0) -/* 07A3B8 7F045848 AFB10650 */ sw $s1, 0x650($sp) -/* 07A3BC 7F04584C 822F0080 */ lb $t7, 0x80($s1) -/* 07A3C0 7F045850 24010056 */ li $at, 86 -/* 07A3C4 7F045854 55E10003 */ bnel $t7, $at, .Ljp7F045864 -/* 07A3C8 7F045858 8E040088 */ lw $a0, 0x88($s0) -/* 07A3CC 7F04585C 00009025 */ move $s2, $zero -/* 07A3D0 7F045860 8E040088 */ lw $a0, 0x88($s0) -.Ljp7F045864: -/* 07A3D4 7F045864 50800004 */ beql $a0, $zero, .Ljp7F045878 -/* 07A3D8 7F045868 02202025 */ move $a0, $s1 -/* 07A3DC 7F04586C 0FC0F4D6 */ jal sub_GAME_7F03D058 -/* 07A3E0 7F045870 00002825 */ move $a1, $zero -/* 07A3E4 7F045874 02202025 */ move $a0, $s1 -.Ljp7F045878: -/* 07A3E8 7F045878 260500D4 */ addiu $a1, $s0, 0xd4 -/* 07A3EC 7F04587C 27A60654 */ addiu $a2, $sp, 0x654 -/* 07A3F0 7F045880 27A70660 */ addiu $a3, $sp, 0x660 -/* 07A3F4 7F045884 AFA00010 */ sw $zero, 0x10($sp) -/* 07A3F8 7F045888 0FC10C6D */ jal sub_GAME_7F042EB4 -/* 07A3FC 7F04588C AFB20014 */ sw $s2, 0x14($sp) -/* 07A400 7F045890 AFA2066C */ sw $v0, 0x66c($sp) -/* 07A404 7F045894 8E040088 */ lw $a0, 0x88($s0) -/* 07A408 7F045898 50800004 */ beql $a0, $zero, .Ljp7F0458AC -/* 07A40C 7F04589C 8FB9066C */ lw $t9, 0x66c($sp) -/* 07A410 7F0458A0 0FC0F4D6 */ jal sub_GAME_7F03D058 -/* 07A414 7F0458A4 24050001 */ li $a1, 1 -/* 07A418 7F0458A8 8FB9066C */ lw $t9, 0x66c($sp) -.Ljp7F0458AC: -/* 07A41C 7F0458AC 24010001 */ li $at, 1 -/* 07A420 7F0458B0 8FA20650 */ lw $v0, 0x650($sp) -/* 07A424 7F0458B4 53210009 */ beql $t9, $at, .Ljp7F0458DC -/* 07A428 7F0458B8 8E080000 */ lw $t0, ($s0) -/* 07A42C 7F0458BC 50400007 */ beql $v0, $zero, .Ljp7F0458DC -/* 07A430 7F0458C0 8E080000 */ lw $t0, ($s0) -/* 07A434 7F0458C4 80580080 */ lb $t8, 0x80($v0) -/* 07A438 7F0458C8 24010056 */ li $at, 86 -/* 07A43C 7F0458CC 57010003 */ bnel $t8, $at, .Ljp7F0458DC -/* 07A440 7F0458D0 8E080000 */ lw $t0, ($s0) -/* 07A444 7F0458D4 A4400082 */ sh $zero, 0x82($v0) -/* 07A448 7F0458D8 8E080000 */ lw $t0, ($s0) -.Ljp7F0458DC: -/* 07A44C 7F0458DC 2401FEFF */ li $at, -257 -/* 07A450 7F0458E0 01014824 */ and $t1, $t0, $at -/* 07A454 7F0458E4 AE090000 */ sw $t1, ($s0) -/* 07A458 7F0458E8 C6260058 */ lwc1 $f6, 0x58($s1) -.Ljp7F0458EC: -/* 07A45C 7F0458EC 3C0B8005 */ lui $t3, %hi(clock_timer) # $t3, 0x8005 -/* 07A460 7F0458F0 3C013F80 */ lui $at, 0x3f80 -/* 07A464 7F0458F4 E7A6069C */ swc1 $f6, 0x69c($sp) -/* 07A468 7F0458F8 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07A46C 7F0458FC E7AA06A0 */ swc1 $f10, 0x6a0($sp) -/* 07A470 7F045900 C6240060 */ lwc1 $f4, 0x60($s1) -/* 07A474 7F045904 E7A406A4 */ swc1 $f4, 0x6a4($sp) -/* 07A478 7F045908 8E0200BC */ lw $v0, 0xbc($s0) -/* 07A47C 7F04590C 58400005 */ blezl $v0, .Ljp7F045924 -/* 07A480 7F045910 8E2E006C */ lw $t6, 0x6c($s1) -/* 07A484 7F045914 8D6B83A4 */ lw $t3, %lo(clock_timer)($t3) -/* 07A488 7F045918 004B6023 */ subu $t4, $v0, $t3 -/* 07A48C 7F04591C AE0C00BC */ sw $t4, 0xbc($s0) -/* 07A490 7F045920 8E2E006C */ lw $t6, 0x6c($s1) -.Ljp7F045924: -/* 07A494 7F045924 8DCA0000 */ lw $t2, ($t6) -/* 07A498 7F045928 314D0001 */ andi $t5, $t2, 1 -/* 07A49C 7F04592C 51A00351 */ beql $t5, $zero, .Ljp7F046674 -/* 07A4A0 7F045930 C6000060 */ lwc1 $f0, 0x60($s0) -/* 07A4A4 7F045934 0FC100DE */ jal sub_GAME_7F040078 -/* 07A4A8 7F045938 02202025 */ move $a0, $s1 -/* 07A4AC 7F04593C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07A4B0 7F045940 44814000 */ mtc1 $at, $f8 -/* 07A4B4 7F045944 3C078005 */ lui $a3, %hi(clock_timer) # $a3, 0x8005 -/* 07A4B8 7F045948 24E783A4 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c5c -/* 07A4BC 7F04594C AFA20648 */ sw $v0, 0x648($sp) -/* 07A4C0 7F045950 AFA00618 */ sw $zero, 0x618($sp) -/* 07A4C4 7F045954 AFA00614 */ sw $zero, 0x614($sp) -/* 07A4C8 7F045958 AFA0060C */ sw $zero, 0x60c($sp) -/* 07A4CC 7F04595C E7A80640 */ swc1 $f8, 0x640($sp) -/* 07A4D0 7F045960 8E0F00A8 */ lw $t7, 0xa8($s0) -/* 07A4D4 7F045964 8CF90000 */ lw $t9, ($a3) -/* 07A4D8 7F045968 C634005C */ lwc1 $f20, 0x5c($s1) -/* 07A4DC 7F04596C 00009025 */ move $s2, $zero -/* 07A4E0 7F045970 01F9C021 */ addu $t8, $t7, $t9 -/* 07A4E4 7F045974 AE1800A8 */ sw $t8, 0xa8($s0) -/* 07A4E8 7F045978 C6260018 */ lwc1 $f6, 0x18($s1) -/* 07A4EC 7F04597C 3C018005 */ lui $at, %hi(rocket_initial_gravity_modifier) # $at, 0x8005 -/* 07A4F0 7F045980 E7A60634 */ swc1 $f6, 0x634($sp) -/* 07A4F4 7F045984 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 07A4F8 7F045988 E7AA0638 */ swc1 $f10, 0x638($sp) -/* 07A4FC 7F04598C C6240020 */ lwc1 $f4, 0x20($s1) -/* 07A500 7F045990 E7A4063C */ swc1 $f4, 0x63c($sp) -/* 07A504 7F045994 8E030000 */ lw $v1, ($s0) -/* 07A508 7F045998 30680020 */ andi $t0, $v1, 0x20 -/* 07A50C 7F04599C 1100004B */ beqz $t0, .Ljp7F045ACC -/* 07A510 7F0459A0 00000000 */ nop -/* 07A514 7F0459A4 C4322AC8 */ lwc1 $f18, %lo(rocket_initial_gravity_modifier)($at) -/* 07A518 7F0459A8 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07A51C 7F0459AC 3C028005 */ lui $v0, %hi(global_timer_delta) # $v0, 0x8005 -/* 07A520 7F0459B0 244283B4 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c4c -/* 07A524 7F0459B4 4612003C */ c.lt.s $f0, $f18 -/* 07A528 7F0459B8 00000000 */ nop -/* 07A52C 7F0459BC 4502001C */ bc1fl .Ljp7F045A30 -/* 07A530 7F0459C0 C60000B0 */ lwc1 $f0, 0xb0($s0) -/* 07A534 7F0459C4 C6080014 */ lwc1 $f8, 0x14($s0) -/* 07A538 7F0459C8 C4460000 */ lwc1 $f6, ($v0) -/* 07A53C 7F0459CC C60400B4 */ lwc1 $f4, 0xb4($s0) -/* 07A540 7F0459D0 3C018005 */ lui $at, %hi(D_80052A9C) # $at, 0x8005 -/* 07A544 7F0459D4 46064282 */ mul.s $f10, $f8, $f6 -/* 07A548 7F0459D8 460A2200 */ add.s $f8, $f4, $f10 -/* 07A54C 7F0459DC E60800B4 */ swc1 $f8, 0xb4($s0) -/* 07A550 7F0459E0 C4440000 */ lwc1 $f4, ($v0) -/* 07A554 7F0459E4 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07A558 7F0459E8 C60800B0 */ lwc1 $f8, 0xb0($s0) -/* 07A55C 7F0459EC 46043282 */ mul.s $f10, $f6, $f4 -/* 07A560 7F0459F0 460A4180 */ add.s $f6, $f8, $f10 -/* 07A564 7F0459F4 E60600B0 */ swc1 $f6, 0xb0($s0) -/* 07A568 7F0459F8 C4480000 */ lwc1 $f8, ($v0) -/* 07A56C 7F0459FC C4242ACC */ lwc1 $f4, %lo(D_80052A9C)($at) -/* 07A570 7F045A00 46082282 */ mul.s $f10, $f4, $f8 -/* 07A574 7F045A04 460A0180 */ add.s $f6, $f0, $f10 -/* 07A578 7F045A08 E606001C */ swc1 $f6, 0x1c($s0) -/* 07A57C 7F045A0C C604001C */ lwc1 $f4, 0x1c($s0) -/* 07A580 7F045A10 4604903C */ c.lt.s $f18, $f4 -/* 07A584 7F045A14 00000000 */ nop -/* 07A588 7F045A18 45000002 */ bc1f .Ljp7F045A24 -/* 07A58C 7F045A1C 00000000 */ nop -/* 07A590 7F045A20 E612001C */ swc1 $f18, 0x1c($s0) -.Ljp7F045A24: -/* 07A594 7F045A24 10000029 */ b .Ljp7F045ACC -/* 07A598 7F045A28 8E030000 */ lw $v1, ($s0) -/* 07A59C 7F045A2C C60000B0 */ lwc1 $f0, 0xb0($s0) -.Ljp7F045A30: -/* 07A5A0 7F045A30 C7A806A0 */ lwc1 $f8, 0x6a0($sp) -/* 07A5A4 7F045A34 4600403C */ c.lt.s $f8, $f0 -/* 07A5A8 7F045A38 00000000 */ nop -/* 07A5AC 7F045A3C 45000019 */ bc1f .Ljp7F045AA4 -/* 07A5B0 7F045A40 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07A5B4 7F045A44 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 07A5B8 7F045A48 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 07A5BC 7F045A4C C60800B4 */ lwc1 $f8, 0xb4($s0) -/* 07A5C0 7F045A50 46065102 */ mul.s $f4, $f10, $f6 -/* 07A5C4 7F045A54 46044280 */ add.s $f10, $f8, $f4 -/* 07A5C8 7F045A58 E60A00B4 */ swc1 $f10, 0xb4($s0) -/* 07A5CC 7F045A5C C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 07A5D0 7F045A60 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07A5D4 7F045A64 3C018005 */ lui $at, %hi(D_80052AA0) # $at, 0x8005 -/* 07A5D8 7F045A68 46083102 */ mul.s $f4, $f6, $f8 -/* 07A5DC 7F045A6C 46040280 */ add.s $f10, $f0, $f4 -/* 07A5E0 7F045A70 E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 07A5E4 7F045A74 C7A806A0 */ lwc1 $f8, 0x6a0($sp) -/* 07A5E8 7F045A78 C60600B0 */ lwc1 $f6, 0xb0($s0) -/* 07A5EC 7F045A7C C42A2AD0 */ lwc1 $f10, %lo(D_80052AA0)($at) -/* 07A5F0 7F045A80 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07A5F4 7F045A84 46083101 */ sub.s $f4, $f6, $f8 -/* 07A5F8 7F045A88 46045182 */ mul.s $f6, $f10, $f4 -/* 07A5FC 7F045A8C C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07A600 7F045A90 460A3102 */ mul.s $f4, $f6, $f10 -/* 07A604 7F045A94 46044180 */ add.s $f6, $f8, $f4 -/* 07A608 7F045A98 E7A606A0 */ swc1 $f6, 0x6a0($sp) -/* 07A60C 7F045A9C 1000000B */ b .Ljp7F045ACC -/* 07A610 7F045AA0 8E030000 */ lw $v1, ($s0) -.Ljp7F045AA4: -/* 07A614 7F045AA4 E7A006A0 */ swc1 $f0, 0x6a0($sp) -/* 07A618 7F045AA8 8E090000 */ lw $t1, ($s0) -/* 07A61C 7F045AAC 2401FFDF */ li $at, -33 -/* 07A620 7F045AB0 C60A00B4 */ lwc1 $f10, 0xb4($s0) -/* 07A624 7F045AB4 01215824 */ and $t3, $t1, $at -/* 07A628 7F045AB8 AE0B0000 */ sw $t3, ($s0) -/* 07A62C 7F045ABC 35630010 */ ori $v1, $t3, 0x10 -/* 07A630 7F045AC0 E616001C */ swc1 $f22, 0x1c($s0) -/* 07A634 7F045AC4 AE030000 */ sw $v1, ($s0) -/* 07A638 7F045AC8 E60A0008 */ swc1 $f10, 8($s0) -.Ljp7F045ACC: -/* 07A63C 7F045ACC 3C028005 */ lui $v0, %hi(global_timer_delta) # $v0, 0x8005 -/* 07A640 7F045AD0 244283B4 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c4c -/* 07A644 7F045AD4 3C018005 */ lui $at, %hi(prop_projectile_gravity_modifier) # $at, 0x8005 -/* 07A648 7F045AD8 306A0010 */ andi $t2, $v1, 0x10 -/* 07A64C 7F045ADC C4322AD4 */ lwc1 $f18, %lo(prop_projectile_gravity_modifier)($at) -/* 07A650 7F045AE0 C4420000 */ lwc1 $f2, ($v0) -/* 07A654 7F045AE4 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07A658 7F045AE8 15400015 */ bnez $t2, .Ljp7F045B40 -/* 07A65C 7F045AEC C6100014 */ lwc1 $f16, 0x14($s0) -/* 07A660 7F045AF0 46008100 */ add.s $f4, $f16, $f0 -/* 07A664 7F045AF4 C6080008 */ lwc1 $f8, 8($s0) -/* 07A668 7F045AF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07A66C 7F045AFC 46022182 */ mul.s $f6, $f4, $f2 -/* 07A670 7F045B00 46064280 */ add.s $f10, $f8, $f6 -/* 07A674 7F045B04 E60A0008 */ swc1 $f10, 8($s0) -/* 07A678 7F045B08 C4420000 */ lwc1 $f2, ($v0) -/* 07A67C 7F045B0C C60C0008 */ lwc1 $f12, 8($s0) -/* 07A680 7F045B10 44815000 */ mtc1 $at, $f10 -/* 07A684 7F045B14 46029102 */ mul.s $f4, $f18, $f2 -/* 07A688 7F045B18 46046381 */ sub.s $f14, $f12, $f4 -/* 07A68C 7F045B1C 460E6200 */ add.s $f8, $f12, $f14 -/* 07A690 7F045B20 46081182 */ mul.s $f6, $f2, $f8 -/* 07A694 7F045B24 C7A806A0 */ lwc1 $f8, 0x6a0($sp) -/* 07A698 7F045B28 460A3102 */ mul.s $f4, $f6, $f10 -/* 07A69C 7F045B2C 46044180 */ add.s $f6, $f8, $f4 -/* 07A6A0 7F045B30 E7A606A0 */ swc1 $f6, 0x6a0($sp) -/* 07A6A4 7F045B34 E60E0008 */ swc1 $f14, 8($s0) -/* 07A6A8 7F045B38 1000000C */ b .Ljp7F045B6C -/* 07A6AC 7F045B3C C4420000 */ lwc1 $f2, ($v0) -.Ljp7F045B40: -/* 07A6B0 7F045B40 46008200 */ add.s $f8, $f16, $f0 -/* 07A6B4 7F045B44 C60A0008 */ lwc1 $f10, 8($s0) -/* 07A6B8 7F045B48 46024102 */ mul.s $f4, $f8, $f2 -/* 07A6BC 7F045B4C 46045180 */ add.s $f6, $f10, $f4 -/* 07A6C0 7F045B50 E6060008 */ swc1 $f6, 8($s0) -/* 07A6C4 7F045B54 C60A0008 */ lwc1 $f10, 8($s0) -/* 07A6C8 7F045B58 C4420000 */ lwc1 $f2, ($v0) -/* 07A6CC 7F045B5C C7A806A0 */ lwc1 $f8, 0x6a0($sp) -/* 07A6D0 7F045B60 46025102 */ mul.s $f4, $f10, $f2 -/* 07A6D4 7F045B64 46044180 */ add.s $f6, $f8, $f4 -/* 07A6D8 7F045B68 E7A606A0 */ swc1 $f6, 0x6a0($sp) -.Ljp7F045B6C: -/* 07A6DC 7F045B6C C6080010 */ lwc1 $f8, 0x10($s0) -/* 07A6E0 7F045B70 C60A0004 */ lwc1 $f10, 4($s0) -/* 07A6E4 7F045B74 26240018 */ addiu $a0, $s1, 0x18 -/* 07A6E8 7F045B78 46024102 */ mul.s $f4, $f8, $f2 -/* 07A6EC 7F045B7C C6080018 */ lwc1 $f8, 0x18($s0) -/* 07A6F0 7F045B80 26050020 */ addiu $a1, $s0, 0x20 -/* 07A6F4 7F045B84 46045180 */ add.s $f6, $f10, $f4 -/* 07A6F8 7F045B88 E6060004 */ swc1 $f6, 4($s0) -/* 07A6FC 7F045B8C C44A0000 */ lwc1 $f10, ($v0) -/* 07A700 7F045B90 C606000C */ lwc1 $f6, 0xc($s0) -/* 07A704 7F045B94 460A4102 */ mul.s $f4, $f8, $f10 -/* 07A708 7F045B98 46043200 */ add.s $f8, $f6, $f4 -/* 07A70C 7F045B9C C6060004 */ lwc1 $f6, 4($s0) -/* 07A710 7F045BA0 E608000C */ swc1 $f8, 0xc($s0) -/* 07A714 7F045BA4 C4420000 */ lwc1 $f2, ($v0) -/* 07A718 7F045BA8 C7AA069C */ lwc1 $f10, 0x69c($sp) -/* 07A71C 7F045BAC 8CE60000 */ lw $a2, ($a3) -/* 07A720 7F045BB0 46023102 */ mul.s $f4, $f6, $f2 -/* 07A724 7F045BB4 C7A606A4 */ lwc1 $f6, 0x6a4($sp) -/* 07A728 7F045BB8 46045200 */ add.s $f8, $f10, $f4 -/* 07A72C 7F045BBC E7A8069C */ swc1 $f8, 0x69c($sp) -/* 07A730 7F045BC0 C60A000C */ lwc1 $f10, 0xc($s0) -/* 07A734 7F045BC4 AFA50070 */ sw $a1, 0x70($sp) -/* 07A738 7F045BC8 AFA40074 */ sw $a0, 0x74($sp) -/* 07A73C 7F045BCC 46025102 */ mul.s $f4, $f10, $f2 -/* 07A740 7F045BD0 46043200 */ add.s $f8, $f6, $f4 -/* 07A744 7F045BD4 0FC160C6 */ jal sub_GAME_7F057DF8 -/* 07A748 7F045BD8 E7A806A4 */ swc1 $f8, 0x6a4($sp) -/* 07A74C 7F045BDC 922D0003 */ lbu $t5, 3($s1) -/* 07A750 7F045BE0 24010008 */ li $at, 8 -/* 07A754 7F045BE4 55A10013 */ bnel $t5, $at, .Ljp7F045C34 -/* 07A758 7F045BE8 8E040088 */ lw $a0, 0x88($s0) -/* 07A75C 7F045BEC 82220080 */ lb $v0, 0x80($s1) -/* 07A760 7F045BF0 2401001D */ li $at, 29 -/* 07A764 7F045BF4 1041000D */ beq $v0, $at, .Ljp7F045C2C -/* 07A768 7F045BF8 2401001B */ li $at, 27 -/* 07A76C 7F045BFC 1041000B */ beq $v0, $at, .Ljp7F045C2C -/* 07A770 7F045C00 2401001C */ li $at, 28 -/* 07A774 7F045C04 10410009 */ beq $v0, $at, .Ljp7F045C2C -/* 07A778 7F045C08 24010021 */ li $at, 33 -/* 07A77C 7F045C0C 10410007 */ beq $v0, $at, .Ljp7F045C2C -/* 07A780 7F045C10 2401002F */ li $at, 47 -/* 07A784 7F045C14 10410005 */ beq $v0, $at, .Ljp7F045C2C -/* 07A788 7F045C18 24010030 */ li $at, 48 -/* 07A78C 7F045C1C 10410003 */ beq $v0, $at, .Ljp7F045C2C -/* 07A790 7F045C20 24010022 */ li $at, 34 -/* 07A794 7F045C24 54410003 */ bnel $v0, $at, .Ljp7F045C34 -/* 07A798 7F045C28 8E040088 */ lw $a0, 0x88($s0) -.Ljp7F045C2C: -/* 07A79C 7F045C2C 24120001 */ li $s2, 1 -/* 07A7A0 7F045C30 8E040088 */ lw $a0, 0x88($s0) -.Ljp7F045C34: -/* 07A7A4 7F045C34 50800004 */ beql $a0, $zero, .Ljp7F045C48 -/* 07A7A8 7F045C38 02202025 */ move $a0, $s1 -/* 07A7AC 7F045C3C 0FC0F4D6 */ jal sub_GAME_7F03D058 -/* 07A7B0 7F045C40 00002825 */ move $a1, $zero -/* 07A7B4 7F045C44 02202025 */ move $a0, $s1 -.Ljp7F045C48: -/* 07A7B8 7F045C48 27A5069C */ addiu $a1, $sp, 0x69c -/* 07A7BC 7F045C4C 27A6061C */ addiu $a2, $sp, 0x61c -/* 07A7C0 7F045C50 27A70628 */ addiu $a3, $sp, 0x628 -/* 07A7C4 7F045C54 AFB20010 */ sw $s2, 0x10($sp) -/* 07A7C8 7F045C58 0FC10C6D */ jal sub_GAME_7F042EB4 -/* 07A7CC 7F045C5C AFA00014 */ sw $zero, 0x14($sp) -/* 07A7D0 7F045C60 AFA2066C */ sw $v0, 0x66c($sp) -/* 07A7D4 7F045C64 8E040088 */ lw $a0, 0x88($s0) -/* 07A7D8 7F045C68 50800004 */ beql $a0, $zero, .Ljp7F045C7C -/* 07A7DC 7F045C6C 8FB9066C */ lw $t9, 0x66c($sp) -/* 07A7E0 7F045C70 0FC0F4D6 */ jal sub_GAME_7F03D058 -/* 07A7E4 7F045C74 24050001 */ li $a1, 1 -/* 07A7E8 7F045C78 8FB9066C */ lw $t9, 0x66c($sp) -.Ljp7F045C7C: -/* 07A7EC 7F045C7C 240F0001 */ li $t7, 1 -/* 07A7F0 7F045C80 24010002 */ li $at, 2 -/* 07A7F4 7F045C84 17210042 */ bne $t9, $at, .Ljp7F045D90 -/* 07A7F8 7F045C88 AFAF0698 */ sw $t7, 0x698($sp) -/* 07A7FC 7F045C8C 3C038003 */ lui $v1, %hi(D_80030B0C) # $v1, 0x8003 -/* 07A800 7F045C90 8C630B4C */ lw $v1, %lo(D_80030B0C)($v1) -/* 07A804 7F045C94 10600007 */ beqz $v1, .Ljp7F045CB4 -/* 07A808 7F045C98 00000000 */ nop -/* 07A80C 7F045C9C 90620000 */ lbu $v0, ($v1) -/* 07A810 7F045CA0 24010003 */ li $at, 3 -/* 07A814 7F045CA4 1041003A */ beq $v0, $at, .Ljp7F045D90 -/* 07A818 7F045CA8 24010006 */ li $at, 6 -/* 07A81C 7F045CAC 50410039 */ beql $v0, $at, .Ljp7F045D94 -/* 07A820 7F045CB0 8FB9060C */ lw $t9, 0x60c($sp) -.Ljp7F045CB4: -/* 07A824 7F045CB4 10600007 */ beqz $v1, .Ljp7F045CD4 -/* 07A828 7F045CB8 00002025 */ move $a0, $zero -/* 07A82C 7F045CBC 8C620004 */ lw $v0, 4($v1) -/* 07A830 7F045CC0 8C580064 */ lw $t8, 0x64($v0) -/* 07A834 7F045CC4 33080080 */ andi $t0, $t8, 0x80 -/* 07A838 7F045CC8 11000002 */ beqz $t0, .Ljp7F045CD4 -/* 07A83C 7F045CCC 00000000 */ nop -/* 07A840 7F045CD0 24040001 */ li $a0, 1 -.Ljp7F045CD4: -/* 07A844 7F045CD4 5480002F */ bnezl $a0, .Ljp7F045D94 -/* 07A848 7F045CD8 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A84C 7F045CDC 0FC0FF9C */ jal sub_GAME_7F03FB70 -/* 07A850 7F045CE0 02002025 */ move $a0, $s0 -/* 07A854 7F045CE4 8E290064 */ lw $t1, 0x64($s1) -/* 07A858 7F045CE8 2401FF7F */ li $at, -129 -/* 07A85C 7F045CEC AE20006C */ sw $zero, 0x6c($s1) -/* 07A860 7F045CF0 01215824 */ and $t3, $t1, $at -/* 07A864 7F045CF4 AE2B0064 */ sw $t3, 0x64($s1) -/* 07A868 7F045CF8 92620001 */ lbu $v0, 1($s3) -/* 07A86C 7F045CFC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07A870 7F045D00 240500F1 */ li $a1, 241 -/* 07A874 7F045D04 304C0008 */ andi $t4, $v0, 8 -/* 07A878 7F045D08 11800003 */ beqz $t4, .Ljp7F045D18 -/* 07A87C 7F045D0C 00003025 */ move $a2, $zero -/* 07A880 7F045D10 344E0010 */ ori $t6, $v0, 0x10 -/* 07A884 7F045D14 A26E0001 */ sb $t6, 1($s3) -.Ljp7F045D18: -/* 07A888 7F045D18 0C002386 */ jal play_sfx_a1 -/* 07A88C 7F045D1C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07A890 7F045D20 00402025 */ move $a0, $v0 -/* 07A894 7F045D24 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07A898 7F045D28 26650008 */ addiu $a1, $s3, 8 -/* 07A89C 7F045D2C 8E6A0014 */ lw $t2, 0x14($s3) -/* 07A8A0 7F045D30 82240080 */ lb $a0, 0x80($s1) -/* 07A8A4 7F045D34 0FC15F41 */ jal sub_GAME_7F0577E8 -/* 07A8A8 7F045D38 91450003 */ lbu $a1, 3($t2) -/* 07A8AC 7F045D3C 02202025 */ move $a0, $s1 -/* 07A8B0 7F045D40 27A5061C */ addiu $a1, $sp, 0x61c -/* 07A8B4 7F045D44 8E660014 */ lw $a2, 0x14($s3) -/* 07A8B8 7F045D48 0FC10F2E */ jal sub_GAME_7F0439B8 -/* 07A8BC 7F045D4C 27A70628 */ addiu $a3, $sp, 0x628 -/* 07A8C0 7F045D50 3C058003 */ lui $a1, %hi(D_80030B0C) # $a1, 0x8003 -/* 07A8C4 7F045D54 8CA50B4C */ lw $a1, %lo(D_80030B0C)($a1) -/* 07A8C8 7F045D58 02602025 */ move $a0, $s3 -/* 07A8CC 7F045D5C 3C068007 */ lui $a2, %hi(objinst) # $a2, 0x8007 -/* 07A8D0 7F045D60 10A0000B */ beqz $a1, .Ljp7F045D90 -/* 07A8D4 7F045D64 3C078007 */ lui $a3, %hi(dword_CODE_bss_80075B74) # $a3, 0x8007 -/* 07A8D8 7F045D68 8E720014 */ lw $s2, 0x14($s3) -/* 07A8DC 7F045D6C 8CC65BB0 */ lw $a2, %lo(objinst)($a2) -/* 07A8E0 7F045D70 0FC10F5B */ jal sub_GAME_7F043A6C -/* 07A8E4 7F045D74 8CE75BB4 */ lw $a3, %lo(dword_CODE_bss_80075B74)($a3) -/* 07A8E8 7F045D78 10400005 */ beqz $v0, .Ljp7F045D90 -/* 07A8EC 7F045D7C 240D0005 */ li $t5, 5 -/* 07A8F0 7F045D80 AE720014 */ sw $s2, 0x14($s3) -/* 07A8F4 7F045D84 240F0001 */ li $t7, 1 -/* 07A8F8 7F045D88 AFAD0688 */ sw $t5, 0x688($sp) -/* 07A8FC 7F045D8C AFAF060C */ sw $t7, 0x60c($sp) -.Ljp7F045D90: -/* 07A900 7F045D90 8FB9060C */ lw $t9, 0x60c($sp) -.Ljp7F045D94: -/* 07A904 7F045D94 172000EC */ bnez $t9, .Ljp7F046148 -/* 07A908 7F045D98 3C128003 */ lui $s2, %hi(D_80030B0C) # $s2, 0x8003 -/* 07A90C 7F045D9C 8E520B4C */ lw $s2, %lo(D_80030B0C)($s2) -/* 07A910 7F045DA0 524000EA */ beql $s2, $zero, .Ljp7F04614C -/* 07A914 7F045DA4 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A918 7F045DA8 92380003 */ lbu $t8, 3($s1) -/* 07A91C 7F045DAC 24010008 */ li $at, 8 -/* 07A920 7F045DB0 570100E6 */ bnel $t8, $at, .Ljp7F04614C -/* 07A924 7F045DB4 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A928 7F045DB8 82220080 */ lb $v0, 0x80($s1) -/* 07A92C 7F045DBC 24010003 */ li $at, 3 -/* 07A930 7F045DC0 544100C3 */ bnel $v0, $at, .Ljp7F0460D0 -/* 07A934 7F045DC4 24010056 */ li $at, 86 -/* 07A938 7F045DC8 92420000 */ lbu $v0, ($s2) -/* 07A93C 7F045DCC 24010003 */ li $at, 3 -/* 07A940 7F045DD0 1041000D */ beq $v0, $at, .Ljp7F045E08 -/* 07A944 7F045DD4 24010006 */ li $at, 6 -/* 07A948 7F045DD8 544100DC */ bnel $v0, $at, .Ljp7F04614C -/* 07A94C 7F045DDC 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A950 7F045DE0 8E480004 */ lw $t0, 4($s2) -/* 07A954 7F045DE4 510000D9 */ beql $t0, $zero, .Ljp7F04614C -/* 07A958 7F045DE8 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A95C 7F045DEC 0FC26F3F */ jal sub_GAME_7F09B15C -/* 07A960 7F045DF0 02402025 */ move $a0, $s2 -/* 07A964 7F045DF4 0FC26F3C */ jal get_cur_playernum -/* 07A968 7F045DF8 00409025 */ move $s2, $v0 -/* 07A96C 7F045DFC 105200D2 */ beq $v0, $s2, .Ljp7F046148 -/* 07A970 7F045E00 3C128003 */ lui $s2, %hi(D_80030B0C) # $s2, 0x8003 -/* 07A974 7F045E04 8E520B4C */ lw $s2, %lo(D_80030B0C)($s2) -.Ljp7F045E08: -/* 07A978 7F045E08 8E22006C */ lw $v0, 0x6c($s1) -/* 07A97C 7F045E0C 8E440004 */ lw $a0, 4($s2) -/* 07A980 7F045E10 8C490000 */ lw $t1, ($v0) -/* 07A984 7F045E14 312B0001 */ andi $t3, $t1, 1 -/* 07A988 7F045E18 516000CC */ beql $t3, $zero, .Ljp7F04614C -/* 07A98C 7F045E1C 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A990 7F045E20 8C4C0090 */ lw $t4, 0x90($v0) -/* 07A994 7F045E24 5D8000C9 */ bgtzl $t4, .Ljp7F04614C -/* 07A998 7F045E28 8FB9060C */ lw $t9, 0x60c($sp) -/* 07A99C 7F045E2C 8E2E0064 */ lw $t6, 0x64($s1) -/* 07A9A0 7F045E30 3C068007 */ lui $a2, %hi(flt_CODE_bss_80075B78) # $a2, 0x8007 -/* 07A9A4 7F045E34 24C65BB8 */ addiu $a2, %lo(flt_CODE_bss_80075B78) # addiu $a2, $a2, 0x5bb8 -/* 07A9A8 7F045E38 31CA0020 */ andi $t2, $t6, 0x20 -/* 07A9AC 7F045E3C 114000C2 */ beqz $t2, .Ljp7F046148 -/* 07A9B0 7F045E40 3C058003 */ lui $a1, %hi(bodypartshot) # $a1, 0x8003 -/* 07A9B4 7F045E44 82270080 */ lb $a3, 0x80($s1) -/* 07A9B8 7F045E48 240D0001 */ li $t5, 1 -/* 07A9BC 7F045E4C AFAD0010 */ sw $t5, 0x10($sp) -/* 07A9C0 7F045E50 0FC09D61 */ jal handles_shot_actors -/* 07A9C4 7F045E54 8CA50B50 */ lw $a1, %lo(bodypartshot)($a1) -/* 07A9C8 7F045E58 104000BB */ beqz $v0, .Ljp7F046148 -/* 07A9CC 7F045E5C 240F0001 */ li $t7, 1 -/* 07A9D0 7F045E60 AFAF060C */ sw $t7, 0x60c($sp) -/* 07A9D4 7F045E64 C610008C */ lwc1 $f16, 0x8c($s0) -/* 07A9D8 7F045E68 C7AA0628 */ lwc1 $f10, 0x628($sp) -/* 07A9DC 7F045E6C 4610B03C */ c.lt.s $f22, $f16 -/* 07A9E0 7F045E70 00000000 */ nop -/* 07A9E4 7F045E74 4502001D */ bc1fl .Ljp7F045EEC -/* 07A9E8 7F045E78 8E190000 */ lw $t9, ($s0) -/* 07A9EC 7F045E7C C6020004 */ lwc1 $f2, 4($s0) -/* 07A9F0 7F045E80 C60C0008 */ lwc1 $f12, 8($s0) -/* 07A9F4 7F045E84 C7A4062C */ lwc1 $f4, 0x62c($sp) -/* 07A9F8 7F045E88 460A1182 */ mul.s $f6, $f2, $f10 -/* 07A9FC 7F045E8C C600000C */ lwc1 $f0, 0xc($s0) -/* 07AA00 7F045E90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AA04 7F045E94 46046202 */ mul.s $f8, $f12, $f4 -/* 07AA08 7F045E98 46083100 */ add.s $f4, $f6, $f8 -/* 07AA0C 7F045E9C C7A60630 */ lwc1 $f6, 0x630($sp) -/* 07AA10 7F045EA0 46003202 */ mul.s $f8, $f6, $f0 -/* 07AA14 7F045EA4 44813000 */ mtc1 $at, $f6 -/* 07AA18 7F045EA8 46044380 */ add.s $f14, $f8, $f4 -/* 07AA1C 7F045EAC 46068200 */ add.s $f8, $f16, $f6 -/* 07AA20 7F045EB0 46004107 */ neg.s $f4, $f8 -/* 07AA24 7F045EB4 46047382 */ mul.s $f14, $f14, $f4 -/* 07AA28 7F045EB8 00000000 */ nop -/* 07AA2C 7F045EBC 460A7182 */ mul.s $f6, $f14, $f10 -/* 07AA30 7F045EC0 46061200 */ add.s $f8, $f2, $f6 -/* 07AA34 7F045EC4 E6080004 */ swc1 $f8, 4($s0) -/* 07AA38 7F045EC8 C7A4062C */ lwc1 $f4, 0x62c($sp) -/* 07AA3C 7F045ECC 46047282 */ mul.s $f10, $f14, $f4 -/* 07AA40 7F045ED0 460A6180 */ add.s $f6, $f12, $f10 -/* 07AA44 7F045ED4 E6060008 */ swc1 $f6, 8($s0) -/* 07AA48 7F045ED8 C7A80630 */ lwc1 $f8, 0x630($sp) -/* 07AA4C 7F045EDC 46087102 */ mul.s $f4, $f14, $f8 -/* 07AA50 7F045EE0 46040280 */ add.s $f10, $f0, $f4 -/* 07AA54 7F045EE4 E60A000C */ swc1 $f10, 0xc($s0) -/* 07AA58 7F045EE8 8E190000 */ lw $t9, ($s0) -.Ljp7F045EEC: -/* 07AA5C 7F045EEC 33380200 */ andi $t8, $t9, 0x200 -/* 07AA60 7F045EF0 57000004 */ bnezl $t8, .Ljp7F045F04 -/* 07AA64 7F045EF4 8E080090 */ lw $t0, 0x90($s0) -/* 07AA68 7F045EF8 0FC15FF8 */ jal sub_GAME_7F057AC0 -/* 07AA6C 7F045EFC 8FA40070 */ lw $a0, 0x70($sp) -/* 07AA70 7F045F00 8E080090 */ lw $t0, 0x90($s0) -.Ljp7F045F04: -/* 07AA74 7F045F04 3C058003 */ lui $a1, %hi(D_80030B0C) # $a1, 0x8003 -/* 07AA78 7F045F08 2406FFFF */ li $a2, -1 -/* 07AA7C 7F045F0C 25090001 */ addiu $t1, $t0, 1 -/* 07AA80 7F045F10 AE090090 */ sw $t1, 0x90($s0) -/* 07AA84 7F045F14 8CA50B4C */ lw $a1, %lo(D_80030B0C)($a1) -/* 07AA88 7F045F18 0FC19252 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 07AA8C 7F045F1C 82240080 */ lb $a0, 0x80($s1) -/* 07AA90 7F045F20 3C0B8003 */ lui $t3, %hi(D_80030B0C) # $t3, 0x8003 -/* 07AA94 7F045F24 8D6B0B4C */ lw $t3, %lo(D_80030B0C)($t3) -/* 07AA98 7F045F28 3C028003 */ lui $v0, %hi(bodypartshot) # $v0, 0x8003 -/* 07AA9C 7F045F2C 916C0001 */ lbu $t4, 1($t3) -/* 07AAA0 7F045F30 318E0002 */ andi $t6, $t4, 2 -/* 07AAA4 7F045F34 51C00085 */ beql $t6, $zero, .Ljp7F04614C -/* 07AAA8 7F045F38 8FB9060C */ lw $t9, 0x60c($sp) -/* 07AAAC 7F045F3C 8C420B50 */ lw $v0, %lo(bodypartshot)($v0) -/* 07AAB0 7F045F40 24010064 */ li $at, 100 -/* 07AAB4 7F045F44 10410080 */ beq $v0, $at, .Ljp7F046148 -/* 07AAB8 7F045F48 2401006E */ li $at, 110 -/* 07AABC 7F045F4C 1041007E */ beq $v0, $at, .Ljp7F046148 -/* 07AAC0 7F045F50 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 -/* 07AAC4 7F045F54 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 -/* 07AAC8 7F045F58 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07AACC 7F045F5C 8C845BB0 */ lw $a0, %lo(objinst)($a0) -/* 07AAD0 7F045F60 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07AAD4 7F045F64 00003025 */ move $a2, $zero -/* 07AAD8 7F045F68 C7A6061C */ lwc1 $f6, 0x61c($sp) -/* 07AADC 7F045F6C C7A80620 */ lwc1 $f8, 0x620($sp) -/* 07AAE0 7F045F70 C7A40624 */ lwc1 $f4, 0x624($sp) -/* 07AAE4 7F045F74 00409025 */ move $s2, $v0 -/* 07AAE8 7F045F78 E7A605D4 */ swc1 $f6, 0x5d4($sp) -/* 07AAEC 7F045F7C E7A805D8 */ swc1 $f8, 0x5d8($sp) -/* 07AAF0 7F045F80 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07AAF4 7F045F84 E7A405DC */ swc1 $f4, 0x5dc($sp) -/* 07AAF8 7F045F88 00402025 */ move $a0, $v0 -/* 07AAFC 7F045F8C 0FC16265 */ jal sub_GAME_7F058474 -/* 07AB00 7F045F90 27A505D4 */ addiu $a1, $sp, 0x5d4 -/* 07AB04 7F045F94 C7AA05D4 */ lwc1 $f10, 0x5d4($sp) -/* 07AB08 7F045F98 C6460030 */ lwc1 $f6, 0x30($s2) -/* 07AB0C 7F045F9C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07AB10 7F045FA0 44810000 */ mtc1 $at, $f0 -/* 07AB14 7F045FA4 46065201 */ sub.s $f8, $f10, $f6 -/* 07AB18 7F045FA8 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 -/* 07AB1C 7F045FAC 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 -/* 07AB20 7F045FB0 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07AB24 7F045FB4 46004102 */ mul.s $f4, $f8, $f0 -/* 07AB28 7F045FB8 C7A805D8 */ lwc1 $f8, 0x5d8($sp) -/* 07AB2C 7F045FBC 8C845BB0 */ lw $a0, %lo(objinst)($a0) -/* 07AB30 7F045FC0 46045180 */ add.s $f6, $f10, $f4 -/* 07AB34 7F045FC4 E7A605D4 */ swc1 $f6, 0x5d4($sp) -/* 07AB38 7F045FC8 C64A0034 */ lwc1 $f10, 0x34($s2) -/* 07AB3C 7F045FCC 460A4101 */ sub.s $f4, $f8, $f10 -/* 07AB40 7F045FD0 46002182 */ mul.s $f6, $f4, $f0 -/* 07AB44 7F045FD4 C7A405DC */ lwc1 $f4, 0x5dc($sp) -/* 07AB48 7F045FD8 46064280 */ add.s $f10, $f8, $f6 -/* 07AB4C 7F045FDC E7AA05D8 */ swc1 $f10, 0x5d8($sp) -/* 07AB50 7F045FE0 C6480038 */ lwc1 $f8, 0x38($s2) -/* 07AB54 7F045FE4 46082181 */ sub.s $f6, $f4, $f8 -/* 07AB58 7F045FE8 46003282 */ mul.s $f10, $f6, $f0 -/* 07AB5C 7F045FEC 460A2200 */ add.s $f8, $f4, $f10 -/* 07AB60 7F045FF0 0FC1B520 */ jal getjointsize -/* 07AB64 7F045FF4 E7A805DC */ swc1 $f8, 0x5dc($sp) -/* 07AB68 7F045FF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07AB6C 7F045FFC 44813000 */ mtc1 $at, $f6 -/* 07AB70 7F046000 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B88) # $at, 0x8007 -/* 07AB74 7F046004 C42A5BC8 */ lwc1 $f10, %lo(flt_CODE_bss_80075B88)($at) -/* 07AB78 7F046008 46060102 */ mul.s $f4, $f0, $f6 -/* 07AB7C 7F04600C C7A605D4 */ lwc1 $f6, 0x5d4($sp) -/* 07AB80 7F046010 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 -/* 07AB84 7F046014 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 -/* 07AB88 7F046018 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07AB8C 7F04601C 8C845BB0 */ lw $a0, %lo(objinst)($a0) -/* 07AB90 7F046020 460A2202 */ mul.s $f8, $f4, $f10 -/* 07AB94 7F046024 46083101 */ sub.s $f4, $f6, $f8 -/* 07AB98 7F046028 0FC1B520 */ jal getjointsize -/* 07AB9C 7F04602C E7A405D4 */ swc1 $f4, 0x5d4($sp) -/* 07ABA0 7F046030 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07ABA4 7F046034 44815000 */ mtc1 $at, $f10 -/* 07ABA8 7F046038 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B8C) # $at, 0x8007 -/* 07ABAC 7F04603C C4285BCC */ lwc1 $f8, %lo(flt_CODE_bss_80075B8C)($at) -/* 07ABB0 7F046040 460A0182 */ mul.s $f6, $f0, $f10 -/* 07ABB4 7F046044 C7AA05D8 */ lwc1 $f10, 0x5d8($sp) -/* 07ABB8 7F046048 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 -/* 07ABBC 7F04604C 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 -/* 07ABC0 7F046050 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) -/* 07ABC4 7F046054 8C845BB0 */ lw $a0, %lo(objinst)($a0) -/* 07ABC8 7F046058 46083102 */ mul.s $f4, $f6, $f8 -/* 07ABCC 7F04605C 46045181 */ sub.s $f6, $f10, $f4 -/* 07ABD0 7F046060 0FC1B520 */ jal getjointsize -/* 07ABD4 7F046064 E7A605D8 */ swc1 $f6, 0x5d8($sp) -/* 07ABD8 7F046068 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07ABDC 7F04606C 44814000 */ mtc1 $at, $f8 -/* 07ABE0 7F046070 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B90) # $at, 0x8007 -/* 07ABE4 7F046074 C4245BD0 */ lwc1 $f4, %lo(flt_CODE_bss_80075B90)($at) -/* 07ABE8 7F046078 46080282 */ mul.s $f10, $f0, $f8 -/* 07ABEC 7F04607C C7A805DC */ lwc1 $f8, 0x5dc($sp) -/* 07ABF0 7F046080 02402025 */ move $a0, $s2 -/* 07ABF4 7F046084 27A50594 */ addiu $a1, $sp, 0x594 -/* 07ABF8 7F046088 46045182 */ mul.s $f6, $f10, $f4 -/* 07ABFC 7F04608C 46064281 */ sub.s $f10, $f8, $f6 -/* 07AC00 7F046090 0FC168E1 */ jal sub_GAME_7F059E64 -/* 07AC04 7F046094 E7AA05DC */ swc1 $f10, 0x5dc($sp) -/* 07AC08 7F046098 27A40594 */ addiu $a0, $sp, 0x594 -/* 07AC0C 7F04609C 0FC16265 */ jal sub_GAME_7F058474 -/* 07AC10 7F0460A0 27A505D4 */ addiu $a1, $sp, 0x5d4 -/* 07AC14 7F0460A4 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 -/* 07AC18 7F0460A8 3C058003 */ lui $a1, %hi(bodypartshot) # $a1, 0x8003 -/* 07AC1C 7F0460AC 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075B74) # $a2, 0x8007 -/* 07AC20 7F0460B0 8CC65BB4 */ lw $a2, %lo(dword_CODE_bss_80075B74)($a2) -/* 07AC24 7F0460B4 8CA50B50 */ lw $a1, %lo(bodypartshot)($a1) -/* 07AC28 7F0460B8 8C845BB0 */ lw $a0, %lo(objinst)($a0) -/* 07AC2C 7F0460BC 0FC08931 */ jal sub_GAME_7F0221DC -/* 07AC30 7F0460C0 27A705D4 */ addiu $a3, $sp, 0x5d4 -/* 07AC34 7F0460C4 10000021 */ b .Ljp7F04614C -/* 07AC38 7F0460C8 8FB9060C */ lw $t9, 0x60c($sp) -/* 07AC3C 7F0460CC 24010056 */ li $at, 86 -.Ljp7F0460D0: -/* 07AC40 7F0460D0 5441001E */ bnel $v0, $at, .Ljp7F04614C -/* 07AC44 7F0460D4 8FB9060C */ lw $t9, 0x60c($sp) -/* 07AC48 7F0460D8 92420000 */ lbu $v0, ($s2) -/* 07AC4C 7F0460DC 240A0001 */ li $t2, 1 -/* 07AC50 7F0460E0 24010003 */ li $at, 3 -/* 07AC54 7F0460E4 14410008 */ bne $v0, $at, .Ljp7F046108 -/* 07AC58 7F0460E8 AFAA060C */ sw $t2, 0x60c($sp) -/* 07AC5C 7F0460EC 8E440004 */ lw $a0, 4($s2) -/* 07AC60 7F0460F0 26250058 */ addiu $a1, $s1, 0x58 -/* 07AC64 7F0460F4 3C064000 */ lui $a2, 0x4000 -/* 07AC68 7F0460F8 0FC09EC3 */ jal sub_GAME_7F027804 -/* 07AC6C 7F0460FC 24070001 */ li $a3, 1 -/* 07AC70 7F046100 10000011 */ b .Ljp7F046148 -/* 07AC74 7F046104 A6200082 */ sh $zero, 0x82($s1) -.Ljp7F046108: -/* 07AC78 7F046108 24010001 */ li $at, 1 -/* 07AC7C 7F04610C 10410004 */ beq $v0, $at, .Ljp7F046120 -/* 07AC80 7F046110 3C0542C8 */ lui $a1, 0x42c8 -/* 07AC84 7F046114 24010004 */ li $at, 4 -/* 07AC88 7F046118 5441000B */ bnel $v0, $at, .Ljp7F046148 -/* 07AC8C 7F04611C A6200082 */ sh $zero, 0x82($s1) -.Ljp7F046120: -/* 07AC90 7F046120 8E220064 */ lw $v0, 0x64($s1) -/* 07AC94 7F046124 3C010006 */ lui $at, 6 -/* 07AC98 7F046128 8E440004 */ lw $a0, 4($s2) -/* 07AC9C 7F04612C 00416824 */ and $t5, $v0, $at -/* 07ACA0 7F046130 000D7C42 */ srl $t7, $t5, 0x11 -/* 07ACA4 7F046134 AFAF0010 */ sw $t7, 0x10($sp) -/* 07ACA8 7F046138 26260058 */ addiu $a2, $s1, 0x58 -/* 07ACAC 7F04613C 0FC13943 */ jal maybe_detonate_object -/* 07ACB0 7F046140 24070056 */ li $a3, 86 -/* 07ACB4 7F046144 A6200082 */ sh $zero, 0x82($s1) -.Ljp7F046148: -/* 07ACB8 7F046148 8FB9060C */ lw $t9, 0x60c($sp) -.Ljp7F04614C: -/* 07ACBC 7F04614C 5720010B */ bnezl $t9, .Ljp7F04657C -/* 07ACC0 7F046150 8E2F0064 */ lw $t7, 0x64($s1) -/* 07ACC4 7F046154 8FB8066C */ lw $t8, 0x66c($sp) -/* 07ACC8 7F046158 57000031 */ bnezl $t8, .Ljp7F046220 -/* 07ACCC 7F04615C 8E090000 */ lw $t1, ($s0) -/* 07ACD0 7F046160 C610008C */ lwc1 $f16, 0x8c($s0) -/* 07ACD4 7F046164 C7A40628 */ lwc1 $f4, 0x628($sp) -/* 07ACD8 7F046168 4610B03C */ c.lt.s $f22, $f16 -/* 07ACDC 7F04616C 00000000 */ nop -/* 07ACE0 7F046170 4502002B */ bc1fl .Ljp7F046220 -/* 07ACE4 7F046174 8E090000 */ lw $t1, ($s0) -/* 07ACE8 7F046178 C6020004 */ lwc1 $f2, 4($s0) -/* 07ACEC 7F04617C C60C0008 */ lwc1 $f12, 8($s0) -/* 07ACF0 7F046180 C7A6062C */ lwc1 $f6, 0x62c($sp) -/* 07ACF4 7F046184 46041202 */ mul.s $f8, $f2, $f4 -/* 07ACF8 7F046188 C600000C */ lwc1 $f0, 0xc($s0) -/* 07ACFC 7F04618C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07AD00 7F046190 46066282 */ mul.s $f10, $f12, $f6 -/* 07AD04 7F046194 4616603E */ c.le.s $f12, $f22 -/* 07AD08 7F046198 460A4180 */ add.s $f6, $f8, $f10 -/* 07AD0C 7F04619C C7A80630 */ lwc1 $f8, 0x630($sp) -/* 07AD10 7F0461A0 46004282 */ mul.s $f10, $f8, $f0 -/* 07AD14 7F0461A4 44814000 */ mtc1 $at, $f8 -/* 07AD18 7F0461A8 46065380 */ add.s $f14, $f10, $f6 -/* 07AD1C 7F0461AC 46088280 */ add.s $f10, $f16, $f8 -/* 07AD20 7F0461B0 46005187 */ neg.s $f6, $f10 -/* 07AD24 7F0461B4 46067382 */ mul.s $f14, $f14, $f6 -/* 07AD28 7F0461B8 00000000 */ nop -/* 07AD2C 7F0461BC 46047202 */ mul.s $f8, $f14, $f4 -/* 07AD30 7F0461C0 46081280 */ add.s $f10, $f2, $f8 -/* 07AD34 7F0461C4 E60A0004 */ swc1 $f10, 4($s0) -/* 07AD38 7F0461C8 C7A6062C */ lwc1 $f6, 0x62c($sp) -/* 07AD3C 7F0461CC 46067102 */ mul.s $f4, $f14, $f6 -/* 07AD40 7F0461D0 46046200 */ add.s $f8, $f12, $f4 -/* 07AD44 7F0461D4 E6080008 */ swc1 $f8, 8($s0) -/* 07AD48 7F0461D8 C7AA0630 */ lwc1 $f10, 0x630($sp) -/* 07AD4C 7F0461DC 460A7182 */ mul.s $f6, $f14, $f10 -/* 07AD50 7F0461E0 46060100 */ add.s $f4, $f0, $f6 -/* 07AD54 7F0461E4 4500000D */ bc1f .Ljp7F04621C -/* 07AD58 7F0461E8 E604000C */ swc1 $f4, 0xc($s0) -/* 07AD5C 7F0461EC C6080008 */ lwc1 $f8, 8($s0) -/* 07AD60 7F0461F0 24080001 */ li $t0, 1 -/* 07AD64 7F0461F4 4608B03E */ c.le.s $f22, $f8 -/* 07AD68 7F0461F8 00000000 */ nop -/* 07AD6C 7F0461FC 45030007 */ bc1tl .Ljp7F04621C -/* 07AD70 7F046200 AFA80614 */ sw $t0, 0x614($sp) -/* 07AD74 7F046204 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07AD78 7F046208 460AA03E */ c.le.s $f20, $f10 -/* 07AD7C 7F04620C 00000000 */ nop -/* 07AD80 7F046210 45020003 */ bc1fl .Ljp7F046220 -/* 07AD84 7F046214 8E090000 */ lw $t1, ($s0) -/* 07AD88 7F046218 AFA80614 */ sw $t0, 0x614($sp) -.Ljp7F04621C: -/* 07AD8C 7F04621C 8E090000 */ lw $t1, ($s0) -.Ljp7F046220: -/* 07AD90 7F046220 C7B40644 */ lwc1 $f20, 0x644($sp) -/* 07AD94 7F046224 312B0008 */ andi $t3, $t1, 8 -/* 07AD98 7F046228 15600014 */ bnez $t3, .Ljp7F04627C -/* 07AD9C 7F04622C 00000000 */ nop -/* 07ADA0 7F046230 8E640014 */ lw $a0, 0x14($s3) -/* 07ADA4 7F046234 8E650008 */ lw $a1, 8($s3) -/* 07ADA8 7F046238 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 07ADAC 7F04623C 8E660010 */ lw $a2, 0x10($s3) -/* 07ADB0 7F046240 46000506 */ mov.s $f20, $f0 -/* 07ADB4 7F046244 8FA40648 */ lw $a0, 0x648($sp) -/* 07ADB8 7F046248 0FC0FB2F */ jal sub_GAME_7F03E9BC -/* 07ADBC 7F04624C 8FA50074 */ lw $a1, 0x74($sp) -/* 07ADC0 7F046250 4600A101 */ sub.s $f4, $f20, $f0 -/* 07ADC4 7F046254 E7A00640 */ swc1 $f0, 0x640($sp) -/* 07ADC8 7F046258 C666000C */ lwc1 $f6, 0xc($s3) -/* 07ADCC 7F04625C 00006025 */ move $t4, $zero -/* 07ADD0 7F046260 4604303C */ c.lt.s $f6, $f4 -/* 07ADD4 7F046264 00000000 */ nop -/* 07ADD8 7F046268 45000002 */ bc1f .Ljp7F046274 -/* 07ADDC 7F04626C 00000000 */ nop -/* 07ADE0 7F046270 240C0001 */ li $t4, 1 -.Ljp7F046274: -/* 07ADE4 7F046274 10000001 */ b .Ljp7F04627C -/* 07ADE8 7F046278 AFAC0618 */ sw $t4, 0x618($sp) -.Ljp7F04627C: -/* 07ADEC 7F04627C 8FAE0618 */ lw $t6, 0x618($sp) -/* 07ADF0 7F046280 8FAA066C */ lw $t2, 0x66c($sp) -/* 07ADF4 7F046284 55C00004 */ bnezl $t6, .Ljp7F046298 -/* 07ADF8 7F046288 8E0D0000 */ lw $t5, ($s0) -/* 07ADFC 7F04628C 5540000B */ bnezl $t2, .Ljp7F0462BC -/* 07AE00 7F046290 8FA80618 */ lw $t0, 0x618($sp) -/* 07AE04 7F046294 8E0D0000 */ lw $t5, ($s0) -.Ljp7F046298: -/* 07AE08 7F046298 31AF0200 */ andi $t7, $t5, 0x200 -/* 07AE0C 7F04629C 55E00004 */ bnezl $t7, .Ljp7F0462B0 -/* 07AE10 7F0462A0 8E190090 */ lw $t9, 0x90($s0) -/* 07AE14 7F0462A4 0FC15FF8 */ jal sub_GAME_7F057AC0 -/* 07AE18 7F0462A8 8FA40070 */ lw $a0, 0x70($sp) -/* 07AE1C 7F0462AC 8E190090 */ lw $t9, 0x90($s0) -.Ljp7F0462B0: -/* 07AE20 7F0462B0 27380001 */ addiu $t8, $t9, 1 -/* 07AE24 7F0462B4 AE180090 */ sw $t8, 0x90($s0) -/* 07AE28 7F0462B8 8FA80618 */ lw $t0, 0x618($sp) -.Ljp7F0462BC: -/* 07AE2C 7F0462BC 8FA90614 */ lw $t1, 0x614($sp) -/* 07AE30 7F0462C0 8FAB0618 */ lw $t3, 0x618($sp) -/* 07AE34 7F0462C4 15000003 */ bnez $t0, .Ljp7F0462D4 -/* 07AE38 7F0462C8 00000000 */ nop -/* 07AE3C 7F0462CC 5120003A */ beql $t1, $zero, .Ljp7F0463B8 -/* 07AE40 7F0462D0 92390003 */ lbu $t9, 3($s1) -.Ljp7F0462D4: -/* 07AE44 7F0462D4 11600009 */ beqz $t3, .Ljp7F0462FC -/* 07AE48 7F0462D8 C7A40620 */ lwc1 $f4, 0x620($sp) -/* 07AE4C 7F0462DC C7A80640 */ lwc1 $f8, 0x640($sp) -/* 07AE50 7F0462E0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07AE54 7F0462E4 44813000 */ mtc1 $at, $f6 -/* 07AE58 7F0462E8 4608A281 */ sub.s $f10, $f20, $f8 -/* 07AE5C 7F0462EC 46065000 */ add.s $f0, $f10, $f6 -/* 07AE60 7F0462F0 E660000C */ swc1 $f0, 0xc($s3) -/* 07AE64 7F0462F4 10000008 */ b .Ljp7F046318 -/* 07AE68 7F0462F8 E620005C */ swc1 $f0, 0x5c($s1) -.Ljp7F0462FC: -/* 07AE6C 7F0462FC C7A80640 */ lwc1 $f8, 0x640($sp) -/* 07AE70 7F046300 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07AE74 7F046304 44813000 */ mtc1 $at, $f6 -/* 07AE78 7F046308 46082281 */ sub.s $f10, $f4, $f8 -/* 07AE7C 7F04630C 46065080 */ add.s $f2, $f10, $f6 -/* 07AE80 7F046310 E662000C */ swc1 $f2, 0xc($s3) -/* 07AE84 7F046314 E622005C */ swc1 $f2, 0x5c($s1) -.Ljp7F046318: -/* 07AE88 7F046318 8E230064 */ lw $v1, 0x64($s1) -/* 07AE8C 7F04631C 02202025 */ move $a0, $s1 -/* 07AE90 7F046320 000363C0 */ sll $t4, $v1, 0xf -/* 07AE94 7F046324 05800002 */ bltz $t4, .Ljp7F046330 -/* 07AE98 7F046328 346E0100 */ ori $t6, $v1, 0x100 -/* 07AE9C 7F04632C AE2E0064 */ sw $t6, 0x64($s1) -.Ljp7F046330: -/* 07AEA0 7F046330 C610008C */ lwc1 $f16, 0x8c($s0) -/* 07AEA4 7F046334 4610B03C */ c.lt.s $f22, $f16 -/* 07AEA8 7F046338 00000000 */ nop -/* 07AEAC 7F04633C 4500001B */ bc1f .Ljp7F0463AC -/* 07AEB0 7F046340 00000000 */ nop -/* 07AEB4 7F046344 C6040008 */ lwc1 $f4, 8($s0) -/* 07AEB8 7F046348 46008207 */ neg.s $f8, $f16 -/* 07AEBC 7F04634C 3C018005 */ lui $at, %hi(D_80052AA8) # $at, 0x8005 -/* 07AEC0 7F046350 46082282 */ mul.s $f10, $f4, $f8 -/* 07AEC4 7F046354 C4202AD8 */ lwc1 $f0, %lo(D_80052AA8)($at) -/* 07AEC8 7F046358 E60A0008 */ swc1 $f10, 8($s0) -/* 07AECC 7F04635C C6060008 */ lwc1 $f6, 8($s0) -/* 07AED0 7F046360 4600303C */ c.lt.s $f6, $f0 -/* 07AED4 7F046364 00000000 */ nop -/* 07AED8 7F046368 45020013 */ bc1fl .Ljp7F0463B8 -/* 07AEDC 7F04636C 92390003 */ lbu $t9, 3($s1) -/* 07AEE0 7F046370 8E0A0000 */ lw $t2, ($s0) -/* 07AEE4 7F046374 02202025 */ move $a0, $s1 -/* 07AEE8 7F046378 314D0002 */ andi $t5, $t2, 2 -/* 07AEEC 7F04637C 11A00007 */ beqz $t5, .Ljp7F04639C -/* 07AEF0 7F046380 00000000 */ nop -/* 07AEF4 7F046384 8E0F0090 */ lw $t7, 0x90($s0) -/* 07AEF8 7F046388 24010001 */ li $at, 1 -/* 07AEFC 7F04638C 15E10003 */ bne $t7, $at, .Ljp7F04639C -/* 07AF00 7F046390 00000000 */ nop -/* 07AF04 7F046394 10000007 */ b .Ljp7F0463B4 -/* 07AF08 7F046398 E6000008 */ swc1 $f0, 8($s0) -.Ljp7F04639C: -/* 07AF0C 7F04639C 0FC10D39 */ jal sub_GAME_7F0431E4 -/* 07AF10 7F0463A0 27A50634 */ addiu $a1, $sp, 0x634 -/* 07AF14 7F0463A4 10000004 */ b .Ljp7F0463B8 -/* 07AF18 7F0463A8 92390003 */ lbu $t9, 3($s1) -.Ljp7F0463AC: -/* 07AF1C 7F0463AC 0FC10D39 */ jal sub_GAME_7F0431E4 -/* 07AF20 7F0463B0 27A50634 */ addiu $a1, $sp, 0x634 -.Ljp7F0463B4: -/* 07AF24 7F0463B4 92390003 */ lbu $t9, 3($s1) -.Ljp7F0463B8: -/* 07AF28 7F0463B8 24010008 */ li $at, 8 -/* 07AF2C 7F0463BC 5721006F */ bnel $t9, $at, .Ljp7F04657C -/* 07AF30 7F0463C0 8E2F0064 */ lw $t7, 0x64($s1) -/* 07AF34 7F0463C4 82220080 */ lb $v0, 0x80($s1) -/* 07AF38 7F0463C8 24010003 */ li $at, 3 -/* 07AF3C 7F0463CC 54410006 */ bnel $v0, $at, .Ljp7F0463E8 -/* 07AF40 7F0463D0 24010056 */ li $at, 86 -/* 07AF44 7F0463D4 0FC10E54 */ jal sub_GAME_7F043650 -/* 07AF48 7F0463D8 02202025 */ move $a0, $s1 -/* 07AF4C 7F0463DC 10000042 */ b .Ljp7F0464E8 -/* 07AF50 7F0463E0 8FAB066C */ lw $t3, 0x66c($sp) -/* 07AF54 7F0463E4 24010056 */ li $at, 86 -.Ljp7F0463E8: -/* 07AF58 7F0463E8 1441002D */ bne $v0, $at, .Ljp7F0464A0 -/* 07AF5C 7F0463EC 8FB8066C */ lw $t8, 0x66c($sp) -/* 07AF60 7F0463F0 13000003 */ beqz $t8, .Ljp7F046400 -/* 07AF64 7F0463F4 8FA80618 */ lw $t0, 0x618($sp) -/* 07AF68 7F0463F8 51000004 */ beql $t0, $zero, .Ljp7F04640C -/* 07AF6C 7F0463FC C6020004 */ lwc1 $f2, 4($s0) -.Ljp7F046400: -/* 07AF70 7F046400 10000038 */ b .Ljp7F0464E4 -/* 07AF74 7F046404 A6200082 */ sh $zero, 0x82($s1) -/* 07AF78 7F046408 C6020004 */ lwc1 $f2, 4($s0) -.Ljp7F04640C: -/* 07AF7C 7F04640C C60C0008 */ lwc1 $f12, 8($s0) -/* 07AF80 7F046410 C600000C */ lwc1 $f0, 0xc($s0) -/* 07AF84 7F046414 46021102 */ mul.s $f4, $f2, $f2 -/* 07AF88 7F046418 3C018005 */ lui $at, %hi(D_80052AAC) -/* 07AF8C 7F04641C 26240058 */ addiu $a0, $s1, 0x58 -/* 07AF90 7F046420 460C6202 */ mul.s $f8, $f12, $f12 -/* 07AF94 7F046424 24060008 */ li $a2, 8 -/* 07AF98 7F046428 46000182 */ mul.s $f6, $f0, $f0 -/* 07AF9C 7F04642C 46082280 */ add.s $f10, $f4, $f8 -/* 07AFA0 7F046430 C4242ADC */ lwc1 $f4, %lo(D_80052AAC)($at) -/* 07AFA4 7F046434 460A3380 */ add.s $f14, $f6, $f10 -/* 07AFA8 7F046438 460E203C */ c.lt.s $f4, $f14 -/* 07AFAC 7F04643C 00000000 */ nop -/* 07AFB0 7F046440 45020005 */ bc1fl .Ljp7F046458 -/* 07AFB4 7F046444 8E0900A8 */ lw $t1, 0xa8($s0) -/* 07AFB8 7F046448 E6160010 */ swc1 $f22, 0x10($s0) -/* 07AFBC 7F04644C E6160014 */ swc1 $f22, 0x14($s0) -/* 07AFC0 7F046450 E6160018 */ swc1 $f22, 0x18($s0) -/* 07AFC4 7F046454 8E0900A8 */ lw $t1, 0xa8($s0) -.Ljp7F046458: -/* 07AFC8 7F046458 2921012D */ slti $at, $t1, 0x12d -/* 07AFCC 7F04645C 54200008 */ bnezl $at, .Ljp7F046480 -/* 07AFD0 7F046460 926E0001 */ lbu $t6, 1($s3) -/* 07AFD4 7F046464 8E0B0000 */ lw $t3, ($s0) -/* 07AFD8 7F046468 2401FFCF */ li $at, -49 -/* 07AFDC 7F04646C E616001C */ swc1 $f22, 0x1c($s0) -/* 07AFE0 7F046470 01616024 */ and $t4, $t3, $at -/* 07AFE4 7F046474 1000001B */ b .Ljp7F0464E4 -/* 07AFE8 7F046478 AE0C0000 */ sw $t4, ($s0) -/* 07AFEC 7F04647C 926E0001 */ lbu $t6, 1($s3) -.Ljp7F046480: -/* 07AFF0 7F046480 8E650014 */ lw $a1, 0x14($s3) -/* 07AFF4 7F046484 2667002C */ addiu $a3, $s3, 0x2c -/* 07AFF8 7F046488 31CA0008 */ andi $t2, $t6, 8 -/* 07AFFC 7F04648C 000A682B */ sltu $t5, $zero, $t2 -/* 07B000 7F046490 0FC27CA9 */ jal sub_GAME_7F09E700 -/* 07B004 7F046494 AFAD0010 */ sw $t5, 0x10($sp) -/* 07B008 7F046498 10000013 */ b .Ljp7F0464E8 -/* 07B00C 7F04649C 8FAB066C */ lw $t3, 0x66c($sp) -.Ljp7F0464A0: -/* 07B010 7F0464A0 24010057 */ li $at, 87 -/* 07B014 7F0464A4 1441000F */ bne $v0, $at, .Ljp7F0464E4 -/* 07B018 7F0464A8 8FAF0618 */ lw $t7, 0x618($sp) -/* 07B01C 7F0464AC 15E00003 */ bnez $t7, .Ljp7F0464BC -/* 07B020 7F0464B0 8FB90614 */ lw $t9, 0x614($sp) -/* 07B024 7F0464B4 13200003 */ beqz $t9, .Ljp7F0464C4 -/* 07B028 7F0464B8 26240058 */ addiu $a0, $s1, 0x58 -.Ljp7F0464BC: -/* 07B02C 7F0464BC 10000009 */ b .Ljp7F0464E4 -/* 07B030 7F0464C0 A6200082 */ sh $zero, 0x82($s1) -.Ljp7F0464C4: -/* 07B034 7F0464C4 92780001 */ lbu $t8, 1($s3) -/* 07B038 7F0464C8 8E650014 */ lw $a1, 0x14($s3) -/* 07B03C 7F0464CC 24060009 */ li $a2, 9 -/* 07B040 7F0464D0 33080008 */ andi $t0, $t8, 8 -/* 07B044 7F0464D4 0008482B */ sltu $t1, $zero, $t0 -/* 07B048 7F0464D8 AFA90010 */ sw $t1, 0x10($sp) -/* 07B04C 7F0464DC 0FC27CA9 */ jal sub_GAME_7F09E700 -/* 07B050 7F0464E0 2667002C */ addiu $a3, $s3, 0x2c -.Ljp7F0464E4: -/* 07B054 7F0464E4 8FAB066C */ lw $t3, 0x66c($sp) -.Ljp7F0464E8: -/* 07B058 7F0464E8 3C128005 */ lui $s2, %hi(D_80048380) # $s2, 0x8005 -/* 07B05C 7F0464EC 265283B0 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c50 -/* 07B060 7F0464F0 11600003 */ beqz $t3, .Ljp7F046500 -/* 07B064 7F0464F4 8FAC0618 */ lw $t4, 0x618($sp) -/* 07B068 7F0464F8 51800020 */ beql $t4, $zero, .Ljp7F04657C -/* 07B06C 7F0464FC 8E2F0064 */ lw $t7, 0x64($s1) -.Ljp7F046500: -/* 07B070 7F046500 8E420000 */ lw $v0, ($s2) -/* 07B074 7F046504 8E0E00AC */ lw $t6, 0xac($s0) -/* 07B078 7F046508 244AFFFE */ addiu $t2, $v0, -2 -/* 07B07C 7F04650C 01CA082A */ slt $at, $t6, $t2 -/* 07B080 7F046510 50200019 */ beql $at, $zero, .Ljp7F046578 -/* 07B084 7F046514 AE0200AC */ sw $v0, 0xac($s0) -/* 07B088 7F046518 82220080 */ lb $v0, 0x80($s1) -/* 07B08C 7F04651C 266D0008 */ addiu $t5, $s3, 8 -/* 07B090 7F046520 24010003 */ li $at, 3 -/* 07B094 7F046524 10410004 */ beq $v0, $at, .Ljp7F046538 -/* 07B098 7F046528 AFAD0074 */ sw $t5, 0x74($sp) -/* 07B09C 7F04652C 24010002 */ li $at, 2 -/* 07B0A0 7F046530 14410008 */ bne $v0, $at, .Ljp7F046554 -/* 07B0A4 7F046534 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -.Ljp7F046538: -/* 07B0A8 7F046538 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07B0AC 7F04653C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07B0B0 7F046540 24050003 */ li $a1, 3 -/* 07B0B4 7F046544 0C002386 */ jal play_sfx_a1 -/* 07B0B8 7F046548 00003025 */ move $a2, $zero -/* 07B0BC 7F04654C 10000006 */ b .Ljp7F046568 -/* 07B0C0 7F046550 00402025 */ move $a0, $v0 -.Ljp7F046554: -/* 07B0C4 7F046554 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07B0C8 7F046558 2405002D */ li $a1, 45 -/* 07B0CC 7F04655C 0C002386 */ jal play_sfx_a1 -/* 07B0D0 7F046560 00003025 */ move $a2, $zero -/* 07B0D4 7F046564 00402025 */ move $a0, $v0 -.Ljp7F046568: -/* 07B0D8 7F046568 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07B0DC 7F04656C 8FA50074 */ lw $a1, 0x74($sp) -/* 07B0E0 7F046570 8E420000 */ lw $v0, ($s2) -/* 07B0E4 7F046574 AE0200AC */ sw $v0, 0xac($s0) -.Ljp7F046578: -/* 07B0E8 7F046578 8E2F0064 */ lw $t7, 0x64($s1) -.Ljp7F04657C: -/* 07B0EC 7F04657C 3C128005 */ lui $s2, %hi(D_80048380) # $s2, 0x8005 -/* 07B0F0 7F046580 265283B0 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c50 -/* 07B0F4 7F046584 31F90080 */ andi $t9, $t7, 0x80 -/* 07B0F8 7F046588 53200125 */ beql $t9, $zero, .Ljp7F046A20 -/* 07B0FC 7F04658C 8FAB0698 */ lw $t3, 0x698($sp) -/* 07B100 7F046590 8E180000 */ lw $t8, ($s0) -/* 07B104 7F046594 33080400 */ andi $t0, $t8, 0x400 -/* 07B108 7F046598 51000121 */ beql $t0, $zero, .Ljp7F046A20 -/* 07B10C 7F04659C 8FAB0698 */ lw $t3, 0x698($sp) -/* 07B110 7F0465A0 8E420000 */ lw $v0, ($s2) -/* 07B114 7F0465A4 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 07B118 7F0465A8 27B0056C */ addiu $s0, $sp, 0x56c -/* 07B11C 7F0465AC 30490007 */ andi $t1, $v0, 7 -/* 07B120 7F0465B0 1520011A */ bnez $t1, .Ljp7F046A1C -/* 07B124 7F0465B4 00002025 */ move $a0, $zero -/* 07B128 7F0465B8 44810000 */ mtc1 $at, $f0 -/* 07B12C 7F0465BC C6280058 */ lwc1 $f8, 0x58($s1) -/* 07B130 7F0465C0 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 -/* 07B134 7F0465C4 44812000 */ mtc1 $at, $f4 -/* 07B138 7F0465C8 46004180 */ add.s $f6, $f8, $f0 -/* 07B13C 7F0465CC 304B000F */ andi $t3, $v0, 0xf -/* 07B140 7F0465D0 E7A6056C */ swc1 $f6, 0x56c($sp) -/* 07B144 7F0465D4 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07B148 7F0465D8 46045201 */ sub.s $f8, $f10, $f4 -/* 07B14C 7F0465DC E7A80570 */ swc1 $f8, 0x570($sp) -/* 07B150 7F0465E0 C6260060 */ lwc1 $f6, 0x60($s1) -/* 07B154 7F0465E4 15600005 */ bnez $t3, .Ljp7F0465FC -/* 07B158 7F0465E8 E7A60574 */ swc1 $f6, 0x574($sp) -/* 07B15C 7F0465EC C7AA0574 */ lwc1 $f10, 0x574($sp) -/* 07B160 7F0465F0 46005100 */ add.s $f4, $f10, $f0 -/* 07B164 7F0465F4 10000004 */ b .Ljp7F046608 -/* 07B168 7F0465F8 E7A40574 */ swc1 $f4, 0x574($sp) -.Ljp7F0465FC: -/* 07B16C 7F0465FC C7A80574 */ lwc1 $f8, 0x574($sp) -/* 07B170 7F046600 46004181 */ sub.s $f6, $f8, $f0 -/* 07B174 7F046604 E7A60574 */ swc1 $f6, 0x574($sp) -.Ljp7F046608: -/* 07B178 7F046608 8E220010 */ lw $v0, 0x10($s1) -/* 07B17C 7F04660C 02002825 */ move $a1, $s0 -/* 07B180 7F046610 24070014 */ li $a3, 20 -/* 07B184 7F046614 8C460014 */ lw $a2, 0x14($v0) -/* 07B188 7F046618 244C002C */ addiu $t4, $v0, 0x2c -/* 07B18C 7F04661C AFAC0018 */ sw $t4, 0x18($sp) -/* 07B190 7F046620 AFA0001C */ sw $zero, 0x1c($sp) -/* 07B194 7F046624 AFA00014 */ sw $zero, 0x14($sp) -/* 07B198 7F046628 0FC2737C */ jal sub_GAME_7F09C250 -/* 07B19C 7F04662C AFA00010 */ sw $zero, 0x10($sp) -/* 07B1A0 7F046630 8E4E0000 */ lw $t6, ($s2) -/* 07B1A4 7F046634 24010028 */ li $at, 40 -/* 07B1A8 7F046638 02002025 */ move $a0, $s0 -/* 07B1AC 7F04663C 01C1001A */ div $zero, $t6, $at -/* 07B1B0 7F046640 00005010 */ mfhi $t2 -/* 07B1B4 7F046644 554000F6 */ bnezl $t2, .Ljp7F046A20 -/* 07B1B8 7F046648 8FAB0698 */ lw $t3, 0x698($sp) -/* 07B1BC 7F04664C 8E220010 */ lw $v0, 0x10($s1) -/* 07B1C0 7F046650 240D0001 */ li $t5, 1 -/* 07B1C4 7F046654 2406000A */ li $a2, 10 -/* 07B1C8 7F046658 8C450014 */ lw $a1, 0x14($v0) -/* 07B1CC 7F04665C AFAD0010 */ sw $t5, 0x10($sp) -/* 07B1D0 7F046660 0FC27CA9 */ jal sub_GAME_7F09E700 -/* 07B1D4 7F046664 2447002C */ addiu $a3, $v0, 0x2c -/* 07B1D8 7F046668 100000ED */ b .Ljp7F046A20 -/* 07B1DC 7F04666C 8FAB0698 */ lw $t3, 0x698($sp) -/* 07B1E0 7F046670 C6000060 */ lwc1 $f0, 0x60($s0) -.Ljp7F046674: -/* 07B1E4 7F046674 44815000 */ mtc1 $at, $f10 -/* 07B1E8 7F046678 24120001 */ li $s2, 1 -/* 07B1EC 7F04667C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07B1F0 7F046680 460A003C */ c.lt.s $f0, $f10 -/* 07B1F4 7F046684 26040068 */ addiu $a0, $s0, 0x68 -/* 07B1F8 7F046688 26050078 */ addiu $a1, $s0, 0x78 -/* 07B1FC 7F04668C 45020031 */ bc1fl .Ljp7F046754 -/* 07B200 7F046690 C60A0004 */ lwc1 $f10, 4($s0) -/* 07B204 7F046694 C6020064 */ lwc1 $f2, 0x64($s0) -/* 07B208 7F046698 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07B20C 7F04669C 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 -/* 07B210 7F0466A0 3C018005 */ lui $at, %hi(D_80052AB0) -/* 07B214 7F0466A4 46041202 */ mul.s $f8, $f2, $f4 -/* 07B218 7F0466A8 27B20558 */ addiu $s2, $sp, 0x558 -/* 07B21C 7F0466AC 46080180 */ add.s $f6, $f0, $f8 -/* 07B220 7F0466B0 E6060060 */ swc1 $f6, 0x60($s0) -/* 07B224 7F0466B4 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) -/* 07B228 7F0466B8 59E00005 */ blezl $t7, .Ljp7F0466D0 -/* 07B22C 7F0466BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B230 7F0466C0 C42A2AE0 */ lwc1 $f10, %lo(D_80052AB0)($at) -/* 07B234 7F0466C4 460A1102 */ mul.s $f4, $f2, $f10 -/* 07B238 7F0466C8 E6040064 */ swc1 $f4, 0x64($s0) -/* 07B23C 7F0466CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.Ljp7F0466D0: -/* 07B240 7F0466D0 44814000 */ mtc1 $at, $f8 -/* 07B244 7F0466D4 C6000060 */ lwc1 $f0, 0x60($s0) -/* 07B248 7F0466D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B24C 7F0466DC 4600403C */ c.lt.s $f8, $f0 -/* 07B250 7F0466E0 00000000 */ nop -/* 07B254 7F0466E4 45030006 */ bc1tl .Ljp7F046700 -/* 07B258 7F0466E8 44813000 */ mtc1 $at, $f6 -/* 07B25C 7F0466EC 8E190000 */ lw $t9, ($s0) -/* 07B260 7F0466F0 33380008 */ andi $t8, $t9, 8 -/* 07B264 7F0466F4 53000006 */ beql $t8, $zero, .Ljp7F046710 -/* 07B268 7F0466F8 44060000 */ mfc1 $a2, $f0 -/* 07B26C 7F0466FC 44813000 */ mtc1 $at, $f6 -.Ljp7F046700: -/* 07B270 7F046700 00000000 */ nop -/* 07B274 7F046704 E6060060 */ swc1 $f6, 0x60($s0) -/* 07B278 7F046708 C6000060 */ lwc1 $f0, 0x60($s0) -/* 07B27C 7F04670C 44060000 */ mfc1 $a2, $f0 -.Ljp7F046710: -/* 07B280 7F046710 0FC16FCA */ jal sub_GAME_7F05BA08 -/* 07B284 7F046714 02403825 */ move $a3, $s2 -/* 07B288 7F046718 26250018 */ addiu $a1, $s1, 0x18 -/* 07B28C 7F04671C AFA50074 */ sw $a1, 0x74($sp) -/* 07B290 7F046720 0FC16ED2 */ jal sub_GAME_7F05B628 -/* 07B294 7F046724 02402025 */ move $a0, $s2 -/* 07B298 7F046728 C60C00C0 */ lwc1 $f12, 0xc0($s0) -/* 07B29C 7F04672C 0FC163B5 */ jal sub_GAME_7F0589B4 -/* 07B2A0 7F046730 8FA50074 */ lw $a1, 0x74($sp) -/* 07B2A4 7F046734 C60C00C4 */ lwc1 $f12, 0xc4($s0) -/* 07B2A8 7F046738 0FC163C1 */ jal sub_GAME_7F0589E4 -/* 07B2AC 7F04673C 8FA50074 */ lw $a1, 0x74($sp) -/* 07B2B0 7F046740 C60C00C8 */ lwc1 $f12, 0xc8($s0) -/* 07B2B4 7F046744 0FC163DB */ jal sub_GAME_7F058A4C -/* 07B2B8 7F046748 8FA50074 */ lw $a1, 0x74($sp) -/* 07B2BC 7F04674C 00009025 */ move $s2, $zero -/* 07B2C0 7F046750 C60A0004 */ lwc1 $f10, 4($s0) -.Ljp7F046754: -/* 07B2C4 7F046754 460AB032 */ c.eq.s $f22, $f10 -/* 07B2C8 7F046758 00000000 */ nop -/* 07B2CC 7F04675C 4502000F */ bc1fl .Ljp7F04679C -/* 07B2D0 7F046760 8E080000 */ lw $t0, ($s0) -/* 07B2D4 7F046764 C604000C */ lwc1 $f4, 0xc($s0) -/* 07B2D8 7F046768 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B2DC 7F04676C 4604B032 */ c.eq.s $f22, $f4 -/* 07B2E0 7F046770 00000000 */ nop -/* 07B2E4 7F046774 45020009 */ bc1fl .Ljp7F04679C -/* 07B2E8 7F046778 8E080000 */ lw $t0, ($s0) -/* 07B2EC 7F04677C C6080060 */ lwc1 $f8, 0x60($s0) -/* 07B2F0 7F046780 44813000 */ mtc1 $at, $f6 -/* 07B2F4 7F046784 00000000 */ nop -/* 07B2F8 7F046788 4606403C */ c.lt.s $f8, $f6 -/* 07B2FC 7F04678C 00000000 */ nop -/* 07B300 7F046790 45000088 */ bc1f .Ljp7F0469B4 -/* 07B304 7F046794 00000000 */ nop -/* 07B308 7F046798 8E080000 */ lw $t0, ($s0) -.Ljp7F04679C: -/* 07B30C 7F04679C 02202025 */ move $a0, $s1 -/* 07B310 7F0467A0 262B0018 */ addiu $t3, $s1, 0x18 -/* 07B314 7F0467A4 31090008 */ andi $t1, $t0, 8 -/* 07B318 7F0467A8 15200082 */ bnez $t1, .Ljp7F0469B4 -/* 07B31C 7F0467AC 00000000 */ nop -/* 07B320 7F0467B0 AFAB0074 */ sw $t3, 0x74($sp) -/* 07B324 7F0467B4 0FC100DE */ jal sub_GAME_7F040078 -/* 07B328 7F0467B8 00009025 */ move $s2, $zero -/* 07B32C 7F0467BC 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 -/* 07B330 7F0467C0 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) -/* 07B334 7F0467C4 AFA20554 */ sw $v0, 0x554($sp) -/* 07B338 7F0467C8 00002025 */ move $a0, $zero -/* 07B33C 7F0467CC 18600048 */ blez $v1, .Ljp7F0468F0 -/* 07B340 7F0467D0 3C018005 */ lui $at, %hi(D_80052AB4) # $at, 0x8005 -/* 07B344 7F0467D4 C42E2AE4 */ lwc1 $f14, %lo(D_80052AB4)($at) -/* 07B348 7F0467D8 C7AA069C */ lwc1 $f10, 0x69c($sp) -.Ljp7F0467DC: -/* 07B34C 7F0467DC C6040004 */ lwc1 $f4, 4($s0) -/* 07B350 7F0467E0 C7A606A4 */ lwc1 $f6, 0x6a4($sp) -/* 07B354 7F0467E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B358 7F0467E8 46045200 */ add.s $f8, $f10, $f4 -/* 07B35C 7F0467EC E7A8069C */ swc1 $f8, 0x69c($sp) -/* 07B360 7F0467F0 C60A000C */ lwc1 $f10, 0xc($s0) -/* 07B364 7F0467F4 460A3100 */ add.s $f4, $f6, $f10 -/* 07B368 7F0467F8 44813000 */ mtc1 $at, $f6 -/* 07B36C 7F0467FC E7A406A4 */ swc1 $f4, 0x6a4($sp) -/* 07B370 7F046800 C6080060 */ lwc1 $f8, 0x60($s0) -/* 07B374 7F046804 4608303E */ c.le.s $f6, $f8 -/* 07B378 7F046808 00000000 */ nop -/* 07B37C 7F04680C 45020035 */ bc1fl .Ljp7F0468E4 -/* 07B380 7F046810 24840001 */ addiu $a0, $a0, 1 -/* 07B384 7F046814 C60A0094 */ lwc1 $f10, 0x94($s0) -/* 07B388 7F046818 460AB03C */ c.lt.s $f22, $f10 -/* 07B38C 7F04681C 00000000 */ nop -/* 07B390 7F046820 45020027 */ bc1fl .Ljp7F0468C0 -/* 07B394 7F046824 C6060004 */ lwc1 $f6, 4($s0) -/* 07B398 7F046828 C600000C */ lwc1 $f0, 0xc($s0) -/* 07B39C 7F04682C C6020004 */ lwc1 $f2, 4($s0) -/* 07B3A0 7F046830 AFA40550 */ sw $a0, 0x550($sp) -/* 07B3A4 7F046834 46000102 */ mul.s $f4, $f0, $f0 -/* 07B3A8 7F046838 00000000 */ nop -/* 07B3AC 7F04683C 46021202 */ mul.s $f8, $f2, $f2 -/* 07B3B0 7F046840 0C007E08 */ jal sqrtf -/* 07B3B4 7F046844 46082300 */ add.s $f12, $f4, $f8 -/* 07B3B8 7F046848 3C018005 */ lui $at, %hi(D_80052AB8) # $at, 0x8005 -/* 07B3BC 7F04684C C42E2AE8 */ lwc1 $f14, %lo(D_80052AB8)($at) -/* 07B3C0 7F046850 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07B3C4 7F046854 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07B3C8 7F046858 C6060094 */ lwc1 $f6, 0x94($s0) -/* 07B3CC 7F04685C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B3D0 7F046860 44814000 */ mtc1 $at, $f8 -/* 07B3D4 7F046864 460A3102 */ mul.s $f4, $f6, $f10 -/* 07B3D8 7F046868 8FA40550 */ lw $a0, 0x550($sp) -/* 07B3DC 7F04686C 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 -/* 07B3E0 7F046870 46002303 */ div.s $f12, $f4, $f0 -/* 07B3E4 7F046874 460C403E */ c.le.s $f8, $f12 -/* 07B3E8 7F046878 00000000 */ nop -/* 07B3EC 7F04687C 45020005 */ bc1fl .Ljp7F046894 -/* 07B3F0 7F046880 C6020004 */ lwc1 $f2, 4($s0) -/* 07B3F4 7F046884 E6160004 */ swc1 $f22, 4($s0) -/* 07B3F8 7F046888 1000000A */ b .Ljp7F0468B4 -/* 07B3FC 7F04688C E616000C */ swc1 $f22, 0xc($s0) -/* 07B400 7F046890 C6020004 */ lwc1 $f2, 4($s0) -.Ljp7F046894: -/* 07B404 7F046894 C600000C */ lwc1 $f0, 0xc($s0) -/* 07B408 7F046898 460C1182 */ mul.s $f6, $f2, $f12 -/* 07B40C 7F04689C 00000000 */ nop -/* 07B410 7F0468A0 460C0102 */ mul.s $f4, $f0, $f12 -/* 07B414 7F0468A4 46061281 */ sub.s $f10, $f2, $f6 -/* 07B418 7F0468A8 46040201 */ sub.s $f8, $f0, $f4 -/* 07B41C 7F0468AC E60A0004 */ swc1 $f10, 4($s0) -/* 07B420 7F0468B0 E608000C */ swc1 $f8, 0xc($s0) -.Ljp7F0468B4: -/* 07B424 7F0468B4 1000000A */ b .Ljp7F0468E0 -/* 07B428 7F0468B8 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) -/* 07B42C 7F0468BC C6060004 */ lwc1 $f6, 4($s0) -.Ljp7F0468C0: -/* 07B430 7F0468C0 C604000C */ lwc1 $f4, 0xc($s0) -/* 07B434 7F0468C4 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 -/* 07B438 7F0468C8 460E3282 */ mul.s $f10, $f6, $f14 -/* 07B43C 7F0468CC 00000000 */ nop -/* 07B440 7F0468D0 460E2202 */ mul.s $f8, $f4, $f14 -/* 07B444 7F0468D4 E60A0004 */ swc1 $f10, 4($s0) -/* 07B448 7F0468D8 E608000C */ swc1 $f8, 0xc($s0) -/* 07B44C 7F0468DC 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) -.Ljp7F0468E0: -/* 07B450 7F0468E0 24840001 */ addiu $a0, $a0, 1 -.Ljp7F0468E4: -/* 07B454 7F0468E4 0083082A */ slt $at, $a0, $v1 -/* 07B458 7F0468E8 5420FFBC */ bnezl $at, .Ljp7F0467DC -/* 07B45C 7F0468EC C7AA069C */ lwc1 $f10, 0x69c($sp) -.Ljp7F0468F0: -/* 07B460 7F0468F0 02202025 */ move $a0, $s1 -/* 07B464 7F0468F4 27A5069C */ addiu $a1, $sp, 0x69c -/* 07B468 7F0468F8 27A60538 */ addiu $a2, $sp, 0x538 -/* 07B46C 7F0468FC 27A70544 */ addiu $a3, $sp, 0x544 -/* 07B470 7F046900 AFA00010 */ sw $zero, 0x10($sp) -/* 07B474 7F046904 0FC10C6D */ jal sub_GAME_7F042EB4 -/* 07B478 7F046908 AFA00014 */ sw $zero, 0x14($sp) -/* 07B47C 7F04690C 240C0001 */ li $t4, 1 -/* 07B480 7F046910 AFAC0698 */ sw $t4, 0x698($sp) -/* 07B484 7F046914 8E660010 */ lw $a2, 0x10($s3) -/* 07B488 7F046918 8E650008 */ lw $a1, 8($s3) -/* 07B48C 7F04691C 0FC2CD48 */ jal sub_GAME_7F0B2970 -/* 07B490 7F046920 8E640014 */ lw $a0, 0x14($s3) -/* 07B494 7F046924 46000506 */ mov.s $f20, $f0 -/* 07B498 7F046928 8FA40554 */ lw $a0, 0x554($sp) -/* 07B49C 7F04692C 0FC0FB2F */ jal sub_GAME_7F03E9BC -/* 07B4A0 7F046930 8FA50074 */ lw $a1, 0x74($sp) -/* 07B4A4 7F046934 3C018005 */ lui $at, %hi(D_80052ABC) # $at, 0x8005 -/* 07B4A8 7F046938 C42E2AEC */ lwc1 $f14, %lo(D_80052ABC)($at) -/* 07B4AC 7F04693C 4600A181 */ sub.s $f6, $f20, $f0 -/* 07B4B0 7F046940 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07B4B4 7F046944 44815000 */ mtc1 $at, $f10 -/* 07B4B8 7F046948 3C018005 */ lui $at, %hi(D_80052AC0) # $at, 0x8005 -/* 07B4BC 7F04694C 460A3300 */ add.s $f12, $f6, $f10 -/* 07B4C0 7F046950 E66C000C */ swc1 $f12, 0xc($s3) -/* 07B4C4 7F046954 E62C005C */ swc1 $f12, 0x5c($s1) -/* 07B4C8 7F046958 C6020004 */ lwc1 $f2, 4($s0) -/* 07B4CC 7F04695C 460E103C */ c.lt.s $f2, $f14 -/* 07B4D0 7F046960 00000000 */ nop -/* 07B4D4 7F046964 45000013 */ bc1f .Ljp7F0469B4 -/* 07B4D8 7F046968 00000000 */ nop -/* 07B4DC 7F04696C C4242AF0 */ lwc1 $f4, %lo(D_80052AC0)($at) -/* 07B4E0 7F046970 4602203C */ c.lt.s $f4, $f2 -/* 07B4E4 7F046974 00000000 */ nop -/* 07B4E8 7F046978 4500000E */ bc1f .Ljp7F0469B4 -/* 07B4EC 7F04697C 00000000 */ nop -/* 07B4F0 7F046980 C600000C */ lwc1 $f0, 0xc($s0) -/* 07B4F4 7F046984 3C018005 */ lui $at, %hi(D_80052AC4) # $at, 0x8005 -/* 07B4F8 7F046988 460E003C */ c.lt.s $f0, $f14 -/* 07B4FC 7F04698C 00000000 */ nop -/* 07B500 7F046990 45000008 */ bc1f .Ljp7F0469B4 -/* 07B504 7F046994 00000000 */ nop -/* 07B508 7F046998 C4282AF4 */ lwc1 $f8, %lo(D_80052AC4)($at) -/* 07B50C 7F04699C 4600403C */ c.lt.s $f8, $f0 -/* 07B510 7F0469A0 00000000 */ nop -/* 07B514 7F0469A4 45000003 */ bc1f .Ljp7F0469B4 -/* 07B518 7F0469A8 00000000 */ nop -/* 07B51C 7F0469AC E616000C */ swc1 $f22, 0xc($s0) -/* 07B520 7F0469B0 E6160004 */ swc1 $f22, 4($s0) -.Ljp7F0469B4: -/* 07B524 7F0469B4 16400005 */ bnez $s2, .Ljp7F0469CC -/* 07B528 7F0469B8 00000000 */ nop -/* 07B52C 7F0469BC 8E0E0000 */ lw $t6, ($s0) -/* 07B530 7F0469C0 31CA0008 */ andi $t2, $t6, 8 -/* 07B534 7F0469C4 51400016 */ beql $t2, $zero, .Ljp7F046A20 -/* 07B538 7F0469C8 8FAB0698 */ lw $t3, 0x698($sp) -.Ljp7F0469CC: -/* 07B53C 7F0469CC 0FC0FF9C */ jal sub_GAME_7F03FB70 -/* 07B540 7F0469D0 02002025 */ move $a0, $s0 -/* 07B544 7F0469D4 8E2D0064 */ lw $t5, 0x64($s1) -/* 07B548 7F0469D8 2401FF7F */ li $at, -129 -/* 07B54C 7F0469DC AE20006C */ sw $zero, 0x6c($s1) -/* 07B550 7F0469E0 01A17824 */ and $t7, $t5, $at -/* 07B554 7F0469E4 AE2F0064 */ sw $t7, 0x64($s1) -/* 07B558 7F0469E8 92620001 */ lbu $v0, 1($s3) -/* 07B55C 7F0469EC 30590008 */ andi $t9, $v0, 8 -/* 07B560 7F0469F0 13200002 */ beqz $t9, .Ljp7F0469FC -/* 07B564 7F0469F4 34580010 */ ori $t8, $v0, 0x10 -/* 07B568 7F0469F8 A2780001 */ sb $t8, 1($s3) -.Ljp7F0469FC: -/* 07B56C 7F0469FC 92280003 */ lbu $t0, 3($s1) -/* 07B570 7F046A00 24010008 */ li $at, 8 -/* 07B574 7F046A04 55010006 */ bnel $t0, $at, .Ljp7F046A20 -/* 07B578 7F046A08 8FAB0698 */ lw $t3, 0x698($sp) -/* 07B57C 7F046A0C 8E690014 */ lw $t1, 0x14($s3) -/* 07B580 7F046A10 82240080 */ lb $a0, 0x80($s1) -/* 07B584 7F046A14 0FC15F41 */ jal sub_GAME_7F0577E8 -/* 07B588 7F046A18 91250003 */ lbu $a1, 3($t1) -.Ljp7F046A1C: -/* 07B58C 7F046A1C 8FAB0698 */ lw $t3, 0x698($sp) -.Ljp7F046A20: -/* 07B590 7F046A20 1160000B */ beqz $t3, .Ljp7F046A50 -/* 07B594 7F046A24 262C0058 */ addiu $t4, $s1, 0x58 -/* 07B598 7F046A28 AFAC0074 */ sw $t4, 0x74($sp) -/* 07B59C 7F046A2C 0FC101E1 */ jal sub_GAME_7F040484 -/* 07B5A0 7F046A30 02202025 */ move $a0, $s1 -/* 07B5A4 7F046A34 0FC15C68 */ jal sub_GAME_7F056CA0 -/* 07B5A8 7F046A38 02202025 */ move $a0, $s1 -/* 07B5AC 7F046A3C 8E240010 */ lw $a0, 0x10($s1) -/* 07B5B0 7F046A40 0FC1016D */ jal sub_GAME_7F0402B4 -/* 07B5B4 7F046A44 2625007C */ addiu $a1, $s1, 0x7c -/* 07B5B8 7F046A48 0FC14832 */ jal detonate_proxmine_In_range -/* 07B5BC 7F046A4C 8FA40074 */ lw $a0, 0x74($sp) -.Ljp7F046A50: -/* 07B5C0 7F046A50 92220003 */ lbu $v0, 3($s1) -/* 07B5C4 7F046A54 24010001 */ li $at, 1 -/* 07B5C8 7F046A58 54410052 */ bnel $v0, $at, .Ljp7F046BA4 -/* 07B5CC 7F046A5C 24010006 */ li $at, 6 -/* 07B5D0 7F046A60 8E700004 */ lw $s0, 4($s3) -/* 07B5D4 7F046A64 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07B5D8 7F046A68 E7A60684 */ swc1 $f6, 0x684($sp) -/* 07B5DC 7F046A6C 8E0200EC */ lw $v0, 0xec($s0) -/* 07B5E0 7F046A70 58400013 */ blezl $v0, .Ljp7F046AC0 -/* 07B5E4 7F046A74 820800BC */ lb $t0, 0xbc($s0) -/* 07B5E8 7F046A78 820E00BC */ lb $t6, 0xbc($s0) -/* 07B5EC 7F046A7C 55C00010 */ bnezl $t6, .Ljp7F046AC0 -/* 07B5F0 7F046A80 820800BC */ lb $t0, 0xbc($s0) -/* 07B5F4 7F046A84 8E0A0008 */ lw $t2, 8($s0) -/* 07B5F8 7F046A88 3C0F8005 */ lui $t7, %hi(global_timer) # $t7, 0x8005 -/* 07B5FC 7F046A8C 000A6800 */ sll $t5, $t2, 0 -/* 07B600 7F046A90 05A2000B */ bltzl $t5, .Ljp7F046AC0 -/* 07B604 7F046A94 820800BC */ lb $t0, 0xbc($s0) -/* 07B608 7F046A98 8DEF83AC */ lw $t7, %lo(global_timer)($t7) -/* 07B60C 7F046A9C 8E1900A0 */ lw $t9, 0xa0($s0) -/* 07B610 7F046AA0 02002025 */ move $a0, $s0 -/* 07B614 7F046AA4 01F9C023 */ subu $t8, $t7, $t9 -/* 07B618 7F046AA8 0058082A */ slt $at, $v0, $t8 -/* 07B61C 7F046AAC 50200004 */ beql $at, $zero, .Ljp7F046AC0 -/* 07B620 7F046AB0 820800BC */ lb $t0, 0xbc($s0) -/* 07B624 7F046AB4 0FC153A1 */ jal set_door_state -/* 07B628 7F046AB8 24050002 */ li $a1, 2 -/* 07B62C 7F046ABC 820800BC */ lb $t0, 0xbc($s0) -.Ljp7F046AC0: -/* 07B630 7F046AC0 24010003 */ li $at, 3 -/* 07B634 7F046AC4 5501001B */ bnel $t0, $at, .Ljp7F046B34 -/* 07B638 7F046AC8 960B009A */ lhu $t3, 0x9a($s0) -/* 07B63C 7F046ACC 8E0200C8 */ lw $v0, 0xc8($s0) -/* 07B640 7F046AD0 24030001 */ li $v1, 1 -/* 07B644 7F046AD4 02002025 */ move $a0, $s0 -/* 07B648 7F046AD8 10400011 */ beqz $v0, .Ljp7F046B20 -/* 07B64C 7F046ADC 00000000 */ nop -/* 07B650 7F046AE0 1050000F */ beq $v0, $s0, .Ljp7F046B20 -/* 07B654 7F046AE4 00000000 */ nop -/* 07B658 7F046AE8 804900BC */ lb $t1, 0xbc($v0) -.Ljp7F046AEC: -/* 07B65C 7F046AEC 55200007 */ bnezl $t1, .Ljp7F046B0C -/* 07B660 7F046AF0 00001825 */ move $v1, $zero -/* 07B664 7F046AF4 C44A00B4 */ lwc1 $f10, 0xb4($v0) -/* 07B668 7F046AF8 460AB03C */ c.lt.s $f22, $f10 -/* 07B66C 7F046AFC 00000000 */ nop -/* 07B670 7F046B00 45020003 */ bc1fl .Ljp7F046B10 -/* 07B674 7F046B04 8C4200C8 */ lw $v0, 0xc8($v0) -/* 07B678 7F046B08 00001825 */ move $v1, $zero -.Ljp7F046B0C: -/* 07B67C 7F046B0C 8C4200C8 */ lw $v0, 0xc8($v0) -.Ljp7F046B10: -/* 07B680 7F046B10 10400003 */ beqz $v0, .Ljp7F046B20 -/* 07B684 7F046B14 00000000 */ nop -/* 07B688 7F046B18 5450FFF4 */ bnel $v0, $s0, .Ljp7F046AEC -/* 07B68C 7F046B1C 804900BC */ lb $t1, 0xbc($v0) -.Ljp7F046B20: -/* 07B690 7F046B20 50600004 */ beql $v1, $zero, .Ljp7F046B34 -/* 07B694 7F046B24 960B009A */ lhu $t3, 0x9a($s0) -/* 07B698 7F046B28 0FC15368 */ jal sub_GAME_7F0548A4 -/* 07B69C 7F046B2C 24050001 */ li $a1, 1 -/* 07B6A0 7F046B30 960B009A */ lhu $t3, 0x9a($s0) -.Ljp7F046B34: -/* 07B6A4 7F046B34 24010008 */ li $at, 8 -/* 07B6A8 7F046B38 1561000B */ bne $t3, $at, .Ljp7F046B68 -/* 07B6AC 7F046B3C 00000000 */ nop -/* 07B6B0 7F046B40 0FC153C7 */ jal sub_GAME_7F054A20 -/* 07B6B4 7F046B44 02002025 */ move $a0, $s0 -/* 07B6B8 7F046B48 10400007 */ beqz $v0, .Ljp7F046B68 -/* 07B6BC 7F046B4C 00000000 */ nop -/* 07B6C0 7F046B50 0FC0FA86 */ jal sub_GAME_7F03E718 -/* 07B6C4 7F046B54 02002025 */ move $a0, $s0 -/* 07B6C8 7F046B58 10400003 */ beqz $v0, .Ljp7F046B68 -/* 07B6CC 7F046B5C 00000000 */ nop -/* 07B6D0 7F046B60 0FC157A6 */ jal sub_GAME_7F05599C -/* 07B6D4 7F046B64 02602025 */ move $a0, $s3 -.Ljp7F046B68: -/* 07B6D8 7F046B68 3C0E8005 */ lui $t6, %hi(global_timer) # $t6, 0x8005 -/* 07B6DC 7F046B6C 8DCE83AC */ lw $t6, %lo(global_timer)($t6) -/* 07B6E0 7F046B70 8E0C00FC */ lw $t4, 0xfc($s0) -/* 07B6E4 7F046B74 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 -/* 07B6E8 7F046B78 018E082A */ slt $at, $t4, $t6 -/* 07B6EC 7F046B7C 14200004 */ bnez $at, .Ljp7F046B90 -/* 07B6F0 7F046B80 00000000 */ nop -/* 07B6F4 7F046B84 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) -/* 07B6F8 7F046B88 554006AA */ bnezl $t2, .Ljp7F048634 -/* 07B6FC 7F046B8C 92220003 */ lbu $v0, 3($s1) -.Ljp7F046B90: -/* 07B700 7F046B90 0FC1552C */ jal sub_GAME_7F054FB4 -/* 07B704 7F046B94 02002025 */ move $a0, $s0 -/* 07B708 7F046B98 100006A6 */ b .Ljp7F048634 -/* 07B70C 7F046B9C 92220003 */ lbu $v0, 3($s1) -/* 07B710 7F046BA0 24010006 */ li $at, 6 -.Ljp7F046BA4: -/* 07B714 7F046BA4 54410130 */ bnel $v0, $at, .Ljp7F047068 -/* 07B718 7F046BA8 2401000D */ li $at, 13 -/* 07B71C 7F046BAC 8E2D0008 */ lw $t5, 8($s1) -/* 07B720 7F046BB0 000D78C0 */ sll $t7, $t5, 3 -/* 07B724 7F046BB4 05E2012C */ bltzl $t7, .Ljp7F047068 -/* 07B728 7F046BB8 2401000D */ li $at, 13 -/* 07B72C 7F046BBC 8E700004 */ lw $s0, 4($s3) -/* 07B730 7F046BC0 8E1900D4 */ lw $t9, 0xd4($s0) -/* 07B734 7F046BC4 53200004 */ beql $t9, $zero, .Ljp7F046BD8 -/* 07B738 7F046BC8 C61200D0 */ lwc1 $f18, 0xd0($s0) -/* 07B73C 7F046BCC 10000002 */ b .Ljp7F046BD8 -/* 07B740 7F046BD0 C61200CC */ lwc1 $f18, 0xcc($s0) -/* 07B744 7F046BD4 C61200D0 */ lwc1 $f18, 0xd0($s0) -.Ljp7F046BD8: -/* 07B748 7F046BD8 0FC2279B */ jal get_curplayer_positiondata -/* 07B74C 7F046BDC E7B2051C */ swc1 $f18, 0x51c($sp) -/* 07B750 7F046BE0 AFA20518 */ sw $v0, 0x518($sp) -/* 07B754 7F046BE4 C6280058 */ lwc1 $f8, 0x58($s1) -/* 07B758 7F046BE8 C4440008 */ lwc1 $f4, 8($v0) -/* 07B75C 7F046BEC C60000E8 */ lwc1 $f0, 0xe8($s0) -/* 07B760 7F046BF0 C62A005C */ lwc1 $f10, 0x5c($s1) -/* 07B764 7F046BF4 46082301 */ sub.s $f12, $f4, $f8 -/* 07B768 7F046BF8 C446000C */ lwc1 $f6, 0xc($v0) -/* 07B76C 7F046BFC C6280060 */ lwc1 $f8, 0x60($s1) -/* 07B770 7F046C00 4600B03C */ c.lt.s $f22, $f0 -/* 07B774 7F046C04 C4440010 */ lwc1 $f4, 0x10($v0) -/* 07B778 7F046C08 C7B2051C */ lwc1 $f18, 0x51c($sp) -/* 07B77C 7F046C0C 24120001 */ li $s2, 1 -/* 07B780 7F046C10 460A3081 */ sub.s $f2, $f6, $f10 -/* 07B784 7F046C14 4500000E */ bc1f .Ljp7F046C50 -/* 07B788 7F046C18 46082381 */ sub.s $f14, $f4, $f8 -/* 07B78C 7F046C1C 46000182 */ mul.s $f6, $f0, $f0 -/* 07B790 7F046C20 00000000 */ nop -/* 07B794 7F046C24 460C6282 */ mul.s $f10, $f12, $f12 -/* 07B798 7F046C28 00000000 */ nop -/* 07B79C 7F046C2C 46021102 */ mul.s $f4, $f2, $f2 -/* 07B7A0 7F046C30 46045200 */ add.s $f8, $f10, $f4 -/* 07B7A4 7F046C34 460E7282 */ mul.s $f10, $f14, $f14 -/* 07B7A8 7F046C38 460A4100 */ add.s $f4, $f8, $f10 -/* 07B7AC 7F046C3C 4604303C */ c.lt.s $f6, $f4 -/* 07B7B0 7F046C40 00000000 */ nop -/* 07B7B4 7F046C44 45000002 */ bc1f .Ljp7F046C50 -/* 07B7B8 7F046C48 00000000 */ nop -/* 07B7BC 7F046C4C 00009025 */ move $s2, $zero -.Ljp7F046C50: -/* 07B7C0 7F046C50 8E380008 */ lw $t8, 8($s1) -/* 07B7C4 7F046C54 00184080 */ sll $t0, $t8, 2 -/* 07B7C8 7F046C58 05010002 */ bgez $t0, .Ljp7F046C64 -/* 07B7CC 7F046C5C 00000000 */ nop -/* 07B7D0 7F046C60 00009025 */ move $s2, $zero -.Ljp7F046C64: -/* 07B7D4 7F046C64 1240003A */ beqz $s2, .Ljp7F046D50 -/* 07B7D8 7F046C68 00000000 */ nop -/* 07B7DC 7F046C6C 0FC16BD4 */ jal convert_angle_using_inverse -/* 07B7E0 7F046C70 E7B2051C */ swc1 $f18, 0x51c($sp) -/* 07B7E4 7F046C74 C60200C8 */ lwc1 $f2, 0xc8($s0) -/* 07B7E8 7F046C78 C7B2051C */ lwc1 $f18, 0x51c($sp) -/* 07B7EC 7F046C7C 3C018005 */ lui $at, %hi(D_80052ACC) -/* 07B7F0 7F046C80 4616103C */ c.lt.s $f2, $f22 -/* 07B7F4 7F046C84 00000000 */ nop -/* 07B7F8 7F046C88 45000005 */ bc1f .Ljp7F046CA0 -/* 07B7FC 7F046C8C 00000000 */ nop -/* 07B800 7F046C90 3C018005 */ lui $at, %hi(D_80052AC8) # $at, 0x8005 -/* 07B804 7F046C94 C4342AF8 */ lwc1 $f20, %lo(D_80052AC8)($at) -/* 07B808 7F046C98 10000007 */ b .Ljp7F046CB8 -/* 07B80C 7F046C9C 46141080 */ add.s $f2, $f2, $f20 -.Ljp7F046CA0: -/* 07B810 7F046CA0 C4342AFC */ lwc1 $f20, %lo(D_80052ACC)($at) -/* 07B814 7F046CA4 4602A03E */ c.le.s $f20, $f2 -/* 07B818 7F046CA8 00000000 */ nop -/* 07B81C 7F046CAC 45020003 */ bc1fl .Ljp7F046CBC -/* 07B820 7F046CB0 C60800C4 */ lwc1 $f8, 0xc4($s0) -/* 07B824 7F046CB4 46141081 */ sub.s $f2, $f2, $f20 -.Ljp7F046CB8: -/* 07B828 7F046CB8 C60800C4 */ lwc1 $f8, 0xc4($s0) -.Ljp7F046CBC: -/* 07B82C 7F046CBC 3C018005 */ lui $at, %hi(D_80052AD0) # $at, 0x8005 -/* 07B830 7F046CC0 46081080 */ add.s $f2, $f2, $f8 -/* 07B834 7F046CC4 4602A03E */ c.le.s $f20, $f2 -/* 07B838 7F046CC8 00000000 */ nop -/* 07B83C 7F046CCC 45020003 */ bc1fl .Ljp7F046CDC -/* 07B840 7F046CD0 4602003C */ c.lt.s $f0, $f2 -/* 07B844 7F046CD4 46141081 */ sub.s $f2, $f2, $f20 -/* 07B848 7F046CD8 4602003C */ c.lt.s $f0, $f2 -.Ljp7F046CDC: -/* 07B84C 7F046CDC 46020381 */ sub.s $f14, $f0, $f2 -/* 07B850 7F046CE0 45000002 */ bc1f .Ljp7F046CEC -/* 07B854 7F046CE4 46007306 */ mov.s $f12, $f14 -/* 07B858 7F046CE8 46147300 */ add.s $f12, $f14, $f20 -.Ljp7F046CEC: -/* 07B85C 7F046CEC C4202B00 */ lwc1 $f0, %lo(D_80052AD0)($at) -/* 07B860 7F046CF0 3C018005 */ lui $at, %hi(D_80052AD4) # $at, 0x8005 -/* 07B864 7F046CF4 46006301 */ sub.s $f12, $f12, $f0 -/* 07B868 7F046CF8 4616603C */ c.lt.s $f12, $f22 -/* 07B86C 7F046CFC 00000000 */ nop -/* 07B870 7F046D00 45020003 */ bc1fl .Ljp7F046D10 -/* 07B874 7F046D04 460C003C */ c.lt.s $f0, $f12 -/* 07B878 7F046D08 46146300 */ add.s $f12, $f12, $f20 -/* 07B87C 7F046D0C 460C003C */ c.lt.s $f0, $f12 -.Ljp7F046D10: -/* 07B880 7F046D10 00000000 */ nop -/* 07B884 7F046D14 45000002 */ bc1f .Ljp7F046D20 -/* 07B888 7F046D18 00000000 */ nop -/* 07B88C 7F046D1C 46146301 */ sub.s $f12, $f12, $f20 -.Ljp7F046D20: -/* 07B890 7F046D20 C42A2B04 */ lwc1 $f10, %lo(D_80052AD4)($at) -/* 07B894 7F046D24 3C018005 */ lui $at, %hi(D_80052AD8) -/* 07B898 7F046D28 460C503C */ c.lt.s $f10, $f12 -/* 07B89C 7F046D2C 00000000 */ nop -/* 07B8A0 7F046D30 45030007 */ bc1tl .Ljp7F046D50 -/* 07B8A4 7F046D34 00009025 */ move $s2, $zero -/* 07B8A8 7F046D38 C4262B08 */ lwc1 $f6, %lo(D_80052AD8)($at) -/* 07B8AC 7F046D3C 4606603C */ c.lt.s $f12, $f6 -/* 07B8B0 7F046D40 00000000 */ nop -/* 07B8B4 7F046D44 45000002 */ bc1f .Ljp7F046D50 -/* 07B8B8 7F046D48 00000000 */ nop -/* 07B8BC 7F046D4C 00009025 */ move $s2, $zero -.Ljp7F046D50: -/* 07B8C0 7F046D50 12400034 */ beqz $s2, .Ljp7F046E24 -/* 07B8C4 7F046D54 00002825 */ move $a1, $zero -/* 07B8C8 7F046D58 8E690014 */ lw $t1, 0x14($s3) -/* 07B8CC 7F046D5C E7B2051C */ swc1 $f18, 0x51c($sp) -/* 07B8D0 7F046D60 8FA40518 */ lw $a0, 0x518($sp) -/* 07B8D4 7F046D64 0FC229DD */ jal sub_GAME_7F08A03C -/* 07B8D8 7F046D68 AFA904F4 */ sw $t1, 0x4f4($sp) -/* 07B8DC 7F046D6C 8FA20518 */ lw $v0, 0x518($sp) -/* 07B8E0 7F046D70 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 07B8E4 7F046D74 8E650008 */ lw $a1, 8($s3) -/* 07B8E8 7F046D78 C4440010 */ lwc1 $f4, 0x10($v0) -/* 07B8EC 7F046D7C 8E660010 */ lw $a2, 0x10($s3) -/* 07B8F0 7F046D80 8C470008 */ lw $a3, 8($v0) -/* 07B8F4 7F046D84 44814000 */ mtc1 $at, $f8 -/* 07B8F8 7F046D88 44815000 */ mtc1 $at, $f10 -/* 07B8FC 7F046D8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07B900 7F046D90 44813000 */ mtc1 $at, $f6 -/* 07B904 7F046D94 240B001B */ li $t3, 27 -/* 07B908 7F046D98 AFAB0014 */ sw $t3, 0x14($sp) -/* 07B90C 7F046D9C E7B60020 */ swc1 $f22, 0x20($sp) -/* 07B910 7F046DA0 27A404F4 */ addiu $a0, $sp, 0x4f4 -/* 07B914 7F046DA4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07B918 7F046DA8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 07B91C 7F046DAC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 07B920 7F046DB0 0FC2C675 */ jal sub_GAME_7F0B0E24 -/* 07B924 7F046DB4 E7A60024 */ swc1 $f6, 0x24($sp) -/* 07B928 7F046DB8 10400015 */ beqz $v0, .Ljp7F046E10 -/* 07B92C 7F046DBC C7B2051C */ lwc1 $f18, 0x51c($sp) -/* 07B930 7F046DC0 3C0E8005 */ lui $t6, %hi(clock_timer) # $t6, 0x8005 -/* 07B934 7F046DC4 8DCE83A4 */ lw $t6, %lo(clock_timer)($t6) -/* 07B938 7F046DC8 8E0C00E0 */ lw $t4, 0xe0($s0) -/* 07B93C 7F046DCC 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 07B940 7F046DD0 44812000 */ mtc1 $at, $f4 -/* 07B944 7F046DD4 018E5021 */ addu $t2, $t4, $t6 -/* 07B948 7F046DD8 AE0A00E0 */ sw $t2, 0xe0($s0) -/* 07B94C 7F046DDC 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 -/* 07B950 7F046DE0 C4280B54 */ lwc1 $f8, %lo(D_80030B14)($at) -/* 07B954 7F046DE4 46082282 */ mul.s $f10, $f4, $f8 -/* 07B958 7F046DE8 4600518D */ trunc.w.s $f6, $f10 -/* 07B95C 7F046DEC 44193000 */ mfc1 $t9, $f6 -/* 07B960 7F046DF0 00000000 */ nop -/* 07B964 7F046DF4 0159082A */ slt $at, $t2, $t9 -/* 07B968 7F046DF8 54200006 */ bnezl $at, .Ljp7F046E14 -/* 07B96C 7F046DFC 8FA40518 */ lw $a0, 0x518($sp) -/* 07B970 7F046E00 0FC158B1 */ jal start_alarm -/* 07B974 7F046E04 E7B2051C */ swc1 $f18, 0x51c($sp) -/* 07B978 7F046E08 C7B2051C */ lwc1 $f18, 0x51c($sp) -/* 07B97C 7F046E0C AE0000E0 */ sw $zero, 0xe0($s0) -.Ljp7F046E10: -/* 07B980 7F046E10 8FA40518 */ lw $a0, 0x518($sp) -.Ljp7F046E14: -/* 07B984 7F046E14 24050001 */ li $a1, 1 -/* 07B988 7F046E18 0FC229DD */ jal sub_GAME_7F08A03C -/* 07B98C 7F046E1C E7B2051C */ swc1 $f18, 0x51c($sp) -/* 07B990 7F046E20 C7B2051C */ lwc1 $f18, 0x51c($sp) -.Ljp7F046E24: -/* 07B994 7F046E24 C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07B998 7F046E28 4612703C */ c.lt.s $f14, $f18 -/* 07B99C 7F046E2C 00000000 */ nop -/* 07B9A0 7F046E30 45020047 */ bc1fl .Ljp7F046F50 -/* 07B9A4 7F046E34 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B9A8 7F046E38 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B9AC 7F046E3C 3C018005 */ lui $at, %hi(D_80052AE0) # $at, 0x8005 -/* 07B9B0 7F046E40 C4302B10 */ lwc1 $f16, %lo(D_80052AE0)($at) -/* 07B9B4 7F046E44 46000102 */ mul.s $f4, $f0, $f0 -/* 07B9B8 7F046E48 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07B9BC 7F046E4C 44814000 */ mtc1 $at, $f8 -/* 07B9C0 7F046E50 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07B9C4 7F046E54 46082282 */ mul.s $f10, $f4, $f8 -/* 07B9C8 7F046E58 46105083 */ div.s $f2, $f10, $f16 -/* 07B9CC 7F046E5C 46029181 */ sub.s $f6, $f18, $f2 -/* 07B9D0 7F046E60 460E303E */ c.le.s $f6, $f14 -/* 07B9D4 7F046E64 00000000 */ nop -/* 07B9D8 7F046E68 4502000F */ bc1fl .Ljp7F046EA8 -/* 07B9DC 7F046E6C C60C00DC */ lwc1 $f12, 0xdc($s0) -/* 07B9E0 7F046E70 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07B9E4 7F046E74 46048202 */ mul.s $f8, $f16, $f4 -/* 07B9E8 7F046E78 46080281 */ sub.s $f10, $f0, $f8 -/* 07B9EC 7F046E7C E60A00D8 */ swc1 $f10, 0xd8($s0) -/* 07B9F0 7F046E80 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07B9F4 7F046E84 4610003C */ c.lt.s $f0, $f16 -/* 07B9F8 7F046E88 00000000 */ nop -/* 07B9FC 7F046E8C 45000003 */ bc1f .Ljp7F046E9C -/* 07BA00 7F046E90 00000000 */ nop -/* 07BA04 7F046E94 E61000D8 */ swc1 $f16, 0xd8($s0) -/* 07BA08 7F046E98 C60000D8 */ lwc1 $f0, 0xd8($s0) -.Ljp7F046E9C: -/* 07BA0C 7F046E9C 1000001D */ b .Ljp7F046F14 -/* 07BA10 7F046EA0 C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07BA14 7F046EA4 C60C00DC */ lwc1 $f12, 0xdc($s0) -.Ljp7F046EA8: -/* 07BA18 7F046EA8 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07BA1C 7F046EAC 460C003C */ c.lt.s $f0, $f12 -/* 07BA20 7F046EB0 00000000 */ nop -/* 07BA24 7F046EB4 45000017 */ bc1f .Ljp7F046F14 -/* 07BA28 7F046EB8 00000000 */ nop -/* 07BA2C 7F046EBC C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 07BA30 7F046EC0 46068102 */ mul.s $f4, $f16, $f6 -/* 07BA34 7F046EC4 46040080 */ add.s $f2, $f0, $f4 -/* 07BA38 7F046EC8 4602603C */ c.lt.s $f12, $f2 -/* 07BA3C 7F046ECC 00000000 */ nop -/* 07BA40 7F046ED0 45000002 */ bc1f .Ljp7F046EDC -/* 07BA44 7F046ED4 00000000 */ nop -/* 07BA48 7F046ED8 46006086 */ mov.s $f2, $f12 -.Ljp7F046EDC: -/* 07BA4C 7F046EDC 46021202 */ mul.s $f8, $f2, $f2 -/* 07BA50 7F046EE0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07BA54 7F046EE4 44815000 */ mtc1 $at, $f10 -/* 07BA58 7F046EE8 00000000 */ nop -/* 07BA5C 7F046EEC 460A4182 */ mul.s $f6, $f8, $f10 -/* 07BA60 7F046EF0 46103103 */ div.s $f4, $f6, $f16 -/* 07BA64 7F046EF4 46049201 */ sub.s $f8, $f18, $f4 -/* 07BA68 7F046EF8 4608703C */ c.lt.s $f14, $f8 -/* 07BA6C 7F046EFC 00000000 */ nop -/* 07BA70 7F046F00 45000004 */ bc1f .Ljp7F046F14 -/* 07BA74 7F046F04 00000000 */ nop -/* 07BA78 7F046F08 E60200D8 */ swc1 $f2, 0xd8($s0) -/* 07BA7C 7F046F0C C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07BA80 7F046F10 C60E00C8 */ lwc1 $f14, 0xc8($s0) -.Ljp7F046F14: -/* 07BA84 7F046F14 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07BA88 7F046F18 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07BA8C 7F046F1C 460A0182 */ mul.s $f6, $f0, $f10 -/* 07BA90 7F046F20 46067100 */ add.s $f4, $f14, $f6 -/* 07BA94 7F046F24 E60400C8 */ swc1 $f4, 0xc8($s0) -/* 07BA98 7F046F28 C60800C8 */ lwc1 $f8, 0xc8($s0) -/* 07BA9C 7F046F2C 4608903E */ c.le.s $f18, $f8 -/* 07BAA0 7F046F30 00000000 */ nop -/* 07BAA4 7F046F34 450205BF */ bc1fl .Ljp7F048634 -/* 07BAA8 7F046F38 92220003 */ lbu $v0, 3($s1) -/* 07BAAC 7F046F3C E61200C8 */ swc1 $f18, 0xc8($s0) -/* 07BAB0 7F046F40 E61600D8 */ swc1 $f22, 0xd8($s0) -/* 07BAB4 7F046F44 100005BA */ b .Ljp7F048630 -/* 07BAB8 7F046F48 AE0000D4 */ sw $zero, 0xd4($s0) -/* 07BABC 7F046F4C C60000D8 */ lwc1 $f0, 0xd8($s0) -.Ljp7F046F50: -/* 07BAC0 7F046F50 3C018005 */ lui $at, %hi(D_80052AE4) # $at, 0x8005 -/* 07BAC4 7F046F54 C4302B14 */ lwc1 $f16, %lo(D_80052AE4)($at) -/* 07BAC8 7F046F58 46000282 */ mul.s $f10, $f0, $f0 -/* 07BACC 7F046F5C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07BAD0 7F046F60 44813000 */ mtc1 $at, $f6 -/* 07BAD4 7F046F64 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07BAD8 7F046F68 24180001 */ li $t8, 1 -/* 07BADC 7F046F6C 46065102 */ mul.s $f4, $f10, $f6 -/* 07BAE0 7F046F70 46102083 */ div.s $f2, $f4, $f16 -/* 07BAE4 7F046F74 46029200 */ add.s $f8, $f18, $f2 -/* 07BAE8 7F046F78 4608703E */ c.le.s $f14, $f8 -/* 07BAEC 7F046F7C 00000000 */ nop -/* 07BAF0 7F046F80 4502000F */ bc1fl .Ljp7F046FC0 -/* 07BAF4 7F046F84 C60C00DC */ lwc1 $f12, 0xdc($s0) -/* 07BAF8 7F046F88 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07BAFC 7F046F8C 460A8182 */ mul.s $f6, $f16, $f10 -/* 07BB00 7F046F90 46060101 */ sub.s $f4, $f0, $f6 -/* 07BB04 7F046F94 E60400D8 */ swc1 $f4, 0xd8($s0) -/* 07BB08 7F046F98 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07BB0C 7F046F9C 4610003C */ c.lt.s $f0, $f16 -/* 07BB10 7F046FA0 00000000 */ nop -/* 07BB14 7F046FA4 45000003 */ bc1f .Ljp7F046FB4 -/* 07BB18 7F046FA8 00000000 */ nop -/* 07BB1C 7F046FAC E61000D8 */ swc1 $f16, 0xd8($s0) -/* 07BB20 7F046FB0 C60000D8 */ lwc1 $f0, 0xd8($s0) -.Ljp7F046FB4: -/* 07BB24 7F046FB4 1000001D */ b .Ljp7F04702C -/* 07BB28 7F046FB8 C60E00C8 */ lwc1 $f14, 0xc8($s0) -/* 07BB2C 7F046FBC C60C00DC */ lwc1 $f12, 0xdc($s0) -.Ljp7F046FC0: -/* 07BB30 7F046FC0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07BB34 7F046FC4 460C003C */ c.lt.s $f0, $f12 -/* 07BB38 7F046FC8 00000000 */ nop -/* 07BB3C 7F046FCC 45000017 */ bc1f .Ljp7F04702C -/* 07BB40 7F046FD0 00000000 */ nop -/* 07BB44 7F046FD4 C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) -/* 07BB48 7F046FD8 46088282 */ mul.s $f10, $f16, $f8 -/* 07BB4C 7F046FDC 460A0080 */ add.s $f2, $f0, $f10 -/* 07BB50 7F046FE0 4602603C */ c.lt.s $f12, $f2 -/* 07BB54 7F046FE4 00000000 */ nop -/* 07BB58 7F046FE8 45000002 */ bc1f .Ljp7F046FF4 -/* 07BB5C 7F046FEC 00000000 */ nop -/* 07BB60 7F046FF0 46006086 */ mov.s $f2, $f12 -.Ljp7F046FF4: -/* 07BB64 7F046FF4 46021182 */ mul.s $f6, $f2, $f2 -/* 07BB68 7F046FF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07BB6C 7F046FFC 44812000 */ mtc1 $at, $f4 -/* 07BB70 7F047000 00000000 */ nop -/* 07BB74 7F047004 46043202 */ mul.s $f8, $f6, $f4 -/* 07BB78 7F047008 46104283 */ div.s $f10, $f8, $f16 -/* 07BB7C 7F04700C 460A9180 */ add.s $f6, $f18, $f10 -/* 07BB80 7F047010 460E303C */ c.lt.s $f6, $f14 -/* 07BB84 7F047014 00000000 */ nop -/* 07BB88 7F047018 45000004 */ bc1f .Ljp7F04702C -/* 07BB8C 7F04701C 00000000 */ nop -/* 07BB90 7F047020 E60200D8 */ swc1 $f2, 0xd8($s0) -/* 07BB94 7F047024 C60000D8 */ lwc1 $f0, 0xd8($s0) -/* 07BB98 7F047028 C60E00C8 */ lwc1 $f14, 0xc8($s0) -.Ljp7F04702C: -/* 07BB9C 7F04702C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07BBA0 7F047030 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07BBA4 7F047034 46040202 */ mul.s $f8, $f0, $f4 -/* 07BBA8 7F047038 46087281 */ sub.s $f10, $f14, $f8 -/* 07BBAC 7F04703C E60A00C8 */ swc1 $f10, 0xc8($s0) -/* 07BBB0 7F047040 C60600C8 */ lwc1 $f6, 0xc8($s0) -/* 07BBB4 7F047044 4612303E */ c.le.s $f6, $f18 -/* 07BBB8 7F047048 00000000 */ nop -/* 07BBBC 7F04704C 45020579 */ bc1fl .Ljp7F048634 -/* 07BBC0 7F047050 92220003 */ lbu $v0, 3($s1) -/* 07BBC4 7F047054 E61200C8 */ swc1 $f18, 0xc8($s0) -/* 07BBC8 7F047058 E61600D8 */ swc1 $f22, 0xd8($s0) -/* 07BBCC 7F04705C 10000574 */ b .Ljp7F048630 -/* 07BBD0 7F047060 AE1800D4 */ sw $t8, 0xd4($s0) -/* 07BBD4 7F047064 2401000D */ li $at, 13 -.Ljp7F047068: -/* 07BBD8 7F047068 5441023F */ bnel $v0, $at, .Ljp7F047968 -/* 07BBDC 7F04706C 24010027 */ li $at, 39 -/* 07BBE0 7F047070 8E280008 */ lw $t0, 8($s1) -/* 07BBE4 7F047074 000848C0 */ sll $t1, $t0, 3 -/* 07BBE8 7F047078 0522023B */ bltzl $t1, .Ljp7F047968 -/* 07BBEC 7F04707C 24010027 */ li $at, 39 -/* 07BBF0 7F047080 0FC2279B */ jal get_curplayer_positiondata -/* 07BBF4 7F047084 8E700004 */ lw $s0, 4($s3) -/* 07BBF8 7F047088 AFA004B0 */ sw $zero, 0x4b0($sp) -/* 07BBFC 7F04708C AFA004AC */ sw $zero, 0x4ac($sp) -/* 07BC00 7F047090 AFA004A8 */ sw $zero, 0x4a8($sp) -/* 07BC04 7F047094 8E23000C */ lw $v1, 0xc($s1) -/* 07BC08 7F047098 00409025 */ move $s2, $v0 -/* 07BC0C 7F04709C 00035800 */ sll $t3, $v1, 0 -/* 07BC10 7F0470A0 05610056 */ bgez $t3, .Ljp7F0471FC -/* 07BC14 7F0470A4 00036040 */ sll $t4, $v1, 1 -/* 07BC18 7F0470A8 05830008 */ bgezl $t4, .Ljp7F0470CC -/* 07BC1C 7F0470AC C6020084 */ lwc1 $f2, 0x84($s0) -/* 07BC20 7F0470B0 C6080090 */ lwc1 $f8, 0x90($s0) -/* 07BC24 7F0470B4 C604009C */ lwc1 $f4, 0x9c($s0) -/* 07BC28 7F0470B8 E6080084 */ swc1 $f8, 0x84($s0) -/* 07BC2C 7F0470BC C6020084 */ lwc1 $f2, 0x84($s0) -/* 07BC30 7F0470C0 10000036 */ b .Ljp7F04719C -/* 07BC34 7F0470C4 E6040098 */ swc1 $f4, 0x98($s0) -/* 07BC38 7F0470C8 C6020084 */ lwc1 $f2, 0x84($s0) -.Ljp7F0470CC: -/* 07BC3C 7F0470CC C60A0090 */ lwc1 $f10, 0x90($s0) -/* 07BC40 7F0470D0 460A1032 */ c.eq.s $f2, $f10 -/* 07BC44 7F0470D4 00000000 */ nop -/* 07BC48 7F0470D8 45000030 */ bc1f .Ljp7F04719C -/* 07BC4C 7F0470DC 00000000 */ nop -/* 07BC50 7F0470E0 C6060098 */ lwc1 $f6, 0x98($s0) -/* 07BC54 7F0470E4 C604009C */ lwc1 $f4, 0x9c($s0) -/* 07BC58 7F0470E8 46043032 */ c.eq.s $f6, $f4 -/* 07BC5C 7F0470EC 00000000 */ nop -/* 07BC60 7F0470F0 4500002A */ bc1f .Ljp7F04719C -/* 07BC64 7F0470F4 00000000 */ nop -/* 07BC68 7F0470F8 0C002918 */ jal get_random_value -/* 07BC6C 7F0470FC 00000000 */ nop -/* 07BC70 7F047100 44824000 */ mtc1 $v0, $f8 -/* 07BC74 7F047104 3C018005 */ lui $at, %hi(D_80052AE8) # $at, 0x8005 -/* 07BC78 7F047108 C4342B18 */ lwc1 $f20, %lo(D_80052AE8)($at) -/* 07BC7C 7F04710C 04410005 */ bgez $v0, .Ljp7F047124 -/* 07BC80 7F047110 468042A0 */ cvt.s.w $f10, $f8 -/* 07BC84 7F047114 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07BC88 7F047118 44813000 */ mtc1 $at, $f6 -/* 07BC8C 7F04711C 00000000 */ nop -/* 07BC90 7F047120 46065280 */ add.s $f10, $f10, $f6 -.Ljp7F047124: -/* 07BC94 7F047124 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07BC98 7F047128 44812000 */ mtc1 $at, $f4 -/* 07BC9C 7F04712C 3C01421C */ li $at, 0x421C0000 # 39.000000 -/* 07BCA0 7F047130 44813000 */ mtc1 $at, $f6 -/* 07BCA4 7F047134 46045202 */ mul.s $f8, $f10, $f4 -/* 07BCA8 7F047138 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07BCAC 7F04713C 44812000 */ mtc1 $at, $f4 -/* 07BCB0 7F047140 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07BCB4 7F047144 46064282 */ mul.s $f10, $f8, $f6 -/* 07BCB8 7F047148 46045200 */ add.s $f8, $f10, $f4 -/* 07BCBC 7F04714C 44815000 */ mtc1 $at, $f10 -/* 07BCC0 7F047150 46144182 */ mul.s $f6, $f8, $f20 -/* 07BCC4 7F047154 460A3103 */ div.s $f4, $f6, $f10 -/* 07BCC8 7F047158 0C002918 */ jal get_random_value -/* 07BCCC 7F04715C E6040098 */ swc1 $f4, 0x98($s0) -/* 07BCD0 7F047160 44824000 */ mtc1 $v0, $f8 -/* 07BCD4 7F047164 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07BCD8 7F047168 04410004 */ bgez $v0, .Ljp7F04717C -/* 07BCDC 7F04716C 468041A0 */ cvt.s.w $f6, $f8 -/* 07BCE0 7F047170 44815000 */ mtc1 $at, $f10 -/* 07BCE4 7F047174 00000000 */ nop -/* 07BCE8 7F047178 460A3180 */ add.s $f6, $f6, $f10 -.Ljp7F04717C: -/* 07BCEC 7F04717C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07BCF0 7F047180 44812000 */ mtc1 $at, $f4 -/* 07BCF4 7F047184 00000000 */ nop -/* 07BCF8 7F047188 46043202 */ mul.s $f8, $f6, $f4 -/* 07BCFC 7F04718C 00000000 */ nop -/* 07BD00 7F047190 46144282 */ mul.s $f10, $f8, $f20 -/* 07BD04 7F047194 E60A0084 */ swc1 $f10, 0x84($s0) -/* 07BD08 7F047198 C6020084 */ lwc1 $f2, 0x84($s0) -.Ljp7F04719C: -/* 07BD0C 7F04719C 3C018005 */ lui $at, %hi(D_80052AEC) # $at, 0x8005 -/* 07BD10 7F0471A0 C4202B1C */ lwc1 $f0, %lo(D_80052AEC)($at) -/* 07BD14 7F0471A4 3C018005 */ lui $at, %hi(D_80052AF4) # $at, 0x8005 -/* 07BD18 7F0471A8 C4262B24 */ lwc1 $f6, %lo(D_80052AF4)($at) -/* 07BD1C 7F0471AC 44051000 */ mfc1 $a1, $f2 -/* 07BD20 7F0471B0 44070000 */ mfc1 $a3, $f0 -/* 07BD24 7F0471B4 26040090 */ addiu $a0, $s0, 0x90 -/* 07BD28 7F0471B8 26060094 */ addiu $a2, $s0, 0x94 -/* 07BD2C 7F0471BC E7A00010 */ swc1 $f0, 0x10($sp) -/* 07BD30 7F0471C0 0FC10D03 */ jal sub_GAME_7F04310C -/* 07BD34 7F0471C4 E7A60014 */ swc1 $f6, 0x14($sp) -/* 07BD38 7F0471C8 3C018005 */ lui $at, %hi(D_80052AF8) # $at, 0x8005 -/* 07BD3C 7F0471CC C4202B28 */ lwc1 $f0, %lo(D_80052AF8)($at) -/* 07BD40 7F0471D0 3C018005 */ lui $at, %hi(D_80052AFC) # $at, 0x8005 -/* 07BD44 7F0471D4 C4242B2C */ lwc1 $f4, %lo(D_80052AFC)($at) -/* 07BD48 7F0471D8 8E050098 */ lw $a1, 0x98($s0) -/* 07BD4C 7F0471DC 44070000 */ mfc1 $a3, $f0 -/* 07BD50 7F0471E0 2604009C */ addiu $a0, $s0, 0x9c -/* 07BD54 7F0471E4 260600A0 */ addiu $a2, $s0, 0xa0 -/* 07BD58 7F0471E8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07BD5C 7F0471EC 0FC10D03 */ jal sub_GAME_7F04310C -/* 07BD60 7F0471F0 E7A40014 */ swc1 $f4, 0x14($sp) -/* 07BD64 7F0471F4 1000050F */ b .Ljp7F048634 -/* 07BD68 7F0471F8 92220003 */ lbu $v0, 3($s1) -.Ljp7F0471FC: -/* 07BD6C 7F0471FC C6480008 */ lwc1 $f8, 8($s2) -/* 07BD70 7F047200 C62A0058 */ lwc1 $f10, 0x58($s1) -/* 07BD74 7F047204 C646000C */ lwc1 $f6, 0xc($s2) -/* 07BD78 7F047208 C624005C */ lwc1 $f4, 0x5c($s1) -/* 07BD7C 7F04720C 460A4001 */ sub.s $f0, $f8, $f10 -/* 07BD80 7F047210 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 07BD84 7F047214 44815000 */ mtc1 $at, $f10 -/* 07BD88 7F047218 46043201 */ sub.s $f8, $f6, $f4 -/* 07BD8C 7F04721C 460A4181 */ sub.s $f6, $f8, $f10 -/* 07BD90 7F047220 46000282 */ mul.s $f10, $f0, $f0 -/* 07BD94 7F047224 E7A604C4 */ swc1 $f6, 0x4c4($sp) -/* 07BD98 7F047228 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07BD9C 7F04722C C6440010 */ lwc1 $f4, 0x10($s2) -/* 07BDA0 7F047230 E7A004C8 */ swc1 $f0, 0x4c8($sp) -/* 07BDA4 7F047234 46082081 */ sub.s $f2, $f4, $f8 -/* 07BDA8 7F047238 46021182 */ mul.s $f6, $f2, $f2 -/* 07BDAC 7F04723C E7A204C0 */ swc1 $f2, 0x4c0($sp) -/* 07BDB0 7F047240 46065500 */ add.s $f20, $f10, $f6 -/* 07BDB4 7F047244 E7B404BC */ swc1 $f20, 0x4bc($sp) -/* 07BDB8 7F047248 0C007E08 */ jal sqrtf -/* 07BDBC 7F04724C 4600A306 */ mov.s $f12, $f20 -/* 07BDC0 7F047250 E7A004B4 */ swc1 $f0, 0x4b4($sp) -/* 07BDC4 7F047254 8E2E0008 */ lw $t6, 8($s1) -/* 07BDC8 7F047258 46000086 */ mov.s $f2, $f0 -/* 07BDCC 7F04725C 000E5100 */ sll $t2, $t6, 4 -/* 07BDD0 7F047260 05430008 */ bgezl $t2, .Ljp7F047284 -/* 07BDD4 7F047264 C7AC04BC */ lwc1 $f12, 0x4bc($sp) -/* 07BDD8 7F047268 C7A004C4 */ lwc1 $f0, 0x4c4($sp) -/* 07BDDC 7F04726C 46000102 */ mul.s $f4, $f0, $f0 -/* 07BDE0 7F047270 4604A300 */ add.s $f12, $f20, $f4 -/* 07BDE4 7F047274 0C007E08 */ jal sqrtf -/* 07BDE8 7F047278 E7AC04BC */ swc1 $f12, 0x4bc($sp) -/* 07BDEC 7F04727C 46000086 */ mov.s $f2, $f0 -/* 07BDF0 7F047280 C7AC04BC */ lwc1 $f12, 0x4bc($sp) -.Ljp7F047284: -/* 07BDF4 7F047284 0FC0B553 */ jal sub_GAME_7F02D244 -/* 07BDF8 7F047288 E7A204B8 */ swc1 $f2, 0x4b8($sp) -/* 07BDFC 7F04728C E7A004A4 */ swc1 $f0, 0x4a4($sp) -/* 07BE00 7F047290 C6080098 */ lwc1 $f8, 0x98($s0) -/* 07BE04 7F047294 C6100084 */ lwc1 $f16, 0x84($s0) -/* 07BE08 7F047298 C7A204B8 */ lwc1 $f2, 0x4b8($sp) -/* 07BE0C 7F04729C E7A804D8 */ swc1 $f8, 0x4d8($sp) -/* 07BE10 7F0472A0 C60A00A8 */ lwc1 $f10, 0xa8($s0) -/* 07BE14 7F0472A4 460A103E */ c.le.s $f2, $f10 -/* 07BE18 7F0472A8 00000000 */ nop -/* 07BE1C 7F0472AC 45020096 */ bc1fl .Ljp7F047508 -/* 07BE20 7F0472B0 8FA804B0 */ lw $t0, 0x4b0($sp) -/* 07BE24 7F0472B4 C7AC04C8 */ lwc1 $f12, 0x4c8($sp) -/* 07BE28 7F0472B8 C7AE04C0 */ lwc1 $f14, 0x4c0($sp) -/* 07BE2C 7F0472BC 0FC16BD4 */ jal convert_angle_using_inverse -/* 07BE30 7F0472C0 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07BE34 7F0472C4 E7A004A0 */ swc1 $f0, 0x4a0($sp) -/* 07BE38 7F0472C8 C7AC04C4 */ lwc1 $f12, 0x4c4($sp) -/* 07BE3C 7F0472CC 0FC16BD4 */ jal convert_angle_using_inverse -/* 07BE40 7F0472D0 C7AE04B4 */ lwc1 $f14, 0x4b4($sp) -/* 07BE44 7F0472D4 E7A0049C */ swc1 $f0, 0x49c($sp) -/* 07BE48 7F0472D8 8E220008 */ lw $v0, 8($s1) -/* 07BE4C 7F0472DC C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07BE50 7F0472E0 24190001 */ li $t9, 1 -/* 07BE54 7F0472E4 00027840 */ sll $t7, $v0, 1 -/* 07BE58 7F0472E8 05E00003 */ bltz $t7, .Ljp7F0472F8 -/* 07BE5C 7F0472EC 00026880 */ sll $t5, $v0, 2 -/* 07BE60 7F0472F0 05A10005 */ bgez $t5, .Ljp7F047308 -/* 07BE64 7F0472F4 C7A604A0 */ lwc1 $f6, 0x4a0($sp) -.Ljp7F0472F8: -/* 07BE68 7F0472F8 3C018005 */ lui $at, %hi(D_80052B00) # $at, 0x8005 -/* 07BE6C 7F0472FC C4342B30 */ lwc1 $f20, %lo(D_80052B00)($at) -/* 07BE70 7F047300 10000027 */ b .Ljp7F0473A0 -/* 07BE74 7F047304 AFB904B0 */ sw $t9, 0x4b0($sp) -.Ljp7F047308: -/* 07BE78 7F047308 C6040090 */ lwc1 $f4, 0x90($s0) -/* 07BE7C 7F04730C 3C018005 */ lui $at, %hi(D_80052B04) # $at, 0x8005 -/* 07BE80 7F047310 46043301 */ sub.s $f12, $f6, $f4 -/* 07BE84 7F047314 4616603C */ c.lt.s $f12, $f22 -/* 07BE88 7F047318 00000000 */ nop -/* 07BE8C 7F04731C 45000003 */ bc1f .Ljp7F04732C -/* 07BE90 7F047320 00000000 */ nop -/* 07BE94 7F047324 C4342B34 */ lwc1 $f20, %lo(D_80052B04)($at) -/* 07BE98 7F047328 46146300 */ add.s $f12, $f12, $f20 -.Ljp7F04732C: -/* 07BE9C 7F04732C 3C018005 */ lui $at, %hi(D_80052B08) # $at, 0x8005 -/* 07BEA0 7F047330 C4342B38 */ lwc1 $f20, %lo(D_80052B08)($at) -/* 07BEA4 7F047334 3C018005 */ lui $at, %hi(D_80052B0C) # $at, 0x8005 -/* 07BEA8 7F047338 C4282B3C */ lwc1 $f8, %lo(D_80052B0C)($at) -/* 07BEAC 7F04733C 3C018005 */ lui $at, %hi(D_80052B10) # $at, 0x8005 -/* 07BEB0 7F047340 460C403C */ c.lt.s $f8, $f12 -/* 07BEB4 7F047344 00000000 */ nop -/* 07BEB8 7F047348 45020003 */ bc1fl .Ljp7F047358 -/* 07BEBC 7F04734C C60A009C */ lwc1 $f10, 0x9c($s0) -/* 07BEC0 7F047350 46146301 */ sub.s $f12, $f12, $f20 -/* 07BEC4 7F047354 C60A009C */ lwc1 $f10, 0x9c($s0) -.Ljp7F047358: -/* 07BEC8 7F047358 460A0081 */ sub.s $f2, $f0, $f10 -/* 07BECC 7F04735C 4616103C */ c.lt.s $f2, $f22 -/* 07BED0 7F047360 00000000 */ nop -/* 07BED4 7F047364 45000001 */ bc1f .Ljp7F04736C -/* 07BED8 7F047368 00000000 */ nop -.Ljp7F04736C: -/* 07BEDC 7F04736C C4262B40 */ lwc1 $f6, %lo(D_80052B10)($at) -/* 07BEE0 7F047370 3C018005 */ lui $at, %hi(D_80052B14) # $at, 0x8005 -/* 07BEE4 7F047374 4606603C */ c.lt.s $f12, $f6 -/* 07BEE8 7F047378 00000000 */ nop -/* 07BEEC 7F04737C 45020009 */ bc1fl .Ljp7F0473A4 -/* 07BEF0 7F047380 8FA804B0 */ lw $t0, 0x4b0($sp) -/* 07BEF4 7F047384 C4242B44 */ lwc1 $f4, %lo(D_80052B14)($at) -/* 07BEF8 7F047388 24180001 */ li $t8, 1 -/* 07BEFC 7F04738C 460C203C */ c.lt.s $f4, $f12 -/* 07BF00 7F047390 00000000 */ nop -/* 07BF04 7F047394 45020003 */ bc1fl .Ljp7F0473A4 -/* 07BF08 7F047398 8FA804B0 */ lw $t0, 0x4b0($sp) -/* 07BF0C 7F04739C AFB804B0 */ sw $t8, 0x4b0($sp) -.Ljp7F0473A0: -/* 07BF10 7F0473A0 8FA804B0 */ lw $t0, 0x4b0($sp) -.Ljp7F0473A4: -/* 07BF14 7F0473A4 C7A804A0 */ lwc1 $f8, 0x4a0($sp) -/* 07BF18 7F0473A8 02402025 */ move $a0, $s2 -/* 07BF1C 7F0473AC 11000055 */ beqz $t0, .Ljp7F047504 -/* 07BF20 7F0473B0 00002825 */ move $a1, $zero -/* 07BF24 7F0473B4 C60A0084 */ lwc1 $f10, 0x84($s0) -/* 07BF28 7F0473B8 3C018005 */ lui $at, %hi(D_80052B18) # $at, 0x8005 -/* 07BF2C 7F0473BC C4262B48 */ lwc1 $f6, %lo(D_80052B18)($at) -/* 07BF30 7F0473C0 460A4001 */ sub.s $f0, $f8, $f10 -/* 07BF34 7F0473C4 8E690014 */ lw $t1, 0x14($s3) -/* 07BF38 7F0473C8 3C018005 */ lui $at, %hi(D_80052B1C) # $at, 0x8005 -/* 07BF3C 7F0473CC 4606003C */ c.lt.s $f0, $f6 -/* 07BF40 7F0473D0 AFA90494 */ sw $t1, 0x494($sp) -/* 07BF44 7F0473D4 45000003 */ bc1f .Ljp7F0473E4 -/* 07BF48 7F0473D8 00000000 */ nop -/* 07BF4C 7F0473DC 10000007 */ b .Ljp7F0473FC -/* 07BF50 7F0473E0 46140000 */ add.s $f0, $f0, $f20 -.Ljp7F0473E4: -/* 07BF54 7F0473E4 C4242B4C */ lwc1 $f4, %lo(D_80052B1C)($at) -/* 07BF58 7F0473E8 4600203E */ c.le.s $f4, $f0 -/* 07BF5C 7F0473EC 00000000 */ nop -/* 07BF60 7F0473F0 45020003 */ bc1fl .Ljp7F047400 -/* 07BF64 7F0473F4 E7A00498 */ swc1 $f0, 0x498($sp) -/* 07BF68 7F0473F8 46140001 */ sub.s $f0, $f0, $f20 -.Ljp7F0473FC: -/* 07BF6C 7F0473FC E7A00498 */ swc1 $f0, 0x498($sp) -.Ljp7F047400: -/* 07BF70 7F047400 0FC229DD */ jal sub_GAME_7F08A03C -/* 07BF74 7F047404 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07BF78 7F047408 C7A00498 */ lwc1 $f0, 0x498($sp) -/* 07BF7C 7F04740C C6080088 */ lwc1 $f8, 0x88($s0) -/* 07BF80 7F047410 C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07BF84 7F047414 4608003E */ c.le.s $f0, $f8 -/* 07BF88 7F047418 00000000 */ nop -/* 07BF8C 7F04741C 45020027 */ bc1fl .Ljp7F0474BC -/* 07BF90 7F047420 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BF94 7F047424 C60A008C */ lwc1 $f10, 0x8c($s0) -/* 07BF98 7F047428 240B001B */ li $t3, 27 -/* 07BF9C 7F04742C 4600503E */ c.le.s $f10, $f0 -/* 07BFA0 7F047430 00000000 */ nop -/* 07BFA4 7F047434 45020021 */ bc1fl .Ljp7F0474BC -/* 07BFA8 7F047438 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07BFAC 7F04743C C6460010 */ lwc1 $f6, 0x10($s2) -/* 07BFB0 7F047440 8E650008 */ lw $a1, 8($s3) -/* 07BFB4 7F047444 8E660010 */ lw $a2, 0x10($s3) -/* 07BFB8 7F047448 8E470008 */ lw $a3, 8($s2) -/* 07BFBC 7F04744C AFAB0014 */ sw $t3, 0x14($sp) -/* 07BFC0 7F047450 E7A60010 */ swc1 $f6, 0x10($sp) -/* 07BFC4 7F047454 C660000C */ lwc1 $f0, 0xc($s3) -/* 07BFC8 7F047458 27A40494 */ addiu $a0, $sp, 0x494 -/* 07BFCC 7F04745C E7A00018 */ swc1 $f0, 0x18($sp) -/* 07BFD0 7F047460 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 07BFD4 7F047464 C642000C */ lwc1 $f2, 0xc($s2) -/* 07BFD8 7F047468 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07BFDC 7F04746C E7A20020 */ swc1 $f2, 0x20($sp) -/* 07BFE0 7F047470 0FC2C675 */ jal sub_GAME_7F0B0E24 -/* 07BFE4 7F047474 E7A20024 */ swc1 $f2, 0x24($sp) -/* 07BFE8 7F047478 1040000F */ beqz $v0, .Ljp7F0474B8 -/* 07BFEC 7F04747C C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07BFF0 7F047480 8FAC0494 */ lw $t4, 0x494($sp) -/* 07BFF4 7F047484 8E4E0014 */ lw $t6, 0x14($s2) -/* 07BFF8 7F047488 558E000C */ bnel $t4, $t6, .Ljp7F0474BC -/* 07BFFC 7F04748C 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07C000 7F047490 8E2A0008 */ lw $t2, 8($s1) -/* 07C004 7F047494 3C012000 */ lui $at, 0x2000 -/* 07C008 7F047498 240D0001 */ li $t5, 1 -/* 07C00C 7F04749C 01417825 */ or $t7, $t2, $at -/* 07C010 7F0474A0 AE2F0008 */ sw $t7, 8($s1) -/* 07C014 7F0474A4 C7A4049C */ lwc1 $f4, 0x49c($sp) -/* 07C018 7F0474A8 AFAD04A8 */ sw $t5, 0x4a8($sp) -/* 07C01C 7F0474AC C7B004A0 */ lwc1 $f16, 0x4a0($sp) -/* 07C020 7F0474B0 1000000F */ b .Ljp7F0474F0 -/* 07C024 7F0474B4 E7A404D8 */ swc1 $f4, 0x4d8($sp) -.Ljp7F0474B8: -/* 07C028 7F0474B8 8E0200B8 */ lw $v0, 0xb8($s0) -.Ljp7F0474BC: -/* 07C02C 7F0474BC 3C198005 */ lui $t9, %hi(global_timer) # $t9, 0x8005 -/* 07C030 7F0474C0 0442000B */ bltzl $v0, .Ljp7F0474F0 -/* 07C034 7F0474C4 AFA004B0 */ sw $zero, 0x4b0($sp) -/* 07C038 7F0474C8 8F3983AC */ lw $t9, %lo(global_timer)($t9) -/* 07C03C 7F0474CC 2738FF88 */ addiu $t8, $t9, -0x78 -/* 07C040 7F0474D0 0302082A */ slt $at, $t8, $v0 -/* 07C044 7F0474D4 50200006 */ beql $at, $zero, .Ljp7F0474F0 -/* 07C048 7F0474D8 AFA004B0 */ sw $zero, 0x4b0($sp) -/* 07C04C 7F0474DC C608009C */ lwc1 $f8, 0x9c($s0) -/* 07C050 7F0474E0 C6100090 */ lwc1 $f16, 0x90($s0) -/* 07C054 7F0474E4 10000002 */ b .Ljp7F0474F0 -/* 07C058 7F0474E8 E7A804D8 */ swc1 $f8, 0x4d8($sp) -/* 07C05C 7F0474EC AFA004B0 */ sw $zero, 0x4b0($sp) -.Ljp7F0474F0: -/* 07C060 7F0474F0 02402025 */ move $a0, $s2 -/* 07C064 7F0474F4 24050001 */ li $a1, 1 -/* 07C068 7F0474F8 0FC229DD */ jal sub_GAME_7F08A03C -/* 07C06C 7F0474FC E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07C070 7F047500 C7B004DC */ lwc1 $f16, 0x4dc($sp) -.Ljp7F047504: -/* 07C074 7F047504 8FA804B0 */ lw $t0, 0x4b0($sp) -.Ljp7F047508: -/* 07C078 7F047508 3C018005 */ lui $at, %hi(D_80052B20) # $at, 0x8005 -/* 07C07C 7F04750C C4342B50 */ lwc1 $f20, %lo(D_80052B20)($at) -/* 07C080 7F047510 51000007 */ beql $t0, $zero, .Ljp7F047530 -/* 07C084 7F047514 8E0900D0 */ lw $t1, 0xd0($s0) -/* 07C088 7F047518 C7AC04BC */ lwc1 $f12, 0x4bc($sp) -/* 07C08C 7F04751C 0FC0B553 */ jal sub_GAME_7F02D244 -/* 07C090 7F047520 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07C094 7F047524 C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07C098 7F047528 E7A004A4 */ swc1 $f0, 0x4a4($sp) -/* 07C09C 7F04752C 8E0900D0 */ lw $t1, 0xd0($s0) -.Ljp7F047530: -/* 07C0A0 7F047530 1120001F */ beqz $t1, .Ljp7F0475B0 -/* 07C0A4 7F047534 3C0B8005 */ lui $t3, %hi(global_timer) # $t3, 0x8005 -/* 07C0A8 7F047538 8D6B83AC */ lw $t3, %lo(global_timer)($t3) -/* 07C0AC 7F04753C 24010078 */ li $at, 120 -/* 07C0B0 7F047540 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07C0B4 7F047544 0161001A */ div $zero, $t3, $at -/* 07C0B8 7F047548 00006010 */ mfhi $t4 -/* 07C0BC 7F04754C 448C5000 */ mtc1 $t4, $f10 -/* 07C0C0 7F047550 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 07C0C4 7F047554 44814000 */ mtc1 $at, $f8 -/* 07C0C8 7F047558 468051A0 */ cvt.s.w $f6, $f10 -/* 07C0CC 7F04755C 46143102 */ mul.s $f4, $f6, $f20 -/* 07C0D0 7F047560 0FC160F3 */ jal sinf -/* 07C0D4 7F047564 46082303 */ div.s $f12, $f4, $f8 -/* 07C0D8 7F047568 3C018005 */ lui $at, %hi(D_80052B24) # $at, 0x8005 -/* 07C0DC 7F04756C C4262B54 */ lwc1 $f6, %lo(D_80052B24)($at) -/* 07C0E0 7F047570 C7AA04A4 */ lwc1 $f10, 0x4a4($sp) -/* 07C0E4 7F047574 C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07C0E8 7F047578 46065102 */ mul.s $f4, $f10, $f6 -/* 07C0EC 7F04757C 00000000 */ nop -/* 07C0F0 7F047580 46002202 */ mul.s $f8, $f4, $f0 -/* 07C0F4 7F047584 46088400 */ add.s $f16, $f16, $f8 -/* 07C0F8 7F047588 4616803C */ c.lt.s $f16, $f22 -/* 07C0FC 7F04758C 00000000 */ nop -/* 07C100 7F047590 45000002 */ bc1f .Ljp7F04759C -/* 07C104 7F047594 00000000 */ nop -/* 07C108 7F047598 46148400 */ add.s $f16, $f16, $f20 -.Ljp7F04759C: -/* 07C10C 7F04759C 4610A03E */ c.le.s $f20, $f16 -/* 07C110 7F0475A0 00000000 */ nop -/* 07C114 7F0475A4 45020003 */ bc1fl .Ljp7F0475B4 -/* 07C118 7F0475A8 C6020084 */ lwc1 $f2, 0x84($s0) -/* 07C11C 7F0475AC 46148401 */ sub.s $f16, $f16, $f20 -.Ljp7F0475B0: -/* 07C120 7F0475B0 C6020084 */ lwc1 $f2, 0x84($s0) -.Ljp7F0475B4: -/* 07C124 7F0475B4 3C018005 */ lui $at, %hi(D_80052B28) # $at, 0x8005 -/* 07C128 7F0475B8 C42A2B58 */ lwc1 $f10, %lo(D_80052B28)($at) -/* 07C12C 7F0475BC 46028001 */ sub.s $f0, $f16, $f2 -/* 07C130 7F0475C0 26040090 */ addiu $a0, $s0, 0x90 -/* 07C134 7F0475C4 460A003C */ c.lt.s $f0, $f10 -/* 07C138 7F0475C8 00000000 */ nop -/* 07C13C 7F0475CC 45000003 */ bc1f .Ljp7F0475DC -/* 07C140 7F0475D0 00000000 */ nop -/* 07C144 7F0475D4 10000008 */ b .Ljp7F0475F8 -/* 07C148 7F0475D8 46140000 */ add.s $f0, $f0, $f20 -.Ljp7F0475DC: -/* 07C14C 7F0475DC 3C018005 */ lui $at, %hi(D_80052B2C) # $at, 0x8005 -/* 07C150 7F0475E0 C4262B5C */ lwc1 $f6, %lo(D_80052B2C)($at) -/* 07C154 7F0475E4 4600303E */ c.le.s $f6, $f0 -/* 07C158 7F0475E8 00000000 */ nop -/* 07C15C 7F0475EC 45020003 */ bc1fl .Ljp7F0475FC -/* 07C160 7F0475F0 C60C0088 */ lwc1 $f12, 0x88($s0) -/* 07C164 7F0475F4 46140001 */ sub.s $f0, $f0, $f20 -.Ljp7F0475F8: -/* 07C168 7F0475F8 C60C0088 */ lwc1 $f12, 0x88($s0) -.Ljp7F0475FC: -/* 07C16C 7F0475FC 3C018005 */ lui $at, %hi(D_80052B30) # $at, 0x8005 -/* 07C170 7F047600 4600603C */ c.lt.s $f12, $f0 -/* 07C174 7F047604 00000000 */ nop -/* 07C178 7F047608 45020004 */ bc1fl .Ljp7F04761C -/* 07C17C 7F04760C C60C008C */ lwc1 $f12, 0x8c($s0) -/* 07C180 7F047610 10000007 */ b .Ljp7F047630 -/* 07C184 7F047614 460C1400 */ add.s $f16, $f2, $f12 -/* 07C188 7F047618 C60C008C */ lwc1 $f12, 0x8c($s0) -.Ljp7F04761C: -/* 07C18C 7F04761C 460C003C */ c.lt.s $f0, $f12 -/* 07C190 7F047620 00000000 */ nop -/* 07C194 7F047624 45020003 */ bc1fl .Ljp7F047634 -/* 07C198 7F047628 4616803C */ c.lt.s $f16, $f22 -/* 07C19C 7F04762C 460C1400 */ add.s $f16, $f2, $f12 -.Ljp7F047630: -/* 07C1A0 7F047630 4616803C */ c.lt.s $f16, $f22 -.Ljp7F047634: -/* 07C1A4 7F047634 00000000 */ nop -/* 07C1A8 7F047638 45020003 */ bc1fl .Ljp7F047648 -/* 07C1AC 7F04763C 4610A03E */ c.le.s $f20, $f16 -/* 07C1B0 7F047640 46148400 */ add.s $f16, $f16, $f20 -/* 07C1B4 7F047644 4610A03E */ c.le.s $f20, $f16 -.Ljp7F047648: -/* 07C1B8 7F047648 00000000 */ nop -/* 07C1BC 7F04764C 45000002 */ bc1f .Ljp7F047658 -/* 07C1C0 7F047650 00000000 */ nop -/* 07C1C4 7F047654 46148401 */ sub.s $f16, $f16, $f20 -.Ljp7F047658: -/* 07C1C8 7F047658 C4202B60 */ lwc1 $f0, %lo(D_80052B30)($at) -/* 07C1CC 7F04765C 44058000 */ mfc1 $a1, $f16 -/* 07C1D0 7F047660 26060094 */ addiu $a2, $s0, 0x94 -/* 07C1D4 7F047664 E7A00010 */ swc1 $f0, 0x10($sp) -/* 07C1D8 7F047668 C60400A4 */ lwc1 $f4, 0xa4($s0) -/* 07C1DC 7F04766C 44070000 */ mfc1 $a3, $f0 -/* 07C1E0 7F047670 E7B004DC */ swc1 $f16, 0x4dc($sp) -/* 07C1E4 7F047674 0FC10D03 */ jal sub_GAME_7F04310C -/* 07C1E8 7F047678 E7A40014 */ swc1 $f4, 0x14($sp) -/* 07C1EC 7F04767C 3C018005 */ lui $at, %hi(D_80052B34) # $at, 0x8005 -/* 07C1F0 7F047680 C4202B64 */ lwc1 $f0, %lo(D_80052B34)($at) -/* 07C1F4 7F047684 2604009C */ addiu $a0, $s0, 0x9c -/* 07C1F8 7F047688 8FA504D8 */ lw $a1, 0x4d8($sp) -/* 07C1FC 7F04768C E7A00010 */ swc1 $f0, 0x10($sp) -/* 07C200 7F047690 C60800A4 */ lwc1 $f8, 0xa4($s0) -/* 07C204 7F047694 44070000 */ mfc1 $a3, $f0 -/* 07C208 7F047698 260600A0 */ addiu $a2, $s0, 0xa0 -/* 07C20C 7F04769C 0FC10D03 */ jal sub_GAME_7F04310C -/* 07C210 7F0476A0 E7A80014 */ swc1 $f8, 0x14($sp) -/* 07C214 7F0476A4 C7B004DC */ lwc1 $f16, 0x4dc($sp) -/* 07C218 7F0476A8 C60A0090 */ lwc1 $f10, 0x90($s0) -/* 07C21C 7F0476AC 3C018005 */ lui $at, %hi(D_80052B38) # $at, 0x8005 -/* 07C220 7F0476B0 C7A604D8 */ lwc1 $f6, 0x4d8($sp) -/* 07C224 7F0476B4 460A8301 */ sub.s $f12, $f16, $f10 -/* 07C228 7F0476B8 4616603C */ c.lt.s $f12, $f22 -/* 07C22C 7F0476BC 00000000 */ nop -/* 07C230 7F0476C0 45000002 */ bc1f .Ljp7F0476CC -/* 07C234 7F0476C4 00000000 */ nop -/* 07C238 7F0476C8 46146300 */ add.s $f12, $f12, $f20 -.Ljp7F0476CC: -/* 07C23C 7F0476CC C4202B68 */ lwc1 $f0, %lo(D_80052B38)($at) -/* 07C240 7F0476D0 460C003C */ c.lt.s $f0, $f12 -/* 07C244 7F0476D4 00000000 */ nop -/* 07C248 7F0476D8 45020003 */ bc1fl .Ljp7F0476E8 -/* 07C24C 7F0476DC C604009C */ lwc1 $f4, 0x9c($s0) -/* 07C250 7F0476E0 46146301 */ sub.s $f12, $f12, $f20 -/* 07C254 7F0476E4 C604009C */ lwc1 $f4, 0x9c($s0) -.Ljp7F0476E8: -/* 07C258 7F0476E8 46043081 */ sub.s $f2, $f6, $f4 -/* 07C25C 7F0476EC 4616103C */ c.lt.s $f2, $f22 -/* 07C260 7F0476F0 00000000 */ nop -/* 07C264 7F0476F4 45020003 */ bc1fl .Ljp7F047704 -/* 07C268 7F0476F8 4602003C */ c.lt.s $f0, $f2 -/* 07C26C 7F0476FC 46141080 */ add.s $f2, $f2, $f20 -/* 07C270 7F047700 4602003C */ c.lt.s $f0, $f2 -.Ljp7F047704: -/* 07C274 7F047704 00000000 */ nop -/* 07C278 7F047708 45020003 */ bc1fl .Ljp7F047718 -/* 07C27C 7F04770C AE0000D0 */ sw $zero, 0xd0($s0) -/* 07C280 7F047710 46141081 */ sub.s $f2, $f2, $f20 -/* 07C284 7F047714 AE0000D0 */ sw $zero, 0xd0($s0) -.Ljp7F047718: -/* 07C288 7F047718 8FAE04B0 */ lw $t6, 0x4b0($sp) -/* 07C28C 7F04771C C7A804A4 */ lwc1 $f8, 0x4a4($sp) -/* 07C290 7F047720 51C00047 */ beql $t6, $zero, .Ljp7F047840 -/* 07C294 7F047724 8FB904AC */ lw $t9, 0x4ac($sp) -/* 07C298 7F047728 4608603C */ c.lt.s $f12, $f8 -/* 07C29C 7F04772C C7AA04A4 */ lwc1 $f10, 0x4a4($sp) -/* 07C2A0 7F047730 4502001B */ bc1fl .Ljp7F0477A0 -/* 07C2A4 7F047734 460A5000 */ add.s $f0, $f10, $f10 -/* 07C2A8 7F047738 46004007 */ neg.s $f0, $f8 -/* 07C2AC 7F04773C 460C003C */ c.lt.s $f0, $f12 -/* 07C2B0 7F047740 00000000 */ nop -/* 07C2B4 7F047744 45020016 */ bc1fl .Ljp7F0477A0 -/* 07C2B8 7F047748 460A5000 */ add.s $f0, $f10, $f10 -/* 07C2BC 7F04774C 4608103C */ c.lt.s $f2, $f8 -/* 07C2C0 7F047750 00000000 */ nop -/* 07C2C4 7F047754 45020012 */ bc1fl .Ljp7F0477A0 -/* 07C2C8 7F047758 460A5000 */ add.s $f0, $f10, $f10 -/* 07C2CC 7F04775C 4602003C */ c.lt.s $f0, $f2 -/* 07C2D0 7F047760 240A0001 */ li $t2, 1 -/* 07C2D4 7F047764 4502000E */ bc1fl .Ljp7F0477A0 -/* 07C2D8 7F047768 460A5000 */ add.s $f0, $f10, $f10 -/* 07C2DC 7F04776C AE0A00D0 */ sw $t2, 0xd0($s0) -/* 07C2E0 7F047770 8FAD04A8 */ lw $t5, 0x4a8($sp) -/* 07C2E4 7F047774 240F0001 */ li $t7, 1 -/* 07C2E8 7F047778 AFAF04AC */ sw $t7, 0x4ac($sp) -/* 07C2EC 7F04777C 11A0002F */ beqz $t5, .Ljp7F04783C -/* 07C2F0 7F047780 3C198005 */ lui $t9, %hi(global_timer) # $t9, 0x8005 -/* 07C2F4 7F047784 8F3983AC */ lw $t9, %lo(global_timer)($t9) -/* 07C2F8 7F047788 3C188005 */ lui $t8, %hi(global_timer) # $t8, 0x8005 -/* 07C2FC 7F04778C AE1900B8 */ sw $t9, 0xb8($s0) -/* 07C300 7F047790 8F1883AC */ lw $t8, %lo(global_timer)($t8) -/* 07C304 7F047794 10000029 */ b .Ljp7F04783C -/* 07C308 7F047798 AE1800BC */ sw $t8, 0xbc($s0) -/* 07C30C 7F04779C 460A5000 */ add.s $f0, $f10, $f10 -.Ljp7F0477A0: -/* 07C310 7F0477A0 4600603C */ c.lt.s $f12, $f0 -/* 07C314 7F0477A4 00000000 */ nop -/* 07C318 7F0477A8 45020018 */ bc1fl .Ljp7F04780C -/* 07C31C 7F0477AC 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07C320 7F0477B0 46000387 */ neg.s $f14, $f0 -/* 07C324 7F0477B4 460C703C */ c.lt.s $f14, $f12 -/* 07C328 7F0477B8 00000000 */ nop -/* 07C32C 7F0477BC 45020013 */ bc1fl .Ljp7F04780C -/* 07C330 7F0477C0 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07C334 7F0477C4 4600103C */ c.lt.s $f2, $f0 -/* 07C338 7F0477C8 00000000 */ nop -/* 07C33C 7F0477CC 4502000F */ bc1fl .Ljp7F04780C -/* 07C340 7F0477D0 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07C344 7F0477D4 4602703C */ c.lt.s $f14, $f2 -/* 07C348 7F0477D8 24080001 */ li $t0, 1 -/* 07C34C 7F0477DC 4502000B */ bc1fl .Ljp7F04780C -/* 07C350 7F0477E0 8E0200B8 */ lw $v0, 0xb8($s0) -/* 07C354 7F0477E4 AE0800D0 */ sw $t0, 0xd0($s0) -/* 07C358 7F0477E8 8FAB04A8 */ lw $t3, 0x4a8($sp) -/* 07C35C 7F0477EC 24090001 */ li $t1, 1 -/* 07C360 7F0477F0 AFA904AC */ sw $t1, 0x4ac($sp) -/* 07C364 7F0477F4 11600011 */ beqz $t3, .Ljp7F04783C -/* 07C368 7F0477F8 3C0C8005 */ lui $t4, %hi(global_timer) # $t4, 0x8005 -/* 07C36C 7F0477FC 8D8C83AC */ lw $t4, %lo(global_timer)($t4) -/* 07C370 7F047800 1000000E */ b .Ljp7F04783C -/* 07C374 7F047804 AE0C00B8 */ sw $t4, 0xb8($s0) -/* 07C378 7F047808 8E0200B8 */ lw $v0, 0xb8($s0) -.Ljp7F04780C: -/* 07C37C 7F04780C 3C0E8005 */ lui $t6, %hi(global_timer) # $t6, 0x8005 -/* 07C380 7F047810 0442000B */ bltzl $v0, .Ljp7F047840 -/* 07C384 7F047814 8FB904AC */ lw $t9, 0x4ac($sp) -/* 07C388 7F047818 8DCE83AC */ lw $t6, %lo(global_timer)($t6) -/* 07C38C 7F04781C 240F0001 */ li $t7, 1 -/* 07C390 7F047820 240D0001 */ li $t5, 1 -/* 07C394 7F047824 25CAFF88 */ addiu $t2, $t6, -0x78 -/* 07C398 7F047828 0142082A */ slt $at, $t2, $v0 -/* 07C39C 7F04782C 50200004 */ beql $at, $zero, .Ljp7F047840 -/* 07C3A0 7F047830 8FB904AC */ lw $t9, 0x4ac($sp) -/* 07C3A4 7F047834 AE0F00D0 */ sw $t7, 0xd0($s0) -/* 07C3A8 7F047838 AFAD04AC */ sw $t5, 0x4ac($sp) -.Ljp7F04783C: -/* 07C3AC 7F04783C 8FB904AC */ lw $t9, 0x4ac($sp) -.Ljp7F047840: -/* 07C3B0 7F047840 3C018005 */ lui $at, %hi(D_80052B3C) # $at, 0x8005 -/* 07C3B4 7F047844 53200013 */ beql $t9, $zero, .Ljp7F047894 -/* 07C3B8 7F047848 C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07C3BC 7F04784C C4202B6C */ lwc1 $f0, %lo(D_80052B3C)($at) -/* 07C3C0 7F047850 3C018005 */ lui $at, %hi(D_80052B40) # $at, 0x8005 -/* 07C3C4 7F047854 C4262B70 */ lwc1 $f6, %lo(D_80052B40)($at) -/* 07C3C8 7F047858 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C3CC 7F04785C C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07C3D0 7F047860 C60A00B0 */ lwc1 $f10, 0xb0($s0) -/* 07C3D4 7F047864 46043202 */ mul.s $f8, $f6, $f4 -/* 07C3D8 7F047868 46085180 */ add.s $f6, $f10, $f8 -/* 07C3DC 7F04786C E60600B0 */ swc1 $f6, 0xb0($s0) -/* 07C3E0 7F047870 C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07C3E4 7F047874 4602003C */ c.lt.s $f0, $f2 -/* 07C3E8 7F047878 00000000 */ nop -/* 07C3EC 7F04787C 45020023 */ bc1fl .Ljp7F04790C -/* 07C3F0 7F047880 4602B03C */ c.lt.s $f22, $f2 -/* 07C3F4 7F047884 E60000B0 */ swc1 $f0, 0xb0($s0) -/* 07C3F8 7F047888 1000001F */ b .Ljp7F047908 -/* 07C3FC 7F04788C C60200B0 */ lwc1 $f2, 0xb0($s0) -/* 07C400 7F047890 C60200B0 */ lwc1 $f2, 0xb0($s0) -.Ljp7F047894: -/* 07C404 7F047894 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 -/* 07C408 7F047898 4602B03C */ c.lt.s $f22, $f2 -/* 07C40C 7F04789C 00000000 */ nop -/* 07C410 7F0478A0 4502001A */ bc1fl .Ljp7F04790C -/* 07C414 7F0478A4 4602B03C */ c.lt.s $f22, $f2 -/* 07C418 7F0478A8 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) -/* 07C41C 7F0478AC 00001025 */ move $v0, $zero -/* 07C420 7F0478B0 3C018005 */ lui $at, %hi(D_80052B44) # $at, 0x8005 -/* 07C424 7F0478B4 1B00000C */ blez $t8, .Ljp7F0478E8 -/* 07C428 7F0478B8 00000000 */ nop -/* 07C42C 7F0478BC C4202B74 */ lwc1 $f0, %lo(D_80052B44)($at) -/* 07C430 7F0478C0 C60400B0 */ lwc1 $f4, 0xb0($s0) -.Ljp7F0478C4: -/* 07C434 7F0478C4 3C088005 */ lui $t0, %hi(clock_timer) # $t0, 0x8005 -/* 07C438 7F0478C8 24420001 */ addiu $v0, $v0, 1 -/* 07C43C 7F0478CC 46002282 */ mul.s $f10, $f4, $f0 -/* 07C440 7F0478D0 E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 07C444 7F0478D4 8D0883A4 */ lw $t0, %lo(clock_timer)($t0) -/* 07C448 7F0478D8 0048082A */ slt $at, $v0, $t0 -/* 07C44C 7F0478DC 5420FFF9 */ bnezl $at, .Ljp7F0478C4 -/* 07C450 7F0478E0 C60400B0 */ lwc1 $f4, 0xb0($s0) -/* 07C454 7F0478E4 C60200B0 */ lwc1 $f2, 0xb0($s0) -.Ljp7F0478E8: -/* 07C458 7F0478E8 3C018005 */ lui $at, %hi(D_80052B48) # $at, 0x8005 -/* 07C45C 7F0478EC C4282B78 */ lwc1 $f8, %lo(D_80052B48)($at) -/* 07C460 7F0478F0 4608103E */ c.le.s $f2, $f8 -/* 07C464 7F0478F4 00000000 */ nop -/* 07C468 7F0478F8 45020004 */ bc1fl .Ljp7F04790C -/* 07C46C 7F0478FC 4602B03C */ c.lt.s $f22, $f2 -/* 07C470 7F047900 E61600B0 */ swc1 $f22, 0xb0($s0) -/* 07C474 7F047904 C60200B0 */ lwc1 $f2, 0xb0($s0) -.Ljp7F047908: -/* 07C478 7F047908 4602B03C */ c.lt.s $f22, $f2 -.Ljp7F04790C: -/* 07C47C 7F04790C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C480 7F047910 45020348 */ bc1fl .Ljp7F048634 -/* 07C484 7F047914 92220003 */ lbu $v0, 3($s1) -/* 07C488 7F047918 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07C48C 7F04791C C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07C490 7F047920 46041282 */ mul.s $f10, $f2, $f4 -/* 07C494 7F047924 460A3200 */ add.s $f8, $f6, $f10 -/* 07C498 7F047928 E60800B4 */ swc1 $f8, 0xb4($s0) -/* 07C49C 7F04792C C60000B4 */ lwc1 $f0, 0xb4($s0) -/* 07C4A0 7F047930 4600A03E */ c.le.s $f20, $f0 -/* 07C4A4 7F047934 00000000 */ nop -/* 07C4A8 7F047938 4502033E */ bc1fl .Ljp7F048634 -/* 07C4AC 7F04793C 92220003 */ lbu $v0, 3($s1) -/* 07C4B0 7F047940 46140101 */ sub.s $f4, $f0, $f20 -.Ljp7F047944: -/* 07C4B4 7F047944 E60400B4 */ swc1 $f4, 0xb4($s0) -/* 07C4B8 7F047948 C60000B4 */ lwc1 $f0, 0xb4($s0) -/* 07C4BC 7F04794C 4600A03E */ c.le.s $f20, $f0 -/* 07C4C0 7F047950 00000000 */ nop -/* 07C4C4 7F047954 4503FFFB */ bc1tl .Ljp7F047944 -/* 07C4C8 7F047958 46140101 */ sub.s $f4, $f0, $f20 -/* 07C4CC 7F04795C 10000335 */ b .Ljp7F048634 -/* 07C4D0 7F047960 92220003 */ lbu $v0, 3($s1) -/* 07C4D4 7F047964 24010027 */ li $at, 39 -.Ljp7F047968: -/* 07C4D8 7F047968 14410255 */ bne $v0, $at, .Ljp7F0482C0 -/* 07C4DC 7F04796C 02202025 */ move $a0, $s1 -/* 07C4E0 7F047970 C62600A0 */ lwc1 $f6, 0xa0($s1) -/* 07C4E4 7F047974 AFA0047C */ sw $zero, 0x47c($sp) -/* 07C4E8 7F047978 24050001 */ li $a1, 1 -/* 07C4EC 7F04797C 0FC0D5E1 */ jal parse_handle_actionblocks -/* 07C4F0 7F047980 E7A60480 */ swc1 $f6, 0x480($sp) -/* 07C4F4 7F047984 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07C4F8 7F047988 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C4FC 7F04798C 460EB03E */ c.le.s $f22, $f14 -/* 07C500 7F047990 00000000 */ nop -/* 07C504 7F047994 45020016 */ bc1fl .Ljp7F0479F0 -/* 07C508 7F047998 8E29000C */ lw $t1, 0xc($s1) -/* 07C50C 7F04799C C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C510 7F0479A0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C514 7F0479A4 4602703E */ c.le.s $f14, $f2 -/* 07C518 7F0479A8 00000000 */ nop -/* 07C51C 7F0479AC 45020006 */ bc1fl .Ljp7F0479C8 -/* 07C520 7F0479B0 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07C524 7F0479B4 C62A0094 */ lwc1 $f10, 0x94($s1) -/* 07C528 7F0479B8 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07C52C 7F0479BC 10000008 */ b .Ljp7F0479E0 -/* 07C530 7F0479C0 E62A0088 */ swc1 $f10, 0x88($s1) -/* 07C534 7F0479C4 C6200088 */ lwc1 $f0, 0x88($s1) -.Ljp7F0479C8: -/* 07C538 7F0479C8 C6280094 */ lwc1 $f8, 0x94($s1) -/* 07C53C 7F0479CC 46004101 */ sub.s $f4, $f8, $f0 -/* 07C540 7F0479D0 46022182 */ mul.s $f6, $f4, $f2 -/* 07C544 7F0479D4 460E3283 */ div.s $f10, $f6, $f14 -/* 07C548 7F0479D8 460A0200 */ add.s $f8, $f0, $f10 -/* 07C54C 7F0479DC E6280088 */ swc1 $f8, 0x88($s1) -.Ljp7F0479E0: -/* 07C550 7F0479E0 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) -/* 07C554 7F0479E4 46047181 */ sub.s $f6, $f14, $f4 -/* 07C558 7F0479E8 E6260098 */ swc1 $f6, 0x98($s1) -/* 07C55C 7F0479EC 8E29000C */ lw $t1, 0xc($s1) -.Ljp7F0479F0: -/* 07C560 7F0479F0 00008025 */ move $s0, $zero -/* 07C564 7F0479F4 00095B00 */ sll $t3, $t1, 0xc -/* 07C568 7F0479F8 05600014 */ bltz $t3, .Ljp7F047A4C -/* 07C56C 7F0479FC 00000000 */ nop -/* 07C570 7F047A00 0FC13CCE */ jal check_if_object_has_not_been_destroyed -/* 07C574 7F047A04 02202025 */ move $a0, $s1 -/* 07C578 7F047A08 10400010 */ beqz $v0, .Ljp7F047A4C -/* 07C57C 7F047A0C 00000000 */ nop -/* 07C580 7F047A10 C62A0088 */ lwc1 $f10, 0x88($s1) -/* 07C584 7F047A14 26240058 */ addiu $a0, $s1, 0x58 -/* 07C588 7F047A18 3C0544FA */ lui $a1, 0x44fa -/* 07C58C 7F047A1C 460AB03C */ c.lt.s $f22, $f10 -/* 07C590 7F047A20 3C06453B */ lui $a2, (0x453B8000 >> 16) # lui $a2, 0x453b -/* 07C594 7F047A24 45010006 */ bc1t .Ljp7F047A40 -/* 07C598 7F047A28 00000000 */ nop -/* 07C59C 7F047A2C C6280094 */ lwc1 $f8, 0x94($s1) -/* 07C5A0 7F047A30 4608B03C */ c.lt.s $f22, $f8 -/* 07C5A4 7F047A34 00000000 */ nop -/* 07C5A8 7F047A38 45000004 */ bc1f .Ljp7F047A4C -/* 07C5AC 7F047A3C 00000000 */ nop -.Ljp7F047A40: -/* 07C5B0 7F047A40 0FC14F64 */ jal sub_GAME_7F053894 -/* 07C5B4 7F047A44 34C68000 */ ori $a2, (0x453B8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 07C5B8 7F047A48 00408025 */ move $s0, $v0 -.Ljp7F047A4C: -/* 07C5BC 7F047A4C 5A000019 */ blezl $s0, .Ljp7F047AB4 -/* 07C5C0 7F047A50 8E2400AC */ lw $a0, 0xac($s1) -/* 07C5C4 7F047A54 8E2400AC */ lw $a0, 0xac($s1) -/* 07C5C8 7F047A58 10800005 */ beqz $a0, .Ljp7F047A70 -/* 07C5CC 7F047A5C 00000000 */ nop -/* 07C5D0 7F047A60 0C002380 */ jal sfxGetArg0Unk3F -/* 07C5D4 7F047A64 00000000 */ nop -/* 07C5D8 7F047A68 5440000A */ bnezl $v0, .Ljp7F047A94 -/* 07C5DC 7F047A6C 8E2400AC */ lw $a0, 0xac($s1) -.Ljp7F047A70: -/* 07C5E0 7F047A70 0FC3021B */ jal get_controls_locked_flag -/* 07C5E4 7F047A74 00000000 */ nop -/* 07C5E8 7F047A78 14400005 */ bnez $v0, .Ljp7F047A90 -/* 07C5EC 7F047A7C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07C5F0 7F047A80 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07C5F4 7F047A84 24050041 */ li $a1, 65 -/* 07C5F8 7F047A88 0C002386 */ jal play_sfx_a1 -/* 07C5FC 7F047A8C 262600AC */ addiu $a2, $s1, 0xac -.Ljp7F047A90: -/* 07C600 7F047A90 8E2400AC */ lw $a0, 0xac($s1) -.Ljp7F047A94: -/* 07C604 7F047A94 24050008 */ li $a1, 8 -/* 07C608 7F047A98 5080000F */ beql $a0, $zero, .Ljp7F047AD8 -/* 07C60C 7F047A9C 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C610 7F047AA0 0C002465 */ jal sfx_c_70009184 -/* 07C614 7F047AA4 02003025 */ move $a2, $s0 -/* 07C618 7F047AA8 1000000B */ b .Ljp7F047AD8 -/* 07C61C 7F047AAC 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C620 7F047AB0 8E2400AC */ lw $a0, 0xac($s1) -.Ljp7F047AB4: -/* 07C624 7F047AB4 50800008 */ beql $a0, $zero, .Ljp7F047AD8 -/* 07C628 7F047AB8 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C62C 7F047ABC 0C002380 */ jal sfxGetArg0Unk3F -/* 07C630 7F047AC0 00000000 */ nop -/* 07C634 7F047AC4 50400004 */ beql $v0, $zero, .Ljp7F047AD8 -/* 07C638 7F047AC8 8E2400A4 */ lw $a0, 0xa4($s1) -/* 07C63C 7F047ACC 0C00240C */ jal sfxDeactivate -/* 07C640 7F047AD0 8E2400AC */ lw $a0, 0xac($s1) -/* 07C644 7F047AD4 8E2400A4 */ lw $a0, 0xa4($s1) -.Ljp7F047AD8: -/* 07C648 7F047AD8 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 -/* 07C64C 7F047ADC 5080002A */ beql $a0, $zero, .Ljp7F047B88 -/* 07C650 7F047AE0 8E2F0008 */ lw $t7, 8($s1) -/* 07C654 7F047AE4 8E2E00A8 */ lw $t6, 0xa8($s1) -/* 07C658 7F047AE8 8C8C0000 */ lw $t4, ($a0) -/* 07C65C 7F047AEC 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 -/* 07C660 7F047AF0 000E5080 */ sll $t2, $t6, 2 -/* 07C664 7F047AF4 018A1021 */ addu $v0, $t4, $t2 -/* 07C668 7F047AF8 8C4F0000 */ lw $t7, ($v0) -/* 07C66C 7F047AFC 8CB90000 */ lw $t9, ($a1) -/* 07C670 7F047B00 8CA90018 */ lw $t1, 0x18($a1) -/* 07C674 7F047B04 000F6900 */ sll $t5, $t7, 4 -/* 07C678 7F047B08 01B91821 */ addu $v1, $t5, $t9 -/* 07C67C 7F047B0C 8C780000 */ lw $t8, ($v1) -/* 07C680 7F047B10 C6260058 */ lwc1 $f6, 0x58($s1) -/* 07C684 7F047B14 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07C688 7F047B18 00184080 */ sll $t0, $t8, 2 -/* 07C68C 7F047B1C 01184023 */ subu $t0, $t0, $t8 -/* 07C690 7F047B20 00084080 */ sll $t0, $t0, 2 -/* 07C694 7F047B24 01184023 */ subu $t0, $t0, $t8 -/* 07C698 7F047B28 00084080 */ sll $t0, $t0, 2 -/* 07C69C 7F047B2C 01093021 */ addu $a2, $t0, $t1 -/* 07C6A0 7F047B30 C4C40000 */ lwc1 $f4, ($a2) -/* 07C6A4 7F047B34 C4CA0008 */ lwc1 $f10, 8($a2) -/* 07C6A8 7F047B38 AFA6047C */ sw $a2, 0x47c($sp) -/* 07C6AC 7F047B3C 46062301 */ sub.s $f12, $f4, $f6 -/* 07C6B0 7F047B40 0FC16BD4 */ jal convert_angle_using_inverse -/* 07C6B4 7F047B44 46085381 */ sub.s $f14, $f10, $f8 -/* 07C6B8 7F047B48 E7A00480 */ swc1 $f0, 0x480($sp) -/* 07C6BC 7F047B4C 8E2B0008 */ lw $t3, 8($s1) -/* 07C6C0 7F047B50 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07C6C4 7F047B54 C7A40480 */ lwc1 $f4, 0x480($sp) -/* 07C6C8 7F047B58 000B7080 */ sll $t6, $t3, 2 -/* 07C6CC 7F047B5C 05C10018 */ bgez $t6, .Ljp7F047BC0 -/* 07C6D0 7F047B60 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07C6D4 7F047B64 8E2C0008 */ lw $t4, 8($s1) -/* 07C6D8 7F047B68 E62400A0 */ swc1 $f4, 0xa0($s1) -/* 07C6DC 7F047B6C 02202025 */ move $a0, $s1 -/* 07C6E0 7F047B70 01815024 */ and $t2, $t4, $at -/* 07C6E4 7F047B74 0FC113C3 */ jal sub_GAME_7F044B38 -/* 07C6E8 7F047B78 AE2A0008 */ sw $t2, 8($s1) -/* 07C6EC 7F047B7C 10000011 */ b .Ljp7F047BC4 -/* 07C6F0 7F047B80 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07C6F4 7F047B84 8E2F0008 */ lw $t7, 8($s1) -.Ljp7F047B88: -/* 07C6F8 7F047B88 000F6880 */ sll $t5, $t7, 2 -/* 07C6FC 7F047B8C 05A3000D */ bgezl $t5, .Ljp7F047BC4 -/* 07C700 7F047B90 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07C704 7F047B94 C62C0038 */ lwc1 $f12, 0x38($s1) -/* 07C708 7F047B98 0FC16BD4 */ jal convert_angle_using_inverse -/* 07C70C 7F047B9C C62E0040 */ lwc1 $f14, 0x40($s1) -/* 07C710 7F047BA0 8E390008 */ lw $t9, 8($s1) -/* 07C714 7F047BA4 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07C718 7F047BA8 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07C71C 7F047BAC 0321C024 */ and $t8, $t9, $at -/* 07C720 7F047BB0 E62000A0 */ swc1 $f0, 0xa0($s1) -/* 07C724 7F047BB4 AE380008 */ sw $t8, 8($s1) -/* 07C728 7F047BB8 0FC113C3 */ jal sub_GAME_7F044B38 -/* 07C72C 7F047BBC 02202025 */ move $a0, $s1 -.Ljp7F047BC0: -/* 07C730 7F047BC0 C6260088 */ lwc1 $f6, 0x88($s1) -.Ljp7F047BC4: -/* 07C734 7F047BC4 4606B03C */ c.lt.s $f22, $f6 -/* 07C738 7F047BC8 00000000 */ nop -/* 07C73C 7F047BCC 450201AC */ bc1fl .Ljp7F048280 -/* 07C740 7F047BD0 8E2A0008 */ lw $t2, 8($s1) -/* 07C744 7F047BD4 8E680014 */ lw $t0, 0x14($s3) -/* 07C748 7F047BD8 8FA9047C */ lw $t1, 0x47c($sp) -/* 07C74C 7F047BDC 4600B386 */ mov.s $f14, $f22 -/* 07C750 7F047BE0 AFA8046C */ sw $t0, 0x46c($sp) -/* 07C754 7F047BE4 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C758 7F047BE8 E7AC043C */ swc1 $f12, 0x43c($sp) -/* 07C75C 7F047BEC C62A009C */ lwc1 $f10, 0x9c($s1) -/* 07C760 7F047BF0 11200013 */ beqz $t1, .Ljp7F047C40 -/* 07C764 7F047BF4 E7AA0438 */ swc1 $f10, 0x438($sp) -/* 07C768 7F047BF8 262B0058 */ addiu $t3, $s1, 0x58 -/* 07C76C 7F047BFC AFAB0074 */ sw $t3, 0x74($sp) -/* 07C770 7F047C00 0FC160F3 */ jal sinf -/* 07C774 7F047C04 E7AE0434 */ swc1 $f14, 0x434($sp) -/* 07C778 7F047C08 E7A00440 */ swc1 $f0, 0x440($sp) -/* 07C77C 7F047C0C E7B60444 */ swc1 $f22, 0x444($sp) -/* 07C780 7F047C10 0FC160F0 */ jal cosf -/* 07C784 7F047C14 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C788 7F047C18 E7A00448 */ swc1 $f0, 0x448($sp) -/* 07C78C 7F047C1C 8FA40074 */ lw $a0, 0x74($sp) -/* 07C790 7F047C20 27A50440 */ addiu $a1, $sp, 0x440 -/* 07C794 7F047C24 8FA6047C */ lw $a2, 0x47c($sp) -/* 07C798 7F047C28 0FC0BFCD */ jal sub_GAME_7F02FC34 -/* 07C79C 7F047C2C 3C074120 */ lui $a3, 0x4120 -/* 07C7A0 7F047C30 10400003 */ beqz $v0, .Ljp7F047C40 -/* 07C7A4 7F047C34 C7AE0434 */ lwc1 $f14, 0x434($sp) -/* 07C7A8 7F047C38 C62800A0 */ lwc1 $f8, 0xa0($s1) -/* 07C7AC 7F047C3C E7A80480 */ swc1 $f8, 0x480($sp) -.Ljp7F047C40: -/* 07C7B0 7F047C40 3C018005 */ lui $at, %hi(D_80052B4C) # $at, 0x8005 -/* 07C7B4 7F047C44 C4242B7C */ lwc1 $f4, %lo(D_80052B4C)($at) -/* 07C7B8 7F047C48 3C018005 */ lui $at, %hi(D_80052B50) # $at, 0x8005 -/* 07C7BC 7F047C4C C4262B80 */ lwc1 $f6, %lo(D_80052B50)($at) -/* 07C7C0 7F047C50 3C0738E4 */ lui $a3, (0x38E4C389 >> 16) # lui $a3, 0x38e4 -/* 07C7C4 7F047C54 34E7C389 */ ori $a3, (0x38E4C389 & 0xFFFF) # ori $a3, $a3, 0xc389 -/* 07C7C8 7F047C58 262400A0 */ addiu $a0, $s1, 0xa0 -/* 07C7CC 7F047C5C 8FA50480 */ lw $a1, 0x480($sp) -/* 07C7D0 7F047C60 2626009C */ addiu $a2, $s1, 0x9c -/* 07C7D4 7F047C64 E7AE0434 */ swc1 $f14, 0x434($sp) -/* 07C7D8 7F047C68 E7A40010 */ swc1 $f4, 0x10($sp) -/* 07C7DC 7F047C6C 0FC10D03 */ jal sub_GAME_7F04310C -/* 07C7E0 7F047C70 E7A60014 */ swc1 $f6, 0x14($sp) -/* 07C7E4 7F047C74 3C018005 */ lui $at, %hi(D_80052B54) # $at, 0x8005 -/* 07C7E8 7F047C78 C4342B84 */ lwc1 $f20, %lo(D_80052B54)($at) -/* 07C7EC 7F047C7C C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C7F0 7F047C80 C7AE0434 */ lwc1 $f14, 0x434($sp) -/* 07C7F4 7F047C84 3C018005 */ lui $at, %hi(D_80052B58) # $at, 0x8005 -/* 07C7F8 7F047C88 460CA03E */ c.le.s $f20, $f12 -/* 07C7FC 7F047C8C 00000000 */ nop -/* 07C800 7F047C90 45020009 */ bc1fl .Ljp7F047CB8 -/* 07C804 7F047C94 4616603C */ c.lt.s $f12, $f22 -/* 07C808 7F047C98 46146281 */ sub.s $f10, $f12, $f20 -.Ljp7F047C9C: -/* 07C80C 7F047C9C E62A00A0 */ swc1 $f10, 0xa0($s1) -/* 07C810 7F047CA0 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C814 7F047CA4 460CA03E */ c.le.s $f20, $f12 -/* 07C818 7F047CA8 00000000 */ nop -/* 07C81C 7F047CAC 4503FFFB */ bc1tl .Ljp7F047C9C -/* 07C820 7F047CB0 46146281 */ sub.s $f10, $f12, $f20 -/* 07C824 7F047CB4 4616603C */ c.lt.s $f12, $f22 -.Ljp7F047CB8: -/* 07C828 7F047CB8 00000000 */ nop -/* 07C82C 7F047CBC 45020009 */ bc1fl .Ljp7F047CE4 -/* 07C830 7F047CC0 C7A40480 */ lwc1 $f4, 0x480($sp) -/* 07C834 7F047CC4 46146200 */ add.s $f8, $f12, $f20 -.Ljp7F047CC8: -/* 07C838 7F047CC8 E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07C83C 7F047CCC C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C840 7F047CD0 4616603C */ c.lt.s $f12, $f22 -/* 07C844 7F047CD4 00000000 */ nop -/* 07C848 7F047CD8 4503FFFB */ bc1tl .Ljp7F047CC8 -/* 07C84C 7F047CDC 46146200 */ add.s $f8, $f12, $f20 -/* 07C850 7F047CE0 C7A40480 */ lwc1 $f4, 0x480($sp) -.Ljp7F047CE4: -/* 07C854 7F047CE4 460C2032 */ c.eq.s $f4, $f12 -/* 07C858 7F047CE8 00000000 */ nop -/* 07C85C 7F047CEC 4502000F */ bc1fl .Ljp7F047D2C -/* 07C860 7F047CF0 8E8E0008 */ lw $t6, 8($s4) -/* 07C864 7F047CF4 C620009C */ lwc1 $f0, 0x9c($s1) -/* 07C868 7F047CF8 C4262B88 */ lwc1 $f6, %lo(D_80052B58)($at) -/* 07C86C 7F047CFC 3C018005 */ lui $at, %hi(D_80052B5C) # $at, 0x8005 -/* 07C870 7F047D00 4606003E */ c.le.s $f0, $f6 -/* 07C874 7F047D04 00000000 */ nop -/* 07C878 7F047D08 45020008 */ bc1fl .Ljp7F047D2C -/* 07C87C 7F047D0C 8E8E0008 */ lw $t6, 8($s4) -/* 07C880 7F047D10 C42A2B8C */ lwc1 $f10, %lo(D_80052B5C)($at) -/* 07C884 7F047D14 4600503E */ c.le.s $f10, $f0 -/* 07C888 7F047D18 00000000 */ nop -/* 07C88C 7F047D1C 45020003 */ bc1fl .Ljp7F047D2C -/* 07C890 7F047D20 8E8E0008 */ lw $t6, 8($s4) -/* 07C894 7F047D24 E636009C */ swc1 $f22, 0x9c($s1) -/* 07C898 7F047D28 8E8E0008 */ lw $t6, 8($s4) -.Ljp7F047D2C: -/* 07C89C 7F047D2C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C8A0 7F047D30 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C8A4 7F047D34 8DCC0008 */ lw $t4, 8($t6) -/* 07C8A8 7F047D38 C7A4043C */ lwc1 $f4, 0x43c($sp) -/* 07C8AC 7F047D3C 4602B03C */ c.lt.s $f22, $f2 -/* 07C8B0 7F047D40 8D8A000C */ lw $t2, 0xc($t4) -/* 07C8B4 7F047D44 45000004 */ bc1f .Ljp7F047D58 -/* 07C8B8 7F047D48 8D500004 */ lw $s0, 4($t2) -/* 07C8BC 7F047D4C C62800A0 */ lwc1 $f8, 0xa0($s1) -/* 07C8C0 7F047D50 46044181 */ sub.s $f6, $f8, $f4 -/* 07C8C4 7F047D54 46023383 */ div.s $f14, $f6, $f2 -.Ljp7F047D58: -/* 07C8C8 7F047D58 4616703C */ c.lt.s $f14, $f22 -/* 07C8CC 7F047D5C 00000000 */ nop -/* 07C8D0 7F047D60 45000002 */ bc1f .Ljp7F047D6C -/* 07C8D4 7F047D64 00000000 */ nop -/* 07C8D8 7F047D68 46147380 */ add.s $f14, $f14, $f20 -.Ljp7F047D6C: -/* 07C8DC 7F047D6C 0FC160F3 */ jal sinf -/* 07C8E0 7F047D70 46007306 */ mov.s $f12, $f14 -/* 07C8E4 7F047D74 C60A0008 */ lwc1 $f10, 8($s0) -/* 07C8E8 7F047D78 C6880014 */ lwc1 $f8, 0x14($s4) -/* 07C8EC 7F047D7C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C8F0 7F047D80 46085102 */ mul.s $f4, $f10, $f8 -/* 07C8F4 7F047D84 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07C8F8 7F047D88 46040182 */ mul.s $f6, $f0, $f4 -/* 07C8FC 7F047D8C 00000000 */ nop -/* 07C900 7F047D90 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C904 7F047D94 E7A80464 */ swc1 $f8, 0x464($sp) -/* 07C908 7F047D98 0FC160F3 */ jal sinf -/* 07C90C 7F047D9C C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C910 7F047DA0 E7A00440 */ swc1 $f0, 0x440($sp) -/* 07C914 7F047DA4 E7B60444 */ swc1 $f22, 0x444($sp) -/* 07C918 7F047DA8 0FC160F0 */ jal cosf -/* 07C91C 7F047DAC C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07C920 7F047DB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07C924 7F047DB4 44817000 */ mtc1 $at, $f14 -/* 07C928 7F047DB8 E7A00448 */ swc1 $f0, 0x448($sp) -/* 07C92C 7F047DBC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07C930 7F047DC0 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07C934 7F047DC4 C6240088 */ lwc1 $f4, 0x88($s1) -/* 07C938 7F047DC8 C7AA0440 */ lwc1 $f10, 0x440($sp) -/* 07C93C 7F047DCC C7AC0464 */ lwc1 $f12, 0x464($sp) -/* 07C940 7F047DD0 46022182 */ mul.s $f6, $f4, $f2 -/* 07C944 7F047DD4 C6240058 */ lwc1 $f4, 0x58($s1) -/* 07C948 7F047DD8 27B0046C */ addiu $s0, $sp, 0x46c -/* 07C94C 7F047DDC 240F001F */ li $t7, 31 -/* 07C950 7F047DE0 02002025 */ move $a0, $s0 -/* 07C954 7F047DE4 460A3202 */ mul.s $f8, $f6, $f10 -/* 07C958 7F047DE8 46082180 */ add.s $f6, $f4, $f8 -/* 07C95C 7F047DEC C7A40448 */ lwc1 $f4, 0x448($sp) -/* 07C960 7F047DF0 460C2202 */ mul.s $f8, $f4, $f12 -/* 07C964 7F047DF4 46083181 */ sub.s $f6, $f6, $f8 -/* 07C968 7F047DF8 E7A6069C */ swc1 $f6, 0x69c($sp) -/* 07C96C 7F047DFC C628005C */ lwc1 $f8, 0x5c($s1) -/* 07C970 7F047E00 44073000 */ mfc1 $a3, $f6 -/* 07C974 7F047E04 E7A806A0 */ swc1 $f8, 0x6a0($sp) -/* 07C978 7F047E08 C6280088 */ lwc1 $f8, 0x88($s1) -/* 07C97C 7F047E0C 46024202 */ mul.s $f8, $f8, $f2 -/* 07C980 7F047E10 00000000 */ nop -/* 07C984 7F047E14 46044202 */ mul.s $f8, $f8, $f4 -/* 07C988 7F047E18 C6240060 */ lwc1 $f4, 0x60($s1) -/* 07C98C 7F047E1C 46082100 */ add.s $f4, $f4, $f8 -/* 07C990 7F047E20 460C5202 */ mul.s $f8, $f10, $f12 -/* 07C994 7F047E24 46044280 */ add.s $f10, $f8, $f4 -/* 07C998 7F047E28 E7AA06A4 */ swc1 $f10, 0x6a4($sp) -/* 07C99C 7F047E2C 8E660010 */ lw $a2, 0x10($s3) -/* 07C9A0 7F047E30 8E650008 */ lw $a1, 8($s3) -/* 07C9A4 7F047E34 E7B60020 */ swc1 $f22, 0x20($sp) -/* 07C9A8 7F047E38 E7B60018 */ swc1 $f22, 0x18($sp) -/* 07C9AC 7F047E3C AFAF0014 */ sw $t7, 0x14($sp) -/* 07C9B0 7F047E40 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07C9B4 7F047E44 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 07C9B8 7F047E48 0FC2C675 */ jal sub_GAME_7F0B0E24 -/* 07C9BC 7F047E4C E7AE001C */ swc1 $f14, 0x1c($sp) -/* 07C9C0 7F047E50 104000FA */ beqz $v0, .Ljp7F04823C -/* 07C9C4 7F047E54 02002025 */ move $a0, $s0 -/* 07C9C8 7F047E58 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07C9CC 7F047E5C 44814000 */ mtc1 $at, $f8 -/* 07C9D0 7F047E60 240D001F */ li $t5, 31 -/* 07C9D4 7F047E64 AFAD0010 */ sw $t5, 0x10($sp) -/* 07C9D8 7F047E68 8FA5069C */ lw $a1, 0x69c($sp) -/* 07C9DC 7F047E6C 8FA606A4 */ lw $a2, 0x6a4($sp) -/* 07C9E0 7F047E70 3C074120 */ lui $a3, 0x4120 -/* 07C9E4 7F047E74 E7B60014 */ swc1 $f22, 0x14($sp) -/* 07C9E8 7F047E78 0FC2C91A */ jal sub_GAME_7F0B18B8 -/* 07C9EC 7F047E7C E7A80018 */ swc1 $f8, 0x18($sp) -/* 07C9F0 7F047E80 044300EF */ bgezl $v0, .Ljp7F048240 -/* 07C9F4 7F047E84 C6260098 */ lwc1 $f6, 0x98($s1) -/* 07C9F8 7F047E88 8E790014 */ lw $t9, 0x14($s3) -/* 07C9FC 7F047E8C 8FB8046C */ lw $t8, 0x46c($sp) -/* 07CA00 7F047E90 02202025 */ move $a0, $s1 -/* 07CA04 7F047E94 AFB90450 */ sw $t9, 0x450($sp) -/* 07CA08 7F047E98 C6640008 */ lwc1 $f4, 8($s3) -/* 07CA0C 7F047E9C E7A40454 */ swc1 $f4, 0x454($sp) -/* 07CA10 7F047EA0 C666000C */ lwc1 $f6, 0xc($s3) -/* 07CA14 7F047EA4 E7A60458 */ swc1 $f6, 0x458($sp) -/* 07CA18 7F047EA8 C66A0010 */ lwc1 $f10, 0x10($s3) -/* 07CA1C 7F047EAC E7AA045C */ swc1 $f10, 0x45c($sp) -/* 07CA20 7F047EB0 AE780014 */ sw $t8, 0x14($s3) -/* 07CA24 7F047EB4 C7A2069C */ lwc1 $f2, 0x69c($sp) -/* 07CA28 7F047EB8 E6620008 */ swc1 $f2, 8($s3) -/* 07CA2C 7F047EBC E6220058 */ swc1 $f2, 0x58($s1) -/* 07CA30 7F047EC0 C7A206A4 */ lwc1 $f2, 0x6a4($sp) -/* 07CA34 7F047EC4 E6620010 */ swc1 $f2, 0x10($s3) -/* 07CA38 7F047EC8 0FC101E1 */ jal sub_GAME_7F040484 -/* 07CA3C 7F047ECC E6220060 */ swc1 $f2, 0x60($s1) -/* 07CA40 7F047ED0 0FC15C68 */ jal sub_GAME_7F056CA0 -/* 07CA44 7F047ED4 02202025 */ move $a0, $s1 -/* 07CA48 7F047ED8 0FC1131F */ jal sub_GAME_7F0448A8 -/* 07CA4C 7F047EDC 02602025 */ move $a0, $s3 -/* 07CA50 7F047EE0 10400092 */ beqz $v0, .Ljp7F04812C -/* 07CA54 7F047EE4 00409025 */ move $s2, $v0 -/* 07CA58 7F047EE8 8E880008 */ lw $t0, 8($s4) -/* 07CA5C 7F047EEC C6280018 */ lwc1 $f8, 0x18($s1) -/* 07CA60 7F047EF0 02002025 */ move $a0, $s0 -/* 07CA64 7F047EF4 8D090008 */ lw $t1, 8($t0) -/* 07CA68 7F047EF8 8D2B0028 */ lw $t3, 0x28($t1) -/* 07CA6C 7F047EFC 8D620004 */ lw $v0, 4($t3) -/* 07CA70 7F047F00 C4440004 */ lwc1 $f4, 4($v0) -/* 07CA74 7F047F04 46044182 */ mul.s $f6, $f8, $f4 -/* 07CA78 7F047F08 E7A60428 */ swc1 $f6, 0x428($sp) -/* 07CA7C 7F047F0C C62A0020 */ lwc1 $f10, 0x20($s1) -/* 07CA80 7F047F10 C4480004 */ lwc1 $f8, 4($v0) -/* 07CA84 7F047F14 46085102 */ mul.s $f4, $f10, $f8 -/* 07CA88 7F047F18 E7A40430 */ swc1 $f4, 0x430($sp) -/* 07CA8C 7F047F1C C6260018 */ lwc1 $f6, 0x18($s1) -/* 07CA90 7F047F20 C44A0008 */ lwc1 $f10, 8($v0) -/* 07CA94 7F047F24 460A3202 */ mul.s $f8, $f6, $f10 -/* 07CA98 7F047F28 E7A8041C */ swc1 $f8, 0x41c($sp) -/* 07CA9C 7F047F2C C6240020 */ lwc1 $f4, 0x20($s1) -/* 07CAA0 7F047F30 C4460008 */ lwc1 $f6, 8($v0) -/* 07CAA4 7F047F34 46062282 */ mul.s $f10, $f4, $f6 -/* 07CAA8 7F047F38 E7AA0424 */ swc1 $f10, 0x424($sp) -/* 07CAAC 7F047F3C C6280038 */ lwc1 $f8, 0x38($s1) -/* 07CAB0 7F047F40 C4440014 */ lwc1 $f4, 0x14($v0) -/* 07CAB4 7F047F44 46044182 */ mul.s $f6, $f8, $f4 -/* 07CAB8 7F047F48 E7A60410 */ swc1 $f6, 0x410($sp) -/* 07CABC 7F047F4C C62A0040 */ lwc1 $f10, 0x40($s1) -/* 07CAC0 7F047F50 C4480014 */ lwc1 $f8, 0x14($v0) -/* 07CAC4 7F047F54 46085102 */ mul.s $f4, $f10, $f8 -/* 07CAC8 7F047F58 E7A40418 */ swc1 $f4, 0x418($sp) -/* 07CACC 7F047F5C C6260038 */ lwc1 $f6, 0x38($s1) -/* 07CAD0 7F047F60 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 07CAD4 7F047F64 460A3202 */ mul.s $f8, $f6, $f10 -/* 07CAD8 7F047F68 E7A80404 */ swc1 $f8, 0x404($sp) -/* 07CADC 7F047F6C C6240040 */ lwc1 $f4, 0x40($s1) -/* 07CAE0 7F047F70 C4460018 */ lwc1 $f6, 0x18($v0) -/* 07CAE4 7F047F74 C7A80410 */ lwc1 $f8, 0x410($sp) -/* 07CAE8 7F047F78 46062282 */ mul.s $f10, $f4, $f6 -/* 07CAEC 7F047F7C C7A40428 */ lwc1 $f4, 0x428($sp) -/* 07CAF0 7F047F80 E7AA040C */ swc1 $f10, 0x40c($sp) -/* 07CAF4 7F047F84 8E6E0014 */ lw $t6, 0x14($s3) -/* 07CAF8 7F047F88 AFAE046C */ sw $t6, 0x46c($sp) -/* 07CAFC 7F047F8C C6600008 */ lwc1 $f0, 8($s3) -/* 07CB00 7F047F90 C6620010 */ lwc1 $f2, 0x10($s3) -/* 07CB04 7F047F94 46040180 */ add.s $f6, $f0, $f4 -/* 07CB08 7F047F98 C7A40418 */ lwc1 $f4, 0x418($sp) -/* 07CB0C 7F047F9C 44050000 */ mfc1 $a1, $f0 -/* 07CB10 7F047FA0 44061000 */ mfc1 $a2, $f2 -/* 07CB14 7F047FA4 46064280 */ add.s $f10, $f8, $f6 -/* 07CB18 7F047FA8 C7A80430 */ lwc1 $f8, 0x430($sp) -/* 07CB1C 7F047FAC 46081180 */ add.s $f6, $f2, $f8 -/* 07CB20 7F047FB0 44075000 */ mfc1 $a3, $f10 -/* 07CB24 7F047FB4 46062280 */ add.s $f10, $f4, $f6 -/* 07CB28 7F047FB8 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07CB2C 7F047FBC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07CB30 7F047FC0 10400059 */ beqz $v0, .Ljp7F048128 -/* 07CB34 7F047FC4 C7A40428 */ lwc1 $f4, 0x428($sp) -/* 07CB38 7F047FC8 C6600008 */ lwc1 $f0, 8($s3) -/* 07CB3C 7F047FCC C7A80410 */ lwc1 $f8, 0x410($sp) -/* 07CB40 7F047FD0 C6620010 */ lwc1 $f2, 0x10($s3) -/* 07CB44 7F047FD4 46040180 */ add.s $f6, $f0, $f4 -/* 07CB48 7F047FD8 C7A40418 */ lwc1 $f4, 0x418($sp) -/* 07CB4C 7F047FDC 02002025 */ move $a0, $s0 -/* 07CB50 7F047FE0 46064280 */ add.s $f10, $f8, $f6 -/* 07CB54 7F047FE4 C7A60430 */ lwc1 $f6, 0x430($sp) -/* 07CB58 7F047FE8 44055000 */ mfc1 $a1, $f10 -/* 07CB5C 7F047FEC 46061280 */ add.s $f10, $f2, $f6 -/* 07CB60 7F047FF0 460A2180 */ add.s $f6, $f4, $f10 -/* 07CB64 7F047FF4 C7AA041C */ lwc1 $f10, 0x41c($sp) -/* 07CB68 7F047FF8 44063000 */ mfc1 $a2, $f6 -/* 07CB6C 7F047FFC 460A0180 */ add.s $f6, $f0, $f10 -/* 07CB70 7F048000 46064280 */ add.s $f10, $f8, $f6 -/* 07CB74 7F048004 C7A80424 */ lwc1 $f8, 0x424($sp) -/* 07CB78 7F048008 46081180 */ add.s $f6, $f2, $f8 -/* 07CB7C 7F04800C 44075000 */ mfc1 $a3, $f10 -/* 07CB80 7F048010 46062280 */ add.s $f10, $f4, $f6 -/* 07CB84 7F048014 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07CB88 7F048018 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07CB8C 7F04801C 10400042 */ beqz $v0, .Ljp7F048128 -/* 07CB90 7F048020 C7A4041C */ lwc1 $f4, 0x41c($sp) -/* 07CB94 7F048024 C6680008 */ lwc1 $f8, 8($s3) -/* 07CB98 7F048028 C7A60410 */ lwc1 $f6, 0x410($sp) -/* 07CB9C 7F04802C 02002025 */ move $a0, $s0 -/* 07CBA0 7F048030 46044000 */ add.s $f0, $f8, $f4 -/* 07CBA4 7F048034 C7A40424 */ lwc1 $f4, 0x424($sp) -/* 07CBA8 7F048038 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07CBAC 7F04803C 46003280 */ add.s $f10, $f6, $f0 -/* 07CBB0 7F048040 C7A60418 */ lwc1 $f6, 0x418($sp) -/* 07CBB4 7F048044 46044080 */ add.s $f2, $f8, $f4 -/* 07CBB8 7F048048 44055000 */ mfc1 $a1, $f10 -/* 07CBBC 7F04804C C7A80404 */ lwc1 $f8, 0x404($sp) -/* 07CBC0 7F048050 46023280 */ add.s $f10, $f6, $f2 -/* 07CBC4 7F048054 C7A6040C */ lwc1 $f6, 0x40c($sp) -/* 07CBC8 7F048058 46004100 */ add.s $f4, $f8, $f0 -/* 07CBCC 7F04805C 44065000 */ mfc1 $a2, $f10 -/* 07CBD0 7F048060 46023280 */ add.s $f10, $f6, $f2 -/* 07CBD4 7F048064 44072000 */ mfc1 $a3, $f4 -/* 07CBD8 7F048068 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07CBDC 7F04806C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07CBE0 7F048070 1040002D */ beqz $v0, .Ljp7F048128 -/* 07CBE4 7F048074 C7A4041C */ lwc1 $f4, 0x41c($sp) -/* 07CBE8 7F048078 C6600008 */ lwc1 $f0, 8($s3) -/* 07CBEC 7F04807C C7A80404 */ lwc1 $f8, 0x404($sp) -/* 07CBF0 7F048080 C6620010 */ lwc1 $f2, 0x10($s3) -/* 07CBF4 7F048084 46040180 */ add.s $f6, $f0, $f4 -/* 07CBF8 7F048088 C7A4040C */ lwc1 $f4, 0x40c($sp) -/* 07CBFC 7F04808C 02002025 */ move $a0, $s0 -/* 07CC00 7F048090 46064280 */ add.s $f10, $f8, $f6 -/* 07CC04 7F048094 C7A60424 */ lwc1 $f6, 0x424($sp) -/* 07CC08 7F048098 44055000 */ mfc1 $a1, $f10 -/* 07CC0C 7F04809C 46061280 */ add.s $f10, $f2, $f6 -/* 07CC10 7F0480A0 460A2180 */ add.s $f6, $f4, $f10 -/* 07CC14 7F0480A4 C7AA0428 */ lwc1 $f10, 0x428($sp) -/* 07CC18 7F0480A8 44063000 */ mfc1 $a2, $f6 -/* 07CC1C 7F0480AC 460A0180 */ add.s $f6, $f0, $f10 -/* 07CC20 7F0480B0 46064280 */ add.s $f10, $f8, $f6 -/* 07CC24 7F0480B4 C7A80430 */ lwc1 $f8, 0x430($sp) -/* 07CC28 7F0480B8 46081180 */ add.s $f6, $f2, $f8 -/* 07CC2C 7F0480BC 44075000 */ mfc1 $a3, $f10 -/* 07CC30 7F0480C0 46062280 */ add.s $f10, $f4, $f6 -/* 07CC34 7F0480C4 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07CC38 7F0480C8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07CC3C 7F0480CC 10400016 */ beqz $v0, .Ljp7F048128 -/* 07CC40 7F0480D0 C7A40428 */ lwc1 $f4, 0x428($sp) -/* 07CC44 7F0480D4 C6680008 */ lwc1 $f8, 8($s3) -/* 07CC48 7F0480D8 C7A60404 */ lwc1 $f6, 0x404($sp) -/* 07CC4C 7F0480DC 02002025 */ move $a0, $s0 -/* 07CC50 7F0480E0 46044000 */ add.s $f0, $f8, $f4 -/* 07CC54 7F0480E4 C7A40430 */ lwc1 $f4, 0x430($sp) -/* 07CC58 7F0480E8 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07CC5C 7F0480EC 46003280 */ add.s $f10, $f6, $f0 -/* 07CC60 7F0480F0 C7A6040C */ lwc1 $f6, 0x40c($sp) -/* 07CC64 7F0480F4 46044080 */ add.s $f2, $f8, $f4 -/* 07CC68 7F0480F8 44055000 */ mfc1 $a1, $f10 -/* 07CC6C 7F0480FC C7A80410 */ lwc1 $f8, 0x410($sp) -/* 07CC70 7F048100 46023280 */ add.s $f10, $f6, $f2 -/* 07CC74 7F048104 C7A60418 */ lwc1 $f6, 0x418($sp) -/* 07CC78 7F048108 46004100 */ add.s $f4, $f8, $f0 -/* 07CC7C 7F04810C 44065000 */ mfc1 $a2, $f10 -/* 07CC80 7F048110 46023280 */ add.s $f10, $f6, $f2 -/* 07CC84 7F048114 44072000 */ mfc1 $a3, $f4 -/* 07CC88 7F048118 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07CC8C 7F04811C E7AA0010 */ swc1 $f10, 0x10($sp) -/* 07CC90 7F048120 14400002 */ bnez $v0, .Ljp7F04812C -/* 07CC94 7F048124 00000000 */ nop -.Ljp7F048128: -/* 07CC98 7F048128 00009025 */ move $s2, $zero -.Ljp7F04812C: -/* 07CC9C 7F04812C 12400023 */ beqz $s2, .Ljp7F0481BC -/* 07CCA0 7F048130 02202025 */ move $a0, $s1 -/* 07CCA4 7F048134 262C0058 */ addiu $t4, $s1, 0x58 -/* 07CCA8 7F048138 AFAC0074 */ sw $t4, 0x74($sp) -/* 07CCAC 7F04813C 0FC113C3 */ jal sub_GAME_7F044B38 -/* 07CCB0 7F048140 2630007C */ addiu $s0, $s1, 0x7c -/* 07CCB4 7F048144 02602025 */ move $a0, $s3 -/* 07CCB8 7F048148 0FC1016D */ jal sub_GAME_7F0402B4 -/* 07CCBC 7F04814C 02002825 */ move $a1, $s0 -/* 07CCC0 7F048150 0FC14832 */ jal detonate_proxmine_In_range -/* 07CCC4 7F048154 8FA40074 */ lw $a0, 0x74($sp) -/* 07CCC8 7F048158 8FAA047C */ lw $t2, 0x47c($sp) -/* 07CCCC 7F04815C 27A40454 */ addiu $a0, $sp, 0x454 -/* 07CCD0 7F048160 27A5069C */ addiu $a1, $sp, 0x69c -/* 07CCD4 7F048164 11400054 */ beqz $t2, .Ljp7F0482B8 -/* 07CCD8 7F048168 01403025 */ move $a2, $t2 -/* 07CCDC 7F04816C 0FC0C014 */ jal sub_GAME_7F02FD50 -/* 07CCE0 7F048170 3C0742C8 */ lui $a3, 0x42c8 -/* 07CCE4 7F048174 10400050 */ beqz $v0, .Ljp7F0482B8 -/* 07CCE8 7F048178 00000000 */ nop -/* 07CCEC 7F04817C 8E2F00A8 */ lw $t7, 0xa8($s1) -/* 07CCF0 7F048180 8E3900A4 */ lw $t9, 0xa4($s1) -/* 07CCF4 7F048184 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07CCF8 7F048188 25ED0001 */ addiu $t5, $t7, 1 -/* 07CCFC 7F04818C AE2D00A8 */ sw $t5, 0xa8($s1) -/* 07CD00 7F048190 8F380000 */ lw $t8, ($t9) -/* 07CD04 7F048194 000D4880 */ sll $t1, $t5, 2 -/* 07CD08 7F048198 03095821 */ addu $t3, $t8, $t1 -/* 07CD0C 7F04819C 8D6E0000 */ lw $t6, ($t3) -/* 07CD10 7F0481A0 05C10045 */ bgez $t6, .Ljp7F0482B8 -/* 07CD14 7F0481A4 00000000 */ nop -/* 07CD18 7F0481A8 44814000 */ mtc1 $at, $f8 -/* 07CD1C 7F0481AC AE2000A4 */ sw $zero, 0xa4($s1) -/* 07CD20 7F0481B0 E6360094 */ swc1 $f22, 0x94($s1) -/* 07CD24 7F0481B4 10000040 */ b .Ljp7F0482B8 -/* 07CD28 7F0481B8 E6280098 */ swc1 $f8, 0x98($s1) -.Ljp7F0481BC: -/* 07CD2C 7F0481BC C6240098 */ lwc1 $f4, 0x98($s1) -/* 07CD30 7F0481C0 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07CD34 7F0481C4 4616203C */ c.lt.s $f4, $f22 -/* 07CD38 7F0481C8 00000000 */ nop -/* 07CD3C 7F0481CC 45020006 */ bc1fl .Ljp7F0481E8 -/* 07CD40 7F0481D0 E6360088 */ swc1 $f22, 0x88($s1) -/* 07CD44 7F0481D4 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07CD48 7F0481D8 44815000 */ mtc1 $at, $f10 -/* 07CD4C 7F0481DC E6260094 */ swc1 $f6, 0x94($s1) -/* 07CD50 7F0481E0 E62A0098 */ swc1 $f10, 0x98($s1) -/* 07CD54 7F0481E4 E6360088 */ swc1 $f22, 0x88($s1) -.Ljp7F0481E8: -/* 07CD58 7F0481E8 C7A8043C */ lwc1 $f8, 0x43c($sp) -/* 07CD5C 7F0481EC 02202025 */ move $a0, $s1 -/* 07CD60 7F0481F0 E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07CD64 7F0481F4 C7A40438 */ lwc1 $f4, 0x438($sp) -/* 07CD68 7F0481F8 E624009C */ swc1 $f4, 0x9c($s1) -/* 07CD6C 7F0481FC 8FAC0450 */ lw $t4, 0x450($sp) -/* 07CD70 7F048200 AE6C0014 */ sw $t4, 0x14($s3) -/* 07CD74 7F048204 C7A20454 */ lwc1 $f2, 0x454($sp) -/* 07CD78 7F048208 E6620008 */ swc1 $f2, 8($s3) -/* 07CD7C 7F04820C E6220058 */ swc1 $f2, 0x58($s1) -/* 07CD80 7F048210 C7A20458 */ lwc1 $f2, 0x458($sp) -/* 07CD84 7F048214 E662000C */ swc1 $f2, 0xc($s3) -/* 07CD88 7F048218 E622005C */ swc1 $f2, 0x5c($s1) -/* 07CD8C 7F04821C C7A2045C */ lwc1 $f2, 0x45c($sp) -/* 07CD90 7F048220 E6620010 */ swc1 $f2, 0x10($s3) -/* 07CD94 7F048224 0FC101E1 */ jal sub_GAME_7F040484 -/* 07CD98 7F048228 E6220060 */ swc1 $f2, 0x60($s1) -/* 07CD9C 7F04822C 0FC15C68 */ jal sub_GAME_7F056CA0 -/* 07CDA0 7F048230 02202025 */ move $a0, $s1 -/* 07CDA4 7F048234 10000020 */ b .Ljp7F0482B8 -/* 07CDA8 7F048238 00000000 */ nop -.Ljp7F04823C: -/* 07CDAC 7F04823C C6260098 */ lwc1 $f6, 0x98($s1) -.Ljp7F048240: -/* 07CDB0 7F048240 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07CDB4 7F048244 4616303C */ c.lt.s $f6, $f22 -/* 07CDB8 7F048248 00000000 */ nop -/* 07CDBC 7F04824C 45020006 */ bc1fl .Ljp7F048268 -/* 07CDC0 7F048250 E6360088 */ swc1 $f22, 0x88($s1) -/* 07CDC4 7F048254 C62A0088 */ lwc1 $f10, 0x88($s1) -/* 07CDC8 7F048258 44814000 */ mtc1 $at, $f8 -/* 07CDCC 7F04825C E62A0094 */ swc1 $f10, 0x94($s1) -/* 07CDD0 7F048260 E6280098 */ swc1 $f8, 0x98($s1) -/* 07CDD4 7F048264 E6360088 */ swc1 $f22, 0x88($s1) -.Ljp7F048268: -/* 07CDD8 7F048268 C7A4043C */ lwc1 $f4, 0x43c($sp) -/* 07CDDC 7F04826C E62400A0 */ swc1 $f4, 0xa0($s1) -/* 07CDE0 7F048270 C7A60438 */ lwc1 $f6, 0x438($sp) -/* 07CDE4 7F048274 10000010 */ b .Ljp7F0482B8 -/* 07CDE8 7F048278 E626009C */ swc1 $f6, 0x9c($s1) -/* 07CDEC 7F04827C 8E2A0008 */ lw $t2, 8($s1) -.Ljp7F048280: -/* 07CDF0 7F048280 000A7880 */ sll $t7, $t2, 2 -/* 07CDF4 7F048284 05E1000C */ bgez $t7, .Ljp7F0482B8 -/* 07CDF8 7F048288 00000000 */ nop -/* 07CDFC 7F04828C C62C0038 */ lwc1 $f12, 0x38($s1) -/* 07CE00 7F048290 0FC16BD4 */ jal convert_angle_using_inverse -/* 07CE04 7F048294 C62E0040 */ lwc1 $f14, 0x40($s1) -/* 07CE08 7F048298 8E2D0008 */ lw $t5, 8($s1) -/* 07CE0C 7F04829C 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 07CE10 7F0482A0 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 07CE14 7F0482A4 01A1C824 */ and $t9, $t5, $at -/* 07CE18 7F0482A8 E62000A0 */ swc1 $f0, 0xa0($s1) -/* 07CE1C 7F0482AC AE390008 */ sw $t9, 8($s1) -/* 07CE20 7F0482B0 0FC113C3 */ jal sub_GAME_7F044B38 -/* 07CE24 7F0482B4 02202025 */ move $a0, $s1 -.Ljp7F0482B8: -/* 07CE28 7F0482B8 100000DE */ b .Ljp7F048634 -/* 07CE2C 7F0482BC 92220003 */ lbu $v0, 3($s1) -.Ljp7F0482C0: -/* 07CE30 7F0482C0 24010028 */ li $at, 40 -/* 07CE34 7F0482C4 144100DA */ bne $v0, $at, .Ljp7F048630 -/* 07CE38 7F0482C8 02202025 */ move $a0, $s1 -/* 07CE3C 7F0482CC 0FC0D5E1 */ jal parse_handle_actionblocks -/* 07CE40 7F0482D0 24050001 */ li $a1, 1 -/* 07CE44 7F0482D4 8E300014 */ lw $s0, 0x14($s1) -/* 07CE48 7F0482D8 26250058 */ addiu $a1, $s1, 0x58 -/* 07CE4C 7F0482DC 8E080020 */ lw $t0, 0x20($s0) -/* 07CE50 7F0482E0 02002025 */ move $a0, $s0 -/* 07CE54 7F0482E4 51000065 */ beql $t0, $zero, .Ljp7F04847C -/* 07CE58 7F0482E8 C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07CE5C 7F0482EC 0FC1B47F */ jal setsuboffset -/* 07CE60 7F0482F0 AFA50074 */ sw $a1, 0x74($sp) -/* 07CE64 7F0482F4 8E300014 */ lw $s0, 0x14($s1) -/* 07CE68 7F0482F8 3C098003 */ lui $t1, %hi(animation_table_ptrs2+4) # $t1, 0x8003 -/* 07CE6C 7F0482FC 8D29A090 */ lw $t1, %lo(animation_table_ptrs2+4)($t1) -/* 07CE70 7F048300 8E180020 */ lw $t8, 0x20($s0) -/* 07CE74 7F048304 3C054127 */ lui $a1, (0x4127020C >> 16) # lui $a1, 0x4127 -/* 07CE78 7F048308 02002025 */ move $a0, $s0 -/* 07CE7C 7F04830C 17090009 */ bne $t8, $t1, .Ljp7F048334 -/* 07CE80 7F048310 00000000 */ nop -/* 07CE84 7F048314 0FC1B51D */ jal sub_GAME_7F06CE84 -/* 07CE88 7F048318 34A5020C */ ori $a1, (0x4127020C & 0xFFFF) # ori $a1, $a1, 0x20c -/* 07CE8C 7F04831C 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049 -/* 07CE90 7F048320 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb -/* 07CE94 7F048324 0FC1B4CB */ jal setsubroty -/* 07CE98 7F048328 8E240014 */ lw $a0, 0x14($s1) -/* 07CE9C 7F04832C 10000024 */ b .Ljp7F0483C0 -/* 07CEA0 7F048330 00000000 */ nop -.Ljp7F048334: -/* 07CEA4 7F048334 0C001A57 */ jal get_stage_num -/* 07CEA8 7F048338 00000000 */ nop -/* 07CEAC 7F04833C 24010016 */ li $at, 22 -/* 07CEB0 7F048340 1441000A */ bne $v0, $at, .Ljp7F04836C -/* 07CEB4 7F048344 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 -/* 07CEB8 7F048348 8E240014 */ lw $a0, 0x14($s1) -/* 07CEBC 7F04834C 0FC1B51D */ jal sub_GAME_7F06CE84 -/* 07CEC0 7F048350 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CEC4 7F048354 3C054016 */ lui $a1, (0x4016CBE4 >> 16) # lui $a1, 0x4016 -/* 07CEC8 7F048358 34A5CBE4 */ ori $a1, (0x4016CBE4 & 0xFFFF) # ori $a1, $a1, 0xcbe4 -/* 07CECC 7F04835C 0FC1B4CB */ jal setsubroty -/* 07CED0 7F048360 8E240014 */ lw $a0, 0x14($s1) -/* 07CED4 7F048364 10000016 */ b .Ljp7F0483C0 -/* 07CED8 7F048368 00000000 */ nop -.Ljp7F04836C: -/* 07CEDC 7F04836C 0C001A57 */ jal get_stage_num -/* 07CEE0 7F048370 00000000 */ nop -/* 07CEE4 7F048374 2401001A */ li $at, 26 -/* 07CEE8 7F048378 1441000B */ bne $v0, $at, .Ljp7F0483A8 -/* 07CEEC 7F04837C 3C053F85 */ lui $a1, 0x3f85 -/* 07CEF0 7F048380 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 -/* 07CEF4 7F048384 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CEF8 7F048388 0FC1B51D */ jal sub_GAME_7F06CE84 -/* 07CEFC 7F04838C 8E240014 */ lw $a0, 0x14($s1) -/* 07CF00 7F048390 3C05407B */ lui $a1, (0x407B9B3D >> 16) # lui $a1, 0x407b -/* 07CF04 7F048394 34A553D1 */ ori $a1, (0x407B53D1 & 0xFFFF) # ori $a1, $a1, 0x53d1 -/* 07CF08 7F048398 0FC1B4CB */ jal setsubroty -/* 07CF0C 7F04839C 8E240014 */ lw $a0, 0x14($s1) -/* 07CF10 7F0483A0 10000007 */ b .Ljp7F0483C0 -/* 07CF14 7F0483A4 00000000 */ nop -.Ljp7F0483A8: -/* 07CF18 7F0483A8 8E240014 */ lw $a0, 0x14($s1) -/* 07CF1C 7F0483AC 0FC1B51D */ jal sub_GAME_7F06CE84 -/* 07CF20 7F0483B0 34A59B3D */ ori $a1, (0x407B9B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d -/* 07CF24 7F0483B4 4405B000 */ mfc1 $a1, $f22 -/* 07CF28 7F0483B8 0FC1B4CB */ jal setsubroty -/* 07CF2C 7F0483BC 8E240014 */ lw $a0, 0x14($s1) -.Ljp7F0483C0: -/* 07CF30 7F0483C0 3C058005 */ lui $a1, %hi(clock_timer) # $a1, 0x8005 -/* 07CF34 7F0483C4 8CA583A4 */ lw $a1, %lo(clock_timer)($a1) -/* 07CF38 7F0483C8 8E240014 */ lw $a0, 0x14($s1) -/* 07CF3C 7F0483CC 0FC1C437 */ jal sub_GAME_7F070AEC -/* 07CF40 7F0483D0 24060001 */ li $a2, 1 -/* 07CF44 7F0483D4 0FC1B728 */ jal subcalcpos -/* 07CF48 7F0483D8 8E240014 */ lw $a0, 0x14($s1) -/* 07CF4C 7F0483DC 8E240014 */ lw $a0, 0x14($s1) -/* 07CF50 7F0483E0 0FC1B462 */ jal getsuboffset -/* 07CF54 7F0483E4 8FA50074 */ lw $a1, 0x74($sp) -/* 07CF58 7F0483E8 C62A0058 */ lwc1 $f10, 0x58($s1) -/* 07CF5C 7F0483EC 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 -/* 07CF60 7F0483F0 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 -/* 07CF64 7F0483F4 E66A0008 */ swc1 $f10, 8($s3) -/* 07CF68 7F0483F8 C6280060 */ lwc1 $f8, 0x60($s1) -/* 07CF6C 7F0483FC E6680010 */ swc1 $f8, 0x10($s3) -/* 07CF70 7F048400 86220006 */ lh $v0, 6($s1) -/* 07CF74 7F048404 28412710 */ slti $at, $v0, 0x2710 -/* 07CF78 7F048408 1020000B */ beqz $at, .Ljp7F048438 -/* 07CF7C 7F04840C 00026100 */ sll $t4, $v0, 4 -/* 07CF80 7F048410 00025880 */ sll $t3, $v0, 2 -/* 07CF84 7F048414 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 -/* 07CF88 7F048418 01625823 */ subu $t3, $t3, $v0 -/* 07CF8C 7F04841C 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 -/* 07CF90 7F048420 000B5880 */ sll $t3, $t3, 2 -/* 07CF94 7F048424 8CAE0018 */ lw $t6, 0x18($a1) -/* 07CF98 7F048428 01625823 */ subu $t3, $t3, $v0 -/* 07CF9C 7F04842C 000B5880 */ sll $t3, $t3, 2 -/* 07CFA0 7F048430 10000008 */ b .Ljp7F048454 -/* 07CFA4 7F048434 016E1821 */ addu $v1, $t3, $t6 -.Ljp7F048438: -/* 07CFA8 7F048438 8CAA001C */ lw $t2, 0x1c($a1) -/* 07CFAC 7F04843C 01826021 */ addu $t4, $t4, $v0 -/* 07CFB0 7F048440 000C6080 */ sll $t4, $t4, 2 -/* 07CFB4 7F048444 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 -/* 07CFB8 7F048448 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 -/* 07CFBC 7F04844C 018A1821 */ addu $v1, $t4, $t2 -/* 07CFC0 7F048450 00611821 */ addu $v1, $v1, $at -.Ljp7F048454: -/* 07CFC4 7F048454 C624005C */ lwc1 $f4, 0x5c($s1) -/* 07CFC8 7F048458 C4660004 */ lwc1 $f6, 4($v1) -/* 07CFCC 7F04845C 46062280 */ add.s $f10, $f4, $f6 -/* 07CFD0 7F048460 E66A000C */ swc1 $f10, 0xc($s3) -/* 07CFD4 7F048464 C668000C */ lwc1 $f8, 0xc($s3) -/* 07CFD8 7F048468 8E240014 */ lw $a0, 0x14($s1) -/* 07CFDC 7F04846C E628005C */ swc1 $f8, 0x5c($s1) -/* 07CFE0 7F048470 0FC1B47F */ jal setsuboffset -/* 07CFE4 7F048474 8FA50074 */ lw $a1, 0x74($sp) -/* 07CFE8 7F048478 C62C00A0 */ lwc1 $f12, 0xa0($s1) -.Ljp7F04847C: -/* 07CFEC 7F04847C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07CFF0 7F048480 460CB03E */ c.le.s $f22, $f12 -/* 07CFF4 7F048484 00000000 */ nop -/* 07CFF8 7F048488 45020016 */ bc1fl .Ljp7F0484E4 -/* 07CFFC 7F04848C C6200094 */ lwc1 $f0, 0x94($s1) -/* 07D000 7F048490 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07D004 7F048494 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07D008 7F048498 4602603E */ c.le.s $f12, $f2 -/* 07D00C 7F04849C 00000000 */ nop -/* 07D010 7F0484A0 45020006 */ bc1fl .Ljp7F0484BC -/* 07D014 7F0484A4 C62E0098 */ lwc1 $f14, 0x98($s1) -/* 07D018 7F0484A8 C624009C */ lwc1 $f4, 0x9c($s1) -/* 07D01C 7F0484AC C62C00A0 */ lwc1 $f12, 0xa0($s1) -/* 07D020 7F0484B0 10000008 */ b .Ljp7F0484D4 -/* 07D024 7F0484B4 E6240098 */ swc1 $f4, 0x98($s1) -/* 07D028 7F0484B8 C62E0098 */ lwc1 $f14, 0x98($s1) -.Ljp7F0484BC: -/* 07D02C 7F0484BC C626009C */ lwc1 $f6, 0x9c($s1) -/* 07D030 7F0484C0 460E3281 */ sub.s $f10, $f6, $f14 -/* 07D034 7F0484C4 46025202 */ mul.s $f8, $f10, $f2 -/* 07D038 7F0484C8 460C4103 */ div.s $f4, $f8, $f12 -/* 07D03C 7F0484CC 46047180 */ add.s $f6, $f14, $f4 -/* 07D040 7F0484D0 E6260098 */ swc1 $f6, 0x98($s1) -.Ljp7F0484D4: -/* 07D044 7F0484D4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07D048 7F0484D8 460A6201 */ sub.s $f8, $f12, $f10 -/* 07D04C 7F0484DC E62800A0 */ swc1 $f8, 0xa0($s1) -/* 07D050 7F0484E0 C6200094 */ lwc1 $f0, 0x94($s1) -.Ljp7F0484E4: -/* 07D054 7F0484E4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07D058 7F0484E8 4600B03E */ c.le.s $f22, $f0 -/* 07D05C 7F0484EC 00000000 */ nop -/* 07D060 7F0484F0 45020016 */ bc1fl .Ljp7F04854C -/* 07D064 7F0484F4 8E2F000C */ lw $t7, 0xc($s1) -/* 07D068 7F0484F8 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) -/* 07D06C 7F0484FC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07D070 7F048500 4602003E */ c.le.s $f0, $f2 -/* 07D074 7F048504 00000000 */ nop -/* 07D078 7F048508 45020006 */ bc1fl .Ljp7F048524 -/* 07D07C 7F04850C C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07D080 7F048510 C6240090 */ lwc1 $f4, 0x90($s1) -/* 07D084 7F048514 C6200094 */ lwc1 $f0, 0x94($s1) -/* 07D088 7F048518 10000008 */ b .Ljp7F04853C -/* 07D08C 7F04851C E624008C */ swc1 $f4, 0x8c($s1) -/* 07D090 7F048520 C62C008C */ lwc1 $f12, 0x8c($s1) -.Ljp7F048524: -/* 07D094 7F048524 C6260090 */ lwc1 $f6, 0x90($s1) -/* 07D098 7F048528 460C3281 */ sub.s $f10, $f6, $f12 -/* 07D09C 7F04852C 46025202 */ mul.s $f8, $f10, $f2 -/* 07D0A0 7F048530 46004103 */ div.s $f4, $f8, $f0 -/* 07D0A4 7F048534 46046180 */ add.s $f6, $f12, $f4 -/* 07D0A8 7F048538 E626008C */ swc1 $f6, 0x8c($s1) -.Ljp7F04853C: -/* 07D0AC 7F04853C C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07D0B0 7F048540 460A0201 */ sub.s $f8, $f0, $f10 -/* 07D0B4 7F048544 E6280094 */ swc1 $f8, 0x94($s1) -/* 07D0B8 7F048548 8E2F000C */ lw $t7, 0xc($s1) -.Ljp7F04854C: -/* 07D0BC 7F04854C 00008025 */ move $s0, $zero -/* 07D0C0 7F048550 000F6B00 */ sll $t5, $t7, 0xc -/* 07D0C4 7F048554 05A00014 */ bltz $t5, .Ljp7F0485A8 -/* 07D0C8 7F048558 00000000 */ nop -/* 07D0CC 7F04855C 0FC13CCE */ jal check_if_object_has_not_been_destroyed -/* 07D0D0 7F048560 02202025 */ move $a0, $s1 -/* 07D0D4 7F048564 10400010 */ beqz $v0, .Ljp7F0485A8 -/* 07D0D8 7F048568 00000000 */ nop -/* 07D0DC 7F04856C C624008C */ lwc1 $f4, 0x8c($s1) -/* 07D0E0 7F048570 4604B032 */ c.eq.s $f22, $f4 -/* 07D0E4 7F048574 00000000 */ nop -/* 07D0E8 7F048578 4501000B */ bc1t .Ljp7F0485A8 -/* 07D0EC 7F04857C 00000000 */ nop -/* 07D0F0 7F048580 8E390008 */ lw $t9, 8($s1) -/* 07D0F4 7F048584 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c -/* 07D0F8 7F048588 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 -/* 07D0FC 7F04858C 00194080 */ sll $t0, $t9, 2 -/* 07D100 7F048590 05000005 */ bltz $t0, .Ljp7F0485A8 -/* 07D104 7F048594 26240058 */ addiu $a0, $s1, 0x58 -/* 07D108 7F048598 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb -/* 07D10C 7F04859C 0FC14F64 */ jal sub_GAME_7F053894 -/* 07D110 7F0485A0 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 07D114 7F0485A4 00408025 */ move $s0, $v0 -.Ljp7F0485A8: -/* 07D118 7F0485A8 5A000019 */ blezl $s0, .Ljp7F048610 -/* 07D11C 7F0485AC 8E2400B0 */ lw $a0, 0xb0($s1) -/* 07D120 7F0485B0 8E2400B0 */ lw $a0, 0xb0($s1) -/* 07D124 7F0485B4 10800005 */ beqz $a0, .Ljp7F0485CC -/* 07D128 7F0485B8 00000000 */ nop -/* 07D12C 7F0485BC 0C002380 */ jal sfxGetArg0Unk3F -/* 07D130 7F0485C0 00000000 */ nop -/* 07D134 7F0485C4 5440000A */ bnezl $v0, .Ljp7F0485F0 -/* 07D138 7F0485C8 8E2400B0 */ lw $a0, 0xb0($s1) -.Ljp7F0485CC: -/* 07D13C 7F0485CC 0FC3021B */ jal get_controls_locked_flag -/* 07D140 7F0485D0 00000000 */ nop -/* 07D144 7F0485D4 14400005 */ bnez $v0, .Ljp7F0485EC -/* 07D148 7F0485D8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07D14C 7F0485DC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07D150 7F0485E0 2405003A */ li $a1, 58 -/* 07D154 7F0485E4 0C002386 */ jal play_sfx_a1 -/* 07D158 7F0485E8 262600B0 */ addiu $a2, $s1, 0xb0 -.Ljp7F0485EC: -/* 07D15C 7F0485EC 8E2400B0 */ lw $a0, 0xb0($s1) -.Ljp7F0485F0: -/* 07D160 7F0485F0 24050008 */ li $a1, 8 -/* 07D164 7F0485F4 5080000F */ beql $a0, $zero, .Ljp7F048634 -/* 07D168 7F0485F8 92220003 */ lbu $v0, 3($s1) -/* 07D16C 7F0485FC 0C002465 */ jal sfx_c_70009184 -/* 07D170 7F048600 02003025 */ move $a2, $s0 -/* 07D174 7F048604 1000000B */ b .Ljp7F048634 -/* 07D178 7F048608 92220003 */ lbu $v0, 3($s1) -/* 07D17C 7F04860C 8E2400B0 */ lw $a0, 0xb0($s1) -.Ljp7F048610: -/* 07D180 7F048610 50800008 */ beql $a0, $zero, .Ljp7F048634 -/* 07D184 7F048614 92220003 */ lbu $v0, 3($s1) -/* 07D188 7F048618 0C002380 */ jal sfxGetArg0Unk3F -/* 07D18C 7F04861C 00000000 */ nop -/* 07D190 7F048620 50400004 */ beql $v0, $zero, .Ljp7F048634 -/* 07D194 7F048624 92220003 */ lbu $v0, 3($s1) -/* 07D198 7F048628 0C00240C */ jal sfxDeactivate -/* 07D19C 7F04862C 8E2400B0 */ lw $a0, 0xb0($s1) -.Ljp7F048630: -/* 07D1A0 7F048630 92220003 */ lbu $v0, 3($s1) -.Ljp7F048634: -/* 07D1A4 7F048634 3C018005 */ lui $at, %hi(D_80052B64) # $at, 0x8005 -/* 07D1A8 7F048638 C4342B94 */ lwc1 $f20, %lo(D_80052B64)($at) -/* 07D1AC 7F04863C 2401002F */ li $at, 47 -/* 07D1B0 7F048640 54410020 */ bnel $v0, $at, .Ljp7F0486C4 -/* 07D1B4 7F048644 24010001 */ li $at, 1 -/* 07D1B8 7F048648 8E700004 */ lw $s0, 4($s3) -/* 07D1BC 7F04864C 26240058 */ addiu $a0, $s1, 0x58 -/* 07D1C0 7F048650 8E180080 */ lw $t8, 0x80($s0) -/* 07D1C4 7F048654 8E090084 */ lw $t1, 0x84($s0) -/* 07D1C8 7F048658 8E070090 */ lw $a3, 0x90($s0) -/* 07D1CC 7F04865C 44983000 */ mtc1 $t8, $f6 -/* 07D1D0 7F048660 44895000 */ mtc1 $t1, $f10 -/* 07D1D4 7F048664 468031A0 */ cvt.s.w $f6, $f6 -/* 07D1D8 7F048668 468052A0 */ cvt.s.w $f10, $f10 -/* 07D1DC 7F04866C 44053000 */ mfc1 $a1, $f6 -/* 07D1E0 7F048670 44065000 */ mfc1 $a2, $f10 -/* 07D1E4 7F048674 0FC1156C */ jal sub_GAME_7F0451DC -/* 07D1E8 7F048678 00000000 */ nop -/* 07D1EC 7F04867C 8E04008C */ lw $a0, 0x8c($s0) -/* 07D1F0 7F048680 AE020088 */ sw $v0, 0x88($s0) -/* 07D1F4 7F048684 8FAB067C */ lw $t3, 0x67c($sp) -/* 07D1F8 7F048688 0480000B */ bltz $a0, .Ljp7F0486B8 -/* 07D1FC 7F04868C 24010001 */ li $at, 1 -/* 07D200 7F048690 15610009 */ bne $t3, $at, .Ljp7F0486B8 -/* 07D204 7F048694 240100FF */ li $at, 255 -/* 07D208 7F048698 14410005 */ bne $v0, $at, .Ljp7F0486B0 -/* 07D20C 7F04869C 00000000 */ nop -/* 07D210 7F0486A0 0FC2EA5B */ jal sub_GAME_7F0B9DBC -/* 07D214 7F0486A4 00002825 */ move $a1, $zero -/* 07D218 7F0486A8 10000003 */ b .Ljp7F0486B8 -/* 07D21C 7F0486AC 00000000 */ nop -.Ljp7F0486B0: -/* 07D220 7F0486B0 0FC2EA5B */ jal sub_GAME_7F0B9DBC -/* 07D224 7F0486B4 24050001 */ li $a1, 1 -.Ljp7F0486B8: -/* 07D228 7F0486B8 1000003B */ b .Ljp7F0487A8 -/* 07D22C 7F0486BC AFA00678 */ sw $zero, 0x678($sp) -/* 07D230 7F0486C0 24010001 */ li $at, 1 -.Ljp7F0486C4: -/* 07D234 7F0486C4 54410039 */ bnel $v0, $at, .Ljp7F0487AC -/* 07D238 7F0486C8 922C0003 */ lbu $t4, 3($s1) -/* 07D23C 7F0486CC 962C0098 */ lhu $t4, 0x98($s1) -/* 07D240 7F0486D0 318A0002 */ andi $t2, $t4, 2 -/* 07D244 7F0486D4 51400035 */ beql $t2, $zero, .Ljp7F0487AC -/* 07D248 7F0486D8 922C0003 */ lbu $t4, 3($s1) -/* 07D24C 7F0486DC 8E700004 */ lw $s0, 4($s3) -/* 07D250 7F0486E0 4407B000 */ mfc1 $a3, $f22 -/* 07D254 7F0486E4 24120001 */ li $s2, 1 -/* 07D258 7F0486E8 8E0F00C0 */ lw $t7, 0xc0($s0) -/* 07D25C 7F0486EC 8E0D00C4 */ lw $t5, 0xc4($s0) -/* 07D260 7F0486F0 26240058 */ addiu $a0, $s1, 0x58 -/* 07D264 7F0486F4 448F4000 */ mtc1 $t7, $f8 -/* 07D268 7F0486F8 448D2000 */ mtc1 $t5, $f4 -/* 07D26C 7F0486FC 46804220 */ cvt.s.w $f8, $f8 -/* 07D270 7F048700 46802120 */ cvt.s.w $f4, $f4 -/* 07D274 7F048704 44054000 */ mfc1 $a1, $f8 -/* 07D278 7F048708 44062000 */ mfc1 $a2, $f4 -/* 07D27C 7F04870C 0FC1156C */ jal sub_GAME_7F0451DC -/* 07D280 7F048710 00000000 */ nop -/* 07D284 7F048714 A60200BE */ sh $v0, 0xbe($s0) -/* 07D288 7F048718 8FB9067C */ lw $t9, 0x67c($sp) -/* 07D28C 7F04871C 24010001 */ li $at, 1 -/* 07D290 7F048720 57210022 */ bnel $t9, $at, .Ljp7F0487AC -/* 07D294 7F048724 922C0003 */ lbu $t4, 3($s1) -/* 07D298 7F048728 860800BE */ lh $t0, 0xbe($s0) -/* 07D29C 7F04872C 240100FF */ li $at, 255 -/* 07D2A0 7F048730 55010007 */ bnel $t0, $at, .Ljp7F048750 -/* 07D2A4 7F048734 00009025 */ move $s2, $zero -/* 07D2A8 7F048738 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 07D2AC 7F04873C 4606B03C */ c.lt.s $f22, $f6 -/* 07D2B0 7F048740 00000000 */ nop -/* 07D2B4 7F048744 45020003 */ bc1fl .Ljp7F048754 -/* 07D2B8 7F048748 8E820008 */ lw $v0, 8($s4) -/* 07D2BC 7F04874C 00009025 */ move $s2, $zero -.Ljp7F048750: -/* 07D2C0 7F048750 8E820008 */ lw $v0, 8($s4) -.Ljp7F048754: -/* 07D2C4 7F048754 3C188004 */ lui $t8, %hi(prop_door_related) # $t8, 0x8004 -/* 07D2C8 7F048758 2718A20C */ addiu $t8, %lo(prop_door_related) # addiu $t8, $t8, -0x5df4 -/* 07D2CC 7F04875C 8C490004 */ lw $t1, 4($v0) -/* 07D2D0 7F048760 17090009 */ bne $t8, $t1, .Ljp7F048788 -/* 07D2D4 7F048764 00000000 */ nop -/* 07D2D8 7F048768 8C4B0008 */ lw $t3, 8($v0) -/* 07D2DC 7F04876C 02802025 */ move $a0, $s4 -/* 07D2E0 7F048770 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 07D2E4 7F048774 8D650004 */ lw $a1, 4($t3) -/* 07D2E8 7F048778 8C4E0000 */ lw $t6, ($v0) -/* 07D2EC 7F04877C 15C00002 */ bnez $t6, .Ljp7F048788 -/* 07D2F0 7F048780 00000000 */ nop -/* 07D2F4 7F048784 00009025 */ move $s2, $zero -.Ljp7F048788: -/* 07D2F8 7F048788 12400005 */ beqz $s2, .Ljp7F0487A0 -/* 07D2FC 7F04878C 00000000 */ nop -/* 07D300 7F048790 0FC14EB0 */ jal sub_GAME_7F0535C4 -/* 07D304 7F048794 02002025 */ move $a0, $s0 -/* 07D308 7F048798 10000004 */ b .Ljp7F0487AC -/* 07D30C 7F04879C 922C0003 */ lbu $t4, 3($s1) -.Ljp7F0487A0: -/* 07D310 7F0487A0 0FC14EA5 */ jal sub_GAME_7F053598 -/* 07D314 7F0487A4 02002025 */ move $a0, $s0 -.Ljp7F0487A8: -/* 07D318 7F0487A8 922C0003 */ lbu $t4, 3($s1) -.Ljp7F0487AC: -/* 07D31C 7F0487AC 2410002D */ li $s0, 45 -/* 07D320 7F0487B0 560C0008 */ bnel $s0, $t4, .Ljp7F0487D4 -/* 07D324 7F0487B4 8E23000C */ lw $v1, 0xc($s1) -/* 07D328 7F0487B8 0FC1F52A */ jal get_ptr_for_players_tank -/* 07D32C 7F0487BC 00000000 */ nop -/* 07D330 7F0487C0 54530004 */ bnel $v0, $s3, .Ljp7F0487D4 -/* 07D334 7F0487C4 8E23000C */ lw $v1, 0xc($s1) -/* 07D338 7F0487C8 10000019 */ b .Ljp7F048830 -/* 07D33C 7F0487CC 24030001 */ li $v1, 1 -/* 07D340 7F0487D0 8E23000C */ lw $v1, 0xc($s1) -.Ljp7F0487D4: -/* 07D344 7F0487D4 00035140 */ sll $t2, $v1, 5 -/* 07D348 7F0487D8 05430004 */ bgezl $t2, .Ljp7F0487EC -/* 07D34C 7F0487DC 8E2F0064 */ lw $t7, 0x64($s1) -/* 07D350 7F0487E0 10000013 */ b .Ljp7F048830 -/* 07D354 7F0487E4 24030001 */ li $v1, 1 -/* 07D358 7F0487E8 8E2F0064 */ lw $t7, 0x64($s1) -.Ljp7F0487EC: -/* 07D35C 7F0487EC 0003CB00 */ sll $t9, $v1, 0xc -/* 07D360 7F0487F0 00001825 */ move $v1, $zero -/* 07D364 7F0487F4 31ED0800 */ andi $t5, $t7, 0x800 -/* 07D368 7F0487F8 15A0000D */ bnez $t5, .Ljp7F048830 -/* 07D36C 7F0487FC 00000000 */ nop -/* 07D370 7F048800 0720000B */ bltz $t9, .Ljp7F048830 -/* 07D374 7F048804 02802025 */ move $a0, $s4 -/* 07D378 7F048808 26280058 */ addiu $t0, $s1, 0x58 -/* 07D37C 7F04880C 0FC1B57F */ jal getinstsize -/* 07D380 7F048810 AFA80074 */ sw $t0, 0x74($sp) -/* 07D384 7F048814 44060000 */ mfc1 $a2, $f0 -/* 07D388 7F048818 02602025 */ move $a0, $s3 -/* 07D38C 7F04881C 8FA50074 */ lw $a1, 0x74($sp) -/* 07D390 7F048820 0FC1549A */ jal sub_GAME_7F054D6C -/* 07D394 7F048824 8FA70678 */ lw $a3, 0x678($sp) -/* 07D398 7F048828 10000001 */ b .Ljp7F048830 -/* 07D39C 7F04882C 00401825 */ move $v1, $v0 -.Ljp7F048830: -/* 07D3A0 7F048830 1060037A */ beqz $v1, .Ljp7F04961C -/* 07D3A4 7F048834 8FB80680 */ lw $t8, 0x680($sp) -/* 07D3A8 7F048838 13000003 */ beqz $t8, .Ljp7F048848 -/* 07D3AC 7F04883C 26240078 */ addiu $a0, $s1, 0x78 -/* 07D3B0 7F048840 0FC10184 */ jal update_color_shading -/* 07D3B4 7F048844 2625007C */ addiu $a1, $s1, 0x7c -.Ljp7F048848: -/* 07D3B8 7F048848 92690001 */ lbu $t1, 1($s3) -/* 07D3BC 7F04884C 352B0002 */ ori $t3, $t1, 2 -/* 07D3C0 7F048850 A26B0001 */ sb $t3, 1($s3) -/* 07D3C4 7F048854 8E8E0008 */ lw $t6, 8($s4) -/* 07D3C8 7F048858 85C4000E */ lh $a0, 0xe($t6) -/* 07D3CC 7F04885C 00046180 */ sll $t4, $a0, 6 -/* 07D3D0 7F048860 0FC2F8B1 */ jal sub_GAME_7F0BD714 -/* 07D3D4 7F048864 01802025 */ move $a0, $t4 -/* 07D3D8 7F048868 AE82000C */ sw $v0, 0xc($s4) -/* 07D3DC 7F04886C 922A0003 */ lbu $t2, 3($s1) -/* 07D3E0 7F048870 24010001 */ li $at, 1 -/* 07D3E4 7F048874 00409025 */ move $s2, $v0 -/* 07D3E8 7F048878 154100AD */ bne $t2, $at, .Ljp7F048B30 -/* 07D3EC 7F04887C 26240018 */ addiu $a0, $s1, 0x18 -/* 07D3F0 7F048880 8E640004 */ lw $a0, 4($s3) -/* 07D3F4 7F048884 00402825 */ move $a1, $v0 -/* 07D3F8 7F048888 0FC14AFA */ jal sub_GAME_7F0526EC -/* 07D3FC 7F04888C AFA403A0 */ sw $a0, 0x3a0($sp) -/* 07D400 7F048890 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07D404 7F048894 00000000 */ nop -/* 07D408 7F048898 00402025 */ move $a0, $v0 -/* 07D40C 7F04889C 0FC1616E */ jal sub_GAME_7F058098 -/* 07D410 7F0488A0 02402825 */ move $a1, $s2 -/* 07D414 7F0488A4 8E820008 */ lw $v0, 8($s4) -/* 07D418 7F0488A8 3C0F8004 */ lui $t7, %hi(prop_eyelid_door_related) # $t7, 0x8004 -/* 07D41C 7F0488AC 25EFA130 */ addiu $t7, %lo(prop_eyelid_door_related) # addiu $t7, $t7, -0x5ed0 -/* 07D420 7F0488B0 8C430004 */ lw $v1, 4($v0) -/* 07D424 7F0488B4 3C0B8004 */ lui $t3, %hi(prop_iris_door_related) # $t3, 0x8004 -/* 07D428 7F0488B8 8FA603A0 */ lw $a2, 0x3a0($sp) -/* 07D42C 7F0488BC 15E30025 */ bne $t7, $v1, .Ljp7F048954 -/* 07D430 7F0488C0 256BA18C */ addiu $t3, %lo(prop_iris_door_related) # addiu $t3, $t3, -0x5e74 -/* 07D434 7F0488C4 C4CA00B4 */ lwc1 $f10, 0xb4($a2) -/* 07D438 7F0488C8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07D43C 7F0488CC 44812000 */ mtc1 $at, $f4 -/* 07D440 7F0488D0 46145202 */ mul.s $f8, $f10, $f20 -/* 07D444 7F0488D4 8C4D0008 */ lw $t5, 8($v0) -/* 07D448 7F0488D8 26450040 */ addiu $a1, $s2, 0x40 -/* 07D44C 7F0488DC 8DB90004 */ lw $t9, 4($t5) -/* 07D450 7F0488E0 46044183 */ div.s $f6, $f8, $f4 -/* 07D454 7F0488E4 8F300004 */ lw $s0, 4($t9) -/* 07D458 7F0488E8 AFA50070 */ sw $a1, 0x70($sp) -/* 07D45C 7F0488EC 4606A301 */ sub.s $f12, $f20, $f6 -/* 07D460 7F0488F0 0FC162A4 */ jal sub_GAME_7F058570 -/* 07D464 7F0488F4 E7AC0398 */ swc1 $f12, 0x398($sp) -/* 07D468 7F0488F8 02002025 */ move $a0, $s0 -/* 07D46C 7F0488FC 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D470 7F048900 8FA50070 */ lw $a1, 0x70($sp) -/* 07D474 7F048904 02402025 */ move $a0, $s2 -/* 07D478 7F048908 0FC16162 */ jal sub_GAME_7F058068 -/* 07D47C 7F04890C 8FA50070 */ lw $a1, 0x70($sp) -/* 07D480 7F048910 8E880008 */ lw $t0, 8($s4) -/* 07D484 7F048914 C7AA0398 */ lwc1 $f10, 0x398($sp) -/* 07D488 7F048918 26450080 */ addiu $a1, $s2, 0x80 -/* 07D48C 7F04891C 8D180008 */ lw $t8, 8($t0) -/* 07D490 7F048920 460AA301 */ sub.s $f12, $f20, $f10 -/* 07D494 7F048924 8F090008 */ lw $t1, 8($t8) -/* 07D498 7F048928 8D300004 */ lw $s0, 4($t1) -/* 07D49C 7F04892C 0FC162A4 */ jal sub_GAME_7F058570 -/* 07D4A0 7F048930 AFA5006C */ sw $a1, 0x6c($sp) -/* 07D4A4 7F048934 02002025 */ move $a0, $s0 -/* 07D4A8 7F048938 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D4AC 7F04893C 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D4B0 7F048940 02402025 */ move $a0, $s2 -/* 07D4B4 7F048944 0FC16162 */ jal sub_GAME_7F058068 -/* 07D4B8 7F048948 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D4BC 7F04894C 1000031F */ b .Ljp7F0495CC -/* 07D4C0 7F048950 8E8C0008 */ lw $t4, 8($s4) -.Ljp7F048954: -/* 07D4C4 7F048954 5563031D */ bnel $t3, $v1, .Ljp7F0495CC -/* 07D4C8 7F048958 8E8C0008 */ lw $t4, 8($s4) -/* 07D4CC 7F04895C C4C200B4 */ lwc1 $f2, 0xb4($a2) -/* 07D4D0 7F048960 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07D4D4 7F048964 44812000 */ mtc1 $at, $f4 -/* 07D4D8 7F048968 46141202 */ mul.s $f8, $f2, $f20 -/* 07D4DC 7F04896C 3C018005 */ lui $at, %hi(D_80052B68) # $at, 0x8005 -/* 07D4E0 7F048970 C42A2B98 */ lwc1 $f10, %lo(D_80052B68)($at) -/* 07D4E4 7F048974 4600B386 */ mov.s $f14, $f22 -/* 07D4E8 7F048978 46044183 */ div.s $f6, $f8, $f4 -/* 07D4EC 7F04897C E7A60388 */ swc1 $f6, 0x388($sp) -/* 07D4F0 7F048980 C4CC0084 */ lwc1 $f12, 0x84($a2) -/* 07D4F4 7F048984 460A6002 */ mul.s $f0, $f12, $f10 -/* 07D4F8 7F048988 4602003C */ c.lt.s $f0, $f2 -/* 07D4FC 7F04898C 00000000 */ nop -/* 07D500 7F048990 4502001F */ bc1fl .Ljp7F048A10 -/* 07D504 7F048994 8FAA0680 */ lw $t2, 0x680($sp) -/* 07D508 7F048998 46001201 */ sub.s $f8, $f2, $f0 -/* 07D50C 7F04899C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 07D510 7F0489A0 8FAE0680 */ lw $t6, 0x680($sp) -/* 07D514 7F0489A4 46006181 */ sub.s $f6, $f12, $f0 -/* 07D518 7F0489A8 46086102 */ mul.s $f4, $f12, $f8 -/* 07D51C 7F0489AC 46062283 */ div.s $f10, $f4, $f6 -/* 07D520 7F0489B0 44812000 */ mtc1 $at, $f4 -/* 07D524 7F0489B4 46145202 */ mul.s $f8, $f10, $f20 -/* 07D528 7F0489B8 46044383 */ div.s $f14, $f8, $f4 -/* 07D52C 7F0489BC 11C00011 */ beqz $t6, .Ljp7F048A04 -/* 07D530 7F0489C0 E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D534 7F0489C4 C7A60684 */ lwc1 $f6, 0x684($sp) -/* 07D538 7F0489C8 E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D53C 7F0489CC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07D540 7F0489D0 4600303E */ c.le.s $f6, $f0 -/* 07D544 7F0489D4 240500CA */ li $a1, 202 -/* 07D548 7F0489D8 00003025 */ move $a2, $zero -/* 07D54C 7F0489DC 266C0008 */ addiu $t4, $s3, 8 -/* 07D550 7F0489E0 45000008 */ bc1f .Ljp7F048A04 -/* 07D554 7F0489E4 00000000 */ nop -/* 07D558 7F0489E8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07D55C 7F0489EC AFAC0074 */ sw $t4, 0x74($sp) -/* 07D560 7F0489F0 0C002386 */ jal play_sfx_a1 -/* 07D564 7F0489F4 E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D568 7F0489F8 00402025 */ move $a0, $v0 -/* 07D56C 7F0489FC 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07D570 7F048A00 8FA50074 */ lw $a1, 0x74($sp) -.Ljp7F048A04: -/* 07D574 7F048A04 10000016 */ b .Ljp7F048A60 -/* 07D578 7F048A08 AFA00390 */ sw $zero, 0x390($sp) -/* 07D57C 7F048A0C 8FAA0680 */ lw $t2, 0x680($sp) -.Ljp7F048A10: -/* 07D580 7F048A10 E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D584 7F048A14 51400012 */ beql $t2, $zero, .Ljp7F048A60 -/* 07D588 7F048A18 AFA00390 */ sw $zero, 0x390($sp) -/* 07D58C 7F048A1C C7AA0684 */ lwc1 $f10, 0x684($sp) -/* 07D590 7F048A20 E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D594 7F048A24 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07D598 7F048A28 460A003C */ c.lt.s $f0, $f10 -/* 07D59C 7F048A2C 240500CB */ li $a1, 203 -/* 07D5A0 7F048A30 00003025 */ move $a2, $zero -/* 07D5A4 7F048A34 266F0008 */ addiu $t7, $s3, 8 -/* 07D5A8 7F048A38 45020009 */ bc1fl .Ljp7F048A60 -/* 07D5AC 7F048A3C AFA00390 */ sw $zero, 0x390($sp) -/* 07D5B0 7F048A40 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07D5B4 7F048A44 AFAF0074 */ sw $t7, 0x74($sp) -/* 07D5B8 7F048A48 0C002386 */ jal play_sfx_a1 -/* 07D5BC 7F048A4C E7AE0384 */ swc1 $f14, 0x384($sp) -/* 07D5C0 7F048A50 00402025 */ move $a0, $v0 -/* 07D5C4 7F048A54 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07D5C8 7F048A58 8FA50074 */ lw $a1, 0x74($sp) -/* 07D5CC 7F048A5C AFA00390 */ sw $zero, 0x390($sp) -.Ljp7F048A60: -/* 07D5D0 7F048A60 8E8D0008 */ lw $t5, 8($s4) -/* 07D5D4 7F048A64 8FA30390 */ lw $v1, 0x390($sp) -/* 07D5D8 7F048A68 C7AC0384 */ lwc1 $f12, 0x384($sp) -/* 07D5DC 7F048A6C 8DB90008 */ lw $t9, 8($t5) -/* 07D5E0 7F048A70 00031040 */ sll $v0, $v1, 1 -/* 07D5E4 7F048A74 00024080 */ sll $t0, $v0, 2 -/* 07D5E8 7F048A78 0328C021 */ addu $t8, $t9, $t0 -/* 07D5EC 7F048A7C 8F090004 */ lw $t1, 4($t8) -/* 07D5F0 7F048A80 00027180 */ sll $t6, $v0, 6 -/* 07D5F4 7F048A84 024E2821 */ addu $a1, $s2, $t6 -/* 07D5F8 7F048A88 8D2B0004 */ lw $t3, 4($t1) -/* 07D5FC 7F048A8C AFA20078 */ sw $v0, 0x78($sp) -/* 07D600 7F048A90 24A50040 */ addiu $a1, $a1, 0x40 -/* 07D604 7F048A94 0FC162EA */ jal sub_GAME_7F058688 -/* 07D608 7F048A98 AFAB0394 */ sw $t3, 0x394($sp) -/* 07D60C 7F048A9C 8FAC0078 */ lw $t4, 0x78($sp) -/* 07D610 7F048AA0 8FB00390 */ lw $s0, 0x390($sp) -/* 07D614 7F048AA4 8FA40394 */ lw $a0, 0x394($sp) -/* 07D618 7F048AA8 000C5180 */ sll $t2, $t4, 6 -/* 07D61C 7F048AAC 024A2821 */ addu $a1, $s2, $t2 -/* 07D620 7F048AB0 24A50040 */ addiu $a1, $a1, 0x40 -/* 07D624 7F048AB4 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D628 7F048AB8 AFA50074 */ sw $a1, 0x74($sp) -/* 07D62C 7F048ABC 02402025 */ move $a0, $s2 -/* 07D630 7F048AC0 0FC16162 */ jal sub_GAME_7F058068 -/* 07D634 7F048AC4 8FA50074 */ lw $a1, 0x74($sp) -/* 07D638 7F048AC8 8E8F0008 */ lw $t7, 8($s4) -/* 07D63C 7F048ACC 8FA20078 */ lw $v0, 0x78($sp) -/* 07D640 7F048AD0 C7AC0388 */ lwc1 $f12, 0x388($sp) -/* 07D644 7F048AD4 8DED0008 */ lw $t5, 8($t7) -/* 07D648 7F048AD8 24420002 */ addiu $v0, $v0, 2 -/* 07D64C 7F048ADC 0002C880 */ sll $t9, $v0, 2 -/* 07D650 7F048AE0 01B94021 */ addu $t0, $t5, $t9 -/* 07D654 7F048AE4 8D180000 */ lw $t8, ($t0) -/* 07D658 7F048AE8 00025980 */ sll $t3, $v0, 6 -/* 07D65C 7F048AEC 024B2821 */ addu $a1, $s2, $t3 -/* 07D660 7F048AF0 8F090004 */ lw $t1, 4($t8) -/* 07D664 7F048AF4 AFA50070 */ sw $a1, 0x70($sp) -/* 07D668 7F048AF8 0FC162EA */ jal sub_GAME_7F058688 -/* 07D66C 7F048AFC AFA90394 */ sw $t1, 0x394($sp) -/* 07D670 7F048B00 8FA40394 */ lw $a0, 0x394($sp) -/* 07D674 7F048B04 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D678 7F048B08 8FA50070 */ lw $a1, 0x70($sp) -/* 07D67C 7F048B0C 8FA40074 */ lw $a0, 0x74($sp) -/* 07D680 7F048B10 0FC16162 */ jal sub_GAME_7F058068 -/* 07D684 7F048B14 8FA50070 */ lw $a1, 0x70($sp) -/* 07D688 7F048B18 26100001 */ addiu $s0, $s0, 1 -/* 07D68C 7F048B1C 24010006 */ li $at, 6 -/* 07D690 7F048B20 1601FFCF */ bne $s0, $at, .Ljp7F048A60 -/* 07D694 7F048B24 AFB00390 */ sw $s0, 0x390($sp) -/* 07D698 7F048B28 100002A8 */ b .Ljp7F0495CC -/* 07D69C 7F048B2C 8E8C0008 */ lw $t4, 8($s4) -.Ljp7F048B30: -/* 07D6A0 7F048B30 262E0058 */ addiu $t6, $s1, 0x58 -/* 07D6A4 7F048B34 AFAE0074 */ sw $t6, 0x74($sp) -/* 07D6A8 7F048B38 0FC16150 */ jal sub_GAME_7F058020 -/* 07D6AC 7F048B3C 27A503A8 */ addiu $a1, $sp, 0x3a8 -/* 07D6B0 7F048B40 8FA40074 */ lw $a0, 0x74($sp) -/* 07D6B4 7F048B44 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D6B8 7F048B48 27A503A8 */ addiu $a1, $sp, 0x3a8 -/* 07D6BC 7F048B4C 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07D6C0 7F048B50 00000000 */ nop -/* 07D6C4 7F048B54 00402025 */ move $a0, $v0 -/* 07D6C8 7F048B58 27A503A8 */ addiu $a1, $sp, 0x3a8 -/* 07D6CC 7F048B5C 0FC161AB */ jal sub_GAME_7F05818C -/* 07D6D0 7F048B60 02403025 */ move $a2, $s2 -/* 07D6D4 7F048B64 92220003 */ lbu $v0, 3($s1) -/* 07D6D8 7F048B68 24010006 */ li $at, 6 -/* 07D6DC 7F048B6C 27A50324 */ addiu $a1, $sp, 0x324 -/* 07D6E0 7F048B70 5441002D */ bnel $v0, $at, .Ljp7F048C28 -/* 07D6E4 7F048B74 2401000D */ li $at, 13 -/* 07D6E8 7F048B78 8E620004 */ lw $v0, 4($s3) -/* 07D6EC 7F048B7C 8E8C0008 */ lw $t4, 8($s4) -/* 07D6F0 7F048B80 C44C00C8 */ lwc1 $f12, 0xc8($v0) -/* 07D6F4 7F048B84 8D8A0008 */ lw $t2, 8($t4) -/* 07D6F8 7F048B88 4616603C */ c.lt.s $f12, $f22 -/* 07D6FC 7F048B8C 8D4F0000 */ lw $t7, ($t2) -/* 07D700 7F048B90 45000003 */ bc1f .Ljp7F048BA0 -/* 07D704 7F048B94 8DF00004 */ lw $s0, 4($t7) -/* 07D708 7F048B98 10000006 */ b .Ljp7F048BB4 -/* 07D70C 7F048B9C 46146300 */ add.s $f12, $f12, $f20 -.Ljp7F048BA0: -/* 07D710 7F048BA0 460CA03E */ c.le.s $f20, $f12 -/* 07D714 7F048BA4 00000000 */ nop -/* 07D718 7F048BA8 45000002 */ bc1f .Ljp7F048BB4 -/* 07D71C 7F048BAC 00000000 */ nop -/* 07D720 7F048BB0 46146301 */ sub.s $f12, $f12, $f20 -.Ljp7F048BB4: -/* 07D724 7F048BB4 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07D728 7F048BB8 AFA20374 */ sw $v0, 0x374($sp) -/* 07D72C 7F048BBC 8FA20374 */ lw $v0, 0x374($sp) -/* 07D730 7F048BC0 26460040 */ addiu $a2, $s2, 0x40 -/* 07D734 7F048BC4 AFA60070 */ sw $a2, 0x70($sp) -/* 07D738 7F048BC8 27A40324 */ addiu $a0, $sp, 0x324 -/* 07D73C 7F048BCC 0FC1617A */ jal sub_GAME_7F0580C8 -/* 07D740 7F048BD0 24450084 */ addiu $a1, $v0, 0x84 -/* 07D744 7F048BD4 C6080000 */ lwc1 $f8, ($s0) -/* 07D748 7F048BD8 27B20364 */ addiu $s2, $sp, 0x364 -/* 07D74C 7F048BDC 02402825 */ move $a1, $s2 -/* 07D750 7F048BE0 E7A80364 */ swc1 $f8, 0x364($sp) -/* 07D754 7F048BE4 C6040004 */ lwc1 $f4, 4($s0) -/* 07D758 7F048BE8 27A403A8 */ addiu $a0, $sp, 0x3a8 -/* 07D75C 7F048BEC E7A40368 */ swc1 $f4, 0x368($sp) -/* 07D760 7F048BF0 C6060008 */ lwc1 $f6, 8($s0) -/* 07D764 7F048BF4 0FC16265 */ jal sub_GAME_7F058474 -/* 07D768 7F048BF8 E7A6036C */ swc1 $f6, 0x36c($sp) -/* 07D76C 7F048BFC 02402025 */ move $a0, $s2 -/* 07D770 7F048C00 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D774 7F048C04 8FA50070 */ lw $a1, 0x70($sp) -/* 07D778 7F048C08 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07D77C 7F048C0C 00000000 */ nop -/* 07D780 7F048C10 00402025 */ move $a0, $v0 -/* 07D784 7F048C14 0FC1616E */ jal sub_GAME_7F058098 -/* 07D788 7F048C18 8FA50070 */ lw $a1, 0x70($sp) -/* 07D78C 7F048C1C 1000026B */ b .Ljp7F0495CC -/* 07D790 7F048C20 8E8C0008 */ lw $t4, 8($s4) -/* 07D794 7F048C24 2401000D */ li $at, 13 -.Ljp7F048C28: -/* 07D798 7F048C28 5441007F */ bnel $v0, $at, .Ljp7F048E28 -/* 07D79C 7F048C2C 24010008 */ li $at, 8 -/* 07D7A0 7F048C30 8E620004 */ lw $v0, 4($s3) -/* 07D7A4 7F048C34 3C018005 */ lui $at, %hi(D_80052B6C) # $at, 0x8005 -/* 07D7A8 7F048C38 C4282B9C */ lwc1 $f8, %lo(D_80052B6C)($at) -/* 07D7AC 7F048C3C C44A0090 */ lwc1 $f10, 0x90($v0) -/* 07D7B0 7F048C40 C444009C */ lwc1 $f4, 0x9c($v0) -/* 07D7B4 7F048C44 46085300 */ add.s $f12, $f10, $f8 -/* 07D7B8 7F048C48 46002187 */ neg.s $f6, $f4 -/* 07D7BC 7F048C4C 460CA03E */ c.le.s $f20, $f12 -/* 07D7C0 7F048C50 E7A60304 */ swc1 $f6, 0x304($sp) -/* 07D7C4 7F048C54 45020003 */ bc1fl .Ljp7F048C64 -/* 07D7C8 7F048C58 8E8D0008 */ lw $t5, 8($s4) -/* 07D7CC 7F048C5C 46146301 */ sub.s $f12, $f12, $f20 -/* 07D7D0 7F048C60 8E8D0008 */ lw $t5, 8($s4) -.Ljp7F048C64: -/* 07D7D4 7F048C64 27A403A8 */ addiu $a0, $sp, 0x3a8 -/* 07D7D8 7F048C68 27A5030C */ addiu $a1, $sp, 0x30c -/* 07D7DC 7F048C6C 8DB90008 */ lw $t9, 8($t5) -/* 07D7E0 7F048C70 8F280004 */ lw $t0, 4($t9) -/* 07D7E4 7F048C74 8D100004 */ lw $s0, 4($t0) -/* 07D7E8 7F048C78 C60A0000 */ lwc1 $f10, ($s0) -/* 07D7EC 7F048C7C E7AA030C */ swc1 $f10, 0x30c($sp) -/* 07D7F0 7F048C80 C6080004 */ lwc1 $f8, 4($s0) -/* 07D7F4 7F048C84 E7A80310 */ swc1 $f8, 0x310($sp) -/* 07D7F8 7F048C88 C6040008 */ lwc1 $f4, 8($s0) -/* 07D7FC 7F048C8C E7AC0308 */ swc1 $f12, 0x308($sp) -/* 07D800 7F048C90 AFA2031C */ sw $v0, 0x31c($sp) -/* 07D804 7F048C94 0FC16265 */ jal sub_GAME_7F058474 -/* 07D808 7F048C98 E7A40314 */ swc1 $f4, 0x314($sp) -/* 07D80C 7F048C9C 26450040 */ addiu $a1, $s2, 0x40 -/* 07D810 7F048CA0 C7AC0308 */ lwc1 $f12, 0x308($sp) -/* 07D814 7F048CA4 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07D818 7F048CA8 AFA50070 */ sw $a1, 0x70($sp) -/* 07D81C 7F048CAC 27A4030C */ addiu $a0, $sp, 0x30c -/* 07D820 7F048CB0 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D824 7F048CB4 8FA50070 */ lw $a1, 0x70($sp) -/* 07D828 7F048CB8 8FB8031C */ lw $t8, 0x31c($sp) -/* 07D82C 7F048CBC 8FA50070 */ lw $a1, 0x70($sp) -/* 07D830 7F048CC0 8F090014 */ lw $t1, 0x14($t8) -/* 07D834 7F048CC4 0FC163E7 */ jal matrix_multiply_A1_by_F12 -/* 07D838 7F048CC8 C52C0014 */ lwc1 $f12, 0x14($t1) -/* 07D83C 7F048CCC 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07D840 7F048CD0 00000000 */ nop -/* 07D844 7F048CD4 00402025 */ move $a0, $v0 -/* 07D848 7F048CD8 0FC1616E */ jal sub_GAME_7F058098 -/* 07D84C 7F048CDC 8FA50070 */ lw $a1, 0x70($sp) -/* 07D850 7F048CE0 8E8B0008 */ lw $t3, 8($s4) -/* 07D854 7F048CE4 26450080 */ addiu $a1, $s2, 0x80 -/* 07D858 7F048CE8 C7AC0304 */ lwc1 $f12, 0x304($sp) -/* 07D85C 7F048CEC 8D6E0008 */ lw $t6, 8($t3) -/* 07D860 7F048CF0 8DCC0008 */ lw $t4, 8($t6) -/* 07D864 7F048CF4 8D900004 */ lw $s0, 4($t4) -/* 07D868 7F048CF8 0FC162EA */ jal sub_GAME_7F058688 -/* 07D86C 7F048CFC AFA5006C */ sw $a1, 0x6c($sp) -/* 07D870 7F048D00 02002025 */ move $a0, $s0 -/* 07D874 7F048D04 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D878 7F048D08 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D87C 7F048D0C 8FA40070 */ lw $a0, 0x70($sp) -/* 07D880 7F048D10 0FC1616E */ jal sub_GAME_7F058098 -/* 07D884 7F048D14 8FA5006C */ lw $a1, 0x6c($sp) -/* 07D888 7F048D18 8E8A0008 */ lw $t2, 8($s4) -/* 07D88C 7F048D1C 02802025 */ move $a0, $s4 -/* 07D890 7F048D20 8D430008 */ lw $v1, 8($t2) -/* 07D894 7F048D24 8C65000C */ lw $a1, 0xc($v1) -/* 07D898 7F048D28 50A00016 */ beql $a1, $zero, .Ljp7F048D84 -/* 07D89C 7F048D2C 8C650010 */ lw $a1, 0x10($v1) -/* 07D8A0 7F048D30 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07D8A4 7F048D34 00003025 */ move $a2, $zero -/* 07D8A8 7F048D38 AFA20300 */ sw $v0, 0x300($sp) -/* 07D8AC 7F048D3C 8E8F0008 */ lw $t7, 8($s4) -/* 07D8B0 7F048D40 8FA8031C */ lw $t0, 0x31c($sp) -/* 07D8B4 7F048D44 00402825 */ move $a1, $v0 -/* 07D8B8 7F048D48 8DED0008 */ lw $t5, 8($t7) -/* 07D8BC 7F048D4C C50C00B4 */ lwc1 $f12, 0xb4($t0) -/* 07D8C0 7F048D50 8DB9000C */ lw $t9, 0xc($t5) -/* 07D8C4 7F048D54 0FC162A4 */ jal sub_GAME_7F058570 -/* 07D8C8 7F048D58 8F300004 */ lw $s0, 4($t9) -/* 07D8CC 7F048D5C 8FB20300 */ lw $s2, 0x300($sp) -/* 07D8D0 7F048D60 02002025 */ move $a0, $s0 -/* 07D8D4 7F048D64 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D8D8 7F048D68 02402825 */ move $a1, $s2 -/* 07D8DC 7F048D6C 8FA4006C */ lw $a0, 0x6c($sp) -/* 07D8E0 7F048D70 0FC1616E */ jal sub_GAME_7F058098 -/* 07D8E4 7F048D74 02402825 */ move $a1, $s2 -/* 07D8E8 7F048D78 8E980008 */ lw $t8, 8($s4) -/* 07D8EC 7F048D7C 8F030008 */ lw $v1, 8($t8) -/* 07D8F0 7F048D80 8C650010 */ lw $a1, 0x10($v1) -.Ljp7F048D84: -/* 07D8F4 7F048D84 02802025 */ move $a0, $s4 -/* 07D8F8 7F048D88 50A00010 */ beql $a1, $zero, .Ljp7F048DCC -/* 07D8FC 7F048D8C 8C650018 */ lw $a1, 0x18($v1) -/* 07D900 7F048D90 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07D904 7F048D94 00003025 */ move $a2, $zero -/* 07D908 7F048D98 8E890008 */ lw $t1, 8($s4) -/* 07D90C 7F048D9C 00409025 */ move $s2, $v0 -/* 07D910 7F048DA0 00402825 */ move $a1, $v0 -/* 07D914 7F048DA4 8D2B0008 */ lw $t3, 8($t1) -/* 07D918 7F048DA8 8D6E0010 */ lw $t6, 0x10($t3) -/* 07D91C 7F048DAC 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07D920 7F048DB0 8DC40004 */ lw $a0, 4($t6) -/* 07D924 7F048DB4 8FA4006C */ lw $a0, 0x6c($sp) -/* 07D928 7F048DB8 0FC1616E */ jal sub_GAME_7F058098 -/* 07D92C 7F048DBC 02402825 */ move $a1, $s2 -/* 07D930 7F048DC0 8E8C0008 */ lw $t4, 8($s4) -/* 07D934 7F048DC4 8D830008 */ lw $v1, 8($t4) -/* 07D938 7F048DC8 8C650018 */ lw $a1, 0x18($v1) -.Ljp7F048DCC: -/* 07D93C 7F048DCC 02802025 */ move $a0, $s4 -/* 07D940 7F048DD0 50A001FE */ beql $a1, $zero, .Ljp7F0495CC -/* 07D944 7F048DD4 8E8C0008 */ lw $t4, 8($s4) -/* 07D948 7F048DD8 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07D94C 7F048DDC 00003025 */ move $a2, $zero -/* 07D950 7F048DE0 8E8A0008 */ lw $t2, 8($s4) -/* 07D954 7F048DE4 8FB9031C */ lw $t9, 0x31c($sp) -/* 07D958 7F048DE8 00409025 */ move $s2, $v0 -/* 07D95C 7F048DEC 8D4F0008 */ lw $t7, 8($t2) -/* 07D960 7F048DF0 00402825 */ move $a1, $v0 -/* 07D964 7F048DF4 C72C00B4 */ lwc1 $f12, 0xb4($t9) -/* 07D968 7F048DF8 8DED0018 */ lw $t5, 0x18($t7) -/* 07D96C 7F048DFC 0FC162A4 */ jal sub_GAME_7F058570 -/* 07D970 7F048E00 8DB00004 */ lw $s0, 4($t5) -/* 07D974 7F048E04 02002025 */ move $a0, $s0 -/* 07D978 7F048E08 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07D97C 7F048E0C 02402825 */ move $a1, $s2 -/* 07D980 7F048E10 8FA4006C */ lw $a0, 0x6c($sp) -/* 07D984 7F048E14 0FC1616E */ jal sub_GAME_7F058098 -/* 07D988 7F048E18 02402825 */ move $a1, $s2 -/* 07D98C 7F048E1C 100001EB */ b .Ljp7F0495CC -/* 07D990 7F048E20 8E8C0008 */ lw $t4, 8($s4) -/* 07D994 7F048E24 24010008 */ li $at, 8 -.Ljp7F048E28: -/* 07D998 7F048E28 54410017 */ bnel $v0, $at, .Ljp7F048E88 -/* 07D99C 7F048E2C 2401000C */ li $at, 12 -/* 07D9A0 7F048E30 8E880008 */ lw $t0, 8($s4) -/* 07D9A4 7F048E34 24020001 */ li $v0, 1 -/* 07D9A8 7F048E38 26440040 */ addiu $a0, $s2, 0x40 -/* 07D9AC 7F048E3C 8518000E */ lh $t8, 0xe($t0) -/* 07D9B0 7F048E40 2B010002 */ slti $at, $t8, 2 -/* 07D9B4 7F048E44 542001E1 */ bnezl $at, .Ljp7F0495CC -/* 07D9B8 7F048E48 8E8C0008 */ lw $t4, 8($s4) -/* 07D9BC 7F048E4C AFA202FC */ sw $v0, 0x2fc($sp) -.Ljp7F048E50: -/* 07D9C0 7F048E50 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 -/* 07D9C4 7F048E54 AFA40078 */ sw $a0, 0x78($sp) -/* 07D9C8 7F048E58 8E890008 */ lw $t1, 8($s4) -/* 07D9CC 7F048E5C 8FA202FC */ lw $v0, 0x2fc($sp) -/* 07D9D0 7F048E60 8FA40078 */ lw $a0, 0x78($sp) -/* 07D9D4 7F048E64 852B000E */ lh $t3, 0xe($t1) -/* 07D9D8 7F048E68 24420001 */ addiu $v0, $v0, 1 -/* 07D9DC 7F048E6C 24840040 */ addiu $a0, $a0, 0x40 -/* 07D9E0 7F048E70 004B082A */ slt $at, $v0, $t3 -/* 07D9E4 7F048E74 5420FFF6 */ bnezl $at, .Ljp7F048E50 -/* 07D9E8 7F048E78 AFA202FC */ sw $v0, 0x2fc($sp) -/* 07D9EC 7F048E7C 100001D3 */ b .Ljp7F0495CC -/* 07D9F0 7F048E80 8E8C0008 */ lw $t4, 8($s4) -/* 07D9F4 7F048E84 2401000C */ li $at, 12 -.Ljp7F048E88: -/* 07D9F8 7F048E88 5441002C */ bnel $v0, $at, .Ljp7F048F3C -/* 07D9FC 7F048E8C 24010027 */ li $at, 39 -/* 07DA00 7F048E90 8E8E0008 */ lw $t6, 8($s4) -/* 07DA04 7F048E94 26450040 */ addiu $a1, $s2, 0x40 -/* 07DA08 7F048E98 8DCC0008 */ lw $t4, 8($t6) -/* 07DA0C 7F048E9C 8D8A0000 */ lw $t2, ($t4) -/* 07DA10 7F048EA0 8D440004 */ lw $a0, 4($t2) -/* 07DA14 7F048EA4 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07DA18 7F048EA8 AFA50070 */ sw $a1, 0x70($sp) -/* 07DA1C 7F048EAC 02402025 */ move $a0, $s2 -/* 07DA20 7F048EB0 0FC1616E */ jal sub_GAME_7F058098 -/* 07DA24 7F048EB4 8FA50070 */ lw $a1, 0x70($sp) -/* 07DA28 7F048EB8 8E8F0008 */ lw $t7, 8($s4) -/* 07DA2C 7F048EBC 26450080 */ addiu $a1, $s2, 0x80 -/* 07DA30 7F048EC0 8DED0008 */ lw $t5, 8($t7) -/* 07DA34 7F048EC4 8DB90004 */ lw $t9, 4($t5) -/* 07DA38 7F048EC8 8F240004 */ lw $a0, 4($t9) -/* 07DA3C 7F048ECC 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07DA40 7F048ED0 AFA5006C */ sw $a1, 0x6c($sp) -/* 07DA44 7F048ED4 02402025 */ move $a0, $s2 -/* 07DA48 7F048ED8 0FC1616E */ jal sub_GAME_7F058098 -/* 07DA4C 7F048EDC 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DA50 7F048EE0 8E880008 */ lw $t0, 8($s4) -/* 07DA54 7F048EE4 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07DA58 7F048EE8 8D180008 */ lw $t8, 8($t0) -/* 07DA5C 7F048EEC 8F090008 */ lw $t1, 8($t8) -/* 07DA60 7F048EF0 8D240004 */ lw $a0, 4($t1) -/* 07DA64 7F048EF4 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07DA68 7F048EF8 AFA50078 */ sw $a1, 0x78($sp) -/* 07DA6C 7F048EFC 02402025 */ move $a0, $s2 -/* 07DA70 7F048F00 0FC1616E */ jal sub_GAME_7F058098 -/* 07DA74 7F048F04 8FA50078 */ lw $a1, 0x78($sp) -/* 07DA78 7F048F08 8E8B0008 */ lw $t3, 8($s4) -/* 07DA7C 7F048F0C 26500100 */ addiu $s0, $s2, 0x100 -/* 07DA80 7F048F10 02002825 */ move $a1, $s0 -/* 07DA84 7F048F14 8D6E0008 */ lw $t6, 8($t3) -/* 07DA88 7F048F18 8DCC000C */ lw $t4, 0xc($t6) -/* 07DA8C 7F048F1C 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07DA90 7F048F20 8D840004 */ lw $a0, 4($t4) -/* 07DA94 7F048F24 02402025 */ move $a0, $s2 -/* 07DA98 7F048F28 0FC1616E */ jal sub_GAME_7F058098 -/* 07DA9C 7F048F2C 02002825 */ move $a1, $s0 -/* 07DAA0 7F048F30 100001A6 */ b .Ljp7F0495CC -/* 07DAA4 7F048F34 8E8C0008 */ lw $t4, 8($s4) -/* 07DAA8 7F048F38 24010027 */ li $at, 39 -.Ljp7F048F3C: -/* 07DAAC 7F048F3C 544100B9 */ bnel $v0, $at, .Ljp7F049224 -/* 07DAB0 7F048F40 24010028 */ li $at, 40 -/* 07DAB4 7F048F44 8E8A0008 */ lw $t2, 8($s4) -/* 07DAB8 7F048F48 8FAC0680 */ lw $t4, 0x680($sp) -/* 07DABC 7F048F4C 4600B006 */ mov.s $f0, $f22 -/* 07DAC0 7F048F50 8D430008 */ lw $v1, 8($t2) -/* 07DAC4 7F048F54 8C6F0004 */ lw $t7, 4($v1) -/* 07DAC8 7F048F58 8DED0004 */ lw $t5, 4($t7) -/* 07DACC 7F048F5C AFAD0264 */ sw $t5, 0x264($sp) -/* 07DAD0 7F048F60 8C790008 */ lw $t9, 8($v1) -/* 07DAD4 7F048F64 8F280004 */ lw $t0, 4($t9) -/* 07DAD8 7F048F68 AFA80260 */ sw $t0, 0x260($sp) -/* 07DADC 7F048F6C 8C690010 */ lw $t1, 0x10($v1) -/* 07DAE0 7F048F70 8C78000C */ lw $t8, 0xc($v1) -/* 07DAE4 7F048F74 8D2B0004 */ lw $t3, 4($t1) -/* 07DAE8 7F048F78 8F100004 */ lw $s0, 4($t8) -/* 07DAEC 7F048F7C AFAB0258 */ sw $t3, 0x258($sp) -/* 07DAF0 7F048F80 8C6E0018 */ lw $t6, 0x18($v1) -/* 07DAF4 7F048F84 C6840014 */ lwc1 $f4, 0x14($s4) -/* 07DAF8 7F048F88 8DC20004 */ lw $v0, 4($t6) -/* 07DAFC 7F048F8C C4460010 */ lwc1 $f6, 0x10($v0) -/* 07DB00 7F048F90 C44A000C */ lwc1 $f10, 0xc($v0) -/* 07DB04 7F048F94 460A3201 */ sub.s $f8, $f6, $f10 -/* 07DB08 7F048F98 46044082 */ mul.s $f2, $f8, $f4 -/* 07DB0C 7F048F9C 11800026 */ beqz $t4, .Ljp7F049038 -/* 07DB10 7F048FA0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 -/* 07DB14 7F048FA4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07DB18 7F048FA8 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07DB1C 7F048FAC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07DB20 7F048FB0 460A3202 */ mul.s $f8, $f6, $f10 -/* 07DB24 7F048FB4 44815000 */ mtc1 $at, $f10 -/* 07DB28 7F048FB8 46144102 */ mul.s $f4, $f8, $f20 -/* 07DB2C 7F048FBC 00000000 */ nop -/* 07DB30 7F048FC0 46141182 */ mul.s $f6, $f2, $f20 -/* 07DB34 7F048FC4 00000000 */ nop -/* 07DB38 7F048FC8 460A3202 */ mul.s $f8, $f6, $f10 -/* 07DB3C 7F048FCC C626008C */ lwc1 $f6, 0x8c($s1) -/* 07DB40 7F048FD0 46082003 */ div.s $f0, $f4, $f8 -/* 07DB44 7F048FD4 46003280 */ add.s $f10, $f6, $f0 -/* 07DB48 7F048FD8 E62A008C */ swc1 $f10, 0x8c($s1) -/* 07DB4C 7F048FDC C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DB50 7F048FE0 460CA03E */ c.le.s $f20, $f12 -/* 07DB54 7F048FE4 00000000 */ nop -/* 07DB58 7F048FE8 45000008 */ bc1f .Ljp7F04900C -/* 07DB5C 7F048FEC 00000000 */ nop -/* 07DB60 7F048FF0 46146101 */ sub.s $f4, $f12, $f20 -.Ljp7F048FF4: -/* 07DB64 7F048FF4 E624008C */ swc1 $f4, 0x8c($s1) -/* 07DB68 7F048FF8 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DB6C 7F048FFC 460CA03E */ c.le.s $f20, $f12 -/* 07DB70 7F049000 00000000 */ nop -/* 07DB74 7F049004 4503FFFB */ bc1tl .Ljp7F048FF4 -/* 07DB78 7F049008 46146101 */ sub.s $f4, $f12, $f20 -.Ljp7F04900C: -/* 07DB7C 7F04900C 4616603C */ c.lt.s $f12, $f22 -/* 07DB80 7F049010 00000000 */ nop -/* 07DB84 7F049014 45020009 */ bc1fl .Ljp7F04903C -/* 07DB88 7F049018 C626008C */ lwc1 $f6, 0x8c($s1) -/* 07DB8C 7F04901C 46146200 */ add.s $f8, $f12, $f20 -.Ljp7F049020: -/* 07DB90 7F049020 E628008C */ swc1 $f8, 0x8c($s1) -/* 07DB94 7F049024 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DB98 7F049028 4616603C */ c.lt.s $f12, $f22 -/* 07DB9C 7F04902C 00000000 */ nop -/* 07DBA0 7F049030 4503FFFB */ bc1tl .Ljp7F049020 -/* 07DBA4 7F049034 46146200 */ add.s $f8, $f12, $f20 -.Ljp7F049038: -/* 07DBA8 7F049038 C626008C */ lwc1 $f6, 0x8c($s1) -.Ljp7F04903C: -/* 07DBAC 7F04903C 46003280 */ add.s $f10, $f6, $f0 -/* 07DBB0 7F049040 E62A008C */ swc1 $f10, 0x8c($s1) -/* 07DBB4 7F049044 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DBB8 7F049048 460CA03E */ c.le.s $f20, $f12 -/* 07DBBC 7F04904C 00000000 */ nop -/* 07DBC0 7F049050 45020009 */ bc1fl .Ljp7F049078 -/* 07DBC4 7F049054 4616603C */ c.lt.s $f12, $f22 -/* 07DBC8 7F049058 46146101 */ sub.s $f4, $f12, $f20 -.Ljp7F04905C: -/* 07DBCC 7F04905C E624008C */ swc1 $f4, 0x8c($s1) -/* 07DBD0 7F049060 C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DBD4 7F049064 460CA03E */ c.le.s $f20, $f12 -/* 07DBD8 7F049068 00000000 */ nop -/* 07DBDC 7F04906C 4503FFFB */ bc1tl .Ljp7F04905C -/* 07DBE0 7F049070 46146101 */ sub.s $f4, $f12, $f20 -/* 07DBE4 7F049074 4616603C */ c.lt.s $f12, $f22 -.Ljp7F049078: -/* 07DBE8 7F049078 00000000 */ nop -/* 07DBEC 7F04907C 45000008 */ bc1f .Ljp7F0490A0 -/* 07DBF0 7F049080 00000000 */ nop -/* 07DBF4 7F049084 46146200 */ add.s $f8, $f12, $f20 -.Ljp7F049088: -/* 07DBF8 7F049088 E628008C */ swc1 $f8, 0x8c($s1) -/* 07DBFC 7F04908C C62C008C */ lwc1 $f12, 0x8c($s1) -/* 07DC00 7F049090 4616603C */ c.lt.s $f12, $f22 -/* 07DC04 7F049094 00000000 */ nop -/* 07DC08 7F049098 4503FFFB */ bc1tl .Ljp7F049088 -/* 07DC0C 7F04909C 46146200 */ add.s $f8, $f12, $f20 -.Ljp7F0490A0: -/* 07DC10 7F0490A0 0FC162A4 */ jal sub_GAME_7F058570 -/* 07DC14 7F0490A4 27A502B0 */ addiu $a1, $sp, 0x2b0 -/* 07DC18 7F0490A8 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07DC1C 7F0490AC 4606B03C */ c.lt.s $f22, $f6 -/* 07DC20 7F0490B0 00000000 */ nop -/* 07DC24 7F0490B4 4502002B */ bc1fl .Ljp7F049164 -/* 07DC28 7F0490B8 C62C0090 */ lwc1 $f12, 0x90($s1) -/* 07DC2C 7F0490BC 8FAA0264 */ lw $t2, 0x264($sp) -/* 07DC30 7F0490C0 C60A0008 */ lwc1 $f10, 8($s0) -/* 07DC34 7F0490C4 C62C009C */ lwc1 $f12, 0x9c($s1) -/* 07DC38 7F0490C8 C5440008 */ lwc1 $f4, 8($t2) -/* 07DC3C 7F0490CC C6860014 */ lwc1 $f6, 0x14($s4) -/* 07DC40 7F0490D0 4616603C */ c.lt.s $f12, $f22 -/* 07DC44 7F0490D4 46045201 */ sub.s $f8, $f10, $f4 -/* 07DC48 7F0490D8 46064082 */ mul.s $f2, $f8, $f6 -/* 07DC4C 7F0490DC 45020003 */ bc1fl .Ljp7F0490EC -/* 07DC50 7F0490E0 E7A20254 */ swc1 $f2, 0x254($sp) -/* 07DC54 7F0490E4 46006307 */ neg.s $f12, $f12 -/* 07DC58 7F0490E8 E7A20254 */ swc1 $f2, 0x254($sp) -.Ljp7F0490EC: -/* 07DC5C 7F0490EC 0FC160F3 */ jal sinf -/* 07DC60 7F0490F0 E7AC0250 */ swc1 $f12, 0x250($sp) -/* 07DC64 7F0490F4 C7A20254 */ lwc1 $f2, 0x254($sp) -/* 07DC68 7F0490F8 C7AC0250 */ lwc1 $f12, 0x250($sp) -/* 07DC6C 7F0490FC 46020282 */ mul.s $f10, $f0, $f2 -/* 07DC70 7F049100 0FC160F0 */ jal cosf -/* 07DC74 7F049104 E7AA024C */ swc1 $f10, 0x24c($sp) -/* 07DC78 7F049108 C7A20254 */ lwc1 $f2, 0x254($sp) -/* 07DC7C 7F04910C C6280088 */ lwc1 $f8, 0x88($s1) -/* 07DC80 7F049110 C7AC024C */ lwc1 $f12, 0x24c($sp) -/* 07DC84 7F049114 46020102 */ mul.s $f4, $f0, $f2 -/* 07DC88 7F049118 46081181 */ sub.s $f6, $f2, $f8 -/* 07DC8C 7F04911C 0FC16BD4 */ jal convert_angle_using_inverse -/* 07DC90 7F049120 46062381 */ sub.s $f14, $f4, $f6 -/* 07DC94 7F049124 C7A20250 */ lwc1 $f2, 0x250($sp) -/* 07DC98 7F049128 E6200090 */ swc1 $f0, 0x90($s1) -/* 07DC9C 7F04912C 4602003C */ c.lt.s $f0, $f2 -/* 07DCA0 7F049130 00000000 */ nop -/* 07DCA4 7F049134 45020003 */ bc1fl .Ljp7F049144 -/* 07DCA8 7F049138 C62A009C */ lwc1 $f10, 0x9c($s1) -/* 07DCAC 7F04913C E6220090 */ swc1 $f2, 0x90($s1) -/* 07DCB0 7F049140 C62A009C */ lwc1 $f10, 0x9c($s1) -.Ljp7F049144: -/* 07DCB4 7F049144 460AB03C */ c.lt.s $f22, $f10 -/* 07DCB8 7F049148 00000000 */ nop -/* 07DCBC 7F04914C 45020005 */ bc1fl .Ljp7F049164 -/* 07DCC0 7F049150 C62C0090 */ lwc1 $f12, 0x90($s1) -/* 07DCC4 7F049154 C6280090 */ lwc1 $f8, 0x90($s1) -/* 07DCC8 7F049158 4608A101 */ sub.s $f4, $f20, $f8 -/* 07DCCC 7F04915C E6240090 */ swc1 $f4, 0x90($s1) -/* 07DCD0 7F049160 C62C0090 */ lwc1 $f12, 0x90($s1) -.Ljp7F049164: -/* 07DCD4 7F049164 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07DCD8 7F049168 27A50270 */ addiu $a1, $sp, 0x270 -/* 07DCDC 7F04916C 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07DCE0 7F049170 AFA50078 */ sw $a1, 0x78($sp) -/* 07DCE4 7F049174 0FC16150 */ jal sub_GAME_7F058020 -/* 07DCE8 7F049178 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 07DCEC 7F04917C 02002025 */ move $a0, $s0 -/* 07DCF0 7F049180 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DCF4 7F049184 8FA50078 */ lw $a1, 0x78($sp) -/* 07DCF8 7F049188 02402025 */ move $a0, $s2 -/* 07DCFC 7F04918C 0FC1616E */ jal sub_GAME_7F058098 -/* 07DD00 7F049190 8FA50078 */ lw $a1, 0x78($sp) -/* 07DD04 7F049194 26500100 */ addiu $s0, $s2, 0x100 -/* 07DD08 7F049198 02002825 */ move $a1, $s0 -/* 07DD0C 7F04919C 0FC16150 */ jal sub_GAME_7F058020 -/* 07DD10 7F0491A0 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 07DD14 7F0491A4 8FA40258 */ lw $a0, 0x258($sp) -/* 07DD18 7F0491A8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DD1C 7F0491AC 02002825 */ move $a1, $s0 -/* 07DD20 7F0491B0 02402025 */ move $a0, $s2 -/* 07DD24 7F0491B4 0FC1616E */ jal sub_GAME_7F058098 -/* 07DD28 7F0491B8 02002825 */ move $a1, $s0 -/* 07DD2C 7F0491BC 27A40270 */ addiu $a0, $sp, 0x270 -/* 07DD30 7F0491C0 0FC1616E */ jal sub_GAME_7F058098 -/* 07DD34 7F0491C4 27A502B0 */ addiu $a1, $sp, 0x2b0 -/* 07DD38 7F0491C8 26450040 */ addiu $a1, $s2, 0x40 -/* 07DD3C 7F0491CC AFA50070 */ sw $a1, 0x70($sp) -/* 07DD40 7F0491D0 0FC16150 */ jal sub_GAME_7F058020 -/* 07DD44 7F0491D4 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 07DD48 7F0491D8 8FA40264 */ lw $a0, 0x264($sp) -/* 07DD4C 7F0491DC 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DD50 7F0491E0 8FA50070 */ lw $a1, 0x70($sp) -/* 07DD54 7F0491E4 02402025 */ move $a0, $s2 -/* 07DD58 7F0491E8 0FC1616E */ jal sub_GAME_7F058098 -/* 07DD5C 7F0491EC 8FA50070 */ lw $a1, 0x70($sp) -/* 07DD60 7F0491F0 26450080 */ addiu $a1, $s2, 0x80 -/* 07DD64 7F0491F4 AFA5006C */ sw $a1, 0x6c($sp) -/* 07DD68 7F0491F8 0FC16150 */ jal sub_GAME_7F058020 -/* 07DD6C 7F0491FC 27A402B0 */ addiu $a0, $sp, 0x2b0 -/* 07DD70 7F049200 8FA40260 */ lw $a0, 0x260($sp) -/* 07DD74 7F049204 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DD78 7F049208 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DD7C 7F04920C 02402025 */ move $a0, $s2 -/* 07DD80 7F049210 0FC1616E */ jal sub_GAME_7F058098 -/* 07DD84 7F049214 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DD88 7F049218 100000EC */ b .Ljp7F0495CC -/* 07DD8C 7F04921C 8E8C0008 */ lw $t4, 8($s4) -/* 07DD90 7F049220 24010028 */ li $at, 40 -.Ljp7F049224: -/* 07DD94 7F049224 14410086 */ bne $v0, $at, .Ljp7F049440 -/* 07DD98 7F049228 00000000 */ nop -/* 07DD9C 7F04922C 8E8F0008 */ lw $t7, 8($s4) -/* 07DDA0 7F049230 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 -/* 07DDA4 7F049234 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) -/* 07DDA8 7F049238 8DED0008 */ lw $t5, 8($t7) -/* 07DDAC 7F04923C 8FA90680 */ lw $t1, 0x680($sp) -/* 07DDB0 7F049240 27B001B4 */ addiu $s0, $sp, 0x1b4 -/* 07DDB4 7F049244 8DB90008 */ lw $t9, 8($t5) -/* 07DDB8 7F049248 3C0C8003 */ lui $t4, %hi(D_80030B34) # $t4, 0x8003 -/* 07DDBC 7F04924C 02402025 */ move $a0, $s2 -/* 07DDC0 7F049250 8F280004 */ lw $t0, 4($t9) -/* 07DDC4 7F049254 26450040 */ addiu $a1, $s2, 0x40 -/* 07DDC8 7F049258 1B00001E */ blez $t8, .Ljp7F0492D4 -/* 07DDCC 7F04925C AFA80200 */ sw $t0, 0x200($sp) -/* 07DDD0 7F049260 5120001D */ beql $t1, $zero, .Ljp7F0492D8 -/* 07DDD4 7F049264 8E2B0014 */ lw $t3, 0x14($s1) -/* 07DDD8 7F049268 C6260088 */ lwc1 $f6, 0x88($s1) -/* 07DDDC 7F04926C C62A008C */ lwc1 $f10, 0x8c($s1) -/* 07DDE0 7F049270 460A3200 */ add.s $f8, $f6, $f10 -/* 07DDE4 7F049274 E6280088 */ swc1 $f8, 0x88($s1) -/* 07DDE8 7F049278 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07DDEC 7F04927C 4600A03E */ c.le.s $f20, $f0 -/* 07DDF0 7F049280 00000000 */ nop -/* 07DDF4 7F049284 45020009 */ bc1fl .Ljp7F0492AC -/* 07DDF8 7F049288 4616003C */ c.lt.s $f0, $f22 -/* 07DDFC 7F04928C 46140101 */ sub.s $f4, $f0, $f20 -.Ljp7F049290: -/* 07DE00 7F049290 E6240088 */ swc1 $f4, 0x88($s1) -/* 07DE04 7F049294 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07DE08 7F049298 4600A03E */ c.le.s $f20, $f0 -/* 07DE0C 7F04929C 00000000 */ nop -/* 07DE10 7F0492A0 4503FFFB */ bc1tl .Ljp7F049290 -/* 07DE14 7F0492A4 46140101 */ sub.s $f4, $f0, $f20 -/* 07DE18 7F0492A8 4616003C */ c.lt.s $f0, $f22 -.Ljp7F0492AC: -/* 07DE1C 7F0492AC 00000000 */ nop -/* 07DE20 7F0492B0 45020009 */ bc1fl .Ljp7F0492D8 -/* 07DE24 7F0492B4 8E2B0014 */ lw $t3, 0x14($s1) -/* 07DE28 7F0492B8 46140180 */ add.s $f6, $f0, $f20 -.Ljp7F0492BC: -/* 07DE2C 7F0492BC E6260088 */ swc1 $f6, 0x88($s1) -/* 07DE30 7F0492C0 C6200088 */ lwc1 $f0, 0x88($s1) -/* 07DE34 7F0492C4 4616003C */ c.lt.s $f0, $f22 -/* 07DE38 7F0492C8 00000000 */ nop -/* 07DE3C 7F0492CC 4503FFFB */ bc1tl .Ljp7F0492BC -/* 07DE40 7F0492D0 46140180 */ add.s $f6, $f0, $f20 -.Ljp7F0492D4: -/* 07DE44 7F0492D4 8E2B0014 */ lw $t3, 0x14($s1) -.Ljp7F0492D8: -/* 07DE48 7F0492D8 258C0B74 */ addiu $t4, %lo(D_80030B34) # addiu $t4, $t4, 0xb74 -/* 07DE4C 7F0492DC 258F003C */ addiu $t7, $t4, 0x3c -/* 07DE50 7F0492E0 8D6E0020 */ lw $t6, 0x20($t3) -/* 07DE54 7F0492E4 02006825 */ move $t5, $s0 -/* 07DE58 7F0492E8 11C00015 */ beqz $t6, .Ljp7F049340 -/* 07DE5C 7F0492EC 00000000 */ nop -.Ljp7F0492F0: -/* 07DE60 7F0492F0 8D810000 */ lw $at, ($t4) -/* 07DE64 7F0492F4 258C000C */ addiu $t4, $t4, 0xc -/* 07DE68 7F0492F8 25AD000C */ addiu $t5, $t5, 0xc -/* 07DE6C 7F0492FC ADA1FFF4 */ sw $at, -0xc($t5) -/* 07DE70 7F049300 8D81FFF8 */ lw $at, -8($t4) -/* 07DE74 7F049304 ADA1FFF8 */ sw $at, -8($t5) -/* 07DE78 7F049308 8D81FFFC */ lw $at, -4($t4) -/* 07DE7C 7F04930C 158FFFF8 */ bne $t4, $t7, .Ljp7F0492F0 -/* 07DE80 7F049310 ADA1FFFC */ sw $at, -4($t5) -/* 07DE84 7F049314 8D810000 */ lw $at, ($t4) -/* 07DE88 7F049318 0FC1E26D */ jal get_BONDdata_field_10CC -/* 07DE8C 7F04931C ADA10000 */ sw $at, ($t5) -/* 07DE90 7F049320 AFA201B4 */ sw $v0, 0x1b4($sp) -/* 07DE94 7F049324 AFB201C4 */ sw $s2, 0x1c4($sp) -/* 07DE98 7F049328 8E250014 */ lw $a1, 0x14($s1) -/* 07DE9C 7F04932C 0FC1BE3A */ jal subcalcmatrices -/* 07DEA0 7F049330 02002025 */ move $a0, $s0 -/* 07DEA4 7F049334 26590040 */ addiu $t9, $s2, 0x40 -/* 07DEA8 7F049338 10000003 */ b .Ljp7F049348 -/* 07DEAC 7F04933C AFB90070 */ sw $t9, 0x70($sp) -.Ljp7F049340: -/* 07DEB0 7F049340 0FC16150 */ jal sub_GAME_7F058020 -/* 07DEB4 7F049344 AFA50070 */ sw $a1, 0x70($sp) -.Ljp7F049348: -/* 07DEB8 7F049348 8E280008 */ lw $t0, 8($s1) -/* 07DEBC 7F04934C 27A50204 */ addiu $a1, $sp, 0x204 -/* 07DEC0 7F049350 0008C080 */ sll $t8, $t0, 2 -/* 07DEC4 7F049354 07010006 */ bgez $t8, .Ljp7F049370 -/* 07DEC8 7F049358 00000000 */ nop -/* 07DECC 7F04935C C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DED0 7F049360 0FC162EA */ jal sub_GAME_7F058688 -/* 07DED4 7F049364 27A50204 */ addiu $a1, $sp, 0x204 -/* 07DED8 7F049368 10000004 */ b .Ljp7F04937C -/* 07DEDC 7F04936C 26450080 */ addiu $a1, $s2, 0x80 -.Ljp7F049370: -/* 07DEE0 7F049370 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07DEE4 7F049374 C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DEE8 7F049378 26450080 */ addiu $a1, $s2, 0x80 -.Ljp7F04937C: -/* 07DEEC 7F04937C AFA5006C */ sw $a1, 0x6c($sp) -/* 07DEF0 7F049380 0FC16150 */ jal sub_GAME_7F058020 -/* 07DEF4 7F049384 27A40204 */ addiu $a0, $sp, 0x204 -/* 07DEF8 7F049388 8FA40200 */ lw $a0, 0x200($sp) -/* 07DEFC 7F04938C 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DF00 7F049390 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DF04 7F049394 8FA40070 */ lw $a0, 0x70($sp) -/* 07DF08 7F049398 0FC1616E */ jal sub_GAME_7F058098 -/* 07DF0C 7F04939C 8FA5006C */ lw $a1, 0x6c($sp) -/* 07DF10 7F0493A0 8E890008 */ lw $t1, 8($s4) -/* 07DF14 7F0493A4 02802025 */ move $a0, $s4 -/* 07DF18 7F0493A8 00003025 */ move $a2, $zero -/* 07DF1C 7F0493AC 8D230008 */ lw $v1, 8($t1) -/* 07DF20 7F0493B0 8C65000C */ lw $a1, 0xc($v1) -/* 07DF24 7F0493B4 50A00013 */ beql $a1, $zero, .Ljp7F049404 -/* 07DF28 7F0493B8 8C650010 */ lw $a1, 0x10($v1) -/* 07DF2C 7F0493BC 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07DF30 7F0493C0 8CB20004 */ lw $s2, 4($a1) -/* 07DF34 7F0493C4 00408025 */ move $s0, $v0 -/* 07DF38 7F0493C8 C62C0088 */ lwc1 $f12, 0x88($s1) -/* 07DF3C 7F0493CC 0FC162A4 */ jal sub_GAME_7F058570 -/* 07DF40 7F0493D0 27A50204 */ addiu $a1, $sp, 0x204 -/* 07DF44 7F0493D4 27A40204 */ addiu $a0, $sp, 0x204 -/* 07DF48 7F0493D8 0FC16150 */ jal sub_GAME_7F058020 -/* 07DF4C 7F0493DC 02002825 */ move $a1, $s0 -/* 07DF50 7F0493E0 02402025 */ move $a0, $s2 -/* 07DF54 7F0493E4 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07DF58 7F0493E8 02002825 */ move $a1, $s0 -/* 07DF5C 7F0493EC 8FA40070 */ lw $a0, 0x70($sp) -/* 07DF60 7F0493F0 0FC1616E */ jal sub_GAME_7F058098 -/* 07DF64 7F0493F4 02002825 */ move $a1, $s0 -/* 07DF68 7F0493F8 8E8B0008 */ lw $t3, 8($s4) -/* 07DF6C 7F0493FC 8D630008 */ lw $v1, 8($t3) -/* 07DF70 7F049400 8C650010 */ lw $a1, 0x10($v1) -.Ljp7F049404: -/* 07DF74 7F049404 02802025 */ move $a0, $s4 -/* 07DF78 7F049408 00003025 */ move $a2, $zero -/* 07DF7C 7F04940C 50A0006F */ beql $a1, $zero, .Ljp7F0495CC -/* 07DF80 7F049410 8E8C0008 */ lw $t4, 8($s4) -/* 07DF84 7F049414 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07DF88 7F049418 8CB20004 */ lw $s2, 4($a1) -/* 07DF8C 7F04941C 00408025 */ move $s0, $v0 -/* 07DF90 7F049420 02402025 */ move $a0, $s2 -/* 07DF94 7F049424 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07DF98 7F049428 00402825 */ move $a1, $v0 -/* 07DF9C 7F04942C 8FA40070 */ lw $a0, 0x70($sp) -/* 07DFA0 7F049430 0FC1616E */ jal sub_GAME_7F058098 -/* 07DFA4 7F049434 02002825 */ move $a1, $s0 -/* 07DFA8 7F049438 10000064 */ b .Ljp7F0495CC -/* 07DFAC 7F04943C 8E8C0008 */ lw $t4, 8($s4) -.Ljp7F049440: -/* 07DFB0 7F049440 16020061 */ bne $s0, $v0, .Ljp7F0495C8 -/* 07DFB4 7F049444 26450040 */ addiu $a1, $s2, 0x40 -/* 07DFB8 7F049448 8E8E0008 */ lw $t6, 8($s4) -/* 07DFBC 7F04944C 8DC30008 */ lw $v1, 8($t6) -/* 07DFC0 7F049450 8C6F000C */ lw $t7, 0xc($v1) -/* 07DFC4 7F049454 8C6A0004 */ lw $t2, 4($v1) -/* 07DFC8 7F049458 8DEC0004 */ lw $t4, 4($t7) -/* 07DFCC 7F04945C 8D500004 */ lw $s0, 4($t2) -/* 07DFD0 7F049460 AFAC0168 */ sw $t4, 0x168($sp) -/* 07DFD4 7F049464 8C6D0010 */ lw $t5, 0x10($v1) -/* 07DFD8 7F049468 8DB90004 */ lw $t9, 4($t5) -/* 07DFDC 7F04946C AFB90164 */ sw $t9, 0x164($sp) -/* 07DFE0 7F049470 8C680008 */ lw $t0, 8($v1) -/* 07DFE4 7F049474 8D180004 */ lw $t8, 4($t0) -/* 07DFE8 7F049478 AFB80160 */ sw $t8, 0x160($sp) -/* 07DFEC 7F04947C 8C690018 */ lw $t1, 0x18($v1) -/* 07DFF0 7F049480 8D2B0004 */ lw $t3, 4($t1) -/* 07DFF4 7F049484 AFAB015C */ sw $t3, 0x15c($sp) -/* 07DFF8 7F049488 C62E00C8 */ lwc1 $f14, 0xc8($s1) -/* 07DFFC 7F04948C 46007387 */ neg.s $f14, $f14 -/* 07E000 7F049490 4616703C */ c.lt.s $f14, $f22 -/* 07E004 7F049494 00000000 */ nop -/* 07E008 7F049498 45020003 */ bc1fl .Ljp7F0494A8 -/* 07E00C 7F04949C C62C00CC */ lwc1 $f12, 0xcc($s1) -/* 07E010 7F0494A0 46147380 */ add.s $f14, $f14, $f20 -/* 07E014 7F0494A4 C62C00CC */ lwc1 $f12, 0xcc($s1) -.Ljp7F0494A8: -/* 07E018 7F0494A8 46006307 */ neg.s $f12, $f12 -/* 07E01C 7F0494AC 4616603C */ c.lt.s $f12, $f22 -/* 07E020 7F0494B0 00000000 */ nop -/* 07E024 7F0494B4 45020003 */ bc1fl .Ljp7F0494C4 -/* 07E028 7F0494B8 AFA50070 */ sw $a1, 0x70($sp) -/* 07E02C 7F0494BC 46146300 */ add.s $f12, $f12, $f20 -/* 07E030 7F0494C0 AFA50070 */ sw $a1, 0x70($sp) -.Ljp7F0494C4: -/* 07E034 7F0494C4 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07E038 7F0494C8 E7AE0158 */ swc1 $f14, 0x158($sp) -/* 07E03C 7F0494CC 02002025 */ move $a0, $s0 -/* 07E040 7F0494D0 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07E044 7F0494D4 8FA50070 */ lw $a1, 0x70($sp) -/* 07E048 7F0494D8 02402025 */ move $a0, $s2 -/* 07E04C 7F0494DC 0FC1616E */ jal sub_GAME_7F058098 -/* 07E050 7F0494E0 8FA50070 */ lw $a1, 0x70($sp) -/* 07E054 7F0494E4 264500C0 */ addiu $a1, $s2, 0xc0 -/* 07E058 7F0494E8 C7AC0158 */ lwc1 $f12, 0x158($sp) -/* 07E05C 7F0494EC 0FC162A4 */ jal sub_GAME_7F058570 -/* 07E060 7F0494F0 AFA50078 */ sw $a1, 0x78($sp) -/* 07E064 7F0494F4 8FA40168 */ lw $a0, 0x168($sp) -/* 07E068 7F0494F8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07E06C 7F0494FC 8FA50078 */ lw $a1, 0x78($sp) -/* 07E070 7F049500 8FA40070 */ lw $a0, 0x70($sp) -/* 07E074 7F049504 0FC1616E */ jal sub_GAME_7F058098 -/* 07E078 7F049508 8FA50078 */ lw $a1, 0x78($sp) -/* 07E07C 7F04950C 3C018005 */ lui $at, %hi(D_80052B70) # $at, 0x8005 -/* 07E080 7F049510 26500100 */ addiu $s0, $s2, 0x100 -/* 07E084 7F049514 02002825 */ move $a1, $s0 -/* 07E088 7F049518 0FC162C7 */ jal sub_GAME_7F0585FC -/* 07E08C 7F04951C C42C2BA0 */ lwc1 $f12, %lo(D_80052B70)($at) -/* 07E090 7F049520 8FA40164 */ lw $a0, 0x164($sp) -/* 07E094 7F049524 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 07E098 7F049528 02002825 */ move $a1, $s0 -/* 07E09C 7F04952C 8FA40078 */ lw $a0, 0x78($sp) -/* 07E0A0 7F049530 0FC1616E */ jal sub_GAME_7F058098 -/* 07E0A4 7F049534 02002825 */ move $a1, $s0 -/* 07E0A8 7F049538 26450080 */ addiu $a1, $s2, 0x80 -/* 07E0AC 7F04953C AFA5006C */ sw $a1, 0x6c($sp) -/* 07E0B0 7F049540 0FC163A1 */ jal init_something_copy_posdata_to_it -/* 07E0B4 7F049544 8FA40160 */ lw $a0, 0x160($sp) -/* 07E0B8 7F049548 8FA40070 */ lw $a0, 0x70($sp) -/* 07E0BC 7F04954C 0FC1616E */ jal sub_GAME_7F058098 -/* 07E0C0 7F049550 8FA5006C */ lw $a1, 0x6c($sp) -/* 07E0C4 7F049554 0FC1E28D */ jal sub_GAME_7F078444 -/* 07E0C8 7F049558 00000000 */ nop -/* 07E0CC 7F04955C 27B00170 */ addiu $s0, $sp, 0x170 -/* 07E0D0 7F049560 02003025 */ move $a2, $s0 -/* 07E0D4 7F049564 00402025 */ move $a0, $v0 -/* 07E0D8 7F049568 0FC161AB */ jal sub_GAME_7F05818C -/* 07E0DC 7F04956C 8FA50070 */ lw $a1, 0x70($sp) -/* 07E0E0 7F049570 8FA4015C */ lw $a0, 0x15c($sp) -/* 07E0E4 7F049574 02002825 */ move $a1, $s0 -/* 07E0E8 7F049578 26260084 */ addiu $a2, $s1, 0x84 -/* 07E0EC 7F04957C 0FC0FE10 */ jal sub_GAME_7F03F540 -/* 07E0F0 7F049580 26270080 */ addiu $a3, $s1, 0x80 -/* 07E0F4 7F049584 8E8E0008 */ lw $t6, 8($s4) -/* 07E0F8 7F049588 8DC30008 */ lw $v1, 8($t6) -/* 07E0FC 7F04958C 8C65001C */ lw $a1, 0x1c($v1) -/* 07E100 7F049590 50A00008 */ beql $a1, $zero, .Ljp7F0495B4 -/* 07E104 7F049594 8C650020 */ lw $a1, 0x20($v1) -/* 07E108 7F049598 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 07E10C 7F04959C 02802025 */ move $a0, $s4 -/* 07E110 7F0495A0 8E2A00C4 */ lw $t2, 0xc4($s1) -/* 07E114 7F0495A4 A44A0000 */ sh $t2, ($v0) -/* 07E118 7F0495A8 8E8F0008 */ lw $t7, 8($s4) -/* 07E11C 7F0495AC 8DE30008 */ lw $v1, 8($t7) -/* 07E120 7F0495B0 8C650020 */ lw $a1, 0x20($v1) -.Ljp7F0495B4: -/* 07E124 7F0495B4 50A00005 */ beql $a1, $zero, .Ljp7F0495CC -/* 07E128 7F0495B8 8E8C0008 */ lw $t4, 8($s4) -/* 07E12C 7F0495BC 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 07E130 7F0495C0 02802025 */ move $a0, $s4 -/* 07E134 7F0495C4 AC400000 */ sw $zero, ($v0) -.Ljp7F0495C8: -/* 07E138 7F0495C8 8E8C0008 */ lw $t4, 8($s4) -.Ljp7F0495CC: -/* 07E13C 7F0495CC 02802025 */ move $a0, $s4 -/* 07E140 7F0495D0 0FC1BD25 */ jal sub_GAME_7F06EEA4 -/* 07E144 7F0495D4 8D850000 */ lw $a1, ($t4) -/* 07E148 7F0495D8 8E8D000C */ lw $t5, 0xc($s4) -/* 07E14C 7F0495DC 02602025 */ move $a0, $s3 -/* 07E150 7F0495E0 C5AA0038 */ lwc1 $f10, 0x38($t5) -/* 07E154 7F0495E4 46005207 */ neg.s $f8, $f10 -/* 07E158 7F0495E8 0FC1101D */ jal handle_thrown_explosive_detonation -/* 07E15C 7F0495EC E6680018 */ swc1 $f8, 0x18($s3) -/* 07E160 7F0495F0 8E640020 */ lw $a0, 0x20($s3) -/* 07E164 7F0495F4 50800018 */ beql $a0, $zero, .Ljp7F049658 -/* 07E168 7F0495F8 8E230064 */ lw $v1, 0x64($s1) -/* 07E16C 7F0495FC 8C820024 */ lw $v0, 0x24($a0) -.Ljp7F049600: -/* 07E170 7F049600 0FC11171 */ jal sub_GAME_7F0442DC -/* 07E174 7F049604 AFA2068C */ sw $v0, 0x68c($sp) -/* 07E178 7F049608 8FA4068C */ lw $a0, 0x68c($sp) -/* 07E17C 7F04960C 5480FFFC */ bnezl $a0, .Ljp7F049600 -/* 07E180 7F049610 8C820024 */ lw $v0, 0x24($a0) -/* 07E184 7F049614 10000010 */ b .Ljp7F049658 -/* 07E188 7F049618 8E230064 */ lw $v1, 0x64($s1) -.Ljp7F04961C: -/* 07E18C 7F04961C 92790001 */ lbu $t9, 1($s3) -/* 07E190 7F049620 02602025 */ move $a0, $s3 -/* 07E194 7F049624 3328FFFD */ andi $t0, $t9, 0xfffd -/* 07E198 7F049628 0FC1101D */ jal handle_thrown_explosive_detonation -/* 07E19C 7F04962C A2680001 */ sb $t0, 1($s3) -/* 07E1A0 7F049630 8E640020 */ lw $a0, 0x20($s3) -/* 07E1A4 7F049634 50800008 */ beql $a0, $zero, .Ljp7F049658 -/* 07E1A8 7F049638 8E230064 */ lw $v1, 0x64($s1) -/* 07E1AC 7F04963C 8C820024 */ lw $v0, 0x24($a0) -.Ljp7F049640: -/* 07E1B0 7F049640 0FC1114D */ jal sub_GAME_7F04424C -/* 07E1B4 7F049644 AFA2068C */ sw $v0, 0x68c($sp) -/* 07E1B8 7F049648 8FA4068C */ lw $a0, 0x68c($sp) -/* 07E1BC 7F04964C 5480FFFC */ bnezl $a0, .Ljp7F049640 -/* 07E1C0 7F049650 8C820024 */ lw $v0, 0x24($a0) -/* 07E1C4 7F049654 8E230064 */ lw $v1, 0x64($s1) -.Ljp7F049658: -/* 07E1C8 7F049658 2401FEFF */ li $at, -257 -/* 07E1CC 7F04965C 266B0008 */ addiu $t3, $s3, 8 -/* 07E1D0 7F049660 30780100 */ andi $t8, $v1, 0x100 -/* 07E1D4 7F049664 1300001F */ beqz $t8, .Ljp7F0496E4 -/* 07E1D8 7F049668 00614824 */ and $t1, $v1, $at -/* 07E1DC 7F04966C AE290064 */ sw $t1, 0x64($s1) -/* 07E1E0 7F049670 0C002918 */ jal get_random_value -/* 07E1E4 7F049674 AFAB0074 */ sw $t3, 0x74($sp) -/* 07E1E8 7F049678 44822000 */ mtc1 $v0, $f4 -/* 07E1EC 7F04967C 02202025 */ move $a0, $s1 -/* 07E1F0 7F049680 04410005 */ bgez $v0, .Ljp7F049698 -/* 07E1F4 7F049684 468021A0 */ cvt.s.w $f6, $f4 -/* 07E1F8 7F049688 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07E1FC 7F04968C 44815000 */ mtc1 $at, $f10 -/* 07E200 7F049690 00000000 */ nop -/* 07E204 7F049694 460A3180 */ add.s $f6, $f6, $f10 -.Ljp7F049698: -/* 07E208 7F049698 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07E20C 7F04969C 44814000 */ mtc1 $at, $f8 -/* 07E210 7F0496A0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 07E214 7F0496A4 44815000 */ mtc1 $at, $f10 -/* 07E218 7F0496A8 46083102 */ mul.s $f4, $f6, $f8 -/* 07E21C 7F0496AC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 07E220 7F0496B0 44814000 */ mtc1 $at, $f8 -/* 07E224 7F0496B4 8E2E0064 */ lw $t6, 0x64($s1) -/* 07E228 7F0496B8 3C010006 */ lui $at, 6 -/* 07E22C 7F0496BC 8FA60074 */ lw $a2, 0x74($sp) -/* 07E230 7F0496C0 01C15024 */ and $t2, $t6, $at -/* 07E234 7F0496C4 460A2182 */ mul.s $f6, $f4, $f10 -/* 07E238 7F0496C8 00003825 */ move $a3, $zero -/* 07E23C 7F0496CC 000A7C42 */ srl $t7, $t2, 0x11 -/* 07E240 7F0496D0 AFAF0010 */ sw $t7, 0x10($sp) -/* 07E244 7F0496D4 46083100 */ add.s $f4, $f6, $f8 -/* 07E248 7F0496D8 44052000 */ mfc1 $a1, $f4 -/* 07E24C 7F0496DC 0FC13943 */ jal maybe_detonate_object -/* 07E250 7F0496E0 00000000 */ nop -.Ljp7F0496E4: -/* 07E254 7F0496E4 8FAC0680 */ lw $t4, 0x680($sp) -/* 07E258 7F0496E8 5180020D */ beql $t4, $zero, .Ljp7F049F20 -/* 07E25C 7F0496EC 8FAD0688 */ lw $t5, 0x688($sp) -/* 07E260 7F0496F0 92220003 */ lbu $v0, 3($s1) -/* 07E264 7F0496F4 24010001 */ li $at, 1 -/* 07E268 7F0496F8 54410006 */ bnel $v0, $at, .Ljp7F049714 -/* 07E26C 7F0496FC 2401000D */ li $at, 13 -/* 07E270 7F049700 0FC14FCE */ jal sub_GAME_7F053A3C -/* 07E274 7F049704 8E640004 */ lw $a0, 4($s3) -/* 07E278 7F049708 10000202 */ b .Ljp7F049F14 -/* 07E27C 7F04970C 00000000 */ nop -/* 07E280 7F049710 2401000D */ li $at, 13 -.Ljp7F049714: -/* 07E284 7F049714 144101FF */ bne $v0, $at, .Ljp7F049F14 -/* 07E288 7F049718 00000000 */ nop -/* 07E28C 7F04971C 0FC3021B */ jal get_controls_locked_flag -/* 07E290 7F049720 00000000 */ nop -/* 07E294 7F049724 144001FB */ bnez $v0, .Ljp7F049F14 -/* 07E298 7F049728 00000000 */ nop -/* 07E29C 7F04972C 8E700004 */ lw $s0, 4($s3) -/* 07E2A0 7F049730 AFA00140 */ sw $zero, 0x140($sp) -/* 07E2A4 7F049734 AFA0013C */ sw $zero, 0x13c($sp) -/* 07E2A8 7F049738 8E0D00D0 */ lw $t5, 0xd0($s0) -/* 07E2AC 7F04973C 51A001E4 */ beql $t5, $zero, .Ljp7F049ED0 -/* 07E2B0 7F049740 8E8E0008 */ lw $t6, 8($s4) -/* 07E2B4 7F049744 8E390008 */ lw $t9, 8($s1) -/* 07E2B8 7F049748 001940C0 */ sll $t0, $t9, 3 -/* 07E2BC 7F04974C 050201E0 */ bltzl $t0, .Ljp7F049ED0 -/* 07E2C0 7F049750 8E8E0008 */ lw $t6, 8($s4) -/* 07E2C4 7F049754 8E1800AC */ lw $t8, 0xac($s0) -/* 07E2C8 7F049758 3C088005 */ lui $t0, %hi(global_timer) # $t0, 0x8005 -/* 07E2CC 7F04975C 27090001 */ addiu $t1, $t8, 1 -/* 07E2D0 7F049760 312B0001 */ andi $t3, $t1, 1 -/* 07E2D4 7F049764 AE0900AC */ sw $t1, 0xac($s0) -/* 07E2D8 7F049768 2D6E0001 */ sltiu $t6, $t3, 1 -/* 07E2DC 7F04976C AFAE0140 */ sw $t6, 0x140($sp) -/* 07E2E0 7F049770 8E8A0008 */ lw $t2, 8($s4) -/* 07E2E4 7F049774 396D0001 */ xori $t5, $t3, 1 -/* 07E2E8 7F049778 2DAD0001 */ sltiu $t5, $t5, 1 -/* 07E2EC 7F04977C 8D4F0008 */ lw $t7, 8($t2) -/* 07E2F0 7F049780 8DEC0014 */ lw $t4, 0x14($t7) -/* 07E2F4 7F049784 51800003 */ beql $t4, $zero, .Ljp7F049794 -/* 07E2F8 7F049788 8E1900C0 */ lw $t9, 0xc0($s0) -/* 07E2FC 7F04978C AFAD013C */ sw $t5, 0x13c($sp) -/* 07E300 7F049790 8E1900C0 */ lw $t9, 0xc0($s0) -.Ljp7F049794: -/* 07E304 7F049794 8D0883AC */ lw $t0, %lo(global_timer)($t0) -/* 07E308 7F049798 0328082A */ slt $at, $t9, $t0 -/* 07E30C 7F04979C 50200032 */ beql $at, $zero, .Ljp7F049868 -/* 07E310 7F0497A0 8FAC0140 */ lw $t4, 0x140($sp) -/* 07E314 7F0497A4 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07E318 7F0497A8 50800008 */ beql $a0, $zero, .Ljp7F0497CC -/* 07E31C 7F0497AC 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07E320 7F0497B0 0C002380 */ jal sfxGetArg0Unk3F -/* 07E324 7F0497B4 00000000 */ nop -/* 07E328 7F0497B8 50400004 */ beql $v0, $zero, .Ljp7F0497CC -/* 07E32C 7F0497BC 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07E330 7F0497C0 0C00240C */ jal sfxDeactivate -/* 07E334 7F0497C4 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07E338 7F0497C8 8E0400C8 */ lw $a0, 0xc8($s0) -.Ljp7F0497CC: -/* 07E33C 7F0497CC 50800008 */ beql $a0, $zero, .Ljp7F0497F0 -/* 07E340 7F0497D0 8E1800C4 */ lw $t8, 0xc4($s0) -/* 07E344 7F0497D4 0C002380 */ jal sfxGetArg0Unk3F -/* 07E348 7F0497D8 00000000 */ nop -/* 07E34C 7F0497DC 50400004 */ beql $v0, $zero, .Ljp7F0497F0 -/* 07E350 7F0497E0 8E1800C4 */ lw $t8, 0xc4($s0) -/* 07E354 7F0497E4 0C00240C */ jal sfxDeactivate -/* 07E358 7F0497E8 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07E35C 7F0497EC 8E1800C4 */ lw $t8, 0xc4($s0) -.Ljp7F0497F0: -/* 07E360 7F0497F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07E364 7F0497F4 240500FD */ li $a1, 253 -/* 07E368 7F0497F8 1700000A */ bnez $t8, .Ljp7F049824 -/* 07E36C 7F0497FC 260600C4 */ addiu $a2, $s0, 0xc4 -/* 07E370 7F049800 26690008 */ addiu $t1, $s3, 8 -/* 07E374 7F049804 AFA90074 */ sw $t1, 0x74($sp) -/* 07E378 7F049808 0C002386 */ jal play_sfx_a1 -/* 07E37C 7F04980C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07E380 7F049810 8E0400C4 */ lw $a0, 0xc4($s0) -/* 07E384 7F049814 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07E388 7F049818 8FA50074 */ lw $a1, 0x74($sp) -/* 07E38C 7F04981C 1000000D */ b .Ljp7F049854 -/* 07E390 7F049820 00000000 */ nop -.Ljp7F049824: -/* 07E394 7F049824 8E0B00C8 */ lw $t3, 0xc8($s0) -/* 07E398 7F049828 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 -/* 07E39C 7F04982C 240500FD */ li $a1, 253 -/* 07E3A0 7F049830 15600008 */ bnez $t3, .Ljp7F049854 -/* 07E3A4 7F049834 260600C8 */ addiu $a2, $s0, 0xc8 -/* 07E3A8 7F049838 266E0008 */ addiu $t6, $s3, 8 -/* 07E3AC 7F04983C AFAE0074 */ sw $t6, 0x74($sp) -/* 07E3B0 7F049840 0C002386 */ jal play_sfx_a1 -/* 07E3B4 7F049844 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 07E3B8 7F049848 8E0400C8 */ lw $a0, 0xc8($s0) -/* 07E3BC 7F04984C 0FC14FC3 */ jal sub_GAME_7F053A10 -/* 07E3C0 7F049850 8FA50074 */ lw $a1, 0x74($sp) -.Ljp7F049854: -/* 07E3C4 7F049854 3C0A8005 */ lui $t2, %hi(global_timer) # $t2, 0x8005 -/* 07E3C8 7F049858 8D4A83AC */ lw $t2, %lo(global_timer)($t2) -/* 07E3CC 7F04985C 254F0002 */ addiu $t7, $t2, 2 -/* 07E3D0 7F049860 AE0F00C0 */ sw $t7, 0xc0($s0) -/* 07E3D4 7F049864 8FAC0140 */ lw $t4, 0x140($sp) -.Ljp7F049868: -/* 07E3D8 7F049868 8FAD013C */ lw $t5, 0x13c($sp) -/* 07E3DC 7F04986C 24190001 */ li $t9, 1 -/* 07E3E0 7F049870 55800004 */ bnezl $t4, .Ljp7F049884 -/* 07E3E4 7F049874 AFB90120 */ sw $t9, 0x120($sp) -/* 07E3E8 7F049878 51A00195 */ beql $t5, $zero, .Ljp7F049ED0 -/* 07E3EC 7F04987C 8E8E0008 */ lw $t6, 8($s4) -/* 07E3F0 7F049880 AFB90120 */ sw $t9, 0x120($sp) -.Ljp7F049884: -/* 07E3F4 7F049884 AFA00110 */ sw $zero, 0x110($sp) -/* 07E3F8 7F049888 8E680014 */ lw $t0, 0x14($s3) -/* 07E3FC 7F04988C AFA8010C */ sw $t0, 0x10c($sp) -/* 07E400 7F049890 8E1800AC */ lw $t8, 0xac($s0) -/* 07E404 7F049894 33090003 */ andi $t1, $t8, 3 -/* 07E408 7F049898 2D2B0001 */ sltiu $t3, $t1, 1 -/* 07E40C 7F04989C 0FC2279B */ jal get_curplayer_positiondata -/* 07E410 7F0498A0 AFAB0108 */ sw $t3, 0x108($sp) -/* 07E414 7F0498A4 AFA20104 */ sw $v0, 0x104($sp) -/* 07E418 7F0498A8 8E8E0008 */ lw $t6, 8($s4) -/* 07E41C 7F0498AC 24040005 */ li $a0, 5 -/* 07E420 7F0498B0 8DC30008 */ lw $v1, 8($t6) -/* 07E424 7F0498B4 8C6A001C */ lw $t2, 0x1c($v1) -/* 07E428 7F0498B8 51400007 */ beql $t2, $zero, .Ljp7F0498D8 -/* 07E42C 7F0498BC 926D0001 */ lbu $t5, 1($s3) -/* 07E430 7F0498C0 8E0F00AC */ lw $t7, 0xac($s0) -/* 07E434 7F0498C4 31EC0007 */ andi $t4, $t7, 7 -/* 07E438 7F0498C8 55800003 */ bnezl $t4, .Ljp7F0498D8 -/* 07E43C 7F0498CC 926D0001 */ lbu $t5, 1($s3) -/* 07E440 7F0498D0 24040007 */ li $a0, 7 -/* 07E444 7F0498D4 926D0001 */ lbu $t5, 1($s3) -.Ljp7F0498D8: -/* 07E448 7F0498D8 31B90002 */ andi $t9, $t5, 2 -/* 07E44C 7F0498DC 1320002D */ beqz $t9, .Ljp7F049994 -/* 07E450 7F0498E0 00048880 */ sll $s1, $a0, 2 -/* 07E454 7F0498E4 00714021 */ addu $t0, $v1, $s1 -/* 07E458 7F0498E8 8D050000 */ lw $a1, ($t0) -/* 07E45C 7F0498EC 02802025 */ move $a0, $s4 -/* 07E460 7F0498F0 50A00029 */ beql $a1, $zero, .Ljp7F049998 -/* 07E464 7F0498F4 C6640008 */ lwc1 $f4, 8($s3) -/* 07E468 7F0498F8 0FC1B314 */ jal sub_GAME_7F06C660 -/* 07E46C 7F0498FC 00003025 */ move $a2, $zero -/* 07E470 7F049900 8E980008 */ lw $t8, 8($s4) -/* 07E474 7F049904 00409025 */ move $s2, $v0 -/* 07E478 7F049908 8F090008 */ lw $t1, 8($t8) -/* 07E47C 7F04990C 01315821 */ addu $t3, $t1, $s1 -/* 07E480 7F049910 8D6E0000 */ lw $t6, ($t3) -/* 07E484 7F049914 8DC30004 */ lw $v1, 4($t6) -/* 07E488 7F049918 C46A0000 */ lwc1 $f10, ($v1) -/* 07E48C 7F04991C E7AA0130 */ swc1 $f10, 0x130($sp) -/* 07E490 7F049920 C4660004 */ lwc1 $f6, 4($v1) -/* 07E494 7F049924 E7A60134 */ swc1 $f6, 0x134($sp) -/* 07E498 7F049928 C4680008 */ lwc1 $f8, 8($v1) -/* 07E49C 7F04992C 0FC1E28D */ jal sub_GAME_7F078444 -/* 07E4A0 7F049930 E7A80138 */ swc1 $f8, 0x138($sp) -/* 07E4A4 7F049934 27B100BC */ addiu $s1, $sp, 0xbc -/* 07E4A8 7F049938 02203025 */ move $a2, $s1 -/* 07E4AC 7F04993C 00402025 */ move $a0, $v0 -/* 07E4B0 7F049940 0FC161AB */ jal sub_GAME_7F05818C -/* 07E4B4 7F049944 02402825 */ move $a1, $s2 -/* 07E4B8 7F049948 02202025 */ move $a0, $s1 -/* 07E4BC 7F04994C 0FC16265 */ jal sub_GAME_7F058474 -/* 07E4C0 7F049950 27A50130 */ addiu $a1, $sp, 0x130 -/* 07E4C4 7F049954 C7A40138 */ lwc1 $f4, 0x138($sp) -/* 07E4C8 7F049958 8E650008 */ lw $a1, 8($s3) -/* 07E4CC 7F04995C 8E660010 */ lw $a2, 0x10($s3) -/* 07E4D0 7F049960 27A4010C */ addiu $a0, $sp, 0x10c -/* 07E4D4 7F049964 8FA70130 */ lw $a3, 0x130($sp) -/* 07E4D8 7F049968 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 -/* 07E4DC 7F04996C E7A40010 */ swc1 $f4, 0x10($sp) -/* 07E4E0 7F049970 1440000E */ bnez $v0, .Ljp7F0499AC -/* 07E4E4 7F049974 00000000 */ nop -/* 07E4E8 7F049978 C66A0008 */ lwc1 $f10, 8($s3) -/* 07E4EC 7F04997C E7AA0130 */ swc1 $f10, 0x130($sp) -/* 07E4F0 7F049980 C666000C */ lwc1 $f6, 0xc($s3) -/* 07E4F4 7F049984 E7A60134 */ swc1 $f6, 0x134($sp) -/* 07E4F8 7F049988 C6680010 */ lwc1 $f8, 0x10($s3) -/* 07E4FC 7F04998C 10000007 */ b .Ljp7F0499AC -/* 07E500 7F049990 E7A80138 */ swc1 $f8, 0x138($sp) -.Ljp7F049994: -/* 07E504 7F049994 C6640008 */ lwc1 $f4, 8($s3) -.Ljp7F049998: -/* 07E508 7F049998 E7A40130 */ swc1 $f4, 0x130($sp) -/* 07E50C 7F04999C C66A000C */ lwc1 $f10, 0xc($s3) -/* 07E510 7F0499A0 E7AA0134 */ swc1 $f10, 0x134($sp) -/* 07E514 7F0499A4 C6660010 */ lwc1 $f6, 0x10($s3) -/* 07E518 7F0499A8 E7A60138 */ swc1 $f6, 0x138($sp) -.Ljp7F0499AC: -/* 07E51C 7F0499AC 0FC160F0 */ jal cosf -/* 07E520 7F0499B0 C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E524 7F0499B4 C60C0090 */ lwc1 $f12, 0x90($s0) -/* 07E528 7F0499B8 0FC160F3 */ jal sinf -/* 07E52C 7F0499BC E7A00080 */ swc1 $f0, 0x80($sp) -/* 07E530 7F0499C0 C7A20080 */ lwc1 $f2, 0x80($sp) -/* 07E534 7F0499C4 46020202 */ mul.s $f8, $f0, $f2 -/* 07E538 7F0499C8 E7A80124 */ swc1 $f8, 0x124($sp) -/* 07E53C 7F0499CC 0FC160F3 */ jal sinf -/* 07E540 7F0499D0 C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E544 7F0499D4 E7A00128 */ swc1 $f0, 0x128($sp) -/* 07E548 7F0499D8 0FC160F0 */ jal cosf -/* 07E54C 7F0499DC C60C009C */ lwc1 $f12, 0x9c($s0) -/* 07E550 7F0499E0 C60C0090 */ lwc1 $f12, 0x90($s0) -/* 07E554 7F0499E4 0FC160F0 */ jal cosf -/* 07E558 7F0499E8 E7A00080 */ swc1 $f0, 0x80($sp) -/* 07E55C 7F0499EC C7A20080 */ lwc1 $f2, 0x80($sp) -/* 07E560 7F0499F0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07E564 7F0499F4 44816000 */ mtc1 $at, $f12 -/* 07E568 7F0499F8 46020382 */ mul.s $f14, $f0, $f2 -/* 07E56C 7F0499FC C7A40124 */ lwc1 $f4, 0x124($sp) -/* 07E570 7F049A00 C7A60130 */ lwc1 $f6, 0x130($sp) -/* 07E574 7F049A04 460C2282 */ mul.s $f10, $f4, $f12 -/* 07E578 7F049A08 C7A40128 */ lwc1 $f4, 0x128($sp) -/* 07E57C 7F049A0C E7AE012C */ swc1 $f14, 0x12c($sp) -/* 07E580 7F049A10 46065200 */ add.s $f8, $f10, $f6 -/* 07E584 7F049A14 460C2282 */ mul.s $f10, $f4, $f12 -/* 07E588 7F049A18 C7A60134 */ lwc1 $f6, 0x134($sp) -/* 07E58C 7F049A1C 460C7102 */ mul.s $f4, $f14, $f12 -/* 07E590 7F049A20 E7A80114 */ swc1 $f8, 0x114($sp) -/* 07E594 7F049A24 46065200 */ add.s $f8, $f10, $f6 -/* 07E598 7F049A28 C7AA0138 */ lwc1 $f10, 0x138($sp) -/* 07E59C 7F049A2C 460A2180 */ add.s $f6, $f4, $f10 -/* 07E5A0 7F049A30 E7A80118 */ swc1 $f8, 0x118($sp) -/* 07E5A4 7F049A34 0FC2CA1D */ jal sub_GAME_7F0B1CC4 -/* 07E5A8 7F049A38 E7A6011C */ swc1 $f6, 0x11c($sp) -/* 07E5AC 7F049A3C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 07E5B0 7F049A40 44810000 */ mtc1 $at, $f0 -/* 07E5B4 7F049A44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E5B8 7F049A48 44812000 */ mtc1 $at, $f4 -/* 07E5BC 7F049A4C C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 07E5C0 7F049A50 240A0002 */ li $t2, 2 -/* 07E5C4 7F049A54 AFAA0014 */ sw $t2, 0x14($sp) -/* 07E5C8 7F049A58 27A4010C */ addiu $a0, $sp, 0x10c -/* 07E5CC 7F049A5C 8FA50130 */ lw $a1, 0x130($sp) -/* 07E5D0 7F049A60 8FA60138 */ lw $a2, 0x138($sp) -/* 07E5D4 7F049A64 8FA70114 */ lw $a3, 0x114($sp) -/* 07E5D8 7F049A68 E7B60020 */ swc1 $f22, 0x20($sp) -/* 07E5DC 7F049A6C E7A00018 */ swc1 $f0, 0x18($sp) -/* 07E5E0 7F049A70 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 07E5E4 7F049A74 E7A80010 */ swc1 $f8, 0x10($sp) -/* 07E5E8 7F049A78 0FC2C675 */ jal sub_GAME_7F0B0E24 -/* 07E5EC 7F049A7C E7A40024 */ swc1 $f4, 0x24($sp) -/* 07E5F0 7F049A80 14400017 */ bnez $v0, .Ljp7F049AE0 -/* 07E5F4 7F049A84 27A60114 */ addiu $a2, $sp, 0x114 -/* 07E5F8 7F049A88 27A40130 */ addiu $a0, $sp, 0x130 -/* 07E5FC 7F049A8C 0FC09955 */ jal sub_GAME_7F02624C -/* 07E600 7F049A90 27A50124 */ addiu $a1, $sp, 0x124 -/* 07E604 7F049A94 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 07E608 7F049A98 44818000 */ mtc1 $at, $f16 -/* 07E60C 7F049A9C C7A60124 */ lwc1 $f6, 0x124($sp) -/* 07E610 7F049AA0 C7AA0114 */ lwc1 $f10, 0x114($sp) -/* 07E614 7F049AA4 C7AE012C */ lwc1 $f14, 0x12c($sp) -/* 07E618 7F049AA8 46068202 */ mul.s $f8, $f16, $f6 -/* 07E61C 7F049AAC C7A60118 */ lwc1 $f6, 0x118($sp) -/* 07E620 7F049AB0 8FAF010C */ lw $t7, 0x10c($sp) -/* 07E624 7F049AB4 AFAF0110 */ sw $t7, 0x110($sp) -/* 07E628 7F049AB8 46085101 */ sub.s $f4, $f10, $f8 -/* 07E62C 7F049ABC C7AA0128 */ lwc1 $f10, 0x128($sp) -/* 07E630 7F049AC0 460A8202 */ mul.s $f8, $f16, $f10 -/* 07E634 7F049AC4 E7A40114 */ swc1 $f4, 0x114($sp) -/* 07E638 7F049AC8 C7AA011C */ lwc1 $f10, 0x11c($sp) -/* 07E63C 7F049ACC 46083101 */ sub.s $f4, $f6, $f8 -/* 07E640 7F049AD0 460E8182 */ mul.s $f6, $f16, $f14 -/* 07E644 7F049AD4 E7A40118 */ swc1 $f4, 0x118($sp) -/* 07E648 7F049AD8 46065201 */ sub.s $f8, $f10, $f6 -/* 07E64C 7F049ADC E7A8011C */ swc1 $f8, 0x11c($sp) -.Ljp7F049AE0: -/* 07E650 7F049AE0 3C0C8005 */ lui $t4, %hi(global_timer) # $t4, 0x8005 -/* 07E654 7F049AE4 8D8C83AC */ lw $t4, %lo(global_timer)($t4) -/* 07E658 7F049AE8 8E0D00BC */ lw $t5, 0xbc($s0) -/* 07E65C 7F049AEC 27B10114 */ addiu $s1, $sp, 0x114 -/* 07E660 7F049AF0 8FA50104 */ lw $a1, 0x104($sp) -/* 07E664 7F049AF4 158D0052 */ bne $t4, $t5, .Ljp7F049C40 -/* 07E668 7F049AF8 C7AA0130 */ lwc1 $f10, 0x130($sp) -/* 07E66C 7F049AFC C4A40008 */ lwc1 $f4, 8($a1) -/* 07E670 7F049B00 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 07E674 7F049B04 C7A80134 */ lwc1 $f8, 0x134($sp) -/* 07E678 7F049B08 460A2001 */ sub.s $f0, $f4, $f10 -/* 07E67C 7F049B0C C4A40010 */ lwc1 $f4, 0x10($a1) -/* 07E680 7F049B10 E7AA0058 */ swc1 $f10, 0x58($sp) -/* 07E684 7F049B14 46083081 */ sub.s $f2, $f6, $f8 -/* 07E688 7F049B18 C7A60138 */ lwc1 $f6, 0x138($sp) -/* 07E68C 7F049B1C 46062301 */ sub.s $f12, $f4, $f6 -/* 07E690 7F049B20 46000102 */ mul.s $f4, $f0, $f0 -/* 07E694 7F049B24 00000000 */ nop -/* 07E698 7F049B28 46021282 */ mul.s $f10, $f2, $f2 -/* 07E69C 7F049B2C 460A2100 */ add.s $f4, $f4, $f10 -/* 07E6A0 7F049B30 460C6282 */ mul.s $f10, $f12, $f12 -/* 07E6A4 7F049B34 460A2500 */ add.s $f20, $f4, $f10 -/* 07E6A8 7F049B38 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 07E6AC 7F049B3C C7A40114 */ lwc1 $f4, 0x114($sp) -/* 07E6B0 7F049B40 460A2001 */ sub.s $f0, $f4, $f10 -/* 07E6B4 7F049B44 C7A40118 */ lwc1 $f4, 0x118($sp) -/* 07E6B8 7F049B48 C7AA011C */ lwc1 $f10, 0x11c($sp) -/* 07E6BC 7F049B4C 46082081 */ sub.s $f2, $f4, $f8 -/* 07E6C0 7F049B50 46000102 */ mul.s $f4, $f0, $f0 -/* 07E6C4 7F049B54 46065301 */ sub.s $f12, $f10, $f6 -/* 07E6C8 7F049B58 46021202 */ mul.s $f8, $f2, $f2 -/* 07E6CC 7F049B5C 46082280 */ add.s $f10, $f4, $f8 -/* 07E6D0 7F049B60 460C6182 */ mul.s $f6, $f12, $f12 -/* 07E6D4 7F049B64 46065100 */ add.s $f4, $f10, $f6 -/* 07E6D8 7F049B68 4604A03E */ c.le.s $f20, $f4 -/* 07E6DC 7F049B6C 00000000 */ nop -/* 07E6E0 7F049B70 45000033 */ bc1f .Ljp7F049C40 -/* 07E6E4 7F049B74 00000000 */ nop -/* 07E6E8 7F049B78 0FC2296B */ jal check_if_bond_is_invincible -/* 07E6EC 7F049B7C 00000000 */ nop -/* 07E6F0 7F049B80 54400030 */ bnezl $v0, .Ljp7F049C44 -/* 07E6F4 7F049B84 8FB90120 */ lw $t9, 0x120($sp) -/* 07E6F8 7F049B88 0C007E08 */ jal sqrtf -/* 07E6FC 7F049B8C 4600A306 */ mov.s $f12, $f20 -/* 07E700 7F049B90 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 07E704 7F049B94 44816000 */ mtc1 $at, $f12 -/* 07E708 7F049B98 3C018005 */ lui $at, %hi(D_80052B74) # $at, 0x8005 -/* 07E70C 7F049B9C C4282BA4 */ lwc1 $f8, %lo(D_80052B74)($at) -/* 07E710 7F049BA0 3C018005 */ lui $at, %hi(D_jpunk) # $at, 0x8005 -/* 07E714 7F049BA4 C42A83A8 */ lwc1 $f10, %lo(D_jpunk)($at) -/* 07E718 7F049BA8 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 -/* 07E71C 7F049BAC 4600603C */ c.lt.s $f12, $f0 -/* 07E720 7F049BB0 460A4182 */ mul.s $f6, $f8, $f10 -/* 07E724 7F049BB4 C4240B5C */ lwc1 $f4, %lo(D_80030B1C)($at) -/* 07E728 7F049BB8 46043082 */ mul.s $f2, $f6, $f4 -/* 07E72C 7F049BBC 45020005 */ bc1fl .Ljp7F049BD4 -/* 07E730 7F049BC0 C60A00D4 */ lwc1 $f10, 0xd4($s0) -/* 07E734 7F049BC4 46006203 */ div.s $f8, $f12, $f0 -/* 07E738 7F049BC8 46081082 */ mul.s $f2, $f2, $f8 -/* 07E73C 7F049BCC 00000000 */ nop -/* 07E740 7F049BD0 C60A00D4 */ lwc1 $f10, 0xd4($s0) -.Ljp7F049BD4: -/* 07E744 7F049BD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E748 7F049BD8 44814000 */ mtc1 $at, $f8 -/* 07E74C 7F049BDC 46025180 */ add.s $f6, $f10, $f2 -/* 07E750 7F049BE0 E60600D4 */ swc1 $f6, 0xd4($s0) -/* 07E754 7F049BE4 C60400D4 */ lwc1 $f4, 0xd4($s0) -/* 07E758 7F049BE8 4604403E */ c.le.s $f8, $f4 -/* 07E75C 7F049BEC 00000000 */ nop -/* 07E760 7F049BF0 45020014 */ bc1fl .Ljp7F049C44 -/* 07E764 7F049BF4 8FB90120 */ lw $t9, 0x120($sp) -/* 07E768 7F049BF8 0FC17929 */ jal sub_GAME_7F05DF84 -/* 07E76C 7F049BFC 2404000E */ li $a0, 14 -/* 07E770 7F049C00 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 07E774 7F049C04 44815000 */ mtc1 $at, $f10 -/* 07E778 7F049C08 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 -/* 07E77C 7F049C0C C4240B60 */ lwc1 $f4, %lo(D_80030B20)($at) -/* 07E780 7F049C10 460A0182 */ mul.s $f6, $f0, $f10 -/* 07E784 7F049C14 C60E0090 */ lwc1 $f14, 0x90($s0) -/* 07E788 7F049C18 2406FFFF */ li $a2, -1 -/* 07E78C 7F049C1C 24070001 */ li $a3, 1 -/* 07E790 7F049C20 46043302 */ mul.s $f12, $f6, $f4 -/* 07E794 7F049C24 0FC22955 */ jal sub_GAME_7F089E4C -/* 07E798 7F049C28 00000000 */ nop -/* 07E79C 7F049C2C 0FC2296B */ jal check_if_bond_is_invincible -/* 07E7A0 7F049C30 E61600D4 */ swc1 $f22, 0xd4($s0) -/* 07E7A4 7F049C34 50400003 */ beql $v0, $zero, .Ljp7F049C44 -/* 07E7A8 7F049C38 8FB90120 */ lw $t9, 0x120($sp) -/* 07E7AC 7F049C3C AFA00120 */ sw $zero, 0x120($sp) -.Ljp7F049C40: -/* 07E7B0 7F049C40 8FB90120 */ lw $t9, 0x120($sp) -.Ljp7F049C44: -/* 07E7B4 7F049C44 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 07E7B8 7F049C48 44818000 */ mtc1 $at, $f16 -/* 07E7BC 7F049C4C 1320000F */ beqz $t9, .Ljp7F049C8C -/* 07E7C0 7F049C50 8FA50104 */ lw $a1, 0x104($sp) -/* 07E7C4 7F049C54 8FA80110 */ lw $t0, 0x110($sp) -/* 07E7C8 7F049C58 02202025 */ move $a0, $s1 -/* 07E7CC 7F049C5C 24050001 */ li $a1, 1 -/* 07E7D0 7F049C60 51000005 */ beql $t0, $zero, .Ljp7F049C78 -/* 07E7D4 7F049C64 2404000E */ li $a0, 14 -/* 07E7D8 7F049C68 44068000 */ mfc1 $a2, $f16 -/* 07E7DC 7F049C6C 0FC2926F */ jal sub_GAME_7F0A3E1C -/* 07E7E0 7F049C70 91070003 */ lbu $a3, 3($t0) -/* 07E7E4 7F049C74 2404000E */ li $a0, 14 -.Ljp7F049C78: -/* 07E7E8 7F049C78 02202825 */ move $a1, $s1 -/* 07E7EC 7F049C7C 0FC1932F */ jal recall_joy2_hits_edit_flag -/* 07E7F0 7F049C80 2406FFFF */ li $a2, -1 -/* 07E7F4 7F049C84 1000000B */ b .Ljp7F049CB4 -/* 07E7F8 7F049C88 8FB80108 */ lw $t8, 0x108($sp) -.Ljp7F049C8C: -/* 07E7FC 7F049C8C C4A80008 */ lwc1 $f8, 8($a1) -/* 07E800 7F049C90 2404000E */ li $a0, 14 -/* 07E804 7F049C94 2406FFFF */ li $a2, -1 -/* 07E808 7F049C98 E7A80114 */ swc1 $f8, 0x114($sp) -/* 07E80C 7F049C9C C4AA000C */ lwc1 $f10, 0xc($a1) -/* 07E810 7F049CA0 E7AA0118 */ swc1 $f10, 0x118($sp) -/* 07E814 7F049CA4 C4A60010 */ lwc1 $f6, 0x10($a1) -/* 07E818 7F049CA8 0FC19252 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 07E81C 7F049CAC E7A6011C */ swc1 $f6, 0x11c($sp) -/* 07E820 7F049CB0 8FB80108 */ lw $t8, 0x108($sp) -.Ljp7F049CB4: -/* 07E824 7F049CB4 C7A40130 */ lwc1 $f4, 0x130($sp) -/* 07E828 7F049CB8 53000085 */ beql $t8, $zero, .Ljp7F049ED0 -/* 07E82C 7F049CBC 8E8E0008 */ lw $t6, 8($s4) -/* 07E830 7F049CC0 8E0300CC */ lw $v1, 0xcc($s0) -/* 07E834 7F049CC4 E4640004 */ swc1 $f4, 4($v1) -/* 07E838 7F049CC8 C7A80134 */ lwc1 $f8, 0x134($sp) -/* 07E83C 7F049CCC C4640004 */ lwc1 $f4, 4($v1) -/* 07E840 7F049CD0 E4680008 */ swc1 $f8, 8($v1) -/* 07E844 7F049CD4 C7AA0138 */ lwc1 $f10, 0x138($sp) -/* 07E848 7F049CD8 E46A000C */ swc1 $f10, 0xc($v1) -/* 07E84C 7F049CDC C7A60114 */ lwc1 $f6, 0x114($sp) -/* 07E850 7F049CE0 46043201 */ sub.s $f8, $f6, $f4 -/* 07E854 7F049CE4 C4660008 */ lwc1 $f6, 8($v1) -/* 07E858 7F049CE8 E4680010 */ swc1 $f8, 0x10($v1) -/* 07E85C 7F049CEC C7AA0118 */ lwc1 $f10, 0x118($sp) -/* 07E860 7F049CF0 C4620010 */ lwc1 $f2, 0x10($v1) -/* 07E864 7F049CF4 46065101 */ sub.s $f4, $f10, $f6 -/* 07E868 7F049CF8 C46A000C */ lwc1 $f10, 0xc($v1) -/* 07E86C 7F049CFC E4640014 */ swc1 $f4, 0x14($v1) -/* 07E870 7F049D00 C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 07E874 7F049D04 46021102 */ mul.s $f4, $f2, $f2 -/* 07E878 7F049D08 C46E0014 */ lwc1 $f14, 0x14($v1) -/* 07E87C 7F049D0C 460A4181 */ sub.s $f6, $f8, $f10 -/* 07E880 7F049D10 460E7202 */ mul.s $f8, $f14, $f14 -/* 07E884 7F049D14 E4660018 */ swc1 $f6, 0x18($v1) -/* 07E888 7F049D18 C4600018 */ lwc1 $f0, 0x18($v1) -/* 07E88C 7F049D1C AFA30094 */ sw $v1, 0x94($sp) -/* 07E890 7F049D20 46000182 */ mul.s $f6, $f0, $f0 -/* 07E894 7F049D24 46082280 */ add.s $f10, $f4, $f8 -/* 07E898 7F049D28 0C007E08 */ jal sqrtf -/* 07E89C 7F049D2C 460A3300 */ add.s $f12, $f6, $f10 -/* 07E8A0 7F049D30 3C018005 */ lui $at, %hi(D_80052B78) # $at, 0x8005 -/* 07E8A4 7F049D34 C42E2BA8 */ lwc1 $f14, %lo(D_80052B78)($at) -/* 07E8A8 7F049D38 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07E8AC 7F049D3C 44812000 */ mtc1 $at, $f4 -/* 07E8B0 7F049D40 8FA30094 */ lw $v1, 0x94($sp) -/* 07E8B4 7F049D44 4600703C */ c.lt.s $f14, $f0 -/* 07E8B8 7F049D48 46000306 */ mov.s $f12, $f0 -/* 07E8BC 7F049D4C 46002083 */ div.s $f2, $f4, $f0 -/* 07E8C0 7F049D50 C4680010 */ lwc1 $f8, 0x10($v1) -/* 07E8C4 7F049D54 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 07E8C8 7F049D58 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 07E8CC 7F049D5C 44810000 */ mtc1 $at, $f0 -/* 07E8D0 7F049D60 46024182 */ mul.s $f6, $f8, $f2 -/* 07E8D4 7F049D64 C4680018 */ lwc1 $f8, 0x18($v1) -/* 07E8D8 7F049D68 46025102 */ mul.s $f4, $f10, $f2 -/* 07E8DC 7F049D6C E4660010 */ swc1 $f6, 0x10($v1) -/* 07E8E0 7F049D70 46024182 */ mul.s $f6, $f8, $f2 -/* 07E8E4 7F049D74 E4640014 */ swc1 $f4, 0x14($v1) -/* 07E8E8 7F049D78 45000002 */ bc1f .Ljp7F049D84 -/* 07E8EC 7F049D7C E4660018 */ swc1 $f6, 0x18($v1) -/* 07E8F0 7F049D80 46007306 */ mov.s $f12, $f14 -.Ljp7F049D84: -/* 07E8F4 7F049D84 4600603C */ c.lt.s $f12, $f0 -/* 07E8F8 7F049D88 2409000E */ li $t1, 14 -/* 07E8FC 7F049D8C A0600000 */ sb $zero, ($v1) -/* 07E900 7F049D90 A0690001 */ sb $t1, 1($v1) -/* 07E904 7F049D94 45000002 */ bc1f .Ljp7F049DA0 -/* 07E908 7F049D98 E46C001C */ swc1 $f12, 0x1c($v1) -/* 07E90C 7F049D9C 46000306 */ mov.s $f12, $f0 -.Ljp7F049DA0: -/* 07E910 7F049DA0 806B0001 */ lb $t3, 1($v1) -/* 07E914 7F049DA4 24010016 */ li $at, 22 -/* 07E918 7F049DA8 15610026 */ bne $t3, $at, .Ljp7F049E44 -/* 07E91C 7F049DAC 3C018005 */ lui $at, %hi(D_80052B7C) # $at, 0x8005 -/* 07E920 7F049DB0 C4222BAC */ lwc1 $f2, %lo(D_80052B7C)($at) -/* 07E924 7F049DB4 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 07E928 7F049DB8 44815000 */ mtc1 $at, $f10 -/* 07E92C 7F049DBC 3C018005 */ lui $at, %hi(D_80052B80) # $at, 0x8005 -/* 07E930 7F049DC0 460C5102 */ mul.s $f4, $f10, $f12 -/* 07E934 7F049DC4 E4640020 */ swc1 $f4, 0x20($v1) -/* 07E938 7F049DC8 C4282BB0 */ lwc1 $f8, %lo(D_80052B80)($at) -/* 07E93C 7F049DCC 460C4002 */ mul.s $f0, $f8, $f12 -/* 07E940 7F049DD0 4600103C */ c.lt.s $f2, $f0 -/* 07E944 7F049DD4 E4600024 */ swc1 $f0, 0x24($v1) -/* 07E948 7F049DD8 45020003 */ bc1fl .Ljp7F049DE8 -/* 07E94C 7F049DDC AFA30094 */ sw $v1, 0x94($sp) -/* 07E950 7F049DE0 E4620024 */ swc1 $f2, 0x24($v1) -/* 07E954 7F049DE4 AFA30094 */ sw $v1, 0x94($sp) -.Ljp7F049DE8: -/* 07E958 7F049DE8 0C002918 */ jal get_random_value -/* 07E95C 7F049DEC E7AC0098 */ swc1 $f12, 0x98($sp) -/* 07E960 7F049DF0 44823000 */ mtc1 $v0, $f6 -/* 07E964 7F049DF4 8FA30094 */ lw $v1, 0x94($sp) -/* 07E968 7F049DF8 C7AC0098 */ lwc1 $f12, 0x98($sp) -/* 07E96C 7F049DFC 04410005 */ bgez $v0, .Ljp7F049E14 -/* 07E970 7F049E00 468032A0 */ cvt.s.w $f10, $f6 -/* 07E974 7F049E04 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07E978 7F049E08 44812000 */ mtc1 $at, $f4 -/* 07E97C 7F049E0C 00000000 */ nop -/* 07E980 7F049E10 46045280 */ add.s $f10, $f10, $f4 -.Ljp7F049E14: -/* 07E984 7F049E14 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07E988 7F049E18 44814000 */ mtc1 $at, $f8 -/* 07E98C 7F049E1C 3C018005 */ lui $at, %hi(D_80052B84) # $at, 0x8005 -/* 07E990 7F049E20 C4242BB4 */ lwc1 $f4, %lo(D_80052B84)($at) -/* 07E994 7F049E24 46085182 */ mul.s $f6, $f10, $f8 -/* 07E998 7F049E28 3C018005 */ lui $at, %hi(D_80052B88) # $at, 0x8005 -/* 07E99C 7F049E2C C4282BB8 */ lwc1 $f8, %lo(D_80052B88)($at) -/* 07E9A0 7F049E30 46043282 */ mul.s $f10, $f6, $f4 -/* 07E9A4 7F049E34 460A4181 */ sub.s $f6, $f8, $f10 -/* 07E9A8 7F049E38 460C3102 */ mul.s $f4, $f6, $f12 -/* 07E9AC 7F049E3C 10000023 */ b .Ljp7F049ECC -/* 07E9B0 7F049E40 E4640028 */ swc1 $f4, 0x28($v1) -.Ljp7F049E44: -/* 07E9B4 7F049E44 3C018005 */ lui $at, %hi(D_80052B8C) # $at, 0x8005 -/* 07E9B8 7F049E48 C4282BBC */ lwc1 $f8, %lo(D_80052B8C)($at) -/* 07E9BC 7F049E4C 3C018005 */ lui $at, %hi(D_80052B90) # $at, 0x8005 -/* 07E9C0 7F049E50 460C4002 */ mul.s $f0, $f8, $f12 -/* 07E9C4 7F049E54 E4600020 */ swc1 $f0, 0x20($v1) -/* 07E9C8 7F049E58 E4600024 */ swc1 $f0, 0x24($v1) -/* 07E9CC 7F049E5C C42A2BC0 */ lwc1 $f10, %lo(D_80052B90)($at) -/* 07E9D0 7F049E60 3C018005 */ lui $at, %hi(D_80052B94) # $at, 0x8005 -/* 07E9D4 7F049E64 4600503C */ c.lt.s $f10, $f0 -/* 07E9D8 7F049E68 00000000 */ nop -/* 07E9DC 7F049E6C 45000003 */ bc1f .Ljp7F049E7C -/* 07E9E0 7F049E70 00000000 */ nop -/* 07E9E4 7F049E74 C4262BC4 */ lwc1 $f6, %lo(D_80052B94)($at) -/* 07E9E8 7F049E78 E4660024 */ swc1 $f6, 0x24($v1) -.Ljp7F049E7C: -/* 07E9EC 7F049E7C 0C002918 */ jal get_random_value -/* 07E9F0 7F049E80 AFA30094 */ sw $v1, 0x94($sp) -/* 07E9F4 7F049E84 44822000 */ mtc1 $v0, $f4 -/* 07E9F8 7F049E88 8FA30094 */ lw $v1, 0x94($sp) -/* 07E9FC 7F049E8C 04410005 */ bgez $v0, .Ljp7F049EA4 -/* 07EA00 7F049E90 46802220 */ cvt.s.w $f8, $f4 -/* 07EA04 7F049E94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EA08 7F049E98 44815000 */ mtc1 $at, $f10 -/* 07EA0C 7F049E9C 00000000 */ nop -/* 07EA10 7F049EA0 460A4200 */ add.s $f8, $f8, $f10 -.Ljp7F049EA4: -/* 07EA14 7F049EA4 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 07EA18 7F049EA8 44813000 */ mtc1 $at, $f6 -/* 07EA1C 7F049EAC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07EA20 7F049EB0 44815000 */ mtc1 $at, $f10 -/* 07EA24 7F049EB4 46064002 */ mul.s $f0, $f8, $f6 -/* 07EA28 7F049EB8 C4660020 */ lwc1 $f6, 0x20($v1) -/* 07EA2C 7F049EBC 46000100 */ add.s $f4, $f0, $f0 -/* 07EA30 7F049EC0 460A2201 */ sub.s $f8, $f4, $f10 -/* 07EA34 7F049EC4 46064102 */ mul.s $f4, $f8, $f6 -/* 07EA38 7F049EC8 E4640028 */ swc1 $f4, 0x28($v1) -.Ljp7F049ECC: -/* 07EA3C 7F049ECC 8E8E0008 */ lw $t6, 8($s4) -.Ljp7F049ED0: -/* 07EA40 7F049ED0 8DC30008 */ lw $v1, 8($t6) -/* 07EA44 7F049ED4 8C650014 */ lw $a1, 0x14($v1) -/* 07EA48 7F049ED8 50A00008 */ beql $a1, $zero, .Ljp7F049EFC -/* 07EA4C 7F049EDC 8C65001C */ lw $a1, 0x1c($v1) -/* 07EA50 7F049EE0 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 07EA54 7F049EE4 02802025 */ move $a0, $s4 -/* 07EA58 7F049EE8 8FAA0140 */ lw $t2, 0x140($sp) -/* 07EA5C 7F049EEC A44A0000 */ sh $t2, ($v0) -/* 07EA60 7F049EF0 8E8F0008 */ lw $t7, 8($s4) -/* 07EA64 7F049EF4 8DE30008 */ lw $v1, 8($t7) -/* 07EA68 7F049EF8 8C65001C */ lw $a1, 0x1c($v1) -.Ljp7F049EFC: -/* 07EA6C 7F049EFC 10A00005 */ beqz $a1, .Ljp7F049F14 -/* 07EA70 7F049F00 00000000 */ nop -/* 07EA74 7F049F04 0FC1B363 */ jal extract_id_from_object_structure_microcode -/* 07EA78 7F049F08 02802025 */ move $a0, $s4 -/* 07EA7C 7F049F0C 8FAC013C */ lw $t4, 0x13c($sp) -/* 07EA80 7F049F10 A44C0000 */ sh $t4, ($v0) -.Ljp7F049F14: -/* 07EA84 7F049F14 0FC1113A */ jal sub_GAME_7F044200 -/* 07EA88 7F049F18 02602025 */ move $a0, $s3 -/* 07EA8C 7F049F1C 8FAD0688 */ lw $t5, 0x688($sp) -.Ljp7F049F20: -/* 07EA90 7F049F20 24010005 */ li $at, 5 -/* 07EA94 7F049F24 55A10003 */ bnel $t5, $at, .Ljp7F049F34 -/* 07EA98 7F049F28 8FA20688 */ lw $v0, 0x688($sp) -/* 07EA9C 7F049F2C AE600014 */ sw $zero, 0x14($s3) -/* 07EAA0 7F049F30 8FA20688 */ lw $v0, 0x688($sp) -.Ljp7F049F34: -/* 07EAA4 7F049F34 8FBF0054 */ lw $ra, 0x54($sp) -/* 07EAA8 7F049F38 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 07EAAC 7F049F3C D7B60038 */ ldc1 $f22, 0x38($sp) -/* 07EAB0 7F049F40 8FB00040 */ lw $s0, 0x40($sp) -/* 07EAB4 7F049F44 8FB10044 */ lw $s1, 0x44($sp) -/* 07EAB8 7F049F48 8FB20048 */ lw $s2, 0x48($sp) -/* 07EABC 7F049F4C 8FB3004C */ lw $s3, 0x4c($sp) -/* 07EAC0 7F049F50 8FB40050 */ lw $s4, 0x50($sp) -/* 07EAC4 7F049F54 03E00008 */ jr $ra -/* 07EAC8 7F049F58 27BD06B0 */ addiu $sp, $sp, 0x6b0 -) -#endif - -#endif - - -#ifdef NONMATCHING -void sub_GAME_7F049B58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F049B58 -/* 07E688 7F049B58 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 07E68C 7F049B5C AFBF0034 */ sw $ra, 0x34($sp) -/* 07E690 7F049B60 AFB20020 */ sw $s2, 0x20($sp) -/* 07E694 7F049B64 00809025 */ move $s2, $a0 -/* 07E698 7F049B68 AFB60030 */ sw $s6, 0x30($sp) -/* 07E69C 7F049B6C AFB5002C */ sw $s5, 0x2c($sp) -/* 07E6A0 7F049B70 AFB40028 */ sw $s4, 0x28($sp) -/* 07E6A4 7F049B74 AFB30024 */ sw $s3, 0x24($sp) -/* 07E6A8 7F049B78 AFB1001C */ sw $s1, 0x1c($sp) -/* 07E6AC 7F049B7C 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 07E6B0 7F049B80 AFB00018 */ sw $s0, 0x18($sp) -/* 07E6B4 7F049B84 10400036 */ beqz $v0, .L7F049C60 -/* 07E6B8 7F049B88 00408025 */ move $s0, $v0 -/* 07E6BC 7F049B8C 24160006 */ li $s6, 6 -/* 07E6C0 7F049B90 2415000D */ li $s5, 13 -/* 07E6C4 7F049B94 24140001 */ li $s4, 1 -/* 07E6C8 7F049B98 24130003 */ li $s3, 3 -/* 07E6CC 7F049B9C 92020000 */ lbu $v0, ($s0) -.L7F049BA0: -/* 07E6D0 7F049BA0 02402025 */ move $a0, $s2 -/* 07E6D4 7F049BA4 1662000B */ bne $s3, $v0, .L7F049BD4 -/* 07E6D8 7F049BA8 00000000 */ nop -/* 07E6DC 7F049BAC 8E110004 */ lw $s1, 4($s0) -/* 07E6E0 7F049BB0 02803025 */ move $a2, $s4 -/* 07E6E4 7F049BB4 0FC18786 */ jal sub_GAME_7F061E18 -/* 07E6E8 7F049BB8 26250180 */ addiu $a1, $s1, 0x180 -/* 07E6EC 7F049BBC 00402025 */ move $a0, $v0 -/* 07E6F0 7F049BC0 262501AC */ addiu $a1, $s1, 0x1ac -/* 07E6F4 7F049BC4 0FC18786 */ jal sub_GAME_7F061E18 -/* 07E6F8 7F049BC8 02803025 */ move $a2, $s4 -/* 07E6FC 7F049BCC 10000021 */ b .L7F049C54 -/* 07E700 7F049BD0 00409025 */ move $s2, $v0 -.L7F049BD4: -/* 07E704 7F049BD4 1682000B */ bne $s4, $v0, .L7F049C04 -/* 07E708 7F049BD8 00000000 */ nop -/* 07E70C 7F049BDC 8E030004 */ lw $v1, 4($s0) -/* 07E710 7F049BE0 02402025 */ move $a0, $s2 -/* 07E714 7F049BE4 02803025 */ move $a2, $s4 -/* 07E718 7F049BE8 906E0003 */ lbu $t6, 3($v1) -/* 07E71C 7F049BEC 56AE001A */ bnel $s5, $t6, .L7F049C58 -/* 07E720 7F049BF0 8E100024 */ lw $s0, 0x24($s0) -/* 07E724 7F049BF4 0FC18786 */ jal sub_GAME_7F061E18 -/* 07E728 7F049BF8 8C6500CC */ lw $a1, 0xcc($v1) -/* 07E72C 7F049BFC 10000015 */ b .L7F049C54 -/* 07E730 7F049C00 00409025 */ move $s2, $v0 -.L7F049C04: -/* 07E734 7F049C04 56C20014 */ bnel $s6, $v0, .L7F049C58 -/* 07E738 7F049C08 8E100024 */ lw $s0, 0x24($s0) -/* 07E73C 7F049C0C 8E0F0004 */ lw $t7, 4($s0) -/* 07E740 7F049C10 51E00011 */ beql $t7, $zero, .L7F049C58 -/* 07E744 7F049C14 8E100024 */ lw $s0, 0x24($s0) -/* 07E748 7F049C18 0FC26C57 */ jal sub_GAME_7F09B15C -/* 07E74C 7F049C1C 02002025 */ move $a0, $s0 -/* 07E750 7F049C20 0FC26C54 */ jal get_cur_playernum -/* 07E754 7F049C24 00408825 */ move $s1, $v0 -/* 07E758 7F049C28 1051000A */ beq $v0, $s1, .L7F049C54 -/* 07E75C 7F049C2C 02402025 */ move $a0, $s2 -/* 07E760 7F049C30 8E110004 */ lw $s1, 4($s0) -/* 07E764 7F049C34 02803025 */ move $a2, $s4 -/* 07E768 7F049C38 0FC18786 */ jal sub_GAME_7F061E18 -/* 07E76C 7F049C3C 26250180 */ addiu $a1, $s1, 0x180 -/* 07E770 7F049C40 00402025 */ move $a0, $v0 -/* 07E774 7F049C44 262501AC */ addiu $a1, $s1, 0x1ac -/* 07E778 7F049C48 0FC18786 */ jal sub_GAME_7F061E18 -/* 07E77C 7F049C4C 02803025 */ move $a2, $s4 -/* 07E780 7F049C50 00409025 */ move $s2, $v0 -.L7F049C54: -/* 07E784 7F049C54 8E100024 */ lw $s0, 0x24($s0) -.L7F049C58: -/* 07E788 7F049C58 5600FFD1 */ bnezl $s0, .L7F049BA0 -/* 07E78C 7F049C5C 92020000 */ lbu $v0, ($s0) -.L7F049C60: -/* 07E790 7F049C60 8FBF0034 */ lw $ra, 0x34($sp) -/* 07E794 7F049C64 02401025 */ move $v0, $s2 -/* 07E798 7F049C68 8FB20020 */ lw $s2, 0x20($sp) -/* 07E79C 7F049C6C 8FB00018 */ lw $s0, 0x18($sp) -/* 07E7A0 7F049C70 8FB1001C */ lw $s1, 0x1c($sp) -/* 07E7A4 7F049C74 8FB30024 */ lw $s3, 0x24($sp) -/* 07E7A8 7F049C78 8FB40028 */ lw $s4, 0x28($sp) -/* 07E7AC 7F049C7C 8FB5002C */ lw $s5, 0x2c($sp) -/* 07E7B0 7F049C80 8FB60030 */ lw $s6, 0x30($sp) -/* 07E7B4 7F049C84 03E00008 */ jr $ra -/* 07E7B8 7F049C88 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void save_ptr_monitor_ani_code_to_obj_ani_slot(void) { - -} -#else -GLOBAL_ASM( -.text -glabel save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07E7BC 7F049C8C AC850000 */ sw $a1, ($a0) -/* 07E7C0 7F049C90 03E00008 */ jr $ra -/* 07E7C4 7F049C94 A4800004 */ sh $zero, 4($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void set_ptr_monitor_img_to_obj_ani_slot(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80052B98*/ -glabel jpt_80052B98 -.word def_7F049CC0 -.word .L7F049CC8 -.word .L7F049CD4 -.word .L7F049CE0 -.word .L7F049CEC -.word .L7F049CF8 -.word .L7F049D04 -.word .L7F049D10 -.word .L7F049D1C -.word .L7F049D28 -.word .L7F049D34 -.word .L7F049D40 -.word .L7F049D4C -.word .L7F049D58 -.word .L7F049D64 -.word .L7F049D70 -.word .L7F049D7C -.word .L7F049D88 -.word .L7F049D94 -.word .L7F049DA0 -.word .L7F049DAC -.word .L7F049DB8 -.word .L7F049DC4 -.word .L7F049DD0 -.word .L7F049DDC -.word .L7F049DE8 -.word .L7F049DF4 -.word .L7F049E00 -.word .L7F049E0C -.word .L7F049E18 -.word .L7F049E24 -.word .L7F049E30 -.word .L7F049E3C -.word .L7F049E48 -.word .L7F049E54 -.word .L7F049E60 -.word .L7F049E6C -.word .L7F049E78 -.word .L7F049E84 -.word .L7F049E90 -.word .L7F049E9C -.word .L7F049EA8 -.word .L7F049EB4 -.word .L7F049EC0 -.word .L7F049ECC -.word .L7F049ED8 -.word .L7F049EE4 -.word .L7F049EF0 -.word .L7F049EFC -.word .L7F049F08 -.word .L7F049F14 -.word .L7F049F20 - -.text -glabel set_ptr_monitor_img_to_obj_ani_slot -/* 07E7C8 7F049C98 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 07E7CC 7F049C9C 3C068003 */ lui $a2, %hi(monitor_animation_microcode) -/* 07E7D0 7F049CA0 2CA10034 */ sltiu $at, $a1, 0x34 -/* 07E7D4 7F049CA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 07E7D8 7F049CA8 1020009F */ beqz $at, .L7F049F28 -/* 07E7DC 7F049CAC 24C60B74 */ addiu $a2, %lo(monitor_animation_microcode) # addiu $a2, $a2, 0xb74 -/* 07E7E0 7F049CB0 00057080 */ sll $t6, $a1, 2 -/* 07E7E4 7F049CB4 3C018005 */ lui $at, %hi(jpt_80052B98) -/* 07E7E8 7F049CB8 002E0821 */ addu $at, $at, $t6 -/* 07E7EC 7F049CBC 8C2E2B98 */ lw $t6, %lo(jpt_80052B98)($at) -/* 07E7F0 7F049CC0 01C00008 */ jr $t6 -/* 07E7F4 7F049CC4 00000000 */ nop -.L7F049CC8: -/* 07E7F8 7F049CC8 3C068003 */ lui $a2, %hi(D_80030C00) -/* 07E7FC 7F049CCC 10000096 */ b .L7F049F28 -/* 07E800 7F049CD0 24C60C00 */ addiu $a2, %lo(D_80030C00) # addiu $a2, $a2, 0xc00 -.L7F049CD4: -/* 07E804 7F049CD4 3C068003 */ lui $a2, %hi(D_80030E24) -/* 07E808 7F049CD8 10000093 */ b .L7F049F28 -/* 07E80C 7F049CDC 24C60E24 */ addiu $a2, %lo(D_80030E24) # addiu $a2, $a2, 0xe24 -.L7F049CE0: -/* 07E810 7F049CE0 3C068003 */ lui $a2, %hi(D_80030F44) -/* 07E814 7F049CE4 10000090 */ b .L7F049F28 -/* 07E818 7F049CE8 24C60F44 */ addiu $a2, %lo(D_80030F44) # addiu $a2, $a2, 0xf44 -.L7F049CEC: -/* 07E81C 7F049CEC 3C068003 */ lui $a2, %hi(D_80031018) -/* 07E820 7F049CF0 1000008D */ b .L7F049F28 -/* 07E824 7F049CF4 24C61018 */ addiu $a2, %lo(D_80031018) # addiu $a2, $a2, 0x1018 -.L7F049CF8: -/* 07E828 7F049CF8 3C068003 */ lui $a2, %hi(D_80031074) -/* 07E82C 7F049CFC 1000008A */ b .L7F049F28 -/* 07E830 7F049D00 24C61074 */ addiu $a2, %lo(D_80031074) # addiu $a2, $a2, 0x1074 -.L7F049D04: -/* 07E834 7F049D04 3C068003 */ lui $a2, %hi(D_800310F0) -/* 07E838 7F049D08 10000087 */ b .L7F049F28 -/* 07E83C 7F049D0C 24C610F0 */ addiu $a2, %lo(D_800310F0) # addiu $a2, $a2, 0x10f0 -.L7F049D10: -/* 07E840 7F049D10 3C068003 */ lui $a2, %hi(D_8003118C) -/* 07E844 7F049D14 10000084 */ b .L7F049F28 -/* 07E848 7F049D18 24C6118C */ addiu $a2, %lo(D_8003118C) # addiu $a2, $a2, 0x118c -.L7F049D1C: -/* 07E84C 7F049D1C 3C068003 */ lui $a2, %hi(D_8003121C) -/* 07E850 7F049D20 10000081 */ b .L7F049F28 -/* 07E854 7F049D24 24C6121C */ addiu $a2, %lo(D_8003121C) # addiu $a2, $a2, 0x121c -.L7F049D28: -/* 07E858 7F049D28 3C068003 */ lui $a2, %hi(D_80031248) -/* 07E85C 7F049D2C 1000007E */ b .L7F049F28 -/* 07E860 7F049D30 24C61248 */ addiu $a2, %lo(D_80031248) # addiu $a2, $a2, 0x1248 -.L7F049D34: -/* 07E864 7F049D34 3C068003 */ lui $a2, %hi(D_80031274) -/* 07E868 7F049D38 1000007B */ b .L7F049F28 -/* 07E86C 7F049D3C 24C61274 */ addiu $a2, %lo(D_80031274) # addiu $a2, $a2, 0x1274 -.L7F049D40: -/* 07E870 7F049D40 3C068003 */ lui $a2, %hi(D_800312F4) -/* 07E874 7F049D44 10000078 */ b .L7F049F28 -/* 07E878 7F049D48 24C612F4 */ addiu $a2, %lo(D_800312F4) # addiu $a2, $a2, 0x12f4 -.L7F049D4C: -/* 07E87C 7F049D4C 3C068003 */ lui $a2, %hi(D_80031310) -/* 07E880 7F049D50 10000075 */ b .L7F049F28 -/* 07E884 7F049D54 24C61310 */ addiu $a2, %lo(D_80031310) # addiu $a2, $a2, 0x1310 -.L7F049D58: -/* 07E888 7F049D58 3C068003 */ lui $a2, %hi(D_80031490) -/* 07E88C 7F049D5C 10000072 */ b .L7F049F28 -/* 07E890 7F049D60 24C61490 */ addiu $a2, %lo(D_80031490) # addiu $a2, $a2, 0x1490 -.L7F049D64: -/* 07E894 7F049D64 3C068003 */ lui $a2, %hi(D_800314F8) -/* 07E898 7F049D68 1000006F */ b .L7F049F28 -/* 07E89C 7F049D6C 24C614F8 */ addiu $a2, %lo(D_800314F8) # addiu $a2, $a2, 0x14f8 -.L7F049D70: -/* 07E8A0 7F049D70 3C068003 */ lui $a2, %hi(D_80030EC8) -/* 07E8A4 7F049D74 1000006C */ b .L7F049F28 -/* 07E8A8 7F049D78 24C60EC8 */ addiu $a2, %lo(D_80030EC8) # addiu $a2, $a2, 0xec8 -.L7F049D7C: -/* 07E8AC 7F049D7C 3C068003 */ lui $a2, %hi(D_80031360) -/* 07E8B0 7F049D80 10000069 */ b .L7F049F28 -/* 07E8B4 7F049D84 24C61360 */ addiu $a2, %lo(D_80031360) # addiu $a2, $a2, 0x1360 -.L7F049D88: -/* 07E8B8 7F049D88 3C068003 */ lui $a2, %hi(D_8003156C) -/* 07E8BC 7F049D8C 10000066 */ b .L7F049F28 -/* 07E8C0 7F049D90 24C6156C */ addiu $a2, %lo(D_8003156C) # addiu $a2, $a2, 0x156c -.L7F049D94: -/* 07E8C4 7F049D94 3C068003 */ lui $a2, %hi(D_800315CC) -/* 07E8C8 7F049D98 10000063 */ b .L7F049F28 -/* 07E8CC 7F049D9C 24C615CC */ addiu $a2, %lo(D_800315CC) # addiu $a2, $a2, 0x15cc -.L7F049DA0: -/* 07E8D0 7F049DA0 3C068003 */ lui $a2, %hi(D_80031848) -/* 07E8D4 7F049DA4 10000060 */ b .L7F049F28 -/* 07E8D8 7F049DA8 24C61848 */ addiu $a2, %lo(D_80031848) # addiu $a2, $a2, 0x1848 -.L7F049DAC: -/* 07E8DC 7F049DAC 3C068003 */ lui $a2, %hi(D_80031898) -/* 07E8E0 7F049DB0 1000005D */ b .L7F049F28 -/* 07E8E4 7F049DB4 24C61898 */ addiu $a2, %lo(D_80031898) # addiu $a2, $a2, 0x1898 -.L7F049DB8: -/* 07E8E8 7F049DB8 3C068003 */ lui $a2, %hi(D_800318B8) -/* 07E8EC 7F049DBC 1000005A */ b .L7F049F28 -/* 07E8F0 7F049DC0 24C618B8 */ addiu $a2, %lo(D_800318B8) # addiu $a2, $a2, 0x18b8 -.L7F049DC4: -/* 07E8F4 7F049DC4 3C068003 */ lui $a2, %hi(D_8003191C) -/* 07E8F8 7F049DC8 10000057 */ b .L7F049F28 -/* 07E8FC 7F049DCC 24C6191C */ addiu $a2, %lo(D_8003191C) # addiu $a2, $a2, 0x191c -.L7F049DD0: -/* 07E900 7F049DD0 3C068003 */ lui $a2, %hi(D_80031950) -/* 07E904 7F049DD4 10000054 */ b .L7F049F28 -/* 07E908 7F049DD8 24C61950 */ addiu $a2, %lo(D_80031950) # addiu $a2, $a2, 0x1950 -.L7F049DDC: -/* 07E90C 7F049DDC 3C068003 */ lui $a2, %hi(D_800319D4) -/* 07E910 7F049DE0 10000051 */ b .L7F049F28 -/* 07E914 7F049DE4 24C619D4 */ addiu $a2, %lo(D_800319D4) # addiu $a2, $a2, 0x19d4 -.L7F049DE8: -/* 07E918 7F049DE8 3C068003 */ lui $a2, %hi(D_800319F0) -/* 07E91C 7F049DEC 1000004E */ b .L7F049F28 -/* 07E920 7F049DF0 24C619F0 */ addiu $a2, %lo(D_800319F0) # addiu $a2, $a2, 0x19f0 -.L7F049DF4: -/* 07E924 7F049DF4 3C068003 */ lui $a2, %hi(D_80031A0C) -/* 07E928 7F049DF8 1000004B */ b .L7F049F28 -/* 07E92C 7F049DFC 24C61A0C */ addiu $a2, %lo(D_80031A0C) # addiu $a2, $a2, 0x1a0c -.L7F049E00: -/* 07E930 7F049E00 3C068003 */ lui $a2, %hi(D_80031A28) -/* 07E934 7F049E04 10000048 */ b .L7F049F28 -/* 07E938 7F049E08 24C61A28 */ addiu $a2, %lo(D_80031A28) # addiu $a2, $a2, 0x1a28 -.L7F049E0C: -/* 07E93C 7F049E0C 3C068003 */ lui $a2, %hi(D_80031A44) -/* 07E940 7F049E10 10000045 */ b .L7F049F28 -/* 07E944 7F049E14 24C61A44 */ addiu $a2, %lo(D_80031A44) # addiu $a2, $a2, 0x1a44 -.L7F049E18: -/* 07E948 7F049E18 3C068003 */ lui $a2, %hi(D_80031A60) -/* 07E94C 7F049E1C 10000042 */ b .L7F049F28 -/* 07E950 7F049E20 24C61A60 */ addiu $a2, %lo(D_80031A60) # addiu $a2, $a2, 0x1a60 -.L7F049E24: -/* 07E954 7F049E24 3C068003 */ lui $a2, %hi(D_80031A7C) -/* 07E958 7F049E28 1000003F */ b .L7F049F28 -/* 07E95C 7F049E2C 24C61A7C */ addiu $a2, %lo(D_80031A7C) # addiu $a2, $a2, 0x1a7c -.L7F049E30: -/* 07E960 7F049E30 3C068003 */ lui $a2, %hi(D_80031A98) -/* 07E964 7F049E34 1000003C */ b .L7F049F28 -/* 07E968 7F049E38 24C61A98 */ addiu $a2, %lo(D_80031A98) # addiu $a2, $a2, 0x1a98 -.L7F049E3C: -/* 07E96C 7F049E3C 3C068003 */ lui $a2, %hi(D_80031AB4) -/* 07E970 7F049E40 10000039 */ b .L7F049F28 -/* 07E974 7F049E44 24C61AB4 */ addiu $a2, %lo(D_80031AB4) # addiu $a2, $a2, 0x1ab4 -.L7F049E48: -/* 07E978 7F049E48 3C068003 */ lui $a2, %hi(D_80031AD0) -/* 07E97C 7F049E4C 10000036 */ b .L7F049F28 -/* 07E980 7F049E50 24C61AD0 */ addiu $a2, %lo(D_80031AD0) # addiu $a2, $a2, 0x1ad0 -.L7F049E54: -/* 07E984 7F049E54 3C068003 */ lui $a2, %hi(D_80031AEC) -/* 07E988 7F049E58 10000033 */ b .L7F049F28 -/* 07E98C 7F049E5C 24C61AEC */ addiu $a2, %lo(D_80031AEC) # addiu $a2, $a2, 0x1aec -.L7F049E60: -/* 07E990 7F049E60 3C068003 */ lui $a2, %hi(D_80031B24) -/* 07E994 7F049E64 10000030 */ b .L7F049F28 -/* 07E998 7F049E68 24C61B24 */ addiu $a2, %lo(D_80031B24) # addiu $a2, $a2, 0x1b24 -.L7F049E6C: -/* 07E99C 7F049E6C 3C068003 */ lui $a2, %hi(D_80031B38) -/* 07E9A0 7F049E70 1000002D */ b .L7F049F28 -/* 07E9A4 7F049E74 24C61B38 */ addiu $a2, %lo(D_80031B38) # addiu $a2, $a2, 0x1b38 -.L7F049E78: -/* 07E9A8 7F049E78 3C068003 */ lui $a2, %hi(D_80031B4C) -/* 07E9AC 7F049E7C 1000002A */ b .L7F049F28 -/* 07E9B0 7F049E80 24C61B4C */ addiu $a2, %lo(D_80031B4C) # addiu $a2, $a2, 0x1b4c -.L7F049E84: -/* 07E9B4 7F049E84 3C068003 */ lui $a2, %hi(D_80031B60) -/* 07E9B8 7F049E88 10000027 */ b .L7F049F28 -/* 07E9BC 7F049E8C 24C61B60 */ addiu $a2, %lo(D_80031B60) # addiu $a2, $a2, 0x1b60 -.L7F049E90: -/* 07E9C0 7F049E90 3C068003 */ lui $a2, %hi(D_80031BB4) -/* 07E9C4 7F049E94 10000024 */ b .L7F049F28 -/* 07E9C8 7F049E98 24C61BB4 */ addiu $a2, %lo(D_80031BB4) # addiu $a2, $a2, 0x1bb4 -.L7F049E9C: -/* 07E9CC 7F049E9C 3C068003 */ lui $a2, %hi(D_80031BD0) -/* 07E9D0 7F049EA0 10000021 */ b .L7F049F28 -/* 07E9D4 7F049EA4 24C61BD0 */ addiu $a2, %lo(D_80031BD0) # addiu $a2, $a2, 0x1bd0 -.L7F049EA8: -/* 07E9D8 7F049EA8 3C068003 */ lui $a2, %hi(D_80031BEC) -/* 07E9DC 7F049EAC 1000001E */ b .L7F049F28 -/* 07E9E0 7F049EB0 24C61BEC */ addiu $a2, %lo(D_80031BEC) # addiu $a2, $a2, 0x1bec -.L7F049EB4: -/* 07E9E4 7F049EB4 3C068003 */ lui $a2, %hi(D_80031C08) -/* 07E9E8 7F049EB8 1000001B */ b .L7F049F28 -/* 07E9EC 7F049EBC 24C61C08 */ addiu $a2, %lo(D_80031C08) # addiu $a2, $a2, 0x1c08 -.L7F049EC0: -/* 07E9F0 7F049EC0 3C068003 */ lui $a2, %hi(D_80031C80) -/* 07E9F4 7F049EC4 10000018 */ b .L7F049F28 -/* 07E9F8 7F049EC8 24C61C80 */ addiu $a2, %lo(D_80031C80) # addiu $a2, $a2, 0x1c80 -.L7F049ECC: -/* 07E9FC 7F049ECC 3C068003 */ lui $a2, %hi(D_80031D30) -/* 07EA00 7F049ED0 10000015 */ b .L7F049F28 -/* 07EA04 7F049ED4 24C61D30 */ addiu $a2, %lo(D_80031D30) # addiu $a2, $a2, 0x1d30 -.L7F049ED8: -/* 07EA08 7F049ED8 3C068003 */ lui $a2, %hi(D_80031D58) -/* 07EA0C 7F049EDC 10000012 */ b .L7F049F28 -/* 07EA10 7F049EE0 24C61D58 */ addiu $a2, %lo(D_80031D58) # addiu $a2, $a2, 0x1d58 -.L7F049EE4: -/* 07EA14 7F049EE4 3C068003 */ lui $a2, %hi(D_80031DA8) -/* 07EA18 7F049EE8 1000000F */ b .L7F049F28 -/* 07EA1C 7F049EEC 24C61DA8 */ addiu $a2, %lo(D_80031DA8) # addiu $a2, $a2, 0x1da8 -.L7F049EF0: -/* 07EA20 7F049EF0 3C068003 */ lui $a2, %hi(D_80031DF4) -/* 07EA24 7F049EF4 1000000C */ b .L7F049F28 -/* 07EA28 7F049EF8 24C61DF4 */ addiu $a2, %lo(D_80031DF4) # addiu $a2, $a2, 0x1df4 -.L7F049EFC: -/* 07EA2C 7F049EFC 3C068003 */ lui $a2, %hi(D_80031E40) -/* 07EA30 7F049F00 10000009 */ b .L7F049F28 -/* 07EA34 7F049F04 24C61E40 */ addiu $a2, %lo(D_80031E40) # addiu $a2, $a2, 0x1e40 -.L7F049F08: -/* 07EA38 7F049F08 3C068003 */ lui $a2, %hi(D_80031E78) -/* 07EA3C 7F049F0C 10000006 */ b .L7F049F28 -/* 07EA40 7F049F10 24C61E78 */ addiu $a2, %lo(D_80031E78) # addiu $a2, $a2, 0x1e78 -.L7F049F14: -/* 07EA44 7F049F14 3C068003 */ lui $a2, %hi(D_80031EB0) -/* 07EA48 7F049F18 10000003 */ b .L7F049F28 -/* 07EA4C 7F049F1C 24C61EB0 */ addiu $a2, %lo(D_80031EB0) # addiu $a2, $a2, 0x1eb0 -.L7F049F20: -/* 07EA50 7F049F20 3C068003 */ lui $a2, %hi(D_80031EE8) -/* 07EA54 7F049F24 24C61EE8 */ addiu $a2, %lo(D_80031EE8) # addiu $a2, $a2, 0x1ee8 -def_7F049CC0: -.L7F049F28: -/* 07EA58 7F049F28 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07EA5C 7F049F2C 00C02825 */ move $a1, $a2 -/* 07EA60 7F049F30 8FBF0014 */ lw $ra, 0x14($sp) -/* 07EA64 7F049F34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 07EA68 7F049F38 03E00008 */ jr $ra -/* 07EA6C 7F049F3C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void save_img_index_to_obj_ani_slot(void) { - -} -#else -GLOBAL_ASM( -.text -glabel save_img_index_to_obj_ani_slot -/* 07EA70 7F049F40 03E00008 */ jr $ra -/* 07EA74 7F049F44 AC850008 */ sw $a1, 8($a0) -) -#endif - - - - - -#ifdef NONMATCHING -void process_monitor_animation_microcode(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_80052C68 -.word 0x40c90fdb /*6.2831855*/ -/*D:80052C6C*/ -glabel jpt_80052C6C -.word command00_reset_scroll_shift -.word command01_horizontal_scroll -.word command02_vertical_scroll -.word command03_horizontal_pos -.word command04_vertical_pos -.word command05_zoomx -.word command06_zoomy -.word command07_use_image_from_global_monitor_table -.word command08_halt_processing_for_time -.word command09_jump -.word command0A_jump_conditional -.word command0B_restart -.word command0C_break -.word command0D_colour_transition -.word command0E_set_rotation -.word command0F_rotate - -glabel D_80052CAC -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052CB0 -.word 0x3fb50481 /*1.4141999*/ -glabel D_80052CB4 -.word 0x3f59999a /*0.85000002*/ -glabel D_80052CB8 -.word 0x3e19999a /*0.15000001*/ -glabel D_80052CBC -.word 0x3e19999a /*0.15000001*/ -glabel D_80052CC0 -.word 0x3f666666 /*0.89999998*/ -.text -glabel process_monitor_animation_microcode -/* 07EA78 7F049F48 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 07EA7C 7F049F4C AFB10044 */ sw $s1, 0x44($sp) -/* 07EA80 7F049F50 AFB00040 */ sw $s0, 0x40($sp) -/* 07EA84 7F049F54 00C08025 */ move $s0, $a2 -/* 07EA88 7F049F58 00A08825 */ move $s1, $a1 -/* 07EA8C 7F049F5C AFBF004C */ sw $ra, 0x4c($sp) -/* 07EA90 7F049F60 AFB20048 */ sw $s2, 0x48($sp) -/* 07EA94 7F049F64 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 07EA98 7F049F68 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 07EA9C 7F049F6C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 07EAA0 7F049F70 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 07EAA4 7F049F74 AFA400B0 */ sw $a0, 0xb0($sp) -/* 07EAA8 7F049F78 10A0031E */ beqz $a1, .L7F04ABF4 -/* 07EAAC 7F049F7C AFA700BC */ sw $a3, 0xbc($sp) -/* 07EAB0 7F049F80 94AE0000 */ lhu $t6, ($a1) -/* 07EAB4 7F049F84 24010018 */ li $at, 24 -/* 07EAB8 7F049F88 31CF00FF */ andi $t7, $t6, 0xff -/* 07EABC 7F049F8C 55E1031A */ bnel $t7, $at, .L7F04ABF8 -/* 07EAC0 7F049F90 8FBF004C */ lw $ra, 0x4c($sp) -/* 07EAC4 7F049F94 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 07EAC8 7F049F98 24040004 */ li $a0, 4 -/* 07EACC 7F049F9C 8FB800BC */ lw $t8, 0xbc($sp) -/* 07EAD0 7F049FA0 00409025 */ move $s2, $v0 -/* 07EAD4 7F049FA4 8FA400B0 */ lw $a0, 0xb0($sp) -/* 07EAD8 7F049FA8 27190008 */ addiu $t9, $t8, 8 -/* 07EADC 7F049FAC AFB900BC */ sw $t9, 0xbc($sp) -/* 07EAE0 7F049FB0 AFB800A8 */ sw $t8, 0xa8($sp) -/* 07EAE4 7F049FB4 8E280004 */ lw $t0, 4($s1) -/* 07EAE8 7F049FB8 02202825 */ move $a1, $s1 -/* 07EAEC 7F049FBC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07EAF0 7F049FC0 AFA800A4 */ sw $t0, 0xa4($sp) -/* 07EAF4 7F049FC4 3C018005 */ lui $at, %hi(D_80052C68) -/* 07EAF8 7F049FC8 C43A2C68 */ lwc1 $f26, %lo(D_80052C68)($at) -/* 07EAFC 7F049FCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07EB00 7F049FD0 4481C000 */ mtc1 $at, $f24 -/* 07EB04 7F049FD4 3C013A80 */ li $at, 0x3A800000 # 0.000977 -/* 07EB08 7F049FD8 4481B000 */ mtc1 $at, $f22 -/* 07EB0C 7F049FDC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EB10 7F049FE0 44811000 */ mtc1 $at, $f2 -/* 07EB14 7F049FE4 4480A000 */ mtc1 $zero, $f20 -/* 07EB18 7F049FE8 AFA200A0 */ sw $v0, 0xa0($sp) -/* 07EB1C 7F049FEC 00008825 */ move $s1, $zero -/* 07EB20 7F049FF0 96020004 */ lhu $v0, 4($s0) -.L7F049FF4: -/* 07EB24 7F049FF4 8E090000 */ lw $t1, ($s0) -/* 07EB28 7F049FF8 00025080 */ sll $t2, $v0, 2 -/* 07EB2C 7F049FFC 012A1821 */ addu $v1, $t1, $t2 -/* 07EB30 7F04A000 8C6B0000 */ lw $t3, ($v1) -/* 07EB34 7F04A004 2D610010 */ sltiu $at, $t3, 0x10 -/* 07EB38 7F04A008 10200117 */ beqz $at, .L7F04A468 -/* 07EB3C 7F04A00C 000B5880 */ sll $t3, $t3, 2 -/* 07EB40 7F04A010 3C018005 */ lui $at, %hi(jpt_80052C6C) -/* 07EB44 7F04A014 002B0821 */ addu $at, $at, $t3 -/* 07EB48 7F04A018 8C2B2C6C */ lw $t3, %lo(jpt_80052C6C)($at) -/* 07EB4C 7F04A01C 01600008 */ jr $t3 -/* 07EB50 7F04A020 00000000 */ nop -command00_reset_scroll_shift: -/* 07EB54 7F04A024 244C0001 */ addiu $t4, $v0, 1 -/* 07EB58 7F04A028 E6140040 */ swc1 $f20, 0x40($s0) -/* 07EB5C 7F04A02C E6140054 */ swc1 $f20, 0x54($s0) -/* 07EB60 7F04A030 1000010D */ b .L7F04A468 -/* 07EB64 7F04A034 A60C0004 */ sh $t4, 4($s0) -command01_horizontal_scroll: -/* 07EB68 7F04A038 E614003C */ swc1 $f20, 0x3c($s0) -/* 07EB6C 7F04A03C 8C6D0008 */ lw $t5, 8($v1) -/* 07EB70 7F04A040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EB74 7F04A044 448D2000 */ mtc1 $t5, $f4 -/* 07EB78 7F04A048 05A10004 */ bgez $t5, .L7F04A05C -/* 07EB7C 7F04A04C 468021A0 */ cvt.s.w $f6, $f4 -/* 07EB80 7F04A050 44814000 */ mtc1 $at, $f8 -/* 07EB84 7F04A054 00000000 */ nop -/* 07EB88 7F04A058 46083180 */ add.s $f6, $f6, $f8 -.L7F04A05C: -/* 07EB8C 7F04A05C 4606C283 */ div.s $f10, $f24, $f6 -/* 07EB90 7F04A060 C6000038 */ lwc1 $f0, 0x38($s0) -/* 07EB94 7F04A064 244F0003 */ addiu $t7, $v0, 3 -/* 07EB98 7F04A068 E6000044 */ swc1 $f0, 0x44($s0) -/* 07EB9C 7F04A06C E60A0040 */ swc1 $f10, 0x40($s0) -/* 07EBA0 7F04A070 8C6E0004 */ lw $t6, 4($v1) -/* 07EBA4 7F04A074 A60F0004 */ sh $t7, 4($s0) -/* 07EBA8 7F04A078 448E9000 */ mtc1 $t6, $f18 -/* 07EBAC 7F04A07C 00000000 */ nop -/* 07EBB0 7F04A080 46809120 */ cvt.s.w $f4, $f18 -/* 07EBB4 7F04A084 46162202 */ mul.s $f8, $f4, $f22 -/* 07EBB8 7F04A088 46080180 */ add.s $f6, $f0, $f8 -/* 07EBBC 7F04A08C 100000F6 */ b .L7F04A468 -/* 07EBC0 7F04A090 E6060048 */ swc1 $f6, 0x48($s0) -command02_vertical_scroll: -/* 07EBC4 7F04A094 E6140050 */ swc1 $f20, 0x50($s0) -/* 07EBC8 7F04A098 8C780008 */ lw $t8, 8($v1) -/* 07EBCC 7F04A09C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EBD0 7F04A0A0 44985000 */ mtc1 $t8, $f10 -/* 07EBD4 7F04A0A4 07010004 */ bgez $t8, .L7F04A0B8 -/* 07EBD8 7F04A0A8 468054A0 */ cvt.s.w $f18, $f10 -/* 07EBDC 7F04A0AC 44812000 */ mtc1 $at, $f4 -/* 07EBE0 7F04A0B0 00000000 */ nop -/* 07EBE4 7F04A0B4 46049480 */ add.s $f18, $f18, $f4 -.L7F04A0B8: -/* 07EBE8 7F04A0B8 4612C203 */ div.s $f8, $f24, $f18 -/* 07EBEC 7F04A0BC C600004C */ lwc1 $f0, 0x4c($s0) -/* 07EBF0 7F04A0C0 24480003 */ addiu $t0, $v0, 3 -/* 07EBF4 7F04A0C4 E6000058 */ swc1 $f0, 0x58($s0) -/* 07EBF8 7F04A0C8 E6080054 */ swc1 $f8, 0x54($s0) -/* 07EBFC 7F04A0CC 8C790004 */ lw $t9, 4($v1) -/* 07EC00 7F04A0D0 A6080004 */ sh $t0, 4($s0) -/* 07EC04 7F04A0D4 44993000 */ mtc1 $t9, $f6 -/* 07EC08 7F04A0D8 00000000 */ nop -/* 07EC0C 7F04A0DC 468032A0 */ cvt.s.w $f10, $f6 -/* 07EC10 7F04A0E0 46165102 */ mul.s $f4, $f10, $f22 -/* 07EC14 7F04A0E4 46040480 */ add.s $f18, $f0, $f4 -/* 07EC18 7F04A0E8 100000DF */ b .L7F04A468 -/* 07EC1C 7F04A0EC E612005C */ swc1 $f18, 0x5c($s0) -command03_horizontal_pos: -/* 07EC20 7F04A0F0 E614003C */ swc1 $f20, 0x3c($s0) -/* 07EC24 7F04A0F4 8C690008 */ lw $t1, 8($v1) -/* 07EC28 7F04A0F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EC2C 7F04A0FC 44894000 */ mtc1 $t1, $f8 -/* 07EC30 7F04A100 05210004 */ bgez $t1, .L7F04A114 -/* 07EC34 7F04A104 468041A0 */ cvt.s.w $f6, $f8 -/* 07EC38 7F04A108 44815000 */ mtc1 $at, $f10 -/* 07EC3C 7F04A10C 00000000 */ nop -/* 07EC40 7F04A110 460A3180 */ add.s $f6, $f6, $f10 -.L7F04A114: -/* 07EC44 7F04A114 4606C103 */ div.s $f4, $f24, $f6 -/* 07EC48 7F04A118 C6120038 */ lwc1 $f18, 0x38($s0) -/* 07EC4C 7F04A11C 244B0003 */ addiu $t3, $v0, 3 -/* 07EC50 7F04A120 E6120044 */ swc1 $f18, 0x44($s0) -/* 07EC54 7F04A124 E6040040 */ swc1 $f4, 0x40($s0) -/* 07EC58 7F04A128 8C6A0004 */ lw $t2, 4($v1) -/* 07EC5C 7F04A12C A60B0004 */ sh $t3, 4($s0) -/* 07EC60 7F04A130 448A4000 */ mtc1 $t2, $f8 -/* 07EC64 7F04A134 00000000 */ nop -/* 07EC68 7F04A138 468042A0 */ cvt.s.w $f10, $f8 -/* 07EC6C 7F04A13C 46165182 */ mul.s $f6, $f10, $f22 -/* 07EC70 7F04A140 100000C9 */ b .L7F04A468 -/* 07EC74 7F04A144 E6060048 */ swc1 $f6, 0x48($s0) -command04_vertical_pos: -/* 07EC78 7F04A148 E6140050 */ swc1 $f20, 0x50($s0) -/* 07EC7C 7F04A14C 8C6C0008 */ lw $t4, 8($v1) -/* 07EC80 7F04A150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EC84 7F04A154 448C2000 */ mtc1 $t4, $f4 -/* 07EC88 7F04A158 05810004 */ bgez $t4, .L7F04A16C -/* 07EC8C 7F04A15C 468024A0 */ cvt.s.w $f18, $f4 -/* 07EC90 7F04A160 44814000 */ mtc1 $at, $f8 -/* 07EC94 7F04A164 00000000 */ nop -/* 07EC98 7F04A168 46089480 */ add.s $f18, $f18, $f8 -.L7F04A16C: -/* 07EC9C 7F04A16C 4612C283 */ div.s $f10, $f24, $f18 -/* 07ECA0 7F04A170 C606004C */ lwc1 $f6, 0x4c($s0) -/* 07ECA4 7F04A174 244E0003 */ addiu $t6, $v0, 3 -/* 07ECA8 7F04A178 E6060058 */ swc1 $f6, 0x58($s0) -/* 07ECAC 7F04A17C E60A0054 */ swc1 $f10, 0x54($s0) -/* 07ECB0 7F04A180 8C6D0004 */ lw $t5, 4($v1) -/* 07ECB4 7F04A184 A60E0004 */ sh $t6, 4($s0) -/* 07ECB8 7F04A188 448D2000 */ mtc1 $t5, $f4 -/* 07ECBC 7F04A18C 00000000 */ nop -/* 07ECC0 7F04A190 46802220 */ cvt.s.w $f8, $f4 -/* 07ECC4 7F04A194 46164482 */ mul.s $f18, $f8, $f22 -/* 07ECC8 7F04A198 100000B3 */ b .L7F04A468 -/* 07ECCC 7F04A19C E612005C */ swc1 $f18, 0x5c($s0) -command05_zoomx: -/* 07ECD0 7F04A1A0 E6140014 */ swc1 $f20, 0x14($s0) -/* 07ECD4 7F04A1A4 8C6F0008 */ lw $t7, 8($v1) -/* 07ECD8 7F04A1A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07ECDC 7F04A1AC 448F5000 */ mtc1 $t7, $f10 -/* 07ECE0 7F04A1B0 05E10004 */ bgez $t7, .L7F04A1C4 -/* 07ECE4 7F04A1B4 468051A0 */ cvt.s.w $f6, $f10 -/* 07ECE8 7F04A1B8 44812000 */ mtc1 $at, $f4 -/* 07ECEC 7F04A1BC 00000000 */ nop -/* 07ECF0 7F04A1C0 46043180 */ add.s $f6, $f6, $f4 -.L7F04A1C4: -/* 07ECF4 7F04A1C4 4606C203 */ div.s $f8, $f24, $f6 -/* 07ECF8 7F04A1C8 C6120010 */ lwc1 $f18, 0x10($s0) -/* 07ECFC 7F04A1CC 24590003 */ addiu $t9, $v0, 3 -/* 07ED00 7F04A1D0 E612001C */ swc1 $f18, 0x1c($s0) -/* 07ED04 7F04A1D4 E6080018 */ swc1 $f8, 0x18($s0) -/* 07ED08 7F04A1D8 8C780004 */ lw $t8, 4($v1) -/* 07ED0C 7F04A1DC A6190004 */ sh $t9, 4($s0) -/* 07ED10 7F04A1E0 44985000 */ mtc1 $t8, $f10 -/* 07ED14 7F04A1E4 00000000 */ nop -/* 07ED18 7F04A1E8 46805120 */ cvt.s.w $f4, $f10 -/* 07ED1C 7F04A1EC 46162182 */ mul.s $f6, $f4, $f22 -/* 07ED20 7F04A1F0 1000009D */ b .L7F04A468 -/* 07ED24 7F04A1F4 E6060020 */ swc1 $f6, 0x20($s0) -command06_zoomy: -/* 07ED28 7F04A1F8 E6140028 */ swc1 $f20, 0x28($s0) -/* 07ED2C 7F04A1FC 8C680008 */ lw $t0, 8($v1) -/* 07ED30 7F04A200 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07ED34 7F04A204 44884000 */ mtc1 $t0, $f8 -/* 07ED38 7F04A208 05010004 */ bgez $t0, .L7F04A21C -/* 07ED3C 7F04A20C 468044A0 */ cvt.s.w $f18, $f8 -/* 07ED40 7F04A210 44815000 */ mtc1 $at, $f10 -/* 07ED44 7F04A214 00000000 */ nop -/* 07ED48 7F04A218 460A9480 */ add.s $f18, $f18, $f10 -.L7F04A21C: -/* 07ED4C 7F04A21C 4612C103 */ div.s $f4, $f24, $f18 -/* 07ED50 7F04A220 C6060024 */ lwc1 $f6, 0x24($s0) -/* 07ED54 7F04A224 244A0003 */ addiu $t2, $v0, 3 -/* 07ED58 7F04A228 E6060030 */ swc1 $f6, 0x30($s0) -/* 07ED5C 7F04A22C E604002C */ swc1 $f4, 0x2c($s0) -/* 07ED60 7F04A230 8C690004 */ lw $t1, 4($v1) -/* 07ED64 7F04A234 A60A0004 */ sh $t2, 4($s0) -/* 07ED68 7F04A238 44894000 */ mtc1 $t1, $f8 -/* 07ED6C 7F04A23C 00000000 */ nop -/* 07ED70 7F04A240 468042A0 */ cvt.s.w $f10, $f8 -/* 07ED74 7F04A244 46165482 */ mul.s $f18, $f10, $f22 -/* 07ED78 7F04A248 10000087 */ b .L7F04A468 -/* 07ED7C 7F04A24C E6120034 */ swc1 $f18, 0x34($s0) -command07_use_image_from_global_monitor_table: -/* 07ED80 7F04A250 02002025 */ move $a0, $s0 -/* 07ED84 7F04A254 0FC127D0 */ jal save_img_index_to_obj_ani_slot -/* 07ED88 7F04A258 8C650004 */ lw $a1, 4($v1) -/* 07ED8C 7F04A25C 960B0004 */ lhu $t3, 4($s0) -/* 07ED90 7F04A260 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07ED94 7F04A264 44811000 */ mtc1 $at, $f2 -/* 07ED98 7F04A268 256C0002 */ addiu $t4, $t3, 2 -/* 07ED9C 7F04A26C 1000007E */ b .L7F04A468 -/* 07EDA0 7F04A270 A60C0004 */ sh $t4, 4($s0) -command08_halt_processing_for_time: -/* 07EDA4 7F04A274 86020006 */ lh $v0, 6($s0) -/* 07EDA8 7F04A278 3C0D8005 */ lui $t5, %hi(clock_timer) -/* 07EDAC 7F04A27C 0442000E */ bltzl $v0, .L7F04A2B8 -/* 07EDB0 7F04A280 8C680004 */ lw $t0, 4($v1) -/* 07EDB4 7F04A284 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) -/* 07EDB8 7F04A288 004D7023 */ subu $t6, $v0, $t5 -/* 07EDBC 7F04A28C A60E0006 */ sh $t6, 6($s0) -/* 07EDC0 7F04A290 860F0006 */ lh $t7, 6($s0) -/* 07EDC4 7F04A294 05E20004 */ bltzl $t7, .L7F04A2A8 -/* 07EDC8 7F04A298 96180004 */ lhu $t8, 4($s0) -/* 07EDCC 7F04A29C 10000072 */ b .L7F04A468 -/* 07EDD0 7F04A2A0 24110001 */ li $s1, 1 -/* 07EDD4 7F04A2A4 96180004 */ lhu $t8, 4($s0) -.L7F04A2A8: -/* 07EDD8 7F04A2A8 27190002 */ addiu $t9, $t8, 2 -/* 07EDDC 7F04A2AC 1000006E */ b .L7F04A468 -/* 07EDE0 7F04A2B0 A6190004 */ sh $t9, 4($s0) -/* 07EDE4 7F04A2B4 8C680004 */ lw $t0, 4($v1) -.L7F04A2B8: -/* 07EDE8 7F04A2B8 24110001 */ li $s1, 1 -/* 07EDEC 7F04A2BC 1000006A */ b .L7F04A468 -/* 07EDF0 7F04A2C0 A6080006 */ sh $t0, 6($s0) -command09_jump: -/* 07EDF4 7F04A2C4 02002025 */ move $a0, $s0 -/* 07EDF8 7F04A2C8 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07EDFC 7F04A2CC 8C650004 */ lw $a1, 4($v1) -/* 07EE00 7F04A2D0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE04 7F04A2D4 44811000 */ mtc1 $at, $f2 -/* 07EE08 7F04A2D8 10000063 */ b .L7F04A468 -/* 07EE0C 7F04A2DC 00000000 */ nop -command0A_jump_conditional: -/* 07EE10 7F04A2E0 0C002914 */ jal get_random_value -/* 07EE14 7F04A2E4 AFA30094 */ sw $v1, 0x94($sp) -/* 07EE18 7F04A2E8 8FA30094 */ lw $v1, 0x94($sp) -/* 07EE1C 7F04A2EC 00024C02 */ srl $t1, $v0, 0x10 -/* 07EE20 7F04A2F0 02002025 */ move $a0, $s0 -/* 07EE24 7F04A2F4 8C6A0008 */ lw $t2, 8($v1) -/* 07EE28 7F04A2F8 012A082B */ sltu $at, $t1, $t2 -/* 07EE2C 7F04A2FC 50200008 */ beql $at, $zero, .L7F04A320 -/* 07EE30 7F04A300 960B0004 */ lhu $t3, 4($s0) -/* 07EE34 7F04A304 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07EE38 7F04A308 8C650004 */ lw $a1, 4($v1) -/* 07EE3C 7F04A30C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE40 7F04A310 44811000 */ mtc1 $at, $f2 -/* 07EE44 7F04A314 10000054 */ b .L7F04A468 -/* 07EE48 7F04A318 00000000 */ nop -/* 07EE4C 7F04A31C 960B0004 */ lhu $t3, 4($s0) -.L7F04A320: -/* 07EE50 7F04A320 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE54 7F04A324 44811000 */ mtc1 $at, $f2 -/* 07EE58 7F04A328 256C0003 */ addiu $t4, $t3, 3 -/* 07EE5C 7F04A32C A60C0004 */ sh $t4, 4($s0) -/* 07EE60 7F04A330 1000004D */ b .L7F04A468 -/* 07EE64 7F04A334 00000000 */ nop -command0B_restart: -/* 07EE68 7F04A338 1000004B */ b .L7F04A468 -/* 07EE6C 7F04A33C A6000004 */ sh $zero, 4($s0) -command0C_break: -/* 07EE70 7F04A340 10000049 */ b .L7F04A468 -/* 07EE74 7F04A344 24110001 */ li $s1, 1 -command0D_colour_transition: -/* 07EE78 7F04A348 E614006C */ swc1 $f20, 0x6c($s0) -/* 07EE7C 7F04A34C 8C6D0008 */ lw $t5, 8($v1) -/* 07EE80 7F04A350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EE84 7F04A354 448D2000 */ mtc1 $t5, $f4 -/* 07EE88 7F04A358 05A10004 */ bgez $t5, .L7F04A36C -/* 07EE8C 7F04A35C 468021A0 */ cvt.s.w $f6, $f4 -/* 07EE90 7F04A360 44814000 */ mtc1 $at, $f8 -/* 07EE94 7F04A364 00000000 */ nop -/* 07EE98 7F04A368 46083180 */ add.s $f6, $f6, $f8 -.L7F04A36C: -/* 07EE9C 7F04A36C 4606C283 */ div.s $f10, $f24, $f6 -/* 07EEA0 7F04A370 920E0060 */ lbu $t6, 0x60($s0) -/* 07EEA4 7F04A374 92080063 */ lbu $t0, 0x63($s0) -/* 07EEA8 7F04A378 920C0066 */ lbu $t4, 0x66($s0) -/* 07EEAC 7F04A37C A20E0061 */ sb $t6, 0x61($s0) -/* 07EEB0 7F04A380 92180069 */ lbu $t8, 0x69($s0) -/* 07EEB4 7F04A384 E60A0070 */ swc1 $f10, 0x70($s0) -/* 07EEB8 7F04A388 8C6F0004 */ lw $t7, 4($v1) -/* 07EEBC 7F04A38C A2080064 */ sb $t0, 0x64($s0) -/* 07EEC0 7F04A390 000FCE02 */ srl $t9, $t7, 0x18 -/* 07EEC4 7F04A394 A2190062 */ sb $t9, 0x62($s0) -/* 07EEC8 7F04A398 8C690004 */ lw $t1, 4($v1) -/* 07EECC 7F04A39C A20C0067 */ sb $t4, 0x67($s0) -/* 07EED0 7F04A3A0 00095C02 */ srl $t3, $t1, 0x10 -/* 07EED4 7F04A3A4 A20B0065 */ sb $t3, 0x65($s0) -/* 07EED8 7F04A3A8 8C6D0004 */ lw $t5, 4($v1) -/* 07EEDC 7F04A3AC A218006A */ sb $t8, 0x6a($s0) -/* 07EEE0 7F04A3B0 24490003 */ addiu $t1, $v0, 3 -/* 07EEE4 7F04A3B4 000D7A02 */ srl $t7, $t5, 8 -/* 07EEE8 7F04A3B8 A20F0068 */ sb $t7, 0x68($s0) -/* 07EEEC 7F04A3BC 8C680004 */ lw $t0, 4($v1) -/* 07EEF0 7F04A3C0 A6090004 */ sh $t1, 4($s0) -/* 07EEF4 7F04A3C4 10000028 */ b .L7F04A468 -/* 07EEF8 7F04A3C8 A208006B */ sb $t0, 0x6b($s0) -command0E_set_rotation: -/* 07EEFC 7F04A3CC 8C6A0004 */ lw $t2, 4($v1) -/* 07EF00 7F04A3D0 244B0002 */ addiu $t3, $v0, 2 -/* 07EF04 7F04A3D4 A60B0004 */ sh $t3, 4($s0) -/* 07EF08 7F04A3D8 448A9000 */ mtc1 $t2, $f18 -/* 07EF0C 7F04A3DC 00000000 */ nop -/* 07EF10 7F04A3E0 46809120 */ cvt.s.w $f4, $f18 -/* 07EF14 7F04A3E4 461A2202 */ mul.s $f8, $f4, $f26 -/* 07EF18 7F04A3E8 46024183 */ div.s $f6, $f8, $f2 -/* 07EF1C 7F04A3EC 1000001E */ b .L7F04A468 -/* 07EF20 7F04A3F0 E606000C */ swc1 $f6, 0xc($s0) -command0F_rotate: -/* 07EF24 7F04A3F4 8C6C0004 */ lw $t4, 4($v1) -/* 07EF28 7F04A3F8 3C018005 */ lui $at, %hi(global_timer_delta) -/* 07EF2C 7F04A3FC C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 07EF30 7F04A400 448C9000 */ mtc1 $t4, $f18 -/* 07EF34 7F04A404 00000000 */ nop -/* 07EF38 7F04A408 46809120 */ cvt.s.w $f4, $f18 -/* 07EF3C 7F04A40C 46045202 */ mul.s $f8, $f10, $f4 -/* 07EF40 7F04A410 C60A000C */ lwc1 $f10, 0xc($s0) -/* 07EF44 7F04A414 461A4182 */ mul.s $f6, $f8, $f26 -/* 07EF48 7F04A418 46023483 */ div.s $f18, $f6, $f2 -/* 07EF4C 7F04A41C 46125100 */ add.s $f4, $f10, $f18 -/* 07EF50 7F04A420 E604000C */ swc1 $f4, 0xc($s0) -/* 07EF54 7F04A424 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07EF58 7F04A428 460CD03E */ c.le.s $f26, $f12 -/* 07EF5C 7F04A42C 00000000 */ nop -/* 07EF60 7F04A430 45020005 */ bc1fl .L7F04A448 -/* 07EF64 7F04A434 4614603C */ c.lt.s $f12, $f20 -/* 07EF68 7F04A438 461A6201 */ sub.s $f8, $f12, $f26 -/* 07EF6C 7F04A43C E608000C */ swc1 $f8, 0xc($s0) -/* 07EF70 7F04A440 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07EF74 7F04A444 4614603C */ c.lt.s $f12, $f20 -.L7F04A448: -/* 07EF78 7F04A448 00000000 */ nop -/* 07EF7C 7F04A44C 45020004 */ bc1fl .L7F04A460 -/* 07EF80 7F04A450 960D0004 */ lhu $t5, 4($s0) -/* 07EF84 7F04A454 461A6180 */ add.s $f6, $f12, $f26 -/* 07EF88 7F04A458 E606000C */ swc1 $f6, 0xc($s0) -/* 07EF8C 7F04A45C 960D0004 */ lhu $t5, 4($s0) -.L7F04A460: -/* 07EF90 7F04A460 25AE0002 */ addiu $t6, $t5, 2 -/* 07EF94 7F04A464 A60E0004 */ sh $t6, 4($s0) -def_7F04A01C: -.L7F04A468: -/* 07EF98 7F04A468 5220FEE2 */ beql $s1, $zero, .L7F049FF4 -/* 07EF9C 7F04A46C 96020004 */ lhu $v0, 4($s0) -/* 07EFA0 7F04A470 C6000018 */ lwc1 $f0, 0x18($s0) -/* 07EFA4 7F04A474 4600A03C */ c.lt.s $f20, $f0 -/* 07EFA8 7F04A478 00000000 */ nop -/* 07EFAC 7F04A47C 45000017 */ bc1f .L7F04A4DC -/* 07EFB0 7F04A480 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 07EFB4 7F04A484 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 07EFB8 7F04A488 C4520000 */ lwc1 $f18, ($v0) -/* 07EFBC 7F04A48C C60A0014 */ lwc1 $f10, 0x14($s0) -/* 07EFC0 7F04A490 46120102 */ mul.s $f4, $f0, $f18 -/* 07EFC4 7F04A494 46045200 */ add.s $f8, $f10, $f4 -/* 07EFC8 7F04A498 E6080014 */ swc1 $f8, 0x14($s0) -/* 07EFCC 7F04A49C C6020014 */ lwc1 $f2, 0x14($s0) -/* 07EFD0 7F04A4A0 4618103C */ c.lt.s $f2, $f24 -/* 07EFD4 7F04A4A4 00000000 */ nop -/* 07EFD8 7F04A4A8 45020009 */ bc1fl .L7F04A4D0 -/* 07EFDC 7F04A4AC C6080020 */ lwc1 $f8, 0x20($s0) -/* 07EFE0 7F04A4B0 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07EFE4 7F04A4B4 C6060020 */ lwc1 $f6, 0x20($s0) -/* 07EFE8 7F04A4B8 46003481 */ sub.s $f18, $f6, $f0 -/* 07EFEC 7F04A4BC 46029282 */ mul.s $f10, $f18, $f2 -/* 07EFF0 7F04A4C0 460A0100 */ add.s $f4, $f0, $f10 -/* 07EFF4 7F04A4C4 10000005 */ b .L7F04A4DC -/* 07EFF8 7F04A4C8 E6040010 */ swc1 $f4, 0x10($s0) -/* 07EFFC 7F04A4CC C6080020 */ lwc1 $f8, 0x20($s0) -.L7F04A4D0: -/* 07F000 7F04A4D0 E6180014 */ swc1 $f24, 0x14($s0) -/* 07F004 7F04A4D4 E6140018 */ swc1 $f20, 0x18($s0) -/* 07F008 7F04A4D8 E6080010 */ swc1 $f8, 0x10($s0) -.L7F04A4DC: -/* 07F00C 7F04A4DC C600002C */ lwc1 $f0, 0x2c($s0) -/* 07F010 7F04A4E0 3C028005 */ lui $v0, %hi(global_timer_delta) -/* 07F014 7F04A4E4 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 -/* 07F018 7F04A4E8 4600A03C */ c.lt.s $f20, $f0 -/* 07F01C 7F04A4EC 00000000 */ nop -/* 07F020 7F04A4F0 45020017 */ bc1fl .L7F04A550 -/* 07F024 7F04A4F4 C6000040 */ lwc1 $f0, 0x40($s0) -/* 07F028 7F04A4F8 C4520000 */ lwc1 $f18, ($v0) -/* 07F02C 7F04A4FC C6060028 */ lwc1 $f6, 0x28($s0) -/* 07F030 7F04A500 46120282 */ mul.s $f10, $f0, $f18 -/* 07F034 7F04A504 460A3100 */ add.s $f4, $f6, $f10 -/* 07F038 7F04A508 E6040028 */ swc1 $f4, 0x28($s0) -/* 07F03C 7F04A50C C6020028 */ lwc1 $f2, 0x28($s0) -/* 07F040 7F04A510 4618103C */ c.lt.s $f2, $f24 -/* 07F044 7F04A514 00000000 */ nop -/* 07F048 7F04A518 45020009 */ bc1fl .L7F04A540 -/* 07F04C 7F04A51C C6040034 */ lwc1 $f4, 0x34($s0) -/* 07F050 7F04A520 C6000030 */ lwc1 $f0, 0x30($s0) -/* 07F054 7F04A524 C6080034 */ lwc1 $f8, 0x34($s0) -/* 07F058 7F04A528 46004481 */ sub.s $f18, $f8, $f0 -/* 07F05C 7F04A52C 46029182 */ mul.s $f6, $f18, $f2 -/* 07F060 7F04A530 46060280 */ add.s $f10, $f0, $f6 -/* 07F064 7F04A534 10000005 */ b .L7F04A54C -/* 07F068 7F04A538 E60A0024 */ swc1 $f10, 0x24($s0) -/* 07F06C 7F04A53C C6040034 */ lwc1 $f4, 0x34($s0) -.L7F04A540: -/* 07F070 7F04A540 E6180028 */ swc1 $f24, 0x28($s0) -/* 07F074 7F04A544 E614002C */ swc1 $f20, 0x2c($s0) -/* 07F078 7F04A548 E6040024 */ swc1 $f4, 0x24($s0) -.L7F04A54C: -/* 07F07C 7F04A54C C6000040 */ lwc1 $f0, 0x40($s0) -.L7F04A550: -/* 07F080 7F04A550 4600A03C */ c.lt.s $f20, $f0 -/* 07F084 7F04A554 00000000 */ nop -/* 07F088 7F04A558 45020017 */ bc1fl .L7F04A5B8 -/* 07F08C 7F04A55C C6000054 */ lwc1 $f0, 0x54($s0) -/* 07F090 7F04A560 C4520000 */ lwc1 $f18, ($v0) -/* 07F094 7F04A564 C608003C */ lwc1 $f8, 0x3c($s0) -/* 07F098 7F04A568 46120182 */ mul.s $f6, $f0, $f18 -/* 07F09C 7F04A56C 46064280 */ add.s $f10, $f8, $f6 -/* 07F0A0 7F04A570 E60A003C */ swc1 $f10, 0x3c($s0) -/* 07F0A4 7F04A574 C602003C */ lwc1 $f2, 0x3c($s0) -/* 07F0A8 7F04A578 4618103C */ c.lt.s $f2, $f24 -/* 07F0AC 7F04A57C 00000000 */ nop -/* 07F0B0 7F04A580 45020009 */ bc1fl .L7F04A5A8 -/* 07F0B4 7F04A584 C60A0048 */ lwc1 $f10, 0x48($s0) -/* 07F0B8 7F04A588 C6000044 */ lwc1 $f0, 0x44($s0) -/* 07F0BC 7F04A58C C6040048 */ lwc1 $f4, 0x48($s0) -/* 07F0C0 7F04A590 46002481 */ sub.s $f18, $f4, $f0 -/* 07F0C4 7F04A594 46029202 */ mul.s $f8, $f18, $f2 -/* 07F0C8 7F04A598 46080180 */ add.s $f6, $f0, $f8 -/* 07F0CC 7F04A59C 10000005 */ b .L7F04A5B4 -/* 07F0D0 7F04A5A0 E6060038 */ swc1 $f6, 0x38($s0) -/* 07F0D4 7F04A5A4 C60A0048 */ lwc1 $f10, 0x48($s0) -.L7F04A5A8: -/* 07F0D8 7F04A5A8 E618003C */ swc1 $f24, 0x3c($s0) -/* 07F0DC 7F04A5AC E6140040 */ swc1 $f20, 0x40($s0) -/* 07F0E0 7F04A5B0 E60A0038 */ swc1 $f10, 0x38($s0) -.L7F04A5B4: -/* 07F0E4 7F04A5B4 C6000054 */ lwc1 $f0, 0x54($s0) -.L7F04A5B8: -/* 07F0E8 7F04A5B8 4600A03C */ c.lt.s $f20, $f0 -/* 07F0EC 7F04A5BC 00000000 */ nop -/* 07F0F0 7F04A5C0 45020017 */ bc1fl .L7F04A620 -/* 07F0F4 7F04A5C4 C6020070 */ lwc1 $f2, 0x70($s0) -/* 07F0F8 7F04A5C8 C4520000 */ lwc1 $f18, ($v0) -/* 07F0FC 7F04A5CC C6040050 */ lwc1 $f4, 0x50($s0) -/* 07F100 7F04A5D0 46120202 */ mul.s $f8, $f0, $f18 -/* 07F104 7F04A5D4 46082180 */ add.s $f6, $f4, $f8 -/* 07F108 7F04A5D8 E6060050 */ swc1 $f6, 0x50($s0) -/* 07F10C 7F04A5DC C6020050 */ lwc1 $f2, 0x50($s0) -/* 07F110 7F04A5E0 4618103C */ c.lt.s $f2, $f24 -/* 07F114 7F04A5E4 00000000 */ nop -/* 07F118 7F04A5E8 45020009 */ bc1fl .L7F04A610 -/* 07F11C 7F04A5EC C606005C */ lwc1 $f6, 0x5c($s0) -/* 07F120 7F04A5F0 C6000058 */ lwc1 $f0, 0x58($s0) -/* 07F124 7F04A5F4 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 07F128 7F04A5F8 46005481 */ sub.s $f18, $f10, $f0 -/* 07F12C 7F04A5FC 46029102 */ mul.s $f4, $f18, $f2 -/* 07F130 7F04A600 46040200 */ add.s $f8, $f0, $f4 -/* 07F134 7F04A604 10000005 */ b .L7F04A61C -/* 07F138 7F04A608 E608004C */ swc1 $f8, 0x4c($s0) -/* 07F13C 7F04A60C C606005C */ lwc1 $f6, 0x5c($s0) -.L7F04A610: -/* 07F140 7F04A610 E6180050 */ swc1 $f24, 0x50($s0) -/* 07F144 7F04A614 E6140054 */ swc1 $f20, 0x54($s0) -/* 07F148 7F04A618 E606004C */ swc1 $f6, 0x4c($s0) -.L7F04A61C: -/* 07F14C 7F04A61C C6020070 */ lwc1 $f2, 0x70($s0) -.L7F04A620: -/* 07F150 7F04A620 4602A03C */ c.lt.s $f20, $f2 -/* 07F154 7F04A624 00000000 */ nop -/* 07F158 7F04A628 4502003F */ bc1fl .L7F04A728 -/* 07F15C 7F04A62C 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 07F160 7F04A630 C4520000 */ lwc1 $f18, ($v0) -/* 07F164 7F04A634 C60A006C */ lwc1 $f10, 0x6c($s0) -/* 07F168 7F04A638 46121102 */ mul.s $f4, $f2, $f18 -/* 07F16C 7F04A63C 46045200 */ add.s $f8, $f10, $f4 -/* 07F170 7F04A640 E608006C */ swc1 $f8, 0x6c($s0) -/* 07F174 7F04A644 C600006C */ lwc1 $f0, 0x6c($s0) -/* 07F178 7F04A648 4618003C */ c.lt.s $f0, $f24 -/* 07F17C 7F04A64C 00000000 */ nop -/* 07F180 7F04A650 4502002B */ bc1fl .L7F04A700 -/* 07F184 7F04A654 920F0062 */ lbu $t7, 0x62($s0) -/* 07F188 7F04A658 92020061 */ lbu $v0, 0x61($s0) -/* 07F18C 7F04A65C 920F0062 */ lbu $t7, 0x62($s0) -/* 07F190 7F04A660 92030064 */ lbu $v1, 0x64($s0) -/* 07F194 7F04A664 920A0065 */ lbu $t2, 0x65($s0) -/* 07F198 7F04A668 01E2C023 */ subu $t8, $t7, $v0 -/* 07F19C 7F04A66C 44983000 */ mtc1 $t8, $f6 -/* 07F1A0 7F04A670 01435823 */ subu $t3, $t2, $v1 -/* 07F1A4 7F04A674 448B4000 */ mtc1 $t3, $f8 -/* 07F1A8 7F04A678 468034A0 */ cvt.s.w $f18, $f6 -/* 07F1AC 7F04A67C 920F0068 */ lbu $t7, 0x68($s0) -/* 07F1B0 7F04A680 92040067 */ lbu $a0, 0x67($s0) -/* 07F1B4 7F04A684 920A006B */ lbu $t2, 0x6b($s0) -/* 07F1B8 7F04A688 9205006A */ lbu $a1, 0x6a($s0) -/* 07F1BC 7F04A68C 468041A0 */ cvt.s.w $f6, $f8 -/* 07F1C0 7F04A690 46009282 */ mul.s $f10, $f18, $f0 -/* 07F1C4 7F04A694 01E4C023 */ subu $t8, $t7, $a0 -/* 07F1C8 7F04A698 01455823 */ subu $t3, $t2, $a1 -/* 07F1CC 7F04A69C 46003482 */ mul.s $f18, $f6, $f0 -/* 07F1D0 7F04A6A0 4600510D */ trunc.w.s $f4, $f10 -/* 07F1D4 7F04A6A4 4600928D */ trunc.w.s $f10, $f18 -/* 07F1D8 7F04A6A8 44082000 */ mfc1 $t0, $f4 -/* 07F1DC 7F04A6AC 44982000 */ mtc1 $t8, $f4 -/* 07F1E0 7F04A6B0 440D5000 */ mfc1 $t5, $f10 -/* 07F1E4 7F04A6B4 46802220 */ cvt.s.w $f8, $f4 -/* 07F1E8 7F04A6B8 448B5000 */ mtc1 $t3, $f10 -/* 07F1EC 7F04A6BC 00484821 */ addu $t1, $v0, $t0 -/* 07F1F0 7F04A6C0 006D7021 */ addu $t6, $v1, $t5 -/* 07F1F4 7F04A6C4 A2090060 */ sb $t1, 0x60($s0) -/* 07F1F8 7F04A6C8 46805120 */ cvt.s.w $f4, $f10 -/* 07F1FC 7F04A6CC 46004182 */ mul.s $f6, $f8, $f0 -/* 07F200 7F04A6D0 A20E0063 */ sb $t6, 0x63($s0) -/* 07F204 7F04A6D4 46002202 */ mul.s $f8, $f4, $f0 -/* 07F208 7F04A6D8 4600348D */ trunc.w.s $f18, $f6 -/* 07F20C 7F04A6DC 4600418D */ trunc.w.s $f6, $f8 -/* 07F210 7F04A6E0 44089000 */ mfc1 $t0, $f18 -/* 07F214 7F04A6E4 440D3000 */ mfc1 $t5, $f6 -/* 07F218 7F04A6E8 00884821 */ addu $t1, $a0, $t0 -/* 07F21C 7F04A6EC A2090066 */ sb $t1, 0x66($s0) -/* 07F220 7F04A6F0 00AD7021 */ addu $t6, $a1, $t5 -/* 07F224 7F04A6F4 1000000B */ b .L7F04A724 -/* 07F228 7F04A6F8 A20E0069 */ sb $t6, 0x69($s0) -/* 07F22C 7F04A6FC 920F0062 */ lbu $t7, 0x62($s0) -.L7F04A700: -/* 07F230 7F04A700 92180065 */ lbu $t8, 0x65($s0) -/* 07F234 7F04A704 92190068 */ lbu $t9, 0x68($s0) -/* 07F238 7F04A708 9208006B */ lbu $t0, 0x6b($s0) -/* 07F23C 7F04A70C E618006C */ swc1 $f24, 0x6c($s0) -/* 07F240 7F04A710 E6140070 */ swc1 $f20, 0x70($s0) -/* 07F244 7F04A714 A20F0060 */ sb $t7, 0x60($s0) -/* 07F248 7F04A718 A2180063 */ sb $t8, 0x63($s0) -/* 07F24C 7F04A71C A2190066 */ sb $t9, 0x66($s0) -/* 07F250 7F04A720 A2080069 */ sb $t0, 0x69($s0) -.L7F04A724: -/* 07F254 7F04A724 8FAA00A0 */ lw $t2, 0xa0($sp) -.L7F04A728: -/* 07F258 7F04A728 8FA300A4 */ lw $v1, 0xa4($sp) -/* 07F25C 7F04A72C 8FA900BC */ lw $t1, 0xbc($sp) -/* 07F260 7F04A730 AD520000 */ sw $s2, ($t2) -/* 07F264 7F04A734 3C0F8009 */ lui $t7, %hi(monitorimages) -/* 07F268 7F04A738 AD490004 */ sw $t1, 4($t2) -/* 07F26C 7F04A73C 8C6B0008 */ lw $t3, 8($v1) -/* 07F270 7F04A740 8D610000 */ lw $at, ($t3) -/* 07F274 7F04A744 AE410000 */ sw $at, ($s2) -/* 07F278 7F04A748 8D6D0004 */ lw $t5, 4($t3) -/* 07F27C 7F04A74C AE4D0004 */ sw $t5, 4($s2) -/* 07F280 7F04A750 8D610008 */ lw $at, 8($t3) -/* 07F284 7F04A754 AE410008 */ sw $at, 8($s2) -/* 07F288 7F04A758 8D6D000C */ lw $t5, 0xc($t3) -/* 07F28C 7F04A75C AE4D000C */ sw $t5, 0xc($s2) -/* 07F290 7F04A760 8C6E0008 */ lw $t6, 8($v1) -/* 07F294 7F04A764 8DC10010 */ lw $at, 0x10($t6) -/* 07F298 7F04A768 AE410010 */ sw $at, 0x10($s2) -/* 07F29C 7F04A76C 8DD80014 */ lw $t8, 0x14($t6) -/* 07F2A0 7F04A770 AE580014 */ sw $t8, 0x14($s2) -/* 07F2A4 7F04A774 8DC10018 */ lw $at, 0x18($t6) -/* 07F2A8 7F04A778 AE410018 */ sw $at, 0x18($s2) -/* 07F2AC 7F04A77C 8DD8001C */ lw $t8, 0x1c($t6) -/* 07F2B0 7F04A780 AE58001C */ sw $t8, 0x1c($s2) -/* 07F2B4 7F04A784 8C790008 */ lw $t9, 8($v1) -/* 07F2B8 7F04A788 8F210020 */ lw $at, 0x20($t9) -/* 07F2BC 7F04A78C AE410020 */ sw $at, 0x20($s2) -/* 07F2C0 7F04A790 8F290024 */ lw $t1, 0x24($t9) -/* 07F2C4 7F04A794 AE490024 */ sw $t1, 0x24($s2) -/* 07F2C8 7F04A798 8F210028 */ lw $at, 0x28($t9) -/* 07F2CC 7F04A79C AE410028 */ sw $at, 0x28($s2) -/* 07F2D0 7F04A7A0 8F29002C */ lw $t1, 0x2c($t9) -/* 07F2D4 7F04A7A4 AE49002C */ sw $t1, 0x2c($s2) -/* 07F2D8 7F04A7A8 8C6A0008 */ lw $t2, 8($v1) -/* 07F2DC 7F04A7AC 8D410030 */ lw $at, 0x30($t2) -/* 07F2E0 7F04A7B0 AE410030 */ sw $at, 0x30($s2) -/* 07F2E4 7F04A7B4 8D4B0034 */ lw $t3, 0x34($t2) -/* 07F2E8 7F04A7B8 AE4B0034 */ sw $t3, 0x34($s2) -/* 07F2EC 7F04A7BC 8D410038 */ lw $at, 0x38($t2) -/* 07F2F0 7F04A7C0 AE410038 */ sw $at, 0x38($s2) -/* 07F2F4 7F04A7C4 8D4B003C */ lw $t3, 0x3c($t2) -/* 07F2F8 7F04A7C8 AE4B003C */ sw $t3, 0x3c($s2) -/* 07F2FC 7F04A7CC 8E020008 */ lw $v0, 8($s0) -/* 07F300 7F04A7D0 2C410064 */ sltiu $at, $v0, 0x64 -/* 07F304 7F04A7D4 10200007 */ beqz $at, .L7F04A7F4 -/* 07F308 7F04A7D8 00408825 */ move $s1, $v0 -/* 07F30C 7F04A7DC 00026880 */ sll $t5, $v0, 2 -/* 07F310 7F04A7E0 8DEFD120 */ lw $t7, %lo(monitorimages)($t7) -/* 07F314 7F04A7E4 01A26823 */ subu $t5, $t5, $v0 -/* 07F318 7F04A7E8 000D6880 */ sll $t5, $t5, 2 -/* 07F31C 7F04A7EC 10000001 */ b .L7F04A7F4 -/* 07F320 7F04A7F0 01AF8821 */ addu $s1, $t5, $t7 -.L7F04A7F4: -/* 07F324 7F04A7F4 122000A9 */ beqz $s1, .L7F04AA9C -/* 07F328 7F04A7F8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07F32C 7F04A7FC 44810000 */ mtc1 $at, $f0 -/* 07F330 7F04A800 C6120010 */ lwc1 $f18, 0x10($s0) -/* 07F334 7F04A804 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 07F338 7F04A808 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07F33C 7F04A80C 46009582 */ mul.s $f22, $f18, $f0 -/* 07F340 7F04A810 460CA032 */ c.eq.s $f20, $f12 -/* 07F344 7F04A814 46005602 */ mul.s $f24, $f10, $f0 -/* 07F348 7F04A818 4600B386 */ mov.s $f14, $f22 -/* 07F34C 7F04A81C 45010015 */ bc1t .L7F04A874 -/* 07F350 7F04A820 4600C406 */ mov.s $f16, $f24 -/* 07F354 7F04A824 E7AE0054 */ swc1 $f14, 0x54($sp) -/* 07F358 7F04A828 0FC15FA8 */ jal cosf -/* 07F35C 7F04A82C E7B00050 */ swc1 $f16, 0x50($sp) -/* 07F360 7F04A830 3C018005 */ lui $at, %hi(D_80052CB0) -/* 07F364 7F04A834 C43A2CB0 */ lwc1 $f26, %lo(D_80052CB0)($at) -/* 07F368 7F04A838 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07F36C 7F04A83C 461A0502 */ mul.s $f20, $f0, $f26 -/* 07F370 7F04A840 0FC15FAB */ jal sinf -/* 07F374 7F04A844 00000000 */ nop -/* 07F378 7F04A848 4614B582 */ mul.s $f22, $f22, $f20 -/* 07F37C 7F04A84C C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 07F380 7F04A850 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 07F384 7F04A854 461A0082 */ mul.s $f2, $f0, $f26 -/* 07F388 7F04A858 00000000 */ nop -/* 07F38C 7F04A85C 4602C602 */ mul.s $f24, $f24, $f2 -/* 07F390 7F04A860 00000000 */ nop -/* 07F394 7F04A864 46027382 */ mul.s $f14, $f14, $f2 -/* 07F398 7F04A868 00000000 */ nop -/* 07F39C 7F04A86C 46148402 */ mul.s $f16, $f16, $f20 -/* 07F3A0 7F04A870 00000000 */ nop -.L7F04A874: -/* 07F3A4 7F04A874 922E0004 */ lbu $t6, 4($s1) -/* 07F3A8 7F04A878 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 07F3AC 7F04A87C 44810000 */ mtc1 $at, $f0 -/* 07F3B0 7F04A880 448E4000 */ mtc1 $t6, $f8 -/* 07F3B4 7F04A884 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F3B8 7F04A888 05C10004 */ bgez $t6, .L7F04A89C -/* 07F3BC 7F04A88C 468041A0 */ cvt.s.w $f6, $f8 -/* 07F3C0 7F04A890 44819000 */ mtc1 $at, $f18 -/* 07F3C4 7F04A894 00000000 */ nop -/* 07F3C8 7F04A898 46123180 */ add.s $f6, $f6, $f18 -.L7F04A89C: -/* 07F3CC 7F04A89C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 07F3D0 7F04A8A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F3D4 7F04A8A4 46165100 */ add.s $f4, $f10, $f22 -/* 07F3D8 7F04A8A8 46043202 */ mul.s $f8, $f6, $f4 -/* 07F3DC 7F04A8AC 00000000 */ nop -/* 07F3E0 7F04A8B0 46004482 */ mul.s $f18, $f8, $f0 -/* 07F3E4 7F04A8B4 4600928D */ trunc.w.s $f10, $f18 -/* 07F3E8 7F04A8B8 44085000 */ mfc1 $t0, $f10 -/* 07F3EC 7F04A8BC 00000000 */ nop -/* 07F3F0 7F04A8C0 A6480008 */ sh $t0, 8($s2) -/* 07F3F4 7F04A8C4 92390005 */ lbu $t9, 5($s1) -/* 07F3F8 7F04A8C8 44993000 */ mtc1 $t9, $f6 -/* 07F3FC 7F04A8CC 07210004 */ bgez $t9, .L7F04A8E0 -/* 07F400 7F04A8D0 46803120 */ cvt.s.w $f4, $f6 -/* 07F404 7F04A8D4 44814000 */ mtc1 $at, $f8 -/* 07F408 7F04A8D8 00000000 */ nop -/* 07F40C 7F04A8DC 46082100 */ add.s $f4, $f4, $f8 -.L7F04A8E0: -/* 07F410 7F04A8E0 C612004C */ lwc1 $f18, 0x4c($s0) -/* 07F414 7F04A8E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F418 7F04A8E8 46189280 */ add.s $f10, $f18, $f24 -/* 07F41C 7F04A8EC 460A2182 */ mul.s $f6, $f4, $f10 -/* 07F420 7F04A8F0 00000000 */ nop -/* 07F424 7F04A8F4 46003202 */ mul.s $f8, $f6, $f0 -/* 07F428 7F04A8F8 4600448D */ trunc.w.s $f18, $f8 -/* 07F42C 7F04A8FC 440C9000 */ mfc1 $t4, $f18 -/* 07F430 7F04A900 00000000 */ nop -/* 07F434 7F04A904 A64C000A */ sh $t4, 0xa($s2) -/* 07F438 7F04A908 922A0004 */ lbu $t2, 4($s1) -/* 07F43C 7F04A90C 448A2000 */ mtc1 $t2, $f4 -/* 07F440 7F04A910 05410004 */ bgez $t2, .L7F04A924 -/* 07F444 7F04A914 468022A0 */ cvt.s.w $f10, $f4 -/* 07F448 7F04A918 44813000 */ mtc1 $at, $f6 -/* 07F44C 7F04A91C 00000000 */ nop -/* 07F450 7F04A920 46065280 */ add.s $f10, $f10, $f6 -.L7F04A924: -/* 07F454 7F04A924 C6080038 */ lwc1 $f8, 0x38($s0) -/* 07F458 7F04A928 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F45C 7F04A92C 460E4481 */ sub.s $f18, $f8, $f14 -/* 07F460 7F04A930 46125102 */ mul.s $f4, $f10, $f18 -/* 07F464 7F04A934 00000000 */ nop -/* 07F468 7F04A938 46002182 */ mul.s $f6, $f4, $f0 -/* 07F46C 7F04A93C 4600320D */ trunc.w.s $f8, $f6 -/* 07F470 7F04A940 440D4000 */ mfc1 $t5, $f8 -/* 07F474 7F04A944 00000000 */ nop -/* 07F478 7F04A948 A64D0018 */ sh $t5, 0x18($s2) -/* 07F47C 7F04A94C 922F0005 */ lbu $t7, 5($s1) -/* 07F480 7F04A950 448F5000 */ mtc1 $t7, $f10 -/* 07F484 7F04A954 05E10004 */ bgez $t7, .L7F04A968 -/* 07F488 7F04A958 468054A0 */ cvt.s.w $f18, $f10 -/* 07F48C 7F04A95C 44812000 */ mtc1 $at, $f4 -/* 07F490 7F04A960 00000000 */ nop -/* 07F494 7F04A964 46049480 */ add.s $f18, $f18, $f4 -.L7F04A968: -/* 07F498 7F04A968 C606004C */ lwc1 $f6, 0x4c($s0) -/* 07F49C 7F04A96C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F4A0 7F04A970 46103200 */ add.s $f8, $f6, $f16 -/* 07F4A4 7F04A974 46089282 */ mul.s $f10, $f18, $f8 -/* 07F4A8 7F04A978 00000000 */ nop -/* 07F4AC 7F04A97C 46005102 */ mul.s $f4, $f10, $f0 -/* 07F4B0 7F04A980 4600218D */ trunc.w.s $f6, $f4 -/* 07F4B4 7F04A984 44183000 */ mfc1 $t8, $f6 -/* 07F4B8 7F04A988 00000000 */ nop -/* 07F4BC 7F04A98C A658001A */ sh $t8, 0x1a($s2) -/* 07F4C0 7F04A990 92280004 */ lbu $t0, 4($s1) -/* 07F4C4 7F04A994 44889000 */ mtc1 $t0, $f18 -/* 07F4C8 7F04A998 05010004 */ bgez $t0, .L7F04A9AC -/* 07F4CC 7F04A99C 46809220 */ cvt.s.w $f8, $f18 -/* 07F4D0 7F04A9A0 44815000 */ mtc1 $at, $f10 -/* 07F4D4 7F04A9A4 00000000 */ nop -/* 07F4D8 7F04A9A8 460A4200 */ add.s $f8, $f8, $f10 -.L7F04A9AC: -/* 07F4DC 7F04A9AC C6040038 */ lwc1 $f4, 0x38($s0) -/* 07F4E0 7F04A9B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F4E4 7F04A9B4 46162181 */ sub.s $f6, $f4, $f22 -/* 07F4E8 7F04A9B8 46064482 */ mul.s $f18, $f8, $f6 -/* 07F4EC 7F04A9BC 00000000 */ nop -/* 07F4F0 7F04A9C0 46009282 */ mul.s $f10, $f18, $f0 -/* 07F4F4 7F04A9C4 4600510D */ trunc.w.s $f4, $f10 -/* 07F4F8 7F04A9C8 44092000 */ mfc1 $t1, $f4 -/* 07F4FC 7F04A9CC 00000000 */ nop -/* 07F500 7F04A9D0 A6490028 */ sh $t1, 0x28($s2) -/* 07F504 7F04A9D4 922C0005 */ lbu $t4, 5($s1) -/* 07F508 7F04A9D8 448C4000 */ mtc1 $t4, $f8 -/* 07F50C 7F04A9DC 05810004 */ bgez $t4, .L7F04A9F0 -/* 07F510 7F04A9E0 468041A0 */ cvt.s.w $f6, $f8 -/* 07F514 7F04A9E4 44819000 */ mtc1 $at, $f18 -/* 07F518 7F04A9E8 00000000 */ nop -/* 07F51C 7F04A9EC 46123180 */ add.s $f6, $f6, $f18 -.L7F04A9F0: -/* 07F520 7F04A9F0 C60A004C */ lwc1 $f10, 0x4c($s0) -/* 07F524 7F04A9F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F528 7F04A9F8 46185101 */ sub.s $f4, $f10, $f24 -/* 07F52C 7F04A9FC 46043202 */ mul.s $f8, $f6, $f4 -/* 07F530 7F04AA00 00000000 */ nop -/* 07F534 7F04AA04 46004482 */ mul.s $f18, $f8, $f0 -/* 07F538 7F04AA08 4600928D */ trunc.w.s $f10, $f18 -/* 07F53C 7F04AA0C 440B5000 */ mfc1 $t3, $f10 -/* 07F540 7F04AA10 00000000 */ nop -/* 07F544 7F04AA14 A64B002A */ sh $t3, 0x2a($s2) -/* 07F548 7F04AA18 922D0004 */ lbu $t5, 4($s1) -/* 07F54C 7F04AA1C 448D3000 */ mtc1 $t5, $f6 -/* 07F550 7F04AA20 05A10004 */ bgez $t5, .L7F04AA34 -/* 07F554 7F04AA24 46803120 */ cvt.s.w $f4, $f6 -/* 07F558 7F04AA28 44814000 */ mtc1 $at, $f8 -/* 07F55C 7F04AA2C 00000000 */ nop -/* 07F560 7F04AA30 46082100 */ add.s $f4, $f4, $f8 -.L7F04AA34: -/* 07F564 7F04AA34 C6120038 */ lwc1 $f18, 0x38($s0) -/* 07F568 7F04AA38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F56C 7F04AA3C 460E9280 */ add.s $f10, $f18, $f14 -/* 07F570 7F04AA40 460A2182 */ mul.s $f6, $f4, $f10 -/* 07F574 7F04AA44 00000000 */ nop -/* 07F578 7F04AA48 46003202 */ mul.s $f8, $f6, $f0 -/* 07F57C 7F04AA4C 4600448D */ trunc.w.s $f18, $f8 -/* 07F580 7F04AA50 440E9000 */ mfc1 $t6, $f18 -/* 07F584 7F04AA54 00000000 */ nop -/* 07F588 7F04AA58 A64E0038 */ sh $t6, 0x38($s2) -/* 07F58C 7F04AA5C 92380005 */ lbu $t8, 5($s1) -/* 07F590 7F04AA60 44982000 */ mtc1 $t8, $f4 -/* 07F594 7F04AA64 07010004 */ bgez $t8, .L7F04AA78 -/* 07F598 7F04AA68 468022A0 */ cvt.s.w $f10, $f4 -/* 07F59C 7F04AA6C 44813000 */ mtc1 $at, $f6 -/* 07F5A0 7F04AA70 00000000 */ nop -/* 07F5A4 7F04AA74 46065280 */ add.s $f10, $f10, $f6 -.L7F04AA78: -/* 07F5A8 7F04AA78 C608004C */ lwc1 $f8, 0x4c($s0) -/* 07F5AC 7F04AA7C 46104481 */ sub.s $f18, $f8, $f16 -/* 07F5B0 7F04AA80 46125102 */ mul.s $f4, $f10, $f18 -/* 07F5B4 7F04AA84 00000000 */ nop -/* 07F5B8 7F04AA88 46002182 */ mul.s $f6, $f4, $f0 -/* 07F5BC 7F04AA8C 4600320D */ trunc.w.s $f8, $f6 -/* 07F5C0 7F04AA90 44194000 */ mfc1 $t9, $f8 -/* 07F5C4 7F04AA94 00000000 */ nop -/* 07F5C8 7F04AA98 A659003A */ sh $t9, 0x3a($s2) -.L7F04AA9C: -/* 07F5CC 7F04AA9C 92020060 */ lbu $v0, 0x60($s0) -/* 07F5D0 7F04AAA0 240C0002 */ li $t4, 2 -/* 07F5D4 7F04AAA4 3C0DB700 */ lui $t5, 0xb700 -/* 07F5D8 7F04AAA8 A242003C */ sb $v0, 0x3c($s2) -/* 07F5DC 7F04AAAC A242002C */ sb $v0, 0x2c($s2) -/* 07F5E0 7F04AAB0 A242001C */ sb $v0, 0x1c($s2) -/* 07F5E4 7F04AAB4 A242000C */ sb $v0, 0xc($s2) -/* 07F5E8 7F04AAB8 92020063 */ lbu $v0, 0x63($s0) -/* 07F5EC 7F04AABC 240F2000 */ li $t7, 8192 -/* 07F5F0 7F04AAC0 27A400BC */ addiu $a0, $sp, 0xbc -/* 07F5F4 7F04AAC4 A242003D */ sb $v0, 0x3d($s2) -/* 07F5F8 7F04AAC8 A242002D */ sb $v0, 0x2d($s2) -/* 07F5FC 7F04AACC A242001D */ sb $v0, 0x1d($s2) -/* 07F600 7F04AAD0 A242000D */ sb $v0, 0xd($s2) -/* 07F604 7F04AAD4 92030066 */ lbu $v1, 0x66($s0) -/* 07F608 7F04AAD8 A243003E */ sb $v1, 0x3e($s2) -/* 07F60C 7F04AADC A243002E */ sb $v1, 0x2e($s2) -/* 07F610 7F04AAE0 A243001E */ sb $v1, 0x1e($s2) -/* 07F614 7F04AAE4 A243000E */ sb $v1, 0xe($s2) -/* 07F618 7F04AAE8 92020069 */ lbu $v0, 0x69($s0) -/* 07F61C 7F04AAEC A242003F */ sb $v0, 0x3f($s2) -/* 07F620 7F04AAF0 A242002F */ sb $v0, 0x2f($s2) -/* 07F624 7F04AAF4 A242001F */ sb $v0, 0x1f($s2) -/* 07F628 7F04AAF8 A242000F */ sb $v0, 0xf($s2) -/* 07F62C 7F04AAFC 92090069 */ lbu $t1, 0x69($s0) -/* 07F630 7F04AB00 292100FF */ slti $at, $t1, 0xff -/* 07F634 7F04AB04 50200003 */ beql $at, $zero, .L7F04AB14 -/* 07F638 7F04AB08 8FAA00BC */ lw $t2, 0xbc($sp) -/* 07F63C 7F04AB0C AFAC00C4 */ sw $t4, 0xc4($sp) -/* 07F640 7F04AB10 8FAA00BC */ lw $t2, 0xbc($sp) -.L7F04AB14: -/* 07F644 7F04AB14 240E0002 */ li $t6, 2 -/* 07F648 7F04AB18 02202825 */ move $a1, $s1 -/* 07F64C 7F04AB1C 254B0008 */ addiu $t3, $t2, 8 -/* 07F650 7F04AB20 AFAB00BC */ sw $t3, 0xbc($sp) -/* 07F654 7F04AB24 AD4F0004 */ sw $t7, 4($t2) -/* 07F658 7F04AB28 AD4D0000 */ sw $t5, ($t2) -/* 07F65C 7F04AB2C AFAE0010 */ sw $t6, 0x10($sp) -/* 07F660 7F04AB30 8FA700C0 */ lw $a3, 0xc0($sp) -/* 07F664 7F04AB34 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 07F668 7F04AB38 8FA600C4 */ lw $a2, 0xc4($sp) -/* 07F66C 7F04AB3C 8FB000BC */ lw $s0, 0xbc($sp) -/* 07F670 7F04AB40 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102 -/* 07F674 7F04AB44 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 07F678 7F04AB48 26080008 */ addiu $t0, $s0, 8 -/* 07F67C 7F04AB4C AFA800BC */ sw $t0, 0xbc($sp) -/* 07F680 7F04AB50 AE190000 */ sw $t9, ($s0) -/* 07F684 7F04AB54 8FA900B0 */ lw $t1, 0xb0($sp) -/* 07F688 7F04AB58 0C003A2C */ jal osVirtualToPhysical -/* 07F68C 7F04AB5C 8D24000C */ lw $a0, 0xc($t1) -/* 07F690 7F04AB60 AE020004 */ sw $v0, 4($s0) -/* 07F694 7F04AB64 8FB100BC */ lw $s1, 0xbc($sp) -/* 07F698 7F04AB68 3C0BBC00 */ lui $t3, (0xBC001006 >> 16) # lui $t3, 0xbc00 -/* 07F69C 7F04AB6C 356B1006 */ ori $t3, (0xBC001006 & 0xFFFF) # ori $t3, $t3, 0x1006 -/* 07F6A0 7F04AB70 262A0008 */ addiu $t2, $s1, 8 -/* 07F6A4 7F04AB74 AFAA00BC */ sw $t2, 0xbc($sp) -/* 07F6A8 7F04AB78 02402025 */ move $a0, $s2 -/* 07F6AC 7F04AB7C 0C003A2C */ jal osVirtualToPhysical -/* 07F6B0 7F04AB80 AE2B0000 */ sw $t3, ($s1) -/* 07F6B4 7F04AB84 AE220004 */ sw $v0, 4($s1) -/* 07F6B8 7F04AB88 8FAD00BC */ lw $t5, 0xbc($sp) -/* 07F6BC 7F04AB8C 3C0E0430 */ lui $t6, (0x04300040 >> 16) # lui $t6, 0x430 -/* 07F6C0 7F04AB90 35CE0040 */ ori $t6, (0x04300040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 07F6C4 7F04AB94 25AF0008 */ addiu $t7, $t5, 8 -/* 07F6C8 7F04AB98 AFAF00BC */ sw $t7, 0xbc($sp) -/* 07F6CC 7F04AB9C 3C180400 */ lui $t8, 0x400 -/* 07F6D0 7F04ABA0 ADB80004 */ sw $t8, 4($t5) -/* 07F6D4 7F04ABA4 ADAE0000 */ sw $t6, ($t5) -/* 07F6D8 7F04ABA8 8FA800BC */ lw $t0, 0xbc($sp) -/* 07F6DC 7F04ABAC 3C09B100 */ lui $t1, (0xB1000032 >> 16) # lui $t1, 0xb100 -/* 07F6E0 7F04ABB0 35290032 */ ori $t1, (0xB1000032 & 0xFFFF) # ori $t1, $t1, 0x32 -/* 07F6E4 7F04ABB4 25190008 */ addiu $t9, $t0, 8 -/* 07F6E8 7F04ABB8 AFB900BC */ sw $t9, 0xbc($sp) -/* 07F6EC 7F04ABBC 240C2010 */ li $t4, 8208 -/* 07F6F0 7F04ABC0 AD0C0004 */ sw $t4, 4($t0) -/* 07F6F4 7F04ABC4 AD090000 */ sw $t1, ($t0) -/* 07F6F8 7F04ABC8 8FAA00BC */ lw $t2, 0xbc($sp) -/* 07F6FC 7F04ABCC 3C0DB800 */ lui $t5, 0xb800 -/* 07F700 7F04ABD0 3C0F0601 */ lui $t7, 0x601 -/* 07F704 7F04ABD4 254B0008 */ addiu $t3, $t2, 8 -/* 07F708 7F04ABD8 AFAB00BC */ sw $t3, 0xbc($sp) -/* 07F70C 7F04ABDC AD400004 */ sw $zero, 4($t2) -/* 07F710 7F04ABE0 AD4D0000 */ sw $t5, ($t2) -/* 07F714 7F04ABE4 8FA600A8 */ lw $a2, 0xa8($sp) -/* 07F718 7F04ABE8 ACCF0000 */ sw $t7, ($a2) -/* 07F71C 7F04ABEC 8FAE00BC */ lw $t6, 0xbc($sp) -/* 07F720 7F04ABF0 ACCE0004 */ sw $t6, 4($a2) -.L7F04ABF4: -/* 07F724 7F04ABF4 8FBF004C */ lw $ra, 0x4c($sp) -.L7F04ABF8: -/* 07F728 7F04ABF8 8FA200BC */ lw $v0, 0xbc($sp) -/* 07F72C 7F04ABFC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 07F730 7F04AC00 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 07F734 7F04AC04 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 07F738 7F04AC08 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 07F73C 7F04AC0C 8FB00040 */ lw $s0, 0x40($sp) -/* 07F740 7F04AC10 8FB10044 */ lw $s1, 0x44($sp) -/* 07F744 7F04AC14 8FB20048 */ lw $s2, 0x48($sp) -/* 07F748 7F04AC18 03E00008 */ jr $ra -/* 07F74C 7F04AC1C 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_80052C68 -.word 0x40c90fdb /*6.2831855*/ -/*D:80052C6C*/ -glabel jpt_80052C6C -.word command00_reset_scroll_shift -.word command01_horizontal_scroll -.word command02_vertical_scroll -.word command03_horizontal_pos -.word command04_vertical_pos -.word command05_zoomx -.word command06_zoomy -.word command07_use_image_from_global_monitor_table -.word command08_halt_processing_for_time -.word command09_jump -.word command0A_jump_conditional -.word command0B_restart -.word command0C_break -.word command0D_colour_transition -.word command0E_set_rotation -.word command0F_rotate - -glabel D_80052CAC -.word 0x3fc90fdb /*1.5707964*/ -glabel D_80052CB0 -.word 0x3fb50481 /*1.4141999*/ -glabel D_80052CB4 -.word 0x3f59999a /*0.85000002*/ -glabel D_80052CB8 -.word 0x3e19999a /*0.15000001*/ -glabel D_80052CBC -.word 0x3e19999a /*0.15000001*/ -glabel D_80052CC0 -.word 0x3f666666 /*0.89999998*/ -.text -glabel process_monitor_animation_microcode -/* 07EA78 7F049F48 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 07EA7C 7F049F4C AFB10044 */ sw $s1, 0x44($sp) -/* 07EA80 7F049F50 AFB00040 */ sw $s0, 0x40($sp) -/* 07EA84 7F049F54 00C08025 */ move $s0, $a2 -/* 07EA88 7F049F58 00A08825 */ move $s1, $a1 -/* 07EA8C 7F049F5C AFBF004C */ sw $ra, 0x4c($sp) -/* 07EA90 7F049F60 AFB20048 */ sw $s2, 0x48($sp) -/* 07EA94 7F049F64 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 07EA98 7F049F68 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 07EA9C 7F049F6C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 07EAA0 7F049F70 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 07EAA4 7F049F74 AFA400B0 */ sw $a0, 0xb0($sp) -/* 07EAA8 7F049F78 10A0031E */ beqz $a1, .L7F04ABF4 -/* 07EAAC 7F049F7C AFA700BC */ sw $a3, 0xbc($sp) -/* 07EAB0 7F049F80 94AE0000 */ lhu $t6, ($a1) -/* 07EAB4 7F049F84 24010018 */ li $at, 24 -/* 07EAB8 7F049F88 31CF00FF */ andi $t7, $t6, 0xff -/* 07EABC 7F049F8C 55E1031A */ bnel $t7, $at, .L7F04ABF8 -/* 07EAC0 7F049F90 8FBF004C */ lw $ra, 0x4c($sp) -/* 07EAC4 7F049F94 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 07EAC8 7F049F98 24040004 */ li $a0, 4 -/* 07EACC 7F049F9C 8FB800BC */ lw $t8, 0xbc($sp) -/* 07EAD0 7F049FA0 00409025 */ move $s2, $v0 -/* 07EAD4 7F049FA4 8FA400B0 */ lw $a0, 0xb0($sp) -/* 07EAD8 7F049FA8 27190008 */ addiu $t9, $t8, 8 -/* 07EADC 7F049FAC AFB900BC */ sw $t9, 0xbc($sp) -/* 07EAE0 7F049FB0 AFB800A8 */ sw $t8, 0xa8($sp) -/* 07EAE4 7F049FB4 8E280004 */ lw $t0, 4($s1) -/* 07EAE8 7F049FB8 02202825 */ move $a1, $s1 -/* 07EAEC 7F049FBC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 07EAF0 7F049FC0 AFA800A4 */ sw $t0, 0xa4($sp) -/* 07EAF4 7F049FC4 3C018005 */ lui $at, %hi(D_80052C68) -/* 07EAF8 7F049FC8 C43A2C68 */ lwc1 $f26, %lo(D_80052C68)($at) -/* 07EAFC 7F049FCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 07EB00 7F049FD0 4481C000 */ mtc1 $at, $f24 -/* 07EB04 7F049FD4 3C013A80 */ li $at, 0x3A800000 # 0.000977 -/* 07EB08 7F049FD8 4481B000 */ mtc1 $at, $f22 -/* 07EB0C 7F049FDC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EB10 7F049FE0 44811000 */ mtc1 $at, $f2 -/* 07EB14 7F049FE4 4480A000 */ mtc1 $zero, $f20 -/* 07EB18 7F049FE8 AFA200A0 */ sw $v0, 0xa0($sp) -/* 07EB1C 7F049FEC 00008825 */ move $s1, $zero -/* 07EB20 7F049FF0 96020004 */ lhu $v0, 4($s0) -.L7F049FF4: -/* 07EB24 7F049FF4 8E090000 */ lw $t1, ($s0) -/* 07EB28 7F049FF8 00025080 */ sll $t2, $v0, 2 -/* 07EB2C 7F049FFC 012A1821 */ addu $v1, $t1, $t2 -/* 07EB30 7F04A000 8C6B0000 */ lw $t3, ($v1) -/* 07EB34 7F04A004 2D610010 */ sltiu $at, $t3, 0x10 -/* 07EB38 7F04A008 10200117 */ beqz $at, .L7F04A468 -/* 07EB3C 7F04A00C 000B5880 */ sll $t3, $t3, 2 -/* 07EB40 7F04A010 3C018005 */ lui $at, %hi(jpt_80052C6C) -/* 07EB44 7F04A014 002B0821 */ addu $at, $at, $t3 -/* 07EB48 7F04A018 8C2B2C6C */ lw $t3, %lo(jpt_80052C6C)($at) -/* 07EB4C 7F04A01C 01600008 */ jr $t3 -/* 07EB50 7F04A020 00000000 */ nop -command00_reset_scroll_shift: -/* 07EB54 7F04A024 244C0001 */ addiu $t4, $v0, 1 -/* 07EB58 7F04A028 E6140040 */ swc1 $f20, 0x40($s0) -/* 07EB5C 7F04A02C E6140054 */ swc1 $f20, 0x54($s0) -/* 07EB60 7F04A030 1000010D */ b .L7F04A468 -/* 07EB64 7F04A034 A60C0004 */ sh $t4, 4($s0) -command01_horizontal_scroll: -/* 07EB68 7F04A038 E614003C */ swc1 $f20, 0x3c($s0) -/* 07EB6C 7F04A03C 8C6D0008 */ lw $t5, 8($v1) -/* 07EB70 7F04A040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EB74 7F04A044 448D2000 */ mtc1 $t5, $f4 -/* 07EB78 7F04A048 05A10004 */ bgez $t5, .L7F04A05C -/* 07EB7C 7F04A04C 468021A0 */ cvt.s.w $f6, $f4 -/* 07EB80 7F04A050 44814000 */ mtc1 $at, $f8 -/* 07EB84 7F04A054 00000000 */ nop -/* 07EB88 7F04A058 46083180 */ add.s $f6, $f6, $f8 -.L7F04A05C: -/* 07EB8C 7F04A05C 4606C283 */ div.s $f10, $f24, $f6 -/* 07EB90 7F04A060 C6000038 */ lwc1 $f0, 0x38($s0) -/* 07EB94 7F04A064 244F0003 */ addiu $t7, $v0, 3 -/* 07EB98 7F04A068 E6000044 */ swc1 $f0, 0x44($s0) -/* 07EB9C 7F04A06C E60A0040 */ swc1 $f10, 0x40($s0) -/* 07EBA0 7F04A070 8C6E0004 */ lw $t6, 4($v1) -/* 07EBA4 7F04A074 A60F0004 */ sh $t7, 4($s0) -/* 07EBA8 7F04A078 448E9000 */ mtc1 $t6, $f18 -/* 07EBAC 7F04A07C 00000000 */ nop -/* 07EBB0 7F04A080 46809120 */ cvt.s.w $f4, $f18 -/* 07EBB4 7F04A084 46162202 */ mul.s $f8, $f4, $f22 -/* 07EBB8 7F04A088 46080180 */ add.s $f6, $f0, $f8 -/* 07EBBC 7F04A08C 100000F6 */ b .L7F04A468 -/* 07EBC0 7F04A090 E6060048 */ swc1 $f6, 0x48($s0) -command02_vertical_scroll: -/* 07EBC4 7F04A094 E6140050 */ swc1 $f20, 0x50($s0) -/* 07EBC8 7F04A098 8C780008 */ lw $t8, 8($v1) -/* 07EBCC 7F04A09C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EBD0 7F04A0A0 44985000 */ mtc1 $t8, $f10 -/* 07EBD4 7F04A0A4 07010004 */ bgez $t8, .L7F04A0B8 -/* 07EBD8 7F04A0A8 468054A0 */ cvt.s.w $f18, $f10 -/* 07EBDC 7F04A0AC 44812000 */ mtc1 $at, $f4 -/* 07EBE0 7F04A0B0 00000000 */ nop -/* 07EBE4 7F04A0B4 46049480 */ add.s $f18, $f18, $f4 -.L7F04A0B8: -/* 07EBE8 7F04A0B8 4612C203 */ div.s $f8, $f24, $f18 -/* 07EBEC 7F04A0BC C600004C */ lwc1 $f0, 0x4c($s0) -/* 07EBF0 7F04A0C0 24480003 */ addiu $t0, $v0, 3 -/* 07EBF4 7F04A0C4 E6000058 */ swc1 $f0, 0x58($s0) -/* 07EBF8 7F04A0C8 E6080054 */ swc1 $f8, 0x54($s0) -/* 07EBFC 7F04A0CC 8C790004 */ lw $t9, 4($v1) -/* 07EC00 7F04A0D0 A6080004 */ sh $t0, 4($s0) -/* 07EC04 7F04A0D4 44993000 */ mtc1 $t9, $f6 -/* 07EC08 7F04A0D8 00000000 */ nop -/* 07EC0C 7F04A0DC 468032A0 */ cvt.s.w $f10, $f6 -/* 07EC10 7F04A0E0 46165102 */ mul.s $f4, $f10, $f22 -/* 07EC14 7F04A0E4 46040480 */ add.s $f18, $f0, $f4 -/* 07EC18 7F04A0E8 100000DF */ b .L7F04A468 -/* 07EC1C 7F04A0EC E612005C */ swc1 $f18, 0x5c($s0) -command03_horizontal_pos: -/* 07EC20 7F04A0F0 E614003C */ swc1 $f20, 0x3c($s0) -/* 07EC24 7F04A0F4 8C690008 */ lw $t1, 8($v1) -/* 07EC28 7F04A0F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EC2C 7F04A0FC 44894000 */ mtc1 $t1, $f8 -/* 07EC30 7F04A100 05210004 */ bgez $t1, .L7F04A114 -/* 07EC34 7F04A104 468041A0 */ cvt.s.w $f6, $f8 -/* 07EC38 7F04A108 44815000 */ mtc1 $at, $f10 -/* 07EC3C 7F04A10C 00000000 */ nop -/* 07EC40 7F04A110 460A3180 */ add.s $f6, $f6, $f10 -.L7F04A114: -/* 07EC44 7F04A114 4606C103 */ div.s $f4, $f24, $f6 -/* 07EC48 7F04A118 C6120038 */ lwc1 $f18, 0x38($s0) -/* 07EC4C 7F04A11C 244B0003 */ addiu $t3, $v0, 3 -/* 07EC50 7F04A120 E6120044 */ swc1 $f18, 0x44($s0) -/* 07EC54 7F04A124 E6040040 */ swc1 $f4, 0x40($s0) -/* 07EC58 7F04A128 8C6A0004 */ lw $t2, 4($v1) -/* 07EC5C 7F04A12C A60B0004 */ sh $t3, 4($s0) -/* 07EC60 7F04A130 448A4000 */ mtc1 $t2, $f8 -/* 07EC64 7F04A134 00000000 */ nop -/* 07EC68 7F04A138 468042A0 */ cvt.s.w $f10, $f8 -/* 07EC6C 7F04A13C 46165182 */ mul.s $f6, $f10, $f22 -/* 07EC70 7F04A140 100000C9 */ b .L7F04A468 -/* 07EC74 7F04A144 E6060048 */ swc1 $f6, 0x48($s0) -command04_vertical_pos: -/* 07EC78 7F04A148 E6140050 */ swc1 $f20, 0x50($s0) -/* 07EC7C 7F04A14C 8C6C0008 */ lw $t4, 8($v1) -/* 07EC80 7F04A150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EC84 7F04A154 448C2000 */ mtc1 $t4, $f4 -/* 07EC88 7F04A158 05810004 */ bgez $t4, .L7F04A16C -/* 07EC8C 7F04A15C 468024A0 */ cvt.s.w $f18, $f4 -/* 07EC90 7F04A160 44814000 */ mtc1 $at, $f8 -/* 07EC94 7F04A164 00000000 */ nop -/* 07EC98 7F04A168 46089480 */ add.s $f18, $f18, $f8 -.L7F04A16C: -/* 07EC9C 7F04A16C 4612C283 */ div.s $f10, $f24, $f18 -/* 07ECA0 7F04A170 C606004C */ lwc1 $f6, 0x4c($s0) -/* 07ECA4 7F04A174 244E0003 */ addiu $t6, $v0, 3 -/* 07ECA8 7F04A178 E6060058 */ swc1 $f6, 0x58($s0) -/* 07ECAC 7F04A17C E60A0054 */ swc1 $f10, 0x54($s0) -/* 07ECB0 7F04A180 8C6D0004 */ lw $t5, 4($v1) -/* 07ECB4 7F04A184 A60E0004 */ sh $t6, 4($s0) -/* 07ECB8 7F04A188 448D2000 */ mtc1 $t5, $f4 -/* 07ECBC 7F04A18C 00000000 */ nop -/* 07ECC0 7F04A190 46802220 */ cvt.s.w $f8, $f4 -/* 07ECC4 7F04A194 46164482 */ mul.s $f18, $f8, $f22 -/* 07ECC8 7F04A198 100000B3 */ b .L7F04A468 -/* 07ECCC 7F04A19C E612005C */ swc1 $f18, 0x5c($s0) -command05_zoomx: -/* 07ECD0 7F04A1A0 E6140014 */ swc1 $f20, 0x14($s0) -/* 07ECD4 7F04A1A4 8C6F0008 */ lw $t7, 8($v1) -/* 07ECD8 7F04A1A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07ECDC 7F04A1AC 448F5000 */ mtc1 $t7, $f10 -/* 07ECE0 7F04A1B0 05E10004 */ bgez $t7, .L7F04A1C4 -/* 07ECE4 7F04A1B4 468051A0 */ cvt.s.w $f6, $f10 -/* 07ECE8 7F04A1B8 44812000 */ mtc1 $at, $f4 -/* 07ECEC 7F04A1BC 00000000 */ nop -/* 07ECF0 7F04A1C0 46043180 */ add.s $f6, $f6, $f4 -.L7F04A1C4: -/* 07ECF4 7F04A1C4 4606C203 */ div.s $f8, $f24, $f6 -/* 07ECF8 7F04A1C8 C6120010 */ lwc1 $f18, 0x10($s0) -/* 07ECFC 7F04A1CC 24590003 */ addiu $t9, $v0, 3 -/* 07ED00 7F04A1D0 E612001C */ swc1 $f18, 0x1c($s0) -/* 07ED04 7F04A1D4 E6080018 */ swc1 $f8, 0x18($s0) -/* 07ED08 7F04A1D8 8C780004 */ lw $t8, 4($v1) -/* 07ED0C 7F04A1DC A6190004 */ sh $t9, 4($s0) -/* 07ED10 7F04A1E0 44985000 */ mtc1 $t8, $f10 -/* 07ED14 7F04A1E4 00000000 */ nop -/* 07ED18 7F04A1E8 46805120 */ cvt.s.w $f4, $f10 -/* 07ED1C 7F04A1EC 46162182 */ mul.s $f6, $f4, $f22 -/* 07ED20 7F04A1F0 1000009D */ b .L7F04A468 -/* 07ED24 7F04A1F4 E6060020 */ swc1 $f6, 0x20($s0) -command06_zoomy: -/* 07ED28 7F04A1F8 E6140028 */ swc1 $f20, 0x28($s0) -/* 07ED2C 7F04A1FC 8C680008 */ lw $t0, 8($v1) -/* 07ED30 7F04A200 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07ED34 7F04A204 44884000 */ mtc1 $t0, $f8 -/* 07ED38 7F04A208 05010004 */ bgez $t0, .L7F04A21C -/* 07ED3C 7F04A20C 468044A0 */ cvt.s.w $f18, $f8 -/* 07ED40 7F04A210 44815000 */ mtc1 $at, $f10 -/* 07ED44 7F04A214 00000000 */ nop -/* 07ED48 7F04A218 460A9480 */ add.s $f18, $f18, $f10 -.L7F04A21C: -/* 07ED4C 7F04A21C 4612C103 */ div.s $f4, $f24, $f18 -/* 07ED50 7F04A220 C6060024 */ lwc1 $f6, 0x24($s0) -/* 07ED54 7F04A224 244A0003 */ addiu $t2, $v0, 3 -/* 07ED58 7F04A228 E6060030 */ swc1 $f6, 0x30($s0) -/* 07ED5C 7F04A22C E604002C */ swc1 $f4, 0x2c($s0) -/* 07ED60 7F04A230 8C690004 */ lw $t1, 4($v1) -/* 07ED64 7F04A234 A60A0004 */ sh $t2, 4($s0) -/* 07ED68 7F04A238 44894000 */ mtc1 $t1, $f8 -/* 07ED6C 7F04A23C 00000000 */ nop -/* 07ED70 7F04A240 468042A0 */ cvt.s.w $f10, $f8 -/* 07ED74 7F04A244 46165482 */ mul.s $f18, $f10, $f22 -/* 07ED78 7F04A248 10000087 */ b .L7F04A468 -/* 07ED7C 7F04A24C E6120034 */ swc1 $f18, 0x34($s0) -command07_use_image_from_global_monitor_table: -/* 07ED80 7F04A250 02002025 */ move $a0, $s0 -/* 07ED84 7F04A254 0FC127D0 */ jal save_img_index_to_obj_ani_slot -/* 07ED88 7F04A258 8C650004 */ lw $a1, 4($v1) -/* 07ED8C 7F04A25C 960B0004 */ lhu $t3, 4($s0) -/* 07ED90 7F04A260 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07ED94 7F04A264 44811000 */ mtc1 $at, $f2 -/* 07ED98 7F04A268 256C0002 */ addiu $t4, $t3, 2 -/* 07ED9C 7F04A26C 1000007E */ b .L7F04A468 -/* 07EDA0 7F04A270 A60C0004 */ sh $t4, 4($s0) -command08_halt_processing_for_time: -/* 07EDA4 7F04A274 86020006 */ lh $v0, 6($s0) -/* 07EDA8 7F04A278 3C0D8005 */ lui $t5, %hi(clock_timer) -/* 07EDAC 7F04A27C 0442000E */ bltzl $v0, .L7F04A2B8 -/* 07EDB0 7F04A280 8C680004 */ lw $t0, 4($v1) -/* 07EDB4 7F04A284 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) -/* 07EDB8 7F04A288 004D7023 */ subu $t6, $v0, $t5 -/* 07EDBC 7F04A28C A60E0006 */ sh $t6, 6($s0) -/* 07EDC0 7F04A290 860F0006 */ lh $t7, 6($s0) -/* 07EDC4 7F04A294 05E20004 */ bltzl $t7, .L7F04A2A8 -/* 07EDC8 7F04A298 96180004 */ lhu $t8, 4($s0) -/* 07EDCC 7F04A29C 10000072 */ b .L7F04A468 -/* 07EDD0 7F04A2A0 24110001 */ li $s1, 1 -/* 07EDD4 7F04A2A4 96180004 */ lhu $t8, 4($s0) -.L7F04A2A8: -/* 07EDD8 7F04A2A8 27190002 */ addiu $t9, $t8, 2 -/* 07EDDC 7F04A2AC 1000006E */ b .L7F04A468 -/* 07EDE0 7F04A2B0 A6190004 */ sh $t9, 4($s0) -/* 07EDE4 7F04A2B4 8C680004 */ lw $t0, 4($v1) -.L7F04A2B8: -/* 07EDE8 7F04A2B8 24110001 */ li $s1, 1 -/* 07EDEC 7F04A2BC 1000006A */ b .L7F04A468 -/* 07EDF0 7F04A2C0 A6080006 */ sh $t0, 6($s0) -command09_jump: -/* 07EDF4 7F04A2C4 02002025 */ move $a0, $s0 -/* 07EDF8 7F04A2C8 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07EDFC 7F04A2CC 8C650004 */ lw $a1, 4($v1) -/* 07EE00 7F04A2D0 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE04 7F04A2D4 44811000 */ mtc1 $at, $f2 -/* 07EE08 7F04A2D8 10000063 */ b .L7F04A468 -/* 07EE0C 7F04A2DC 00000000 */ nop -command0A_jump_conditional: -/* 07EE10 7F04A2E0 0C002914 */ jal get_random_value -/* 07EE14 7F04A2E4 AFA30094 */ sw $v1, 0x94($sp) -/* 07EE18 7F04A2E8 8FA30094 */ lw $v1, 0x94($sp) -/* 07EE1C 7F04A2EC 00024C02 */ srl $t1, $v0, 0x10 -/* 07EE20 7F04A2F0 02002025 */ move $a0, $s0 -/* 07EE24 7F04A2F4 8C6A0008 */ lw $t2, 8($v1) -/* 07EE28 7F04A2F8 012A082B */ sltu $at, $t1, $t2 -/* 07EE2C 7F04A2FC 50200008 */ beql $at, $zero, .L7F04A320 -/* 07EE30 7F04A300 960B0004 */ lhu $t3, 4($s0) -/* 07EE34 7F04A304 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 07EE38 7F04A308 8C650004 */ lw $a1, 4($v1) -/* 07EE3C 7F04A30C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE40 7F04A310 44811000 */ mtc1 $at, $f2 -/* 07EE44 7F04A314 10000054 */ b .L7F04A468 -/* 07EE48 7F04A318 00000000 */ nop -/* 07EE4C 7F04A31C 960B0004 */ lhu $t3, 4($s0) -.L7F04A320: -/* 07EE50 7F04A320 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 07EE54 7F04A324 44811000 */ mtc1 $at, $f2 -/* 07EE58 7F04A328 256C0003 */ addiu $t4, $t3, 3 -/* 07EE5C 7F04A32C A60C0004 */ sh $t4, 4($s0) -/* 07EE60 7F04A330 1000004D */ b .L7F04A468 -/* 07EE64 7F04A334 00000000 */ nop -command0B_restart: -/* 07EE68 7F04A338 1000004B */ b .L7F04A468 -/* 07EE6C 7F04A33C A6000004 */ sh $zero, 4($s0) -command0C_break: -/* 07EE70 7F04A340 10000049 */ b .L7F04A468 -/* 07EE74 7F04A344 24110001 */ li $s1, 1 -command0D_colour_transition: -/* 07EE78 7F04A348 E614006C */ swc1 $f20, 0x6c($s0) -/* 07EE7C 7F04A34C 8C6D0008 */ lw $t5, 8($v1) -/* 07EE80 7F04A350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07EE84 7F04A354 448D2000 */ mtc1 $t5, $f4 -/* 07EE88 7F04A358 05A10004 */ bgez $t5, .L7F04A36C -/* 07EE8C 7F04A35C 468021A0 */ cvt.s.w $f6, $f4 -/* 07EE90 7F04A360 44814000 */ mtc1 $at, $f8 -/* 07EE94 7F04A364 00000000 */ nop -/* 07EE98 7F04A368 46083180 */ add.s $f6, $f6, $f8 -.L7F04A36C: -/* 07EE9C 7F04A36C 4606C283 */ div.s $f10, $f24, $f6 -/* 07EEA0 7F04A370 920E0060 */ lbu $t6, 0x60($s0) -/* 07EEA4 7F04A374 92080063 */ lbu $t0, 0x63($s0) -/* 07EEA8 7F04A378 920C0066 */ lbu $t4, 0x66($s0) -/* 07EEAC 7F04A37C A20E0061 */ sb $t6, 0x61($s0) -/* 07EEB0 7F04A380 92180069 */ lbu $t8, 0x69($s0) -/* 07EEB4 7F04A384 E60A0070 */ swc1 $f10, 0x70($s0) -/* 07EEB8 7F04A388 8C6F0004 */ lw $t7, 4($v1) -/* 07EEBC 7F04A38C A2080064 */ sb $t0, 0x64($s0) -/* 07EEC0 7F04A390 000FCE02 */ srl $t9, $t7, 0x18 -/* 07EEC4 7F04A394 A2190062 */ sb $t9, 0x62($s0) -/* 07EEC8 7F04A398 8C690004 */ lw $t1, 4($v1) -/* 07EECC 7F04A39C A20C0067 */ sb $t4, 0x67($s0) -/* 07EED0 7F04A3A0 00095C02 */ srl $t3, $t1, 0x10 -/* 07EED4 7F04A3A4 A20B0065 */ sb $t3, 0x65($s0) -/* 07EED8 7F04A3A8 8C6D0004 */ lw $t5, 4($v1) -/* 07EEDC 7F04A3AC A218006A */ sb $t8, 0x6a($s0) -/* 07EEE0 7F04A3B0 24490003 */ addiu $t1, $v0, 3 -/* 07EEE4 7F04A3B4 000D7A02 */ srl $t7, $t5, 8 -/* 07EEE8 7F04A3B8 A20F0068 */ sb $t7, 0x68($s0) -/* 07EEEC 7F04A3BC 8C680004 */ lw $t0, 4($v1) -/* 07EEF0 7F04A3C0 A6090004 */ sh $t1, 4($s0) -/* 07EEF4 7F04A3C4 10000028 */ b .L7F04A468 -/* 07EEF8 7F04A3C8 A208006B */ sb $t0, 0x6b($s0) -command0E_set_rotation: -/* 07EEFC 7F04A3CC 8C6A0004 */ lw $t2, 4($v1) -/* 07EF00 7F04A3D0 244B0002 */ addiu $t3, $v0, 2 -/* 07EF04 7F04A3D4 A60B0004 */ sh $t3, 4($s0) -/* 07EF08 7F04A3D8 448A9000 */ mtc1 $t2, $f18 -/* 07EF0C 7F04A3DC 00000000 */ nop -/* 07EF10 7F04A3E0 46809120 */ cvt.s.w $f4, $f18 -/* 07EF14 7F04A3E4 461A2202 */ mul.s $f8, $f4, $f26 -/* 07EF18 7F04A3E8 46024183 */ div.s $f6, $f8, $f2 -/* 07EF1C 7F04A3EC 1000001E */ b .L7F04A468 -/* 07EF20 7F04A3F0 E606000C */ swc1 $f6, 0xc($s0) -command0F_rotate: -/* 07EF24 7F04A3F4 8C6C0004 */ lw $t4, 4($v1) -/* 07EF28 7F04A3F8 3C018005 */ lui $at, %hi(D_jpunk) -/* 07EF2C 7F04A3FC C42A8378 */ lwc1 $f10, %lo(D_jpunk)($at) -/* 07EF30 7F04A400 448C9000 */ mtc1 $t4, $f18 -/* 07EF34 7F04A404 00000000 */ nop -/* 07EF38 7F04A408 46809120 */ cvt.s.w $f4, $f18 -/* 07EF3C 7F04A40C 46045202 */ mul.s $f8, $f10, $f4 -/* 07EF40 7F04A410 C60A000C */ lwc1 $f10, 0xc($s0) -/* 07EF44 7F04A414 461A4182 */ mul.s $f6, $f8, $f26 -/* 07EF48 7F04A418 46023483 */ div.s $f18, $f6, $f2 -/* 07EF4C 7F04A41C 46125100 */ add.s $f4, $f10, $f18 -/* 07EF50 7F04A420 E604000C */ swc1 $f4, 0xc($s0) -/* 07EF54 7F04A424 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07EF58 7F04A428 460CD03E */ c.le.s $f26, $f12 -/* 07EF5C 7F04A42C 00000000 */ nop -/* 07EF60 7F04A430 45020005 */ bc1fl .L7F04A448 -/* 07EF64 7F04A434 4614603C */ c.lt.s $f12, $f20 -/* 07EF68 7F04A438 461A6201 */ sub.s $f8, $f12, $f26 -/* 07EF6C 7F04A43C E608000C */ swc1 $f8, 0xc($s0) -/* 07EF70 7F04A440 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07EF74 7F04A444 4614603C */ c.lt.s $f12, $f20 -.L7F04A448: -/* 07EF78 7F04A448 00000000 */ nop -/* 07EF7C 7F04A44C 45020004 */ bc1fl .L7F04A460 -/* 07EF80 7F04A450 960D0004 */ lhu $t5, 4($s0) -/* 07EF84 7F04A454 461A6180 */ add.s $f6, $f12, $f26 -/* 07EF88 7F04A458 E606000C */ swc1 $f6, 0xc($s0) -/* 07EF8C 7F04A45C 960D0004 */ lhu $t5, 4($s0) -.L7F04A460: -/* 07EF90 7F04A460 25AE0002 */ addiu $t6, $t5, 2 -/* 07EF94 7F04A464 A60E0004 */ sh $t6, 4($s0) -def_7F04A01C: -.L7F04A468: -/* 07EF98 7F04A468 5220FEE2 */ beql $s1, $zero, .L7F049FF4 -/* 07EF9C 7F04A46C 96020004 */ lhu $v0, 4($s0) -/* 07EFA0 7F04A470 C6000018 */ lwc1 $f0, 0x18($s0) -/* 07EFA4 7F04A474 4600A03C */ c.lt.s $f20, $f0 -/* 07EFA8 7F04A478 00000000 */ nop -/* 07EFAC 7F04A47C 45000017 */ bc1f .L7F04A4DC -/* 07EFB0 7F04A480 3C028005 */ lui $v0, %hi(D_jpunk) -/* 07EFB4 7F04A484 24428378 */ addiu $v0, %lo(D_jpunk) # addiu $v0, $v0, -0x7c88 -/* 07EFB8 7F04A488 C4520000 */ lwc1 $f18, ($v0) -/* 07EFBC 7F04A48C C60A0014 */ lwc1 $f10, 0x14($s0) -/* 07EFC0 7F04A490 46120102 */ mul.s $f4, $f0, $f18 -/* 07EFC4 7F04A494 46045200 */ add.s $f8, $f10, $f4 -/* 07EFC8 7F04A498 E6080014 */ swc1 $f8, 0x14($s0) -/* 07EFCC 7F04A49C C6020014 */ lwc1 $f2, 0x14($s0) -/* 07EFD0 7F04A4A0 4618103C */ c.lt.s $f2, $f24 -/* 07EFD4 7F04A4A4 00000000 */ nop -/* 07EFD8 7F04A4A8 45020009 */ bc1fl .L7F04A4D0 -/* 07EFDC 7F04A4AC C6080020 */ lwc1 $f8, 0x20($s0) -/* 07EFE0 7F04A4B0 C600001C */ lwc1 $f0, 0x1c($s0) -/* 07EFE4 7F04A4B4 C6060020 */ lwc1 $f6, 0x20($s0) -/* 07EFE8 7F04A4B8 46003481 */ sub.s $f18, $f6, $f0 -/* 07EFEC 7F04A4BC 46029282 */ mul.s $f10, $f18, $f2 -/* 07EFF0 7F04A4C0 460A0100 */ add.s $f4, $f0, $f10 -/* 07EFF4 7F04A4C4 10000005 */ b .L7F04A4DC -/* 07EFF8 7F04A4C8 E6040010 */ swc1 $f4, 0x10($s0) -/* 07EFFC 7F04A4CC C6080020 */ lwc1 $f8, 0x20($s0) -.L7F04A4D0: -/* 07F000 7F04A4D0 E6180014 */ swc1 $f24, 0x14($s0) -/* 07F004 7F04A4D4 E6140018 */ swc1 $f20, 0x18($s0) -/* 07F008 7F04A4D8 E6080010 */ swc1 $f8, 0x10($s0) -.L7F04A4DC: -/* 07F00C 7F04A4DC C600002C */ lwc1 $f0, 0x2c($s0) -/* 07F010 7F04A4E0 3C028005 */ lui $v0, %hi(D_jpunk) -/* 07F014 7F04A4E4 24428378 */ addiu $v0, %lo(D_jpunk) # addiu $v0, $v0, -0x7c88 -/* 07F018 7F04A4E8 4600A03C */ c.lt.s $f20, $f0 -/* 07F01C 7F04A4EC 00000000 */ nop -/* 07F020 7F04A4F0 45020017 */ bc1fl .L7F04A550 -/* 07F024 7F04A4F4 C6000040 */ lwc1 $f0, 0x40($s0) -/* 07F028 7F04A4F8 C4520000 */ lwc1 $f18, ($v0) -/* 07F02C 7F04A4FC C6060028 */ lwc1 $f6, 0x28($s0) -/* 07F030 7F04A500 46120282 */ mul.s $f10, $f0, $f18 -/* 07F034 7F04A504 460A3100 */ add.s $f4, $f6, $f10 -/* 07F038 7F04A508 E6040028 */ swc1 $f4, 0x28($s0) -/* 07F03C 7F04A50C C6020028 */ lwc1 $f2, 0x28($s0) -/* 07F040 7F04A510 4618103C */ c.lt.s $f2, $f24 -/* 07F044 7F04A514 00000000 */ nop -/* 07F048 7F04A518 45020009 */ bc1fl .L7F04A540 -/* 07F04C 7F04A51C C6040034 */ lwc1 $f4, 0x34($s0) -/* 07F050 7F04A520 C6000030 */ lwc1 $f0, 0x30($s0) -/* 07F054 7F04A524 C6080034 */ lwc1 $f8, 0x34($s0) -/* 07F058 7F04A528 46004481 */ sub.s $f18, $f8, $f0 -/* 07F05C 7F04A52C 46029182 */ mul.s $f6, $f18, $f2 -/* 07F060 7F04A530 46060280 */ add.s $f10, $f0, $f6 -/* 07F064 7F04A534 10000005 */ b .L7F04A54C -/* 07F068 7F04A538 E60A0024 */ swc1 $f10, 0x24($s0) -/* 07F06C 7F04A53C C6040034 */ lwc1 $f4, 0x34($s0) -.L7F04A540: -/* 07F070 7F04A540 E6180028 */ swc1 $f24, 0x28($s0) -/* 07F074 7F04A544 E614002C */ swc1 $f20, 0x2c($s0) -/* 07F078 7F04A548 E6040024 */ swc1 $f4, 0x24($s0) -.L7F04A54C: -/* 07F07C 7F04A54C C6000040 */ lwc1 $f0, 0x40($s0) -.L7F04A550: -/* 07F080 7F04A550 4600A03C */ c.lt.s $f20, $f0 -/* 07F084 7F04A554 00000000 */ nop -/* 07F088 7F04A558 45020017 */ bc1fl .L7F04A5B8 -/* 07F08C 7F04A55C C6000054 */ lwc1 $f0, 0x54($s0) -/* 07F090 7F04A560 C4520000 */ lwc1 $f18, ($v0) -/* 07F094 7F04A564 C608003C */ lwc1 $f8, 0x3c($s0) -/* 07F098 7F04A568 46120182 */ mul.s $f6, $f0, $f18 -/* 07F09C 7F04A56C 46064280 */ add.s $f10, $f8, $f6 -/* 07F0A0 7F04A570 E60A003C */ swc1 $f10, 0x3c($s0) -/* 07F0A4 7F04A574 C602003C */ lwc1 $f2, 0x3c($s0) -/* 07F0A8 7F04A578 4618103C */ c.lt.s $f2, $f24 -/* 07F0AC 7F04A57C 00000000 */ nop -/* 07F0B0 7F04A580 45020009 */ bc1fl .L7F04A5A8 -/* 07F0B4 7F04A584 C60A0048 */ lwc1 $f10, 0x48($s0) -/* 07F0B8 7F04A588 C6000044 */ lwc1 $f0, 0x44($s0) -/* 07F0BC 7F04A58C C6040048 */ lwc1 $f4, 0x48($s0) -/* 07F0C0 7F04A590 46002481 */ sub.s $f18, $f4, $f0 -/* 07F0C4 7F04A594 46029202 */ mul.s $f8, $f18, $f2 -/* 07F0C8 7F04A598 46080180 */ add.s $f6, $f0, $f8 -/* 07F0CC 7F04A59C 10000005 */ b .L7F04A5B4 -/* 07F0D0 7F04A5A0 E6060038 */ swc1 $f6, 0x38($s0) -/* 07F0D4 7F04A5A4 C60A0048 */ lwc1 $f10, 0x48($s0) -.L7F04A5A8: -/* 07F0D8 7F04A5A8 E618003C */ swc1 $f24, 0x3c($s0) -/* 07F0DC 7F04A5AC E6140040 */ swc1 $f20, 0x40($s0) -/* 07F0E0 7F04A5B0 E60A0038 */ swc1 $f10, 0x38($s0) -.L7F04A5B4: -/* 07F0E4 7F04A5B4 C6000054 */ lwc1 $f0, 0x54($s0) -.L7F04A5B8: -/* 07F0E8 7F04A5B8 4600A03C */ c.lt.s $f20, $f0 -/* 07F0EC 7F04A5BC 00000000 */ nop -/* 07F0F0 7F04A5C0 45020017 */ bc1fl .L7F04A620 -/* 07F0F4 7F04A5C4 C6020070 */ lwc1 $f2, 0x70($s0) -/* 07F0F8 7F04A5C8 C4520000 */ lwc1 $f18, ($v0) -/* 07F0FC 7F04A5CC C6040050 */ lwc1 $f4, 0x50($s0) -/* 07F100 7F04A5D0 46120202 */ mul.s $f8, $f0, $f18 -/* 07F104 7F04A5D4 46082180 */ add.s $f6, $f4, $f8 -/* 07F108 7F04A5D8 E6060050 */ swc1 $f6, 0x50($s0) -/* 07F10C 7F04A5DC C6020050 */ lwc1 $f2, 0x50($s0) -/* 07F110 7F04A5E0 4618103C */ c.lt.s $f2, $f24 -/* 07F114 7F04A5E4 00000000 */ nop -/* 07F118 7F04A5E8 45020009 */ bc1fl .L7F04A610 -/* 07F11C 7F04A5EC C606005C */ lwc1 $f6, 0x5c($s0) -/* 07F120 7F04A5F0 C6000058 */ lwc1 $f0, 0x58($s0) -/* 07F124 7F04A5F4 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 07F128 7F04A5F8 46005481 */ sub.s $f18, $f10, $f0 -/* 07F12C 7F04A5FC 46029102 */ mul.s $f4, $f18, $f2 -/* 07F130 7F04A600 46040200 */ add.s $f8, $f0, $f4 -/* 07F134 7F04A604 10000005 */ b .L7F04A61C -/* 07F138 7F04A608 E608004C */ swc1 $f8, 0x4c($s0) -/* 07F13C 7F04A60C C606005C */ lwc1 $f6, 0x5c($s0) -.L7F04A610: -/* 07F140 7F04A610 E6180050 */ swc1 $f24, 0x50($s0) -/* 07F144 7F04A614 E6140054 */ swc1 $f20, 0x54($s0) -/* 07F148 7F04A618 E606004C */ swc1 $f6, 0x4c($s0) -.L7F04A61C: -/* 07F14C 7F04A61C C6020070 */ lwc1 $f2, 0x70($s0) -.L7F04A620: -/* 07F150 7F04A620 4602A03C */ c.lt.s $f20, $f2 -/* 07F154 7F04A624 00000000 */ nop -/* 07F158 7F04A628 4502003F */ bc1fl .L7F04A728 -/* 07F15C 7F04A62C 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 07F160 7F04A630 C4520000 */ lwc1 $f18, ($v0) -/* 07F164 7F04A634 C60A006C */ lwc1 $f10, 0x6c($s0) -/* 07F168 7F04A638 46121102 */ mul.s $f4, $f2, $f18 -/* 07F16C 7F04A63C 46045200 */ add.s $f8, $f10, $f4 -/* 07F170 7F04A640 E608006C */ swc1 $f8, 0x6c($s0) -/* 07F174 7F04A644 C600006C */ lwc1 $f0, 0x6c($s0) -/* 07F178 7F04A648 4618003C */ c.lt.s $f0, $f24 -/* 07F17C 7F04A64C 00000000 */ nop -/* 07F180 7F04A650 4502002B */ bc1fl .L7F04A700 -/* 07F184 7F04A654 920F0062 */ lbu $t7, 0x62($s0) -/* 07F188 7F04A658 92020061 */ lbu $v0, 0x61($s0) -/* 07F18C 7F04A65C 920F0062 */ lbu $t7, 0x62($s0) -/* 07F190 7F04A660 92030064 */ lbu $v1, 0x64($s0) -/* 07F194 7F04A664 920A0065 */ lbu $t2, 0x65($s0) -/* 07F198 7F04A668 01E2C023 */ subu $t8, $t7, $v0 -/* 07F19C 7F04A66C 44983000 */ mtc1 $t8, $f6 -/* 07F1A0 7F04A670 01435823 */ subu $t3, $t2, $v1 -/* 07F1A4 7F04A674 448B4000 */ mtc1 $t3, $f8 -/* 07F1A8 7F04A678 468034A0 */ cvt.s.w $f18, $f6 -/* 07F1AC 7F04A67C 920F0068 */ lbu $t7, 0x68($s0) -/* 07F1B0 7F04A680 92040067 */ lbu $a0, 0x67($s0) -/* 07F1B4 7F04A684 920A006B */ lbu $t2, 0x6b($s0) -/* 07F1B8 7F04A688 9205006A */ lbu $a1, 0x6a($s0) -/* 07F1BC 7F04A68C 468041A0 */ cvt.s.w $f6, $f8 -/* 07F1C0 7F04A690 46009282 */ mul.s $f10, $f18, $f0 -/* 07F1C4 7F04A694 01E4C023 */ subu $t8, $t7, $a0 -/* 07F1C8 7F04A698 01455823 */ subu $t3, $t2, $a1 -/* 07F1CC 7F04A69C 46003482 */ mul.s $f18, $f6, $f0 -/* 07F1D0 7F04A6A0 4600510D */ trunc.w.s $f4, $f10 -/* 07F1D4 7F04A6A4 4600928D */ trunc.w.s $f10, $f18 -/* 07F1D8 7F04A6A8 44082000 */ mfc1 $t0, $f4 -/* 07F1DC 7F04A6AC 44982000 */ mtc1 $t8, $f4 -/* 07F1E0 7F04A6B0 440D5000 */ mfc1 $t5, $f10 -/* 07F1E4 7F04A6B4 46802220 */ cvt.s.w $f8, $f4 -/* 07F1E8 7F04A6B8 448B5000 */ mtc1 $t3, $f10 -/* 07F1EC 7F04A6BC 00484821 */ addu $t1, $v0, $t0 -/* 07F1F0 7F04A6C0 006D7021 */ addu $t6, $v1, $t5 -/* 07F1F4 7F04A6C4 A2090060 */ sb $t1, 0x60($s0) -/* 07F1F8 7F04A6C8 46805120 */ cvt.s.w $f4, $f10 -/* 07F1FC 7F04A6CC 46004182 */ mul.s $f6, $f8, $f0 -/* 07F200 7F04A6D0 A20E0063 */ sb $t6, 0x63($s0) -/* 07F204 7F04A6D4 46002202 */ mul.s $f8, $f4, $f0 -/* 07F208 7F04A6D8 4600348D */ trunc.w.s $f18, $f6 -/* 07F20C 7F04A6DC 4600418D */ trunc.w.s $f6, $f8 -/* 07F210 7F04A6E0 44089000 */ mfc1 $t0, $f18 -/* 07F214 7F04A6E4 440D3000 */ mfc1 $t5, $f6 -/* 07F218 7F04A6E8 00884821 */ addu $t1, $a0, $t0 -/* 07F21C 7F04A6EC A2090066 */ sb $t1, 0x66($s0) -/* 07F220 7F04A6F0 00AD7021 */ addu $t6, $a1, $t5 -/* 07F224 7F04A6F4 1000000B */ b .L7F04A724 -/* 07F228 7F04A6F8 A20E0069 */ sb $t6, 0x69($s0) -/* 07F22C 7F04A6FC 920F0062 */ lbu $t7, 0x62($s0) -.L7F04A700: -/* 07F230 7F04A700 92180065 */ lbu $t8, 0x65($s0) -/* 07F234 7F04A704 92190068 */ lbu $t9, 0x68($s0) -/* 07F238 7F04A708 9208006B */ lbu $t0, 0x6b($s0) -/* 07F23C 7F04A70C E618006C */ swc1 $f24, 0x6c($s0) -/* 07F240 7F04A710 E6140070 */ swc1 $f20, 0x70($s0) -/* 07F244 7F04A714 A20F0060 */ sb $t7, 0x60($s0) -/* 07F248 7F04A718 A2180063 */ sb $t8, 0x63($s0) -/* 07F24C 7F04A71C A2190066 */ sb $t9, 0x66($s0) -/* 07F250 7F04A720 A2080069 */ sb $t0, 0x69($s0) -.L7F04A724: -/* 07F254 7F04A724 8FAA00A0 */ lw $t2, 0xa0($sp) -.L7F04A728: -/* 07F258 7F04A728 8FA300A4 */ lw $v1, 0xa4($sp) -/* 07F25C 7F04A72C 8FA900BC */ lw $t1, 0xbc($sp) -/* 07F260 7F04A730 AD520000 */ sw $s2, ($t2) -/* 07F264 7F04A734 3C0F8009 */ lui $t7, %hi(monitorimages) -/* 07F268 7F04A738 AD490004 */ sw $t1, 4($t2) -/* 07F26C 7F04A73C 8C6B0008 */ lw $t3, 8($v1) -/* 07F270 7F04A740 8D610000 */ lw $at, ($t3) -/* 07F274 7F04A744 AE410000 */ sw $at, ($s2) -/* 07F278 7F04A748 8D6D0004 */ lw $t5, 4($t3) -/* 07F27C 7F04A74C AE4D0004 */ sw $t5, 4($s2) -/* 07F280 7F04A750 8D610008 */ lw $at, 8($t3) -/* 07F284 7F04A754 AE410008 */ sw $at, 8($s2) -/* 07F288 7F04A758 8D6D000C */ lw $t5, 0xc($t3) -/* 07F28C 7F04A75C AE4D000C */ sw $t5, 0xc($s2) -/* 07F290 7F04A760 8C6E0008 */ lw $t6, 8($v1) -/* 07F294 7F04A764 8DC10010 */ lw $at, 0x10($t6) -/* 07F298 7F04A768 AE410010 */ sw $at, 0x10($s2) -/* 07F29C 7F04A76C 8DD80014 */ lw $t8, 0x14($t6) -/* 07F2A0 7F04A770 AE580014 */ sw $t8, 0x14($s2) -/* 07F2A4 7F04A774 8DC10018 */ lw $at, 0x18($t6) -/* 07F2A8 7F04A778 AE410018 */ sw $at, 0x18($s2) -/* 07F2AC 7F04A77C 8DD8001C */ lw $t8, 0x1c($t6) -/* 07F2B0 7F04A780 AE58001C */ sw $t8, 0x1c($s2) -/* 07F2B4 7F04A784 8C790008 */ lw $t9, 8($v1) -/* 07F2B8 7F04A788 8F210020 */ lw $at, 0x20($t9) -/* 07F2BC 7F04A78C AE410020 */ sw $at, 0x20($s2) -/* 07F2C0 7F04A790 8F290024 */ lw $t1, 0x24($t9) -/* 07F2C4 7F04A794 AE490024 */ sw $t1, 0x24($s2) -/* 07F2C8 7F04A798 8F210028 */ lw $at, 0x28($t9) -/* 07F2CC 7F04A79C AE410028 */ sw $at, 0x28($s2) -/* 07F2D0 7F04A7A0 8F29002C */ lw $t1, 0x2c($t9) -/* 07F2D4 7F04A7A4 AE49002C */ sw $t1, 0x2c($s2) -/* 07F2D8 7F04A7A8 8C6A0008 */ lw $t2, 8($v1) -/* 07F2DC 7F04A7AC 8D410030 */ lw $at, 0x30($t2) -/* 07F2E0 7F04A7B0 AE410030 */ sw $at, 0x30($s2) -/* 07F2E4 7F04A7B4 8D4B0034 */ lw $t3, 0x34($t2) -/* 07F2E8 7F04A7B8 AE4B0034 */ sw $t3, 0x34($s2) -/* 07F2EC 7F04A7BC 8D410038 */ lw $at, 0x38($t2) -/* 07F2F0 7F04A7C0 AE410038 */ sw $at, 0x38($s2) -/* 07F2F4 7F04A7C4 8D4B003C */ lw $t3, 0x3c($t2) -/* 07F2F8 7F04A7C8 AE4B003C */ sw $t3, 0x3c($s2) -/* 07F2FC 7F04A7CC 8E020008 */ lw $v0, 8($s0) -/* 07F300 7F04A7D0 2C410064 */ sltiu $at, $v0, 0x64 -/* 07F304 7F04A7D4 10200007 */ beqz $at, .L7F04A7F4 -/* 07F308 7F04A7D8 00408825 */ move $s1, $v0 -/* 07F30C 7F04A7DC 00026880 */ sll $t5, $v0, 2 -/* 07F310 7F04A7E0 8DEFD120 */ lw $t7, %lo(monitorimages)($t7) -/* 07F314 7F04A7E4 01A26823 */ subu $t5, $t5, $v0 -/* 07F318 7F04A7E8 000D6880 */ sll $t5, $t5, 2 -/* 07F31C 7F04A7EC 10000001 */ b .L7F04A7F4 -/* 07F320 7F04A7F0 01AF8821 */ addu $s1, $t5, $t7 -.L7F04A7F4: -/* 07F324 7F04A7F4 122000A9 */ beqz $s1, .L7F04AA9C -/* 07F328 7F04A7F8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 07F32C 7F04A7FC 44810000 */ mtc1 $at, $f0 -/* 07F330 7F04A800 C6120010 */ lwc1 $f18, 0x10($s0) -/* 07F334 7F04A804 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 07F338 7F04A808 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07F33C 7F04A80C 46009582 */ mul.s $f22, $f18, $f0 -/* 07F340 7F04A810 460CA032 */ c.eq.s $f20, $f12 -/* 07F344 7F04A814 46005602 */ mul.s $f24, $f10, $f0 -/* 07F348 7F04A818 4600B386 */ mov.s $f14, $f22 -/* 07F34C 7F04A81C 45010015 */ bc1t .L7F04A874 -/* 07F350 7F04A820 4600C406 */ mov.s $f16, $f24 -/* 07F354 7F04A824 E7AE0054 */ swc1 $f14, 0x54($sp) -/* 07F358 7F04A828 0FC15FA8 */ jal cosf -/* 07F35C 7F04A82C E7B00050 */ swc1 $f16, 0x50($sp) -/* 07F360 7F04A830 3C018005 */ lui $at, %hi(D_80052CB0) -/* 07F364 7F04A834 C43A2CB0 */ lwc1 $f26, %lo(D_80052CB0)($at) -/* 07F368 7F04A838 C60C000C */ lwc1 $f12, 0xc($s0) -/* 07F36C 7F04A83C 461A0502 */ mul.s $f20, $f0, $f26 -/* 07F370 7F04A840 0FC15FAB */ jal sinf -/* 07F374 7F04A844 00000000 */ nop -/* 07F378 7F04A848 4614B582 */ mul.s $f22, $f22, $f20 -/* 07F37C 7F04A84C C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 07F380 7F04A850 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 07F384 7F04A854 461A0082 */ mul.s $f2, $f0, $f26 -/* 07F388 7F04A858 00000000 */ nop -/* 07F38C 7F04A85C 4602C602 */ mul.s $f24, $f24, $f2 -/* 07F390 7F04A860 00000000 */ nop -/* 07F394 7F04A864 46027382 */ mul.s $f14, $f14, $f2 -/* 07F398 7F04A868 00000000 */ nop -/* 07F39C 7F04A86C 46148402 */ mul.s $f16, $f16, $f20 -/* 07F3A0 7F04A870 00000000 */ nop -.L7F04A874: -/* 07F3A4 7F04A874 922E0004 */ lbu $t6, 4($s1) -/* 07F3A8 7F04A878 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 07F3AC 7F04A87C 44810000 */ mtc1 $at, $f0 -/* 07F3B0 7F04A880 448E4000 */ mtc1 $t6, $f8 -/* 07F3B4 7F04A884 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F3B8 7F04A888 05C10004 */ bgez $t6, .L7F04A89C -/* 07F3BC 7F04A88C 468041A0 */ cvt.s.w $f6, $f8 -/* 07F3C0 7F04A890 44819000 */ mtc1 $at, $f18 -/* 07F3C4 7F04A894 00000000 */ nop -/* 07F3C8 7F04A898 46123180 */ add.s $f6, $f6, $f18 -.L7F04A89C: -/* 07F3CC 7F04A89C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 07F3D0 7F04A8A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F3D4 7F04A8A4 46165100 */ add.s $f4, $f10, $f22 -/* 07F3D8 7F04A8A8 46043202 */ mul.s $f8, $f6, $f4 -/* 07F3DC 7F04A8AC 00000000 */ nop -/* 07F3E0 7F04A8B0 46004482 */ mul.s $f18, $f8, $f0 -/* 07F3E4 7F04A8B4 4600928D */ trunc.w.s $f10, $f18 -/* 07F3E8 7F04A8B8 44085000 */ mfc1 $t0, $f10 -/* 07F3EC 7F04A8BC 00000000 */ nop -/* 07F3F0 7F04A8C0 A6480008 */ sh $t0, 8($s2) -/* 07F3F4 7F04A8C4 92390005 */ lbu $t9, 5($s1) -/* 07F3F8 7F04A8C8 44993000 */ mtc1 $t9, $f6 -/* 07F3FC 7F04A8CC 07210004 */ bgez $t9, .L7F04A8E0 -/* 07F400 7F04A8D0 46803120 */ cvt.s.w $f4, $f6 -/* 07F404 7F04A8D4 44814000 */ mtc1 $at, $f8 -/* 07F408 7F04A8D8 00000000 */ nop -/* 07F40C 7F04A8DC 46082100 */ add.s $f4, $f4, $f8 -.L7F04A8E0: -/* 07F410 7F04A8E0 C612004C */ lwc1 $f18, 0x4c($s0) -/* 07F414 7F04A8E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F418 7F04A8E8 46189280 */ add.s $f10, $f18, $f24 -/* 07F41C 7F04A8EC 460A2182 */ mul.s $f6, $f4, $f10 -/* 07F420 7F04A8F0 00000000 */ nop -/* 07F424 7F04A8F4 46003202 */ mul.s $f8, $f6, $f0 -/* 07F428 7F04A8F8 4600448D */ trunc.w.s $f18, $f8 -/* 07F42C 7F04A8FC 440C9000 */ mfc1 $t4, $f18 -/* 07F430 7F04A900 00000000 */ nop -/* 07F434 7F04A904 A64C000A */ sh $t4, 0xa($s2) -/* 07F438 7F04A908 922A0004 */ lbu $t2, 4($s1) -/* 07F43C 7F04A90C 448A2000 */ mtc1 $t2, $f4 -/* 07F440 7F04A910 05410004 */ bgez $t2, .L7F04A924 -/* 07F444 7F04A914 468022A0 */ cvt.s.w $f10, $f4 -/* 07F448 7F04A918 44813000 */ mtc1 $at, $f6 -/* 07F44C 7F04A91C 00000000 */ nop -/* 07F450 7F04A920 46065280 */ add.s $f10, $f10, $f6 -.L7F04A924: -/* 07F454 7F04A924 C6080038 */ lwc1 $f8, 0x38($s0) -/* 07F458 7F04A928 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F45C 7F04A92C 460E4481 */ sub.s $f18, $f8, $f14 -/* 07F460 7F04A930 46125102 */ mul.s $f4, $f10, $f18 -/* 07F464 7F04A934 00000000 */ nop -/* 07F468 7F04A938 46002182 */ mul.s $f6, $f4, $f0 -/* 07F46C 7F04A93C 4600320D */ trunc.w.s $f8, $f6 -/* 07F470 7F04A940 440D4000 */ mfc1 $t5, $f8 -/* 07F474 7F04A944 00000000 */ nop -/* 07F478 7F04A948 A64D0018 */ sh $t5, 0x18($s2) -/* 07F47C 7F04A94C 922F0005 */ lbu $t7, 5($s1) -/* 07F480 7F04A950 448F5000 */ mtc1 $t7, $f10 -/* 07F484 7F04A954 05E10004 */ bgez $t7, .L7F04A968 -/* 07F488 7F04A958 468054A0 */ cvt.s.w $f18, $f10 -/* 07F48C 7F04A95C 44812000 */ mtc1 $at, $f4 -/* 07F490 7F04A960 00000000 */ nop -/* 07F494 7F04A964 46049480 */ add.s $f18, $f18, $f4 -.L7F04A968: -/* 07F498 7F04A968 C606004C */ lwc1 $f6, 0x4c($s0) -/* 07F49C 7F04A96C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F4A0 7F04A970 46103200 */ add.s $f8, $f6, $f16 -/* 07F4A4 7F04A974 46089282 */ mul.s $f10, $f18, $f8 -/* 07F4A8 7F04A978 00000000 */ nop -/* 07F4AC 7F04A97C 46005102 */ mul.s $f4, $f10, $f0 -/* 07F4B0 7F04A980 4600218D */ trunc.w.s $f6, $f4 -/* 07F4B4 7F04A984 44183000 */ mfc1 $t8, $f6 -/* 07F4B8 7F04A988 00000000 */ nop -/* 07F4BC 7F04A98C A658001A */ sh $t8, 0x1a($s2) -/* 07F4C0 7F04A990 92280004 */ lbu $t0, 4($s1) -/* 07F4C4 7F04A994 44889000 */ mtc1 $t0, $f18 -/* 07F4C8 7F04A998 05010004 */ bgez $t0, .L7F04A9AC -/* 07F4CC 7F04A99C 46809220 */ cvt.s.w $f8, $f18 -/* 07F4D0 7F04A9A0 44815000 */ mtc1 $at, $f10 -/* 07F4D4 7F04A9A4 00000000 */ nop -/* 07F4D8 7F04A9A8 460A4200 */ add.s $f8, $f8, $f10 -.L7F04A9AC: -/* 07F4DC 7F04A9AC C6040038 */ lwc1 $f4, 0x38($s0) -/* 07F4E0 7F04A9B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F4E4 7F04A9B4 46162181 */ sub.s $f6, $f4, $f22 -/* 07F4E8 7F04A9B8 46064482 */ mul.s $f18, $f8, $f6 -/* 07F4EC 7F04A9BC 00000000 */ nop -/* 07F4F0 7F04A9C0 46009282 */ mul.s $f10, $f18, $f0 -/* 07F4F4 7F04A9C4 4600510D */ trunc.w.s $f4, $f10 -/* 07F4F8 7F04A9C8 44092000 */ mfc1 $t1, $f4 -/* 07F4FC 7F04A9CC 00000000 */ nop -/* 07F500 7F04A9D0 A6490028 */ sh $t1, 0x28($s2) -/* 07F504 7F04A9D4 922C0005 */ lbu $t4, 5($s1) -/* 07F508 7F04A9D8 448C4000 */ mtc1 $t4, $f8 -/* 07F50C 7F04A9DC 05810004 */ bgez $t4, .L7F04A9F0 -/* 07F510 7F04A9E0 468041A0 */ cvt.s.w $f6, $f8 -/* 07F514 7F04A9E4 44819000 */ mtc1 $at, $f18 -/* 07F518 7F04A9E8 00000000 */ nop -/* 07F51C 7F04A9EC 46123180 */ add.s $f6, $f6, $f18 -.L7F04A9F0: -/* 07F520 7F04A9F0 C60A004C */ lwc1 $f10, 0x4c($s0) -/* 07F524 7F04A9F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F528 7F04A9F8 46185101 */ sub.s $f4, $f10, $f24 -/* 07F52C 7F04A9FC 46043202 */ mul.s $f8, $f6, $f4 -/* 07F530 7F04AA00 00000000 */ nop -/* 07F534 7F04AA04 46004482 */ mul.s $f18, $f8, $f0 -/* 07F538 7F04AA08 4600928D */ trunc.w.s $f10, $f18 -/* 07F53C 7F04AA0C 440B5000 */ mfc1 $t3, $f10 -/* 07F540 7F04AA10 00000000 */ nop -/* 07F544 7F04AA14 A64B002A */ sh $t3, 0x2a($s2) -/* 07F548 7F04AA18 922D0004 */ lbu $t5, 4($s1) -/* 07F54C 7F04AA1C 448D3000 */ mtc1 $t5, $f6 -/* 07F550 7F04AA20 05A10004 */ bgez $t5, .L7F04AA34 -/* 07F554 7F04AA24 46803120 */ cvt.s.w $f4, $f6 -/* 07F558 7F04AA28 44814000 */ mtc1 $at, $f8 -/* 07F55C 7F04AA2C 00000000 */ nop -/* 07F560 7F04AA30 46082100 */ add.s $f4, $f4, $f8 -.L7F04AA34: -/* 07F564 7F04AA34 C6120038 */ lwc1 $f18, 0x38($s0) -/* 07F568 7F04AA38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 07F56C 7F04AA3C 460E9280 */ add.s $f10, $f18, $f14 -/* 07F570 7F04AA40 460A2182 */ mul.s $f6, $f4, $f10 -/* 07F574 7F04AA44 00000000 */ nop -/* 07F578 7F04AA48 46003202 */ mul.s $f8, $f6, $f0 -/* 07F57C 7F04AA4C 4600448D */ trunc.w.s $f18, $f8 -/* 07F580 7F04AA50 440E9000 */ mfc1 $t6, $f18 -/* 07F584 7F04AA54 00000000 */ nop -/* 07F588 7F04AA58 A64E0038 */ sh $t6, 0x38($s2) -/* 07F58C 7F04AA5C 92380005 */ lbu $t8, 5($s1) -/* 07F590 7F04AA60 44982000 */ mtc1 $t8, $f4 -/* 07F594 7F04AA64 07010004 */ bgez $t8, .L7F04AA78 -/* 07F598 7F04AA68 468022A0 */ cvt.s.w $f10, $f4 -/* 07F59C 7F04AA6C 44813000 */ mtc1 $at, $f6 -/* 07F5A0 7F04AA70 00000000 */ nop -/* 07F5A4 7F04AA74 46065280 */ add.s $f10, $f10, $f6 -.L7F04AA78: -/* 07F5A8 7F04AA78 C608004C */ lwc1 $f8, 0x4c($s0) -/* 07F5AC 7F04AA7C 46104481 */ sub.s $f18, $f8, $f16 -/* 07F5B0 7F04AA80 46125102 */ mul.s $f4, $f10, $f18 -/* 07F5B4 7F04AA84 00000000 */ nop -/* 07F5B8 7F04AA88 46002182 */ mul.s $f6, $f4, $f0 -/* 07F5BC 7F04AA8C 4600320D */ trunc.w.s $f8, $f6 -/* 07F5C0 7F04AA90 44194000 */ mfc1 $t9, $f8 -/* 07F5C4 7F04AA94 00000000 */ nop -/* 07F5C8 7F04AA98 A659003A */ sh $t9, 0x3a($s2) -.L7F04AA9C: -/* 07F5CC 7F04AA9C 92020060 */ lbu $v0, 0x60($s0) -/* 07F5D0 7F04AAA0 240C0002 */ li $t4, 2 -/* 07F5D4 7F04AAA4 3C0DB700 */ lui $t5, 0xb700 -/* 07F5D8 7F04AAA8 A242003C */ sb $v0, 0x3c($s2) -/* 07F5DC 7F04AAAC A242002C */ sb $v0, 0x2c($s2) -/* 07F5E0 7F04AAB0 A242001C */ sb $v0, 0x1c($s2) -/* 07F5E4 7F04AAB4 A242000C */ sb $v0, 0xc($s2) -/* 07F5E8 7F04AAB8 92020063 */ lbu $v0, 0x63($s0) -/* 07F5EC 7F04AABC 240F2000 */ li $t7, 8192 -/* 07F5F0 7F04AAC0 27A400BC */ addiu $a0, $sp, 0xbc -/* 07F5F4 7F04AAC4 A242003D */ sb $v0, 0x3d($s2) -/* 07F5F8 7F04AAC8 A242002D */ sb $v0, 0x2d($s2) -/* 07F5FC 7F04AACC A242001D */ sb $v0, 0x1d($s2) -/* 07F600 7F04AAD0 A242000D */ sb $v0, 0xd($s2) -/* 07F604 7F04AAD4 92030066 */ lbu $v1, 0x66($s0) -/* 07F608 7F04AAD8 A243003E */ sb $v1, 0x3e($s2) -/* 07F60C 7F04AADC A243002E */ sb $v1, 0x2e($s2) -/* 07F610 7F04AAE0 A243001E */ sb $v1, 0x1e($s2) -/* 07F614 7F04AAE4 A243000E */ sb $v1, 0xe($s2) -/* 07F618 7F04AAE8 92020069 */ lbu $v0, 0x69($s0) -/* 07F61C 7F04AAEC A242003F */ sb $v0, 0x3f($s2) -/* 07F620 7F04AAF0 A242002F */ sb $v0, 0x2f($s2) -/* 07F624 7F04AAF4 A242001F */ sb $v0, 0x1f($s2) -/* 07F628 7F04AAF8 A242000F */ sb $v0, 0xf($s2) -/* 07F62C 7F04AAFC 92090069 */ lbu $t1, 0x69($s0) -/* 07F630 7F04AB00 292100FF */ slti $at, $t1, 0xff -/* 07F634 7F04AB04 50200003 */ beql $at, $zero, .L7F04AB14 -/* 07F638 7F04AB08 8FAA00BC */ lw $t2, 0xbc($sp) -/* 07F63C 7F04AB0C AFAC00C4 */ sw $t4, 0xc4($sp) -/* 07F640 7F04AB10 8FAA00BC */ lw $t2, 0xbc($sp) -.L7F04AB14: -/* 07F644 7F04AB14 240E0002 */ li $t6, 2 -/* 07F648 7F04AB18 02202825 */ move $a1, $s1 -/* 07F64C 7F04AB1C 254B0008 */ addiu $t3, $t2, 8 -/* 07F650 7F04AB20 AFAB00BC */ sw $t3, 0xbc($sp) -/* 07F654 7F04AB24 AD4F0004 */ sw $t7, 4($t2) -/* 07F658 7F04AB28 AD4D0000 */ sw $t5, ($t2) -/* 07F65C 7F04AB2C AFAE0010 */ sw $t6, 0x10($sp) -/* 07F660 7F04AB30 8FA700C0 */ lw $a3, 0xc0($sp) -/* 07F664 7F04AB34 0FC1DB5A */ jal likely_generate_DL_for_image_declaration -/* 07F668 7F04AB38 8FA600C4 */ lw $a2, 0xc4($sp) -/* 07F66C 7F04AB3C 8FB000BC */ lw $s0, 0xbc($sp) -/* 07F670 7F04AB40 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102 -/* 07F674 7F04AB44 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 07F678 7F04AB48 26080008 */ addiu $t0, $s0, 8 -/* 07F67C 7F04AB4C AFA800BC */ sw $t0, 0xbc($sp) -/* 07F680 7F04AB50 AE190000 */ sw $t9, ($s0) -/* 07F684 7F04AB54 8FA900B0 */ lw $t1, 0xb0($sp) -/* 07F688 7F04AB58 0C003A2C */ jal osVirtualToPhysical -/* 07F68C 7F04AB5C 8D24000C */ lw $a0, 0xc($t1) -/* 07F690 7F04AB60 AE020004 */ sw $v0, 4($s0) -/* 07F694 7F04AB64 8FB100BC */ lw $s1, 0xbc($sp) -/* 07F698 7F04AB68 3C0BBC00 */ lui $t3, (0xBC001006 >> 16) # lui $t3, 0xbc00 -/* 07F69C 7F04AB6C 356B1006 */ ori $t3, (0xBC001006 & 0xFFFF) # ori $t3, $t3, 0x1006 -/* 07F6A0 7F04AB70 262A0008 */ addiu $t2, $s1, 8 -/* 07F6A4 7F04AB74 AFAA00BC */ sw $t2, 0xbc($sp) -/* 07F6A8 7F04AB78 02402025 */ move $a0, $s2 -/* 07F6AC 7F04AB7C 0C003A2C */ jal osVirtualToPhysical -/* 07F6B0 7F04AB80 AE2B0000 */ sw $t3, ($s1) -/* 07F6B4 7F04AB84 AE220004 */ sw $v0, 4($s1) -/* 07F6B8 7F04AB88 8FAD00BC */ lw $t5, 0xbc($sp) -/* 07F6BC 7F04AB8C 3C0E0430 */ lui $t6, (0x04300040 >> 16) # lui $t6, 0x430 -/* 07F6C0 7F04AB90 35CE0040 */ ori $t6, (0x04300040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 07F6C4 7F04AB94 25AF0008 */ addiu $t7, $t5, 8 -/* 07F6C8 7F04AB98 AFAF00BC */ sw $t7, 0xbc($sp) -/* 07F6CC 7F04AB9C 3C180400 */ lui $t8, 0x400 -/* 07F6D0 7F04ABA0 ADB80004 */ sw $t8, 4($t5) -/* 07F6D4 7F04ABA4 ADAE0000 */ sw $t6, ($t5) -/* 07F6D8 7F04ABA8 8FA800BC */ lw $t0, 0xbc($sp) -/* 07F6DC 7F04ABAC 3C09B100 */ lui $t1, (0xB1000032 >> 16) # lui $t1, 0xb100 -/* 07F6E0 7F04ABB0 35290032 */ ori $t1, (0xB1000032 & 0xFFFF) # ori $t1, $t1, 0x32 -/* 07F6E4 7F04ABB4 25190008 */ addiu $t9, $t0, 8 -/* 07F6E8 7F04ABB8 AFB900BC */ sw $t9, 0xbc($sp) -/* 07F6EC 7F04ABBC 240C2010 */ li $t4, 8208 -/* 07F6F0 7F04ABC0 AD0C0004 */ sw $t4, 4($t0) -/* 07F6F4 7F04ABC4 AD090000 */ sw $t1, ($t0) -/* 07F6F8 7F04ABC8 8FAA00BC */ lw $t2, 0xbc($sp) -/* 07F6FC 7F04ABCC 3C0DB800 */ lui $t5, 0xb800 -/* 07F700 7F04ABD0 3C0F0601 */ lui $t7, 0x601 -/* 07F704 7F04ABD4 254B0008 */ addiu $t3, $t2, 8 -/* 07F708 7F04ABD8 AFAB00BC */ sw $t3, 0xbc($sp) -/* 07F70C 7F04ABDC AD400004 */ sw $zero, 4($t2) -/* 07F710 7F04ABE0 AD4D0000 */ sw $t5, ($t2) -/* 07F714 7F04ABE4 8FA600A8 */ lw $a2, 0xa8($sp) -/* 07F718 7F04ABE8 ACCF0000 */ sw $t7, ($a2) -/* 07F71C 7F04ABEC 8FAE00BC */ lw $t6, 0xbc($sp) -/* 07F720 7F04ABF0 ACCE0004 */ sw $t6, 4($a2) -.L7F04ABF4: -/* 07F724 7F04ABF4 8FBF004C */ lw $ra, 0x4c($sp) -.L7F04ABF8: -/* 07F728 7F04ABF8 8FA200BC */ lw $v0, 0xbc($sp) -/* 07F72C 7F04ABFC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 07F730 7F04AC00 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 07F734 7F04AC04 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 07F738 7F04AC08 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 07F73C 7F04AC0C 8FB00040 */ lw $s0, 0x40($sp) -/* 07F740 7F04AC10 8FB10044 */ lw $s1, 0x44($sp) -/* 07F744 7F04AC14 8FB20048 */ lw $s2, 0x48($sp) -/* 07F748 7F04AC18 03E00008 */ jr $ra -/* 07F74C 7F04AC1C 27BD00B0 */ addiu $sp, $sp, 0xb0 -) -#endif -#endif - - - - -#ifdef NONMATCHING -void sub_GAME_7F04AC20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04AC20 -/* 07F750 7F04AC20 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 07F754 7F04AC24 AFBF0024 */ sw $ra, 0x24($sp) -/* 07F758 7F04AC28 AFB00020 */ sw $s0, 0x20($sp) -/* 07F75C 7F04AC2C AFA40078 */ sw $a0, 0x78($sp) -/* 07F760 7F04AC30 AFA60080 */ sw $a2, 0x80($sp) -/* 07F764 7F04AC34 908F0001 */ lbu $t7, 1($a0) -/* 07F768 7F04AC38 00A08025 */ move $s0, $a1 -/* 07F76C 7F04AC3C 31F80002 */ andi $t8, $t7, 2 -/* 07F770 7F04AC40 5300013F */ beql $t8, $zero, .L7F04B140 -/* 07F774 7F04AC44 8FBF0024 */ lw $ra, 0x24($sp) -/* 07F778 7F04AC48 8C990004 */ lw $t9, 4($a0) -/* 07F77C 7F04AC4C AFB90074 */ sw $t9, 0x74($sp) -/* 07F780 7F04AC50 8F280014 */ lw $t0, 0x14($t9) -/* 07F784 7F04AC54 AFA80070 */ sw $t0, 0x70($sp) -/* 07F788 7F04AC58 8F290008 */ lw $t1, 8($t9) -/* 07F78C 7F04AC5C 312A0200 */ andi $t2, $t1, 0x200 -/* 07F790 7F04AC60 000A582B */ sltu $t3, $zero, $t2 -/* 07F794 7F04AC64 11600005 */ beqz $t3, .L7F04AC7C -/* 07F798 7F04AC68 AFAB0028 */ sw $t3, 0x28($sp) -/* 07F79C 7F04AC6C 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 07F7A0 7F04AC70 00000000 */ nop -/* 07F7A4 7F04AC74 0002602B */ sltu $t4, $zero, $v0 -/* 07F7A8 7F04AC78 AFAC0028 */ sw $t4, 0x28($sp) -.L7F04AC7C: -/* 07F7AC 7F04AC7C 8FAD0074 */ lw $t5, 0x74($sp) -/* 07F7B0 7F04AC80 2401000A */ li $at, 10 -/* 07F7B4 7F04AC84 8E07000C */ lw $a3, 0xc($s0) -/* 07F7B8 7F04AC88 91A30003 */ lbu $v1, 3($t5) -/* 07F7BC 7F04AC8C 54610022 */ bnel $v1, $at, .L7F04AD18 -/* 07F7C0 7F04AC90 2401000B */ li $at, 11 -/* 07F7C4 7F04AC94 8E0F0008 */ lw $t7, 8($s0) -/* 07F7C8 7F04AC98 8FA40070 */ lw $a0, 0x70($sp) -/* 07F7CC 7F04AC9C 31F80001 */ andi $t8, $t7, 1 -/* 07F7D0 7F04ACA0 53000075 */ beql $t8, $zero, .L7F04AE78 -/* 07F7D4 7F04ACA4 24010001 */ li $at, 1 -/* 07F7D8 7F04ACA8 8DA8000C */ lw $t0, 0xc($t5) -/* 07F7DC 7F04ACAC 8FAE0078 */ lw $t6, 0x78($sp) -/* 07F7E0 7F04ACB0 8FA90074 */ lw $t1, 0x74($sp) -/* 07F7E4 7F04ACB4 0008CBC0 */ sll $t9, $t0, 0xf -/* 07F7E8 7F04ACB8 07210003 */ bgez $t9, .L7F04ACC8 -/* 07F7EC 7F04ACBC 8DC20004 */ lw $v0, 4($t6) -/* 07F7F0 7F04ACC0 10000008 */ b .L7F04ACE4 -/* 07F7F4 7F04ACC4 00001825 */ move $v1, $zero -.L7F04ACC8: -/* 07F7F8 7F04ACC8 8D2A0008 */ lw $t2, 8($t1) -/* 07F7FC 7F04ACCC 24030001 */ li $v1, 1 -/* 07F800 7F04ACD0 000A58C0 */ sll $t3, $t2, 3 -/* 07F804 7F04ACD4 05610003 */ bgez $t3, .L7F04ACE4 -/* 07F808 7F04ACD8 00000000 */ nop -/* 07F80C 7F04ACDC 10000001 */ b .L7F04ACE4 -/* 07F810 7F04ACE0 24030008 */ li $v1, 8 -.L7F04ACE4: -/* 07F814 7F04ACE4 8C8F0008 */ lw $t7, 8($a0) -/* 07F818 7F04ACE8 240E0001 */ li $t6, 1 -/* 07F81C 7F04ACEC 24460080 */ addiu $a2, $v0, 0x80 -/* 07F820 7F04ACF0 8DF80008 */ lw $t8, 8($t7) -/* 07F824 7F04ACF4 8F050000 */ lw $a1, ($t8) -/* 07F828 7F04ACF8 AFAE0014 */ sw $t6, 0x14($sp) -/* 07F82C 7F04ACFC 0FC127D2 */ jal process_monitor_animation_microcode -/* 07F830 7F04AD00 AFA30010 */ sw $v1, 0x10($sp) -/* 07F834 7F04AD04 8FAD0074 */ lw $t5, 0x74($sp) -/* 07F838 7F04AD08 00403825 */ move $a3, $v0 -/* 07F83C 7F04AD0C 10000059 */ b .L7F04AE74 -/* 07F840 7F04AD10 91A30003 */ lbu $v1, 3($t5) -/* 07F844 7F04AD14 2401000B */ li $at, 11 -.L7F04AD18: -/* 07F848 7F04AD18 54610057 */ bnel $v1, $at, .L7F04AE78 -/* 07F84C 7F04AD1C 24010001 */ li $at, 1 -/* 07F850 7F04AD20 8E080008 */ lw $t0, 8($s0) -/* 07F854 7F04AD24 8FAA0074 */ lw $t2, 0x74($sp) -/* 07F858 7F04AD28 8FA40070 */ lw $a0, 0x70($sp) -/* 07F85C 7F04AD2C 31190001 */ andi $t9, $t0, 1 -/* 07F860 7F04AD30 53200051 */ beql $t9, $zero, .L7F04AE78 -/* 07F864 7F04AD34 24010001 */ li $at, 1 -/* 07F868 7F04AD38 8D4B000C */ lw $t3, 0xc($t2) -/* 07F86C 7F04AD3C 8FA90078 */ lw $t1, 0x78($sp) -/* 07F870 7F04AD40 8FAF0074 */ lw $t7, 0x74($sp) -/* 07F874 7F04AD44 000B63C0 */ sll $t4, $t3, 0xf -/* 07F878 7F04AD48 05810003 */ bgez $t4, .L7F04AD58 -/* 07F87C 7F04AD4C 8D220004 */ lw $v0, 4($t1) -/* 07F880 7F04AD50 10000008 */ b .L7F04AD74 -/* 07F884 7F04AD54 00001825 */ move $v1, $zero -.L7F04AD58: -/* 07F888 7F04AD58 8DF80008 */ lw $t8, 8($t7) -/* 07F88C 7F04AD5C 24030001 */ li $v1, 1 -/* 07F890 7F04AD60 001870C0 */ sll $t6, $t8, 3 -/* 07F894 7F04AD64 05C10003 */ bgez $t6, .L7F04AD74 -/* 07F898 7F04AD68 00000000 */ nop -/* 07F89C 7F04AD6C 10000001 */ b .L7F04AD74 -/* 07F8A0 7F04AD70 24030008 */ li $v1, 8 -.L7F04AD74: -/* 07F8A4 7F04AD74 8C880008 */ lw $t0, 8($a0) -/* 07F8A8 7F04AD78 24090001 */ li $t1, 1 -/* 07F8AC 7F04AD7C 24460080 */ addiu $a2, $v0, 0x80 -/* 07F8B0 7F04AD80 8D190008 */ lw $t9, 8($t0) -/* 07F8B4 7F04AD84 8F250000 */ lw $a1, ($t9) -/* 07F8B8 7F04AD88 AFA20058 */ sw $v0, 0x58($sp) -/* 07F8BC 7F04AD8C AFA90014 */ sw $t1, 0x14($sp) -/* 07F8C0 7F04AD90 0FC127D2 */ jal process_monitor_animation_microcode -/* 07F8C4 7F04AD94 AFA30010 */ sw $v1, 0x10($sp) -/* 07F8C8 7F04AD98 8FAA0074 */ lw $t2, 0x74($sp) -/* 07F8CC 7F04AD9C 00403825 */ move $a3, $v0 -/* 07F8D0 7F04ADA0 8FAF0074 */ lw $t7, 0x74($sp) -/* 07F8D4 7F04ADA4 8D4B000C */ lw $t3, 0xc($t2) -/* 07F8D8 7F04ADA8 8FA40070 */ lw $a0, 0x70($sp) -/* 07F8DC 7F04ADAC 000B63C0 */ sll $t4, $t3, 0xf -/* 07F8E0 7F04ADB0 05830004 */ bgezl $t4, .L7F04ADC4 -/* 07F8E4 7F04ADB4 8DF80008 */ lw $t8, 8($t7) -/* 07F8E8 7F04ADB8 10000009 */ b .L7F04ADE0 -/* 07F8EC 7F04ADBC 00001825 */ move $v1, $zero -/* 07F8F0 7F04ADC0 8DF80008 */ lw $t8, 8($t7) -.L7F04ADC4: -/* 07F8F4 7F04ADC4 3C013000 */ lui $at, 0x3000 -/* 07F8F8 7F04ADC8 24030001 */ li $v1, 1 -/* 07F8FC 7F04ADCC 03017024 */ and $t6, $t8, $at -/* 07F900 7F04ADD0 11C00003 */ beqz $t6, .L7F04ADE0 -/* 07F904 7F04ADD4 00000000 */ nop -/* 07F908 7F04ADD8 10000001 */ b .L7F04ADE0 -/* 07F90C 7F04ADDC 24030008 */ li $v1, 8 -.L7F04ADE0: -/* 07F910 7F04ADE0 8C880008 */ lw $t0, 8($a0) -/* 07F914 7F04ADE4 8FA60058 */ lw $a2, 0x58($sp) -/* 07F918 7F04ADE8 24090001 */ li $t1, 1 -/* 07F91C 7F04ADEC 8D190008 */ lw $t9, 8($t0) -/* 07F920 7F04ADF0 24C600F4 */ addiu $a2, $a2, 0xf4 -/* 07F924 7F04ADF4 8F250004 */ lw $a1, 4($t9) -/* 07F928 7F04ADF8 AFA30060 */ sw $v1, 0x60($sp) -/* 07F92C 7F04ADFC AFA90014 */ sw $t1, 0x14($sp) -/* 07F930 7F04AE00 0FC127D2 */ jal process_monitor_animation_microcode -/* 07F934 7F04AE04 AFA30010 */ sw $v1, 0x10($sp) -/* 07F938 7F04AE08 8FA40070 */ lw $a0, 0x70($sp) -/* 07F93C 7F04AE0C 8FA30060 */ lw $v1, 0x60($sp) -/* 07F940 7F04AE10 8FA60058 */ lw $a2, 0x58($sp) -/* 07F944 7F04AE14 8C8B0008 */ lw $t3, 8($a0) -/* 07F948 7F04AE18 240F0001 */ li $t7, 1 -/* 07F94C 7F04AE1C 00403825 */ move $a3, $v0 -/* 07F950 7F04AE20 8D6C0008 */ lw $t4, 8($t3) -/* 07F954 7F04AE24 24C60168 */ addiu $a2, $a2, 0x168 -/* 07F958 7F04AE28 8D850008 */ lw $a1, 8($t4) -/* 07F95C 7F04AE2C AFAF0014 */ sw $t7, 0x14($sp) -/* 07F960 7F04AE30 0FC127D2 */ jal process_monitor_animation_microcode -/* 07F964 7F04AE34 AFA30010 */ sw $v1, 0x10($sp) -/* 07F968 7F04AE38 8FA40070 */ lw $a0, 0x70($sp) -/* 07F96C 7F04AE3C 8FA30060 */ lw $v1, 0x60($sp) -/* 07F970 7F04AE40 8FA60058 */ lw $a2, 0x58($sp) -/* 07F974 7F04AE44 8C8E0008 */ lw $t6, 8($a0) -/* 07F978 7F04AE48 24080001 */ li $t0, 1 -/* 07F97C 7F04AE4C 00403825 */ move $a3, $v0 -/* 07F980 7F04AE50 8DCD0008 */ lw $t5, 8($t6) -/* 07F984 7F04AE54 24C601DC */ addiu $a2, $a2, 0x1dc -/* 07F988 7F04AE58 8DA5000C */ lw $a1, 0xc($t5) -/* 07F98C 7F04AE5C AFA80014 */ sw $t0, 0x14($sp) -/* 07F990 7F04AE60 0FC127D2 */ jal process_monitor_animation_microcode -/* 07F994 7F04AE64 AFA30010 */ sw $v1, 0x10($sp) -/* 07F998 7F04AE68 8FB90074 */ lw $t9, 0x74($sp) -/* 07F99C 7F04AE6C 00403825 */ move $a3, $v0 -/* 07F9A0 7F04AE70 93230003 */ lbu $v1, 3($t9) -.L7F04AE74: -/* 07F9A4 7F04AE74 24010001 */ li $at, 1 -.L7F04AE78: -/* 07F9A8 7F04AE78 1461001A */ bne $v1, $at, .L7F04AEE4 -/* 07F9AC 7F04AE7C 8FA40074 */ lw $a0, 0x74($sp) -/* 07F9B0 7F04AE80 8FA90078 */ lw $t1, 0x78($sp) -/* 07F9B4 7F04AE84 00E01025 */ move $v0, $a3 -/* 07F9B8 7F04AE88 3C0AB600 */ lui $t2, 0xb600 -/* 07F9BC 7F04AE8C 8D230004 */ lw $v1, 4($t1) -/* 07F9C0 7F04AE90 240B3000 */ li $t3, 12288 -/* 07F9C4 7F04AE94 AC4B0004 */ sw $t3, 4($v0) -/* 07F9C8 7F04AE98 AC4A0000 */ sw $t2, ($v0) -/* 07F9CC 7F04AE9C 946C0098 */ lhu $t4, 0x98($v1) -/* 07F9D0 7F04AEA0 24E70008 */ addiu $a3, $a3, 8 -/* 07F9D4 7F04AEA4 24180002 */ li $t8, 2 -/* 07F9D8 7F04AEA8 318F0008 */ andi $t7, $t4, 8 -/* 07F9DC 7F04AEAC 11E00003 */ beqz $t7, .L7F04AEBC -/* 07F9E0 7F04AEB0 240E0003 */ li $t6, 3 -/* 07F9E4 7F04AEB4 10000002 */ b .L7F04AEC0 -/* 07F9E8 7F04AEB8 AE18003C */ sw $t8, 0x3c($s0) -.L7F04AEBC: -/* 07F9EC 7F04AEBC AE0E003C */ sw $t6, 0x3c($s0) -.L7F04AEC0: -/* 07F9F0 7F04AEC0 8E0D0030 */ lw $t5, 0x30($s0) -/* 07F9F4 7F04AEC4 24010009 */ li $at, 9 -/* 07F9F8 7F04AEC8 55A1004B */ bnel $t5, $at, .L7F04AFF8 -/* 07F9FC 7F04AECC 8FB90028 */ lw $t9, 0x28($sp) -/* 07FA00 7F04AED0 8E080034 */ lw $t0, 0x34($s0) -/* 07FA04 7F04AED4 2401FF00 */ li $at, -256 -/* 07FA08 7F04AED8 0101C824 */ and $t9, $t0, $at -/* 07FA0C 7F04AEDC 10000045 */ b .L7F04AFF4 -/* 07FA10 7F04AEE0 AE190034 */ sw $t9, 0x34($s0) -.L7F04AEE4: -/* 07FA14 7F04AEE4 0FC12D1E */ jal sub_GAME_7F04B478 -/* 07FA18 7F04AEE8 AFA70064 */ sw $a3, 0x64($sp) -/* 07FA1C 7F04AEEC 8FA70064 */ lw $a3, 0x64($sp) -/* 07FA20 7F04AEF0 1040000F */ beqz $v0, .L7F04AF30 -/* 07FA24 7F04AEF4 00002825 */ move $a1, $zero -/* 07FA28 7F04AEF8 8C430004 */ lw $v1, 4($v0) -/* 07FA2C 7F04AEFC 8FA90074 */ lw $t1, 0x74($sp) -/* 07FA30 7F04AF00 5060000C */ beql $v1, $zero, .L7F04AF34 -/* 07FA34 7F04AF04 8FA40074 */ lw $a0, 0x74($sp) -/* 07FA38 7F04AF08 8D2A0014 */ lw $t2, 0x14($t1) -/* 07FA3C 7F04AF0C 946C001A */ lhu $t4, 0x1a($v1) -/* 07FA40 7F04AF10 8C780008 */ lw $t8, 8($v1) -/* 07FA44 7F04AF14 8D4B0010 */ lw $t3, 0x10($t2) -/* 07FA48 7F04AF18 000C7880 */ sll $t7, $t4, 2 -/* 07FA4C 7F04AF1C 016F1021 */ addu $v0, $t3, $t7 -/* 07FA50 7F04AF20 8C4E0000 */ lw $t6, ($v0) -/* 07FA54 7F04AF24 530E0003 */ beql $t8, $t6, .L7F04AF34 -/* 07FA58 7F04AF28 8FA40074 */ lw $a0, 0x74($sp) -/* 07FA5C 7F04AF2C 24050001 */ li $a1, 1 -.L7F04AF30: -/* 07FA60 7F04AF30 8FA40074 */ lw $a0, 0x74($sp) -.L7F04AF34: -/* 07FA64 7F04AF34 AFA50040 */ sw $a1, 0x40($sp) -/* 07FA68 7F04AF38 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 07FA6C 7F04AF3C AFA70064 */ sw $a3, 0x64($sp) -/* 07FA70 7F04AF40 8FA50040 */ lw $a1, 0x40($sp) -/* 07FA74 7F04AF44 10400003 */ beqz $v0, .L7F04AF54 -/* 07FA78 7F04AF48 8FA70064 */ lw $a3, 0x64($sp) -/* 07FA7C 7F04AF4C 14A0000B */ bnez $a1, .L7F04AF7C -/* 07FA80 7F04AF50 8FA40074 */ lw $a0, 0x74($sp) -.L7F04AF54: -/* 07FA84 7F04AF54 8E080030 */ lw $t0, 0x30($s0) -/* 07FA88 7F04AF58 240D0003 */ li $t5, 3 -/* 07FA8C 7F04AF5C 24010009 */ li $at, 9 -/* 07FA90 7F04AF60 15010024 */ bne $t0, $at, .L7F04AFF4 -/* 07FA94 7F04AF64 AE0D003C */ sw $t5, 0x3c($s0) -/* 07FA98 7F04AF68 8E190034 */ lw $t9, 0x34($s0) -/* 07FA9C 7F04AF6C 2401FF00 */ li $at, -256 -/* 07FAA0 7F04AF70 03214824 */ and $t1, $t9, $at -/* 07FAA4 7F04AF74 1000001F */ b .L7F04AFF4 -/* 07FAA8 7F04AF78 AE090034 */ sw $t1, 0x34($s0) -.L7F04AF7C: -/* 07FAAC 7F04AF7C 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 07FAB0 7F04AF80 AFA70064 */ sw $a3, 0x64($sp) -/* 07FAB4 7F04AF84 8E0C0030 */ lw $t4, 0x30($s0) -/* 07FAB8 7F04AF88 8FA70064 */ lw $a3, 0x64($sp) -/* 07FABC 7F04AF8C 240A0001 */ li $t2, 1 -/* 07FAC0 7F04AF90 24010009 */ li $at, 9 -/* 07FAC4 7F04AF94 15810012 */ bne $t4, $at, .L7F04AFE0 -/* 07FAC8 7F04AF98 AE0A003C */ sw $t2, 0x3c($s0) -/* 07FACC 7F04AF9C 00021880 */ sll $v1, $v0, 2 -/* 07FAD0 7F04AFA0 00621823 */ subu $v1, $v1, $v0 -/* 07FAD4 7F04AFA4 000318C0 */ sll $v1, $v1, 3 -/* 07FAD8 7F04AFA8 00621821 */ addu $v1, $v1, $v0 -/* 07FADC 7F04AFAC 00031840 */ sll $v1, $v1, 1 -/* 07FAE0 7F04AFB0 24640064 */ addiu $a0, $v1, 0x64 -/* 07FAE4 7F04AFB4 28810100 */ slti $at, $a0, 0x100 -/* 07FAE8 7F04AFB8 54200003 */ bnezl $at, .L7F04AFC8 -/* 07FAEC 7F04AFBC 8E0B0034 */ lw $t3, 0x34($s0) -/* 07FAF0 7F04AFC0 240400FF */ li $a0, 255 -/* 07FAF4 7F04AFC4 8E0B0034 */ lw $t3, 0x34($s0) -.L7F04AFC8: -/* 07FAF8 7F04AFC8 2401FF00 */ li $at, -256 -/* 07FAFC 7F04AFCC 01617824 */ and $t7, $t3, $at -/* 07FB00 7F04AFD0 AE0F0034 */ sw $t7, 0x34($s0) -/* 07FB04 7F04AFD4 01E47025 */ or $t6, $t7, $a0 -/* 07FB08 7F04AFD8 10000006 */ b .L7F04AFF4 -/* 07FB0C 7F04AFDC AE0E0034 */ sw $t6, 0x34($s0) -.L7F04AFE0: -/* 07FB10 7F04AFE0 58400005 */ blezl $v0, .L7F04AFF8 -/* 07FB14 7F04AFE4 8FB90028 */ lw $t9, 0x28($sp) -/* 07FB18 7F04AFE8 8E0D0034 */ lw $t5, 0x34($s0) -/* 07FB1C 7F04AFEC 35A8FF00 */ ori $t0, $t5, 0xff00 -/* 07FB20 7F04AFF0 AE080034 */ sw $t0, 0x34($s0) -.L7F04AFF4: -/* 07FB24 7F04AFF4 8FB90028 */ lw $t9, 0x28($sp) -.L7F04AFF8: -/* 07FB28 7F04AFF8 3C090103 */ lui $t1, (0x01030040 >> 16) # lui $t1, 0x103 -/* 07FB2C 7F04AFFC 35290040 */ ori $t1, (0x01030040 & 0xFFFF) # ori $t1, $t1, 0x40 -/* 07FB30 7F04B000 13200009 */ beqz $t9, .L7F04B028 -/* 07FB34 7F04B004 00E01825 */ move $v1, $a3 -/* 07FB38 7F04B008 24E70008 */ addiu $a3, $a3, 8 -/* 07FB3C 7F04B00C AC690000 */ sw $t1, ($v1) -/* 07FB40 7F04B010 AFA70064 */ sw $a3, 0x64($sp) -/* 07FB44 7F04B014 0FC1E0E5 */ jal get_BONDdata_field_10E0 -/* 07FB48 7F04B018 AFA30034 */ sw $v1, 0x34($sp) -/* 07FB4C 7F04B01C 8FA30034 */ lw $v1, 0x34($sp) -/* 07FB50 7F04B020 8FA70064 */ lw $a3, 0x64($sp) -/* 07FB54 7F04B024 AC620004 */ sw $v0, 4($v1) -.L7F04B028: -/* 07FB58 7F04B028 AE07000C */ sw $a3, 0xc($s0) -/* 07FB5C 7F04B02C 8FA50070 */ lw $a1, 0x70($sp) -/* 07FB60 7F04B030 0FC1D1A1 */ jal subdraw -/* 07FB64 7F04B034 02002025 */ move $a0, $s0 -/* 07FB68 7F04B038 8FA30074 */ lw $v1, 0x74($sp) -/* 07FB6C 7F04B03C 8E07000C */ lw $a3, 0xc($s0) -/* 07FB70 7F04B040 24010001 */ li $at, 1 -/* 07FB74 7F04B044 906A0003 */ lbu $t2, 3($v1) -/* 07FB78 7F04B048 3C0CB600 */ lui $t4, 0xb600 -/* 07FB7C 7F04B04C 240B3000 */ li $t3, 12288 -/* 07FB80 7F04B050 15410004 */ bne $t2, $at, .L7F04B064 -/* 07FB84 7F04B054 00E01025 */ move $v0, $a3 -/* 07FB88 7F04B058 24E70008 */ addiu $a3, $a3, 8 -/* 07FB8C 7F04B05C AC4C0000 */ sw $t4, ($v0) -/* 07FB90 7F04B060 AC4B0004 */ sw $t3, 4($v0) -.L7F04B064: -/* 07FB94 7F04B064 8FA60080 */ lw $a2, 0x80($sp) -/* 07FB98 7F04B068 906F0002 */ lbu $t7, 2($v1) -/* 07FB9C 7F04B06C 24180001 */ li $t8, 1 -/* 07FBA0 7F04B070 00D87004 */ sllv $t6, $t8, $a2 -/* 07FBA4 7F04B074 01EE6824 */ and $t5, $t7, $t6 -/* 07FBA8 7F04B078 11A00005 */ beqz $t5, .L7F04B090 -/* 07FBAC 7F04B07C 00E02025 */ move $a0, $a3 -/* 07FBB0 7F04B080 0FC286A5 */ jal sub_GAME_7F0A1A94 -/* 07FBB4 7F04B084 8FA50078 */ lw $a1, 0x78($sp) -/* 07FBB8 7F04B088 00403825 */ move $a3, $v0 -/* 07FBBC 7F04B08C 8FA60080 */ lw $a2, 0x80($sp) -.L7F04B090: -/* 07FBC0 7F04B090 8FA80028 */ lw $t0, 0x28($sp) -/* 07FBC4 7F04B094 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 07FBC8 7F04B098 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 07FBCC 7F04B09C 1100000A */ beqz $t0, .L7F04B0C8 -/* 07FBD0 7F04B0A0 00E01825 */ move $v1, $a3 -/* 07FBD4 7F04B0A4 24E70008 */ addiu $a3, $a3, 8 -/* 07FBD8 7F04B0A8 AC790000 */ sw $t9, ($v1) -/* 07FBDC 7F04B0AC AFA70064 */ sw $a3, 0x64($sp) -/* 07FBE0 7F04B0B0 0FC1E0DD */ jal get_BONDdata_field_10D8 -/* 07FBE4 7F04B0B4 AFA3002C */ sw $v1, 0x2c($sp) -/* 07FBE8 7F04B0B8 8FA3002C */ lw $v1, 0x2c($sp) -/* 07FBEC 7F04B0BC 8FA70064 */ lw $a3, 0x64($sp) -/* 07FBF0 7F04B0C0 AC620004 */ sw $v0, 4($v1) -/* 07FBF4 7F04B0C4 8FA60080 */ lw $a2, 0x80($sp) -.L7F04B0C8: -/* 07FBF8 7F04B0C8 AE07000C */ sw $a3, 0xc($s0) -/* 07FBFC 7F04B0CC 8FA90078 */ lw $t1, 0x78($sp) -/* 07FC00 7F04B0D0 8D240020 */ lw $a0, 0x20($t1) -/* 07FC04 7F04B0D4 1080000A */ beqz $a0, .L7F04B100 -/* 07FC08 7F04B0D8 00000000 */ nop -/* 07FC0C 7F04B0DC 8FA60080 */ lw $a2, 0x80($sp) -.L7F04B0E0: -/* 07FC10 7F04B0E0 02002825 */ move $a1, $s0 -/* 07FC14 7F04B0E4 0FC12B08 */ jal sub_GAME_7F04AC20 -/* 07FC18 7F04B0E8 AFA40068 */ sw $a0, 0x68($sp) -/* 07FC1C 7F04B0EC 8FA40068 */ lw $a0, 0x68($sp) -/* 07FC20 7F04B0F0 8C840024 */ lw $a0, 0x24($a0) -/* 07FC24 7F04B0F4 5480FFFA */ bnezl $a0, .L7F04B0E0 -/* 07FC28 7F04B0F8 8FA60080 */ lw $a2, 0x80($sp) -/* 07FC2C 7F04B0FC 8FA60080 */ lw $a2, 0x80($sp) -.L7F04B100: -/* 07FC30 7F04B100 10C0000E */ beqz $a2, .L7F04B13C -/* 07FC34 7F04B104 8FAA0028 */ lw $t2, 0x28($sp) -/* 07FC38 7F04B108 11400008 */ beqz $t2, .L7F04B12C -/* 07FC3C 7F04B10C 8FA20070 */ lw $v0, 0x70($sp) -/* 07FC40 7F04B110 8FA20070 */ lw $v0, 0x70($sp) -/* 07FC44 7F04B114 8C4C0008 */ lw $t4, 8($v0) -/* 07FC48 7F04B118 8C44000C */ lw $a0, 0xc($v0) -/* 07FC4C 7F04B11C 0FC22FBB */ jal sub_GAME_7F08BEEC -/* 07FC50 7F04B120 8585000E */ lh $a1, 0xe($t4) -/* 07FC54 7F04B124 10000006 */ b .L7F04B140 -/* 07FC58 7F04B128 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04B12C: -/* 07FC5C 7F04B12C 8C4B0008 */ lw $t3, 8($v0) -/* 07FC60 7F04B130 8C44000C */ lw $a0, 0xc($v0) -/* 07FC64 7F04B134 0FC22F52 */ jal sub_GAME_7F08BD48 -/* 07FC68 7F04B138 8565000E */ lh $a1, 0xe($t3) -.L7F04B13C: -/* 07FC6C 7F04B13C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04B140: -/* 07FC70 7F04B140 8FB00020 */ lw $s0, 0x20($sp) -/* 07FC74 7F04B144 27BD0078 */ addiu $sp, $sp, 0x78 -/* 07FC78 7F04B148 03E00008 */ jr $ra -/* 07FC7C 7F04B14C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04B150(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04B150 -/* 07FC80 7F04B150 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 07FC84 7F04B154 3C0F8003 */ lui $t7, %hi(D_80031FD0) -/* 07FC88 7F04B158 AFBF0024 */ sw $ra, 0x24($sp) -/* 07FC8C 7F04B15C AFB00020 */ sw $s0, 0x20($sp) -/* 07FC90 7F04B160 AFA500C4 */ sw $a1, 0xc4($sp) -/* 07FC94 7F04B164 AFA600C8 */ sw $a2, 0xc8($sp) -/* 07FC98 7F04B168 25EF1FD0 */ addiu $t7, %lo(D_80031FD0) # addiu $t7, $t7, 0x1fd0 -/* 07FC9C 7F04B16C 8C900004 */ lw $s0, 4($a0) -/* 07FCA0 7F04B170 25E8003C */ addiu $t0, $t7, 0x3c -/* 07FCA4 7F04B174 27AE0068 */ addiu $t6, $sp, 0x68 -.L7F04B178: -/* 07FCA8 7F04B178 8DE10000 */ lw $at, ($t7) -/* 07FCAC 7F04B17C 25EF000C */ addiu $t7, $t7, 0xc -/* 07FCB0 7F04B180 25CE000C */ addiu $t6, $t6, 0xc -/* 07FCB4 7F04B184 ADC1FFF4 */ sw $at, -0xc($t6) -/* 07FCB8 7F04B188 8DE1FFF8 */ lw $at, -8($t7) -/* 07FCBC 7F04B18C ADC1FFF8 */ sw $at, -8($t6) -/* 07FCC0 7F04B190 8DE1FFFC */ lw $at, -4($t7) -/* 07FCC4 7F04B194 15E8FFF8 */ bne $t7, $t0, .L7F04B178 -/* 07FCC8 7F04B198 ADC1FFFC */ sw $at, -4($t6) -/* 07FCCC 7F04B19C 8DE10000 */ lw $at, ($t7) -/* 07FCD0 7F04B1A0 240900FF */ li $t1, 255 -/* 07FCD4 7F04B1A4 27A500B0 */ addiu $a1, $sp, 0xb0 -/* 07FCD8 7F04B1A8 ADC10000 */ sw $at, ($t6) -/* 07FCDC 7F04B1AC AFA9003C */ sw $t1, 0x3c($sp) -/* 07FCE0 7F04B1B0 0FC2ECE9 */ jal if_sky_present_convert_values -/* 07FCE4 7F04B1B4 AFA400C0 */ sw $a0, 0xc0($sp) -/* 07FCE8 7F04B1B8 14400003 */ bnez $v0, .L7F04B1C8 -/* 07FCEC 7F04B1BC AFA200AC */ sw $v0, 0xac($sp) -/* 07FCF0 7F04B1C0 100000A8 */ b .L7F04B464 -/* 07FCF4 7F04B1C4 8FA200C4 */ lw $v0, 0xc4($sp) -.L7F04B1C8: -/* 07FCF8 7F04B1C8 920A0003 */ lbu $t2, 3($s0) -/* 07FCFC 7F04B1CC 2401002F */ li $at, 47 -/* 07FD00 7F04B1D0 51410021 */ beql $t2, $at, .L7F04B258 -/* 07FD04 7F04B1D4 8FAD003C */ lw $t5, 0x3c($sp) -/* 07FD08 7F04B1D8 0FC1B403 */ jal getinstsize -/* 07FD0C 7F04B1DC 8E040014 */ lw $a0, 0x14($s0) -/* 07FD10 7F04B1E0 44050000 */ mfc1 $a1, $f0 -/* 07FD14 7F04B1E4 0FC152E0 */ jal sub_GAME_7F054B80 -/* 07FD18 7F04B1E8 8FA400C0 */ lw $a0, 0xc0($sp) -/* 07FD1C 7F04B1EC 8FAB00C0 */ lw $t3, 0xc0($sp) -/* 07FD20 7F04B1F0 46000086 */ mov.s $f2, $f0 -/* 07FD24 7F04B1F4 85620002 */ lh $v0, 2($t3) -/* 07FD28 7F04B1F8 1840000B */ blez $v0, .L7F04B228 -/* 07FD2C 7F04B1FC 2841003C */ slti $at, $v0, 0x3c -/* 07FD30 7F04B200 5020000A */ beql $at, $zero, .L7F04B22C -/* 07FD34 7F04B204 3C01437F */ lui $at, 0x437f -/* 07FD38 7F04B208 44822000 */ mtc1 $v0, $f4 -/* 07FD3C 7F04B20C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 07FD40 7F04B210 44816000 */ mtc1 $at, $f12 -/* 07FD44 7F04B214 468021A0 */ cvt.s.w $f6, $f4 -/* 07FD48 7F04B218 46066201 */ sub.s $f8, $f12, $f6 -/* 07FD4C 7F04B21C 460C4283 */ div.s $f10, $f8, $f12 -/* 07FD50 7F04B220 460A0082 */ mul.s $f2, $f0, $f10 -/* 07FD54 7F04B224 00000000 */ nop -.L7F04B228: -/* 07FD58 7F04B228 3C01437F */ li $at, 0x437F0000 # 255.000000 -.L7F04B22C: -/* 07FD5C 7F04B22C 44818000 */ mtc1 $at, $f16 -/* 07FD60 7F04B230 00000000 */ nop -/* 07FD64 7F04B234 46101482 */ mul.s $f18, $f2, $f16 -/* 07FD68 7F04B238 4600910D */ trunc.w.s $f4, $f18 -/* 07FD6C 7F04B23C 44022000 */ mfc1 $v0, $f4 -/* 07FD70 7F04B240 00000000 */ nop -/* 07FD74 7F04B244 1C400003 */ bgtz $v0, .L7F04B254 -/* 07FD78 7F04B248 AFA2003C */ sw $v0, 0x3c($sp) -/* 07FD7C 7F04B24C 10000085 */ b .L7F04B464 -/* 07FD80 7F04B250 8FA200C4 */ lw $v0, 0xc4($sp) -.L7F04B254: -/* 07FD84 7F04B254 8FAD003C */ lw $t5, 0x3c($sp) -.L7F04B258: -/* 07FD88 7F04B258 8FA800C8 */ lw $t0, 0xc8($sp) -/* 07FD8C 7F04B25C 8FA400C0 */ lw $a0, 0xc0($sp) -/* 07FD90 7F04B260 29A100FF */ slti $at, $t5, 0xff -/* 07FD94 7F04B264 14200006 */ bnez $at, .L7F04B280 -/* 07FD98 7F04B268 27A50058 */ addiu $a1, $sp, 0x58 -/* 07FD9C 7F04B26C 8E19000C */ lw $t9, 0xc($s0) -/* 07FDA0 7F04B270 8FAF00C8 */ lw $t7, 0xc8($sp) -/* 07FDA4 7F04B274 0019C3C0 */ sll $t8, $t9, 0xf -/* 07FDA8 7F04B278 07010007 */ bgez $t8, .L7F04B298 -/* 07FDAC 7F04B27C 00000000 */ nop -.L7F04B280: -/* 07FDB0 7F04B280 15000003 */ bnez $t0, .L7F04B290 -/* 07FDB4 7F04B284 00000000 */ nop -/* 07FDB8 7F04B288 10000076 */ b .L7F04B464 -/* 07FDBC 7F04B28C 8FA200C4 */ lw $v0, 0xc4($sp) -.L7F04B290: -/* 07FDC0 7F04B290 10000005 */ b .L7F04B2A8 -/* 07FDC4 7F04B294 24030003 */ li $v1, 3 -.L7F04B298: -/* 07FDC8 7F04B298 15E00003 */ bnez $t7, .L7F04B2A8 -/* 07FDCC 7F04B29C 24030002 */ li $v1, 2 -/* 07FDD0 7F04B2A0 10000001 */ b .L7F04B2A8 -/* 07FDD4 7F04B2A4 24030001 */ li $v1, 1 -.L7F04B2A8: -/* 07FDD8 7F04B2A8 0FC15299 */ jal sub_GAME_7F054A64 -/* 07FDDC 7F04B2AC AFA30044 */ sw $v1, 0x44($sp) -/* 07FDE0 7F04B2B0 1840000E */ blez $v0, .L7F04B2EC -/* 07FDE4 7F04B2B4 8FA30044 */ lw $v1, 0x44($sp) -/* 07FDE8 7F04B2B8 8E0E000C */ lw $t6, 0xc($s0) -/* 07FDEC 7F04B2BC 8FA400C4 */ lw $a0, 0xc4($sp) -/* 07FDF0 7F04B2C0 8FA50058 */ lw $a1, 0x58($sp) -/* 07FDF4 7F04B2C4 000E4940 */ sll $t1, $t6, 5 -/* 07FDF8 7F04B2C8 05200008 */ bltz $t1, .L7F04B2EC -/* 07FDFC 7F04B2CC 8FA6005C */ lw $a2, 0x5c($sp) -/* 07FE00 7F04B2D0 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 07FE04 7F04B2D4 8FA70060 */ lw $a3, 0x60($sp) -/* 07FE08 7F04B2D8 AFA30044 */ sw $v1, 0x44($sp) -/* 07FE0C 7F04B2DC 0FC2D3FD */ jal sub_GAME_7F0B4FF4 -/* 07FE10 7F04B2E0 E7A60010 */ swc1 $f6, 0x10($sp) -/* 07FE14 7F04B2E4 10000005 */ b .L7F04B2FC -/* 07FE18 7F04B2E8 8FA30044 */ lw $v1, 0x44($sp) -.L7F04B2EC: -/* 07FE1C 7F04B2EC 8FA400C4 */ lw $a0, 0xc4($sp) -/* 07FE20 7F04B2F0 0FC2D3ED */ jal sub_GAME_7F0B4FB4 -/* 07FE24 7F04B2F4 AFA30044 */ sw $v1, 0x44($sp) -/* 07FE28 7F04B2F8 8FA30044 */ lw $v1, 0x44($sp) -.L7F04B2FC: -/* 07FE2C 7F04B2FC AFA30070 */ sw $v1, 0x70($sp) -/* 07FE30 7F04B300 8E0A000C */ lw $t2, 0xc($s0) -/* 07FE34 7F04B304 8FAD003C */ lw $t5, 0x3c($sp) -/* 07FE38 7F04B308 3C010001 */ lui $at, 1 -/* 07FE3C 7F04B30C 01415824 */ and $t3, $t2, $at -/* 07FE40 7F04B310 2D6C0001 */ sltiu $t4, $t3, 1 -/* 07FE44 7F04B314 29A100FF */ slti $at, $t5, 0xff -/* 07FE48 7F04B318 AFAC006C */ sw $t4, 0x6c($sp) -/* 07FE4C 7F04B31C 10200005 */ beqz $at, .L7F04B334 -/* 07FE50 7F04B320 AFA20074 */ sw $v0, 0x74($sp) -/* 07FE54 7F04B324 24190005 */ li $t9, 5 -/* 07FE58 7F04B328 AFB90098 */ sw $t9, 0x98($sp) -/* 07FE5C 7F04B32C 10000017 */ b .L7F04B38C -/* 07FE60 7F04B330 AFAD009C */ sw $t5, 0x9c($sp) -.L7F04B334: -/* 07FE64 7F04B334 24180009 */ li $t8, 9 -/* 07FE68 7F04B338 AFB80098 */ sw $t8, 0x98($sp) -/* 07FE6C 7F04B33C 92020003 */ lbu $v0, 3($s0) -/* 07FE70 7F04B340 2401002F */ li $at, 47 -/* 07FE74 7F04B344 54410006 */ bnel $v0, $at, .L7F04B360 -/* 07FE78 7F04B348 24010001 */ li $at, 1 -/* 07FE7C 7F04B34C 8E080088 */ lw $t0, 0x88($s0) -/* 07FE80 7F04B350 00087A00 */ sll $t7, $t0, 8 -/* 07FE84 7F04B354 1000000D */ b .L7F04B38C -/* 07FE88 7F04B358 AFAF009C */ sw $t7, 0x9c($sp) -/* 07FE8C 7F04B35C 24010001 */ li $at, 1 -.L7F04B360: -/* 07FE90 7F04B360 5441000A */ bnel $v0, $at, .L7F04B38C -/* 07FE94 7F04B364 AFA0009C */ sw $zero, 0x9c($sp) -/* 07FE98 7F04B368 960E0098 */ lhu $t6, 0x98($s0) -/* 07FE9C 7F04B36C 31C90002 */ andi $t1, $t6, 2 -/* 07FEA0 7F04B370 51200006 */ beql $t1, $zero, .L7F04B38C -/* 07FEA4 7F04B374 AFA0009C */ sw $zero, 0x9c($sp) -/* 07FEA8 7F04B378 860A00BE */ lh $t2, 0xbe($s0) -/* 07FEAC 7F04B37C 000A5A00 */ sll $t3, $t2, 8 -/* 07FEB0 7F04B380 10000002 */ b .L7F04B38C -/* 07FEB4 7F04B384 AFAB009C */ sw $t3, 0x9c($sp) -/* 07FEB8 7F04B388 AFA0009C */ sw $zero, 0x9c($sp) -.L7F04B38C: -/* 07FEBC 7F04B38C 0FC0FFD8 */ jal sub_GAME_7F03FF60 -/* 07FEC0 7F04B390 02002025 */ move $a0, $s0 -/* 07FEC4 7F04B394 00026080 */ sll $t4, $v0, 2 -/* 07FEC8 7F04B398 01826021 */ addu $t4, $t4, $v0 -/* 07FECC 7F04B39C 000C6080 */ sll $t4, $t4, 2 -/* 07FED0 7F04B3A0 01826021 */ addu $t4, $t4, $v0 -/* 07FED4 7F04B3A4 241900FF */ li $t9, 255 -/* 07FED8 7F04B3A8 032C2023 */ subu $a0, $t9, $t4 -/* 07FEDC 7F04B3AC 04810002 */ bgez $a0, .L7F04B3B8 -/* 07FEE0 7F04B3B0 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 07FEE4 7F04B3B4 00002025 */ move $a0, $zero -.L7F04B3B8: -/* 07FEE8 7F04B3B8 920D0078 */ lbu $t5, 0x78($s0) -/* 07FEEC 7F04B3BC 01A40019 */ multu $t5, $a0 -/* 07FEF0 7F04B3C0 00026900 */ sll $t5, $v0, 4 -/* 07FEF4 7F04B3C4 01A26823 */ subu $t5, $t5, $v0 -/* 07FEF8 7F04B3C8 0000C012 */ mflo $t8 -/* 07FEFC 7F04B3CC 00184203 */ sra $t0, $t8, 8 -/* 07FF00 7F04B3D0 AFA80048 */ sw $t0, 0x48($sp) -/* 07FF04 7F04B3D4 920F0079 */ lbu $t7, 0x79($s0) -/* 07FF08 7F04B3D8 01E40019 */ multu $t7, $a0 -/* 07FF0C 7F04B3DC 240F00FF */ li $t7, 255 -/* 07FF10 7F04B3E0 00007012 */ mflo $t6 -/* 07FF14 7F04B3E4 000E4A03 */ sra $t1, $t6, 8 -/* 07FF18 7F04B3E8 AFA9004C */ sw $t1, 0x4c($sp) -/* 07FF1C 7F04B3EC 920A007A */ lbu $t2, 0x7a($s0) -/* 07FF20 7F04B3F0 01440019 */ multu $t2, $a0 -/* 07FF24 7F04B3F4 27A40048 */ addiu $a0, $sp, 0x48 -/* 07FF28 7F04B3F8 00005812 */ mflo $t3 -/* 07FF2C 7F04B3FC 000BCA03 */ sra $t9, $t3, 8 -/* 07FF30 7F04B400 AFB90050 */ sw $t9, 0x50($sp) -/* 07FF34 7F04B404 920C007B */ lbu $t4, 0x7b($s0) -/* 07FF38 7F04B408 018DC021 */ addu $t8, $t4, $t5 -/* 07FF3C 7F04B40C 2B010100 */ slti $at, $t8, 0x100 -/* 07FF40 7F04B410 14200002 */ bnez $at, .L7F04B41C -/* 07FF44 7F04B414 AFB80054 */ sw $t8, 0x54($sp) -/* 07FF48 7F04B418 AFAF0054 */ sw $t7, 0x54($sp) -.L7F04B41C: -/* 07FF4C 7F04B41C 0FC100E1 */ jal sub_GAME_7F040384 -/* 07FF50 7F04B420 8FA500AC */ lw $a1, 0xac($sp) -/* 07FF54 7F04B424 8FA90048 */ lw $t1, 0x48($sp) -/* 07FF58 7F04B428 8FAE0054 */ lw $t6, 0x54($sp) -/* 07FF5C 7F04B42C 8FB9004C */ lw $t9, 0x4c($sp) -/* 07FF60 7F04B430 8FB80050 */ lw $t8, 0x50($sp) -/* 07FF64 7F04B434 00095600 */ sll $t2, $t1, 0x18 -/* 07FF68 7F04B438 01CA5825 */ or $t3, $t6, $t2 -/* 07FF6C 7F04B43C 00196400 */ sll $t4, $t9, 0x10 -/* 07FF70 7F04B440 016C6825 */ or $t5, $t3, $t4 -/* 07FF74 7F04B444 00184200 */ sll $t0, $t8, 8 -/* 07FF78 7F04B448 01A87825 */ or $t7, $t5, $t0 -/* 07FF7C 7F04B44C AFAF00A0 */ sw $t7, 0xa0($sp) -/* 07FF80 7F04B450 8FA400C0 */ lw $a0, 0xc0($sp) -/* 07FF84 7F04B454 27A50068 */ addiu $a1, $sp, 0x68 -/* 07FF88 7F04B458 0FC12B08 */ jal sub_GAME_7F04AC20 -/* 07FF8C 7F04B45C 8FA600C8 */ lw $a2, 0xc8($sp) -/* 07FF90 7F04B460 8FA20074 */ lw $v0, 0x74($sp) -.L7F04B464: -/* 07FF94 7F04B464 8FBF0024 */ lw $ra, 0x24($sp) -/* 07FF98 7F04B468 8FB00020 */ lw $s0, 0x20($sp) -/* 07FF9C 7F04B46C 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 07FFA0 7F04B470 03E00008 */ jr $ra -/* 07FFA4 7F04B474 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04B478(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04B478 -/* 07FFA8 7F04B478 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 07FFAC 7F04B47C AFBF002C */ sw $ra, 0x2c($sp) -/* 07FFB0 7F04B480 AFB50028 */ sw $s5, 0x28($sp) -/* 07FFB4 7F04B484 AFB40024 */ sw $s4, 0x24($sp) -/* 07FFB8 7F04B488 AFB30020 */ sw $s3, 0x20($sp) -/* 07FFBC 7F04B48C AFB2001C */ sw $s2, 0x1c($sp) -/* 07FFC0 7F04B490 AFB10018 */ sw $s1, 0x18($sp) -/* 07FFC4 7F04B494 AFB00014 */ sw $s0, 0x14($sp) -/* 07FFC8 7F04B498 8C8E0014 */ lw $t6, 0x14($a0) -/* 07FFCC 7F04B49C 00808825 */ move $s1, $a0 -/* 07FFD0 7F04B4A0 24120008 */ li $s2, 8 -/* 07FFD4 7F04B4A4 8DC20008 */ lw $v0, 8($t6) -/* 07FFD8 7F04B4A8 24130012 */ li $s3, 18 -/* 07FFDC 7F04B4AC 24140017 */ li $s4, 23 -/* 07FFE0 7F04B4B0 8C500000 */ lw $s0, ($v0) -/* 07FFE4 7F04B4B4 24150018 */ li $s5, 24 -/* 07FFE8 7F04B4B8 5200002C */ beql $s0, $zero, .L7F04B56C -/* 07FFEC 7F04B4BC 00001025 */ move $v0, $zero -/* 07FFF0 7F04B4C0 96020000 */ lhu $v0, ($s0) -.L7F04B4C4: -/* 07FFF4 7F04B4C4 02002825 */ move $a1, $s0 -/* 07FFF8 7F04B4C8 304F00FF */ andi $t7, $v0, 0xff -/* 07FFFC 7F04B4CC 11F2000B */ beq $t7, $s2, .L7F04B4FC -/* 080000 7F04B4D0 00000000 */ nop -/* 080004 7F04B4D4 11F3000D */ beq $t7, $s3, .L7F04B50C -/* 080008 7F04B4D8 02002825 */ move $a1, $s0 -/* 08000C 7F04B4DC 11F4000F */ beq $t7, $s4, .L7F04B51C -/* 080010 7F04B4E0 02002825 */ move $a1, $s0 -/* 080014 7F04B4E4 11F50003 */ beq $t7, $s5, .L7F04B4F4 -/* 080018 7F04B4E8 00000000 */ nop -/* 08001C 7F04B4EC 1000000E */ b .L7F04B528 -/* 080020 7F04B4F0 8E020014 */ lw $v0, 0x14($s0) -.L7F04B4F4: -/* 080024 7F04B4F4 1000001D */ b .L7F04B56C -/* 080028 7F04B4F8 02001025 */ move $v0, $s0 -.L7F04B4FC: -/* 08002C 7F04B4FC 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 080030 7F04B500 8E240014 */ lw $a0, 0x14($s1) -/* 080034 7F04B504 10000008 */ b .L7F04B528 -/* 080038 7F04B508 8E020014 */ lw $v0, 0x14($s0) -.L7F04B50C: -/* 08003C 7F04B50C 0FC1BA6F */ jal process_12_handle_switch -/* 080040 7F04B510 8E240014 */ lw $a0, 0x14($s1) -/* 080044 7F04B514 10000004 */ b .L7F04B528 -/* 080048 7F04B518 8E020014 */ lw $v0, 0x14($s0) -.L7F04B51C: -/* 08004C 7F04B51C 0FC1BA82 */ jal process_17_pointer_to_head -/* 080050 7F04B520 8E240014 */ lw $a0, 0x14($s1) -/* 080054 7F04B524 8E020014 */ lw $v0, 0x14($s0) -.L7F04B528: -/* 080058 7F04B528 10400003 */ beqz $v0, .L7F04B538 -/* 08005C 7F04B52C 00000000 */ nop -/* 080060 7F04B530 1000000B */ b .L7F04B560 -/* 080064 7F04B534 00408025 */ move $s0, $v0 -.L7F04B538: -/* 080068 7F04B538 12000009 */ beqz $s0, .L7F04B560 -/* 08006C 7F04B53C 00000000 */ nop -/* 080070 7F04B540 8E02000C */ lw $v0, 0xc($s0) -.L7F04B544: -/* 080074 7F04B544 50400004 */ beql $v0, $zero, .L7F04B558 -/* 080078 7F04B548 8E100008 */ lw $s0, 8($s0) -/* 08007C 7F04B54C 10000004 */ b .L7F04B560 -/* 080080 7F04B550 00408025 */ move $s0, $v0 -/* 080084 7F04B554 8E100008 */ lw $s0, 8($s0) -.L7F04B558: -/* 080088 7F04B558 5600FFFA */ bnezl $s0, .L7F04B544 -/* 08008C 7F04B55C 8E02000C */ lw $v0, 0xc($s0) -.L7F04B560: -/* 080090 7F04B560 5600FFD8 */ bnezl $s0, .L7F04B4C4 -/* 080094 7F04B564 96020000 */ lhu $v0, ($s0) -/* 080098 7F04B568 00001025 */ move $v0, $zero -.L7F04B56C: -/* 08009C 7F04B56C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0800A0 7F04B570 8FB00014 */ lw $s0, 0x14($sp) -/* 0800A4 7F04B574 8FB10018 */ lw $s1, 0x18($sp) -/* 0800A8 7F04B578 8FB2001C */ lw $s2, 0x1c($sp) -/* 0800AC 7F04B57C 8FB30020 */ lw $s3, 0x20($sp) -/* 0800B0 7F04B580 8FB40024 */ lw $s4, 0x24($sp) -/* 0800B4 7F04B584 8FB50028 */ lw $s5, 0x28($sp) -/* 0800B8 7F04B588 03E00008 */ jr $ra -/* 0800BC 7F04B58C 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04B590(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04B590 -/* 0800C0 7F04B590 8C820004 */ lw $v0, 4($a0) -/* 0800C4 7F04B594 3C0E8004 */ lui $t6, %hi(prop_console_one_screen_related) -/* 0800C8 7F04B598 25CEA070 */ addiu $t6, %lo(prop_console_one_screen_related) # addiu $t6, $t6, -0x5f90 -/* 0800CC 7F04B59C 15C20007 */ bne $t6, $v0, .L7F04B5BC -/* 0800D0 7F04B5A0 3C198004 */ lui $t9, %hi(prop_console_four_screen_related) -/* 0800D4 7F04B5A4 8C8F0008 */ lw $t7, 8($a0) -/* 0800D8 7F04B5A8 8DF80000 */ lw $t8, ($t7) -/* 0800DC 7F04B5AC 14B80003 */ bne $a1, $t8, .L7F04B5BC -/* 0800E0 7F04B5B0 00000000 */ nop -/* 0800E4 7F04B5B4 03E00008 */ jr $ra -/* 0800E8 7F04B5B8 00001025 */ move $v0, $zero - -.L7F04B5BC: -/* 0800EC 7F04B5BC 2739A084 */ addiu $t9, $t9, %lo(prop_console_four_screen_related) -/* 0800F0 7F04B5C0 57220011 */ bnel $t9, $v0, .L7F04B608 -/* 0800F4 7F04B5C4 24020001 */ li $v0, 1 -/* 0800F8 7F04B5C8 8C820008 */ lw $v0, 8($a0) -/* 0800FC 7F04B5CC 8C480000 */ lw $t0, ($v0) -/* 080100 7F04B5D0 10A8000A */ beq $a1, $t0, .L7F04B5FC -/* 080104 7F04B5D4 00000000 */ nop -/* 080108 7F04B5D8 8C490004 */ lw $t1, 4($v0) -/* 08010C 7F04B5DC 10A90007 */ beq $a1, $t1, .L7F04B5FC -/* 080110 7F04B5E0 00000000 */ nop -/* 080114 7F04B5E4 8C4A0008 */ lw $t2, 8($v0) -/* 080118 7F04B5E8 10AA0004 */ beq $a1, $t2, .L7F04B5FC -/* 08011C 7F04B5EC 00000000 */ nop -/* 080120 7F04B5F0 8C4B000C */ lw $t3, 0xc($v0) -/* 080124 7F04B5F4 54AB0004 */ bnel $a1, $t3, .L7F04B608 -/* 080128 7F04B5F8 24020001 */ li $v0, 1 -.L7F04B5FC: -/* 08012C 7F04B5FC 03E00008 */ jr $ra -/* 080130 7F04B600 00001025 */ move $v0, $zero - -/* 080134 7F04B604 24020001 */ li $v0, 1 -.L7F04B608: -/* 080138 7F04B608 03E00008 */ jr $ra -/* 08013C 7F04B60C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04B610(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04B610 -/* 080140 7F04B610 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 080144 7F04B614 AFB60030 */ sw $s6, 0x30($sp) -/* 080148 7F04B618 AFB40028 */ sw $s4, 0x28($sp) -/* 08014C 7F04B61C AFBF003C */ sw $ra, 0x3c($sp) -/* 080150 7F04B620 AFBE0038 */ sw $fp, 0x38($sp) -/* 080154 7F04B624 AFB70034 */ sw $s7, 0x34($sp) -/* 080158 7F04B628 AFB5002C */ sw $s5, 0x2c($sp) -/* 08015C 7F04B62C AFB30024 */ sw $s3, 0x24($sp) -/* 080160 7F04B630 AFB20020 */ sw $s2, 0x20($sp) -/* 080164 7F04B634 AFB1001C */ sw $s1, 0x1c($sp) -/* 080168 7F04B638 AFB00018 */ sw $s0, 0x18($sp) -/* 08016C 7F04B63C 3C14FFFE */ lui $s4, (0xFFFE7961 >> 16) # lui $s4, 0xfffe -/* 080170 7F04B640 3C160001 */ li $s6, 0x00010000 # 0.000000 -/* 080174 7F04B644 00A08025 */ move $s0, $a1 -/* 080178 7F04B648 0080F025 */ move $fp, $a0 -/* 08017C 7F04B64C 8C910014 */ lw $s1, 0x14($a0) -/* 080180 7F04B650 36D6869F */ ori $s6, (0x0001869F & 0xFFFF) # ori $s6, $s6, 0x869f -/* 080184 7F04B654 0FC12D1E */ jal sub_GAME_7F04B478 -/* 080188 7F04B658 36947961 */ ori $s4, (0xFFFE7961 & 0xFFFF) # ori $s4, $s4, 0x7961 -/* 08018C 7F04B65C 10400193 */ beqz $v0, .L7F04BCAC -/* 080190 7F04B660 00402825 */ move $a1, $v0 -/* 080194 7F04B664 8C550004 */ lw $s5, 4($v0) -/* 080198 7F04B668 52A00191 */ beql $s5, $zero, .L7F04BCB0 -/* 08019C 7F04B66C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0801A0 7F04B670 8FCE0014 */ lw $t6, 0x14($fp) -/* 0801A4 7F04B674 0FC12D64 */ jal sub_GAME_7F04B590 -/* 0801A8 7F04B678 8DC40008 */ lw $a0, 8($t6) -/* 0801AC 7F04B67C 5040018C */ beql $v0, $zero, .L7F04BCB0 -/* 0801B0 7F04B680 8FBF003C */ lw $ra, 0x3c($sp) -/* 0801B4 7F04B684 96B8001A */ lhu $t8, 0x1a($s5) -/* 0801B8 7F04B688 8E2F0010 */ lw $t7, 0x10($s1) -/* 0801BC 7F04B68C 0018C880 */ sll $t9, $t8, 2 -/* 0801C0 7F04B690 0C002914 */ jal get_random_value -/* 0801C4 7F04B694 01F99821 */ addu $s3, $t7, $t9 -/* 0801C8 7F04B698 30480001 */ andi $t0, $v0, 1 -/* 0801CC 7F04B69C 1100000C */ beqz $t0, .L7F04B6D0 -/* 0801D0 7F04B6A0 00104840 */ sll $t1, $s0, 1 -/* 0801D4 7F04B6A4 AFA90040 */ sw $t1, 0x40($sp) -/* 0801D8 7F04B6A8 87CA0004 */ lh $t2, 4($fp) -/* 0801DC 7F04B6AC 3C0E8004 */ lui $t6, %hi(object_explosion_details+2) -/* 0801E0 7F04B6B0 000A58C0 */ sll $t3, $t2, 3 -/* 0801E4 7F04B6B4 016A5823 */ subu $t3, $t3, $t2 -/* 0801E8 7F04B6B8 000B5840 */ sll $t3, $t3, 1 -/* 0801EC 7F04B6BC 01696821 */ addu $t5, $t3, $t1 -/* 0801F0 7F04B6C0 01CD7021 */ addu $t6, $t6, $t5 -/* 0801F4 7F04B6C4 95CEB226 */ lhu $t6, %lo(object_explosion_details+2)($t6) -/* 0801F8 7F04B6C8 1000000C */ b .L7F04B6FC -/* 0801FC 7F04B6CC AFAE0078 */ sw $t6, 0x78($sp) -.L7F04B6D0: -/* 080200 7F04B6D0 87D80004 */ lh $t8, 4($fp) -/* 080204 7F04B6D4 00101040 */ sll $v0, $s0, 1 -/* 080208 7F04B6D8 3C088004 */ lui $t0, %hi(object_explosion_details+8) -/* 08020C 7F04B6DC 001878C0 */ sll $t7, $t8, 3 -/* 080210 7F04B6E0 01F87823 */ subu $t7, $t7, $t8 -/* 080214 7F04B6E4 000F7840 */ sll $t7, $t7, 1 -/* 080218 7F04B6E8 01E2C821 */ addu $t9, $t7, $v0 -/* 08021C 7F04B6EC 01194021 */ addu $t0, $t0, $t9 -/* 080220 7F04B6F0 9508B22C */ lhu $t0, %lo(object_explosion_details+8)($t0) -/* 080224 7F04B6F4 AFA20040 */ sw $v0, 0x40($sp) -/* 080228 7F04B6F8 AFA80078 */ sw $t0, 0x78($sp) -.L7F04B6FC: -/* 08022C 7F04B6FC 0FC243F1 */ jal get_debug_explosioninfo_flag -/* 080230 7F04B700 00000000 */ nop -/* 080234 7F04B704 14400003 */ bnez $v0, .L7F04B714 -/* 080238 7F04B708 8FA90078 */ lw $t1, 0x78($sp) -/* 08023C 7F04B70C 1520000B */ bnez $t1, .L7F04B73C -/* 080240 7F04B710 00000000 */ nop -.L7F04B714: -/* 080244 7F04B714 0FC243F1 */ jal get_debug_explosioninfo_flag -/* 080248 7F04B718 00000000 */ nop -/* 08024C 7F04B71C 0C002914 */ jal get_random_value -/* 080250 7F04B720 00000000 */ nop -/* 080254 7F04B724 0FC243F1 */ jal get_debug_explosioninfo_flag -/* 080258 7F04B728 AFA20078 */ sw $v0, 0x78($sp) -/* 08025C 7F04B72C 10400003 */ beqz $v0, .L7F04B73C -/* 080260 7F04B730 8FAA0078 */ lw $t2, 0x78($sp) -/* 080264 7F04B734 314BFFFF */ andi $t3, $t2, 0xffff -/* 080268 7F04B738 AFAB0078 */ sw $t3, 0x78($sp) -.L7F04B73C: -/* 08026C 7F04B73C 0FC28364 */ jal sub_GAME_7F0A0D90 -/* 080270 7F04B740 8FC40010 */ lw $a0, 0x10($fp) -/* 080274 7F04B744 87CC0004 */ lh $t4, 4($fp) -/* 080278 7F04B748 2401004C */ li $at, 76 -/* 08027C 7F04B74C 24170001 */ li $s7, 1 -/* 080280 7F04B750 15810003 */ bne $t4, $at, .L7F04B760 -/* 080284 7F04B754 00000000 */ nop -/* 080288 7F04B758 10000001 */ b .L7F04B760 -/* 08028C 7F04B75C 0000B825 */ move $s7, $zero -.L7F04B760: -/* 080290 7F04B760 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 080294 7F04B764 03C02025 */ move $a0, $fp -/* 080298 7F04B768 86A4000C */ lh $a0, 0xc($s5) -/* 08029C 7F04B76C 24050B0B */ li $a1, 2827 -/* 0802A0 7F04B770 8E260008 */ lw $a2, 8($s1) -/* 0802A4 7F04B774 0FC26F93 */ jal sub_GAME_7F09BE4C -/* 0802A8 7F04B778 00403825 */ move $a3, $v0 -/* 0802AC 7F04B77C 1040003A */ beqz $v0, .L7F04B868 -/* 0802B0 7F04B780 00408025 */ move $s0, $v0 -/* 0802B4 7F04B784 8E640000 */ lw $a0, ($s3) -/* 0802B8 7F04B788 8EAD0008 */ lw $t5, 8($s5) -/* 0802BC 7F04B78C 51A4001E */ beql $t5, $a0, .L7F04B808 -/* 0802C0 7F04B790 86AA000C */ lh $t2, 0xc($s5) -/* 0802C4 7F04B794 86AE000C */ lh $t6, 0xc($s5) -/* 0802C8 7F04B798 00009025 */ move $s2, $zero -/* 0802CC 7F04B79C 00008825 */ move $s1, $zero -/* 0802D0 7F04B7A0 19C00014 */ blez $t6, .L7F04B7F4 -/* 0802D4 7F04B7A4 00401825 */ move $v1, $v0 -/* 0802D8 7F04B7A8 8E780000 */ lw $t8, ($s3) -.L7F04B7AC: -/* 0802DC 7F04B7AC 26520001 */ addiu $s2, $s2, 1 -/* 0802E0 7F04B7B0 24630010 */ addiu $v1, $v1, 0x10 -/* 0802E4 7F04B7B4 03117821 */ addu $t7, $t8, $s1 -/* 0802E8 7F04B7B8 8DE10000 */ lw $at, ($t7) -/* 0802EC 7F04B7BC 26310010 */ addiu $s1, $s1, 0x10 -/* 0802F0 7F04B7C0 AC61FFF0 */ sw $at, -0x10($v1) -/* 0802F4 7F04B7C4 8DE80004 */ lw $t0, 4($t7) -/* 0802F8 7F04B7C8 AC68FFF4 */ sw $t0, -0xc($v1) -/* 0802FC 7F04B7CC 8DE10008 */ lw $at, 8($t7) -/* 080300 7F04B7D0 AC61FFF8 */ sw $at, -8($v1) -/* 080304 7F04B7D4 8DE8000C */ lw $t0, 0xc($t7) -/* 080308 7F04B7D8 AC68FFFC */ sw $t0, -4($v1) -/* 08030C 7F04B7DC 86A9000C */ lh $t1, 0xc($s5) -/* 080310 7F04B7E0 0249082A */ slt $at, $s2, $t1 -/* 080314 7F04B7E4 5420FFF1 */ bnezl $at, .L7F04B7AC -/* 080318 7F04B7E8 8E780000 */ lw $t8, ($s3) -/* 08031C 7F04B7EC 8E640000 */ lw $a0, ($s3) -/* 080320 7F04B7F0 00009025 */ move $s2, $zero -.L7F04B7F4: -/* 080324 7F04B7F4 0FC27011 */ jal sub_GAME_7F09C044 -/* 080328 7F04B7F8 00000000 */ nop -/* 08032C 7F04B7FC 10000018 */ b .L7F04B860 -/* 080330 7F04B800 00000000 */ nop -/* 080334 7F04B804 86AA000C */ lh $t2, 0xc($s5) -.L7F04B808: -/* 080338 7F04B808 00009025 */ move $s2, $zero -/* 08033C 7F04B80C 00008825 */ move $s1, $zero -/* 080340 7F04B810 19400013 */ blez $t2, .L7F04B860 -/* 080344 7F04B814 00401825 */ move $v1, $v0 -/* 080348 7F04B818 8EAB0008 */ lw $t3, 8($s5) -.L7F04B81C: -/* 08034C 7F04B81C 26520001 */ addiu $s2, $s2, 1 -/* 080350 7F04B820 24630010 */ addiu $v1, $v1, 0x10 -/* 080354 7F04B824 01716021 */ addu $t4, $t3, $s1 -/* 080358 7F04B828 8D810000 */ lw $at, ($t4) -/* 08035C 7F04B82C 26310010 */ addiu $s1, $s1, 0x10 -/* 080360 7F04B830 AC61FFF0 */ sw $at, -0x10($v1) -/* 080364 7F04B834 8D8E0004 */ lw $t6, 4($t4) -/* 080368 7F04B838 AC6EFFF4 */ sw $t6, -0xc($v1) -/* 08036C 7F04B83C 8D810008 */ lw $at, 8($t4) -/* 080370 7F04B840 AC61FFF8 */ sw $at, -8($v1) -/* 080374 7F04B844 8D8E000C */ lw $t6, 0xc($t4) -/* 080378 7F04B848 AC6EFFFC */ sw $t6, -4($v1) -/* 08037C 7F04B84C 86B8000C */ lh $t8, 0xc($s5) -/* 080380 7F04B850 0258082A */ slt $at, $s2, $t8 -/* 080384 7F04B854 5420FFF1 */ bnezl $at, .L7F04B81C -/* 080388 7F04B858 8EAB0008 */ lw $t3, 8($s5) -/* 08038C 7F04B85C 00009025 */ move $s2, $zero -.L7F04B860: -/* 080390 7F04B860 10000036 */ b .L7F04B93C -/* 080394 7F04B864 AE700000 */ sw $s0, ($s3) -.L7F04B868: -/* 080398 7F04B868 8E640000 */ lw $a0, ($s3) -/* 08039C 7F04B86C 8EB90008 */ lw $t9, 8($s5) -/* 0803A0 7F04B870 13240008 */ beq $t9, $a0, .L7F04B894 -/* 0803A4 7F04B874 00000000 */ nop -/* 0803A8 7F04B878 0FC27011 */ jal sub_GAME_7F09C044 -/* 0803AC 7F04B87C 00000000 */ nop -/* 0803B0 7F04B880 8EAF0008 */ lw $t7, 8($s5) -/* 0803B4 7F04B884 AE6F0000 */ sw $t7, ($s3) -/* 0803B8 7F04B888 8FC80064 */ lw $t0, 0x64($fp) -/* 0803BC 7F04B88C 35090004 */ ori $t1, $t0, 4 -/* 0803C0 7F04B890 AFC90064 */ sw $t1, 0x64($fp) -.L7F04B894: -/* 0803C4 7F04B894 3C018005 */ lui $at, %hi(D_80052CB4) -/* 0803C8 7F04B898 C4202CB4 */ lwc1 $f0, %lo(D_80052CB4)($at) -/* 0803CC 7F04B89C C7C40028 */ lwc1 $f4, 0x28($fp) -/* 0803D0 7F04B8A0 C7C8002C */ lwc1 $f8, 0x2c($fp) -/* 0803D4 7F04B8A4 C7D00030 */ lwc1 $f16, 0x30($fp) -/* 0803D8 7F04B8A8 46002182 */ mul.s $f6, $f4, $f0 -/* 0803DC 7F04B8AC 00000000 */ nop -/* 0803E0 7F04B8B0 46004282 */ mul.s $f10, $f8, $f0 -/* 0803E4 7F04B8B4 00000000 */ nop -/* 0803E8 7F04B8B8 46008482 */ mul.s $f18, $f16, $f0 -/* 0803EC 7F04B8BC E7C60028 */ swc1 $f6, 0x28($fp) -/* 0803F0 7F04B8C0 E7CA002C */ swc1 $f10, 0x2c($fp) -/* 0803F4 7F04B8C4 12E000F9 */ beqz $s7, .L7F04BCAC -/* 0803F8 7F04B8C8 E7D20030 */ swc1 $f18, 0x30($fp) -/* 0803FC 7F04B8CC 8FC20014 */ lw $v0, 0x14($fp) -/* 080400 7F04B8D0 C4440014 */ lwc1 $f4, 0x14($v0) -/* 080404 7F04B8D4 8C440008 */ lw $a0, 8($v0) -/* 080408 7F04B8D8 0FC0FFFE */ jal sub_GAME_7F03FFF8 -/* 08040C 7F04B8DC E7A4005C */ swc1 $f4, 0x5c($sp) -/* 080410 7F04B8E0 00408025 */ move $s0, $v0 -/* 080414 7F04B8E4 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 080418 7F04B8E8 00402025 */ move $a0, $v0 -/* 08041C 7F04B8EC C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 080420 7F04B8F0 3C018005 */ lui $at, %hi(D_80052CB8) -/* 080424 7F04B8F4 C42A2CB8 */ lwc1 $f10, %lo(D_80052CB8)($at) -/* 080428 7F04B8F8 46003202 */ mul.s $f8, $f6, $f0 -/* 08042C 7F04B8FC 8FC20010 */ lw $v0, 0x10($fp) -/* 080430 7F04B900 02002025 */ move $a0, $s0 -/* 080434 7F04B904 C452000C */ lwc1 $f18, 0xc($v0) -/* 080438 7F04B908 460A4402 */ mul.s $f16, $f8, $f10 -/* 08043C 7F04B90C 46109100 */ add.s $f4, $f18, $f16 -/* 080440 7F04B910 0FC0FA19 */ jal sub_GAME_7F03E864 -/* 080444 7F04B914 E444000C */ swc1 $f4, 0xc($v0) -/* 080448 7F04B918 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 08044C 7F04B91C 3C018005 */ lui $at, %hi(D_80052CBC) -/* 080450 7F04B920 C42A2CBC */ lwc1 $f10, %lo(D_80052CBC)($at) -/* 080454 7F04B924 46003202 */ mul.s $f8, $f6, $f0 -/* 080458 7F04B928 C7D0005C */ lwc1 $f16, 0x5c($fp) -/* 08045C 7F04B92C 460A4482 */ mul.s $f18, $f8, $f10 -/* 080460 7F04B930 46128100 */ add.s $f4, $f16, $f18 -/* 080464 7F04B934 100000DD */ b .L7F04BCAC -/* 080468 7F04B938 E7C4005C */ swc1 $f4, 0x5c($fp) -.L7F04B93C: -/* 08046C 7F04B93C 87C20004 */ lh $v0, 4($fp) -/* 080470 7F04B940 24010026 */ li $at, 38 -/* 080474 7F04B944 00008825 */ move $s1, $zero -/* 080478 7F04B948 10410005 */ beq $v0, $at, .L7F04B960 -/* 08047C 7F04B94C 24010027 */ li $at, 39 -/* 080480 7F04B950 10410003 */ beq $v0, $at, .L7F04B960 -/* 080484 7F04B954 24010055 */ li $at, 85 -/* 080488 7F04B958 14410003 */ bne $v0, $at, .L7F04B968 -/* 08048C 7F04B95C 240A0001 */ li $t2, 1 -.L7F04B960: -/* 080490 7F04B960 10000002 */ b .L7F04B96C -/* 080494 7F04B964 AFA00070 */ sw $zero, 0x70($sp) -.L7F04B968: -/* 080498 7F04B968 AFAA0070 */ sw $t2, 0x70($sp) -.L7F04B96C: -/* 08049C 7F04B96C 86A4000C */ lh $a0, 0xc($s5) -/* 0804A0 7F04B970 8FA50040 */ lw $a1, 0x40($sp) -/* 0804A4 7F04B974 18800010 */ blez $a0, .L7F04B9B8 -/* 0804A8 7F04B978 00041900 */ sll $v1, $a0, 4 -/* 0804AC 7F04B97C 8E700000 */ lw $s0, ($s3) -.L7F04B980: -/* 0804B0 7F04B980 86020002 */ lh $v0, 2($s0) -/* 0804B4 7F04B984 26310010 */ addiu $s1, $s1, 0x10 -/* 0804B8 7F04B988 0056082A */ slt $at, $v0, $s6 -/* 0804BC 7F04B98C 50200003 */ beql $at, $zero, .L7F04B99C -/* 0804C0 7F04B990 0282082A */ slt $at, $s4, $v0 -/* 0804C4 7F04B994 0040B025 */ move $s6, $v0 -/* 0804C8 7F04B998 0282082A */ slt $at, $s4, $v0 -.L7F04B99C: -/* 0804CC 7F04B99C 50200003 */ beql $at, $zero, .L7F04B9AC -/* 0804D0 7F04B9A0 0223082A */ slt $at, $s1, $v1 -/* 0804D4 7F04B9A4 0040A025 */ move $s4, $v0 -/* 0804D8 7F04B9A8 0223082A */ slt $at, $s1, $v1 -.L7F04B9AC: -/* 0804DC 7F04B9AC 1420FFF4 */ bnez $at, .L7F04B980 -/* 0804E0 7F04B9B0 26100010 */ addiu $s0, $s0, 0x10 -/* 0804E4 7F04B9B4 00009025 */ move $s2, $zero -.L7F04B9B8: -/* 0804E8 7F04B9B8 02D41021 */ addu $v0, $s6, $s4 -/* 0804EC 7F04B9BC 00025843 */ sra $t3, $v0, 1 -/* 0804F0 7F04B9C0 24010006 */ li $at, 6 -/* 0804F4 7F04B9C4 14A10006 */ bne $a1, $at, .L7F04B9E0 -/* 0804F8 7F04B9C8 01601825 */ move $v1, $t3 -/* 0804FC 7F04B9CC 01766823 */ subu $t5, $t3, $s6 -/* 080500 7F04B9D0 29A10029 */ slti $at, $t5, 0x29 -/* 080504 7F04B9D4 54200003 */ bnezl $at, .L7F04B9E4 -/* 080508 7F04B9D8 02961023 */ subu $v0, $s4, $s6 -/* 08050C 7F04B9DC 26C30028 */ addiu $v1, $s6, 0x28 -.L7F04B9E0: -/* 080510 7F04B9E0 02961023 */ subu $v0, $s4, $s6 -.L7F04B9E4: -/* 080514 7F04B9E4 2841003D */ slti $at, $v0, 0x3d -/* 080518 7F04B9E8 1420000E */ bnez $at, .L7F04BA24 -/* 08051C 7F04B9EC 28A10006 */ slti $at, $a1, 6 -/* 080520 7F04B9F0 10200005 */ beqz $at, .L7F04BA08 -/* 080524 7F04B9F4 244CFFC4 */ addiu $t4, $v0, -0x3c -/* 080528 7F04B9F8 3C018005 */ lui $at, %hi(D_80052CC0) -/* 08052C 7F04B9FC C4262CC0 */ lwc1 $f6, %lo(D_80052CC0)($at) -/* 080530 7F04BA00 1000000C */ b .L7F04BA34 -/* 080534 7F04BA04 E7A60068 */ swc1 $f6, 0x68($sp) -.L7F04BA08: -/* 080538 7F04BA08 448C4000 */ mtc1 $t4, $f8 -/* 08053C 7F04BA0C 44828000 */ mtc1 $v0, $f16 -/* 080540 7F04BA10 468042A0 */ cvt.s.w $f10, $f8 -/* 080544 7F04BA14 468084A0 */ cvt.s.w $f18, $f16 -/* 080548 7F04BA18 46125103 */ div.s $f4, $f10, $f18 -/* 08054C 7F04BA1C 10000005 */ b .L7F04BA34 -/* 080550 7F04BA20 E7A40068 */ swc1 $f4, 0x68($sp) -.L7F04BA24: -/* 080554 7F04BA24 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 080558 7F04BA28 44813000 */ mtc1 $at, $f6 -/* 08055C 7F04BA2C 00000000 */ nop -/* 080560 7F04BA30 E7A60068 */ swc1 $f6, 0x68($sp) -.L7F04BA34: -/* 080564 7F04BA34 5880009E */ blezl $a0, .L7F04BCB0 -/* 080568 7F04BA38 8FBF003C */ lw $ra, 0x3c($sp) -/* 08056C 7F04BA3C 44964000 */ mtc1 $s6, $f8 -/* 080570 7F04BA40 00008825 */ move $s1, $zero -/* 080574 7F04BA44 AFA3007C */ sw $v1, 0x7c($sp) -/* 080578 7F04BA48 46804420 */ cvt.s.w $f16, $f8 -/* 08057C 7F04BA4C 24140050 */ li $s4, 80 -/* 080580 7F04BA50 E7B00044 */ swc1 $f16, 0x44($sp) -/* 080584 7F04BA54 8EAE0008 */ lw $t6, 8($s5) -.L7F04BA58: -/* 080588 7F04BA58 8FAA0078 */ lw $t2, 0x78($sp) -/* 08058C 7F04BA5C 01D11021 */ addu $v0, $t6, $s1 -/* 080590 7F04BA60 84580004 */ lh $t8, 4($v0) -/* 080594 7F04BA64 84590000 */ lh $t9, ($v0) -/* 080598 7F04BA68 84480002 */ lh $t0, 2($v0) -/* 08059C 7F04BA6C 03197821 */ addu $t7, $t8, $t9 -/* 0805A0 7F04BA70 01E84821 */ addu $t1, $t7, $t0 -/* 0805A4 7F04BA74 0FC26DE2 */ jal sub_GAME_7F09B788 -/* 0805A8 7F04BA78 012A2021 */ addu $a0, $t1, $t2 -/* 0805AC 7F04BA7C 8FAB0070 */ lw $t3, 0x70($sp) -/* 0805B0 7F04BA80 00008025 */ move $s0, $zero -/* 0805B4 7F04BA84 1160002E */ beqz $t3, .L7F04BB40 -/* 0805B8 7F04BA88 00000000 */ nop -/* 0805BC 7F04BA8C C7CA002C */ lwc1 $f10, 0x2c($fp) -/* 0805C0 7F04BA90 44809000 */ mtc1 $zero, $f18 -/* 0805C4 7F04BA94 00000000 */ nop -/* 0805C8 7F04BA98 460A903E */ c.le.s $f18, $f10 -/* 0805CC 7F04BA9C 00000000 */ nop -/* 0805D0 7F04BAA0 45020015 */ bc1fl .L7F04BAF8 -/* 0805D4 7F04BAA4 8E6F0000 */ lw $t7, ($s3) -/* 0805D8 7F04BAA8 8E6D0000 */ lw $t5, ($s3) -/* 0805DC 7F04BAAC 8FB8007C */ lw $t8, 0x7c($sp) -/* 0805E0 7F04BAB0 01B16021 */ addu $t4, $t5, $s1 -/* 0805E4 7F04BAB4 858E0002 */ lh $t6, 2($t4) -/* 0805E8 7F04BAB8 01D8082A */ slt $at, $t6, $t8 -/* 0805EC 7F04BABC 14200007 */ bnez $at, .L7F04BADC -/* 0805F0 7F04BAC0 00000000 */ nop -/* 0805F4 7F04BAC4 12E00003 */ beqz $s7, .L7F04BAD4 -/* 0805F8 7F04BAC8 00000000 */ nop -/* 0805FC 7F04BACC 1000001C */ b .L7F04BB40 -/* 080600 7F04BAD0 2410005A */ li $s0, 90 -.L7F04BAD4: -/* 080604 7F04BAD4 1000001A */ b .L7F04BB40 -/* 080608 7F04BAD8 24100014 */ li $s0, 20 -.L7F04BADC: -/* 08060C 7F04BADC 12E00003 */ beqz $s7, .L7F04BAEC -/* 080610 7F04BAE0 00000000 */ nop -/* 080614 7F04BAE4 10000016 */ b .L7F04BB40 -/* 080618 7F04BAE8 24100014 */ li $s0, 20 -.L7F04BAEC: -/* 08061C 7F04BAEC 10000014 */ b .L7F04BB40 -/* 080620 7F04BAF0 2410005A */ li $s0, 90 -/* 080624 7F04BAF4 8E6F0000 */ lw $t7, ($s3) -.L7F04BAF8: -/* 080628 7F04BAF8 8FB9007C */ lw $t9, 0x7c($sp) -/* 08062C 7F04BAFC 01F14021 */ addu $t0, $t7, $s1 -/* 080630 7F04BB00 85090002 */ lh $t1, 2($t0) -/* 080634 7F04BB04 0329082A */ slt $at, $t9, $t1 -/* 080638 7F04BB08 14200007 */ bnez $at, .L7F04BB28 -/* 08063C 7F04BB0C 00000000 */ nop -/* 080640 7F04BB10 12E00003 */ beqz $s7, .L7F04BB20 -/* 080644 7F04BB14 00000000 */ nop -/* 080648 7F04BB18 10000009 */ b .L7F04BB40 -/* 08064C 7F04BB1C 2410005A */ li $s0, 90 -.L7F04BB20: -/* 080650 7F04BB20 10000007 */ b .L7F04BB40 -/* 080654 7F04BB24 24100014 */ li $s0, 20 -.L7F04BB28: -/* 080658 7F04BB28 12E00003 */ beqz $s7, .L7F04BB38 -/* 08065C 7F04BB2C 00000000 */ nop -/* 080660 7F04BB30 10000003 */ b .L7F04BB40 -/* 080664 7F04BB34 24100014 */ li $s0, 20 -.L7F04BB38: -/* 080668 7F04BB38 10000001 */ b .L7F04BB40 -/* 08066C 7F04BB3C 2410005A */ li $s0, 90 -.L7F04BB40: -/* 080670 7F04BB40 0FC26DD0 */ jal sub_GAME_7F09B740 -/* 080674 7F04BB44 00000000 */ nop -/* 080678 7F04BB48 24010064 */ li $at, 100 -/* 08067C 7F04BB4C 0041001B */ divu $zero, $v0, $at -/* 080680 7F04BB50 00005010 */ mfhi $t2 -/* 080684 7F04BB54 0150082A */ slt $at, $t2, $s0 -/* 080688 7F04BB58 1020000F */ beqz $at, .L7F04BB98 -/* 08068C 7F04BB5C 8FAA0040 */ lw $t2, 0x40($sp) -/* 080690 7F04BB60 8E6B0000 */ lw $t3, ($s3) -/* 080694 7F04BB64 240800FF */ li $t0, 255 -/* 080698 7F04BB68 01716821 */ addu $t5, $t3, $s1 -/* 08069C 7F04BB6C A1A0000C */ sb $zero, 0xc($t5) -/* 0806A0 7F04BB70 8E6C0000 */ lw $t4, ($s3) -/* 0806A4 7F04BB74 01917021 */ addu $t6, $t4, $s1 -/* 0806A8 7F04BB78 A1C0000D */ sb $zero, 0xd($t6) -/* 0806AC 7F04BB7C 8E780000 */ lw $t8, ($s3) -/* 0806B0 7F04BB80 03117821 */ addu $t7, $t8, $s1 -/* 0806B4 7F04BB84 A1E0000E */ sb $zero, 0xe($t7) -/* 0806B8 7F04BB88 8E790000 */ lw $t9, ($s3) -/* 0806BC 7F04BB8C 03314821 */ addu $t1, $t9, $s1 -/* 0806C0 7F04BB90 10000007 */ b .L7F04BBB0 -/* 0806C4 7F04BB94 A128000F */ sb $t0, 0xf($t1) -.L7F04BB98: -/* 0806C8 7F04BB98 24010002 */ li $at, 2 -/* 0806CC 7F04BB9C 55410005 */ bnel $t2, $at, .L7F04BBB4 -/* 0806D0 7F04BBA0 8E6C0000 */ lw $t4, ($s3) -/* 0806D4 7F04BBA4 8E6B0000 */ lw $t3, ($s3) -/* 0806D8 7F04BBA8 01716821 */ addu $t5, $t3, $s1 -/* 0806DC 7F04BBAC A1A0000F */ sb $zero, 0xf($t5) -.L7F04BBB0: -/* 0806E0 7F04BBB0 8E6C0000 */ lw $t4, ($s3) -.L7F04BBB4: -/* 0806E4 7F04BBB4 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0806E8 7F04BBB8 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 0806EC 7F04BBBC 01918021 */ addu $s0, $t4, $s1 -/* 0806F0 7F04BBC0 860E0002 */ lh $t6, 2($s0) -/* 0806F4 7F04BBC4 01D6C023 */ subu $t8, $t6, $s6 -/* 0806F8 7F04BBC8 44982000 */ mtc1 $t8, $f4 -/* 0806FC 7F04BBCC 00000000 */ nop -/* 080700 7F04BBD0 468021A0 */ cvt.s.w $f6, $f4 -/* 080704 7F04BBD4 46083402 */ mul.s $f16, $f6, $f8 -/* 080708 7F04BBD8 460A8480 */ add.s $f18, $f16, $f10 -/* 08070C 7F04BBDC 4600910D */ trunc.w.s $f4, $f18 -/* 080710 7F04BBE0 44192000 */ mfc1 $t9, $f4 -/* 080714 7F04BBE4 0FC26DD0 */ jal sub_GAME_7F09B740 -/* 080718 7F04BBE8 A6190002 */ sh $t9, 2($s0) -/* 08071C 7F04BBEC 0054001B */ divu $zero, $v0, $s4 -/* 080720 7F04BBF0 8E680000 */ lw $t0, ($s3) -/* 080724 7F04BBF4 00005010 */ mfhi $t2 -/* 080728 7F04BBF8 01118021 */ addu $s0, $t0, $s1 -/* 08072C 7F04BBFC 86090000 */ lh $t1, ($s0) -/* 080730 7F04BC00 16800002 */ bnez $s4, .L7F04BC0C -/* 080734 7F04BC04 00000000 */ nop -/* 080738 7F04BC08 0007000D */ break 7 -.L7F04BC0C: -/* 08073C 7F04BC0C 012A5821 */ addu $t3, $t1, $t2 -/* 080740 7F04BC10 256DFFD8 */ addiu $t5, $t3, -0x28 -/* 080744 7F04BC14 0FC26DD0 */ jal sub_GAME_7F09B740 -/* 080748 7F04BC18 A60D0000 */ sh $t5, ($s0) -/* 08074C 7F04BC1C 0054001B */ divu $zero, $v0, $s4 -/* 080750 7F04BC20 8E6C0000 */ lw $t4, ($s3) -/* 080754 7F04BC24 0000C010 */ mfhi $t8 -/* 080758 7F04BC28 01918021 */ addu $s0, $t4, $s1 -/* 08075C 7F04BC2C 860E0002 */ lh $t6, 2($s0) -/* 080760 7F04BC30 16800002 */ bnez $s4, .L7F04BC3C -/* 080764 7F04BC34 00000000 */ nop -/* 080768 7F04BC38 0007000D */ break 7 -.L7F04BC3C: -/* 08076C 7F04BC3C 01D87821 */ addu $t7, $t6, $t8 -/* 080770 7F04BC40 25F9FFD8 */ addiu $t9, $t7, -0x28 -/* 080774 7F04BC44 0FC26DD0 */ jal sub_GAME_7F09B740 -/* 080778 7F04BC48 A6190002 */ sh $t9, 2($s0) -/* 08077C 7F04BC4C 0054001B */ divu $zero, $v0, $s4 -/* 080780 7F04BC50 8E680000 */ lw $t0, ($s3) -/* 080784 7F04BC54 00005010 */ mfhi $t2 -/* 080788 7F04BC58 01118021 */ addu $s0, $t0, $s1 -/* 08078C 7F04BC5C 86090004 */ lh $t1, 4($s0) -/* 080790 7F04BC60 16800002 */ bnez $s4, .L7F04BC6C -/* 080794 7F04BC64 00000000 */ nop -/* 080798 7F04BC68 0007000D */ break 7 -.L7F04BC6C: -/* 08079C 7F04BC6C 012A5821 */ addu $t3, $t1, $t2 -/* 0807A0 7F04BC70 256DFFD8 */ addiu $t5, $t3, -0x28 -/* 0807A4 7F04BC74 A60D0004 */ sh $t5, 4($s0) -/* 0807A8 7F04BC78 8E6C0000 */ lw $t4, ($s3) -/* 0807AC 7F04BC7C 01918021 */ addu $s0, $t4, $s1 -/* 0807B0 7F04BC80 860E0002 */ lh $t6, 2($s0) -/* 0807B4 7F04BC84 01D6082A */ slt $at, $t6, $s6 -/* 0807B8 7F04BC88 50200003 */ beql $at, $zero, .L7F04BC98 -/* 0807BC 7F04BC8C 86B8000C */ lh $t8, 0xc($s5) -/* 0807C0 7F04BC90 A6160002 */ sh $s6, 2($s0) -/* 0807C4 7F04BC94 86B8000C */ lh $t8, 0xc($s5) -.L7F04BC98: -/* 0807C8 7F04BC98 26520001 */ addiu $s2, $s2, 1 -/* 0807CC 7F04BC9C 26310010 */ addiu $s1, $s1, 0x10 -/* 0807D0 7F04BCA0 0258082A */ slt $at, $s2, $t8 -/* 0807D4 7F04BCA4 5420FF6C */ bnezl $at, .L7F04BA58 -/* 0807D8 7F04BCA8 8EAE0008 */ lw $t6, 8($s5) -.L7F04BCAC: -/* 0807DC 7F04BCAC 8FBF003C */ lw $ra, 0x3c($sp) -.L7F04BCB0: -/* 0807E0 7F04BCB0 8FB00018 */ lw $s0, 0x18($sp) -/* 0807E4 7F04BCB4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0807E8 7F04BCB8 8FB20020 */ lw $s2, 0x20($sp) -/* 0807EC 7F04BCBC 8FB30024 */ lw $s3, 0x24($sp) -/* 0807F0 7F04BCC0 8FB40028 */ lw $s4, 0x28($sp) -/* 0807F4 7F04BCC4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0807F8 7F04BCC8 8FB60030 */ lw $s6, 0x30($sp) -/* 0807FC 7F04BCCC 8FB70034 */ lw $s7, 0x34($sp) -/* 080800 7F04BCD0 8FBE0038 */ lw $fp, 0x38($sp) -/* 080804 7F04BCD4 03E00008 */ jr $ra -/* 080808 7F04BCD8 27BD0098 */ addiu $sp, $sp, 0x98 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04BCDC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052CC4 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052CC8 -.word 0x40555555 /*3.3333333*/ -glabel D_80052CCC -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052CD0 -.word 0x40555555 /*3.3333333*/ -glabel D_80052CD4 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052CD8 -.word 0x40555555 /*3.3333333*/ -glabel D_80052CDC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052CE0 -.word 0x3d490fdb /*0.049087387*/ -glabel D_80052CE4 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052CE8 -.word 0x3d490fdb /*0.049087387*/ -glabel D_80052CEC -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052CF0 -.word 0x3d490fdb /*0.049087387*/ -glabel D_80052CF4 -.word 0x40555555 /*3.3333333*/ -.text -glabel sub_GAME_7F04BCDC -/* 08080C 7F04BCDC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 080810 7F04BCE0 3C0F8003 */ lui $t7, %hi(D_80032010) -/* 080814 7F04BCE4 AFBF0024 */ sw $ra, 0x24($sp) -/* 080818 7F04BCE8 AFB00020 */ sw $s0, 0x20($sp) -/* 08081C 7F04BCEC F7B40018 */ sdc1 $f20, 0x18($sp) -/* 080820 7F04BCF0 AFA50054 */ sw $a1, 0x54($sp) -/* 080824 7F04BCF4 25EF2010 */ addiu $t7, %lo(D_80032010) # addiu $t7, $t7, 0x2010 -/* 080828 7F04BCF8 8DE10000 */ lw $at, ($t7) -/* 08082C 7F04BCFC 27AE0038 */ addiu $t6, $sp, 0x38 -/* 080830 7F04BD00 8DE80004 */ lw $t0, 4($t7) -/* 080834 7F04BD04 ADC10000 */ sw $at, ($t6) -/* 080838 7F04BD08 8DE10008 */ lw $at, 8($t7) -/* 08083C 7F04BD0C 00803025 */ move $a2, $a0 -/* 080840 7F04BD10 ADC80004 */ sw $t0, 4($t6) -/* 080844 7F04BD14 ADC10008 */ sw $at, 8($t6) -/* 080848 7F04BD18 8C840010 */ lw $a0, 0x10($a0) -/* 08084C 7F04BD1C 00008025 */ move $s0, $zero -/* 080850 7F04BD20 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 080854 7F04BD24 AFA60050 */ sw $a2, 0x50($sp) -/* 080858 7F04BD28 8FA60050 */ lw $a2, 0x50($sp) -/* 08085C 7F04BD2C 8CC20064 */ lw $v0, 0x64($a2) -/* 080860 7F04BD30 30490040 */ andi $t1, $v0, 0x40 -/* 080864 7F04BD34 11200004 */ beqz $t1, .L7F04BD48 -/* 080868 7F04BD38 304B0080 */ andi $t3, $v0, 0x80 -/* 08086C 7F04BD3C 8CCA006C */ lw $t2, 0x6c($a2) -/* 080870 7F04BD40 10000004 */ b .L7F04BD54 -/* 080874 7F04BD44 8D500044 */ lw $s0, 0x44($t2) -.L7F04BD48: -/* 080878 7F04BD48 11600002 */ beqz $t3, .L7F04BD54 -/* 08087C 7F04BD4C 00000000 */ nop -/* 080880 7F04BD50 8CD0006C */ lw $s0, 0x6c($a2) -.L7F04BD54: -/* 080884 7F04BD54 5200009A */ beql $s0, $zero, .L7F04BFC0 -/* 080888 7F04BD58 8FBF0024 */ lw $ra, 0x24($sp) -/* 08088C 7F04BD5C 0C002914 */ jal get_random_value -/* 080890 7F04BD60 00000000 */ nop -/* 080894 7F04BD64 44822000 */ mtc1 $v0, $f4 -/* 080898 7F04BD68 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08089C 7F04BD6C 4481A000 */ mtc1 $at, $f20 -/* 0808A0 7F04BD70 04410005 */ bgez $v0, .L7F04BD88 -/* 0808A4 7F04BD74 468021A0 */ cvt.s.w $f6, $f4 -/* 0808A8 7F04BD78 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0808AC 7F04BD7C 44814000 */ mtc1 $at, $f8 -/* 0808B0 7F04BD80 00000000 */ nop -/* 0808B4 7F04BD84 46083180 */ add.s $f6, $f6, $f8 -.L7F04BD88: -/* 0808B8 7F04BD88 46143282 */ mul.s $f10, $f6, $f20 -/* 0808BC 7F04BD8C 3C018005 */ lui $at, %hi(D_80052CC4) -/* 0808C0 7F04BD90 C4302CC4 */ lwc1 $f16, %lo(D_80052CC4)($at) -/* 0808C4 7F04BD94 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0808C8 7F04BD98 44812000 */ mtc1 $at, $f4 -/* 0808CC 7F04BD9C 3C018005 */ lui $at, %hi(D_80052CC8) -/* 0808D0 7F04BDA0 C4262CC8 */ lwc1 $f6, %lo(D_80052CC8)($at) -/* 0808D4 7F04BDA4 46105482 */ mul.s $f18, $f10, $f16 -/* 0808D8 7F04BDA8 00000000 */ nop -/* 0808DC 7F04BDAC 46049202 */ mul.s $f8, $f18, $f4 -/* 0808E0 7F04BDB0 46064281 */ sub.s $f10, $f8, $f6 -/* 0808E4 7F04BDB4 0C002914 */ jal get_random_value -/* 0808E8 7F04BDB8 E60A0004 */ swc1 $f10, 4($s0) -/* 0808EC 7F04BDBC 44828000 */ mtc1 $v0, $f16 -/* 0808F0 7F04BDC0 04410005 */ bgez $v0, .L7F04BDD8 -/* 0808F4 7F04BDC4 468084A0 */ cvt.s.w $f18, $f16 -/* 0808F8 7F04BDC8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0808FC 7F04BDCC 44812000 */ mtc1 $at, $f4 -/* 080900 7F04BDD0 00000000 */ nop -/* 080904 7F04BDD4 46049480 */ add.s $f18, $f18, $f4 -.L7F04BDD8: -/* 080908 7F04BDD8 46149202 */ mul.s $f8, $f18, $f20 -/* 08090C 7F04BDDC 3C018005 */ lui $at, %hi(D_80052CCC) -/* 080910 7F04BDE0 C4262CCC */ lwc1 $f6, %lo(D_80052CCC)($at) -/* 080914 7F04BDE4 3C018005 */ lui $at, %hi(D_80052CD0) -/* 080918 7F04BDE8 C4302CD0 */ lwc1 $f16, %lo(D_80052CD0)($at) -/* 08091C 7F04BDEC 46064002 */ mul.s $f0, $f8, $f6 -/* 080920 7F04BDF0 46000280 */ add.s $f10, $f0, $f0 -/* 080924 7F04BDF4 46105100 */ add.s $f4, $f10, $f16 -/* 080928 7F04BDF8 0C002914 */ jal get_random_value -/* 08092C 7F04BDFC E6040008 */ swc1 $f4, 8($s0) -/* 080930 7F04BE00 44829000 */ mtc1 $v0, $f18 -/* 080934 7F04BE04 04410005 */ bgez $v0, .L7F04BE1C -/* 080938 7F04BE08 46809220 */ cvt.s.w $f8, $f18 -/* 08093C 7F04BE0C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080940 7F04BE10 44813000 */ mtc1 $at, $f6 -/* 080944 7F04BE14 00000000 */ nop -/* 080948 7F04BE18 46064200 */ add.s $f8, $f8, $f6 -.L7F04BE1C: -/* 08094C 7F04BE1C 46144282 */ mul.s $f10, $f8, $f20 -/* 080950 7F04BE20 3C018005 */ lui $at, %hi(D_80052CD4) -/* 080954 7F04BE24 C4302CD4 */ lwc1 $f16, %lo(D_80052CD4)($at) -/* 080958 7F04BE28 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 08095C 7F04BE2C 44819000 */ mtc1 $at, $f18 -/* 080960 7F04BE30 3C018005 */ lui $at, %hi(D_80052CD8) -/* 080964 7F04BE34 C4282CD8 */ lwc1 $f8, %lo(D_80052CD8)($at) -/* 080968 7F04BE38 46105102 */ mul.s $f4, $f10, $f16 -/* 08096C 7F04BE3C 00000000 */ nop -/* 080970 7F04BE40 46122182 */ mul.s $f6, $f4, $f18 -/* 080974 7F04BE44 46083281 */ sub.s $f10, $f6, $f8 -/* 080978 7F04BE48 0C002914 */ jal get_random_value -/* 08097C 7F04BE4C E60A000C */ swc1 $f10, 0xc($s0) -/* 080980 7F04BE50 44828000 */ mtc1 $v0, $f16 -/* 080984 7F04BE54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080988 7F04BE58 04410004 */ bgez $v0, .L7F04BE6C -/* 08098C 7F04BE5C 46808120 */ cvt.s.w $f4, $f16 -/* 080990 7F04BE60 44819000 */ mtc1 $at, $f18 -/* 080994 7F04BE64 00000000 */ nop -/* 080998 7F04BE68 46122100 */ add.s $f4, $f4, $f18 -.L7F04BE6C: -/* 08099C 7F04BE6C 46142182 */ mul.s $f6, $f4, $f20 -/* 0809A0 7F04BE70 3C018005 */ lui $at, %hi(D_80052CDC) -/* 0809A4 7F04BE74 C4282CDC */ lwc1 $f8, %lo(D_80052CDC)($at) -/* 0809A8 7F04BE78 3C013C80 */ li $at, 0x3C800000 # 0.015625 -/* 0809AC 7F04BE7C 44818000 */ mtc1 $at, $f16 -/* 0809B0 7F04BE80 3C018005 */ lui $at, %hi(D_80052CE0) -/* 0809B4 7F04BE84 C4242CE0 */ lwc1 $f4, %lo(D_80052CE0)($at) -/* 0809B8 7F04BE88 46083282 */ mul.s $f10, $f6, $f8 -/* 0809BC 7F04BE8C 00000000 */ nop -/* 0809C0 7F04BE90 46105482 */ mul.s $f18, $f10, $f16 -/* 0809C4 7F04BE94 46049181 */ sub.s $f6, $f18, $f4 -/* 0809C8 7F04BE98 0C002914 */ jal get_random_value -/* 0809CC 7F04BE9C E7A60038 */ swc1 $f6, 0x38($sp) -/* 0809D0 7F04BEA0 44824000 */ mtc1 $v0, $f8 -/* 0809D4 7F04BEA4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0809D8 7F04BEA8 04410004 */ bgez $v0, .L7F04BEBC -/* 0809DC 7F04BEAC 468042A0 */ cvt.s.w $f10, $f8 -/* 0809E0 7F04BEB0 44818000 */ mtc1 $at, $f16 -/* 0809E4 7F04BEB4 00000000 */ nop -/* 0809E8 7F04BEB8 46105280 */ add.s $f10, $f10, $f16 -.L7F04BEBC: -/* 0809EC 7F04BEBC 46145482 */ mul.s $f18, $f10, $f20 -/* 0809F0 7F04BEC0 3C018005 */ lui $at, %hi(D_80052CE4) -/* 0809F4 7F04BEC4 C4242CE4 */ lwc1 $f4, %lo(D_80052CE4)($at) -/* 0809F8 7F04BEC8 3C013C80 */ li $at, 0x3C800000 # 0.015625 -/* 0809FC 7F04BECC 44814000 */ mtc1 $at, $f8 -/* 080A00 7F04BED0 3C018005 */ lui $at, %hi(D_80052CE8) -/* 080A04 7F04BED4 C42A2CE8 */ lwc1 $f10, %lo(D_80052CE8)($at) -/* 080A08 7F04BED8 46049182 */ mul.s $f6, $f18, $f4 -/* 080A0C 7F04BEDC 00000000 */ nop -/* 080A10 7F04BEE0 46083402 */ mul.s $f16, $f6, $f8 -/* 080A14 7F04BEE4 460A8481 */ sub.s $f18, $f16, $f10 -/* 080A18 7F04BEE8 0C002914 */ jal get_random_value -/* 080A1C 7F04BEEC E7B2003C */ swc1 $f18, 0x3c($sp) -/* 080A20 7F04BEF0 44822000 */ mtc1 $v0, $f4 -/* 080A24 7F04BEF4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080A28 7F04BEF8 04410004 */ bgez $v0, .L7F04BF0C -/* 080A2C 7F04BEFC 468021A0 */ cvt.s.w $f6, $f4 -/* 080A30 7F04BF00 44814000 */ mtc1 $at, $f8 -/* 080A34 7F04BF04 00000000 */ nop -/* 080A38 7F04BF08 46083180 */ add.s $f6, $f6, $f8 -.L7F04BF0C: -/* 080A3C 7F04BF0C 46143402 */ mul.s $f16, $f6, $f20 -/* 080A40 7F04BF10 3C018005 */ lui $at, %hi(D_80052CEC) -/* 080A44 7F04BF14 C42A2CEC */ lwc1 $f10, %lo(D_80052CEC)($at) -/* 080A48 7F04BF18 3C013C80 */ li $at, 0x3C800000 # 0.015625 -/* 080A4C 7F04BF1C 44812000 */ mtc1 $at, $f4 -/* 080A50 7F04BF20 3C018005 */ lui $at, %hi(D_80052CF0) -/* 080A54 7F04BF24 C4262CF0 */ lwc1 $f6, %lo(D_80052CF0)($at) -/* 080A58 7F04BF28 460A8482 */ mul.s $f18, $f16, $f10 -/* 080A5C 7F04BF2C 27A40038 */ addiu $a0, $sp, 0x38 -/* 080A60 7F04BF30 26050020 */ addiu $a1, $s0, 0x20 -/* 080A64 7F04BF34 46049202 */ mul.s $f8, $f18, $f4 -/* 080A68 7F04BF38 46064401 */ sub.s $f16, $f8, $f6 -/* 080A6C 7F04BF3C 0FC161C5 */ jal sub_GAME_7F058714 -/* 080A70 7F04BF40 E7B00040 */ swc1 $f16, 0x40($sp) -/* 080A74 7F04BF44 8E0C0000 */ lw $t4, ($s0) -/* 080A78 7F04BF48 8FA20054 */ lw $v0, 0x54($sp) -/* 080A7C 7F04BF4C 358D0001 */ ori $t5, $t4, 1 -/* 080A80 7F04BF50 AE0D0000 */ sw $t5, ($s0) -/* 080A84 7F04BF54 C44A0000 */ lwc1 $f10, ($v0) -/* 080A88 7F04BF58 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 080A8C 7F04BF5C C4520004 */ lwc1 $f18, 4($v0) -/* 080A90 7F04BF60 E7B20048 */ swc1 $f18, 0x48($sp) -/* 080A94 7F04BF64 C4440008 */ lwc1 $f4, 8($v0) -/* 080A98 7F04BF68 0FC1E111 */ jal sub_GAME_7F078444 -/* 080A9C 7F04BF6C E7A4004C */ swc1 $f4, 0x4c($sp) -/* 080AA0 7F04BF70 00402025 */ move $a0, $v0 -/* 080AA4 7F04BF74 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 080AA8 7F04BF78 27A50044 */ addiu $a1, $sp, 0x44 -/* 080AAC 7F04BF7C 3C018005 */ lui $at, %hi(D_80052CF4) -/* 080AB0 7F04BF80 C4202CF4 */ lwc1 $f0, %lo(D_80052CF4)($at) -/* 080AB4 7F04BF84 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 080AB8 7F04BF88 C6080004 */ lwc1 $f8, 4($s0) -/* 080ABC 7F04BF8C C612000C */ lwc1 $f18, 0xc($s0) -/* 080AC0 7F04BF90 46060402 */ mul.s $f16, $f0, $f6 -/* 080AC4 7F04BF94 46104280 */ add.s $f10, $f8, $f16 -/* 080AC8 7F04BF98 E60A0004 */ swc1 $f10, 4($s0) -/* 080ACC 7F04BF9C C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 080AD0 7F04BFA0 46040182 */ mul.s $f6, $f0, $f4 -/* 080AD4 7F04BFA4 46069200 */ add.s $f8, $f18, $f6 -/* 080AD8 7F04BFA8 0FC225E6 */ jal get_curplayer_positiondata -/* 080ADC 7F04BFAC E608000C */ swc1 $f8, 0xc($s0) -/* 080AE0 7F04BFB0 24190001 */ li $t9, 1 -/* 080AE4 7F04BFB4 AE020088 */ sw $v0, 0x88($s0) -/* 080AE8 7F04BFB8 AE190090 */ sw $t9, 0x90($s0) -/* 080AEC 7F04BFBC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04BFC0: -/* 080AF0 7F04BFC0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 080AF4 7F04BFC4 8FB00020 */ lw $s0, 0x20($sp) -/* 080AF8 7F04BFC8 03E00008 */ jr $ra -/* 080AFC 7F04BFCC 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04BFD0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04BFD0 -/* 080B00 7F04BFD0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 080B04 7F04BFD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 080B08 7F04BFD8 8C82001C */ lw $v0, 0x1c($a0) -/* 080B0C 7F04BFDC 50400016 */ beql $v0, $zero, .L7F04C038 -/* 080B10 7F04BFE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 080B14 7F04BFE4 8C820004 */ lw $v0, 4($a0) -/* 080B18 7F04BFE8 AFA50024 */ sw $a1, 0x24($sp) -/* 080B1C 7F04BFEC 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 080B20 7F04BFF0 AFA20018 */ sw $v0, 0x18($sp) -/* 080B24 7F04BFF4 8FA20018 */ lw $v0, 0x18($sp) -/* 080B28 7F04BFF8 8FA50024 */ lw $a1, 0x24($sp) -/* 080B2C 7F04BFFC 8C430064 */ lw $v1, 0x64($v0) -/* 080B30 7F04C000 306E0040 */ andi $t6, $v1, 0x40 -/* 080B34 7F04C004 11C00007 */ beqz $t6, .L7F04C024 -/* 080B38 7F04C008 30780080 */ andi $t8, $v1, 0x80 -/* 080B3C 7F04C00C 8C4F006C */ lw $t7, 0x6c($v0) -/* 080B40 7F04C010 8DE40044 */ lw $a0, 0x44($t7) -/* 080B44 7F04C014 10800003 */ beqz $a0, .L7F04C024 -/* 080B48 7F04C018 00000000 */ nop -/* 080B4C 7F04C01C 10000005 */ b .L7F04C034 -/* 080B50 7F04C020 AC8500B8 */ sw $a1, 0xb8($a0) -.L7F04C024: -/* 080B54 7F04C024 53000004 */ beql $t8, $zero, .L7F04C038 -/* 080B58 7F04C028 8FBF0014 */ lw $ra, 0x14($sp) -/* 080B5C 7F04C02C 8C59006C */ lw $t9, 0x6c($v0) -/* 080B60 7F04C030 AF2500B8 */ sw $a1, 0xb8($t9) -.L7F04C034: -/* 080B64 7F04C034 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04C038: -/* 080B68 7F04C038 27BD0020 */ addiu $sp, $sp, 0x20 -/* 080B6C 7F04C03C 03E00008 */ jr $ra -/* 080B70 7F04C040 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04C044(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04C044 -/* 080B74 7F04C044 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 080B78 7F04C048 AFBF0014 */ sw $ra, 0x14($sp) -/* 080B7C 7F04C04C 8C86001C */ lw $a2, 0x1c($a0) -/* 080B80 7F04C050 00802825 */ move $a1, $a0 -/* 080B84 7F04C054 50C00033 */ beql $a2, $zero, .L7F04C124 -/* 080B88 7F04C058 8FBF0014 */ lw $ra, 0x14($sp) -/* 080B8C 7F04C05C 8C820004 */ lw $v0, 4($a0) -/* 080B90 7F04C060 8C4E0014 */ lw $t6, 0x14($v0) -/* 080B94 7F04C064 AFA60024 */ sw $a2, 0x24($sp) -/* 080B98 7F04C068 AFA50028 */ sw $a1, 0x28($sp) -/* 080B9C 7F04C06C AFA20020 */ sw $v0, 0x20($sp) -/* 080BA0 7F04C070 0FC0E974 */ jal sub_GAME_7F03A5D0 -/* 080BA4 7F04C074 AFAE001C */ sw $t6, 0x1c($sp) -/* 080BA8 7F04C078 8FAF001C */ lw $t7, 0x1c($sp) -/* 080BAC 7F04C07C 8FA20020 */ lw $v0, 0x20($sp) -/* 080BB0 7F04C080 8FA60024 */ lw $a2, 0x24($sp) -/* 080BB4 7F04C084 8FA50028 */ lw $a1, 0x28($sp) -/* 080BB8 7F04C088 ADE0001C */ sw $zero, 0x1c($t7) -/* 080BBC 7F04C08C 8C580064 */ lw $t8, 0x64($v0) -/* 080BC0 7F04C090 3C01FFF7 */ lui $at, (0xFFF7FFFF >> 16) # lui $at, 0xfff7 -/* 080BC4 7F04C094 3421FFFF */ ori $at, (0xFFF7FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 080BC8 7F04C098 0301C824 */ and $t9, $t8, $at -/* 080BCC 7F04C09C AC590064 */ sw $t9, 0x64($v0) -/* 080BD0 7F04C0A0 90C30000 */ lbu $v1, ($a2) -/* 080BD4 7F04C0A4 24010003 */ li $at, 3 -/* 080BD8 7F04C0A8 10610003 */ beq $v1, $at, .L7F04C0B8 -/* 080BDC 7F04C0AC 24010006 */ li $at, 6 -/* 080BE0 7F04C0B0 5461001C */ bnel $v1, $at, .L7F04C124 -/* 080BE4 7F04C0B4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04C0B8: -/* 080BE8 7F04C0B8 8CC40004 */ lw $a0, 4($a2) -/* 080BEC 7F04C0BC 50800019 */ beql $a0, $zero, .L7F04C124 -/* 080BF0 7F04C0C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 080BF4 7F04C0C4 8C8801D8 */ lw $t0, 0x1d8($a0) -/* 080BF8 7F04C0C8 54A80004 */ bnel $a1, $t0, .L7F04C0DC -/* 080BFC 7F04C0CC 8C890160 */ lw $t1, 0x160($a0) -/* 080C00 7F04C0D0 10000013 */ b .L7F04C120 -/* 080C04 7F04C0D4 AC8001D8 */ sw $zero, 0x1d8($a0) -/* 080C08 7F04C0D8 8C890160 */ lw $t1, 0x160($a0) -.L7F04C0DC: -/* 080C0C 7F04C0DC 00003025 */ move $a2, $zero -/* 080C10 7F04C0E0 54A90008 */ bnel $a1, $t1, .L7F04C104 -/* 080C14 7F04C0E4 8C8A0164 */ lw $t2, 0x164($a0) -/* 080C18 7F04C0E8 00002825 */ move $a1, $zero -/* 080C1C 7F04C0EC 0FC0B446 */ jal sub_GAME_7F02D118 -/* 080C20 7F04C0F0 AFA40018 */ sw $a0, 0x18($sp) -/* 080C24 7F04C0F4 8FA40018 */ lw $a0, 0x18($sp) -/* 080C28 7F04C0F8 10000009 */ b .L7F04C120 -/* 080C2C 7F04C0FC AC800160 */ sw $zero, 0x160($a0) -/* 080C30 7F04C100 8C8A0164 */ lw $t2, 0x164($a0) -.L7F04C104: -/* 080C34 7F04C104 00003025 */ move $a2, $zero -/* 080C38 7F04C108 14AA0005 */ bne $a1, $t2, .L7F04C120 -/* 080C3C 7F04C10C 24050001 */ li $a1, 1 -/* 080C40 7F04C110 0FC0B446 */ jal sub_GAME_7F02D118 -/* 080C44 7F04C114 AFA40018 */ sw $a0, 0x18($sp) -/* 080C48 7F04C118 8FA40018 */ lw $a0, 0x18($sp) -/* 080C4C 7F04C11C AC800164 */ sw $zero, 0x164($a0) -.L7F04C120: -/* 080C50 7F04C120 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04C124: -/* 080C54 7F04C124 27BD0028 */ addiu $sp, $sp, 0x28 -/* 080C58 7F04C128 03E00008 */ jr $ra -/* 080C5C 7F04C12C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04C130(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052CF8 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052CFC -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D00 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D04 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D08 -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D0C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D10 -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D14 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D18 -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D1C -.word 0x41555555 /*13.333333*/ -glabel D_80052D20 -.word 0x40d55555 /*6.6666665*/ -glabel D_80052D24 -.word 0x41555555 /*13.333333*/ -glabel D_80052D28 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D2C -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D30 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D34 -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D38 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D3C -.word 0x3cc90fdb /*0.024543693*/ -glabel D_80052D40 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D44 -.word 0x40555555 /*3.3333333*/ -glabel D_80052D48 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D4C -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D50 -.word 0x40555555 /*3.3333333*/ -glabel D_80052D54 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D58 -.word 0x3dc90fdb /*0.098174773*/ -glabel D_80052D5C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D60 -.word 0x3dc90fdb /*0.098174773*/ -glabel D_80052D64 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D68 -.word 0x3dc90fdb /*0.098174773*/ -.text -glabel sub_GAME_7F04C130 -/* 080C60 7F04C130 27BDFEF8 */ addiu $sp, $sp, -0x108 -/* 080C64 7F04C134 AFBF003C */ sw $ra, 0x3c($sp) -/* 080C68 7F04C138 AFB20038 */ sw $s2, 0x38($sp) -/* 080C6C 7F04C13C AFB10034 */ sw $s1, 0x34($sp) -/* 080C70 7F04C140 AFB00030 */ sw $s0, 0x30($sp) -/* 080C74 7F04C144 AFA40108 */ sw $a0, 0x108($sp) -/* 080C78 7F04C148 8C8F001C */ lw $t7, 0x1c($a0) -/* 080C7C 7F04C14C AFAF0104 */ sw $t7, 0x104($sp) -/* 080C80 7F04C150 8C920004 */ lw $s2, 4($a0) -/* 080C84 7F04C154 8E580064 */ lw $t8, 0x64($s2) -/* 080C88 7F04C158 33190040 */ andi $t9, $t8, 0x40 -/* 080C8C 7F04C15C 5320000F */ beql $t9, $zero, .L7F04C19C -/* 080C90 7F04C160 8FAC0104 */ lw $t4, 0x104($sp) -/* 080C94 7F04C164 8E44006C */ lw $a0, 0x6c($s2) -/* 080C98 7F04C168 8C820044 */ lw $v0, 0x44($a0) -/* 080C9C 7F04C16C 5040000B */ beql $v0, $zero, .L7F04C19C -/* 080CA0 7F04C170 8FAC0104 */ lw $t4, 0x104($sp) -/* 080CA4 7F04C174 0FC0FFA2 */ jal sub_GAME_7F03FE88 -/* 080CA8 7F04C178 00408025 */ move $s0, $v0 -/* 080CAC 7F04C17C 8E480064 */ lw $t0, 0x64($s2) -/* 080CB0 7F04C180 2401FFBF */ li $at, -65 -/* 080CB4 7F04C184 AE50006C */ sw $s0, 0x6c($s2) -/* 080CB8 7F04C188 01014824 */ and $t1, $t0, $at -/* 080CBC 7F04C18C AE490064 */ sw $t1, 0x64($s2) -/* 080CC0 7F04C190 352B0080 */ ori $t3, $t1, 0x80 -/* 080CC4 7F04C194 AE4B0064 */ sw $t3, 0x64($s2) -/* 080CC8 7F04C198 8FAC0104 */ lw $t4, 0x104($sp) -.L7F04C19C: -/* 080CCC 7F04C19C 00001025 */ move $v0, $zero -/* 080CD0 7F04C1A0 11800222 */ beqz $t4, .L7F04CA2C -/* 080CD4 7F04C1A4 00000000 */ nop -/* 080CD8 7F04C1A8 8E4D0064 */ lw $t5, 0x64($s2) -/* 080CDC 7F04C1AC 31AF0080 */ andi $t7, $t5, 0x80 -/* 080CE0 7F04C1B0 11E0021E */ beqz $t7, .L7F04CA2C -/* 080CE4 7F04C1B4 00000000 */ nop -/* 080CE8 7F04C1B8 8E4E0014 */ lw $t6, 0x14($s2) -/* 080CEC 7F04C1BC 24010002 */ li $at, 2 -/* 080CF0 7F04C1C0 01808025 */ move $s0, $t4 -/* 080CF4 7F04C1C4 AFAE00F8 */ sw $t6, 0xf8($sp) -/* 080CF8 7F04C1C8 8E51006C */ lw $s1, 0x6c($s2) -/* 080CFC 7F04C1CC 8E380000 */ lw $t8, ($s1) -/* 080D00 7F04C1D0 8E2200B8 */ lw $v0, 0xb8($s1) -/* 080D04 7F04C1D4 37190001 */ ori $t9, $t8, 1 -/* 080D08 7F04C1D8 AE390000 */ sw $t9, ($s1) -/* 080D0C 7F04C1DC 8FA80104 */ lw $t0, 0x104($sp) -/* 080D10 7F04C1E0 1441007A */ bne $v0, $at, .L7F04C3CC -/* 080D14 7F04C1E4 AE280088 */ sw $t0, 0x88($s1) -/* 080D18 7F04C1E8 8FA90104 */ lw $t1, 0x104($sp) -/* 080D1C 7F04C1EC 24030003 */ li $v1, 3 -/* 080D20 7F04C1F0 3C0D8003 */ lui $t5, %hi(D_8003201C) -/* 080D24 7F04C1F4 912A0000 */ lbu $t2, ($t1) -/* 080D28 7F04C1F8 25AD201C */ addiu $t5, %lo(D_8003201C) # addiu $t5, $t5, 0x201c -/* 080D2C 7F04C1FC 27AB0098 */ addiu $t3, $sp, 0x98 -/* 080D30 7F04C200 546A0073 */ bnel $v1, $t2, .L7F04C3D0 -/* 080D34 7F04C204 24030003 */ li $v1, 3 -/* 080D38 7F04C208 8D220004 */ lw $v0, 4($t1) -/* 080D3C 7F04C20C 8DA10000 */ lw $at, ($t5) -/* 080D40 7F04C210 8DAE0004 */ lw $t6, 4($t5) -/* 080D44 7F04C214 8C44001C */ lw $a0, 0x1c($v0) -/* 080D48 7F04C218 AD610000 */ sw $at, ($t3) -/* 080D4C 7F04C21C 8DA10008 */ lw $at, 8($t5) -/* 080D50 7F04C220 AD6E0004 */ sw $t6, 4($t3) -/* 080D54 7F04C224 0FC1B320 */ jal getsubroty -/* 080D58 7F04C228 AD610008 */ sw $at, 8($t3) -/* 080D5C 7F04C22C E7A00094 */ swc1 $f0, 0x94($sp) -/* 080D60 7F04C230 0FC15FAB */ jal sinf -/* 080D64 7F04C234 46000306 */ mov.s $f12, $f0 -/* 080D68 7F04C238 3C018005 */ lui $at, %hi(D_80052CF8) -/* 080D6C 7F04C23C C4242CF8 */ lwc1 $f4, %lo(D_80052CF8)($at) -/* 080D70 7F04C240 46040182 */ mul.s $f6, $f0, $f4 -/* 080D74 7F04C244 0C002914 */ jal get_random_value -/* 080D78 7F04C248 E6260004 */ swc1 $f6, 4($s1) -/* 080D7C 7F04C24C 44824000 */ mtc1 $v0, $f8 -/* 080D80 7F04C250 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080D84 7F04C254 04410004 */ bgez $v0, .L7F04C268 -/* 080D88 7F04C258 468042A0 */ cvt.s.w $f10, $f8 -/* 080D8C 7F04C25C 44818000 */ mtc1 $at, $f16 -/* 080D90 7F04C260 00000000 */ nop -/* 080D94 7F04C264 46105280 */ add.s $f10, $f10, $f16 -.L7F04C268: -/* 080D98 7F04C268 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080D9C 7F04C26C 44819000 */ mtc1 $at, $f18 -/* 080DA0 7F04C270 3C018005 */ lui $at, %hi(D_80052CFC) -/* 080DA4 7F04C274 C4282CFC */ lwc1 $f8, %lo(D_80052CFC)($at) -/* 080DA8 7F04C278 46125102 */ mul.s $f4, $f10, $f18 -/* 080DAC 7F04C27C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 080DB0 7F04C280 44815000 */ mtc1 $at, $f10 -/* 080DB4 7F04C284 46002187 */ neg.s $f6, $f4 -/* 080DB8 7F04C288 46083402 */ mul.s $f16, $f6, $f8 -/* 080DBC 7F04C28C 00000000 */ nop -/* 080DC0 7F04C290 460A8482 */ mul.s $f18, $f16, $f10 -/* 080DC4 7F04C294 E6320008 */ swc1 $f18, 8($s1) -/* 080DC8 7F04C298 0FC15FA8 */ jal cosf -/* 080DCC 7F04C29C C7AC0094 */ lwc1 $f12, 0x94($sp) -/* 080DD0 7F04C2A0 3C018005 */ lui $at, %hi(D_80052D00) -/* 080DD4 7F04C2A4 C4242D00 */ lwc1 $f4, %lo(D_80052D00)($at) -/* 080DD8 7F04C2A8 46040182 */ mul.s $f6, $f0, $f4 -/* 080DDC 7F04C2AC 0C002914 */ jal get_random_value -/* 080DE0 7F04C2B0 E626000C */ swc1 $f6, 0xc($s1) -/* 080DE4 7F04C2B4 44824000 */ mtc1 $v0, $f8 -/* 080DE8 7F04C2B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080DEC 7F04C2BC 04410004 */ bgez $v0, .L7F04C2D0 -/* 080DF0 7F04C2C0 46804420 */ cvt.s.w $f16, $f8 -/* 080DF4 7F04C2C4 44815000 */ mtc1 $at, $f10 -/* 080DF8 7F04C2C8 00000000 */ nop -/* 080DFC 7F04C2CC 460A8400 */ add.s $f16, $f16, $f10 -.L7F04C2D0: -/* 080E00 7F04C2D0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080E04 7F04C2D4 44819000 */ mtc1 $at, $f18 -/* 080E08 7F04C2D8 3C018005 */ lui $at, %hi(D_80052D04) -/* 080E0C 7F04C2DC C4262D04 */ lwc1 $f6, %lo(D_80052D04)($at) -/* 080E10 7F04C2E0 46128102 */ mul.s $f4, $f16, $f18 -/* 080E14 7F04C2E4 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 080E18 7F04C2E8 44815000 */ mtc1 $at, $f10 -/* 080E1C 7F04C2EC 3C018005 */ lui $at, %hi(D_80052D08) -/* 080E20 7F04C2F0 C4322D08 */ lwc1 $f18, %lo(D_80052D08)($at) -/* 080E24 7F04C2F4 46062202 */ mul.s $f8, $f4, $f6 -/* 080E28 7F04C2F8 00000000 */ nop -/* 080E2C 7F04C2FC 460A4402 */ mul.s $f16, $f8, $f10 -/* 080E30 7F04C300 46128101 */ sub.s $f4, $f16, $f18 -/* 080E34 7F04C304 0C002914 */ jal get_random_value -/* 080E38 7F04C308 E7A40098 */ swc1 $f4, 0x98($sp) -/* 080E3C 7F04C30C 44823000 */ mtc1 $v0, $f6 -/* 080E40 7F04C310 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080E44 7F04C314 04410004 */ bgez $v0, .L7F04C328 -/* 080E48 7F04C318 46803220 */ cvt.s.w $f8, $f6 -/* 080E4C 7F04C31C 44815000 */ mtc1 $at, $f10 -/* 080E50 7F04C320 00000000 */ nop -/* 080E54 7F04C324 460A4200 */ add.s $f8, $f8, $f10 -.L7F04C328: -/* 080E58 7F04C328 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080E5C 7F04C32C 44818000 */ mtc1 $at, $f16 -/* 080E60 7F04C330 3C018005 */ lui $at, %hi(D_80052D0C) -/* 080E64 7F04C334 C4242D0C */ lwc1 $f4, %lo(D_80052D0C)($at) -/* 080E68 7F04C338 46104482 */ mul.s $f18, $f8, $f16 -/* 080E6C 7F04C33C 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 080E70 7F04C340 44815000 */ mtc1 $at, $f10 -/* 080E74 7F04C344 3C018005 */ lui $at, %hi(D_80052D10) -/* 080E78 7F04C348 C4302D10 */ lwc1 $f16, %lo(D_80052D10)($at) -/* 080E7C 7F04C34C 46049182 */ mul.s $f6, $f18, $f4 -/* 080E80 7F04C350 00000000 */ nop -/* 080E84 7F04C354 460A3202 */ mul.s $f8, $f6, $f10 -/* 080E88 7F04C358 46104481 */ sub.s $f18, $f8, $f16 -/* 080E8C 7F04C35C 0C002914 */ jal get_random_value -/* 080E90 7F04C360 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 080E94 7F04C364 44822000 */ mtc1 $v0, $f4 -/* 080E98 7F04C368 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080E9C 7F04C36C 04410004 */ bgez $v0, .L7F04C380 -/* 080EA0 7F04C370 468021A0 */ cvt.s.w $f6, $f4 -/* 080EA4 7F04C374 44815000 */ mtc1 $at, $f10 -/* 080EA8 7F04C378 00000000 */ nop -/* 080EAC 7F04C37C 460A3180 */ add.s $f6, $f6, $f10 -.L7F04C380: -/* 080EB0 7F04C380 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080EB4 7F04C384 44814000 */ mtc1 $at, $f8 -/* 080EB8 7F04C388 3C018005 */ lui $at, %hi(D_80052D14) -/* 080EBC 7F04C38C C4322D14 */ lwc1 $f18, %lo(D_80052D14)($at) -/* 080EC0 7F04C390 46083402 */ mul.s $f16, $f6, $f8 -/* 080EC4 7F04C394 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 080EC8 7F04C398 44815000 */ mtc1 $at, $f10 -/* 080ECC 7F04C39C 3C018005 */ lui $at, %hi(D_80052D18) -/* 080ED0 7F04C3A0 C4282D18 */ lwc1 $f8, %lo(D_80052D18)($at) -/* 080ED4 7F04C3A4 27A40098 */ addiu $a0, $sp, 0x98 -/* 080ED8 7F04C3A8 26250020 */ addiu $a1, $s1, 0x20 -/* 080EDC 7F04C3AC 46128102 */ mul.s $f4, $f16, $f18 -/* 080EE0 7F04C3B0 00000000 */ nop -/* 080EE4 7F04C3B4 460A2182 */ mul.s $f6, $f4, $f10 -/* 080EE8 7F04C3B8 46083401 */ sub.s $f16, $f6, $f8 -/* 080EEC 7F04C3BC 0FC161C5 */ jal sub_GAME_7F058714 -/* 080EF0 7F04C3C0 E7B000A0 */ swc1 $f16, 0xa0($sp) -/* 080EF4 7F04C3C4 1000010C */ b .L7F04C7F8 -/* 080EF8 7F04C3C8 8FA90104 */ lw $t1, 0x104($sp) -.L7F04C3CC: -/* 080EFC 7F04C3CC 24030003 */ li $v1, 3 -.L7F04C3D0: -/* 080F00 7F04C3D0 14620068 */ bne $v1, $v0, .L7F04C574 -/* 080F04 7F04C3D4 8FAC0104 */ lw $t4, 0x104($sp) -/* 080F08 7F04C3D8 91980000 */ lbu $t8, ($t4) -/* 080F0C 7F04C3DC 3C088003 */ lui $t0, %hi(D_80032028) -/* 080F10 7F04C3E0 25082028 */ addiu $t0, %lo(D_80032028) # addiu $t0, $t0, 0x2028 -/* 080F14 7F04C3E4 14780063 */ bne $v1, $t8, .L7F04C574 -/* 080F18 7F04C3E8 27B90080 */ addiu $t9, $sp, 0x80 -/* 080F1C 7F04C3EC 8D820004 */ lw $v0, 4($t4) -/* 080F20 7F04C3F0 8D010000 */ lw $at, ($t0) -/* 080F24 7F04C3F4 8D090004 */ lw $t1, 4($t0) -/* 080F28 7F04C3F8 8C44001C */ lw $a0, 0x1c($v0) -/* 080F2C 7F04C3FC AF210000 */ sw $at, ($t9) -/* 080F30 7F04C400 8D010008 */ lw $at, 8($t0) -/* 080F34 7F04C404 AF290004 */ sw $t1, 4($t9) -/* 080F38 7F04C408 0FC1B320 */ jal getsubroty -/* 080F3C 7F04C40C AF210008 */ sw $at, 8($t9) -/* 080F40 7F04C410 E7A0007C */ swc1 $f0, 0x7c($sp) -/* 080F44 7F04C414 0FC15FAB */ jal sinf -/* 080F48 7F04C418 46000306 */ mov.s $f12, $f0 -/* 080F4C 7F04C41C 3C018005 */ lui $at, %hi(D_80052D1C) -/* 080F50 7F04C420 C4322D1C */ lwc1 $f18, %lo(D_80052D1C)($at) -/* 080F54 7F04C424 3C018005 */ lui $at, %hi(D_80052D20) -/* 080F58 7F04C428 46120102 */ mul.s $f4, $f0, $f18 -/* 080F5C 7F04C42C E6240004 */ swc1 $f4, 4($s1) -/* 080F60 7F04C430 C42A2D20 */ lwc1 $f10, %lo(D_80052D20)($at) -/* 080F64 7F04C434 E62A0008 */ swc1 $f10, 8($s1) -/* 080F68 7F04C438 0FC15FA8 */ jal cosf -/* 080F6C 7F04C43C C7AC007C */ lwc1 $f12, 0x7c($sp) -/* 080F70 7F04C440 3C018005 */ lui $at, %hi(D_80052D24) -/* 080F74 7F04C444 C4262D24 */ lwc1 $f6, %lo(D_80052D24)($at) -/* 080F78 7F04C448 46060202 */ mul.s $f8, $f0, $f6 -/* 080F7C 7F04C44C 0C002914 */ jal get_random_value -/* 080F80 7F04C450 E628000C */ swc1 $f8, 0xc($s1) -/* 080F84 7F04C454 44828000 */ mtc1 $v0, $f16 -/* 080F88 7F04C458 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080F8C 7F04C45C 04410004 */ bgez $v0, .L7F04C470 -/* 080F90 7F04C460 468084A0 */ cvt.s.w $f18, $f16 -/* 080F94 7F04C464 44812000 */ mtc1 $at, $f4 -/* 080F98 7F04C468 00000000 */ nop -/* 080F9C 7F04C46C 46049480 */ add.s $f18, $f18, $f4 -.L7F04C470: -/* 080FA0 7F04C470 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080FA4 7F04C474 44815000 */ mtc1 $at, $f10 -/* 080FA8 7F04C478 3C018005 */ lui $at, %hi(D_80052D28) -/* 080FAC 7F04C47C C4282D28 */ lwc1 $f8, %lo(D_80052D28)($at) -/* 080FB0 7F04C480 460A9182 */ mul.s $f6, $f18, $f10 -/* 080FB4 7F04C484 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 080FB8 7F04C488 44812000 */ mtc1 $at, $f4 -/* 080FBC 7F04C48C 3C018005 */ lui $at, %hi(D_80052D2C) -/* 080FC0 7F04C490 C42A2D2C */ lwc1 $f10, %lo(D_80052D2C)($at) -/* 080FC4 7F04C494 46083402 */ mul.s $f16, $f6, $f8 -/* 080FC8 7F04C498 00000000 */ nop -/* 080FCC 7F04C49C 46048482 */ mul.s $f18, $f16, $f4 -/* 080FD0 7F04C4A0 460A9181 */ sub.s $f6, $f18, $f10 -/* 080FD4 7F04C4A4 0C002914 */ jal get_random_value -/* 080FD8 7F04C4A8 E7A60080 */ swc1 $f6, 0x80($sp) -/* 080FDC 7F04C4AC 44824000 */ mtc1 $v0, $f8 -/* 080FE0 7F04C4B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 080FE4 7F04C4B4 04410004 */ bgez $v0, .L7F04C4C8 -/* 080FE8 7F04C4B8 46804420 */ cvt.s.w $f16, $f8 -/* 080FEC 7F04C4BC 44812000 */ mtc1 $at, $f4 -/* 080FF0 7F04C4C0 00000000 */ nop -/* 080FF4 7F04C4C4 46048400 */ add.s $f16, $f16, $f4 -.L7F04C4C8: -/* 080FF8 7F04C4C8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 080FFC 7F04C4CC 44819000 */ mtc1 $at, $f18 -/* 081000 7F04C4D0 3C018005 */ lui $at, %hi(D_80052D30) -/* 081004 7F04C4D4 C4262D30 */ lwc1 $f6, %lo(D_80052D30)($at) -/* 081008 7F04C4D8 46128282 */ mul.s $f10, $f16, $f18 -/* 08100C 7F04C4DC 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 081010 7F04C4E0 44812000 */ mtc1 $at, $f4 -/* 081014 7F04C4E4 3C018005 */ lui $at, %hi(D_80052D34) -/* 081018 7F04C4E8 C4322D34 */ lwc1 $f18, %lo(D_80052D34)($at) -/* 08101C 7F04C4EC 46065202 */ mul.s $f8, $f10, $f6 -/* 081020 7F04C4F0 00000000 */ nop -/* 081024 7F04C4F4 46044402 */ mul.s $f16, $f8, $f4 -/* 081028 7F04C4F8 46128281 */ sub.s $f10, $f16, $f18 -/* 08102C 7F04C4FC 0C002914 */ jal get_random_value -/* 081030 7F04C500 E7AA0084 */ swc1 $f10, 0x84($sp) -/* 081034 7F04C504 44823000 */ mtc1 $v0, $f6 -/* 081038 7F04C508 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08103C 7F04C50C 04410004 */ bgez $v0, .L7F04C520 -/* 081040 7F04C510 46803220 */ cvt.s.w $f8, $f6 -/* 081044 7F04C514 44812000 */ mtc1 $at, $f4 -/* 081048 7F04C518 00000000 */ nop -/* 08104C 7F04C51C 46044200 */ add.s $f8, $f8, $f4 -.L7F04C520: -/* 081050 7F04C520 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 081054 7F04C524 44818000 */ mtc1 $at, $f16 -/* 081058 7F04C528 3C018005 */ lui $at, %hi(D_80052D38) -/* 08105C 7F04C52C C42A2D38 */ lwc1 $f10, %lo(D_80052D38)($at) -/* 081060 7F04C530 46104482 */ mul.s $f18, $f8, $f16 -/* 081064 7F04C534 3C013C00 */ li $at, 0x3C000000 # 0.007812 -/* 081068 7F04C538 44812000 */ mtc1 $at, $f4 -/* 08106C 7F04C53C 3C018005 */ lui $at, %hi(D_80052D3C) -/* 081070 7F04C540 C4302D3C */ lwc1 $f16, %lo(D_80052D3C)($at) -/* 081074 7F04C544 27A40080 */ addiu $a0, $sp, 0x80 -/* 081078 7F04C548 26250020 */ addiu $a1, $s1, 0x20 -/* 08107C 7F04C54C 460A9182 */ mul.s $f6, $f18, $f10 -/* 081080 7F04C550 00000000 */ nop -/* 081084 7F04C554 46043202 */ mul.s $f8, $f6, $f4 -/* 081088 7F04C558 46104481 */ sub.s $f18, $f8, $f16 -/* 08108C 7F04C55C 0FC161C5 */ jal sub_GAME_7F058714 -/* 081090 7F04C560 E7B20088 */ swc1 $f18, 0x88($sp) -/* 081094 7F04C564 8E2F0000 */ lw $t7, ($s1) -/* 081098 7F04C568 35EB0040 */ ori $t3, $t7, 0x40 -/* 08109C 7F04C56C 100000A1 */ b .L7F04C7F4 -/* 0810A0 7F04C570 AE2B0000 */ sw $t3, ($s1) -.L7F04C574: -/* 0810A4 7F04C574 24010004 */ li $at, 4 -/* 0810A8 7F04C578 1441009C */ bne $v0, $at, .L7F04C7EC -/* 0810AC 7F04C57C 26240004 */ addiu $a0, $s1, 4 -/* 0810B0 7F04C580 3C0E8003 */ lui $t6, %hi(D_80032034) -/* 0810B4 7F04C584 25CE2034 */ addiu $t6, %lo(D_80032034) # addiu $t6, $t6, 0x2034 -/* 0810B8 7F04C588 8DC10000 */ lw $at, ($t6) -/* 0810BC 7F04C58C 27AD0070 */ addiu $t5, $sp, 0x70 -/* 0810C0 7F04C590 8DCC0004 */ lw $t4, 4($t6) -/* 0810C4 7F04C594 ADA10000 */ sw $at, ($t5) -/* 0810C8 7F04C598 8DC10008 */ lw $at, 8($t6) -/* 0810CC 7F04C59C ADAC0004 */ sw $t4, 4($t5) -/* 0810D0 7F04C5A0 0FC225E6 */ jal get_curplayer_positiondata -/* 0810D4 7F04C5A4 ADA10008 */ sw $at, 8($t5) -/* 0810D8 7F04C5A8 8FAA0104 */ lw $t2, 0x104($sp) -/* 0810DC 7F04C5AC C4460008 */ lwc1 $f6, 8($v0) -/* 0810E0 7F04C5B0 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0810E4 7F04C5B4 C54A0008 */ lwc1 $f10, 8($t2) -/* 0810E8 7F04C5B8 C5440010 */ lwc1 $f4, 0x10($t2) -/* 0810EC 7F04C5BC 46065301 */ sub.s $f12, $f10, $f6 -/* 0810F0 7F04C5C0 0FC16A8C */ jal convert_angle_using_inverse -/* 0810F4 7F04C5C4 46082381 */ sub.s $f14, $f4, $f8 -/* 0810F8 7F04C5C8 0C002914 */ jal get_random_value -/* 0810FC 7F04C5CC E7A00060 */ swc1 $f0, 0x60($sp) -/* 081100 7F04C5D0 AFA20050 */ sw $v0, 0x50($sp) -/* 081104 7F04C5D4 0FC15FAB */ jal sinf -/* 081108 7F04C5D8 C7AC0060 */ lwc1 $f12, 0x60($sp) -/* 08110C 7F04C5DC 8FB90050 */ lw $t9, 0x50($sp) -/* 081110 7F04C5E0 44998000 */ mtc1 $t9, $f16 -/* 081114 7F04C5E4 07210005 */ bgez $t9, .L7F04C5FC -/* 081118 7F04C5E8 468084A0 */ cvt.s.w $f18, $f16 -/* 08111C 7F04C5EC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081120 7F04C5F0 44815000 */ mtc1 $at, $f10 -/* 081124 7F04C5F4 00000000 */ nop -/* 081128 7F04C5F8 460A9480 */ add.s $f18, $f18, $f10 -.L7F04C5FC: -/* 08112C 7F04C5FC 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 081130 7F04C600 44813000 */ mtc1 $at, $f6 -/* 081134 7F04C604 3C018005 */ lui $at, %hi(D_80052D40) -/* 081138 7F04C608 C4282D40 */ lwc1 $f8, %lo(D_80052D40)($at) -/* 08113C 7F04C60C 46069102 */ mul.s $f4, $f18, $f6 -/* 081140 7F04C610 3C018005 */ lui $at, %hi(D_80052D44) -/* 081144 7F04C614 C42A2D44 */ lwc1 $f10, %lo(D_80052D44)($at) -/* 081148 7F04C618 46082082 */ mul.s $f2, $f4, $f8 -/* 08114C 7F04C61C 46021400 */ add.s $f16, $f2, $f2 -/* 081150 7F04C620 460A8480 */ add.s $f18, $f16, $f10 -/* 081154 7F04C624 46120182 */ mul.s $f6, $f0, $f18 -/* 081158 7F04C628 0C002914 */ jal get_random_value -/* 08115C 7F04C62C E6260004 */ swc1 $f6, 4($s1) -/* 081160 7F04C630 44822000 */ mtc1 $v0, $f4 -/* 081164 7F04C634 04410005 */ bgez $v0, .L7F04C64C -/* 081168 7F04C638 46802220 */ cvt.s.w $f8, $f4 -/* 08116C 7F04C63C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081170 7F04C640 44818000 */ mtc1 $at, $f16 -/* 081174 7F04C644 00000000 */ nop -/* 081178 7F04C648 46104200 */ add.s $f8, $f8, $f16 -.L7F04C64C: -/* 08117C 7F04C64C 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 081180 7F04C650 44815000 */ mtc1 $at, $f10 -/* 081184 7F04C654 3C018005 */ lui $at, %hi(D_80052D48) -/* 081188 7F04C658 C4262D48 */ lwc1 $f6, %lo(D_80052D48)($at) -/* 08118C 7F04C65C 460A4482 */ mul.s $f18, $f8, $f10 -/* 081190 7F04C660 00000000 */ nop -/* 081194 7F04C664 46069002 */ mul.s $f0, $f18, $f6 -/* 081198 7F04C668 46000100 */ add.s $f4, $f0, $f0 -/* 08119C 7F04C66C 0C002914 */ jal get_random_value -/* 0811A0 7F04C670 E6240008 */ swc1 $f4, 8($s1) -/* 0811A4 7F04C674 AFA20050 */ sw $v0, 0x50($sp) -/* 0811A8 7F04C678 0FC15FA8 */ jal cosf -/* 0811AC 7F04C67C C7AC0060 */ lwc1 $f12, 0x60($sp) -/* 0811B0 7F04C680 8FA80050 */ lw $t0, 0x50($sp) -/* 0811B4 7F04C684 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0811B8 7F04C688 44888000 */ mtc1 $t0, $f16 -/* 0811BC 7F04C68C 05010004 */ bgez $t0, .L7F04C6A0 -/* 0811C0 7F04C690 46808220 */ cvt.s.w $f8, $f16 -/* 0811C4 7F04C694 44815000 */ mtc1 $at, $f10 -/* 0811C8 7F04C698 00000000 */ nop -/* 0811CC 7F04C69C 460A4200 */ add.s $f8, $f8, $f10 -.L7F04C6A0: -/* 0811D0 7F04C6A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0811D4 7F04C6A4 44819000 */ mtc1 $at, $f18 -/* 0811D8 7F04C6A8 3C018005 */ lui $at, %hi(D_80052D4C) -/* 0811DC 7F04C6AC C4242D4C */ lwc1 $f4, %lo(D_80052D4C)($at) -/* 0811E0 7F04C6B0 46124182 */ mul.s $f6, $f8, $f18 -/* 0811E4 7F04C6B4 3C018005 */ lui $at, %hi(D_80052D50) -/* 0811E8 7F04C6B8 C42A2D50 */ lwc1 $f10, %lo(D_80052D50)($at) -/* 0811EC 7F04C6BC 46043082 */ mul.s $f2, $f6, $f4 -/* 0811F0 7F04C6C0 46021400 */ add.s $f16, $f2, $f2 -/* 0811F4 7F04C6C4 460A8200 */ add.s $f8, $f16, $f10 -/* 0811F8 7F04C6C8 46080482 */ mul.s $f18, $f0, $f8 -/* 0811FC 7F04C6CC 0C002914 */ jal get_random_value -/* 081200 7F04C6D0 E632000C */ swc1 $f18, 0xc($s1) -/* 081204 7F04C6D4 44823000 */ mtc1 $v0, $f6 -/* 081208 7F04C6D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08120C 7F04C6DC 04410004 */ bgez $v0, .L7F04C6F0 -/* 081210 7F04C6E0 46803120 */ cvt.s.w $f4, $f6 -/* 081214 7F04C6E4 44818000 */ mtc1 $at, $f16 -/* 081218 7F04C6E8 00000000 */ nop -/* 08121C 7F04C6EC 46102100 */ add.s $f4, $f4, $f16 -.L7F04C6F0: -/* 081220 7F04C6F0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 081224 7F04C6F4 44815000 */ mtc1 $at, $f10 -/* 081228 7F04C6F8 3C018005 */ lui $at, %hi(D_80052D54) -/* 08122C 7F04C6FC C4322D54 */ lwc1 $f18, %lo(D_80052D54)($at) -/* 081230 7F04C700 460A2202 */ mul.s $f8, $f4, $f10 -/* 081234 7F04C704 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 081238 7F04C708 44818000 */ mtc1 $at, $f16 -/* 08123C 7F04C70C 3C018005 */ lui $at, %hi(D_80052D58) -/* 081240 7F04C710 C42A2D58 */ lwc1 $f10, %lo(D_80052D58)($at) -/* 081244 7F04C714 46124182 */ mul.s $f6, $f8, $f18 -/* 081248 7F04C718 00000000 */ nop -/* 08124C 7F04C71C 46103102 */ mul.s $f4, $f6, $f16 -/* 081250 7F04C720 460A2201 */ sub.s $f8, $f4, $f10 -/* 081254 7F04C724 0C002914 */ jal get_random_value -/* 081258 7F04C728 E7A80070 */ swc1 $f8, 0x70($sp) -/* 08125C 7F04C72C 44829000 */ mtc1 $v0, $f18 -/* 081260 7F04C730 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081264 7F04C734 04410004 */ bgez $v0, .L7F04C748 -/* 081268 7F04C738 468091A0 */ cvt.s.w $f6, $f18 -/* 08126C 7F04C73C 44818000 */ mtc1 $at, $f16 -/* 081270 7F04C740 00000000 */ nop -/* 081274 7F04C744 46103180 */ add.s $f6, $f6, $f16 -.L7F04C748: -/* 081278 7F04C748 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08127C 7F04C74C 44812000 */ mtc1 $at, $f4 -/* 081280 7F04C750 3C018005 */ lui $at, %hi(D_80052D5C) -/* 081284 7F04C754 C4282D5C */ lwc1 $f8, %lo(D_80052D5C)($at) -/* 081288 7F04C758 46043282 */ mul.s $f10, $f6, $f4 -/* 08128C 7F04C75C 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 081290 7F04C760 44818000 */ mtc1 $at, $f16 -/* 081294 7F04C764 3C018005 */ lui $at, %hi(D_80052D60) -/* 081298 7F04C768 C4242D60 */ lwc1 $f4, %lo(D_80052D60)($at) -/* 08129C 7F04C76C 46085482 */ mul.s $f18, $f10, $f8 -/* 0812A0 7F04C770 00000000 */ nop -/* 0812A4 7F04C774 46109182 */ mul.s $f6, $f18, $f16 -/* 0812A8 7F04C778 46043281 */ sub.s $f10, $f6, $f4 -/* 0812AC 7F04C77C 0C002914 */ jal get_random_value -/* 0812B0 7F04C780 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 0812B4 7F04C784 44824000 */ mtc1 $v0, $f8 -/* 0812B8 7F04C788 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0812BC 7F04C78C 04410004 */ bgez $v0, .L7F04C7A0 -/* 0812C0 7F04C790 468044A0 */ cvt.s.w $f18, $f8 -/* 0812C4 7F04C794 44818000 */ mtc1 $at, $f16 -/* 0812C8 7F04C798 00000000 */ nop -/* 0812CC 7F04C79C 46109480 */ add.s $f18, $f18, $f16 -.L7F04C7A0: -/* 0812D0 7F04C7A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 0812D4 7F04C7A4 44813000 */ mtc1 $at, $f6 -/* 0812D8 7F04C7A8 3C018005 */ lui $at, %hi(D_80052D64) -/* 0812DC 7F04C7AC C42A2D64 */ lwc1 $f10, %lo(D_80052D64)($at) -/* 0812E0 7F04C7B0 46069102 */ mul.s $f4, $f18, $f6 -/* 0812E4 7F04C7B4 3C013D00 */ li $at, 0x3D000000 # 0.031250 -/* 0812E8 7F04C7B8 44818000 */ mtc1 $at, $f16 -/* 0812EC 7F04C7BC 3C018005 */ lui $at, %hi(D_80052D68) -/* 0812F0 7F04C7C0 C4262D68 */ lwc1 $f6, %lo(D_80052D68)($at) -/* 0812F4 7F04C7C4 27A40070 */ addiu $a0, $sp, 0x70 -/* 0812F8 7F04C7C8 26250020 */ addiu $a1, $s1, 0x20 -/* 0812FC 7F04C7CC 460A2202 */ mul.s $f8, $f4, $f10 -/* 081300 7F04C7D0 00000000 */ nop -/* 081304 7F04C7D4 46104482 */ mul.s $f18, $f8, $f16 -/* 081308 7F04C7D8 46069101 */ sub.s $f4, $f18, $f6 -/* 08130C 7F04C7DC 0FC161C5 */ jal sub_GAME_7F058714 -/* 081310 7F04C7E0 E7A40078 */ swc1 $f4, 0x78($sp) -/* 081314 7F04C7E4 10000004 */ b .L7F04C7F8 -/* 081318 7F04C7E8 8FA90104 */ lw $t1, 0x104($sp) -.L7F04C7EC: -/* 08131C 7F04C7EC 0FC15F05 */ jal sub_GAME_7F057C14 -/* 081320 7F04C7F0 26250020 */ addiu $a1, $s1, 0x20 -.L7F04C7F4: -/* 081324 7F04C7F4 8FA90104 */ lw $t1, 0x104($sp) -.L7F04C7F8: -/* 081328 7F04C7F8 8D2F001C */ lw $t7, 0x1c($t1) -/* 08132C 7F04C7FC 51E00007 */ beql $t7, $zero, .L7F04C81C -/* 081330 7F04C800 8E0B0014 */ lw $t3, 0x14($s0) -/* 081334 7F04C804 8E02001C */ lw $v0, 0x1c($s0) -/* 081338 7F04C808 00408025 */ move $s0, $v0 -.L7F04C80C: -/* 08133C 7F04C80C 8C42001C */ lw $v0, 0x1c($v0) -/* 081340 7F04C810 5440FFFE */ bnezl $v0, .L7F04C80C -/* 081344 7F04C814 00408025 */ move $s0, $v0 -/* 081348 7F04C818 8E0B0014 */ lw $t3, 0x14($s0) -.L7F04C81C: -/* 08134C 7F04C81C 8FA20108 */ lw $v0, 0x108($sp) -/* 081350 7F04C820 AFAB00B0 */ sw $t3, 0xb0($sp) -/* 081354 7F04C824 90580001 */ lbu $t8, 1($v0) -/* 081358 7F04C828 330D0002 */ andi $t5, $t8, 2 -/* 08135C 7F04C82C 51A0004B */ beql $t5, $zero, .L7F04C95C -/* 081360 7F04C830 8E0A0014 */ lw $t2, 0x14($s0) -/* 081364 7F04C834 0FC10411 */ jal if_a0_plus_3_is_4_then_10_else_20 -/* 081368 7F04C838 02402025 */ move $a0, $s2 -/* 08136C 7F04C83C E7A0005C */ swc1 $f0, 0x5c($sp) -/* 081370 7F04C840 0FC1B1A8 */ jal getsubmatrix -/* 081374 7F04C844 8FA400F8 */ lw $a0, 0xf8($sp) -/* 081378 7F04C848 240E001F */ li $t6, 31 -/* 08137C 7F04C84C AFA20058 */ sw $v0, 0x58($sp) -/* 081380 7F04C850 0FC1E111 */ jal sub_GAME_7F078444 -/* 081384 7F04C854 AFAE0054 */ sw $t6, 0x54($sp) -/* 081388 7F04C858 00402025 */ move $a0, $v0 -/* 08138C 7F04C85C 8FA50058 */ lw $a1, 0x58($sp) -/* 081390 7F04C860 0FC16063 */ jal sub_GAME_7F05818C -/* 081394 7F04C864 27A600B8 */ addiu $a2, $sp, 0xb8 -/* 081398 7F04C868 8E2C0000 */ lw $t4, ($s1) -/* 08139C 7F04C86C 2419001D */ li $t9, 29 -/* 0813A0 7F04C870 02002025 */ move $a0, $s0 -/* 0813A4 7F04C874 318A0040 */ andi $t2, $t4, 0x40 -/* 0813A8 7F04C878 11400002 */ beqz $t2, .L7F04C884 -/* 0813AC 7F04C87C 00000000 */ nop -/* 0813B0 7F04C880 AFB90054 */ sw $t9, 0x54($sp) -.L7F04C884: -/* 0813B4 7F04C884 0FC0F416 */ jal sub_GAME_7F03D058 -/* 0813B8 7F04C888 00002825 */ move $a1, $zero -/* 0813BC 7F04C88C 8E050008 */ lw $a1, 8($s0) -/* 0813C0 7F04C890 8E060010 */ lw $a2, 0x10($s0) -/* 0813C4 7F04C894 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0813C8 7F04C898 44811000 */ mtc1 $at, $f2 -/* 0813CC 7F04C89C 44800000 */ mtc1 $zero, $f0 -/* 0813D0 7F04C8A0 C7AA00F0 */ lwc1 $f10, 0xf0($sp) -/* 0813D4 7F04C8A4 8FA80054 */ lw $t0, 0x54($sp) -/* 0813D8 7F04C8A8 27B100B0 */ addiu $s1, $sp, 0xb0 -/* 0813DC 7F04C8AC 02202025 */ move $a0, $s1 -/* 0813E0 7F04C8B0 8FA700E8 */ lw $a3, 0xe8($sp) -/* 0813E4 7F04C8B4 E7A2001C */ swc1 $f2, 0x1c($sp) -/* 0813E8 7F04C8B8 E7A20024 */ swc1 $f2, 0x24($sp) -/* 0813EC 7F04C8BC E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0813F0 7F04C8C0 E7A00018 */ swc1 $f0, 0x18($sp) -/* 0813F4 7F04C8C4 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0813F8 7F04C8C8 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 0813FC 7F04C8CC AFA80014 */ sw $t0, 0x14($sp) -/* 081400 7F04C8D0 10400011 */ beqz $v0, .L7F04C918 -/* 081404 7F04C8D4 02202025 */ move $a0, $s1 -/* 081408 7F04C8D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08140C 7F04C8DC 44818000 */ mtc1 $at, $f16 -/* 081410 7F04C8E0 8FA90054 */ lw $t1, 0x54($sp) -/* 081414 7F04C8E4 44804000 */ mtc1 $zero, $f8 -/* 081418 7F04C8E8 8FA500E8 */ lw $a1, 0xe8($sp) -/* 08141C 7F04C8EC 8FA600F0 */ lw $a2, 0xf0($sp) -/* 081420 7F04C8F0 8FA7005C */ lw $a3, 0x5c($sp) -/* 081424 7F04C8F4 AFA90010 */ sw $t1, 0x10($sp) -/* 081428 7F04C8F8 E7B00018 */ swc1 $f16, 0x18($sp) -/* 08142C 7F04C8FC 0FC2C62E */ jal sub_GAME_7F0B18B8 -/* 081430 7F04C900 E7A80014 */ swc1 $f8, 0x14($sp) -/* 081434 7F04C904 04410004 */ bgez $v0, .L7F04C918 -/* 081438 7F04C908 8FAF00B0 */ lw $t7, 0xb0($sp) -/* 08143C 7F04C90C 8FAB0108 */ lw $t3, 0x108($sp) -/* 081440 7F04C910 10000008 */ b .L7F04C934 -/* 081444 7F04C914 AD6F0014 */ sw $t7, 0x14($t3) -.L7F04C918: -/* 081448 7F04C918 8E180014 */ lw $t8, 0x14($s0) -/* 08144C 7F04C91C 8FAD0108 */ lw $t5, 0x108($sp) -/* 081450 7F04C920 ADB80014 */ sw $t8, 0x14($t5) -/* 081454 7F04C924 C6120008 */ lwc1 $f18, 8($s0) -/* 081458 7F04C928 E7B200E8 */ swc1 $f18, 0xe8($sp) -/* 08145C 7F04C92C C6060010 */ lwc1 $f6, 0x10($s0) -/* 081460 7F04C930 E7A600F0 */ swc1 $f6, 0xf0($sp) -.L7F04C934: -/* 081464 7F04C934 02002025 */ move $a0, $s0 -/* 081468 7F04C938 0FC0F416 */ jal sub_GAME_7F03D058 -/* 08146C 7F04C93C 24050001 */ li $a1, 1 -/* 081470 7F04C940 8FAE0058 */ lw $t6, 0x58($sp) -/* 081474 7F04C944 8FAC0108 */ lw $t4, 0x108($sp) -/* 081478 7F04C948 C5C40038 */ lwc1 $f4, 0x38($t6) -/* 08147C 7F04C94C 46002287 */ neg.s $f10, $f4 -/* 081480 7F04C950 1000000C */ b .L7F04C984 -/* 081484 7F04C954 E58A0018 */ swc1 $f10, 0x18($t4) -/* 081488 7F04C958 8E0A0014 */ lw $t2, 0x14($s0) -.L7F04C95C: -/* 08148C 7F04C95C 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 081490 7F04C960 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 -/* 081494 7F04C964 AC4A0014 */ sw $t2, 0x14($v0) -/* 081498 7F04C968 8FB900F8 */ lw $t9, 0xf8($sp) -/* 08149C 7F04C96C 27A500B8 */ addiu $a1, $sp, 0xb8 -/* 0814A0 7F04C970 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 0814A4 7F04C974 C72C0014 */ lwc1 $f12, 0x14($t9) -/* 0814A8 7F04C978 26040008 */ addiu $a0, $s0, 8 -/* 0814AC 7F04C97C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0814B0 7F04C980 27A500B8 */ addiu $a1, $sp, 0xb8 -.L7F04C984: -/* 0814B4 7F04C984 0FC13011 */ jal sub_GAME_7F04C044 -/* 0814B8 7F04C988 8FA40108 */ lw $a0, 0x108($sp) -/* 0814BC 7F04C98C 0FC0E929 */ jal set_current_objposdata_plus_0x28 -/* 0814C0 7F04C990 8FA40108 */ lw $a0, 0x108($sp) -/* 0814C4 7F04C994 0FC0E901 */ jal set_stateflag_0x04_for_posdata -/* 0814C8 7F04C998 8FA40108 */ lw $a0, 0x108($sp) -/* 0814CC 7F04C99C C7A000E8 */ lwc1 $f0, 0xe8($sp) -/* 0814D0 7F04C9A0 8FA80108 */ lw $t0, 0x108($sp) -/* 0814D4 7F04C9A4 44804000 */ mtc1 $zero, $f8 -/* 0814D8 7F04C9A8 44808000 */ mtc1 $zero, $f16 -/* 0814DC 7F04C9AC E5000008 */ swc1 $f0, 8($t0) -/* 0814E0 7F04C9B0 E6400058 */ swc1 $f0, 0x58($s2) -/* 0814E4 7F04C9B4 C7A000EC */ lwc1 $f0, 0xec($sp) -/* 0814E8 7F04C9B8 8FA90108 */ lw $t1, 0x108($sp) -/* 0814EC 7F04C9BC 44809000 */ mtc1 $zero, $f18 -/* 0814F0 7F04C9C0 27A400B8 */ addiu $a0, $sp, 0xb8 -/* 0814F4 7F04C9C4 E520000C */ swc1 $f0, 0xc($t1) -/* 0814F8 7F04C9C8 E640005C */ swc1 $f0, 0x5c($s2) -/* 0814FC 7F04C9CC C7A000F0 */ lwc1 $f0, 0xf0($sp) -/* 081500 7F04C9D0 8FAF0108 */ lw $t7, 0x108($sp) -/* 081504 7F04C9D4 26450018 */ addiu $a1, $s2, 0x18 -/* 081508 7F04C9D8 E5E00010 */ swc1 $f0, 0x10($t7) -/* 08150C 7F04C9DC E6400060 */ swc1 $f0, 0x60($s2) -/* 081510 7F04C9E0 E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 081514 7F04C9E4 E7B000EC */ swc1 $f16, 0xec($sp) -/* 081518 7F04C9E8 0FC16008 */ jal sub_GAME_7F058020 -/* 08151C 7F04C9EC E7B200F0 */ swc1 $f18, 0xf0($sp) -/* 081520 7F04C9F0 8E440010 */ lw $a0, 0x10($s2) -/* 081524 7F04C9F4 0FC100AD */ jal sub_GAME_7F0402B4 -/* 081528 7F04C9F8 2645007C */ addiu $a1, $s2, 0x7c -/* 08152C 7F04C9FC 924B007C */ lbu $t3, 0x7c($s2) -/* 081530 7F04CA00 9258007D */ lbu $t8, 0x7d($s2) -/* 081534 7F04CA04 924D007E */ lbu $t5, 0x7e($s2) -/* 081538 7F04CA08 924E007F */ lbu $t6, 0x7f($s2) -/* 08153C 7F04CA0C 02402025 */ move $a0, $s2 -/* 081540 7F04CA10 A24B0078 */ sb $t3, 0x78($s2) -/* 081544 7F04CA14 A2580079 */ sb $t8, 0x79($s2) -/* 081548 7F04CA18 A24D007A */ sb $t5, 0x7a($s2) -/* 08154C 7F04CA1C 0FC15B28 */ jal sub_GAME_7F056CA0 -/* 081550 7F04CA20 A24E007B */ sb $t6, 0x7b($s2) -/* 081554 7F04CA24 10000001 */ b .L7F04CA2C -/* 081558 7F04CA28 24020001 */ li $v0, 1 -.L7F04CA2C: -/* 08155C 7F04CA2C 8FBF003C */ lw $ra, 0x3c($sp) -/* 081560 7F04CA30 8FB00030 */ lw $s0, 0x30($sp) -/* 081564 7F04CA34 8FB10034 */ lw $s1, 0x34($sp) -/* 081568 7F04CA38 8FB20038 */ lw $s2, 0x38($sp) -/* 08156C 7F04CA3C 03E00008 */ jr $ra -/* 081570 7F04CA40 27BD0108 */ addiu $sp, $sp, 0x108 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04CA44(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052D6C -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D70 -.word 0x3f555555 /*0.83333331*/ -glabel D_80052D74 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D78 -.word 0x3fd55555 /*1.6666666*/ -glabel D_80052D7C -.word 0x3f555555 /*0.83333331*/ -glabel D_80052D80 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D84 -.word 0x3C20D97C /*0.009817477*/ -glabel D_80052D88 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D8C -.word 0x3C20D97C /*0.009817477*/ -glabel D_80052D90 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052D94 -.word 0x3C20D97C /*0.009817477*/ -.text -glabel sub_GAME_7F04CA44 -/* 081574 7F04CA44 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 081578 7F04CA48 AFBF0024 */ sw $ra, 0x24($sp) -/* 08157C 7F04CA4C AFB10020 */ sw $s1, 0x20($sp) -/* 081580 7F04CA50 AFB0001C */ sw $s0, 0x1c($sp) -/* 081584 7F04CA54 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 081588 7F04CA58 8C8E0064 */ lw $t6, 0x64($a0) -/* 08158C 7F04CA5C 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 081590 7F04CA60 8C89000C */ lw $t1, 0xc($a0) -/* 081594 7F04CA64 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 081598 7F04CA68 01C17824 */ and $t7, $t6, $at -/* 08159C 7F04CA6C 0005CC40 */ sll $t9, $a1, 0x11 -/* 0815A0 7F04CA70 AC8F0064 */ sw $t7, 0x64($a0) -/* 0815A4 7F04CA74 01F94025 */ or $t0, $t7, $t9 -/* 0815A8 7F04CA78 312A0100 */ andi $t2, $t1, 0x100 -/* 0815AC 7F04CA7C 00808025 */ move $s0, $a0 -/* 0815B0 7F04CA80 1540009A */ bnez $t2, .L7F04CCEC -/* 0815B4 7F04CA84 AC880064 */ sw $t0, 0x64($a0) -/* 0815B8 7F04CA88 8C8B0008 */ lw $t3, 8($a0) -/* 0815BC 7F04CA8C 310E00C0 */ andi $t6, $t0, 0xc0 -/* 0815C0 7F04CA90 316C0001 */ andi $t4, $t3, 1 -/* 0815C4 7F04CA94 51800096 */ beql $t4, $zero, .L7F04CCF0 -/* 0815C8 7F04CA98 8FBF0024 */ lw $ra, 0x24($sp) -/* 0815CC 7F04CA9C 15C00093 */ bnez $t6, .L7F04CCEC -/* 0815D0 7F04CAA0 3C188003 */ lui $t8, %hi(D_80032040) -/* 0815D4 7F04CAA4 27182040 */ addiu $t8, %lo(D_80032040) # addiu $t8, $t8, 0x2040 -/* 0815D8 7F04CAA8 8F010000 */ lw $at, ($t8) -/* 0815DC 7F04CAAC 27AF0034 */ addiu $t7, $sp, 0x34 -/* 0815E0 7F04CAB0 8F080004 */ lw $t0, 4($t8) -/* 0815E4 7F04CAB4 ADE10000 */ sw $at, ($t7) -/* 0815E8 7F04CAB8 8F010008 */ lw $at, 8($t8) -/* 0815EC 7F04CABC ADE80004 */ sw $t0, 4($t7) -/* 0815F0 7F04CAC0 00008825 */ move $s1, $zero -/* 0815F4 7F04CAC4 ADE10008 */ sw $at, 8($t7) -/* 0815F8 7F04CAC8 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 0815FC 7F04CACC 8C840010 */ lw $a0, 0x10($a0) -/* 081600 7F04CAD0 8E090064 */ lw $t1, 0x64($s0) -/* 081604 7F04CAD4 312A0080 */ andi $t2, $t1, 0x80 -/* 081608 7F04CAD8 11400002 */ beqz $t2, .L7F04CAE4 -/* 08160C 7F04CADC 00000000 */ nop -/* 081610 7F04CAE0 8E11006C */ lw $s1, 0x6c($s0) -.L7F04CAE4: -/* 081614 7F04CAE4 52200082 */ beql $s1, $zero, .L7F04CCF0 -/* 081618 7F04CAE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 08161C 7F04CAEC 0C002914 */ jal get_random_value -/* 081620 7F04CAF0 00000000 */ nop -/* 081624 7F04CAF4 44822000 */ mtc1 $v0, $f4 -/* 081628 7F04CAF8 3C012F80 */ li $at, 0x2F800000 # 0.000000 -/* 08162C 7F04CAFC 4481A000 */ mtc1 $at, $f20 -/* 081630 7F04CB00 04410005 */ bgez $v0, .L7F04CB18 -/* 081634 7F04CB04 468021A0 */ cvt.s.w $f6, $f4 -/* 081638 7F04CB08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 08163C 7F04CB0C 44814000 */ mtc1 $at, $f8 -/* 081640 7F04CB10 00000000 */ nop -/* 081644 7F04CB14 46083180 */ add.s $f6, $f6, $f8 -.L7F04CB18: -/* 081648 7F04CB18 46143282 */ mul.s $f10, $f6, $f20 -/* 08164C 7F04CB1C 3C018005 */ lui $at, %hi(D_80052D6C) -/* 081650 7F04CB20 C4302D6C */ lwc1 $f16, %lo(D_80052D6C)($at) -/* 081654 7F04CB24 3C018005 */ lui $at, %hi(D_80052D70) -/* 081658 7F04CB28 C4242D70 */ lwc1 $f4, %lo(D_80052D70)($at) -/* 08165C 7F04CB2C 46105482 */ mul.s $f18, $f10, $f16 -/* 081660 7F04CB30 46049201 */ sub.s $f8, $f18, $f4 -/* 081664 7F04CB34 0C002914 */ jal get_random_value -/* 081668 7F04CB38 E6280004 */ swc1 $f8, 4($s1) -/* 08166C 7F04CB3C 44823000 */ mtc1 $v0, $f6 -/* 081670 7F04CB40 3C018005 */ lui $at, %hi(D_80052D74) -/* 081674 7F04CB44 C4222D74 */ lwc1 $f2, %lo(D_80052D74)($at) -/* 081678 7F04CB48 04410005 */ bgez $v0, .L7F04CB60 -/* 08167C 7F04CB4C 468032A0 */ cvt.s.w $f10, $f6 -/* 081680 7F04CB50 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081684 7F04CB54 44818000 */ mtc1 $at, $f16 -/* 081688 7F04CB58 00000000 */ nop -/* 08168C 7F04CB5C 46105280 */ add.s $f10, $f10, $f16 -.L7F04CB60: -/* 081690 7F04CB60 46145482 */ mul.s $f18, $f10, $f20 -/* 081694 7F04CB64 00000000 */ nop -/* 081698 7F04CB68 46029002 */ mul.s $f0, $f18, $f2 -/* 08169C 7F04CB6C 46000100 */ add.s $f4, $f0, $f0 -/* 0816A0 7F04CB70 46022200 */ add.s $f8, $f4, $f2 -/* 0816A4 7F04CB74 0C002914 */ jal get_random_value -/* 0816A8 7F04CB78 E6280008 */ swc1 $f8, 8($s1) -/* 0816AC 7F04CB7C 44823000 */ mtc1 $v0, $f6 -/* 0816B0 7F04CB80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0816B4 7F04CB84 04410004 */ bgez $v0, .L7F04CB98 -/* 0816B8 7F04CB88 46803420 */ cvt.s.w $f16, $f6 -/* 0816BC 7F04CB8C 44815000 */ mtc1 $at, $f10 -/* 0816C0 7F04CB90 00000000 */ nop -/* 0816C4 7F04CB94 460A8400 */ add.s $f16, $f16, $f10 -.L7F04CB98: -/* 0816C8 7F04CB98 46148482 */ mul.s $f18, $f16, $f20 -/* 0816CC 7F04CB9C 3C018005 */ lui $at, %hi(D_80052D78) -/* 0816D0 7F04CBA0 C4242D78 */ lwc1 $f4, %lo(D_80052D78)($at) -/* 0816D4 7F04CBA4 3C018005 */ lui $at, %hi(D_80052D7C) -/* 0816D8 7F04CBA8 C4262D7C */ lwc1 $f6, %lo(D_80052D7C)($at) -/* 0816DC 7F04CBAC 46049202 */ mul.s $f8, $f18, $f4 -/* 0816E0 7F04CBB0 46064281 */ sub.s $f10, $f8, $f6 -/* 0816E4 7F04CBB4 E62A000C */ swc1 $f10, 0xc($s1) -/* 0816E8 7F04CBB8 8E0B000C */ lw $t3, 0xc($s0) -/* 0816EC 7F04CBBC 316C0200 */ andi $t4, $t3, 0x200 -/* 0816F0 7F04CBC0 5580003C */ bnezl $t4, .L7F04CCB4 -/* 0816F4 7F04CBC4 27A40034 */ addiu $a0, $sp, 0x34 -/* 0816F8 7F04CBC8 0C002914 */ jal get_random_value -/* 0816FC 7F04CBCC 00000000 */ nop -/* 081700 7F04CBD0 44828000 */ mtc1 $v0, $f16 -/* 081704 7F04CBD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081708 7F04CBD8 04410004 */ bgez $v0, .L7F04CBEC -/* 08170C 7F04CBDC 468084A0 */ cvt.s.w $f18, $f16 -/* 081710 7F04CBE0 44812000 */ mtc1 $at, $f4 -/* 081714 7F04CBE4 00000000 */ nop -/* 081718 7F04CBE8 46049480 */ add.s $f18, $f18, $f4 -.L7F04CBEC: -/* 08171C 7F04CBEC 46149202 */ mul.s $f8, $f18, $f20 -/* 081720 7F04CBF0 3C018005 */ lui $at, %hi(D_80052D80) -/* 081724 7F04CBF4 C4262D80 */ lwc1 $f6, %lo(D_80052D80)($at) -/* 081728 7F04CBF8 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 08172C 7F04CBFC 44818000 */ mtc1 $at, $f16 -/* 081730 7F04CC00 3C018005 */ lui $at, %hi(D_80052D84) -/* 081734 7F04CC04 C4322D84 */ lwc1 $f18, %lo(D_80052D84)($at) -/* 081738 7F04CC08 46064282 */ mul.s $f10, $f8, $f6 -/* 08173C 7F04CC0C 46105103 */ div.s $f4, $f10, $f16 -/* 081740 7F04CC10 46122201 */ sub.s $f8, $f4, $f18 -/* 081744 7F04CC14 0C002914 */ jal get_random_value -/* 081748 7F04CC18 E7A80034 */ swc1 $f8, 0x34($sp) -/* 08174C 7F04CC1C 44823000 */ mtc1 $v0, $f6 -/* 081750 7F04CC20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081754 7F04CC24 04410004 */ bgez $v0, .L7F04CC38 -/* 081758 7F04CC28 468032A0 */ cvt.s.w $f10, $f6 -/* 08175C 7F04CC2C 44818000 */ mtc1 $at, $f16 -/* 081760 7F04CC30 00000000 */ nop -/* 081764 7F04CC34 46105280 */ add.s $f10, $f10, $f16 -.L7F04CC38: -/* 081768 7F04CC38 46145102 */ mul.s $f4, $f10, $f20 -/* 08176C 7F04CC3C 3C018005 */ lui $at, %hi(D_80052D88) -/* 081770 7F04CC40 C4322D88 */ lwc1 $f18, %lo(D_80052D88)($at) -/* 081774 7F04CC44 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 081778 7F04CC48 44813000 */ mtc1 $at, $f6 -/* 08177C 7F04CC4C 3C018005 */ lui $at, %hi(D_80052D8C) -/* 081780 7F04CC50 C42A2D8C */ lwc1 $f10, %lo(D_80052D8C)($at) -/* 081784 7F04CC54 46122202 */ mul.s $f8, $f4, $f18 -/* 081788 7F04CC58 46064403 */ div.s $f16, $f8, $f6 -/* 08178C 7F04CC5C 460A8101 */ sub.s $f4, $f16, $f10 -/* 081790 7F04CC60 0C002914 */ jal get_random_value -/* 081794 7F04CC64 E7A40038 */ swc1 $f4, 0x38($sp) -/* 081798 7F04CC68 44829000 */ mtc1 $v0, $f18 -/* 08179C 7F04CC6C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0817A0 7F04CC70 04410004 */ bgez $v0, .L7F04CC84 -/* 0817A4 7F04CC74 46809220 */ cvt.s.w $f8, $f18 -/* 0817A8 7F04CC78 44813000 */ mtc1 $at, $f6 -/* 0817AC 7F04CC7C 00000000 */ nop -/* 0817B0 7F04CC80 46064200 */ add.s $f8, $f8, $f6 -.L7F04CC84: -/* 0817B4 7F04CC84 46144402 */ mul.s $f16, $f8, $f20 -/* 0817B8 7F04CC88 3C018005 */ lui $at, %hi(D_80052D90) -/* 0817BC 7F04CC8C C42A2D90 */ lwc1 $f10, %lo(D_80052D90)($at) -/* 0817C0 7F04CC90 3C0143A0 */ li $at, 0x43A00000 # 320.000000 -/* 0817C4 7F04CC94 44819000 */ mtc1 $at, $f18 -/* 0817C8 7F04CC98 3C018005 */ lui $at, %hi(D_80052D94) -/* 0817CC 7F04CC9C C4282D94 */ lwc1 $f8, %lo(D_80052D94)($at) -/* 0817D0 7F04CCA0 460A8102 */ mul.s $f4, $f16, $f10 -/* 0817D4 7F04CCA4 46122183 */ div.s $f6, $f4, $f18 -/* 0817D8 7F04CCA8 46083401 */ sub.s $f16, $f6, $f8 -/* 0817DC 7F04CCAC E7B0003C */ swc1 $f16, 0x3c($sp) -/* 0817E0 7F04CCB0 27A40034 */ addiu $a0, $sp, 0x34 -.L7F04CCB4: -/* 0817E4 7F04CCB4 0FC161C5 */ jal sub_GAME_7F058714 -/* 0817E8 7F04CCB8 26250020 */ addiu $a1, $s1, 0x20 -/* 0817EC 7F04CCBC 8E2D0000 */ lw $t5, ($s1) -/* 0817F0 7F04CCC0 2401FEFF */ li $at, -257 -/* 0817F4 7F04CCC4 35AE0001 */ ori $t6, $t5, 1 -/* 0817F8 7F04CCC8 AE2E0000 */ sw $t6, ($s1) -/* 0817FC 7F04CCCC 8E190008 */ lw $t9, 8($s0) -/* 081800 7F04CCD0 8E180064 */ lw $t8, 0x64($s0) -/* 081804 7F04CCD4 03217824 */ and $t7, $t9, $at -/* 081808 7F04CCD8 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 08180C 7F04CCDC 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 081810 7F04CCE0 03014024 */ and $t0, $t8, $at -/* 081814 7F04CCE4 AE0F0008 */ sw $t7, 8($s0) -/* 081818 7F04CCE8 AE080064 */ sw $t0, 0x64($s0) -.L7F04CCEC: -/* 08181C 7F04CCEC 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04CCF0: -/* 081820 7F04CCF0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 081824 7F04CCF4 8FB0001C */ lw $s0, 0x1c($sp) -/* 081828 7F04CCF8 8FB10020 */ lw $s1, 0x20($sp) -/* 08182C 7F04CCFC 03E00008 */ jr $ra -/* 081830 7F04CD00 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04CD04(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04CD04 -/* 081834 7F04CD04 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 081838 7F04CD08 AFBF0034 */ sw $ra, 0x34($sp) -/* 08183C 7F04CD0C AFB60030 */ sw $s6, 0x30($sp) -/* 081840 7F04CD10 AFB5002C */ sw $s5, 0x2c($sp) -/* 081844 7F04CD14 AFB40028 */ sw $s4, 0x28($sp) -/* 081848 7F04CD18 AFB30024 */ sw $s3, 0x24($sp) -/* 08184C 7F04CD1C AFB20020 */ sw $s2, 0x20($sp) -/* 081850 7F04CD20 AFB1001C */ sw $s1, 0x1c($sp) -/* 081854 7F04CD24 AFB00018 */ sw $s0, 0x18($sp) -/* 081858 7F04CD28 8C8E0014 */ lw $t6, 0x14($a0) -/* 08185C 7F04CD2C 00A0B025 */ move $s6, $a1 -/* 081860 7F04CD30 8C940004 */ lw $s4, 4($a0) -/* 081864 7F04CD34 27A50048 */ addiu $a1, $sp, 0x48 -/* 081868 7F04CD38 27A60044 */ addiu $a2, $sp, 0x44 -/* 08186C 7F04CD3C 0FC0F32C */ jal sub_GAME_7F03CCB0 -/* 081870 7F04CD40 91D50003 */ lbu $s5, 3($t6) -/* 081874 7F04CD44 8FAF0044 */ lw $t7, 0x44($sp) -/* 081878 7F04CD48 59E00027 */ blezl $t7, .L7F04CDE8 -/* 08187C 7F04CD4C 8FBF0034 */ lw $ra, 0x34($sp) -/* 081880 7F04CD50 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 081884 7F04CD54 00000000 */ nop -/* 081888 7F04CD58 10400022 */ beqz $v0, .L7F04CDE4 -/* 08188C 7F04CD5C 00408825 */ move $s1, $v0 -/* 081890 7F04CD60 24130004 */ li $s3, 4 -/* 081894 7F04CD64 24120001 */ li $s2, 1 -/* 081898 7F04CD68 92220000 */ lbu $v0, ($s1) -.L7F04CD6C: -/* 08189C 7F04CD6C 52420004 */ beql $s2, $v0, .L7F04CD80 -/* 0818A0 7F04CD70 8E380014 */ lw $t8, 0x14($s1) -/* 0818A4 7F04CD74 56620019 */ bnel $s3, $v0, .L7F04CDDC -/* 0818A8 7F04CD78 8E310024 */ lw $s1, 0x24($s1) -/* 0818AC 7F04CD7C 8E380014 */ lw $t8, 0x14($s1) -.L7F04CD80: -/* 0818B0 7F04CD80 93190003 */ lbu $t9, 3($t8) -/* 0818B4 7F04CD84 56B90015 */ bnel $s5, $t9, .L7F04CDDC -/* 0818B8 7F04CD88 8E310024 */ lw $s1, 0x24($s1) -/* 0818BC 7F04CD8C 8E300004 */ lw $s0, 4($s1) -/* 0818C0 7F04CD90 C684005C */ lwc1 $f4, 0x5c($s4) -/* 0818C4 7F04CD94 C606005C */ lwc1 $f6, 0x5c($s0) -/* 0818C8 7F04CD98 4606203C */ c.lt.s $f4, $f6 -/* 0818CC 7F04CD9C 00000000 */ nop -/* 0818D0 7F04CDA0 4502000E */ bc1fl .L7F04CDDC -/* 0818D4 7F04CDA4 8E310024 */ lw $s1, 0x24($s1) -/* 0818D8 7F04CDA8 8E080064 */ lw $t0, 0x64($s0) -/* 0818DC 7F04CDAC 26040058 */ addiu $a0, $s0, 0x58 -/* 0818E0 7F04CDB0 8FA50048 */ lw $a1, 0x48($sp) -/* 0818E4 7F04CDB4 31098000 */ andi $t1, $t0, 0x8000 -/* 0818E8 7F04CDB8 51200008 */ beql $t1, $zero, .L7F04CDDC -/* 0818EC 7F04CDBC 8E310024 */ lw $s1, 0x24($s1) -/* 0818F0 7F04CDC0 0FC0F336 */ jal sub_GAME_7F03CCD8 -/* 0818F4 7F04CDC4 8FA60044 */ lw $a2, 0x44($sp) -/* 0818F8 7F04CDC8 10400003 */ beqz $v0, .L7F04CDD8 -/* 0818FC 7F04CDCC 02002025 */ move $a0, $s0 -/* 081900 7F04CDD0 0FC13291 */ jal sub_GAME_7F04CA44 -/* 081904 7F04CDD4 02C02825 */ move $a1, $s6 -.L7F04CDD8: -/* 081908 7F04CDD8 8E310024 */ lw $s1, 0x24($s1) -.L7F04CDDC: -/* 08190C 7F04CDDC 5620FFE3 */ bnezl $s1, .L7F04CD6C -/* 081910 7F04CDE0 92220000 */ lbu $v0, ($s1) -.L7F04CDE4: -/* 081914 7F04CDE4 8FBF0034 */ lw $ra, 0x34($sp) -.L7F04CDE8: -/* 081918 7F04CDE8 8FB00018 */ lw $s0, 0x18($sp) -/* 08191C 7F04CDEC 8FB1001C */ lw $s1, 0x1c($sp) -/* 081920 7F04CDF0 8FB20020 */ lw $s2, 0x20($sp) -/* 081924 7F04CDF4 8FB30024 */ lw $s3, 0x24($sp) -/* 081928 7F04CDF8 8FB40028 */ lw $s4, 0x28($sp) -/* 08192C 7F04CDFC 8FB5002C */ lw $s5, 0x2c($sp) -/* 081930 7F04CE00 8FB60030 */ lw $s6, 0x30($sp) -/* 081934 7F04CE04 03E00008 */ jr $ra -/* 081938 7F04CE08 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void object_explosion_related(void) { - -} -#else -GLOBAL_ASM( -.text -glabel object_explosion_related -/* 08193C 7F04CE0C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 081940 7F04CE10 AFBF002C */ sw $ra, 0x2c($sp) -/* 081944 7F04CE14 AFB10028 */ sw $s1, 0x28($sp) -/* 081948 7F04CE18 AFB00024 */ sw $s0, 0x24($sp) -/* 08194C 7F04CE1C AFA5004C */ sw $a1, 0x4c($sp) -/* 081950 7F04CE20 AFA60050 */ sw $a2, 0x50($sp) -/* 081954 7F04CE24 C4860070 */ lwc1 $f6, 0x70($a0) -/* 081958 7F04CE28 C4840074 */ lwc1 $f4, 0x74($a0) -/* 08195C 7F04CE2C 00808825 */ move $s1, $a0 -/* 081960 7F04CE30 4606203C */ c.lt.s $f4, $f6 -/* 081964 7F04CE34 00000000 */ nop -/* 081968 7F04CE38 45030006 */ bc1tl .L7F04CE54 -/* 08196C 7F04CE3C 862E0004 */ lh $t6, 4($s1) -/* 081970 7F04CE40 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 081974 7F04CE44 00000000 */ nop -/* 081978 7F04CE48 504000C4 */ beql $v0, $zero, .L7F04D15C -/* 08197C 7F04CE4C 8FBF002C */ lw $ra, 0x2c($sp) -/* 081980 7F04CE50 862E0004 */ lh $t6, 4($s1) -.L7F04CE54: -/* 081984 7F04CE54 3C188004 */ lui $t8, %hi(object_explosion_details) -/* 081988 7F04CE58 8E230010 */ lw $v1, 0x10($s1) -/* 08198C 7F04CE5C 000E78C0 */ sll $t7, $t6, 3 -/* 081990 7F04CE60 01EE7823 */ subu $t7, $t7, $t6 -/* 081994 7F04CE64 000F7840 */ sll $t7, $t7, 1 -/* 081998 7F04CE68 030FC021 */ addu $t8, $t8, $t7 -/* 08199C 7F04CE6C 8718B224 */ lh $t8, %lo(object_explosion_details)($t8) -/* 0819A0 7F04CE70 02202025 */ move $a0, $s1 -/* 0819A4 7F04CE74 00608025 */ move $s0, $v1 -/* 0819A8 7F04CE78 A7B8003E */ sh $t8, 0x3e($sp) -/* 0819AC 7F04CE7C 8C79001C */ lw $t9, 0x1c($v1) -/* 0819B0 7F04CE80 53200007 */ beql $t9, $zero, .L7F04CEA0 -/* 0819B4 7F04CE84 8E080014 */ lw $t0, 0x14($s0) -/* 0819B8 7F04CE88 8E02001C */ lw $v0, 0x1c($s0) -/* 0819BC 7F04CE8C 00408025 */ move $s0, $v0 -.L7F04CE90: -/* 0819C0 7F04CE90 8C42001C */ lw $v0, 0x1c($v0) -/* 0819C4 7F04CE94 5440FFFE */ bnezl $v0, .L7F04CE90 -/* 0819C8 7F04CE98 00408025 */ move $s0, $v0 -/* 0819CC 7F04CE9C 8E080014 */ lw $t0, 0x14($s0) -.L7F04CEA0: -/* 0819D0 7F04CEA0 AFA30044 */ sw $v1, 0x44($sp) -/* 0819D4 7F04CEA4 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 0819D8 7F04CEA8 AFA80038 */ sw $t0, 0x38($sp) -/* 0819DC 7F04CEAC 14400056 */ bnez $v0, .L7F04D008 -/* 0819E0 7F04CEB0 00000000 */ nop -/* 0819E4 7F04CEB4 92290002 */ lbu $t1, 2($s1) -/* 0819E8 7F04CEB8 44804000 */ mtc1 $zero, $f8 -/* 0819EC 7F04CEBC 352A0080 */ ori $t2, $t1, 0x80 -/* 0819F0 7F04CEC0 A22A0002 */ sb $t2, 2($s1) -/* 0819F4 7F04CEC4 E6280070 */ swc1 $f8, 0x70($s1) -/* 0819F8 7F04CEC8 8FAB0038 */ lw $t3, 0x38($sp) -/* 0819FC 7F04CECC 5160002B */ beql $t3, $zero, .L7F04CF7C -/* 081A00 7F04CED0 8E2C000C */ lw $t4, 0xc($s1) -/* 081A04 7F04CED4 920C0001 */ lbu $t4, 1($s0) -/* 081A08 7F04CED8 8FA2004C */ lw $v0, 0x4c($sp) -/* 081A0C 7F04CEDC 27A40038 */ addiu $a0, $sp, 0x38 -/* 081A10 7F04CEE0 318D0008 */ andi $t5, $t4, 8 -/* 081A14 7F04CEE4 55A00019 */ bnezl $t5, .L7F04CF4C -/* 081A18 7F04CEE8 8E060014 */ lw $a2, 0x14($s0) -/* 081A1C 7F04CEEC C44A0008 */ lwc1 $f10, 8($v0) -/* 081A20 7F04CEF0 8E050008 */ lw $a1, 8($s0) -/* 081A24 7F04CEF4 8E060010 */ lw $a2, 0x10($s0) -/* 081A28 7F04CEF8 8C470000 */ lw $a3, ($v0) -/* 081A2C 7F04CEFC 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 081A30 7F04CF00 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 081A34 7F04CF04 10400010 */ beqz $v0, .L7F04CF48 -/* 081A38 7F04CF08 8FA40044 */ lw $a0, 0x44($sp) -/* 081A3C 7F04CF0C 8E2E0008 */ lw $t6, 8($s1) -/* 081A40 7F04CF10 8FB90050 */ lw $t9, 0x50($sp) -/* 081A44 7F04CF14 2608002C */ addiu $t0, $s0, 0x2c -/* 081A48 7F04CF18 31CF000E */ andi $t7, $t6, 0xe -/* 081A4C 7F04CF1C 2DF80001 */ sltiu $t8, $t7, 1 -/* 081A50 7F04CF20 AFB80010 */ sw $t8, 0x10($sp) -/* 081A54 7F04CF24 AFA80018 */ sw $t0, 0x18($sp) -/* 081A58 7F04CF28 AFA0001C */ sw $zero, 0x1c($sp) -/* 081A5C 7F04CF2C 8FA5004C */ lw $a1, 0x4c($sp) -/* 081A60 7F04CF30 8FA60038 */ lw $a2, 0x38($sp) -/* 081A64 7F04CF34 87A7003E */ lh $a3, 0x3e($sp) -/* 081A68 7F04CF38 0FC27094 */ jal sub_GAME_7F09C250 -/* 081A6C 7F04CF3C AFB90014 */ sw $t9, 0x14($sp) -/* 081A70 7F04CF40 1000000E */ b .L7F04CF7C -/* 081A74 7F04CF44 8E2C000C */ lw $t4, 0xc($s1) -.L7F04CF48: -/* 081A78 7F04CF48 8E060014 */ lw $a2, 0x14($s0) -.L7F04CF4C: -/* 081A7C 7F04CF4C 8FA90050 */ lw $t1, 0x50($sp) -/* 081A80 7F04CF50 260A002C */ addiu $t2, $s0, 0x2c -/* 081A84 7F04CF54 240B0001 */ li $t3, 1 -/* 081A88 7F04CF58 AFAB001C */ sw $t3, 0x1c($sp) -/* 081A8C 7F04CF5C AFAA0018 */ sw $t2, 0x18($sp) -/* 081A90 7F04CF60 AFA00010 */ sw $zero, 0x10($sp) -/* 081A94 7F04CF64 8FA40044 */ lw $a0, 0x44($sp) -/* 081A98 7F04CF68 8FA5004C */ lw $a1, 0x4c($sp) -/* 081A9C 7F04CF6C 87A7003E */ lh $a3, 0x3e($sp) -/* 081AA0 7F04CF70 0FC27094 */ jal sub_GAME_7F09C250 -/* 081AA4 7F04CF74 AFA90014 */ sw $t1, 0x14($sp) -/* 081AA8 7F04CF78 8E2C000C */ lw $t4, 0xc($s1) -.L7F04CF7C: -/* 081AAC 7F04CF7C 02202025 */ move $a0, $s1 -/* 081AB0 7F04CF80 318D2000 */ andi $t5, $t4, 0x2000 -/* 081AB4 7F04CF84 11A00005 */ beqz $t5, .L7F04CF9C -/* 081AB8 7F04CF88 00000000 */ nop -/* 081ABC 7F04CF8C 8E2E0064 */ lw $t6, 0x64($s1) -/* 081AC0 7F04CF90 35CF0004 */ ori $t7, $t6, 4 -/* 081AC4 7F04CF94 10000070 */ b .L7F04D158 -/* 081AC8 7F04CF98 AE2F0064 */ sw $t7, 0x64($s1) -.L7F04CF9C: -/* 081ACC 7F04CF9C 0FC12D84 */ jal sub_GAME_7F04B610 -/* 081AD0 7F04CFA0 24050001 */ li $a1, 1 -/* 081AD4 7F04CFA4 8FA40044 */ lw $a0, 0x44($sp) -/* 081AD8 7F04CFA8 5604006C */ bnel $s0, $a0, .L7F04D15C -/* 081ADC 7F04CFAC 8FBF002C */ lw $ra, 0x2c($sp) -/* 081AE0 7F04CFB0 0FC13341 */ jal sub_GAME_7F04CD04 -/* 081AE4 7F04CFB4 8FA50050 */ lw $a1, 0x50($sp) -/* 081AE8 7F04CFB8 8E220064 */ lw $v0, 0x64($s1) -/* 081AEC 7F04CFBC 30588000 */ andi $t8, $v0, 0x8000 -/* 081AF0 7F04CFC0 5300000A */ beql $t8, $zero, .L7F04CFEC -/* 081AF4 7F04CFC4 3C010001 */ lui $at, 1 -/* 081AF8 7F04CFC8 0C002914 */ jal get_random_value -/* 081AFC 7F04CFCC 00000000 */ nop -/* 081B00 7F04CFD0 24010003 */ li $at, 3 -/* 081B04 7F04CFD4 0041001B */ divu $zero, $v0, $at -/* 081B08 7F04CFD8 0000C810 */ mfhi $t9 -/* 081B0C 7F04CFDC 5720005F */ bnezl $t9, .L7F04D15C -/* 081B10 7F04CFE0 8FBF002C */ lw $ra, 0x2c($sp) -/* 081B14 7F04CFE4 8E220064 */ lw $v0, 0x64($s1) -/* 081B18 7F04CFE8 3C010001 */ lui $at, 1 -.L7F04CFEC: -/* 081B1C 7F04CFEC 00414025 */ or $t0, $v0, $at -/* 081B20 7F04CFF0 AE280064 */ sw $t0, 0x64($s1) -/* 081B24 7F04CFF4 8FA50050 */ lw $a1, 0x50($sp) -/* 081B28 7F04CFF8 0FC13291 */ jal sub_GAME_7F04CA44 -/* 081B2C 7F04CFFC 02202025 */ move $a0, $s1 -/* 081B30 7F04D000 10000056 */ b .L7F04D15C -/* 081B34 7F04D004 8FBF002C */ lw $ra, 0x2c($sp) -.L7F04D008: -/* 081B38 7F04D008 0FC0FFD8 */ jal sub_GAME_7F03FF60 -/* 081B3C 7F04D00C 02202025 */ move $a0, $s1 -/* 081B40 7F04D010 30490003 */ andi $t1, $v0, 3 -/* 081B44 7F04D014 15200031 */ bnez $t1, .L7F04D0DC -/* 081B48 7F04D018 AFA20034 */ sw $v0, 0x34($sp) -/* 081B4C 7F04D01C 00025083 */ sra $t2, $v0, 2 -/* 081B50 7F04D020 25450001 */ addiu $a1, $t2, 1 -/* 081B54 7F04D024 0FC12D84 */ jal sub_GAME_7F04B610 -/* 081B58 7F04D028 02202025 */ move $a0, $s1 -/* 081B5C 7F04D02C 8FAB0038 */ lw $t3, 0x38($sp) -/* 081B60 7F04D030 1160002A */ beqz $t3, .L7F04D0DC -/* 081B64 7F04D034 00000000 */ nop -/* 081B68 7F04D038 920C0001 */ lbu $t4, 1($s0) -/* 081B6C 7F04D03C 8FA2004C */ lw $v0, 0x4c($sp) -/* 081B70 7F04D040 27A40038 */ addiu $a0, $sp, 0x38 -/* 081B74 7F04D044 318D0008 */ andi $t5, $t4, 8 -/* 081B78 7F04D048 55A00019 */ bnezl $t5, .L7F04D0B0 -/* 081B7C 7F04D04C 8E060014 */ lw $a2, 0x14($s0) -/* 081B80 7F04D050 C4500008 */ lwc1 $f16, 8($v0) -/* 081B84 7F04D054 8E050008 */ lw $a1, 8($s0) -/* 081B88 7F04D058 8E060010 */ lw $a2, 0x10($s0) -/* 081B8C 7F04D05C 8C470000 */ lw $a3, ($v0) -/* 081B90 7F04D060 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 081B94 7F04D064 E7B00010 */ swc1 $f16, 0x10($sp) -/* 081B98 7F04D068 10400010 */ beqz $v0, .L7F04D0AC -/* 081B9C 7F04D06C 8FA40044 */ lw $a0, 0x44($sp) -/* 081BA0 7F04D070 8E2E0008 */ lw $t6, 8($s1) -/* 081BA4 7F04D074 8FB90050 */ lw $t9, 0x50($sp) -/* 081BA8 7F04D078 2608002C */ addiu $t0, $s0, 0x2c -/* 081BAC 7F04D07C 31CF000E */ andi $t7, $t6, 0xe -/* 081BB0 7F04D080 2DF80001 */ sltiu $t8, $t7, 1 -/* 081BB4 7F04D084 AFB80010 */ sw $t8, 0x10($sp) -/* 081BB8 7F04D088 AFA80018 */ sw $t0, 0x18($sp) -/* 081BBC 7F04D08C AFA0001C */ sw $zero, 0x1c($sp) -/* 081BC0 7F04D090 8FA5004C */ lw $a1, 0x4c($sp) -/* 081BC4 7F04D094 8FA60038 */ lw $a2, 0x38($sp) -/* 081BC8 7F04D098 24070010 */ li $a3, 16 -/* 081BCC 7F04D09C 0FC27094 */ jal sub_GAME_7F09C250 -/* 081BD0 7F04D0A0 AFB90014 */ sw $t9, 0x14($sp) -/* 081BD4 7F04D0A4 1000000D */ b .L7F04D0DC -/* 081BD8 7F04D0A8 00000000 */ nop -.L7F04D0AC: -/* 081BDC 7F04D0AC 8E060014 */ lw $a2, 0x14($s0) -.L7F04D0B0: -/* 081BE0 7F04D0B0 8FA90050 */ lw $t1, 0x50($sp) -/* 081BE4 7F04D0B4 260A002C */ addiu $t2, $s0, 0x2c -/* 081BE8 7F04D0B8 240B0001 */ li $t3, 1 -/* 081BEC 7F04D0BC AFAB001C */ sw $t3, 0x1c($sp) -/* 081BF0 7F04D0C0 AFAA0018 */ sw $t2, 0x18($sp) -/* 081BF4 7F04D0C4 AFA00010 */ sw $zero, 0x10($sp) -/* 081BF8 7F04D0C8 8FA40044 */ lw $a0, 0x44($sp) -/* 081BFC 7F04D0CC 8FA5004C */ lw $a1, 0x4c($sp) -/* 081C00 7F04D0D0 24070010 */ li $a3, 16 -/* 081C04 7F04D0D4 0FC27094 */ jal sub_GAME_7F09C250 -/* 081C08 7F04D0D8 AFA90014 */ sw $t1, 0x14($sp) -.L7F04D0DC: -/* 081C0C 7F04D0DC 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 081C10 7F04D0E0 02202025 */ move $a0, $s1 -/* 081C14 7F04D0E4 58400012 */ blezl $v0, .L7F04D130 -/* 081C18 7F04D0E8 8FA90034 */ lw $t1, 0x34($sp) -/* 081C1C 7F04D0EC 92220002 */ lbu $v0, 2($s1) -/* 081C20 7F04D0F0 304C0004 */ andi $t4, $v0, 4 -/* 081C24 7F04D0F4 5180000E */ beql $t4, $zero, .L7F04D130 -/* 081C28 7F04D0F8 8FA90034 */ lw $t1, 0x34($sp) -/* 081C2C 7F04D0FC 8E2D0064 */ lw $t5, 0x64($s1) -/* 081C30 7F04D100 344F0010 */ ori $t7, $v0, 0x10 -/* 081C34 7F04D104 3058FFEF */ andi $t8, $v0, 0xffef -/* 081C38 7F04D108 31AE1000 */ andi $t6, $t5, 0x1000 -/* 081C3C 7F04D10C 51C00004 */ beql $t6, $zero, .L7F04D120 -/* 081C40 7F04D110 A2380002 */ sb $t8, 2($s1) -/* 081C44 7F04D114 10000002 */ b .L7F04D120 -/* 081C48 7F04D118 A22F0002 */ sb $t7, 2($s1) -/* 081C4C 7F04D11C A2380002 */ sb $t8, 2($s1) -.L7F04D120: -/* 081C50 7F04D120 8FA80044 */ lw $t0, 0x44($sp) -/* 081C54 7F04D124 241904B0 */ li $t9, 1200 -/* 081C58 7F04D128 A5190002 */ sh $t9, 2($t0) -/* 081C5C 7F04D12C 8FA90034 */ lw $t1, 0x34($sp) -.L7F04D130: -/* 081C60 7F04D130 2921000C */ slti $at, $t1, 0xc -/* 081C64 7F04D134 54200009 */ bnezl $at, .L7F04D15C -/* 081C68 7F04D138 8FBF002C */ lw $ra, 0x2c($sp) -/* 081C6C 7F04D13C 8E2A0064 */ lw $t2, 0x64($s1) -/* 081C70 7F04D140 8E2C0008 */ lw $t4, 8($s1) -/* 081C74 7F04D144 2401FEFF */ li $at, -257 -/* 081C78 7F04D148 354B1000 */ ori $t3, $t2, 0x1000 -/* 081C7C 7F04D14C 01816824 */ and $t5, $t4, $at -/* 081C80 7F04D150 AE2B0064 */ sw $t3, 0x64($s1) -/* 081C84 7F04D154 AE2D0008 */ sw $t5, 8($s1) -.L7F04D158: -/* 081C88 7F04D158 8FBF002C */ lw $ra, 0x2c($sp) -.L7F04D15C: -/* 081C8C 7F04D15C 8FB00024 */ lw $s0, 0x24($sp) -/* 081C90 7F04D160 8FB10028 */ lw $s1, 0x28($sp) -/* 081C94 7F04D164 03E00008 */ jr $ra -/* 081C98 7F04D168 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04D16C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04D16C -/* 081C9C 7F04D16C 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 081CA0 7F04D170 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 081CA4 7F04D174 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 081CA8 7F04D178 AFBE0050 */ sw $fp, 0x50($sp) -/* 081CAC 7F04D17C AFB7004C */ sw $s7, 0x4c($sp) -/* 081CB0 7F04D180 AFB60048 */ sw $s6, 0x48($sp) -/* 081CB4 7F04D184 AFB50044 */ sw $s5, 0x44($sp) -/* 081CB8 7F04D188 AFB40040 */ sw $s4, 0x40($sp) -/* 081CBC 7F04D18C AFB3003C */ sw $s3, 0x3c($sp) -/* 081CC0 7F04D190 AFB10034 */ sw $s1, 0x34($sp) -/* 081CC4 7F04D194 AFB00030 */ sw $s0, 0x30($sp) -/* 081CC8 7F04D198 4481A000 */ mtc1 $at, $f20 -/* 081CCC 7F04D19C 00E08825 */ move $s1, $a3 -/* 081CD0 7F04D1A0 0080B825 */ move $s7, $a0 -/* 081CD4 7F04D1A4 00C0F025 */ move $fp, $a2 -/* 081CD8 7F04D1A8 AFBF0054 */ sw $ra, 0x54($sp) -/* 081CDC 7F04D1AC AFB20038 */ sw $s2, 0x38($sp) -/* 081CE0 7F04D1B0 AFA50154 */ sw $a1, 0x154($sp) -/* 081CE4 7F04D1B4 AFA00110 */ sw $zero, 0x110($sp) -/* 081CE8 7F04D1B8 00E09825 */ move $s3, $a3 -/* 081CEC 7F04D1BC 8FB0014C */ lw $s0, 0x14c($sp) -/* 081CF0 7F04D1C0 8FB40168 */ lw $s4, 0x168($sp) -/* 081CF4 7F04D1C4 241500FD */ li $s5, 253 -/* 081CF8 7F04D1C8 27B600B0 */ addiu $s6, $sp, 0xb0 -.L7F04D1CC: -/* 081CFC 7F04D1CC 82220000 */ lb $v0, ($s1) -/* 081D00 7F04D1D0 2401FFB8 */ li $at, -72 -/* 081D04 7F04D1D4 8FAE0160 */ lw $t6, 0x160($sp) -/* 081D08 7F04D1D8 54410007 */ bnel $v0, $at, .L7F04D1F8 -/* 081D0C 7F04D1DC 24010004 */ li $at, 4 -/* 081D10 7F04D1E0 11C001E5 */ beqz $t6, .L7F04D978 -/* 081D14 7F04D1E4 01C09825 */ move $s3, $t6 -/* 081D18 7F04D1E8 01C08825 */ move $s1, $t6 -/* 081D1C 7F04D1EC 1000FFF7 */ b .L7F04D1CC -/* 081D20 7F04D1F0 AFA00160 */ sw $zero, 0x160($sp) -/* 081D24 7F04D1F4 24010004 */ li $at, 4 -.L7F04D1F8: -/* 081D28 7F04D1F8 1441000C */ bne $v0, $at, .L7F04D22C -/* 081D2C 7F04D1FC 8FB90164 */ lw $t9, 0x164($sp) -/* 081D30 7F04D200 92220001 */ lbu $v0, 1($s1) -/* 081D34 7F04D204 8E230004 */ lw $v1, 4($s1) -/* 081D38 7F04D208 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 081D3C 7F04D20C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 081D40 7F04D210 304F000F */ andi $t7, $v0, 0xf -/* 081D44 7F04D214 0061C024 */ and $t8, $v1, $at -/* 081D48 7F04D218 03384021 */ addu $t0, $t9, $t8 -/* 081D4C 7F04D21C 000F4900 */ sll $t1, $t7, 4 -/* 081D50 7F04D220 01098023 */ subu $s0, $t0, $t1 -/* 081D54 7F04D224 1000FFE9 */ b .L7F04D1CC -/* 081D58 7F04D228 26310008 */ addiu $s1, $s1, 8 -.L7F04D22C: -/* 081D5C 7F04D22C 2401FFBF */ li $at, -65 -/* 081D60 7F04D230 144100E2 */ bne $v0, $at, .L7F04D5BC -/* 081D64 7F04D234 2403000A */ li $v1, 10 -/* 081D68 7F04D238 3C0B8003 */ lui $t3, %hi(D_8003204C) -/* 081D6C 7F04D23C 256B204C */ addiu $t3, %lo(D_8003204C) # addiu $t3, $t3, 0x204c -/* 081D70 7F04D240 8D610000 */ lw $at, ($t3) -/* 081D74 7F04D244 27AA00E8 */ addiu $t2, $sp, 0xe8 -/* 081D78 7F04D248 8D6D0004 */ lw $t5, 4($t3) -/* 081D7C 7F04D24C AD410000 */ sw $at, ($t2) -/* 081D80 7F04D250 8D610008 */ lw $at, 8($t3) -/* 081D84 7F04D254 3C0F8003 */ lui $t7, %hi(D_80032058) -/* 081D88 7F04D258 25EF2058 */ addiu $t7, %lo(D_80032058) # addiu $t7, $t7, 0x2058 -/* 081D8C 7F04D25C AD4D0004 */ sw $t5, 4($t2) -/* 081D90 7F04D260 AD410008 */ sw $at, 8($t2) -/* 081D94 7F04D264 8DE10000 */ lw $at, ($t7) -/* 081D98 7F04D268 27AE00DC */ addiu $t6, $sp, 0xdc -/* 081D9C 7F04D26C 8DF90004 */ lw $t9, 4($t7) -/* 081DA0 7F04D270 ADC10000 */ sw $at, ($t6) -/* 081DA4 7F04D274 8DE10008 */ lw $at, 8($t7) -/* 081DA8 7F04D278 ADD90004 */ sw $t9, 4($t6) -/* 081DAC 7F04D27C 00001025 */ move $v0, $zero -/* 081DB0 7F04D280 ADC10008 */ sw $at, 8($t6) -/* 081DB4 7F04D284 92280005 */ lbu $t0, 5($s1) -/* 081DB8 7F04D288 27A400F8 */ addiu $a0, $sp, 0xf8 -/* 081DBC 7F04D28C 03C02825 */ move $a1, $fp -/* 081DC0 7F04D290 0103001A */ div $zero, $t0, $v1 -/* 081DC4 7F04D294 00004812 */ mflo $t1 -/* 081DC8 7F04D298 AFA900F8 */ sw $t1, 0xf8($sp) -/* 081DCC 7F04D29C 922C0006 */ lbu $t4, 6($s1) -/* 081DD0 7F04D2A0 14600002 */ bnez $v1, .L7F04D2AC -/* 081DD4 7F04D2A4 00000000 */ nop -/* 081DD8 7F04D2A8 0007000D */ break 7 -.L7F04D2AC: -/* 081DDC 7F04D2AC 2401FFFF */ li $at, -1 -/* 081DE0 7F04D2B0 14610004 */ bne $v1, $at, .L7F04D2C4 -/* 081DE4 7F04D2B4 3C018000 */ lui $at, 0x8000 -/* 081DE8 7F04D2B8 15010002 */ bne $t0, $at, .L7F04D2C4 -/* 081DEC 7F04D2BC 00000000 */ nop -/* 081DF0 7F04D2C0 0006000D */ break 6 -.L7F04D2C4: -/* 081DF4 7F04D2C4 0183001A */ div $zero, $t4, $v1 -/* 081DF8 7F04D2C8 00005012 */ mflo $t2 -/* 081DFC 7F04D2CC AFAA00FC */ sw $t2, 0xfc($sp) -/* 081E00 7F04D2D0 922B0007 */ lbu $t3, 7($s1) -/* 081E04 7F04D2D4 14600002 */ bnez $v1, .L7F04D2E0 -/* 081E08 7F04D2D8 00000000 */ nop -/* 081E0C 7F04D2DC 0007000D */ break 7 -.L7F04D2E0: -/* 081E10 7F04D2E0 2401FFFF */ li $at, -1 -/* 081E14 7F04D2E4 14610004 */ bne $v1, $at, .L7F04D2F8 -/* 081E18 7F04D2E8 3C018000 */ lui $at, 0x8000 -/* 081E1C 7F04D2EC 15810002 */ bne $t4, $at, .L7F04D2F8 -/* 081E20 7F04D2F0 00000000 */ nop -/* 081E24 7F04D2F4 0006000D */ break 6 -.L7F04D2F8: -/* 081E28 7F04D2F8 0163001A */ div $zero, $t3, $v1 -/* 081E2C 7F04D2FC 00006812 */ mflo $t5 -/* 081E30 7F04D300 AFAD0100 */ sw $t5, 0x100($sp) -/* 081E34 7F04D304 14600002 */ bnez $v1, .L7F04D310 -/* 081E38 7F04D308 00000000 */ nop -/* 081E3C 7F04D30C 0007000D */ break 7 -.L7F04D310: -/* 081E40 7F04D310 2401FFFF */ li $at, -1 -/* 081E44 7F04D314 14610004 */ bne $v1, $at, .L7F04D328 -/* 081E48 7F04D318 3C018000 */ lui $at, 0x8000 -/* 081E4C 7F04D31C 15610002 */ bne $t3, $at, .L7F04D328 -/* 081E50 7F04D320 00000000 */ nop -/* 081E54 7F04D324 0006000D */ break 6 -.L7F04D328: -/* 081E58 7F04D328 8C980000 */ lw $t8, ($a0) -.L7F04D32C: -/* 081E5C 7F04D32C 8FAF00E8 */ lw $t7, 0xe8($sp) -/* 081E60 7F04D330 24840004 */ addiu $a0, $a0, 4 -/* 081E64 7F04D334 00187100 */ sll $t6, $t8, 4 -/* 081E68 7F04D338 020E1821 */ addu $v1, $s0, $t6 -/* 081E6C 7F04D33C 84620000 */ lh $v0, ($v1) -/* 081E70 7F04D340 27AB0104 */ addiu $t3, $sp, 0x104 -/* 081E74 7F04D344 004F082A */ slt $at, $v0, $t7 -/* 081E78 7F04D348 50200004 */ beql $at, $zero, .L7F04D35C -/* 081E7C 7F04D34C 8FB900DC */ lw $t9, 0xdc($sp) -/* 081E80 7F04D350 AFA200E8 */ sw $v0, 0xe8($sp) -/* 081E84 7F04D354 84620000 */ lh $v0, ($v1) -/* 081E88 7F04D358 8FB900DC */ lw $t9, 0xdc($sp) -.L7F04D35C: -/* 081E8C 7F04D35C 0322082A */ slt $at, $t9, $v0 -/* 081E90 7F04D360 50200003 */ beql $at, $zero, .L7F04D370 -/* 081E94 7F04D364 84620002 */ lh $v0, 2($v1) -/* 081E98 7F04D368 AFA200DC */ sw $v0, 0xdc($sp) -/* 081E9C 7F04D36C 84620002 */ lh $v0, 2($v1) -.L7F04D370: -/* 081EA0 7F04D370 8FA800EC */ lw $t0, 0xec($sp) -/* 081EA4 7F04D374 0048082A */ slt $at, $v0, $t0 -/* 081EA8 7F04D378 50200004 */ beql $at, $zero, .L7F04D38C -/* 081EAC 7F04D37C 8FA900E0 */ lw $t1, 0xe0($sp) -/* 081EB0 7F04D380 AFA200EC */ sw $v0, 0xec($sp) -/* 081EB4 7F04D384 84620002 */ lh $v0, 2($v1) -/* 081EB8 7F04D388 8FA900E0 */ lw $t1, 0xe0($sp) -.L7F04D38C: -/* 081EBC 7F04D38C 0122082A */ slt $at, $t1, $v0 -/* 081EC0 7F04D390 50200003 */ beql $at, $zero, .L7F04D3A0 -/* 081EC4 7F04D394 84620004 */ lh $v0, 4($v1) -/* 081EC8 7F04D398 AFA200E0 */ sw $v0, 0xe0($sp) -/* 081ECC 7F04D39C 84620004 */ lh $v0, 4($v1) -.L7F04D3A0: -/* 081ED0 7F04D3A0 8FAC00F0 */ lw $t4, 0xf0($sp) -/* 081ED4 7F04D3A4 004C082A */ slt $at, $v0, $t4 -/* 081ED8 7F04D3A8 50200004 */ beql $at, $zero, .L7F04D3BC -/* 081EDC 7F04D3AC 8FAA00E4 */ lw $t2, 0xe4($sp) -/* 081EE0 7F04D3B0 AFA200F0 */ sw $v0, 0xf0($sp) -/* 081EE4 7F04D3B4 84620004 */ lh $v0, 4($v1) -/* 081EE8 7F04D3B8 8FAA00E4 */ lw $t2, 0xe4($sp) -.L7F04D3BC: -/* 081EEC 7F04D3BC 0142082A */ slt $at, $t2, $v0 -/* 081EF0 7F04D3C0 10200002 */ beqz $at, .L7F04D3CC -/* 081EF4 7F04D3C4 00000000 */ nop -/* 081EF8 7F04D3C8 AFA200E4 */ sw $v0, 0xe4($sp) -.L7F04D3CC: -/* 081EFC 7F04D3CC 548BFFD7 */ bnel $a0, $t3, .L7F04D32C -/* 081F00 7F04D3D0 8C980000 */ lw $t8, ($a0) -/* 081F04 7F04D3D4 02E02025 */ move $a0, $s7 -/* 081F08 7F04D3D8 27A600E8 */ addiu $a2, $sp, 0xe8 -/* 081F0C 7F04D3DC 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 081F10 7F04D3E0 27A700DC */ addiu $a3, $sp, 0xdc -/* 081F14 7F04D3E4 10400162 */ beqz $v0, .L7F04D970 -/* 081F18 7F04D3E8 3C0D8003 */ lui $t5, %hi(D_80032064) -/* 081F1C 7F04D3EC 25AD2064 */ addiu $t5, %lo(D_80032064) # addiu $t5, $t5, 0x2064 -/* 081F20 7F04D3F0 8DA10000 */ lw $at, ($t5) -/* 081F24 7F04D3F4 27A700C4 */ addiu $a3, $sp, 0xc4 -/* 081F28 7F04D3F8 27B8011C */ addiu $t8, $sp, 0x11c -/* 081F2C 7F04D3FC ACE10000 */ sw $at, ($a3) -/* 081F30 7F04D400 8DAE0004 */ lw $t6, 4($t5) -/* 081F34 7F04D404 ACEE0004 */ sw $t6, 4($a3) -/* 081F38 7F04D408 8DA10008 */ lw $at, 8($t5) -/* 081F3C 7F04D40C ACE10008 */ sw $at, 8($a3) -/* 081F40 7F04D410 8FAC0100 */ lw $t4, 0x100($sp) -/* 081F44 7F04D414 8FA800FC */ lw $t0, 0xfc($sp) -/* 081F48 7F04D418 8FAF00F8 */ lw $t7, 0xf8($sp) -/* 081F4C 7F04D41C 8FAB0154 */ lw $t3, 0x154($sp) -/* 081F50 7F04D420 000C5100 */ sll $t2, $t4, 4 -/* 081F54 7F04D424 00084900 */ sll $t1, $t0, 4 -/* 081F58 7F04D428 000FC900 */ sll $t9, $t7, 4 -/* 081F5C 7F04D42C 02192021 */ addu $a0, $s0, $t9 -/* 081F60 7F04D430 02092821 */ addu $a1, $s0, $t1 -/* 081F64 7F04D434 020A3021 */ addu $a2, $s0, $t2 -/* 081F68 7F04D438 AFB8001C */ sw $t8, 0x1c($sp) -/* 081F6C 7F04D43C AFBE0018 */ sw $fp, 0x18($sp) -/* 081F70 7F04D440 AFB70010 */ sw $s7, 0x10($sp) -/* 081F74 7F04D444 0FC24A24 */ jal sub_GAME_7F092890 -/* 081F78 7F04D448 AFAB0014 */ sw $t3, 0x14($sp) -/* 081F7C 7F04D44C 10400148 */ beqz $v0, .L7F04D970 -/* 081F80 7F04D450 00000000 */ nop -/* 081F84 7F04D454 C7A4011C */ lwc1 $f4, 0x11c($sp) -/* 081F88 7F04D458 C6E80000 */ lwc1 $f8, ($s7) -/* 081F8C 7F04D45C C7B20120 */ lwc1 $f18, 0x120($sp) -/* 081F90 7F04D460 4600218D */ trunc.w.s $f6, $f4 -/* 081F94 7F04D464 92290000 */ lbu $t1, ($s1) -/* 081F98 7F04D468 02201025 */ move $v0, $s1 -/* 081F9C 7F04D46C 4600428D */ trunc.w.s $f10, $f8 -/* 081FA0 7F04D470 440E3000 */ mfc1 $t6, $f6 -/* 081FA4 7F04D474 C6E60004 */ lwc1 $f6, 4($s7) -/* 081FA8 7F04D478 4600910D */ trunc.w.s $f4, $f18 -/* 081FAC 7F04D47C 44195000 */ mfc1 $t9, $f10 -/* 081FB0 7F04D480 0271082B */ sltu $at, $s3, $s1 -/* 081FB4 7F04D484 4600320D */ trunc.w.s $f8, $f6 -/* 081FB8 7F04D488 01D94023 */ subu $t0, $t6, $t9 -/* 081FBC 7F04D48C 44888000 */ mtc1 $t0, $f16 -/* 081FC0 7F04D490 440C2000 */ mfc1 $t4, $f4 -/* 081FC4 7F04D494 440B4000 */ mfc1 $t3, $f8 -/* 081FC8 7F04D498 468080A0 */ cvt.s.w $f2, $f16 -/* 081FCC 7F04D49C C7B00124 */ lwc1 $f16, 0x124($sp) -/* 081FD0 7F04D4A0 C6E40008 */ lwc1 $f4, 8($s7) -/* 081FD4 7F04D4A4 018BC023 */ subu $t8, $t4, $t3 -/* 081FD8 7F04D4A8 44985000 */ mtc1 $t8, $f10 -/* 081FDC 7F04D4AC 4600848D */ trunc.w.s $f18, $f16 -/* 081FE0 7F04D4B0 4600218D */ trunc.w.s $f6, $f4 -/* 081FE4 7F04D4B4 440F9000 */ mfc1 $t7, $f18 -/* 081FE8 7F04D4B8 46805320 */ cvt.s.w $f12, $f10 -/* 081FEC 7F04D4BC 44193000 */ mfc1 $t9, $f6 -/* 081FF0 7F04D4C0 46021282 */ mul.s $f10, $f2, $f2 -/* 081FF4 7F04D4C4 01F94023 */ subu $t0, $t7, $t9 -/* 081FF8 7F04D4C8 44884000 */ mtc1 $t0, $f8 -/* 081FFC 7F04D4CC 460C6402 */ mul.s $f16, $f12, $f12 -/* 082000 7F04D4D0 12A9000A */ beq $s5, $t1, .L7F04D4FC -/* 082004 7F04D4D4 468043A0 */ cvt.s.w $f14, $f8 -/* 082008 7F04D4D8 10200008 */ beqz $at, .L7F04D4FC -/* 08200C 7F04D4DC 00000000 */ nop -/* 082010 7F04D4E0 904AFFF8 */ lbu $t2, -8($v0) -.L7F04D4E4: -/* 082014 7F04D4E4 2442FFF8 */ addiu $v0, $v0, -8 -/* 082018 7F04D4E8 0262082B */ sltu $at, $s3, $v0 -/* 08201C 7F04D4EC 12AA0003 */ beq $s5, $t2, .L7F04D4FC -/* 082020 7F04D4F0 00000000 */ nop -/* 082024 7F04D4F4 5420FFFB */ bnezl $at, .L7F04D4E4 -/* 082028 7F04D4F8 904AFFF8 */ lbu $t2, -8($v0) -.L7F04D4FC: -/* 08202C 7F04D4FC 460E7102 */ mul.s $f4, $f14, $f14 -/* 082030 7F04D500 54530004 */ bnel $v0, $s3, .L7F04D514 -/* 082034 7F04D504 8C430004 */ lw $v1, 4($v0) -/* 082038 7F04D508 10000006 */ b .L7F04D524 -/* 08203C 7F04D50C 2404FFFF */ li $a0, -1 -/* 082040 7F04D510 8C430004 */ lw $v1, 4($v0) -.L7F04D514: -/* 082044 7F04D514 3C018000 */ lui $at, 0x8000 -/* 082048 7F04D518 2463FFF8 */ addiu $v1, $v1, -8 -/* 08204C 7F04D51C 00616025 */ or $t4, $v1, $at -/* 082050 7F04D520 95840000 */ lhu $a0, ($t4) -.L7F04D524: -/* 082054 7F04D524 46105480 */ add.s $f18, $f10, $f16 -/* 082058 7F04D528 46049000 */ add.s $f0, $f18, $f4 -/* 08205C 7F04D52C 4614003C */ c.lt.s $f0, $f20 -/* 082060 7F04D530 00000000 */ nop -/* 082064 7F04D534 4500010E */ bc1f .L7F04D970 -/* 082068 7F04D538 00000000 */ nop -/* 08206C 7F04D53C C7A6011C */ lwc1 $f6, 0x11c($sp) -/* 082070 7F04D540 240C0001 */ li $t4, 1 -/* 082074 7F04D544 46000506 */ mov.s $f20, $f0 -/* 082078 7F04D548 E6860000 */ swc1 $f6, ($s4) -/* 08207C 7F04D54C C7A80120 */ lwc1 $f8, 0x120($sp) -/* 082080 7F04D550 E6880004 */ swc1 $f8, 4($s4) -/* 082084 7F04D554 C7AA0124 */ lwc1 $f10, 0x124($sp) -/* 082088 7F04D558 E68A0008 */ swc1 $f10, 8($s4) -/* 08208C 7F04D55C C7B00128 */ lwc1 $f16, 0x128($sp) -/* 082090 7F04D560 E690000C */ swc1 $f16, 0xc($s4) -/* 082094 7F04D564 C7B2012C */ lwc1 $f18, 0x12c($sp) -/* 082098 7F04D568 E6920010 */ swc1 $f18, 0x10($s4) -/* 08209C 7F04D56C C7A40130 */ lwc1 $f4, 0x130($sp) -/* 0820A0 7F04D570 E6840014 */ swc1 $f4, 0x14($s4) -/* 0820A4 7F04D574 8FAB00F8 */ lw $t3, 0xf8($sp) -/* 0820A8 7F04D578 000BC100 */ sll $t8, $t3, 4 -/* 0820AC 7F04D57C 03106821 */ addu $t5, $t8, $s0 -/* 0820B0 7F04D580 AE8D0018 */ sw $t5, 0x18($s4) -/* 0820B4 7F04D584 8FAE00FC */ lw $t6, 0xfc($sp) -/* 0820B8 7F04D588 000E7900 */ sll $t7, $t6, 4 -/* 0820BC 7F04D58C 01F0C821 */ addu $t9, $t7, $s0 -/* 0820C0 7F04D590 AE99001C */ sw $t9, 0x1c($s4) -/* 0820C4 7F04D594 8FA80100 */ lw $t0, 0x100($sp) -/* 0820C8 7F04D598 A684002A */ sh $a0, 0x2a($s4) -/* 0820CC 7F04D59C AE910024 */ sw $s1, 0x24($s4) -/* 0820D0 7F04D5A0 00084900 */ sll $t1, $t0, 4 -/* 0820D4 7F04D5A4 01305021 */ addu $t2, $t1, $s0 -/* 0820D8 7F04D5A8 AE8A0020 */ sw $t2, 0x20($s4) -/* 0820DC 7F04D5AC A6800028 */ sh $zero, 0x28($s4) -/* 0820E0 7F04D5B0 AFAC0110 */ sw $t4, 0x110($sp) -/* 0820E4 7F04D5B4 1000FF05 */ b .L7F04D1CC -/* 0820E8 7F04D5B8 26310008 */ addiu $s1, $s1, 8 -.L7F04D5BC: -/* 0820EC 7F04D5BC 2401FFB1 */ li $at, -79 -/* 0820F0 7F04D5C0 144100EB */ bne $v0, $at, .L7F04D970 -/* 0820F4 7F04D5C4 00000000 */ nop -/* 0820F8 7F04D5C8 00009025 */ move $s2, $zero -.L7F04D5CC: -/* 0820FC 7F04D5CC 3C188003 */ lui $t8, %hi(D_80032070) -/* 082100 7F04D5D0 27182070 */ addiu $t8, %lo(D_80032070) # addiu $t8, $t8, 0x2070 -/* 082104 7F04D5D4 8F010000 */ lw $at, ($t8) -/* 082108 7F04D5D8 27AB0094 */ addiu $t3, $sp, 0x94 -/* 08210C 7F04D5DC 8F0E0004 */ lw $t6, 4($t8) -/* 082110 7F04D5E0 AD610000 */ sw $at, ($t3) -/* 082114 7F04D5E4 8F010008 */ lw $at, 8($t8) -/* 082118 7F04D5E8 3C198003 */ lui $t9, %hi(D_8003207C) -/* 08211C 7F04D5EC 2739207C */ addiu $t9, %lo(D_8003207C) # addiu $t9, $t9, 0x207c -/* 082120 7F04D5F0 AD6E0004 */ sw $t6, 4($t3) -/* 082124 7F04D5F4 AD610008 */ sw $at, 8($t3) -/* 082128 7F04D5F8 8F210000 */ lw $at, ($t9) -/* 08212C 7F04D5FC 27AF0088 */ addiu $t7, $sp, 0x88 -/* 082130 7F04D600 8F290004 */ lw $t1, 4($t9) -/* 082134 7F04D604 ADE10000 */ sw $at, ($t7) -/* 082138 7F04D608 8F210008 */ lw $at, 8($t9) -/* 08213C 7F04D60C ADE90004 */ sw $t1, 4($t7) -/* 082140 7F04D610 1640000B */ bnez $s2, .L7F04D640 -/* 082144 7F04D614 ADE10008 */ sw $at, 8($t7) -/* 082148 7F04D618 8E2A0004 */ lw $t2, 4($s1) -/* 08214C 7F04D61C 314C000F */ andi $t4, $t2, 0xf -/* 082150 7F04D620 AFAC00A4 */ sw $t4, 0xa4($sp) -/* 082154 7F04D624 922D0007 */ lbu $t5, 7($s1) -/* 082158 7F04D628 000D5902 */ srl $t3, $t5, 4 -/* 08215C 7F04D62C AFAB00A8 */ sw $t3, 0xa8($sp) -/* 082160 7F04D630 8E380000 */ lw $t8, ($s1) -/* 082164 7F04D634 330E000F */ andi $t6, $t8, 0xf -/* 082168 7F04D638 10000024 */ b .L7F04D6CC -/* 08216C 7F04D63C AFAE00AC */ sw $t6, 0xac($sp) -.L7F04D640: -/* 082170 7F04D640 24010001 */ li $at, 1 -/* 082174 7F04D644 5641000C */ bnel $s2, $at, .L7F04D678 -/* 082178 7F04D648 24010002 */ li $at, 2 -/* 08217C 7F04D64C 92280006 */ lbu $t0, 6($s1) -/* 082180 7F04D650 310F000F */ andi $t7, $t0, 0xf -/* 082184 7F04D654 AFAF00A4 */ sw $t7, 0xa4($sp) -/* 082188 7F04D658 96390006 */ lhu $t9, 6($s1) -/* 08218C 7F04D65C 00194B02 */ srl $t1, $t9, 0xc -/* 082190 7F04D660 AFA900A8 */ sw $t1, 0xa8($sp) -/* 082194 7F04D664 922A0003 */ lbu $t2, 3($s1) -/* 082198 7F04D668 000A6102 */ srl $t4, $t2, 4 -/* 08219C 7F04D66C 10000017 */ b .L7F04D6CC -/* 0821A0 7F04D670 AFAC00AC */ sw $t4, 0xac($sp) -/* 0821A4 7F04D674 24010002 */ li $at, 2 -.L7F04D678: -/* 0821A8 7F04D678 5641000C */ bnel $s2, $at, .L7F04D6AC -/* 0821AC 7F04D67C 92390004 */ lbu $t9, 4($s1) -/* 0821B0 7F04D680 962D0004 */ lhu $t5, 4($s1) -/* 0821B4 7F04D684 31AB000F */ andi $t3, $t5, 0xf -/* 0821B8 7F04D688 AFAB00A4 */ sw $t3, 0xa4($sp) -/* 0821BC 7F04D68C 92380005 */ lbu $t8, 5($s1) -/* 0821C0 7F04D690 00187102 */ srl $t6, $t8, 4 -/* 0821C4 7F04D694 AFAE00A8 */ sw $t6, 0xa8($sp) -/* 0821C8 7F04D698 92280002 */ lbu $t0, 2($s1) -/* 0821CC 7F04D69C 310F000F */ andi $t7, $t0, 0xf -/* 0821D0 7F04D6A0 1000000A */ b .L7F04D6CC -/* 0821D4 7F04D6A4 AFAF00AC */ sw $t7, 0xac($sp) -/* 0821D8 7F04D6A8 92390004 */ lbu $t9, 4($s1) -.L7F04D6AC: -/* 0821DC 7F04D6AC 3329000F */ andi $t1, $t9, 0xf -/* 0821E0 7F04D6B0 AFA900A4 */ sw $t1, 0xa4($sp) -/* 0821E4 7F04D6B4 8E2A0004 */ lw $t2, 4($s1) -/* 0821E8 7F04D6B8 000A6702 */ srl $t4, $t2, 0x1c -/* 0821EC 7F04D6BC AFAC00A8 */ sw $t4, 0xa8($sp) -/* 0821F0 7F04D6C0 962D0002 */ lhu $t5, 2($s1) -/* 0821F4 7F04D6C4 000D5B02 */ srl $t3, $t5, 0xc -/* 0821F8 7F04D6C8 AFAB00AC */ sw $t3, 0xac($sp) -.L7F04D6CC: -/* 0821FC 7F04D6CC 27A400A4 */ addiu $a0, $sp, 0xa4 -/* 082200 7F04D6D0 8C980000 */ lw $t8, ($a0) -.L7F04D6D4: -/* 082204 7F04D6D4 8FA80094 */ lw $t0, 0x94($sp) -/* 082208 7F04D6D8 24840004 */ addiu $a0, $a0, 4 -/* 08220C 7F04D6DC 00187100 */ sll $t6, $t8, 4 -/* 082210 7F04D6E0 020E1821 */ addu $v1, $s0, $t6 -/* 082214 7F04D6E4 84620000 */ lh $v0, ($v1) -/* 082218 7F04D6E8 0048082A */ slt $at, $v0, $t0 -/* 08221C 7F04D6EC 50200004 */ beql $at, $zero, .L7F04D700 -/* 082220 7F04D6F0 8FAF0088 */ lw $t7, 0x88($sp) -/* 082224 7F04D6F4 AFA20094 */ sw $v0, 0x94($sp) -/* 082228 7F04D6F8 84620000 */ lh $v0, ($v1) -/* 08222C 7F04D6FC 8FAF0088 */ lw $t7, 0x88($sp) -.L7F04D700: -/* 082230 7F04D700 01E2082A */ slt $at, $t7, $v0 -/* 082234 7F04D704 50200003 */ beql $at, $zero, .L7F04D714 -/* 082238 7F04D708 84620002 */ lh $v0, 2($v1) -/* 08223C 7F04D70C AFA20088 */ sw $v0, 0x88($sp) -/* 082240 7F04D710 84620002 */ lh $v0, 2($v1) -.L7F04D714: -/* 082244 7F04D714 8FB90098 */ lw $t9, 0x98($sp) -/* 082248 7F04D718 0059082A */ slt $at, $v0, $t9 -/* 08224C 7F04D71C 50200004 */ beql $at, $zero, .L7F04D730 -/* 082250 7F04D720 8FA9008C */ lw $t1, 0x8c($sp) -/* 082254 7F04D724 AFA20098 */ sw $v0, 0x98($sp) -/* 082258 7F04D728 84620002 */ lh $v0, 2($v1) -/* 08225C 7F04D72C 8FA9008C */ lw $t1, 0x8c($sp) -.L7F04D730: -/* 082260 7F04D730 0122082A */ slt $at, $t1, $v0 -/* 082264 7F04D734 50200003 */ beql $at, $zero, .L7F04D744 -/* 082268 7F04D738 84620004 */ lh $v0, 4($v1) -/* 08226C 7F04D73C AFA2008C */ sw $v0, 0x8c($sp) -/* 082270 7F04D740 84620004 */ lh $v0, 4($v1) -.L7F04D744: -/* 082274 7F04D744 8FAA009C */ lw $t2, 0x9c($sp) -/* 082278 7F04D748 004A082A */ slt $at, $v0, $t2 -/* 08227C 7F04D74C 50200004 */ beql $at, $zero, .L7F04D760 -/* 082280 7F04D750 8FAC0090 */ lw $t4, 0x90($sp) -/* 082284 7F04D754 AFA2009C */ sw $v0, 0x9c($sp) -/* 082288 7F04D758 84620004 */ lh $v0, 4($v1) -/* 08228C 7F04D75C 8FAC0090 */ lw $t4, 0x90($sp) -.L7F04D760: -/* 082290 7F04D760 0182082A */ slt $at, $t4, $v0 -/* 082294 7F04D764 10200002 */ beqz $at, .L7F04D770 -/* 082298 7F04D768 00000000 */ nop -/* 08229C 7F04D76C AFA20090 */ sw $v0, 0x90($sp) -.L7F04D770: -/* 0822A0 7F04D770 5496FFD8 */ bnel $a0, $s6, .L7F04D6D4 -/* 0822A4 7F04D774 8C980000 */ lw $t8, ($a0) -/* 0822A8 7F04D778 02E02025 */ move $a0, $s7 -/* 0822AC 7F04D77C 03C02825 */ move $a1, $fp -/* 0822B0 7F04D780 27A60094 */ addiu $a2, $sp, 0x94 -/* 0822B4 7F04D784 0FC2DB3B */ jal sub_GAME_7F0B6CEC -/* 0822B8 7F04D788 27A70088 */ addiu $a3, $sp, 0x88 -/* 0822BC 7F04D78C 10400074 */ beqz $v0, .L7F04D960 -/* 0822C0 7F04D790 3C0D8003 */ lui $t5, %hi(D_80032088) -/* 0822C4 7F04D794 25AD2088 */ addiu $t5, %lo(D_80032088) # addiu $t5, $t5, 0x2088 -/* 0822C8 7F04D798 8DA10000 */ lw $at, ($t5) -/* 0822CC 7F04D79C 27A70070 */ addiu $a3, $sp, 0x70 -/* 0822D0 7F04D7A0 27AB011C */ addiu $t3, $sp, 0x11c -/* 0822D4 7F04D7A4 ACE10000 */ sw $at, ($a3) -/* 0822D8 7F04D7A8 8DB80004 */ lw $t8, 4($t5) -/* 0822DC 7F04D7AC ACF80004 */ sw $t8, 4($a3) -/* 0822E0 7F04D7B0 8DA10008 */ lw $at, 8($t5) -/* 0822E4 7F04D7B4 ACE10008 */ sw $at, 8($a3) -/* 0822E8 7F04D7B8 8FA900AC */ lw $t1, 0xac($sp) -/* 0822EC 7F04D7BC 8FAF00A8 */ lw $t7, 0xa8($sp) -/* 0822F0 7F04D7C0 8FAE00A4 */ lw $t6, 0xa4($sp) -/* 0822F4 7F04D7C4 8FAC0154 */ lw $t4, 0x154($sp) -/* 0822F8 7F04D7C8 00095100 */ sll $t2, $t1, 4 -/* 0822FC 7F04D7CC 000FC900 */ sll $t9, $t7, 4 -/* 082300 7F04D7D0 000E4100 */ sll $t0, $t6, 4 -/* 082304 7F04D7D4 02082021 */ addu $a0, $s0, $t0 -/* 082308 7F04D7D8 02192821 */ addu $a1, $s0, $t9 -/* 08230C 7F04D7DC 020A3021 */ addu $a2, $s0, $t2 -/* 082310 7F04D7E0 AFAB001C */ sw $t3, 0x1c($sp) -/* 082314 7F04D7E4 AFBE0018 */ sw $fp, 0x18($sp) -/* 082318 7F04D7E8 AFB70010 */ sw $s7, 0x10($sp) -/* 08231C 7F04D7EC 0FC24A24 */ jal sub_GAME_7F092890 -/* 082320 7F04D7F0 AFAC0014 */ sw $t4, 0x14($sp) -/* 082324 7F04D7F4 5040005B */ beql $v0, $zero, .L7F04D964 -/* 082328 7F04D7F8 26520001 */ addiu $s2, $s2, 1 -/* 08232C 7F04D7FC C7A6011C */ lwc1 $f6, 0x11c($sp) -/* 082330 7F04D800 C6EA0000 */ lwc1 $f10, ($s7) -/* 082334 7F04D804 C7A40120 */ lwc1 $f4, 0x120($sp) -/* 082338 7F04D808 4600320D */ trunc.w.s $f8, $f6 -/* 08233C 7F04D80C 92390000 */ lbu $t9, ($s1) -/* 082340 7F04D810 02201025 */ move $v0, $s1 -/* 082344 7F04D814 4600540D */ trunc.w.s $f16, $f10 -/* 082348 7F04D818 44184000 */ mfc1 $t8, $f8 -/* 08234C 7F04D81C C6E80004 */ lwc1 $f8, 4($s7) -/* 082350 7F04D820 4600218D */ trunc.w.s $f6, $f4 -/* 082354 7F04D824 44088000 */ mfc1 $t0, $f16 -/* 082358 7F04D828 0271082B */ sltu $at, $s3, $s1 -/* 08235C 7F04D82C 4600428D */ trunc.w.s $f10, $f8 -/* 082360 7F04D830 03087823 */ subu $t7, $t8, $t0 -/* 082364 7F04D834 448F9000 */ mtc1 $t7, $f18 -/* 082368 7F04D838 44093000 */ mfc1 $t1, $f6 -/* 08236C 7F04D83C 440C5000 */ mfc1 $t4, $f10 -/* 082370 7F04D840 468090A0 */ cvt.s.w $f2, $f18 -/* 082374 7F04D844 C7B20124 */ lwc1 $f18, 0x124($sp) -/* 082378 7F04D848 C6E60008 */ lwc1 $f6, 8($s7) -/* 08237C 7F04D84C 012C5823 */ subu $t3, $t1, $t4 -/* 082380 7F04D850 448B8000 */ mtc1 $t3, $f16 -/* 082384 7F04D854 4600910D */ trunc.w.s $f4, $f18 -/* 082388 7F04D858 4600320D */ trunc.w.s $f8, $f6 -/* 08238C 7F04D85C 440E2000 */ mfc1 $t6, $f4 -/* 082390 7F04D860 46808320 */ cvt.s.w $f12, $f16 -/* 082394 7F04D864 44084000 */ mfc1 $t0, $f8 -/* 082398 7F04D868 46021402 */ mul.s $f16, $f2, $f2 -/* 08239C 7F04D86C 01C87823 */ subu $t7, $t6, $t0 -/* 0823A0 7F04D870 448F5000 */ mtc1 $t7, $f10 -/* 0823A4 7F04D874 460C6482 */ mul.s $f18, $f12, $f12 -/* 0823A8 7F04D878 12B9000A */ beq $s5, $t9, .L7F04D8A4 -/* 0823AC 7F04D87C 468053A0 */ cvt.s.w $f14, $f10 -/* 0823B0 7F04D880 10200008 */ beqz $at, .L7F04D8A4 -/* 0823B4 7F04D884 00000000 */ nop -/* 0823B8 7F04D888 904AFFF8 */ lbu $t2, -8($v0) -.L7F04D88C: -/* 0823BC 7F04D88C 2442FFF8 */ addiu $v0, $v0, -8 -/* 0823C0 7F04D890 0262082B */ sltu $at, $s3, $v0 -/* 0823C4 7F04D894 12AA0003 */ beq $s5, $t2, .L7F04D8A4 -/* 0823C8 7F04D898 00000000 */ nop -/* 0823CC 7F04D89C 5420FFFB */ bnezl $at, .L7F04D88C -/* 0823D0 7F04D8A0 904AFFF8 */ lbu $t2, -8($v0) -.L7F04D8A4: -/* 0823D4 7F04D8A4 460E7182 */ mul.s $f6, $f14, $f14 -/* 0823D8 7F04D8A8 54530004 */ bnel $v0, $s3, .L7F04D8BC -/* 0823DC 7F04D8AC 8C430004 */ lw $v1, 4($v0) -/* 0823E0 7F04D8B0 10000006 */ b .L7F04D8CC -/* 0823E4 7F04D8B4 2404FFFF */ li $a0, -1 -/* 0823E8 7F04D8B8 8C430004 */ lw $v1, 4($v0) -.L7F04D8BC: -/* 0823EC 7F04D8BC 3C018000 */ lui $at, 0x8000 -/* 0823F0 7F04D8C0 2463FFF8 */ addiu $v1, $v1, -8 -/* 0823F4 7F04D8C4 00614825 */ or $t1, $v1, $at -/* 0823F8 7F04D8C8 95240000 */ lhu $a0, ($t1) -.L7F04D8CC: -/* 0823FC 7F04D8CC 46128100 */ add.s $f4, $f16, $f18 -/* 082400 7F04D8D0 46062000 */ add.s $f0, $f4, $f6 -/* 082404 7F04D8D4 4614003C */ c.lt.s $f0, $f20 -/* 082408 7F04D8D8 00000000 */ nop -/* 08240C 7F04D8DC 45020021 */ bc1fl .L7F04D964 -/* 082410 7F04D8E0 26520001 */ addiu $s2, $s2, 1 -/* 082414 7F04D8E4 C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 082418 7F04D8E8 26490001 */ addiu $t1, $s2, 1 -/* 08241C 7F04D8EC 46000506 */ mov.s $f20, $f0 -/* 082420 7F04D8F0 E6880000 */ swc1 $f8, ($s4) -/* 082424 7F04D8F4 C7AA0120 */ lwc1 $f10, 0x120($sp) -/* 082428 7F04D8F8 E68A0004 */ swc1 $f10, 4($s4) -/* 08242C 7F04D8FC C7B00124 */ lwc1 $f16, 0x124($sp) -/* 082430 7F04D900 E6900008 */ swc1 $f16, 8($s4) -/* 082434 7F04D904 C7B20128 */ lwc1 $f18, 0x128($sp) -/* 082438 7F04D908 E692000C */ swc1 $f18, 0xc($s4) -/* 08243C 7F04D90C C7A4012C */ lwc1 $f4, 0x12c($sp) -/* 082440 7F04D910 E6840010 */ swc1 $f4, 0x10($s4) -/* 082444 7F04D914 C7A60130 */ lwc1 $f6, 0x130($sp) -/* 082448 7F04D918 E6860014 */ swc1 $f6, 0x14($s4) -/* 08244C 7F04D91C 8FAC00A4 */ lw $t4, 0xa4($sp) -/* 082450 7F04D920 000C5900 */ sll $t3, $t4, 4 -/* 082454 7F04D924 01706821 */ addu $t5, $t3, $s0 -/* 082458 7F04D928 AE8D0018 */ sw $t5, 0x18($s4) -/* 08245C 7F04D92C 8FB800A8 */ lw $t8, 0xa8($sp) -/* 082460 7F04D930 240C0001 */ li $t4, 1 -/* 082464 7F04D934 00187100 */ sll $t6, $t8, 4 -/* 082468 7F04D938 01D04021 */ addu $t0, $t6, $s0 -/* 08246C 7F04D93C AE88001C */ sw $t0, 0x1c($s4) -/* 082470 7F04D940 8FAF00AC */ lw $t7, 0xac($sp) -/* 082474 7F04D944 A684002A */ sh $a0, 0x2a($s4) -/* 082478 7F04D948 AE910024 */ sw $s1, 0x24($s4) -/* 08247C 7F04D94C 000FC900 */ sll $t9, $t7, 4 -/* 082480 7F04D950 03305021 */ addu $t2, $t9, $s0 -/* 082484 7F04D954 AE8A0020 */ sw $t2, 0x20($s4) -/* 082488 7F04D958 A6890028 */ sh $t1, 0x28($s4) -/* 08248C 7F04D95C AFAC0110 */ sw $t4, 0x110($sp) -.L7F04D960: -/* 082490 7F04D960 26520001 */ addiu $s2, $s2, 1 -.L7F04D964: -/* 082494 7F04D964 24010004 */ li $at, 4 -/* 082498 7F04D968 1641FF18 */ bne $s2, $at, .L7F04D5CC -/* 08249C 7F04D96C 00000000 */ nop -.L7F04D970: -/* 0824A0 7F04D970 1000FE16 */ b .L7F04D1CC -/* 0824A4 7F04D974 26310008 */ addiu $s1, $s1, 8 -.L7F04D978: -/* 0824A8 7F04D978 8FBF0054 */ lw $ra, 0x54($sp) -/* 0824AC 7F04D97C 8FA20110 */ lw $v0, 0x110($sp) -/* 0824B0 7F04D980 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0824B4 7F04D984 8FB00030 */ lw $s0, 0x30($sp) -/* 0824B8 7F04D988 8FB10034 */ lw $s1, 0x34($sp) -/* 0824BC 7F04D98C 8FB20038 */ lw $s2, 0x38($sp) -/* 0824C0 7F04D990 8FB3003C */ lw $s3, 0x3c($sp) -/* 0824C4 7F04D994 8FB40040 */ lw $s4, 0x40($sp) -/* 0824C8 7F04D998 8FB50044 */ lw $s5, 0x44($sp) -/* 0824CC 7F04D99C 8FB60048 */ lw $s6, 0x48($sp) -/* 0824D0 7F04D9A0 8FB7004C */ lw $s7, 0x4c($sp) -/* 0824D4 7F04D9A4 8FBE0050 */ lw $fp, 0x50($sp) -/* 0824D8 7F04D9A8 03E00008 */ jr $ra -/* 0824DC 7F04D9AC 27BD0150 */ addiu $sp, $sp, 0x150 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04D9B0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052D98 -.word 0x46fffe00 /*32767.0*/ -/*D:80052D9C*/ -glabel jpt_80052D9C -.word loc_CODE_7F04DAA4 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word loc_CODE_7F04DAD8 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word loc_CODE_7F04DAEC -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word def_7F04DA40 -.word loc_CODE_7F04DB00 -.word loc_CODE_7F04DA48 - -/*D:80052DF0*/ -/*hack, doesn't fit in own function*/ -glabel jpt_80052DF0 -.word destroyable_object -.word nondestroyable_object -.word destroyable_object -.word nondestroyable_object -.word destroyable_object -.word destroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word destroyable_object -.word destroyable_object -.word destroyable_object -.word destroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word nondestroyable_object -.word destroyable_object -.word nondestroyable_object -.word nondestroyable_object - - -.text -glabel sub_GAME_7F04D9B0 -/* 0824E0 7F04D9B0 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 0824E4 7F04D9B4 AFBE0050 */ sw $fp, 0x50($sp) -/* 0824E8 7F04D9B8 AFB60048 */ sw $s6, 0x48($sp) -/* 0824EC 7F04D9BC AFB20038 */ sw $s2, 0x38($sp) -/* 0824F0 7F04D9C0 AFB00030 */ sw $s0, 0x30($sp) -/* 0824F4 7F04D9C4 00A09025 */ move $s2, $a1 -/* 0824F8 7F04D9C8 0080B025 */ move $s6, $a0 -/* 0824FC 7F04D9CC AFBF0054 */ sw $ra, 0x54($sp) -/* 082500 7F04D9D0 AFB7004C */ sw $s7, 0x4c($sp) -/* 082504 7F04D9D4 AFB50044 */ sw $s5, 0x44($sp) -/* 082508 7F04D9D8 AFB40040 */ sw $s4, 0x40($sp) -/* 08250C 7F04D9DC AFB3003C */ sw $s3, 0x3c($sp) -/* 082510 7F04D9E0 AFB10034 */ sw $s1, 0x34($sp) -/* 082514 7F04D9E4 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 082518 7F04D9E8 AFA60100 */ sw $a2, 0x100($sp) -/* 08251C 7F04D9EC AFA70104 */ sw $a3, 0x104($sp) -/* 082520 7F04D9F0 AFA000D0 */ sw $zero, 0xd0($sp) -/* 082524 7F04D9F4 AFA000CC */ sw $zero, 0xcc($sp) -/* 082528 7F04D9F8 00A08025 */ move $s0, $a1 -/* 08252C 7F04D9FC 10A0009F */ beqz $a1, .L7F04DC7C -/* 082530 7F04DA00 0000F025 */ move $fp, $zero -/* 082534 7F04DA04 3C018005 */ lui $at, %hi(D_80052D98) -/* 082538 7F04DA08 3C1700FF */ lui $s7, (0x00FFFFFF >> 16) # lui $s7, 0xff -/* 08253C 7F04DA0C 36F7FFFF */ ori $s7, (0x00FFFFFF & 0xFFFF) # ori $s7, $s7, 0xffff -/* 082540 7F04DA10 C4342D98 */ lwc1 $f20, %lo(D_80052D98)($at) -/* 082544 7F04DA14 96020000 */ lhu $v0, ($s0) -.L7F04DA18: -/* 082548 7F04DA18 00009825 */ move $s3, $zero -/* 08254C 7F04DA1C 0000A825 */ move $s5, $zero -/* 082550 7F04DA20 304E00FF */ andi $t6, $v0, 0xff -/* 082554 7F04DA24 25CFFFFC */ addiu $t7, $t6, -4 -/* 082558 7F04DA28 2DE10015 */ sltiu $at, $t7, 0x15 -/* 08255C 7F04DA2C 10200037 */ beqz $at, .L7F04DB0C -/* 082560 7F04DA30 000F7880 */ sll $t7, $t7, 2 -/* 082564 7F04DA34 3C018005 */ lui $at, %hi(jpt_80052D9C) -/* 082568 7F04DA38 002F0821 */ addu $at, $at, $t7 -/* 08256C 7F04DA3C 8C2F2D9C */ lw $t7, %lo(jpt_80052D9C)($at) -/* 082570 7F04DA40 01E00008 */ jr $t7 -/* 082574 7F04DA44 00000000 */ nop -loc_CODE_7F04DA48: -/* 082578 7F04DA48 8E110004 */ lw $s1, 4($s0) -/* 08257C 7F04DA4C 02C02025 */ move $a0, $s6 -/* 082580 7F04DA50 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 082584 7F04DA54 02002825 */ move $a1, $s0 -/* 082588 7F04DA58 8C430004 */ lw $v1, 4($v0) -/* 08258C 7F04DA5C 1060002B */ beqz $v1, .L7F04DB0C -/* 082590 7F04DA60 00000000 */ nop -/* 082594 7F04DA64 8E240000 */ lw $a0, ($s1) -/* 082598 7F04DA68 00609825 */ move $s3, $v1 -/* 08259C 7F04DA6C 14830005 */ bne $a0, $v1, .L7F04DA84 -/* 0825A0 7F04DA70 00000000 */ nop -/* 0825A4 7F04DA74 8E38001C */ lw $t8, 0x1c($s1) -/* 0825A8 7F04DA78 0097C824 */ and $t9, $a0, $s7 -/* 0825AC 7F04DA7C 10000001 */ b .L7F04DA84 -/* 0825B0 7F04DA80 03199821 */ addu $s3, $t8, $t9 -.L7F04DA84: -/* 0825B4 7F04DA84 8E230004 */ lw $v1, 4($s1) -/* 0825B8 7F04DA88 10600004 */ beqz $v1, .L7F04DA9C -/* 0825BC 7F04DA8C 00000000 */ nop -/* 0825C0 7F04DA90 8E28001C */ lw $t0, 0x1c($s1) -/* 0825C4 7F04DA94 00774824 */ and $t1, $v1, $s7 -/* 0825C8 7F04DA98 0109A821 */ addu $s5, $t0, $t1 -.L7F04DA9C: -/* 0825CC 7F04DA9C 1000001B */ b .L7F04DB0C -/* 0825D0 7F04DAA0 8C5E0000 */ lw $fp, ($v0) -loc_CODE_7F04DAA4: -/* 0825D4 7F04DAA4 8E020004 */ lw $v0, 4($s0) -/* 0825D8 7F04DAA8 8C440000 */ lw $a0, ($v0) -/* 0825DC 7F04DAAC 10800017 */ beqz $a0, .L7F04DB0C -/* 0825E0 7F04DAB0 00000000 */ nop -/* 0825E4 7F04DAB4 8C450004 */ lw $a1, 4($v0) -/* 0825E8 7F04DAB8 8C430008 */ lw $v1, 8($v0) -/* 0825EC 7F04DABC 00975024 */ and $t2, $a0, $s7 -/* 0825F0 7F04DAC0 10A00003 */ beqz $a1, .L7F04DAD0 -/* 0825F4 7F04DAC4 006A9821 */ addu $s3, $v1, $t2 -/* 0825F8 7F04DAC8 00B75824 */ and $t3, $a1, $s7 -/* 0825FC 7F04DACC 006BA821 */ addu $s5, $v1, $t3 -.L7F04DAD0: -/* 082600 7F04DAD0 1000000E */ b .L7F04DB0C -/* 082604 7F04DAD4 0060F025 */ move $fp, $v1 -loc_CODE_7F04DAD8: -/* 082608 7F04DAD8 02C02025 */ move $a0, $s6 -/* 08260C 7F04DADC 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 082610 7F04DAE0 02002825 */ move $a1, $s0 -/* 082614 7F04DAE4 10000009 */ b .L7F04DB0C -/* 082618 7F04DAE8 00000000 */ nop -loc_CODE_7F04DAEC: -/* 08261C 7F04DAEC 02C02025 */ move $a0, $s6 -/* 082620 7F04DAF0 0FC1BA6F */ jal process_12_handle_switch -/* 082624 7F04DAF4 02002825 */ move $a1, $s0 -/* 082628 7F04DAF8 10000004 */ b .L7F04DB0C -/* 08262C 7F04DAFC 00000000 */ nop -loc_CODE_7F04DB00: -/* 082630 7F04DB00 02C02025 */ move $a0, $s6 -/* 082634 7F04DB04 0FC1BA82 */ jal process_17_pointer_to_head -/* 082638 7F04DB08 02002825 */ move $a1, $s0 -def_7F04DA40: -.L7F04DB0C: -/* 08263C 7F04DB0C 12600043 */ beqz $s3, .L7F04DC1C -/* 082640 7F04DB10 02002025 */ move $a0, $s0 -/* 082644 7F04DB14 00002825 */ move $a1, $zero -/* 082648 7F04DB18 0FC1B15C */ jal sub_GAME_7F06C570 -/* 08264C 7F04DB1C 00008825 */ move $s1, $zero -/* 082650 7F04DB20 04400004 */ bltz $v0, .L7F04DB34 -/* 082654 7F04DB24 0040A025 */ move $s4, $v0 -/* 082658 7F04DB28 8ECC000C */ lw $t4, 0xc($s6) -/* 08265C 7F04DB2C 00026980 */ sll $t5, $v0, 6 -/* 082660 7F04DB30 018D8821 */ addu $s1, $t4, $t5 -.L7F04DB34: -/* 082664 7F04DB34 12200029 */ beqz $s1, .L7F04DBDC -/* 082668 7F04DB38 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 08266C 7F04DB3C 122E0027 */ beq $s1, $t6, .L7F04DBDC -/* 082670 7F04DB40 02202025 */ move $a0, $s1 -/* 082674 7F04DB44 AFB100D0 */ sw $s1, 0xd0($sp) -/* 082678 7F04DB48 0FC167EE */ jal sub_GAME_7F059FB8 -/* 08267C 7F04DB4C 27A50064 */ addiu $a1, $sp, 0x64 -/* 082680 7F04DB50 8FAF0100 */ lw $t7, 0x100($sp) -/* 082684 7F04DB54 27A40064 */ addiu $a0, $sp, 0x64 -/* 082688 7F04DB58 27A500EC */ addiu $a1, $sp, 0xec -/* 08268C 7F04DB5C C5E40000 */ lwc1 $f4, ($t7) -/* 082690 7F04DB60 E7A400EC */ swc1 $f4, 0xec($sp) -/* 082694 7F04DB64 C5E60004 */ lwc1 $f6, 4($t7) -/* 082698 7F04DB68 E7A600F0 */ swc1 $f6, 0xf0($sp) -/* 08269C 7F04DB6C C5E80008 */ lwc1 $f8, 8($t7) -/* 0826A0 7F04DB70 0FC1611D */ jal sub_GAME_7F058474 -/* 0826A4 7F04DB74 E7A800F4 */ swc1 $f8, 0xf4($sp) -/* 0826A8 7F04DB78 8FB80104 */ lw $t8, 0x104($sp) -/* 0826AC 7F04DB7C 27A40064 */ addiu $a0, $sp, 0x64 -/* 0826B0 7F04DB80 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 0826B4 7F04DB84 C70A0000 */ lwc1 $f10, ($t8) -/* 0826B8 7F04DB88 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 0826BC 7F04DB8C C7100004 */ lwc1 $f16, 4($t8) -/* 0826C0 7F04DB90 E7B000D8 */ swc1 $f16, 0xd8($sp) -/* 0826C4 7F04DB94 C7120008 */ lwc1 $f18, 8($t8) -/* 0826C8 7F04DB98 0FC160F6 */ jal sub_GAME_7F0583D8 -/* 0826CC 7F04DB9C E7B200DC */ swc1 $f18, 0xdc($sp) -/* 0826D0 7F04DBA0 C7A400D4 */ lwc1 $f4, 0xd4($sp) -/* 0826D4 7F04DBA4 C7A800EC */ lwc1 $f8, 0xec($sp) -/* 0826D8 7F04DBA8 C7B000D8 */ lwc1 $f16, 0xd8($sp) -/* 0826DC 7F04DBAC 46142182 */ mul.s $f6, $f4, $f20 -/* 0826E0 7F04DBB0 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 0826E4 7F04DBB4 46148482 */ mul.s $f18, $f16, $f20 -/* 0826E8 7F04DBB8 C7B000F4 */ lwc1 $f16, 0xf4($sp) -/* 0826EC 7F04DBBC 46083280 */ add.s $f10, $f6, $f8 -/* 0826F0 7F04DBC0 C7A800DC */ lwc1 $f8, 0xdc($sp) -/* 0826F4 7F04DBC4 46049180 */ add.s $f6, $f18, $f4 -/* 0826F8 7F04DBC8 E7AA00E0 */ swc1 $f10, 0xe0($sp) -/* 0826FC 7F04DBCC 46144282 */ mul.s $f10, $f8, $f20 -/* 082700 7F04DBD0 E7A600E4 */ swc1 $f6, 0xe4($sp) -/* 082704 7F04DBD4 46105480 */ add.s $f18, $f10, $f16 -/* 082708 7F04DBD8 E7B200E8 */ swc1 $f18, 0xe8($sp) -.L7F04DBDC: -/* 08270C 7F04DBDC 8FB90108 */ lw $t9, 0x108($sp) -/* 082710 7F04DBE0 27A400EC */ addiu $a0, $sp, 0xec -/* 082714 7F04DBE4 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 082718 7F04DBE8 27A600D4 */ addiu $a2, $sp, 0xd4 -/* 08271C 7F04DBEC 02603825 */ move $a3, $s3 -/* 082720 7F04DBF0 AFB50010 */ sw $s5, 0x10($sp) -/* 082724 7F04DBF4 AFBE0014 */ sw $fp, 0x14($sp) -/* 082728 7F04DBF8 0FC1345B */ jal sub_GAME_7F04D16C -/* 08272C 7F04DBFC AFB90018 */ sw $t9, 0x18($sp) -/* 082730 7F04DC00 10400006 */ beqz $v0, .L7F04DC1C -/* 082734 7F04DC04 8FA8010C */ lw $t0, 0x10c($sp) -/* 082738 7F04DC08 AD140000 */ sw $s4, ($t0) -/* 08273C 7F04DC0C 8FA90110 */ lw $t1, 0x110($sp) -/* 082740 7F04DC10 240A0001 */ li $t2, 1 -/* 082744 7F04DC14 AD300000 */ sw $s0, ($t1) -/* 082748 7F04DC18 AFAA00CC */ sw $t2, 0xcc($sp) -.L7F04DC1C: -/* 08274C 7F04DC1C 8E020014 */ lw $v0, 0x14($s0) -/* 082750 7F04DC20 8FAB00CC */ lw $t3, 0xcc($sp) -/* 082754 7F04DC24 10400003 */ beqz $v0, .L7F04DC34 -/* 082758 7F04DC28 00000000 */ nop -/* 08275C 7F04DC2C 1000000F */ b .L7F04DC6C -/* 082760 7F04DC30 00408025 */ move $s0, $v0 -.L7F04DC34: -/* 082764 7F04DC34 1200000D */ beqz $s0, .L7F04DC6C -/* 082768 7F04DC38 00000000 */ nop -.L7F04DC3C: -/* 08276C 7F04DC3C 56120004 */ bnel $s0, $s2, .L7F04DC50 -/* 082770 7F04DC40 8E02000C */ lw $v0, 0xc($s0) -/* 082774 7F04DC44 10000009 */ b .L7F04DC6C -/* 082778 7F04DC48 00008025 */ move $s0, $zero -/* 08277C 7F04DC4C 8E02000C */ lw $v0, 0xc($s0) -.L7F04DC50: -/* 082780 7F04DC50 50400004 */ beql $v0, $zero, .L7F04DC64 -/* 082784 7F04DC54 8E100008 */ lw $s0, 8($s0) -/* 082788 7F04DC58 10000004 */ b .L7F04DC6C -/* 08278C 7F04DC5C 00408025 */ move $s0, $v0 -/* 082790 7F04DC60 8E100008 */ lw $s0, 8($s0) -.L7F04DC64: -/* 082794 7F04DC64 1600FFF5 */ bnez $s0, .L7F04DC3C -/* 082798 7F04DC68 00000000 */ nop -.L7F04DC6C: -/* 08279C 7F04DC6C 52000004 */ beql $s0, $zero, .L7F04DC80 -/* 0827A0 7F04DC70 8FBF0054 */ lw $ra, 0x54($sp) -/* 0827A4 7F04DC74 5160FF68 */ beql $t3, $zero, .L7F04DA18 -/* 0827A8 7F04DC78 96020000 */ lhu $v0, ($s0) -.L7F04DC7C: -/* 0827AC 7F04DC7C 8FBF0054 */ lw $ra, 0x54($sp) -.L7F04DC80: -/* 0827B0 7F04DC80 8FA200CC */ lw $v0, 0xcc($sp) -/* 0827B4 7F04DC84 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0827B8 7F04DC88 8FB00030 */ lw $s0, 0x30($sp) -/* 0827BC 7F04DC8C 8FB10034 */ lw $s1, 0x34($sp) -/* 0827C0 7F04DC90 8FB20038 */ lw $s2, 0x38($sp) -/* 0827C4 7F04DC94 8FB3003C */ lw $s3, 0x3c($sp) -/* 0827C8 7F04DC98 8FB40040 */ lw $s4, 0x40($sp) -/* 0827CC 7F04DC9C 8FB50044 */ lw $s5, 0x44($sp) -/* 0827D0 7F04DCA0 8FB60048 */ lw $s6, 0x48($sp) -/* 0827D4 7F04DCA4 8FB7004C */ lw $s7, 0x4c($sp) -/* 0827D8 7F04DCA8 8FBE0050 */ lw $fp, 0x50($sp) -/* 0827DC 7F04DCAC 03E00008 */ jr $ra -/* 0827E0 7F04DCB0 27BD00F8 */ addiu $sp, $sp, 0xf8 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04DCB4(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack, doesnt fit in own data above*/ -.word destroyable_object -.word destroyable_object -.word destroyable_object -.word destroyable_object -.word destroyable_object -.word nondestroyable_object -.word destroyable_object -.word nondestroyable_object -.word destroyable_object - -.text -glabel sub_GAME_7F04DCB4 -/* 0827E4 7F04DCB4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0827E8 7F04DCB8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0827EC 7F04DCBC AFB00030 */ sw $s0, 0x30($sp) -/* 0827F0 7F04DCC0 8C8E0010 */ lw $t6, 0x10($a0) -/* 0827F4 7F04DCC4 00808025 */ move $s0, $a0 -/* 0827F8 7F04DCC8 0FC1001E */ jal sub_GAME_7F040078 -/* 0827FC 7F04DCCC AFAE003C */ sw $t6, 0x3c($sp) -/* 082800 7F04DCD0 8FA4003C */ lw $a0, 0x3c($sp) -/* 082804 7F04DCD4 00002825 */ move $a1, $zero -/* 082808 7F04DCD8 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 08280C 7F04DCDC AFA20038 */ sw $v0, 0x38($sp) -/* 082810 7F04DCE0 8FA4003C */ lw $a0, 0x3c($sp) -/* 082814 7F04DCE4 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 082818 7F04DCE8 24050001 */ li $a1, 1 -/* 08281C 7F04DCEC 8FA30038 */ lw $v1, 0x38($sp) -/* 082820 7F04DCF0 26040058 */ addiu $a0, $s0, 0x58 -/* 082824 7F04DCF4 26050018 */ addiu $a1, $s0, 0x18 -/* 082828 7F04DCF8 C4640004 */ lwc1 $f4, 4($v1) -/* 08282C 7F04DCFC 26060028 */ addiu $a2, $s0, 0x28 -/* 082830 7F04DD00 26070038 */ addiu $a3, $s0, 0x38 -/* 082834 7F04DD04 E7A40010 */ swc1 $f4, 0x10($sp) -/* 082838 7F04DD08 C4660008 */ lwc1 $f6, 8($v1) -/* 08283C 7F04DD0C E7A60014 */ swc1 $f6, 0x14($sp) -/* 082840 7F04DD10 C468000C */ lwc1 $f8, 0xc($v1) -/* 082844 7F04DD14 E7A80018 */ swc1 $f8, 0x18($sp) -/* 082848 7F04DD18 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 08284C 7F04DD1C E7AA001C */ swc1 $f10, 0x1c($sp) -/* 082850 7F04DD20 C4700014 */ lwc1 $f16, 0x14($v1) -/* 082854 7F04DD24 E7B00020 */ swc1 $f16, 0x20($sp) -/* 082858 7F04DD28 C4720018 */ lwc1 $f18, 0x18($v1) -/* 08285C 7F04DD2C 0FC28768 */ jal sub_GAME_7F0A1DA0 -/* 082860 7F04DD30 E7B20024 */ swc1 $f18, 0x24($sp) -/* 082864 7F04DD34 8E0F0064 */ lw $t7, 0x64($s0) -/* 082868 7F04DD38 92190002 */ lbu $t9, 2($s0) -/* 08286C 7F04DD3C 44802000 */ mtc1 $zero, $f4 -/* 082870 7F04DD40 35F80004 */ ori $t8, $t7, 4 -/* 082874 7F04DD44 37280080 */ ori $t0, $t9, 0x80 -/* 082878 7F04DD48 AE180064 */ sw $t8, 0x64($s0) -/* 08287C 7F04DD4C A2080002 */ sb $t0, 2($s0) -/* 082880 7F04DD50 E6040070 */ swc1 $f4, 0x70($s0) -/* 082884 7F04DD54 8FBF0034 */ lw $ra, 0x34($sp) -/* 082888 7F04DD58 8FB00030 */ lw $s0, 0x30($sp) -/* 08288C 7F04DD5C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 082890 7F04DD60 03E00008 */ jr $ra -/* 082894 7F04DD64 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04DD68(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04DD68 -/* 082898 7F04DD68 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 08289C 7F04DD6C AFBF002C */ sw $ra, 0x2c($sp) -/* 0828A0 7F04DD70 8C8E0010 */ lw $t6, 0x10($a0) -/* 0828A4 7F04DD74 27A50030 */ addiu $a1, $sp, 0x30 -/* 0828A8 7F04DD78 AFAE007C */ sw $t6, 0x7c($sp) -/* 0828AC 7F04DD7C 8C830014 */ lw $v1, 0x14($a0) -/* 0828B0 7F04DD80 8C6F0008 */ lw $t7, 8($v1) -/* 0828B4 7F04DD84 8DF80008 */ lw $t8, 8($t7) -/* 0828B8 7F04DD88 8F190008 */ lw $t9, 8($t8) -/* 0828BC 7F04DD8C 8F220004 */ lw $v0, 4($t9) -/* 0828C0 7F04DD90 AFA30078 */ sw $v1, 0x78($sp) -/* 0828C4 7F04DD94 0FC149BB */ jal sub_GAME_7F0526EC -/* 0828C8 7F04DD98 AFA20074 */ sw $v0, 0x74($sp) -/* 0828CC 7F04DD9C 8FA20074 */ lw $v0, 0x74($sp) -/* 0828D0 7F04DDA0 27A40060 */ addiu $a0, $sp, 0x60 -/* 0828D4 7F04DDA4 27A50030 */ addiu $a1, $sp, 0x30 -/* 0828D8 7F04DDA8 C4440004 */ lwc1 $f4, 4($v0) -/* 0828DC 7F04DDAC 27A60040 */ addiu $a2, $sp, 0x40 -/* 0828E0 7F04DDB0 27A70050 */ addiu $a3, $sp, 0x50 -/* 0828E4 7F04DDB4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0828E8 7F04DDB8 C4460008 */ lwc1 $f6, 8($v0) -/* 0828EC 7F04DDBC E7A60014 */ swc1 $f6, 0x14($sp) -/* 0828F0 7F04DDC0 C448000C */ lwc1 $f8, 0xc($v0) -/* 0828F4 7F04DDC4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0828F8 7F04DDC8 C44A0010 */ lwc1 $f10, 0x10($v0) -/* 0828FC 7F04DDCC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 082900 7F04DDD0 C4500014 */ lwc1 $f16, 0x14($v0) -/* 082904 7F04DDD4 E7B00020 */ swc1 $f16, 0x20($sp) -/* 082908 7F04DDD8 C4520018 */ lwc1 $f18, 0x18($v0) -/* 08290C 7F04DDDC 0FC28768 */ jal sub_GAME_7F0A1DA0 -/* 082910 7F04DDE0 E7B20024 */ swc1 $f18, 0x24($sp) -/* 082914 7F04DDE4 8FA4007C */ lw $a0, 0x7c($sp) -/* 082918 7F04DDE8 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 08291C 7F04DDEC 24050001 */ li $a1, 1 -/* 082920 7F04DDF0 8FA40078 */ lw $a0, 0x78($sp) -/* 082924 7F04DDF4 8C880008 */ lw $t0, 8($a0) -/* 082928 7F04DDF8 8D090008 */ lw $t1, 8($t0) -/* 08292C 7F04DDFC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 082930 7F04DE00 8D250004 */ lw $a1, 4($t1) -/* 082934 7F04DE04 AC400000 */ sw $zero, ($v0) -/* 082938 7F04DE08 8FBF002C */ lw $ra, 0x2c($sp) -/* 08293C 7F04DE0C 27BD0080 */ addiu $sp, $sp, 0x80 -/* 082940 7F04DE10 03E00008 */ jr $ra -/* 082944 7F04DE14 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04DE18(void) { - -} -#else -GLOBAL_ASM( - .late_rodata -/*hack, part of check_if_collectable_object*/ -/*D:80052EAC*/ -glabel jpt_80052EAC -.word collectable_object -.word notcollectable_object -.word notcollectable_object -.word collectable_object -.word collectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word notcollectable_object -.word collectable_object -.word notcollectable_object -.word notcollectable_object -.word collectable_object -.word collectable_object -.text -glabel sub_GAME_7F04DE18 -/* 082948 7F04DE18 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 08294C 7F04DE1C AFBF0034 */ sw $ra, 0x34($sp) -/* 082950 7F04DE20 AFB00030 */ sw $s0, 0x30($sp) -/* 082954 7F04DE24 8C8E0010 */ lw $t6, 0x10($a0) -/* 082958 7F04DE28 AFAE0094 */ sw $t6, 0x94($sp) -/* 08295C 7F04DE2C 91D80001 */ lbu $t8, 1($t6) -/* 082960 7F04DE30 8C900014 */ lw $s0, 0x14($a0) -/* 082964 7F04DE34 33190002 */ andi $t9, $t8, 2 -/* 082968 7F04DE38 53200023 */ beql $t9, $zero, .L7F04DEC8 -/* 08296C 7F04DE3C 8FA40094 */ lw $a0, 0x94($sp) -/* 082970 7F04DE40 8E080008 */ lw $t0, 8($s0) -/* 082974 7F04DE44 02002025 */ move $a0, $s0 -/* 082978 7F04DE48 00003025 */ move $a2, $zero -/* 08297C 7F04DE4C 8D020008 */ lw $v0, 8($t0) -/* 082980 7F04DE50 8C490008 */ lw $t1, 8($v0) -/* 082984 7F04DE54 8C450004 */ lw $a1, 4($v0) -/* 082988 7F04DE58 8D230004 */ lw $v1, 4($t1) -/* 08298C 7F04DE5C 0FC1B198 */ jal sub_GAME_7F06C660 -/* 082990 7F04DE60 AFA30088 */ sw $v1, 0x88($sp) -/* 082994 7F04DE64 0FC1E111 */ jal sub_GAME_7F078444 -/* 082998 7F04DE68 AFA20084 */ sw $v0, 0x84($sp) -/* 08299C 7F04DE6C 00402025 */ move $a0, $v0 -/* 0829A0 7F04DE70 8FA50084 */ lw $a1, 0x84($sp) -/* 0829A4 7F04DE74 0FC16063 */ jal sub_GAME_7F05818C -/* 0829A8 7F04DE78 27A60044 */ addiu $a2, $sp, 0x44 -/* 0829AC 7F04DE7C 8FA30088 */ lw $v1, 0x88($sp) -/* 0829B0 7F04DE80 27A40074 */ addiu $a0, $sp, 0x74 -/* 0829B4 7F04DE84 27A50044 */ addiu $a1, $sp, 0x44 -/* 0829B8 7F04DE88 C4640004 */ lwc1 $f4, 4($v1) -/* 0829BC 7F04DE8C 27A60054 */ addiu $a2, $sp, 0x54 -/* 0829C0 7F04DE90 27A70064 */ addiu $a3, $sp, 0x64 -/* 0829C4 7F04DE94 E7A40010 */ swc1 $f4, 0x10($sp) -/* 0829C8 7F04DE98 C4660008 */ lwc1 $f6, 8($v1) -/* 0829CC 7F04DE9C E7A60014 */ swc1 $f6, 0x14($sp) -/* 0829D0 7F04DEA0 C468000C */ lwc1 $f8, 0xc($v1) -/* 0829D4 7F04DEA4 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0829D8 7F04DEA8 C46A0010 */ lwc1 $f10, 0x10($v1) -/* 0829DC 7F04DEAC E7AA001C */ swc1 $f10, 0x1c($sp) -/* 0829E0 7F04DEB0 C4700014 */ lwc1 $f16, 0x14($v1) -/* 0829E4 7F04DEB4 E7B00020 */ swc1 $f16, 0x20($sp) -/* 0829E8 7F04DEB8 C4720018 */ lwc1 $f18, 0x18($v1) -/* 0829EC 7F04DEBC 0FC28768 */ jal sub_GAME_7F0A1DA0 -/* 0829F0 7F04DEC0 E7B20024 */ swc1 $f18, 0x24($sp) -/* 0829F4 7F04DEC4 8FA40094 */ lw $a0, 0x94($sp) -.L7F04DEC8: -/* 0829F8 7F04DEC8 0FC28333 */ jal sub_GAME_7F0A0CCC -/* 0829FC 7F04DECC 24050001 */ li $a1, 1 -/* 082A00 7F04DED0 8E0A0008 */ lw $t2, 8($s0) -/* 082A04 7F04DED4 02002025 */ move $a0, $s0 -/* 082A08 7F04DED8 8D4B0008 */ lw $t3, 8($t2) -/* 082A0C 7F04DEDC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 082A10 7F04DEE0 8D65000C */ lw $a1, 0xc($t3) -/* 082A14 7F04DEE4 AC400000 */ sw $zero, ($v0) -/* 082A18 7F04DEE8 8FBF0034 */ lw $ra, 0x34($sp) -/* 082A1C 7F04DEEC 8FB00030 */ lw $s0, 0x30($sp) -/* 082A20 7F04DEF0 27BD0098 */ addiu $sp, $sp, 0x98 -/* 082A24 7F04DEF4 03E00008 */ jr $ra -/* 082A28 7F04DEF8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04DEFC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04DEFC -/* 082A2C 7F04DEFC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 082A30 7F04DF00 AFBF003C */ sw $ra, 0x3c($sp) -/* 082A34 7F04DF04 AFB40038 */ sw $s4, 0x38($sp) -/* 082A38 7F04DF08 AFB30034 */ sw $s3, 0x34($sp) -/* 082A3C 7F04DF0C AFB20030 */ sw $s2, 0x30($sp) -/* 082A40 7F04DF10 AFB1002C */ sw $s1, 0x2c($sp) -/* 082A44 7F04DF14 AFB00028 */ sw $s0, 0x28($sp) -/* 082A48 7F04DF18 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 082A4C 7F04DF1C AFA40040 */ sw $a0, 0x40($sp) -/* 082A50 7F04DF20 8C820004 */ lw $v0, 4($a0) -/* 082A54 7F04DF24 8FB20050 */ lw $s2, 0x50($sp) -/* 082A58 7F04DF28 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 082A5C 7F04DF2C 8C4F0064 */ lw $t7, 0x64($v0) -/* 082A60 7F04DF30 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 082A64 7F04DF34 00124440 */ sll $t0, $s2, 0x11 -/* 082A68 7F04DF38 01E1C024 */ and $t8, $t7, $at -/* 082A6C 7F04DF3C 03084825 */ or $t1, $t8, $t0 -/* 082A70 7F04DF40 4485A000 */ mtc1 $a1, $f20 -/* 082A74 7F04DF44 00095B00 */ sll $t3, $t1, 0xc -/* 082A78 7F04DF48 AC580064 */ sw $t8, 0x64($v0) -/* 082A7C 7F04DF4C 00C09825 */ move $s3, $a2 -/* 082A80 7F04DF50 00E0A025 */ move $s4, $a3 -/* 082A84 7F04DF54 05600015 */ bltz $t3, .L7F04DFAC -/* 082A88 7F04DF58 AC490064 */ sw $t1, 0x64($v0) -/* 082A8C 7F04DF5C 8FAC0040 */ lw $t4, 0x40($sp) -/* 082A90 7F04DF60 8D900020 */ lw $s0, 0x20($t4) -/* 082A94 7F04DF64 5200000B */ beql $s0, $zero, .L7F04DF94 -/* 082A98 7F04DF68 8FAD0040 */ lw $t5, 0x40($sp) -.L7F04DF6C: -/* 082A9C 7F04DF6C 8E110024 */ lw $s1, 0x24($s0) -/* 082AA0 7F04DF70 4405A000 */ mfc1 $a1, $f20 -/* 082AA4 7F04DF74 AFB20010 */ sw $s2, 0x10($sp) -/* 082AA8 7F04DF78 02002025 */ move $a0, $s0 -/* 082AAC 7F04DF7C 02603025 */ move $a2, $s3 -/* 082AB0 7F04DF80 0FC137BF */ jal sub_GAME_7F04DEFC -/* 082AB4 7F04DF84 02803825 */ move $a3, $s4 -/* 082AB8 7F04DF88 1620FFF8 */ bnez $s1, .L7F04DF6C -/* 082ABC 7F04DF8C 02208025 */ move $s0, $s1 -/* 082AC0 7F04DF90 8FAD0040 */ lw $t5, 0x40($sp) -.L7F04DF94: -/* 082AC4 7F04DF94 4405A000 */ mfc1 $a1, $f20 -/* 082AC8 7F04DF98 02603025 */ move $a2, $s3 -/* 082ACC 7F04DF9C 8DA40004 */ lw $a0, 4($t5) -/* 082AD0 7F04DFA0 AFB20010 */ sw $s2, 0x10($sp) -/* 082AD4 7F04DFA4 0FC13842 */ jal maybe_detonate_object -/* 082AD8 7F04DFA8 02803825 */ move $a3, $s4 -.L7F04DFAC: -/* 082ADC 7F04DFAC 8FBF003C */ lw $ra, 0x3c($sp) -/* 082AE0 7F04DFB0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 082AE4 7F04DFB4 8FB00028 */ lw $s0, 0x28($sp) -/* 082AE8 7F04DFB8 8FB1002C */ lw $s1, 0x2c($sp) -/* 082AEC 7F04DFBC 8FB20030 */ lw $s2, 0x30($sp) -/* 082AF0 7F04DFC0 8FB30034 */ lw $s3, 0x34($sp) -/* 082AF4 7F04DFC4 8FB40038 */ lw $s4, 0x38($sp) -/* 082AF8 7F04DFC8 03E00008 */ jr $ra -/* 082AFC 7F04DFCC 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_destroyable_object_type(void) { - -} -#else -GLOBAL_ASM( -.late_rodata - - -.text -glabel check_if_destroyable_object_type -/* 082B00 7F04DFD0 908E0003 */ lbu $t6, 3($a0) -/* 082B04 7F04DFD4 25CFFFFF */ addiu $t7, $t6, -1 -/* 082B08 7F04DFD8 2DE1002F */ sltiu $at, $t7, 0x2f -/* 082B0C 7F04DFDC 10200008 */ beqz $at, .L7F04E000 -/* 082B10 7F04DFE0 000F7880 */ sll $t7, $t7, 2 -/* 082B14 7F04DFE4 3C018005 */ lui $at, %hi(jpt_80052DF0) -/* 082B18 7F04DFE8 002F0821 */ addu $at, $at, $t7 -/* 082B1C 7F04DFEC 8C2F2DF0 */ lw $t7, %lo(jpt_80052DF0)($at) -/* 082B20 7F04DFF0 01E00008 */ jr $t7 -/* 082B24 7F04DFF4 00000000 */ nop -destroyable_object: -/* 082B28 7F04DFF8 03E00008 */ jr $ra -/* 082B2C 7F04DFFC 24020001 */ li $v0, 1 - -nondestroyable_object: -.L7F04E000: -/* 082B30 7F04E000 00001025 */ move $v0, $zero -/* 082B34 7F04E004 03E00008 */ jr $ra -/* 082B38 7F04E008 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_collectable_object(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_collectable_object -/* 082B3C 7F04E00C 908E0003 */ lbu $t6, 3($a0) -/* 082B40 7F04E010 25CFFFFC */ addiu $t7, $t6, -4 -/* 082B44 7F04E014 2DE10012 */ sltiu $at, $t7, 0x12 -/* 082B48 7F04E018 10200008 */ beqz $at, .L7F04E03C -/* 082B4C 7F04E01C 000F7880 */ sll $t7, $t7, 2 -/* 082B50 7F04E020 3C018005 */ lui $at, %hi(jpt_80052EAC) -/* 082B54 7F04E024 002F0821 */ addu $at, $at, $t7 -/* 082B58 7F04E028 8C2F2EAC */ lw $t7, %lo(jpt_80052EAC)($at) -/* 082B5C 7F04E02C 01E00008 */ jr $t7 -/* 082B60 7F04E030 00000000 */ nop -collectable_object: -/* 082B64 7F04E034 03E00008 */ jr $ra -/* 082B68 7F04E038 24020001 */ li $v0, 1 - -notcollectable_object: -.L7F04E03C: -/* 082B6C 7F04E03C 00001025 */ move $v0, $zero -/* 082B70 7F04E040 03E00008 */ jr $ra -/* 082B74 7F04E044 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_destroyable_not_invincible(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_destroyable_not_invincible -/* 082B78 7F04E048 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 082B7C 7F04E04C AFBF0014 */ sw $ra, 0x14($sp) -/* 082B80 7F04E050 908E0003 */ lbu $t6, 3($a0) -/* 082B84 7F04E054 24010001 */ li $at, 1 -/* 082B88 7F04E058 15C10003 */ bne $t6, $at, .L7F04E068 -/* 082B8C 7F04E05C 00000000 */ nop -/* 082B90 7F04E060 10000016 */ b .L7F04E0BC -/* 082B94 7F04E064 00001025 */ move $v0, $zero -.L7F04E068: -/* 082B98 7F04E068 0FC13803 */ jal check_if_collectable_object -/* 082B9C 7F04E06C AFA40018 */ sw $a0, 0x18($sp) -/* 082BA0 7F04E070 1040000B */ beqz $v0, .L7F04E0A0 -/* 082BA4 7F04E074 8FA40018 */ lw $a0, 0x18($sp) -/* 082BA8 7F04E078 908F0003 */ lbu $t7, 3($a0) -/* 082BAC 7F04E07C 24010015 */ li $at, 21 -/* 082BB0 7F04E080 51E10008 */ beql $t7, $at, .L7F04E0A4 -/* 082BB4 7F04E084 8C880008 */ lw $t0, 8($a0) -/* 082BB8 7F04E088 8C980008 */ lw $t8, 8($a0) -/* 082BBC 7F04E08C 0018CBC0 */ sll $t9, $t8, 0xf -/* 082BC0 7F04E090 0722000A */ bltzl $t9, .L7F04E0BC -/* 082BC4 7F04E094 24020001 */ li $v0, 1 -/* 082BC8 7F04E098 10000008 */ b .L7F04E0BC -/* 082BCC 7F04E09C 00001025 */ move $v0, $zero -.L7F04E0A0: -/* 082BD0 7F04E0A0 8C880008 */ lw $t0, 8($a0) -.L7F04E0A4: -/* 082BD4 7F04E0A4 00084B80 */ sll $t1, $t0, 0xe -/* 082BD8 7F04E0A8 05230004 */ bgezl $t1, .L7F04E0BC -/* 082BDC 7F04E0AC 24020001 */ li $v0, 1 -/* 082BE0 7F04E0B0 10000002 */ b .L7F04E0BC -/* 082BE4 7F04E0B4 00001025 */ move $v0, $zero -/* 082BE8 7F04E0B8 24020001 */ li $v0, 1 -.L7F04E0BC: -/* 082BEC 7F04E0BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 082BF0 7F04E0C0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 082BF4 7F04E0C4 03E00008 */ jr $ra -/* 082BF8 7F04E0C8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04E0CC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04E0CC -/* 082BFC 7F04E0CC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 082C00 7F04E0D0 AFBF001C */ sw $ra, 0x1c($sp) -/* 082C04 7F04E0D4 8C8E000C */ lw $t6, 0xc($a0) -/* 082C08 7F04E0D8 44856000 */ mtc1 $a1, $f12 -/* 082C0C 7F04E0DC 8FB80030 */ lw $t8, 0x30($sp) -/* 082C10 7F04E0E0 31CF4000 */ andi $t7, $t6, 0x4000 -/* 082C14 7F04E0E4 55E00005 */ bnezl $t7, .L7F04E0FC -/* 082C18 7F04E0E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 082C1C 7F04E0EC 44056000 */ mfc1 $a1, $f12 -/* 082C20 7F04E0F0 0FC13842 */ jal maybe_detonate_object -/* 082C24 7F04E0F4 AFB80010 */ sw $t8, 0x10($sp) -/* 082C28 7F04E0F8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04E0FC: -/* 082C2C 7F04E0FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 082C30 7F04E100 03E00008 */ jr $ra -/* 082C34 7F04E104 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void maybe_detonate_object(void) { - -} -#else -GLOBAL_ASM( -.text -glabel maybe_detonate_object -/* 082C38 7F04E108 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 082C3C 7F04E10C AFBF001C */ sw $ra, 0x1c($sp) -/* 082C40 7F04E110 AFB00018 */ sw $s0, 0x18($sp) -/* 082C44 7F04E114 AFA600E8 */ sw $a2, 0xe8($sp) -/* 082C48 7F04E118 AFA700EC */ sw $a3, 0xec($sp) -/* 082C4C 7F04E11C 8C8E0064 */ lw $t6, 0x64($a0) -/* 082C50 7F04E120 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 -/* 082C54 7F04E124 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 082C58 7F04E128 01C17824 */ and $t7, $t6, $at -/* 082C5C 7F04E12C AC8F0064 */ sw $t7, 0x64($a0) -/* 082C60 7F04E130 8FB900F0 */ lw $t9, 0xf0($sp) -/* 082C64 7F04E134 908B0003 */ lbu $t3, 3($a0) -/* 082C68 7F04E138 44856000 */ mtc1 $a1, $f12 -/* 082C6C 7F04E13C 00194C40 */ sll $t1, $t9, 0x11 -/* 082C70 7F04E140 01E95025 */ or $t2, $t7, $t1 -/* 082C74 7F04E144 24010024 */ li $at, 36 -/* 082C78 7F04E148 00808025 */ move $s0, $a0 -/* 082C7C 7F04E14C 15610006 */ bne $t3, $at, .L7F04E168 -/* 082C80 7F04E150 AC8A0064 */ sw $t2, 0x64($a0) -/* 082C84 7F04E154 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 082C88 7F04E158 E7AC00E4 */ swc1 $f12, 0xe4($sp) -/* 082C8C 7F04E15C 24010001 */ li $at, 1 -/* 082C90 7F04E160 1041016A */ beq $v0, $at, .L7F04E70C -/* 082C94 7F04E164 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -.L7F04E168: -/* 082C98 7F04E168 8FAC00EC */ lw $t4, 0xec($sp) -/* 082C9C 7F04E16C 02002025 */ move $a0, $s0 -/* 082CA0 7F04E170 55800012 */ bnezl $t4, .L7F04E1BC -/* 082CA4 7F04E174 8E030008 */ lw $v1, 8($s0) -/* 082CA8 7F04E178 0FC13803 */ jal check_if_collectable_object -/* 082CAC 7F04E17C E7AC00E4 */ swc1 $f12, 0xe4($sp) -/* 082CB0 7F04E180 10400007 */ beqz $v0, .L7F04E1A0 -/* 082CB4 7F04E184 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 082CB8 7F04E188 8E0D0008 */ lw $t5, 8($s0) -/* 082CBC 7F04E18C 000D7200 */ sll $t6, $t5, 8 -/* 082CC0 7F04E190 05C20045 */ bltzl $t6, .L7F04E2A8 -/* 082CC4 7F04E194 02002025 */ move $a0, $s0 -/* 082CC8 7F04E198 1000015D */ b .L7F04E710 -/* 082CCC 7F04E19C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04E1A0: -/* 082CD0 7F04E1A0 8E0F0008 */ lw $t7, 8($s0) -/* 082CD4 7F04E1A4 000FC9C0 */ sll $t9, $t7, 7 -/* 082CD8 7F04E1A8 0723003F */ bgezl $t9, .L7F04E2A8 -/* 082CDC 7F04E1AC 02002025 */ move $a0, $s0 -/* 082CE0 7F04E1B0 10000157 */ b .L7F04E710 -/* 082CE4 7F04E1B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 082CE8 7F04E1B8 8E030008 */ lw $v1, 8($s0) -.L7F04E1BC: -/* 082CEC 7F04E1BC 0003C380 */ sll $t8, $v1, 0xe -/* 082CF0 7F04E1C0 07020153 */ bltzl $t8, .L7F04E710 -/* 082CF4 7F04E1C4 8FBF001C */ lw $ra, 0x1c($sp) -/* 082CF8 7F04E1C8 92020003 */ lbu $v0, 3($s0) -/* 082CFC 7F04E1CC 24050008 */ li $a1, 8 -/* 082D00 7F04E1D0 24040007 */ li $a0, 7 -/* 082D04 7F04E1D4 14A20015 */ bne $a1, $v0, .L7F04E22C -/* 082D08 7F04E1D8 00000000 */ nop -/* 082D0C 7F04E1DC 82020080 */ lb $v0, 0x80($s0) -/* 082D10 7F04E1E0 2401001A */ li $at, 26 -/* 082D14 7F04E1E4 1041000F */ beq $v0, $at, .L7F04E224 -/* 082D18 7F04E1E8 2401001B */ li $at, 27 -/* 082D1C 7F04E1EC 1041000D */ beq $v0, $at, .L7F04E224 -/* 082D20 7F04E1F0 2401001D */ li $at, 29 -/* 082D24 7F04E1F4 1041000B */ beq $v0, $at, .L7F04E224 -/* 082D28 7F04E1F8 2401001C */ li $at, 28 -/* 082D2C 7F04E1FC 10410009 */ beq $v0, $at, .L7F04E224 -/* 082D30 7F04E200 24010056 */ li $at, 86 -/* 082D34 7F04E204 10410007 */ beq $v0, $at, .L7F04E224 -/* 082D38 7F04E208 24010057 */ li $at, 87 -/* 082D3C 7F04E20C 10410005 */ beq $v0, $at, .L7F04E224 -/* 082D40 7F04E210 24010021 */ li $at, 33 -/* 082D44 7F04E214 10410003 */ beq $v0, $at, .L7F04E224 -/* 082D48 7F04E218 24010022 */ li $at, 34 -/* 082D4C 7F04E21C 5441013C */ bnel $v0, $at, .L7F04E710 -/* 082D50 7F04E220 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04E224: -/* 082D54 7F04E224 10000139 */ b .L7F04E70C -/* 082D58 7F04E228 A6000082 */ sh $zero, 0x82($s0) -.L7F04E22C: -/* 082D5C 7F04E22C 54820019 */ bnel $a0, $v0, .L7F04E294 -/* 082D60 7F04E230 02002025 */ move $a0, $s0 -/* 082D64 7F04E234 8E020080 */ lw $v0, 0x80($s0) -/* 082D68 7F04E238 24010005 */ li $at, 5 -/* 082D6C 7F04E23C 10410010 */ beq $v0, $at, .L7F04E280 -/* 082D70 7F04E240 24010006 */ li $at, 6 -/* 082D74 7F04E244 5041000F */ beql $v0, $at, .L7F04E284 -/* 082D78 7F04E248 3C011000 */ lui $at, 0x1000 -/* 082D7C 7F04E24C 5082000D */ beql $a0, $v0, .L7F04E284 -/* 082D80 7F04E250 3C011000 */ lui $at, 0x1000 -/* 082D84 7F04E254 10A2000A */ beq $a1, $v0, .L7F04E280 -/* 082D88 7F04E258 24010009 */ li $at, 9 -/* 082D8C 7F04E25C 10410008 */ beq $v0, $at, .L7F04E280 -/* 082D90 7F04E260 2401000B */ li $at, 11 -/* 082D94 7F04E264 10410006 */ beq $v0, $at, .L7F04E280 -/* 082D98 7F04E268 2401000F */ li $at, 15 -/* 082D9C 7F04E26C 10410004 */ beq $v0, $at, .L7F04E280 -/* 082DA0 7F04E270 24010010 */ li $at, 16 -/* 082DA4 7F04E274 10410002 */ beq $v0, $at, .L7F04E280 -/* 082DA8 7F04E278 24010013 */ li $at, 19 -/* 082DAC 7F04E27C 14410123 */ bne $v0, $at, .L7F04E70C -.L7F04E280: -/* 082DB0 7F04E280 3C011000 */ li $at, 0x10000000 # 0.000000 -.L7F04E284: -/* 082DB4 7F04E284 00614825 */ or $t1, $v1, $at -/* 082DB8 7F04E288 10000120 */ b .L7F04E70C -/* 082DBC 7F04E28C AE090008 */ sw $t1, 8($s0) -/* 082DC0 7F04E290 02002025 */ move $a0, $s0 -.L7F04E294: -/* 082DC4 7F04E294 0FC13812 */ jal check_if_destroyable_not_invincible -/* 082DC8 7F04E298 E7AC00E4 */ swc1 $f12, 0xe4($sp) -/* 082DCC 7F04E29C 1040011B */ beqz $v0, .L7F04E70C -/* 082DD0 7F04E2A0 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 082DD4 7F04E2A4 02002025 */ move $a0, $s0 -.L7F04E2A8: -/* 082DD8 7F04E2A8 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 082DDC 7F04E2AC E7AC00E4 */ swc1 $f12, 0xe4($sp) -/* 082DE0 7F04E2B0 14400008 */ bnez $v0, .L7F04E2D4 -/* 082DE4 7F04E2B4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 082DE8 7F04E2B8 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 082DEC 7F04E2BC 44813000 */ mtc1 $at, $f6 -/* 082DF0 7F04E2C0 C6040070 */ lwc1 $f4, 0x70($s0) -/* 082DF4 7F04E2C4 46066202 */ mul.s $f8, $f12, $f6 -/* 082DF8 7F04E2C8 46082280 */ add.s $f10, $f4, $f8 -/* 082DFC 7F04E2CC 1000001F */ b .L7F04E34C -/* 082E00 7F04E2D0 E60A0070 */ swc1 $f10, 0x70($s0) -.L7F04E2D4: -/* 082E04 7F04E2D4 02002025 */ move $a0, $s0 -/* 082E08 7F04E2D8 0FC0FFD8 */ jal sub_GAME_7F03FF60 -/* 082E0C 7F04E2DC E7AC00E4 */ swc1 $f12, 0xe4($sp) -/* 082E10 7F04E2E0 240B0004 */ li $t3, 4 -/* 082E14 7F04E2E4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) -/* 082E18 7F04E2E8 04410004 */ bgez $v0, .L7F04E2FC -/* 082E1C 7F04E2EC 304A0003 */ andi $t2, $v0, 3 -/* 082E20 7F04E2F0 11400002 */ beqz $t2, .L7F04E2FC -/* 082E24 7F04E2F4 00000000 */ nop -/* 082E28 7F04E2F8 254AFFFC */ addiu $t2, $t2, -4 -.L7F04E2FC: -/* 082E2C 7F04E2FC 016A6023 */ subu $t4, $t3, $t2 -/* 082E30 7F04E300 448C8000 */ mtc1 $t4, $f16 -/* 082E34 7F04E304 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 082E38 7F04E308 46808020 */ cvt.s.w $f0, $f16 -/* 082E3C 7F04E30C 460C003C */ c.lt.s $f0, $f12 -/* 082E40 7F04E310 00000000 */ nop -/* 082E44 7F04E314 45020004 */ bc1fl .L7F04E328 -/* 082E48 7F04E318 44810000 */ mtc1 $at, $f0 -/* 082E4C 7F04E31C 10000008 */ b .L7F04E340 -/* 082E50 7F04E320 46000306 */ mov.s $f12, $f0 -/* 082E54 7F04E324 44810000 */ mtc1 $at, $f0 -.L7F04E328: -/* 082E58 7F04E328 00000000 */ nop -/* 082E5C 7F04E32C 4600603C */ c.lt.s $f12, $f0 -/* 082E60 7F04E330 00000000 */ nop -/* 082E64 7F04E334 45020003 */ bc1fl .L7F04E344 -/* 082E68 7F04E338 C6120070 */ lwc1 $f18, 0x70($s0) -/* 082E6C 7F04E33C 46000306 */ mov.s $f12, $f0 -.L7F04E340: -/* 082E70 7F04E340 C6120070 */ lwc1 $f18, 0x70($s0) -.L7F04E344: -/* 082E74 7F04E344 460C9180 */ add.s $f6, $f18, $f12 -/* 082E78 7F04E348 E6060070 */ swc1 $f6, 0x70($s0) -.L7F04E34C: -/* 082E7C 7F04E34C 92020003 */ lbu $v0, 3($s0) -/* 082E80 7F04E350 2401002A */ li $at, 42 -/* 082E84 7F04E354 10410003 */ beq $v0, $at, .L7F04E364 -/* 082E88 7F04E358 2401002F */ li $at, 47 -/* 082E8C 7F04E35C 1441000B */ bne $v0, $at, .L7F04E38C -/* 082E90 7F04E360 24050001 */ li $a1, 1 -.L7F04E364: -/* 082E94 7F04E364 C6040070 */ lwc1 $f4, 0x70($s0) -/* 082E98 7F04E368 C6080074 */ lwc1 $f8, 0x74($s0) -/* 082E9C 7F04E36C 4604403E */ c.le.s $f8, $f4 -/* 082EA0 7F04E370 00000000 */ nop -/* 082EA4 7F04E374 4502000D */ bc1fl .L7F04E3AC -/* 082EA8 7F04E378 24010014 */ li $at, 20 -/* 082EAC 7F04E37C 0FC1372D */ jal sub_GAME_7F04DCB4 -/* 082EB0 7F04E380 02002025 */ move $a0, $s0 -/* 082EB4 7F04E384 10000008 */ b .L7F04E3A8 -/* 082EB8 7F04E388 92020003 */ lbu $v0, 3($s0) -.L7F04E38C: -/* 082EBC 7F04E38C 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 082EC0 7F04E390 8E040010 */ lw $a0, 0x10($s0) -/* 082EC4 7F04E394 02002025 */ move $a0, $s0 -/* 082EC8 7F04E398 8FA500E8 */ lw $a1, 0xe8($sp) -/* 082ECC 7F04E39C 0FC13383 */ jal object_explosion_related -/* 082ED0 7F04E3A0 8FA600F0 */ lw $a2, 0xf0($sp) -/* 082ED4 7F04E3A4 92020003 */ lbu $v0, 3($s0) -.L7F04E3A8: -/* 082ED8 7F04E3A8 24010014 */ li $at, 20 -.L7F04E3AC: -/* 082EDC 7F04E3AC 54410065 */ bnel $v0, $at, .L7F04E544 -/* 082EE0 7F04E3B0 92020003 */ lbu $v0, 3($s0) -/* 082EE4 7F04E3B4 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 082EE8 7F04E3B8 02002025 */ move $a0, $s0 -/* 082EEC 7F04E3BC 24010001 */ li $at, 1 -/* 082EF0 7F04E3C0 54410060 */ bnel $v0, $at, .L7F04E544 -/* 082EF4 7F04E3C4 92020003 */ lbu $v0, 3($s0) -/* 082EF8 7F04E3C8 0C002914 */ jal get_random_value -/* 082EFC 7F04E3CC 00000000 */ nop -/* 082F00 7F04E3D0 2401000D */ li $at, 13 -/* 082F04 7F04E3D4 0041001B */ divu $zero, $v0, $at -/* 082F08 7F04E3D8 00002010 */ mfhi $a0 -/* 082F0C 7F04E3DC 00802825 */ move $a1, $a0 -/* 082F10 7F04E3E0 00000000 */ nop -/* 082F14 7F04E3E4 00046880 */ sll $t5, $a0, 2 -.L7F04E3E8: -/* 082F18 7F04E3E8 020D1821 */ addu $v1, $s0, $t5 -/* 082F1C 7F04E3EC 946E0082 */ lhu $t6, 0x82($v1) -/* 082F20 7F04E3F0 59C0004E */ blezl $t6, .L7F04E52C -/* 082F24 7F04E3F4 24840001 */ addiu $a0, $a0, 1 -/* 082F28 7F04E3F8 946F0080 */ lhu $t7, 0x80($v1) -/* 082F2C 7F04E3FC 3401FFFF */ li $at, 65535 -/* 082F30 7F04E400 51E1004A */ beql $t7, $at, .L7F04E52C -/* 082F34 7F04E404 24840001 */ addiu $a0, $a0, 1 -/* 082F38 7F04E408 AFA30024 */ sw $v1, 0x24($sp) -/* 082F3C 7F04E40C AFA400C4 */ sw $a0, 0xc4($sp) -/* 082F40 7F04E410 0FC14634 */ jal sub_GAME_7F0518D0 -/* 082F44 7F04E414 AFA500C8 */ sw $a1, 0xc8($sp) -/* 082F48 7F04E418 8FA30024 */ lw $v1, 0x24($sp) -/* 082F4C 7F04E41C 8FA400C4 */ lw $a0, 0xc4($sp) -/* 082F50 7F04E420 8FA500C8 */ lw $a1, 0xc8($sp) -/* 082F54 7F04E424 10400040 */ beqz $v0, .L7F04E528 -/* 082F58 7F04E428 00403025 */ move $a2, $v0 -/* 082F5C 7F04E42C 3C198003 */ lui $t9, %hi(blank_07_object) -/* 082F60 7F04E430 27A8003C */ addiu $t0, $sp, 0x3c -/* 082F64 7F04E434 27392094 */ addiu $t9, %lo(blank_07_object) # addiu $t9, $t9, 0x2094 -/* 082F68 7F04E438 94670080 */ lhu $a3, 0x80($v1) -/* 082F6C 7F04E43C 27290078 */ addiu $t1, $t9, 0x78 -/* 082F70 7F04E440 01005825 */ move $t3, $t0 -.L7F04E444: -/* 082F74 7F04E444 8F210000 */ lw $at, ($t9) -/* 082F78 7F04E448 2739000C */ addiu $t9, $t9, 0xc -/* 082F7C 7F04E44C 256B000C */ addiu $t3, $t3, 0xc -/* 082F80 7F04E450 AD61FFF4 */ sw $at, -0xc($t3) -/* 082F84 7F04E454 8F21FFF8 */ lw $at, -8($t9) -/* 082F88 7F04E458 AD61FFF8 */ sw $at, -8($t3) -/* 082F8C 7F04E45C 8F21FFFC */ lw $at, -4($t9) -/* 082F90 7F04E460 1729FFF8 */ bne $t9, $t1, .L7F04E444 -/* 082F94 7F04E464 AD61FFFC */ sw $at, -4($t3) -/* 082F98 7F04E468 8F210000 */ lw $at, ($t9) -/* 082F9C 7F04E46C 01006825 */ move $t5, $t0 -/* 082FA0 7F04E470 00407025 */ move $t6, $v0 -/* 082FA4 7F04E474 AD610000 */ sw $at, ($t3) -/* 082FA8 7F04E478 8F290004 */ lw $t1, 4($t9) -/* 082FAC 7F04E47C 250C0078 */ addiu $t4, $t0, 0x78 -/* 082FB0 7F04E480 0007C080 */ sll $t8, $a3, 2 -/* 082FB4 7F04E484 AD690004 */ sw $t1, 4($t3) -.L7F04E488: -/* 082FB8 7F04E488 8DA10000 */ lw $at, ($t5) -/* 082FBC 7F04E48C 25AD000C */ addiu $t5, $t5, 0xc -/* 082FC0 7F04E490 25CE000C */ addiu $t6, $t6, 0xc -/* 082FC4 7F04E494 ADC1FFF4 */ sw $at, -0xc($t6) -/* 082FC8 7F04E498 8DA1FFF8 */ lw $at, -8($t5) -/* 082FCC 7F04E49C ADC1FFF8 */ sw $at, -8($t6) -/* 082FD0 7F04E4A0 8DA1FFFC */ lw $at, -4($t5) -/* 082FD4 7F04E4A4 15ACFFF8 */ bne $t5, $t4, .L7F04E488 -/* 082FD8 7F04E4A8 ADC1FFFC */ sw $at, -4($t6) -/* 082FDC 7F04E4AC 8DA10000 */ lw $at, ($t5) -/* 082FE0 7F04E4B0 24850001 */ addiu $a1, $a0, 1 -/* 082FE4 7F04E4B4 00C02025 */ move $a0, $a2 -/* 082FE8 7F04E4B8 ADC10000 */ sw $at, ($t6) -/* 082FEC 7F04E4BC 8DAC0004 */ lw $t4, 4($t5) -/* 082FF0 7F04E4C0 24010002 */ li $at, 2 -/* 082FF4 7F04E4C4 0307C023 */ subu $t8, $t8, $a3 -/* 082FF8 7F04E4C8 ADCC0004 */ sw $t4, 4($t6) -/* 082FFC 7F04E4CC A4470004 */ sh $a3, 4($v0) -/* 083000 7F04E4D0 14A10003 */ bne $a1, $at, .L7F04E4E0 -/* 083004 7F04E4D4 AC450080 */ sw $a1, 0x80($v0) -/* 083008 7F04E4D8 240F0001 */ li $t7, 1 -/* 08300C 7F04E4DC AC4F0080 */ sw $t7, 0x80($v0) -.L7F04E4E0: -/* 083010 7F04E4E0 0018C080 */ sll $t8, $t8, 2 -/* 083014 7F04E4E4 3C058004 */ lui $a1, %hi(PitemZ_entries) -/* 083018 7F04E4E8 00B82821 */ addu $a1, $a1, $t8 -/* 08301C 7F04E4EC 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) -/* 083020 7F04E4F0 0FC101BE */ jal sub_GAME_7F0406F8 -/* 083024 7F04E4F4 AFA600C0 */ sw $a2, 0xc0($sp) -/* 083028 7F04E4F8 10400011 */ beqz $v0, .L7F04E540 -/* 08302C 7F04E4FC 8FA600C0 */ lw $a2, 0xc0($sp) -/* 083030 7F04E500 8CC40014 */ lw $a0, 0x14($a2) -/* 083034 7F04E504 8C850014 */ lw $a1, 0x14($a0) -/* 083038 7F04E508 0FC1B39E */ jal set_obj_instance_controller_scale -/* 08303C 7F04E50C AFA600C0 */ sw $a2, 0xc0($sp) -/* 083040 7F04E510 8FA600C0 */ lw $a2, 0xc0($sp) -/* 083044 7F04E514 8E050010 */ lw $a1, 0x10($s0) -/* 083048 7F04E518 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 08304C 7F04E51C 8CC40010 */ lw $a0, 0x10($a2) -/* 083050 7F04E520 10000008 */ b .L7F04E544 -/* 083054 7F04E524 92020003 */ lbu $v0, 3($s0) -.L7F04E528: -/* 083058 7F04E528 24840001 */ addiu $a0, $a0, 1 -.L7F04E52C: -/* 08305C 7F04E52C 2401000D */ li $at, 13 -/* 083060 7F04E530 0081001A */ div $zero, $a0, $at -/* 083064 7F04E534 00002010 */ mfhi $a0 -/* 083068 7F04E538 5485FFAB */ bnel $a0, $a1, .L7F04E3E8 -/* 08306C 7F04E53C 00046880 */ sll $t5, $a0, 2 -.L7F04E540: -/* 083070 7F04E540 92020003 */ lbu $v0, 3($s0) -.L7F04E544: -/* 083074 7F04E544 2401000D */ li $at, 13 -/* 083078 7F04E548 54410010 */ bnel $v0, $at, .L7F04E58C -/* 08307C 7F04E54C 24010006 */ li $at, 6 -/* 083080 7F04E550 8E190008 */ lw $t9, 8($s0) -/* 083084 7F04E554 3C014000 */ lui $at, 0x4000 -/* 083088 7F04E558 02002025 */ move $a0, $s0 -/* 08308C 7F04E55C 03215825 */ or $t3, $t9, $at -/* 083090 7F04E560 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 083094 7F04E564 AE0B0008 */ sw $t3, 8($s0) -/* 083098 7F04E568 24010001 */ li $at, 1 -/* 08309C 7F04E56C 14410057 */ bne $v0, $at, .L7F04E6CC -/* 0830A0 7F04E570 00000000 */ nop -/* 0830A4 7F04E574 8E0A0008 */ lw $t2, 8($s0) -/* 0830A8 7F04E578 3C011000 */ lui $at, 0x1000 -/* 0830AC 7F04E57C 01416025 */ or $t4, $t2, $at -/* 0830B0 7F04E580 10000052 */ b .L7F04E6CC -/* 0830B4 7F04E584 AE0C0008 */ sw $t4, 8($s0) -/* 0830B8 7F04E588 24010006 */ li $at, 6 -.L7F04E58C: -/* 0830BC 7F04E58C 5441000C */ bnel $v0, $at, .L7F04E5C0 -/* 0830C0 7F04E590 2401000A */ li $at, 10 -/* 0830C4 7F04E594 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 0830C8 7F04E598 02002025 */ move $a0, $s0 -/* 0830CC 7F04E59C 24010001 */ li $at, 1 -/* 0830D0 7F04E5A0 1441004A */ bne $v0, $at, .L7F04E6CC -/* 0830D4 7F04E5A4 00000000 */ nop -/* 0830D8 7F04E5A8 8E0D0008 */ lw $t5, 8($s0) -/* 0830DC 7F04E5AC 3C011000 */ lui $at, 0x1000 -/* 0830E0 7F04E5B0 01A17025 */ or $t6, $t5, $at -/* 0830E4 7F04E5B4 10000045 */ b .L7F04E6CC -/* 0830E8 7F04E5B8 AE0E0008 */ sw $t6, 8($s0) -/* 0830EC 7F04E5BC 2401000A */ li $at, 10 -.L7F04E5C0: -/* 0830F0 7F04E5C0 5441000C */ bnel $v0, $at, .L7F04E5F4 -/* 0830F4 7F04E5C4 2401000B */ li $at, 11 -/* 0830F8 7F04E5C8 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 0830FC 7F04E5CC 02002025 */ move $a0, $s0 -/* 083100 7F04E5D0 24010001 */ li $at, 1 -/* 083104 7F04E5D4 1441003D */ bne $v0, $at, .L7F04E6CC -/* 083108 7F04E5D8 26040080 */ addiu $a0, $s0, 0x80 -/* 08310C 7F04E5DC 3C058003 */ lui $a1, %hi(D_80031EE8) -/* 083110 7F04E5E0 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 083114 7F04E5E4 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 -/* 083118 7F04E5E8 10000038 */ b .L7F04E6CC -/* 08311C 7F04E5EC 00000000 */ nop -/* 083120 7F04E5F0 2401000B */ li $at, 11 -.L7F04E5F4: -/* 083124 7F04E5F4 54410018 */ bnel $v0, $at, .L7F04E658 -/* 083128 7F04E5F8 24010024 */ li $at, 36 -/* 08312C 7F04E5FC 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 083130 7F04E600 02002025 */ move $a0, $s0 -/* 083134 7F04E604 24010001 */ li $at, 1 -/* 083138 7F04E608 14410030 */ bne $v0, $at, .L7F04E6CC -/* 08313C 7F04E60C 26040080 */ addiu $a0, $s0, 0x80 -/* 083140 7F04E610 3C058003 */ lui $a1, %hi(D_80031EE8) -/* 083144 7F04E614 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 083148 7F04E618 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 -/* 08314C 7F04E61C 3C058003 */ lui $a1, %hi(D_80031EE8) -/* 083150 7F04E620 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 -/* 083154 7F04E624 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 083158 7F04E628 260400F4 */ addiu $a0, $s0, 0xf4 -/* 08315C 7F04E62C 3C058003 */ lui $a1, %hi(D_80031EE8) -/* 083160 7F04E630 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 -/* 083164 7F04E634 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 083168 7F04E638 26040168 */ addiu $a0, $s0, 0x168 -/* 08316C 7F04E63C 3C058003 */ lui $a1, %hi(D_80031EE8) -/* 083170 7F04E640 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 -/* 083174 7F04E644 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot -/* 083178 7F04E648 260401DC */ addiu $a0, $s0, 0x1dc -/* 08317C 7F04E64C 1000001F */ b .L7F04E6CC -/* 083180 7F04E650 00000000 */ nop -/* 083184 7F04E654 24010024 */ li $at, 36 -.L7F04E658: -/* 083188 7F04E658 5441000B */ bnel $v0, $at, .L7F04E688 -/* 08318C 7F04E65C 24010015 */ li $at, 21 -/* 083190 7F04E660 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 083194 7F04E664 02002025 */ move $a0, $s0 -/* 083198 7F04E668 24010001 */ li $at, 1 -/* 08319C 7F04E66C 14410017 */ bne $v0, $at, .L7F04E6CC -/* 0831A0 7F04E670 00000000 */ nop -/* 0831A4 7F04E674 0FC15799 */ jal init_trigger_toxic_gas_effect -/* 0831A8 7F04E678 26040058 */ addiu $a0, $s0, 0x58 -/* 0831AC 7F04E67C 10000013 */ b .L7F04E6CC -/* 0831B0 7F04E680 00000000 */ nop -/* 0831B4 7F04E684 24010015 */ li $at, 21 -.L7F04E688: -/* 0831B8 7F04E688 14410010 */ bne $v0, $at, .L7F04E6CC -/* 0831BC 7F04E68C 00000000 */ nop -/* 0831C0 7F04E690 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 0831C4 7F04E694 02002025 */ move $a0, $s0 -/* 0831C8 7F04E698 5440000A */ bnezl $v0, .L7F04E6C4 -/* 0831CC 7F04E69C 44804000 */ mtc1 $zero, $f8 -/* 0831D0 7F04E6A0 C6000074 */ lwc1 $f0, 0x74($s0) -/* 0831D4 7F04E6A4 C6100070 */ lwc1 $f16, 0x70($s0) -/* 0831D8 7F04E6A8 C60A0080 */ lwc1 $f10, 0x80($s0) -/* 0831DC 7F04E6AC 46100481 */ sub.s $f18, $f0, $f16 -/* 0831E0 7F04E6B0 46125182 */ mul.s $f6, $f10, $f18 -/* 0831E4 7F04E6B4 46003103 */ div.s $f4, $f6, $f0 -/* 0831E8 7F04E6B8 10000004 */ b .L7F04E6CC -/* 0831EC 7F04E6BC E6040084 */ swc1 $f4, 0x84($s0) -/* 0831F0 7F04E6C0 44804000 */ mtc1 $zero, $f8 -.L7F04E6C4: -/* 0831F4 7F04E6C4 00000000 */ nop -/* 0831F8 7F04E6C8 E6080084 */ swc1 $f8, 0x84($s0) -.L7F04E6CC: -/* 0831FC 7F04E6CC 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 083200 7F04E6D0 02002025 */ move $a0, $s0 -/* 083204 7F04E6D4 24010001 */ li $at, 1 -/* 083208 7F04E6D8 5441000D */ bnel $v0, $at, .L7F04E710 -/* 08320C 7F04E6DC 8FBF001C */ lw $ra, 0x1c($sp) -/* 083210 7F04E6E0 8E0F0010 */ lw $t7, 0x10($s0) -/* 083214 7F04E6E4 8DE40020 */ lw $a0, 0x20($t7) -/* 083218 7F04E6E8 50800009 */ beql $a0, $zero, .L7F04E710 -/* 08321C 7F04E6EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 083220 7F04E6F0 8C820024 */ lw $v0, 0x24($a0) -.L7F04E6F4: -/* 083224 7F04E6F4 24050001 */ li $a1, 1 -/* 083228 7F04E6F8 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 08322C 7F04E6FC AFA20028 */ sw $v0, 0x28($sp) -/* 083230 7F04E700 8FA40028 */ lw $a0, 0x28($sp) -/* 083234 7F04E704 5480FFFB */ bnezl $a0, .L7F04E6F4 -/* 083238 7F04E708 8C820024 */ lw $v0, 0x24($a0) -.L7F04E70C: -/* 08323C 7F04E70C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04E710: -/* 083240 7F04E710 8FB00018 */ lw $s0, 0x18($sp) -/* 083244 7F04E714 27BD00E0 */ addiu $sp, $sp, 0xe0 -/* 083248 7F04E718 03E00008 */ jr $ra -/* 08324C 7F04E71C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04E720(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04E720 -/* 083250 7F04E720 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 083254 7F04E724 AFBF004C */ sw $ra, 0x4c($sp) -/* 083258 7F04E728 AFB50048 */ sw $s5, 0x48($sp) -/* 08325C 7F04E72C AFB40044 */ sw $s4, 0x44($sp) -/* 083260 7F04E730 AFB30040 */ sw $s3, 0x40($sp) -/* 083264 7F04E734 AFB2003C */ sw $s2, 0x3c($sp) -/* 083268 7F04E738 AFB10038 */ sw $s1, 0x38($sp) -/* 08326C 7F04E73C AFB00034 */ sw $s0, 0x34($sp) -/* 083270 7F04E740 AFA400C0 */ sw $a0, 0xc0($sp) -/* 083274 7F04E744 8C950004 */ lw $s5, 4($a0) -/* 083278 7F04E748 00A09825 */ move $s3, $a1 -/* 08327C 7F04E74C 8EAF0064 */ lw $t7, 0x64($s5) -/* 083280 7F04E750 31F81000 */ andi $t8, $t7, 0x1000 -/* 083284 7F04E754 57000091 */ bnezl $t8, .L7F04E99C -/* 083288 7F04E758 8FBF004C */ lw $ra, 0x4c($sp) -/* 08328C 7F04E75C 90880001 */ lbu $t0, 1($a0) -/* 083290 7F04E760 31090002 */ andi $t1, $t0, 2 -/* 083294 7F04E764 5120008D */ beql $t1, $zero, .L7F04E99C -/* 083298 7F04E768 8FBF004C */ lw $ra, 0x4c($sp) -/* 08329C 7F04E76C 8C900020 */ lw $s0, 0x20($a0) -/* 0832A0 7F04E770 52000008 */ beql $s0, $zero, .L7F04E794 -/* 0832A4 7F04E774 8EB40014 */ lw $s4, 0x14($s5) -.L7F04E778: -/* 0832A8 7F04E778 8E110024 */ lw $s1, 0x24($s0) -/* 0832AC 7F04E77C 02002025 */ move $a0, $s0 -/* 0832B0 7F04E780 0FC139C8 */ jal sub_GAME_7F04E720 -/* 0832B4 7F04E784 02602825 */ move $a1, $s3 -/* 0832B8 7F04E788 1620FFFB */ bnez $s1, .L7F04E778 -/* 0832BC 7F04E78C 02208025 */ move $s0, $s1 -/* 0832C0 7F04E790 8EB40014 */ lw $s4, 0x14($s5) -.L7F04E794: -/* 0832C4 7F04E794 AFA000A8 */ sw $zero, 0xa8($sp) -/* 0832C8 7F04E798 92AB0003 */ lbu $t3, 3($s5) -/* 0832CC 7F04E79C 24010001 */ li $at, 1 -/* 0832D0 7F04E7A0 2670000C */ addiu $s0, $s3, 0xc -/* 0832D4 7F04E7A4 15610025 */ bne $t3, $at, .L7F04E83C -/* 0832D8 7F04E7A8 27B100A8 */ addiu $s1, $sp, 0xa8 -/* 0832DC 7F04E7AC 96AC0098 */ lhu $t4, 0x98($s5) -/* 0832E0 7F04E7B0 26A400D0 */ addiu $a0, $s5, 0xd0 -/* 0832E4 7F04E7B4 02603025 */ move $a2, $s3 -/* 0832E8 7F04E7B8 318D0004 */ andi $t5, $t4, 4 -/* 0832EC 7F04E7BC 55A00008 */ bnezl $t5, .L7F04E7E0 -/* 0832F0 7F04E7C0 2670000C */ addiu $s0, $s3, 0xc -/* 0832F4 7F04E7C4 96A2009A */ lhu $v0, 0x9a($s5) -/* 0832F8 7F04E7C8 24010006 */ li $at, 6 -/* 0832FC 7F04E7CC 10410003 */ beq $v0, $at, .L7F04E7DC -/* 083300 7F04E7D0 24010007 */ li $at, 7 -/* 083304 7F04E7D4 14410019 */ bne $v0, $at, .L7F04E83C -/* 083308 7F04E7D8 00000000 */ nop -.L7F04E7DC: -/* 08330C 7F04E7DC 2670000C */ addiu $s0, $s3, 0xc -.L7F04E7E0: -/* 083310 7F04E7E0 02003825 */ move $a3, $s0 -/* 083314 7F04E7E4 0FC1D1F4 */ jal sub_GAME_7F0747D0 -/* 083318 7F04E7E8 8E85000C */ lw $a1, 0xc($s4) -/* 08331C 7F04E7EC 8E8E0008 */ lw $t6, 8($s4) -/* 083320 7F04E7F0 00409025 */ move $s2, $v0 -/* 083324 7F04E7F4 02802025 */ move $a0, $s4 -/* 083328 7F04E7F8 8DCF0000 */ lw $t7, ($t6) -/* 08332C 7F04E7FC 02603025 */ move $a2, $s3 -/* 083330 7F04E800 18400024 */ blez $v0, .L7F04E894 -/* 083334 7F04E804 AFAF00A8 */ sw $t7, 0xa8($sp) -/* 083338 7F04E808 27B80078 */ addiu $t8, $sp, 0x78 -/* 08333C 7F04E80C 27B90074 */ addiu $t9, $sp, 0x74 -/* 083340 7F04E810 27A80060 */ addiu $t0, $sp, 0x60 -/* 083344 7F04E814 AFA80018 */ sw $t0, 0x18($sp) -/* 083348 7F04E818 AFB90014 */ sw $t9, 0x14($sp) -/* 08334C 7F04E81C AFB80010 */ sw $t8, 0x10($sp) -/* 083350 7F04E820 01E02825 */ move $a1, $t7 -/* 083354 7F04E824 0FC1366C */ jal sub_GAME_7F04D9B0 -/* 083358 7F04E828 02003825 */ move $a3, $s0 -/* 08335C 7F04E82C 14400019 */ bnez $v0, .L7F04E894 -/* 083360 7F04E830 00000000 */ nop -/* 083364 7F04E834 10000017 */ b .L7F04E894 -/* 083368 7F04E838 00009025 */ move $s2, $zero -.L7F04E83C: -/* 08336C 7F04E83C 02802025 */ move $a0, $s4 -.L7F04E840: -/* 083370 7F04E840 02602825 */ move $a1, $s3 -/* 083374 7F04E844 02003025 */ move $a2, $s0 -/* 083378 7F04E848 0FC1D4BF */ jal sub_GAME_7F0752FC -/* 08337C 7F04E84C 02203825 */ move $a3, $s1 -/* 083380 7F04E850 1840000E */ blez $v0, .L7F04E88C -/* 083384 7F04E854 00409025 */ move $s2, $v0 -/* 083388 7F04E858 27A90078 */ addiu $t1, $sp, 0x78 -/* 08338C 7F04E85C 27AA0074 */ addiu $t2, $sp, 0x74 -/* 083390 7F04E860 27AB0060 */ addiu $t3, $sp, 0x60 -/* 083394 7F04E864 AFAB0018 */ sw $t3, 0x18($sp) -/* 083398 7F04E868 AFAA0014 */ sw $t2, 0x14($sp) -/* 08339C 7F04E86C AFA90010 */ sw $t1, 0x10($sp) -/* 0833A0 7F04E870 02802025 */ move $a0, $s4 -/* 0833A4 7F04E874 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0833A8 7F04E878 02603025 */ move $a2, $s3 -/* 0833AC 7F04E87C 0FC1366C */ jal sub_GAME_7F04D9B0 -/* 0833B0 7F04E880 02003825 */ move $a3, $s0 -/* 0833B4 7F04E884 14400003 */ bnez $v0, .L7F04E894 -/* 0833B8 7F04E888 00000000 */ nop -.L7F04E88C: -/* 0833BC 7F04E88C 5E40FFEC */ bgtzl $s2, .L7F04E840 -/* 0833C0 7F04E890 02802025 */ move $a0, $s4 -.L7F04E894: -/* 0833C4 7F04E894 1A400040 */ blez $s2, .L7F04E998 -/* 0833C8 7F04E898 8FAD0074 */ lw $t5, 0x74($sp) -/* 0833CC 7F04E89C 8E8C000C */ lw $t4, 0xc($s4) -/* 0833D0 7F04E8A0 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0833D4 7F04E8A4 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 0833D8 7F04E8A8 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 0833DC 7F04E8AC 000D7180 */ sll $t6, $t5, 6 -/* 0833E0 7F04E8B0 27A50068 */ addiu $a1, $sp, 0x68 -/* 0833E4 7F04E8B4 018E2021 */ addu $a0, $t4, $t6 -/* 0833E8 7F04E8B8 E7A40068 */ swc1 $f4, 0x68($sp) -/* 0833EC 7F04E8BC E7A6006C */ swc1 $f6, 0x6c($sp) -/* 0833F0 7F04E8C0 0FC1611D */ jal sub_GAME_7F058474 -/* 0833F4 7F04E8C4 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0833F8 7F04E8C8 C7A00070 */ lwc1 $f0, 0x70($sp) -/* 0833FC 7F04E8CC C66A0034 */ lwc1 $f10, 0x34($s3) -/* 083400 7F04E8D0 02602025 */ move $a0, $s3 -/* 083404 7F04E8D4 46000007 */ neg.s $f0, $f0 -/* 083408 7F04E8D8 8FA500C0 */ lw $a1, 0xc0($sp) -/* 08340C 7F04E8DC 460A003E */ c.le.s $f0, $f10 -/* 083410 7F04E8E0 02403825 */ move $a3, $s2 -/* 083414 7F04E8E4 8FAC00A8 */ lw $t4, 0xa8($sp) -/* 083418 7F04E8E8 27AE0078 */ addiu $t6, $sp, 0x78 -/* 08341C 7F04E8EC 4502002B */ bc1fl .L7F04E99C -/* 083420 7F04E8F0 8FBF004C */ lw $ra, 0x4c($sp) -/* 083424 7F04E8F4 8EAF0008 */ lw $t7, 8($s5) -/* 083428 7F04E8F8 24030001 */ li $v1, 1 -/* 08342C 7F04E8FC 000FC380 */ sll $t8, $t7, 0xe -/* 083430 7F04E900 07020017 */ bltzl $t8, .L7F04E960 -/* 083434 7F04E904 8FAF0074 */ lw $t7, 0x74($sp) -/* 083438 7F04E908 92A20003 */ lbu $v0, 3($s5) -/* 08343C 7F04E90C 2401002A */ li $at, 42 -/* 083440 7F04E910 10410003 */ beq $v0, $at, .L7F04E920 -/* 083444 7F04E914 2401002F */ li $at, 47 -/* 083448 7F04E918 54410004 */ bnel $v0, $at, .L7F04E92C -/* 08344C 7F04E91C 8EB90014 */ lw $t9, 0x14($s5) -.L7F04E920: -/* 083450 7F04E920 1000000E */ b .L7F04E95C -/* 083454 7F04E924 00001825 */ move $v1, $zero -/* 083458 7F04E928 8EB90014 */ lw $t9, 0x14($s5) -.L7F04E92C: -/* 08345C 7F04E92C 3C088004 */ lui $t0, %hi(prop_door_related) -/* 083460 7F04E930 2508A1DC */ addiu $t0, %lo(prop_door_related) # addiu $t0, $t0, -0x5e24 -/* 083464 7F04E934 8F220008 */ lw $v0, 8($t9) -/* 083468 7F04E938 8C490004 */ lw $t1, 4($v0) -/* 08346C 7F04E93C 55090008 */ bnel $t0, $t1, .L7F04E960 -/* 083470 7F04E940 8FAF0074 */ lw $t7, 0x74($sp) -/* 083474 7F04E944 8C4B0008 */ lw $t3, 8($v0) -/* 083478 7F04E948 8FAA0060 */ lw $t2, 0x60($sp) -/* 08347C 7F04E94C 8D6D000C */ lw $t5, 0xc($t3) -/* 083480 7F04E950 554D0003 */ bnel $t2, $t5, .L7F04E960 -/* 083484 7F04E954 8FAF0074 */ lw $t7, 0x74($sp) -/* 083488 7F04E958 00001825 */ move $v1, $zero -.L7F04E95C: -/* 08348C 7F04E95C 8FAF0074 */ lw $t7, 0x74($sp) -.L7F04E960: -/* 083490 7F04E960 8FB80060 */ lw $t8, 0x60($sp) -/* 083494 7F04E964 AFAC0010 */ sw $t4, 0x10($sp) -/* 083498 7F04E968 AFAE0014 */ sw $t6, 0x14($sp) -/* 08349C 7F04E96C AFB40020 */ sw $s4, 0x20($sp) -/* 0834A0 7F04E970 AFA30024 */ sw $v1, 0x24($sp) -/* 0834A4 7F04E974 AFAF0018 */ sw $t7, 0x18($sp) -/* 0834A8 7F04E978 AFB8001C */ sw $t8, 0x1c($sp) -/* 0834AC 7F04E97C 8EB9000C */ lw $t9, 0xc($s5) -/* 0834B0 7F04E980 3C010010 */ lui $at, 0x10 -/* 0834B4 7F04E984 44060000 */ mfc1 $a2, $f0 -/* 0834B8 7F04E988 03214024 */ and $t0, $t9, $at -/* 0834BC 7F04E98C 0008482B */ sltu $t1, $zero, $t0 -/* 0834C0 7F04E990 0FC0EE70 */ jal sub_GAME_7F03B9C0 -/* 0834C4 7F04E994 AFA90028 */ sw $t1, 0x28($sp) -.L7F04E998: -/* 0834C8 7F04E998 8FBF004C */ lw $ra, 0x4c($sp) -.L7F04E99C: -/* 0834CC 7F04E99C 8FB00034 */ lw $s0, 0x34($sp) -/* 0834D0 7F04E9A0 8FB10038 */ lw $s1, 0x38($sp) -/* 0834D4 7F04E9A4 8FB2003C */ lw $s2, 0x3c($sp) -/* 0834D8 7F04E9A8 8FB30040 */ lw $s3, 0x40($sp) -/* 0834DC 7F04E9AC 8FB40044 */ lw $s4, 0x44($sp) -/* 0834E0 7F04E9B0 8FB50048 */ lw $s5, 0x48($sp) -/* 0834E4 7F04E9B4 03E00008 */ jr $ra -/* 0834E8 7F04E9B8 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04E9BC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04E9BC -/* 0834EC 7F04E9BC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0834F0 7F04E9C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0834F4 7F04E9C4 AFA40028 */ sw $a0, 0x28($sp) -/* 0834F8 7F04E9C8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0834FC 7F04E9CC 8C840004 */ lw $a0, 4($a0) -/* 083500 7F04E9D0 8C8F0014 */ lw $t7, 0x14($a0) -/* 083504 7F04E9D4 AFA40024 */ sw $a0, 0x24($sp) -/* 083508 7F04E9D8 0FC1001E */ jal sub_GAME_7F040078 -/* 08350C 7F04E9DC AFAF001C */ sw $t7, 0x1c($sp) -/* 083510 7F04E9E0 8FB80028 */ lw $t8, 0x28($sp) -/* 083514 7F04E9E4 8FA40024 */ lw $a0, 0x24($sp) -/* 083518 7F04E9E8 93190001 */ lbu $t9, 1($t8) -/* 08351C 7F04E9EC 33280002 */ andi $t0, $t9, 2 -/* 083520 7F04E9F0 5100001A */ beql $t0, $zero, .L7F04EA5C -/* 083524 7F04E9F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 083528 7F04E9F8 8C890064 */ lw $t1, 0x64($a0) -/* 08352C 7F04E9FC 312A1000 */ andi $t2, $t1, 0x1000 -/* 083530 7F04EA00 55400016 */ bnezl $t2, .L7F04EA5C -/* 083534 7F04EA04 8FBF0014 */ lw $ra, 0x14($sp) -/* 083538 7F04EA08 8C8B000C */ lw $t3, 0xc($a0) -/* 08353C 7F04EA0C 8FAD001C */ lw $t5, 0x1c($sp) -/* 083540 7F04EA10 316C8000 */ andi $t4, $t3, 0x8000 -/* 083544 7F04EA14 15800010 */ bnez $t4, .L7F04EA58 -/* 083548 7F04EA18 00402025 */ move $a0, $v0 -/* 08354C 7F04EA1C 0FC0FAE7 */ jal sub_GAME_7F03EB9C -/* 083550 7F04EA20 8DA5000C */ lw $a1, 0xc($t5) -/* 083554 7F04EA24 8FAE001C */ lw $t6, 0x1c($sp) -/* 083558 7F04EA28 8FA5002C */ lw $a1, 0x2c($sp) -/* 08355C 7F04EA2C 8DCF000C */ lw $t7, 0xc($t6) -/* 083560 7F04EA30 C4A60034 */ lwc1 $f6, 0x34($a1) -/* 083564 7F04EA34 C5E40038 */ lwc1 $f4, 0x38($t7) -/* 083568 7F04EA38 46040080 */ add.s $f2, $f0, $f4 -/* 08356C 7F04EA3C 46001087 */ neg.s $f2, $f2 -/* 083570 7F04EA40 4606103E */ c.le.s $f2, $f6 -/* 083574 7F04EA44 00000000 */ nop -/* 083578 7F04EA48 45020004 */ bc1fl .L7F04EA5C -/* 08357C 7F04EA4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 083580 7F04EA50 0FC139C8 */ jal sub_GAME_7F04E720 -/* 083584 7F04EA54 8FA40028 */ lw $a0, 0x28($sp) -.L7F04EA58: -/* 083588 7F04EA58 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04EA5C: -/* 08358C 7F04EA5C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 083590 7F04EA60 03E00008 */ jr $ra -/* 083594 7F04EA64 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04EA68(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04EA68 -/* 083598 7F04EA68 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 08359C 7F04EA6C AFBF002C */ sw $ra, 0x2c($sp) -/* 0835A0 7F04EA70 AFB10028 */ sw $s1, 0x28($sp) -/* 0835A4 7F04EA74 AFB00024 */ sw $s0, 0x24($sp) -/* 0835A8 7F04EA78 8CA60004 */ lw $a2, 4($a1) -/* 0835AC 7F04EA7C 00A08025 */ move $s0, $a1 -/* 0835B0 7F04EA80 8CC2001C */ lw $v0, 0x1c($a2) -/* 0835B4 7F04EA84 00C01825 */ move $v1, $a2 -/* 0835B8 7F04EA88 50400006 */ beql $v0, $zero, .L7F04EAA4 -/* 0835BC 7F04EA8C C6040000 */ lwc1 $f4, ($s0) -/* 0835C0 7F04EA90 00401825 */ move $v1, $v0 -.L7F04EA94: -/* 0835C4 7F04EA94 8C42001C */ lw $v0, 0x1c($v0) -/* 0835C8 7F04EA98 5440FFFE */ bnezl $v0, .L7F04EA94 -/* 0835CC 7F04EA9C 00401825 */ move $v1, $v0 -/* 0835D0 7F04EAA0 C6040000 */ lwc1 $f4, ($s0) -.L7F04EAA4: -/* 0835D4 7F04EAA4 C486000C */ lwc1 $f6, 0xc($a0) -/* 0835D8 7F04EAA8 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 0835DC 7F04EAAC C4920000 */ lwc1 $f18, ($a0) -/* 0835E0 7F04EAB0 46062202 */ mul.s $f8, $f4, $f6 -/* 0835E4 7F04EAB4 8CD10004 */ lw $s1, 4($a2) -/* 0835E8 7F04EAB8 3C0141D0 */ li $at, 0x41D00000 # 26.000000 -/* 0835EC 7F04EABC 44810000 */ mtc1 $at, $f0 -/* 0835F0 7F04EAC0 460A4403 */ div.s $f16, $f8, $f10 -/* 0835F4 7F04EAC4 46109101 */ sub.s $f4, $f18, $f16 -/* 0835F8 7F04EAC8 E7A40060 */ swc1 $f4, 0x60($sp) -/* 0835FC 7F04EACC C4880010 */ lwc1 $f8, 0x10($a0) -/* 083600 7F04EAD0 C6060000 */ lwc1 $f6, ($s0) -/* 083604 7F04EAD4 C4920014 */ lwc1 $f18, 0x14($a0) -/* 083608 7F04EAD8 C4840004 */ lwc1 $f4, 4($a0) -/* 08360C 7F04EADC 46083282 */ mul.s $f10, $f6, $f8 -/* 083610 7F04EAE0 46125403 */ div.s $f16, $f10, $f18 -/* 083614 7F04EAE4 46102181 */ sub.s $f6, $f4, $f16 -/* 083618 7F04EAE8 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 08361C 7F04EAEC E7A60064 */ swc1 $f6, 0x64($sp) -/* 083620 7F04EAF0 C60A0000 */ lwc1 $f10, ($s0) -/* 083624 7F04EAF4 C4880008 */ lwc1 $f8, 8($a0) -/* 083628 7F04EAF8 460A4481 */ sub.s $f18, $f8, $f10 -/* 08362C 7F04EAFC C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 083630 7F04EB00 E7B20068 */ swc1 $f18, 0x68($sp) -/* 083634 7F04EB04 C490000C */ lwc1 $f16, 0xc($a0) -/* 083638 7F04EB08 46100182 */ mul.s $f6, $f0, $f16 -/* 08363C 7F04EB0C 46062201 */ sub.s $f8, $f4, $f6 -/* 083640 7F04EB10 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 083644 7F04EB14 E7A80060 */ swc1 $f8, 0x60($sp) -/* 083648 7F04EB18 C4920010 */ lwc1 $f18, 0x10($a0) -/* 08364C 7F04EB1C 46120402 */ mul.s $f16, $f0, $f18 -/* 083650 7F04EB20 46105101 */ sub.s $f4, $f10, $f16 -/* 083654 7F04EB24 E7A40064 */ swc1 $f4, 0x64($sp) -/* 083658 7F04EB28 C4880014 */ lwc1 $f8, 0x14($a0) -/* 08365C 7F04EB2C AFA40070 */ sw $a0, 0x70($sp) -/* 083660 7F04EB30 AFA3005C */ sw $v1, 0x5c($sp) -/* 083664 7F04EB34 46080482 */ mul.s $f18, $f0, $f8 -/* 083668 7F04EB38 46123281 */ sub.s $f10, $f6, $f18 -/* 08366C 7F04EB3C 0FC1E111 */ jal sub_GAME_7F078444 -/* 083670 7F04EB40 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 083674 7F04EB44 00402025 */ move $a0, $v0 -/* 083678 7F04EB48 0FC1611D */ jal sub_GAME_7F058474 -/* 08367C 7F04EB4C 27A50060 */ addiu $a1, $sp, 0x60 -/* 083680 7F04EB50 8E0E004C */ lw $t6, 0x4c($s0) -/* 083684 7F04EB54 8FA3005C */ lw $v1, 0x5c($sp) -/* 083688 7F04EB58 11C00004 */ beqz $t6, .L7F04EB6C -/* 08368C 7F04EB5C 27A40060 */ addiu $a0, $sp, 0x60 -/* 083690 7F04EB60 0FC19ED3 */ jal sub_GAME_7F067B4C -/* 083694 7F04EB64 AFA3005C */ sw $v1, 0x5c($sp) -/* 083698 7F04EB68 8FA3005C */ lw $v1, 0x5c($sp) -.L7F04EB6C: -/* 08369C 7F04EB6C 8C6F0014 */ lw $t7, 0x14($v1) -/* 0836A0 7F04EB70 27A40060 */ addiu $a0, $sp, 0x60 -/* 0836A4 7F04EB74 24050001 */ li $a1, 1 -/* 0836A8 7F04EB78 3C0641D0 */ lui $a2, 0x41d0 -/* 0836AC 7F04EB7C 0FC28F87 */ jal sub_GAME_7F0A3E1C -/* 0836B0 7F04EB80 91E70003 */ lbu $a3, 3($t7) -/* 0836B4 7F04EB84 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 0836B8 7F04EB88 02202025 */ move $a0, $s1 -/* 0836BC 7F04EB8C 5040000D */ beql $v0, $zero, .L7F04EBC4 -/* 0836C0 7F04EB90 8E0B004C */ lw $t3, 0x4c($s0) -/* 0836C4 7F04EB94 0FC13812 */ jal check_if_destroyable_not_invincible -/* 0836C8 7F04EB98 02202025 */ move $a0, $s1 -/* 0836CC 7F04EB9C 50400009 */ beql $v0, $zero, .L7F04EBC4 -/* 0836D0 7F04EBA0 8E0B004C */ lw $t3, 0x4c($s0) -/* 0836D4 7F04EBA4 8E18004C */ lw $t8, 0x4c($s0) -/* 0836D8 7F04EBA8 8FB90070 */ lw $t9, 0x70($sp) -/* 0836DC 7F04EBAC 24050006 */ li $a1, 6 -/* 0836E0 7F04EBB0 53000004 */ beql $t8, $zero, .L7F04EBC4 -/* 0836E4 7F04EBB4 8E0B004C */ lw $t3, 0x4c($s0) -/* 0836E8 7F04EBB8 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon -/* 0836EC 7F04EBBC 8F240018 */ lw $a0, 0x18($t9) -/* 0836F0 7F04EBC0 8E0B004C */ lw $t3, 0x4c($s0) -.L7F04EBC4: -/* 0836F4 7F04EBC4 55600007 */ bnezl $t3, .L7F04EBE4 -/* 0836F8 7F04EBC8 8FAC0070 */ lw $t4, 0x70($sp) -/* 0836FC 7F04EBCC 8E040004 */ lw $a0, 4($s0) -/* 083700 7F04EBD0 0FC191C8 */ jal sub_GAME_7F064720 -/* 083704 7F04EBD4 24840008 */ addiu $a0, $a0, 8 -/* 083708 7F04EBD8 10000007 */ b .L7F04EBF8 -/* 08370C 7F04EBDC 8FAD0070 */ lw $t5, 0x70($sp) -/* 083710 7F04EBE0 8FAC0070 */ lw $t4, 0x70($sp) -.L7F04EBE4: -/* 083714 7F04EBE4 8E050004 */ lw $a1, 4($s0) -/* 083718 7F04EBE8 8606003A */ lh $a2, 0x3a($s0) -/* 08371C 7F04EBEC 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag -/* 083720 7F04EBF0 8D840018 */ lw $a0, 0x18($t4) -/* 083724 7F04EBF4 8FAD0070 */ lw $t5, 0x70($sp) -.L7F04EBF8: -/* 083728 7F04EBF8 24010017 */ li $at, 23 -/* 08372C 7F04EBFC 8DA40018 */ lw $a0, 0x18($t5) -/* 083730 7F04EC00 10810060 */ beq $a0, $at, .L7F04ED84 -/* 083734 7F04EC04 00000000 */ nop -/* 083738 7F04EC08 8E0E004C */ lw $t6, 0x4c($s0) -/* 08373C 7F04EC0C 55C00022 */ bnezl $t6, .L7F04EC98 -/* 083740 7F04EC10 8602003A */ lh $v0, 0x3a($s0) -/* 083744 7F04EC14 8E380014 */ lw $t8, 0x14($s1) -/* 083748 7F04EC18 3C0F8004 */ lui $t7, %hi(prop_door_related) -/* 08374C 7F04EC1C 25EFA1DC */ addiu $t7, %lo(prop_door_related) # addiu $t7, $t7, -0x5e24 -/* 083750 7F04EC20 8F190008 */ lw $t9, 8($t8) -/* 083754 7F04EC24 8E080004 */ lw $t0, 4($s0) -/* 083758 7F04EC28 00001825 */ move $v1, $zero -/* 08375C 7F04EC2C 8F2B0004 */ lw $t3, 4($t9) -/* 083760 7F04EC30 55EB0003 */ bnel $t7, $t3, .L7F04EC40 -/* 083764 7F04EC34 A3A30057 */ sb $v1, 0x57($sp) -/* 083768 7F04EC38 24030001 */ li $v1, 1 -/* 08376C 7F04EC3C A3A30057 */ sb $v1, 0x57($sp) -.L7F04EC40: -/* 083770 7F04EC40 0C002914 */ jal get_random_value -/* 083774 7F04EC44 AFA80058 */ sw $t0, 0x58($sp) -/* 083778 7F04EC48 24010003 */ li $at, 3 -/* 08377C 7F04EC4C 0041001B */ divu $zero, $v0, $at -/* 083780 7F04EC50 8FA80058 */ lw $t0, 0x58($sp) -/* 083784 7F04EC54 00003010 */ mfhi $a2 -/* 083788 7F04EC58 83A30057 */ lb $v1, 0x57($sp) -/* 08378C 7F04EC5C AFA80010 */ sw $t0, 0x10($sp) -/* 083790 7F04EC60 8E0E0040 */ lw $t6, 0x40($s0) -/* 083794 7F04EC64 24C60011 */ addiu $a2, $a2, 0x11 -/* 083798 7F04EC68 00066400 */ sll $t4, $a2, 0x10 -/* 08379C 7F04EC6C 000C3403 */ sra $a2, $t4, 0x10 -/* 0837A0 7F04EC70 26040010 */ addiu $a0, $s0, 0x10 -/* 0837A4 7F04EC74 2605001C */ addiu $a1, $s0, 0x1c -/* 0837A8 7F04EC78 24070001 */ li $a3, 1 -/* 0837AC 7F04EC7C AFA30018 */ sw $v1, 0x18($sp) -/* 0837B0 7F04EC80 0FC28423 */ jal sub_GAME_7F0A108C -/* 0837B4 7F04EC84 AFAE0014 */ sw $t6, 0x14($sp) -/* 0837B8 7F04EC88 8FB80070 */ lw $t8, 0x70($sp) -/* 0837BC 7F04EC8C 1000003D */ b .L7F04ED84 -/* 0837C0 7F04EC90 8F040018 */ lw $a0, 0x18($t8) -/* 0837C4 7F04EC94 8602003A */ lh $v0, 0x3a($s0) -.L7F04EC98: -/* 0837C8 7F04EC98 00004825 */ move $t1, $zero -/* 0837CC 7F04EC9C 3C0F8005 */ lui $t7, %hi(image_entries) -/* 0837D0 7F04ECA0 04410004 */ bgez $v0, .L7F04ECB4 -/* 0837D4 7F04ECA4 0002C8C0 */ sll $t9, $v0, 3 -/* 0837D8 7F04ECA8 3C088005 */ lui $t0, %hi(D_8004E86C) -/* 0837DC 7F04ECAC 10000008 */ b .L7F04ECD0 -/* 0837E0 7F04ECB0 8D08E86C */ lw $t0, %lo(D_8004E86C)($t0) -.L7F04ECB4: -/* 0837E4 7F04ECB4 01F97821 */ addu $t7, $t7, $t9 -/* 0837E8 7F04ECB8 91EF9300 */ lbu $t7, %lo(image_entries)($t7) -/* 0837EC 7F04ECBC 3C088005 */ lui $t0, %hi(D_8004E86C) -/* 0837F0 7F04ECC0 31EB000F */ andi $t3, $t7, 0xf -/* 0837F4 7F04ECC4 000B6080 */ sll $t4, $t3, 2 -/* 0837F8 7F04ECC8 010C4021 */ addu $t0, $t0, $t4 -/* 0837FC 7F04ECCC 8D08E86C */ lw $t0, %lo(D_8004E86C)($t0) -.L7F04ECD0: -/* 083800 7F04ECD0 AFA80050 */ sw $t0, 0x50($sp) -/* 083804 7F04ECD4 0C002914 */ jal get_random_value -/* 083808 7F04ECD8 A3A9004B */ sb $t1, 0x4b($sp) -/* 08380C 7F04ECDC 8FA80050 */ lw $t0, 0x50($sp) -/* 083810 7F04ECE0 8E2E0014 */ lw $t6, 0x14($s1) -/* 083814 7F04ECE4 3C188004 */ lui $t8, %hi(prop_door_related) -/* 083818 7F04ECE8 850D000A */ lh $t5, 0xa($t0) -/* 08381C 7F04ECEC 8DC30008 */ lw $v1, 8($t6) -/* 083820 7F04ECF0 2718A1DC */ addiu $t8, %lo(prop_door_related) # addiu $t8, $t8, -0x5e24 -/* 083824 7F04ECF4 004D001B */ divu $zero, $v0, $t5 -/* 083828 7F04ECF8 8C640004 */ lw $a0, 4($v1) -/* 08382C 7F04ECFC 00005010 */ mfhi $t2 -/* 083830 7F04ED00 83A9004B */ lb $t1, 0x4b($sp) -/* 083834 7F04ED04 15A00002 */ bnez $t5, .L7F04ED10 -/* 083838 7F04ED08 00000000 */ nop -/* 08383C 7F04ED0C 0007000D */ break 7 -.L7F04ED10: -/* 083840 7F04ED10 2605001C */ addiu $a1, $s0, 0x1c -/* 083844 7F04ED14 17040005 */ bne $t8, $a0, .L7F04ED2C -/* 083848 7F04ED18 24070001 */ li $a3, 1 -/* 08384C 7F04ED1C 8C6F0008 */ lw $t7, 8($v1) -/* 083850 7F04ED20 8E190044 */ lw $t9, 0x44($s0) -/* 083854 7F04ED24 8DEB000C */ lw $t3, 0xc($t7) -/* 083858 7F04ED28 132B0009 */ beq $t9, $t3, .L7F04ED50 -.L7F04ED2C: -/* 08385C 7F04ED2C 3C0C8004 */ lui $t4, %hi(prop_cctv_related) -/* 083860 7F04ED30 258CA05C */ addiu $t4, %lo(prop_cctv_related) # addiu $t4, $t4, -0x5fa4 -/* 083864 7F04ED34 55840008 */ bnel $t4, $a0, .L7F04ED58 -/* 083868 7F04ED38 8D0F0004 */ lw $t7, 4($t0) -/* 08386C 7F04ED3C 8C6E0008 */ lw $t6, 8($v1) -/* 083870 7F04ED40 8E0D0044 */ lw $t5, 0x44($s0) -/* 083874 7F04ED44 8DD80004 */ lw $t8, 4($t6) -/* 083878 7F04ED48 55B80003 */ bnel $t5, $t8, .L7F04ED58 -/* 08387C 7F04ED4C 8D0F0004 */ lw $t7, 4($t0) -.L7F04ED50: -/* 083880 7F04ED50 24090001 */ li $t1, 1 -/* 083884 7F04ED54 8D0F0004 */ lw $t7, 4($t0) -.L7F04ED58: -/* 083888 7F04ED58 8E0B0004 */ lw $t3, 4($s0) -/* 08388C 7F04ED5C 26040010 */ addiu $a0, $s0, 0x10 -/* 083890 7F04ED60 01EAC821 */ addu $t9, $t7, $t2 -/* 083894 7F04ED64 93260000 */ lbu $a2, ($t9) -/* 083898 7F04ED68 AFAB0010 */ sw $t3, 0x10($sp) -/* 08389C 7F04ED6C 8E0C0040 */ lw $t4, 0x40($s0) -/* 0838A0 7F04ED70 AFA90018 */ sw $t1, 0x18($sp) -/* 0838A4 7F04ED74 0FC28423 */ jal sub_GAME_7F0A108C -/* 0838A8 7F04ED78 AFAC0014 */ sw $t4, 0x14($sp) -/* 0838AC 7F04ED7C 8FAE0070 */ lw $t6, 0x70($sp) -/* 0838B0 7F04ED80 8DC40018 */ lw $a0, 0x18($t6) -.L7F04ED84: -/* 0838B4 7F04ED84 0FC177E1 */ jal sub_GAME_7F05DF84 -/* 0838B8 7F04ED88 00000000 */ nop -/* 0838BC 7F04ED8C 92220003 */ lbu $v0, 3($s1) -/* 0838C0 7F04ED90 2401000D */ li $at, 13 -/* 0838C4 7F04ED94 46000086 */ mov.s $f2, $f0 -/* 0838C8 7F04ED98 14410005 */ bne $v0, $at, .L7F04EDB0 -/* 0838CC 7F04ED9C 3C018003 */ lui $at, %hi(D_80030B24) -/* 0838D0 7F04EDA0 C4300B24 */ lwc1 $f16, %lo(D_80030B24)($at) -/* 0838D4 7F04EDA4 46100082 */ mul.s $f2, $f0, $f16 -/* 0838D8 7F04EDA8 1000001B */ b .L7F04EE18 -/* 0838DC 7F04EDAC 00000000 */ nop -.L7F04EDB0: -/* 0838E0 7F04EDB0 24010006 */ li $at, 6 -/* 0838E4 7F04EDB4 14410018 */ bne $v0, $at, .L7F04EE18 -/* 0838E8 7F04EDB8 00000000 */ nop -/* 0838EC 7F04EDBC 8E2D0014 */ lw $t5, 0x14($s1) -/* 0838F0 7F04EDC0 3C188004 */ lui $t8, %hi(prop_cctv_related) -/* 0838F4 7F04EDC4 2718A05C */ addiu $t8, %lo(prop_cctv_related) # addiu $t8, $t8, -0x5fa4 -/* 0838F8 7F04EDC8 8DA30008 */ lw $v1, 8($t5) -/* 0838FC 7F04EDCC 8C6F0004 */ lw $t7, 4($v1) -/* 083900 7F04EDD0 170F000D */ bne $t8, $t7, .L7F04EE08 -/* 083904 7F04EDD4 00000000 */ nop -/* 083908 7F04EDD8 8C6B0008 */ lw $t3, 8($v1) -/* 08390C 7F04EDDC 8E190044 */ lw $t9, 0x44($s0) -/* 083910 7F04EDE0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 083914 7F04EDE4 8D6C0004 */ lw $t4, 4($t3) -/* 083918 7F04EDE8 172C0007 */ bne $t9, $t4, .L7F04EE08 -/* 08391C 7F04EDEC 00000000 */ nop -/* 083920 7F04EDF0 44812000 */ mtc1 $at, $f4 -/* 083924 7F04EDF4 02202025 */ move $a0, $s1 -/* 083928 7F04EDF8 46041082 */ mul.s $f2, $f2, $f4 -/* 08392C 7F04EDFC 0FC13786 */ jal sub_GAME_7F04DE18 -/* 083930 7F04EE00 E7A20044 */ swc1 $f2, 0x44($sp) -/* 083934 7F04EE04 C7A20044 */ lwc1 $f2, 0x44($sp) -.L7F04EE08: -/* 083938 7F04EE08 3C018003 */ lui $at, %hi(D_80030B18) -/* 08393C 7F04EE0C C4280B18 */ lwc1 $f8, %lo(D_80030B18)($at) -/* 083940 7F04EE10 46081082 */ mul.s $f2, $f2, $f8 -/* 083944 7F04EE14 00000000 */ nop -.L7F04EE18: -/* 083948 7F04EE18 0FC26C54 */ jal get_cur_playernum -/* 08394C 7F04EE1C E7A20044 */ swc1 $f2, 0x44($sp) -/* 083950 7F04EE20 C7A20044 */ lwc1 $f2, 0x44($sp) -/* 083954 7F04EE24 8FAE0070 */ lw $t6, 0x70($sp) -/* 083958 7F04EE28 02202025 */ move $a0, $s1 -/* 08395C 7F04EE2C 44051000 */ mfc1 $a1, $f2 -/* 083960 7F04EE30 8DC70018 */ lw $a3, 0x18($t6) -/* 083964 7F04EE34 AFA20010 */ sw $v0, 0x10($sp) -/* 083968 7F04EE38 0FC13833 */ jal sub_GAME_7F04E0CC -/* 08396C 7F04EE3C 27A60060 */ addiu $a2, $sp, 0x60 -/* 083970 7F04EE40 8E380014 */ lw $t8, 0x14($s1) -/* 083974 7F04EE44 3C0D8004 */ lui $t5, %hi(prop_door_related) -/* 083978 7F04EE48 25ADA1DC */ addiu $t5, %lo(prop_door_related) # addiu $t5, $t5, -0x5e24 -/* 08397C 7F04EE4C 8F0F0008 */ lw $t7, 8($t8) -/* 083980 7F04EE50 8DEB0004 */ lw $t3, 4($t7) -/* 083984 7F04EE54 15AB000D */ bne $t5, $t3, .L7F04EE8C -/* 083988 7F04EE58 00000000 */ nop -/* 08398C 7F04EE5C 8E19004C */ lw $t9, 0x4c($s0) -/* 083990 7F04EE60 1720000A */ bnez $t9, .L7F04EE8C -/* 083994 7F04EE64 00000000 */ nop -/* 083998 7F04EE68 822C00BD */ lb $t4, 0xbd($s1) -/* 08399C 7F04EE6C 258E0001 */ addiu $t6, $t4, 1 -/* 0839A0 7F04EE70 A22E00BD */ sb $t6, 0xbd($s1) -/* 0839A4 7F04EE74 823800BD */ lb $t8, 0xbd($s1) -/* 0839A8 7F04EE78 2B010003 */ slti $at, $t8, 3 -/* 0839AC 7F04EE7C 14200003 */ bnez $at, .L7F04EE8C -/* 0839B0 7F04EE80 00000000 */ nop -/* 0839B4 7F04EE84 0FC1375A */ jal sub_GAME_7F04DD68 -/* 0839B8 7F04EE88 02202025 */ move $a0, $s1 -.L7F04EE8C: -/* 0839BC 7F04EE8C 0FC11080 */ jal sub_GAME_7F044200 -/* 0839C0 7F04EE90 8E040004 */ lw $a0, 4($s0) -/* 0839C4 7F04EE94 00008025 */ move $s0, $zero -/* 0839C8 7F04EE98 0FC13803 */ jal check_if_collectable_object -/* 0839CC 7F04EE9C 02202025 */ move $a0, $s1 -/* 0839D0 7F04EEA0 50400008 */ beql $v0, $zero, .L7F04EEC4 -/* 0839D4 7F04EEA4 8E2B0008 */ lw $t3, 8($s1) -/* 0839D8 7F04EEA8 8E2F0008 */ lw $t7, 8($s1) -/* 0839DC 7F04EEAC 000F6A40 */ sll $t5, $t7, 9 -/* 0839E0 7F04EEB0 05A20009 */ bltzl $t5, .L7F04EED8 -/* 0839E4 7F04EEB4 8E2C000C */ lw $t4, 0xc($s1) -/* 0839E8 7F04EEB8 10000006 */ b .L7F04EED4 -/* 0839EC 7F04EEBC 24100001 */ li $s0, 1 -/* 0839F0 7F04EEC0 8E2B0008 */ lw $t3, 8($s1) -.L7F04EEC4: -/* 0839F4 7F04EEC4 000BCA80 */ sll $t9, $t3, 0xa -/* 0839F8 7F04EEC8 07230003 */ bgezl $t9, .L7F04EED8 -/* 0839FC 7F04EECC 8E2C000C */ lw $t4, 0xc($s1) -/* 083A00 7F04EED0 24100001 */ li $s0, 1 -.L7F04EED4: -/* 083A04 7F04EED4 8E2C000C */ lw $t4, 0xc($s1) -.L7F04EED8: -/* 083A08 7F04EED8 318E0002 */ andi $t6, $t4, 2 -/* 083A0C 7F04EEDC 51C00007 */ beql $t6, $zero, .L7F04EEFC -/* 083A10 7F04EEE0 8E38000C */ lw $t8, 0xc($s1) -/* 083A14 7F04EEE4 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 083A18 7F04EEE8 02202025 */ move $a0, $s1 -/* 083A1C 7F04EEEC 54400003 */ bnezl $v0, .L7F04EEFC -/* 083A20 7F04EEF0 8E38000C */ lw $t8, 0xc($s1) -/* 083A24 7F04EEF4 24100001 */ li $s0, 1 -/* 083A28 7F04EEF8 8E38000C */ lw $t8, 0xc($s1) -.L7F04EEFC: -/* 083A2C 7F04EEFC 8FA50070 */ lw $a1, 0x70($sp) -/* 083A30 7F04EF00 330F0400 */ andi $t7, $t8, 0x400 -/* 083A34 7F04EF04 11E00002 */ beqz $t7, .L7F04EF10 -/* 083A38 7F04EF08 24A5000C */ addiu $a1, $a1, 0xc -/* 083A3C 7F04EF0C 00008025 */ move $s0, $zero -.L7F04EF10: -/* 083A40 7F04EF10 52000004 */ beql $s0, $zero, .L7F04EF24 -/* 083A44 7F04EF14 8FBF002C */ lw $ra, 0x2c($sp) -/* 083A48 7F04EF18 0FC12F37 */ jal sub_GAME_7F04BCDC -/* 083A4C 7F04EF1C 02202025 */ move $a0, $s1 -/* 083A50 7F04EF20 8FBF002C */ lw $ra, 0x2c($sp) -.L7F04EF24: -/* 083A54 7F04EF24 8FB00024 */ lw $s0, 0x24($sp) -/* 083A58 7F04EF28 8FB10028 */ lw $s1, 0x28($sp) -/* 083A5C 7F04EF2C 03E00008 */ jr $ra -/* 083A60 7F04EF30 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_object_has_not_been_destroyed(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_object_has_not_been_destroyed -/* 083A64 7F04EF34 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 083A68 7F04EF38 AFBF0014 */ sw $ra, 0x14($sp) -/* 083A6C 7F04EF3C 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 083A70 7F04EF40 00000000 */ nop -/* 083A74 7F04EF44 8FBF0014 */ lw $ra, 0x14($sp) -/* 083A78 7F04EF48 2C4E0001 */ sltiu $t6, $v0, 1 -/* 083A7C 7F04EF4C 01C01025 */ move $v0, $t6 -/* 083A80 7F04EF50 03E00008 */ jr $ra -/* 083A84 7F04EF54 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04EF58(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80052EF4 -.word 0x481c4000 /*160000.0*/ -glabel D_80052EF8 -.word 0x40060a92 /*2.0943952*/ -glabel D_80052EFC -.word 0x471c4000 /*40000.0*/ -glabel D_80052F00 -.word 0x3ec90fdb /*0.39269909*/ -glabel D_80052F04 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80052F08 -.word 0x40490fdb /*3.1415927*/ -glabel D_80052F0C -.word 0x40c90fdb /*6.2831855*/ -.text -glabel sub_GAME_7F04EF58 -/* 083A88 7F04EF58 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 083A8C 7F04EF5C AFBF001C */ sw $ra, 0x1c($sp) -/* 083A90 7F04EF60 8C850004 */ lw $a1, 4($a0) -/* 083A94 7F04EF64 24010005 */ li $at, 5 -/* 083A98 7F04EF68 00803025 */ move $a2, $a0 -/* 083A9C 7F04EF6C 90AE0003 */ lbu $t6, 3($a1) -/* 083AA0 7F04EF70 51C1000A */ beql $t6, $at, .L7F04EF9C -/* 083AA4 7F04EF74 90C90001 */ lbu $t1, 1($a2) -/* 083AA8 7F04EF78 8CAF0008 */ lw $t7, 8($a1) -/* 083AAC 7F04EF7C 000FC300 */ sll $t8, $t7, 0xc -/* 083AB0 7F04EF80 07020006 */ bltzl $t8, .L7F04EF9C -/* 083AB4 7F04EF84 90C90001 */ lbu $t1, 1($a2) -/* 083AB8 7F04EF88 8CB90064 */ lw $t9, 0x64($a1) -/* 083ABC 7F04EF8C 33280013 */ andi $t0, $t9, 0x13 -/* 083AC0 7F04EF90 51000073 */ beql $t0, $zero, .L7F04F160 -/* 083AC4 7F04EF94 8FBF001C */ lw $ra, 0x1c($sp) -/* 083AC8 7F04EF98 90C90001 */ lbu $t1, 1($a2) -.L7F04EF9C: -/* 083ACC 7F04EF9C 00A02025 */ move $a0, $a1 -/* 083AD0 7F04EFA0 312A0002 */ andi $t2, $t1, 2 -/* 083AD4 7F04EFA4 5140006E */ beql $t2, $zero, .L7F04F160 -/* 083AD8 7F04EFA8 8FBF001C */ lw $ra, 0x1c($sp) -/* 083ADC 7F04EFAC AFA50050 */ sw $a1, 0x50($sp) -/* 083AE0 7F04EFB0 0FC13BCD */ jal check_if_object_has_not_been_destroyed -/* 083AE4 7F04EFB4 AFA60058 */ sw $a2, 0x58($sp) -/* 083AE8 7F04EFB8 10400068 */ beqz $v0, .L7F04F15C -/* 083AEC 7F04EFBC 8FA50050 */ lw $a1, 0x50($sp) -/* 083AF0 7F04EFC0 8CAB0008 */ lw $t3, 8($a1) -/* 083AF4 7F04EFC4 000B6180 */ sll $t4, $t3, 6 -/* 083AF8 7F04EFC8 05820065 */ bltzl $t4, .L7F04F160 -/* 083AFC 7F04EFCC 8FBF001C */ lw $ra, 0x1c($sp) -/* 083B00 7F04EFD0 0FC225E6 */ jal get_curplayer_positiondata -/* 083B04 7F04EFD4 AFA50050 */ sw $a1, 0x50($sp) -/* 083B08 7F04EFD8 8FA50050 */ lw $a1, 0x50($sp) -/* 083B0C 7F04EFDC C4460008 */ lwc1 $f6, 8($v0) -/* 083B10 7F04EFE0 C44A000C */ lwc1 $f10, 0xc($v0) -/* 083B14 7F04EFE4 C4A40058 */ lwc1 $f4, 0x58($a1) -/* 083B18 7F04EFE8 C4A8005C */ lwc1 $f8, 0x5c($a1) -/* 083B1C 7F04EFEC 8C4D0014 */ lw $t5, 0x14($v0) -/* 083B20 7F04EFF0 46062301 */ sub.s $f12, $f4, $f6 -/* 083B24 7F04EFF4 C4460010 */ lwc1 $f6, 0x10($v0) -/* 083B28 7F04EFF8 C4A40060 */ lwc1 $f4, 0x60($a1) -/* 083B2C 7F04EFFC 460A4401 */ sub.s $f16, $f8, $f10 -/* 083B30 7F04F000 460C6202 */ mul.s $f8, $f12, $f12 -/* 083B34 7F04F004 AFAD002C */ sw $t5, 0x2c($sp) -/* 083B38 7F04F008 46062381 */ sub.s $f14, $f4, $f6 -/* 083B3C 7F04F00C 90AE0003 */ lbu $t6, 3($a1) -/* 083B40 7F04F010 24010028 */ li $at, 40 -/* 083B44 7F04F014 00401825 */ move $v1, $v0 -/* 083B48 7F04F018 460E7282 */ mul.s $f10, $f14, $f14 -/* 083B4C 7F04F01C 55C1000D */ bnel $t6, $at, .L7F04F054 -/* 083B50 7F04F020 3C014348 */ lui $at, 0x4348 -/* 083B54 7F04F024 8CAF0008 */ lw $t7, 8($a1) -/* 083B58 7F04F028 3C0143C8 */ lui $at, 0x43c8 -/* 083B5C 7F04F02C 000FC080 */ sll $t8, $t7, 2 -/* 083B60 7F04F030 07030008 */ bgezl $t8, .L7F04F054 -/* 083B64 7F04F034 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 083B68 7F04F038 44810000 */ mtc1 $at, $f0 -/* 083B6C 7F04F03C 3C018005 */ lui $at, %hi(D_80052EF4) -/* 083B70 7F04F040 C4222EF4 */ lwc1 $f2, %lo(D_80052EF4)($at) -/* 083B74 7F04F044 3C018005 */ lui $at, %hi(D_80052EF8) -/* 083B78 7F04F048 10000007 */ b .L7F04F068 -/* 083B7C 7F04F04C C4322EF8 */ lwc1 $f18, %lo(D_80052EF8)($at) -/* 083B80 7F04F050 3C014348 */ li $at, 0x43480000 # 200.000000 -.L7F04F054: -/* 083B84 7F04F054 44810000 */ mtc1 $at, $f0 -/* 083B88 7F04F058 3C018005 */ lui $at, %hi(D_80052EFC) -/* 083B8C 7F04F05C C4222EFC */ lwc1 $f2, %lo(D_80052EFC)($at) -/* 083B90 7F04F060 3C018005 */ lui $at, %hi(D_80052F00) -/* 083B94 7F04F064 C4322F00 */ lwc1 $f18, %lo(D_80052F00)($at) -.L7F04F068: -/* 083B98 7F04F068 460A4100 */ add.s $f4, $f8, $f10 -/* 083B9C 7F04F06C 4602203C */ c.lt.s $f4, $f2 -/* 083BA0 7F04F070 00000000 */ nop -/* 083BA4 7F04F074 4502003A */ bc1fl .L7F04F160 -/* 083BA8 7F04F078 8FBF001C */ lw $ra, 0x1c($sp) -/* 083BAC 7F04F07C 4600803C */ c.lt.s $f16, $f0 -/* 083BB0 7F04F080 00000000 */ nop -/* 083BB4 7F04F084 45020036 */ bc1fl .L7F04F160 -/* 083BB8 7F04F088 8FBF001C */ lw $ra, 0x1c($sp) -/* 083BBC 7F04F08C 46000187 */ neg.s $f6, $f0 -/* 083BC0 7F04F090 4610303C */ c.lt.s $f6, $f16 -/* 083BC4 7F04F094 00000000 */ nop -/* 083BC8 7F04F098 45020031 */ bc1fl .L7F04F160 -/* 083BCC 7F04F09C 8FBF001C */ lw $ra, 0x1c($sp) -/* 083BD0 7F04F0A0 AFA3004C */ sw $v1, 0x4c($sp) -/* 083BD4 7F04F0A4 AFA50050 */ sw $a1, 0x50($sp) -/* 083BD8 7F04F0A8 0FC16A8C */ jal convert_angle_using_inverse -/* 083BDC 7F04F0AC E7B20030 */ swc1 $f18, 0x30($sp) -/* 083BE0 7F04F0B0 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 083BE4 7F04F0B4 E7A00024 */ swc1 $f0, 0x24($sp) -/* 083BE8 7F04F0B8 C7AC0024 */ lwc1 $f12, 0x24($sp) -/* 083BEC 7F04F0BC 8FA3004C */ lw $v1, 0x4c($sp) -/* 083BF0 7F04F0C0 8FA50050 */ lw $a1, 0x50($sp) -/* 083BF4 7F04F0C4 4600603C */ c.lt.s $f12, $f0 -/* 083BF8 7F04F0C8 C7B20030 */ lwc1 $f18, 0x30($sp) -/* 083BFC 7F04F0CC 46006381 */ sub.s $f14, $f12, $f0 -/* 083C00 7F04F0D0 3C018005 */ lui $at, %hi(D_80052F04) -/* 083C04 7F04F0D4 45000003 */ bc1f .L7F04F0E4 -/* 083C08 7F04F0D8 46007086 */ mov.s $f2, $f14 -/* 083C0C 7F04F0DC C4282F04 */ lwc1 $f8, %lo(D_80052F04)($at) -/* 083C10 7F04F0E0 46087080 */ add.s $f2, $f14, $f8 -.L7F04F0E4: -/* 083C14 7F04F0E4 3C018005 */ lui $at, %hi(D_80052F08) -/* 083C18 7F04F0E8 C42A2F08 */ lwc1 $f10, %lo(D_80052F08)($at) -/* 083C1C 7F04F0EC 3C018005 */ lui $at, %hi(D_80052F0C) -/* 083C20 7F04F0F0 4602503C */ c.lt.s $f10, $f2 -/* 083C24 7F04F0F4 00000000 */ nop -/* 083C28 7F04F0F8 45020004 */ bc1fl .L7F04F10C -/* 083C2C 7F04F0FC 4612103E */ c.le.s $f2, $f18 -/* 083C30 7F04F100 C4242F0C */ lwc1 $f4, %lo(D_80052F0C)($at) -/* 083C34 7F04F104 46022081 */ sub.s $f2, $f4, $f2 -/* 083C38 7F04F108 4612103E */ c.le.s $f2, $f18 -.L7F04F10C: -/* 083C3C 7F04F10C 00000000 */ nop -/* 083C40 7F04F110 45020013 */ bc1fl .L7F04F160 -/* 083C44 7F04F114 8FBF001C */ lw $ra, 0x1c($sp) -/* 083C48 7F04F118 8CB9000C */ lw $t9, 0xc($a1) -/* 083C4C 7F04F11C 8FA20058 */ lw $v0, 0x58($sp) -/* 083C50 7F04F120 27A4002C */ addiu $a0, $sp, 0x2c -/* 083C54 7F04F124 33280800 */ andi $t0, $t9, 0x800 -/* 083C58 7F04F128 5100000A */ beql $t0, $zero, .L7F04F154 -/* 083C5C 7F04F12C 8FA90058 */ lw $t1, 0x58($sp) -/* 083C60 7F04F130 C4460010 */ lwc1 $f6, 0x10($v0) -/* 083C64 7F04F134 8C650008 */ lw $a1, 8($v1) -/* 083C68 7F04F138 8C660010 */ lw $a2, 0x10($v1) -/* 083C6C 7F04F13C 8C470008 */ lw $a3, 8($v0) -/* 083C70 7F04F140 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 -/* 083C74 7F04F144 E7A60010 */ swc1 $f6, 0x10($sp) -/* 083C78 7F04F148 50400005 */ beql $v0, $zero, .L7F04F160 -/* 083C7C 7F04F14C 8FBF001C */ lw $ra, 0x1c($sp) -/* 083C80 7F04F150 8FA90058 */ lw $t1, 0x58($sp) -.L7F04F154: -/* 083C84 7F04F154 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) -/* 083C88 7F04F158 AC291DF8 */ sw $t1, %lo(dword_CODE_bss_80071DF8)($at) -.L7F04F15C: -/* 083C8C 7F04F15C 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04F160: -/* 083C90 7F04F160 27BD0058 */ addiu $sp, $sp, 0x58 -/* 083C94 7F04F164 24020001 */ li $v0, 1 -/* 083C98 7F04F168 03E00008 */ jr $ra -/* 083C9C 7F04F16C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04F170(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*hack, part of append_text_ammo_amount_word*/ -glabel jpt_80052F10 -.word text_some -.word text_some -.word text_some -.word text_a -.word text_a -.word text_a -.word text_a - -.text -glabel sub_GAME_7F04F170 -/* 083CA0 7F04F170 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 083CA4 7F04F174 AFBF001C */ sw $ra, 0x1c($sp) -/* 083CA8 7F04F178 AFB00018 */ sw $s0, 0x18($sp) -/* 083CAC 7F04F17C AFA40028 */ sw $a0, 0x28($sp) -/* 083CB0 7F04F180 8C900004 */ lw $s0, 4($a0) -/* 083CB4 7F04F184 AFA00020 */ sw $zero, 0x20($sp) -/* 083CB8 7F04F188 24010005 */ li $at, 5 -/* 083CBC 7F04F18C 920F0003 */ lbu $t7, 3($s0) -/* 083CC0 7F04F190 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 083CC4 7F04F194 240500BA */ li $a1, 186 -/* 083CC8 7F04F198 15E1000D */ bne $t7, $at, .L7F04F1D0 -/* 083CCC 7F04F19C 00003025 */ move $a2, $zero -/* 083CD0 7F04F1A0 0C002382 */ jal play_sfx_a1 -/* 083CD4 7F04F1A4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 083CD8 7F04F1A8 0FC15794 */ jal is_alarm_on -/* 083CDC 7F04F1AC 00000000 */ nop -/* 083CE0 7F04F1B0 10400005 */ beqz $v0, .L7F04F1C8 -/* 083CE4 7F04F1B4 00000000 */ nop -/* 083CE8 7F04F1B8 0FC1578B */ jal stop_alarm -/* 083CEC 7F04F1BC 00000000 */ nop -/* 083CF0 7F04F1C0 10000004 */ b .L7F04F1D4 -/* 083CF4 7F04F1C4 8E180008 */ lw $t8, 8($s0) -.L7F04F1C8: -/* 083CF8 7F04F1C8 0FC15772 */ jal start_alarm -/* 083CFC 7F04F1CC 00000000 */ nop -.L7F04F1D0: -/* 083D00 7F04F1D0 8E180008 */ lw $t8, 8($s0) -.L7F04F1D4: -/* 083D04 7F04F1D4 8FA40028 */ lw $a0, 0x28($sp) -/* 083D08 7F04F1D8 0018CB00 */ sll $t9, $t8, 0xc -/* 083D0C 7F04F1DC 07230005 */ bgezl $t9, .L7F04F1F4 -/* 083D10 7F04F1E0 8E080064 */ lw $t0, 0x64($s0) -/* 083D14 7F04F1E4 0FC14094 */ jal collect_or_interact_object -/* 083D18 7F04F1E8 24050001 */ li $a1, 1 -/* 083D1C 7F04F1EC AFA20020 */ sw $v0, 0x20($sp) -/* 083D20 7F04F1F0 8E080064 */ lw $t0, 0x64($s0) -.L7F04F1F4: -/* 083D24 7F04F1F4 35094000 */ ori $t1, $t0, 0x4000 -/* 083D28 7F04F1F8 AE090064 */ sw $t1, 0x64($s0) -/* 083D2C 7F04F1FC 0FC0F9A8 */ jal sub_GAME_7F03E6A0 -/* 083D30 7F04F200 8FA40028 */ lw $a0, 0x28($sp) -/* 083D34 7F04F204 8FBF001C */ lw $ra, 0x1c($sp) -/* 083D38 7F04F208 8FA20020 */ lw $v0, 0x20($sp) -/* 083D3C 7F04F20C 8FB00018 */ lw $s0, 0x18($sp) -/* 083D40 7F04F210 03E00008 */ jr $ra -/* 083D44 7F04F214 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04F218(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04F218 -/* 083D48 7F04F218 10A00005 */ beqz $a1, .L7F04F230 -/* 083D4C 7F04F21C 8C820004 */ lw $v0, 4($a0) -/* 083D50 7F04F220 904E0002 */ lbu $t6, 2($v0) -/* 083D54 7F04F224 31CFFFDF */ andi $t7, $t6, 0xffdf -/* 083D58 7F04F228 03E00008 */ jr $ra -/* 083D5C 7F04F22C A04F0002 */ sb $t7, 2($v0) - -.L7F04F230: -/* 083D60 7F04F230 90580002 */ lbu $t8, 2($v0) -/* 083D64 7F04F234 37190020 */ ori $t9, $t8, 0x20 -/* 083D68 7F04F238 A0590002 */ sb $t9, 2($v0) -/* 083D6C 7F04F23C 03E00008 */ jr $ra -/* 083D70 7F04F240 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F04F244(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F04F244 -/* 083D74 7F04F244 8C820004 */ lw $v0, 4($a0) -/* 083D78 7F04F248 8C430068 */ lw $v1, 0x68($v0) -/* 083D7C 7F04F24C 50600017 */ beql $v1, $zero, .L7F04F2AC -/* 083D80 7F04F250 ACC00000 */ sw $zero, ($a2) -/* 083D84 7F04F254 8C4E0008 */ lw $t6, 8($v0) -/* 083D88 7F04F258 31CF0100 */ andi $t7, $t6, 0x100 -/* 083D8C 7F04F25C 51E00013 */ beql $t7, $zero, .L7F04F2AC -/* 083D90 7F04F260 ACC00000 */ sw $zero, ($a2) -/* 083D94 7F04F264 90580002 */ lbu $t8, 2($v0) -/* 083D98 7F04F268 33190020 */ andi $t9, $t8, 0x20 -/* 083D9C 7F04F26C 5720000F */ bnezl $t9, .L7F04F2AC -/* 083DA0 7F04F270 ACC00000 */ sw $zero, ($a2) -/* 083DA4 7F04F274 8C680000 */ lw $t0, ($v1) -/* 083DA8 7F04F278 ACC80000 */ sw $t0, ($a2) -/* 083DAC 7F04F27C 8C490068 */ lw $t1, 0x68($v0) -/* 083DB0 7F04F280 252A0004 */ addiu $t2, $t1, 4 -/* 083DB4 7F04F284 ACAA0000 */ sw $t2, ($a1) -/* 083DB8 7F04F288 8C4B0068 */ lw $t3, 0x68($v0) -/* 083DBC 7F04F28C 8FAC0010 */ lw $t4, 0x10($sp) -/* 083DC0 7F04F290 C5640048 */ lwc1 $f4, 0x48($t3) -/* 083DC4 7F04F294 E5840000 */ swc1 $f4, ($t4) -/* 083DC8 7F04F298 8C4D0068 */ lw $t5, 0x68($v0) -/* 083DCC 7F04F29C C5A60044 */ lwc1 $f6, 0x44($t5) -/* 083DD0 7F04F2A0 03E00008 */ jr $ra -/* 083DD4 7F04F2A4 E4E60000 */ swc1 $f6, ($a3) - -/* 083DD8 7F04F2A8 ACC00000 */ sw $zero, ($a2) -.L7F04F2AC: -/* 083DDC 7F04F2AC 03E00008 */ jr $ra -/* 083DE0 7F04F2B0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void append_text_picked_up(void) { - -} -#else -GLOBAL_ASM( -.text -glabel append_text_picked_up -/* 083DE4 7F04F2B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 083DE8 7F04F2B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 083DEC 7F04F2BC AFA40018 */ sw $a0, 0x18($sp) -/* 083DF0 7F04F2C0 AFA5001C */ sw $a1, 0x1c($sp) -/* 083DF4 7F04F2C4 AFA60020 */ sw $a2, 0x20($sp) -/* 083DF8 7F04F2C8 0FC30776 */ jal get_textptr_for_textID -/* 083DFC 7F04F2CC 3404A400 */ li $a0, 41984 -/* 083E00 7F04F2D0 8FA40018 */ lw $a0, 0x18($sp) -/* 083E04 7F04F2D4 0C0029FF */ jal string_load_parse_something -/* 083E08 7F04F2D8 00402825 */ move $a1, $v0 -/* 083E0C 7F04F2DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 083E10 7F04F2E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 083E14 7F04F2E4 03E00008 */ jr $ra -/* 083E18 7F04F2E8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void append_text_ammo_amount_word(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80052F10*/ -/*glabel jpt_80052F10*/ -/*.word text_some*/ -/*.word text_some*/ -/*.word text_some*/ -/*.word text_a*/ -/*.word text_a*/ -/*.word text_a*/ -/*.word text_a*/ -.word text_a -.word text_a -.word text_a -.word text_a -.word text_a -.word text_a -.word text_a -.word text_an -.word text_an -.word text_a -.word text_a -.word text_a -.word text_a -.word text_a -.word text_the -.word text_some -.word text_NONE -.word text_NONE -.word text_NONE -.word text_NONE -.word text_NONE -.word text_the -.text -glabel append_text_ammo_amount_word -/* 083E1C 7F04F2EC 24AEFFFF */ addiu $t6, $a1, -1 -/* 083E20 7F04F2F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 083E24 7F04F2F4 2DC1001D */ sltiu $at, $t6, 0x1d -/* 083E28 7F04F2F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 083E2C 7F04F2FC 1020003F */ beqz $at, .L7F04F3FC -/* 083E30 7F04F300 AFA40018 */ sw $a0, 0x18($sp) -/* 083E34 7F04F304 000E7080 */ sll $t6, $t6, 2 -/* 083E38 7F04F308 3C018005 */ lui $at, %hi(jpt_80052F10) -/* 083E3C 7F04F30C 002E0821 */ addu $at, $at, $t6 -/* 083E40 7F04F310 8C2E2F10 */ lw $t6, %lo(jpt_80052F10)($at) -/* 083E44 7F04F314 01C00008 */ jr $t6 -/* 083E48 7F04F318 00000000 */ nop -text_some: -/* 083E4C 7F04F31C 0FC30776 */ jal get_textptr_for_textID -/* 083E50 7F04F320 3404A401 */ li $a0, 41985 -/* 083E54 7F04F324 8FA40018 */ lw $a0, 0x18($sp) -/* 083E58 7F04F328 0C0029FF */ jal string_load_parse_something -/* 083E5C 7F04F32C 00402825 */ move $a1, $v0 -/* 083E60 7F04F330 10000033 */ b .L7F04F400 -/* 083E64 7F04F334 8FBF0014 */ lw $ra, 0x14($sp) -text_a: -/* 083E68 7F04F338 24010001 */ li $at, 1 -/* 083E6C 7F04F33C 14C10008 */ bne $a2, $at, .L7F04F360 -/* 083E70 7F04F340 00000000 */ nop -/* 083E74 7F04F344 0FC30776 */ jal get_textptr_for_textID -/* 083E78 7F04F348 3404A402 */ li $a0, 41986 -/* 083E7C 7F04F34C 8FA40018 */ lw $a0, 0x18($sp) -/* 083E80 7F04F350 0C0029FF */ jal string_load_parse_something -/* 083E84 7F04F354 00402825 */ move $a1, $v0 -/* 083E88 7F04F358 10000029 */ b .L7F04F400 -/* 083E8C 7F04F35C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F360: -/* 083E90 7F04F360 0FC30776 */ jal get_textptr_for_textID -/* 083E94 7F04F364 3404A401 */ li $a0, 41985 -/* 083E98 7F04F368 8FA40018 */ lw $a0, 0x18($sp) -/* 083E9C 7F04F36C 0C0029FF */ jal string_load_parse_something -/* 083EA0 7F04F370 00402825 */ move $a1, $v0 -/* 083EA4 7F04F374 10000022 */ b .L7F04F400 -/* 083EA8 7F04F378 8FBF0014 */ lw $ra, 0x14($sp) -text_an: -/* 083EAC 7F04F37C 24010001 */ li $at, 1 -/* 083EB0 7F04F380 14C10008 */ bne $a2, $at, .L7F04F3A4 -/* 083EB4 7F04F384 00000000 */ nop -/* 083EB8 7F04F388 0FC30776 */ jal get_textptr_for_textID -/* 083EBC 7F04F38C 3404A403 */ li $a0, 41987 -/* 083EC0 7F04F390 8FA40018 */ lw $a0, 0x18($sp) -/* 083EC4 7F04F394 0C0029FF */ jal string_load_parse_something -/* 083EC8 7F04F398 00402825 */ move $a1, $v0 -/* 083ECC 7F04F39C 10000018 */ b .L7F04F400 -/* 083ED0 7F04F3A0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F3A4: -/* 083ED4 7F04F3A4 0FC30776 */ jal get_textptr_for_textID -/* 083ED8 7F04F3A8 3404A401 */ li $a0, 41985 -/* 083EDC 7F04F3AC 8FA40018 */ lw $a0, 0x18($sp) -/* 083EE0 7F04F3B0 0C0029FF */ jal string_load_parse_something -/* 083EE4 7F04F3B4 00402825 */ move $a1, $v0 -/* 083EE8 7F04F3B8 10000011 */ b .L7F04F400 -/* 083EEC 7F04F3BC 8FBF0014 */ lw $ra, 0x14($sp) -text_the: -/* 083EF0 7F04F3C0 24010001 */ li $at, 1 -/* 083EF4 7F04F3C4 14C10008 */ bne $a2, $at, .L7F04F3E8 -/* 083EF8 7F04F3C8 00000000 */ nop -/* 083EFC 7F04F3CC 0FC30776 */ jal get_textptr_for_textID -/* 083F00 7F04F3D0 3404A404 */ li $a0, 41988 -/* 083F04 7F04F3D4 8FA40018 */ lw $a0, 0x18($sp) -/* 083F08 7F04F3D8 0C0029FF */ jal string_load_parse_something -/* 083F0C 7F04F3DC 00402825 */ move $a1, $v0 -/* 083F10 7F04F3E0 10000007 */ b .L7F04F400 -/* 083F14 7F04F3E4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F3E8: -/* 083F18 7F04F3E8 0FC30776 */ jal get_textptr_for_textID -/* 083F1C 7F04F3EC 3404A401 */ li $a0, 41985 -/* 083F20 7F04F3F0 8FA40018 */ lw $a0, 0x18($sp) -/* 083F24 7F04F3F4 0C0029FF */ jal string_load_parse_something -/* 083F28 7F04F3F8 00402825 */ move $a1, $v0 -text_NONE: -.L7F04F3FC: -/* 083F2C 7F04F3FC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F400: -/* 083F30 7F04F400 27BD0018 */ addiu $sp, $sp, 0x18 -/* 083F34 7F04F404 03E00008 */ jr $ra -/* 083F38 7F04F408 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void apped_text_ammotype(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80052F84*/ -glabel jpt_80052F84 -.word text_pickup_shotgun_cartridge -.word text_pickup_hand_grenade -.word text_pickup_rocket -.word text_pickup_remote_mine -.word text_pickup_proximity_mine -.word text_pickup_timed_mine -.word pluralize_multiples -.word text_pickup_grenade_round -.word text_pickup_magnum_bullet -.word text_pickup_golden_bullet -.word text_pickup_dart -.word text_pickup_explosive_pen -.word text_pickup_explosive_case -.word text_pickup_flare -.word text_pickup_piton -.word pluralize_multiples -.word text_pickup_bug -.word text_pickup_micro_camera -.word text_pickup_goldeneye_key -.word text_pickup_plastique -.word pluralize_multiples -.word pluralize_multiples -.word pluralize_multiples -.word pluralize_multiples -.word pluralize_multiples -.word text_pickup_token - -/*D:80052FEC*/ -glabel jpt_80052FEC -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_knife -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_firearm -.word ammo_sfx_pickup_mine -.word ammo_sfx_pickup_default -.word ammo_sfx_pickup_default -.word ammo_sfx_pickup_default -.word ammo_sfx_pickup_default -.word ammo_sfx_pickup_default -.word ammo_sfx_pickup_firearm - -.text -glabel apped_text_ammotype -/* 083F3C 7F04F40C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 083F40 7F04F410 AFB00018 */ sw $s0, 0x18($sp) -/* 083F44 7F04F414 24020001 */ li $v0, 1 -/* 083F48 7F04F418 00808025 */ move $s0, $a0 -/* 083F4C 7F04F41C AFBF001C */ sw $ra, 0x1c($sp) -/* 083F50 7F04F420 10A20006 */ beq $a1, $v0, .L7F04F43C -/* 083F54 7F04F424 AFA60028 */ sw $a2, 0x28($sp) -/* 083F58 7F04F428 24010002 */ li $at, 2 -/* 083F5C 7F04F42C 10A10003 */ beq $a1, $at, .L7F04F43C -/* 083F60 7F04F430 24010003 */ li $at, 3 -/* 083F64 7F04F434 54A10009 */ bnel $a1, $at, .L7F04F45C -/* 083F68 7F04F438 2401000A */ li $at, 10 -.L7F04F43C: -/* 083F6C 7F04F43C 0FC30776 */ jal get_textptr_for_textID -/* 083F70 7F04F440 3404A405 */ li $a0, 41989 -/* 083F74 7F04F444 02002025 */ move $a0, $s0 -/* 083F78 7F04F448 0C0029FF */ jal string_load_parse_something -/* 083F7C 7F04F44C 00402825 */ move $a1, $v0 -/* 083F80 7F04F450 100000C9 */ b .L7F04F778 -/* 083F84 7F04F454 8FBF001C */ lw $ra, 0x1c($sp) -/* 083F88 7F04F458 2401000A */ li $at, 10 -.L7F04F45C: -/* 083F8C 7F04F45C 54A10019 */ bnel $a1, $at, .L7F04F4C4 -/* 083F90 7F04F460 24010013 */ li $at, 19 -/* 083F94 7F04F464 0FC30776 */ jal get_textptr_for_textID -/* 083F98 7F04F468 3404A40F */ li $a0, 41999 -/* 083F9C 7F04F46C 02002025 */ move $a0, $s0 -/* 083FA0 7F04F470 0C0029FF */ jal string_load_parse_something -/* 083FA4 7F04F474 00402825 */ move $a1, $v0 -/* 083FA8 7F04F478 8FAE0028 */ lw $t6, 0x28($sp) -/* 083FAC 7F04F47C 24010001 */ li $at, 1 -/* 083FB0 7F04F480 15C10008 */ bne $t6, $at, .L7F04F4A4 -/* 083FB4 7F04F484 00000000 */ nop -/* 083FB8 7F04F488 0FC30776 */ jal get_textptr_for_textID -/* 083FBC 7F04F48C 3404A410 */ li $a0, 42000 -/* 083FC0 7F04F490 02002025 */ move $a0, $s0 -/* 083FC4 7F04F494 0C0029FF */ jal string_load_parse_something -/* 083FC8 7F04F498 00402825 */ move $a1, $v0 -/* 083FCC 7F04F49C 100000B6 */ b .L7F04F778 -/* 083FD0 7F04F4A0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04F4A4: -/* 083FD4 7F04F4A4 0FC30776 */ jal get_textptr_for_textID -/* 083FD8 7F04F4A8 3404A411 */ li $a0, 42001 -/* 083FDC 7F04F4AC 02002025 */ move $a0, $s0 -/* 083FE0 7F04F4B0 0C0029FF */ jal string_load_parse_something -/* 083FE4 7F04F4B4 00402825 */ move $a1, $v0 -/* 083FE8 7F04F4B8 100000AF */ b .L7F04F778 -/* 083FEC 7F04F4BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 083FF0 7F04F4C0 24010013 */ li $at, 19 -.L7F04F4C4: -/* 083FF4 7F04F4C4 14A10017 */ bne $a1, $at, .L7F04F524 -/* 083FF8 7F04F4C8 24B8FFFC */ addiu $t8, $a1, -4 -/* 083FFC 7F04F4CC 8FAF0028 */ lw $t7, 0x28($sp) -/* 084000 7F04F4D0 15E20008 */ bne $t7, $v0, .L7F04F4F4 -/* 084004 7F04F4D4 00000000 */ nop -/* 084008 7F04F4D8 0FC30776 */ jal get_textptr_for_textID -/* 08400C 7F04F4DC 3404A419 */ li $a0, 42009 -/* 084010 7F04F4E0 02002025 */ move $a0, $s0 -/* 084014 7F04F4E4 0C0029FF */ jal string_load_parse_something -/* 084018 7F04F4E8 00402825 */ move $a1, $v0 -/* 08401C 7F04F4EC 10000006 */ b .L7F04F508 -/* 084020 7F04F4F0 00000000 */ nop -.L7F04F4F4: -/* 084024 7F04F4F4 0FC30776 */ jal get_textptr_for_textID -/* 084028 7F04F4F8 3404A41A */ li $a0, 42010 -/* 08402C 7F04F4FC 02002025 */ move $a0, $s0 -/* 084030 7F04F500 0C0029FF */ jal string_load_parse_something -/* 084034 7F04F504 00402825 */ move $a1, $v0 -.L7F04F508: -/* 084038 7F04F508 0FC30776 */ jal get_textptr_for_textID -/* 08403C 7F04F50C 3404A418 */ li $a0, 42008 -/* 084040 7F04F510 02002025 */ move $a0, $s0 -/* 084044 7F04F514 0C0029FF */ jal string_load_parse_something -/* 084048 7F04F518 00402825 */ move $a1, $v0 -/* 08404C 7F04F51C 10000096 */ b .L7F04F778 -/* 084050 7F04F520 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04F524: -/* 084054 7F04F524 2F01001A */ sltiu $at, $t8, 0x1a -/* 084058 7F04F528 10200089 */ beqz $at, .L7F04F750 -/* 08405C 7F04F52C 0018C080 */ sll $t8, $t8, 2 -/* 084060 7F04F530 3C018005 */ lui $at, %hi(jpt_80052F84) -/* 084064 7F04F534 00380821 */ addu $at, $at, $t8 -/* 084068 7F04F538 8C382F84 */ lw $t8, %lo(jpt_80052F84)($at) -/* 08406C 7F04F53C 03000008 */ jr $t8 -/* 084070 7F04F540 00000000 */ nop -text_pickup_shotgun_cartridge: -/* 084074 7F04F544 0FC30776 */ jal get_textptr_for_textID -/* 084078 7F04F548 3404A406 */ li $a0, 41990 -/* 08407C 7F04F54C 02002025 */ move $a0, $s0 -/* 084080 7F04F550 0C0029FF */ jal string_load_parse_something -/* 084084 7F04F554 00402825 */ move $a1, $v0 -/* 084088 7F04F558 1000007E */ b .L7F04F754 -/* 08408C 7F04F55C 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_magnum_bullet: -/* 084090 7F04F560 0FC30776 */ jal get_textptr_for_textID -/* 084094 7F04F564 3404A407 */ li $a0, 41991 -/* 084098 7F04F568 02002025 */ move $a0, $s0 -/* 08409C 7F04F56C 0C0029FF */ jal string_load_parse_something -/* 0840A0 7F04F570 00402825 */ move $a1, $v0 -/* 0840A4 7F04F574 10000077 */ b .L7F04F754 -/* 0840A8 7F04F578 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_golden_bullet: -/* 0840AC 7F04F57C 0FC30776 */ jal get_textptr_for_textID -/* 0840B0 7F04F580 3404A408 */ li $a0, 41992 -/* 0840B4 7F04F584 02002025 */ move $a0, $s0 -/* 0840B8 7F04F588 0C0029FF */ jal string_load_parse_something -/* 0840BC 7F04F58C 00402825 */ move $a1, $v0 -/* 0840C0 7F04F590 10000070 */ b .L7F04F754 -/* 0840C4 7F04F594 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_hand_grenade: -/* 0840C8 7F04F598 0FC30776 */ jal get_textptr_for_textID -/* 0840CC 7F04F59C 3404A409 */ li $a0, 41993 -/* 0840D0 7F04F5A0 02002025 */ move $a0, $s0 -/* 0840D4 7F04F5A4 0C0029FF */ jal string_load_parse_something -/* 0840D8 7F04F5A8 00402825 */ move $a1, $v0 -/* 0840DC 7F04F5AC 10000069 */ b .L7F04F754 -/* 0840E0 7F04F5B0 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_grenade_round: -/* 0840E4 7F04F5B4 0FC30776 */ jal get_textptr_for_textID -/* 0840E8 7F04F5B8 3404A40A */ li $a0, 41994 -/* 0840EC 7F04F5BC 02002025 */ move $a0, $s0 -/* 0840F0 7F04F5C0 0C0029FF */ jal string_load_parse_something -/* 0840F4 7F04F5C4 00402825 */ move $a1, $v0 -/* 0840F8 7F04F5C8 10000062 */ b .L7F04F754 -/* 0840FC 7F04F5CC 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_rocket: -/* 084100 7F04F5D0 0FC30776 */ jal get_textptr_for_textID -/* 084104 7F04F5D4 3404A40B */ li $a0, 41995 -/* 084108 7F04F5D8 02002025 */ move $a0, $s0 -/* 08410C 7F04F5DC 0C0029FF */ jal string_load_parse_something -/* 084110 7F04F5E0 00402825 */ move $a1, $v0 -/* 084114 7F04F5E4 1000005B */ b .L7F04F754 -/* 084118 7F04F5E8 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_remote_mine: -/* 08411C 7F04F5EC 0FC30776 */ jal get_textptr_for_textID -/* 084120 7F04F5F0 3404A40C */ li $a0, 41996 -/* 084124 7F04F5F4 02002025 */ move $a0, $s0 -/* 084128 7F04F5F8 0C0029FF */ jal string_load_parse_something -/* 08412C 7F04F5FC 00402825 */ move $a1, $v0 -/* 084130 7F04F600 10000054 */ b .L7F04F754 -/* 084134 7F04F604 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_proximity_mine: -/* 084138 7F04F608 0FC30776 */ jal get_textptr_for_textID -/* 08413C 7F04F60C 3404A40D */ li $a0, 41997 -/* 084140 7F04F610 02002025 */ move $a0, $s0 -/* 084144 7F04F614 0C0029FF */ jal string_load_parse_something -/* 084148 7F04F618 00402825 */ move $a1, $v0 -/* 08414C 7F04F61C 1000004D */ b .L7F04F754 -/* 084150 7F04F620 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_timed_mine: -/* 084154 7F04F624 0FC30776 */ jal get_textptr_for_textID -/* 084158 7F04F628 3404A40E */ li $a0, 41998 -/* 08415C 7F04F62C 02002025 */ move $a0, $s0 -/* 084160 7F04F630 0C0029FF */ jal string_load_parse_something -/* 084164 7F04F634 00402825 */ move $a1, $v0 -/* 084168 7F04F638 10000046 */ b .L7F04F754 -/* 08416C 7F04F63C 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_dart: -/* 084170 7F04F640 0FC30776 */ jal get_textptr_for_textID -/* 084174 7F04F644 3404A413 */ li $a0, 42003 -/* 084178 7F04F648 02002025 */ move $a0, $s0 -/* 08417C 7F04F64C 0C0029FF */ jal string_load_parse_something -/* 084180 7F04F650 00402825 */ move $a1, $v0 -/* 084184 7F04F654 1000003F */ b .L7F04F754 -/* 084188 7F04F658 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_explosive_pen: -/* 08418C 7F04F65C 0FC30776 */ jal get_textptr_for_textID -/* 084190 7F04F660 3404A414 */ li $a0, 42004 -/* 084194 7F04F664 02002025 */ move $a0, $s0 -/* 084198 7F04F668 0C0029FF */ jal string_load_parse_something -/* 08419C 7F04F66C 00402825 */ move $a1, $v0 -/* 0841A0 7F04F670 10000038 */ b .L7F04F754 -/* 0841A4 7F04F674 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_explosive_case: -/* 0841A8 7F04F678 0FC30776 */ jal get_textptr_for_textID -/* 0841AC 7F04F67C 3404A415 */ li $a0, 42005 -/* 0841B0 7F04F680 02002025 */ move $a0, $s0 -/* 0841B4 7F04F684 0C0029FF */ jal string_load_parse_something -/* 0841B8 7F04F688 00402825 */ move $a1, $v0 -/* 0841BC 7F04F68C 10000031 */ b .L7F04F754 -/* 0841C0 7F04F690 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_flare: -/* 0841C4 7F04F694 0FC30776 */ jal get_textptr_for_textID -/* 0841C8 7F04F698 3404A416 */ li $a0, 42006 -/* 0841CC 7F04F69C 02002025 */ move $a0, $s0 -/* 0841D0 7F04F6A0 0C0029FF */ jal string_load_parse_something -/* 0841D4 7F04F6A4 00402825 */ move $a1, $v0 -/* 0841D8 7F04F6A8 1000002A */ b .L7F04F754 -/* 0841DC 7F04F6AC 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_piton: -/* 0841E0 7F04F6B0 0FC30776 */ jal get_textptr_for_textID -/* 0841E4 7F04F6B4 3404A417 */ li $a0, 42007 -/* 0841E8 7F04F6B8 02002025 */ move $a0, $s0 -/* 0841EC 7F04F6BC 0C0029FF */ jal string_load_parse_something -/* 0841F0 7F04F6C0 00402825 */ move $a1, $v0 -/* 0841F4 7F04F6C4 10000023 */ b .L7F04F754 -/* 0841F8 7F04F6C8 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_bug: -/* 0841FC 7F04F6CC 0FC30776 */ jal get_textptr_for_textID -/* 084200 7F04F6D0 3404A41B */ li $a0, 42011 -/* 084204 7F04F6D4 02002025 */ move $a0, $s0 -/* 084208 7F04F6D8 0C0029FF */ jal string_load_parse_something -/* 08420C 7F04F6DC 00402825 */ move $a1, $v0 -/* 084210 7F04F6E0 1000001C */ b .L7F04F754 -/* 084214 7F04F6E4 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_micro_camera: -/* 084218 7F04F6E8 0FC30776 */ jal get_textptr_for_textID -/* 08421C 7F04F6EC 3404A41C */ li $a0, 42012 -/* 084220 7F04F6F0 02002025 */ move $a0, $s0 -/* 084224 7F04F6F4 0C0029FF */ jal string_load_parse_something -/* 084228 7F04F6F8 00402825 */ move $a1, $v0 -/* 08422C 7F04F6FC 10000015 */ b .L7F04F754 -/* 084230 7F04F700 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_goldeneye_key: -/* 084234 7F04F704 0FC30776 */ jal get_textptr_for_textID -/* 084238 7F04F708 3404A41D */ li $a0, 42013 -/* 08423C 7F04F70C 02002025 */ move $a0, $s0 -/* 084240 7F04F710 0C0029FF */ jal string_load_parse_something -/* 084244 7F04F714 00402825 */ move $a1, $v0 -/* 084248 7F04F718 1000000E */ b .L7F04F754 -/* 08424C 7F04F71C 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_token: -/* 084250 7F04F720 0FC30776 */ jal get_textptr_for_textID -/* 084254 7F04F724 3404A41E */ li $a0, 42014 -/* 084258 7F04F728 02002025 */ move $a0, $s0 -/* 08425C 7F04F72C 0C0029FF */ jal string_load_parse_something -/* 084260 7F04F730 00402825 */ move $a1, $v0 -/* 084264 7F04F734 10000007 */ b .L7F04F754 -/* 084268 7F04F738 8FB90028 */ lw $t9, 0x28($sp) -text_pickup_plastique: -/* 08426C 7F04F73C 0FC30776 */ jal get_textptr_for_textID -/* 084270 7F04F740 3404A41F */ li $a0, 42015 -/* 084274 7F04F744 02002025 */ move $a0, $s0 -/* 084278 7F04F748 0C0029FF */ jal string_load_parse_something -/* 08427C 7F04F74C 00402825 */ move $a1, $v0 -pluralize_multiples: -.L7F04F750: -/* 084280 7F04F750 8FB90028 */ lw $t9, 0x28($sp) -.L7F04F754: -/* 084284 7F04F754 2B210002 */ slti $at, $t9, 2 -/* 084288 7F04F758 54200007 */ bnezl $at, .L7F04F778 -/* 08428C 7F04F75C 8FBF001C */ lw $ra, 0x1c($sp) -/* 084290 7F04F760 0FC30776 */ jal get_textptr_for_textID -/* 084294 7F04F764 3404A412 */ li $a0, 42002 -/* 084298 7F04F768 02002025 */ move $a0, $s0 -/* 08429C 7F04F76C 0C0029FF */ jal string_load_parse_something -/* 0842A0 7F04F770 00402825 */ move $a1, $v0 -/* 0842A4 7F04F774 8FBF001C */ lw $ra, 0x1c($sp) -.L7F04F778: -/* 0842A8 7F04F778 8FB00018 */ lw $s0, 0x18($sp) -/* 0842AC 7F04F77C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0842B0 7F04F780 03E00008 */ jr $ra -/* 0842B4 7F04F784 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_sound_effect_for_ammo_collection(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80052FEC*/ -/*glabel jpt_80052FEC*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_knife*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_firearm*/ -/*.word ammo_sfx_pickup_mine*/ -/*.word ammo_sfx_pickup_default*/ -/*.word ammo_sfx_pickup_default*/ -/*.word ammo_sfx_pickup_default*/ -/*.word ammo_sfx_pickup_default*/ -/*.word ammo_sfx_pickup_default*/ -/*.word ammo_sfx_pickup_firearm*/ - -.text -glabel set_sound_effect_for_ammo_collection -/* 0842B8 7F04F788 248EFFFF */ addiu $t6, $a0, -1 -/* 0842BC 7F04F78C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0842C0 7F04F790 2DC1001D */ sltiu $at, $t6, 0x1d -/* 0842C4 7F04F794 1020001A */ beqz $at, .L7F04F800 -/* 0842C8 7F04F798 AFBF0014 */ sw $ra, 0x14($sp) -/* 0842CC 7F04F79C 000E7080 */ sll $t6, $t6, 2 -/* 0842D0 7F04F7A0 3C018005 */ lui $at, %hi(jpt_80052FEC) -/* 0842D4 7F04F7A4 002E0821 */ addu $at, $at, $t6 -/* 0842D8 7F04F7A8 8C2E2FEC */ lw $t6, %lo(jpt_80052FEC)($at) -/* 0842DC 7F04F7AC 01C00008 */ jr $t6 -/* 0842E0 7F04F7B0 00000000 */ nop -ammo_sfx_pickup_firearm: -/* 0842E4 7F04F7B4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0842E8 7F04F7B8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0842EC 7F04F7BC 240500EA */ li $a1, 234 -/* 0842F0 7F04F7C0 0C002382 */ jal play_sfx_a1 -/* 0842F4 7F04F7C4 00003025 */ move $a2, $zero -/* 0842F8 7F04F7C8 1000000E */ b .L7F04F804 -/* 0842FC 7F04F7CC 8FBF0014 */ lw $ra, 0x14($sp) -ammo_sfx_pickup_mine: -/* 084300 7F04F7D0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084304 7F04F7D4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084308 7F04F7D8 240500EB */ li $a1, 235 -/* 08430C 7F04F7DC 0C002382 */ jal play_sfx_a1 -/* 084310 7F04F7E0 00003025 */ move $a2, $zero -/* 084314 7F04F7E4 10000007 */ b .L7F04F804 -/* 084318 7F04F7E8 8FBF0014 */ lw $ra, 0x14($sp) -ammo_sfx_pickup_knife: -/* 08431C 7F04F7EC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084320 7F04F7F0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084324 7F04F7F4 240500E9 */ li $a1, 233 -/* 084328 7F04F7F8 0C002382 */ jal play_sfx_a1 -/* 08432C 7F04F7FC 00003025 */ move $a2, $zero -ammo_sfx_pickup_default: -.L7F04F800: -/* 084330 7F04F800 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F804: -/* 084334 7F04F804 27BD0018 */ addiu $sp, $sp, 0x18 -/* 084338 7F04F808 03E00008 */ jr $ra -/* 08433C 7F04F80C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_sound_effect_for_weapontype_collection(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_sound_effect_for_weapontype_collection -/* 084340 7F04F810 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 084344 7F04F814 24010002 */ li $at, 2 -/* 084348 7F04F818 10810004 */ beq $a0, $at, .L7F04F82C -/* 08434C 7F04F81C AFBF0014 */ sw $ra, 0x14($sp) -/* 084350 7F04F820 24010003 */ li $at, 3 -/* 084354 7F04F824 54810009 */ bnel $a0, $at, .L7F04F84C -/* 084358 7F04F828 2401001D */ li $at, 29 -.L7F04F82C: -/* 08435C 7F04F82C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084360 7F04F830 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084364 7F04F834 240500E9 */ li $a1, 233 -/* 084368 7F04F838 0C002382 */ jal play_sfx_a1 -/* 08436C 7F04F83C 00003025 */ move $a2, $zero -/* 084370 7F04F840 10000034 */ b .L7F04F914 -/* 084374 7F04F844 8FBF0014 */ lw $ra, 0x14($sp) -/* 084378 7F04F848 2401001D */ li $at, 29 -.L7F04F84C: -/* 08437C 7F04F84C 1081000E */ beq $a0, $at, .L7F04F888 -/* 084380 7F04F850 240500EB */ li $a1, 235 -/* 084384 7F04F854 2401001C */ li $at, 28 -/* 084388 7F04F858 1081000B */ beq $a0, $at, .L7F04F888 -/* 08438C 7F04F85C 2401001B */ li $at, 27 -/* 084390 7F04F860 10810009 */ beq $a0, $at, .L7F04F888 -/* 084394 7F04F864 24010021 */ li $at, 33 -/* 084398 7F04F868 10810007 */ beq $a0, $at, .L7F04F888 -/* 08439C 7F04F86C 2401002F */ li $at, 47 -/* 0843A0 7F04F870 10810005 */ beq $a0, $at, .L7F04F888 -/* 0843A4 7F04F874 24010030 */ li $at, 48 -/* 0843A8 7F04F878 10810003 */ beq $a0, $at, .L7F04F888 -/* 0843AC 7F04F87C 24010022 */ li $at, 34 -/* 0843B0 7F04F880 54810008 */ bnel $a0, $at, .L7F04F8A4 -/* 0843B4 7F04F884 2401001A */ li $at, 26 -.L7F04F888: -/* 0843B8 7F04F888 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0843BC 7F04F88C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0843C0 7F04F890 0C002382 */ jal play_sfx_a1 -/* 0843C4 7F04F894 00003025 */ move $a2, $zero -/* 0843C8 7F04F898 1000001E */ b .L7F04F914 -/* 0843CC 7F04F89C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0843D0 7F04F8A0 2401001A */ li $at, 26 -.L7F04F8A4: -/* 0843D4 7F04F8A4 10810006 */ beq $a0, $at, .L7F04F8C0 -/* 0843D8 7F04F8A8 240500EA */ li $a1, 234 -/* 0843DC 7F04F8AC 24010057 */ li $at, 87 -/* 0843E0 7F04F8B0 10810003 */ beq $a0, $at, .L7F04F8C0 -/* 0843E4 7F04F8B4 24010056 */ li $at, 86 -/* 0843E8 7F04F8B8 54810008 */ bnel $a0, $at, .L7F04F8DC -/* 0843EC 7F04F8BC 24010016 */ li $at, 22 -.L7F04F8C0: -/* 0843F0 7F04F8C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0843F4 7F04F8C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0843F8 7F04F8C8 0C002382 */ jal play_sfx_a1 -/* 0843FC 7F04F8CC 00003025 */ move $a2, $zero -/* 084400 7F04F8D0 10000010 */ b .L7F04F914 -/* 084404 7F04F8D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 084408 7F04F8D8 24010016 */ li $at, 22 -.L7F04F8DC: -/* 08440C 7F04F8DC 14810008 */ bne $a0, $at, .L7F04F900 -/* 084410 7F04F8E0 240500E8 */ li $a1, 232 -/* 084414 7F04F8E4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084418 7F04F8E8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08441C 7F04F8EC 240500F2 */ li $a1, 242 -/* 084420 7F04F8F0 0C002382 */ jal play_sfx_a1 -/* 084424 7F04F8F4 00003025 */ move $a2, $zero -/* 084428 7F04F8F8 10000006 */ b .L7F04F914 -/* 08442C 7F04F8FC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F900: -/* 084430 7F04F900 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084434 7F04F904 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084438 7F04F908 0C002382 */ jal play_sfx_a1 -/* 08443C 7F04F90C 00003025 */ move $a2, $zero -/* 084440 7F04F910 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04F914: -/* 084444 7F04F914 27BD0018 */ addiu $sp, $sp, 0x18 -/* 084448 7F04F918 03E00008 */ jr $ra -/* 08444C 7F04F91C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void display_ammo_type_collection_text(void) { - -} -#else -GLOBAL_ASM( -.late_rodata - -.text -glabel display_ammo_type_collection_text -/* 084450 7F04F920 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 084454 7F04F924 AFBF0024 */ sw $ra, 0x24($sp) -/* 084458 7F04F928 AFB20020 */ sw $s2, 0x20($sp) -/* 08445C 7F04F92C AFB1001C */ sw $s1, 0x1c($sp) -/* 084460 7F04F930 AFB00018 */ sw $s0, 0x18($sp) -/* 084464 7F04F934 A0800000 */ sb $zero, ($a0) -/* 084468 7F04F938 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 08446C 7F04F93C 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 084470 7F04F940 00808025 */ move $s0, $a0 -/* 084474 7F04F944 00A08825 */ move $s1, $a1 -/* 084478 7F04F948 11C00011 */ beqz $t6, .L7F04F990 -/* 08447C 7F04F94C 00C09025 */ move $s2, $a2 -/* 084480 7F04F950 0FC13D03 */ jal apped_text_ammotype -/* 084484 7F04F954 00000000 */ nop -/* 084488 7F04F958 0FC26919 */ jal get_num_players -/* 08448C 7F04F95C 00000000 */ nop -/* 084490 7F04F960 28410003 */ slti $at, $v0, 3 -/* 084494 7F04F964 10200004 */ beqz $at, .L7F04F978 -/* 084498 7F04F968 02002025 */ move $a0, $s0 -/* 08449C 7F04F96C 02202825 */ move $a1, $s1 -/* 0844A0 7F04F970 0FC13CAD */ jal append_text_picked_up -/* 0844A4 7F04F974 02403025 */ move $a2, $s2 -.L7F04F978: -/* 0844A8 7F04F978 3C058005 */ lui $a1, %hi(D_800529D0) -/* 0844AC 7F04F97C 24A529D0 */ addiu $a1, %lo(D_800529D0) # addiu $a1, $a1, 0x29d0 -/* 0844B0 7F04F980 0C0029FF */ jal string_load_parse_something -/* 0844B4 7F04F984 02002025 */ move $a0, $s0 -/* 0844B8 7F04F988 10000016 */ b .L7F04F9E4 -/* 0844BC 7F04F98C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04F990: -/* 0844C0 7F04F990 0FC26919 */ jal get_num_players -/* 0844C4 7F04F994 00000000 */ nop -/* 0844C8 7F04F998 28410003 */ slti $at, $v0, 3 -/* 0844CC 7F04F99C 10200008 */ beqz $at, .L7F04F9C0 -/* 0844D0 7F04F9A0 02002025 */ move $a0, $s0 -/* 0844D4 7F04F9A4 02202825 */ move $a1, $s1 -/* 0844D8 7F04F9A8 0FC13CAD */ jal append_text_picked_up -/* 0844DC 7F04F9AC 02403025 */ move $a2, $s2 -/* 0844E0 7F04F9B0 02002025 */ move $a0, $s0 -/* 0844E4 7F04F9B4 02202825 */ move $a1, $s1 -/* 0844E8 7F04F9B8 0FC13CBB */ jal append_text_ammo_amount_word -/* 0844EC 7F04F9BC 02403025 */ move $a2, $s2 -.L7F04F9C0: -/* 0844F0 7F04F9C0 02002025 */ move $a0, $s0 -/* 0844F4 7F04F9C4 02202825 */ move $a1, $s1 -/* 0844F8 7F04F9C8 0FC13D03 */ jal apped_text_ammotype -/* 0844FC 7F04F9CC 02403025 */ move $a2, $s2 -/* 084500 7F04F9D0 3C058005 */ lui $a1, %hi(D_800529D4) -/* 084504 7F04F9D4 24A529D4 */ addiu $a1, %lo(D_800529D4) # addiu $a1, $a1, 0x29d4 -/* 084508 7F04F9D8 0C0029FF */ jal string_load_parse_something -/* 08450C 7F04F9DC 02002025 */ move $a0, $s0 -/* 084510 7F04F9E0 8FBF0024 */ lw $ra, 0x24($sp) -.L7F04F9E4: -/* 084514 7F04F9E4 8FB00018 */ lw $s0, 0x18($sp) -/* 084518 7F04F9E8 8FB1001C */ lw $s1, 0x1c($sp) -/* 08451C 7F04F9EC 8FB20020 */ lw $s2, 0x20($sp) -/* 084520 7F04F9F0 03E00008 */ jr $ra -/* 084524 7F04F9F4 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void display_text_when_ammo_collected(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata - - -.text -glabel display_text_when_ammo_collected -/* 084528 7F04F9F8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 08452C 7F04F9FC AFA40080 */ sw $a0, 0x80($sp) -/* 084530 7F04FA00 3C0E8005 */ lui $t6, %hi(D_800529D8) -/* 084534 7F04FA04 27A4001C */ addiu $a0, $sp, 0x1c -/* 084538 7F04FA08 00A03025 */ move $a2, $a1 -/* 08453C 7F04FA0C 25CE29D8 */ addiu $t6, %lo(D_800529D8) # addiu $t6, $t6, 0x29d8 -/* 084540 7F04FA10 8FA50080 */ lw $a1, 0x80($sp) -/* 084544 7F04FA14 AFBF0014 */ sw $ra, 0x14($sp) -/* 084548 7F04FA18 25D90060 */ addiu $t9, $t6, 0x60 -/* 08454C 7F04FA1C 00804025 */ move $t0, $a0 -.L7F04FA20: -/* 084550 7F04FA20 8DC10000 */ lw $at, ($t6) -/* 084554 7F04FA24 25CE000C */ addiu $t6, $t6, 0xc -/* 084558 7F04FA28 2508000C */ addiu $t0, $t0, 0xc -/* 08455C 7F04FA2C AD01FFF4 */ sw $at, -0xc($t0) -/* 084560 7F04FA30 8DC1FFF8 */ lw $at, -8($t6) -/* 084564 7F04FA34 AD01FFF8 */ sw $at, -8($t0) -/* 084568 7F04FA38 8DC1FFFC */ lw $at, -4($t6) -/* 08456C 7F04FA3C 15D9FFF8 */ bne $t6, $t9, .L7F04FA20 -/* 084570 7F04FA40 AD01FFFC */ sw $at, -4($t0) -/* 084574 7F04FA44 8DC10000 */ lw $at, ($t6) -/* 084578 7F04FA48 0FC13E48 */ jal display_ammo_type_collection_text -/* 08457C 7F04FA4C AD010000 */ sw $at, ($t0) -/* 084580 7F04FA50 0FC228F2 */ jal display_string_in_lower_left_corner -/* 084584 7F04FA54 27A4001C */ addiu $a0, $sp, 0x1c -/* 084588 7F04FA58 8FBF0014 */ lw $ra, 0x14($sp) -/* 08458C 7F04FA5C 27BD0080 */ addiu $sp, $sp, 0x80 -/* 084590 7F04FA60 03E00008 */ jr $ra -/* 084594 7F04FA64 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata - - -.text -glabel display_text_when_ammo_collected -/* 084528 7F04F9F8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 08452C 7F04F9FC AFA40080 */ sw $a0, 0x80($sp) -/* 084530 7F04FA00 3C0E8005 */ lui $t6, %hi(D_800529D8) -/* 084534 7F04FA04 27A4001C */ addiu $a0, $sp, 0x1c -/* 084538 7F04FA08 00A03025 */ move $a2, $a1 -/* 08453C 7F04FA0C 25CE29D8 */ addiu $t6, %lo(D_800529D8) # addiu $t6, $t6, 0x29d8 -/* 084540 7F04FA10 8FA50080 */ lw $a1, 0x80($sp) -/* 084544 7F04FA14 AFBF0014 */ sw $ra, 0x14($sp) -/* 084548 7F04FA18 25D90060 */ addiu $t9, $t6, 0x60 -/* 08454C 7F04FA1C 00804025 */ move $t0, $a0 -.L7F04FA20: -/* 084550 7F04FA20 8DC10000 */ lw $at, ($t6) -/* 084554 7F04FA24 25CE000C */ addiu $t6, $t6, 0xc -/* 084558 7F04FA28 2508000C */ addiu $t0, $t0, 0xc -/* 08455C 7F04FA2C AD01FFF4 */ sw $at, -0xc($t0) -/* 084560 7F04FA30 8DC1FFF8 */ lw $at, -8($t6) -/* 084564 7F04FA34 AD01FFF8 */ sw $at, -8($t0) -/* 084568 7F04FA38 8DC1FFFC */ lw $at, -4($t6) -/* 08456C 7F04FA3C 15D9FFF8 */ bne $t6, $t9, .L7F04FA20 -/* 084570 7F04FA40 AD01FFFC */ sw $at, -4($t0) -/* 084574 7F04FA44 8DC10000 */ lw $at, ($t6) -/* 084578 7F04FA48 0FC13E48 */ jal display_ammo_type_collection_text -/* 08457C 7F04FA4C AD010000 */ sw $at, ($t0) -/* 084580 7F04FA50 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 084584 7F04FA54 27A4001C */ addiu $a0, $sp, 0x1c -/* 084588 7F04FA58 8FBF0014 */ lw $ra, 0x14($sp) -/* 08458C 7F04FA5C 27BD0080 */ addiu $sp, $sp, 0x80 -/* 084590 7F04FA60 03E00008 */ jr $ra -/* 084594 7F04FA64 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void add_ammo_to_inventory(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata - -.text -glabel add_ammo_to_inventory -/* 084598 7F04FA68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08459C 7F04FA6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0845A0 7F04FA70 AFA50024 */ sw $a1, 0x24($sp) -/* 0845A4 7F04FA74 AFA60028 */ sw $a2, 0x28($sp) -/* 0845A8 7F04FA78 18A0006C */ blez $a1, .L7F04FC2C -/* 0845AC 7F04FA7C AFA7002C */ sw $a3, 0x2c($sp) -/* 0845B0 7F04FA80 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 0845B4 7F04FA84 AFA40020 */ sw $a0, 0x20($sp) -/* 0845B8 7F04FA88 8FA40020 */ lw $a0, 0x20($sp) -/* 0845BC 7F04FA8C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 0845C0 7F04FA90 AFA2001C */ sw $v0, 0x1c($sp) -/* 0845C4 7F04FA94 8FAF001C */ lw $t7, 0x1c($sp) -/* 0845C8 7F04FA98 8FA40020 */ lw $a0, 0x20($sp) -/* 0845CC 7F04FA9C 01E2082A */ slt $at, $t7, $v0 -/* 0845D0 7F04FAA0 50200063 */ beql $at, $zero, .L7F04FC30 -/* 0845D4 7F04FAA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0845D8 7F04FAA8 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 0845DC 7F04FAAC AFA40020 */ sw $a0, 0x20($sp) -/* 0845E0 7F04FAB0 8FB80024 */ lw $t8, 0x24($sp) -/* 0845E4 7F04FAB4 8FA40020 */ lw $a0, 0x20($sp) -/* 0845E8 7F04FAB8 0FC1A44C */ jal give_cur_player_ammo -/* 0845EC 7F04FABC 00582821 */ addu $a1, $v0, $t8 -/* 0845F0 7F04FAC0 8FB9002C */ lw $t9, 0x2c($sp) -/* 0845F4 7F04FAC4 8FA40020 */ lw $a0, 0x20($sp) -/* 0845F8 7F04FAC8 8FA50024 */ lw $a1, 0x24($sp) -/* 0845FC 7F04FACC 53200005 */ beql $t9, $zero, .L7F04FAE4 -/* 084600 7F04FAD0 8FA80028 */ lw $t0, 0x28($sp) -/* 084604 7F04FAD4 0FC13E7E */ jal display_text_when_ammo_collected -/* 084608 7F04FAD8 AFA40020 */ sw $a0, 0x20($sp) -/* 08460C 7F04FADC 8FA40020 */ lw $a0, 0x20($sp) -/* 084610 7F04FAE0 8FA80028 */ lw $t0, 0x28($sp) -.L7F04FAE4: -/* 084614 7F04FAE4 51000005 */ beql $t0, $zero, .L7F04FAFC -/* 084618 7F04FAE8 24010005 */ li $at, 5 -/* 08461C 7F04FAEC 0FC13DE2 */ jal set_sound_effect_for_ammo_collection -/* 084620 7F04FAF0 AFA40020 */ sw $a0, 0x20($sp) -/* 084624 7F04FAF4 8FA40020 */ lw $a0, 0x20($sp) -/* 084628 7F04FAF8 24010005 */ li $at, 5 -.L7F04FAFC: -/* 08462C 7F04FAFC 54810006 */ bnel $a0, $at, .L7F04FB18 -/* 084630 7F04FB00 24010007 */ li $at, 7 -/* 084634 7F04FB04 0FC23122 */ jal add_item_to_inventory -/* 084638 7F04FB08 2404001A */ li $a0, 26 -/* 08463C 7F04FB0C 10000048 */ b .L7F04FC30 -/* 084640 7F04FB10 8FBF0014 */ lw $ra, 0x14($sp) -/* 084644 7F04FB14 24010007 */ li $at, 7 -.L7F04FB18: -/* 084648 7F04FB18 54810008 */ bnel $a0, $at, .L7F04FB3C -/* 08464C 7F04FB1C 24010008 */ li $at, 8 -/* 084650 7F04FB20 0FC23122 */ jal add_item_to_inventory -/* 084654 7F04FB24 2404001D */ li $a0, 29 -/* 084658 7F04FB28 0FC23122 */ jal add_item_to_inventory -/* 08465C 7F04FB2C 2404001E */ li $a0, 30 -/* 084660 7F04FB30 1000003F */ b .L7F04FC30 -/* 084664 7F04FB34 8FBF0014 */ lw $ra, 0x14($sp) -/* 084668 7F04FB38 24010008 */ li $at, 8 -.L7F04FB3C: -/* 08466C 7F04FB3C 54810006 */ bnel $a0, $at, .L7F04FB58 -/* 084670 7F04FB40 24010009 */ li $at, 9 -/* 084674 7F04FB44 0FC23122 */ jal add_item_to_inventory -/* 084678 7F04FB48 2404001C */ li $a0, 28 -/* 08467C 7F04FB4C 10000038 */ b .L7F04FC30 -/* 084680 7F04FB50 8FBF0014 */ lw $ra, 0x14($sp) -/* 084684 7F04FB54 24010009 */ li $at, 9 -.L7F04FB58: -/* 084688 7F04FB58 54810006 */ bnel $a0, $at, .L7F04FB74 -/* 08468C 7F04FB5C 2401000A */ li $at, 10 -/* 084690 7F04FB60 0FC23122 */ jal add_item_to_inventory -/* 084694 7F04FB64 2404001B */ li $a0, 27 -/* 084698 7F04FB68 10000031 */ b .L7F04FC30 -/* 08469C 7F04FB6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0846A0 7F04FB70 2401000A */ li $at, 10 -.L7F04FB74: -/* 0846A4 7F04FB74 54810006 */ bnel $a0, $at, .L7F04FB90 -/* 0846A8 7F04FB78 24010010 */ li $at, 16 -/* 0846AC 7F04FB7C 0FC23122 */ jal add_item_to_inventory -/* 0846B0 7F04FB80 24040003 */ li $a0, 3 -/* 0846B4 7F04FB84 1000002A */ b .L7F04FC30 -/* 0846B8 7F04FB88 8FBF0014 */ lw $ra, 0x14($sp) -/* 0846BC 7F04FB8C 24010010 */ li $at, 16 -.L7F04FB90: -/* 0846C0 7F04FB90 54810006 */ bnel $a0, $at, .L7F04FBAC -/* 0846C4 7F04FB94 24010014 */ li $at, 20 -/* 0846C8 7F04FB98 0FC23122 */ jal add_item_to_inventory -/* 0846CC 7F04FB9C 24040021 */ li $a0, 33 -/* 0846D0 7F04FBA0 10000023 */ b .L7F04FC30 -/* 0846D4 7F04FBA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0846D8 7F04FBA8 24010014 */ li $at, 20 -.L7F04FBAC: -/* 0846DC 7F04FBAC 54810006 */ bnel $a0, $at, .L7F04FBC8 -/* 0846E0 7F04FBB0 24010015 */ li $at, 21 -/* 0846E4 7F04FBB4 0FC23122 */ jal add_item_to_inventory -/* 0846E8 7F04FBB8 2404002F */ li $a0, 47 -/* 0846EC 7F04FBBC 1000001C */ b .L7F04FC30 -/* 0846F0 7F04FBC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0846F4 7F04FBC4 24010015 */ li $at, 21 -.L7F04FBC8: -/* 0846F8 7F04FBC8 54810006 */ bnel $a0, $at, .L7F04FBE4 -/* 0846FC 7F04FBCC 24010016 */ li $at, 22 -/* 084700 7F04FBD0 0FC23122 */ jal add_item_to_inventory -/* 084704 7F04FBD4 24040030 */ li $a0, 48 -/* 084708 7F04FBD8 10000015 */ b .L7F04FC30 -/* 08470C 7F04FBDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 084710 7F04FBE0 24010016 */ li $at, 22 -.L7F04FBE4: -/* 084714 7F04FBE4 54810006 */ bnel $a0, $at, .L7F04FC00 -/* 084718 7F04FBE8 2401001D */ li $at, 29 -/* 08471C 7F04FBEC 0FC23122 */ jal add_item_to_inventory -/* 084720 7F04FBF0 2404003D */ li $a0, 61 -/* 084724 7F04FBF4 1000000E */ b .L7F04FC30 -/* 084728 7F04FBF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08472C 7F04FBFC 2401001D */ li $at, 29 -.L7F04FC00: -/* 084730 7F04FC00 54810006 */ bnel $a0, $at, .L7F04FC1C -/* 084734 7F04FC04 24010017 */ li $at, 23 -/* 084738 7F04FC08 0FC23122 */ jal add_item_to_inventory -/* 08473C 7F04FC0C 24040058 */ li $a0, 88 -/* 084740 7F04FC10 10000007 */ b .L7F04FC30 -/* 084744 7F04FC14 8FBF0014 */ lw $ra, 0x14($sp) -/* 084748 7F04FC18 24010017 */ li $at, 23 -.L7F04FC1C: -/* 08474C 7F04FC1C 54810004 */ bnel $a0, $at, .L7F04FC30 -/* 084750 7F04FC20 8FBF0014 */ lw $ra, 0x14($sp) -/* 084754 7F04FC24 0FC23122 */ jal add_item_to_inventory -/* 084758 7F04FC28 24040022 */ li $a0, 34 -.L7F04FC2C: -/* 08475C 7F04FC2C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04FC30: -/* 084760 7F04FC30 27BD0020 */ addiu $sp, $sp, 0x20 -/* 084764 7F04FC34 03E00008 */ jr $ra -/* 084768 7F04FC38 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel add_ammo_to_inventory -/* 0849DC 7F04FE6C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0849E0 7F04FE70 AFBF0014 */ sw $ra, 0x14($sp) -/* 0849E4 7F04FE74 AFA50024 */ sw $a1, 0x24($sp) -/* 0849E8 7F04FE78 AFA60028 */ sw $a2, 0x28($sp) -/* 0849EC 7F04FE7C 18A0006C */ blez $a1, .L7F050030 -/* 0849F0 7F04FE80 AFA7002C */ sw $a3, 0x2c($sp) -/* 0849F4 7F04FE84 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory -/* 0849F8 7F04FE88 AFA40020 */ sw $a0, 0x20($sp) -/* 0849FC 7F04FE8C 8FA40020 */ lw $a0, 0x20($sp) -/* 084A00 7F04FE90 0FC1A630 */ jal get_max_ammo_for_type -/* 084A04 7F04FE94 AFA2001C */ sw $v0, 0x1c($sp) -/* 084A08 7F04FE98 8FAF001C */ lw $t7, 0x1c($sp) -/* 084A0C 7F04FE9C 8FA40020 */ lw $a0, 0x20($sp) -/* 084A10 7F04FEA0 01E2082A */ slt $at, $t7, $v0 -/* 084A14 7F04FEA4 50200009 */ beql $at, $zero, .L7F04FECC -/* 084A18 7F04FEA8 8FB9002C */ lw $t9, 0x2c($sp) -/* 084A1C 7F04FEAC 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory -/* 084A20 7F04FEB0 AFA40020 */ sw $a0, 0x20($sp) -/* 084A24 7F04FEB4 8FB80024 */ lw $t8, 0x24($sp) -/* 084A28 7F04FEB8 8FA40020 */ lw $a0, 0x20($sp) -/* 084A2C 7F04FEBC 0FC1A5C7 */ jal give_cur_player_ammo -/* 084A30 7F04FEC0 00582821 */ addu $a1, $v0, $t8 -/* 084A34 7F04FEC4 8FA40020 */ lw $a0, 0x20($sp) -/* 084A38 7F04FEC8 8FB9002C */ lw $t9, 0x2c($sp) -.L7F04FECC: -/* 084A3C 7F04FECC 8FA50024 */ lw $a1, 0x24($sp) -/* 084A40 7F04FED0 53200005 */ beql $t9, $zero, .L7F04FEE8 -/* 084A44 7F04FED4 8FA80028 */ lw $t0, 0x28($sp) -/* 084A48 7F04FED8 0FC13F7F */ jal display_text_when_ammo_collected -/* 084A4C 7F04FEDC AFA40020 */ sw $a0, 0x20($sp) -/* 084A50 7F04FEE0 8FA40020 */ lw $a0, 0x20($sp) -/* 084A54 7F04FEE4 8FA80028 */ lw $t0, 0x28($sp) -.L7F04FEE8: -/* 084A58 7F04FEE8 51000005 */ beql $t0, $zero, .L7F04FF00 -/* 084A5C 7F04FEEC 24010005 */ li $at, 5 -/* 084A60 7F04FEF0 0FC13EE3 */ jal set_sound_effect_for_ammo_collection -/* 084A64 7F04FEF4 AFA40020 */ sw $a0, 0x20($sp) -/* 084A68 7F04FEF8 8FA40020 */ lw $a0, 0x20($sp) -/* 084A6C 7F04FEFC 24010005 */ li $at, 5 -.L7F04FF00: -/* 084A70 7F04FF00 54810006 */ bnel $a0, $at, .L7F04FF1C -/* 084A74 7F04FF04 24010007 */ li $at, 7 -/* 084A78 7F04FF08 0FC2335A */ jal add_item_to_inventory -/* 084A7C 7F04FF0C 2404001A */ li $a0, 26 -/* 084A80 7F04FF10 10000048 */ b .L7F050034 -/* 084A84 7F04FF14 8FBF0014 */ lw $ra, 0x14($sp) -/* 084A88 7F04FF18 24010007 */ li $at, 7 -.L7F04FF1C: -/* 084A8C 7F04FF1C 54810008 */ bnel $a0, $at, .L7F04FF40 -/* 084A90 7F04FF20 24010008 */ li $at, 8 -/* 084A94 7F04FF24 0FC2335A */ jal add_item_to_inventory -/* 084A98 7F04FF28 2404001D */ li $a0, 29 -/* 084A9C 7F04FF2C 0FC2335A */ jal add_item_to_inventory -/* 084AA0 7F04FF30 2404001E */ li $a0, 30 -/* 084AA4 7F04FF34 1000003F */ b .L7F050034 -/* 084AA8 7F04FF38 8FBF0014 */ lw $ra, 0x14($sp) -/* 084AAC 7F04FF3C 24010008 */ li $at, 8 -.L7F04FF40: -/* 084AB0 7F04FF40 54810006 */ bnel $a0, $at, .L7F04FF5C -/* 084AB4 7F04FF44 24010009 */ li $at, 9 -/* 084AB8 7F04FF48 0FC2335A */ jal add_item_to_inventory -/* 084ABC 7F04FF4C 2404001C */ li $a0, 28 -/* 084AC0 7F04FF50 10000038 */ b .L7F050034 -/* 084AC4 7F04FF54 8FBF0014 */ lw $ra, 0x14($sp) -/* 084AC8 7F04FF58 24010009 */ li $at, 9 -.L7F04FF5C: -/* 084ACC 7F04FF5C 54810006 */ bnel $a0, $at, .L7F04FF78 -/* 084AD0 7F04FF60 2401000A */ li $at, 10 -/* 084AD4 7F04FF64 0FC2335A */ jal add_item_to_inventory -/* 084AD8 7F04FF68 2404001B */ li $a0, 27 -/* 084ADC 7F04FF6C 10000031 */ b .L7F050034 -/* 084AE0 7F04FF70 8FBF0014 */ lw $ra, 0x14($sp) -/* 084AE4 7F04FF74 2401000A */ li $at, 10 -.L7F04FF78: -/* 084AE8 7F04FF78 54810006 */ bnel $a0, $at, .L7F04FF94 -/* 084AEC 7F04FF7C 24010010 */ li $at, 16 -/* 084AF0 7F04FF80 0FC2335A */ jal add_item_to_inventory -/* 084AF4 7F04FF84 24040003 */ li $a0, 3 -/* 084AF8 7F04FF88 1000002A */ b .L7F050034 -/* 084AFC 7F04FF8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B00 7F04FF90 24010010 */ li $at, 16 -.L7F04FF94: -/* 084B04 7F04FF94 54810006 */ bnel $a0, $at, .L7F04FFB0 -/* 084B08 7F04FF98 24010014 */ li $at, 20 -/* 084B0C 7F04FF9C 0FC2335A */ jal add_item_to_inventory -/* 084B10 7F04FFA0 24040021 */ li $a0, 33 -/* 084B14 7F04FFA4 10000023 */ b .L7F050034 -/* 084B18 7F04FFA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B1C 7F04FFAC 24010014 */ li $at, 20 -.L7F04FFB0: -/* 084B20 7F04FFB0 54810006 */ bnel $a0, $at, .L7F04FFCC -/* 084B24 7F04FFB4 24010015 */ li $at, 21 -/* 084B28 7F04FFB8 0FC2335A */ jal add_item_to_inventory -/* 084B2C 7F04FFBC 2404002F */ li $a0, 47 -/* 084B30 7F04FFC0 1000001C */ b .L7F050034 -/* 084B34 7F04FFC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B38 7F04FFC8 24010015 */ li $at, 21 -.L7F04FFCC: -/* 084B3C 7F04FFCC 54810006 */ bnel $a0, $at, .L7F04FFE8 -/* 084B40 7F04FFD0 24010016 */ li $at, 22 -/* 084B44 7F04FFD4 0FC2335A */ jal add_item_to_inventory -/* 084B48 7F04FFD8 24040030 */ li $a0, 48 -/* 084B4C 7F04FFDC 10000015 */ b .L7F050034 -/* 084B50 7F04FFE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B54 7F04FFE4 24010016 */ li $at, 22 -.L7F04FFE8: -/* 084B58 7F04FFE8 54810006 */ bnel $a0, $at, .L7F050004 -/* 084B5C 7F04FFEC 2401001D */ li $at, 29 -/* 084B60 7F04FFF0 0FC2335A */ jal add_item_to_inventory -/* 084B64 7F04FFF4 2404003D */ li $a0, 61 -/* 084B68 7F04FFF8 1000000E */ b .L7F050034 -/* 084B6C 7F04FFFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B70 7F050000 2401001D */ li $at, 29 -.L7F050004: -/* 084B74 7F050004 54810006 */ bnel $a0, $at, .L7F050020 -/* 084B78 7F050008 24010017 */ li $at, 23 -/* 084B7C 7F05000C 0FC2335A */ jal add_item_to_inventory -/* 084B80 7F050010 24040058 */ li $a0, 88 -/* 084B84 7F050014 10000007 */ b .L7F050034 -/* 084B88 7F050018 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B8C 7F05001C 24010017 */ li $at, 23 -.L7F050020: -/* 084B90 7F050020 54810004 */ bnel $a0, $at, .L7F050034 -/* 084B94 7F050024 8FBF0014 */ lw $ra, 0x14($sp) -/* 084B98 7F050028 0FC2335A */ jal add_item_to_inventory -/* 084B9C 7F05002C 24040022 */ li $a0, 34 -.L7F050030: -/* 084BA0 7F050030 8FBF0014 */ lw $ra, 0x14($sp) -.L7F050034: -/* 084BA4 7F050034 27BD0020 */ addiu $sp, $sp, 0x20 -/* 084BA8 7F050038 03E00008 */ jr $ra -/* 084BAC 7F05003C 00000000 */ nop -) -#endif - -#endif - - - - -#ifdef NONMATCHING -void get_ammo_in_magazine(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80053060*/ -glabel ammo_collected_from_magazine -.word magazine_has_10_rounds_type1 -.word magazine_has_10_rounds_type2 -.word magazine_has_10_rounds_type3 -.word magazine_has_5_rounds_type4 -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_default_ammo_rounds -.word magazine_has_5_rounds_typeC -.word magazine_has_3_rounds_typeD -.word magazine_has_4_rounds_typeE - -.text -glabel get_ammo_in_magazine -/* 08476C 7F04FC3C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 084770 7F04FC40 AFBF0014 */ sw $ra, 0x14($sp) -/* 084774 7F04FC44 8C8E0080 */ lw $t6, 0x80($a0) -/* 084778 7F04FC48 24030001 */ li $v1, 1 -/* 08477C 7F04FC4C 25CFFFFF */ addiu $t7, $t6, -1 -/* 084780 7F04FC50 2DE1000E */ sltiu $at, $t7, 0xe -/* 084784 7F04FC54 10200013 */ beqz $at, .L7F04FCA4 -/* 084788 7F04FC58 000F7880 */ sll $t7, $t7, 2 -/* 08478C 7F04FC5C 3C018005 */ lui $at, %hi(ammo_collected_from_magazine) -/* 084790 7F04FC60 002F0821 */ addu $at, $at, $t7 -/* 084794 7F04FC64 8C2F3060 */ lw $t7, %lo(ammo_collected_from_magazine)($at) -/* 084798 7F04FC68 01E00008 */ jr $t7 -/* 08479C 7F04FC6C 00000000 */ nop -magazine_has_10_rounds_type1: -/* 0847A0 7F04FC70 1000000C */ b .L7F04FCA4 -/* 0847A4 7F04FC74 2403000A */ li $v1, 10 -magazine_has_10_rounds_type2: -/* 0847A8 7F04FC78 1000000A */ b .L7F04FCA4 -/* 0847AC 7F04FC7C 2403000A */ li $v1, 10 -magazine_has_10_rounds_type3: -/* 0847B0 7F04FC80 10000008 */ b .L7F04FCA4 -/* 0847B4 7F04FC84 2403000A */ li $v1, 10 -magazine_has_5_rounds_type4: -/* 0847B8 7F04FC88 10000006 */ b .L7F04FCA4 -/* 0847BC 7F04FC8C 24030005 */ li $v1, 5 -magazine_has_5_rounds_typeC: -/* 0847C0 7F04FC90 10000004 */ b .L7F04FCA4 -/* 0847C4 7F04FC94 24030005 */ li $v1, 5 -magazine_has_3_rounds_typeD: -/* 0847C8 7F04FC98 10000002 */ b .L7F04FCA4 -/* 0847CC 7F04FC9C 24030003 */ li $v1, 3 -magazine_has_4_rounds_typeE: -/* 0847D0 7F04FCA0 24030004 */ li $v1, 4 -magazine_has_default_ammo_rounds: -.L7F04FCA4: -/* 0847D4 7F04FCA4 28610002 */ slti $at, $v1, 2 -/* 0847D8 7F04FCA8 5420000F */ bnezl $at, .L7F04FCE8 -/* 0847DC 7F04FCAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0847E0 7F04FCB0 0FC26919 */ jal get_num_players -/* 0847E4 7F04FCB4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0847E8 7F04FCB8 24010001 */ li $at, 1 -/* 0847EC 7F04FCBC 14410009 */ bne $v0, $at, .L7F04FCE4 -/* 0847F0 7F04FCC0 8FA3001C */ lw $v1, 0x1c($sp) -/* 0847F4 7F04FCC4 44832000 */ mtc1 $v1, $f4 -/* 0847F8 7F04FCC8 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0847FC 7F04FCCC C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) -/* 084800 7F04FCD0 468021A0 */ cvt.s.w $f6, $f4 -/* 084804 7F04FCD4 46083282 */ mul.s $f10, $f6, $f8 -/* 084808 7F04FCD8 4600540D */ trunc.w.s $f16, $f10 -/* 08480C 7F04FCDC 44038000 */ mfc1 $v1, $f16 -/* 084810 7F04FCE0 00000000 */ nop -.L7F04FCE4: -/* 084814 7F04FCE4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F04FCE8: -/* 084818 7F04FCE8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08481C 7F04FCEC 00601025 */ move $v0, $v1 -/* 084820 7F04FCF0 03E00008 */ jr $ra -/* 084824 7F04FCF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void ammo_collected_from_weapon(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80053098*/ -glabel ammo_in_weapon -.word weapon_has_10_rounds_type1 -.word weapon_has_10_rounds_type2 -.word weapon_has_10_rounds_type3 -.word weapon_has_5_rounds_type4 -.word weapon_has_default_ammo -.word weapon_has_default_ammo -.word weapon_has_default_ammo -.word weapon_has_default_ammo -.word weapon_has_default_ammo -.word weapon_has_default_ammo -.word weapon_has_3_rounds_typeB -.word weapon_has_5_rounds_typeC -.word weapon_has_3_rounds_typeD -.word weapon_has_4_rounds_typeE - -.text -glabel ammo_collected_from_weapon -/* 084828 7F04FCF8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08482C 7F04FCFC AFBF0014 */ sw $ra, 0x14($sp) -/* 084830 7F04FD00 AFA40020 */ sw $a0, 0x20($sp) -/* 084834 7F04FD04 0FC1A50B */ jal get_ammo_type_for_weapon -/* 084838 7F04FD08 80840080 */ lb $a0, 0x80($a0) -/* 08483C 7F04FD0C 8FAF0020 */ lw $t7, 0x20($sp) -/* 084840 7F04FD10 2448FFFF */ addiu $t0, $v0, -1 -/* 084844 7F04FD14 24030001 */ li $v1, 1 -/* 084848 7F04FD18 8DF80008 */ lw $t8, 8($t7) -/* 08484C 7F04FD1C 2D01000E */ sltiu $at, $t0, 0xe -/* 084850 7F04FD20 0018C840 */ sll $t9, $t8, 1 -/* 084854 7F04FD24 07210003 */ bgez $t9, .L7F04FD34 -/* 084858 7F04FD28 00000000 */ nop -/* 08485C 7F04FD2C 10000028 */ b .L7F04FDD0 -/* 084860 7F04FD30 00001025 */ move $v0, $zero -.L7F04FD34: -/* 084864 7F04FD34 10200015 */ beqz $at, .L7F04FD8C -/* 084868 7F04FD38 00084080 */ sll $t0, $t0, 2 -/* 08486C 7F04FD3C 3C018005 */ lui $at, %hi(ammo_in_weapon) -/* 084870 7F04FD40 00280821 */ addu $at, $at, $t0 -/* 084874 7F04FD44 8C283098 */ lw $t0, %lo(ammo_in_weapon)($at) -/* 084878 7F04FD48 01000008 */ jr $t0 -/* 08487C 7F04FD4C 00000000 */ nop -weapon_has_10_rounds_type1: -/* 084880 7F04FD50 1000000E */ b .L7F04FD8C -/* 084884 7F04FD54 2403000A */ li $v1, 10 -weapon_has_10_rounds_type2: -/* 084888 7F04FD58 1000000C */ b .L7F04FD8C -/* 08488C 7F04FD5C 2403000A */ li $v1, 10 -weapon_has_10_rounds_type3: -/* 084890 7F04FD60 1000000A */ b .L7F04FD8C -/* 084894 7F04FD64 2403000A */ li $v1, 10 -weapon_has_5_rounds_type4: -/* 084898 7F04FD68 10000008 */ b .L7F04FD8C -/* 08489C 7F04FD6C 24030005 */ li $v1, 5 -weapon_has_5_rounds_typeC: -/* 0848A0 7F04FD70 10000006 */ b .L7F04FD8C -/* 0848A4 7F04FD74 24030005 */ li $v1, 5 -weapon_has_3_rounds_typeD: -/* 0848A8 7F04FD78 10000004 */ b .L7F04FD8C -/* 0848AC 7F04FD7C 24030003 */ li $v1, 3 -weapon_has_4_rounds_typeE: -/* 0848B0 7F04FD80 10000002 */ b .L7F04FD8C -/* 0848B4 7F04FD84 24030004 */ li $v1, 4 -weapon_has_3_rounds_typeB: -/* 0848B8 7F04FD88 24030003 */ li $v1, 3 -weapon_has_default_ammo: -.L7F04FD8C: -/* 0848BC 7F04FD8C 28610002 */ slti $at, $v1, 2 -/* 0848C0 7F04FD90 5420000F */ bnezl $at, .L7F04FDD0 -/* 0848C4 7F04FD94 00601025 */ move $v0, $v1 -/* 0848C8 7F04FD98 0FC26919 */ jal get_num_players -/* 0848CC 7F04FD9C AFA30018 */ sw $v1, 0x18($sp) -/* 0848D0 7F04FDA0 24010001 */ li $at, 1 -/* 0848D4 7F04FDA4 14410009 */ bne $v0, $at, .L7F04FDCC -/* 0848D8 7F04FDA8 8FA30018 */ lw $v1, 0x18($sp) -/* 0848DC 7F04FDAC 44832000 */ mtc1 $v1, $f4 -/* 0848E0 7F04FDB0 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 0848E4 7F04FDB4 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) -/* 0848E8 7F04FDB8 468021A0 */ cvt.s.w $f6, $f4 -/* 0848EC 7F04FDBC 46083282 */ mul.s $f10, $f6, $f8 -/* 0848F0 7F04FDC0 4600540D */ trunc.w.s $f16, $f10 -/* 0848F4 7F04FDC4 44038000 */ mfc1 $v1, $f16 -/* 0848F8 7F04FDC8 00000000 */ nop -.L7F04FDCC: -/* 0848FC 7F04FDCC 00601025 */ move $v0, $v1 -.L7F04FDD0: -/* 084900 7F04FDD0 8FBF0014 */ lw $ra, 0x14($sp) -/* 084904 7F04FDD4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 084908 7F04FDD8 03E00008 */ jr $ra -/* 08490C 7F04FDDC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void generate_language_specific_text_for_weapon(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800530D0*/ -glabel jpt_800530D0 -.word weapon_collect_msg_a_hunting_knife -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_a_pp7 -.word weapon_collect_msg_a_silenced_pp7 -.word weapon_collect_msg_a_dd44 -.word weapon_collect_msg_a_klobb -.word weapon_collect_msg_a_kf7 -.word weapon_collect_msg_a_zmg -.word weapon_collect_msg_a_d5k -.word weapon_collect_msg_a_silenced_d5k -.word weapon_collect_msg_a_phantom -.word weapon_collect_msg_a_ar33 -.word weapon_collect_msg_a_rcp90 -.word weapon_collect_msg_a_shotgun -.word weapon_collect_msg_an_auto_shotgun -.word weapon_collect_msg_a_sniper -.word weapon_collect_msg_a_cougar_magnum -.word weapon_collect_msg_a_golden_gun -.word weapon_collect_msg_a_silver_pp7 -.word weapon_collect_msg_a_gold_pp7 -.word weapon_collect_msg_a_moonraker_laser -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_grenade_launcher -.word weapon_collect_msg_a_rocket_launcher -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_a_flare_pistol -.word weapon_collect_msg_a_piton_gun -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_keycard -.word weapon_collect_msg_a_yale_key -.word weapon_collect_msg_a_bolt_key -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_a_new_weapon -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK -.word weapon_collect_msg_BLANK - -.text -glabel generate_language_specific_text_for_weapon -/* 084910 7F04FDE0 3C0E8005 */ lui $t6, %hi(j_text_trigger) -/* 084914 7F04FDE4 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) -/* 084918 7F04FDE8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08491C 7F04FDEC AFB00018 */ sw $s0, 0x18($sp) -/* 084920 7F04FDF0 00808025 */ move $s0, $a0 -/* 084924 7F04FDF4 AFBF001C */ sw $ra, 0x1c($sp) -/* 084928 7F04FDF8 AFA5002C */ sw $a1, 0x2c($sp) -/* 08492C 7F04FDFC 11C0000B */ beqz $t6, .L7F04FE2C -/* 084930 7F04FE00 AFA00024 */ sw $zero, 0x24($sp) -/* 084934 7F04FE04 3C058005 */ lui $a1, %hi(D_80052A3C) -/* 084938 7F04FE08 0C0029DC */ jal textpointer_load_parse_something -/* 08493C 7F04FE0C 24A52A3C */ addiu $a1, %lo(D_80052A3C) # addiu $a1, $a1, 0x2a3c -/* 084940 7F04FE10 0FC26919 */ jal get_num_players -/* 084944 7F04FE14 00000000 */ nop -/* 084948 7F04FE18 28410003 */ slti $at, $v0, 3 -/* 08494C 7F04FE1C 1420000D */ bnez $at, .L7F04FE54 -/* 084950 7F04FE20 240F0001 */ li $t7, 1 -/* 084954 7F04FE24 1000000B */ b .L7F04FE54 -/* 084958 7F04FE28 AFAF0024 */ sw $t7, 0x24($sp) -.L7F04FE2C: -/* 08495C 7F04FE2C 0FC26919 */ jal get_num_players -/* 084960 7F04FE30 00000000 */ nop -/* 084964 7F04FE34 28410003 */ slti $at, $v0, 3 -/* 084968 7F04FE38 50200007 */ beql $at, $zero, .L7F04FE58 -/* 08496C 7F04FE3C 8FB8002C */ lw $t8, 0x2c($sp) -/* 084970 7F04FE40 0FC30776 */ jal get_textptr_for_textID -/* 084974 7F04FE44 3404A400 */ li $a0, 41984 -/* 084978 7F04FE48 02002025 */ move $a0, $s0 -/* 08497C 7F04FE4C 0C0029DC */ jal textpointer_load_parse_something -/* 084980 7F04FE50 00402825 */ move $a1, $v0 -.L7F04FE54: -/* 084984 7F04FE54 8FB8002C */ lw $t8, 0x2c($sp) -.L7F04FE58: -/* 084988 7F04FE58 2719FFFE */ addiu $t9, $t8, -2 -/* 08498C 7F04FE5C 2F210057 */ sltiu $at, $t9, 0x57 -/* 084990 7F04FE60 102000CB */ beqz $at, .L7F050190 -/* 084994 7F04FE64 0019C880 */ sll $t9, $t9, 2 -/* 084998 7F04FE68 3C018005 */ lui $at, %hi(jpt_800530D0) -/* 08499C 7F04FE6C 00390821 */ addu $at, $at, $t9 -/* 0849A0 7F04FE70 8C3930D0 */ lw $t9, %lo(jpt_800530D0)($at) -/* 0849A4 7F04FE74 03200008 */ jr $t9 -/* 0849A8 7F04FE78 00000000 */ nop -weapon_collect_msg_BLANK: -/* 0849AC 7F04FE7C 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0849B0 7F04FE80 8FA4002C */ lw $a0, 0x2c($sp) -/* 0849B4 7F04FE84 02002025 */ move $a0, $s0 -/* 0849B8 7F04FE88 00402825 */ move $a1, $v0 -/* 0849BC 7F04FE8C 0FC13E48 */ jal display_ammo_type_collection_text -/* 0849C0 7F04FE90 24060001 */ li $a2, 1 -/* 0849C4 7F04FE94 100000DF */ b .L7F050214 -/* 0849C8 7F04FE98 8FBF001C */ lw $ra, 0x1c($sp) -weapon_collect_msg_a_hunting_knife: -/* 0849CC 7F04FE9C 0FC30776 */ jal get_textptr_for_textID -/* 0849D0 7F04FEA0 3404A420 */ li $a0, 42016 -/* 0849D4 7F04FEA4 02002025 */ move $a0, $s0 -/* 0849D8 7F04FEA8 0C0029FF */ jal string_load_parse_something -/* 0849DC 7F04FEAC 00402825 */ move $a1, $v0 -/* 0849E0 7F04FEB0 100000BC */ b .L7F0501A4 -/* 0849E4 7F04FEB4 00000000 */ nop -weapon_collect_msg_a_pp7: -/* 0849E8 7F04FEB8 0FC30776 */ jal get_textptr_for_textID -/* 0849EC 7F04FEBC 3404A421 */ li $a0, 42017 -/* 0849F0 7F04FEC0 02002025 */ move $a0, $s0 -/* 0849F4 7F04FEC4 0C0029FF */ jal string_load_parse_something -/* 0849F8 7F04FEC8 00402825 */ move $a1, $v0 -/* 0849FC 7F04FECC 100000B5 */ b .L7F0501A4 -/* 084A00 7F04FED0 00000000 */ nop -weapon_collect_msg_a_silenced_pp7: -/* 084A04 7F04FED4 0FC30776 */ jal get_textptr_for_textID -/* 084A08 7F04FED8 3404A422 */ li $a0, 42018 -/* 084A0C 7F04FEDC 02002025 */ move $a0, $s0 -/* 084A10 7F04FEE0 0C0029FF */ jal string_load_parse_something -/* 084A14 7F04FEE4 00402825 */ move $a1, $v0 -/* 084A18 7F04FEE8 100000AE */ b .L7F0501A4 -/* 084A1C 7F04FEEC 00000000 */ nop -weapon_collect_msg_a_dd44: -/* 084A20 7F04FEF0 0FC30776 */ jal get_textptr_for_textID -/* 084A24 7F04FEF4 3404A423 */ li $a0, 42019 -/* 084A28 7F04FEF8 02002025 */ move $a0, $s0 -/* 084A2C 7F04FEFC 0C0029FF */ jal string_load_parse_something -/* 084A30 7F04FF00 00402825 */ move $a1, $v0 -/* 084A34 7F04FF04 100000A7 */ b .L7F0501A4 -/* 084A38 7F04FF08 00000000 */ nop -weapon_collect_msg_a_klobb: -/* 084A3C 7F04FF0C 0FC30776 */ jal get_textptr_for_textID -/* 084A40 7F04FF10 3404A424 */ li $a0, 42020 -/* 084A44 7F04FF14 02002025 */ move $a0, $s0 -/* 084A48 7F04FF18 0C0029FF */ jal string_load_parse_something -/* 084A4C 7F04FF1C 00402825 */ move $a1, $v0 -/* 084A50 7F04FF20 100000A0 */ b .L7F0501A4 -/* 084A54 7F04FF24 00000000 */ nop -weapon_collect_msg_a_kf7: -/* 084A58 7F04FF28 0FC30776 */ jal get_textptr_for_textID -/* 084A5C 7F04FF2C 3404A425 */ li $a0, 42021 -/* 084A60 7F04FF30 02002025 */ move $a0, $s0 -/* 084A64 7F04FF34 0C0029FF */ jal string_load_parse_something -/* 084A68 7F04FF38 00402825 */ move $a1, $v0 -/* 084A6C 7F04FF3C 10000099 */ b .L7F0501A4 -/* 084A70 7F04FF40 00000000 */ nop -weapon_collect_msg_a_zmg: -/* 084A74 7F04FF44 0FC30776 */ jal get_textptr_for_textID -/* 084A78 7F04FF48 3404A426 */ li $a0, 42022 -/* 084A7C 7F04FF4C 02002025 */ move $a0, $s0 -/* 084A80 7F04FF50 0C0029FF */ jal string_load_parse_something -/* 084A84 7F04FF54 00402825 */ move $a1, $v0 -/* 084A88 7F04FF58 10000092 */ b .L7F0501A4 -/* 084A8C 7F04FF5C 00000000 */ nop -weapon_collect_msg_a_d5k: -/* 084A90 7F04FF60 0FC30776 */ jal get_textptr_for_textID -/* 084A94 7F04FF64 3404A427 */ li $a0, 42023 -/* 084A98 7F04FF68 02002025 */ move $a0, $s0 -/* 084A9C 7F04FF6C 0C0029FF */ jal string_load_parse_something -/* 084AA0 7F04FF70 00402825 */ move $a1, $v0 -/* 084AA4 7F04FF74 1000008B */ b .L7F0501A4 -/* 084AA8 7F04FF78 00000000 */ nop -weapon_collect_msg_a_silenced_d5k: -/* 084AAC 7F04FF7C 0FC30776 */ jal get_textptr_for_textID -/* 084AB0 7F04FF80 3404A428 */ li $a0, 42024 -/* 084AB4 7F04FF84 02002025 */ move $a0, $s0 -/* 084AB8 7F04FF88 0C0029FF */ jal string_load_parse_something -/* 084ABC 7F04FF8C 00402825 */ move $a1, $v0 -/* 084AC0 7F04FF90 10000084 */ b .L7F0501A4 -/* 084AC4 7F04FF94 00000000 */ nop -weapon_collect_msg_a_phantom: -/* 084AC8 7F04FF98 0FC30776 */ jal get_textptr_for_textID -/* 084ACC 7F04FF9C 3404A429 */ li $a0, 42025 -/* 084AD0 7F04FFA0 02002025 */ move $a0, $s0 -/* 084AD4 7F04FFA4 0C0029FF */ jal string_load_parse_something -/* 084AD8 7F04FFA8 00402825 */ move $a1, $v0 -/* 084ADC 7F04FFAC 1000007D */ b .L7F0501A4 -/* 084AE0 7F04FFB0 00000000 */ nop -weapon_collect_msg_a_ar33: -/* 084AE4 7F04FFB4 0FC30776 */ jal get_textptr_for_textID -/* 084AE8 7F04FFB8 3404A42A */ li $a0, 42026 -/* 084AEC 7F04FFBC 02002025 */ move $a0, $s0 -/* 084AF0 7F04FFC0 0C0029FF */ jal string_load_parse_something -/* 084AF4 7F04FFC4 00402825 */ move $a1, $v0 -/* 084AF8 7F04FFC8 10000076 */ b .L7F0501A4 -/* 084AFC 7F04FFCC 00000000 */ nop -weapon_collect_msg_a_rcp90: -/* 084B00 7F04FFD0 0FC30776 */ jal get_textptr_for_textID -/* 084B04 7F04FFD4 3404A42B */ li $a0, 42027 -/* 084B08 7F04FFD8 02002025 */ move $a0, $s0 -/* 084B0C 7F04FFDC 0C0029FF */ jal string_load_parse_something -/* 084B10 7F04FFE0 00402825 */ move $a1, $v0 -/* 084B14 7F04FFE4 1000006F */ b .L7F0501A4 -/* 084B18 7F04FFE8 00000000 */ nop -weapon_collect_msg_a_shotgun: -/* 084B1C 7F04FFEC 0FC30776 */ jal get_textptr_for_textID -/* 084B20 7F04FFF0 3404A42C */ li $a0, 42028 -/* 084B24 7F04FFF4 02002025 */ move $a0, $s0 -/* 084B28 7F04FFF8 0C0029FF */ jal string_load_parse_something -/* 084B2C 7F04FFFC 00402825 */ move $a1, $v0 -/* 084B30 7F050000 10000068 */ b .L7F0501A4 -/* 084B34 7F050004 00000000 */ nop -weapon_collect_msg_an_auto_shotgun: -/* 084B38 7F050008 0FC30776 */ jal get_textptr_for_textID -/* 084B3C 7F05000C 3404A42D */ li $a0, 42029 -/* 084B40 7F050010 02002025 */ move $a0, $s0 -/* 084B44 7F050014 0C0029FF */ jal string_load_parse_something -/* 084B48 7F050018 00402825 */ move $a1, $v0 -/* 084B4C 7F05001C 10000061 */ b .L7F0501A4 -/* 084B50 7F050020 00000000 */ nop -weapon_collect_msg_a_sniper: -/* 084B54 7F050024 0FC30776 */ jal get_textptr_for_textID -/* 084B58 7F050028 3404A42E */ li $a0, 42030 -/* 084B5C 7F05002C 02002025 */ move $a0, $s0 -/* 084B60 7F050030 0C0029FF */ jal string_load_parse_something -/* 084B64 7F050034 00402825 */ move $a1, $v0 -/* 084B68 7F050038 1000005A */ b .L7F0501A4 -/* 084B6C 7F05003C 00000000 */ nop -weapon_collect_msg_a_grenade_launcher: -/* 084B70 7F050040 0FC30776 */ jal get_textptr_for_textID -/* 084B74 7F050044 3404A42F */ li $a0, 42031 -/* 084B78 7F050048 02002025 */ move $a0, $s0 -/* 084B7C 7F05004C 0C0029FF */ jal string_load_parse_something -/* 084B80 7F050050 00402825 */ move $a1, $v0 -/* 084B84 7F050054 10000053 */ b .L7F0501A4 -/* 084B88 7F050058 00000000 */ nop -weapon_collect_msg_a_rocket_launcher: -/* 084B8C 7F05005C 0FC30776 */ jal get_textptr_for_textID -/* 084B90 7F050060 3404A430 */ li $a0, 42032 -/* 084B94 7F050064 02002025 */ move $a0, $s0 -/* 084B98 7F050068 0C0029FF */ jal string_load_parse_something -/* 084B9C 7F05006C 00402825 */ move $a1, $v0 -/* 084BA0 7F050070 1000004C */ b .L7F0501A4 -/* 084BA4 7F050074 00000000 */ nop -weapon_collect_msg_a_cougar_magnum: -/* 084BA8 7F050078 0FC30776 */ jal get_textptr_for_textID -/* 084BAC 7F05007C 3404A431 */ li $a0, 42033 -/* 084BB0 7F050080 02002025 */ move $a0, $s0 -/* 084BB4 7F050084 0C0029FF */ jal string_load_parse_something -/* 084BB8 7F050088 00402825 */ move $a1, $v0 -/* 084BBC 7F05008C 10000045 */ b .L7F0501A4 -/* 084BC0 7F050090 00000000 */ nop -weapon_collect_msg_a_golden_gun: -/* 084BC4 7F050094 0FC30776 */ jal get_textptr_for_textID -/* 084BC8 7F050098 3404A432 */ li $a0, 42034 -/* 084BCC 7F05009C 02002025 */ move $a0, $s0 -/* 084BD0 7F0500A0 0C0029FF */ jal string_load_parse_something -/* 084BD4 7F0500A4 00402825 */ move $a1, $v0 -/* 084BD8 7F0500A8 1000003E */ b .L7F0501A4 -/* 084BDC 7F0500AC 00000000 */ nop -weapon_collect_msg_a_moonraker_laser: -/* 084BE0 7F0500B0 0FC30776 */ jal get_textptr_for_textID -/* 084BE4 7F0500B4 3404A433 */ li $a0, 42035 -/* 084BE8 7F0500B8 02002025 */ move $a0, $s0 -/* 084BEC 7F0500BC 0C0029FF */ jal string_load_parse_something -/* 084BF0 7F0500C0 00402825 */ move $a1, $v0 -/* 084BF4 7F0500C4 10000037 */ b .L7F0501A4 -/* 084BF8 7F0500C8 00000000 */ nop -weapon_collect_msg_a_flare_pistol: -/* 084BFC 7F0500CC 0FC30776 */ jal get_textptr_for_textID -/* 084C00 7F0500D0 3404A434 */ li $a0, 42036 -/* 084C04 7F0500D4 02002025 */ move $a0, $s0 -/* 084C08 7F0500D8 0C0029FF */ jal string_load_parse_something -/* 084C0C 7F0500DC 00402825 */ move $a1, $v0 -/* 084C10 7F0500E0 10000030 */ b .L7F0501A4 -/* 084C14 7F0500E4 00000000 */ nop -weapon_collect_msg_a_piton_gun: -/* 084C18 7F0500E8 0FC30776 */ jal get_textptr_for_textID -/* 084C1C 7F0500EC 3404A435 */ li $a0, 42037 -/* 084C20 7F0500F0 02002025 */ move $a0, $s0 -/* 084C24 7F0500F4 0C0029FF */ jal string_load_parse_something -/* 084C28 7F0500F8 00402825 */ move $a1, $v0 -/* 084C2C 7F0500FC 10000029 */ b .L7F0501A4 -/* 084C30 7F050100 00000000 */ nop -weapon_collect_msg_a_silver_pp7: -/* 084C34 7F050104 0FC30776 */ jal get_textptr_for_textID -/* 084C38 7F050108 3404A436 */ li $a0, 42038 -/* 084C3C 7F05010C 02002025 */ move $a0, $s0 -/* 084C40 7F050110 0C0029FF */ jal string_load_parse_something -/* 084C44 7F050114 00402825 */ move $a1, $v0 -/* 084C48 7F050118 10000022 */ b .L7F0501A4 -/* 084C4C 7F05011C 00000000 */ nop -weapon_collect_msg_a_gold_pp7: -/* 084C50 7F050120 0FC30776 */ jal get_textptr_for_textID -/* 084C54 7F050124 3404A437 */ li $a0, 42039 -/* 084C58 7F050128 02002025 */ move $a0, $s0 -/* 084C5C 7F05012C 0C0029FF */ jal string_load_parse_something -/* 084C60 7F050130 00402825 */ move $a1, $v0 -/* 084C64 7F050134 1000001B */ b .L7F0501A4 -/* 084C68 7F050138 00000000 */ nop -weapon_collect_msg_a_keycard: -/* 084C6C 7F05013C 0FC30776 */ jal get_textptr_for_textID -/* 084C70 7F050140 3404A438 */ li $a0, 42040 -/* 084C74 7F050144 02002025 */ move $a0, $s0 -/* 084C78 7F050148 0C0029FF */ jal string_load_parse_something -/* 084C7C 7F05014C 00402825 */ move $a1, $v0 -/* 084C80 7F050150 10000014 */ b .L7F0501A4 -/* 084C84 7F050154 00000000 */ nop -weapon_collect_msg_a_yale_key: -/* 084C88 7F050158 0FC30776 */ jal get_textptr_for_textID -/* 084C8C 7F05015C 3404A439 */ li $a0, 42041 -/* 084C90 7F050160 02002025 */ move $a0, $s0 -/* 084C94 7F050164 0C0029FF */ jal string_load_parse_something -/* 084C98 7F050168 00402825 */ move $a1, $v0 -/* 084C9C 7F05016C 1000000D */ b .L7F0501A4 -/* 084CA0 7F050170 00000000 */ nop -weapon_collect_msg_a_bolt_key: -/* 084CA4 7F050174 0FC30776 */ jal get_textptr_for_textID -/* 084CA8 7F050178 3404A43A */ li $a0, 42042 -/* 084CAC 7F05017C 02002025 */ move $a0, $s0 -/* 084CB0 7F050180 0C0029FF */ jal string_load_parse_something -/* 084CB4 7F050184 00402825 */ move $a1, $v0 -/* 084CB8 7F050188 10000006 */ b .L7F0501A4 -/* 084CBC 7F05018C 00000000 */ nop -weapon_collect_msg_a_new_weapon: -.L7F050190: -/* 084CC0 7F050190 0FC30776 */ jal get_textptr_for_textID -/* 084CC4 7F050194 3404A43B */ li $a0, 42043 -/* 084CC8 7F050198 02002025 */ move $a0, $s0 -/* 084CCC 7F05019C 0C0029FF */ jal string_load_parse_something -/* 084CD0 7F0501A0 00402825 */ move $a1, $v0 -.L7F0501A4: -/* 084CD4 7F0501A4 3C088005 */ lui $t0, %hi(j_text_trigger) -/* 084CD8 7F0501A8 8D0884D0 */ lw $t0, %lo(j_text_trigger)($t0) -/* 084CDC 7F0501AC 8FA90024 */ lw $t1, 0x24($sp) -/* 084CE0 7F0501B0 51000018 */ beql $t0, $zero, .L7F050214 -/* 084CE4 7F0501B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 084CE8 7F0501B8 55200016 */ bnezl $t1, .L7F050214 -/* 084CEC 7F0501BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 084CF0 7F0501C0 0C004E1F */ jal strlen -/* 084CF4 7F0501C4 02002025 */ move $a0, $s0 -/* 084CF8 7F0501C8 00505021 */ addu $t2, $v0, $s0 -/* 084CFC 7F0501CC 914BFFFF */ lbu $t3, -1($t2) -/* 084D00 7F0501D0 2401000A */ li $at, 10 -/* 084D04 7F0501D4 15610005 */ bne $t3, $at, .L7F0501EC -/* 084D08 7F0501D8 00000000 */ nop -/* 084D0C 7F0501DC 0C004E1F */ jal strlen -/* 084D10 7F0501E0 02002025 */ move $a0, $s0 -/* 084D14 7F0501E4 02026021 */ addu $t4, $s0, $v0 -/* 084D18 7F0501E8 A180FFFF */ sb $zero, -1($t4) -.L7F0501EC: -/* 084D1C 7F0501EC 0FC30776 */ jal get_textptr_for_textID -/* 084D20 7F0501F0 3404A400 */ li $a0, 41984 -/* 084D24 7F0501F4 02002025 */ move $a0, $s0 -/* 084D28 7F0501F8 0C0029FF */ jal string_load_parse_something -/* 084D2C 7F0501FC 00402825 */ move $a1, $v0 -/* 084D30 7F050200 3C058005 */ lui $a1, %hi(D_80052A40) -/* 084D34 7F050204 24A52A40 */ addiu $a1, %lo(D_80052A40) # addiu $a1, $a1, 0x2a40 -/* 084D38 7F050208 0C0029FF */ jal string_load_parse_something -/* 084D3C 7F05020C 02002025 */ move $a0, $s0 -/* 084D40 7F050210 8FBF001C */ lw $ra, 0x1c($sp) -.L7F050214: -/* 084D44 7F050214 8FB00018 */ lw $s0, 0x18($sp) -/* 084D48 7F050218 27BD0028 */ addiu $sp, $sp, 0x28 -/* 084D4C 7F05021C 03E00008 */ jr $ra -/* 084D50 7F050220 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void display_text_for_weapon_in_lower_left_corner(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel display_text_for_weapon_in_lower_left_corner -/* 084D54 7F050224 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 084D58 7F050228 AFBF0014 */ sw $ra, 0x14($sp) -/* 084D5C 7F05022C 00802825 */ move $a1, $a0 -/* 084D60 7F050230 0FC13F78 */ jal generate_language_specific_text_for_weapon -/* 084D64 7F050234 27A4001C */ addiu $a0, $sp, 0x1c -/* 084D68 7F050238 0FC228F2 */ jal display_string_in_lower_left_corner -/* 084D6C 7F05023C 27A4001C */ addiu $a0, $sp, 0x1c -/* 084D70 7F050240 8FBF0014 */ lw $ra, 0x14($sp) -/* 084D74 7F050244 27BD0080 */ addiu $sp, $sp, 0x80 -/* 084D78 7F050248 03E00008 */ jr $ra -/* 084D7C 7F05024C 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel display_text_for_weapon_in_lower_left_corner -/* 084D54 7F050224 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 084D58 7F050228 AFBF0014 */ sw $ra, 0x14($sp) -/* 084D5C 7F05022C 00802825 */ move $a1, $a0 -/* 084D60 7F050230 0FC13F78 */ jal generate_language_specific_text_for_weapon -/* 084D64 7F050234 27A4001C */ addiu $a0, $sp, 0x1c -/* 084D68 7F050238 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 084D6C 7F05023C 27A4001C */ addiu $a0, $sp, 0x1c -/* 084D70 7F050240 8FBF0014 */ lw $ra, 0x14($sp) -/* 084D74 7F050244 27BD0080 */ addiu $sp, $sp, 0x80 -/* 084D78 7F050248 03E00008 */ jr $ra -/* 084D7C 7F05024C 00000000 */ nop -) -#endif -#endif - - - - - -#ifdef NONMATCHING -void collect_or_interact_object(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -/*D:8005322C*/ -glabel object_interaction_table -.word interact_default_object -.word interact_key_object -.word interact_default_object -.word interact_default_object -.word interact_magazine_object -.word interact_weapon_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_ammobox_object -.word interact_bodyarmor_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object - -.text -glabel collect_or_interact_object -/* 084D80 7F050250 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 084D84 7F050254 AFBF001C */ sw $ra, 0x1c($sp) -/* 084D88 7F050258 AFB00018 */ sw $s0, 0x18($sp) -/* 084D8C 7F05025C AFA40070 */ sw $a0, 0x70($sp) -/* 084D90 7F050260 AFA50074 */ sw $a1, 0x74($sp) -/* 084D94 7F050264 8C830004 */ lw $v1, 4($a0) -/* 084D98 7F050268 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 084D9C 7F05026C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 084DA0 7F050270 AFA3006C */ sw $v1, 0x6c($sp) -/* 084DA4 7F050274 3C198005 */ lui $t9, %hi(clock_timer) -/* 084DA8 7F050278 8DF800D8 */ lw $t8, 0xd8($t7) -/* 084DAC 7F05027C 17000005 */ bnez $t8, .L7F050294 -/* 084DB0 7F050280 00000000 */ nop -/* 084DB4 7F050284 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 084DB8 7F050288 8FA8006C */ lw $t0, 0x6c($sp) -/* 084DBC 7F05028C 57200004 */ bnezl $t9, .L7F0502A0 -/* 084DC0 7F050290 91090003 */ lbu $t1, 3($t0) -.L7F050294: -/* 084DC4 7F050294 1000010C */ b .L7F0506C8 -/* 084DC8 7F050298 00001025 */ move $v0, $zero -/* 084DCC 7F05029C 91090003 */ lbu $t1, 3($t0) -.L7F0502A0: -/* 084DD0 7F0502A0 252AFFFD */ addiu $t2, $t1, -3 -/* 084DD4 7F0502A4 2D41002D */ sltiu $at, $t2, 0x2d -/* 084DD8 7F0502A8 102000E0 */ beqz $at, .L7F05062C -/* 084DDC 7F0502AC 000A5080 */ sll $t2, $t2, 2 -/* 084DE0 7F0502B0 3C018005 */ lui $at, %hi(object_interaction_table) -/* 084DE4 7F0502B4 002A0821 */ addu $at, $at, $t2 -/* 084DE8 7F0502B8 8C2A322C */ lw $t2, %lo(object_interaction_table)($at) -/* 084DEC 7F0502BC 01400008 */ jr $t2 -/* 084DF0 7F0502C0 00000000 */ nop -interact_key_object: -/* 084DF4 7F0502C4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084DF8 7F0502C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084DFC 7F0502CC 240500E5 */ li $a1, 229 -/* 084E00 7F0502D0 0C002382 */ jal play_sfx_a1 -/* 084E04 7F0502D4 00003025 */ move $a2, $zero -/* 084E08 7F0502D8 8FAB0074 */ lw $t3, 0x74($sp) -/* 084E0C 7F0502DC 1160000A */ beqz $t3, .L7F050308 -/* 084E10 7F0502E0 00000000 */ nop -/* 084E14 7F0502E4 0FC23657 */ jal sub_GAME_7F08D95C -/* 084E18 7F0502E8 8FA4006C */ lw $a0, 0x6c($sp) -/* 084E1C 7F0502EC 14400004 */ bnez $v0, .L7F050300 -/* 084E20 7F0502F0 00402025 */ move $a0, $v0 -/* 084E24 7F0502F4 0FC30776 */ jal get_textptr_for_textID -/* 084E28 7F0502F8 3404A43C */ li $a0, 42044 -/* 084E2C 7F0502FC 00402025 */ move $a0, $v0 -.L7F050300: -/* 084E30 7F050300 0FC228F2 */ jal display_string_in_lower_left_corner -/* 084E34 7F050304 00000000 */ nop -.L7F050308: -/* 084E38 7F050308 100000DA */ b .L7F050674 -/* 084E3C 7F05030C 24030004 */ li $v1, 4 -interact_magazine_object: -/* 084E40 7F050310 00608025 */ move $s0, $v1 -/* 084E44 7F050314 0FC13F0F */ jal get_ammo_in_magazine -/* 084E48 7F050318 00602025 */ move $a0, $v1 -/* 084E4C 7F05031C 8E040080 */ lw $a0, 0x80($s0) -/* 084E50 7F050320 00402825 */ move $a1, $v0 -/* 084E54 7F050324 24060001 */ li $a2, 1 -/* 084E58 7F050328 0FC13E9A */ jal add_ammo_to_inventory -/* 084E5C 7F05032C 8FA70074 */ lw $a3, 0x74($sp) -/* 084E60 7F050330 100000D0 */ b .L7F050674 -/* 084E64 7F050334 24030001 */ li $v1, 1 -interact_ammobox_object: -/* 084E68 7F050338 00001025 */ move $v0, $zero -/* 084E6C 7F05033C 00608025 */ move $s0, $v1 -/* 084E70 7F050340 24430001 */ addiu $v1, $v0, 1 -.L7F050344: -/* 084E74 7F050344 24010001 */ li $at, 1 -/* 084E78 7F050348 14410002 */ bne $v0, $at, .L7F050354 -/* 084E7C 7F05034C 00602025 */ move $a0, $v1 -/* 084E80 7F050350 24040001 */ li $a0, 1 -.L7F050354: -/* 084E84 7F050354 96050082 */ lhu $a1, 0x82($s0) -/* 084E88 7F050358 AFA4004C */ sw $a0, 0x4c($sp) -/* 084E8C 7F05035C AFA30020 */ sw $v1, 0x20($sp) -/* 084E90 7F050360 0FC26919 */ jal get_num_players -/* 084E94 7F050364 AFA50050 */ sw $a1, 0x50($sp) -/* 084E98 7F050368 24010001 */ li $at, 1 -/* 084E9C 7F05036C 8FA30020 */ lw $v1, 0x20($sp) -/* 084EA0 7F050370 8FA4004C */ lw $a0, 0x4c($sp) -/* 084EA4 7F050374 14410009 */ bne $v0, $at, .L7F05039C -/* 084EA8 7F050378 8FA50050 */ lw $a1, 0x50($sp) -/* 084EAC 7F05037C 44852000 */ mtc1 $a1, $f4 -/* 084EB0 7F050380 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 084EB4 7F050384 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) -/* 084EB8 7F050388 468021A0 */ cvt.s.w $f6, $f4 -/* 084EBC 7F05038C 46083282 */ mul.s $f10, $f6, $f8 -/* 084EC0 7F050390 4600540D */ trunc.w.s $f16, $f10 -/* 084EC4 7F050394 44058000 */ mfc1 $a1, $f16 -/* 084EC8 7F050398 00000000 */ nop -.L7F05039C: -/* 084ECC 7F05039C 00003025 */ move $a2, $zero -/* 084ED0 7F0503A0 8FA70074 */ lw $a3, 0x74($sp) -/* 084ED4 7F0503A4 0FC13E9A */ jal add_ammo_to_inventory -/* 084ED8 7F0503A8 AFA30020 */ sw $v1, 0x20($sp) -/* 084EDC 7F0503AC 8FA20020 */ lw $v0, 0x20($sp) -/* 084EE0 7F0503B0 2401000D */ li $at, 13 -/* 084EE4 7F0503B4 26100004 */ addiu $s0, $s0, 4 -/* 084EE8 7F0503B8 5441FFE2 */ bnel $v0, $at, .L7F050344 -/* 084EEC 7F0503BC 24430001 */ addiu $v1, $v0, 1 -/* 084EF0 7F0503C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084EF4 7F0503C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084EF8 7F0503C8 240500EA */ li $a1, 234 -/* 084EFC 7F0503CC 0C002382 */ jal play_sfx_a1 -/* 084F00 7F0503D0 00003025 */ move $a2, $zero -/* 084F04 7F0503D4 100000A7 */ b .L7F050674 -/* 084F08 7F0503D8 24030001 */ li $v1, 1 -interact_weapon_object: -/* 084F0C 7F0503DC AFA00044 */ sw $zero, 0x44($sp) -/* 084F10 7F0503E0 80640080 */ lb $a0, 0x80($v1) -/* 084F14 7F0503E4 0FC13E04 */ jal set_sound_effect_for_weapontype_collection -/* 084F18 7F0503E8 AFA30048 */ sw $v1, 0x48($sp) -/* 084F1C 7F0503EC 8FAD0048 */ lw $t5, 0x48($sp) -/* 084F20 7F0503F0 2401001D */ li $at, 29 -/* 084F24 7F0503F4 81A40080 */ lb $a0, 0x80($t5) -/* 084F28 7F0503F8 54810006 */ bnel $a0, $at, .L7F050414 -/* 084F2C 7F0503FC 24010058 */ li $at, 88 -/* 084F30 7F050400 0FC23122 */ jal add_item_to_inventory -/* 084F34 7F050404 2404001E */ li $a0, 30 -/* 084F38 7F050408 10000007 */ b .L7F050428 -/* 084F3C 7F05040C 8FAE006C */ lw $t6, 0x6c($sp) -/* 084F40 7F050410 24010058 */ li $at, 88 -.L7F050414: -/* 084F44 7F050414 14810003 */ bne $a0, $at, .L7F050424 -/* 084F48 7F050418 24050058 */ li $a1, 88 -/* 084F4C 7F05041C 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 084F50 7F050420 00002025 */ move $a0, $zero -.L7F050424: -/* 084F54 7F050424 8FAE006C */ lw $t6, 0x6c($sp) -.L7F050428: -/* 084F58 7F050428 8FB90048 */ lw $t9, 0x48($sp) -/* 084F5C 7F05042C 8DCF0064 */ lw $t7, 0x64($t6) -/* 084F60 7F050430 31F80400 */ andi $t8, $t7, 0x400 -/* 084F64 7F050434 1300001B */ beqz $t8, .L7F0504A4 -/* 084F68 7F050438 00000000 */ nop -/* 084F6C 7F05043C 83280080 */ lb $t0, 0x80($t9) -/* 084F70 7F050440 29010021 */ slti $at, $t0, 0x21 -/* 084F74 7F050444 50200004 */ beql $at, $zero, .L7F050458 -/* 084F78 7F050448 8FA90074 */ lw $t1, 0x74($sp) -/* 084F7C 7F05044C 0FC231D9 */ jal sub_GAME_7F08C764 -/* 084F80 7F050450 8FA40070 */ lw $a0, 0x70($sp) -/* 084F84 7F050454 8FA90074 */ lw $t1, 0x74($sp) -.L7F050458: -/* 084F88 7F050458 5120000F */ beql $t1, $zero, .L7F050498 -/* 084F8C 7F05045C 8FAC0048 */ lw $t4, 0x48($sp) -/* 084F90 7F050460 0FC23657 */ jal sub_GAME_7F08D95C -/* 084F94 7F050464 8FA4006C */ lw $a0, 0x6c($sp) -/* 084F98 7F050468 10400005 */ beqz $v0, .L7F050480 -/* 084F9C 7F05046C 00402025 */ move $a0, $v0 -/* 084FA0 7F050470 0FC228F2 */ jal display_string_in_lower_left_corner -/* 084FA4 7F050474 00000000 */ nop -/* 084FA8 7F050478 10000005 */ b .L7F050490 -/* 084FAC 7F05047C 240B0001 */ li $t3, 1 -.L7F050480: -/* 084FB0 7F050480 8FAA0048 */ lw $t2, 0x48($sp) -/* 084FB4 7F050484 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner -/* 084FB8 7F050488 81440080 */ lb $a0, 0x80($t2) -/* 084FBC 7F05048C 240B0001 */ li $t3, 1 -.L7F050490: -/* 084FC0 7F050490 AFAB0044 */ sw $t3, 0x44($sp) -/* 084FC4 7F050494 8FAC0048 */ lw $t4, 0x48($sp) -.L7F050498: -/* 084FC8 7F050498 24030004 */ li $v1, 4 -/* 084FCC 7F05049C 1000001C */ b .L7F050510 -/* 084FD0 7F0504A0 81840080 */ lb $a0, 0x80($t4) -.L7F0504A4: -/* 084FD4 7F0504A4 0FC231D9 */ jal sub_GAME_7F08C764 -/* 084FD8 7F0504A8 8FA40070 */ lw $a0, 0x70($sp) -/* 084FDC 7F0504AC 10400002 */ beqz $v0, .L7F0504B8 -/* 084FE0 7F0504B0 240D0001 */ li $t5, 1 -/* 084FE4 7F0504B4 AFAD0044 */ sw $t5, 0x44($sp) -.L7F0504B8: -/* 084FE8 7F0504B8 8FAE0074 */ lw $t6, 0x74($sp) -/* 084FEC 7F0504BC 8FAF0048 */ lw $t7, 0x48($sp) -/* 084FF0 7F0504C0 51C00011 */ beql $t6, $zero, .L7F050508 -/* 084FF4 7F0504C4 8FA90048 */ lw $t1, 0x48($sp) -/* 084FF8 7F0504C8 0FC23669 */ jal sub_GAME_7F08D9A4 -/* 084FFC 7F0504CC 81E40080 */ lb $a0, 0x80($t7) -/* 085000 7F0504D0 10400006 */ beqz $v0, .L7F0504EC -/* 085004 7F0504D4 00402025 */ move $a0, $v0 -/* 085008 7F0504D8 24180001 */ li $t8, 1 -/* 08500C 7F0504DC 0FC228F2 */ jal display_string_in_lower_left_corner -/* 085010 7F0504E0 AFB80044 */ sw $t8, 0x44($sp) -/* 085014 7F0504E4 10000008 */ b .L7F050508 -/* 085018 7F0504E8 8FA90048 */ lw $t1, 0x48($sp) -.L7F0504EC: -/* 08501C 7F0504EC 8FB90044 */ lw $t9, 0x44($sp) -/* 085020 7F0504F0 8FA80048 */ lw $t0, 0x48($sp) -/* 085024 7F0504F4 53200004 */ beql $t9, $zero, .L7F050508 -/* 085028 7F0504F8 8FA90048 */ lw $t1, 0x48($sp) -/* 08502C 7F0504FC 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner -/* 085030 7F050500 81040080 */ lb $a0, 0x80($t0) -/* 085034 7F050504 8FA90048 */ lw $t1, 0x48($sp) -.L7F050508: -/* 085038 7F050508 24030001 */ li $v1, 1 -/* 08503C 7F05050C 81240080 */ lb $a0, 0x80($t1) -.L7F050510: -/* 085040 7F050510 0FC1A50B */ jal get_ammo_type_for_weapon -/* 085044 7F050514 AFA30068 */ sw $v1, 0x68($sp) -/* 085048 7F050518 8FA30068 */ lw $v1, 0x68($sp) -/* 08504C 7F05051C 10400055 */ beqz $v0, .L7F050674 -/* 085050 7F050520 00408025 */ move $s0, $v0 -/* 085054 7F050524 8FA40048 */ lw $a0, 0x48($sp) -/* 085058 7F050528 0FC13F3E */ jal ammo_collected_from_weapon -/* 08505C 7F05052C AFA30068 */ sw $v1, 0x68($sp) -/* 085060 7F050530 8FA30068 */ lw $v1, 0x68($sp) -/* 085064 7F050534 1840004F */ blez $v0, .L7F050674 -/* 085068 7F050538 AFA20034 */ sw $v0, 0x34($sp) -/* 08506C 7F05053C 02002025 */ move $a0, $s0 -/* 085070 7F050540 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 085074 7F050544 AFA30068 */ sw $v1, 0x68($sp) -/* 085078 7F050548 AFA20024 */ sw $v0, 0x24($sp) -/* 08507C 7F05054C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 085080 7F050550 02002025 */ move $a0, $s0 -/* 085084 7F050554 8FAA0024 */ lw $t2, 0x24($sp) -/* 085088 7F050558 8FA30068 */ lw $v1, 0x68($sp) -/* 08508C 7F05055C 02002025 */ move $a0, $s0 -/* 085090 7F050560 0142082A */ slt $at, $t2, $v0 -/* 085094 7F050564 50200044 */ beql $at, $zero, .L7F050678 -/* 085098 7F050568 24010001 */ li $at, 1 -/* 08509C 7F05056C 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 0850A0 7F050570 AFA30068 */ sw $v1, 0x68($sp) -/* 0850A4 7F050574 8FAB0034 */ lw $t3, 0x34($sp) -/* 0850A8 7F050578 02002025 */ move $a0, $s0 -/* 0850AC 7F05057C 0FC1A44C */ jal give_cur_player_ammo -/* 0850B0 7F050580 004B2821 */ addu $a1, $v0, $t3 -/* 0850B4 7F050584 8FAC0044 */ lw $t4, 0x44($sp) -/* 0850B8 7F050588 8FA30068 */ lw $v1, 0x68($sp) -/* 0850BC 7F05058C 8FAD0074 */ lw $t5, 0x74($sp) -/* 0850C0 7F050590 55800039 */ bnezl $t4, .L7F050678 -/* 0850C4 7F050594 24010001 */ li $at, 1 -/* 0850C8 7F050598 11A00036 */ beqz $t5, .L7F050674 -/* 0850CC 7F05059C 02002025 */ move $a0, $s0 -/* 0850D0 7F0505A0 8FA50034 */ lw $a1, 0x34($sp) -/* 0850D4 7F0505A4 0FC13E7E */ jal display_text_when_ammo_collected -/* 0850D8 7F0505A8 AFA30068 */ sw $v1, 0x68($sp) -/* 0850DC 7F0505AC 10000031 */ b .L7F050674 -/* 0850E0 7F0505B0 8FA30068 */ lw $v1, 0x68($sp) -interact_bodyarmor_object: -/* 0850E4 7F0505B4 0FC228C3 */ jal add_BONDdata_watch_armor -/* 0850E8 7F0505B8 C46C0084 */ lwc1 $f12, 0x84($v1) -/* 0850EC 7F0505BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0850F0 7F0505C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0850F4 7F0505C4 24050051 */ li $a1, 81 -/* 0850F8 7F0505C8 0C002382 */ jal play_sfx_a1 -/* 0850FC 7F0505CC 00003025 */ move $a2, $zero -/* 085100 7F0505D0 8FAE0074 */ lw $t6, 0x74($sp) -/* 085104 7F0505D4 11C00013 */ beqz $t6, .L7F050624 -/* 085108 7F0505D8 00000000 */ nop -/* 08510C 7F0505DC 0FC23657 */ jal sub_GAME_7F08D95C -/* 085110 7F0505E0 8FA4006C */ lw $a0, 0x6c($sp) -/* 085114 7F0505E4 1440000D */ bnez $v0, .L7F05061C -/* 085118 7F0505E8 00402025 */ move $a0, $v0 -/* 08511C 7F0505EC 0FC26919 */ jal get_num_players -/* 085120 7F0505F0 00000000 */ nop -/* 085124 7F0505F4 28410003 */ slti $at, $v0, 3 -/* 085128 7F0505F8 10200005 */ beqz $at, .L7F050610 -/* 08512C 7F0505FC 00000000 */ nop -/* 085130 7F050600 0FC30776 */ jal get_textptr_for_textID -/* 085134 7F050604 3404A43D */ li $a0, 42045 -/* 085138 7F050608 10000004 */ b .L7F05061C -/* 08513C 7F05060C 00402025 */ move $a0, $v0 -.L7F050610: -/* 085140 7F050610 0FC30776 */ jal get_textptr_for_textID -/* 085144 7F050614 3404A43E */ li $a0, 42046 -/* 085148 7F050618 00402025 */ move $a0, $v0 -.L7F05061C: -/* 08514C 7F05061C 0FC228F2 */ jal display_string_in_lower_left_corner -/* 085150 7F050620 00000000 */ nop -.L7F050624: -/* 085154 7F050624 10000013 */ b .L7F050674 -/* 085158 7F050628 24030001 */ li $v1, 1 -interact_default_object: -.L7F05062C: -/* 08515C 7F05062C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 085160 7F050630 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 085164 7F050634 240500E5 */ li $a1, 229 -/* 085168 7F050638 0C002382 */ jal play_sfx_a1 -/* 08516C 7F05063C 00003025 */ move $a2, $zero -/* 085170 7F050640 8FAF0074 */ lw $t7, 0x74($sp) -/* 085174 7F050644 51E0000B */ beql $t7, $zero, .L7F050674 -/* 085178 7F050648 24030004 */ li $v1, 4 -/* 08517C 7F05064C 0FC23657 */ jal sub_GAME_7F08D95C -/* 085180 7F050650 8FA4006C */ lw $a0, 0x6c($sp) -/* 085184 7F050654 14400004 */ bnez $v0, .L7F050668 -/* 085188 7F050658 00402025 */ move $a0, $v0 -/* 08518C 7F05065C 0FC30776 */ jal get_textptr_for_textID -/* 085190 7F050660 3404A43F */ li $a0, 42047 -/* 085194 7F050664 00402025 */ move $a0, $v0 -.L7F050668: -/* 085198 7F050668 0FC228F2 */ jal display_string_in_lower_left_corner -/* 08519C 7F05066C 00000000 */ nop -/* 0851A0 7F050670 24030004 */ li $v1, 4 -.L7F050674: -/* 0851A4 7F050674 24010001 */ li $at, 1 -.L7F050678: -/* 0851A8 7F050678 1461000D */ bne $v1, $at, .L7F0506B0 -/* 0851AC 7F05067C 8FB8006C */ lw $t8, 0x6c($sp) -/* 0851B0 7F050680 8F190064 */ lw $t9, 0x64($t8) -/* 0851B4 7F050684 33280010 */ andi $t0, $t9, 0x10 -/* 0851B8 7F050688 15000009 */ bnez $t0, .L7F0506B0 -/* 0851BC 7F05068C 00000000 */ nop -/* 0851C0 7F050690 93060002 */ lbu $a2, 2($t8) -/* 0851C4 7F050694 03002025 */ move $a0, $t8 -/* 0851C8 7F050698 00002825 */ move $a1, $zero -/* 0851CC 7F05069C 30C90004 */ andi $t1, $a2, 4 -/* 0851D0 7F0506A0 0FC10366 */ jal sub_GAME_7F040D98 -/* 0851D4 7F0506A4 01203025 */ move $a2, $t1 -/* 0851D8 7F0506A8 10000007 */ b .L7F0506C8 -/* 0851DC 7F0506AC 24020001 */ li $v0, 1 -.L7F0506B0: -/* 0851E0 7F0506B0 10600005 */ beqz $v1, .L7F0506C8 -/* 0851E4 7F0506B4 00001025 */ move $v0, $zero -/* 0851E8 7F0506B8 0FC231C9 */ jal sub_GAME_7F08C724 -/* 0851EC 7F0506BC 8FA40070 */ lw $a0, 0x70($sp) -/* 0851F0 7F0506C0 10000001 */ b .L7F0506C8 -/* 0851F4 7F0506C4 24020004 */ li $v0, 4 -.L7F0506C8: -/* 0851F8 7F0506C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0851FC 7F0506CC 8FB00018 */ lw $s0, 0x18($sp) -/* 085200 7F0506D0 27BD0070 */ addiu $sp, $sp, 0x70 -/* 085204 7F0506D4 03E00008 */ jr $ra -/* 085208 7F0506D8 00000000 */ nop -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -/*D:8005322C*/ -glabel object_interaction_table -.word interact_default_object -.word interact_key_object -.word interact_default_object -.word interact_default_object -.word interact_magazine_object -.word interact_weapon_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_ammobox_object -.word interact_bodyarmor_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object -.word interact_default_object - -.text -glabel collect_or_interact_object -/* 084D80 7F050250 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 084D84 7F050254 AFBF001C */ sw $ra, 0x1c($sp) -/* 084D88 7F050258 AFB00018 */ sw $s0, 0x18($sp) -/* 084D8C 7F05025C AFA40070 */ sw $a0, 0x70($sp) -/* 084D90 7F050260 AFA50074 */ sw $a1, 0x74($sp) -/* 084D94 7F050264 8C830004 */ lw $v1, 4($a0) -/* 084D98 7F050268 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 084D9C 7F05026C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 084DA0 7F050270 AFA3006C */ sw $v1, 0x6c($sp) -/* 084DA4 7F050274 3C198005 */ lui $t9, %hi(clock_timer) -/* 084DA8 7F050278 8DF800D8 */ lw $t8, 0xd8($t7) -/* 084DAC 7F05027C 17000005 */ bnez $t8, .L7F050294 -/* 084DB0 7F050280 00000000 */ nop -/* 084DB4 7F050284 8F398374 */ lw $t9, %lo(clock_timer)($t9) -/* 084DB8 7F050288 8FA8006C */ lw $t0, 0x6c($sp) -/* 084DBC 7F05028C 57200004 */ bnezl $t9, .L7F0502A0 -/* 084DC0 7F050290 91090003 */ lbu $t1, 3($t0) -.L7F050294: -/* 084DC4 7F050294 1000010C */ b .L7F0506C8 -/* 084DC8 7F050298 00001025 */ move $v0, $zero -/* 084DCC 7F05029C 91090003 */ lbu $t1, 3($t0) -.L7F0502A0: -/* 084DD0 7F0502A0 252AFFFD */ addiu $t2, $t1, -3 -/* 084DD4 7F0502A4 2D41002D */ sltiu $at, $t2, 0x2d -/* 084DD8 7F0502A8 102000E0 */ beqz $at, .L7F05062C -/* 084DDC 7F0502AC 000A5080 */ sll $t2, $t2, 2 -/* 084DE0 7F0502B0 3C018005 */ lui $at, %hi(object_interaction_table) -/* 084DE4 7F0502B4 002A0821 */ addu $at, $at, $t2 -/* 084DE8 7F0502B8 8C2A322C */ lw $t2, %lo(object_interaction_table)($at) -/* 084DEC 7F0502BC 01400008 */ jr $t2 -/* 084DF0 7F0502C0 00000000 */ nop -interact_key_object: -/* 084DF4 7F0502C4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084DF8 7F0502C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084DFC 7F0502CC 240500E5 */ li $a1, 229 -/* 084E00 7F0502D0 0C002382 */ jal play_sfx_a1 -/* 084E04 7F0502D4 00003025 */ move $a2, $zero -/* 084E08 7F0502D8 8FAB0074 */ lw $t3, 0x74($sp) -/* 084E0C 7F0502DC 1160000A */ beqz $t3, .L7F050308 -/* 084E10 7F0502E0 00000000 */ nop -/* 084E14 7F0502E4 0FC23657 */ jal sub_GAME_7F08D95C -/* 084E18 7F0502E8 8FA4006C */ lw $a0, 0x6c($sp) -/* 084E1C 7F0502EC 14400004 */ bnez $v0, .L7F050300 -/* 084E20 7F0502F0 00402025 */ move $a0, $v0 -/* 084E24 7F0502F4 0FC30776 */ jal get_textptr_for_textID -/* 084E28 7F0502F8 3404A43C */ li $a0, 42044 -/* 084E2C 7F0502FC 00402025 */ move $a0, $v0 -.L7F050300: -/* 084E30 7F050300 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 084E34 7F050304 00000000 */ nop -.L7F050308: -/* 084E38 7F050308 100000DA */ b .L7F050674 -/* 084E3C 7F05030C 24030004 */ li $v1, 4 -interact_magazine_object: -/* 084E40 7F050310 00608025 */ move $s0, $v1 -/* 084E44 7F050314 0FC13F0F */ jal get_ammo_in_magazine -/* 084E48 7F050318 00602025 */ move $a0, $v1 -/* 084E4C 7F05031C 8E040080 */ lw $a0, 0x80($s0) -/* 084E50 7F050320 00402825 */ move $a1, $v0 -/* 084E54 7F050324 24060001 */ li $a2, 1 -/* 084E58 7F050328 0FC13E9A */ jal add_ammo_to_inventory -/* 084E5C 7F05032C 8FA70074 */ lw $a3, 0x74($sp) -/* 084E60 7F050330 100000D0 */ b .L7F050674 -/* 084E64 7F050334 24030001 */ li $v1, 1 -interact_ammobox_object: -/* 084E68 7F050338 00001025 */ move $v0, $zero -/* 084E6C 7F05033C 00608025 */ move $s0, $v1 -/* 084E70 7F050340 24430001 */ addiu $v1, $v0, 1 -.L7F050344: -/* 084E74 7F050344 24010001 */ li $at, 1 -/* 084E78 7F050348 14410002 */ bne $v0, $at, .L7F050354 -/* 084E7C 7F05034C 00602025 */ move $a0, $v1 -/* 084E80 7F050350 24040001 */ li $a0, 1 -.L7F050354: -/* 084E84 7F050354 96050082 */ lhu $a1, 0x82($s0) -/* 084E88 7F050358 AFA4004C */ sw $a0, 0x4c($sp) -/* 084E8C 7F05035C AFA30020 */ sw $v1, 0x20($sp) -/* 084E90 7F050360 0FC26919 */ jal get_num_players -/* 084E94 7F050364 AFA50050 */ sw $a1, 0x50($sp) -/* 084E98 7F050368 24010001 */ li $at, 1 -/* 084E9C 7F05036C 8FA30020 */ lw $v1, 0x20($sp) -/* 084EA0 7F050370 8FA4004C */ lw $a0, 0x4c($sp) -/* 084EA4 7F050374 14410009 */ bne $v0, $at, .L7F05039C -/* 084EA8 7F050378 8FA50050 */ lw $a1, 0x50($sp) -/* 084EAC 7F05037C 44852000 */ mtc1 $a1, $f4 -/* 084EB0 7F050380 3C018003 */ lui $at, %hi(solo_ammo_multiplier) -/* 084EB4 7F050384 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) -/* 084EB8 7F050388 468021A0 */ cvt.s.w $f6, $f4 -/* 084EBC 7F05038C 46083282 */ mul.s $f10, $f6, $f8 -/* 084EC0 7F050390 4600540D */ trunc.w.s $f16, $f10 -/* 084EC4 7F050394 44058000 */ mfc1 $a1, $f16 -/* 084EC8 7F050398 00000000 */ nop -.L7F05039C: -/* 084ECC 7F05039C 00003025 */ move $a2, $zero -/* 084ED0 7F0503A0 8FA70074 */ lw $a3, 0x74($sp) -/* 084ED4 7F0503A4 0FC13E9A */ jal add_ammo_to_inventory -/* 084ED8 7F0503A8 AFA30020 */ sw $v1, 0x20($sp) -/* 084EDC 7F0503AC 8FA20020 */ lw $v0, 0x20($sp) -/* 084EE0 7F0503B0 2401000D */ li $at, 13 -/* 084EE4 7F0503B4 26100004 */ addiu $s0, $s0, 4 -/* 084EE8 7F0503B8 5441FFE2 */ bnel $v0, $at, .L7F050344 -/* 084EEC 7F0503BC 24430001 */ addiu $v1, $v0, 1 -/* 084EF0 7F0503C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 084EF4 7F0503C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 084EF8 7F0503C8 240500EA */ li $a1, 234 -/* 084EFC 7F0503CC 0C002382 */ jal play_sfx_a1 -/* 084F00 7F0503D0 00003025 */ move $a2, $zero -/* 084F04 7F0503D4 100000A7 */ b .L7F050674 -/* 084F08 7F0503D8 24030001 */ li $v1, 1 -interact_weapon_object: -/* 084F0C 7F0503DC AFA00044 */ sw $zero, 0x44($sp) -/* 084F10 7F0503E0 80640080 */ lb $a0, 0x80($v1) -/* 084F14 7F0503E4 0FC13E04 */ jal set_sound_effect_for_weapontype_collection -/* 084F18 7F0503E8 AFA30048 */ sw $v1, 0x48($sp) -/* 084F1C 7F0503EC 8FAD0048 */ lw $t5, 0x48($sp) -/* 084F20 7F0503F0 2401001D */ li $at, 29 -/* 084F24 7F0503F4 81A40080 */ lb $a0, 0x80($t5) -/* 084F28 7F0503F8 54810006 */ bnel $a0, $at, .L7F050414 -/* 084F2C 7F0503FC 24010058 */ li $at, 88 -/* 084F30 7F050400 0FC23122 */ jal add_item_to_inventory -/* 084F34 7F050404 2404001E */ li $a0, 30 -/* 084F38 7F050408 10000007 */ b .L7F050428 -/* 084F3C 7F05040C 8FAE006C */ lw $t6, 0x6c($sp) -/* 084F40 7F050410 24010058 */ li $at, 88 -.L7F050414: -/* 084F44 7F050414 14810003 */ bne $a0, $at, .L7F050424 -/* 084F48 7F050418 24050058 */ li $a1, 88 -/* 084F4C 7F05041C 0FC17645 */ jal draw_item_in_hand_has_more_ammo -/* 084F50 7F050420 00002025 */ move $a0, $zero -.L7F050424: -/* 084F54 7F050424 8FAE006C */ lw $t6, 0x6c($sp) -.L7F050428: -/* 084F58 7F050428 8FB90048 */ lw $t9, 0x48($sp) -/* 084F5C 7F05042C 8DCF0064 */ lw $t7, 0x64($t6) -/* 084F60 7F050430 31F80400 */ andi $t8, $t7, 0x400 -/* 084F64 7F050434 1300001B */ beqz $t8, .L7F0504A4 -/* 084F68 7F050438 00000000 */ nop -/* 084F6C 7F05043C 83280080 */ lb $t0, 0x80($t9) -/* 084F70 7F050440 29010021 */ slti $at, $t0, 0x21 -/* 084F74 7F050444 50200004 */ beql $at, $zero, .L7F050458 -/* 084F78 7F050448 8FA90074 */ lw $t1, 0x74($sp) -/* 084F7C 7F05044C 0FC231D9 */ jal sub_GAME_7F08C764 -/* 084F80 7F050450 8FA40070 */ lw $a0, 0x70($sp) -/* 084F84 7F050454 8FA90074 */ lw $t1, 0x74($sp) -.L7F050458: -/* 084F88 7F050458 5120000F */ beql $t1, $zero, .L7F050498 -/* 084F8C 7F05045C 8FAC0048 */ lw $t4, 0x48($sp) -/* 084F90 7F050460 0FC23657 */ jal sub_GAME_7F08D95C -/* 084F94 7F050464 8FA4006C */ lw $a0, 0x6c($sp) -/* 084F98 7F050468 10400005 */ beqz $v0, .L7F050480 -/* 084F9C 7F05046C 00402025 */ move $a0, $v0 -/* 084FA0 7F050470 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 084FA4 7F050474 00000000 */ nop -/* 084FA8 7F050478 10000005 */ b .L7F050490 -/* 084FAC 7F05047C 240B0001 */ li $t3, 1 -.L7F050480: -/* 084FB0 7F050480 8FAA0048 */ lw $t2, 0x48($sp) -/* 084FB4 7F050484 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner -/* 084FB8 7F050488 81440080 */ lb $a0, 0x80($t2) -/* 084FBC 7F05048C 240B0001 */ li $t3, 1 -.L7F050490: -/* 084FC0 7F050490 AFAB0044 */ sw $t3, 0x44($sp) -/* 084FC4 7F050494 8FAC0048 */ lw $t4, 0x48($sp) -.L7F050498: -/* 084FC8 7F050498 24030004 */ li $v1, 4 -/* 084FCC 7F05049C 1000001C */ b .L7F050510 -/* 084FD0 7F0504A0 81840080 */ lb $a0, 0x80($t4) -.L7F0504A4: -/* 084FD4 7F0504A4 0FC231D9 */ jal sub_GAME_7F08C764 -/* 084FD8 7F0504A8 8FA40070 */ lw $a0, 0x70($sp) -/* 084FDC 7F0504AC 10400002 */ beqz $v0, .L7F0504B8 -/* 084FE0 7F0504B0 240D0001 */ li $t5, 1 -/* 084FE4 7F0504B4 AFAD0044 */ sw $t5, 0x44($sp) -.L7F0504B8: -/* 084FE8 7F0504B8 8FAE0074 */ lw $t6, 0x74($sp) -/* 084FEC 7F0504BC 8FAF0048 */ lw $t7, 0x48($sp) -/* 084FF0 7F0504C0 51C00011 */ beql $t6, $zero, .L7F050508 -/* 084FF4 7F0504C4 8FA90048 */ lw $t1, 0x48($sp) -/* 084FF8 7F0504C8 0FC23669 */ jal sub_GAME_7F08D9A4 -/* 084FFC 7F0504CC 81E40080 */ lb $a0, 0x80($t7) -/* 085000 7F0504D0 10400006 */ beqz $v0, .L7F0504EC -/* 085004 7F0504D4 00402025 */ move $a0, $v0 -/* 085008 7F0504D8 24180001 */ li $t8, 1 -/* 08500C 7F0504DC 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 085010 7F0504E0 AFB80044 */ sw $t8, 0x44($sp) -/* 085014 7F0504E4 10000008 */ b .L7F050508 -/* 085018 7F0504E8 8FA90048 */ lw $t1, 0x48($sp) -.L7F0504EC: -/* 08501C 7F0504EC 8FB90044 */ lw $t9, 0x44($sp) -/* 085020 7F0504F0 8FA80048 */ lw $t0, 0x48($sp) -/* 085024 7F0504F4 53200004 */ beql $t9, $zero, .L7F050508 -/* 085028 7F0504F8 8FA90048 */ lw $t1, 0x48($sp) -/* 08502C 7F0504FC 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner -/* 085030 7F050500 81040080 */ lb $a0, 0x80($t0) -/* 085034 7F050504 8FA90048 */ lw $t1, 0x48($sp) -.L7F050508: -/* 085038 7F050508 24030001 */ li $v1, 1 -/* 08503C 7F05050C 81240080 */ lb $a0, 0x80($t1) -.L7F050510: -/* 085040 7F050510 0FC1A50B */ jal get_ammo_type_for_weapon -/* 085044 7F050514 AFA30068 */ sw $v1, 0x68($sp) -/* 085048 7F050518 8FA30068 */ lw $v1, 0x68($sp) -/* 08504C 7F05051C 10400055 */ beqz $v0, .L7F050674 -/* 085050 7F050520 00408025 */ move $s0, $v0 -/* 085054 7F050524 8FA40048 */ lw $a0, 0x48($sp) -/* 085058 7F050528 0FC13F3E */ jal ammo_collected_from_weapon -/* 08505C 7F05052C AFA30068 */ sw $v1, 0x68($sp) -/* 085060 7F050530 8FA30068 */ lw $v1, 0x68($sp) -/* 085064 7F050534 1840004F */ blez $v0, .L7F050674 -/* 085068 7F050538 AFA20034 */ sw $v0, 0x34($sp) -/* 08506C 7F05053C 02002025 */ move $a0, $s0 -/* 085070 7F050540 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 085074 7F050544 AFA30068 */ sw $v1, 0x68($sp) -/* 085078 7F050548 AFA20024 */ sw $v0, 0x24($sp) -/* 08507C 7F05054C 0FC1A4B5 */ jal get_max_ammo_for_type -/* 085080 7F050550 02002025 */ move $a0, $s0 -/* 085084 7F050554 8FAA0024 */ lw $t2, 0x24($sp) -/* 085088 7F050558 8FA30068 */ lw $v1, 0x68($sp) -/* 08508C 7F05055C 02002025 */ move $a0, $s0 -/* 085090 7F050560 0142082A */ slt $at, $t2, $v0 -/* 085094 7F050564 50200044 */ beql $at, $zero, .L7F050678 -/* 085098 7F050568 24010001 */ li $at, 1 -/* 08509C 7F05056C 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 0850A0 7F050570 AFA30068 */ sw $v1, 0x68($sp) -/* 0850A4 7F050574 8FAB0034 */ lw $t3, 0x34($sp) -/* 0850A8 7F050578 02002025 */ move $a0, $s0 -/* 0850AC 7F05057C 0FC1A44C */ jal give_cur_player_ammo -/* 0850B0 7F050580 004B2821 */ addu $a1, $v0, $t3 -/* 0850B4 7F050584 8FAC0044 */ lw $t4, 0x44($sp) -/* 0850B8 7F050588 8FA30068 */ lw $v1, 0x68($sp) -/* 0850BC 7F05058C 8FAD0074 */ lw $t5, 0x74($sp) -/* 0850C0 7F050590 55800039 */ bnezl $t4, .L7F050678 -/* 0850C4 7F050594 24010001 */ li $at, 1 -/* 0850C8 7F050598 11A00036 */ beqz $t5, .L7F050674 -/* 0850CC 7F05059C 02002025 */ move $a0, $s0 -/* 0850D0 7F0505A0 8FA50034 */ lw $a1, 0x34($sp) -/* 0850D4 7F0505A4 0FC13E7E */ jal display_text_when_ammo_collected -/* 0850D8 7F0505A8 AFA30068 */ sw $v1, 0x68($sp) -/* 0850DC 7F0505AC 10000031 */ b .L7F050674 -/* 0850E0 7F0505B0 8FA30068 */ lw $v1, 0x68($sp) -interact_bodyarmor_object: -/* 0850E4 7F0505B4 0FC228C3 */ jal add_BONDdata_watch_armor -/* 0850E8 7F0505B8 C46C0084 */ lwc1 $f12, 0x84($v1) -/* 0850EC 7F0505BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0850F0 7F0505C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0850F4 7F0505C4 24050051 */ li $a1, 81 -/* 0850F8 7F0505C8 0C002382 */ jal play_sfx_a1 -/* 0850FC 7F0505CC 00003025 */ move $a2, $zero -/* 085100 7F0505D0 8FAE0074 */ lw $t6, 0x74($sp) -/* 085104 7F0505D4 11C00013 */ beqz $t6, .L7F050624 -/* 085108 7F0505D8 00000000 */ nop -/* 08510C 7F0505DC 0FC23657 */ jal sub_GAME_7F08D95C -/* 085110 7F0505E0 8FA4006C */ lw $a0, 0x6c($sp) -/* 085114 7F0505E4 1440000D */ bnez $v0, .L7F05061C -/* 085118 7F0505E8 00402025 */ move $a0, $v0 -/* 08511C 7F0505EC 0FC26919 */ jal get_num_players -/* 085120 7F0505F0 00000000 */ nop -/* 085124 7F0505F4 28410003 */ slti $at, $v0, 3 -/* 085128 7F0505F8 10200005 */ beqz $at, .L7F050610 -/* 08512C 7F0505FC 00000000 */ nop -/* 085130 7F050600 0FC30776 */ jal get_textptr_for_textID -/* 085134 7F050604 3404A43D */ li $a0, 42045 -/* 085138 7F050608 10000004 */ b .L7F05061C -/* 08513C 7F05060C 00402025 */ move $a0, $v0 -.L7F050610: -/* 085140 7F050610 0FC30776 */ jal get_textptr_for_textID -/* 085144 7F050614 3404A43E */ li $a0, 42046 -/* 085148 7F050618 00402025 */ move $a0, $v0 -.L7F05061C: -/* 08514C 7F05061C 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 085150 7F050620 00000000 */ nop -.L7F050624: -/* 085154 7F050624 10000013 */ b .L7F050674 -/* 085158 7F050628 24030001 */ li $v1, 1 -interact_default_object: -.L7F05062C: -/* 08515C 7F05062C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 085160 7F050630 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 085164 7F050634 240500E5 */ li $a1, 229 -/* 085168 7F050638 0C002382 */ jal play_sfx_a1 -/* 08516C 7F05063C 00003025 */ move $a2, $zero -/* 085170 7F050640 8FAF0074 */ lw $t7, 0x74($sp) -/* 085174 7F050644 51E0000B */ beql $t7, $zero, .L7F050674 -/* 085178 7F050648 24030004 */ li $v1, 4 -/* 08517C 7F05064C 0FC23657 */ jal sub_GAME_7F08D95C -/* 085180 7F050650 8FA4006C */ lw $a0, 0x6c($sp) -/* 085184 7F050654 14400004 */ bnez $v0, .L7F050668 -/* 085188 7F050658 00402025 */ move $a0, $v0 -/* 08518C 7F05065C 0FC30776 */ jal get_textptr_for_textID -/* 085190 7F050660 3404A43F */ li $a0, 42047 -/* 085194 7F050664 00402025 */ move $a0, $v0 -.L7F050668: -/* 085198 7F050668 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 08519C 7F05066C 00000000 */ nop -/* 0851A0 7F050670 24030004 */ li $v1, 4 -.L7F050674: -/* 0851A4 7F050674 24010001 */ li $at, 1 -.L7F050678: -/* 0851A8 7F050678 1461000D */ bne $v1, $at, .L7F0506B0 -/* 0851AC 7F05067C 8FB8006C */ lw $t8, 0x6c($sp) -/* 0851B0 7F050680 8F190064 */ lw $t9, 0x64($t8) -/* 0851B4 7F050684 33280010 */ andi $t0, $t9, 0x10 -/* 0851B8 7F050688 15000009 */ bnez $t0, .L7F0506B0 -/* 0851BC 7F05068C 00000000 */ nop -/* 0851C0 7F050690 93060002 */ lbu $a2, 2($t8) -/* 0851C4 7F050694 03002025 */ move $a0, $t8 -/* 0851C8 7F050698 00002825 */ move $a1, $zero -/* 0851CC 7F05069C 30C90004 */ andi $t1, $a2, 4 -/* 0851D0 7F0506A0 0FC10366 */ jal sub_GAME_7F040D98 -/* 0851D4 7F0506A4 01203025 */ move $a2, $t1 -/* 0851D8 7F0506A8 10000007 */ b .L7F0506C8 -/* 0851DC 7F0506AC 24020001 */ li $v0, 1 -.L7F0506B0: -/* 0851E0 7F0506B0 10600005 */ beqz $v1, .L7F0506C8 -/* 0851E4 7F0506B4 00001025 */ move $v0, $zero -/* 0851E8 7F0506B8 0FC231C9 */ jal sub_GAME_7F08C724 -/* 0851EC 7F0506BC 8FA40070 */ lw $a0, 0x70($sp) -/* 0851F0 7F0506C0 10000001 */ b .L7F0506C8 -/* 0851F4 7F0506C4 24020004 */ li $v0, 4 -.L7F0506C8: -/* 0851F8 7F0506C8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0851FC 7F0506CC 8FB00018 */ lw $s0, 0x18($sp) -/* 085200 7F0506D0 27BD0070 */ addiu $sp, $sp, 0x70 -/* 085204 7F0506D4 03E00008 */ jr $ra -/* 085208 7F0506D8 00000000 */ nop -) -#endif -#endif - - - - -#ifdef NONMATCHING -void object_collectability_routines(void) { - -} -#else - -#ifdef VERSION_US -GLOBAL_ASM( -.late_rodata -glabel D_800532E0 -.word 0xbf490fdb /*-0.78539819*/ -glabel D_800532E4 -.word 0x47ef4200 /*122500.0*/ -glabel D_800532E8 -.word 0x461c4000 /*10000.0*/ -glabel D_800532EC -.word 0x47742400 /*62500.0*/ -glabel D_800532F0 -.word 0x40490fdb /*3.1415927*/ -.text -glabel object_collectability_routines -/* 08520C 7F0506DC 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 085210 7F0506E0 AFBF002C */ sw $ra, 0x2c($sp) -/* 085214 7F0506E4 AFA40088 */ sw $a0, 0x88($sp) -/* 085218 7F0506E8 8C840004 */ lw $a0, 4($a0) -/* 08521C 7F0506EC 0FC13803 */ jal check_if_collectable_object -/* 085220 7F0506F0 AFA40084 */ sw $a0, 0x84($sp) -/* 085224 7F0506F4 1040000B */ beqz $v0, .L7F050724 -/* 085228 7F0506F8 8FA40084 */ lw $a0, 0x84($sp) -/* 08522C 7F0506FC 908F0003 */ lbu $t7, 3($a0) -/* 085230 7F050700 24010011 */ li $at, 17 -/* 085234 7F050704 51E10008 */ beql $t7, $at, .L7F050728 -/* 085238 7F050708 8FA40084 */ lw $a0, 0x84($sp) -/* 08523C 7F05070C 8C820008 */ lw $v0, 8($a0) -/* 085240 7F050710 0002C2C0 */ sll $t8, $v0, 0xb -/* 085244 7F050714 0703000B */ bgezl $t8, .L7F050744 -/* 085248 7F050718 00024B00 */ sll $t1, $v0, 0xc -/* 08524C 7F05071C 10000180 */ b .L7F050D20 -/* 085250 7F050720 00001025 */ move $v0, $zero -.L7F050724: -/* 085254 7F050724 8FA40084 */ lw $a0, 0x84($sp) -.L7F050728: -/* 085258 7F050728 8C820008 */ lw $v0, 8($a0) -/* 08525C 7F05072C 0002CB40 */ sll $t9, $v0, 0xd -/* 085260 7F050730 07220004 */ bltzl $t9, .L7F050744 -/* 085264 7F050734 00024B00 */ sll $t1, $v0, 0xc -/* 085268 7F050738 10000179 */ b .L7F050D20 -/* 08526C 7F05073C 00001025 */ move $v0, $zero -/* 085270 7F050740 00024B00 */ sll $t1, $v0, 0xc -.L7F050744: -/* 085274 7F050744 05230004 */ bgezl $t1, .L7F050758 -/* 085278 7F050748 8C8A0064 */ lw $t2, 0x64($a0) -/* 08527C 7F05074C 10000174 */ b .L7F050D20 -/* 085280 7F050750 00001025 */ move $v0, $zero -/* 085284 7F050754 8C8A0064 */ lw $t2, 0x64($a0) -.L7F050758: -/* 085288 7F050758 314B0080 */ andi $t3, $t2, 0x80 -/* 08528C 7F05075C 1160000A */ beqz $t3, .L7F050788 -/* 085290 7F050760 00000000 */ nop -/* 085294 7F050764 8C82006C */ lw $v0, 0x6c($a0) -/* 085298 7F050768 8C4C00BC */ lw $t4, 0xbc($v0) -/* 08529C 7F05076C 19800006 */ blez $t4, .L7F050788 -/* 0852A0 7F050770 00000000 */ nop -/* 0852A4 7F050774 8C4D0090 */ lw $t5, 0x90($v0) -/* 0852A8 7F050778 15A00003 */ bnez $t5, .L7F050788 -/* 0852AC 7F05077C 00000000 */ nop -/* 0852B0 7F050780 10000167 */ b .L7F050D20 -/* 0852B4 7F050784 00001025 */ move $v0, $zero -.L7F050788: -/* 0852B8 7F050788 0FC0F9EB */ jal sub_GAME_7F03E7AC -/* 0852BC 7F05078C 00000000 */ nop -/* 0852C0 7F050790 14400003 */ bnez $v0, .L7F0507A0 -/* 0852C4 7F050794 8FA50084 */ lw $a1, 0x84($sp) -/* 0852C8 7F050798 10000161 */ b .L7F050D20 -/* 0852CC 7F05079C 00001025 */ move $v0, $zero -.L7F0507A0: -/* 0852D0 7F0507A0 90A20003 */ lbu $v0, 3($a1) -/* 0852D4 7F0507A4 24010008 */ li $at, 8 -/* 0852D8 7F0507A8 8FAE0088 */ lw $t6, 0x88($sp) -/* 0852DC 7F0507AC 54410064 */ bnel $v0, $at, .L7F050940 -/* 0852E0 7F0507B0 24010007 */ li $at, 7 -/* 0852E4 7F0507B4 8DC30004 */ lw $v1, 4($t6) -/* 0852E8 7F0507B8 2401001A */ li $at, 26 -/* 0852EC 7F0507BC 80640080 */ lb $a0, 0x80($v1) -/* 0852F0 7F0507C0 10810003 */ beq $a0, $at, .L7F0507D0 -/* 0852F4 7F0507C4 24010057 */ li $at, 87 -/* 0852F8 7F0507C8 5481000B */ bnel $a0, $at, .L7F0507F8 -/* 0852FC 7F0507CC 2401001D */ li $at, 29 -.L7F0507D0: -/* 085300 7F0507D0 846F0082 */ lh $t7, 0x82($v1) -/* 085304 7F0507D4 05E10005 */ bgez $t7, .L7F0507EC -/* 085308 7F0507D8 00000000 */ nop -/* 08530C 7F0507DC 8CB80064 */ lw $t8, 0x64($a1) -/* 085310 7F0507E0 33190004 */ andi $t9, $t8, 4 -/* 085314 7F0507E4 53200004 */ beql $t9, $zero, .L7F0507F8 -/* 085318 7F0507E8 2401001D */ li $at, 29 -.L7F0507EC: -/* 08531C 7F0507EC 1000014C */ b .L7F050D20 -/* 085320 7F0507F0 00001025 */ move $v0, $zero -/* 085324 7F0507F4 2401001D */ li $at, 29 -.L7F0507F8: -/* 085328 7F0507F8 1081000D */ beq $a0, $at, .L7F050830 -/* 08532C 7F0507FC 2401001C */ li $at, 28 -/* 085330 7F050800 1081000B */ beq $a0, $at, .L7F050830 -/* 085334 7F050804 2401001B */ li $at, 27 -/* 085338 7F050808 10810009 */ beq $a0, $at, .L7F050830 -/* 08533C 7F05080C 24010021 */ li $at, 33 -/* 085340 7F050810 10810007 */ beq $a0, $at, .L7F050830 -/* 085344 7F050814 2401002F */ li $at, 47 -/* 085348 7F050818 10810005 */ beq $a0, $at, .L7F050830 -/* 08534C 7F05081C 24010030 */ li $at, 48 -/* 085350 7F050820 10810003 */ beq $a0, $at, .L7F050830 -/* 085354 7F050824 24010022 */ li $at, 34 -/* 085358 7F050828 5481000B */ bnel $a0, $at, .L7F050858 -/* 08535C 7F05082C 24010056 */ li $at, 86 -.L7F050830: -/* 085360 7F050830 84690082 */ lh $t1, 0x82($v1) -/* 085364 7F050834 05210005 */ bgez $t1, .L7F05084C -/* 085368 7F050838 00000000 */ nop -/* 08536C 7F05083C 8CAA0064 */ lw $t2, 0x64($a1) -/* 085370 7F050840 314B0004 */ andi $t3, $t2, 4 -/* 085374 7F050844 51600004 */ beql $t3, $zero, .L7F050858 -/* 085378 7F050848 24010056 */ li $at, 86 -.L7F05084C: -/* 08537C 7F05084C 10000134 */ b .L7F050D20 -/* 085380 7F050850 00001025 */ move $v0, $zero -/* 085384 7F050854 24010056 */ li $at, 86 -.L7F050858: -/* 085388 7F050858 14810007 */ bne $a0, $at, .L7F050878 -/* 08538C 7F05085C 00000000 */ nop -/* 085390 7F050860 8CAC0064 */ lw $t4, 0x64($a1) -/* 085394 7F050864 318D0080 */ andi $t5, $t4, 0x80 -/* 085398 7F050868 11A00003 */ beqz $t5, .L7F050878 -/* 08539C 7F05086C 00000000 */ nop -/* 0853A0 7F050870 1000012B */ b .L7F050D20 -/* 0853A4 7F050874 00001025 */ move $v0, $zero -.L7F050878: -/* 0853A8 7F050878 0FC230C5 */ jal is_weapon_in_inv -/* 0853AC 7F05087C AFA30080 */ sw $v1, 0x80($sp) -/* 0853B0 7F050880 1040009B */ beqz $v0, .L7F050AF0 -/* 0853B4 7F050884 8FA30080 */ lw $v1, 0x80($sp) -/* 0853B8 7F050888 80640080 */ lb $a0, 0x80($v1) -/* 0853BC 7F05088C 0FC1A50B */ jal get_ammo_type_for_weapon -/* 0853C0 7F050890 AFA30080 */ sw $v1, 0x80($sp) -/* 0853C4 7F050894 10400096 */ beqz $v0, .L7F050AF0 -/* 0853C8 7F050898 8FA30080 */ lw $v1, 0x80($sp) -/* 0853CC 7F05089C 80640080 */ lb $a0, 0x80($v1) -/* 0853D0 7F0508A0 0FC1A514 */ jal get_ammo_count_for_weapon -/* 0853D4 7F0508A4 AFA30080 */ sw $v1, 0x80($sp) -/* 0853D8 7F0508A8 8FA30080 */ lw $v1, 0x80($sp) -/* 0853DC 7F0508AC 80640080 */ lb $a0, 0x80($v1) -/* 0853E0 7F0508B0 0FC1A52C */ jal get_max_ammo_for_weapon -/* 0853E4 7F0508B4 AFA20038 */ sw $v0, 0x38($sp) -/* 0853E8 7F0508B8 8FA60038 */ lw $a2, 0x38($sp) -/* 0853EC 7F0508BC 8FA30080 */ lw $v1, 0x80($sp) -/* 0853F0 7F0508C0 00C2082A */ slt $at, $a2, $v0 -/* 0853F4 7F0508C4 1420008A */ bnez $at, .L7F050AF0 -/* 0853F8 7F0508C8 00000000 */ nop -/* 0853FC 7F0508CC 8C620084 */ lw $v0, 0x84($v1) -/* 085400 7F0508D0 14400004 */ bnez $v0, .L7F0508E4 -/* 085404 7F0508D4 00000000 */ nop -/* 085408 7F0508D8 806E0081 */ lb $t6, 0x81($v1) -/* 08540C 7F0508DC 05C00015 */ bltz $t6, .L7F050934 -/* 085410 7F0508E0 00000000 */ nop -.L7F0508E4: -/* 085414 7F0508E4 50400005 */ beql $v0, $zero, .L7F0508FC -/* 085418 7F0508E8 80650081 */ lb $a1, 0x81($v1) -/* 08541C 7F0508EC 80450080 */ lb $a1, 0x80($v0) -/* 085420 7F0508F0 10000003 */ b .L7F050900 -/* 085424 7F0508F4 00A02025 */ move $a0, $a1 -/* 085428 7F0508F8 80650081 */ lb $a1, 0x81($v1) -.L7F0508FC: -/* 08542C 7F0508FC 00A02025 */ move $a0, $a1 -.L7F050900: -/* 085430 7F050900 8C6F0008 */ lw $t7, 8($v1) -/* 085434 7F050904 000FC0C0 */ sll $t8, $t7, 3 -/* 085438 7F050908 07030004 */ bgezl $t8, .L7F05091C -/* 08543C 7F05090C 80640080 */ lb $a0, 0x80($v1) -/* 085440 7F050910 10000002 */ b .L7F05091C -/* 085444 7F050914 80650080 */ lb $a1, 0x80($v1) -/* 085448 7F050918 80640080 */ lb $a0, 0x80($v1) -.L7F05091C: -/* 08544C 7F05091C 0FC230E7 */ jal is_item_for_hand_in_inventory -/* 085450 7F050920 00000000 */ nop -/* 085454 7F050924 10400072 */ beqz $v0, .L7F050AF0 -/* 085458 7F050928 00000000 */ nop -/* 08545C 7F05092C 100000FC */ b .L7F050D20 -/* 085460 7F050930 00001025 */ move $v0, $zero -.L7F050934: -/* 085464 7F050934 100000FA */ b .L7F050D20 -/* 085468 7F050938 00001025 */ move $v0, $zero -/* 08546C 7F05093C 24010007 */ li $at, 7 -.L7F050940: -/* 085470 7F050940 1441000F */ bne $v0, $at, .L7F050980 -/* 085474 7F050944 8FB90088 */ lw $t9, 0x88($sp) -/* 085478 7F050948 8F230004 */ lw $v1, 4($t9) -/* 08547C 7F05094C 8C640080 */ lw $a0, 0x80($v1) -/* 085480 7F050950 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 085484 7F050954 AFA30074 */ sw $v1, 0x74($sp) -/* 085488 7F050958 8FA30074 */ lw $v1, 0x74($sp) -/* 08548C 7F05095C 8C640080 */ lw $a0, 0x80($v1) -/* 085490 7F050960 0FC1A4B5 */ jal get_max_ammo_for_type -/* 085494 7F050964 AFA20038 */ sw $v0, 0x38($sp) -/* 085498 7F050968 8FA60038 */ lw $a2, 0x38($sp) -/* 08549C 7F05096C 00C2082A */ slt $at, $a2, $v0 -/* 0854A0 7F050970 1420005F */ bnez $at, .L7F050AF0 -/* 0854A4 7F050974 00000000 */ nop -/* 0854A8 7F050978 100000E9 */ b .L7F050D20 -/* 0854AC 7F05097C 00001025 */ move $v0, $zero -.L7F050980: -/* 0854B0 7F050980 24010014 */ li $at, 20 -/* 0854B4 7F050984 1441002C */ bne $v0, $at, .L7F050A38 -/* 0854B8 7F050988 8FA90088 */ lw $t1, 0x88($sp) -/* 0854BC 7F05098C 8D2A0004 */ lw $t2, 4($t1) -/* 0854C0 7F050990 240B0001 */ li $t3, 1 -/* 0854C4 7F050994 AFAB006C */ sw $t3, 0x6c($sp) -/* 0854C8 7F050998 00A02025 */ move $a0, $a1 -/* 0854CC 7F05099C 0FC0FFF0 */ jal do_something_if_object_destroyed -/* 0854D0 7F0509A0 AFAA0070 */ sw $t2, 0x70($sp) -/* 0854D4 7F0509A4 10400003 */ beqz $v0, .L7F0509B4 -/* 0854D8 7F0509A8 8FA30070 */ lw $v1, 0x70($sp) -/* 0854DC 7F0509AC 100000DC */ b .L7F050D20 -/* 0854E0 7F0509B0 00001025 */ move $v0, $zero -.L7F0509B4: -/* 0854E4 7F0509B4 00001025 */ move $v0, $zero -.L7F0509B8: -/* 0854E8 7F0509B8 24450001 */ addiu $a1, $v0, 1 -/* 0854EC 7F0509BC 24010001 */ li $at, 1 -/* 0854F0 7F0509C0 14410002 */ bne $v0, $at, .L7F0509CC -/* 0854F4 7F0509C4 00A02025 */ move $a0, $a1 -/* 0854F8 7F0509C8 24040001 */ li $a0, 1 -.L7F0509CC: -/* 0854FC 7F0509CC 946C0082 */ lhu $t4, 0x82($v1) -/* 085500 7F0509D0 59800011 */ blezl $t4, .L7F050A18 -/* 085504 7F0509D4 2401000D */ li $at, 13 -/* 085508 7F0509D8 AFA30030 */ sw $v1, 0x30($sp) -/* 08550C 7F0509DC AFA40064 */ sw $a0, 0x64($sp) -/* 085510 7F0509E0 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory -/* 085514 7F0509E4 AFA50034 */ sw $a1, 0x34($sp) -/* 085518 7F0509E8 8FA40064 */ lw $a0, 0x64($sp) -/* 08551C 7F0509EC 0FC1A4B5 */ jal get_max_ammo_for_type -/* 085520 7F0509F0 AFA20038 */ sw $v0, 0x38($sp) -/* 085524 7F0509F4 8FA60038 */ lw $a2, 0x38($sp) -/* 085528 7F0509F8 8FA30030 */ lw $v1, 0x30($sp) -/* 08552C 7F0509FC 8FA50034 */ lw $a1, 0x34($sp) -/* 085530 7F050A00 00C2082A */ slt $at, $a2, $v0 -/* 085534 7F050A04 50200004 */ beql $at, $zero, .L7F050A18 -/* 085538 7F050A08 2401000D */ li $at, 13 -/* 08553C 7F050A0C 10000005 */ b .L7F050A24 -/* 085540 7F050A10 AFA0006C */ sw $zero, 0x6c($sp) -/* 085544 7F050A14 2401000D */ li $at, 13 -.L7F050A18: -/* 085548 7F050A18 00A01025 */ move $v0, $a1 -/* 08554C 7F050A1C 14A1FFE6 */ bne $a1, $at, .L7F0509B8 -/* 085550 7F050A20 24630004 */ addiu $v1, $v1, 4 -.L7F050A24: -/* 085554 7F050A24 8FAD006C */ lw $t5, 0x6c($sp) -/* 085558 7F050A28 11A00031 */ beqz $t5, .L7F050AF0 -/* 08555C 7F050A2C 00000000 */ nop -/* 085560 7F050A30 100000BB */ b .L7F050D20 -/* 085564 7F050A34 00001025 */ move $v0, $zero -.L7F050A38: -/* 085568 7F050A38 24010015 */ li $at, 21 -/* 08556C 7F050A3C 1441002C */ bne $v0, $at, .L7F050AF0 -/* 085570 7F050A40 8FAE0088 */ lw $t6, 0x88($sp) -/* 085574 7F050A44 8DCF0004 */ lw $t7, 4($t6) -/* 085578 7F050A48 AFA0005C */ sw $zero, 0x5c($sp) -/* 08557C 7F050A4C 0FC228BF */ jal get_BONDdata_watch_armor -/* 085580 7F050A50 AFAF0060 */ sw $t7, 0x60($sp) -/* 085584 7F050A54 8FB80060 */ lw $t8, 0x60($sp) -/* 085588 7F050A58 24190001 */ li $t9, 1 -/* 08558C 7F050A5C C7040084 */ lwc1 $f4, 0x84($t8) -/* 085590 7F050A60 4600203E */ c.le.s $f4, $f0 -/* 085594 7F050A64 00000000 */ nop -/* 085598 7F050A68 45000003 */ bc1f .L7F050A78 -/* 08559C 7F050A6C 00000000 */ nop -/* 0855A0 7F050A70 1000001A */ b .L7F050ADC -/* 0855A4 7F050A74 AFB9005C */ sw $t9, 0x5c($sp) -.L7F050A78: -/* 0855A8 7F050A78 0FC26919 */ jal get_num_players -/* 0855AC 7F050A7C 00000000 */ nop -/* 0855B0 7F050A80 28410002 */ slti $at, $v0, 2 -/* 0855B4 7F050A84 54200016 */ bnezl $at, .L7F050AE0 -/* 0855B8 7F050A88 8FAB005C */ lw $t3, 0x5c($sp) -/* 0855BC 7F050A8C 0FC051D6 */ jal get_scenario -/* 0855C0 7F050A90 00000000 */ nop -/* 0855C4 7F050A94 24010002 */ li $at, 2 -/* 0855C8 7F050A98 14410008 */ bne $v0, $at, .L7F050ABC -/* 0855CC 7F050A9C 00401825 */ move $v1, $v0 -/* 0855D0 7F050AA0 0FC233E0 */ jal sub_GAME_7F08CF80 -/* 0855D4 7F050AA4 AFA20058 */ sw $v0, 0x58($sp) -/* 0855D8 7F050AA8 10400004 */ beqz $v0, .L7F050ABC -/* 0855DC 7F050AAC 8FA30058 */ lw $v1, 0x58($sp) -/* 0855E0 7F050AB0 24090001 */ li $t1, 1 -/* 0855E4 7F050AB4 10000009 */ b .L7F050ADC -/* 0855E8 7F050AB8 AFA9005C */ sw $t1, 0x5c($sp) -.L7F050ABC: -/* 0855EC 7F050ABC 24010003 */ li $at, 3 -/* 0855F0 7F050AC0 54610007 */ bnel $v1, $at, .L7F050AE0 -/* 0855F4 7F050AC4 8FAB005C */ lw $t3, 0x5c($sp) -/* 0855F8 7F050AC8 0FC233F0 */ jal sub_GAME_7F08CFC0 -/* 0855FC 7F050ACC 00000000 */ nop -/* 085600 7F050AD0 10400002 */ beqz $v0, .L7F050ADC -/* 085604 7F050AD4 240A0001 */ li $t2, 1 -/* 085608 7F050AD8 AFAA005C */ sw $t2, 0x5c($sp) -.L7F050ADC: -/* 08560C 7F050ADC 8FAB005C */ lw $t3, 0x5c($sp) -.L7F050AE0: -/* 085610 7F050AE0 11600003 */ beqz $t3, .L7F050AF0 -/* 085614 7F050AE4 00000000 */ nop -/* 085618 7F050AE8 1000008D */ b .L7F050D20 -/* 08561C 7F050AEC 00001025 */ move $v0, $zero -.L7F050AF0: -/* 085620 7F050AF0 0FC227C4 */ jal get_curplay_vertical_rotation_in_degrees -/* 085624 7F050AF4 00000000 */ nop -/* 085628 7F050AF8 3C018005 */ lui $at, %hi(D_800532E0) -/* 08562C 7F050AFC C42632E0 */ lwc1 $f6, %lo(D_800532E0)($at) -/* 085630 7F050B00 3C0C8008 */ lui $t4, %hi(pPlayer) -/* 085634 7F050B04 4606003C */ c.lt.s $f0, $f6 -/* 085638 7F050B08 00000000 */ nop -/* 08563C 7F050B0C 45000007 */ bc1f .L7F050B2C -/* 085640 7F050B10 00000000 */ nop -/* 085644 7F050B14 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) -/* 085648 7F050B18 8D8D1270 */ lw $t5, 0x1270($t4) -/* 08564C 7F050B1C 05A10003 */ bgez $t5, .L7F050B2C -/* 085650 7F050B20 00000000 */ nop -/* 085654 7F050B24 1000007E */ b .L7F050D20 -/* 085658 7F050B28 00001025 */ move $v0, $zero -.L7F050B2C: -/* 08565C 7F050B2C 0FC225E6 */ jal get_curplayer_positiondata -/* 085660 7F050B30 00000000 */ nop -/* 085664 7F050B34 3C0F8008 */ lui $t7, %hi(pPlayer) -/* 085668 7F050B38 8FAE0084 */ lw $t6, 0x84($sp) -/* 08566C 7F050B3C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) -/* 085670 7F050B40 C44A0008 */ lwc1 $f10, 8($v0) -/* 085674 7F050B44 C452000C */ lwc1 $f18, 0xc($v0) -/* 085678 7F050B48 8DF81270 */ lw $t8, 0x1270($t7) -/* 08567C 7F050B4C C4460010 */ lwc1 $f6, 0x10($v0) -/* 085680 7F050B50 C5C80058 */ lwc1 $f8, 0x58($t6) -/* 085684 7F050B54 C5D0005C */ lwc1 $f16, 0x5c($t6) -/* 085688 7F050B58 C5C40060 */ lwc1 $f4, 0x60($t6) -/* 08568C 7F050B5C 2B01003C */ slti $at, $t8, 0x3c -/* 085690 7F050B60 00404025 */ move $t0, $v0 -/* 085694 7F050B64 460A4001 */ sub.s $f0, $f8, $f10 -/* 085698 7F050B68 46128301 */ sub.s $f12, $f16, $f18 -/* 08569C 7F050B6C 14200022 */ bnez $at, .L7F050BF8 -/* 0856A0 7F050B70 46062081 */ sub.s $f2, $f4, $f6 -/* 0856A4 7F050B74 46000202 */ mul.s $f8, $f0, $f0 -/* 0856A8 7F050B78 3C018005 */ lui $at, %hi(D_800532E4) -/* 0856AC 7F050B7C C43232E4 */ lwc1 $f18, %lo(D_800532E4)($at) -/* 0856B0 7F050B80 46021282 */ mul.s $f10, $f2, $f2 -/* 0856B4 7F050B84 3C01C3FA */ li $at, 0xC3FA0000 # -500.000000 -/* 0856B8 7F050B88 00001025 */ move $v0, $zero -/* 0856BC 7F050B8C 460A4400 */ add.s $f16, $f8, $f10 -/* 0856C0 7F050B90 4612803E */ c.le.s $f16, $f18 -/* 0856C4 7F050B94 00000000 */ nop -/* 0856C8 7F050B98 45000002 */ bc1f .L7F050BA4 -/* 0856CC 7F050B9C 00000000 */ nop -/* 0856D0 7F050BA0 24020001 */ li $v0, 1 -.L7F050BA4: -/* 0856D4 7F050BA4 10400012 */ beqz $v0, .L7F050BF0 -/* 0856D8 7F050BA8 00403025 */ move $a2, $v0 -/* 0856DC 7F050BAC 44812000 */ mtc1 $at, $f4 -/* 0856E0 7F050BB0 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 0856E4 7F050BB4 00001025 */ move $v0, $zero -/* 0856E8 7F050BB8 460C203E */ c.le.s $f4, $f12 -/* 0856EC 7F050BBC 00000000 */ nop -/* 0856F0 7F050BC0 45000002 */ bc1f .L7F050BCC -/* 0856F4 7F050BC4 00000000 */ nop -/* 0856F8 7F050BC8 24020001 */ li $v0, 1 -.L7F050BCC: -/* 0856FC 7F050BCC 10400008 */ beqz $v0, .L7F050BF0 -/* 085700 7F050BD0 00403025 */ move $a2, $v0 -/* 085704 7F050BD4 44813000 */ mtc1 $at, $f6 -/* 085708 7F050BD8 00003025 */ move $a2, $zero -/* 08570C 7F050BDC 4606603E */ c.le.s $f12, $f6 -/* 085710 7F050BE0 00000000 */ nop -/* 085714 7F050BE4 45000002 */ bc1f .L7F050BF0 -/* 085718 7F050BE8 00000000 */ nop -/* 08571C 7F050BEC 24060001 */ li $a2, 1 -.L7F050BF0: -/* 085720 7F050BF0 10000021 */ b .L7F050C78 -/* 085724 7F050BF4 00C01825 */ move $v1, $a2 -.L7F050BF8: -/* 085728 7F050BF8 46000202 */ mul.s $f8, $f0, $f0 -/* 08572C 7F050BFC 3C018005 */ lui $at, %hi(D_800532E8) -/* 085730 7F050C00 C43032E8 */ lwc1 $f16, %lo(D_800532E8)($at) -/* 085734 7F050C04 46021282 */ mul.s $f10, $f2, $f2 -/* 085738 7F050C08 3C01C348 */ li $at, 0xC3480000 # -200.000000 -/* 08573C 7F050C0C 00001025 */ move $v0, $zero -/* 085740 7F050C10 460A4480 */ add.s $f18, $f8, $f10 -/* 085744 7F050C14 4610903E */ c.le.s $f18, $f16 -/* 085748 7F050C18 00000000 */ nop -/* 08574C 7F050C1C 45000002 */ bc1f .L7F050C28 -/* 085750 7F050C20 00000000 */ nop -/* 085754 7F050C24 24020001 */ li $v0, 1 -.L7F050C28: -/* 085758 7F050C28 10400012 */ beqz $v0, .L7F050C74 -/* 08575C 7F050C2C 00403025 */ move $a2, $v0 -/* 085760 7F050C30 44812000 */ mtc1 $at, $f4 -/* 085764 7F050C34 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 085768 7F050C38 00001025 */ move $v0, $zero -/* 08576C 7F050C3C 460C203E */ c.le.s $f4, $f12 -/* 085770 7F050C40 00000000 */ nop -/* 085774 7F050C44 45000002 */ bc1f .L7F050C50 -/* 085778 7F050C48 00000000 */ nop -/* 08577C 7F050C4C 24020001 */ li $v0, 1 -.L7F050C50: -/* 085780 7F050C50 10400008 */ beqz $v0, .L7F050C74 -/* 085784 7F050C54 00403025 */ move $a2, $v0 -/* 085788 7F050C58 44813000 */ mtc1 $at, $f6 -/* 08578C 7F050C5C 00003025 */ move $a2, $zero -/* 085790 7F050C60 4606603E */ c.le.s $f12, $f6 -/* 085794 7F050C64 00000000 */ nop -/* 085798 7F050C68 45020003 */ bc1fl .L7F050C78 -/* 08579C 7F050C6C 00C01825 */ move $v1, $a2 -/* 0857A0 7F050C70 24060001 */ li $a2, 1 -.L7F050C74: -/* 0857A4 7F050C74 00C01825 */ move $v1, $a2 -.L7F050C78: -/* 0857A8 7F050C78 10C00022 */ beqz $a2, .L7F050D04 -/* 0857AC 7F050C7C 8FB90084 */ lw $t9, 0x84($sp) -/* 0857B0 7F050C80 8F29000C */ lw $t1, 0xc($t9) -/* 0857B4 7F050C84 8FA20088 */ lw $v0, 0x88($sp) -/* 0857B8 7F050C88 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0857BC 7F050C8C 312A1000 */ andi $t2, $t1, 0x1000 -/* 0857C0 7F050C90 1540001C */ bnez $t2, .L7F050D04 -/* 0857C4 7F050C94 27A4003C */ addiu $a0, $sp, 0x3c -/* 0857C8 7F050C98 8D0B0014 */ lw $t3, 0x14($t0) -/* 0857CC 7F050C9C 44810000 */ mtc1 $at, $f0 -/* 0857D0 7F050CA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0857D4 7F050CA4 AFAB003C */ sw $t3, 0x3c($sp) -/* 0857D8 7F050CA8 C4480010 */ lwc1 $f8, 0x10($v0) -/* 0857DC 7F050CAC 8C470008 */ lw $a3, 8($v0) -/* 0857E0 7F050CB0 8D060010 */ lw $a2, 0x10($t0) -/* 0857E4 7F050CB4 8D050008 */ lw $a1, 8($t0) -/* 0857E8 7F050CB8 44818000 */ mtc1 $at, $f16 -/* 0857EC 7F050CBC 44805000 */ mtc1 $zero, $f10 -/* 0857F0 7F050CC0 240C0002 */ li $t4, 2 -/* 0857F4 7F050CC4 AFAC0014 */ sw $t4, 0x14($sp) -/* 0857F8 7F050CC8 AFA30040 */ sw $v1, 0x40($sp) -/* 0857FC 7F050CCC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 085800 7F050CD0 E7A00018 */ swc1 $f0, 0x18($sp) -/* 085804 7F050CD4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 085808 7F050CD8 E7B00024 */ swc1 $f16, 0x24($sp) -/* 08580C 7F050CDC 0FC2C389 */ jal sub_GAME_7F0B0E24 -/* 085810 7F050CE0 E7AA0020 */ swc1 $f10, 0x20($sp) -/* 085814 7F050CE4 10400006 */ beqz $v0, .L7F050D00 -/* 085818 7F050CE8 8FA30040 */ lw $v1, 0x40($sp) -/* 08581C 7F050CEC 8FAE0088 */ lw $t6, 0x88($sp) -/* 085820 7F050CF0 8FAD003C */ lw $t5, 0x3c($sp) -/* 085824 7F050CF4 8DCF0014 */ lw $t7, 0x14($t6) -/* 085828 7F050CF8 11AF0002 */ beq $t5, $t7, .L7F050D04 -/* 08582C 7F050CFC 00000000 */ nop -.L7F050D00: -/* 085830 7F050D00 00001825 */ move $v1, $zero -.L7F050D04: -/* 085834 7F050D04 10600006 */ beqz $v1, .L7F050D20 -/* 085838 7F050D08 00001025 */ move $v0, $zero -/* 08583C 7F050D0C 8FA40088 */ lw $a0, 0x88($sp) -/* 085840 7F050D10 0FC14094 */ jal collect_or_interact_object -/* 085844 7F050D14 24050001 */ li $a1, 1 -/* 085848 7F050D18 10000002 */ b .L7F050D24 -/* 08584C 7F050D1C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F050D20: -/* 085850 7F050D20 8FBF002C */ lw $ra, 0x2c($sp) -.L7F050D24: -/* 085854 7F050D24 27BD0088 */ addiu $sp, $sp, 0x88 -/* 085858 7F050D28 03E00008 */ jr $ra -/* 08585C 7F050D2C 00000000 */ nop -) -#endif - -#ifdef VERSION_JP -GLOBAL_ASM( -.late_rodata -glabel D_800532E0 -.word 0xbf490fdb /*-0.78539819*/ -glabel D_800532E4 -.word 0x47ef4200 /*122500.0*/ -glabel D_800532E8 -.word 0x461c4000 /*10000.0*/ -glabel D_800532EC -.word 0x47742400 /*62500.0*/ -glabel D_800532F0 -.word 0x40490fdb /*3.1415927*/ -.text -glabel object_collectability_routines -/* 085650 7F050AE0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 085654 7F050AE4 AFBF0034 */ sw $ra, 0x34($sp) -/* 085658 7F050AE8 AFB00030 */ sw $s0, 0x30($sp) -/* 08565C 7F050AEC AFA40090 */ sw $a0, 0x90($sp) -/* 085660 7F050AF0 8C840004 */ lw $a0, 4($a0) -/* 085664 7F050AF4 0FC13904 */ jal check_if_collectable_object -/* 085668 7F050AF8 AFA4008C */ sw $a0, 0x8c($sp) -/* 08566C 7F050AFC 1040000B */ beqz $v0, .Ljp7F050B2C -/* 085670 7F050B00 8FA4008C */ lw $a0, 0x8c($sp) -/* 085674 7F050B04 908F0003 */ lbu $t7, 3($a0) -/* 085678 7F050B08 24010011 */ li $at, 17 -/* 08567C 7F050B0C 51E10008 */ beql $t7, $at, .Ljp7F050B30 -/* 085680 7F050B10 8FA4008C */ lw $a0, 0x8c($sp) -/* 085684 7F050B14 8C820008 */ lw $v0, 8($a0) -/* 085688 7F050B18 0002C2C0 */ sll $t8, $v0, 0xb -/* 08568C 7F050B1C 0703000B */ bgezl $t8, .Ljp7F050B4C -/* 085690 7F050B20 00024B00 */ sll $t1, $v0, 0xc -/* 085694 7F050B24 100001BC */ b .Ljp7F051218 -/* 085698 7F050B28 00001025 */ move $v0, $zero -.Ljp7F050B2C: -/* 08569C 7F050B2C 8FA4008C */ lw $a0, 0x8c($sp) -.Ljp7F050B30: -/* 0856A0 7F050B30 8C820008 */ lw $v0, 8($a0) -/* 0856A4 7F050B34 0002CB40 */ sll $t9, $v0, 0xd -/* 0856A8 7F050B38 07220004 */ bltzl $t9, .Ljp7F050B4C -/* 0856AC 7F050B3C 00024B00 */ sll $t1, $v0, 0xc -/* 0856B0 7F050B40 100001B5 */ b .Ljp7F051218 -/* 0856B4 7F050B44 00001025 */ move $v0, $zero -/* 0856B8 7F050B48 00024B00 */ sll $t1, $v0, 0xc -.Ljp7F050B4C: -/* 0856BC 7F050B4C 05230004 */ bgezl $t1, .Ljp7F050B60 -/* 0856C0 7F050B50 8C8A0064 */ lw $t2, 0x64($a0) -/* 0856C4 7F050B54 100001B0 */ b .Ljp7F051218 -/* 0856C8 7F050B58 00001025 */ move $v0, $zero -/* 0856CC 7F050B5C 8C8A0064 */ lw $t2, 0x64($a0) -.Ljp7F050B60: -/* 0856D0 7F050B60 314B0080 */ andi $t3, $t2, 0x80 -/* 0856D4 7F050B64 1160000A */ beqz $t3, .Ljp7F050B90 -/* 0856D8 7F050B68 00000000 */ nop -/* 0856DC 7F050B6C 8C82006C */ lw $v0, 0x6c($a0) -/* 0856E0 7F050B70 8C4C00BC */ lw $t4, 0xbc($v0) -/* 0856E4 7F050B74 19800006 */ blez $t4, .Ljp7F050B90 -/* 0856E8 7F050B78 00000000 */ nop -/* 0856EC 7F050B7C 8C4D0090 */ lw $t5, 0x90($v0) -/* 0856F0 7F050B80 15A00003 */ bnez $t5, .Ljp7F050B90 -/* 0856F4 7F050B84 00000000 */ nop -/* 0856F8 7F050B88 100001A3 */ b .Ljp7F051218 -/* 0856FC 7F050B8C 00001025 */ move $v0, $zero -.Ljp7F050B90: -/* 085700 7F050B90 0FC0FAAB */ jal sub_GAME_7F03E7AC -/* 085704 7F050B94 00000000 */ nop -/* 085708 7F050B98 14400003 */ bnez $v0, .Ljp7F050BA8 -/* 08570C 7F050B9C 8FA5008C */ lw $a1, 0x8c($sp) -/* 085710 7F050BA0 1000019D */ b .Ljp7F051218 -/* 085714 7F050BA4 00001025 */ move $v0, $zero -.Ljp7F050BA8: -/* 085718 7F050BA8 90A20003 */ lbu $v0, 3($a1) -/* 08571C 7F050BAC 24010008 */ li $at, 8 -/* 085720 7F050BB0 8FAE0090 */ lw $t6, 0x90($sp) -/* 085724 7F050BB4 54410060 */ bnel $v0, $at, .Ljp7F050D38 -/* 085728 7F050BB8 24010007 */ li $at, 7 -/* 08572C 7F050BBC 8DD00004 */ lw $s0, 4($t6) -/* 085730 7F050BC0 2401001A */ li $at, 26 -/* 085734 7F050BC4 82040080 */ lb $a0, 0x80($s0) -/* 085738 7F050BC8 10810003 */ beq $a0, $at, .Ljp7F050BD8 -/* 08573C 7F050BCC 24010057 */ li $at, 87 -/* 085740 7F050BD0 5481000B */ bnel $a0, $at, .Ljp7F050C00 -/* 085744 7F050BD4 2401001D */ li $at, 29 -.Ljp7F050BD8: -/* 085748 7F050BD8 860F0082 */ lh $t7, 0x82($s0) -/* 08574C 7F050BDC 05E10005 */ bgez $t7, .Ljp7F050BF4 -/* 085750 7F050BE0 00000000 */ nop -/* 085754 7F050BE4 8CB80064 */ lw $t8, 0x64($a1) -/* 085758 7F050BE8 33190004 */ andi $t9, $t8, 4 -/* 08575C 7F050BEC 53200004 */ beql $t9, $zero, .Ljp7F050C00 -/* 085760 7F050BF0 2401001D */ li $at, 29 -.Ljp7F050BF4: -/* 085764 7F050BF4 10000188 */ b .Ljp7F051218 -/* 085768 7F050BF8 00001025 */ move $v0, $zero -/* 08576C 7F050BFC 2401001D */ li $at, 29 -.Ljp7F050C00: -/* 085770 7F050C00 1081000D */ beq $a0, $at, .Ljp7F050C38 -/* 085774 7F050C04 2401001C */ li $at, 28 -/* 085778 7F050C08 1081000B */ beq $a0, $at, .Ljp7F050C38 -/* 08577C 7F050C0C 2401001B */ li $at, 27 -/* 085780 7F050C10 10810009 */ beq $a0, $at, .Ljp7F050C38 -/* 085784 7F050C14 24010021 */ li $at, 33 -/* 085788 7F050C18 10810007 */ beq $a0, $at, .Ljp7F050C38 -/* 08578C 7F050C1C 2401002F */ li $at, 47 -/* 085790 7F050C20 10810005 */ beq $a0, $at, .Ljp7F050C38 -/* 085794 7F050C24 24010030 */ li $at, 48 -/* 085798 7F050C28 10810003 */ beq $a0, $at, .Ljp7F050C38 -/* 08579C 7F050C2C 24010022 */ li $at, 34 -/* 0857A0 7F050C30 5481000B */ bnel $a0, $at, .Ljp7F050C60 -/* 0857A4 7F050C34 24010056 */ li $at, 86 -.Ljp7F050C38: -/* 0857A8 7F050C38 86090082 */ lh $t1, 0x82($s0) -/* 0857AC 7F050C3C 05210005 */ bgez $t1, .Ljp7F050C54 -/* 0857B0 7F050C40 00000000 */ nop -/* 0857B4 7F050C44 8CAA0064 */ lw $t2, 0x64($a1) -/* 0857B8 7F050C48 314B0004 */ andi $t3, $t2, 4 -/* 0857BC 7F050C4C 51600004 */ beql $t3, $zero, .Ljp7F050C60 -/* 0857C0 7F050C50 24010056 */ li $at, 86 -.Ljp7F050C54: -/* 0857C4 7F050C54 10000170 */ b .Ljp7F051218 -/* 0857C8 7F050C58 00001025 */ move $v0, $zero -/* 0857CC 7F050C5C 24010056 */ li $at, 86 -.Ljp7F050C60: -/* 0857D0 7F050C60 14810007 */ bne $a0, $at, .Ljp7F050C80 -/* 0857D4 7F050C64 00000000 */ nop -/* 0857D8 7F050C68 8CAC0064 */ lw $t4, 0x64($a1) -/* 0857DC 7F050C6C 318D0080 */ andi $t5, $t4, 0x80 -/* 0857E0 7F050C70 11A00003 */ beqz $t5, .Ljp7F050C80 -/* 0857E4 7F050C74 00000000 */ nop -/* 0857E8 7F050C78 10000167 */ b .Ljp7F051218 -/* 0857EC 7F050C7C 00001025 */ move $v0, $zero -.Ljp7F050C80: -/* 0857F0 7F050C80 0FC232E9 */ jal is_weapon_in_inv -/* 0857F4 7F050C84 00000000 */ nop -/* 0857F8 7F050C88 104000D9 */ beqz $v0, .Ljp7F050FF0 -/* 0857FC 7F050C8C 00000000 */ nop -/* 085800 7F050C90 0FC1A686 */ jal get_ammo_type_for_weapon -/* 085804 7F050C94 82040080 */ lb $a0, 0x80($s0) -/* 085808 7F050C98 104000D5 */ beqz $v0, .Ljp7F050FF0 -/* 08580C 7F050C9C 00000000 */ nop -/* 085810 7F050CA0 0FC1A68F */ jal get_ammo_count_for_weapon -/* 085814 7F050CA4 82040080 */ lb $a0, 0x80($s0) -/* 085818 7F050CA8 82040080 */ lb $a0, 0x80($s0) -/* 08581C 7F050CAC 0FC1A6A7 */ jal get_max_ammo_for_weapon -/* 085820 7F050CB0 AFA20040 */ sw $v0, 0x40($sp) -/* 085824 7F050CB4 8FA30040 */ lw $v1, 0x40($sp) -/* 085828 7F050CB8 0062082A */ slt $at, $v1, $v0 -/* 08582C 7F050CBC 142000CC */ bnez $at, .Ljp7F050FF0 -/* 085830 7F050CC0 00000000 */ nop -/* 085834 7F050CC4 8E020084 */ lw $v0, 0x84($s0) -/* 085838 7F050CC8 14400004 */ bnez $v0, .Ljp7F050CDC -/* 08583C 7F050CCC 00000000 */ nop -/* 085840 7F050CD0 820E0081 */ lb $t6, 0x81($s0) -/* 085844 7F050CD4 05C00015 */ bltz $t6, .Ljp7F050D2C -/* 085848 7F050CD8 00000000 */ nop -.Ljp7F050CDC: -/* 08584C 7F050CDC 50400005 */ beql $v0, $zero, .Ljp7F050CF4 -/* 085850 7F050CE0 82050081 */ lb $a1, 0x81($s0) -/* 085854 7F050CE4 80450080 */ lb $a1, 0x80($v0) -/* 085858 7F050CE8 10000003 */ b .Ljp7F050CF8 -/* 08585C 7F050CEC 00A02025 */ move $a0, $a1 -/* 085860 7F050CF0 82050081 */ lb $a1, 0x81($s0) -.Ljp7F050CF4: -/* 085864 7F050CF4 00A02025 */ move $a0, $a1 -.Ljp7F050CF8: -/* 085868 7F050CF8 8E0F0008 */ lw $t7, 8($s0) -/* 08586C 7F050CFC 000FC0C0 */ sll $t8, $t7, 3 -/* 085870 7F050D00 07030004 */ bgezl $t8, .Ljp7F050D14 -/* 085874 7F050D04 82040080 */ lb $a0, 0x80($s0) -/* 085878 7F050D08 10000002 */ b .Ljp7F050D14 -/* 08587C 7F050D0C 82050080 */ lb $a1, 0x80($s0) -/* 085880 7F050D10 82040080 */ lb $a0, 0x80($s0) -.Ljp7F050D14: -/* 085884 7F050D14 0FC2330B */ jal is_item_for_hand_in_inventory -/* 085888 7F050D18 00000000 */ nop -/* 08588C 7F050D1C 104000B4 */ beqz $v0, .Ljp7F050FF0 -/* 085890 7F050D20 00000000 */ nop -/* 085894 7F050D24 1000013C */ b .Ljp7F051218 -/* 085898 7F050D28 00001025 */ move $v0, $zero -.Ljp7F050D2C: -/* 08589C 7F050D2C 1000013A */ b .Ljp7F051218 -/* 0858A0 7F050D30 00001025 */ move $v0, $zero -/* 0858A4 7F050D34 24010007 */ li $at, 7 -.Ljp7F050D38: -/* 0858A8 7F050D38 14410035 */ bne $v0, $at, .Ljp7F050E10 -/* 0858AC 7F050D3C 8FB90090 */ lw $t9, 0x90($sp) -/* 0858B0 7F050D40 8F300004 */ lw $s0, 4($t9) -/* 0858B4 7F050D44 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory -/* 0858B8 7F050D48 8E040080 */ lw $a0, 0x80($s0) -/* 0858BC 7F050D4C 8E040080 */ lw $a0, 0x80($s0) -/* 0858C0 7F050D50 0FC1A630 */ jal get_max_ammo_for_type -/* 0858C4 7F050D54 AFA20040 */ sw $v0, 0x40($sp) -/* 0858C8 7F050D58 8FA30040 */ lw $v1, 0x40($sp) -/* 0858CC 7F050D5C 0062082A */ slt $at, $v1, $v0 -/* 0858D0 7F050D60 142000A3 */ bnez $at, .Ljp7F050FF0 -/* 0858D4 7F050D64 00000000 */ nop -/* 0858D8 7F050D68 8E020080 */ lw $v0, 0x80($s0) -/* 0858DC 7F050D6C 24010005 */ li $at, 5 -/* 0858E0 7F050D70 54410007 */ bnel $v0, $at, .Ljp7F050D90 -/* 0858E4 7F050D74 24010007 */ li $at, 7 -/* 0858E8 7F050D78 0FC232E9 */ jal is_weapon_in_inv -/* 0858EC 7F050D7C 2404001A */ li $a0, 26 -/* 0858F0 7F050D80 1040009B */ beqz $v0, .Ljp7F050FF0 -/* 0858F4 7F050D84 00000000 */ nop -/* 0858F8 7F050D88 8E020080 */ lw $v0, 0x80($s0) -/* 0858FC 7F050D8C 24010007 */ li $at, 7 -.Ljp7F050D90: -/* 085900 7F050D90 54410007 */ bnel $v0, $at, .Ljp7F050DB0 -/* 085904 7F050D94 24010008 */ li $at, 8 -/* 085908 7F050D98 0FC232E9 */ jal is_weapon_in_inv -/* 08590C 7F050D9C 2404001D */ li $a0, 29 -/* 085910 7F050DA0 10400093 */ beqz $v0, .Ljp7F050FF0 -/* 085914 7F050DA4 00000000 */ nop -/* 085918 7F050DA8 8E020080 */ lw $v0, 0x80($s0) -/* 08591C 7F050DAC 24010008 */ li $at, 8 -.Ljp7F050DB0: -/* 085920 7F050DB0 54410007 */ bnel $v0, $at, .Ljp7F050DD0 -/* 085924 7F050DB4 24010009 */ li $at, 9 -/* 085928 7F050DB8 0FC232E9 */ jal is_weapon_in_inv -/* 08592C 7F050DBC 2404001C */ li $a0, 28 -/* 085930 7F050DC0 1040008B */ beqz $v0, .Ljp7F050FF0 -/* 085934 7F050DC4 00000000 */ nop -/* 085938 7F050DC8 8E020080 */ lw $v0, 0x80($s0) -/* 08593C 7F050DCC 24010009 */ li $at, 9 -.Ljp7F050DD0: -/* 085940 7F050DD0 54410007 */ bnel $v0, $at, .Ljp7F050DF0 -/* 085944 7F050DD4 2401000A */ li $at, 10 -/* 085948 7F050DD8 0FC232E9 */ jal is_weapon_in_inv -/* 08594C 7F050DDC 2404001B */ li $a0, 27 -/* 085950 7F050DE0 10400083 */ beqz $v0, .Ljp7F050FF0 -/* 085954 7F050DE4 00000000 */ nop -/* 085958 7F050DE8 8E020080 */ lw $v0, 0x80($s0) -/* 08595C 7F050DEC 2401000A */ li $at, 10 -.Ljp7F050DF0: -/* 085960 7F050DF0 14410005 */ bne $v0, $at, .Ljp7F050E08 -/* 085964 7F050DF4 00000000 */ nop -/* 085968 7F050DF8 0FC232E9 */ jal is_weapon_in_inv -/* 08596C 7F050DFC 24040003 */ li $a0, 3 -/* 085970 7F050E00 1040007B */ beqz $v0, .Ljp7F050FF0 -/* 085974 7F050E04 00000000 */ nop -.Ljp7F050E08: -/* 085978 7F050E08 10000103 */ b .Ljp7F051218 -/* 08597C 7F050E0C 00001025 */ move $v0, $zero -.Ljp7F050E10: -/* 085980 7F050E10 24010014 */ li $at, 20 -/* 085984 7F050E14 1441004B */ bne $v0, $at, .Ljp7F050F44 -/* 085988 7F050E18 8FA90090 */ lw $t1, 0x90($sp) -/* 08598C 7F050E1C 8D300004 */ lw $s0, 4($t1) -/* 085990 7F050E20 240A0001 */ li $t2, 1 -/* 085994 7F050E24 AFAA0074 */ sw $t2, 0x74($sp) -/* 085998 7F050E28 0FC100B0 */ jal do_something_if_object_destroyed -/* 08599C 7F050E2C 00A02025 */ move $a0, $a1 -/* 0859A0 7F050E30 10400003 */ beqz $v0, .Ljp7F050E40 -/* 0859A4 7F050E34 02001825 */ move $v1, $s0 -/* 0859A8 7F050E38 100000F7 */ b .Ljp7F051218 -/* 0859AC 7F050E3C 00001025 */ move $v0, $zero -.Ljp7F050E40: -/* 0859B0 7F050E40 00001025 */ move $v0, $zero -.Ljp7F050E44: -/* 0859B4 7F050E44 24500001 */ addiu $s0, $v0, 1 -/* 0859B8 7F050E48 24010001 */ li $at, 1 -/* 0859BC 7F050E4C 14410002 */ bne $v0, $at, .Ljp7F050E58 -/* 0859C0 7F050E50 AFB0003C */ sw $s0, 0x3c($sp) -/* 0859C4 7F050E54 24100001 */ li $s0, 1 -.Ljp7F050E58: -/* 0859C8 7F050E58 AFA30038 */ sw $v1, 0x38($sp) -/* 0859CC 7F050E5C 946C0082 */ lhu $t4, 0x82($v1) -/* 0859D0 7F050E60 02002025 */ move $a0, $s0 -/* 0859D4 7F050E64 5980002E */ blezl $t4, .Ljp7F050F20 -/* 0859D8 7F050E68 8FA2003C */ lw $v0, 0x3c($sp) -/* 0859DC 7F050E6C 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory -/* 0859E0 7F050E70 AFA30038 */ sw $v1, 0x38($sp) -/* 0859E4 7F050E74 02002025 */ move $a0, $s0 -/* 0859E8 7F050E78 0FC1A630 */ jal get_max_ammo_for_type -/* 0859EC 7F050E7C AFA20040 */ sw $v0, 0x40($sp) -/* 0859F0 7F050E80 8FA30040 */ lw $v1, 0x40($sp) -/* 0859F4 7F050E84 0062082A */ slt $at, $v1, $v0 -/* 0859F8 7F050E88 50200004 */ beql $at, $zero, .Ljp7F050E9C -/* 0859FC 7F050E8C 24010005 */ li $at, 5 -/* 085A00 7F050E90 10000027 */ b .Ljp7F050F30 -/* 085A04 7F050E94 AFA00074 */ sw $zero, 0x74($sp) -/* 085A08 7F050E98 24010005 */ li $at, 5 -.Ljp7F050E9C: -/* 085A0C 7F050E9C 56010005 */ bnel $s0, $at, .Ljp7F050EB4 -/* 085A10 7F050EA0 24010007 */ li $at, 7 -/* 085A14 7F050EA4 0FC232E9 */ jal is_weapon_in_inv -/* 085A18 7F050EA8 2404001A */ li $a0, 26 -/* 085A1C 7F050EAC 10400019 */ beqz $v0, .Ljp7F050F14 -/* 085A20 7F050EB0 24010007 */ li $at, 7 -.Ljp7F050EB4: -/* 085A24 7F050EB4 56010005 */ bnel $s0, $at, .Ljp7F050ECC -/* 085A28 7F050EB8 24010008 */ li $at, 8 -/* 085A2C 7F050EBC 0FC232E9 */ jal is_weapon_in_inv -/* 085A30 7F050EC0 2404001D */ li $a0, 29 -/* 085A34 7F050EC4 10400013 */ beqz $v0, .Ljp7F050F14 -/* 085A38 7F050EC8 24010008 */ li $at, 8 -.Ljp7F050ECC: -/* 085A3C 7F050ECC 56010005 */ bnel $s0, $at, .Ljp7F050EE4 -/* 085A40 7F050ED0 24010009 */ li $at, 9 -/* 085A44 7F050ED4 0FC232E9 */ jal is_weapon_in_inv -/* 085A48 7F050ED8 2404001C */ li $a0, 28 -/* 085A4C 7F050EDC 1040000D */ beqz $v0, .Ljp7F050F14 -/* 085A50 7F050EE0 24010009 */ li $at, 9 -.Ljp7F050EE4: -/* 085A54 7F050EE4 56010005 */ bnel $s0, $at, .Ljp7F050EFC -/* 085A58 7F050EE8 2401000A */ li $at, 10 -/* 085A5C 7F050EEC 0FC232E9 */ jal is_weapon_in_inv -/* 085A60 7F050EF0 2404001B */ li $a0, 27 -/* 085A64 7F050EF4 10400007 */ beqz $v0, .Ljp7F050F14 -/* 085A68 7F050EF8 2401000A */ li $at, 10 -.Ljp7F050EFC: -/* 085A6C 7F050EFC 56010008 */ bnel $s0, $at, .Ljp7F050F20 -/* 085A70 7F050F00 8FA2003C */ lw $v0, 0x3c($sp) -/* 085A74 7F050F04 0FC232E9 */ jal is_weapon_in_inv -/* 085A78 7F050F08 24040003 */ li $a0, 3 -/* 085A7C 7F050F0C 54400004 */ bnezl $v0, .Ljp7F050F20 -/* 085A80 7F050F10 8FA2003C */ lw $v0, 0x3c($sp) -.Ljp7F050F14: -/* 085A84 7F050F14 10000006 */ b .Ljp7F050F30 -/* 085A88 7F050F18 AFA00074 */ sw $zero, 0x74($sp) -/* 085A8C 7F050F1C 8FA2003C */ lw $v0, 0x3c($sp) -.Ljp7F050F20: -/* 085A90 7F050F20 8FA30038 */ lw $v1, 0x38($sp) -/* 085A94 7F050F24 2401000D */ li $at, 13 -/* 085A98 7F050F28 1441FFC6 */ bne $v0, $at, .Ljp7F050E44 -/* 085A9C 7F050F2C 24630004 */ addiu $v1, $v1, 4 -.Ljp7F050F30: -/* 085AA0 7F050F30 8FAD0074 */ lw $t5, 0x74($sp) -/* 085AA4 7F050F34 11A0002E */ beqz $t5, .Ljp7F050FF0 -/* 085AA8 7F050F38 00000000 */ nop -/* 085AAC 7F050F3C 100000B6 */ b .Ljp7F051218 -/* 085AB0 7F050F40 00001025 */ move $v0, $zero -.Ljp7F050F44: -/* 085AB4 7F050F44 24010015 */ li $at, 21 -/* 085AB8 7F050F48 14410029 */ bne $v0, $at, .Ljp7F050FF0 -/* 085ABC 7F050F4C 8FAE0090 */ lw $t6, 0x90($sp) -/* 085AC0 7F050F50 8DD00004 */ lw $s0, 4($t6) -/* 085AC4 7F050F54 0FC22A8D */ jal get_BONDdata_watch_armor -/* 085AC8 7F050F58 AFA00064 */ sw $zero, 0x64($sp) -/* 085ACC 7F050F5C C6040084 */ lwc1 $f4, 0x84($s0) -/* 085AD0 7F050F60 240F0001 */ li $t7, 1 -/* 085AD4 7F050F64 4600203E */ c.le.s $f4, $f0 -/* 085AD8 7F050F68 00000000 */ nop -/* 085ADC 7F050F6C 45000003 */ bc1f .Ljp7F050F7C -/* 085AE0 7F050F70 00000000 */ nop -/* 085AE4 7F050F74 10000019 */ b .Ljp7F050FDC -/* 085AE8 7F050F78 AFAF0064 */ sw $t7, 0x64($sp) -.Ljp7F050F7C: -/* 085AEC 7F050F7C 0FC26C01 */ jal get_num_players -/* 085AF0 7F050F80 00000000 */ nop -/* 085AF4 7F050F84 28410002 */ slti $at, $v0, 2 -/* 085AF8 7F050F88 54200015 */ bnezl $at, .Ljp7F050FE0 -/* 085AFC 7F050F8C 8FA90064 */ lw $t1, 0x64($sp) -/* 085B00 7F050F90 0FC05202 */ jal get_scenario -/* 085B04 7F050F94 00000000 */ nop -/* 085B08 7F050F98 24010002 */ li $at, 2 -/* 085B0C 7F050F9C 14410007 */ bne $v0, $at, .Ljp7F050FBC -/* 085B10 7F050FA0 00408025 */ move $s0, $v0 -/* 085B14 7F050FA4 0FC23639 */ jal sub_GAME_7F08CF80 -/* 085B18 7F050FA8 00000000 */ nop -/* 085B1C 7F050FAC 10400003 */ beqz $v0, .Ljp7F050FBC -/* 085B20 7F050FB0 24180001 */ li $t8, 1 -/* 085B24 7F050FB4 10000009 */ b .Ljp7F050FDC -/* 085B28 7F050FB8 AFB80064 */ sw $t8, 0x64($sp) -.Ljp7F050FBC: -/* 085B2C 7F050FBC 24010003 */ li $at, 3 -/* 085B30 7F050FC0 56010007 */ bnel $s0, $at, .Ljp7F050FE0 -/* 085B34 7F050FC4 8FA90064 */ lw $t1, 0x64($sp) -/* 085B38 7F050FC8 0FC23649 */ jal sub_GAME_7F08CFC0 -/* 085B3C 7F050FCC 00000000 */ nop -/* 085B40 7F050FD0 10400002 */ beqz $v0, .Ljp7F050FDC -/* 085B44 7F050FD4 24190001 */ li $t9, 1 -/* 085B48 7F050FD8 AFB90064 */ sw $t9, 0x64($sp) -.Ljp7F050FDC: -/* 085B4C 7F050FDC 8FA90064 */ lw $t1, 0x64($sp) -.Ljp7F050FE0: -/* 085B50 7F050FE0 11200003 */ beqz $t1, .Ljp7F050FF0 -/* 085B54 7F050FE4 00000000 */ nop -/* 085B58 7F050FE8 1000008B */ b .Ljp7F051218 -/* 085B5C 7F050FEC 00001025 */ move $v0, $zero -.Ljp7F050FF0: -/* 085B60 7F050FF0 0FC22992 */ jal get_curplay_vertical_rotation_in_degrees -/* 085B64 7F050FF4 00000000 */ nop -/* 085B68 7F050FF8 3C018005 */ lui $at, %hi(D_800532E0) # $at, 0x8005 -/* 085B6C 7F050FFC C4263310 */ lwc1 $f6, %lo(D_800532E0)($at) -/* 085B70 7F051000 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 -/* 085B74 7F051004 4606003C */ c.lt.s $f0, $f6 -/* 085B78 7F051008 00000000 */ nop -/* 085B7C 7F05100C 45000007 */ bc1f .Ljp7F05102C -/* 085B80 7F051010 00000000 */ nop -/* 085B84 7F051014 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) -/* 085B88 7F051018 8D4B1270 */ lw $t3, 0x1270($t2) -/* 085B8C 7F05101C 05610003 */ bgez $t3, .Ljp7F05102C -/* 085B90 7F051020 00000000 */ nop -/* 085B94 7F051024 1000007C */ b .Ljp7F051218 -/* 085B98 7F051028 00001025 */ move $v0, $zero -.Ljp7F05102C: -/* 085B9C 7F05102C 0FC2279B */ jal get_curplayer_positiondata -/* 085BA0 7F051030 00000000 */ nop -/* 085BA4 7F051034 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 -/* 085BA8 7F051038 8FAC008C */ lw $t4, 0x8c($sp) -/* 085BAC 7F05103C 8DADA120 */ lw $t5, %lo(pPlayer)($t5) -/* 085BB0 7F051040 C44A0008 */ lwc1 $f10, 8($v0) -/* 085BB4 7F051044 C452000C */ lwc1 $f18, 0xc($v0) -/* 085BB8 7F051048 8DAE1270 */ lw $t6, 0x1270($t5) -/* 085BBC 7F05104C C4460010 */ lwc1 $f6, 0x10($v0) -/* 085BC0 7F051050 C5880058 */ lwc1 $f8, 0x58($t4) -/* 085BC4 7F051054 C590005C */ lwc1 $f16, 0x5c($t4) -/* 085BC8 7F051058 C5840060 */ lwc1 $f4, 0x60($t4) -/* 085BCC 7F05105C 29C1003C */ slti $at, $t6, 0x3c -/* 085BD0 7F051060 00404025 */ move $t0, $v0 -/* 085BD4 7F051064 460A4001 */ sub.s $f0, $f8, $f10 -/* 085BD8 7F051068 46128301 */ sub.s $f12, $f16, $f18 -/* 085BDC 7F05106C 14200022 */ bnez $at, .Ljp7F0510F8 -/* 085BE0 7F051070 46062081 */ sub.s $f2, $f4, $f6 -/* 085BE4 7F051074 46000202 */ mul.s $f8, $f0, $f0 -/* 085BE8 7F051078 3C018005 */ lui $at, %hi(D_800532E4) # $at, 0x8005 -/* 085BEC 7F05107C C4323314 */ lwc1 $f18, %lo(D_800532E4)($at) -/* 085BF0 7F051080 46021282 */ mul.s $f10, $f2, $f2 -/* 085BF4 7F051084 3C01C3FA */ li $at, 0xC3FA0000 # -500.000000 -/* 085BF8 7F051088 00001025 */ move $v0, $zero -/* 085BFC 7F05108C 460A4400 */ add.s $f16, $f8, $f10 -/* 085C00 7F051090 4612803E */ c.le.s $f16, $f18 -/* 085C04 7F051094 00000000 */ nop -/* 085C08 7F051098 45000002 */ bc1f .Ljp7F0510A4 -/* 085C0C 7F05109C 00000000 */ nop -/* 085C10 7F0510A0 24020001 */ li $v0, 1 -.Ljp7F0510A4: -/* 085C14 7F0510A4 10400012 */ beqz $v0, .Ljp7F0510F0 -/* 085C18 7F0510A8 00401825 */ move $v1, $v0 -/* 085C1C 7F0510AC 44812000 */ mtc1 $at, $f4 -/* 085C20 7F0510B0 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 085C24 7F0510B4 00001025 */ move $v0, $zero -/* 085C28 7F0510B8 460C203E */ c.le.s $f4, $f12 -/* 085C2C 7F0510BC 00000000 */ nop -/* 085C30 7F0510C0 45000002 */ bc1f .Ljp7F0510CC -/* 085C34 7F0510C4 00000000 */ nop -/* 085C38 7F0510C8 24020001 */ li $v0, 1 -.Ljp7F0510CC: -/* 085C3C 7F0510CC 10400008 */ beqz $v0, .Ljp7F0510F0 -/* 085C40 7F0510D0 00401825 */ move $v1, $v0 -/* 085C44 7F0510D4 44813000 */ mtc1 $at, $f6 -/* 085C48 7F0510D8 00001825 */ move $v1, $zero -/* 085C4C 7F0510DC 4606603E */ c.le.s $f12, $f6 -/* 085C50 7F0510E0 00000000 */ nop -/* 085C54 7F0510E4 45000002 */ bc1f .Ljp7F0510F0 -/* 085C58 7F0510E8 00000000 */ nop -/* 085C5C 7F0510EC 24030001 */ li $v1, 1 -.Ljp7F0510F0: -/* 085C60 7F0510F0 10000021 */ b .Ljp7F051178 -/* 085C64 7F0510F4 00608025 */ move $s0, $v1 -.Ljp7F0510F8: -/* 085C68 7F0510F8 46000202 */ mul.s $f8, $f0, $f0 -/* 085C6C 7F0510FC 3C018005 */ lui $at, %hi(D_800532E8) # $at, 0x8005 -/* 085C70 7F051100 C4303318 */ lwc1 $f16, %lo(D_800532E8)($at) -/* 085C74 7F051104 46021282 */ mul.s $f10, $f2, $f2 -/* 085C78 7F051108 3C01C348 */ li $at, 0xC3480000 # -200.000000 -/* 085C7C 7F05110C 00001025 */ move $v0, $zero -/* 085C80 7F051110 460A4480 */ add.s $f18, $f8, $f10 -/* 085C84 7F051114 4610903E */ c.le.s $f18, $f16 -/* 085C88 7F051118 00000000 */ nop -/* 085C8C 7F05111C 45000002 */ bc1f .Ljp7F051128 -/* 085C90 7F051120 00000000 */ nop -/* 085C94 7F051124 24020001 */ li $v0, 1 -.Ljp7F051128: -/* 085C98 7F051128 10400012 */ beqz $v0, .Ljp7F051174 -/* 085C9C 7F05112C 00401825 */ move $v1, $v0 -/* 085CA0 7F051130 44812000 */ mtc1 $at, $f4 -/* 085CA4 7F051134 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 085CA8 7F051138 00001025 */ move $v0, $zero -/* 085CAC 7F05113C 460C203E */ c.le.s $f4, $f12 -/* 085CB0 7F051140 00000000 */ nop -/* 085CB4 7F051144 45000002 */ bc1f .Ljp7F051150 -/* 085CB8 7F051148 00000000 */ nop -/* 085CBC 7F05114C 24020001 */ li $v0, 1 -.Ljp7F051150: -/* 085CC0 7F051150 10400008 */ beqz $v0, .Ljp7F051174 -/* 085CC4 7F051154 00401825 */ move $v1, $v0 -/* 085CC8 7F051158 44813000 */ mtc1 $at, $f6 -/* 085CCC 7F05115C 00001825 */ move $v1, $zero -/* 085CD0 7F051160 4606603E */ c.le.s $f12, $f6 -/* 085CD4 7F051164 00000000 */ nop -/* 085CD8 7F051168 45020003 */ bc1fl .Ljp7F051178 -/* 085CDC 7F05116C 00608025 */ move $s0, $v1 -/* 085CE0 7F051170 24030001 */ li $v1, 1 -.Ljp7F051174: -/* 085CE4 7F051174 00608025 */ move $s0, $v1 -.Ljp7F051178: -/* 085CE8 7F051178 10600020 */ beqz $v1, .Ljp7F0511FC -/* 085CEC 7F05117C 8FAF008C */ lw $t7, 0x8c($sp) -/* 085CF0 7F051180 8DF8000C */ lw $t8, 0xc($t7) -/* 085CF4 7F051184 8FA20090 */ lw $v0, 0x90($sp) -/* 085CF8 7F051188 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 085CFC 7F05118C 33191000 */ andi $t9, $t8, 0x1000 -/* 085D00 7F051190 1720001A */ bnez $t9, .Ljp7F0511FC -/* 085D04 7F051194 27A40044 */ addiu $a0, $sp, 0x44 -/* 085D08 7F051198 8D090014 */ lw $t1, 0x14($t0) -/* 085D0C 7F05119C 44810000 */ mtc1 $at, $f0 -/* 085D10 7F0511A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 085D14 7F0511A4 AFA90044 */ sw $t1, 0x44($sp) -/* 085D18 7F0511A8 C4480010 */ lwc1 $f8, 0x10($v0) -/* 085D1C 7F0511AC 8C470008 */ lw $a3, 8($v0) -/* 085D20 7F0511B0 8D060010 */ lw $a2, 0x10($t0) -/* 085D24 7F0511B4 8D050008 */ lw $a1, 8($t0) -/* 085D28 7F0511B8 44818000 */ mtc1 $at, $f16 -/* 085D2C 7F0511BC 44805000 */ mtc1 $zero, $f10 -/* 085D30 7F0511C0 240A0002 */ li $t2, 2 -/* 085D34 7F0511C4 AFAA0014 */ sw $t2, 0x14($sp) -/* 085D38 7F0511C8 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 085D3C 7F0511CC E7A00018 */ swc1 $f0, 0x18($sp) -/* 085D40 7F0511D0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 085D44 7F0511D4 E7B00024 */ swc1 $f16, 0x24($sp) -/* 085D48 7F0511D8 0FC2C675 */ jal sub_GAME_7F0B0E24 -/* 085D4C 7F0511DC E7AA0020 */ swc1 $f10, 0x20($sp) -/* 085D50 7F0511E0 10400005 */ beqz $v0, .Ljp7F0511F8 -/* 085D54 7F0511E4 8FAC0090 */ lw $t4, 0x90($sp) -/* 085D58 7F0511E8 8FAB0044 */ lw $t3, 0x44($sp) -/* 085D5C 7F0511EC 8D8D0014 */ lw $t5, 0x14($t4) -/* 085D60 7F0511F0 116D0002 */ beq $t3, $t5, .Ljp7F0511FC -/* 085D64 7F0511F4 00000000 */ nop -.Ljp7F0511F8: -/* 085D68 7F0511F8 00008025 */ move $s0, $zero -.Ljp7F0511FC: -/* 085D6C 7F0511FC 12000006 */ beqz $s0, .Ljp7F051218 -/* 085D70 7F051200 00001025 */ move $v0, $zero -/* 085D74 7F051204 8FA40090 */ lw $a0, 0x90($sp) -/* 085D78 7F051208 0FC14195 */ jal collect_or_interact_object -/* 085D7C 7F05120C 24050001 */ li $a1, 1 -/* 085D80 7F051210 10000002 */ b .Ljp7F05121C -/* 085D84 7F051214 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F051218: -/* 085D88 7F051218 8FBF0034 */ lw $ra, 0x34($sp) -.Ljp7F05121C: -/* 085D8C 7F05121C 8FB00030 */ lw $s0, 0x30($sp) -/* 085D90 7F051220 27BD0090 */ addiu $sp, $sp, 0x90 -/* 085D94 7F051224 03E00008 */ jr $ra -/* 085D98 7F051228 00000000 */ nop -) -#endif - -#endif - -#ifdef NONMATCHING -void sub_GAME_7F050D30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F050D30 -/* 085860 7F050D30 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 085864 7F050D34 AFBF001C */ sw $ra, 0x1c($sp) -/* 085868 7F050D38 AFA40028 */ sw $a0, 0x28($sp) -/* 08586C 7F050D3C AFA5002C */ sw $a1, 0x2c($sp) -/* 085870 7F050D40 AFA70034 */ sw $a3, 0x34($sp) -/* 085874 7F050D44 908F0001 */ lbu $t7, 1($a0) -/* 085878 7F050D48 31F80002 */ andi $t8, $t7, 2 -/* 08587C 7F050D4C 53000022 */ beql $t8, $zero, .L7F050DD8 -/* 085880 7F050D50 00001025 */ move $v0, $zero -/* 085884 7F050D54 8C830004 */ lw $v1, 4($a0) -/* 085888 7F050D58 8C640014 */ lw $a0, 0x14($v1) -/* 08588C 7F050D5C AFA60030 */ sw $a2, 0x30($sp) -/* 085890 7F050D60 0FC1B1A8 */ jal getsubmatrix -/* 085894 7F050D64 AFA30024 */ sw $v1, 0x24($sp) -/* 085898 7F050D68 8FA9002C */ lw $t1, 0x2c($sp) -/* 08589C 7F050D6C C4440038 */ lwc1 $f4, 0x38($v0) -/* 0858A0 7F050D70 8FA30024 */ lw $v1, 0x24($sp) -/* 0858A4 7F050D74 8FA60030 */ lw $a2, 0x30($sp) -/* 0858A8 7F050D78 8FAA0034 */ lw $t2, 0x34($sp) -/* 0858AC 7F050D7C E5240008 */ swc1 $f4, 8($t1) -/* 0858B0 7F050D80 44800000 */ mtc1 $zero, $f0 -/* 0858B4 7F050D84 C5260008 */ lwc1 $f6, 8($t1) -/* 0858B8 7F050D88 4600303C */ c.lt.s $f6, $f0 -/* 0858BC 7F050D8C 00000000 */ nop -/* 0858C0 7F050D90 45020011 */ bc1fl .L7F050DD8 -/* 0858C4 7F050D94 00001025 */ move $v0, $zero -/* 0858C8 7F050D98 C4480030 */ lwc1 $f8, 0x30($v0) -/* 0858CC 7F050D9C 24C50004 */ addiu $a1, $a2, 4 -/* 0858D0 7F050DA0 25470004 */ addiu $a3, $t2, 4 -/* 0858D4 7F050DA4 E5280000 */ swc1 $f8, ($t1) -/* 0858D8 7F050DA8 C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0858DC 7F050DAC E52A0004 */ swc1 $f10, 4($t1) -/* 0858E0 7F050DB0 E5400000 */ swc1 $f0, ($t2) -/* 0858E4 7F050DB4 E5400004 */ swc1 $f0, 4($t2) -/* 0858E8 7F050DB8 E4C00000 */ swc1 $f0, ($a2) -/* 0858EC 7F050DBC E4C00004 */ swc1 $f0, 4($a2) -/* 0858F0 7F050DC0 8C640014 */ lw $a0, 0x14($v1) -/* 0858F4 7F050DC4 0FC0FE43 */ jal sub_GAME_7F03F90C -/* 0858F8 7F050DC8 AFAA0010 */ sw $t2, 0x10($sp) -/* 0858FC 7F050DCC 10000002 */ b .L7F050DD8 -/* 085900 7F050DD0 24020001 */ li $v0, 1 -/* 085904 7F050DD4 00001025 */ move $v0, $zero -.L7F050DD8: -/* 085908 7F050DD8 8FBF001C */ lw $ra, 0x1c($sp) -/* 08590C 7F050DDC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 085910 7F050DE0 03E00008 */ jr $ra -/* 085914 7F050DE4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F050DE8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F050DE8 -/* 085918 7F050DE8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 08591C 7F050DEC AFBF003C */ sw $ra, 0x3c($sp) -/* 085920 7F050DF0 AFBE0038 */ sw $fp, 0x38($sp) -/* 085924 7F050DF4 AFB70034 */ sw $s7, 0x34($sp) -/* 085928 7F050DF8 AFB60030 */ sw $s6, 0x30($sp) -/* 08592C 7F050DFC AFB5002C */ sw $s5, 0x2c($sp) -/* 085930 7F050E00 AFB40028 */ sw $s4, 0x28($sp) -/* 085934 7F050E04 AFB30024 */ sw $s3, 0x24($sp) -/* 085938 7F050E08 AFB20020 */ sw $s2, 0x20($sp) -/* 08593C 7F050E0C AFB1001C */ sw $s1, 0x1c($sp) -/* 085940 7F050E10 AFB00018 */ sw $s0, 0x18($sp) -/* 085944 7F050E14 8C940008 */ lw $s4, 8($a0) -/* 085948 7F050E18 00809825 */ move $s3, $a0 -/* 08594C 7F050E1C 24150008 */ li $s5, 8 -/* 085950 7F050E20 8E900000 */ lw $s0, ($s4) -/* 085954 7F050E24 24160012 */ li $s6, 18 -/* 085958 7F050E28 24170017 */ li $s7, 23 -/* 08595C 7F050E2C 1200003C */ beqz $s0, .L7F050F20 -/* 085960 7F050E30 241E0018 */ li $fp, 24 -/* 085964 7F050E34 96020000 */ lhu $v0, ($s0) -.L7F050E38: -/* 085968 7F050E38 02602025 */ move $a0, $s3 -/* 08596C 7F050E3C 304E00FF */ andi $t6, $v0, 0xff -/* 085970 7F050E40 11D5001C */ beq $t6, $s5, .L7F050EB4 -/* 085974 7F050E44 00000000 */ nop -/* 085978 7F050E48 11D6001E */ beq $t6, $s6, .L7F050EC4 -/* 08597C 7F050E4C 02602025 */ move $a0, $s3 -/* 085980 7F050E50 11D70020 */ beq $t6, $s7, .L7F050ED4 -/* 085984 7F050E54 02602025 */ move $a0, $s3 -/* 085988 7F050E58 11DE0003 */ beq $t6, $fp, .L7F050E68 -/* 08598C 7F050E5C 02602025 */ move $a0, $s3 -/* 085990 7F050E60 1000001F */ b .L7F050EE0 -/* 085994 7F050E64 8E020014 */ lw $v0, 0x14($s0) -.L7F050E68: -/* 085998 7F050E68 8E120004 */ lw $s2, 4($s0) -/* 08599C 7F050E6C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0859A0 7F050E70 02002825 */ move $a1, $s0 -/* 0859A4 7F050E74 8E4F0008 */ lw $t7, 8($s2) -/* 0859A8 7F050E78 8C580000 */ lw $t8, ($v0) -/* 0859AC 7F050E7C 00408825 */ move $s1, $v0 -/* 0859B0 7F050E80 02802025 */ move $a0, $s4 -/* 0859B4 7F050E84 11F80009 */ beq $t7, $t8, .L7F050EAC -/* 0859B8 7F050E88 00000000 */ nop -/* 0859BC 7F050E8C 0FC12D64 */ jal sub_GAME_7F04B590 -/* 0859C0 7F050E90 02002825 */ move $a1, $s0 -/* 0859C4 7F050E94 10400005 */ beqz $v0, .L7F050EAC -/* 0859C8 7F050E98 00000000 */ nop -/* 0859CC 7F050E9C 0FC27011 */ jal sub_GAME_7F09C044 -/* 0859D0 7F050EA0 8E240000 */ lw $a0, ($s1) -/* 0859D4 7F050EA4 8E590008 */ lw $t9, 8($s2) -/* 0859D8 7F050EA8 AE390000 */ sw $t9, ($s1) -.L7F050EAC: -/* 0859DC 7F050EAC 1000000C */ b .L7F050EE0 -/* 0859E0 7F050EB0 8E020014 */ lw $v0, 0x14($s0) -.L7F050EB4: -/* 0859E4 7F050EB4 0FC1BA5C */ jal sub_GAME_7F06E970 -/* 0859E8 7F050EB8 02002825 */ move $a1, $s0 -/* 0859EC 7F050EBC 10000008 */ b .L7F050EE0 -/* 0859F0 7F050EC0 8E020014 */ lw $v0, 0x14($s0) -.L7F050EC4: -/* 0859F4 7F050EC4 0FC1BA6F */ jal process_12_handle_switch -/* 0859F8 7F050EC8 02002825 */ move $a1, $s0 -/* 0859FC 7F050ECC 10000004 */ b .L7F050EE0 -/* 085A00 7F050ED0 8E020014 */ lw $v0, 0x14($s0) -.L7F050ED4: -/* 085A04 7F050ED4 0FC1BA82 */ jal process_17_pointer_to_head -/* 085A08 7F050ED8 02002825 */ move $a1, $s0 -/* 085A0C 7F050EDC 8E020014 */ lw $v0, 0x14($s0) -.L7F050EE0: -/* 085A10 7F050EE0 10400003 */ beqz $v0, .L7F050EF0 -/* 085A14 7F050EE4 00000000 */ nop -/* 085A18 7F050EE8 1000000B */ b .L7F050F18 -/* 085A1C 7F050EEC 00408025 */ move $s0, $v0 -.L7F050EF0: -/* 085A20 7F050EF0 12000009 */ beqz $s0, .L7F050F18 -/* 085A24 7F050EF4 00000000 */ nop -/* 085A28 7F050EF8 8E02000C */ lw $v0, 0xc($s0) -.L7F050EFC: -/* 085A2C 7F050EFC 50400004 */ beql $v0, $zero, .L7F050F10 -/* 085A30 7F050F00 8E100008 */ lw $s0, 8($s0) -/* 085A34 7F050F04 10000004 */ b .L7F050F18 -/* 085A38 7F050F08 00408025 */ move $s0, $v0 -/* 085A3C 7F050F0C 8E100008 */ lw $s0, 8($s0) -.L7F050F10: -/* 085A40 7F050F10 5600FFFA */ bnezl $s0, .L7F050EFC -/* 085A44 7F050F14 8E02000C */ lw $v0, 0xc($s0) -.L7F050F18: -/* 085A48 7F050F18 5600FFC7 */ bnezl $s0, .L7F050E38 -/* 085A4C 7F050F1C 96020000 */ lhu $v0, ($s0) -.L7F050F20: -/* 085A50 7F050F20 8FBF003C */ lw $ra, 0x3c($sp) -/* 085A54 7F050F24 8FB00018 */ lw $s0, 0x18($sp) -/* 085A58 7F050F28 8FB1001C */ lw $s1, 0x1c($sp) -/* 085A5C 7F050F2C 8FB20020 */ lw $s2, 0x20($sp) -/* 085A60 7F050F30 8FB30024 */ lw $s3, 0x24($sp) -/* 085A64 7F050F34 8FB40028 */ lw $s4, 0x28($sp) -/* 085A68 7F050F38 8FB5002C */ lw $s5, 0x2c($sp) -/* 085A6C 7F050F3C 8FB60030 */ lw $s6, 0x30($sp) -/* 085A70 7F050F40 8FB70034 */ lw $s7, 0x34($sp) -/* 085A74 7F050F44 8FBE0038 */ lw $fp, 0x38($sp) -/* 085A78 7F050F48 03E00008 */ jr $ra -/* 085A7C 7F050F4C 27BD0040 */ addiu $sp, $sp, 0x40 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F050F50(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F050F50 -/* 085A80 7F050F50 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 085A84 7F050F54 AFA50024 */ sw $a1, 0x24($sp) -/* 085A88 7F050F58 AFA60028 */ sw $a2, 0x28($sp) -/* 085A8C 7F050F5C 00C02825 */ move $a1, $a2 -/* 085A90 7F050F60 AFBF001C */ sw $ra, 0x1c($sp) -/* 085A94 7F050F64 AFB00014 */ sw $s0, 0x14($sp) -/* 085A98 7F050F68 00E03025 */ move $a2, $a3 -/* 085A9C 7F050F6C 00808025 */ move $s0, $a0 -/* 085AA0 7F050F70 AFB10018 */ sw $s1, 0x18($sp) -/* 085AA4 7F050F74 0FC10153 */ jal init_standard_object -/* 085AA8 7F050F78 8FA70030 */ lw $a3, 0x30($sp) -/* 085AAC 7F050F7C 10400024 */ beqz $v0, .L7F051010 -/* 085AB0 7F050F80 00408825 */ move $s1, $v0 -/* 085AB4 7F050F84 8E040014 */ lw $a0, 0x14($s0) -/* 085AB8 7F050F88 50800022 */ beql $a0, $zero, .L7F051014 -/* 085ABC 7F050F8C 8FBF001C */ lw $ra, 0x1c($sp) -/* 085AC0 7F050F90 960E0000 */ lhu $t6, ($s0) -/* 085AC4 7F050F94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 085AC8 7F050F98 448E2000 */ mtc1 $t6, $f4 -/* 085ACC 7F050F9C 05C10004 */ bgez $t6, .L7F050FB0 -/* 085AD0 7F050FA0 468021A0 */ cvt.s.w $f6, $f4 -/* 085AD4 7F050FA4 44814000 */ mtc1 $at, $f8 -/* 085AD8 7F050FA8 00000000 */ nop -/* 085ADC 7F050FAC 46083180 */ add.s $f6, $f6, $f8 -.L7F050FB0: -/* 085AE0 7F050FB0 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 085AE4 7F050FB4 44815000 */ mtc1 $at, $f10 -/* 085AE8 7F050FB8 C4900014 */ lwc1 $f16, 0x14($a0) -/* 085AEC 7F050FBC 460A3002 */ mul.s $f0, $f6, $f10 -/* 085AF0 7F050FC0 00000000 */ nop -/* 085AF4 7F050FC4 46008482 */ mul.s $f18, $f16, $f0 -/* 085AF8 7F050FC8 44059000 */ mfc1 $a1, $f18 -/* 085AFC 7F050FCC 0FC1B39E */ jal set_obj_instance_controller_scale -/* 085B00 7F050FD0 00000000 */ nop -/* 085B04 7F050FD4 8FA20024 */ lw $v0, 0x24($sp) -/* 085B08 7F050FD8 8E180014 */ lw $t8, 0x14($s0) -/* 085B0C 7F050FDC 02202025 */ move $a0, $s1 -/* 085B10 7F050FE0 8C4F001C */ lw $t7, 0x1c($v0) -/* 085B14 7F050FE4 AF0F0018 */ sw $t7, 0x18($t8) -/* 085B18 7F050FE8 8C59001C */ lw $t9, 0x1c($v0) -/* 085B1C 7F050FEC 8E0B0014 */ lw $t3, 0x14($s0) -/* 085B20 7F050FF0 8F280008 */ lw $t0, 8($t9) -/* 085B24 7F050FF4 8D090008 */ lw $t1, 8($t0) -/* 085B28 7F050FF8 8D2A0018 */ lw $t2, 0x18($t1) -/* 085B2C 7F050FFC AD6A001C */ sw $t2, 0x1c($t3) -/* 085B30 7F051000 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 085B34 7F051004 8C450018 */ lw $a1, 0x18($v0) -/* 085B38 7F051008 8FAC0024 */ lw $t4, 0x24($sp) -/* 085B3C 7F05100C AD9101D8 */ sw $s1, 0x1d8($t4) -.L7F051010: -/* 085B40 7F051010 8FBF001C */ lw $ra, 0x1c($sp) -.L7F051014: -/* 085B44 7F051014 02201025 */ move $v0, $s1 -/* 085B48 7F051018 8FB10018 */ lw $s1, 0x18($sp) -/* 085B4C 7F05101C 8FB00014 */ lw $s0, 0x14($sp) -/* 085B50 7F051020 03E00008 */ jr $ra -/* 085B54 7F051024 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051028(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051028 -/* 085B58 7F051028 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 085B5C 7F05102C AFBF001C */ sw $ra, 0x1c($sp) -/* 085B60 7F051030 AFA40028 */ sw $a0, 0x28($sp) -/* 085B64 7F051034 AFA5002C */ sw $a1, 0x2c($sp) -/* 085B68 7F051038 84840004 */ lh $a0, 4($a0) -/* 085B6C 7F05103C 0FC15B0E */ jal load_model -/* 085B70 7F051040 AFA40020 */ sw $a0, 0x20($sp) -/* 085B74 7F051044 8FAF0020 */ lw $t7, 0x20($sp) -/* 085B78 7F051048 3C068004 */ lui $a2, %hi(PitemZ_entries) -/* 085B7C 7F05104C 8FA40028 */ lw $a0, 0x28($sp) -/* 085B80 7F051050 000FC080 */ sll $t8, $t7, 2 -/* 085B84 7F051054 030FC023 */ subu $t8, $t8, $t7 -/* 085B88 7F051058 0018C080 */ sll $t8, $t8, 2 -/* 085B8C 7F05105C 00D83021 */ addu $a2, $a2, $t8 -/* 085B90 7F051060 8CC6A228 */ lw $a2, %lo(PitemZ_entries)($a2) -/* 085B94 7F051064 8FA5002C */ lw $a1, 0x2c($sp) -/* 085B98 7F051068 00003825 */ move $a3, $zero -/* 085B9C 7F05106C 0FC143D4 */ jal sub_GAME_7F050F50 -/* 085BA0 7F051070 AFA00010 */ sw $zero, 0x10($sp) -/* 085BA4 7F051074 8FBF001C */ lw $ra, 0x1c($sp) -/* 085BA8 7F051078 27BD0028 */ addiu $sp, $sp, 0x28 -/* 085BAC 7F05107C 03E00008 */ jr $ra -/* 085BB0 7F051080 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051084(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051084 -/* 085BB4 7F051084 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 085BB8 7F051088 AFBF0014 */ sw $ra, 0x14($sp) -/* 085BBC 7F05108C 8C8E0074 */ lw $t6, 0x74($a0) -/* 085BC0 7F051090 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 085BC4 7F051094 44814000 */ mtc1 $at, $f8 -/* 085BC8 7F051098 448E2000 */ mtc1 $t6, $f4 -/* 085BCC 7F05109C 00000000 */ nop -/* 085BD0 7F0510A0 468021A0 */ cvt.s.w $f6, $f4 -/* 085BD4 7F0510A4 46083283 */ div.s $f10, $f6, $f8 -/* 085BD8 7F0510A8 0FC1440A */ jal sub_GAME_7F051028 -/* 085BDC 7F0510AC E48A0074 */ swc1 $f10, 0x74($a0) -/* 085BE0 7F0510B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 085BE4 7F0510B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 085BE8 7F0510B8 03E00008 */ jr $ra -/* 085BEC 7F0510BC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0510C0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0510C0 -/* 085BF0 7F0510C0 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 085BF4 7F0510C4 00057080 */ sll $t6, $a1, 2 -/* 085BF8 7F0510C8 01C57023 */ subu $t6, $t6, $a1 -/* 085BFC 7F0510CC 000E7080 */ sll $t6, $t6, 2 -/* 085C00 7F0510D0 3C0F8004 */ lui $t7, %hi(PitemZ_entries) -/* 085C04 7F0510D4 01EE7821 */ addu $t7, $t7, $t6 -/* 085C08 7F0510D8 8DEFA228 */ lw $t7, %lo(PitemZ_entries)($t7) -/* 085C0C 7F0510DC AFBF002C */ sw $ra, 0x2c($sp) -/* 085C10 7F0510E0 AFA400C0 */ sw $a0, 0xc0($sp) -/* 085C14 7F0510E4 AFB20028 */ sw $s2, 0x28($sp) -/* 085C18 7F0510E8 AFB10024 */ sw $s1, 0x24($sp) -/* 085C1C 7F0510EC AFB00020 */ sw $s0, 0x20($sp) -/* 085C20 7F0510F0 AFA600C8 */ sw $a2, 0xc8($sp) -/* 085C24 7F0510F4 00A02025 */ move $a0, $a1 -/* 085C28 7F0510F8 AFA500C4 */ sw $a1, 0xc4($sp) -/* 085C2C 7F0510FC 0FC15B0E */ jal load_model -/* 085C30 7F051100 AFAF00BC */ sw $t7, 0xbc($sp) -/* 085C34 7F051104 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 085C38 7F051108 00000000 */ nop -/* 085C3C 7F05110C 00408025 */ move $s0, $v0 -/* 085C40 7F051110 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 085C44 7F051114 8FA400BC */ lw $a0, 0xbc($sp) -/* 085C48 7F051118 00408825 */ move $s1, $v0 -/* 085C4C 7F05111C 2E040001 */ sltiu $a0, $s0, 1 -/* 085C50 7F051120 2C450001 */ sltiu $a1, $v0, 1 -/* 085C54 7F051124 0FC1456C */ jal sub_GAME_7F0515B0 -/* 085C58 7F051128 8FA600BC */ lw $a2, 0xbc($sp) -/* 085C5C 7F05112C 16000004 */ bnez $s0, .L7F051140 -/* 085C60 7F051130 00409025 */ move $s2, $v0 -/* 085C64 7F051134 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 085C68 7F051138 00000000 */ nop -/* 085C6C 7F05113C 00408025 */ move $s0, $v0 -.L7F051140: -/* 085C70 7F051140 16200004 */ bnez $s1, .L7F051154 -/* 085C74 7F051144 00000000 */ nop -/* 085C78 7F051148 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 085C7C 7F05114C 8FA400BC */ lw $a0, 0xbc($sp) -/* 085C80 7F051150 00408825 */ move $s1, $v0 -.L7F051154: -/* 085C84 7F051154 12400035 */ beqz $s2, .L7F05122C -/* 085C88 7F051158 00000000 */ nop -/* 085C8C 7F05115C 12000033 */ beqz $s0, .L7F05122C -/* 085C90 7F051160 00000000 */ nop -/* 085C94 7F051164 12200031 */ beqz $s1, .L7F05122C -/* 085C98 7F051168 27A20030 */ addiu $v0, $sp, 0x30 -/* 085C9C 7F05116C 3C188003 */ lui $t8, %hi(blank_11_object) -/* 085CA0 7F051170 27182114 */ addiu $t8, %lo(blank_11_object) # addiu $t8, $t8, 0x2114 -/* 085CA4 7F051174 8FA500C0 */ lw $a1, 0xc0($sp) -/* 085CA8 7F051178 27080078 */ addiu $t0, $t8, 0x78 -/* 085CAC 7F05117C 00404825 */ move $t1, $v0 -.L7F051180: -/* 085CB0 7F051180 8F010000 */ lw $at, ($t8) -/* 085CB4 7F051184 2718000C */ addiu $t8, $t8, 0xc -/* 085CB8 7F051188 2529000C */ addiu $t1, $t1, 0xc -/* 085CBC 7F05118C AD21FFF4 */ sw $at, -0xc($t1) -/* 085CC0 7F051190 8F01FFF8 */ lw $at, -8($t8) -/* 085CC4 7F051194 AD21FFF8 */ sw $at, -8($t1) -/* 085CC8 7F051198 8F01FFFC */ lw $at, -4($t8) -/* 085CCC 7F05119C 1708FFF8 */ bne $t8, $t0, .L7F051180 -/* 085CD0 7F0511A0 AD21FFFC */ sw $at, -4($t1) -/* 085CD4 7F0511A4 8F010000 */ lw $at, ($t8) -/* 085CD8 7F0511A8 00406025 */ move $t4, $v0 -/* 085CDC 7F0511AC 02406825 */ move $t5, $s2 -/* 085CE0 7F0511B0 AD210000 */ sw $at, ($t1) -/* 085CE4 7F0511B4 8F080004 */ lw $t0, 4($t8) -/* 085CE8 7F0511B8 244B0078 */ addiu $t3, $v0, 0x78 -/* 085CEC 7F0511BC AD280004 */ sw $t0, 4($t1) -.L7F0511C0: -/* 085CF0 7F0511C0 8D810000 */ lw $at, ($t4) -/* 085CF4 7F0511C4 258C000C */ addiu $t4, $t4, 0xc -/* 085CF8 7F0511C8 25AD000C */ addiu $t5, $t5, 0xc -/* 085CFC 7F0511CC ADA1FFF4 */ sw $at, -0xc($t5) -/* 085D00 7F0511D0 8D81FFF8 */ lw $at, -8($t4) -/* 085D04 7F0511D4 ADA1FFF8 */ sw $at, -8($t5) -/* 085D08 7F0511D8 8D81FFFC */ lw $at, -4($t4) -/* 085D0C 7F0511DC 158BFFF8 */ bne $t4, $t3, .L7F0511C0 -/* 085D10 7F0511E0 ADA1FFFC */ sw $at, -4($t5) -/* 085D14 7F0511E4 8D810000 */ lw $at, ($t4) -/* 085D18 7F0511E8 02402025 */ move $a0, $s2 -/* 085D1C 7F0511EC 02003825 */ move $a3, $s0 -/* 085D20 7F0511F0 ADA10000 */ sw $at, ($t5) -/* 085D24 7F0511F4 8D8B0004 */ lw $t3, 4($t4) -/* 085D28 7F0511F8 ADAB0004 */ sw $t3, 4($t5) -/* 085D2C 7F0511FC 8FAE00C4 */ lw $t6, 0xc4($sp) -/* 085D30 7F051200 A64E0004 */ sh $t6, 4($s2) -/* 085D34 7F051204 8FAF00C8 */ lw $t7, 0xc8($sp) -/* 085D38 7F051208 35F94000 */ ori $t9, $t7, 0x4000 -/* 085D3C 7F05120C AE590008 */ sw $t9, 8($s2) -/* 085D40 7F051210 84A80000 */ lh $t0, ($a1) -/* 085D44 7F051214 A6480006 */ sh $t0, 6($s2) -/* 085D48 7F051218 AFB10010 */ sw $s1, 0x10($sp) -/* 085D4C 7F05121C 0FC143D4 */ jal sub_GAME_7F050F50 -/* 085D50 7F051220 8FA600BC */ lw $a2, 0xbc($sp) -/* 085D54 7F051224 1000000A */ b .L7F051250 -/* 085D58 7F051228 00408025 */ move $s0, $v0 -.L7F05122C: -/* 085D5C 7F05122C 12200003 */ beqz $s1, .L7F05123C -/* 085D60 7F051230 00000000 */ nop -/* 085D64 7F051234 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 085D68 7F051238 02202025 */ move $a0, $s1 -.L7F05123C: -/* 085D6C 7F05123C 52000005 */ beql $s0, $zero, .L7F051254 -/* 085D70 7F051240 8FBF002C */ lw $ra, 0x2c($sp) -/* 085D74 7F051244 0FC0E921 */ jal set_last_obj_pos_data -/* 085D78 7F051248 02002025 */ move $a0, $s0 -/* 085D7C 7F05124C 00008025 */ move $s0, $zero -.L7F051250: -/* 085D80 7F051250 8FBF002C */ lw $ra, 0x2c($sp) -.L7F051254: -/* 085D84 7F051254 02001025 */ move $v0, $s0 -/* 085D88 7F051258 8FB00020 */ lw $s0, 0x20($sp) -/* 085D8C 7F05125C 8FB10024 */ lw $s1, 0x24($sp) -/* 085D90 7F051260 8FB20028 */ lw $s2, 0x28($sp) -/* 085D94 7F051264 03E00008 */ jr $ra -/* 085D98 7F051268 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05126C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05126C -/* 085D9C 7F05126C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 085DA0 7F051270 AFB10020 */ sw $s1, 0x20($sp) -/* 085DA4 7F051274 240EFFFF */ li $t6, -1 -/* 085DA8 7F051278 3C078003 */ lui $a3, %hi(D_80030AF8) -/* 085DAC 7F05127C 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) -/* 085DB0 7F051280 00A08825 */ move $s1, $a1 -/* 085DB4 7F051284 AFBF0024 */ sw $ra, 0x24($sp) -/* 085DB8 7F051288 AFB0001C */ sw $s0, 0x1c($sp) -/* 085DBC 7F05128C AFA40058 */ sw $a0, 0x58($sp) -/* 085DC0 7F051290 AFA60060 */ sw $a2, 0x60($sp) -/* 085DC4 7F051294 AFA0004C */ sw $zero, 0x4c($sp) -/* 085DC8 7F051298 AFA00048 */ sw $zero, 0x48($sp) -/* 085DCC 7F05129C AFAE0044 */ sw $t6, 0x44($sp) -/* 085DD0 7F0512A0 2408FFFF */ li $t0, -1 -/* 085DD4 7F0512A4 2409FFFF */ li $t1, -1 -/* 085DD8 7F0512A8 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 -/* 085DDC 7F0512AC 8CE70AF8 */ lw $a3, %lo(D_80030AF8)($a3) -/* 085DE0 7F0512B0 240A0088 */ li $t2, 136 -.L7F0512B4: -/* 085DE4 7F0512B4 00EA0019 */ multu $a3, $t2 -/* 085DE8 7F0512B8 8FB80058 */ lw $t8, 0x58($sp) -/* 085DEC 7F0512BC 00007812 */ mflo $t7 -/* 085DF0 7F0512C0 016F8021 */ addu $s0, $t3, $t7 -/* 085DF4 7F0512C4 8E040010 */ lw $a0, 0x10($s0) -/* 085DF8 7F0512C8 54800008 */ bnezl $a0, .L7F0512EC -/* 085DFC 7F0512CC 8E190064 */ lw $t9, 0x64($s0) -/* 085E00 7F0512D0 57000040 */ bnezl $t8, .L7F0513D4 -/* 085E04 7F0512D4 24E70001 */ addiu $a3, $a3, 1 -/* 085E08 7F0512D8 5620003E */ bnezl $s1, .L7F0513D4 -/* 085E0C 7F0512DC 24E70001 */ addiu $a3, $a3, 1 -/* 085E10 7F0512E0 10000043 */ b .L7F0513F0 -/* 085E14 7F0512E4 AFA70044 */ sw $a3, 0x44($sp) -/* 085E18 7F0512E8 8E190064 */ lw $t9, 0x64($s0) -.L7F0512EC: -/* 085E1C 7F0512EC 332C0080 */ andi $t4, $t9, 0x80 -/* 085E20 7F0512F0 55800038 */ bnezl $t4, .L7F0513D4 -/* 085E24 7F0512F4 24E70001 */ addiu $a3, $a3, 1 -/* 085E28 7F0512F8 920D0002 */ lbu $t5, 2($s0) -/* 085E2C 7F0512FC 31AE0004 */ andi $t6, $t5, 4 -/* 085E30 7F051300 55C00034 */ bnezl $t6, .L7F0513D4 -/* 085E34 7F051304 24E70001 */ addiu $a3, $a3, 1 -/* 085E38 7F051308 860F0082 */ lh $t7, 0x82($s0) -/* 085E3C 7F05130C 5DE00005 */ bgtzl $t7, .L7F051324 -/* 085E40 7F051310 82020080 */ lb $v0, 0x80($s0) -/* 085E44 7F051314 8C98001C */ lw $t8, 0x1c($a0) -/* 085E48 7F051318 13000014 */ beqz $t8, .L7F05136C -/* 085E4C 7F05131C 00000000 */ nop -/* 085E50 7F051320 82020080 */ lb $v0, 0x80($s0) -.L7F051324: -/* 085E54 7F051324 2401001D */ li $at, 29 -/* 085E58 7F051328 10410005 */ beq $v0, $at, .L7F051340 -/* 085E5C 7F05132C 2401001C */ li $at, 28 -/* 085E60 7F051330 10410003 */ beq $v0, $at, .L7F051340 -/* 085E64 7F051334 2401001B */ li $at, 27 -/* 085E68 7F051338 54410026 */ bnel $v0, $at, .L7F0513D4 -/* 085E6C 7F05133C 24E70001 */ addiu $a3, $a3, 1 -.L7F051340: -/* 085E70 7F051340 8C83001C */ lw $v1, 0x1c($a0) -/* 085E74 7F051344 10600009 */ beqz $v1, .L7F05136C -/* 085E78 7F051348 00000000 */ nop -/* 085E7C 7F05134C 90620000 */ lbu $v0, ($v1) -/* 085E80 7F051350 24010001 */ li $at, 1 -/* 085E84 7F051354 10410005 */ beq $v0, $at, .L7F05136C -/* 085E88 7F051358 24010002 */ li $at, 2 -/* 085E8C 7F05135C 10410003 */ beq $v0, $at, .L7F05136C -/* 085E90 7F051360 24010004 */ li $at, 4 -/* 085E94 7F051364 5441001B */ bnel $v0, $at, .L7F0513D4 -/* 085E98 7F051368 24E70001 */ addiu $a3, $a3, 1 -.L7F05136C: -/* 085E9C 7F05136C 1220000E */ beqz $s1, .L7F0513A8 -/* 085EA0 7F051370 8FA50060 */ lw $a1, 0x60($sp) -/* 085EA4 7F051374 8E040014 */ lw $a0, 0x14($s0) -/* 085EA8 7F051378 AFA70054 */ sw $a3, 0x54($sp) -/* 085EAC 7F05137C AFA80040 */ sw $t0, 0x40($sp) -/* 085EB0 7F051380 0FC1B018 */ jal sub_GAME_7F06C060 -/* 085EB4 7F051384 AFA9003C */ sw $t1, 0x3c($sp) -/* 085EB8 7F051388 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) -/* 085EBC 7F05138C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 -/* 085EC0 7F051390 8FA70054 */ lw $a3, 0x54($sp) -/* 085EC4 7F051394 8FA80040 */ lw $t0, 0x40($sp) -/* 085EC8 7F051398 8FA9003C */ lw $t1, 0x3c($sp) -/* 085ECC 7F05139C 1040000C */ beqz $v0, .L7F0513D0 -/* 085ED0 7F0513A0 240A0088 */ li $t2, 136 -/* 085ED4 7F0513A4 8E040010 */ lw $a0, 0x10($s0) -.L7F0513A8: -/* 085ED8 7F0513A8 90990001 */ lbu $t9, 1($a0) -/* 085EDC 7F0513AC 332C0002 */ andi $t4, $t9, 2 -/* 085EE0 7F0513B0 15800004 */ bnez $t4, .L7F0513C4 -/* 085EE4 7F0513B4 00000000 */ nop -/* 085EE8 7F0513B8 05010002 */ bgez $t0, .L7F0513C4 -/* 085EEC 7F0513BC 00000000 */ nop -/* 085EF0 7F0513C0 00E04025 */ move $t0, $a3 -.L7F0513C4: -/* 085EF4 7F0513C4 05230003 */ bgezl $t1, .L7F0513D4 -/* 085EF8 7F0513C8 24E70001 */ addiu $a3, $a3, 1 -/* 085EFC 7F0513CC 00E04825 */ move $t1, $a3 -.L7F0513D0: -/* 085F00 7F0513D0 24E70001 */ addiu $a3, $a3, 1 -.L7F0513D4: -/* 085F04 7F0513D4 2401001E */ li $at, 30 -/* 085F08 7F0513D8 00E1001A */ div $zero, $a3, $at -/* 085F0C 7F0513DC 3C0E8003 */ lui $t6, %hi(D_80030AF8) -/* 085F10 7F0513E0 8DCE0AF8 */ lw $t6, %lo(D_80030AF8)($t6) -/* 085F14 7F0513E4 00003810 */ mfhi $a3 -/* 085F18 7F0513E8 14EEFFB2 */ bne $a3, $t6, .L7F0512B4 -/* 085F1C 7F0513EC 00000000 */ nop -.L7F0513F0: -/* 085F20 7F0513F0 8FAF0044 */ lw $t7, 0x44($sp) -/* 085F24 7F0513F4 24040008 */ li $a0, 8 -/* 085F28 7F0513F8 27A5004C */ addiu $a1, $sp, 0x4c -/* 085F2C 7F0513FC 05E0000C */ bltz $t7, .L7F051430 -/* 085F30 7F051400 27A60048 */ addiu $a2, $sp, 0x48 -/* 085F34 7F051404 25F80001 */ addiu $t8, $t7, 1 -/* 085F38 7F051408 2401001E */ li $at, 30 -/* 085F3C 7F05140C 0301001A */ div $zero, $t8, $at -/* 085F40 7F051410 0000C810 */ mfhi $t9 -/* 085F44 7F051414 3C018003 */ lui $at, %hi(D_80030AF8) -/* 085F48 7F051418 AC390AF8 */ sw $t9, %lo(D_80030AF8)($at) -/* 085F4C 7F05141C 01EA0019 */ multu $t7, $t2 -/* 085F50 7F051420 00006012 */ mflo $t4 -/* 085F54 7F051424 016C1021 */ addu $v0, $t3, $t4 -/* 085F58 7F051428 10000053 */ b .L7F051578 -/* 085F5C 7F05142C 8FBF0024 */ lw $ra, 0x24($sp) -.L7F051430: -/* 085F60 7F051430 8FAD0060 */ lw $t5, 0x60($sp) -/* 085F64 7F051434 8FA70058 */ lw $a3, 0x58($sp) -/* 085F68 7F051438 AFB10010 */ sw $s1, 0x10($sp) -/* 085F6C 7F05143C AFA80040 */ sw $t0, 0x40($sp) -/* 085F70 7F051440 AFA9003C */ sw $t1, 0x3c($sp) -/* 085F74 7F051444 0FC15BC2 */ jal sub_GAME_7F056F08 -/* 085F78 7F051448 AFAD0014 */ sw $t5, 0x14($sp) -/* 085F7C 7F05144C 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) -/* 085F80 7F051450 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 -/* 085F84 7F051454 8FA80040 */ lw $t0, 0x40($sp) -/* 085F88 7F051458 8FA9003C */ lw $t1, 0x3c($sp) -/* 085F8C 7F05145C 10400003 */ beqz $v0, .L7F05146C -/* 085F90 7F051460 240A0088 */ li $t2, 136 -/* 085F94 7F051464 10000044 */ b .L7F051578 -/* 085F98 7F051468 8FBF0024 */ lw $ra, 0x24($sp) -.L7F05146C: -/* 085F9C 7F05146C 05000015 */ bltz $t0, .L7F0514C4 -/* 085FA0 7F051470 8FAF004C */ lw $t7, 0x4c($sp) -/* 085FA4 7F051474 010A0019 */ multu $t0, $t2 -/* 085FA8 7F051478 24050001 */ li $a1, 1 -/* 085FAC 7F05147C 00008012 */ mflo $s0 -/* 085FB0 7F051480 01702021 */ addu $a0, $t3, $s0 -/* 085FB4 7F051484 8C8E0010 */ lw $t6, 0x10($a0) -/* 085FB8 7F051488 51C00007 */ beql $t6, $zero, .L7F0514A8 -/* 085FBC 7F05148C 25180001 */ addiu $t8, $t0, 1 -/* 085FC0 7F051490 0FC10409 */ jal sub_GAME_7F041024 -/* 085FC4 7F051494 AFA80040 */ sw $t0, 0x40($sp) -/* 085FC8 7F051498 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) -/* 085FCC 7F05149C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 -/* 085FD0 7F0514A0 8FA80040 */ lw $t0, 0x40($sp) -/* 085FD4 7F0514A4 25180001 */ addiu $t8, $t0, 1 -.L7F0514A8: -/* 085FD8 7F0514A8 2401001E */ li $at, 30 -/* 085FDC 7F0514AC 0301001A */ div $zero, $t8, $at -/* 085FE0 7F0514B0 0000C810 */ mfhi $t9 -/* 085FE4 7F0514B4 3C018003 */ lui $at, %hi(D_80030AF8) -/* 085FE8 7F0514B8 AC390AF8 */ sw $t9, %lo(D_80030AF8)($at) -/* 085FEC 7F0514BC 1000002D */ b .L7F051574 -/* 085FF0 7F0514C0 01701021 */ addu $v0, $t3, $s0 -.L7F0514C4: -/* 085FF4 7F0514C4 11E00009 */ beqz $t7, .L7F0514EC -/* 085FF8 7F0514C8 00000000 */ nop -/* 085FFC 7F0514CC 8DEC0010 */ lw $t4, 0x10($t7) -/* 086000 7F0514D0 01E02025 */ move $a0, $t7 -/* 086004 7F0514D4 11800003 */ beqz $t4, .L7F0514E4 -/* 086008 7F0514D8 00000000 */ nop -/* 08600C 7F0514DC 0FC10409 */ jal sub_GAME_7F041024 -/* 086010 7F0514E0 24050001 */ li $a1, 1 -.L7F0514E4: -/* 086014 7F0514E4 10000023 */ b .L7F051574 -/* 086018 7F0514E8 8FA2004C */ lw $v0, 0x4c($sp) -.L7F0514EC: -/* 08601C 7F0514EC 05220016 */ bltzl $t1, .L7F051548 -/* 086020 7F0514F0 8FB90048 */ lw $t9, 0x48($sp) -/* 086024 7F0514F4 012A0019 */ multu $t1, $t2 -/* 086028 7F0514F8 24050001 */ li $a1, 1 -/* 08602C 7F0514FC 00008012 */ mflo $s0 -/* 086030 7F051500 01702021 */ addu $a0, $t3, $s0 -/* 086034 7F051504 8C8D0010 */ lw $t5, 0x10($a0) -/* 086038 7F051508 51A00007 */ beql $t5, $zero, .L7F051528 -/* 08603C 7F05150C 252E0001 */ addiu $t6, $t1, 1 -/* 086040 7F051510 0FC10409 */ jal sub_GAME_7F041024 -/* 086044 7F051514 AFA9003C */ sw $t1, 0x3c($sp) -/* 086048 7F051518 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) -/* 08604C 7F05151C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 -/* 086050 7F051520 8FA9003C */ lw $t1, 0x3c($sp) -/* 086054 7F051524 252E0001 */ addiu $t6, $t1, 1 -.L7F051528: -/* 086058 7F051528 2401001E */ li $at, 30 -/* 08605C 7F05152C 01C1001A */ div $zero, $t6, $at -/* 086060 7F051530 0000C010 */ mfhi $t8 -/* 086064 7F051534 3C018003 */ lui $at, %hi(D_80030AF8) -/* 086068 7F051538 AC380AF8 */ sw $t8, %lo(D_80030AF8)($at) -/* 08606C 7F05153C 1000000D */ b .L7F051574 -/* 086070 7F051540 01701021 */ addu $v0, $t3, $s0 -/* 086074 7F051544 8FB90048 */ lw $t9, 0x48($sp) -.L7F051548: -/* 086078 7F051548 5320000A */ beql $t9, $zero, .L7F051574 -/* 08607C 7F05154C 00001025 */ move $v0, $zero -/* 086080 7F051550 8F2C0010 */ lw $t4, 0x10($t9) -/* 086084 7F051554 03202025 */ move $a0, $t9 -/* 086088 7F051558 11800003 */ beqz $t4, .L7F051568 -/* 08608C 7F05155C 00000000 */ nop -/* 086090 7F051560 0FC10409 */ jal sub_GAME_7F041024 -/* 086094 7F051564 24050001 */ li $a1, 1 -.L7F051568: -/* 086098 7F051568 10000002 */ b .L7F051574 -/* 08609C 7F05156C 8FA20048 */ lw $v0, 0x48($sp) -/* 0860A0 7F051570 00001025 */ move $v0, $zero -.L7F051574: -/* 0860A4 7F051574 8FBF0024 */ lw $ra, 0x24($sp) -.L7F051578: -/* 0860A8 7F051578 8FB0001C */ lw $s0, 0x1c($sp) -/* 0860AC 7F05157C 8FB10020 */ lw $s1, 0x20($sp) -/* 0860B0 7F051580 03E00008 */ jr $ra -/* 0860B4 7F051584 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051588(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051588 -/* 0860B8 7F051588 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0860BC 7F05158C AFBF0014 */ sw $ra, 0x14($sp) -/* 0860C0 7F051590 00002025 */ move $a0, $zero -/* 0860C4 7F051594 00002825 */ move $a1, $zero -/* 0860C8 7F051598 0FC1449B */ jal sub_GAME_7F05126C -/* 0860CC 7F05159C 00003025 */ move $a2, $zero -/* 0860D0 7F0515A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0860D4 7F0515A4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0860D8 7F0515A8 03E00008 */ jr $ra -/* 0860DC 7F0515AC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0515B0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0515B0 -/* 0860E0 7F0515B0 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0860E4 7F0515B4 AFB50034 */ sw $s5, 0x34($sp) -/* 0860E8 7F0515B8 3C158003 */ lui $s5, %hi(D_80030AFC) -/* 0860EC 7F0515BC AFB40030 */ sw $s4, 0x30($sp) -/* 0860F0 7F0515C0 26B50AFC */ addiu $s5, %lo(D_80030AFC) # addiu $s5, $s5, 0xafc -/* 0860F4 7F0515C4 AFB60038 */ sw $s6, 0x38($sp) -/* 0860F8 7F0515C8 AFB3002C */ sw $s3, 0x2c($sp) -/* 0860FC 7F0515CC AFB20028 */ sw $s2, 0x28($sp) -/* 086100 7F0515D0 AFB10024 */ sw $s1, 0x24($sp) -/* 086104 7F0515D4 240EFFFF */ li $t6, -1 -/* 086108 7F0515D8 3C148007 */ lui $s4, %hi(dword_CODE_bss_80072E70) -/* 08610C 7F0515DC 00A09025 */ move $s2, $a1 -/* 086110 7F0515E0 AFBF003C */ sw $ra, 0x3c($sp) -/* 086114 7F0515E4 AFB00020 */ sw $s0, 0x20($sp) -/* 086118 7F0515E8 AFA60070 */ sw $a2, 0x70($sp) -/* 08611C 7F0515EC 00803825 */ move $a3, $a0 -/* 086120 7F0515F0 AFA0005C */ sw $zero, 0x5c($sp) -/* 086124 7F0515F4 AFA00058 */ sw $zero, 0x58($sp) -/* 086128 7F0515F8 AFAE0054 */ sw $t6, 0x54($sp) -/* 08612C 7F0515FC 2411FFFF */ li $s1, -1 -/* 086130 7F051600 2413FFFF */ li $s3, -1 -/* 086134 7F051604 26942E70 */ addiu $s4, %lo(dword_CODE_bss_80072E70) # addiu $s4, $s4, 0x2e70 -/* 086138 7F051608 2416000A */ li $s6, 10 -/* 08613C 7F05160C 8EA30000 */ lw $v1, ($s5) -/* 086140 7F051610 000379C0 */ sll $t7, $v1, 7 -.L7F051614: -/* 086144 7F051614 028F8021 */ addu $s0, $s4, $t7 -/* 086148 7F051618 8E020010 */ lw $v0, 0x10($s0) -/* 08614C 7F05161C 54400008 */ bnezl $v0, .L7F051640 -/* 086150 7F051620 8E180064 */ lw $t8, 0x64($s0) -/* 086154 7F051624 54E00022 */ bnezl $a3, .L7F0516B0 -/* 086158 7F051628 246B0001 */ addiu $t3, $v1, 1 -/* 08615C 7F05162C 56400020 */ bnezl $s2, .L7F0516B0 -/* 086160 7F051630 246B0001 */ addiu $t3, $v1, 1 -/* 086164 7F051634 1000002C */ b .L7F0516E8 -/* 086168 7F051638 AFA30054 */ sw $v1, 0x54($sp) -/* 08616C 7F05163C 8E180064 */ lw $t8, 0x64($s0) -.L7F051640: -/* 086170 7F051640 33190080 */ andi $t9, $t8, 0x80 -/* 086174 7F051644 5720001A */ bnezl $t9, .L7F0516B0 -/* 086178 7F051648 246B0001 */ addiu $t3, $v1, 1 -/* 08617C 7F05164C 8C48001C */ lw $t0, 0x1c($v0) -/* 086180 7F051650 55000017 */ bnezl $t0, .L7F0516B0 -/* 086184 7F051654 246B0001 */ addiu $t3, $v1, 1 -/* 086188 7F051658 5240000B */ beql $s2, $zero, .L7F051688 -/* 08618C 7F05165C 90490001 */ lbu $t1, 1($v0) -/* 086190 7F051660 8E040014 */ lw $a0, 0x14($s0) -/* 086194 7F051664 8FA50070 */ lw $a1, 0x70($sp) -/* 086198 7F051668 AFA30064 */ sw $v1, 0x64($sp) -/* 08619C 7F05166C 0FC1B018 */ jal sub_GAME_7F06C060 -/* 0861A0 7F051670 AFA70068 */ sw $a3, 0x68($sp) -/* 0861A4 7F051674 8FA30064 */ lw $v1, 0x64($sp) -/* 0861A8 7F051678 1040000C */ beqz $v0, .L7F0516AC -/* 0861AC 7F05167C 8FA70068 */ lw $a3, 0x68($sp) -/* 0861B0 7F051680 8E020010 */ lw $v0, 0x10($s0) -/* 0861B4 7F051684 90490001 */ lbu $t1, 1($v0) -.L7F051688: -/* 0861B8 7F051688 312A0002 */ andi $t2, $t1, 2 -/* 0861BC 7F05168C 15400004 */ bnez $t2, .L7F0516A0 -/* 0861C0 7F051690 00000000 */ nop -/* 0861C4 7F051694 06210002 */ bgez $s1, .L7F0516A0 -/* 0861C8 7F051698 00000000 */ nop -/* 0861CC 7F05169C 00608825 */ move $s1, $v1 -.L7F0516A0: -/* 0861D0 7F0516A0 06630003 */ bgezl $s3, .L7F0516B0 -/* 0861D4 7F0516A4 246B0001 */ addiu $t3, $v1, 1 -/* 0861D8 7F0516A8 00609825 */ move $s3, $v1 -.L7F0516AC: -/* 0861DC 7F0516AC 246B0001 */ addiu $t3, $v1, 1 -.L7F0516B0: -/* 0861E0 7F0516B0 0176001A */ div $zero, $t3, $s6 -/* 0861E4 7F0516B4 8EAC0000 */ lw $t4, ($s5) -/* 0861E8 7F0516B8 00001810 */ mfhi $v1 -/* 0861EC 7F0516BC 16C00002 */ bnez $s6, .L7F0516C8 -/* 0861F0 7F0516C0 00000000 */ nop -/* 0861F4 7F0516C4 0007000D */ break 7 -.L7F0516C8: -/* 0861F8 7F0516C8 2401FFFF */ li $at, -1 -/* 0861FC 7F0516CC 16C10004 */ bne $s6, $at, .L7F0516E0 -/* 086200 7F0516D0 3C018000 */ lui $at, 0x8000 -/* 086204 7F0516D4 15610002 */ bne $t3, $at, .L7F0516E0 -/* 086208 7F0516D8 00000000 */ nop -/* 08620C 7F0516DC 0006000D */ break 6 -.L7F0516E0: -/* 086210 7F0516E0 546CFFCC */ bnel $v1, $t4, .L7F051614 -/* 086214 7F0516E4 000379C0 */ sll $t7, $v1, 7 -.L7F0516E8: -/* 086218 7F0516E8 8FAD0054 */ lw $t5, 0x54($sp) -/* 08621C 7F0516EC 05A00011 */ bltz $t5, .L7F051734 -/* 086220 7F0516F0 25AE0001 */ addiu $t6, $t5, 1 -/* 086224 7F0516F4 01D6001A */ div $zero, $t6, $s6 -/* 086228 7F0516F8 8FB80054 */ lw $t8, 0x54($sp) -/* 08622C 7F0516FC 00007810 */ mfhi $t7 -/* 086230 7F051700 AEAF0000 */ sw $t7, ($s5) -/* 086234 7F051704 16C00002 */ bnez $s6, .L7F051710 -/* 086238 7F051708 00000000 */ nop -/* 08623C 7F05170C 0007000D */ break 7 -.L7F051710: -/* 086240 7F051710 2401FFFF */ li $at, -1 -/* 086244 7F051714 16C10004 */ bne $s6, $at, .L7F051728 -/* 086248 7F051718 3C018000 */ lui $at, 0x8000 -/* 08624C 7F05171C 15C10002 */ bne $t6, $at, .L7F051728 -/* 086250 7F051720 00000000 */ nop -/* 086254 7F051724 0006000D */ break 6 -.L7F051728: -/* 086258 7F051728 0018C9C0 */ sll $t9, $t8, 7 -/* 08625C 7F05172C 10000054 */ b .L7F051880 -/* 086260 7F051730 02991021 */ addu $v0, $s4, $t9 -.L7F051734: -/* 086264 7F051734 8FA80070 */ lw $t0, 0x70($sp) -/* 086268 7F051738 24040011 */ li $a0, 17 -/* 08626C 7F05173C 27A5005C */ addiu $a1, $sp, 0x5c -/* 086270 7F051740 27A60058 */ addiu $a2, $sp, 0x58 -/* 086274 7F051744 AFB20010 */ sw $s2, 0x10($sp) -/* 086278 7F051748 0FC15BC2 */ jal sub_GAME_7F056F08 -/* 08627C 7F05174C AFA80014 */ sw $t0, 0x14($sp) -/* 086280 7F051750 10400003 */ beqz $v0, .L7F051760 -/* 086284 7F051754 00401825 */ move $v1, $v0 -/* 086288 7F051758 10000049 */ b .L7F051880 -/* 08628C 7F05175C 00601025 */ move $v0, $v1 -.L7F051760: -/* 086290 7F051760 06220019 */ bltzl $s1, .L7F0517C8 -/* 086294 7F051764 8FAE005C */ lw $t6, 0x5c($sp) -/* 086298 7F051768 001149C0 */ sll $t1, $s1, 7 -/* 08629C 7F05176C 02892021 */ addu $a0, $s4, $t1 -/* 0862A0 7F051770 8C8A0010 */ lw $t2, 0x10($a0) -/* 0862A4 7F051774 51400004 */ beql $t2, $zero, .L7F051788 -/* 0862A8 7F051778 262B0001 */ addiu $t3, $s1, 1 -/* 0862AC 7F05177C 0FC10409 */ jal sub_GAME_7F041024 -/* 0862B0 7F051780 24050001 */ li $a1, 1 -/* 0862B4 7F051784 262B0001 */ addiu $t3, $s1, 1 -.L7F051788: -/* 0862B8 7F051788 0176001A */ div $zero, $t3, $s6 -/* 0862BC 7F05178C 00006010 */ mfhi $t4 -/* 0862C0 7F051790 001169C0 */ sll $t5, $s1, 7 -/* 0862C4 7F051794 16C00002 */ bnez $s6, .L7F0517A0 -/* 0862C8 7F051798 00000000 */ nop -/* 0862CC 7F05179C 0007000D */ break 7 -.L7F0517A0: -/* 0862D0 7F0517A0 2401FFFF */ li $at, -1 -/* 0862D4 7F0517A4 16C10004 */ bne $s6, $at, .L7F0517B8 -/* 0862D8 7F0517A8 3C018000 */ lui $at, 0x8000 -/* 0862DC 7F0517AC 15610002 */ bne $t3, $at, .L7F0517B8 -/* 0862E0 7F0517B0 00000000 */ nop -/* 0862E4 7F0517B4 0006000D */ break 6 -.L7F0517B8: -/* 0862E8 7F0517B8 AEAC0000 */ sw $t4, ($s5) -/* 0862EC 7F0517BC 10000030 */ b .L7F051880 -/* 0862F0 7F0517C0 028D1021 */ addu $v0, $s4, $t5 -/* 0862F4 7F0517C4 8FAE005C */ lw $t6, 0x5c($sp) -.L7F0517C8: -/* 0862F8 7F0517C8 11C00009 */ beqz $t6, .L7F0517F0 -/* 0862FC 7F0517CC 00000000 */ nop -/* 086300 7F0517D0 8DCF0010 */ lw $t7, 0x10($t6) -/* 086304 7F0517D4 01C02025 */ move $a0, $t6 -/* 086308 7F0517D8 11E00003 */ beqz $t7, .L7F0517E8 -/* 08630C 7F0517DC 00000000 */ nop -/* 086310 7F0517E0 0FC10409 */ jal sub_GAME_7F041024 -/* 086314 7F0517E4 24050001 */ li $a1, 1 -.L7F0517E8: -/* 086318 7F0517E8 10000025 */ b .L7F051880 -/* 08631C 7F0517EC 8FA2005C */ lw $v0, 0x5c($sp) -.L7F0517F0: -/* 086320 7F0517F0 06600017 */ bltz $s3, .L7F051850 -/* 086324 7F0517F4 0013C1C0 */ sll $t8, $s3, 7 -/* 086328 7F0517F8 02982021 */ addu $a0, $s4, $t8 -/* 08632C 7F0517FC 8C990010 */ lw $t9, 0x10($a0) -/* 086330 7F051800 53200004 */ beql $t9, $zero, .L7F051814 -/* 086334 7F051804 26680001 */ addiu $t0, $s3, 1 -/* 086338 7F051808 0FC10409 */ jal sub_GAME_7F041024 -/* 08633C 7F05180C 24050001 */ li $a1, 1 -/* 086340 7F051810 26680001 */ addiu $t0, $s3, 1 -.L7F051814: -/* 086344 7F051814 0116001A */ div $zero, $t0, $s6 -/* 086348 7F051818 00004810 */ mfhi $t1 -/* 08634C 7F05181C 001351C0 */ sll $t2, $s3, 7 -/* 086350 7F051820 16C00002 */ bnez $s6, .L7F05182C -/* 086354 7F051824 00000000 */ nop -/* 086358 7F051828 0007000D */ break 7 -.L7F05182C: -/* 08635C 7F05182C 2401FFFF */ li $at, -1 -/* 086360 7F051830 16C10004 */ bne $s6, $at, .L7F051844 -/* 086364 7F051834 3C018000 */ lui $at, 0x8000 -/* 086368 7F051838 15010002 */ bne $t0, $at, .L7F051844 -/* 08636C 7F05183C 00000000 */ nop -/* 086370 7F051840 0006000D */ break 6 -.L7F051844: -/* 086374 7F051844 AEA90000 */ sw $t1, ($s5) -/* 086378 7F051848 1000000D */ b .L7F051880 -/* 08637C 7F05184C 028A1021 */ addu $v0, $s4, $t2 -.L7F051850: -/* 086380 7F051850 8FAB0058 */ lw $t3, 0x58($sp) -/* 086384 7F051854 5160000A */ beql $t3, $zero, .L7F051880 -/* 086388 7F051858 00001025 */ move $v0, $zero -/* 08638C 7F05185C 8D6C0010 */ lw $t4, 0x10($t3) -/* 086390 7F051860 01602025 */ move $a0, $t3 -/* 086394 7F051864 11800003 */ beqz $t4, .L7F051874 -/* 086398 7F051868 00000000 */ nop -/* 08639C 7F05186C 0FC10409 */ jal sub_GAME_7F041024 -/* 0863A0 7F051870 24050001 */ li $a1, 1 -.L7F051874: -/* 0863A4 7F051874 10000002 */ b .L7F051880 -/* 0863A8 7F051878 8FA20058 */ lw $v0, 0x58($sp) -/* 0863AC 7F05187C 00001025 */ move $v0, $zero -.L7F051880: -/* 0863B0 7F051880 8FBF003C */ lw $ra, 0x3c($sp) -/* 0863B4 7F051884 8FB00020 */ lw $s0, 0x20($sp) -/* 0863B8 7F051888 8FB10024 */ lw $s1, 0x24($sp) -/* 0863BC 7F05188C 8FB20028 */ lw $s2, 0x28($sp) -/* 0863C0 7F051890 8FB3002C */ lw $s3, 0x2c($sp) -/* 0863C4 7F051894 8FB40030 */ lw $s4, 0x30($sp) -/* 0863C8 7F051898 8FB50034 */ lw $s5, 0x34($sp) -/* 0863CC 7F05189C 8FB60038 */ lw $s6, 0x38($sp) -/* 0863D0 7F0518A0 03E00008 */ jr $ra -/* 0863D4 7F0518A4 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0518A8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0518A8 -/* 0863D8 7F0518A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0863DC 7F0518AC AFBF0014 */ sw $ra, 0x14($sp) -/* 0863E0 7F0518B0 00002025 */ move $a0, $zero -/* 0863E4 7F0518B4 00002825 */ move $a1, $zero -/* 0863E8 7F0518B8 0FC1456C */ jal sub_GAME_7F0515B0 -/* 0863EC 7F0518BC 00003025 */ move $a2, $zero -/* 0863F0 7F0518C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0863F4 7F0518C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0863F8 7F0518C8 03E00008 */ jr $ra -/* 0863FC 7F0518CC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0518D0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0518D0 -/* 086400 7F0518D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 086404 7F0518D4 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) -/* 086408 7F0518D8 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) -/* 08640C 7F0518DC AFBF0014 */ sw $ra, 0x14($sp) -/* 086410 7F0518E0 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 -/* 086414 7F0518E4 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 -/* 086418 7F0518E8 00001825 */ move $v1, $zero -.L7F0518EC: -/* 08641C 7F0518EC 8C8E0010 */ lw $t6, 0x10($a0) -/* 086420 7F0518F0 24840084 */ addiu $a0, $a0, 0x84 -/* 086424 7F0518F4 0082082B */ sltu $at, $a0, $v0 -/* 086428 7F0518F8 15C00004 */ bnez $t6, .L7F05190C -/* 08642C 7F0518FC 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80073370) -/* 086430 7F051900 25EF3370 */ addiu $t7, %lo(dword_CODE_bss_80073370) # addiu $t7, $t7, 0x3370 -/* 086434 7F051904 10000040 */ b .L7F051A08 -/* 086438 7F051908 006F1021 */ addu $v0, $v1, $t7 -.L7F05190C: -/* 08643C 7F05190C 1420FFF7 */ bnez $at, .L7F0518EC -/* 086440 7F051910 24630084 */ addiu $v1, $v1, 0x84 -/* 086444 7F051914 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) -/* 086448 7F051918 3C058007 */ lui $a1, %hi(dword_CODE_bss_80073DC0) -/* 08644C 7F05191C 24A53DC0 */ addiu $a1, %lo(dword_CODE_bss_80073DC0) # addiu $a1, $a1, 0x3dc0 -/* 086450 7F051920 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 -/* 086454 7F051924 00001825 */ move $v1, $zero -.L7F051928: -/* 086458 7F051928 8C980064 */ lw $t8, 0x64($a0) -/* 08645C 7F05192C 33190080 */ andi $t9, $t8, 0x80 -/* 086460 7F051930 57200016 */ bnezl $t9, .L7F05198C -/* 086464 7F051934 24840084 */ addiu $a0, $a0, 0x84 -/* 086468 7F051938 90880002 */ lbu $t0, 2($a0) -/* 08646C 7F05193C 31090004 */ andi $t1, $t0, 4 -/* 086470 7F051940 55200012 */ bnezl $t1, .L7F05198C -/* 086474 7F051944 24840084 */ addiu $a0, $a0, 0x84 -/* 086478 7F051948 8C820010 */ lw $v0, 0x10($a0) -/* 08647C 7F05194C 8C4A001C */ lw $t2, 0x1c($v0) -/* 086480 7F051950 5540000E */ bnezl $t2, .L7F05198C -/* 086484 7F051954 24840084 */ addiu $a0, $a0, 0x84 -/* 086488 7F051958 904B0001 */ lbu $t3, 1($v0) -/* 08648C 7F05195C 316C0002 */ andi $t4, $t3, 2 -/* 086490 7F051960 5580000A */ bnezl $t4, .L7F05198C -/* 086494 7F051964 24840084 */ addiu $a0, $a0, 0x84 -/* 086498 7F051968 24050001 */ li $a1, 1 -/* 08649C 7F05196C 0FC10409 */ jal sub_GAME_7F041024 -/* 0864A0 7F051970 AFA30018 */ sw $v1, 0x18($sp) -/* 0864A4 7F051974 8FA30018 */ lw $v1, 0x18($sp) -/* 0864A8 7F051978 3C0D8007 */ lui $t5, %hi(dword_CODE_bss_80073370) -/* 0864AC 7F05197C 25AD3370 */ addiu $t5, %lo(dword_CODE_bss_80073370) # addiu $t5, $t5, 0x3370 -/* 0864B0 7F051980 10000021 */ b .L7F051A08 -/* 0864B4 7F051984 006D1021 */ addu $v0, $v1, $t5 -/* 0864B8 7F051988 24840084 */ addiu $a0, $a0, 0x84 -.L7F05198C: -/* 0864BC 7F05198C 0085082B */ sltu $at, $a0, $a1 -/* 0864C0 7F051990 1420FFE5 */ bnez $at, .L7F051928 -/* 0864C4 7F051994 24630084 */ addiu $v1, $v1, 0x84 -/* 0864C8 7F051998 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) -/* 0864CC 7F05199C 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) -/* 0864D0 7F0519A0 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 -/* 0864D4 7F0519A4 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 -/* 0864D8 7F0519A8 00001825 */ move $v1, $zero -.L7F0519AC: -/* 0864DC 7F0519AC 8C8E0064 */ lw $t6, 0x64($a0) -/* 0864E0 7F0519B0 31CF0080 */ andi $t7, $t6, 0x80 -/* 0864E4 7F0519B4 55E00011 */ bnezl $t7, .L7F0519FC -/* 0864E8 7F0519B8 24840084 */ addiu $a0, $a0, 0x84 -/* 0864EC 7F0519BC 90980002 */ lbu $t8, 2($a0) -/* 0864F0 7F0519C0 33190004 */ andi $t9, $t8, 4 -/* 0864F4 7F0519C4 5720000D */ bnezl $t9, .L7F0519FC -/* 0864F8 7F0519C8 24840084 */ addiu $a0, $a0, 0x84 -/* 0864FC 7F0519CC 8C880010 */ lw $t0, 0x10($a0) -/* 086500 7F0519D0 8D09001C */ lw $t1, 0x1c($t0) -/* 086504 7F0519D4 15200008 */ bnez $t1, .L7F0519F8 -/* 086508 7F0519D8 24050001 */ li $a1, 1 -/* 08650C 7F0519DC 0FC10409 */ jal sub_GAME_7F041024 -/* 086510 7F0519E0 AFA30018 */ sw $v1, 0x18($sp) -/* 086514 7F0519E4 8FA30018 */ lw $v1, 0x18($sp) -/* 086518 7F0519E8 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80073370) -/* 08651C 7F0519EC 254A3370 */ addiu $t2, %lo(dword_CODE_bss_80073370) # addiu $t2, $t2, 0x3370 -/* 086520 7F0519F0 10000005 */ b .L7F051A08 -/* 086524 7F0519F4 006A1021 */ addu $v0, $v1, $t2 -.L7F0519F8: -/* 086528 7F0519F8 24840084 */ addiu $a0, $a0, 0x84 -.L7F0519FC: -/* 08652C 7F0519FC 1482FFEB */ bne $a0, $v0, .L7F0519AC -/* 086530 7F051A00 24630084 */ addiu $v1, $v1, 0x84 -/* 086534 7F051A04 00001025 */ move $v0, $zero -.L7F051A08: -/* 086538 7F051A08 8FBF0014 */ lw $ra, 0x14($sp) -/* 08653C 7F051A0C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 086540 7F051A10 03E00008 */ jr $ra -/* 086544 7F051A14 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void trigger_remote_mine_detonation(void) { - -} -#else -GLOBAL_ASM( -.text -glabel trigger_remote_mine_detonation -/* 086548 7F051A18 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08654C 7F051A1C AFBF0014 */ sw $ra, 0x14($sp) -/* 086550 7F051A20 0FC26C54 */ jal get_cur_playernum -/* 086554 7F051A24 00000000 */ nop -/* 086558 7F051A28 3C038003 */ lui $v1, %hi(D_80030AF4) -/* 08655C 7F051A2C 24630AF4 */ addiu $v1, %lo(D_80030AF4) # addiu $v1, $v1, 0xaf4 -/* 086560 7F051A30 8C6E0000 */ lw $t6, ($v1) -/* 086564 7F051A34 240F0001 */ li $t7, 1 -/* 086568 7F051A38 004FC004 */ sllv $t8, $t7, $v0 -/* 08656C 7F051A3C 01D8C825 */ or $t9, $t6, $t8 -/* 086570 7F051A40 AC790000 */ sw $t9, ($v1) -/* 086574 7F051A44 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 086578 7F051A48 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08657C 7F051A4C 240500F3 */ li $a1, 243 -/* 086580 7F051A50 0C002382 */ jal play_sfx_a1 -/* 086584 7F051A54 00003025 */ move $a2, $zero -/* 086588 7F051A58 8FBF0014 */ lw $ra, 0x14($sp) -/* 08658C 7F051A5C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 086590 7F051A60 03E00008 */ jr $ra -/* 086594 7F051A64 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_entry_is_collectable(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_entry_is_collectable -/* 086598 7F051A68 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08659C 7F051A6C AFBF001C */ sw $ra, 0x1c($sp) -/* 0865A0 7F051A70 AFB10018 */ sw $s1, 0x18($sp) -/* 0865A4 7F051A74 AFB00014 */ sw $s0, 0x14($sp) -/* 0865A8 7F051A78 90AE0000 */ lbu $t6, ($a1) -/* 0865AC 7F051A7C 24010004 */ li $at, 4 -/* 0865B0 7F051A80 00808825 */ move $s1, $a0 -/* 0865B4 7F051A84 55C10008 */ bnel $t6, $at, .L7F051AA8 -/* 0865B8 7F051A88 8CB00020 */ lw $s0, 0x20($a1) -/* 0865BC 7F051A8C 8CA30004 */ lw $v1, 4($a1) -/* 0865C0 7F051A90 806F0080 */ lb $t7, 0x80($v1) -/* 0865C4 7F051A94 548F0004 */ bnel $a0, $t7, .L7F051AA8 -/* 0865C8 7F051A98 8CB00020 */ lw $s0, 0x20($a1) -/* 0865CC 7F051A9C 1000000E */ b .L7F051AD8 -/* 0865D0 7F051AA0 00601025 */ move $v0, $v1 -/* 0865D4 7F051AA4 8CB00020 */ lw $s0, 0x20($a1) -.L7F051AA8: -/* 0865D8 7F051AA8 1200000A */ beqz $s0, .L7F051AD4 -/* 0865DC 7F051AAC 02202025 */ move $a0, $s1 -.L7F051AB0: -/* 0865E0 7F051AB0 0FC1469A */ jal check_if_entry_is_collectable -/* 0865E4 7F051AB4 02002825 */ move $a1, $s0 -/* 0865E8 7F051AB8 50400004 */ beql $v0, $zero, .L7F051ACC -/* 0865EC 7F051ABC 8E100024 */ lw $s0, 0x24($s0) -/* 0865F0 7F051AC0 10000006 */ b .L7F051ADC -/* 0865F4 7F051AC4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0865F8 7F051AC8 8E100024 */ lw $s0, 0x24($s0) -.L7F051ACC: -/* 0865FC 7F051ACC 5600FFF8 */ bnezl $s0, .L7F051AB0 -/* 086600 7F051AD0 02202025 */ move $a0, $s1 -.L7F051AD4: -/* 086604 7F051AD4 00001025 */ move $v0, $zero -.L7F051AD8: -/* 086608 7F051AD8 8FBF001C */ lw $ra, 0x1c($sp) -.L7F051ADC: -/* 08660C 7F051ADC 8FB00014 */ lw $s0, 0x14($sp) -/* 086610 7F051AE0 8FB10018 */ lw $s1, 0x18($sp) -/* 086614 7F051AE4 03E00008 */ jr $ra -/* 086618 7F051AE8 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_item_deposited(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_item_deposited -/* 08661C 7F051AEC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 086620 7F051AF0 AFBF001C */ sw $ra, 0x1c($sp) -/* 086624 7F051AF4 AFB10018 */ sw $s1, 0x18($sp) -/* 086628 7F051AF8 00808825 */ move $s1, $a0 -/* 08662C 7F051AFC 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 086630 7F051B00 AFB00014 */ sw $s0, 0x14($sp) -/* 086634 7F051B04 1040000F */ beqz $v0, .L7F051B44 -/* 086638 7F051B08 00408025 */ move $s0, $v0 -/* 08663C 7F051B0C 02202025 */ move $a0, $s1 -.L7F051B10: -/* 086640 7F051B10 0FC1469A */ jal check_if_entry_is_collectable -/* 086644 7F051B14 02002825 */ move $a1, $s0 -/* 086648 7F051B18 50400008 */ beql $v0, $zero, .L7F051B3C -/* 08664C 7F051B1C 8E100024 */ lw $s0, 0x24($s0) -/* 086650 7F051B20 8C4E0064 */ lw $t6, 0x64($v0) -/* 086654 7F051B24 31CF0080 */ andi $t7, $t6, 0x80 -/* 086658 7F051B28 55E00004 */ bnezl $t7, .L7F051B3C -/* 08665C 7F051B2C 8E100024 */ lw $s0, 0x24($s0) -/* 086660 7F051B30 10000006 */ b .L7F051B4C -/* 086664 7F051B34 8FBF001C */ lw $ra, 0x1c($sp) -/* 086668 7F051B38 8E100024 */ lw $s0, 0x24($s0) -.L7F051B3C: -/* 08666C 7F051B3C 5600FFF4 */ bnezl $s0, .L7F051B10 -/* 086670 7F051B40 02202025 */ move $a0, $s1 -.L7F051B44: -/* 086674 7F051B44 00001025 */ move $v0, $zero -/* 086678 7F051B48 8FBF001C */ lw $ra, 0x1c($sp) -.L7F051B4C: -/* 08667C 7F051B4C 8FB00014 */ lw $s0, 0x14($sp) -/* 086680 7F051B50 8FB10018 */ lw $s1, 0x18($sp) -/* 086684 7F051B54 03E00008 */ jr $ra -/* 086688 7F051B58 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void add_obj_to_temp_proxmine_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel add_obj_to_temp_proxmine_table -/* 08668C 7F051B5C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071E00) -/* 086690 7F051B60 3C028007 */ lui $v0, %hi(gas_damage_flag) -/* 086694 7F051B64 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78 -/* 086698 7F051B68 24631E00 */ addiu $v1, %lo(dword_CODE_bss_80071E00) # addiu $v1, $v1, 0x1e00 -/* 08669C 7F051B6C 8C6E0000 */ lw $t6, ($v1) -.L7F051B70: -/* 0866A0 7F051B70 55C00004 */ bnezl $t6, .L7F051B84 -/* 0866A4 7F051B74 24630004 */ addiu $v1, $v1, 4 -/* 0866A8 7F051B78 03E00008 */ jr $ra -/* 0866AC 7F051B7C AC640000 */ sw $a0, ($v1) - -/* 0866B0 7F051B80 24630004 */ addiu $v1, $v1, 4 -.L7F051B84: -/* 0866B4 7F051B84 5462FFFA */ bnel $v1, $v0, .L7F051B70 -/* 0866B8 7F051B88 8C6E0000 */ lw $t6, ($v1) -/* 0866BC 7F051B8C 03E00008 */ jr $ra -/* 0866C0 7F051B90 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void remove_obj_from_temp_proxmine_table(void) { - -} -#else -GLOBAL_ASM( -.text -glabel remove_obj_from_temp_proxmine_table -/* 0866C4 7F051B94 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071E00) -/* 0866C8 7F051B98 3C028007 */ lui $v0, %hi(gas_damage_flag) -/* 0866CC 7F051B9C 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78 -/* 0866D0 7F051BA0 24631E00 */ addiu $v1, %lo(dword_CODE_bss_80071E00) # addiu $v1, $v1, 0x1e00 -/* 0866D4 7F051BA4 8C6E0000 */ lw $t6, ($v1) -.L7F051BA8: -/* 0866D8 7F051BA8 548E0004 */ bnel $a0, $t6, .L7F051BBC -/* 0866DC 7F051BAC 24630004 */ addiu $v1, $v1, 4 -/* 0866E0 7F051BB0 03E00008 */ jr $ra -/* 0866E4 7F051BB4 AC600000 */ sw $zero, ($v1) - -/* 0866E8 7F051BB8 24630004 */ addiu $v1, $v1, 4 -.L7F051BBC: -/* 0866EC 7F051BBC 5462FFFA */ bnel $v1, $v0, .L7F051BA8 -/* 0866F0 7F051BC0 8C6E0000 */ lw $t6, ($v1) -/* 0866F4 7F051BC4 03E00008 */ jr $ra -/* 0866F8 7F051BC8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void detonate_proxmine_In_range(void) { - -} -#else -GLOBAL_ASM( -.text -glabel detonate_proxmine_In_range -/* 0866FC 7F051BCC 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071E00) -/* 086700 7F051BD0 3C018005 */ lui $at, %hi(D_800532EC) -/* 086704 7F051BD4 3C078007 */ lui $a3, %hi(gas_damage_flag) -/* 086708 7F051BD8 00802825 */ move $a1, $a0 -/* 08670C 7F051BDC 24E71E78 */ addiu $a3, %lo(gas_damage_flag) # addiu $a3, $a3, 0x1e78 -/* 086710 7F051BE0 C42E32EC */ lwc1 $f14, %lo(D_800532EC)($at) -/* 086714 7F051BE4 24631E00 */ addiu $v1, %lo(dword_CODE_bss_80071E00) # addiu $v1, $v1, 0x1e00 -/* 086718 7F051BE8 24060001 */ li $a2, 1 -/* 08671C 7F051BEC 8C640000 */ lw $a0, ($v1) -.L7F051BF0: -/* 086720 7F051BF0 50800018 */ beql $a0, $zero, .L7F051C54 -/* 086724 7F051BF4 8C620004 */ lw $v0, 4($v1) -/* 086728 7F051BF8 848E0082 */ lh $t6, 0x82($a0) -/* 08672C 7F051BFC 54CE0015 */ bnel $a2, $t6, .L7F051C54 -/* 086730 7F051C00 8C620004 */ lw $v0, 4($v1) -/* 086734 7F051C04 C4A40000 */ lwc1 $f4, ($a1) -/* 086738 7F051C08 C4860058 */ lwc1 $f6, 0x58($a0) -/* 08673C 7F051C0C C4A80004 */ lwc1 $f8, 4($a1) -/* 086740 7F051C10 C48A005C */ lwc1 $f10, 0x5c($a0) -/* 086744 7F051C14 46062001 */ sub.s $f0, $f4, $f6 -/* 086748 7F051C18 C4B00008 */ lwc1 $f16, 8($a1) -/* 08674C 7F051C1C C4920060 */ lwc1 $f18, 0x60($a0) -/* 086750 7F051C20 460A4081 */ sub.s $f2, $f8, $f10 -/* 086754 7F051C24 46000102 */ mul.s $f4, $f0, $f0 -/* 086758 7F051C28 46128301 */ sub.s $f12, $f16, $f18 -/* 08675C 7F051C2C 46021182 */ mul.s $f6, $f2, $f2 -/* 086760 7F051C30 46062200 */ add.s $f8, $f4, $f6 -/* 086764 7F051C34 460C6282 */ mul.s $f10, $f12, $f12 -/* 086768 7F051C38 460A4400 */ add.s $f16, $f8, $f10 -/* 08676C 7F051C3C 460E803C */ c.lt.s $f16, $f14 -/* 086770 7F051C40 00000000 */ nop -/* 086774 7F051C44 45020003 */ bc1fl .L7F051C54 -/* 086778 7F051C48 8C620004 */ lw $v0, 4($v1) -/* 08677C 7F051C4C A4800082 */ sh $zero, 0x82($a0) -/* 086780 7F051C50 8C620004 */ lw $v0, 4($v1) -.L7F051C54: -/* 086784 7F051C54 24630008 */ addiu $v1, $v1, 8 -/* 086788 7F051C58 10400017 */ beqz $v0, .L7F051CB8 -/* 08678C 7F051C5C 00000000 */ nop -/* 086790 7F051C60 844F0082 */ lh $t7, 0x82($v0) -/* 086794 7F051C64 14CF0014 */ bne $a2, $t7, .L7F051CB8 -/* 086798 7F051C68 00000000 */ nop -/* 08679C 7F051C6C C4B20000 */ lwc1 $f18, ($a1) -/* 0867A0 7F051C70 C4440058 */ lwc1 $f4, 0x58($v0) -/* 0867A4 7F051C74 C4A60004 */ lwc1 $f6, 4($a1) -/* 0867A8 7F051C78 C448005C */ lwc1 $f8, 0x5c($v0) -/* 0867AC 7F051C7C 46049001 */ sub.s $f0, $f18, $f4 -/* 0867B0 7F051C80 C4AA0008 */ lwc1 $f10, 8($a1) -/* 0867B4 7F051C84 C4500060 */ lwc1 $f16, 0x60($v0) -/* 0867B8 7F051C88 46083081 */ sub.s $f2, $f6, $f8 -/* 0867BC 7F051C8C 46000482 */ mul.s $f18, $f0, $f0 -/* 0867C0 7F051C90 46105301 */ sub.s $f12, $f10, $f16 -/* 0867C4 7F051C94 46021102 */ mul.s $f4, $f2, $f2 -/* 0867C8 7F051C98 46049180 */ add.s $f6, $f18, $f4 -/* 0867CC 7F051C9C 460C6202 */ mul.s $f8, $f12, $f12 -/* 0867D0 7F051CA0 46083280 */ add.s $f10, $f6, $f8 -/* 0867D4 7F051CA4 460E503C */ c.lt.s $f10, $f14 -/* 0867D8 7F051CA8 00000000 */ nop -/* 0867DC 7F051CAC 45000002 */ bc1f .L7F051CB8 -/* 0867E0 7F051CB0 00000000 */ nop -/* 0867E4 7F051CB4 A4400082 */ sh $zero, 0x82($v0) -.L7F051CB8: -/* 0867E8 7F051CB8 5467FFCD */ bnel $v1, $a3, .L7F051BF0 -/* 0867EC 7F051CBC 8C640000 */ lw $a0, ($v1) -/* 0867F0 7F051CC0 03E00008 */ jr $ra -/* 0867F4 7F051CC4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051CC8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051CC8 -/* 0867F8 7F051CC8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0867FC 7F051CCC AFBF002C */ sw $ra, 0x2c($sp) -/* 086800 7F051CD0 AFB40028 */ sw $s4, 0x28($sp) -/* 086804 7F051CD4 AFB30024 */ sw $s3, 0x24($sp) -/* 086808 7F051CD8 AFB20020 */ sw $s2, 0x20($sp) -/* 08680C 7F051CDC AFB1001C */ sw $s1, 0x1c($sp) -/* 086810 7F051CE0 0FC07D4C */ jal get_numguards -/* 086814 7F051CE4 AFB00018 */ sw $s0, 0x18($sp) -/* 086818 7F051CE8 1840001A */ blez $v0, .L7F051D54 -/* 08681C 7F051CEC 00008025 */ move $s0, $zero -/* 086820 7F051CF0 00029900 */ sll $s3, $v0, 4 -/* 086824 7F051CF4 02629823 */ subu $s3, $s3, $v0 -/* 086828 7F051CF8 001398C0 */ sll $s3, $s3, 3 -/* 08682C 7F051CFC 02629823 */ subu $s3, $s3, $v0 -/* 086830 7F051D00 3C148003 */ lui $s4, %hi(ptr_guard_data) -/* 086834 7F051D04 2694CC64 */ addiu $s4, %lo(ptr_guard_data) # addiu $s4, $s4, -0x339c -/* 086838 7F051D08 00139880 */ sll $s3, $s3, 2 -/* 08683C 7F051D0C 27B10038 */ addiu $s1, $sp, 0x38 -/* 086840 7F051D10 8E8E0000 */ lw $t6, ($s4) -.L7F051D14: -/* 086844 7F051D14 020E2021 */ addu $a0, $s0, $t6 -/* 086848 7F051D18 8C8F001C */ lw $t7, 0x1c($a0) -/* 08684C 7F051D1C 51E0000A */ beql $t7, $zero, .L7F051D48 -/* 086850 7F051D20 261001DC */ addiu $s0, $s0, 0x1dc -/* 086854 7F051D24 94980012 */ lhu $t8, 0x12($a0) -/* 086858 7F051D28 33190200 */ andi $t9, $t8, 0x200 -/* 08685C 7F051D2C 53200006 */ beql $t9, $zero, .L7F051D48 -/* 086860 7F051D30 261001DC */ addiu $s0, $s0, 0x1dc -/* 086864 7F051D34 0FC0A225 */ jal sub_GAME_7F028894 -/* 086868 7F051D38 02202825 */ move $a1, $s1 -/* 08686C 7F051D3C 0FC146F3 */ jal detonate_proxmine_In_range -/* 086870 7F051D40 02202025 */ move $a0, $s1 -/* 086874 7F051D44 261001DC */ addiu $s0, $s0, 0x1dc -.L7F051D48: -/* 086878 7F051D48 0213082A */ slt $at, $s0, $s3 -/* 08687C 7F051D4C 5420FFF1 */ bnezl $at, .L7F051D14 -/* 086880 7F051D50 8E8E0000 */ lw $t6, ($s4) -.L7F051D54: -/* 086884 7F051D54 8FBF002C */ lw $ra, 0x2c($sp) -/* 086888 7F051D58 8FB00018 */ lw $s0, 0x18($sp) -/* 08688C 7F051D5C 8FB1001C */ lw $s1, 0x1c($sp) -/* 086890 7F051D60 8FB20020 */ lw $s2, 0x20($sp) -/* 086894 7F051D64 8FB30024 */ lw $s3, 0x24($sp) -/* 086898 7F051D68 8FB40028 */ lw $s4, 0x28($sp) -/* 08689C 7F051D6C 03E00008 */ jr $ra -/* 0868A0 7F051D70 27BD0050 */ addiu $sp, $sp, 0x50 -) -#endif - - - - - -#ifdef NONMATCHING -void link_objects(void) { - -} -#else -GLOBAL_ASM( -.text -glabel link_objects -/* 0868A4 7F051D74 80AE0080 */ lb $t6, 0x80($a1) -/* 0868A8 7F051D78 808F0080 */ lb $t7, 0x80($a0) -/* 0868AC 7F051D7C AC850084 */ sw $a1, 0x84($a0) -/* 0868B0 7F051D80 A08E0081 */ sb $t6, 0x81($a0) -/* 0868B4 7F051D84 ACA40084 */ sw $a0, 0x84($a1) -/* 0868B8 7F051D88 03E00008 */ jr $ra -/* 0868BC 7F051D8C A0AF0081 */ sb $t7, 0x81($a1) -) -#endif - - - - - -#ifdef NONMATCHING -void complete_object_data_block_return_position_entry(void) { - -} -#else -GLOBAL_ASM( -.text -glabel complete_object_data_block_return_position_entry -/* 0868C0 7F051D90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0868C4 7F051D94 AFBF0014 */ sw $ra, 0x14($sp) -/* 0868C8 7F051D98 0FC10153 */ jal init_standard_object -/* 0868CC 7F051D9C 00000000 */ nop -/* 0868D0 7F051DA0 10400008 */ beqz $v0, .L7F051DC4 -/* 0868D4 7F051DA4 00403025 */ move $a2, $v0 -/* 0868D8 7F051DA8 240E0004 */ li $t6, 4 -/* 0868DC 7F051DAC A04E0000 */ sb $t6, ($v0) -/* 0868E0 7F051DB0 AFA20020 */ sw $v0, 0x20($sp) -/* 0868E4 7F051DB4 00402025 */ move $a0, $v0 -/* 0868E8 7F051DB8 0FC1495D */ jal sub_GAME_7F052574 -/* 0868EC 7F051DBC 00002825 */ move $a1, $zero -/* 0868F0 7F051DC0 8FA60020 */ lw $a2, 0x20($sp) -.L7F051DC4: -/* 0868F4 7F051DC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0868F8 7F051DC8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0868FC 7F051DCC 00C01025 */ move $v0, $a2 -/* 086900 7F051DD0 03E00008 */ jr $ra -/* 086904 7F051DD4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051DD8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051DD8 -/* 086908 7F051DD8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08690C 7F051DDC AFBF0014 */ sw $ra, 0x14($sp) -/* 086910 7F051DE0 0FC101BE */ jal sub_GAME_7F0406F8 -/* 086914 7F051DE4 00000000 */ nop -/* 086918 7F051DE8 10400007 */ beqz $v0, .L7F051E08 -/* 08691C 7F051DEC 00402025 */ move $a0, $v0 -/* 086920 7F051DF0 240E0004 */ li $t6, 4 -/* 086924 7F051DF4 A04E0000 */ sb $t6, ($v0) -/* 086928 7F051DF8 AFA2001C */ sw $v0, 0x1c($sp) -/* 08692C 7F051DFC 0FC1495D */ jal sub_GAME_7F052574 -/* 086930 7F051E00 00002825 */ move $a1, $zero -/* 086934 7F051E04 8FA4001C */ lw $a0, 0x1c($sp) -.L7F051E08: -/* 086938 7F051E08 8FBF0014 */ lw $ra, 0x14($sp) -/* 08693C 7F051E0C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 086940 7F051E10 00801025 */ move $v0, $a0 -/* 086944 7F051E14 03E00008 */ jr $ra -/* 086948 7F051E18 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051E1C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051E1C -/* 08694C 7F051E1C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 086950 7F051E20 AFBF0014 */ sw $ra, 0x14($sp) -/* 086954 7F051E24 8C820008 */ lw $v0, 8($a0) -/* 086958 7F051E28 00A03825 */ move $a3, $a1 -/* 08695C 7F051E2C 00803025 */ move $a2, $a0 -/* 086960 7F051E30 000270C0 */ sll $t6, $v0, 3 -/* 086964 7F051E34 05C10003 */ bgez $t6, .L7F051E44 -/* 086968 7F051E38 00002825 */ move $a1, $zero -/* 08696C 7F051E3C 10000001 */ b .L7F051E44 -/* 086970 7F051E40 24050001 */ li $a1, 1 -.L7F051E44: -/* 086974 7F051E44 8CC40010 */ lw $a0, 0x10($a2) -/* 086978 7F051E48 50800035 */ beql $a0, $zero, .L7F051F20 -/* 08697C 7F051E4C 24020001 */ li $v0, 1 -/* 086980 7F051E50 8CC30014 */ lw $v1, 0x14($a2) -/* 086984 7F051E54 00027880 */ sll $t7, $v0, 2 -/* 086988 7F051E58 50600031 */ beql $v1, $zero, .L7F051F20 -/* 08698C 7F051E5C 24020001 */ li $v0, 1 -/* 086990 7F051E60 05E0002C */ bltz $t7, .L7F051F14 -/* 086994 7F051E64 00000000 */ nop -/* 086998 7F051E68 00052080 */ sll $a0, $a1, 2 -/* 08699C 7F051E6C 00E41021 */ addu $v0, $a3, $a0 -/* 0869A0 7F051E70 8C580160 */ lw $t8, 0x160($v0) -/* 0869A4 7F051E74 17000025 */ bnez $t8, .L7F051F0C -/* 0869A8 7F051E78 00000000 */ nop -/* 0869AC 7F051E7C 8CF9001C */ lw $t9, 0x1c($a3) -/* 0869B0 7F051E80 14800008 */ bnez $a0, .L7F051EA4 -/* 0869B4 7F051E84 AC790018 */ sw $t9, 0x18($v1) -/* 0869B8 7F051E88 8CE8001C */ lw $t0, 0x1c($a3) -/* 0869BC 7F051E8C 8CCC0014 */ lw $t4, 0x14($a2) -/* 0869C0 7F051E90 8D090008 */ lw $t1, 8($t0) -/* 0869C4 7F051E94 8D2A0008 */ lw $t2, 8($t1) -/* 0869C8 7F051E98 8D4B000C */ lw $t3, 0xc($t2) -/* 0869CC 7F051E9C 10000007 */ b .L7F051EBC -/* 0869D0 7F051EA0 AD8B001C */ sw $t3, 0x1c($t4) -.L7F051EA4: -/* 0869D4 7F051EA4 8CED001C */ lw $t5, 0x1c($a3) -/* 0869D8 7F051EA8 8CD90014 */ lw $t9, 0x14($a2) -/* 0869DC 7F051EAC 8DAE0008 */ lw $t6, 8($t5) -/* 0869E0 7F051EB0 8DCF0008 */ lw $t7, 8($t6) -/* 0869E4 7F051EB4 8DF80014 */ lw $t8, 0x14($t7) -/* 0869E8 7F051EB8 AF38001C */ sw $t8, 0x1c($t9) -.L7F051EBC: -/* 0869EC 7F051EBC 8CC80010 */ lw $t0, 0x10($a2) -/* 0869F0 7F051EC0 00045823 */ negu $t3, $a0 -/* 0869F4 7F051EC4 00EB6021 */ addu $t4, $a3, $t3 -/* 0869F8 7F051EC8 AC480160 */ sw $t0, 0x160($v0) -/* 0869FC 7F051ECC 8CC90008 */ lw $t1, 8($a2) -/* 086A00 7F051ED0 00095000 */ sll $t2, $t1, 0 -/* 086A04 7F051ED4 0541000B */ bgez $t2, .L7F051F04 -/* 086A08 7F051ED8 00000000 */ nop -/* 086A0C 7F051EDC 8D820164 */ lw $v0, 0x164($t4) -/* 086A10 7F051EE0 00C02025 */ move $a0, $a2 -/* 086A14 7F051EE4 10400007 */ beqz $v0, .L7F051F04 -/* 086A18 7F051EE8 00000000 */ nop -/* 086A1C 7F051EEC 8C450004 */ lw $a1, 4($v0) -/* 086A20 7F051EF0 AFA7001C */ sw $a3, 0x1c($sp) -/* 086A24 7F051EF4 0FC1475D */ jal link_objects -/* 086A28 7F051EF8 AFA60018 */ sw $a2, 0x18($sp) -/* 086A2C 7F051EFC 8FA60018 */ lw $a2, 0x18($sp) -/* 086A30 7F051F00 8FA7001C */ lw $a3, 0x1c($sp) -.L7F051F04: -/* 086A34 7F051F04 10000003 */ b .L7F051F14 -/* 086A38 7F051F08 8CC40010 */ lw $a0, 0x10($a2) -.L7F051F0C: -/* 086A3C 7F051F0C 10000004 */ b .L7F051F20 -/* 086A40 7F051F10 00001025 */ move $v0, $zero -.L7F051F14: -/* 086A44 7F051F14 0FC0E969 */ jal sub_GAME_7F03A5A4 -/* 086A48 7F051F18 8CE50018 */ lw $a1, 0x18($a3) -/* 086A4C 7F051F1C 24020001 */ li $v0, 1 -.L7F051F20: -/* 086A50 7F051F20 8FBF0014 */ lw $ra, 0x14($sp) -/* 086A54 7F051F24 27BD0018 */ addiu $sp, $sp, 0x18 -/* 086A58 7F051F28 03E00008 */ jr $ra -/* 086A5C 7F051F2C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051F30(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051F30 -/* 086A60 7F051F30 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 086A64 7F051F34 AFA50024 */ sw $a1, 0x24($sp) -/* 086A68 7F051F38 AFA60028 */ sw $a2, 0x28($sp) -/* 086A6C 7F051F3C 00C02825 */ move $a1, $a2 -/* 086A70 7F051F40 AFBF001C */ sw $ra, 0x1c($sp) -/* 086A74 7F051F44 AFB00018 */ sw $s0, 0x18($sp) -/* 086A78 7F051F48 AFA7002C */ sw $a3, 0x2c($sp) -/* 086A7C 7F051F4C 00E03025 */ move $a2, $a3 -/* 086A80 7F051F50 00808025 */ move $s0, $a0 -/* 086A84 7F051F54 0FC14764 */ jal complete_object_data_block_return_position_entry -/* 086A88 7F051F58 8FA70030 */ lw $a3, 0x30($sp) -/* 086A8C 7F051F5C 10400018 */ beqz $v0, .L7F051FC0 -/* 086A90 7F051F60 AFA2002C */ sw $v0, 0x2c($sp) -/* 086A94 7F051F64 8E040014 */ lw $a0, 0x14($s0) -/* 086A98 7F051F68 50800016 */ beql $a0, $zero, .L7F051FC4 -/* 086A9C 7F051F6C 8FBF001C */ lw $ra, 0x1c($sp) -/* 086AA0 7F051F70 960E0000 */ lhu $t6, ($s0) -/* 086AA4 7F051F74 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 086AA8 7F051F78 448E2000 */ mtc1 $t6, $f4 -/* 086AAC 7F051F7C 05C10004 */ bgez $t6, .L7F051F90 -/* 086AB0 7F051F80 468021A0 */ cvt.s.w $f6, $f4 -/* 086AB4 7F051F84 44814000 */ mtc1 $at, $f8 -/* 086AB8 7F051F88 00000000 */ nop -/* 086ABC 7F051F8C 46083180 */ add.s $f6, $f6, $f8 -.L7F051F90: -/* 086AC0 7F051F90 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 086AC4 7F051F94 44815000 */ mtc1 $at, $f10 -/* 086AC8 7F051F98 C4900014 */ lwc1 $f16, 0x14($a0) -/* 086ACC 7F051F9C 460A3002 */ mul.s $f0, $f6, $f10 -/* 086AD0 7F051FA0 00000000 */ nop -/* 086AD4 7F051FA4 46008482 */ mul.s $f18, $f16, $f0 -/* 086AD8 7F051FA8 44059000 */ mfc1 $a1, $f18 -/* 086ADC 7F051FAC 0FC1B39E */ jal set_obj_instance_controller_scale -/* 086AE0 7F051FB0 00000000 */ nop -/* 086AE4 7F051FB4 02002025 */ move $a0, $s0 -/* 086AE8 7F051FB8 0FC14787 */ jal sub_GAME_7F051E1C -/* 086AEC 7F051FBC 8FA50024 */ lw $a1, 0x24($sp) -.L7F051FC0: -/* 086AF0 7F051FC0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F051FC4: -/* 086AF4 7F051FC4 8FA2002C */ lw $v0, 0x2c($sp) -/* 086AF8 7F051FC8 8FB00018 */ lw $s0, 0x18($sp) -/* 086AFC 7F051FCC 03E00008 */ jr $ra -/* 086B00 7F051FD0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F051FD4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F051FD4 -/* 086B04 7F051FD4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 086B08 7F051FD8 AFBF001C */ sw $ra, 0x1c($sp) -/* 086B0C 7F051FDC AFA40028 */ sw $a0, 0x28($sp) -/* 086B10 7F051FE0 AFA5002C */ sw $a1, 0x2c($sp) -/* 086B14 7F051FE4 84840004 */ lh $a0, 4($a0) -/* 086B18 7F051FE8 0FC15B0E */ jal load_model -/* 086B1C 7F051FEC AFA40020 */ sw $a0, 0x20($sp) -/* 086B20 7F051FF0 8FAF0020 */ lw $t7, 0x20($sp) -/* 086B24 7F051FF4 3C068004 */ lui $a2, %hi(PitemZ_entries) -/* 086B28 7F051FF8 8FA40028 */ lw $a0, 0x28($sp) -/* 086B2C 7F051FFC 000FC080 */ sll $t8, $t7, 2 -/* 086B30 7F052000 030FC023 */ subu $t8, $t8, $t7 -/* 086B34 7F052004 0018C080 */ sll $t8, $t8, 2 -/* 086B38 7F052008 00D83021 */ addu $a2, $a2, $t8 -/* 086B3C 7F05200C 8CC6A228 */ lw $a2, %lo(PitemZ_entries)($a2) -/* 086B40 7F052010 8FA5002C */ lw $a1, 0x2c($sp) -/* 086B44 7F052014 00003825 */ move $a3, $zero -/* 086B48 7F052018 0FC147CC */ jal sub_GAME_7F051F30 -/* 086B4C 7F05201C AFA00010 */ sw $zero, 0x10($sp) -/* 086B50 7F052020 8FBF001C */ lw $ra, 0x1c($sp) -/* 086B54 7F052024 27BD0028 */ addiu $sp, $sp, 0x28 -/* 086B58 7F052028 03E00008 */ jr $ra -/* 086B5C 7F05202C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F052030(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F052030 -/* 086B60 7F052030 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 086B64 7F052034 AFBF0014 */ sw $ra, 0x14($sp) -/* 086B68 7F052038 8C8E0074 */ lw $t6, 0x74($a0) -/* 086B6C 7F05203C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 086B70 7F052040 44814000 */ mtc1 $at, $f8 -/* 086B74 7F052044 448E2000 */ mtc1 $t6, $f4 -/* 086B78 7F052048 00000000 */ nop -/* 086B7C 7F05204C 468021A0 */ cvt.s.w $f6, $f4 -/* 086B80 7F052050 46083283 */ div.s $f10, $f6, $f8 -/* 086B84 7F052054 0FC147F5 */ jal sub_GAME_7F051FD4 -/* 086B88 7F052058 E48A0074 */ swc1 $f10, 0x74($a0) -/* 086B8C 7F05205C 8FBF0014 */ lw $ra, 0x14($sp) -/* 086B90 7F052060 27BD0018 */ addiu $sp, $sp, 0x18 -/* 086B94 7F052064 03E00008 */ jr $ra -/* 086B98 7F052068 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void create_new_item_instance_of_model(void) { - -} -#else -GLOBAL_ASM( -.text -glabel create_new_item_instance_of_model -/* 086B9C 7F05206C 00047080 */ sll $t6, $a0, 2 -/* 086BA0 7F052070 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 086BA4 7F052074 01C47023 */ subu $t6, $t6, $a0 -/* 086BA8 7F052078 000E7080 */ sll $t6, $t6, 2 -/* 086BAC 7F05207C 3C0F8004 */ lui $t7, %hi(PitemZ_entries) -/* 086BB0 7F052080 01EE7821 */ addu $t7, $t7, $t6 -/* 086BB4 7F052084 8DEFA228 */ lw $t7, %lo(PitemZ_entries)($t7) -/* 086BB8 7F052088 AFBF001C */ sw $ra, 0x1c($sp) -/* 086BBC 7F05208C AFB10018 */ sw $s1, 0x18($sp) -/* 086BC0 7F052090 AFB00014 */ sw $s0, 0x14($sp) -/* 086BC4 7F052094 AFA500BC */ sw $a1, 0xbc($sp) -/* 086BC8 7F052098 AFA400B8 */ sw $a0, 0xb8($sp) -/* 086BCC 7F05209C 0FC15B0E */ jal load_model -/* 086BD0 7F0520A0 AFAF00B4 */ sw $t7, 0xb4($sp) -/* 086BD4 7F0520A4 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 086BD8 7F0520A8 00000000 */ nop -/* 086BDC 7F0520AC 00408025 */ move $s0, $v0 -/* 086BE0 7F0520B0 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 086BE4 7F0520B4 8FA400B4 */ lw $a0, 0xb4($sp) -/* 086BE8 7F0520B8 2E040001 */ sltiu $a0, $s0, 1 -/* 086BEC 7F0520BC 2C450001 */ sltiu $a1, $v0, 1 -/* 086BF0 7F0520C0 8FA600B4 */ lw $a2, 0xb4($sp) -/* 086BF4 7F0520C4 0FC1449B */ jal sub_GAME_7F05126C -/* 086BF8 7F0520C8 AFA200AC */ sw $v0, 0xac($sp) -/* 086BFC 7F0520CC 8FA700AC */ lw $a3, 0xac($sp) -/* 086C00 7F0520D0 16000005 */ bnez $s0, .L7F0520E8 -/* 086C04 7F0520D4 00408825 */ move $s1, $v0 -/* 086C08 7F0520D8 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 086C0C 7F0520DC AFA700AC */ sw $a3, 0xac($sp) -/* 086C10 7F0520E0 8FA700AC */ lw $a3, 0xac($sp) -/* 086C14 7F0520E4 00408025 */ move $s0, $v0 -.L7F0520E8: -/* 086C18 7F0520E8 14E00004 */ bnez $a3, .L7F0520FC -/* 086C1C 7F0520EC 00000000 */ nop -/* 086C20 7F0520F0 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 086C24 7F0520F4 8FA400B4 */ lw $a0, 0xb4($sp) -/* 086C28 7F0520F8 00403825 */ move $a3, $v0 -.L7F0520FC: -/* 086C2C 7F0520FC 1220002C */ beqz $s1, .L7F0521B0 -/* 086C30 7F052100 00000000 */ nop -/* 086C34 7F052104 1200002A */ beqz $s0, .L7F0521B0 -/* 086C38 7F052108 00000000 */ nop -/* 086C3C 7F05210C 10E00028 */ beqz $a3, .L7F0521B0 -/* 086C40 7F052110 27A20020 */ addiu $v0, $sp, 0x20 -/* 086C44 7F052114 3C188003 */ lui $t8, %hi(blank_08_object_preset_1) -/* 086C48 7F052118 27182194 */ addiu $t8, %lo(blank_08_object_preset_1) # addiu $t8, $t8, 0x2194 -/* 086C4C 7F05211C 27080084 */ addiu $t0, $t8, 0x84 -/* 086C50 7F052120 00404825 */ move $t1, $v0 -.L7F052124: -/* 086C54 7F052124 8F010000 */ lw $at, ($t8) -/* 086C58 7F052128 2718000C */ addiu $t8, $t8, 0xc -/* 086C5C 7F05212C 2529000C */ addiu $t1, $t1, 0xc -/* 086C60 7F052130 AD21FFF4 */ sw $at, -0xc($t1) -/* 086C64 7F052134 8F01FFF8 */ lw $at, -8($t8) -/* 086C68 7F052138 AD21FFF8 */ sw $at, -8($t1) -/* 086C6C 7F05213C 8F01FFFC */ lw $at, -4($t8) -/* 086C70 7F052140 1708FFF8 */ bne $t8, $t0, .L7F052124 -/* 086C74 7F052144 AD21FFFC */ sw $at, -4($t1) -/* 086C78 7F052148 8F010000 */ lw $at, ($t8) -/* 086C7C 7F05214C 00406025 */ move $t4, $v0 -/* 086C80 7F052150 02206825 */ move $t5, $s1 -/* 086C84 7F052154 244B0084 */ addiu $t3, $v0, 0x84 -/* 086C88 7F052158 AD210000 */ sw $at, ($t1) -.L7F05215C: -/* 086C8C 7F05215C 8D810000 */ lw $at, ($t4) -/* 086C90 7F052160 258C000C */ addiu $t4, $t4, 0xc -/* 086C94 7F052164 25AD000C */ addiu $t5, $t5, 0xc -/* 086C98 7F052168 ADA1FFF4 */ sw $at, -0xc($t5) -/* 086C9C 7F05216C 8D81FFF8 */ lw $at, -8($t4) -/* 086CA0 7F052170 ADA1FFF8 */ sw $at, -8($t5) -/* 086CA4 7F052174 8D81FFFC */ lw $at, -4($t4) -/* 086CA8 7F052178 158BFFF8 */ bne $t4, $t3, .L7F05215C -/* 086CAC 7F05217C ADA1FFFC */ sw $at, -4($t5) -/* 086CB0 7F052180 8D810000 */ lw $at, ($t4) -/* 086CB4 7F052184 02202025 */ move $a0, $s1 -/* 086CB8 7F052188 02003025 */ move $a2, $s0 -/* 086CBC 7F05218C ADA10000 */ sw $at, ($t5) -/* 086CC0 7F052190 8FAE00BC */ lw $t6, 0xbc($sp) -/* 086CC4 7F052194 A22E0080 */ sb $t6, 0x80($s1) -/* 086CC8 7F052198 8FAF00B8 */ lw $t7, 0xb8($sp) -/* 086CCC 7F05219C A62F0004 */ sh $t7, 4($s1) -/* 086CD0 7F0521A0 0FC14764 */ jal complete_object_data_block_return_position_entry -/* 086CD4 7F0521A4 8FA500B4 */ lw $a1, 0xb4($sp) -/* 086CD8 7F0521A8 1000000A */ b .L7F0521D4 -/* 086CDC 7F0521AC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0521B0: -/* 086CE0 7F0521B0 10E00003 */ beqz $a3, .L7F0521C0 -/* 086CE4 7F0521B4 00008825 */ move $s1, $zero -/* 086CE8 7F0521B8 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 086CEC 7F0521BC 00E02025 */ move $a0, $a3 -.L7F0521C0: -/* 086CF0 7F0521C0 52000004 */ beql $s0, $zero, .L7F0521D4 -/* 086CF4 7F0521C4 8FBF001C */ lw $ra, 0x1c($sp) -/* 086CF8 7F0521C8 0FC0E921 */ jal set_last_obj_pos_data -/* 086CFC 7F0521CC 02002025 */ move $a0, $s0 -/* 086D00 7F0521D0 8FBF001C */ lw $ra, 0x1c($sp) -.L7F0521D4: -/* 086D04 7F0521D4 02201025 */ move $v0, $s1 -/* 086D08 7F0521D8 8FB10018 */ lw $s1, 0x18($sp) -/* 086D0C 7F0521DC 8FB00014 */ lw $s0, 0x14($sp) -/* 086D10 7F0521E0 03E00008 */ jr $ra -/* 086D14 7F0521E4 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - -#ifdef NONMATCHING -void set_0x4_in_runtime_flags_for_item_in_guards_hand(PCHRdata chr, int hand_index) { - // BROKEN: we need to first identify the struct assigned to handle_positiondata ptr - // function used to remove item from right/left hand or something, maybe position holding data? - void **item_in_hand_ptr; - - if (chr->handle_positiondata[hand_index] != 0) - { - item_in_hand_ptr = chr->handle_positiondata[hand_index] + 4; - item_in_hand_ptr[0x19] = (s32)(item_in_hand_ptr[0x19]) | 4; - } -} -#else -GLOBAL_ASM( -.text -glabel set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 086D18 7F0521E8 00057080 */ sll $t6, $a1, 2 -/* 086D1C 7F0521EC 008E7821 */ addu $t7, $a0, $t6 -/* 086D20 7F0521F0 8DE20160 */ lw $v0, 0x160($t7) -/* 086D24 7F0521F4 10400005 */ beqz $v0, .L7F05220C -/* 086D28 7F0521F8 00000000 */ nop -/* 086D2C 7F0521FC 8C430004 */ lw $v1, 4($v0) -/* 086D30 7F052200 8C780064 */ lw $t8, 0x64($v1) -/* 086D34 7F052204 37190004 */ ori $t9, $t8, 4 -/* 086D38 7F052208 AC790064 */ sw $t9, 0x64($v1) -.L7F05220C: -/* 086D3C 7F05220C 03E00008 */ jr $ra -/* 086D40 7F052210 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -void something_with_generating_object(void) { - -} -#else -GLOBAL_ASM( -.text -glabel something_with_generating_object -/* 086D44 7F052214 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 086D48 7F052218 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 086D4C 7F05221C AFBF002C */ sw $ra, 0x2c($sp) -/* 086D50 7F052220 AFB20028 */ sw $s2, 0x28($sp) -/* 086D54 7F052224 AFB10024 */ sw $s1, 0x24($sp) -/* 086D58 7F052228 AFB00020 */ sw $s0, 0x20($sp) -/* 086D5C 7F05222C AFA400C0 */ sw $a0, 0xc0($sp) -/* 086D60 7F052230 AFA500C4 */ sw $a1, 0xc4($sp) -/* 086D64 7F052234 AFA600C8 */ sw $a2, 0xc8($sp) -/* 086D68 7F052238 15C0000A */ bnez $t6, .L7F052264 -/* 086D6C 7F05223C AFA700CC */ sw $a3, 0xcc($sp) -/* 086D70 7F052240 0005C080 */ sll $t8, $a1, 2 -/* 086D74 7F052244 0305C023 */ subu $t8, $t8, $a1 -/* 086D78 7F052248 0018C080 */ sll $t8, $t8, 2 -/* 086D7C 7F05224C 3C198004 */ lui $t9, %hi(PitemZ_entries) -/* 086D80 7F052250 0338C821 */ addu $t9, $t9, $t8 -/* 086D84 7F052254 8F39A228 */ lw $t9, %lo(PitemZ_entries)($t9) -/* 086D88 7F052258 00A02025 */ move $a0, $a1 -/* 086D8C 7F05225C 0FC15B0E */ jal load_model -/* 086D90 7F052260 AFB900D4 */ sw $t9, 0xd4($sp) -.L7F052264: -/* 086D94 7F052264 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 086D98 7F052268 00000000 */ nop -/* 086D9C 7F05226C 00408825 */ move $s1, $v0 -/* 086DA0 7F052270 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 086DA4 7F052274 8FA400D4 */ lw $a0, 0xd4($sp) -/* 086DA8 7F052278 8FB000D0 */ lw $s0, 0xd0($sp) -/* 086DAC 7F05227C 00409025 */ move $s2, $v0 -/* 086DB0 7F052280 2E240001 */ sltiu $a0, $s1, 1 -/* 086DB4 7F052284 16000004 */ bnez $s0, .L7F052298 -/* 086DB8 7F052288 2C450001 */ sltiu $a1, $v0, 1 -/* 086DBC 7F05228C 0FC1449B */ jal sub_GAME_7F05126C -/* 086DC0 7F052290 8FA600D4 */ lw $a2, 0xd4($sp) -/* 086DC4 7F052294 00408025 */ move $s0, $v0 -.L7F052298: -/* 086DC8 7F052298 16200004 */ bnez $s1, .L7F0522AC -/* 086DCC 7F05229C 00000000 */ nop -/* 086DD0 7F0522A0 0FC0E90C */ jal remove_last_obj_pos_data_entry -/* 086DD4 7F0522A4 00000000 */ nop -/* 086DD8 7F0522A8 00408825 */ move $s1, $v0 -.L7F0522AC: -/* 086DDC 7F0522AC 16400004 */ bnez $s2, .L7F0522C0 -/* 086DE0 7F0522B0 00000000 */ nop -/* 086DE4 7F0522B4 0FC1B025 */ jal get_obj_instance_controller_for_header -/* 086DE8 7F0522B8 8FA400D4 */ lw $a0, 0xd4($sp) -/* 086DEC 7F0522BC 00409025 */ move $s2, $v0 -.L7F0522C0: -/* 086DF0 7F0522C0 12000034 */ beqz $s0, .L7F052394 -/* 086DF4 7F0522C4 00000000 */ nop -/* 086DF8 7F0522C8 12200032 */ beqz $s1, .L7F052394 -/* 086DFC 7F0522CC 00000000 */ nop -/* 086E00 7F0522D0 12400030 */ beqz $s2, .L7F052394 -/* 086E04 7F0522D4 27A20030 */ addiu $v0, $sp, 0x30 -/* 086E08 7F0522D8 3C088003 */ lui $t0, %hi(blank_08_object_preset_4001) -/* 086E0C 7F0522DC 2508221C */ addiu $t0, %lo(blank_08_object_preset_4001) # addiu $t0, $t0, 0x221c -/* 086E10 7F0522E0 250A0084 */ addiu $t2, $t0, 0x84 -/* 086E14 7F0522E4 00405825 */ move $t3, $v0 -.L7F0522E8: -/* 086E18 7F0522E8 8D010000 */ lw $at, ($t0) -/* 086E1C 7F0522EC 2508000C */ addiu $t0, $t0, 0xc -/* 086E20 7F0522F0 256B000C */ addiu $t3, $t3, 0xc -/* 086E24 7F0522F4 AD61FFF4 */ sw $at, -0xc($t3) -/* 086E28 7F0522F8 8D01FFF8 */ lw $at, -8($t0) -/* 086E2C 7F0522FC AD61FFF8 */ sw $at, -8($t3) -/* 086E30 7F052300 8D01FFFC */ lw $at, -4($t0) -/* 086E34 7F052304 150AFFF8 */ bne $t0, $t2, .L7F0522E8 -/* 086E38 7F052308 AD61FFFC */ sw $at, -4($t3) -/* 086E3C 7F05230C 8D010000 */ lw $at, ($t0) -/* 086E40 7F052310 00407025 */ move $t6, $v0 -/* 086E44 7F052314 0200C025 */ move $t8, $s0 -/* 086E48 7F052318 244D0084 */ addiu $t5, $v0, 0x84 -/* 086E4C 7F05231C AD610000 */ sw $at, ($t3) -.L7F052320: -/* 086E50 7F052320 8DC10000 */ lw $at, ($t6) -/* 086E54 7F052324 25CE000C */ addiu $t6, $t6, 0xc -/* 086E58 7F052328 2718000C */ addiu $t8, $t8, 0xc -/* 086E5C 7F05232C AF01FFF4 */ sw $at, -0xc($t8) -/* 086E60 7F052330 8DC1FFF8 */ lw $at, -8($t6) -/* 086E64 7F052334 AF01FFF8 */ sw $at, -8($t8) -/* 086E68 7F052338 8DC1FFFC */ lw $at, -4($t6) -/* 086E6C 7F05233C 15CDFFF8 */ bne $t6, $t5, .L7F052320 -/* 086E70 7F052340 AF01FFFC */ sw $at, -4($t8) -/* 086E74 7F052344 8DC10000 */ lw $at, ($t6) -/* 086E78 7F052348 02002025 */ move $a0, $s0 -/* 086E7C 7F05234C 02203825 */ move $a3, $s1 -/* 086E80 7F052350 AF010000 */ sw $at, ($t8) -/* 086E84 7F052354 8FB900C8 */ lw $t9, 0xc8($sp) -/* 086E88 7F052358 A2190080 */ sb $t9, 0x80($s0) -/* 086E8C 7F05235C 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 086E90 7F052360 A60F0004 */ sh $t7, 4($s0) -/* 086E94 7F052364 8FA900CC */ lw $t1, 0xcc($sp) -/* 086E98 7F052368 352A4000 */ ori $t2, $t1, 0x4000 -/* 086E9C 7F05236C AE0A0008 */ sw $t2, 8($s0) -/* 086EA0 7F052370 8FA800C0 */ lw $t0, 0xc0($sp) -/* 086EA4 7F052374 850B0000 */ lh $t3, ($t0) -/* 086EA8 7F052378 A60B0006 */ sh $t3, 6($s0) -/* 086EAC 7F05237C AFB20010 */ sw $s2, 0x10($sp) -/* 086EB0 7F052380 8FA600D4 */ lw $a2, 0xd4($sp) -/* 086EB4 7F052384 0FC147CC */ jal sub_GAME_7F051F30 -/* 086EB8 7F052388 8FA500C0 */ lw $a1, 0xc0($sp) -/* 086EBC 7F05238C 1000000A */ b .L7F0523B8 -/* 086EC0 7F052390 00408825 */ move $s1, $v0 -.L7F052394: -/* 086EC4 7F052394 12400003 */ beqz $s2, .L7F0523A4 -/* 086EC8 7F052398 00000000 */ nop -/* 086ECC 7F05239C 0FC1B08D */ jal set_obj_instance_scale_to_zero -/* 086ED0 7F0523A0 02402025 */ move $a0, $s2 -.L7F0523A4: -/* 086ED4 7F0523A4 52200005 */ beql $s1, $zero, .L7F0523BC -/* 086ED8 7F0523A8 8FBF002C */ lw $ra, 0x2c($sp) -/* 086EDC 7F0523AC 0FC0E921 */ jal set_last_obj_pos_data -/* 086EE0 7F0523B0 02202025 */ move $a0, $s1 -/* 086EE4 7F0523B4 00008825 */ move $s1, $zero -.L7F0523B8: -/* 086EE8 7F0523B8 8FBF002C */ lw $ra, 0x2c($sp) -.L7F0523BC: -/* 086EEC 7F0523BC 02201025 */ move $v0, $s1 -/* 086EF0 7F0523C0 8FB10024 */ lw $s1, 0x24($sp) -/* 086EF4 7F0523C4 8FB00020 */ lw $s0, 0x20($sp) -/* 086EF8 7F0523C8 8FB20028 */ lw $s2, 0x28($sp) -/* 086EFC 7F0523CC 03E00008 */ jr $ra -/* 086F00 7F0523D0 27BD00C0 */ addiu $sp, $sp, 0xc0 -) -#endif - - - - - -#ifdef NONMATCHING -void actor_draws_weapon_with_model(void) { - -} -#else -GLOBAL_ASM( -.text -glabel actor_draws_weapon_with_model -/* 086F04 7F0523D4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 086F08 7F0523D8 AFBF001C */ sw $ra, 0x1c($sp) -/* 086F0C 7F0523DC AFA00010 */ sw $zero, 0x10($sp) -/* 086F10 7F0523E0 0FC14885 */ jal something_with_generating_object -/* 086F14 7F0523E4 AFA00014 */ sw $zero, 0x14($sp) -/* 086F18 7F0523E8 8FBF001C */ lw $ra, 0x1c($sp) -/* 086F1C 7F0523EC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 086F20 7F0523F0 03E00008 */ jr $ra -/* 086F24 7F0523F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0523F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0523F8 -/* 086F28 7F0523F8 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 086F2C 7F0523FC AFBF001C */ sw $ra, 0x1c($sp) -/* 086F30 7F052400 AFB10018 */ sw $s1, 0x18($sp) -/* 086F34 7F052404 AFB00014 */ sw $s0, 0x14($sp) -/* 086F38 7F052408 AFA500BC */ sw $a1, 0xbc($sp) -/* 086F3C 7F05240C AFA600C0 */ sw $a2, 0xc0($sp) -/* 086F40 7F052410 8C870004 */ lw $a3, 4($a0) -/* 086F44 7F052414 00E02025 */ move $a0, $a3 -/* 086F48 7F052418 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand -/* 086F4C 7F05241C AFA700B4 */ sw $a3, 0xb4($sp) -/* 086F50 7F052420 8FA700B4 */ lw $a3, 0xb4($sp) -/* 086F54 7F052424 10400046 */ beqz $v0, .L7F052540 -/* 086F58 7F052428 00401825 */ move $v1, $v0 -/* 086F5C 7F05242C 8C500004 */ lw $s0, 4($v0) -/* 086F60 7F052430 8E0E0064 */ lw $t6, 0x64($s0) -/* 086F64 7F052434 31CF0800 */ andi $t7, $t6, 0x800 -/* 086F68 7F052438 55E0003F */ bnezl $t7, .L7F052538 -/* 086F6C 7F05243C 90480001 */ lbu $t0, 1($v0) -/* 086F70 7F052440 8E18000C */ lw $t8, 0xc($s0) -/* 086F74 7F052444 3C098003 */ lui $t1, %hi(D_800322A4) -/* 086F78 7F052448 252922A4 */ addiu $t1, %lo(D_800322A4) # addiu $t1, $t1, 0x22a4 -/* 086F7C 7F05244C 0018CB00 */ sll $t9, $t8, 0xc -/* 086F80 7F052450 07200038 */ bltz $t9, .L7F052534 -/* 086F84 7F052454 27A80068 */ addiu $t0, $sp, 0x68 -/* 086F88 7F052458 8E110014 */ lw $s1, 0x14($s0) -/* 086F8C 7F05245C 252B003C */ addiu $t3, $t1, 0x3c -.L7F052460: -/* 086F90 7F052460 8D210000 */ lw $at, ($t1) -/* 086F94 7F052464 2529000C */ addiu $t1, $t1, 0xc -/* 086F98 7F052468 2508000C */ addiu $t0, $t0, 0xc -/* 086F9C 7F05246C AD01FFF4 */ sw $at, -0xc($t0) -/* 086FA0 7F052470 8D21FFF8 */ lw $at, -8($t1) -/* 086FA4 7F052474 AD01FFF8 */ sw $at, -8($t0) -/* 086FA8 7F052478 8D21FFFC */ lw $at, -4($t1) -/* 086FAC 7F05247C 152BFFF8 */ bne $t1, $t3, .L7F052460 -/* 086FB0 7F052480 AD01FFFC */ sw $at, -4($t0) -/* 086FB4 7F052484 8D210000 */ lw $at, ($t1) -/* 086FB8 7F052488 00003025 */ move $a2, $zero -/* 086FBC 7F05248C AD010000 */ sw $at, ($t0) -/* 086FC0 7F052490 906C0001 */ lbu $t4, 1($v1) -/* 086FC4 7F052494 8CE4001C */ lw $a0, 0x1c($a3) -/* 086FC8 7F052498 358D0002 */ ori $t5, $t4, 2 -/* 086FCC 7F05249C A06D0001 */ sb $t5, 1($v1) -/* 086FD0 7F0524A0 0FC1B198 */ jal sub_GAME_7F06C660 -/* 086FD4 7F0524A4 8E25001C */ lw $a1, 0x1c($s1) -/* 086FD8 7F0524A8 8FAE00BC */ lw $t6, 0xbc($sp) -/* 086FDC 7F0524AC 24010001 */ li $at, 1 -/* 086FE0 7F0524B0 AFA20068 */ sw $v0, 0x68($sp) -/* 086FE4 7F0524B4 15C10009 */ bne $t6, $at, .L7F0524DC -/* 086FE8 7F0524B8 27A50020 */ addiu $a1, $sp, 0x20 -/* 086FEC 7F0524BC 3C018005 */ lui $at, %hi(D_800532F0) -/* 086FF0 7F0524C0 0FC161A2 */ jal sub_GAME_7F058688 -/* 086FF4 7F0524C4 C42C32F0 */ lwc1 $f12, %lo(D_800532F0)($at) -/* 086FF8 7F0524C8 8FA40068 */ lw $a0, 0x68($sp) -/* 086FFC 7F0524CC 0FC1601A */ jal sub_GAME_7F058068 -/* 087000 7F0524D0 27A50020 */ addiu $a1, $sp, 0x20 -/* 087004 7F0524D4 27AF0020 */ addiu $t7, $sp, 0x20 -/* 087008 7F0524D8 AFAF0068 */ sw $t7, 0x68($sp) -.L7F0524DC: -/* 08700C 7F0524DC 8E380008 */ lw $t8, 8($s1) -/* 087010 7F0524E0 8704000E */ lh $a0, 0xe($t8) -/* 087014 7F0524E4 0004C980 */ sll $t9, $a0, 6 -/* 087018 7F0524E8 0FC2F5C5 */ jal sub_GAME_7F0BD714 -/* 08701C 7F0524EC 03202025 */ move $a0, $t9 -/* 087020 7F0524F0 AFA20078 */ sw $v0, 0x78($sp) -/* 087024 7F0524F4 27A40068 */ addiu $a0, $sp, 0x68 -/* 087028 7F0524F8 0FC1BC92 */ jal instcalcmatrices -/* 08702C 7F0524FC 02202825 */ move $a1, $s1 -/* 087030 7F052500 8FA200C0 */ lw $v0, 0xc0($sp) -/* 087034 7F052504 5040000F */ beql $v0, $zero, .L7F052544 -/* 087038 7F052508 8FBF001C */ lw $ra, 0x1c($sp) -/* 08703C 7F05250C 8E0A0064 */ lw $t2, 0x64($s0) -/* 087040 7F052510 02202825 */ move $a1, $s1 -/* 087044 7F052514 314B0080 */ andi $t3, $t2, 0x80 -/* 087048 7F052518 5560000A */ bnezl $t3, .L7F052544 -/* 08704C 7F05251C 8FBF001C */ lw $ra, 0x1c($sp) -/* 087050 7F052520 0FC1AC48 */ jal sub_GAME_7F06B120 -/* 087054 7F052524 8C440000 */ lw $a0, ($v0) -/* 087058 7F052528 8FA900C0 */ lw $t1, 0xc0($sp) -/* 08705C 7F05252C 10000004 */ b .L7F052540 -/* 087060 7F052530 AD220000 */ sw $v0, ($t1) -.L7F052534: -/* 087064 7F052534 90480001 */ lbu $t0, 1($v0) -.L7F052538: -/* 087068 7F052538 310CFFFD */ andi $t4, $t0, 0xfffd -/* 08706C 7F05253C A04C0001 */ sb $t4, 1($v0) -.L7F052540: -/* 087070 7F052540 8FBF001C */ lw $ra, 0x1c($sp) -.L7F052544: -/* 087074 7F052544 8FB00014 */ lw $s0, 0x14($sp) -/* 087078 7F052548 8FB10018 */ lw $s1, 0x18($sp) -/* 08707C 7F05254C 03E00008 */ jr $ra -/* 087080 7F052550 27BD00B8 */ addiu $sp, $sp, 0xb8 -) -#endif - - - - - -#ifdef NONMATCHING -void redirect_object_collectability_routines(void) { - -} -#else -GLOBAL_ASM( -.text -glabel redirect_object_collectability_routines -/* 087084 7F052554 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 087088 7F052558 AFBF0014 */ sw $ra, 0x14($sp) -/* 08708C 7F05255C 0FC141B7 */ jal object_collectability_routines -/* 087090 7F052560 00000000 */ nop -/* 087094 7F052564 8FBF0014 */ lw $ra, 0x14($sp) -/* 087098 7F052568 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08709C 7F05256C 03E00008 */ jr $ra -/* 0870A0 7F052570 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F052574(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F052574 -/* 0870A4 7F052574 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0870A8 7F052578 AFBF0014 */ sw $ra, 0x14($sp) -/* 0870AC 7F05257C AFA50024 */ sw $a1, 0x24($sp) -/* 0870B0 7F052580 8C820004 */ lw $v0, 4($a0) -/* 0870B4 7F052584 8C460014 */ lw $a2, 0x14($v0) -/* 0870B8 7F052588 50C0001B */ beql $a2, $zero, .L7F0525F8 -/* 0870BC 7F05258C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0870C0 7F052590 8CC20008 */ lw $v0, 8($a2) -/* 0870C4 7F052594 3C0E8004 */ lui $t6, %hi(prop_weapon_related) -/* 0870C8 7F052598 25CEC4FC */ addiu $t6, %lo(prop_weapon_related) # addiu $t6, $t6, -0x3b04 -/* 0870CC 7F05259C 8C4F0004 */ lw $t7, 4($v0) -/* 0870D0 7F0525A0 55CF0015 */ bnel $t6, $t7, .L7F0525F8 -/* 0870D4 7F0525A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0870D8 7F0525A8 8C430008 */ lw $v1, 8($v0) -/* 0870DC 7F0525AC 00C02025 */ move $a0, $a2 -/* 0870E0 7F0525B0 8C650000 */ lw $a1, ($v1) -/* 0870E4 7F0525B4 50A00009 */ beql $a1, $zero, .L7F0525DC -/* 0870E8 7F0525B8 8C650008 */ lw $a1, 8($v1) -/* 0870EC 7F0525BC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 0870F0 7F0525C0 AFA60018 */ sw $a2, 0x18($sp) -/* 0870F4 7F0525C4 8FB80024 */ lw $t8, 0x24($sp) -/* 0870F8 7F0525C8 8FA60018 */ lw $a2, 0x18($sp) -/* 0870FC 7F0525CC A4580000 */ sh $t8, ($v0) -/* 087100 7F0525D0 8CD90008 */ lw $t9, 8($a2) -/* 087104 7F0525D4 8F230008 */ lw $v1, 8($t9) -/* 087108 7F0525D8 8C650008 */ lw $a1, 8($v1) -.L7F0525DC: -/* 08710C 7F0525DC 50A00006 */ beql $a1, $zero, .L7F0525F8 -/* 087110 7F0525E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 087114 7F0525E4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 087118 7F0525E8 00C02025 */ move $a0, $a2 -/* 08711C 7F0525EC 8FA80024 */ lw $t0, 0x24($sp) -/* 087120 7F0525F0 AC480000 */ sw $t0, ($v0) -/* 087124 7F0525F4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0525F8: -/* 087128 7F0525F8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08712C 7F0525FC 03E00008 */ jr $ra -/* 087130 7F052600 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F052604(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*HACK*/ -/*D:800532F4*/ -glabel jpt_hat_worn -.word model_hat_fur -.word model_hat_fur -.word model_hat_fur -.word model_hat_greencap -.word model_hat_greencap -.text -glabel sub_GAME_7F052604 -/* 087134 7F052604 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 087138 7F052608 AFBF0014 */ sw $ra, 0x14($sp) -/* 08713C 7F05260C 8C820004 */ lw $v0, 4($a0) -/* 087140 7F052610 8C460014 */ lw $a2, 0x14($v0) -/* 087144 7F052614 50C00017 */ beql $a2, $zero, .L7F052674 -/* 087148 7F052618 00001025 */ move $v0, $zero -/* 08714C 7F05261C 8CC20008 */ lw $v0, 8($a2) -/* 087150 7F052620 3C0E8004 */ lui $t6, %hi(prop_weapon_related) -/* 087154 7F052624 25CEC4FC */ addiu $t6, %lo(prop_weapon_related) # addiu $t6, $t6, -0x3b04 -/* 087158 7F052628 8C4F0004 */ lw $t7, 4($v0) -/* 08715C 7F05262C 55CF0011 */ bnel $t6, $t7, .L7F052674 -/* 087160 7F052630 00001025 */ move $v0, $zero -/* 087164 7F052634 8C430008 */ lw $v1, 8($v0) -/* 087168 7F052638 8C650000 */ lw $a1, ($v1) -/* 08716C 7F05263C 50A00006 */ beql $a1, $zero, .L7F052658 -/* 087170 7F052640 8C650008 */ lw $a1, 8($v1) -/* 087174 7F052644 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 087178 7F052648 00C02025 */ move $a0, $a2 -/* 08717C 7F05264C 10000009 */ b .L7F052674 -/* 087180 7F052650 84420000 */ lh $v0, ($v0) -/* 087184 7F052654 8C650008 */ lw $a1, 8($v1) -.L7F052658: -/* 087188 7F052658 50A00006 */ beql $a1, $zero, .L7F052674 -/* 08718C 7F05265C 00001025 */ move $v0, $zero -/* 087190 7F052660 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 087194 7F052664 00C02025 */ move $a0, $a2 -/* 087198 7F052668 10000002 */ b .L7F052674 -/* 08719C 7F05266C 8C420000 */ lw $v0, ($v0) -/* 0871A0 7F052670 00001025 */ move $v0, $zero -.L7F052674: -/* 0871A4 7F052674 8FBF0014 */ lw $ra, 0x14($sp) -/* 0871A8 7F052678 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0871AC 7F05267C 03E00008 */ jr $ra -/* 0871B0 7F052680 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void get_hat_model(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800532F4*/ -/*glabel jpt_hat_worn*/ -/*.word model_hat_fur*/ -/*.word model_hat_fur*/ -/*.word model_hat_fur*/ -/*.word model_hat_greencap*/ -/*.word model_hat_greencap*/ -.word model_hat_combat_helmet -.word model_hat_combat_helmet -.word model_hat_moonraker_headgear -.word model_hat_beret -.word model_hat_beret -.word model_hat_beret -.word model_hat_officerhat - -.text -glabel get_hat_model -/* 0871B4 7F052684 8C820004 */ lw $v0, 4($a0) -/* 0871B8 7F052688 844E0004 */ lh $t6, 4($v0) -/* 0871BC 7F05268C 2402FFFF */ li $v0, -1 -/* 0871C0 7F052690 25CFFF2C */ addiu $t7, $t6, -0xd4 -/* 0871C4 7F052694 2DE1000C */ sltiu $at, $t7, 0xc -/* 0871C8 7F052698 10200012 */ beqz $at, .L7F0526E4 -/* 0871CC 7F05269C 000F7880 */ sll $t7, $t7, 2 -/* 0871D0 7F0526A0 3C018005 */ lui $at, %hi(jpt_hat_worn) -/* 0871D4 7F0526A4 002F0821 */ addu $at, $at, $t7 -/* 0871D8 7F0526A8 8C2F32F4 */ lw $t7, %lo(jpt_hat_worn)($at) -/* 0871DC 7F0526AC 01E00008 */ jr $t7 -/* 0871E0 7F0526B0 00000000 */ nop -model_hat_fur: -/* 0871E4 7F0526B4 03E00008 */ jr $ra -/* 0871E8 7F0526B8 24020004 */ li $v0, 4 - -model_hat_greencap: -/* 0871EC 7F0526BC 03E00008 */ jr $ra -/* 0871F0 7F0526C0 24020001 */ li $v0, 1 - -model_hat_combat_helmet: -/* 0871F4 7F0526C4 03E00008 */ jr $ra -/* 0871F8 7F0526C8 24020003 */ li $v0, 3 - -model_hat_moonraker_headgear: -/* 0871FC 7F0526CC 03E00008 */ jr $ra -/* 087200 7F0526D0 24020005 */ li $v0, 5 - -model_hat_beret: -/* 087204 7F0526D4 03E00008 */ jr $ra -/* 087208 7F0526D8 00001025 */ move $v0, $zero - -model_hat_officerhat: -/* 08720C 7F0526DC 03E00008 */ jr $ra -/* 087210 7F0526E0 24020002 */ li $v0, 2 - -model_hat_default: -.L7F0526E4: -/* 087214 7F0526E4 03E00008 */ jr $ra -/* 087218 7F0526E8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0526EC(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_80053324 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053328 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005332C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053330 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053334 -.word 0x461c4000 /*10000.0*/ -glabel D_80053338 -.word 0x3ecccccd /*0.40000001*/ -glabel D_8005333C -.word 0x3ecccccd /*0.40000001*/ -glabel D_80053340 -.word 0x461c4000 /*10000.0*/ -glabel D_80053344 -.word 0x46b1de00 /*22767.0*/ -glabel D_80053348 -.word 0x459c4000 /*5000.0*/ -.text -glabel sub_GAME_7F0526EC -/* 08721C 7F0526EC 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 087220 7F0526F0 AFBF001C */ sw $ra, 0x1c($sp) -/* 087224 7F0526F4 AFB00018 */ sw $s0, 0x18($sp) -/* 087228 7F0526F8 AFA500A4 */ sw $a1, 0xa4($sp) -/* 08722C 7F0526FC 9482009A */ lhu $v0, 0x9a($a0) -/* 087230 7F052700 24010005 */ li $at, 5 -/* 087234 7F052704 00808025 */ move $s0, $a0 -/* 087238 7F052708 10410003 */ beq $v0, $at, .L7F052718 -/* 08723C 7F05270C 24010009 */ li $at, 9 -/* 087240 7F052710 544100CA */ bnel $v0, $at, .L7F052A3C -/* 087244 7F052714 24010006 */ li $at, 6 -.L7F052718: -/* 087248 7F052718 86190006 */ lh $t9, 6($s0) -/* 08724C 7F05271C 3C098007 */ lui $t1, %hi(ptr_2xxxpresets) -/* 087250 7F052720 8D295D1C */ lw $t1, %lo(ptr_2xxxpresets)($t1) -/* 087254 7F052724 00194100 */ sll $t0, $t9, 4 -/* 087258 7F052728 01194021 */ addu $t0, $t0, $t9 -/* 08725C 7F05272C 00084080 */ sll $t0, $t0, 2 -/* 087260 7F052730 01091021 */ addu $v0, $t0, $t1 -/* 087264 7F052734 C4460010 */ lwc1 $f6, 0x10($v0) -/* 087268 7F052738 C4480020 */ lwc1 $f8, 0x20($v0) -/* 08726C 7F05273C C452001C */ lwc1 $f18, 0x1c($v0) -/* 087270 7F052740 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 087274 7F052744 46083102 */ mul.s $f4, $f6, $f8 -/* 087278 7F052748 24010009 */ li $at, 9 -/* 08727C 7F05274C 460A9402 */ mul.s $f16, $f18, $f10 -/* 087280 7F052750 46102181 */ sub.s $f6, $f4, $f16 -/* 087284 7F052754 E7A60038 */ swc1 $f6, 0x38($sp) -/* 087288 7F052758 C4480014 */ lwc1 $f8, 0x14($v0) -/* 08728C 7F05275C C4520018 */ lwc1 $f18, 0x18($v0) -/* 087290 7F052760 C450000C */ lwc1 $f16, 0xc($v0) -/* 087294 7F052764 C4440020 */ lwc1 $f4, 0x20($v0) -/* 087298 7F052768 46124282 */ mul.s $f10, $f8, $f18 -/* 08729C 7F05276C 00000000 */ nop -/* 0872A0 7F052770 46102202 */ mul.s $f8, $f4, $f16 -/* 0872A4 7F052774 46085481 */ sub.s $f18, $f10, $f8 -/* 0872A8 7F052778 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 0872AC 7F05277C C444000C */ lwc1 $f4, 0xc($v0) -/* 0872B0 7F052780 C450001C */ lwc1 $f16, 0x1c($v0) -/* 0872B4 7F052784 C4480018 */ lwc1 $f8, 0x18($v0) -/* 0872B8 7F052788 46102282 */ mul.s $f10, $f4, $f16 -/* 0872BC 7F05278C C4440010 */ lwc1 $f4, 0x10($v0) -/* 0872C0 7F052790 46044402 */ mul.s $f16, $f8, $f4 -/* 0872C4 7F052794 46105201 */ sub.s $f8, $f10, $f16 -/* 0872C8 7F052798 E7A80040 */ swc1 $f8, 0x40($sp) -/* 0872CC 7F05279C C44A0034 */ lwc1 $f10, 0x34($v0) -/* 0872D0 7F0527A0 C444000C */ lwc1 $f4, 0xc($v0) -/* 0872D4 7F0527A4 460A2402 */ mul.s $f16, $f4, $f10 -/* 0872D8 7F0527A8 C4440000 */ lwc1 $f4, ($v0) -/* 0872DC 7F0527AC 46048280 */ add.s $f10, $f16, $f4 -/* 0872E0 7F0527B0 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0872E4 7F0527B4 C4440034 */ lwc1 $f4, 0x34($v0) -/* 0872E8 7F0527B8 C4500010 */ lwc1 $f16, 0x10($v0) -/* 0872EC 7F0527BC 46048402 */ mul.s $f16, $f16, $f4 -/* 0872F0 7F0527C0 C4440004 */ lwc1 $f4, 4($v0) -/* 0872F4 7F0527C4 46048400 */ add.s $f16, $f16, $f4 -/* 0872F8 7F0527C8 E7B00058 */ swc1 $f16, 0x58($sp) -/* 0872FC 7F0527CC C4440014 */ lwc1 $f4, 0x14($v0) -/* 087300 7F0527D0 E7A60020 */ swc1 $f6, 0x20($sp) -/* 087304 7F0527D4 C4460034 */ lwc1 $f6, 0x34($v0) -/* 087308 7F0527D8 46062102 */ mul.s $f4, $f4, $f6 -/* 08730C 7F0527DC C4460008 */ lwc1 $f6, 8($v0) -/* 087310 7F0527E0 46062100 */ add.s $f4, $f4, $f6 -/* 087314 7F0527E4 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 087318 7F0527E8 E7A4005C */ swc1 $f4, 0x5c($sp) -/* 08731C 7F0527EC 960A009A */ lhu $t2, 0x9a($s0) -/* 087320 7F0527F0 15410010 */ bne $t2, $at, .L7F052834 -/* 087324 7F0527F4 00000000 */ nop -/* 087328 7F0527F8 E7B20020 */ swc1 $f18, 0x20($sp) -/* 08732C 7F0527FC C4520030 */ lwc1 $f18, 0x30($v0) -/* 087330 7F052800 46123182 */ mul.s $f6, $f6, $f18 -/* 087334 7F052804 46065480 */ add.s $f18, $f10, $f6 -/* 087338 7F052808 C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 08733C 7F05280C E7B20054 */ swc1 $f18, 0x54($sp) -/* 087340 7F052810 C4460030 */ lwc1 $f6, 0x30($v0) -/* 087344 7F052814 46065482 */ mul.s $f18, $f10, $f6 -/* 087348 7F052818 46128280 */ add.s $f10, $f16, $f18 -/* 08734C 7F05281C E7AA0058 */ swc1 $f10, 0x58($sp) -/* 087350 7F052820 C4460030 */ lwc1 $f6, 0x30($v0) -/* 087354 7F052824 46064402 */ mul.s $f16, $f8, $f6 -/* 087358 7F052828 46102480 */ add.s $f18, $f4, $f16 -/* 08735C 7F05282C 1000002A */ b .L7F0528D8 -/* 087360 7F052830 E7B2005C */ swc1 $f18, 0x5c($sp) -.L7F052834: -/* 087364 7F052834 8E0B0008 */ lw $t3, 8($s0) -/* 087368 7F052838 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 08736C 7F05283C C7A60038 */ lwc1 $f6, 0x38($sp) -/* 087370 7F052840 000B6080 */ sll $t4, $t3, 2 -/* 087374 7F052844 05830014 */ bgezl $t4, .L7F052898 -/* 087378 7F052848 C450002C */ lwc1 $f16, 0x2c($v0) -/* 08737C 7F05284C C4480030 */ lwc1 $f8, 0x30($v0) -/* 087380 7F052850 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 087384 7F052854 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 087388 7F052858 46085182 */ mul.s $f6, $f10, $f8 -/* 08738C 7F05285C 46062400 */ add.s $f16, $f4, $f6 -/* 087390 7F052860 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 087394 7F052864 E7B00054 */ swc1 $f16, 0x54($sp) -/* 087398 7F052868 C44A0030 */ lwc1 $f10, 0x30($v0) -/* 08739C 7F05286C C7B00040 */ lwc1 $f16, 0x40($sp) -/* 0873A0 7F052870 460A9202 */ mul.s $f8, $f18, $f10 -/* 0873A4 7F052874 46082180 */ add.s $f6, $f4, $f8 -/* 0873A8 7F052878 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0873AC 7F05287C E7A60058 */ swc1 $f6, 0x58($sp) -/* 0873B0 7F052880 C4520030 */ lwc1 $f18, 0x30($v0) -/* 0873B4 7F052884 46128282 */ mul.s $f10, $f16, $f18 -/* 0873B8 7F052888 460A2200 */ add.s $f8, $f4, $f10 -/* 0873BC 7F05288C 10000012 */ b .L7F0528D8 -/* 0873C0 7F052890 E7A8005C */ swc1 $f8, 0x5c($sp) -/* 0873C4 7F052894 C450002C */ lwc1 $f16, 0x2c($v0) -.L7F052898: -/* 0873C8 7F052898 C7A40054 */ lwc1 $f4, 0x54($sp) -/* 0873CC 7F05289C C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 0873D0 7F0528A0 46103482 */ mul.s $f18, $f6, $f16 -/* 0873D4 7F0528A4 46122280 */ add.s $f10, $f4, $f18 -/* 0873D8 7F0528A8 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 0873DC 7F0528AC E7AA0054 */ swc1 $f10, 0x54($sp) -/* 0873E0 7F0528B0 C446002C */ lwc1 $f6, 0x2c($v0) -/* 0873E4 7F0528B4 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 0873E8 7F0528B8 46064402 */ mul.s $f16, $f8, $f6 -/* 0873EC 7F0528BC 46102480 */ add.s $f18, $f4, $f16 -/* 0873F0 7F0528C0 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 0873F4 7F0528C4 E7B20058 */ swc1 $f18, 0x58($sp) -/* 0873F8 7F0528C8 C448002C */ lwc1 $f8, 0x2c($v0) -/* 0873FC 7F0528CC 46085182 */ mul.s $f6, $f10, $f8 -/* 087400 7F0528D0 46062400 */ add.s $f16, $f4, $f6 -/* 087404 7F0528D4 E7B0005C */ swc1 $f16, 0x5c($sp) -.L7F0528D8: -/* 087408 7F0528D8 C6120058 */ lwc1 $f18, 0x58($s0) -/* 08740C 7F0528DC C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 087410 7F0528E0 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 087414 7F0528E4 26040018 */ addiu $a0, $s0, 0x18 -/* 087418 7F0528E8 460A9201 */ sub.s $f8, $f18, $f10 -/* 08741C 7F0528EC C7AA005C */ lwc1 $f10, 0x5c($sp) -/* 087420 7F0528F0 8FA500A4 */ lw $a1, 0xa4($sp) -/* 087424 7F0528F4 E7A80048 */ swc1 $f8, 0x48($sp) -/* 087428 7F0528F8 C604005C */ lwc1 $f4, 0x5c($s0) -/* 08742C 7F0528FC 46062401 */ sub.s $f16, $f4, $f6 -/* 087430 7F052900 E7B0004C */ swc1 $f16, 0x4c($sp) -/* 087434 7F052904 C6120060 */ lwc1 $f18, 0x60($s0) -/* 087438 7F052908 460A9201 */ sub.s $f8, $f18, $f10 -/* 08743C 7F05290C 0FC16008 */ jal sub_GAME_7F058020 -/* 087440 7F052910 E7A80050 */ swc1 $f8, 0x50($sp) -/* 087444 7F052914 27A40048 */ addiu $a0, $sp, 0x48 -/* 087448 7F052918 0FC16259 */ jal init_something_copy_posdata_to_it -/* 08744C 7F05291C 27A50060 */ addiu $a1, $sp, 0x60 -/* 087450 7F052920 27A40060 */ addiu $a0, $sp, 0x60 -/* 087454 7F052924 0FC1601A */ jal sub_GAME_7F058068 -/* 087458 7F052928 8FA500A4 */ lw $a1, 0xa4($sp) -/* 08745C 7F05292C 960D009A */ lhu $t5, 0x9a($s0) -/* 087460 7F052930 24010009 */ li $at, 9 -/* 087464 7F052934 55A1001D */ bnel $t5, $at, .L7F0529AC -/* 087468 7F052938 8E180008 */ lw $t8, 8($s0) -/* 08746C 7F05293C 8E0E0008 */ lw $t6, 8($s0) -/* 087470 7F052940 3C018005 */ lui $at, %hi(D_80053328) -/* 087474 7F052944 000E7880 */ sll $t7, $t6, 2 -/* 087478 7F052948 05E1000D */ bgez $t7, .L7F052980 -/* 08747C 7F05294C 00000000 */ nop -/* 087480 7F052950 3C018005 */ lui $at, %hi(D_80053324) -/* 087484 7F052954 C4203324 */ lwc1 $f0, %lo(D_80053324)($at) -/* 087488 7F052958 C60400B4 */ lwc1 $f4, 0xb4($s0) -/* 08748C 7F05295C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 087490 7F052960 44818000 */ mtc1 $at, $f16 -/* 087494 7F052964 46002182 */ mul.s $f6, $f4, $f0 -/* 087498 7F052968 27A50060 */ addiu $a1, $sp, 0x60 -/* 08749C 7F05296C 46103483 */ div.s $f18, $f6, $f16 -/* 0874A0 7F052970 0FC161A2 */ jal sub_GAME_7F058688 -/* 0874A4 7F052974 46120301 */ sub.s $f12, $f0, $f18 -/* 0874A8 7F052978 10000025 */ b .L7F052A10 -/* 0874AC 7F05297C 27A40060 */ addiu $a0, $sp, 0x60 -.L7F052980: -/* 0874B0 7F052980 C4203328 */ lwc1 $f0, %lo(D_80053328)($at) -/* 0874B4 7F052984 C60A00B4 */ lwc1 $f10, 0xb4($s0) -/* 0874B8 7F052988 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0874BC 7F05298C 44812000 */ mtc1 $at, $f4 -/* 0874C0 7F052990 46005202 */ mul.s $f8, $f10, $f0 -/* 0874C4 7F052994 27A50060 */ addiu $a1, $sp, 0x60 -/* 0874C8 7F052998 0FC161A2 */ jal sub_GAME_7F058688 -/* 0874CC 7F05299C 46044303 */ div.s $f12, $f8, $f4 -/* 0874D0 7F0529A0 1000001B */ b .L7F052A10 -/* 0874D4 7F0529A4 27A40060 */ addiu $a0, $sp, 0x60 -/* 0874D8 7F0529A8 8E180008 */ lw $t8, 8($s0) -.L7F0529AC: -/* 0874DC 7F0529AC 3C018005 */ lui $at, %hi(D_80053330) -/* 0874E0 7F0529B0 0018C880 */ sll $t9, $t8, 2 -/* 0874E4 7F0529B4 0721000D */ bgez $t9, .L7F0529EC -/* 0874E8 7F0529B8 00000000 */ nop -/* 0874EC 7F0529BC 3C018005 */ lui $at, %hi(D_8005332C) -/* 0874F0 7F0529C0 C420332C */ lwc1 $f0, %lo(D_8005332C)($at) -/* 0874F4 7F0529C4 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 0874F8 7F0529C8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 0874FC 7F0529CC 44819000 */ mtc1 $at, $f18 -/* 087500 7F0529D0 46003402 */ mul.s $f16, $f6, $f0 -/* 087504 7F0529D4 27A50060 */ addiu $a1, $sp, 0x60 -/* 087508 7F0529D8 46128283 */ div.s $f10, $f16, $f18 -/* 08750C 7F0529DC 0FC1617F */ jal sub_GAME_7F0585FC -/* 087510 7F0529E0 460A0301 */ sub.s $f12, $f0, $f10 -/* 087514 7F0529E4 1000000A */ b .L7F052A10 -/* 087518 7F0529E8 27A40060 */ addiu $a0, $sp, 0x60 -.L7F0529EC: -/* 08751C 7F0529EC C4203330 */ lwc1 $f0, %lo(D_80053330)($at) -/* 087520 7F0529F0 C60800B4 */ lwc1 $f8, 0xb4($s0) -/* 087524 7F0529F4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 087528 7F0529F8 44813000 */ mtc1 $at, $f6 -/* 08752C 7F0529FC 46004102 */ mul.s $f4, $f8, $f0 -/* 087530 7F052A00 27A50060 */ addiu $a1, $sp, 0x60 -/* 087534 7F052A04 0FC1617F */ jal sub_GAME_7F0585FC -/* 087538 7F052A08 46062303 */ div.s $f12, $f4, $f6 -/* 08753C 7F052A0C 27A40060 */ addiu $a0, $sp, 0x60 -.L7F052A10: -/* 087540 7F052A10 0FC1601A */ jal sub_GAME_7F058068 -/* 087544 7F052A14 8FA500A4 */ lw $a1, 0xa4($sp) -/* 087548 7F052A18 27A40054 */ addiu $a0, $sp, 0x54 -/* 08754C 7F052A1C 0FC16259 */ jal init_something_copy_posdata_to_it -/* 087550 7F052A20 27A50060 */ addiu $a1, $sp, 0x60 -/* 087554 7F052A24 27A40060 */ addiu $a0, $sp, 0x60 -/* 087558 7F052A28 0FC1601A */ jal sub_GAME_7F058068 -/* 08755C 7F052A2C 8FA500A4 */ lw $a1, 0xa4($sp) -/* 087560 7F052A30 10000027 */ b .L7F052AD0 -/* 087564 7F052A34 96080098 */ lhu $t0, 0x98($s0) -/* 087568 7F052A38 24010006 */ li $at, 6 -.L7F052A3C: -/* 08756C 7F052A3C 10410004 */ beq $v0, $at, .L7F052A50 -/* 087570 7F052A40 26040018 */ addiu $a0, $s0, 0x18 -/* 087574 7F052A44 24010007 */ li $at, 7 -/* 087578 7F052A48 54410009 */ bnel $v0, $at, .L7F052A70 -/* 08757C 7F052A4C C61000A8 */ lwc1 $f16, 0xa8($s0) -.L7F052A50: -/* 087580 7F052A50 0FC16008 */ jal sub_GAME_7F058020 -/* 087584 7F052A54 8FA500A4 */ lw $a1, 0xa4($sp) -/* 087588 7F052A58 26040058 */ addiu $a0, $s0, 0x58 -/* 08758C 7F052A5C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 087590 7F052A60 8FA500A4 */ lw $a1, 0xa4($sp) -/* 087594 7F052A64 1000001A */ b .L7F052AD0 -/* 087598 7F052A68 96080098 */ lhu $t0, 0x98($s0) -/* 08759C 7F052A6C C61000A8 */ lwc1 $f16, 0xa8($s0) -.L7F052A70: -/* 0875A0 7F052A70 C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 0875A4 7F052A74 C6080058 */ lwc1 $f8, 0x58($s0) -/* 0875A8 7F052A78 26040018 */ addiu $a0, $s0, 0x18 -/* 0875AC 7F052A7C 46128282 */ mul.s $f10, $f16, $f18 -/* 0875B0 7F052A80 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0875B4 7F052A84 46085100 */ add.s $f4, $f10, $f8 -/* 0875B8 7F052A88 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 0875BC 7F052A8C C61000B4 */ lwc1 $f16, 0xb4($s0) -/* 0875C0 7F052A90 C60600AC */ lwc1 $f6, 0xac($s0) -/* 0875C4 7F052A94 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 0875C8 7F052A98 46103482 */ mul.s $f18, $f6, $f16 -/* 0875CC 7F052A9C 460A9200 */ add.s $f8, $f18, $f10 -/* 0875D0 7F052AA0 E7A80030 */ swc1 $f8, 0x30($sp) -/* 0875D4 7F052AA4 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 0875D8 7F052AA8 C60400B0 */ lwc1 $f4, 0xb0($s0) -/* 0875DC 7F052AAC C6120060 */ lwc1 $f18, 0x60($s0) -/* 0875E0 7F052AB0 46062402 */ mul.s $f16, $f4, $f6 -/* 0875E4 7F052AB4 46128280 */ add.s $f10, $f16, $f18 -/* 0875E8 7F052AB8 0FC16008 */ jal sub_GAME_7F058020 -/* 0875EC 7F052ABC E7AA0034 */ swc1 $f10, 0x34($sp) -/* 0875F0 7F052AC0 27A4002C */ addiu $a0, $sp, 0x2c -/* 0875F4 7F052AC4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 -/* 0875F8 7F052AC8 8FA500A4 */ lw $a1, 0xa4($sp) -/* 0875FC 7F052ACC 96080098 */ lhu $t0, 0x98($s0) -.L7F052AD0: -/* 087600 7F052AD0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 087604 7F052AD4 31090008 */ andi $t1, $t0, 8 -/* 087608 7F052AD8 51200005 */ beql $t1, $zero, .L7F052AF0 -/* 08760C 7F052ADC 8FBF001C */ lw $ra, 0x1c($sp) -/* 087610 7F052AE0 44816000 */ mtc1 $at, $f12 -/* 087614 7F052AE4 0FC16293 */ jal sub_GAME_7F058A4C -/* 087618 7F052AE8 8FA500A4 */ lw $a1, 0xa4($sp) -/* 08761C 7F052AEC 8FBF001C */ lw $ra, 0x1c($sp) -.L7F052AF0: -/* 087620 7F052AF0 8FB00018 */ lw $s0, 0x18($sp) -/* 087624 7F052AF4 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 087628 7F052AF8 03E00008 */ jr $ra -/* 08762C 7F052AFC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F052B00(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F052B00 -/* 087630 7F052B00 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 087634 7F052B04 AFBF001C */ sw $ra, 0x1c($sp) -/* 087638 7F052B08 AFB00018 */ sw $s0, 0x18($sp) -/* 08763C 7F052B0C 8C8E0014 */ lw $t6, 0x14($a0) -/* 087640 7F052B10 248300D0 */ addiu $v1, $a0, 0xd0 -/* 087644 7F052B14 00808025 */ move $s0, $a0 -/* 087648 7F052B18 8DCF0008 */ lw $t7, 8($t6) -/* 08764C 7F052B1C 27A5002C */ addiu $a1, $sp, 0x2c -/* 087650 7F052B20 8DF80000 */ lw $t8, ($t7) -/* 087654 7F052B24 8F190014 */ lw $t9, 0x14($t8) -/* 087658 7F052B28 8F220004 */ lw $v0, 4($t9) -/* 08765C 7F052B2C 8C410000 */ lw $at, ($v0) -/* 087660 7F052B30 AC610000 */ sw $at, ($v1) -/* 087664 7F052B34 8C4A0004 */ lw $t2, 4($v0) -/* 087668 7F052B38 AC6A0004 */ sw $t2, 4($v1) -/* 08766C 7F052B3C 8C410008 */ lw $at, 8($v0) -/* 087670 7F052B40 AC610008 */ sw $at, 8($v1) -/* 087674 7F052B44 8C4A000C */ lw $t2, 0xc($v0) -/* 087678 7F052B48 AC6A000C */ sw $t2, 0xc($v1) -/* 08767C 7F052B4C 8C410010 */ lw $at, 0x10($v0) -/* 087680 7F052B50 AC610010 */ sw $at, 0x10($v1) -/* 087684 7F052B54 8C4A0014 */ lw $t2, 0x14($v0) -/* 087688 7F052B58 AC6A0014 */ sw $t2, 0x14($v1) -/* 08768C 7F052B5C 8C410018 */ lw $at, 0x18($v0) -/* 087690 7F052B60 AC610018 */ sw $at, 0x18($v1) -/* 087694 7F052B64 948B0098 */ lhu $t3, 0x98($a0) -/* 087698 7F052B68 316C0004 */ andi $t4, $t3, 4 -/* 08769C 7F052B6C 51800015 */ beql $t4, $zero, .L7F052BC4 -/* 0876A0 7F052B70 C61000B4 */ lwc1 $f16, 0xb4($s0) -/* 0876A4 7F052B74 948D009A */ lhu $t5, 0x9a($a0) -/* 0876A8 7F052B78 24010004 */ li $at, 4 -/* 0876AC 7F052B7C 55A1000A */ bnel $t5, $at, .L7F052BA8 -/* 0876B0 7F052B80 C4400004 */ lwc1 $f0, 4($v0) -/* 0876B4 7F052B84 C4400010 */ lwc1 $f0, 0x10($v0) -/* 0876B8 7F052B88 C444000C */ lwc1 $f4, 0xc($v0) -/* 0876BC 7F052B8C C48800B4 */ lwc1 $f8, 0xb4($a0) -/* 0876C0 7F052B90 46002181 */ sub.s $f6, $f4, $f0 -/* 0876C4 7F052B94 46083282 */ mul.s $f10, $f6, $f8 -/* 0876C8 7F052B98 460A0400 */ add.s $f16, $f0, $f10 -/* 0876CC 7F052B9C 10000008 */ b .L7F052BC0 -/* 0876D0 7F052BA0 E49000E0 */ swc1 $f16, 0xe0($a0) -/* 0876D4 7F052BA4 C4400004 */ lwc1 $f0, 4($v0) -.L7F052BA8: -/* 0876D8 7F052BA8 C4520008 */ lwc1 $f18, 8($v0) -/* 0876DC 7F052BAC C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 0876E0 7F052BB0 46009101 */ sub.s $f4, $f18, $f0 -/* 0876E4 7F052BB4 46062202 */ mul.s $f8, $f4, $f6 -/* 0876E8 7F052BB8 46080280 */ add.s $f10, $f0, $f8 -/* 0876EC 7F052BBC E60A00D4 */ swc1 $f10, 0xd4($s0) -.L7F052BC0: -/* 0876F0 7F052BC0 C61000B4 */ lwc1 $f16, 0xb4($s0) -.L7F052BC4: -/* 0876F4 7F052BC4 C6120088 */ lwc1 $f18, 0x88($s0) -/* 0876F8 7F052BC8 02002025 */ move $a0, $s0 -/* 0876FC 7F052BCC 4610903E */ c.le.s $f18, $f16 -/* 087700 7F052BD0 00000000 */ nop -/* 087704 7F052BD4 45000004 */ bc1f .L7F052BE8 -/* 087708 7F052BD8 00000000 */ nop -/* 08770C 7F052BDC 8E0E0068 */ lw $t6, 0x68($s0) -/* 087710 7F052BE0 10000065 */ b .L7F052D78 -/* 087714 7F052BE4 ADC00000 */ sw $zero, ($t6) -.L7F052BE8: -/* 087718 7F052BE8 0FC149BB */ jal sub_GAME_7F0526EC -/* 08771C 7F052BEC AFA30028 */ sw $v1, 0x28($sp) -/* 087720 7F052BF0 8E070068 */ lw $a3, 0x68($s0) -/* 087724 7F052BF4 8FA40028 */ lw $a0, 0x28($sp) -/* 087728 7F052BF8 27A5002C */ addiu $a1, $sp, 0x2c -/* 08772C 7F052BFC 0FC0FD50 */ jal sub_GAME_7F03F540 -/* 087730 7F052C00 24E60004 */ addiu $a2, $a3, 4 -/* 087734 7F052C04 9602009A */ lhu $v0, 0x9a($s0) -/* 087738 7F052C08 24010004 */ li $at, 4 -/* 08773C 7F052C0C 8FA40028 */ lw $a0, 0x28($sp) -/* 087740 7F052C10 54410009 */ bnel $v0, $at, .L7F052C38 -/* 087744 7F052C14 24010008 */ li $at, 8 -/* 087748 7F052C18 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 08774C 7F052C1C 27A5002C */ addiu $a1, $sp, 0x2c -/* 087750 7F052C20 C604005C */ lwc1 $f4, 0x5c($s0) -/* 087754 7F052C24 8E0F0068 */ lw $t7, 0x68($s0) -/* 087758 7F052C28 46040180 */ add.s $f6, $f0, $f4 -/* 08775C 7F052C2C 1000001B */ b .L7F052C9C -/* 087760 7F052C30 E5E60048 */ swc1 $f6, 0x48($t7) -/* 087764 7F052C34 24010008 */ li $at, 8 -.L7F052C38: -/* 087768 7F052C38 14410008 */ bne $v0, $at, .L7F052C5C -/* 08776C 7F052C3C 8FA40028 */ lw $a0, 0x28($sp) -/* 087770 7F052C40 3C018005 */ lui $at, %hi(D_80053334) -/* 087774 7F052C44 C42A3334 */ lwc1 $f10, %lo(D_80053334)($at) -/* 087778 7F052C48 C608005C */ lwc1 $f8, 0x5c($s0) -/* 08777C 7F052C4C 8E180068 */ lw $t8, 0x68($s0) -/* 087780 7F052C50 460A4401 */ sub.s $f16, $f8, $f10 -/* 087784 7F052C54 10000011 */ b .L7F052C9C -/* 087788 7F052C58 E7100048 */ swc1 $f16, 0x48($t8) -.L7F052C5C: -/* 08778C 7F052C5C 0FC0FA6F */ jal sub_GAME_7F03E9BC -/* 087790 7F052C60 27A5002C */ addiu $a1, $sp, 0x2c -/* 087794 7F052C64 C7B20060 */ lwc1 $f18, 0x60($sp) -/* 087798 7F052C68 8E190068 */ lw $t9, 0x68($s0) -/* 08779C 7F052C6C 46120100 */ add.s $f4, $f0, $f18 -/* 0877A0 7F052C70 E7240048 */ swc1 $f4, 0x48($t9) -/* 0877A4 7F052C74 96090098 */ lhu $t1, 0x98($s0) -/* 0877A8 7F052C78 31280001 */ andi $t0, $t1, 1 -/* 0877AC 7F052C7C 51000008 */ beql $t0, $zero, .L7F052CA0 -/* 0877B0 7F052C80 9602009A */ lhu $v0, 0x9a($s0) -/* 0877B4 7F052C84 8E070068 */ lw $a3, 0x68($s0) -/* 0877B8 7F052C88 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0877BC 7F052C8C 44814000 */ mtc1 $at, $f8 -/* 0877C0 7F052C90 C4E60048 */ lwc1 $f6, 0x48($a3) -/* 0877C4 7F052C94 46083281 */ sub.s $f10, $f6, $f8 -/* 0877C8 7F052C98 E4EA0048 */ swc1 $f10, 0x48($a3) -.L7F052C9C: -/* 0877CC 7F052C9C 9602009A */ lhu $v0, 0x9a($s0) -.L7F052CA0: -/* 0877D0 7F052CA0 24010006 */ li $at, 6 -/* 0877D4 7F052CA4 14410008 */ bne $v0, $at, .L7F052CC8 -/* 0877D8 7F052CA8 3C018005 */ lui $at, %hi(D_80053338) -/* 0877DC 7F052CAC C4303338 */ lwc1 $f16, %lo(D_80053338)($at) -/* 0877E0 7F052CB0 C6120084 */ lwc1 $f18, 0x84($s0) -/* 0877E4 7F052CB4 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 0877E8 7F052CB8 46128102 */ mul.s $f4, $f16, $f18 -/* 0877EC 7F052CBC 4606203C */ c.lt.s $f4, $f6 -/* 0877F0 7F052CC0 00000000 */ nop -/* 0877F4 7F052CC4 4501000B */ bc1t .L7F052CF4 -.L7F052CC8: -/* 0877F8 7F052CC8 24010007 */ li $at, 7 -/* 0877FC 7F052CCC 14410010 */ bne $v0, $at, .L7F052D10 -/* 087800 7F052CD0 3C018005 */ lui $at, %hi(D_8005333C) -/* 087804 7F052CD4 C428333C */ lwc1 $f8, %lo(D_8005333C)($at) -/* 087808 7F052CD8 C60A0084 */ lwc1 $f10, 0x84($s0) -/* 08780C 7F052CDC C61200B4 */ lwc1 $f18, 0xb4($s0) -/* 087810 7F052CE0 460A4402 */ mul.s $f16, $f8, $f10 -/* 087814 7F052CE4 4612803C */ c.lt.s $f16, $f18 -/* 087818 7F052CE8 00000000 */ nop -/* 08781C 7F052CEC 45020009 */ bc1fl .L7F052D14 -/* 087820 7F052CF0 24010008 */ li $at, 8 -.L7F052CF4: -/* 087824 7F052CF4 8E070068 */ lw $a3, 0x68($s0) -/* 087828 7F052CF8 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 08782C 7F052CFC 44813000 */ mtc1 $at, $f6 -/* 087830 7F052D00 C4E40048 */ lwc1 $f4, 0x48($a3) -/* 087834 7F052D04 46062200 */ add.s $f8, $f4, $f6 -/* 087838 7F052D08 1000001B */ b .L7F052D78 -/* 08783C 7F052D0C E4E80044 */ swc1 $f8, 0x44($a3) -.L7F052D10: -/* 087840 7F052D10 24010008 */ li $at, 8 -.L7F052D14: -/* 087844 7F052D14 14410008 */ bne $v0, $at, .L7F052D38 -/* 087848 7F052D18 8FA40028 */ lw $a0, 0x28($sp) -/* 08784C 7F052D1C 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 087850 7F052D20 44818000 */ mtc1 $at, $f16 -/* 087854 7F052D24 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 087858 7F052D28 8E0A0068 */ lw $t2, 0x68($s0) -/* 08785C 7F052D2C 46105480 */ add.s $f18, $f10, $f16 -/* 087860 7F052D30 10000011 */ b .L7F052D78 -/* 087864 7F052D34 E5520044 */ swc1 $f18, 0x44($t2) -.L7F052D38: -/* 087868 7F052D38 0FC0FA97 */ jal sub_GAME_7F03EA5C -/* 08786C 7F052D3C 27A5002C */ addiu $a1, $sp, 0x2c -/* 087870 7F052D40 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 087874 7F052D44 8E0B0068 */ lw $t3, 0x68($s0) -/* 087878 7F052D48 46040180 */ add.s $f6, $f0, $f4 -/* 08787C 7F052D4C E5660044 */ swc1 $f6, 0x44($t3) -/* 087880 7F052D50 960C0098 */ lhu $t4, 0x98($s0) -/* 087884 7F052D54 318D0001 */ andi $t5, $t4, 1 -/* 087888 7F052D58 51A00008 */ beql $t5, $zero, .L7F052D7C -/* 08788C 7F052D5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 087890 7F052D60 8E070068 */ lw $a3, 0x68($s0) -/* 087894 7F052D64 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 087898 7F052D68 44815000 */ mtc1 $at, $f10 -/* 08789C 7F052D6C C4E80044 */ lwc1 $f8, 0x44($a3) -/* 0878A0 7F052D70 460A4400 */ add.s $f16, $f8, $f10 -/* 0878A4 7F052D74 E4F00044 */ swc1 $f16, 0x44($a3) -.L7F052D78: -/* 0878A8 7F052D78 8FBF001C */ lw $ra, 0x1c($sp) -.L7F052D7C: -/* 0878AC 7F052D7C 8FB00018 */ lw $s0, 0x18($sp) -/* 0878B0 7F052D80 27BD0070 */ addiu $sp, $sp, 0x70 -/* 0878B4 7F052D84 03E00008 */ jr $ra -/* 0878B8 7F052D88 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F052D8C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F052D8C -/* 0878BC 7F052D8C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0878C0 7F052D90 AFBF003C */ sw $ra, 0x3c($sp) -/* 0878C4 7F052D94 AFBE0038 */ sw $fp, 0x38($sp) -/* 0878C8 7F052D98 AFB70034 */ sw $s7, 0x34($sp) -/* 0878CC 7F052D9C AFB60030 */ sw $s6, 0x30($sp) -/* 0878D0 7F052DA0 AFB5002C */ sw $s5, 0x2c($sp) -/* 0878D4 7F052DA4 AFB40028 */ sw $s4, 0x28($sp) -/* 0878D8 7F052DA8 AFB30024 */ sw $s3, 0x24($sp) -/* 0878DC 7F052DAC AFB20020 */ sw $s2, 0x20($sp) -/* 0878E0 7F052DB0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0878E4 7F052DB4 AFB00018 */ sw $s0, 0x18($sp) -/* 0878E8 7F052DB8 948E0098 */ lhu $t6, 0x98($a0) -/* 0878EC 7F052DBC 0080B025 */ move $s6, $a0 -/* 0878F0 7F052DC0 31CF0004 */ andi $t7, $t6, 4 -/* 0878F4 7F052DC4 51E001E9 */ beql $t7, $zero, .L7F05356C -/* 0878F8 7F052DC8 8FBF003C */ lw $ra, 0x3c($sp) -/* 0878FC 7F052DCC 8C840014 */ lw $a0, 0x14($a0) -/* 087900 7F052DD0 8C980008 */ lw $t8, 8($a0) -/* 087904 7F052DD4 8F190000 */ lw $t9, ($t8) -/* 087908 7F052DD8 8F2E0014 */ lw $t6, 0x14($t9) -/* 08790C 7F052DDC 8DC50014 */ lw $a1, 0x14($t6) -/* 087910 7F052DE0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 087914 7F052DE4 8CB50004 */ lw $s5, 4($a1) -/* 087918 7F052DE8 96CF009A */ lhu $t7, 0x9a($s6) -/* 08791C 7F052DEC 24140004 */ li $s4, 4 -/* 087920 7F052DF0 0040B825 */ move $s7, $v0 -/* 087924 7F052DF4 168F000B */ bne $s4, $t7, .L7F052E24 -/* 087928 7F052DF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08792C 7F052DFC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 087930 7F052E00 44813000 */ mtc1 $at, $f6 -/* 087934 7F052E04 C6C400E0 */ lwc1 $f4, 0xe0($s6) -/* 087938 7F052E08 46062200 */ add.s $f8, $f4, $f6 -/* 08793C 7F052E0C 4600428D */ trunc.w.s $f10, $f8 -/* 087940 7F052E10 440D5000 */ mfc1 $t5, $f10 -/* 087944 7F052E14 00000000 */ nop -/* 087948 7F052E18 000DCC00 */ sll $t9, $t5, 0x10 -/* 08794C 7F052E1C 1000000A */ b .L7F052E48 -/* 087950 7F052E20 00196C03 */ sra $t5, $t9, 0x10 -.L7F052E24: -/* 087954 7F052E24 C6D000D4 */ lwc1 $f16, 0xd4($s6) -/* 087958 7F052E28 44819000 */ mtc1 $at, $f18 -/* 08795C 7F052E2C 00000000 */ nop -/* 087960 7F052E30 46128100 */ add.s $f4, $f16, $f18 -/* 087964 7F052E34 4600218D */ trunc.w.s $f6, $f4 -/* 087968 7F052E38 440D3000 */ mfc1 $t5, $f6 -/* 08796C 7F052E3C 00000000 */ nop -/* 087970 7F052E40 000DC400 */ sll $t8, $t5, 0x10 -/* 087974 7F052E44 00186C03 */ sra $t5, $t8, 0x10 -.L7F052E48: -/* 087978 7F052E48 86A4000C */ lh $a0, 0xc($s5) -/* 08797C 7F052E4C 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 -/* 087980 7F052E50 A7AD0042 */ sh $t5, 0x42($sp) -/* 087984 7F052E54 87AD0042 */ lh $t5, 0x42($sp) -/* 087988 7F052E58 AEE20000 */ sw $v0, ($s7) -/* 08798C 7F052E5C 86AE000C */ lh $t6, 0xc($s5) -/* 087990 7F052E60 00001825 */ move $v1, $zero -/* 087994 7F052E64 0000F025 */ move $fp, $zero -/* 087998 7F052E68 05C10003 */ bgez $t6, .L7F052E78 -/* 08799C 7F052E6C 000E7883 */ sra $t7, $t6, 2 -/* 0879A0 7F052E70 25C10003 */ addiu $at, $t6, 3 -/* 0879A4 7F052E74 00017883 */ sra $t7, $at, 2 -.L7F052E78: -/* 0879A8 7F052E78 19E001BB */ blez $t7, .L7F053568 -/* 0879AC 7F052E7C 00001825 */ move $v1, $zero -.L7F052E80: -/* 0879B0 7F052E80 001E9900 */ sll $s3, $fp, 4 -.L7F052E84: -/* 0879B4 7F052E84 8EF80000 */ lw $t8, ($s7) -/* 0879B8 7F052E88 24670002 */ addiu $a3, $v1, 2 -/* 0879BC 7F052E8C 246C0003 */ addiu $t4, $v1, 3 -/* 0879C0 7F052E90 03131021 */ addu $v0, $t8, $s3 -/* 0879C4 7F052E94 24720001 */ addiu $s2, $v1, 1 -/* 0879C8 7F052E98 00032100 */ sll $a0, $v1, 4 -/* 0879CC 7F052E9C 00445821 */ addu $t3, $v0, $a0 -/* 0879D0 7F052EA0 06410004 */ bgez $s2, .L7F052EB4 -/* 0879D4 7F052EA4 32450003 */ andi $a1, $s2, 3 -/* 0879D8 7F052EA8 10A00002 */ beqz $a1, .L7F052EB4 -/* 0879DC 7F052EAC 00000000 */ nop -/* 0879E0 7F052EB0 24A5FFFC */ addiu $a1, $a1, -4 -.L7F052EB4: -/* 0879E4 7F052EB4 0005C900 */ sll $t9, $a1, 4 -/* 0879E8 7F052EB8 03202825 */ move $a1, $t9 -/* 0879EC 7F052EBC 0059F821 */ addu $ra, $v0, $t9 -/* 0879F0 7F052EC0 04E10004 */ bgez $a3, .L7F052ED4 -/* 0879F4 7F052EC4 30EE0003 */ andi $t6, $a3, 3 -/* 0879F8 7F052EC8 11C00002 */ beqz $t6, .L7F052ED4 -/* 0879FC 7F052ECC 00000000 */ nop -/* 087A00 7F052ED0 25CEFFFC */ addiu $t6, $t6, -4 -.L7F052ED4: -/* 087A04 7F052ED4 000E7900 */ sll $t7, $t6, 4 -/* 087A08 7F052ED8 8EAE0008 */ lw $t6, 8($s5) -/* 087A0C 7F052EDC 01E03825 */ move $a3, $t7 -/* 087A10 7F052EE0 004F8021 */ addu $s0, $v0, $t7 -/* 087A14 7F052EE4 01D34821 */ addu $t1, $t6, $s3 -/* 087A18 7F052EE8 05810004 */ bgez $t4, .L7F052EFC -/* 087A1C 7F052EEC 31980003 */ andi $t8, $t4, 3 -/* 087A20 7F052EF0 13000002 */ beqz $t8, .L7F052EFC -/* 087A24 7F052EF4 00000000 */ nop -/* 087A28 7F052EF8 2718FFFC */ addiu $t8, $t8, -4 -.L7F052EFC: -/* 087A2C 7F052EFC 00186100 */ sll $t4, $t8, 4 -/* 087A30 7F052F00 01275021 */ addu $t2, $t1, $a3 -/* 087A34 7F052F04 004C8821 */ addu $s1, $v0, $t4 -/* 087A38 7F052F08 01243021 */ addu $a2, $t1, $a0 -/* 087A3C 7F052F0C 01254021 */ addu $t0, $t1, $a1 -/* 087A40 7F052F10 14600021 */ bnez $v1, .L7F052F98 -/* 087A44 7F052F14 012C3821 */ addu $a3, $t1, $t4 -/* 087A48 7F052F18 8CC10000 */ lw $at, ($a2) -/* 087A4C 7F052F1C AD610000 */ sw $at, ($t3) -/* 087A50 7F052F20 8CD80004 */ lw $t8, 4($a2) -/* 087A54 7F052F24 AD780004 */ sw $t8, 4($t3) -/* 087A58 7F052F28 8CC10008 */ lw $at, 8($a2) -/* 087A5C 7F052F2C AD610008 */ sw $at, 8($t3) -/* 087A60 7F052F30 8CD8000C */ lw $t8, 0xc($a2) -/* 087A64 7F052F34 AD78000C */ sw $t8, 0xc($t3) -/* 087A68 7F052F38 8D010000 */ lw $at, ($t0) -/* 087A6C 7F052F3C AFE10000 */ sw $at, ($ra) -/* 087A70 7F052F40 8D0E0004 */ lw $t6, 4($t0) -/* 087A74 7F052F44 AFEE0004 */ sw $t6, 4($ra) -/* 087A78 7F052F48 8D010008 */ lw $at, 8($t0) -/* 087A7C 7F052F4C AFE10008 */ sw $at, 8($ra) -/* 087A80 7F052F50 8D0E000C */ lw $t6, 0xc($t0) -/* 087A84 7F052F54 AFEE000C */ sw $t6, 0xc($ra) -/* 087A88 7F052F58 8D410000 */ lw $at, ($t2) -/* 087A8C 7F052F5C AE010000 */ sw $at, ($s0) -/* 087A90 7F052F60 8D580004 */ lw $t8, 4($t2) -/* 087A94 7F052F64 AE180004 */ sw $t8, 4($s0) -/* 087A98 7F052F68 8D410008 */ lw $at, 8($t2) -/* 087A9C 7F052F6C AE010008 */ sw $at, 8($s0) -/* 087AA0 7F052F70 8D58000C */ lw $t8, 0xc($t2) -/* 087AA4 7F052F74 AE18000C */ sw $t8, 0xc($s0) -/* 087AA8 7F052F78 8CE10000 */ lw $at, ($a3) -/* 087AAC 7F052F7C AE210000 */ sw $at, ($s1) -/* 087AB0 7F052F80 8CEE0004 */ lw $t6, 4($a3) -/* 087AB4 7F052F84 AE2E0004 */ sw $t6, 4($s1) -/* 087AB8 7F052F88 8CE10008 */ lw $at, 8($a3) -/* 087ABC 7F052F8C AE210008 */ sw $at, 8($s1) -/* 087AC0 7F052F90 8CEE000C */ lw $t6, 0xc($a3) -/* 087AC4 7F052F94 AE2E000C */ sw $t6, 0xc($s1) -.L7F052F98: -/* 087AC8 7F052F98 96CF009A */ lhu $t7, 0x9a($s6) -/* 087ACC 7F052F9C 568F00B5 */ bnel $s4, $t7, .L7F053274 -/* 087AD0 7F052FA0 84C50000 */ lh $a1, ($a2) -/* 087AD4 7F052FA4 84C40002 */ lh $a0, 2($a2) -/* 087AD8 7F052FA8 008D082A */ slt $at, $a0, $t5 -/* 087ADC 7F052FAC 14200162 */ bnez $at, .L7F053538 -/* 087AE0 7F052FB0 00000000 */ nop -/* 087AE4 7F052FB4 84C50000 */ lh $a1, ($a2) -/* 087AE8 7F052FB8 85180000 */ lh $t8, ($t0) -/* 087AEC 7F052FBC 57050039 */ bnel $t8, $a1, .L7F0530A4 -/* 087AF0 7F052FC0 85590000 */ lh $t9, ($t2) -/* 087AF4 7F052FC4 85190004 */ lh $t9, 4($t0) -/* 087AF8 7F052FC8 84CE0004 */ lh $t6, 4($a2) -/* 087AFC 7F052FCC 572E0035 */ bnel $t9, $t6, .L7F0530A4 -/* 087B00 7F052FD0 85590000 */ lh $t9, ($t2) -/* 087B04 7F052FD4 85090002 */ lh $t1, 2($t0) -/* 087B08 7F052FD8 51240032 */ beql $t1, $a0, .L7F0530A4 -/* 087B0C 7F052FDC 85590000 */ lh $t9, ($t2) -/* 087B10 7F052FE0 84C20008 */ lh $v0, 8($a2) -/* 087B14 7F052FE4 85180008 */ lh $t8, 8($t0) -/* 087B18 7F052FE8 008D7823 */ subu $t7, $a0, $t5 -/* 087B1C 7F052FEC 0302C823 */ subu $t9, $t8, $v0 -/* 087B20 7F052FF0 01F90019 */ multu $t7, $t9 -/* 087B24 7F052FF4 0089C023 */ subu $t8, $a0, $t1 -/* 087B28 7F052FF8 00007012 */ mflo $t6 -/* 087B2C 7F052FFC 00000000 */ nop -/* 087B30 7F053000 00000000 */ nop -/* 087B34 7F053004 01D8001A */ div $zero, $t6, $t8 -/* 087B38 7F053008 00007812 */ mflo $t7 -/* 087B3C 7F05300C 01E2C821 */ addu $t9, $t7, $v0 -/* 087B40 7F053010 A5790008 */ sh $t9, 8($t3) -/* 087B44 7F053014 17000002 */ bnez $t8, .L7F053020 -/* 087B48 7F053018 00000000 */ nop -/* 087B4C 7F05301C 0007000D */ break 7 -.L7F053020: -/* 087B50 7F053020 2401FFFF */ li $at, -1 -/* 087B54 7F053024 17010004 */ bne $t8, $at, .L7F053038 -/* 087B58 7F053028 3C018000 */ lui $at, 0x8000 -/* 087B5C 7F05302C 15C10002 */ bne $t6, $at, .L7F053038 -/* 087B60 7F053030 00000000 */ nop -/* 087B64 7F053034 0006000D */ break 6 -.L7F053038: -/* 087B68 7F053038 8518000A */ lh $t8, 0xa($t0) -/* 087B6C 7F05303C 84C3000A */ lh $v1, 0xa($a2) -/* 087B70 7F053040 84C40002 */ lh $a0, 2($a2) -/* 087B74 7F053044 03037823 */ subu $t7, $t8, $v1 -/* 087B78 7F053048 008D7023 */ subu $t6, $a0, $t5 -/* 087B7C 7F05304C 01CF0019 */ multu $t6, $t7 -/* 087B80 7F053050 85180002 */ lh $t8, 2($t0) -/* 087B84 7F053054 00987023 */ subu $t6, $a0, $t8 -/* 087B88 7F053058 0000C812 */ mflo $t9 -/* 087B8C 7F05305C 00000000 */ nop -/* 087B90 7F053060 00000000 */ nop -/* 087B94 7F053064 032E001A */ div $zero, $t9, $t6 -/* 087B98 7F053068 00007812 */ mflo $t7 -/* 087B9C 7F05306C 01E3C021 */ addu $t8, $t7, $v1 -/* 087BA0 7F053070 15C00002 */ bnez $t6, .L7F05307C -/* 087BA4 7F053074 00000000 */ nop -/* 087BA8 7F053078 0007000D */ break 7 -.L7F05307C: -/* 087BAC 7F05307C 2401FFFF */ li $at, -1 -/* 087BB0 7F053080 15C10004 */ bne $t6, $at, .L7F053094 -/* 087BB4 7F053084 3C018000 */ lui $at, 0x8000 -/* 087BB8 7F053088 17210002 */ bne $t9, $at, .L7F053094 -/* 087BBC 7F05308C 00000000 */ nop -/* 087BC0 7F053090 0006000D */ break 6 -.L7F053094: -/* 087BC4 7F053094 A578000A */ sh $t8, 0xa($t3) -/* 087BC8 7F053098 10000073 */ b .L7F053268 -/* 087BCC 7F05309C 00000000 */ nop -/* 087BD0 7F0530A0 85590000 */ lh $t9, ($t2) -.L7F0530A4: -/* 087BD4 7F0530A4 57250039 */ bnel $t9, $a1, .L7F05318C -/* 087BD8 7F0530A8 84EE0000 */ lh $t6, ($a3) -/* 087BDC 7F0530AC 854E0004 */ lh $t6, 4($t2) -/* 087BE0 7F0530B0 84CF0004 */ lh $t7, 4($a2) -/* 087BE4 7F0530B4 55CF0035 */ bnel $t6, $t7, .L7F05318C -/* 087BE8 7F0530B8 84EE0000 */ lh $t6, ($a3) -/* 087BEC 7F0530BC 85480002 */ lh $t0, 2($t2) -/* 087BF0 7F0530C0 51040032 */ beql $t0, $a0, .L7F05318C -/* 087BF4 7F0530C4 84EE0000 */ lh $t6, ($a3) -/* 087BF8 7F0530C8 84C20008 */ lh $v0, 8($a2) -/* 087BFC 7F0530CC 85590008 */ lh $t9, 8($t2) -/* 087C00 7F0530D0 008DC023 */ subu $t8, $a0, $t5 -/* 087C04 7F0530D4 03227023 */ subu $t6, $t9, $v0 -/* 087C08 7F0530D8 030E0019 */ multu $t8, $t6 -/* 087C0C 7F0530DC 0088C823 */ subu $t9, $a0, $t0 -/* 087C10 7F0530E0 00007812 */ mflo $t7 -/* 087C14 7F0530E4 00000000 */ nop -/* 087C18 7F0530E8 00000000 */ nop -/* 087C1C 7F0530EC 01F9001A */ div $zero, $t7, $t9 -/* 087C20 7F0530F0 0000C012 */ mflo $t8 -/* 087C24 7F0530F4 03027021 */ addu $t6, $t8, $v0 -/* 087C28 7F0530F8 A56E0008 */ sh $t6, 8($t3) -/* 087C2C 7F0530FC 17200002 */ bnez $t9, .L7F053108 -/* 087C30 7F053100 00000000 */ nop -/* 087C34 7F053104 0007000D */ break 7 -.L7F053108: -/* 087C38 7F053108 2401FFFF */ li $at, -1 -/* 087C3C 7F05310C 17210004 */ bne $t9, $at, .L7F053120 -/* 087C40 7F053110 3C018000 */ lui $at, 0x8000 -/* 087C44 7F053114 15E10002 */ bne $t7, $at, .L7F053120 -/* 087C48 7F053118 00000000 */ nop -/* 087C4C 7F05311C 0006000D */ break 6 -.L7F053120: -/* 087C50 7F053120 8559000A */ lh $t9, 0xa($t2) -/* 087C54 7F053124 84C3000A */ lh $v1, 0xa($a2) -/* 087C58 7F053128 84C40002 */ lh $a0, 2($a2) -/* 087C5C 7F05312C 0323C023 */ subu $t8, $t9, $v1 -/* 087C60 7F053130 008D7823 */ subu $t7, $a0, $t5 -/* 087C64 7F053134 01F80019 */ multu $t7, $t8 -/* 087C68 7F053138 85590002 */ lh $t9, 2($t2) -/* 087C6C 7F05313C 00997823 */ subu $t7, $a0, $t9 -/* 087C70 7F053140 00007012 */ mflo $t6 -/* 087C74 7F053144 00000000 */ nop -/* 087C78 7F053148 00000000 */ nop -/* 087C7C 7F05314C 01CF001A */ div $zero, $t6, $t7 -/* 087C80 7F053150 0000C012 */ mflo $t8 -/* 087C84 7F053154 0303C821 */ addu $t9, $t8, $v1 -/* 087C88 7F053158 15E00002 */ bnez $t7, .L7F053164 -/* 087C8C 7F05315C 00000000 */ nop -/* 087C90 7F053160 0007000D */ break 7 -.L7F053164: -/* 087C94 7F053164 2401FFFF */ li $at, -1 -/* 087C98 7F053168 15E10004 */ bne $t7, $at, .L7F05317C -/* 087C9C 7F05316C 3C018000 */ lui $at, 0x8000 -/* 087CA0 7F053170 15C10002 */ bne $t6, $at, .L7F05317C -/* 087CA4 7F053174 00000000 */ nop -/* 087CA8 7F053178 0006000D */ break 6 -.L7F05317C: -/* 087CAC 7F05317C A579000A */ sh $t9, 0xa($t3) -/* 087CB0 7F053180 10000039 */ b .L7F053268 -/* 087CB4 7F053184 00000000 */ nop -/* 087CB8 7F053188 84EE0000 */ lh $t6, ($a3) -.L7F05318C: -/* 087CBC 7F05318C 15C50036 */ bne $t6, $a1, .L7F053268 -/* 087CC0 7F053190 00000000 */ nop -/* 087CC4 7F053194 84EF0004 */ lh $t7, 4($a3) -/* 087CC8 7F053198 84D80004 */ lh $t8, 4($a2) -/* 087CCC 7F05319C 15F80032 */ bne $t7, $t8, .L7F053268 -/* 087CD0 7F0531A0 00000000 */ nop -/* 087CD4 7F0531A4 84E50002 */ lh $a1, 2($a3) -/* 087CD8 7F0531A8 10A4002F */ beq $a1, $a0, .L7F053268 -/* 087CDC 7F0531AC 00000000 */ nop -/* 087CE0 7F0531B0 84C20008 */ lh $v0, 8($a2) -/* 087CE4 7F0531B4 84EE0008 */ lh $t6, 8($a3) -/* 087CE8 7F0531B8 008DC823 */ subu $t9, $a0, $t5 -/* 087CEC 7F0531BC 01C27823 */ subu $t7, $t6, $v0 -/* 087CF0 7F0531C0 032F0019 */ multu $t9, $t7 -/* 087CF4 7F0531C4 00857023 */ subu $t6, $a0, $a1 -/* 087CF8 7F0531C8 0000C012 */ mflo $t8 -/* 087CFC 7F0531CC 00000000 */ nop -/* 087D00 7F0531D0 00000000 */ nop -/* 087D04 7F0531D4 030E001A */ div $zero, $t8, $t6 -/* 087D08 7F0531D8 0000C812 */ mflo $t9 -/* 087D0C 7F0531DC 03227821 */ addu $t7, $t9, $v0 -/* 087D10 7F0531E0 A56F0008 */ sh $t7, 8($t3) -/* 087D14 7F0531E4 15C00002 */ bnez $t6, .L7F0531F0 -/* 087D18 7F0531E8 00000000 */ nop -/* 087D1C 7F0531EC 0007000D */ break 7 -.L7F0531F0: -/* 087D20 7F0531F0 2401FFFF */ li $at, -1 -/* 087D24 7F0531F4 15C10004 */ bne $t6, $at, .L7F053208 -/* 087D28 7F0531F8 3C018000 */ lui $at, 0x8000 -/* 087D2C 7F0531FC 17010002 */ bne $t8, $at, .L7F053208 -/* 087D30 7F053200 00000000 */ nop -/* 087D34 7F053204 0006000D */ break 6 -.L7F053208: -/* 087D38 7F053208 84EE000A */ lh $t6, 0xa($a3) -/* 087D3C 7F05320C 84C3000A */ lh $v1, 0xa($a2) -/* 087D40 7F053210 84C40002 */ lh $a0, 2($a2) -/* 087D44 7F053214 01C3C823 */ subu $t9, $t6, $v1 -/* 087D48 7F053218 008DC023 */ subu $t8, $a0, $t5 -/* 087D4C 7F05321C 03190019 */ multu $t8, $t9 -/* 087D50 7F053220 84EE0002 */ lh $t6, 2($a3) -/* 087D54 7F053224 008EC023 */ subu $t8, $a0, $t6 -/* 087D58 7F053228 00007812 */ mflo $t7 -/* 087D5C 7F05322C 00000000 */ nop -/* 087D60 7F053230 00000000 */ nop -/* 087D64 7F053234 01F8001A */ div $zero, $t7, $t8 -/* 087D68 7F053238 0000C812 */ mflo $t9 -/* 087D6C 7F05323C 03237021 */ addu $t6, $t9, $v1 -/* 087D70 7F053240 A56E000A */ sh $t6, 0xa($t3) -/* 087D74 7F053244 17000002 */ bnez $t8, .L7F053250 -/* 087D78 7F053248 00000000 */ nop -/* 087D7C 7F05324C 0007000D */ break 7 -.L7F053250: -/* 087D80 7F053250 2401FFFF */ li $at, -1 -/* 087D84 7F053254 17010004 */ bne $t8, $at, .L7F053268 -/* 087D88 7F053258 3C018000 */ lui $at, 0x8000 -/* 087D8C 7F05325C 15E10002 */ bne $t7, $at, .L7F053268 -/* 087D90 7F053260 00000000 */ nop -/* 087D94 7F053264 0006000D */ break 6 -.L7F053268: -/* 087D98 7F053268 100000B3 */ b .L7F053538 -/* 087D9C 7F05326C A56D0002 */ sh $t5, 2($t3) -/* 087DA0 7F053270 84C50000 */ lh $a1, ($a2) -.L7F053274: -/* 087DA4 7F053274 01A5082A */ slt $at, $t5, $a1 -/* 087DA8 7F053278 142000AF */ bnez $at, .L7F053538 -/* 087DAC 7F05327C 00000000 */ nop -/* 087DB0 7F053280 84C40002 */ lh $a0, 2($a2) -/* 087DB4 7F053284 850F0002 */ lh $t7, 2($t0) -/* 087DB8 7F053288 55E40039 */ bnel $t7, $a0, .L7F053370 -/* 087DBC 7F05328C 85580002 */ lh $t8, 2($t2) -/* 087DC0 7F053290 85180004 */ lh $t8, 4($t0) -/* 087DC4 7F053294 84D90004 */ lh $t9, 4($a2) -/* 087DC8 7F053298 57190035 */ bnel $t8, $t9, .L7F053370 -/* 087DCC 7F05329C 85580002 */ lh $t8, 2($t2) -/* 087DD0 7F0532A0 85090000 */ lh $t1, ($t0) -/* 087DD4 7F0532A4 51250032 */ beql $t1, $a1, .L7F053370 -/* 087DD8 7F0532A8 85580002 */ lh $t8, 2($t2) -/* 087DDC 7F0532AC 84C20008 */ lh $v0, 8($a2) -/* 087DE0 7F0532B0 850F0008 */ lh $t7, 8($t0) -/* 087DE4 7F0532B4 01A57023 */ subu $t6, $t5, $a1 -/* 087DE8 7F0532B8 01E2C023 */ subu $t8, $t7, $v0 -/* 087DEC 7F0532BC 01D80019 */ multu $t6, $t8 -/* 087DF0 7F0532C0 01257823 */ subu $t7, $t1, $a1 -/* 087DF4 7F0532C4 0000C812 */ mflo $t9 -/* 087DF8 7F0532C8 00000000 */ nop -/* 087DFC 7F0532CC 00000000 */ nop -/* 087E00 7F0532D0 032F001A */ div $zero, $t9, $t7 -/* 087E04 7F0532D4 00007012 */ mflo $t6 -/* 087E08 7F0532D8 01C2C021 */ addu $t8, $t6, $v0 -/* 087E0C 7F0532DC A5780008 */ sh $t8, 8($t3) -/* 087E10 7F0532E0 15E00002 */ bnez $t7, .L7F0532EC -/* 087E14 7F0532E4 00000000 */ nop -/* 087E18 7F0532E8 0007000D */ break 7 -.L7F0532EC: -/* 087E1C 7F0532EC 2401FFFF */ li $at, -1 -/* 087E20 7F0532F0 15E10004 */ bne $t7, $at, .L7F053304 -/* 087E24 7F0532F4 3C018000 */ lui $at, 0x8000 -/* 087E28 7F0532F8 17210002 */ bne $t9, $at, .L7F053304 -/* 087E2C 7F0532FC 00000000 */ nop -/* 087E30 7F053300 0006000D */ break 6 -.L7F053304: -/* 087E34 7F053304 850F000A */ lh $t7, 0xa($t0) -/* 087E38 7F053308 84C3000A */ lh $v1, 0xa($a2) -/* 087E3C 7F05330C 84C50000 */ lh $a1, ($a2) -/* 087E40 7F053310 01E37023 */ subu $t6, $t7, $v1 -/* 087E44 7F053314 01A5C823 */ subu $t9, $t5, $a1 -/* 087E48 7F053318 032E0019 */ multu $t9, $t6 -/* 087E4C 7F05331C 850F0000 */ lh $t7, ($t0) -/* 087E50 7F053320 01E5C823 */ subu $t9, $t7, $a1 -/* 087E54 7F053324 0000C012 */ mflo $t8 -/* 087E58 7F053328 00000000 */ nop -/* 087E5C 7F05332C 00000000 */ nop -/* 087E60 7F053330 0319001A */ div $zero, $t8, $t9 -/* 087E64 7F053334 00007012 */ mflo $t6 -/* 087E68 7F053338 01C37821 */ addu $t7, $t6, $v1 -/* 087E6C 7F05333C 17200002 */ bnez $t9, .L7F053348 -/* 087E70 7F053340 00000000 */ nop -/* 087E74 7F053344 0007000D */ break 7 -.L7F053348: -/* 087E78 7F053348 2401FFFF */ li $at, -1 -/* 087E7C 7F05334C 17210004 */ bne $t9, $at, .L7F053360 -/* 087E80 7F053350 3C018000 */ lui $at, 0x8000 -/* 087E84 7F053354 17010002 */ bne $t8, $at, .L7F053360 -/* 087E88 7F053358 00000000 */ nop -/* 087E8C 7F05335C 0006000D */ break 6 -.L7F053360: -/* 087E90 7F053360 A56F000A */ sh $t7, 0xa($t3) -/* 087E94 7F053364 10000074 */ b .L7F053538 -/* 087E98 7F053368 A56D0000 */ sh $t5, ($t3) -/* 087E9C 7F05336C 85580002 */ lh $t8, 2($t2) -.L7F053370: -/* 087EA0 7F053370 57040039 */ bnel $t8, $a0, .L7F053458 -/* 087EA4 7F053374 84F90002 */ lh $t9, 2($a3) -/* 087EA8 7F053378 85590004 */ lh $t9, 4($t2) -/* 087EAC 7F05337C 84CE0004 */ lh $t6, 4($a2) -/* 087EB0 7F053380 572E0035 */ bnel $t9, $t6, .L7F053458 -/* 087EB4 7F053384 84F90002 */ lh $t9, 2($a3) -/* 087EB8 7F053388 85480000 */ lh $t0, ($t2) -/* 087EBC 7F05338C 51050032 */ beql $t0, $a1, .L7F053458 -/* 087EC0 7F053390 84F90002 */ lh $t9, 2($a3) -/* 087EC4 7F053394 84C20008 */ lh $v0, 8($a2) -/* 087EC8 7F053398 85580008 */ lh $t8, 8($t2) -/* 087ECC 7F05339C 01A57823 */ subu $t7, $t5, $a1 -/* 087ED0 7F0533A0 0302C823 */ subu $t9, $t8, $v0 -/* 087ED4 7F0533A4 01F90019 */ multu $t7, $t9 -/* 087ED8 7F0533A8 0105C023 */ subu $t8, $t0, $a1 -/* 087EDC 7F0533AC 00007012 */ mflo $t6 -/* 087EE0 7F0533B0 00000000 */ nop -/* 087EE4 7F0533B4 00000000 */ nop -/* 087EE8 7F0533B8 01D8001A */ div $zero, $t6, $t8 -/* 087EEC 7F0533BC 00007812 */ mflo $t7 -/* 087EF0 7F0533C0 01E2C821 */ addu $t9, $t7, $v0 -/* 087EF4 7F0533C4 A5790008 */ sh $t9, 8($t3) -/* 087EF8 7F0533C8 17000002 */ bnez $t8, .L7F0533D4 -/* 087EFC 7F0533CC 00000000 */ nop -/* 087F00 7F0533D0 0007000D */ break 7 -.L7F0533D4: -/* 087F04 7F0533D4 2401FFFF */ li $at, -1 -/* 087F08 7F0533D8 17010004 */ bne $t8, $at, .L7F0533EC -/* 087F0C 7F0533DC 3C018000 */ lui $at, 0x8000 -/* 087F10 7F0533E0 15C10002 */ bne $t6, $at, .L7F0533EC -/* 087F14 7F0533E4 00000000 */ nop -/* 087F18 7F0533E8 0006000D */ break 6 -.L7F0533EC: -/* 087F1C 7F0533EC 8558000A */ lh $t8, 0xa($t2) -/* 087F20 7F0533F0 84C3000A */ lh $v1, 0xa($a2) -/* 087F24 7F0533F4 84C50000 */ lh $a1, ($a2) -/* 087F28 7F0533F8 03037823 */ subu $t7, $t8, $v1 -/* 087F2C 7F0533FC 01A57023 */ subu $t6, $t5, $a1 -/* 087F30 7F053400 01CF0019 */ multu $t6, $t7 -/* 087F34 7F053404 85580000 */ lh $t8, ($t2) -/* 087F38 7F053408 03057023 */ subu $t6, $t8, $a1 -/* 087F3C 7F05340C 0000C812 */ mflo $t9 -/* 087F40 7F053410 00000000 */ nop -/* 087F44 7F053414 00000000 */ nop -/* 087F48 7F053418 032E001A */ div $zero, $t9, $t6 -/* 087F4C 7F05341C 00007812 */ mflo $t7 -/* 087F50 7F053420 01E3C021 */ addu $t8, $t7, $v1 -/* 087F54 7F053424 15C00002 */ bnez $t6, .L7F053430 -/* 087F58 7F053428 00000000 */ nop -/* 087F5C 7F05342C 0007000D */ break 7 -.L7F053430: -/* 087F60 7F053430 2401FFFF */ li $at, -1 -/* 087F64 7F053434 15C10004 */ bne $t6, $at, .L7F053448 -/* 087F68 7F053438 3C018000 */ lui $at, 0x8000 -/* 087F6C 7F05343C 17210002 */ bne $t9, $at, .L7F053448 -/* 087F70 7F053440 00000000 */ nop -/* 087F74 7F053444 0006000D */ break 6 -.L7F053448: -/* 087F78 7F053448 A578000A */ sh $t8, 0xa($t3) -/* 087F7C 7F05344C 1000003A */ b .L7F053538 -/* 087F80 7F053450 A56D0000 */ sh $t5, ($t3) -/* 087F84 7F053454 84F90002 */ lh $t9, 2($a3) -.L7F053458: -/* 087F88 7F053458 57240037 */ bnel $t9, $a0, .L7F053538 -/* 087F8C 7F05345C A56D0000 */ sh $t5, ($t3) -/* 087F90 7F053460 84EE0004 */ lh $t6, 4($a3) -/* 087F94 7F053464 84CF0004 */ lh $t7, 4($a2) -/* 087F98 7F053468 55CF0033 */ bnel $t6, $t7, .L7F053538 -/* 087F9C 7F05346C A56D0000 */ sh $t5, ($t3) -/* 087FA0 7F053470 84E40000 */ lh $a0, ($a3) -/* 087FA4 7F053474 50850030 */ beql $a0, $a1, .L7F053538 -/* 087FA8 7F053478 A56D0000 */ sh $t5, ($t3) -/* 087FAC 7F05347C 84C20008 */ lh $v0, 8($a2) -/* 087FB0 7F053480 84F90008 */ lh $t9, 8($a3) -/* 087FB4 7F053484 01A5C023 */ subu $t8, $t5, $a1 -/* 087FB8 7F053488 03227023 */ subu $t6, $t9, $v0 -/* 087FBC 7F05348C 030E0019 */ multu $t8, $t6 -/* 087FC0 7F053490 0085C823 */ subu $t9, $a0, $a1 -/* 087FC4 7F053494 00007812 */ mflo $t7 -/* 087FC8 7F053498 00000000 */ nop -/* 087FCC 7F05349C 00000000 */ nop -/* 087FD0 7F0534A0 01F9001A */ div $zero, $t7, $t9 -/* 087FD4 7F0534A4 0000C012 */ mflo $t8 -/* 087FD8 7F0534A8 03027021 */ addu $t6, $t8, $v0 -/* 087FDC 7F0534AC A56E0008 */ sh $t6, 8($t3) -/* 087FE0 7F0534B0 17200002 */ bnez $t9, .L7F0534BC -/* 087FE4 7F0534B4 00000000 */ nop -/* 087FE8 7F0534B8 0007000D */ break 7 -.L7F0534BC: -/* 087FEC 7F0534BC 2401FFFF */ li $at, -1 -/* 087FF0 7F0534C0 17210004 */ bne $t9, $at, .L7F0534D4 -/* 087FF4 7F0534C4 3C018000 */ lui $at, 0x8000 -/* 087FF8 7F0534C8 15E10002 */ bne $t7, $at, .L7F0534D4 -/* 087FFC 7F0534CC 00000000 */ nop -/* 088000 7F0534D0 0006000D */ break 6 -.L7F0534D4: -/* 088004 7F0534D4 84F9000A */ lh $t9, 0xa($a3) -/* 088008 7F0534D8 84C3000A */ lh $v1, 0xa($a2) -/* 08800C 7F0534DC 84C50000 */ lh $a1, ($a2) -/* 088010 7F0534E0 0323C023 */ subu $t8, $t9, $v1 -/* 088014 7F0534E4 01A57823 */ subu $t7, $t5, $a1 -/* 088018 7F0534E8 01F80019 */ multu $t7, $t8 -/* 08801C 7F0534EC 84F90000 */ lh $t9, ($a3) -/* 088020 7F0534F0 03257823 */ subu $t7, $t9, $a1 -/* 088024 7F0534F4 00007012 */ mflo $t6 -/* 088028 7F0534F8 00000000 */ nop -/* 08802C 7F0534FC 00000000 */ nop -/* 088030 7F053500 01CF001A */ div $zero, $t6, $t7 -/* 088034 7F053504 0000C012 */ mflo $t8 -/* 088038 7F053508 0303C821 */ addu $t9, $t8, $v1 -/* 08803C 7F05350C A579000A */ sh $t9, 0xa($t3) -/* 088040 7F053510 15E00002 */ bnez $t7, .L7F05351C -/* 088044 7F053514 00000000 */ nop -/* 088048 7F053518 0007000D */ break 7 -.L7F05351C: -/* 08804C 7F05351C 2401FFFF */ li $at, -1 -/* 088050 7F053520 15E10004 */ bne $t7, $at, .L7F053534 -/* 088054 7F053524 3C018000 */ lui $at, 0x8000 -/* 088058 7F053528 15C10002 */ bne $t6, $at, .L7F053534 -/* 08805C 7F05352C 00000000 */ nop -/* 088060 7F053530 0006000D */ break 6 -.L7F053534: -/* 088064 7F053534 A56D0000 */ sh $t5, ($t3) -.L7F053538: -/* 088068 7F053538 1654FE52 */ bne $s2, $s4, .L7F052E84 -/* 08806C 7F05353C 02401825 */ move $v1, $s2 -/* 088070 7F053540 86A2000C */ lh $v0, 0xc($s5) -/* 088074 7F053544 27DE0004 */ addiu $fp, $fp, 4 -/* 088078 7F053548 04410003 */ bgez $v0, .L7F053558 -/* 08807C 7F05354C 00027083 */ sra $t6, $v0, 2 -/* 088080 7F053550 24410003 */ addiu $at, $v0, 3 -/* 088084 7F053554 00017083 */ sra $t6, $at, 2 -.L7F053558: -/* 088088 7F053558 000E1880 */ sll $v1, $t6, 2 -/* 08808C 7F05355C 03C3082A */ slt $at, $fp, $v1 -/* 088090 7F053560 5420FE47 */ bnezl $at, .L7F052E80 -/* 088094 7F053564 00001825 */ move $v1, $zero -.L7F053568: -/* 088098 7F053568 8FBF003C */ lw $ra, 0x3c($sp) -.L7F05356C: -/* 08809C 7F05356C 8FB00018 */ lw $s0, 0x18($sp) -/* 0880A0 7F053570 8FB1001C */ lw $s1, 0x1c($sp) -/* 0880A4 7F053574 8FB20020 */ lw $s2, 0x20($sp) -/* 0880A8 7F053578 8FB30024 */ lw $s3, 0x24($sp) -/* 0880AC 7F05357C 8FB40028 */ lw $s4, 0x28($sp) -/* 0880B0 7F053580 8FB5002C */ lw $s5, 0x2c($sp) -/* 0880B4 7F053584 8FB60030 */ lw $s6, 0x30($sp) -/* 0880B8 7F053588 8FB70034 */ lw $s7, 0x34($sp) -/* 0880BC 7F05358C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0880C0 7F053590 03E00008 */ jr $ra -/* 0880C4 7F053594 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F053598(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F053598 -/* 0880C8 7F053598 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0880CC 7F05359C AFBF0014 */ sw $ra, 0x14($sp) -/* 0880D0 7F0535A0 8C8600F0 */ lw $a2, 0xf0($a0) -/* 0880D4 7F0535A4 04C00003 */ bltz $a2, .L7F0535B4 -/* 0880D8 7F0535A8 00C02025 */ move $a0, $a2 -/* 0880DC 7F0535AC 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 0880E0 7F0535B0 24050001 */ li $a1, 1 -.L7F0535B4: -/* 0880E4 7F0535B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0880E8 7F0535B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0880EC 7F0535BC 03E00008 */ jr $ra -/* 0880F0 7F0535C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0535C4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0535C4 -/* 0880F4 7F0535C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0880F8 7F0535C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0880FC 7F0535CC 8C8600F0 */ lw $a2, 0xf0($a0) -/* 088100 7F0535D0 04C00003 */ bltz $a2, .L7F0535E0 -/* 088104 7F0535D4 00C02025 */ move $a0, $a2 -/* 088108 7F0535D8 0FC2E76F */ jal sub_GAME_7F0B9DBC -/* 08810C 7F0535DC 00002825 */ move $a1, $zero -.L7F0535E0: -/* 088110 7F0535E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 088114 7F0535E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 088118 7F0535E8 03E00008 */ jr $ra -/* 08811C 7F0535EC 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void initialize_door(void) { - -} -#else -GLOBAL_ASM( -.text -glabel initialize_door -/* 088120 7F0535F0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 088124 7F0535F4 AFBF001C */ sw $ra, 0x1c($sp) -/* 088128 7F0535F8 AFB00014 */ sw $s0, 0x14($sp) -/* 08812C 7F0535FC 00808025 */ move $s0, $a0 -/* 088130 7F053600 AFB10018 */ sw $s1, 0x18($sp) -/* 088134 7F053604 AFA50034 */ sw $a1, 0x34($sp) -/* 088138 7F053608 AFA60038 */ sw $a2, 0x38($sp) -/* 08813C 7F05360C 0FC101C7 */ jal sub_GAME_7F04071C -/* 088140 7F053610 AFA7003C */ sw $a3, 0x3c($sp) -/* 088144 7F053614 860E0004 */ lh $t6, 4($s0) -/* 088148 7F053618 3C018004 */ lui $at, %hi(PitemZ_entries+8) -/* 08814C 7F05361C 00408825 */ move $s1, $v0 -/* 088150 7F053620 000E7880 */ sll $t7, $t6, 2 -/* 088154 7F053624 01EE7823 */ subu $t7, $t7, $t6 -/* 088158 7F053628 000F7880 */ sll $t7, $t7, 2 -/* 08815C 7F05362C 002F0821 */ addu $at, $at, $t7 -/* 088160 7F053630 C424A230 */ lwc1 $f4, %lo(PitemZ_entries+8)($at) -/* 088164 7F053634 24040050 */ li $a0, 80 -/* 088168 7F053638 24050004 */ li $a1, 4 -/* 08816C 7F05363C 0C0025C8 */ jal allocate_bytes_in_bank -/* 088170 7F053640 E7A40028 */ swc1 $f4, 0x28($sp) -/* 088174 7F053644 AE020068 */ sw $v0, 0x68($s0) -/* 088178 7F053648 26050018 */ addiu $a1, $s0, 0x18 -/* 08817C 7F05364C AFA50020 */ sw $a1, 0x20($sp) -/* 088180 7F053650 0FC16008 */ jal sub_GAME_7F058020 -/* 088184 7F053654 8FA40038 */ lw $a0, 0x38($sp) -/* 088188 7F053658 8FA50020 */ lw $a1, 0x20($sp) -/* 08818C 7F05365C 0FC1629F */ jal matrix_multiply_A1_by_F12 -/* 088190 7F053660 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 088194 7F053664 8FA20040 */ lw $v0, 0x40($sp) -/* 088198 7F053668 8E180008 */ lw $t8, 8($s0) -/* 08819C 7F05366C 44802000 */ mtc1 $zero, $f4 -/* 0881A0 7F053670 C4460000 */ lwc1 $f6, ($v0) -/* 0881A4 7F053674 0018C800 */ sll $t9, $t8, 0 -/* 0881A8 7F053678 E60600A8 */ swc1 $f6, 0xa8($s0) -/* 0881AC 7F05367C C4480004 */ lwc1 $f8, 4($v0) -/* 0881B0 7F053680 E60800AC */ swc1 $f8, 0xac($s0) -/* 0881B4 7F053684 C44A0008 */ lwc1 $f10, 8($v0) -/* 0881B8 7F053688 07210004 */ bgez $t9, .L7F05369C -/* 0881BC 7F05368C E60A00B0 */ swc1 $f10, 0xb0($s0) -/* 0881C0 7F053690 C6100084 */ lwc1 $f16, 0x84($s0) -/* 0881C4 7F053694 10000004 */ b .L7F0536A8 -/* 0881C8 7F053698 E61000B4 */ swc1 $f16, 0xb4($s0) -.L7F05369C: -/* 0881CC 7F05369C 44809000 */ mtc1 $zero, $f18 -/* 0881D0 7F0536A0 00000000 */ nop -/* 0881D4 7F0536A4 E61200B4 */ swc1 $f18, 0xb4($s0) -.L7F0536A8: -/* 0881D8 7F0536A8 96080098 */ lhu $t0, 0x98($s0) -/* 0881DC 7F0536AC E60400B8 */ swc1 $f4, 0xb8($s0) -/* 0881E0 7F0536B0 A20000BC */ sb $zero, 0xbc($s0) -/* 0881E4 7F0536B4 31090004 */ andi $t1, $t0, 4 -/* 0881E8 7F0536B8 A20000BD */ sb $zero, 0xbd($s0) -/* 0881EC 7F0536BC 1120000E */ beqz $t1, .L7F0536F8 -/* 0881F0 7F0536C0 AE0000C8 */ sw $zero, 0xc8($s0) -/* 0881F4 7F0536C4 8E0A0014 */ lw $t2, 0x14($s0) -/* 0881F8 7F0536C8 24050004 */ li $a1, 4 -/* 0881FC 7F0536CC 8D4B0008 */ lw $t3, 8($t2) -/* 088200 7F0536D0 8D6C0000 */ lw $t4, ($t3) -/* 088204 7F0536D4 8D8D0014 */ lw $t5, 0x14($t4) -/* 088208 7F0536D8 8DAE0014 */ lw $t6, 0x14($t5) -/* 08820C 7F0536DC 8DC20004 */ lw $v0, 4($t6) -/* 088210 7F0536E0 8444000C */ lh $a0, 0xc($v0) -/* 088214 7F0536E4 00047900 */ sll $t7, $a0, 4 -/* 088218 7F0536E8 0C0025C8 */ jal allocate_bytes_in_bank -/* 08821C 7F0536EC 01E02025 */ move $a0, $t7 -/* 088220 7F0536F0 10000002 */ b .L7F0536FC -/* 088224 7F0536F4 AE0200CC */ sw $v0, 0xcc($s0) -.L7F0536F8: -/* 088228 7F0536F8 AE0000CC */ sw $zero, 0xcc($s0) -.L7F0536FC: -/* 08822C 7F0536FC 8FA30034 */ lw $v1, 0x34($sp) -/* 088230 7F053700 8FA20044 */ lw $v0, 0x44($sp) -/* 088234 7F053704 2418FFFF */ li $t8, -1 -/* 088238 7F053708 AE1800F0 */ sw $t8, 0xf0($s0) -/* 08823C 7F05370C AE0000F4 */ sw $zero, 0xf4($s0) -/* 088240 7F053710 AE0000F8 */ sw $zero, 0xf8($s0) -/* 088244 7F053714 24190002 */ li $t9, 2 -/* 088248 7F053718 A2390000 */ sb $t9, ($s1) -/* 08824C 7F05371C AE300004 */ sw $s0, 4($s1) -/* 088250 7F053720 C4660000 */ lwc1 $f6, ($v1) -/* 088254 7F053724 02002025 */ move $a0, $s0 -/* 088258 7F053728 E6260008 */ swc1 $f6, 8($s1) -/* 08825C 7F05372C C4680004 */ lwc1 $f8, 4($v1) -/* 088260 7F053730 E628000C */ swc1 $f8, 0xc($s1) -/* 088264 7F053734 C46A0008 */ lwc1 $f10, 8($v1) -/* 088268 7F053738 E62A0010 */ swc1 $f10, 0x10($s1) -/* 08826C 7F05373C 8FA8003C */ lw $t0, 0x3c($sp) -/* 088270 7F053740 AE280014 */ sw $t0, 0x14($s1) -/* 088274 7F053744 C4500000 */ lwc1 $f16, ($v0) -/* 088278 7F053748 8E090008 */ lw $t1, 8($s0) -/* 08827C 7F05374C E6100058 */ swc1 $f16, 0x58($s0) -/* 088280 7F053750 C4520004 */ lwc1 $f18, 4($v0) -/* 088284 7F053754 352A0100 */ ori $t2, $t1, 0x100 -/* 088288 7F053758 E612005C */ swc1 $f18, 0x5c($s0) -/* 08828C 7F05375C C4440008 */ lwc1 $f4, 8($v0) -/* 088290 7F053760 AE0A0008 */ sw $t2, 8($s0) -/* 088294 7F053764 0FC14AC0 */ jal sub_GAME_7F052B00 -/* 088298 7F053768 E6040060 */ swc1 $f4, 0x60($s0) -/* 08829C 7F05376C 0FC14B63 */ jal sub_GAME_7F052D8C -/* 0882A0 7F053770 02002025 */ move $a0, $s0 -/* 0882A4 7F053774 8E040010 */ lw $a0, 0x10($s0) -/* 0882A8 7F053778 0FC100AD */ jal sub_GAME_7F0402B4 -/* 0882AC 7F05377C 2605007C */ addiu $a1, $s0, 0x7c -/* 0882B0 7F053780 920B007C */ lbu $t3, 0x7c($s0) -/* 0882B4 7F053784 920C007D */ lbu $t4, 0x7d($s0) -/* 0882B8 7F053788 920D007E */ lbu $t5, 0x7e($s0) -/* 0882BC 7F05378C 920E007F */ lbu $t6, 0x7f($s0) -/* 0882C0 7F053790 A20B0078 */ sb $t3, 0x78($s0) -/* 0882C4 7F053794 A20C0079 */ sb $t4, 0x79($s0) -/* 0882C8 7F053798 A20D007A */ sb $t5, 0x7a($s0) -/* 0882CC 7F05379C A20E007B */ sb $t6, 0x7b($s0) -/* 0882D0 7F0537A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0882D4 7F0537A4 02201025 */ move $v0, $s1 -/* 0882D8 7F0537A8 8FB10018 */ lw $s1, 0x18($sp) -/* 0882DC 7F0537AC 8FB00014 */ lw $s0, 0x14($sp) -/* 0882E0 7F0537B0 03E00008 */ jr $ra -/* 0882E4 7F0537B4 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0537B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0537B8 -/* 0882E8 7F0537B8 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0882EC 7F0537BC 44810000 */ mtc1 $at, $f0 -/* 0882F0 7F0537C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0882F4 7F0537C4 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0882F8 7F0537C8 4600603E */ c.le.s $f12, $f0 -/* 0882FC 7F0537CC AFA60028 */ sw $a2, 0x28($sp) -/* 088300 7F0537D0 46006506 */ mov.s $f20, $f12 -/* 088304 7F0537D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 088308 7F0537D8 45000003 */ bc1f .L7F0537E8 -/* 08830C 7F0537DC C7A40028 */ lwc1 $f4, 0x28($sp) -/* 088310 7F0537E0 10000027 */ b .L7F053880 -/* 088314 7F0537E4 24037FFF */ li $v1, 32767 -.L7F0537E8: -/* 088318 7F0537E8 4614203E */ c.le.s $f4, $f20 -/* 08831C 7F0537EC 00000000 */ nop -/* 088320 7F0537F0 45020004 */ bc1fl .L7F053804 -/* 088324 7F0537F4 4614703E */ c.le.s $f14, $f20 -/* 088328 7F0537F8 10000021 */ b .L7F053880 -/* 08832C 7F0537FC 00001825 */ move $v1, $zero -/* 088330 7F053800 4614703E */ c.le.s $f14, $f20 -.L7F053804: -/* 088334 7F053804 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 088338 7F053808 3C018005 */ lui $at, %hi(D_80053340) -/* 08833C 7F05380C 4502000B */ bc1fl .L7F05383C -/* 088340 7F053810 4600A301 */ sub.s $f12, $f20, $f0 -/* 088344 7F053814 46143201 */ sub.s $f8, $f6, $f20 -/* 088348 7F053818 C42A3340 */ lwc1 $f10, %lo(D_80053340)($at) -/* 08834C 7F05381C 460E3481 */ sub.s $f18, $f6, $f14 -/* 088350 7F053820 460A4402 */ mul.s $f16, $f8, $f10 -/* 088354 7F053824 46128103 */ div.s $f4, $f16, $f18 -/* 088358 7F053828 4600220D */ trunc.w.s $f8, $f4 -/* 08835C 7F05382C 44034000 */ mfc1 $v1, $f8 -/* 088360 7F053830 10000014 */ b .L7F053884 -/* 088364 7F053834 8FBF001C */ lw $ra, 0x1c($sp) -/* 088368 7F053838 4600A301 */ sub.s $f12, $f20, $f0 -.L7F05383C: -/* 08836C 7F05383C 0C007DF8 */ jal sqrtf -/* 088370 7F053840 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 088374 7F053844 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 088378 7F053848 44815000 */ mtc1 $at, $f10 -/* 08837C 7F05384C C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 088380 7F053850 46000506 */ mov.s $f20, $f0 -/* 088384 7F053854 0C007DF8 */ jal sqrtf -/* 088388 7F053858 460A7301 */ sub.s $f12, $f14, $f10 -/* 08838C 7F05385C 3C018005 */ lui $at, %hi(D_80053344) -/* 088390 7F053860 C4263344 */ lwc1 $f6, %lo(D_80053344)($at) -/* 088394 7F053864 24197FFF */ li $t9, 32767 -/* 088398 7F053868 4606A402 */ mul.s $f16, $f20, $f6 -/* 08839C 7F05386C 46008483 */ div.s $f18, $f16, $f0 -/* 0883A0 7F053870 4600910D */ trunc.w.s $f4, $f18 -/* 0883A4 7F053874 44182000 */ mfc1 $t8, $f4 -/* 0883A8 7F053878 00000000 */ nop -/* 0883AC 7F05387C 03381823 */ subu $v1, $t9, $t8 -.L7F053880: -/* 0883B0 7F053880 8FBF001C */ lw $ra, 0x1c($sp) -.L7F053884: -/* 0883B4 7F053884 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0883B8 7F053888 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0883BC 7F05388C 03E00008 */ jr $ra -/* 0883C0 7F053890 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F053894(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F053894 -/* 0883C4 7F053894 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0883C8 7F053898 AFBF002C */ sw $ra, 0x2c($sp) -/* 0883CC 7F05389C AFB10020 */ sw $s1, 0x20($sp) -/* 0883D0 7F0538A0 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0883D4 7F0538A4 AFA60038 */ sw $a2, 0x38($sp) -/* 0883D8 7F0538A8 00808825 */ move $s1, $a0 -/* 0883DC 7F0538AC AFB30028 */ sw $s3, 0x28($sp) -/* 0883E0 7F0538B0 AFB20024 */ sw $s2, 0x24($sp) -/* 0883E4 7F0538B4 AFB0001C */ sw $s0, 0x1c($sp) -/* 0883E8 7F0538B8 AFA50034 */ sw $a1, 0x34($sp) -/* 0883EC 7F0538BC 0FC26919 */ jal get_num_players -/* 0883F0 7F0538C0 C7B40038 */ lwc1 $f20, 0x38($sp) -/* 0883F4 7F0538C4 1840001D */ blez $v0, .L7F05393C -/* 0883F8 7F0538C8 3C0E8008 */ lui $t6, %hi(ptr_BONDdata_p1) -/* 0883FC 7F0538CC 25D09EE0 */ addiu $s0, $t6, %lo(ptr_BONDdata_p1) -/* 088400 7F0538D0 00027880 */ sll $t7, $v0, 2 -/* 088404 7F0538D4 01F09021 */ addu $s2, $t7, $s0 -/* 088408 7F0538D8 8E180000 */ lw $t8, ($s0) -.L7F0538DC: -/* 08840C 7F0538DC C6260000 */ lwc1 $f6, ($s1) -/* 088410 7F0538E0 C62A0004 */ lwc1 $f10, 4($s1) -/* 088414 7F0538E4 8F0200A8 */ lw $v0, 0xa8($t8) -/* 088418 7F0538E8 C6320008 */ lwc1 $f18, 8($s1) -/* 08841C 7F0538EC C4440008 */ lwc1 $f4, 8($v0) -/* 088420 7F0538F0 C448000C */ lwc1 $f8, 0xc($v0) -/* 088424 7F0538F4 C4500010 */ lwc1 $f16, 0x10($v0) -/* 088428 7F0538F8 46062001 */ sub.s $f0, $f4, $f6 -/* 08842C 7F0538FC 460A4081 */ sub.s $f2, $f8, $f10 -/* 088430 7F053900 46000102 */ mul.s $f4, $f0, $f0 -/* 088434 7F053904 46128381 */ sub.s $f14, $f16, $f18 -/* 088438 7F053908 46021182 */ mul.s $f6, $f2, $f2 -/* 08843C 7F05390C 46062200 */ add.s $f8, $f4, $f6 -/* 088440 7F053910 460E7282 */ mul.s $f10, $f14, $f14 -/* 088444 7F053914 0C007DF8 */ jal sqrtf -/* 088448 7F053918 460A4300 */ add.s $f12, $f8, $f10 -/* 08844C 7F05391C 4614003C */ c.lt.s $f0, $f20 -/* 088450 7F053920 26100004 */ addiu $s0, $s0, 4 -/* 088454 7F053924 0212082B */ sltu $at, $s0, $s2 -/* 088458 7F053928 45000002 */ bc1f .L7F053934 -/* 08845C 7F05392C 00000000 */ nop -/* 088460 7F053930 46000506 */ mov.s $f20, $f0 -.L7F053934: -/* 088464 7F053934 5420FFE9 */ bnezl $at, .L7F0538DC -/* 088468 7F053938 8E180000 */ lw $t8, ($s0) -.L7F05393C: -/* 08846C 7F05393C 4600A306 */ mov.s $f12, $f20 -/* 088470 7F053940 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 088474 7F053944 0FC14DEE */ jal sub_GAME_7F0537B8 -/* 088478 7F053948 8FA60038 */ lw $a2, 0x38($sp) -/* 08847C 7F05394C 8FBF002C */ lw $ra, 0x2c($sp) -/* 088480 7F053950 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 088484 7F053954 8FB0001C */ lw $s0, 0x1c($sp) -/* 088488 7F053958 8FB10020 */ lw $s1, 0x20($sp) -/* 08848C 7F05395C 8FB20024 */ lw $s2, 0x24($sp) -/* 088490 7F053960 8FB30028 */ lw $s3, 0x28($sp) -/* 088494 7F053964 03E00008 */ jr $ra -/* 088498 7F053968 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05396C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05396C -/* 08849C 7F05396C 44866000 */ mtc1 $a2, $f12 -/* 0884A0 7F053970 44877000 */ mtc1 $a3, $f14 -/* 0884A4 7F053974 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0884A8 7F053978 AFA40018 */ sw $a0, 0x18($sp) -/* 0884AC 7F05397C AFA5001C */ sw $a1, 0x1c($sp) -/* 0884B0 7F053980 00A02025 */ move $a0, $a1 -/* 0884B4 7F053984 AFBF0014 */ sw $ra, 0x14($sp) -/* 0884B8 7F053988 44056000 */ mfc1 $a1, $f12 -/* 0884BC 7F05398C 44067000 */ mfc1 $a2, $f14 -/* 0884C0 7F053990 0FC14E25 */ jal sub_GAME_7F053894 -/* 0884C4 7F053994 00000000 */ nop -/* 0884C8 7F053998 8FA40018 */ lw $a0, 0x18($sp) -/* 0884CC 7F05399C 24050008 */ li $a1, 8 -/* 0884D0 7F0539A0 0C002461 */ jal sfx_c_70009184 -/* 0884D4 7F0539A4 00403025 */ move $a2, $v0 -/* 0884D8 7F0539A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0884DC 7F0539AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0884E0 7F0539B0 03E00008 */ jr $ra -/* 0884E4 7F0539B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0539B8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0539B8 -/* 0884E8 7F0539B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0884EC 7F0539BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0884F0 7F0539C0 3C018005 */ lui $at, %hi(D_80053348) -/* 0884F4 7F0539C4 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb -/* 0884F8 7F0539C8 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 0884FC 7F0539CC 0FC14DEE */ jal sub_GAME_7F0537B8 -/* 088500 7F0539D0 C42E3348 */ lwc1 $f14, %lo(D_80053348)($at) -/* 088504 7F0539D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 088508 7F0539D8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08850C 7F0539DC 03E00008 */ jr $ra -/* 088510 7F0539E0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0539E4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0539E4 -/* 088514 7F0539E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 088518 7F0539E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08851C 7F0539EC 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c -/* 088520 7F0539F0 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb -/* 088524 7F0539F4 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 088528 7F0539F8 0FC14E25 */ jal sub_GAME_7F053894 -/* 08852C 7F0539FC 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 -/* 088530 7F053A00 8FBF0014 */ lw $ra, 0x14($sp) -/* 088534 7F053A04 27BD0018 */ addiu $sp, $sp, 0x18 -/* 088538 7F053A08 03E00008 */ jr $ra -/* 08853C 7F053A0C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F053A10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F053A10 -/* 088540 7F053A10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 088544 7F053A14 AFBF0014 */ sw $ra, 0x14($sp) -/* 088548 7F053A18 3C06459C */ lui $a2, (0x459C4000 >> 16) # lui $a2, 0x459c -/* 08854C 7F053A1C 3C0745BB */ lui $a3, (0x45BB8000 >> 16) # lui $a3, 0x45bb -/* 088550 7F053A20 34E78000 */ ori $a3, (0x45BB8000 & 0xFFFF) # ori $a3, $a3, 0x8000 -/* 088554 7F053A24 0FC14E5B */ jal sub_GAME_7F05396C -/* 088558 7F053A28 34C64000 */ ori $a2, (0x459C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 -/* 08855C 7F053A2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 088560 7F053A30 27BD0018 */ addiu $sp, $sp, 0x18 -/* 088564 7F053A34 03E00008 */ jr $ra -/* 088568 7F053A38 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F053A3C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F053A3C -/* 08856C 7F053A3C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 088570 7F053A40 AFBF0014 */ sw $ra, 0x14($sp) -/* 088574 7F053A44 AFA40028 */ sw $a0, 0x28($sp) -/* 088578 7F053A48 8C8500F4 */ lw $a1, 0xf4($a0) -/* 08857C 7F053A4C 0005182B */ sltu $v1, $zero, $a1 -/* 088580 7F053A50 50600005 */ beql $v1, $zero, .L7F053A68 -/* 088584 7F053A54 8FAF0028 */ lw $t7, 0x28($sp) -/* 088588 7F053A58 0C00237C */ jal sfxGetArg0Unk3F -/* 08858C 7F053A5C 00A02025 */ move $a0, $a1 -/* 088590 7F053A60 0002182B */ sltu $v1, $zero, $v0 -/* 088594 7F053A64 8FAF0028 */ lw $t7, 0x28($sp) -.L7F053A68: -/* 088598 7F053A68 AFA30024 */ sw $v1, 0x24($sp) -/* 08859C 7F053A6C 8DE400F8 */ lw $a0, 0xf8($t7) -/* 0885A0 7F053A70 0004182B */ sltu $v1, $zero, $a0 -/* 0885A4 7F053A74 50600005 */ beql $v1, $zero, .L7F053A8C -/* 0885A8 7F053A78 8FB80024 */ lw $t8, 0x24($sp) -/* 0885AC 7F053A7C 0C00237C */ jal sfxGetArg0Unk3F -/* 0885B0 7F053A80 00000000 */ nop -/* 0885B4 7F053A84 0002182B */ sltu $v1, $zero, $v0 -/* 0885B8 7F053A88 8FB80024 */ lw $t8, 0x24($sp) -.L7F053A8C: -/* 0885BC 7F053A8C 8FB90028 */ lw $t9, 0x28($sp) -/* 0885C0 7F053A90 57000004 */ bnezl $t8, .L7F053AA4 -/* 0885C4 7F053A94 8F240010 */ lw $a0, 0x10($t9) -/* 0885C8 7F053A98 5060001A */ beql $v1, $zero, .L7F053B04 -/* 0885CC 7F053A9C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0885D0 7F053AA0 8F240010 */ lw $a0, 0x10($t9) -.L7F053AA4: -/* 0885D4 7F053AA4 AFA30018 */ sw $v1, 0x18($sp) -/* 0885D8 7F053AA8 0FC14E79 */ jal sub_GAME_7F0539E4 -/* 0885DC 7F053AAC 24840008 */ addiu $a0, $a0, 8 -/* 0885E0 7F053AB0 0FC2FF01 */ jal get_controls_locked_flag -/* 0885E4 7F053AB4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0885E8 7F053AB8 10400002 */ beqz $v0, .L7F053AC4 -/* 0885EC 7F053ABC 8FA30018 */ lw $v1, 0x18($sp) -/* 0885F0 7F053AC0 AFA0001C */ sw $zero, 0x1c($sp) -.L7F053AC4: -/* 0885F4 7F053AC4 8FA80024 */ lw $t0, 0x24($sp) -/* 0885F8 7F053AC8 8FA90028 */ lw $t1, 0x28($sp) -/* 0885FC 7F053ACC 24050008 */ li $a1, 8 -/* 088600 7F053AD0 11000005 */ beqz $t0, .L7F053AE8 -/* 088604 7F053AD4 8FA6001C */ lw $a2, 0x1c($sp) -/* 088608 7F053AD8 8D2400F4 */ lw $a0, 0xf4($t1) -/* 08860C 7F053ADC 0C002461 */ jal sfx_c_70009184 -/* 088610 7F053AE0 AFA30018 */ sw $v1, 0x18($sp) -/* 088614 7F053AE4 8FA30018 */ lw $v1, 0x18($sp) -.L7F053AE8: -/* 088618 7F053AE8 10600005 */ beqz $v1, .L7F053B00 -/* 08861C 7F053AEC 8FAA0028 */ lw $t2, 0x28($sp) -/* 088620 7F053AF0 8D4400F8 */ lw $a0, 0xf8($t2) -/* 088624 7F053AF4 24050008 */ li $a1, 8 -/* 088628 7F053AF8 0C002461 */ jal sfx_c_70009184 -/* 08862C 7F053AFC 8FA6001C */ lw $a2, 0x1c($sp) -.L7F053B00: -/* 088630 7F053B00 8FBF0014 */ lw $ra, 0x14($sp) -.L7F053B04: -/* 088634 7F053B04 27BD0028 */ addiu $sp, $sp, 0x28 -/* 088638 7F053B08 03E00008 */ jr $ra -/* 08863C 7F053B0C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F053B10(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F053B10 -/* 088640 7F053B10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 088644 7F053B14 AFBF0014 */ sw $ra, 0x14($sp) -/* 088648 7F053B18 AFA40018 */ sw $a0, 0x18($sp) -/* 08864C 7F053B1C 8C8500F4 */ lw $a1, 0xf4($a0) -/* 088650 7F053B20 50A00008 */ beql $a1, $zero, .L7F053B44 -/* 088654 7F053B24 8FB80018 */ lw $t8, 0x18($sp) -/* 088658 7F053B28 0C00237C */ jal sfxGetArg0Unk3F -/* 08865C 7F053B2C 00A02025 */ move $a0, $a1 -/* 088660 7F053B30 10400003 */ beqz $v0, .L7F053B40 -/* 088664 7F053B34 8FAF0018 */ lw $t7, 0x18($sp) -/* 088668 7F053B38 0C002408 */ jal sfxDeactivate -/* 08866C 7F053B3C 8DE400F4 */ lw $a0, 0xf4($t7) -.L7F053B40: -/* 088670 7F053B40 8FB80018 */ lw $t8, 0x18($sp) -.L7F053B44: -/* 088674 7F053B44 8F0400F8 */ lw $a0, 0xf8($t8) -/* 088678 7F053B48 50800008 */ beql $a0, $zero, .L7F053B6C -/* 08867C 7F053B4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 088680 7F053B50 0C00237C */ jal sfxGetArg0Unk3F -/* 088684 7F053B54 00000000 */ nop -/* 088688 7F053B58 10400003 */ beqz $v0, .L7F053B68 -/* 08868C 7F053B5C 8FB90018 */ lw $t9, 0x18($sp) -/* 088690 7F053B60 0C002408 */ jal sfxDeactivate -/* 088694 7F053B64 8F2400F8 */ lw $a0, 0xf8($t9) -.L7F053B68: -/* 088698 7F053B68 8FBF0014 */ lw $ra, 0x14($sp) -.L7F053B6C: -/* 08869C 7F053B6C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0886A0 7F053B70 03E00008 */ jr $ra -/* 0886A4 7F053B74 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void play_door_opening_soundeffect_0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:8005334C*/ -glabel door_opening_sound_table_0 -.word .L7F053BEC -.word .L7F053C2C -.word .L7F053C6C -.word .L7F053CAC -.word .L7F053CEC -.word .L7F053D08 -.word .L7F053D24 -.word .L7F053D64 -.word .L7F053DA4 -.word .L7F053DC4 -.word .L7F053DE0 -.word .L7F053DFC -.word .L7F053E18 -.word .L7F053E58 -.word .L7F053E78 -.word .L7F053E98 -.word .L7F053EB4 - -.text -glabel play_door_opening_soundeffect_0 -/* 0886A8 7F053B78 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0886AC 7F053B7C AFBF0014 */ sw $ra, 0x14($sp) -/* 0886B0 7F053B80 AFA40020 */ sw $a0, 0x20($sp) -/* 0886B4 7F053B84 AFA0001C */ sw $zero, 0x1c($sp) -/* 0886B8 7F053B88 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 0886BC 7F053B8C AFA00018 */ sw $zero, 0x18($sp) -/* 0886C0 7F053B90 8FAE0020 */ lw $t6, 0x20($sp) -/* 0886C4 7F053B94 8FA70018 */ lw $a3, 0x18($sp) -/* 0886C8 7F053B98 8FB80020 */ lw $t8, 0x20($sp) -/* 0886CC 7F053B9C 8DCF00F4 */ lw $t7, 0xf4($t6) -/* 0886D0 7F053BA0 8FA80020 */ lw $t0, 0x20($sp) -/* 0886D4 7F053BA4 55E00004 */ bnezl $t7, .L7F053BB8 -/* 0886D8 7F053BA8 8F1900F8 */ lw $t9, 0xf8($t8) -/* 0886DC 7F053BAC 10000005 */ b .L7F053BC4 -/* 0886E0 7F053BB0 25C700F4 */ addiu $a3, $t6, 0xf4 -/* 0886E4 7F053BB4 8F1900F8 */ lw $t9, 0xf8($t8) -.L7F053BB8: -/* 0886E8 7F053BB8 57200003 */ bnezl $t9, .L7F053BC8 -/* 0886EC 7F053BBC 8D0900A4 */ lw $t1, 0xa4($t0) -/* 0886F0 7F053BC0 270700F8 */ addiu $a3, $t8, 0xf8 -.L7F053BC4: -/* 0886F4 7F053BC4 8D0900A4 */ lw $t1, 0xa4($t0) -.L7F053BC8: -/* 0886F8 7F053BC8 252AFFFF */ addiu $t2, $t1, -1 -/* 0886FC 7F053BCC 2D410011 */ sltiu $at, $t2, 0x11 -/* 088700 7F053BD0 102000D6 */ beqz $at, .L7F053F2C -/* 088704 7F053BD4 000A5080 */ sll $t2, $t2, 2 -/* 088708 7F053BD8 3C018005 */ lui $at, %hi(door_opening_sound_table_0) -/* 08870C 7F053BDC 002A0821 */ addu $at, $at, $t2 -/* 088710 7F053BE0 8C2A334C */ lw $t2, %lo(door_opening_sound_table_0)($at) -/* 088714 7F053BE4 01400008 */ jr $t2 -/* 088718 7F053BE8 00000000 */ nop -.L7F053BEC: -/* 08871C 7F053BEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088720 7F053BF0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088724 7F053BF4 240500D2 */ li $a1, 210 -/* 088728 7F053BF8 00003025 */ move $a2, $zero -/* 08872C 7F053BFC 0C002382 */ jal play_sfx_a1 -/* 088730 7F053C00 AFA70018 */ sw $a3, 0x18($sp) -/* 088734 7F053C04 8FA70018 */ lw $a3, 0x18($sp) -/* 088738 7F053C08 AFA2001C */ sw $v0, 0x1c($sp) -/* 08873C 7F053C0C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088740 7F053C10 10E000C6 */ beqz $a3, .L7F053F2C -/* 088744 7F053C14 240500D3 */ li $a1, 211 -/* 088748 7F053C18 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08874C 7F053C1C 0C002382 */ jal play_sfx_a1 -/* 088750 7F053C20 00E03025 */ move $a2, $a3 -/* 088754 7F053C24 100000C2 */ b .L7F053F30 -/* 088758 7F053C28 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053C2C: -/* 08875C 7F053C2C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088760 7F053C30 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088764 7F053C34 240500D2 */ li $a1, 210 -/* 088768 7F053C38 00003025 */ move $a2, $zero -/* 08876C 7F053C3C 0C002382 */ jal play_sfx_a1 -/* 088770 7F053C40 AFA70018 */ sw $a3, 0x18($sp) -/* 088774 7F053C44 8FA70018 */ lw $a3, 0x18($sp) -/* 088778 7F053C48 AFA2001C */ sw $v0, 0x1c($sp) -/* 08877C 7F053C4C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088780 7F053C50 10E000B6 */ beqz $a3, .L7F053F2C -/* 088784 7F053C54 24050007 */ li $a1, 7 -/* 088788 7F053C58 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08878C 7F053C5C 0C002382 */ jal play_sfx_a1 -/* 088790 7F053C60 00E03025 */ move $a2, $a3 -/* 088794 7F053C64 100000B2 */ b .L7F053F30 -/* 088798 7F053C68 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053C6C: -/* 08879C 7F053C6C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0887A0 7F053C70 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0887A4 7F053C74 240500CA */ li $a1, 202 -/* 0887A8 7F053C78 00003025 */ move $a2, $zero -/* 0887AC 7F053C7C 0C002382 */ jal play_sfx_a1 -/* 0887B0 7F053C80 AFA70018 */ sw $a3, 0x18($sp) -/* 0887B4 7F053C84 8FA70018 */ lw $a3, 0x18($sp) -/* 0887B8 7F053C88 AFA2001C */ sw $v0, 0x1c($sp) -/* 0887BC 7F053C8C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0887C0 7F053C90 10E000A6 */ beqz $a3, .L7F053F2C -/* 0887C4 7F053C94 240500CC */ li $a1, 204 -/* 0887C8 7F053C98 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0887CC 7F053C9C 0C002382 */ jal play_sfx_a1 -/* 0887D0 7F053CA0 00E03025 */ move $a2, $a3 -/* 0887D4 7F053CA4 100000A2 */ b .L7F053F30 -/* 0887D8 7F053CA8 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053CAC: -/* 0887DC 7F053CAC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0887E0 7F053CB0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0887E4 7F053CB4 240500D6 */ li $a1, 214 -/* 0887E8 7F053CB8 00003025 */ move $a2, $zero -/* 0887EC 7F053CBC 0C002382 */ jal play_sfx_a1 -/* 0887F0 7F053CC0 AFA70018 */ sw $a3, 0x18($sp) -/* 0887F4 7F053CC4 8FA70018 */ lw $a3, 0x18($sp) -/* 0887F8 7F053CC8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0887FC 7F053CCC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088800 7F053CD0 10E00096 */ beqz $a3, .L7F053F2C -/* 088804 7F053CD4 240500D8 */ li $a1, 216 -/* 088808 7F053CD8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08880C 7F053CDC 0C002382 */ jal play_sfx_a1 -/* 088810 7F053CE0 00E03025 */ move $a2, $a3 -/* 088814 7F053CE4 10000092 */ b .L7F053F30 -/* 088818 7F053CE8 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053CEC: -/* 08881C 7F053CEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088820 7F053CF0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088824 7F053CF4 240500BC */ li $a1, 188 -/* 088828 7F053CF8 0C002382 */ jal play_sfx_a1 -/* 08882C 7F053CFC 00003025 */ move $a2, $zero -/* 088830 7F053D00 1000008A */ b .L7F053F2C -/* 088834 7F053D04 AFA2001C */ sw $v0, 0x1c($sp) -.L7F053D08: -/* 088838 7F053D08 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08883C 7F053D0C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088840 7F053D10 24050007 */ li $a1, 7 -/* 088844 7F053D14 0C002382 */ jal play_sfx_a1 -/* 088848 7F053D18 00003025 */ move $a2, $zero -/* 08884C 7F053D1C 10000083 */ b .L7F053F2C -/* 088850 7F053D20 AFA2001C */ sw $v0, 0x1c($sp) -.L7F053D24: -/* 088854 7F053D24 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088858 7F053D28 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08885C 7F053D2C 240500C0 */ li $a1, 192 -/* 088860 7F053D30 00003025 */ move $a2, $zero -/* 088864 7F053D34 0C002382 */ jal play_sfx_a1 -/* 088868 7F053D38 AFA70018 */ sw $a3, 0x18($sp) -/* 08886C 7F053D3C 8FA70018 */ lw $a3, 0x18($sp) -/* 088870 7F053D40 AFA2001C */ sw $v0, 0x1c($sp) -/* 088874 7F053D44 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088878 7F053D48 10E00078 */ beqz $a3, .L7F053F2C -/* 08887C 7F053D4C 240500BF */ li $a1, 191 -/* 088880 7F053D50 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088884 7F053D54 0C002382 */ jal play_sfx_a1 -/* 088888 7F053D58 00E03025 */ move $a2, $a3 -/* 08888C 7F053D5C 10000074 */ b .L7F053F30 -/* 088890 7F053D60 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053D64: -/* 088894 7F053D64 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088898 7F053D68 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08889C 7F053D6C 240500BC */ li $a1, 188 -/* 0888A0 7F053D70 00003025 */ move $a2, $zero -/* 0888A4 7F053D74 0C002382 */ jal play_sfx_a1 -/* 0888A8 7F053D78 AFA70018 */ sw $a3, 0x18($sp) -/* 0888AC 7F053D7C 8FA70018 */ lw $a3, 0x18($sp) -/* 0888B0 7F053D80 AFA2001C */ sw $v0, 0x1c($sp) -/* 0888B4 7F053D84 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0888B8 7F053D88 10E00068 */ beqz $a3, .L7F053F2C -/* 0888BC 7F053D8C 24050007 */ li $a1, 7 -/* 0888C0 7F053D90 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0888C4 7F053D94 0C002382 */ jal play_sfx_a1 -/* 0888C8 7F053D98 00E03025 */ move $a2, $a3 -/* 0888CC 7F053D9C 10000064 */ b .L7F053F30 -/* 0888D0 7F053DA0 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053DA4: -/* 0888D4 7F053DA4 10E00061 */ beqz $a3, .L7F053F2C -/* 0888D8 7F053DA8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0888DC 7F053DAC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0888E0 7F053DB0 240500C2 */ li $a1, 194 -/* 0888E4 7F053DB4 0C002382 */ jal play_sfx_a1 -/* 0888E8 7F053DB8 00E03025 */ move $a2, $a3 -/* 0888EC 7F053DBC 1000005C */ b .L7F053F30 -/* 0888F0 7F053DC0 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053DC4: -/* 0888F4 7F053DC4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0888F8 7F053DC8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0888FC 7F053DCC 240500C4 */ li $a1, 196 -/* 088900 7F053DD0 0C002382 */ jal play_sfx_a1 -/* 088904 7F053DD4 00003025 */ move $a2, $zero -/* 088908 7F053DD8 10000054 */ b .L7F053F2C -/* 08890C 7F053DDC AFA2001C */ sw $v0, 0x1c($sp) -.L7F053DE0: -/* 088910 7F053DE0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088914 7F053DE4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088918 7F053DE8 24050007 */ li $a1, 7 -/* 08891C 7F053DEC 0C002382 */ jal play_sfx_a1 -/* 088920 7F053DF0 00003025 */ move $a2, $zero -/* 088924 7F053DF4 1000004D */ b .L7F053F2C -/* 088928 7F053DF8 AFA2001C */ sw $v0, 0x1c($sp) -.L7F053DFC: -/* 08892C 7F053DFC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088930 7F053E00 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088934 7F053E04 240500C8 */ li $a1, 200 -/* 088938 7F053E08 0C002382 */ jal play_sfx_a1 -/* 08893C 7F053E0C 00003025 */ move $a2, $zero -/* 088940 7F053E10 10000046 */ b .L7F053F2C -/* 088944 7F053E14 AFA2001C */ sw $v0, 0x1c($sp) -.L7F053E18: -/* 088948 7F053E18 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08894C 7F053E1C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088950 7F053E20 24050007 */ li $a1, 7 -/* 088954 7F053E24 00003025 */ move $a2, $zero -/* 088958 7F053E28 0C002382 */ jal play_sfx_a1 -/* 08895C 7F053E2C AFA70018 */ sw $a3, 0x18($sp) -/* 088960 7F053E30 8FA70018 */ lw $a3, 0x18($sp) -/* 088964 7F053E34 AFA2001C */ sw $v0, 0x1c($sp) -/* 088968 7F053E38 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08896C 7F053E3C 10E0003B */ beqz $a3, .L7F053F2C -/* 088970 7F053E40 24050007 */ li $a1, 7 -/* 088974 7F053E44 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088978 7F053E48 0C002382 */ jal play_sfx_a1 -/* 08897C 7F053E4C 00E03025 */ move $a2, $a3 -/* 088980 7F053E50 10000037 */ b .L7F053F30 -/* 088984 7F053E54 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053E58: -/* 088988 7F053E58 10E00034 */ beqz $a3, .L7F053F2C -/* 08898C 7F053E5C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088990 7F053E60 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088994 7F053E64 240500DA */ li $a1, 218 -/* 088998 7F053E68 0C002382 */ jal play_sfx_a1 -/* 08899C 7F053E6C 00E03025 */ move $a2, $a3 -/* 0889A0 7F053E70 1000002F */ b .L7F053F30 -/* 0889A4 7F053E74 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053E78: -/* 0889A8 7F053E78 10E0002C */ beqz $a3, .L7F053F2C -/* 0889AC 7F053E7C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0889B0 7F053E80 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0889B4 7F053E84 240500E1 */ li $a1, 225 -/* 0889B8 7F053E88 0C002382 */ jal play_sfx_a1 -/* 0889BC 7F053E8C 00E03025 */ move $a2, $a3 -/* 0889C0 7F053E90 10000027 */ b .L7F053F30 -/* 0889C4 7F053E94 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053E98: -/* 0889C8 7F053E98 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0889CC 7F053E9C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0889D0 7F053EA0 240500D6 */ li $a1, 214 -/* 0889D4 7F053EA4 0C002382 */ jal play_sfx_a1 -/* 0889D8 7F053EA8 00003025 */ move $a2, $zero -/* 0889DC 7F053EAC 1000001F */ b .L7F053F2C -/* 0889E0 7F053EB0 AFA2001C */ sw $v0, 0x1c($sp) -.L7F053EB4: -/* 0889E4 7F053EB4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0889E8 7F053EB8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0889EC 7F053EBC 24050007 */ li $a1, 7 -/* 0889F0 7F053EC0 00003025 */ move $a2, $zero -/* 0889F4 7F053EC4 0C002382 */ jal play_sfx_a1 -/* 0889F8 7F053EC8 AFA70018 */ sw $a3, 0x18($sp) -/* 0889FC 7F053ECC 8FA70018 */ lw $a3, 0x18($sp) -/* 088A00 7F053ED0 10400008 */ beqz $v0, .L7F053EF4 -/* 088A04 7F053ED4 AFA2001C */ sw $v0, 0x1c($sp) -/* 088A08 7F053ED8 8FAB0020 */ lw $t3, 0x20($sp) -/* 088A0C 7F053EDC 00402025 */ move $a0, $v0 -/* 088A10 7F053EE0 8D650010 */ lw $a1, 0x10($t3) -/* 088A14 7F053EE4 AFA70018 */ sw $a3, 0x18($sp) -/* 088A18 7F053EE8 0FC14E84 */ jal sub_GAME_7F053A10 -/* 088A1C 7F053EEC 24A50008 */ addiu $a1, $a1, 8 -/* 088A20 7F053EF0 8FA70018 */ lw $a3, 0x18($sp) -.L7F053EF4: -/* 088A24 7F053EF4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088A28 7F053EF8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088A2C 7F053EFC 240500CA */ li $a1, 202 -/* 088A30 7F053F00 00003025 */ move $a2, $zero -/* 088A34 7F053F04 0C002382 */ jal play_sfx_a1 -/* 088A38 7F053F08 AFA70018 */ sw $a3, 0x18($sp) -/* 088A3C 7F053F0C 8FA70018 */ lw $a3, 0x18($sp) -/* 088A40 7F053F10 AFA2001C */ sw $v0, 0x1c($sp) -/* 088A44 7F053F14 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088A48 7F053F18 10E00004 */ beqz $a3, .L7F053F2C -/* 088A4C 7F053F1C 240500CC */ li $a1, 204 -/* 088A50 7F053F20 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088A54 7F053F24 0C002382 */ jal play_sfx_a1 -/* 088A58 7F053F28 00E03025 */ move $a2, $a3 -def_7F053BE4: -.L7F053F2C: -/* 088A5C 7F053F2C 8FAC001C */ lw $t4, 0x1c($sp) -.L7F053F30: -/* 088A60 7F053F30 8FAD0020 */ lw $t5, 0x20($sp) -/* 088A64 7F053F34 11800005 */ beqz $t4, .L7F053F4C -/* 088A68 7F053F38 00000000 */ nop -/* 088A6C 7F053F3C 8DA50010 */ lw $a1, 0x10($t5) -/* 088A70 7F053F40 01802025 */ move $a0, $t4 -/* 088A74 7F053F44 0FC14E84 */ jal sub_GAME_7F053A10 -/* 088A78 7F053F48 24A50008 */ addiu $a1, $a1, 8 -.L7F053F4C: -/* 088A7C 7F053F4C 0FC14E8F */ jal sub_GAME_7F053A3C -/* 088A80 7F053F50 8FA40020 */ lw $a0, 0x20($sp) -/* 088A84 7F053F54 8FBF0014 */ lw $ra, 0x14($sp) -/* 088A88 7F053F58 27BD0020 */ addiu $sp, $sp, 0x20 -/* 088A8C 7F053F5C 03E00008 */ jr $ra -/* 088A90 7F053F60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void play_door_opening_soundeffect_1(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80053390*/ -glabel door_opening_sound_table_1 -.word .L7F053FD8 -.word .L7F054018 -.word .L7F054058 -.word .L7F054098 -.word .L7F05428C -.word .L7F05428C -.word .L7F0540D8 -.word .L7F054118 -.word .L7F054158 -.word .L7F05428C -.word .L7F05428C -.word .L7F05428C -.word .L7F054178 -.word .L7F0541B8 -.word .L7F0541D8 -.word .L7F0541F8 -.word .L7F054214 -.text -glabel play_door_opening_soundeffect_1 -/* 088A94 7F053F64 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 088A98 7F053F68 AFBF0014 */ sw $ra, 0x14($sp) -/* 088A9C 7F053F6C AFA40020 */ sw $a0, 0x20($sp) -/* 088AA0 7F053F70 AFA0001C */ sw $zero, 0x1c($sp) -/* 088AA4 7F053F74 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 088AA8 7F053F78 AFA00018 */ sw $zero, 0x18($sp) -/* 088AAC 7F053F7C 8FAE0020 */ lw $t6, 0x20($sp) -/* 088AB0 7F053F80 8FA70018 */ lw $a3, 0x18($sp) -/* 088AB4 7F053F84 8FB80020 */ lw $t8, 0x20($sp) -/* 088AB8 7F053F88 8DCF00F4 */ lw $t7, 0xf4($t6) -/* 088ABC 7F053F8C 8FA80020 */ lw $t0, 0x20($sp) -/* 088AC0 7F053F90 55E00004 */ bnezl $t7, .L7F053FA4 -/* 088AC4 7F053F94 8F1900F8 */ lw $t9, 0xf8($t8) -/* 088AC8 7F053F98 10000005 */ b .L7F053FB0 -/* 088ACC 7F053F9C 25C700F4 */ addiu $a3, $t6, 0xf4 -/* 088AD0 7F053FA0 8F1900F8 */ lw $t9, 0xf8($t8) -.L7F053FA4: -/* 088AD4 7F053FA4 57200003 */ bnezl $t9, .L7F053FB4 -/* 088AD8 7F053FA8 8D0900A4 */ lw $t1, 0xa4($t0) -/* 088ADC 7F053FAC 270700F8 */ addiu $a3, $t8, 0xf8 -.L7F053FB0: -/* 088AE0 7F053FB0 8D0900A4 */ lw $t1, 0xa4($t0) -.L7F053FB4: -/* 088AE4 7F053FB4 252AFFFF */ addiu $t2, $t1, -1 -/* 088AE8 7F053FB8 2D410011 */ sltiu $at, $t2, 0x11 -/* 088AEC 7F053FBC 102000B3 */ beqz $at, .L7F05428C -/* 088AF0 7F053FC0 000A5080 */ sll $t2, $t2, 2 -/* 088AF4 7F053FC4 3C018005 */ lui $at, %hi(door_opening_sound_table_1) -/* 088AF8 7F053FC8 002A0821 */ addu $at, $at, $t2 -/* 088AFC 7F053FCC 8C2A3390 */ lw $t2, %lo(door_opening_sound_table_1)($at) -.L7F053FD0: -/* 088B00 7F053FD0 01400008 */ jr $t2 -/* 088B04 7F053FD4 00000000 */ nop -.L7F053FD8: -/* 088B08 7F053FD8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088B0C 7F053FDC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088B10 7F053FE0 240500D2 */ li $a1, 210 -/* 088B14 7F053FE4 00003025 */ move $a2, $zero -/* 088B18 7F053FE8 0C002382 */ jal play_sfx_a1 -/* 088B1C 7F053FEC AFA70018 */ sw $a3, 0x18($sp) -/* 088B20 7F053FF0 8FA70018 */ lw $a3, 0x18($sp) -/* 088B24 7F053FF4 AFA2001C */ sw $v0, 0x1c($sp) -/* 088B28 7F053FF8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088B2C 7F053FFC 10E000A3 */ beqz $a3, .L7F05428C -/* 088B30 7F054000 240500D3 */ li $a1, 211 -/* 088B34 7F054004 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088B38 7F054008 0C002382 */ jal play_sfx_a1 -/* 088B3C 7F05400C 00E03025 */ move $a2, $a3 -/* 088B40 7F054010 1000009F */ b .L7F054290 -/* 088B44 7F054014 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054018: -/* 088B48 7F054018 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088B4C 7F05401C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088B50 7F054020 240500D2 */ li $a1, 210 -/* 088B54 7F054024 00003025 */ move $a2, $zero -/* 088B58 7F054028 0C002382 */ jal play_sfx_a1 -/* 088B5C 7F05402C AFA70018 */ sw $a3, 0x18($sp) -/* 088B60 7F054030 8FA70018 */ lw $a3, 0x18($sp) -/* 088B64 7F054034 AFA2001C */ sw $v0, 0x1c($sp) -/* 088B68 7F054038 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088B6C 7F05403C 10E00093 */ beqz $a3, .L7F05428C -/* 088B70 7F054040 24050007 */ li $a1, 7 -/* 088B74 7F054044 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088B78 7F054048 0C002382 */ jal play_sfx_a1 -/* 088B7C 7F05404C 00E03025 */ move $a2, $a3 -/* 088B80 7F054050 1000008F */ b .L7F054290 -/* 088B84 7F054054 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054058: -/* 088B88 7F054058 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088B8C 7F05405C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088B90 7F054060 240500CA */ li $a1, 202 -/* 088B94 7F054064 00003025 */ move $a2, $zero -/* 088B98 7F054068 0C002382 */ jal play_sfx_a1 -/* 088B9C 7F05406C AFA70018 */ sw $a3, 0x18($sp) -/* 088BA0 7F054070 8FA70018 */ lw $a3, 0x18($sp) -/* 088BA4 7F054074 AFA2001C */ sw $v0, 0x1c($sp) -/* 088BA8 7F054078 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088BAC 7F05407C 10E00083 */ beqz $a3, .L7F05428C -/* 088BB0 7F054080 240500CC */ li $a1, 204 -/* 088BB4 7F054084 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088BB8 7F054088 0C002382 */ jal play_sfx_a1 -/* 088BBC 7F05408C 00E03025 */ move $a2, $a3 -/* 088BC0 7F054090 1000007F */ b .L7F054290 -/* 088BC4 7F054094 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054098: -/* 088BC8 7F054098 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088BCC 7F05409C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088BD0 7F0540A0 240500D6 */ li $a1, 214 -/* 088BD4 7F0540A4 00003025 */ move $a2, $zero -/* 088BD8 7F0540A8 0C002382 */ jal play_sfx_a1 -/* 088BDC 7F0540AC AFA70018 */ sw $a3, 0x18($sp) -/* 088BE0 7F0540B0 8FA70018 */ lw $a3, 0x18($sp) -/* 088BE4 7F0540B4 AFA2001C */ sw $v0, 0x1c($sp) -/* 088BE8 7F0540B8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088BEC 7F0540BC 10E00073 */ beqz $a3, .L7F05428C -/* 088BF0 7F0540C0 240500D8 */ li $a1, 216 -/* 088BF4 7F0540C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088BF8 7F0540C8 0C002382 */ jal play_sfx_a1 -/* 088BFC 7F0540CC 00E03025 */ move $a2, $a3 -/* 088C00 7F0540D0 1000006F */ b .L7F054290 -/* 088C04 7F0540D4 8FAC001C */ lw $t4, 0x1c($sp) -.L7F0540D8: -/* 088C08 7F0540D8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088C0C 7F0540DC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088C10 7F0540E0 240500C0 */ li $a1, 192 -/* 088C14 7F0540E4 00003025 */ move $a2, $zero -/* 088C18 7F0540E8 0C002382 */ jal play_sfx_a1 -/* 088C1C 7F0540EC AFA70018 */ sw $a3, 0x18($sp) -/* 088C20 7F0540F0 8FA70018 */ lw $a3, 0x18($sp) -/* 088C24 7F0540F4 AFA2001C */ sw $v0, 0x1c($sp) -/* 088C28 7F0540F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088C2C 7F0540FC 10E00063 */ beqz $a3, .L7F05428C -/* 088C30 7F054100 240500BF */ li $a1, 191 -/* 088C34 7F054104 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088C38 7F054108 0C002382 */ jal play_sfx_a1 -/* 088C3C 7F05410C 00E03025 */ move $a2, $a3 -/* 088C40 7F054110 1000005F */ b .L7F054290 -/* 088C44 7F054114 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054118: -/* 088C48 7F054118 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088C4C 7F05411C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088C50 7F054120 240500BC */ li $a1, 188 -/* 088C54 7F054124 00003025 */ move $a2, $zero -/* 088C58 7F054128 0C002382 */ jal play_sfx_a1 -/* 088C5C 7F05412C AFA70018 */ sw $a3, 0x18($sp) -/* 088C60 7F054130 8FA70018 */ lw $a3, 0x18($sp) -/* 088C64 7F054134 AFA2001C */ sw $v0, 0x1c($sp) -/* 088C68 7F054138 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088C6C 7F05413C 10E00053 */ beqz $a3, .L7F05428C -/* 088C70 7F054140 24050007 */ li $a1, 7 -/* 088C74 7F054144 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088C78 7F054148 0C002382 */ jal play_sfx_a1 -/* 088C7C 7F05414C 00E03025 */ move $a2, $a3 -/* 088C80 7F054150 1000004F */ b .L7F054290 -/* 088C84 7F054154 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054158: -/* 088C88 7F054158 10E0004C */ beqz $a3, .L7F05428C -/* 088C8C 7F05415C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088C90 7F054160 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088C94 7F054164 240500C2 */ li $a1, 194 -/* 088C98 7F054168 0C002382 */ jal play_sfx_a1 -/* 088C9C 7F05416C 00E03025 */ move $a2, $a3 -/* 088CA0 7F054170 10000047 */ b .L7F054290 -/* 088CA4 7F054174 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054178: -/* 088CA8 7F054178 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088CAC 7F05417C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088CB0 7F054180 24050007 */ li $a1, 7 -/* 088CB4 7F054184 00003025 */ move $a2, $zero -/* 088CB8 7F054188 0C002382 */ jal play_sfx_a1 -/* 088CBC 7F05418C AFA70018 */ sw $a3, 0x18($sp) -/* 088CC0 7F054190 8FA70018 */ lw $a3, 0x18($sp) -/* 088CC4 7F054194 AFA2001C */ sw $v0, 0x1c($sp) -/* 088CC8 7F054198 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088CCC 7F05419C 10E0003B */ beqz $a3, .L7F05428C -/* 088CD0 7F0541A0 24050007 */ li $a1, 7 -/* 088CD4 7F0541A4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088CD8 7F0541A8 0C002382 */ jal play_sfx_a1 -/* 088CDC 7F0541AC 00E03025 */ move $a2, $a3 -/* 088CE0 7F0541B0 10000037 */ b .L7F054290 -/* 088CE4 7F0541B4 8FAC001C */ lw $t4, 0x1c($sp) -.L7F0541B8: -/* 088CE8 7F0541B8 10E00034 */ beqz $a3, .L7F05428C -/* 088CEC 7F0541BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088CF0 7F0541C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088CF4 7F0541C4 240500DA */ li $a1, 218 -/* 088CF8 7F0541C8 0C002382 */ jal play_sfx_a1 -/* 088CFC 7F0541CC 00E03025 */ move $a2, $a3 -/* 088D00 7F0541D0 1000002F */ b .L7F054290 -/* 088D04 7F0541D4 8FAC001C */ lw $t4, 0x1c($sp) -.L7F0541D8: -/* 088D08 7F0541D8 10E0002C */ beqz $a3, .L7F05428C -/* 088D0C 7F0541DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088D10 7F0541E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088D14 7F0541E4 240500E1 */ li $a1, 225 -/* 088D18 7F0541E8 0C002382 */ jal play_sfx_a1 -/* 088D1C 7F0541EC 00E03025 */ move $a2, $a3 -/* 088D20 7F0541F0 10000027 */ b .L7F054290 -/* 088D24 7F0541F4 8FAC001C */ lw $t4, 0x1c($sp) -.L7F0541F8: -/* 088D28 7F0541F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088D2C 7F0541FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088D30 7F054200 240500D6 */ li $a1, 214 -/* 088D34 7F054204 0C002382 */ jal play_sfx_a1 -/* 088D38 7F054208 00003025 */ move $a2, $zero -/* 088D3C 7F05420C 1000001F */ b .L7F05428C -/* 088D40 7F054210 AFA2001C */ sw $v0, 0x1c($sp) -.L7F054214: -/* 088D44 7F054214 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088D48 7F054218 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088D4C 7F05421C 24050007 */ li $a1, 7 -/* 088D50 7F054220 00003025 */ move $a2, $zero -/* 088D54 7F054224 0C002382 */ jal play_sfx_a1 -/* 088D58 7F054228 AFA70018 */ sw $a3, 0x18($sp) -/* 088D5C 7F05422C 8FA70018 */ lw $a3, 0x18($sp) -/* 088D60 7F054230 10400008 */ beqz $v0, .L7F054254 -/* 088D64 7F054234 AFA2001C */ sw $v0, 0x1c($sp) -/* 088D68 7F054238 8FAB0020 */ lw $t3, 0x20($sp) -/* 088D6C 7F05423C 00402025 */ move $a0, $v0 -/* 088D70 7F054240 8D650010 */ lw $a1, 0x10($t3) -/* 088D74 7F054244 AFA70018 */ sw $a3, 0x18($sp) -/* 088D78 7F054248 0FC14E84 */ jal sub_GAME_7F053A10 -/* 088D7C 7F05424C 24A50008 */ addiu $a1, $a1, 8 -/* 088D80 7F054250 8FA70018 */ lw $a3, 0x18($sp) -.L7F054254: -/* 088D84 7F054254 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088D88 7F054258 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088D8C 7F05425C 240500CA */ li $a1, 202 -/* 088D90 7F054260 00003025 */ move $a2, $zero -/* 088D94 7F054264 0C002382 */ jal play_sfx_a1 -/* 088D98 7F054268 AFA70018 */ sw $a3, 0x18($sp) -/* 088D9C 7F05426C 8FA70018 */ lw $a3, 0x18($sp) -/* 088DA0 7F054270 AFA2001C */ sw $v0, 0x1c($sp) -/* 088DA4 7F054274 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088DA8 7F054278 10E00004 */ beqz $a3, .L7F05428C -/* 088DAC 7F05427C 240500CC */ li $a1, 204 -/* 088DB0 7F054280 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088DB4 7F054284 0C002382 */ jal play_sfx_a1 -/* 088DB8 7F054288 00E03025 */ move $a2, $a3 -def_7F053FD0: -.L7F05428C: -/* 088DBC 7F05428C 8FAC001C */ lw $t4, 0x1c($sp) -.L7F054290: -/* 088DC0 7F054290 8FAD0020 */ lw $t5, 0x20($sp) -/* 088DC4 7F054294 11800005 */ beqz $t4, .L7F0542AC -/* 088DC8 7F054298 00000000 */ nop -/* 088DCC 7F05429C 8DA50010 */ lw $a1, 0x10($t5) -/* 088DD0 7F0542A0 01802025 */ move $a0, $t4 -/* 088DD4 7F0542A4 0FC14E84 */ jal sub_GAME_7F053A10 -/* 088DD8 7F0542A8 24A50008 */ addiu $a1, $a1, 8 -.L7F0542AC: -/* 088DDC 7F0542AC 0FC14E8F */ jal sub_GAME_7F053A3C -/* 088DE0 7F0542B0 8FA40020 */ lw $a0, 0x20($sp) -/* 088DE4 7F0542B4 8FBF0014 */ lw $ra, 0x14($sp) -/* 088DE8 7F0542B8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 088DEC 7F0542BC 03E00008 */ jr $ra -/* 088DF0 7F0542C0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void play_door_closing_soundeffect_0(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:800533D4*/ -glabel door_closing_sound_table_0 -.word .L7F054308 -.word .L7F054328 -.word .L7F054348 -.word .L7F054368 -.word .L7F054484 -.word .L7F054484 -.word .L7F054388 -.word .L7F0543A8 -.word .L7F0543C8 -.word .L7F054484 -.word .L7F054484 -.word .L7F054484 -.word .L7F0543E8 -.word .L7F054408 -.word .L7F054428 -.word .L7F054448 -.word .L7F054468 -.text -glabel play_door_closing_soundeffect_0 -/* 088DF4 7F0542C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 088DF8 7F0542C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 088DFC 7F0542CC AFA40020 */ sw $a0, 0x20($sp) -/* 088E00 7F0542D0 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 088E04 7F0542D4 AFA0001C */ sw $zero, 0x1c($sp) -/* 088E08 7F0542D8 8FA70020 */ lw $a3, 0x20($sp) -/* 088E0C 7F0542DC 8FA6001C */ lw $a2, 0x1c($sp) -/* 088E10 7F0542E0 8CEE00A4 */ lw $t6, 0xa4($a3) -/* 088E14 7F0542E4 25CFFFFF */ addiu $t7, $t6, -1 -/* 088E18 7F0542E8 2DE10011 */ sltiu $at, $t7, 0x11 -/* 088E1C 7F0542EC 10200065 */ beqz $at, .L7F054484 -/* 088E20 7F0542F0 000F7880 */ sll $t7, $t7, 2 -/* 088E24 7F0542F4 3C018005 */ lui $at, %hi(door_closing_sound_table_0) -/* 088E28 7F0542F8 002F0821 */ addu $at, $at, $t7 -/* 088E2C 7F0542FC 8C2F33D4 */ lw $t7, %lo(door_closing_sound_table_0)($at) -.L7F054300: -/* 088E30 7F054300 01E00008 */ jr $t7 -/* 088E34 7F054304 00000000 */ nop -.L7F054308: -/* 088E38 7F054308 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088E3C 7F05430C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088E40 7F054310 240500D2 */ li $a1, 210 -/* 088E44 7F054314 0C002382 */ jal play_sfx_a1 -/* 088E48 7F054318 00003025 */ move $a2, $zero -/* 088E4C 7F05431C 00403025 */ move $a2, $v0 -/* 088E50 7F054320 10000058 */ b .L7F054484 -/* 088E54 7F054324 8FA70020 */ lw $a3, 0x20($sp) -.L7F054328: -/* 088E58 7F054328 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088E5C 7F05432C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088E60 7F054330 240500D2 */ li $a1, 210 -/* 088E64 7F054334 0C002382 */ jal play_sfx_a1 -/* 088E68 7F054338 00003025 */ move $a2, $zero -/* 088E6C 7F05433C 00403025 */ move $a2, $v0 -/* 088E70 7F054340 10000050 */ b .L7F054484 -/* 088E74 7F054344 8FA70020 */ lw $a3, 0x20($sp) -.L7F054348: -/* 088E78 7F054348 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088E7C 7F05434C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088E80 7F054350 240500CB */ li $a1, 203 -/* 088E84 7F054354 0C002382 */ jal play_sfx_a1 -/* 088E88 7F054358 00003025 */ move $a2, $zero -/* 088E8C 7F05435C 00403025 */ move $a2, $v0 -/* 088E90 7F054360 10000048 */ b .L7F054484 -/* 088E94 7F054364 8FA70020 */ lw $a3, 0x20($sp) -.L7F054368: -/* 088E98 7F054368 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088E9C 7F05436C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088EA0 7F054370 240500D7 */ li $a1, 215 -/* 088EA4 7F054374 0C002382 */ jal play_sfx_a1 -/* 088EA8 7F054378 00003025 */ move $a2, $zero -/* 088EAC 7F05437C 00403025 */ move $a2, $v0 -/* 088EB0 7F054380 10000040 */ b .L7F054484 -/* 088EB4 7F054384 8FA70020 */ lw $a3, 0x20($sp) -.L7F054388: -/* 088EB8 7F054388 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088EBC 7F05438C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088EC0 7F054390 240500D2 */ li $a1, 210 -/* 088EC4 7F054394 0C002382 */ jal play_sfx_a1 -/* 088EC8 7F054398 00003025 */ move $a2, $zero -/* 088ECC 7F05439C 00403025 */ move $a2, $v0 -/* 088ED0 7F0543A0 10000038 */ b .L7F054484 -/* 088ED4 7F0543A4 8FA70020 */ lw $a3, 0x20($sp) -.L7F0543A8: -/* 088ED8 7F0543A8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088EDC 7F0543AC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088EE0 7F0543B0 240500BB */ li $a1, 187 -/* 088EE4 7F0543B4 0C002382 */ jal play_sfx_a1 -/* 088EE8 7F0543B8 00003025 */ move $a2, $zero -/* 088EEC 7F0543BC 00403025 */ move $a2, $v0 -/* 088EF0 7F0543C0 10000030 */ b .L7F054484 -/* 088EF4 7F0543C4 8FA70020 */ lw $a3, 0x20($sp) -.L7F0543C8: -/* 088EF8 7F0543C8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088EFC 7F0543CC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088F00 7F0543D0 240500C3 */ li $a1, 195 -/* 088F04 7F0543D4 0C002382 */ jal play_sfx_a1 -/* 088F08 7F0543D8 00003025 */ move $a2, $zero -/* 088F0C 7F0543DC 00403025 */ move $a2, $v0 -/* 088F10 7F0543E0 10000028 */ b .L7F054484 -/* 088F14 7F0543E4 8FA70020 */ lw $a3, 0x20($sp) -.L7F0543E8: -/* 088F18 7F0543E8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088F1C 7F0543EC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088F20 7F0543F0 24050007 */ li $a1, 7 -/* 088F24 7F0543F4 0C002382 */ jal play_sfx_a1 -/* 088F28 7F0543F8 00003025 */ move $a2, $zero -/* 088F2C 7F0543FC 00403025 */ move $a2, $v0 -/* 088F30 7F054400 10000020 */ b .L7F054484 -/* 088F34 7F054404 8FA70020 */ lw $a3, 0x20($sp) -.L7F054408: -/* 088F38 7F054408 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088F3C 7F05440C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088F40 7F054410 240500DB */ li $a1, 219 -/* 088F44 7F054414 0C002382 */ jal play_sfx_a1 -/* 088F48 7F054418 00003025 */ move $a2, $zero -/* 088F4C 7F05441C 00403025 */ move $a2, $v0 -/* 088F50 7F054420 10000018 */ b .L7F054484 -/* 088F54 7F054424 8FA70020 */ lw $a3, 0x20($sp) -.L7F054428: -/* 088F58 7F054428 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088F5C 7F05442C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088F60 7F054430 240500E2 */ li $a1, 226 -/* 088F64 7F054434 0C002382 */ jal play_sfx_a1 -/* 088F68 7F054438 00003025 */ move $a2, $zero -/* 088F6C 7F05443C 00403025 */ move $a2, $v0 -/* 088F70 7F054440 10000010 */ b .L7F054484 -/* 088F74 7F054444 8FA70020 */ lw $a3, 0x20($sp) -.L7F054448: -/* 088F78 7F054448 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088F7C 7F05444C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088F80 7F054450 240500D7 */ li $a1, 215 -/* 088F84 7F054454 0C002382 */ jal play_sfx_a1 -/* 088F88 7F054458 00003025 */ move $a2, $zero -/* 088F8C 7F05445C 00403025 */ move $a2, $v0 -/* 088F90 7F054460 10000008 */ b .L7F054484 -/* 088F94 7F054464 8FA70020 */ lw $a3, 0x20($sp) -.L7F054468: -/* 088F98 7F054468 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 088F9C 7F05446C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 088FA0 7F054470 240500CB */ li $a1, 203 -/* 088FA4 7F054474 0C002382 */ jal play_sfx_a1 -/* 088FA8 7F054478 00003025 */ move $a2, $zero -/* 088FAC 7F05447C 00403025 */ move $a2, $v0 -/* 088FB0 7F054480 8FA70020 */ lw $a3, 0x20($sp) -def_7F054300: -.L7F054484: -/* 088FB4 7F054484 10C00006 */ beqz $a2, .L7F0544A0 -/* 088FB8 7F054488 00000000 */ nop -/* 088FBC 7F05448C 8CE50010 */ lw $a1, 0x10($a3) -/* 088FC0 7F054490 00C02025 */ move $a0, $a2 -/* 088FC4 7F054494 0FC14E84 */ jal sub_GAME_7F053A10 -/* 088FC8 7F054498 24A50008 */ addiu $a1, $a1, 8 -/* 088FCC 7F05449C 8FA70020 */ lw $a3, 0x20($sp) -.L7F0544A0: -/* 088FD0 7F0544A0 0FC14E8F */ jal sub_GAME_7F053A3C -/* 088FD4 7F0544A4 00E02025 */ move $a0, $a3 -/* 088FD8 7F0544A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 088FDC 7F0544AC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 088FE0 7F0544B0 03E00008 */ jr $ra -/* 088FE4 7F0544B4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void play_door_closing_soundeffect_1(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -/*D:80053418*/ -glabel door_closing_sound_table_1 -.word .L7F0544FC -.word .L7F05451C -.word .L7F05453C -.word .L7F05455C -.word .L7F05457C -.word .L7F05459C -.word .L7F0545BC -.word .L7F0545DC -.word .L7F0545FC -.word .L7F05461C -.word .L7F05463C -.word .L7F05465C -.word .L7F05467C -.word .L7F05469C -.word .L7F0546BC -.word .L7F0546DC -.word .L7F0546FC - -.text -glabel play_door_closing_soundeffect_1 -/* 088FE8 7F0544B8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 088FEC 7F0544BC AFBF0014 */ sw $ra, 0x14($sp) -/* 088FF0 7F0544C0 AFA40020 */ sw $a0, 0x20($sp) -/* 088FF4 7F0544C4 0FC14EC4 */ jal sub_GAME_7F053B10 -/* 088FF8 7F0544C8 AFA0001C */ sw $zero, 0x1c($sp) -/* 088FFC 7F0544CC 8FA70020 */ lw $a3, 0x20($sp) -/* 089000 7F0544D0 8FA6001C */ lw $a2, 0x1c($sp) -/* 089004 7F0544D4 8CEE00A4 */ lw $t6, 0xa4($a3) -/* 089008 7F0544D8 25CFFFFF */ addiu $t7, $t6, -1 -/* 08900C 7F0544DC 2DE10011 */ sltiu $at, $t7, 0x11 -/* 089010 7F0544E0 1020008D */ beqz $at, .L7F054718 -/* 089014 7F0544E4 000F7880 */ sll $t7, $t7, 2 -/* 089018 7F0544E8 3C018005 */ lui $at, %hi(door_closing_sound_table_1) -/* 08901C 7F0544EC 002F0821 */ addu $at, $at, $t7 -/* 089020 7F0544F0 8C2F3418 */ lw $t7, %lo(door_closing_sound_table_1)($at) -/* 089024 7F0544F4 01E00008 */ jr $t7 -/* 089028 7F0544F8 00000000 */ nop -.L7F0544FC: -/* 08902C 7F0544FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089030 7F054500 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089034 7F054504 240500D2 */ li $a1, 210 -/* 089038 7F054508 0C002382 */ jal play_sfx_a1 -/* 08903C 7F05450C 00003025 */ move $a2, $zero -/* 089040 7F054510 00403025 */ move $a2, $v0 -/* 089044 7F054514 10000080 */ b .L7F054718 -/* 089048 7F054518 8FA70020 */ lw $a3, 0x20($sp) -.L7F05451C: -/* 08904C 7F05451C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089050 7F054520 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089054 7F054524 240500D2 */ li $a1, 210 -/* 089058 7F054528 0C002382 */ jal play_sfx_a1 -/* 08905C 7F05452C 00003025 */ move $a2, $zero -/* 089060 7F054530 00403025 */ move $a2, $v0 -/* 089064 7F054534 10000078 */ b .L7F054718 -/* 089068 7F054538 8FA70020 */ lw $a3, 0x20($sp) -.L7F05453C: -/* 08906C 7F05453C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089070 7F054540 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089074 7F054544 240500CB */ li $a1, 203 -/* 089078 7F054548 0C002382 */ jal play_sfx_a1 -/* 08907C 7F05454C 00003025 */ move $a2, $zero -/* 089080 7F054550 00403025 */ move $a2, $v0 -/* 089084 7F054554 10000070 */ b .L7F054718 -/* 089088 7F054558 8FA70020 */ lw $a3, 0x20($sp) -.L7F05455C: -/* 08908C 7F05455C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089090 7F054560 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089094 7F054564 240500D7 */ li $a1, 215 -/* 089098 7F054568 0C002382 */ jal play_sfx_a1 -/* 08909C 7F05456C 00003025 */ move $a2, $zero -/* 0890A0 7F054570 00403025 */ move $a2, $v0 -/* 0890A4 7F054574 10000068 */ b .L7F054718 -/* 0890A8 7F054578 8FA70020 */ lw $a3, 0x20($sp) -.L7F05457C: -/* 0890AC 7F05457C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0890B0 7F054580 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0890B4 7F054584 240500BB */ li $a1, 187 -/* 0890B8 7F054588 0C002382 */ jal play_sfx_a1 -/* 0890BC 7F05458C 00003025 */ move $a2, $zero -/* 0890C0 7F054590 00403025 */ move $a2, $v0 -/* 0890C4 7F054594 10000060 */ b .L7F054718 -/* 0890C8 7F054598 8FA70020 */ lw $a3, 0x20($sp) -.L7F05459C: -/* 0890CC 7F05459C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0890D0 7F0545A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0890D4 7F0545A4 24050007 */ li $a1, 7 -/* 0890D8 7F0545A8 0C002382 */ jal play_sfx_a1 -/* 0890DC 7F0545AC 00003025 */ move $a2, $zero -/* 0890E0 7F0545B0 00403025 */ move $a2, $v0 -/* 0890E4 7F0545B4 10000058 */ b .L7F054718 -/* 0890E8 7F0545B8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0545BC: -/* 0890EC 7F0545BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0890F0 7F0545C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0890F4 7F0545C4 240500D2 */ li $a1, 210 -/* 0890F8 7F0545C8 0C002382 */ jal play_sfx_a1 -/* 0890FC 7F0545CC 00003025 */ move $a2, $zero -/* 089100 7F0545D0 00403025 */ move $a2, $v0 -/* 089104 7F0545D4 10000050 */ b .L7F054718 -/* 089108 7F0545D8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0545DC: -/* 08910C 7F0545DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089110 7F0545E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089114 7F0545E4 240500BB */ li $a1, 187 -/* 089118 7F0545E8 0C002382 */ jal play_sfx_a1 -/* 08911C 7F0545EC 00003025 */ move $a2, $zero -/* 089120 7F0545F0 00403025 */ move $a2, $v0 -/* 089124 7F0545F4 10000048 */ b .L7F054718 -/* 089128 7F0545F8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0545FC: -/* 08912C 7F0545FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089130 7F054600 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089134 7F054604 240500C3 */ li $a1, 195 -/* 089138 7F054608 0C002382 */ jal play_sfx_a1 -/* 08913C 7F05460C 00003025 */ move $a2, $zero -/* 089140 7F054610 00403025 */ move $a2, $v0 -/* 089144 7F054614 10000040 */ b .L7F054718 -/* 089148 7F054618 8FA70020 */ lw $a3, 0x20($sp) -.L7F05461C: -/* 08914C 7F05461C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089150 7F054620 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089154 7F054624 240500C5 */ li $a1, 197 -/* 089158 7F054628 0C002382 */ jal play_sfx_a1 -/* 08915C 7F05462C 00003025 */ move $a2, $zero -/* 089160 7F054630 00403025 */ move $a2, $v0 -/* 089164 7F054634 10000038 */ b .L7F054718 -/* 089168 7F054638 8FA70020 */ lw $a3, 0x20($sp) -.L7F05463C: -/* 08916C 7F05463C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089170 7F054640 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089174 7F054644 240500C7 */ li $a1, 199 -/* 089178 7F054648 0C002382 */ jal play_sfx_a1 -/* 08917C 7F05464C 00003025 */ move $a2, $zero -/* 089180 7F054650 00403025 */ move $a2, $v0 -/* 089184 7F054654 10000030 */ b .L7F054718 -/* 089188 7F054658 8FA70020 */ lw $a3, 0x20($sp) -.L7F05465C: -/* 08918C 7F05465C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089190 7F054660 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089194 7F054664 240500C9 */ li $a1, 201 -/* 089198 7F054668 0C002382 */ jal play_sfx_a1 -/* 08919C 7F05466C 00003025 */ move $a2, $zero -/* 0891A0 7F054670 00403025 */ move $a2, $v0 -/* 0891A4 7F054674 10000028 */ b .L7F054718 -/* 0891A8 7F054678 8FA70020 */ lw $a3, 0x20($sp) -.L7F05467C: -/* 0891AC 7F05467C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0891B0 7F054680 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0891B4 7F054684 24050007 */ li $a1, 7 -/* 0891B8 7F054688 0C002382 */ jal play_sfx_a1 -/* 0891BC 7F05468C 00003025 */ move $a2, $zero -/* 0891C0 7F054690 00403025 */ move $a2, $v0 -/* 0891C4 7F054694 10000020 */ b .L7F054718 -/* 0891C8 7F054698 8FA70020 */ lw $a3, 0x20($sp) -.L7F05469C: -/* 0891CC 7F05469C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0891D0 7F0546A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0891D4 7F0546A4 240500DB */ li $a1, 219 -/* 0891D8 7F0546A8 0C002382 */ jal play_sfx_a1 -/* 0891DC 7F0546AC 00003025 */ move $a2, $zero -/* 0891E0 7F0546B0 00403025 */ move $a2, $v0 -/* 0891E4 7F0546B4 10000018 */ b .L7F054718 -/* 0891E8 7F0546B8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0546BC: -/* 0891EC 7F0546BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0891F0 7F0546C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0891F4 7F0546C4 240500E2 */ li $a1, 226 -/* 0891F8 7F0546C8 0C002382 */ jal play_sfx_a1 -/* 0891FC 7F0546CC 00003025 */ move $a2, $zero -/* 089200 7F0546D0 00403025 */ move $a2, $v0 -/* 089204 7F0546D4 10000010 */ b .L7F054718 -/* 089208 7F0546D8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0546DC: -/* 08920C 7F0546DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089210 7F0546E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089214 7F0546E4 240500D7 */ li $a1, 215 -/* 089218 7F0546E8 0C002382 */ jal play_sfx_a1 -/* 08921C 7F0546EC 00003025 */ move $a2, $zero -/* 089220 7F0546F0 00403025 */ move $a2, $v0 -/* 089224 7F0546F4 10000008 */ b .L7F054718 -/* 089228 7F0546F8 8FA70020 */ lw $a3, 0x20($sp) -.L7F0546FC: -/* 08922C 7F0546FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 089230 7F054700 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 089234 7F054704 240500CB */ li $a1, 203 -/* 089238 7F054708 0C002382 */ jal play_sfx_a1 -/* 08923C 7F05470C 00003025 */ move $a2, $zero -/* 089240 7F054710 00403025 */ move $a2, $v0 -/* 089244 7F054714 8FA70020 */ lw $a3, 0x20($sp) -def_7F0544F4: -.L7F054718: -/* 089248 7F054718 10C00006 */ beqz $a2, .L7F054734 -/* 08924C 7F05471C 00000000 */ nop -/* 089250 7F054720 8CE50010 */ lw $a1, 0x10($a3) -/* 089254 7F054724 00C02025 */ move $a0, $a2 -/* 089258 7F054728 0FC14E84 */ jal sub_GAME_7F053A10 -/* 08925C 7F05472C 24A50008 */ addiu $a1, $a1, 8 -/* 089260 7F054730 8FA70020 */ lw $a3, 0x20($sp) -.L7F054734: -/* 089264 7F054734 0FC14E8F */ jal sub_GAME_7F053A3C -/* 089268 7F054738 00E02025 */ move $a0, $a3 -/* 08926C 7F05473C 8FBF0014 */ lw $ra, 0x14($sp) -/* 089270 7F054740 27BD0020 */ addiu $sp, $sp, 0x20 -/* 089274 7F054744 03E00008 */ jr $ra -/* 089278 7F054748 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05474C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05474C -/* 08927C 7F05474C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 089280 7F054750 AFBF0014 */ sw $ra, 0x14($sp) -/* 089284 7F054754 8C8E0008 */ lw $t6, 8($a0) -/* 089288 7F054758 8C980064 */ lw $t8, 0x64($a0) -/* 08928C 7F05475C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 089290 7F054760 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 089294 7F054764 01C17824 */ and $t7, $t6, $at -/* 089298 7F054768 37190200 */ ori $t9, $t8, 0x200 -/* 08929C 7F05476C AC8F0008 */ sw $t7, 8($a0) -/* 0892A0 7F054770 AC990064 */ sw $t9, 0x64($a0) -/* 0892A4 7F054774 0FC14EDE */ jal play_door_opening_soundeffect_0 -/* 0892A8 7F054778 AFA40018 */ sw $a0, 0x18($sp) -/* 0892AC 7F05477C 0FC14D66 */ jal sub_GAME_7F053598 -/* 0892B0 7F054780 8FA40018 */ lw $a0, 0x18($sp) -/* 0892B4 7F054784 8FA40018 */ lw $a0, 0x18($sp) -/* 0892B8 7F054788 24010008 */ li $at, 8 -/* 0892BC 7F05478C 9488009A */ lhu $t0, 0x9a($a0) -/* 0892C0 7F054790 5501000F */ bnel $t0, $at, .L7F0547D0 -/* 0892C4 7F054794 8FBF0014 */ lw $ra, 0x14($sp) -/* 0892C8 7F054798 8C890008 */ lw $t1, 8($a0) -/* 0892CC 7F05479C 8C820068 */ lw $v0, 0x68($a0) -/* 0892D0 7F0547A0 44802000 */ mtc1 $zero, $f4 -/* 0892D4 7F0547A4 3C010200 */ lui $at, 0x200 -/* 0892D8 7F0547A8 01215025 */ or $t2, $t1, $at -/* 0892DC 7F0547AC AC8A0008 */ sw $t2, 8($a0) -/* 0892E0 7F0547B0 10400002 */ beqz $v0, .L7F0547BC -/* 0892E4 7F0547B4 E4840088 */ swc1 $f4, 0x88($a0) -/* 0892E8 7F0547B8 AC400000 */ sw $zero, ($v0) -.L7F0547BC: -/* 0892EC 7F0547BC 8C8B0008 */ lw $t3, 8($a0) -/* 0892F0 7F0547C0 2401FEFF */ li $at, -257 -/* 0892F4 7F0547C4 01616024 */ and $t4, $t3, $at -/* 0892F8 7F0547C8 AC8C0008 */ sw $t4, 8($a0) -/* 0892FC 7F0547CC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0547D0: -/* 089300 7F0547D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 089304 7F0547D4 03E00008 */ jr $ra -/* 089308 7F0547D8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0547DC(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0547DC -/* 08930C 7F0547DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 089310 7F0547E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 089314 7F0547E4 8C8E0008 */ lw $t6, 8($a0) -/* 089318 7F0547E8 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 08931C 7F0547EC 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 089320 7F0547F0 01C17824 */ and $t7, $t6, $at -/* 089324 7F0547F4 0FC14FD9 */ jal play_door_opening_soundeffect_1 -/* 089328 7F0547F8 AC8F0008 */ sw $t7, 8($a0) -/* 08932C 7F0547FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 089330 7F054800 27BD0018 */ addiu $sp, $sp, 0x18 -/* 089334 7F054804 03E00008 */ jr $ra -/* 089338 7F054808 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05480C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05480C -/* 08933C 7F05480C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 089340 7F054810 AFBF0014 */ sw $ra, 0x14($sp) -/* 089344 7F054814 0FC150B1 */ jal play_door_closing_soundeffect_0 -/* 089348 7F054818 AFA40018 */ sw $a0, 0x18($sp) -/* 08934C 7F05481C 8FA50018 */ lw $a1, 0x18($sp) -/* 089350 7F054820 24010008 */ li $at, 8 -/* 089354 7F054824 94AE009A */ lhu $t6, 0x9a($a1) -/* 089358 7F054828 55C10011 */ bnel $t6, $at, .L7F054870 -/* 08935C 7F05482C 8FBF0014 */ lw $ra, 0x14($sp) -/* 089360 7F054830 8CA40010 */ lw $a0, 0x10($a1) -/* 089364 7F054834 0FC0FF6A */ jal sub_GAME_7F03FDA8 -/* 089368 7F054838 AFA50018 */ sw $a1, 0x18($sp) -/* 08936C 7F05483C 8FA50018 */ lw $a1, 0x18($sp) -/* 089370 7F054840 8CAF0064 */ lw $t7, 0x64($a1) -/* 089374 7F054844 31F80080 */ andi $t8, $t7, 0x80 -/* 089378 7F054848 53000009 */ beql $t8, $zero, .L7F054870 -/* 08937C 7F05484C 8FBF0014 */ lw $ra, 0x14($sp) -/* 089380 7F054850 8CA2006C */ lw $v0, 0x6c($a1) -/* 089384 7F054854 8C590000 */ lw $t9, ($v0) -/* 089388 7F054858 37280001 */ ori $t0, $t9, 1 -/* 08938C 7F05485C AC480000 */ sw $t0, ($v0) -/* 089390 7F054860 8CA4006C */ lw $a0, 0x6c($a1) -/* 089394 7F054864 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 -/* 089398 7F054868 24840020 */ addiu $a0, $a0, 0x20 -/* 08939C 7F05486C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F054870: -/* 0893A0 7F054870 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0893A4 7F054874 03E00008 */ jr $ra -/* 0893A8 7F054878 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05487C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05487C -/* 0893AC 7F05487C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0893B0 7F054880 AFBF0014 */ sw $ra, 0x14($sp) -/* 0893B4 7F054884 0FC1512E */ jal play_door_closing_soundeffect_1 -/* 0893B8 7F054888 AFA40018 */ sw $a0, 0x18($sp) -/* 0893BC 7F05488C 0FC14D71 */ jal sub_GAME_7F0535C4 -/* 0893C0 7F054890 8FA40018 */ lw $a0, 0x18($sp) -/* 0893C4 7F054894 8FBF0014 */ lw $ra, 0x14($sp) -/* 0893C8 7F054898 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0893CC 7F05489C 03E00008 */ jr $ra -/* 0893D0 7F0548A0 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0548A4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0548A4 -/* 0893D4 7F0548A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0893D8 7F0548A8 24010001 */ li $at, 1 -/* 0893DC 7F0548AC 14A1000E */ bne $a1, $at, .L7F0548E8 -/* 0893E0 7F0548B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0893E4 7F0548B4 808200BC */ lb $v0, 0xbc($a0) -/* 0893E8 7F0548B8 24010003 */ li $at, 3 -/* 0893EC 7F0548BC 50400004 */ beql $v0, $zero, .L7F0548D0 -/* 0893F0 7F0548C0 AFA40018 */ sw $a0, 0x18($sp) -/* 0893F4 7F0548C4 14410006 */ bne $v0, $at, .L7F0548E0 -/* 0893F8 7F0548C8 00000000 */ nop -/* 0893FC 7F0548CC AFA40018 */ sw $a0, 0x18($sp) -.L7F0548D0: -/* 089400 7F0548D0 0FC151D3 */ jal sub_GAME_7F05474C -/* 089404 7F0548D4 AFA5001C */ sw $a1, 0x1c($sp) -/* 089408 7F0548D8 8FA40018 */ lw $a0, 0x18($sp) -/* 08940C 7F0548DC 8FA5001C */ lw $a1, 0x1c($sp) -.L7F0548E0: -/* 089410 7F0548E0 10000025 */ b .L7F054978 -/* 089414 7F0548E4 A08500BC */ sb $a1, 0xbc($a0) -.L7F0548E8: -/* 089418 7F0548E8 24010002 */ li $at, 2 -/* 08941C 7F0548EC 54A10022 */ bnel $a1, $at, .L7F054978 -/* 089420 7F0548F0 A08500BC */ sb $a1, 0xbc($a0) -/* 089424 7F0548F4 808200BC */ lb $v0, 0xbc($a0) -/* 089428 7F0548F8 1440000D */ bnez $v0, .L7F054930 -/* 08942C 7F0548FC 00000000 */ nop -/* 089430 7F054900 44802000 */ mtc1 $zero, $f4 -/* 089434 7F054904 C48600B4 */ lwc1 $f6, 0xb4($a0) -/* 089438 7F054908 4606203C */ c.lt.s $f4, $f6 -/* 08943C 7F05490C 00000000 */ nop -/* 089440 7F054910 45000007 */ bc1f .L7F054930 -/* 089444 7F054914 00000000 */ nop -/* 089448 7F054918 AFA40018 */ sw $a0, 0x18($sp) -/* 08944C 7F05491C 0FC151F7 */ jal sub_GAME_7F0547DC -/* 089450 7F054920 AFA5001C */ sw $a1, 0x1c($sp) -/* 089454 7F054924 8FA40018 */ lw $a0, 0x18($sp) -/* 089458 7F054928 8FA5001C */ lw $a1, 0x1c($sp) -/* 08945C 7F05492C 808200BC */ lb $v0, 0xbc($a0) -.L7F054930: -/* 089460 7F054930 10400003 */ beqz $v0, .L7F054940 -/* 089464 7F054934 24010003 */ li $at, 3 -/* 089468 7F054938 14410008 */ bne $v0, $at, .L7F05495C -/* 08946C 7F05493C 00000000 */ nop -.L7F054940: -/* 089470 7F054940 44804000 */ mtc1 $zero, $f8 -/* 089474 7F054944 C48A00B4 */ lwc1 $f10, 0xb4($a0) -/* 089478 7F054948 24010003 */ li $at, 3 -/* 08947C 7F05494C 460A403C */ c.lt.s $f8, $f10 -/* 089480 7F054950 00000000 */ nop -/* 089484 7F054954 45000003 */ bc1f .L7F054964 -/* 089488 7F054958 00000000 */ nop -.L7F05495C: -/* 08948C 7F05495C 10000006 */ b .L7F054978 -/* 089490 7F054960 A08500BC */ sb $a1, 0xbc($a0) -.L7F054964: -/* 089494 7F054964 54410005 */ bnel $v0, $at, .L7F05497C -/* 089498 7F054968 8FBF0014 */ lw $ra, 0x14($sp) -/* 08949C 7F05496C 10000002 */ b .L7F054978 -/* 0894A0 7F054970 A08000BC */ sb $zero, 0xbc($a0) -/* 0894A4 7F054974 A08500BC */ sb $a1, 0xbc($a0) -.L7F054978: -/* 0894A8 7F054978 8FBF0014 */ lw $ra, 0x14($sp) -.L7F05497C: -/* 0894AC 7F05497C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0894B0 7F054980 03E00008 */ jr $ra -/* 0894B4 7F054984 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_door_state(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_door_state -/* 0894B8 7F054988 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0894BC 7F05498C AFBF0024 */ sw $ra, 0x24($sp) -/* 0894C0 7F054990 AFB20020 */ sw $s2, 0x20($sp) -/* 0894C4 7F054994 AFB1001C */ sw $s1, 0x1c($sp) -/* 0894C8 7F054998 AFB00018 */ sw $s0, 0x18($sp) -/* 0894CC 7F05499C 8C8E000C */ lw $t6, 0xc($a0) -/* 0894D0 7F0549A0 00808825 */ move $s1, $a0 -/* 0894D4 7F0549A4 00A09025 */ move $s2, $a1 -/* 0894D8 7F0549A8 000E7840 */ sll $t7, $t6, 1 -/* 0894DC 7F0549AC 05E10008 */ bgez $t7, .L7F0549D0 -/* 0894E0 7F0549B0 24010001 */ li $at, 1 -/* 0894E4 7F0549B4 14A10006 */ bne $a1, $at, .L7F0549D0 -/* 0894E8 7F0549B8 00000000 */ nop -/* 0894EC 7F0549BC 809800BC */ lb $t8, 0xbc($a0) -/* 0894F0 7F0549C0 24120002 */ li $s2, 2 -/* 0894F4 7F0549C4 17000002 */ bnez $t8, .L7F0549D0 -/* 0894F8 7F0549C8 00000000 */ nop -/* 0894FC 7F0549CC 24050003 */ li $a1, 3 -.L7F0549D0: -/* 089500 7F0549D0 0FC15229 */ jal sub_GAME_7F0548A4 -/* 089504 7F0549D4 02202025 */ move $a0, $s1 -/* 089508 7F0549D8 8E3000C8 */ lw $s0, 0xc8($s1) -/* 08950C 7F0549DC 5200000B */ beql $s0, $zero, .L7F054A0C -/* 089510 7F0549E0 8FBF0024 */ lw $ra, 0x24($sp) -/* 089514 7F0549E4 12110008 */ beq $s0, $s1, .L7F054A08 -/* 089518 7F0549E8 02002025 */ move $a0, $s0 -.L7F0549EC: -/* 08951C 7F0549EC 0FC15229 */ jal sub_GAME_7F0548A4 -/* 089520 7F0549F0 02402825 */ move $a1, $s2 -/* 089524 7F0549F4 8E1000C8 */ lw $s0, 0xc8($s0) -/* 089528 7F0549F8 52000004 */ beql $s0, $zero, .L7F054A0C -/* 08952C 7F0549FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 089530 7F054A00 5611FFFA */ bnel $s0, $s1, .L7F0549EC -/* 089534 7F054A04 02002025 */ move $a0, $s0 -.L7F054A08: -/* 089538 7F054A08 8FBF0024 */ lw $ra, 0x24($sp) -.L7F054A0C: -/* 08953C 7F054A0C 8FB00018 */ lw $s0, 0x18($sp) -/* 089540 7F054A10 8FB1001C */ lw $s1, 0x1c($sp) -/* 089544 7F054A14 8FB20020 */ lw $s2, 0x20($sp) -/* 089548 7F054A18 03E00008 */ jr $ra -/* 08954C 7F054A1C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054A20(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054A20 -/* 089550 7F054A20 808300BC */ lb $v1, 0xbc($a0) -/* 089554 7F054A24 2C620001 */ sltiu $v0, $v1, 1 -/* 089558 7F054A28 14400004 */ bnez $v0, .L7F054A3C -/* 08955C 7F054A2C 38620003 */ xori $v0, $v1, 3 -/* 089560 7F054A30 2C420001 */ sltiu $v0, $v0, 1 -/* 089564 7F054A34 10400009 */ beqz $v0, .L7F054A5C -/* 089568 7F054A38 00000000 */ nop -.L7F054A3C: -/* 08956C 7F054A3C 44802000 */ mtc1 $zero, $f4 -/* 089570 7F054A40 C48600B4 */ lwc1 $f6, 0xb4($a0) -/* 089574 7F054A44 00001025 */ move $v0, $zero -/* 089578 7F054A48 4604303E */ c.le.s $f6, $f4 -/* 08957C 7F054A4C 00000000 */ nop -/* 089580 7F054A50 45000002 */ bc1f .L7F054A5C -/* 089584 7F054A54 00000000 */ nop -/* 089588 7F054A58 24020001 */ li $v0, 1 -.L7F054A5C: -/* 08958C 7F054A5C 03E00008 */ jr $ra -/* 089590 7F054A60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054A64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054A64 -/* 089594 7F054A64 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 089598 7F054A68 AFB30020 */ sw $s3, 0x20($sp) -/* 08959C 7F054A6C AFB00014 */ sw $s0, 0x14($sp) -/* 0895A0 7F054A70 00A08025 */ move $s0, $a1 -/* 0895A4 7F054A74 27B30048 */ addiu $s3, $sp, 0x48 -/* 0895A8 7F054A78 AFBF0024 */ sw $ra, 0x24($sp) -/* 0895AC 7F054A7C AFB2001C */ sw $s2, 0x1c($sp) -/* 0895B0 7F054A80 AFB10018 */ sw $s1, 0x18($sp) -/* 0895B4 7F054A84 00009025 */ move $s2, $zero -/* 0895B8 7F054A88 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 0895BC 7F054A8C 02602825 */ move $a1, $s3 -/* 0895C0 7F054A90 8FA40048 */ lw $a0, 0x48($sp) -/* 0895C4 7F054A94 02608825 */ move $s1, $s3 -/* 0895C8 7F054A98 27B3002C */ addiu $s3, $sp, 0x2c -/* 0895CC 7F054A9C 04820031 */ bltzl $a0, .L7F054B64 -/* 0895D0 7F054AA0 8FBF0024 */ lw $ra, 0x24($sp) -.L7F054AA4: -/* 0895D4 7F054AA4 0FC2CF03 */ jal sub_GAME_7F0B3C0C -/* 0895D8 7F054AA8 02602825 */ move $a1, $s3 -/* 0895DC 7F054AAC 10400028 */ beqz $v0, .L7F054B50 -/* 0895E0 7F054AB0 0012102B */ sltu $v0, $zero, $s2 -/* 0895E4 7F054AB4 1040001E */ beqz $v0, .L7F054B30 -/* 0895E8 7F054AB8 24120001 */ li $s2, 1 -/* 0895EC 7F054ABC C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 0895F0 7F054AC0 C6060000 */ lwc1 $f6, ($s0) -/* 0895F4 7F054AC4 4606203C */ c.lt.s $f4, $f6 -/* 0895F8 7F054AC8 00000000 */ nop -/* 0895FC 7F054ACC 45020003 */ bc1fl .L7F054ADC -/* 089600 7F054AD0 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 089604 7F054AD4 E6040000 */ swc1 $f4, ($s0) -/* 089608 7F054AD8 C7A80030 */ lwc1 $f8, 0x30($sp) -.L7F054ADC: -/* 08960C 7F054ADC C60A0004 */ lwc1 $f10, 4($s0) -/* 089610 7F054AE0 460A403C */ c.lt.s $f8, $f10 -/* 089614 7F054AE4 00000000 */ nop -/* 089618 7F054AE8 45020003 */ bc1fl .L7F054AF8 -/* 08961C 7F054AEC C6100008 */ lwc1 $f16, 8($s0) -/* 089620 7F054AF0 E6080004 */ swc1 $f8, 4($s0) -/* 089624 7F054AF4 C6100008 */ lwc1 $f16, 8($s0) -.L7F054AF8: -/* 089628 7F054AF8 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 08962C 7F054AFC 4612803C */ c.lt.s $f16, $f18 -/* 089630 7F054B00 00000000 */ nop -/* 089634 7F054B04 45020003 */ bc1fl .L7F054B14 -/* 089638 7F054B08 C606000C */ lwc1 $f6, 0xc($s0) -/* 08963C 7F054B0C E6120008 */ swc1 $f18, 8($s0) -/* 089640 7F054B10 C606000C */ lwc1 $f6, 0xc($s0) -.L7F054B14: -/* 089644 7F054B14 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 089648 7F054B18 4604303C */ c.lt.s $f6, $f4 -/* 08964C 7F054B1C 00000000 */ nop -/* 089650 7F054B20 4502000C */ bc1fl .L7F054B54 -/* 089654 7F054B24 8E240004 */ lw $a0, 4($s1) -/* 089658 7F054B28 10000009 */ b .L7F054B50 -/* 08965C 7F054B2C E604000C */ swc1 $f4, 0xc($s0) -.L7F054B30: -/* 089660 7F054B30 C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 089664 7F054B34 E60A0000 */ swc1 $f10, ($s0) -/* 089668 7F054B38 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 08966C 7F054B3C E6080004 */ swc1 $f8, 4($s0) -/* 089670 7F054B40 C7B00034 */ lwc1 $f16, 0x34($sp) -/* 089674 7F054B44 E6100008 */ swc1 $f16, 8($s0) -/* 089678 7F054B48 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 08967C 7F054B4C E612000C */ swc1 $f18, 0xc($s0) -.L7F054B50: -/* 089680 7F054B50 8E240004 */ lw $a0, 4($s1) -.L7F054B54: -/* 089684 7F054B54 26310004 */ addiu $s1, $s1, 4 -/* 089688 7F054B58 0481FFD2 */ bgez $a0, .L7F054AA4 -/* 08968C 7F054B5C 00000000 */ nop -/* 089690 7F054B60 8FBF0024 */ lw $ra, 0x24($sp) -.L7F054B64: -/* 089694 7F054B64 02401025 */ move $v0, $s2 -/* 089698 7F054B68 8FB2001C */ lw $s2, 0x1c($sp) -/* 08969C 7F054B6C 8FB00014 */ lw $s0, 0x14($sp) -/* 0896A0 7F054B70 8FB10018 */ lw $s1, 0x18($sp) -/* 0896A4 7F054B74 8FB30020 */ lw $s3, 0x20($sp) -/* 0896A8 7F054B78 03E00008 */ jr $ra -/* 0896AC 7F054B7C 27BD0068 */ addiu $sp, $sp, 0x68 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054B80(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054B80 -/* 0896B0 7F054B80 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0896B4 7F054B84 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0896B8 7F054B88 44818000 */ mtc1 $at, $f16 -/* 0896BC 7F054B8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0896C0 7F054B90 AFA40020 */ sw $a0, 0x20($sp) -/* 0896C4 7F054B94 AFA50024 */ sw $a1, 0x24($sp) -/* 0896C8 7F054B98 0FC2ECE6 */ jal return_nearfog_values -/* 0896CC 7F054B9C E7B0001C */ swc1 $f16, 0x1c($sp) -/* 0896D0 7F054BA0 10400028 */ beqz $v0, .L7F054C44 -/* 0896D4 7F054BA4 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 0896D8 7F054BA8 8FAE0020 */ lw $t6, 0x20($sp) -/* 0896DC 7F054BAC C4440008 */ lwc1 $f4, 8($v0) -/* 0896E0 7F054BB0 C5C60018 */ lwc1 $f6, 0x18($t6) -/* 0896E4 7F054BB4 4606203C */ c.lt.s $f4, $f6 -/* 0896E8 7F054BB8 00000000 */ nop -/* 0896EC 7F054BBC 45020022 */ bc1fl .L7F054C48 -/* 0896F0 7F054BC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0896F4 7F054BC4 AFA20018 */ sw $v0, 0x18($sp) -/* 0896F8 7F054BC8 0FC1E121 */ jal getPlayer_c_lodscalez -/* 0896FC 7F054BCC E7B0001C */ swc1 $f16, 0x1c($sp) -/* 089700 7F054BD0 8FA30018 */ lw $v1, 0x18($sp) -/* 089704 7F054BD4 8FAF0020 */ lw $t7, 0x20($sp) -/* 089708 7F054BD8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08970C 7F054BDC C4620008 */ lwc1 $f2, 8($v1) -/* 089710 7F054BE0 C5E80018 */ lwc1 $f8, 0x18($t7) -/* 089714 7F054BE4 44819000 */ mtc1 $at, $f18 -/* 089718 7F054BE8 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 08971C 7F054BEC 46024281 */ sub.s $f10, $f8, $f2 -/* 089720 7F054BF0 C46E0004 */ lwc1 $f14, 4($v1) -/* 089724 7F054BF4 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 089728 7F054BF8 46125102 */ mul.s $f4, $f10, $f18 -/* 08972C 7F054BFC 46062203 */ div.s $f8, $f4, $f6 -/* 089730 7F054C00 46024280 */ add.s $f10, $f8, $f2 -/* 089734 7F054C04 46005302 */ mul.s $f12, $f10, $f0 -/* 089738 7F054C08 460C703E */ c.le.s $f14, $f12 -/* 08973C 7F054C0C 00000000 */ nop -/* 089740 7F054C10 45020005 */ bc1fl .L7F054C28 -/* 089744 7F054C14 C4600000 */ lwc1 $f0, ($v1) -/* 089748 7F054C18 44808000 */ mtc1 $zero, $f16 -/* 08974C 7F054C1C 1000000A */ b .L7F054C48 -/* 089750 7F054C20 8FBF0014 */ lw $ra, 0x14($sp) -/* 089754 7F054C24 C4600000 */ lwc1 $f0, ($v1) -.L7F054C28: -/* 089758 7F054C28 460C003C */ c.lt.s $f0, $f12 -/* 08975C 7F054C2C 00000000 */ nop -/* 089760 7F054C30 45020005 */ bc1fl .L7F054C48 -/* 089764 7F054C34 8FBF0014 */ lw $ra, 0x14($sp) -/* 089768 7F054C38 460C7481 */ sub.s $f18, $f14, $f12 -/* 08976C 7F054C3C 46007101 */ sub.s $f4, $f14, $f0 -/* 089770 7F054C40 46049403 */ div.s $f16, $f18, $f4 -.L7F054C44: -/* 089774 7F054C44 8FBF0014 */ lw $ra, 0x14($sp) -.L7F054C48: -/* 089778 7F054C48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08977C 7F054C4C 46008006 */ mov.s $f0, $f16 -/* 089780 7F054C50 03E00008 */ jr $ra -/* 089784 7F054C54 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054C58(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054C58 -/* 089788 7F054C58 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 08978C 7F054C5C AFBF0014 */ sw $ra, 0x14($sp) -/* 089790 7F054C60 240E0001 */ li $t6, 1 -/* 089794 7F054C64 AFA40038 */ sw $a0, 0x38($sp) -/* 089798 7F054C68 AFA5003C */ sw $a1, 0x3c($sp) -/* 08979C 7F054C6C 0FC2ECE6 */ jal return_nearfog_values -/* 0897A0 7F054C70 AFAE0034 */ sw $t6, 0x34($sp) -/* 0897A4 7F054C74 50400039 */ beql $v0, $zero, .L7F054D5C -/* 0897A8 7F054C78 8FBF0014 */ lw $ra, 0x14($sp) -/* 0897AC 7F054C7C 0FC227F5 */ jal get_BONDdata_position -/* 0897B0 7F054C80 AFA20030 */ sw $v0, 0x30($sp) -/* 0897B4 7F054C84 0FC1E0F1 */ jal get_BONDdata_field_10CC -/* 0897B8 7F054C88 AFA2001C */ sw $v0, 0x1c($sp) -/* 0897BC 7F054C8C 8FA3001C */ lw $v1, 0x1c($sp) -/* 0897C0 7F054C90 8FA50038 */ lw $a1, 0x38($sp) -/* 0897C4 7F054C94 8FA40030 */ lw $a0, 0x30($sp) -/* 0897C8 7F054C98 C4660000 */ lwc1 $f6, ($v1) -/* 0897CC 7F054C9C C4A40000 */ lwc1 $f4, ($a1) -/* 0897D0 7F054CA0 46062201 */ sub.s $f8, $f4, $f6 -/* 0897D4 7F054CA4 E7A80024 */ swc1 $f8, 0x24($sp) -/* 0897D8 7F054CA8 C4700004 */ lwc1 $f16, 4($v1) -/* 0897DC 7F054CAC C4AA0004 */ lwc1 $f10, 4($a1) -/* 0897E0 7F054CB0 46105481 */ sub.s $f18, $f10, $f16 -/* 0897E4 7F054CB4 C7AA0024 */ lwc1 $f10, 0x24($sp) -/* 0897E8 7F054CB8 E7B20028 */ swc1 $f18, 0x28($sp) -/* 0897EC 7F054CBC C4660008 */ lwc1 $f6, 8($v1) -/* 0897F0 7F054CC0 C4A40008 */ lwc1 $f4, 8($a1) -/* 0897F4 7F054CC4 46062201 */ sub.s $f8, $f4, $f6 -/* 0897F8 7F054CC8 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 0897FC 7F054CCC E7A8002C */ swc1 $f8, 0x2c($sp) -/* 089800 7F054CD0 C4500000 */ lwc1 $f16, ($v0) -/* 089804 7F054CD4 C4460004 */ lwc1 $f6, 4($v0) -/* 089808 7F054CD8 46105482 */ mul.s $f18, $f10, $f16 -/* 08980C 7F054CDC C4500008 */ lwc1 $f16, 8($v0) -/* 089810 7F054CE0 46062202 */ mul.s $f8, $f4, $f6 -/* 089814 7F054CE4 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 089818 7F054CE8 46048182 */ mul.s $f6, $f16, $f4 -/* 08981C 7F054CEC 46089280 */ add.s $f10, $f18, $f8 -/* 089820 7F054CF0 C4920008 */ lwc1 $f18, 8($a0) -/* 089824 7F054CF4 460A3300 */ add.s $f12, $f6, $f10 -/* 089828 7F054CF8 460C903C */ c.lt.s $f18, $f12 -/* 08982C 7F054CFC 00000000 */ nop -/* 089830 7F054D00 45020016 */ bc1fl .L7F054D5C -/* 089834 7F054D04 8FBF0014 */ lw $ra, 0x14($sp) -/* 089838 7F054D08 AFA40030 */ sw $a0, 0x30($sp) -/* 08983C 7F054D0C 0FC1E121 */ jal getPlayer_c_lodscalez -/* 089840 7F054D10 E7AC0020 */ swc1 $f12, 0x20($sp) -/* 089844 7F054D14 8FA40030 */ lw $a0, 0x30($sp) -/* 089848 7F054D18 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08984C 7F054D1C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 089850 7F054D20 C4820008 */ lwc1 $f2, 8($a0) -/* 089854 7F054D24 44818000 */ mtc1 $at, $f16 -/* 089858 7F054D28 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 08985C 7F054D2C 46026201 */ sub.s $f8, $f12, $f2 -/* 089860 7F054D30 46104102 */ mul.s $f4, $f8, $f16 -/* 089864 7F054D34 C4880004 */ lwc1 $f8, 4($a0) -/* 089868 7F054D38 46062283 */ div.s $f10, $f4, $f6 -/* 08986C 7F054D3C 46025480 */ add.s $f18, $f10, $f2 -/* 089870 7F054D40 46009302 */ mul.s $f12, $f18, $f0 -/* 089874 7F054D44 460C403E */ c.le.s $f8, $f12 -/* 089878 7F054D48 00000000 */ nop -/* 08987C 7F054D4C 45020003 */ bc1fl .L7F054D5C -/* 089880 7F054D50 8FBF0014 */ lw $ra, 0x14($sp) -/* 089884 7F054D54 AFA00034 */ sw $zero, 0x34($sp) -/* 089888 7F054D58 8FBF0014 */ lw $ra, 0x14($sp) -.L7F054D5C: -/* 08988C 7F054D5C 8FA20034 */ lw $v0, 0x34($sp) -/* 089890 7F054D60 27BD0038 */ addiu $sp, $sp, 0x38 -/* 089894 7F054D64 03E00008 */ jr $ra -/* 089898 7F054D68 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054D6C(void) { - -} -#else -GLOBAL_ASM( -.late_rodata -glabel D_8005345C -.word 0x4e742400 /*1.024e9*/ -glabel D_80053460 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053464 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053468 -.word 0x40490fdb /*3.1415927*/ -glabel D_8005346C -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053470 -.word 0x40490fdb /*3.1415927*/ -glabel D_80053474 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053478 -.word 0x40c90fdb /*6.2831855*/ -glabel D_8005347C -.word 0x40490fdb /*3.1415927*/ -glabel D_80053480 -.word 0x40c90fdb /*6.2831855*/ -glabel D_80053484 -.word 0x3eb2b8c3 /*0.34906587*/ -glabel D_80053488 -.word 0x40490fdb /*3.1415927*/ -glabel D_8005348C -.word 0x471c4000 /*40000.0*/ -.text -glabel sub_GAME_7F054D6C -/* 08989C 7F054D6C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0898A0 7F054D70 AFB10018 */ sw $s1, 0x18($sp) -/* 0898A4 7F054D74 00A08825 */ move $s1, $a1 -/* 0898A8 7F054D78 AFBF001C */ sw $ra, 0x1c($sp) -/* 0898AC 7F054D7C AFB00014 */ sw $s0, 0x14($sp) -/* 0898B0 7F054D80 AFA40070 */ sw $a0, 0x70($sp) -/* 0898B4 7F054D84 AFA60078 */ sw $a2, 0x78($sp) -/* 0898B8 7F054D88 AFA7007C */ sw $a3, 0x7c($sp) -/* 0898BC 7F054D8C AFA00044 */ sw $zero, 0x44($sp) -/* 0898C0 7F054D90 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 0898C4 7F054D94 27A50050 */ addiu $a1, $sp, 0x50 -/* 0898C8 7F054D98 8FA40050 */ lw $a0, 0x50($sp) -/* 0898CC 7F054D9C 27B00050 */ addiu $s0, $sp, 0x50 -/* 0898D0 7F054DA0 0482003C */ bltzl $a0, .L7F054E94 -/* 0898D4 7F054DA4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F054DA8: -/* 0898D8 7F054DA8 0FC2D794 */ jal sub_GAME_7F0B5E50 -/* 0898DC 7F054DAC 00000000 */ nop -/* 0898E0 7F054DB0 10400033 */ beqz $v0, .L7F054E80 -/* 0898E4 7F054DB4 02202025 */ move $a0, $s1 -/* 0898E8 7F054DB8 0FC2ECB2 */ jal sub_GAME_7F0BB2C8 -/* 0898EC 7F054DBC 8FA50078 */ lw $a1, 0x78($sp) -/* 0898F0 7F054DC0 10400033 */ beqz $v0, .L7F054E90 -/* 0898F4 7F054DC4 8FAE007C */ lw $t6, 0x7c($sp) -/* 0898F8 7F054DC8 11C00004 */ beqz $t6, .L7F054DDC -/* 0898FC 7F054DCC 02202025 */ move $a0, $s1 -/* 089900 7F054DD0 0FC15316 */ jal sub_GAME_7F054C58 -/* 089904 7F054DD4 8FA50078 */ lw $a1, 0x78($sp) -/* 089908 7F054DD8 1040002D */ beqz $v0, .L7F054E90 -.L7F054DDC: -/* 08990C 7F054DDC 27B00034 */ addiu $s0, $sp, 0x34 -/* 089910 7F054DE0 02002825 */ move $a1, $s0 -/* 089914 7F054DE4 0FC15299 */ jal sub_GAME_7F054A64 -/* 089918 7F054DE8 8FA40070 */ lw $a0, 0x70($sp) -/* 08991C 7F054DEC 10400007 */ beqz $v0, .L7F054E0C -/* 089920 7F054DF0 02202025 */ move $a0, $s1 -/* 089924 7F054DF4 02202025 */ move $a0, $s1 -/* 089928 7F054DF8 8FA50078 */ lw $a1, 0x78($sp) -/* 08992C 7F054DFC 0FC1E2FD */ jal sub_GAME_7F078BF4 -/* 089930 7F054E00 02003025 */ move $a2, $s0 -/* 089934 7F054E04 10000004 */ b .L7F054E18 -/* 089938 7F054E08 AFA20044 */ sw $v0, 0x44($sp) -.L7F054E0C: -/* 08993C 7F054E0C 0FC1E296 */ jal sub_GAME_7F078A58 -/* 089940 7F054E10 8FA50078 */ lw $a1, 0x78($sp) -/* 089944 7F054E14 AFA20044 */ sw $v0, 0x44($sp) -.L7F054E18: -/* 089948 7F054E18 5040001E */ beql $v0, $zero, .L7F054E94 -/* 08994C 7F054E1C 8FBF001C */ lw $ra, 0x1c($sp) -/* 089950 7F054E20 0FC227F5 */ jal get_BONDdata_position -/* 089954 7F054E24 00000000 */ nop -/* 089958 7F054E28 C6240000 */ lwc1 $f4, ($s1) -/* 08995C 7F054E2C C4460000 */ lwc1 $f6, ($v0) -/* 089960 7F054E30 C6280004 */ lwc1 $f8, 4($s1) -/* 089964 7F054E34 C44A0004 */ lwc1 $f10, 4($v0) -/* 089968 7F054E38 46062001 */ sub.s $f0, $f4, $f6 -/* 08996C 7F054E3C C6300008 */ lwc1 $f16, 8($s1) -/* 089970 7F054E40 C4520008 */ lwc1 $f18, 8($v0) -/* 089974 7F054E44 460A4081 */ sub.s $f2, $f8, $f10 -/* 089978 7F054E48 46000182 */ mul.s $f6, $f0, $f0 -/* 08997C 7F054E4C 3C018005 */ lui $at, %hi(D_8005345C) -/* 089980 7F054E50 46128301 */ sub.s $f12, $f16, $f18 -/* 089984 7F054E54 46021202 */ mul.s $f8, $f2, $f2 -/* 089988 7F054E58 C424345C */ lwc1 $f4, %lo(D_8005345C)($at) -/* 08998C 7F054E5C 460C6402 */ mul.s $f16, $f12, $f12 -/* 089990 7F054E60 46083280 */ add.s $f10, $f6, $f8 -/* 089994 7F054E64 46105480 */ add.s $f18, $f10, $f16 -/* 089998 7F054E68 4612203C */ c.lt.s $f4, $f18 -/* 08999C 7F054E6C 00000000 */ nop -/* 0899A0 7F054E70 45020008 */ bc1fl .L7F054E94 -/* 0899A4 7F054E74 8FBF001C */ lw $ra, 0x1c($sp) -/* 0899A8 7F054E78 10000005 */ b .L7F054E90 -/* 0899AC 7F054E7C AFA00044 */ sw $zero, 0x44($sp) -.L7F054E80: -/* 0899B0 7F054E80 8E040004 */ lw $a0, 4($s0) -/* 0899B4 7F054E84 26100004 */ addiu $s0, $s0, 4 -/* 0899B8 7F054E88 0481FFC7 */ bgez $a0, .L7F054DA8 -/* 0899BC 7F054E8C 00000000 */ nop -.L7F054E90: -/* 0899C0 7F054E90 8FBF001C */ lw $ra, 0x1c($sp) -.L7F054E94: -/* 0899C4 7F054E94 8FA20044 */ lw $v0, 0x44($sp) -/* 0899C8 7F054E98 8FB00014 */ lw $s0, 0x14($sp) -/* 0899CC 7F054E9C 8FB10018 */ lw $s1, 0x18($sp) -/* 0899D0 7F054EA0 03E00008 */ jr $ra -/* 0899D4 7F054EA4 27BD0070 */ addiu $sp, $sp, 0x70 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054EA8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054EA8 -/* 0899D8 7F054EA8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0899DC 7F054EAC AFBF0024 */ sw $ra, 0x24($sp) -/* 0899E0 7F054EB0 AFB00020 */ sw $s0, 0x20($sp) -/* 0899E4 7F054EB4 808200BC */ lb $v0, 0xbc($a0) -/* 0899E8 7F054EB8 24010001 */ li $at, 1 -/* 0899EC 7F054EBC 00808025 */ move $s0, $a0 -/* 0899F0 7F054EC0 1441001C */ bne $v0, $at, .L7F054F34 -/* 0899F4 7F054EC4 00001825 */ move $v1, $zero -/* 0899F8 7F054EC8 C6040090 */ lwc1 $f4, 0x90($s0) -/* 0899FC 7F054ECC 8E050084 */ lw $a1, 0x84($s0) -/* 089A00 7F054ED0 8E07008C */ lw $a3, 0x8c($s0) -/* 089A04 7F054ED4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 089A08 7F054ED8 C6060094 */ lwc1 $f6, 0x94($s0) -/* 089A0C 7F054EDC 248400B4 */ addiu $a0, $a0, 0xb4 -/* 089A10 7F054EE0 260600B8 */ addiu $a2, $s0, 0xb8 -/* 089A14 7F054EE4 0FC10BC6 */ jal sub_GAME_7F042F18 -/* 089A18 7F054EE8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 089A1C 7F054EEC C60200B4 */ lwc1 $f2, 0xb4($s0) -/* 089A20 7F054EF0 C6000084 */ lwc1 $f0, 0x84($s0) -/* 089A24 7F054EF4 24030001 */ li $v1, 1 -/* 089A28 7F054EF8 4602003E */ c.le.s $f0, $f2 -/* 089A2C 7F054EFC 00000000 */ nop -/* 089A30 7F054F00 45020004 */ bc1fl .L7F054F14 -/* 089A34 7F054F04 44806000 */ mtc1 $zero, $f12 -/* 089A38 7F054F08 10000025 */ b .L7F054FA0 -/* 089A3C 7F054F0C E60000B4 */ swc1 $f0, 0xb4($s0) -/* 089A40 7F054F10 44806000 */ mtc1 $zero, $f12 -.L7F054F14: -/* 089A44 7F054F14 00000000 */ nop -/* 089A48 7F054F18 460C103E */ c.le.s $f2, $f12 -/* 089A4C 7F054F1C 00000000 */ nop -/* 089A50 7F054F20 45000002 */ bc1f .L7F054F2C -/* 089A54 7F054F24 00000000 */ nop -/* 089A58 7F054F28 E60C00B4 */ swc1 $f12, 0xb4($s0) -.L7F054F2C: -/* 089A5C 7F054F2C 1000001C */ b .L7F054FA0 -/* 089A60 7F054F30 24030001 */ li $v1, 1 -.L7F054F34: -/* 089A64 7F054F34 24010002 */ li $at, 2 -/* 089A68 7F054F38 14410019 */ bne $v0, $at, .L7F054FA0 -/* 089A6C 7F054F3C 260400B4 */ addiu $a0, $s0, 0xb4 -/* 089A70 7F054F40 C6080090 */ lwc1 $f8, 0x90($s0) -/* 089A74 7F054F44 44806000 */ mtc1 $zero, $f12 -/* 089A78 7F054F48 8E07008C */ lw $a3, 0x8c($s0) -/* 089A7C 7F054F4C E7A80010 */ swc1 $f8, 0x10($sp) -/* 089A80 7F054F50 C60A0094 */ lwc1 $f10, 0x94($s0) -/* 089A84 7F054F54 44056000 */ mfc1 $a1, $f12 -/* 089A88 7F054F58 260600B8 */ addiu $a2, $s0, 0xb8 -/* 089A8C 7F054F5C 0FC10BC6 */ jal sub_GAME_7F042F18 -/* 089A90 7F054F60 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 089A94 7F054F64 C60200B4 */ lwc1 $f2, 0xb4($s0) -/* 089A98 7F054F68 C6000084 */ lwc1 $f0, 0x84($s0) -/* 089A9C 7F054F6C 44806000 */ mtc1 $zero, $f12 -/* 089AA0 7F054F70 24030001 */ li $v1, 1 -/* 089AA4 7F054F74 4602003E */ c.le.s $f0, $f2 -/* 089AA8 7F054F78 00000000 */ nop -/* 089AAC 7F054F7C 45020004 */ bc1fl .L7F054F90 -/* 089AB0 7F054F80 460C103E */ c.le.s $f2, $f12 -/* 089AB4 7F054F84 10000006 */ b .L7F054FA0 -/* 089AB8 7F054F88 E60000B4 */ swc1 $f0, 0xb4($s0) -/* 089ABC 7F054F8C 460C103E */ c.le.s $f2, $f12 -.L7F054F90: -/* 089AC0 7F054F90 00000000 */ nop -/* 089AC4 7F054F94 45000002 */ bc1f .L7F054FA0 -/* 089AC8 7F054F98 00000000 */ nop -/* 089ACC 7F054F9C E60C00B4 */ swc1 $f12, 0xb4($s0) -.L7F054FA0: -/* 089AD0 7F054FA0 8FBF0024 */ lw $ra, 0x24($sp) -/* 089AD4 7F054FA4 8FB00020 */ lw $s0, 0x20($sp) -/* 089AD8 7F054FA8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 089ADC 7F054FAC 03E00008 */ jr $ra -/* 089AE0 7F054FB0 00601025 */ move $v0, $v1 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F054FB4(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F054FB4 -/* 089AE4 7F054FB4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 089AE8 7F054FB8 AFB50030 */ sw $s5, 0x30($sp) -/* 089AEC 7F054FBC AFB4002C */ sw $s4, 0x2c($sp) -/* 089AF0 7F054FC0 AFB20024 */ sw $s2, 0x24($sp) -/* 089AF4 7F054FC4 AFB10020 */ sw $s1, 0x20($sp) -/* 089AF8 7F054FC8 00809025 */ move $s2, $a0 -/* 089AFC 7F054FCC AFBF0034 */ sw $ra, 0x34($sp) -/* 089B00 7F054FD0 AFB30028 */ sw $s3, 0x28($sp) -/* 089B04 7F054FD4 AFB0001C */ sw $s0, 0x1c($sp) -/* 089B08 7F054FD8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 089B0C 7F054FDC 0000A025 */ move $s4, $zero -/* 089B10 7F054FE0 24150001 */ li $s5, 1 -/* 089B14 7F054FE4 10800010 */ beqz $a0, .L7F055028 -/* 089B18 7F054FE8 00808825 */ move $s1, $a0 -/* 089B1C 7F054FEC C62400B4 */ lwc1 $f4, 0xb4($s1) -.L7F054FF0: -/* 089B20 7F054FF0 02202025 */ move $a0, $s1 -/* 089B24 7F054FF4 0FC153AA */ jal sub_GAME_7F054EA8 -/* 089B28 7F054FF8 E62400FC */ swc1 $f4, 0xfc($s1) -/* 089B2C 7F054FFC 50400003 */ beql $v0, $zero, .L7F05500C -/* 089B30 7F055000 8E3100C8 */ lw $s1, 0xc8($s1) -/* 089B34 7F055004 24140001 */ li $s4, 1 -/* 089B38 7F055008 8E3100C8 */ lw $s1, 0xc8($s1) -.L7F05500C: -/* 089B3C 7F05500C 16320003 */ bne $s1, $s2, .L7F05501C -/* 089B40 7F055010 00000000 */ nop -/* 089B44 7F055014 10000004 */ b .L7F055028 -/* 089B48 7F055018 02408825 */ move $s1, $s2 -.L7F05501C: -/* 089B4C 7F05501C 5620FFF4 */ bnezl $s1, .L7F054FF0 -/* 089B50 7F055020 C62400B4 */ lwc1 $f4, 0xb4($s1) -/* 089B54 7F055024 02408825 */ move $s1, $s2 -.L7F055028: -/* 089B58 7F055028 12800013 */ beqz $s4, .L7F055078 -/* 089B5C 7F05502C 00000000 */ nop -/* 089B60 7F055030 12400011 */ beqz $s2, .L7F055078 -/* 089B64 7F055034 00000000 */ nop -.L7F055038: -/* 089B68 7F055038 0FC14AC0 */ jal sub_GAME_7F052B00 -/* 089B6C 7F05503C 02202025 */ move $a0, $s1 -/* 089B70 7F055040 0FC1122A */ jal sub_GAME_7F0448A8 -/* 089B74 7F055044 8E240010 */ lw $a0, 0x10($s1) -/* 089B78 7F055048 14400003 */ bnez $v0, .L7F055058 -/* 089B7C 7F05504C 0040A825 */ move $s5, $v0 -/* 089B80 7F055050 10000009 */ b .L7F055078 -/* 089B84 7F055054 02408825 */ move $s1, $s2 -.L7F055058: -/* 089B88 7F055058 8E3100C8 */ lw $s1, 0xc8($s1) -/* 089B8C 7F05505C 16320003 */ bne $s1, $s2, .L7F05506C -/* 089B90 7F055060 00000000 */ nop -/* 089B94 7F055064 10000004 */ b .L7F055078 -/* 089B98 7F055068 02408825 */ move $s1, $s2 -.L7F05506C: -/* 089B9C 7F05506C 1620FFF2 */ bnez $s1, .L7F055038 -/* 089BA0 7F055070 00000000 */ nop -/* 089BA4 7F055074 02408825 */ move $s1, $s2 -.L7F055078: -/* 089BA8 7F055078 12400062 */ beqz $s2, .L7F055204 -/* 089BAC 7F05507C 3C138005 */ lui $s3, %hi(global_timer) -/* 089BB0 7F055080 4480A000 */ mtc1 $zero, $f20 -/* 089BB4 7F055084 2673837C */ addiu $s3, %lo(global_timer) # addiu $s3, $s3, -0x7c84 -.L7F055088: -/* 089BB8 7F055088 52800030 */ beql $s4, $zero, .L7F05514C -/* 089BBC 7F05508C 962F0098 */ lhu $t7, 0x98($s1) -/* 089BC0 7F055090 12A00025 */ beqz $s5, .L7F055128 -/* 089BC4 7F055094 02202025 */ move $a0, $s1 -/* 089BC8 7F055098 822200BC */ lb $v0, 0xbc($s1) -/* 089BCC 7F05509C 24010001 */ li $at, 1 -/* 089BD0 7F0550A0 54410010 */ bnel $v0, $at, .L7F0550E4 -/* 089BD4 7F0550A4 24010002 */ li $at, 2 -/* 089BD8 7F0550A8 C62600B4 */ lwc1 $f6, 0xb4($s1) -/* 089BDC 7F0550AC C6280084 */ lwc1 $f8, 0x84($s1) -/* 089BE0 7F0550B0 4606403E */ c.le.s $f8, $f6 -/* 089BE4 7F0550B4 00000000 */ nop -/* 089BE8 7F0550B8 45020017 */ bc1fl .L7F055118 -/* 089BEC 7F0550BC 8E240010 */ lw $a0, 0x10($s1) -/* 089BF0 7F0550C0 A22000BC */ sb $zero, 0xbc($s1) -/* 089BF4 7F0550C4 E63400B8 */ swc1 $f20, 0xb8($s1) -/* 089BF8 7F0550C8 8E6E0000 */ lw $t6, ($s3) -/* 089BFC 7F0550CC 02202025 */ move $a0, $s1 -/* 089C00 7F0550D0 0FC15203 */ jal sub_GAME_7F05480C -/* 089C04 7F0550D4 AE2E00EC */ sw $t6, 0xec($s1) -/* 089C08 7F0550D8 1000000F */ b .L7F055118 -/* 089C0C 7F0550DC 8E240010 */ lw $a0, 0x10($s1) -/* 089C10 7F0550E0 24010002 */ li $at, 2 -.L7F0550E4: -/* 089C14 7F0550E4 5441000C */ bnel $v0, $at, .L7F055118 -/* 089C18 7F0550E8 8E240010 */ lw $a0, 0x10($s1) -/* 089C1C 7F0550EC C62A00B4 */ lwc1 $f10, 0xb4($s1) -/* 089C20 7F0550F0 02202025 */ move $a0, $s1 -/* 089C24 7F0550F4 4614503E */ c.le.s $f10, $f20 -/* 089C28 7F0550F8 00000000 */ nop -/* 089C2C 7F0550FC 45020006 */ bc1fl .L7F055118 -/* 089C30 7F055100 8E240010 */ lw $a0, 0x10($s1) -/* 089C34 7F055104 A22000BC */ sb $zero, 0xbc($s1) -/* 089C38 7F055108 E63400B8 */ swc1 $f20, 0xb8($s1) -/* 089C3C 7F05510C 0FC1521F */ jal sub_GAME_7F05487C -/* 089C40 7F055110 AE2000EC */ sw $zero, 0xec($s1) -/* 089C44 7F055114 8E240010 */ lw $a0, 0x10($s1) -.L7F055118: -/* 089C48 7F055118 0FC100AD */ jal sub_GAME_7F0402B4 -/* 089C4C 7F05511C 2625007C */ addiu $a1, $s1, 0x7c -/* 089C50 7F055120 10000005 */ b .L7F055138 -/* 089C54 7F055124 00000000 */ nop -.L7F055128: -/* 089C58 7F055128 C63000FC */ lwc1 $f16, 0xfc($s1) -/* 089C5C 7F05512C E63400B8 */ swc1 $f20, 0xb8($s1) -/* 089C60 7F055130 0FC14AC0 */ jal sub_GAME_7F052B00 -/* 089C64 7F055134 E63000B4 */ swc1 $f16, 0xb4($s1) -.L7F055138: -/* 089C68 7F055138 0FC14B63 */ jal sub_GAME_7F052D8C -/* 089C6C 7F05513C 02202025 */ move $a0, $s1 -/* 089C70 7F055140 1000002A */ b .L7F0551EC -/* 089C74 7F055144 8E690000 */ lw $t1, ($s3) -/* 089C78 7F055148 962F0098 */ lhu $t7, 0x98($s1) -.L7F05514C: -/* 089C7C 7F05514C 31F80004 */ andi $t8, $t7, 4 -/* 089C80 7F055150 53000026 */ beql $t8, $zero, .L7F0551EC -/* 089C84 7F055154 8E690000 */ lw $t1, ($s3) -/* 089C88 7F055158 8E240014 */ lw $a0, 0x14($s1) -/* 089C8C 7F05515C 8C990008 */ lw $t9, 8($a0) -/* 089C90 7F055160 8F280000 */ lw $t0, ($t9) -/* 089C94 7F055164 8D090014 */ lw $t1, 0x14($t0) -/* 089C98 7F055168 8D250014 */ lw $a1, 0x14($t1) -/* 089C9C 7F05516C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode -/* 089CA0 7F055170 8CB00004 */ lw $s0, 4($a1) -/* 089CA4 7F055174 8E2300CC */ lw $v1, 0xcc($s1) -/* 089CA8 7F055178 8C4A0000 */ lw $t2, ($v0) -/* 089CAC 7F05517C 506A001A */ beql $v1, $t2, .L7F0551E8 -/* 089CB0 7F055180 AC430000 */ sw $v1, ($v0) -/* 089CB4 7F055184 860B000C */ lh $t3, 0xc($s0) -/* 089CB8 7F055188 00002025 */ move $a0, $zero -/* 089CBC 7F05518C 59600016 */ blezl $t3, .L7F0551E8 -/* 089CC0 7F055190 AC430000 */ sw $v1, ($v0) -/* 089CC4 7F055194 00001825 */ move $v1, $zero -/* 089CC8 7F055198 8C4E0000 */ lw $t6, ($v0) -.L7F05519C: -/* 089CCC 7F05519C 8E2C00CC */ lw $t4, 0xcc($s1) -/* 089CD0 7F0551A0 24840001 */ addiu $a0, $a0, 1 -/* 089CD4 7F0551A4 01C37821 */ addu $t7, $t6, $v1 -/* 089CD8 7F0551A8 8DE10000 */ lw $at, ($t7) -/* 089CDC 7F0551AC 01836821 */ addu $t5, $t4, $v1 -/* 089CE0 7F0551B0 24630010 */ addiu $v1, $v1, 0x10 -/* 089CE4 7F0551B4 ADA10000 */ sw $at, ($t5) -/* 089CE8 7F0551B8 8DF90004 */ lw $t9, 4($t7) -/* 089CEC 7F0551BC ADB90004 */ sw $t9, 4($t5) -/* 089CF0 7F0551C0 8DE10008 */ lw $at, 8($t7) -/* 089CF4 7F0551C4 ADA10008 */ sw $at, 8($t5) -/* 089CF8 7F0551C8 8DF9000C */ lw $t9, 0xc($t7) -/* 089CFC 7F0551CC ADB9000C */ sw $t9, 0xc($t5) -/* 089D00 7F0551D0 8608000C */ lh $t0, 0xc($s0) -/* 089D04 7F0551D4 0088082A */ slt $at, $a0, $t0 -/* 089D08 7F0551D8 5420FFF0 */ bnezl $at, .L7F05519C -/* 089D0C 7F0551DC 8C4E0000 */ lw $t6, ($v0) -/* 089D10 7F0551E0 8E2300CC */ lw $v1, 0xcc($s1) -/* 089D14 7F0551E4 AC430000 */ sw $v1, ($v0) -.L7F0551E8: -/* 089D18 7F0551E8 8E690000 */ lw $t1, ($s3) -.L7F0551EC: -/* 089D1C 7F0551EC AE2900FC */ sw $t1, 0xfc($s1) -/* 089D20 7F0551F0 8E3100C8 */ lw $s1, 0xc8($s1) -/* 089D24 7F0551F4 52320004 */ beql $s1, $s2, .L7F055208 -/* 089D28 7F0551F8 8FBF0034 */ lw $ra, 0x34($sp) -/* 089D2C 7F0551FC 1620FFA2 */ bnez $s1, .L7F055088 -/* 089D30 7F055200 00000000 */ nop -.L7F055204: -/* 089D34 7F055204 8FBF0034 */ lw $ra, 0x34($sp) -.L7F055208: -/* 089D38 7F055208 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 089D3C 7F05520C 8FB0001C */ lw $s0, 0x1c($sp) -/* 089D40 7F055210 8FB10020 */ lw $s1, 0x20($sp) -/* 089D44 7F055214 8FB20024 */ lw $s2, 0x24($sp) -/* 089D48 7F055218 8FB30028 */ lw $s3, 0x28($sp) -/* 089D4C 7F05521C 8FB4002C */ lw $s4, 0x2c($sp) -/* 089D50 7F055220 8FB50030 */ lw $s5, 0x30($sp) -/* 089D54 7F055224 03E00008 */ jr $ra -/* 089D58 7F055228 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05522C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05522C -/* 089D5C 7F05522C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 089D60 7F055230 AFBF0014 */ sw $ra, 0x14($sp) -/* 089D64 7F055234 AFA40068 */ sw $a0, 0x68($sp) -/* 089D68 7F055238 AFA5006C */ sw $a1, 0x6c($sp) -/* 089D6C 7F05523C AFA60070 */ sw $a2, 0x70($sp) -/* 089D70 7F055240 AFA70074 */ sw $a3, 0x74($sp) -/* 089D74 7F055244 84990006 */ lh $t9, 6($a0) -/* 089D78 7F055248 3C098007 */ lui $t1, %hi(ptr_2xxxpresets) -/* 089D7C 7F05524C 8D295D1C */ lw $t1, %lo(ptr_2xxxpresets)($t1) -/* 089D80 7F055250 00194100 */ sll $t0, $t9, 4 -/* 089D84 7F055254 01194021 */ addu $t0, $t0, $t9 -/* 089D88 7F055258 00084080 */ sll $t0, $t0, 2 -/* 089D8C 7F05525C 01091821 */ addu $v1, $t0, $t1 -/* 089D90 7F055260 0FC225E6 */ jal get_curplayer_positiondata -/* 089D94 7F055264 AFA3005C */ sw $v1, 0x5c($sp) -/* 089D98 7F055268 3C048008 */ lui $a0, %hi(pPlayer) -/* 089D9C 7F05526C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) -/* 089DA0 7F055270 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 089DA4 7F055274 44810000 */ mtc1 $at, $f0 -/* 089DA8 7F055278 C4840498 */ lwc1 $f4, 0x498($a0) -/* 089DAC 7F05527C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 089DB0 7F055280 44811000 */ mtc1 $at, $f2 -/* 089DB4 7F055284 46002282 */ mul.s $f10, $f4, $f0 -/* 089DB8 7F055288 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 089DBC 7F05528C 44816000 */ mtc1 $at, $f12 -/* 089DC0 7F055290 C4440008 */ lwc1 $f4, 8($v0) -/* 089DC4 7F055294 8FAA0074 */ lw $t2, 0x74($sp) -/* 089DC8 7F055298 8FA3005C */ lw $v1, 0x5c($sp) -/* 089DCC 7F05529C 46025202 */ mul.s $f8, $f10, $f2 -/* 089DD0 7F0552A0 00000000 */ nop -/* 089DD4 7F0552A4 460C4182 */ mul.s $f6, $f8, $f12 -/* 089DD8 7F0552A8 46043280 */ add.s $f10, $f6, $f4 -/* 089DDC 7F0552AC E7AA0030 */ swc1 $f10, 0x30($sp) -/* 089DE0 7F0552B0 C448000C */ lwc1 $f8, 0xc($v0) -/* 089DE4 7F0552B4 E7A80034 */ swc1 $f8, 0x34($sp) -/* 089DE8 7F0552B8 C48604A0 */ lwc1 $f6, 0x4a0($a0) -/* 089DEC 7F0552BC 46003102 */ mul.s $f4, $f6, $f0 -/* 089DF0 7F0552C0 C4460010 */ lwc1 $f6, 0x10($v0) -/* 089DF4 7F0552C4 46022282 */ mul.s $f10, $f4, $f2 -/* 089DF8 7F0552C8 00000000 */ nop -/* 089DFC 7F0552CC 460C5202 */ mul.s $f8, $f10, $f12 -/* 089E00 7F0552D0 46064100 */ add.s $f4, $f8, $f6 -/* 089E04 7F0552D4 1140001D */ beqz $t2, .L7F05534C -/* 089E08 7F0552D8 E7A40038 */ swc1 $f4, 0x38($sp) -/* 089E0C 7F0552DC C46A0030 */ lwc1 $f10, 0x30($v1) -/* 089E10 7F0552E0 C472002C */ lwc1 $f18, 0x2c($v1) -/* 089E14 7F0552E4 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 089E18 7F0552E8 C4680010 */ lwc1 $f8, 0x10($v1) -/* 089E1C 7F0552EC C4660020 */ lwc1 $f6, 0x20($v1) -/* 089E20 7F0552F0 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 089E24 7F0552F4 46064102 */ mul.s $f4, $f8, $f6 -/* 089E28 7F0552F8 C4680014 */ lwc1 $f8, 0x14($v1) -/* 089E2C 7F0552FC 46085182 */ mul.s $f6, $f10, $f8 -/* 089E30 7F055300 46062281 */ sub.s $f10, $f4, $f6 -/* 089E34 7F055304 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 089E38 7F055308 C4640018 */ lwc1 $f4, 0x18($v1) -/* 089E3C 7F05530C C4680014 */ lwc1 $f8, 0x14($v1) -/* 089E40 7F055310 C46A0020 */ lwc1 $f10, 0x20($v1) -/* 089E44 7F055314 46044182 */ mul.s $f6, $f8, $f4 -/* 089E48 7F055318 C468000C */ lwc1 $f8, 0xc($v1) -/* 089E4C 7F05531C 46085102 */ mul.s $f4, $f10, $f8 -/* 089E50 7F055320 46043281 */ sub.s $f10, $f6, $f4 -/* 089E54 7F055324 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 089E58 7F055328 C466001C */ lwc1 $f6, 0x1c($v1) -/* 089E5C 7F05532C C468000C */ lwc1 $f8, 0xc($v1) -/* 089E60 7F055330 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 089E64 7F055334 46064102 */ mul.s $f4, $f8, $f6 -/* 089E68 7F055338 C4680010 */ lwc1 $f8, 0x10($v1) -/* 089E6C 7F05533C 46085182 */ mul.s $f6, $f10, $f8 -/* 089E70 7F055340 46062281 */ sub.s $f10, $f4, $f6 -/* 089E74 7F055344 1000000A */ b .L7F055370 -/* 089E78 7F055348 E7AA004C */ swc1 $f10, 0x4c($sp) -.L7F05534C: -/* 089E7C 7F05534C C4680038 */ lwc1 $f8, 0x38($v1) -/* 089E80 7F055350 C4720034 */ lwc1 $f18, 0x34($v1) -/* 089E84 7F055354 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 089E88 7F055358 C464000C */ lwc1 $f4, 0xc($v1) -/* 089E8C 7F05535C E7A40044 */ swc1 $f4, 0x44($sp) -/* 089E90 7F055360 C4660010 */ lwc1 $f6, 0x10($v1) -/* 089E94 7F055364 E7A60048 */ swc1 $f6, 0x48($sp) -/* 089E98 7F055368 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 089E9C 7F05536C E7AA004C */ swc1 $f10, 0x4c($sp) -.L7F055370: -/* 089EA0 7F055370 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 089EA4 7F055374 C4680000 */ lwc1 $f8, ($v1) -/* 089EA8 7F055378 46122182 */ mul.s $f6, $f4, $f18 -/* 089EAC 7F05537C C7A40030 */ lwc1 $f4, 0x30($sp) -/* 089EB0 7F055380 46064280 */ add.s $f10, $f8, $f6 -/* 089EB4 7F055384 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 089EB8 7F055388 C4680008 */ lwc1 $f8, 8($v1) -/* 089EBC 7F05538C E7B20040 */ swc1 $f18, 0x40($sp) -/* 089EC0 7F055390 46045301 */ sub.s $f12, $f10, $f4 -/* 089EC4 7F055394 46123282 */ mul.s $f10, $f6, $f18 -/* 089EC8 7F055398 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 089ECC 7F05539C AFA3005C */ sw $v1, 0x5c($sp) -/* 089ED0 7F0553A0 460A4100 */ add.s $f4, $f8, $f10 -/* 089ED4 7F0553A4 0FC16A8C */ jal convert_angle_using_inverse -/* 089ED8 7F0553A8 46062381 */ sub.s $f14, $f4, $f6 -/* 089EDC 7F0553AC 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 089EE0 7F0553B0 E7A00020 */ swc1 $f0, 0x20($sp) -/* 089EE4 7F0553B4 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 089EE8 7F0553B8 8FA3005C */ lw $v1, 0x5c($sp) -/* 089EEC 7F0553BC C7B20040 */ lwc1 $f18, 0x40($sp) -/* 089EF0 7F0553C0 4600603C */ c.lt.s $f12, $f0 -/* 089EF4 7F0553C4 3C018005 */ lui $at, %hi(D_80053460) -/* 089EF8 7F0553C8 46006381 */ sub.s $f14, $f12, $f0 -/* 089EFC 7F0553CC 8FA20068 */ lw $v0, 0x68($sp) -/* 089F00 7F0553D0 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 089F04 7F0553D4 45000003 */ bc1f .L7F0553E4 -/* 089F08 7F0553D8 46007086 */ mov.s $f2, $f14 -/* 089F0C 7F0553DC C4203460 */ lwc1 $f0, %lo(D_80053460)($at) -/* 089F10 7F0553E0 46007080 */ add.s $f2, $f14, $f0 -.L7F0553E4: -/* 089F14 7F0553E4 3C018005 */ lui $at, %hi(D_80053464) -/* 089F18 7F0553E8 C4203464 */ lwc1 $f0, %lo(D_80053464)($at) -/* 089F1C 7F0553EC 3C018005 */ lui $at, %hi(D_80053468) -/* 089F20 7F0553F0 C4283468 */ lwc1 $f8, %lo(D_80053468)($at) -/* 089F24 7F0553F4 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 089F28 7F0553F8 4602403C */ c.lt.s $f8, $f2 -/* 089F2C 7F0553FC 00000000 */ nop -/* 089F30 7F055400 45020003 */ bc1fl .L7F055410 -/* 089F34 7F055404 944B009A */ lhu $t3, 0x9a($v0) -/* 089F38 7F055408 46001081 */ sub.s $f2, $f2, $f0 -/* 089F3C 7F05540C 944B009A */ lhu $t3, 0x9a($v0) -.L7F055410: -/* 089F40 7F055410 24010005 */ li $at, 5 -/* 089F44 7F055414 15610046 */ bne $t3, $at, .L7F055530 -/* 089F48 7F055418 00000000 */ nop -/* 089F4C 7F05541C C44A00B4 */ lwc1 $f10, 0xb4($v0) -/* 089F50 7F055420 8C4C0008 */ lw $t4, 8($v0) -/* 089F54 7F055424 3C0143B4 */ li $at, 0x43B40000 # 360.000000 -/* 089F58 7F055428 46005102 */ mul.s $f4, $f10, $f0 -/* 089F5C 7F05542C 44813000 */ mtc1 $at, $f6 -/* 089F60 7F055430 000C6880 */ sll $t5, $t4, 2 -/* 089F64 7F055434 05A10002 */ bgez $t5, .L7F055440 -/* 089F68 7F055438 46062303 */ div.s $f12, $f4, $f6 -/* 089F6C 7F05543C 460C0301 */ sub.s $f12, $f0, $f12 -.L7F055440: -/* 089F70 7F055440 AFA3005C */ sw $v1, 0x5c($sp) -/* 089F74 7F055444 E7A20064 */ swc1 $f2, 0x64($sp) -/* 089F78 7F055448 E7AC002C */ swc1 $f12, 0x2c($sp) -/* 089F7C 7F05544C 0FC15FA8 */ jal cosf -/* 089F80 7F055450 E7B20040 */ swc1 $f18, 0x40($sp) -/* 089F84 7F055454 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 089F88 7F055458 0FC15FAB */ jal sinf -/* 089F8C 7F05545C E7A00028 */ swc1 $f0, 0x28($sp) -/* 089F90 7F055460 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 089F94 7F055464 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 089F98 7F055468 8FA3005C */ lw $v1, 0x5c($sp) -/* 089F9C 7F05546C C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 089FA0 7F055470 46122182 */ mul.s $f6, $f4, $f18 -/* 089FA4 7F055474 C46A0000 */ lwc1 $f10, ($v1) -/* 089FA8 7F055478 46124081 */ sub.s $f2, $f8, $f18 -/* 089FAC 7F05547C C7B00028 */ lwc1 $f16, 0x28($sp) -/* 089FB0 7F055480 46065200 */ add.s $f8, $f10, $f6 -/* 089FB4 7F055484 46102282 */ mul.s $f10, $f4, $f16 -/* 089FB8 7F055488 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 089FBC 7F05548C E7A80018 */ swc1 $f8, 0x18($sp) -/* 089FC0 7F055490 46003202 */ mul.s $f8, $f6, $f0 -/* 089FC4 7F055494 46085280 */ add.s $f10, $f10, $f8 -/* 089FC8 7F055498 460A1202 */ mul.s $f8, $f2, $f10 -/* 089FCC 7F05549C C7AA0018 */ lwc1 $f10, 0x18($sp) -/* 089FD0 7F0554A0 46085280 */ add.s $f10, $f10, $f8 -/* 089FD4 7F0554A4 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 089FD8 7F0554A8 46085301 */ sub.s $f12, $f10, $f8 -/* 089FDC 7F0554AC 46123202 */ mul.s $f8, $f6, $f18 -/* 089FE0 7F0554B0 C46A0008 */ lwc1 $f10, 8($v1) -/* 089FE4 7F0554B4 46085280 */ add.s $f10, $f10, $f8 -/* 089FE8 7F0554B8 46002207 */ neg.s $f8, $f4 -/* 089FEC 7F0554BC 46004102 */ mul.s $f4, $f8, $f0 -/* 089FF0 7F0554C0 00000000 */ nop -/* 089FF4 7F0554C4 46103202 */ mul.s $f8, $f6, $f16 -/* 089FF8 7F0554C8 46082180 */ add.s $f6, $f4, $f8 -/* 089FFC 7F0554CC 46061102 */ mul.s $f4, $f2, $f6 -/* 08A000 7F0554D0 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 08A004 7F0554D4 46045200 */ add.s $f8, $f10, $f4 -/* 08A008 7F0554D8 0FC16A8C */ jal convert_angle_using_inverse -/* 08A00C 7F0554DC 46064381 */ sub.s $f14, $f8, $f6 -/* 08A010 7F0554E0 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 08A014 7F0554E4 E7A00020 */ swc1 $f0, 0x20($sp) -/* 08A018 7F0554E8 C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08A01C 7F0554EC 3C018005 */ lui $at, %hi(D_8005346C) -/* 08A020 7F0554F0 4600603C */ c.lt.s $f12, $f0 -/* 08A024 7F0554F4 46006381 */ sub.s $f14, $f12, $f0 -/* 08A028 7F0554F8 45000003 */ bc1f .L7F055508 -/* 08A02C 7F0554FC 46007086 */ mov.s $f2, $f14 -/* 08A030 7F055500 C42A346C */ lwc1 $f10, %lo(D_8005346C)($at) -/* 08A034 7F055504 460A7080 */ add.s $f2, $f14, $f10 -.L7F055508: -/* 08A038 7F055508 3C018005 */ lui $at, %hi(D_80053470) -/* 08A03C 7F05550C C4243470 */ lwc1 $f4, %lo(D_80053470)($at) -/* 08A040 7F055510 3C018005 */ lui $at, %hi(D_80053474) -/* 08A044 7F055514 4602203C */ c.lt.s $f4, $f2 -/* 08A048 7F055518 00000000 */ nop -/* 08A04C 7F05551C 45020025 */ bc1fl .L7F0555B4 -/* 08A050 7F055520 C7A00064 */ lwc1 $f0, 0x64($sp) -/* 08A054 7F055524 C4283474 */ lwc1 $f8, %lo(D_80053474)($at) -/* 08A058 7F055528 10000021 */ b .L7F0555B0 -/* 08A05C 7F05552C 46081081 */ sub.s $f2, $f2, $f8 -.L7F055530: -/* 08A060 7F055530 46105102 */ mul.s $f4, $f10, $f16 -/* 08A064 7F055534 C4660000 */ lwc1 $f6, ($v1) -/* 08A068 7F055538 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 08A06C 7F05553C 46043200 */ add.s $f8, $f6, $f4 -/* 08A070 7F055540 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 08A074 7F055544 C4660008 */ lwc1 $f6, 8($v1) -/* 08A078 7F055548 E7A20064 */ swc1 $f2, 0x64($sp) -/* 08A07C 7F05554C 460A4301 */ sub.s $f12, $f8, $f10 -/* 08A080 7F055550 46102202 */ mul.s $f8, $f4, $f16 -/* 08A084 7F055554 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 08A088 7F055558 46083280 */ add.s $f10, $f6, $f8 -/* 08A08C 7F05555C 0FC16A8C */ jal convert_angle_using_inverse -/* 08A090 7F055560 46045381 */ sub.s $f14, $f10, $f4 -/* 08A094 7F055564 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees -/* 08A098 7F055568 E7A00020 */ swc1 $f0, 0x20($sp) -/* 08A09C 7F05556C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 08A0A0 7F055570 3C018005 */ lui $at, %hi(D_80053478) -/* 08A0A4 7F055574 4600603C */ c.lt.s $f12, $f0 -/* 08A0A8 7F055578 46006381 */ sub.s $f14, $f12, $f0 -/* 08A0AC 7F05557C 45000003 */ bc1f .L7F05558C -/* 08A0B0 7F055580 46007086 */ mov.s $f2, $f14 -/* 08A0B4 7F055584 C4263478 */ lwc1 $f6, %lo(D_80053478)($at) -/* 08A0B8 7F055588 46067080 */ add.s $f2, $f14, $f6 -.L7F05558C: -/* 08A0BC 7F05558C 3C018005 */ lui $at, %hi(D_8005347C) -/* 08A0C0 7F055590 C428347C */ lwc1 $f8, %lo(D_8005347C)($at) -/* 08A0C4 7F055594 3C018005 */ lui $at, %hi(D_80053480) -/* 08A0C8 7F055598 4602403C */ c.lt.s $f8, $f2 -/* 08A0CC 7F05559C 00000000 */ nop -/* 08A0D0 7F0555A0 45020004 */ bc1fl .L7F0555B4 -/* 08A0D4 7F0555A4 C7A00064 */ lwc1 $f0, 0x64($sp) -/* 08A0D8 7F0555A8 C42A3480 */ lwc1 $f10, %lo(D_80053480)($at) -/* 08A0DC 7F0555AC 460A1081 */ sub.s $f2, $f2, $f10 -.L7F0555B0: -/* 08A0E0 7F0555B0 C7A00064 */ lwc1 $f0, 0x64($sp) -.L7F0555B4: -/* 08A0E4 7F0555B4 8FAE006C */ lw $t6, 0x6c($sp) -/* 08A0E8 7F0555B8 8FB8006C */ lw $t8, 0x6c($sp) -/* 08A0EC 7F0555BC 4602003C */ c.lt.s $f0, $f2 -/* 08A0F0 7F0555C0 00000000 */ nop -/* 08A0F4 7F0555C4 45020006 */ bc1fl .L7F0555E0 -/* 08A0F8 7F0555C8 E7020000 */ swc1 $f2, ($t8) -/* 08A0FC 7F0555CC E5C00000 */ swc1 $f0, ($t6) -/* 08A100 7F0555D0 8FAF0070 */ lw $t7, 0x70($sp) -/* 08A104 7F0555D4 10000004 */ b .L7F0555E8 -/* 08A108 7F0555D8 E5E20000 */ swc1 $f2, ($t7) -/* 08A10C 7F0555DC E7020000 */ swc1 $f2, ($t8) -.L7F0555E0: -/* 08A110 7F0555E0 8FB90070 */ lw $t9, 0x70($sp) -/* 08A114 7F0555E4 E7200000 */ swc1 $f0, ($t9) -.L7F0555E8: -/* 08A118 7F0555E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A11C 7F0555EC 27BD0068 */ addiu $sp, $sp, 0x68 -/* 08A120 7F0555F0 03E00008 */ jr $ra -/* 08A124 7F0555F4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0555F8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0555F8 -/* 08A128 7F0555F8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 08A12C 7F0555FC 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80071DF8) -/* 08A130 7F055600 8DEF1DF8 */ lw $t7, %lo(dword_CODE_bss_80071DF8)($t7) -/* 08A134 7F055604 AFB40030 */ sw $s4, 0x30($sp) -/* 08A138 7F055608 AFB3002C */ sw $s3, 0x2c($sp) -/* 08A13C 7F05560C 240E0001 */ li $t6, 1 -/* 08A140 7F055610 00809825 */ move $s3, $a0 -/* 08A144 7F055614 00A0A025 */ move $s4, $a1 -/* 08A148 7F055618 AFBF0034 */ sw $ra, 0x34($sp) -/* 08A14C 7F05561C AFB20028 */ sw $s2, 0x28($sp) -/* 08A150 7F055620 AFB10024 */ sw $s1, 0x24($sp) -/* 08A154 7F055624 AFB00020 */ sw $s0, 0x20($sp) -/* 08A158 7F055628 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 08A15C 7F05562C 15E0006B */ bnez $t7, .L7F0557DC -/* 08A160 7F055630 AFAE0054 */ sw $t6, 0x54($sp) -/* 08A164 7F055634 27A50050 */ addiu $a1, $sp, 0x50 -/* 08A168 7F055638 27A6004C */ addiu $a2, $sp, 0x4c -/* 08A16C 7F05563C 0FC1548B */ jal sub_GAME_7F05522C -/* 08A170 7F055640 02803825 */ move $a3, $s4 -/* 08A174 7F055644 3C018005 */ lui $at, %hi(D_80053484) -/* 08A178 7F055648 C4223484 */ lwc1 $f2, %lo(D_80053484)($at) -/* 08A17C 7F05564C C7A40050 */ lwc1 $f4, 0x50($sp) -/* 08A180 7F055650 46001007 */ neg.s $f0, $f2 -/* 08A184 7F055654 4604003E */ c.le.s $f0, $f4 -/* 08A188 7F055658 00000000 */ nop -/* 08A18C 7F05565C 45020012 */ bc1fl .L7F0556A8 -/* 08A190 7F055660 8E7000C8 */ lw $s0, 0xc8($s3) -/* 08A194 7F055664 4602203E */ c.le.s $f4, $f2 -/* 08A198 7F055668 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 08A19C 7F05566C 4502000E */ bc1fl .L7F0556A8 -/* 08A1A0 7F055670 8E7000C8 */ lw $s0, 0xc8($s3) -/* 08A1A4 7F055674 4606003E */ c.le.s $f0, $f6 -/* 08A1A8 7F055678 00000000 */ nop -/* 08A1AC 7F05567C 4502000A */ bc1fl .L7F0556A8 -/* 08A1B0 7F055680 8E7000C8 */ lw $s0, 0xc8($s3) -/* 08A1B4 7F055684 4602303E */ c.le.s $f6, $f2 -/* 08A1B8 7F055688 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) -/* 08A1BC 7F05568C 45020006 */ bc1fl .L7F0556A8 -/* 08A1C0 7F055690 8E7000C8 */ lw $s0, 0xc8($s3) -/* 08A1C4 7F055694 8E780010 */ lw $t8, 0x10($s3) -/* 08A1C8 7F055698 AFA00054 */ sw $zero, 0x54($sp) -/* 08A1CC 7F05569C 1000004F */ b .L7F0557DC -/* 08A1D0 7F0556A0 AC381DF8 */ sw $t8, %lo(dword_CODE_bss_80071DF8)($at) -/* 08A1D4 7F0556A4 8E7000C8 */ lw $s0, 0xc8($s3) -.L7F0556A8: -/* 08A1D8 7F0556A8 52000037 */ beql $s0, $zero, .L7F055788 -/* 08A1DC 7F0556AC C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08A1E0 7F0556B0 12130034 */ beq $s0, $s3, .L7F055784 -/* 08A1E4 7F0556B4 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 08A1E8 7F0556B8 4480A000 */ mtc1 $zero, $f20 -/* 08A1EC 7F0556BC C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 08A1F0 7F0556C0 4608A03E */ c.le.s $f20, $f8 -/* 08A1F4 7F0556C4 00000000 */ nop -/* 08A1F8 7F0556C8 45030005 */ bc1tl .L7F0556E0 -/* 08A1FC 7F0556CC 27A50040 */ addiu $a1, $sp, 0x40 -/* 08A200 7F0556D0 4614503C */ c.lt.s $f10, $f20 -/* 08A204 7F0556D4 00000000 */ nop -/* 08A208 7F0556D8 4500002A */ bc1f .L7F055784 -/* 08A20C 7F0556DC 27A50040 */ addiu $a1, $sp, 0x40 -.L7F0556E0: -/* 08A210 7F0556E0 27A6003C */ addiu $a2, $sp, 0x3c -/* 08A214 7F0556E4 02002025 */ move $a0, $s0 -/* 08A218 7F0556E8 0FC1548B */ jal sub_GAME_7F05522C -/* 08A21C 7F0556EC 02803825 */ move $a3, $s4 -/* 08A220 7F0556F0 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 08A224 7F0556F4 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 08A228 7F0556F8 4610A03C */ c.lt.s $f20, $f16 -/* 08A22C 7F0556FC 00000000 */ nop -/* 08A230 7F055700 45020007 */ bc1fl .L7F055720 -/* 08A234 7F055704 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 08A238 7F055708 4610003C */ c.lt.s $f0, $f16 -/* 08A23C 7F05570C 00000000 */ nop -/* 08A240 7F055710 45020003 */ bc1fl .L7F055720 -/* 08A244 7F055714 C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 08A248 7F055718 E7A00050 */ swc1 $f0, 0x50($sp) -/* 08A24C 7F05571C C7B2004C */ lwc1 $f18, 0x4c($sp) -.L7F055720: -/* 08A250 7F055720 C7A0003C */ lwc1 $f0, 0x3c($sp) -/* 08A254 7F055724 4614903C */ c.lt.s $f18, $f20 -/* 08A258 7F055728 00000000 */ nop -/* 08A25C 7F05572C 45020007 */ bc1fl .L7F05574C -/* 08A260 7F055730 8E1000C8 */ lw $s0, 0xc8($s0) -/* 08A264 7F055734 4600903C */ c.lt.s $f18, $f0 -/* 08A268 7F055738 00000000 */ nop -/* 08A26C 7F05573C 45020003 */ bc1fl .L7F05574C -/* 08A270 7F055740 8E1000C8 */ lw $s0, 0xc8($s0) -/* 08A274 7F055744 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 08A278 7F055748 8E1000C8 */ lw $s0, 0xc8($s0) -.L7F05574C: -/* 08A27C 7F05574C C7A40050 */ lwc1 $f4, 0x50($sp) -/* 08A280 7F055750 5200000D */ beql $s0, $zero, .L7F055788 -/* 08A284 7F055754 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08A288 7F055758 5213000B */ beql $s0, $s3, .L7F055788 -/* 08A28C 7F05575C C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 08A290 7F055760 4604A03E */ c.le.s $f20, $f4 -/* 08A294 7F055764 00000000 */ nop -/* 08A298 7F055768 4503FFDD */ bc1tl .L7F0556E0 -/* 08A29C 7F05576C 27A50040 */ addiu $a1, $sp, 0x40 -/* 08A2A0 7F055770 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 08A2A4 7F055774 4614303C */ c.lt.s $f6, $f20 -/* 08A2A8 7F055778 00000000 */ nop -/* 08A2AC 7F05577C 4503FFD8 */ bc1tl .L7F0556E0 -/* 08A2B0 7F055780 27A50040 */ addiu $a1, $sp, 0x40 -.L7F055784: -/* 08A2B4 7F055784 C7A8004C */ lwc1 $f8, 0x4c($sp) -.L7F055788: -/* 08A2B8 7F055788 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 08A2BC 7F05578C 3C018005 */ lui $at, %hi(D_80053488) -/* 08A2C0 7F055790 C4323488 */ lwc1 $f18, %lo(D_80053488)($at) -/* 08A2C4 7F055794 460A4401 */ sub.s $f16, $f8, $f10 -/* 08A2C8 7F055798 4480A000 */ mtc1 $zero, $f20 -/* 08A2CC 7F05579C 4612803C */ c.lt.s $f16, $f18 -/* 08A2D0 7F0557A0 00000000 */ nop -/* 08A2D4 7F0557A4 4502000E */ bc1fl .L7F0557E0 -/* 08A2D8 7F0557A8 8FBF0034 */ lw $ra, 0x34($sp) -/* 08A2DC 7F0557AC 4614503C */ c.lt.s $f10, $f20 -/* 08A2E0 7F0557B0 00000000 */ nop -/* 08A2E4 7F0557B4 4502000A */ bc1fl .L7F0557E0 -/* 08A2E8 7F0557B8 8FBF0034 */ lw $ra, 0x34($sp) -/* 08A2EC 7F0557BC 4608A03C */ c.lt.s $f20, $f8 -/* 08A2F0 7F0557C0 00000000 */ nop -/* 08A2F4 7F0557C4 45020006 */ bc1fl .L7F0557E0 -/* 08A2F8 7F0557C8 8FBF0034 */ lw $ra, 0x34($sp) -/* 08A2FC 7F0557CC 8E790010 */ lw $t9, 0x10($s3) -/* 08A300 7F0557D0 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) -/* 08A304 7F0557D4 AFA00054 */ sw $zero, 0x54($sp) -/* 08A308 7F0557D8 AC391DF8 */ sw $t9, %lo(dword_CODE_bss_80071DF8)($at) -.L7F0557DC: -/* 08A30C 7F0557DC 8FBF0034 */ lw $ra, 0x34($sp) -.L7F0557E0: -/* 08A310 7F0557E0 8FA20054 */ lw $v0, 0x54($sp) -/* 08A314 7F0557E4 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 08A318 7F0557E8 8FB00020 */ lw $s0, 0x20($sp) -/* 08A31C 7F0557EC 8FB10024 */ lw $s1, 0x24($sp) -/* 08A320 7F0557F0 8FB20028 */ lw $s2, 0x28($sp) -/* 08A324 7F0557F4 8FB3002C */ lw $s3, 0x2c($sp) -/* 08A328 7F0557F8 8FB40030 */ lw $s4, 0x30($sp) -/* 08A32C 7F0557FC 03E00008 */ jr $ra -/* 08A330 7F055800 27BD0058 */ addiu $sp, $sp, 0x58 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055804(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F055804 -/* 08A334 7F055804 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 08A338 7F055808 240E0001 */ li $t6, 1 -/* 08A33C 7F05580C AFBF001C */ sw $ra, 0x1c($sp) -/* 08A340 7F055810 AFB00018 */ sw $s0, 0x18($sp) -/* 08A344 7F055814 AFAE0084 */ sw $t6, 0x84($sp) -/* 08A348 7F055818 8C900004 */ lw $s0, 4($a0) -/* 08A34C 7F05581C 8E0F0008 */ lw $t7, 8($s0) -/* 08A350 7F055820 000FC180 */ sll $t8, $t7, 6 -/* 08A354 7F055824 07020059 */ bltzl $t8, .L7F05598C -/* 08A358 7F055828 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A35C 7F05582C 44802000 */ mtc1 $zero, $f4 -/* 08A360 7F055830 C6060084 */ lwc1 $f6, 0x84($s0) -/* 08A364 7F055834 4606203C */ c.lt.s $f4, $f6 -/* 08A368 7F055838 00000000 */ nop -/* 08A36C 7F05583C 45020053 */ bc1fl .L7F05598C -/* 08A370 7F055840 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A374 7F055844 90990001 */ lbu $t9, 1($a0) -/* 08A378 7F055848 33280002 */ andi $t0, $t9, 2 -/* 08A37C 7F05584C 5100004F */ beql $t0, $zero, .L7F05598C -/* 08A380 7F055850 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A384 7F055854 AFA0007C */ sw $zero, 0x7c($sp) -/* 08A388 7F055858 0FC225E6 */ jal get_curplayer_positiondata -/* 08A38C 7F05585C AFA40088 */ sw $a0, 0x88($sp) -/* 08A390 7F055860 AFA20078 */ sw $v0, 0x78($sp) -/* 08A394 7F055864 C44A0008 */ lwc1 $f10, 8($v0) -/* 08A398 7F055868 C6080058 */ lwc1 $f8, 0x58($s0) -/* 08A39C 7F05586C C4460010 */ lwc1 $f6, 0x10($v0) -/* 08A3A0 7F055870 C6040060 */ lwc1 $f4, 0x60($s0) -/* 08A3A4 7F055874 460A4001 */ sub.s $f0, $f8, $f10 -/* 08A3A8 7F055878 C452000C */ lwc1 $f18, 0xc($v0) -/* 08A3AC 7F05587C C610005C */ lwc1 $f16, 0x5c($s0) -/* 08A3B0 7F055880 46062081 */ sub.s $f2, $f4, $f6 -/* 08A3B4 7F055884 46000202 */ mul.s $f8, $f0, $f0 -/* 08A3B8 7F055888 3C018005 */ lui $at, %hi(D_8005348C) -/* 08A3BC 7F05588C 46128301 */ sub.s $f12, $f16, $f18 -/* 08A3C0 7F055890 46021282 */ mul.s $f10, $f2, $f2 -/* 08A3C4 7F055894 C432348C */ lwc1 $f18, %lo(D_8005348C)($at) -/* 08A3C8 7F055898 8FA40088 */ lw $a0, 0x88($sp) -/* 08A3CC 7F05589C 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 08A3D0 7F0558A0 460A4400 */ add.s $f16, $f8, $f10 -/* 08A3D4 7F0558A4 4612803C */ c.lt.s $f16, $f18 -/* 08A3D8 7F0558A8 00000000 */ nop -/* 08A3DC 7F0558AC 4500000F */ bc1f .L7F0558EC -/* 08A3E0 7F0558B0 00000000 */ nop -/* 08A3E4 7F0558B4 44812000 */ mtc1 $at, $f4 -/* 08A3E8 7F0558B8 3C01C348 */ li $at, 0xC3480000 # -200.000000 -/* 08A3EC 7F0558BC 4604603C */ c.lt.s $f12, $f4 -/* 08A3F0 7F0558C0 00000000 */ nop -/* 08A3F4 7F0558C4 45000009 */ bc1f .L7F0558EC -/* 08A3F8 7F0558C8 00000000 */ nop -/* 08A3FC 7F0558CC 44813000 */ mtc1 $at, $f6 -/* 08A400 7F0558D0 24090001 */ li $t1, 1 -/* 08A404 7F0558D4 460C303C */ c.lt.s $f6, $f12 -/* 08A408 7F0558D8 00000000 */ nop -/* 08A40C 7F0558DC 45000003 */ bc1f .L7F0558EC -/* 08A410 7F0558E0 00000000 */ nop -/* 08A414 7F0558E4 10000018 */ b .L7F055948 -/* 08A418 7F0558E8 AFA9007C */ sw $t1, 0x7c($sp) -.L7F0558EC: -/* 08A41C 7F0558EC 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 08A420 7F0558F0 27A50048 */ addiu $a1, $sp, 0x48 -/* 08A424 7F0558F4 8FA40078 */ lw $a0, 0x78($sp) -/* 08A428 7F0558F8 0FC0F2E3 */ jal sub_GAME_7F03CB8C -/* 08A42C 7F0558FC 27A50028 */ addiu $a1, $sp, 0x28 -/* 08A430 7F055900 27A40048 */ addiu $a0, $sp, 0x48 -/* 08A434 7F055904 0FC0F6DC */ jal sub_GAME_7F03DB70 -/* 08A438 7F055908 27A50028 */ addiu $a1, $sp, 0x28 -/* 08A43C 7F05590C 1040000E */ beqz $v0, .L7F055948 -/* 08A440 7F055910 3C0C8007 */ lui $t4, %hi(ptr_2xxxpresets) -/* 08A444 7F055914 860A0006 */ lh $t2, 6($s0) -/* 08A448 7F055918 8D8C5D1C */ lw $t4, %lo(ptr_2xxxpresets)($t4) -/* 08A44C 7F05591C 8FA40078 */ lw $a0, 0x78($sp) -/* 08A450 7F055920 000A5900 */ sll $t3, $t2, 4 -/* 08A454 7F055924 016A5821 */ addu $t3, $t3, $t2 -/* 08A458 7F055928 000B5880 */ sll $t3, $t3, 2 -/* 08A45C 7F05592C 3C054316 */ lui $a1, 0x4316 -/* 08A460 7F055930 016C3021 */ addu $a2, $t3, $t4 -/* 08A464 7F055934 0FC0FD66 */ jal sub_GAME_7F03F598 -/* 08A468 7F055938 24840008 */ addiu $a0, $a0, 8 -/* 08A46C 7F05593C 10400002 */ beqz $v0, .L7F055948 -/* 08A470 7F055940 240D0001 */ li $t5, 1 -/* 08A474 7F055944 AFAD007C */ sw $t5, 0x7c($sp) -.L7F055948: -/* 08A478 7F055948 8FAE007C */ lw $t6, 0x7c($sp) -/* 08A47C 7F05594C 02002025 */ move $a0, $s0 -/* 08A480 7F055950 51C0000E */ beql $t6, $zero, .L7F05598C -/* 08A484 7F055954 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A488 7F055958 0FC1557E */ jal sub_GAME_7F0555F8 -/* 08A48C 7F05595C 00002825 */ move $a1, $zero -/* 08A490 7F055960 10400009 */ beqz $v0, .L7F055988 -/* 08A494 7F055964 AFA20084 */ sw $v0, 0x84($sp) -/* 08A498 7F055968 8E0F000C */ lw $t7, 0xc($s0) -/* 08A49C 7F05596C 02002025 */ move $a0, $s0 -/* 08A4A0 7F055970 000FC000 */ sll $t8, $t7, 0 -/* 08A4A4 7F055974 07030005 */ bgezl $t8, .L7F05598C -/* 08A4A8 7F055978 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A4AC 7F05597C 0FC1557E */ jal sub_GAME_7F0555F8 -/* 08A4B0 7F055980 24050001 */ li $a1, 1 -/* 08A4B4 7F055984 AFA20084 */ sw $v0, 0x84($sp) -.L7F055988: -/* 08A4B8 7F055988 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05598C: -/* 08A4BC 7F05598C 8FA20084 */ lw $v0, 0x84($sp) -/* 08A4C0 7F055990 8FB00018 */ lw $s0, 0x18($sp) -/* 08A4C4 7F055994 03E00008 */ jr $ra -/* 08A4C8 7F055998 27BD0088 */ addiu $sp, $sp, 0x88 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F05599C(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F05599C -/* 08A4CC 7F05599C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08A4D0 7F0559A0 AFBF001C */ sw $ra, 0x1c($sp) -/* 08A4D4 7F0559A4 AFB00018 */ sw $s0, 0x18($sp) -/* 08A4D8 7F0559A8 AFA40020 */ sw $a0, 0x20($sp) -/* 08A4DC 7F0559AC 8C900004 */ lw $s0, 4($a0) -/* 08A4E0 7F0559B0 24010001 */ li $at, 1 -/* 08A4E4 7F0559B4 820200BC */ lb $v0, 0xbc($s0) -/* 08A4E8 7F0559B8 02002025 */ move $a0, $s0 -/* 08A4EC 7F0559BC 10410003 */ beq $v0, $at, .L7F0559CC -/* 08A4F0 7F0559C0 24010003 */ li $at, 3 -/* 08A4F4 7F0559C4 54410006 */ bnel $v0, $at, .L7F0559E0 -/* 08A4F8 7F0559C8 24010002 */ li $at, 2 -.L7F0559CC: -/* 08A4FC 7F0559CC 0FC15262 */ jal set_door_state -/* 08A500 7F0559D0 24050002 */ li $a1, 2 -/* 08A504 7F0559D4 10000019 */ b .L7F055A3C -/* 08A508 7F0559D8 8E0F0064 */ lw $t7, 0x64($s0) -/* 08A50C 7F0559DC 24010002 */ li $at, 2 -.L7F0559E0: -/* 08A510 7F0559E0 14410005 */ bne $v0, $at, .L7F0559F8 -/* 08A514 7F0559E4 02002025 */ move $a0, $s0 -/* 08A518 7F0559E8 0FC15262 */ jal set_door_state -/* 08A51C 7F0559EC 24050001 */ li $a1, 1 -/* 08A520 7F0559F0 10000012 */ b .L7F055A3C -/* 08A524 7F0559F4 8E0F0064 */ lw $t7, 0x64($s0) -.L7F0559F8: -/* 08A528 7F0559F8 1440000F */ bnez $v0, .L7F055A38 -/* 08A52C 7F0559FC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08A530 7F055A00 44812000 */ mtc1 $at, $f4 -/* 08A534 7F055A04 C60600B4 */ lwc1 $f6, 0xb4($s0) -/* 08A538 7F055A08 24050002 */ li $a1, 2 -/* 08A53C 7F055A0C 02002025 */ move $a0, $s0 -/* 08A540 7F055A10 4606203C */ c.lt.s $f4, $f6 -/* 08A544 7F055A14 00000000 */ nop -/* 08A548 7F055A18 45000005 */ bc1f .L7F055A30 -/* 08A54C 7F055A1C 00000000 */ nop -/* 08A550 7F055A20 0FC15262 */ jal set_door_state -/* 08A554 7F055A24 02002025 */ move $a0, $s0 -/* 08A558 7F055A28 10000004 */ b .L7F055A3C -/* 08A55C 7F055A2C 8E0F0064 */ lw $t7, 0x64($s0) -.L7F055A30: -/* 08A560 7F055A30 0FC15262 */ jal set_door_state -/* 08A564 7F055A34 24050001 */ li $a1, 1 -.L7F055A38: -/* 08A568 7F055A38 8E0F0064 */ lw $t7, 0x64($s0) -.L7F055A3C: -/* 08A56C 7F055A3C 8E19000C */ lw $t9, 0xc($s0) -/* 08A570 7F055A40 2401FFF7 */ li $at, -9 -/* 08A574 7F055A44 35F84000 */ ori $t8, $t7, 0x4000 -/* 08A578 7F055A48 03214024 */ and $t0, $t9, $at -/* 08A57C 7F055A4C AE180064 */ sw $t8, 0x64($s0) -/* 08A580 7F055A50 AE08000C */ sw $t0, 0xc($s0) -/* 08A584 7F055A54 0FC0F9A8 */ jal sub_GAME_7F03E6A0 -/* 08A588 7F055A58 8FA40020 */ lw $a0, 0x20($sp) -/* 08A58C 7F055A5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A590 7F055A60 8FB00018 */ lw $s0, 0x18($sp) -/* 08A594 7F055A64 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08A598 7F055A68 03E00008 */ jr $ra -/* 08A59C 7F055A6C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055A70(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F055A70 -/* 08A5A0 7F055A70 84AE0006 */ lh $t6, 6($a1) -/* 08A5A4 7F055A74 3C188007 */ lui $t8, %hi(ptr_2xxxpresets) -/* 08A5A8 7F055A78 8F185D1C */ lw $t8, %lo(ptr_2xxxpresets)($t8) -/* 08A5AC 7F055A7C 000E7900 */ sll $t7, $t6, 4 -/* 08A5B0 7F055A80 01EE7821 */ addu $t7, $t7, $t6 -/* 08A5B4 7F055A84 000F7880 */ sll $t7, $t7, 2 -/* 08A5B8 7F055A88 01F81021 */ addu $v0, $t7, $t8 -/* 08A5BC 7F055A8C C4440010 */ lwc1 $f4, 0x10($v0) -/* 08A5C0 7F055A90 C4460020 */ lwc1 $f6, 0x20($v0) -/* 08A5C4 7F055A94 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 08A5C8 7F055A98 C4520014 */ lwc1 $f18, 0x14($v0) -/* 08A5CC 7F055A9C 46062202 */ mul.s $f8, $f4, $f6 -/* 08A5D0 7F055AA0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08A5D4 7F055AA4 46125102 */ mul.s $f4, $f10, $f18 -/* 08A5D8 7F055AA8 46044181 */ sub.s $f6, $f8, $f4 -/* 08A5DC 7F055AAC E7A60004 */ swc1 $f6, 4($sp) -/* 08A5E0 7F055AB0 C4520018 */ lwc1 $f18, 0x18($v0) -/* 08A5E4 7F055AB4 C44A0014 */ lwc1 $f10, 0x14($v0) -/* 08A5E8 7F055AB8 C4440020 */ lwc1 $f4, 0x20($v0) -/* 08A5EC 7F055ABC 46125202 */ mul.s $f8, $f10, $f18 -/* 08A5F0 7F055AC0 C44A000C */ lwc1 $f10, 0xc($v0) -/* 08A5F4 7F055AC4 460A2482 */ mul.s $f18, $f4, $f10 -/* 08A5F8 7F055AC8 46124101 */ sub.s $f4, $f8, $f18 -/* 08A5FC 7F055ACC E7A40008 */ swc1 $f4, 8($sp) -/* 08A600 7F055AD0 C448001C */ lwc1 $f8, 0x1c($v0) -/* 08A604 7F055AD4 C44A000C */ lwc1 $f10, 0xc($v0) -/* 08A608 7F055AD8 46085482 */ mul.s $f18, $f10, $f8 -/* 08A60C 7F055ADC C4480010 */ lwc1 $f8, 0x10($v0) -/* 08A610 7F055AE0 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 08A614 7F055AE4 46085282 */ mul.s $f10, $f10, $f8 -/* 08A618 7F055AE8 460A9201 */ sub.s $f8, $f18, $f10 -/* 08A61C 7F055AEC E7A8000C */ swc1 $f8, 0xc($sp) -/* 08A620 7F055AF0 C44A0000 */ lwc1 $f10, ($v0) -/* 08A624 7F055AF4 C4920008 */ lwc1 $f18, 8($a0) -/* 08A628 7F055AF8 94B90098 */ lhu $t9, 0x98($a1) -/* 08A62C 7F055AFC 460A9001 */ sub.s $f0, $f18, $f10 -/* 08A630 7F055B00 C44A0004 */ lwc1 $f10, 4($v0) -/* 08A634 7F055B04 C492000C */ lwc1 $f18, 0xc($a0) -/* 08A638 7F055B08 33280008 */ andi $t0, $t9, 8 -/* 08A63C 7F055B0C 460A9081 */ sub.s $f2, $f18, $f10 -/* 08A640 7F055B10 C44A0008 */ lwc1 $f10, 8($v0) -/* 08A644 7F055B14 C4920010 */ lwc1 $f18, 0x10($a0) -/* 08A648 7F055B18 460A9301 */ sub.s $f12, $f18, $f10 -/* 08A64C 7F055B1C 46060482 */ mul.s $f18, $f0, $f6 -/* 08A650 7F055B20 44800000 */ mtc1 $zero, $f0 -/* 08A654 7F055B24 46041282 */ mul.s $f10, $f2, $f4 -/* 08A658 7F055B28 460A9180 */ add.s $f6, $f18, $f10 -/* 08A65C 7F055B2C 460C4102 */ mul.s $f4, $f8, $f12 -/* 08A660 7F055B30 46062400 */ add.s $f16, $f4, $f6 -/* 08A664 7F055B34 11000002 */ beqz $t0, .L7F055B40 -/* 08A668 7F055B38 46008386 */ mov.s $f14, $f16 -/* 08A66C 7F055B3C 46008387 */ neg.s $f14, $f16 -.L7F055B40: -/* 08A670 7F055B40 4600703C */ c.lt.s $f14, $f0 -/* 08A674 7F055B44 00000000 */ nop -/* 08A678 7F055B48 45020004 */ bc1fl .L7F055B5C -/* 08A67C 7F055B4C 460E003C */ c.lt.s $f0, $f14 -/* 08A680 7F055B50 10000007 */ b .L7F055B70 -/* 08A684 7F055B54 00001025 */ move $v0, $zero -/* 08A688 7F055B58 460E003C */ c.lt.s $f0, $f14 -.L7F055B5C: -/* 08A68C 7F055B5C 24020001 */ li $v0, 1 -/* 08A690 7F055B60 45000003 */ bc1f .L7F055B70 -/* 08A694 7F055B64 00000000 */ nop -/* 08A698 7F055B68 10000001 */ b .L7F055B70 -/* 08A69C 7F055B6C 24020001 */ li $v0, 1 -.L7F055B70: -/* 08A6A0 7F055B70 03E00008 */ jr $ra -/* 08A6A4 7F055B74 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055B78(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F055B78 -/* 08A6A8 7F055B78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08A6AC 7F055B7C AFBF0014 */ sw $ra, 0x14($sp) -/* 08A6B0 7F055B80 8CAE0008 */ lw $t6, 8($a1) -/* 08A6B4 7F055B84 000E7900 */ sll $t7, $t6, 4 -/* 08A6B8 7F055B88 05E3002A */ bgezl $t7, .L7F055C34 -/* 08A6BC 7F055B8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A6C0 7F055B90 80B800BC */ lb $t8, 0xbc($a1) -/* 08A6C4 7F055B94 57000027 */ bnezl $t8, .L7F055C34 -/* 08A6C8 7F055B98 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A6CC 7F055B9C 44802000 */ mtc1 $zero, $f4 -/* 08A6D0 7F055BA0 C4A600B4 */ lwc1 $f6, 0xb4($a1) -/* 08A6D4 7F055BA4 46062032 */ c.eq.s $f4, $f6 -/* 08A6D8 7F055BA8 00000000 */ nop -/* 08A6DC 7F055BAC 45020021 */ bc1fl .L7F055C34 -/* 08A6E0 7F055BB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A6E4 7F055BB4 0FC1569C */ jal sub_GAME_7F055A70 -/* 08A6E8 7F055BB8 AFA5001C */ sw $a1, 0x1c($sp) -/* 08A6EC 7F055BBC 8FA5001C */ lw $a1, 0x1c($sp) -/* 08A6F0 7F055BC0 00002025 */ move $a0, $zero -/* 08A6F4 7F055BC4 94B90098 */ lhu $t9, 0x98($a1) -/* 08A6F8 7F055BC8 33280008 */ andi $t0, $t9, 8 -/* 08A6FC 7F055BCC 15000006 */ bnez $t0, .L7F055BE8 -/* 08A700 7F055BD0 00000000 */ nop -/* 08A704 7F055BD4 14400002 */ bnez $v0, .L7F055BE0 -/* 08A708 7F055BD8 00000000 */ nop -/* 08A70C 7F055BDC 3C042000 */ lui $a0, 0x2000 -.L7F055BE0: -/* 08A710 7F055BE0 10000005 */ b .L7F055BF8 -/* 08A714 7F055BE4 8CA90008 */ lw $t1, 8($a1) -.L7F055BE8: -/* 08A718 7F055BE8 50400003 */ beql $v0, $zero, .L7F055BF8 -/* 08A71C 7F055BEC 8CA90008 */ lw $t1, 8($a1) -/* 08A720 7F055BF0 3C042000 */ lui $a0, 0x2000 -/* 08A724 7F055BF4 8CA90008 */ lw $t1, 8($a1) -.L7F055BF8: -/* 08A728 7F055BF8 3C032000 */ lui $v1, 0x2000 -/* 08A72C 7F055BFC 00A01025 */ move $v0, $a1 -/* 08A730 7F055C00 01245026 */ xor $t2, $t1, $a0 -/* 08A734 7F055C04 000A5880 */ sll $t3, $t2, 2 -/* 08A738 7F055C08 0563000A */ bgezl $t3, .L7F055C34 -/* 08A73C 7F055C0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A740 7F055C10 8C4C0008 */ lw $t4, 8($v0) -.L7F055C14: -/* 08A744 7F055C14 01836826 */ xor $t5, $t4, $v1 -/* 08A748 7F055C18 AC4D0008 */ sw $t5, 8($v0) -/* 08A74C 7F055C1C 8C4200C8 */ lw $v0, 0xc8($v0) -/* 08A750 7F055C20 50400004 */ beql $v0, $zero, .L7F055C34 -/* 08A754 7F055C24 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A758 7F055C28 5445FFFA */ bnel $v0, $a1, .L7F055C14 -/* 08A75C 7F055C2C 8C4C0008 */ lw $t4, 8($v0) -/* 08A760 7F055C30 8FBF0014 */ lw $ra, 0x14($sp) -.L7F055C34: -/* 08A764 7F055C34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08A768 7F055C38 03E00008 */ jr $ra -/* 08A76C 7F055C3C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055C40(void) { - -} -#else -#ifdef VERSION_US -GLOBAL_ASM( -.text -glabel sub_GAME_7F055C40 -/* 08A770 7F055C40 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08A774 7F055C44 AFBF001C */ sw $ra, 0x1c($sp) -/* 08A778 7F055C48 AFB00018 */ sw $s0, 0x18($sp) -/* 08A77C 7F055C4C AFA40030 */ sw $a0, 0x30($sp) -/* 08A780 7F055C50 8C900004 */ lw $s0, 4($a0) -/* 08A784 7F055C54 0FC225E6 */ jal get_curplayer_positiondata -/* 08A788 7F055C58 AFA00028 */ sw $zero, 0x28($sp) -/* 08A78C 7F055C5C AFA20024 */ sw $v0, 0x24($sp) -/* 08A790 7F055C60 8E04009C */ lw $a0, 0x9c($s0) -/* 08A794 7F055C64 8FA30028 */ lw $v1, 0x28($sp) -/* 08A798 7F055C68 14800003 */ bnez $a0, .L7F055C78 -/* 08A79C 7F055C6C 00000000 */ nop -/* 08A7A0 7F055C70 1000001C */ b .L7F055CE4 -/* 08A7A4 7F055C74 24030001 */ li $v1, 1 -.L7F055C78: -/* 08A7A8 7F055C78 0FC2339C */ jal sub_GAME_7F08CE70 -/* 08A7AC 7F055C7C AFA30028 */ sw $v1, 0x28($sp) -/* 08A7B0 7F055C80 10400003 */ beqz $v0, .L7F055C90 -/* 08A7B4 7F055C84 8FA30028 */ lw $v1, 0x28($sp) -/* 08A7B8 7F055C88 10000016 */ b .L7F055CE4 -/* 08A7BC 7F055C8C 24030001 */ li $v1, 1 -.L7F055C90: -/* 08A7C0 7F055C90 8FA40024 */ lw $a0, 0x24($sp) -/* 08A7C4 7F055C94 02002825 */ move $a1, $s0 -/* 08A7C8 7F055C98 0FC1569C */ jal sub_GAME_7F055A70 -/* 08A7CC 7F055C9C AFA30028 */ sw $v1, 0x28($sp) -/* 08A7D0 7F055CA0 10400009 */ beqz $v0, .L7F055CC8 -/* 08A7D4 7F055CA4 8FA30028 */ lw $v1, 0x28($sp) -/* 08A7D8 7F055CA8 8E02000C */ lw $v0, 0xc($s0) -/* 08A7DC 7F055CAC 000278C0 */ sll $t7, $v0, 3 -/* 08A7E0 7F055CB0 05E1000C */ bgez $t7, .L7F055CE4 -/* 08A7E4 7F055CB4 0002C100 */ sll $t8, $v0, 4 -/* 08A7E8 7F055CB8 0702000B */ bltzl $t8, .L7F055CE8 -/* 08A7EC 7F055CBC 02002025 */ move $a0, $s0 -/* 08A7F0 7F055CC0 10000008 */ b .L7F055CE4 -/* 08A7F4 7F055CC4 24030001 */ li $v1, 1 -.L7F055CC8: -/* 08A7F8 7F055CC8 8E02000C */ lw $v0, 0xc($s0) -/* 08A7FC 7F055CCC 0002C8C0 */ sll $t9, $v0, 3 -/* 08A800 7F055CD0 07200004 */ bltz $t9, .L7F055CE4 -/* 08A804 7F055CD4 00024100 */ sll $t0, $v0, 4 -/* 08A808 7F055CD8 05030003 */ bgezl $t0, .L7F055CE8 -/* 08A80C 7F055CDC 02002025 */ move $a0, $s0 -/* 08A810 7F055CE0 24030001 */ li $v1, 1 -.L7F055CE4: -/* 08A814 7F055CE4 02002025 */ move $a0, $s0 -.L7F055CE8: -/* 08A818 7F055CE8 0FC0F9C6 */ jal sub_GAME_7F03E718 -/* 08A81C 7F055CEC AFA30028 */ sw $v1, 0x28($sp) -/* 08A820 7F055CF0 14400002 */ bnez $v0, .L7F055CFC -/* 08A824 7F055CF4 8FA30028 */ lw $v1, 0x28($sp) -/* 08A828 7F055CF8 00001825 */ move $v1, $zero -.L7F055CFC: -/* 08A82C 7F055CFC 10600007 */ beqz $v1, .L7F055D1C -/* 08A830 7F055D00 8FA40024 */ lw $a0, 0x24($sp) -/* 08A834 7F055D04 0FC156DE */ jal sub_GAME_7F055B78 -/* 08A838 7F055D08 02002825 */ move $a1, $s0 -/* 08A83C 7F055D0C 0FC15667 */ jal sub_GAME_7F05599C -/* 08A840 7F055D10 8FA40030 */ lw $a0, 0x30($sp) -/* 08A844 7F055D14 10000028 */ b .L7F055DB8 -/* 08A848 7F055D18 8FBF001C */ lw $ra, 0x1c($sp) -.L7F055D1C: -/* 08A84C 7F055D1C 820900BC */ lb $t1, 0xbc($s0) -/* 08A850 7F055D20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08A854 7F055D24 55200024 */ bnezl $t1, .L7F055DB8 -/* 08A858 7F055D28 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A85C 7F055D2C C60400B4 */ lwc1 $f4, 0xb4($s0) -/* 08A860 7F055D30 44813000 */ mtc1 $at, $f6 -/* 08A864 7F055D34 00000000 */ nop -/* 08A868 7F055D38 4606203C */ c.lt.s $f4, $f6 -/* 08A86C 7F055D3C 00000000 */ nop -/* 08A870 7F055D40 4502001D */ bc1fl .L7F055DB8 -/* 08A874 7F055D44 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A878 7F055D48 8E02000C */ lw $v0, 0xc($s0) -/* 08A87C 7F055D4C 304A0004 */ andi $t2, $v0, 4 -/* 08A880 7F055D50 55400014 */ bnezl $t2, .L7F055DA4 -/* 08A884 7F055D54 8E0C0064 */ lw $t4, 0x64($s0) -/* 08A888 7F055D58 0FC23487 */ jal sub_GAME_7F08D21C -/* 08A88C 7F055D5C 02002025 */ move $a0, $s0 -/* 08A890 7F055D60 1040000A */ beqz $v0, .L7F055D8C -/* 08A894 7F055D64 00000000 */ nop -/* 08A898 7F055D68 8C4B001C */ lw $t3, 0x1c($v0) -/* 08A89C 7F055D6C 11600007 */ beqz $t3, .L7F055D8C -/* 08A8A0 7F055D70 00000000 */ nop -/* 08A8A4 7F055D74 0FC30776 */ jal get_textptr_for_textID -/* 08A8A8 7F055D78 8C44001C */ lw $a0, 0x1c($v0) -/* 08A8AC 7F055D7C 0FC228F2 */ jal display_string_in_lower_left_corner -/* 08A8B0 7F055D80 00402025 */ move $a0, $v0 -/* 08A8B4 7F055D84 10000006 */ b .L7F055DA0 -/* 08A8B8 7F055D88 8E02000C */ lw $v0, 0xc($s0) -.L7F055D8C: -/* 08A8BC 7F055D8C 0FC30776 */ jal get_textptr_for_textID -/* 08A8C0 7F055D90 3404A440 */ li $a0, 42048 -/* 08A8C4 7F055D94 0FC228F2 */ jal display_string_in_lower_left_corner -/* 08A8C8 7F055D98 00402025 */ move $a0, $v0 -/* 08A8CC 7F055D9C 8E02000C */ lw $v0, 0xc($s0) -.L7F055DA0: -/* 08A8D0 7F055DA0 8E0C0064 */ lw $t4, 0x64($s0) -.L7F055DA4: -/* 08A8D4 7F055DA4 344E0008 */ ori $t6, $v0, 8 -/* 08A8D8 7F055DA8 AE0E000C */ sw $t6, 0xc($s0) -/* 08A8DC 7F055DAC 358D4000 */ ori $t5, $t4, 0x4000 -/* 08A8E0 7F055DB0 AE0D0064 */ sw $t5, 0x64($s0) -/* 08A8E4 7F055DB4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F055DB8: -/* 08A8E8 7F055DB8 8FB00018 */ lw $s0, 0x18($sp) -/* 08A8EC 7F055DBC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08A8F0 7F055DC0 03E00008 */ jr $ra -/* 08A8F4 7F055DC4 00001025 */ move $v0, $zero -) -#endif -#ifdef VERSION_JP -GLOBAL_ASM( -.text -glabel sub_GAME_7F055C40 -/* 08A770 7F055C40 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08A774 7F055C44 AFBF001C */ sw $ra, 0x1c($sp) -/* 08A778 7F055C48 AFB00018 */ sw $s0, 0x18($sp) -/* 08A77C 7F055C4C AFA40030 */ sw $a0, 0x30($sp) -/* 08A780 7F055C50 8C900004 */ lw $s0, 4($a0) -/* 08A784 7F055C54 0FC225E6 */ jal get_curplayer_positiondata -/* 08A788 7F055C58 AFA00028 */ sw $zero, 0x28($sp) -/* 08A78C 7F055C5C AFA20024 */ sw $v0, 0x24($sp) -/* 08A790 7F055C60 8E04009C */ lw $a0, 0x9c($s0) -/* 08A794 7F055C64 8FA30028 */ lw $v1, 0x28($sp) -/* 08A798 7F055C68 14800003 */ bnez $a0, .L7F055C78 -/* 08A79C 7F055C6C 00000000 */ nop -/* 08A7A0 7F055C70 1000001C */ b .L7F055CE4 -/* 08A7A4 7F055C74 24030001 */ li $v1, 1 -.L7F055C78: -/* 08A7A8 7F055C78 0FC2339C */ jal sub_GAME_7F08CE70 -/* 08A7AC 7F055C7C AFA30028 */ sw $v1, 0x28($sp) -/* 08A7B0 7F055C80 10400003 */ beqz $v0, .L7F055C90 -/* 08A7B4 7F055C84 8FA30028 */ lw $v1, 0x28($sp) -/* 08A7B8 7F055C88 10000016 */ b .L7F055CE4 -/* 08A7BC 7F055C8C 24030001 */ li $v1, 1 -.L7F055C90: -/* 08A7C0 7F055C90 8FA40024 */ lw $a0, 0x24($sp) -/* 08A7C4 7F055C94 02002825 */ move $a1, $s0 -/* 08A7C8 7F055C98 0FC1569C */ jal sub_GAME_7F055A70 -/* 08A7CC 7F055C9C AFA30028 */ sw $v1, 0x28($sp) -/* 08A7D0 7F055CA0 10400009 */ beqz $v0, .L7F055CC8 -/* 08A7D4 7F055CA4 8FA30028 */ lw $v1, 0x28($sp) -/* 08A7D8 7F055CA8 8E02000C */ lw $v0, 0xc($s0) -/* 08A7DC 7F055CAC 000278C0 */ sll $t7, $v0, 3 -/* 08A7E0 7F055CB0 05E1000C */ bgez $t7, .L7F055CE4 -/* 08A7E4 7F055CB4 0002C100 */ sll $t8, $v0, 4 -/* 08A7E8 7F055CB8 0702000B */ bltzl $t8, .L7F055CE8 -/* 08A7EC 7F055CBC 02002025 */ move $a0, $s0 -/* 08A7F0 7F055CC0 10000008 */ b .L7F055CE4 -/* 08A7F4 7F055CC4 24030001 */ li $v1, 1 -.L7F055CC8: -/* 08A7F8 7F055CC8 8E02000C */ lw $v0, 0xc($s0) -/* 08A7FC 7F055CCC 0002C8C0 */ sll $t9, $v0, 3 -/* 08A800 7F055CD0 07200004 */ bltz $t9, .L7F055CE4 -/* 08A804 7F055CD4 00024100 */ sll $t0, $v0, 4 -/* 08A808 7F055CD8 05030003 */ bgezl $t0, .L7F055CE8 -/* 08A80C 7F055CDC 02002025 */ move $a0, $s0 -/* 08A810 7F055CE0 24030001 */ li $v1, 1 -.L7F055CE4: -/* 08A814 7F055CE4 02002025 */ move $a0, $s0 -.L7F055CE8: -/* 08A818 7F055CE8 0FC0F9C6 */ jal sub_GAME_7F03E718 -/* 08A81C 7F055CEC AFA30028 */ sw $v1, 0x28($sp) -/* 08A820 7F055CF0 14400002 */ bnez $v0, .L7F055CFC -/* 08A824 7F055CF4 8FA30028 */ lw $v1, 0x28($sp) -/* 08A828 7F055CF8 00001825 */ move $v1, $zero -.L7F055CFC: -/* 08A82C 7F055CFC 10600007 */ beqz $v1, .L7F055D1C -/* 08A830 7F055D00 8FA40024 */ lw $a0, 0x24($sp) -/* 08A834 7F055D04 0FC156DE */ jal sub_GAME_7F055B78 -/* 08A838 7F055D08 02002825 */ move $a1, $s0 -/* 08A83C 7F055D0C 0FC15667 */ jal sub_GAME_7F05599C -/* 08A840 7F055D10 8FA40030 */ lw $a0, 0x30($sp) -/* 08A844 7F055D14 10000028 */ b .L7F055DB8 -/* 08A848 7F055D18 8FBF001C */ lw $ra, 0x1c($sp) -.L7F055D1C: -/* 08A84C 7F055D1C 820900BC */ lb $t1, 0xbc($s0) -/* 08A850 7F055D20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 08A854 7F055D24 55200024 */ bnezl $t1, .L7F055DB8 -/* 08A858 7F055D28 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A85C 7F055D2C C60400B4 */ lwc1 $f4, 0xb4($s0) -/* 08A860 7F055D30 44813000 */ mtc1 $at, $f6 -/* 08A864 7F055D34 00000000 */ nop -/* 08A868 7F055D38 4606203C */ c.lt.s $f4, $f6 -/* 08A86C 7F055D3C 00000000 */ nop -/* 08A870 7F055D40 4502001D */ bc1fl .L7F055DB8 -/* 08A874 7F055D44 8FBF001C */ lw $ra, 0x1c($sp) -/* 08A878 7F055D48 8E02000C */ lw $v0, 0xc($s0) -/* 08A87C 7F055D4C 304A0004 */ andi $t2, $v0, 4 -/* 08A880 7F055D50 55400014 */ bnezl $t2, .L7F055DA4 -/* 08A884 7F055D54 8E0C0064 */ lw $t4, 0x64($s0) -/* 08A888 7F055D58 0FC23487 */ jal sub_GAME_7F08D21C -/* 08A88C 7F055D5C 02002025 */ move $a0, $s0 -/* 08A890 7F055D60 1040000A */ beqz $v0, .L7F055D8C -/* 08A894 7F055D64 00000000 */ nop -/* 08A898 7F055D68 8C4B001C */ lw $t3, 0x1c($v0) -/* 08A89C 7F055D6C 11600007 */ beqz $t3, .L7F055D8C -/* 08A8A0 7F055D70 00000000 */ nop -/* 08A8A4 7F055D74 0FC30776 */ jal get_textptr_for_textID -/* 08A8A8 7F055D78 8C44001C */ lw $a0, 0x1c($v0) -/* 08A8AC 7F055D7C 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 08A8B0 7F055D80 00402025 */ move $a0, $v0 -/* 08A8B4 7F055D84 10000006 */ b .L7F055DA0 -/* 08A8B8 7F055D88 8E02000C */ lw $v0, 0xc($s0) -.L7F055D8C: -/* 08A8BC 7F055D8C 0FC30776 */ jal get_textptr_for_textID -/* 08A8C0 7F055D90 3404A440 */ li $a0, 42048 -/* 08A8C4 7F055D94 0FC228F2 */ jal jp_FUN_7f08ac40 -/* 08A8C8 7F055D98 00402025 */ move $a0, $v0 -/* 08A8CC 7F055D9C 8E02000C */ lw $v0, 0xc($s0) -.L7F055DA0: -/* 08A8D0 7F055DA0 8E0C0064 */ lw $t4, 0x64($s0) -.L7F055DA4: -/* 08A8D4 7F055DA4 344E0008 */ ori $t6, $v0, 8 -/* 08A8D8 7F055DA8 AE0E000C */ sw $t6, 0xc($s0) -/* 08A8DC 7F055DAC 358D4000 */ ori $t5, $t4, 0x4000 -/* 08A8E0 7F055DB0 AE0D0064 */ sw $t5, 0x64($s0) -/* 08A8E4 7F055DB4 8FBF001C */ lw $ra, 0x1c($sp) -.L7F055DB8: -/* 08A8E8 7F055DB8 8FB00018 */ lw $s0, 0x18($sp) -/* 08A8EC 7F055DBC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08A8F0 7F055DC0 03E00008 */ jr $ra -/* 08A8F4 7F055DC4 00001025 */ move $v0, $zero -) -#endif -#endif - - - - -#ifdef NONMATCHING -void start_alarm(void) { - -} -#else -GLOBAL_ASM( -.text -glabel start_alarm -/* 08A8F8 7F055DC8 3C028003 */ lui $v0, %hi(alarm_timer) -/* 08A8FC 7F055DCC 24420AC0 */ addiu $v0, %lo(alarm_timer) # addiu $v0, $v0, 0xac0 -/* 08A900 7F055DD0 8C4E0000 */ lw $t6, ($v0) -/* 08A904 7F055DD4 240F0001 */ li $t7, 1 -/* 08A908 7F055DD8 1DC00002 */ bgtz $t6, .L7F055DE4 -/* 08A90C 7F055DDC 00000000 */ nop -/* 08A910 7F055DE0 AC4F0000 */ sw $t7, ($v0) -.L7F055DE4: -/* 08A914 7F055DE4 03E00008 */ jr $ra -/* 08A918 7F055DE8 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void deactivate_alarm_sound_effect(void) { - -} -#else -GLOBAL_ASM( -.text -glabel deactivate_alarm_sound_effect -/* 08A91C 7F055DEC 3C048003 */ lui $a0, %hi(ptr_alarm_sfx) -/* 08A920 7F055DF0 8C840AC4 */ lw $a0, %lo(ptr_alarm_sfx)($a0) -/* 08A924 7F055DF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08A928 7F055DF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08A92C 7F055DFC 50800008 */ beql $a0, $zero, .L7F055E20 -/* 08A930 7F055E00 8FBF0014 */ lw $ra, 0x14($sp) -/* 08A934 7F055E04 0C00237C */ jal sfxGetArg0Unk3F -/* 08A938 7F055E08 00000000 */ nop -/* 08A93C 7F055E0C 10400003 */ beqz $v0, .L7F055E1C -/* 08A940 7F055E10 3C048003 */ lui $a0, %hi(ptr_alarm_sfx) -/* 08A944 7F055E14 0C002408 */ jal sfxDeactivate -/* 08A948 7F055E18 8C840AC4 */ lw $a0, %lo(ptr_alarm_sfx)($a0) -.L7F055E1C: -/* 08A94C 7F055E1C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F055E20: -/* 08A950 7F055E20 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08A954 7F055E24 03E00008 */ jr $ra -/* 08A958 7F055E28 00000000 */ nop -) -#endif - - - - - - -void stop_alarm(void) -{ - alarm_timer = 0; - deactivate_alarm_sound_effect(); - return; -} - - - - - - -#ifdef NONMATCHING -s32 is_alarm_on(void) -{ - return (0 < alarm_timer); -} -#else -GLOBAL_ASM( -.text -glabel is_alarm_on -/* 08A980 7F055E50 3C028003 */ lui $v0, %hi(alarm_timer) -/* 08A984 7F055E54 8C420AC0 */ lw $v0, %lo(alarm_timer)($v0) -/* 08A988 7F055E58 0002702A */ slt $t6, $zero, $v0 -/* 08A98C 7F055E5C 03E00008 */ jr $ra -/* 08A990 7F055E60 01C01025 */ move $v0, $t6 -) -#endif - - - - - -#ifdef NONMATCHING -void init_trigger_toxic_gas_effect(void) { - -} -#else -GLOBAL_ASM( -.text -glabel init_trigger_toxic_gas_effect -/* 08A994 7F055E64 44802000 */ mtc1 $zero, $f4 -/* 08A998 7F055E68 240E0001 */ li $t6, 1 -/* 08A99C 7F055E6C 3C018003 */ lui $at, %hi(activate_gas_sound_timer) -/* 08A9A0 7F055E70 AC2E0ACC */ sw $t6, %lo(activate_gas_sound_timer)($at) -/* 08A9A4 7F055E74 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08A9A8 7F055E78 3C018003 */ lui $at, %hi(D_80030AE0) -/* 08A9AC 7F055E7C AFBF0014 */ sw $ra, 0x14($sp) -/* 08A9B0 7F055E80 E4240AE0 */ swc1 $f4, %lo(D_80030AE0)($at) -/* 08A9B4 7F055E84 C4860000 */ lwc1 $f6, ($a0) -/* 08A9B8 7F055E88 3C028003 */ lui $v0, %hi(D_80030AD0) -/* 08A9BC 7F055E8C 24420AD0 */ addiu $v0, %lo(D_80030AD0) # addiu $v0, $v0, 0xad0 -/* 08A9C0 7F055E90 E4460000 */ swc1 $f6, ($v0) -/* 08A9C4 7F055E94 C4880004 */ lwc1 $f8, 4($a0) -/* 08A9C8 7F055E98 E4480004 */ swc1 $f8, 4($v0) -/* 08A9CC 7F055E9C C48A0008 */ lwc1 $f10, 8($a0) -/* 08A9D0 7F055EA0 0C001A57 */ jal get_stage_num -/* 08A9D4 7F055EA4 E44A0008 */ swc1 $f10, 8($v0) -/* 08A9D8 7F055EA8 24010020 */ li $at, 32 -/* 08A9DC 7F055EAC 14410007 */ bne $v0, $at, .L7F055ECC -/* 08A9E0 7F055EB0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 08A9E4 7F055EB4 44818000 */ mtc1 $at, $f16 -/* 08A9E8 7F055EB8 3C018007 */ lui $at, %hi(gas_damage_flag) -/* 08A9EC 7F055EBC E4301E78 */ swc1 $f16, %lo(gas_damage_flag)($at) -/* 08A9F0 7F055EC0 3C018007 */ lui $at, %hi(gas_cutoff_flag) -/* 08A9F4 7F055EC4 10000008 */ b .L7F055EE8 -/* 08A9F8 7F055EC8 AC201E7C */ sw $zero, %lo(gas_cutoff_flag)($at) -.L7F055ECC: -/* 08A9FC 7F055ECC 3C014561 */ li $at, 0x45610000 # 3600.000000 -/* 08AA00 7F055ED0 44819000 */ mtc1 $at, $f18 -/* 08AA04 7F055ED4 3C018007 */ lui $at, %hi(gas_damage_flag) -/* 08AA08 7F055ED8 240F0001 */ li $t7, 1 -/* 08AA0C 7F055EDC E4321E78 */ swc1 $f18, %lo(gas_damage_flag)($at) -/* 08AA10 7F055EE0 3C018007 */ lui $at, %hi(gas_cutoff_flag) -/* 08AA14 7F055EE4 AC2F1E7C */ sw $t7, %lo(gas_cutoff_flag)($at) -.L7F055EE8: -/* 08AA18 7F055EE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08AA1C 7F055EEC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08AA20 7F055EF0 03E00008 */ jr $ra -/* 08AA24 7F055EF4 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055EF8(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F055EF8 -/* 08AA28 7F055EF8 3C048003 */ lui $a0, %hi(D_80030AE4) -/* 08AA2C 7F055EFC 8C840AE4 */ lw $a0, %lo(D_80030AE4)($a0) -/* 08AA30 7F055F00 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08AA34 7F055F04 AFBF0014 */ sw $ra, 0x14($sp) -/* 08AA38 7F055F08 50800008 */ beql $a0, $zero, .L7F055F2C -/* 08AA3C 7F055F0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08AA40 7F055F10 0C00237C */ jal sfxGetArg0Unk3F -/* 08AA44 7F055F14 00000000 */ nop -/* 08AA48 7F055F18 10400003 */ beqz $v0, .L7F055F28 -/* 08AA4C 7F055F1C 3C048003 */ lui $a0, %hi(D_80030AE4) -/* 08AA50 7F055F20 0C002408 */ jal sfxDeactivate -/* 08AA54 7F055F24 8C840AE4 */ lw $a0, %lo(D_80030AE4)($a0) -.L7F055F28: -/* 08AA58 7F055F28 8FBF0014 */ lw $ra, 0x14($sp) -.L7F055F2C: -/* 08AA5C 7F055F2C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08AA60 7F055F30 03E00008 */ jr $ra -/* 08AA64 7F055F34 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void check_if_toxic_gas_activated(void) { - -} -#else -GLOBAL_ASM( -.text -glabel check_if_toxic_gas_activated -/* 08AA68 7F055F38 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) -/* 08AA6C 7F055F3C C4260AC8 */ lwc1 $f6, %lo(toxic_gas_sound_timer)($at) -/* 08AA70 7F055F40 44802000 */ mtc1 $zero, $f4 -/* 08AA74 7F055F44 00001025 */ move $v0, $zero -/* 08AA78 7F055F48 4606203C */ c.lt.s $f4, $f6 -/* 08AA7C 7F055F4C 00000000 */ nop -/* 08AA80 7F055F50 45000002 */ bc1f .L7F055F5C -/* 08AA84 7F055F54 00000000 */ nop -/* 08AA88 7F055F58 24020001 */ li $v0, 1 -.L7F055F5C: -/* 08AA8C 7F055F5C 03E00008 */ jr $ra -/* 08AA90 7F055F60 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F055F64(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F055F64 -/* 08AA94 7F055F64 3C028003 */ lui $v0, %hi(activate_gas_sound_timer) -/* 08AA98 7F055F68 24420ACC */ addiu $v0, %lo(activate_gas_sound_timer) # addiu $v0, $v0, 0xacc -/* 08AA9C 7F055F6C 8C4E0000 */ lw $t6, ($v0) -/* 08AAA0 7F055F70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08AAA4 7F055F74 44808000 */ mtc1 $zero, $f16 -/* 08AAA8 7F055F78 11C00011 */ beqz $t6, .L7F055FC0 -/* 08AAAC 7F055F7C AFBF001C */ sw $ra, 0x1c($sp) -/* 08AAB0 7F055F80 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) -/* 08AAB4 7F055F84 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 -/* 08AAB8 7F055F88 3C018005 */ lui $at, %hi(global_timer_delta) -/* 08AABC 7F055F8C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 08AAC0 7F055F90 C4640000 */ lwc1 $f4, ($v1) -/* 08AAC4 7F055F94 3C018007 */ lui $at, %hi(gas_damage_flag) -/* 08AAC8 7F055F98 46062200 */ add.s $f8, $f4, $f6 -/* 08AACC 7F055F9C E4680000 */ swc1 $f8, ($v1) -/* 08AAD0 7F055FA0 C46A0000 */ lwc1 $f10, ($v1) -/* 08AAD4 7F055FA4 C4201E78 */ lwc1 $f0, %lo(gas_damage_flag)($at) -/* 08AAD8 7F055FA8 460A003E */ c.le.s $f0, $f10 -/* 08AADC 7F055FAC 00000000 */ nop -/* 08AAE0 7F055FB0 45000003 */ bc1f .L7F055FC0 -/* 08AAE4 7F055FB4 00000000 */ nop -/* 08AAE8 7F055FB8 E4600000 */ swc1 $f0, ($v1) -/* 08AAEC 7F055FBC AC400000 */ sw $zero, ($v0) -.L7F055FC0: -/* 08AAF0 7F055FC0 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) -/* 08AAF4 7F055FC4 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 -/* 08AAF8 7F055FC8 C4600000 */ lwc1 $f0, ($v1) -/* 08AAFC 7F055FCC 3C0F8003 */ lui $t7, %hi(disable_player_pickups_flag) -/* 08AB00 7F055FD0 4600803C */ c.lt.s $f16, $f0 -/* 08AB04 7F055FD4 00000000 */ nop -/* 08AB08 7F055FD8 4502005E */ bc1fl .L7F056154 -/* 08AB0C 7F055FDC 8FBF001C */ lw $ra, 0x1c($sp) -/* 08AB10 7F055FE0 8DEF64B4 */ lw $t7, %lo(disable_player_pickups_flag)($t7) -/* 08AB14 7F055FE4 3C018007 */ lui $at, %hi(gas_damage_flag) -/* 08AB18 7F055FE8 55E0005A */ bnezl $t7, .L7F056154 -/* 08AB1C 7F055FEC 8FBF001C */ lw $ra, 0x1c($sp) -/* 08AB20 7F055FF0 C4321E78 */ lwc1 $f18, %lo(gas_damage_flag)($at) -/* 08AB24 7F055FF4 0FC2EB2A */ jal switch_to_solosky2 -/* 08AB28 7F055FF8 46120303 */ div.s $f12, $f0, $f18 -/* 08AB2C 7F055FFC 3C188007 */ lui $t8, %hi(gas_cutoff_flag) -/* 08AB30 7F056000 8F181E7C */ lw $t8, %lo(gas_cutoff_flag)($t8) -/* 08AB34 7F056004 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) -/* 08AB38 7F056008 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 -/* 08AB3C 7F05600C 13000050 */ beqz $t8, .L7F056150 -/* 08AB40 7F056010 3C048003 */ lui $a0, %hi(D_80030ADC) -/* 08AB44 7F056014 3C028005 */ lui $v0, %hi(global_timer) -/* 08AB48 7F056018 8C42837C */ lw $v0, %lo(global_timer)($v0) -/* 08AB4C 7F05601C 24840ADC */ addiu $a0, %lo(D_80030ADC) # addiu $a0, $a0, 0xadc -/* 08AB50 7F056020 8C990000 */ lw $t9, ($a0) -/* 08AB54 7F056024 2448FF1F */ addiu $t0, $v0, -0xe1 -/* 08AB58 7F056028 0328082A */ slt $at, $t9, $t0 -/* 08AB5C 7F05602C 1020001B */ beqz $at, .L7F05609C -/* 08AB60 7F056030 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 08AB64 7F056034 44812000 */ mtc1 $at, $f4 -/* 08AB68 7F056038 C4600000 */ lwc1 $f0, ($v1) -/* 08AB6C 7F05603C AC820000 */ sw $v0, ($a0) -/* 08AB70 7F056040 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08AB74 7F056044 4600203E */ c.le.s $f4, $f0 -/* 08AB78 7F056048 24050062 */ li $a1, 98 -/* 08AB7C 7F05604C 00003025 */ move $a2, $zero -/* 08AB80 7F056050 45020006 */ bc1fl .L7F05606C -/* 08AB84 7F056054 3C0144E1 */ lui $at, 0x44e1 -/* 08AB88 7F056058 0C002382 */ jal play_sfx_a1 -/* 08AB8C 7F05605C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08AB90 7F056060 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) -/* 08AB94 7F056064 C4200AC8 */ lwc1 $f0, %lo(toxic_gas_sound_timer)($at) -/* 08AB98 7F056068 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 -.L7F05606C: -/* 08AB9C 7F05606C 44813000 */ mtc1 $at, $f6 -/* 08ABA0 7F056070 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 08ABA4 7F056074 4600303E */ c.le.s $f6, $f0 -/* 08ABA8 7F056078 00000000 */ nop -/* 08ABAC 7F05607C 45000007 */ bc1f .L7F05609C -/* 08ABB0 7F056080 00000000 */ nop -/* 08ABB4 7F056084 44807000 */ mtc1 $zero, $f14 -/* 08ABB8 7F056088 44816000 */ mtc1 $at, $f12 -/* 08ABBC 7F05608C 2407FFFF */ li $a3, -1 -/* 08ABC0 7F056090 44067000 */ mfc1 $a2, $f14 -/* 08ABC4 7F056094 0FC22647 */ jal record_damage_kills -/* 08ABC8 7F056098 AFA00010 */ sw $zero, 0x10($sp) -.L7F05609C: -/* 08ABCC 7F05609C 3C028003 */ lui $v0, %hi(D_80030AE0) -/* 08ABD0 7F0560A0 24420AE0 */ addiu $v0, %lo(D_80030AE0) # addiu $v0, $v0, 0xae0 -/* 08ABD4 7F0560A4 3C018007 */ lui $at, %hi(gas_damage_flag) -/* 08ABD8 7F0560A8 C4281E78 */ lwc1 $f8, %lo(gas_damage_flag)($at) -/* 08ABDC 7F0560AC C4400000 */ lwc1 $f0, ($v0) -/* 08ABE0 7F0560B0 3C018005 */ lui $at, %hi(global_timer_delta) -/* 08ABE4 7F0560B4 3C048003 */ lui $a0, %hi(D_80030AE4) -/* 08ABE8 7F0560B8 4608003C */ c.lt.s $f0, $f8 -/* 08ABEC 7F0560BC 00000000 */ nop -/* 08ABF0 7F0560C0 4500001A */ bc1f .L7F05612C -/* 08ABF4 7F0560C4 00000000 */ nop -/* 08ABF8 7F0560C8 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) -/* 08ABFC 7F0560CC 3C098003 */ lui $t1, %hi(D_80030AE4) -/* 08AC00 7F0560D0 460A0400 */ add.s $f16, $f0, $f10 -/* 08AC04 7F0560D4 E4500000 */ swc1 $f16, ($v0) -/* 08AC08 7F0560D8 8D290AE4 */ lw $t1, %lo(D_80030AE4)($t1) -/* 08AC0C 7F0560DC 1520000A */ bnez $t1, .L7F056108 -/* 08AC10 7F0560E0 00000000 */ nop -/* 08AC14 7F0560E4 0FC2FF01 */ jal get_controls_locked_flag -/* 08AC18 7F0560E8 00000000 */ nop -/* 08AC1C 7F0560EC 14400006 */ bnez $v0, .L7F056108 -/* 08AC20 7F0560F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08AC24 7F0560F4 3C068003 */ lui $a2, %hi(D_80030AE4) -/* 08AC28 7F0560F8 24C60AE4 */ addiu $a2, %lo(D_80030AE4) # addiu $a2, $a2, 0xae4 -/* 08AC2C 7F0560FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08AC30 7F056100 0C002382 */ jal play_sfx_a1 -/* 08AC34 7F056104 24050066 */ li $a1, 102 -.L7F056108: -/* 08AC38 7F056108 3C048003 */ lui $a0, %hi(D_80030AE4) -/* 08AC3C 7F05610C 8C840AE4 */ lw $a0, %lo(D_80030AE4)($a0) -/* 08AC40 7F056110 3C058003 */ lui $a1, %hi(D_80030AD0) -/* 08AC44 7F056114 5080000F */ beql $a0, $zero, .L7F056154 -/* 08AC48 7F056118 8FBF001C */ lw $ra, 0x1c($sp) -/* 08AC4C 7F05611C 0FC14E84 */ jal sub_GAME_7F053A10 -/* 08AC50 7F056120 24A50AD0 */ addiu $a1, %lo(D_80030AD0) # addiu $a1, $a1, 0xad0 -/* 08AC54 7F056124 1000000B */ b .L7F056154 -/* 08AC58 7F056128 8FBF001C */ lw $ra, 0x1c($sp) -.L7F05612C: -/* 08AC5C 7F05612C 8C840AE4 */ lw $a0, %lo(D_80030AE4)($a0) -/* 08AC60 7F056130 50800008 */ beql $a0, $zero, .L7F056154 -/* 08AC64 7F056134 8FBF001C */ lw $ra, 0x1c($sp) -/* 08AC68 7F056138 0C00237C */ jal sfxGetArg0Unk3F -/* 08AC6C 7F05613C 00000000 */ nop -/* 08AC70 7F056140 10400003 */ beqz $v0, .L7F056150 -/* 08AC74 7F056144 3C048003 */ lui $a0, %hi(D_80030AE4) -/* 08AC78 7F056148 0C002408 */ jal sfxDeactivate -/* 08AC7C 7F05614C 8C840AE4 */ lw $a0, %lo(D_80030AE4)($a0) -.L7F056150: -/* 08AC80 7F056150 8FBF001C */ lw $ra, 0x1c($sp) -.L7F056154: -/* 08AC84 7F056154 27BD0020 */ addiu $sp, $sp, 0x20 -/* 08AC88 7F056158 03E00008 */ jr $ra -/* 08AC8C 7F05615C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void set_unset_clock_lock_bits(void) { - -} -#else -GLOBAL_ASM( -.text -glabel set_unset_clock_lock_bits -/* 08AC90 7F056160 10A00008 */ beqz $a1, .L7F056184 -/* 08AC94 7F056164 3C028003 */ lui $v0, %hi(clock_drawn_flag) -/* 08AC98 7F056168 3C028003 */ lui $v0, %hi(clock_drawn_flag) -/* 08AC9C 7F05616C 24420AE8 */ addiu $v0, %lo(clock_drawn_flag) # addiu $v0, $v0, 0xae8 -/* 08ACA0 7F056170 8C4E0000 */ lw $t6, ($v0) -/* 08ACA4 7F056174 00807827 */ not $t7, $a0 -/* 08ACA8 7F056178 01CFC024 */ and $t8, $t6, $t7 -/* 08ACAC 7F05617C 03E00008 */ jr $ra -/* 08ACB0 7F056180 AC580000 */ sw $t8, ($v0) - -.L7F056184: -/* 08ACB4 7F056184 24420AE8 */ addiu $v0, $v0, %lo(clock_drawn_flag) -/* 08ACB8 7F056188 8C590000 */ lw $t9, ($v0) -/* 08ACBC 7F05618C 03244025 */ or $t0, $t9, $a0 -/* 08ACC0 7F056190 AC480000 */ sw $t0, ($v0) -/* 08ACC4 7F056194 03E00008 */ jr $ra -/* 08ACC8 7F056198 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void is_clock_drawn_onscreen(void) { - -} -#else -GLOBAL_ASM( -.text -glabel is_clock_drawn_onscreen -/* 08ACCC 7F05619C 3C028003 */ lui $v0, %hi(clock_drawn_flag) -/* 08ACD0 7F0561A0 8C420AE8 */ lw $v0, %lo(clock_drawn_flag)($v0) -/* 08ACD4 7F0561A4 2C4E0001 */ sltiu $t6, $v0, 1 -/* 08ACD8 7F0561A8 03E00008 */ jr $ra -/* 08ACDC 7F0561AC 01C01025 */ move $v0, $t6 -) -#endif - - - - - - -void set_clock_time(f32 time) { - clock_time = time; -} - -f32 get_clock_time(void) { - return clock_time; -} - -void set_clock_enable(s32 enable) { - clock_enable = enable; -} - -s32 get_clock_enable(void) { - return clock_enable; -} - - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0561E0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0561E0 -/* 08AD10 7F0561E0 3C0E8003 */ lui $t6, %hi(clock_enable) -/* 08AD14 7F0561E4 8DCE0AEC */ lw $t6, %lo(clock_enable)($t6) -/* 08AD18 7F0561E8 3C028003 */ lui $v0, %hi(clock_time) -/* 08AD1C 7F0561EC 24420AF0 */ addiu $v0, %lo(clock_time) # addiu $v0, $v0, 0xaf0 -/* 08AD20 7F0561F0 11C00005 */ beqz $t6, .L7F056208 -/* 08AD24 7F0561F4 3C018005 */ lui $at, %hi(global_timer_delta) -/* 08AD28 7F0561F8 C4440000 */ lwc1 $f4, ($v0) -/* 08AD2C 7F0561FC C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) -/* 08AD30 7F056200 46062201 */ sub.s $f8, $f4, $f6 -/* 08AD34 7F056204 E4480000 */ swc1 $f8, ($v0) -.L7F056208: -/* 08AD38 7F056208 03E00008 */ jr $ra -/* 08AD3C 7F05620C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056210(void) { - -} -#else -GLOBAL_ASM( -.late_rodata - -.text -glabel sub_GAME_7F056210 -/* 08AD40 7F056210 3C0E8003 */ lui $t6, %hi(clock_drawn_flag) -/* 08AD44 7F056214 8DCE0AE8 */ lw $t6, %lo(clock_drawn_flag)($t6) -/* 08AD48 7F056218 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08AD4C 7F05621C AFB10028 */ sw $s1, 0x28($sp) -/* 08AD50 7F056220 00808825 */ move $s1, $a0 -/* 08AD54 7F056224 AFBF002C */ sw $ra, 0x2c($sp) -/* 08AD58 7F056228 15C000EB */ bnez $t6, .L7F0565D8 -/* 08AD5C 7F05622C AFB00024 */ sw $s0, 0x24($sp) -/* 08AD60 7F056230 3C018003 */ lui $at, %hi(clock_time) -/* 08AD64 7F056234 C4220AF0 */ lwc1 $f2, %lo(clock_time)($at) -/* 08AD68 7F056238 44802000 */ mtc1 $zero, $f4 -/* 08AD6C 7F05623C 3C014561 */ li $at, 0x45610000 # 3600.000000 -/* 08AD70 7F056240 44813000 */ mtc1 $at, $f6 -/* 08AD74 7F056244 4604103C */ c.lt.s $f2, $f4 -/* 08AD78 7F056248 00000000 */ nop -/* 08AD7C 7F05624C 45020003 */ bc1fl .L7F05625C -/* 08AD80 7F056250 46061303 */ div.s $f12, $f2, $f6 -/* 08AD84 7F056254 46001087 */ neg.s $f2, $f2 -/* 08AD88 7F056258 46061303 */ div.s $f12, $f2, $f6 -.L7F05625C: -/* 08AD8C 7F05625C 0FC170D8 */ jal truncf -/* 08AD90 7F056260 E7A20030 */ swc1 $f2, 0x30($sp) -/* 08AD94 7F056264 4600020D */ trunc.w.s $f8, $f0 -/* 08AD98 7F056268 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 08AD9C 7F05626C C7A20030 */ lwc1 $f2, 0x30($sp) -/* 08ADA0 7F056270 44815000 */ mtc1 $at, $f10 -/* 08ADA4 7F056274 44184000 */ mfc1 $t8, $f8 -/* 08ADA8 7F056278 460A1303 */ div.s $f12, $f2, $f10 -/* 08ADAC 7F05627C 0FC170D8 */ jal truncf -/* 08ADB0 7F056280 AFB80044 */ sw $t8, 0x44($sp) -/* 08ADB4 7F056284 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08ADB8 7F056288 C7A20030 */ lwc1 $f2, 0x30($sp) -/* 08ADBC 7F05628C 44819000 */ mtc1 $at, $f18 -/* 08ADC0 7F056290 4600040D */ trunc.w.s $f16, $f0 -/* 08ADC4 7F056294 8FA90044 */ lw $t1, 0x44($sp) -/* 08ADC8 7F056298 46121102 */ mul.s $f4, $f2, $f18 -/* 08ADCC 7F05629C 3C014270 */ li $at, 0x42700000 # 60.000000 -/* 08ADD0 7F0562A0 44088000 */ mfc1 $t0, $f16 -/* 08ADD4 7F0562A4 00095100 */ sll $t2, $t1, 4 -/* 08ADD8 7F0562A8 01495023 */ subu $t2, $t2, $t1 -/* 08ADDC 7F0562AC 44813000 */ mtc1 $at, $f6 -/* 08ADE0 7F0562B0 000A5080 */ sll $t2, $t2, 2 -/* 08ADE4 7F0562B4 010A5823 */ subu $t3, $t0, $t2 -/* 08ADE8 7F0562B8 AFAB0040 */ sw $t3, 0x40($sp) -/* 08ADEC 7F0562BC 0FC170D8 */ jal truncf -/* 08ADF0 7F0562C0 46062303 */ div.s $f12, $f4, $f6 -/* 08ADF4 7F0562C4 8FAE0044 */ lw $t6, 0x44($sp) -/* 08ADF8 7F0562C8 4600020D */ trunc.w.s $f8, $f0 -/* 08ADFC 7F0562CC 8FB90040 */ lw $t9, 0x40($sp) -/* 08AE00 7F0562D0 000E7880 */ sll $t7, $t6, 2 -/* 08AE04 7F0562D4 01EE7823 */ subu $t7, $t7, $t6 -/* 08AE08 7F0562D8 000F7900 */ sll $t7, $t7, 4 -/* 08AE0C 7F0562DC 01EE7823 */ subu $t7, $t7, $t6 -/* 08AE10 7F0562E0 00194880 */ sll $t1, $t9, 2 -/* 08AE14 7F0562E4 440D4000 */ mfc1 $t5, $f8 -/* 08AE18 7F0562E8 000F78C0 */ sll $t7, $t7, 3 -/* 08AE1C 7F0562EC 01394823 */ subu $t1, $t1, $t9 -/* 08AE20 7F0562F0 000948C0 */ sll $t1, $t1, 3 -/* 08AE24 7F0562F4 01EE7823 */ subu $t7, $t7, $t6 -/* 08AE28 7F0562F8 000F7900 */ sll $t7, $t7, 4 -/* 08AE2C 7F0562FC 01394821 */ addu $t1, $t1, $t9 -/* 08AE30 7F056300 00094880 */ sll $t1, $t1, 2 -/* 08AE34 7F056304 01AFC023 */ subu $t8, $t5, $t7 -/* 08AE38 7F056308 03094023 */ subu $t0, $t8, $t1 -/* 08AE3C 7F05630C AFA8003C */ sw $t0, 0x3c($sp) -/* 08AE40 7F056310 0FC2B366 */ jal microcode_constructor -/* 08AE44 7F056314 02202025 */ move $a0, $s1 -/* 08AE48 7F056318 0C001149 */ jal get_video2_settings_uly -/* 08AE4C 7F05631C 00408825 */ move $s1, $v0 -/* 08AE50 7F056320 00028400 */ sll $s0, $v0, 0x10 -/* 08AE54 7F056324 00105403 */ sra $t2, $s0, 0x10 -/* 08AE58 7F056328 0C00112B */ jal get_video2_settings_height -/* 08AE5C 7F05632C 01408025 */ move $s0, $t2 -/* 08AE60 7F056330 8FA50044 */ lw $a1, 0x44($sp) -/* 08AE64 7F056334 24010064 */ li $at, 100 -/* 08AE68 7F056338 00507021 */ addu $t6, $v0, $s0 -/* 08AE6C 7F05633C 00A1001A */ div $zero, $a1, $at -/* 08AE70 7F056340 00005810 */ mfhi $t3 -/* 08AE74 7F056344 2401000A */ li $at, 10 -/* 08AE78 7F056348 25CDFFEE */ addiu $t5, $t6, -0x12 -/* 08AE7C 7F05634C 0161001A */ div $zero, $t3, $at -/* 08AE80 7F056350 00002812 */ mflo $a1 -/* 08AE84 7F056354 240F0002 */ li $t7, 2 -/* 08AE88 7F056358 24190001 */ li $t9, 1 -/* 08AE8C 7F05635C AFB90018 */ sw $t9, 0x18($sp) -/* 08AE90 7F056360 AFAF0014 */ sw $t7, 0x14($sp) -/* 08AE94 7F056364 AFAD0010 */ sw $t5, 0x10($sp) -/* 08AE98 7F056368 02202025 */ move $a0, $s1 -/* 08AE9C 7F05636C 24060082 */ li $a2, 130 -/* 08AEA0 7F056370 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08AEA4 7F056374 24070002 */ li $a3, 2 -/* 08AEA8 7F056378 0C001149 */ jal get_video2_settings_uly -/* 08AEAC 7F05637C 00408825 */ move $s1, $v0 -/* 08AEB0 7F056380 00028400 */ sll $s0, $v0, 0x10 -/* 08AEB4 7F056384 0010C403 */ sra $t8, $s0, 0x10 -/* 08AEB8 7F056388 0C00112B */ jal get_video2_settings_height -/* 08AEBC 7F05638C 03008025 */ move $s0, $t8 -/* 08AEC0 7F056390 8FA50044 */ lw $a1, 0x44($sp) -/* 08AEC4 7F056394 2401000A */ li $at, 10 -/* 08AEC8 7F056398 00504021 */ addu $t0, $v0, $s0 -/* 08AECC 7F05639C 00A1001A */ div $zero, $a1, $at -/* 08AED0 7F0563A0 00002810 */ mfhi $a1 -/* 08AED4 7F0563A4 250AFFEE */ addiu $t2, $t0, -0x12 -/* 08AED8 7F0563A8 240B0002 */ li $t3, 2 -/* 08AEDC 7F0563AC 240C0001 */ li $t4, 1 -/* 08AEE0 7F0563B0 AFAC0018 */ sw $t4, 0x18($sp) -/* 08AEE4 7F0563B4 AFAB0014 */ sw $t3, 0x14($sp) -/* 08AEE8 7F0563B8 AFAA0010 */ sw $t2, 0x10($sp) -/* 08AEEC 7F0563BC 02202025 */ move $a0, $s1 -/* 08AEF0 7F0563C0 2406008A */ li $a2, 138 -/* 08AEF4 7F0563C4 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08AEF8 7F0563C8 24070002 */ li $a3, 2 -/* 08AEFC 7F0563CC 0C001149 */ jal get_video2_settings_uly -/* 08AF00 7F0563D0 00408825 */ move $s1, $v0 -/* 08AF04 7F0563D4 00028400 */ sll $s0, $v0, 0x10 -/* 08AF08 7F0563D8 00107403 */ sra $t6, $s0, 0x10 -/* 08AF0C 7F0563DC 0C00112B */ jal get_video2_settings_height -/* 08AF10 7F0563E0 01C08025 */ move $s0, $t6 -/* 08AF14 7F0563E4 00506821 */ addu $t5, $v0, $s0 -/* 08AF18 7F0563E8 25AFFFEE */ addiu $t7, $t5, -0x12 -/* 08AF1C 7F0563EC 3C058005 */ lui $a1, %hi(D_80052A44) -/* 08AF20 7F0563F0 24190002 */ li $t9, 2 -/* 08AF24 7F0563F4 24180001 */ li $t8, 1 -/* 08AF28 7F0563F8 AFB80018 */ sw $t8, 0x18($sp) -/* 08AF2C 7F0563FC AFB90014 */ sw $t9, 0x14($sp) -/* 08AF30 7F056400 24A52A44 */ addiu $a1, %lo(D_80052A44) # addiu $a1, $a1, 0x2a44 -/* 08AF34 7F056404 AFAF0010 */ sw $t7, 0x10($sp) -/* 08AF38 7F056408 02202025 */ move $a0, $s1 -/* 08AF3C 7F05640C 24060093 */ li $a2, 147 -/* 08AF40 7F056410 0FC1A694 */ jal some_kind_of_display_routine -/* 08AF44 7F056414 24070002 */ li $a3, 2 -/* 08AF48 7F056418 0C001149 */ jal get_video2_settings_uly -/* 08AF4C 7F05641C 00408825 */ move $s1, $v0 -/* 08AF50 7F056420 00028400 */ sll $s0, $v0, 0x10 -/* 08AF54 7F056424 00104C03 */ sra $t1, $s0, 0x10 -/* 08AF58 7F056428 0C00112B */ jal get_video2_settings_height -/* 08AF5C 7F05642C 01208025 */ move $s0, $t1 -/* 08AF60 7F056430 8FA50040 */ lw $a1, 0x40($sp) -/* 08AF64 7F056434 2401003C */ li $at, 60 -/* 08AF68 7F056438 00505821 */ addu $t3, $v0, $s0 -/* 08AF6C 7F05643C 00A1001A */ div $zero, $a1, $at -/* 08AF70 7F056440 00004010 */ mfhi $t0 -/* 08AF74 7F056444 2401000A */ li $at, 10 -/* 08AF78 7F056448 256CFFEE */ addiu $t4, $t3, -0x12 -/* 08AF7C 7F05644C 0101001A */ div $zero, $t0, $at -/* 08AF80 7F056450 00002812 */ mflo $a1 -/* 08AF84 7F056454 240E0002 */ li $t6, 2 -/* 08AF88 7F056458 240D0001 */ li $t5, 1 -/* 08AF8C 7F05645C AFAD0018 */ sw $t5, 0x18($sp) -/* 08AF90 7F056460 AFAE0014 */ sw $t6, 0x14($sp) -/* 08AF94 7F056464 AFAC0010 */ sw $t4, 0x10($sp) -/* 08AF98 7F056468 02202025 */ move $a0, $s1 -/* 08AF9C 7F05646C 2406009C */ li $a2, 156 -/* 08AFA0 7F056470 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08AFA4 7F056474 24070002 */ li $a3, 2 -/* 08AFA8 7F056478 0C001149 */ jal get_video2_settings_uly -/* 08AFAC 7F05647C 00408825 */ move $s1, $v0 -/* 08AFB0 7F056480 00028400 */ sll $s0, $v0, 0x10 -/* 08AFB4 7F056484 00107C03 */ sra $t7, $s0, 0x10 -/* 08AFB8 7F056488 0C00112B */ jal get_video2_settings_height -/* 08AFBC 7F05648C 01E08025 */ move $s0, $t7 -/* 08AFC0 7F056490 8FA50040 */ lw $a1, 0x40($sp) -/* 08AFC4 7F056494 2401000A */ li $at, 10 -/* 08AFC8 7F056498 0050C021 */ addu $t8, $v0, $s0 -/* 08AFCC 7F05649C 00A1001A */ div $zero, $a1, $at -/* 08AFD0 7F0564A0 00002810 */ mfhi $a1 -/* 08AFD4 7F0564A4 2709FFEE */ addiu $t1, $t8, -0x12 -/* 08AFD8 7F0564A8 24080002 */ li $t0, 2 -/* 08AFDC 7F0564AC 240A0001 */ li $t2, 1 -/* 08AFE0 7F0564B0 AFAA0018 */ sw $t2, 0x18($sp) -/* 08AFE4 7F0564B4 AFA80014 */ sw $t0, 0x14($sp) -/* 08AFE8 7F0564B8 AFA90010 */ sw $t1, 0x10($sp) -/* 08AFEC 7F0564BC 02202025 */ move $a0, $s1 -/* 08AFF0 7F0564C0 240600A4 */ li $a2, 164 -/* 08AFF4 7F0564C4 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08AFF8 7F0564C8 24070002 */ li $a3, 2 -/* 08AFFC 7F0564CC 0C001149 */ jal get_video2_settings_uly -/* 08B000 7F0564D0 00408825 */ move $s1, $v0 -/* 08B004 7F0564D4 00028400 */ sll $s0, $v0, 0x10 -/* 08B008 7F0564D8 00105C03 */ sra $t3, $s0, 0x10 -/* 08B00C 7F0564DC 0C00112B */ jal get_video2_settings_height -/* 08B010 7F0564E0 01608025 */ move $s0, $t3 -/* 08B014 7F0564E4 00506021 */ addu $t4, $v0, $s0 -/* 08B018 7F0564E8 258EFFEE */ addiu $t6, $t4, -0x12 -/* 08B01C 7F0564EC 3C058005 */ lui $a1, %hi(D_80052A44) -/* 08B020 7F0564F0 240D0002 */ li $t5, 2 -/* 08B024 7F0564F4 240F0001 */ li $t7, 1 -/* 08B028 7F0564F8 AFAF0018 */ sw $t7, 0x18($sp) -/* 08B02C 7F0564FC AFAD0014 */ sw $t5, 0x14($sp) -/* 08B030 7F056500 24A52A44 */ addiu $a1, %lo(D_80052A44) # addiu $a1, $a1, 0x2a44 -/* 08B034 7F056504 AFAE0010 */ sw $t6, 0x10($sp) -/* 08B038 7F056508 02202025 */ move $a0, $s1 -/* 08B03C 7F05650C 240600AD */ li $a2, 173 -/* 08B040 7F056510 0FC1A694 */ jal some_kind_of_display_routine -/* 08B044 7F056514 24070002 */ li $a3, 2 -/* 08B048 7F056518 0C001149 */ jal get_video2_settings_uly -/* 08B04C 7F05651C 00408825 */ move $s1, $v0 -/* 08B050 7F056520 00028400 */ sll $s0, $v0, 0x10 -/* 08B054 7F056524 0010CC03 */ sra $t9, $s0, 0x10 -/* 08B058 7F056528 0C00112B */ jal get_video2_settings_height -/* 08B05C 7F05652C 03208025 */ move $s0, $t9 -/* 08B060 7F056530 8FA5003C */ lw $a1, 0x3c($sp) -/* 08B064 7F056534 24010064 */ li $at, 100 -/* 08B068 7F056538 00504021 */ addu $t0, $v0, $s0 -/* 08B06C 7F05653C 00A1001A */ div $zero, $a1, $at -/* 08B070 7F056540 0000C010 */ mfhi $t8 -/* 08B074 7F056544 2401000A */ li $at, 10 -/* 08B078 7F056548 250AFFEE */ addiu $t2, $t0, -0x12 -/* 08B07C 7F05654C 0301001A */ div $zero, $t8, $at -/* 08B080 7F056550 00002812 */ mflo $a1 -/* 08B084 7F056554 240B0002 */ li $t3, 2 -/* 08B088 7F056558 240C0001 */ li $t4, 1 -/* 08B08C 7F05655C AFAC0018 */ sw $t4, 0x18($sp) -/* 08B090 7F056560 AFAB0014 */ sw $t3, 0x14($sp) -/* 08B094 7F056564 AFAA0010 */ sw $t2, 0x10($sp) -/* 08B098 7F056568 02202025 */ move $a0, $s1 -/* 08B09C 7F05656C 240600B6 */ li $a2, 182 -/* 08B0A0 7F056570 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08B0A4 7F056574 24070002 */ li $a3, 2 -/* 08B0A8 7F056578 0C001149 */ jal get_video2_settings_uly -/* 08B0AC 7F05657C 00408825 */ move $s1, $v0 -/* 08B0B0 7F056580 00028400 */ sll $s0, $v0, 0x10 -/* 08B0B4 7F056584 00107403 */ sra $t6, $s0, 0x10 -/* 08B0B8 7F056588 0C00112B */ jal get_video2_settings_height -/* 08B0BC 7F05658C 01C08025 */ move $s0, $t6 -/* 08B0C0 7F056590 8FA5003C */ lw $a1, 0x3c($sp) -/* 08B0C4 7F056594 2401000A */ li $at, 10 -/* 08B0C8 7F056598 00507821 */ addu $t7, $v0, $s0 -/* 08B0CC 7F05659C 00A1001A */ div $zero, $a1, $at -/* 08B0D0 7F0565A0 00002810 */ mfhi $a1 -/* 08B0D4 7F0565A4 25F9FFEE */ addiu $t9, $t7, -0x12 -/* 08B0D8 7F0565A8 24180002 */ li $t8, 2 -/* 08B0DC 7F0565AC 24090001 */ li $t1, 1 -/* 08B0E0 7F0565B0 AFA90018 */ sw $t1, 0x18($sp) -/* 08B0E4 7F0565B4 AFB80014 */ sw $t8, 0x14($sp) -/* 08B0E8 7F0565B8 AFB90010 */ sw $t9, 0x10($sp) -/* 08B0EC 7F0565BC 02202025 */ move $a0, $s1 -/* 08B0F0 7F0565C0 240600BE */ li $a2, 190 -/* 08B0F4 7F0565C4 0FC1A723 */ jal display_ammo_total_in_a1 -/* 08B0F8 7F0565C8 24070002 */ li $a3, 2 -/* 08B0FC 7F0565CC 0FC2B3BC */ jal combiner_bayer_lod_perspective -/* 08B100 7F0565D0 00402025 */ move $a0, $v0 -/* 08B104 7F0565D4 00408825 */ move $s1, $v0 -.L7F0565D8: -/* 08B108 7F0565D8 8FBF002C */ lw $ra, 0x2c($sp) -/* 08B10C 7F0565DC 02201025 */ move $v0, $s1 -/* 08B110 7F0565E0 8FB10028 */ lw $s1, 0x28($sp) -/* 08B114 7F0565E4 8FB00024 */ lw $s0, 0x24($sp) -/* 08B118 7F0565E8 03E00008 */ jr $ra -/* 08B11C 7F0565EC 27BD0048 */ addiu $sp, $sp, 0x48 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0565F0(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0565F0 -/* 08B120 7F0565F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08B124 7F0565F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08B128 7F0565F8 0FC15794 */ jal is_alarm_on -/* 08B12C 7F0565FC 00000000 */ nop -/* 08B130 7F056600 10400018 */ beqz $v0, .L7F056664 -/* 08B134 7F056604 3C0E8003 */ lui $t6, %hi(ptr_alarm_sfx) -/* 08B138 7F056608 8DCE0AC4 */ lw $t6, %lo(ptr_alarm_sfx)($t6) -/* 08B13C 7F05660C 15C0000A */ bnez $t6, .L7F056638 -/* 08B140 7F056610 00000000 */ nop -/* 08B144 7F056614 0FC2FF01 */ jal get_controls_locked_flag -/* 08B148 7F056618 00000000 */ nop -/* 08B14C 7F05661C 14400006 */ bnez $v0, .L7F056638 -/* 08B150 7F056620 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 08B154 7F056624 3C068003 */ lui $a2, %hi(ptr_alarm_sfx) -/* 08B158 7F056628 24C60AC4 */ addiu $a2, %lo(ptr_alarm_sfx) # addiu $a2, $a2, 0xac4 -/* 08B15C 7F05662C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 08B160 7F056630 0C002382 */ jal play_sfx_a1 -/* 08B164 7F056634 240500A3 */ li $a1, 163 -.L7F056638: -/* 08B168 7F056638 3C028003 */ lui $v0, %hi(alarm_timer) -/* 08B16C 7F05663C 24420AC0 */ addiu $v0, %lo(alarm_timer) # addiu $v0, $v0, 0xac0 -/* 08B170 7F056640 3C188005 */ lui $t8, %hi(clock_timer) -/* 08B174 7F056644 8F188374 */ lw $t8, %lo(clock_timer)($t8) -/* 08B178 7F056648 8C4F0000 */ lw $t7, ($v0) -/* 08B17C 7F05664C 01F8C821 */ addu $t9, $t7, $t8 -/* 08B180 7F056650 2B210709 */ slti $at, $t9, 0x709 -/* 08B184 7F056654 14200003 */ bnez $at, .L7F056664 -/* 08B188 7F056658 AC590000 */ sw $t9, ($v0) -/* 08B18C 7F05665C 0FC1578B */ jal stop_alarm -/* 08B190 7F056660 00000000 */ nop -.L7F056664: -/* 08B194 7F056664 0FC157D9 */ jal sub_GAME_7F055F64 -/* 08B198 7F056668 00000000 */ nop -/* 08B19C 7F05666C 0FC15878 */ jal sub_GAME_7F0561E0 -/* 08B1A0 7F056670 00000000 */ nop -/* 08B1A4 7F056674 0FC14732 */ jal sub_GAME_7F051CC8 -/* 08B1A8 7F056678 00000000 */ nop -/* 08B1AC 7F05667C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08B1B0 7F056680 3C018003 */ lui $at, %hi(D_80030AF4) -/* 08B1B4 7F056684 AC200AF4 */ sw $zero, %lo(D_80030AF4)($at) -/* 08B1B8 7F056688 03E00008 */ jr $ra -/* 08B1BC 7F05668C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F056690(void) { - -} -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F056690 -/* 08B1C0 7F056690 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08B1C4 7F056694 AFBF002C */ sw $ra, 0x2c($sp) -/* 08B1C8 7F056698 AFB40028 */ sw $s4, 0x28($sp) -/* 08B1CC 7F05669C AFB30024 */ sw $s3, 0x24($sp) -/* 08B1D0 7F0566A0 AFB20020 */ sw $s2, 0x20($sp) -/* 08B1D4 7F0566A4 AFB1001C */ sw $s1, 0x1c($sp) -/* 08B1D8 7F0566A8 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry -/* 08B1DC 7F0566AC AFB00018 */ sw $s0, 0x18($sp) -/* 08B1E0 7F0566B0 1040002A */ beqz $v0, .L7F05675C -/* 08B1E4 7F0566B4 00409025 */ move $s2, $v0 -/* 08B1E8 7F0566B8 24140001 */ li $s4, 1 -/* 08B1EC 7F0566BC 924E0000 */ lbu $t6, ($s2) -.L7F0566C0: -/* 08B1F0 7F0566C0 568E0024 */ bnel $s4, $t6, .L7F056754 -/* 08B1F4 7F0566C4 8E520024 */ lw $s2, 0x24($s2) -/* 08B1F8 7F0566C8 924F0001 */ lbu $t7, 1($s2) -/* 08B1FC 7F0566CC 31F80002 */ andi $t8, $t7, 2 -/* 08B200 7F0566D0 57000020 */ bnezl $t8, .L7F056754 -/* 08B204 7F0566D4 8E520024 */ lw $s2, 0x24($s2) -/* 08B208 7F0566D8 8E510004 */ lw $s1, 4($s2) -/* 08B20C 7F0566DC 92390002 */ lbu $t9, 2($s1) -/* 08B210 7F0566E0 02202025 */ move $a0, $s1 -/* 08B214 7F0566E4 33280080 */ andi $t0, $t9, 0x80 -/* 08B218 7F0566E8 5100001A */ beql $t0, $zero, .L7F056754 -/* 08B21C 7F0566EC 8E520024 */ lw $s2, 0x24($s2) -/* 08B220 7F0566F0 0FC12D1E */ jal sub_GAME_7F04B478 -/* 08B224 7F0566F4 8E330014 */ lw $s3, 0x14($s1) -/* 08B228 7F0566F8 10400018 */ beqz $v0, .L7F05675C -/* 08B22C 7F0566FC 00402825 */ move $a1, $v0 -/* 08B230 7F056700 8C500004 */ lw $s0, 4($v0) -/* 08B234 7F056704 52000016 */ beql $s0, $zero, .L7F056760 -/* 08B238 7F056708 8FBF002C */ lw $ra, 0x2c($sp) -/* 08B23C 7F05670C 8E290014 */ lw $t1, 0x14($s1) -/* 08B240 7F056710 0FC12D64 */ jal sub_GAME_7F04B590 -/* 08B244 7F056714 8D240008 */ lw $a0, 8($t1) -/* 08B248 7F056718 5040000E */ beql $v0, $zero, .L7F056754 -/* 08B24C 7F05671C 8E520024 */ lw $s2, 0x24($s2) -/* 08B250 7F056720 960B001A */ lhu $t3, 0x1a($s0) -/* 08B254 7F056724 8E6A0010 */ lw $t2, 0x10($s3) -/* 08B258 7F056728 8E0D0008 */ lw $t5, 8($s0) -/* 08B25C 7F05672C 000B6080 */ sll $t4, $t3, 2 -/* 08B260 7F056730 014C1021 */ addu $v0, $t2, $t4 -/* 08B264 7F056734 8C4E0000 */ lw $t6, ($v0) -/* 08B268 7F056738 11AE0005 */ beq $t5, $t6, .L7F056750 -/* 08B26C 7F05673C 02202025 */ move $a0, $s1 -/* 08B270 7F056740 0FC10409 */ jal sub_GAME_7F041024 -/* 08B274 7F056744 24050001 */ li $a1, 1 -/* 08B278 7F056748 10000005 */ b .L7F056760 -/* 08B27C 7F05674C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F056750: -/* 08B280 7F056750 8E520024 */ lw $s2, 0x24($s2) -.L7F056754: -/* 08B284 7F056754 5640FFDA */ bnezl $s2, .L7F0566C0 -/* 08B288 7F056758 924E0000 */ lbu $t6, ($s2) -.L7F05675C: -/* 08B28C 7F05675C 8FBF002C */ lw $ra, 0x2c($sp) -.L7F056760: -/* 08B290 7F056760 8FB00018 */ lw $s0, 0x18($sp) -/* 08B294 7F056764 8FB1001C */ lw $s1, 0x1c($sp) -/* 08B298 7F056768 8FB20020 */ lw $s2, 0x20($sp) -/* 08B29C 7F05676C 8FB30024 */ lw $s3, 0x24($sp) -/* 08B2A0 7F056770 8FB40028 */ lw $s4, 0x28($sp) -/* 08B2A4 7F056774 03E00008 */ jr $ra -/* 08B2A8 7F056778 27BD0030 */ addiu $sp, $sp, 0x30 -) -#endif - - - - - -#ifdef NONMATCHING -void drop_inventory(void) { - -} -#else -GLOBAL_ASM( -.text -glabel drop_inventory -/* 08B2AC 7F05677C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 08B2B0 7F056780 3C0E8008 */ lui $t6, %hi(pPlayer) -/* 08B2B4 7F056784 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) -/* 08B2B8 7F056788 AFBF0034 */ sw $ra, 0x34($sp) -/* 08B2BC 7F05678C AFB40030 */ sw $s4, 0x30($sp) -/* 08B2C0 7F056790 AFB3002C */ sw $s3, 0x2c($sp) -/* 08B2C4 7F056794 AFB20028 */ sw $s2, 0x28($sp) -/* 08B2C8 7F056798 AFB10024 */ sw $s1, 0x24($sp) -/* 08B2CC 7F05679C AFB00020 */ sw $s0, 0x20($sp) -/* 08B2D0 7F0567A0 8DCF00A8 */ lw $t7, 0xa8($t6) -/* 08B2D4 7F0567A4 00002825 */ move $a1, $zero -/* 08B2D8 7F0567A8 8DF20004 */ lw $s2, 4($t7) -/* 08B2DC 7F0567AC 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 08B2E0 7F0567B0 02402025 */ move $a0, $s2 -/* 08B2E4 7F0567B4 02402025 */ move $a0, $s2 -/* 08B2E8 7F0567B8 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand -/* 08B2EC 7F0567BC 24050001 */ li $a1, 1 -/* 08B2F0 7F0567C0 24100001 */ li $s0, 1 -/* 08B2F4 7F0567C4 24140059 */ li $s4, 89 -/* 08B2F8 7F0567C8 3C132000 */ lui $s3, 0x2000 -.L7F0567CC: -/* 08B2FC 7F0567CC 0FC26C91 */ jal sub_GAME_7F09B244 -/* 08B300 7F0567D0 02002025 */ move $a0, $s0 -/* 08B304 7F0567D4 04400012 */ bltz $v0, .L7F056820 -/* 08B308 7F0567D8 00408825 */ move $s1, $v0 -/* 08B30C 7F0567DC 0FC230C5 */ jal is_weapon_in_inv -/* 08B310 7F0567E0 02002025 */ move $a0, $s0 -/* 08B314 7F0567E4 1040000E */ beqz $v0, .L7F056820 -/* 08B318 7F0567E8 02402025 */ move $a0, $s2 -/* 08B31C 7F0567EC 02202825 */ move $a1, $s1 -/* 08B320 7F0567F0 02003025 */ move $a2, $s0 -/* 08B324 7F0567F4 02603825 */ move $a3, $s3 -/* 08B328 7F0567F8 AFA00010 */ sw $zero, 0x10($sp) -/* 08B32C 7F0567FC 0FC14885 */ jal something_with_generating_object -/* 08B330 7F056800 AFA00014 */ sw $zero, 0x14($sp) -/* 08B334 7F056804 10400006 */ beqz $v0, .L7F056820 -/* 08B338 7F056808 00408825 */ move $s1, $v0 -/* 08B33C 7F05680C 00402025 */ move $a0, $v0 -/* 08B340 7F056810 0FC12FF4 */ jal sub_GAME_7F04BFD0 -/* 08B344 7F056814 24050001 */ li $a1, 1 -/* 08B348 7F056818 0FC1304C */ jal sub_GAME_7F04C130 -/* 08B34C 7F05681C 02202025 */ move $a0, $s1 -.L7F056820: -/* 08B350 7F056820 26100001 */ addiu $s0, $s0, 1 -/* 08B354 7F056824 1614FFE9 */ bne $s0, $s4, .L7F0567CC -/* 08B358 7F056828 00000000 */ nop -/* 08B35C 7F05682C 8FBF0034 */ lw $ra, 0x34($sp) -/* 08B360 7F056830 8FB00020 */ lw $s0, 0x20($sp) -/* 08B364 7F056834 8FB10024 */ lw $s1, 0x24($sp) -/* 08B368 7F056838 8FB20028 */ lw $s2, 0x28($sp) -/* 08B36C 7F05683C 8FB3002C */ lw $s3, 0x2c($sp) -/* 08B370 7F056840 8FB40030 */ lw $s4, 0x30($sp) -/* 08B374 7F056844 03E00008 */ jr $ra -/* 08B378 7F056848 27BD0038 */ addiu $sp, $sp, 0x38 -) -#endif - - - diff --git a/src/game/chrai.h b/src/game/chrai.h index 5b08d3ff..7d273dd0 100644 --- a/src/game/chrai.h +++ b/src/game/chrai.h @@ -103,9 +103,11 @@ extern struct struct_20 D_80031D58; extern u32 monitor_animation_microcode[]; extern u32 dword_D_80031F00[]; extern u32 dword_D_80031F44[]; - +extern f32 gas_damage_flag; +extern u32 gas_cutoff_flag; +extern struct object_standard * ptr_setup_objects; void stop_alarm(void); -void sub_GAME_7F055EF8(void); +void check_deactivate_gas_sound(void); #endif diff --git a/src/game/chrobjdata.h b/src/game/chrobjdata.h index 1b7d6ebb..49d2c324 100644 --- a/src/game/chrobjdata.h +++ b/src/game/chrobjdata.h @@ -131,6 +131,8 @@ struct headHat float zsize; }; +extern struct p_itementry PitemZ_entries[]; + extern struct item_related prop_cctv_related; extern struct item_related prop_console_one_screen_related; extern struct item_related prop_console_four_screen_related; diff --git a/src/game/chrobjhandler.c b/src/game/chrobjhandler.c new file mode 100644 index 00000000..03db71b6 --- /dev/null +++ b/src/game/chrobjhandler.c @@ -0,0 +1,37077 @@ +#include "ultra64.h" +#include "bondgame.h" +#include "game/bond.h" +#include "game/chr.h" +#include "game/chrai.h" +#include "snd.h" +#include "music.h" +#include "game/lvl.h" +#include "game/lvl_text.h" + +s32 alarm_timer = 0; +s32 *ptr_alarm_sfx = 0; +f32 toxic_gas_sound_timer = 0.0; +s32 activate_gas_sound_timer = FALSE; +f32 D_80030AD0 = 0.0; +f32 D_80030AD4 = 0.0; +f32 D_80030AD8 = 0.0; +s32 D_80030ADC = 0; +u32 D_80030AE0 = 0; +s32 ptr_gas_sound = 0; +s32 clock_drawn_flag = 1; +s32 clock_enable = 0; +f32 clock_time = 0; +s32 D_80030AF4 = 0; +s32 D_80030AF8 = 0; +s32 D_80030AFC = 0; +s32 D_80030B00 = 0; +s32 D_80030B04 = 0; +s32 D_80030B08 = 0; +s32 D_80030B0C = 0; +s32 bodypartshot = 0xFFFFFFFF; +f32 D_80030B14 = 1.0; +f32 D_80030B18 = 1.0; +f32 D_80030B1C = 1.0; +f32 D_80030B20 = 1.0; +f32 D_80030B24 = 1.0; +f32 solo_ammo_multiplier = 1.0; +s16 Throwing_knife_SFX[] = {0x5F, 0x60, 0x61}; + +u32 D_80030B34[] = { + 0, 1, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; +//80030b74 +u32 monitor_animation_microcode[] = { + 7, 0, 1, 0x400, 0x14, 8, 0x14, 2, + 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, + 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, + 8, 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, + 8, 0x14, 0xB +}; + +u32 D_80030C00[] = { + 7, 0xC, 1, 0x400, 0x14, + 8, 0x14, 2, 0x400, 0x14, 0xD, 0xFF, 0x14, + 8, 0x14, 5, 0x200, 0x14, 6, 0x200, 0x14, + 0xD,0xFFFFFFFF, 0x14, 8, 0x14, 5, 0x400, 0x14, + 6, 0x400, 0x14, 8, 0x14, 7, 0xD, 1, + 0x400, 0x14, 8, 0x14, 2, 0x400, 0x14, 0xD, + 0xFF, 0x14, 8, 0x14, 5, 0x200, 0x14, 6, + 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, 8, 0x14, 5, + 0x400, 0x14, 6, 0x400, 0x14, 8, 0x14, 7, + 0xE, 1, 0x400, 0x14, 8, 0x14, 2, 0x400, + 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, 0x200, + 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, 8, + 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, 8, + 0x14, 7, 0xF, 1, 0x400, 0x14, 8, 0x14, + 2, 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, + 5, 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, + 0x14, 8, 0x14, 5, 0x400, 0x14, 6, 0x400, + 0x14, 8, 0x14, 0xB, +}; + +u32 D_80030E24[] = { + 7, 0x11, 8, 0x50, + 7, 0x12, 8, 0x50, 7, 0x13, 8, 0x50, + 7, 0x14, 8, 0x50, 7, 0x15, 8, 0x50, + 7, 0x16, 8, 0x50, 7, 0x17, 8, 0x50, + 7, 0x18, 8, 0x50, 7, 0x19, 8, 0x50, + 7, 0x1A, 8, 0x50, 0xB, +}; + +u32 D_80030EC8[] = { + 7, 7, 8, + 0x50, 7, 8, 8, 0x50, 7, 9, 8, + 0x50, 7, 0xC, 8, 0x50, 7, 0xD, 8, + 0x50, 8, 0x50, 7, 0x19, 8, 0x50, 7, + 0x14, 8, 0x50, 0xB +}; + +u32 D_80030F44[] = { + 0xD,0x202020FF, 1, 7, 0x1C, 1, 0x800, 0x78, + 8, 0x78, 5, 0x100, 1, 6, 0x200, 0x3C, + 1,0xFFFFE000, 0x78, 8, 0x78, 5, 0x400, 1, + 6, 0x400, 0x3C, 6, 0x400, 0x3C, 1, 0x800, + 0x78, 8, 0x78, 5, 0x80, 1, 6, 0x800, + 0x3C, 6, 0x400, 0x78, 2, 0x400, 0x3C, 1, + 0x200, 0x78, 8, 0x78, 0xB +}; + +u32 D_80031018[] = { + 0xD, 0x202020FF, 1, 7, 0x1C, 5, 0x80, 1, 6, 0x800, 0x3C, 6, 0x400, 0x78, + 2, 0x400, 0xA, 1, 0x200, 0x28, 8, 0x78, 0xB +}; + +u32 D_80031074[] = { + 7, 0x1D, 0xD, 0x8000FF, 1, 2, 0xFFFFFE00, 0x50, 8, 0x78, 2, 0xFFFFFF00, + 0x14, 8, 0x78, 2, 0xFFFFFF80, 0xA, 8, 0x28, 2, 0xFFFFFE00, 0x28, 8, 0x3C, + 2, 0xFFFFFFC0, 0x1E, 8, 0x78, 0xB +}; + +u32 D_800310F0[] = { + 7, 0x1D, 0xD, 0x280000FF, 1, 2, 0x200, 0x50, 8, 0x78, 2, 0x100, 0x14, + 8, 0x78, 2, 0x80, 0xA, 8, 0x28, 2, 0x200, 0x28, 8, 0x3C, 2, 0x40, 0x1E, + 8, 0x78, 2, 0x100, 0x14, 8, 0x78, 2, 0x80, 0xA, 0xB +}; + +u32 D_8003118C[] = { + 7, 0x1D, 0xD, 0x3C00FF, 1, 2, 0x200, 0x50, 8, 0x78, 2, 0x80, 0xA, 8, + 0x28, 2, 0x100, 0x14, 8, 0x78, 2, 0x80, 0xA, 8, 0x28, 2, 0x200, 0x28, + 8, 0x3C, 2, 0x40, 0x1E, 8, 0x78, 0xB +}; + +u32 D_8003121C[] = { + 7, 0x1E, 0xD, 0x404000FF, 1, 1, 0x280, 1, 8, 0xA, 0xB +}; + +u32 D_80031248[] = { + 7, 0x1E, 0xD, 0x4040FF, 1, 1, 0x280, 1, 8, 0xA, 0xB +}; + +u32 D_80031274[] = { + 7, 0x1E, 0xD,0x406440FF, 1, 1,0xFFFFFD80, + 1, 8, 0xA, 0xB +}; + +u32 D_800312A0[] = { + 0xD, 0xAFF0AFE, 0x14, 9, &D_800312C8 +}; + +u32 D_800312B4[] = { + 0xD, 0xA640AFE, 0x14, 9, (u32)&D_800312C8 +}; + +u32 D_800312C8[] = { + 0xF, 0xB6, 8, 1, 0xA, &D_800312A0, 0x51E, 0xA, &D_800312B4, 0x147A, 0xB +}; + +u32 D_800312F4[] = { + 7, 0x30, 0xD, 0xA960AFE, 1, 9, &D_800312B4 +}; + +u32 D_80031310[] = { + 7, 0x10, 0xD, 0x303080FF, 0x1E, 8, 5, 7, 0x2D, 8, 5, 7, 0x2E, 8, 5, 7, 0x2F, 8, 5, 0xB +}; + +u32 D_80031360[] = { + 7, 0x2C, 0xD,0x308030FF, 0x1E, 1,0xFFFFFC00, 0x400, + 8, 0x5A0, 3, 0x288, 0x168, 4, 0x3AA, 0x168, + 5, 0x80, 0x12C, 6, 0x80, 0x12C, 0xD, 0xFF, + 0x3C, 8, 0x3C, 0xD,0x808080FF, 0xA, 8, 0x5A, + 0xD,0x38C838FF, 0x1E, 8, 0x1E, 0xD,0x803838FF, 0x3C, + 8, 0x3C, 0xD,0x808080FF, 0x3C, 8, 0x3C, 3, + 0x200, 0x168, 4, 0x200, 0x168, 5, 0x400, 0x2D0, + 6, 0x400, 0x2D0, 8, 0x12C, 7, 0x2C, 8, + 0x1A4, 0xD, 0xC800FF, 0x1E, 8, 0x1E, 0xD,0x1E381EFF, + 0x3C, 8, 0x3C, 0xB +}; + +u32 D_80031490[] = { + 0xD, 0xFF, 1, 0xD,0xC8C8C8FF, 0x190, 7, 1, + 8, 0x2A8, 7, 2, 8, 0x2A8, 7, 4, + 8, 0xB4, 0xD,0x808032FF, 1, 7, 4, 8, + 0xC8, 0xB +}; + +u32 D_800314F8[] = { + 5, 0x400, 1, 6, 0x400, 1, 0xD,0xC81414FF, + 1, 7, 6, 8, 0x258, 0xD,0xC8C8C8FF, 5, + 8, 5, 0xD,0x383838FF, 0x3C, 7, 0x1B, 0xD, + 0xA0A0AFF, 0x64, 8, 0x190, 0xB +}; + +u32 D_8003156C[] = { + 0xD, 0xA960AFF, 0, 7, 0x28, 8, 5, 7, + 0x29, 8, 5, 7, 0x2A, 8, 5, 7, + 0x2B, 8, 0xA, 7, 0x29, 8, 5, 0xB +}; + +u32 D_800315CC[] = { + 7, 0x24, 0xD, 0xA960AFF, 0, 8, 3, 0xD, + 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, 8, + 3, 0xD, 0x87808FF, 0, 8, 2, 1, 0x264, + 0x1E, 7, 0x25, 0xD, 0xA960AFF, 0, 8, 3, + 0xD, 0x87808FF, 0, 8, 2, 7, 0x26, 0xD, + 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, 8, + 2, 7, 0x27, 0xD, 0xA960AFF, 0, 8, 3, + 0xD, 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, + 8, 3, 0xD, 0x87808FF, 0, 8, 2, 0xD, + 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, 8, + 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, + 0, 8, 2, 1, 0x19C, 0x28, 7, 0x26, + 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, + 8, 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, + 0x87808FF, 0, 8, 2, 7, 0x25, 0xD, 0xA960AFF, + 0, 8, 3, 0xD, 0x87808FF, 0, 8, 2, + 0xD, 0xA960AFF, 0, 8, 3, 0xD, 0x87808FF, 0, + 8, 2, 0xD, 0xA960AFF, 0, 8, 3, 0xD, + 0x87808FF, 0, 8, 2, 0xD, 0xA960AFF, 0, 8, + 3, 0xD, 0x87808FF, 0, 8, 2, 0xB +}; + +u32 D_80031848[] = { + 0x0000000D, 0x0A780AFF, + 0x00000000, 0x00000007, + 0x00000020, 0x00000008, + 0x00000005, 0x00000007, + 0x00000021, 0x00000008, + 0x00000005, 0x00000007, + 0x00000022, 0x00000008, + 0x00000005, 0x00000007, + 0x00000023, 0x00000008, + 0x00000005, 0x0000000B +}; + +u32 D_80031898[] = {7, 0x1C, 0xD, 0x800000, 1, 8, 5, 0xB}; + +struct struct_5 D_800318B8[] = { + {0xA, D_80031018, 0x1999}, + {0xA, D_8003156C, 0x1999}, + {0xA, D_8003121C, 0x1999}, + {0xA, D_80031248, 0x1999}, + {0xA, D_80031274, 0x1999}, + {0xA, D_800310F0, 0x3333}, + {0xA, D_8003118C, 0x6666}, + {0xA, D_80031074, 0xFFFF} +}; + +u32 D_80031918 = 0xB; + +struct struct_5 D_8003191C[] = { + {0xA, D_80030F44, 0x51E}, + {0xA, D_8003121C, 0x51E}, + {0xA, D_80031074, 0x51E}, + {0xA, &D_80031950, 0x9999} +}; + +u32 D_8003194C = 0xB; + +struct struct_5 D_80031950[] = { + {0xA, &D_800319D4, 0x1999}, + {0xA, &D_800319F0, 0x1999}, + {0xA, &D_80031A0C, 0x1999}, + {0xA, &D_80031A28, 0x1999}, + {0xA, &D_80031A44, 0x1999}, + {0xA, &D_80031A60, 0x1999}, + {0xA, &D_80031A7C, 0x1999}, + {0xA, &D_80031A98, 0x1999}, + {0xA, &D_80031AB4, 0x1999}, + {0xA, &D_80031AD0, 0x1999} +}; +u32 D_800319C8[] = {8, 0x64, 0xB}; + +struct struct_0 D_800319D4 = {7, 0x11, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_800319F0 = {7, 0x12, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A0C = {7, 0x13, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A28 = {7, 0x14, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A44 = {7, 0x15, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A60 = {7, 0x16, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A7C = {7, 0x17, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031A98 = {7, 0x18, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031AB4 = {7, 0x19, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; +struct struct_0 D_80031AD0 = {7, 0x1A, 8, 0x14, 0xA, &D_80031AEC, 0xFFFF}; + +struct struct_5 D_80031AEC[] = { + {0xA, &D_80031B24, 0x1999}, + {0xA, &D_80031B38, 0x1999}, + {0xA, &D_80031B4C, 0x1999} +}; + +struct struct_12 D_80031B10[] = {0xD, 0xC8, 0xC8, 0xC8, 0xFF, 0x3C, 9, D_80031B60}; +struct struct_12 D_80031B24[] = {0xD, 0xC8, 0x32, 0x32, 0xFF, 0x3C, 9, D_80031B60}; +struct struct_12 D_80031B38[] = {0xD, 0x32, 0xC8, 0x32, 0xFF, 0x3C, 9, D_80031B60}; +struct struct_12 D_80031B4C[] = {0xD, 0x32, 0x32, 0xC8, 0xFF, 0x3C, 9, D_80031B60}; +u32 D_80031B60[] = {8, 0x32}; + +//80031B68 +struct struct_5 D_80031B68 = {0xA, &D_80031BB4, 0x1999}; +//80031B74 +struct struct_5 D_80031B74 = {0xA, &D_80031BD0, 0x1999}; +//80031B80 +struct struct_5 D_80031B80 = {0xA, &D_80031BEC, 0x1999}; +//80031B8C +struct struct_5 D_80031B8C = {0xA, &D_80031C08, 0x1999}; +//80031B98 +struct struct_5 D_80031B98 = {0xA, &D_80031C80, 0x1999}; +//80031BA4 +u32 D_80031BA4[] = {8, 0x12C, 9, &D_80031D30}; + +struct struct_16 D_80031BB4 = {1, 0x800, 0x78, 8, 0x78, 9, D_80031D30}; +struct struct_16 D_80031BD0 = {2, 0x2000, 0x32, 8, 0xC8, 9, D_80031D30}; +struct struct_16 D_80031BEC = {2, 0x2000, 0xC8, 8, 0xC8, 9, D_80031D30}; + +u32 D_80031C08[] = { + 3, 0x288, 0x12C, 4, 0x3AA, 0x12C, + 5, 0x80, 0xC8, 6, 0x80, 0xC8, + 8, 0x12C, 3, 0x200, 0x32, + 4, 0x200, 0xC8, 5, 0x400, 0x2D0, + 6, 0x400, 0x2D0, 8, 0x258, 9, D_80031D30 +}; + +u32 D_80031C80[] = { + 3, 0x320, 0x190, 4, 0x190, 0x190, 5, 0x80, + 0xC8, 6, 0x80, 0xC8, 8, 0x12C, 3, 0xC8, + 0xC8, 4, 0x190, 0x320, 5, 0x200, 0x2D0, 6, + 0x200, 0x2D0, 8, 0x320, 5, 0x400, 0x2D0, 6, + 0x400, 0x2D0, 3, 0x200, 0x64, 4, 0x200, 0x3C, + 8, 0x1F4, 9, D_80031D30 +}; + +u32 D_80031D30[] = { + 8, 0x32, 0xA, &D_80031AEC, 0x1999, 0xA, &D_80031D58, 0x3333, + 9, &D_80031950 +}; + +struct struct_20 D_80031D58 = {8, 0x32, 0xD, 0xFFFFFFFF, 0xA, 0xD, 0xFF, 5, 0xD, 0xFFFFFFFF, 0xA, 8, 0x19, 0xD, 0xFF, 0xC8, 8, 0x1F4, 9, D_80031950}; + +u32 D_80031DA8[] = { + 7, 0x31, 5, 0x200, 0, 6, 0x200, 0, + 0xD,0xDC2828FF, 0x3C, 8, 0x3C, 0xD,0x323232FF, 0xA, + 8, 0xA, 0xB +}; + +u32 D_80031DF4[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, + 0xD, 0x32C832FF, 0x3C, 8, 0x3C, + 0xD, 0x323232FF, 0xA, 8, 0xA, 0xB +}; + +u32 D_80031E40[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, + 0xD, 0x323232FF, 0xA, 8, 0xA, 0xB +}; + +u32 D_80031E78[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, + 0xD, 0xDC2828FF, 0xA, 8, 0xA, 0xB +}; + +u32 D_80031EB0[] = {7, 0x31, 5, 0x200, 0, 6, 0x200, 0, + 0xD, 0x32C832FF, 0xA, 8, 0xA, 0xB +}; + +u32 D_80031EE8[] = {7, 0, 0xD, 0xFF, 0, 0xC}; + +u32 dword_D_80031F00[] = { + 5, 0x400, 0, 6, 0x400, 0, 8, 1, + 5, 0x1000, 0x14, 6, 0x1000, 0x14, 8, 0x14, + 0xB +}; + +u32 dword_D_80031F44[] = { + 7, 0, 1, 0x400, 0x14, 8, 0x14, 2, + 0x400, 0x14, 0xD, 0xFF, 0x14, 8, 0x14, 5, + 0x200, 0x14, 6, 0x200, 0x14, 0xD,0xFFFFFFFF, 0x14, + 8, 0x14, 5, 0x400, 0x14, 6, 0x400, 0x14, + 8, 0x14, 0xB +}; + +u32 D_80031FD0[] = { + 0, 1, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0 +}; + +u32 D_80032010 = 0; +u32 D_80032014 = 0; +u32 D_80032018 = 0; +u32 D_8003201C = 0; +u32 D_80032020 = 0; +u32 D_80032024 = 0; +u32 D_80032028 = 0; +u32 D_8003202C = 0; +u32 D_80032030 = 0; +u32 D_80032034 = 0; +u32 D_80032038 = 0; +u32 D_8003203C = 0; +u32 D_80032040 = 0; +u32 D_80032044 = 0; +u32 D_80032048 = 0; + +u32 D_8003204C = 0x7FFF; +u32 D_80032050 = 0x7FFF; +u32 D_80032054 = 0x7FFF; +u32 D_80032058 = 0xFFFF8000; +u32 D_8003205C = 0xFFFF8000; +u32 D_80032060 = 0xFFFF8000; +u32 D_80032064 = 0; +u32 D_80032068 = 0; +u32 D_8003206C = 0; +u32 D_80032070 = 0x7FFF; +u32 D_80032074 = 0x7FFF; +u32 D_80032078 = 0x7FFF; +u32 D_8003207C = 0xFFFF8000; +u32 D_80032080 = 0xFFFF8000; +u32 D_80032084 = 0xFFFF8000; +u32 D_80032088 = 0; +u32 D_8003208C = 0; +u32 D_80032090 = 0; + +u32 blank_07_object[] = { + 0x1000007, 0xFFFF, 1, 0, 0, 0,0x3F800000, 0, + 0, 0, 0,0x3F800000, 0, 0, 0, 0, + 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, + 0, 0, 0, 0, 0,0x447A0000 +}; + +u32 D_8003210C[] = {0xFFFFFF00, 0xFFFFFF00}; + +u32 blank_11_object[] = { + 0x1000011, 0, 0x4000, 0, 0, 0,0x3F800000, 0, + 0, 0, 0,0x3F800000, 0, 0, 0, 0, + 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, + 0, 0, 0, 0, 0,0x447A0000 +}; + +u32 D_8003218C[] = {0xFFFFFF00, 0xFFFFFF00}; + +u32 blank_08_object_preset_1[] = { + 0x1000008, 1, 0, 0, 0, 0,0x3F800000, 0, + 0, 0, 0,0x3F800000, 0, 0, 0, 0, + 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, + 0, 0, 0, 0, 0,0x447A0000,0xFFFFFF00,0xFFFFFF00, + 0xFFFFFF +}; + +u32 D_80032218 = 0; + +u32 blank_08_object_preset_4001[] = { + 0x1000008, 0x4001, 0, 0, 0, 0,0x3F800000, 0, + 0, 0, 0,0x3F800000, 0, 0, 0, 0, + 0x3F800000, 0, 0, 0, 0,0x3F800000, 0, 0, + 0, 0, 0, 0, 0,0x447A0000,0xFFFFFF00,0xFFFFFF00, + 0xFFFFFF +}; + +u32 D_800322A0 = 0; +u32 D_800322A4 = 0; + +u32 D_800322A8[] = {1, 3}; +u32 D_800322B0[] = {0, 0, 0, 0}; +u32 D_800322C0[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +//rodata + + +#ifdef NONMATCHING +void sub_GAME_7F03FB70(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FB70 +/* 0746A0 7F03FB70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0746A4 7F03FB74 AFBF001C */ sw $ra, 0x1c($sp) +/* 0746A8 7F03FB78 AFB00018 */ sw $s0, 0x18($sp) +/* 0746AC 7F03FB7C 8C8E0000 */ lw $t6, ($a0) +/* 0746B0 7F03FB80 00808025 */ move $s0, $a0 +/* 0746B4 7F03FB84 31CF0080 */ andi $t7, $t6, 0x80 +/* 0746B8 7F03FB88 51E00014 */ beql $t7, $zero, .L7F03FBDC +/* 0746BC 7F03FB8C 8E180000 */ lw $t8, ($s0) +/* 0746C0 7F03FB90 8C840098 */ lw $a0, 0x98($a0) +/* 0746C4 7F03FB94 50800008 */ beql $a0, $zero, .L7F03FBB8 +/* 0746C8 7F03FB98 8E04009C */ lw $a0, 0x9c($s0) +/* 0746CC 7F03FB9C 0C00237C */ jal sfxGetArg0Unk3F +/* 0746D0 7F03FBA0 00000000 */ nop +/* 0746D4 7F03FBA4 50400004 */ beql $v0, $zero, .L7F03FBB8 +/* 0746D8 7F03FBA8 8E04009C */ lw $a0, 0x9c($s0) +/* 0746DC 7F03FBAC 0C002408 */ jal sfxDeactivate +/* 0746E0 7F03FBB0 8E040098 */ lw $a0, 0x98($s0) +/* 0746E4 7F03FBB4 8E04009C */ lw $a0, 0x9c($s0) +.L7F03FBB8: +/* 0746E8 7F03FBB8 50800008 */ beql $a0, $zero, .L7F03FBDC +/* 0746EC 7F03FBBC 8E180000 */ lw $t8, ($s0) +/* 0746F0 7F03FBC0 0C00237C */ jal sfxGetArg0Unk3F +/* 0746F4 7F03FBC4 00000000 */ nop +/* 0746F8 7F03FBC8 50400004 */ beql $v0, $zero, .L7F03FBDC +/* 0746FC 7F03FBCC 8E180000 */ lw $t8, ($s0) +/* 074700 7F03FBD0 0C002408 */ jal sfxDeactivate +/* 074704 7F03FBD4 8E04009C */ lw $a0, 0x9c($s0) +/* 074708 7F03FBD8 8E180000 */ lw $t8, ($s0) +.L7F03FBDC: +/* 07470C 7F03FBDC 3C018000 */ lui $at, 0x8000 +/* 074710 7F03FBE0 0301C825 */ or $t9, $t8, $at +/* 074714 7F03FBE4 AE190000 */ sw $t9, ($s0) +/* 074718 7F03FBE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 07471C 7F03FBEC 8FB00018 */ lw $s0, 0x18($sp) +/* 074720 7F03FBF0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 074724 7F03FBF4 03E00008 */ jr $ra +/* 074728 7F03FBF8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FBFC(void) { + +} +#else +GLOBAL_ASM( + +.text +glabel sub_GAME_7F03FBFC +/* 07472C 7F03FBFC 44800000 */ mtc1 $zero, $f0 +/* 074730 7F03FC00 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 074734 7F03FC04 44811000 */ mtc1 $at, $f2 +/* 074738 7F03FC08 AC800000 */ sw $zero, ($a0) +/* 07473C 7F03FC0C AC800088 */ sw $zero, 0x88($a0) +/* 074740 7F03FC10 3C018005 */ lui $at, %hi(D_80052A48) +/* 074744 7F03FC14 E4800004 */ swc1 $f0, 4($a0) +/* 074748 7F03FC18 E4800008 */ swc1 $f0, 8($a0) +/* 07474C 7F03FC1C E480000C */ swc1 $f0, 0xc($a0) +/* 074750 7F03FC20 E4800010 */ swc1 $f0, 0x10($a0) +/* 074754 7F03FC24 E4800014 */ swc1 $f0, 0x14($a0) +/* 074758 7F03FC28 E4800018 */ swc1 $f0, 0x18($a0) +/* 07475C 7F03FC2C E480001C */ swc1 $f0, 0x1c($a0) +/* 074760 7F03FC30 E4820060 */ swc1 $f2, 0x60($a0) +/* 074764 7F03FC34 C4242A48 */ lwc1 $f4, %lo(D_80052A48)($at) +/* 074768 7F03FC38 2402FFFF */ li $v0, -1 +/* 07476C 7F03FC3C 240E0001 */ li $t6, 1 +/* 074770 7F03FC40 AC800090 */ sw $zero, 0x90($a0) +/* 074774 7F03FC44 AC8200A0 */ sw $v0, 0xa0($a0) +/* 074778 7F03FC48 AC8000A4 */ sw $zero, 0xa4($a0) +/* 07477C 7F03FC4C AC8000A8 */ sw $zero, 0xa8($a0) +/* 074780 7F03FC50 AC8200AC */ sw $v0, 0xac($a0) +/* 074784 7F03FC54 AC8E00B8 */ sw $t6, 0xb8($a0) +/* 074788 7F03FC58 AC8000BC */ sw $zero, 0xbc($a0) +/* 07478C 7F03FC5C AC8000E0 */ sw $zero, 0xe0($a0) +/* 074790 7F03FC60 AC8000E4 */ sw $zero, 0xe4($a0) +/* 074794 7F03FC64 AC8000E8 */ sw $zero, 0xe8($a0) +/* 074798 7F03FC68 E4800094 */ swc1 $f0, 0x94($a0) +/* 07479C 7F03FC6C E48200C0 */ swc1 $f2, 0xc0($a0) +/* 0747A0 7F03FC70 E48200C4 */ swc1 $f2, 0xc4($a0) +/* 0747A4 7F03FC74 E48200C8 */ swc1 $f2, 0xc8($a0) +/* 0747A8 7F03FC78 03E00008 */ jr $ra +/* 0747AC 7F03FC7C E484008C */ swc1 $f4, 0x8c($a0) +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FC80(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FC80 +/* 0747B0 7F03FC80 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0747B4 7F03FC84 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) +/* 0747B8 7F03FC88 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) +/* 0747BC 7F03FC8C AFBF0014 */ sw $ra, 0x14($sp) +/* 0747C0 7F03FC90 2406FFFF */ li $a2, -1 +/* 0747C4 7F03FC94 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 +/* 0747C8 7F03FC98 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 +/* 0747CC 7F03FC9C 00002825 */ move $a1, $zero +/* 0747D0 7F03FCA0 3C038000 */ lui $v1, 0x8000 +.L7F03FCA4: +/* 0747D4 7F03FCA4 8C4E0000 */ lw $t6, ($v0) +/* 0747D8 7F03FCA8 244200EC */ addiu $v0, $v0, 0xec +/* 0747DC 7F03FCAC 0044082B */ sltu $at, $v0, $a0 +/* 0747E0 7F03FCB0 01C37824 */ and $t7, $t6, $v1 +/* 0747E4 7F03FCB4 11E00007 */ beqz $t7, .L7F03FCD4 +/* 0747E8 7F03FCB8 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) +/* 0747EC 7F03FCBC 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 +/* 0747F0 7F03FCC0 00E52021 */ addu $a0, $a3, $a1 +/* 0747F4 7F03FCC4 0FC0FEFF */ jal sub_GAME_7F03FBFC +/* 0747F8 7F03FCC8 AFA40020 */ sw $a0, 0x20($sp) +/* 0747FC 7F03FCCC 10000032 */ b .L7F03FD98 +/* 074800 7F03FCD0 8FA20020 */ lw $v0, 0x20($sp) +.L7F03FCD4: +/* 074804 7F03FCD4 1420FFF3 */ bnez $at, .L7F03FCA4 +/* 074808 7F03FCD8 24A500EC */ addiu $a1, $a1, 0xec +/* 07480C 7F03FCDC 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) +/* 074810 7F03FCE0 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) +/* 074814 7F03FCE4 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 +/* 074818 7F03FCE8 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 +/* 07481C 7F03FCEC 00001825 */ move $v1, $zero +/* 074820 7F03FCF0 240500EC */ li $a1, 236 +/* 074824 7F03FCF4 24040014 */ li $a0, 20 +.L7F03FCF8: +/* 074828 7F03FCF8 8C5800E4 */ lw $t8, 0xe4($v0) +/* 07482C 7F03FCFC 5300000D */ beql $t8, $zero, .L7F03FD34 +/* 074830 7F03FD00 24630001 */ addiu $v1, $v1, 1 +/* 074834 7F03FD04 04C2000A */ bltzl $a2, .L7F03FD30 +/* 074838 7F03FD08 00603025 */ move $a2, $v1 +/* 07483C 7F03FD0C 00C50019 */ multu $a2, $a1 +/* 074840 7F03FD10 8C5900E8 */ lw $t9, 0xe8($v0) +/* 074844 7F03FD14 00004812 */ mflo $t1 +/* 074848 7F03FD18 00E95021 */ addu $t2, $a3, $t1 +/* 07484C 7F03FD1C 8D4B00E8 */ lw $t3, 0xe8($t2) +/* 074850 7F03FD20 032B082A */ slt $at, $t9, $t3 +/* 074854 7F03FD24 50200003 */ beql $at, $zero, .L7F03FD34 +/* 074858 7F03FD28 24630001 */ addiu $v1, $v1, 1 +/* 07485C 7F03FD2C 00603025 */ move $a2, $v1 +.L7F03FD30: +/* 074860 7F03FD30 24630001 */ addiu $v1, $v1, 1 +.L7F03FD34: +/* 074864 7F03FD34 1464FFF0 */ bne $v1, $a0, .L7F03FCF8 +/* 074868 7F03FD38 244200EC */ addiu $v0, $v0, 0xec +/* 07486C 7F03FD3C 04C00016 */ bltz $a2, .L7F03FD98 +/* 074870 7F03FD40 00001025 */ move $v0, $zero +/* 074874 7F03FD44 00C50019 */ multu $a2, $a1 +/* 074878 7F03FD48 00001812 */ mflo $v1 +/* 07487C 7F03FD4C 00E34021 */ addu $t0, $a3, $v1 +/* 074880 7F03FD50 8D0C00E4 */ lw $t4, 0xe4($t0) +/* 074884 7F03FD54 8D840010 */ lw $a0, 0x10($t4) +/* 074888 7F03FD58 AFA80020 */ sw $t0, 0x20($sp) +/* 07488C 7F03FD5C 0FC1033C */ jal sub_GAME_7F040CF0 +/* 074890 7F03FD60 AFA30024 */ sw $v1, 0x24($sp) +/* 074894 7F03FD64 8FA80020 */ lw $t0, 0x20($sp) +/* 074898 7F03FD68 8FA30024 */ lw $v1, 0x24($sp) +/* 07489C 7F03FD6C 3C078007 */ lui $a3, %hi(dword_CODE_bss_80073DC0) +/* 0748A0 7F03FD70 8D0200E4 */ lw $v0, 0xe4($t0) +/* 0748A4 7F03FD74 24E73DC0 */ addiu $a3, %lo(dword_CODE_bss_80073DC0) # addiu $a3, $a3, 0x3dc0 +/* 0748A8 7F03FD78 00E32021 */ addu $a0, $a3, $v1 +/* 0748AC 7F03FD7C 8C4D0064 */ lw $t5, 0x64($v0) +/* 0748B0 7F03FD80 35AE0004 */ ori $t6, $t5, 4 +/* 0748B4 7F03FD84 AC4E0064 */ sw $t6, 0x64($v0) +/* 0748B8 7F03FD88 0FC0FEFF */ jal sub_GAME_7F03FBFC +/* 0748BC 7F03FD8C AFA4001C */ sw $a0, 0x1c($sp) +/* 0748C0 7F03FD90 10000001 */ b .L7F03FD98 +/* 0748C4 7F03FD94 8FA2001C */ lw $v0, 0x1c($sp) +.L7F03FD98: +/* 0748C8 7F03FD98 8FBF0014 */ lw $ra, 0x14($sp) +/* 0748CC 7F03FD9C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0748D0 7F03FDA0 03E00008 */ jr $ra +/* 0748D4 7F03FDA4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FDA8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FDA8 +/* 0748D8 7F03FDA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0748DC 7F03FDAC AFBF0014 */ sw $ra, 0x14($sp) +/* 0748E0 7F03FDB0 8C830004 */ lw $v1, 4($a0) +/* 0748E4 7F03FDB4 8C620064 */ lw $v0, 0x64($v1) +/* 0748E8 7F03FDB8 304E0040 */ andi $t6, $v0, 0x40 +/* 0748EC 7F03FDBC 11C00007 */ beqz $t6, .L7F03FDDC +/* 0748F0 7F03FDC0 30580080 */ andi $t8, $v0, 0x80 +/* 0748F4 7F03FDC4 0FC0FF20 */ jal sub_GAME_7F03FC80 +/* 0748F8 7F03FDC8 AFA3001C */ sw $v1, 0x1c($sp) +/* 0748FC 7F03FDCC 8FA3001C */ lw $v1, 0x1c($sp) +/* 074900 7F03FDD0 8C6F006C */ lw $t7, 0x6c($v1) +/* 074904 7F03FDD4 1000000B */ b .L7F03FE04 +/* 074908 7F03FDD8 ADE20044 */ sw $v0, 0x44($t7) +.L7F03FDDC: +/* 07490C 7F03FDDC 5700000A */ bnezl $t8, .L7F03FE08 +/* 074910 7F03FDE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 074914 7F03FDE4 0FC0FF20 */ jal sub_GAME_7F03FC80 +/* 074918 7F03FDE8 AFA3001C */ sw $v1, 0x1c($sp) +/* 07491C 7F03FDEC 8FA3001C */ lw $v1, 0x1c($sp) +/* 074920 7F03FDF0 10400004 */ beqz $v0, .L7F03FE04 +/* 074924 7F03FDF4 AC62006C */ sw $v0, 0x6c($v1) +/* 074928 7F03FDF8 8C790064 */ lw $t9, 0x64($v1) +/* 07492C 7F03FDFC 37280080 */ ori $t0, $t9, 0x80 +/* 074930 7F03FE00 AC680064 */ sw $t0, 0x64($v1) +.L7F03FE04: +/* 074934 7F03FE04 8FBF0014 */ lw $ra, 0x14($sp) +.L7F03FE08: +/* 074938 7F03FE08 27BD0020 */ addiu $sp, $sp, 0x20 +/* 07493C 7F03FE0C 03E00008 */ jr $ra +/* 074940 7F03FE10 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FE14(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FE14 +/* 074944 7F03FE14 8C820004 */ lw $v0, 4($a0) +/* 074948 7F03FE18 00001825 */ move $v1, $zero +/* 07494C 7F03FE1C 8C450064 */ lw $a1, 0x64($v0) +/* 074950 7F03FE20 30AE0040 */ andi $t6, $a1, 0x40 +/* 074954 7F03FE24 11C00004 */ beqz $t6, .L7F03FE38 +/* 074958 7F03FE28 30B80080 */ andi $t8, $a1, 0x80 +/* 07495C 7F03FE2C 8C4F006C */ lw $t7, 0x6c($v0) +/* 074960 7F03FE30 10000004 */ b .L7F03FE44 +/* 074964 7F03FE34 8DE30044 */ lw $v1, 0x44($t7) +.L7F03FE38: +/* 074968 7F03FE38 13000002 */ beqz $t8, .L7F03FE44 +/* 07496C 7F03FE3C 00000000 */ nop +/* 074970 7F03FE40 8C43006C */ lw $v1, 0x6c($v0) +.L7F03FE44: +/* 074974 7F03FE44 1060000E */ beqz $v1, .L7F03FE80 +/* 074978 7F03FE48 00000000 */ nop +/* 07497C 7F03FE4C 8C790000 */ lw $t9, ($v1) +/* 074980 7F03FE50 240A00FF */ li $t2, 255 +/* 074984 7F03FE54 240B00FF */ li $t3, 255 +/* 074988 7F03FE58 37280004 */ ori $t0, $t9, 4 +/* 07498C 7F03FE5C AC680000 */ sw $t0, ($v1) +/* 074990 7F03FE60 8C820014 */ lw $v0, 0x14($a0) +/* 074994 7F03FE64 50400006 */ beql $v0, $zero, .L7F03FE80 +/* 074998 7F03FE68 A06B00CC */ sb $t3, 0xcc($v1) +/* 07499C 7F03FE6C 90490003 */ lbu $t1, 3($v0) +/* 0749A0 7F03FE70 A06A00CD */ sb $t2, 0xcd($v1) +/* 0749A4 7F03FE74 03E00008 */ jr $ra +/* 0749A8 7F03FE78 A06900CC */ sb $t1, 0xcc($v1) + +/* 0749AC 7F03FE7C A06B00CC */ sb $t3, 0xcc($v1) +.L7F03FE80: +/* 0749B0 7F03FE80 03E00008 */ jr $ra +/* 0749B4 7F03FE84 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FE88(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FE88 +/* 0749B8 7F03FE88 8C8E0000 */ lw $t6, ($a0) +/* 0749BC 7F03FE8C 35CF0001 */ ori $t7, $t6, 1 +/* 0749C0 7F03FE90 03E00008 */ jr $ra +/* 0749C4 7F03FE94 AC8F0000 */ sw $t7, ($a0) +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FE98(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FE98 +/* 0749C8 7F03FE98 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) +/* 0749CC 7F03FE9C 3C028007 */ lui $v0, %hi(objinst) +/* 0749D0 7F03FEA0 24425B70 */ addiu $v0, %lo(objinst) # addiu $v0, $v0, 0x5b70 +/* 0749D4 7F03FEA4 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 +/* 0749D8 7F03FEA8 00001825 */ move $v1, $zero +.L7F03FEAC: +/* 0749DC 7F03FEAC 8C8E0000 */ lw $t6, ($a0) +/* 0749E0 7F03FEB0 31CF0001 */ andi $t7, $t6, 1 +/* 0749E4 7F03FEB4 11E00006 */ beqz $t7, .L7F03FED0 +/* 0749E8 7F03FEB8 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075030) +/* 0749EC 7F03FEBC 27185030 */ addiu $t8, %lo(dword_CODE_bss_80075030) # addiu $t8, $t8, 0x5030 +/* 0749F0 7F03FEC0 AC800000 */ sw $zero, ($a0) +/* 0749F4 7F03FEC4 AC800044 */ sw $zero, 0x44($a0) +/* 0749F8 7F03FEC8 03E00008 */ jr $ra +/* 0749FC 7F03FECC 00781021 */ addu $v0, $v1, $t8 + +.L7F03FED0: +/* 074A00 7F03FED0 8C990048 */ lw $t9, 0x48($a0) +/* 074A04 7F03FED4 33280001 */ andi $t0, $t9, 1 +/* 074A08 7F03FED8 11000007 */ beqz $t0, .L7F03FEF8 +/* 074A0C 7F03FEDC 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80075030) +/* 074A10 7F03FEE0 254A5030 */ addiu $t2, %lo(dword_CODE_bss_80075030) # addiu $t2, $t2, 0x5030 +/* 074A14 7F03FEE4 24690048 */ addiu $t1, $v1, 0x48 +/* 074A18 7F03FEE8 012A1021 */ addu $v0, $t1, $t2 +/* 074A1C 7F03FEEC AC800048 */ sw $zero, 0x48($a0) +/* 074A20 7F03FEF0 03E00008 */ jr $ra +/* 074A24 7F03FEF4 AC80008C */ sw $zero, 0x8c($a0) + +.L7F03FEF8: +/* 074A28 7F03FEF8 8C8B0090 */ lw $t3, 0x90($a0) +/* 074A2C 7F03FEFC 316C0001 */ andi $t4, $t3, 1 +/* 074A30 7F03FF00 11800007 */ beqz $t4, .L7F03FF20 +/* 074A34 7F03FF04 3C0E8007 */ lui $t6, %hi(dword_CODE_bss_80075030) +/* 074A38 7F03FF08 25CE5030 */ addiu $t6, %lo(dword_CODE_bss_80075030) # addiu $t6, $t6, 0x5030 +/* 074A3C 7F03FF0C 246D0090 */ addiu $t5, $v1, 0x90 +/* 074A40 7F03FF10 01AE1021 */ addu $v0, $t5, $t6 +/* 074A44 7F03FF14 AC800090 */ sw $zero, 0x90($a0) +/* 074A48 7F03FF18 03E00008 */ jr $ra +/* 074A4C 7F03FF1C AC8000D4 */ sw $zero, 0xd4($a0) + +.L7F03FF20: +/* 074A50 7F03FF20 8C8F00D8 */ lw $t7, 0xd8($a0) +/* 074A54 7F03FF24 31F80001 */ andi $t8, $t7, 1 +/* 074A58 7F03FF28 13000007 */ beqz $t8, .L7F03FF48 +/* 074A5C 7F03FF2C 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075030) +/* 074A60 7F03FF30 25085030 */ addiu $t0, %lo(dword_CODE_bss_80075030) # addiu $t0, $t0, 0x5030 +/* 074A64 7F03FF34 247900D8 */ addiu $t9, $v1, 0xd8 +/* 074A68 7F03FF38 03281021 */ addu $v0, $t9, $t0 +/* 074A6C 7F03FF3C AC8000D8 */ sw $zero, 0xd8($a0) +/* 074A70 7F03FF40 03E00008 */ jr $ra +/* 074A74 7F03FF44 AC80011C */ sw $zero, 0x11c($a0) + +.L7F03FF48: +/* 074A78 7F03FF48 24840120 */ addiu $a0, $a0, 0x120 +/* 074A7C 7F03FF4C 1482FFD7 */ bne $a0, $v0, .L7F03FEAC +/* 074A80 7F03FF50 24630120 */ addiu $v1, $v1, 0x120 +/* 074A84 7F03FF54 00001025 */ move $v0, $zero +/* 074A88 7F03FF58 03E00008 */ jr $ra +/* 074A8C 7F03FF5C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FF60(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FF60 +/* 074A90 7F03FF60 908E0002 */ lbu $t6, 2($a0) +/* 074A94 7F03FF64 3C014080 */ lui $at, 0x4080 +/* 074A98 7F03FF68 31CF0080 */ andi $t7, $t6, 0x80 +/* 074A9C 7F03FF6C 55E0000C */ bnezl $t7, .L7F03FFA0 +/* 074AA0 7F03FF70 C4840070 */ lwc1 $f4, 0x70($a0) +/* 074AA4 7F03FF74 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 074AA8 7F03FF78 44813000 */ mtc1 $at, $f6 +/* 074AAC 7F03FF7C C4840070 */ lwc1 $f4, 0x70($a0) +/* 074AB0 7F03FF80 C48A0074 */ lwc1 $f10, 0x74($a0) +/* 074AB4 7F03FF84 46062202 */ mul.s $f8, $f4, $f6 +/* 074AB8 7F03FF88 460A4403 */ div.s $f16, $f8, $f10 +/* 074ABC 7F03FF8C 4600848D */ trunc.w.s $f18, $f16 +/* 074AC0 7F03FF90 44029000 */ mfc1 $v0, $f18 +/* 074AC4 7F03FF94 03E00008 */ jr $ra +/* 074AC8 7F03FF98 00000000 */ nop + +/* 074ACC 7F03FF9C C4840070 */ lwc1 $f4, 0x70($a0) +.L7F03FFA0: +/* 074AD0 7F03FFA0 44813000 */ mtc1 $at, $f6 +/* 074AD4 7F03FFA4 00000000 */ nop +/* 074AD8 7F03FFA8 46062200 */ add.s $f8, $f4, $f6 +/* 074ADC 7F03FFAC 4600428D */ trunc.w.s $f10, $f8 +/* 074AE0 7F03FFB0 44025000 */ mfc1 $v0, $f10 +/* 074AE4 7F03FFB4 00000000 */ nop +/* 074AE8 7F03FFB8 03E00008 */ jr $ra +/* 074AEC 7F03FFBC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void do_something_if_object_destroyed(void) { + +} +#else +GLOBAL_ASM( +.text +glabel do_something_if_object_destroyed +/* 074AF0 7F03FFC0 908E0002 */ lbu $t6, 2($a0) +/* 074AF4 7F03FFC4 31CF0080 */ andi $t7, $t6, 0x80 +/* 074AF8 7F03FFC8 55E00004 */ bnezl $t7, .L7F03FFDC +/* 074AFC 7F03FFCC C4840070 */ lwc1 $f4, 0x70($a0) +/* 074B00 7F03FFD0 03E00008 */ jr $ra +/* 074B04 7F03FFD4 00001025 */ move $v0, $zero + +/* 074B08 7F03FFD8 C4840070 */ lwc1 $f4, 0x70($a0) +.L7F03FFDC: +/* 074B0C 7F03FFDC 4600218D */ trunc.w.s $f6, $f4 +/* 074B10 7F03FFE0 44023000 */ mfc1 $v0, $f6 +/* 074B14 7F03FFE4 00000000 */ nop +/* 074B18 7F03FFE8 0002C883 */ sra $t9, $v0, 2 +/* 074B1C 7F03FFEC 27220001 */ addiu $v0, $t9, 1 +/* 074B20 7F03FFF0 03E00008 */ jr $ra +/* 074B24 7F03FFF4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F03FFF8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F03FFF8 +/* 074B28 7F03FFF8 8C8E0000 */ lw $t6, ($a0) +/* 074B2C 7F03FFFC 8DC20014 */ lw $v0, 0x14($t6) +/* 074B30 7F040000 5040001B */ beql $v0, $zero, .L7F040070 +/* 074B34 7F040004 00001025 */ move $v0, $zero +/* 074B38 7F040008 1040000A */ beqz $v0, .L7F040034 +/* 074B3C 7F04000C 00401825 */ move $v1, $v0 +/* 074B40 7F040010 2405000A */ li $a1, 10 +/* 074B44 7F040014 946F0000 */ lhu $t7, ($v1) +.L7F040018: +/* 074B48 7F040018 54AF0004 */ bnel $a1, $t7, .L7F04002C +/* 074B4C 7F04001C 8C63000C */ lw $v1, 0xc($v1) +/* 074B50 7F040020 03E00008 */ jr $ra +/* 074B54 7F040024 8C620004 */ lw $v0, 4($v1) + +/* 074B58 7F040028 8C63000C */ lw $v1, 0xc($v1) +.L7F04002C: +/* 074B5C 7F04002C 5460FFFA */ bnezl $v1, .L7F040018 +/* 074B60 7F040030 946F0000 */ lhu $t7, ($v1) +.L7F040034: +/* 074B64 7F040034 8C440014 */ lw $a0, 0x14($v0) +/* 074B68 7F040038 2405000A */ li $a1, 10 +/* 074B6C 7F04003C 5080000C */ beql $a0, $zero, .L7F040070 +/* 074B70 7F040040 00001025 */ move $v0, $zero +/* 074B74 7F040044 10800009 */ beqz $a0, .L7F04006C +/* 074B78 7F040048 00801825 */ move $v1, $a0 +/* 074B7C 7F04004C 94780000 */ lhu $t8, ($v1) +.L7F040050: +/* 074B80 7F040050 54B80004 */ bnel $a1, $t8, .L7F040064 +/* 074B84 7F040054 8C63000C */ lw $v1, 0xc($v1) +/* 074B88 7F040058 03E00008 */ jr $ra +/* 074B8C 7F04005C 8C620004 */ lw $v0, 4($v1) + +/* 074B90 7F040060 8C63000C */ lw $v1, 0xc($v1) +.L7F040064: +/* 074B94 7F040064 5460FFFA */ bnezl $v1, .L7F040050 +/* 074B98 7F040068 94780000 */ lhu $t8, ($v1) +.L7F04006C: +/* 074B9C 7F04006C 00001025 */ move $v0, $zero +.L7F040070: +/* 074BA0 7F040070 03E00008 */ jr $ra +/* 074BA4 7F040074 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040078(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040078 +/* 074BA8 7F040078 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 074BAC 7F04007C AFBF0014 */ sw $ra, 0x14($sp) +/* 074BB0 7F040080 8C8E0014 */ lw $t6, 0x14($a0) +/* 074BB4 7F040084 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 074BB8 7F040088 8DC40008 */ lw $a0, 8($t6) +/* 074BBC 7F04008C 8FBF0014 */ lw $ra, 0x14($sp) +/* 074BC0 7F040090 27BD0018 */ addiu $sp, $sp, 0x18 +/* 074BC4 7F040094 03E00008 */ jr $ra +/* 074BC8 7F040098 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void set_color_shading_from_tile(void) { + +} +#else +GLOBAL_ASM( +.text +glabel set_color_shading_from_tile +/* 074BCC 7F04009C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 074BD0 7F0400A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 074BD4 7F0400A4 AFA40018 */ sw $a0, 0x18($sp) +/* 074BD8 7F0400A8 00807025 */ move $t6, $a0 +/* 074BDC 7F0400AC 00A03825 */ move $a3, $a1 +/* 074BE0 7F0400B0 8DC50008 */ lw $a1, 8($t6) +/* 074BE4 7F0400B4 8DC60010 */ lw $a2, 0x10($t6) +/* 074BE8 7F0400B8 8C840014 */ lw $a0, 0x14($a0) +/* 074BEC 7F0400BC 0FC2CB0B */ jal copy_tile_RGB_as_24bit +/* 074BF0 7F0400C0 AFA7001C */ sw $a3, 0x1c($sp) +/* 074BF4 7F0400C4 8FA7001C */ lw $a3, 0x1c($sp) +/* 074BF8 7F0400C8 3C013F40 */ li $at, 0x3F400000 # 0.750000 +/* 074BFC 7F0400CC 44814000 */ mtc1 $at, $f8 +/* 074C00 7F0400D0 90EB0002 */ lbu $t3, 2($a3) +/* 074C04 7F0400D4 90ED0000 */ lbu $t5, ($a3) +/* 074C08 7F0400D8 90FF0001 */ lbu $ra, 1($a3) +/* 074C0C 7F0400DC 000B7880 */ sll $t7, $t3, 2 +/* 074C10 7F0400E0 000DC080 */ sll $t8, $t5, 2 +/* 074C14 7F0400E4 01EB7821 */ addu $t7, $t7, $t3 +/* 074C18 7F0400E8 030DC021 */ addu $t8, $t8, $t5 +/* 074C1C 7F0400EC 001F7080 */ sll $t6, $ra, 2 +/* 074C20 7F0400F0 0018C100 */ sll $t8, $t8, 4 +/* 074C24 7F0400F4 000F7880 */ sll $t7, $t7, 2 +/* 074C28 7F0400F8 01DF7021 */ addu $t6, $t6, $ra +/* 074C2C 7F0400FC 000E70C0 */ sll $t6, $t6, 3 +/* 074C30 7F040100 01EB7821 */ addu $t7, $t7, $t3 +/* 074C34 7F040104 030DC023 */ subu $t8, $t8, $t5 +/* 074C38 7F040108 01F8C821 */ addu $t9, $t7, $t8 +/* 074C3C 7F04010C 01DF7023 */ subu $t6, $t6, $ra +/* 074C40 7F040110 000E7080 */ sll $t6, $t6, 2 +/* 074C44 7F040114 032E1821 */ addu $v1, $t9, $t6 +/* 074C48 7F040118 00037A03 */ sra $t7, $v1, 8 +/* 074C4C 7F04011C 241800FF */ li $t8, 255 +/* 074C50 7F040120 030FC823 */ subu $t9, $t8, $t7 +/* 074C54 7F040124 44992000 */ mtc1 $t9, $f4 +/* 074C58 7F040128 240F0001 */ li $t7, 1 +/* 074C5C 7F04012C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 074C60 7F040130 468021A0 */ cvt.s.w $f6, $f4 +/* 074C64 7F040134 00001025 */ move $v0, $zero +/* 074C68 7F040138 00006025 */ move $t4, $zero +/* 074C6C 7F04013C 46083282 */ mul.s $f10, $f6, $f8 +/* 074C70 7F040140 444EF800 */ cfc1 $t6, $31 +/* 074C74 7F040144 44CFF800 */ ctc1 $t7, $31 +/* 074C78 7F040148 00000000 */ nop +/* 074C7C 7F04014C 46005424 */ cvt.w.s $f16, $f10 +/* 074C80 7F040150 444FF800 */ cfc1 $t7, $31 +/* 074C84 7F040154 00000000 */ nop +/* 074C88 7F040158 31EF0078 */ andi $t7, $t7, 0x78 +/* 074C8C 7F04015C 51E00013 */ beql $t7, $zero, .L7F0401AC +/* 074C90 7F040160 440F8000 */ mfc1 $t7, $f16 +/* 074C94 7F040164 44818000 */ mtc1 $at, $f16 +/* 074C98 7F040168 240F0001 */ li $t7, 1 +/* 074C9C 7F04016C 46105401 */ sub.s $f16, $f10, $f16 +/* 074CA0 7F040170 44CFF800 */ ctc1 $t7, $31 +/* 074CA4 7F040174 00000000 */ nop +/* 074CA8 7F040178 46008424 */ cvt.w.s $f16, $f16 +/* 074CAC 7F04017C 444FF800 */ cfc1 $t7, $31 +/* 074CB0 7F040180 00000000 */ nop +/* 074CB4 7F040184 31EF0078 */ andi $t7, $t7, 0x78 +/* 074CB8 7F040188 15E00005 */ bnez $t7, .L7F0401A0 +/* 074CBC 7F04018C 00000000 */ nop +/* 074CC0 7F040190 440F8000 */ mfc1 $t7, $f16 +/* 074CC4 7F040194 3C018000 */ lui $at, 0x8000 +/* 074CC8 7F040198 10000007 */ b .L7F0401B8 +/* 074CCC 7F04019C 01E17825 */ or $t7, $t7, $at +.L7F0401A0: +/* 074CD0 7F0401A0 10000005 */ b .L7F0401B8 +/* 074CD4 7F0401A4 240FFFFF */ li $t7, -1 +/* 074CD8 7F0401A8 440F8000 */ mfc1 $t7, $f16 +.L7F0401AC: +/* 074CDC 7F0401AC 00000000 */ nop +/* 074CE0 7F0401B0 05E0FFFB */ bltz $t7, .L7F0401A0 +/* 074CE4 7F0401B4 00000000 */ nop +.L7F0401B8: +/* 074CE8 7F0401B8 44CEF800 */ ctc1 $t6, $31 +/* 074CEC 7F0401BC 01BF082A */ slt $at, $t5, $ra +/* 074CF0 7F0401C0 10200003 */ beqz $at, .L7F0401D0 +/* 074CF4 7F0401C4 A0EF0003 */ sb $t7, 3($a3) +/* 074CF8 7F0401C8 10000002 */ b .L7F0401D4 +/* 074CFC 7F0401CC 24020001 */ li $v0, 1 +.L7F0401D0: +/* 074D00 7F0401D0 240C0001 */ li $t4, 1 +.L7F0401D4: +/* 074D04 7F0401D4 00E25021 */ addu $t2, $a3, $v0 +/* 074D08 7F0401D8 91460000 */ lbu $a2, ($t2) +/* 074D0C 7F0401DC 00402825 */ move $a1, $v0 +/* 074D10 7F0401E0 00ECC021 */ addu $t8, $a3, $t4 +/* 074D14 7F0401E4 00CB082A */ slt $at, $a2, $t3 +/* 074D18 7F0401E8 50200005 */ beql $at, $zero, .L7F040200 +/* 074D1C 7F0401EC 93190000 */ lbu $t9, ($t8) +/* 074D20 7F0401F0 24EA0002 */ addiu $t2, $a3, 2 +/* 074D24 7F0401F4 10000009 */ b .L7F04021C +/* 074D28 7F0401F8 91460000 */ lbu $a2, ($t2) +/* 074D2C 7F0401FC 93190000 */ lbu $t9, ($t8) +.L7F040200: +/* 074D30 7F040200 01802825 */ move $a1, $t4 +/* 074D34 7F040204 032B082A */ slt $at, $t9, $t3 +/* 074D38 7F040208 50200004 */ beql $at, $zero, .L7F04021C +/* 074D3C 7F04020C 240C0002 */ li $t4, 2 +/* 074D40 7F040210 10000002 */ b .L7F04021C +/* 074D44 7F040214 24050002 */ li $a1, 2 +/* 074D48 7F040218 240C0002 */ li $t4, 2 +.L7F04021C: +/* 074D4C 7F04021C 18C0001B */ blez $a2, .L7F04028C +/* 074D50 7F040220 00E51821 */ addu $v1, $a3, $a1 +/* 074D54 7F040224 00EC1021 */ addu $v0, $a3, $t4 +/* 074D58 7F040228 904E0000 */ lbu $t6, ($v0) +/* 074D5C 7F04022C 906F0000 */ lbu $t7, ($v1) +/* 074D60 7F040230 A0400000 */ sb $zero, ($v0) +/* 074D64 7F040234 00CE2023 */ subu $a0, $a2, $t6 +/* 074D68 7F040238 01E40019 */ multu $t7, $a0 +/* 074D6C 7F04023C 00804825 */ move $t1, $a0 +/* 074D70 7F040240 0000C012 */ mflo $t8 +/* 074D74 7F040244 00000000 */ nop +/* 074D78 7F040248 00000000 */ nop +/* 074D7C 7F04024C 0306001A */ div $zero, $t8, $a2 +/* 074D80 7F040250 00004012 */ mflo $t0 +/* 074D84 7F040254 A0680000 */ sb $t0, ($v1) +/* 074D88 7F040258 A1440000 */ sb $a0, ($t2) +/* 074D8C 7F04025C 14C00002 */ bnez $a2, .L7F040268 +/* 074D90 7F040260 00000000 */ nop +/* 074D94 7F040264 0007000D */ break 7 +.L7F040268: +/* 074D98 7F040268 2401FFFF */ li $at, -1 +/* 074D9C 7F04026C 14C10004 */ bne $a2, $at, .L7F040280 +/* 074DA0 7F040270 3C018000 */ lui $at, 0x8000 +/* 074DA4 7F040274 17010002 */ bne $t8, $at, .L7F040280 +/* 074DA8 7F040278 00000000 */ nop +/* 074DAC 7F04027C 0006000D */ break 6 +.L7F040280: +/* 074DB0 7F040280 90FF0001 */ lbu $ra, 1($a3) +/* 074DB4 7F040284 90ED0000 */ lbu $t5, ($a3) +/* 074DB8 7F040288 90EB0002 */ lbu $t3, 2($a3) +.L7F04028C: +/* 074DBC 7F04028C 000DC842 */ srl $t9, $t5, 1 +/* 074DC0 7F040290 001F7042 */ srl $t6, $ra, 1 +/* 074DC4 7F040294 000B7842 */ srl $t7, $t3, 1 +/* 074DC8 7F040298 A0F90000 */ sb $t9, ($a3) +/* 074DCC 7F04029C A0EE0001 */ sb $t6, 1($a3) +/* 074DD0 7F0402A0 A0EF0002 */ sb $t7, 2($a3) +/* 074DD4 7F0402A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 074DD8 7F0402A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 074DDC 7F0402AC 03E00008 */ jr $ra +/* 074DE0 7F0402B0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0402B4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0402B4 +/* 074DE4 7F0402B4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 074DE8 7F0402B8 AFBF0014 */ sw $ra, 0x14($sp) +/* 074DEC 7F0402BC 8C820004 */ lw $v0, 4($a0) +/* 074DF0 7F0402C0 8C4E0008 */ lw $t6, 8($v0) +/* 074DF4 7F0402C4 31CF0400 */ andi $t7, $t6, 0x400 +/* 074DF8 7F0402C8 55E0000E */ bnezl $t7, .L7F040304 +/* 074DFC 7F0402CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 074E00 7F0402D0 0FC10027 */ jal set_color_shading_from_tile +/* 074E04 7F0402D4 AFA5001C */ sw $a1, 0x1c($sp) +/* 074E08 7F0402D8 8FA5001C */ lw $a1, 0x1c($sp) +/* 074E0C 7F0402DC 90B80000 */ lbu $t8, ($a1) +/* 074E10 7F0402E0 90A80001 */ lbu $t0, 1($a1) +/* 074E14 7F0402E4 90AA0002 */ lbu $t2, 2($a1) +/* 074E18 7F0402E8 0018C842 */ srl $t9, $t8, 1 +/* 074E1C 7F0402EC 00084842 */ srl $t1, $t0, 1 +/* 074E20 7F0402F0 000A5842 */ srl $t3, $t2, 1 +/* 074E24 7F0402F4 A0B90000 */ sb $t9, ($a1) +/* 074E28 7F0402F8 A0A90001 */ sb $t1, 1($a1) +/* 074E2C 7F0402FC A0AB0002 */ sb $t3, 2($a1) +/* 074E30 7F040300 8FBF0014 */ lw $ra, 0x14($sp) +.L7F040304: +/* 074E34 7F040304 27BD0018 */ addiu $sp, $sp, 0x18 +/* 074E38 7F040308 03E00008 */ jr $ra +/* 074E3C 7F04030C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void update_color_shading(void) { + +} +#else +GLOBAL_ASM( +.text +glabel update_color_shading +/* 074E40 7F040310 90880000 */ lbu $t0, ($a0) +/* 074E44 7F040314 90AE0000 */ lbu $t6, ($a1) +/* 074E48 7F040318 90890001 */ lbu $t1, 1($a0) +/* 074E4C 7F04031C 908A0002 */ lbu $t2, 2($a0) +/* 074E50 7F040320 01C81023 */ subu $v0, $t6, $t0 +/* 074E54 7F040324 244F0007 */ addiu $t7, $v0, 7 +/* 074E58 7F040328 000FC0C3 */ sra $t8, $t7, 3 +/* 074E5C 7F04032C 01181821 */ addu $v1, $t0, $t8 +/* 074E60 7F040330 A0830000 */ sb $v1, ($a0) +/* 074E64 7F040334 90B90001 */ lbu $t9, 1($a1) +/* 074E68 7F040338 908B0003 */ lbu $t3, 3($a0) +/* 074E6C 7F04033C 03291023 */ subu $v0, $t9, $t1 +/* 074E70 7F040340 244C0007 */ addiu $t4, $v0, 7 +/* 074E74 7F040344 000C68C3 */ sra $t5, $t4, 3 +/* 074E78 7F040348 012D1821 */ addu $v1, $t1, $t5 +/* 074E7C 7F04034C A0830001 */ sb $v1, 1($a0) +/* 074E80 7F040350 90AE0002 */ lbu $t6, 2($a1) +/* 074E84 7F040354 01CA1023 */ subu $v0, $t6, $t2 +/* 074E88 7F040358 244F0007 */ addiu $t7, $v0, 7 +/* 074E8C 7F04035C 000FC0C3 */ sra $t8, $t7, 3 +/* 074E90 7F040360 01581821 */ addu $v1, $t2, $t8 +/* 074E94 7F040364 A0830002 */ sb $v1, 2($a0) +/* 074E98 7F040368 90B90003 */ lbu $t9, 3($a1) +/* 074E9C 7F04036C 032B1023 */ subu $v0, $t9, $t3 +/* 074EA0 7F040370 244C0007 */ addiu $t4, $v0, 7 +/* 074EA4 7F040374 000C68C3 */ sra $t5, $t4, 3 +/* 074EA8 7F040378 016D1821 */ addu $v1, $t3, $t5 +/* 074EAC 7F04037C 03E00008 */ jr $ra +/* 074EB0 7F040380 A0830003 */ sb $v1, 3($a0) +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040384(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040384 +/* 074EB4 7F040384 24010001 */ li $at, 1 +/* 074EB8 7F040388 14A1003C */ bne $a1, $at, .L7F04047C +/* 074EBC 7F04038C 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 074EC0 7F040390 44811000 */ mtc1 $at, $f2 +/* 074EC4 7F040394 C4C40000 */ lwc1 $f4, ($a2) +/* 074EC8 7F040398 C4C80004 */ lwc1 $f8, 4($a2) +/* 074ECC 7F04039C C4D00008 */ lwc1 $f16, 8($a2) +/* 074ED0 7F0403A0 46022182 */ mul.s $f6, $f4, $f2 +/* 074ED4 7F0403A4 00000000 */ nop +/* 074ED8 7F0403A8 46024282 */ mul.s $f10, $f8, $f2 +/* 074EDC 7F0403AC 00000000 */ nop +/* 074EE0 7F0403B0 46028482 */ mul.s $f18, $f16, $f2 +/* 074EE4 7F0403B4 E4C60000 */ swc1 $f6, ($a2) +/* 074EE8 7F0403B8 C4C80000 */ lwc1 $f8, ($a2) +/* 074EEC 7F0403BC C4C6000C */ lwc1 $f6, 0xc($a2) +/* 074EF0 7F0403C0 E4CA0004 */ swc1 $f10, 4($a2) +/* 074EF4 7F0403C4 E4D20008 */ swc1 $f18, 8($a2) +/* 074EF8 7F0403C8 8C8E0000 */ lw $t6, ($a0) +/* 074EFC 7F0403CC 8C990004 */ lw $t9, 4($a0) +/* 074F00 7F0403D0 8C8A0008 */ lw $t2, 8($a0) +/* 074F04 7F0403D4 448E2000 */ mtc1 $t6, $f4 +/* 074F08 7F0403D8 8C8D000C */ lw $t5, 0xc($a0) +/* 074F0C 7F0403DC 46802020 */ cvt.s.w $f0, $f4 +/* 074F10 7F0403E0 46004281 */ sub.s $f10, $f8, $f0 +/* 074F14 7F0403E4 44994000 */ mtc1 $t9, $f8 +/* 074F18 7F0403E8 460A3402 */ mul.s $f16, $f6, $f10 +/* 074F1C 7F0403EC 46008480 */ add.s $f18, $f16, $f0 +/* 074F20 7F0403F0 46804020 */ cvt.s.w $f0, $f8 +/* 074F24 7F0403F4 4600910D */ trunc.w.s $f4, $f18 +/* 074F28 7F0403F8 44182000 */ mfc1 $t8, $f4 +/* 074F2C 7F0403FC 00000000 */ nop +/* 074F30 7F040400 AC980000 */ sw $t8, ($a0) +/* 074F34 7F040404 C4CA0004 */ lwc1 $f10, 4($a2) +/* 074F38 7F040408 C4C6000C */ lwc1 $f6, 0xc($a2) +/* 074F3C 7F04040C 46005401 */ sub.s $f16, $f10, $f0 +/* 074F40 7F040410 448A5000 */ mtc1 $t2, $f10 +/* 074F44 7F040414 46103482 */ mul.s $f18, $f6, $f16 +/* 074F48 7F040418 46009100 */ add.s $f4, $f18, $f0 +/* 074F4C 7F04041C 46805020 */ cvt.s.w $f0, $f10 +/* 074F50 7F040420 4600220D */ trunc.w.s $f8, $f4 +/* 074F54 7F040424 44094000 */ mfc1 $t1, $f8 +/* 074F58 7F040428 00000000 */ nop +/* 074F5C 7F04042C AC890004 */ sw $t1, 4($a0) +/* 074F60 7F040430 C4D00008 */ lwc1 $f16, 8($a2) +/* 074F64 7F040434 C4C6000C */ lwc1 $f6, 0xc($a2) +/* 074F68 7F040438 46008481 */ sub.s $f18, $f16, $f0 +/* 074F6C 7F04043C 448D8000 */ mtc1 $t5, $f16 +/* 074F70 7F040440 46123102 */ mul.s $f4, $f6, $f18 +/* 074F74 7F040444 46002200 */ add.s $f8, $f4, $f0 +/* 074F78 7F040448 46808020 */ cvt.s.w $f0, $f16 +/* 074F7C 7F04044C 4600428D */ trunc.w.s $f10, $f8 +/* 074F80 7F040450 46001481 */ sub.s $f18, $f2, $f0 +/* 074F84 7F040454 440C5000 */ mfc1 $t4, $f10 +/* 074F88 7F040458 00000000 */ nop +/* 074F8C 7F04045C AC8C0008 */ sw $t4, 8($a0) +/* 074F90 7F040460 C4C6000C */ lwc1 $f6, 0xc($a2) +/* 074F94 7F040464 46123102 */ mul.s $f4, $f6, $f18 +/* 074F98 7F040468 46002200 */ add.s $f8, $f4, $f0 +/* 074F9C 7F04046C 4600428D */ trunc.w.s $f10, $f8 +/* 074FA0 7F040470 440F5000 */ mfc1 $t7, $f10 +/* 074FA4 7F040474 00000000 */ nop +/* 074FA8 7F040478 AC8F000C */ sw $t7, 0xc($a0) +.L7F04047C: +/* 074FAC 7F04047C 03E00008 */ jr $ra +/* 074FB0 7F040480 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040484(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040484 +/* 074FB4 7F040484 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 074FB8 7F040488 AFBF001C */ sw $ra, 0x1c($sp) +/* 074FBC 7F04048C AFB00018 */ sw $s0, 0x18($sp) +/* 074FC0 7F040490 8C8E0068 */ lw $t6, 0x68($a0) +/* 074FC4 7F040494 00808025 */ move $s0, $a0 +/* 074FC8 7F040498 51C00028 */ beql $t6, $zero, .L7F04053C +/* 074FCC 7F04049C 8FBF001C */ lw $ra, 0x1c($sp) +/* 074FD0 7F0404A0 0FC1001E */ jal sub_GAME_7F040078 +/* 074FD4 7F0404A4 00000000 */ nop +/* 074FD8 7F0404A8 AFA20064 */ sw $v0, 0x64($sp) +/* 074FDC 7F0404AC 26040018 */ addiu $a0, $s0, 0x18 +/* 074FE0 7F0404B0 0FC16008 */ jal sub_GAME_7F058020 +/* 074FE4 7F0404B4 27A50024 */ addiu $a1, $sp, 0x24 +/* 074FE8 7F0404B8 26040058 */ addiu $a0, $s0, 0x58 +/* 074FEC 7F0404BC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 074FF0 7F0404C0 27A50024 */ addiu $a1, $sp, 0x24 +/* 074FF4 7F0404C4 8E070068 */ lw $a3, 0x68($s0) +/* 074FF8 7F0404C8 8FA40064 */ lw $a0, 0x64($sp) +/* 074FFC 7F0404CC 27A50024 */ addiu $a1, $sp, 0x24 +/* 075000 7F0404D0 0FC0FD50 */ jal sub_GAME_7F03F540 +/* 075004 7F0404D4 24E60004 */ addiu $a2, $a3, 4 +/* 075008 7F0404D8 8FA40064 */ lw $a0, 0x64($sp) +/* 07500C 7F0404DC 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 075010 7F0404E0 27A50024 */ addiu $a1, $sp, 0x24 +/* 075014 7F0404E4 C604005C */ lwc1 $f4, 0x5c($s0) +/* 075018 7F0404E8 8E0F0068 */ lw $t7, 0x68($s0) +/* 07501C 7F0404EC 27A50024 */ addiu $a1, $sp, 0x24 +/* 075020 7F0404F0 46040180 */ add.s $f6, $f0, $f4 +/* 075024 7F0404F4 E5E60048 */ swc1 $f6, 0x48($t7) +/* 075028 7F0404F8 0FC0FA97 */ jal sub_GAME_7F03EA5C +/* 07502C 7F0404FC 8FA40064 */ lw $a0, 0x64($sp) +/* 075030 7F040500 C608005C */ lwc1 $f8, 0x5c($s0) +/* 075034 7F040504 8E180068 */ lw $t8, 0x68($s0) +/* 075038 7F040508 24010028 */ li $at, 40 +/* 07503C 7F04050C 46080280 */ add.s $f10, $f0, $f8 +/* 075040 7F040510 E70A0044 */ swc1 $f10, 0x44($t8) +/* 075044 7F040514 92190003 */ lbu $t9, 3($s0) +/* 075048 7F040518 57210008 */ bnel $t9, $at, .L7F04053C +/* 07504C 7F04051C 8FBF001C */ lw $ra, 0x1c($sp) +/* 075050 7F040520 8E070068 */ lw $a3, 0x68($s0) +/* 075054 7F040524 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 075058 7F040528 44819000 */ mtc1 $at, $f18 +/* 07505C 7F04052C C4F00048 */ lwc1 $f16, 0x48($a3) +/* 075060 7F040530 46128101 */ sub.s $f4, $f16, $f18 +/* 075064 7F040534 E4E40048 */ swc1 $f4, 0x48($a3) +/* 075068 7F040538 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04053C: +/* 07506C 7F04053C 8FB00018 */ lw $s0, 0x18($sp) +/* 075070 7F040540 27BD0068 */ addiu $sp, $sp, 0x68 +/* 075074 7F040544 03E00008 */ jr $ra +/* 075078 7F040548 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void init_standard_object(void) { + +} +#else +GLOBAL_ASM( +.text +glabel init_standard_object +/* 07507C 7F04054C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 075080 7F040550 AFB10018 */ sw $s1, 0x18($sp) +/* 075084 7F040554 AFB00014 */ sw $s0, 0x14($sp) +/* 075088 7F040558 00808025 */ move $s0, $a0 +/* 07508C 7F04055C 00C08825 */ move $s1, $a2 +/* 075090 7F040560 14C00007 */ bnez $a2, .L7F040580 +/* 075094 7F040564 AFBF001C */ sw $ra, 0x1c($sp) +/* 075098 7F040568 AFA50024 */ sw $a1, 0x24($sp) +/* 07509C 7F04056C 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 0750A0 7F040570 AFA7002C */ sw $a3, 0x2c($sp) +/* 0750A4 7F040574 8FA50024 */ lw $a1, 0x24($sp) +/* 0750A8 7F040578 8FA7002C */ lw $a3, 0x2c($sp) +/* 0750AC 7F04057C 00408825 */ move $s1, $v0 +.L7F040580: +/* 0750B0 7F040580 14E0000C */ bnez $a3, .L7F0405B4 +/* 0750B4 7F040584 00000000 */ nop +/* 0750B8 7F040588 920E0003 */ lbu $t6, 3($s0) +/* 0750BC 7F04058C 24010028 */ li $at, 40 +/* 0750C0 7F040590 15C10005 */ bne $t6, $at, .L7F0405A8 +/* 0750C4 7F040594 00000000 */ nop +/* 0750C8 7F040598 0FC1B08F */ jal get_aircraft_obj_instance_controller +/* 0750CC 7F04059C 00A02025 */ move $a0, $a1 +/* 0750D0 7F0405A0 10000004 */ b .L7F0405B4 +/* 0750D4 7F0405A4 00403825 */ move $a3, $v0 +.L7F0405A8: +/* 0750D8 7F0405A8 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 0750DC 7F0405AC 00A02025 */ move $a0, $a1 +/* 0750E0 7F0405B0 00403825 */ move $a3, $v0 +.L7F0405B4: +/* 0750E4 7F0405B4 12200039 */ beqz $s1, .L7F04069C +/* 0750E8 7F0405B8 00000000 */ nop +/* 0750EC 7F0405BC 10E00037 */ beqz $a3, .L7F04069C +/* 0750F0 7F0405C0 00000000 */ nop +/* 0750F4 7F0405C4 8E0F0008 */ lw $t7, 8($s0) +/* 0750F8 7F0405C8 AE070014 */ sw $a3, 0x14($s0) +/* 0750FC 7F0405CC AE000068 */ sw $zero, 0x68($s0) +/* 075100 7F0405D0 31F80100 */ andi $t8, $t7, 0x100 +/* 075104 7F0405D4 13000008 */ beqz $t8, .L7F0405F8 +/* 075108 7F0405D8 24040050 */ li $a0, 80 +/* 07510C 7F0405DC 0C0025C8 */ jal mempAllocBytesInBank +/* 075110 7F0405E0 24050004 */ li $a1, 4 +/* 075114 7F0405E4 92190002 */ lbu $t9, 2($s0) +/* 075118 7F0405E8 AE020068 */ sw $v0, 0x68($s0) +/* 07511C 7F0405EC 37280008 */ ori $t0, $t9, 8 +/* 075120 7F0405F0 10000004 */ b .L7F040604 +/* 075124 7F0405F4 A2080002 */ sb $t0, 2($s0) +.L7F0405F8: +/* 075128 7F0405F8 92090002 */ lbu $t1, 2($s0) +/* 07512C 7F0405FC 312AFFF7 */ andi $t2, $t1, 0xfff7 +/* 075130 7F040600 A20A0002 */ sb $t2, 2($s0) +.L7F040604: +/* 075134 7F040604 44800000 */ mtc1 $zero, $f0 +/* 075138 7F040608 8E0C0014 */ lw $t4, 0x14($s0) +/* 07513C 7F04060C AE110010 */ sw $s1, 0x10($s0) +/* 075140 7F040610 AE00006C */ sw $zero, 0x6c($s0) +/* 075144 7F040614 A2000078 */ sb $zero, 0x78($s0) +/* 075148 7F040618 A2000079 */ sb $zero, 0x79($s0) +/* 07514C 7F04061C A200007A */ sb $zero, 0x7a($s0) +/* 075150 7F040620 A200007B */ sb $zero, 0x7b($s0) +/* 075154 7F040624 A200007C */ sb $zero, 0x7c($s0) +/* 075158 7F040628 A200007D */ sb $zero, 0x7d($s0) +/* 07515C 7F04062C A200007E */ sb $zero, 0x7e($s0) +/* 075160 7F040630 A200007F */ sb $zero, 0x7f($s0) +/* 075164 7F040634 240BFFFF */ li $t3, -1 +/* 075168 7F040638 E6000070 */ swc1 $f0, 0x70($s0) +/* 07516C 7F04063C A58B0000 */ sh $t3, ($t4) +/* 075170 7F040640 8E0D0014 */ lw $t5, 0x14($s0) +/* 075174 7F040644 3C058004 */ lui $a1, %hi(PitemZ_entries+8) +/* 075178 7F040648 ADA00004 */ sw $zero, 4($t5) +/* 07517C 7F04064C 860E0004 */ lh $t6, 4($s0) +/* 075180 7F040650 8E040014 */ lw $a0, 0x14($s0) +/* 075184 7F040654 000E7880 */ sll $t7, $t6, 2 +/* 075188 7F040658 01EE7823 */ subu $t7, $t7, $t6 +/* 07518C 7F04065C 000F7880 */ sll $t7, $t7, 2 +/* 075190 7F040660 00AF2821 */ addu $a1, $a1, $t7 +/* 075194 7F040664 0FC1B39E */ jal set_obj_instance_controller_scale +/* 075198 7F040668 8CA5A230 */ lw $a1, %lo(PitemZ_entries+8)($a1) +/* 07519C 7F04066C 44800000 */ mtc1 $zero, $f0 +/* 0751A0 7F040670 24180001 */ li $t8, 1 +/* 0751A4 7F040674 A2380000 */ sb $t8, ($s1) +/* 0751A8 7F040678 AE300004 */ sw $s0, 4($s1) +/* 0751AC 7F04067C E6200008 */ swc1 $f0, 8($s1) +/* 0751B0 7F040680 E6000058 */ swc1 $f0, 0x58($s0) +/* 0751B4 7F040684 E620000C */ swc1 $f0, 0xc($s1) +/* 0751B8 7F040688 E600005C */ swc1 $f0, 0x5c($s0) +/* 0751BC 7F04068C E6200010 */ swc1 $f0, 0x10($s1) +/* 0751C0 7F040690 E6000060 */ swc1 $f0, 0x60($s0) +/* 0751C4 7F040694 10000012 */ b .L7F0406E0 +/* 0751C8 7F040698 AE200014 */ sw $zero, 0x14($s1) +.L7F04069C: +/* 0751CC 7F04069C 10E0000B */ beqz $a3, .L7F0406CC +/* 0751D0 7F0406A0 00000000 */ nop +/* 0751D4 7F0406A4 92190003 */ lbu $t9, 3($s0) +/* 0751D8 7F0406A8 24010028 */ li $at, 40 +/* 0751DC 7F0406AC 17210005 */ bne $t9, $at, .L7F0406C4 +/* 0751E0 7F0406B0 00000000 */ nop +/* 0751E4 7F0406B4 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero +/* 0751E8 7F0406B8 00E02025 */ move $a0, $a3 +/* 0751EC 7F0406BC 10000003 */ b .L7F0406CC +/* 0751F0 7F0406C0 00000000 */ nop +.L7F0406C4: +/* 0751F4 7F0406C4 0FC1B08D */ jal set_obj_instance_scale_to_zero +/* 0751F8 7F0406C8 00E02025 */ move $a0, $a3 +.L7F0406CC: +/* 0751FC 7F0406CC 52200005 */ beql $s1, $zero, .L7F0406E4 +/* 075200 7F0406D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 075204 7F0406D4 0FC0E921 */ jal set_last_obj_pos_data +/* 075208 7F0406D8 02202025 */ move $a0, $s1 +/* 07520C 7F0406DC 00008825 */ move $s1, $zero +.L7F0406E0: +/* 075210 7F0406E0 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0406E4: +/* 075214 7F0406E4 02201025 */ move $v0, $s1 +/* 075218 7F0406E8 8FB10018 */ lw $s1, 0x18($sp) +/* 07521C 7F0406EC 8FB00014 */ lw $s0, 0x14($sp) +/* 075220 7F0406F0 03E00008 */ jr $ra +/* 075224 7F0406F4 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0406F8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0406F8 +/* 075228 7F0406F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07522C 7F0406FC AFBF0014 */ sw $ra, 0x14($sp) +/* 075230 7F040700 00003025 */ move $a2, $zero +/* 075234 7F040704 0FC10153 */ jal init_standard_object +/* 075238 7F040708 00003825 */ move $a3, $zero +/* 07523C 7F04070C 8FBF0014 */ lw $ra, 0x14($sp) +/* 075240 7F040710 27BD0018 */ addiu $sp, $sp, 0x18 +/* 075244 7F040714 03E00008 */ jr $ra +/* 075248 7F040718 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04071C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04071C +/* 07524C 7F04071C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 075250 7F040720 AFBF0014 */ sw $ra, 0x14($sp) +/* 075254 7F040724 848E0004 */ lh $t6, 4($a0) +/* 075258 7F040728 3C058004 */ lui $a1, %hi(PitemZ_entries) +/* 07525C 7F04072C 000E7880 */ sll $t7, $t6, 2 +/* 075260 7F040730 01EE7823 */ subu $t7, $t7, $t6 +/* 075264 7F040734 000F7880 */ sll $t7, $t7, 2 +/* 075268 7F040738 00AF2821 */ addu $a1, $a1, $t7 +/* 07526C 7F04073C 0FC101BE */ jal sub_GAME_7F0406F8 +/* 075270 7F040740 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) +/* 075274 7F040744 8FBF0014 */ lw $ra, 0x14($sp) +/* 075278 7F040748 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07527C 7F04074C 03E00008 */ jr $ra +/* 075280 7F040750 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040754(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040754 +/* 075284 7F040754 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 075288 7F040758 AFBF001C */ sw $ra, 0x1c($sp) +/* 07528C 7F04075C AFB00018 */ sw $s0, 0x18($sp) +/* 075290 7F040760 AFA5002C */ sw $a1, 0x2c($sp) +/* 075294 7F040764 AFA70034 */ sw $a3, 0x34($sp) +/* 075298 7F040768 8C820010 */ lw $v0, 0x10($a0) +/* 07529C 7F04076C 00808025 */ move $s0, $a0 +/* 0752A0 7F040770 26050018 */ addiu $a1, $s0, 0x18 +/* 0752A4 7F040774 00C02025 */ move $a0, $a2 +/* 0752A8 7F040778 0FC16008 */ jal sub_GAME_7F058020 +/* 0752AC 7F04077C AFA20024 */ sw $v0, 0x24($sp) +/* 0752B0 7F040780 8FA3002C */ lw $v1, 0x2c($sp) +/* 0752B4 7F040784 8FA20024 */ lw $v0, 0x24($sp) +/* 0752B8 7F040788 2605007C */ addiu $a1, $s0, 0x7c +/* 0752BC 7F04078C C4600000 */ lwc1 $f0, ($v1) +/* 0752C0 7F040790 E4400008 */ swc1 $f0, 8($v0) +/* 0752C4 7F040794 E6000058 */ swc1 $f0, 0x58($s0) +/* 0752C8 7F040798 C4600004 */ lwc1 $f0, 4($v1) +/* 0752CC 7F04079C E440000C */ swc1 $f0, 0xc($v0) +/* 0752D0 7F0407A0 E600005C */ swc1 $f0, 0x5c($s0) +/* 0752D4 7F0407A4 C4600008 */ lwc1 $f0, 8($v1) +/* 0752D8 7F0407A8 E4400010 */ swc1 $f0, 0x10($v0) +/* 0752DC 7F0407AC E6000060 */ swc1 $f0, 0x60($s0) +/* 0752E0 7F0407B0 8FAE0034 */ lw $t6, 0x34($sp) +/* 0752E4 7F0407B4 AC4E0014 */ sw $t6, 0x14($v0) +/* 0752E8 7F0407B8 0FC100AD */ jal sub_GAME_7F0402B4 +/* 0752EC 7F0407BC 8E040010 */ lw $a0, 0x10($s0) +/* 0752F0 7F0407C0 920F007C */ lbu $t7, 0x7c($s0) +/* 0752F4 7F0407C4 9218007D */ lbu $t8, 0x7d($s0) +/* 0752F8 7F0407C8 9219007E */ lbu $t9, 0x7e($s0) +/* 0752FC 7F0407CC 9208007F */ lbu $t0, 0x7f($s0) +/* 075300 7F0407D0 A20F0078 */ sb $t7, 0x78($s0) +/* 075304 7F0407D4 A2180079 */ sb $t8, 0x79($s0) +/* 075308 7F0407D8 A219007A */ sb $t9, 0x7a($s0) +/* 07530C 7F0407DC A208007B */ sb $t0, 0x7b($s0) +/* 075310 7F0407E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 075314 7F0407E4 8FB00018 */ lw $s0, 0x18($sp) +/* 075318 7F0407E8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07531C 7F0407EC 03E00008 */ jr $ra +/* 075320 7F0407F0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0407F4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0407F4 +/* 075324 7F0407F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 075328 7F0407F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 07532C 7F0407FC AFB00018 */ sw $s0, 0x18($sp) +/* 075330 7F040800 AFA40028 */ sw $a0, 0x28($sp) +/* 075334 7F040804 AFA60030 */ sw $a2, 0x30($sp) +/* 075338 7F040808 AFA70034 */ sw $a3, 0x34($sp) +/* 07533C 7F04080C 8C8F0014 */ lw $t7, 0x14($a0) +/* 075340 7F040810 00A08025 */ move $s0, $a1 +/* 075344 7F040814 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 075348 7F040818 8DE40008 */ lw $a0, 8($t7) +/* 07534C 7F04081C AFA20020 */ sw $v0, 0x20($sp) +/* 075350 7F040820 8E060008 */ lw $a2, 8($s0) +/* 075354 7F040824 8E050000 */ lw $a1, ($s0) +/* 075358 7F040828 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 07535C 7F04082C 8FA40034 */ lw $a0, 0x34($sp) +/* 075360 7F040830 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 075364 7F040834 44812000 */ mtc1 $at, $f4 +/* 075368 7F040838 00000000 */ nop +/* 07536C 7F04083C 46040180 */ add.s $f6, $f0, $f4 +/* 075370 7F040840 E6060004 */ swc1 $f6, 4($s0) +/* 075374 7F040844 8FA50030 */ lw $a1, 0x30($sp) +/* 075378 7F040848 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 07537C 7F04084C 8FA40020 */ lw $a0, 0x20($sp) +/* 075380 7F040850 C6080004 */ lwc1 $f8, 4($s0) +/* 075384 7F040854 02002825 */ move $a1, $s0 +/* 075388 7F040858 46004281 */ sub.s $f10, $f8, $f0 +/* 07538C 7F04085C E60A0004 */ swc1 $f10, 4($s0) +/* 075390 7F040860 8FA70034 */ lw $a3, 0x34($sp) +/* 075394 7F040864 8FA60030 */ lw $a2, 0x30($sp) +/* 075398 7F040868 0FC101D5 */ jal sub_GAME_7F040754 +/* 07539C 7F04086C 8FA40028 */ lw $a0, 0x28($sp) +/* 0753A0 7F040870 0FC10121 */ jal sub_GAME_7F040484 +/* 0753A4 7F040874 8FA40028 */ lw $a0, 0x28($sp) +/* 0753A8 7F040878 8FBF001C */ lw $ra, 0x1c($sp) +/* 0753AC 7F04087C 8FB00018 */ lw $s0, 0x18($sp) +/* 0753B0 7F040880 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0753B4 7F040884 03E00008 */ jr $ra +/* 0753B8 7F040888 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04088C(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_800529D0 +.word 0xA000000 /*"\n"*/ +glabel D_800529D4 +.word 0x2E0A0000 /*".\n"*/ +glabel D_800529D8 +.word 0, 0, 0, 0, 0, 0, 0, 0 +.word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +glabel D_80052A38 +.word 0 +glabel D_80052A3C +.word 0 +glabel D_80052A40 +.word 0xA000000 /*"\n"*/ +glabel D_80052A44 +.word 0x3A0A0000 /*":\n"*/ +glabel D_80052A48 +.word 0x3d4ccccd /*0.050000001*/ +.late_rodata +glabel D_80052A4C +.word 0x40490fdb /*3.1415927*/ +.text +glabel sub_GAME_7F04088C +/* 0753BC 7F04088C 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 0753C0 7F040890 AFBF0024 */ sw $ra, 0x24($sp) +/* 0753C4 7F040894 AFB00020 */ sw $s0, 0x20($sp) +/* 0753C8 7F040898 AFA500AC */ sw $a1, 0xac($sp) +/* 0753CC 7F04089C AFA600B0 */ sw $a2, 0xb0($sp) +/* 0753D0 7F0408A0 AFA700B4 */ sw $a3, 0xb4($sp) +/* 0753D4 7F0408A4 8C8E0014 */ lw $t6, 0x14($a0) +/* 0753D8 7F0408A8 00808025 */ move $s0, $a0 +/* 0753DC 7F0408AC 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 0753E0 7F0408B0 8DC40008 */ lw $a0, 8($t6) +/* 0753E4 7F0408B4 AFA200A0 */ sw $v0, 0xa0($sp) +/* 0753E8 7F0408B8 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 0753EC 7F0408BC 00402025 */ move $a0, $v0 +/* 0753F0 7F0408C0 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0753F4 7F0408C4 0FC0FA1B */ jal sub_GAME_7F03E86C +/* 0753F8 7F0408C8 E7A0009C */ swc1 $f0, 0x9c($sp) +/* 0753FC 7F0408CC 8FA700B4 */ lw $a3, 0xb4($sp) +/* 075400 7F0408D0 E7A00098 */ swc1 $f0, 0x98($sp) +/* 075404 7F0408D4 C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 075408 7F0408D8 AFA70088 */ sw $a3, 0x88($sp) +/* 07540C 7F0408DC 8E020008 */ lw $v0, 8($s0) +/* 075410 7F0408E0 3C018005 */ lui $at, %hi(D_80052A4C) +/* 075414 7F0408E4 27A50048 */ addiu $a1, $sp, 0x48 +/* 075418 7F0408E8 304F0004 */ andi $t7, $v0, 4 +/* 07541C 7F0408EC 11E00018 */ beqz $t7, .L7F040950 +/* 075420 7F0408F0 30580008 */ andi $t8, $v0, 8 +/* 075424 7F0408F4 0FC161A2 */ jal sub_GAME_7F058688 +/* 075428 7F0408F8 C42C2A4C */ lwc1 $f12, %lo(D_80052A4C)($at) +/* 07542C 7F0408FC 8FA400B0 */ lw $a0, 0xb0($sp) +/* 075430 7F040900 0FC1601A */ jal sub_GAME_7F058068 +/* 075434 7F040904 27A50048 */ addiu $a1, $sp, 0x48 +/* 075438 7F040908 C7A00098 */ lwc1 $f0, 0x98($sp) +/* 07543C 7F04090C C7A60058 */ lwc1 $f6, 0x58($sp) +/* 075440 7F040910 8FA200B8 */ lw $v0, 0xb8($sp) +/* 075444 7F040914 C7B2005C */ lwc1 $f18, 0x5c($sp) +/* 075448 7F040918 46003202 */ mul.s $f8, $f6, $f0 +/* 07544C 7F04091C C4440000 */ lwc1 $f4, ($v0) +/* 075450 7F040920 46009182 */ mul.s $f6, $f18, $f0 +/* 075454 7F040924 46082281 */ sub.s $f10, $f4, $f8 +/* 075458 7F040928 E7AA008C */ swc1 $f10, 0x8c($sp) +/* 07545C 7F04092C C4500004 */ lwc1 $f16, 4($v0) +/* 075460 7F040930 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 075464 7F040934 46068101 */ sub.s $f4, $f16, $f6 +/* 075468 7F040938 46005482 */ mul.s $f18, $f10, $f0 +/* 07546C 7F04093C E7A40090 */ swc1 $f4, 0x90($sp) +/* 075470 7F040940 C4480008 */ lwc1 $f8, 8($v0) +/* 075474 7F040944 46124401 */ sub.s $f16, $f8, $f18 +/* 075478 7F040948 10000068 */ b .L7F040AEC +/* 07547C 7F04094C E7B00094 */ swc1 $f16, 0x94($sp) +.L7F040950: +/* 075480 7F040950 13000017 */ beqz $t8, .L7F0409B0 +/* 075484 7F040954 8FA200AC */ lw $v0, 0xac($sp) +/* 075488 7F040958 8FA400B0 */ lw $a0, 0xb0($sp) +/* 07548C 7F04095C 27A50048 */ addiu $a1, $sp, 0x48 +/* 075490 7F040960 0FC16008 */ jal sub_GAME_7F058020 +/* 075494 7F040964 E7A2009C */ swc1 $f2, 0x9c($sp) +/* 075498 7F040968 C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 07549C 7F04096C C7A40058 */ lwc1 $f4, 0x58($sp) +/* 0754A0 7F040970 8FA200B8 */ lw $v0, 0xb8($sp) +/* 0754A4 7F040974 C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 0754A8 7F040978 46022282 */ mul.s $f10, $f4, $f2 +/* 0754AC 7F04097C C4460000 */ lwc1 $f6, ($v0) +/* 0754B0 7F040980 46028102 */ mul.s $f4, $f16, $f2 +/* 0754B4 7F040984 460A3201 */ sub.s $f8, $f6, $f10 +/* 0754B8 7F040988 E7A8008C */ swc1 $f8, 0x8c($sp) +/* 0754BC 7F04098C C4520004 */ lwc1 $f18, 4($v0) +/* 0754C0 7F040990 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 0754C4 7F040994 46049181 */ sub.s $f6, $f18, $f4 +/* 0754C8 7F040998 46024402 */ mul.s $f16, $f8, $f2 +/* 0754CC 7F04099C E7A60090 */ swc1 $f6, 0x90($sp) +/* 0754D0 7F0409A0 C44A0008 */ lwc1 $f10, 8($v0) +/* 0754D4 7F0409A4 46105481 */ sub.s $f18, $f10, $f16 +/* 0754D8 7F0409A8 10000050 */ b .L7F040AEC +/* 0754DC 7F0409AC E7B20094 */ swc1 $f18, 0x94($sp) +.L7F0409B0: +/* 0754E0 7F0409B0 8C450000 */ lw $a1, ($v0) +/* 0754E4 7F0409B4 8C460008 */ lw $a2, 8($v0) +/* 0754E8 7F0409B8 E7A2009C */ swc1 $f2, 0x9c($sp) +/* 0754EC 7F0409BC 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 0754F0 7F0409C0 00E02025 */ move $a0, $a3 +/* 0754F4 7F0409C4 8FA400B0 */ lw $a0, 0xb0($sp) +/* 0754F8 7F0409C8 27A50048 */ addiu $a1, $sp, 0x48 +/* 0754FC 7F0409CC 0FC16008 */ jal sub_GAME_7F058020 +/* 075500 7F0409D0 E7A00040 */ swc1 $f0, 0x40($sp) +/* 075504 7F0409D4 C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 075508 7F0409D8 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 07550C 7F0409DC 8FA200B8 */ lw $v0, 0xb8($sp) +/* 075510 7F0409E0 C7B20060 */ lwc1 $f18, 0x60($sp) +/* 075514 7F0409E4 46023202 */ mul.s $f8, $f6, $f2 +/* 075518 7F0409E8 C4440000 */ lwc1 $f4, ($v0) +/* 07551C 7F0409EC 8FB900B4 */ lw $t9, 0xb4($sp) +/* 075520 7F0409F0 46029182 */ mul.s $f6, $f18, $f2 +/* 075524 7F0409F4 8FA400AC */ lw $a0, 0xac($sp) +/* 075528 7F0409F8 46082281 */ sub.s $f10, $f4, $f8 +/* 07552C 7F0409FC E7AA008C */ swc1 $f10, 0x8c($sp) +/* 075530 7F040A00 C4500008 */ lwc1 $f16, 8($v0) +/* 075534 7F040A04 46068101 */ sub.s $f4, $f16, $f6 +/* 075538 7F040A08 E7A40094 */ swc1 $f4, 0x94($sp) +/* 07553C 7F040A0C 0FC0FEAC */ jal sub_GAME_7F03FAB0 +/* 075540 7F040A10 93250003 */ lbu $a1, 3($t9) +/* 075544 7F040A14 C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 075548 7F040A18 1040002D */ beqz $v0, .L7F040AD0 +/* 07554C 7F040A1C C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 075550 7F040A20 8C440010 */ lw $a0, 0x10($v0) +/* 075554 7F040A24 27A80030 */ addiu $t0, $sp, 0x30 +/* 075558 7F040A28 AFA80010 */ sw $t0, 0x10($sp) +/* 07555C 7F040A2C E7AC0040 */ swc1 $f12, 0x40($sp) +/* 075560 7F040A30 E7A2009C */ swc1 $f2, 0x9c($sp) +/* 075564 7F040A34 27A5003C */ addiu $a1, $sp, 0x3c +/* 075568 7F040A38 27A60038 */ addiu $a2, $sp, 0x38 +/* 07556C 7F040A3C 0FC0F308 */ jal sub_GAME_7F03CC20 +/* 075570 7F040A40 27A70034 */ addiu $a3, $sp, 0x34 +/* 075574 7F040A44 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 075578 7F040A48 C7A80034 */ lwc1 $f8, 0x34($sp) +/* 07557C 7F040A4C C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 075580 7F040A50 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 075584 7F040A54 4608603C */ c.lt.s $f12, $f8 +/* 075588 7F040A58 00000000 */ nop +/* 07558C 7F040A5C 45020015 */ bc1fl .L7F040AB4 +/* 075590 7F040A60 C7AA005C */ lwc1 $f10, 0x5c($sp) +/* 075594 7F040A64 46028181 */ sub.s $f6, $f16, $f2 +/* 075598 7F040A68 C7B2005C */ lwc1 $f18, 0x5c($sp) +/* 07559C 7F040A6C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0755A0 7F040A70 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 0755A4 7F040A74 46069102 */ mul.s $f4, $f18, $f6 +/* 0755A8 7F040A78 44813000 */ mtc1 $at, $f6 +/* 0755AC 7F040A7C 460C2400 */ add.s $f16, $f4, $f12 +/* 0755B0 7F040A80 46068100 */ add.s $f4, $f16, $f6 +/* 0755B4 7F040A84 4604503C */ c.lt.s $f10, $f4 +/* 0755B8 7F040A88 00000000 */ nop +/* 0755BC 7F040A8C 45020009 */ bc1fl .L7F040AB4 +/* 0755C0 7F040A90 C7AA005C */ lwc1 $f10, 0x5c($sp) +/* 0755C4 7F040A94 46029402 */ mul.s $f16, $f18, $f2 +/* 0755C8 7F040A98 46104181 */ sub.s $f6, $f8, $f16 +/* 0755CC 7F040A9C E7A60090 */ swc1 $f6, 0x90($sp) +/* 0755D0 7F040AA0 8E090064 */ lw $t1, 0x64($s0) +/* 0755D4 7F040AA4 352A8000 */ ori $t2, $t1, 0x8000 +/* 0755D8 7F040AA8 10000010 */ b .L7F040AEC +/* 0755DC 7F040AAC AE0A0064 */ sw $t2, 0x64($s0) +/* 0755E0 7F040AB0 C7AA005C */ lwc1 $f10, 0x5c($sp) +.L7F040AB4: +/* 0755E4 7F040AB4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0755E8 7F040AB8 44814000 */ mtc1 $at, $f8 +/* 0755EC 7F040ABC 46025102 */ mul.s $f4, $f10, $f2 +/* 0755F0 7F040AC0 46046481 */ sub.s $f18, $f12, $f4 +/* 0755F4 7F040AC4 46089400 */ add.s $f16, $f18, $f8 +/* 0755F8 7F040AC8 10000008 */ b .L7F040AEC +/* 0755FC 7F040ACC E7B00090 */ swc1 $f16, 0x90($sp) +.L7F040AD0: +/* 075600 7F040AD0 C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 075604 7F040AD4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 075608 7F040AD8 44819000 */ mtc1 $at, $f18 +/* 07560C 7F040ADC 46023282 */ mul.s $f10, $f6, $f2 +/* 075610 7F040AE0 460A6101 */ sub.s $f4, $f12, $f10 +/* 075614 7F040AE4 46122200 */ add.s $f8, $f4, $f18 +/* 075618 7F040AE8 E7A80090 */ swc1 $f8, 0x90($sp) +.L7F040AEC: +/* 07561C 7F040AEC 8E0B000C */ lw $t3, 0xc($s0) +/* 075620 7F040AF0 8FA200AC */ lw $v0, 0xac($sp) +/* 075624 7F040AF4 27A40088 */ addiu $a0, $sp, 0x88 +/* 075628 7F040AF8 316C0001 */ andi $t4, $t3, 1 +/* 07562C 7F040AFC 1580000E */ bnez $t4, .L7F040B38 +/* 075630 7F040B00 8FA7008C */ lw $a3, 0x8c($sp) +/* 075634 7F040B04 C7B00094 */ lwc1 $f16, 0x94($sp) +/* 075638 7F040B08 8C450000 */ lw $a1, ($v0) +/* 07563C 7F040B0C 8C460008 */ lw $a2, 8($v0) +/* 075640 7F040B10 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 075644 7F040B14 E7B00010 */ swc1 $f16, 0x10($sp) +/* 075648 7F040B18 10400007 */ beqz $v0, .L7F040B38 +/* 07564C 7F040B1C 02002025 */ move $a0, $s0 +/* 075650 7F040B20 27A5008C */ addiu $a1, $sp, 0x8c +/* 075654 7F040B24 27A60048 */ addiu $a2, $sp, 0x48 +/* 075658 7F040B28 0FC101D5 */ jal sub_GAME_7F040754 +/* 07565C 7F040B2C 8FA70088 */ lw $a3, 0x88($sp) +/* 075660 7F040B30 10000014 */ b .L7F040B84 +/* 075664 7F040B34 00000000 */ nop +.L7F040B38: +/* 075668 7F040B38 02002025 */ move $a0, $s0 +/* 07566C 7F040B3C 8FA500AC */ lw $a1, 0xac($sp) +/* 075670 7F040B40 27A60048 */ addiu $a2, $sp, 0x48 +/* 075674 7F040B44 0FC101D5 */ jal sub_GAME_7F040754 +/* 075678 7F040B48 8FA700B4 */ lw $a3, 0xb4($sp) +/* 07567C 7F040B4C 8E0D000C */ lw $t5, 0xc($s0) +/* 075680 7F040B50 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 075684 7F040B54 31AE0001 */ andi $t6, $t5, 1 +/* 075688 7F040B58 55C00006 */ bnezl $t6, .L7F040B74 +/* 07568C 7F040B5C E6060058 */ swc1 $f6, 0x58($s0) +/* 075690 7F040B60 8E0F0008 */ lw $t7, 8($s0) +/* 075694 7F040B64 31F81000 */ andi $t8, $t7, 0x1000 +/* 075698 7F040B68 13000006 */ beqz $t8, .L7F040B84 +/* 07569C 7F040B6C 00000000 */ nop +/* 0756A0 7F040B70 E6060058 */ swc1 $f6, 0x58($s0) +.L7F040B74: +/* 0756A4 7F040B74 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 0756A8 7F040B78 E60A005C */ swc1 $f10, 0x5c($s0) +/* 0756AC 7F040B7C C7A40094 */ lwc1 $f4, 0x94($sp) +/* 0756B0 7F040B80 E6040060 */ swc1 $f4, 0x60($s0) +.L7F040B84: +/* 0756B4 7F040B84 0FC10121 */ jal sub_GAME_7F040484 +/* 0756B8 7F040B88 02002025 */ move $a0, $s0 +/* 0756BC 7F040B8C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0756C0 7F040B90 8FB00020 */ lw $s0, 0x20($sp) +/* 0756C4 7F040B94 27BD00A8 */ addiu $sp, $sp, 0xa8 +/* 0756C8 7F040B98 03E00008 */ jr $ra +/* 0756CC 7F040B9C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040BA0(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A50 +.word 0x4096cbe4 /*4.712389*/ +glabel D_80052A54 +.word 0x40490fdb /*3.1415927*/ +.text +glabel sub_GAME_7F040BA0 +/* 0756D0 7F040BA0 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0756D4 7F040BA4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0756D8 7F040BA8 AFB00020 */ sw $s0, 0x20($sp) +/* 0756DC 7F040BAC AFA500CC */ sw $a1, 0xcc($sp) +/* 0756E0 7F040BB0 AFA600D0 */ sw $a2, 0xd0($sp) +/* 0756E4 7F040BB4 AFA700D4 */ sw $a3, 0xd4($sp) +/* 0756E8 7F040BB8 8C8E0014 */ lw $t6, 0x14($a0) +/* 0756EC 7F040BBC 00808025 */ move $s0, $a0 +/* 0756F0 7F040BC0 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 0756F4 7F040BC4 8DC40008 */ lw $a0, 8($t6) +/* 0756F8 7F040BC8 0FC0FA1D */ jal sub_GAME_7F03E874 +/* 0756FC 7F040BCC 00402025 */ move $a0, $v0 +/* 075700 7F040BD0 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 075704 7F040BD4 3C018005 */ lui $at, %hi(D_80052A50) +/* 075708 7F040BD8 E7A000BC */ swc1 $f0, 0xbc($sp) +/* 07570C 7F040BDC C42C2A50 */ lwc1 $f12, %lo(D_80052A50)($at) +/* 075710 7F040BE0 27A5006C */ addiu $a1, $sp, 0x6c +/* 075714 7F040BE4 0FC1615C */ jal sub_GAME_7F058570 +/* 075718 7F040BE8 AFAF00AC */ sw $t7, 0xac($sp) +/* 07571C 7F040BEC 3C018005 */ lui $at, %hi(D_80052A54) +/* 075720 7F040BF0 C42C2A54 */ lwc1 $f12, %lo(D_80052A54)($at) +/* 075724 7F040BF4 0FC1617F */ jal sub_GAME_7F0585FC +/* 075728 7F040BF8 27A5002C */ addiu $a1, $sp, 0x2c +/* 07572C 7F040BFC 27A4002C */ addiu $a0, $sp, 0x2c +/* 075730 7F040C00 0FC1601A */ jal sub_GAME_7F058068 +/* 075734 7F040C04 27A5006C */ addiu $a1, $sp, 0x6c +/* 075738 7F040C08 8FA400D0 */ lw $a0, 0xd0($sp) +/* 07573C 7F040C0C 0FC1601A */ jal sub_GAME_7F058068 +/* 075740 7F040C10 27A5006C */ addiu $a1, $sp, 0x6c +/* 075744 7F040C14 C7A000BC */ lwc1 $f0, 0xbc($sp) +/* 075748 7F040C18 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 07574C 7F040C1C 8FA200D8 */ lw $v0, 0xd8($sp) +/* 075750 7F040C20 C7B20090 */ lwc1 $f18, 0x90($sp) +/* 075754 7F040C24 46003202 */ mul.s $f8, $f6, $f0 +/* 075758 7F040C28 C4440000 */ lwc1 $f4, ($v0) +/* 07575C 7F040C2C 27A400AC */ addiu $a0, $sp, 0xac +/* 075760 7F040C30 46009182 */ mul.s $f6, $f18, $f0 +/* 075764 7F040C34 46082281 */ sub.s $f10, $f4, $f8 +/* 075768 7F040C38 E7AA00B0 */ swc1 $f10, 0xb0($sp) +/* 07576C 7F040C3C C4500004 */ lwc1 $f16, 4($v0) +/* 075770 7F040C40 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 075774 7F040C44 8FA700B0 */ lw $a3, 0xb0($sp) +/* 075778 7F040C48 46068101 */ sub.s $f4, $f16, $f6 +/* 07577C 7F040C4C 46005482 */ mul.s $f18, $f10, $f0 +/* 075780 7F040C50 E7A400B4 */ swc1 $f4, 0xb4($sp) +/* 075784 7F040C54 C4480008 */ lwc1 $f8, 8($v0) +/* 075788 7F040C58 8FA200CC */ lw $v0, 0xcc($sp) +/* 07578C 7F040C5C 46124401 */ sub.s $f16, $f8, $f18 +/* 075790 7F040C60 E7B000B8 */ swc1 $f16, 0xb8($sp) +/* 075794 7F040C64 8E18000C */ lw $t8, 0xc($s0) +/* 075798 7F040C68 C7A600B8 */ lwc1 $f6, 0xb8($sp) +/* 07579C 7F040C6C 33190001 */ andi $t9, $t8, 1 +/* 0757A0 7F040C70 5720000E */ bnezl $t9, .L7F040CAC +/* 0757A4 7F040C74 02002025 */ move $a0, $s0 +/* 0757A8 7F040C78 8C450000 */ lw $a1, ($v0) +/* 0757AC 7F040C7C 8C460008 */ lw $a2, 8($v0) +/* 0757B0 7F040C80 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 0757B4 7F040C84 E7A60010 */ swc1 $f6, 0x10($sp) +/* 0757B8 7F040C88 10400007 */ beqz $v0, .L7F040CA8 +/* 0757BC 7F040C8C 02002025 */ move $a0, $s0 +/* 0757C0 7F040C90 27A500B0 */ addiu $a1, $sp, 0xb0 +/* 0757C4 7F040C94 27A6006C */ addiu $a2, $sp, 0x6c +/* 0757C8 7F040C98 0FC101D5 */ jal sub_GAME_7F040754 +/* 0757CC 7F040C9C 8FA700AC */ lw $a3, 0xac($sp) +/* 0757D0 7F040CA0 1000000C */ b .L7F040CD4 +/* 0757D4 7F040CA4 00000000 */ nop +.L7F040CA8: +/* 0757D8 7F040CA8 02002025 */ move $a0, $s0 +.L7F040CAC: +/* 0757DC 7F040CAC 8FA500CC */ lw $a1, 0xcc($sp) +/* 0757E0 7F040CB0 27A6006C */ addiu $a2, $sp, 0x6c +/* 0757E4 7F040CB4 0FC101D5 */ jal sub_GAME_7F040754 +/* 0757E8 7F040CB8 8FA700D4 */ lw $a3, 0xd4($sp) +/* 0757EC 7F040CBC C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 0757F0 7F040CC0 E6040058 */ swc1 $f4, 0x58($s0) +/* 0757F4 7F040CC4 C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 0757F8 7F040CC8 E60A005C */ swc1 $f10, 0x5c($s0) +/* 0757FC 7F040CCC C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 075800 7F040CD0 E6080060 */ swc1 $f8, 0x60($s0) +.L7F040CD4: +/* 075804 7F040CD4 0FC10121 */ jal sub_GAME_7F040484 +/* 075808 7F040CD8 02002025 */ move $a0, $s0 +/* 07580C 7F040CDC 8FBF0024 */ lw $ra, 0x24($sp) +/* 075810 7F040CE0 8FB00020 */ lw $s0, 0x20($sp) +/* 075814 7F040CE4 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 075818 7F040CE8 03E00008 */ jr $ra +/* 07581C 7F040CEC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040CF0(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040CF0 +/* 075820 7F040CF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 075824 7F040CF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 075828 7F040CF8 8C820004 */ lw $v0, 4($a0) +/* 07582C 7F040CFC 8C430064 */ lw $v1, 0x64($v0) +/* 075830 7F040D00 306E0040 */ andi $t6, $v1, 0x40 +/* 075834 7F040D04 11C00015 */ beqz $t6, .L7F040D5C +/* 075838 7F040D08 30780080 */ andi $t8, $v1, 0x80 +/* 07583C 7F040D0C 8C44006C */ lw $a0, 0x6c($v0) +/* 075840 7F040D10 5080000E */ beql $a0, $zero, .L7F040D4C +/* 075844 7F040D14 2401FFBF */ li $at, -65 +/* 075848 7F040D18 8C850044 */ lw $a1, 0x44($a0) +/* 07584C 7F040D1C 10A00006 */ beqz $a1, .L7F040D38 +/* 075850 7F040D20 00000000 */ nop +/* 075854 7F040D24 00A02025 */ move $a0, $a1 +/* 075858 7F040D28 0FC0FEDC */ jal sub_GAME_7F03FB70 +/* 07585C 7F040D2C AFA2001C */ sw $v0, 0x1c($sp) +/* 075860 7F040D30 8FA2001C */ lw $v0, 0x1c($sp) +/* 075864 7F040D34 8C44006C */ lw $a0, 0x6c($v0) +.L7F040D38: +/* 075868 7F040D38 0FC0FFA2 */ jal sub_GAME_7F03FE88 +/* 07586C 7F040D3C AFA2001C */ sw $v0, 0x1c($sp) +/* 075870 7F040D40 8FA2001C */ lw $v0, 0x1c($sp) +/* 075874 7F040D44 8C430064 */ lw $v1, 0x64($v0) +/* 075878 7F040D48 2401FFBF */ li $at, -65 +.L7F040D4C: +/* 07587C 7F040D4C 00617824 */ and $t7, $v1, $at +/* 075880 7F040D50 AC40006C */ sw $zero, 0x6c($v0) +/* 075884 7F040D54 1000000C */ b .L7F040D88 +/* 075888 7F040D58 AC4F0064 */ sw $t7, 0x64($v0) +.L7F040D5C: +/* 07588C 7F040D5C 5300000B */ beql $t8, $zero, .L7F040D8C +/* 075890 7F040D60 8FBF0014 */ lw $ra, 0x14($sp) +/* 075894 7F040D64 8C44006C */ lw $a0, 0x6c($v0) +/* 075898 7F040D68 0FC0FEDC */ jal sub_GAME_7F03FB70 +/* 07589C 7F040D6C AFA2001C */ sw $v0, 0x1c($sp) +/* 0758A0 7F040D70 8FA2001C */ lw $v0, 0x1c($sp) +/* 0758A4 7F040D74 2401FF7F */ li $at, -129 +/* 0758A8 7F040D78 8C590064 */ lw $t9, 0x64($v0) +/* 0758AC 7F040D7C AC40006C */ sw $zero, 0x6c($v0) +/* 0758B0 7F040D80 03214024 */ and $t0, $t9, $at +/* 0758B4 7F040D84 AC480064 */ sw $t0, 0x64($v0) +.L7F040D88: +/* 0758B8 7F040D88 8FBF0014 */ lw $ra, 0x14($sp) +.L7F040D8C: +/* 0758BC 7F040D8C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0758C0 7F040D90 03E00008 */ jr $ra +/* 0758C4 7F040D94 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F040D98(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F040D98 +/* 0758C8 7F040D98 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0758CC 7F040D9C AFBF0024 */ sw $ra, 0x24($sp) +/* 0758D0 7F040DA0 AFB20020 */ sw $s2, 0x20($sp) +/* 0758D4 7F040DA4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0758D8 7F040DA8 AFB00018 */ sw $s0, 0x18($sp) +/* 0758DC 7F040DAC AFA5002C */ sw $a1, 0x2c($sp) +/* 0758E0 7F040DB0 90820003 */ lbu $v0, 3($a0) +/* 0758E4 7F040DB4 2401000D */ li $at, 13 +/* 0758E8 7F040DB8 00C08025 */ move $s0, $a2 +/* 0758EC 7F040DBC 14410015 */ bne $v0, $at, .L7F040E14 +/* 0758F0 7F040DC0 00809025 */ move $s2, $a0 +/* 0758F4 7F040DC4 8C8400C4 */ lw $a0, 0xc4($a0) +/* 0758F8 7F040DC8 50800008 */ beql $a0, $zero, .L7F040DEC +/* 0758FC 7F040DCC 8E4400C8 */ lw $a0, 0xc8($s2) +/* 075900 7F040DD0 0C00237C */ jal sfxGetArg0Unk3F +/* 075904 7F040DD4 00000000 */ nop +/* 075908 7F040DD8 50400004 */ beql $v0, $zero, .L7F040DEC +/* 07590C 7F040DDC 8E4400C8 */ lw $a0, 0xc8($s2) +/* 075910 7F040DE0 0C002408 */ jal sfxDeactivate +/* 075914 7F040DE4 8E4400C4 */ lw $a0, 0xc4($s2) +/* 075918 7F040DE8 8E4400C8 */ lw $a0, 0xc8($s2) +.L7F040DEC: +/* 07591C 7F040DEC 5080004E */ beql $a0, $zero, .L7F040F28 +/* 075920 7F040DF0 8E510010 */ lw $s1, 0x10($s2) +/* 075924 7F040DF4 0C00237C */ jal sfxGetArg0Unk3F +/* 075928 7F040DF8 00000000 */ nop +/* 07592C 7F040DFC 5040004A */ beql $v0, $zero, .L7F040F28 +/* 075930 7F040E00 8E510010 */ lw $s1, 0x10($s2) +/* 075934 7F040E04 0C002408 */ jal sfxDeactivate +/* 075938 7F040E08 8E4400C8 */ lw $a0, 0xc8($s2) +/* 07593C 7F040E0C 10000046 */ b .L7F040F28 +/* 075940 7F040E10 8E510010 */ lw $s1, 0x10($s2) +.L7F040E14: +/* 075944 7F040E14 24010008 */ li $at, 8 +/* 075948 7F040E18 54410008 */ bnel $v0, $at, .L7F040E3C +/* 07594C 7F040E1C 24010001 */ li $at, 1 +/* 075950 7F040E20 8E420084 */ lw $v0, 0x84($s2) +/* 075954 7F040E24 50400040 */ beql $v0, $zero, .L7F040F28 +/* 075958 7F040E28 8E510010 */ lw $s1, 0x10($s2) +/* 07595C 7F040E2C AC400084 */ sw $zero, 0x84($v0) +/* 075960 7F040E30 1000003C */ b .L7F040F24 +/* 075964 7F040E34 AE400084 */ sw $zero, 0x84($s2) +/* 075968 7F040E38 24010001 */ li $at, 1 +.L7F040E3C: +/* 07596C 7F040E3C 54410016 */ bnel $v0, $at, .L7F040E98 +/* 075970 7F040E40 2401002F */ li $at, 47 +/* 075974 7F040E44 8E4400F4 */ lw $a0, 0xf4($s2) +/* 075978 7F040E48 50800008 */ beql $a0, $zero, .L7F040E6C +/* 07597C 7F040E4C 8E4400F8 */ lw $a0, 0xf8($s2) +/* 075980 7F040E50 0C00237C */ jal sfxGetArg0Unk3F +/* 075984 7F040E54 00000000 */ nop +/* 075988 7F040E58 50400004 */ beql $v0, $zero, .L7F040E6C +/* 07598C 7F040E5C 8E4400F8 */ lw $a0, 0xf8($s2) +/* 075990 7F040E60 0C002408 */ jal sfxDeactivate +/* 075994 7F040E64 8E4400F4 */ lw $a0, 0xf4($s2) +/* 075998 7F040E68 8E4400F8 */ lw $a0, 0xf8($s2) +.L7F040E6C: +/* 07599C 7F040E6C 5080002E */ beql $a0, $zero, .L7F040F28 +/* 0759A0 7F040E70 8E510010 */ lw $s1, 0x10($s2) +/* 0759A4 7F040E74 0C00237C */ jal sfxGetArg0Unk3F +/* 0759A8 7F040E78 00000000 */ nop +/* 0759AC 7F040E7C 5040002A */ beql $v0, $zero, .L7F040F28 +/* 0759B0 7F040E80 8E510010 */ lw $s1, 0x10($s2) +/* 0759B4 7F040E84 0C002408 */ jal sfxDeactivate +/* 0759B8 7F040E88 8E4400F8 */ lw $a0, 0xf8($s2) +/* 0759BC 7F040E8C 10000026 */ b .L7F040F28 +/* 0759C0 7F040E90 8E510010 */ lw $s1, 0x10($s2) +/* 0759C4 7F040E94 2401002F */ li $at, 47 +.L7F040E98: +/* 0759C8 7F040E98 54410009 */ bnel $v0, $at, .L7F040EC0 +/* 0759CC 7F040E9C 24010028 */ li $at, 40 +/* 0759D0 7F040EA0 8E44008C */ lw $a0, 0x8c($s2) +/* 0759D4 7F040EA4 04820020 */ bltzl $a0, .L7F040F28 +/* 0759D8 7F040EA8 8E510010 */ lw $s1, 0x10($s2) +/* 0759DC 7F040EAC 0FC2E76F */ jal sub_GAME_7F0B9DBC +/* 0759E0 7F040EB0 24050001 */ li $a1, 1 +/* 0759E4 7F040EB4 1000001C */ b .L7F040F28 +/* 0759E8 7F040EB8 8E510010 */ lw $s1, 0x10($s2) +/* 0759EC 7F040EBC 24010028 */ li $at, 40 +.L7F040EC0: +/* 0759F0 7F040EC0 5441000D */ bnel $v0, $at, .L7F040EF8 +/* 0759F4 7F040EC4 24010027 */ li $at, 39 +/* 0759F8 7F040EC8 8E4400B0 */ lw $a0, 0xb0($s2) +/* 0759FC 7F040ECC 50800016 */ beql $a0, $zero, .L7F040F28 +/* 075A00 7F040ED0 8E510010 */ lw $s1, 0x10($s2) +/* 075A04 7F040ED4 0C00237C */ jal sfxGetArg0Unk3F +/* 075A08 7F040ED8 00000000 */ nop +/* 075A0C 7F040EDC 50400012 */ beql $v0, $zero, .L7F040F28 +/* 075A10 7F040EE0 8E510010 */ lw $s1, 0x10($s2) +/* 075A14 7F040EE4 0C002408 */ jal sfxDeactivate +/* 075A18 7F040EE8 8E4400B0 */ lw $a0, 0xb0($s2) +/* 075A1C 7F040EEC 1000000E */ b .L7F040F28 +/* 075A20 7F040EF0 8E510010 */ lw $s1, 0x10($s2) +/* 075A24 7F040EF4 24010027 */ li $at, 39 +.L7F040EF8: +/* 075A28 7F040EF8 5441000B */ bnel $v0, $at, .L7F040F28 +/* 075A2C 7F040EFC 8E510010 */ lw $s1, 0x10($s2) +/* 075A30 7F040F00 8E4400AC */ lw $a0, 0xac($s2) +/* 075A34 7F040F04 50800008 */ beql $a0, $zero, .L7F040F28 +/* 075A38 7F040F08 8E510010 */ lw $s1, 0x10($s2) +/* 075A3C 7F040F0C 0C00237C */ jal sfxGetArg0Unk3F +/* 075A40 7F040F10 00000000 */ nop +/* 075A44 7F040F14 50400004 */ beql $v0, $zero, .L7F040F28 +/* 075A48 7F040F18 8E510010 */ lw $s1, 0x10($s2) +/* 075A4C 7F040F1C 0C002408 */ jal sfxDeactivate +/* 075A50 7F040F20 8E4400AC */ lw $a0, 0xac($s2) +.L7F040F24: +/* 075A54 7F040F24 8E510010 */ lw $s1, 0x10($s2) +.L7F040F28: +/* 075A58 7F040F28 12200038 */ beqz $s1, .L7F04100C +/* 075A5C 7F040F2C 02202025 */ move $a0, $s1 +/* 075A60 7F040F30 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 075A64 7F040F34 00002825 */ move $a1, $zero +/* 075A68 7F040F38 8E440010 */ lw $a0, 0x10($s2) +/* 075A6C 7F040F3C 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 075A70 7F040F40 24050001 */ li $a1, 1 +/* 075A74 7F040F44 56000032 */ bnezl $s0, .L7F041010 +/* 075A78 7F040F48 8FBF0024 */ lw $ra, 0x24($sp) +/* 075A7C 7F040F4C 0FC1033C */ jal sub_GAME_7F040CF0 +/* 075A80 7F040F50 8E440010 */ lw $a0, 0x10($s2) +/* 075A84 7F040F54 8E510010 */ lw $s1, 0x10($s2) +/* 075A88 7F040F58 8E2E001C */ lw $t6, 0x1c($s1) +/* 075A8C 7F040F5C 11C00004 */ beqz $t6, .L7F040F70 +/* 075A90 7F040F60 00000000 */ nop +/* 075A94 7F040F64 0FC13011 */ jal sub_GAME_7F04C044 +/* 075A98 7F040F68 02202025 */ move $a0, $s1 +/* 075A9C 7F040F6C 8E510010 */ lw $s1, 0x10($s2) +.L7F040F70: +/* 075AA0 7F040F70 0FC0F863 */ jal sub_GAME_7F03E18C +/* 075AA4 7F040F74 02202025 */ move $a0, $s1 +/* 075AA8 7F040F78 8E510010 */ lw $s1, 0x10($s2) +/* 075AAC 7F040F7C 8E300020 */ lw $s0, 0x20($s1) +/* 075AB0 7F040F80 52000009 */ beql $s0, $zero, .L7F040FA8 +/* 075AB4 7F040F84 922F0000 */ lbu $t7, ($s1) +.L7F040F88: +/* 075AB8 7F040F88 8E110024 */ lw $s1, 0x24($s0) +/* 075ABC 7F040F8C 8E040004 */ lw $a0, 4($s0) +/* 075AC0 7F040F90 0FC10409 */ jal sub_GAME_7F041024 +/* 075AC4 7F040F94 24050001 */ li $a1, 1 +/* 075AC8 7F040F98 1620FFFB */ bnez $s1, .L7F040F88 +/* 075ACC 7F040F9C 02208025 */ move $s0, $s1 +/* 075AD0 7F040FA0 8E510010 */ lw $s1, 0x10($s2) +/* 075AD4 7F040FA4 922F0000 */ lbu $t7, ($s1) +.L7F040FA8: +/* 075AD8 7F040FA8 24010002 */ li $at, 2 +/* 075ADC 7F040FAC 51E10004 */ beql $t7, $at, .L7F040FC0 +/* 075AE0 7F040FB0 92580003 */ lbu $t8, 3($s2) +/* 075AE4 7F040FB4 0FC1437A */ jal sub_GAME_7F050DE8 +/* 075AE8 7F040FB8 8E440014 */ lw $a0, 0x14($s2) +/* 075AEC 7F040FBC 92580003 */ lbu $t8, 3($s2) +.L7F040FC0: +/* 075AF0 7F040FC0 24010028 */ li $at, 40 +/* 075AF4 7F040FC4 17010005 */ bne $t8, $at, .L7F040FDC +/* 075AF8 7F040FC8 00000000 */ nop +/* 075AFC 7F040FCC 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero +/* 075B00 7F040FD0 8E440014 */ lw $a0, 0x14($s2) +/* 075B04 7F040FD4 10000004 */ b .L7F040FE8 +/* 075B08 7F040FD8 8FB9002C */ lw $t9, 0x2c($sp) +.L7F040FDC: +/* 075B0C 7F040FDC 0FC1B08D */ jal set_obj_instance_scale_to_zero +/* 075B10 7F040FE0 8E440014 */ lw $a0, 0x14($s2) +/* 075B14 7F040FE4 8FB9002C */ lw $t9, 0x2c($sp) +.L7F040FE8: +/* 075B18 7F040FE8 53200008 */ beql $t9, $zero, .L7F04100C +/* 075B1C 7F040FEC AE400010 */ sw $zero, 0x10($s2) +/* 075B20 7F040FF0 0FC0E94E */ jal sub_GAME_7F03A538 +/* 075B24 7F040FF4 8E440010 */ lw $a0, 0x10($s2) +/* 075B28 7F040FF8 0FC0E905 */ jal unset_stateflag_0x04_for_posdata +/* 075B2C 7F040FFC 8E440010 */ lw $a0, 0x10($s2) +/* 075B30 7F041000 0FC0E921 */ jal set_last_obj_pos_data +/* 075B34 7F041004 8E440010 */ lw $a0, 0x10($s2) +/* 075B38 7F041008 AE400010 */ sw $zero, 0x10($s2) +.L7F04100C: +/* 075B3C 7F04100C 8FBF0024 */ lw $ra, 0x24($sp) +.L7F041010: +/* 075B40 7F041010 8FB00018 */ lw $s0, 0x18($sp) +/* 075B44 7F041014 8FB1001C */ lw $s1, 0x1c($sp) +/* 075B48 7F041018 8FB20020 */ lw $s2, 0x20($sp) +/* 075B4C 7F04101C 03E00008 */ jr $ra +/* 075B50 7F041020 27BD0028 */ addiu $sp, $sp, 0x28 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041024(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041024 +/* 075B54 7F041024 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 075B58 7F041028 AFBF0014 */ sw $ra, 0x14($sp) +/* 075B5C 7F04102C 0FC10366 */ jal sub_GAME_7F040D98 +/* 075B60 7F041030 00003025 */ move $a2, $zero +/* 075B64 7F041034 8FBF0014 */ lw $ra, 0x14($sp) +/* 075B68 7F041038 27BD0018 */ addiu $sp, $sp, 0x18 +/* 075B6C 7F04103C 03E00008 */ jr $ra +/* 075B70 7F041040 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void if_a0_plus_3_is_4_then_10_else_20(void) { + +} +#else +GLOBAL_ASM( +.text +glabel if_a0_plus_3_is_4_then_10_else_20 +/* 075B74 7F041044 908E0003 */ lbu $t6, 3($a0) +/* 075B78 7F041048 24010004 */ li $at, 4 +/* 075B7C 7F04104C 15C10004 */ bne $t6, $at, .L7F041060 +/* 075B80 7F041050 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 075B84 7F041054 44810000 */ mtc1 $at, $f0 +/* 075B88 7F041058 03E00008 */ jr $ra +/* 075B8C 7F04105C 00000000 */ nop + +.L7F041060: +/* 075B90 7F041060 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 075B94 7F041064 44810000 */ mtc1 $at, $f0 +/* 075B98 7F041068 00000000 */ nop +/* 075B9C 7F04106C 03E00008 */ jr $ra +/* 075BA0 7F041070 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041074(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041074 +/* 075BA4 7F041074 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 075BA8 7F041078 AFA70024 */ sw $a3, 0x24($sp) +/* 075BAC 7F04107C C48A0000 */ lwc1 $f10, ($a0) +/* 075BB0 7F041080 C4C80000 */ lwc1 $f8, ($a2) +/* 075BB4 7F041084 00001025 */ move $v0, $zero +/* 075BB8 7F041088 460A4181 */ sub.s $f6, $f8, $f10 +/* 075BBC 7F04108C E7A6000C */ swc1 $f6, 0xc($sp) +/* 075BC0 7F041090 C4880004 */ lwc1 $f8, 4($a0) +/* 075BC4 7F041094 C4C40004 */ lwc1 $f4, 4($a2) +/* 075BC8 7F041098 46082281 */ sub.s $f10, $f4, $f8 +/* 075BCC 7F04109C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 075BD0 7F0410A0 C4840008 */ lwc1 $f4, 8($a0) +/* 075BD4 7F0410A4 C4C60008 */ lwc1 $f6, 8($a2) +/* 075BD8 7F0410A8 C7AA000C */ lwc1 $f10, 0xc($sp) +/* 075BDC 7F0410AC 46043201 */ sub.s $f8, $f6, $f4 +/* 075BE0 7F0410B0 C7A40010 */ lwc1 $f4, 0x10($sp) +/* 075BE4 7F0410B4 E7A80014 */ swc1 $f8, 0x14($sp) +/* 075BE8 7F0410B8 C4AC0000 */ lwc1 $f12, ($a1) +/* 075BEC 7F0410BC C4AE0004 */ lwc1 $f14, 4($a1) +/* 075BF0 7F0410C0 C4A20008 */ lwc1 $f2, 8($a1) +/* 075BF4 7F0410C4 460A6182 */ mul.s $f6, $f12, $f10 +/* 075BF8 7F0410C8 E7AA0000 */ swc1 $f10, ($sp) +/* 075BFC 7F0410CC 46047202 */ mul.s $f8, $f14, $f4 +/* 075C00 7F0410D0 46083180 */ add.s $f6, $f6, $f8 +/* 075C04 7F0410D4 C7A80014 */ lwc1 $f8, 0x14($sp) +/* 075C08 7F0410D8 46024282 */ mul.s $f10, $f8, $f2 +/* 075C0C 7F0410DC 46065000 */ add.s $f0, $f10, $f6 +/* 075C10 7F0410E0 44805000 */ mtc1 $zero, $f10 +/* 075C14 7F0410E4 00000000 */ nop +/* 075C18 7F0410E8 4600503C */ c.lt.s $f10, $f0 +/* 075C1C 7F0410EC 00000000 */ nop +/* 075C20 7F0410F0 45000019 */ bc1f .L7F041158 +/* 075C24 7F0410F4 00000000 */ nop +/* 075C28 7F0410F8 460C6182 */ mul.s $f6, $f12, $f12 +/* 075C2C 7F0410FC 00000000 */ nop +/* 075C30 7F041100 460E7282 */ mul.s $f10, $f14, $f14 +/* 075C34 7F041104 460A3180 */ add.s $f6, $f6, $f10 +/* 075C38 7F041108 46021282 */ mul.s $f10, $f2, $f2 +/* 075C3C 7F04110C 46065400 */ add.s $f16, $f10, $f6 +/* 075C40 7F041110 C7AA0000 */ lwc1 $f10, ($sp) +/* 075C44 7F041114 460A5182 */ mul.s $f6, $f10, $f10 +/* 075C48 7F041118 00000000 */ nop +/* 075C4C 7F04111C 46042282 */ mul.s $f10, $f4, $f4 +/* 075C50 7F041120 460A3100 */ add.s $f4, $f6, $f10 +/* 075C54 7F041124 46084182 */ mul.s $f6, $f8, $f8 +/* 075C58 7F041128 C7A80024 */ lwc1 $f8, 0x24($sp) +/* 075C5C 7F04112C 46000282 */ mul.s $f10, $f0, $f0 +/* 075C60 7F041130 46043480 */ add.s $f18, $f6, $f4 +/* 075C64 7F041134 46084182 */ mul.s $f6, $f8, $f8 +/* 075C68 7F041138 46069101 */ sub.s $f4, $f18, $f6 +/* 075C6C 7F04113C 46102202 */ mul.s $f8, $f4, $f16 +/* 075C70 7F041140 460A403E */ c.le.s $f8, $f10 +/* 075C74 7F041144 00000000 */ nop +/* 075C78 7F041148 45000003 */ bc1f .L7F041158 +/* 075C7C 7F04114C 00000000 */ nop +/* 075C80 7F041150 10000001 */ b .L7F041158 +/* 075C84 7F041154 24020001 */ li $v0, 1 +.L7F041158: +/* 075C88 7F041158 03E00008 */ jr $ra +/* 075C8C 7F04115C 27BD0018 */ addiu $sp, $sp, 0x18 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041160(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041160 +/* 075C90 7F041160 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 075C94 7F041164 AFBF0044 */ sw $ra, 0x44($sp) +/* 075C98 7F041168 AFB70040 */ sw $s7, 0x40($sp) +/* 075C9C 7F04116C AFB6003C */ sw $s6, 0x3c($sp) +/* 075CA0 7F041170 AFB50038 */ sw $s5, 0x38($sp) +/* 075CA4 7F041174 AFB40034 */ sw $s4, 0x34($sp) +/* 075CA8 7F041178 AFB30030 */ sw $s3, 0x30($sp) +/* 075CAC 7F04117C AFB2002C */ sw $s2, 0x2c($sp) +/* 075CB0 7F041180 AFB10028 */ sw $s1, 0x28($sp) +/* 075CB4 7F041184 AFB00024 */ sw $s0, 0x24($sp) +/* 075CB8 7F041188 AFA700B4 */ sw $a3, 0xb4($sp) +/* 075CBC 7F04118C 8C970014 */ lw $s7, 0x14($a0) +/* 075CC0 7F041190 AFA0009C */ sw $zero, 0x9c($sp) +/* 075CC4 7F041194 AFA00064 */ sw $zero, 0x64($sp) +/* 075CC8 7F041198 908E0003 */ lbu $t6, 3($a0) +/* 075CCC 7F04119C 24010001 */ li $at, 1 +/* 075CD0 7F0411A0 00A08825 */ move $s1, $a1 +/* 075CD4 7F0411A4 15C1001A */ bne $t6, $at, .L7F041210 +/* 075CD8 7F0411A8 00C09825 */ move $s3, $a2 +/* 075CDC 7F0411AC 248400D0 */ addiu $a0, $a0, 0xd0 +/* 075CE0 7F0411B0 8EE5000C */ lw $a1, 0xc($s7) +/* 075CE4 7F0411B4 02203025 */ move $a2, $s1 +/* 075CE8 7F0411B8 0FC1D1F4 */ jal sub_GAME_7F0747D0 +/* 075CEC 7F0411BC 02603825 */ move $a3, $s3 +/* 075CF0 7F0411C0 8EEF0008 */ lw $t7, 8($s7) +/* 075CF4 7F0411C4 00408025 */ move $s0, $v0 +/* 075CF8 7F0411C8 27B4006C */ addiu $s4, $sp, 0x6c +/* 075CFC 7F0411CC 8DF80000 */ lw $t8, ($t7) +/* 075D00 7F0411D0 27B50068 */ addiu $s5, $sp, 0x68 +/* 075D04 7F0411D4 18400025 */ blez $v0, .L7F04126C +/* 075D08 7F0411D8 AFB8009C */ sw $t8, 0x9c($sp) +/* 075D0C 7F0411DC 27B60064 */ addiu $s6, $sp, 0x64 +/* 075D10 7F0411E0 AFB60018 */ sw $s6, 0x18($sp) +/* 075D14 7F0411E4 02E02025 */ move $a0, $s7 +/* 075D18 7F0411E8 03002825 */ move $a1, $t8 +/* 075D1C 7F0411EC 02203025 */ move $a2, $s1 +/* 075D20 7F0411F0 02603825 */ move $a3, $s3 +/* 075D24 7F0411F4 AFB40010 */ sw $s4, 0x10($sp) +/* 075D28 7F0411F8 0FC1366C */ jal sub_GAME_7F04D9B0 +/* 075D2C 7F0411FC AFB50014 */ sw $s5, 0x14($sp) +/* 075D30 7F041200 1440001A */ bnez $v0, .L7F04126C +/* 075D34 7F041204 00000000 */ nop +/* 075D38 7F041208 10000018 */ b .L7F04126C +/* 075D3C 7F04120C 00008025 */ move $s0, $zero +.L7F041210: +/* 075D40 7F041210 27B60064 */ addiu $s6, $sp, 0x64 +/* 075D44 7F041214 27B50068 */ addiu $s5, $sp, 0x68 +/* 075D48 7F041218 27B4006C */ addiu $s4, $sp, 0x6c +/* 075D4C 7F04121C 27B2009C */ addiu $s2, $sp, 0x9c +/* 075D50 7F041220 02E02025 */ move $a0, $s7 +.L7F041224: +/* 075D54 7F041224 02202825 */ move $a1, $s1 +/* 075D58 7F041228 02603025 */ move $a2, $s3 +/* 075D5C 7F04122C 0FC1D4BF */ jal sub_GAME_7F0752FC +/* 075D60 7F041230 02403825 */ move $a3, $s2 +/* 075D64 7F041234 1840000B */ blez $v0, .L7F041264 +/* 075D68 7F041238 00408025 */ move $s0, $v0 +/* 075D6C 7F04123C 02E02025 */ move $a0, $s7 +/* 075D70 7F041240 8FA5009C */ lw $a1, 0x9c($sp) +/* 075D74 7F041244 02203025 */ move $a2, $s1 +/* 075D78 7F041248 02603825 */ move $a3, $s3 +/* 075D7C 7F04124C AFB40010 */ sw $s4, 0x10($sp) +/* 075D80 7F041250 AFB50014 */ sw $s5, 0x14($sp) +/* 075D84 7F041254 0FC1366C */ jal sub_GAME_7F04D9B0 +/* 075D88 7F041258 AFB60018 */ sw $s6, 0x18($sp) +/* 075D8C 7F04125C 14400003 */ bnez $v0, .L7F04126C +/* 075D90 7F041260 00000000 */ nop +.L7F041264: +/* 075D94 7F041264 5E00FFEF */ bgtzl $s0, .L7F041224 +/* 075D98 7F041268 02E02025 */ move $a0, $s7 +.L7F04126C: +/* 075D9C 7F04126C 1A000059 */ blez $s0, .L7F0413D4 +/* 075DA0 7F041270 00001025 */ move $v0, $zero +/* 075DA4 7F041274 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 075DA8 7F041278 8FA500B4 */ lw $a1, 0xb4($sp) +/* 075DAC 7F04127C 8EF9000C */ lw $t9, 0xc($s7) +/* 075DB0 7F041280 8FA80068 */ lw $t0, 0x68($sp) +/* 075DB4 7F041284 E4A40000 */ swc1 $f4, ($a1) +/* 075DB8 7F041288 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 075DBC 7F04128C 00084980 */ sll $t1, $t0, 6 +/* 075DC0 7F041290 03298821 */ addu $s1, $t9, $t1 +/* 075DC4 7F041294 E4A60004 */ swc1 $f6, 4($a1) +/* 075DC8 7F041298 C7A80074 */ lwc1 $f8, 0x74($sp) +/* 075DCC 7F04129C 02202025 */ move $a0, $s1 +/* 075DD0 7F0412A0 0FC1611D */ jal sub_GAME_7F058474 +/* 075DD4 7F0412A4 E4A80008 */ swc1 $f8, 8($a1) +/* 075DD8 7F0412A8 0FC1E111 */ jal sub_GAME_7F078444 +/* 075DDC 7F0412AC 00000000 */ nop +/* 075DE0 7F0412B0 00402025 */ move $a0, $v0 +/* 075DE4 7F0412B4 0FC1611D */ jal sub_GAME_7F058474 +/* 075DE8 7F0412B8 8FA500B4 */ lw $a1, 0xb4($sp) +/* 075DEC 7F0412BC 8FB000B8 */ lw $s0, 0xb8($sp) +/* 075DF0 7F0412C0 C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 075DF4 7F0412C4 02202025 */ move $a0, $s1 +/* 075DF8 7F0412C8 02002825 */ move $a1, $s0 +/* 075DFC 7F0412CC E60A0000 */ swc1 $f10, ($s0) +/* 075E00 7F0412D0 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 075E04 7F0412D4 E6100004 */ swc1 $f16, 4($s0) +/* 075E08 7F0412D8 C7B20080 */ lwc1 $f18, 0x80($sp) +/* 075E0C 7F0412DC 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 075E10 7F0412E0 E6120008 */ swc1 $f18, 8($s0) +/* 075E14 7F0412E4 C6020000 */ lwc1 $f2, ($s0) +/* 075E18 7F0412E8 C6640000 */ lwc1 $f4, ($s3) +/* 075E1C 7F0412EC C60C0004 */ lwc1 $f12, 4($s0) +/* 075E20 7F0412F0 C6680004 */ lwc1 $f8, 4($s3) +/* 075E24 7F0412F4 46041182 */ mul.s $f6, $f2, $f4 +/* 075E28 7F0412F8 C6000008 */ lwc1 $f0, 8($s0) +/* 075E2C 7F0412FC C6720008 */ lwc1 $f18, 8($s3) +/* 075E30 7F041300 46086282 */ mul.s $f10, $f12, $f8 +/* 075E34 7F041304 44807000 */ mtc1 $zero, $f14 +/* 075E38 7F041308 46009102 */ mul.s $f4, $f18, $f0 +/* 075E3C 7F04130C 460A3400 */ add.s $f16, $f6, $f10 +/* 075E40 7F041310 46102200 */ add.s $f8, $f4, $f16 +/* 075E44 7F041314 4608703C */ c.lt.s $f14, $f8 +/* 075E48 7F041318 00000000 */ nop +/* 075E4C 7F04131C 45000007 */ bc1f .L7F04133C +/* 075E50 7F041320 00000000 */ nop +/* 075E54 7F041324 46001187 */ neg.s $f6, $f2 +/* 075E58 7F041328 46006287 */ neg.s $f10, $f12 +/* 075E5C 7F04132C 46000487 */ neg.s $f18, $f0 +/* 075E60 7F041330 E6060000 */ swc1 $f6, ($s0) +/* 075E64 7F041334 E60A0004 */ swc1 $f10, 4($s0) +/* 075E68 7F041338 E6120008 */ swc1 $f18, 8($s0) +.L7F04133C: +/* 075E6C 7F04133C 0FC1E111 */ jal sub_GAME_7F078444 +/* 075E70 7F041340 00000000 */ nop +/* 075E74 7F041344 00402025 */ move $a0, $v0 +/* 075E78 7F041348 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 075E7C 7F04134C 02002825 */ move $a1, $s0 +/* 075E80 7F041350 44807000 */ mtc1 $zero, $f14 +/* 075E84 7F041354 C6040000 */ lwc1 $f4, ($s0) +/* 075E88 7F041358 02002025 */ move $a0, $s0 +/* 075E8C 7F04135C 26050004 */ addiu $a1, $s0, 4 +/* 075E90 7F041360 46047032 */ c.eq.s $f14, $f4 +/* 075E94 7F041364 00000000 */ nop +/* 075E98 7F041368 4500000C */ bc1f .L7F04139C +/* 075E9C 7F04136C 00000000 */ nop +/* 075EA0 7F041370 C6100004 */ lwc1 $f16, 4($s0) +/* 075EA4 7F041374 46107032 */ c.eq.s $f14, $f16 +/* 075EA8 7F041378 00000000 */ nop +/* 075EAC 7F04137C 45000007 */ bc1f .L7F04139C +/* 075EB0 7F041380 00000000 */ nop +/* 075EB4 7F041384 C6080008 */ lwc1 $f8, 8($s0) +/* 075EB8 7F041388 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 075EBC 7F04138C 46087032 */ c.eq.s $f14, $f8 +/* 075EC0 7F041390 00000000 */ nop +/* 075EC4 7F041394 45030006 */ bc1tl .L7F0413B0 +/* 075EC8 7F041398 44813000 */ mtc1 $at, $f6 +.L7F04139C: +/* 075ECC 7F04139C 0C007DD4 */ jal guNormalize +/* 075ED0 7F0413A0 26060008 */ addiu $a2, $s0, 8 +/* 075ED4 7F0413A4 10000005 */ b .L7F0413BC +/* 075ED8 7F0413A8 8FAB00BC */ lw $t3, 0xbc($sp) +/* 075EDC 7F0413AC 44813000 */ mtc1 $at, $f6 +.L7F0413B0: +/* 075EE0 7F0413B0 00000000 */ nop +/* 075EE4 7F0413B4 E6060008 */ swc1 $f6, 8($s0) +/* 075EE8 7F0413B8 8FAB00BC */ lw $t3, 0xbc($sp) +.L7F0413BC: +/* 075EEC 7F0413BC 24020001 */ li $v0, 1 +/* 075EF0 7F0413C0 AD770000 */ sw $s7, ($t3) +/* 075EF4 7F0413C4 8FAD00C0 */ lw $t5, 0xc0($sp) +/* 075EF8 7F0413C8 8FAC0064 */ lw $t4, 0x64($sp) +/* 075EFC 7F0413CC 10000001 */ b .L7F0413D4 +/* 075F00 7F0413D0 ADAC0000 */ sw $t4, ($t5) +.L7F0413D4: +/* 075F04 7F0413D4 8FBF0044 */ lw $ra, 0x44($sp) +/* 075F08 7F0413D8 8FB00024 */ lw $s0, 0x24($sp) +/* 075F0C 7F0413DC 8FB10028 */ lw $s1, 0x28($sp) +/* 075F10 7F0413E0 8FB2002C */ lw $s2, 0x2c($sp) +/* 075F14 7F0413E4 8FB30030 */ lw $s3, 0x30($sp) +/* 075F18 7F0413E8 8FB40034 */ lw $s4, 0x34($sp) +/* 075F1C 7F0413EC 8FB50038 */ lw $s5, 0x38($sp) +/* 075F20 7F0413F0 8FB6003C */ lw $s6, 0x3c($sp) +/* 075F24 7F0413F4 8FB70040 */ lw $s7, 0x40($sp) +/* 075F28 7F0413F8 03E00008 */ jr $ra +/* 075F2C 7F0413FC 27BD00A8 */ addiu $sp, $sp, 0xa8 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041400(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041400 +/* 075F30 7F041400 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 075F34 7F041404 AFB50044 */ sw $s5, 0x44($sp) +/* 075F38 7F041408 AFB40040 */ sw $s4, 0x40($sp) +/* 075F3C 7F04140C F7B40028 */ sdc1 $f20, 0x28($sp) +/* 075F40 7F041410 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 075F44 7F041414 00C0A025 */ move $s4, $a2 +/* 075F48 7F041418 00A0A825 */ move $s5, $a1 +/* 075F4C 7F04141C AFBF0054 */ sw $ra, 0x54($sp) +/* 075F50 7F041420 AFA700E4 */ sw $a3, 0xe4($sp) +/* 075F54 7F041424 4481A000 */ mtc1 $at, $f20 +/* 075F58 7F041428 240EFFFF */ li $t6, -1 +/* 075F5C 7F04142C 27AF00C8 */ addiu $t7, $sp, 0xc8 +/* 075F60 7F041430 AFBE0050 */ sw $fp, 0x50($sp) +/* 075F64 7F041434 AFB7004C */ sw $s7, 0x4c($sp) +/* 075F68 7F041438 AFB60048 */ sw $s6, 0x48($sp) +/* 075F6C 7F04143C AFB3003C */ sw $s3, 0x3c($sp) +/* 075F70 7F041440 AFB20038 */ sw $s2, 0x38($sp) +/* 075F74 7F041444 AFB10034 */ sw $s1, 0x34($sp) +/* 075F78 7F041448 AFB00030 */ sw $s0, 0x30($sp) +/* 075F7C 7F04144C AFA400D8 */ sw $a0, 0xd8($sp) +/* 075F80 7F041450 AFAE0094 */ sw $t6, 0x94($sp) +/* 075F84 7F041454 AFAF0010 */ sw $t7, 0x10($sp) +/* 075F88 7F041458 27A700CC */ addiu $a3, $sp, 0xcc +/* 075F8C 7F04145C 27A500D4 */ addiu $a1, $sp, 0xd4 +/* 075F90 7F041460 0FC0F308 */ jal sub_GAME_7F03CC20 +/* 075F94 7F041464 27A600D0 */ addiu $a2, $sp, 0xd0 +/* 075F98 7F041468 8FB800D0 */ lw $t8, 0xd0($sp) +/* 075F9C 7F04146C C7A400CC */ lwc1 $f4, 0xcc($sp) +/* 075FA0 7F041470 5B0000CD */ blezl $t8, .L7F0417A8 +/* 075FA4 7F041474 00001025 */ move $v0, $zero +/* 075FA8 7F041478 C6A00004 */ lwc1 $f0, 4($s5) +/* 075FAC 7F04147C C7A800C8 */ lwc1 $f8, 0xc8($sp) +/* 075FB0 7F041480 4600203C */ c.lt.s $f4, $f0 +/* 075FB4 7F041484 00000000 */ nop +/* 075FB8 7F041488 45020007 */ bc1fl .L7F0414A8 +/* 075FBC 7F04148C 4608003C */ c.lt.s $f0, $f8 +/* 075FC0 7F041490 C6860004 */ lwc1 $f6, 4($s4) +/* 075FC4 7F041494 4606203C */ c.lt.s $f4, $f6 +/* 075FC8 7F041498 00000000 */ nop +/* 075FCC 7F04149C 450300C2 */ bc1tl .L7F0417A8 +/* 075FD0 7F0414A0 00001025 */ move $v0, $zero +/* 075FD4 7F0414A4 4608003C */ c.lt.s $f0, $f8 +.L7F0414A8: +/* 075FD8 7F0414A8 00000000 */ nop +/* 075FDC 7F0414AC 45020007 */ bc1fl .L7F0414CC +/* 075FE0 7F0414B0 C6B00000 */ lwc1 $f16, ($s5) +/* 075FE4 7F0414B4 C68A0004 */ lwc1 $f10, 4($s4) +/* 075FE8 7F0414B8 4608503C */ c.lt.s $f10, $f8 +/* 075FEC 7F0414BC 00000000 */ nop +/* 075FF0 7F0414C0 450300B9 */ bc1tl .L7F0417A8 +/* 075FF4 7F0414C4 00001025 */ move $v0, $zero +/* 075FF8 7F0414C8 C6B00000 */ lwc1 $f16, ($s5) +.L7F0414CC: +/* 075FFC 7F0414CC 8FB900D0 */ lw $t9, 0xd0($sp) +/* 076000 7F0414D0 00008025 */ move $s0, $zero +/* 076004 7F0414D4 E7B000A0 */ swc1 $f16, 0xa0($sp) +/* 076008 7F0414D8 C6B20008 */ lwc1 $f18, 8($s5) +/* 07600C 7F0414DC E7B200A4 */ swc1 $f18, 0xa4($sp) +/* 076010 7F0414E0 C6840000 */ lwc1 $f4, ($s4) +/* 076014 7F0414E4 E7A40098 */ swc1 $f4, 0x98($sp) +/* 076018 7F0414E8 C6860008 */ lwc1 $f6, 8($s4) +/* 07601C 7F0414EC 1B200043 */ blez $t9, .L7F0415FC +/* 076020 7F0414F0 E7A6009C */ swc1 $f6, 0x9c($sp) +/* 076024 7F0414F4 00008825 */ move $s1, $zero +/* 076028 7F0414F8 27BE00B0 */ addiu $fp, $sp, 0xb0 +/* 07602C 7F0414FC 27B70098 */ addiu $s7, $sp, 0x98 +/* 076030 7F041500 27B600A0 */ addiu $s6, $sp, 0xa0 +/* 076034 7F041504 8FA800D0 */ lw $t0, 0xd0($sp) +.L7F041508: +/* 076038 7F041508 26130001 */ addiu $s3, $s0, 1 +/* 07603C 7F04150C 8FA900D4 */ lw $t1, 0xd4($sp) +/* 076040 7F041510 0268001A */ div $zero, $s3, $t0 +/* 076044 7F041514 01311821 */ addu $v1, $t1, $s1 +/* 076048 7F041518 C46A0000 */ lwc1 $f10, ($v1) +/* 07604C 7F04151C C6AC0000 */ lwc1 $f12, ($s5) +/* 076050 7F041520 C6AE0008 */ lwc1 $f14, 8($s5) +/* 076054 7F041524 8E860000 */ lw $a2, ($s4) +/* 076058 7F041528 8E870008 */ lw $a3, 8($s4) +/* 07605C 7F04152C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 076060 7F041530 C4680004 */ lwc1 $f8, 4($v1) +/* 076064 7F041534 00001010 */ mfhi $v0 +/* 076068 7F041538 000250C0 */ sll $t2, $v0, 3 +/* 07606C 7F04153C 012A2021 */ addu $a0, $t1, $t2 +/* 076070 7F041540 E7A80014 */ swc1 $f8, 0x14($sp) +/* 076074 7F041544 C4900000 */ lwc1 $f16, ($a0) +/* 076078 7F041548 15000002 */ bnez $t0, .L7F041554 +/* 07607C 7F04154C 00000000 */ nop +/* 076080 7F041550 0007000D */ break 7 +.L7F041554: +/* 076084 7F041554 2401FFFF */ li $at, -1 +/* 076088 7F041558 15010004 */ bne $t0, $at, .L7F04156C +/* 07608C 7F04155C 3C018000 */ lui $at, 0x8000 +/* 076090 7F041560 16610002 */ bne $s3, $at, .L7F04156C +/* 076094 7F041564 00000000 */ nop +/* 076098 7F041568 0006000D */ break 6 +.L7F04156C: +/* 07609C 7F04156C E7B00018 */ swc1 $f16, 0x18($sp) +/* 0760A0 7F041570 C4920004 */ lwc1 $f18, 4($a0) +/* 0760A4 7F041574 00409025 */ move $s2, $v0 +/* 0760A8 7F041578 0FC2C1A2 */ jal sub_GAME_7F0B0688 +/* 0760AC 7F04157C E7B2001C */ swc1 $f18, 0x1c($sp) +/* 0760B0 7F041580 50400019 */ beql $v0, $zero, .L7F0415E8 +/* 0760B4 7F041584 8FAD00D0 */ lw $t5, 0xd0($sp) +/* 0760B8 7F041588 8FAB00D4 */ lw $t3, 0xd4($sp) +/* 0760BC 7F04158C 001260C0 */ sll $t4, $s2, 3 +/* 0760C0 7F041590 02C02025 */ move $a0, $s6 +/* 0760C4 7F041594 01711821 */ addu $v1, $t3, $s1 +/* 0760C8 7F041598 C4640000 */ lwc1 $f4, ($v1) +/* 0760CC 7F04159C 016C1021 */ addu $v0, $t3, $t4 +/* 0760D0 7F0415A0 02E02825 */ move $a1, $s7 +/* 0760D4 7F0415A4 E7A400B0 */ swc1 $f4, 0xb0($sp) +/* 0760D8 7F0415A8 C4660004 */ lwc1 $f6, 4($v1) +/* 0760DC 7F0415AC 03C03025 */ move $a2, $fp +/* 0760E0 7F0415B0 27A700A8 */ addiu $a3, $sp, 0xa8 +/* 0760E4 7F0415B4 E7A600B4 */ swc1 $f6, 0xb4($sp) +/* 0760E8 7F0415B8 C44A0000 */ lwc1 $f10, ($v0) +/* 0760EC 7F0415BC E7AA00A8 */ swc1 $f10, 0xa8($sp) +/* 0760F0 7F0415C0 C4480004 */ lwc1 $f8, 4($v0) +/* 0760F4 7F0415C4 0FC2CC80 */ jal sub_GAME_7F0B3200 +/* 0760F8 7F0415C8 E7A800AC */ swc1 $f8, 0xac($sp) +/* 0760FC 7F0415CC 4614003C */ c.lt.s $f0, $f20 +/* 076100 7F0415D0 00000000 */ nop +/* 076104 7F0415D4 45020004 */ bc1fl .L7F0415E8 +/* 076108 7F0415D8 8FAD00D0 */ lw $t5, 0xd0($sp) +/* 07610C 7F0415DC 46000506 */ mov.s $f20, $f0 +/* 076110 7F0415E0 AFB00094 */ sw $s0, 0x94($sp) +/* 076114 7F0415E4 8FAD00D0 */ lw $t5, 0xd0($sp) +.L7F0415E8: +/* 076118 7F0415E8 02608025 */ move $s0, $s3 +/* 07611C 7F0415EC 26310008 */ addiu $s1, $s1, 8 +/* 076120 7F0415F0 026D082A */ slt $at, $s3, $t5 +/* 076124 7F0415F4 5420FFC4 */ bnezl $at, .L7F041508 +/* 076128 7F0415F8 8FA800D0 */ lw $t0, 0xd0($sp) +.L7F0415FC: +/* 07612C 7F0415FC 8FAE0094 */ lw $t6, 0x94($sp) +/* 076130 7F041600 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 076134 7F041604 27A40088 */ addiu $a0, $sp, 0x88 +/* 076138 7F041608 19C00066 */ blez $t6, .L7F0417A4 +/* 07613C 7F04160C 000EC0C0 */ sll $t8, $t6, 3 +/* 076140 7F041610 8FA800D0 */ lw $t0, 0xd0($sp) +/* 076144 7F041614 25D90001 */ addiu $t9, $t6, 1 +/* 076148 7F041618 01F81021 */ addu $v0, $t7, $t8 +/* 07614C 7F04161C 0328001A */ div $zero, $t9, $t0 +/* 076150 7F041620 4480A000 */ mtc1 $zero, $f20 +/* 076154 7F041624 C4500000 */ lwc1 $f16, ($v0) +/* 076158 7F041628 00004810 */ mfhi $t1 +/* 07615C 7F04162C E7B4008C */ swc1 $f20, 0x8c($sp) +/* 076160 7F041630 E7B00088 */ swc1 $f16, 0x88($sp) +/* 076164 7F041634 C4520004 */ lwc1 $f18, 4($v0) +/* 076168 7F041638 000950C0 */ sll $t2, $t1, 3 +/* 07616C 7F04163C 01EA1821 */ addu $v1, $t7, $t2 +/* 076170 7F041640 E7B20090 */ swc1 $f18, 0x90($sp) +/* 076174 7F041644 C4640000 */ lwc1 $f4, ($v1) +/* 076178 7F041648 E7B40080 */ swc1 $f20, 0x80($sp) +/* 07617C 7F04164C 27AB006C */ addiu $t3, $sp, 0x6c +/* 076180 7F041650 E7A4007C */ swc1 $f4, 0x7c($sp) +/* 076184 7F041654 C4660004 */ lwc1 $f6, 4($v1) +/* 076188 7F041658 15000002 */ bnez $t0, .L7F041664 +/* 07618C 7F04165C 00000000 */ nop +/* 076190 7F041660 0007000D */ break 7 +.L7F041664: +/* 076194 7F041664 2401FFFF */ li $at, -1 +/* 076198 7F041668 15010004 */ bne $t0, $at, .L7F04167C +/* 07619C 7F04166C 3C018000 */ li $at, 0x80000000 # -0.000000 +/* 0761A0 7F041670 17210002 */ bne $t9, $at, .L7F04167C +/* 0761A4 7F041674 00000000 */ nop +/* 0761A8 7F041678 0006000D */ break 6 +.L7F04167C: +/* 0761AC 7F04167C AFAB0010 */ sw $t3, 0x10($sp) +/* 0761B0 7F041680 27A5007C */ addiu $a1, $sp, 0x7c +/* 0761B4 7F041684 02A03025 */ move $a2, $s5 +/* 0761B8 7F041688 8FA700E4 */ lw $a3, 0xe4($sp) +/* 0761BC 7F04168C 0FC0984C */ jal sub_GAME_7F026130 +/* 0761C0 7F041690 E7A60084 */ swc1 $f6, 0x84($sp) +/* 0761C4 7F041694 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 0761C8 7F041698 C6A80000 */ lwc1 $f8, ($s5) +/* 0761CC 7F04169C 8FA500E4 */ lw $a1, 0xe4($sp) +/* 0761D0 7F0416A0 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 0761D4 7F0416A4 46085401 */ sub.s $f16, $f10, $f8 +/* 0761D8 7F0416A8 C6AA0004 */ lwc1 $f10, 4($s5) +/* 0761DC 7F0416AC C4B20000 */ lwc1 $f18, ($a1) +/* 0761E0 7F0416B0 8FA300F0 */ lw $v1, 0xf0($sp) +/* 0761E4 7F0416B4 460A3201 */ sub.s $f8, $f6, $f10 +/* 0761E8 7F0416B8 46128102 */ mul.s $f4, $f16, $f18 +/* 0761EC 7F0416BC C4B00004 */ lwc1 $f16, 4($a1) +/* 0761F0 7F0416C0 C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 0761F4 7F0416C4 8FA200E8 */ lw $v0, 0xe8($sp) +/* 0761F8 7F0416C8 46104482 */ mul.s $f18, $f8, $f16 +/* 0761FC 7F0416CC C6A80008 */ lwc1 $f8, 8($s5) +/* 076200 7F0416D0 8FA400EC */ lw $a0, 0xec($sp) +/* 076204 7F0416D4 46085401 */ sub.s $f16, $f10, $f8 +/* 076208 7F0416D8 C46A0000 */ lwc1 $f10, ($v1) +/* 07620C 7F0416DC 46122180 */ add.s $f6, $f4, $f18 +/* 076210 7F0416E0 C4A40008 */ lwc1 $f4, 8($a1) +/* 076214 7F0416E4 46102482 */ mul.s $f18, $f4, $f16 +/* 076218 7F0416E8 46069000 */ add.s $f0, $f18, $f6 +/* 07621C 7F0416EC 460A003C */ c.lt.s $f0, $f10 +/* 076220 7F0416F0 00000000 */ nop +/* 076224 7F0416F4 4502002C */ bc1fl .L7F0417A8 +/* 076228 7F0416F8 00001025 */ move $v0, $zero +/* 07622C 7F0416FC E4600000 */ swc1 $f0, ($v1) +/* 076230 7F041700 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 076234 7F041704 E4480000 */ swc1 $f8, ($v0) +/* 076238 7F041708 C7A40070 */ lwc1 $f4, 0x70($sp) +/* 07623C 7F04170C E4440004 */ swc1 $f4, 4($v0) +/* 076240 7F041710 C7B00074 */ lwc1 $f16, 0x74($sp) +/* 076244 7F041714 E4500008 */ swc1 $f16, 8($v0) +/* 076248 7F041718 C4B20000 */ lwc1 $f18, ($a1) +/* 07624C 7F04171C E4940004 */ swc1 $f20, 4($a0) +/* 076250 7F041720 46009187 */ neg.s $f6, $f18 +/* 076254 7F041724 E4860000 */ swc1 $f6, ($a0) +/* 076258 7F041728 C4840000 */ lwc1 $f4, ($a0) +/* 07625C 7F04172C C4AA0008 */ lwc1 $f10, 8($a1) +/* 076260 7F041730 24850004 */ addiu $a1, $a0, 4 +/* 076264 7F041734 4604A032 */ c.eq.s $f20, $f4 +/* 076268 7F041738 46005207 */ neg.s $f8, $f10 +/* 07626C 7F04173C 45000007 */ bc1f .L7F04175C +/* 076270 7F041740 E4880008 */ swc1 $f8, 8($a0) +/* 076274 7F041744 C4900008 */ lwc1 $f16, 8($a0) +/* 076278 7F041748 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07627C 7F04174C 4610A032 */ c.eq.s $f20, $f16 +/* 076280 7F041750 00000000 */ nop +/* 076284 7F041754 45030006 */ bc1tl .L7F041770 +/* 076288 7F041758 44819000 */ mtc1 $at, $f18 +.L7F04175C: +/* 07628C 7F04175C 0C007DD4 */ jal guNormalize +/* 076290 7F041760 24860008 */ addiu $a2, $a0, 8 +/* 076294 7F041764 10000005 */ b .L7F04177C +/* 076298 7F041768 8FAC00D8 */ lw $t4, 0xd8($sp) +/* 07629C 7F04176C 44819000 */ mtc1 $at, $f18 +.L7F041770: +/* 0762A0 7F041770 00000000 */ nop +/* 0762A4 7F041774 E4920008 */ swc1 $f18, 8($a0) +/* 0762A8 7F041778 8FAC00D8 */ lw $t4, 0xd8($sp) +.L7F04177C: +/* 0762AC 7F04177C 3C018003 */ lui $at, %hi(D_80030B0C) +/* 0762B0 7F041780 24020001 */ li $v0, 1 +/* 0762B4 7F041784 AC2C0B0C */ sw $t4, %lo(D_80030B0C)($at) +/* 0762B8 7F041788 3C018003 */ lui $at, %hi(bodypartshot) +/* 0762BC 7F04178C AC200B10 */ sw $zero, %lo(bodypartshot)($at) +/* 0762C0 7F041790 3C018007 */ lui $at, %hi(objinst) +/* 0762C4 7F041794 AC205B70 */ sw $zero, %lo(objinst)($at) +/* 0762C8 7F041798 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) +/* 0762CC 7F04179C 10000002 */ b .L7F0417A8 +/* 0762D0 7F0417A0 AC205B74 */ sw $zero, %lo(dword_CODE_bss_80075B74)($at) +.L7F0417A4: +/* 0762D4 7F0417A4 00001025 */ move $v0, $zero +.L7F0417A8: +/* 0762D8 7F0417A8 8FBF0054 */ lw $ra, 0x54($sp) +/* 0762DC 7F0417AC D7B40028 */ ldc1 $f20, 0x28($sp) +/* 0762E0 7F0417B0 8FB00030 */ lw $s0, 0x30($sp) +/* 0762E4 7F0417B4 8FB10034 */ lw $s1, 0x34($sp) +/* 0762E8 7F0417B8 8FB20038 */ lw $s2, 0x38($sp) +/* 0762EC 7F0417BC 8FB3003C */ lw $s3, 0x3c($sp) +/* 0762F0 7F0417C0 8FB40040 */ lw $s4, 0x40($sp) +/* 0762F4 7F0417C4 8FB50044 */ lw $s5, 0x44($sp) +/* 0762F8 7F0417C8 8FB60048 */ lw $s6, 0x48($sp) +/* 0762FC 7F0417CC 8FB7004C */ lw $s7, 0x4c($sp) +/* 076300 7F0417D0 8FBE0050 */ lw $fp, 0x50($sp) +/* 076304 7F0417D4 03E00008 */ jr $ra +/* 076308 7F0417D8 27BD00D8 */ addiu $sp, $sp, 0xd8 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0417DC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0417DC +/* 07630C 7F0417DC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 076310 7F0417E0 AFB00028 */ sw $s0, 0x28($sp) +/* 076314 7F0417E4 00808025 */ move $s0, $a0 +/* 076318 7F0417E8 AFBF0034 */ sw $ra, 0x34($sp) +/* 07631C 7F0417EC AFB20030 */ sw $s2, 0x30($sp) +/* 076320 7F0417F0 AFB1002C */ sw $s1, 0x2c($sp) +/* 076324 7F0417F4 AFA60060 */ sw $a2, 0x60($sp) +/* 076328 7F0417F8 8C840014 */ lw $a0, 0x14($a0) +/* 07632C 7F0417FC 00A08825 */ move $s1, $a1 +/* 076330 7F041800 00E09025 */ move $s2, $a3 +/* 076334 7F041804 0FC1B403 */ jal getinstsize +/* 076338 7F041808 AFA40054 */ sw $a0, 0x54($sp) +/* 07633C 7F04180C 8E020010 */ lw $v0, 0x10($s0) +/* 076340 7F041810 44801000 */ mtc1 $zero, $f2 +/* 076344 7F041814 8C4E001C */ lw $t6, 0x1c($v0) +/* 076348 7F041818 55C00013 */ bnezl $t6, .L7F041868 +/* 07634C 7F04181C 46000207 */ neg.s $f8, $f0 +/* 076350 7F041820 C6040058 */ lwc1 $f4, 0x58($s0) +/* 076354 7F041824 C6260000 */ lwc1 $f6, ($s1) +/* 076358 7F041828 C608005C */ lwc1 $f8, 0x5c($s0) +/* 07635C 7F04182C C62A0004 */ lwc1 $f10, 4($s1) +/* 076360 7F041830 46062301 */ sub.s $f12, $f4, $f6 +/* 076364 7F041834 C6460000 */ lwc1 $f6, ($s2) +/* 076368 7F041838 C6240008 */ lwc1 $f4, 8($s1) +/* 07636C 7F04183C 460A4381 */ sub.s $f14, $f8, $f10 +/* 076370 7F041840 C6120060 */ lwc1 $f18, 0x60($s0) +/* 076374 7F041844 46066202 */ mul.s $f8, $f12, $f6 +/* 076378 7F041848 C64A0004 */ lwc1 $f10, 4($s2) +/* 07637C 7F04184C 46049401 */ sub.s $f16, $f18, $f4 +/* 076380 7F041850 C6460008 */ lwc1 $f6, 8($s2) +/* 076384 7F041854 460A7482 */ mul.s $f18, $f14, $f10 +/* 076388 7F041858 46124100 */ add.s $f4, $f8, $f18 +/* 07638C 7F04185C 46103282 */ mul.s $f10, $f6, $f16 +/* 076390 7F041860 46045080 */ add.s $f2, $f10, $f4 +/* 076394 7F041864 46000207 */ neg.s $f8, $f0 +.L7F041868: +/* 076398 7F041868 C7B20068 */ lwc1 $f18, 0x68($sp) +/* 07639C 7F04186C 4602403E */ c.le.s $f8, $f2 +/* 0763A0 7F041870 00000000 */ nop +/* 0763A4 7F041874 45020055 */ bc1fl .L7F0419CC +/* 0763A8 7F041878 00001025 */ move $v0, $zero +/* 0763AC 7F04187C 46009180 */ add.s $f6, $f18, $f0 +/* 0763B0 7F041880 4606103E */ c.le.s $f2, $f6 +/* 0763B4 7F041884 00000000 */ nop +/* 0763B8 7F041888 45020050 */ bc1fl .L7F0419CC +/* 0763BC 7F04188C 00001025 */ move $v0, $zero +/* 0763C0 7F041890 904F0001 */ lbu $t7, 1($v0) +/* 0763C4 7F041894 8FA5006C */ lw $a1, 0x6c($sp) +/* 0763C8 7F041898 8FA60070 */ lw $a2, 0x70($sp) +/* 0763CC 7F04189C 31F80002 */ andi $t8, $t7, 2 +/* 0763D0 7F0418A0 1300002A */ beqz $t8, .L7F04194C +/* 0763D4 7F0418A4 8FA40054 */ lw $a0, 0x54($sp) +/* 0763D8 7F0418A8 8FB90078 */ lw $t9, 0x78($sp) +/* 0763DC 7F0418AC 8FA90080 */ lw $t1, 0x80($sp) +/* 0763E0 7F0418B0 8FAA0084 */ lw $t2, 0x84($sp) +/* 0763E4 7F0418B4 02002025 */ move $a0, $s0 +/* 0763E8 7F0418B8 8FA70074 */ lw $a3, 0x74($sp) +/* 0763EC 7F0418BC AFB90010 */ sw $t9, 0x10($sp) +/* 0763F0 7F0418C0 AFA90014 */ sw $t1, 0x14($sp) +/* 0763F4 7F0418C4 0FC10458 */ jal sub_GAME_7F041160 +/* 0763F8 7F0418C8 AFAA0018 */ sw $t2, 0x18($sp) +/* 0763FC 7F0418CC 1040003E */ beqz $v0, .L7F0419C8 +/* 076400 7F0418D0 8FA30074 */ lw $v1, 0x74($sp) +/* 076404 7F0418D4 C46A0000 */ lwc1 $f10, ($v1) +/* 076408 7F0418D8 C6240000 */ lwc1 $f4, ($s1) +/* 07640C 7F0418DC C4680004 */ lwc1 $f8, 4($v1) +/* 076410 7F0418E0 C6320004 */ lwc1 $f18, 4($s1) +/* 076414 7F0418E4 46045301 */ sub.s $f12, $f10, $f4 +/* 076418 7F0418E8 C6440000 */ lwc1 $f4, ($s2) +/* 07641C 7F0418EC C62A0008 */ lwc1 $f10, 8($s1) +/* 076420 7F0418F0 46124381 */ sub.s $f14, $f8, $f18 +/* 076424 7F0418F4 C4660008 */ lwc1 $f6, 8($v1) +/* 076428 7F0418F8 46046202 */ mul.s $f8, $f12, $f4 +/* 07642C 7F0418FC C6520004 */ lwc1 $f18, 4($s2) +/* 076430 7F041900 460A3401 */ sub.s $f16, $f6, $f10 +/* 076434 7F041904 C6440008 */ lwc1 $f4, 8($s2) +/* 076438 7F041908 46127182 */ mul.s $f6, $f14, $f18 +/* 07643C 7F04190C 46064280 */ add.s $f10, $f8, $f6 +/* 076440 7F041910 46102482 */ mul.s $f18, $f4, $f16 +/* 076444 7F041914 44804000 */ mtc1 $zero, $f8 +/* 076448 7F041918 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 07644C 7F04191C 460A9080 */ add.s $f2, $f18, $f10 +/* 076450 7F041920 4602403E */ c.le.s $f8, $f2 +/* 076454 7F041924 00000000 */ nop +/* 076458 7F041928 45020028 */ bc1fl .L7F0419CC +/* 07645C 7F04192C 00001025 */ move $v0, $zero +/* 076460 7F041930 4606103E */ c.le.s $f2, $f6 +/* 076464 7F041934 8FA8007C */ lw $t0, 0x7c($sp) +/* 076468 7F041938 24020001 */ li $v0, 1 +/* 07646C 7F04193C 45020023 */ bc1fl .L7F0419CC +/* 076470 7F041940 00001025 */ move $v0, $zero +/* 076474 7F041944 10000021 */ b .L7F0419CC +/* 076478 7F041948 E5020000 */ swc1 $f2, ($t0) +.L7F04194C: +/* 07647C 7F04194C 0FC1B403 */ jal getinstsize +/* 076480 7F041950 AFA2003C */ sw $v0, 0x3c($sp) +/* 076484 7F041954 44070000 */ mfc1 $a3, $f0 +/* 076488 7F041958 02202025 */ move $a0, $s1 +/* 07648C 7F04195C 02402825 */ move $a1, $s2 +/* 076490 7F041960 0FC1041D */ jal sub_GAME_7F041074 +/* 076494 7F041964 26060058 */ addiu $a2, $s0, 0x58 +/* 076498 7F041968 10400017 */ beqz $v0, .L7F0419C8 +/* 07649C 7F04196C 8FA30074 */ lw $v1, 0x74($sp) +/* 0764A0 7F041970 8FA8007C */ lw $t0, 0x7c($sp) +/* 0764A4 7F041974 C7A40068 */ lwc1 $f4, 0x68($sp) +/* 0764A8 7F041978 02202825 */ move $a1, $s1 +/* 0764AC 7F04197C 02403825 */ move $a3, $s2 +/* 0764B0 7F041980 E5040000 */ swc1 $f4, ($t0) +/* 0764B4 7F041984 8FAB0078 */ lw $t3, 0x78($sp) +/* 0764B8 7F041988 AFA30010 */ sw $v1, 0x10($sp) +/* 0764BC 7F04198C 8FA60060 */ lw $a2, 0x60($sp) +/* 0764C0 7F041990 8FA4003C */ lw $a0, 0x3c($sp) +/* 0764C4 7F041994 AFA80018 */ sw $t0, 0x18($sp) +/* 0764C8 7F041998 0FC10500 */ jal sub_GAME_7F041400 +/* 0764CC 7F04199C AFAB0014 */ sw $t3, 0x14($sp) +/* 0764D0 7F0419A0 10400009 */ beqz $v0, .L7F0419C8 +/* 0764D4 7F0419A4 8FAC0054 */ lw $t4, 0x54($sp) +/* 0764D8 7F0419A8 8FAD0080 */ lw $t5, 0x80($sp) +/* 0764DC 7F0419AC 24020001 */ li $v0, 1 +/* 0764E0 7F0419B0 ADAC0000 */ sw $t4, ($t5) +/* 0764E4 7F0419B4 8D8E0008 */ lw $t6, 8($t4) +/* 0764E8 7F0419B8 8FB80084 */ lw $t8, 0x84($sp) +/* 0764EC 7F0419BC 8DCF0000 */ lw $t7, ($t6) +/* 0764F0 7F0419C0 10000002 */ b .L7F0419CC +/* 0764F4 7F0419C4 AF0F0000 */ sw $t7, ($t8) +.L7F0419C8: +/* 0764F8 7F0419C8 00001025 */ move $v0, $zero +.L7F0419CC: +/* 0764FC 7F0419CC 8FBF0034 */ lw $ra, 0x34($sp) +/* 076500 7F0419D0 8FB00028 */ lw $s0, 0x28($sp) +/* 076504 7F0419D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 076508 7F0419D8 8FB20030 */ lw $s2, 0x30($sp) +/* 07650C 7F0419DC 03E00008 */ jr $ra +/* 076510 7F0419E0 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0419E4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0419E4 +/* 076514 7F0419E4 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 076518 7F0419E8 AFBF0064 */ sw $ra, 0x64($sp) +/* 07651C 7F0419EC AFBE0060 */ sw $fp, 0x60($sp) +/* 076520 7F0419F0 AFB7005C */ sw $s7, 0x5c($sp) +/* 076524 7F0419F4 AFB60058 */ sw $s6, 0x58($sp) +/* 076528 7F0419F8 AFB50054 */ sw $s5, 0x54($sp) +/* 07652C 7F0419FC AFB40050 */ sw $s4, 0x50($sp) +/* 076530 7F041A00 AFB3004C */ sw $s3, 0x4c($sp) +/* 076534 7F041A04 AFB20048 */ sw $s2, 0x48($sp) +/* 076538 7F041A08 AFB10044 */ sw $s1, 0x44($sp) +/* 07653C 7F041A0C AFB00040 */ sw $s0, 0x40($sp) +/* 076540 7F041A10 F7B40038 */ sdc1 $f20, 0x38($sp) +/* 076544 7F041A14 8C830010 */ lw $v1, 0x10($a0) +/* 076548 7F041A18 C7B400A8 */ lwc1 $f20, 0xa8($sp) +/* 07654C 7F041A1C 8FB700AC */ lw $s7, 0xac($sp) +/* 076550 7F041A20 8FBE00B0 */ lw $fp, 0xb0($sp) +/* 076554 7F041A24 27AE008C */ addiu $t6, $sp, 0x8c +/* 076558 7F041A28 27AF0080 */ addiu $t7, $sp, 0x80 +/* 07655C 7F041A2C 27B8007C */ addiu $t8, $sp, 0x7c +/* 076560 7F041A30 27B90078 */ addiu $t9, $sp, 0x78 +/* 076564 7F041A34 27A80074 */ addiu $t0, $sp, 0x74 +/* 076568 7F041A38 00808025 */ move $s0, $a0 +/* 07656C 7F041A3C 00A09825 */ move $s3, $a1 +/* 076570 7F041A40 00C0A025 */ move $s4, $a2 +/* 076574 7F041A44 00E0A825 */ move $s5, $a3 +/* 076578 7F041A48 0000B025 */ move $s6, $zero +/* 07657C 7F041A4C AFA8002C */ sw $t0, 0x2c($sp) +/* 076580 7F041A50 AFB90028 */ sw $t9, 0x28($sp) +/* 076584 7F041A54 AFB80024 */ sw $t8, 0x24($sp) +/* 076588 7F041A58 AFAF0020 */ sw $t7, 0x20($sp) +/* 07658C 7F041A5C AFAE001C */ sw $t6, 0x1c($sp) +/* 076590 7F041A60 AFA3006C */ sw $v1, 0x6c($sp) +/* 076594 7F041A64 E7B40010 */ swc1 $f20, 0x10($sp) +/* 076598 7F041A68 AFB70014 */ sw $s7, 0x14($sp) +/* 07659C 7F041A6C 0FC105F7 */ jal sub_GAME_7F0417DC +/* 0765A0 7F041A70 AFBE0018 */ sw $fp, 0x18($sp) +/* 0765A4 7F041A74 10400024 */ beqz $v0, .L7F041B08 +/* 0765A8 7F041A78 8FA3006C */ lw $v1, 0x6c($sp) +/* 0765AC 7F041A7C 8FA900BC */ lw $t1, 0xbc($sp) +/* 0765B0 7F041A80 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 0765B4 7F041A84 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0765B8 7F041A88 C5260000 */ lwc1 $f6, ($t1) +/* 0765BC 7F041A8C 8FB200B8 */ lw $s2, 0xb8($sp) +/* 0765C0 7F041A90 4606203C */ c.lt.s $f4, $f6 +/* 0765C4 7F041A94 00000000 */ nop +/* 0765C8 7F041A98 4502001C */ bc1fl .L7F041B0C +/* 0765CC 7F041A9C 906E0001 */ lbu $t6, 1($v1) +/* 0765D0 7F041AA0 E5240000 */ swc1 $f4, ($t1) +/* 0765D4 7F041AA4 C7A8008C */ lwc1 $f8, 0x8c($sp) +/* 0765D8 7F041AA8 3C018003 */ lui $at, %hi(D_80030B0C) +/* 0765DC 7F041AAC 240BFFFF */ li $t3, -1 +/* 0765E0 7F041AB0 E6280000 */ swc1 $f8, ($s1) +/* 0765E4 7F041AB4 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 0765E8 7F041AB8 24160001 */ li $s6, 1 +/* 0765EC 7F041ABC E62A0004 */ swc1 $f10, 4($s1) +/* 0765F0 7F041AC0 C7B00094 */ lwc1 $f16, 0x94($sp) +/* 0765F4 7F041AC4 E6300008 */ swc1 $f16, 8($s1) +/* 0765F8 7F041AC8 C7B20080 */ lwc1 $f18, 0x80($sp) +/* 0765FC 7F041ACC E6520000 */ swc1 $f18, ($s2) +/* 076600 7F041AD0 C7A60084 */ lwc1 $f6, 0x84($sp) +/* 076604 7F041AD4 E6460004 */ swc1 $f6, 4($s2) +/* 076608 7F041AD8 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 07660C 7F041ADC E6440008 */ swc1 $f4, 8($s2) +/* 076610 7F041AE0 8E0A0010 */ lw $t2, 0x10($s0) +/* 076614 7F041AE4 8FAC0078 */ lw $t4, 0x78($sp) +/* 076618 7F041AE8 8FAD0074 */ lw $t5, 0x74($sp) +/* 07661C 7F041AEC AC2A0B0C */ sw $t2, %lo(D_80030B0C)($at) +/* 076620 7F041AF0 3C018003 */ lui $at, %hi(bodypartshot) +/* 076624 7F041AF4 AC2B0B10 */ sw $t3, %lo(bodypartshot)($at) +/* 076628 7F041AF8 3C018007 */ lui $at, %hi(objinst) +/* 07662C 7F041AFC AC2C5B70 */ sw $t4, %lo(objinst)($at) +/* 076630 7F041B00 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) +/* 076634 7F041B04 AC2D5B74 */ sw $t5, %lo(dword_CODE_bss_80075B74)($at) +.L7F041B08: +/* 076638 7F041B08 906E0001 */ lbu $t6, 1($v1) +.L7F041B0C: +/* 07663C 7F041B0C 8FB100B4 */ lw $s1, 0xb4($sp) +/* 076640 7F041B10 8FB200B8 */ lw $s2, 0xb8($sp) +/* 076644 7F041B14 31CF0002 */ andi $t7, $t6, 2 +/* 076648 7F041B18 51E0001A */ beql $t7, $zero, .L7F041B84 +/* 07664C 7F041B1C 8FBF0064 */ lw $ra, 0x64($sp) +/* 076650 7F041B20 8C700020 */ lw $s0, 0x20($v1) +/* 076654 7F041B24 52000017 */ beql $s0, $zero, .L7F041B84 +/* 076658 7F041B28 8FBF0064 */ lw $ra, 0x64($sp) +/* 07665C 7F041B2C 92180001 */ lbu $t8, 1($s0) +.L7F041B30: +/* 076660 7F041B30 02602825 */ move $a1, $s3 +/* 076664 7F041B34 02803025 */ move $a2, $s4 +/* 076668 7F041B38 33190002 */ andi $t9, $t8, 2 +/* 07666C 7F041B3C 1320000D */ beqz $t9, .L7F041B74 +/* 076670 7F041B40 02A03825 */ move $a3, $s5 +/* 076674 7F041B44 8E040004 */ lw $a0, 4($s0) +/* 076678 7F041B48 8FA800BC */ lw $t0, 0xbc($sp) +/* 07667C 7F041B4C AFB20020 */ sw $s2, 0x20($sp) +/* 076680 7F041B50 AFB1001C */ sw $s1, 0x1c($sp) +/* 076684 7F041B54 AFBE0018 */ sw $fp, 0x18($sp) +/* 076688 7F041B58 AFB70014 */ sw $s7, 0x14($sp) +/* 07668C 7F041B5C E7B40010 */ swc1 $f20, 0x10($sp) +/* 076690 7F041B60 0FC10679 */ jal sub_GAME_7F0419E4 +/* 076694 7F041B64 AFA80024 */ sw $t0, 0x24($sp) +/* 076698 7F041B68 50400003 */ beql $v0, $zero, .L7F041B78 +/* 07669C 7F041B6C 8E100024 */ lw $s0, 0x24($s0) +/* 0766A0 7F041B70 24160001 */ li $s6, 1 +.L7F041B74: +/* 0766A4 7F041B74 8E100024 */ lw $s0, 0x24($s0) +.L7F041B78: +/* 0766A8 7F041B78 5600FFED */ bnezl $s0, .L7F041B30 +/* 0766AC 7F041B7C 92180001 */ lbu $t8, 1($s0) +/* 0766B0 7F041B80 8FBF0064 */ lw $ra, 0x64($sp) +.L7F041B84: +/* 0766B4 7F041B84 02C01025 */ move $v0, $s6 +/* 0766B8 7F041B88 8FB60058 */ lw $s6, 0x58($sp) +/* 0766BC 7F041B8C D7B40038 */ ldc1 $f20, 0x38($sp) +/* 0766C0 7F041B90 8FB00040 */ lw $s0, 0x40($sp) +/* 0766C4 7F041B94 8FB10044 */ lw $s1, 0x44($sp) +/* 0766C8 7F041B98 8FB20048 */ lw $s2, 0x48($sp) +/* 0766CC 7F041B9C 8FB3004C */ lw $s3, 0x4c($sp) +/* 0766D0 7F041BA0 8FB40050 */ lw $s4, 0x50($sp) +/* 0766D4 7F041BA4 8FB50054 */ lw $s5, 0x54($sp) +/* 0766D8 7F041BA8 8FB7005C */ lw $s7, 0x5c($sp) +/* 0766DC 7F041BAC 8FBE0060 */ lw $fp, 0x60($sp) +/* 0766E0 7F041BB0 03E00008 */ jr $ra +/* 0766E4 7F041BB4 27BD0098 */ addiu $sp, $sp, 0x98 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041BB8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041BB8 +/* 0766E8 7F041BB8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0766EC 7F041BBC AFA70074 */ sw $a3, 0x74($sp) +/* 0766F0 7F041BC0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0766F4 7F041BC4 AFB20028 */ sw $s2, 0x28($sp) +/* 0766F8 7F041BC8 AFB10024 */ sw $s1, 0x24($sp) +/* 0766FC 7F041BCC AFB00020 */ sw $s0, 0x20($sp) +/* 076700 7F041BD0 AFA40068 */ sw $a0, 0x68($sp) +/* 076704 7F041BD4 00803825 */ move $a3, $a0 +/* 076708 7F041BD8 8C920018 */ lw $s2, 0x18($a0) +/* 07670C 7F041BDC 8C84001C */ lw $a0, 0x1c($a0) +/* 076710 7F041BE0 00C08025 */ move $s0, $a2 +/* 076714 7F041BE4 00A08825 */ move $s1, $a1 +/* 076718 7F041BE8 0FC1B403 */ jal getinstsize +/* 07671C 7F041BEC AFA70068 */ sw $a3, 0x68($sp) +/* 076720 7F041BF0 C6440008 */ lwc1 $f4, 8($s2) +/* 076724 7F041BF4 C6260000 */ lwc1 $f6, ($s1) +/* 076728 7F041BF8 C648000C */ lwc1 $f8, 0xc($s2) +/* 07672C 7F041BFC C62A0004 */ lwc1 $f10, 4($s1) +/* 076730 7F041C00 46062081 */ sub.s $f2, $f4, $f6 +/* 076734 7F041C04 C6060000 */ lwc1 $f6, ($s0) +/* 076738 7F041C08 C6240008 */ lwc1 $f4, 8($s1) +/* 07673C 7F041C0C 460A4301 */ sub.s $f12, $f8, $f10 +/* 076740 7F041C10 C6520010 */ lwc1 $f18, 0x10($s2) +/* 076744 7F041C14 46061202 */ mul.s $f8, $f2, $f6 +/* 076748 7F041C18 C60A0004 */ lwc1 $f10, 4($s0) +/* 07674C 7F041C1C 46049381 */ sub.s $f14, $f18, $f4 +/* 076750 7F041C20 C6060008 */ lwc1 $f6, 8($s0) +/* 076754 7F041C24 460A6482 */ mul.s $f18, $f12, $f10 +/* 076758 7F041C28 46124100 */ add.s $f4, $f8, $f18 +/* 07675C 7F041C2C 460E3282 */ mul.s $f10, $f6, $f14 +/* 076760 7F041C30 C7B20074 */ lwc1 $f18, 0x74($sp) +/* 076764 7F041C34 46000207 */ neg.s $f8, $f0 +/* 076768 7F041C38 46045400 */ add.s $f16, $f10, $f4 +/* 07676C 7F041C3C 4610403E */ c.le.s $f8, $f16 +/* 076770 7F041C40 00000000 */ nop +/* 076774 7F041C44 4502006B */ bc1fl .L7F041DF4 +/* 076778 7F041C48 00001025 */ move $v0, $zero +/* 07677C 7F041C4C 46009180 */ add.s $f6, $f18, $f0 +/* 076780 7F041C50 4606803E */ c.le.s $f16, $f6 +/* 076784 7F041C54 00000000 */ nop +/* 076788 7F041C58 45020066 */ bc1fl .L7F041DF4 +/* 07678C 7F041C5C 00001025 */ move $v0, $zero +/* 076790 7F041C60 924E0001 */ lbu $t6, 1($s2) +/* 076794 7F041C64 8FB80068 */ lw $t8, 0x68($sp) +/* 076798 7F041C68 27A40038 */ addiu $a0, $sp, 0x38 +/* 07679C 7F041C6C 31CF0002 */ andi $t7, $t6, 2 +/* 0767A0 7F041C70 11E0005F */ beqz $t7, .L7F041DF0 +/* 0767A4 7F041C74 27A70040 */ addiu $a3, $sp, 0x40 +/* 0767A8 7F041C78 8F190020 */ lw $t9, 0x20($t8) +/* 0767AC 7F041C7C 27A8003C */ addiu $t0, $sp, 0x3c +/* 0767B0 7F041C80 AFA80010 */ sw $t0, 0x10($sp) +/* 0767B4 7F041C84 8FA50078 */ lw $a1, 0x78($sp) +/* 0767B8 7F041C88 8FA6007C */ lw $a2, 0x7c($sp) +/* 0767BC 7F041C8C 0FC1B004 */ jal sub_GAME_7F06C010 +/* 0767C0 7F041C90 AFB90038 */ sw $t9, 0x38($sp) +/* 0767C4 7F041C94 18400056 */ blez $v0, .L7F041DF0 +/* 0767C8 7F041C98 AFA20044 */ sw $v0, 0x44($sp) +/* 0767CC 7F041C9C 8FA40040 */ lw $a0, 0x40($sp) +/* 0767D0 7F041CA0 8FA5003C */ lw $a1, 0x3c($sp) +/* 0767D4 7F041CA4 0FC1B198 */ jal sub_GAME_7F06C660 +/* 0767D8 7F041CA8 00003025 */ move $a2, $zero +/* 0767DC 7F041CAC 8FA30078 */ lw $v1, 0x78($sp) +/* 0767E0 7F041CB0 C44A0030 */ lwc1 $f10, 0x30($v0) +/* 0767E4 7F041CB4 8FA7007C */ lw $a3, 0x7c($sp) +/* 0767E8 7F041CB8 C4640000 */ lwc1 $f4, ($v1) +/* 0767EC 7F041CBC C4480034 */ lwc1 $f8, 0x34($v0) +/* 0767F0 7F041CC0 C4720004 */ lwc1 $f18, 4($v1) +/* 0767F4 7F041CC4 46045081 */ sub.s $f2, $f10, $f4 +/* 0767F8 7F041CC8 C4E40000 */ lwc1 $f4, ($a3) +/* 0767FC 7F041CCC C4460038 */ lwc1 $f6, 0x38($v0) +/* 076800 7F041CD0 46124301 */ sub.s $f12, $f8, $f18 +/* 076804 7F041CD4 C46A0008 */ lwc1 $f10, 8($v1) +/* 076808 7F041CD8 46041202 */ mul.s $f8, $f2, $f4 +/* 07680C 7F041CDC C4F20004 */ lwc1 $f18, 4($a3) +/* 076810 7F041CE0 460A3381 */ sub.s $f14, $f6, $f10 +/* 076814 7F041CE4 C4E40008 */ lwc1 $f4, 8($a3) +/* 076818 7F041CE8 46126182 */ mul.s $f6, $f12, $f18 +/* 07681C 7F041CEC 8FA50088 */ lw $a1, 0x88($sp) +/* 076820 7F041CF0 8FA20080 */ lw $v0, 0x80($sp) +/* 076824 7F041CF4 460E2482 */ mul.s $f18, $f4, $f14 +/* 076828 7F041CF8 8FA40084 */ lw $a0, 0x84($sp) +/* 07682C 7F041CFC 46064280 */ add.s $f10, $f8, $f6 +/* 076830 7F041D00 C4A80000 */ lwc1 $f8, ($a1) +/* 076834 7F041D04 460A9000 */ add.s $f0, $f18, $f10 +/* 076838 7F041D08 4608003C */ c.lt.s $f0, $f8 +/* 07683C 7F041D0C 00000000 */ nop +/* 076840 7F041D10 45020038 */ bc1fl .L7F041DF4 +/* 076844 7F041D14 00001025 */ move $v0, $zero +/* 076848 7F041D18 E4A00000 */ swc1 $f0, ($a1) +/* 07684C 7F041D1C C6060000 */ lwc1 $f6, ($s0) +/* 076850 7F041D20 C6320000 */ lwc1 $f18, ($s1) +/* 076854 7F041D24 44801000 */ mtc1 $zero, $f2 +/* 076858 7F041D28 46003102 */ mul.s $f4, $f6, $f0 +/* 07685C 7F041D2C 24850004 */ addiu $a1, $a0, 4 +/* 076860 7F041D30 46122280 */ add.s $f10, $f4, $f18 +/* 076864 7F041D34 E44A0000 */ swc1 $f10, ($v0) +/* 076868 7F041D38 C6080004 */ lwc1 $f8, 4($s0) +/* 07686C 7F041D3C C6240004 */ lwc1 $f4, 4($s1) +/* 076870 7F041D40 46004182 */ mul.s $f6, $f8, $f0 +/* 076874 7F041D44 46043480 */ add.s $f18, $f6, $f4 +/* 076878 7F041D48 E4520004 */ swc1 $f18, 4($v0) +/* 07687C 7F041D4C C60A0008 */ lwc1 $f10, 8($s0) +/* 076880 7F041D50 C6260008 */ lwc1 $f6, 8($s1) +/* 076884 7F041D54 46005202 */ mul.s $f8, $f10, $f0 +/* 076888 7F041D58 46064100 */ add.s $f4, $f8, $f6 +/* 07688C 7F041D5C E4440008 */ swc1 $f4, 8($v0) +/* 076890 7F041D60 C6120000 */ lwc1 $f18, ($s0) +/* 076894 7F041D64 E4820004 */ swc1 $f2, 4($a0) +/* 076898 7F041D68 46009287 */ neg.s $f10, $f18 +/* 07689C 7F041D6C E48A0000 */ swc1 $f10, ($a0) +/* 0768A0 7F041D70 C4840000 */ lwc1 $f4, ($a0) +/* 0768A4 7F041D74 C6080008 */ lwc1 $f8, 8($s0) +/* 0768A8 7F041D78 46041032 */ c.eq.s $f2, $f4 +/* 0768AC 7F041D7C 46004187 */ neg.s $f6, $f8 +/* 0768B0 7F041D80 45000007 */ bc1f .L7F041DA0 +/* 0768B4 7F041D84 E4860008 */ swc1 $f6, 8($a0) +/* 0768B8 7F041D88 C4920008 */ lwc1 $f18, 8($a0) +/* 0768BC 7F041D8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0768C0 7F041D90 46121032 */ c.eq.s $f2, $f18 +/* 0768C4 7F041D94 00000000 */ nop +/* 0768C8 7F041D98 45030006 */ bc1tl .L7F041DB4 +/* 0768CC 7F041D9C 44815000 */ mtc1 $at, $f10 +.L7F041DA0: +/* 0768D0 7F041DA0 0C007DD4 */ jal guNormalize +/* 0768D4 7F041DA4 24860008 */ addiu $a2, $a0, 8 +/* 0768D8 7F041DA8 10000005 */ b .L7F041DC0 +/* 0768DC 7F041DAC 8FA90044 */ lw $t1, 0x44($sp) +/* 0768E0 7F041DB0 44815000 */ mtc1 $at, $f10 +.L7F041DB4: +/* 0768E4 7F041DB4 00000000 */ nop +/* 0768E8 7F041DB8 E48A0008 */ swc1 $f10, 8($a0) +/* 0768EC 7F041DBC 8FA90044 */ lw $t1, 0x44($sp) +.L7F041DC0: +/* 0768F0 7F041DC0 3C018003 */ lui $at, %hi(D_80030B0C) +/* 0768F4 7F041DC4 AC320B0C */ sw $s2, %lo(D_80030B0C)($at) +/* 0768F8 7F041DC8 8FAA0040 */ lw $t2, 0x40($sp) +/* 0768FC 7F041DCC 3C018003 */ lui $at, %hi(bodypartshot) +/* 076900 7F041DD0 AC290B10 */ sw $t1, %lo(bodypartshot)($at) +/* 076904 7F041DD4 3C018007 */ lui $at, %hi(objinst) +/* 076908 7F041DD8 8FAB003C */ lw $t3, 0x3c($sp) +/* 07690C 7F041DDC AC2A5B70 */ sw $t2, %lo(objinst)($at) +/* 076910 7F041DE0 3C018007 */ lui $at, %hi(dword_CODE_bss_80075B74) +/* 076914 7F041DE4 24020001 */ li $v0, 1 +/* 076918 7F041DE8 10000002 */ b .L7F041DF4 +/* 07691C 7F041DEC AC2B5B74 */ sw $t3, %lo(dword_CODE_bss_80075B74)($at) +.L7F041DF0: +/* 076920 7F041DF0 00001025 */ move $v0, $zero +.L7F041DF4: +/* 076924 7F041DF4 8FBF002C */ lw $ra, 0x2c($sp) +/* 076928 7F041DF8 8FB00020 */ lw $s0, 0x20($sp) +/* 07692C 7F041DFC 8FB10024 */ lw $s1, 0x24($sp) +/* 076930 7F041E00 8FB20028 */ lw $s2, 0x28($sp) +/* 076934 7F041E04 03E00008 */ jr $ra +/* 076938 7F041E08 27BD0068 */ addiu $sp, $sp, 0x68 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F041E0C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F041E0C +/* 07693C 7F041E0C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 076940 7F041E10 AFBF005C */ sw $ra, 0x5c($sp) +/* 076944 7F041E14 AFB40048 */ sw $s4, 0x48($sp) +/* 076948 7F041E18 AFB20040 */ sw $s2, 0x40($sp) +/* 07694C 7F041E1C 00E09025 */ move $s2, $a3 +/* 076950 7F041E20 00A0A025 */ move $s4, $a1 +/* 076954 7F041E24 AFBE0058 */ sw $fp, 0x58($sp) +/* 076958 7F041E28 AFB70054 */ sw $s7, 0x54($sp) +/* 07695C 7F041E2C AFB60050 */ sw $s6, 0x50($sp) +/* 076960 7F041E30 AFB5004C */ sw $s5, 0x4c($sp) +/* 076964 7F041E34 AFB30044 */ sw $s3, 0x44($sp) +/* 076968 7F041E38 AFB1003C */ sw $s1, 0x3c($sp) +/* 07696C 7F041E3C AFB00038 */ sw $s0, 0x38($sp) +/* 076970 7F041E40 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 076974 7F041E44 AFA400B8 */ sw $a0, 0xb8($sp) +/* 076978 7F041E48 AFA600C0 */ sw $a2, 0xc0($sp) +/* 07697C 7F041E4C AFA000B4 */ sw $zero, 0xb4($sp) +/* 076980 7F041E50 0FC1F3A1 */ jal get_ptr_for_players_tank +/* 076984 7F041E54 AFA000A4 */ sw $zero, 0xa4($sp) +/* 076988 7F041E58 8FA300C0 */ lw $v1, 0xc0($sp) +/* 07698C 7F041E5C AFA20074 */ sw $v0, 0x74($sp) +/* 076990 7F041E60 C6860000 */ lwc1 $f6, ($s4) +/* 076994 7F041E64 C4640000 */ lwc1 $f4, ($v1) +/* 076998 7F041E68 46062201 */ sub.s $f8, $f4, $f6 +/* 07699C 7F041E6C E7A80098 */ swc1 $f8, 0x98($sp) +/* 0769A0 7F041E70 C6900004 */ lwc1 $f16, 4($s4) +/* 0769A4 7F041E74 C46A0004 */ lwc1 $f10, 4($v1) +/* 0769A8 7F041E78 46105481 */ sub.s $f18, $f10, $f16 +/* 0769AC 7F041E7C C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 0769B0 7F041E80 E7B2009C */ swc1 $f18, 0x9c($sp) +/* 0769B4 7F041E84 C6860008 */ lwc1 $f6, 8($s4) +/* 0769B8 7F041E88 C4640008 */ lwc1 $f4, 8($v1) +/* 0769BC 7F041E8C 460A5402 */ mul.s $f16, $f10, $f10 +/* 0769C0 7F041E90 C7B2009C */ lwc1 $f18, 0x9c($sp) +/* 0769C4 7F041E94 46062201 */ sub.s $f8, $f4, $f6 +/* 0769C8 7F041E98 46129102 */ mul.s $f4, $f18, $f18 +/* 0769CC 7F041E9C E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 0769D0 7F041EA0 C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 0769D4 7F041EA4 46084282 */ mul.s $f10, $f8, $f8 +/* 0769D8 7F041EA8 46048180 */ add.s $f6, $f16, $f4 +/* 0769DC 7F041EAC 0C007DF8 */ jal sqrtf +/* 0769E0 7F041EB0 46065300 */ add.s $f12, $f10, $f6 +/* 0769E4 7F041EB4 44809000 */ mtc1 $zero, $f18 +/* 0769E8 7F041EB8 46000506 */ mov.s $f20, $f0 +/* 0769EC 7F041EBC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0769F0 7F041EC0 46120032 */ c.eq.s $f0, $f18 +/* 0769F4 7F041EC4 00000000 */ nop +/* 0769F8 7F041EC8 45020004 */ bc1fl .L7F041EDC +/* 0769FC 7F041ECC 44818000 */ mtc1 $at, $f16 +/* 076A00 7F041ED0 100000D1 */ b .L7F042218 +/* 076A04 7F041ED4 00001025 */ move $v0, $zero +/* 076A08 7F041ED8 44818000 */ mtc1 $at, $f16 +.L7F041EDC: +/* 076A0C 7F041EDC C7A40098 */ lwc1 $f4, 0x98($sp) +/* 076A10 7F041EE0 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 076A14 7F041EE4 46148003 */ div.s $f0, $f16, $f20 +/* 076A18 7F041EE8 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 076A1C 7F041EEC 46002202 */ mul.s $f8, $f4, $f0 +/* 076A20 7F041EF0 00000000 */ nop +/* 076A24 7F041EF4 46005182 */ mul.s $f6, $f10, $f0 +/* 076A28 7F041EF8 00000000 */ nop +/* 076A2C 7F041EFC 46009402 */ mul.s $f16, $f18, $f0 +/* 076A30 7F041F00 E7A80098 */ swc1 $f8, 0x98($sp) +/* 076A34 7F041F04 E7A6009C */ swc1 $f6, 0x9c($sp) +/* 076A38 7F041F08 E7B000A0 */ swc1 $f16, 0xa0($sp) +/* 076A3C 7F041F0C C6840000 */ lwc1 $f4, ($s4) +/* 076A40 7F041F10 E7A40088 */ swc1 $f4, 0x88($sp) +/* 076A44 7F041F14 C6880004 */ lwc1 $f8, 4($s4) +/* 076A48 7F041F18 E7A8008C */ swc1 $f8, 0x8c($sp) +/* 076A4C 7F041F1C C68A0008 */ lwc1 $f10, 8($s4) +/* 076A50 7F041F20 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 076A54 7F041F24 E7AA0090 */ swc1 $f10, 0x90($sp) +/* 076A58 7F041F28 00402025 */ move $a0, $v0 +/* 076A5C 7F041F2C 0FC1611D */ jal sub_GAME_7F058474 +/* 076A60 7F041F30 27A50088 */ addiu $a1, $sp, 0x88 +/* 076A64 7F041F34 C7A60098 */ lwc1 $f6, 0x98($sp) +/* 076A68 7F041F38 C7B2009C */ lwc1 $f18, 0x9c($sp) +/* 076A6C 7F041F3C C7B000A0 */ lwc1 $f16, 0xa0($sp) +/* 076A70 7F041F40 E7A6007C */ swc1 $f6, 0x7c($sp) +/* 076A74 7F041F44 E7B20080 */ swc1 $f18, 0x80($sp) +/* 076A78 7F041F48 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 076A7C 7F041F4C E7B00084 */ swc1 $f16, 0x84($sp) +/* 076A80 7F041F50 00402025 */ move $a0, $v0 +/* 076A84 7F041F54 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 076A88 7F041F58 27A5007C */ addiu $a1, $sp, 0x7c +/* 076A8C 7F041F5C 12400099 */ beqz $s2, .L7F0421C4 +/* 076A90 7F041F60 E7B400A8 */ swc1 $f20, 0xa8($sp) +/* 076A94 7F041F64 0FC0F8FF */ jal sub_GAME_7F03E3FC +/* 076A98 7F041F68 8FA400D0 */ lw $a0, 0xd0($sp) +/* 076A9C 7F041F6C 3C138007 */ lui $s3, %hi(ptr_list_object_lookup_indices) +/* 076AA0 7F041F70 8E739C30 */ lw $s3, %lo(ptr_list_object_lookup_indices)($s3) +/* 076AA4 7F041F74 27BE00A8 */ addiu $fp, $sp, 0xa8 +/* 076AA8 7F041F78 27B70098 */ addiu $s7, $sp, 0x98 +/* 076AAC 7F041F7C 86620000 */ lh $v0, ($s3) +/* 076AB0 7F041F80 8FB600CC */ lw $s6, 0xcc($sp) +/* 076AB4 7F041F84 8FB500C8 */ lw $s5, 0xc8($sp) +/* 076AB8 7F041F88 0440008E */ bltz $v0, .L7F0421C4 +/* 076ABC 7F041F8C 00027080 */ sll $t6, $v0, 2 +.L7F041F90: +/* 076AC0 7F041F90 01C27023 */ subu $t6, $t6, $v0 +/* 076AC4 7F041F94 000E7080 */ sll $t6, $t6, 2 +/* 076AC8 7F041F98 8FB800B8 */ lw $t8, 0xb8($sp) +/* 076ACC 7F041F9C 01C27021 */ addu $t6, $t6, $v0 +/* 076AD0 7F041FA0 3C0F8007 */ lui $t7, %hi(pos_data_entry) +/* 076AD4 7F041FA4 25EF9C38 */ addiu $t7, %lo(pos_data_entry) # addiu $t7, $t7, -0x63c8 +/* 076AD8 7F041FA8 000E7080 */ sll $t6, $t6, 2 +/* 076ADC 7F041FAC 01CF8021 */ addu $s0, $t6, $t7 +/* 076AE0 7F041FB0 52180081 */ beql $s0, $t8, .L7F0421B8 +/* 076AE4 7F041FB4 86620002 */ lh $v0, 2($s3) +/* 076AE8 7F041FB8 92020000 */ lbu $v0, ($s0) +/* 076AEC 7F041FBC 24010001 */ li $at, 1 +/* 076AF0 7F041FC0 10410005 */ beq $v0, $at, .L7F041FD8 +/* 076AF4 7F041FC4 24010004 */ li $at, 4 +/* 076AF8 7F041FC8 10410003 */ beq $v0, $at, .L7F041FD8 +/* 076AFC 7F041FCC 24010002 */ li $at, 2 +/* 076B00 7F041FD0 54410030 */ bnel $v0, $at, .L7F042094 +/* 076B04 7F041FD4 24010003 */ li $at, 3 +.L7F041FD8: +/* 076B08 7F041FD8 8E110004 */ lw $s1, 4($s0) +/* 076B0C 7F041FDC 8E390064 */ lw $t9, 0x64($s1) +/* 076B10 7F041FE0 33280008 */ andi $t0, $t9, 8 +/* 076B14 7F041FE4 55000074 */ bnezl $t0, .L7F0421B8 +/* 076B18 7F041FE8 86620002 */ lh $v0, 2($s3) +/* 076B1C 7F041FEC 8E29000C */ lw $t1, 0xc($s1) +/* 076B20 7F041FF0 24010002 */ li $at, 2 +/* 076B24 7F041FF4 00095180 */ sll $t2, $t1, 6 +/* 076B28 7F041FF8 0542006F */ bltzl $t2, .L7F0421B8 +/* 076B2C 7F041FFC 86620002 */ lh $v0, 2($s3) +/* 076B30 7F042000 1441000B */ bne $v0, $at, .L7F042030 +/* 076B34 7F042004 324D0001 */ andi $t5, $s2, 1 +/* 076B38 7F042008 324B0002 */ andi $t3, $s2, 2 +/* 076B3C 7F04200C 5560000B */ bnezl $t3, .L7F04203C +/* 076B40 7F042010 8FAE0074 */ lw $t6, 0x74($sp) +/* 076B44 7F042014 0FC0F67B */ jal sub_GAME_7F03D9EC +/* 076B48 7F042018 02002025 */ move $a0, $s0 +/* 076B4C 7F04201C 00526024 */ and $t4, $v0, $s2 +/* 076B50 7F042020 55800006 */ bnezl $t4, .L7F04203C +/* 076B54 7F042024 8FAE0074 */ lw $t6, 0x74($sp) +/* 076B58 7F042028 10000063 */ b .L7F0421B8 +/* 076B5C 7F04202C 86620002 */ lh $v0, 2($s3) +.L7F042030: +/* 076B60 7F042030 51A00061 */ beql $t5, $zero, .L7F0421B8 +/* 076B64 7F042034 86620002 */ lh $v0, 2($s3) +/* 076B68 7F042038 8FAE0074 */ lw $t6, 0x74($sp) +.L7F04203C: +/* 076B6C 7F04203C 02202025 */ move $a0, $s1 +/* 076B70 7F042040 02802825 */ move $a1, $s4 +/* 076B74 7F042044 160E0004 */ bne $s0, $t6, .L7F042058 +/* 076B78 7F042048 8FA600C0 */ lw $a2, 0xc0($sp) +/* 076B7C 7F04204C 922F0002 */ lbu $t7, 2($s1) +/* 076B80 7F042050 31F80020 */ andi $t8, $t7, 0x20 +/* 076B84 7F042054 17000057 */ bnez $t8, .L7F0421B4 +.L7F042058: +/* 076B88 7F042058 27B90088 */ addiu $t9, $sp, 0x88 +/* 076B8C 7F04205C 27A8007C */ addiu $t0, $sp, 0x7c +/* 076B90 7F042060 AFA80018 */ sw $t0, 0x18($sp) +/* 076B94 7F042064 AFB90014 */ sw $t9, 0x14($sp) +/* 076B98 7F042068 02E03825 */ move $a3, $s7 +/* 076B9C 7F04206C E7B40010 */ swc1 $f20, 0x10($sp) +/* 076BA0 7F042070 AFB5001C */ sw $s5, 0x1c($sp) +/* 076BA4 7F042074 AFB60020 */ sw $s6, 0x20($sp) +/* 076BA8 7F042078 0FC10679 */ jal sub_GAME_7F0419E4 +/* 076BAC 7F04207C AFBE0024 */ sw $fp, 0x24($sp) +/* 076BB0 7F042080 1040004C */ beqz $v0, .L7F0421B4 +/* 076BB4 7F042084 24090001 */ li $t1, 1 +/* 076BB8 7F042088 1000004A */ b .L7F0421B4 +/* 076BBC 7F04208C AFA900A4 */ sw $t1, 0xa4($sp) +/* 076BC0 7F042090 24010003 */ li $at, 3 +.L7F042094: +/* 076BC4 7F042094 10410005 */ beq $v0, $at, .L7F0420AC +/* 076BC8 7F042098 24010006 */ li $at, 6 +/* 076BCC 7F04209C 5441002F */ bnel $v0, $at, .L7F04215C +/* 076BD0 7F0420A0 24010006 */ li $at, 6 +/* 076BD4 7F0420A4 8E0A0004 */ lw $t2, 4($s0) +/* 076BD8 7F0420A8 1140002B */ beqz $t2, .L7F042158 +.L7F0420AC: +/* 076BDC 7F0420AC 24010006 */ li $at, 6 +/* 076BE0 7F0420B0 1441000F */ bne $v0, $at, .L7F0420F0 +/* 076BE4 7F0420B4 8E110004 */ lw $s1, 4($s0) +/* 076BE8 7F0420B8 0FC26C57 */ jal sub_GAME_7F09B15C +/* 076BEC 7F0420BC 02002025 */ move $a0, $s0 +/* 076BF0 7F0420C0 00025880 */ sll $t3, $v0, 2 +/* 076BF4 7F0420C4 3C0C8008 */ lui $t4, %hi(ptr_BONDdata_p1) +/* 076BF8 7F0420C8 018B6021 */ addu $t4, $t4, $t3 +/* 076BFC 7F0420CC 8D8C9EE0 */ lw $t4, %lo(ptr_BONDdata_p1)($t4) +/* 076C00 7F0420D0 324E0004 */ andi $t6, $s2, 4 +/* 076C04 7F0420D4 8D8D00AC */ lw $t5, 0xac($t4) +/* 076C08 7F0420D8 51A00037 */ beql $t5, $zero, .L7F0421B8 +/* 076C0C 7F0420DC 86620002 */ lh $v0, 2($s3) +/* 076C10 7F0420E0 55C0000E */ bnezl $t6, .L7F04211C +/* 076C14 7F0420E4 4407A000 */ mfc1 $a3, $f20 +/* 076C18 7F0420E8 10000033 */ b .L7F0421B8 +/* 076C1C 7F0420EC 86620002 */ lh $v0, 2($s3) +.L7F0420F0: +/* 076C20 7F0420F0 24010003 */ li $at, 3 +/* 076C24 7F0420F4 54410009 */ bnel $v0, $at, .L7F04211C +/* 076C28 7F0420F8 4407A000 */ mfc1 $a3, $f20 +/* 076C2C 7F0420FC 962F0012 */ lhu $t7, 0x12($s1) +/* 076C30 7F042100 32590008 */ andi $t9, $s2, 8 +/* 076C34 7F042104 31F80100 */ andi $t8, $t7, 0x100 +/* 076C38 7F042108 5700002B */ bnezl $t8, .L7F0421B8 +/* 076C3C 7F04210C 86620002 */ lh $v0, 2($s3) +/* 076C40 7F042110 53200029 */ beql $t9, $zero, .L7F0421B8 +/* 076C44 7F042114 86620002 */ lh $v0, 2($s3) +/* 076C48 7F042118 4407A000 */ mfc1 $a3, $f20 +.L7F04211C: +/* 076C4C 7F04211C 27A80088 */ addiu $t0, $sp, 0x88 +/* 076C50 7F042120 27A9007C */ addiu $t1, $sp, 0x7c +/* 076C54 7F042124 AFA90014 */ sw $t1, 0x14($sp) +/* 076C58 7F042128 AFA80010 */ sw $t0, 0x10($sp) +/* 076C5C 7F04212C 02202025 */ move $a0, $s1 +/* 076C60 7F042130 02802825 */ move $a1, $s4 +/* 076C64 7F042134 02E03025 */ move $a2, $s7 +/* 076C68 7F042138 AFB50018 */ sw $s5, 0x18($sp) +/* 076C6C 7F04213C AFB6001C */ sw $s6, 0x1c($sp) +/* 076C70 7F042140 0FC106EE */ jal sub_GAME_7F041BB8 +/* 076C74 7F042144 AFBE0020 */ sw $fp, 0x20($sp) +/* 076C78 7F042148 1040001A */ beqz $v0, .L7F0421B4 +/* 076C7C 7F04214C 240A0001 */ li $t2, 1 +/* 076C80 7F042150 10000018 */ b .L7F0421B4 +/* 076C84 7F042154 AFAA00A4 */ sw $t2, 0xa4($sp) +.L7F042158: +/* 076C88 7F042158 24010006 */ li $at, 6 +.L7F04215C: +/* 076C8C 7F04215C 54410016 */ bnel $v0, $at, .L7F0421B8 +/* 076C90 7F042160 86620002 */ lh $v0, 2($s3) +/* 076C94 7F042164 0FC26C57 */ jal sub_GAME_7F09B15C +/* 076C98 7F042168 02002025 */ move $a0, $s0 +/* 076C9C 7F04216C 00025880 */ sll $t3, $v0, 2 +/* 076CA0 7F042170 3C0C8008 */ lui $t4, %hi(ptr_BONDdata_p1) +/* 076CA4 7F042174 018B6021 */ addu $t4, $t4, $t3 +/* 076CA8 7F042178 8D8C9EE0 */ lw $t4, %lo(ptr_BONDdata_p1)($t4) +/* 076CAC 7F04217C 02002025 */ move $a0, $s0 +/* 076CB0 7F042180 02802825 */ move $a1, $s4 +/* 076CB4 7F042184 8D8D00AC */ lw $t5, 0xac($t4) +/* 076CB8 7F042188 8FA600C0 */ lw $a2, 0xc0($sp) +/* 076CBC 7F04218C 02E03825 */ move $a3, $s7 +/* 076CC0 7F042190 51A00009 */ beql $t5, $zero, .L7F0421B8 +/* 076CC4 7F042194 86620002 */ lh $v0, 2($s3) +/* 076CC8 7F042198 AFB50010 */ sw $s5, 0x10($sp) +/* 076CCC 7F04219C AFB60014 */ sw $s6, 0x14($sp) +/* 076CD0 7F0421A0 0FC10500 */ jal sub_GAME_7F041400 +/* 076CD4 7F0421A4 AFBE0018 */ sw $fp, 0x18($sp) +/* 076CD8 7F0421A8 10400002 */ beqz $v0, .L7F0421B4 +/* 076CDC 7F0421AC 240E0001 */ li $t6, 1 +/* 076CE0 7F0421B0 AFAE00A4 */ sw $t6, 0xa4($sp) +.L7F0421B4: +/* 076CE4 7F0421B4 86620002 */ lh $v0, 2($s3) +.L7F0421B8: +/* 076CE8 7F0421B8 26730002 */ addiu $s3, $s3, 2 +/* 076CEC 7F0421BC 0443FF74 */ bgezl $v0, .L7F041F90 +/* 076CF0 7F0421C0 00027080 */ sll $t6, $v0, 2 +.L7F0421C4: +/* 076CF4 7F0421C4 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 076CF8 7F0421C8 3C028007 */ lui $v0, %hi(flt_CODE_bss_80075B78) +/* 076CFC 7F0421CC 24425B78 */ addiu $v0, %lo(flt_CODE_bss_80075B78) # addiu $v0, $v0, 0x5b78 +/* 076D00 7F0421D0 11E00010 */ beqz $t7, .L7F042214 +/* 076D04 7F0421D4 3C038007 */ lui $v1, %hi(flt_CODE_bss_80075B88) +/* 076D08 7F0421D8 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 076D0C 7F0421DC C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 076D10 7F0421E0 C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 076D14 7F0421E4 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 076D18 7F0421E8 C7B20080 */ lwc1 $f18, 0x80($sp) +/* 076D1C 7F0421EC C7B00084 */ lwc1 $f16, 0x84($sp) +/* 076D20 7F0421F0 24635B88 */ addiu $v1, %lo(flt_CODE_bss_80075B88) # addiu $v1, $v1, 0x5b88 +/* 076D24 7F0421F4 24180001 */ li $t8, 1 +/* 076D28 7F0421F8 AFB800B4 */ sw $t8, 0xb4($sp) +/* 076D2C 7F0421FC E4440000 */ swc1 $f4, ($v0) +/* 076D30 7F042200 E4480004 */ swc1 $f8, 4($v0) +/* 076D34 7F042204 E44A0008 */ swc1 $f10, 8($v0) +/* 076D38 7F042208 E4660000 */ swc1 $f6, ($v1) +/* 076D3C 7F04220C E4720004 */ swc1 $f18, 4($v1) +/* 076D40 7F042210 E4700008 */ swc1 $f16, 8($v1) +.L7F042214: +/* 076D44 7F042214 8FA200B4 */ lw $v0, 0xb4($sp) +.L7F042218: +/* 076D48 7F042218 8FBF005C */ lw $ra, 0x5c($sp) +/* 076D4C 7F04221C D7B40030 */ ldc1 $f20, 0x30($sp) +/* 076D50 7F042220 8FB00038 */ lw $s0, 0x38($sp) +/* 076D54 7F042224 8FB1003C */ lw $s1, 0x3c($sp) +/* 076D58 7F042228 8FB20040 */ lw $s2, 0x40($sp) +/* 076D5C 7F04222C 8FB30044 */ lw $s3, 0x44($sp) +/* 076D60 7F042230 8FB40048 */ lw $s4, 0x48($sp) +/* 076D64 7F042234 8FB5004C */ lw $s5, 0x4c($sp) +/* 076D68 7F042238 8FB60050 */ lw $s6, 0x50($sp) +/* 076D6C 7F04223C 8FB70054 */ lw $s7, 0x54($sp) +/* 076D70 7F042240 8FBE0058 */ lw $fp, 0x58($sp) +/* 076D74 7F042244 03E00008 */ jr $ra +/* 076D78 7F042248 27BD00B8 */ addiu $sp, $sp, 0xb8 +) +#endif + + + + + +#ifdef NONMATCHING +void handles_projectile_motion(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A58 +.word 0x3dcccccd /*0.1*/ +.text +glabel handles_projectile_motion +/* 076D7C 7F04224C 27BDFD50 */ addiu $sp, $sp, -0x2b0 +/* 076D80 7F042250 AFBF003C */ sw $ra, 0x3c($sp) +/* 076D84 7F042254 AFB30038 */ sw $s3, 0x38($sp) +/* 076D88 7F042258 AFB20034 */ sw $s2, 0x34($sp) +/* 076D8C 7F04225C AFB10030 */ sw $s1, 0x30($sp) +/* 076D90 7F042260 AFB0002C */ sw $s0, 0x2c($sp) +/* 076D94 7F042264 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 076D98 7F042268 8C820010 */ lw $v0, 0x10($a0) +/* 076D9C 7F04226C 240F0001 */ li $t7, 1 +/* 076DA0 7F042270 3C018003 */ lui $at, %hi(D_80030B0C) +/* 076DA4 7F042274 8C4E0014 */ lw $t6, 0x14($v0) +/* 076DA8 7F042278 AFAF02A4 */ sw $t7, 0x2a4($sp) +/* 076DAC 7F04227C AC200B0C */ sw $zero, %lo(D_80030B0C)($at) +/* 076DB0 7F042280 AFAE02A8 */ sw $t6, 0x2a8($sp) +/* 076DB4 7F042284 C4840058 */ lwc1 $f4, 0x58($a0) +/* 076DB8 7F042288 C4A00000 */ lwc1 $f0, ($a1) +/* 076DBC 7F04228C 00E08025 */ move $s0, $a3 +/* 076DC0 7F042290 00A08825 */ move $s1, $a1 +/* 076DC4 7F042294 46040032 */ c.eq.s $f0, $f4 +/* 076DC8 7F042298 00809025 */ move $s2, $a0 +/* 076DCC 7F04229C 00C09825 */ move $s3, $a2 +/* 076DD0 7F0422A0 4502000E */ bc1fl .L7F0422DC +/* 076DD4 7F0422A4 E7A00268 */ swc1 $f0, 0x268($sp) +/* 076DD8 7F0422A8 C4A60004 */ lwc1 $f6, 4($a1) +/* 076DDC 7F0422AC C488005C */ lwc1 $f8, 0x5c($a0) +/* 076DE0 7F0422B0 46083032 */ c.eq.s $f6, $f8 +/* 076DE4 7F0422B4 00000000 */ nop +/* 076DE8 7F0422B8 45020008 */ bc1fl .L7F0422DC +/* 076DEC 7F0422BC E7A00268 */ swc1 $f0, 0x268($sp) +/* 076DF0 7F0422C0 C4AA0008 */ lwc1 $f10, 8($a1) +/* 076DF4 7F0422C4 C4900060 */ lwc1 $f16, 0x60($a0) +/* 076DF8 7F0422C8 46105032 */ c.eq.s $f10, $f16 +/* 076DFC 7F0422CC 00000000 */ nop +/* 076E00 7F0422D0 450301C6 */ bc1tl .L7F0429EC +/* 076E04 7F0422D4 8FBF003C */ lw $ra, 0x3c($sp) +/* 076E08 7F0422D8 E7A00268 */ swc1 $f0, 0x268($sp) +.L7F0422DC: +/* 076E0C 7F0422DC C6320004 */ lwc1 $f18, 4($s1) +/* 076E10 7F0422E0 E7B2026C */ swc1 $f18, 0x26c($sp) +/* 076E14 7F0422E4 C6240008 */ lwc1 $f4, 8($s1) +/* 076E18 7F0422E8 E7A40270 */ swc1 $f4, 0x270($sp) +/* 076E1C 7F0422EC 8E580064 */ lw $t8, 0x64($s2) +/* 076E20 7F0422F0 33190080 */ andi $t9, $t8, 0x80 +/* 076E24 7F0422F4 532001BD */ beql $t9, $zero, .L7F0429EC +/* 076E28 7F0422F8 8FBF003C */ lw $ra, 0x3c($sp) +/* 076E2C 7F0422FC 8E49006C */ lw $t1, 0x6c($s2) +/* 076E30 7F042300 26440058 */ addiu $a0, $s2, 0x58 +/* 076E34 7F042304 27A50268 */ addiu $a1, $sp, 0x268 +/* 076E38 7F042308 8D2A0000 */ lw $t2, ($t1) +/* 076E3C 7F04230C 27A70074 */ addiu $a3, $sp, 0x74 +/* 076E40 7F042310 27AC007C */ addiu $t4, $sp, 0x7c +/* 076E44 7F042314 314B0004 */ andi $t3, $t2, 4 +/* 076E48 7F042318 116001B3 */ beqz $t3, .L7F0429E8 +/* 076E4C 7F04231C 27AD0260 */ addiu $t5, $sp, 0x260 +/* 076E50 7F042320 AFA00260 */ sw $zero, 0x260($sp) +/* 076E54 7F042324 8E46006C */ lw $a2, 0x6c($s2) +/* 076E58 7F042328 240E0014 */ li $t6, 20 +/* 076E5C 7F04232C AFAE0018 */ sw $t6, 0x18($sp) +/* 076E60 7F042330 AFB102B4 */ sw $s1, 0x2b4($sp) +/* 076E64 7F042334 AFA40048 */ sw $a0, 0x48($sp) +/* 076E68 7F042338 AFA202AC */ sw $v0, 0x2ac($sp) +/* 076E6C 7F04233C AFAD0014 */ sw $t5, 0x14($sp) +/* 076E70 7F042340 AFAC0010 */ sw $t4, 0x10($sp) +/* 076E74 7F042344 0FC2D2AD */ jal sub_GAME_7F0B4AB4 +/* 076E78 7F042348 24C600CC */ addiu $a2, $a2, 0xcc +/* 076E7C 7F04234C 8FA30260 */ lw $v1, 0x260($sp) +/* 076E80 7F042350 27B8007C */ addiu $t8, $sp, 0x7c +/* 076E84 7F042354 24050064 */ li $a1, 100 +/* 076E88 7F042358 28610015 */ slti $at, $v1, 0x15 +/* 076E8C 7F04235C 54200003 */ bnezl $at, .L7F04236C +/* 076E90 7F042360 00037880 */ sll $t7, $v1, 2 +/* 076E94 7F042364 24030014 */ li $v1, 20 +/* 076E98 7F042368 00037880 */ sll $t7, $v1, 2 +.L7F04236C: +/* 076E9C 7F04236C 01F82021 */ addu $a0, $t7, $t8 +/* 076EA0 7F042370 0FC2E3A6 */ jal sub_GAME_7F0B8E98 +/* 076EA4 7F042374 AFA30260 */ sw $v1, 0x260($sp) +/* 076EA8 7F042378 8FA30260 */ lw $v1, 0x260($sp) +/* 076EAC 7F04237C 2419FFFF */ li $t9, -1 +/* 076EB0 7F042380 27B1007C */ addiu $s1, $sp, 0x7c +/* 076EB4 7F042384 00621821 */ addu $v1, $v1, $v0 +/* 076EB8 7F042388 00034880 */ sll $t1, $v1, 2 +/* 076EBC 7F04238C 03A95021 */ addu $t2, $sp, $t1 +/* 076EC0 7F042390 AD59007C */ sw $t9, 0x7c($t2) +/* 076EC4 7F042394 8FAB007C */ lw $t3, 0x7c($sp) +/* 076EC8 7F042398 AFA30260 */ sw $v1, 0x260($sp) +/* 076ECC 7F04239C 0562009E */ bltzl $t3, .L7F042618 +/* 076ED0 7F0423A0 8FAD02A4 */ lw $t5, 0x2a4($sp) +/* 076ED4 7F0423A4 4480A000 */ mtc1 $zero, $f20 +/* 076ED8 7F0423A8 8E260000 */ lw $a2, ($s1) +/* 076EDC 7F0423AC 8FA40048 */ lw $a0, 0x48($sp) +.L7F0423B0: +/* 076EE0 7F0423B0 27A50268 */ addiu $a1, $sp, 0x268 +/* 076EE4 7F0423B4 0FC2DE9E */ jal sub_GAME_7F0B7A78 +/* 076EE8 7F0423B8 27A70274 */ addiu $a3, $sp, 0x274 +/* 076EEC 7F0423BC 50400092 */ beql $v0, $zero, .L7F042608 +/* 076EF0 7F0423C0 8E260004 */ lw $a2, 4($s1) +/* 076EF4 7F0423C4 0FC2D20C */ jal get_room_data_float2 +/* 076EF8 7F0423C8 00000000 */ nop +/* 076EFC 7F0423CC C7A60274 */ lwc1 $f6, 0x274($sp) +/* 076F00 7F0423D0 C7AA0278 */ lwc1 $f10, 0x278($sp) +/* 076F04 7F0423D4 C7B2027C */ lwc1 $f18, 0x27c($sp) +/* 076F08 7F0423D8 46003202 */ mul.s $f8, $f6, $f0 +/* 076F0C 7F0423DC C7A60268 */ lwc1 $f6, 0x268($sp) +/* 076F10 7F0423E0 46005402 */ mul.s $f16, $f10, $f0 +/* 076F14 7F0423E4 C7AA0268 */ lwc1 $f10, 0x268($sp) +/* 076F18 7F0423E8 46009102 */ mul.s $f4, $f18, $f0 +/* 076F1C 7F0423EC E7A80274 */ swc1 $f8, 0x274($sp) +/* 076F20 7F0423F0 E7B00278 */ swc1 $f16, 0x278($sp) +/* 076F24 7F0423F4 E7A4027C */ swc1 $f4, 0x27c($sp) +/* 076F28 7F0423F8 C64C0058 */ lwc1 $f12, 0x58($s2) +/* 076F2C 7F0423FC 4606603E */ c.le.s $f12, $f6 +/* 076F30 7F042400 00000000 */ nop +/* 076F34 7F042404 4502000A */ bc1fl .L7F042430 +/* 076F38 7F042408 460C503E */ c.le.s $f10, $f12 +/* 076F3C 7F04240C 4606403E */ c.le.s $f8, $f6 +/* 076F40 7F042410 00000000 */ nop +/* 076F44 7F042414 45020006 */ bc1fl .L7F042430 +/* 076F48 7F042418 460C503E */ c.le.s $f10, $f12 +/* 076F4C 7F04241C 4608603E */ c.le.s $f12, $f8 +/* 076F50 7F042420 00000000 */ nop +/* 076F54 7F042424 4503000E */ bc1tl .L7F042460 +/* 076F58 7F042428 C642005C */ lwc1 $f2, 0x5c($s2) +/* 076F5C 7F04242C 460C503E */ c.le.s $f10, $f12 +.L7F042430: +/* 076F60 7F042430 C7B00274 */ lwc1 $f16, 0x274($sp) +/* 076F64 7F042434 45020074 */ bc1fl .L7F042608 +/* 076F68 7F042438 8E260004 */ lw $a2, 4($s1) +/* 076F6C 7F04243C 4610503E */ c.le.s $f10, $f16 +/* 076F70 7F042440 00000000 */ nop +/* 076F74 7F042444 45020070 */ bc1fl .L7F042608 +/* 076F78 7F042448 8E260004 */ lw $a2, 4($s1) +/* 076F7C 7F04244C 460C803E */ c.le.s $f16, $f12 +/* 076F80 7F042450 00000000 */ nop +/* 076F84 7F042454 4502006C */ bc1fl .L7F042608 +/* 076F88 7F042458 8E260004 */ lw $a2, 4($s1) +/* 076F8C 7F04245C C642005C */ lwc1 $f2, 0x5c($s2) +.L7F042460: +/* 076F90 7F042460 C7B2026C */ lwc1 $f18, 0x26c($sp) +/* 076F94 7F042464 C7A40278 */ lwc1 $f4, 0x278($sp) +/* 076F98 7F042468 C7A6026C */ lwc1 $f6, 0x26c($sp) +/* 076F9C 7F04246C 4612103E */ c.le.s $f2, $f18 +/* 076FA0 7F042470 00000000 */ nop +/* 076FA4 7F042474 4502000A */ bc1fl .L7F0424A0 +/* 076FA8 7F042478 4602303E */ c.le.s $f6, $f2 +/* 076FAC 7F04247C 4612203E */ c.le.s $f4, $f18 +/* 076FB0 7F042480 00000000 */ nop +/* 076FB4 7F042484 45020006 */ bc1fl .L7F0424A0 +/* 076FB8 7F042488 4602303E */ c.le.s $f6, $f2 +/* 076FBC 7F04248C 4604103E */ c.le.s $f2, $f4 +/* 076FC0 7F042490 00000000 */ nop +/* 076FC4 7F042494 4503000E */ bc1tl .L7F0424D0 +/* 076FC8 7F042498 C6400060 */ lwc1 $f0, 0x60($s2) +/* 076FCC 7F04249C 4602303E */ c.le.s $f6, $f2 +.L7F0424A0: +/* 076FD0 7F0424A0 C7A80278 */ lwc1 $f8, 0x278($sp) +/* 076FD4 7F0424A4 45020058 */ bc1fl .L7F042608 +/* 076FD8 7F0424A8 8E260004 */ lw $a2, 4($s1) +/* 076FDC 7F0424AC 4608303E */ c.le.s $f6, $f8 +/* 076FE0 7F0424B0 00000000 */ nop +/* 076FE4 7F0424B4 45020054 */ bc1fl .L7F042608 +/* 076FE8 7F0424B8 8E260004 */ lw $a2, 4($s1) +/* 076FEC 7F0424BC 4602403E */ c.le.s $f8, $f2 +/* 076FF0 7F0424C0 00000000 */ nop +/* 076FF4 7F0424C4 45020050 */ bc1fl .L7F042608 +/* 076FF8 7F0424C8 8E260004 */ lw $a2, 4($s1) +/* 076FFC 7F0424CC C6400060 */ lwc1 $f0, 0x60($s2) +.L7F0424D0: +/* 077000 7F0424D0 C7AA0270 */ lwc1 $f10, 0x270($sp) +/* 077004 7F0424D4 C7B0027C */ lwc1 $f16, 0x27c($sp) +/* 077008 7F0424D8 C7B20270 */ lwc1 $f18, 0x270($sp) +/* 07700C 7F0424DC 460A003E */ c.le.s $f0, $f10 +/* 077010 7F0424E0 00000000 */ nop +/* 077014 7F0424E4 4502000A */ bc1fl .L7F042510 +/* 077018 7F0424E8 4600903E */ c.le.s $f18, $f0 +/* 07701C 7F0424EC 460A803E */ c.le.s $f16, $f10 +/* 077020 7F0424F0 00000000 */ nop +/* 077024 7F0424F4 45020006 */ bc1fl .L7F042510 +/* 077028 7F0424F8 4600903E */ c.le.s $f18, $f0 +/* 07702C 7F0424FC 4610003E */ c.le.s $f0, $f16 +/* 077030 7F042500 00000000 */ nop +/* 077034 7F042504 4503000E */ bc1tl .L7F042540 +/* 077038 7F042508 C7A60274 */ lwc1 $f6, 0x274($sp) +/* 07703C 7F04250C 4600903E */ c.le.s $f18, $f0 +.L7F042510: +/* 077040 7F042510 C7A4027C */ lwc1 $f4, 0x27c($sp) +/* 077044 7F042514 4502003C */ bc1fl .L7F042608 +/* 077048 7F042518 8E260004 */ lw $a2, 4($s1) +/* 07704C 7F04251C 4604903E */ c.le.s $f18, $f4 +/* 077050 7F042520 00000000 */ nop +/* 077054 7F042524 45020038 */ bc1fl .L7F042608 +/* 077058 7F042528 8E260004 */ lw $a2, 4($s1) +/* 07705C 7F04252C 4600203E */ c.le.s $f4, $f0 +/* 077060 7F042530 00000000 */ nop +/* 077064 7F042534 45020034 */ bc1fl .L7F042608 +/* 077068 7F042538 8E260004 */ lw $a2, 4($s1) +/* 07706C 7F04253C C7A60274 */ lwc1 $f6, 0x274($sp) +.L7F042540: +/* 077070 7F042540 C7A80278 */ lwc1 $f8, 0x278($sp) +/* 077074 7F042544 46066032 */ c.eq.s $f12, $f6 +/* 077078 7F042548 00000000 */ nop +/* 07707C 7F04254C 4502000A */ bc1fl .L7F042578 +/* 077080 7F042550 C7B00274 */ lwc1 $f16, 0x274($sp) +/* 077084 7F042554 46081032 */ c.eq.s $f2, $f8 +/* 077088 7F042558 C7AA027C */ lwc1 $f10, 0x27c($sp) +/* 07708C 7F04255C 45020006 */ bc1fl .L7F042578 +/* 077090 7F042560 C7B00274 */ lwc1 $f16, 0x274($sp) +/* 077094 7F042564 460A0032 */ c.eq.s $f0, $f10 +/* 077098 7F042568 00000000 */ nop +/* 07709C 7F04256C 45030026 */ bc1tl .L7F042608 +/* 0770A0 7F042570 8E260004 */ lw $a2, 4($s1) +/* 0770A4 7F042574 C7B00274 */ lwc1 $f16, 0x274($sp) +.L7F042578: +/* 0770A8 7F042578 AFA002A4 */ sw $zero, 0x2a4($sp) +/* 0770AC 7F04257C 02002025 */ move $a0, $s0 +/* 0770B0 7F042580 E6700000 */ swc1 $f16, ($s3) +/* 0770B4 7F042584 C7B20278 */ lwc1 $f18, 0x278($sp) +/* 0770B8 7F042588 26050004 */ addiu $a1, $s0, 4 +/* 0770BC 7F04258C E6720004 */ swc1 $f18, 4($s3) +/* 0770C0 7F042590 C7A4027C */ lwc1 $f4, 0x27c($sp) +/* 0770C4 7F042594 E6640008 */ swc1 $f4, 8($s3) +/* 0770C8 7F042598 C7A60280 */ lwc1 $f6, 0x280($sp) +/* 0770CC 7F04259C E6060000 */ swc1 $f6, ($s0) +/* 0770D0 7F0425A0 C6100000 */ lwc1 $f16, ($s0) +/* 0770D4 7F0425A4 C7A80284 */ lwc1 $f8, 0x284($sp) +/* 0770D8 7F0425A8 4610A032 */ c.eq.s $f20, $f16 +/* 0770DC 7F0425AC E6080004 */ swc1 $f8, 4($s0) +/* 0770E0 7F0425B0 C7AA0288 */ lwc1 $f10, 0x288($sp) +/* 0770E4 7F0425B4 4500000C */ bc1f .L7F0425E8 +/* 0770E8 7F0425B8 E60A0008 */ swc1 $f10, 8($s0) +/* 0770EC 7F0425BC C6120004 */ lwc1 $f18, 4($s0) +/* 0770F0 7F0425C0 4612A032 */ c.eq.s $f20, $f18 +/* 0770F4 7F0425C4 00000000 */ nop +/* 0770F8 7F0425C8 45000007 */ bc1f .L7F0425E8 +/* 0770FC 7F0425CC 00000000 */ nop +/* 077100 7F0425D0 C6040008 */ lwc1 $f4, 8($s0) +/* 077104 7F0425D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077108 7F0425D8 4604A032 */ c.eq.s $f20, $f4 +/* 07710C 7F0425DC 00000000 */ nop +/* 077110 7F0425E0 45030006 */ bc1tl .L7F0425FC +/* 077114 7F0425E4 44813000 */ mtc1 $at, $f6 +.L7F0425E8: +/* 077118 7F0425E8 0C007DD4 */ jal guNormalize +/* 07711C 7F0425EC 26060008 */ addiu $a2, $s0, 8 +/* 077120 7F0425F0 10000005 */ b .L7F042608 +/* 077124 7F0425F4 8E260004 */ lw $a2, 4($s1) +/* 077128 7F0425F8 44813000 */ mtc1 $at, $f6 +.L7F0425FC: +/* 07712C 7F0425FC 00000000 */ nop +/* 077130 7F042600 E6060008 */ swc1 $f6, 8($s0) +/* 077134 7F042604 8E260004 */ lw $a2, 4($s1) +.L7F042608: +/* 077138 7F042608 26310004 */ addiu $s1, $s1, 4 +/* 07713C 7F04260C 04C3FF68 */ bgezl $a2, .L7F0423B0 +/* 077140 7F042610 8FA40048 */ lw $a0, 0x48($sp) +/* 077144 7F042614 8FAD02A4 */ lw $t5, 0x2a4($sp) +.L7F042618: +/* 077148 7F042618 8FA202B4 */ lw $v0, 0x2b4($sp) +/* 07714C 7F04261C 55A00037 */ bnezl $t5, .L7F0426FC +/* 077150 7F042620 27AE007C */ addiu $t6, $sp, 0x7c +/* 077154 7F042624 C4480000 */ lwc1 $f8, ($v0) +/* 077158 7F042628 C64A0058 */ lwc1 $f10, 0x58($s2) +/* 07715C 7F04262C 460A4401 */ sub.s $f16, $f8, $f10 +/* 077160 7F042630 E7B00064 */ swc1 $f16, 0x64($sp) +/* 077164 7F042634 C644005C */ lwc1 $f4, 0x5c($s2) +/* 077168 7F042638 C4520004 */ lwc1 $f18, 4($v0) +/* 07716C 7F04263C 46049181 */ sub.s $f6, $f18, $f4 +/* 077170 7F042640 C7B20064 */ lwc1 $f18, 0x64($sp) +/* 077174 7F042644 E7A60068 */ swc1 $f6, 0x68($sp) +/* 077178 7F042648 C64A0060 */ lwc1 $f10, 0x60($s2) +/* 07717C 7F04264C C4480008 */ lwc1 $f8, 8($v0) +/* 077180 7F042650 46129102 */ mul.s $f4, $f18, $f18 +/* 077184 7F042654 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 077188 7F042658 460A4401 */ sub.s $f16, $f8, $f10 +/* 07718C 7F04265C 46063202 */ mul.s $f8, $f6, $f6 +/* 077190 7F042660 E7B0006C */ swc1 $f16, 0x6c($sp) +/* 077194 7F042664 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 077198 7F042668 46108482 */ mul.s $f18, $f16, $f16 +/* 07719C 7F04266C 46082280 */ add.s $f10, $f4, $f8 +/* 0771A0 7F042670 0C007DF8 */ jal sqrtf +/* 0771A4 7F042674 460A9300 */ add.s $f12, $f18, $f10 +/* 0771A8 7F042678 3C018005 */ lui $at, %hi(D_80052A58) # -0.000000 +/* 0771AC 7F04267C C42C2A58 */ lwc1 $f12, %lo(D_80052A58)($at) +/* 0771B0 7F042680 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0771B4 7F042684 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 0771B8 7F042688 4600603C */ c.lt.s $f12, $f0 +/* 0771BC 7F04268C 00000000 */ nop +/* 0771C0 7F042690 45020004 */ bc1fl .L7F0426A4 +/* 0771C4 7F042694 44811000 */ mtc1 $at, $f2 +/* 0771C8 7F042698 10000003 */ b .L7F0426A8 +/* 0771CC 7F04269C 46006083 */ div.s $f2, $f12, $f0 +/* 0771D0 7F0426A0 44811000 */ mtc1 $at, $f2 +.L7F0426A4: +/* 0771D4 7F0426A4 00000000 */ nop +.L7F0426A8: +/* 0771D8 7F0426A8 46041202 */ mul.s $f8, $f2, $f4 +/* 0771DC 7F0426AC C6660000 */ lwc1 $f6, ($s3) +/* 0771E0 7F0426B0 C6720004 */ lwc1 $f18, 4($s3) +/* 0771E4 7F0426B4 46083401 */ sub.s $f16, $f6, $f8 +/* 0771E8 7F0426B8 C6680008 */ lwc1 $f8, 8($s3) +/* 0771EC 7F0426BC E6700000 */ swc1 $f16, ($s3) +/* 0771F0 7F0426C0 C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 0771F4 7F0426C4 460A1102 */ mul.s $f4, $f2, $f10 +/* 0771F8 7F0426C8 46049181 */ sub.s $f6, $f18, $f4 +/* 0771FC 7F0426CC C6640000 */ lwc1 $f4, ($s3) +/* 077200 7F0426D0 E6660004 */ swc1 $f6, 4($s3) +/* 077204 7F0426D4 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 077208 7F0426D8 46101282 */ mul.s $f10, $f2, $f16 +/* 07720C 7F0426DC 460A4481 */ sub.s $f18, $f8, $f10 +/* 077210 7F0426E0 E6720008 */ swc1 $f18, 8($s3) +/* 077214 7F0426E4 E7A40268 */ swc1 $f4, 0x268($sp) +/* 077218 7F0426E8 C6660004 */ lwc1 $f6, 4($s3) +/* 07721C 7F0426EC E7A6026C */ swc1 $f6, 0x26c($sp) +/* 077220 7F0426F0 C6700008 */ lwc1 $f16, 8($s3) +/* 077224 7F0426F4 E7B00270 */ swc1 $f16, 0x270($sp) +/* 077228 7F0426F8 27AE007C */ addiu $t6, $sp, 0x7c +.L7F0426FC: +/* 07722C 7F0426FC AFAE0018 */ sw $t6, 0x18($sp) +/* 077230 7F042700 8FA402AC */ lw $a0, 0x2ac($sp) +/* 077234 7F042704 8FA50048 */ lw $a1, 0x48($sp) +/* 077238 7F042708 27A60268 */ addiu $a2, $sp, 0x268 +/* 07723C 7F04270C 2407001F */ li $a3, 31 +/* 077240 7F042710 AFB30010 */ sw $s3, 0x10($sp) +/* 077244 7F042714 0FC10783 */ jal sub_GAME_7F041E0C +/* 077248 7F042718 AFB00014 */ sw $s0, 0x14($sp) +/* 07724C 7F04271C 14400036 */ bnez $v0, .L7F0427F8 +/* 077250 7F042720 8FAB02C4 */ lw $t3, 0x2c4($sp) +/* 077254 7F042724 8FAF02A4 */ lw $t7, 0x2a4($sp) +/* 077258 7F042728 8FB802C0 */ lw $t8, 0x2c0($sp) +/* 07725C 7F04272C 8FAD02A4 */ lw $t5, 0x2a4($sp) +/* 077260 7F042730 55E00016 */ bnezl $t7, .L7F04278C +/* 077264 7F042734 24100001 */ li $s0, 1 +/* 077268 7F042738 53000014 */ beql $t8, $zero, .L7F04278C +/* 07726C 7F04273C 24100001 */ li $s0, 1 +/* 077270 7F042740 8FA902C4 */ lw $t1, 0x2c4($sp) +/* 077274 7F042744 24190002 */ li $t9, 2 +/* 077278 7F042748 AFB902A4 */ sw $t9, 0x2a4($sp) +/* 07727C 7F04274C 1520000C */ bnez $t1, .L7F042780 +/* 077280 7F042750 8FA40048 */ lw $a0, 0x48($sp) +/* 077284 7F042754 8E46006C */ lw $a2, 0x6c($s2) +/* 077288 7F042758 27AA007C */ addiu $t2, $sp, 0x7c +/* 07728C 7F04275C 27AB0260 */ addiu $t3, $sp, 0x260 +/* 077290 7F042760 240C0014 */ li $t4, 20 +/* 077294 7F042764 AFAC0018 */ sw $t4, 0x18($sp) +/* 077298 7F042768 AFAB0014 */ sw $t3, 0x14($sp) +/* 07729C 7F04276C AFAA0010 */ sw $t2, 0x10($sp) +/* 0772A0 7F042770 02602825 */ move $a1, $s3 +/* 0772A4 7F042774 27A70074 */ addiu $a3, $sp, 0x74 +/* 0772A8 7F042778 0FC2D2AD */ jal sub_GAME_7F0B4AB4 +/* 0772AC 7F04277C 24C600CC */ addiu $a2, $a2, 0xcc +.L7F042780: +/* 0772B0 7F042780 1000003A */ b .L7F04286C +/* 0772B4 7F042784 8FA902A4 */ lw $t1, 0x2a4($sp) +/* 0772B8 7F042788 24100001 */ li $s0, 1 +.L7F04278C: +/* 0772BC 7F04278C 11B00003 */ beq $t5, $s0, .L7F04279C +/* 0772C0 7F042790 8FAE02C4 */ lw $t6, 0x2c4($sp) +/* 0772C4 7F042794 55C00035 */ bnezl $t6, .L7F04286C +/* 0772C8 7F042798 8FA902A4 */ lw $t1, 0x2a4($sp) +.L7F04279C: +/* 0772CC 7F04279C 8FAF02A4 */ lw $t7, 0x2a4($sp) +/* 0772D0 7F0427A0 8FA40048 */ lw $a0, 0x48($sp) +/* 0772D4 7F0427A4 27A50268 */ addiu $a1, $sp, 0x268 +/* 0772D8 7F0427A8 11F0000A */ beq $t7, $s0, .L7F0427D4 +/* 0772DC 7F0427AC 27A70074 */ addiu $a3, $sp, 0x74 +/* 0772E0 7F0427B0 8E46006C */ lw $a2, 0x6c($s2) +/* 0772E4 7F0427B4 27B8007C */ addiu $t8, $sp, 0x7c +/* 0772E8 7F0427B8 27B90260 */ addiu $t9, $sp, 0x260 +/* 0772EC 7F0427BC 24090014 */ li $t1, 20 +/* 0772F0 7F0427C0 AFA90018 */ sw $t1, 0x18($sp) +/* 0772F4 7F0427C4 AFB90014 */ sw $t9, 0x14($sp) +/* 0772F8 7F0427C8 AFB80010 */ sw $t8, 0x10($sp) +/* 0772FC 7F0427CC 0FC2D2AD */ jal sub_GAME_7F0B4AB4 +/* 077300 7F0427D0 24C600CC */ addiu $a2, $a2, 0xcc +.L7F0427D4: +/* 077304 7F0427D4 C7A80268 */ lwc1 $f8, 0x268($sp) +/* 077308 7F0427D8 E6480058 */ swc1 $f8, 0x58($s2) +/* 07730C 7F0427DC C7AA0270 */ lwc1 $f10, 0x270($sp) +/* 077310 7F0427E0 E64A0060 */ swc1 $f10, 0x60($s2) +/* 077314 7F0427E4 8FAA02AC */ lw $t2, 0x2ac($sp) +/* 077318 7F0427E8 C7A0026C */ lwc1 $f0, 0x26c($sp) +/* 07731C 7F0427EC E540000C */ swc1 $f0, 0xc($t2) +/* 077320 7F0427F0 1000001D */ b .L7F042868 +/* 077324 7F0427F4 E640005C */ swc1 $f0, 0x5c($s2) +.L7F0427F8: +/* 077328 7F0427F8 1560001B */ bnez $t3, .L7F042868 +/* 07732C 7F0427FC 27A50268 */ addiu $a1, $sp, 0x268 +/* 077330 7F042800 C6520058 */ lwc1 $f18, 0x58($s2) +/* 077334 7F042804 27AC007C */ addiu $t4, $sp, 0x7c +/* 077338 7F042808 27AD0260 */ addiu $t5, $sp, 0x260 +/* 07733C 7F04280C E7B20268 */ swc1 $f18, 0x268($sp) +/* 077340 7F042810 C6440060 */ lwc1 $f4, 0x60($s2) +/* 077344 7F042814 240E0014 */ li $t6, 20 +/* 077348 7F042818 8FA40048 */ lw $a0, 0x48($sp) +/* 07734C 7F04281C E7A40270 */ swc1 $f4, 0x270($sp) +/* 077350 7F042820 8E46006C */ lw $a2, 0x6c($s2) +/* 077354 7F042824 AFAE0018 */ sw $t6, 0x18($sp) +/* 077358 7F042828 AFAD0014 */ sw $t5, 0x14($sp) +/* 07735C 7F04282C AFAC0010 */ sw $t4, 0x10($sp) +/* 077360 7F042830 27A70074 */ addiu $a3, $sp, 0x74 +/* 077364 7F042834 0FC2D2AD */ jal sub_GAME_7F0B4AB4 +/* 077368 7F042838 24C600CC */ addiu $a2, $a2, 0xcc +/* 07736C 7F04283C C7A0026C */ lwc1 $f0, 0x26c($sp) +/* 077370 7F042840 8FAF02AC */ lw $t7, 0x2ac($sp) +/* 077374 7F042844 24190002 */ li $t9, 2 +/* 077378 7F042848 E5E0000C */ swc1 $f0, 0xc($t7) +/* 07737C 7F04284C E640005C */ swc1 $f0, 0x5c($s2) +/* 077380 7F042850 8FB802C0 */ lw $t8, 0x2c0($sp) +/* 077384 7F042854 53000004 */ beql $t8, $zero, .L7F042868 +/* 077388 7F042858 AFA002A4 */ sw $zero, 0x2a4($sp) +/* 07738C 7F04285C 10000002 */ b .L7F042868 +/* 077390 7F042860 AFB902A4 */ sw $t9, 0x2a4($sp) +/* 077394 7F042864 AFA002A4 */ sw $zero, 0x2a4($sp) +.L7F042868: +/* 077398 7F042868 8FA902A4 */ lw $t1, 0x2a4($sp) +.L7F04286C: +/* 07739C 7F04286C 24100001 */ li $s0, 1 +/* 0773A0 7F042870 8FAA02C4 */ lw $t2, 0x2c4($sp) +/* 0773A4 7F042874 51300004 */ beql $t1, $s0, .L7F042888 +/* 0773A8 7F042878 8E4B006C */ lw $t3, 0x6c($s2) +/* 0773AC 7F04287C 5540005B */ bnezl $t2, .L7F0429EC +/* 0773B0 7F042880 8FBF003C */ lw $ra, 0x3c($sp) +/* 0773B4 7F042884 8E4B006C */ lw $t3, 0x6c($s2) +.L7F042888: +/* 0773B8 7F042888 00004025 */ move $t0, $zero +/* 0773BC 7F04288C 8D620000 */ lw $v0, ($t3) +/* 0773C0 7F042890 304C0008 */ andi $t4, $v0, 8 +/* 0773C4 7F042894 15800028 */ bnez $t4, .L7F042938 +/* 0773C8 7F042898 01801025 */ move $v0, $t4 +/* 0773CC 7F04289C 8FA202AC */ lw $v0, 0x2ac($sp) +/* 0773D0 7F0428A0 27A402A8 */ addiu $a0, $sp, 0x2a8 +/* 0773D4 7F0428A4 8C4D0014 */ lw $t5, 0x14($v0) +/* 0773D8 7F0428A8 AFAD02A8 */ sw $t5, 0x2a8($sp) +/* 0773DC 7F0428AC C6460060 */ lwc1 $f6, 0x60($s2) +/* 0773E0 7F0428B0 8E470058 */ lw $a3, 0x58($s2) +/* 0773E4 7F0428B4 8C460010 */ lw $a2, 0x10($v0) +/* 0773E8 7F0428B8 8C450008 */ lw $a1, 8($v0) +/* 0773EC 7F0428BC AFA00264 */ sw $zero, 0x264($sp) +/* 0773F0 7F0428C0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 0773F4 7F0428C4 E7A60010 */ swc1 $f6, 0x10($sp) +/* 0773F8 7F0428C8 1450000F */ bne $v0, $s0, .L7F042908 +/* 0773FC 7F0428CC 8FA80264 */ lw $t0, 0x264($sp) +/* 077400 7F0428D0 8FAE02A8 */ lw $t6, 0x2a8($sp) +/* 077404 7F0428D4 8FA302AC */ lw $v1, 0x2ac($sp) +/* 077408 7F0428D8 51C0000C */ beql $t6, $zero, .L7F04290C +/* 07740C 7F0428DC 8E43006C */ lw $v1, 0x6c($s2) +/* 077410 7F0428E0 AC6E0014 */ sw $t6, 0x14($v1) +/* 077414 7F0428E4 C6500058 */ lwc1 $f16, 0x58($s2) +/* 077418 7F0428E8 E4700008 */ swc1 $f16, 8($v1) +/* 07741C 7F0428EC C6480060 */ lwc1 $f8, 0x60($s2) +/* 077420 7F0428F0 E4680010 */ swc1 $f8, 0x10($v1) +/* 077424 7F0428F4 8E4F006C */ lw $t7, 0x6c($s2) +/* 077428 7F0428F8 8DE20000 */ lw $v0, ($t7) +/* 07742C 7F0428FC 30580008 */ andi $t8, $v0, 8 +/* 077430 7F042900 1000000D */ b .L7F042938 +/* 077434 7F042904 03001025 */ move $v0, $t8 +.L7F042908: +/* 077438 7F042908 8E43006C */ lw $v1, 0x6c($s2) +.L7F04290C: +/* 07743C 7F04290C 8C790000 */ lw $t9, ($v1) +/* 077440 7F042910 37290008 */ ori $t1, $t9, 8 +/* 077444 7F042914 AC690000 */ sw $t1, ($v1) +/* 077448 7F042918 8FAA02AC */ lw $t2, 0x2ac($sp) +/* 07744C 7F04291C 914B0001 */ lbu $t3, 1($t2) +/* 077450 7F042920 356C0008 */ ori $t4, $t3, 8 +/* 077454 7F042924 A14C0001 */ sb $t4, 1($t2) +/* 077458 7F042928 8E4D006C */ lw $t5, 0x6c($s2) +/* 07745C 7F04292C 8DA20000 */ lw $v0, ($t5) +/* 077460 7F042930 304E0008 */ andi $t6, $v0, 8 +/* 077464 7F042934 01C01025 */ move $v0, $t6 +.L7F042938: +/* 077468 7F042938 10400016 */ beqz $v0, .L7F042994 +/* 07746C 7F04293C 8FA40048 */ lw $a0, 0x48($sp) +/* 077470 7F042940 27A50074 */ addiu $a1, $sp, 0x74 +/* 077474 7F042944 00003025 */ move $a2, $zero +/* 077478 7F042948 0FC2BC83 */ jal sub_GAME_7F0AF20C +/* 07747C 7F04294C AFA80264 */ sw $t0, 0x264($sp) +/* 077480 7F042950 8FA80264 */ lw $t0, 0x264($sp) +/* 077484 7F042954 1040000F */ beqz $v0, .L7F042994 +/* 077488 7F042958 AFA202A8 */ sw $v0, 0x2a8($sp) +/* 07748C 7F04295C 8FA402AC */ lw $a0, 0x2ac($sp) +/* 077490 7F042960 2401FFF7 */ li $at, -9 +/* 077494 7F042964 AC820014 */ sw $v0, 0x14($a0) +/* 077498 7F042968 C64A0058 */ lwc1 $f10, 0x58($s2) +/* 07749C 7F04296C E48A0008 */ swc1 $f10, 8($a0) +/* 0774A0 7F042970 C6520060 */ lwc1 $f18, 0x60($s2) +/* 0774A4 7F042974 E4920010 */ swc1 $f18, 0x10($a0) +/* 0774A8 7F042978 8E43006C */ lw $v1, 0x6c($s2) +/* 0774AC 7F04297C 8C6F0000 */ lw $t7, ($v1) +/* 0774B0 7F042980 01E1C024 */ and $t8, $t7, $at +/* 0774B4 7F042984 AC780000 */ sw $t8, ($v1) +/* 0774B8 7F042988 90990001 */ lbu $t9, 1($a0) +/* 0774BC 7F04298C 03214824 */ and $t1, $t9, $at +/* 0774C0 7F042990 A0890001 */ sb $t1, 1($a0) +.L7F042994: +/* 0774C4 7F042994 93AB0074 */ lbu $t3, 0x74($sp) +/* 0774C8 7F042998 240400FF */ li $a0, 255 +/* 0774CC 7F04299C 27AC0074 */ addiu $t4, $sp, 0x74 +/* 0774D0 7F0429A0 108B000D */ beq $a0, $t3, .L7F0429D8 +/* 0774D4 7F0429A4 010C1021 */ addu $v0, $t0, $t4 +/* 0774D8 7F0429A8 90430000 */ lbu $v1, ($v0) +/* 0774DC 7F0429AC 24050007 */ li $a1, 7 +/* 0774E0 7F0429B0 8E4A006C */ lw $t2, 0x6c($s2) +.L7F0429B4: +/* 0774E4 7F0429B4 24420001 */ addiu $v0, $v0, 1 +/* 0774E8 7F0429B8 01486821 */ addu $t5, $t2, $t0 +/* 0774EC 7F0429BC A1A300CC */ sb $v1, 0xcc($t5) +/* 0774F0 7F0429C0 90430000 */ lbu $v1, ($v0) +/* 0774F4 7F0429C4 25080001 */ addiu $t0, $t0, 1 +/* 0774F8 7F0429C8 50830004 */ beql $a0, $v1, .L7F0429DC +/* 0774FC 7F0429CC 8E4F006C */ lw $t7, 0x6c($s2) +/* 077500 7F0429D0 5505FFF8 */ bnel $t0, $a1, .L7F0429B4 +/* 077504 7F0429D4 8E4A006C */ lw $t2, 0x6c($s2) +.L7F0429D8: +/* 077508 7F0429D8 8E4F006C */ lw $t7, 0x6c($s2) +.L7F0429DC: +/* 07750C 7F0429DC 240E00FF */ li $t6, 255 +/* 077510 7F0429E0 01E8C021 */ addu $t8, $t7, $t0 +/* 077514 7F0429E4 A30E00CC */ sb $t6, 0xcc($t8) +.L7F0429E8: +/* 077518 7F0429E8 8FBF003C */ lw $ra, 0x3c($sp) +.L7F0429EC: +/* 07751C 7F0429EC 8FA202A4 */ lw $v0, 0x2a4($sp) +/* 077520 7F0429F0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 077524 7F0429F4 8FB0002C */ lw $s0, 0x2c($sp) +/* 077528 7F0429F8 8FB10030 */ lw $s1, 0x30($sp) +/* 07752C 7F0429FC 8FB20034 */ lw $s2, 0x34($sp) +/* 077530 7F042A00 8FB30038 */ lw $s3, 0x38($sp) +/* 077534 7F042A04 03E00008 */ jr $ra +/* 077538 7F042A08 27BD02B0 */ addiu $sp, $sp, 0x2b0 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F042A0C(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A5C +.word 0x3f7d70a4 /*0.99000001*/ +.text +glabel sub_GAME_7F042A0C +/* 07753C 7F042A0C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 077540 7F042A10 AFBF0034 */ sw $ra, 0x34($sp) +/* 077544 7F042A14 AFB00030 */ sw $s0, 0x30($sp) +/* 077548 7F042A18 AFA600C8 */ sw $a2, 0xc8($sp) +/* 07754C 7F042A1C AFA700CC */ sw $a3, 0xcc($sp) +/* 077550 7F042A20 8C900010 */ lw $s0, 0x10($a0) +/* 077554 7F042A24 8E0E0014 */ lw $t6, 0x14($s0) +/* 077558 7F042A28 AFA500C4 */ sw $a1, 0xc4($sp) +/* 07755C 7F042A2C AFA400C0 */ sw $a0, 0xc0($sp) +/* 077560 7F042A30 0FC10411 */ jal if_a0_plus_3_is_4_then_10_else_20 +/* 077564 7F042A34 AFAE00B8 */ sw $t6, 0xb8($sp) +/* 077568 7F042A38 8FA500C4 */ lw $a1, 0xc4($sp) +/* 07756C 7F042A3C 240F0001 */ li $t7, 1 +/* 077570 7F042A40 3C018003 */ lui $at, %hi(D_80030B0C) +/* 077574 7F042A44 E7A000B4 */ swc1 $f0, 0xb4($sp) +/* 077578 7F042A48 AFAF00B0 */ sw $t7, 0xb0($sp) +/* 07757C 7F042A4C AC200B0C */ sw $zero, %lo(D_80030B0C)($at) +/* 077580 7F042A50 C6040008 */ lwc1 $f4, 8($s0) +/* 077584 7F042A54 C4A20000 */ lwc1 $f2, ($a1) +/* 077588 7F042A58 46041032 */ c.eq.s $f2, $f4 +/* 07758C 7F042A5C 00000000 */ nop +/* 077590 7F042A60 4502000E */ bc1fl .L7F042A9C +/* 077594 7F042A64 E7A20098 */ swc1 $f2, 0x98($sp) +/* 077598 7F042A68 C4A60004 */ lwc1 $f6, 4($a1) +/* 07759C 7F042A6C C608000C */ lwc1 $f8, 0xc($s0) +/* 0775A0 7F042A70 46083032 */ c.eq.s $f6, $f8 +/* 0775A4 7F042A74 00000000 */ nop +/* 0775A8 7F042A78 45020008 */ bc1fl .L7F042A9C +/* 0775AC 7F042A7C E7A20098 */ swc1 $f2, 0x98($sp) +/* 0775B0 7F042A80 C4AA0008 */ lwc1 $f10, 8($a1) +/* 0775B4 7F042A84 C6100010 */ lwc1 $f16, 0x10($s0) +/* 0775B8 7F042A88 46105032 */ c.eq.s $f10, $f16 +/* 0775BC 7F042A8C 00000000 */ nop +/* 0775C0 7F042A90 45030104 */ bc1tl .L7F042EA4 +/* 0775C4 7F042A94 8FBF0034 */ lw $ra, 0x34($sp) +/* 0775C8 7F042A98 E7A20098 */ swc1 $f2, 0x98($sp) +.L7F042A9C: +/* 0775CC 7F042A9C C4B20004 */ lwc1 $f18, 4($a1) +/* 0775D0 7F042AA0 8FB800C0 */ lw $t8, 0xc0($sp) +/* 0775D4 7F042AA4 E7B2009C */ swc1 $f18, 0x9c($sp) +/* 0775D8 7F042AA8 C4A40008 */ lwc1 $f4, 8($a1) +/* 0775DC 7F042AAC E7A400A0 */ swc1 $f4, 0xa0($sp) +/* 0775E0 7F042AB0 8F190064 */ lw $t9, 0x64($t8) +/* 0775E4 7F042AB4 33280080 */ andi $t0, $t9, 0x80 +/* 0775E8 7F042AB8 510000FA */ beql $t0, $zero, .L7F042EA4 +/* 0775EC 7F042ABC 8FBF0034 */ lw $ra, 0x34($sp) +/* 0775F0 7F042AC0 8E040014 */ lw $a0, 0x14($s0) +/* 0775F4 7F042AC4 8E050008 */ lw $a1, 8($s0) +/* 0775F8 7F042AC8 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 0775FC 7F042ACC 8E060010 */ lw $a2, 0x10($s0) +/* 077600 7F042AD0 8FA900C0 */ lw $t1, 0xc0($sp) +/* 077604 7F042AD4 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 077608 7F042AD8 8D2A006C */ lw $t2, 0x6c($t1) +/* 07760C 7F042ADC 8D4B0000 */ lw $t3, ($t2) +/* 077610 7F042AE0 316C0040 */ andi $t4, $t3, 0x40 +/* 077614 7F042AE4 55800008 */ bnezl $t4, .L7F042B08 +/* 077618 7F042AE8 C602000C */ lwc1 $f2, 0xc($s0) +/* 07761C 7F042AEC 44809000 */ mtc1 $zero, $f18 +/* 077620 7F042AF0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077624 7F042AF4 44818000 */ mtc1 $at, $f16 +/* 077628 7F042AF8 E7B20090 */ swc1 $f18, 0x90($sp) +/* 07762C 7F042AFC 10000010 */ b .L7F042B40 +/* 077630 7F042B00 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 077634 7F042B04 C602000C */ lwc1 $f2, 0xc($s0) +.L7F042B08: +/* 077638 7F042B08 C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 07763C 7F042B0C 4602503C */ c.lt.s $f10, $f2 +/* 077640 7F042B10 00000000 */ nop +/* 077644 7F042B14 45020007 */ bc1fl .L7F042B34 +/* 077648 7F042B18 46002181 */ sub.s $f6, $f4, $f0 +/* 07764C 7F042B1C 46001401 */ sub.s $f16, $f2, $f0 +/* 077650 7F042B20 46005481 */ sub.s $f18, $f10, $f0 +/* 077654 7F042B24 E7B00090 */ swc1 $f16, 0x90($sp) +/* 077658 7F042B28 10000005 */ b .L7F042B40 +/* 07765C 7F042B2C E7B2008C */ swc1 $f18, 0x8c($sp) +/* 077660 7F042B30 46002181 */ sub.s $f6, $f4, $f0 +.L7F042B34: +/* 077664 7F042B34 46001201 */ sub.s $f8, $f2, $f0 +/* 077668 7F042B38 E7A60090 */ swc1 $f6, 0x90($sp) +/* 07766C 7F042B3C E7A8008C */ swc1 $f8, 0x8c($sp) +.L7F042B40: +/* 077670 7F042B40 0FC2C731 */ jal sub_GAME_7F0B1CC4 +/* 077674 7F042B44 00000000 */ nop +/* 077678 7F042B48 8E050008 */ lw $a1, 8($s0) +/* 07767C 7F042B4C 8E060010 */ lw $a2, 0x10($s0) +/* 077680 7F042B50 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077684 7F042B54 44813000 */ mtc1 $at, $f6 +/* 077688 7F042B58 C7B000A0 */ lwc1 $f16, 0xa0($sp) +/* 07768C 7F042B5C C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 077690 7F042B60 C7B2008C */ lwc1 $f18, 0x8c($sp) +/* 077694 7F042B64 44802000 */ mtc1 $zero, $f4 +/* 077698 7F042B68 240D001F */ li $t5, 31 +/* 07769C 7F042B6C AFAD0014 */ sw $t5, 0x14($sp) +/* 0776A0 7F042B70 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 0776A4 7F042B74 8FA70098 */ lw $a3, 0x98($sp) +/* 0776A8 7F042B78 E7B00010 */ swc1 $f16, 0x10($sp) +/* 0776AC 7F042B7C E7A60024 */ swc1 $f6, 0x24($sp) +/* 0776B0 7F042B80 E7AA0018 */ swc1 $f10, 0x18($sp) +/* 0776B4 7F042B84 E7B2001C */ swc1 $f18, 0x1c($sp) +/* 0776B8 7F042B88 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 0776BC 7F042B8C E7A40020 */ swc1 $f4, 0x20($sp) +/* 0776C0 7F042B90 1040001D */ beqz $v0, .L7F042C08 +/* 0776C4 7F042B94 8FAE00B8 */ lw $t6, 0xb8($sp) +/* 0776C8 7F042B98 11C0001B */ beqz $t6, .L7F042C08 +/* 0776CC 7F042B9C 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 0776D0 7F042BA0 C7A80090 */ lwc1 $f8, 0x90($sp) +/* 0776D4 7F042BA4 C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0776D8 7F042BA8 240F001F */ li $t7, 31 +/* 0776DC 7F042BAC AFAF0010 */ sw $t7, 0x10($sp) +/* 0776E0 7F042BB0 8FA50098 */ lw $a1, 0x98($sp) +/* 0776E4 7F042BB4 8FA600A0 */ lw $a2, 0xa0($sp) +/* 0776E8 7F042BB8 8FA700B4 */ lw $a3, 0xb4($sp) +/* 0776EC 7F042BBC E7A80014 */ swc1 $f8, 0x14($sp) +/* 0776F0 7F042BC0 0FC2C62E */ jal sub_GAME_7F0B18B8 +/* 0776F4 7F042BC4 E7B00018 */ swc1 $f16, 0x18($sp) +/* 0776F8 7F042BC8 0441000F */ bgez $v0, .L7F042C08 +/* 0776FC 7F042BCC C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 077700 7F042BD0 8FA200C0 */ lw $v0, 0xc0($sp) +/* 077704 7F042BD4 E44A0058 */ swc1 $f10, 0x58($v0) +/* 077708 7F042BD8 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 07770C 7F042BDC E4520060 */ swc1 $f18, 0x60($v0) +/* 077710 7F042BE0 8FB800B8 */ lw $t8, 0xb8($sp) +/* 077714 7F042BE4 AE180014 */ sw $t8, 0x14($s0) +/* 077718 7F042BE8 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 07771C 7F042BEC E6040008 */ swc1 $f4, 8($s0) +/* 077720 7F042BF0 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 077724 7F042BF4 E6060010 */ swc1 $f6, 0x10($s0) +/* 077728 7F042BF8 C7A0009C */ lwc1 $f0, 0x9c($sp) +/* 07772C 7F042BFC E600000C */ swc1 $f0, 0xc($s0) +/* 077730 7F042C00 100000A7 */ b .L7F042EA0 +/* 077734 7F042C04 E440005C */ swc1 $f0, 0x5c($v0) +.L7F042C08: +/* 077738 7F042C08 27A40080 */ addiu $a0, $sp, 0x80 +/* 07773C 7F042C0C 0FC2CA2C */ jal sub_GAME_7F0B28B0 +/* 077740 7F042C10 27A50074 */ addiu $a1, $sp, 0x74 +/* 077744 7F042C14 C7A8007C */ lwc1 $f8, 0x7c($sp) +/* 077748 7F042C18 C7B00088 */ lwc1 $f16, 0x88($sp) +/* 07774C 7F042C1C 8FA400CC */ lw $a0, 0xcc($sp) +/* 077750 7F042C20 44801000 */ mtc1 $zero, $f2 +/* 077754 7F042C24 46104281 */ sub.s $f10, $f8, $f16 +/* 077758 7F042C28 24850004 */ addiu $a1, $a0, 4 +/* 07775C 7F042C2C E4820004 */ swc1 $f2, 4($a0) +/* 077760 7F042C30 E48A0000 */ swc1 $f10, ($a0) +/* 077764 7F042C34 C4880000 */ lwc1 $f8, ($a0) +/* 077768 7F042C38 C7A40074 */ lwc1 $f4, 0x74($sp) +/* 07776C 7F042C3C C7B20080 */ lwc1 $f18, 0x80($sp) +/* 077770 7F042C40 46081032 */ c.eq.s $f2, $f8 +/* 077774 7F042C44 46049181 */ sub.s $f6, $f18, $f4 +/* 077778 7F042C48 45000007 */ bc1f .L7F042C68 +/* 07777C 7F042C4C E4860008 */ swc1 $f6, 8($a0) +/* 077780 7F042C50 C4900008 */ lwc1 $f16, 8($a0) +/* 077784 7F042C54 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077788 7F042C58 46101032 */ c.eq.s $f2, $f16 +/* 07778C 7F042C5C 00000000 */ nop +/* 077790 7F042C60 45030006 */ bc1tl .L7F042C7C +/* 077794 7F042C64 44815000 */ mtc1 $at, $f10 +.L7F042C68: +/* 077798 7F042C68 0C007DD4 */ jal guNormalize +/* 07779C 7F042C6C 24860008 */ addiu $a2, $a0, 8 +/* 0777A0 7F042C70 10000005 */ b .L7F042C88 +/* 0777A4 7F042C74 C6000008 */ lwc1 $f0, 8($s0) +/* 0777A8 7F042C78 44815000 */ mtc1 $at, $f10 +.L7F042C7C: +/* 0777AC 7F042C7C 00000000 */ nop +/* 0777B0 7F042C80 E48A0008 */ swc1 $f10, 8($a0) +/* 0777B4 7F042C84 C6000008 */ lwc1 $f0, 8($s0) +.L7F042C88: +/* 0777B8 7F042C88 C7B20098 */ lwc1 $f18, 0x98($sp) +/* 0777BC 7F042C8C C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 0777C0 7F042C90 C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 0777C4 7F042C94 46009032 */ c.eq.s $f18, $f0 +/* 0777C8 7F042C98 00000000 */ nop +/* 0777CC 7F042C9C 4502000F */ bc1fl .L7F042CDC +/* 0777D0 7F042CA0 46005481 */ sub.s $f18, $f10, $f0 +/* 0777D4 7F042CA4 C606000C */ lwc1 $f6, 0xc($s0) +/* 0777D8 7F042CA8 C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 0777DC 7F042CAC 46062032 */ c.eq.s $f4, $f6 +/* 0777E0 7F042CB0 00000000 */ nop +/* 0777E4 7F042CB4 45020009 */ bc1fl .L7F042CDC +/* 0777E8 7F042CB8 46005481 */ sub.s $f18, $f10, $f0 +/* 0777EC 7F042CBC C6100010 */ lwc1 $f16, 0x10($s0) +/* 0777F0 7F042CC0 8FA200C8 */ lw $v0, 0xc8($sp) +/* 0777F4 7F042CC4 C7B20098 */ lwc1 $f18, 0x98($sp) +/* 0777F8 7F042CC8 46104032 */ c.eq.s $f8, $f16 +/* 0777FC 7F042CCC 00000000 */ nop +/* 077800 7F042CD0 4503006A */ bc1tl .L7F042E7C +/* 077804 7F042CD4 E4520000 */ swc1 $f18, ($v0) +/* 077808 7F042CD8 46005481 */ sub.s $f18, $f10, $f0 +.L7F042CDC: +/* 07780C 7F042CDC C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 077810 7F042CE0 C7B000A0 */ lwc1 $f16, 0xa0($sp) +/* 077814 7F042CE4 26040008 */ addiu $a0, $s0, 8 +/* 077818 7F042CE8 E7B200A4 */ swc1 $f18, 0xa4($sp) +/* 07781C 7F042CEC C606000C */ lwc1 $f6, 0xc($s0) +/* 077820 7F042CF0 27A500A4 */ addiu $a1, $sp, 0xa4 +/* 077824 7F042CF4 8FA600C8 */ lw $a2, 0xc8($sp) +/* 077828 7F042CF8 46062201 */ sub.s $f8, $f4, $f6 +/* 07782C 7F042CFC E7A800A8 */ swc1 $f8, 0xa8($sp) +/* 077830 7F042D00 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 077834 7F042D04 460A8481 */ sub.s $f18, $f16, $f10 +/* 077838 7F042D08 0FC09893 */ jal sub_GAME_7F02624C +/* 07783C 7F042D0C E7B200AC */ swc1 $f18, 0xac($sp) +/* 077840 7F042D10 C7A400B4 */ lwc1 $f4, 0xb4($sp) +/* 077844 7F042D14 C7B00080 */ lwc1 $f16, 0x80($sp) +/* 077848 7F042D18 C7AA0088 */ lwc1 $f10, 0x88($sp) +/* 07784C 7F042D1C E7A4005C */ swc1 $f4, 0x5c($sp) +/* 077850 7F042D20 C6060008 */ lwc1 $f6, 8($s0) +/* 077854 7F042D24 C7B20074 */ lwc1 $f18, 0x74($sp) +/* 077858 7F042D28 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 07785C 7F042D2C E7A60060 */ swc1 $f6, 0x60($sp) +/* 077860 7F042D30 C6080010 */ lwc1 $f8, 0x10($s0) +/* 077864 7F042D34 E7B00054 */ swc1 $f16, 0x54($sp) +/* 077868 7F042D38 E7AA0058 */ swc1 $f10, 0x58($sp) +/* 07786C 7F042D3C E7B2004C */ swc1 $f18, 0x4c($sp) +/* 077870 7F042D40 E7A40050 */ swc1 $f4, 0x50($sp) +/* 077874 7F042D44 E7A80064 */ swc1 $f8, 0x64($sp) +/* 077878 7F042D48 C6080008 */ lwc1 $f8, 8($s0) +/* 07787C 7F042D4C C7A60098 */ lwc1 $f6, 0x98($sp) +/* 077880 7F042D50 C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 077884 7F042D54 27A4005C */ addiu $a0, $sp, 0x5c +/* 077888 7F042D58 46083401 */ sub.s $f16, $f6, $f8 +/* 07788C 7F042D5C 27A50054 */ addiu $a1, $sp, 0x54 +/* 077890 7F042D60 27A6004C */ addiu $a2, $sp, 0x4c +/* 077894 7F042D64 27A70044 */ addiu $a3, $sp, 0x44 +/* 077898 7F042D68 E7B00044 */ swc1 $f16, 0x44($sp) +/* 07789C 7F042D6C C6120010 */ lwc1 $f18, 0x10($s0) +/* 0778A0 7F042D70 46125101 */ sub.s $f4, $f10, $f18 +/* 0778A4 7F042D74 0FC2CCF7 */ jal sub_GAME_7F0B33DC +/* 0778A8 7F042D78 E7A40048 */ swc1 $f4, 0x48($sp) +/* 0778AC 7F042D7C C7A80044 */ lwc1 $f8, 0x44($sp) +/* 0778B0 7F042D80 3C018005 */ lui $at, %hi(D_80052A5C) +/* 0778B4 7F042D84 C4222A5C */ lwc1 $f2, %lo(D_80052A5C)($at) +/* 0778B8 7F042D88 46004402 */ mul.s $f16, $f8, $f0 +/* 0778BC 7F042D8C 8E190014 */ lw $t9, 0x14($s0) +/* 0778C0 7F042D90 C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 0778C4 7F042D94 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0778C8 7F042D98 AFB900B8 */ sw $t9, 0xb8($sp) +/* 0778CC 7F042D9C C6060008 */ lwc1 $f6, 8($s0) +/* 0778D0 7F042DA0 E7A4006C */ swc1 $f4, 0x6c($sp) +/* 0778D4 7F042DA4 46028282 */ mul.s $f10, $f16, $f2 +/* 0778D8 7F042DA8 C7B00048 */ lwc1 $f16, 0x48($sp) +/* 0778DC 7F042DAC 2408001F */ li $t0, 31 +/* 0778E0 7F042DB0 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 0778E4 7F042DB4 460A3480 */ add.s $f18, $f6, $f10 +/* 0778E8 7F042DB8 46008182 */ mul.s $f6, $f16, $f0 +/* 0778EC 7F042DBC C7B00090 */ lwc1 $f16, 0x90($sp) +/* 0778F0 7F042DC0 E7B20068 */ swc1 $f18, 0x68($sp) +/* 0778F4 7F042DC4 C6080010 */ lwc1 $f8, 0x10($s0) +/* 0778F8 7F042DC8 8FA70068 */ lw $a3, 0x68($sp) +/* 0778FC 7F042DCC 46023282 */ mul.s $f10, $f6, $f2 +/* 077900 7F042DD0 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 077904 7F042DD4 460A4480 */ add.s $f18, $f8, $f10 +/* 077908 7F042DD8 44815000 */ mtc1 $at, $f10 +/* 07790C 7F042DDC 44804000 */ mtc1 $zero, $f8 +/* 077910 7F042DE0 E7B20070 */ swc1 $f18, 0x70($sp) +/* 077914 7F042DE4 8E060010 */ lw $a2, 0x10($s0) +/* 077918 7F042DE8 8E050008 */ lw $a1, 8($s0) +/* 07791C 7F042DEC C7A40070 */ lwc1 $f4, 0x70($sp) +/* 077920 7F042DF0 AFA80014 */ sw $t0, 0x14($sp) +/* 077924 7F042DF4 E7B00018 */ swc1 $f16, 0x18($sp) +/* 077928 7F042DF8 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 07792C 7F042DFC E7AA0024 */ swc1 $f10, 0x24($sp) +/* 077930 7F042E00 E7A80020 */ swc1 $f8, 0x20($sp) +/* 077934 7F042E04 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 077938 7F042E08 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07793C 7F042E0C 1040001F */ beqz $v0, .L7F042E8C +/* 077940 7F042E10 8FA900B8 */ lw $t1, 0xb8($sp) +/* 077944 7F042E14 1120001D */ beqz $t1, .L7F042E8C +/* 077948 7F042E18 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 07794C 7F042E1C C7B20090 */ lwc1 $f18, 0x90($sp) +/* 077950 7F042E20 C7A4008C */ lwc1 $f4, 0x8c($sp) +/* 077954 7F042E24 240A001F */ li $t2, 31 +/* 077958 7F042E28 AFAA0010 */ sw $t2, 0x10($sp) +/* 07795C 7F042E2C 8FA50068 */ lw $a1, 0x68($sp) +/* 077960 7F042E30 8FA60070 */ lw $a2, 0x70($sp) +/* 077964 7F042E34 8FA700B4 */ lw $a3, 0xb4($sp) +/* 077968 7F042E38 E7B20014 */ swc1 $f18, 0x14($sp) +/* 07796C 7F042E3C 0FC2C62E */ jal sub_GAME_7F0B18B8 +/* 077970 7F042E40 E7A40018 */ swc1 $f4, 0x18($sp) +/* 077974 7F042E44 04410011 */ bgez $v0, .L7F042E8C +/* 077978 7F042E48 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 07797C 7F042E4C 8FAB00C0 */ lw $t3, 0xc0($sp) +/* 077980 7F042E50 E5700058 */ swc1 $f16, 0x58($t3) +/* 077984 7F042E54 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 077988 7F042E58 E5660060 */ swc1 $f6, 0x60($t3) +/* 07798C 7F042E5C 8FAC00B8 */ lw $t4, 0xb8($sp) +/* 077990 7F042E60 AE0C0014 */ sw $t4, 0x14($s0) +/* 077994 7F042E64 C7A80068 */ lwc1 $f8, 0x68($sp) +/* 077998 7F042E68 E6080008 */ swc1 $f8, 8($s0) +/* 07799C 7F042E6C C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 0779A0 7F042E70 10000006 */ b .L7F042E8C +/* 0779A4 7F042E74 E60A0010 */ swc1 $f10, 0x10($s0) +/* 0779A8 7F042E78 E4520000 */ swc1 $f18, ($v0) +.L7F042E7C: +/* 0779AC 7F042E7C C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 0779B0 7F042E80 E4440004 */ swc1 $f4, 4($v0) +/* 0779B4 7F042E84 C7B000A0 */ lwc1 $f16, 0xa0($sp) +/* 0779B8 7F042E88 E4500008 */ swc1 $f16, 8($v0) +.L7F042E8C: +/* 0779BC 7F042E8C C7A0006C */ lwc1 $f0, 0x6c($sp) +/* 0779C0 7F042E90 E600000C */ swc1 $f0, 0xc($s0) +/* 0779C4 7F042E94 8FAD00C0 */ lw $t5, 0xc0($sp) +/* 0779C8 7F042E98 E5A0005C */ swc1 $f0, 0x5c($t5) +/* 0779CC 7F042E9C AFA000B0 */ sw $zero, 0xb0($sp) +.L7F042EA0: +/* 0779D0 7F042EA0 8FBF0034 */ lw $ra, 0x34($sp) +.L7F042EA4: +/* 0779D4 7F042EA4 8FA200B0 */ lw $v0, 0xb0($sp) +/* 0779D8 7F042EA8 8FB00030 */ lw $s0, 0x30($sp) +/* 0779DC 7F042EAC 03E00008 */ jr $ra +/* 0779E0 7F042EB0 27BD00C0 */ addiu $sp, $sp, 0xc0 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F042EB4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F042EB4 +/* 0779E4 7F042EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0779E8 7F042EB8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0779EC 7F042EBC 8C8E0064 */ lw $t6, 0x64($a0) +/* 0779F0 7F042EC0 8FAB0030 */ lw $t3, 0x30($sp) +/* 0779F4 7F042EC4 31CF0080 */ andi $t7, $t6, 0x80 +/* 0779F8 7F042EC8 11E0000D */ beqz $t7, .L7F042F00 +/* 0779FC 7F042ECC 00000000 */ nop +/* 077A00 7F042ED0 8C98006C */ lw $t8, 0x6c($a0) +/* 077A04 7F042ED4 8FA90030 */ lw $t1, 0x30($sp) +/* 077A08 7F042ED8 8F190000 */ lw $t9, ($t8) +/* 077A0C 7F042EDC 33280004 */ andi $t0, $t9, 4 +/* 077A10 7F042EE0 11000007 */ beqz $t0, .L7F042F00 +/* 077A14 7F042EE4 00000000 */ nop +/* 077A18 7F042EE8 8FAA0034 */ lw $t2, 0x34($sp) +/* 077A1C 7F042EEC AFA90010 */ sw $t1, 0x10($sp) +/* 077A20 7F042EF0 0FC10893 */ jal handles_projectile_motion +/* 077A24 7F042EF4 AFAA0014 */ sw $t2, 0x14($sp) +/* 077A28 7F042EF8 10000004 */ b .L7F042F0C +/* 077A2C 7F042EFC 8FBF001C */ lw $ra, 0x1c($sp) +.L7F042F00: +/* 077A30 7F042F00 0FC10A83 */ jal sub_GAME_7F042A0C +/* 077A34 7F042F04 AFAB0010 */ sw $t3, 0x10($sp) +/* 077A38 7F042F08 8FBF001C */ lw $ra, 0x1c($sp) +.L7F042F0C: +/* 077A3C 7F042F0C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 077A40 7F042F10 03E00008 */ jr $ra +/* 077A44 7F042F14 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F042F18(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F042F18 +/* 077A48 7F042F18 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 077A4C 7F042F1C 3C038005 */ lui $v1, %hi(clock_timer) +/* 077A50 7F042F20 24638374 */ addiu $v1, %lo(clock_timer) # addiu $v1, $v1, -0x7c8c +/* 077A54 7F042F24 8C6E0000 */ lw $t6, ($v1) +/* 077A58 7F042F28 F7B40008 */ sdc1 $f20, 8($sp) +/* 077A5C 7F042F2C 4487A000 */ mtc1 $a3, $f20 +/* 077A60 7F042F30 F7BA0020 */ sdc1 $f26, 0x20($sp) +/* 077A64 7F042F34 F7B80018 */ sdc1 $f24, 0x18($sp) +/* 077A68 7F042F38 F7B60010 */ sdc1 $f22, 0x10($sp) +/* 077A6C 7F042F3C 44857000 */ mtc1 $a1, $f14 +/* 077A70 7F042F40 C4C00000 */ lwc1 $f0, ($a2) +/* 077A74 7F042F44 19C0006A */ blez $t6, .L7F0430F0 +/* 077A78 7F042F48 00001025 */ move $v0, $zero +/* 077A7C 7F042F4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 077A80 7F042F50 4481D000 */ mtc1 $at, $f26 +/* 077A84 7F042F54 4480C000 */ mtc1 $zero, $f24 +/* 077A88 7F042F58 C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 077A8C 7F042F5C C7A20038 */ lwc1 $f2, 0x38($sp) +/* 077A90 7F042F60 C4900000 */ lwc1 $f16, ($a0) +.L7F042F64: +/* 077A94 7F042F64 46107301 */ sub.s $f12, $f14, $f16 +/* 077A98 7F042F68 460CC03C */ c.lt.s $f24, $f12 +/* 077A9C 7F042F6C 00000000 */ nop +/* 077AA0 7F042F70 4502002E */ bc1fl .L7F04302C +/* 077AA4 7F042F74 4618003C */ c.lt.s $f0, $f24 +/* 077AA8 7F042F78 4600C03C */ c.lt.s $f24, $f0 +/* 077AAC 7F042F7C 00000000 */ nop +/* 077AB0 7F042F80 45020011 */ bc1fl .L7F042FC8 +/* 077AB4 7F042F84 4612003C */ c.lt.s $f0, $f18 +/* 077AB8 7F042F88 46000102 */ mul.s $f4, $f0, $f0 +/* 077ABC 7F042F8C 00000000 */ nop +/* 077AC0 7F042F90 461A2182 */ mul.s $f6, $f4, $f26 +/* 077AC4 7F042F94 46023203 */ div.s $f8, $f6, $f2 +/* 077AC8 7F042F98 4608603E */ c.le.s $f12, $f8 +/* 077ACC 7F042F9C 00000000 */ nop +/* 077AD0 7F042FA0 45000008 */ bc1f .L7F042FC4 +/* 077AD4 7F042FA4 00000000 */ nop +/* 077AD8 7F042FA8 46020001 */ sub.s $f0, $f0, $f2 +/* 077ADC 7F042FAC 4602003C */ c.lt.s $f0, $f2 +/* 077AE0 7F042FB0 00000000 */ nop +/* 077AE4 7F042FB4 45020014 */ bc1fl .L7F043008 +/* 077AE8 7F042FB8 4600603E */ c.le.s $f12, $f0 +/* 077AEC 7F042FBC 10000011 */ b .L7F043004 +/* 077AF0 7F042FC0 46001006 */ mov.s $f0, $f2 +.L7F042FC4: +/* 077AF4 7F042FC4 4612003C */ c.lt.s $f0, $f18 +.L7F042FC8: +/* 077AF8 7F042FC8 00000000 */ nop +/* 077AFC 7F042FCC 4502000E */ bc1fl .L7F043008 +/* 077B00 7F042FD0 4600603E */ c.le.s $f12, $f0 +/* 077B04 7F042FD4 4618003C */ c.lt.s $f0, $f24 +/* 077B08 7F042FD8 00000000 */ nop +/* 077B0C 7F042FDC 45020004 */ bc1fl .L7F042FF0 +/* 077B10 7F042FE0 46140000 */ add.s $f0, $f0, $f20 +/* 077B14 7F042FE4 10000002 */ b .L7F042FF0 +/* 077B18 7F042FE8 46020000 */ add.s $f0, $f0, $f2 +/* 077B1C 7F042FEC 46140000 */ add.s $f0, $f0, $f20 +.L7F042FF0: +/* 077B20 7F042FF0 4600903C */ c.lt.s $f18, $f0 +/* 077B24 7F042FF4 00000000 */ nop +/* 077B28 7F042FF8 45020003 */ bc1fl .L7F043008 +/* 077B2C 7F042FFC 4600603E */ c.le.s $f12, $f0 +/* 077B30 7F043000 46009006 */ mov.s $f0, $f18 +.L7F043004: +/* 077B34 7F043004 4600603E */ c.le.s $f12, $f0 +.L7F043008: +/* 077B38 7F043008 00000000 */ nop +/* 077B3C 7F04300C 45020004 */ bc1fl .L7F043020 +/* 077B40 7F043010 46008280 */ add.s $f10, $f16, $f0 +/* 077B44 7F043014 10000036 */ b .L7F0430F0 +/* 077B48 7F043018 E48E0000 */ swc1 $f14, ($a0) +/* 077B4C 7F04301C 46008280 */ add.s $f10, $f16, $f0 +.L7F043020: +/* 077B50 7F043020 1000002E */ b .L7F0430DC +/* 077B54 7F043024 E48A0000 */ swc1 $f10, ($a0) +/* 077B58 7F043028 4618003C */ c.lt.s $f0, $f24 +.L7F04302C: +/* 077B5C 7F04302C 00000000 */ nop +/* 077B60 7F043030 45020012 */ bc1fl .L7F04307C +/* 077B64 7F043034 46009587 */ neg.s $f22, $f18 +/* 077B68 7F043038 46000102 */ mul.s $f4, $f0, $f0 +/* 077B6C 7F04303C 46006287 */ neg.s $f10, $f12 +/* 077B70 7F043040 461A2182 */ mul.s $f6, $f4, $f26 +/* 077B74 7F043044 46023203 */ div.s $f8, $f6, $f2 +/* 077B78 7F043048 4608503E */ c.le.s $f10, $f8 +/* 077B7C 7F04304C 00000000 */ nop +/* 077B80 7F043050 4502000A */ bc1fl .L7F04307C +/* 077B84 7F043054 46009587 */ neg.s $f22, $f18 +/* 077B88 7F043058 46020000 */ add.s $f0, $f0, $f2 +/* 077B8C 7F04305C 46001587 */ neg.s $f22, $f2 +/* 077B90 7F043060 4600B03C */ c.lt.s $f22, $f0 +/* 077B94 7F043064 00000000 */ nop +/* 077B98 7F043068 45020015 */ bc1fl .L7F0430C0 +/* 077B9C 7F04306C 460C003E */ c.le.s $f0, $f12 +/* 077BA0 7F043070 10000012 */ b .L7F0430BC +/* 077BA4 7F043074 4600B006 */ mov.s $f0, $f22 +/* 077BA8 7F043078 46009587 */ neg.s $f22, $f18 +.L7F04307C: +/* 077BAC 7F04307C 4600B03C */ c.lt.s $f22, $f0 +/* 077BB0 7F043080 00000000 */ nop +/* 077BB4 7F043084 4502000E */ bc1fl .L7F0430C0 +/* 077BB8 7F043088 460C003E */ c.le.s $f0, $f12 +/* 077BBC 7F04308C 4600C03C */ c.lt.s $f24, $f0 +/* 077BC0 7F043090 00000000 */ nop +/* 077BC4 7F043094 45020004 */ bc1fl .L7F0430A8 +/* 077BC8 7F043098 46140001 */ sub.s $f0, $f0, $f20 +/* 077BCC 7F04309C 10000002 */ b .L7F0430A8 +/* 077BD0 7F0430A0 46020001 */ sub.s $f0, $f0, $f2 +/* 077BD4 7F0430A4 46140001 */ sub.s $f0, $f0, $f20 +.L7F0430A8: +/* 077BD8 7F0430A8 4616003C */ c.lt.s $f0, $f22 +/* 077BDC 7F0430AC 00000000 */ nop +/* 077BE0 7F0430B0 45020003 */ bc1fl .L7F0430C0 +/* 077BE4 7F0430B4 460C003E */ c.le.s $f0, $f12 +/* 077BE8 7F0430B8 4600B006 */ mov.s $f0, $f22 +.L7F0430BC: +/* 077BEC 7F0430BC 460C003E */ c.le.s $f0, $f12 +.L7F0430C0: +/* 077BF0 7F0430C0 00000000 */ nop +/* 077BF4 7F0430C4 45020004 */ bc1fl .L7F0430D8 +/* 077BF8 7F0430C8 46008100 */ add.s $f4, $f16, $f0 +/* 077BFC 7F0430CC 10000008 */ b .L7F0430F0 +/* 077C00 7F0430D0 E48E0000 */ swc1 $f14, ($a0) +/* 077C04 7F0430D4 46008100 */ add.s $f4, $f16, $f0 +.L7F0430D8: +/* 077C08 7F0430D8 E4840000 */ swc1 $f4, ($a0) +.L7F0430DC: +/* 077C0C 7F0430DC 8C6F0000 */ lw $t7, ($v1) +/* 077C10 7F0430E0 24420001 */ addiu $v0, $v0, 1 +/* 077C14 7F0430E4 004F082A */ slt $at, $v0, $t7 +/* 077C18 7F0430E8 5420FF9E */ bnezl $at, .L7F042F64 +/* 077C1C 7F0430EC C4900000 */ lwc1 $f16, ($a0) +.L7F0430F0: +/* 077C20 7F0430F0 E4C00000 */ swc1 $f0, ($a2) +/* 077C24 7F0430F4 D7BA0020 */ ldc1 $f26, 0x20($sp) +/* 077C28 7F0430F8 D7B80018 */ ldc1 $f24, 0x18($sp) +/* 077C2C 7F0430FC D7B60010 */ ldc1 $f22, 0x10($sp) +/* 077C30 7F043100 D7B40008 */ ldc1 $f20, 8($sp) +/* 077C34 7F043104 03E00008 */ jr $ra +/* 077C38 7F043108 27BD0028 */ addiu $sp, $sp, 0x28 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04310C(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A60 +.word 0xc0490fdb /*-3.1415927*/ +glabel D_80052A64 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052A68 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052A6C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052A70 +.word 0x40c90fdb /*6.2831855*/ +.text +glabel sub_GAME_7F04310C +/* 077C3C 7F04310C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 077C40 7F043110 AFBF001C */ sw $ra, 0x1c($sp) +/* 077C44 7F043114 44856000 */ mtc1 $a1, $f12 +/* 077C48 7F043118 C4840000 */ lwc1 $f4, ($a0) +/* 077C4C 7F04311C 3C018005 */ lui $at, %hi(D_80052A60) +/* 077C50 7F043120 C4262A60 */ lwc1 $f6, %lo(D_80052A60)($at) +/* 077C54 7F043124 46046001 */ sub.s $f0, $f12, $f4 +/* 077C58 7F043128 44877000 */ mtc1 $a3, $f14 +/* 077C5C 7F04312C 3C018005 */ lui $at, %hi(D_80052A68) +/* 077C60 7F043130 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 077C64 7F043134 4606003C */ c.lt.s $f0, $f6 +/* 077C68 7F043138 44077000 */ mfc1 $a3, $f14 +/* 077C6C 7F04313C 45000005 */ bc1f .L7F043154 +/* 077C70 7F043140 00000000 */ nop +/* 077C74 7F043144 3C018005 */ lui $at, %hi(D_80052A68) +/* 077C78 7F043148 C4282A64 */ lwc1 $f8, %lo(D_80052A64)($at) +/* 077C7C 7F04314C 10000009 */ b .L7F043174 +/* 077C80 7F043150 46086300 */ add.s $f12, $f12, $f8 +.L7F043154: +/* 077C84 7F043154 C42A2A68 */ lwc1 $f10, %lo(D_80052A68)($at) +/* 077C88 7F043158 3C018005 */ lui $at, %hi(D_80052A6C) +/* 077C8C 7F04315C 4600503E */ c.le.s $f10, $f0 +/* 077C90 7F043160 00000000 */ nop +/* 077C94 7F043164 45020004 */ bc1fl .L7F043178 +/* 077C98 7F043168 C7B20034 */ lwc1 $f18, 0x34($sp) +/* 077C9C 7F04316C C4222A6C */ lwc1 $f2, %lo(D_80052A6C)($at) +/* 077CA0 7F043170 46026301 */ sub.s $f12, $f12, $f2 +.L7F043174: +/* 077CA4 7F043174 C7B20034 */ lwc1 $f18, 0x34($sp) +.L7F043178: +/* 077CA8 7F043178 44056000 */ mfc1 $a1, $f12 +/* 077CAC 7F04317C E7B00010 */ swc1 $f16, 0x10($sp) +/* 077CB0 7F043180 AFA40020 */ sw $a0, 0x20($sp) +/* 077CB4 7F043184 0FC10BC6 */ jal sub_GAME_7F042F18 +/* 077CB8 7F043188 E7B20014 */ swc1 $f18, 0x14($sp) +/* 077CBC 7F04318C 8FA40020 */ lw $a0, 0x20($sp) +/* 077CC0 7F043190 44802000 */ mtc1 $zero, $f4 +/* 077CC4 7F043194 3C018005 */ lui $at, %hi(D_80052A70) +/* 077CC8 7F043198 C4800000 */ lwc1 $f0, ($a0) +/* 077CCC 7F04319C C4222A70 */ lwc1 $f2, %lo(D_80052A70)($at) +/* 077CD0 7F0431A0 4604003C */ c.lt.s $f0, $f4 +/* 077CD4 7F0431A4 00000000 */ nop +/* 077CD8 7F0431A8 45020005 */ bc1fl .L7F0431C0 +/* 077CDC 7F0431AC 4600103E */ c.le.s $f2, $f0 +/* 077CE0 7F0431B0 46020180 */ add.s $f6, $f0, $f2 +/* 077CE4 7F0431B4 E4860000 */ swc1 $f6, ($a0) +/* 077CE8 7F0431B8 C4800000 */ lwc1 $f0, ($a0) +/* 077CEC 7F0431BC 4600103E */ c.le.s $f2, $f0 +.L7F0431C0: +/* 077CF0 7F0431C0 00000000 */ nop +/* 077CF4 7F0431C4 45020004 */ bc1fl .L7F0431D8 +/* 077CF8 7F0431C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 077CFC 7F0431CC 46020201 */ sub.s $f8, $f0, $f2 +/* 077D00 7F0431D0 E4880000 */ swc1 $f8, ($a0) +/* 077D04 7F0431D4 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0431D8: +/* 077D08 7F0431D8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 077D0C 7F0431DC 03E00008 */ jr $ra +/* 077D10 7F0431E0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0431E4(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A74 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052A78 +.word 0x3d4ccccd /*0.050000001*/ +glabel D_80052A7C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052A80 +.word 0x3d4ccccd /*0.050000001*/ +glabel D_80052A84 +.word 0x3cf5c28f /*0.029999999*/ +glabel D_80052A88 +.word 0x3e19999a /*0.15000001*/ +.text +glabel sub_GAME_7F0431E4 +/* 077D14 7F0431E4 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 077D18 7F0431E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 077D1C 7F0431EC AFB10018 */ sw $s1, 0x18($sp) +/* 077D20 7F0431F0 AFB00014 */ sw $s0, 0x14($sp) +/* 077D24 7F0431F4 AFA5011C */ sw $a1, 0x11c($sp) +/* 077D28 7F0431F8 8C8E0064 */ lw $t6, 0x64($a0) +/* 077D2C 7F0431FC 3C01FFFE */ li $at, 0xFFFE0000 # -nan +/* 077D30 7F043200 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 077D34 7F043204 01C17824 */ and $t7, $t6, $at +/* 077D38 7F043208 31F90080 */ andi $t9, $t7, 0x80 +/* 077D3C 7F04320C 00808825 */ move $s1, $a0 +/* 077D40 7F043210 1320010A */ beqz $t9, .L7F04363C +/* 077D44 7F043214 AC8F0064 */ sw $t7, 0x64($a0) +/* 077D48 7F043218 90880003 */ lbu $t0, 3($a0) +/* 077D4C 7F04321C 8C90006C */ lw $s0, 0x6c($a0) +/* 077D50 7F043220 24010001 */ li $at, 1 +/* 077D54 7F043224 15010009 */ bne $t0, $at, .L7F04324C +/* 077D58 7F043228 26240018 */ addiu $a0, $s1, 0x18 +/* 077D5C 7F04322C 0FC0FEDC */ jal sub_GAME_7F03FB70 +/* 077D60 7F043230 02002025 */ move $a0, $s0 +/* 077D64 7F043234 8E290064 */ lw $t1, 0x64($s1) +/* 077D68 7F043238 2401FF7F */ li $at, -129 +/* 077D6C 7F04323C AE20006C */ sw $zero, 0x6c($s1) +/* 077D70 7F043240 01215024 */ and $t2, $t1, $at +/* 077D74 7F043244 100000FD */ b .L7F04363C +/* 077D78 7F043248 AE2A0064 */ sw $t2, 0x64($s1) +.L7F04324C: +/* 077D7C 7F04324C 8E0B0000 */ lw $t3, ($s0) +/* 077D80 7F043250 2401FFFE */ li $at, -2 +/* 077D84 7F043254 AE000088 */ sw $zero, 0x88($s0) +/* 077D88 7F043258 01616024 */ and $t4, $t3, $at +/* 077D8C 7F04325C 2401FFFB */ li $at, -5 +/* 077D90 7F043260 AE0C0000 */ sw $t4, ($s0) +/* 077D94 7F043264 01817024 */ and $t6, $t4, $at +/* 077D98 7F043268 AE0E0000 */ sw $t6, ($s0) +/* 077D9C 7F04326C AFA40028 */ sw $a0, 0x28($sp) +/* 077DA0 7F043270 0FC16218 */ jal sub_GAME_7F058860 +/* 077DA4 7F043274 27A5010C */ addiu $a1, $sp, 0x10c +/* 077DA8 7F043278 27A4010C */ addiu $a0, $sp, 0x10c +/* 077DAC 7F04327C 0FC161C5 */ jal sub_GAME_7F058714 +/* 077DB0 7F043280 27A500CC */ addiu $a1, $sp, 0xcc +/* 077DB4 7F043284 26050068 */ addiu $a1, $s0, 0x68 +/* 077DB8 7F043288 AFA50024 */ sw $a1, 0x24($sp) +/* 077DBC 7F04328C 0FC16CFD */ jal sub_GAME_7F05B3F4 +/* 077DC0 7F043290 27A4010C */ addiu $a0, $sp, 0x10c +/* 077DC4 7F043294 27A400CC */ addiu $a0, $sp, 0xcc +/* 077DC8 7F043298 0FC1674E */ jal sub_GAME_7F059D38 +/* 077DCC 7F04329C 27A5008C */ addiu $a1, $sp, 0x8c +/* 077DD0 7F0432A0 27A4008C */ addiu $a0, $sp, 0x8c +/* 077DD4 7F0432A4 8FA50028 */ lw $a1, 0x28($sp) +/* 077DD8 7F0432A8 0FC16032 */ jal sub_GAME_7F0580C8 +/* 077DDC 7F0432AC 27A6004C */ addiu $a2, $sp, 0x4c +/* 077DE0 7F0432B0 C7A2004C */ lwc1 $f2, 0x4c($sp) +/* 077DE4 7F0432B4 C7AE0050 */ lwc1 $f14, 0x50($sp) +/* 077DE8 7F0432B8 C7A00054 */ lwc1 $f0, 0x54($sp) +/* 077DEC 7F0432BC 46021102 */ mul.s $f4, $f2, $f2 +/* 077DF0 7F0432C0 00000000 */ nop +/* 077DF4 7F0432C4 460E7182 */ mul.s $f6, $f14, $f14 +/* 077DF8 7F0432C8 46062200 */ add.s $f8, $f4, $f6 +/* 077DFC 7F0432CC 46000282 */ mul.s $f10, $f0, $f0 +/* 077E00 7F0432D0 0C007DF8 */ jal sqrtf +/* 077E04 7F0432D4 46085300 */ add.s $f12, $f10, $f8 +/* 077E08 7F0432D8 E60000C0 */ swc1 $f0, 0xc0($s0) +/* 077E0C 7F0432DC C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 077E10 7F0432E0 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 077E14 7F0432E4 46042182 */ mul.s $f6, $f4, $f4 +/* 077E18 7F0432E8 00000000 */ nop +/* 077E1C 7F0432EC 460A5202 */ mul.s $f8, $f10, $f10 +/* 077E20 7F0432F0 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 077E24 7F0432F4 46083100 */ add.s $f4, $f6, $f8 +/* 077E28 7F0432F8 460A5182 */ mul.s $f6, $f10, $f10 +/* 077E2C 7F0432FC 0C007DF8 */ jal sqrtf +/* 077E30 7F043300 46043300 */ add.s $f12, $f6, $f4 +/* 077E34 7F043304 E60000C4 */ swc1 $f0, 0xc4($s0) +/* 077E38 7F043308 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 077E3C 7F04330C C7A60070 */ lwc1 $f6, 0x70($sp) +/* 077E40 7F043310 46084282 */ mul.s $f10, $f8, $f8 +/* 077E44 7F043314 00000000 */ nop +/* 077E48 7F043318 46063102 */ mul.s $f4, $f6, $f6 +/* 077E4C 7F04331C C7A60074 */ lwc1 $f6, 0x74($sp) +/* 077E50 7F043320 46045200 */ add.s $f8, $f10, $f4 +/* 077E54 7F043324 46063282 */ mul.s $f10, $f6, $f6 +/* 077E58 7F043328 0C007DF8 */ jal sqrtf +/* 077E5C 7F04332C 46085300 */ add.s $f12, $f10, $f8 +/* 077E60 7F043330 E60000C8 */ swc1 $f0, 0xc8($s0) +/* 077E64 7F043334 44808000 */ mtc1 $zero, $f16 +/* 077E68 7F043338 C6220018 */ lwc1 $f2, 0x18($s1) +/* 077E6C 7F04333C C62E0020 */ lwc1 $f14, 0x20($s1) +/* 077E70 7F043340 46101032 */ c.eq.s $f2, $f16 +/* 077E74 7F043344 00000000 */ nop +/* 077E78 7F043348 45000005 */ bc1f .L7F043360 +/* 077E7C 7F04334C 00000000 */ nop +/* 077E80 7F043350 46107032 */ c.eq.s $f14, $f16 +/* 077E84 7F043354 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077E88 7F043358 45030013 */ bc1tl .L7F0433A8 +/* 077E8C 7F04335C 44817000 */ mtc1 $at, $f14 +.L7F043360: +/* 077E90 7F043360 46021102 */ mul.s $f4, $f2, $f2 +/* 077E94 7F043364 E7A20048 */ swc1 $f2, 0x48($sp) +/* 077E98 7F043368 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 077E9C 7F04336C 460E7182 */ mul.s $f6, $f14, $f14 +/* 077EA0 7F043370 0C007DF8 */ jal sqrtf +/* 077EA4 7F043374 46062300 */ add.s $f12, $f4, $f6 +/* 077EA8 7F043378 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 077EAC 7F04337C 44819000 */ mtc1 $at, $f18 +/* 077EB0 7F043380 C7A20048 */ lwc1 $f2, 0x48($sp) +/* 077EB4 7F043384 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 077EB8 7F043388 46009303 */ div.s $f12, $f18, $f0 +/* 077EBC 7F04338C 44808000 */ mtc1 $zero, $f16 +/* 077EC0 7F043390 460C1082 */ mul.s $f2, $f2, $f12 +/* 077EC4 7F043394 00000000 */ nop +/* 077EC8 7F043398 460C7382 */ mul.s $f14, $f14, $f12 +/* 077ECC 7F04339C 10000004 */ b .L7F0433B0 +/* 077ED0 7F0433A0 00000000 */ nop +/* 077ED4 7F0433A4 44817000 */ mtc1 $at, $f14 +.L7F0433A8: +/* 077ED8 7F0433A8 44819000 */ mtc1 $at, $f18 +/* 077EDC 7F0433AC 46008086 */ mov.s $f2, $f16 +.L7F0433B0: +/* 077EE0 7F0433B0 E7A2008C */ swc1 $f2, 0x8c($sp) +/* 077EE4 7F0433B4 E7B00090 */ swc1 $f16, 0x90($sp) +/* 077EE8 7F0433B8 E7AE0094 */ swc1 $f14, 0x94($sp) +/* 077EEC 7F0433BC E7B00098 */ swc1 $f16, 0x98($sp) +/* 077EF0 7F0433C0 C62A002C */ lwc1 $f10, 0x2c($s1) +/* 077EF4 7F0433C4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 077EF8 7F0433C8 27A4008C */ addiu $a0, $sp, 0x8c +/* 077EFC 7F0433CC 460A803E */ c.le.s $f16, $f10 +/* 077F00 7F0433D0 27A5010C */ addiu $a1, $sp, 0x10c +/* 077F04 7F0433D4 4502000C */ bc1fl .L7F043408 +/* 077F08 7F0433D8 44812000 */ mtc1 $at, $f4 +/* 077F0C 7F0433DC 46007207 */ neg.s $f8, $f14 +/* 077F10 7F0433E0 E7B0009C */ swc1 $f16, 0x9c($sp) +/* 077F14 7F0433E4 E7B200A0 */ swc1 $f18, 0xa0($sp) +/* 077F18 7F0433E8 E7B000A4 */ swc1 $f16, 0xa4($sp) +/* 077F1C 7F0433EC E7B000A8 */ swc1 $f16, 0xa8($sp) +/* 077F20 7F0433F0 E7A800AC */ swc1 $f8, 0xac($sp) +/* 077F24 7F0433F4 E7B000B0 */ swc1 $f16, 0xb0($sp) +/* 077F28 7F0433F8 E7A200B4 */ swc1 $f2, 0xb4($sp) +/* 077F2C 7F0433FC 1000000B */ b .L7F04342C +/* 077F30 7F043400 E7B000B8 */ swc1 $f16, 0xb8($sp) +/* 077F34 7F043404 44812000 */ mtc1 $at, $f4 +.L7F043408: +/* 077F38 7F043408 46001187 */ neg.s $f6, $f2 +/* 077F3C 7F04340C E7B0009C */ swc1 $f16, 0x9c($sp) +/* 077F40 7F043410 E7B000A4 */ swc1 $f16, 0xa4($sp) +/* 077F44 7F043414 E7B000A8 */ swc1 $f16, 0xa8($sp) +/* 077F48 7F043418 E7AE00AC */ swc1 $f14, 0xac($sp) +/* 077F4C 7F04341C E7B000B0 */ swc1 $f16, 0xb0($sp) +/* 077F50 7F043420 E7A600B4 */ swc1 $f6, 0xb4($sp) +/* 077F54 7F043424 E7B000B8 */ swc1 $f16, 0xb8($sp) +/* 077F58 7F043428 E7A400A0 */ swc1 $f4, 0xa0($sp) +.L7F04342C: +/* 077F5C 7F04342C E7B000BC */ swc1 $f16, 0xbc($sp) +/* 077F60 7F043430 E7B000C0 */ swc1 $f16, 0xc0($sp) +/* 077F64 7F043434 E7B000C4 */ swc1 $f16, 0xc4($sp) +/* 077F68 7F043438 0FC16218 */ jal sub_GAME_7F058860 +/* 077F6C 7F04343C E7B200C8 */ swc1 $f18, 0xc8($sp) +/* 077F70 7F043440 26050078 */ addiu $a1, $s0, 0x78 +/* 077F74 7F043444 AFA50028 */ sw $a1, 0x28($sp) +/* 077F78 7F043448 0FC16CFD */ jal sub_GAME_7F05B3F4 +/* 077F7C 7F04344C 27A4010C */ addiu $a0, $sp, 0x10c +/* 077F80 7F043450 8FA50028 */ lw $a1, 0x28($sp) +/* 077F84 7F043454 0FC16F84 */ jal sub_GAME_7F05BE10 +/* 077F88 7F043458 8FA40024 */ lw $a0, 0x24($sp) +/* 077F8C 7F04345C 44808000 */ mtc1 $zero, $f16 +/* 077F90 7F043460 00000000 */ nop +/* 077F94 7F043464 E6100060 */ swc1 $f16, 0x60($s0) +/* 077F98 7F043468 C7A800CC */ lwc1 $f8, 0xcc($sp) +/* 077F9C 7F04346C C7AA008C */ lwc1 $f10, 0x8c($sp) +/* 077FA0 7F043470 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 077FA4 7F043474 46085102 */ mul.s $f4, $f10, $f8 +/* 077FA8 7F043478 C7AA00D0 */ lwc1 $f10, 0xd0($sp) +/* 077FAC 7F04347C 460A3202 */ mul.s $f8, $f6, $f10 +/* 077FB0 7F043480 C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 077FB4 7F043484 46082180 */ add.s $f6, $f4, $f8 +/* 077FB8 7F043488 C7A40094 */ lwc1 $f4, 0x94($sp) +/* 077FBC 7F04348C 46045202 */ mul.s $f8, $f10, $f4 +/* 077FC0 7F043490 0FC16B2C */ jal sub_GAME_7F05ACB0 +/* 077FC4 7F043494 46064300 */ add.s $f12, $f8, $f6 +/* 077FC8 7F043498 44808000 */ mtc1 $zero, $f16 +/* 077FCC 7F04349C 46000486 */ mov.s $f18, $f0 +/* 077FD0 7F0434A0 4600803C */ c.lt.s $f16, $f0 +/* 077FD4 7F0434A4 00000000 */ nop +/* 077FD8 7F0434A8 45020018 */ bc1fl .L7F04350C +/* 077FDC 7F0434AC 4600803C */ c.lt.s $f16, $f0 +/* 077FE0 7F0434B0 C622001C */ lwc1 $f2, 0x1c($s1) +/* 077FE4 7F0434B4 8FA2011C */ lw $v0, 0x11c($sp) +/* 077FE8 7F0434B8 4602803C */ c.lt.s $f16, $f2 +/* 077FEC 7F0434BC 00000000 */ nop +/* 077FF0 7F0434C0 45020012 */ bc1fl .L7F04350C +/* 077FF4 7F0434C4 4600803C */ c.lt.s $f16, $f0 +/* 077FF8 7F0434C8 C44A0004 */ lwc1 $f10, 4($v0) +/* 077FFC 7F0434CC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 078000 7F0434D0 4602503C */ c.lt.s $f10, $f2 +/* 078004 7F0434D4 00000000 */ nop +/* 078008 7F0434D8 4502000C */ bc1fl .L7F04350C +/* 07800C 7F0434DC 4600803C */ c.lt.s $f16, $f0 +/* 078010 7F0434E0 44812000 */ mtc1 $at, $f4 +/* 078014 7F0434E4 3C018005 */ lui $at, %hi(D_80052A74) +/* 078018 7F0434E8 C4262A74 */ lwc1 $f6, %lo(D_80052A74)($at) +/* 07801C 7F0434EC 46040202 */ mul.s $f8, $f0, $f4 +/* 078020 7F0434F0 3C018005 */ lui $at, %hi(D_80052A78) +/* 078024 7F0434F4 C4242A78 */ lwc1 $f4, %lo(D_80052A78)($at) +/* 078028 7F0434F8 46064283 */ div.s $f10, $f8, $f6 +/* 07802C 7F0434FC 460A2203 */ div.s $f8, $f4, $f10 +/* 078030 7F043500 10000037 */ b .L7F0435E0 +/* 078034 7F043504 E6080064 */ swc1 $f8, 0x64($s0) +/* 078038 7F043508 4600803C */ c.lt.s $f16, $f0 +.L7F04350C: +/* 07803C 7F04350C 8FA2011C */ lw $v0, 0x11c($sp) +/* 078040 7F043510 C622001C */ lwc1 $f2, 0x1c($s1) +/* 078044 7F043514 45000013 */ bc1f .L7F043564 +/* 078048 7F043518 C44E0004 */ lwc1 $f14, 4($v0) +/* 07804C 7F04351C 4610103C */ c.lt.s $f2, $f16 +/* 078050 7F043520 00000000 */ nop +/* 078054 7F043524 45020010 */ bc1fl .L7F043568 +/* 078058 7F043528 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 07805C 7F04352C 460E103C */ c.lt.s $f2, $f14 +/* 078060 7F043530 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 078064 7F043534 4502000C */ bc1fl .L7F043568 +/* 078068 7F043538 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 07806C 7F04353C 44813000 */ mtc1 $at, $f6 +/* 078070 7F043540 3C018005 */ lui $at, %hi(D_80052A7C) +/* 078074 7F043544 C42A2A7C */ lwc1 $f10, %lo(D_80052A7C)($at) +/* 078078 7F043548 46060102 */ mul.s $f4, $f0, $f6 +/* 07807C 7F04354C 3C018005 */ lui $at, %hi(D_80052A80) +/* 078080 7F043550 C4262A80 */ lwc1 $f6, %lo(D_80052A80)($at) +/* 078084 7F043554 460A2203 */ div.s $f8, $f4, $f10 +/* 078088 7F043558 46083103 */ div.s $f4, $f6, $f8 +/* 07808C 7F04355C 10000020 */ b .L7F0435E0 +/* 078090 7F043560 E6040064 */ swc1 $f4, 0x64($s0) +.L7F043564: +/* 078094 7F043564 C62A0020 */ lwc1 $f10, 0x20($s1) +.L7F043568: +/* 078098 7F043568 C4460008 */ lwc1 $f6, 8($v0) +/* 07809C 7F04356C C4440000 */ lwc1 $f4, ($v0) +/* 0780A0 7F043570 8E2F0014 */ lw $t7, 0x14($s1) +/* 0780A4 7F043574 46065202 */ mul.s $f8, $f10, $f6 +/* 0780A8 7F043578 C62A0018 */ lwc1 $f10, 0x18($s1) +/* 0780AC 7F04357C C5E00014 */ lwc1 $f0, 0x14($t7) +/* 0780B0 7F043580 E7B20030 */ swc1 $f18, 0x30($sp) +/* 0780B4 7F043584 460A2182 */ mul.s $f6, $f4, $f10 +/* 0780B8 7F043588 00000000 */ nop +/* 0780BC 7F04358C 46027102 */ mul.s $f4, $f14, $f2 +/* 0780C0 7F043590 46043280 */ add.s $f10, $f6, $f4 +/* 0780C4 7F043594 46000102 */ mul.s $f4, $f0, $f0 +/* 0780C8 7F043598 460A4180 */ add.s $f6, $f8, $f10 +/* 0780CC 7F04359C 0FC16B2C */ jal sub_GAME_7F05ACB0 +/* 0780D0 7F0435A0 46043303 */ div.s $f12, $f6, $f4 +/* 0780D4 7F0435A4 44808000 */ mtc1 $zero, $f16 +/* 0780D8 7F0435A8 C7B20030 */ lwc1 $f18, 0x30($sp) +/* 0780DC 7F0435AC 3C018005 */ lui $at, %hi(global_timer_delta) +/* 0780E0 7F0435B0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) +/* 0780E4 7F0435B4 46109032 */ c.eq.s $f18, $f16 +/* 0780E8 7F0435B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0780EC 7F0435BC 46080083 */ div.s $f2, $f0, $f8 +/* 0780F0 7F0435C0 45030005 */ bc1tl .L7F0435D8 +/* 0780F4 7F0435C4 44813000 */ mtc1 $at, $f6 +/* 0780F8 7F0435C8 46121283 */ div.s $f10, $f2, $f18 +/* 0780FC 7F0435CC 10000004 */ b .L7F0435E0 +/* 078100 7F0435D0 E60A0064 */ swc1 $f10, 0x64($s0) +/* 078104 7F0435D4 44813000 */ mtc1 $at, $f6 +.L7F0435D8: +/* 078108 7F0435D8 00000000 */ nop +/* 07810C 7F0435DC E6060064 */ swc1 $f6, 0x64($s0) +.L7F0435E0: +/* 078110 7F0435E0 C6000064 */ lwc1 $f0, 0x64($s0) +/* 078114 7F0435E4 3C018005 */ lui $at, %hi(D_80052A84) +/* 078118 7F0435E8 4610003C */ c.lt.s $f0, $f16 +/* 07811C 7F0435EC 00000000 */ nop +/* 078120 7F0435F0 45000004 */ bc1f .L7F043604 +/* 078124 7F0435F4 00000000 */ nop +/* 078128 7F0435F8 46000107 */ neg.s $f4, $f0 +/* 07812C 7F0435FC E6040064 */ swc1 $f4, 0x64($s0) +/* 078130 7F043600 C6000064 */ lwc1 $f0, 0x64($s0) +.L7F043604: +/* 078134 7F043604 C4222A84 */ lwc1 $f2, %lo(D_80052A84)($at) +/* 078138 7F043608 3C018005 */ lui $at, %hi(D_80052A88) +/* 07813C 7F04360C 4602003C */ c.lt.s $f0, $f2 +/* 078140 7F043610 00000000 */ nop +/* 078144 7F043614 45000003 */ bc1f .L7F043624 +/* 078148 7F043618 00000000 */ nop +/* 07814C 7F04361C 10000007 */ b .L7F04363C +/* 078150 7F043620 E6020064 */ swc1 $f2, 0x64($s0) +.L7F043624: +/* 078154 7F043624 C4222A88 */ lwc1 $f2, %lo(D_80052A88)($at) +/* 078158 7F043628 4600103C */ c.lt.s $f2, $f0 +/* 07815C 7F04362C 00000000 */ nop +/* 078160 7F043630 45020003 */ bc1fl .L7F043640 +/* 078164 7F043634 8FBF001C */ lw $ra, 0x1c($sp) +/* 078168 7F043638 E6020064 */ swc1 $f2, 0x64($s0) +.L7F04363C: +/* 07816C 7F04363C 8FBF001C */ lw $ra, 0x1c($sp) +.L7F043640: +/* 078170 7F043640 8FB00014 */ lw $s0, 0x14($sp) +/* 078174 7F043644 8FB10018 */ lw $s1, 0x18($sp) +/* 078178 7F043648 03E00008 */ jr $ra +/* 07817C 7F04364C 27BD0118 */ addiu $sp, $sp, 0x118 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F043650(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F043650 +/* 078180 7F043650 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 078184 7F043654 AFBF001C */ sw $ra, 0x1c($sp) +/* 078188 7F043658 AFB00018 */ sw $s0, 0x18($sp) +/* 07818C 7F04365C 8C820064 */ lw $v0, 0x64($a0) +/* 078190 7F043660 00808025 */ move $s0, $a0 +/* 078194 7F043664 304E0080 */ andi $t6, $v0, 0x80 +/* 078198 7F043668 51C0006F */ beql $t6, $zero, .L7F043828 +/* 07819C 7F04366C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0781A0 7F043670 8C83006C */ lw $v1, 0x6c($a0) +/* 0781A4 7F043674 2401FFDF */ li $at, -33 +/* 0781A8 7F043678 8C6F0000 */ lw $t7, ($v1) +/* 0781AC 7F04367C 31F80001 */ andi $t8, $t7, 1 +/* 0781B0 7F043680 53000052 */ beql $t8, $zero, .L7F0437CC +/* 0781B4 7F043684 00414024 */ and $t0, $v0, $at +/* 0781B8 7F043688 8C790090 */ lw $t9, 0x90($v1) +/* 0781BC 7F04368C 30480020 */ andi $t0, $v0, 0x20 +/* 0781C0 7F043690 5F20004E */ bgtzl $t9, .L7F0437CC +/* 0781C4 7F043694 00414024 */ and $t0, $v0, $at +/* 0781C8 7F043698 1100004B */ beqz $t0, .L7F0437C8 +/* 0781CC 7F04369C 3C0A8003 */ lui $t2, %hi(Throwing_knife_SFX) +/* 0781D0 7F0436A0 254A0B2C */ addiu $t2, %lo(Throwing_knife_SFX) # addiu $t2, $t2, 0xb2c +/* 0781D4 7F0436A4 8D410000 */ lw $at, ($t2) +/* 0781D8 7F0436A8 27A90038 */ addiu $t1, $sp, 0x38 +/* 0781DC 7F0436AC AD210000 */ sw $at, ($t1) +/* 0781E0 7F0436B0 95410004 */ lhu $at, 4($t2) +/* 0781E4 7F0436B4 A5210004 */ sh $at, 4($t1) +/* 0781E8 7F0436B8 8C8D006C */ lw $t5, 0x6c($a0) +/* 0781EC 7F0436BC 8DAE00A4 */ lw $t6, 0xa4($t5) +/* 0781F0 7F0436C0 0C002914 */ jal get_random_value +/* 0781F4 7F0436C4 AFAE0034 */ sw $t6, 0x34($sp) +/* 0781F8 7F0436C8 24010003 */ li $at, 3 +/* 0781FC 7F0436CC 0041001B */ divu $zero, $v0, $at +/* 078200 7F0436D0 00007810 */ mfhi $t7 +/* 078204 7F0436D4 AFAF0030 */ sw $t7, 0x30($sp) +/* 078208 7F0436D8 8E03006C */ lw $v1, 0x6c($s0) +/* 07820C 7F0436DC 3C198005 */ lui $t9, %hi(global_timer) +/* 078210 7F0436E0 8F39837C */ lw $t9, %lo(global_timer)($t9) +/* 078214 7F0436E4 8C7800A0 */ lw $t8, 0xa0($v1) +/* 078218 7F0436E8 8FA70034 */ lw $a3, 0x34($sp) +/* 07821C 7F0436EC 2728FFFA */ addiu $t0, $t9, -6 +/* 078220 7F0436F0 0308082A */ slt $at, $t8, $t0 +/* 078224 7F0436F4 1020000D */ beqz $at, .L7F04372C +/* 078228 7F0436F8 00075880 */ sll $t3, $a3, 2 +/* 07822C 7F0436FC 006B4821 */ addu $t1, $v1, $t3 +/* 078230 7F043700 8D240098 */ lw $a0, 0x98($t1) +/* 078234 7F043704 5080000A */ beql $a0, $zero, .L7F043730 +/* 078238 7F043708 8FA70034 */ lw $a3, 0x34($sp) +/* 07823C 7F04370C 0C00237C */ jal sfxGetArg0Unk3F +/* 078240 7F043710 AFAB002C */ sw $t3, 0x2c($sp) +/* 078244 7F043714 10400005 */ beqz $v0, .L7F04372C +/* 078248 7F043718 8FA7002C */ lw $a3, 0x2c($sp) +/* 07824C 7F04371C 8E0A006C */ lw $t2, 0x6c($s0) +/* 078250 7F043720 01476021 */ addu $t4, $t2, $a3 +/* 078254 7F043724 0C002408 */ jal sfxDeactivate +/* 078258 7F043728 8D840098 */ lw $a0, 0x98($t4) +.L7F04372C: +/* 07825C 7F04372C 8FA70034 */ lw $a3, 0x34($sp) +.L7F043730: +/* 078260 7F043730 8E0E006C */ lw $t6, 0x6c($s0) +/* 078264 7F043734 00076880 */ sll $t5, $a3, 2 +/* 078268 7F043738 01CD7821 */ addu $t7, $t6, $t5 +/* 07826C 7F04373C 8DF90098 */ lw $t9, 0x98($t7) +/* 078270 7F043740 57200039 */ bnezl $t9, .L7F043828 +/* 078274 7F043744 8FBF001C */ lw $ra, 0x1c($sp) +/* 078278 7F043748 0FC2FF01 */ jal get_controls_locked_flag +/* 07827C 7F04374C AFAD002C */ sw $t5, 0x2c($sp) +/* 078280 7F043750 14400034 */ bnez $v0, .L7F043824 +/* 078284 7F043754 8FA7002C */ lw $a3, 0x2c($sp) +/* 078288 7F043758 8FB80030 */ lw $t8, 0x30($sp) +/* 07828C 7F04375C 8E0B006C */ lw $t3, 0x6c($s0) +/* 078290 7F043760 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 078294 7F043764 00184040 */ sll $t0, $t8, 1 +/* 078298 7F043768 03A82821 */ addu $a1, $sp, $t0 +/* 07829C 7F04376C 84A50038 */ lh $a1, 0x38($a1) +/* 0782A0 7F043770 01673021 */ addu $a2, $t3, $a3 +/* 0782A4 7F043774 24C60098 */ addiu $a2, $a2, 0x98 +/* 0782A8 7F043778 AFA7002C */ sw $a3, 0x2c($sp) +/* 0782AC 7F04377C 0C002382 */ jal play_sfx_a1 +/* 0782B0 7F043780 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0782B4 7F043784 8FA7002C */ lw $a3, 0x2c($sp) +/* 0782B8 7F043788 8E09006C */ lw $t1, 0x6c($s0) +/* 0782BC 7F04378C 8E050010 */ lw $a1, 0x10($s0) +/* 0782C0 7F043790 01275021 */ addu $t2, $t1, $a3 +/* 0782C4 7F043794 8D440098 */ lw $a0, 0x98($t2) +/* 0782C8 7F043798 0FC14E84 */ jal sub_GAME_7F053A10 +/* 0782CC 7F04379C 24A50008 */ addiu $a1, $a1, 8 +/* 0782D0 7F0437A0 3C0C8005 */ lui $t4, %hi(global_timer) +/* 0782D4 7F0437A4 8D8C837C */ lw $t4, %lo(global_timer)($t4) +/* 0782D8 7F0437A8 8E0D006C */ lw $t5, 0x6c($s0) +/* 0782DC 7F0437AC 240F0001 */ li $t7, 1 +/* 0782E0 7F0437B0 ADAC00A0 */ sw $t4, 0xa0($t5) +/* 0782E4 7F0437B4 8FAE0034 */ lw $t6, 0x34($sp) +/* 0782E8 7F0437B8 8E18006C */ lw $t8, 0x6c($s0) +/* 0782EC 7F0437BC 01EEC823 */ subu $t9, $t7, $t6 +/* 0782F0 7F0437C0 10000018 */ b .L7F043824 +/* 0782F4 7F0437C4 AF1900A4 */ sw $t9, 0xa4($t8) +.L7F0437C8: +/* 0782F8 7F0437C8 00414024 */ and $t0, $v0, $at +.L7F0437CC: +/* 0782FC 7F0437CC AE080064 */ sw $t0, 0x64($s0) +/* 078300 7F0437D0 8C640098 */ lw $a0, 0x98($v1) +/* 078304 7F0437D4 50800009 */ beql $a0, $zero, .L7F0437FC +/* 078308 7F0437D8 8E09006C */ lw $t1, 0x6c($s0) +/* 07830C 7F0437DC 0C00237C */ jal sfxGetArg0Unk3F +/* 078310 7F0437E0 00000000 */ nop +/* 078314 7F0437E4 50400005 */ beql $v0, $zero, .L7F0437FC +/* 078318 7F0437E8 8E09006C */ lw $t1, 0x6c($s0) +/* 07831C 7F0437EC 8E0B006C */ lw $t3, 0x6c($s0) +/* 078320 7F0437F0 0C002408 */ jal sfxDeactivate +/* 078324 7F0437F4 8D640098 */ lw $a0, 0x98($t3) +/* 078328 7F0437F8 8E09006C */ lw $t1, 0x6c($s0) +.L7F0437FC: +/* 07832C 7F0437FC 8D24009C */ lw $a0, 0x9c($t1) +/* 078330 7F043800 50800009 */ beql $a0, $zero, .L7F043828 +/* 078334 7F043804 8FBF001C */ lw $ra, 0x1c($sp) +/* 078338 7F043808 0C00237C */ jal sfxGetArg0Unk3F +/* 07833C 7F04380C 00000000 */ nop +/* 078340 7F043810 50400005 */ beql $v0, $zero, .L7F043828 +/* 078344 7F043814 8FBF001C */ lw $ra, 0x1c($sp) +/* 078348 7F043818 8E0A006C */ lw $t2, 0x6c($s0) +/* 07834C 7F04381C 0C002408 */ jal sfxDeactivate +/* 078350 7F043820 8D44009C */ lw $a0, 0x9c($t2) +.L7F043824: +/* 078354 7F043824 8FBF001C */ lw $ra, 0x1c($sp) +.L7F043828: +/* 078358 7F043828 8FB00018 */ lw $s0, 0x18($sp) +/* 07835C 7F04382C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 078360 7F043830 03E00008 */ jr $ra +/* 078364 7F043834 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F043838(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052A8C +.word 0xbfc90fdb /*-1.5707964*/ +glabel D_80052A90 +.word 0xbfc90fdb /*-1.5707964*/ +.text +glabel sub_GAME_7F043838 +/* 078368 7F043838 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 07836C 7F04383C AFBF0014 */ sw $ra, 0x14($sp) +/* 078370 7F043840 AFA5012C */ sw $a1, 0x12c($sp) +/* 078374 7F043844 C4820000 */ lwc1 $f2, ($a0) +/* 078378 7F043848 C48E0004 */ lwc1 $f14, 4($a0) +/* 07837C 7F04384C C4800008 */ lwc1 $f0, 8($a0) +/* 078380 7F043850 46021102 */ mul.s $f4, $f2, $f2 +/* 078384 7F043854 AFA40128 */ sw $a0, 0x128($sp) +/* 078388 7F043858 460E7182 */ mul.s $f6, $f14, $f14 +/* 07838C 7F04385C 46062200 */ add.s $f8, $f4, $f6 +/* 078390 7F043860 46000282 */ mul.s $f10, $f0, $f0 +/* 078394 7F043864 0C007DF8 */ jal sqrtf +/* 078398 7F043868 46085300 */ add.s $f12, $f10, $f8 +/* 07839C 7F04386C 8FA40128 */ lw $a0, 0x128($sp) +/* 0783A0 7F043870 44801000 */ mtc1 $zero, $f2 +/* 0783A4 7F043874 C4840000 */ lwc1 $f4, ($a0) +/* 0783A8 7F043878 C4860004 */ lwc1 $f6, 4($a0) +/* 0783AC 7F04387C C48A0008 */ lwc1 $f10, 8($a0) +/* 0783B0 7F043880 46002383 */ div.s $f14, $f4, $f0 +/* 0783B4 7F043884 46003483 */ div.s $f18, $f6, $f0 +/* 0783B8 7F043888 46027032 */ c.eq.s $f14, $f2 +/* 0783BC 7F04388C 00000000 */ nop +/* 0783C0 7F043890 4500000C */ bc1f .L7F0438C4 +/* 0783C4 7F043894 46005403 */ div.s $f16, $f10, $f0 +/* 0783C8 7F043898 46028032 */ c.eq.s $f16, $f2 +/* 0783CC 7F04389C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0783D0 7F0438A0 45000008 */ bc1f .L7F0438C4 +/* 0783D4 7F0438A4 00000000 */ nop +/* 0783D8 7F0438A8 44814000 */ mtc1 $at, $f8 +/* 0783DC 7F0438AC E7A20124 */ swc1 $f2, 0x124($sp) +/* 0783E0 7F0438B0 E7A20120 */ swc1 $f2, 0x120($sp) +/* 0783E4 7F0438B4 E7B2011C */ swc1 $f18, 0x11c($sp) +/* 0783E8 7F0438B8 E7A20114 */ swc1 $f2, 0x114($sp) +/* 0783EC 7F0438BC 10000016 */ b .L7F043918 +/* 0783F0 7F0438C0 E7A80118 */ swc1 $f8, 0x118($sp) +.L7F0438C4: +/* 0783F4 7F0438C4 460E7102 */ mul.s $f4, $f14, $f14 +/* 0783F8 7F0438C8 E7AE010C */ swc1 $f14, 0x10c($sp) +/* 0783FC 7F0438CC E7B00104 */ swc1 $f16, 0x104($sp) +/* 078400 7F0438D0 46108182 */ mul.s $f6, $f16, $f16 +/* 078404 7F0438D4 E7B20108 */ swc1 $f18, 0x108($sp) +/* 078408 7F0438D8 0C007DF8 */ jal sqrtf +/* 07840C 7F0438DC 46062300 */ add.s $f12, $f4, $f6 +/* 078410 7F0438E0 C7AE010C */ lwc1 $f14, 0x10c($sp) +/* 078414 7F0438E4 C7B00104 */ lwc1 $f16, 0x104($sp) +/* 078418 7F0438E8 C7B20108 */ lwc1 $f18, 0x108($sp) +/* 07841C 7F0438EC 46007083 */ div.s $f2, $f14, $f0 +/* 078420 7F0438F0 46000107 */ neg.s $f4, $f0 +/* 078424 7F0438F4 E7A40120 */ swc1 $f4, 0x120($sp) +/* 078428 7F0438F8 46008303 */ div.s $f12, $f16, $f0 +/* 07842C 7F0438FC 46029202 */ mul.s $f8, $f18, $f2 +/* 078430 7F043900 46001287 */ neg.s $f10, $f2 +/* 078434 7F043904 E7AA0114 */ swc1 $f10, 0x114($sp) +/* 078438 7F043908 E7A80124 */ swc1 $f8, 0x124($sp) +/* 07843C 7F04390C 460C9182 */ mul.s $f6, $f18, $f12 +/* 078440 7F043910 E7AC0118 */ swc1 $f12, 0x118($sp) +/* 078444 7F043914 E7A6011C */ swc1 $f6, 0x11c($sp) +.L7F043918: +/* 078448 7F043918 C7AC0118 */ lwc1 $f12, 0x118($sp) +/* 07844C 7F04391C 0FC16A8C */ jal convert_angle_using_inverse +/* 078450 7F043920 C7AE0114 */ lwc1 $f14, 0x114($sp) +/* 078454 7F043924 E7A000F4 */ swc1 $f0, 0xf4($sp) +/* 078458 7F043928 46000307 */ neg.s $f12, $f0 +/* 07845C 7F04392C 0FC1617F */ jal sub_GAME_7F0585FC +/* 078460 7F043930 27A500B0 */ addiu $a1, $sp, 0xb0 +/* 078464 7F043934 C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 078468 7F043938 C7A80120 */ lwc1 $f8, 0x120($sp) +/* 07846C 7F04393C C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 078470 7F043940 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 078474 7F043944 27A50024 */ addiu $a1, $sp, 0x24 +/* 078478 7F043948 E7AA0024 */ swc1 $f10, 0x24($sp) +/* 07847C 7F04394C E7A80028 */ swc1 $f8, 0x28($sp) +/* 078480 7F043950 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 078484 7F043954 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 078488 7F043958 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* 07848C 7F04395C 0FC16A8C */ jal convert_angle_using_inverse +/* 078490 7F043960 C7AE0028 */ lwc1 $f14, 0x28($sp) +/* 078494 7F043964 3C018005 */ lui $at, %hi(D_80052A8C) +/* 078498 7F043968 C4262A8C */ lwc1 $f6, %lo(D_80052A8C)($at) +/* 07849C 7F04396C C7AA00F4 */ lwc1 $f10, 0xf4($sp) +/* 0784A0 7F043970 E7A000F0 */ swc1 $f0, 0xf0($sp) +/* 0784A4 7F043974 27A50070 */ addiu $a1, $sp, 0x70 +/* 0784A8 7F043978 0FC1617F */ jal sub_GAME_7F0585FC +/* 0784AC 7F04397C 460A3300 */ add.s $f12, $f6, $f10 +/* 0784B0 7F043980 3C018005 */ lui $at, %hi(D_80052A90) +/* 0784B4 7F043984 C4282A90 */ lwc1 $f8, %lo(D_80052A90)($at) +/* 0784B8 7F043988 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 0784BC 7F04398C 27A50030 */ addiu $a1, $sp, 0x30 +/* 0784C0 7F043990 0FC1615C */ jal sub_GAME_7F058570 +/* 0784C4 7F043994 46044301 */ sub.s $f12, $f8, $f4 +/* 0784C8 7F043998 27A40070 */ addiu $a0, $sp, 0x70 +/* 0784CC 7F04399C 27A50030 */ addiu $a1, $sp, 0x30 +/* 0784D0 7F0439A0 0FC16032 */ jal sub_GAME_7F0580C8 +/* 0784D4 7F0439A4 8FA6012C */ lw $a2, 0x12c($sp) +/* 0784D8 7F0439A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0784DC 7F0439AC 27BD0128 */ addiu $sp, $sp, 0x128 +/* 0784E0 7F0439B0 03E00008 */ jr $ra +/* 0784E4 7F0439B4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0439B8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0439B8 +/* 0784E8 7F0439B8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0784EC 7F0439BC AFB00018 */ sw $s0, 0x18($sp) +/* 0784F0 7F0439C0 00808025 */ move $s0, $a0 +/* 0784F4 7F0439C4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0784F8 7F0439C8 AFA5006C */ sw $a1, 0x6c($sp) +/* 0784FC 7F0439CC AFA60070 */ sw $a2, 0x70($sp) +/* 078500 7F0439D0 27A50028 */ addiu $a1, $sp, 0x28 +/* 078504 7F0439D4 0FC10E0E */ jal sub_GAME_7F043838 +/* 078508 7F0439D8 00E02025 */ move $a0, $a3 +/* 07850C 7F0439DC 8E0E0014 */ lw $t6, 0x14($s0) +/* 078510 7F0439E0 27A50028 */ addiu $a1, $sp, 0x28 +/* 078514 7F0439E4 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 078518 7F0439E8 C5CC0014 */ lwc1 $f12, 0x14($t6) +/* 07851C 7F0439EC 02002025 */ move $a0, $s0 +/* 078520 7F0439F0 8FA5006C */ lw $a1, 0x6c($sp) +/* 078524 7F0439F4 27A60028 */ addiu $a2, $sp, 0x28 +/* 078528 7F0439F8 0FC101D5 */ jal sub_GAME_7F040754 +/* 07852C 7F0439FC 8FA70070 */ lw $a3, 0x70($sp) +/* 078530 7F043A00 8E0F0014 */ lw $t7, 0x14($s0) +/* 078534 7F043A04 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 078538 7F043A08 8DE40008 */ lw $a0, 8($t7) +/* 07853C 7F043A0C 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 078540 7F043A10 00402025 */ move $a0, $v0 +/* 078544 7F043A14 C6060028 */ lwc1 $f6, 0x28($s0) +/* 078548 7F043A18 C6040058 */ lwc1 $f4, 0x58($s0) +/* 07854C 7F043A1C C612002C */ lwc1 $f18, 0x2c($s0) +/* 078550 7F043A20 46060202 */ mul.s $f8, $f0, $f6 +/* 078554 7F043A24 C610005C */ lwc1 $f16, 0x5c($s0) +/* 078558 7F043A28 02002025 */ move $a0, $s0 +/* 07855C 7F043A2C 46120182 */ mul.s $f6, $f0, $f18 +/* 078560 7F043A30 46082281 */ sub.s $f10, $f4, $f8 +/* 078564 7F043A34 C6080060 */ lwc1 $f8, 0x60($s0) +/* 078568 7F043A38 46068101 */ sub.s $f4, $f16, $f6 +/* 07856C 7F043A3C E60A0058 */ swc1 $f10, 0x58($s0) +/* 078570 7F043A40 C60A0030 */ lwc1 $f10, 0x30($s0) +/* 078574 7F043A44 E604005C */ swc1 $f4, 0x5c($s0) +/* 078578 7F043A48 460A0482 */ mul.s $f18, $f0, $f10 +/* 07857C 7F043A4C 46124401 */ sub.s $f16, $f8, $f18 +/* 078580 7F043A50 0FC10121 */ jal sub_GAME_7F040484 +/* 078584 7F043A54 E6100060 */ swc1 $f16, 0x60($s0) +/* 078588 7F043A58 8FBF001C */ lw $ra, 0x1c($sp) +/* 07858C 7F043A5C 8FB00018 */ lw $s0, 0x18($sp) +/* 078590 7F043A60 27BD0068 */ addiu $sp, $sp, 0x68 +/* 078594 7F043A64 03E00008 */ jr $ra +/* 078598 7F043A68 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F043A6C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F043A6C +/* 07859C 7F043A6C 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 0785A0 7F043A70 AFBF001C */ sw $ra, 0x1c($sp) +/* 0785A4 7F043A74 AFB10018 */ sw $s1, 0x18($sp) +/* 0785A8 7F043A78 AFB00014 */ sw $s0, 0x14($sp) +/* 0785AC 7F043A7C AFA500F4 */ sw $a1, 0xf4($sp) +/* 0785B0 7F043A80 AFA600F8 */ sw $a2, 0xf8($sp) +/* 0785B4 7F043A84 AFA700FC */ sw $a3, 0xfc($sp) +/* 0785B8 7F043A88 90AF0001 */ lbu $t7, 1($a1) +/* 0785BC 7F043A8C 00808825 */ move $s1, $a0 +/* 0785C0 7F043A90 31F80002 */ andi $t8, $t7, 2 +/* 0785C4 7F043A94 53000034 */ beql $t8, $zero, .L7F043B68 +/* 0785C8 7F043A98 00001025 */ move $v0, $zero +/* 0785CC 7F043A9C 0FC0FFA6 */ jal sub_GAME_7F03FE98 +/* 0785D0 7F043AA0 8C900004 */ lw $s0, 4($a0) +/* 0785D4 7F043AA4 1040002F */ beqz $v0, .L7F043B64 +/* 0785D8 7F043AA8 AE02006C */ sw $v0, 0x6c($s0) +/* 0785DC 7F043AAC 8FA400F8 */ lw $a0, 0xf8($sp) +/* 0785E0 7F043AB0 8FA500FC */ lw $a1, 0xfc($sp) +/* 0785E4 7F043AB4 0FC1B198 */ jal sub_GAME_7F06C660 +/* 0785E8 7F043AB8 00003025 */ move $a2, $zero +/* 0785EC 7F043ABC AFA20028 */ sw $v0, 0x28($sp) +/* 0785F0 7F043AC0 8E190064 */ lw $t9, 0x64($s0) +/* 0785F4 7F043AC4 02202025 */ move $a0, $s1 +/* 0785F8 7F043AC8 37280040 */ ori $t0, $t9, 0x40 +/* 0785FC 7F043ACC 0FC0F863 */ jal sub_GAME_7F03E18C +/* 078600 7F043AD0 AE080064 */ sw $t0, 0x64($s0) +/* 078604 7F043AD4 0FC0E94E */ jal sub_GAME_7F03A538 +/* 078608 7F043AD8 02202025 */ move $a0, $s1 +/* 07860C 7F043ADC 0FC0E905 */ jal unset_stateflag_0x04_for_posdata +/* 078610 7F043AE0 02202025 */ move $a0, $s1 +/* 078614 7F043AE4 8FA900F8 */ lw $t1, 0xf8($sp) +/* 078618 7F043AE8 8E0A0014 */ lw $t2, 0x14($s0) +/* 07861C 7F043AEC 02202025 */ move $a0, $s1 +/* 078620 7F043AF0 AD490018 */ sw $t1, 0x18($t2) +/* 078624 7F043AF4 8E0C0014 */ lw $t4, 0x14($s0) +/* 078628 7F043AF8 8FAB00FC */ lw $t3, 0xfc($sp) +/* 07862C 7F043AFC AD8B001C */ sw $t3, 0x1c($t4) +/* 078630 7F043B00 0FC0E969 */ jal sub_GAME_7F03A5A4 +/* 078634 7F043B04 8FA500F4 */ lw $a1, 0xf4($sp) +/* 078638 7F043B08 27B100AC */ addiu $s1, $sp, 0xac +/* 07863C 7F043B0C 02202825 */ move $a1, $s1 +/* 078640 7F043B10 0FC16008 */ jal sub_GAME_7F058020 +/* 078644 7F043B14 26040018 */ addiu $a0, $s0, 0x18 +/* 078648 7F043B18 26040058 */ addiu $a0, $s0, 0x58 +/* 07864C 7F043B1C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 078650 7F043B20 02202825 */ move $a1, $s1 +/* 078654 7F043B24 0FC1E111 */ jal sub_GAME_7F078444 +/* 078658 7F043B28 00000000 */ nop +/* 07865C 7F043B2C 00402025 */ move $a0, $v0 +/* 078660 7F043B30 8FA50028 */ lw $a1, 0x28($sp) +/* 078664 7F043B34 0FC16063 */ jal sub_GAME_7F05818C +/* 078668 7F043B38 27A6006C */ addiu $a2, $sp, 0x6c +/* 07866C 7F043B3C 27A4006C */ addiu $a0, $sp, 0x6c +/* 078670 7F043B40 0FC167EE */ jal sub_GAME_7F059FB8 +/* 078674 7F043B44 27A5002C */ addiu $a1, $sp, 0x2c +/* 078678 7F043B48 8E06006C */ lw $a2, 0x6c($s0) +/* 07867C 7F043B4C 27A4002C */ addiu $a0, $sp, 0x2c +/* 078680 7F043B50 02202825 */ move $a1, $s1 +/* 078684 7F043B54 0FC16063 */ jal sub_GAME_7F05818C +/* 078688 7F043B58 24C60004 */ addiu $a2, $a2, 4 +/* 07868C 7F043B5C 10000002 */ b .L7F043B68 +/* 078690 7F043B60 24020001 */ li $v0, 1 +.L7F043B64: +/* 078694 7F043B64 00001025 */ move $v0, $zero +.L7F043B68: +/* 078698 7F043B68 8FBF001C */ lw $ra, 0x1c($sp) +/* 07869C 7F043B6C 8FB00014 */ lw $s0, 0x14($sp) +/* 0786A0 7F043B70 8FB10018 */ lw $s1, 0x18($sp) +/* 0786A4 7F043B74 03E00008 */ jr $ra +/* 0786A8 7F043B78 27BD00F0 */ addiu $sp, $sp, 0xf0 +) +#endif + + + + + +#ifdef NONMATCHING +void generate_explosion_at_position(void) { + +} +#else + +#ifdef VERSION_US +GLOBAL_ASM( +.text +glabel generate_explosion_at_position +/* 0786AC 7F043B7C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0786B0 7F043B80 AFBF002C */ sw $ra, 0x2c($sp) +/* 0786B4 7F043B84 AFB00028 */ sw $s0, 0x28($sp) +/* 0786B8 7F043B88 AFA50064 */ sw $a1, 0x64($sp) +/* 0786BC 7F043B8C 8C880004 */ lw $t0, 4($a0) +/* 0786C0 7F043B90 3C010006 */ lui $at, 6 +/* 0786C4 7F043B94 00808025 */ move $s0, $a0 +/* 0786C8 7F043B98 8D0E0064 */ lw $t6, 0x64($t0) +/* 0786CC 7F043B9C 2619002C */ addiu $t9, $s0, 0x2c +/* 0786D0 7F043BA0 01C17824 */ and $t7, $t6, $at +/* 0786D4 7F043BA4 000FC442 */ srl $t8, $t7, 0x11 +/* 0786D8 7F043BA8 AFB80058 */ sw $t8, 0x58($sp) +/* 0786DC 7F043BAC 8C86001C */ lw $a2, 0x1c($a0) +/* 0786E0 7F043BB0 00002025 */ move $a0, $zero +/* 0786E4 7F043BB4 50C00056 */ beql $a2, $zero, .L7F043D10 +/* 0786E8 7F043BB8 8D020008 */ lw $v0, 8($t0) +/* 0786EC 7F043BBC 8CC2001C */ lw $v0, 0x1c($a2) +/* 0786F0 7F043BC0 00C01825 */ move $v1, $a2 +/* 0786F4 7F043BC4 50400006 */ beql $v0, $zero, .L7F043BE0 +/* 0786F8 7F043BC8 8C790014 */ lw $t9, 0x14($v1) +/* 0786FC 7F043BCC 00401825 */ move $v1, $v0 +.L7F043BD0: +/* 078700 7F043BD0 8C42001C */ lw $v0, 0x1c($v0) +/* 078704 7F043BD4 5440FFFE */ bnezl $v0, .L7F043BD0 +/* 078708 7F043BD8 00401825 */ move $v1, $v0 +/* 07870C 7F043BDC 8C790014 */ lw $t9, 0x14($v1) +.L7F043BE0: +/* 078710 7F043BE0 AFB90050 */ sw $t9, 0x50($sp) +/* 078714 7F043BE4 92090001 */ lbu $t1, 1($s0) +/* 078718 7F043BE8 312A0002 */ andi $t2, $t1, 2 +/* 07871C 7F043BEC 51400014 */ beql $t2, $zero, .L7F043C40 +/* 078720 7F043BF0 C46A0008 */ lwc1 $f10, 8($v1) +/* 078724 7F043BF4 8D040014 */ lw $a0, 0x14($t0) +/* 078728 7F043BF8 AFA8005C */ sw $t0, 0x5c($sp) +/* 07872C 7F043BFC 0FC1B1A8 */ jal getsubmatrix +/* 078730 7F043C00 AFA30054 */ sw $v1, 0x54($sp) +/* 078734 7F043C04 C4440030 */ lwc1 $f4, 0x30($v0) +/* 078738 7F043C08 E7A40044 */ swc1 $f4, 0x44($sp) +/* 07873C 7F043C0C C4460034 */ lwc1 $f6, 0x34($v0) +/* 078740 7F043C10 E7A60048 */ swc1 $f6, 0x48($sp) +/* 078744 7F043C14 C4480038 */ lwc1 $f8, 0x38($v0) +/* 078748 7F043C18 0FC1E111 */ jal sub_GAME_7F078444 +/* 07874C 7F043C1C E7A8004C */ swc1 $f8, 0x4c($sp) +/* 078750 7F043C20 27B00044 */ addiu $s0, $sp, 0x44 +/* 078754 7F043C24 02002825 */ move $a1, $s0 +/* 078758 7F043C28 0FC1611D */ jal sub_GAME_7F058474 +/* 07875C 7F043C2C 00402025 */ move $a0, $v0 +/* 078760 7F043C30 8FA30054 */ lw $v1, 0x54($sp) +/* 078764 7F043C34 10000008 */ b .L7F043C58 +/* 078768 7F043C38 8FA8005C */ lw $t0, 0x5c($sp) +/* 07876C 7F043C3C C46A0008 */ lwc1 $f10, 8($v1) +.L7F043C40: +/* 078770 7F043C40 27B00044 */ addiu $s0, $sp, 0x44 +/* 078774 7F043C44 E7AA0044 */ swc1 $f10, 0x44($sp) +/* 078778 7F043C48 C470000C */ lwc1 $f16, 0xc($v1) +/* 07877C 7F043C4C E7B00048 */ swc1 $f16, 0x48($sp) +/* 078780 7F043C50 C4720010 */ lwc1 $f18, 0x10($v1) +/* 078784 7F043C54 E7B2004C */ swc1 $f18, 0x4c($sp) +.L7F043C58: +/* 078788 7F043C58 906B0001 */ lbu $t3, 1($v1) +/* 07878C 7F043C5C 27A40050 */ addiu $a0, $sp, 0x50 +/* 078790 7F043C60 8FA70044 */ lw $a3, 0x44($sp) +/* 078794 7F043C64 316C0008 */ andi $t4, $t3, 8 +/* 078798 7F043C68 1580001A */ bnez $t4, .L7F043CD4 +/* 07879C 7F043C6C C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 0787A0 7F043C70 8C650008 */ lw $a1, 8($v1) +/* 0787A4 7F043C74 8C660010 */ lw $a2, 0x10($v1) +/* 0787A8 7F043C78 AFA8005C */ sw $t0, 0x5c($sp) +/* 0787AC 7F043C7C AFA30054 */ sw $v1, 0x54($sp) +/* 0787B0 7F043C80 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 0787B4 7F043C84 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0787B8 7F043C88 8FA30054 */ lw $v1, 0x54($sp) +/* 0787BC 7F043C8C 10400011 */ beqz $v0, .L7F043CD4 +/* 0787C0 7F043C90 8FA8005C */ lw $t0, 0x5c($sp) +/* 0787C4 7F043C94 8D0D0008 */ lw $t5, 8($t0) +/* 0787C8 7F043C98 8FB80058 */ lw $t8, 0x58($sp) +/* 0787CC 7F043C9C 2479002C */ addiu $t9, $v1, 0x2c +/* 0787D0 7F043CA0 31AE000E */ andi $t6, $t5, 0xe +/* 0787D4 7F043CA4 2DCF0001 */ sltiu $t7, $t6, 1 +/* 0787D8 7F043CA8 AFAF0010 */ sw $t7, 0x10($sp) +/* 0787DC 7F043CAC AFB90018 */ sw $t9, 0x18($sp) +/* 0787E0 7F043CB0 AFA0001C */ sw $zero, 0x1c($sp) +/* 0787E4 7F043CB4 00002025 */ move $a0, $zero +/* 0787E8 7F043CB8 02002825 */ move $a1, $s0 +/* 0787EC 7F043CBC 8FA60050 */ lw $a2, 0x50($sp) +/* 0787F0 7F043CC0 87A70066 */ lh $a3, 0x66($sp) +/* 0787F4 7F043CC4 0FC27094 */ jal sub_GAME_7F09C250 +/* 0787F8 7F043CC8 AFB80014 */ sw $t8, 0x14($sp) +/* 0787FC 7F043CCC 10000024 */ b .L7F043D60 +/* 078800 7F043CD0 8FBF002C */ lw $ra, 0x2c($sp) +.L7F043CD4: +/* 078804 7F043CD4 8FA90058 */ lw $t1, 0x58($sp) +/* 078808 7F043CD8 246A002C */ addiu $t2, $v1, 0x2c +/* 07880C 7F043CDC 240B0001 */ li $t3, 1 +/* 078810 7F043CE0 AFAB001C */ sw $t3, 0x1c($sp) +/* 078814 7F043CE4 AFAA0018 */ sw $t2, 0x18($sp) +/* 078818 7F043CE8 00002025 */ move $a0, $zero +/* 07881C 7F043CEC 02002825 */ move $a1, $s0 +/* 078820 7F043CF0 8FA60050 */ lw $a2, 0x50($sp) +/* 078824 7F043CF4 87A70066 */ lh $a3, 0x66($sp) +/* 078828 7F043CF8 AFA00010 */ sw $zero, 0x10($sp) +/* 07882C 7F043CFC 0FC27094 */ jal sub_GAME_7F09C250 +/* 078830 7F043D00 AFA90014 */ sw $t1, 0x14($sp) +/* 078834 7F043D04 10000016 */ b .L7F043D60 +/* 078838 7F043D08 8FBF002C */ lw $ra, 0x2c($sp) +/* 07883C 7F043D0C 8D020008 */ lw $v0, 8($t0) +.L7F043D10: +/* 078840 7F043D10 304C000E */ andi $t4, $v0, 0xe +/* 078844 7F043D14 2D820001 */ sltiu $v0, $t4, 1 +/* 078848 7F043D18 50400005 */ beql $v0, $zero, .L7F043D30 +/* 07884C 7F043D1C 8FB80058 */ lw $t8, 0x58($sp) +/* 078850 7F043D20 92020001 */ lbu $v0, 1($s0) +/* 078854 7F043D24 304E0008 */ andi $t6, $v0, 8 +/* 078858 7F043D28 2DC20001 */ sltiu $v0, $t6, 1 +/* 07885C 7F043D2C 8FB80058 */ lw $t8, 0x58($sp) +.L7F043D30: +/* 078860 7F043D30 8E060014 */ lw $a2, 0x14($s0) +/* 078864 7F043D34 AFB90018 */ sw $t9, 0x18($sp) +/* 078868 7F043D38 AFA20010 */ sw $v0, 0x10($sp) +/* 07886C 7F043D3C AFB80014 */ sw $t8, 0x14($sp) +/* 078870 7F043D40 92090001 */ lbu $t1, 1($s0) +/* 078874 7F043D44 25050058 */ addiu $a1, $t0, 0x58 +/* 078878 7F043D48 87A70066 */ lh $a3, 0x66($sp) +/* 07887C 7F043D4C 312A0008 */ andi $t2, $t1, 8 +/* 078880 7F043D50 000A582B */ sltu $t3, $zero, $t2 +/* 078884 7F043D54 0FC27094 */ jal sub_GAME_7F09C250 +/* 078888 7F043D58 AFAB001C */ sw $t3, 0x1c($sp) +/* 07888C 7F043D5C 8FBF002C */ lw $ra, 0x2c($sp) +.L7F043D60: +/* 078890 7F043D60 8FB00028 */ lw $s0, 0x28($sp) +/* 078894 7F043D64 27BD0060 */ addiu $sp, $sp, 0x60 +/* 078898 7F043D68 03E00008 */ jr $ra +/* 07889C 7F043D6C 00000000 */ nop +) +#endif + +#ifdef VERSION_JP +GLOBAL_ASM( +.text +glabel generate_explosion_at_position +/* 0789EC 7F043E7C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0789F0 7F043E80 AFBF002C */ sw $ra, 0x2c($sp) +/* 0789F4 7F043E84 AFB00028 */ sw $s0, 0x28($sp) +/* 0789F8 7F043E88 AFA50064 */ sw $a1, 0x64($sp) +/* 0789FC 7F043E8C 8C880004 */ lw $t0, 4($a0) +/* 078A00 7F043E90 3C010006 */ lui $at, 6 +/* 078A04 7F043E94 00808025 */ move $s0, $a0 +/* 078A08 7F043E98 8D0E0064 */ lw $t6, 0x64($t0) +/* 078A0C 7F043E9C 2619002C */ addiu $t9, $s0, 0x2c +/* 078A10 7F043EA0 01C17824 */ and $t7, $t6, $at +/* 078A14 7F043EA4 000FC442 */ srl $t8, $t7, 0x11 +/* 078A18 7F043EA8 AFB80058 */ sw $t8, 0x58($sp) +/* 078A1C 7F043EAC 8C86001C */ lw $a2, 0x1c($a0) +/* 078A20 7F043EB0 00002025 */ move $a0, $zero +/* 078A24 7F043EB4 50C00056 */ beql $a2, $zero, .L7F044010 +/* 078A28 7F043EB8 8D020008 */ lw $v0, 8($t0) +/* 078A2C 7F043EBC 8CC2001C */ lw $v0, 0x1c($a2) +/* 078A30 7F043EC0 00C01825 */ move $v1, $a2 +/* 078A34 7F043EC4 50400006 */ beql $v0, $zero, .L7F043EE0 +/* 078A38 7F043EC8 8C790014 */ lw $t9, 0x14($v1) +/* 078A3C 7F043ECC 00401825 */ move $v1, $v0 +.L7F043ED0: +/* 078A40 7F043ED0 8C42001C */ lw $v0, 0x1c($v0) +/* 078A44 7F043ED4 5440FFFE */ bnezl $v0, .L7F043ED0 +/* 078A48 7F043ED8 00401825 */ move $v1, $v0 +/* 078A4C 7F043EDC 8C790014 */ lw $t9, 0x14($v1) +.L7F043EE0: +/* 078A50 7F043EE0 AFB9004C */ sw $t9, 0x4c($sp) +/* 078A54 7F043EE4 92090001 */ lbu $t1, 1($s0) +/* 078A58 7F043EE8 312A0002 */ andi $t2, $t1, 2 +/* 078A5C 7F043EEC 51400014 */ beql $t2, $zero, .L7F043F40 +/* 078A60 7F043EF0 C46A0008 */ lwc1 $f10, 8($v1) +/* 078A64 7F043EF4 8D040014 */ lw $a0, 0x14($t0) +/* 078A68 7F043EF8 AFA8005C */ sw $t0, 0x5c($sp) +/* 078A6C 7F043EFC 0FC1B324 */ jal getsubmatrix +/* 078A70 7F043F00 AFA30050 */ sw $v1, 0x50($sp) +/* 078A74 7F043F04 C4440030 */ lwc1 $f4, 0x30($v0) +/* 078A78 7F043F08 E7A40040 */ swc1 $f4, 0x40($sp) +/* 078A7C 7F043F0C C4460034 */ lwc1 $f6, 0x34($v0) +/* 078A80 7F043F10 E7A60044 */ swc1 $f6, 0x44($sp) +/* 078A84 7F043F14 C4480038 */ lwc1 $f8, 0x38($v0) +/* 078A88 7F043F18 0FC1E28D */ jal sub_GAME_7F078444 +/* 078A8C 7F043F1C E7A80048 */ swc1 $f8, 0x48($sp) +/* 078A90 7F043F20 27B00040 */ addiu $s0, $sp, 0x40 +/* 078A94 7F043F24 02002825 */ move $a1, $s0 +/* 078A98 7F043F28 0FC16265 */ jal sub_GAME_7F058474 +/* 078A9C 7F043F2C 00402025 */ move $a0, $v0 +/* 078AA0 7F043F30 8FA30050 */ lw $v1, 0x50($sp) +/* 078AA4 7F043F34 10000008 */ b .L7F043F58 +/* 078AA8 7F043F38 8FA8005C */ lw $t0, 0x5c($sp) +/* 078AAC 7F043F3C C46A0008 */ lwc1 $f10, 8($v1) +.L7F043F40: +/* 078AB0 7F043F40 27B00040 */ addiu $s0, $sp, 0x40 +/* 078AB4 7F043F44 E7AA0040 */ swc1 $f10, 0x40($sp) +/* 078AB8 7F043F48 C470000C */ lwc1 $f16, 0xc($v1) +/* 078ABC 7F043F4C E7B00044 */ swc1 $f16, 0x44($sp) +/* 078AC0 7F043F50 C4720010 */ lwc1 $f18, 0x10($v1) +/* 078AC4 7F043F54 E7B20048 */ swc1 $f18, 0x48($sp) +.L7F043F58: +/* 078AC8 7F043F58 906B0001 */ lbu $t3, 1($v1) +/* 078ACC 7F043F5C 27A4004C */ addiu $a0, $sp, 0x4c +/* 078AD0 7F043F60 8FA70040 */ lw $a3, 0x40($sp) +/* 078AD4 7F043F64 316C0008 */ andi $t4, $t3, 8 +/* 078AD8 7F043F68 1580001A */ bnez $t4, .L7F043FD4 +/* 078ADC 7F043F6C C7A40048 */ lwc1 $f4, 0x48($sp) +/* 078AE0 7F043F70 8C650008 */ lw $a1, 8($v1) +/* 078AE4 7F043F74 8C660010 */ lw $a2, 0x10($v1) +/* 078AE8 7F043F78 AFA8005C */ sw $t0, 0x5c($sp) +/* 078AEC 7F043F7C AFA30050 */ sw $v1, 0x50($sp) +/* 078AF0 7F043F80 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 078AF4 7F043F84 E7A40010 */ swc1 $f4, 0x10($sp) +/* 078AF8 7F043F88 8FA30050 */ lw $v1, 0x50($sp) +/* 078AFC 7F043F8C 10400011 */ beqz $v0, .L7F043FD4 +/* 078B00 7F043F90 8FA8005C */ lw $t0, 0x5c($sp) +/* 078B04 7F043F94 8D0D0008 */ lw $t5, 8($t0) +/* 078B08 7F043F98 8FB80058 */ lw $t8, 0x58($sp) +/* 078B0C 7F043F9C 2479002C */ addiu $t9, $v1, 0x2c +/* 078B10 7F043FA0 31AE000E */ andi $t6, $t5, 0xe +/* 078B14 7F043FA4 2DCF0001 */ sltiu $t7, $t6, 1 +/* 078B18 7F043FA8 AFAF0010 */ sw $t7, 0x10($sp) +/* 078B1C 7F043FAC AFB90018 */ sw $t9, 0x18($sp) +/* 078B20 7F043FB0 AFA0001C */ sw $zero, 0x1c($sp) +/* 078B24 7F043FB4 00002025 */ move $a0, $zero +/* 078B28 7F043FB8 02002825 */ move $a1, $s0 +/* 078B2C 7F043FBC 8FA6004C */ lw $a2, 0x4c($sp) +/* 078B30 7F043FC0 87A70066 */ lh $a3, 0x66($sp) +/* 078B34 7F043FC4 0FC2737C */ jal sub_GAME_7F09C250 +/* 078B38 7F043FC8 AFB80014 */ sw $t8, 0x14($sp) +/* 078B3C 7F043FCC 10000024 */ b .L7F044060 +/* 078B40 7F043FD0 00401825 */ move $v1, $v0 +.L7F043FD4: +/* 078B44 7F043FD4 8FA90058 */ lw $t1, 0x58($sp) +/* 078B48 7F043FD8 246A002C */ addiu $t2, $v1, 0x2c +/* 078B4C 7F043FDC 240B0001 */ li $t3, 1 +/* 078B50 7F043FE0 AFAB001C */ sw $t3, 0x1c($sp) +/* 078B54 7F043FE4 AFAA0018 */ sw $t2, 0x18($sp) +/* 078B58 7F043FE8 00002025 */ move $a0, $zero +/* 078B5C 7F043FEC 02002825 */ move $a1, $s0 +/* 078B60 7F043FF0 8FA6004C */ lw $a2, 0x4c($sp) +/* 078B64 7F043FF4 87A70066 */ lh $a3, 0x66($sp) +/* 078B68 7F043FF8 AFA00010 */ sw $zero, 0x10($sp) +/* 078B6C 7F043FFC 0FC2737C */ jal sub_GAME_7F09C250 +/* 078B70 7F044000 AFA90014 */ sw $t1, 0x14($sp) +/* 078B74 7F044004 10000016 */ b .L7F044060 +/* 078B78 7F044008 00401825 */ move $v1, $v0 +/* 078B7C 7F04400C 8D020008 */ lw $v0, 8($t0) +.L7F044010: +/* 078B80 7F044010 304C000E */ andi $t4, $v0, 0xe +/* 078B84 7F044014 2D820001 */ sltiu $v0, $t4, 1 +/* 078B88 7F044018 50400005 */ beql $v0, $zero, .L7F044030 +/* 078B8C 7F04401C 8FB80058 */ lw $t8, 0x58($sp) +/* 078B90 7F044020 92020001 */ lbu $v0, 1($s0) +/* 078B94 7F044024 304E0008 */ andi $t6, $v0, 8 +/* 078B98 7F044028 2DC20001 */ sltiu $v0, $t6, 1 +/* 078B9C 7F04402C 8FB80058 */ lw $t8, 0x58($sp) +.L7F044030: +/* 078BA0 7F044030 8E060014 */ lw $a2, 0x14($s0) +/* 078BA4 7F044034 AFB90018 */ sw $t9, 0x18($sp) +/* 078BA8 7F044038 AFA20010 */ sw $v0, 0x10($sp) +/* 078BAC 7F04403C AFB80014 */ sw $t8, 0x14($sp) +/* 078BB0 7F044040 92090001 */ lbu $t1, 1($s0) +/* 078BB4 7F044044 25050058 */ addiu $a1, $t0, 0x58 +/* 078BB8 7F044048 87A70066 */ lh $a3, 0x66($sp) +/* 078BBC 7F04404C 312A0008 */ andi $t2, $t1, 8 +/* 078BC0 7F044050 000A582B */ sltu $t3, $zero, $t2 +/* 078BC4 7F044054 0FC2737C */ jal sub_GAME_7F09C250 +/* 078BC8 7F044058 AFAB001C */ sw $t3, 0x1c($sp) +/* 078BCC 7F04405C 00401825 */ move $v1, $v0 +.L7F044060: +/* 078BD0 7F044060 8FBF002C */ lw $ra, 0x2c($sp) +/* 078BD4 7F044064 8FB00028 */ lw $s0, 0x28($sp) +/* 078BD8 7F044068 27BD0060 */ addiu $sp, $sp, 0x60 +/* 078BDC 7F04406C 03E00008 */ jr $ra +/* 078BE0 7F044070 00601025 */ move $v0, $v1 + +) +#endif + +#endif + + +#ifdef NONMATCHING +void handle_thrown_explosive_detonation(void) { + +} +#else + +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata +glabel D_80052A94 +.word 0x47742400 /*62500.0*/ +.text +glabel handle_thrown_explosive_detonation +/* 0788A0 7F043D70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0788A4 7F043D74 AFBF0014 */ sw $ra, 0x14($sp) +/* 0788A8 7F043D78 AFA40020 */ sw $a0, 0x20($sp) +/* 0788AC 7F043D7C 8C870004 */ lw $a3, 4($a0) +/* 0788B0 7F043D80 0FC26C54 */ jal get_cur_playernum +/* 0788B4 7F043D84 AFA7001C */ sw $a3, 0x1c($sp) +/* 0788B8 7F043D88 0FC26D36 */ jal sub_GAME_7F09B4D8 +/* 0788BC 7F043D8C 00402025 */ move $a0, $v0 +/* 0788C0 7F043D90 14400117 */ bnez $v0, .L7F0441F0 +/* 0788C4 7F043D94 8FA7001C */ lw $a3, 0x1c($sp) +/* 0788C8 7F043D98 90E20003 */ lbu $v0, 3($a3) +/* 0788CC 7F043D9C 24010007 */ li $at, 7 +/* 0788D0 7F043DA0 5441000F */ bnel $v0, $at, .L7F043DE0 +/* 0788D4 7F043DA4 24010008 */ li $at, 8 +/* 0788D8 7F043DA8 8CEF0008 */ lw $t7, 8($a3) +/* 0788DC 7F043DAC 8FA40020 */ lw $a0, 0x20($sp) +/* 0788E0 7F043DB0 2405000C */ li $a1, 12 +/* 0788E4 7F043DB4 000FC0C0 */ sll $t8, $t7, 3 +/* 0788E8 7F043DB8 0703010E */ bgezl $t8, .L7F0441F4 +/* 0788EC 7F043DBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0788F0 7F043DC0 0FC10EDF */ jal generate_explosion_at_position +/* 0788F4 7F043DC4 AFA7001C */ sw $a3, 0x1c($sp) +/* 0788F8 7F043DC8 8FA7001C */ lw $a3, 0x1c($sp) +/* 0788FC 7F043DCC 8CF90064 */ lw $t9, 0x64($a3) +/* 078900 7F043DD0 37280004 */ ori $t0, $t9, 4 +/* 078904 7F043DD4 10000106 */ b .L7F0441F0 +/* 078908 7F043DD8 ACE80064 */ sw $t0, 0x64($a3) +/* 07890C 7F043DDC 24010008 */ li $at, 8 +.L7F043DE0: +/* 078910 7F043DE0 14410103 */ bne $v0, $at, .L7F0441F0 +/* 078914 7F043DE4 8FA90020 */ lw $t1, 0x20($sp) +/* 078918 7F043DE8 8D260004 */ lw $a2, 4($t1) +/* 07891C 7F043DEC 2401001A */ li $at, 26 +/* 078920 7F043DF0 80C30080 */ lb $v1, 0x80($a2) +/* 078924 7F043DF4 10610003 */ beq $v1, $at, .L7F043E04 +/* 078928 7F043DF8 24010057 */ li $at, 87 +/* 07892C 7F043DFC 5461001B */ bnel $v1, $at, .L7F043E6C +/* 078930 7F043E00 24010056 */ li $at, 86 +.L7F043E04: +/* 078934 7F043E04 84C20082 */ lh $v0, 0x82($a2) +/* 078938 7F043E08 3C0A8005 */ lui $t2, %hi(clock_timer) +/* 07893C 7F043E0C 04420017 */ bltzl $v0, .L7F043E6C +/* 078940 7F043E10 24010056 */ li $at, 86 +/* 078944 7F043E14 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) +/* 078948 7F043E18 004A5823 */ subu $t3, $v0, $t2 +/* 07894C 7F043E1C A4CB0082 */ sh $t3, 0x82($a2) +/* 078950 7F043E20 84CC0082 */ lh $t4, 0x82($a2) +/* 078954 7F043E24 8FA40020 */ lw $a0, 0x20($sp) +/* 078958 7F043E28 058300F2 */ bgezl $t4, .L7F0441F4 +/* 07895C 7F043E2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 078960 7F043E30 8CED000C */ lw $t5, 0xc($a3) +/* 078964 7F043E34 2405000D */ li $a1, 13 +/* 078968 7F043E38 000D7000 */ sll $t6, $t5, 0 +/* 07896C 7F043E3C 05C10003 */ bgez $t6, .L7F043E4C +/* 078970 7F043E40 00000000 */ nop +/* 078974 7F043E44 10000001 */ b .L7F043E4C +/* 078978 7F043E48 24050011 */ li $a1, 17 +.L7F043E4C: +/* 07897C 7F043E4C 0FC10EDF */ jal generate_explosion_at_position +/* 078980 7F043E50 AFA7001C */ sw $a3, 0x1c($sp) +/* 078984 7F043E54 8FA7001C */ lw $a3, 0x1c($sp) +/* 078988 7F043E58 8CEF0064 */ lw $t7, 0x64($a3) +/* 07898C 7F043E5C 35F80004 */ ori $t8, $t7, 4 +/* 078990 7F043E60 100000E3 */ b .L7F0441F0 +/* 078994 7F043E64 ACF80064 */ sw $t8, 0x64($a3) +/* 078998 7F043E68 24010056 */ li $at, 86 +.L7F043E6C: +/* 07899C 7F043E6C 54610014 */ bnel $v1, $at, .L7F043EC0 +/* 0789A0 7F043E70 24010022 */ li $at, 34 +/* 0789A4 7F043E74 84D90082 */ lh $t9, 0x82($a2) +/* 0789A8 7F043E78 8FA40020 */ lw $a0, 0x20($sp) +/* 0789AC 7F043E7C 572000DD */ bnezl $t9, .L7F0441F4 +/* 0789B0 7F043E80 8FBF0014 */ lw $ra, 0x14($sp) +/* 0789B4 7F043E84 8CE8000C */ lw $t0, 0xc($a3) +/* 0789B8 7F043E88 2405000D */ li $a1, 13 +/* 0789BC 7F043E8C 00084800 */ sll $t1, $t0, 0 +/* 0789C0 7F043E90 05210003 */ bgez $t1, .L7F043EA0 +/* 0789C4 7F043E94 00000000 */ nop +/* 0789C8 7F043E98 10000001 */ b .L7F043EA0 +/* 0789CC 7F043E9C 24050011 */ li $a1, 17 +.L7F043EA0: +/* 0789D0 7F043EA0 0FC10EDF */ jal generate_explosion_at_position +/* 0789D4 7F043EA4 AFA7001C */ sw $a3, 0x1c($sp) +/* 0789D8 7F043EA8 8FA7001C */ lw $a3, 0x1c($sp) +/* 0789DC 7F043EAC 8CEA0064 */ lw $t2, 0x64($a3) +/* 0789E0 7F043EB0 354B0004 */ ori $t3, $t2, 4 +/* 0789E4 7F043EB4 100000CE */ b .L7F0441F0 +/* 0789E8 7F043EB8 ACEB0064 */ sw $t3, 0x64($a3) +/* 0789EC 7F043EBC 24010022 */ li $at, 34 +.L7F043EC0: +/* 0789F0 7F043EC0 54610014 */ bnel $v1, $at, .L7F043F14 +/* 0789F4 7F043EC4 2401001B */ li $at, 27 +/* 0789F8 7F043EC8 84CC0082 */ lh $t4, 0x82($a2) +/* 0789FC 7F043ECC 8FA40020 */ lw $a0, 0x20($sp) +/* 078A00 7F043ED0 24050011 */ li $a1, 17 +/* 078A04 7F043ED4 558000C7 */ bnezl $t4, .L7F0441F4 +/* 078A08 7F043ED8 8FBF0014 */ lw $ra, 0x14($sp) +/* 078A0C 7F043EDC 0FC10EDF */ jal generate_explosion_at_position +/* 078A10 7F043EE0 AFA7001C */ sw $a3, 0x1c($sp) +/* 078A14 7F043EE4 8FA7001C */ lw $a3, 0x1c($sp) +/* 078A18 7F043EE8 24040078 */ li $a0, 120 +/* 078A1C 7F043EEC 8CED0064 */ lw $t5, 0x64($a3) +/* 078A20 7F043EF0 35AE0004 */ ori $t6, $t5, 4 +/* 078A24 7F043EF4 0FC22FF1 */ jal trigger_explosions_around_player +/* 078A28 7F043EF8 ACEE0064 */ sw $t6, 0x64($a3) +/* 078A2C 7F043EFC 24040002 */ li $a0, 2 +/* 078A30 7F043F00 0FC15858 */ jal set_unset_clock_lock_bits +/* 078A34 7F043F04 00002825 */ move $a1, $zero +/* 078A38 7F043F08 100000BA */ b .L7F0441F4 +/* 078A3C 7F043F0C 8FBF0014 */ lw $ra, 0x14($sp) +/* 078A40 7F043F10 2401001B */ li $at, 27 +.L7F043F14: +/* 078A44 7F043F14 10610003 */ beq $v1, $at, .L7F043F24 +/* 078A48 7F043F18 24010021 */ li $at, 33 +/* 078A4C 7F043F1C 5461001F */ bnel $v1, $at, .L7F043F9C +/* 078A50 7F043F20 2401001D */ li $at, 29 +.L7F043F24: +/* 078A54 7F043F24 84C20082 */ lh $v0, 0x82($a2) +/* 078A58 7F043F28 3C0F8005 */ lui $t7, %hi(clock_timer) +/* 078A5C 7F043F2C 0442001B */ bltzl $v0, .L7F043F9C +/* 078A60 7F043F30 2401001D */ li $at, 29 +/* 078A64 7F043F34 8DEF8374 */ lw $t7, %lo(clock_timer)($t7) +/* 078A68 7F043F38 004FC023 */ subu $t8, $v0, $t7 +/* 078A6C 7F043F3C A4D80082 */ sh $t8, 0x82($a2) +/* 078A70 7F043F40 84D90082 */ lh $t9, 0x82($a2) +/* 078A74 7F043F44 8FA40020 */ lw $a0, 0x20($sp) +/* 078A78 7F043F48 072300AA */ bgezl $t9, .L7F0441F4 +/* 078A7C 7F043F4C 8FBF0014 */ lw $ra, 0x14($sp) +/* 078A80 7F043F50 8CE8000C */ lw $t0, 0xc($a3) +/* 078A84 7F043F54 2405000D */ li $a1, 13 +/* 078A88 7F043F58 00084800 */ sll $t1, $t0, 0 +/* 078A8C 7F043F5C 05210003 */ bgez $t1, .L7F043F6C +/* 078A90 7F043F60 00000000 */ nop +/* 078A94 7F043F64 10000001 */ b .L7F043F6C +/* 078A98 7F043F68 24050011 */ li $a1, 17 +.L7F043F6C: +/* 078A9C 7F043F6C AFA60018 */ sw $a2, 0x18($sp) +/* 078AA0 7F043F70 0FC10EDF */ jal generate_explosion_at_position +/* 078AA4 7F043F74 AFA7001C */ sw $a3, 0x1c($sp) +/* 078AA8 7F043F78 8FA60018 */ lw $a2, 0x18($sp) +/* 078AAC 7F043F7C 8FA7001C */ lw $a3, 0x1c($sp) +/* 078AB0 7F043F80 240AFFFF */ li $t2, -1 +/* 078AB4 7F043F84 A4CA0082 */ sh $t2, 0x82($a2) +/* 078AB8 7F043F88 8CEB0064 */ lw $t3, 0x64($a3) +/* 078ABC 7F043F8C 356C0004 */ ori $t4, $t3, 4 +/* 078AC0 7F043F90 10000097 */ b .L7F0441F0 +/* 078AC4 7F043F94 ACEC0064 */ sw $t4, 0x64($a3) +/* 078AC8 7F043F98 2401001D */ li $at, 29 +.L7F043F9C: +/* 078ACC 7F043F9C 54610049 */ bnel $v1, $at, .L7F0440C4 +/* 078AD0 7F043FA0 2401001C */ li $at, 28 +/* 078AD4 7F043FA4 3C038003 */ lui $v1, %hi(D_80030AF4) +/* 078AD8 7F043FA8 8C630AF4 */ lw $v1, %lo(D_80030AF4)($v1) +/* 078ADC 7F043FAC 3C088005 */ lui $t0, %hi(clock_timer) +/* 078AE0 7F043FB0 5060000C */ beql $v1, $zero, .L7F043FE4 +/* 078AE4 7F043FB4 84C20082 */ lh $v0, 0x82($a2) +/* 078AE8 7F043FB8 8CE20064 */ lw $v0, 0x64($a3) +/* 078AEC 7F043FBC 3C010006 */ lui $at, 6 +/* 078AF0 7F043FC0 240F0001 */ li $t7, 1 +/* 078AF4 7F043FC4 00416824 */ and $t5, $v0, $at +/* 078AF8 7F043FC8 000D7442 */ srl $t6, $t5, 0x11 +/* 078AFC 7F043FCC 01CFC004 */ sllv $t8, $t7, $t6 +/* 078B00 7F043FD0 0078C824 */ and $t9, $v1, $t8 +/* 078B04 7F043FD4 53200003 */ beql $t9, $zero, .L7F043FE4 +/* 078B08 7F043FD8 84C20082 */ lh $v0, 0x82($a2) +/* 078B0C 7F043FDC A4C00082 */ sh $zero, 0x82($a2) +/* 078B10 7F043FE0 84C20082 */ lh $v0, 0x82($a2) +.L7F043FE4: +/* 078B14 7F043FE4 28410002 */ slti $at, $v0, 2 +/* 078B18 7F043FE8 1420000B */ bnez $at, .L7F044018 +/* 078B1C 7F043FEC 00000000 */ nop +/* 078B20 7F043FF0 8D088374 */ lw $t0, %lo(clock_timer)($t0) +/* 078B24 7F043FF4 240B0001 */ li $t3, 1 +/* 078B28 7F043FF8 00484823 */ subu $t1, $v0, $t0 +/* 078B2C 7F043FFC A4C90082 */ sh $t1, 0x82($a2) +/* 078B30 7F044000 84CA0082 */ lh $t2, 0x82($a2) +/* 078B34 7F044004 29410002 */ slti $at, $t2, 2 +/* 078B38 7F044008 5020007A */ beql $at, $zero, .L7F0441F4 +/* 078B3C 7F04400C 8FBF0014 */ lw $ra, 0x14($sp) +/* 078B40 7F044010 10000077 */ b .L7F0441F0 +/* 078B44 7F044014 A4CB0082 */ sh $t3, 0x82($a2) +.L7F044018: +/* 078B48 7F044018 54400076 */ bnezl $v0, .L7F0441F4 +/* 078B4C 7F04401C 8FBF0014 */ lw $ra, 0x14($sp) +/* 078B50 7F044020 8CEC000C */ lw $t4, 0xc($a3) +/* 078B54 7F044024 8FA40020 */ lw $a0, 0x20($sp) +/* 078B58 7F044028 24050011 */ li $a1, 17 +/* 078B5C 7F04402C 000C6800 */ sll $t5, $t4, 0 +/* 078B60 7F044030 05A30008 */ bgezl $t5, .L7F044054 +/* 078B64 7F044034 AFA60018 */ sw $a2, 0x18($sp) +/* 078B68 7F044038 AFA60018 */ sw $a2, 0x18($sp) +/* 078B6C 7F04403C 0FC10EDF */ jal generate_explosion_at_position +/* 078B70 7F044040 AFA7001C */ sw $a3, 0x1c($sp) +/* 078B74 7F044044 8FA60018 */ lw $a2, 0x18($sp) +/* 078B78 7F044048 10000017 */ b .L7F0440A8 +/* 078B7C 7F04404C 8FA7001C */ lw $a3, 0x1c($sp) +/* 078B80 7F044050 AFA60018 */ sw $a2, 0x18($sp) +.L7F044054: +/* 078B84 7F044054 0C001A57 */ jal get_stage_num +/* 078B88 7F044058 AFA7001C */ sw $a3, 0x1c($sp) +/* 078B8C 7F04405C 24010022 */ li $at, 34 +/* 078B90 7F044060 8FA60018 */ lw $a2, 0x18($sp) +/* 078B94 7F044064 14410009 */ bne $v0, $at, .L7F04408C +/* 078B98 7F044068 8FA7001C */ lw $a3, 0x1c($sp) +/* 078B9C 7F04406C 8FA40020 */ lw $a0, 0x20($sp) +/* 078BA0 7F044070 24050013 */ li $a1, 19 +/* 078BA4 7F044074 AFA60018 */ sw $a2, 0x18($sp) +/* 078BA8 7F044078 0FC10EDF */ jal generate_explosion_at_position +/* 078BAC 7F04407C AFA7001C */ sw $a3, 0x1c($sp) +/* 078BB0 7F044080 8FA60018 */ lw $a2, 0x18($sp) +/* 078BB4 7F044084 10000008 */ b .L7F0440A8 +/* 078BB8 7F044088 8FA7001C */ lw $a3, 0x1c($sp) +.L7F04408C: +/* 078BBC 7F04408C 8FA40020 */ lw $a0, 0x20($sp) +/* 078BC0 7F044090 2405000D */ li $a1, 13 +/* 078BC4 7F044094 AFA60018 */ sw $a2, 0x18($sp) +/* 078BC8 7F044098 0FC10EDF */ jal generate_explosion_at_position +/* 078BCC 7F04409C AFA7001C */ sw $a3, 0x1c($sp) +/* 078BD0 7F0440A0 8FA60018 */ lw $a2, 0x18($sp) +/* 078BD4 7F0440A4 8FA7001C */ lw $a3, 0x1c($sp) +.L7F0440A8: +/* 078BD8 7F0440A8 240EFFFF */ li $t6, -1 +/* 078BDC 7F0440AC A4CE0082 */ sh $t6, 0x82($a2) +/* 078BE0 7F0440B0 8CEF0064 */ lw $t7, 0x64($a3) +/* 078BE4 7F0440B4 35F80004 */ ori $t8, $t7, 4 +/* 078BE8 7F0440B8 1000004D */ b .L7F0441F0 +/* 078BEC 7F0440BC ACF80064 */ sw $t8, 0x64($a3) +/* 078BF0 7F0440C0 2401001C */ li $at, 28 +.L7F0440C4: +/* 078BF4 7F0440C4 5461004B */ bnel $v1, $at, .L7F0441F4 +/* 078BF8 7F0440C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 078BFC 7F0440CC 84C20082 */ lh $v0, 0x82($a2) +/* 078C00 7F0440D0 3C198005 */ lui $t9, %hi(clock_timer) +/* 078C04 7F0440D4 28410002 */ slti $at, $v0, 2 +/* 078C08 7F0440D8 54200012 */ bnezl $at, .L7F044124 +/* 078C0C 7F0440DC 24010001 */ li $at, 1 +/* 078C10 7F0440E0 8F398374 */ lw $t9, %lo(clock_timer)($t9) +/* 078C14 7F0440E4 240A0001 */ li $t2, 1 +/* 078C18 7F0440E8 00C02025 */ move $a0, $a2 +/* 078C1C 7F0440EC 00594023 */ subu $t0, $v0, $t9 +/* 078C20 7F0440F0 A4C80082 */ sh $t0, 0x82($a2) +/* 078C24 7F0440F4 84C90082 */ lh $t1, 0x82($a2) +/* 078C28 7F0440F8 29210002 */ slti $at, $t1, 2 +/* 078C2C 7F0440FC 50200027 */ beql $at, $zero, .L7F04419C +/* 078C30 7F044100 84CC0082 */ lh $t4, 0x82($a2) +/* 078C34 7F044104 A4CA0082 */ sh $t2, 0x82($a2) +/* 078C38 7F044108 AFA7001C */ sw $a3, 0x1c($sp) +/* 078C3C 7F04410C 0FC146D7 */ jal add_obj_to_temp_proxmine_table +/* 078C40 7F044110 AFA60018 */ sw $a2, 0x18($sp) +/* 078C44 7F044114 8FA60018 */ lw $a2, 0x18($sp) +/* 078C48 7F044118 1000001F */ b .L7F044198 +/* 078C4C 7F04411C 8FA7001C */ lw $a3, 0x1c($sp) +/* 078C50 7F044120 24010001 */ li $at, 1 +.L7F044124: +/* 078C54 7F044124 5441001D */ bnel $v0, $at, .L7F04419C +/* 078C58 7F044128 84CC0082 */ lh $t4, 0x82($a2) +/* 078C5C 7F04412C AFA60018 */ sw $a2, 0x18($sp) +/* 078C60 7F044130 0FC225E6 */ jal get_curplayer_positiondata +/* 078C64 7F044134 AFA7001C */ sw $a3, 0x1c($sp) +/* 078C68 7F044138 8FAB0020 */ lw $t3, 0x20($sp) +/* 078C6C 7F04413C C4440008 */ lwc1 $f4, 8($v0) +/* 078C70 7F044140 C448000C */ lwc1 $f8, 0xc($v0) +/* 078C74 7F044144 C5660008 */ lwc1 $f6, 8($t3) +/* 078C78 7F044148 C56A000C */ lwc1 $f10, 0xc($t3) +/* 078C7C 7F04414C C4500010 */ lwc1 $f16, 0x10($v0) +/* 078C80 7F044150 46062001 */ sub.s $f0, $f4, $f6 +/* 078C84 7F044154 C5720010 */ lwc1 $f18, 0x10($t3) +/* 078C88 7F044158 3C018005 */ lui $at, %hi(D_80052A94) +/* 078C8C 7F04415C 460A4081 */ sub.s $f2, $f8, $f10 +/* 078C90 7F044160 46000102 */ mul.s $f4, $f0, $f0 +/* 078C94 7F044164 8FA60018 */ lw $a2, 0x18($sp) +/* 078C98 7F044168 46128301 */ sub.s $f12, $f16, $f18 +/* 078C9C 7F04416C 46021182 */ mul.s $f6, $f2, $f2 +/* 078CA0 7F044170 C4322A94 */ lwc1 $f18, %lo(D_80052A94)($at) +/* 078CA4 7F044174 8FA7001C */ lw $a3, 0x1c($sp) +/* 078CA8 7F044178 460C6282 */ mul.s $f10, $f12, $f12 +/* 078CAC 7F04417C 46062200 */ add.s $f8, $f4, $f6 +/* 078CB0 7F044180 460A4400 */ add.s $f16, $f8, $f10 +/* 078CB4 7F044184 4612803C */ c.lt.s $f16, $f18 +/* 078CB8 7F044188 00000000 */ nop +/* 078CBC 7F04418C 45020003 */ bc1fl .L7F04419C +/* 078CC0 7F044190 84CC0082 */ lh $t4, 0x82($a2) +/* 078CC4 7F044194 A4C00082 */ sh $zero, 0x82($a2) +.L7F044198: +/* 078CC8 7F044198 84CC0082 */ lh $t4, 0x82($a2) +.L7F04419C: +/* 078CCC 7F04419C 8FA40020 */ lw $a0, 0x20($sp) +/* 078CD0 7F0441A0 55800014 */ bnezl $t4, .L7F0441F4 +/* 078CD4 7F0441A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 078CD8 7F0441A8 8CED000C */ lw $t5, 0xc($a3) +/* 078CDC 7F0441AC 2405000D */ li $a1, 13 +/* 078CE0 7F0441B0 000D7000 */ sll $t6, $t5, 0 +/* 078CE4 7F0441B4 05C10003 */ bgez $t6, .L7F0441C4 +/* 078CE8 7F0441B8 00000000 */ nop +/* 078CEC 7F0441BC 10000001 */ b .L7F0441C4 +/* 078CF0 7F0441C0 24050011 */ li $a1, 17 +.L7F0441C4: +/* 078CF4 7F0441C4 AFA60018 */ sw $a2, 0x18($sp) +/* 078CF8 7F0441C8 0FC10EDF */ jal generate_explosion_at_position +/* 078CFC 7F0441CC AFA7001C */ sw $a3, 0x1c($sp) +/* 078D00 7F0441D0 8FA40018 */ lw $a0, 0x18($sp) +/* 078D04 7F0441D4 8FA7001C */ lw $a3, 0x1c($sp) +/* 078D08 7F0441D8 240FFFFF */ li $t7, -1 +/* 078D0C 7F0441DC A48F0082 */ sh $t7, 0x82($a0) +/* 078D10 7F0441E0 8CF80064 */ lw $t8, 0x64($a3) +/* 078D14 7F0441E4 37190004 */ ori $t9, $t8, 4 +/* 078D18 7F0441E8 0FC146E5 */ jal remove_obj_from_temp_proxmine_table +/* 078D1C 7F0441EC ACF90064 */ sw $t9, 0x64($a3) +.L7F0441F0: +/* 078D20 7F0441F0 8FBF0014 */ lw $ra, 0x14($sp) +.L7F0441F4: +/* 078D24 7F0441F4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 078D28 7F0441F8 03E00008 */ jr $ra +/* 078D2C 7F0441FC 00000000 */ nop +) +#endif + +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata +glabel D_80052A94 +.word 0x47742400 /*62500.0*/ +.text +glabel handle_thrown_explosive_detonation +/* 078BE4 7F044074 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 078BE8 7F044078 AFBF0014 */ sw $ra, 0x14($sp) +/* 078BEC 7F04407C AFA40030 */ sw $a0, 0x30($sp) +/* 078BF0 7F044080 8C870004 */ lw $a3, 4($a0) +/* 078BF4 7F044084 0FC26F3C */ jal get_cur_playernum +/* 078BF8 7F044088 AFA7002C */ sw $a3, 0x2c($sp) +/* 078BFC 7F04408C 0FC2701E */ jal sub_GAME_7F09B4D8 +/* 078C00 7F044090 00402025 */ move $a0, $v0 +/* 078C04 7F044094 14400110 */ bnez $v0, .L7F0444D8 +/* 078C08 7F044098 8FA7002C */ lw $a3, 0x2c($sp) +/* 078C0C 7F04409C 90E20003 */ lbu $v0, 3($a3) +/* 078C10 7F0440A0 24010007 */ li $at, 7 +/* 078C14 7F0440A4 5441000F */ bnel $v0, $at, .L7F0440E4 +/* 078C18 7F0440A8 24010008 */ li $at, 8 +/* 078C1C 7F0440AC 8CEF0008 */ lw $t7, 8($a3) +/* 078C20 7F0440B0 8FA40030 */ lw $a0, 0x30($sp) +/* 078C24 7F0440B4 2405000C */ li $a1, 12 +/* 078C28 7F0440B8 000FC0C0 */ sll $t8, $t7, 3 +/* 078C2C 7F0440BC 07030107 */ bgezl $t8, .L7F0444DC +/* 078C30 7F0440C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 078C34 7F0440C4 0FC10F9F */ jal generate_explosion_at_position +/* 078C38 7F0440C8 AFA7002C */ sw $a3, 0x2c($sp) +/* 078C3C 7F0440CC 8FA7002C */ lw $a3, 0x2c($sp) +/* 078C40 7F0440D0 8CF90064 */ lw $t9, 0x64($a3) +/* 078C44 7F0440D4 37280004 */ ori $t0, $t9, 4 +/* 078C48 7F0440D8 100000FF */ b .L7F0444D8 +/* 078C4C 7F0440DC ACE80064 */ sw $t0, 0x64($a3) +/* 078C50 7F0440E0 24010008 */ li $at, 8 +.L7F0440E4: +/* 078C54 7F0440E4 144100FC */ bne $v0, $at, .L7F0444D8 +/* 078C58 7F0440E8 8FA90030 */ lw $t1, 0x30($sp) +/* 078C5C 7F0440EC 8D260004 */ lw $a2, 4($t1) +/* 078C60 7F0440F0 2401001A */ li $at, 26 +/* 078C64 7F0440F4 80C30080 */ lb $v1, 0x80($a2) +/* 078C68 7F0440F8 10610003 */ beq $v1, $at, .L7F044108 +/* 078C6C 7F0440FC 24010057 */ li $at, 87 +/* 078C70 7F044100 5461001B */ bnel $v1, $at, .L7F044170 +/* 078C74 7F044104 24010056 */ li $at, 86 +.L7F044108: +/* 078C78 7F044108 84C20082 */ lh $v0, 0x82($a2) +/* 078C7C 7F04410C 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 +/* 078C80 7F044110 04420017 */ bltzl $v0, .L7F044170 +/* 078C84 7F044114 24010056 */ li $at, 86 +/* 078C88 7F044118 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) +/* 078C8C 7F04411C 004A5823 */ subu $t3, $v0, $t2 +/* 078C90 7F044120 A4CB0082 */ sh $t3, 0x82($a2) +/* 078C94 7F044124 84CC0082 */ lh $t4, 0x82($a2) +/* 078C98 7F044128 8FA40030 */ lw $a0, 0x30($sp) +/* 078C9C 7F04412C 058300EB */ bgezl $t4, .L7F0444DC +/* 078CA0 7F044130 8FBF0014 */ lw $ra, 0x14($sp) +/* 078CA4 7F044134 8CED000C */ lw $t5, 0xc($a3) +/* 078CA8 7F044138 2405000D */ li $a1, 13 +/* 078CAC 7F04413C 000D7000 */ sll $t6, $t5, 0 +/* 078CB0 7F044140 05C10003 */ bgez $t6, .L7F044150 +/* 078CB4 7F044144 00000000 */ nop +/* 078CB8 7F044148 10000001 */ b .L7F044150 +/* 078CBC 7F04414C 24050011 */ li $a1, 17 +.L7F044150: +/* 078CC0 7F044150 0FC10F9F */ jal generate_explosion_at_position +/* 078CC4 7F044154 AFA7002C */ sw $a3, 0x2c($sp) +/* 078CC8 7F044158 8FA7002C */ lw $a3, 0x2c($sp) +/* 078CCC 7F04415C 8CEF0064 */ lw $t7, 0x64($a3) +/* 078CD0 7F044160 35F80004 */ ori $t8, $t7, 4 +/* 078CD4 7F044164 100000DC */ b .L7F0444D8 +/* 078CD8 7F044168 ACF80064 */ sw $t8, 0x64($a3) +/* 078CDC 7F04416C 24010056 */ li $at, 86 +.L7F044170: +/* 078CE0 7F044170 54610014 */ bnel $v1, $at, .L7F0441C4 +/* 078CE4 7F044174 24010022 */ li $at, 34 +/* 078CE8 7F044178 84D90082 */ lh $t9, 0x82($a2) +/* 078CEC 7F04417C 8FA40030 */ lw $a0, 0x30($sp) +/* 078CF0 7F044180 572000D6 */ bnezl $t9, .L7F0444DC +/* 078CF4 7F044184 8FBF0014 */ lw $ra, 0x14($sp) +/* 078CF8 7F044188 8CE8000C */ lw $t0, 0xc($a3) +/* 078CFC 7F04418C 2405000D */ li $a1, 13 +/* 078D00 7F044190 00084800 */ sll $t1, $t0, 0 +/* 078D04 7F044194 05210003 */ bgez $t1, .L7F0441A4 +/* 078D08 7F044198 00000000 */ nop +/* 078D0C 7F04419C 10000001 */ b .L7F0441A4 +/* 078D10 7F0441A0 24050011 */ li $a1, 17 +.L7F0441A4: +/* 078D14 7F0441A4 0FC10F9F */ jal generate_explosion_at_position +/* 078D18 7F0441A8 AFA7002C */ sw $a3, 0x2c($sp) +/* 078D1C 7F0441AC 8FA7002C */ lw $a3, 0x2c($sp) +/* 078D20 7F0441B0 8CEA0064 */ lw $t2, 0x64($a3) +/* 078D24 7F0441B4 354B0004 */ ori $t3, $t2, 4 +/* 078D28 7F0441B8 100000C7 */ b .L7F0444D8 +/* 078D2C 7F0441BC ACEB0064 */ sw $t3, 0x64($a3) +/* 078D30 7F0441C0 24010022 */ li $at, 34 +.L7F0441C4: +/* 078D34 7F0441C4 54610014 */ bnel $v1, $at, .L7F044218 +/* 078D38 7F0441C8 2401001B */ li $at, 27 +/* 078D3C 7F0441CC 84CC0082 */ lh $t4, 0x82($a2) +/* 078D40 7F0441D0 8FA40030 */ lw $a0, 0x30($sp) +/* 078D44 7F0441D4 24050011 */ li $a1, 17 +/* 078D48 7F0441D8 558000C0 */ bnezl $t4, .L7F0444DC +/* 078D4C 7F0441DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 078D50 7F0441E0 0FC10F9F */ jal generate_explosion_at_position +/* 078D54 7F0441E4 AFA7002C */ sw $a3, 0x2c($sp) +/* 078D58 7F0441E8 8FA7002C */ lw $a3, 0x2c($sp) +/* 078D5C 7F0441EC 24040078 */ li $a0, 120 +/* 078D60 7F0441F0 8CED0064 */ lw $t5, 0x64($a3) +/* 078D64 7F0441F4 35AE0004 */ ori $t6, $t5, 4 +/* 078D68 7F0441F8 0FC23213 */ jal trigger_explosions_around_player +/* 078D6C 7F0441FC ACEE0064 */ sw $t6, 0x64($a3) +/* 078D70 7F044200 24040002 */ li $a0, 2 +/* 078D74 7F044204 0FC15997 */ jal set_unset_clock_lock_bits +/* 078D78 7F044208 00002825 */ move $a1, $zero +/* 078D7C 7F04420C 100000B3 */ b .L7F0444DC +/* 078D80 7F044210 8FBF0014 */ lw $ra, 0x14($sp) +/* 078D84 7F044214 2401001B */ li $at, 27 +.L7F044218: +/* 078D88 7F044218 10610003 */ beq $v1, $at, .L7F044228 +/* 078D8C 7F04421C 24010021 */ li $at, 33 +/* 078D90 7F044220 54610020 */ bnel $v1, $at, .L7F0442A4 +/* 078D94 7F044224 2401001D */ li $at, 29 +.L7F044228: +/* 078D98 7F044228 84C20082 */ lh $v0, 0x82($a2) +/* 078D9C 7F04422C 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 +/* 078DA0 7F044230 0442001C */ bltzl $v0, .L7F0442A4 +/* 078DA4 7F044234 2401001D */ li $at, 29 +/* 078DA8 7F044238 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) +/* 078DAC 7F04423C 004FC023 */ subu $t8, $v0, $t7 +/* 078DB0 7F044240 A4D80082 */ sh $t8, 0x82($a2) +/* 078DB4 7F044244 84D90082 */ lh $t9, 0x82($a2) +/* 078DB8 7F044248 8FA40030 */ lw $a0, 0x30($sp) +/* 078DBC 7F04424C 072300A3 */ bgezl $t9, .L7F0444DC +/* 078DC0 7F044250 8FBF0014 */ lw $ra, 0x14($sp) +/* 078DC4 7F044254 8CE8000C */ lw $t0, 0xc($a3) +/* 078DC8 7F044258 2405000D */ li $a1, 13 +/* 078DCC 7F04425C 00084800 */ sll $t1, $t0, 0 +/* 078DD0 7F044260 05210003 */ bgez $t1, .L7F044270 +/* 078DD4 7F044264 00000000 */ nop +/* 078DD8 7F044268 10000001 */ b .L7F044270 +/* 078DDC 7F04426C 24050011 */ li $a1, 17 +.L7F044270: +/* 078DE0 7F044270 AFA60028 */ sw $a2, 0x28($sp) +/* 078DE4 7F044274 0FC10F9F */ jal generate_explosion_at_position +/* 078DE8 7F044278 AFA7002C */ sw $a3, 0x2c($sp) +/* 078DEC 7F04427C 8FA60028 */ lw $a2, 0x28($sp) +/* 078DF0 7F044280 10400095 */ beqz $v0, .L7F0444D8 +/* 078DF4 7F044284 8FA7002C */ lw $a3, 0x2c($sp) +/* 078DF8 7F044288 240AFFFF */ li $t2, -1 +/* 078DFC 7F04428C A4CA0082 */ sh $t2, 0x82($a2) +/* 078E00 7F044290 8CEB0064 */ lw $t3, 0x64($a3) +/* 078E04 7F044294 356C0004 */ ori $t4, $t3, 4 +/* 078E08 7F044298 1000008F */ b .L7F0444D8 +/* 078E0C 7F04429C ACEC0064 */ sw $t4, 0x64($a3) +/* 078E10 7F0442A0 2401001D */ li $at, 29 +.L7F0442A4: +/* 078E14 7F0442A4 5461003F */ bnel $v1, $at, .L7F0443A4 +/* 078E18 7F0442A8 2401001C */ li $at, 28 +/* 078E1C 7F0442AC 3C038003 */ lui $v1, %hi(D_80030AF4) # $v1, 0x8003 +/* 078E20 7F0442B0 8C630B34 */ lw $v1, %lo(D_80030AF4)($v1) +/* 078E24 7F0442B4 3C088005 */ lui $t0, %hi(clock_timer) # $t0, 0x8005 +/* 078E28 7F0442B8 5060000C */ beql $v1, $zero, .L7F0442EC +/* 078E2C 7F0442BC 84C20082 */ lh $v0, 0x82($a2) +/* 078E30 7F0442C0 8CE20064 */ lw $v0, 0x64($a3) +/* 078E34 7F0442C4 3C010006 */ lui $at, 6 +/* 078E38 7F0442C8 240F0001 */ li $t7, 1 +/* 078E3C 7F0442CC 00416824 */ and $t5, $v0, $at +/* 078E40 7F0442D0 000D7442 */ srl $t6, $t5, 0x11 +/* 078E44 7F0442D4 01CFC004 */ sllv $t8, $t7, $t6 +/* 078E48 7F0442D8 0078C824 */ and $t9, $v1, $t8 +/* 078E4C 7F0442DC 53200003 */ beql $t9, $zero, .L7F0442EC +/* 078E50 7F0442E0 84C20082 */ lh $v0, 0x82($a2) +/* 078E54 7F0442E4 A4C00082 */ sh $zero, 0x82($a2) +/* 078E58 7F0442E8 84C20082 */ lh $v0, 0x82($a2) +.L7F0442EC: +/* 078E5C 7F0442EC 28410002 */ slti $at, $v0, 2 +/* 078E60 7F0442F0 1420000B */ bnez $at, .L7F044320 +/* 078E64 7F0442F4 00000000 */ nop +/* 078E68 7F0442F8 8D0883A4 */ lw $t0, %lo(clock_timer)($t0) +/* 078E6C 7F0442FC 240B0001 */ li $t3, 1 +/* 078E70 7F044300 00484823 */ subu $t1, $v0, $t0 +/* 078E74 7F044304 A4C90082 */ sh $t1, 0x82($a2) +/* 078E78 7F044308 84CA0082 */ lh $t2, 0x82($a2) +/* 078E7C 7F04430C 29410002 */ slti $at, $t2, 2 +/* 078E80 7F044310 50200072 */ beql $at, $zero, .L7F0444DC +/* 078E84 7F044314 8FBF0014 */ lw $ra, 0x14($sp) +/* 078E88 7F044318 1000006F */ b .L7F0444D8 +/* 078E8C 7F04431C A4CB0082 */ sh $t3, 0x82($a2) +.L7F044320: +/* 078E90 7F044320 5440006E */ bnezl $v0, .L7F0444DC +/* 078E94 7F044324 8FBF0014 */ lw $ra, 0x14($sp) +/* 078E98 7F044328 8CEC000C */ lw $t4, 0xc($a3) +/* 078E9C 7F04432C 2405000D */ li $a1, 13 +/* 078EA0 7F044330 000C6800 */ sll $t5, $t4, 0 +/* 078EA4 7F044334 05A30004 */ bgezl $t5, .L7F044348 +/* 078EA8 7F044338 AFA5001C */ sw $a1, 0x1c($sp) +/* 078EAC 7F04433C 1000000B */ b .L7F04436C +/* 078EB0 7F044340 24050011 */ li $a1, 17 +/* 078EB4 7F044344 AFA5001C */ sw $a1, 0x1c($sp) +.L7F044348: +/* 078EB8 7F044348 AFA60028 */ sw $a2, 0x28($sp) +/* 078EBC 7F04434C 0C001A57 */ jal get_stage_num +/* 078EC0 7F044350 AFA7002C */ sw $a3, 0x2c($sp) +/* 078EC4 7F044354 24010022 */ li $at, 34 +/* 078EC8 7F044358 8FA5001C */ lw $a1, 0x1c($sp) +/* 078ECC 7F04435C 8FA60028 */ lw $a2, 0x28($sp) +/* 078ED0 7F044360 14410002 */ bne $v0, $at, .L7F04436C +/* 078ED4 7F044364 8FA7002C */ lw $a3, 0x2c($sp) +/* 078ED8 7F044368 24050013 */ li $a1, 19 +.L7F04436C: +/* 078EDC 7F04436C 8FA40030 */ lw $a0, 0x30($sp) +/* 078EE0 7F044370 AFA60028 */ sw $a2, 0x28($sp) +/* 078EE4 7F044374 0FC10F9F */ jal generate_explosion_at_position +/* 078EE8 7F044378 AFA7002C */ sw $a3, 0x2c($sp) +/* 078EEC 7F04437C 8FA60028 */ lw $a2, 0x28($sp) +/* 078EF0 7F044380 10400055 */ beqz $v0, .L7F0444D8 +/* 078EF4 7F044384 8FA7002C */ lw $a3, 0x2c($sp) +/* 078EF8 7F044388 240EFFFF */ li $t6, -1 +/* 078EFC 7F04438C A4CE0082 */ sh $t6, 0x82($a2) +/* 078F00 7F044390 8CEF0064 */ lw $t7, 0x64($a3) +/* 078F04 7F044394 35F80004 */ ori $t8, $t7, 4 +/* 078F08 7F044398 1000004F */ b .L7F0444D8 +/* 078F0C 7F04439C ACF80064 */ sw $t8, 0x64($a3) +/* 078F10 7F0443A0 2401001C */ li $at, 28 +.L7F0443A4: +/* 078F14 7F0443A4 5461004D */ bnel $v1, $at, .L7F0444DC +/* 078F18 7F0443A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 078F1C 7F0443AC 84C20082 */ lh $v0, 0x82($a2) +/* 078F20 7F0443B0 3C198005 */ lui $t9, %hi(clock_timer) # $t9, 0x8005 +/* 078F24 7F0443B4 28410002 */ slti $at, $v0, 2 +/* 078F28 7F0443B8 54200012 */ bnezl $at, .L7F044404 +/* 078F2C 7F0443BC 24010001 */ li $at, 1 +/* 078F30 7F0443C0 8F3983A4 */ lw $t9, %lo(clock_timer)($t9) +/* 078F34 7F0443C4 240A0001 */ li $t2, 1 +/* 078F38 7F0443C8 00C02025 */ move $a0, $a2 +/* 078F3C 7F0443CC 00594023 */ subu $t0, $v0, $t9 +/* 078F40 7F0443D0 A4C80082 */ sh $t0, 0x82($a2) +/* 078F44 7F0443D4 84C90082 */ lh $t1, 0x82($a2) +/* 078F48 7F0443D8 29210002 */ slti $at, $t1, 2 +/* 078F4C 7F0443DC 50200027 */ beql $at, $zero, .L7F04447C +/* 078F50 7F0443E0 84CC0082 */ lh $t4, 0x82($a2) +/* 078F54 7F0443E4 A4CA0082 */ sh $t2, 0x82($a2) +/* 078F58 7F0443E8 AFA7002C */ sw $a3, 0x2c($sp) +/* 078F5C 7F0443EC 0FC14816 */ jal add_obj_to_temp_proxmine_table +/* 078F60 7F0443F0 AFA60028 */ sw $a2, 0x28($sp) +/* 078F64 7F0443F4 8FA60028 */ lw $a2, 0x28($sp) +/* 078F68 7F0443F8 1000001F */ b .L7F044478 +/* 078F6C 7F0443FC 8FA7002C */ lw $a3, 0x2c($sp) +/* 078F70 7F044400 24010001 */ li $at, 1 +.L7F044404: +/* 078F74 7F044404 5441001D */ bnel $v0, $at, .L7F04447C +/* 078F78 7F044408 84CC0082 */ lh $t4, 0x82($a2) +/* 078F7C 7F04440C AFA60028 */ sw $a2, 0x28($sp) +/* 078F80 7F044410 0FC2279B */ jal get_curplayer_positiondata +/* 078F84 7F044414 AFA7002C */ sw $a3, 0x2c($sp) +/* 078F88 7F044418 8FAB0030 */ lw $t3, 0x30($sp) +/* 078F8C 7F04441C C4440008 */ lwc1 $f4, 8($v0) +/* 078F90 7F044420 C448000C */ lwc1 $f8, 0xc($v0) +/* 078F94 7F044424 C5660008 */ lwc1 $f6, 8($t3) +/* 078F98 7F044428 C56A000C */ lwc1 $f10, 0xc($t3) +/* 078F9C 7F04442C C4500010 */ lwc1 $f16, 0x10($v0) +/* 078FA0 7F044430 46062001 */ sub.s $f0, $f4, $f6 +/* 078FA4 7F044434 C5720010 */ lwc1 $f18, 0x10($t3) +/* 078FA8 7F044438 3C018005 */ lui $at, %hi(D_80052A94) # $at, 0x8005 +/* 078FAC 7F04443C 460A4081 */ sub.s $f2, $f8, $f10 +/* 078FB0 7F044440 46000102 */ mul.s $f4, $f0, $f0 +/* 078FB4 7F044444 8FA60028 */ lw $a2, 0x28($sp) +/* 078FB8 7F044448 46128301 */ sub.s $f12, $f16, $f18 +/* 078FBC 7F04444C 46021182 */ mul.s $f6, $f2, $f2 +/* 078FC0 7F044450 C4322AC4 */ lwc1 $f18, %lo(D_80052A94)($at) +/* 078FC4 7F044454 8FA7002C */ lw $a3, 0x2c($sp) +/* 078FC8 7F044458 460C6282 */ mul.s $f10, $f12, $f12 +/* 078FCC 7F04445C 46062200 */ add.s $f8, $f4, $f6 +/* 078FD0 7F044460 460A4400 */ add.s $f16, $f8, $f10 +/* 078FD4 7F044464 4612803C */ c.lt.s $f16, $f18 +/* 078FD8 7F044468 00000000 */ nop +/* 078FDC 7F04446C 45020003 */ bc1fl .L7F04447C +/* 078FE0 7F044470 84CC0082 */ lh $t4, 0x82($a2) +/* 078FE4 7F044474 A4C00082 */ sh $zero, 0x82($a2) +.L7F044478: +/* 078FE8 7F044478 84CC0082 */ lh $t4, 0x82($a2) +.L7F04447C: +/* 078FEC 7F04447C 8FA40030 */ lw $a0, 0x30($sp) +/* 078FF0 7F044480 55800016 */ bnezl $t4, .L7F0444DC +/* 078FF4 7F044484 8FBF0014 */ lw $ra, 0x14($sp) +/* 078FF8 7F044488 8CED000C */ lw $t5, 0xc($a3) +/* 078FFC 7F04448C 2405000D */ li $a1, 13 +/* 079000 7F044490 000D7000 */ sll $t6, $t5, 0 +/* 079004 7F044494 05C10003 */ bgez $t6, .L7F0444A4 +/* 079008 7F044498 00000000 */ nop +/* 07900C 7F04449C 10000001 */ b .L7F0444A4 +/* 079010 7F0444A0 24050011 */ li $a1, 17 +.L7F0444A4: +/* 079014 7F0444A4 AFA60028 */ sw $a2, 0x28($sp) +/* 079018 7F0444A8 0FC10F9F */ jal generate_explosion_at_position +/* 07901C 7F0444AC AFA7002C */ sw $a3, 0x2c($sp) +/* 079020 7F0444B0 8FA60028 */ lw $a2, 0x28($sp) +/* 079024 7F0444B4 10400008 */ beqz $v0, .L7F0444D8 +/* 079028 7F0444B8 8FA7002C */ lw $a3, 0x2c($sp) +/* 07902C 7F0444BC 240FFFFF */ li $t7, -1 +/* 079030 7F0444C0 A4CF0082 */ sh $t7, 0x82($a2) +/* 079034 7F0444C4 8CF80064 */ lw $t8, 0x64($a3) +/* 079038 7F0444C8 00C02025 */ move $a0, $a2 +/* 07903C 7F0444CC 37190004 */ ori $t9, $t8, 4 +/* 079040 7F0444D0 0FC14824 */ jal remove_obj_from_temp_proxmine_table +/* 079044 7F0444D4 ACF90064 */ sw $t9, 0x64($a3) +.L7F0444D8: +/* 079048 7F0444D8 8FBF0014 */ lw $ra, 0x14($sp) +.L7F0444DC: +/* 07904C 7F0444DC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 079050 7F0444E0 03E00008 */ jr $ra +/* 079054 7F0444E4 00000000 */ nop +) +#endif + +#endif + + + +#ifdef NONMATCHING +void sub_GAME_7F044200(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F044200 +/* 078D30 7F044200 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 078D34 7F044204 AFBF001C */ sw $ra, 0x1c($sp) +/* 078D38 7F044208 AFB10018 */ sw $s1, 0x18($sp) +/* 078D3C 7F04420C AFB00014 */ sw $s0, 0x14($sp) +/* 078D40 7F044210 8C900020 */ lw $s0, 0x20($a0) +/* 078D44 7F044214 52000009 */ beql $s0, $zero, .L7F04423C +/* 078D48 7F044218 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04421C: +/* 078D4C 7F04421C 8E110024 */ lw $s1, 0x24($s0) +/* 078D50 7F044220 0FC11080 */ jal sub_GAME_7F044200 +/* 078D54 7F044224 02002025 */ move $a0, $s0 +/* 078D58 7F044228 0FC1304C */ jal sub_GAME_7F04C130 +/* 078D5C 7F04422C 02002025 */ move $a0, $s0 +/* 078D60 7F044230 1620FFFA */ bnez $s1, .L7F04421C +/* 078D64 7F044234 02208025 */ move $s0, $s1 +/* 078D68 7F044238 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04423C: +/* 078D6C 7F04423C 8FB00014 */ lw $s0, 0x14($sp) +/* 078D70 7F044240 8FB10018 */ lw $s1, 0x18($sp) +/* 078D74 7F044244 03E00008 */ jr $ra +/* 078D78 7F044248 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04424C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04424C +/* 078D7C 7F04424C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 078D80 7F044250 AFBF001C */ sw $ra, 0x1c($sp) +/* 078D84 7F044254 AFB10018 */ sw $s1, 0x18($sp) +/* 078D88 7F044258 AFB00014 */ sw $s0, 0x14($sp) +/* 078D8C 7F04425C 8C870004 */ lw $a3, 4($a0) +/* 078D90 7F044260 00808825 */ move $s1, $a0 +/* 078D94 7F044264 8CEE0064 */ lw $t6, 0x64($a3) +/* 078D98 7F044268 31CF0004 */ andi $t7, $t6, 4 +/* 078D9C 7F04426C 51E0000A */ beql $t7, $zero, .L7F044298 +/* 078DA0 7F044270 92390001 */ lbu $t9, 1($s1) +/* 078DA4 7F044274 90E60002 */ lbu $a2, 2($a3) +/* 078DA8 7F044278 00E02025 */ move $a0, $a3 +/* 078DAC 7F04427C 24050001 */ li $a1, 1 +/* 078DB0 7F044280 30D80004 */ andi $t8, $a2, 4 +/* 078DB4 7F044284 0FC10366 */ jal sub_GAME_7F040D98 +/* 078DB8 7F044288 03003025 */ move $a2, $t8 +/* 078DBC 7F04428C 1000000F */ b .L7F0442CC +/* 078DC0 7F044290 8FBF001C */ lw $ra, 0x1c($sp) +/* 078DC4 7F044294 92390001 */ lbu $t9, 1($s1) +.L7F044298: +/* 078DC8 7F044298 02202025 */ move $a0, $s1 +/* 078DCC 7F04429C 3328FFFD */ andi $t0, $t9, 0xfffd +/* 078DD0 7F0442A0 0FC10F5C */ jal handle_thrown_explosive_detonation +/* 078DD4 7F0442A4 A2280001 */ sb $t0, 1($s1) +/* 078DD8 7F0442A8 8E300020 */ lw $s0, 0x20($s1) +/* 078DDC 7F0442AC 52000007 */ beql $s0, $zero, .L7F0442CC +/* 078DE0 7F0442B0 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0442B4: +/* 078DE4 7F0442B4 8E110024 */ lw $s1, 0x24($s0) +/* 078DE8 7F0442B8 0FC11093 */ jal sub_GAME_7F04424C +/* 078DEC 7F0442BC 02002025 */ move $a0, $s0 +/* 078DF0 7F0442C0 1620FFFC */ bnez $s1, .L7F0442B4 +/* 078DF4 7F0442C4 02208025 */ move $s0, $s1 +/* 078DF8 7F0442C8 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0442CC: +/* 078DFC 7F0442CC 8FB00014 */ lw $s0, 0x14($sp) +/* 078E00 7F0442D0 8FB10018 */ lw $s1, 0x18($sp) +/* 078E04 7F0442D4 03E00008 */ jr $ra +/* 078E08 7F0442D8 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0442DC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0442DC +/* 078E0C 7F0442DC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 078E10 7F0442E0 AFBF0024 */ sw $ra, 0x24($sp) +/* 078E14 7F0442E4 AFB20020 */ sw $s2, 0x20($sp) +/* 078E18 7F0442E8 AFB1001C */ sw $s1, 0x1c($sp) +/* 078E1C 7F0442EC AFB00018 */ sw $s0, 0x18($sp) +/* 078E20 7F0442F0 8C910004 */ lw $s1, 4($a0) +/* 078E24 7F0442F4 00809025 */ move $s2, $a0 +/* 078E28 7F0442F8 8E220064 */ lw $v0, 0x64($s1) +/* 078E2C 7F0442FC 8E300014 */ lw $s0, 0x14($s1) +/* 078E30 7F044300 304E0004 */ andi $t6, $v0, 4 +/* 078E34 7F044304 51C0000A */ beql $t6, $zero, .L7F044330 +/* 078E38 7F044308 8E05001C */ lw $a1, 0x1c($s0) +/* 078E3C 7F04430C 92260002 */ lbu $a2, 2($s1) +/* 078E40 7F044310 02202025 */ move $a0, $s1 +/* 078E44 7F044314 24050001 */ li $a1, 1 +/* 078E48 7F044318 30CF0004 */ andi $t7, $a2, 4 +/* 078E4C 7F04431C 0FC10366 */ jal sub_GAME_7F040D98 +/* 078E50 7F044320 01E03025 */ move $a2, $t7 +/* 078E54 7F044324 10000036 */ b .L7F044400 +/* 078E58 7F044328 8FBF0024 */ lw $ra, 0x24($sp) +/* 078E5C 7F04432C 8E05001C */ lw $a1, 0x1c($s0) +.L7F044330: +/* 078E60 7F044330 30580040 */ andi $t8, $v0, 0x40 +/* 078E64 7F044334 50A00025 */ beql $a1, $zero, .L7F0443CC +/* 078E68 7F044338 924C0001 */ lbu $t4, 1($s2) +/* 078E6C 7F04433C 13000022 */ beqz $t8, .L7F0443C8 +/* 078E70 7F044340 00003025 */ move $a2, $zero +/* 078E74 7F044344 0FC1B198 */ jal sub_GAME_7F06C660 +/* 078E78 7F044348 8E040018 */ lw $a0, 0x18($s0) +/* 078E7C 7F04434C AFA2002C */ sw $v0, 0x2c($sp) +/* 078E80 7F044350 92590001 */ lbu $t9, 1($s2) +/* 078E84 7F044354 37280002 */ ori $t0, $t9, 2 +/* 078E88 7F044358 A2480001 */ sb $t0, 1($s2) +/* 078E8C 7F04435C 8E090008 */ lw $t1, 8($s0) +/* 078E90 7F044360 8524000E */ lh $a0, 0xe($t1) +/* 078E94 7F044364 00045180 */ sll $t2, $a0, 6 +/* 078E98 7F044368 0FC2F5C5 */ jal sub_GAME_7F0BD714 +/* 078E9C 7F04436C 01402025 */ move $a0, $t2 +/* 078EA0 7F044370 AE02000C */ sw $v0, 0xc($s0) +/* 078EA4 7F044374 8E25006C */ lw $a1, 0x6c($s1) +/* 078EA8 7F044378 8FA4002C */ lw $a0, 0x2c($sp) +/* 078EAC 7F04437C 00403025 */ move $a2, $v0 +/* 078EB0 7F044380 0FC16063 */ jal sub_GAME_7F05818C +/* 078EB4 7F044384 24A50004 */ addiu $a1, $a1, 4 +/* 078EB8 7F044388 8E0B0008 */ lw $t3, 8($s0) +/* 078EBC 7F04438C 02002025 */ move $a0, $s0 +/* 078EC0 7F044390 0FC1BBA9 */ jal sub_GAME_7F06EEA4 +/* 078EC4 7F044394 8D650000 */ lw $a1, ($t3) +/* 078EC8 7F044398 0FC10F5C */ jal handle_thrown_explosive_detonation +/* 078ECC 7F04439C 02402025 */ move $a0, $s2 +/* 078ED0 7F0443A0 8E510020 */ lw $s1, 0x20($s2) +/* 078ED4 7F0443A4 52200016 */ beql $s1, $zero, .L7F044400 +/* 078ED8 7F0443A8 8FBF0024 */ lw $ra, 0x24($sp) +.L7F0443AC: +/* 078EDC 7F0443AC 8E300024 */ lw $s0, 0x24($s1) +/* 078EE0 7F0443B0 0FC110B7 */ jal sub_GAME_7F0442DC +/* 078EE4 7F0443B4 02202025 */ move $a0, $s1 +/* 078EE8 7F0443B8 1600FFFC */ bnez $s0, .L7F0443AC +/* 078EEC 7F0443BC 02008825 */ move $s1, $s0 +/* 078EF0 7F0443C0 1000000F */ b .L7F044400 +/* 078EF4 7F0443C4 8FBF0024 */ lw $ra, 0x24($sp) +.L7F0443C8: +/* 078EF8 7F0443C8 924C0001 */ lbu $t4, 1($s2) +.L7F0443CC: +/* 078EFC 7F0443CC 02402025 */ move $a0, $s2 +/* 078F00 7F0443D0 318DFFFD */ andi $t5, $t4, 0xfffd +/* 078F04 7F0443D4 0FC10F5C */ jal handle_thrown_explosive_detonation +/* 078F08 7F0443D8 A24D0001 */ sb $t5, 1($s2) +/* 078F0C 7F0443DC 8E510020 */ lw $s1, 0x20($s2) +/* 078F10 7F0443E0 52200007 */ beql $s1, $zero, .L7F044400 +/* 078F14 7F0443E4 8FBF0024 */ lw $ra, 0x24($sp) +.L7F0443E8: +/* 078F18 7F0443E8 8E300024 */ lw $s0, 0x24($s1) +/* 078F1C 7F0443EC 0FC11093 */ jal sub_GAME_7F04424C +/* 078F20 7F0443F0 02202025 */ move $a0, $s1 +/* 078F24 7F0443F4 1600FFFC */ bnez $s0, .L7F0443E8 +/* 078F28 7F0443F8 02008825 */ move $s1, $s0 +/* 078F2C 7F0443FC 8FBF0024 */ lw $ra, 0x24($sp) +.L7F044400: +/* 078F30 7F044400 8FB00018 */ lw $s0, 0x18($sp) +/* 078F34 7F044404 8FB1001C */ lw $s1, 0x1c($sp) +/* 078F38 7F044408 8FB20020 */ lw $s2, 0x20($sp) +/* 078F3C 7F04440C 03E00008 */ jr $ra +/* 078F40 7F044410 27BD0040 */ addiu $sp, $sp, 0x40 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F044414(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F044414 +/* 078F44 7F044414 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 078F48 7F044418 AFB50044 */ sw $s5, 0x44($sp) +/* 078F4C 7F04441C AFB20038 */ sw $s2, 0x38($sp) +/* 078F50 7F044420 AFB10034 */ sw $s1, 0x34($sp) +/* 078F54 7F044424 AFB00030 */ sw $s0, 0x30($sp) +/* 078F58 7F044428 00A08025 */ move $s0, $a1 +/* 078F5C 7F04442C 00E08825 */ move $s1, $a3 +/* 078F60 7F044430 00809025 */ move $s2, $a0 +/* 078F64 7F044434 00C0A825 */ move $s5, $a2 +/* 078F68 7F044438 AFBF004C */ sw $ra, 0x4c($sp) +/* 078F6C 7F04443C AFB60048 */ sw $s6, 0x48($sp) +/* 078F70 7F044440 AFB40040 */ sw $s4, 0x40($sp) +/* 078F74 7F044444 AFB3003C */ sw $s3, 0x3c($sp) +/* 078F78 7F044448 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 078F7C 7F04444C F7B60020 */ sdc1 $f22, 0x20($sp) +/* 078F80 7F044450 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 078F84 7F044454 18A0008A */ blez $a1, .L7F044680 +/* 078F88 7F044458 00004025 */ move $t0, $zero +/* 078F8C 7F04445C 4480C000 */ mtc1 $zero, $f24 +/* 078F90 7F044460 4480B800 */ mtc1 $zero, $f23 +/* 078F94 7F044464 4480B000 */ mtc1 $zero, $f22 +/* 078F98 7F044468 00809825 */ move $s3, $a0 +/* 078F9C 7F04446C D7B40088 */ ldc1 $f20, 0x88($sp) +/* 078FA0 7F044470 27B60074 */ addiu $s6, $sp, 0x74 +.L7F044474: +/* 078FA4 7F044474 25140001 */ addiu $s4, $t0, 1 +/* 078FA8 7F044478 0290001A */ div $zero, $s4, $s0 +/* 078FAC 7F04447C 00002810 */ mfhi $a1 +/* 078FB0 7F044480 000570C0 */ sll $t6, $a1, 3 +/* 078FB4 7F044484 024E1021 */ addu $v0, $s2, $t6 +/* 078FB8 7F044488 C4460004 */ lwc1 $f6, 4($v0) +/* 078FBC 7F04448C C6640004 */ lwc1 $f4, 4($s3) +/* 078FC0 7F044490 C44A0000 */ lwc1 $f10, ($v0) +/* 078FC4 7F044494 46003221 */ cvt.d.s $f8, $f6 +/* 078FC8 7F044498 46002021 */ cvt.d.s $f0, $f4 +/* 078FCC 7F04449C C6620000 */ lwc1 $f2, ($s3) +/* 078FD0 7F0444A0 46204301 */ sub.d $f12, $f8, $f0 +/* 078FD4 7F0444A4 16000002 */ bnez $s0, .L7F0444B0 +/* 078FD8 7F0444A8 00000000 */ nop +/* 078FDC 7F0444AC 0007000D */ break 7 +.L7F0444B0: +/* 078FE0 7F0444B0 2401FFFF */ li $at, -1 +/* 078FE4 7F0444B4 16010004 */ bne $s0, $at, .L7F0444C8 +/* 078FE8 7F0444B8 3C018000 */ lui $at, 0x8000 +/* 078FEC 7F0444BC 16810002 */ bne $s4, $at, .L7F0444C8 +/* 078FF0 7F0444C0 00000000 */ nop +/* 078FF4 7F0444C4 0006000D */ break 6 +.L7F0444C8: +/* 078FF8 7F0444C8 46366032 */ c.eq.d $f12, $f22 +/* 078FFC 7F0444CC 24AF0001 */ addiu $t7, $a1, 1 +/* 079000 7F0444D0 460054A1 */ cvt.d.s $f18, $f10 +/* 079004 7F0444D4 46001421 */ cvt.d.s $f16, $f2 +/* 079008 7F0444D8 45000011 */ bc1f .L7F044520 +/* 07900C 7F0444DC 46328381 */ sub.d $f14, $f16, $f18 +/* 079010 7F0444E0 46367032 */ c.eq.d $f14, $f22 +/* 079014 7F0444E4 00000000 */ nop +/* 079018 7F0444E8 4500000D */ bc1f .L7F044520 +/* 07901C 7F0444EC 00000000 */ nop +/* 079020 7F0444F0 E7A20074 */ swc1 $f2, 0x74($sp) +/* 079024 7F0444F4 E7B80078 */ swc1 $f24, 0x78($sp) +/* 079028 7F0444F8 C6640004 */ lwc1 $f4, 4($s3) +/* 07902C 7F0444FC 02C02025 */ move $a0, $s6 +/* 079030 7F044500 02A02825 */ move $a1, $s5 +/* 079034 7F044504 02203025 */ move $a2, $s1 +/* 079038 7F044508 0FC0F336 */ jal sub_GAME_7F03CCD8 +/* 07903C 7F04450C E7A4007C */ swc1 $f4, 0x7c($sp) +/* 079040 7F044510 50400058 */ beql $v0, $zero, .L7F044674 +/* 079044 7F044514 02804025 */ move $t0, $s4 +/* 079048 7F044518 1000005A */ b .L7F044684 +/* 07904C 7F04451C 00001025 */ move $v0, $zero +.L7F044520: +/* 079050 7F044520 01F0001A */ div $zero, $t7, $s0 +/* 079054 7F044524 462E0182 */ mul.d $f6, $f0, $f14 +/* 079058 7F044528 00001010 */ mfhi $v0 +/* 07905C 7F04452C 00401825 */ move $v1, $v0 +/* 079060 7F044530 00002025 */ move $a0, $zero +/* 079064 7F044534 462C8202 */ mul.d $f8, $f16, $f12 +/* 079068 7F044538 46283080 */ add.d $f2, $f6, $f8 +/* 07906C 7F04453C 16000002 */ bnez $s0, .L7F044548 +/* 079070 7F044540 00000000 */ nop +/* 079074 7F044544 0007000D */ break 7 +.L7F044548: +/* 079078 7F044548 2401FFFF */ li $at, -1 +/* 07907C 7F04454C 16010004 */ bne $s0, $at, .L7F044560 +/* 079080 7F044550 3C018000 */ lui $at, 0x8000 +/* 079084 7F044554 15E10002 */ bne $t7, $at, .L7F044560 +/* 079088 7F044558 00000000 */ nop +/* 07908C 7F04455C 0006000D */ break 6 +.L7F044560: +/* 079090 7F044560 1102001D */ beq $t0, $v0, .L7F0445D8 +/* 079094 7F044564 00000000 */ nop +/* 079098 7F044568 0003C0C0 */ sll $t8, $v1, 3 +.L7F04456C: +/* 07909C 7F04456C 02581021 */ addu $v0, $s2, $t8 +/* 0790A0 7F044570 C44A0004 */ lwc1 $f10, 4($v0) +/* 0790A4 7F044574 C4460000 */ lwc1 $f6, ($v0) +/* 0790A8 7F044578 460054A1 */ cvt.d.s $f18, $f10 +/* 0790AC 7F04457C 46003221 */ cvt.d.s $f8, $f6 +/* 0790B0 7F044580 462E9102 */ mul.d $f4, $f18, $f14 +/* 0790B4 7F044584 00000000 */ nop +/* 0790B8 7F044588 462C4282 */ mul.d $f10, $f8, $f12 +/* 0790BC 7F04458C 462A2500 */ add.d $f20, $f4, $f10 +/* 0790C0 7F044590 4622A032 */ c.eq.d $f20, $f2 +/* 0790C4 7F044594 00000000 */ nop +/* 0790C8 7F044598 4500000F */ bc1f .L7F0445D8 +/* 0790CC 7F04459C 00000000 */ nop +/* 0790D0 7F0445A0 24790001 */ addiu $t9, $v1, 1 +/* 0790D4 7F0445A4 0330001A */ div $zero, $t9, $s0 +/* 0790D8 7F0445A8 00001810 */ mfhi $v1 +/* 0790DC 7F0445AC 16000002 */ bnez $s0, .L7F0445B8 +/* 0790E0 7F0445B0 00000000 */ nop +/* 0790E4 7F0445B4 0007000D */ break 7 +.L7F0445B8: +/* 0790E8 7F0445B8 2401FFFF */ li $at, -1 +/* 0790EC 7F0445BC 16010004 */ bne $s0, $at, .L7F0445D0 +/* 0790F0 7F0445C0 3C018000 */ lui $at, 0x8000 +/* 0790F4 7F0445C4 17210002 */ bne $t9, $at, .L7F0445D0 +/* 0790F8 7F0445C8 00000000 */ nop +/* 0790FC 7F0445CC 0006000D */ break 6 +.L7F0445D0: +/* 079100 7F0445D0 5468FFE6 */ bnel $v1, $t0, .L7F04456C +/* 079104 7F0445D4 0003C0C0 */ sll $t8, $v1, 3 +.L7F0445D8: +/* 079108 7F0445D8 1A200021 */ blez $s1, .L7F044660 +/* 07910C 7F0445DC 00000000 */ nop +/* 079110 7F0445E0 02A01025 */ move $v0, $s5 +.L7F0445E4: +/* 079114 7F0445E4 C4520004 */ lwc1 $f18, 4($v0) +/* 079118 7F0445E8 C4440000 */ lwc1 $f4, ($v0) +/* 07911C 7F0445EC 4622A032 */ c.eq.d $f20, $f2 +/* 079120 7F0445F0 460091A1 */ cvt.d.s $f6, $f18 +/* 079124 7F0445F4 460022A1 */ cvt.d.s $f10, $f4 +/* 079128 7F0445F8 462E3202 */ mul.d $f8, $f6, $f14 +/* 07912C 7F0445FC 00000000 */ nop +/* 079130 7F044600 462C5482 */ mul.d $f18, $f10, $f12 +/* 079134 7F044604 45000003 */ bc1f .L7F044614 +/* 079138 7F044608 46324000 */ add.d $f0, $f8, $f18 +/* 07913C 7F04460C 46201181 */ sub.d $f6, $f2, $f0 +/* 079140 7F044610 46223500 */ add.d $f20, $f6, $f2 +.L7F044614: +/* 079144 7F044614 4622003C */ c.lt.d $f0, $f2 +/* 079148 7F044618 00000000 */ nop +/* 07914C 7F04461C 45020006 */ bc1fl .L7F044638 +/* 079150 7F044620 4620103C */ c.lt.d $f2, $f0 +/* 079154 7F044624 4622A03C */ c.lt.d $f20, $f2 +/* 079158 7F044628 00000000 */ nop +/* 07915C 7F04462C 4501000C */ bc1t .L7F044660 +/* 079160 7F044630 00000000 */ nop +/* 079164 7F044634 4620103C */ c.lt.d $f2, $f0 +.L7F044638: +/* 079168 7F044638 00000000 */ nop +/* 07916C 7F04463C 45020006 */ bc1fl .L7F044658 +/* 079170 7F044640 24840001 */ addiu $a0, $a0, 1 +/* 079174 7F044644 4634103C */ c.lt.d $f2, $f20 +/* 079178 7F044648 00000000 */ nop +/* 07917C 7F04464C 45010004 */ bc1t .L7F044660 +/* 079180 7F044650 00000000 */ nop +/* 079184 7F044654 24840001 */ addiu $a0, $a0, 1 +.L7F044658: +/* 079188 7F044658 1491FFE2 */ bne $a0, $s1, .L7F0445E4 +/* 07918C 7F04465C 24420008 */ addiu $v0, $v0, 8 +.L7F044660: +/* 079190 7F044660 54910004 */ bnel $a0, $s1, .L7F044674 +/* 079194 7F044664 02804025 */ move $t0, $s4 +/* 079198 7F044668 10000006 */ b .L7F044684 +/* 07919C 7F04466C 24020001 */ li $v0, 1 +/* 0791A0 7F044670 02804025 */ move $t0, $s4 +.L7F044674: +/* 0791A4 7F044674 1690FF7F */ bne $s4, $s0, .L7F044474 +/* 0791A8 7F044678 26730008 */ addiu $s3, $s3, 8 +/* 0791AC 7F04467C F7B40088 */ sdc1 $f20, 0x88($sp) +.L7F044680: +/* 0791B0 7F044680 00001025 */ move $v0, $zero +.L7F044684: +/* 0791B4 7F044684 8FBF004C */ lw $ra, 0x4c($sp) +/* 0791B8 7F044688 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 0791BC 7F04468C D7B60020 */ ldc1 $f22, 0x20($sp) +/* 0791C0 7F044690 D7B80028 */ ldc1 $f24, 0x28($sp) +/* 0791C4 7F044694 8FB00030 */ lw $s0, 0x30($sp) +/* 0791C8 7F044698 8FB10034 */ lw $s1, 0x34($sp) +/* 0791CC 7F04469C 8FB20038 */ lw $s2, 0x38($sp) +/* 0791D0 7F0446A0 8FB3003C */ lw $s3, 0x3c($sp) +/* 0791D4 7F0446A4 8FB40040 */ lw $s4, 0x40($sp) +/* 0791D8 7F0446A8 8FB50044 */ lw $s5, 0x44($sp) +/* 0791DC 7F0446AC 8FB60048 */ lw $s6, 0x48($sp) +/* 0791E0 7F0446B0 03E00008 */ jr $ra +/* 0791E4 7F0446B4 27BD00B8 */ addiu $sp, $sp, 0xb8 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0446B8(void) { + +} +#else + +#ifdef VERSION_US +GLOBAL_ASM( +.text +glabel sub_GAME_7F0446B8 +/* 0791E8 7F0446B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0791EC 7F0446BC AFBF0014 */ sw $ra, 0x14($sp) +/* 0791F0 7F0446C0 AFA40018 */ sw $a0, 0x18($sp) +/* 0791F4 7F0446C4 AFA5001C */ sw $a1, 0x1c($sp) +/* 0791F8 7F0446C8 AFA60020 */ sw $a2, 0x20($sp) +/* 0791FC 7F0446CC 0FC11105 */ jal sub_GAME_7F044414 +/* 079200 7F0446D0 AFA70024 */ sw $a3, 0x24($sp) +/* 079204 7F0446D4 10400003 */ beqz $v0, .L7F0446E4 +/* 079208 7F0446D8 8FA40020 */ lw $a0, 0x20($sp) +/* 07920C 7F0446DC 1000000A */ b .L7F044708 +/* 079210 7F0446E0 00001025 */ move $v0, $zero +.L7F0446E4: +/* 079214 7F0446E4 8FA50024 */ lw $a1, 0x24($sp) +/* 079218 7F0446E8 8FA60018 */ lw $a2, 0x18($sp) +/* 07921C 7F0446EC 0FC11105 */ jal sub_GAME_7F044414 +/* 079220 7F0446F0 8FA7001C */ lw $a3, 0x1c($sp) +/* 079224 7F0446F4 50400004 */ beql $v0, $zero, .L7F044708 +/* 079228 7F0446F8 24020001 */ li $v0, 1 +/* 07922C 7F0446FC 10000002 */ b .L7F044708 +/* 079230 7F044700 00001025 */ move $v0, $zero +/* 079234 7F044704 24020001 */ li $v0, 1 +.L7F044708: +/* 079238 7F044708 8FBF0014 */ lw $ra, 0x14($sp) +/* 07923C 7F04470C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 079240 7F044710 03E00008 */ jr $ra +/* 079244 7F044714 00000000 */ nop +) +#endif + +#ifdef VERSION_JP +GLOBAL_ASM( +.text +glabel sub_GAME_7F0446B8 +/* 079510 7F0449A0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 079514 7F0449A4 AFB60038 */ sw $s6, 0x38($sp) +/* 079518 7F0449A8 AFB50034 */ sw $s5, 0x34($sp) +/* 07951C 7F0449AC AFB40030 */ sw $s4, 0x30($sp) +/* 079520 7F0449B0 AFB3002C */ sw $s3, 0x2c($sp) +/* 079524 7F0449B4 AFB10024 */ sw $s1, 0x24($sp) +/* 079528 7F0449B8 00A09825 */ move $s3, $a1 +/* 07952C 7F0449BC 00E0A025 */ move $s4, $a3 +/* 079530 7F0449C0 0080A825 */ move $s5, $a0 +/* 079534 7F0449C4 00C0B025 */ move $s6, $a2 +/* 079538 7F0449C8 AFBF003C */ sw $ra, 0x3c($sp) +/* 07953C 7F0449CC AFB20028 */ sw $s2, 0x28($sp) +/* 079540 7F0449D0 AFB00020 */ sw $s0, 0x20($sp) +/* 079544 7F0449D4 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 079548 7F0449D8 18A00014 */ blez $a1, .Ljp7F044A2C +/* 07954C 7F0449DC 00008825 */ move $s1, $zero +/* 079550 7F0449E0 4480A000 */ mtc1 $zero, $f20 +/* 079554 7F0449E4 00808025 */ move $s0, $a0 +/* 079558 7F0449E8 27B20048 */ addiu $s2, $sp, 0x48 +.Ljp7F0449EC: +/* 07955C 7F0449EC C6040000 */ lwc1 $f4, ($s0) +/* 079560 7F0449F0 E7B4004C */ swc1 $f20, 0x4c($sp) +/* 079564 7F0449F4 02402025 */ move $a0, $s2 +/* 079568 7F0449F8 E7A40048 */ swc1 $f4, 0x48($sp) +/* 07956C 7F0449FC C6060004 */ lwc1 $f6, 4($s0) +/* 079570 7F044A00 02C02825 */ move $a1, $s6 +/* 079574 7F044A04 02803025 */ move $a2, $s4 +/* 079578 7F044A08 0FC0F3F6 */ jal sub_GAME_7F03CCD8 +/* 07957C 7F044A0C E7A60050 */ swc1 $f6, 0x50($sp) +/* 079580 7F044A10 10400003 */ beqz $v0, .Ljp7F044A20 +/* 079584 7F044A14 26310001 */ addiu $s1, $s1, 1 +/* 079588 7F044A18 10000029 */ b .Ljp7F044AC0 +/* 07958C 7F044A1C 24020001 */ li $v0, 1 +.Ljp7F044A20: +/* 079590 7F044A20 1633FFF2 */ bne $s1, $s3, .Ljp7F0449EC +/* 079594 7F044A24 26100008 */ addiu $s0, $s0, 8 +/* 079598 7F044A28 00008825 */ move $s1, $zero +.Ljp7F044A2C: +/* 07959C 7F044A2C 4480A000 */ mtc1 $zero, $f20 +/* 0795A0 7F044A30 1A800011 */ blez $s4, .Ljp7F044A78 +/* 0795A4 7F044A34 27B20048 */ addiu $s2, $sp, 0x48 +/* 0795A8 7F044A38 02C08025 */ move $s0, $s6 +.Ljp7F044A3C: +/* 0795AC 7F044A3C C6080000 */ lwc1 $f8, ($s0) +/* 0795B0 7F044A40 E7B4004C */ swc1 $f20, 0x4c($sp) +/* 0795B4 7F044A44 02402025 */ move $a0, $s2 +/* 0795B8 7F044A48 E7A80048 */ swc1 $f8, 0x48($sp) +/* 0795BC 7F044A4C C60A0004 */ lwc1 $f10, 4($s0) +/* 0795C0 7F044A50 02A02825 */ move $a1, $s5 +/* 0795C4 7F044A54 02603025 */ move $a2, $s3 +/* 0795C8 7F044A58 0FC0F3F6 */ jal sub_GAME_7F03CCD8 +/* 0795CC 7F044A5C E7AA0050 */ swc1 $f10, 0x50($sp) +/* 0795D0 7F044A60 10400003 */ beqz $v0, .Ljp7F044A70 +/* 0795D4 7F044A64 26310001 */ addiu $s1, $s1, 1 +/* 0795D8 7F044A68 10000015 */ b .Ljp7F044AC0 +/* 0795DC 7F044A6C 24020001 */ li $v0, 1 +.Ljp7F044A70: +/* 0795E0 7F044A70 1634FFF2 */ bne $s1, $s4, .Ljp7F044A3C +/* 0795E4 7F044A74 26100008 */ addiu $s0, $s0, 8 +.Ljp7F044A78: +/* 0795E8 7F044A78 02A02025 */ move $a0, $s5 +/* 0795EC 7F044A7C 02602825 */ move $a1, $s3 +/* 0795F0 7F044A80 02C03025 */ move $a2, $s6 +/* 0795F4 7F044A84 0FC111BF */ jal sub_GAME_7F044414 +/* 0795F8 7F044A88 02803825 */ move $a3, $s4 +/* 0795FC 7F044A8C 10400003 */ beqz $v0, .Ljp7F044A9C +/* 079600 7F044A90 02C02025 */ move $a0, $s6 +/* 079604 7F044A94 1000000A */ b .Ljp7F044AC0 +/* 079608 7F044A98 00001025 */ move $v0, $zero +.Ljp7F044A9C: +/* 07960C 7F044A9C 02802825 */ move $a1, $s4 +/* 079610 7F044AA0 02A03025 */ move $a2, $s5 +/* 079614 7F044AA4 0FC111BF */ jal sub_GAME_7F044414 +/* 079618 7F044AA8 02603825 */ move $a3, $s3 +/* 07961C 7F044AAC 50400004 */ beql $v0, $zero, .Ljp7F044AC0 +/* 079620 7F044AB0 24020001 */ li $v0, 1 +/* 079624 7F044AB4 10000002 */ b .Ljp7F044AC0 +/* 079628 7F044AB8 00001025 */ move $v0, $zero +/* 07962C 7F044ABC 24020001 */ li $v0, 1 +.Ljp7F044AC0: +/* 079630 7F044AC0 8FBF003C */ lw $ra, 0x3c($sp) +/* 079634 7F044AC4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 079638 7F044AC8 8FB00020 */ lw $s0, 0x20($sp) +/* 07963C 7F044ACC 8FB10024 */ lw $s1, 0x24($sp) +/* 079640 7F044AD0 8FB20028 */ lw $s2, 0x28($sp) +/* 079644 7F044AD4 8FB3002C */ lw $s3, 0x2c($sp) +/* 079648 7F044AD8 8FB40030 */ lw $s4, 0x30($sp) +/* 07964C 7F044ADC 8FB50034 */ lw $s5, 0x34($sp) +/* 079650 7F044AE0 8FB60038 */ lw $s6, 0x38($sp) +/* 079654 7F044AE4 03E00008 */ jr $ra +/* 079658 7F044AE8 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + +#endif + + + +#ifdef NONMATCHING +void sub_GAME_7F044718(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F044718 +/* 079248 7F044718 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 07924C 7F04471C AFB40060 */ sw $s4, 0x60($sp) +/* 079250 7F044720 AFB3005C */ sw $s3, 0x5c($sp) +/* 079254 7F044724 F7BC0040 */ sdc1 $f28, 0x40($sp) +/* 079258 7F044728 4485E000 */ mtc1 $a1, $f28 +/* 07925C 7F04472C AFBF0064 */ sw $ra, 0x64($sp) +/* 079260 7F044730 AFB20058 */ sw $s2, 0x58($sp) +/* 079264 7F044734 AFB10054 */ sw $s1, 0x54($sp) +/* 079268 7F044738 AFB00050 */ sw $s0, 0x50($sp) +/* 07926C 7F04473C F7BE0048 */ sdc1 $f30, 0x48($sp) +/* 079270 7F044740 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 079274 7F044744 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 079278 7F044748 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 07927C 7F04474C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 079280 7F044750 00E09825 */ move $s3, $a3 +/* 079284 7F044754 00C0A025 */ move $s4, $a2 +/* 079288 7F044758 C4960000 */ lwc1 $f22, ($a0) +/* 07928C 7F04475C C4980008 */ lwc1 $f24, 8($a0) +/* 079290 7F044760 18E00042 */ blez $a3, .L7F04486C +/* 079294 7F044764 00001025 */ move $v0, $zero +/* 079298 7F044768 4480F000 */ mtc1 $zero, $f30 +/* 07929C 7F04476C 00C08825 */ move $s1, $a2 +.L7F044770: +/* 0792A0 7F044770 24520001 */ addiu $s2, $v0, 1 +/* 0792A4 7F044774 0253001A */ div $zero, $s2, $s3 +/* 0792A8 7F044778 00007010 */ mfhi $t6 +/* 0792AC 7F04477C 000E78C0 */ sll $t7, $t6, 3 +/* 0792B0 7F044780 028F8021 */ addu $s0, $s4, $t7 +/* 0792B4 7F044784 8E060000 */ lw $a2, ($s0) +/* 0792B8 7F044788 8E070004 */ lw $a3, 4($s0) +/* 0792BC 7F04478C C62C0000 */ lwc1 $f12, ($s1) +/* 0792C0 7F044790 C62E0004 */ lwc1 $f14, 4($s1) +/* 0792C4 7F044794 16600002 */ bnez $s3, .L7F0447A0 +/* 0792C8 7F044798 00000000 */ nop +/* 0792CC 7F04479C 0007000D */ break 7 +.L7F0447A0: +/* 0792D0 7F0447A0 2401FFFF */ li $at, -1 +/* 0792D4 7F0447A4 16610004 */ bne $s3, $at, .L7F0447B8 +/* 0792D8 7F0447A8 3C018000 */ lui $at, 0x8000 +/* 0792DC 7F0447AC 16410002 */ bne $s2, $at, .L7F0447B8 +/* 0792E0 7F0447B0 00000000 */ nop +/* 0792E4 7F0447B4 0006000D */ break 6 +.L7F0447B8: +/* 0792E8 7F0447B8 E7B80014 */ swc1 $f24, 0x14($sp) +/* 0792EC 7F0447BC 0FC2C5B1 */ jal sub_GAME_7F0B16C4 +/* 0792F0 7F0447C0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 0792F4 7F0447C4 461E003C */ c.lt.s $f0, $f30 +/* 0792F8 7F0447C8 4406B000 */ mfc1 $a2, $f22 +/* 0792FC 7F0447CC 4407C000 */ mfc1 $a3, $f24 +/* 079300 7F0447D0 46000506 */ mov.s $f20, $f0 +/* 079304 7F0447D4 45020003 */ bc1fl .L7F0447E4 +/* 079308 7F0447D8 C62C0000 */ lwc1 $f12, ($s1) +/* 07930C 7F0447DC 46000507 */ neg.s $f20, $f0 +/* 079310 7F0447E0 C62C0000 */ lwc1 $f12, ($s1) +.L7F0447E4: +/* 079314 7F0447E4 0FC2C5E5 */ jal sub_GAME_7F0B1794 +/* 079318 7F0447E8 C62E0004 */ lwc1 $f14, 4($s1) +/* 07931C 7F0447EC 4406B000 */ mfc1 $a2, $f22 +/* 079320 7F0447F0 4407C000 */ mfc1 $a3, $f24 +/* 079324 7F0447F4 46000686 */ mov.s $f26, $f0 +/* 079328 7F0447F8 C60C0000 */ lwc1 $f12, ($s0) +/* 07932C 7F0447FC 0FC2C5E5 */ jal sub_GAME_7F0B1794 +/* 079330 7F044800 C60E0004 */ lwc1 $f14, 4($s0) +/* 079334 7F044804 461CA03C */ c.lt.s $f20, $f28 +/* 079338 7F044808 00000000 */ nop +/* 07933C 7F04480C 45020015 */ bc1fl .L7F044864 +/* 079340 7F044810 02401025 */ move $v0, $s2 +/* 079344 7F044814 461CD03C */ c.lt.s $f26, $f28 +/* 079348 7F044818 00000000 */ nop +/* 07934C 7F04481C 4501000E */ bc1t .L7F044858 +/* 079350 7F044820 00000000 */ nop +/* 079354 7F044824 461C003C */ c.lt.s $f0, $f28 +/* 079358 7F044828 00000000 */ nop +/* 07935C 7F04482C 4501000A */ bc1t .L7F044858 +/* 079360 7F044830 00000000 */ nop +/* 079364 7F044834 C62C0000 */ lwc1 $f12, ($s1) +/* 079368 7F044838 C62E0004 */ lwc1 $f14, 4($s1) +/* 07936C 7F04483C 8E060000 */ lw $a2, ($s0) +/* 079370 7F044840 8E070004 */ lw $a3, 4($s0) +/* 079374 7F044844 E7B80014 */ swc1 $f24, 0x14($sp) +/* 079378 7F044848 0FC2C5F9 */ jal sub_GAME_7F0B17E4 +/* 07937C 7F04484C E7B60010 */ swc1 $f22, 0x10($sp) +/* 079380 7F044850 50400004 */ beql $v0, $zero, .L7F044864 +/* 079384 7F044854 02401025 */ move $v0, $s2 +.L7F044858: +/* 079388 7F044858 10000005 */ b .L7F044870 +/* 07938C 7F04485C 24020001 */ li $v0, 1 +/* 079390 7F044860 02401025 */ move $v0, $s2 +.L7F044864: +/* 079394 7F044864 1653FFC2 */ bne $s2, $s3, .L7F044770 +/* 079398 7F044868 26310008 */ addiu $s1, $s1, 8 +.L7F04486C: +/* 07939C 7F04486C 00001025 */ move $v0, $zero +.L7F044870: +/* 0793A0 7F044870 8FBF0064 */ lw $ra, 0x64($sp) +/* 0793A4 7F044874 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 0793A8 7F044878 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 0793AC 7F04487C D7B80030 */ ldc1 $f24, 0x30($sp) +/* 0793B0 7F044880 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 0793B4 7F044884 D7BC0040 */ ldc1 $f28, 0x40($sp) +/* 0793B8 7F044888 D7BE0048 */ ldc1 $f30, 0x48($sp) +/* 0793BC 7F04488C 8FB00050 */ lw $s0, 0x50($sp) +/* 0793C0 7F044890 8FB10054 */ lw $s1, 0x54($sp) +/* 0793C4 7F044894 8FB20058 */ lw $s2, 0x58($sp) +/* 0793C8 7F044898 8FB3005C */ lw $s3, 0x5c($sp) +/* 0793CC 7F04489C 8FB40060 */ lw $s4, 0x60($sp) +/* 0793D0 7F0448A0 03E00008 */ jr $ra +/* 0793D4 7F0448A4 27BD0068 */ addiu $sp, $sp, 0x68 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0448A8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0448A8 +/* 0793D8 7F0448A8 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 0793DC 7F0448AC AFBF0034 */ sw $ra, 0x34($sp) +/* 0793E0 7F0448B0 AFB50030 */ sw $s5, 0x30($sp) +/* 0793E4 7F0448B4 27AE008C */ addiu $t6, $sp, 0x8c +/* 0793E8 7F0448B8 0080A825 */ move $s5, $a0 +/* 0793EC 7F0448BC AFB4002C */ sw $s4, 0x2c($sp) +/* 0793F0 7F0448C0 AFB30028 */ sw $s3, 0x28($sp) +/* 0793F4 7F0448C4 AFB20024 */ sw $s2, 0x24($sp) +/* 0793F8 7F0448C8 AFB10020 */ sw $s1, 0x20($sp) +/* 0793FC 7F0448CC AFB0001C */ sw $s0, 0x1c($sp) +/* 079400 7F0448D0 AFAE0010 */ sw $t6, 0x10($sp) +/* 079404 7F0448D4 27A50098 */ addiu $a1, $sp, 0x98 +/* 079408 7F0448D8 27A60094 */ addiu $a2, $sp, 0x94 +/* 07940C 7F0448DC 0FC0F308 */ jal sub_GAME_7F03CC20 +/* 079410 7F0448E0 27A70090 */ addiu $a3, $sp, 0x90 +/* 079414 7F0448E4 8FAF0094 */ lw $t7, 0x94($sp) +/* 079418 7F0448E8 27B0006C */ addiu $s0, $sp, 0x6c +/* 07941C 7F0448EC 02A02025 */ move $a0, $s5 +/* 079420 7F0448F0 1DE00003 */ bgtz $t7, .L7F044900 +/* 079424 7F0448F4 00000000 */ nop +/* 079428 7F0448F8 10000086 */ b .L7F044B14 +/* 07942C 7F0448FC 24020001 */ li $v0, 1 +.L7F044900: +/* 079430 7F044900 0FC0F2E3 */ jal sub_GAME_7F03CB8C +/* 079434 7F044904 02002825 */ move $a1, $s0 +/* 079438 7F044908 0FC0F8FF */ jal sub_GAME_7F03E3FC +/* 07943C 7F04490C 02002025 */ move $a0, $s0 +/* 079440 7F044910 3C138007 */ lui $s3, %hi(ptr_list_object_lookup_indices) +/* 079444 7F044914 8E739C30 */ lw $s3, %lo(ptr_list_object_lookup_indices)($s3) +/* 079448 7F044918 24140002 */ li $s4, 2 +/* 07944C 7F04491C 86620000 */ lh $v0, ($s3) +/* 079450 7F044920 0440007B */ bltz $v0, .L7F044B10 +/* 079454 7F044924 0002C080 */ sll $t8, $v0, 2 +.L7F044928: +/* 079458 7F044928 0302C023 */ subu $t8, $t8, $v0 +/* 07945C 7F04492C 0018C080 */ sll $t8, $t8, 2 +/* 079460 7F044930 0302C021 */ addu $t8, $t8, $v0 +/* 079464 7F044934 3C198007 */ lui $t9, %hi(pos_data_entry) +/* 079468 7F044938 27399C38 */ addiu $t9, %lo(pos_data_entry) # addiu $t9, $t9, -0x63c8 +/* 07946C 7F04493C 0018C080 */ sll $t8, $t8, 2 +/* 079470 7F044940 03199021 */ addu $s2, $t8, $t9 +/* 079474 7F044944 5255006F */ beql $s2, $s5, .L7F044B04 +/* 079478 7F044948 86620002 */ lh $v0, 2($s3) +/* 07947C 7F04494C 92420000 */ lbu $v0, ($s2) +/* 079480 7F044950 24010006 */ li $at, 6 +/* 079484 7F044954 10410003 */ beq $v0, $at, .L7F044964 +/* 079488 7F044958 24010003 */ li $at, 3 +/* 07948C 7F04495C 5441003C */ bnel $v0, $at, .L7F044A50 +/* 079490 7F044960 24010001 */ li $at, 1 +.L7F044964: +/* 079494 7F044964 8E420004 */ lw $v0, 4($s2) +/* 079498 7F044968 02402025 */ move $a0, $s2 +/* 07949C 7F04496C 27A5005C */ addiu $a1, $sp, 0x5c +/* 0794A0 7F044970 10400005 */ beqz $v0, .L7F044988 +/* 0794A4 7F044974 27A60064 */ addiu $a2, $sp, 0x64 +/* 0794A8 7F044978 8C480014 */ lw $t0, 0x14($v0) +/* 0794AC 7F04497C 31090400 */ andi $t1, $t0, 0x400 +/* 0794B0 7F044980 55200060 */ bnezl $t1, .L7F044B04 +/* 0794B4 7F044984 86620002 */ lh $v0, 2($s3) +.L7F044988: +/* 0794B8 7F044988 0FC0F3E2 */ jal sub_GAME_7F03CF88 +/* 0794BC 7F04498C 27A70060 */ addiu $a3, $sp, 0x60 +/* 0794C0 7F044990 0FC0F3FA */ jal sub_GAME_7F03CFE8 +/* 0794C4 7F044994 02402025 */ move $a0, $s2 +/* 0794C8 7F044998 C7A20060 */ lwc1 $f2, 0x60($sp) +/* 0794CC 7F04499C C7A80090 */ lwc1 $f8, 0x90($sp) +/* 0794D0 7F0449A0 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 0794D4 7F0449A4 46001080 */ add.s $f2, $f2, $f0 +/* 0794D8 7F0449A8 C7AA008C */ lwc1 $f10, 0x8c($sp) +/* 0794DC 7F0449AC 46002180 */ add.s $f6, $f4, $f0 +/* 0794E0 7F0449B0 E7A20060 */ swc1 $f2, 0x60($sp) +/* 0794E4 7F0449B4 4608103E */ c.le.s $f2, $f8 +/* 0794E8 7F0449B8 E7A60064 */ swc1 $f6, 0x64($sp) +/* 0794EC 7F0449BC 45020051 */ bc1fl .L7F044B04 +/* 0794F0 7F0449C0 86620002 */ lh $v0, 2($s3) +/* 0794F4 7F0449C4 4606503E */ c.le.s $f10, $f6 +/* 0794F8 7F0449C8 26510008 */ addiu $s1, $s2, 8 +/* 0794FC 7F0449CC 24100001 */ li $s0, 1 +/* 079500 7F0449D0 02202025 */ move $a0, $s1 +/* 079504 7F0449D4 4500004A */ bc1f .L7F044B00 +/* 079508 7F0449D8 8FA50098 */ lw $a1, 0x98($sp) +/* 07950C 7F0449DC 0FC0F336 */ jal sub_GAME_7F03CCD8 +/* 079510 7F0449E0 8FA60094 */ lw $a2, 0x94($sp) +/* 079514 7F0449E4 10400002 */ beqz $v0, .L7F0449F0 +/* 079518 7F0449E8 02202025 */ move $a0, $s1 +/* 07951C 7F0449EC 00008025 */ move $s0, $zero +.L7F0449F0: +/* 079520 7F0449F0 12000007 */ beqz $s0, .L7F044A10 +/* 079524 7F0449F4 8FA5005C */ lw $a1, 0x5c($sp) +/* 079528 7F0449F8 8FA60098 */ lw $a2, 0x98($sp) +/* 07952C 7F0449FC 0FC111C6 */ jal sub_GAME_7F044718 +/* 079530 7F044A00 8FA70094 */ lw $a3, 0x94($sp) +/* 079534 7F044A04 10400002 */ beqz $v0, .L7F044A10 +/* 079538 7F044A08 00000000 */ nop +/* 07953C 7F044A0C 00008025 */ move $s0, $zero +.L7F044A10: +/* 079540 7F044A10 5600003C */ bnezl $s0, .L7F044B04 +/* 079544 7F044A14 86620002 */ lh $v0, 2($s3) +/* 079548 7F044A18 924A0000 */ lbu $t2, ($s2) +/* 07954C 7F044A1C 24010003 */ li $at, 3 +/* 079550 7F044A20 15410008 */ bne $t2, $at, .L7F044A44 +/* 079554 7F044A24 00000000 */ nop +/* 079558 7F044A28 92AB0000 */ lbu $t3, ($s5) +/* 07955C 7F044A2C 168B0005 */ bne $s4, $t3, .L7F044A44 +/* 079560 7F044A30 00000000 */ nop +/* 079564 7F044A34 8E420004 */ lw $v0, 4($s2) +/* 079568 7F044A38 944C0012 */ lhu $t4, 0x12($v0) +/* 07956C 7F044A3C 358D0010 */ ori $t5, $t4, 0x10 +/* 079570 7F044A40 A44D0012 */ sh $t5, 0x12($v0) +.L7F044A44: +/* 079574 7F044A44 10000033 */ b .L7F044B14 +/* 079578 7F044A48 00001025 */ move $v0, $zero +/* 07957C 7F044A4C 24010001 */ li $at, 1 +.L7F044A50: +/* 079580 7F044A50 10410005 */ beq $v0, $at, .L7F044A68 +/* 079584 7F044A54 24010004 */ li $at, 4 +/* 079588 7F044A58 50410004 */ beql $v0, $at, .L7F044A6C +/* 07958C 7F044A5C 92AE0000 */ lbu $t6, ($s5) +/* 079590 7F044A60 56820028 */ bnel $s4, $v0, .L7F044B04 +/* 079594 7F044A64 86620002 */ lh $v0, 2($s3) +.L7F044A68: +/* 079598 7F044A68 92AE0000 */ lbu $t6, ($s5) +.L7F044A6C: +/* 07959C 7F044A6C 02402025 */ move $a0, $s2 +/* 0795A0 7F044A70 27A5004C */ addiu $a1, $sp, 0x4c +/* 0795A4 7F044A74 168E0009 */ bne $s4, $t6, .L7F044A9C +/* 0795A8 7F044A78 27A60048 */ addiu $a2, $sp, 0x48 +/* 0795AC 7F044A7C 52820021 */ beql $s4, $v0, .L7F044B04 +/* 0795B0 7F044A80 86620002 */ lh $v0, 2($s3) +/* 0795B4 7F044A84 8E4F0004 */ lw $t7, 4($s2) +/* 0795B8 7F044A88 2401002B */ li $at, 43 +/* 0795BC 7F044A8C 91E20003 */ lbu $v0, 3($t7) +/* 0795C0 7F044A90 1041001B */ beq $v0, $at, .L7F044B00 +/* 0795C4 7F044A94 24010028 */ li $at, 40 +/* 0795C8 7F044A98 10410019 */ beq $v0, $at, .L7F044B00 +.L7F044A9C: +/* 0795CC 7F044A9C 27B80040 */ addiu $t8, $sp, 0x40 +/* 0795D0 7F044AA0 AFB80010 */ sw $t8, 0x10($sp) +/* 0795D4 7F044AA4 0FC0F308 */ jal sub_GAME_7F03CC20 +/* 0795D8 7F044AA8 27A70044 */ addiu $a3, $sp, 0x44 +/* 0795DC 7F044AAC 8FA50048 */ lw $a1, 0x48($sp) +/* 0795E0 7F044AB0 C7B00090 */ lwc1 $f16, 0x90($sp) +/* 0795E4 7F044AB4 C7B20040 */ lwc1 $f18, 0x40($sp) +/* 0795E8 7F044AB8 58A00012 */ blezl $a1, .L7F044B04 +/* 0795EC 7F044ABC 86620002 */ lh $v0, 2($s3) +/* 0795F0 7F044AC0 4610903E */ c.le.s $f18, $f16 +/* 0795F4 7F044AC4 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 0795F8 7F044AC8 C7A8008C */ lwc1 $f8, 0x8c($sp) +/* 0795FC 7F044ACC 4502000D */ bc1fl .L7F044B04 +/* 079600 7F044AD0 86620002 */ lh $v0, 2($s3) +/* 079604 7F044AD4 4604403E */ c.le.s $f8, $f4 +/* 079608 7F044AD8 8FA4004C */ lw $a0, 0x4c($sp) +/* 07960C 7F044ADC 8FA60098 */ lw $a2, 0x98($sp) +/* 079610 7F044AE0 45020008 */ bc1fl .L7F044B04 +/* 079614 7F044AE4 86620002 */ lh $v0, 2($s3) +/* 079618 7F044AE8 0FC111AE */ jal sub_GAME_7F0446B8 +/* 07961C 7F044AEC 8FA70094 */ lw $a3, 0x94($sp) +/* 079620 7F044AF0 50400004 */ beql $v0, $zero, .L7F044B04 +/* 079624 7F044AF4 86620002 */ lh $v0, 2($s3) +/* 079628 7F044AF8 10000006 */ b .L7F044B14 +/* 07962C 7F044AFC 00001025 */ move $v0, $zero +.L7F044B00: +/* 079630 7F044B00 86620002 */ lh $v0, 2($s3) +.L7F044B04: +/* 079634 7F044B04 26730002 */ addiu $s3, $s3, 2 +/* 079638 7F044B08 0443FF87 */ bgezl $v0, .L7F044928 +/* 07963C 7F044B0C 0002C080 */ sll $t8, $v0, 2 +.L7F044B10: +/* 079640 7F044B10 24020001 */ li $v0, 1 +.L7F044B14: +/* 079644 7F044B14 8FBF0034 */ lw $ra, 0x34($sp) +/* 079648 7F044B18 8FB0001C */ lw $s0, 0x1c($sp) +/* 07964C 7F044B1C 8FB10020 */ lw $s1, 0x20($sp) +/* 079650 7F044B20 8FB20024 */ lw $s2, 0x24($sp) +/* 079654 7F044B24 8FB30028 */ lw $s3, 0x28($sp) +/* 079658 7F044B28 8FB4002C */ lw $s4, 0x2c($sp) +/* 07965C 7F044B2C 8FB50030 */ lw $s5, 0x30($sp) +/* 079660 7F044B30 03E00008 */ jr $ra +/* 079664 7F044B34 27BD00A0 */ addiu $sp, $sp, 0xa0 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F044B38(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F044B38 +/* 079668 7F044B38 27BDFEA8 */ addiu $sp, $sp, -0x158 +/* 07966C 7F044B3C AFBF0024 */ sw $ra, 0x24($sp) +/* 079670 7F044B40 AFB10020 */ sw $s1, 0x20($sp) +/* 079674 7F044B44 AFB0001C */ sw $s0, 0x1c($sp) +/* 079678 7F044B48 8C830014 */ lw $v1, 0x14($a0) +/* 07967C 7F044B4C 8C910010 */ lw $s1, 0x10($a0) +/* 079680 7F044B50 24180001 */ li $t8, 1 +/* 079684 7F044B54 8C790008 */ lw $t9, 8($v1) +/* 079688 7F044B58 00808025 */ move $s0, $a0 +/* 07968C 7F044B5C 27A500C8 */ addiu $a1, $sp, 0xc8 +/* 079690 7F044B60 8F220008 */ lw $v0, 8($t9) +/* 079694 7F044B64 8C480004 */ lw $t0, 4($v0) +/* 079698 7F044B68 8D090004 */ lw $t1, 4($t0) +/* 07969C 7F044B6C AFA90148 */ sw $t1, 0x148($sp) +/* 0796A0 7F044B70 8C4A0008 */ lw $t2, 8($v0) +/* 0796A4 7F044B74 8D4B0004 */ lw $t3, 4($t2) +/* 0796A8 7F044B78 AFAB0144 */ sw $t3, 0x144($sp) +/* 0796AC 7F044B7C 8C4C000C */ lw $t4, 0xc($v0) +/* 0796B0 7F044B80 8D8D0004 */ lw $t5, 4($t4) +/* 0796B4 7F044B84 AFAD0140 */ sw $t5, 0x140($sp) +/* 0796B8 7F044B88 8C4E0010 */ lw $t6, 0x10($v0) +/* 0796BC 7F044B8C 8DCF0004 */ lw $t7, 4($t6) +/* 0796C0 7F044B90 AFB80108 */ sw $t8, 0x108($sp) +/* 0796C4 7F044B94 AFAF013C */ sw $t7, 0x13c($sp) +/* 0796C8 7F044B98 8C590018 */ lw $t9, 0x18($v0) +/* 0796CC 7F044B9C 8F280004 */ lw $t0, 4($t9) +/* 0796D0 7F044BA0 AFA800C0 */ sw $t0, 0xc0($sp) +/* 0796D4 7F044BA4 C48C00A0 */ lwc1 $f12, 0xa0($a0) +/* 0796D8 7F044BA8 0FC1617F */ jal sub_GAME_7F0585FC +/* 0796DC 7F044BAC AFA30154 */ sw $v1, 0x154($sp) +/* 0796E0 7F044BB0 8FA90154 */ lw $t1, 0x154($sp) +/* 0796E4 7F044BB4 27A500C8 */ addiu $a1, $sp, 0xc8 +/* 0796E8 7F044BB8 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 0796EC 7F044BBC C52C0014 */ lwc1 $f12, 0x14($t1) +/* 0796F0 7F044BC0 26040058 */ addiu $a0, $s0, 0x58 +/* 0796F4 7F044BC4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 0796F8 7F044BC8 27A500C8 */ addiu $a1, $sp, 0xc8 +/* 0796FC 7F044BCC 27A400C8 */ addiu $a0, $sp, 0xc8 +/* 079700 7F044BD0 8FA50148 */ lw $a1, 0x148($sp) +/* 079704 7F044BD4 0FC16106 */ jal sub_GAME_7F058418 +/* 079708 7F044BD8 27A60130 */ addiu $a2, $sp, 0x130 +/* 07970C 7F044BDC 27A400C8 */ addiu $a0, $sp, 0xc8 +/* 079710 7F044BE0 8FA50144 */ lw $a1, 0x144($sp) +/* 079714 7F044BE4 0FC16106 */ jal sub_GAME_7F058418 +/* 079718 7F044BE8 27A60124 */ addiu $a2, $sp, 0x124 +/* 07971C 7F044BEC 27A400C8 */ addiu $a0, $sp, 0xc8 +/* 079720 7F044BF0 8FA50140 */ lw $a1, 0x140($sp) +/* 079724 7F044BF4 0FC16106 */ jal sub_GAME_7F058418 +/* 079728 7F044BF8 27A60118 */ addiu $a2, $sp, 0x118 +/* 07972C 7F044BFC 27A400C8 */ addiu $a0, $sp, 0xc8 +/* 079730 7F044C00 8FA5013C */ lw $a1, 0x13c($sp) +/* 079734 7F044C04 0FC16106 */ jal sub_GAME_7F058418 +/* 079738 7F044C08 27A6010C */ addiu $a2, $sp, 0x10c +/* 07973C 7F044C0C 8E2A0014 */ lw $t2, 0x14($s1) +/* 079740 7F044C10 C7A80138 */ lwc1 $f8, 0x138($sp) +/* 079744 7F044C14 27A400C4 */ addiu $a0, $sp, 0xc4 +/* 079748 7F044C18 AFAA00C4 */ sw $t2, 0xc4($sp) +/* 07974C 7F044C1C 8E260010 */ lw $a2, 0x10($s1) +/* 079750 7F044C20 8E250008 */ lw $a1, 8($s1) +/* 079754 7F044C24 8FA70130 */ lw $a3, 0x130($sp) +/* 079758 7F044C28 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07975C 7F044C2C E7A80010 */ swc1 $f8, 0x10($sp) +/* 079760 7F044C30 10400006 */ beqz $v0, .L7F044C4C +/* 079764 7F044C34 8FA400C4 */ lw $a0, 0xc4($sp) +/* 079768 7F044C38 8FA50130 */ lw $a1, 0x130($sp) +/* 07976C 7F044C3C 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 079770 7F044C40 8FA60138 */ lw $a2, 0x138($sp) +/* 079774 7F044C44 10000002 */ b .L7F044C50 +/* 079778 7F044C48 E7A00134 */ swc1 $f0, 0x134($sp) +.L7F044C4C: +/* 07977C 7F044C4C AFA00108 */ sw $zero, 0x108($sp) +.L7F044C50: +/* 079780 7F044C50 8E2B0014 */ lw $t3, 0x14($s1) +/* 079784 7F044C54 C7A6012C */ lwc1 $f6, 0x12c($sp) +/* 079788 7F044C58 27A400C4 */ addiu $a0, $sp, 0xc4 +/* 07978C 7F044C5C AFAB00C4 */ sw $t3, 0xc4($sp) +/* 079790 7F044C60 8E260010 */ lw $a2, 0x10($s1) +/* 079794 7F044C64 8E250008 */ lw $a1, 8($s1) +/* 079798 7F044C68 8FA70124 */ lw $a3, 0x124($sp) +/* 07979C 7F044C6C 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 0797A0 7F044C70 E7A60010 */ swc1 $f6, 0x10($sp) +/* 0797A4 7F044C74 10400006 */ beqz $v0, .L7F044C90 +/* 0797A8 7F044C78 8FA400C4 */ lw $a0, 0xc4($sp) +/* 0797AC 7F044C7C 8FA50124 */ lw $a1, 0x124($sp) +/* 0797B0 7F044C80 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 0797B4 7F044C84 8FA6012C */ lw $a2, 0x12c($sp) +/* 0797B8 7F044C88 10000002 */ b .L7F044C94 +/* 0797BC 7F044C8C E7A00128 */ swc1 $f0, 0x128($sp) +.L7F044C90: +/* 0797C0 7F044C90 AFA00108 */ sw $zero, 0x108($sp) +.L7F044C94: +/* 0797C4 7F044C94 8E2C0014 */ lw $t4, 0x14($s1) +/* 0797C8 7F044C98 C7A40120 */ lwc1 $f4, 0x120($sp) +/* 0797CC 7F044C9C 27A400C4 */ addiu $a0, $sp, 0xc4 +/* 0797D0 7F044CA0 AFAC00C4 */ sw $t4, 0xc4($sp) +/* 0797D4 7F044CA4 8E260010 */ lw $a2, 0x10($s1) +/* 0797D8 7F044CA8 8E250008 */ lw $a1, 8($s1) +/* 0797DC 7F044CAC 8FA70118 */ lw $a3, 0x118($sp) +/* 0797E0 7F044CB0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 0797E4 7F044CB4 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0797E8 7F044CB8 10400006 */ beqz $v0, .L7F044CD4 +/* 0797EC 7F044CBC 8FA400C4 */ lw $a0, 0xc4($sp) +/* 0797F0 7F044CC0 8FA50118 */ lw $a1, 0x118($sp) +/* 0797F4 7F044CC4 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 0797F8 7F044CC8 8FA60120 */ lw $a2, 0x120($sp) +/* 0797FC 7F044CCC 10000002 */ b .L7F044CD8 +/* 079800 7F044CD0 E7A0011C */ swc1 $f0, 0x11c($sp) +.L7F044CD4: +/* 079804 7F044CD4 AFA00108 */ sw $zero, 0x108($sp) +.L7F044CD8: +/* 079808 7F044CD8 8E2D0014 */ lw $t5, 0x14($s1) +/* 07980C 7F044CDC C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 079810 7F044CE0 27A400C4 */ addiu $a0, $sp, 0xc4 +/* 079814 7F044CE4 AFAD00C4 */ sw $t5, 0xc4($sp) +/* 079818 7F044CE8 8E260010 */ lw $a2, 0x10($s1) +/* 07981C 7F044CEC 8E250008 */ lw $a1, 8($s1) +/* 079820 7F044CF0 8FA7010C */ lw $a3, 0x10c($sp) +/* 079824 7F044CF4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 079828 7F044CF8 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07982C 7F044CFC 10400006 */ beqz $v0, .L7F044D18 +/* 079830 7F044D00 8FA400C4 */ lw $a0, 0xc4($sp) +/* 079834 7F044D04 8FA5010C */ lw $a1, 0x10c($sp) +/* 079838 7F044D08 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 07983C 7F044D0C 8FA60114 */ lw $a2, 0x114($sp) +/* 079840 7F044D10 10000002 */ b .L7F044D1C +/* 079844 7F044D14 E7A00110 */ swc1 $f0, 0x110($sp) +.L7F044D18: +/* 079848 7F044D18 AFA00108 */ sw $zero, 0x108($sp) +.L7F044D1C: +/* 07984C 7F044D1C 8FAE0108 */ lw $t6, 0x108($sp) +/* 079850 7F044D20 26040018 */ addiu $a0, $s0, 0x18 +/* 079854 7F044D24 27A600BC */ addiu $a2, $sp, 0xbc +/* 079858 7F044D28 11C0010E */ beqz $t6, .L7F045164 +/* 07985C 7F044D2C 00802825 */ move $a1, $a0 +/* 079860 7F044D30 C7B20124 */ lwc1 $f18, 0x124($sp) +/* 079864 7F044D34 C7B00130 */ lwc1 $f16, 0x130($sp) +/* 079868 7F044D38 C7AE0128 */ lwc1 $f14, 0x128($sp) +/* 07986C 7F044D3C C7AC0134 */ lwc1 $f12, 0x134($sp) +/* 079870 7F044D40 46109401 */ sub.s $f16, $f18, $f16 +/* 079874 7F044D44 C7B2012C */ lwc1 $f18, 0x12c($sp) +/* 079878 7F044D48 C7AA0138 */ lwc1 $f10, 0x138($sp) +/* 07987C 7F044D4C 460C7301 */ sub.s $f12, $f14, $f12 +/* 079880 7F044D50 E7B000B4 */ swc1 $f16, 0xb4($sp) +/* 079884 7F044D54 27A400B4 */ addiu $a0, $sp, 0xb4 +/* 079888 7F044D58 460A9281 */ sub.s $f10, $f18, $f10 +/* 07988C 7F044D5C E7AC00B8 */ swc1 $f12, 0xb8($sp) +/* 079890 7F044D60 27A500B8 */ addiu $a1, $sp, 0xb8 +/* 079894 7F044D64 0C007DD4 */ jal guNormalize +/* 079898 7F044D68 E7AA00BC */ swc1 $f10, 0xbc($sp) +/* 07989C 7F044D6C C7B2010C */ lwc1 $f18, 0x10c($sp) +/* 0798A0 7F044D70 C7B00124 */ lwc1 $f16, 0x124($sp) +/* 0798A4 7F044D74 C7AE0110 */ lwc1 $f14, 0x110($sp) +/* 0798A8 7F044D78 C7AC0128 */ lwc1 $f12, 0x128($sp) +/* 0798AC 7F044D7C 46109401 */ sub.s $f16, $f18, $f16 +/* 0798B0 7F044D80 C7B20114 */ lwc1 $f18, 0x114($sp) +/* 0798B4 7F044D84 C7AA012C */ lwc1 $f10, 0x12c($sp) +/* 0798B8 7F044D88 460C7301 */ sub.s $f12, $f14, $f12 +/* 0798BC 7F044D8C E7B000A8 */ swc1 $f16, 0xa8($sp) +/* 0798C0 7F044D90 27A400A8 */ addiu $a0, $sp, 0xa8 +/* 0798C4 7F044D94 460A9281 */ sub.s $f10, $f18, $f10 +/* 0798C8 7F044D98 E7AC00AC */ swc1 $f12, 0xac($sp) +/* 0798CC 7F044D9C 27A500AC */ addiu $a1, $sp, 0xac +/* 0798D0 7F044DA0 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 0798D4 7F044DA4 0C007DD4 */ jal guNormalize +/* 0798D8 7F044DA8 E7AA00B0 */ swc1 $f10, 0xb0($sp) +/* 0798DC 7F044DAC C7B20118 */ lwc1 $f18, 0x118($sp) +/* 0798E0 7F044DB0 C7B0010C */ lwc1 $f16, 0x10c($sp) +/* 0798E4 7F044DB4 C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 0798E8 7F044DB8 C7AC0110 */ lwc1 $f12, 0x110($sp) +/* 0798EC 7F044DBC 46109401 */ sub.s $f16, $f18, $f16 +/* 0798F0 7F044DC0 C7B20120 */ lwc1 $f18, 0x120($sp) +/* 0798F4 7F044DC4 C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 0798F8 7F044DC8 460C7301 */ sub.s $f12, $f14, $f12 +/* 0798FC 7F044DCC E7B0009C */ swc1 $f16, 0x9c($sp) +/* 079900 7F044DD0 27A4009C */ addiu $a0, $sp, 0x9c +/* 079904 7F044DD4 460A9281 */ sub.s $f10, $f18, $f10 +/* 079908 7F044DD8 E7AC00A0 */ swc1 $f12, 0xa0($sp) +/* 07990C 7F044DDC 27A500A0 */ addiu $a1, $sp, 0xa0 +/* 079910 7F044DE0 27A600A4 */ addiu $a2, $sp, 0xa4 +/* 079914 7F044DE4 0C007DD4 */ jal guNormalize +/* 079918 7F044DE8 E7AA00A4 */ swc1 $f10, 0xa4($sp) +/* 07991C 7F044DEC C7B20130 */ lwc1 $f18, 0x130($sp) +/* 079920 7F044DF0 C7B00118 */ lwc1 $f16, 0x118($sp) +/* 079924 7F044DF4 C7AE0134 */ lwc1 $f14, 0x134($sp) +/* 079928 7F044DF8 C7AC011C */ lwc1 $f12, 0x11c($sp) +/* 07992C 7F044DFC 46109401 */ sub.s $f16, $f18, $f16 +/* 079930 7F044E00 C7B20138 */ lwc1 $f18, 0x138($sp) +/* 079934 7F044E04 C7AA0120 */ lwc1 $f10, 0x120($sp) +/* 079938 7F044E08 460C7301 */ sub.s $f12, $f14, $f12 +/* 07993C 7F044E0C E7B00090 */ swc1 $f16, 0x90($sp) +/* 079940 7F044E10 27A40090 */ addiu $a0, $sp, 0x90 +/* 079944 7F044E14 460A9281 */ sub.s $f10, $f18, $f10 +/* 079948 7F044E18 E7AC0094 */ swc1 $f12, 0x94($sp) +/* 07994C 7F044E1C 27A50094 */ addiu $a1, $sp, 0x94 +/* 079950 7F044E20 27A60098 */ addiu $a2, $sp, 0x98 +/* 079954 7F044E24 0C007DD4 */ jal guNormalize +/* 079958 7F044E28 E7AA0098 */ swc1 $f10, 0x98($sp) +/* 07995C 7F044E2C C7A800BC */ lwc1 $f8, 0xbc($sp) +/* 079960 7F044E30 C7A600A8 */ lwc1 $f6, 0xa8($sp) +/* 079964 7F044E34 C7AA00B0 */ lwc1 $f10, 0xb0($sp) +/* 079968 7F044E38 E7A80028 */ swc1 $f8, 0x28($sp) +/* 07996C 7F044E3C 46064102 */ mul.s $f4, $f8, $f6 +/* 079970 7F044E40 C7A800B4 */ lwc1 $f8, 0xb4($sp) +/* 079974 7F044E44 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 079978 7F044E48 E7AA0034 */ swc1 $f10, 0x34($sp) +/* 07997C 7F044E4C 46085182 */ mul.s $f6, $f10, $f8 +/* 079980 7F044E50 E7A80030 */ swc1 $f8, 0x30($sp) +/* 079984 7F044E54 C7A800A4 */ lwc1 $f8, 0xa4($sp) +/* 079988 7F044E58 46062001 */ sub.s $f0, $f4, $f6 +/* 07998C 7F044E5C C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 079990 7F044E60 46045182 */ mul.s $f6, $f10, $f4 +/* 079994 7F044E64 C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 079998 7F044E68 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 07999C 7F044E6C 460A4102 */ mul.s $f4, $f8, $f10 +/* 0799A0 7F044E70 46043381 */ sub.s $f14, $f6, $f4 +/* 0799A4 7F044E74 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 0799A8 7F044E78 4600703E */ c.le.s $f14, $f0 +/* 0799AC 7F044E7C 00000000 */ nop +/* 0799B0 7F044E80 45020023 */ bc1fl .L7F044F10 +/* 0799B4 7F044E84 C7A600A4 */ lwc1 $f6, 0xa4($sp) +/* 0799B8 7F044E88 46064102 */ mul.s $f4, $f8, $f6 +/* 0799BC 7F044E8C E7AA0038 */ swc1 $f10, 0x38($sp) +/* 0799C0 7F044E90 C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 0799C4 7F044E94 C7A80098 */ lwc1 $f8, 0x98($sp) +/* 0799C8 7F044E98 460A4282 */ mul.s $f10, $f8, $f10 +/* 0799CC 7F044E9C 460A2101 */ sub.s $f4, $f4, $f10 +/* 0799D0 7F044EA0 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 0799D4 7F044EA4 4600203E */ c.le.s $f4, $f0 +/* 0799D8 7F044EA8 00000000 */ nop +/* 0799DC 7F044EAC 45020018 */ bc1fl .L7F044F10 +/* 0799E0 7F044EB0 C7A600A4 */ lwc1 $f6, 0xa4($sp) +/* 0799E4 7F044EB4 460A4102 */ mul.s $f4, $f8, $f10 +/* 0799E8 7F044EB8 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 0799EC 7F044EBC C7AC00B8 */ lwc1 $f12, 0xb8($sp) +/* 0799F0 7F044EC0 46064182 */ mul.s $f6, $f8, $f6 +/* 0799F4 7F044EC4 46062101 */ sub.s $f4, $f4, $f6 +/* 0799F8 7F044EC8 C7A60034 */ lwc1 $f6, 0x34($sp) +/* 0799FC 7F044ECC 4600203E */ c.le.s $f4, $f0 +/* 079A00 7F044ED0 00000000 */ nop +/* 079A04 7F044ED4 4502000E */ bc1fl .L7F044F10 +/* 079A08 7F044ED8 C7A600A4 */ lwc1 $f6, 0xa4($sp) +/* 079A0C 7F044EDC 46066102 */ mul.s $f4, $f12, $f6 +/* 079A10 7F044EE0 C7A200AC */ lwc1 $f2, 0xac($sp) +/* 079A14 7F044EE4 E7A00078 */ swc1 $f0, 0x78($sp) +/* 079A18 7F044EE8 46081182 */ mul.s $f6, $f2, $f8 +/* 079A1C 7F044EEC 46062201 */ sub.s $f8, $f4, $f6 +/* 079A20 7F044EF0 46025102 */ mul.s $f4, $f10, $f2 +/* 079A24 7F044EF4 C7A60038 */ lwc1 $f6, 0x38($sp) +/* 079A28 7F044EF8 E7A80074 */ swc1 $f8, 0x74($sp) +/* 079A2C 7F044EFC 460C3202 */ mul.s $f8, $f6, $f12 +/* 079A30 7F044F00 46082281 */ sub.s $f10, $f4, $f8 +/* 079A34 7F044F04 10000045 */ b .L7F04501C +/* 079A38 7F044F08 E7AA007C */ swc1 $f10, 0x7c($sp) +/* 079A3C 7F044F0C C7A600A4 */ lwc1 $f6, 0xa4($sp) +.L7F044F10: +/* 079A40 7F044F10 C7A40090 */ lwc1 $f4, 0x90($sp) +/* 079A44 7F044F14 C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 079A48 7F044F18 E7A60038 */ swc1 $f6, 0x38($sp) +/* 079A4C 7F044F1C 46043202 */ mul.s $f8, $f6, $f4 +/* 079A50 7F044F20 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 079A54 7F044F24 E7A40034 */ swc1 $f4, 0x34($sp) +/* 079A58 7F044F28 46065102 */ mul.s $f4, $f10, $f6 +/* 079A5C 7F044F2C 46044001 */ sub.s $f0, $f8, $f4 +/* 079A60 7F044F30 C7A800B4 */ lwc1 $f8, 0xb4($sp) +/* 079A64 7F044F34 46085102 */ mul.s $f4, $f10, $f8 +/* 079A68 7F044F38 C7A80034 */ lwc1 $f8, 0x34($sp) +/* 079A6C 7F044F3C C7AA00BC */ lwc1 $f10, 0xbc($sp) +/* 079A70 7F044F40 460E003E */ c.le.s $f0, $f14 +/* 079A74 7F044F44 46085282 */ mul.s $f10, $f10, $f8 +/* 079A78 7F044F48 45000013 */ bc1f .L7F044F98 +/* 079A7C 7F044F4C 460A2081 */ sub.s $f2, $f4, $f10 +/* 079A80 7F044F50 460E103E */ c.le.s $f2, $f14 +/* 079A84 7F044F54 C7A80038 */ lwc1 $f8, 0x38($sp) +/* 079A88 7F044F58 45020010 */ bc1fl .L7F044F9C +/* 079A8C 7F044F5C 4600103E */ c.le.s $f2, $f0 +/* 079A90 7F044F60 C7A200AC */ lwc1 $f2, 0xac($sp) +/* 079A94 7F044F64 C7AC00A0 */ lwc1 $f12, 0xa0($sp) +/* 079A98 7F044F68 C7AA00B0 */ lwc1 $f10, 0xb0($sp) +/* 079A9C 7F044F6C 46081102 */ mul.s $f4, $f2, $f8 +/* 079AA0 7F044F70 E7AE0078 */ swc1 $f14, 0x78($sp) +/* 079AA4 7F044F74 460A6202 */ mul.s $f8, $f12, $f10 +/* 079AA8 7F044F78 46082281 */ sub.s $f10, $f4, $f8 +/* 079AAC 7F044F7C C7A400A8 */ lwc1 $f4, 0xa8($sp) +/* 079AB0 7F044F80 460C2202 */ mul.s $f8, $f4, $f12 +/* 079AB4 7F044F84 E7AA0074 */ swc1 $f10, 0x74($sp) +/* 079AB8 7F044F88 46023282 */ mul.s $f10, $f6, $f2 +/* 079ABC 7F044F8C 460A4101 */ sub.s $f4, $f8, $f10 +/* 079AC0 7F044F90 10000022 */ b .L7F04501C +/* 079AC4 7F044F94 E7A4007C */ swc1 $f4, 0x7c($sp) +.L7F044F98: +/* 079AC8 7F044F98 4600103E */ c.le.s $f2, $f0 +.L7F044F9C: +/* 079ACC 7F044F9C C7AC00A0 */ lwc1 $f12, 0xa0($sp) +/* 079AD0 7F044FA0 C7AE0094 */ lwc1 $f14, 0x94($sp) +/* 079AD4 7F044FA4 C7A400BC */ lwc1 $f4, 0xbc($sp) +/* 079AD8 7F044FA8 45000010 */ bc1f .L7F044FEC +/* 079ADC 7F044FAC C7A60098 */ lwc1 $f6, 0x98($sp) +/* 079AE0 7F044FB0 C7A60098 */ lwc1 $f6, 0x98($sp) +/* 079AE4 7F044FB4 C7AE0094 */ lwc1 $f14, 0x94($sp) +/* 079AE8 7F044FB8 C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 079AEC 7F044FBC 46066202 */ mul.s $f8, $f12, $f6 +/* 079AF0 7F044FC0 E7A00078 */ swc1 $f0, 0x78($sp) +/* 079AF4 7F044FC4 460A7102 */ mul.s $f4, $f14, $f10 +/* 079AF8 7F044FC8 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 079AFC 7F044FCC 46044181 */ sub.s $f6, $f8, $f4 +/* 079B00 7F044FD0 460E5202 */ mul.s $f8, $f10, $f14 +/* 079B04 7F044FD4 C7A40090 */ lwc1 $f4, 0x90($sp) +/* 079B08 7F044FD8 E7A60074 */ swc1 $f6, 0x74($sp) +/* 079B0C 7F044FDC 460C2182 */ mul.s $f6, $f4, $f12 +/* 079B10 7F044FE0 46064281 */ sub.s $f10, $f8, $f6 +/* 079B14 7F044FE4 1000000D */ b .L7F04501C +/* 079B18 7F044FE8 E7AA007C */ swc1 $f10, 0x7c($sp) +.L7F044FEC: +/* 079B1C 7F044FEC 46047202 */ mul.s $f8, $f14, $f4 +/* 079B20 7F044FF0 C7AC00B8 */ lwc1 $f12, 0xb8($sp) +/* 079B24 7F044FF4 E7A20078 */ swc1 $f2, 0x78($sp) +/* 079B28 7F044FF8 46066282 */ mul.s $f10, $f12, $f6 +/* 079B2C 7F044FFC C7A60090 */ lwc1 $f6, 0x90($sp) +/* 079B30 7F045000 460A4101 */ sub.s $f4, $f8, $f10 +/* 079B34 7F045004 460C3202 */ mul.s $f8, $f6, $f12 +/* 079B38 7F045008 C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 079B3C 7F04500C E7A40074 */ swc1 $f4, 0x74($sp) +/* 079B40 7F045010 460E5102 */ mul.s $f4, $f10, $f14 +/* 079B44 7F045014 46044181 */ sub.s $f6, $f8, $f4 +/* 079B48 7F045018 E7A6007C */ swc1 $f6, 0x7c($sp) +.L7F04501C: +/* 079B4C 7F04501C 0FC15FAB */ jal sinf +/* 079B50 7F045020 C60C00A0 */ lwc1 $f12, 0xa0($s0) +/* 079B54 7F045024 44805000 */ mtc1 $zero, $f10 +/* 079B58 7F045028 E7A00068 */ swc1 $f0, 0x68($sp) +/* 079B5C 7F04502C E7AA006C */ swc1 $f10, 0x6c($sp) +/* 079B60 7F045030 0FC15FA8 */ jal cosf +/* 079B64 7F045034 C60C00A0 */ lwc1 $f12, 0xa0($s0) +/* 079B68 7F045038 26040018 */ addiu $a0, $s0, 0x18 +/* 079B6C 7F04503C E7A00070 */ swc1 $f0, 0x70($sp) +/* 079B70 7F045040 0FC15FF4 */ jal reset_array_of_0x10_floats +/* 079B74 7F045044 AFA40058 */ sw $a0, 0x58($sp) +/* 079B78 7F045048 C7A80074 */ lwc1 $f8, 0x74($sp) +/* 079B7C 7F04504C 8FA50058 */ lw $a1, 0x58($sp) +/* 079B80 7F045050 E6080028 */ swc1 $f8, 0x28($s0) +/* 079B84 7F045054 C7A40078 */ lwc1 $f4, 0x78($sp) +/* 079B88 7F045058 C6100028 */ lwc1 $f16, 0x28($s0) +/* 079B8C 7F04505C E604002C */ swc1 $f4, 0x2c($s0) +/* 079B90 7F045060 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 079B94 7F045064 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 079B98 7F045068 E6060030 */ swc1 $f6, 0x30($s0) +/* 079B9C 7F04506C C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 079BA0 7F045070 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 079BA4 7F045074 C6000030 */ lwc1 $f0, 0x30($s0) +/* 079BA8 7F045078 460A7202 */ mul.s $f8, $f14, $f10 +/* 079BAC 7F04507C 00000000 */ nop +/* 079BB0 7F045080 46002182 */ mul.s $f6, $f4, $f0 +/* 079BB4 7F045084 46064281 */ sub.s $f10, $f8, $f6 +/* 079BB8 7F045088 E60A0018 */ swc1 $f10, 0x18($s0) +/* 079BBC 7F04508C C7A40068 */ lwc1 $f4, 0x68($sp) +/* 079BC0 7F045090 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 079BC4 7F045094 46040202 */ mul.s $f8, $f0, $f4 +/* 079BC8 7F045098 00000000 */ nop +/* 079BCC 7F04509C 46103282 */ mul.s $f10, $f6, $f16 +/* 079BD0 7F0450A0 460A4101 */ sub.s $f4, $f8, $f10 +/* 079BD4 7F0450A4 E604001C */ swc1 $f4, 0x1c($s0) +/* 079BD8 7F0450A8 C7A6006C */ lwc1 $f6, 0x6c($sp) +/* 079BDC 7F0450AC C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 079BE0 7F0450B0 46068202 */ mul.s $f8, $f16, $f6 +/* 079BE4 7F0450B4 00000000 */ nop +/* 079BE8 7F0450B8 460E5102 */ mul.s $f4, $f10, $f14 +/* 079BEC 7F0450BC C60A001C */ lwc1 $f10, 0x1c($s0) +/* 079BF0 7F0450C0 46044181 */ sub.s $f6, $f8, $f4 +/* 079BF4 7F0450C4 E6060020 */ swc1 $f6, 0x20($s0) +/* 079BF8 7F0450C8 E7AA0048 */ swc1 $f10, 0x48($sp) +/* 079BFC 7F0450CC C7A80048 */ lwc1 $f8, 0x48($sp) +/* 079C00 7F0450D0 C6020020 */ lwc1 $f2, 0x20($s0) +/* 079C04 7F0450D4 C6120018 */ lwc1 $f18, 0x18($s0) +/* 079C08 7F0450D8 46004102 */ mul.s $f4, $f8, $f0 +/* 079C0C 7F0450DC 00000000 */ nop +/* 079C10 7F0450E0 46027182 */ mul.s $f6, $f14, $f2 +/* 079C14 7F0450E4 46062281 */ sub.s $f10, $f4, $f6 +/* 079C18 7F0450E8 46101202 */ mul.s $f8, $f2, $f16 +/* 079C1C 7F0450EC 00000000 */ nop +/* 079C20 7F0450F0 46120102 */ mul.s $f4, $f0, $f18 +/* 079C24 7F0450F4 E60A0038 */ swc1 $f10, 0x38($s0) +/* 079C28 7F0450F8 460E9282 */ mul.s $f10, $f18, $f14 +/* 079C2C 7F0450FC 46044181 */ sub.s $f6, $f8, $f4 +/* 079C30 7F045100 E606003C */ swc1 $f6, 0x3c($s0) +/* 079C34 7F045104 C7A80048 */ lwc1 $f8, 0x48($sp) +/* 079C38 7F045108 46088102 */ mul.s $f4, $f16, $f8 +/* 079C3C 7F04510C 46045181 */ sub.s $f6, $f10, $f4 +/* 079C40 7F045110 E6060040 */ swc1 $f6, 0x40($s0) +/* 079C44 7F045114 8FAF0154 */ lw $t7, 0x154($sp) +/* 079C48 7F045118 C5EC0014 */ lwc1 $f12, 0x14($t7) +/* 079C4C 7F04511C 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 079C50 7F045120 AFA50058 */ sw $a1, 0x58($sp) +/* 079C54 7F045124 8FA40058 */ lw $a0, 0x58($sp) +/* 079C58 7F045128 8FA50148 */ lw $a1, 0x148($sp) +/* 079C5C 7F04512C 0FC16106 */ jal sub_GAME_7F058418 +/* 079C60 7F045130 27A60124 */ addiu $a2, $sp, 0x124 +/* 079C64 7F045134 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 079C68 7F045138 8FA400C0 */ lw $a0, 0xc0($sp) +/* 079C6C 7F04513C 8FB80154 */ lw $t8, 0x154($sp) +/* 079C70 7F045140 C7A80134 */ lwc1 $f8, 0x134($sp) +/* 079C74 7F045144 C70A0014 */ lwc1 $f10, 0x14($t8) +/* 079C78 7F045148 460A0102 */ mul.s $f4, $f0, $f10 +/* 079C7C 7F04514C C7AA0128 */ lwc1 $f10, 0x128($sp) +/* 079C80 7F045150 46044181 */ sub.s $f6, $f8, $f4 +/* 079C84 7F045154 460A3081 */ sub.s $f2, $f6, $f10 +/* 079C88 7F045158 E622000C */ swc1 $f2, 0xc($s1) +/* 079C8C 7F04515C 10000019 */ b .L7F0451C4 +/* 079C90 7F045160 E602005C */ swc1 $f2, 0x5c($s0) +.L7F045164: +/* 079C94 7F045164 C60C00A0 */ lwc1 $f12, 0xa0($s0) +/* 079C98 7F045168 0FC1617F */ jal sub_GAME_7F0585FC +/* 079C9C 7F04516C AFA40058 */ sw $a0, 0x58($sp) +/* 079CA0 7F045170 8FB90154 */ lw $t9, 0x154($sp) +/* 079CA4 7F045174 8FA50058 */ lw $a1, 0x58($sp) +/* 079CA8 7F045178 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 079CAC 7F04517C C72C0014 */ lwc1 $f12, 0x14($t9) +/* 079CB0 7F045180 8E240014 */ lw $a0, 0x14($s1) +/* 079CB4 7F045184 8E250008 */ lw $a1, 8($s1) +/* 079CB8 7F045188 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 079CBC 7F04518C 8E260010 */ lw $a2, 0x10($s1) +/* 079CC0 7F045190 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 079CC4 7F045194 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 079CC8 7F045198 8FA400C0 */ lw $a0, 0xc0($sp) +/* 079CCC 7F04519C 8FA80148 */ lw $t0, 0x148($sp) +/* 079CD0 7F0451A0 8FA90154 */ lw $t1, 0x154($sp) +/* 079CD4 7F0451A4 C5080004 */ lwc1 $f8, 4($t0) +/* 079CD8 7F0451A8 C5260014 */ lwc1 $f6, 0x14($t1) +/* 079CDC 7F0451AC 46004100 */ add.s $f4, $f8, $f0 +/* 079CE0 7F0451B0 C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 079CE4 7F0451B4 46062282 */ mul.s $f10, $f4, $f6 +/* 079CE8 7F0451B8 460A4081 */ sub.s $f2, $f8, $f10 +/* 079CEC 7F0451BC E622000C */ swc1 $f2, 0xc($s1) +/* 079CF0 7F0451C0 E602005C */ swc1 $f2, 0x5c($s0) +.L7F0451C4: +/* 079CF4 7F0451C4 8FBF0024 */ lw $ra, 0x24($sp) +/* 079CF8 7F0451C8 8FA20108 */ lw $v0, 0x108($sp) +/* 079CFC 7F0451CC 8FB0001C */ lw $s0, 0x1c($sp) +/* 079D00 7F0451D0 8FB10020 */ lw $s1, 0x20($sp) +/* 079D04 7F0451D4 03E00008 */ jr $ra +/* 079D08 7F0451D8 27BD0158 */ addiu $sp, $sp, 0x158 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0451DC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0451DC +/* 079D0C 7F0451DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 079D10 7F0451E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 079D14 7F0451E4 AFA5001C */ sw $a1, 0x1c($sp) +/* 079D18 7F0451E8 AFA60020 */ sw $a2, 0x20($sp) +/* 079D1C 7F0451EC AFA70024 */ sw $a3, 0x24($sp) +/* 079D20 7F0451F0 0FC225E6 */ jal get_curplayer_positiondata +/* 079D24 7F0451F4 AFA40018 */ sw $a0, 0x18($sp) +/* 079D28 7F0451F8 8FA40018 */ lw $a0, 0x18($sp) +/* 079D2C 7F0451FC C4460008 */ lwc1 $f6, 8($v0) +/* 079D30 7F045200 C44A000C */ lwc1 $f10, 0xc($v0) +/* 079D34 7F045204 C4840000 */ lwc1 $f4, ($a0) +/* 079D38 7F045208 C4880004 */ lwc1 $f8, 4($a0) +/* 079D3C 7F04520C C4520010 */ lwc1 $f18, 0x10($v0) +/* 079D40 7F045210 46062001 */ sub.s $f0, $f4, $f6 +/* 079D44 7F045214 C4900008 */ lwc1 $f16, 8($a0) +/* 079D48 7F045218 460A4081 */ sub.s $f2, $f8, $f10 +/* 079D4C 7F04521C 46000102 */ mul.s $f4, $f0, $f0 +/* 079D50 7F045220 46128381 */ sub.s $f14, $f16, $f18 +/* 079D54 7F045224 46021182 */ mul.s $f6, $f2, $f2 +/* 079D58 7F045228 46062200 */ add.s $f8, $f4, $f6 +/* 079D5C 7F04522C 460E7282 */ mul.s $f10, $f14, $f14 +/* 079D60 7F045230 0C007DF8 */ jal sqrtf +/* 079D64 7F045234 460A4300 */ add.s $f12, $f8, $f10 +/* 079D68 7F045238 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 079D6C 7F04523C C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 079D70 7F045240 8FBF0014 */ lw $ra, 0x14($sp) +/* 079D74 7F045244 4600603C */ c.lt.s $f12, $f0 +/* 079D78 7F045248 00000000 */ nop +/* 079D7C 7F04524C 45020004 */ bc1fl .L7F045260 +/* 079D80 7F045250 4602003C */ c.lt.s $f0, $f2 +/* 079D84 7F045254 1000001C */ b .L7F0452C8 +/* 079D88 7F045258 240300FF */ li $v1, 255 +/* 079D8C 7F04525C 4602003C */ c.lt.s $f0, $f2 +.L7F045260: +/* 079D90 7F045260 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 079D94 7F045264 C7B00024 */ lwc1 $f16, 0x24($sp) +/* 079D98 7F045268 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 079D9C 7F04526C 4502000A */ bc1fl .L7F045298 +/* 079DA0 7F045270 44815000 */ mtc1 $at, $f10 +/* 079DA4 7F045274 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 079DA8 7F045278 44819000 */ mtc1 $at, $f18 +/* 079DAC 7F04527C 00000000 */ nop +/* 079DB0 7F045280 46128102 */ mul.s $f4, $f16, $f18 +/* 079DB4 7F045284 4600218D */ trunc.w.s $f6, $f4 +/* 079DB8 7F045288 44033000 */ mfc1 $v1, $f6 +/* 079DBC 7F04528C 1000000F */ b .L7F0452CC +/* 079DC0 7F045290 00601025 */ move $v0, $v1 +/* 079DC4 7F045294 44815000 */ mtc1 $at, $f10 +.L7F045298: +/* 079DC8 7F045298 46020201 */ sub.s $f8, $f0, $f2 +/* 079DCC 7F04529C 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 079DD0 7F0452A0 460E5401 */ sub.s $f16, $f10, $f14 +/* 079DD4 7F0452A4 46026101 */ sub.s $f4, $f12, $f2 +/* 079DD8 7F0452A8 46104482 */ mul.s $f18, $f8, $f16 +/* 079DDC 7F0452AC 44814000 */ mtc1 $at, $f8 +/* 079DE0 7F0452B0 46049183 */ div.s $f6, $f18, $f4 +/* 079DE4 7F0452B4 460E3280 */ add.s $f10, $f6, $f14 +/* 079DE8 7F0452B8 46085402 */ mul.s $f16, $f10, $f8 +/* 079DEC 7F0452BC 4600848D */ trunc.w.s $f18, $f16 +/* 079DF0 7F0452C0 44039000 */ mfc1 $v1, $f18 +/* 079DF4 7F0452C4 00000000 */ nop +.L7F0452C8: +/* 079DF8 7F0452C8 00601025 */ move $v0, $v1 +.L7F0452CC: +/* 079DFC 7F0452CC 03E00008 */ jr $ra +/* 079E00 7F0452D0 27BD0018 */ addiu $sp, $sp, 0x18 +) +#endif + + + + + +#ifdef NONMATCHING +void object_interaction(void) { + +} +#else + +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata +glabel rocket_initial_gravity_modifier +.word 0x3e8e38e4 /*0.27777779*/ +glabel D_80052A9C +.word 0x3c360b61 /*0.011111111*/ +glabel D_80052AA0 +.word 0x3d8f5c29 /*0.07*/ +glabel prop_projectile_gravity_modifier +.word 0x3e8e38e4 /*0.27777779*/ +glabel D_80052AA8 +.word 0x400e38e4 /*2.2222223*/ +glabel D_80052AAC +.word 0x46d9038c /*27777.773*/ +glabel D_80052AB0 +.word 0x3f8ccccd /*1.1*/ +glabel D_80052AB4 +.word 0x3f666666 /*0.89999998*/ +glabel D_80052AB8 +.word 0x3f666666 /*0.89999998*/ +glabel D_80052ABC +.word 0x3dcccccd /*0.1*/ +glabel D_80052AC0 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052AC4 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052AC8 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052ACC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AD0 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052AD4 +.word 0x3f490fdb /*0.78539819*/ +glabel D_80052AD8 +.word 0xbf490fdb /*-0.78539819*/ +glabel D_80052ADC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AE0 +.word 0x3a2b92a6 /*0.00065449846*/ +glabel D_80052AE4 +.word 0x3a2b92a6 /*0.00065449846*/ +glabel D_80052AE8 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AEC +.word 0x37433637 /*0.000011635529*/ +glabel D_80052AF0 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AF4 +.word 0x3a3702d4 /*0.00069813174*/ +glabel D_80052AF8 +.word 0x36c33637 /*0.0000058177643*/ +glabel D_80052AFC +.word 0x39b702d4 /*0.00034906587*/ +glabel D_80052B00 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B04 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B08 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B0C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B10 +.word 0x3f9c61ab /*1.2217306*/ +glabel D_80052B14 +.word 0xbf9c61ab /*-1.2217306*/ +glabel D_80052B18 +.word 0xc0490fdb /*-3.1415927*/ +glabel D_80052B1C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B20 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B24 +.word 0x3f4ccccd /*0.80000001*/ +glabel D_80052B28 +.word 0xc0490fdb /*-3.1415927*/ +glabel D_80052B2C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B30 +.word 0x3a64c389 /*0.00087266468*/ +glabel D_80052B34 +.word 0x3a64c389 /*0.00087266468*/ +glabel D_80052B38 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B3C +.word 0x3f1930a7 /*0.59839863*/ +glabel D_80052B40 +.word 0x3c236719 /*0.0099733109*/ +glabel D_80052B44 +.word 0x3f7d70a4 /*0.99000001*/ +glabel D_80052B48 +.word 0x38d1b717 /*0.000099999997*/ +glabel D_80052B4C +.word 0x3964c389 /*0.00021816617*/ +glabel D_80052B50 +.word 0x3bd67750 /*0.0065449849*/ +glabel D_80052B54 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B58 +.word 0x3964c389 /*0.00021816617*/ +glabel D_80052B5C +.word 0xb964c389 /*-0.00021816617*/ +glabel D_80052B60 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B64 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B68 +.word 0x3e99999a /*0.30000001*/ +glabel D_80052B6C +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052B70 +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052B74 +.word 0x3e23d70a /*0.16*/ +glabel D_80052B78 +.word 0x461c4000 /*10000.0*/ +glabel D_80052B7C +.word 0x453b8000 /*3000.0*/ +glabel D_80052B80 +.word 0x3f19999a /*0.60000002*/ +glabel D_80052B84 +.word 0x3e99999a /*0.30000001*/ +glabel D_80052B88 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052B8C +.word 0x3e4ccccd /*0.2*/ +glabel D_80052B90 +.word 0x453b8000 /*3000.0*/ +glabel D_80052B94 +.word 0x453b8000 /*3000.0*/ +.text +glabel object_interaction +/* 079E04 7F0452D4 27BDF958 */ addiu $sp, $sp, -0x6a8 +/* 079E08 7F0452D8 AFBF0054 */ sw $ra, 0x54($sp) +/* 079E0C 7F0452DC AFB40050 */ sw $s4, 0x50($sp) +/* 079E10 7F0452E0 AFB3004C */ sw $s3, 0x4c($sp) +/* 079E14 7F0452E4 AFB20048 */ sw $s2, 0x48($sp) +/* 079E18 7F0452E8 AFB10044 */ sw $s1, 0x44($sp) +/* 079E1C 7F0452EC AFB00040 */ sw $s0, 0x40($sp) +/* 079E20 7F0452F0 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 079E24 7F0452F4 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 079E28 7F0452F8 8C910004 */ lw $s1, 4($a0) +/* 079E2C 7F0452FC 4480B000 */ mtc1 $zero, $f22 +/* 079E30 7F045300 00809825 */ move $s3, $a0 +/* 079E34 7F045304 8E340014 */ lw $s4, 0x14($s1) +/* 079E38 7F045308 AFA00690 */ sw $zero, 0x690($sp) +/* 079E3C 7F04530C AFA00680 */ sw $zero, 0x680($sp) +/* 079E40 7F045310 0FC26919 */ jal get_num_players +/* 079E44 7F045314 E7B6067C */ swc1 $f22, 0x67c($sp) +/* 079E48 7F045318 240C0001 */ li $t4, 1 +/* 079E4C 7F04531C AFA20674 */ sw $v0, 0x674($sp) +/* 079E50 7F045320 AFAC0670 */ sw $t4, 0x670($sp) +/* 079E54 7F045324 8E230064 */ lw $v1, 0x64($s1) +/* 079E58 7F045328 306E0004 */ andi $t6, $v1, 4 +/* 079E5C 7F04532C 11C00009 */ beqz $t6, .L7F045354 +/* 079E60 7F045330 306F0008 */ andi $t7, $v1, 8 +/* 079E64 7F045334 92260002 */ lbu $a2, 2($s1) +/* 079E68 7F045338 02202025 */ move $a0, $s1 +/* 079E6C 7F04533C 00002825 */ move $a1, $zero +/* 079E70 7F045340 30CD0004 */ andi $t5, $a2, 4 +/* 079E74 7F045344 0FC10366 */ jal sub_GAME_7F040D98 +/* 079E78 7F045348 01A03025 */ move $a2, $t5 +/* 079E7C 7F04534C 100011F8 */ b .L7F049B30 +/* 079E80 7F045350 24020001 */ li $v0, 1 +.L7F045354: +/* 079E84 7F045354 11E00005 */ beqz $t7, .L7F04536C +/* 079E88 7F045358 30680080 */ andi $t0, $v1, 0x80 +/* 079E8C 7F04535C 2401FFF7 */ li $at, -9 +/* 079E90 7F045360 0061C024 */ and $t8, $v1, $at +/* 079E94 7F045364 1000000B */ b .L7F045394 +/* 079E98 7F045368 AE380064 */ sw $t8, 0x64($s1) +.L7F04536C: +/* 079E9C 7F04536C 5100000A */ beql $t0, $zero, .L7F045398 +/* 079EA0 7F045370 24010001 */ li $at, 1 +/* 079EA4 7F045374 92690001 */ lbu $t1, 1($s3) +/* 079EA8 7F045378 24020003 */ li $v0, 3 +/* 079EAC 7F04537C 312BFFFD */ andi $t3, $t1, 0xfffd +/* 079EB0 7F045380 A26B0001 */ sb $t3, 1($s3) +/* 079EB4 7F045384 8E390064 */ lw $t9, 0x64($s1) +/* 079EB8 7F045388 372A0008 */ ori $t2, $t9, 8 +/* 079EBC 7F04538C 100011E8 */ b .L7F049B30 +/* 079EC0 7F045390 AE2A0064 */ sw $t2, 0x64($s1) +.L7F045394: +/* 079EC4 7F045394 24010001 */ li $at, 1 +.L7F045398: +/* 079EC8 7F045398 14410003 */ bne $v0, $at, .L7F0453A8 +/* 079ECC 7F04539C 240C0001 */ li $t4, 1 +/* 079ED0 7F0453A0 10000015 */ b .L7F0453F8 +/* 079ED4 7F0453A4 AFAC0678 */ sw $t4, 0x678($sp) +.L7F0453A8: +/* 079ED8 7F0453A8 0FC26C54 */ jal get_cur_playernum +/* 079EDC 7F0453AC 00000000 */ nop +/* 079EE0 7F0453B0 0FC26D36 */ jal sub_GAME_7F09B4D8 +/* 079EE4 7F0453B4 00402025 */ move $a0, $v0 +/* 079EE8 7F0453B8 2C4E0001 */ sltiu $t6, $v0, 1 +/* 079EEC 7F0453BC AFAE0678 */ sw $t6, 0x678($sp) +/* 079EF0 7F0453C0 8E2D0064 */ lw $t5, 0x64($s1) +/* 079EF4 7F0453C4 31AF0080 */ andi $t7, $t5, 0x80 +/* 079EF8 7F0453C8 51E0000C */ beql $t7, $zero, .L7F0453FC +/* 079EFC 7F0453CC 8FAB0678 */ lw $t3, 0x678($sp) +/* 079F00 7F0453D0 8E22006C */ lw $v0, 0x6c($s1) +/* 079F04 7F0453D4 3C188008 */ lui $t8, %hi(pPlayer) +/* 079F08 7F0453D8 8C430088 */ lw $v1, 0x88($v0) +/* 079F0C 7F0453DC 50600007 */ beql $v1, $zero, .L7F0453FC +/* 079F10 7F0453E0 8FAB0678 */ lw $t3, 0x678($sp) +/* 079F14 7F0453E4 8F18A0B0 */ lw $t8, %lo(pPlayer)($t8) +/* 079F18 7F0453E8 8F0800A8 */ lw $t0, 0xa8($t8) +/* 079F1C 7F0453EC 01034826 */ xor $t1, $t0, $v1 +/* 079F20 7F0453F0 2D290001 */ sltiu $t1, $t1, 1 +/* 079F24 7F0453F4 AFA90678 */ sw $t1, 0x678($sp) +.L7F0453F8: +/* 079F28 7F0453F8 8FAB0678 */ lw $t3, 0x678($sp) +.L7F0453FC: +/* 079F2C 7F0453FC 51600B8C */ beql $t3, $zero, .L7F048230 +/* 079F30 7F045400 92220003 */ lbu $v0, 3($s1) +/* 079F34 7F045404 8E390064 */ lw $t9, 0x64($s1) +/* 079F38 7F045408 332A0080 */ andi $t2, $t9, 0x80 +/* 079F3C 7F04540C 51400483 */ beql $t2, $zero, .L7F04661C +/* 079F40 7F045410 8FAD0690 */ lw $t5, 0x690($sp) +/* 079F44 7F045414 8E30006C */ lw $s0, 0x6c($s1) +/* 079F48 7F045418 3C0E8005 */ lui $t6, %hi(clock_timer) +/* 079F4C 7F04541C 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) +/* 079F50 7F045420 8E0C00E0 */ lw $t4, 0xe0($s0) +/* 079F54 7F045424 018E6821 */ addu $t5, $t4, $t6 +/* 079F58 7F045428 29A10961 */ slti $at, $t5, 0x961 +/* 079F5C 7F04542C 14200004 */ bnez $at, .L7F045440 +/* 079F60 7F045430 AE0D00E0 */ sw $t5, 0xe0($s0) +/* 079F64 7F045434 8E380064 */ lw $t8, 0x64($s1) +/* 079F68 7F045438 37080004 */ ori $t0, $t8, 4 +/* 079F6C 7F04543C AE280064 */ sw $t0, 0x64($s1) +.L7F045440: +/* 079F70 7F045440 8E090000 */ lw $t1, ($s0) +/* 079F74 7F045444 312B0100 */ andi $t3, $t1, 0x100 +/* 079F78 7F045448 5160002F */ beql $t3, $zero, .L7F045508 +/* 079F7C 7F04544C C6260058 */ lwc1 $f6, 0x58($s1) +/* 079F80 7F045450 92390003 */ lbu $t9, 3($s1) +/* 079F84 7F045454 24010008 */ li $at, 8 +/* 079F88 7F045458 24120001 */ li $s2, 1 +/* 079F8C 7F04545C 57210008 */ bnel $t9, $at, .L7F045480 +/* 079F90 7F045460 8E040088 */ lw $a0, 0x88($s0) +/* 079F94 7F045464 AFB10648 */ sw $s1, 0x648($sp) +/* 079F98 7F045468 822A0080 */ lb $t2, 0x80($s1) +/* 079F9C 7F04546C 24010056 */ li $at, 86 +/* 079FA0 7F045470 55410003 */ bnel $t2, $at, .L7F045480 +/* 079FA4 7F045474 8E040088 */ lw $a0, 0x88($s0) +/* 079FA8 7F045478 00009025 */ move $s2, $zero +/* 079FAC 7F04547C 8E040088 */ lw $a0, 0x88($s0) +.L7F045480: +/* 079FB0 7F045480 50800004 */ beql $a0, $zero, .L7F045494 +/* 079FB4 7F045484 02202025 */ move $a0, $s1 +/* 079FB8 7F045488 0FC0F416 */ jal sub_GAME_7F03D058 +/* 079FBC 7F04548C 00002825 */ move $a1, $zero +/* 079FC0 7F045490 02202025 */ move $a0, $s1 +.L7F045494: +/* 079FC4 7F045494 260500D4 */ addiu $a1, $s0, 0xd4 +/* 079FC8 7F045498 27A6064C */ addiu $a2, $sp, 0x64c +/* 079FCC 7F04549C 27A70658 */ addiu $a3, $sp, 0x658 +/* 079FD0 7F0454A0 AFA00010 */ sw $zero, 0x10($sp) +/* 079FD4 7F0454A4 0FC10BAD */ jal sub_GAME_7F042EB4 +/* 079FD8 7F0454A8 AFB20014 */ sw $s2, 0x14($sp) +/* 079FDC 7F0454AC AFA20664 */ sw $v0, 0x664($sp) +/* 079FE0 7F0454B0 8E040088 */ lw $a0, 0x88($s0) +/* 079FE4 7F0454B4 50800004 */ beql $a0, $zero, .L7F0454C8 +/* 079FE8 7F0454B8 8FAC0664 */ lw $t4, 0x664($sp) +/* 079FEC 7F0454BC 0FC0F416 */ jal sub_GAME_7F03D058 +/* 079FF0 7F0454C0 24050001 */ li $a1, 1 +/* 079FF4 7F0454C4 8FAC0664 */ lw $t4, 0x664($sp) +.L7F0454C8: +/* 079FF8 7F0454C8 24010001 */ li $at, 1 +/* 079FFC 7F0454CC 8FA20648 */ lw $v0, 0x648($sp) +/* 07A000 7F0454D0 51810009 */ beql $t4, $at, .L7F0454F8 +/* 07A004 7F0454D4 8E0D0000 */ lw $t5, ($s0) +/* 07A008 7F0454D8 50400007 */ beql $v0, $zero, .L7F0454F8 +/* 07A00C 7F0454DC 8E0D0000 */ lw $t5, ($s0) +/* 07A010 7F0454E0 804E0080 */ lb $t6, 0x80($v0) +/* 07A014 7F0454E4 24010056 */ li $at, 86 +/* 07A018 7F0454E8 55C10003 */ bnel $t6, $at, .L7F0454F8 +/* 07A01C 7F0454EC 8E0D0000 */ lw $t5, ($s0) +/* 07A020 7F0454F0 A4400082 */ sh $zero, 0x82($v0) +/* 07A024 7F0454F4 8E0D0000 */ lw $t5, ($s0) +.L7F0454F8: +/* 07A028 7F0454F8 2401FEFF */ li $at, -257 +/* 07A02C 7F0454FC 01A17824 */ and $t7, $t5, $at +/* 07A030 7F045500 AE0F0000 */ sw $t7, ($s0) +/* 07A034 7F045504 C6260058 */ lwc1 $f6, 0x58($s1) +.L7F045508: +/* 07A038 7F045508 3C188005 */ lui $t8, %hi(clock_timer) +/* 07A03C 7F04550C 3C013F80 */ lui $at, 0x3f80 +/* 07A040 7F045510 E7A60694 */ swc1 $f6, 0x694($sp) +/* 07A044 7F045514 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07A048 7F045518 E7AA0698 */ swc1 $f10, 0x698($sp) +/* 07A04C 7F04551C C6240060 */ lwc1 $f4, 0x60($s1) +/* 07A050 7F045520 E7A4069C */ swc1 $f4, 0x69c($sp) +/* 07A054 7F045524 8E0200BC */ lw $v0, 0xbc($s0) +/* 07A058 7F045528 58400005 */ blezl $v0, .L7F045540 +/* 07A05C 7F04552C 8E29006C */ lw $t1, 0x6c($s1) +/* 07A060 7F045530 8F188374 */ lw $t8, %lo(clock_timer)($t8) +/* 07A064 7F045534 00584023 */ subu $t0, $v0, $t8 +/* 07A068 7F045538 AE0800BC */ sw $t0, 0xbc($s0) +/* 07A06C 7F04553C 8E29006C */ lw $t1, 0x6c($s1) +.L7F045540: +/* 07A070 7F045540 8D2B0000 */ lw $t3, ($t1) +/* 07A074 7F045544 31790001 */ andi $t9, $t3, 1 +/* 07A078 7F045548 53200351 */ beql $t9, $zero, .L7F046290 +/* 07A07C 7F04554C C6000060 */ lwc1 $f0, 0x60($s0) +/* 07A080 7F045550 0FC1001E */ jal sub_GAME_7F040078 +/* 07A084 7F045554 02202025 */ move $a0, $s1 +/* 07A088 7F045558 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07A08C 7F04555C 44814000 */ mtc1 $at, $f8 +/* 07A090 7F045560 3C078005 */ lui $a3, %hi(clock_timer) +/* 07A094 7F045564 24E78374 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c8c +/* 07A098 7F045568 AFA20640 */ sw $v0, 0x640($sp) +/* 07A09C 7F04556C AFA00610 */ sw $zero, 0x610($sp) +/* 07A0A0 7F045570 AFA0060C */ sw $zero, 0x60c($sp) +/* 07A0A4 7F045574 AFA00604 */ sw $zero, 0x604($sp) +/* 07A0A8 7F045578 E7A80638 */ swc1 $f8, 0x638($sp) +/* 07A0AC 7F04557C 8E0A00A8 */ lw $t2, 0xa8($s0) +/* 07A0B0 7F045580 8CEC0000 */ lw $t4, ($a3) +/* 07A0B4 7F045584 C634005C */ lwc1 $f20, 0x5c($s1) +/* 07A0B8 7F045588 00009025 */ move $s2, $zero +/* 07A0BC 7F04558C 014C7021 */ addu $t6, $t2, $t4 +/* 07A0C0 7F045590 AE0E00A8 */ sw $t6, 0xa8($s0) +/* 07A0C4 7F045594 C6260018 */ lwc1 $f6, 0x18($s1) +/* 07A0C8 7F045598 3C018005 */ lui $at, %hi(rocket_initial_gravity_modifier) +/* 07A0CC 7F04559C E7A6062C */ swc1 $f6, 0x62c($sp) +/* 07A0D0 7F0455A0 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 07A0D4 7F0455A4 E7AA0630 */ swc1 $f10, 0x630($sp) +/* 07A0D8 7F0455A8 C6240020 */ lwc1 $f4, 0x20($s1) +/* 07A0DC 7F0455AC E7A40634 */ swc1 $f4, 0x634($sp) +/* 07A0E0 7F0455B0 8E030000 */ lw $v1, ($s0) +/* 07A0E4 7F0455B4 306D0020 */ andi $t5, $v1, 0x20 +/* 07A0E8 7F0455B8 11A0004B */ beqz $t5, .L7F0456E8 +/* 07A0EC 7F0455BC 00000000 */ nop +/* 07A0F0 7F0455C0 C4322A98 */ lwc1 $f18, %lo(rocket_initial_gravity_modifier)($at) +/* 07A0F4 7F0455C4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07A0F8 7F0455C8 3C028005 */ lui $v0, %hi(global_timer_delta) +/* 07A0FC 7F0455CC 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07A100 7F0455D0 4612003C */ c.lt.s $f0, $f18 +/* 07A104 7F0455D4 00000000 */ nop +/* 07A108 7F0455D8 4502001C */ bc1fl .L7F04564C +/* 07A10C 7F0455DC C60000B0 */ lwc1 $f0, 0xb0($s0) +/* 07A110 7F0455E0 C6080014 */ lwc1 $f8, 0x14($s0) +/* 07A114 7F0455E4 C4460000 */ lwc1 $f6, ($v0) +/* 07A118 7F0455E8 C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 07A11C 7F0455EC 3C018005 */ lui $at, %hi(D_80052A9C) +/* 07A120 7F0455F0 46064282 */ mul.s $f10, $f8, $f6 +/* 07A124 7F0455F4 460A2200 */ add.s $f8, $f4, $f10 +/* 07A128 7F0455F8 E60800B4 */ swc1 $f8, 0xb4($s0) +/* 07A12C 7F0455FC C4440000 */ lwc1 $f4, ($v0) +/* 07A130 7F045600 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07A134 7F045604 C60800B0 */ lwc1 $f8, 0xb0($s0) +/* 07A138 7F045608 46043282 */ mul.s $f10, $f6, $f4 +/* 07A13C 7F04560C 460A4180 */ add.s $f6, $f8, $f10 +/* 07A140 7F045610 E60600B0 */ swc1 $f6, 0xb0($s0) +/* 07A144 7F045614 C4480000 */ lwc1 $f8, ($v0) +/* 07A148 7F045618 C4242A9C */ lwc1 $f4, %lo(D_80052A9C)($at) +/* 07A14C 7F04561C 46082282 */ mul.s $f10, $f4, $f8 +/* 07A150 7F045620 460A0180 */ add.s $f6, $f0, $f10 +/* 07A154 7F045624 E606001C */ swc1 $f6, 0x1c($s0) +/* 07A158 7F045628 C604001C */ lwc1 $f4, 0x1c($s0) +/* 07A15C 7F04562C 4604903C */ c.lt.s $f18, $f4 +/* 07A160 7F045630 00000000 */ nop +/* 07A164 7F045634 45000002 */ bc1f .L7F045640 +/* 07A168 7F045638 00000000 */ nop +/* 07A16C 7F04563C E612001C */ swc1 $f18, 0x1c($s0) +.L7F045640: +/* 07A170 7F045640 10000029 */ b .L7F0456E8 +/* 07A174 7F045644 8E030000 */ lw $v1, ($s0) +/* 07A178 7F045648 C60000B0 */ lwc1 $f0, 0xb0($s0) +.L7F04564C: +/* 07A17C 7F04564C C7A80698 */ lwc1 $f8, 0x698($sp) +/* 07A180 7F045650 4600403C */ c.lt.s $f8, $f0 +/* 07A184 7F045654 00000000 */ nop +/* 07A188 7F045658 45000019 */ bc1f .L7F0456C0 +/* 07A18C 7F04565C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07A190 7F045660 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) +/* 07A194 7F045664 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 07A198 7F045668 C60800B4 */ lwc1 $f8, 0xb4($s0) +/* 07A19C 7F04566C 46065102 */ mul.s $f4, $f10, $f6 +/* 07A1A0 7F045670 46044280 */ add.s $f10, $f8, $f4 +/* 07A1A4 7F045674 E60A00B4 */ swc1 $f10, 0xb4($s0) +/* 07A1A8 7F045678 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) +/* 07A1AC 7F04567C C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07A1B0 7F045680 3C018005 */ lui $at, %hi(D_80052AA0) +/* 07A1B4 7F045684 46083102 */ mul.s $f4, $f6, $f8 +/* 07A1B8 7F045688 46040280 */ add.s $f10, $f0, $f4 +/* 07A1BC 7F04568C E60A00B0 */ swc1 $f10, 0xb0($s0) +/* 07A1C0 7F045690 C7A80698 */ lwc1 $f8, 0x698($sp) +/* 07A1C4 7F045694 C60600B0 */ lwc1 $f6, 0xb0($s0) +/* 07A1C8 7F045698 C42A2AA0 */ lwc1 $f10, %lo(D_80052AA0)($at) +/* 07A1CC 7F04569C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07A1D0 7F0456A0 46083101 */ sub.s $f4, $f6, $f8 +/* 07A1D4 7F0456A4 46045182 */ mul.s $f6, $f10, $f4 +/* 07A1D8 7F0456A8 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07A1DC 7F0456AC 460A3102 */ mul.s $f4, $f6, $f10 +/* 07A1E0 7F0456B0 46044180 */ add.s $f6, $f8, $f4 +/* 07A1E4 7F0456B4 E7A60698 */ swc1 $f6, 0x698($sp) +/* 07A1E8 7F0456B8 1000000B */ b .L7F0456E8 +/* 07A1EC 7F0456BC 8E030000 */ lw $v1, ($s0) +.L7F0456C0: +/* 07A1F0 7F0456C0 E7A00698 */ swc1 $f0, 0x698($sp) +/* 07A1F4 7F0456C4 8E0F0000 */ lw $t7, ($s0) +/* 07A1F8 7F0456C8 2401FFDF */ li $at, -33 +/* 07A1FC 7F0456CC C60A00B4 */ lwc1 $f10, 0xb4($s0) +/* 07A200 7F0456D0 01E1C024 */ and $t8, $t7, $at +/* 07A204 7F0456D4 AE180000 */ sw $t8, ($s0) +/* 07A208 7F0456D8 37030010 */ ori $v1, $t8, 0x10 +/* 07A20C 7F0456DC E616001C */ swc1 $f22, 0x1c($s0) +/* 07A210 7F0456E0 AE030000 */ sw $v1, ($s0) +/* 07A214 7F0456E4 E60A0008 */ swc1 $f10, 8($s0) +.L7F0456E8: +/* 07A218 7F0456E8 3C028005 */ lui $v0, %hi(global_timer_delta) +/* 07A21C 7F0456EC 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07A220 7F0456F0 3C018005 */ lui $at, %hi(prop_projectile_gravity_modifier) +/* 07A224 7F0456F4 306B0010 */ andi $t3, $v1, 0x10 +/* 07A228 7F0456F8 C4322AA4 */ lwc1 $f18, %lo(prop_projectile_gravity_modifier)($at) +/* 07A22C 7F0456FC C4420000 */ lwc1 $f2, ($v0) +/* 07A230 7F045700 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07A234 7F045704 15600015 */ bnez $t3, .L7F04575C +/* 07A238 7F045708 C6100014 */ lwc1 $f16, 0x14($s0) +/* 07A23C 7F04570C 46008100 */ add.s $f4, $f16, $f0 +/* 07A240 7F045710 C6080008 */ lwc1 $f8, 8($s0) +/* 07A244 7F045714 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A248 7F045718 46022182 */ mul.s $f6, $f4, $f2 +/* 07A24C 7F04571C 46064280 */ add.s $f10, $f8, $f6 +/* 07A250 7F045720 E60A0008 */ swc1 $f10, 8($s0) +/* 07A254 7F045724 C4420000 */ lwc1 $f2, ($v0) +/* 07A258 7F045728 C60C0008 */ lwc1 $f12, 8($s0) +/* 07A25C 7F04572C 44815000 */ mtc1 $at, $f10 +/* 07A260 7F045730 46029102 */ mul.s $f4, $f18, $f2 +/* 07A264 7F045734 46046381 */ sub.s $f14, $f12, $f4 +/* 07A268 7F045738 460E6200 */ add.s $f8, $f12, $f14 +/* 07A26C 7F04573C 46081182 */ mul.s $f6, $f2, $f8 +/* 07A270 7F045740 C7A80698 */ lwc1 $f8, 0x698($sp) +/* 07A274 7F045744 460A3102 */ mul.s $f4, $f6, $f10 +/* 07A278 7F045748 46044180 */ add.s $f6, $f8, $f4 +/* 07A27C 7F04574C E7A60698 */ swc1 $f6, 0x698($sp) +/* 07A280 7F045750 E60E0008 */ swc1 $f14, 8($s0) +/* 07A284 7F045754 1000000C */ b .L7F045788 +/* 07A288 7F045758 C4420000 */ lwc1 $f2, ($v0) +.L7F04575C: +/* 07A28C 7F04575C 46008200 */ add.s $f8, $f16, $f0 +/* 07A290 7F045760 C60A0008 */ lwc1 $f10, 8($s0) +/* 07A294 7F045764 46024102 */ mul.s $f4, $f8, $f2 +/* 07A298 7F045768 46045180 */ add.s $f6, $f10, $f4 +/* 07A29C 7F04576C E6060008 */ swc1 $f6, 8($s0) +/* 07A2A0 7F045770 C60A0008 */ lwc1 $f10, 8($s0) +/* 07A2A4 7F045774 C4420000 */ lwc1 $f2, ($v0) +/* 07A2A8 7F045778 C7A80698 */ lwc1 $f8, 0x698($sp) +/* 07A2AC 7F04577C 46025102 */ mul.s $f4, $f10, $f2 +/* 07A2B0 7F045780 46044180 */ add.s $f6, $f8, $f4 +/* 07A2B4 7F045784 E7A60698 */ swc1 $f6, 0x698($sp) +.L7F045788: +/* 07A2B8 7F045788 C6080010 */ lwc1 $f8, 0x10($s0) +/* 07A2BC 7F04578C C60A0004 */ lwc1 $f10, 4($s0) +/* 07A2C0 7F045790 26240018 */ addiu $a0, $s1, 0x18 +/* 07A2C4 7F045794 46024102 */ mul.s $f4, $f8, $f2 +/* 07A2C8 7F045798 C6080018 */ lwc1 $f8, 0x18($s0) +/* 07A2CC 7F04579C 26050020 */ addiu $a1, $s0, 0x20 +/* 07A2D0 7F0457A0 46045180 */ add.s $f6, $f10, $f4 +/* 07A2D4 7F0457A4 E6060004 */ swc1 $f6, 4($s0) +/* 07A2D8 7F0457A8 C44A0000 */ lwc1 $f10, ($v0) +/* 07A2DC 7F0457AC C606000C */ lwc1 $f6, 0xc($s0) +/* 07A2E0 7F0457B0 460A4102 */ mul.s $f4, $f8, $f10 +/* 07A2E4 7F0457B4 46043200 */ add.s $f8, $f6, $f4 +/* 07A2E8 7F0457B8 C6060004 */ lwc1 $f6, 4($s0) +/* 07A2EC 7F0457BC E608000C */ swc1 $f8, 0xc($s0) +/* 07A2F0 7F0457C0 C4420000 */ lwc1 $f2, ($v0) +/* 07A2F4 7F0457C4 C7AA0694 */ lwc1 $f10, 0x694($sp) +/* 07A2F8 7F0457C8 8CE60000 */ lw $a2, ($a3) +/* 07A2FC 7F0457CC 46023102 */ mul.s $f4, $f6, $f2 +/* 07A300 7F0457D0 C7A6069C */ lwc1 $f6, 0x69c($sp) +/* 07A304 7F0457D4 46045200 */ add.s $f8, $f10, $f4 +/* 07A308 7F0457D8 E7A80694 */ swc1 $f8, 0x694($sp) +/* 07A30C 7F0457DC C60A000C */ lwc1 $f10, 0xc($s0) +/* 07A310 7F0457E0 AFA5006C */ sw $a1, 0x6c($sp) +/* 07A314 7F0457E4 AFA40070 */ sw $a0, 0x70($sp) +/* 07A318 7F0457E8 46025102 */ mul.s $f4, $f10, $f2 +/* 07A31C 7F0457EC 46043200 */ add.s $f8, $f6, $f4 +/* 07A320 7F0457F0 0FC15F7E */ jal sub_GAME_7F057DF8 +/* 07A324 7F0457F4 E7A8069C */ swc1 $f8, 0x69c($sp) +/* 07A328 7F0457F8 92390003 */ lbu $t9, 3($s1) +/* 07A32C 7F0457FC 24010008 */ li $at, 8 +/* 07A330 7F045800 57210013 */ bnel $t9, $at, .L7F045850 +/* 07A334 7F045804 8E040088 */ lw $a0, 0x88($s0) +/* 07A338 7F045808 82220080 */ lb $v0, 0x80($s1) +/* 07A33C 7F04580C 2401001D */ li $at, 29 +/* 07A340 7F045810 1041000D */ beq $v0, $at, .L7F045848 +/* 07A344 7F045814 2401001B */ li $at, 27 +/* 07A348 7F045818 1041000B */ beq $v0, $at, .L7F045848 +/* 07A34C 7F04581C 2401001C */ li $at, 28 +/* 07A350 7F045820 10410009 */ beq $v0, $at, .L7F045848 +/* 07A354 7F045824 24010021 */ li $at, 33 +/* 07A358 7F045828 10410007 */ beq $v0, $at, .L7F045848 +/* 07A35C 7F04582C 2401002F */ li $at, 47 +/* 07A360 7F045830 10410005 */ beq $v0, $at, .L7F045848 +/* 07A364 7F045834 24010030 */ li $at, 48 +/* 07A368 7F045838 10410003 */ beq $v0, $at, .L7F045848 +/* 07A36C 7F04583C 24010022 */ li $at, 34 +/* 07A370 7F045840 54410003 */ bnel $v0, $at, .L7F045850 +/* 07A374 7F045844 8E040088 */ lw $a0, 0x88($s0) +.L7F045848: +/* 07A378 7F045848 24120001 */ li $s2, 1 +/* 07A37C 7F04584C 8E040088 */ lw $a0, 0x88($s0) +.L7F045850: +/* 07A380 7F045850 50800004 */ beql $a0, $zero, .L7F045864 +/* 07A384 7F045854 02202025 */ move $a0, $s1 +/* 07A388 7F045858 0FC0F416 */ jal sub_GAME_7F03D058 +/* 07A38C 7F04585C 00002825 */ move $a1, $zero +/* 07A390 7F045860 02202025 */ move $a0, $s1 +.L7F045864: +/* 07A394 7F045864 27A50694 */ addiu $a1, $sp, 0x694 +/* 07A398 7F045868 27A60614 */ addiu $a2, $sp, 0x614 +/* 07A39C 7F04586C 27A70620 */ addiu $a3, $sp, 0x620 +/* 07A3A0 7F045870 AFB20010 */ sw $s2, 0x10($sp) +/* 07A3A4 7F045874 0FC10BAD */ jal sub_GAME_7F042EB4 +/* 07A3A8 7F045878 AFA00014 */ sw $zero, 0x14($sp) +/* 07A3AC 7F04587C AFA20664 */ sw $v0, 0x664($sp) +/* 07A3B0 7F045880 8E040088 */ lw $a0, 0x88($s0) +/* 07A3B4 7F045884 50800004 */ beql $a0, $zero, .L7F045898 +/* 07A3B8 7F045888 8FAC0664 */ lw $t4, 0x664($sp) +/* 07A3BC 7F04588C 0FC0F416 */ jal sub_GAME_7F03D058 +/* 07A3C0 7F045890 24050001 */ li $a1, 1 +/* 07A3C4 7F045894 8FAC0664 */ lw $t4, 0x664($sp) +.L7F045898: +/* 07A3C8 7F045898 240A0001 */ li $t2, 1 +/* 07A3CC 7F04589C 24010002 */ li $at, 2 +/* 07A3D0 7F0458A0 15810042 */ bne $t4, $at, .L7F0459AC +/* 07A3D4 7F0458A4 AFAA0690 */ sw $t2, 0x690($sp) +/* 07A3D8 7F0458A8 3C038003 */ lui $v1, %hi(D_80030B0C) +/* 07A3DC 7F0458AC 8C630B0C */ lw $v1, %lo(D_80030B0C)($v1) +/* 07A3E0 7F0458B0 10600007 */ beqz $v1, .L7F0458D0 +/* 07A3E4 7F0458B4 00000000 */ nop +/* 07A3E8 7F0458B8 90620000 */ lbu $v0, ($v1) +/* 07A3EC 7F0458BC 24010003 */ li $at, 3 +/* 07A3F0 7F0458C0 1041003A */ beq $v0, $at, .L7F0459AC +/* 07A3F4 7F0458C4 24010006 */ li $at, 6 +/* 07A3F8 7F0458C8 50410039 */ beql $v0, $at, .L7F0459B0 +/* 07A3FC 7F0458CC 8FAC0604 */ lw $t4, 0x604($sp) +.L7F0458D0: +/* 07A400 7F0458D0 10600007 */ beqz $v1, .L7F0458F0 +/* 07A404 7F0458D4 00002025 */ move $a0, $zero +/* 07A408 7F0458D8 8C620004 */ lw $v0, 4($v1) +/* 07A40C 7F0458DC 8C4E0064 */ lw $t6, 0x64($v0) +/* 07A410 7F0458E0 31CD0080 */ andi $t5, $t6, 0x80 +/* 07A414 7F0458E4 11A00002 */ beqz $t5, .L7F0458F0 +/* 07A418 7F0458E8 00000000 */ nop +/* 07A41C 7F0458EC 24040001 */ li $a0, 1 +.L7F0458F0: +/* 07A420 7F0458F0 5480002F */ bnezl $a0, .L7F0459B0 +/* 07A424 7F0458F4 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A428 7F0458F8 0FC0FEDC */ jal sub_GAME_7F03FB70 +/* 07A42C 7F0458FC 02002025 */ move $a0, $s0 +/* 07A430 7F045900 8E2F0064 */ lw $t7, 0x64($s1) +/* 07A434 7F045904 2401FF7F */ li $at, -129 +/* 07A438 7F045908 AE20006C */ sw $zero, 0x6c($s1) +/* 07A43C 7F04590C 01E1C024 */ and $t8, $t7, $at +/* 07A440 7F045910 AE380064 */ sw $t8, 0x64($s1) +/* 07A444 7F045914 92620001 */ lbu $v0, 1($s3) +/* 07A448 7F045918 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07A44C 7F04591C 240500F1 */ li $a1, 241 +/* 07A450 7F045920 30480008 */ andi $t0, $v0, 8 +/* 07A454 7F045924 11000003 */ beqz $t0, .L7F045934 +/* 07A458 7F045928 00003025 */ move $a2, $zero +/* 07A45C 7F04592C 34490010 */ ori $t1, $v0, 0x10 +/* 07A460 7F045930 A2690001 */ sb $t1, 1($s3) +.L7F045934: +/* 07A464 7F045934 0C002382 */ jal play_sfx_a1 +/* 07A468 7F045938 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07A46C 7F04593C 00402025 */ move $a0, $v0 +/* 07A470 7F045940 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07A474 7F045944 26650008 */ addiu $a1, $s3, 8 +/* 07A478 7F045948 8E6B0014 */ lw $t3, 0x14($s3) +/* 07A47C 7F04594C 82240080 */ lb $a0, 0x80($s1) +/* 07A480 7F045950 0FC15DFA */ jal sub_GAME_7F0577E8 +/* 07A484 7F045954 91650003 */ lbu $a1, 3($t3) +/* 07A488 7F045958 02202025 */ move $a0, $s1 +/* 07A48C 7F04595C 27A50614 */ addiu $a1, $sp, 0x614 +/* 07A490 7F045960 8E660014 */ lw $a2, 0x14($s3) +/* 07A494 7F045964 0FC10E6E */ jal sub_GAME_7F0439B8 +/* 07A498 7F045968 27A70620 */ addiu $a3, $sp, 0x620 +/* 07A49C 7F04596C 3C058003 */ lui $a1, %hi(D_80030B0C) +/* 07A4A0 7F045970 8CA50B0C */ lw $a1, %lo(D_80030B0C)($a1) +/* 07A4A4 7F045974 02602025 */ move $a0, $s3 +/* 07A4A8 7F045978 3C068007 */ lui $a2, %hi(objinst) +/* 07A4AC 7F04597C 10A0000B */ beqz $a1, .L7F0459AC +/* 07A4B0 7F045980 3C078007 */ lui $a3, %hi(dword_CODE_bss_80075B74) +/* 07A4B4 7F045984 8E720014 */ lw $s2, 0x14($s3) +/* 07A4B8 7F045988 8CC65B70 */ lw $a2, %lo(objinst)($a2) +/* 07A4BC 7F04598C 0FC10E9B */ jal sub_GAME_7F043A6C +/* 07A4C0 7F045990 8CE75B74 */ lw $a3, %lo(dword_CODE_bss_80075B74)($a3) +/* 07A4C4 7F045994 10400005 */ beqz $v0, .L7F0459AC +/* 07A4C8 7F045998 24190005 */ li $t9, 5 +/* 07A4CC 7F04599C AE720014 */ sw $s2, 0x14($s3) +/* 07A4D0 7F0459A0 240A0001 */ li $t2, 1 +/* 07A4D4 7F0459A4 AFB90680 */ sw $t9, 0x680($sp) +/* 07A4D8 7F0459A8 AFAA0604 */ sw $t2, 0x604($sp) +.L7F0459AC: +/* 07A4DC 7F0459AC 8FAC0604 */ lw $t4, 0x604($sp) +.L7F0459B0: +/* 07A4E0 7F0459B0 158000EC */ bnez $t4, .L7F045D64 +/* 07A4E4 7F0459B4 3C128003 */ lui $s2, %hi(D_80030B0C) +/* 07A4E8 7F0459B8 8E520B0C */ lw $s2, %lo(D_80030B0C)($s2) +/* 07A4EC 7F0459BC 524000EA */ beql $s2, $zero, .L7F045D68 +/* 07A4F0 7F0459C0 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A4F4 7F0459C4 922E0003 */ lbu $t6, 3($s1) +/* 07A4F8 7F0459C8 24010008 */ li $at, 8 +/* 07A4FC 7F0459CC 55C100E6 */ bnel $t6, $at, .L7F045D68 +/* 07A500 7F0459D0 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A504 7F0459D4 82220080 */ lb $v0, 0x80($s1) +/* 07A508 7F0459D8 24010003 */ li $at, 3 +/* 07A50C 7F0459DC 544100C3 */ bnel $v0, $at, .L7F045CEC +/* 07A510 7F0459E0 24010056 */ li $at, 86 +/* 07A514 7F0459E4 92420000 */ lbu $v0, ($s2) +/* 07A518 7F0459E8 24010003 */ li $at, 3 +/* 07A51C 7F0459EC 1041000D */ beq $v0, $at, .L7F045A24 +/* 07A520 7F0459F0 24010006 */ li $at, 6 +/* 07A524 7F0459F4 544100DC */ bnel $v0, $at, .L7F045D68 +/* 07A528 7F0459F8 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A52C 7F0459FC 8E4D0004 */ lw $t5, 4($s2) +/* 07A530 7F045A00 51A000D9 */ beql $t5, $zero, .L7F045D68 +/* 07A534 7F045A04 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A538 7F045A08 0FC26C57 */ jal sub_GAME_7F09B15C +/* 07A53C 7F045A0C 02402025 */ move $a0, $s2 +/* 07A540 7F045A10 0FC26C54 */ jal get_cur_playernum +/* 07A544 7F045A14 00409025 */ move $s2, $v0 +/* 07A548 7F045A18 105200D2 */ beq $v0, $s2, .L7F045D64 +/* 07A54C 7F045A1C 3C128003 */ lui $s2, %hi(D_80030B0C) +/* 07A550 7F045A20 8E520B0C */ lw $s2, %lo(D_80030B0C)($s2) +.L7F045A24: +/* 07A554 7F045A24 8E22006C */ lw $v0, 0x6c($s1) +/* 07A558 7F045A28 8E440004 */ lw $a0, 4($s2) +/* 07A55C 7F045A2C 8C4F0000 */ lw $t7, ($v0) +/* 07A560 7F045A30 31F80001 */ andi $t8, $t7, 1 +/* 07A564 7F045A34 530000CC */ beql $t8, $zero, .L7F045D68 +/* 07A568 7F045A38 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A56C 7F045A3C 8C480090 */ lw $t0, 0x90($v0) +/* 07A570 7F045A40 5D0000C9 */ bgtzl $t0, .L7F045D68 +/* 07A574 7F045A44 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A578 7F045A48 8E290064 */ lw $t1, 0x64($s1) +/* 07A57C 7F045A4C 3C068007 */ lui $a2, %hi(flt_CODE_bss_80075B78) +/* 07A580 7F045A50 24C65B78 */ addiu $a2, %lo(flt_CODE_bss_80075B78) # addiu $a2, $a2, 0x5b78 +/* 07A584 7F045A54 312B0020 */ andi $t3, $t1, 0x20 +/* 07A588 7F045A58 116000C2 */ beqz $t3, .L7F045D64 +/* 07A58C 7F045A5C 3C058003 */ lui $a1, %hi(bodypartshot) +/* 07A590 7F045A60 82270080 */ lb $a3, 0x80($s1) +/* 07A594 7F045A64 24190001 */ li $t9, 1 +/* 07A598 7F045A68 AFB90010 */ sw $t9, 0x10($sp) +/* 07A59C 7F045A6C 0FC09C9F */ jal handles_shot_actors +/* 07A5A0 7F045A70 8CA50B10 */ lw $a1, %lo(bodypartshot)($a1) +/* 07A5A4 7F045A74 104000BB */ beqz $v0, .L7F045D64 +/* 07A5A8 7F045A78 240A0001 */ li $t2, 1 +/* 07A5AC 7F045A7C AFAA0604 */ sw $t2, 0x604($sp) +/* 07A5B0 7F045A80 C610008C */ lwc1 $f16, 0x8c($s0) +/* 07A5B4 7F045A84 C7AA0620 */ lwc1 $f10, 0x620($sp) +/* 07A5B8 7F045A88 4610B03C */ c.lt.s $f22, $f16 +/* 07A5BC 7F045A8C 00000000 */ nop +/* 07A5C0 7F045A90 4502001D */ bc1fl .L7F045B08 +/* 07A5C4 7F045A94 8E0C0000 */ lw $t4, ($s0) +/* 07A5C8 7F045A98 C6020004 */ lwc1 $f2, 4($s0) +/* 07A5CC 7F045A9C C60C0008 */ lwc1 $f12, 8($s0) +/* 07A5D0 7F045AA0 C7A40624 */ lwc1 $f4, 0x624($sp) +/* 07A5D4 7F045AA4 460A1182 */ mul.s $f6, $f2, $f10 +/* 07A5D8 7F045AA8 C600000C */ lwc1 $f0, 0xc($s0) +/* 07A5DC 7F045AAC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07A5E0 7F045AB0 46046202 */ mul.s $f8, $f12, $f4 +/* 07A5E4 7F045AB4 46083100 */ add.s $f4, $f6, $f8 +/* 07A5E8 7F045AB8 C7A60628 */ lwc1 $f6, 0x628($sp) +/* 07A5EC 7F045ABC 46003202 */ mul.s $f8, $f6, $f0 +/* 07A5F0 7F045AC0 44813000 */ mtc1 $at, $f6 +/* 07A5F4 7F045AC4 46044380 */ add.s $f14, $f8, $f4 +/* 07A5F8 7F045AC8 46068200 */ add.s $f8, $f16, $f6 +/* 07A5FC 7F045ACC 46004107 */ neg.s $f4, $f8 +/* 07A600 7F045AD0 46047382 */ mul.s $f14, $f14, $f4 +/* 07A604 7F045AD4 00000000 */ nop +/* 07A608 7F045AD8 460A7182 */ mul.s $f6, $f14, $f10 +/* 07A60C 7F045ADC 46061200 */ add.s $f8, $f2, $f6 +/* 07A610 7F045AE0 E6080004 */ swc1 $f8, 4($s0) +/* 07A614 7F045AE4 C7A40624 */ lwc1 $f4, 0x624($sp) +/* 07A618 7F045AE8 46047282 */ mul.s $f10, $f14, $f4 +/* 07A61C 7F045AEC 460A6180 */ add.s $f6, $f12, $f10 +/* 07A620 7F045AF0 E6060008 */ swc1 $f6, 8($s0) +/* 07A624 7F045AF4 C7A80628 */ lwc1 $f8, 0x628($sp) +/* 07A628 7F045AF8 46087102 */ mul.s $f4, $f14, $f8 +/* 07A62C 7F045AFC 46040280 */ add.s $f10, $f0, $f4 +/* 07A630 7F045B00 E60A000C */ swc1 $f10, 0xc($s0) +/* 07A634 7F045B04 8E0C0000 */ lw $t4, ($s0) +.L7F045B08: +/* 07A638 7F045B08 318E0200 */ andi $t6, $t4, 0x200 +/* 07A63C 7F045B0C 55C00004 */ bnezl $t6, .L7F045B20 +/* 07A640 7F045B10 8E0D0090 */ lw $t5, 0x90($s0) +/* 07A644 7F045B14 0FC15EB0 */ jal sub_GAME_7F057AC0 +/* 07A648 7F045B18 8FA4006C */ lw $a0, 0x6c($sp) +/* 07A64C 7F045B1C 8E0D0090 */ lw $t5, 0x90($s0) +.L7F045B20: +/* 07A650 7F045B20 3C058003 */ lui $a1, %hi(D_80030B0C) +/* 07A654 7F045B24 2406FFFF */ li $a2, -1 +/* 07A658 7F045B28 25AF0001 */ addiu $t7, $t5, 1 +/* 07A65C 7F045B2C AE0F0090 */ sw $t7, 0x90($s0) +/* 07A660 7F045B30 8CA50B0C */ lw $a1, %lo(D_80030B0C)($a1) +/* 07A664 7F045B34 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag +/* 07A668 7F045B38 82240080 */ lb $a0, 0x80($s1) +/* 07A66C 7F045B3C 3C188003 */ lui $t8, %hi(D_80030B0C) +/* 07A670 7F045B40 8F180B0C */ lw $t8, %lo(D_80030B0C)($t8) +/* 07A674 7F045B44 3C028003 */ lui $v0, %hi(bodypartshot) +/* 07A678 7F045B48 93080001 */ lbu $t0, 1($t8) +/* 07A67C 7F045B4C 31090002 */ andi $t1, $t0, 2 +/* 07A680 7F045B50 51200085 */ beql $t1, $zero, .L7F045D68 +/* 07A684 7F045B54 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A688 7F045B58 8C420B10 */ lw $v0, %lo(bodypartshot)($v0) +/* 07A68C 7F045B5C 24010064 */ li $at, 100 +/* 07A690 7F045B60 10410080 */ beq $v0, $at, .L7F045D64 +/* 07A694 7F045B64 2401006E */ li $at, 110 +/* 07A698 7F045B68 1041007E */ beq $v0, $at, .L7F045D64 +/* 07A69C 7F045B6C 3C048007 */ lui $a0, %hi(objinst) +/* 07A6A0 7F045B70 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) +/* 07A6A4 7F045B74 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07A6A8 7F045B78 8C845B70 */ lw $a0, %lo(objinst)($a0) +/* 07A6AC 7F045B7C 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07A6B0 7F045B80 00003025 */ move $a2, $zero +/* 07A6B4 7F045B84 C7A60614 */ lwc1 $f6, 0x614($sp) +/* 07A6B8 7F045B88 C7A80618 */ lwc1 $f8, 0x618($sp) +/* 07A6BC 7F045B8C C7A4061C */ lwc1 $f4, 0x61c($sp) +/* 07A6C0 7F045B90 00409025 */ move $s2, $v0 +/* 07A6C4 7F045B94 E7A605CC */ swc1 $f6, 0x5cc($sp) +/* 07A6C8 7F045B98 E7A805D0 */ swc1 $f8, 0x5d0($sp) +/* 07A6CC 7F045B9C 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07A6D0 7F045BA0 E7A405D4 */ swc1 $f4, 0x5d4($sp) +/* 07A6D4 7F045BA4 00402025 */ move $a0, $v0 +/* 07A6D8 7F045BA8 0FC1611D */ jal sub_GAME_7F058474 +/* 07A6DC 7F045BAC 27A505CC */ addiu $a1, $sp, 0x5cc +/* 07A6E0 7F045BB0 C7AA05CC */ lwc1 $f10, 0x5cc($sp) +/* 07A6E4 7F045BB4 C6460030 */ lwc1 $f6, 0x30($s2) +/* 07A6E8 7F045BB8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A6EC 7F045BBC 44810000 */ mtc1 $at, $f0 +/* 07A6F0 7F045BC0 46065201 */ sub.s $f8, $f10, $f6 +/* 07A6F4 7F045BC4 3C048007 */ lui $a0, %hi(objinst) +/* 07A6F8 7F045BC8 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) +/* 07A6FC 7F045BCC 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07A700 7F045BD0 46004102 */ mul.s $f4, $f8, $f0 +/* 07A704 7F045BD4 C7A805D0 */ lwc1 $f8, 0x5d0($sp) +/* 07A708 7F045BD8 8C845B70 */ lw $a0, %lo(objinst)($a0) +/* 07A70C 7F045BDC 46045180 */ add.s $f6, $f10, $f4 +/* 07A710 7F045BE0 E7A605CC */ swc1 $f6, 0x5cc($sp) +/* 07A714 7F045BE4 C64A0034 */ lwc1 $f10, 0x34($s2) +/* 07A718 7F045BE8 460A4101 */ sub.s $f4, $f8, $f10 +/* 07A71C 7F045BEC 46002182 */ mul.s $f6, $f4, $f0 +/* 07A720 7F045BF0 C7A405D4 */ lwc1 $f4, 0x5d4($sp) +/* 07A724 7F045BF4 46064280 */ add.s $f10, $f8, $f6 +/* 07A728 7F045BF8 E7AA05D0 */ swc1 $f10, 0x5d0($sp) +/* 07A72C 7F045BFC C6480038 */ lwc1 $f8, 0x38($s2) +/* 07A730 7F045C00 46082181 */ sub.s $f6, $f4, $f8 +/* 07A734 7F045C04 46003282 */ mul.s $f10, $f6, $f0 +/* 07A738 7F045C08 460A2200 */ add.s $f8, $f4, $f10 +/* 07A73C 7F045C0C 0FC1B3A4 */ jal getjointsize +/* 07A740 7F045C10 E7A805D4 */ swc1 $f8, 0x5d4($sp) +/* 07A744 7F045C14 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A748 7F045C18 44813000 */ mtc1 $at, $f6 +/* 07A74C 7F045C1C 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B88) +/* 07A750 7F045C20 C42A5B88 */ lwc1 $f10, %lo(flt_CODE_bss_80075B88)($at) +/* 07A754 7F045C24 46060102 */ mul.s $f4, $f0, $f6 +/* 07A758 7F045C28 C7A605CC */ lwc1 $f6, 0x5cc($sp) +/* 07A75C 7F045C2C 3C048007 */ lui $a0, %hi(objinst) +/* 07A760 7F045C30 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) +/* 07A764 7F045C34 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07A768 7F045C38 8C845B70 */ lw $a0, %lo(objinst)($a0) +/* 07A76C 7F045C3C 460A2202 */ mul.s $f8, $f4, $f10 +/* 07A770 7F045C40 46083101 */ sub.s $f4, $f6, $f8 +/* 07A774 7F045C44 0FC1B3A4 */ jal getjointsize +/* 07A778 7F045C48 E7A405CC */ swc1 $f4, 0x5cc($sp) +/* 07A77C 7F045C4C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A780 7F045C50 44815000 */ mtc1 $at, $f10 +/* 07A784 7F045C54 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B8C) +/* 07A788 7F045C58 C4285B8C */ lwc1 $f8, %lo(flt_CODE_bss_80075B8C)($at) +/* 07A78C 7F045C5C 460A0182 */ mul.s $f6, $f0, $f10 +/* 07A790 7F045C60 C7AA05D0 */ lwc1 $f10, 0x5d0($sp) +/* 07A794 7F045C64 3C048007 */ lui $a0, %hi(objinst) +/* 07A798 7F045C68 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) +/* 07A79C 7F045C6C 8CA55B74 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07A7A0 7F045C70 8C845B70 */ lw $a0, %lo(objinst)($a0) +/* 07A7A4 7F045C74 46083102 */ mul.s $f4, $f6, $f8 +/* 07A7A8 7F045C78 46045181 */ sub.s $f6, $f10, $f4 +/* 07A7AC 7F045C7C 0FC1B3A4 */ jal getjointsize +/* 07A7B0 7F045C80 E7A605D0 */ swc1 $f6, 0x5d0($sp) +/* 07A7B4 7F045C84 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A7B8 7F045C88 44814000 */ mtc1 $at, $f8 +/* 07A7BC 7F045C8C 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B90) +/* 07A7C0 7F045C90 C4245B90 */ lwc1 $f4, %lo(flt_CODE_bss_80075B90)($at) +/* 07A7C4 7F045C94 46080282 */ mul.s $f10, $f0, $f8 +/* 07A7C8 7F045C98 C7A805D4 */ lwc1 $f8, 0x5d4($sp) +/* 07A7CC 7F045C9C 02402025 */ move $a0, $s2 +/* 07A7D0 7F045CA0 27A5058C */ addiu $a1, $sp, 0x58c +/* 07A7D4 7F045CA4 46045182 */ mul.s $f6, $f10, $f4 +/* 07A7D8 7F045CA8 46064281 */ sub.s $f10, $f8, $f6 +/* 07A7DC 7F045CAC 0FC16799 */ jal sub_GAME_7F059E64 +/* 07A7E0 7F045CB0 E7AA05D4 */ swc1 $f10, 0x5d4($sp) +/* 07A7E4 7F045CB4 27A4058C */ addiu $a0, $sp, 0x58c +/* 07A7E8 7F045CB8 0FC1611D */ jal sub_GAME_7F058474 +/* 07A7EC 7F045CBC 27A505CC */ addiu $a1, $sp, 0x5cc +/* 07A7F0 7F045CC0 3C048007 */ lui $a0, %hi(objinst) +/* 07A7F4 7F045CC4 3C058003 */ lui $a1, %hi(bodypartshot) +/* 07A7F8 7F045CC8 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075B74) +/* 07A7FC 7F045CCC 8CC65B74 */ lw $a2, %lo(dword_CODE_bss_80075B74)($a2) +/* 07A800 7F045CD0 8CA50B10 */ lw $a1, %lo(bodypartshot)($a1) +/* 07A804 7F045CD4 8C845B70 */ lw $a0, %lo(objinst)($a0) +/* 07A808 7F045CD8 0FC08877 */ jal sub_GAME_7F0221DC +/* 07A80C 7F045CDC 27A705CC */ addiu $a3, $sp, 0x5cc +/* 07A810 7F045CE0 10000021 */ b .L7F045D68 +/* 07A814 7F045CE4 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A818 7F045CE8 24010056 */ li $at, 86 +.L7F045CEC: +/* 07A81C 7F045CEC 5441001E */ bnel $v0, $at, .L7F045D68 +/* 07A820 7F045CF0 8FAC0604 */ lw $t4, 0x604($sp) +/* 07A824 7F045CF4 92420000 */ lbu $v0, ($s2) +/* 07A828 7F045CF8 240B0001 */ li $t3, 1 +/* 07A82C 7F045CFC 24010003 */ li $at, 3 +/* 07A830 7F045D00 14410008 */ bne $v0, $at, .L7F045D24 +/* 07A834 7F045D04 AFAB0604 */ sw $t3, 0x604($sp) +/* 07A838 7F045D08 8E440004 */ lw $a0, 4($s2) +/* 07A83C 7F045D0C 26250058 */ addiu $a1, $s1, 0x58 +/* 07A840 7F045D10 3C064000 */ lui $a2, 0x4000 +/* 07A844 7F045D14 0FC09E01 */ jal sub_GAME_7F027804 +/* 07A848 7F045D18 24070001 */ li $a3, 1 +/* 07A84C 7F045D1C 10000011 */ b .L7F045D64 +/* 07A850 7F045D20 A6200082 */ sh $zero, 0x82($s1) +.L7F045D24: +/* 07A854 7F045D24 24010001 */ li $at, 1 +/* 07A858 7F045D28 10410004 */ beq $v0, $at, .L7F045D3C +/* 07A85C 7F045D2C 3C0542C8 */ lui $a1, 0x42c8 +/* 07A860 7F045D30 24010004 */ li $at, 4 +/* 07A864 7F045D34 5441000B */ bnel $v0, $at, .L7F045D64 +/* 07A868 7F045D38 A6200082 */ sh $zero, 0x82($s1) +.L7F045D3C: +/* 07A86C 7F045D3C 8E220064 */ lw $v0, 0x64($s1) +/* 07A870 7F045D40 3C010006 */ lui $at, 6 +/* 07A874 7F045D44 8E440004 */ lw $a0, 4($s2) +/* 07A878 7F045D48 0041C824 */ and $t9, $v0, $at +/* 07A87C 7F045D4C 00195442 */ srl $t2, $t9, 0x11 +/* 07A880 7F045D50 AFAA0010 */ sw $t2, 0x10($sp) +/* 07A884 7F045D54 26260058 */ addiu $a2, $s1, 0x58 +/* 07A888 7F045D58 0FC13842 */ jal maybe_detonate_object +/* 07A88C 7F045D5C 24070056 */ li $a3, 86 +/* 07A890 7F045D60 A6200082 */ sh $zero, 0x82($s1) +.L7F045D64: +/* 07A894 7F045D64 8FAC0604 */ lw $t4, 0x604($sp) +.L7F045D68: +/* 07A898 7F045D68 5580010B */ bnezl $t4, .L7F046198 +/* 07A89C 7F045D6C 8E2A0064 */ lw $t2, 0x64($s1) +/* 07A8A0 7F045D70 8FAE0664 */ lw $t6, 0x664($sp) +/* 07A8A4 7F045D74 55C00031 */ bnezl $t6, .L7F045E3C +/* 07A8A8 7F045D78 8E0F0000 */ lw $t7, ($s0) +/* 07A8AC 7F045D7C C610008C */ lwc1 $f16, 0x8c($s0) +/* 07A8B0 7F045D80 C7A40620 */ lwc1 $f4, 0x620($sp) +/* 07A8B4 7F045D84 4610B03C */ c.lt.s $f22, $f16 +/* 07A8B8 7F045D88 00000000 */ nop +/* 07A8BC 7F045D8C 4502002B */ bc1fl .L7F045E3C +/* 07A8C0 7F045D90 8E0F0000 */ lw $t7, ($s0) +/* 07A8C4 7F045D94 C6020004 */ lwc1 $f2, 4($s0) +/* 07A8C8 7F045D98 C60C0008 */ lwc1 $f12, 8($s0) +/* 07A8CC 7F045D9C C7A60624 */ lwc1 $f6, 0x624($sp) +/* 07A8D0 7F045DA0 46041202 */ mul.s $f8, $f2, $f4 +/* 07A8D4 7F045DA4 C600000C */ lwc1 $f0, 0xc($s0) +/* 07A8D8 7F045DA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07A8DC 7F045DAC 46066282 */ mul.s $f10, $f12, $f6 +/* 07A8E0 7F045DB0 4616603E */ c.le.s $f12, $f22 +/* 07A8E4 7F045DB4 460A4180 */ add.s $f6, $f8, $f10 +/* 07A8E8 7F045DB8 C7A80628 */ lwc1 $f8, 0x628($sp) +/* 07A8EC 7F045DBC 46004282 */ mul.s $f10, $f8, $f0 +/* 07A8F0 7F045DC0 44814000 */ mtc1 $at, $f8 +/* 07A8F4 7F045DC4 46065380 */ add.s $f14, $f10, $f6 +/* 07A8F8 7F045DC8 46088280 */ add.s $f10, $f16, $f8 +/* 07A8FC 7F045DCC 46005187 */ neg.s $f6, $f10 +/* 07A900 7F045DD0 46067382 */ mul.s $f14, $f14, $f6 +/* 07A904 7F045DD4 00000000 */ nop +/* 07A908 7F045DD8 46047202 */ mul.s $f8, $f14, $f4 +/* 07A90C 7F045DDC 46081280 */ add.s $f10, $f2, $f8 +/* 07A910 7F045DE0 E60A0004 */ swc1 $f10, 4($s0) +/* 07A914 7F045DE4 C7A60624 */ lwc1 $f6, 0x624($sp) +/* 07A918 7F045DE8 46067102 */ mul.s $f4, $f14, $f6 +/* 07A91C 7F045DEC 46046200 */ add.s $f8, $f12, $f4 +/* 07A920 7F045DF0 E6080008 */ swc1 $f8, 8($s0) +/* 07A924 7F045DF4 C7AA0628 */ lwc1 $f10, 0x628($sp) +/* 07A928 7F045DF8 460A7182 */ mul.s $f6, $f14, $f10 +/* 07A92C 7F045DFC 46060100 */ add.s $f4, $f0, $f6 +/* 07A930 7F045E00 4500000D */ bc1f .L7F045E38 +/* 07A934 7F045E04 E604000C */ swc1 $f4, 0xc($s0) +/* 07A938 7F045E08 C6080008 */ lwc1 $f8, 8($s0) +/* 07A93C 7F045E0C 240D0001 */ li $t5, 1 +/* 07A940 7F045E10 4608B03E */ c.le.s $f22, $f8 +/* 07A944 7F045E14 00000000 */ nop +/* 07A948 7F045E18 45030007 */ bc1tl .L7F045E38 +/* 07A94C 7F045E1C AFAD060C */ sw $t5, 0x60c($sp) +/* 07A950 7F045E20 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07A954 7F045E24 460AA03E */ c.le.s $f20, $f10 +/* 07A958 7F045E28 00000000 */ nop +/* 07A95C 7F045E2C 45020003 */ bc1fl .L7F045E3C +/* 07A960 7F045E30 8E0F0000 */ lw $t7, ($s0) +/* 07A964 7F045E34 AFAD060C */ sw $t5, 0x60c($sp) +.L7F045E38: +/* 07A968 7F045E38 8E0F0000 */ lw $t7, ($s0) +.L7F045E3C: +/* 07A96C 7F045E3C C7B4063C */ lwc1 $f20, 0x63c($sp) +/* 07A970 7F045E40 31F80008 */ andi $t8, $t7, 8 +/* 07A974 7F045E44 17000014 */ bnez $t8, .L7F045E98 +/* 07A978 7F045E48 00000000 */ nop +/* 07A97C 7F045E4C 8E640014 */ lw $a0, 0x14($s3) +/* 07A980 7F045E50 8E650008 */ lw $a1, 8($s3) +/* 07A984 7F045E54 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 07A988 7F045E58 8E660010 */ lw $a2, 0x10($s3) +/* 07A98C 7F045E5C 46000506 */ mov.s $f20, $f0 +/* 07A990 7F045E60 8FA40640 */ lw $a0, 0x640($sp) +/* 07A994 7F045E64 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 07A998 7F045E68 8FA50070 */ lw $a1, 0x70($sp) +/* 07A99C 7F045E6C 4600A101 */ sub.s $f4, $f20, $f0 +/* 07A9A0 7F045E70 E7A00638 */ swc1 $f0, 0x638($sp) +/* 07A9A4 7F045E74 C666000C */ lwc1 $f6, 0xc($s3) +/* 07A9A8 7F045E78 00004025 */ move $t0, $zero +/* 07A9AC 7F045E7C 4604303C */ c.lt.s $f6, $f4 +/* 07A9B0 7F045E80 00000000 */ nop +/* 07A9B4 7F045E84 45000002 */ bc1f .L7F045E90 +/* 07A9B8 7F045E88 00000000 */ nop +/* 07A9BC 7F045E8C 24080001 */ li $t0, 1 +.L7F045E90: +/* 07A9C0 7F045E90 10000001 */ b .L7F045E98 +/* 07A9C4 7F045E94 AFA80610 */ sw $t0, 0x610($sp) +.L7F045E98: +/* 07A9C8 7F045E98 8FA90610 */ lw $t1, 0x610($sp) +/* 07A9CC 7F045E9C 8FAB0664 */ lw $t3, 0x664($sp) +/* 07A9D0 7F045EA0 55200004 */ bnezl $t1, .L7F045EB4 +/* 07A9D4 7F045EA4 8E190000 */ lw $t9, ($s0) +/* 07A9D8 7F045EA8 5560000B */ bnezl $t3, .L7F045ED8 +/* 07A9DC 7F045EAC 8FAD0610 */ lw $t5, 0x610($sp) +/* 07A9E0 7F045EB0 8E190000 */ lw $t9, ($s0) +.L7F045EB4: +/* 07A9E4 7F045EB4 332A0200 */ andi $t2, $t9, 0x200 +/* 07A9E8 7F045EB8 55400004 */ bnezl $t2, .L7F045ECC +/* 07A9EC 7F045EBC 8E0C0090 */ lw $t4, 0x90($s0) +/* 07A9F0 7F045EC0 0FC15EB0 */ jal sub_GAME_7F057AC0 +/* 07A9F4 7F045EC4 8FA4006C */ lw $a0, 0x6c($sp) +/* 07A9F8 7F045EC8 8E0C0090 */ lw $t4, 0x90($s0) +.L7F045ECC: +/* 07A9FC 7F045ECC 258E0001 */ addiu $t6, $t4, 1 +/* 07AA00 7F045ED0 AE0E0090 */ sw $t6, 0x90($s0) +/* 07AA04 7F045ED4 8FAD0610 */ lw $t5, 0x610($sp) +.L7F045ED8: +/* 07AA08 7F045ED8 8FAF060C */ lw $t7, 0x60c($sp) +/* 07AA0C 7F045EDC 8FB80610 */ lw $t8, 0x610($sp) +/* 07AA10 7F045EE0 15A00003 */ bnez $t5, .L7F045EF0 +/* 07AA14 7F045EE4 00000000 */ nop +/* 07AA18 7F045EE8 51E0003A */ beql $t7, $zero, .L7F045FD4 +/* 07AA1C 7F045EEC 922C0003 */ lbu $t4, 3($s1) +.L7F045EF0: +/* 07AA20 7F045EF0 13000009 */ beqz $t8, .L7F045F18 +/* 07AA24 7F045EF4 C7A40618 */ lwc1 $f4, 0x618($sp) +/* 07AA28 7F045EF8 C7A80638 */ lwc1 $f8, 0x638($sp) +/* 07AA2C 7F045EFC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07AA30 7F045F00 44813000 */ mtc1 $at, $f6 +/* 07AA34 7F045F04 4608A281 */ sub.s $f10, $f20, $f8 +/* 07AA38 7F045F08 46065000 */ add.s $f0, $f10, $f6 +/* 07AA3C 7F045F0C E660000C */ swc1 $f0, 0xc($s3) +/* 07AA40 7F045F10 10000008 */ b .L7F045F34 +/* 07AA44 7F045F14 E620005C */ swc1 $f0, 0x5c($s1) +.L7F045F18: +/* 07AA48 7F045F18 C7A80638 */ lwc1 $f8, 0x638($sp) +/* 07AA4C 7F045F1C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07AA50 7F045F20 44813000 */ mtc1 $at, $f6 +/* 07AA54 7F045F24 46082281 */ sub.s $f10, $f4, $f8 +/* 07AA58 7F045F28 46065080 */ add.s $f2, $f10, $f6 +/* 07AA5C 7F045F2C E662000C */ swc1 $f2, 0xc($s3) +/* 07AA60 7F045F30 E622005C */ swc1 $f2, 0x5c($s1) +.L7F045F34: +/* 07AA64 7F045F34 8E230064 */ lw $v1, 0x64($s1) +/* 07AA68 7F045F38 02202025 */ move $a0, $s1 +/* 07AA6C 7F045F3C 000343C0 */ sll $t0, $v1, 0xf +/* 07AA70 7F045F40 05000002 */ bltz $t0, .L7F045F4C +/* 07AA74 7F045F44 34690100 */ ori $t1, $v1, 0x100 +/* 07AA78 7F045F48 AE290064 */ sw $t1, 0x64($s1) +.L7F045F4C: +/* 07AA7C 7F045F4C C610008C */ lwc1 $f16, 0x8c($s0) +/* 07AA80 7F045F50 4610B03C */ c.lt.s $f22, $f16 +/* 07AA84 7F045F54 00000000 */ nop +/* 07AA88 7F045F58 4500001B */ bc1f .L7F045FC8 +/* 07AA8C 7F045F5C 00000000 */ nop +/* 07AA90 7F045F60 C6040008 */ lwc1 $f4, 8($s0) +/* 07AA94 7F045F64 46008207 */ neg.s $f8, $f16 +/* 07AA98 7F045F68 3C018005 */ lui $at, %hi(D_80052AA8) +/* 07AA9C 7F045F6C 46082282 */ mul.s $f10, $f4, $f8 +/* 07AAA0 7F045F70 C4202AA8 */ lwc1 $f0, %lo(D_80052AA8)($at) +/* 07AAA4 7F045F74 E60A0008 */ swc1 $f10, 8($s0) +/* 07AAA8 7F045F78 C6060008 */ lwc1 $f6, 8($s0) +/* 07AAAC 7F045F7C 4600303C */ c.lt.s $f6, $f0 +/* 07AAB0 7F045F80 00000000 */ nop +/* 07AAB4 7F045F84 45020013 */ bc1fl .L7F045FD4 +/* 07AAB8 7F045F88 922C0003 */ lbu $t4, 3($s1) +/* 07AABC 7F045F8C 8E0B0000 */ lw $t3, ($s0) +/* 07AAC0 7F045F90 02202025 */ move $a0, $s1 +/* 07AAC4 7F045F94 31790002 */ andi $t9, $t3, 2 +/* 07AAC8 7F045F98 13200007 */ beqz $t9, .L7F045FB8 +/* 07AACC 7F045F9C 00000000 */ nop +/* 07AAD0 7F045FA0 8E0A0090 */ lw $t2, 0x90($s0) +/* 07AAD4 7F045FA4 24010001 */ li $at, 1 +/* 07AAD8 7F045FA8 15410003 */ bne $t2, $at, .L7F045FB8 +/* 07AADC 7F045FAC 00000000 */ nop +/* 07AAE0 7F045FB0 10000007 */ b .L7F045FD0 +/* 07AAE4 7F045FB4 E6000008 */ swc1 $f0, 8($s0) +.L7F045FB8: +/* 07AAE8 7F045FB8 0FC10C79 */ jal sub_GAME_7F0431E4 +/* 07AAEC 7F045FBC 27A5062C */ addiu $a1, $sp, 0x62c +/* 07AAF0 7F045FC0 10000004 */ b .L7F045FD4 +/* 07AAF4 7F045FC4 922C0003 */ lbu $t4, 3($s1) +.L7F045FC8: +/* 07AAF8 7F045FC8 0FC10C79 */ jal sub_GAME_7F0431E4 +/* 07AAFC 7F045FCC 27A5062C */ addiu $a1, $sp, 0x62c +.L7F045FD0: +/* 07AB00 7F045FD0 922C0003 */ lbu $t4, 3($s1) +.L7F045FD4: +/* 07AB04 7F045FD4 24010008 */ li $at, 8 +/* 07AB08 7F045FD8 5581006F */ bnel $t4, $at, .L7F046198 +/* 07AB0C 7F045FDC 8E2A0064 */ lw $t2, 0x64($s1) +/* 07AB10 7F045FE0 82220080 */ lb $v0, 0x80($s1) +/* 07AB14 7F045FE4 24010003 */ li $at, 3 +/* 07AB18 7F045FE8 54410006 */ bnel $v0, $at, .L7F046004 +/* 07AB1C 7F045FEC 24010056 */ li $at, 86 +/* 07AB20 7F045FF0 0FC10D94 */ jal sub_GAME_7F043650 +/* 07AB24 7F045FF4 02202025 */ move $a0, $s1 +/* 07AB28 7F045FF8 10000042 */ b .L7F046104 +/* 07AB2C 7F045FFC 8FB80664 */ lw $t8, 0x664($sp) +/* 07AB30 7F046000 24010056 */ li $at, 86 +.L7F046004: +/* 07AB34 7F046004 1441002D */ bne $v0, $at, .L7F0460BC +/* 07AB38 7F046008 8FAE0664 */ lw $t6, 0x664($sp) +/* 07AB3C 7F04600C 11C00003 */ beqz $t6, .L7F04601C +/* 07AB40 7F046010 8FAD0610 */ lw $t5, 0x610($sp) +/* 07AB44 7F046014 51A00004 */ beql $t5, $zero, .L7F046028 +/* 07AB48 7F046018 C6020004 */ lwc1 $f2, 4($s0) +.L7F04601C: +/* 07AB4C 7F04601C 10000038 */ b .L7F046100 +/* 07AB50 7F046020 A6200082 */ sh $zero, 0x82($s1) +/* 07AB54 7F046024 C6020004 */ lwc1 $f2, 4($s0) +.L7F046028: +/* 07AB58 7F046028 C60C0008 */ lwc1 $f12, 8($s0) +/* 07AB5C 7F04602C C600000C */ lwc1 $f0, 0xc($s0) +/* 07AB60 7F046030 46021102 */ mul.s $f4, $f2, $f2 +/* 07AB64 7F046034 3C018005 */ lui $at, %hi(D_80052AAC) +/* 07AB68 7F046038 26240058 */ addiu $a0, $s1, 0x58 +/* 07AB6C 7F04603C 460C6202 */ mul.s $f8, $f12, $f12 +/* 07AB70 7F046040 24060008 */ li $a2, 8 +/* 07AB74 7F046044 46000182 */ mul.s $f6, $f0, $f0 +/* 07AB78 7F046048 46082280 */ add.s $f10, $f4, $f8 +/* 07AB7C 7F04604C C4242AAC */ lwc1 $f4, %lo(D_80052AAC)($at) +/* 07AB80 7F046050 460A3380 */ add.s $f14, $f6, $f10 +/* 07AB84 7F046054 460E203C */ c.lt.s $f4, $f14 +/* 07AB88 7F046058 00000000 */ nop +/* 07AB8C 7F04605C 45020005 */ bc1fl .L7F046074 +/* 07AB90 7F046060 8E0F00A8 */ lw $t7, 0xa8($s0) +/* 07AB94 7F046064 E6160010 */ swc1 $f22, 0x10($s0) +/* 07AB98 7F046068 E6160014 */ swc1 $f22, 0x14($s0) +/* 07AB9C 7F04606C E6160018 */ swc1 $f22, 0x18($s0) +/* 07ABA0 7F046070 8E0F00A8 */ lw $t7, 0xa8($s0) +.L7F046074: +/* 07ABA4 7F046074 29E1012D */ slti $at, $t7, 0x12d +/* 07ABA8 7F046078 54200008 */ bnezl $at, .L7F04609C +/* 07ABAC 7F04607C 92690001 */ lbu $t1, 1($s3) +/* 07ABB0 7F046080 8E180000 */ lw $t8, ($s0) +/* 07ABB4 7F046084 2401FFCF */ li $at, -49 +/* 07ABB8 7F046088 E616001C */ swc1 $f22, 0x1c($s0) +/* 07ABBC 7F04608C 03014024 */ and $t0, $t8, $at +/* 07ABC0 7F046090 1000001B */ b .L7F046100 +/* 07ABC4 7F046094 AE080000 */ sw $t0, ($s0) +/* 07ABC8 7F046098 92690001 */ lbu $t1, 1($s3) +.L7F04609C: +/* 07ABCC 7F04609C 8E650014 */ lw $a1, 0x14($s3) +/* 07ABD0 7F0460A0 2667002C */ addiu $a3, $s3, 0x2c +/* 07ABD4 7F0460A4 312B0008 */ andi $t3, $t1, 8 +/* 07ABD8 7F0460A8 000BC82B */ sltu $t9, $zero, $t3 +/* 07ABDC 7F0460AC 0FC279C0 */ jal sub_GAME_7F09E700 +/* 07ABE0 7F0460B0 AFB90010 */ sw $t9, 0x10($sp) +/* 07ABE4 7F0460B4 10000013 */ b .L7F046104 +/* 07ABE8 7F0460B8 8FB80664 */ lw $t8, 0x664($sp) +.L7F0460BC: +/* 07ABEC 7F0460BC 24010057 */ li $at, 87 +/* 07ABF0 7F0460C0 1441000F */ bne $v0, $at, .L7F046100 +/* 07ABF4 7F0460C4 8FAA0610 */ lw $t2, 0x610($sp) +/* 07ABF8 7F0460C8 15400003 */ bnez $t2, .L7F0460D8 +/* 07ABFC 7F0460CC 8FAC060C */ lw $t4, 0x60c($sp) +/* 07AC00 7F0460D0 11800003 */ beqz $t4, .L7F0460E0 +/* 07AC04 7F0460D4 26240058 */ addiu $a0, $s1, 0x58 +.L7F0460D8: +/* 07AC08 7F0460D8 10000009 */ b .L7F046100 +/* 07AC0C 7F0460DC A6200082 */ sh $zero, 0x82($s1) +.L7F0460E0: +/* 07AC10 7F0460E0 926E0001 */ lbu $t6, 1($s3) +/* 07AC14 7F0460E4 8E650014 */ lw $a1, 0x14($s3) +/* 07AC18 7F0460E8 24060009 */ li $a2, 9 +/* 07AC1C 7F0460EC 31CD0008 */ andi $t5, $t6, 8 +/* 07AC20 7F0460F0 000D782B */ sltu $t7, $zero, $t5 +/* 07AC24 7F0460F4 AFAF0010 */ sw $t7, 0x10($sp) +/* 07AC28 7F0460F8 0FC279C0 */ jal sub_GAME_7F09E700 +/* 07AC2C 7F0460FC 2667002C */ addiu $a3, $s3, 0x2c +.L7F046100: +/* 07AC30 7F046100 8FB80664 */ lw $t8, 0x664($sp) +.L7F046104: +/* 07AC34 7F046104 3C128005 */ lui $s2, %hi(D_80048380) +/* 07AC38 7F046108 26528380 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c80 +/* 07AC3C 7F04610C 13000003 */ beqz $t8, .L7F04611C +/* 07AC40 7F046110 8FA80610 */ lw $t0, 0x610($sp) +/* 07AC44 7F046114 51000020 */ beql $t0, $zero, .L7F046198 +/* 07AC48 7F046118 8E2A0064 */ lw $t2, 0x64($s1) +.L7F04611C: +/* 07AC4C 7F04611C 8E420000 */ lw $v0, ($s2) +/* 07AC50 7F046120 8E0900AC */ lw $t1, 0xac($s0) +/* 07AC54 7F046124 244BFFFE */ addiu $t3, $v0, -2 +/* 07AC58 7F046128 012B082A */ slt $at, $t1, $t3 +/* 07AC5C 7F04612C 50200019 */ beql $at, $zero, .L7F046194 +/* 07AC60 7F046130 AE0200AC */ sw $v0, 0xac($s0) +/* 07AC64 7F046134 82220080 */ lb $v0, 0x80($s1) +/* 07AC68 7F046138 26790008 */ addiu $t9, $s3, 8 +/* 07AC6C 7F04613C 24010003 */ li $at, 3 +/* 07AC70 7F046140 10410004 */ beq $v0, $at, .L7F046154 +/* 07AC74 7F046144 AFB90070 */ sw $t9, 0x70($sp) +/* 07AC78 7F046148 24010002 */ li $at, 2 +/* 07AC7C 7F04614C 14410008 */ bne $v0, $at, .L7F046170 +/* 07AC80 7F046150 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +.L7F046154: +/* 07AC84 7F046154 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07AC88 7F046158 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07AC8C 7F04615C 24050003 */ li $a1, 3 +/* 07AC90 7F046160 0C002382 */ jal play_sfx_a1 +/* 07AC94 7F046164 00003025 */ move $a2, $zero +/* 07AC98 7F046168 10000006 */ b .L7F046184 +/* 07AC9C 7F04616C 00402025 */ move $a0, $v0 +.L7F046170: +/* 07ACA0 7F046170 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07ACA4 7F046174 2405002D */ li $a1, 45 +/* 07ACA8 7F046178 0C002382 */ jal play_sfx_a1 +/* 07ACAC 7F04617C 00003025 */ move $a2, $zero +/* 07ACB0 7F046180 00402025 */ move $a0, $v0 +.L7F046184: +/* 07ACB4 7F046184 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07ACB8 7F046188 8FA50070 */ lw $a1, 0x70($sp) +/* 07ACBC 7F04618C 8E420000 */ lw $v0, ($s2) +/* 07ACC0 7F046190 AE0200AC */ sw $v0, 0xac($s0) +.L7F046194: +/* 07ACC4 7F046194 8E2A0064 */ lw $t2, 0x64($s1) +.L7F046198: +/* 07ACC8 7F046198 3C128005 */ lui $s2, %hi(D_80048380) +/* 07ACCC 7F04619C 26528380 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c80 +/* 07ACD0 7F0461A0 314C0080 */ andi $t4, $t2, 0x80 +/* 07ACD4 7F0461A4 5180011D */ beql $t4, $zero, .L7F04661C +/* 07ACD8 7F0461A8 8FAD0690 */ lw $t5, 0x690($sp) +/* 07ACDC 7F0461AC 8E0E0000 */ lw $t6, ($s0) +/* 07ACE0 7F0461B0 31CD0400 */ andi $t5, $t6, 0x400 +/* 07ACE4 7F0461B4 51A00119 */ beql $t5, $zero, .L7F04661C +/* 07ACE8 7F0461B8 8FAD0690 */ lw $t5, 0x690($sp) +/* 07ACEC 7F0461BC 8E420000 */ lw $v0, ($s2) +/* 07ACF0 7F0461C0 3C0143C8 */ li $at, 0x43C80000 # 400.000000 +/* 07ACF4 7F0461C4 27B00564 */ addiu $s0, $sp, 0x564 +/* 07ACF8 7F0461C8 304F0007 */ andi $t7, $v0, 7 +/* 07ACFC 7F0461CC 15E00112 */ bnez $t7, .L7F046618 +/* 07AD00 7F0461D0 00002025 */ move $a0, $zero +/* 07AD04 7F0461D4 44810000 */ mtc1 $at, $f0 +/* 07AD08 7F0461D8 C6280058 */ lwc1 $f8, 0x58($s1) +/* 07AD0C 7F0461DC 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 +/* 07AD10 7F0461E0 44812000 */ mtc1 $at, $f4 +/* 07AD14 7F0461E4 46004180 */ add.s $f6, $f8, $f0 +/* 07AD18 7F0461E8 3058000F */ andi $t8, $v0, 0xf +/* 07AD1C 7F0461EC E7A60564 */ swc1 $f6, 0x564($sp) +/* 07AD20 7F0461F0 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07AD24 7F0461F4 46045201 */ sub.s $f8, $f10, $f4 +/* 07AD28 7F0461F8 E7A80568 */ swc1 $f8, 0x568($sp) +/* 07AD2C 7F0461FC C6260060 */ lwc1 $f6, 0x60($s1) +/* 07AD30 7F046200 17000005 */ bnez $t8, .L7F046218 +/* 07AD34 7F046204 E7A6056C */ swc1 $f6, 0x56c($sp) +/* 07AD38 7F046208 C7AA056C */ lwc1 $f10, 0x56c($sp) +/* 07AD3C 7F04620C 46005100 */ add.s $f4, $f10, $f0 +/* 07AD40 7F046210 10000004 */ b .L7F046224 +/* 07AD44 7F046214 E7A4056C */ swc1 $f4, 0x56c($sp) +.L7F046218: +/* 07AD48 7F046218 C7A8056C */ lwc1 $f8, 0x56c($sp) +/* 07AD4C 7F04621C 46004181 */ sub.s $f6, $f8, $f0 +/* 07AD50 7F046220 E7A6056C */ swc1 $f6, 0x56c($sp) +.L7F046224: +/* 07AD54 7F046224 8E220010 */ lw $v0, 0x10($s1) +/* 07AD58 7F046228 02002825 */ move $a1, $s0 +/* 07AD5C 7F04622C 24070014 */ li $a3, 20 +/* 07AD60 7F046230 8C460014 */ lw $a2, 0x14($v0) +/* 07AD64 7F046234 2448002C */ addiu $t0, $v0, 0x2c +/* 07AD68 7F046238 AFA80018 */ sw $t0, 0x18($sp) +/* 07AD6C 7F04623C AFA0001C */ sw $zero, 0x1c($sp) +/* 07AD70 7F046240 AFA00014 */ sw $zero, 0x14($sp) +/* 07AD74 7F046244 0FC27094 */ jal sub_GAME_7F09C250 +/* 07AD78 7F046248 AFA00010 */ sw $zero, 0x10($sp) +/* 07AD7C 7F04624C 8E490000 */ lw $t1, ($s2) +/* 07AD80 7F046250 24010028 */ li $at, 40 +/* 07AD84 7F046254 02002025 */ move $a0, $s0 +/* 07AD88 7F046258 0121001A */ div $zero, $t1, $at +/* 07AD8C 7F04625C 00005810 */ mfhi $t3 +/* 07AD90 7F046260 556000EE */ bnezl $t3, .L7F04661C +/* 07AD94 7F046264 8FAD0690 */ lw $t5, 0x690($sp) +/* 07AD98 7F046268 8E220010 */ lw $v0, 0x10($s1) +/* 07AD9C 7F04626C 24190001 */ li $t9, 1 +/* 07ADA0 7F046270 2406000A */ li $a2, 10 +/* 07ADA4 7F046274 8C450014 */ lw $a1, 0x14($v0) +/* 07ADA8 7F046278 AFB90010 */ sw $t9, 0x10($sp) +/* 07ADAC 7F04627C 0FC279C0 */ jal sub_GAME_7F09E700 +/* 07ADB0 7F046280 2447002C */ addiu $a3, $v0, 0x2c +/* 07ADB4 7F046284 100000E5 */ b .L7F04661C +/* 07ADB8 7F046288 8FAD0690 */ lw $t5, 0x690($sp) +/* 07ADBC 7F04628C C6000060 */ lwc1 $f0, 0x60($s0) +.L7F046290: +/* 07ADC0 7F046290 44815000 */ mtc1 $at, $f10 +/* 07ADC4 7F046294 24120001 */ li $s2, 1 +/* 07ADC8 7F046298 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07ADCC 7F04629C 460A003C */ c.lt.s $f0, $f10 +/* 07ADD0 7F0462A0 26040068 */ addiu $a0, $s0, 0x68 +/* 07ADD4 7F0462A4 26050078 */ addiu $a1, $s0, 0x78 +/* 07ADD8 7F0462A8 45020031 */ bc1fl .L7F046370 +/* 07ADDC 7F0462AC C60A0004 */ lwc1 $f10, 4($s0) +/* 07ADE0 7F0462B0 C6020064 */ lwc1 $f2, 0x64($s0) +/* 07ADE4 7F0462B4 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07ADE8 7F0462B8 3C0A8005 */ lui $t2, %hi(clock_timer) +/* 07ADEC 7F0462BC 3C018005 */ lui $at, %hi(D_80052AB0) +/* 07ADF0 7F0462C0 46041202 */ mul.s $f8, $f2, $f4 +/* 07ADF4 7F0462C4 27B20550 */ addiu $s2, $sp, 0x550 +/* 07ADF8 7F0462C8 46080180 */ add.s $f6, $f0, $f8 +/* 07ADFC 7F0462CC E6060060 */ swc1 $f6, 0x60($s0) +/* 07AE00 7F0462D0 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) +/* 07AE04 7F0462D4 59400005 */ blezl $t2, .L7F0462EC +/* 07AE08 7F0462D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AE0C 7F0462DC C42A2AB0 */ lwc1 $f10, %lo(D_80052AB0)($at) +/* 07AE10 7F0462E0 460A1102 */ mul.s $f4, $f2, $f10 +/* 07AE14 7F0462E4 E6040064 */ swc1 $f4, 0x64($s0) +/* 07AE18 7F0462E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L7F0462EC: +/* 07AE1C 7F0462EC 44814000 */ mtc1 $at, $f8 +/* 07AE20 7F0462F0 C6000060 */ lwc1 $f0, 0x60($s0) +/* 07AE24 7F0462F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AE28 7F0462F8 4600403C */ c.lt.s $f8, $f0 +/* 07AE2C 7F0462FC 00000000 */ nop +/* 07AE30 7F046300 45030006 */ bc1tl .L7F04631C +/* 07AE34 7F046304 44813000 */ mtc1 $at, $f6 +/* 07AE38 7F046308 8E0C0000 */ lw $t4, ($s0) +/* 07AE3C 7F04630C 318E0008 */ andi $t6, $t4, 8 +/* 07AE40 7F046310 51C00006 */ beql $t6, $zero, .L7F04632C +/* 07AE44 7F046314 44060000 */ mfc1 $a2, $f0 +/* 07AE48 7F046318 44813000 */ mtc1 $at, $f6 +.L7F04631C: +/* 07AE4C 7F04631C 00000000 */ nop +/* 07AE50 7F046320 E6060060 */ swc1 $f6, 0x60($s0) +/* 07AE54 7F046324 C6000060 */ lwc1 $f0, 0x60($s0) +/* 07AE58 7F046328 44060000 */ mfc1 $a2, $f0 +.L7F04632C: +/* 07AE5C 7F04632C 0FC16E82 */ jal sub_GAME_7F05BA08 +/* 07AE60 7F046330 02403825 */ move $a3, $s2 +/* 07AE64 7F046334 26250018 */ addiu $a1, $s1, 0x18 +/* 07AE68 7F046338 AFA50070 */ sw $a1, 0x70($sp) +/* 07AE6C 7F04633C 0FC16D8A */ jal sub_GAME_7F05B628 +/* 07AE70 7F046340 02402025 */ move $a0, $s2 +/* 07AE74 7F046344 C60C00C0 */ lwc1 $f12, 0xc0($s0) +/* 07AE78 7F046348 0FC1626D */ jal sub_GAME_7F0589B4 +/* 07AE7C 7F04634C 8FA50070 */ lw $a1, 0x70($sp) +/* 07AE80 7F046350 C60C00C4 */ lwc1 $f12, 0xc4($s0) +/* 07AE84 7F046354 0FC16279 */ jal sub_GAME_7F0589E4 +/* 07AE88 7F046358 8FA50070 */ lw $a1, 0x70($sp) +/* 07AE8C 7F04635C C60C00C8 */ lwc1 $f12, 0xc8($s0) +/* 07AE90 7F046360 0FC16293 */ jal sub_GAME_7F058A4C +/* 07AE94 7F046364 8FA50070 */ lw $a1, 0x70($sp) +/* 07AE98 7F046368 00009025 */ move $s2, $zero +/* 07AE9C 7F04636C C60A0004 */ lwc1 $f10, 4($s0) +.L7F046370: +/* 07AEA0 7F046370 460AB032 */ c.eq.s $f22, $f10 +/* 07AEA4 7F046374 00000000 */ nop +/* 07AEA8 7F046378 4502000F */ bc1fl .L7F0463B8 +/* 07AEAC 7F04637C 8E0D0000 */ lw $t5, ($s0) +/* 07AEB0 7F046380 C604000C */ lwc1 $f4, 0xc($s0) +/* 07AEB4 7F046384 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AEB8 7F046388 4604B032 */ c.eq.s $f22, $f4 +/* 07AEBC 7F04638C 00000000 */ nop +/* 07AEC0 7F046390 45020009 */ bc1fl .L7F0463B8 +/* 07AEC4 7F046394 8E0D0000 */ lw $t5, ($s0) +/* 07AEC8 7F046398 C6080060 */ lwc1 $f8, 0x60($s0) +/* 07AECC 7F04639C 44813000 */ mtc1 $at, $f6 +/* 07AED0 7F0463A0 00000000 */ nop +/* 07AED4 7F0463A4 4606403C */ c.lt.s $f8, $f6 +/* 07AED8 7F0463A8 00000000 */ nop +/* 07AEDC 7F0463AC 45000088 */ bc1f .L7F0465D0 +/* 07AEE0 7F0463B0 00000000 */ nop +/* 07AEE4 7F0463B4 8E0D0000 */ lw $t5, ($s0) +.L7F0463B8: +/* 07AEE8 7F0463B8 02202025 */ move $a0, $s1 +/* 07AEEC 7F0463BC 26380018 */ addiu $t8, $s1, 0x18 +/* 07AEF0 7F0463C0 31AF0008 */ andi $t7, $t5, 8 +/* 07AEF4 7F0463C4 15E00082 */ bnez $t7, .L7F0465D0 +/* 07AEF8 7F0463C8 00000000 */ nop +/* 07AEFC 7F0463CC AFB80070 */ sw $t8, 0x70($sp) +/* 07AF00 7F0463D0 0FC1001E */ jal sub_GAME_7F040078 +/* 07AF04 7F0463D4 00009025 */ move $s2, $zero +/* 07AF08 7F0463D8 3C038005 */ lui $v1, %hi(clock_timer) +/* 07AF0C 7F0463DC 8C638374 */ lw $v1, %lo(clock_timer)($v1) +/* 07AF10 7F0463E0 AFA2054C */ sw $v0, 0x54c($sp) +/* 07AF14 7F0463E4 00002025 */ move $a0, $zero +/* 07AF18 7F0463E8 18600048 */ blez $v1, .L7F04650C +/* 07AF1C 7F0463EC 3C018005 */ lui $at, %hi(D_80052AB4) +/* 07AF20 7F0463F0 C42E2AB4 */ lwc1 $f14, %lo(D_80052AB4)($at) +/* 07AF24 7F0463F4 C7AA0694 */ lwc1 $f10, 0x694($sp) +.L7F0463F8: +/* 07AF28 7F0463F8 C6040004 */ lwc1 $f4, 4($s0) +/* 07AF2C 7F0463FC C7A6069C */ lwc1 $f6, 0x69c($sp) +/* 07AF30 7F046400 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AF34 7F046404 46045200 */ add.s $f8, $f10, $f4 +/* 07AF38 7F046408 E7A80694 */ swc1 $f8, 0x694($sp) +/* 07AF3C 7F04640C C60A000C */ lwc1 $f10, 0xc($s0) +/* 07AF40 7F046410 460A3100 */ add.s $f4, $f6, $f10 +/* 07AF44 7F046414 44813000 */ mtc1 $at, $f6 +/* 07AF48 7F046418 E7A4069C */ swc1 $f4, 0x69c($sp) +/* 07AF4C 7F04641C C6080060 */ lwc1 $f8, 0x60($s0) +/* 07AF50 7F046420 4608303E */ c.le.s $f6, $f8 +/* 07AF54 7F046424 00000000 */ nop +/* 07AF58 7F046428 45020035 */ bc1fl .L7F046500 +/* 07AF5C 7F04642C 24840001 */ addiu $a0, $a0, 1 +/* 07AF60 7F046430 C60A0094 */ lwc1 $f10, 0x94($s0) +/* 07AF64 7F046434 460AB03C */ c.lt.s $f22, $f10 +/* 07AF68 7F046438 00000000 */ nop +/* 07AF6C 7F04643C 45020027 */ bc1fl .L7F0464DC +/* 07AF70 7F046440 C6060004 */ lwc1 $f6, 4($s0) +/* 07AF74 7F046444 C600000C */ lwc1 $f0, 0xc($s0) +/* 07AF78 7F046448 C6020004 */ lwc1 $f2, 4($s0) +/* 07AF7C 7F04644C AFA40548 */ sw $a0, 0x548($sp) +/* 07AF80 7F046450 46000102 */ mul.s $f4, $f0, $f0 +/* 07AF84 7F046454 00000000 */ nop +/* 07AF88 7F046458 46021202 */ mul.s $f8, $f2, $f2 +/* 07AF8C 7F04645C 0C007DF8 */ jal sqrtf +/* 07AF90 7F046460 46082300 */ add.s $f12, $f4, $f8 +/* 07AF94 7F046464 3C018005 */ lui $at, %hi(D_80052AB8) +/* 07AF98 7F046468 C42E2AB8 */ lwc1 $f14, %lo(D_80052AB8)($at) +/* 07AF9C 7F04646C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07AFA0 7F046470 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07AFA4 7F046474 C6060094 */ lwc1 $f6, 0x94($s0) +/* 07AFA8 7F046478 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AFAC 7F04647C 44814000 */ mtc1 $at, $f8 +/* 07AFB0 7F046480 460A3102 */ mul.s $f4, $f6, $f10 +/* 07AFB4 7F046484 8FA40548 */ lw $a0, 0x548($sp) +/* 07AFB8 7F046488 3C038005 */ lui $v1, %hi(clock_timer) +/* 07AFBC 7F04648C 46002303 */ div.s $f12, $f4, $f0 +/* 07AFC0 7F046490 460C403E */ c.le.s $f8, $f12 +/* 07AFC4 7F046494 00000000 */ nop +/* 07AFC8 7F046498 45020005 */ bc1fl .L7F0464B0 +/* 07AFCC 7F04649C C6020004 */ lwc1 $f2, 4($s0) +/* 07AFD0 7F0464A0 E6160004 */ swc1 $f22, 4($s0) +/* 07AFD4 7F0464A4 1000000A */ b .L7F0464D0 +/* 07AFD8 7F0464A8 E616000C */ swc1 $f22, 0xc($s0) +/* 07AFDC 7F0464AC C6020004 */ lwc1 $f2, 4($s0) +.L7F0464B0: +/* 07AFE0 7F0464B0 C600000C */ lwc1 $f0, 0xc($s0) +/* 07AFE4 7F0464B4 460C1182 */ mul.s $f6, $f2, $f12 +/* 07AFE8 7F0464B8 00000000 */ nop +/* 07AFEC 7F0464BC 460C0102 */ mul.s $f4, $f0, $f12 +/* 07AFF0 7F0464C0 46061281 */ sub.s $f10, $f2, $f6 +/* 07AFF4 7F0464C4 46040201 */ sub.s $f8, $f0, $f4 +/* 07AFF8 7F0464C8 E60A0004 */ swc1 $f10, 4($s0) +/* 07AFFC 7F0464CC E608000C */ swc1 $f8, 0xc($s0) +.L7F0464D0: +/* 07B000 7F0464D0 1000000A */ b .L7F0464FC +/* 07B004 7F0464D4 8C638374 */ lw $v1, %lo(clock_timer)($v1) +/* 07B008 7F0464D8 C6060004 */ lwc1 $f6, 4($s0) +.L7F0464DC: +/* 07B00C 7F0464DC C604000C */ lwc1 $f4, 0xc($s0) +/* 07B010 7F0464E0 3C038005 */ lui $v1, %hi(clock_timer) +/* 07B014 7F0464E4 460E3282 */ mul.s $f10, $f6, $f14 +/* 07B018 7F0464E8 00000000 */ nop +/* 07B01C 7F0464EC 460E2202 */ mul.s $f8, $f4, $f14 +/* 07B020 7F0464F0 E60A0004 */ swc1 $f10, 4($s0) +/* 07B024 7F0464F4 E608000C */ swc1 $f8, 0xc($s0) +/* 07B028 7F0464F8 8C638374 */ lw $v1, %lo(clock_timer)($v1) +.L7F0464FC: +/* 07B02C 7F0464FC 24840001 */ addiu $a0, $a0, 1 +.L7F046500: +/* 07B030 7F046500 0083082A */ slt $at, $a0, $v1 +/* 07B034 7F046504 5420FFBC */ bnezl $at, .L7F0463F8 +/* 07B038 7F046508 C7AA0694 */ lwc1 $f10, 0x694($sp) +.L7F04650C: +/* 07B03C 7F04650C 02202025 */ move $a0, $s1 +/* 07B040 7F046510 27A50694 */ addiu $a1, $sp, 0x694 +/* 07B044 7F046514 27A60530 */ addiu $a2, $sp, 0x530 +/* 07B048 7F046518 27A7053C */ addiu $a3, $sp, 0x53c +/* 07B04C 7F04651C AFA00010 */ sw $zero, 0x10($sp) +/* 07B050 7F046520 0FC10BAD */ jal sub_GAME_7F042EB4 +/* 07B054 7F046524 AFA00014 */ sw $zero, 0x14($sp) +/* 07B058 7F046528 24080001 */ li $t0, 1 +/* 07B05C 7F04652C AFA80690 */ sw $t0, 0x690($sp) +/* 07B060 7F046530 8E660010 */ lw $a2, 0x10($s3) +/* 07B064 7F046534 8E650008 */ lw $a1, 8($s3) +/* 07B068 7F046538 0FC2CA5C */ jal sub_GAME_7F0B2970 +/* 07B06C 7F04653C 8E640014 */ lw $a0, 0x14($s3) +/* 07B070 7F046540 46000506 */ mov.s $f20, $f0 +/* 07B074 7F046544 8FA4054C */ lw $a0, 0x54c($sp) +/* 07B078 7F046548 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 07B07C 7F04654C 8FA50070 */ lw $a1, 0x70($sp) +/* 07B080 7F046550 3C018005 */ lui $at, %hi(D_80052ABC) +/* 07B084 7F046554 C42E2ABC */ lwc1 $f14, %lo(D_80052ABC)($at) +/* 07B088 7F046558 4600A181 */ sub.s $f6, $f20, $f0 +/* 07B08C 7F04655C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07B090 7F046560 44815000 */ mtc1 $at, $f10 +/* 07B094 7F046564 3C018005 */ lui $at, %hi(D_80052AC0) +/* 07B098 7F046568 460A3300 */ add.s $f12, $f6, $f10 +/* 07B09C 7F04656C E66C000C */ swc1 $f12, 0xc($s3) +/* 07B0A0 7F046570 E62C005C */ swc1 $f12, 0x5c($s1) +/* 07B0A4 7F046574 C6020004 */ lwc1 $f2, 4($s0) +/* 07B0A8 7F046578 460E103C */ c.lt.s $f2, $f14 +/* 07B0AC 7F04657C 00000000 */ nop +/* 07B0B0 7F046580 45000013 */ bc1f .L7F0465D0 +/* 07B0B4 7F046584 00000000 */ nop +/* 07B0B8 7F046588 C4242AC0 */ lwc1 $f4, %lo(D_80052AC0)($at) +/* 07B0BC 7F04658C 4602203C */ c.lt.s $f4, $f2 +/* 07B0C0 7F046590 00000000 */ nop +/* 07B0C4 7F046594 4500000E */ bc1f .L7F0465D0 +/* 07B0C8 7F046598 00000000 */ nop +/* 07B0CC 7F04659C C600000C */ lwc1 $f0, 0xc($s0) +/* 07B0D0 7F0465A0 3C018005 */ lui $at, %hi(D_80052AC4) +/* 07B0D4 7F0465A4 460E003C */ c.lt.s $f0, $f14 +/* 07B0D8 7F0465A8 00000000 */ nop +/* 07B0DC 7F0465AC 45000008 */ bc1f .L7F0465D0 +/* 07B0E0 7F0465B0 00000000 */ nop +/* 07B0E4 7F0465B4 C4282AC4 */ lwc1 $f8, %lo(D_80052AC4)($at) +/* 07B0E8 7F0465B8 4600403C */ c.lt.s $f8, $f0 +/* 07B0EC 7F0465BC 00000000 */ nop +/* 07B0F0 7F0465C0 45000003 */ bc1f .L7F0465D0 +/* 07B0F4 7F0465C4 00000000 */ nop +/* 07B0F8 7F0465C8 E616000C */ swc1 $f22, 0xc($s0) +/* 07B0FC 7F0465CC E6160004 */ swc1 $f22, 4($s0) +.L7F0465D0: +/* 07B100 7F0465D0 16400005 */ bnez $s2, .L7F0465E8 +/* 07B104 7F0465D4 00000000 */ nop +/* 07B108 7F0465D8 8E090000 */ lw $t1, ($s0) +/* 07B10C 7F0465DC 312B0008 */ andi $t3, $t1, 8 +/* 07B110 7F0465E0 5160000E */ beql $t3, $zero, .L7F04661C +/* 07B114 7F0465E4 8FAD0690 */ lw $t5, 0x690($sp) +.L7F0465E8: +/* 07B118 7F0465E8 0FC0FEDC */ jal sub_GAME_7F03FB70 +/* 07B11C 7F0465EC 02002025 */ move $a0, $s0 +/* 07B120 7F0465F0 8E390064 */ lw $t9, 0x64($s1) +/* 07B124 7F0465F4 2401FF7F */ li $at, -129 +/* 07B128 7F0465F8 AE20006C */ sw $zero, 0x6c($s1) +/* 07B12C 7F0465FC 03215024 */ and $t2, $t9, $at +/* 07B130 7F046600 AE2A0064 */ sw $t2, 0x64($s1) +/* 07B134 7F046604 92620001 */ lbu $v0, 1($s3) +/* 07B138 7F046608 304C0008 */ andi $t4, $v0, 8 +/* 07B13C 7F04660C 11800002 */ beqz $t4, .L7F046618 +/* 07B140 7F046610 344E0010 */ ori $t6, $v0, 0x10 +/* 07B144 7F046614 A26E0001 */ sb $t6, 1($s3) +.L7F046618: +/* 07B148 7F046618 8FAD0690 */ lw $t5, 0x690($sp) +.L7F04661C: +/* 07B14C 7F04661C 11A0000B */ beqz $t5, .L7F04664C +/* 07B150 7F046620 262F0058 */ addiu $t7, $s1, 0x58 +/* 07B154 7F046624 AFAF0070 */ sw $t7, 0x70($sp) +/* 07B158 7F046628 0FC10121 */ jal sub_GAME_7F040484 +/* 07B15C 7F04662C 02202025 */ move $a0, $s1 +/* 07B160 7F046630 0FC15B28 */ jal sub_GAME_7F056CA0 +/* 07B164 7F046634 02202025 */ move $a0, $s1 +/* 07B168 7F046638 8E240010 */ lw $a0, 0x10($s1) +/* 07B16C 7F04663C 0FC100AD */ jal sub_GAME_7F0402B4 +/* 07B170 7F046640 2625007C */ addiu $a1, $s1, 0x7c +/* 07B174 7F046644 0FC146F3 */ jal detonate_proxmine_In_range +/* 07B178 7F046648 8FA40070 */ lw $a0, 0x70($sp) +.L7F04664C: +/* 07B17C 7F04664C 92220003 */ lbu $v0, 3($s1) +/* 07B180 7F046650 24010001 */ li $at, 1 +/* 07B184 7F046654 54410052 */ bnel $v0, $at, .L7F0467A0 +/* 07B188 7F046658 24010006 */ li $at, 6 +/* 07B18C 7F04665C 8E700004 */ lw $s0, 4($s3) +/* 07B190 7F046660 3C188005 */ lui $t8, %hi(global_timer) +/* 07B194 7F046664 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07B198 7F046668 E7A6067C */ swc1 $f6, 0x67c($sp) +/* 07B19C 7F04666C 8E0200EC */ lw $v0, 0xec($s0) +/* 07B1A0 7F046670 58400012 */ blezl $v0, .L7F0466BC +/* 07B1A4 7F046674 820C00BC */ lb $t4, 0xbc($s0) +/* 07B1A8 7F046678 8F18837C */ lw $t8, %lo(global_timer)($t8) +/* 07B1AC 7F04667C 8E0800A0 */ lw $t0, 0xa0($s0) +/* 07B1B0 7F046680 03084823 */ subu $t1, $t8, $t0 +/* 07B1B4 7F046684 0049082A */ slt $at, $v0, $t1 +/* 07B1B8 7F046688 5020000C */ beql $at, $zero, .L7F0466BC +/* 07B1BC 7F04668C 820C00BC */ lb $t4, 0xbc($s0) +/* 07B1C0 7F046690 820B00BC */ lb $t3, 0xbc($s0) +/* 07B1C4 7F046694 55600009 */ bnezl $t3, .L7F0466BC +/* 07B1C8 7F046698 820C00BC */ lb $t4, 0xbc($s0) +/* 07B1CC 7F04669C 8E190008 */ lw $t9, 8($s0) +/* 07B1D0 7F0466A0 02002025 */ move $a0, $s0 +/* 07B1D4 7F0466A4 00195000 */ sll $t2, $t9, 0 +/* 07B1D8 7F0466A8 05420004 */ bltzl $t2, .L7F0466BC +/* 07B1DC 7F0466AC 820C00BC */ lb $t4, 0xbc($s0) +/* 07B1E0 7F0466B0 0FC15262 */ jal set_door_state +/* 07B1E4 7F0466B4 24050002 */ li $a1, 2 +/* 07B1E8 7F0466B8 820C00BC */ lb $t4, 0xbc($s0) +.L7F0466BC: +/* 07B1EC 7F0466BC 24010003 */ li $at, 3 +/* 07B1F0 7F0466C0 5581001B */ bnel $t4, $at, .L7F046730 +/* 07B1F4 7F0466C4 960D009A */ lhu $t5, 0x9a($s0) +/* 07B1F8 7F0466C8 8E0200C8 */ lw $v0, 0xc8($s0) +/* 07B1FC 7F0466CC 24030001 */ li $v1, 1 +/* 07B200 7F0466D0 02002025 */ move $a0, $s0 +/* 07B204 7F0466D4 10400011 */ beqz $v0, .L7F04671C +/* 07B208 7F0466D8 00000000 */ nop +/* 07B20C 7F0466DC 1050000F */ beq $v0, $s0, .L7F04671C +/* 07B210 7F0466E0 00000000 */ nop +/* 07B214 7F0466E4 804E00BC */ lb $t6, 0xbc($v0) +.L7F0466E8: +/* 07B218 7F0466E8 55C00007 */ bnezl $t6, .L7F046708 +/* 07B21C 7F0466EC 00001825 */ move $v1, $zero +/* 07B220 7F0466F0 C44A00B4 */ lwc1 $f10, 0xb4($v0) +/* 07B224 7F0466F4 460AB03C */ c.lt.s $f22, $f10 +/* 07B228 7F0466F8 00000000 */ nop +/* 07B22C 7F0466FC 45020003 */ bc1fl .L7F04670C +/* 07B230 7F046700 8C4200C8 */ lw $v0, 0xc8($v0) +/* 07B234 7F046704 00001825 */ move $v1, $zero +.L7F046708: +/* 07B238 7F046708 8C4200C8 */ lw $v0, 0xc8($v0) +.L7F04670C: +/* 07B23C 7F04670C 10400003 */ beqz $v0, .L7F04671C +/* 07B240 7F046710 00000000 */ nop +/* 07B244 7F046714 5450FFF4 */ bnel $v0, $s0, .L7F0466E8 +/* 07B248 7F046718 804E00BC */ lb $t6, 0xbc($v0) +.L7F04671C: +/* 07B24C 7F04671C 50600004 */ beql $v1, $zero, .L7F046730 +/* 07B250 7F046720 960D009A */ lhu $t5, 0x9a($s0) +/* 07B254 7F046724 0FC15229 */ jal sub_GAME_7F0548A4 +/* 07B258 7F046728 24050001 */ li $a1, 1 +/* 07B25C 7F04672C 960D009A */ lhu $t5, 0x9a($s0) +.L7F046730: +/* 07B260 7F046730 24010008 */ li $at, 8 +/* 07B264 7F046734 15A1000B */ bne $t5, $at, .L7F046764 +/* 07B268 7F046738 00000000 */ nop +/* 07B26C 7F04673C 0FC15288 */ jal sub_GAME_7F054A20 +/* 07B270 7F046740 02002025 */ move $a0, $s0 +/* 07B274 7F046744 10400007 */ beqz $v0, .L7F046764 +/* 07B278 7F046748 00000000 */ nop +/* 07B27C 7F04674C 0FC0F9C6 */ jal sub_GAME_7F03E718 +/* 07B280 7F046750 02002025 */ move $a0, $s0 +/* 07B284 7F046754 10400003 */ beqz $v0, .L7F046764 +/* 07B288 7F046758 00000000 */ nop +/* 07B28C 7F04675C 0FC15667 */ jal sub_GAME_7F05599C +/* 07B290 7F046760 02602025 */ move $a0, $s3 +.L7F046764: +/* 07B294 7F046764 3C188005 */ lui $t8, %hi(global_timer) +/* 07B298 7F046768 8F18837C */ lw $t8, %lo(global_timer)($t8) +/* 07B29C 7F04676C 8E0F00FC */ lw $t7, 0xfc($s0) +/* 07B2A0 7F046770 3C088005 */ lui $t0, %hi(clock_timer) +/* 07B2A4 7F046774 01F8082A */ slt $at, $t7, $t8 +/* 07B2A8 7F046778 14200004 */ bnez $at, .L7F04678C +/* 07B2AC 7F04677C 00000000 */ nop +/* 07B2B0 7F046780 8D088374 */ lw $t0, %lo(clock_timer)($t0) +/* 07B2B4 7F046784 550006AA */ bnezl $t0, .L7F048230 +/* 07B2B8 7F046788 92220003 */ lbu $v0, 3($s1) +.L7F04678C: +/* 07B2BC 7F04678C 0FC153ED */ jal sub_GAME_7F054FB4 +/* 07B2C0 7F046790 02002025 */ move $a0, $s0 +/* 07B2C4 7F046794 100006A6 */ b .L7F048230 +/* 07B2C8 7F046798 92220003 */ lbu $v0, 3($s1) +/* 07B2CC 7F04679C 24010006 */ li $at, 6 +.L7F0467A0: +/* 07B2D0 7F0467A0 54410130 */ bnel $v0, $at, .L7F046C64 +/* 07B2D4 7F0467A4 2401000D */ li $at, 13 +/* 07B2D8 7F0467A8 8E290008 */ lw $t1, 8($s1) +/* 07B2DC 7F0467AC 000958C0 */ sll $t3, $t1, 3 +/* 07B2E0 7F0467B0 0562012C */ bltzl $t3, .L7F046C64 +/* 07B2E4 7F0467B4 2401000D */ li $at, 13 +/* 07B2E8 7F0467B8 8E700004 */ lw $s0, 4($s3) +/* 07B2EC 7F0467BC 8E1900D4 */ lw $t9, 0xd4($s0) +/* 07B2F0 7F0467C0 53200004 */ beql $t9, $zero, .L7F0467D4 +/* 07B2F4 7F0467C4 C61200D0 */ lwc1 $f18, 0xd0($s0) +/* 07B2F8 7F0467C8 10000002 */ b .L7F0467D4 +/* 07B2FC 7F0467CC C61200CC */ lwc1 $f18, 0xcc($s0) +/* 07B300 7F0467D0 C61200D0 */ lwc1 $f18, 0xd0($s0) +.L7F0467D4: +/* 07B304 7F0467D4 0FC225E6 */ jal get_curplayer_positiondata +/* 07B308 7F0467D8 E7B20518 */ swc1 $f18, 0x518($sp) +/* 07B30C 7F0467DC AFA20514 */ sw $v0, 0x514($sp) +/* 07B310 7F0467E0 C6280058 */ lwc1 $f8, 0x58($s1) +/* 07B314 7F0467E4 C4440008 */ lwc1 $f4, 8($v0) +/* 07B318 7F0467E8 C60000E8 */ lwc1 $f0, 0xe8($s0) +/* 07B31C 7F0467EC C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07B320 7F0467F0 46082301 */ sub.s $f12, $f4, $f8 +/* 07B324 7F0467F4 C446000C */ lwc1 $f6, 0xc($v0) +/* 07B328 7F0467F8 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07B32C 7F0467FC 4600B03C */ c.lt.s $f22, $f0 +/* 07B330 7F046800 C4440010 */ lwc1 $f4, 0x10($v0) +/* 07B334 7F046804 C7B20518 */ lwc1 $f18, 0x518($sp) +/* 07B338 7F046808 24120001 */ li $s2, 1 +/* 07B33C 7F04680C 460A3081 */ sub.s $f2, $f6, $f10 +/* 07B340 7F046810 4500000E */ bc1f .L7F04684C +/* 07B344 7F046814 46082381 */ sub.s $f14, $f4, $f8 +/* 07B348 7F046818 46000182 */ mul.s $f6, $f0, $f0 +/* 07B34C 7F04681C 00000000 */ nop +/* 07B350 7F046820 460C6282 */ mul.s $f10, $f12, $f12 +/* 07B354 7F046824 00000000 */ nop +/* 07B358 7F046828 46021102 */ mul.s $f4, $f2, $f2 +/* 07B35C 7F04682C 46045200 */ add.s $f8, $f10, $f4 +/* 07B360 7F046830 460E7282 */ mul.s $f10, $f14, $f14 +/* 07B364 7F046834 460A4100 */ add.s $f4, $f8, $f10 +/* 07B368 7F046838 4604303C */ c.lt.s $f6, $f4 +/* 07B36C 7F04683C 00000000 */ nop +/* 07B370 7F046840 45000002 */ bc1f .L7F04684C +/* 07B374 7F046844 00000000 */ nop +/* 07B378 7F046848 00009025 */ move $s2, $zero +.L7F04684C: +/* 07B37C 7F04684C 8E2A0008 */ lw $t2, 8($s1) +/* 07B380 7F046850 000A6080 */ sll $t4, $t2, 2 +/* 07B384 7F046854 05810002 */ bgez $t4, .L7F046860 +/* 07B388 7F046858 00000000 */ nop +/* 07B38C 7F04685C 00009025 */ move $s2, $zero +.L7F046860: +/* 07B390 7F046860 1240003A */ beqz $s2, .L7F04694C +/* 07B394 7F046864 00000000 */ nop +/* 07B398 7F046868 0FC16A8C */ jal convert_angle_using_inverse +/* 07B39C 7F04686C E7B20518 */ swc1 $f18, 0x518($sp) +/* 07B3A0 7F046870 C60200C8 */ lwc1 $f2, 0xc8($s0) +/* 07B3A4 7F046874 C7B20518 */ lwc1 $f18, 0x518($sp) +/* 07B3A8 7F046878 3C018005 */ lui $at, %hi(D_80052ACC) +/* 07B3AC 7F04687C 4616103C */ c.lt.s $f2, $f22 +/* 07B3B0 7F046880 00000000 */ nop +/* 07B3B4 7F046884 45000005 */ bc1f .L7F04689C +/* 07B3B8 7F046888 00000000 */ nop +/* 07B3BC 7F04688C 3C018005 */ lui $at, %hi(D_80052AC8) +/* 07B3C0 7F046890 C4342AC8 */ lwc1 $f20, %lo(D_80052AC8)($at) +/* 07B3C4 7F046894 10000007 */ b .L7F0468B4 +/* 07B3C8 7F046898 46141080 */ add.s $f2, $f2, $f20 +.L7F04689C: +/* 07B3CC 7F04689C C4342ACC */ lwc1 $f20, %lo(D_80052ACC)($at) +/* 07B3D0 7F0468A0 4602A03E */ c.le.s $f20, $f2 +/* 07B3D4 7F0468A4 00000000 */ nop +/* 07B3D8 7F0468A8 45020003 */ bc1fl .L7F0468B8 +/* 07B3DC 7F0468AC C60800C4 */ lwc1 $f8, 0xc4($s0) +/* 07B3E0 7F0468B0 46141081 */ sub.s $f2, $f2, $f20 +.L7F0468B4: +/* 07B3E4 7F0468B4 C60800C4 */ lwc1 $f8, 0xc4($s0) +.L7F0468B8: +/* 07B3E8 7F0468B8 3C018005 */ lui $at, %hi(D_80052AD0) +/* 07B3EC 7F0468BC 46081080 */ add.s $f2, $f2, $f8 +/* 07B3F0 7F0468C0 4602A03E */ c.le.s $f20, $f2 +/* 07B3F4 7F0468C4 00000000 */ nop +/* 07B3F8 7F0468C8 45020003 */ bc1fl .L7F0468D8 +/* 07B3FC 7F0468CC 4602003C */ c.lt.s $f0, $f2 +/* 07B400 7F0468D0 46141081 */ sub.s $f2, $f2, $f20 +/* 07B404 7F0468D4 4602003C */ c.lt.s $f0, $f2 +.L7F0468D8: +/* 07B408 7F0468D8 46020381 */ sub.s $f14, $f0, $f2 +/* 07B40C 7F0468DC 45000002 */ bc1f .L7F0468E8 +/* 07B410 7F0468E0 46007306 */ mov.s $f12, $f14 +/* 07B414 7F0468E4 46147300 */ add.s $f12, $f14, $f20 +.L7F0468E8: +/* 07B418 7F0468E8 C4202AD0 */ lwc1 $f0, %lo(D_80052AD0)($at) +/* 07B41C 7F0468EC 3C018005 */ lui $at, %hi(D_80052AD4) +/* 07B420 7F0468F0 46006301 */ sub.s $f12, $f12, $f0 +/* 07B424 7F0468F4 4616603C */ c.lt.s $f12, $f22 +/* 07B428 7F0468F8 00000000 */ nop +/* 07B42C 7F0468FC 45020003 */ bc1fl .L7F04690C +/* 07B430 7F046900 460C003C */ c.lt.s $f0, $f12 +/* 07B434 7F046904 46146300 */ add.s $f12, $f12, $f20 +/* 07B438 7F046908 460C003C */ c.lt.s $f0, $f12 +.L7F04690C: +/* 07B43C 7F04690C 00000000 */ nop +/* 07B440 7F046910 45000002 */ bc1f .L7F04691C +/* 07B444 7F046914 00000000 */ nop +/* 07B448 7F046918 46146301 */ sub.s $f12, $f12, $f20 +.L7F04691C: +/* 07B44C 7F04691C C42A2AD4 */ lwc1 $f10, %lo(D_80052AD4)($at) +/* 07B450 7F046920 3C018005 */ lui $at, %hi(D_80052AD8) +/* 07B454 7F046924 460C503C */ c.lt.s $f10, $f12 +/* 07B458 7F046928 00000000 */ nop +/* 07B45C 7F04692C 45030007 */ bc1tl .L7F04694C +/* 07B460 7F046930 00009025 */ move $s2, $zero +/* 07B464 7F046934 C4262AD8 */ lwc1 $f6, %lo(D_80052AD8)($at) +/* 07B468 7F046938 4606603C */ c.lt.s $f12, $f6 +/* 07B46C 7F04693C 00000000 */ nop +/* 07B470 7F046940 45000002 */ bc1f .L7F04694C +/* 07B474 7F046944 00000000 */ nop +/* 07B478 7F046948 00009025 */ move $s2, $zero +.L7F04694C: +/* 07B47C 7F04694C 12400034 */ beqz $s2, .L7F046A20 +/* 07B480 7F046950 00002825 */ move $a1, $zero +/* 07B484 7F046954 8E6E0014 */ lw $t6, 0x14($s3) +/* 07B488 7F046958 E7B20518 */ swc1 $f18, 0x518($sp) +/* 07B48C 7F04695C 8FA40514 */ lw $a0, 0x514($sp) +/* 07B490 7F046960 0FC2280F */ jal sub_GAME_7F08A03C +/* 07B494 7F046964 AFAE04F0 */ sw $t6, 0x4f0($sp) +/* 07B498 7F046968 8FA20514 */ lw $v0, 0x514($sp) +/* 07B49C 7F04696C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 07B4A0 7F046970 8E650008 */ lw $a1, 8($s3) +/* 07B4A4 7F046974 C4440010 */ lwc1 $f4, 0x10($v0) +/* 07B4A8 7F046978 8E660010 */ lw $a2, 0x10($s3) +/* 07B4AC 7F04697C 8C470008 */ lw $a3, 8($v0) +/* 07B4B0 7F046980 44814000 */ mtc1 $at, $f8 +/* 07B4B4 7F046984 44815000 */ mtc1 $at, $f10 +/* 07B4B8 7F046988 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B4BC 7F04698C 44813000 */ mtc1 $at, $f6 +/* 07B4C0 7F046990 240D001B */ li $t5, 27 +/* 07B4C4 7F046994 AFAD0014 */ sw $t5, 0x14($sp) +/* 07B4C8 7F046998 E7B60020 */ swc1 $f22, 0x20($sp) +/* 07B4CC 7F04699C 27A404F0 */ addiu $a0, $sp, 0x4f0 +/* 07B4D0 7F0469A0 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07B4D4 7F0469A4 E7A80018 */ swc1 $f8, 0x18($sp) +/* 07B4D8 7F0469A8 E7AA001C */ swc1 $f10, 0x1c($sp) +/* 07B4DC 7F0469AC 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 07B4E0 7F0469B0 E7A60024 */ swc1 $f6, 0x24($sp) +/* 07B4E4 7F0469B4 10400015 */ beqz $v0, .L7F046A0C +/* 07B4E8 7F0469B8 C7B20518 */ lwc1 $f18, 0x518($sp) +/* 07B4EC 7F0469BC 3C188005 */ lui $t8, %hi(clock_timer) +/* 07B4F0 7F0469C0 8F188374 */ lw $t8, %lo(clock_timer)($t8) +/* 07B4F4 7F0469C4 8E0F00E0 */ lw $t7, 0xe0($s0) +/* 07B4F8 7F0469C8 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 07B4FC 7F0469CC 44812000 */ mtc1 $at, $f4 +/* 07B500 7F0469D0 01F84021 */ addu $t0, $t7, $t8 +/* 07B504 7F0469D4 AE0800E0 */ sw $t0, 0xe0($s0) +/* 07B508 7F0469D8 3C018003 */ lui $at, %hi(D_80030B14) +/* 07B50C 7F0469DC C4280B14 */ lwc1 $f8, %lo(D_80030B14)($at) +/* 07B510 7F0469E0 46082282 */ mul.s $f10, $f4, $f8 +/* 07B514 7F0469E4 4600518D */ trunc.w.s $f6, $f10 +/* 07B518 7F0469E8 44193000 */ mfc1 $t9, $f6 +/* 07B51C 7F0469EC 00000000 */ nop +/* 07B520 7F0469F0 0119082A */ slt $at, $t0, $t9 +/* 07B524 7F0469F4 54200006 */ bnezl $at, .L7F046A10 +/* 07B528 7F0469F8 8FA40514 */ lw $a0, 0x514($sp) +/* 07B52C 7F0469FC 0FC15772 */ jal start_alarm +/* 07B530 7F046A00 E7B20518 */ swc1 $f18, 0x518($sp) +/* 07B534 7F046A04 C7B20518 */ lwc1 $f18, 0x518($sp) +/* 07B538 7F046A08 AE0000E0 */ sw $zero, 0xe0($s0) +.L7F046A0C: +/* 07B53C 7F046A0C 8FA40514 */ lw $a0, 0x514($sp) +.L7F046A10: +/* 07B540 7F046A10 24050001 */ li $a1, 1 +/* 07B544 7F046A14 0FC2280F */ jal sub_GAME_7F08A03C +/* 07B548 7F046A18 E7B20518 */ swc1 $f18, 0x518($sp) +/* 07B54C 7F046A1C C7B20518 */ lwc1 $f18, 0x518($sp) +.L7F046A20: +/* 07B550 7F046A20 C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07B554 7F046A24 4612703C */ c.lt.s $f14, $f18 +/* 07B558 7F046A28 00000000 */ nop +/* 07B55C 7F046A2C 45020047 */ bc1fl .L7F046B4C +/* 07B560 7F046A30 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B564 7F046A34 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B568 7F046A38 3C018005 */ lui $at, %hi(D_80052AE0) +/* 07B56C 7F046A3C C4302AE0 */ lwc1 $f16, %lo(D_80052AE0)($at) +/* 07B570 7F046A40 46000102 */ mul.s $f4, $f0, $f0 +/* 07B574 7F046A44 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07B578 7F046A48 44814000 */ mtc1 $at, $f8 +/* 07B57C 7F046A4C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B580 7F046A50 46082282 */ mul.s $f10, $f4, $f8 +/* 07B584 7F046A54 46105083 */ div.s $f2, $f10, $f16 +/* 07B588 7F046A58 46029181 */ sub.s $f6, $f18, $f2 +/* 07B58C 7F046A5C 460E303E */ c.le.s $f6, $f14 +/* 07B590 7F046A60 00000000 */ nop +/* 07B594 7F046A64 4502000F */ bc1fl .L7F046AA4 +/* 07B598 7F046A68 C60C00DC */ lwc1 $f12, 0xdc($s0) +/* 07B59C 7F046A6C C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07B5A0 7F046A70 46048202 */ mul.s $f8, $f16, $f4 +/* 07B5A4 7F046A74 46080281 */ sub.s $f10, $f0, $f8 +/* 07B5A8 7F046A78 E60A00D8 */ swc1 $f10, 0xd8($s0) +/* 07B5AC 7F046A7C C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B5B0 7F046A80 4610003C */ c.lt.s $f0, $f16 +/* 07B5B4 7F046A84 00000000 */ nop +/* 07B5B8 7F046A88 45000003 */ bc1f .L7F046A98 +/* 07B5BC 7F046A8C 00000000 */ nop +/* 07B5C0 7F046A90 E61000D8 */ swc1 $f16, 0xd8($s0) +/* 07B5C4 7F046A94 C60000D8 */ lwc1 $f0, 0xd8($s0) +.L7F046A98: +/* 07B5C8 7F046A98 1000001D */ b .L7F046B10 +/* 07B5CC 7F046A9C C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07B5D0 7F046AA0 C60C00DC */ lwc1 $f12, 0xdc($s0) +.L7F046AA4: +/* 07B5D4 7F046AA4 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B5D8 7F046AA8 460C003C */ c.lt.s $f0, $f12 +/* 07B5DC 7F046AAC 00000000 */ nop +/* 07B5E0 7F046AB0 45000017 */ bc1f .L7F046B10 +/* 07B5E4 7F046AB4 00000000 */ nop +/* 07B5E8 7F046AB8 C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) +/* 07B5EC 7F046ABC 46068102 */ mul.s $f4, $f16, $f6 +/* 07B5F0 7F046AC0 46040080 */ add.s $f2, $f0, $f4 +/* 07B5F4 7F046AC4 4602603C */ c.lt.s $f12, $f2 +/* 07B5F8 7F046AC8 00000000 */ nop +/* 07B5FC 7F046ACC 45000002 */ bc1f .L7F046AD8 +/* 07B600 7F046AD0 00000000 */ nop +/* 07B604 7F046AD4 46006086 */ mov.s $f2, $f12 +.L7F046AD8: +/* 07B608 7F046AD8 46021202 */ mul.s $f8, $f2, $f2 +/* 07B60C 7F046ADC 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07B610 7F046AE0 44815000 */ mtc1 $at, $f10 +/* 07B614 7F046AE4 00000000 */ nop +/* 07B618 7F046AE8 460A4182 */ mul.s $f6, $f8, $f10 +/* 07B61C 7F046AEC 46103103 */ div.s $f4, $f6, $f16 +/* 07B620 7F046AF0 46049201 */ sub.s $f8, $f18, $f4 +/* 07B624 7F046AF4 4608703C */ c.lt.s $f14, $f8 +/* 07B628 7F046AF8 00000000 */ nop +/* 07B62C 7F046AFC 45000004 */ bc1f .L7F046B10 +/* 07B630 7F046B00 00000000 */ nop +/* 07B634 7F046B04 E60200D8 */ swc1 $f2, 0xd8($s0) +/* 07B638 7F046B08 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B63C 7F046B0C C60E00C8 */ lwc1 $f14, 0xc8($s0) +.L7F046B10: +/* 07B640 7F046B10 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B644 7F046B14 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07B648 7F046B18 460A0182 */ mul.s $f6, $f0, $f10 +/* 07B64C 7F046B1C 46067100 */ add.s $f4, $f14, $f6 +/* 07B650 7F046B20 E60400C8 */ swc1 $f4, 0xc8($s0) +/* 07B654 7F046B24 C60800C8 */ lwc1 $f8, 0xc8($s0) +/* 07B658 7F046B28 4608903E */ c.le.s $f18, $f8 +/* 07B65C 7F046B2C 00000000 */ nop +/* 07B660 7F046B30 450205BF */ bc1fl .L7F048230 +/* 07B664 7F046B34 92220003 */ lbu $v0, 3($s1) +/* 07B668 7F046B38 E61200C8 */ swc1 $f18, 0xc8($s0) +/* 07B66C 7F046B3C E61600D8 */ swc1 $f22, 0xd8($s0) +/* 07B670 7F046B40 100005BA */ b .L7F04822C +/* 07B674 7F046B44 AE0000D4 */ sw $zero, 0xd4($s0) +/* 07B678 7F046B48 C60000D8 */ lwc1 $f0, 0xd8($s0) +.L7F046B4C: +/* 07B67C 7F046B4C 3C018005 */ lui $at, %hi(D_80052AE4) +/* 07B680 7F046B50 C4302AE4 */ lwc1 $f16, %lo(D_80052AE4)($at) +/* 07B684 7F046B54 46000282 */ mul.s $f10, $f0, $f0 +/* 07B688 7F046B58 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07B68C 7F046B5C 44813000 */ mtc1 $at, $f6 +/* 07B690 7F046B60 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B694 7F046B64 240A0001 */ li $t2, 1 +/* 07B698 7F046B68 46065102 */ mul.s $f4, $f10, $f6 +/* 07B69C 7F046B6C 46102083 */ div.s $f2, $f4, $f16 +/* 07B6A0 7F046B70 46029200 */ add.s $f8, $f18, $f2 +/* 07B6A4 7F046B74 4608703E */ c.le.s $f14, $f8 +/* 07B6A8 7F046B78 00000000 */ nop +/* 07B6AC 7F046B7C 4502000F */ bc1fl .L7F046BBC +/* 07B6B0 7F046B80 C60C00DC */ lwc1 $f12, 0xdc($s0) +/* 07B6B4 7F046B84 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07B6B8 7F046B88 460A8182 */ mul.s $f6, $f16, $f10 +/* 07B6BC 7F046B8C 46060101 */ sub.s $f4, $f0, $f6 +/* 07B6C0 7F046B90 E60400D8 */ swc1 $f4, 0xd8($s0) +/* 07B6C4 7F046B94 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B6C8 7F046B98 4610003C */ c.lt.s $f0, $f16 +/* 07B6CC 7F046B9C 00000000 */ nop +/* 07B6D0 7F046BA0 45000003 */ bc1f .L7F046BB0 +/* 07B6D4 7F046BA4 00000000 */ nop +/* 07B6D8 7F046BA8 E61000D8 */ swc1 $f16, 0xd8($s0) +/* 07B6DC 7F046BAC C60000D8 */ lwc1 $f0, 0xd8($s0) +.L7F046BB0: +/* 07B6E0 7F046BB0 1000001D */ b .L7F046C28 +/* 07B6E4 7F046BB4 C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07B6E8 7F046BB8 C60C00DC */ lwc1 $f12, 0xdc($s0) +.L7F046BBC: +/* 07B6EC 7F046BBC 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B6F0 7F046BC0 460C003C */ c.lt.s $f0, $f12 +/* 07B6F4 7F046BC4 00000000 */ nop +/* 07B6F8 7F046BC8 45000017 */ bc1f .L7F046C28 +/* 07B6FC 7F046BCC 00000000 */ nop +/* 07B700 7F046BD0 C4288378 */ lwc1 $f8, %lo(global_timer_delta)($at) +/* 07B704 7F046BD4 46088282 */ mul.s $f10, $f16, $f8 +/* 07B708 7F046BD8 460A0080 */ add.s $f2, $f0, $f10 +/* 07B70C 7F046BDC 4602603C */ c.lt.s $f12, $f2 +/* 07B710 7F046BE0 00000000 */ nop +/* 07B714 7F046BE4 45000002 */ bc1f .L7F046BF0 +/* 07B718 7F046BE8 00000000 */ nop +/* 07B71C 7F046BEC 46006086 */ mov.s $f2, $f12 +.L7F046BF0: +/* 07B720 7F046BF0 46021182 */ mul.s $f6, $f2, $f2 +/* 07B724 7F046BF4 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07B728 7F046BF8 44812000 */ mtc1 $at, $f4 +/* 07B72C 7F046BFC 00000000 */ nop +/* 07B730 7F046C00 46043202 */ mul.s $f8, $f6, $f4 +/* 07B734 7F046C04 46104283 */ div.s $f10, $f8, $f16 +/* 07B738 7F046C08 460A9180 */ add.s $f6, $f18, $f10 +/* 07B73C 7F046C0C 460E303C */ c.lt.s $f6, $f14 +/* 07B740 7F046C10 00000000 */ nop +/* 07B744 7F046C14 45000004 */ bc1f .L7F046C28 +/* 07B748 7F046C18 00000000 */ nop +/* 07B74C 7F046C1C E60200D8 */ swc1 $f2, 0xd8($s0) +/* 07B750 7F046C20 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B754 7F046C24 C60E00C8 */ lwc1 $f14, 0xc8($s0) +.L7F046C28: +/* 07B758 7F046C28 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07B75C 7F046C2C C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07B760 7F046C30 46040202 */ mul.s $f8, $f0, $f4 +/* 07B764 7F046C34 46087281 */ sub.s $f10, $f14, $f8 +/* 07B768 7F046C38 E60A00C8 */ swc1 $f10, 0xc8($s0) +/* 07B76C 7F046C3C C60600C8 */ lwc1 $f6, 0xc8($s0) +/* 07B770 7F046C40 4612303E */ c.le.s $f6, $f18 +/* 07B774 7F046C44 00000000 */ nop +/* 07B778 7F046C48 45020579 */ bc1fl .L7F048230 +/* 07B77C 7F046C4C 92220003 */ lbu $v0, 3($s1) +/* 07B780 7F046C50 E61200C8 */ swc1 $f18, 0xc8($s0) +/* 07B784 7F046C54 E61600D8 */ swc1 $f22, 0xd8($s0) +/* 07B788 7F046C58 10000574 */ b .L7F04822C +/* 07B78C 7F046C5C AE0A00D4 */ sw $t2, 0xd4($s0) +/* 07B790 7F046C60 2401000D */ li $at, 13 +.L7F046C64: +/* 07B794 7F046C64 5441023F */ bnel $v0, $at, .L7F047564 +/* 07B798 7F046C68 24010027 */ li $at, 39 +/* 07B79C 7F046C6C 8E2C0008 */ lw $t4, 8($s1) +/* 07B7A0 7F046C70 000C70C0 */ sll $t6, $t4, 3 +/* 07B7A4 7F046C74 05C2023B */ bltzl $t6, .L7F047564 +/* 07B7A8 7F046C78 24010027 */ li $at, 39 +/* 07B7AC 7F046C7C 0FC225E6 */ jal get_curplayer_positiondata +/* 07B7B0 7F046C80 8E700004 */ lw $s0, 4($s3) +/* 07B7B4 7F046C84 AFA004AC */ sw $zero, 0x4ac($sp) +/* 07B7B8 7F046C88 AFA004A8 */ sw $zero, 0x4a8($sp) +/* 07B7BC 7F046C8C AFA004A4 */ sw $zero, 0x4a4($sp) +/* 07B7C0 7F046C90 8E23000C */ lw $v1, 0xc($s1) +/* 07B7C4 7F046C94 00409025 */ move $s2, $v0 +/* 07B7C8 7F046C98 00036800 */ sll $t5, $v1, 0 +/* 07B7CC 7F046C9C 05A10056 */ bgez $t5, .L7F046DF8 +/* 07B7D0 7F046CA0 00037840 */ sll $t7, $v1, 1 +/* 07B7D4 7F046CA4 05E30008 */ bgezl $t7, .L7F046CC8 +/* 07B7D8 7F046CA8 C6020084 */ lwc1 $f2, 0x84($s0) +/* 07B7DC 7F046CAC C6080090 */ lwc1 $f8, 0x90($s0) +/* 07B7E0 7F046CB0 C604009C */ lwc1 $f4, 0x9c($s0) +/* 07B7E4 7F046CB4 E6080084 */ swc1 $f8, 0x84($s0) +/* 07B7E8 7F046CB8 C6020084 */ lwc1 $f2, 0x84($s0) +/* 07B7EC 7F046CBC 10000036 */ b .L7F046D98 +/* 07B7F0 7F046CC0 E6040098 */ swc1 $f4, 0x98($s0) +/* 07B7F4 7F046CC4 C6020084 */ lwc1 $f2, 0x84($s0) +.L7F046CC8: +/* 07B7F8 7F046CC8 C60A0090 */ lwc1 $f10, 0x90($s0) +/* 07B7FC 7F046CCC 460A1032 */ c.eq.s $f2, $f10 +/* 07B800 7F046CD0 00000000 */ nop +/* 07B804 7F046CD4 45000030 */ bc1f .L7F046D98 +/* 07B808 7F046CD8 00000000 */ nop +/* 07B80C 7F046CDC C6060098 */ lwc1 $f6, 0x98($s0) +/* 07B810 7F046CE0 C604009C */ lwc1 $f4, 0x9c($s0) +/* 07B814 7F046CE4 46043032 */ c.eq.s $f6, $f4 +/* 07B818 7F046CE8 00000000 */ nop +/* 07B81C 7F046CEC 4500002A */ bc1f .L7F046D98 +/* 07B820 7F046CF0 00000000 */ nop +/* 07B824 7F046CF4 0C002914 */ jal get_random_value +/* 07B828 7F046CF8 00000000 */ nop +/* 07B82C 7F046CFC 44824000 */ mtc1 $v0, $f8 +/* 07B830 7F046D00 3C018005 */ lui $at, %hi(D_80052AE8) +/* 07B834 7F046D04 C4342AE8 */ lwc1 $f20, %lo(D_80052AE8)($at) +/* 07B838 7F046D08 04410005 */ bgez $v0, .L7F046D20 +/* 07B83C 7F046D0C 468042A0 */ cvt.s.w $f10, $f8 +/* 07B840 7F046D10 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07B844 7F046D14 44813000 */ mtc1 $at, $f6 +/* 07B848 7F046D18 00000000 */ nop +/* 07B84C 7F046D1C 46065280 */ add.s $f10, $f10, $f6 +.L7F046D20: +/* 07B850 7F046D20 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07B854 7F046D24 44812000 */ mtc1 $at, $f4 +/* 07B858 7F046D28 3C01421C */ li $at, 0x421C0000 # 39.000000 +/* 07B85C 7F046D2C 44813000 */ mtc1 $at, $f6 +/* 07B860 7F046D30 46045202 */ mul.s $f8, $f10, $f4 +/* 07B864 7F046D34 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B868 7F046D38 44812000 */ mtc1 $at, $f4 +/* 07B86C 7F046D3C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07B870 7F046D40 46064282 */ mul.s $f10, $f8, $f6 +/* 07B874 7F046D44 46045200 */ add.s $f8, $f10, $f4 +/* 07B878 7F046D48 44815000 */ mtc1 $at, $f10 +/* 07B87C 7F046D4C 46144182 */ mul.s $f6, $f8, $f20 +/* 07B880 7F046D50 460A3103 */ div.s $f4, $f6, $f10 +/* 07B884 7F046D54 0C002914 */ jal get_random_value +/* 07B888 7F046D58 E6040098 */ swc1 $f4, 0x98($s0) +/* 07B88C 7F046D5C 44824000 */ mtc1 $v0, $f8 +/* 07B890 7F046D60 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07B894 7F046D64 04410004 */ bgez $v0, .L7F046D78 +/* 07B898 7F046D68 468041A0 */ cvt.s.w $f6, $f8 +/* 07B89C 7F046D6C 44815000 */ mtc1 $at, $f10 +/* 07B8A0 7F046D70 00000000 */ nop +/* 07B8A4 7F046D74 460A3180 */ add.s $f6, $f6, $f10 +.L7F046D78: +/* 07B8A8 7F046D78 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07B8AC 7F046D7C 44812000 */ mtc1 $at, $f4 +/* 07B8B0 7F046D80 00000000 */ nop +/* 07B8B4 7F046D84 46043202 */ mul.s $f8, $f6, $f4 +/* 07B8B8 7F046D88 00000000 */ nop +/* 07B8BC 7F046D8C 46144282 */ mul.s $f10, $f8, $f20 +/* 07B8C0 7F046D90 E60A0084 */ swc1 $f10, 0x84($s0) +/* 07B8C4 7F046D94 C6020084 */ lwc1 $f2, 0x84($s0) +.L7F046D98: +/* 07B8C8 7F046D98 3C018005 */ lui $at, %hi(D_80052AEC) +/* 07B8CC 7F046D9C C4202AEC */ lwc1 $f0, %lo(D_80052AEC)($at) +/* 07B8D0 7F046DA0 3C018005 */ lui $at, %hi(D_80052AF4) +/* 07B8D4 7F046DA4 C4262AF4 */ lwc1 $f6, %lo(D_80052AF4)($at) +/* 07B8D8 7F046DA8 44051000 */ mfc1 $a1, $f2 +/* 07B8DC 7F046DAC 44070000 */ mfc1 $a3, $f0 +/* 07B8E0 7F046DB0 26040090 */ addiu $a0, $s0, 0x90 +/* 07B8E4 7F046DB4 26060094 */ addiu $a2, $s0, 0x94 +/* 07B8E8 7F046DB8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07B8EC 7F046DBC 0FC10C43 */ jal sub_GAME_7F04310C +/* 07B8F0 7F046DC0 E7A60014 */ swc1 $f6, 0x14($sp) +/* 07B8F4 7F046DC4 3C018005 */ lui $at, %hi(D_80052AF8) +/* 07B8F8 7F046DC8 C4202AF8 */ lwc1 $f0, %lo(D_80052AF8)($at) +/* 07B8FC 7F046DCC 3C018005 */ lui $at, %hi(D_80052AFC) +/* 07B900 7F046DD0 C4242AFC */ lwc1 $f4, %lo(D_80052AFC)($at) +/* 07B904 7F046DD4 8E050098 */ lw $a1, 0x98($s0) +/* 07B908 7F046DD8 44070000 */ mfc1 $a3, $f0 +/* 07B90C 7F046DDC 2604009C */ addiu $a0, $s0, 0x9c +/* 07B910 7F046DE0 260600A0 */ addiu $a2, $s0, 0xa0 +/* 07B914 7F046DE4 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07B918 7F046DE8 0FC10C43 */ jal sub_GAME_7F04310C +/* 07B91C 7F046DEC E7A40014 */ swc1 $f4, 0x14($sp) +/* 07B920 7F046DF0 1000050F */ b .L7F048230 +/* 07B924 7F046DF4 92220003 */ lbu $v0, 3($s1) +.L7F046DF8: +/* 07B928 7F046DF8 C6480008 */ lwc1 $f8, 8($s2) +/* 07B92C 7F046DFC C62A0058 */ lwc1 $f10, 0x58($s1) +/* 07B930 7F046E00 C646000C */ lwc1 $f6, 0xc($s2) +/* 07B934 7F046E04 C624005C */ lwc1 $f4, 0x5c($s1) +/* 07B938 7F046E08 460A4001 */ sub.s $f0, $f8, $f10 +/* 07B93C 7F046E0C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 07B940 7F046E10 44815000 */ mtc1 $at, $f10 +/* 07B944 7F046E14 46043201 */ sub.s $f8, $f6, $f4 +/* 07B948 7F046E18 460A4181 */ sub.s $f6, $f8, $f10 +/* 07B94C 7F046E1C 46000282 */ mul.s $f10, $f0, $f0 +/* 07B950 7F046E20 E7A604C0 */ swc1 $f6, 0x4c0($sp) +/* 07B954 7F046E24 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07B958 7F046E28 C6440010 */ lwc1 $f4, 0x10($s2) +/* 07B95C 7F046E2C E7A004C4 */ swc1 $f0, 0x4c4($sp) +/* 07B960 7F046E30 46082081 */ sub.s $f2, $f4, $f8 +/* 07B964 7F046E34 46021182 */ mul.s $f6, $f2, $f2 +/* 07B968 7F046E38 E7A204BC */ swc1 $f2, 0x4bc($sp) +/* 07B96C 7F046E3C 46065500 */ add.s $f20, $f10, $f6 +/* 07B970 7F046E40 E7B404B8 */ swc1 $f20, 0x4b8($sp) +/* 07B974 7F046E44 0C007DF8 */ jal sqrtf +/* 07B978 7F046E48 4600A306 */ mov.s $f12, $f20 +/* 07B97C 7F046E4C E7A004B0 */ swc1 $f0, 0x4b0($sp) +/* 07B980 7F046E50 8E380008 */ lw $t8, 8($s1) +/* 07B984 7F046E54 46000086 */ mov.s $f2, $f0 +/* 07B988 7F046E58 00184100 */ sll $t0, $t8, 4 +/* 07B98C 7F046E5C 05030008 */ bgezl $t0, .L7F046E80 +/* 07B990 7F046E60 C7AC04B8 */ lwc1 $f12, 0x4b8($sp) +/* 07B994 7F046E64 C7A004C0 */ lwc1 $f0, 0x4c0($sp) +/* 07B998 7F046E68 46000102 */ mul.s $f4, $f0, $f0 +/* 07B99C 7F046E6C 4604A300 */ add.s $f12, $f20, $f4 +/* 07B9A0 7F046E70 0C007DF8 */ jal sqrtf +/* 07B9A4 7F046E74 E7AC04B8 */ swc1 $f12, 0x4b8($sp) +/* 07B9A8 7F046E78 46000086 */ mov.s $f2, $f0 +/* 07B9AC 7F046E7C C7AC04B8 */ lwc1 $f12, 0x4b8($sp) +.L7F046E80: +/* 07B9B0 7F046E80 0FC0B491 */ jal sub_GAME_7F02D244 +/* 07B9B4 7F046E84 E7A204B4 */ swc1 $f2, 0x4b4($sp) +/* 07B9B8 7F046E88 E7A004A0 */ swc1 $f0, 0x4a0($sp) +/* 07B9BC 7F046E8C C6080098 */ lwc1 $f8, 0x98($s0) +/* 07B9C0 7F046E90 C6100084 */ lwc1 $f16, 0x84($s0) +/* 07B9C4 7F046E94 C7A204B4 */ lwc1 $f2, 0x4b4($sp) +/* 07B9C8 7F046E98 E7A804D4 */ swc1 $f8, 0x4d4($sp) +/* 07B9CC 7F046E9C C60A00A8 */ lwc1 $f10, 0xa8($s0) +/* 07B9D0 7F046EA0 460A103E */ c.le.s $f2, $f10 +/* 07B9D4 7F046EA4 00000000 */ nop +/* 07B9D8 7F046EA8 45020096 */ bc1fl .L7F047104 +/* 07B9DC 7F046EAC 8FAC04AC */ lw $t4, 0x4ac($sp) +/* 07B9E0 7F046EB0 C7AC04C4 */ lwc1 $f12, 0x4c4($sp) +/* 07B9E4 7F046EB4 C7AE04BC */ lwc1 $f14, 0x4bc($sp) +/* 07B9E8 7F046EB8 0FC16A8C */ jal convert_angle_using_inverse +/* 07B9EC 7F046EBC E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07B9F0 7F046EC0 E7A0049C */ swc1 $f0, 0x49c($sp) +/* 07B9F4 7F046EC4 C7AC04C0 */ lwc1 $f12, 0x4c0($sp) +/* 07B9F8 7F046EC8 0FC16A8C */ jal convert_angle_using_inverse +/* 07B9FC 7F046ECC C7AE04B0 */ lwc1 $f14, 0x4b0($sp) +/* 07BA00 7F046ED0 E7A00498 */ swc1 $f0, 0x498($sp) +/* 07BA04 7F046ED4 8E220008 */ lw $v0, 8($s1) +/* 07BA08 7F046ED8 C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BA0C 7F046EDC 24190001 */ li $t9, 1 +/* 07BA10 7F046EE0 00025840 */ sll $t3, $v0, 1 +/* 07BA14 7F046EE4 05600003 */ bltz $t3, .L7F046EF4 +/* 07BA18 7F046EE8 00024880 */ sll $t1, $v0, 2 +/* 07BA1C 7F046EEC 05210005 */ bgez $t1, .L7F046F04 +/* 07BA20 7F046EF0 C7A6049C */ lwc1 $f6, 0x49c($sp) +.L7F046EF4: +/* 07BA24 7F046EF4 3C018005 */ lui $at, %hi(D_80052B00) +/* 07BA28 7F046EF8 C4342B00 */ lwc1 $f20, %lo(D_80052B00)($at) +/* 07BA2C 7F046EFC 10000027 */ b .L7F046F9C +/* 07BA30 7F046F00 AFB904AC */ sw $t9, 0x4ac($sp) +.L7F046F04: +/* 07BA34 7F046F04 C6040090 */ lwc1 $f4, 0x90($s0) +/* 07BA38 7F046F08 3C018005 */ lui $at, %hi(D_80052B04) +/* 07BA3C 7F046F0C 46043301 */ sub.s $f12, $f6, $f4 +/* 07BA40 7F046F10 4616603C */ c.lt.s $f12, $f22 +/* 07BA44 7F046F14 00000000 */ nop +/* 07BA48 7F046F18 45000003 */ bc1f .L7F046F28 +/* 07BA4C 7F046F1C 00000000 */ nop +/* 07BA50 7F046F20 C4342B04 */ lwc1 $f20, %lo(D_80052B04)($at) +/* 07BA54 7F046F24 46146300 */ add.s $f12, $f12, $f20 +.L7F046F28: +/* 07BA58 7F046F28 3C018005 */ lui $at, %hi(D_80052B08) +/* 07BA5C 7F046F2C C4342B08 */ lwc1 $f20, %lo(D_80052B08)($at) +/* 07BA60 7F046F30 3C018005 */ lui $at, %hi(D_80052B0C) +/* 07BA64 7F046F34 C4282B0C */ lwc1 $f8, %lo(D_80052B0C)($at) +/* 07BA68 7F046F38 3C018005 */ lui $at, %hi(D_80052B10) +/* 07BA6C 7F046F3C 460C403C */ c.lt.s $f8, $f12 +/* 07BA70 7F046F40 00000000 */ nop +/* 07BA74 7F046F44 45020003 */ bc1fl .L7F046F54 +/* 07BA78 7F046F48 C60A009C */ lwc1 $f10, 0x9c($s0) +/* 07BA7C 7F046F4C 46146301 */ sub.s $f12, $f12, $f20 +/* 07BA80 7F046F50 C60A009C */ lwc1 $f10, 0x9c($s0) +.L7F046F54: +/* 07BA84 7F046F54 460A0081 */ sub.s $f2, $f0, $f10 +/* 07BA88 7F046F58 4616103C */ c.lt.s $f2, $f22 +/* 07BA8C 7F046F5C 00000000 */ nop +/* 07BA90 7F046F60 45000001 */ bc1f .L7F046F68 +/* 07BA94 7F046F64 00000000 */ nop +.L7F046F68: +/* 07BA98 7F046F68 C4262B10 */ lwc1 $f6, %lo(D_80052B10)($at) +/* 07BA9C 7F046F6C 3C018005 */ lui $at, %hi(D_80052B14) +/* 07BAA0 7F046F70 4606603C */ c.lt.s $f12, $f6 +/* 07BAA4 7F046F74 00000000 */ nop +/* 07BAA8 7F046F78 45020009 */ bc1fl .L7F046FA0 +/* 07BAAC 7F046F7C 8FAC04AC */ lw $t4, 0x4ac($sp) +/* 07BAB0 7F046F80 C4242B14 */ lwc1 $f4, %lo(D_80052B14)($at) +/* 07BAB4 7F046F84 240A0001 */ li $t2, 1 +/* 07BAB8 7F046F88 460C203C */ c.lt.s $f4, $f12 +/* 07BABC 7F046F8C 00000000 */ nop +/* 07BAC0 7F046F90 45020003 */ bc1fl .L7F046FA0 +/* 07BAC4 7F046F94 8FAC04AC */ lw $t4, 0x4ac($sp) +/* 07BAC8 7F046F98 AFAA04AC */ sw $t2, 0x4ac($sp) +.L7F046F9C: +/* 07BACC 7F046F9C 8FAC04AC */ lw $t4, 0x4ac($sp) +.L7F046FA0: +/* 07BAD0 7F046FA0 C7A8049C */ lwc1 $f8, 0x49c($sp) +/* 07BAD4 7F046FA4 02402025 */ move $a0, $s2 +/* 07BAD8 7F046FA8 11800055 */ beqz $t4, .L7F047100 +/* 07BADC 7F046FAC 00002825 */ move $a1, $zero +/* 07BAE0 7F046FB0 C60A0084 */ lwc1 $f10, 0x84($s0) +/* 07BAE4 7F046FB4 3C018005 */ lui $at, %hi(D_80052B18) +/* 07BAE8 7F046FB8 C4262B18 */ lwc1 $f6, %lo(D_80052B18)($at) +/* 07BAEC 7F046FBC 460A4001 */ sub.s $f0, $f8, $f10 +/* 07BAF0 7F046FC0 8E6E0014 */ lw $t6, 0x14($s3) +/* 07BAF4 7F046FC4 3C018005 */ lui $at, %hi(D_80052B1C) +/* 07BAF8 7F046FC8 4606003C */ c.lt.s $f0, $f6 +/* 07BAFC 7F046FCC AFAE0490 */ sw $t6, 0x490($sp) +/* 07BB00 7F046FD0 45000003 */ bc1f .L7F046FE0 +/* 07BB04 7F046FD4 00000000 */ nop +/* 07BB08 7F046FD8 10000007 */ b .L7F046FF8 +/* 07BB0C 7F046FDC 46140000 */ add.s $f0, $f0, $f20 +.L7F046FE0: +/* 07BB10 7F046FE0 C4242B1C */ lwc1 $f4, %lo(D_80052B1C)($at) +/* 07BB14 7F046FE4 4600203E */ c.le.s $f4, $f0 +/* 07BB18 7F046FE8 00000000 */ nop +/* 07BB1C 7F046FEC 45020003 */ bc1fl .L7F046FFC +/* 07BB20 7F046FF0 E7A00494 */ swc1 $f0, 0x494($sp) +/* 07BB24 7F046FF4 46140001 */ sub.s $f0, $f0, $f20 +.L7F046FF8: +/* 07BB28 7F046FF8 E7A00494 */ swc1 $f0, 0x494($sp) +.L7F046FFC: +/* 07BB2C 7F046FFC 0FC2280F */ jal sub_GAME_7F08A03C +/* 07BB30 7F047000 E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BB34 7F047004 C7A00494 */ lwc1 $f0, 0x494($sp) +/* 07BB38 7F047008 C6080088 */ lwc1 $f8, 0x88($s0) +/* 07BB3C 7F04700C C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BB40 7F047010 4608003E */ c.le.s $f0, $f8 +/* 07BB44 7F047014 00000000 */ nop +/* 07BB48 7F047018 45020027 */ bc1fl .L7F0470B8 +/* 07BB4C 7F04701C 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BB50 7F047020 C60A008C */ lwc1 $f10, 0x8c($s0) +/* 07BB54 7F047024 240D001B */ li $t5, 27 +/* 07BB58 7F047028 4600503E */ c.le.s $f10, $f0 +/* 07BB5C 7F04702C 00000000 */ nop +/* 07BB60 7F047030 45020021 */ bc1fl .L7F0470B8 +/* 07BB64 7F047034 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BB68 7F047038 C6460010 */ lwc1 $f6, 0x10($s2) +/* 07BB6C 7F04703C 8E650008 */ lw $a1, 8($s3) +/* 07BB70 7F047040 8E660010 */ lw $a2, 0x10($s3) +/* 07BB74 7F047044 8E470008 */ lw $a3, 8($s2) +/* 07BB78 7F047048 AFAD0014 */ sw $t5, 0x14($sp) +/* 07BB7C 7F04704C E7A60010 */ swc1 $f6, 0x10($sp) +/* 07BB80 7F047050 C660000C */ lwc1 $f0, 0xc($s3) +/* 07BB84 7F047054 27A40490 */ addiu $a0, $sp, 0x490 +/* 07BB88 7F047058 E7A00018 */ swc1 $f0, 0x18($sp) +/* 07BB8C 7F04705C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 07BB90 7F047060 C642000C */ lwc1 $f2, 0xc($s2) +/* 07BB94 7F047064 E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BB98 7F047068 E7A20020 */ swc1 $f2, 0x20($sp) +/* 07BB9C 7F04706C 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 07BBA0 7F047070 E7A20024 */ swc1 $f2, 0x24($sp) +/* 07BBA4 7F047074 1040000F */ beqz $v0, .L7F0470B4 +/* 07BBA8 7F047078 C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BBAC 7F04707C 8FAF0490 */ lw $t7, 0x490($sp) +/* 07BBB0 7F047080 8E580014 */ lw $t8, 0x14($s2) +/* 07BBB4 7F047084 55F8000C */ bnel $t7, $t8, .L7F0470B8 +/* 07BBB8 7F047088 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BBBC 7F04708C 8E280008 */ lw $t0, 8($s1) +/* 07BBC0 7F047090 3C012000 */ lui $at, 0x2000 +/* 07BBC4 7F047094 24090001 */ li $t1, 1 +/* 07BBC8 7F047098 01015825 */ or $t3, $t0, $at +/* 07BBCC 7F04709C AE2B0008 */ sw $t3, 8($s1) +/* 07BBD0 7F0470A0 C7A40498 */ lwc1 $f4, 0x498($sp) +/* 07BBD4 7F0470A4 AFA904A4 */ sw $t1, 0x4a4($sp) +/* 07BBD8 7F0470A8 C7B0049C */ lwc1 $f16, 0x49c($sp) +/* 07BBDC 7F0470AC 1000000F */ b .L7F0470EC +/* 07BBE0 7F0470B0 E7A404D4 */ swc1 $f4, 0x4d4($sp) +.L7F0470B4: +/* 07BBE4 7F0470B4 8E0200B8 */ lw $v0, 0xb8($s0) +.L7F0470B8: +/* 07BBE8 7F0470B8 3C198005 */ lui $t9, %hi(global_timer) +/* 07BBEC 7F0470BC 0442000B */ bltzl $v0, .L7F0470EC +/* 07BBF0 7F0470C0 AFA004AC */ sw $zero, 0x4ac($sp) +/* 07BBF4 7F0470C4 8F39837C */ lw $t9, %lo(global_timer)($t9) +/* 07BBF8 7F0470C8 272AFF88 */ addiu $t2, $t9, -0x78 +/* 07BBFC 7F0470CC 0142082A */ slt $at, $t2, $v0 +/* 07BC00 7F0470D0 50200006 */ beql $at, $zero, .L7F0470EC +/* 07BC04 7F0470D4 AFA004AC */ sw $zero, 0x4ac($sp) +/* 07BC08 7F0470D8 C608009C */ lwc1 $f8, 0x9c($s0) +/* 07BC0C 7F0470DC C6100090 */ lwc1 $f16, 0x90($s0) +/* 07BC10 7F0470E0 10000002 */ b .L7F0470EC +/* 07BC14 7F0470E4 E7A804D4 */ swc1 $f8, 0x4d4($sp) +/* 07BC18 7F0470E8 AFA004AC */ sw $zero, 0x4ac($sp) +.L7F0470EC: +/* 07BC1C 7F0470EC 02402025 */ move $a0, $s2 +/* 07BC20 7F0470F0 24050001 */ li $a1, 1 +/* 07BC24 7F0470F4 0FC2280F */ jal sub_GAME_7F08A03C +/* 07BC28 7F0470F8 E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BC2C 7F0470FC C7B004D8 */ lwc1 $f16, 0x4d8($sp) +.L7F047100: +/* 07BC30 7F047100 8FAC04AC */ lw $t4, 0x4ac($sp) +.L7F047104: +/* 07BC34 7F047104 3C018005 */ lui $at, %hi(D_80052B20) +/* 07BC38 7F047108 C4342B20 */ lwc1 $f20, %lo(D_80052B20)($at) +/* 07BC3C 7F04710C 51800007 */ beql $t4, $zero, .L7F04712C +/* 07BC40 7F047110 8E0E00D0 */ lw $t6, 0xd0($s0) +/* 07BC44 7F047114 C7AC04B8 */ lwc1 $f12, 0x4b8($sp) +/* 07BC48 7F047118 0FC0B491 */ jal sub_GAME_7F02D244 +/* 07BC4C 7F04711C E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BC50 7F047120 C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BC54 7F047124 E7A004A0 */ swc1 $f0, 0x4a0($sp) +/* 07BC58 7F047128 8E0E00D0 */ lw $t6, 0xd0($s0) +.L7F04712C: +/* 07BC5C 7F04712C 11C0001F */ beqz $t6, .L7F0471AC +/* 07BC60 7F047130 3C0D8005 */ lui $t5, %hi(global_timer) +/* 07BC64 7F047134 8DAD837C */ lw $t5, %lo(global_timer)($t5) +/* 07BC68 7F047138 24010078 */ li $at, 120 +/* 07BC6C 7F04713C E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BC70 7F047140 01A1001A */ div $zero, $t5, $at +/* 07BC74 7F047144 00007810 */ mfhi $t7 +/* 07BC78 7F047148 448F5000 */ mtc1 $t7, $f10 +/* 07BC7C 7F04714C 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 07BC80 7F047150 44814000 */ mtc1 $at, $f8 +/* 07BC84 7F047154 468051A0 */ cvt.s.w $f6, $f10 +/* 07BC88 7F047158 46143102 */ mul.s $f4, $f6, $f20 +/* 07BC8C 7F04715C 0FC15FAB */ jal sinf +/* 07BC90 7F047160 46082303 */ div.s $f12, $f4, $f8 +/* 07BC94 7F047164 3C018005 */ lui $at, %hi(D_80052B24) +/* 07BC98 7F047168 C4262B24 */ lwc1 $f6, %lo(D_80052B24)($at) +/* 07BC9C 7F04716C C7AA04A0 */ lwc1 $f10, 0x4a0($sp) +/* 07BCA0 7F047170 C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BCA4 7F047174 46065102 */ mul.s $f4, $f10, $f6 +/* 07BCA8 7F047178 00000000 */ nop +/* 07BCAC 7F04717C 46002202 */ mul.s $f8, $f4, $f0 +/* 07BCB0 7F047180 46088400 */ add.s $f16, $f16, $f8 +/* 07BCB4 7F047184 4616803C */ c.lt.s $f16, $f22 +/* 07BCB8 7F047188 00000000 */ nop +/* 07BCBC 7F04718C 45000002 */ bc1f .L7F047198 +/* 07BCC0 7F047190 00000000 */ nop +/* 07BCC4 7F047194 46148400 */ add.s $f16, $f16, $f20 +.L7F047198: +/* 07BCC8 7F047198 4610A03E */ c.le.s $f20, $f16 +/* 07BCCC 7F04719C 00000000 */ nop +/* 07BCD0 7F0471A0 45020003 */ bc1fl .L7F0471B0 +/* 07BCD4 7F0471A4 C6020084 */ lwc1 $f2, 0x84($s0) +/* 07BCD8 7F0471A8 46148401 */ sub.s $f16, $f16, $f20 +.L7F0471AC: +/* 07BCDC 7F0471AC C6020084 */ lwc1 $f2, 0x84($s0) +.L7F0471B0: +/* 07BCE0 7F0471B0 3C018005 */ lui $at, %hi(D_80052B28) +/* 07BCE4 7F0471B4 C42A2B28 */ lwc1 $f10, %lo(D_80052B28)($at) +/* 07BCE8 7F0471B8 46028001 */ sub.s $f0, $f16, $f2 +/* 07BCEC 7F0471BC 26040090 */ addiu $a0, $s0, 0x90 +/* 07BCF0 7F0471C0 460A003C */ c.lt.s $f0, $f10 +/* 07BCF4 7F0471C4 00000000 */ nop +/* 07BCF8 7F0471C8 45000003 */ bc1f .L7F0471D8 +/* 07BCFC 7F0471CC 00000000 */ nop +/* 07BD00 7F0471D0 10000008 */ b .L7F0471F4 +/* 07BD04 7F0471D4 46140000 */ add.s $f0, $f0, $f20 +.L7F0471D8: +/* 07BD08 7F0471D8 3C018005 */ lui $at, %hi(D_80052B2C) +/* 07BD0C 7F0471DC C4262B2C */ lwc1 $f6, %lo(D_80052B2C)($at) +/* 07BD10 7F0471E0 4600303E */ c.le.s $f6, $f0 +/* 07BD14 7F0471E4 00000000 */ nop +/* 07BD18 7F0471E8 45020003 */ bc1fl .L7F0471F8 +/* 07BD1C 7F0471EC C60C0088 */ lwc1 $f12, 0x88($s0) +/* 07BD20 7F0471F0 46140001 */ sub.s $f0, $f0, $f20 +.L7F0471F4: +/* 07BD24 7F0471F4 C60C0088 */ lwc1 $f12, 0x88($s0) +.L7F0471F8: +/* 07BD28 7F0471F8 3C018005 */ lui $at, %hi(D_80052B30) +/* 07BD2C 7F0471FC 4600603C */ c.lt.s $f12, $f0 +/* 07BD30 7F047200 00000000 */ nop +/* 07BD34 7F047204 45020004 */ bc1fl .L7F047218 +/* 07BD38 7F047208 C60C008C */ lwc1 $f12, 0x8c($s0) +/* 07BD3C 7F04720C 10000007 */ b .L7F04722C +/* 07BD40 7F047210 460C1400 */ add.s $f16, $f2, $f12 +/* 07BD44 7F047214 C60C008C */ lwc1 $f12, 0x8c($s0) +.L7F047218: +/* 07BD48 7F047218 460C003C */ c.lt.s $f0, $f12 +/* 07BD4C 7F04721C 00000000 */ nop +/* 07BD50 7F047220 45020003 */ bc1fl .L7F047230 +/* 07BD54 7F047224 4616803C */ c.lt.s $f16, $f22 +/* 07BD58 7F047228 460C1400 */ add.s $f16, $f2, $f12 +.L7F04722C: +/* 07BD5C 7F04722C 4616803C */ c.lt.s $f16, $f22 +.L7F047230: +/* 07BD60 7F047230 00000000 */ nop +/* 07BD64 7F047234 45020003 */ bc1fl .L7F047244 +/* 07BD68 7F047238 4610A03E */ c.le.s $f20, $f16 +/* 07BD6C 7F04723C 46148400 */ add.s $f16, $f16, $f20 +/* 07BD70 7F047240 4610A03E */ c.le.s $f20, $f16 +.L7F047244: +/* 07BD74 7F047244 00000000 */ nop +/* 07BD78 7F047248 45000002 */ bc1f .L7F047254 +/* 07BD7C 7F04724C 00000000 */ nop +/* 07BD80 7F047250 46148401 */ sub.s $f16, $f16, $f20 +.L7F047254: +/* 07BD84 7F047254 C4202B30 */ lwc1 $f0, %lo(D_80052B30)($at) +/* 07BD88 7F047258 44058000 */ mfc1 $a1, $f16 +/* 07BD8C 7F04725C 26060094 */ addiu $a2, $s0, 0x94 +/* 07BD90 7F047260 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07BD94 7F047264 C60400A4 */ lwc1 $f4, 0xa4($s0) +/* 07BD98 7F047268 44070000 */ mfc1 $a3, $f0 +/* 07BD9C 7F04726C E7B004D8 */ swc1 $f16, 0x4d8($sp) +/* 07BDA0 7F047270 0FC10C43 */ jal sub_GAME_7F04310C +/* 07BDA4 7F047274 E7A40014 */ swc1 $f4, 0x14($sp) +/* 07BDA8 7F047278 3C018005 */ lui $at, %hi(D_80052B34) +/* 07BDAC 7F04727C C4202B34 */ lwc1 $f0, %lo(D_80052B34)($at) +/* 07BDB0 7F047280 2604009C */ addiu $a0, $s0, 0x9c +/* 07BDB4 7F047284 8FA504D4 */ lw $a1, 0x4d4($sp) +/* 07BDB8 7F047288 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07BDBC 7F04728C C60800A4 */ lwc1 $f8, 0xa4($s0) +/* 07BDC0 7F047290 44070000 */ mfc1 $a3, $f0 +/* 07BDC4 7F047294 260600A0 */ addiu $a2, $s0, 0xa0 +/* 07BDC8 7F047298 0FC10C43 */ jal sub_GAME_7F04310C +/* 07BDCC 7F04729C E7A80014 */ swc1 $f8, 0x14($sp) +/* 07BDD0 7F0472A0 C7B004D8 */ lwc1 $f16, 0x4d8($sp) +/* 07BDD4 7F0472A4 C60A0090 */ lwc1 $f10, 0x90($s0) +/* 07BDD8 7F0472A8 3C018005 */ lui $at, %hi(D_80052B38) +/* 07BDDC 7F0472AC C7A604D4 */ lwc1 $f6, 0x4d4($sp) +/* 07BDE0 7F0472B0 460A8301 */ sub.s $f12, $f16, $f10 +/* 07BDE4 7F0472B4 4616603C */ c.lt.s $f12, $f22 +/* 07BDE8 7F0472B8 00000000 */ nop +/* 07BDEC 7F0472BC 45000002 */ bc1f .L7F0472C8 +/* 07BDF0 7F0472C0 00000000 */ nop +/* 07BDF4 7F0472C4 46146300 */ add.s $f12, $f12, $f20 +.L7F0472C8: +/* 07BDF8 7F0472C8 C4202B38 */ lwc1 $f0, %lo(D_80052B38)($at) +/* 07BDFC 7F0472CC 460C003C */ c.lt.s $f0, $f12 +/* 07BE00 7F0472D0 00000000 */ nop +/* 07BE04 7F0472D4 45020003 */ bc1fl .L7F0472E4 +/* 07BE08 7F0472D8 C604009C */ lwc1 $f4, 0x9c($s0) +/* 07BE0C 7F0472DC 46146301 */ sub.s $f12, $f12, $f20 +/* 07BE10 7F0472E0 C604009C */ lwc1 $f4, 0x9c($s0) +.L7F0472E4: +/* 07BE14 7F0472E4 46043081 */ sub.s $f2, $f6, $f4 +/* 07BE18 7F0472E8 4616103C */ c.lt.s $f2, $f22 +/* 07BE1C 7F0472EC 00000000 */ nop +/* 07BE20 7F0472F0 45020003 */ bc1fl .L7F047300 +/* 07BE24 7F0472F4 4602003C */ c.lt.s $f0, $f2 +/* 07BE28 7F0472F8 46141080 */ add.s $f2, $f2, $f20 +/* 07BE2C 7F0472FC 4602003C */ c.lt.s $f0, $f2 +.L7F047300: +/* 07BE30 7F047300 00000000 */ nop +/* 07BE34 7F047304 45020003 */ bc1fl .L7F047314 +/* 07BE38 7F047308 AE0000D0 */ sw $zero, 0xd0($s0) +/* 07BE3C 7F04730C 46141081 */ sub.s $f2, $f2, $f20 +/* 07BE40 7F047310 AE0000D0 */ sw $zero, 0xd0($s0) +.L7F047314: +/* 07BE44 7F047314 8FB804AC */ lw $t8, 0x4ac($sp) +/* 07BE48 7F047318 C7A804A0 */ lwc1 $f8, 0x4a0($sp) +/* 07BE4C 7F04731C 53000047 */ beql $t8, $zero, .L7F04743C +/* 07BE50 7F047320 8FB904A8 */ lw $t9, 0x4a8($sp) +/* 07BE54 7F047324 4608603C */ c.lt.s $f12, $f8 +/* 07BE58 7F047328 C7AA04A0 */ lwc1 $f10, 0x4a0($sp) +/* 07BE5C 7F04732C 4502001B */ bc1fl .L7F04739C +/* 07BE60 7F047330 460A5000 */ add.s $f0, $f10, $f10 +/* 07BE64 7F047334 46004007 */ neg.s $f0, $f8 +/* 07BE68 7F047338 460C003C */ c.lt.s $f0, $f12 +/* 07BE6C 7F04733C 00000000 */ nop +/* 07BE70 7F047340 45020016 */ bc1fl .L7F04739C +/* 07BE74 7F047344 460A5000 */ add.s $f0, $f10, $f10 +/* 07BE78 7F047348 4608103C */ c.lt.s $f2, $f8 +/* 07BE7C 7F04734C 00000000 */ nop +/* 07BE80 7F047350 45020012 */ bc1fl .L7F04739C +/* 07BE84 7F047354 460A5000 */ add.s $f0, $f10, $f10 +/* 07BE88 7F047358 4602003C */ c.lt.s $f0, $f2 +/* 07BE8C 7F04735C 24080001 */ li $t0, 1 +/* 07BE90 7F047360 4502000E */ bc1fl .L7F04739C +/* 07BE94 7F047364 460A5000 */ add.s $f0, $f10, $f10 +/* 07BE98 7F047368 AE0800D0 */ sw $t0, 0xd0($s0) +/* 07BE9C 7F04736C 8FA904A4 */ lw $t1, 0x4a4($sp) +/* 07BEA0 7F047370 240B0001 */ li $t3, 1 +/* 07BEA4 7F047374 AFAB04A8 */ sw $t3, 0x4a8($sp) +/* 07BEA8 7F047378 1120002F */ beqz $t1, .L7F047438 +/* 07BEAC 7F04737C 3C198005 */ lui $t9, %hi(global_timer) +/* 07BEB0 7F047380 8F39837C */ lw $t9, %lo(global_timer)($t9) +/* 07BEB4 7F047384 3C0A8005 */ lui $t2, %hi(global_timer) +/* 07BEB8 7F047388 AE1900B8 */ sw $t9, 0xb8($s0) +/* 07BEBC 7F04738C 8D4A837C */ lw $t2, %lo(global_timer)($t2) +/* 07BEC0 7F047390 10000029 */ b .L7F047438 +/* 07BEC4 7F047394 AE0A00BC */ sw $t2, 0xbc($s0) +/* 07BEC8 7F047398 460A5000 */ add.s $f0, $f10, $f10 +.L7F04739C: +/* 07BECC 7F04739C 4600603C */ c.lt.s $f12, $f0 +/* 07BED0 7F0473A0 00000000 */ nop +/* 07BED4 7F0473A4 45020018 */ bc1fl .L7F047408 +/* 07BED8 7F0473A8 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BEDC 7F0473AC 46000387 */ neg.s $f14, $f0 +/* 07BEE0 7F0473B0 460C703C */ c.lt.s $f14, $f12 +/* 07BEE4 7F0473B4 00000000 */ nop +/* 07BEE8 7F0473B8 45020013 */ bc1fl .L7F047408 +/* 07BEEC 7F0473BC 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BEF0 7F0473C0 4600103C */ c.lt.s $f2, $f0 +/* 07BEF4 7F0473C4 00000000 */ nop +/* 07BEF8 7F0473C8 4502000F */ bc1fl .L7F047408 +/* 07BEFC 7F0473CC 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BF00 7F0473D0 4602703C */ c.lt.s $f14, $f2 +/* 07BF04 7F0473D4 240C0001 */ li $t4, 1 +/* 07BF08 7F0473D8 4502000B */ bc1fl .L7F047408 +/* 07BF0C 7F0473DC 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BF10 7F0473E0 AE0C00D0 */ sw $t4, 0xd0($s0) +/* 07BF14 7F0473E4 8FAD04A4 */ lw $t5, 0x4a4($sp) +/* 07BF18 7F0473E8 240E0001 */ li $t6, 1 +/* 07BF1C 7F0473EC AFAE04A8 */ sw $t6, 0x4a8($sp) +/* 07BF20 7F0473F0 11A00011 */ beqz $t5, .L7F047438 +/* 07BF24 7F0473F4 3C0F8005 */ lui $t7, %hi(global_timer) +/* 07BF28 7F0473F8 8DEF837C */ lw $t7, %lo(global_timer)($t7) +/* 07BF2C 7F0473FC 1000000E */ b .L7F047438 +/* 07BF30 7F047400 AE0F00B8 */ sw $t7, 0xb8($s0) +/* 07BF34 7F047404 8E0200B8 */ lw $v0, 0xb8($s0) +.L7F047408: +/* 07BF38 7F047408 3C188005 */ lui $t8, %hi(global_timer) +/* 07BF3C 7F04740C 0442000B */ bltzl $v0, .L7F04743C +/* 07BF40 7F047410 8FB904A8 */ lw $t9, 0x4a8($sp) +/* 07BF44 7F047414 8F18837C */ lw $t8, %lo(global_timer)($t8) +/* 07BF48 7F047418 240B0001 */ li $t3, 1 +/* 07BF4C 7F04741C 24090001 */ li $t1, 1 +/* 07BF50 7F047420 2708FF88 */ addiu $t0, $t8, -0x78 +/* 07BF54 7F047424 0102082A */ slt $at, $t0, $v0 +/* 07BF58 7F047428 50200004 */ beql $at, $zero, .L7F04743C +/* 07BF5C 7F04742C 8FB904A8 */ lw $t9, 0x4a8($sp) +/* 07BF60 7F047430 AE0B00D0 */ sw $t3, 0xd0($s0) +/* 07BF64 7F047434 AFA904A8 */ sw $t1, 0x4a8($sp) +.L7F047438: +/* 07BF68 7F047438 8FB904A8 */ lw $t9, 0x4a8($sp) +.L7F04743C: +/* 07BF6C 7F04743C 3C018005 */ lui $at, %hi(D_80052B3C) +/* 07BF70 7F047440 53200013 */ beql $t9, $zero, .L7F047490 +/* 07BF74 7F047444 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07BF78 7F047448 C4202B3C */ lwc1 $f0, %lo(D_80052B3C)($at) +/* 07BF7C 7F04744C 3C018005 */ lui $at, %hi(D_80052B40) +/* 07BF80 7F047450 C4262B40 */ lwc1 $f6, %lo(D_80052B40)($at) +/* 07BF84 7F047454 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07BF88 7F047458 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07BF8C 7F04745C C60A00B0 */ lwc1 $f10, 0xb0($s0) +/* 07BF90 7F047460 46043202 */ mul.s $f8, $f6, $f4 +/* 07BF94 7F047464 46085180 */ add.s $f6, $f10, $f8 +/* 07BF98 7F047468 E60600B0 */ swc1 $f6, 0xb0($s0) +/* 07BF9C 7F04746C C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07BFA0 7F047470 4602003C */ c.lt.s $f0, $f2 +/* 07BFA4 7F047474 00000000 */ nop +/* 07BFA8 7F047478 45020023 */ bc1fl .L7F047508 +/* 07BFAC 7F04747C 4602B03C */ c.lt.s $f22, $f2 +/* 07BFB0 7F047480 E60000B0 */ swc1 $f0, 0xb0($s0) +/* 07BFB4 7F047484 1000001F */ b .L7F047504 +/* 07BFB8 7F047488 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07BFBC 7F04748C C60200B0 */ lwc1 $f2, 0xb0($s0) +.L7F047490: +/* 07BFC0 7F047490 3C0A8005 */ lui $t2, %hi(clock_timer) +/* 07BFC4 7F047494 4602B03C */ c.lt.s $f22, $f2 +/* 07BFC8 7F047498 00000000 */ nop +/* 07BFCC 7F04749C 4502001A */ bc1fl .L7F047508 +/* 07BFD0 7F0474A0 4602B03C */ c.lt.s $f22, $f2 +/* 07BFD4 7F0474A4 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) +/* 07BFD8 7F0474A8 00001025 */ move $v0, $zero +/* 07BFDC 7F0474AC 3C018005 */ lui $at, %hi(D_80052B44) +/* 07BFE0 7F0474B0 1940000C */ blez $t2, .L7F0474E4 +/* 07BFE4 7F0474B4 00000000 */ nop +/* 07BFE8 7F0474B8 C4202B44 */ lwc1 $f0, %lo(D_80052B44)($at) +/* 07BFEC 7F0474BC C60400B0 */ lwc1 $f4, 0xb0($s0) +.L7F0474C0: +/* 07BFF0 7F0474C0 3C0C8005 */ lui $t4, %hi(clock_timer) +/* 07BFF4 7F0474C4 24420001 */ addiu $v0, $v0, 1 +/* 07BFF8 7F0474C8 46002282 */ mul.s $f10, $f4, $f0 +/* 07BFFC 7F0474CC E60A00B0 */ swc1 $f10, 0xb0($s0) +/* 07C000 7F0474D0 8D8C8374 */ lw $t4, %lo(clock_timer)($t4) +/* 07C004 7F0474D4 004C082A */ slt $at, $v0, $t4 +/* 07C008 7F0474D8 5420FFF9 */ bnezl $at, .L7F0474C0 +/* 07C00C 7F0474DC C60400B0 */ lwc1 $f4, 0xb0($s0) +/* 07C010 7F0474E0 C60200B0 */ lwc1 $f2, 0xb0($s0) +.L7F0474E4: +/* 07C014 7F0474E4 3C018005 */ lui $at, %hi(D_80052B48) +/* 07C018 7F0474E8 C4282B48 */ lwc1 $f8, %lo(D_80052B48)($at) +/* 07C01C 7F0474EC 4608103E */ c.le.s $f2, $f8 +/* 07C020 7F0474F0 00000000 */ nop +/* 07C024 7F0474F4 45020004 */ bc1fl .L7F047508 +/* 07C028 7F0474F8 4602B03C */ c.lt.s $f22, $f2 +/* 07C02C 7F0474FC E61600B0 */ swc1 $f22, 0xb0($s0) +/* 07C030 7F047500 C60200B0 */ lwc1 $f2, 0xb0($s0) +.L7F047504: +/* 07C034 7F047504 4602B03C */ c.lt.s $f22, $f2 +.L7F047508: +/* 07C038 7F047508 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C03C 7F04750C 45020348 */ bc1fl .L7F048230 +/* 07C040 7F047510 92220003 */ lbu $v0, 3($s1) +/* 07C044 7F047514 C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07C048 7F047518 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07C04C 7F04751C 46041282 */ mul.s $f10, $f2, $f4 +/* 07C050 7F047520 460A3200 */ add.s $f8, $f6, $f10 +/* 07C054 7F047524 E60800B4 */ swc1 $f8, 0xb4($s0) +/* 07C058 7F047528 C60000B4 */ lwc1 $f0, 0xb4($s0) +/* 07C05C 7F04752C 4600A03E */ c.le.s $f20, $f0 +/* 07C060 7F047530 00000000 */ nop +/* 07C064 7F047534 4502033E */ bc1fl .L7F048230 +/* 07C068 7F047538 92220003 */ lbu $v0, 3($s1) +/* 07C06C 7F04753C 46140101 */ sub.s $f4, $f0, $f20 +.L7F047540: +/* 07C070 7F047540 E60400B4 */ swc1 $f4, 0xb4($s0) +/* 07C074 7F047544 C60000B4 */ lwc1 $f0, 0xb4($s0) +/* 07C078 7F047548 4600A03E */ c.le.s $f20, $f0 +/* 07C07C 7F04754C 00000000 */ nop +/* 07C080 7F047550 4503FFFB */ bc1tl .L7F047540 +/* 07C084 7F047554 46140101 */ sub.s $f4, $f0, $f20 +/* 07C088 7F047558 10000335 */ b .L7F048230 +/* 07C08C 7F04755C 92220003 */ lbu $v0, 3($s1) +/* 07C090 7F047560 24010027 */ li $at, 39 +.L7F047564: +/* 07C094 7F047564 14410255 */ bne $v0, $at, .L7F047EBC +/* 07C098 7F047568 02202025 */ move $a0, $s1 +/* 07C09C 7F04756C C62600A0 */ lwc1 $f6, 0xa0($s1) +/* 07C0A0 7F047570 AFA00478 */ sw $zero, 0x478($sp) +/* 07C0A4 7F047574 24050001 */ li $a1, 1 +/* 07C0A8 7F047578 0FC0D521 */ jal parse_handle_actionblocks +/* 07C0AC 7F04757C E7A6047C */ swc1 $f6, 0x47c($sp) +/* 07C0B0 7F047580 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07C0B4 7F047584 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C0B8 7F047588 460EB03E */ c.le.s $f22, $f14 +/* 07C0BC 7F04758C 00000000 */ nop +/* 07C0C0 7F047590 45020016 */ bc1fl .L7F0475EC +/* 07C0C4 7F047594 8E2E000C */ lw $t6, 0xc($s1) +/* 07C0C8 7F047598 C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C0CC 7F04759C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C0D0 7F0475A0 4602703E */ c.le.s $f14, $f2 +/* 07C0D4 7F0475A4 00000000 */ nop +/* 07C0D8 7F0475A8 45020006 */ bc1fl .L7F0475C4 +/* 07C0DC 7F0475AC C6200088 */ lwc1 $f0, 0x88($s1) +/* 07C0E0 7F0475B0 C62A0094 */ lwc1 $f10, 0x94($s1) +/* 07C0E4 7F0475B4 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07C0E8 7F0475B8 10000008 */ b .L7F0475DC +/* 07C0EC 7F0475BC E62A0088 */ swc1 $f10, 0x88($s1) +/* 07C0F0 7F0475C0 C6200088 */ lwc1 $f0, 0x88($s1) +.L7F0475C4: +/* 07C0F4 7F0475C4 C6280094 */ lwc1 $f8, 0x94($s1) +/* 07C0F8 7F0475C8 46004101 */ sub.s $f4, $f8, $f0 +/* 07C0FC 7F0475CC 46022182 */ mul.s $f6, $f4, $f2 +/* 07C100 7F0475D0 460E3283 */ div.s $f10, $f6, $f14 +/* 07C104 7F0475D4 460A0200 */ add.s $f8, $f0, $f10 +/* 07C108 7F0475D8 E6280088 */ swc1 $f8, 0x88($s1) +.L7F0475DC: +/* 07C10C 7F0475DC C4248378 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07C110 7F0475E0 46047181 */ sub.s $f6, $f14, $f4 +/* 07C114 7F0475E4 E6260098 */ swc1 $f6, 0x98($s1) +/* 07C118 7F0475E8 8E2E000C */ lw $t6, 0xc($s1) +.L7F0475EC: +/* 07C11C 7F0475EC 00008025 */ move $s0, $zero +/* 07C120 7F0475F0 000E6B00 */ sll $t5, $t6, 0xc +/* 07C124 7F0475F4 05A00014 */ bltz $t5, .L7F047648 +/* 07C128 7F0475F8 00000000 */ nop +/* 07C12C 7F0475FC 0FC13BCD */ jal check_if_object_has_not_been_destroyed +/* 07C130 7F047600 02202025 */ move $a0, $s1 +/* 07C134 7F047604 10400010 */ beqz $v0, .L7F047648 +/* 07C138 7F047608 00000000 */ nop +/* 07C13C 7F04760C C62A0088 */ lwc1 $f10, 0x88($s1) +/* 07C140 7F047610 26240058 */ addiu $a0, $s1, 0x58 +/* 07C144 7F047614 3C0544FA */ lui $a1, 0x44fa +/* 07C148 7F047618 460AB03C */ c.lt.s $f22, $f10 +/* 07C14C 7F04761C 3C06453B */ lui $a2, (0x453B8000 >> 16) # lui $a2, 0x453b +/* 07C150 7F047620 45010006 */ bc1t .L7F04763C +/* 07C154 7F047624 00000000 */ nop +/* 07C158 7F047628 C6280094 */ lwc1 $f8, 0x94($s1) +/* 07C15C 7F04762C 4608B03C */ c.lt.s $f22, $f8 +/* 07C160 7F047630 00000000 */ nop +/* 07C164 7F047634 45000004 */ bc1f .L7F047648 +/* 07C168 7F047638 00000000 */ nop +.L7F04763C: +/* 07C16C 7F04763C 0FC14E25 */ jal sub_GAME_7F053894 +/* 07C170 7F047640 34C68000 */ ori $a2, (0x453B8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 07C174 7F047644 00408025 */ move $s0, $v0 +.L7F047648: +/* 07C178 7F047648 5A000019 */ blezl $s0, .L7F0476B0 +/* 07C17C 7F04764C 8E2400AC */ lw $a0, 0xac($s1) +/* 07C180 7F047650 8E2400AC */ lw $a0, 0xac($s1) +/* 07C184 7F047654 10800005 */ beqz $a0, .L7F04766C +/* 07C188 7F047658 00000000 */ nop +/* 07C18C 7F04765C 0C00237C */ jal sfxGetArg0Unk3F +/* 07C190 7F047660 00000000 */ nop +/* 07C194 7F047664 5440000A */ bnezl $v0, .L7F047690 +/* 07C198 7F047668 8E2400AC */ lw $a0, 0xac($s1) +.L7F04766C: +/* 07C19C 7F04766C 0FC2FF01 */ jal get_controls_locked_flag +/* 07C1A0 7F047670 00000000 */ nop +/* 07C1A4 7F047674 14400005 */ bnez $v0, .L7F04768C +/* 07C1A8 7F047678 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07C1AC 7F04767C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07C1B0 7F047680 24050041 */ li $a1, 65 +/* 07C1B4 7F047684 0C002382 */ jal play_sfx_a1 +/* 07C1B8 7F047688 262600AC */ addiu $a2, $s1, 0xac +.L7F04768C: +/* 07C1BC 7F04768C 8E2400AC */ lw $a0, 0xac($s1) +.L7F047690: +/* 07C1C0 7F047690 24050008 */ li $a1, 8 +/* 07C1C4 7F047694 5080000F */ beql $a0, $zero, .L7F0476D4 +/* 07C1C8 7F047698 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C1CC 7F04769C 0C002461 */ jal sfx_c_70009184 +/* 07C1D0 7F0476A0 02003025 */ move $a2, $s0 +/* 07C1D4 7F0476A4 1000000B */ b .L7F0476D4 +/* 07C1D8 7F0476A8 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C1DC 7F0476AC 8E2400AC */ lw $a0, 0xac($s1) +.L7F0476B0: +/* 07C1E0 7F0476B0 50800008 */ beql $a0, $zero, .L7F0476D4 +/* 07C1E4 7F0476B4 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C1E8 7F0476B8 0C00237C */ jal sfxGetArg0Unk3F +/* 07C1EC 7F0476BC 00000000 */ nop +/* 07C1F0 7F0476C0 50400004 */ beql $v0, $zero, .L7F0476D4 +/* 07C1F4 7F0476C4 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C1F8 7F0476C8 0C002408 */ jal sfxDeactivate +/* 07C1FC 7F0476CC 8E2400AC */ lw $a0, 0xac($s1) +/* 07C200 7F0476D0 8E2400A4 */ lw $a0, 0xa4($s1) +.L7F0476D4: +/* 07C204 7F0476D4 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) +/* 07C208 7F0476D8 5080002A */ beql $a0, $zero, .L7F047784 +/* 07C20C 7F0476DC 8E2B0008 */ lw $t3, 8($s1) +/* 07C210 7F0476E0 8E3800A8 */ lw $t8, 0xa8($s1) +/* 07C214 7F0476E4 8C8F0000 */ lw $t7, ($a0) +/* 07C218 7F0476E8 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 +/* 07C21C 7F0476EC 00184080 */ sll $t0, $t8, 2 +/* 07C220 7F0476F0 01E81021 */ addu $v0, $t7, $t0 +/* 07C224 7F0476F4 8C4B0000 */ lw $t3, ($v0) +/* 07C228 7F0476F8 8CB90000 */ lw $t9, ($a1) +/* 07C22C 7F0476FC 8CAE0018 */ lw $t6, 0x18($a1) +/* 07C230 7F047700 000B4900 */ sll $t1, $t3, 4 +/* 07C234 7F047704 01391821 */ addu $v1, $t1, $t9 +/* 07C238 7F047708 8C6A0000 */ lw $t2, ($v1) +/* 07C23C 7F04770C C6260058 */ lwc1 $f6, 0x58($s1) +/* 07C240 7F047710 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07C244 7F047714 000A6080 */ sll $t4, $t2, 2 +/* 07C248 7F047718 018A6023 */ subu $t4, $t4, $t2 +/* 07C24C 7F04771C 000C6080 */ sll $t4, $t4, 2 +/* 07C250 7F047720 018A6023 */ subu $t4, $t4, $t2 +/* 07C254 7F047724 000C6080 */ sll $t4, $t4, 2 +/* 07C258 7F047728 018E3021 */ addu $a2, $t4, $t6 +/* 07C25C 7F04772C C4C40000 */ lwc1 $f4, ($a2) +/* 07C260 7F047730 C4CA0008 */ lwc1 $f10, 8($a2) +/* 07C264 7F047734 AFA60478 */ sw $a2, 0x478($sp) +/* 07C268 7F047738 46062301 */ sub.s $f12, $f4, $f6 +/* 07C26C 7F04773C 0FC16A8C */ jal convert_angle_using_inverse +/* 07C270 7F047740 46085381 */ sub.s $f14, $f10, $f8 +/* 07C274 7F047744 E7A0047C */ swc1 $f0, 0x47c($sp) +/* 07C278 7F047748 8E2D0008 */ lw $t5, 8($s1) +/* 07C27C 7F04774C 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07C280 7F047750 C7A4047C */ lwc1 $f4, 0x47c($sp) +/* 07C284 7F047754 000DC080 */ sll $t8, $t5, 2 +/* 07C288 7F047758 07010018 */ bgez $t8, .L7F0477BC +/* 07C28C 7F04775C 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07C290 7F047760 8E2F0008 */ lw $t7, 8($s1) +/* 07C294 7F047764 E62400A0 */ swc1 $f4, 0xa0($s1) +/* 07C298 7F047768 02202025 */ move $a0, $s1 +/* 07C29C 7F04776C 01E14024 */ and $t0, $t7, $at +/* 07C2A0 7F047770 0FC112CE */ jal sub_GAME_7F044B38 +/* 07C2A4 7F047774 AE280008 */ sw $t0, 8($s1) +/* 07C2A8 7F047778 10000011 */ b .L7F0477C0 +/* 07C2AC 7F04777C C6260088 */ lwc1 $f6, 0x88($s1) +/* 07C2B0 7F047780 8E2B0008 */ lw $t3, 8($s1) +.L7F047784: +/* 07C2B4 7F047784 000B4880 */ sll $t1, $t3, 2 +/* 07C2B8 7F047788 0523000D */ bgezl $t1, .L7F0477C0 +/* 07C2BC 7F04778C C6260088 */ lwc1 $f6, 0x88($s1) +/* 07C2C0 7F047790 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 07C2C4 7F047794 0FC16A8C */ jal convert_angle_using_inverse +/* 07C2C8 7F047798 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 07C2CC 7F04779C 8E390008 */ lw $t9, 8($s1) +/* 07C2D0 7F0477A0 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07C2D4 7F0477A4 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07C2D8 7F0477A8 03215024 */ and $t2, $t9, $at +/* 07C2DC 7F0477AC E62000A0 */ swc1 $f0, 0xa0($s1) +/* 07C2E0 7F0477B0 AE2A0008 */ sw $t2, 8($s1) +/* 07C2E4 7F0477B4 0FC112CE */ jal sub_GAME_7F044B38 +/* 07C2E8 7F0477B8 02202025 */ move $a0, $s1 +.L7F0477BC: +/* 07C2EC 7F0477BC C6260088 */ lwc1 $f6, 0x88($s1) +.L7F0477C0: +/* 07C2F0 7F0477C0 4606B03C */ c.lt.s $f22, $f6 +/* 07C2F4 7F0477C4 00000000 */ nop +/* 07C2F8 7F0477C8 450201AC */ bc1fl .L7F047E7C +/* 07C2FC 7F0477CC 8E280008 */ lw $t0, 8($s1) +/* 07C300 7F0477D0 8E6C0014 */ lw $t4, 0x14($s3) +/* 07C304 7F0477D4 8FAE0478 */ lw $t6, 0x478($sp) +/* 07C308 7F0477D8 4600B386 */ mov.s $f14, $f22 +/* 07C30C 7F0477DC AFAC0468 */ sw $t4, 0x468($sp) +/* 07C310 7F0477E0 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C314 7F0477E4 E7AC0438 */ swc1 $f12, 0x438($sp) +/* 07C318 7F0477E8 C62A009C */ lwc1 $f10, 0x9c($s1) +/* 07C31C 7F0477EC 11C00013 */ beqz $t6, .L7F04783C +/* 07C320 7F0477F0 E7AA0434 */ swc1 $f10, 0x434($sp) +/* 07C324 7F0477F4 262D0058 */ addiu $t5, $s1, 0x58 +/* 07C328 7F0477F8 AFAD0070 */ sw $t5, 0x70($sp) +/* 07C32C 7F0477FC 0FC15FAB */ jal sinf +/* 07C330 7F047800 E7AE0430 */ swc1 $f14, 0x430($sp) +/* 07C334 7F047804 E7A0043C */ swc1 $f0, 0x43c($sp) +/* 07C338 7F047808 E7B60440 */ swc1 $f22, 0x440($sp) +/* 07C33C 7F04780C 0FC15FA8 */ jal cosf +/* 07C340 7F047810 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C344 7F047814 E7A00444 */ swc1 $f0, 0x444($sp) +/* 07C348 7F047818 8FA40070 */ lw $a0, 0x70($sp) +/* 07C34C 7F04781C 27A5043C */ addiu $a1, $sp, 0x43c +/* 07C350 7F047820 8FA60478 */ lw $a2, 0x478($sp) +/* 07C354 7F047824 0FC0BF0D */ jal sub_GAME_7F02FC34 +/* 07C358 7F047828 3C074120 */ lui $a3, 0x4120 +/* 07C35C 7F04782C 10400003 */ beqz $v0, .L7F04783C +/* 07C360 7F047830 C7AE0430 */ lwc1 $f14, 0x430($sp) +/* 07C364 7F047834 C62800A0 */ lwc1 $f8, 0xa0($s1) +/* 07C368 7F047838 E7A8047C */ swc1 $f8, 0x47c($sp) +.L7F04783C: +/* 07C36C 7F04783C 3C018005 */ lui $at, %hi(D_80052B4C) +/* 07C370 7F047840 C4242B4C */ lwc1 $f4, %lo(D_80052B4C)($at) +/* 07C374 7F047844 3C018005 */ lui $at, %hi(D_80052B50) +/* 07C378 7F047848 C4262B50 */ lwc1 $f6, %lo(D_80052B50)($at) +/* 07C37C 7F04784C 3C0738E4 */ lui $a3, (0x38E4C389 >> 16) # lui $a3, 0x38e4 +/* 07C380 7F047850 34E7C389 */ ori $a3, (0x38E4C389 & 0xFFFF) # ori $a3, $a3, 0xc389 +/* 07C384 7F047854 262400A0 */ addiu $a0, $s1, 0xa0 +/* 07C388 7F047858 8FA5047C */ lw $a1, 0x47c($sp) +/* 07C38C 7F04785C 2626009C */ addiu $a2, $s1, 0x9c +/* 07C390 7F047860 E7AE0430 */ swc1 $f14, 0x430($sp) +/* 07C394 7F047864 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07C398 7F047868 0FC10C43 */ jal sub_GAME_7F04310C +/* 07C39C 7F04786C E7A60014 */ swc1 $f6, 0x14($sp) +/* 07C3A0 7F047870 3C018005 */ lui $at, %hi(D_80052B54) +/* 07C3A4 7F047874 C4342B54 */ lwc1 $f20, %lo(D_80052B54)($at) +/* 07C3A8 7F047878 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C3AC 7F04787C C7AE0430 */ lwc1 $f14, 0x430($sp) +/* 07C3B0 7F047880 3C018005 */ lui $at, %hi(D_80052B58) +/* 07C3B4 7F047884 460CA03E */ c.le.s $f20, $f12 +/* 07C3B8 7F047888 00000000 */ nop +/* 07C3BC 7F04788C 45020009 */ bc1fl .L7F0478B4 +/* 07C3C0 7F047890 4616603C */ c.lt.s $f12, $f22 +/* 07C3C4 7F047894 46146281 */ sub.s $f10, $f12, $f20 +.L7F047898: +/* 07C3C8 7F047898 E62A00A0 */ swc1 $f10, 0xa0($s1) +/* 07C3CC 7F04789C C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C3D0 7F0478A0 460CA03E */ c.le.s $f20, $f12 +/* 07C3D4 7F0478A4 00000000 */ nop +/* 07C3D8 7F0478A8 4503FFFB */ bc1tl .L7F047898 +/* 07C3DC 7F0478AC 46146281 */ sub.s $f10, $f12, $f20 +/* 07C3E0 7F0478B0 4616603C */ c.lt.s $f12, $f22 +.L7F0478B4: +/* 07C3E4 7F0478B4 00000000 */ nop +/* 07C3E8 7F0478B8 45020009 */ bc1fl .L7F0478E0 +/* 07C3EC 7F0478BC C7A4047C */ lwc1 $f4, 0x47c($sp) +/* 07C3F0 7F0478C0 46146200 */ add.s $f8, $f12, $f20 +.L7F0478C4: +/* 07C3F4 7F0478C4 E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07C3F8 7F0478C8 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C3FC 7F0478CC 4616603C */ c.lt.s $f12, $f22 +/* 07C400 7F0478D0 00000000 */ nop +/* 07C404 7F0478D4 4503FFFB */ bc1tl .L7F0478C4 +/* 07C408 7F0478D8 46146200 */ add.s $f8, $f12, $f20 +/* 07C40C 7F0478DC C7A4047C */ lwc1 $f4, 0x47c($sp) +.L7F0478E0: +/* 07C410 7F0478E0 460C2032 */ c.eq.s $f4, $f12 +/* 07C414 7F0478E4 00000000 */ nop +/* 07C418 7F0478E8 4502000F */ bc1fl .L7F047928 +/* 07C41C 7F0478EC 8E980008 */ lw $t8, 8($s4) +/* 07C420 7F0478F0 C620009C */ lwc1 $f0, 0x9c($s1) +/* 07C424 7F0478F4 C4262B58 */ lwc1 $f6, %lo(D_80052B58)($at) +/* 07C428 7F0478F8 3C018005 */ lui $at, %hi(D_80052B5C) +/* 07C42C 7F0478FC 4606003E */ c.le.s $f0, $f6 +/* 07C430 7F047900 00000000 */ nop +/* 07C434 7F047904 45020008 */ bc1fl .L7F047928 +/* 07C438 7F047908 8E980008 */ lw $t8, 8($s4) +/* 07C43C 7F04790C C42A2B5C */ lwc1 $f10, %lo(D_80052B5C)($at) +/* 07C440 7F047910 4600503E */ c.le.s $f10, $f0 +/* 07C444 7F047914 00000000 */ nop +/* 07C448 7F047918 45020003 */ bc1fl .L7F047928 +/* 07C44C 7F04791C 8E980008 */ lw $t8, 8($s4) +/* 07C450 7F047920 E636009C */ swc1 $f22, 0x9c($s1) +/* 07C454 7F047924 8E980008 */ lw $t8, 8($s4) +.L7F047928: +/* 07C458 7F047928 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C45C 7F04792C C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C460 7F047930 8F0F0008 */ lw $t7, 8($t8) +/* 07C464 7F047934 C7A40438 */ lwc1 $f4, 0x438($sp) +/* 07C468 7F047938 4602B03C */ c.lt.s $f22, $f2 +/* 07C46C 7F04793C 8DE8000C */ lw $t0, 0xc($t7) +/* 07C470 7F047940 45000004 */ bc1f .L7F047954 +/* 07C474 7F047944 8D100004 */ lw $s0, 4($t0) +/* 07C478 7F047948 C62800A0 */ lwc1 $f8, 0xa0($s1) +/* 07C47C 7F04794C 46044181 */ sub.s $f6, $f8, $f4 +/* 07C480 7F047950 46023383 */ div.s $f14, $f6, $f2 +.L7F047954: +/* 07C484 7F047954 4616703C */ c.lt.s $f14, $f22 +/* 07C488 7F047958 00000000 */ nop +/* 07C48C 7F04795C 45000002 */ bc1f .L7F047968 +/* 07C490 7F047960 00000000 */ nop +/* 07C494 7F047964 46147380 */ add.s $f14, $f14, $f20 +.L7F047968: +/* 07C498 7F047968 0FC15FAB */ jal sinf +/* 07C49C 7F04796C 46007306 */ mov.s $f12, $f14 +/* 07C4A0 7F047970 C60A0008 */ lwc1 $f10, 8($s0) +/* 07C4A4 7F047974 C6880014 */ lwc1 $f8, 0x14($s4) +/* 07C4A8 7F047978 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C4AC 7F04797C 46085102 */ mul.s $f4, $f10, $f8 +/* 07C4B0 7F047980 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07C4B4 7F047984 46040182 */ mul.s $f6, $f0, $f4 +/* 07C4B8 7F047988 00000000 */ nop +/* 07C4BC 7F04798C 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C4C0 7F047990 E7A80460 */ swc1 $f8, 0x460($sp) +/* 07C4C4 7F047994 0FC15FAB */ jal sinf +/* 07C4C8 7F047998 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C4CC 7F04799C E7A0043C */ swc1 $f0, 0x43c($sp) +/* 07C4D0 7F0479A0 E7B60440 */ swc1 $f22, 0x440($sp) +/* 07C4D4 7F0479A4 0FC15FA8 */ jal cosf +/* 07C4D8 7F0479A8 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C4DC 7F0479AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07C4E0 7F0479B0 44817000 */ mtc1 $at, $f14 +/* 07C4E4 7F0479B4 E7A00444 */ swc1 $f0, 0x444($sp) +/* 07C4E8 7F0479B8 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07C4EC 7F0479BC C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C4F0 7F0479C0 C6240088 */ lwc1 $f4, 0x88($s1) +/* 07C4F4 7F0479C4 C7AA043C */ lwc1 $f10, 0x43c($sp) +/* 07C4F8 7F0479C8 C7AC0460 */ lwc1 $f12, 0x460($sp) +/* 07C4FC 7F0479CC 46022182 */ mul.s $f6, $f4, $f2 +/* 07C500 7F0479D0 C6240058 */ lwc1 $f4, 0x58($s1) +/* 07C504 7F0479D4 27B00468 */ addiu $s0, $sp, 0x468 +/* 07C508 7F0479D8 240B001F */ li $t3, 31 +/* 07C50C 7F0479DC 02002025 */ move $a0, $s0 +/* 07C510 7F0479E0 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C514 7F0479E4 46082180 */ add.s $f6, $f4, $f8 +/* 07C518 7F0479E8 C7A40444 */ lwc1 $f4, 0x444($sp) +/* 07C51C 7F0479EC 460C2202 */ mul.s $f8, $f4, $f12 +/* 07C520 7F0479F0 46083181 */ sub.s $f6, $f6, $f8 +/* 07C524 7F0479F4 E7A60694 */ swc1 $f6, 0x694($sp) +/* 07C528 7F0479F8 C628005C */ lwc1 $f8, 0x5c($s1) +/* 07C52C 7F0479FC 44073000 */ mfc1 $a3, $f6 +/* 07C530 7F047A00 E7A80698 */ swc1 $f8, 0x698($sp) +/* 07C534 7F047A04 C6280088 */ lwc1 $f8, 0x88($s1) +/* 07C538 7F047A08 46024202 */ mul.s $f8, $f8, $f2 +/* 07C53C 7F047A0C 00000000 */ nop +/* 07C540 7F047A10 46044202 */ mul.s $f8, $f8, $f4 +/* 07C544 7F047A14 C6240060 */ lwc1 $f4, 0x60($s1) +/* 07C548 7F047A18 46082100 */ add.s $f4, $f4, $f8 +/* 07C54C 7F047A1C 460C5202 */ mul.s $f8, $f10, $f12 +/* 07C550 7F047A20 46044280 */ add.s $f10, $f8, $f4 +/* 07C554 7F047A24 E7AA069C */ swc1 $f10, 0x69c($sp) +/* 07C558 7F047A28 8E660010 */ lw $a2, 0x10($s3) +/* 07C55C 7F047A2C 8E650008 */ lw $a1, 8($s3) +/* 07C560 7F047A30 E7B60020 */ swc1 $f22, 0x20($sp) +/* 07C564 7F047A34 E7B60018 */ swc1 $f22, 0x18($sp) +/* 07C568 7F047A38 AFAB0014 */ sw $t3, 0x14($sp) +/* 07C56C 7F047A3C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C570 7F047A40 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 07C574 7F047A44 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 07C578 7F047A48 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 07C57C 7F047A4C 104000FA */ beqz $v0, .L7F047E38 +/* 07C580 7F047A50 02002025 */ move $a0, $s0 +/* 07C584 7F047A54 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07C588 7F047A58 44814000 */ mtc1 $at, $f8 +/* 07C58C 7F047A5C 2409001F */ li $t1, 31 +/* 07C590 7F047A60 AFA90010 */ sw $t1, 0x10($sp) +/* 07C594 7F047A64 8FA50694 */ lw $a1, 0x694($sp) +/* 07C598 7F047A68 8FA6069C */ lw $a2, 0x69c($sp) +/* 07C59C 7F047A6C 3C074120 */ lui $a3, 0x4120 +/* 07C5A0 7F047A70 E7B60014 */ swc1 $f22, 0x14($sp) +/* 07C5A4 7F047A74 0FC2C62E */ jal sub_GAME_7F0B18B8 +/* 07C5A8 7F047A78 E7A80018 */ swc1 $f8, 0x18($sp) +/* 07C5AC 7F047A7C 044300EF */ bgezl $v0, .L7F047E3C +/* 07C5B0 7F047A80 C6260098 */ lwc1 $f6, 0x98($s1) +/* 07C5B4 7F047A84 8E790014 */ lw $t9, 0x14($s3) +/* 07C5B8 7F047A88 8FAA0468 */ lw $t2, 0x468($sp) +/* 07C5BC 7F047A8C 02202025 */ move $a0, $s1 +/* 07C5C0 7F047A90 AFB9044C */ sw $t9, 0x44c($sp) +/* 07C5C4 7F047A94 C6640008 */ lwc1 $f4, 8($s3) +/* 07C5C8 7F047A98 E7A40450 */ swc1 $f4, 0x450($sp) +/* 07C5CC 7F047A9C C666000C */ lwc1 $f6, 0xc($s3) +/* 07C5D0 7F047AA0 E7A60454 */ swc1 $f6, 0x454($sp) +/* 07C5D4 7F047AA4 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 07C5D8 7F047AA8 E7AA0458 */ swc1 $f10, 0x458($sp) +/* 07C5DC 7F047AAC AE6A0014 */ sw $t2, 0x14($s3) +/* 07C5E0 7F047AB0 C7A20694 */ lwc1 $f2, 0x694($sp) +/* 07C5E4 7F047AB4 E6620008 */ swc1 $f2, 8($s3) +/* 07C5E8 7F047AB8 E6220058 */ swc1 $f2, 0x58($s1) +/* 07C5EC 7F047ABC C7A2069C */ lwc1 $f2, 0x69c($sp) +/* 07C5F0 7F047AC0 E6620010 */ swc1 $f2, 0x10($s3) +/* 07C5F4 7F047AC4 0FC10121 */ jal sub_GAME_7F040484 +/* 07C5F8 7F047AC8 E6220060 */ swc1 $f2, 0x60($s1) +/* 07C5FC 7F047ACC 0FC15B28 */ jal sub_GAME_7F056CA0 +/* 07C600 7F047AD0 02202025 */ move $a0, $s1 +/* 07C604 7F047AD4 0FC1122A */ jal sub_GAME_7F0448A8 +/* 07C608 7F047AD8 02602025 */ move $a0, $s3 +/* 07C60C 7F047ADC 10400092 */ beqz $v0, .L7F047D28 +/* 07C610 7F047AE0 00409025 */ move $s2, $v0 +/* 07C614 7F047AE4 8E8C0008 */ lw $t4, 8($s4) +/* 07C618 7F047AE8 C6280018 */ lwc1 $f8, 0x18($s1) +/* 07C61C 7F047AEC 02002025 */ move $a0, $s0 +/* 07C620 7F047AF0 8D8E0008 */ lw $t6, 8($t4) +/* 07C624 7F047AF4 8DCD0028 */ lw $t5, 0x28($t6) +/* 07C628 7F047AF8 8DA20004 */ lw $v0, 4($t5) +/* 07C62C 7F047AFC C4440004 */ lwc1 $f4, 4($v0) +/* 07C630 7F047B00 46044182 */ mul.s $f6, $f8, $f4 +/* 07C634 7F047B04 E7A60424 */ swc1 $f6, 0x424($sp) +/* 07C638 7F047B08 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 07C63C 7F047B0C C4480004 */ lwc1 $f8, 4($v0) +/* 07C640 7F047B10 46085102 */ mul.s $f4, $f10, $f8 +/* 07C644 7F047B14 E7A4042C */ swc1 $f4, 0x42c($sp) +/* 07C648 7F047B18 C6260018 */ lwc1 $f6, 0x18($s1) +/* 07C64C 7F047B1C C44A0008 */ lwc1 $f10, 8($v0) +/* 07C650 7F047B20 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C654 7F047B24 E7A80418 */ swc1 $f8, 0x418($sp) +/* 07C658 7F047B28 C6240020 */ lwc1 $f4, 0x20($s1) +/* 07C65C 7F047B2C C4460008 */ lwc1 $f6, 8($v0) +/* 07C660 7F047B30 46062282 */ mul.s $f10, $f4, $f6 +/* 07C664 7F047B34 E7AA0420 */ swc1 $f10, 0x420($sp) +/* 07C668 7F047B38 C6280038 */ lwc1 $f8, 0x38($s1) +/* 07C66C 7F047B3C C4440014 */ lwc1 $f4, 0x14($v0) +/* 07C670 7F047B40 46044182 */ mul.s $f6, $f8, $f4 +/* 07C674 7F047B44 E7A6040C */ swc1 $f6, 0x40c($sp) +/* 07C678 7F047B48 C62A0040 */ lwc1 $f10, 0x40($s1) +/* 07C67C 7F047B4C C4480014 */ lwc1 $f8, 0x14($v0) +/* 07C680 7F047B50 46085102 */ mul.s $f4, $f10, $f8 +/* 07C684 7F047B54 E7A40414 */ swc1 $f4, 0x414($sp) +/* 07C688 7F047B58 C6260038 */ lwc1 $f6, 0x38($s1) +/* 07C68C 7F047B5C C44A0018 */ lwc1 $f10, 0x18($v0) +/* 07C690 7F047B60 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C694 7F047B64 E7A80400 */ swc1 $f8, 0x400($sp) +/* 07C698 7F047B68 C6240040 */ lwc1 $f4, 0x40($s1) +/* 07C69C 7F047B6C C4460018 */ lwc1 $f6, 0x18($v0) +/* 07C6A0 7F047B70 C7A8040C */ lwc1 $f8, 0x40c($sp) +/* 07C6A4 7F047B74 46062282 */ mul.s $f10, $f4, $f6 +/* 07C6A8 7F047B78 C7A40424 */ lwc1 $f4, 0x424($sp) +/* 07C6AC 7F047B7C E7AA0408 */ swc1 $f10, 0x408($sp) +/* 07C6B0 7F047B80 8E780014 */ lw $t8, 0x14($s3) +/* 07C6B4 7F047B84 AFB80468 */ sw $t8, 0x468($sp) +/* 07C6B8 7F047B88 C6600008 */ lwc1 $f0, 8($s3) +/* 07C6BC 7F047B8C C6620010 */ lwc1 $f2, 0x10($s3) +/* 07C6C0 7F047B90 46040180 */ add.s $f6, $f0, $f4 +/* 07C6C4 7F047B94 C7A40414 */ lwc1 $f4, 0x414($sp) +/* 07C6C8 7F047B98 44050000 */ mfc1 $a1, $f0 +/* 07C6CC 7F047B9C 44061000 */ mfc1 $a2, $f2 +/* 07C6D0 7F047BA0 46064280 */ add.s $f10, $f8, $f6 +/* 07C6D4 7F047BA4 C7A8042C */ lwc1 $f8, 0x42c($sp) +/* 07C6D8 7F047BA8 46081180 */ add.s $f6, $f2, $f8 +/* 07C6DC 7F047BAC 44075000 */ mfc1 $a3, $f10 +/* 07C6E0 7F047BB0 46062280 */ add.s $f10, $f4, $f6 +/* 07C6E4 7F047BB4 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07C6E8 7F047BB8 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C6EC 7F047BBC 10400059 */ beqz $v0, .L7F047D24 +/* 07C6F0 7F047BC0 C7A40424 */ lwc1 $f4, 0x424($sp) +/* 07C6F4 7F047BC4 C6600008 */ lwc1 $f0, 8($s3) +/* 07C6F8 7F047BC8 C7A8040C */ lwc1 $f8, 0x40c($sp) +/* 07C6FC 7F047BCC C6620010 */ lwc1 $f2, 0x10($s3) +/* 07C700 7F047BD0 46040180 */ add.s $f6, $f0, $f4 +/* 07C704 7F047BD4 C7A40414 */ lwc1 $f4, 0x414($sp) +/* 07C708 7F047BD8 02002025 */ move $a0, $s0 +/* 07C70C 7F047BDC 46064280 */ add.s $f10, $f8, $f6 +/* 07C710 7F047BE0 C7A6042C */ lwc1 $f6, 0x42c($sp) +/* 07C714 7F047BE4 44055000 */ mfc1 $a1, $f10 +/* 07C718 7F047BE8 46061280 */ add.s $f10, $f2, $f6 +/* 07C71C 7F047BEC 460A2180 */ add.s $f6, $f4, $f10 +/* 07C720 7F047BF0 C7AA0418 */ lwc1 $f10, 0x418($sp) +/* 07C724 7F047BF4 44063000 */ mfc1 $a2, $f6 +/* 07C728 7F047BF8 460A0180 */ add.s $f6, $f0, $f10 +/* 07C72C 7F047BFC 46064280 */ add.s $f10, $f8, $f6 +/* 07C730 7F047C00 C7A80420 */ lwc1 $f8, 0x420($sp) +/* 07C734 7F047C04 46081180 */ add.s $f6, $f2, $f8 +/* 07C738 7F047C08 44075000 */ mfc1 $a3, $f10 +/* 07C73C 7F047C0C 46062280 */ add.s $f10, $f4, $f6 +/* 07C740 7F047C10 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07C744 7F047C14 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C748 7F047C18 10400042 */ beqz $v0, .L7F047D24 +/* 07C74C 7F047C1C C7A40418 */ lwc1 $f4, 0x418($sp) +/* 07C750 7F047C20 C6680008 */ lwc1 $f8, 8($s3) +/* 07C754 7F047C24 C7A6040C */ lwc1 $f6, 0x40c($sp) +/* 07C758 7F047C28 02002025 */ move $a0, $s0 +/* 07C75C 7F047C2C 46044000 */ add.s $f0, $f8, $f4 +/* 07C760 7F047C30 C7A40420 */ lwc1 $f4, 0x420($sp) +/* 07C764 7F047C34 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07C768 7F047C38 46003280 */ add.s $f10, $f6, $f0 +/* 07C76C 7F047C3C C7A60414 */ lwc1 $f6, 0x414($sp) +/* 07C770 7F047C40 46044080 */ add.s $f2, $f8, $f4 +/* 07C774 7F047C44 44055000 */ mfc1 $a1, $f10 +/* 07C778 7F047C48 C7A80400 */ lwc1 $f8, 0x400($sp) +/* 07C77C 7F047C4C 46023280 */ add.s $f10, $f6, $f2 +/* 07C780 7F047C50 C7A60408 */ lwc1 $f6, 0x408($sp) +/* 07C784 7F047C54 46004100 */ add.s $f4, $f8, $f0 +/* 07C788 7F047C58 44065000 */ mfc1 $a2, $f10 +/* 07C78C 7F047C5C 46023280 */ add.s $f10, $f6, $f2 +/* 07C790 7F047C60 44072000 */ mfc1 $a3, $f4 +/* 07C794 7F047C64 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07C798 7F047C68 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C79C 7F047C6C 1040002D */ beqz $v0, .L7F047D24 +/* 07C7A0 7F047C70 C7A40418 */ lwc1 $f4, 0x418($sp) +/* 07C7A4 7F047C74 C6600008 */ lwc1 $f0, 8($s3) +/* 07C7A8 7F047C78 C7A80400 */ lwc1 $f8, 0x400($sp) +/* 07C7AC 7F047C7C C6620010 */ lwc1 $f2, 0x10($s3) +/* 07C7B0 7F047C80 46040180 */ add.s $f6, $f0, $f4 +/* 07C7B4 7F047C84 C7A40408 */ lwc1 $f4, 0x408($sp) +/* 07C7B8 7F047C88 02002025 */ move $a0, $s0 +/* 07C7BC 7F047C8C 46064280 */ add.s $f10, $f8, $f6 +/* 07C7C0 7F047C90 C7A60420 */ lwc1 $f6, 0x420($sp) +/* 07C7C4 7F047C94 44055000 */ mfc1 $a1, $f10 +/* 07C7C8 7F047C98 46061280 */ add.s $f10, $f2, $f6 +/* 07C7CC 7F047C9C 460A2180 */ add.s $f6, $f4, $f10 +/* 07C7D0 7F047CA0 C7AA0424 */ lwc1 $f10, 0x424($sp) +/* 07C7D4 7F047CA4 44063000 */ mfc1 $a2, $f6 +/* 07C7D8 7F047CA8 460A0180 */ add.s $f6, $f0, $f10 +/* 07C7DC 7F047CAC 46064280 */ add.s $f10, $f8, $f6 +/* 07C7E0 7F047CB0 C7A8042C */ lwc1 $f8, 0x42c($sp) +/* 07C7E4 7F047CB4 46081180 */ add.s $f6, $f2, $f8 +/* 07C7E8 7F047CB8 44075000 */ mfc1 $a3, $f10 +/* 07C7EC 7F047CBC 46062280 */ add.s $f10, $f4, $f6 +/* 07C7F0 7F047CC0 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07C7F4 7F047CC4 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C7F8 7F047CC8 10400016 */ beqz $v0, .L7F047D24 +/* 07C7FC 7F047CCC C7A40424 */ lwc1 $f4, 0x424($sp) +/* 07C800 7F047CD0 C6680008 */ lwc1 $f8, 8($s3) +/* 07C804 7F047CD4 C7A60400 */ lwc1 $f6, 0x400($sp) +/* 07C808 7F047CD8 02002025 */ move $a0, $s0 +/* 07C80C 7F047CDC 46044000 */ add.s $f0, $f8, $f4 +/* 07C810 7F047CE0 C7A4042C */ lwc1 $f4, 0x42c($sp) +/* 07C814 7F047CE4 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07C818 7F047CE8 46003280 */ add.s $f10, $f6, $f0 +/* 07C81C 7F047CEC C7A60408 */ lwc1 $f6, 0x408($sp) +/* 07C820 7F047CF0 46044080 */ add.s $f2, $f8, $f4 +/* 07C824 7F047CF4 44055000 */ mfc1 $a1, $f10 +/* 07C828 7F047CF8 C7A8040C */ lwc1 $f8, 0x40c($sp) +/* 07C82C 7F047CFC 46023280 */ add.s $f10, $f6, $f2 +/* 07C830 7F047D00 C7A60414 */ lwc1 $f6, 0x414($sp) +/* 07C834 7F047D04 46004100 */ add.s $f4, $f8, $f0 +/* 07C838 7F047D08 44065000 */ mfc1 $a2, $f10 +/* 07C83C 7F047D0C 46023280 */ add.s $f10, $f6, $f2 +/* 07C840 7F047D10 44072000 */ mfc1 $a3, $f4 +/* 07C844 7F047D14 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07C848 7F047D18 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C84C 7F047D1C 14400002 */ bnez $v0, .L7F047D28 +/* 07C850 7F047D20 00000000 */ nop +.L7F047D24: +/* 07C854 7F047D24 00009025 */ move $s2, $zero +.L7F047D28: +/* 07C858 7F047D28 12400023 */ beqz $s2, .L7F047DB8 +/* 07C85C 7F047D2C 02202025 */ move $a0, $s1 +/* 07C860 7F047D30 262F0058 */ addiu $t7, $s1, 0x58 +/* 07C864 7F047D34 AFAF0070 */ sw $t7, 0x70($sp) +/* 07C868 7F047D38 0FC112CE */ jal sub_GAME_7F044B38 +/* 07C86C 7F047D3C 2630007C */ addiu $s0, $s1, 0x7c +/* 07C870 7F047D40 02602025 */ move $a0, $s3 +/* 07C874 7F047D44 0FC100AD */ jal sub_GAME_7F0402B4 +/* 07C878 7F047D48 02002825 */ move $a1, $s0 +/* 07C87C 7F047D4C 0FC146F3 */ jal detonate_proxmine_In_range +/* 07C880 7F047D50 8FA40070 */ lw $a0, 0x70($sp) +/* 07C884 7F047D54 8FA80478 */ lw $t0, 0x478($sp) +/* 07C888 7F047D58 27A40450 */ addiu $a0, $sp, 0x450 +/* 07C88C 7F047D5C 27A50694 */ addiu $a1, $sp, 0x694 +/* 07C890 7F047D60 11000054 */ beqz $t0, .L7F047EB4 +/* 07C894 7F047D64 01003025 */ move $a2, $t0 +/* 07C898 7F047D68 0FC0BF54 */ jal sub_GAME_7F02FD50 +/* 07C89C 7F047D6C 3C0742C8 */ lui $a3, 0x42c8 +/* 07C8A0 7F047D70 10400050 */ beqz $v0, .L7F047EB4 +/* 07C8A4 7F047D74 00000000 */ nop +/* 07C8A8 7F047D78 8E2B00A8 */ lw $t3, 0xa8($s1) +/* 07C8AC 7F047D7C 8E3900A4 */ lw $t9, 0xa4($s1) +/* 07C8B0 7F047D80 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07C8B4 7F047D84 25690001 */ addiu $t1, $t3, 1 +/* 07C8B8 7F047D88 AE2900A8 */ sw $t1, 0xa8($s1) +/* 07C8BC 7F047D8C 8F2A0000 */ lw $t2, ($t9) +/* 07C8C0 7F047D90 00097080 */ sll $t6, $t1, 2 +/* 07C8C4 7F047D94 014E6821 */ addu $t5, $t2, $t6 +/* 07C8C8 7F047D98 8DB80000 */ lw $t8, ($t5) +/* 07C8CC 7F047D9C 07010045 */ bgez $t8, .L7F047EB4 +/* 07C8D0 7F047DA0 00000000 */ nop +/* 07C8D4 7F047DA4 44814000 */ mtc1 $at, $f8 +/* 07C8D8 7F047DA8 AE2000A4 */ sw $zero, 0xa4($s1) +/* 07C8DC 7F047DAC E6360094 */ swc1 $f22, 0x94($s1) +/* 07C8E0 7F047DB0 10000040 */ b .L7F047EB4 +/* 07C8E4 7F047DB4 E6280098 */ swc1 $f8, 0x98($s1) +.L7F047DB8: +/* 07C8E8 7F047DB8 C6240098 */ lwc1 $f4, 0x98($s1) +/* 07C8EC 7F047DBC 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07C8F0 7F047DC0 4616203C */ c.lt.s $f4, $f22 +/* 07C8F4 7F047DC4 00000000 */ nop +/* 07C8F8 7F047DC8 45020006 */ bc1fl .L7F047DE4 +/* 07C8FC 7F047DCC E6360088 */ swc1 $f22, 0x88($s1) +/* 07C900 7F047DD0 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07C904 7F047DD4 44815000 */ mtc1 $at, $f10 +/* 07C908 7F047DD8 E6260094 */ swc1 $f6, 0x94($s1) +/* 07C90C 7F047DDC E62A0098 */ swc1 $f10, 0x98($s1) +/* 07C910 7F047DE0 E6360088 */ swc1 $f22, 0x88($s1) +.L7F047DE4: +/* 07C914 7F047DE4 C7A80438 */ lwc1 $f8, 0x438($sp) +/* 07C918 7F047DE8 02202025 */ move $a0, $s1 +/* 07C91C 7F047DEC E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07C920 7F047DF0 C7A40434 */ lwc1 $f4, 0x434($sp) +/* 07C924 7F047DF4 E624009C */ swc1 $f4, 0x9c($s1) +/* 07C928 7F047DF8 8FAF044C */ lw $t7, 0x44c($sp) +/* 07C92C 7F047DFC AE6F0014 */ sw $t7, 0x14($s3) +/* 07C930 7F047E00 C7A20450 */ lwc1 $f2, 0x450($sp) +/* 07C934 7F047E04 E6620008 */ swc1 $f2, 8($s3) +/* 07C938 7F047E08 E6220058 */ swc1 $f2, 0x58($s1) +/* 07C93C 7F047E0C C7A20454 */ lwc1 $f2, 0x454($sp) +/* 07C940 7F047E10 E662000C */ swc1 $f2, 0xc($s3) +/* 07C944 7F047E14 E622005C */ swc1 $f2, 0x5c($s1) +/* 07C948 7F047E18 C7A20458 */ lwc1 $f2, 0x458($sp) +/* 07C94C 7F047E1C E6620010 */ swc1 $f2, 0x10($s3) +/* 07C950 7F047E20 0FC10121 */ jal sub_GAME_7F040484 +/* 07C954 7F047E24 E6220060 */ swc1 $f2, 0x60($s1) +/* 07C958 7F047E28 0FC15B28 */ jal sub_GAME_7F056CA0 +/* 07C95C 7F047E2C 02202025 */ move $a0, $s1 +/* 07C960 7F047E30 10000020 */ b .L7F047EB4 +/* 07C964 7F047E34 00000000 */ nop +.L7F047E38: +/* 07C968 7F047E38 C6260098 */ lwc1 $f6, 0x98($s1) +.L7F047E3C: +/* 07C96C 7F047E3C 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07C970 7F047E40 4616303C */ c.lt.s $f6, $f22 +/* 07C974 7F047E44 00000000 */ nop +/* 07C978 7F047E48 45020006 */ bc1fl .L7F047E64 +/* 07C97C 7F047E4C E6360088 */ swc1 $f22, 0x88($s1) +/* 07C980 7F047E50 C62A0088 */ lwc1 $f10, 0x88($s1) +/* 07C984 7F047E54 44814000 */ mtc1 $at, $f8 +/* 07C988 7F047E58 E62A0094 */ swc1 $f10, 0x94($s1) +/* 07C98C 7F047E5C E6280098 */ swc1 $f8, 0x98($s1) +/* 07C990 7F047E60 E6360088 */ swc1 $f22, 0x88($s1) +.L7F047E64: +/* 07C994 7F047E64 C7A40438 */ lwc1 $f4, 0x438($sp) +/* 07C998 7F047E68 E62400A0 */ swc1 $f4, 0xa0($s1) +/* 07C99C 7F047E6C C7A60434 */ lwc1 $f6, 0x434($sp) +/* 07C9A0 7F047E70 10000010 */ b .L7F047EB4 +/* 07C9A4 7F047E74 E626009C */ swc1 $f6, 0x9c($s1) +/* 07C9A8 7F047E78 8E280008 */ lw $t0, 8($s1) +.L7F047E7C: +/* 07C9AC 7F047E7C 00085880 */ sll $t3, $t0, 2 +/* 07C9B0 7F047E80 0561000C */ bgez $t3, .L7F047EB4 +/* 07C9B4 7F047E84 00000000 */ nop +/* 07C9B8 7F047E88 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 07C9BC 7F047E8C 0FC16A8C */ jal convert_angle_using_inverse +/* 07C9C0 7F047E90 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 07C9C4 7F047E94 8E290008 */ lw $t1, 8($s1) +/* 07C9C8 7F047E98 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07C9CC 7F047E9C 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07C9D0 7F047EA0 0121C824 */ and $t9, $t1, $at +/* 07C9D4 7F047EA4 E62000A0 */ swc1 $f0, 0xa0($s1) +/* 07C9D8 7F047EA8 AE390008 */ sw $t9, 8($s1) +/* 07C9DC 7F047EAC 0FC112CE */ jal sub_GAME_7F044B38 +/* 07C9E0 7F047EB0 02202025 */ move $a0, $s1 +.L7F047EB4: +/* 07C9E4 7F047EB4 100000DE */ b .L7F048230 +/* 07C9E8 7F047EB8 92220003 */ lbu $v0, 3($s1) +.L7F047EBC: +/* 07C9EC 7F047EBC 24010028 */ li $at, 40 +/* 07C9F0 7F047EC0 144100DA */ bne $v0, $at, .L7F04822C +/* 07C9F4 7F047EC4 02202025 */ move $a0, $s1 +/* 07C9F8 7F047EC8 0FC0D521 */ jal parse_handle_actionblocks +/* 07C9FC 7F047ECC 24050001 */ li $a1, 1 +/* 07CA00 7F047ED0 8E300014 */ lw $s0, 0x14($s1) +/* 07CA04 7F047ED4 26250058 */ addiu $a1, $s1, 0x58 +/* 07CA08 7F047ED8 8E0C0020 */ lw $t4, 0x20($s0) +/* 07CA0C 7F047EDC 02002025 */ move $a0, $s0 +/* 07CA10 7F047EE0 51800065 */ beql $t4, $zero, .L7F048078 +/* 07CA14 7F047EE4 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07CA18 7F047EE8 0FC1B303 */ jal setsuboffset +/* 07CA1C 7F047EEC AFA50070 */ sw $a1, 0x70($sp) +/* 07CA20 7F047EF0 8E300014 */ lw $s0, 0x14($s1) +/* 07CA24 7F047EF4 3C0E8003 */ lui $t6, %hi(animation_table_ptrs2+4) +/* 07CA28 7F047EF8 8DCEA050 */ lw $t6, %lo(animation_table_ptrs2+4)($t6) +/* 07CA2C 7F047EFC 8E0A0020 */ lw $t2, 0x20($s0) +/* 07CA30 7F047F00 3C054127 */ lui $a1, (0x4127020C >> 16) # lui $a1, 0x4127 +/* 07CA34 7F047F04 02002025 */ move $a0, $s0 +/* 07CA38 7F047F08 154E0009 */ bne $t2, $t6, .L7F047F30 +/* 07CA3C 7F047F0C 00000000 */ nop +/* 07CA40 7F047F10 0FC1B3A1 */ jal sub_GAME_7F06CE84 +/* 07CA44 7F047F14 34A5020C */ ori $a1, (0x4127020C & 0xFFFF) # ori $a1, $a1, 0x20c +/* 07CA48 7F047F18 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049 +/* 07CA4C 7F047F1C 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb +/* 07CA50 7F047F20 0FC1B34F */ jal setsubroty +/* 07CA54 7F047F24 8E240014 */ lw $a0, 0x14($s1) +/* 07CA58 7F047F28 10000024 */ b .L7F047FBC +/* 07CA5C 7F047F2C 00000000 */ nop +.L7F047F30: +/* 07CA60 7F047F30 0C001A57 */ jal get_stage_num +/* 07CA64 7F047F34 00000000 */ nop +/* 07CA68 7F047F38 24010016 */ li $at, 22 +/* 07CA6C 7F047F3C 1441000A */ bne $v0, $at, .L7F047F68 +/* 07CA70 7F047F40 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 +/* 07CA74 7F047F44 8E240014 */ lw $a0, 0x14($s1) +/* 07CA78 7F047F48 0FC1B3A1 */ jal sub_GAME_7F06CE84 +/* 07CA7C 7F047F4C 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CA80 7F047F50 3C054016 */ lui $a1, (0x4016CBE4 >> 16) # lui $a1, 0x4016 +/* 07CA84 7F047F54 34A5CBE4 */ ori $a1, (0x4016CBE4 & 0xFFFF) # ori $a1, $a1, 0xcbe4 +/* 07CA88 7F047F58 0FC1B34F */ jal setsubroty +/* 07CA8C 7F047F5C 8E240014 */ lw $a0, 0x14($s1) +/* 07CA90 7F047F60 10000016 */ b .L7F047FBC +/* 07CA94 7F047F64 00000000 */ nop +.L7F047F68: +/* 07CA98 7F047F68 0C001A57 */ jal get_stage_num +/* 07CA9C 7F047F6C 00000000 */ nop +/* 07CAA0 7F047F70 2401001A */ li $at, 26 +/* 07CAA4 7F047F74 1441000B */ bne $v0, $at, .L7F047FA4 +/* 07CAA8 7F047F78 3C053F85 */ lui $a1, 0x3f85 +/* 07CAAC 7F047F7C 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 +/* 07CAB0 7F047F80 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CAB4 7F047F84 0FC1B3A1 */ jal sub_GAME_7F06CE84 +/* 07CAB8 7F047F88 8E240014 */ lw $a0, 0x14($s1) +/* 07CABC 7F047F8C 3C05407B */ lui $a1, (0x407B9B3D >> 16) # lui $a1, 0x407b +/* 07CAC0 7F047F90 34A553D1 */ ori $a1, (0x407B53D1 & 0xFFFF) # ori $a1, $a1, 0x53d1 +/* 07CAC4 7F047F94 0FC1B34F */ jal setsubroty +/* 07CAC8 7F047F98 8E240014 */ lw $a0, 0x14($s1) +/* 07CACC 7F047F9C 10000007 */ b .L7F047FBC +/* 07CAD0 7F047FA0 00000000 */ nop +.L7F047FA4: +/* 07CAD4 7F047FA4 8E240014 */ lw $a0, 0x14($s1) +/* 07CAD8 7F047FA8 0FC1B3A1 */ jal sub_GAME_7F06CE84 +/* 07CADC 7F047FAC 34A59B3D */ ori $a1, (0x407B9B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CAE0 7F047FB0 4405B000 */ mfc1 $a1, $f22 +/* 07CAE4 7F047FB4 0FC1B34F */ jal setsubroty +/* 07CAE8 7F047FB8 8E240014 */ lw $a0, 0x14($s1) +.L7F047FBC: +/* 07CAEC 7F047FBC 3C058005 */ lui $a1, %hi(clock_timer) +/* 07CAF0 7F047FC0 8CA58374 */ lw $a1, %lo(clock_timer)($a1) +/* 07CAF4 7F047FC4 8E240014 */ lw $a0, 0x14($s1) +/* 07CAF8 7F047FC8 0FC1C2BB */ jal sub_GAME_7F070AEC +/* 07CAFC 7F047FCC 24060001 */ li $a2, 1 +/* 07CB00 7F047FD0 0FC1B5AC */ jal subcalcpos +/* 07CB04 7F047FD4 8E240014 */ lw $a0, 0x14($s1) +/* 07CB08 7F047FD8 8E240014 */ lw $a0, 0x14($s1) +/* 07CB0C 7F047FDC 0FC1B2E6 */ jal getsuboffset +/* 07CB10 7F047FE0 8FA50070 */ lw $a1, 0x70($sp) +/* 07CB14 7F047FE4 C62A0058 */ lwc1 $f10, 0x58($s1) +/* 07CB18 7F047FE8 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) +/* 07CB1C 7F047FEC 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 +/* 07CB20 7F047FF0 E66A0008 */ swc1 $f10, 8($s3) +/* 07CB24 7F047FF4 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07CB28 7F047FF8 E6680010 */ swc1 $f8, 0x10($s3) +/* 07CB2C 7F047FFC 86220006 */ lh $v0, 6($s1) +/* 07CB30 7F048000 28412710 */ slti $at, $v0, 0x2710 +/* 07CB34 7F048004 1020000B */ beqz $at, .L7F048034 +/* 07CB38 7F048008 00027900 */ sll $t7, $v0, 4 +/* 07CB3C 7F04800C 00026880 */ sll $t5, $v0, 2 +/* 07CB40 7F048010 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) +/* 07CB44 7F048014 01A26823 */ subu $t5, $t5, $v0 +/* 07CB48 7F048018 24A55D00 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d00 +/* 07CB4C 7F04801C 000D6880 */ sll $t5, $t5, 2 +/* 07CB50 7F048020 8CB80018 */ lw $t8, 0x18($a1) +/* 07CB54 7F048024 01A26823 */ subu $t5, $t5, $v0 +/* 07CB58 7F048028 000D6880 */ sll $t5, $t5, 2 +/* 07CB5C 7F04802C 10000008 */ b .L7F048050 +/* 07CB60 7F048030 01B81821 */ addu $v1, $t5, $t8 +.L7F048034: +/* 07CB64 7F048034 8CA8001C */ lw $t0, 0x1c($a1) +/* 07CB68 7F048038 01E27821 */ addu $t7, $t7, $v0 +/* 07CB6C 7F04803C 000F7880 */ sll $t7, $t7, 2 +/* 07CB70 7F048040 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 +/* 07CB74 7F048044 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 +/* 07CB78 7F048048 01E81821 */ addu $v1, $t7, $t0 +/* 07CB7C 7F04804C 00611821 */ addu $v1, $v1, $at +.L7F048050: +/* 07CB80 7F048050 C624005C */ lwc1 $f4, 0x5c($s1) +/* 07CB84 7F048054 C4660004 */ lwc1 $f6, 4($v1) +/* 07CB88 7F048058 46062280 */ add.s $f10, $f4, $f6 +/* 07CB8C 7F04805C E66A000C */ swc1 $f10, 0xc($s3) +/* 07CB90 7F048060 C668000C */ lwc1 $f8, 0xc($s3) +/* 07CB94 7F048064 8E240014 */ lw $a0, 0x14($s1) +/* 07CB98 7F048068 E628005C */ swc1 $f8, 0x5c($s1) +/* 07CB9C 7F04806C 0FC1B303 */ jal setsuboffset +/* 07CBA0 7F048070 8FA50070 */ lw $a1, 0x70($sp) +/* 07CBA4 7F048074 C62C00A0 */ lwc1 $f12, 0xa0($s1) +.L7F048078: +/* 07CBA8 7F048078 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07CBAC 7F04807C 460CB03E */ c.le.s $f22, $f12 +/* 07CBB0 7F048080 00000000 */ nop +/* 07CBB4 7F048084 45020016 */ bc1fl .L7F0480E0 +/* 07CBB8 7F048088 C6200094 */ lwc1 $f0, 0x94($s1) +/* 07CBBC 7F04808C C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07CBC0 7F048090 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07CBC4 7F048094 4602603E */ c.le.s $f12, $f2 +/* 07CBC8 7F048098 00000000 */ nop +/* 07CBCC 7F04809C 45020006 */ bc1fl .L7F0480B8 +/* 07CBD0 7F0480A0 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07CBD4 7F0480A4 C624009C */ lwc1 $f4, 0x9c($s1) +/* 07CBD8 7F0480A8 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07CBDC 7F0480AC 10000008 */ b .L7F0480D0 +/* 07CBE0 7F0480B0 E6240098 */ swc1 $f4, 0x98($s1) +/* 07CBE4 7F0480B4 C62E0098 */ lwc1 $f14, 0x98($s1) +.L7F0480B8: +/* 07CBE8 7F0480B8 C626009C */ lwc1 $f6, 0x9c($s1) +/* 07CBEC 7F0480BC 460E3281 */ sub.s $f10, $f6, $f14 +/* 07CBF0 7F0480C0 46025202 */ mul.s $f8, $f10, $f2 +/* 07CBF4 7F0480C4 460C4103 */ div.s $f4, $f8, $f12 +/* 07CBF8 7F0480C8 46047180 */ add.s $f6, $f14, $f4 +/* 07CBFC 7F0480CC E6260098 */ swc1 $f6, 0x98($s1) +.L7F0480D0: +/* 07CC00 7F0480D0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07CC04 7F0480D4 460A6201 */ sub.s $f8, $f12, $f10 +/* 07CC08 7F0480D8 E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07CC0C 7F0480DC C6200094 */ lwc1 $f0, 0x94($s1) +.L7F0480E0: +/* 07CC10 7F0480E0 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07CC14 7F0480E4 4600B03E */ c.le.s $f22, $f0 +/* 07CC18 7F0480E8 00000000 */ nop +/* 07CC1C 7F0480EC 45020016 */ bc1fl .L7F048148 +/* 07CC20 7F0480F0 8E2B000C */ lw $t3, 0xc($s1) +/* 07CC24 7F0480F4 C4228378 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07CC28 7F0480F8 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07CC2C 7F0480FC 4602003E */ c.le.s $f0, $f2 +/* 07CC30 7F048100 00000000 */ nop +/* 07CC34 7F048104 45020006 */ bc1fl .L7F048120 +/* 07CC38 7F048108 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07CC3C 7F04810C C6240090 */ lwc1 $f4, 0x90($s1) +/* 07CC40 7F048110 C6200094 */ lwc1 $f0, 0x94($s1) +/* 07CC44 7F048114 10000008 */ b .L7F048138 +/* 07CC48 7F048118 E624008C */ swc1 $f4, 0x8c($s1) +/* 07CC4C 7F04811C C62C008C */ lwc1 $f12, 0x8c($s1) +.L7F048120: +/* 07CC50 7F048120 C6260090 */ lwc1 $f6, 0x90($s1) +/* 07CC54 7F048124 460C3281 */ sub.s $f10, $f6, $f12 +/* 07CC58 7F048128 46025202 */ mul.s $f8, $f10, $f2 +/* 07CC5C 7F04812C 46004103 */ div.s $f4, $f8, $f0 +/* 07CC60 7F048130 46046180 */ add.s $f6, $f12, $f4 +/* 07CC64 7F048134 E626008C */ swc1 $f6, 0x8c($s1) +.L7F048138: +/* 07CC68 7F048138 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07CC6C 7F04813C 460A0201 */ sub.s $f8, $f0, $f10 +/* 07CC70 7F048140 E6280094 */ swc1 $f8, 0x94($s1) +/* 07CC74 7F048144 8E2B000C */ lw $t3, 0xc($s1) +.L7F048148: +/* 07CC78 7F048148 00008025 */ move $s0, $zero +/* 07CC7C 7F04814C 000B4B00 */ sll $t1, $t3, 0xc +/* 07CC80 7F048150 05200014 */ bltz $t1, .L7F0481A4 +/* 07CC84 7F048154 00000000 */ nop +/* 07CC88 7F048158 0FC13BCD */ jal check_if_object_has_not_been_destroyed +/* 07CC8C 7F04815C 02202025 */ move $a0, $s1 +/* 07CC90 7F048160 10400010 */ beqz $v0, .L7F0481A4 +/* 07CC94 7F048164 00000000 */ nop +/* 07CC98 7F048168 C624008C */ lwc1 $f4, 0x8c($s1) +/* 07CC9C 7F04816C 4604B032 */ c.eq.s $f22, $f4 +/* 07CCA0 7F048170 00000000 */ nop +/* 07CCA4 7F048174 4501000B */ bc1t .L7F0481A4 +/* 07CCA8 7F048178 00000000 */ nop +/* 07CCAC 7F04817C 8E390008 */ lw $t9, 8($s1) +/* 07CCB0 7F048180 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c +/* 07CCB4 7F048184 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 +/* 07CCB8 7F048188 00196080 */ sll $t4, $t9, 2 +/* 07CCBC 7F04818C 05800005 */ bltz $t4, .L7F0481A4 +/* 07CCC0 7F048190 26240058 */ addiu $a0, $s1, 0x58 +/* 07CCC4 7F048194 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb +/* 07CCC8 7F048198 0FC14E25 */ jal sub_GAME_7F053894 +/* 07CCCC 7F04819C 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 07CCD0 7F0481A0 00408025 */ move $s0, $v0 +.L7F0481A4: +/* 07CCD4 7F0481A4 5A000019 */ blezl $s0, .L7F04820C +/* 07CCD8 7F0481A8 8E2400B0 */ lw $a0, 0xb0($s1) +/* 07CCDC 7F0481AC 8E2400B0 */ lw $a0, 0xb0($s1) +/* 07CCE0 7F0481B0 10800005 */ beqz $a0, .L7F0481C8 +/* 07CCE4 7F0481B4 00000000 */ nop +/* 07CCE8 7F0481B8 0C00237C */ jal sfxGetArg0Unk3F +/* 07CCEC 7F0481BC 00000000 */ nop +/* 07CCF0 7F0481C0 5440000A */ bnezl $v0, .L7F0481EC +/* 07CCF4 7F0481C4 8E2400B0 */ lw $a0, 0xb0($s1) +.L7F0481C8: +/* 07CCF8 7F0481C8 0FC2FF01 */ jal get_controls_locked_flag +/* 07CCFC 7F0481CC 00000000 */ nop +/* 07CD00 7F0481D0 14400005 */ bnez $v0, .L7F0481E8 +/* 07CD04 7F0481D4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07CD08 7F0481D8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07CD0C 7F0481DC 2405003A */ li $a1, 58 +/* 07CD10 7F0481E0 0C002382 */ jal play_sfx_a1 +/* 07CD14 7F0481E4 262600B0 */ addiu $a2, $s1, 0xb0 +.L7F0481E8: +/* 07CD18 7F0481E8 8E2400B0 */ lw $a0, 0xb0($s1) +.L7F0481EC: +/* 07CD1C 7F0481EC 24050008 */ li $a1, 8 +/* 07CD20 7F0481F0 5080000F */ beql $a0, $zero, .L7F048230 +/* 07CD24 7F0481F4 92220003 */ lbu $v0, 3($s1) +/* 07CD28 7F0481F8 0C002461 */ jal sfx_c_70009184 +/* 07CD2C 7F0481FC 02003025 */ move $a2, $s0 +/* 07CD30 7F048200 1000000B */ b .L7F048230 +/* 07CD34 7F048204 92220003 */ lbu $v0, 3($s1) +/* 07CD38 7F048208 8E2400B0 */ lw $a0, 0xb0($s1) +.L7F04820C: +/* 07CD3C 7F04820C 50800008 */ beql $a0, $zero, .L7F048230 +/* 07CD40 7F048210 92220003 */ lbu $v0, 3($s1) +/* 07CD44 7F048214 0C00237C */ jal sfxGetArg0Unk3F +/* 07CD48 7F048218 00000000 */ nop +/* 07CD4C 7F04821C 50400004 */ beql $v0, $zero, .L7F048230 +/* 07CD50 7F048220 92220003 */ lbu $v0, 3($s1) +/* 07CD54 7F048224 0C002408 */ jal sfxDeactivate +/* 07CD58 7F048228 8E2400B0 */ lw $a0, 0xb0($s1) +.L7F04822C: +/* 07CD5C 7F04822C 92220003 */ lbu $v0, 3($s1) +.L7F048230: +/* 07CD60 7F048230 3C018005 */ lui $at, %hi(D_80052B64) +/* 07CD64 7F048234 C4342B64 */ lwc1 $f20, %lo(D_80052B64)($at) +/* 07CD68 7F048238 2401002F */ li $at, 47 +/* 07CD6C 7F04823C 54410020 */ bnel $v0, $at, .L7F0482C0 +/* 07CD70 7F048240 24010001 */ li $at, 1 +/* 07CD74 7F048244 8E700004 */ lw $s0, 4($s3) +/* 07CD78 7F048248 26240058 */ addiu $a0, $s1, 0x58 +/* 07CD7C 7F04824C 8E0A0080 */ lw $t2, 0x80($s0) +/* 07CD80 7F048250 8E0E0084 */ lw $t6, 0x84($s0) +/* 07CD84 7F048254 8E070090 */ lw $a3, 0x90($s0) +/* 07CD88 7F048258 448A3000 */ mtc1 $t2, $f6 +/* 07CD8C 7F04825C 448E5000 */ mtc1 $t6, $f10 +/* 07CD90 7F048260 468031A0 */ cvt.s.w $f6, $f6 +/* 07CD94 7F048264 468052A0 */ cvt.s.w $f10, $f10 +/* 07CD98 7F048268 44053000 */ mfc1 $a1, $f6 +/* 07CD9C 7F04826C 44065000 */ mfc1 $a2, $f10 +/* 07CDA0 7F048270 0FC11477 */ jal sub_GAME_7F0451DC +/* 07CDA4 7F048274 00000000 */ nop +/* 07CDA8 7F048278 8E04008C */ lw $a0, 0x8c($s0) +/* 07CDAC 7F04827C AE020088 */ sw $v0, 0x88($s0) +/* 07CDB0 7F048280 8FAD0674 */ lw $t5, 0x674($sp) +/* 07CDB4 7F048284 0480000B */ bltz $a0, .L7F0482B4 +/* 07CDB8 7F048288 24010001 */ li $at, 1 +/* 07CDBC 7F04828C 15A10009 */ bne $t5, $at, .L7F0482B4 +/* 07CDC0 7F048290 240100FF */ li $at, 255 +/* 07CDC4 7F048294 14410005 */ bne $v0, $at, .L7F0482AC +/* 07CDC8 7F048298 00000000 */ nop +/* 07CDCC 7F04829C 0FC2E76F */ jal sub_GAME_7F0B9DBC +/* 07CDD0 7F0482A0 00002825 */ move $a1, $zero +/* 07CDD4 7F0482A4 10000003 */ b .L7F0482B4 +/* 07CDD8 7F0482A8 00000000 */ nop +.L7F0482AC: +/* 07CDDC 7F0482AC 0FC2E76F */ jal sub_GAME_7F0B9DBC +/* 07CDE0 7F0482B0 24050001 */ li $a1, 1 +.L7F0482B4: +/* 07CDE4 7F0482B4 1000003B */ b .L7F0483A4 +/* 07CDE8 7F0482B8 AFA00670 */ sw $zero, 0x670($sp) +/* 07CDEC 7F0482BC 24010001 */ li $at, 1 +.L7F0482C0: +/* 07CDF0 7F0482C0 54410039 */ bnel $v0, $at, .L7F0483A8 +/* 07CDF4 7F0482C4 922F0003 */ lbu $t7, 3($s1) +/* 07CDF8 7F0482C8 962F0098 */ lhu $t7, 0x98($s1) +/* 07CDFC 7F0482CC 31E80002 */ andi $t0, $t7, 2 +/* 07CE00 7F0482D0 51000035 */ beql $t0, $zero, .L7F0483A8 +/* 07CE04 7F0482D4 922F0003 */ lbu $t7, 3($s1) +/* 07CE08 7F0482D8 8E700004 */ lw $s0, 4($s3) +/* 07CE0C 7F0482DC 4407B000 */ mfc1 $a3, $f22 +/* 07CE10 7F0482E0 24120001 */ li $s2, 1 +/* 07CE14 7F0482E4 8E0B00C0 */ lw $t3, 0xc0($s0) +/* 07CE18 7F0482E8 8E0900C4 */ lw $t1, 0xc4($s0) +/* 07CE1C 7F0482EC 26240058 */ addiu $a0, $s1, 0x58 +/* 07CE20 7F0482F0 448B4000 */ mtc1 $t3, $f8 +/* 07CE24 7F0482F4 44892000 */ mtc1 $t1, $f4 +/* 07CE28 7F0482F8 46804220 */ cvt.s.w $f8, $f8 +/* 07CE2C 7F0482FC 46802120 */ cvt.s.w $f4, $f4 +/* 07CE30 7F048300 44054000 */ mfc1 $a1, $f8 +/* 07CE34 7F048304 44062000 */ mfc1 $a2, $f4 +/* 07CE38 7F048308 0FC11477 */ jal sub_GAME_7F0451DC +/* 07CE3C 7F04830C 00000000 */ nop +/* 07CE40 7F048310 A60200BE */ sh $v0, 0xbe($s0) +/* 07CE44 7F048314 8FB90674 */ lw $t9, 0x674($sp) +/* 07CE48 7F048318 24010001 */ li $at, 1 +/* 07CE4C 7F04831C 57210022 */ bnel $t9, $at, .L7F0483A8 +/* 07CE50 7F048320 922F0003 */ lbu $t7, 3($s1) +/* 07CE54 7F048324 860C00BE */ lh $t4, 0xbe($s0) +/* 07CE58 7F048328 240100FF */ li $at, 255 +/* 07CE5C 7F04832C 55810007 */ bnel $t4, $at, .L7F04834C +/* 07CE60 7F048330 00009025 */ move $s2, $zero +/* 07CE64 7F048334 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07CE68 7F048338 4606B03C */ c.lt.s $f22, $f6 +/* 07CE6C 7F04833C 00000000 */ nop +/* 07CE70 7F048340 45020003 */ bc1fl .L7F048350 +/* 07CE74 7F048344 8E820008 */ lw $v0, 8($s4) +/* 07CE78 7F048348 00009025 */ move $s2, $zero +.L7F04834C: +/* 07CE7C 7F04834C 8E820008 */ lw $v0, 8($s4) +.L7F048350: +/* 07CE80 7F048350 3C0A8004 */ lui $t2, %hi(prop_door_related) +/* 07CE84 7F048354 254AA1DC */ addiu $t2, %lo(prop_door_related) # addiu $t2, $t2, -0x5e24 +/* 07CE88 7F048358 8C4E0004 */ lw $t6, 4($v0) +/* 07CE8C 7F04835C 154E0009 */ bne $t2, $t6, .L7F048384 +/* 07CE90 7F048360 00000000 */ nop +/* 07CE94 7F048364 8C4D0008 */ lw $t5, 8($v0) +/* 07CE98 7F048368 02802025 */ move $a0, $s4 +/* 07CE9C 7F04836C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07CEA0 7F048370 8DA50004 */ lw $a1, 4($t5) +/* 07CEA4 7F048374 8C580000 */ lw $t8, ($v0) +/* 07CEA8 7F048378 17000002 */ bnez $t8, .L7F048384 +/* 07CEAC 7F04837C 00000000 */ nop +/* 07CEB0 7F048380 00009025 */ move $s2, $zero +.L7F048384: +/* 07CEB4 7F048384 12400005 */ beqz $s2, .L7F04839C +/* 07CEB8 7F048388 00000000 */ nop +/* 07CEBC 7F04838C 0FC14D71 */ jal sub_GAME_7F0535C4 +/* 07CEC0 7F048390 02002025 */ move $a0, $s0 +/* 07CEC4 7F048394 10000004 */ b .L7F0483A8 +/* 07CEC8 7F048398 922F0003 */ lbu $t7, 3($s1) +.L7F04839C: +/* 07CECC 7F04839C 0FC14D66 */ jal sub_GAME_7F053598 +/* 07CED0 7F0483A0 02002025 */ move $a0, $s0 +.L7F0483A4: +/* 07CED4 7F0483A4 922F0003 */ lbu $t7, 3($s1) +.L7F0483A8: +/* 07CED8 7F0483A8 2410002D */ li $s0, 45 +/* 07CEDC 7F0483AC 560F0008 */ bnel $s0, $t7, .L7F0483D0 +/* 07CEE0 7F0483B0 8E23000C */ lw $v1, 0xc($s1) +/* 07CEE4 7F0483B4 0FC1F3A1 */ jal get_ptr_for_players_tank +/* 07CEE8 7F0483B8 00000000 */ nop +/* 07CEEC 7F0483BC 54530004 */ bnel $v0, $s3, .L7F0483D0 +/* 07CEF0 7F0483C0 8E23000C */ lw $v1, 0xc($s1) +/* 07CEF4 7F0483C4 10000019 */ b .L7F04842C +/* 07CEF8 7F0483C8 24030001 */ li $v1, 1 +/* 07CEFC 7F0483CC 8E23000C */ lw $v1, 0xc($s1) +.L7F0483D0: +/* 07CF00 7F0483D0 00034140 */ sll $t0, $v1, 5 +/* 07CF04 7F0483D4 05030004 */ bgezl $t0, .L7F0483E8 +/* 07CF08 7F0483D8 8E2B0064 */ lw $t3, 0x64($s1) +/* 07CF0C 7F0483DC 10000013 */ b .L7F04842C +/* 07CF10 7F0483E0 24030001 */ li $v1, 1 +/* 07CF14 7F0483E4 8E2B0064 */ lw $t3, 0x64($s1) +.L7F0483E8: +/* 07CF18 7F0483E8 0003CB00 */ sll $t9, $v1, 0xc +/* 07CF1C 7F0483EC 00001825 */ move $v1, $zero +/* 07CF20 7F0483F0 31690800 */ andi $t1, $t3, 0x800 +/* 07CF24 7F0483F4 1520000D */ bnez $t1, .L7F04842C +/* 07CF28 7F0483F8 00000000 */ nop +/* 07CF2C 7F0483FC 0720000B */ bltz $t9, .L7F04842C +/* 07CF30 7F048400 02802025 */ move $a0, $s4 +/* 07CF34 7F048404 262C0058 */ addiu $t4, $s1, 0x58 +/* 07CF38 7F048408 0FC1B403 */ jal getinstsize +/* 07CF3C 7F04840C AFAC0070 */ sw $t4, 0x70($sp) +/* 07CF40 7F048410 44060000 */ mfc1 $a2, $f0 +/* 07CF44 7F048414 02602025 */ move $a0, $s3 +/* 07CF48 7F048418 8FA50070 */ lw $a1, 0x70($sp) +/* 07CF4C 7F04841C 0FC1535B */ jal sub_GAME_7F054D6C +/* 07CF50 7F048420 8FA70670 */ lw $a3, 0x670($sp) +/* 07CF54 7F048424 10000001 */ b .L7F04842C +/* 07CF58 7F048428 00401825 */ move $v1, $v0 +.L7F04842C: +/* 07CF5C 7F04842C 1060037A */ beqz $v1, .L7F049218 +/* 07CF60 7F048430 8FAA0678 */ lw $t2, 0x678($sp) +/* 07CF64 7F048434 11400003 */ beqz $t2, .L7F048444 +/* 07CF68 7F048438 26240078 */ addiu $a0, $s1, 0x78 +/* 07CF6C 7F04843C 0FC100C4 */ jal update_color_shading +/* 07CF70 7F048440 2625007C */ addiu $a1, $s1, 0x7c +.L7F048444: +/* 07CF74 7F048444 926E0001 */ lbu $t6, 1($s3) +/* 07CF78 7F048448 35CD0002 */ ori $t5, $t6, 2 +/* 07CF7C 7F04844C A26D0001 */ sb $t5, 1($s3) +/* 07CF80 7F048450 8E980008 */ lw $t8, 8($s4) +/* 07CF84 7F048454 8704000E */ lh $a0, 0xe($t8) +/* 07CF88 7F048458 00047980 */ sll $t7, $a0, 6 +/* 07CF8C 7F04845C 0FC2F5C5 */ jal sub_GAME_7F0BD714 +/* 07CF90 7F048460 01E02025 */ move $a0, $t7 +/* 07CF94 7F048464 AE82000C */ sw $v0, 0xc($s4) +/* 07CF98 7F048468 92280003 */ lbu $t0, 3($s1) +/* 07CF9C 7F04846C 24010001 */ li $at, 1 +/* 07CFA0 7F048470 00409025 */ move $s2, $v0 +/* 07CFA4 7F048474 150100AD */ bne $t0, $at, .L7F04872C +/* 07CFA8 7F048478 26240018 */ addiu $a0, $s1, 0x18 +/* 07CFAC 7F04847C 8E640004 */ lw $a0, 4($s3) +/* 07CFB0 7F048480 00402825 */ move $a1, $v0 +/* 07CFB4 7F048484 0FC149BB */ jal sub_GAME_7F0526EC +/* 07CFB8 7F048488 AFA4039C */ sw $a0, 0x39c($sp) +/* 07CFBC 7F04848C 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07CFC0 7F048490 00000000 */ nop +/* 07CFC4 7F048494 00402025 */ move $a0, $v0 +/* 07CFC8 7F048498 0FC16026 */ jal sub_GAME_7F058098 +/* 07CFCC 7F04849C 02402825 */ move $a1, $s2 +/* 07CFD0 7F0484A0 8E820008 */ lw $v0, 8($s4) +/* 07CFD4 7F0484A4 3C0B8004 */ lui $t3, %hi(prop_eyelid_door_related) +/* 07CFD8 7F0484A8 256BA100 */ addiu $t3, %lo(prop_eyelid_door_related) # addiu $t3, $t3, -0x5f00 +/* 07CFDC 7F0484AC 8C430004 */ lw $v1, 4($v0) +/* 07CFE0 7F0484B0 3C0D8004 */ lui $t5, %hi(prop_iris_door_related) +/* 07CFE4 7F0484B4 8FA6039C */ lw $a2, 0x39c($sp) +/* 07CFE8 7F0484B8 15630025 */ bne $t3, $v1, .L7F048550 +/* 07CFEC 7F0484BC 25ADA15C */ addiu $t5, %lo(prop_iris_door_related) # addiu $t5, $t5, -0x5ea4 +/* 07CFF0 7F0484C0 C4CA00B4 */ lwc1 $f10, 0xb4($a2) +/* 07CFF4 7F0484C4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07CFF8 7F0484C8 44812000 */ mtc1 $at, $f4 +/* 07CFFC 7F0484CC 46145202 */ mul.s $f8, $f10, $f20 +/* 07D000 7F0484D0 8C490008 */ lw $t1, 8($v0) +/* 07D004 7F0484D4 26450040 */ addiu $a1, $s2, 0x40 +/* 07D008 7F0484D8 8D390004 */ lw $t9, 4($t1) +/* 07D00C 7F0484DC 46044183 */ div.s $f6, $f8, $f4 +/* 07D010 7F0484E0 8F300004 */ lw $s0, 4($t9) +/* 07D014 7F0484E4 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D018 7F0484E8 4606A301 */ sub.s $f12, $f20, $f6 +/* 07D01C 7F0484EC 0FC1615C */ jal sub_GAME_7F058570 +/* 07D020 7F0484F0 E7AC0394 */ swc1 $f12, 0x394($sp) +/* 07D024 7F0484F4 02002025 */ move $a0, $s0 +/* 07D028 7F0484F8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D02C 7F0484FC 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D030 7F048500 02402025 */ move $a0, $s2 +/* 07D034 7F048504 0FC1601A */ jal sub_GAME_7F058068 +/* 07D038 7F048508 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D03C 7F04850C 8E8C0008 */ lw $t4, 8($s4) +/* 07D040 7F048510 C7AA0394 */ lwc1 $f10, 0x394($sp) +/* 07D044 7F048514 26450080 */ addiu $a1, $s2, 0x80 +/* 07D048 7F048518 8D8A0008 */ lw $t2, 8($t4) +/* 07D04C 7F04851C 460AA301 */ sub.s $f12, $f20, $f10 +/* 07D050 7F048520 8D4E0008 */ lw $t6, 8($t2) +/* 07D054 7F048524 8DD00004 */ lw $s0, 4($t6) +/* 07D058 7F048528 0FC1615C */ jal sub_GAME_7F058570 +/* 07D05C 7F04852C AFA50068 */ sw $a1, 0x68($sp) +/* 07D060 7F048530 02002025 */ move $a0, $s0 +/* 07D064 7F048534 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D068 7F048538 8FA50068 */ lw $a1, 0x68($sp) +/* 07D06C 7F04853C 02402025 */ move $a0, $s2 +/* 07D070 7F048540 0FC1601A */ jal sub_GAME_7F058068 +/* 07D074 7F048544 8FA50068 */ lw $a1, 0x68($sp) +/* 07D078 7F048548 1000031F */ b .L7F0491C8 +/* 07D07C 7F04854C 8E8F0008 */ lw $t7, 8($s4) +.L7F048550: +/* 07D080 7F048550 55A3031D */ bnel $t5, $v1, .L7F0491C8 +/* 07D084 7F048554 8E8F0008 */ lw $t7, 8($s4) +/* 07D088 7F048558 C4C200B4 */ lwc1 $f2, 0xb4($a2) +/* 07D08C 7F04855C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07D090 7F048560 44812000 */ mtc1 $at, $f4 +/* 07D094 7F048564 46141202 */ mul.s $f8, $f2, $f20 +/* 07D098 7F048568 3C018005 */ lui $at, %hi(D_80052B68) +/* 07D09C 7F04856C C42A2B68 */ lwc1 $f10, %lo(D_80052B68)($at) +/* 07D0A0 7F048570 4600B386 */ mov.s $f14, $f22 +/* 07D0A4 7F048574 46044183 */ div.s $f6, $f8, $f4 +/* 07D0A8 7F048578 E7A60384 */ swc1 $f6, 0x384($sp) +/* 07D0AC 7F04857C C4CC0084 */ lwc1 $f12, 0x84($a2) +/* 07D0B0 7F048580 460A6002 */ mul.s $f0, $f12, $f10 +/* 07D0B4 7F048584 4602003C */ c.lt.s $f0, $f2 +/* 07D0B8 7F048588 00000000 */ nop +/* 07D0BC 7F04858C 4502001F */ bc1fl .L7F04860C +/* 07D0C0 7F048590 8FA80678 */ lw $t0, 0x678($sp) +/* 07D0C4 7F048594 46001201 */ sub.s $f8, $f2, $f0 +/* 07D0C8 7F048598 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07D0CC 7F04859C 8FB80678 */ lw $t8, 0x678($sp) +/* 07D0D0 7F0485A0 46006181 */ sub.s $f6, $f12, $f0 +/* 07D0D4 7F0485A4 46086102 */ mul.s $f4, $f12, $f8 +/* 07D0D8 7F0485A8 46062283 */ div.s $f10, $f4, $f6 +/* 07D0DC 7F0485AC 44812000 */ mtc1 $at, $f4 +/* 07D0E0 7F0485B0 46145202 */ mul.s $f8, $f10, $f20 +/* 07D0E4 7F0485B4 46044383 */ div.s $f14, $f8, $f4 +/* 07D0E8 7F0485B8 13000011 */ beqz $t8, .L7F048600 +/* 07D0EC 7F0485BC E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D0F0 7F0485C0 C7A6067C */ lwc1 $f6, 0x67c($sp) +/* 07D0F4 7F0485C4 E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D0F8 7F0485C8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07D0FC 7F0485CC 4600303E */ c.le.s $f6, $f0 +/* 07D100 7F0485D0 240500CA */ li $a1, 202 +/* 07D104 7F0485D4 00003025 */ move $a2, $zero +/* 07D108 7F0485D8 266F0008 */ addiu $t7, $s3, 8 +/* 07D10C 7F0485DC 45000008 */ bc1f .L7F048600 +/* 07D110 7F0485E0 00000000 */ nop +/* 07D114 7F0485E4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07D118 7F0485E8 AFAF0070 */ sw $t7, 0x70($sp) +/* 07D11C 7F0485EC 0C002382 */ jal play_sfx_a1 +/* 07D120 7F0485F0 E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D124 7F0485F4 00402025 */ move $a0, $v0 +/* 07D128 7F0485F8 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07D12C 7F0485FC 8FA50070 */ lw $a1, 0x70($sp) +.L7F048600: +/* 07D130 7F048600 10000016 */ b .L7F04865C +/* 07D134 7F048604 AFA0038C */ sw $zero, 0x38c($sp) +/* 07D138 7F048608 8FA80678 */ lw $t0, 0x678($sp) +.L7F04860C: +/* 07D13C 7F04860C E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D140 7F048610 51000012 */ beql $t0, $zero, .L7F04865C +/* 07D144 7F048614 AFA0038C */ sw $zero, 0x38c($sp) +/* 07D148 7F048618 C7AA067C */ lwc1 $f10, 0x67c($sp) +/* 07D14C 7F04861C E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D150 7F048620 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07D154 7F048624 460A003C */ c.lt.s $f0, $f10 +/* 07D158 7F048628 240500CB */ li $a1, 203 +/* 07D15C 7F04862C 00003025 */ move $a2, $zero +/* 07D160 7F048630 266B0008 */ addiu $t3, $s3, 8 +/* 07D164 7F048634 45020009 */ bc1fl .L7F04865C +/* 07D168 7F048638 AFA0038C */ sw $zero, 0x38c($sp) +/* 07D16C 7F04863C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07D170 7F048640 AFAB0070 */ sw $t3, 0x70($sp) +/* 07D174 7F048644 0C002382 */ jal play_sfx_a1 +/* 07D178 7F048648 E7AE0380 */ swc1 $f14, 0x380($sp) +/* 07D17C 7F04864C 00402025 */ move $a0, $v0 +/* 07D180 7F048650 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07D184 7F048654 8FA50070 */ lw $a1, 0x70($sp) +/* 07D188 7F048658 AFA0038C */ sw $zero, 0x38c($sp) +.L7F04865C: +/* 07D18C 7F04865C 8E890008 */ lw $t1, 8($s4) +/* 07D190 7F048660 8FA3038C */ lw $v1, 0x38c($sp) +/* 07D194 7F048664 C7AC0380 */ lwc1 $f12, 0x380($sp) +/* 07D198 7F048668 8D390008 */ lw $t9, 8($t1) +/* 07D19C 7F04866C 00031040 */ sll $v0, $v1, 1 +/* 07D1A0 7F048670 00026080 */ sll $t4, $v0, 2 +/* 07D1A4 7F048674 032C5021 */ addu $t2, $t9, $t4 +/* 07D1A8 7F048678 8D4E0004 */ lw $t6, 4($t2) +/* 07D1AC 7F04867C 0002C180 */ sll $t8, $v0, 6 +/* 07D1B0 7F048680 02582821 */ addu $a1, $s2, $t8 +/* 07D1B4 7F048684 8DCD0004 */ lw $t5, 4($t6) +/* 07D1B8 7F048688 AFA20074 */ sw $v0, 0x74($sp) +/* 07D1BC 7F04868C 24A50040 */ addiu $a1, $a1, 0x40 +/* 07D1C0 7F048690 0FC161A2 */ jal sub_GAME_7F058688 +/* 07D1C4 7F048694 AFAD0390 */ sw $t5, 0x390($sp) +/* 07D1C8 7F048698 8FAF0074 */ lw $t7, 0x74($sp) +/* 07D1CC 7F04869C 8FB0038C */ lw $s0, 0x38c($sp) +/* 07D1D0 7F0486A0 8FA40390 */ lw $a0, 0x390($sp) +/* 07D1D4 7F0486A4 000F4180 */ sll $t0, $t7, 6 +/* 07D1D8 7F0486A8 02482821 */ addu $a1, $s2, $t0 +/* 07D1DC 7F0486AC 24A50040 */ addiu $a1, $a1, 0x40 +/* 07D1E0 7F0486B0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D1E4 7F0486B4 AFA50070 */ sw $a1, 0x70($sp) +/* 07D1E8 7F0486B8 02402025 */ move $a0, $s2 +/* 07D1EC 7F0486BC 0FC1601A */ jal sub_GAME_7F058068 +/* 07D1F0 7F0486C0 8FA50070 */ lw $a1, 0x70($sp) +/* 07D1F4 7F0486C4 8E8B0008 */ lw $t3, 8($s4) +/* 07D1F8 7F0486C8 8FA20074 */ lw $v0, 0x74($sp) +/* 07D1FC 7F0486CC C7AC0384 */ lwc1 $f12, 0x384($sp) +/* 07D200 7F0486D0 8D690008 */ lw $t1, 8($t3) +/* 07D204 7F0486D4 24420002 */ addiu $v0, $v0, 2 +/* 07D208 7F0486D8 0002C880 */ sll $t9, $v0, 2 +/* 07D20C 7F0486DC 01396021 */ addu $t4, $t1, $t9 +/* 07D210 7F0486E0 8D8A0000 */ lw $t2, ($t4) +/* 07D214 7F0486E4 00026980 */ sll $t5, $v0, 6 +/* 07D218 7F0486E8 024D2821 */ addu $a1, $s2, $t5 +/* 07D21C 7F0486EC 8D4E0004 */ lw $t6, 4($t2) +/* 07D220 7F0486F0 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D224 7F0486F4 0FC161A2 */ jal sub_GAME_7F058688 +/* 07D228 7F0486F8 AFAE0390 */ sw $t6, 0x390($sp) +/* 07D22C 7F0486FC 8FA40390 */ lw $a0, 0x390($sp) +/* 07D230 7F048700 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D234 7F048704 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D238 7F048708 8FA40070 */ lw $a0, 0x70($sp) +/* 07D23C 7F04870C 0FC1601A */ jal sub_GAME_7F058068 +/* 07D240 7F048710 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D244 7F048714 26100001 */ addiu $s0, $s0, 1 +/* 07D248 7F048718 24010006 */ li $at, 6 +/* 07D24C 7F04871C 1601FFCF */ bne $s0, $at, .L7F04865C +/* 07D250 7F048720 AFB0038C */ sw $s0, 0x38c($sp) +/* 07D254 7F048724 100002A8 */ b .L7F0491C8 +/* 07D258 7F048728 8E8F0008 */ lw $t7, 8($s4) +.L7F04872C: +/* 07D25C 7F04872C 26380058 */ addiu $t8, $s1, 0x58 +/* 07D260 7F048730 AFB80070 */ sw $t8, 0x70($sp) +/* 07D264 7F048734 0FC16008 */ jal sub_GAME_7F058020 +/* 07D268 7F048738 27A503A4 */ addiu $a1, $sp, 0x3a4 +/* 07D26C 7F04873C 8FA40070 */ lw $a0, 0x70($sp) +/* 07D270 7F048740 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D274 7F048744 27A503A4 */ addiu $a1, $sp, 0x3a4 +/* 07D278 7F048748 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07D27C 7F04874C 00000000 */ nop +/* 07D280 7F048750 00402025 */ move $a0, $v0 +/* 07D284 7F048754 27A503A4 */ addiu $a1, $sp, 0x3a4 +/* 07D288 7F048758 0FC16063 */ jal sub_GAME_7F05818C +/* 07D28C 7F04875C 02403025 */ move $a2, $s2 +/* 07D290 7F048760 92220003 */ lbu $v0, 3($s1) +/* 07D294 7F048764 24010006 */ li $at, 6 +/* 07D298 7F048768 27A50320 */ addiu $a1, $sp, 0x320 +/* 07D29C 7F04876C 5441002D */ bnel $v0, $at, .L7F048824 +/* 07D2A0 7F048770 2401000D */ li $at, 13 +/* 07D2A4 7F048774 8E620004 */ lw $v0, 4($s3) +/* 07D2A8 7F048778 8E8F0008 */ lw $t7, 8($s4) +/* 07D2AC 7F04877C C44C00C8 */ lwc1 $f12, 0xc8($v0) +/* 07D2B0 7F048780 8DE80008 */ lw $t0, 8($t7) +/* 07D2B4 7F048784 4616603C */ c.lt.s $f12, $f22 +/* 07D2B8 7F048788 8D0B0000 */ lw $t3, ($t0) +/* 07D2BC 7F04878C 45000003 */ bc1f .L7F04879C +/* 07D2C0 7F048790 8D700004 */ lw $s0, 4($t3) +/* 07D2C4 7F048794 10000006 */ b .L7F0487B0 +/* 07D2C8 7F048798 46146300 */ add.s $f12, $f12, $f20 +.L7F04879C: +/* 07D2CC 7F04879C 460CA03E */ c.le.s $f20, $f12 +/* 07D2D0 7F0487A0 00000000 */ nop +/* 07D2D4 7F0487A4 45000002 */ bc1f .L7F0487B0 +/* 07D2D8 7F0487A8 00000000 */ nop +/* 07D2DC 7F0487AC 46146301 */ sub.s $f12, $f12, $f20 +.L7F0487B0: +/* 07D2E0 7F0487B0 0FC1617F */ jal sub_GAME_7F0585FC +/* 07D2E4 7F0487B4 AFA20370 */ sw $v0, 0x370($sp) +/* 07D2E8 7F0487B8 8FA20370 */ lw $v0, 0x370($sp) +/* 07D2EC 7F0487BC 26460040 */ addiu $a2, $s2, 0x40 +/* 07D2F0 7F0487C0 AFA6006C */ sw $a2, 0x6c($sp) +/* 07D2F4 7F0487C4 27A40320 */ addiu $a0, $sp, 0x320 +/* 07D2F8 7F0487C8 0FC16032 */ jal sub_GAME_7F0580C8 +/* 07D2FC 7F0487CC 24450084 */ addiu $a1, $v0, 0x84 +/* 07D300 7F0487D0 C6080000 */ lwc1 $f8, ($s0) +/* 07D304 7F0487D4 27B20360 */ addiu $s2, $sp, 0x360 +/* 07D308 7F0487D8 02402825 */ move $a1, $s2 +/* 07D30C 7F0487DC E7A80360 */ swc1 $f8, 0x360($sp) +/* 07D310 7F0487E0 C6040004 */ lwc1 $f4, 4($s0) +/* 07D314 7F0487E4 27A403A4 */ addiu $a0, $sp, 0x3a4 +/* 07D318 7F0487E8 E7A40364 */ swc1 $f4, 0x364($sp) +/* 07D31C 7F0487EC C6060008 */ lwc1 $f6, 8($s0) +/* 07D320 7F0487F0 0FC1611D */ jal sub_GAME_7F058474 +/* 07D324 7F0487F4 E7A60368 */ swc1 $f6, 0x368($sp) +/* 07D328 7F0487F8 02402025 */ move $a0, $s2 +/* 07D32C 7F0487FC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D330 7F048800 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D334 7F048804 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07D338 7F048808 00000000 */ nop +/* 07D33C 7F04880C 00402025 */ move $a0, $v0 +/* 07D340 7F048810 0FC16026 */ jal sub_GAME_7F058098 +/* 07D344 7F048814 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D348 7F048818 1000026B */ b .L7F0491C8 +/* 07D34C 7F04881C 8E8F0008 */ lw $t7, 8($s4) +/* 07D350 7F048820 2401000D */ li $at, 13 +.L7F048824: +/* 07D354 7F048824 5441007F */ bnel $v0, $at, .L7F048A24 +/* 07D358 7F048828 24010008 */ li $at, 8 +/* 07D35C 7F04882C 8E620004 */ lw $v0, 4($s3) +/* 07D360 7F048830 3C018005 */ lui $at, %hi(D_80052B6C) +/* 07D364 7F048834 C4282B6C */ lwc1 $f8, %lo(D_80052B6C)($at) +/* 07D368 7F048838 C44A0090 */ lwc1 $f10, 0x90($v0) +/* 07D36C 7F04883C C444009C */ lwc1 $f4, 0x9c($v0) +/* 07D370 7F048840 46085300 */ add.s $f12, $f10, $f8 +/* 07D374 7F048844 46002187 */ neg.s $f6, $f4 +/* 07D378 7F048848 460CA03E */ c.le.s $f20, $f12 +/* 07D37C 7F04884C E7A60300 */ swc1 $f6, 0x300($sp) +/* 07D380 7F048850 45020003 */ bc1fl .L7F048860 +/* 07D384 7F048854 8E890008 */ lw $t1, 8($s4) +/* 07D388 7F048858 46146301 */ sub.s $f12, $f12, $f20 +/* 07D38C 7F04885C 8E890008 */ lw $t1, 8($s4) +.L7F048860: +/* 07D390 7F048860 27A403A4 */ addiu $a0, $sp, 0x3a4 +/* 07D394 7F048864 27A50308 */ addiu $a1, $sp, 0x308 +/* 07D398 7F048868 8D390008 */ lw $t9, 8($t1) +/* 07D39C 7F04886C 8F2C0004 */ lw $t4, 4($t9) +/* 07D3A0 7F048870 8D900004 */ lw $s0, 4($t4) +/* 07D3A4 7F048874 C60A0000 */ lwc1 $f10, ($s0) +/* 07D3A8 7F048878 E7AA0308 */ swc1 $f10, 0x308($sp) +/* 07D3AC 7F04887C C6080004 */ lwc1 $f8, 4($s0) +/* 07D3B0 7F048880 E7A8030C */ swc1 $f8, 0x30c($sp) +/* 07D3B4 7F048884 C6040008 */ lwc1 $f4, 8($s0) +/* 07D3B8 7F048888 E7AC0304 */ swc1 $f12, 0x304($sp) +/* 07D3BC 7F04888C AFA20318 */ sw $v0, 0x318($sp) +/* 07D3C0 7F048890 0FC1611D */ jal sub_GAME_7F058474 +/* 07D3C4 7F048894 E7A40310 */ swc1 $f4, 0x310($sp) +/* 07D3C8 7F048898 26450040 */ addiu $a1, $s2, 0x40 +/* 07D3CC 7F04889C C7AC0304 */ lwc1 $f12, 0x304($sp) +/* 07D3D0 7F0488A0 0FC1617F */ jal sub_GAME_7F0585FC +/* 07D3D4 7F0488A4 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D3D8 7F0488A8 27A40308 */ addiu $a0, $sp, 0x308 +/* 07D3DC 7F0488AC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D3E0 7F0488B0 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D3E4 7F0488B4 8FAA0318 */ lw $t2, 0x318($sp) +/* 07D3E8 7F0488B8 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D3EC 7F0488BC 8D4E0014 */ lw $t6, 0x14($t2) +/* 07D3F0 7F0488C0 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 07D3F4 7F0488C4 C5CC0014 */ lwc1 $f12, 0x14($t6) +/* 07D3F8 7F0488C8 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07D3FC 7F0488CC 00000000 */ nop +/* 07D400 7F0488D0 00402025 */ move $a0, $v0 +/* 07D404 7F0488D4 0FC16026 */ jal sub_GAME_7F058098 +/* 07D408 7F0488D8 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D40C 7F0488DC 8E8D0008 */ lw $t5, 8($s4) +/* 07D410 7F0488E0 26450080 */ addiu $a1, $s2, 0x80 +/* 07D414 7F0488E4 C7AC0300 */ lwc1 $f12, 0x300($sp) +/* 07D418 7F0488E8 8DB80008 */ lw $t8, 8($t5) +/* 07D41C 7F0488EC 8F0F0008 */ lw $t7, 8($t8) +/* 07D420 7F0488F0 8DF00004 */ lw $s0, 4($t7) +/* 07D424 7F0488F4 0FC161A2 */ jal sub_GAME_7F058688 +/* 07D428 7F0488F8 AFA50068 */ sw $a1, 0x68($sp) +/* 07D42C 7F0488FC 02002025 */ move $a0, $s0 +/* 07D430 7F048900 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D434 7F048904 8FA50068 */ lw $a1, 0x68($sp) +/* 07D438 7F048908 8FA4006C */ lw $a0, 0x6c($sp) +/* 07D43C 7F04890C 0FC16026 */ jal sub_GAME_7F058098 +/* 07D440 7F048910 8FA50068 */ lw $a1, 0x68($sp) +/* 07D444 7F048914 8E880008 */ lw $t0, 8($s4) +/* 07D448 7F048918 02802025 */ move $a0, $s4 +/* 07D44C 7F04891C 8D030008 */ lw $v1, 8($t0) +/* 07D450 7F048920 8C65000C */ lw $a1, 0xc($v1) +/* 07D454 7F048924 50A00016 */ beql $a1, $zero, .L7F048980 +/* 07D458 7F048928 8C650010 */ lw $a1, 0x10($v1) +/* 07D45C 7F04892C 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07D460 7F048930 00003025 */ move $a2, $zero +/* 07D464 7F048934 AFA202FC */ sw $v0, 0x2fc($sp) +/* 07D468 7F048938 8E8B0008 */ lw $t3, 8($s4) +/* 07D46C 7F04893C 8FAC0318 */ lw $t4, 0x318($sp) +/* 07D470 7F048940 00402825 */ move $a1, $v0 +/* 07D474 7F048944 8D690008 */ lw $t1, 8($t3) +/* 07D478 7F048948 C58C00B4 */ lwc1 $f12, 0xb4($t4) +/* 07D47C 7F04894C 8D39000C */ lw $t9, 0xc($t1) +/* 07D480 7F048950 0FC1615C */ jal sub_GAME_7F058570 +/* 07D484 7F048954 8F300004 */ lw $s0, 4($t9) +/* 07D488 7F048958 8FB202FC */ lw $s2, 0x2fc($sp) +/* 07D48C 7F04895C 02002025 */ move $a0, $s0 +/* 07D490 7F048960 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D494 7F048964 02402825 */ move $a1, $s2 +/* 07D498 7F048968 8FA40068 */ lw $a0, 0x68($sp) +/* 07D49C 7F04896C 0FC16026 */ jal sub_GAME_7F058098 +/* 07D4A0 7F048970 02402825 */ move $a1, $s2 +/* 07D4A4 7F048974 8E8A0008 */ lw $t2, 8($s4) +/* 07D4A8 7F048978 8D430008 */ lw $v1, 8($t2) +/* 07D4AC 7F04897C 8C650010 */ lw $a1, 0x10($v1) +.L7F048980: +/* 07D4B0 7F048980 02802025 */ move $a0, $s4 +/* 07D4B4 7F048984 50A00010 */ beql $a1, $zero, .L7F0489C8 +/* 07D4B8 7F048988 8C650018 */ lw $a1, 0x18($v1) +/* 07D4BC 7F04898C 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07D4C0 7F048990 00003025 */ move $a2, $zero +/* 07D4C4 7F048994 8E8E0008 */ lw $t6, 8($s4) +/* 07D4C8 7F048998 00409025 */ move $s2, $v0 +/* 07D4CC 7F04899C 00402825 */ move $a1, $v0 +/* 07D4D0 7F0489A0 8DCD0008 */ lw $t5, 8($t6) +/* 07D4D4 7F0489A4 8DB80010 */ lw $t8, 0x10($t5) +/* 07D4D8 7F0489A8 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07D4DC 7F0489AC 8F040004 */ lw $a0, 4($t8) +/* 07D4E0 7F0489B0 8FA40068 */ lw $a0, 0x68($sp) +/* 07D4E4 7F0489B4 0FC16026 */ jal sub_GAME_7F058098 +/* 07D4E8 7F0489B8 02402825 */ move $a1, $s2 +/* 07D4EC 7F0489BC 8E8F0008 */ lw $t7, 8($s4) +/* 07D4F0 7F0489C0 8DE30008 */ lw $v1, 8($t7) +/* 07D4F4 7F0489C4 8C650018 */ lw $a1, 0x18($v1) +.L7F0489C8: +/* 07D4F8 7F0489C8 02802025 */ move $a0, $s4 +/* 07D4FC 7F0489CC 50A001FE */ beql $a1, $zero, .L7F0491C8 +/* 07D500 7F0489D0 8E8F0008 */ lw $t7, 8($s4) +/* 07D504 7F0489D4 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07D508 7F0489D8 00003025 */ move $a2, $zero +/* 07D50C 7F0489DC 8E880008 */ lw $t0, 8($s4) +/* 07D510 7F0489E0 8FB90318 */ lw $t9, 0x318($sp) +/* 07D514 7F0489E4 00409025 */ move $s2, $v0 +/* 07D518 7F0489E8 8D0B0008 */ lw $t3, 8($t0) +/* 07D51C 7F0489EC 00402825 */ move $a1, $v0 +/* 07D520 7F0489F0 C72C00B4 */ lwc1 $f12, 0xb4($t9) +/* 07D524 7F0489F4 8D690018 */ lw $t1, 0x18($t3) +/* 07D528 7F0489F8 0FC1615C */ jal sub_GAME_7F058570 +/* 07D52C 7F0489FC 8D300004 */ lw $s0, 4($t1) +/* 07D530 7F048A00 02002025 */ move $a0, $s0 +/* 07D534 7F048A04 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D538 7F048A08 02402825 */ move $a1, $s2 +/* 07D53C 7F048A0C 8FA40068 */ lw $a0, 0x68($sp) +/* 07D540 7F048A10 0FC16026 */ jal sub_GAME_7F058098 +/* 07D544 7F048A14 02402825 */ move $a1, $s2 +/* 07D548 7F048A18 100001EB */ b .L7F0491C8 +/* 07D54C 7F048A1C 8E8F0008 */ lw $t7, 8($s4) +/* 07D550 7F048A20 24010008 */ li $at, 8 +.L7F048A24: +/* 07D554 7F048A24 54410017 */ bnel $v0, $at, .L7F048A84 +/* 07D558 7F048A28 2401000C */ li $at, 12 +/* 07D55C 7F048A2C 8E8C0008 */ lw $t4, 8($s4) +/* 07D560 7F048A30 24020001 */ li $v0, 1 +/* 07D564 7F048A34 26440040 */ addiu $a0, $s2, 0x40 +/* 07D568 7F048A38 858A000E */ lh $t2, 0xe($t4) +/* 07D56C 7F048A3C 29410002 */ slti $at, $t2, 2 +/* 07D570 7F048A40 542001E1 */ bnezl $at, .L7F0491C8 +/* 07D574 7F048A44 8E8F0008 */ lw $t7, 8($s4) +/* 07D578 7F048A48 AFA202F8 */ sw $v0, 0x2f8($sp) +.L7F048A4C: +/* 07D57C 7F048A4C 0FC15FF4 */ jal reset_array_of_0x10_floats +/* 07D580 7F048A50 AFA40074 */ sw $a0, 0x74($sp) +/* 07D584 7F048A54 8E8E0008 */ lw $t6, 8($s4) +/* 07D588 7F048A58 8FA202F8 */ lw $v0, 0x2f8($sp) +/* 07D58C 7F048A5C 8FA40074 */ lw $a0, 0x74($sp) +/* 07D590 7F048A60 85CD000E */ lh $t5, 0xe($t6) +/* 07D594 7F048A64 24420001 */ addiu $v0, $v0, 1 +/* 07D598 7F048A68 24840040 */ addiu $a0, $a0, 0x40 +/* 07D59C 7F048A6C 004D082A */ slt $at, $v0, $t5 +/* 07D5A0 7F048A70 5420FFF6 */ bnezl $at, .L7F048A4C +/* 07D5A4 7F048A74 AFA202F8 */ sw $v0, 0x2f8($sp) +/* 07D5A8 7F048A78 100001D3 */ b .L7F0491C8 +/* 07D5AC 7F048A7C 8E8F0008 */ lw $t7, 8($s4) +/* 07D5B0 7F048A80 2401000C */ li $at, 12 +.L7F048A84: +/* 07D5B4 7F048A84 5441002C */ bnel $v0, $at, .L7F048B38 +/* 07D5B8 7F048A88 24010027 */ li $at, 39 +/* 07D5BC 7F048A8C 8E980008 */ lw $t8, 8($s4) +/* 07D5C0 7F048A90 26450040 */ addiu $a1, $s2, 0x40 +/* 07D5C4 7F048A94 8F0F0008 */ lw $t7, 8($t8) +/* 07D5C8 7F048A98 8DE80000 */ lw $t0, ($t7) +/* 07D5CC 7F048A9C 8D040004 */ lw $a0, 4($t0) +/* 07D5D0 7F048AA0 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07D5D4 7F048AA4 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D5D8 7F048AA8 02402025 */ move $a0, $s2 +/* 07D5DC 7F048AAC 0FC16026 */ jal sub_GAME_7F058098 +/* 07D5E0 7F048AB0 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D5E4 7F048AB4 8E8B0008 */ lw $t3, 8($s4) +/* 07D5E8 7F048AB8 26450080 */ addiu $a1, $s2, 0x80 +/* 07D5EC 7F048ABC 8D690008 */ lw $t1, 8($t3) +/* 07D5F0 7F048AC0 8D390004 */ lw $t9, 4($t1) +/* 07D5F4 7F048AC4 8F240004 */ lw $a0, 4($t9) +/* 07D5F8 7F048AC8 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07D5FC 7F048ACC AFA50068 */ sw $a1, 0x68($sp) +/* 07D600 7F048AD0 02402025 */ move $a0, $s2 +/* 07D604 7F048AD4 0FC16026 */ jal sub_GAME_7F058098 +/* 07D608 7F048AD8 8FA50068 */ lw $a1, 0x68($sp) +/* 07D60C 7F048ADC 8E8C0008 */ lw $t4, 8($s4) +/* 07D610 7F048AE0 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07D614 7F048AE4 8D8A0008 */ lw $t2, 8($t4) +/* 07D618 7F048AE8 8D4E0008 */ lw $t6, 8($t2) +/* 07D61C 7F048AEC 8DC40004 */ lw $a0, 4($t6) +/* 07D620 7F048AF0 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07D624 7F048AF4 AFA50074 */ sw $a1, 0x74($sp) +/* 07D628 7F048AF8 02402025 */ move $a0, $s2 +/* 07D62C 7F048AFC 0FC16026 */ jal sub_GAME_7F058098 +/* 07D630 7F048B00 8FA50074 */ lw $a1, 0x74($sp) +/* 07D634 7F048B04 8E8D0008 */ lw $t5, 8($s4) +/* 07D638 7F048B08 26500100 */ addiu $s0, $s2, 0x100 +/* 07D63C 7F048B0C 02002825 */ move $a1, $s0 +/* 07D640 7F048B10 8DB80008 */ lw $t8, 8($t5) +/* 07D644 7F048B14 8F0F000C */ lw $t7, 0xc($t8) +/* 07D648 7F048B18 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07D64C 7F048B1C 8DE40004 */ lw $a0, 4($t7) +/* 07D650 7F048B20 02402025 */ move $a0, $s2 +/* 07D654 7F048B24 0FC16026 */ jal sub_GAME_7F058098 +/* 07D658 7F048B28 02002825 */ move $a1, $s0 +/* 07D65C 7F048B2C 100001A6 */ b .L7F0491C8 +/* 07D660 7F048B30 8E8F0008 */ lw $t7, 8($s4) +/* 07D664 7F048B34 24010027 */ li $at, 39 +.L7F048B38: +/* 07D668 7F048B38 544100B9 */ bnel $v0, $at, .L7F048E20 +/* 07D66C 7F048B3C 24010028 */ li $at, 40 +/* 07D670 7F048B40 8E880008 */ lw $t0, 8($s4) +/* 07D674 7F048B44 8FAF0678 */ lw $t7, 0x678($sp) +/* 07D678 7F048B48 4600B006 */ mov.s $f0, $f22 +/* 07D67C 7F048B4C 8D030008 */ lw $v1, 8($t0) +/* 07D680 7F048B50 8C6B0004 */ lw $t3, 4($v1) +/* 07D684 7F048B54 8D690004 */ lw $t1, 4($t3) +/* 07D688 7F048B58 AFA90260 */ sw $t1, 0x260($sp) +/* 07D68C 7F048B5C 8C790008 */ lw $t9, 8($v1) +/* 07D690 7F048B60 8F2C0004 */ lw $t4, 4($t9) +/* 07D694 7F048B64 AFAC025C */ sw $t4, 0x25c($sp) +/* 07D698 7F048B68 8C6E0010 */ lw $t6, 0x10($v1) +/* 07D69C 7F048B6C 8C6A000C */ lw $t2, 0xc($v1) +/* 07D6A0 7F048B70 8DCD0004 */ lw $t5, 4($t6) +/* 07D6A4 7F048B74 8D500004 */ lw $s0, 4($t2) +/* 07D6A8 7F048B78 AFAD0254 */ sw $t5, 0x254($sp) +/* 07D6AC 7F048B7C 8C780018 */ lw $t8, 0x18($v1) +/* 07D6B0 7F048B80 C6840014 */ lwc1 $f4, 0x14($s4) +/* 07D6B4 7F048B84 8F020004 */ lw $v0, 4($t8) +/* 07D6B8 7F048B88 C4460010 */ lwc1 $f6, 0x10($v0) +/* 07D6BC 7F048B8C C44A000C */ lwc1 $f10, 0xc($v0) +/* 07D6C0 7F048B90 460A3201 */ sub.s $f8, $f6, $f10 +/* 07D6C4 7F048B94 46044082 */ mul.s $f2, $f8, $f4 +/* 07D6C8 7F048B98 11E00026 */ beqz $t7, .L7F048C34 +/* 07D6CC 7F048B9C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07D6D0 7F048BA0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07D6D4 7F048BA4 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07D6D8 7F048BA8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07D6DC 7F048BAC 460A3202 */ mul.s $f8, $f6, $f10 +/* 07D6E0 7F048BB0 44815000 */ mtc1 $at, $f10 +/* 07D6E4 7F048BB4 46144102 */ mul.s $f4, $f8, $f20 +/* 07D6E8 7F048BB8 00000000 */ nop +/* 07D6EC 7F048BBC 46141182 */ mul.s $f6, $f2, $f20 +/* 07D6F0 7F048BC0 00000000 */ nop +/* 07D6F4 7F048BC4 460A3202 */ mul.s $f8, $f6, $f10 +/* 07D6F8 7F048BC8 C626008C */ lwc1 $f6, 0x8c($s1) +/* 07D6FC 7F048BCC 46082003 */ div.s $f0, $f4, $f8 +/* 07D700 7F048BD0 46003280 */ add.s $f10, $f6, $f0 +/* 07D704 7F048BD4 E62A008C */ swc1 $f10, 0x8c($s1) +/* 07D708 7F048BD8 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D70C 7F048BDC 460CA03E */ c.le.s $f20, $f12 +/* 07D710 7F048BE0 00000000 */ nop +/* 07D714 7F048BE4 45000008 */ bc1f .L7F048C08 +/* 07D718 7F048BE8 00000000 */ nop +/* 07D71C 7F048BEC 46146101 */ sub.s $f4, $f12, $f20 +.L7F048BF0: +/* 07D720 7F048BF0 E624008C */ swc1 $f4, 0x8c($s1) +/* 07D724 7F048BF4 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D728 7F048BF8 460CA03E */ c.le.s $f20, $f12 +/* 07D72C 7F048BFC 00000000 */ nop +/* 07D730 7F048C00 4503FFFB */ bc1tl .L7F048BF0 +/* 07D734 7F048C04 46146101 */ sub.s $f4, $f12, $f20 +.L7F048C08: +/* 07D738 7F048C08 4616603C */ c.lt.s $f12, $f22 +/* 07D73C 7F048C0C 00000000 */ nop +/* 07D740 7F048C10 45020009 */ bc1fl .L7F048C38 +/* 07D744 7F048C14 C626008C */ lwc1 $f6, 0x8c($s1) +/* 07D748 7F048C18 46146200 */ add.s $f8, $f12, $f20 +.L7F048C1C: +/* 07D74C 7F048C1C E628008C */ swc1 $f8, 0x8c($s1) +/* 07D750 7F048C20 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D754 7F048C24 4616603C */ c.lt.s $f12, $f22 +/* 07D758 7F048C28 00000000 */ nop +/* 07D75C 7F048C2C 4503FFFB */ bc1tl .L7F048C1C +/* 07D760 7F048C30 46146200 */ add.s $f8, $f12, $f20 +.L7F048C34: +/* 07D764 7F048C34 C626008C */ lwc1 $f6, 0x8c($s1) +.L7F048C38: +/* 07D768 7F048C38 46003280 */ add.s $f10, $f6, $f0 +/* 07D76C 7F048C3C E62A008C */ swc1 $f10, 0x8c($s1) +/* 07D770 7F048C40 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D774 7F048C44 460CA03E */ c.le.s $f20, $f12 +/* 07D778 7F048C48 00000000 */ nop +/* 07D77C 7F048C4C 45020009 */ bc1fl .L7F048C74 +/* 07D780 7F048C50 4616603C */ c.lt.s $f12, $f22 +/* 07D784 7F048C54 46146101 */ sub.s $f4, $f12, $f20 +.L7F048C58: +/* 07D788 7F048C58 E624008C */ swc1 $f4, 0x8c($s1) +/* 07D78C 7F048C5C C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D790 7F048C60 460CA03E */ c.le.s $f20, $f12 +/* 07D794 7F048C64 00000000 */ nop +/* 07D798 7F048C68 4503FFFB */ bc1tl .L7F048C58 +/* 07D79C 7F048C6C 46146101 */ sub.s $f4, $f12, $f20 +/* 07D7A0 7F048C70 4616603C */ c.lt.s $f12, $f22 +.L7F048C74: +/* 07D7A4 7F048C74 00000000 */ nop +/* 07D7A8 7F048C78 45000008 */ bc1f .L7F048C9C +/* 07D7AC 7F048C7C 00000000 */ nop +/* 07D7B0 7F048C80 46146200 */ add.s $f8, $f12, $f20 +.L7F048C84: +/* 07D7B4 7F048C84 E628008C */ swc1 $f8, 0x8c($s1) +/* 07D7B8 7F048C88 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D7BC 7F048C8C 4616603C */ c.lt.s $f12, $f22 +/* 07D7C0 7F048C90 00000000 */ nop +/* 07D7C4 7F048C94 4503FFFB */ bc1tl .L7F048C84 +/* 07D7C8 7F048C98 46146200 */ add.s $f8, $f12, $f20 +.L7F048C9C: +/* 07D7CC 7F048C9C 0FC1615C */ jal sub_GAME_7F058570 +/* 07D7D0 7F048CA0 27A502AC */ addiu $a1, $sp, 0x2ac +/* 07D7D4 7F048CA4 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07D7D8 7F048CA8 4606B03C */ c.lt.s $f22, $f6 +/* 07D7DC 7F048CAC 00000000 */ nop +/* 07D7E0 7F048CB0 4502002B */ bc1fl .L7F048D60 +/* 07D7E4 7F048CB4 C62C0090 */ lwc1 $f12, 0x90($s1) +/* 07D7E8 7F048CB8 8FA80260 */ lw $t0, 0x260($sp) +/* 07D7EC 7F048CBC C60A0008 */ lwc1 $f10, 8($s0) +/* 07D7F0 7F048CC0 C62C009C */ lwc1 $f12, 0x9c($s1) +/* 07D7F4 7F048CC4 C5040008 */ lwc1 $f4, 8($t0) +/* 07D7F8 7F048CC8 C6860014 */ lwc1 $f6, 0x14($s4) +/* 07D7FC 7F048CCC 4616603C */ c.lt.s $f12, $f22 +/* 07D800 7F048CD0 46045201 */ sub.s $f8, $f10, $f4 +/* 07D804 7F048CD4 46064082 */ mul.s $f2, $f8, $f6 +/* 07D808 7F048CD8 45020003 */ bc1fl .L7F048CE8 +/* 07D80C 7F048CDC E7A20250 */ swc1 $f2, 0x250($sp) +/* 07D810 7F048CE0 46006307 */ neg.s $f12, $f12 +/* 07D814 7F048CE4 E7A20250 */ swc1 $f2, 0x250($sp) +.L7F048CE8: +/* 07D818 7F048CE8 0FC15FAB */ jal sinf +/* 07D81C 7F048CEC E7AC024C */ swc1 $f12, 0x24c($sp) +/* 07D820 7F048CF0 C7A20250 */ lwc1 $f2, 0x250($sp) +/* 07D824 7F048CF4 C7AC024C */ lwc1 $f12, 0x24c($sp) +/* 07D828 7F048CF8 46020282 */ mul.s $f10, $f0, $f2 +/* 07D82C 7F048CFC 0FC15FA8 */ jal cosf +/* 07D830 7F048D00 E7AA0248 */ swc1 $f10, 0x248($sp) +/* 07D834 7F048D04 C7A20250 */ lwc1 $f2, 0x250($sp) +/* 07D838 7F048D08 C6280088 */ lwc1 $f8, 0x88($s1) +/* 07D83C 7F048D0C C7AC0248 */ lwc1 $f12, 0x248($sp) +/* 07D840 7F048D10 46020102 */ mul.s $f4, $f0, $f2 +/* 07D844 7F048D14 46081181 */ sub.s $f6, $f2, $f8 +/* 07D848 7F048D18 0FC16A8C */ jal convert_angle_using_inverse +/* 07D84C 7F048D1C 46062381 */ sub.s $f14, $f4, $f6 +/* 07D850 7F048D20 C7A2024C */ lwc1 $f2, 0x24c($sp) +/* 07D854 7F048D24 E6200090 */ swc1 $f0, 0x90($s1) +/* 07D858 7F048D28 4602003C */ c.lt.s $f0, $f2 +/* 07D85C 7F048D2C 00000000 */ nop +/* 07D860 7F048D30 45020003 */ bc1fl .L7F048D40 +/* 07D864 7F048D34 C62A009C */ lwc1 $f10, 0x9c($s1) +/* 07D868 7F048D38 E6220090 */ swc1 $f2, 0x90($s1) +/* 07D86C 7F048D3C C62A009C */ lwc1 $f10, 0x9c($s1) +.L7F048D40: +/* 07D870 7F048D40 460AB03C */ c.lt.s $f22, $f10 +/* 07D874 7F048D44 00000000 */ nop +/* 07D878 7F048D48 45020005 */ bc1fl .L7F048D60 +/* 07D87C 7F048D4C C62C0090 */ lwc1 $f12, 0x90($s1) +/* 07D880 7F048D50 C6280090 */ lwc1 $f8, 0x90($s1) +/* 07D884 7F048D54 4608A101 */ sub.s $f4, $f20, $f8 +/* 07D888 7F048D58 E6240090 */ swc1 $f4, 0x90($s1) +/* 07D88C 7F048D5C C62C0090 */ lwc1 $f12, 0x90($s1) +.L7F048D60: +/* 07D890 7F048D60 0FC1617F */ jal sub_GAME_7F0585FC +/* 07D894 7F048D64 27A5026C */ addiu $a1, $sp, 0x26c +/* 07D898 7F048D68 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07D89C 7F048D6C AFA50074 */ sw $a1, 0x74($sp) +/* 07D8A0 7F048D70 0FC16008 */ jal sub_GAME_7F058020 +/* 07D8A4 7F048D74 27A402AC */ addiu $a0, $sp, 0x2ac +/* 07D8A8 7F048D78 02002025 */ move $a0, $s0 +/* 07D8AC 7F048D7C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D8B0 7F048D80 8FA50074 */ lw $a1, 0x74($sp) +/* 07D8B4 7F048D84 02402025 */ move $a0, $s2 +/* 07D8B8 7F048D88 0FC16026 */ jal sub_GAME_7F058098 +/* 07D8BC 7F048D8C 8FA50074 */ lw $a1, 0x74($sp) +/* 07D8C0 7F048D90 26500100 */ addiu $s0, $s2, 0x100 +/* 07D8C4 7F048D94 02002825 */ move $a1, $s0 +/* 07D8C8 7F048D98 0FC16008 */ jal sub_GAME_7F058020 +/* 07D8CC 7F048D9C 27A402AC */ addiu $a0, $sp, 0x2ac +/* 07D8D0 7F048DA0 8FA40254 */ lw $a0, 0x254($sp) +/* 07D8D4 7F048DA4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D8D8 7F048DA8 02002825 */ move $a1, $s0 +/* 07D8DC 7F048DAC 02402025 */ move $a0, $s2 +/* 07D8E0 7F048DB0 0FC16026 */ jal sub_GAME_7F058098 +/* 07D8E4 7F048DB4 02002825 */ move $a1, $s0 +/* 07D8E8 7F048DB8 27A4026C */ addiu $a0, $sp, 0x26c +/* 07D8EC 7F048DBC 0FC16026 */ jal sub_GAME_7F058098 +/* 07D8F0 7F048DC0 27A502AC */ addiu $a1, $sp, 0x2ac +/* 07D8F4 7F048DC4 26450040 */ addiu $a1, $s2, 0x40 +/* 07D8F8 7F048DC8 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D8FC 7F048DCC 0FC16008 */ jal sub_GAME_7F058020 +/* 07D900 7F048DD0 27A402AC */ addiu $a0, $sp, 0x2ac +/* 07D904 7F048DD4 8FA40260 */ lw $a0, 0x260($sp) +/* 07D908 7F048DD8 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D90C 7F048DDC 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D910 7F048DE0 02402025 */ move $a0, $s2 +/* 07D914 7F048DE4 0FC16026 */ jal sub_GAME_7F058098 +/* 07D918 7F048DE8 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D91C 7F048DEC 26450080 */ addiu $a1, $s2, 0x80 +/* 07D920 7F048DF0 AFA50068 */ sw $a1, 0x68($sp) +/* 07D924 7F048DF4 0FC16008 */ jal sub_GAME_7F058020 +/* 07D928 7F048DF8 27A402AC */ addiu $a0, $sp, 0x2ac +/* 07D92C 7F048DFC 8FA4025C */ lw $a0, 0x25c($sp) +/* 07D930 7F048E00 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D934 7F048E04 8FA50068 */ lw $a1, 0x68($sp) +/* 07D938 7F048E08 02402025 */ move $a0, $s2 +/* 07D93C 7F048E0C 0FC16026 */ jal sub_GAME_7F058098 +/* 07D940 7F048E10 8FA50068 */ lw $a1, 0x68($sp) +/* 07D944 7F048E14 100000EC */ b .L7F0491C8 +/* 07D948 7F048E18 8E8F0008 */ lw $t7, 8($s4) +/* 07D94C 7F048E1C 24010028 */ li $at, 40 +.L7F048E20: +/* 07D950 7F048E20 14410086 */ bne $v0, $at, .L7F04903C +/* 07D954 7F048E24 00000000 */ nop +/* 07D958 7F048E28 8E8B0008 */ lw $t3, 8($s4) +/* 07D95C 7F048E2C 3C0A8005 */ lui $t2, %hi(clock_timer) +/* 07D960 7F048E30 8D4A8374 */ lw $t2, %lo(clock_timer)($t2) +/* 07D964 7F048E34 8D690008 */ lw $t1, 8($t3) +/* 07D968 7F048E38 8FAE0678 */ lw $t6, 0x678($sp) +/* 07D96C 7F048E3C 27B001B0 */ addiu $s0, $sp, 0x1b0 +/* 07D970 7F048E40 8D390008 */ lw $t9, 8($t1) +/* 07D974 7F048E44 3C0F8003 */ lui $t7, %hi(D_80030B34) +/* 07D978 7F048E48 02402025 */ move $a0, $s2 +/* 07D97C 7F048E4C 8F2C0004 */ lw $t4, 4($t9) +/* 07D980 7F048E50 26450040 */ addiu $a1, $s2, 0x40 +/* 07D984 7F048E54 1940001E */ blez $t2, .L7F048ED0 +/* 07D988 7F048E58 AFAC01FC */ sw $t4, 0x1fc($sp) +/* 07D98C 7F048E5C 51C0001D */ beql $t6, $zero, .L7F048ED4 +/* 07D990 7F048E60 8E2D0014 */ lw $t5, 0x14($s1) +/* 07D994 7F048E64 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07D998 7F048E68 C62A008C */ lwc1 $f10, 0x8c($s1) +/* 07D99C 7F048E6C 460A3200 */ add.s $f8, $f6, $f10 +/* 07D9A0 7F048E70 E6280088 */ swc1 $f8, 0x88($s1) +/* 07D9A4 7F048E74 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07D9A8 7F048E78 4600A03E */ c.le.s $f20, $f0 +/* 07D9AC 7F048E7C 00000000 */ nop +/* 07D9B0 7F048E80 45020009 */ bc1fl .L7F048EA8 +/* 07D9B4 7F048E84 4616003C */ c.lt.s $f0, $f22 +/* 07D9B8 7F048E88 46140101 */ sub.s $f4, $f0, $f20 +.L7F048E8C: +/* 07D9BC 7F048E8C E6240088 */ swc1 $f4, 0x88($s1) +/* 07D9C0 7F048E90 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07D9C4 7F048E94 4600A03E */ c.le.s $f20, $f0 +/* 07D9C8 7F048E98 00000000 */ nop +/* 07D9CC 7F048E9C 4503FFFB */ bc1tl .L7F048E8C +/* 07D9D0 7F048EA0 46140101 */ sub.s $f4, $f0, $f20 +/* 07D9D4 7F048EA4 4616003C */ c.lt.s $f0, $f22 +.L7F048EA8: +/* 07D9D8 7F048EA8 00000000 */ nop +/* 07D9DC 7F048EAC 45020009 */ bc1fl .L7F048ED4 +/* 07D9E0 7F048EB0 8E2D0014 */ lw $t5, 0x14($s1) +/* 07D9E4 7F048EB4 46140180 */ add.s $f6, $f0, $f20 +.L7F048EB8: +/* 07D9E8 7F048EB8 E6260088 */ swc1 $f6, 0x88($s1) +/* 07D9EC 7F048EBC C6200088 */ lwc1 $f0, 0x88($s1) +/* 07D9F0 7F048EC0 4616003C */ c.lt.s $f0, $f22 +/* 07D9F4 7F048EC4 00000000 */ nop +/* 07D9F8 7F048EC8 4503FFFB */ bc1tl .L7F048EB8 +/* 07D9FC 7F048ECC 46140180 */ add.s $f6, $f0, $f20 +.L7F048ED0: +/* 07DA00 7F048ED0 8E2D0014 */ lw $t5, 0x14($s1) +.L7F048ED4: +/* 07DA04 7F048ED4 25EF0B34 */ addiu $t7, %lo(D_80030B34) # addiu $t7, $t7, 0xb34 +/* 07DA08 7F048ED8 25EB003C */ addiu $t3, $t7, 0x3c +/* 07DA0C 7F048EDC 8DB80020 */ lw $t8, 0x20($t5) +/* 07DA10 7F048EE0 02004825 */ move $t1, $s0 +/* 07DA14 7F048EE4 13000015 */ beqz $t8, .L7F048F3C +/* 07DA18 7F048EE8 00000000 */ nop +.L7F048EEC: +/* 07DA1C 7F048EEC 8DE10000 */ lw $at, ($t7) +/* 07DA20 7F048EF0 25EF000C */ addiu $t7, $t7, 0xc +/* 07DA24 7F048EF4 2529000C */ addiu $t1, $t1, 0xc +/* 07DA28 7F048EF8 AD21FFF4 */ sw $at, -0xc($t1) +/* 07DA2C 7F048EFC 8DE1FFF8 */ lw $at, -8($t7) +/* 07DA30 7F048F00 AD21FFF8 */ sw $at, -8($t1) +/* 07DA34 7F048F04 8DE1FFFC */ lw $at, -4($t7) +/* 07DA38 7F048F08 15EBFFF8 */ bne $t7, $t3, .L7F048EEC +/* 07DA3C 7F048F0C AD21FFFC */ sw $at, -4($t1) +/* 07DA40 7F048F10 8DE10000 */ lw $at, ($t7) +/* 07DA44 7F048F14 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 07DA48 7F048F18 AD210000 */ sw $at, ($t1) +/* 07DA4C 7F048F1C AFA201B0 */ sw $v0, 0x1b0($sp) +/* 07DA50 7F048F20 AFB201C0 */ sw $s2, 0x1c0($sp) +/* 07DA54 7F048F24 8E250014 */ lw $a1, 0x14($s1) +/* 07DA58 7F048F28 0FC1BCBE */ jal subcalcmatrices +/* 07DA5C 7F048F2C 02002025 */ move $a0, $s0 +/* 07DA60 7F048F30 26590040 */ addiu $t9, $s2, 0x40 +/* 07DA64 7F048F34 10000003 */ b .L7F048F44 +/* 07DA68 7F048F38 AFB9006C */ sw $t9, 0x6c($sp) +.L7F048F3C: +/* 07DA6C 7F048F3C 0FC16008 */ jal sub_GAME_7F058020 +/* 07DA70 7F048F40 AFA5006C */ sw $a1, 0x6c($sp) +.L7F048F44: +/* 07DA74 7F048F44 8E2C0008 */ lw $t4, 8($s1) +/* 07DA78 7F048F48 27A50200 */ addiu $a1, $sp, 0x200 +/* 07DA7C 7F048F4C 000C5080 */ sll $t2, $t4, 2 +/* 07DA80 7F048F50 05410006 */ bgez $t2, .L7F048F6C +/* 07DA84 7F048F54 00000000 */ nop +/* 07DA88 7F048F58 C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DA8C 7F048F5C 0FC161A2 */ jal sub_GAME_7F058688 +/* 07DA90 7F048F60 27A50200 */ addiu $a1, $sp, 0x200 +/* 07DA94 7F048F64 10000004 */ b .L7F048F78 +/* 07DA98 7F048F68 26450080 */ addiu $a1, $s2, 0x80 +.L7F048F6C: +/* 07DA9C 7F048F6C 0FC1617F */ jal sub_GAME_7F0585FC +/* 07DAA0 7F048F70 C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DAA4 7F048F74 26450080 */ addiu $a1, $s2, 0x80 +.L7F048F78: +/* 07DAA8 7F048F78 AFA50068 */ sw $a1, 0x68($sp) +/* 07DAAC 7F048F7C 0FC16008 */ jal sub_GAME_7F058020 +/* 07DAB0 7F048F80 27A40200 */ addiu $a0, $sp, 0x200 +/* 07DAB4 7F048F84 8FA401FC */ lw $a0, 0x1fc($sp) +/* 07DAB8 7F048F88 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DABC 7F048F8C 8FA50068 */ lw $a1, 0x68($sp) +/* 07DAC0 7F048F90 8FA4006C */ lw $a0, 0x6c($sp) +/* 07DAC4 7F048F94 0FC16026 */ jal sub_GAME_7F058098 +/* 07DAC8 7F048F98 8FA50068 */ lw $a1, 0x68($sp) +/* 07DACC 7F048F9C 8E8E0008 */ lw $t6, 8($s4) +/* 07DAD0 7F048FA0 02802025 */ move $a0, $s4 +/* 07DAD4 7F048FA4 00003025 */ move $a2, $zero +/* 07DAD8 7F048FA8 8DC30008 */ lw $v1, 8($t6) +/* 07DADC 7F048FAC 8C65000C */ lw $a1, 0xc($v1) +/* 07DAE0 7F048FB0 50A00013 */ beql $a1, $zero, .L7F049000 +/* 07DAE4 7F048FB4 8C650010 */ lw $a1, 0x10($v1) +/* 07DAE8 7F048FB8 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07DAEC 7F048FBC 8CB20004 */ lw $s2, 4($a1) +/* 07DAF0 7F048FC0 00408025 */ move $s0, $v0 +/* 07DAF4 7F048FC4 C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DAF8 7F048FC8 0FC1615C */ jal sub_GAME_7F058570 +/* 07DAFC 7F048FCC 27A50200 */ addiu $a1, $sp, 0x200 +/* 07DB00 7F048FD0 27A40200 */ addiu $a0, $sp, 0x200 +/* 07DB04 7F048FD4 0FC16008 */ jal sub_GAME_7F058020 +/* 07DB08 7F048FD8 02002825 */ move $a1, $s0 +/* 07DB0C 7F048FDC 02402025 */ move $a0, $s2 +/* 07DB10 7F048FE0 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DB14 7F048FE4 02002825 */ move $a1, $s0 +/* 07DB18 7F048FE8 8FA4006C */ lw $a0, 0x6c($sp) +/* 07DB1C 7F048FEC 0FC16026 */ jal sub_GAME_7F058098 +/* 07DB20 7F048FF0 02002825 */ move $a1, $s0 +/* 07DB24 7F048FF4 8E8D0008 */ lw $t5, 8($s4) +/* 07DB28 7F048FF8 8DA30008 */ lw $v1, 8($t5) +/* 07DB2C 7F048FFC 8C650010 */ lw $a1, 0x10($v1) +.L7F049000: +/* 07DB30 7F049000 02802025 */ move $a0, $s4 +/* 07DB34 7F049004 00003025 */ move $a2, $zero +/* 07DB38 7F049008 50A0006F */ beql $a1, $zero, .L7F0491C8 +/* 07DB3C 7F04900C 8E8F0008 */ lw $t7, 8($s4) +/* 07DB40 7F049010 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07DB44 7F049014 8CB20004 */ lw $s2, 4($a1) +/* 07DB48 7F049018 00408025 */ move $s0, $v0 +/* 07DB4C 7F04901C 02402025 */ move $a0, $s2 +/* 07DB50 7F049020 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07DB54 7F049024 00402825 */ move $a1, $v0 +/* 07DB58 7F049028 8FA4006C */ lw $a0, 0x6c($sp) +/* 07DB5C 7F04902C 0FC16026 */ jal sub_GAME_7F058098 +/* 07DB60 7F049030 02002825 */ move $a1, $s0 +/* 07DB64 7F049034 10000064 */ b .L7F0491C8 +/* 07DB68 7F049038 8E8F0008 */ lw $t7, 8($s4) +.L7F04903C: +/* 07DB6C 7F04903C 16020061 */ bne $s0, $v0, .L7F0491C4 +/* 07DB70 7F049040 26450040 */ addiu $a1, $s2, 0x40 +/* 07DB74 7F049044 8E980008 */ lw $t8, 8($s4) +/* 07DB78 7F049048 8F030008 */ lw $v1, 8($t8) +/* 07DB7C 7F04904C 8C6B000C */ lw $t3, 0xc($v1) +/* 07DB80 7F049050 8C680004 */ lw $t0, 4($v1) +/* 07DB84 7F049054 8D6F0004 */ lw $t7, 4($t3) +/* 07DB88 7F049058 8D100004 */ lw $s0, 4($t0) +/* 07DB8C 7F04905C AFAF0164 */ sw $t7, 0x164($sp) +/* 07DB90 7F049060 8C690010 */ lw $t1, 0x10($v1) +/* 07DB94 7F049064 8D390004 */ lw $t9, 4($t1) +/* 07DB98 7F049068 AFB90160 */ sw $t9, 0x160($sp) +/* 07DB9C 7F04906C 8C6C0008 */ lw $t4, 8($v1) +/* 07DBA0 7F049070 8D8A0004 */ lw $t2, 4($t4) +/* 07DBA4 7F049074 AFAA015C */ sw $t2, 0x15c($sp) +/* 07DBA8 7F049078 8C6E0018 */ lw $t6, 0x18($v1) +/* 07DBAC 7F04907C 8DCD0004 */ lw $t5, 4($t6) +/* 07DBB0 7F049080 AFAD0158 */ sw $t5, 0x158($sp) +/* 07DBB4 7F049084 C62E00C8 */ lwc1 $f14, 0xc8($s1) +/* 07DBB8 7F049088 46007387 */ neg.s $f14, $f14 +/* 07DBBC 7F04908C 4616703C */ c.lt.s $f14, $f22 +/* 07DBC0 7F049090 00000000 */ nop +/* 07DBC4 7F049094 45020003 */ bc1fl .L7F0490A4 +/* 07DBC8 7F049098 C62C00CC */ lwc1 $f12, 0xcc($s1) +/* 07DBCC 7F04909C 46147380 */ add.s $f14, $f14, $f20 +/* 07DBD0 7F0490A0 C62C00CC */ lwc1 $f12, 0xcc($s1) +.L7F0490A4: +/* 07DBD4 7F0490A4 46006307 */ neg.s $f12, $f12 +/* 07DBD8 7F0490A8 4616603C */ c.lt.s $f12, $f22 +/* 07DBDC 7F0490AC 00000000 */ nop +/* 07DBE0 7F0490B0 45020003 */ bc1fl .L7F0490C0 +/* 07DBE4 7F0490B4 AFA5006C */ sw $a1, 0x6c($sp) +/* 07DBE8 7F0490B8 46146300 */ add.s $f12, $f12, $f20 +/* 07DBEC 7F0490BC AFA5006C */ sw $a1, 0x6c($sp) +.L7F0490C0: +/* 07DBF0 7F0490C0 0FC1617F */ jal sub_GAME_7F0585FC +/* 07DBF4 7F0490C4 E7AE0154 */ swc1 $f14, 0x154($sp) +/* 07DBF8 7F0490C8 02002025 */ move $a0, $s0 +/* 07DBFC 7F0490CC 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DC00 7F0490D0 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DC04 7F0490D4 02402025 */ move $a0, $s2 +/* 07DC08 7F0490D8 0FC16026 */ jal sub_GAME_7F058098 +/* 07DC0C 7F0490DC 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DC10 7F0490E0 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07DC14 7F0490E4 C7AC0154 */ lwc1 $f12, 0x154($sp) +/* 07DC18 7F0490E8 0FC1615C */ jal sub_GAME_7F058570 +/* 07DC1C 7F0490EC AFA50074 */ sw $a1, 0x74($sp) +/* 07DC20 7F0490F0 8FA40164 */ lw $a0, 0x164($sp) +/* 07DC24 7F0490F4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DC28 7F0490F8 8FA50074 */ lw $a1, 0x74($sp) +/* 07DC2C 7F0490FC 8FA4006C */ lw $a0, 0x6c($sp) +/* 07DC30 7F049100 0FC16026 */ jal sub_GAME_7F058098 +/* 07DC34 7F049104 8FA50074 */ lw $a1, 0x74($sp) +/* 07DC38 7F049108 3C018005 */ lui $at, %hi(D_80052B70) +/* 07DC3C 7F04910C 26500100 */ addiu $s0, $s2, 0x100 +/* 07DC40 7F049110 02002825 */ move $a1, $s0 +/* 07DC44 7F049114 0FC1617F */ jal sub_GAME_7F0585FC +/* 07DC48 7F049118 C42C2B70 */ lwc1 $f12, %lo(D_80052B70)($at) +/* 07DC4C 7F04911C 8FA40160 */ lw $a0, 0x160($sp) +/* 07DC50 7F049120 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DC54 7F049124 02002825 */ move $a1, $s0 +/* 07DC58 7F049128 8FA40074 */ lw $a0, 0x74($sp) +/* 07DC5C 7F04912C 0FC16026 */ jal sub_GAME_7F058098 +/* 07DC60 7F049130 02002825 */ move $a1, $s0 +/* 07DC64 7F049134 26450080 */ addiu $a1, $s2, 0x80 +/* 07DC68 7F049138 AFA50068 */ sw $a1, 0x68($sp) +/* 07DC6C 7F04913C 0FC16259 */ jal init_something_copy_posdata_to_it +/* 07DC70 7F049140 8FA4015C */ lw $a0, 0x15c($sp) +/* 07DC74 7F049144 8FA4006C */ lw $a0, 0x6c($sp) +/* 07DC78 7F049148 0FC16026 */ jal sub_GAME_7F058098 +/* 07DC7C 7F04914C 8FA50068 */ lw $a1, 0x68($sp) +/* 07DC80 7F049150 0FC1E111 */ jal sub_GAME_7F078444 +/* 07DC84 7F049154 00000000 */ nop +/* 07DC88 7F049158 27B0016C */ addiu $s0, $sp, 0x16c +/* 07DC8C 7F04915C 02003025 */ move $a2, $s0 +/* 07DC90 7F049160 00402025 */ move $a0, $v0 +/* 07DC94 7F049164 0FC16063 */ jal sub_GAME_7F05818C +/* 07DC98 7F049168 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DC9C 7F04916C 8FA40158 */ lw $a0, 0x158($sp) +/* 07DCA0 7F049170 02002825 */ move $a1, $s0 +/* 07DCA4 7F049174 26260084 */ addiu $a2, $s1, 0x84 +/* 07DCA8 7F049178 0FC0FD50 */ jal sub_GAME_7F03F540 +/* 07DCAC 7F04917C 26270080 */ addiu $a3, $s1, 0x80 +/* 07DCB0 7F049180 8E980008 */ lw $t8, 8($s4) +/* 07DCB4 7F049184 8F030008 */ lw $v1, 8($t8) +/* 07DCB8 7F049188 8C65001C */ lw $a1, 0x1c($v1) +/* 07DCBC 7F04918C 50A00008 */ beql $a1, $zero, .L7F0491B0 +/* 07DCC0 7F049190 8C650020 */ lw $a1, 0x20($v1) +/* 07DCC4 7F049194 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07DCC8 7F049198 02802025 */ move $a0, $s4 +/* 07DCCC 7F04919C 8E2800C4 */ lw $t0, 0xc4($s1) +/* 07DCD0 7F0491A0 A4480000 */ sh $t0, ($v0) +/* 07DCD4 7F0491A4 8E8B0008 */ lw $t3, 8($s4) +/* 07DCD8 7F0491A8 8D630008 */ lw $v1, 8($t3) +/* 07DCDC 7F0491AC 8C650020 */ lw $a1, 0x20($v1) +.L7F0491B0: +/* 07DCE0 7F0491B0 50A00005 */ beql $a1, $zero, .L7F0491C8 +/* 07DCE4 7F0491B4 8E8F0008 */ lw $t7, 8($s4) +/* 07DCE8 7F0491B8 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07DCEC 7F0491BC 02802025 */ move $a0, $s4 +/* 07DCF0 7F0491C0 AC400000 */ sw $zero, ($v0) +.L7F0491C4: +/* 07DCF4 7F0491C4 8E8F0008 */ lw $t7, 8($s4) +.L7F0491C8: +/* 07DCF8 7F0491C8 02802025 */ move $a0, $s4 +/* 07DCFC 7F0491CC 0FC1BBA9 */ jal sub_GAME_7F06EEA4 +/* 07DD00 7F0491D0 8DE50000 */ lw $a1, ($t7) +/* 07DD04 7F0491D4 8E89000C */ lw $t1, 0xc($s4) +/* 07DD08 7F0491D8 02602025 */ move $a0, $s3 +/* 07DD0C 7F0491DC C52A0038 */ lwc1 $f10, 0x38($t1) +/* 07DD10 7F0491E0 46005207 */ neg.s $f8, $f10 +/* 07DD14 7F0491E4 0FC10F5C */ jal handle_thrown_explosive_detonation +/* 07DD18 7F0491E8 E6680018 */ swc1 $f8, 0x18($s3) +/* 07DD1C 7F0491EC 8E640020 */ lw $a0, 0x20($s3) +/* 07DD20 7F0491F0 50800018 */ beql $a0, $zero, .L7F049254 +/* 07DD24 7F0491F4 8E230064 */ lw $v1, 0x64($s1) +/* 07DD28 7F0491F8 8C820024 */ lw $v0, 0x24($a0) +.L7F0491FC: +/* 07DD2C 7F0491FC 0FC110B7 */ jal sub_GAME_7F0442DC +/* 07DD30 7F049200 AFA20684 */ sw $v0, 0x684($sp) +/* 07DD34 7F049204 8FA40684 */ lw $a0, 0x684($sp) +/* 07DD38 7F049208 5480FFFC */ bnezl $a0, .L7F0491FC +/* 07DD3C 7F04920C 8C820024 */ lw $v0, 0x24($a0) +/* 07DD40 7F049210 10000010 */ b .L7F049254 +/* 07DD44 7F049214 8E230064 */ lw $v1, 0x64($s1) +.L7F049218: +/* 07DD48 7F049218 92790001 */ lbu $t9, 1($s3) +/* 07DD4C 7F04921C 02602025 */ move $a0, $s3 +/* 07DD50 7F049220 332CFFFD */ andi $t4, $t9, 0xfffd +/* 07DD54 7F049224 0FC10F5C */ jal handle_thrown_explosive_detonation +/* 07DD58 7F049228 A26C0001 */ sb $t4, 1($s3) +/* 07DD5C 7F04922C 8E640020 */ lw $a0, 0x20($s3) +/* 07DD60 7F049230 50800008 */ beql $a0, $zero, .L7F049254 +/* 07DD64 7F049234 8E230064 */ lw $v1, 0x64($s1) +/* 07DD68 7F049238 8C820024 */ lw $v0, 0x24($a0) +.L7F04923C: +/* 07DD6C 7F04923C 0FC11093 */ jal sub_GAME_7F04424C +/* 07DD70 7F049240 AFA20684 */ sw $v0, 0x684($sp) +/* 07DD74 7F049244 8FA40684 */ lw $a0, 0x684($sp) +/* 07DD78 7F049248 5480FFFC */ bnezl $a0, .L7F04923C +/* 07DD7C 7F04924C 8C820024 */ lw $v0, 0x24($a0) +/* 07DD80 7F049250 8E230064 */ lw $v1, 0x64($s1) +.L7F049254: +/* 07DD84 7F049254 2401FEFF */ li $at, -257 +/* 07DD88 7F049258 266D0008 */ addiu $t5, $s3, 8 +/* 07DD8C 7F04925C 306A0100 */ andi $t2, $v1, 0x100 +/* 07DD90 7F049260 1140001F */ beqz $t2, .L7F0492E0 +/* 07DD94 7F049264 00617024 */ and $t6, $v1, $at +/* 07DD98 7F049268 AE2E0064 */ sw $t6, 0x64($s1) +/* 07DD9C 7F04926C 0C002914 */ jal get_random_value +/* 07DDA0 7F049270 AFAD0070 */ sw $t5, 0x70($sp) +/* 07DDA4 7F049274 44822000 */ mtc1 $v0, $f4 +/* 07DDA8 7F049278 02202025 */ move $a0, $s1 +/* 07DDAC 7F04927C 04410005 */ bgez $v0, .L7F049294 +/* 07DDB0 7F049280 468021A0 */ cvt.s.w $f6, $f4 +/* 07DDB4 7F049284 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07DDB8 7F049288 44815000 */ mtc1 $at, $f10 +/* 07DDBC 7F04928C 00000000 */ nop +/* 07DDC0 7F049290 460A3180 */ add.s $f6, $f6, $f10 +.L7F049294: +/* 07DDC4 7F049294 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07DDC8 7F049298 44814000 */ mtc1 $at, $f8 +/* 07DDCC 7F04929C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07DDD0 7F0492A0 44815000 */ mtc1 $at, $f10 +/* 07DDD4 7F0492A4 46083102 */ mul.s $f4, $f6, $f8 +/* 07DDD8 7F0492A8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 07DDDC 7F0492AC 44814000 */ mtc1 $at, $f8 +/* 07DDE0 7F0492B0 8E380064 */ lw $t8, 0x64($s1) +/* 07DDE4 7F0492B4 3C010006 */ lui $at, 6 +/* 07DDE8 7F0492B8 8FA60070 */ lw $a2, 0x70($sp) +/* 07DDEC 7F0492BC 03014024 */ and $t0, $t8, $at +/* 07DDF0 7F0492C0 460A2182 */ mul.s $f6, $f4, $f10 +/* 07DDF4 7F0492C4 00003825 */ move $a3, $zero +/* 07DDF8 7F0492C8 00085C42 */ srl $t3, $t0, 0x11 +/* 07DDFC 7F0492CC AFAB0010 */ sw $t3, 0x10($sp) +/* 07DE00 7F0492D0 46083100 */ add.s $f4, $f6, $f8 +/* 07DE04 7F0492D4 44052000 */ mfc1 $a1, $f4 +/* 07DE08 7F0492D8 0FC13842 */ jal maybe_detonate_object +/* 07DE0C 7F0492DC 00000000 */ nop +.L7F0492E0: +/* 07DE10 7F0492E0 8FAF0678 */ lw $t7, 0x678($sp) +/* 07DE14 7F0492E4 51E0020D */ beql $t7, $zero, .L7F049B1C +/* 07DE18 7F0492E8 8FA90680 */ lw $t1, 0x680($sp) +/* 07DE1C 7F0492EC 92220003 */ lbu $v0, 3($s1) +/* 07DE20 7F0492F0 24010001 */ li $at, 1 +/* 07DE24 7F0492F4 54410006 */ bnel $v0, $at, .L7F049310 +/* 07DE28 7F0492F8 2401000D */ li $at, 13 +/* 07DE2C 7F0492FC 0FC14E8F */ jal sub_GAME_7F053A3C +/* 07DE30 7F049300 8E640004 */ lw $a0, 4($s3) +/* 07DE34 7F049304 10000202 */ b .L7F049B10 +/* 07DE38 7F049308 00000000 */ nop +/* 07DE3C 7F04930C 2401000D */ li $at, 13 +.L7F049310: +/* 07DE40 7F049310 144101FF */ bne $v0, $at, .L7F049B10 +/* 07DE44 7F049314 00000000 */ nop +/* 07DE48 7F049318 0FC2FF01 */ jal get_controls_locked_flag +/* 07DE4C 7F04931C 00000000 */ nop +/* 07DE50 7F049320 144001FB */ bnez $v0, .L7F049B10 +/* 07DE54 7F049324 00000000 */ nop +/* 07DE58 7F049328 8E700004 */ lw $s0, 4($s3) +/* 07DE5C 7F04932C AFA0013C */ sw $zero, 0x13c($sp) +/* 07DE60 7F049330 AFA00138 */ sw $zero, 0x138($sp) +/* 07DE64 7F049334 8E0900D0 */ lw $t1, 0xd0($s0) +/* 07DE68 7F049338 512001E4 */ beql $t1, $zero, .L7F049ACC +/* 07DE6C 7F04933C 8E980008 */ lw $t8, 8($s4) +/* 07DE70 7F049340 8E390008 */ lw $t9, 8($s1) +/* 07DE74 7F049344 001960C0 */ sll $t4, $t9, 3 +/* 07DE78 7F049348 058201E0 */ bltzl $t4, .L7F049ACC +/* 07DE7C 7F04934C 8E980008 */ lw $t8, 8($s4) +/* 07DE80 7F049350 8E0A00AC */ lw $t2, 0xac($s0) +/* 07DE84 7F049354 3C0C8005 */ lui $t4, %hi(global_timer) +/* 07DE88 7F049358 254E0001 */ addiu $t6, $t2, 1 +/* 07DE8C 7F04935C 31CD0001 */ andi $t5, $t6, 1 +/* 07DE90 7F049360 AE0E00AC */ sw $t6, 0xac($s0) +/* 07DE94 7F049364 2DB80001 */ sltiu $t8, $t5, 1 +/* 07DE98 7F049368 AFB8013C */ sw $t8, 0x13c($sp) +/* 07DE9C 7F04936C 8E880008 */ lw $t0, 8($s4) +/* 07DEA0 7F049370 39A90001 */ xori $t1, $t5, 1 +/* 07DEA4 7F049374 2D290001 */ sltiu $t1, $t1, 1 +/* 07DEA8 7F049378 8D0B0008 */ lw $t3, 8($t0) +/* 07DEAC 7F04937C 8D6F0014 */ lw $t7, 0x14($t3) +/* 07DEB0 7F049380 51E00003 */ beql $t7, $zero, .L7F049390 +/* 07DEB4 7F049384 8E1900C0 */ lw $t9, 0xc0($s0) +/* 07DEB8 7F049388 AFA90138 */ sw $t1, 0x138($sp) +/* 07DEBC 7F04938C 8E1900C0 */ lw $t9, 0xc0($s0) +.L7F049390: +/* 07DEC0 7F049390 8D8C837C */ lw $t4, %lo(global_timer)($t4) +/* 07DEC4 7F049394 032C082A */ slt $at, $t9, $t4 +/* 07DEC8 7F049398 50200032 */ beql $at, $zero, .L7F049464 +/* 07DECC 7F04939C 8FAF013C */ lw $t7, 0x13c($sp) +/* 07DED0 7F0493A0 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07DED4 7F0493A4 50800008 */ beql $a0, $zero, .L7F0493C8 +/* 07DED8 7F0493A8 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07DEDC 7F0493AC 0C00237C */ jal sfxGetArg0Unk3F +/* 07DEE0 7F0493B0 00000000 */ nop +/* 07DEE4 7F0493B4 50400004 */ beql $v0, $zero, .L7F0493C8 +/* 07DEE8 7F0493B8 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07DEEC 7F0493BC 0C002408 */ jal sfxDeactivate +/* 07DEF0 7F0493C0 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07DEF4 7F0493C4 8E0400C8 */ lw $a0, 0xc8($s0) +.L7F0493C8: +/* 07DEF8 7F0493C8 50800008 */ beql $a0, $zero, .L7F0493EC +/* 07DEFC 7F0493CC 8E0A00C4 */ lw $t2, 0xc4($s0) +/* 07DF00 7F0493D0 0C00237C */ jal sfxGetArg0Unk3F +/* 07DF04 7F0493D4 00000000 */ nop +/* 07DF08 7F0493D8 50400004 */ beql $v0, $zero, .L7F0493EC +/* 07DF0C 7F0493DC 8E0A00C4 */ lw $t2, 0xc4($s0) +/* 07DF10 7F0493E0 0C002408 */ jal sfxDeactivate +/* 07DF14 7F0493E4 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07DF18 7F0493E8 8E0A00C4 */ lw $t2, 0xc4($s0) +.L7F0493EC: +/* 07DF1C 7F0493EC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07DF20 7F0493F0 240500FD */ li $a1, 253 +/* 07DF24 7F0493F4 1540000A */ bnez $t2, .L7F049420 +/* 07DF28 7F0493F8 260600C4 */ addiu $a2, $s0, 0xc4 +/* 07DF2C 7F0493FC 266E0008 */ addiu $t6, $s3, 8 +/* 07DF30 7F049400 AFAE0070 */ sw $t6, 0x70($sp) +/* 07DF34 7F049404 0C002382 */ jal play_sfx_a1 +/* 07DF38 7F049408 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07DF3C 7F04940C 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07DF40 7F049410 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07DF44 7F049414 8FA50070 */ lw $a1, 0x70($sp) +/* 07DF48 7F049418 1000000D */ b .L7F049450 +/* 07DF4C 7F04941C 00000000 */ nop +.L7F049420: +/* 07DF50 7F049420 8E0D00C8 */ lw $t5, 0xc8($s0) +/* 07DF54 7F049424 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 07DF58 7F049428 240500FD */ li $a1, 253 +/* 07DF5C 7F04942C 15A00008 */ bnez $t5, .L7F049450 +/* 07DF60 7F049430 260600C8 */ addiu $a2, $s0, 0xc8 +/* 07DF64 7F049434 26780008 */ addiu $t8, $s3, 8 +/* 07DF68 7F049438 AFB80070 */ sw $t8, 0x70($sp) +/* 07DF6C 7F04943C 0C002382 */ jal play_sfx_a1 +/* 07DF70 7F049440 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07DF74 7F049444 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07DF78 7F049448 0FC14E84 */ jal sub_GAME_7F053A10 +/* 07DF7C 7F04944C 8FA50070 */ lw $a1, 0x70($sp) +.L7F049450: +/* 07DF80 7F049450 3C088005 */ lui $t0, %hi(global_timer) +/* 07DF84 7F049454 8D08837C */ lw $t0, %lo(global_timer)($t0) +/* 07DF88 7F049458 250B0002 */ addiu $t3, $t0, 2 +/* 07DF8C 7F04945C AE0B00C0 */ sw $t3, 0xc0($s0) +/* 07DF90 7F049460 8FAF013C */ lw $t7, 0x13c($sp) +.L7F049464: +/* 07DF94 7F049464 8FA90138 */ lw $t1, 0x138($sp) +/* 07DF98 7F049468 24190001 */ li $t9, 1 +/* 07DF9C 7F04946C 55E00004 */ bnezl $t7, .L7F049480 +/* 07DFA0 7F049470 AFB9011C */ sw $t9, 0x11c($sp) +/* 07DFA4 7F049474 51200195 */ beql $t1, $zero, .L7F049ACC +/* 07DFA8 7F049478 8E980008 */ lw $t8, 8($s4) +/* 07DFAC 7F04947C AFB9011C */ sw $t9, 0x11c($sp) +.L7F049480: +/* 07DFB0 7F049480 AFA0010C */ sw $zero, 0x10c($sp) +/* 07DFB4 7F049484 8E6C0014 */ lw $t4, 0x14($s3) +/* 07DFB8 7F049488 AFAC0108 */ sw $t4, 0x108($sp) +/* 07DFBC 7F04948C 8E0A00AC */ lw $t2, 0xac($s0) +/* 07DFC0 7F049490 314E0003 */ andi $t6, $t2, 3 +/* 07DFC4 7F049494 2DCD0001 */ sltiu $t5, $t6, 1 +/* 07DFC8 7F049498 0FC225E6 */ jal get_curplayer_positiondata +/* 07DFCC 7F04949C AFAD0104 */ sw $t5, 0x104($sp) +/* 07DFD0 7F0494A0 AFA20100 */ sw $v0, 0x100($sp) +/* 07DFD4 7F0494A4 8E980008 */ lw $t8, 8($s4) +/* 07DFD8 7F0494A8 24040005 */ li $a0, 5 +/* 07DFDC 7F0494AC 8F030008 */ lw $v1, 8($t8) +/* 07DFE0 7F0494B0 8C68001C */ lw $t0, 0x1c($v1) +/* 07DFE4 7F0494B4 51000007 */ beql $t0, $zero, .L7F0494D4 +/* 07DFE8 7F0494B8 92690001 */ lbu $t1, 1($s3) +/* 07DFEC 7F0494BC 8E0B00AC */ lw $t3, 0xac($s0) +/* 07DFF0 7F0494C0 316F0007 */ andi $t7, $t3, 7 +/* 07DFF4 7F0494C4 55E00003 */ bnezl $t7, .L7F0494D4 +/* 07DFF8 7F0494C8 92690001 */ lbu $t1, 1($s3) +/* 07DFFC 7F0494CC 24040007 */ li $a0, 7 +/* 07E000 7F0494D0 92690001 */ lbu $t1, 1($s3) +.L7F0494D4: +/* 07E004 7F0494D4 31390002 */ andi $t9, $t1, 2 +/* 07E008 7F0494D8 1320002D */ beqz $t9, .L7F049590 +/* 07E00C 7F0494DC 00048880 */ sll $s1, $a0, 2 +/* 07E010 7F0494E0 00716021 */ addu $t4, $v1, $s1 +/* 07E014 7F0494E4 8D850000 */ lw $a1, ($t4) +/* 07E018 7F0494E8 02802025 */ move $a0, $s4 +/* 07E01C 7F0494EC 50A00029 */ beql $a1, $zero, .L7F049594 +/* 07E020 7F0494F0 C6640008 */ lwc1 $f4, 8($s3) +/* 07E024 7F0494F4 0FC1B198 */ jal sub_GAME_7F06C660 +/* 07E028 7F0494F8 00003025 */ move $a2, $zero +/* 07E02C 7F0494FC 8E8A0008 */ lw $t2, 8($s4) +/* 07E030 7F049500 00409025 */ move $s2, $v0 +/* 07E034 7F049504 8D4E0008 */ lw $t6, 8($t2) +/* 07E038 7F049508 01D16821 */ addu $t5, $t6, $s1 +/* 07E03C 7F04950C 8DB80000 */ lw $t8, ($t5) +/* 07E040 7F049510 8F030004 */ lw $v1, 4($t8) +/* 07E044 7F049514 C46A0000 */ lwc1 $f10, ($v1) +/* 07E048 7F049518 E7AA012C */ swc1 $f10, 0x12c($sp) +/* 07E04C 7F04951C C4660004 */ lwc1 $f6, 4($v1) +/* 07E050 7F049520 E7A60130 */ swc1 $f6, 0x130($sp) +/* 07E054 7F049524 C4680008 */ lwc1 $f8, 8($v1) +/* 07E058 7F049528 0FC1E111 */ jal sub_GAME_7F078444 +/* 07E05C 7F04952C E7A80134 */ swc1 $f8, 0x134($sp) +/* 07E060 7F049530 27B100B8 */ addiu $s1, $sp, 0xb8 +/* 07E064 7F049534 02203025 */ move $a2, $s1 +/* 07E068 7F049538 00402025 */ move $a0, $v0 +/* 07E06C 7F04953C 0FC16063 */ jal sub_GAME_7F05818C +/* 07E070 7F049540 02402825 */ move $a1, $s2 +/* 07E074 7F049544 02202025 */ move $a0, $s1 +/* 07E078 7F049548 0FC1611D */ jal sub_GAME_7F058474 +/* 07E07C 7F04954C 27A5012C */ addiu $a1, $sp, 0x12c +/* 07E080 7F049550 C7A40134 */ lwc1 $f4, 0x134($sp) +/* 07E084 7F049554 8E650008 */ lw $a1, 8($s3) +/* 07E088 7F049558 8E660010 */ lw $a2, 0x10($s3) +/* 07E08C 7F04955C 27A40108 */ addiu $a0, $sp, 0x108 +/* 07E090 7F049560 8FA7012C */ lw $a3, 0x12c($sp) +/* 07E094 7F049564 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 07E098 7F049568 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07E09C 7F04956C 1440000E */ bnez $v0, .L7F0495A8 +/* 07E0A0 7F049570 00000000 */ nop +/* 07E0A4 7F049574 C66A0008 */ lwc1 $f10, 8($s3) +/* 07E0A8 7F049578 E7AA012C */ swc1 $f10, 0x12c($sp) +/* 07E0AC 7F04957C C666000C */ lwc1 $f6, 0xc($s3) +/* 07E0B0 7F049580 E7A60130 */ swc1 $f6, 0x130($sp) +/* 07E0B4 7F049584 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07E0B8 7F049588 10000007 */ b .L7F0495A8 +/* 07E0BC 7F04958C E7A80134 */ swc1 $f8, 0x134($sp) +.L7F049590: +/* 07E0C0 7F049590 C6640008 */ lwc1 $f4, 8($s3) +.L7F049594: +/* 07E0C4 7F049594 E7A4012C */ swc1 $f4, 0x12c($sp) +/* 07E0C8 7F049598 C66A000C */ lwc1 $f10, 0xc($s3) +/* 07E0CC 7F04959C E7AA0130 */ swc1 $f10, 0x130($sp) +/* 07E0D0 7F0495A0 C6660010 */ lwc1 $f6, 0x10($s3) +/* 07E0D4 7F0495A4 E7A60134 */ swc1 $f6, 0x134($sp) +.L7F0495A8: +/* 07E0D8 7F0495A8 0FC15FA8 */ jal cosf +/* 07E0DC 7F0495AC C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E0E0 7F0495B0 C60C0090 */ lwc1 $f12, 0x90($s0) +/* 07E0E4 7F0495B4 0FC15FAB */ jal sinf +/* 07E0E8 7F0495B8 E7A0007C */ swc1 $f0, 0x7c($sp) +/* 07E0EC 7F0495BC C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 07E0F0 7F0495C0 46020202 */ mul.s $f8, $f0, $f2 +/* 07E0F4 7F0495C4 E7A80120 */ swc1 $f8, 0x120($sp) +/* 07E0F8 7F0495C8 0FC15FAB */ jal sinf +/* 07E0FC 7F0495CC C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E100 7F0495D0 E7A00124 */ swc1 $f0, 0x124($sp) +/* 07E104 7F0495D4 0FC15FA8 */ jal cosf +/* 07E108 7F0495D8 C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E10C 7F0495DC C60C0090 */ lwc1 $f12, 0x90($s0) +/* 07E110 7F0495E0 0FC15FA8 */ jal cosf +/* 07E114 7F0495E4 E7A0007C */ swc1 $f0, 0x7c($sp) +/* 07E118 7F0495E8 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 07E11C 7F0495EC 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07E120 7F0495F0 44816000 */ mtc1 $at, $f12 +/* 07E124 7F0495F4 46020382 */ mul.s $f14, $f0, $f2 +/* 07E128 7F0495F8 C7A40120 */ lwc1 $f4, 0x120($sp) +/* 07E12C 7F0495FC C7A6012C */ lwc1 $f6, 0x12c($sp) +/* 07E130 7F049600 460C2282 */ mul.s $f10, $f4, $f12 +/* 07E134 7F049604 C7A40124 */ lwc1 $f4, 0x124($sp) +/* 07E138 7F049608 E7AE0128 */ swc1 $f14, 0x128($sp) +/* 07E13C 7F04960C 46065200 */ add.s $f8, $f10, $f6 +/* 07E140 7F049610 460C2282 */ mul.s $f10, $f4, $f12 +/* 07E144 7F049614 C7A60130 */ lwc1 $f6, 0x130($sp) +/* 07E148 7F049618 460C7102 */ mul.s $f4, $f14, $f12 +/* 07E14C 7F04961C E7A80110 */ swc1 $f8, 0x110($sp) +/* 07E150 7F049620 46065200 */ add.s $f8, $f10, $f6 +/* 07E154 7F049624 C7AA0134 */ lwc1 $f10, 0x134($sp) +/* 07E158 7F049628 460A2180 */ add.s $f6, $f4, $f10 +/* 07E15C 7F04962C E7A80114 */ swc1 $f8, 0x114($sp) +/* 07E160 7F049630 0FC2C731 */ jal sub_GAME_7F0B1CC4 +/* 07E164 7F049634 E7A60118 */ swc1 $f6, 0x118($sp) +/* 07E168 7F049638 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 07E16C 7F04963C 44810000 */ mtc1 $at, $f0 +/* 07E170 7F049640 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E174 7F049644 44812000 */ mtc1 $at, $f4 +/* 07E178 7F049648 C7A80118 */ lwc1 $f8, 0x118($sp) +/* 07E17C 7F04964C 24080002 */ li $t0, 2 +/* 07E180 7F049650 AFA80014 */ sw $t0, 0x14($sp) +/* 07E184 7F049654 27A40108 */ addiu $a0, $sp, 0x108 +/* 07E188 7F049658 8FA5012C */ lw $a1, 0x12c($sp) +/* 07E18C 7F04965C 8FA60134 */ lw $a2, 0x134($sp) +/* 07E190 7F049660 8FA70110 */ lw $a3, 0x110($sp) +/* 07E194 7F049664 E7B60020 */ swc1 $f22, 0x20($sp) +/* 07E198 7F049668 E7A00018 */ swc1 $f0, 0x18($sp) +/* 07E19C 7F04966C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 07E1A0 7F049670 E7A80010 */ swc1 $f8, 0x10($sp) +/* 07E1A4 7F049674 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 07E1A8 7F049678 E7A40024 */ swc1 $f4, 0x24($sp) +/* 07E1AC 7F04967C 14400017 */ bnez $v0, .L7F0496DC +/* 07E1B0 7F049680 27A60110 */ addiu $a2, $sp, 0x110 +/* 07E1B4 7F049684 27A4012C */ addiu $a0, $sp, 0x12c +/* 07E1B8 7F049688 0FC09893 */ jal sub_GAME_7F02624C +/* 07E1BC 7F04968C 27A50120 */ addiu $a1, $sp, 0x120 +/* 07E1C0 7F049690 3C0141D0 */ li $at, 0x41D00000 # 26.000000 +/* 07E1C4 7F049694 44818000 */ mtc1 $at, $f16 +/* 07E1C8 7F049698 C7A60120 */ lwc1 $f6, 0x120($sp) +/* 07E1CC 7F04969C C7AA0110 */ lwc1 $f10, 0x110($sp) +/* 07E1D0 7F0496A0 C7AE0128 */ lwc1 $f14, 0x128($sp) +/* 07E1D4 7F0496A4 46068202 */ mul.s $f8, $f16, $f6 +/* 07E1D8 7F0496A8 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 07E1DC 7F0496AC 8FAB0108 */ lw $t3, 0x108($sp) +/* 07E1E0 7F0496B0 AFAB010C */ sw $t3, 0x10c($sp) +/* 07E1E4 7F0496B4 46085101 */ sub.s $f4, $f10, $f8 +/* 07E1E8 7F0496B8 C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 07E1EC 7F0496BC 460A8202 */ mul.s $f8, $f16, $f10 +/* 07E1F0 7F0496C0 E7A40110 */ swc1 $f4, 0x110($sp) +/* 07E1F4 7F0496C4 C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 07E1F8 7F0496C8 46083101 */ sub.s $f4, $f6, $f8 +/* 07E1FC 7F0496CC 460E8182 */ mul.s $f6, $f16, $f14 +/* 07E200 7F0496D0 E7A40114 */ swc1 $f4, 0x114($sp) +/* 07E204 7F0496D4 46065201 */ sub.s $f8, $f10, $f6 +/* 07E208 7F0496D8 E7A80118 */ swc1 $f8, 0x118($sp) +.L7F0496DC: +/* 07E20C 7F0496DC 3C0F8005 */ lui $t7, %hi(global_timer) +/* 07E210 7F0496E0 8DEF837C */ lw $t7, %lo(global_timer)($t7) +/* 07E214 7F0496E4 8E0900BC */ lw $t1, 0xbc($s0) +/* 07E218 7F0496E8 27B10110 */ addiu $s1, $sp, 0x110 +/* 07E21C 7F0496EC 8FA50100 */ lw $a1, 0x100($sp) +/* 07E220 7F0496F0 15E90052 */ bne $t7, $t1, .L7F04983C +/* 07E224 7F0496F4 C7AA012C */ lwc1 $f10, 0x12c($sp) +/* 07E228 7F0496F8 C4A40008 */ lwc1 $f4, 8($a1) +/* 07E22C 7F0496FC C4A6000C */ lwc1 $f6, 0xc($a1) +/* 07E230 7F049700 C7A80130 */ lwc1 $f8, 0x130($sp) +/* 07E234 7F049704 460A2001 */ sub.s $f0, $f4, $f10 +/* 07E238 7F049708 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 07E23C 7F04970C E7AA0058 */ swc1 $f10, 0x58($sp) +/* 07E240 7F049710 46083081 */ sub.s $f2, $f6, $f8 +/* 07E244 7F049714 C7A60134 */ lwc1 $f6, 0x134($sp) +/* 07E248 7F049718 46062301 */ sub.s $f12, $f4, $f6 +/* 07E24C 7F04971C 46000102 */ mul.s $f4, $f0, $f0 +/* 07E250 7F049720 00000000 */ nop +/* 07E254 7F049724 46021282 */ mul.s $f10, $f2, $f2 +/* 07E258 7F049728 460A2100 */ add.s $f4, $f4, $f10 +/* 07E25C 7F04972C 460C6282 */ mul.s $f10, $f12, $f12 +/* 07E260 7F049730 460A2500 */ add.s $f20, $f4, $f10 +/* 07E264 7F049734 C7AA0058 */ lwc1 $f10, 0x58($sp) +/* 07E268 7F049738 C7A40110 */ lwc1 $f4, 0x110($sp) +/* 07E26C 7F04973C 460A2001 */ sub.s $f0, $f4, $f10 +/* 07E270 7F049740 C7A40114 */ lwc1 $f4, 0x114($sp) +/* 07E274 7F049744 C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 07E278 7F049748 46082081 */ sub.s $f2, $f4, $f8 +/* 07E27C 7F04974C 46000102 */ mul.s $f4, $f0, $f0 +/* 07E280 7F049750 46065301 */ sub.s $f12, $f10, $f6 +/* 07E284 7F049754 46021202 */ mul.s $f8, $f2, $f2 +/* 07E288 7F049758 46082280 */ add.s $f10, $f4, $f8 +/* 07E28C 7F04975C 460C6182 */ mul.s $f6, $f12, $f12 +/* 07E290 7F049760 46065100 */ add.s $f4, $f10, $f6 +/* 07E294 7F049764 4604A03E */ c.le.s $f20, $f4 +/* 07E298 7F049768 00000000 */ nop +/* 07E29C 7F04976C 45000033 */ bc1f .L7F04983C +/* 07E2A0 7F049770 00000000 */ nop +/* 07E2A4 7F049774 0FC227A9 */ jal check_if_bond_is_invincible +/* 07E2A8 7F049778 00000000 */ nop +/* 07E2AC 7F04977C 54400030 */ bnezl $v0, .L7F049840 +/* 07E2B0 7F049780 8FB9011C */ lw $t9, 0x11c($sp) +/* 07E2B4 7F049784 0C007DF8 */ jal sqrtf +/* 07E2B8 7F049788 4600A306 */ mov.s $f12, $f20 +/* 07E2BC 7F04978C 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 07E2C0 7F049790 44816000 */ mtc1 $at, $f12 +/* 07E2C4 7F049794 3C018005 */ lui $at, %hi(D_80052B74) +/* 07E2C8 7F049798 C4282B74 */ lwc1 $f8, %lo(D_80052B74)($at) +/* 07E2CC 7F04979C 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07E2D0 7F0497A0 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07E2D4 7F0497A4 3C018003 */ lui $at, %hi(D_80030B1C) +/* 07E2D8 7F0497A8 4600603C */ c.lt.s $f12, $f0 +/* 07E2DC 7F0497AC 460A4182 */ mul.s $f6, $f8, $f10 +/* 07E2E0 7F0497B0 C4240B1C */ lwc1 $f4, %lo(D_80030B1C)($at) +/* 07E2E4 7F0497B4 46043082 */ mul.s $f2, $f6, $f4 +/* 07E2E8 7F0497B8 45020005 */ bc1fl .L7F0497D0 +/* 07E2EC 7F0497BC C60A00D4 */ lwc1 $f10, 0xd4($s0) +/* 07E2F0 7F0497C0 46006203 */ div.s $f8, $f12, $f0 +/* 07E2F4 7F0497C4 46081082 */ mul.s $f2, $f2, $f8 +/* 07E2F8 7F0497C8 00000000 */ nop +/* 07E2FC 7F0497CC C60A00D4 */ lwc1 $f10, 0xd4($s0) +.L7F0497D0: +/* 07E300 7F0497D0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E304 7F0497D4 44814000 */ mtc1 $at, $f8 +/* 07E308 7F0497D8 46025180 */ add.s $f6, $f10, $f2 +/* 07E30C 7F0497DC E60600D4 */ swc1 $f6, 0xd4($s0) +/* 07E310 7F0497E0 C60400D4 */ lwc1 $f4, 0xd4($s0) +/* 07E314 7F0497E4 4604403E */ c.le.s $f8, $f4 +/* 07E318 7F0497E8 00000000 */ nop +/* 07E31C 7F0497EC 45020014 */ bc1fl .L7F049840 +/* 07E320 7F0497F0 8FB9011C */ lw $t9, 0x11c($sp) +/* 07E324 7F0497F4 0FC177E1 */ jal sub_GAME_7F05DF84 +/* 07E328 7F0497F8 2404000E */ li $a0, 14 +/* 07E32C 7F0497FC 3C013E00 */ li $at, 0x3E000000 # 0.125000 +/* 07E330 7F049800 44815000 */ mtc1 $at, $f10 +/* 07E334 7F049804 3C018003 */ lui $at, %hi(D_80030B20) +/* 07E338 7F049808 C4240B20 */ lwc1 $f4, %lo(D_80030B20)($at) +/* 07E33C 7F04980C 460A0182 */ mul.s $f6, $f0, $f10 +/* 07E340 7F049810 C60E0090 */ lwc1 $f14, 0x90($s0) +/* 07E344 7F049814 2406FFFF */ li $a2, -1 +/* 07E348 7F049818 24070001 */ li $a3, 1 +/* 07E34C 7F04981C 46043302 */ mul.s $f12, $f6, $f4 +/* 07E350 7F049820 0FC22793 */ jal sub_GAME_7F089E4C +/* 07E354 7F049824 00000000 */ nop +/* 07E358 7F049828 0FC227A9 */ jal check_if_bond_is_invincible +/* 07E35C 7F04982C E61600D4 */ swc1 $f22, 0xd4($s0) +/* 07E360 7F049830 50400003 */ beql $v0, $zero, .L7F049840 +/* 07E364 7F049834 8FB9011C */ lw $t9, 0x11c($sp) +/* 07E368 7F049838 AFA0011C */ sw $zero, 0x11c($sp) +.L7F04983C: +/* 07E36C 7F04983C 8FB9011C */ lw $t9, 0x11c($sp) +.L7F049840: +/* 07E370 7F049840 3C0141D0 */ li $at, 0x41D00000 # 26.000000 +/* 07E374 7F049844 44818000 */ mtc1 $at, $f16 +/* 07E378 7F049848 1320000F */ beqz $t9, .L7F049888 +/* 07E37C 7F04984C 8FA50100 */ lw $a1, 0x100($sp) +/* 07E380 7F049850 8FAC010C */ lw $t4, 0x10c($sp) +/* 07E384 7F049854 02202025 */ move $a0, $s1 +/* 07E388 7F049858 24050001 */ li $a1, 1 +/* 07E38C 7F04985C 51800005 */ beql $t4, $zero, .L7F049874 +/* 07E390 7F049860 2404000E */ li $a0, 14 +/* 07E394 7F049864 44068000 */ mfc1 $a2, $f16 +/* 07E398 7F049868 0FC28F87 */ jal sub_GAME_7F0A3E1C +/* 07E39C 7F04986C 91870003 */ lbu $a3, 3($t4) +/* 07E3A0 7F049870 2404000E */ li $a0, 14 +.L7F049874: +/* 07E3A4 7F049874 02202825 */ move $a1, $s1 +/* 07E3A8 7F049878 0FC191DD */ jal recall_joy2_hits_edit_flag +/* 07E3AC 7F04987C 2406FFFF */ li $a2, -1 +/* 07E3B0 7F049880 1000000B */ b .L7F0498B0 +/* 07E3B4 7F049884 8FAA0104 */ lw $t2, 0x104($sp) +.L7F049888: +/* 07E3B8 7F049888 C4A80008 */ lwc1 $f8, 8($a1) +/* 07E3BC 7F04988C 2404000E */ li $a0, 14 +/* 07E3C0 7F049890 2406FFFF */ li $a2, -1 +/* 07E3C4 7F049894 E7A80110 */ swc1 $f8, 0x110($sp) +/* 07E3C8 7F049898 C4AA000C */ lwc1 $f10, 0xc($a1) +/* 07E3CC 7F04989C E7AA0114 */ swc1 $f10, 0x114($sp) +/* 07E3D0 7F0498A0 C4A60010 */ lwc1 $f6, 0x10($a1) +/* 07E3D4 7F0498A4 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag +/* 07E3D8 7F0498A8 E7A60118 */ swc1 $f6, 0x118($sp) +/* 07E3DC 7F0498AC 8FAA0104 */ lw $t2, 0x104($sp) +.L7F0498B0: +/* 07E3E0 7F0498B0 C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 07E3E4 7F0498B4 51400085 */ beql $t2, $zero, .L7F049ACC +/* 07E3E8 7F0498B8 8E980008 */ lw $t8, 8($s4) +/* 07E3EC 7F0498BC 8E0300CC */ lw $v1, 0xcc($s0) +/* 07E3F0 7F0498C0 E4640004 */ swc1 $f4, 4($v1) +/* 07E3F4 7F0498C4 C7A80130 */ lwc1 $f8, 0x130($sp) +/* 07E3F8 7F0498C8 C4640004 */ lwc1 $f4, 4($v1) +/* 07E3FC 7F0498CC E4680008 */ swc1 $f8, 8($v1) +/* 07E400 7F0498D0 C7AA0134 */ lwc1 $f10, 0x134($sp) +/* 07E404 7F0498D4 E46A000C */ swc1 $f10, 0xc($v1) +/* 07E408 7F0498D8 C7A60110 */ lwc1 $f6, 0x110($sp) +/* 07E40C 7F0498DC 46043201 */ sub.s $f8, $f6, $f4 +/* 07E410 7F0498E0 C4660008 */ lwc1 $f6, 8($v1) +/* 07E414 7F0498E4 E4680010 */ swc1 $f8, 0x10($v1) +/* 07E418 7F0498E8 C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 07E41C 7F0498EC C4620010 */ lwc1 $f2, 0x10($v1) +/* 07E420 7F0498F0 46065101 */ sub.s $f4, $f10, $f6 +/* 07E424 7F0498F4 C46A000C */ lwc1 $f10, 0xc($v1) +/* 07E428 7F0498F8 E4640014 */ swc1 $f4, 0x14($v1) +/* 07E42C 7F0498FC C7A80118 */ lwc1 $f8, 0x118($sp) +/* 07E430 7F049900 46021102 */ mul.s $f4, $f2, $f2 +/* 07E434 7F049904 C46E0014 */ lwc1 $f14, 0x14($v1) +/* 07E438 7F049908 460A4181 */ sub.s $f6, $f8, $f10 +/* 07E43C 7F04990C 460E7202 */ mul.s $f8, $f14, $f14 +/* 07E440 7F049910 E4660018 */ swc1 $f6, 0x18($v1) +/* 07E444 7F049914 C4600018 */ lwc1 $f0, 0x18($v1) +/* 07E448 7F049918 AFA30090 */ sw $v1, 0x90($sp) +/* 07E44C 7F04991C 46000182 */ mul.s $f6, $f0, $f0 +/* 07E450 7F049920 46082280 */ add.s $f10, $f4, $f8 +/* 07E454 7F049924 0C007DF8 */ jal sqrtf +/* 07E458 7F049928 460A3300 */ add.s $f12, $f6, $f10 +/* 07E45C 7F04992C 3C018005 */ lui $at, %hi(D_80052B78) +/* 07E460 7F049930 C42E2B78 */ lwc1 $f14, %lo(D_80052B78)($at) +/* 07E464 7F049934 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E468 7F049938 44812000 */ mtc1 $at, $f4 +/* 07E46C 7F04993C 8FA30090 */ lw $v1, 0x90($sp) +/* 07E470 7F049940 4600703C */ c.lt.s $f14, $f0 +/* 07E474 7F049944 46000306 */ mov.s $f12, $f0 +/* 07E478 7F049948 46002083 */ div.s $f2, $f4, $f0 +/* 07E47C 7F04994C C4680010 */ lwc1 $f8, 0x10($v1) +/* 07E480 7F049950 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 07E484 7F049954 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 07E488 7F049958 44810000 */ mtc1 $at, $f0 +/* 07E48C 7F04995C 46024182 */ mul.s $f6, $f8, $f2 +/* 07E490 7F049960 C4680018 */ lwc1 $f8, 0x18($v1) +/* 07E494 7F049964 46025102 */ mul.s $f4, $f10, $f2 +/* 07E498 7F049968 E4660010 */ swc1 $f6, 0x10($v1) +/* 07E49C 7F04996C 46024182 */ mul.s $f6, $f8, $f2 +/* 07E4A0 7F049970 E4640014 */ swc1 $f4, 0x14($v1) +/* 07E4A4 7F049974 45000002 */ bc1f .L7F049980 +/* 07E4A8 7F049978 E4660018 */ swc1 $f6, 0x18($v1) +/* 07E4AC 7F04997C 46007306 */ mov.s $f12, $f14 +.L7F049980: +/* 07E4B0 7F049980 4600603C */ c.lt.s $f12, $f0 +/* 07E4B4 7F049984 240E000E */ li $t6, 14 +/* 07E4B8 7F049988 A0600000 */ sb $zero, ($v1) +/* 07E4BC 7F04998C A06E0001 */ sb $t6, 1($v1) +/* 07E4C0 7F049990 45000002 */ bc1f .L7F04999C +/* 07E4C4 7F049994 E46C001C */ swc1 $f12, 0x1c($v1) +/* 07E4C8 7F049998 46000306 */ mov.s $f12, $f0 +.L7F04999C: +/* 07E4CC 7F04999C 806D0001 */ lb $t5, 1($v1) +/* 07E4D0 7F0499A0 24010016 */ li $at, 22 +/* 07E4D4 7F0499A4 15A10026 */ bne $t5, $at, .L7F049A40 +/* 07E4D8 7F0499A8 3C018005 */ lui $at, %hi(D_80052B7C) +/* 07E4DC 7F0499AC C4222B7C */ lwc1 $f2, %lo(D_80052B7C)($at) +/* 07E4E0 7F0499B0 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 07E4E4 7F0499B4 44815000 */ mtc1 $at, $f10 +/* 07E4E8 7F0499B8 3C018005 */ lui $at, %hi(D_80052B80) +/* 07E4EC 7F0499BC 460C5102 */ mul.s $f4, $f10, $f12 +/* 07E4F0 7F0499C0 E4640020 */ swc1 $f4, 0x20($v1) +/* 07E4F4 7F0499C4 C4282B80 */ lwc1 $f8, %lo(D_80052B80)($at) +/* 07E4F8 7F0499C8 460C4002 */ mul.s $f0, $f8, $f12 +/* 07E4FC 7F0499CC 4600103C */ c.lt.s $f2, $f0 +/* 07E500 7F0499D0 E4600024 */ swc1 $f0, 0x24($v1) +/* 07E504 7F0499D4 45020003 */ bc1fl .L7F0499E4 +/* 07E508 7F0499D8 AFA30090 */ sw $v1, 0x90($sp) +/* 07E50C 7F0499DC E4620024 */ swc1 $f2, 0x24($v1) +/* 07E510 7F0499E0 AFA30090 */ sw $v1, 0x90($sp) +.L7F0499E4: +/* 07E514 7F0499E4 0C002914 */ jal get_random_value +/* 07E518 7F0499E8 E7AC0094 */ swc1 $f12, 0x94($sp) +/* 07E51C 7F0499EC 44823000 */ mtc1 $v0, $f6 +/* 07E520 7F0499F0 8FA30090 */ lw $v1, 0x90($sp) +/* 07E524 7F0499F4 C7AC0094 */ lwc1 $f12, 0x94($sp) +/* 07E528 7F0499F8 04410005 */ bgez $v0, .L7F049A10 +/* 07E52C 7F0499FC 468032A0 */ cvt.s.w $f10, $f6 +/* 07E530 7F049A00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07E534 7F049A04 44812000 */ mtc1 $at, $f4 +/* 07E538 7F049A08 00000000 */ nop +/* 07E53C 7F049A0C 46045280 */ add.s $f10, $f10, $f4 +.L7F049A10: +/* 07E540 7F049A10 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07E544 7F049A14 44814000 */ mtc1 $at, $f8 +/* 07E548 7F049A18 3C018005 */ lui $at, %hi(D_80052B84) +/* 07E54C 7F049A1C C4242B84 */ lwc1 $f4, %lo(D_80052B84)($at) +/* 07E550 7F049A20 46085182 */ mul.s $f6, $f10, $f8 +/* 07E554 7F049A24 3C018005 */ lui $at, %hi(D_80052B88) +/* 07E558 7F049A28 C4282B88 */ lwc1 $f8, %lo(D_80052B88)($at) +/* 07E55C 7F049A2C 46043282 */ mul.s $f10, $f6, $f4 +/* 07E560 7F049A30 460A4181 */ sub.s $f6, $f8, $f10 +/* 07E564 7F049A34 460C3102 */ mul.s $f4, $f6, $f12 +/* 07E568 7F049A38 10000023 */ b .L7F049AC8 +/* 07E56C 7F049A3C E4640028 */ swc1 $f4, 0x28($v1) +.L7F049A40: +/* 07E570 7F049A40 3C018005 */ lui $at, %hi(D_80052B8C) +/* 07E574 7F049A44 C4282B8C */ lwc1 $f8, %lo(D_80052B8C)($at) +/* 07E578 7F049A48 3C018005 */ lui $at, %hi(D_80052B90) +/* 07E57C 7F049A4C 460C4002 */ mul.s $f0, $f8, $f12 +/* 07E580 7F049A50 E4600020 */ swc1 $f0, 0x20($v1) +/* 07E584 7F049A54 E4600024 */ swc1 $f0, 0x24($v1) +/* 07E588 7F049A58 C42A2B90 */ lwc1 $f10, %lo(D_80052B90)($at) +/* 07E58C 7F049A5C 3C018005 */ lui $at, %hi(D_80052B94) +/* 07E590 7F049A60 4600503C */ c.lt.s $f10, $f0 +/* 07E594 7F049A64 00000000 */ nop +/* 07E598 7F049A68 45000003 */ bc1f .L7F049A78 +/* 07E59C 7F049A6C 00000000 */ nop +/* 07E5A0 7F049A70 C4262B94 */ lwc1 $f6, %lo(D_80052B94)($at) +/* 07E5A4 7F049A74 E4660024 */ swc1 $f6, 0x24($v1) +.L7F049A78: +/* 07E5A8 7F049A78 0C002914 */ jal get_random_value +/* 07E5AC 7F049A7C AFA30090 */ sw $v1, 0x90($sp) +/* 07E5B0 7F049A80 44822000 */ mtc1 $v0, $f4 +/* 07E5B4 7F049A84 8FA30090 */ lw $v1, 0x90($sp) +/* 07E5B8 7F049A88 04410005 */ bgez $v0, .L7F049AA0 +/* 07E5BC 7F049A8C 46802220 */ cvt.s.w $f8, $f4 +/* 07E5C0 7F049A90 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07E5C4 7F049A94 44815000 */ mtc1 $at, $f10 +/* 07E5C8 7F049A98 00000000 */ nop +/* 07E5CC 7F049A9C 460A4200 */ add.s $f8, $f8, $f10 +.L7F049AA0: +/* 07E5D0 7F049AA0 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07E5D4 7F049AA4 44813000 */ mtc1 $at, $f6 +/* 07E5D8 7F049AA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E5DC 7F049AAC 44815000 */ mtc1 $at, $f10 +/* 07E5E0 7F049AB0 46064002 */ mul.s $f0, $f8, $f6 +/* 07E5E4 7F049AB4 C4660020 */ lwc1 $f6, 0x20($v1) +/* 07E5E8 7F049AB8 46000100 */ add.s $f4, $f0, $f0 +/* 07E5EC 7F049ABC 460A2201 */ sub.s $f8, $f4, $f10 +/* 07E5F0 7F049AC0 46064102 */ mul.s $f4, $f8, $f6 +/* 07E5F4 7F049AC4 E4640028 */ swc1 $f4, 0x28($v1) +.L7F049AC8: +/* 07E5F8 7F049AC8 8E980008 */ lw $t8, 8($s4) +.L7F049ACC: +/* 07E5FC 7F049ACC 8F030008 */ lw $v1, 8($t8) +/* 07E600 7F049AD0 8C650014 */ lw $a1, 0x14($v1) +/* 07E604 7F049AD4 50A00008 */ beql $a1, $zero, .L7F049AF8 +/* 07E608 7F049AD8 8C65001C */ lw $a1, 0x1c($v1) +/* 07E60C 7F049ADC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07E610 7F049AE0 02802025 */ move $a0, $s4 +/* 07E614 7F049AE4 8FA8013C */ lw $t0, 0x13c($sp) +/* 07E618 7F049AE8 A4480000 */ sh $t0, ($v0) +/* 07E61C 7F049AEC 8E8B0008 */ lw $t3, 8($s4) +/* 07E620 7F049AF0 8D630008 */ lw $v1, 8($t3) +/* 07E624 7F049AF4 8C65001C */ lw $a1, 0x1c($v1) +.L7F049AF8: +/* 07E628 7F049AF8 10A00005 */ beqz $a1, .L7F049B10 +/* 07E62C 7F049AFC 00000000 */ nop +/* 07E630 7F049B00 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07E634 7F049B04 02802025 */ move $a0, $s4 +/* 07E638 7F049B08 8FAF0138 */ lw $t7, 0x138($sp) +/* 07E63C 7F049B0C A44F0000 */ sh $t7, ($v0) +.L7F049B10: +/* 07E640 7F049B10 0FC11080 */ jal sub_GAME_7F044200 +/* 07E644 7F049B14 02602025 */ move $a0, $s3 +/* 07E648 7F049B18 8FA90680 */ lw $t1, 0x680($sp) +.L7F049B1C: +/* 07E64C 7F049B1C 24010005 */ li $at, 5 +/* 07E650 7F049B20 55210003 */ bnel $t1, $at, .L7F049B30 +/* 07E654 7F049B24 8FA20680 */ lw $v0, 0x680($sp) +/* 07E658 7F049B28 AE600014 */ sw $zero, 0x14($s3) +/* 07E65C 7F049B2C 8FA20680 */ lw $v0, 0x680($sp) +.L7F049B30: +/* 07E660 7F049B30 8FBF0054 */ lw $ra, 0x54($sp) +/* 07E664 7F049B34 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 07E668 7F049B38 D7B60038 */ ldc1 $f22, 0x38($sp) +/* 07E66C 7F049B3C 8FB00040 */ lw $s0, 0x40($sp) +/* 07E670 7F049B40 8FB10044 */ lw $s1, 0x44($sp) +/* 07E674 7F049B44 8FB20048 */ lw $s2, 0x48($sp) +/* 07E678 7F049B48 8FB3004C */ lw $s3, 0x4c($sp) +/* 07E67C 7F049B4C 8FB40050 */ lw $s4, 0x50($sp) +/* 07E680 7F049B50 03E00008 */ jr $ra +/* 07E684 7F049B54 27BD06A8 */ addiu $sp, $sp, 0x6a8 +) +#endif + +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata +glabel rocket_initial_gravity_modifier +.word 0x3e8e38e4 /*0.27777779*/ +glabel D_80052A9C +.word 0x3c360b61 /*0.011111111*/ +glabel D_80052AA0 +.word 0x3d8f5c29 /*0.07*/ +glabel prop_projectile_gravity_modifier +.word 0x3e8e38e4 /*0.27777779*/ +glabel D_80052AA8 +.word 0x400e38e4 /*2.2222223*/ +glabel D_80052AAC +.word 0x46d9038c /*27777.773*/ +glabel D_80052AB0 +.word 0x3f8ccccd /*1.1*/ +glabel D_80052AB4 +.word 0x3f666666 /*0.89999998*/ +glabel D_80052AB8 +.word 0x3f666666 /*0.89999998*/ +glabel D_80052ABC +.word 0x3dcccccd /*0.1*/ +glabel D_80052AC0 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052AC4 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052AC8 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052ACC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AD0 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052AD4 +.word 0x3f490fdb /*0.78539819*/ +glabel D_80052AD8 +.word 0xbf490fdb /*-0.78539819*/ +glabel D_80052ADC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AE0 +.word 0x3a2b92a6 /*0.00065449846*/ +glabel D_80052AE4 +.word 0x3a2b92a6 /*0.00065449846*/ +glabel D_80052AE8 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AEC +.word 0x37433637 /*0.000011635529*/ +glabel D_80052AF0 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052AF4 +.word 0x3a3702d4 /*0.00069813174*/ +glabel D_80052AF8 +.word 0x36c33637 /*0.0000058177643*/ +glabel D_80052AFC +.word 0x39b702d4 /*0.00034906587*/ +glabel D_80052B00 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B04 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B08 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B0C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B10 +.word 0x3f9c61ab /*1.2217306*/ +glabel D_80052B14 +.word 0xbf9c61ab /*-1.2217306*/ +glabel D_80052B18 +.word 0xc0490fdb /*-3.1415927*/ +glabel D_80052B1C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B20 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B24 +.word 0x3f4ccccd /*0.80000001*/ +glabel D_80052B28 +.word 0xc0490fdb /*-3.1415927*/ +glabel D_80052B2C +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B30 +.word 0x3a64c389 /*0.00087266468*/ +glabel D_80052B34 +.word 0x3a64c389 /*0.00087266468*/ +glabel D_80052B38 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052B3C +.word 0x3f1930a7 /*0.59839863*/ +glabel D_80052B40 +.word 0x3c236719 /*0.0099733109*/ +glabel D_80052B44 +.word 0x3f7d70a4 /*0.99000001*/ +glabel D_80052B48 +.word 0x38d1b717 /*0.000099999997*/ +glabel D_80052B4C +.word 0x3964c389 /*0.00021816617*/ +glabel D_80052B50 +.word 0x3bd67750 /*0.0065449849*/ +glabel D_80052B54 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B58 +.word 0x3964c389 /*0.00021816617*/ +glabel D_80052B5C +.word 0xb964c389 /*-0.00021816617*/ +glabel D_80052B60 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B64 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052B68 +.word 0x3e99999a /*0.30000001*/ +glabel D_80052B6C +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052B70 +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052B74 +.word 0x3e23d70a /*0.16*/ +glabel D_80052B78 +.word 0x461c4000 /*10000.0*/ +glabel D_80052B7C +.word 0x453b8000 /*3000.0*/ +glabel D_80052B80 +.word 0x3f19999a /*0.60000002*/ +glabel D_80052B84 +.word 0x3e99999a /*0.30000001*/ +glabel D_80052B88 +.word 0xbdcccccd /*-0.1*/ +glabel D_80052B8C +.word 0x3e4ccccd /*0.2*/ +glabel D_80052B90 +.word 0x453b8000 /*3000.0*/ +glabel D_80052B94 +.word 0x453b8000 /*3000.0*/ +.text +glabel object_interaction +/* 07A218 7F0456A8 27BDF950 */ addiu $sp, $sp, -0x6b0 +/* 07A21C 7F0456AC AFBF0054 */ sw $ra, 0x54($sp) +/* 07A220 7F0456B0 AFB40050 */ sw $s4, 0x50($sp) +/* 07A224 7F0456B4 AFB3004C */ sw $s3, 0x4c($sp) +/* 07A228 7F0456B8 AFB20048 */ sw $s2, 0x48($sp) +/* 07A22C 7F0456BC AFB10044 */ sw $s1, 0x44($sp) +/* 07A230 7F0456C0 AFB00040 */ sw $s0, 0x40($sp) +/* 07A234 7F0456C4 F7B60038 */ sdc1 $f22, 0x38($sp) +/* 07A238 7F0456C8 F7B40030 */ sdc1 $f20, 0x30($sp) +/* 07A23C 7F0456CC 8C910004 */ lw $s1, 4($a0) +/* 07A240 7F0456D0 4480B000 */ mtc1 $zero, $f22 +/* 07A244 7F0456D4 00809825 */ move $s3, $a0 +/* 07A248 7F0456D8 8E340014 */ lw $s4, 0x14($s1) +/* 07A24C 7F0456DC AFA00698 */ sw $zero, 0x698($sp) +/* 07A250 7F0456E0 AFA00688 */ sw $zero, 0x688($sp) +/* 07A254 7F0456E4 0FC26C01 */ jal get_num_players +/* 07A258 7F0456E8 E7B60684 */ swc1 $f22, 0x684($sp) +/* 07A25C 7F0456EC 240F0001 */ li $t7, 1 +/* 07A260 7F0456F0 AFA2067C */ sw $v0, 0x67c($sp) +/* 07A264 7F0456F4 AFAF0678 */ sw $t7, 0x678($sp) +/* 07A268 7F0456F8 8E230064 */ lw $v1, 0x64($s1) +/* 07A26C 7F0456FC 30790004 */ andi $t9, $v1, 4 +/* 07A270 7F045700 13200009 */ beqz $t9, .Ljp7F045728 +/* 07A274 7F045704 30680008 */ andi $t0, $v1, 8 +/* 07A278 7F045708 92260002 */ lbu $a2, 2($s1) +/* 07A27C 7F04570C 02202025 */ move $a0, $s1 +/* 07A280 7F045710 00002825 */ move $a1, $zero +/* 07A284 7F045714 30D80004 */ andi $t8, $a2, 4 +/* 07A288 7F045718 0FC10426 */ jal sub_GAME_7F040D98 +/* 07A28C 7F04571C 03003025 */ move $a2, $t8 +/* 07A290 7F045720 10001204 */ b .Ljp7F049F34 +/* 07A294 7F045724 24020001 */ li $v0, 1 +.Ljp7F045728: +/* 07A298 7F045728 11000005 */ beqz $t0, .Ljp7F045740 +/* 07A29C 7F04572C 306B0080 */ andi $t3, $v1, 0x80 +/* 07A2A0 7F045730 2401FFF7 */ li $at, -9 +/* 07A2A4 7F045734 00614824 */ and $t1, $v1, $at +/* 07A2A8 7F045738 1000000B */ b .Ljp7F045768 +/* 07A2AC 7F04573C AE290064 */ sw $t1, 0x64($s1) +.Ljp7F045740: +/* 07A2B0 7F045740 5160000A */ beql $t3, $zero, .Ljp7F04576C +/* 07A2B4 7F045744 24010001 */ li $at, 1 +/* 07A2B8 7F045748 926C0001 */ lbu $t4, 1($s3) +/* 07A2BC 7F04574C 24020003 */ li $v0, 3 +/* 07A2C0 7F045750 318EFFFD */ andi $t6, $t4, 0xfffd +/* 07A2C4 7F045754 A26E0001 */ sb $t6, 1($s3) +/* 07A2C8 7F045758 8E2A0064 */ lw $t2, 0x64($s1) +/* 07A2CC 7F04575C 354D0008 */ ori $t5, $t2, 8 +/* 07A2D0 7F045760 100011F4 */ b .Ljp7F049F34 +/* 07A2D4 7F045764 AE2D0064 */ sw $t5, 0x64($s1) +.Ljp7F045768: +/* 07A2D8 7F045768 24010001 */ li $at, 1 +.Ljp7F04576C: +/* 07A2DC 7F04576C 14410003 */ bne $v0, $at, .Ljp7F04577C +/* 07A2E0 7F045770 240F0001 */ li $t7, 1 +/* 07A2E4 7F045774 10000019 */ b .Ljp7F0457DC +/* 07A2E8 7F045778 AFAF0680 */ sw $t7, 0x680($sp) +.Ljp7F04577C: +/* 07A2EC 7F04577C 0FC26F3C */ jal get_cur_playernum +/* 07A2F0 7F045780 00000000 */ nop +/* 07A2F4 7F045784 0FC2701E */ jal sub_GAME_7F09B4D8 +/* 07A2F8 7F045788 00402025 */ move $a0, $v0 +/* 07A2FC 7F04578C 2C590001 */ sltiu $t9, $v0, 1 +/* 07A300 7F045790 AFB90680 */ sw $t9, 0x680($sp) +/* 07A304 7F045794 8E380064 */ lw $t8, 0x64($s1) +/* 07A308 7F045798 33080080 */ andi $t0, $t8, 0x80 +/* 07A30C 7F04579C 51000010 */ beql $t0, $zero, .Ljp7F0457E0 +/* 07A310 7F0457A0 8FAA0680 */ lw $t2, 0x680($sp) +/* 07A314 7F0457A4 8E30006C */ lw $s0, 0x6c($s1) +/* 07A318 7F0457A8 8E040088 */ lw $a0, 0x88($s0) +/* 07A31C 7F0457AC 5080000C */ beql $a0, $zero, .Ljp7F0457E0 +/* 07A320 7F0457B0 8FAA0680 */ lw $t2, 0x680($sp) +/* 07A324 7F0457B4 0FC26F3F */ jal sub_GAME_7F09B15C +/* 07A328 7F0457B8 00000000 */ nop +/* 07A32C 7F0457BC 04400007 */ bltz $v0, .Ljp7F0457DC +/* 07A330 7F0457C0 3C098008 */ lui $t1, %hi(pPlayer) # $t1, 0x8008 +/* 07A334 7F0457C4 8D29A120 */ lw $t1, %lo(pPlayer)($t1) +/* 07A338 7F0457C8 8E0C0088 */ lw $t4, 0x88($s0) +/* 07A33C 7F0457CC 8D2B00A8 */ lw $t3, 0xa8($t1) +/* 07A340 7F0457D0 016C7026 */ xor $t6, $t3, $t4 +/* 07A344 7F0457D4 2DCE0001 */ sltiu $t6, $t6, 1 +/* 07A348 7F0457D8 AFAE0680 */ sw $t6, 0x680($sp) +.Ljp7F0457DC: +/* 07A34C 7F0457DC 8FAA0680 */ lw $t2, 0x680($sp) +.Ljp7F0457E0: +/* 07A350 7F0457E0 51400B94 */ beql $t2, $zero, .Ljp7F048634 +/* 07A354 7F0457E4 92220003 */ lbu $v0, 3($s1) +/* 07A358 7F0457E8 8E2D0064 */ lw $t5, 0x64($s1) +/* 07A35C 7F0457EC 31AF0080 */ andi $t7, $t5, 0x80 +/* 07A360 7F0457F0 51E0048B */ beql $t7, $zero, .Ljp7F046A20 +/* 07A364 7F0457F4 8FAB0698 */ lw $t3, 0x698($sp) +/* 07A368 7F0457F8 8E30006C */ lw $s0, 0x6c($s1) +/* 07A36C 7F0457FC 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 +/* 07A370 7F045800 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) +/* 07A374 7F045804 8E1900E0 */ lw $t9, 0xe0($s0) +/* 07A378 7F045808 03384021 */ addu $t0, $t9, $t8 +/* 07A37C 7F04580C 29010961 */ slti $at, $t0, 0x961 +/* 07A380 7F045810 14200004 */ bnez $at, .Ljp7F045824 +/* 07A384 7F045814 AE0800E0 */ sw $t0, 0xe0($s0) +/* 07A388 7F045818 8E2B0064 */ lw $t3, 0x64($s1) +/* 07A38C 7F04581C 356C0004 */ ori $t4, $t3, 4 +/* 07A390 7F045820 AE2C0064 */ sw $t4, 0x64($s1) +.Ljp7F045824: +/* 07A394 7F045824 8E0E0000 */ lw $t6, ($s0) +/* 07A398 7F045828 31CA0100 */ andi $t2, $t6, 0x100 +/* 07A39C 7F04582C 5140002F */ beql $t2, $zero, .Ljp7F0458EC +/* 07A3A0 7F045830 C6260058 */ lwc1 $f6, 0x58($s1) +/* 07A3A4 7F045834 922D0003 */ lbu $t5, 3($s1) +/* 07A3A8 7F045838 24010008 */ li $at, 8 +/* 07A3AC 7F04583C 24120001 */ li $s2, 1 +/* 07A3B0 7F045840 55A10008 */ bnel $t5, $at, .Ljp7F045864 +/* 07A3B4 7F045844 8E040088 */ lw $a0, 0x88($s0) +/* 07A3B8 7F045848 AFB10650 */ sw $s1, 0x650($sp) +/* 07A3BC 7F04584C 822F0080 */ lb $t7, 0x80($s1) +/* 07A3C0 7F045850 24010056 */ li $at, 86 +/* 07A3C4 7F045854 55E10003 */ bnel $t7, $at, .Ljp7F045864 +/* 07A3C8 7F045858 8E040088 */ lw $a0, 0x88($s0) +/* 07A3CC 7F04585C 00009025 */ move $s2, $zero +/* 07A3D0 7F045860 8E040088 */ lw $a0, 0x88($s0) +.Ljp7F045864: +/* 07A3D4 7F045864 50800004 */ beql $a0, $zero, .Ljp7F045878 +/* 07A3D8 7F045868 02202025 */ move $a0, $s1 +/* 07A3DC 7F04586C 0FC0F4D6 */ jal sub_GAME_7F03D058 +/* 07A3E0 7F045870 00002825 */ move $a1, $zero +/* 07A3E4 7F045874 02202025 */ move $a0, $s1 +.Ljp7F045878: +/* 07A3E8 7F045878 260500D4 */ addiu $a1, $s0, 0xd4 +/* 07A3EC 7F04587C 27A60654 */ addiu $a2, $sp, 0x654 +/* 07A3F0 7F045880 27A70660 */ addiu $a3, $sp, 0x660 +/* 07A3F4 7F045884 AFA00010 */ sw $zero, 0x10($sp) +/* 07A3F8 7F045888 0FC10C6D */ jal sub_GAME_7F042EB4 +/* 07A3FC 7F04588C AFB20014 */ sw $s2, 0x14($sp) +/* 07A400 7F045890 AFA2066C */ sw $v0, 0x66c($sp) +/* 07A404 7F045894 8E040088 */ lw $a0, 0x88($s0) +/* 07A408 7F045898 50800004 */ beql $a0, $zero, .Ljp7F0458AC +/* 07A40C 7F04589C 8FB9066C */ lw $t9, 0x66c($sp) +/* 07A410 7F0458A0 0FC0F4D6 */ jal sub_GAME_7F03D058 +/* 07A414 7F0458A4 24050001 */ li $a1, 1 +/* 07A418 7F0458A8 8FB9066C */ lw $t9, 0x66c($sp) +.Ljp7F0458AC: +/* 07A41C 7F0458AC 24010001 */ li $at, 1 +/* 07A420 7F0458B0 8FA20650 */ lw $v0, 0x650($sp) +/* 07A424 7F0458B4 53210009 */ beql $t9, $at, .Ljp7F0458DC +/* 07A428 7F0458B8 8E080000 */ lw $t0, ($s0) +/* 07A42C 7F0458BC 50400007 */ beql $v0, $zero, .Ljp7F0458DC +/* 07A430 7F0458C0 8E080000 */ lw $t0, ($s0) +/* 07A434 7F0458C4 80580080 */ lb $t8, 0x80($v0) +/* 07A438 7F0458C8 24010056 */ li $at, 86 +/* 07A43C 7F0458CC 57010003 */ bnel $t8, $at, .Ljp7F0458DC +/* 07A440 7F0458D0 8E080000 */ lw $t0, ($s0) +/* 07A444 7F0458D4 A4400082 */ sh $zero, 0x82($v0) +/* 07A448 7F0458D8 8E080000 */ lw $t0, ($s0) +.Ljp7F0458DC: +/* 07A44C 7F0458DC 2401FEFF */ li $at, -257 +/* 07A450 7F0458E0 01014824 */ and $t1, $t0, $at +/* 07A454 7F0458E4 AE090000 */ sw $t1, ($s0) +/* 07A458 7F0458E8 C6260058 */ lwc1 $f6, 0x58($s1) +.Ljp7F0458EC: +/* 07A45C 7F0458EC 3C0B8005 */ lui $t3, %hi(clock_timer) # $t3, 0x8005 +/* 07A460 7F0458F0 3C013F80 */ lui $at, 0x3f80 +/* 07A464 7F0458F4 E7A6069C */ swc1 $f6, 0x69c($sp) +/* 07A468 7F0458F8 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07A46C 7F0458FC E7AA06A0 */ swc1 $f10, 0x6a0($sp) +/* 07A470 7F045900 C6240060 */ lwc1 $f4, 0x60($s1) +/* 07A474 7F045904 E7A406A4 */ swc1 $f4, 0x6a4($sp) +/* 07A478 7F045908 8E0200BC */ lw $v0, 0xbc($s0) +/* 07A47C 7F04590C 58400005 */ blezl $v0, .Ljp7F045924 +/* 07A480 7F045910 8E2E006C */ lw $t6, 0x6c($s1) +/* 07A484 7F045914 8D6B83A4 */ lw $t3, %lo(clock_timer)($t3) +/* 07A488 7F045918 004B6023 */ subu $t4, $v0, $t3 +/* 07A48C 7F04591C AE0C00BC */ sw $t4, 0xbc($s0) +/* 07A490 7F045920 8E2E006C */ lw $t6, 0x6c($s1) +.Ljp7F045924: +/* 07A494 7F045924 8DCA0000 */ lw $t2, ($t6) +/* 07A498 7F045928 314D0001 */ andi $t5, $t2, 1 +/* 07A49C 7F04592C 51A00351 */ beql $t5, $zero, .Ljp7F046674 +/* 07A4A0 7F045930 C6000060 */ lwc1 $f0, 0x60($s0) +/* 07A4A4 7F045934 0FC100DE */ jal sub_GAME_7F040078 +/* 07A4A8 7F045938 02202025 */ move $a0, $s1 +/* 07A4AC 7F04593C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07A4B0 7F045940 44814000 */ mtc1 $at, $f8 +/* 07A4B4 7F045944 3C078005 */ lui $a3, %hi(clock_timer) # $a3, 0x8005 +/* 07A4B8 7F045948 24E783A4 */ addiu $a3, %lo(clock_timer) # addiu $a3, $a3, -0x7c5c +/* 07A4BC 7F04594C AFA20648 */ sw $v0, 0x648($sp) +/* 07A4C0 7F045950 AFA00618 */ sw $zero, 0x618($sp) +/* 07A4C4 7F045954 AFA00614 */ sw $zero, 0x614($sp) +/* 07A4C8 7F045958 AFA0060C */ sw $zero, 0x60c($sp) +/* 07A4CC 7F04595C E7A80640 */ swc1 $f8, 0x640($sp) +/* 07A4D0 7F045960 8E0F00A8 */ lw $t7, 0xa8($s0) +/* 07A4D4 7F045964 8CF90000 */ lw $t9, ($a3) +/* 07A4D8 7F045968 C634005C */ lwc1 $f20, 0x5c($s1) +/* 07A4DC 7F04596C 00009025 */ move $s2, $zero +/* 07A4E0 7F045970 01F9C021 */ addu $t8, $t7, $t9 +/* 07A4E4 7F045974 AE1800A8 */ sw $t8, 0xa8($s0) +/* 07A4E8 7F045978 C6260018 */ lwc1 $f6, 0x18($s1) +/* 07A4EC 7F04597C 3C018005 */ lui $at, %hi(rocket_initial_gravity_modifier) # $at, 0x8005 +/* 07A4F0 7F045980 E7A60634 */ swc1 $f6, 0x634($sp) +/* 07A4F4 7F045984 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 07A4F8 7F045988 E7AA0638 */ swc1 $f10, 0x638($sp) +/* 07A4FC 7F04598C C6240020 */ lwc1 $f4, 0x20($s1) +/* 07A500 7F045990 E7A4063C */ swc1 $f4, 0x63c($sp) +/* 07A504 7F045994 8E030000 */ lw $v1, ($s0) +/* 07A508 7F045998 30680020 */ andi $t0, $v1, 0x20 +/* 07A50C 7F04599C 1100004B */ beqz $t0, .Ljp7F045ACC +/* 07A510 7F0459A0 00000000 */ nop +/* 07A514 7F0459A4 C4322AC8 */ lwc1 $f18, %lo(rocket_initial_gravity_modifier)($at) +/* 07A518 7F0459A8 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07A51C 7F0459AC 3C028005 */ lui $v0, %hi(global_timer_delta) # $v0, 0x8005 +/* 07A520 7F0459B0 244283B4 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c4c +/* 07A524 7F0459B4 4612003C */ c.lt.s $f0, $f18 +/* 07A528 7F0459B8 00000000 */ nop +/* 07A52C 7F0459BC 4502001C */ bc1fl .Ljp7F045A30 +/* 07A530 7F0459C0 C60000B0 */ lwc1 $f0, 0xb0($s0) +/* 07A534 7F0459C4 C6080014 */ lwc1 $f8, 0x14($s0) +/* 07A538 7F0459C8 C4460000 */ lwc1 $f6, ($v0) +/* 07A53C 7F0459CC C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 07A540 7F0459D0 3C018005 */ lui $at, %hi(D_80052A9C) # $at, 0x8005 +/* 07A544 7F0459D4 46064282 */ mul.s $f10, $f8, $f6 +/* 07A548 7F0459D8 460A2200 */ add.s $f8, $f4, $f10 +/* 07A54C 7F0459DC E60800B4 */ swc1 $f8, 0xb4($s0) +/* 07A550 7F0459E0 C4440000 */ lwc1 $f4, ($v0) +/* 07A554 7F0459E4 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07A558 7F0459E8 C60800B0 */ lwc1 $f8, 0xb0($s0) +/* 07A55C 7F0459EC 46043282 */ mul.s $f10, $f6, $f4 +/* 07A560 7F0459F0 460A4180 */ add.s $f6, $f8, $f10 +/* 07A564 7F0459F4 E60600B0 */ swc1 $f6, 0xb0($s0) +/* 07A568 7F0459F8 C4480000 */ lwc1 $f8, ($v0) +/* 07A56C 7F0459FC C4242ACC */ lwc1 $f4, %lo(D_80052A9C)($at) +/* 07A570 7F045A00 46082282 */ mul.s $f10, $f4, $f8 +/* 07A574 7F045A04 460A0180 */ add.s $f6, $f0, $f10 +/* 07A578 7F045A08 E606001C */ swc1 $f6, 0x1c($s0) +/* 07A57C 7F045A0C C604001C */ lwc1 $f4, 0x1c($s0) +/* 07A580 7F045A10 4604903C */ c.lt.s $f18, $f4 +/* 07A584 7F045A14 00000000 */ nop +/* 07A588 7F045A18 45000002 */ bc1f .Ljp7F045A24 +/* 07A58C 7F045A1C 00000000 */ nop +/* 07A590 7F045A20 E612001C */ swc1 $f18, 0x1c($s0) +.Ljp7F045A24: +/* 07A594 7F045A24 10000029 */ b .Ljp7F045ACC +/* 07A598 7F045A28 8E030000 */ lw $v1, ($s0) +/* 07A59C 7F045A2C C60000B0 */ lwc1 $f0, 0xb0($s0) +.Ljp7F045A30: +/* 07A5A0 7F045A30 C7A806A0 */ lwc1 $f8, 0x6a0($sp) +/* 07A5A4 7F045A34 4600403C */ c.lt.s $f8, $f0 +/* 07A5A8 7F045A38 00000000 */ nop +/* 07A5AC 7F045A3C 45000019 */ bc1f .Ljp7F045AA4 +/* 07A5B0 7F045A40 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07A5B4 7F045A44 C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) +/* 07A5B8 7F045A48 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 07A5BC 7F045A4C C60800B4 */ lwc1 $f8, 0xb4($s0) +/* 07A5C0 7F045A50 46065102 */ mul.s $f4, $f10, $f6 +/* 07A5C4 7F045A54 46044280 */ add.s $f10, $f8, $f4 +/* 07A5C8 7F045A58 E60A00B4 */ swc1 $f10, 0xb4($s0) +/* 07A5CC 7F045A5C C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) +/* 07A5D0 7F045A60 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07A5D4 7F045A64 3C018005 */ lui $at, %hi(D_80052AA0) # $at, 0x8005 +/* 07A5D8 7F045A68 46083102 */ mul.s $f4, $f6, $f8 +/* 07A5DC 7F045A6C 46040280 */ add.s $f10, $f0, $f4 +/* 07A5E0 7F045A70 E60A00B0 */ swc1 $f10, 0xb0($s0) +/* 07A5E4 7F045A74 C7A806A0 */ lwc1 $f8, 0x6a0($sp) +/* 07A5E8 7F045A78 C60600B0 */ lwc1 $f6, 0xb0($s0) +/* 07A5EC 7F045A7C C42A2AD0 */ lwc1 $f10, %lo(D_80052AA0)($at) +/* 07A5F0 7F045A80 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07A5F4 7F045A84 46083101 */ sub.s $f4, $f6, $f8 +/* 07A5F8 7F045A88 46045182 */ mul.s $f6, $f10, $f4 +/* 07A5FC 7F045A8C C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07A600 7F045A90 460A3102 */ mul.s $f4, $f6, $f10 +/* 07A604 7F045A94 46044180 */ add.s $f6, $f8, $f4 +/* 07A608 7F045A98 E7A606A0 */ swc1 $f6, 0x6a0($sp) +/* 07A60C 7F045A9C 1000000B */ b .Ljp7F045ACC +/* 07A610 7F045AA0 8E030000 */ lw $v1, ($s0) +.Ljp7F045AA4: +/* 07A614 7F045AA4 E7A006A0 */ swc1 $f0, 0x6a0($sp) +/* 07A618 7F045AA8 8E090000 */ lw $t1, ($s0) +/* 07A61C 7F045AAC 2401FFDF */ li $at, -33 +/* 07A620 7F045AB0 C60A00B4 */ lwc1 $f10, 0xb4($s0) +/* 07A624 7F045AB4 01215824 */ and $t3, $t1, $at +/* 07A628 7F045AB8 AE0B0000 */ sw $t3, ($s0) +/* 07A62C 7F045ABC 35630010 */ ori $v1, $t3, 0x10 +/* 07A630 7F045AC0 E616001C */ swc1 $f22, 0x1c($s0) +/* 07A634 7F045AC4 AE030000 */ sw $v1, ($s0) +/* 07A638 7F045AC8 E60A0008 */ swc1 $f10, 8($s0) +.Ljp7F045ACC: +/* 07A63C 7F045ACC 3C028005 */ lui $v0, %hi(global_timer_delta) # $v0, 0x8005 +/* 07A640 7F045AD0 244283B4 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c4c +/* 07A644 7F045AD4 3C018005 */ lui $at, %hi(prop_projectile_gravity_modifier) # $at, 0x8005 +/* 07A648 7F045AD8 306A0010 */ andi $t2, $v1, 0x10 +/* 07A64C 7F045ADC C4322AD4 */ lwc1 $f18, %lo(prop_projectile_gravity_modifier)($at) +/* 07A650 7F045AE0 C4420000 */ lwc1 $f2, ($v0) +/* 07A654 7F045AE4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07A658 7F045AE8 15400015 */ bnez $t2, .Ljp7F045B40 +/* 07A65C 7F045AEC C6100014 */ lwc1 $f16, 0x14($s0) +/* 07A660 7F045AF0 46008100 */ add.s $f4, $f16, $f0 +/* 07A664 7F045AF4 C6080008 */ lwc1 $f8, 8($s0) +/* 07A668 7F045AF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07A66C 7F045AFC 46022182 */ mul.s $f6, $f4, $f2 +/* 07A670 7F045B00 46064280 */ add.s $f10, $f8, $f6 +/* 07A674 7F045B04 E60A0008 */ swc1 $f10, 8($s0) +/* 07A678 7F045B08 C4420000 */ lwc1 $f2, ($v0) +/* 07A67C 7F045B0C C60C0008 */ lwc1 $f12, 8($s0) +/* 07A680 7F045B10 44815000 */ mtc1 $at, $f10 +/* 07A684 7F045B14 46029102 */ mul.s $f4, $f18, $f2 +/* 07A688 7F045B18 46046381 */ sub.s $f14, $f12, $f4 +/* 07A68C 7F045B1C 460E6200 */ add.s $f8, $f12, $f14 +/* 07A690 7F045B20 46081182 */ mul.s $f6, $f2, $f8 +/* 07A694 7F045B24 C7A806A0 */ lwc1 $f8, 0x6a0($sp) +/* 07A698 7F045B28 460A3102 */ mul.s $f4, $f6, $f10 +/* 07A69C 7F045B2C 46044180 */ add.s $f6, $f8, $f4 +/* 07A6A0 7F045B30 E7A606A0 */ swc1 $f6, 0x6a0($sp) +/* 07A6A4 7F045B34 E60E0008 */ swc1 $f14, 8($s0) +/* 07A6A8 7F045B38 1000000C */ b .Ljp7F045B6C +/* 07A6AC 7F045B3C C4420000 */ lwc1 $f2, ($v0) +.Ljp7F045B40: +/* 07A6B0 7F045B40 46008200 */ add.s $f8, $f16, $f0 +/* 07A6B4 7F045B44 C60A0008 */ lwc1 $f10, 8($s0) +/* 07A6B8 7F045B48 46024102 */ mul.s $f4, $f8, $f2 +/* 07A6BC 7F045B4C 46045180 */ add.s $f6, $f10, $f4 +/* 07A6C0 7F045B50 E6060008 */ swc1 $f6, 8($s0) +/* 07A6C4 7F045B54 C60A0008 */ lwc1 $f10, 8($s0) +/* 07A6C8 7F045B58 C4420000 */ lwc1 $f2, ($v0) +/* 07A6CC 7F045B5C C7A806A0 */ lwc1 $f8, 0x6a0($sp) +/* 07A6D0 7F045B60 46025102 */ mul.s $f4, $f10, $f2 +/* 07A6D4 7F045B64 46044180 */ add.s $f6, $f8, $f4 +/* 07A6D8 7F045B68 E7A606A0 */ swc1 $f6, 0x6a0($sp) +.Ljp7F045B6C: +/* 07A6DC 7F045B6C C6080010 */ lwc1 $f8, 0x10($s0) +/* 07A6E0 7F045B70 C60A0004 */ lwc1 $f10, 4($s0) +/* 07A6E4 7F045B74 26240018 */ addiu $a0, $s1, 0x18 +/* 07A6E8 7F045B78 46024102 */ mul.s $f4, $f8, $f2 +/* 07A6EC 7F045B7C C6080018 */ lwc1 $f8, 0x18($s0) +/* 07A6F0 7F045B80 26050020 */ addiu $a1, $s0, 0x20 +/* 07A6F4 7F045B84 46045180 */ add.s $f6, $f10, $f4 +/* 07A6F8 7F045B88 E6060004 */ swc1 $f6, 4($s0) +/* 07A6FC 7F045B8C C44A0000 */ lwc1 $f10, ($v0) +/* 07A700 7F045B90 C606000C */ lwc1 $f6, 0xc($s0) +/* 07A704 7F045B94 460A4102 */ mul.s $f4, $f8, $f10 +/* 07A708 7F045B98 46043200 */ add.s $f8, $f6, $f4 +/* 07A70C 7F045B9C C6060004 */ lwc1 $f6, 4($s0) +/* 07A710 7F045BA0 E608000C */ swc1 $f8, 0xc($s0) +/* 07A714 7F045BA4 C4420000 */ lwc1 $f2, ($v0) +/* 07A718 7F045BA8 C7AA069C */ lwc1 $f10, 0x69c($sp) +/* 07A71C 7F045BAC 8CE60000 */ lw $a2, ($a3) +/* 07A720 7F045BB0 46023102 */ mul.s $f4, $f6, $f2 +/* 07A724 7F045BB4 C7A606A4 */ lwc1 $f6, 0x6a4($sp) +/* 07A728 7F045BB8 46045200 */ add.s $f8, $f10, $f4 +/* 07A72C 7F045BBC E7A8069C */ swc1 $f8, 0x69c($sp) +/* 07A730 7F045BC0 C60A000C */ lwc1 $f10, 0xc($s0) +/* 07A734 7F045BC4 AFA50070 */ sw $a1, 0x70($sp) +/* 07A738 7F045BC8 AFA40074 */ sw $a0, 0x74($sp) +/* 07A73C 7F045BCC 46025102 */ mul.s $f4, $f10, $f2 +/* 07A740 7F045BD0 46043200 */ add.s $f8, $f6, $f4 +/* 07A744 7F045BD4 0FC160C6 */ jal sub_GAME_7F057DF8 +/* 07A748 7F045BD8 E7A806A4 */ swc1 $f8, 0x6a4($sp) +/* 07A74C 7F045BDC 922D0003 */ lbu $t5, 3($s1) +/* 07A750 7F045BE0 24010008 */ li $at, 8 +/* 07A754 7F045BE4 55A10013 */ bnel $t5, $at, .Ljp7F045C34 +/* 07A758 7F045BE8 8E040088 */ lw $a0, 0x88($s0) +/* 07A75C 7F045BEC 82220080 */ lb $v0, 0x80($s1) +/* 07A760 7F045BF0 2401001D */ li $at, 29 +/* 07A764 7F045BF4 1041000D */ beq $v0, $at, .Ljp7F045C2C +/* 07A768 7F045BF8 2401001B */ li $at, 27 +/* 07A76C 7F045BFC 1041000B */ beq $v0, $at, .Ljp7F045C2C +/* 07A770 7F045C00 2401001C */ li $at, 28 +/* 07A774 7F045C04 10410009 */ beq $v0, $at, .Ljp7F045C2C +/* 07A778 7F045C08 24010021 */ li $at, 33 +/* 07A77C 7F045C0C 10410007 */ beq $v0, $at, .Ljp7F045C2C +/* 07A780 7F045C10 2401002F */ li $at, 47 +/* 07A784 7F045C14 10410005 */ beq $v0, $at, .Ljp7F045C2C +/* 07A788 7F045C18 24010030 */ li $at, 48 +/* 07A78C 7F045C1C 10410003 */ beq $v0, $at, .Ljp7F045C2C +/* 07A790 7F045C20 24010022 */ li $at, 34 +/* 07A794 7F045C24 54410003 */ bnel $v0, $at, .Ljp7F045C34 +/* 07A798 7F045C28 8E040088 */ lw $a0, 0x88($s0) +.Ljp7F045C2C: +/* 07A79C 7F045C2C 24120001 */ li $s2, 1 +/* 07A7A0 7F045C30 8E040088 */ lw $a0, 0x88($s0) +.Ljp7F045C34: +/* 07A7A4 7F045C34 50800004 */ beql $a0, $zero, .Ljp7F045C48 +/* 07A7A8 7F045C38 02202025 */ move $a0, $s1 +/* 07A7AC 7F045C3C 0FC0F4D6 */ jal sub_GAME_7F03D058 +/* 07A7B0 7F045C40 00002825 */ move $a1, $zero +/* 07A7B4 7F045C44 02202025 */ move $a0, $s1 +.Ljp7F045C48: +/* 07A7B8 7F045C48 27A5069C */ addiu $a1, $sp, 0x69c +/* 07A7BC 7F045C4C 27A6061C */ addiu $a2, $sp, 0x61c +/* 07A7C0 7F045C50 27A70628 */ addiu $a3, $sp, 0x628 +/* 07A7C4 7F045C54 AFB20010 */ sw $s2, 0x10($sp) +/* 07A7C8 7F045C58 0FC10C6D */ jal sub_GAME_7F042EB4 +/* 07A7CC 7F045C5C AFA00014 */ sw $zero, 0x14($sp) +/* 07A7D0 7F045C60 AFA2066C */ sw $v0, 0x66c($sp) +/* 07A7D4 7F045C64 8E040088 */ lw $a0, 0x88($s0) +/* 07A7D8 7F045C68 50800004 */ beql $a0, $zero, .Ljp7F045C7C +/* 07A7DC 7F045C6C 8FB9066C */ lw $t9, 0x66c($sp) +/* 07A7E0 7F045C70 0FC0F4D6 */ jal sub_GAME_7F03D058 +/* 07A7E4 7F045C74 24050001 */ li $a1, 1 +/* 07A7E8 7F045C78 8FB9066C */ lw $t9, 0x66c($sp) +.Ljp7F045C7C: +/* 07A7EC 7F045C7C 240F0001 */ li $t7, 1 +/* 07A7F0 7F045C80 24010002 */ li $at, 2 +/* 07A7F4 7F045C84 17210042 */ bne $t9, $at, .Ljp7F045D90 +/* 07A7F8 7F045C88 AFAF0698 */ sw $t7, 0x698($sp) +/* 07A7FC 7F045C8C 3C038003 */ lui $v1, %hi(D_80030B0C) # $v1, 0x8003 +/* 07A800 7F045C90 8C630B4C */ lw $v1, %lo(D_80030B0C)($v1) +/* 07A804 7F045C94 10600007 */ beqz $v1, .Ljp7F045CB4 +/* 07A808 7F045C98 00000000 */ nop +/* 07A80C 7F045C9C 90620000 */ lbu $v0, ($v1) +/* 07A810 7F045CA0 24010003 */ li $at, 3 +/* 07A814 7F045CA4 1041003A */ beq $v0, $at, .Ljp7F045D90 +/* 07A818 7F045CA8 24010006 */ li $at, 6 +/* 07A81C 7F045CAC 50410039 */ beql $v0, $at, .Ljp7F045D94 +/* 07A820 7F045CB0 8FB9060C */ lw $t9, 0x60c($sp) +.Ljp7F045CB4: +/* 07A824 7F045CB4 10600007 */ beqz $v1, .Ljp7F045CD4 +/* 07A828 7F045CB8 00002025 */ move $a0, $zero +/* 07A82C 7F045CBC 8C620004 */ lw $v0, 4($v1) +/* 07A830 7F045CC0 8C580064 */ lw $t8, 0x64($v0) +/* 07A834 7F045CC4 33080080 */ andi $t0, $t8, 0x80 +/* 07A838 7F045CC8 11000002 */ beqz $t0, .Ljp7F045CD4 +/* 07A83C 7F045CCC 00000000 */ nop +/* 07A840 7F045CD0 24040001 */ li $a0, 1 +.Ljp7F045CD4: +/* 07A844 7F045CD4 5480002F */ bnezl $a0, .Ljp7F045D94 +/* 07A848 7F045CD8 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A84C 7F045CDC 0FC0FF9C */ jal sub_GAME_7F03FB70 +/* 07A850 7F045CE0 02002025 */ move $a0, $s0 +/* 07A854 7F045CE4 8E290064 */ lw $t1, 0x64($s1) +/* 07A858 7F045CE8 2401FF7F */ li $at, -129 +/* 07A85C 7F045CEC AE20006C */ sw $zero, 0x6c($s1) +/* 07A860 7F045CF0 01215824 */ and $t3, $t1, $at +/* 07A864 7F045CF4 AE2B0064 */ sw $t3, 0x64($s1) +/* 07A868 7F045CF8 92620001 */ lbu $v0, 1($s3) +/* 07A86C 7F045CFC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07A870 7F045D00 240500F1 */ li $a1, 241 +/* 07A874 7F045D04 304C0008 */ andi $t4, $v0, 8 +/* 07A878 7F045D08 11800003 */ beqz $t4, .Ljp7F045D18 +/* 07A87C 7F045D0C 00003025 */ move $a2, $zero +/* 07A880 7F045D10 344E0010 */ ori $t6, $v0, 0x10 +/* 07A884 7F045D14 A26E0001 */ sb $t6, 1($s3) +.Ljp7F045D18: +/* 07A888 7F045D18 0C002386 */ jal play_sfx_a1 +/* 07A88C 7F045D1C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07A890 7F045D20 00402025 */ move $a0, $v0 +/* 07A894 7F045D24 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07A898 7F045D28 26650008 */ addiu $a1, $s3, 8 +/* 07A89C 7F045D2C 8E6A0014 */ lw $t2, 0x14($s3) +/* 07A8A0 7F045D30 82240080 */ lb $a0, 0x80($s1) +/* 07A8A4 7F045D34 0FC15F41 */ jal sub_GAME_7F0577E8 +/* 07A8A8 7F045D38 91450003 */ lbu $a1, 3($t2) +/* 07A8AC 7F045D3C 02202025 */ move $a0, $s1 +/* 07A8B0 7F045D40 27A5061C */ addiu $a1, $sp, 0x61c +/* 07A8B4 7F045D44 8E660014 */ lw $a2, 0x14($s3) +/* 07A8B8 7F045D48 0FC10F2E */ jal sub_GAME_7F0439B8 +/* 07A8BC 7F045D4C 27A70628 */ addiu $a3, $sp, 0x628 +/* 07A8C0 7F045D50 3C058003 */ lui $a1, %hi(D_80030B0C) # $a1, 0x8003 +/* 07A8C4 7F045D54 8CA50B4C */ lw $a1, %lo(D_80030B0C)($a1) +/* 07A8C8 7F045D58 02602025 */ move $a0, $s3 +/* 07A8CC 7F045D5C 3C068007 */ lui $a2, %hi(objinst) # $a2, 0x8007 +/* 07A8D0 7F045D60 10A0000B */ beqz $a1, .Ljp7F045D90 +/* 07A8D4 7F045D64 3C078007 */ lui $a3, %hi(dword_CODE_bss_80075B74) # $a3, 0x8007 +/* 07A8D8 7F045D68 8E720014 */ lw $s2, 0x14($s3) +/* 07A8DC 7F045D6C 8CC65BB0 */ lw $a2, %lo(objinst)($a2) +/* 07A8E0 7F045D70 0FC10F5B */ jal sub_GAME_7F043A6C +/* 07A8E4 7F045D74 8CE75BB4 */ lw $a3, %lo(dword_CODE_bss_80075B74)($a3) +/* 07A8E8 7F045D78 10400005 */ beqz $v0, .Ljp7F045D90 +/* 07A8EC 7F045D7C 240D0005 */ li $t5, 5 +/* 07A8F0 7F045D80 AE720014 */ sw $s2, 0x14($s3) +/* 07A8F4 7F045D84 240F0001 */ li $t7, 1 +/* 07A8F8 7F045D88 AFAD0688 */ sw $t5, 0x688($sp) +/* 07A8FC 7F045D8C AFAF060C */ sw $t7, 0x60c($sp) +.Ljp7F045D90: +/* 07A900 7F045D90 8FB9060C */ lw $t9, 0x60c($sp) +.Ljp7F045D94: +/* 07A904 7F045D94 172000EC */ bnez $t9, .Ljp7F046148 +/* 07A908 7F045D98 3C128003 */ lui $s2, %hi(D_80030B0C) # $s2, 0x8003 +/* 07A90C 7F045D9C 8E520B4C */ lw $s2, %lo(D_80030B0C)($s2) +/* 07A910 7F045DA0 524000EA */ beql $s2, $zero, .Ljp7F04614C +/* 07A914 7F045DA4 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A918 7F045DA8 92380003 */ lbu $t8, 3($s1) +/* 07A91C 7F045DAC 24010008 */ li $at, 8 +/* 07A920 7F045DB0 570100E6 */ bnel $t8, $at, .Ljp7F04614C +/* 07A924 7F045DB4 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A928 7F045DB8 82220080 */ lb $v0, 0x80($s1) +/* 07A92C 7F045DBC 24010003 */ li $at, 3 +/* 07A930 7F045DC0 544100C3 */ bnel $v0, $at, .Ljp7F0460D0 +/* 07A934 7F045DC4 24010056 */ li $at, 86 +/* 07A938 7F045DC8 92420000 */ lbu $v0, ($s2) +/* 07A93C 7F045DCC 24010003 */ li $at, 3 +/* 07A940 7F045DD0 1041000D */ beq $v0, $at, .Ljp7F045E08 +/* 07A944 7F045DD4 24010006 */ li $at, 6 +/* 07A948 7F045DD8 544100DC */ bnel $v0, $at, .Ljp7F04614C +/* 07A94C 7F045DDC 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A950 7F045DE0 8E480004 */ lw $t0, 4($s2) +/* 07A954 7F045DE4 510000D9 */ beql $t0, $zero, .Ljp7F04614C +/* 07A958 7F045DE8 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A95C 7F045DEC 0FC26F3F */ jal sub_GAME_7F09B15C +/* 07A960 7F045DF0 02402025 */ move $a0, $s2 +/* 07A964 7F045DF4 0FC26F3C */ jal get_cur_playernum +/* 07A968 7F045DF8 00409025 */ move $s2, $v0 +/* 07A96C 7F045DFC 105200D2 */ beq $v0, $s2, .Ljp7F046148 +/* 07A970 7F045E00 3C128003 */ lui $s2, %hi(D_80030B0C) # $s2, 0x8003 +/* 07A974 7F045E04 8E520B4C */ lw $s2, %lo(D_80030B0C)($s2) +.Ljp7F045E08: +/* 07A978 7F045E08 8E22006C */ lw $v0, 0x6c($s1) +/* 07A97C 7F045E0C 8E440004 */ lw $a0, 4($s2) +/* 07A980 7F045E10 8C490000 */ lw $t1, ($v0) +/* 07A984 7F045E14 312B0001 */ andi $t3, $t1, 1 +/* 07A988 7F045E18 516000CC */ beql $t3, $zero, .Ljp7F04614C +/* 07A98C 7F045E1C 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A990 7F045E20 8C4C0090 */ lw $t4, 0x90($v0) +/* 07A994 7F045E24 5D8000C9 */ bgtzl $t4, .Ljp7F04614C +/* 07A998 7F045E28 8FB9060C */ lw $t9, 0x60c($sp) +/* 07A99C 7F045E2C 8E2E0064 */ lw $t6, 0x64($s1) +/* 07A9A0 7F045E30 3C068007 */ lui $a2, %hi(flt_CODE_bss_80075B78) # $a2, 0x8007 +/* 07A9A4 7F045E34 24C65BB8 */ addiu $a2, %lo(flt_CODE_bss_80075B78) # addiu $a2, $a2, 0x5bb8 +/* 07A9A8 7F045E38 31CA0020 */ andi $t2, $t6, 0x20 +/* 07A9AC 7F045E3C 114000C2 */ beqz $t2, .Ljp7F046148 +/* 07A9B0 7F045E40 3C058003 */ lui $a1, %hi(bodypartshot) # $a1, 0x8003 +/* 07A9B4 7F045E44 82270080 */ lb $a3, 0x80($s1) +/* 07A9B8 7F045E48 240D0001 */ li $t5, 1 +/* 07A9BC 7F045E4C AFAD0010 */ sw $t5, 0x10($sp) +/* 07A9C0 7F045E50 0FC09D61 */ jal handles_shot_actors +/* 07A9C4 7F045E54 8CA50B50 */ lw $a1, %lo(bodypartshot)($a1) +/* 07A9C8 7F045E58 104000BB */ beqz $v0, .Ljp7F046148 +/* 07A9CC 7F045E5C 240F0001 */ li $t7, 1 +/* 07A9D0 7F045E60 AFAF060C */ sw $t7, 0x60c($sp) +/* 07A9D4 7F045E64 C610008C */ lwc1 $f16, 0x8c($s0) +/* 07A9D8 7F045E68 C7AA0628 */ lwc1 $f10, 0x628($sp) +/* 07A9DC 7F045E6C 4610B03C */ c.lt.s $f22, $f16 +/* 07A9E0 7F045E70 00000000 */ nop +/* 07A9E4 7F045E74 4502001D */ bc1fl .Ljp7F045EEC +/* 07A9E8 7F045E78 8E190000 */ lw $t9, ($s0) +/* 07A9EC 7F045E7C C6020004 */ lwc1 $f2, 4($s0) +/* 07A9F0 7F045E80 C60C0008 */ lwc1 $f12, 8($s0) +/* 07A9F4 7F045E84 C7A4062C */ lwc1 $f4, 0x62c($sp) +/* 07A9F8 7F045E88 460A1182 */ mul.s $f6, $f2, $f10 +/* 07A9FC 7F045E8C C600000C */ lwc1 $f0, 0xc($s0) +/* 07AA00 7F045E90 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AA04 7F045E94 46046202 */ mul.s $f8, $f12, $f4 +/* 07AA08 7F045E98 46083100 */ add.s $f4, $f6, $f8 +/* 07AA0C 7F045E9C C7A60630 */ lwc1 $f6, 0x630($sp) +/* 07AA10 7F045EA0 46003202 */ mul.s $f8, $f6, $f0 +/* 07AA14 7F045EA4 44813000 */ mtc1 $at, $f6 +/* 07AA18 7F045EA8 46044380 */ add.s $f14, $f8, $f4 +/* 07AA1C 7F045EAC 46068200 */ add.s $f8, $f16, $f6 +/* 07AA20 7F045EB0 46004107 */ neg.s $f4, $f8 +/* 07AA24 7F045EB4 46047382 */ mul.s $f14, $f14, $f4 +/* 07AA28 7F045EB8 00000000 */ nop +/* 07AA2C 7F045EBC 460A7182 */ mul.s $f6, $f14, $f10 +/* 07AA30 7F045EC0 46061200 */ add.s $f8, $f2, $f6 +/* 07AA34 7F045EC4 E6080004 */ swc1 $f8, 4($s0) +/* 07AA38 7F045EC8 C7A4062C */ lwc1 $f4, 0x62c($sp) +/* 07AA3C 7F045ECC 46047282 */ mul.s $f10, $f14, $f4 +/* 07AA40 7F045ED0 460A6180 */ add.s $f6, $f12, $f10 +/* 07AA44 7F045ED4 E6060008 */ swc1 $f6, 8($s0) +/* 07AA48 7F045ED8 C7A80630 */ lwc1 $f8, 0x630($sp) +/* 07AA4C 7F045EDC 46087102 */ mul.s $f4, $f14, $f8 +/* 07AA50 7F045EE0 46040280 */ add.s $f10, $f0, $f4 +/* 07AA54 7F045EE4 E60A000C */ swc1 $f10, 0xc($s0) +/* 07AA58 7F045EE8 8E190000 */ lw $t9, ($s0) +.Ljp7F045EEC: +/* 07AA5C 7F045EEC 33380200 */ andi $t8, $t9, 0x200 +/* 07AA60 7F045EF0 57000004 */ bnezl $t8, .Ljp7F045F04 +/* 07AA64 7F045EF4 8E080090 */ lw $t0, 0x90($s0) +/* 07AA68 7F045EF8 0FC15FF8 */ jal sub_GAME_7F057AC0 +/* 07AA6C 7F045EFC 8FA40070 */ lw $a0, 0x70($sp) +/* 07AA70 7F045F00 8E080090 */ lw $t0, 0x90($s0) +.Ljp7F045F04: +/* 07AA74 7F045F04 3C058003 */ lui $a1, %hi(D_80030B0C) # $a1, 0x8003 +/* 07AA78 7F045F08 2406FFFF */ li $a2, -1 +/* 07AA7C 7F045F0C 25090001 */ addiu $t1, $t0, 1 +/* 07AA80 7F045F10 AE090090 */ sw $t1, 0x90($s0) +/* 07AA84 7F045F14 8CA50B4C */ lw $a1, %lo(D_80030B0C)($a1) +/* 07AA88 7F045F18 0FC19252 */ jal recall_joy2_hits_edit_detail_edit_flag +/* 07AA8C 7F045F1C 82240080 */ lb $a0, 0x80($s1) +/* 07AA90 7F045F20 3C0B8003 */ lui $t3, %hi(D_80030B0C) # $t3, 0x8003 +/* 07AA94 7F045F24 8D6B0B4C */ lw $t3, %lo(D_80030B0C)($t3) +/* 07AA98 7F045F28 3C028003 */ lui $v0, %hi(bodypartshot) # $v0, 0x8003 +/* 07AA9C 7F045F2C 916C0001 */ lbu $t4, 1($t3) +/* 07AAA0 7F045F30 318E0002 */ andi $t6, $t4, 2 +/* 07AAA4 7F045F34 51C00085 */ beql $t6, $zero, .Ljp7F04614C +/* 07AAA8 7F045F38 8FB9060C */ lw $t9, 0x60c($sp) +/* 07AAAC 7F045F3C 8C420B50 */ lw $v0, %lo(bodypartshot)($v0) +/* 07AAB0 7F045F40 24010064 */ li $at, 100 +/* 07AAB4 7F045F44 10410080 */ beq $v0, $at, .Ljp7F046148 +/* 07AAB8 7F045F48 2401006E */ li $at, 110 +/* 07AABC 7F045F4C 1041007E */ beq $v0, $at, .Ljp7F046148 +/* 07AAC0 7F045F50 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 +/* 07AAC4 7F045F54 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 +/* 07AAC8 7F045F58 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07AACC 7F045F5C 8C845BB0 */ lw $a0, %lo(objinst)($a0) +/* 07AAD0 7F045F60 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07AAD4 7F045F64 00003025 */ move $a2, $zero +/* 07AAD8 7F045F68 C7A6061C */ lwc1 $f6, 0x61c($sp) +/* 07AADC 7F045F6C C7A80620 */ lwc1 $f8, 0x620($sp) +/* 07AAE0 7F045F70 C7A40624 */ lwc1 $f4, 0x624($sp) +/* 07AAE4 7F045F74 00409025 */ move $s2, $v0 +/* 07AAE8 7F045F78 E7A605D4 */ swc1 $f6, 0x5d4($sp) +/* 07AAEC 7F045F7C E7A805D8 */ swc1 $f8, 0x5d8($sp) +/* 07AAF0 7F045F80 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07AAF4 7F045F84 E7A405DC */ swc1 $f4, 0x5dc($sp) +/* 07AAF8 7F045F88 00402025 */ move $a0, $v0 +/* 07AAFC 7F045F8C 0FC16265 */ jal sub_GAME_7F058474 +/* 07AB00 7F045F90 27A505D4 */ addiu $a1, $sp, 0x5d4 +/* 07AB04 7F045F94 C7AA05D4 */ lwc1 $f10, 0x5d4($sp) +/* 07AB08 7F045F98 C6460030 */ lwc1 $f6, 0x30($s2) +/* 07AB0C 7F045F9C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07AB10 7F045FA0 44810000 */ mtc1 $at, $f0 +/* 07AB14 7F045FA4 46065201 */ sub.s $f8, $f10, $f6 +/* 07AB18 7F045FA8 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 +/* 07AB1C 7F045FAC 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 +/* 07AB20 7F045FB0 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07AB24 7F045FB4 46004102 */ mul.s $f4, $f8, $f0 +/* 07AB28 7F045FB8 C7A805D8 */ lwc1 $f8, 0x5d8($sp) +/* 07AB2C 7F045FBC 8C845BB0 */ lw $a0, %lo(objinst)($a0) +/* 07AB30 7F045FC0 46045180 */ add.s $f6, $f10, $f4 +/* 07AB34 7F045FC4 E7A605D4 */ swc1 $f6, 0x5d4($sp) +/* 07AB38 7F045FC8 C64A0034 */ lwc1 $f10, 0x34($s2) +/* 07AB3C 7F045FCC 460A4101 */ sub.s $f4, $f8, $f10 +/* 07AB40 7F045FD0 46002182 */ mul.s $f6, $f4, $f0 +/* 07AB44 7F045FD4 C7A405DC */ lwc1 $f4, 0x5dc($sp) +/* 07AB48 7F045FD8 46064280 */ add.s $f10, $f8, $f6 +/* 07AB4C 7F045FDC E7AA05D8 */ swc1 $f10, 0x5d8($sp) +/* 07AB50 7F045FE0 C6480038 */ lwc1 $f8, 0x38($s2) +/* 07AB54 7F045FE4 46082181 */ sub.s $f6, $f4, $f8 +/* 07AB58 7F045FE8 46003282 */ mul.s $f10, $f6, $f0 +/* 07AB5C 7F045FEC 460A2200 */ add.s $f8, $f4, $f10 +/* 07AB60 7F045FF0 0FC1B520 */ jal getjointsize +/* 07AB64 7F045FF4 E7A805DC */ swc1 $f8, 0x5dc($sp) +/* 07AB68 7F045FF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07AB6C 7F045FFC 44813000 */ mtc1 $at, $f6 +/* 07AB70 7F046000 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B88) # $at, 0x8007 +/* 07AB74 7F046004 C42A5BC8 */ lwc1 $f10, %lo(flt_CODE_bss_80075B88)($at) +/* 07AB78 7F046008 46060102 */ mul.s $f4, $f0, $f6 +/* 07AB7C 7F04600C C7A605D4 */ lwc1 $f6, 0x5d4($sp) +/* 07AB80 7F046010 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 +/* 07AB84 7F046014 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 +/* 07AB88 7F046018 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07AB8C 7F04601C 8C845BB0 */ lw $a0, %lo(objinst)($a0) +/* 07AB90 7F046020 460A2202 */ mul.s $f8, $f4, $f10 +/* 07AB94 7F046024 46083101 */ sub.s $f4, $f6, $f8 +/* 07AB98 7F046028 0FC1B520 */ jal getjointsize +/* 07AB9C 7F04602C E7A405D4 */ swc1 $f4, 0x5d4($sp) +/* 07ABA0 7F046030 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07ABA4 7F046034 44815000 */ mtc1 $at, $f10 +/* 07ABA8 7F046038 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B8C) # $at, 0x8007 +/* 07ABAC 7F04603C C4285BCC */ lwc1 $f8, %lo(flt_CODE_bss_80075B8C)($at) +/* 07ABB0 7F046040 460A0182 */ mul.s $f6, $f0, $f10 +/* 07ABB4 7F046044 C7AA05D8 */ lwc1 $f10, 0x5d8($sp) +/* 07ABB8 7F046048 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 +/* 07ABBC 7F04604C 3C058007 */ lui $a1, %hi(dword_CODE_bss_80075B74) # $a1, 0x8007 +/* 07ABC0 7F046050 8CA55BB4 */ lw $a1, %lo(dword_CODE_bss_80075B74)($a1) +/* 07ABC4 7F046054 8C845BB0 */ lw $a0, %lo(objinst)($a0) +/* 07ABC8 7F046058 46083102 */ mul.s $f4, $f6, $f8 +/* 07ABCC 7F04605C 46045181 */ sub.s $f6, $f10, $f4 +/* 07ABD0 7F046060 0FC1B520 */ jal getjointsize +/* 07ABD4 7F046064 E7A605D8 */ swc1 $f6, 0x5d8($sp) +/* 07ABD8 7F046068 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07ABDC 7F04606C 44814000 */ mtc1 $at, $f8 +/* 07ABE0 7F046070 3C018007 */ lui $at, %hi(flt_CODE_bss_80075B90) # $at, 0x8007 +/* 07ABE4 7F046074 C4245BD0 */ lwc1 $f4, %lo(flt_CODE_bss_80075B90)($at) +/* 07ABE8 7F046078 46080282 */ mul.s $f10, $f0, $f8 +/* 07ABEC 7F04607C C7A805DC */ lwc1 $f8, 0x5dc($sp) +/* 07ABF0 7F046080 02402025 */ move $a0, $s2 +/* 07ABF4 7F046084 27A50594 */ addiu $a1, $sp, 0x594 +/* 07ABF8 7F046088 46045182 */ mul.s $f6, $f10, $f4 +/* 07ABFC 7F04608C 46064281 */ sub.s $f10, $f8, $f6 +/* 07AC00 7F046090 0FC168E1 */ jal sub_GAME_7F059E64 +/* 07AC04 7F046094 E7AA05DC */ swc1 $f10, 0x5dc($sp) +/* 07AC08 7F046098 27A40594 */ addiu $a0, $sp, 0x594 +/* 07AC0C 7F04609C 0FC16265 */ jal sub_GAME_7F058474 +/* 07AC10 7F0460A0 27A505D4 */ addiu $a1, $sp, 0x5d4 +/* 07AC14 7F0460A4 3C048007 */ lui $a0, %hi(objinst) # $a0, 0x8007 +/* 07AC18 7F0460A8 3C058003 */ lui $a1, %hi(bodypartshot) # $a1, 0x8003 +/* 07AC1C 7F0460AC 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075B74) # $a2, 0x8007 +/* 07AC20 7F0460B0 8CC65BB4 */ lw $a2, %lo(dword_CODE_bss_80075B74)($a2) +/* 07AC24 7F0460B4 8CA50B50 */ lw $a1, %lo(bodypartshot)($a1) +/* 07AC28 7F0460B8 8C845BB0 */ lw $a0, %lo(objinst)($a0) +/* 07AC2C 7F0460BC 0FC08931 */ jal sub_GAME_7F0221DC +/* 07AC30 7F0460C0 27A705D4 */ addiu $a3, $sp, 0x5d4 +/* 07AC34 7F0460C4 10000021 */ b .Ljp7F04614C +/* 07AC38 7F0460C8 8FB9060C */ lw $t9, 0x60c($sp) +/* 07AC3C 7F0460CC 24010056 */ li $at, 86 +.Ljp7F0460D0: +/* 07AC40 7F0460D0 5441001E */ bnel $v0, $at, .Ljp7F04614C +/* 07AC44 7F0460D4 8FB9060C */ lw $t9, 0x60c($sp) +/* 07AC48 7F0460D8 92420000 */ lbu $v0, ($s2) +/* 07AC4C 7F0460DC 240A0001 */ li $t2, 1 +/* 07AC50 7F0460E0 24010003 */ li $at, 3 +/* 07AC54 7F0460E4 14410008 */ bne $v0, $at, .Ljp7F046108 +/* 07AC58 7F0460E8 AFAA060C */ sw $t2, 0x60c($sp) +/* 07AC5C 7F0460EC 8E440004 */ lw $a0, 4($s2) +/* 07AC60 7F0460F0 26250058 */ addiu $a1, $s1, 0x58 +/* 07AC64 7F0460F4 3C064000 */ lui $a2, 0x4000 +/* 07AC68 7F0460F8 0FC09EC3 */ jal sub_GAME_7F027804 +/* 07AC6C 7F0460FC 24070001 */ li $a3, 1 +/* 07AC70 7F046100 10000011 */ b .Ljp7F046148 +/* 07AC74 7F046104 A6200082 */ sh $zero, 0x82($s1) +.Ljp7F046108: +/* 07AC78 7F046108 24010001 */ li $at, 1 +/* 07AC7C 7F04610C 10410004 */ beq $v0, $at, .Ljp7F046120 +/* 07AC80 7F046110 3C0542C8 */ lui $a1, 0x42c8 +/* 07AC84 7F046114 24010004 */ li $at, 4 +/* 07AC88 7F046118 5441000B */ bnel $v0, $at, .Ljp7F046148 +/* 07AC8C 7F04611C A6200082 */ sh $zero, 0x82($s1) +.Ljp7F046120: +/* 07AC90 7F046120 8E220064 */ lw $v0, 0x64($s1) +/* 07AC94 7F046124 3C010006 */ lui $at, 6 +/* 07AC98 7F046128 8E440004 */ lw $a0, 4($s2) +/* 07AC9C 7F04612C 00416824 */ and $t5, $v0, $at +/* 07ACA0 7F046130 000D7C42 */ srl $t7, $t5, 0x11 +/* 07ACA4 7F046134 AFAF0010 */ sw $t7, 0x10($sp) +/* 07ACA8 7F046138 26260058 */ addiu $a2, $s1, 0x58 +/* 07ACAC 7F04613C 0FC13943 */ jal maybe_detonate_object +/* 07ACB0 7F046140 24070056 */ li $a3, 86 +/* 07ACB4 7F046144 A6200082 */ sh $zero, 0x82($s1) +.Ljp7F046148: +/* 07ACB8 7F046148 8FB9060C */ lw $t9, 0x60c($sp) +.Ljp7F04614C: +/* 07ACBC 7F04614C 5720010B */ bnezl $t9, .Ljp7F04657C +/* 07ACC0 7F046150 8E2F0064 */ lw $t7, 0x64($s1) +/* 07ACC4 7F046154 8FB8066C */ lw $t8, 0x66c($sp) +/* 07ACC8 7F046158 57000031 */ bnezl $t8, .Ljp7F046220 +/* 07ACCC 7F04615C 8E090000 */ lw $t1, ($s0) +/* 07ACD0 7F046160 C610008C */ lwc1 $f16, 0x8c($s0) +/* 07ACD4 7F046164 C7A40628 */ lwc1 $f4, 0x628($sp) +/* 07ACD8 7F046168 4610B03C */ c.lt.s $f22, $f16 +/* 07ACDC 7F04616C 00000000 */ nop +/* 07ACE0 7F046170 4502002B */ bc1fl .Ljp7F046220 +/* 07ACE4 7F046174 8E090000 */ lw $t1, ($s0) +/* 07ACE8 7F046178 C6020004 */ lwc1 $f2, 4($s0) +/* 07ACEC 7F04617C C60C0008 */ lwc1 $f12, 8($s0) +/* 07ACF0 7F046180 C7A6062C */ lwc1 $f6, 0x62c($sp) +/* 07ACF4 7F046184 46041202 */ mul.s $f8, $f2, $f4 +/* 07ACF8 7F046188 C600000C */ lwc1 $f0, 0xc($s0) +/* 07ACFC 7F04618C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AD00 7F046190 46066282 */ mul.s $f10, $f12, $f6 +/* 07AD04 7F046194 4616603E */ c.le.s $f12, $f22 +/* 07AD08 7F046198 460A4180 */ add.s $f6, $f8, $f10 +/* 07AD0C 7F04619C C7A80630 */ lwc1 $f8, 0x630($sp) +/* 07AD10 7F0461A0 46004282 */ mul.s $f10, $f8, $f0 +/* 07AD14 7F0461A4 44814000 */ mtc1 $at, $f8 +/* 07AD18 7F0461A8 46065380 */ add.s $f14, $f10, $f6 +/* 07AD1C 7F0461AC 46088280 */ add.s $f10, $f16, $f8 +/* 07AD20 7F0461B0 46005187 */ neg.s $f6, $f10 +/* 07AD24 7F0461B4 46067382 */ mul.s $f14, $f14, $f6 +/* 07AD28 7F0461B8 00000000 */ nop +/* 07AD2C 7F0461BC 46047202 */ mul.s $f8, $f14, $f4 +/* 07AD30 7F0461C0 46081280 */ add.s $f10, $f2, $f8 +/* 07AD34 7F0461C4 E60A0004 */ swc1 $f10, 4($s0) +/* 07AD38 7F0461C8 C7A6062C */ lwc1 $f6, 0x62c($sp) +/* 07AD3C 7F0461CC 46067102 */ mul.s $f4, $f14, $f6 +/* 07AD40 7F0461D0 46046200 */ add.s $f8, $f12, $f4 +/* 07AD44 7F0461D4 E6080008 */ swc1 $f8, 8($s0) +/* 07AD48 7F0461D8 C7AA0630 */ lwc1 $f10, 0x630($sp) +/* 07AD4C 7F0461DC 460A7182 */ mul.s $f6, $f14, $f10 +/* 07AD50 7F0461E0 46060100 */ add.s $f4, $f0, $f6 +/* 07AD54 7F0461E4 4500000D */ bc1f .Ljp7F04621C +/* 07AD58 7F0461E8 E604000C */ swc1 $f4, 0xc($s0) +/* 07AD5C 7F0461EC C6080008 */ lwc1 $f8, 8($s0) +/* 07AD60 7F0461F0 24080001 */ li $t0, 1 +/* 07AD64 7F0461F4 4608B03E */ c.le.s $f22, $f8 +/* 07AD68 7F0461F8 00000000 */ nop +/* 07AD6C 7F0461FC 45030007 */ bc1tl .Ljp7F04621C +/* 07AD70 7F046200 AFA80614 */ sw $t0, 0x614($sp) +/* 07AD74 7F046204 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07AD78 7F046208 460AA03E */ c.le.s $f20, $f10 +/* 07AD7C 7F04620C 00000000 */ nop +/* 07AD80 7F046210 45020003 */ bc1fl .Ljp7F046220 +/* 07AD84 7F046214 8E090000 */ lw $t1, ($s0) +/* 07AD88 7F046218 AFA80614 */ sw $t0, 0x614($sp) +.Ljp7F04621C: +/* 07AD8C 7F04621C 8E090000 */ lw $t1, ($s0) +.Ljp7F046220: +/* 07AD90 7F046220 C7B40644 */ lwc1 $f20, 0x644($sp) +/* 07AD94 7F046224 312B0008 */ andi $t3, $t1, 8 +/* 07AD98 7F046228 15600014 */ bnez $t3, .Ljp7F04627C +/* 07AD9C 7F04622C 00000000 */ nop +/* 07ADA0 7F046230 8E640014 */ lw $a0, 0x14($s3) +/* 07ADA4 7F046234 8E650008 */ lw $a1, 8($s3) +/* 07ADA8 7F046238 0FC2CD48 */ jal sub_GAME_7F0B2970 +/* 07ADAC 7F04623C 8E660010 */ lw $a2, 0x10($s3) +/* 07ADB0 7F046240 46000506 */ mov.s $f20, $f0 +/* 07ADB4 7F046244 8FA40648 */ lw $a0, 0x648($sp) +/* 07ADB8 7F046248 0FC0FB2F */ jal sub_GAME_7F03E9BC +/* 07ADBC 7F04624C 8FA50074 */ lw $a1, 0x74($sp) +/* 07ADC0 7F046250 4600A101 */ sub.s $f4, $f20, $f0 +/* 07ADC4 7F046254 E7A00640 */ swc1 $f0, 0x640($sp) +/* 07ADC8 7F046258 C666000C */ lwc1 $f6, 0xc($s3) +/* 07ADCC 7F04625C 00006025 */ move $t4, $zero +/* 07ADD0 7F046260 4604303C */ c.lt.s $f6, $f4 +/* 07ADD4 7F046264 00000000 */ nop +/* 07ADD8 7F046268 45000002 */ bc1f .Ljp7F046274 +/* 07ADDC 7F04626C 00000000 */ nop +/* 07ADE0 7F046270 240C0001 */ li $t4, 1 +.Ljp7F046274: +/* 07ADE4 7F046274 10000001 */ b .Ljp7F04627C +/* 07ADE8 7F046278 AFAC0618 */ sw $t4, 0x618($sp) +.Ljp7F04627C: +/* 07ADEC 7F04627C 8FAE0618 */ lw $t6, 0x618($sp) +/* 07ADF0 7F046280 8FAA066C */ lw $t2, 0x66c($sp) +/* 07ADF4 7F046284 55C00004 */ bnezl $t6, .Ljp7F046298 +/* 07ADF8 7F046288 8E0D0000 */ lw $t5, ($s0) +/* 07ADFC 7F04628C 5540000B */ bnezl $t2, .Ljp7F0462BC +/* 07AE00 7F046290 8FA80618 */ lw $t0, 0x618($sp) +/* 07AE04 7F046294 8E0D0000 */ lw $t5, ($s0) +.Ljp7F046298: +/* 07AE08 7F046298 31AF0200 */ andi $t7, $t5, 0x200 +/* 07AE0C 7F04629C 55E00004 */ bnezl $t7, .Ljp7F0462B0 +/* 07AE10 7F0462A0 8E190090 */ lw $t9, 0x90($s0) +/* 07AE14 7F0462A4 0FC15FF8 */ jal sub_GAME_7F057AC0 +/* 07AE18 7F0462A8 8FA40070 */ lw $a0, 0x70($sp) +/* 07AE1C 7F0462AC 8E190090 */ lw $t9, 0x90($s0) +.Ljp7F0462B0: +/* 07AE20 7F0462B0 27380001 */ addiu $t8, $t9, 1 +/* 07AE24 7F0462B4 AE180090 */ sw $t8, 0x90($s0) +/* 07AE28 7F0462B8 8FA80618 */ lw $t0, 0x618($sp) +.Ljp7F0462BC: +/* 07AE2C 7F0462BC 8FA90614 */ lw $t1, 0x614($sp) +/* 07AE30 7F0462C0 8FAB0618 */ lw $t3, 0x618($sp) +/* 07AE34 7F0462C4 15000003 */ bnez $t0, .Ljp7F0462D4 +/* 07AE38 7F0462C8 00000000 */ nop +/* 07AE3C 7F0462CC 5120003A */ beql $t1, $zero, .Ljp7F0463B8 +/* 07AE40 7F0462D0 92390003 */ lbu $t9, 3($s1) +.Ljp7F0462D4: +/* 07AE44 7F0462D4 11600009 */ beqz $t3, .Ljp7F0462FC +/* 07AE48 7F0462D8 C7A40620 */ lwc1 $f4, 0x620($sp) +/* 07AE4C 7F0462DC C7A80640 */ lwc1 $f8, 0x640($sp) +/* 07AE50 7F0462E0 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07AE54 7F0462E4 44813000 */ mtc1 $at, $f6 +/* 07AE58 7F0462E8 4608A281 */ sub.s $f10, $f20, $f8 +/* 07AE5C 7F0462EC 46065000 */ add.s $f0, $f10, $f6 +/* 07AE60 7F0462F0 E660000C */ swc1 $f0, 0xc($s3) +/* 07AE64 7F0462F4 10000008 */ b .Ljp7F046318 +/* 07AE68 7F0462F8 E620005C */ swc1 $f0, 0x5c($s1) +.Ljp7F0462FC: +/* 07AE6C 7F0462FC C7A80640 */ lwc1 $f8, 0x640($sp) +/* 07AE70 7F046300 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07AE74 7F046304 44813000 */ mtc1 $at, $f6 +/* 07AE78 7F046308 46082281 */ sub.s $f10, $f4, $f8 +/* 07AE7C 7F04630C 46065080 */ add.s $f2, $f10, $f6 +/* 07AE80 7F046310 E662000C */ swc1 $f2, 0xc($s3) +/* 07AE84 7F046314 E622005C */ swc1 $f2, 0x5c($s1) +.Ljp7F046318: +/* 07AE88 7F046318 8E230064 */ lw $v1, 0x64($s1) +/* 07AE8C 7F04631C 02202025 */ move $a0, $s1 +/* 07AE90 7F046320 000363C0 */ sll $t4, $v1, 0xf +/* 07AE94 7F046324 05800002 */ bltz $t4, .Ljp7F046330 +/* 07AE98 7F046328 346E0100 */ ori $t6, $v1, 0x100 +/* 07AE9C 7F04632C AE2E0064 */ sw $t6, 0x64($s1) +.Ljp7F046330: +/* 07AEA0 7F046330 C610008C */ lwc1 $f16, 0x8c($s0) +/* 07AEA4 7F046334 4610B03C */ c.lt.s $f22, $f16 +/* 07AEA8 7F046338 00000000 */ nop +/* 07AEAC 7F04633C 4500001B */ bc1f .Ljp7F0463AC +/* 07AEB0 7F046340 00000000 */ nop +/* 07AEB4 7F046344 C6040008 */ lwc1 $f4, 8($s0) +/* 07AEB8 7F046348 46008207 */ neg.s $f8, $f16 +/* 07AEBC 7F04634C 3C018005 */ lui $at, %hi(D_80052AA8) # $at, 0x8005 +/* 07AEC0 7F046350 46082282 */ mul.s $f10, $f4, $f8 +/* 07AEC4 7F046354 C4202AD8 */ lwc1 $f0, %lo(D_80052AA8)($at) +/* 07AEC8 7F046358 E60A0008 */ swc1 $f10, 8($s0) +/* 07AECC 7F04635C C6060008 */ lwc1 $f6, 8($s0) +/* 07AED0 7F046360 4600303C */ c.lt.s $f6, $f0 +/* 07AED4 7F046364 00000000 */ nop +/* 07AED8 7F046368 45020013 */ bc1fl .Ljp7F0463B8 +/* 07AEDC 7F04636C 92390003 */ lbu $t9, 3($s1) +/* 07AEE0 7F046370 8E0A0000 */ lw $t2, ($s0) +/* 07AEE4 7F046374 02202025 */ move $a0, $s1 +/* 07AEE8 7F046378 314D0002 */ andi $t5, $t2, 2 +/* 07AEEC 7F04637C 11A00007 */ beqz $t5, .Ljp7F04639C +/* 07AEF0 7F046380 00000000 */ nop +/* 07AEF4 7F046384 8E0F0090 */ lw $t7, 0x90($s0) +/* 07AEF8 7F046388 24010001 */ li $at, 1 +/* 07AEFC 7F04638C 15E10003 */ bne $t7, $at, .Ljp7F04639C +/* 07AF00 7F046390 00000000 */ nop +/* 07AF04 7F046394 10000007 */ b .Ljp7F0463B4 +/* 07AF08 7F046398 E6000008 */ swc1 $f0, 8($s0) +.Ljp7F04639C: +/* 07AF0C 7F04639C 0FC10D39 */ jal sub_GAME_7F0431E4 +/* 07AF10 7F0463A0 27A50634 */ addiu $a1, $sp, 0x634 +/* 07AF14 7F0463A4 10000004 */ b .Ljp7F0463B8 +/* 07AF18 7F0463A8 92390003 */ lbu $t9, 3($s1) +.Ljp7F0463AC: +/* 07AF1C 7F0463AC 0FC10D39 */ jal sub_GAME_7F0431E4 +/* 07AF20 7F0463B0 27A50634 */ addiu $a1, $sp, 0x634 +.Ljp7F0463B4: +/* 07AF24 7F0463B4 92390003 */ lbu $t9, 3($s1) +.Ljp7F0463B8: +/* 07AF28 7F0463B8 24010008 */ li $at, 8 +/* 07AF2C 7F0463BC 5721006F */ bnel $t9, $at, .Ljp7F04657C +/* 07AF30 7F0463C0 8E2F0064 */ lw $t7, 0x64($s1) +/* 07AF34 7F0463C4 82220080 */ lb $v0, 0x80($s1) +/* 07AF38 7F0463C8 24010003 */ li $at, 3 +/* 07AF3C 7F0463CC 54410006 */ bnel $v0, $at, .Ljp7F0463E8 +/* 07AF40 7F0463D0 24010056 */ li $at, 86 +/* 07AF44 7F0463D4 0FC10E54 */ jal sub_GAME_7F043650 +/* 07AF48 7F0463D8 02202025 */ move $a0, $s1 +/* 07AF4C 7F0463DC 10000042 */ b .Ljp7F0464E8 +/* 07AF50 7F0463E0 8FAB066C */ lw $t3, 0x66c($sp) +/* 07AF54 7F0463E4 24010056 */ li $at, 86 +.Ljp7F0463E8: +/* 07AF58 7F0463E8 1441002D */ bne $v0, $at, .Ljp7F0464A0 +/* 07AF5C 7F0463EC 8FB8066C */ lw $t8, 0x66c($sp) +/* 07AF60 7F0463F0 13000003 */ beqz $t8, .Ljp7F046400 +/* 07AF64 7F0463F4 8FA80618 */ lw $t0, 0x618($sp) +/* 07AF68 7F0463F8 51000004 */ beql $t0, $zero, .Ljp7F04640C +/* 07AF6C 7F0463FC C6020004 */ lwc1 $f2, 4($s0) +.Ljp7F046400: +/* 07AF70 7F046400 10000038 */ b .Ljp7F0464E4 +/* 07AF74 7F046404 A6200082 */ sh $zero, 0x82($s1) +/* 07AF78 7F046408 C6020004 */ lwc1 $f2, 4($s0) +.Ljp7F04640C: +/* 07AF7C 7F04640C C60C0008 */ lwc1 $f12, 8($s0) +/* 07AF80 7F046410 C600000C */ lwc1 $f0, 0xc($s0) +/* 07AF84 7F046414 46021102 */ mul.s $f4, $f2, $f2 +/* 07AF88 7F046418 3C018005 */ lui $at, %hi(D_80052AAC) +/* 07AF8C 7F04641C 26240058 */ addiu $a0, $s1, 0x58 +/* 07AF90 7F046420 460C6202 */ mul.s $f8, $f12, $f12 +/* 07AF94 7F046424 24060008 */ li $a2, 8 +/* 07AF98 7F046428 46000182 */ mul.s $f6, $f0, $f0 +/* 07AF9C 7F04642C 46082280 */ add.s $f10, $f4, $f8 +/* 07AFA0 7F046430 C4242ADC */ lwc1 $f4, %lo(D_80052AAC)($at) +/* 07AFA4 7F046434 460A3380 */ add.s $f14, $f6, $f10 +/* 07AFA8 7F046438 460E203C */ c.lt.s $f4, $f14 +/* 07AFAC 7F04643C 00000000 */ nop +/* 07AFB0 7F046440 45020005 */ bc1fl .Ljp7F046458 +/* 07AFB4 7F046444 8E0900A8 */ lw $t1, 0xa8($s0) +/* 07AFB8 7F046448 E6160010 */ swc1 $f22, 0x10($s0) +/* 07AFBC 7F04644C E6160014 */ swc1 $f22, 0x14($s0) +/* 07AFC0 7F046450 E6160018 */ swc1 $f22, 0x18($s0) +/* 07AFC4 7F046454 8E0900A8 */ lw $t1, 0xa8($s0) +.Ljp7F046458: +/* 07AFC8 7F046458 2921012D */ slti $at, $t1, 0x12d +/* 07AFCC 7F04645C 54200008 */ bnezl $at, .Ljp7F046480 +/* 07AFD0 7F046460 926E0001 */ lbu $t6, 1($s3) +/* 07AFD4 7F046464 8E0B0000 */ lw $t3, ($s0) +/* 07AFD8 7F046468 2401FFCF */ li $at, -49 +/* 07AFDC 7F04646C E616001C */ swc1 $f22, 0x1c($s0) +/* 07AFE0 7F046470 01616024 */ and $t4, $t3, $at +/* 07AFE4 7F046474 1000001B */ b .Ljp7F0464E4 +/* 07AFE8 7F046478 AE0C0000 */ sw $t4, ($s0) +/* 07AFEC 7F04647C 926E0001 */ lbu $t6, 1($s3) +.Ljp7F046480: +/* 07AFF0 7F046480 8E650014 */ lw $a1, 0x14($s3) +/* 07AFF4 7F046484 2667002C */ addiu $a3, $s3, 0x2c +/* 07AFF8 7F046488 31CA0008 */ andi $t2, $t6, 8 +/* 07AFFC 7F04648C 000A682B */ sltu $t5, $zero, $t2 +/* 07B000 7F046490 0FC27CA9 */ jal sub_GAME_7F09E700 +/* 07B004 7F046494 AFAD0010 */ sw $t5, 0x10($sp) +/* 07B008 7F046498 10000013 */ b .Ljp7F0464E8 +/* 07B00C 7F04649C 8FAB066C */ lw $t3, 0x66c($sp) +.Ljp7F0464A0: +/* 07B010 7F0464A0 24010057 */ li $at, 87 +/* 07B014 7F0464A4 1441000F */ bne $v0, $at, .Ljp7F0464E4 +/* 07B018 7F0464A8 8FAF0618 */ lw $t7, 0x618($sp) +/* 07B01C 7F0464AC 15E00003 */ bnez $t7, .Ljp7F0464BC +/* 07B020 7F0464B0 8FB90614 */ lw $t9, 0x614($sp) +/* 07B024 7F0464B4 13200003 */ beqz $t9, .Ljp7F0464C4 +/* 07B028 7F0464B8 26240058 */ addiu $a0, $s1, 0x58 +.Ljp7F0464BC: +/* 07B02C 7F0464BC 10000009 */ b .Ljp7F0464E4 +/* 07B030 7F0464C0 A6200082 */ sh $zero, 0x82($s1) +.Ljp7F0464C4: +/* 07B034 7F0464C4 92780001 */ lbu $t8, 1($s3) +/* 07B038 7F0464C8 8E650014 */ lw $a1, 0x14($s3) +/* 07B03C 7F0464CC 24060009 */ li $a2, 9 +/* 07B040 7F0464D0 33080008 */ andi $t0, $t8, 8 +/* 07B044 7F0464D4 0008482B */ sltu $t1, $zero, $t0 +/* 07B048 7F0464D8 AFA90010 */ sw $t1, 0x10($sp) +/* 07B04C 7F0464DC 0FC27CA9 */ jal sub_GAME_7F09E700 +/* 07B050 7F0464E0 2667002C */ addiu $a3, $s3, 0x2c +.Ljp7F0464E4: +/* 07B054 7F0464E4 8FAB066C */ lw $t3, 0x66c($sp) +.Ljp7F0464E8: +/* 07B058 7F0464E8 3C128005 */ lui $s2, %hi(D_80048380) # $s2, 0x8005 +/* 07B05C 7F0464EC 265283B0 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c50 +/* 07B060 7F0464F0 11600003 */ beqz $t3, .Ljp7F046500 +/* 07B064 7F0464F4 8FAC0618 */ lw $t4, 0x618($sp) +/* 07B068 7F0464F8 51800020 */ beql $t4, $zero, .Ljp7F04657C +/* 07B06C 7F0464FC 8E2F0064 */ lw $t7, 0x64($s1) +.Ljp7F046500: +/* 07B070 7F046500 8E420000 */ lw $v0, ($s2) +/* 07B074 7F046504 8E0E00AC */ lw $t6, 0xac($s0) +/* 07B078 7F046508 244AFFFE */ addiu $t2, $v0, -2 +/* 07B07C 7F04650C 01CA082A */ slt $at, $t6, $t2 +/* 07B080 7F046510 50200019 */ beql $at, $zero, .Ljp7F046578 +/* 07B084 7F046514 AE0200AC */ sw $v0, 0xac($s0) +/* 07B088 7F046518 82220080 */ lb $v0, 0x80($s1) +/* 07B08C 7F04651C 266D0008 */ addiu $t5, $s3, 8 +/* 07B090 7F046520 24010003 */ li $at, 3 +/* 07B094 7F046524 10410004 */ beq $v0, $at, .Ljp7F046538 +/* 07B098 7F046528 AFAD0074 */ sw $t5, 0x74($sp) +/* 07B09C 7F04652C 24010002 */ li $at, 2 +/* 07B0A0 7F046530 14410008 */ bne $v0, $at, .Ljp7F046554 +/* 07B0A4 7F046534 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +.Ljp7F046538: +/* 07B0A8 7F046538 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07B0AC 7F04653C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07B0B0 7F046540 24050003 */ li $a1, 3 +/* 07B0B4 7F046544 0C002386 */ jal play_sfx_a1 +/* 07B0B8 7F046548 00003025 */ move $a2, $zero +/* 07B0BC 7F04654C 10000006 */ b .Ljp7F046568 +/* 07B0C0 7F046550 00402025 */ move $a0, $v0 +.Ljp7F046554: +/* 07B0C4 7F046554 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07B0C8 7F046558 2405002D */ li $a1, 45 +/* 07B0CC 7F04655C 0C002386 */ jal play_sfx_a1 +/* 07B0D0 7F046560 00003025 */ move $a2, $zero +/* 07B0D4 7F046564 00402025 */ move $a0, $v0 +.Ljp7F046568: +/* 07B0D8 7F046568 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07B0DC 7F04656C 8FA50074 */ lw $a1, 0x74($sp) +/* 07B0E0 7F046570 8E420000 */ lw $v0, ($s2) +/* 07B0E4 7F046574 AE0200AC */ sw $v0, 0xac($s0) +.Ljp7F046578: +/* 07B0E8 7F046578 8E2F0064 */ lw $t7, 0x64($s1) +.Ljp7F04657C: +/* 07B0EC 7F04657C 3C128005 */ lui $s2, %hi(D_80048380) # $s2, 0x8005 +/* 07B0F0 7F046580 265283B0 */ addiu $s2, %lo(D_80048380) # addiu $s2, $s2, -0x7c50 +/* 07B0F4 7F046584 31F90080 */ andi $t9, $t7, 0x80 +/* 07B0F8 7F046588 53200125 */ beql $t9, $zero, .Ljp7F046A20 +/* 07B0FC 7F04658C 8FAB0698 */ lw $t3, 0x698($sp) +/* 07B100 7F046590 8E180000 */ lw $t8, ($s0) +/* 07B104 7F046594 33080400 */ andi $t0, $t8, 0x400 +/* 07B108 7F046598 51000121 */ beql $t0, $zero, .Ljp7F046A20 +/* 07B10C 7F04659C 8FAB0698 */ lw $t3, 0x698($sp) +/* 07B110 7F0465A0 8E420000 */ lw $v0, ($s2) +/* 07B114 7F0465A4 3C0143C8 */ li $at, 0x43C80000 # 400.000000 +/* 07B118 7F0465A8 27B0056C */ addiu $s0, $sp, 0x56c +/* 07B11C 7F0465AC 30490007 */ andi $t1, $v0, 7 +/* 07B120 7F0465B0 1520011A */ bnez $t1, .Ljp7F046A1C +/* 07B124 7F0465B4 00002025 */ move $a0, $zero +/* 07B128 7F0465B8 44810000 */ mtc1 $at, $f0 +/* 07B12C 7F0465BC C6280058 */ lwc1 $f8, 0x58($s1) +/* 07B130 7F0465C0 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 +/* 07B134 7F0465C4 44812000 */ mtc1 $at, $f4 +/* 07B138 7F0465C8 46004180 */ add.s $f6, $f8, $f0 +/* 07B13C 7F0465CC 304B000F */ andi $t3, $v0, 0xf +/* 07B140 7F0465D0 E7A6056C */ swc1 $f6, 0x56c($sp) +/* 07B144 7F0465D4 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07B148 7F0465D8 46045201 */ sub.s $f8, $f10, $f4 +/* 07B14C 7F0465DC E7A80570 */ swc1 $f8, 0x570($sp) +/* 07B150 7F0465E0 C6260060 */ lwc1 $f6, 0x60($s1) +/* 07B154 7F0465E4 15600005 */ bnez $t3, .Ljp7F0465FC +/* 07B158 7F0465E8 E7A60574 */ swc1 $f6, 0x574($sp) +/* 07B15C 7F0465EC C7AA0574 */ lwc1 $f10, 0x574($sp) +/* 07B160 7F0465F0 46005100 */ add.s $f4, $f10, $f0 +/* 07B164 7F0465F4 10000004 */ b .Ljp7F046608 +/* 07B168 7F0465F8 E7A40574 */ swc1 $f4, 0x574($sp) +.Ljp7F0465FC: +/* 07B16C 7F0465FC C7A80574 */ lwc1 $f8, 0x574($sp) +/* 07B170 7F046600 46004181 */ sub.s $f6, $f8, $f0 +/* 07B174 7F046604 E7A60574 */ swc1 $f6, 0x574($sp) +.Ljp7F046608: +/* 07B178 7F046608 8E220010 */ lw $v0, 0x10($s1) +/* 07B17C 7F04660C 02002825 */ move $a1, $s0 +/* 07B180 7F046610 24070014 */ li $a3, 20 +/* 07B184 7F046614 8C460014 */ lw $a2, 0x14($v0) +/* 07B188 7F046618 244C002C */ addiu $t4, $v0, 0x2c +/* 07B18C 7F04661C AFAC0018 */ sw $t4, 0x18($sp) +/* 07B190 7F046620 AFA0001C */ sw $zero, 0x1c($sp) +/* 07B194 7F046624 AFA00014 */ sw $zero, 0x14($sp) +/* 07B198 7F046628 0FC2737C */ jal sub_GAME_7F09C250 +/* 07B19C 7F04662C AFA00010 */ sw $zero, 0x10($sp) +/* 07B1A0 7F046630 8E4E0000 */ lw $t6, ($s2) +/* 07B1A4 7F046634 24010028 */ li $at, 40 +/* 07B1A8 7F046638 02002025 */ move $a0, $s0 +/* 07B1AC 7F04663C 01C1001A */ div $zero, $t6, $at +/* 07B1B0 7F046640 00005010 */ mfhi $t2 +/* 07B1B4 7F046644 554000F6 */ bnezl $t2, .Ljp7F046A20 +/* 07B1B8 7F046648 8FAB0698 */ lw $t3, 0x698($sp) +/* 07B1BC 7F04664C 8E220010 */ lw $v0, 0x10($s1) +/* 07B1C0 7F046650 240D0001 */ li $t5, 1 +/* 07B1C4 7F046654 2406000A */ li $a2, 10 +/* 07B1C8 7F046658 8C450014 */ lw $a1, 0x14($v0) +/* 07B1CC 7F04665C AFAD0010 */ sw $t5, 0x10($sp) +/* 07B1D0 7F046660 0FC27CA9 */ jal sub_GAME_7F09E700 +/* 07B1D4 7F046664 2447002C */ addiu $a3, $v0, 0x2c +/* 07B1D8 7F046668 100000ED */ b .Ljp7F046A20 +/* 07B1DC 7F04666C 8FAB0698 */ lw $t3, 0x698($sp) +/* 07B1E0 7F046670 C6000060 */ lwc1 $f0, 0x60($s0) +.Ljp7F046674: +/* 07B1E4 7F046674 44815000 */ mtc1 $at, $f10 +/* 07B1E8 7F046678 24120001 */ li $s2, 1 +/* 07B1EC 7F04667C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07B1F0 7F046680 460A003C */ c.lt.s $f0, $f10 +/* 07B1F4 7F046684 26040068 */ addiu $a0, $s0, 0x68 +/* 07B1F8 7F046688 26050078 */ addiu $a1, $s0, 0x78 +/* 07B1FC 7F04668C 45020031 */ bc1fl .Ljp7F046754 +/* 07B200 7F046690 C60A0004 */ lwc1 $f10, 4($s0) +/* 07B204 7F046694 C6020064 */ lwc1 $f2, 0x64($s0) +/* 07B208 7F046698 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07B20C 7F04669C 3C0F8005 */ lui $t7, %hi(clock_timer) # $t7, 0x8005 +/* 07B210 7F0466A0 3C018005 */ lui $at, %hi(D_80052AB0) +/* 07B214 7F0466A4 46041202 */ mul.s $f8, $f2, $f4 +/* 07B218 7F0466A8 27B20558 */ addiu $s2, $sp, 0x558 +/* 07B21C 7F0466AC 46080180 */ add.s $f6, $f0, $f8 +/* 07B220 7F0466B0 E6060060 */ swc1 $f6, 0x60($s0) +/* 07B224 7F0466B4 8DEF83A4 */ lw $t7, %lo(clock_timer)($t7) +/* 07B228 7F0466B8 59E00005 */ blezl $t7, .Ljp7F0466D0 +/* 07B22C 7F0466BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B230 7F0466C0 C42A2AE0 */ lwc1 $f10, %lo(D_80052AB0)($at) +/* 07B234 7F0466C4 460A1102 */ mul.s $f4, $f2, $f10 +/* 07B238 7F0466C8 E6040064 */ swc1 $f4, 0x64($s0) +/* 07B23C 7F0466CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.Ljp7F0466D0: +/* 07B240 7F0466D0 44814000 */ mtc1 $at, $f8 +/* 07B244 7F0466D4 C6000060 */ lwc1 $f0, 0x60($s0) +/* 07B248 7F0466D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B24C 7F0466DC 4600403C */ c.lt.s $f8, $f0 +/* 07B250 7F0466E0 00000000 */ nop +/* 07B254 7F0466E4 45030006 */ bc1tl .Ljp7F046700 +/* 07B258 7F0466E8 44813000 */ mtc1 $at, $f6 +/* 07B25C 7F0466EC 8E190000 */ lw $t9, ($s0) +/* 07B260 7F0466F0 33380008 */ andi $t8, $t9, 8 +/* 07B264 7F0466F4 53000006 */ beql $t8, $zero, .Ljp7F046710 +/* 07B268 7F0466F8 44060000 */ mfc1 $a2, $f0 +/* 07B26C 7F0466FC 44813000 */ mtc1 $at, $f6 +.Ljp7F046700: +/* 07B270 7F046700 00000000 */ nop +/* 07B274 7F046704 E6060060 */ swc1 $f6, 0x60($s0) +/* 07B278 7F046708 C6000060 */ lwc1 $f0, 0x60($s0) +/* 07B27C 7F04670C 44060000 */ mfc1 $a2, $f0 +.Ljp7F046710: +/* 07B280 7F046710 0FC16FCA */ jal sub_GAME_7F05BA08 +/* 07B284 7F046714 02403825 */ move $a3, $s2 +/* 07B288 7F046718 26250018 */ addiu $a1, $s1, 0x18 +/* 07B28C 7F04671C AFA50074 */ sw $a1, 0x74($sp) +/* 07B290 7F046720 0FC16ED2 */ jal sub_GAME_7F05B628 +/* 07B294 7F046724 02402025 */ move $a0, $s2 +/* 07B298 7F046728 C60C00C0 */ lwc1 $f12, 0xc0($s0) +/* 07B29C 7F04672C 0FC163B5 */ jal sub_GAME_7F0589B4 +/* 07B2A0 7F046730 8FA50074 */ lw $a1, 0x74($sp) +/* 07B2A4 7F046734 C60C00C4 */ lwc1 $f12, 0xc4($s0) +/* 07B2A8 7F046738 0FC163C1 */ jal sub_GAME_7F0589E4 +/* 07B2AC 7F04673C 8FA50074 */ lw $a1, 0x74($sp) +/* 07B2B0 7F046740 C60C00C8 */ lwc1 $f12, 0xc8($s0) +/* 07B2B4 7F046744 0FC163DB */ jal sub_GAME_7F058A4C +/* 07B2B8 7F046748 8FA50074 */ lw $a1, 0x74($sp) +/* 07B2BC 7F04674C 00009025 */ move $s2, $zero +/* 07B2C0 7F046750 C60A0004 */ lwc1 $f10, 4($s0) +.Ljp7F046754: +/* 07B2C4 7F046754 460AB032 */ c.eq.s $f22, $f10 +/* 07B2C8 7F046758 00000000 */ nop +/* 07B2CC 7F04675C 4502000F */ bc1fl .Ljp7F04679C +/* 07B2D0 7F046760 8E080000 */ lw $t0, ($s0) +/* 07B2D4 7F046764 C604000C */ lwc1 $f4, 0xc($s0) +/* 07B2D8 7F046768 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B2DC 7F04676C 4604B032 */ c.eq.s $f22, $f4 +/* 07B2E0 7F046770 00000000 */ nop +/* 07B2E4 7F046774 45020009 */ bc1fl .Ljp7F04679C +/* 07B2E8 7F046778 8E080000 */ lw $t0, ($s0) +/* 07B2EC 7F04677C C6080060 */ lwc1 $f8, 0x60($s0) +/* 07B2F0 7F046780 44813000 */ mtc1 $at, $f6 +/* 07B2F4 7F046784 00000000 */ nop +/* 07B2F8 7F046788 4606403C */ c.lt.s $f8, $f6 +/* 07B2FC 7F04678C 00000000 */ nop +/* 07B300 7F046790 45000088 */ bc1f .Ljp7F0469B4 +/* 07B304 7F046794 00000000 */ nop +/* 07B308 7F046798 8E080000 */ lw $t0, ($s0) +.Ljp7F04679C: +/* 07B30C 7F04679C 02202025 */ move $a0, $s1 +/* 07B310 7F0467A0 262B0018 */ addiu $t3, $s1, 0x18 +/* 07B314 7F0467A4 31090008 */ andi $t1, $t0, 8 +/* 07B318 7F0467A8 15200082 */ bnez $t1, .Ljp7F0469B4 +/* 07B31C 7F0467AC 00000000 */ nop +/* 07B320 7F0467B0 AFAB0074 */ sw $t3, 0x74($sp) +/* 07B324 7F0467B4 0FC100DE */ jal sub_GAME_7F040078 +/* 07B328 7F0467B8 00009025 */ move $s2, $zero +/* 07B32C 7F0467BC 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 +/* 07B330 7F0467C0 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) +/* 07B334 7F0467C4 AFA20554 */ sw $v0, 0x554($sp) +/* 07B338 7F0467C8 00002025 */ move $a0, $zero +/* 07B33C 7F0467CC 18600048 */ blez $v1, .Ljp7F0468F0 +/* 07B340 7F0467D0 3C018005 */ lui $at, %hi(D_80052AB4) # $at, 0x8005 +/* 07B344 7F0467D4 C42E2AE4 */ lwc1 $f14, %lo(D_80052AB4)($at) +/* 07B348 7F0467D8 C7AA069C */ lwc1 $f10, 0x69c($sp) +.Ljp7F0467DC: +/* 07B34C 7F0467DC C6040004 */ lwc1 $f4, 4($s0) +/* 07B350 7F0467E0 C7A606A4 */ lwc1 $f6, 0x6a4($sp) +/* 07B354 7F0467E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B358 7F0467E8 46045200 */ add.s $f8, $f10, $f4 +/* 07B35C 7F0467EC E7A8069C */ swc1 $f8, 0x69c($sp) +/* 07B360 7F0467F0 C60A000C */ lwc1 $f10, 0xc($s0) +/* 07B364 7F0467F4 460A3100 */ add.s $f4, $f6, $f10 +/* 07B368 7F0467F8 44813000 */ mtc1 $at, $f6 +/* 07B36C 7F0467FC E7A406A4 */ swc1 $f4, 0x6a4($sp) +/* 07B370 7F046800 C6080060 */ lwc1 $f8, 0x60($s0) +/* 07B374 7F046804 4608303E */ c.le.s $f6, $f8 +/* 07B378 7F046808 00000000 */ nop +/* 07B37C 7F04680C 45020035 */ bc1fl .Ljp7F0468E4 +/* 07B380 7F046810 24840001 */ addiu $a0, $a0, 1 +/* 07B384 7F046814 C60A0094 */ lwc1 $f10, 0x94($s0) +/* 07B388 7F046818 460AB03C */ c.lt.s $f22, $f10 +/* 07B38C 7F04681C 00000000 */ nop +/* 07B390 7F046820 45020027 */ bc1fl .Ljp7F0468C0 +/* 07B394 7F046824 C6060004 */ lwc1 $f6, 4($s0) +/* 07B398 7F046828 C600000C */ lwc1 $f0, 0xc($s0) +/* 07B39C 7F04682C C6020004 */ lwc1 $f2, 4($s0) +/* 07B3A0 7F046830 AFA40550 */ sw $a0, 0x550($sp) +/* 07B3A4 7F046834 46000102 */ mul.s $f4, $f0, $f0 +/* 07B3A8 7F046838 00000000 */ nop +/* 07B3AC 7F04683C 46021202 */ mul.s $f8, $f2, $f2 +/* 07B3B0 7F046840 0C007E08 */ jal sqrtf +/* 07B3B4 7F046844 46082300 */ add.s $f12, $f4, $f8 +/* 07B3B8 7F046848 3C018005 */ lui $at, %hi(D_80052AB8) # $at, 0x8005 +/* 07B3BC 7F04684C C42E2AE8 */ lwc1 $f14, %lo(D_80052AB8)($at) +/* 07B3C0 7F046850 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07B3C4 7F046854 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07B3C8 7F046858 C6060094 */ lwc1 $f6, 0x94($s0) +/* 07B3CC 7F04685C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B3D0 7F046860 44814000 */ mtc1 $at, $f8 +/* 07B3D4 7F046864 460A3102 */ mul.s $f4, $f6, $f10 +/* 07B3D8 7F046868 8FA40550 */ lw $a0, 0x550($sp) +/* 07B3DC 7F04686C 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 +/* 07B3E0 7F046870 46002303 */ div.s $f12, $f4, $f0 +/* 07B3E4 7F046874 460C403E */ c.le.s $f8, $f12 +/* 07B3E8 7F046878 00000000 */ nop +/* 07B3EC 7F04687C 45020005 */ bc1fl .Ljp7F046894 +/* 07B3F0 7F046880 C6020004 */ lwc1 $f2, 4($s0) +/* 07B3F4 7F046884 E6160004 */ swc1 $f22, 4($s0) +/* 07B3F8 7F046888 1000000A */ b .Ljp7F0468B4 +/* 07B3FC 7F04688C E616000C */ swc1 $f22, 0xc($s0) +/* 07B400 7F046890 C6020004 */ lwc1 $f2, 4($s0) +.Ljp7F046894: +/* 07B404 7F046894 C600000C */ lwc1 $f0, 0xc($s0) +/* 07B408 7F046898 460C1182 */ mul.s $f6, $f2, $f12 +/* 07B40C 7F04689C 00000000 */ nop +/* 07B410 7F0468A0 460C0102 */ mul.s $f4, $f0, $f12 +/* 07B414 7F0468A4 46061281 */ sub.s $f10, $f2, $f6 +/* 07B418 7F0468A8 46040201 */ sub.s $f8, $f0, $f4 +/* 07B41C 7F0468AC E60A0004 */ swc1 $f10, 4($s0) +/* 07B420 7F0468B0 E608000C */ swc1 $f8, 0xc($s0) +.Ljp7F0468B4: +/* 07B424 7F0468B4 1000000A */ b .Ljp7F0468E0 +/* 07B428 7F0468B8 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) +/* 07B42C 7F0468BC C6060004 */ lwc1 $f6, 4($s0) +.Ljp7F0468C0: +/* 07B430 7F0468C0 C604000C */ lwc1 $f4, 0xc($s0) +/* 07B434 7F0468C4 3C038005 */ lui $v1, %hi(clock_timer) # $v1, 0x8005 +/* 07B438 7F0468C8 460E3282 */ mul.s $f10, $f6, $f14 +/* 07B43C 7F0468CC 00000000 */ nop +/* 07B440 7F0468D0 460E2202 */ mul.s $f8, $f4, $f14 +/* 07B444 7F0468D4 E60A0004 */ swc1 $f10, 4($s0) +/* 07B448 7F0468D8 E608000C */ swc1 $f8, 0xc($s0) +/* 07B44C 7F0468DC 8C6383A4 */ lw $v1, %lo(clock_timer)($v1) +.Ljp7F0468E0: +/* 07B450 7F0468E0 24840001 */ addiu $a0, $a0, 1 +.Ljp7F0468E4: +/* 07B454 7F0468E4 0083082A */ slt $at, $a0, $v1 +/* 07B458 7F0468E8 5420FFBC */ bnezl $at, .Ljp7F0467DC +/* 07B45C 7F0468EC C7AA069C */ lwc1 $f10, 0x69c($sp) +.Ljp7F0468F0: +/* 07B460 7F0468F0 02202025 */ move $a0, $s1 +/* 07B464 7F0468F4 27A5069C */ addiu $a1, $sp, 0x69c +/* 07B468 7F0468F8 27A60538 */ addiu $a2, $sp, 0x538 +/* 07B46C 7F0468FC 27A70544 */ addiu $a3, $sp, 0x544 +/* 07B470 7F046900 AFA00010 */ sw $zero, 0x10($sp) +/* 07B474 7F046904 0FC10C6D */ jal sub_GAME_7F042EB4 +/* 07B478 7F046908 AFA00014 */ sw $zero, 0x14($sp) +/* 07B47C 7F04690C 240C0001 */ li $t4, 1 +/* 07B480 7F046910 AFAC0698 */ sw $t4, 0x698($sp) +/* 07B484 7F046914 8E660010 */ lw $a2, 0x10($s3) +/* 07B488 7F046918 8E650008 */ lw $a1, 8($s3) +/* 07B48C 7F04691C 0FC2CD48 */ jal sub_GAME_7F0B2970 +/* 07B490 7F046920 8E640014 */ lw $a0, 0x14($s3) +/* 07B494 7F046924 46000506 */ mov.s $f20, $f0 +/* 07B498 7F046928 8FA40554 */ lw $a0, 0x554($sp) +/* 07B49C 7F04692C 0FC0FB2F */ jal sub_GAME_7F03E9BC +/* 07B4A0 7F046930 8FA50074 */ lw $a1, 0x74($sp) +/* 07B4A4 7F046934 3C018005 */ lui $at, %hi(D_80052ABC) # $at, 0x8005 +/* 07B4A8 7F046938 C42E2AEC */ lwc1 $f14, %lo(D_80052ABC)($at) +/* 07B4AC 7F04693C 4600A181 */ sub.s $f6, $f20, $f0 +/* 07B4B0 7F046940 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07B4B4 7F046944 44815000 */ mtc1 $at, $f10 +/* 07B4B8 7F046948 3C018005 */ lui $at, %hi(D_80052AC0) # $at, 0x8005 +/* 07B4BC 7F04694C 460A3300 */ add.s $f12, $f6, $f10 +/* 07B4C0 7F046950 E66C000C */ swc1 $f12, 0xc($s3) +/* 07B4C4 7F046954 E62C005C */ swc1 $f12, 0x5c($s1) +/* 07B4C8 7F046958 C6020004 */ lwc1 $f2, 4($s0) +/* 07B4CC 7F04695C 460E103C */ c.lt.s $f2, $f14 +/* 07B4D0 7F046960 00000000 */ nop +/* 07B4D4 7F046964 45000013 */ bc1f .Ljp7F0469B4 +/* 07B4D8 7F046968 00000000 */ nop +/* 07B4DC 7F04696C C4242AF0 */ lwc1 $f4, %lo(D_80052AC0)($at) +/* 07B4E0 7F046970 4602203C */ c.lt.s $f4, $f2 +/* 07B4E4 7F046974 00000000 */ nop +/* 07B4E8 7F046978 4500000E */ bc1f .Ljp7F0469B4 +/* 07B4EC 7F04697C 00000000 */ nop +/* 07B4F0 7F046980 C600000C */ lwc1 $f0, 0xc($s0) +/* 07B4F4 7F046984 3C018005 */ lui $at, %hi(D_80052AC4) # $at, 0x8005 +/* 07B4F8 7F046988 460E003C */ c.lt.s $f0, $f14 +/* 07B4FC 7F04698C 00000000 */ nop +/* 07B500 7F046990 45000008 */ bc1f .Ljp7F0469B4 +/* 07B504 7F046994 00000000 */ nop +/* 07B508 7F046998 C4282AF4 */ lwc1 $f8, %lo(D_80052AC4)($at) +/* 07B50C 7F04699C 4600403C */ c.lt.s $f8, $f0 +/* 07B510 7F0469A0 00000000 */ nop +/* 07B514 7F0469A4 45000003 */ bc1f .Ljp7F0469B4 +/* 07B518 7F0469A8 00000000 */ nop +/* 07B51C 7F0469AC E616000C */ swc1 $f22, 0xc($s0) +/* 07B520 7F0469B0 E6160004 */ swc1 $f22, 4($s0) +.Ljp7F0469B4: +/* 07B524 7F0469B4 16400005 */ bnez $s2, .Ljp7F0469CC +/* 07B528 7F0469B8 00000000 */ nop +/* 07B52C 7F0469BC 8E0E0000 */ lw $t6, ($s0) +/* 07B530 7F0469C0 31CA0008 */ andi $t2, $t6, 8 +/* 07B534 7F0469C4 51400016 */ beql $t2, $zero, .Ljp7F046A20 +/* 07B538 7F0469C8 8FAB0698 */ lw $t3, 0x698($sp) +.Ljp7F0469CC: +/* 07B53C 7F0469CC 0FC0FF9C */ jal sub_GAME_7F03FB70 +/* 07B540 7F0469D0 02002025 */ move $a0, $s0 +/* 07B544 7F0469D4 8E2D0064 */ lw $t5, 0x64($s1) +/* 07B548 7F0469D8 2401FF7F */ li $at, -129 +/* 07B54C 7F0469DC AE20006C */ sw $zero, 0x6c($s1) +/* 07B550 7F0469E0 01A17824 */ and $t7, $t5, $at +/* 07B554 7F0469E4 AE2F0064 */ sw $t7, 0x64($s1) +/* 07B558 7F0469E8 92620001 */ lbu $v0, 1($s3) +/* 07B55C 7F0469EC 30590008 */ andi $t9, $v0, 8 +/* 07B560 7F0469F0 13200002 */ beqz $t9, .Ljp7F0469FC +/* 07B564 7F0469F4 34580010 */ ori $t8, $v0, 0x10 +/* 07B568 7F0469F8 A2780001 */ sb $t8, 1($s3) +.Ljp7F0469FC: +/* 07B56C 7F0469FC 92280003 */ lbu $t0, 3($s1) +/* 07B570 7F046A00 24010008 */ li $at, 8 +/* 07B574 7F046A04 55010006 */ bnel $t0, $at, .Ljp7F046A20 +/* 07B578 7F046A08 8FAB0698 */ lw $t3, 0x698($sp) +/* 07B57C 7F046A0C 8E690014 */ lw $t1, 0x14($s3) +/* 07B580 7F046A10 82240080 */ lb $a0, 0x80($s1) +/* 07B584 7F046A14 0FC15F41 */ jal sub_GAME_7F0577E8 +/* 07B588 7F046A18 91250003 */ lbu $a1, 3($t1) +.Ljp7F046A1C: +/* 07B58C 7F046A1C 8FAB0698 */ lw $t3, 0x698($sp) +.Ljp7F046A20: +/* 07B590 7F046A20 1160000B */ beqz $t3, .Ljp7F046A50 +/* 07B594 7F046A24 262C0058 */ addiu $t4, $s1, 0x58 +/* 07B598 7F046A28 AFAC0074 */ sw $t4, 0x74($sp) +/* 07B59C 7F046A2C 0FC101E1 */ jal sub_GAME_7F040484 +/* 07B5A0 7F046A30 02202025 */ move $a0, $s1 +/* 07B5A4 7F046A34 0FC15C68 */ jal sub_GAME_7F056CA0 +/* 07B5A8 7F046A38 02202025 */ move $a0, $s1 +/* 07B5AC 7F046A3C 8E240010 */ lw $a0, 0x10($s1) +/* 07B5B0 7F046A40 0FC1016D */ jal sub_GAME_7F0402B4 +/* 07B5B4 7F046A44 2625007C */ addiu $a1, $s1, 0x7c +/* 07B5B8 7F046A48 0FC14832 */ jal detonate_proxmine_In_range +/* 07B5BC 7F046A4C 8FA40074 */ lw $a0, 0x74($sp) +.Ljp7F046A50: +/* 07B5C0 7F046A50 92220003 */ lbu $v0, 3($s1) +/* 07B5C4 7F046A54 24010001 */ li $at, 1 +/* 07B5C8 7F046A58 54410052 */ bnel $v0, $at, .Ljp7F046BA4 +/* 07B5CC 7F046A5C 24010006 */ li $at, 6 +/* 07B5D0 7F046A60 8E700004 */ lw $s0, 4($s3) +/* 07B5D4 7F046A64 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07B5D8 7F046A68 E7A60684 */ swc1 $f6, 0x684($sp) +/* 07B5DC 7F046A6C 8E0200EC */ lw $v0, 0xec($s0) +/* 07B5E0 7F046A70 58400013 */ blezl $v0, .Ljp7F046AC0 +/* 07B5E4 7F046A74 820800BC */ lb $t0, 0xbc($s0) +/* 07B5E8 7F046A78 820E00BC */ lb $t6, 0xbc($s0) +/* 07B5EC 7F046A7C 55C00010 */ bnezl $t6, .Ljp7F046AC0 +/* 07B5F0 7F046A80 820800BC */ lb $t0, 0xbc($s0) +/* 07B5F4 7F046A84 8E0A0008 */ lw $t2, 8($s0) +/* 07B5F8 7F046A88 3C0F8005 */ lui $t7, %hi(global_timer) # $t7, 0x8005 +/* 07B5FC 7F046A8C 000A6800 */ sll $t5, $t2, 0 +/* 07B600 7F046A90 05A2000B */ bltzl $t5, .Ljp7F046AC0 +/* 07B604 7F046A94 820800BC */ lb $t0, 0xbc($s0) +/* 07B608 7F046A98 8DEF83AC */ lw $t7, %lo(global_timer)($t7) +/* 07B60C 7F046A9C 8E1900A0 */ lw $t9, 0xa0($s0) +/* 07B610 7F046AA0 02002025 */ move $a0, $s0 +/* 07B614 7F046AA4 01F9C023 */ subu $t8, $t7, $t9 +/* 07B618 7F046AA8 0058082A */ slt $at, $v0, $t8 +/* 07B61C 7F046AAC 50200004 */ beql $at, $zero, .Ljp7F046AC0 +/* 07B620 7F046AB0 820800BC */ lb $t0, 0xbc($s0) +/* 07B624 7F046AB4 0FC153A1 */ jal set_door_state +/* 07B628 7F046AB8 24050002 */ li $a1, 2 +/* 07B62C 7F046ABC 820800BC */ lb $t0, 0xbc($s0) +.Ljp7F046AC0: +/* 07B630 7F046AC0 24010003 */ li $at, 3 +/* 07B634 7F046AC4 5501001B */ bnel $t0, $at, .Ljp7F046B34 +/* 07B638 7F046AC8 960B009A */ lhu $t3, 0x9a($s0) +/* 07B63C 7F046ACC 8E0200C8 */ lw $v0, 0xc8($s0) +/* 07B640 7F046AD0 24030001 */ li $v1, 1 +/* 07B644 7F046AD4 02002025 */ move $a0, $s0 +/* 07B648 7F046AD8 10400011 */ beqz $v0, .Ljp7F046B20 +/* 07B64C 7F046ADC 00000000 */ nop +/* 07B650 7F046AE0 1050000F */ beq $v0, $s0, .Ljp7F046B20 +/* 07B654 7F046AE4 00000000 */ nop +/* 07B658 7F046AE8 804900BC */ lb $t1, 0xbc($v0) +.Ljp7F046AEC: +/* 07B65C 7F046AEC 55200007 */ bnezl $t1, .Ljp7F046B0C +/* 07B660 7F046AF0 00001825 */ move $v1, $zero +/* 07B664 7F046AF4 C44A00B4 */ lwc1 $f10, 0xb4($v0) +/* 07B668 7F046AF8 460AB03C */ c.lt.s $f22, $f10 +/* 07B66C 7F046AFC 00000000 */ nop +/* 07B670 7F046B00 45020003 */ bc1fl .Ljp7F046B10 +/* 07B674 7F046B04 8C4200C8 */ lw $v0, 0xc8($v0) +/* 07B678 7F046B08 00001825 */ move $v1, $zero +.Ljp7F046B0C: +/* 07B67C 7F046B0C 8C4200C8 */ lw $v0, 0xc8($v0) +.Ljp7F046B10: +/* 07B680 7F046B10 10400003 */ beqz $v0, .Ljp7F046B20 +/* 07B684 7F046B14 00000000 */ nop +/* 07B688 7F046B18 5450FFF4 */ bnel $v0, $s0, .Ljp7F046AEC +/* 07B68C 7F046B1C 804900BC */ lb $t1, 0xbc($v0) +.Ljp7F046B20: +/* 07B690 7F046B20 50600004 */ beql $v1, $zero, .Ljp7F046B34 +/* 07B694 7F046B24 960B009A */ lhu $t3, 0x9a($s0) +/* 07B698 7F046B28 0FC15368 */ jal sub_GAME_7F0548A4 +/* 07B69C 7F046B2C 24050001 */ li $a1, 1 +/* 07B6A0 7F046B30 960B009A */ lhu $t3, 0x9a($s0) +.Ljp7F046B34: +/* 07B6A4 7F046B34 24010008 */ li $at, 8 +/* 07B6A8 7F046B38 1561000B */ bne $t3, $at, .Ljp7F046B68 +/* 07B6AC 7F046B3C 00000000 */ nop +/* 07B6B0 7F046B40 0FC153C7 */ jal sub_GAME_7F054A20 +/* 07B6B4 7F046B44 02002025 */ move $a0, $s0 +/* 07B6B8 7F046B48 10400007 */ beqz $v0, .Ljp7F046B68 +/* 07B6BC 7F046B4C 00000000 */ nop +/* 07B6C0 7F046B50 0FC0FA86 */ jal sub_GAME_7F03E718 +/* 07B6C4 7F046B54 02002025 */ move $a0, $s0 +/* 07B6C8 7F046B58 10400003 */ beqz $v0, .Ljp7F046B68 +/* 07B6CC 7F046B5C 00000000 */ nop +/* 07B6D0 7F046B60 0FC157A6 */ jal sub_GAME_7F05599C +/* 07B6D4 7F046B64 02602025 */ move $a0, $s3 +.Ljp7F046B68: +/* 07B6D8 7F046B68 3C0E8005 */ lui $t6, %hi(global_timer) # $t6, 0x8005 +/* 07B6DC 7F046B6C 8DCE83AC */ lw $t6, %lo(global_timer)($t6) +/* 07B6E0 7F046B70 8E0C00FC */ lw $t4, 0xfc($s0) +/* 07B6E4 7F046B74 3C0A8005 */ lui $t2, %hi(clock_timer) # $t2, 0x8005 +/* 07B6E8 7F046B78 018E082A */ slt $at, $t4, $t6 +/* 07B6EC 7F046B7C 14200004 */ bnez $at, .Ljp7F046B90 +/* 07B6F0 7F046B80 00000000 */ nop +/* 07B6F4 7F046B84 8D4A83A4 */ lw $t2, %lo(clock_timer)($t2) +/* 07B6F8 7F046B88 554006AA */ bnezl $t2, .Ljp7F048634 +/* 07B6FC 7F046B8C 92220003 */ lbu $v0, 3($s1) +.Ljp7F046B90: +/* 07B700 7F046B90 0FC1552C */ jal sub_GAME_7F054FB4 +/* 07B704 7F046B94 02002025 */ move $a0, $s0 +/* 07B708 7F046B98 100006A6 */ b .Ljp7F048634 +/* 07B70C 7F046B9C 92220003 */ lbu $v0, 3($s1) +/* 07B710 7F046BA0 24010006 */ li $at, 6 +.Ljp7F046BA4: +/* 07B714 7F046BA4 54410130 */ bnel $v0, $at, .Ljp7F047068 +/* 07B718 7F046BA8 2401000D */ li $at, 13 +/* 07B71C 7F046BAC 8E2D0008 */ lw $t5, 8($s1) +/* 07B720 7F046BB0 000D78C0 */ sll $t7, $t5, 3 +/* 07B724 7F046BB4 05E2012C */ bltzl $t7, .Ljp7F047068 +/* 07B728 7F046BB8 2401000D */ li $at, 13 +/* 07B72C 7F046BBC 8E700004 */ lw $s0, 4($s3) +/* 07B730 7F046BC0 8E1900D4 */ lw $t9, 0xd4($s0) +/* 07B734 7F046BC4 53200004 */ beql $t9, $zero, .Ljp7F046BD8 +/* 07B738 7F046BC8 C61200D0 */ lwc1 $f18, 0xd0($s0) +/* 07B73C 7F046BCC 10000002 */ b .Ljp7F046BD8 +/* 07B740 7F046BD0 C61200CC */ lwc1 $f18, 0xcc($s0) +/* 07B744 7F046BD4 C61200D0 */ lwc1 $f18, 0xd0($s0) +.Ljp7F046BD8: +/* 07B748 7F046BD8 0FC2279B */ jal get_curplayer_positiondata +/* 07B74C 7F046BDC E7B2051C */ swc1 $f18, 0x51c($sp) +/* 07B750 7F046BE0 AFA20518 */ sw $v0, 0x518($sp) +/* 07B754 7F046BE4 C6280058 */ lwc1 $f8, 0x58($s1) +/* 07B758 7F046BE8 C4440008 */ lwc1 $f4, 8($v0) +/* 07B75C 7F046BEC C60000E8 */ lwc1 $f0, 0xe8($s0) +/* 07B760 7F046BF0 C62A005C */ lwc1 $f10, 0x5c($s1) +/* 07B764 7F046BF4 46082301 */ sub.s $f12, $f4, $f8 +/* 07B768 7F046BF8 C446000C */ lwc1 $f6, 0xc($v0) +/* 07B76C 7F046BFC C6280060 */ lwc1 $f8, 0x60($s1) +/* 07B770 7F046C00 4600B03C */ c.lt.s $f22, $f0 +/* 07B774 7F046C04 C4440010 */ lwc1 $f4, 0x10($v0) +/* 07B778 7F046C08 C7B2051C */ lwc1 $f18, 0x51c($sp) +/* 07B77C 7F046C0C 24120001 */ li $s2, 1 +/* 07B780 7F046C10 460A3081 */ sub.s $f2, $f6, $f10 +/* 07B784 7F046C14 4500000E */ bc1f .Ljp7F046C50 +/* 07B788 7F046C18 46082381 */ sub.s $f14, $f4, $f8 +/* 07B78C 7F046C1C 46000182 */ mul.s $f6, $f0, $f0 +/* 07B790 7F046C20 00000000 */ nop +/* 07B794 7F046C24 460C6282 */ mul.s $f10, $f12, $f12 +/* 07B798 7F046C28 00000000 */ nop +/* 07B79C 7F046C2C 46021102 */ mul.s $f4, $f2, $f2 +/* 07B7A0 7F046C30 46045200 */ add.s $f8, $f10, $f4 +/* 07B7A4 7F046C34 460E7282 */ mul.s $f10, $f14, $f14 +/* 07B7A8 7F046C38 460A4100 */ add.s $f4, $f8, $f10 +/* 07B7AC 7F046C3C 4604303C */ c.lt.s $f6, $f4 +/* 07B7B0 7F046C40 00000000 */ nop +/* 07B7B4 7F046C44 45000002 */ bc1f .Ljp7F046C50 +/* 07B7B8 7F046C48 00000000 */ nop +/* 07B7BC 7F046C4C 00009025 */ move $s2, $zero +.Ljp7F046C50: +/* 07B7C0 7F046C50 8E380008 */ lw $t8, 8($s1) +/* 07B7C4 7F046C54 00184080 */ sll $t0, $t8, 2 +/* 07B7C8 7F046C58 05010002 */ bgez $t0, .Ljp7F046C64 +/* 07B7CC 7F046C5C 00000000 */ nop +/* 07B7D0 7F046C60 00009025 */ move $s2, $zero +.Ljp7F046C64: +/* 07B7D4 7F046C64 1240003A */ beqz $s2, .Ljp7F046D50 +/* 07B7D8 7F046C68 00000000 */ nop +/* 07B7DC 7F046C6C 0FC16BD4 */ jal convert_angle_using_inverse +/* 07B7E0 7F046C70 E7B2051C */ swc1 $f18, 0x51c($sp) +/* 07B7E4 7F046C74 C60200C8 */ lwc1 $f2, 0xc8($s0) +/* 07B7E8 7F046C78 C7B2051C */ lwc1 $f18, 0x51c($sp) +/* 07B7EC 7F046C7C 3C018005 */ lui $at, %hi(D_80052ACC) +/* 07B7F0 7F046C80 4616103C */ c.lt.s $f2, $f22 +/* 07B7F4 7F046C84 00000000 */ nop +/* 07B7F8 7F046C88 45000005 */ bc1f .Ljp7F046CA0 +/* 07B7FC 7F046C8C 00000000 */ nop +/* 07B800 7F046C90 3C018005 */ lui $at, %hi(D_80052AC8) # $at, 0x8005 +/* 07B804 7F046C94 C4342AF8 */ lwc1 $f20, %lo(D_80052AC8)($at) +/* 07B808 7F046C98 10000007 */ b .Ljp7F046CB8 +/* 07B80C 7F046C9C 46141080 */ add.s $f2, $f2, $f20 +.Ljp7F046CA0: +/* 07B810 7F046CA0 C4342AFC */ lwc1 $f20, %lo(D_80052ACC)($at) +/* 07B814 7F046CA4 4602A03E */ c.le.s $f20, $f2 +/* 07B818 7F046CA8 00000000 */ nop +/* 07B81C 7F046CAC 45020003 */ bc1fl .Ljp7F046CBC +/* 07B820 7F046CB0 C60800C4 */ lwc1 $f8, 0xc4($s0) +/* 07B824 7F046CB4 46141081 */ sub.s $f2, $f2, $f20 +.Ljp7F046CB8: +/* 07B828 7F046CB8 C60800C4 */ lwc1 $f8, 0xc4($s0) +.Ljp7F046CBC: +/* 07B82C 7F046CBC 3C018005 */ lui $at, %hi(D_80052AD0) # $at, 0x8005 +/* 07B830 7F046CC0 46081080 */ add.s $f2, $f2, $f8 +/* 07B834 7F046CC4 4602A03E */ c.le.s $f20, $f2 +/* 07B838 7F046CC8 00000000 */ nop +/* 07B83C 7F046CCC 45020003 */ bc1fl .Ljp7F046CDC +/* 07B840 7F046CD0 4602003C */ c.lt.s $f0, $f2 +/* 07B844 7F046CD4 46141081 */ sub.s $f2, $f2, $f20 +/* 07B848 7F046CD8 4602003C */ c.lt.s $f0, $f2 +.Ljp7F046CDC: +/* 07B84C 7F046CDC 46020381 */ sub.s $f14, $f0, $f2 +/* 07B850 7F046CE0 45000002 */ bc1f .Ljp7F046CEC +/* 07B854 7F046CE4 46007306 */ mov.s $f12, $f14 +/* 07B858 7F046CE8 46147300 */ add.s $f12, $f14, $f20 +.Ljp7F046CEC: +/* 07B85C 7F046CEC C4202B00 */ lwc1 $f0, %lo(D_80052AD0)($at) +/* 07B860 7F046CF0 3C018005 */ lui $at, %hi(D_80052AD4) # $at, 0x8005 +/* 07B864 7F046CF4 46006301 */ sub.s $f12, $f12, $f0 +/* 07B868 7F046CF8 4616603C */ c.lt.s $f12, $f22 +/* 07B86C 7F046CFC 00000000 */ nop +/* 07B870 7F046D00 45020003 */ bc1fl .Ljp7F046D10 +/* 07B874 7F046D04 460C003C */ c.lt.s $f0, $f12 +/* 07B878 7F046D08 46146300 */ add.s $f12, $f12, $f20 +/* 07B87C 7F046D0C 460C003C */ c.lt.s $f0, $f12 +.Ljp7F046D10: +/* 07B880 7F046D10 00000000 */ nop +/* 07B884 7F046D14 45000002 */ bc1f .Ljp7F046D20 +/* 07B888 7F046D18 00000000 */ nop +/* 07B88C 7F046D1C 46146301 */ sub.s $f12, $f12, $f20 +.Ljp7F046D20: +/* 07B890 7F046D20 C42A2B04 */ lwc1 $f10, %lo(D_80052AD4)($at) +/* 07B894 7F046D24 3C018005 */ lui $at, %hi(D_80052AD8) +/* 07B898 7F046D28 460C503C */ c.lt.s $f10, $f12 +/* 07B89C 7F046D2C 00000000 */ nop +/* 07B8A0 7F046D30 45030007 */ bc1tl .Ljp7F046D50 +/* 07B8A4 7F046D34 00009025 */ move $s2, $zero +/* 07B8A8 7F046D38 C4262B08 */ lwc1 $f6, %lo(D_80052AD8)($at) +/* 07B8AC 7F046D3C 4606603C */ c.lt.s $f12, $f6 +/* 07B8B0 7F046D40 00000000 */ nop +/* 07B8B4 7F046D44 45000002 */ bc1f .Ljp7F046D50 +/* 07B8B8 7F046D48 00000000 */ nop +/* 07B8BC 7F046D4C 00009025 */ move $s2, $zero +.Ljp7F046D50: +/* 07B8C0 7F046D50 12400034 */ beqz $s2, .Ljp7F046E24 +/* 07B8C4 7F046D54 00002825 */ move $a1, $zero +/* 07B8C8 7F046D58 8E690014 */ lw $t1, 0x14($s3) +/* 07B8CC 7F046D5C E7B2051C */ swc1 $f18, 0x51c($sp) +/* 07B8D0 7F046D60 8FA40518 */ lw $a0, 0x518($sp) +/* 07B8D4 7F046D64 0FC229DD */ jal sub_GAME_7F08A03C +/* 07B8D8 7F046D68 AFA904F4 */ sw $t1, 0x4f4($sp) +/* 07B8DC 7F046D6C 8FA20518 */ lw $v0, 0x518($sp) +/* 07B8E0 7F046D70 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 07B8E4 7F046D74 8E650008 */ lw $a1, 8($s3) +/* 07B8E8 7F046D78 C4440010 */ lwc1 $f4, 0x10($v0) +/* 07B8EC 7F046D7C 8E660010 */ lw $a2, 0x10($s3) +/* 07B8F0 7F046D80 8C470008 */ lw $a3, 8($v0) +/* 07B8F4 7F046D84 44814000 */ mtc1 $at, $f8 +/* 07B8F8 7F046D88 44815000 */ mtc1 $at, $f10 +/* 07B8FC 7F046D8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07B900 7F046D90 44813000 */ mtc1 $at, $f6 +/* 07B904 7F046D94 240B001B */ li $t3, 27 +/* 07B908 7F046D98 AFAB0014 */ sw $t3, 0x14($sp) +/* 07B90C 7F046D9C E7B60020 */ swc1 $f22, 0x20($sp) +/* 07B910 7F046DA0 27A404F4 */ addiu $a0, $sp, 0x4f4 +/* 07B914 7F046DA4 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07B918 7F046DA8 E7A80018 */ swc1 $f8, 0x18($sp) +/* 07B91C 7F046DAC E7AA001C */ swc1 $f10, 0x1c($sp) +/* 07B920 7F046DB0 0FC2C675 */ jal sub_GAME_7F0B0E24 +/* 07B924 7F046DB4 E7A60024 */ swc1 $f6, 0x24($sp) +/* 07B928 7F046DB8 10400015 */ beqz $v0, .Ljp7F046E10 +/* 07B92C 7F046DBC C7B2051C */ lwc1 $f18, 0x51c($sp) +/* 07B930 7F046DC0 3C0E8005 */ lui $t6, %hi(clock_timer) # $t6, 0x8005 +/* 07B934 7F046DC4 8DCE83A4 */ lw $t6, %lo(clock_timer)($t6) +/* 07B938 7F046DC8 8E0C00E0 */ lw $t4, 0xe0($s0) +/* 07B93C 7F046DCC 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 07B940 7F046DD0 44812000 */ mtc1 $at, $f4 +/* 07B944 7F046DD4 018E5021 */ addu $t2, $t4, $t6 +/* 07B948 7F046DD8 AE0A00E0 */ sw $t2, 0xe0($s0) +/* 07B94C 7F046DDC 3C018003 */ lui $at, %hi(D_80030B14) # $at, 0x8003 +/* 07B950 7F046DE0 C4280B54 */ lwc1 $f8, %lo(D_80030B14)($at) +/* 07B954 7F046DE4 46082282 */ mul.s $f10, $f4, $f8 +/* 07B958 7F046DE8 4600518D */ trunc.w.s $f6, $f10 +/* 07B95C 7F046DEC 44193000 */ mfc1 $t9, $f6 +/* 07B960 7F046DF0 00000000 */ nop +/* 07B964 7F046DF4 0159082A */ slt $at, $t2, $t9 +/* 07B968 7F046DF8 54200006 */ bnezl $at, .Ljp7F046E14 +/* 07B96C 7F046DFC 8FA40518 */ lw $a0, 0x518($sp) +/* 07B970 7F046E00 0FC158B1 */ jal start_alarm +/* 07B974 7F046E04 E7B2051C */ swc1 $f18, 0x51c($sp) +/* 07B978 7F046E08 C7B2051C */ lwc1 $f18, 0x51c($sp) +/* 07B97C 7F046E0C AE0000E0 */ sw $zero, 0xe0($s0) +.Ljp7F046E10: +/* 07B980 7F046E10 8FA40518 */ lw $a0, 0x518($sp) +.Ljp7F046E14: +/* 07B984 7F046E14 24050001 */ li $a1, 1 +/* 07B988 7F046E18 0FC229DD */ jal sub_GAME_7F08A03C +/* 07B98C 7F046E1C E7B2051C */ swc1 $f18, 0x51c($sp) +/* 07B990 7F046E20 C7B2051C */ lwc1 $f18, 0x51c($sp) +.Ljp7F046E24: +/* 07B994 7F046E24 C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07B998 7F046E28 4612703C */ c.lt.s $f14, $f18 +/* 07B99C 7F046E2C 00000000 */ nop +/* 07B9A0 7F046E30 45020047 */ bc1fl .Ljp7F046F50 +/* 07B9A4 7F046E34 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B9A8 7F046E38 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B9AC 7F046E3C 3C018005 */ lui $at, %hi(D_80052AE0) # $at, 0x8005 +/* 07B9B0 7F046E40 C4302B10 */ lwc1 $f16, %lo(D_80052AE0)($at) +/* 07B9B4 7F046E44 46000102 */ mul.s $f4, $f0, $f0 +/* 07B9B8 7F046E48 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07B9BC 7F046E4C 44814000 */ mtc1 $at, $f8 +/* 07B9C0 7F046E50 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07B9C4 7F046E54 46082282 */ mul.s $f10, $f4, $f8 +/* 07B9C8 7F046E58 46105083 */ div.s $f2, $f10, $f16 +/* 07B9CC 7F046E5C 46029181 */ sub.s $f6, $f18, $f2 +/* 07B9D0 7F046E60 460E303E */ c.le.s $f6, $f14 +/* 07B9D4 7F046E64 00000000 */ nop +/* 07B9D8 7F046E68 4502000F */ bc1fl .Ljp7F046EA8 +/* 07B9DC 7F046E6C C60C00DC */ lwc1 $f12, 0xdc($s0) +/* 07B9E0 7F046E70 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07B9E4 7F046E74 46048202 */ mul.s $f8, $f16, $f4 +/* 07B9E8 7F046E78 46080281 */ sub.s $f10, $f0, $f8 +/* 07B9EC 7F046E7C E60A00D8 */ swc1 $f10, 0xd8($s0) +/* 07B9F0 7F046E80 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07B9F4 7F046E84 4610003C */ c.lt.s $f0, $f16 +/* 07B9F8 7F046E88 00000000 */ nop +/* 07B9FC 7F046E8C 45000003 */ bc1f .Ljp7F046E9C +/* 07BA00 7F046E90 00000000 */ nop +/* 07BA04 7F046E94 E61000D8 */ swc1 $f16, 0xd8($s0) +/* 07BA08 7F046E98 C60000D8 */ lwc1 $f0, 0xd8($s0) +.Ljp7F046E9C: +/* 07BA0C 7F046E9C 1000001D */ b .Ljp7F046F14 +/* 07BA10 7F046EA0 C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07BA14 7F046EA4 C60C00DC */ lwc1 $f12, 0xdc($s0) +.Ljp7F046EA8: +/* 07BA18 7F046EA8 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07BA1C 7F046EAC 460C003C */ c.lt.s $f0, $f12 +/* 07BA20 7F046EB0 00000000 */ nop +/* 07BA24 7F046EB4 45000017 */ bc1f .Ljp7F046F14 +/* 07BA28 7F046EB8 00000000 */ nop +/* 07BA2C 7F046EBC C42683B4 */ lwc1 $f6, %lo(global_timer_delta)($at) +/* 07BA30 7F046EC0 46068102 */ mul.s $f4, $f16, $f6 +/* 07BA34 7F046EC4 46040080 */ add.s $f2, $f0, $f4 +/* 07BA38 7F046EC8 4602603C */ c.lt.s $f12, $f2 +/* 07BA3C 7F046ECC 00000000 */ nop +/* 07BA40 7F046ED0 45000002 */ bc1f .Ljp7F046EDC +/* 07BA44 7F046ED4 00000000 */ nop +/* 07BA48 7F046ED8 46006086 */ mov.s $f2, $f12 +.Ljp7F046EDC: +/* 07BA4C 7F046EDC 46021202 */ mul.s $f8, $f2, $f2 +/* 07BA50 7F046EE0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07BA54 7F046EE4 44815000 */ mtc1 $at, $f10 +/* 07BA58 7F046EE8 00000000 */ nop +/* 07BA5C 7F046EEC 460A4182 */ mul.s $f6, $f8, $f10 +/* 07BA60 7F046EF0 46103103 */ div.s $f4, $f6, $f16 +/* 07BA64 7F046EF4 46049201 */ sub.s $f8, $f18, $f4 +/* 07BA68 7F046EF8 4608703C */ c.lt.s $f14, $f8 +/* 07BA6C 7F046EFC 00000000 */ nop +/* 07BA70 7F046F00 45000004 */ bc1f .Ljp7F046F14 +/* 07BA74 7F046F04 00000000 */ nop +/* 07BA78 7F046F08 E60200D8 */ swc1 $f2, 0xd8($s0) +/* 07BA7C 7F046F0C C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07BA80 7F046F10 C60E00C8 */ lwc1 $f14, 0xc8($s0) +.Ljp7F046F14: +/* 07BA84 7F046F14 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07BA88 7F046F18 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07BA8C 7F046F1C 460A0182 */ mul.s $f6, $f0, $f10 +/* 07BA90 7F046F20 46067100 */ add.s $f4, $f14, $f6 +/* 07BA94 7F046F24 E60400C8 */ swc1 $f4, 0xc8($s0) +/* 07BA98 7F046F28 C60800C8 */ lwc1 $f8, 0xc8($s0) +/* 07BA9C 7F046F2C 4608903E */ c.le.s $f18, $f8 +/* 07BAA0 7F046F30 00000000 */ nop +/* 07BAA4 7F046F34 450205BF */ bc1fl .Ljp7F048634 +/* 07BAA8 7F046F38 92220003 */ lbu $v0, 3($s1) +/* 07BAAC 7F046F3C E61200C8 */ swc1 $f18, 0xc8($s0) +/* 07BAB0 7F046F40 E61600D8 */ swc1 $f22, 0xd8($s0) +/* 07BAB4 7F046F44 100005BA */ b .Ljp7F048630 +/* 07BAB8 7F046F48 AE0000D4 */ sw $zero, 0xd4($s0) +/* 07BABC 7F046F4C C60000D8 */ lwc1 $f0, 0xd8($s0) +.Ljp7F046F50: +/* 07BAC0 7F046F50 3C018005 */ lui $at, %hi(D_80052AE4) # $at, 0x8005 +/* 07BAC4 7F046F54 C4302B14 */ lwc1 $f16, %lo(D_80052AE4)($at) +/* 07BAC8 7F046F58 46000282 */ mul.s $f10, $f0, $f0 +/* 07BACC 7F046F5C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07BAD0 7F046F60 44813000 */ mtc1 $at, $f6 +/* 07BAD4 7F046F64 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07BAD8 7F046F68 24180001 */ li $t8, 1 +/* 07BADC 7F046F6C 46065102 */ mul.s $f4, $f10, $f6 +/* 07BAE0 7F046F70 46102083 */ div.s $f2, $f4, $f16 +/* 07BAE4 7F046F74 46029200 */ add.s $f8, $f18, $f2 +/* 07BAE8 7F046F78 4608703E */ c.le.s $f14, $f8 +/* 07BAEC 7F046F7C 00000000 */ nop +/* 07BAF0 7F046F80 4502000F */ bc1fl .Ljp7F046FC0 +/* 07BAF4 7F046F84 C60C00DC */ lwc1 $f12, 0xdc($s0) +/* 07BAF8 7F046F88 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07BAFC 7F046F8C 460A8182 */ mul.s $f6, $f16, $f10 +/* 07BB00 7F046F90 46060101 */ sub.s $f4, $f0, $f6 +/* 07BB04 7F046F94 E60400D8 */ swc1 $f4, 0xd8($s0) +/* 07BB08 7F046F98 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07BB0C 7F046F9C 4610003C */ c.lt.s $f0, $f16 +/* 07BB10 7F046FA0 00000000 */ nop +/* 07BB14 7F046FA4 45000003 */ bc1f .Ljp7F046FB4 +/* 07BB18 7F046FA8 00000000 */ nop +/* 07BB1C 7F046FAC E61000D8 */ swc1 $f16, 0xd8($s0) +/* 07BB20 7F046FB0 C60000D8 */ lwc1 $f0, 0xd8($s0) +.Ljp7F046FB4: +/* 07BB24 7F046FB4 1000001D */ b .Ljp7F04702C +/* 07BB28 7F046FB8 C60E00C8 */ lwc1 $f14, 0xc8($s0) +/* 07BB2C 7F046FBC C60C00DC */ lwc1 $f12, 0xdc($s0) +.Ljp7F046FC0: +/* 07BB30 7F046FC0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07BB34 7F046FC4 460C003C */ c.lt.s $f0, $f12 +/* 07BB38 7F046FC8 00000000 */ nop +/* 07BB3C 7F046FCC 45000017 */ bc1f .Ljp7F04702C +/* 07BB40 7F046FD0 00000000 */ nop +/* 07BB44 7F046FD4 C42883B4 */ lwc1 $f8, %lo(global_timer_delta)($at) +/* 07BB48 7F046FD8 46088282 */ mul.s $f10, $f16, $f8 +/* 07BB4C 7F046FDC 460A0080 */ add.s $f2, $f0, $f10 +/* 07BB50 7F046FE0 4602603C */ c.lt.s $f12, $f2 +/* 07BB54 7F046FE4 00000000 */ nop +/* 07BB58 7F046FE8 45000002 */ bc1f .Ljp7F046FF4 +/* 07BB5C 7F046FEC 00000000 */ nop +/* 07BB60 7F046FF0 46006086 */ mov.s $f2, $f12 +.Ljp7F046FF4: +/* 07BB64 7F046FF4 46021182 */ mul.s $f6, $f2, $f2 +/* 07BB68 7F046FF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07BB6C 7F046FFC 44812000 */ mtc1 $at, $f4 +/* 07BB70 7F047000 00000000 */ nop +/* 07BB74 7F047004 46043202 */ mul.s $f8, $f6, $f4 +/* 07BB78 7F047008 46104283 */ div.s $f10, $f8, $f16 +/* 07BB7C 7F04700C 460A9180 */ add.s $f6, $f18, $f10 +/* 07BB80 7F047010 460E303C */ c.lt.s $f6, $f14 +/* 07BB84 7F047014 00000000 */ nop +/* 07BB88 7F047018 45000004 */ bc1f .Ljp7F04702C +/* 07BB8C 7F04701C 00000000 */ nop +/* 07BB90 7F047020 E60200D8 */ swc1 $f2, 0xd8($s0) +/* 07BB94 7F047024 C60000D8 */ lwc1 $f0, 0xd8($s0) +/* 07BB98 7F047028 C60E00C8 */ lwc1 $f14, 0xc8($s0) +.Ljp7F04702C: +/* 07BB9C 7F04702C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07BBA0 7F047030 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07BBA4 7F047034 46040202 */ mul.s $f8, $f0, $f4 +/* 07BBA8 7F047038 46087281 */ sub.s $f10, $f14, $f8 +/* 07BBAC 7F04703C E60A00C8 */ swc1 $f10, 0xc8($s0) +/* 07BBB0 7F047040 C60600C8 */ lwc1 $f6, 0xc8($s0) +/* 07BBB4 7F047044 4612303E */ c.le.s $f6, $f18 +/* 07BBB8 7F047048 00000000 */ nop +/* 07BBBC 7F04704C 45020579 */ bc1fl .Ljp7F048634 +/* 07BBC0 7F047050 92220003 */ lbu $v0, 3($s1) +/* 07BBC4 7F047054 E61200C8 */ swc1 $f18, 0xc8($s0) +/* 07BBC8 7F047058 E61600D8 */ swc1 $f22, 0xd8($s0) +/* 07BBCC 7F04705C 10000574 */ b .Ljp7F048630 +/* 07BBD0 7F047060 AE1800D4 */ sw $t8, 0xd4($s0) +/* 07BBD4 7F047064 2401000D */ li $at, 13 +.Ljp7F047068: +/* 07BBD8 7F047068 5441023F */ bnel $v0, $at, .Ljp7F047968 +/* 07BBDC 7F04706C 24010027 */ li $at, 39 +/* 07BBE0 7F047070 8E280008 */ lw $t0, 8($s1) +/* 07BBE4 7F047074 000848C0 */ sll $t1, $t0, 3 +/* 07BBE8 7F047078 0522023B */ bltzl $t1, .Ljp7F047968 +/* 07BBEC 7F04707C 24010027 */ li $at, 39 +/* 07BBF0 7F047080 0FC2279B */ jal get_curplayer_positiondata +/* 07BBF4 7F047084 8E700004 */ lw $s0, 4($s3) +/* 07BBF8 7F047088 AFA004B0 */ sw $zero, 0x4b0($sp) +/* 07BBFC 7F04708C AFA004AC */ sw $zero, 0x4ac($sp) +/* 07BC00 7F047090 AFA004A8 */ sw $zero, 0x4a8($sp) +/* 07BC04 7F047094 8E23000C */ lw $v1, 0xc($s1) +/* 07BC08 7F047098 00409025 */ move $s2, $v0 +/* 07BC0C 7F04709C 00035800 */ sll $t3, $v1, 0 +/* 07BC10 7F0470A0 05610056 */ bgez $t3, .Ljp7F0471FC +/* 07BC14 7F0470A4 00036040 */ sll $t4, $v1, 1 +/* 07BC18 7F0470A8 05830008 */ bgezl $t4, .Ljp7F0470CC +/* 07BC1C 7F0470AC C6020084 */ lwc1 $f2, 0x84($s0) +/* 07BC20 7F0470B0 C6080090 */ lwc1 $f8, 0x90($s0) +/* 07BC24 7F0470B4 C604009C */ lwc1 $f4, 0x9c($s0) +/* 07BC28 7F0470B8 E6080084 */ swc1 $f8, 0x84($s0) +/* 07BC2C 7F0470BC C6020084 */ lwc1 $f2, 0x84($s0) +/* 07BC30 7F0470C0 10000036 */ b .Ljp7F04719C +/* 07BC34 7F0470C4 E6040098 */ swc1 $f4, 0x98($s0) +/* 07BC38 7F0470C8 C6020084 */ lwc1 $f2, 0x84($s0) +.Ljp7F0470CC: +/* 07BC3C 7F0470CC C60A0090 */ lwc1 $f10, 0x90($s0) +/* 07BC40 7F0470D0 460A1032 */ c.eq.s $f2, $f10 +/* 07BC44 7F0470D4 00000000 */ nop +/* 07BC48 7F0470D8 45000030 */ bc1f .Ljp7F04719C +/* 07BC4C 7F0470DC 00000000 */ nop +/* 07BC50 7F0470E0 C6060098 */ lwc1 $f6, 0x98($s0) +/* 07BC54 7F0470E4 C604009C */ lwc1 $f4, 0x9c($s0) +/* 07BC58 7F0470E8 46043032 */ c.eq.s $f6, $f4 +/* 07BC5C 7F0470EC 00000000 */ nop +/* 07BC60 7F0470F0 4500002A */ bc1f .Ljp7F04719C +/* 07BC64 7F0470F4 00000000 */ nop +/* 07BC68 7F0470F8 0C002918 */ jal get_random_value +/* 07BC6C 7F0470FC 00000000 */ nop +/* 07BC70 7F047100 44824000 */ mtc1 $v0, $f8 +/* 07BC74 7F047104 3C018005 */ lui $at, %hi(D_80052AE8) # $at, 0x8005 +/* 07BC78 7F047108 C4342B18 */ lwc1 $f20, %lo(D_80052AE8)($at) +/* 07BC7C 7F04710C 04410005 */ bgez $v0, .Ljp7F047124 +/* 07BC80 7F047110 468042A0 */ cvt.s.w $f10, $f8 +/* 07BC84 7F047114 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07BC88 7F047118 44813000 */ mtc1 $at, $f6 +/* 07BC8C 7F04711C 00000000 */ nop +/* 07BC90 7F047120 46065280 */ add.s $f10, $f10, $f6 +.Ljp7F047124: +/* 07BC94 7F047124 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07BC98 7F047128 44812000 */ mtc1 $at, $f4 +/* 07BC9C 7F04712C 3C01421C */ li $at, 0x421C0000 # 39.000000 +/* 07BCA0 7F047130 44813000 */ mtc1 $at, $f6 +/* 07BCA4 7F047134 46045202 */ mul.s $f8, $f10, $f4 +/* 07BCA8 7F047138 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07BCAC 7F04713C 44812000 */ mtc1 $at, $f4 +/* 07BCB0 7F047140 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07BCB4 7F047144 46064282 */ mul.s $f10, $f8, $f6 +/* 07BCB8 7F047148 46045200 */ add.s $f8, $f10, $f4 +/* 07BCBC 7F04714C 44815000 */ mtc1 $at, $f10 +/* 07BCC0 7F047150 46144182 */ mul.s $f6, $f8, $f20 +/* 07BCC4 7F047154 460A3103 */ div.s $f4, $f6, $f10 +/* 07BCC8 7F047158 0C002918 */ jal get_random_value +/* 07BCCC 7F04715C E6040098 */ swc1 $f4, 0x98($s0) +/* 07BCD0 7F047160 44824000 */ mtc1 $v0, $f8 +/* 07BCD4 7F047164 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07BCD8 7F047168 04410004 */ bgez $v0, .Ljp7F04717C +/* 07BCDC 7F04716C 468041A0 */ cvt.s.w $f6, $f8 +/* 07BCE0 7F047170 44815000 */ mtc1 $at, $f10 +/* 07BCE4 7F047174 00000000 */ nop +/* 07BCE8 7F047178 460A3180 */ add.s $f6, $f6, $f10 +.Ljp7F04717C: +/* 07BCEC 7F04717C 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07BCF0 7F047180 44812000 */ mtc1 $at, $f4 +/* 07BCF4 7F047184 00000000 */ nop +/* 07BCF8 7F047188 46043202 */ mul.s $f8, $f6, $f4 +/* 07BCFC 7F04718C 00000000 */ nop +/* 07BD00 7F047190 46144282 */ mul.s $f10, $f8, $f20 +/* 07BD04 7F047194 E60A0084 */ swc1 $f10, 0x84($s0) +/* 07BD08 7F047198 C6020084 */ lwc1 $f2, 0x84($s0) +.Ljp7F04719C: +/* 07BD0C 7F04719C 3C018005 */ lui $at, %hi(D_80052AEC) # $at, 0x8005 +/* 07BD10 7F0471A0 C4202B1C */ lwc1 $f0, %lo(D_80052AEC)($at) +/* 07BD14 7F0471A4 3C018005 */ lui $at, %hi(D_80052AF4) # $at, 0x8005 +/* 07BD18 7F0471A8 C4262B24 */ lwc1 $f6, %lo(D_80052AF4)($at) +/* 07BD1C 7F0471AC 44051000 */ mfc1 $a1, $f2 +/* 07BD20 7F0471B0 44070000 */ mfc1 $a3, $f0 +/* 07BD24 7F0471B4 26040090 */ addiu $a0, $s0, 0x90 +/* 07BD28 7F0471B8 26060094 */ addiu $a2, $s0, 0x94 +/* 07BD2C 7F0471BC E7A00010 */ swc1 $f0, 0x10($sp) +/* 07BD30 7F0471C0 0FC10D03 */ jal sub_GAME_7F04310C +/* 07BD34 7F0471C4 E7A60014 */ swc1 $f6, 0x14($sp) +/* 07BD38 7F0471C8 3C018005 */ lui $at, %hi(D_80052AF8) # $at, 0x8005 +/* 07BD3C 7F0471CC C4202B28 */ lwc1 $f0, %lo(D_80052AF8)($at) +/* 07BD40 7F0471D0 3C018005 */ lui $at, %hi(D_80052AFC) # $at, 0x8005 +/* 07BD44 7F0471D4 C4242B2C */ lwc1 $f4, %lo(D_80052AFC)($at) +/* 07BD48 7F0471D8 8E050098 */ lw $a1, 0x98($s0) +/* 07BD4C 7F0471DC 44070000 */ mfc1 $a3, $f0 +/* 07BD50 7F0471E0 2604009C */ addiu $a0, $s0, 0x9c +/* 07BD54 7F0471E4 260600A0 */ addiu $a2, $s0, 0xa0 +/* 07BD58 7F0471E8 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07BD5C 7F0471EC 0FC10D03 */ jal sub_GAME_7F04310C +/* 07BD60 7F0471F0 E7A40014 */ swc1 $f4, 0x14($sp) +/* 07BD64 7F0471F4 1000050F */ b .Ljp7F048634 +/* 07BD68 7F0471F8 92220003 */ lbu $v0, 3($s1) +.Ljp7F0471FC: +/* 07BD6C 7F0471FC C6480008 */ lwc1 $f8, 8($s2) +/* 07BD70 7F047200 C62A0058 */ lwc1 $f10, 0x58($s1) +/* 07BD74 7F047204 C646000C */ lwc1 $f6, 0xc($s2) +/* 07BD78 7F047208 C624005C */ lwc1 $f4, 0x5c($s1) +/* 07BD7C 7F04720C 460A4001 */ sub.s $f0, $f8, $f10 +/* 07BD80 7F047210 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 07BD84 7F047214 44815000 */ mtc1 $at, $f10 +/* 07BD88 7F047218 46043201 */ sub.s $f8, $f6, $f4 +/* 07BD8C 7F04721C 460A4181 */ sub.s $f6, $f8, $f10 +/* 07BD90 7F047220 46000282 */ mul.s $f10, $f0, $f0 +/* 07BD94 7F047224 E7A604C4 */ swc1 $f6, 0x4c4($sp) +/* 07BD98 7F047228 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07BD9C 7F04722C C6440010 */ lwc1 $f4, 0x10($s2) +/* 07BDA0 7F047230 E7A004C8 */ swc1 $f0, 0x4c8($sp) +/* 07BDA4 7F047234 46082081 */ sub.s $f2, $f4, $f8 +/* 07BDA8 7F047238 46021182 */ mul.s $f6, $f2, $f2 +/* 07BDAC 7F04723C E7A204C0 */ swc1 $f2, 0x4c0($sp) +/* 07BDB0 7F047240 46065500 */ add.s $f20, $f10, $f6 +/* 07BDB4 7F047244 E7B404BC */ swc1 $f20, 0x4bc($sp) +/* 07BDB8 7F047248 0C007E08 */ jal sqrtf +/* 07BDBC 7F04724C 4600A306 */ mov.s $f12, $f20 +/* 07BDC0 7F047250 E7A004B4 */ swc1 $f0, 0x4b4($sp) +/* 07BDC4 7F047254 8E2E0008 */ lw $t6, 8($s1) +/* 07BDC8 7F047258 46000086 */ mov.s $f2, $f0 +/* 07BDCC 7F04725C 000E5100 */ sll $t2, $t6, 4 +/* 07BDD0 7F047260 05430008 */ bgezl $t2, .Ljp7F047284 +/* 07BDD4 7F047264 C7AC04BC */ lwc1 $f12, 0x4bc($sp) +/* 07BDD8 7F047268 C7A004C4 */ lwc1 $f0, 0x4c4($sp) +/* 07BDDC 7F04726C 46000102 */ mul.s $f4, $f0, $f0 +/* 07BDE0 7F047270 4604A300 */ add.s $f12, $f20, $f4 +/* 07BDE4 7F047274 0C007E08 */ jal sqrtf +/* 07BDE8 7F047278 E7AC04BC */ swc1 $f12, 0x4bc($sp) +/* 07BDEC 7F04727C 46000086 */ mov.s $f2, $f0 +/* 07BDF0 7F047280 C7AC04BC */ lwc1 $f12, 0x4bc($sp) +.Ljp7F047284: +/* 07BDF4 7F047284 0FC0B553 */ jal sub_GAME_7F02D244 +/* 07BDF8 7F047288 E7A204B8 */ swc1 $f2, 0x4b8($sp) +/* 07BDFC 7F04728C E7A004A4 */ swc1 $f0, 0x4a4($sp) +/* 07BE00 7F047290 C6080098 */ lwc1 $f8, 0x98($s0) +/* 07BE04 7F047294 C6100084 */ lwc1 $f16, 0x84($s0) +/* 07BE08 7F047298 C7A204B8 */ lwc1 $f2, 0x4b8($sp) +/* 07BE0C 7F04729C E7A804D8 */ swc1 $f8, 0x4d8($sp) +/* 07BE10 7F0472A0 C60A00A8 */ lwc1 $f10, 0xa8($s0) +/* 07BE14 7F0472A4 460A103E */ c.le.s $f2, $f10 +/* 07BE18 7F0472A8 00000000 */ nop +/* 07BE1C 7F0472AC 45020096 */ bc1fl .Ljp7F047508 +/* 07BE20 7F0472B0 8FA804B0 */ lw $t0, 0x4b0($sp) +/* 07BE24 7F0472B4 C7AC04C8 */ lwc1 $f12, 0x4c8($sp) +/* 07BE28 7F0472B8 C7AE04C0 */ lwc1 $f14, 0x4c0($sp) +/* 07BE2C 7F0472BC 0FC16BD4 */ jal convert_angle_using_inverse +/* 07BE30 7F0472C0 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07BE34 7F0472C4 E7A004A0 */ swc1 $f0, 0x4a0($sp) +/* 07BE38 7F0472C8 C7AC04C4 */ lwc1 $f12, 0x4c4($sp) +/* 07BE3C 7F0472CC 0FC16BD4 */ jal convert_angle_using_inverse +/* 07BE40 7F0472D0 C7AE04B4 */ lwc1 $f14, 0x4b4($sp) +/* 07BE44 7F0472D4 E7A0049C */ swc1 $f0, 0x49c($sp) +/* 07BE48 7F0472D8 8E220008 */ lw $v0, 8($s1) +/* 07BE4C 7F0472DC C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07BE50 7F0472E0 24190001 */ li $t9, 1 +/* 07BE54 7F0472E4 00027840 */ sll $t7, $v0, 1 +/* 07BE58 7F0472E8 05E00003 */ bltz $t7, .Ljp7F0472F8 +/* 07BE5C 7F0472EC 00026880 */ sll $t5, $v0, 2 +/* 07BE60 7F0472F0 05A10005 */ bgez $t5, .Ljp7F047308 +/* 07BE64 7F0472F4 C7A604A0 */ lwc1 $f6, 0x4a0($sp) +.Ljp7F0472F8: +/* 07BE68 7F0472F8 3C018005 */ lui $at, %hi(D_80052B00) # $at, 0x8005 +/* 07BE6C 7F0472FC C4342B30 */ lwc1 $f20, %lo(D_80052B00)($at) +/* 07BE70 7F047300 10000027 */ b .Ljp7F0473A0 +/* 07BE74 7F047304 AFB904B0 */ sw $t9, 0x4b0($sp) +.Ljp7F047308: +/* 07BE78 7F047308 C6040090 */ lwc1 $f4, 0x90($s0) +/* 07BE7C 7F04730C 3C018005 */ lui $at, %hi(D_80052B04) # $at, 0x8005 +/* 07BE80 7F047310 46043301 */ sub.s $f12, $f6, $f4 +/* 07BE84 7F047314 4616603C */ c.lt.s $f12, $f22 +/* 07BE88 7F047318 00000000 */ nop +/* 07BE8C 7F04731C 45000003 */ bc1f .Ljp7F04732C +/* 07BE90 7F047320 00000000 */ nop +/* 07BE94 7F047324 C4342B34 */ lwc1 $f20, %lo(D_80052B04)($at) +/* 07BE98 7F047328 46146300 */ add.s $f12, $f12, $f20 +.Ljp7F04732C: +/* 07BE9C 7F04732C 3C018005 */ lui $at, %hi(D_80052B08) # $at, 0x8005 +/* 07BEA0 7F047330 C4342B38 */ lwc1 $f20, %lo(D_80052B08)($at) +/* 07BEA4 7F047334 3C018005 */ lui $at, %hi(D_80052B0C) # $at, 0x8005 +/* 07BEA8 7F047338 C4282B3C */ lwc1 $f8, %lo(D_80052B0C)($at) +/* 07BEAC 7F04733C 3C018005 */ lui $at, %hi(D_80052B10) # $at, 0x8005 +/* 07BEB0 7F047340 460C403C */ c.lt.s $f8, $f12 +/* 07BEB4 7F047344 00000000 */ nop +/* 07BEB8 7F047348 45020003 */ bc1fl .Ljp7F047358 +/* 07BEBC 7F04734C C60A009C */ lwc1 $f10, 0x9c($s0) +/* 07BEC0 7F047350 46146301 */ sub.s $f12, $f12, $f20 +/* 07BEC4 7F047354 C60A009C */ lwc1 $f10, 0x9c($s0) +.Ljp7F047358: +/* 07BEC8 7F047358 460A0081 */ sub.s $f2, $f0, $f10 +/* 07BECC 7F04735C 4616103C */ c.lt.s $f2, $f22 +/* 07BED0 7F047360 00000000 */ nop +/* 07BED4 7F047364 45000001 */ bc1f .Ljp7F04736C +/* 07BED8 7F047368 00000000 */ nop +.Ljp7F04736C: +/* 07BEDC 7F04736C C4262B40 */ lwc1 $f6, %lo(D_80052B10)($at) +/* 07BEE0 7F047370 3C018005 */ lui $at, %hi(D_80052B14) # $at, 0x8005 +/* 07BEE4 7F047374 4606603C */ c.lt.s $f12, $f6 +/* 07BEE8 7F047378 00000000 */ nop +/* 07BEEC 7F04737C 45020009 */ bc1fl .Ljp7F0473A4 +/* 07BEF0 7F047380 8FA804B0 */ lw $t0, 0x4b0($sp) +/* 07BEF4 7F047384 C4242B44 */ lwc1 $f4, %lo(D_80052B14)($at) +/* 07BEF8 7F047388 24180001 */ li $t8, 1 +/* 07BEFC 7F04738C 460C203C */ c.lt.s $f4, $f12 +/* 07BF00 7F047390 00000000 */ nop +/* 07BF04 7F047394 45020003 */ bc1fl .Ljp7F0473A4 +/* 07BF08 7F047398 8FA804B0 */ lw $t0, 0x4b0($sp) +/* 07BF0C 7F04739C AFB804B0 */ sw $t8, 0x4b0($sp) +.Ljp7F0473A0: +/* 07BF10 7F0473A0 8FA804B0 */ lw $t0, 0x4b0($sp) +.Ljp7F0473A4: +/* 07BF14 7F0473A4 C7A804A0 */ lwc1 $f8, 0x4a0($sp) +/* 07BF18 7F0473A8 02402025 */ move $a0, $s2 +/* 07BF1C 7F0473AC 11000055 */ beqz $t0, .Ljp7F047504 +/* 07BF20 7F0473B0 00002825 */ move $a1, $zero +/* 07BF24 7F0473B4 C60A0084 */ lwc1 $f10, 0x84($s0) +/* 07BF28 7F0473B8 3C018005 */ lui $at, %hi(D_80052B18) # $at, 0x8005 +/* 07BF2C 7F0473BC C4262B48 */ lwc1 $f6, %lo(D_80052B18)($at) +/* 07BF30 7F0473C0 460A4001 */ sub.s $f0, $f8, $f10 +/* 07BF34 7F0473C4 8E690014 */ lw $t1, 0x14($s3) +/* 07BF38 7F0473C8 3C018005 */ lui $at, %hi(D_80052B1C) # $at, 0x8005 +/* 07BF3C 7F0473CC 4606003C */ c.lt.s $f0, $f6 +/* 07BF40 7F0473D0 AFA90494 */ sw $t1, 0x494($sp) +/* 07BF44 7F0473D4 45000003 */ bc1f .Ljp7F0473E4 +/* 07BF48 7F0473D8 00000000 */ nop +/* 07BF4C 7F0473DC 10000007 */ b .Ljp7F0473FC +/* 07BF50 7F0473E0 46140000 */ add.s $f0, $f0, $f20 +.Ljp7F0473E4: +/* 07BF54 7F0473E4 C4242B4C */ lwc1 $f4, %lo(D_80052B1C)($at) +/* 07BF58 7F0473E8 4600203E */ c.le.s $f4, $f0 +/* 07BF5C 7F0473EC 00000000 */ nop +/* 07BF60 7F0473F0 45020003 */ bc1fl .Ljp7F047400 +/* 07BF64 7F0473F4 E7A00498 */ swc1 $f0, 0x498($sp) +/* 07BF68 7F0473F8 46140001 */ sub.s $f0, $f0, $f20 +.Ljp7F0473FC: +/* 07BF6C 7F0473FC E7A00498 */ swc1 $f0, 0x498($sp) +.Ljp7F047400: +/* 07BF70 7F047400 0FC229DD */ jal sub_GAME_7F08A03C +/* 07BF74 7F047404 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07BF78 7F047408 C7A00498 */ lwc1 $f0, 0x498($sp) +/* 07BF7C 7F04740C C6080088 */ lwc1 $f8, 0x88($s0) +/* 07BF80 7F047410 C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07BF84 7F047414 4608003E */ c.le.s $f0, $f8 +/* 07BF88 7F047418 00000000 */ nop +/* 07BF8C 7F04741C 45020027 */ bc1fl .Ljp7F0474BC +/* 07BF90 7F047420 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BF94 7F047424 C60A008C */ lwc1 $f10, 0x8c($s0) +/* 07BF98 7F047428 240B001B */ li $t3, 27 +/* 07BF9C 7F04742C 4600503E */ c.le.s $f10, $f0 +/* 07BFA0 7F047430 00000000 */ nop +/* 07BFA4 7F047434 45020021 */ bc1fl .Ljp7F0474BC +/* 07BFA8 7F047438 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07BFAC 7F04743C C6460010 */ lwc1 $f6, 0x10($s2) +/* 07BFB0 7F047440 8E650008 */ lw $a1, 8($s3) +/* 07BFB4 7F047444 8E660010 */ lw $a2, 0x10($s3) +/* 07BFB8 7F047448 8E470008 */ lw $a3, 8($s2) +/* 07BFBC 7F04744C AFAB0014 */ sw $t3, 0x14($sp) +/* 07BFC0 7F047450 E7A60010 */ swc1 $f6, 0x10($sp) +/* 07BFC4 7F047454 C660000C */ lwc1 $f0, 0xc($s3) +/* 07BFC8 7F047458 27A40494 */ addiu $a0, $sp, 0x494 +/* 07BFCC 7F04745C E7A00018 */ swc1 $f0, 0x18($sp) +/* 07BFD0 7F047460 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 07BFD4 7F047464 C642000C */ lwc1 $f2, 0xc($s2) +/* 07BFD8 7F047468 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07BFDC 7F04746C E7A20020 */ swc1 $f2, 0x20($sp) +/* 07BFE0 7F047470 0FC2C675 */ jal sub_GAME_7F0B0E24 +/* 07BFE4 7F047474 E7A20024 */ swc1 $f2, 0x24($sp) +/* 07BFE8 7F047478 1040000F */ beqz $v0, .Ljp7F0474B8 +/* 07BFEC 7F04747C C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07BFF0 7F047480 8FAC0494 */ lw $t4, 0x494($sp) +/* 07BFF4 7F047484 8E4E0014 */ lw $t6, 0x14($s2) +/* 07BFF8 7F047488 558E000C */ bnel $t4, $t6, .Ljp7F0474BC +/* 07BFFC 7F04748C 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07C000 7F047490 8E2A0008 */ lw $t2, 8($s1) +/* 07C004 7F047494 3C012000 */ lui $at, 0x2000 +/* 07C008 7F047498 240D0001 */ li $t5, 1 +/* 07C00C 7F04749C 01417825 */ or $t7, $t2, $at +/* 07C010 7F0474A0 AE2F0008 */ sw $t7, 8($s1) +/* 07C014 7F0474A4 C7A4049C */ lwc1 $f4, 0x49c($sp) +/* 07C018 7F0474A8 AFAD04A8 */ sw $t5, 0x4a8($sp) +/* 07C01C 7F0474AC C7B004A0 */ lwc1 $f16, 0x4a0($sp) +/* 07C020 7F0474B0 1000000F */ b .Ljp7F0474F0 +/* 07C024 7F0474B4 E7A404D8 */ swc1 $f4, 0x4d8($sp) +.Ljp7F0474B8: +/* 07C028 7F0474B8 8E0200B8 */ lw $v0, 0xb8($s0) +.Ljp7F0474BC: +/* 07C02C 7F0474BC 3C198005 */ lui $t9, %hi(global_timer) # $t9, 0x8005 +/* 07C030 7F0474C0 0442000B */ bltzl $v0, .Ljp7F0474F0 +/* 07C034 7F0474C4 AFA004B0 */ sw $zero, 0x4b0($sp) +/* 07C038 7F0474C8 8F3983AC */ lw $t9, %lo(global_timer)($t9) +/* 07C03C 7F0474CC 2738FF88 */ addiu $t8, $t9, -0x78 +/* 07C040 7F0474D0 0302082A */ slt $at, $t8, $v0 +/* 07C044 7F0474D4 50200006 */ beql $at, $zero, .Ljp7F0474F0 +/* 07C048 7F0474D8 AFA004B0 */ sw $zero, 0x4b0($sp) +/* 07C04C 7F0474DC C608009C */ lwc1 $f8, 0x9c($s0) +/* 07C050 7F0474E0 C6100090 */ lwc1 $f16, 0x90($s0) +/* 07C054 7F0474E4 10000002 */ b .Ljp7F0474F0 +/* 07C058 7F0474E8 E7A804D8 */ swc1 $f8, 0x4d8($sp) +/* 07C05C 7F0474EC AFA004B0 */ sw $zero, 0x4b0($sp) +.Ljp7F0474F0: +/* 07C060 7F0474F0 02402025 */ move $a0, $s2 +/* 07C064 7F0474F4 24050001 */ li $a1, 1 +/* 07C068 7F0474F8 0FC229DD */ jal sub_GAME_7F08A03C +/* 07C06C 7F0474FC E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07C070 7F047500 C7B004DC */ lwc1 $f16, 0x4dc($sp) +.Ljp7F047504: +/* 07C074 7F047504 8FA804B0 */ lw $t0, 0x4b0($sp) +.Ljp7F047508: +/* 07C078 7F047508 3C018005 */ lui $at, %hi(D_80052B20) # $at, 0x8005 +/* 07C07C 7F04750C C4342B50 */ lwc1 $f20, %lo(D_80052B20)($at) +/* 07C080 7F047510 51000007 */ beql $t0, $zero, .Ljp7F047530 +/* 07C084 7F047514 8E0900D0 */ lw $t1, 0xd0($s0) +/* 07C088 7F047518 C7AC04BC */ lwc1 $f12, 0x4bc($sp) +/* 07C08C 7F04751C 0FC0B553 */ jal sub_GAME_7F02D244 +/* 07C090 7F047520 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07C094 7F047524 C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07C098 7F047528 E7A004A4 */ swc1 $f0, 0x4a4($sp) +/* 07C09C 7F04752C 8E0900D0 */ lw $t1, 0xd0($s0) +.Ljp7F047530: +/* 07C0A0 7F047530 1120001F */ beqz $t1, .Ljp7F0475B0 +/* 07C0A4 7F047534 3C0B8005 */ lui $t3, %hi(global_timer) # $t3, 0x8005 +/* 07C0A8 7F047538 8D6B83AC */ lw $t3, %lo(global_timer)($t3) +/* 07C0AC 7F04753C 24010078 */ li $at, 120 +/* 07C0B0 7F047540 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07C0B4 7F047544 0161001A */ div $zero, $t3, $at +/* 07C0B8 7F047548 00006010 */ mfhi $t4 +/* 07C0BC 7F04754C 448C5000 */ mtc1 $t4, $f10 +/* 07C0C0 7F047550 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 07C0C4 7F047554 44814000 */ mtc1 $at, $f8 +/* 07C0C8 7F047558 468051A0 */ cvt.s.w $f6, $f10 +/* 07C0CC 7F04755C 46143102 */ mul.s $f4, $f6, $f20 +/* 07C0D0 7F047560 0FC160F3 */ jal sinf +/* 07C0D4 7F047564 46082303 */ div.s $f12, $f4, $f8 +/* 07C0D8 7F047568 3C018005 */ lui $at, %hi(D_80052B24) # $at, 0x8005 +/* 07C0DC 7F04756C C4262B54 */ lwc1 $f6, %lo(D_80052B24)($at) +/* 07C0E0 7F047570 C7AA04A4 */ lwc1 $f10, 0x4a4($sp) +/* 07C0E4 7F047574 C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07C0E8 7F047578 46065102 */ mul.s $f4, $f10, $f6 +/* 07C0EC 7F04757C 00000000 */ nop +/* 07C0F0 7F047580 46002202 */ mul.s $f8, $f4, $f0 +/* 07C0F4 7F047584 46088400 */ add.s $f16, $f16, $f8 +/* 07C0F8 7F047588 4616803C */ c.lt.s $f16, $f22 +/* 07C0FC 7F04758C 00000000 */ nop +/* 07C100 7F047590 45000002 */ bc1f .Ljp7F04759C +/* 07C104 7F047594 00000000 */ nop +/* 07C108 7F047598 46148400 */ add.s $f16, $f16, $f20 +.Ljp7F04759C: +/* 07C10C 7F04759C 4610A03E */ c.le.s $f20, $f16 +/* 07C110 7F0475A0 00000000 */ nop +/* 07C114 7F0475A4 45020003 */ bc1fl .Ljp7F0475B4 +/* 07C118 7F0475A8 C6020084 */ lwc1 $f2, 0x84($s0) +/* 07C11C 7F0475AC 46148401 */ sub.s $f16, $f16, $f20 +.Ljp7F0475B0: +/* 07C120 7F0475B0 C6020084 */ lwc1 $f2, 0x84($s0) +.Ljp7F0475B4: +/* 07C124 7F0475B4 3C018005 */ lui $at, %hi(D_80052B28) # $at, 0x8005 +/* 07C128 7F0475B8 C42A2B58 */ lwc1 $f10, %lo(D_80052B28)($at) +/* 07C12C 7F0475BC 46028001 */ sub.s $f0, $f16, $f2 +/* 07C130 7F0475C0 26040090 */ addiu $a0, $s0, 0x90 +/* 07C134 7F0475C4 460A003C */ c.lt.s $f0, $f10 +/* 07C138 7F0475C8 00000000 */ nop +/* 07C13C 7F0475CC 45000003 */ bc1f .Ljp7F0475DC +/* 07C140 7F0475D0 00000000 */ nop +/* 07C144 7F0475D4 10000008 */ b .Ljp7F0475F8 +/* 07C148 7F0475D8 46140000 */ add.s $f0, $f0, $f20 +.Ljp7F0475DC: +/* 07C14C 7F0475DC 3C018005 */ lui $at, %hi(D_80052B2C) # $at, 0x8005 +/* 07C150 7F0475E0 C4262B5C */ lwc1 $f6, %lo(D_80052B2C)($at) +/* 07C154 7F0475E4 4600303E */ c.le.s $f6, $f0 +/* 07C158 7F0475E8 00000000 */ nop +/* 07C15C 7F0475EC 45020003 */ bc1fl .Ljp7F0475FC +/* 07C160 7F0475F0 C60C0088 */ lwc1 $f12, 0x88($s0) +/* 07C164 7F0475F4 46140001 */ sub.s $f0, $f0, $f20 +.Ljp7F0475F8: +/* 07C168 7F0475F8 C60C0088 */ lwc1 $f12, 0x88($s0) +.Ljp7F0475FC: +/* 07C16C 7F0475FC 3C018005 */ lui $at, %hi(D_80052B30) # $at, 0x8005 +/* 07C170 7F047600 4600603C */ c.lt.s $f12, $f0 +/* 07C174 7F047604 00000000 */ nop +/* 07C178 7F047608 45020004 */ bc1fl .Ljp7F04761C +/* 07C17C 7F04760C C60C008C */ lwc1 $f12, 0x8c($s0) +/* 07C180 7F047610 10000007 */ b .Ljp7F047630 +/* 07C184 7F047614 460C1400 */ add.s $f16, $f2, $f12 +/* 07C188 7F047618 C60C008C */ lwc1 $f12, 0x8c($s0) +.Ljp7F04761C: +/* 07C18C 7F04761C 460C003C */ c.lt.s $f0, $f12 +/* 07C190 7F047620 00000000 */ nop +/* 07C194 7F047624 45020003 */ bc1fl .Ljp7F047634 +/* 07C198 7F047628 4616803C */ c.lt.s $f16, $f22 +/* 07C19C 7F04762C 460C1400 */ add.s $f16, $f2, $f12 +.Ljp7F047630: +/* 07C1A0 7F047630 4616803C */ c.lt.s $f16, $f22 +.Ljp7F047634: +/* 07C1A4 7F047634 00000000 */ nop +/* 07C1A8 7F047638 45020003 */ bc1fl .Ljp7F047648 +/* 07C1AC 7F04763C 4610A03E */ c.le.s $f20, $f16 +/* 07C1B0 7F047640 46148400 */ add.s $f16, $f16, $f20 +/* 07C1B4 7F047644 4610A03E */ c.le.s $f20, $f16 +.Ljp7F047648: +/* 07C1B8 7F047648 00000000 */ nop +/* 07C1BC 7F04764C 45000002 */ bc1f .Ljp7F047658 +/* 07C1C0 7F047650 00000000 */ nop +/* 07C1C4 7F047654 46148401 */ sub.s $f16, $f16, $f20 +.Ljp7F047658: +/* 07C1C8 7F047658 C4202B60 */ lwc1 $f0, %lo(D_80052B30)($at) +/* 07C1CC 7F04765C 44058000 */ mfc1 $a1, $f16 +/* 07C1D0 7F047660 26060094 */ addiu $a2, $s0, 0x94 +/* 07C1D4 7F047664 E7A00010 */ swc1 $f0, 0x10($sp) +/* 07C1D8 7F047668 C60400A4 */ lwc1 $f4, 0xa4($s0) +/* 07C1DC 7F04766C 44070000 */ mfc1 $a3, $f0 +/* 07C1E0 7F047670 E7B004DC */ swc1 $f16, 0x4dc($sp) +/* 07C1E4 7F047674 0FC10D03 */ jal sub_GAME_7F04310C +/* 07C1E8 7F047678 E7A40014 */ swc1 $f4, 0x14($sp) +/* 07C1EC 7F04767C 3C018005 */ lui $at, %hi(D_80052B34) # $at, 0x8005 +/* 07C1F0 7F047680 C4202B64 */ lwc1 $f0, %lo(D_80052B34)($at) +/* 07C1F4 7F047684 2604009C */ addiu $a0, $s0, 0x9c +/* 07C1F8 7F047688 8FA504D8 */ lw $a1, 0x4d8($sp) +/* 07C1FC 7F04768C E7A00010 */ swc1 $f0, 0x10($sp) +/* 07C200 7F047690 C60800A4 */ lwc1 $f8, 0xa4($s0) +/* 07C204 7F047694 44070000 */ mfc1 $a3, $f0 +/* 07C208 7F047698 260600A0 */ addiu $a2, $s0, 0xa0 +/* 07C20C 7F04769C 0FC10D03 */ jal sub_GAME_7F04310C +/* 07C210 7F0476A0 E7A80014 */ swc1 $f8, 0x14($sp) +/* 07C214 7F0476A4 C7B004DC */ lwc1 $f16, 0x4dc($sp) +/* 07C218 7F0476A8 C60A0090 */ lwc1 $f10, 0x90($s0) +/* 07C21C 7F0476AC 3C018005 */ lui $at, %hi(D_80052B38) # $at, 0x8005 +/* 07C220 7F0476B0 C7A604D8 */ lwc1 $f6, 0x4d8($sp) +/* 07C224 7F0476B4 460A8301 */ sub.s $f12, $f16, $f10 +/* 07C228 7F0476B8 4616603C */ c.lt.s $f12, $f22 +/* 07C22C 7F0476BC 00000000 */ nop +/* 07C230 7F0476C0 45000002 */ bc1f .Ljp7F0476CC +/* 07C234 7F0476C4 00000000 */ nop +/* 07C238 7F0476C8 46146300 */ add.s $f12, $f12, $f20 +.Ljp7F0476CC: +/* 07C23C 7F0476CC C4202B68 */ lwc1 $f0, %lo(D_80052B38)($at) +/* 07C240 7F0476D0 460C003C */ c.lt.s $f0, $f12 +/* 07C244 7F0476D4 00000000 */ nop +/* 07C248 7F0476D8 45020003 */ bc1fl .Ljp7F0476E8 +/* 07C24C 7F0476DC C604009C */ lwc1 $f4, 0x9c($s0) +/* 07C250 7F0476E0 46146301 */ sub.s $f12, $f12, $f20 +/* 07C254 7F0476E4 C604009C */ lwc1 $f4, 0x9c($s0) +.Ljp7F0476E8: +/* 07C258 7F0476E8 46043081 */ sub.s $f2, $f6, $f4 +/* 07C25C 7F0476EC 4616103C */ c.lt.s $f2, $f22 +/* 07C260 7F0476F0 00000000 */ nop +/* 07C264 7F0476F4 45020003 */ bc1fl .Ljp7F047704 +/* 07C268 7F0476F8 4602003C */ c.lt.s $f0, $f2 +/* 07C26C 7F0476FC 46141080 */ add.s $f2, $f2, $f20 +/* 07C270 7F047700 4602003C */ c.lt.s $f0, $f2 +.Ljp7F047704: +/* 07C274 7F047704 00000000 */ nop +/* 07C278 7F047708 45020003 */ bc1fl .Ljp7F047718 +/* 07C27C 7F04770C AE0000D0 */ sw $zero, 0xd0($s0) +/* 07C280 7F047710 46141081 */ sub.s $f2, $f2, $f20 +/* 07C284 7F047714 AE0000D0 */ sw $zero, 0xd0($s0) +.Ljp7F047718: +/* 07C288 7F047718 8FAE04B0 */ lw $t6, 0x4b0($sp) +/* 07C28C 7F04771C C7A804A4 */ lwc1 $f8, 0x4a4($sp) +/* 07C290 7F047720 51C00047 */ beql $t6, $zero, .Ljp7F047840 +/* 07C294 7F047724 8FB904AC */ lw $t9, 0x4ac($sp) +/* 07C298 7F047728 4608603C */ c.lt.s $f12, $f8 +/* 07C29C 7F04772C C7AA04A4 */ lwc1 $f10, 0x4a4($sp) +/* 07C2A0 7F047730 4502001B */ bc1fl .Ljp7F0477A0 +/* 07C2A4 7F047734 460A5000 */ add.s $f0, $f10, $f10 +/* 07C2A8 7F047738 46004007 */ neg.s $f0, $f8 +/* 07C2AC 7F04773C 460C003C */ c.lt.s $f0, $f12 +/* 07C2B0 7F047740 00000000 */ nop +/* 07C2B4 7F047744 45020016 */ bc1fl .Ljp7F0477A0 +/* 07C2B8 7F047748 460A5000 */ add.s $f0, $f10, $f10 +/* 07C2BC 7F04774C 4608103C */ c.lt.s $f2, $f8 +/* 07C2C0 7F047750 00000000 */ nop +/* 07C2C4 7F047754 45020012 */ bc1fl .Ljp7F0477A0 +/* 07C2C8 7F047758 460A5000 */ add.s $f0, $f10, $f10 +/* 07C2CC 7F04775C 4602003C */ c.lt.s $f0, $f2 +/* 07C2D0 7F047760 240A0001 */ li $t2, 1 +/* 07C2D4 7F047764 4502000E */ bc1fl .Ljp7F0477A0 +/* 07C2D8 7F047768 460A5000 */ add.s $f0, $f10, $f10 +/* 07C2DC 7F04776C AE0A00D0 */ sw $t2, 0xd0($s0) +/* 07C2E0 7F047770 8FAD04A8 */ lw $t5, 0x4a8($sp) +/* 07C2E4 7F047774 240F0001 */ li $t7, 1 +/* 07C2E8 7F047778 AFAF04AC */ sw $t7, 0x4ac($sp) +/* 07C2EC 7F04777C 11A0002F */ beqz $t5, .Ljp7F04783C +/* 07C2F0 7F047780 3C198005 */ lui $t9, %hi(global_timer) # $t9, 0x8005 +/* 07C2F4 7F047784 8F3983AC */ lw $t9, %lo(global_timer)($t9) +/* 07C2F8 7F047788 3C188005 */ lui $t8, %hi(global_timer) # $t8, 0x8005 +/* 07C2FC 7F04778C AE1900B8 */ sw $t9, 0xb8($s0) +/* 07C300 7F047790 8F1883AC */ lw $t8, %lo(global_timer)($t8) +/* 07C304 7F047794 10000029 */ b .Ljp7F04783C +/* 07C308 7F047798 AE1800BC */ sw $t8, 0xbc($s0) +/* 07C30C 7F04779C 460A5000 */ add.s $f0, $f10, $f10 +.Ljp7F0477A0: +/* 07C310 7F0477A0 4600603C */ c.lt.s $f12, $f0 +/* 07C314 7F0477A4 00000000 */ nop +/* 07C318 7F0477A8 45020018 */ bc1fl .Ljp7F04780C +/* 07C31C 7F0477AC 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07C320 7F0477B0 46000387 */ neg.s $f14, $f0 +/* 07C324 7F0477B4 460C703C */ c.lt.s $f14, $f12 +/* 07C328 7F0477B8 00000000 */ nop +/* 07C32C 7F0477BC 45020013 */ bc1fl .Ljp7F04780C +/* 07C330 7F0477C0 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07C334 7F0477C4 4600103C */ c.lt.s $f2, $f0 +/* 07C338 7F0477C8 00000000 */ nop +/* 07C33C 7F0477CC 4502000F */ bc1fl .Ljp7F04780C +/* 07C340 7F0477D0 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07C344 7F0477D4 4602703C */ c.lt.s $f14, $f2 +/* 07C348 7F0477D8 24080001 */ li $t0, 1 +/* 07C34C 7F0477DC 4502000B */ bc1fl .Ljp7F04780C +/* 07C350 7F0477E0 8E0200B8 */ lw $v0, 0xb8($s0) +/* 07C354 7F0477E4 AE0800D0 */ sw $t0, 0xd0($s0) +/* 07C358 7F0477E8 8FAB04A8 */ lw $t3, 0x4a8($sp) +/* 07C35C 7F0477EC 24090001 */ li $t1, 1 +/* 07C360 7F0477F0 AFA904AC */ sw $t1, 0x4ac($sp) +/* 07C364 7F0477F4 11600011 */ beqz $t3, .Ljp7F04783C +/* 07C368 7F0477F8 3C0C8005 */ lui $t4, %hi(global_timer) # $t4, 0x8005 +/* 07C36C 7F0477FC 8D8C83AC */ lw $t4, %lo(global_timer)($t4) +/* 07C370 7F047800 1000000E */ b .Ljp7F04783C +/* 07C374 7F047804 AE0C00B8 */ sw $t4, 0xb8($s0) +/* 07C378 7F047808 8E0200B8 */ lw $v0, 0xb8($s0) +.Ljp7F04780C: +/* 07C37C 7F04780C 3C0E8005 */ lui $t6, %hi(global_timer) # $t6, 0x8005 +/* 07C380 7F047810 0442000B */ bltzl $v0, .Ljp7F047840 +/* 07C384 7F047814 8FB904AC */ lw $t9, 0x4ac($sp) +/* 07C388 7F047818 8DCE83AC */ lw $t6, %lo(global_timer)($t6) +/* 07C38C 7F04781C 240F0001 */ li $t7, 1 +/* 07C390 7F047820 240D0001 */ li $t5, 1 +/* 07C394 7F047824 25CAFF88 */ addiu $t2, $t6, -0x78 +/* 07C398 7F047828 0142082A */ slt $at, $t2, $v0 +/* 07C39C 7F04782C 50200004 */ beql $at, $zero, .Ljp7F047840 +/* 07C3A0 7F047830 8FB904AC */ lw $t9, 0x4ac($sp) +/* 07C3A4 7F047834 AE0F00D0 */ sw $t7, 0xd0($s0) +/* 07C3A8 7F047838 AFAD04AC */ sw $t5, 0x4ac($sp) +.Ljp7F04783C: +/* 07C3AC 7F04783C 8FB904AC */ lw $t9, 0x4ac($sp) +.Ljp7F047840: +/* 07C3B0 7F047840 3C018005 */ lui $at, %hi(D_80052B3C) # $at, 0x8005 +/* 07C3B4 7F047844 53200013 */ beql $t9, $zero, .Ljp7F047894 +/* 07C3B8 7F047848 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07C3BC 7F04784C C4202B6C */ lwc1 $f0, %lo(D_80052B3C)($at) +/* 07C3C0 7F047850 3C018005 */ lui $at, %hi(D_80052B40) # $at, 0x8005 +/* 07C3C4 7F047854 C4262B70 */ lwc1 $f6, %lo(D_80052B40)($at) +/* 07C3C8 7F047858 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C3CC 7F04785C C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07C3D0 7F047860 C60A00B0 */ lwc1 $f10, 0xb0($s0) +/* 07C3D4 7F047864 46043202 */ mul.s $f8, $f6, $f4 +/* 07C3D8 7F047868 46085180 */ add.s $f6, $f10, $f8 +/* 07C3DC 7F04786C E60600B0 */ swc1 $f6, 0xb0($s0) +/* 07C3E0 7F047870 C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07C3E4 7F047874 4602003C */ c.lt.s $f0, $f2 +/* 07C3E8 7F047878 00000000 */ nop +/* 07C3EC 7F04787C 45020023 */ bc1fl .Ljp7F04790C +/* 07C3F0 7F047880 4602B03C */ c.lt.s $f22, $f2 +/* 07C3F4 7F047884 E60000B0 */ swc1 $f0, 0xb0($s0) +/* 07C3F8 7F047888 1000001F */ b .Ljp7F047908 +/* 07C3FC 7F04788C C60200B0 */ lwc1 $f2, 0xb0($s0) +/* 07C400 7F047890 C60200B0 */ lwc1 $f2, 0xb0($s0) +.Ljp7F047894: +/* 07C404 7F047894 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 +/* 07C408 7F047898 4602B03C */ c.lt.s $f22, $f2 +/* 07C40C 7F04789C 00000000 */ nop +/* 07C410 7F0478A0 4502001A */ bc1fl .Ljp7F04790C +/* 07C414 7F0478A4 4602B03C */ c.lt.s $f22, $f2 +/* 07C418 7F0478A8 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) +/* 07C41C 7F0478AC 00001025 */ move $v0, $zero +/* 07C420 7F0478B0 3C018005 */ lui $at, %hi(D_80052B44) # $at, 0x8005 +/* 07C424 7F0478B4 1B00000C */ blez $t8, .Ljp7F0478E8 +/* 07C428 7F0478B8 00000000 */ nop +/* 07C42C 7F0478BC C4202B74 */ lwc1 $f0, %lo(D_80052B44)($at) +/* 07C430 7F0478C0 C60400B0 */ lwc1 $f4, 0xb0($s0) +.Ljp7F0478C4: +/* 07C434 7F0478C4 3C088005 */ lui $t0, %hi(clock_timer) # $t0, 0x8005 +/* 07C438 7F0478C8 24420001 */ addiu $v0, $v0, 1 +/* 07C43C 7F0478CC 46002282 */ mul.s $f10, $f4, $f0 +/* 07C440 7F0478D0 E60A00B0 */ swc1 $f10, 0xb0($s0) +/* 07C444 7F0478D4 8D0883A4 */ lw $t0, %lo(clock_timer)($t0) +/* 07C448 7F0478D8 0048082A */ slt $at, $v0, $t0 +/* 07C44C 7F0478DC 5420FFF9 */ bnezl $at, .Ljp7F0478C4 +/* 07C450 7F0478E0 C60400B0 */ lwc1 $f4, 0xb0($s0) +/* 07C454 7F0478E4 C60200B0 */ lwc1 $f2, 0xb0($s0) +.Ljp7F0478E8: +/* 07C458 7F0478E8 3C018005 */ lui $at, %hi(D_80052B48) # $at, 0x8005 +/* 07C45C 7F0478EC C4282B78 */ lwc1 $f8, %lo(D_80052B48)($at) +/* 07C460 7F0478F0 4608103E */ c.le.s $f2, $f8 +/* 07C464 7F0478F4 00000000 */ nop +/* 07C468 7F0478F8 45020004 */ bc1fl .Ljp7F04790C +/* 07C46C 7F0478FC 4602B03C */ c.lt.s $f22, $f2 +/* 07C470 7F047900 E61600B0 */ swc1 $f22, 0xb0($s0) +/* 07C474 7F047904 C60200B0 */ lwc1 $f2, 0xb0($s0) +.Ljp7F047908: +/* 07C478 7F047908 4602B03C */ c.lt.s $f22, $f2 +.Ljp7F04790C: +/* 07C47C 7F04790C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C480 7F047910 45020348 */ bc1fl .Ljp7F048634 +/* 07C484 7F047914 92220003 */ lbu $v0, 3($s1) +/* 07C488 7F047918 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07C48C 7F04791C C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07C490 7F047920 46041282 */ mul.s $f10, $f2, $f4 +/* 07C494 7F047924 460A3200 */ add.s $f8, $f6, $f10 +/* 07C498 7F047928 E60800B4 */ swc1 $f8, 0xb4($s0) +/* 07C49C 7F04792C C60000B4 */ lwc1 $f0, 0xb4($s0) +/* 07C4A0 7F047930 4600A03E */ c.le.s $f20, $f0 +/* 07C4A4 7F047934 00000000 */ nop +/* 07C4A8 7F047938 4502033E */ bc1fl .Ljp7F048634 +/* 07C4AC 7F04793C 92220003 */ lbu $v0, 3($s1) +/* 07C4B0 7F047940 46140101 */ sub.s $f4, $f0, $f20 +.Ljp7F047944: +/* 07C4B4 7F047944 E60400B4 */ swc1 $f4, 0xb4($s0) +/* 07C4B8 7F047948 C60000B4 */ lwc1 $f0, 0xb4($s0) +/* 07C4BC 7F04794C 4600A03E */ c.le.s $f20, $f0 +/* 07C4C0 7F047950 00000000 */ nop +/* 07C4C4 7F047954 4503FFFB */ bc1tl .Ljp7F047944 +/* 07C4C8 7F047958 46140101 */ sub.s $f4, $f0, $f20 +/* 07C4CC 7F04795C 10000335 */ b .Ljp7F048634 +/* 07C4D0 7F047960 92220003 */ lbu $v0, 3($s1) +/* 07C4D4 7F047964 24010027 */ li $at, 39 +.Ljp7F047968: +/* 07C4D8 7F047968 14410255 */ bne $v0, $at, .Ljp7F0482C0 +/* 07C4DC 7F04796C 02202025 */ move $a0, $s1 +/* 07C4E0 7F047970 C62600A0 */ lwc1 $f6, 0xa0($s1) +/* 07C4E4 7F047974 AFA0047C */ sw $zero, 0x47c($sp) +/* 07C4E8 7F047978 24050001 */ li $a1, 1 +/* 07C4EC 7F04797C 0FC0D5E1 */ jal parse_handle_actionblocks +/* 07C4F0 7F047980 E7A60480 */ swc1 $f6, 0x480($sp) +/* 07C4F4 7F047984 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07C4F8 7F047988 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C4FC 7F04798C 460EB03E */ c.le.s $f22, $f14 +/* 07C500 7F047990 00000000 */ nop +/* 07C504 7F047994 45020016 */ bc1fl .Ljp7F0479F0 +/* 07C508 7F047998 8E29000C */ lw $t1, 0xc($s1) +/* 07C50C 7F04799C C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C510 7F0479A0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C514 7F0479A4 4602703E */ c.le.s $f14, $f2 +/* 07C518 7F0479A8 00000000 */ nop +/* 07C51C 7F0479AC 45020006 */ bc1fl .Ljp7F0479C8 +/* 07C520 7F0479B0 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07C524 7F0479B4 C62A0094 */ lwc1 $f10, 0x94($s1) +/* 07C528 7F0479B8 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07C52C 7F0479BC 10000008 */ b .Ljp7F0479E0 +/* 07C530 7F0479C0 E62A0088 */ swc1 $f10, 0x88($s1) +/* 07C534 7F0479C4 C6200088 */ lwc1 $f0, 0x88($s1) +.Ljp7F0479C8: +/* 07C538 7F0479C8 C6280094 */ lwc1 $f8, 0x94($s1) +/* 07C53C 7F0479CC 46004101 */ sub.s $f4, $f8, $f0 +/* 07C540 7F0479D0 46022182 */ mul.s $f6, $f4, $f2 +/* 07C544 7F0479D4 460E3283 */ div.s $f10, $f6, $f14 +/* 07C548 7F0479D8 460A0200 */ add.s $f8, $f0, $f10 +/* 07C54C 7F0479DC E6280088 */ swc1 $f8, 0x88($s1) +.Ljp7F0479E0: +/* 07C550 7F0479E0 C42483B4 */ lwc1 $f4, %lo(global_timer_delta)($at) +/* 07C554 7F0479E4 46047181 */ sub.s $f6, $f14, $f4 +/* 07C558 7F0479E8 E6260098 */ swc1 $f6, 0x98($s1) +/* 07C55C 7F0479EC 8E29000C */ lw $t1, 0xc($s1) +.Ljp7F0479F0: +/* 07C560 7F0479F0 00008025 */ move $s0, $zero +/* 07C564 7F0479F4 00095B00 */ sll $t3, $t1, 0xc +/* 07C568 7F0479F8 05600014 */ bltz $t3, .Ljp7F047A4C +/* 07C56C 7F0479FC 00000000 */ nop +/* 07C570 7F047A00 0FC13CCE */ jal check_if_object_has_not_been_destroyed +/* 07C574 7F047A04 02202025 */ move $a0, $s1 +/* 07C578 7F047A08 10400010 */ beqz $v0, .Ljp7F047A4C +/* 07C57C 7F047A0C 00000000 */ nop +/* 07C580 7F047A10 C62A0088 */ lwc1 $f10, 0x88($s1) +/* 07C584 7F047A14 26240058 */ addiu $a0, $s1, 0x58 +/* 07C588 7F047A18 3C0544FA */ lui $a1, 0x44fa +/* 07C58C 7F047A1C 460AB03C */ c.lt.s $f22, $f10 +/* 07C590 7F047A20 3C06453B */ lui $a2, (0x453B8000 >> 16) # lui $a2, 0x453b +/* 07C594 7F047A24 45010006 */ bc1t .Ljp7F047A40 +/* 07C598 7F047A28 00000000 */ nop +/* 07C59C 7F047A2C C6280094 */ lwc1 $f8, 0x94($s1) +/* 07C5A0 7F047A30 4608B03C */ c.lt.s $f22, $f8 +/* 07C5A4 7F047A34 00000000 */ nop +/* 07C5A8 7F047A38 45000004 */ bc1f .Ljp7F047A4C +/* 07C5AC 7F047A3C 00000000 */ nop +.Ljp7F047A40: +/* 07C5B0 7F047A40 0FC14F64 */ jal sub_GAME_7F053894 +/* 07C5B4 7F047A44 34C68000 */ ori $a2, (0x453B8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 07C5B8 7F047A48 00408025 */ move $s0, $v0 +.Ljp7F047A4C: +/* 07C5BC 7F047A4C 5A000019 */ blezl $s0, .Ljp7F047AB4 +/* 07C5C0 7F047A50 8E2400AC */ lw $a0, 0xac($s1) +/* 07C5C4 7F047A54 8E2400AC */ lw $a0, 0xac($s1) +/* 07C5C8 7F047A58 10800005 */ beqz $a0, .Ljp7F047A70 +/* 07C5CC 7F047A5C 00000000 */ nop +/* 07C5D0 7F047A60 0C002380 */ jal sfxGetArg0Unk3F +/* 07C5D4 7F047A64 00000000 */ nop +/* 07C5D8 7F047A68 5440000A */ bnezl $v0, .Ljp7F047A94 +/* 07C5DC 7F047A6C 8E2400AC */ lw $a0, 0xac($s1) +.Ljp7F047A70: +/* 07C5E0 7F047A70 0FC3021B */ jal get_controls_locked_flag +/* 07C5E4 7F047A74 00000000 */ nop +/* 07C5E8 7F047A78 14400005 */ bnez $v0, .Ljp7F047A90 +/* 07C5EC 7F047A7C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07C5F0 7F047A80 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07C5F4 7F047A84 24050041 */ li $a1, 65 +/* 07C5F8 7F047A88 0C002386 */ jal play_sfx_a1 +/* 07C5FC 7F047A8C 262600AC */ addiu $a2, $s1, 0xac +.Ljp7F047A90: +/* 07C600 7F047A90 8E2400AC */ lw $a0, 0xac($s1) +.Ljp7F047A94: +/* 07C604 7F047A94 24050008 */ li $a1, 8 +/* 07C608 7F047A98 5080000F */ beql $a0, $zero, .Ljp7F047AD8 +/* 07C60C 7F047A9C 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C610 7F047AA0 0C002465 */ jal sfx_c_70009184 +/* 07C614 7F047AA4 02003025 */ move $a2, $s0 +/* 07C618 7F047AA8 1000000B */ b .Ljp7F047AD8 +/* 07C61C 7F047AAC 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C620 7F047AB0 8E2400AC */ lw $a0, 0xac($s1) +.Ljp7F047AB4: +/* 07C624 7F047AB4 50800008 */ beql $a0, $zero, .Ljp7F047AD8 +/* 07C628 7F047AB8 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C62C 7F047ABC 0C002380 */ jal sfxGetArg0Unk3F +/* 07C630 7F047AC0 00000000 */ nop +/* 07C634 7F047AC4 50400004 */ beql $v0, $zero, .Ljp7F047AD8 +/* 07C638 7F047AC8 8E2400A4 */ lw $a0, 0xa4($s1) +/* 07C63C 7F047ACC 0C00240C */ jal sfxDeactivate +/* 07C640 7F047AD0 8E2400AC */ lw $a0, 0xac($s1) +/* 07C644 7F047AD4 8E2400A4 */ lw $a0, 0xa4($s1) +.Ljp7F047AD8: +/* 07C648 7F047AD8 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 +/* 07C64C 7F047ADC 5080002A */ beql $a0, $zero, .Ljp7F047B88 +/* 07C650 7F047AE0 8E2F0008 */ lw $t7, 8($s1) +/* 07C654 7F047AE4 8E2E00A8 */ lw $t6, 0xa8($s1) +/* 07C658 7F047AE8 8C8C0000 */ lw $t4, ($a0) +/* 07C65C 7F047AEC 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 +/* 07C660 7F047AF0 000E5080 */ sll $t2, $t6, 2 +/* 07C664 7F047AF4 018A1021 */ addu $v0, $t4, $t2 +/* 07C668 7F047AF8 8C4F0000 */ lw $t7, ($v0) +/* 07C66C 7F047AFC 8CB90000 */ lw $t9, ($a1) +/* 07C670 7F047B00 8CA90018 */ lw $t1, 0x18($a1) +/* 07C674 7F047B04 000F6900 */ sll $t5, $t7, 4 +/* 07C678 7F047B08 01B91821 */ addu $v1, $t5, $t9 +/* 07C67C 7F047B0C 8C780000 */ lw $t8, ($v1) +/* 07C680 7F047B10 C6260058 */ lwc1 $f6, 0x58($s1) +/* 07C684 7F047B14 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07C688 7F047B18 00184080 */ sll $t0, $t8, 2 +/* 07C68C 7F047B1C 01184023 */ subu $t0, $t0, $t8 +/* 07C690 7F047B20 00084080 */ sll $t0, $t0, 2 +/* 07C694 7F047B24 01184023 */ subu $t0, $t0, $t8 +/* 07C698 7F047B28 00084080 */ sll $t0, $t0, 2 +/* 07C69C 7F047B2C 01093021 */ addu $a2, $t0, $t1 +/* 07C6A0 7F047B30 C4C40000 */ lwc1 $f4, ($a2) +/* 07C6A4 7F047B34 C4CA0008 */ lwc1 $f10, 8($a2) +/* 07C6A8 7F047B38 AFA6047C */ sw $a2, 0x47c($sp) +/* 07C6AC 7F047B3C 46062301 */ sub.s $f12, $f4, $f6 +/* 07C6B0 7F047B40 0FC16BD4 */ jal convert_angle_using_inverse +/* 07C6B4 7F047B44 46085381 */ sub.s $f14, $f10, $f8 +/* 07C6B8 7F047B48 E7A00480 */ swc1 $f0, 0x480($sp) +/* 07C6BC 7F047B4C 8E2B0008 */ lw $t3, 8($s1) +/* 07C6C0 7F047B50 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07C6C4 7F047B54 C7A40480 */ lwc1 $f4, 0x480($sp) +/* 07C6C8 7F047B58 000B7080 */ sll $t6, $t3, 2 +/* 07C6CC 7F047B5C 05C10018 */ bgez $t6, .Ljp7F047BC0 +/* 07C6D0 7F047B60 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07C6D4 7F047B64 8E2C0008 */ lw $t4, 8($s1) +/* 07C6D8 7F047B68 E62400A0 */ swc1 $f4, 0xa0($s1) +/* 07C6DC 7F047B6C 02202025 */ move $a0, $s1 +/* 07C6E0 7F047B70 01815024 */ and $t2, $t4, $at +/* 07C6E4 7F047B74 0FC113C3 */ jal sub_GAME_7F044B38 +/* 07C6E8 7F047B78 AE2A0008 */ sw $t2, 8($s1) +/* 07C6EC 7F047B7C 10000011 */ b .Ljp7F047BC4 +/* 07C6F0 7F047B80 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07C6F4 7F047B84 8E2F0008 */ lw $t7, 8($s1) +.Ljp7F047B88: +/* 07C6F8 7F047B88 000F6880 */ sll $t5, $t7, 2 +/* 07C6FC 7F047B8C 05A3000D */ bgezl $t5, .Ljp7F047BC4 +/* 07C700 7F047B90 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07C704 7F047B94 C62C0038 */ lwc1 $f12, 0x38($s1) +/* 07C708 7F047B98 0FC16BD4 */ jal convert_angle_using_inverse +/* 07C70C 7F047B9C C62E0040 */ lwc1 $f14, 0x40($s1) +/* 07C710 7F047BA0 8E390008 */ lw $t9, 8($s1) +/* 07C714 7F047BA4 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07C718 7F047BA8 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07C71C 7F047BAC 0321C024 */ and $t8, $t9, $at +/* 07C720 7F047BB0 E62000A0 */ swc1 $f0, 0xa0($s1) +/* 07C724 7F047BB4 AE380008 */ sw $t8, 8($s1) +/* 07C728 7F047BB8 0FC113C3 */ jal sub_GAME_7F044B38 +/* 07C72C 7F047BBC 02202025 */ move $a0, $s1 +.Ljp7F047BC0: +/* 07C730 7F047BC0 C6260088 */ lwc1 $f6, 0x88($s1) +.Ljp7F047BC4: +/* 07C734 7F047BC4 4606B03C */ c.lt.s $f22, $f6 +/* 07C738 7F047BC8 00000000 */ nop +/* 07C73C 7F047BCC 450201AC */ bc1fl .Ljp7F048280 +/* 07C740 7F047BD0 8E2A0008 */ lw $t2, 8($s1) +/* 07C744 7F047BD4 8E680014 */ lw $t0, 0x14($s3) +/* 07C748 7F047BD8 8FA9047C */ lw $t1, 0x47c($sp) +/* 07C74C 7F047BDC 4600B386 */ mov.s $f14, $f22 +/* 07C750 7F047BE0 AFA8046C */ sw $t0, 0x46c($sp) +/* 07C754 7F047BE4 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C758 7F047BE8 E7AC043C */ swc1 $f12, 0x43c($sp) +/* 07C75C 7F047BEC C62A009C */ lwc1 $f10, 0x9c($s1) +/* 07C760 7F047BF0 11200013 */ beqz $t1, .Ljp7F047C40 +/* 07C764 7F047BF4 E7AA0438 */ swc1 $f10, 0x438($sp) +/* 07C768 7F047BF8 262B0058 */ addiu $t3, $s1, 0x58 +/* 07C76C 7F047BFC AFAB0074 */ sw $t3, 0x74($sp) +/* 07C770 7F047C00 0FC160F3 */ jal sinf +/* 07C774 7F047C04 E7AE0434 */ swc1 $f14, 0x434($sp) +/* 07C778 7F047C08 E7A00440 */ swc1 $f0, 0x440($sp) +/* 07C77C 7F047C0C E7B60444 */ swc1 $f22, 0x444($sp) +/* 07C780 7F047C10 0FC160F0 */ jal cosf +/* 07C784 7F047C14 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C788 7F047C18 E7A00448 */ swc1 $f0, 0x448($sp) +/* 07C78C 7F047C1C 8FA40074 */ lw $a0, 0x74($sp) +/* 07C790 7F047C20 27A50440 */ addiu $a1, $sp, 0x440 +/* 07C794 7F047C24 8FA6047C */ lw $a2, 0x47c($sp) +/* 07C798 7F047C28 0FC0BFCD */ jal sub_GAME_7F02FC34 +/* 07C79C 7F047C2C 3C074120 */ lui $a3, 0x4120 +/* 07C7A0 7F047C30 10400003 */ beqz $v0, .Ljp7F047C40 +/* 07C7A4 7F047C34 C7AE0434 */ lwc1 $f14, 0x434($sp) +/* 07C7A8 7F047C38 C62800A0 */ lwc1 $f8, 0xa0($s1) +/* 07C7AC 7F047C3C E7A80480 */ swc1 $f8, 0x480($sp) +.Ljp7F047C40: +/* 07C7B0 7F047C40 3C018005 */ lui $at, %hi(D_80052B4C) # $at, 0x8005 +/* 07C7B4 7F047C44 C4242B7C */ lwc1 $f4, %lo(D_80052B4C)($at) +/* 07C7B8 7F047C48 3C018005 */ lui $at, %hi(D_80052B50) # $at, 0x8005 +/* 07C7BC 7F047C4C C4262B80 */ lwc1 $f6, %lo(D_80052B50)($at) +/* 07C7C0 7F047C50 3C0738E4 */ lui $a3, (0x38E4C389 >> 16) # lui $a3, 0x38e4 +/* 07C7C4 7F047C54 34E7C389 */ ori $a3, (0x38E4C389 & 0xFFFF) # ori $a3, $a3, 0xc389 +/* 07C7C8 7F047C58 262400A0 */ addiu $a0, $s1, 0xa0 +/* 07C7CC 7F047C5C 8FA50480 */ lw $a1, 0x480($sp) +/* 07C7D0 7F047C60 2626009C */ addiu $a2, $s1, 0x9c +/* 07C7D4 7F047C64 E7AE0434 */ swc1 $f14, 0x434($sp) +/* 07C7D8 7F047C68 E7A40010 */ swc1 $f4, 0x10($sp) +/* 07C7DC 7F047C6C 0FC10D03 */ jal sub_GAME_7F04310C +/* 07C7E0 7F047C70 E7A60014 */ swc1 $f6, 0x14($sp) +/* 07C7E4 7F047C74 3C018005 */ lui $at, %hi(D_80052B54) # $at, 0x8005 +/* 07C7E8 7F047C78 C4342B84 */ lwc1 $f20, %lo(D_80052B54)($at) +/* 07C7EC 7F047C7C C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C7F0 7F047C80 C7AE0434 */ lwc1 $f14, 0x434($sp) +/* 07C7F4 7F047C84 3C018005 */ lui $at, %hi(D_80052B58) # $at, 0x8005 +/* 07C7F8 7F047C88 460CA03E */ c.le.s $f20, $f12 +/* 07C7FC 7F047C8C 00000000 */ nop +/* 07C800 7F047C90 45020009 */ bc1fl .Ljp7F047CB8 +/* 07C804 7F047C94 4616603C */ c.lt.s $f12, $f22 +/* 07C808 7F047C98 46146281 */ sub.s $f10, $f12, $f20 +.Ljp7F047C9C: +/* 07C80C 7F047C9C E62A00A0 */ swc1 $f10, 0xa0($s1) +/* 07C810 7F047CA0 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C814 7F047CA4 460CA03E */ c.le.s $f20, $f12 +/* 07C818 7F047CA8 00000000 */ nop +/* 07C81C 7F047CAC 4503FFFB */ bc1tl .Ljp7F047C9C +/* 07C820 7F047CB0 46146281 */ sub.s $f10, $f12, $f20 +/* 07C824 7F047CB4 4616603C */ c.lt.s $f12, $f22 +.Ljp7F047CB8: +/* 07C828 7F047CB8 00000000 */ nop +/* 07C82C 7F047CBC 45020009 */ bc1fl .Ljp7F047CE4 +/* 07C830 7F047CC0 C7A40480 */ lwc1 $f4, 0x480($sp) +/* 07C834 7F047CC4 46146200 */ add.s $f8, $f12, $f20 +.Ljp7F047CC8: +/* 07C838 7F047CC8 E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07C83C 7F047CCC C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C840 7F047CD0 4616603C */ c.lt.s $f12, $f22 +/* 07C844 7F047CD4 00000000 */ nop +/* 07C848 7F047CD8 4503FFFB */ bc1tl .Ljp7F047CC8 +/* 07C84C 7F047CDC 46146200 */ add.s $f8, $f12, $f20 +/* 07C850 7F047CE0 C7A40480 */ lwc1 $f4, 0x480($sp) +.Ljp7F047CE4: +/* 07C854 7F047CE4 460C2032 */ c.eq.s $f4, $f12 +/* 07C858 7F047CE8 00000000 */ nop +/* 07C85C 7F047CEC 4502000F */ bc1fl .Ljp7F047D2C +/* 07C860 7F047CF0 8E8E0008 */ lw $t6, 8($s4) +/* 07C864 7F047CF4 C620009C */ lwc1 $f0, 0x9c($s1) +/* 07C868 7F047CF8 C4262B88 */ lwc1 $f6, %lo(D_80052B58)($at) +/* 07C86C 7F047CFC 3C018005 */ lui $at, %hi(D_80052B5C) # $at, 0x8005 +/* 07C870 7F047D00 4606003E */ c.le.s $f0, $f6 +/* 07C874 7F047D04 00000000 */ nop +/* 07C878 7F047D08 45020008 */ bc1fl .Ljp7F047D2C +/* 07C87C 7F047D0C 8E8E0008 */ lw $t6, 8($s4) +/* 07C880 7F047D10 C42A2B8C */ lwc1 $f10, %lo(D_80052B5C)($at) +/* 07C884 7F047D14 4600503E */ c.le.s $f10, $f0 +/* 07C888 7F047D18 00000000 */ nop +/* 07C88C 7F047D1C 45020003 */ bc1fl .Ljp7F047D2C +/* 07C890 7F047D20 8E8E0008 */ lw $t6, 8($s4) +/* 07C894 7F047D24 E636009C */ swc1 $f22, 0x9c($s1) +/* 07C898 7F047D28 8E8E0008 */ lw $t6, 8($s4) +.Ljp7F047D2C: +/* 07C89C 7F047D2C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C8A0 7F047D30 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C8A4 7F047D34 8DCC0008 */ lw $t4, 8($t6) +/* 07C8A8 7F047D38 C7A4043C */ lwc1 $f4, 0x43c($sp) +/* 07C8AC 7F047D3C 4602B03C */ c.lt.s $f22, $f2 +/* 07C8B0 7F047D40 8D8A000C */ lw $t2, 0xc($t4) +/* 07C8B4 7F047D44 45000004 */ bc1f .Ljp7F047D58 +/* 07C8B8 7F047D48 8D500004 */ lw $s0, 4($t2) +/* 07C8BC 7F047D4C C62800A0 */ lwc1 $f8, 0xa0($s1) +/* 07C8C0 7F047D50 46044181 */ sub.s $f6, $f8, $f4 +/* 07C8C4 7F047D54 46023383 */ div.s $f14, $f6, $f2 +.Ljp7F047D58: +/* 07C8C8 7F047D58 4616703C */ c.lt.s $f14, $f22 +/* 07C8CC 7F047D5C 00000000 */ nop +/* 07C8D0 7F047D60 45000002 */ bc1f .Ljp7F047D6C +/* 07C8D4 7F047D64 00000000 */ nop +/* 07C8D8 7F047D68 46147380 */ add.s $f14, $f14, $f20 +.Ljp7F047D6C: +/* 07C8DC 7F047D6C 0FC160F3 */ jal sinf +/* 07C8E0 7F047D70 46007306 */ mov.s $f12, $f14 +/* 07C8E4 7F047D74 C60A0008 */ lwc1 $f10, 8($s0) +/* 07C8E8 7F047D78 C6880014 */ lwc1 $f8, 0x14($s4) +/* 07C8EC 7F047D7C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C8F0 7F047D80 46085102 */ mul.s $f4, $f10, $f8 +/* 07C8F4 7F047D84 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07C8F8 7F047D88 46040182 */ mul.s $f6, $f0, $f4 +/* 07C8FC 7F047D8C 00000000 */ nop +/* 07C900 7F047D90 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C904 7F047D94 E7A80464 */ swc1 $f8, 0x464($sp) +/* 07C908 7F047D98 0FC160F3 */ jal sinf +/* 07C90C 7F047D9C C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C910 7F047DA0 E7A00440 */ swc1 $f0, 0x440($sp) +/* 07C914 7F047DA4 E7B60444 */ swc1 $f22, 0x444($sp) +/* 07C918 7F047DA8 0FC160F0 */ jal cosf +/* 07C91C 7F047DAC C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07C920 7F047DB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07C924 7F047DB4 44817000 */ mtc1 $at, $f14 +/* 07C928 7F047DB8 E7A00448 */ swc1 $f0, 0x448($sp) +/* 07C92C 7F047DBC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07C930 7F047DC0 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07C934 7F047DC4 C6240088 */ lwc1 $f4, 0x88($s1) +/* 07C938 7F047DC8 C7AA0440 */ lwc1 $f10, 0x440($sp) +/* 07C93C 7F047DCC C7AC0464 */ lwc1 $f12, 0x464($sp) +/* 07C940 7F047DD0 46022182 */ mul.s $f6, $f4, $f2 +/* 07C944 7F047DD4 C6240058 */ lwc1 $f4, 0x58($s1) +/* 07C948 7F047DD8 27B0046C */ addiu $s0, $sp, 0x46c +/* 07C94C 7F047DDC 240F001F */ li $t7, 31 +/* 07C950 7F047DE0 02002025 */ move $a0, $s0 +/* 07C954 7F047DE4 460A3202 */ mul.s $f8, $f6, $f10 +/* 07C958 7F047DE8 46082180 */ add.s $f6, $f4, $f8 +/* 07C95C 7F047DEC C7A40448 */ lwc1 $f4, 0x448($sp) +/* 07C960 7F047DF0 460C2202 */ mul.s $f8, $f4, $f12 +/* 07C964 7F047DF4 46083181 */ sub.s $f6, $f6, $f8 +/* 07C968 7F047DF8 E7A6069C */ swc1 $f6, 0x69c($sp) +/* 07C96C 7F047DFC C628005C */ lwc1 $f8, 0x5c($s1) +/* 07C970 7F047E00 44073000 */ mfc1 $a3, $f6 +/* 07C974 7F047E04 E7A806A0 */ swc1 $f8, 0x6a0($sp) +/* 07C978 7F047E08 C6280088 */ lwc1 $f8, 0x88($s1) +/* 07C97C 7F047E0C 46024202 */ mul.s $f8, $f8, $f2 +/* 07C980 7F047E10 00000000 */ nop +/* 07C984 7F047E14 46044202 */ mul.s $f8, $f8, $f4 +/* 07C988 7F047E18 C6240060 */ lwc1 $f4, 0x60($s1) +/* 07C98C 7F047E1C 46082100 */ add.s $f4, $f4, $f8 +/* 07C990 7F047E20 460C5202 */ mul.s $f8, $f10, $f12 +/* 07C994 7F047E24 46044280 */ add.s $f10, $f8, $f4 +/* 07C998 7F047E28 E7AA06A4 */ swc1 $f10, 0x6a4($sp) +/* 07C99C 7F047E2C 8E660010 */ lw $a2, 0x10($s3) +/* 07C9A0 7F047E30 8E650008 */ lw $a1, 8($s3) +/* 07C9A4 7F047E34 E7B60020 */ swc1 $f22, 0x20($sp) +/* 07C9A8 7F047E38 E7B60018 */ swc1 $f22, 0x18($sp) +/* 07C9AC 7F047E3C AFAF0014 */ sw $t7, 0x14($sp) +/* 07C9B0 7F047E40 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07C9B4 7F047E44 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 07C9B8 7F047E48 0FC2C675 */ jal sub_GAME_7F0B0E24 +/* 07C9BC 7F047E4C E7AE001C */ swc1 $f14, 0x1c($sp) +/* 07C9C0 7F047E50 104000FA */ beqz $v0, .Ljp7F04823C +/* 07C9C4 7F047E54 02002025 */ move $a0, $s0 +/* 07C9C8 7F047E58 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07C9CC 7F047E5C 44814000 */ mtc1 $at, $f8 +/* 07C9D0 7F047E60 240D001F */ li $t5, 31 +/* 07C9D4 7F047E64 AFAD0010 */ sw $t5, 0x10($sp) +/* 07C9D8 7F047E68 8FA5069C */ lw $a1, 0x69c($sp) +/* 07C9DC 7F047E6C 8FA606A4 */ lw $a2, 0x6a4($sp) +/* 07C9E0 7F047E70 3C074120 */ lui $a3, 0x4120 +/* 07C9E4 7F047E74 E7B60014 */ swc1 $f22, 0x14($sp) +/* 07C9E8 7F047E78 0FC2C91A */ jal sub_GAME_7F0B18B8 +/* 07C9EC 7F047E7C E7A80018 */ swc1 $f8, 0x18($sp) +/* 07C9F0 7F047E80 044300EF */ bgezl $v0, .Ljp7F048240 +/* 07C9F4 7F047E84 C6260098 */ lwc1 $f6, 0x98($s1) +/* 07C9F8 7F047E88 8E790014 */ lw $t9, 0x14($s3) +/* 07C9FC 7F047E8C 8FB8046C */ lw $t8, 0x46c($sp) +/* 07CA00 7F047E90 02202025 */ move $a0, $s1 +/* 07CA04 7F047E94 AFB90450 */ sw $t9, 0x450($sp) +/* 07CA08 7F047E98 C6640008 */ lwc1 $f4, 8($s3) +/* 07CA0C 7F047E9C E7A40454 */ swc1 $f4, 0x454($sp) +/* 07CA10 7F047EA0 C666000C */ lwc1 $f6, 0xc($s3) +/* 07CA14 7F047EA4 E7A60458 */ swc1 $f6, 0x458($sp) +/* 07CA18 7F047EA8 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 07CA1C 7F047EAC E7AA045C */ swc1 $f10, 0x45c($sp) +/* 07CA20 7F047EB0 AE780014 */ sw $t8, 0x14($s3) +/* 07CA24 7F047EB4 C7A2069C */ lwc1 $f2, 0x69c($sp) +/* 07CA28 7F047EB8 E6620008 */ swc1 $f2, 8($s3) +/* 07CA2C 7F047EBC E6220058 */ swc1 $f2, 0x58($s1) +/* 07CA30 7F047EC0 C7A206A4 */ lwc1 $f2, 0x6a4($sp) +/* 07CA34 7F047EC4 E6620010 */ swc1 $f2, 0x10($s3) +/* 07CA38 7F047EC8 0FC101E1 */ jal sub_GAME_7F040484 +/* 07CA3C 7F047ECC E6220060 */ swc1 $f2, 0x60($s1) +/* 07CA40 7F047ED0 0FC15C68 */ jal sub_GAME_7F056CA0 +/* 07CA44 7F047ED4 02202025 */ move $a0, $s1 +/* 07CA48 7F047ED8 0FC1131F */ jal sub_GAME_7F0448A8 +/* 07CA4C 7F047EDC 02602025 */ move $a0, $s3 +/* 07CA50 7F047EE0 10400092 */ beqz $v0, .Ljp7F04812C +/* 07CA54 7F047EE4 00409025 */ move $s2, $v0 +/* 07CA58 7F047EE8 8E880008 */ lw $t0, 8($s4) +/* 07CA5C 7F047EEC C6280018 */ lwc1 $f8, 0x18($s1) +/* 07CA60 7F047EF0 02002025 */ move $a0, $s0 +/* 07CA64 7F047EF4 8D090008 */ lw $t1, 8($t0) +/* 07CA68 7F047EF8 8D2B0028 */ lw $t3, 0x28($t1) +/* 07CA6C 7F047EFC 8D620004 */ lw $v0, 4($t3) +/* 07CA70 7F047F00 C4440004 */ lwc1 $f4, 4($v0) +/* 07CA74 7F047F04 46044182 */ mul.s $f6, $f8, $f4 +/* 07CA78 7F047F08 E7A60428 */ swc1 $f6, 0x428($sp) +/* 07CA7C 7F047F0C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 07CA80 7F047F10 C4480004 */ lwc1 $f8, 4($v0) +/* 07CA84 7F047F14 46085102 */ mul.s $f4, $f10, $f8 +/* 07CA88 7F047F18 E7A40430 */ swc1 $f4, 0x430($sp) +/* 07CA8C 7F047F1C C6260018 */ lwc1 $f6, 0x18($s1) +/* 07CA90 7F047F20 C44A0008 */ lwc1 $f10, 8($v0) +/* 07CA94 7F047F24 460A3202 */ mul.s $f8, $f6, $f10 +/* 07CA98 7F047F28 E7A8041C */ swc1 $f8, 0x41c($sp) +/* 07CA9C 7F047F2C C6240020 */ lwc1 $f4, 0x20($s1) +/* 07CAA0 7F047F30 C4460008 */ lwc1 $f6, 8($v0) +/* 07CAA4 7F047F34 46062282 */ mul.s $f10, $f4, $f6 +/* 07CAA8 7F047F38 E7AA0424 */ swc1 $f10, 0x424($sp) +/* 07CAAC 7F047F3C C6280038 */ lwc1 $f8, 0x38($s1) +/* 07CAB0 7F047F40 C4440014 */ lwc1 $f4, 0x14($v0) +/* 07CAB4 7F047F44 46044182 */ mul.s $f6, $f8, $f4 +/* 07CAB8 7F047F48 E7A60410 */ swc1 $f6, 0x410($sp) +/* 07CABC 7F047F4C C62A0040 */ lwc1 $f10, 0x40($s1) +/* 07CAC0 7F047F50 C4480014 */ lwc1 $f8, 0x14($v0) +/* 07CAC4 7F047F54 46085102 */ mul.s $f4, $f10, $f8 +/* 07CAC8 7F047F58 E7A40418 */ swc1 $f4, 0x418($sp) +/* 07CACC 7F047F5C C6260038 */ lwc1 $f6, 0x38($s1) +/* 07CAD0 7F047F60 C44A0018 */ lwc1 $f10, 0x18($v0) +/* 07CAD4 7F047F64 460A3202 */ mul.s $f8, $f6, $f10 +/* 07CAD8 7F047F68 E7A80404 */ swc1 $f8, 0x404($sp) +/* 07CADC 7F047F6C C6240040 */ lwc1 $f4, 0x40($s1) +/* 07CAE0 7F047F70 C4460018 */ lwc1 $f6, 0x18($v0) +/* 07CAE4 7F047F74 C7A80410 */ lwc1 $f8, 0x410($sp) +/* 07CAE8 7F047F78 46062282 */ mul.s $f10, $f4, $f6 +/* 07CAEC 7F047F7C C7A40428 */ lwc1 $f4, 0x428($sp) +/* 07CAF0 7F047F80 E7AA040C */ swc1 $f10, 0x40c($sp) +/* 07CAF4 7F047F84 8E6E0014 */ lw $t6, 0x14($s3) +/* 07CAF8 7F047F88 AFAE046C */ sw $t6, 0x46c($sp) +/* 07CAFC 7F047F8C C6600008 */ lwc1 $f0, 8($s3) +/* 07CB00 7F047F90 C6620010 */ lwc1 $f2, 0x10($s3) +/* 07CB04 7F047F94 46040180 */ add.s $f6, $f0, $f4 +/* 07CB08 7F047F98 C7A40418 */ lwc1 $f4, 0x418($sp) +/* 07CB0C 7F047F9C 44050000 */ mfc1 $a1, $f0 +/* 07CB10 7F047FA0 44061000 */ mfc1 $a2, $f2 +/* 07CB14 7F047FA4 46064280 */ add.s $f10, $f8, $f6 +/* 07CB18 7F047FA8 C7A80430 */ lwc1 $f8, 0x430($sp) +/* 07CB1C 7F047FAC 46081180 */ add.s $f6, $f2, $f8 +/* 07CB20 7F047FB0 44075000 */ mfc1 $a3, $f10 +/* 07CB24 7F047FB4 46062280 */ add.s $f10, $f4, $f6 +/* 07CB28 7F047FB8 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07CB2C 7F047FBC E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07CB30 7F047FC0 10400059 */ beqz $v0, .Ljp7F048128 +/* 07CB34 7F047FC4 C7A40428 */ lwc1 $f4, 0x428($sp) +/* 07CB38 7F047FC8 C6600008 */ lwc1 $f0, 8($s3) +/* 07CB3C 7F047FCC C7A80410 */ lwc1 $f8, 0x410($sp) +/* 07CB40 7F047FD0 C6620010 */ lwc1 $f2, 0x10($s3) +/* 07CB44 7F047FD4 46040180 */ add.s $f6, $f0, $f4 +/* 07CB48 7F047FD8 C7A40418 */ lwc1 $f4, 0x418($sp) +/* 07CB4C 7F047FDC 02002025 */ move $a0, $s0 +/* 07CB50 7F047FE0 46064280 */ add.s $f10, $f8, $f6 +/* 07CB54 7F047FE4 C7A60430 */ lwc1 $f6, 0x430($sp) +/* 07CB58 7F047FE8 44055000 */ mfc1 $a1, $f10 +/* 07CB5C 7F047FEC 46061280 */ add.s $f10, $f2, $f6 +/* 07CB60 7F047FF0 460A2180 */ add.s $f6, $f4, $f10 +/* 07CB64 7F047FF4 C7AA041C */ lwc1 $f10, 0x41c($sp) +/* 07CB68 7F047FF8 44063000 */ mfc1 $a2, $f6 +/* 07CB6C 7F047FFC 460A0180 */ add.s $f6, $f0, $f10 +/* 07CB70 7F048000 46064280 */ add.s $f10, $f8, $f6 +/* 07CB74 7F048004 C7A80424 */ lwc1 $f8, 0x424($sp) +/* 07CB78 7F048008 46081180 */ add.s $f6, $f2, $f8 +/* 07CB7C 7F04800C 44075000 */ mfc1 $a3, $f10 +/* 07CB80 7F048010 46062280 */ add.s $f10, $f4, $f6 +/* 07CB84 7F048014 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07CB88 7F048018 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07CB8C 7F04801C 10400042 */ beqz $v0, .Ljp7F048128 +/* 07CB90 7F048020 C7A4041C */ lwc1 $f4, 0x41c($sp) +/* 07CB94 7F048024 C6680008 */ lwc1 $f8, 8($s3) +/* 07CB98 7F048028 C7A60410 */ lwc1 $f6, 0x410($sp) +/* 07CB9C 7F04802C 02002025 */ move $a0, $s0 +/* 07CBA0 7F048030 46044000 */ add.s $f0, $f8, $f4 +/* 07CBA4 7F048034 C7A40424 */ lwc1 $f4, 0x424($sp) +/* 07CBA8 7F048038 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07CBAC 7F04803C 46003280 */ add.s $f10, $f6, $f0 +/* 07CBB0 7F048040 C7A60418 */ lwc1 $f6, 0x418($sp) +/* 07CBB4 7F048044 46044080 */ add.s $f2, $f8, $f4 +/* 07CBB8 7F048048 44055000 */ mfc1 $a1, $f10 +/* 07CBBC 7F04804C C7A80404 */ lwc1 $f8, 0x404($sp) +/* 07CBC0 7F048050 46023280 */ add.s $f10, $f6, $f2 +/* 07CBC4 7F048054 C7A6040C */ lwc1 $f6, 0x40c($sp) +/* 07CBC8 7F048058 46004100 */ add.s $f4, $f8, $f0 +/* 07CBCC 7F04805C 44065000 */ mfc1 $a2, $f10 +/* 07CBD0 7F048060 46023280 */ add.s $f10, $f6, $f2 +/* 07CBD4 7F048064 44072000 */ mfc1 $a3, $f4 +/* 07CBD8 7F048068 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07CBDC 7F04806C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07CBE0 7F048070 1040002D */ beqz $v0, .Ljp7F048128 +/* 07CBE4 7F048074 C7A4041C */ lwc1 $f4, 0x41c($sp) +/* 07CBE8 7F048078 C6600008 */ lwc1 $f0, 8($s3) +/* 07CBEC 7F04807C C7A80404 */ lwc1 $f8, 0x404($sp) +/* 07CBF0 7F048080 C6620010 */ lwc1 $f2, 0x10($s3) +/* 07CBF4 7F048084 46040180 */ add.s $f6, $f0, $f4 +/* 07CBF8 7F048088 C7A4040C */ lwc1 $f4, 0x40c($sp) +/* 07CBFC 7F04808C 02002025 */ move $a0, $s0 +/* 07CC00 7F048090 46064280 */ add.s $f10, $f8, $f6 +/* 07CC04 7F048094 C7A60424 */ lwc1 $f6, 0x424($sp) +/* 07CC08 7F048098 44055000 */ mfc1 $a1, $f10 +/* 07CC0C 7F04809C 46061280 */ add.s $f10, $f2, $f6 +/* 07CC10 7F0480A0 460A2180 */ add.s $f6, $f4, $f10 +/* 07CC14 7F0480A4 C7AA0428 */ lwc1 $f10, 0x428($sp) +/* 07CC18 7F0480A8 44063000 */ mfc1 $a2, $f6 +/* 07CC1C 7F0480AC 460A0180 */ add.s $f6, $f0, $f10 +/* 07CC20 7F0480B0 46064280 */ add.s $f10, $f8, $f6 +/* 07CC24 7F0480B4 C7A80430 */ lwc1 $f8, 0x430($sp) +/* 07CC28 7F0480B8 46081180 */ add.s $f6, $f2, $f8 +/* 07CC2C 7F0480BC 44075000 */ mfc1 $a3, $f10 +/* 07CC30 7F0480C0 46062280 */ add.s $f10, $f4, $f6 +/* 07CC34 7F0480C4 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07CC38 7F0480C8 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07CC3C 7F0480CC 10400016 */ beqz $v0, .Ljp7F048128 +/* 07CC40 7F0480D0 C7A40428 */ lwc1 $f4, 0x428($sp) +/* 07CC44 7F0480D4 C6680008 */ lwc1 $f8, 8($s3) +/* 07CC48 7F0480D8 C7A60404 */ lwc1 $f6, 0x404($sp) +/* 07CC4C 7F0480DC 02002025 */ move $a0, $s0 +/* 07CC50 7F0480E0 46044000 */ add.s $f0, $f8, $f4 +/* 07CC54 7F0480E4 C7A40430 */ lwc1 $f4, 0x430($sp) +/* 07CC58 7F0480E8 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07CC5C 7F0480EC 46003280 */ add.s $f10, $f6, $f0 +/* 07CC60 7F0480F0 C7A6040C */ lwc1 $f6, 0x40c($sp) +/* 07CC64 7F0480F4 46044080 */ add.s $f2, $f8, $f4 +/* 07CC68 7F0480F8 44055000 */ mfc1 $a1, $f10 +/* 07CC6C 7F0480FC C7A80410 */ lwc1 $f8, 0x410($sp) +/* 07CC70 7F048100 46023280 */ add.s $f10, $f6, $f2 +/* 07CC74 7F048104 C7A60418 */ lwc1 $f6, 0x418($sp) +/* 07CC78 7F048108 46004100 */ add.s $f4, $f8, $f0 +/* 07CC7C 7F04810C 44065000 */ mfc1 $a2, $f10 +/* 07CC80 7F048110 46023280 */ add.s $f10, $f6, $f2 +/* 07CC84 7F048114 44072000 */ mfc1 $a3, $f4 +/* 07CC88 7F048118 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07CC8C 7F04811C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 07CC90 7F048120 14400002 */ bnez $v0, .Ljp7F04812C +/* 07CC94 7F048124 00000000 */ nop +.Ljp7F048128: +/* 07CC98 7F048128 00009025 */ move $s2, $zero +.Ljp7F04812C: +/* 07CC9C 7F04812C 12400023 */ beqz $s2, .Ljp7F0481BC +/* 07CCA0 7F048130 02202025 */ move $a0, $s1 +/* 07CCA4 7F048134 262C0058 */ addiu $t4, $s1, 0x58 +/* 07CCA8 7F048138 AFAC0074 */ sw $t4, 0x74($sp) +/* 07CCAC 7F04813C 0FC113C3 */ jal sub_GAME_7F044B38 +/* 07CCB0 7F048140 2630007C */ addiu $s0, $s1, 0x7c +/* 07CCB4 7F048144 02602025 */ move $a0, $s3 +/* 07CCB8 7F048148 0FC1016D */ jal sub_GAME_7F0402B4 +/* 07CCBC 7F04814C 02002825 */ move $a1, $s0 +/* 07CCC0 7F048150 0FC14832 */ jal detonate_proxmine_In_range +/* 07CCC4 7F048154 8FA40074 */ lw $a0, 0x74($sp) +/* 07CCC8 7F048158 8FAA047C */ lw $t2, 0x47c($sp) +/* 07CCCC 7F04815C 27A40454 */ addiu $a0, $sp, 0x454 +/* 07CCD0 7F048160 27A5069C */ addiu $a1, $sp, 0x69c +/* 07CCD4 7F048164 11400054 */ beqz $t2, .Ljp7F0482B8 +/* 07CCD8 7F048168 01403025 */ move $a2, $t2 +/* 07CCDC 7F04816C 0FC0C014 */ jal sub_GAME_7F02FD50 +/* 07CCE0 7F048170 3C0742C8 */ lui $a3, 0x42c8 +/* 07CCE4 7F048174 10400050 */ beqz $v0, .Ljp7F0482B8 +/* 07CCE8 7F048178 00000000 */ nop +/* 07CCEC 7F04817C 8E2F00A8 */ lw $t7, 0xa8($s1) +/* 07CCF0 7F048180 8E3900A4 */ lw $t9, 0xa4($s1) +/* 07CCF4 7F048184 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07CCF8 7F048188 25ED0001 */ addiu $t5, $t7, 1 +/* 07CCFC 7F04818C AE2D00A8 */ sw $t5, 0xa8($s1) +/* 07CD00 7F048190 8F380000 */ lw $t8, ($t9) +/* 07CD04 7F048194 000D4880 */ sll $t1, $t5, 2 +/* 07CD08 7F048198 03095821 */ addu $t3, $t8, $t1 +/* 07CD0C 7F04819C 8D6E0000 */ lw $t6, ($t3) +/* 07CD10 7F0481A0 05C10045 */ bgez $t6, .Ljp7F0482B8 +/* 07CD14 7F0481A4 00000000 */ nop +/* 07CD18 7F0481A8 44814000 */ mtc1 $at, $f8 +/* 07CD1C 7F0481AC AE2000A4 */ sw $zero, 0xa4($s1) +/* 07CD20 7F0481B0 E6360094 */ swc1 $f22, 0x94($s1) +/* 07CD24 7F0481B4 10000040 */ b .Ljp7F0482B8 +/* 07CD28 7F0481B8 E6280098 */ swc1 $f8, 0x98($s1) +.Ljp7F0481BC: +/* 07CD2C 7F0481BC C6240098 */ lwc1 $f4, 0x98($s1) +/* 07CD30 7F0481C0 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07CD34 7F0481C4 4616203C */ c.lt.s $f4, $f22 +/* 07CD38 7F0481C8 00000000 */ nop +/* 07CD3C 7F0481CC 45020006 */ bc1fl .Ljp7F0481E8 +/* 07CD40 7F0481D0 E6360088 */ swc1 $f22, 0x88($s1) +/* 07CD44 7F0481D4 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07CD48 7F0481D8 44815000 */ mtc1 $at, $f10 +/* 07CD4C 7F0481DC E6260094 */ swc1 $f6, 0x94($s1) +/* 07CD50 7F0481E0 E62A0098 */ swc1 $f10, 0x98($s1) +/* 07CD54 7F0481E4 E6360088 */ swc1 $f22, 0x88($s1) +.Ljp7F0481E8: +/* 07CD58 7F0481E8 C7A8043C */ lwc1 $f8, 0x43c($sp) +/* 07CD5C 7F0481EC 02202025 */ move $a0, $s1 +/* 07CD60 7F0481F0 E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07CD64 7F0481F4 C7A40438 */ lwc1 $f4, 0x438($sp) +/* 07CD68 7F0481F8 E624009C */ swc1 $f4, 0x9c($s1) +/* 07CD6C 7F0481FC 8FAC0450 */ lw $t4, 0x450($sp) +/* 07CD70 7F048200 AE6C0014 */ sw $t4, 0x14($s3) +/* 07CD74 7F048204 C7A20454 */ lwc1 $f2, 0x454($sp) +/* 07CD78 7F048208 E6620008 */ swc1 $f2, 8($s3) +/* 07CD7C 7F04820C E6220058 */ swc1 $f2, 0x58($s1) +/* 07CD80 7F048210 C7A20458 */ lwc1 $f2, 0x458($sp) +/* 07CD84 7F048214 E662000C */ swc1 $f2, 0xc($s3) +/* 07CD88 7F048218 E622005C */ swc1 $f2, 0x5c($s1) +/* 07CD8C 7F04821C C7A2045C */ lwc1 $f2, 0x45c($sp) +/* 07CD90 7F048220 E6620010 */ swc1 $f2, 0x10($s3) +/* 07CD94 7F048224 0FC101E1 */ jal sub_GAME_7F040484 +/* 07CD98 7F048228 E6220060 */ swc1 $f2, 0x60($s1) +/* 07CD9C 7F04822C 0FC15C68 */ jal sub_GAME_7F056CA0 +/* 07CDA0 7F048230 02202025 */ move $a0, $s1 +/* 07CDA4 7F048234 10000020 */ b .Ljp7F0482B8 +/* 07CDA8 7F048238 00000000 */ nop +.Ljp7F04823C: +/* 07CDAC 7F04823C C6260098 */ lwc1 $f6, 0x98($s1) +.Ljp7F048240: +/* 07CDB0 7F048240 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07CDB4 7F048244 4616303C */ c.lt.s $f6, $f22 +/* 07CDB8 7F048248 00000000 */ nop +/* 07CDBC 7F04824C 45020006 */ bc1fl .Ljp7F048268 +/* 07CDC0 7F048250 E6360088 */ swc1 $f22, 0x88($s1) +/* 07CDC4 7F048254 C62A0088 */ lwc1 $f10, 0x88($s1) +/* 07CDC8 7F048258 44814000 */ mtc1 $at, $f8 +/* 07CDCC 7F04825C E62A0094 */ swc1 $f10, 0x94($s1) +/* 07CDD0 7F048260 E6280098 */ swc1 $f8, 0x98($s1) +/* 07CDD4 7F048264 E6360088 */ swc1 $f22, 0x88($s1) +.Ljp7F048268: +/* 07CDD8 7F048268 C7A4043C */ lwc1 $f4, 0x43c($sp) +/* 07CDDC 7F04826C E62400A0 */ swc1 $f4, 0xa0($s1) +/* 07CDE0 7F048270 C7A60438 */ lwc1 $f6, 0x438($sp) +/* 07CDE4 7F048274 10000010 */ b .Ljp7F0482B8 +/* 07CDE8 7F048278 E626009C */ swc1 $f6, 0x9c($s1) +/* 07CDEC 7F04827C 8E2A0008 */ lw $t2, 8($s1) +.Ljp7F048280: +/* 07CDF0 7F048280 000A7880 */ sll $t7, $t2, 2 +/* 07CDF4 7F048284 05E1000C */ bgez $t7, .Ljp7F0482B8 +/* 07CDF8 7F048288 00000000 */ nop +/* 07CDFC 7F04828C C62C0038 */ lwc1 $f12, 0x38($s1) +/* 07CE00 7F048290 0FC16BD4 */ jal convert_angle_using_inverse +/* 07CE04 7F048294 C62E0040 */ lwc1 $f14, 0x40($s1) +/* 07CE08 7F048298 8E2D0008 */ lw $t5, 8($s1) +/* 07CE0C 7F04829C 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff +/* 07CE10 7F0482A0 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07CE14 7F0482A4 01A1C824 */ and $t9, $t5, $at +/* 07CE18 7F0482A8 E62000A0 */ swc1 $f0, 0xa0($s1) +/* 07CE1C 7F0482AC AE390008 */ sw $t9, 8($s1) +/* 07CE20 7F0482B0 0FC113C3 */ jal sub_GAME_7F044B38 +/* 07CE24 7F0482B4 02202025 */ move $a0, $s1 +.Ljp7F0482B8: +/* 07CE28 7F0482B8 100000DE */ b .Ljp7F048634 +/* 07CE2C 7F0482BC 92220003 */ lbu $v0, 3($s1) +.Ljp7F0482C0: +/* 07CE30 7F0482C0 24010028 */ li $at, 40 +/* 07CE34 7F0482C4 144100DA */ bne $v0, $at, .Ljp7F048630 +/* 07CE38 7F0482C8 02202025 */ move $a0, $s1 +/* 07CE3C 7F0482CC 0FC0D5E1 */ jal parse_handle_actionblocks +/* 07CE40 7F0482D0 24050001 */ li $a1, 1 +/* 07CE44 7F0482D4 8E300014 */ lw $s0, 0x14($s1) +/* 07CE48 7F0482D8 26250058 */ addiu $a1, $s1, 0x58 +/* 07CE4C 7F0482DC 8E080020 */ lw $t0, 0x20($s0) +/* 07CE50 7F0482E0 02002025 */ move $a0, $s0 +/* 07CE54 7F0482E4 51000065 */ beql $t0, $zero, .Ljp7F04847C +/* 07CE58 7F0482E8 C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07CE5C 7F0482EC 0FC1B47F */ jal setsuboffset +/* 07CE60 7F0482F0 AFA50074 */ sw $a1, 0x74($sp) +/* 07CE64 7F0482F4 8E300014 */ lw $s0, 0x14($s1) +/* 07CE68 7F0482F8 3C098003 */ lui $t1, %hi(animation_table_ptrs2+4) # $t1, 0x8003 +/* 07CE6C 7F0482FC 8D29A090 */ lw $t1, %lo(animation_table_ptrs2+4)($t1) +/* 07CE70 7F048300 8E180020 */ lw $t8, 0x20($s0) +/* 07CE74 7F048304 3C054127 */ lui $a1, (0x4127020C >> 16) # lui $a1, 0x4127 +/* 07CE78 7F048308 02002025 */ move $a0, $s0 +/* 07CE7C 7F04830C 17090009 */ bne $t8, $t1, .Ljp7F048334 +/* 07CE80 7F048310 00000000 */ nop +/* 07CE84 7F048314 0FC1B51D */ jal sub_GAME_7F06CE84 +/* 07CE88 7F048318 34A5020C */ ori $a1, (0x4127020C & 0xFFFF) # ori $a1, $a1, 0x20c +/* 07CE8C 7F04831C 3C054049 */ lui $a1, (0x40490FDB >> 16) # lui $a1, 0x4049 +/* 07CE90 7F048320 34A50FDB */ ori $a1, (0x40490FDB & 0xFFFF) # ori $a1, $a1, 0xfdb +/* 07CE94 7F048324 0FC1B4CB */ jal setsubroty +/* 07CE98 7F048328 8E240014 */ lw $a0, 0x14($s1) +/* 07CE9C 7F04832C 10000024 */ b .Ljp7F0483C0 +/* 07CEA0 7F048330 00000000 */ nop +.Ljp7F048334: +/* 07CEA4 7F048334 0C001A57 */ jal get_stage_num +/* 07CEA8 7F048338 00000000 */ nop +/* 07CEAC 7F04833C 24010016 */ li $at, 22 +/* 07CEB0 7F048340 1441000A */ bne $v0, $at, .Ljp7F04836C +/* 07CEB4 7F048344 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 +/* 07CEB8 7F048348 8E240014 */ lw $a0, 0x14($s1) +/* 07CEBC 7F04834C 0FC1B51D */ jal sub_GAME_7F06CE84 +/* 07CEC0 7F048350 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CEC4 7F048354 3C054016 */ lui $a1, (0x4016CBE4 >> 16) # lui $a1, 0x4016 +/* 07CEC8 7F048358 34A5CBE4 */ ori $a1, (0x4016CBE4 & 0xFFFF) # ori $a1, $a1, 0xcbe4 +/* 07CECC 7F04835C 0FC1B4CB */ jal setsubroty +/* 07CED0 7F048360 8E240014 */ lw $a0, 0x14($s1) +/* 07CED4 7F048364 10000016 */ b .Ljp7F0483C0 +/* 07CED8 7F048368 00000000 */ nop +.Ljp7F04836C: +/* 07CEDC 7F04836C 0C001A57 */ jal get_stage_num +/* 07CEE0 7F048370 00000000 */ nop +/* 07CEE4 7F048374 2401001A */ li $at, 26 +/* 07CEE8 7F048378 1441000B */ bne $v0, $at, .Ljp7F0483A8 +/* 07CEEC 7F04837C 3C053F85 */ lui $a1, 0x3f85 +/* 07CEF0 7F048380 3C053F85 */ lui $a1, (0x3F859B3D >> 16) # lui $a1, 0x3f85 +/* 07CEF4 7F048384 34A59B3D */ ori $a1, (0x3F859B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CEF8 7F048388 0FC1B51D */ jal sub_GAME_7F06CE84 +/* 07CEFC 7F04838C 8E240014 */ lw $a0, 0x14($s1) +/* 07CF00 7F048390 3C05407B */ lui $a1, (0x407B9B3D >> 16) # lui $a1, 0x407b +/* 07CF04 7F048394 34A553D1 */ ori $a1, (0x407B53D1 & 0xFFFF) # ori $a1, $a1, 0x53d1 +/* 07CF08 7F048398 0FC1B4CB */ jal setsubroty +/* 07CF0C 7F04839C 8E240014 */ lw $a0, 0x14($s1) +/* 07CF10 7F0483A0 10000007 */ b .Ljp7F0483C0 +/* 07CF14 7F0483A4 00000000 */ nop +.Ljp7F0483A8: +/* 07CF18 7F0483A8 8E240014 */ lw $a0, 0x14($s1) +/* 07CF1C 7F0483AC 0FC1B51D */ jal sub_GAME_7F06CE84 +/* 07CF20 7F0483B0 34A59B3D */ ori $a1, (0x407B9B3D & 0xFFFF) # ori $a1, $a1, 0x9b3d +/* 07CF24 7F0483B4 4405B000 */ mfc1 $a1, $f22 +/* 07CF28 7F0483B8 0FC1B4CB */ jal setsubroty +/* 07CF2C 7F0483BC 8E240014 */ lw $a0, 0x14($s1) +.Ljp7F0483C0: +/* 07CF30 7F0483C0 3C058005 */ lui $a1, %hi(clock_timer) # $a1, 0x8005 +/* 07CF34 7F0483C4 8CA583A4 */ lw $a1, %lo(clock_timer)($a1) +/* 07CF38 7F0483C8 8E240014 */ lw $a0, 0x14($s1) +/* 07CF3C 7F0483CC 0FC1C437 */ jal sub_GAME_7F070AEC +/* 07CF40 7F0483D0 24060001 */ li $a2, 1 +/* 07CF44 7F0483D4 0FC1B728 */ jal subcalcpos +/* 07CF48 7F0483D8 8E240014 */ lw $a0, 0x14($s1) +/* 07CF4C 7F0483DC 8E240014 */ lw $a0, 0x14($s1) +/* 07CF50 7F0483E0 0FC1B462 */ jal getsuboffset +/* 07CF54 7F0483E4 8FA50074 */ lw $a1, 0x74($sp) +/* 07CF58 7F0483E8 C62A0058 */ lwc1 $f10, 0x58($s1) +/* 07CF5C 7F0483EC 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 +/* 07CF60 7F0483F0 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 +/* 07CF64 7F0483F4 E66A0008 */ swc1 $f10, 8($s3) +/* 07CF68 7F0483F8 C6280060 */ lwc1 $f8, 0x60($s1) +/* 07CF6C 7F0483FC E6680010 */ swc1 $f8, 0x10($s3) +/* 07CF70 7F048400 86220006 */ lh $v0, 6($s1) +/* 07CF74 7F048404 28412710 */ slti $at, $v0, 0x2710 +/* 07CF78 7F048408 1020000B */ beqz $at, .Ljp7F048438 +/* 07CF7C 7F04840C 00026100 */ sll $t4, $v0, 4 +/* 07CF80 7F048410 00025880 */ sll $t3, $v0, 2 +/* 07CF84 7F048414 3C058007 */ lui $a1, %hi(ptr_setup_path_tbl) # $a1, 0x8007 +/* 07CF88 7F048418 01625823 */ subu $t3, $t3, $v0 +/* 07CF8C 7F04841C 24A55D40 */ addiu $a1, %lo(ptr_setup_path_tbl) # addiu $a1, $a1, 0x5d40 +/* 07CF90 7F048420 000B5880 */ sll $t3, $t3, 2 +/* 07CF94 7F048424 8CAE0018 */ lw $t6, 0x18($a1) +/* 07CF98 7F048428 01625823 */ subu $t3, $t3, $v0 +/* 07CF9C 7F04842C 000B5880 */ sll $t3, $t3, 2 +/* 07CFA0 7F048430 10000008 */ b .Ljp7F048454 +/* 07CFA4 7F048434 016E1821 */ addu $v1, $t3, $t6 +.Ljp7F048438: +/* 07CFA8 7F048438 8CAA001C */ lw $t2, 0x1c($a1) +/* 07CFAC 7F04843C 01826021 */ addu $t4, $t4, $v0 +/* 07CFB0 7F048440 000C6080 */ sll $t4, $t4, 2 +/* 07CFB4 7F048444 3C01FFF5 */ lui $at, (0xFFF59FC0 >> 16) # lui $at, 0xfff5 +/* 07CFB8 7F048448 34219FC0 */ ori $at, (0xFFF59FC0 & 0xFFFF) # ori $at, $at, 0x9fc0 +/* 07CFBC 7F04844C 018A1821 */ addu $v1, $t4, $t2 +/* 07CFC0 7F048450 00611821 */ addu $v1, $v1, $at +.Ljp7F048454: +/* 07CFC4 7F048454 C624005C */ lwc1 $f4, 0x5c($s1) +/* 07CFC8 7F048458 C4660004 */ lwc1 $f6, 4($v1) +/* 07CFCC 7F04845C 46062280 */ add.s $f10, $f4, $f6 +/* 07CFD0 7F048460 E66A000C */ swc1 $f10, 0xc($s3) +/* 07CFD4 7F048464 C668000C */ lwc1 $f8, 0xc($s3) +/* 07CFD8 7F048468 8E240014 */ lw $a0, 0x14($s1) +/* 07CFDC 7F04846C E628005C */ swc1 $f8, 0x5c($s1) +/* 07CFE0 7F048470 0FC1B47F */ jal setsuboffset +/* 07CFE4 7F048474 8FA50074 */ lw $a1, 0x74($sp) +/* 07CFE8 7F048478 C62C00A0 */ lwc1 $f12, 0xa0($s1) +.Ljp7F04847C: +/* 07CFEC 7F04847C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07CFF0 7F048480 460CB03E */ c.le.s $f22, $f12 +/* 07CFF4 7F048484 00000000 */ nop +/* 07CFF8 7F048488 45020016 */ bc1fl .Ljp7F0484E4 +/* 07CFFC 7F04848C C6200094 */ lwc1 $f0, 0x94($s1) +/* 07D000 7F048490 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07D004 7F048494 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07D008 7F048498 4602603E */ c.le.s $f12, $f2 +/* 07D00C 7F04849C 00000000 */ nop +/* 07D010 7F0484A0 45020006 */ bc1fl .Ljp7F0484BC +/* 07D014 7F0484A4 C62E0098 */ lwc1 $f14, 0x98($s1) +/* 07D018 7F0484A8 C624009C */ lwc1 $f4, 0x9c($s1) +/* 07D01C 7F0484AC C62C00A0 */ lwc1 $f12, 0xa0($s1) +/* 07D020 7F0484B0 10000008 */ b .Ljp7F0484D4 +/* 07D024 7F0484B4 E6240098 */ swc1 $f4, 0x98($s1) +/* 07D028 7F0484B8 C62E0098 */ lwc1 $f14, 0x98($s1) +.Ljp7F0484BC: +/* 07D02C 7F0484BC C626009C */ lwc1 $f6, 0x9c($s1) +/* 07D030 7F0484C0 460E3281 */ sub.s $f10, $f6, $f14 +/* 07D034 7F0484C4 46025202 */ mul.s $f8, $f10, $f2 +/* 07D038 7F0484C8 460C4103 */ div.s $f4, $f8, $f12 +/* 07D03C 7F0484CC 46047180 */ add.s $f6, $f14, $f4 +/* 07D040 7F0484D0 E6260098 */ swc1 $f6, 0x98($s1) +.Ljp7F0484D4: +/* 07D044 7F0484D4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07D048 7F0484D8 460A6201 */ sub.s $f8, $f12, $f10 +/* 07D04C 7F0484DC E62800A0 */ swc1 $f8, 0xa0($s1) +/* 07D050 7F0484E0 C6200094 */ lwc1 $f0, 0x94($s1) +.Ljp7F0484E4: +/* 07D054 7F0484E4 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07D058 7F0484E8 4600B03E */ c.le.s $f22, $f0 +/* 07D05C 7F0484EC 00000000 */ nop +/* 07D060 7F0484F0 45020016 */ bc1fl .Ljp7F04854C +/* 07D064 7F0484F4 8E2F000C */ lw $t7, 0xc($s1) +/* 07D068 7F0484F8 C42283B4 */ lwc1 $f2, %lo(global_timer_delta)($at) +/* 07D06C 7F0484FC 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07D070 7F048500 4602003E */ c.le.s $f0, $f2 +/* 07D074 7F048504 00000000 */ nop +/* 07D078 7F048508 45020006 */ bc1fl .Ljp7F048524 +/* 07D07C 7F04850C C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07D080 7F048510 C6240090 */ lwc1 $f4, 0x90($s1) +/* 07D084 7F048514 C6200094 */ lwc1 $f0, 0x94($s1) +/* 07D088 7F048518 10000008 */ b .Ljp7F04853C +/* 07D08C 7F04851C E624008C */ swc1 $f4, 0x8c($s1) +/* 07D090 7F048520 C62C008C */ lwc1 $f12, 0x8c($s1) +.Ljp7F048524: +/* 07D094 7F048524 C6260090 */ lwc1 $f6, 0x90($s1) +/* 07D098 7F048528 460C3281 */ sub.s $f10, $f6, $f12 +/* 07D09C 7F04852C 46025202 */ mul.s $f8, $f10, $f2 +/* 07D0A0 7F048530 46004103 */ div.s $f4, $f8, $f0 +/* 07D0A4 7F048534 46046180 */ add.s $f6, $f12, $f4 +/* 07D0A8 7F048538 E626008C */ swc1 $f6, 0x8c($s1) +.Ljp7F04853C: +/* 07D0AC 7F04853C C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07D0B0 7F048540 460A0201 */ sub.s $f8, $f0, $f10 +/* 07D0B4 7F048544 E6280094 */ swc1 $f8, 0x94($s1) +/* 07D0B8 7F048548 8E2F000C */ lw $t7, 0xc($s1) +.Ljp7F04854C: +/* 07D0BC 7F04854C 00008025 */ move $s0, $zero +/* 07D0C0 7F048550 000F6B00 */ sll $t5, $t7, 0xc +/* 07D0C4 7F048554 05A00014 */ bltz $t5, .Ljp7F0485A8 +/* 07D0C8 7F048558 00000000 */ nop +/* 07D0CC 7F04855C 0FC13CCE */ jal check_if_object_has_not_been_destroyed +/* 07D0D0 7F048560 02202025 */ move $a0, $s1 +/* 07D0D4 7F048564 10400010 */ beqz $v0, .Ljp7F0485A8 +/* 07D0D8 7F048568 00000000 */ nop +/* 07D0DC 7F04856C C624008C */ lwc1 $f4, 0x8c($s1) +/* 07D0E0 7F048570 4604B032 */ c.eq.s $f22, $f4 +/* 07D0E4 7F048574 00000000 */ nop +/* 07D0E8 7F048578 4501000B */ bc1t .Ljp7F0485A8 +/* 07D0EC 7F04857C 00000000 */ nop +/* 07D0F0 7F048580 8E390008 */ lw $t9, 8($s1) +/* 07D0F4 7F048584 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c +/* 07D0F8 7F048588 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 +/* 07D0FC 7F04858C 00194080 */ sll $t0, $t9, 2 +/* 07D100 7F048590 05000005 */ bltz $t0, .Ljp7F0485A8 +/* 07D104 7F048594 26240058 */ addiu $a0, $s1, 0x58 +/* 07D108 7F048598 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb +/* 07D10C 7F04859C 0FC14F64 */ jal sub_GAME_7F053894 +/* 07D110 7F0485A0 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 07D114 7F0485A4 00408025 */ move $s0, $v0 +.Ljp7F0485A8: +/* 07D118 7F0485A8 5A000019 */ blezl $s0, .Ljp7F048610 +/* 07D11C 7F0485AC 8E2400B0 */ lw $a0, 0xb0($s1) +/* 07D120 7F0485B0 8E2400B0 */ lw $a0, 0xb0($s1) +/* 07D124 7F0485B4 10800005 */ beqz $a0, .Ljp7F0485CC +/* 07D128 7F0485B8 00000000 */ nop +/* 07D12C 7F0485BC 0C002380 */ jal sfxGetArg0Unk3F +/* 07D130 7F0485C0 00000000 */ nop +/* 07D134 7F0485C4 5440000A */ bnezl $v0, .Ljp7F0485F0 +/* 07D138 7F0485C8 8E2400B0 */ lw $a0, 0xb0($s1) +.Ljp7F0485CC: +/* 07D13C 7F0485CC 0FC3021B */ jal get_controls_locked_flag +/* 07D140 7F0485D0 00000000 */ nop +/* 07D144 7F0485D4 14400005 */ bnez $v0, .Ljp7F0485EC +/* 07D148 7F0485D8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07D14C 7F0485DC 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07D150 7F0485E0 2405003A */ li $a1, 58 +/* 07D154 7F0485E4 0C002386 */ jal play_sfx_a1 +/* 07D158 7F0485E8 262600B0 */ addiu $a2, $s1, 0xb0 +.Ljp7F0485EC: +/* 07D15C 7F0485EC 8E2400B0 */ lw $a0, 0xb0($s1) +.Ljp7F0485F0: +/* 07D160 7F0485F0 24050008 */ li $a1, 8 +/* 07D164 7F0485F4 5080000F */ beql $a0, $zero, .Ljp7F048634 +/* 07D168 7F0485F8 92220003 */ lbu $v0, 3($s1) +/* 07D16C 7F0485FC 0C002465 */ jal sfx_c_70009184 +/* 07D170 7F048600 02003025 */ move $a2, $s0 +/* 07D174 7F048604 1000000B */ b .Ljp7F048634 +/* 07D178 7F048608 92220003 */ lbu $v0, 3($s1) +/* 07D17C 7F04860C 8E2400B0 */ lw $a0, 0xb0($s1) +.Ljp7F048610: +/* 07D180 7F048610 50800008 */ beql $a0, $zero, .Ljp7F048634 +/* 07D184 7F048614 92220003 */ lbu $v0, 3($s1) +/* 07D188 7F048618 0C002380 */ jal sfxGetArg0Unk3F +/* 07D18C 7F04861C 00000000 */ nop +/* 07D190 7F048620 50400004 */ beql $v0, $zero, .Ljp7F048634 +/* 07D194 7F048624 92220003 */ lbu $v0, 3($s1) +/* 07D198 7F048628 0C00240C */ jal sfxDeactivate +/* 07D19C 7F04862C 8E2400B0 */ lw $a0, 0xb0($s1) +.Ljp7F048630: +/* 07D1A0 7F048630 92220003 */ lbu $v0, 3($s1) +.Ljp7F048634: +/* 07D1A4 7F048634 3C018005 */ lui $at, %hi(D_80052B64) # $at, 0x8005 +/* 07D1A8 7F048638 C4342B94 */ lwc1 $f20, %lo(D_80052B64)($at) +/* 07D1AC 7F04863C 2401002F */ li $at, 47 +/* 07D1B0 7F048640 54410020 */ bnel $v0, $at, .Ljp7F0486C4 +/* 07D1B4 7F048644 24010001 */ li $at, 1 +/* 07D1B8 7F048648 8E700004 */ lw $s0, 4($s3) +/* 07D1BC 7F04864C 26240058 */ addiu $a0, $s1, 0x58 +/* 07D1C0 7F048650 8E180080 */ lw $t8, 0x80($s0) +/* 07D1C4 7F048654 8E090084 */ lw $t1, 0x84($s0) +/* 07D1C8 7F048658 8E070090 */ lw $a3, 0x90($s0) +/* 07D1CC 7F04865C 44983000 */ mtc1 $t8, $f6 +/* 07D1D0 7F048660 44895000 */ mtc1 $t1, $f10 +/* 07D1D4 7F048664 468031A0 */ cvt.s.w $f6, $f6 +/* 07D1D8 7F048668 468052A0 */ cvt.s.w $f10, $f10 +/* 07D1DC 7F04866C 44053000 */ mfc1 $a1, $f6 +/* 07D1E0 7F048670 44065000 */ mfc1 $a2, $f10 +/* 07D1E4 7F048674 0FC1156C */ jal sub_GAME_7F0451DC +/* 07D1E8 7F048678 00000000 */ nop +/* 07D1EC 7F04867C 8E04008C */ lw $a0, 0x8c($s0) +/* 07D1F0 7F048680 AE020088 */ sw $v0, 0x88($s0) +/* 07D1F4 7F048684 8FAB067C */ lw $t3, 0x67c($sp) +/* 07D1F8 7F048688 0480000B */ bltz $a0, .Ljp7F0486B8 +/* 07D1FC 7F04868C 24010001 */ li $at, 1 +/* 07D200 7F048690 15610009 */ bne $t3, $at, .Ljp7F0486B8 +/* 07D204 7F048694 240100FF */ li $at, 255 +/* 07D208 7F048698 14410005 */ bne $v0, $at, .Ljp7F0486B0 +/* 07D20C 7F04869C 00000000 */ nop +/* 07D210 7F0486A0 0FC2EA5B */ jal sub_GAME_7F0B9DBC +/* 07D214 7F0486A4 00002825 */ move $a1, $zero +/* 07D218 7F0486A8 10000003 */ b .Ljp7F0486B8 +/* 07D21C 7F0486AC 00000000 */ nop +.Ljp7F0486B0: +/* 07D220 7F0486B0 0FC2EA5B */ jal sub_GAME_7F0B9DBC +/* 07D224 7F0486B4 24050001 */ li $a1, 1 +.Ljp7F0486B8: +/* 07D228 7F0486B8 1000003B */ b .Ljp7F0487A8 +/* 07D22C 7F0486BC AFA00678 */ sw $zero, 0x678($sp) +/* 07D230 7F0486C0 24010001 */ li $at, 1 +.Ljp7F0486C4: +/* 07D234 7F0486C4 54410039 */ bnel $v0, $at, .Ljp7F0487AC +/* 07D238 7F0486C8 922C0003 */ lbu $t4, 3($s1) +/* 07D23C 7F0486CC 962C0098 */ lhu $t4, 0x98($s1) +/* 07D240 7F0486D0 318A0002 */ andi $t2, $t4, 2 +/* 07D244 7F0486D4 51400035 */ beql $t2, $zero, .Ljp7F0487AC +/* 07D248 7F0486D8 922C0003 */ lbu $t4, 3($s1) +/* 07D24C 7F0486DC 8E700004 */ lw $s0, 4($s3) +/* 07D250 7F0486E0 4407B000 */ mfc1 $a3, $f22 +/* 07D254 7F0486E4 24120001 */ li $s2, 1 +/* 07D258 7F0486E8 8E0F00C0 */ lw $t7, 0xc0($s0) +/* 07D25C 7F0486EC 8E0D00C4 */ lw $t5, 0xc4($s0) +/* 07D260 7F0486F0 26240058 */ addiu $a0, $s1, 0x58 +/* 07D264 7F0486F4 448F4000 */ mtc1 $t7, $f8 +/* 07D268 7F0486F8 448D2000 */ mtc1 $t5, $f4 +/* 07D26C 7F0486FC 46804220 */ cvt.s.w $f8, $f8 +/* 07D270 7F048700 46802120 */ cvt.s.w $f4, $f4 +/* 07D274 7F048704 44054000 */ mfc1 $a1, $f8 +/* 07D278 7F048708 44062000 */ mfc1 $a2, $f4 +/* 07D27C 7F04870C 0FC1156C */ jal sub_GAME_7F0451DC +/* 07D280 7F048710 00000000 */ nop +/* 07D284 7F048714 A60200BE */ sh $v0, 0xbe($s0) +/* 07D288 7F048718 8FB9067C */ lw $t9, 0x67c($sp) +/* 07D28C 7F04871C 24010001 */ li $at, 1 +/* 07D290 7F048720 57210022 */ bnel $t9, $at, .Ljp7F0487AC +/* 07D294 7F048724 922C0003 */ lbu $t4, 3($s1) +/* 07D298 7F048728 860800BE */ lh $t0, 0xbe($s0) +/* 07D29C 7F04872C 240100FF */ li $at, 255 +/* 07D2A0 7F048730 55010007 */ bnel $t0, $at, .Ljp7F048750 +/* 07D2A4 7F048734 00009025 */ move $s2, $zero +/* 07D2A8 7F048738 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 07D2AC 7F04873C 4606B03C */ c.lt.s $f22, $f6 +/* 07D2B0 7F048740 00000000 */ nop +/* 07D2B4 7F048744 45020003 */ bc1fl .Ljp7F048754 +/* 07D2B8 7F048748 8E820008 */ lw $v0, 8($s4) +/* 07D2BC 7F04874C 00009025 */ move $s2, $zero +.Ljp7F048750: +/* 07D2C0 7F048750 8E820008 */ lw $v0, 8($s4) +.Ljp7F048754: +/* 07D2C4 7F048754 3C188004 */ lui $t8, %hi(prop_door_related) # $t8, 0x8004 +/* 07D2C8 7F048758 2718A20C */ addiu $t8, %lo(prop_door_related) # addiu $t8, $t8, -0x5df4 +/* 07D2CC 7F04875C 8C490004 */ lw $t1, 4($v0) +/* 07D2D0 7F048760 17090009 */ bne $t8, $t1, .Ljp7F048788 +/* 07D2D4 7F048764 00000000 */ nop +/* 07D2D8 7F048768 8C4B0008 */ lw $t3, 8($v0) +/* 07D2DC 7F04876C 02802025 */ move $a0, $s4 +/* 07D2E0 7F048770 0FC1B363 */ jal extract_id_from_object_structure_microcode +/* 07D2E4 7F048774 8D650004 */ lw $a1, 4($t3) +/* 07D2E8 7F048778 8C4E0000 */ lw $t6, ($v0) +/* 07D2EC 7F04877C 15C00002 */ bnez $t6, .Ljp7F048788 +/* 07D2F0 7F048780 00000000 */ nop +/* 07D2F4 7F048784 00009025 */ move $s2, $zero +.Ljp7F048788: +/* 07D2F8 7F048788 12400005 */ beqz $s2, .Ljp7F0487A0 +/* 07D2FC 7F04878C 00000000 */ nop +/* 07D300 7F048790 0FC14EB0 */ jal sub_GAME_7F0535C4 +/* 07D304 7F048794 02002025 */ move $a0, $s0 +/* 07D308 7F048798 10000004 */ b .Ljp7F0487AC +/* 07D30C 7F04879C 922C0003 */ lbu $t4, 3($s1) +.Ljp7F0487A0: +/* 07D310 7F0487A0 0FC14EA5 */ jal sub_GAME_7F053598 +/* 07D314 7F0487A4 02002025 */ move $a0, $s0 +.Ljp7F0487A8: +/* 07D318 7F0487A8 922C0003 */ lbu $t4, 3($s1) +.Ljp7F0487AC: +/* 07D31C 7F0487AC 2410002D */ li $s0, 45 +/* 07D320 7F0487B0 560C0008 */ bnel $s0, $t4, .Ljp7F0487D4 +/* 07D324 7F0487B4 8E23000C */ lw $v1, 0xc($s1) +/* 07D328 7F0487B8 0FC1F52A */ jal get_ptr_for_players_tank +/* 07D32C 7F0487BC 00000000 */ nop +/* 07D330 7F0487C0 54530004 */ bnel $v0, $s3, .Ljp7F0487D4 +/* 07D334 7F0487C4 8E23000C */ lw $v1, 0xc($s1) +/* 07D338 7F0487C8 10000019 */ b .Ljp7F048830 +/* 07D33C 7F0487CC 24030001 */ li $v1, 1 +/* 07D340 7F0487D0 8E23000C */ lw $v1, 0xc($s1) +.Ljp7F0487D4: +/* 07D344 7F0487D4 00035140 */ sll $t2, $v1, 5 +/* 07D348 7F0487D8 05430004 */ bgezl $t2, .Ljp7F0487EC +/* 07D34C 7F0487DC 8E2F0064 */ lw $t7, 0x64($s1) +/* 07D350 7F0487E0 10000013 */ b .Ljp7F048830 +/* 07D354 7F0487E4 24030001 */ li $v1, 1 +/* 07D358 7F0487E8 8E2F0064 */ lw $t7, 0x64($s1) +.Ljp7F0487EC: +/* 07D35C 7F0487EC 0003CB00 */ sll $t9, $v1, 0xc +/* 07D360 7F0487F0 00001825 */ move $v1, $zero +/* 07D364 7F0487F4 31ED0800 */ andi $t5, $t7, 0x800 +/* 07D368 7F0487F8 15A0000D */ bnez $t5, .Ljp7F048830 +/* 07D36C 7F0487FC 00000000 */ nop +/* 07D370 7F048800 0720000B */ bltz $t9, .Ljp7F048830 +/* 07D374 7F048804 02802025 */ move $a0, $s4 +/* 07D378 7F048808 26280058 */ addiu $t0, $s1, 0x58 +/* 07D37C 7F04880C 0FC1B57F */ jal getinstsize +/* 07D380 7F048810 AFA80074 */ sw $t0, 0x74($sp) +/* 07D384 7F048814 44060000 */ mfc1 $a2, $f0 +/* 07D388 7F048818 02602025 */ move $a0, $s3 +/* 07D38C 7F04881C 8FA50074 */ lw $a1, 0x74($sp) +/* 07D390 7F048820 0FC1549A */ jal sub_GAME_7F054D6C +/* 07D394 7F048824 8FA70678 */ lw $a3, 0x678($sp) +/* 07D398 7F048828 10000001 */ b .Ljp7F048830 +/* 07D39C 7F04882C 00401825 */ move $v1, $v0 +.Ljp7F048830: +/* 07D3A0 7F048830 1060037A */ beqz $v1, .Ljp7F04961C +/* 07D3A4 7F048834 8FB80680 */ lw $t8, 0x680($sp) +/* 07D3A8 7F048838 13000003 */ beqz $t8, .Ljp7F048848 +/* 07D3AC 7F04883C 26240078 */ addiu $a0, $s1, 0x78 +/* 07D3B0 7F048840 0FC10184 */ jal update_color_shading +/* 07D3B4 7F048844 2625007C */ addiu $a1, $s1, 0x7c +.Ljp7F048848: +/* 07D3B8 7F048848 92690001 */ lbu $t1, 1($s3) +/* 07D3BC 7F04884C 352B0002 */ ori $t3, $t1, 2 +/* 07D3C0 7F048850 A26B0001 */ sb $t3, 1($s3) +/* 07D3C4 7F048854 8E8E0008 */ lw $t6, 8($s4) +/* 07D3C8 7F048858 85C4000E */ lh $a0, 0xe($t6) +/* 07D3CC 7F04885C 00046180 */ sll $t4, $a0, 6 +/* 07D3D0 7F048860 0FC2F8B1 */ jal sub_GAME_7F0BD714 +/* 07D3D4 7F048864 01802025 */ move $a0, $t4 +/* 07D3D8 7F048868 AE82000C */ sw $v0, 0xc($s4) +/* 07D3DC 7F04886C 922A0003 */ lbu $t2, 3($s1) +/* 07D3E0 7F048870 24010001 */ li $at, 1 +/* 07D3E4 7F048874 00409025 */ move $s2, $v0 +/* 07D3E8 7F048878 154100AD */ bne $t2, $at, .Ljp7F048B30 +/* 07D3EC 7F04887C 26240018 */ addiu $a0, $s1, 0x18 +/* 07D3F0 7F048880 8E640004 */ lw $a0, 4($s3) +/* 07D3F4 7F048884 00402825 */ move $a1, $v0 +/* 07D3F8 7F048888 0FC14AFA */ jal sub_GAME_7F0526EC +/* 07D3FC 7F04888C AFA403A0 */ sw $a0, 0x3a0($sp) +/* 07D400 7F048890 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07D404 7F048894 00000000 */ nop +/* 07D408 7F048898 00402025 */ move $a0, $v0 +/* 07D40C 7F04889C 0FC1616E */ jal sub_GAME_7F058098 +/* 07D410 7F0488A0 02402825 */ move $a1, $s2 +/* 07D414 7F0488A4 8E820008 */ lw $v0, 8($s4) +/* 07D418 7F0488A8 3C0F8004 */ lui $t7, %hi(prop_eyelid_door_related) # $t7, 0x8004 +/* 07D41C 7F0488AC 25EFA130 */ addiu $t7, %lo(prop_eyelid_door_related) # addiu $t7, $t7, -0x5ed0 +/* 07D420 7F0488B0 8C430004 */ lw $v1, 4($v0) +/* 07D424 7F0488B4 3C0B8004 */ lui $t3, %hi(prop_iris_door_related) # $t3, 0x8004 +/* 07D428 7F0488B8 8FA603A0 */ lw $a2, 0x3a0($sp) +/* 07D42C 7F0488BC 15E30025 */ bne $t7, $v1, .Ljp7F048954 +/* 07D430 7F0488C0 256BA18C */ addiu $t3, %lo(prop_iris_door_related) # addiu $t3, $t3, -0x5e74 +/* 07D434 7F0488C4 C4CA00B4 */ lwc1 $f10, 0xb4($a2) +/* 07D438 7F0488C8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07D43C 7F0488CC 44812000 */ mtc1 $at, $f4 +/* 07D440 7F0488D0 46145202 */ mul.s $f8, $f10, $f20 +/* 07D444 7F0488D4 8C4D0008 */ lw $t5, 8($v0) +/* 07D448 7F0488D8 26450040 */ addiu $a1, $s2, 0x40 +/* 07D44C 7F0488DC 8DB90004 */ lw $t9, 4($t5) +/* 07D450 7F0488E0 46044183 */ div.s $f6, $f8, $f4 +/* 07D454 7F0488E4 8F300004 */ lw $s0, 4($t9) +/* 07D458 7F0488E8 AFA50070 */ sw $a1, 0x70($sp) +/* 07D45C 7F0488EC 4606A301 */ sub.s $f12, $f20, $f6 +/* 07D460 7F0488F0 0FC162A4 */ jal sub_GAME_7F058570 +/* 07D464 7F0488F4 E7AC0398 */ swc1 $f12, 0x398($sp) +/* 07D468 7F0488F8 02002025 */ move $a0, $s0 +/* 07D46C 7F0488FC 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D470 7F048900 8FA50070 */ lw $a1, 0x70($sp) +/* 07D474 7F048904 02402025 */ move $a0, $s2 +/* 07D478 7F048908 0FC16162 */ jal sub_GAME_7F058068 +/* 07D47C 7F04890C 8FA50070 */ lw $a1, 0x70($sp) +/* 07D480 7F048910 8E880008 */ lw $t0, 8($s4) +/* 07D484 7F048914 C7AA0398 */ lwc1 $f10, 0x398($sp) +/* 07D488 7F048918 26450080 */ addiu $a1, $s2, 0x80 +/* 07D48C 7F04891C 8D180008 */ lw $t8, 8($t0) +/* 07D490 7F048920 460AA301 */ sub.s $f12, $f20, $f10 +/* 07D494 7F048924 8F090008 */ lw $t1, 8($t8) +/* 07D498 7F048928 8D300004 */ lw $s0, 4($t1) +/* 07D49C 7F04892C 0FC162A4 */ jal sub_GAME_7F058570 +/* 07D4A0 7F048930 AFA5006C */ sw $a1, 0x6c($sp) +/* 07D4A4 7F048934 02002025 */ move $a0, $s0 +/* 07D4A8 7F048938 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D4AC 7F04893C 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D4B0 7F048940 02402025 */ move $a0, $s2 +/* 07D4B4 7F048944 0FC16162 */ jal sub_GAME_7F058068 +/* 07D4B8 7F048948 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D4BC 7F04894C 1000031F */ b .Ljp7F0495CC +/* 07D4C0 7F048950 8E8C0008 */ lw $t4, 8($s4) +.Ljp7F048954: +/* 07D4C4 7F048954 5563031D */ bnel $t3, $v1, .Ljp7F0495CC +/* 07D4C8 7F048958 8E8C0008 */ lw $t4, 8($s4) +/* 07D4CC 7F04895C C4C200B4 */ lwc1 $f2, 0xb4($a2) +/* 07D4D0 7F048960 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07D4D4 7F048964 44812000 */ mtc1 $at, $f4 +/* 07D4D8 7F048968 46141202 */ mul.s $f8, $f2, $f20 +/* 07D4DC 7F04896C 3C018005 */ lui $at, %hi(D_80052B68) # $at, 0x8005 +/* 07D4E0 7F048970 C42A2B98 */ lwc1 $f10, %lo(D_80052B68)($at) +/* 07D4E4 7F048974 4600B386 */ mov.s $f14, $f22 +/* 07D4E8 7F048978 46044183 */ div.s $f6, $f8, $f4 +/* 07D4EC 7F04897C E7A60388 */ swc1 $f6, 0x388($sp) +/* 07D4F0 7F048980 C4CC0084 */ lwc1 $f12, 0x84($a2) +/* 07D4F4 7F048984 460A6002 */ mul.s $f0, $f12, $f10 +/* 07D4F8 7F048988 4602003C */ c.lt.s $f0, $f2 +/* 07D4FC 7F04898C 00000000 */ nop +/* 07D500 7F048990 4502001F */ bc1fl .Ljp7F048A10 +/* 07D504 7F048994 8FAA0680 */ lw $t2, 0x680($sp) +/* 07D508 7F048998 46001201 */ sub.s $f8, $f2, $f0 +/* 07D50C 7F04899C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 07D510 7F0489A0 8FAE0680 */ lw $t6, 0x680($sp) +/* 07D514 7F0489A4 46006181 */ sub.s $f6, $f12, $f0 +/* 07D518 7F0489A8 46086102 */ mul.s $f4, $f12, $f8 +/* 07D51C 7F0489AC 46062283 */ div.s $f10, $f4, $f6 +/* 07D520 7F0489B0 44812000 */ mtc1 $at, $f4 +/* 07D524 7F0489B4 46145202 */ mul.s $f8, $f10, $f20 +/* 07D528 7F0489B8 46044383 */ div.s $f14, $f8, $f4 +/* 07D52C 7F0489BC 11C00011 */ beqz $t6, .Ljp7F048A04 +/* 07D530 7F0489C0 E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D534 7F0489C4 C7A60684 */ lwc1 $f6, 0x684($sp) +/* 07D538 7F0489C8 E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D53C 7F0489CC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07D540 7F0489D0 4600303E */ c.le.s $f6, $f0 +/* 07D544 7F0489D4 240500CA */ li $a1, 202 +/* 07D548 7F0489D8 00003025 */ move $a2, $zero +/* 07D54C 7F0489DC 266C0008 */ addiu $t4, $s3, 8 +/* 07D550 7F0489E0 45000008 */ bc1f .Ljp7F048A04 +/* 07D554 7F0489E4 00000000 */ nop +/* 07D558 7F0489E8 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07D55C 7F0489EC AFAC0074 */ sw $t4, 0x74($sp) +/* 07D560 7F0489F0 0C002386 */ jal play_sfx_a1 +/* 07D564 7F0489F4 E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D568 7F0489F8 00402025 */ move $a0, $v0 +/* 07D56C 7F0489FC 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07D570 7F048A00 8FA50074 */ lw $a1, 0x74($sp) +.Ljp7F048A04: +/* 07D574 7F048A04 10000016 */ b .Ljp7F048A60 +/* 07D578 7F048A08 AFA00390 */ sw $zero, 0x390($sp) +/* 07D57C 7F048A0C 8FAA0680 */ lw $t2, 0x680($sp) +.Ljp7F048A10: +/* 07D580 7F048A10 E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D584 7F048A14 51400012 */ beql $t2, $zero, .Ljp7F048A60 +/* 07D588 7F048A18 AFA00390 */ sw $zero, 0x390($sp) +/* 07D58C 7F048A1C C7AA0684 */ lwc1 $f10, 0x684($sp) +/* 07D590 7F048A20 E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D594 7F048A24 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07D598 7F048A28 460A003C */ c.lt.s $f0, $f10 +/* 07D59C 7F048A2C 240500CB */ li $a1, 203 +/* 07D5A0 7F048A30 00003025 */ move $a2, $zero +/* 07D5A4 7F048A34 266F0008 */ addiu $t7, $s3, 8 +/* 07D5A8 7F048A38 45020009 */ bc1fl .Ljp7F048A60 +/* 07D5AC 7F048A3C AFA00390 */ sw $zero, 0x390($sp) +/* 07D5B0 7F048A40 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07D5B4 7F048A44 AFAF0074 */ sw $t7, 0x74($sp) +/* 07D5B8 7F048A48 0C002386 */ jal play_sfx_a1 +/* 07D5BC 7F048A4C E7AE0384 */ swc1 $f14, 0x384($sp) +/* 07D5C0 7F048A50 00402025 */ move $a0, $v0 +/* 07D5C4 7F048A54 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07D5C8 7F048A58 8FA50074 */ lw $a1, 0x74($sp) +/* 07D5CC 7F048A5C AFA00390 */ sw $zero, 0x390($sp) +.Ljp7F048A60: +/* 07D5D0 7F048A60 8E8D0008 */ lw $t5, 8($s4) +/* 07D5D4 7F048A64 8FA30390 */ lw $v1, 0x390($sp) +/* 07D5D8 7F048A68 C7AC0384 */ lwc1 $f12, 0x384($sp) +/* 07D5DC 7F048A6C 8DB90008 */ lw $t9, 8($t5) +/* 07D5E0 7F048A70 00031040 */ sll $v0, $v1, 1 +/* 07D5E4 7F048A74 00024080 */ sll $t0, $v0, 2 +/* 07D5E8 7F048A78 0328C021 */ addu $t8, $t9, $t0 +/* 07D5EC 7F048A7C 8F090004 */ lw $t1, 4($t8) +/* 07D5F0 7F048A80 00027180 */ sll $t6, $v0, 6 +/* 07D5F4 7F048A84 024E2821 */ addu $a1, $s2, $t6 +/* 07D5F8 7F048A88 8D2B0004 */ lw $t3, 4($t1) +/* 07D5FC 7F048A8C AFA20078 */ sw $v0, 0x78($sp) +/* 07D600 7F048A90 24A50040 */ addiu $a1, $a1, 0x40 +/* 07D604 7F048A94 0FC162EA */ jal sub_GAME_7F058688 +/* 07D608 7F048A98 AFAB0394 */ sw $t3, 0x394($sp) +/* 07D60C 7F048A9C 8FAC0078 */ lw $t4, 0x78($sp) +/* 07D610 7F048AA0 8FB00390 */ lw $s0, 0x390($sp) +/* 07D614 7F048AA4 8FA40394 */ lw $a0, 0x394($sp) +/* 07D618 7F048AA8 000C5180 */ sll $t2, $t4, 6 +/* 07D61C 7F048AAC 024A2821 */ addu $a1, $s2, $t2 +/* 07D620 7F048AB0 24A50040 */ addiu $a1, $a1, 0x40 +/* 07D624 7F048AB4 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D628 7F048AB8 AFA50074 */ sw $a1, 0x74($sp) +/* 07D62C 7F048ABC 02402025 */ move $a0, $s2 +/* 07D630 7F048AC0 0FC16162 */ jal sub_GAME_7F058068 +/* 07D634 7F048AC4 8FA50074 */ lw $a1, 0x74($sp) +/* 07D638 7F048AC8 8E8F0008 */ lw $t7, 8($s4) +/* 07D63C 7F048ACC 8FA20078 */ lw $v0, 0x78($sp) +/* 07D640 7F048AD0 C7AC0388 */ lwc1 $f12, 0x388($sp) +/* 07D644 7F048AD4 8DED0008 */ lw $t5, 8($t7) +/* 07D648 7F048AD8 24420002 */ addiu $v0, $v0, 2 +/* 07D64C 7F048ADC 0002C880 */ sll $t9, $v0, 2 +/* 07D650 7F048AE0 01B94021 */ addu $t0, $t5, $t9 +/* 07D654 7F048AE4 8D180000 */ lw $t8, ($t0) +/* 07D658 7F048AE8 00025980 */ sll $t3, $v0, 6 +/* 07D65C 7F048AEC 024B2821 */ addu $a1, $s2, $t3 +/* 07D660 7F048AF0 8F090004 */ lw $t1, 4($t8) +/* 07D664 7F048AF4 AFA50070 */ sw $a1, 0x70($sp) +/* 07D668 7F048AF8 0FC162EA */ jal sub_GAME_7F058688 +/* 07D66C 7F048AFC AFA90394 */ sw $t1, 0x394($sp) +/* 07D670 7F048B00 8FA40394 */ lw $a0, 0x394($sp) +/* 07D674 7F048B04 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D678 7F048B08 8FA50070 */ lw $a1, 0x70($sp) +/* 07D67C 7F048B0C 8FA40074 */ lw $a0, 0x74($sp) +/* 07D680 7F048B10 0FC16162 */ jal sub_GAME_7F058068 +/* 07D684 7F048B14 8FA50070 */ lw $a1, 0x70($sp) +/* 07D688 7F048B18 26100001 */ addiu $s0, $s0, 1 +/* 07D68C 7F048B1C 24010006 */ li $at, 6 +/* 07D690 7F048B20 1601FFCF */ bne $s0, $at, .Ljp7F048A60 +/* 07D694 7F048B24 AFB00390 */ sw $s0, 0x390($sp) +/* 07D698 7F048B28 100002A8 */ b .Ljp7F0495CC +/* 07D69C 7F048B2C 8E8C0008 */ lw $t4, 8($s4) +.Ljp7F048B30: +/* 07D6A0 7F048B30 262E0058 */ addiu $t6, $s1, 0x58 +/* 07D6A4 7F048B34 AFAE0074 */ sw $t6, 0x74($sp) +/* 07D6A8 7F048B38 0FC16150 */ jal sub_GAME_7F058020 +/* 07D6AC 7F048B3C 27A503A8 */ addiu $a1, $sp, 0x3a8 +/* 07D6B0 7F048B40 8FA40074 */ lw $a0, 0x74($sp) +/* 07D6B4 7F048B44 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D6B8 7F048B48 27A503A8 */ addiu $a1, $sp, 0x3a8 +/* 07D6BC 7F048B4C 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07D6C0 7F048B50 00000000 */ nop +/* 07D6C4 7F048B54 00402025 */ move $a0, $v0 +/* 07D6C8 7F048B58 27A503A8 */ addiu $a1, $sp, 0x3a8 +/* 07D6CC 7F048B5C 0FC161AB */ jal sub_GAME_7F05818C +/* 07D6D0 7F048B60 02403025 */ move $a2, $s2 +/* 07D6D4 7F048B64 92220003 */ lbu $v0, 3($s1) +/* 07D6D8 7F048B68 24010006 */ li $at, 6 +/* 07D6DC 7F048B6C 27A50324 */ addiu $a1, $sp, 0x324 +/* 07D6E0 7F048B70 5441002D */ bnel $v0, $at, .Ljp7F048C28 +/* 07D6E4 7F048B74 2401000D */ li $at, 13 +/* 07D6E8 7F048B78 8E620004 */ lw $v0, 4($s3) +/* 07D6EC 7F048B7C 8E8C0008 */ lw $t4, 8($s4) +/* 07D6F0 7F048B80 C44C00C8 */ lwc1 $f12, 0xc8($v0) +/* 07D6F4 7F048B84 8D8A0008 */ lw $t2, 8($t4) +/* 07D6F8 7F048B88 4616603C */ c.lt.s $f12, $f22 +/* 07D6FC 7F048B8C 8D4F0000 */ lw $t7, ($t2) +/* 07D700 7F048B90 45000003 */ bc1f .Ljp7F048BA0 +/* 07D704 7F048B94 8DF00004 */ lw $s0, 4($t7) +/* 07D708 7F048B98 10000006 */ b .Ljp7F048BB4 +/* 07D70C 7F048B9C 46146300 */ add.s $f12, $f12, $f20 +.Ljp7F048BA0: +/* 07D710 7F048BA0 460CA03E */ c.le.s $f20, $f12 +/* 07D714 7F048BA4 00000000 */ nop +/* 07D718 7F048BA8 45000002 */ bc1f .Ljp7F048BB4 +/* 07D71C 7F048BAC 00000000 */ nop +/* 07D720 7F048BB0 46146301 */ sub.s $f12, $f12, $f20 +.Ljp7F048BB4: +/* 07D724 7F048BB4 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07D728 7F048BB8 AFA20374 */ sw $v0, 0x374($sp) +/* 07D72C 7F048BBC 8FA20374 */ lw $v0, 0x374($sp) +/* 07D730 7F048BC0 26460040 */ addiu $a2, $s2, 0x40 +/* 07D734 7F048BC4 AFA60070 */ sw $a2, 0x70($sp) +/* 07D738 7F048BC8 27A40324 */ addiu $a0, $sp, 0x324 +/* 07D73C 7F048BCC 0FC1617A */ jal sub_GAME_7F0580C8 +/* 07D740 7F048BD0 24450084 */ addiu $a1, $v0, 0x84 +/* 07D744 7F048BD4 C6080000 */ lwc1 $f8, ($s0) +/* 07D748 7F048BD8 27B20364 */ addiu $s2, $sp, 0x364 +/* 07D74C 7F048BDC 02402825 */ move $a1, $s2 +/* 07D750 7F048BE0 E7A80364 */ swc1 $f8, 0x364($sp) +/* 07D754 7F048BE4 C6040004 */ lwc1 $f4, 4($s0) +/* 07D758 7F048BE8 27A403A8 */ addiu $a0, $sp, 0x3a8 +/* 07D75C 7F048BEC E7A40368 */ swc1 $f4, 0x368($sp) +/* 07D760 7F048BF0 C6060008 */ lwc1 $f6, 8($s0) +/* 07D764 7F048BF4 0FC16265 */ jal sub_GAME_7F058474 +/* 07D768 7F048BF8 E7A6036C */ swc1 $f6, 0x36c($sp) +/* 07D76C 7F048BFC 02402025 */ move $a0, $s2 +/* 07D770 7F048C00 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D774 7F048C04 8FA50070 */ lw $a1, 0x70($sp) +/* 07D778 7F048C08 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07D77C 7F048C0C 00000000 */ nop +/* 07D780 7F048C10 00402025 */ move $a0, $v0 +/* 07D784 7F048C14 0FC1616E */ jal sub_GAME_7F058098 +/* 07D788 7F048C18 8FA50070 */ lw $a1, 0x70($sp) +/* 07D78C 7F048C1C 1000026B */ b .Ljp7F0495CC +/* 07D790 7F048C20 8E8C0008 */ lw $t4, 8($s4) +/* 07D794 7F048C24 2401000D */ li $at, 13 +.Ljp7F048C28: +/* 07D798 7F048C28 5441007F */ bnel $v0, $at, .Ljp7F048E28 +/* 07D79C 7F048C2C 24010008 */ li $at, 8 +/* 07D7A0 7F048C30 8E620004 */ lw $v0, 4($s3) +/* 07D7A4 7F048C34 3C018005 */ lui $at, %hi(D_80052B6C) # $at, 0x8005 +/* 07D7A8 7F048C38 C4282B9C */ lwc1 $f8, %lo(D_80052B6C)($at) +/* 07D7AC 7F048C3C C44A0090 */ lwc1 $f10, 0x90($v0) +/* 07D7B0 7F048C40 C444009C */ lwc1 $f4, 0x9c($v0) +/* 07D7B4 7F048C44 46085300 */ add.s $f12, $f10, $f8 +/* 07D7B8 7F048C48 46002187 */ neg.s $f6, $f4 +/* 07D7BC 7F048C4C 460CA03E */ c.le.s $f20, $f12 +/* 07D7C0 7F048C50 E7A60304 */ swc1 $f6, 0x304($sp) +/* 07D7C4 7F048C54 45020003 */ bc1fl .Ljp7F048C64 +/* 07D7C8 7F048C58 8E8D0008 */ lw $t5, 8($s4) +/* 07D7CC 7F048C5C 46146301 */ sub.s $f12, $f12, $f20 +/* 07D7D0 7F048C60 8E8D0008 */ lw $t5, 8($s4) +.Ljp7F048C64: +/* 07D7D4 7F048C64 27A403A8 */ addiu $a0, $sp, 0x3a8 +/* 07D7D8 7F048C68 27A5030C */ addiu $a1, $sp, 0x30c +/* 07D7DC 7F048C6C 8DB90008 */ lw $t9, 8($t5) +/* 07D7E0 7F048C70 8F280004 */ lw $t0, 4($t9) +/* 07D7E4 7F048C74 8D100004 */ lw $s0, 4($t0) +/* 07D7E8 7F048C78 C60A0000 */ lwc1 $f10, ($s0) +/* 07D7EC 7F048C7C E7AA030C */ swc1 $f10, 0x30c($sp) +/* 07D7F0 7F048C80 C6080004 */ lwc1 $f8, 4($s0) +/* 07D7F4 7F048C84 E7A80310 */ swc1 $f8, 0x310($sp) +/* 07D7F8 7F048C88 C6040008 */ lwc1 $f4, 8($s0) +/* 07D7FC 7F048C8C E7AC0308 */ swc1 $f12, 0x308($sp) +/* 07D800 7F048C90 AFA2031C */ sw $v0, 0x31c($sp) +/* 07D804 7F048C94 0FC16265 */ jal sub_GAME_7F058474 +/* 07D808 7F048C98 E7A40314 */ swc1 $f4, 0x314($sp) +/* 07D80C 7F048C9C 26450040 */ addiu $a1, $s2, 0x40 +/* 07D810 7F048CA0 C7AC0308 */ lwc1 $f12, 0x308($sp) +/* 07D814 7F048CA4 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07D818 7F048CA8 AFA50070 */ sw $a1, 0x70($sp) +/* 07D81C 7F048CAC 27A4030C */ addiu $a0, $sp, 0x30c +/* 07D820 7F048CB0 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D824 7F048CB4 8FA50070 */ lw $a1, 0x70($sp) +/* 07D828 7F048CB8 8FB8031C */ lw $t8, 0x31c($sp) +/* 07D82C 7F048CBC 8FA50070 */ lw $a1, 0x70($sp) +/* 07D830 7F048CC0 8F090014 */ lw $t1, 0x14($t8) +/* 07D834 7F048CC4 0FC163E7 */ jal matrix_multiply_A1_by_F12 +/* 07D838 7F048CC8 C52C0014 */ lwc1 $f12, 0x14($t1) +/* 07D83C 7F048CCC 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07D840 7F048CD0 00000000 */ nop +/* 07D844 7F048CD4 00402025 */ move $a0, $v0 +/* 07D848 7F048CD8 0FC1616E */ jal sub_GAME_7F058098 +/* 07D84C 7F048CDC 8FA50070 */ lw $a1, 0x70($sp) +/* 07D850 7F048CE0 8E8B0008 */ lw $t3, 8($s4) +/* 07D854 7F048CE4 26450080 */ addiu $a1, $s2, 0x80 +/* 07D858 7F048CE8 C7AC0304 */ lwc1 $f12, 0x304($sp) +/* 07D85C 7F048CEC 8D6E0008 */ lw $t6, 8($t3) +/* 07D860 7F048CF0 8DCC0008 */ lw $t4, 8($t6) +/* 07D864 7F048CF4 8D900004 */ lw $s0, 4($t4) +/* 07D868 7F048CF8 0FC162EA */ jal sub_GAME_7F058688 +/* 07D86C 7F048CFC AFA5006C */ sw $a1, 0x6c($sp) +/* 07D870 7F048D00 02002025 */ move $a0, $s0 +/* 07D874 7F048D04 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D878 7F048D08 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D87C 7F048D0C 8FA40070 */ lw $a0, 0x70($sp) +/* 07D880 7F048D10 0FC1616E */ jal sub_GAME_7F058098 +/* 07D884 7F048D14 8FA5006C */ lw $a1, 0x6c($sp) +/* 07D888 7F048D18 8E8A0008 */ lw $t2, 8($s4) +/* 07D88C 7F048D1C 02802025 */ move $a0, $s4 +/* 07D890 7F048D20 8D430008 */ lw $v1, 8($t2) +/* 07D894 7F048D24 8C65000C */ lw $a1, 0xc($v1) +/* 07D898 7F048D28 50A00016 */ beql $a1, $zero, .Ljp7F048D84 +/* 07D89C 7F048D2C 8C650010 */ lw $a1, 0x10($v1) +/* 07D8A0 7F048D30 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07D8A4 7F048D34 00003025 */ move $a2, $zero +/* 07D8A8 7F048D38 AFA20300 */ sw $v0, 0x300($sp) +/* 07D8AC 7F048D3C 8E8F0008 */ lw $t7, 8($s4) +/* 07D8B0 7F048D40 8FA8031C */ lw $t0, 0x31c($sp) +/* 07D8B4 7F048D44 00402825 */ move $a1, $v0 +/* 07D8B8 7F048D48 8DED0008 */ lw $t5, 8($t7) +/* 07D8BC 7F048D4C C50C00B4 */ lwc1 $f12, 0xb4($t0) +/* 07D8C0 7F048D50 8DB9000C */ lw $t9, 0xc($t5) +/* 07D8C4 7F048D54 0FC162A4 */ jal sub_GAME_7F058570 +/* 07D8C8 7F048D58 8F300004 */ lw $s0, 4($t9) +/* 07D8CC 7F048D5C 8FB20300 */ lw $s2, 0x300($sp) +/* 07D8D0 7F048D60 02002025 */ move $a0, $s0 +/* 07D8D4 7F048D64 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D8D8 7F048D68 02402825 */ move $a1, $s2 +/* 07D8DC 7F048D6C 8FA4006C */ lw $a0, 0x6c($sp) +/* 07D8E0 7F048D70 0FC1616E */ jal sub_GAME_7F058098 +/* 07D8E4 7F048D74 02402825 */ move $a1, $s2 +/* 07D8E8 7F048D78 8E980008 */ lw $t8, 8($s4) +/* 07D8EC 7F048D7C 8F030008 */ lw $v1, 8($t8) +/* 07D8F0 7F048D80 8C650010 */ lw $a1, 0x10($v1) +.Ljp7F048D84: +/* 07D8F4 7F048D84 02802025 */ move $a0, $s4 +/* 07D8F8 7F048D88 50A00010 */ beql $a1, $zero, .Ljp7F048DCC +/* 07D8FC 7F048D8C 8C650018 */ lw $a1, 0x18($v1) +/* 07D900 7F048D90 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07D904 7F048D94 00003025 */ move $a2, $zero +/* 07D908 7F048D98 8E890008 */ lw $t1, 8($s4) +/* 07D90C 7F048D9C 00409025 */ move $s2, $v0 +/* 07D910 7F048DA0 00402825 */ move $a1, $v0 +/* 07D914 7F048DA4 8D2B0008 */ lw $t3, 8($t1) +/* 07D918 7F048DA8 8D6E0010 */ lw $t6, 0x10($t3) +/* 07D91C 7F048DAC 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07D920 7F048DB0 8DC40004 */ lw $a0, 4($t6) +/* 07D924 7F048DB4 8FA4006C */ lw $a0, 0x6c($sp) +/* 07D928 7F048DB8 0FC1616E */ jal sub_GAME_7F058098 +/* 07D92C 7F048DBC 02402825 */ move $a1, $s2 +/* 07D930 7F048DC0 8E8C0008 */ lw $t4, 8($s4) +/* 07D934 7F048DC4 8D830008 */ lw $v1, 8($t4) +/* 07D938 7F048DC8 8C650018 */ lw $a1, 0x18($v1) +.Ljp7F048DCC: +/* 07D93C 7F048DCC 02802025 */ move $a0, $s4 +/* 07D940 7F048DD0 50A001FE */ beql $a1, $zero, .Ljp7F0495CC +/* 07D944 7F048DD4 8E8C0008 */ lw $t4, 8($s4) +/* 07D948 7F048DD8 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07D94C 7F048DDC 00003025 */ move $a2, $zero +/* 07D950 7F048DE0 8E8A0008 */ lw $t2, 8($s4) +/* 07D954 7F048DE4 8FB9031C */ lw $t9, 0x31c($sp) +/* 07D958 7F048DE8 00409025 */ move $s2, $v0 +/* 07D95C 7F048DEC 8D4F0008 */ lw $t7, 8($t2) +/* 07D960 7F048DF0 00402825 */ move $a1, $v0 +/* 07D964 7F048DF4 C72C00B4 */ lwc1 $f12, 0xb4($t9) +/* 07D968 7F048DF8 8DED0018 */ lw $t5, 0x18($t7) +/* 07D96C 7F048DFC 0FC162A4 */ jal sub_GAME_7F058570 +/* 07D970 7F048E00 8DB00004 */ lw $s0, 4($t5) +/* 07D974 7F048E04 02002025 */ move $a0, $s0 +/* 07D978 7F048E08 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07D97C 7F048E0C 02402825 */ move $a1, $s2 +/* 07D980 7F048E10 8FA4006C */ lw $a0, 0x6c($sp) +/* 07D984 7F048E14 0FC1616E */ jal sub_GAME_7F058098 +/* 07D988 7F048E18 02402825 */ move $a1, $s2 +/* 07D98C 7F048E1C 100001EB */ b .Ljp7F0495CC +/* 07D990 7F048E20 8E8C0008 */ lw $t4, 8($s4) +/* 07D994 7F048E24 24010008 */ li $at, 8 +.Ljp7F048E28: +/* 07D998 7F048E28 54410017 */ bnel $v0, $at, .Ljp7F048E88 +/* 07D99C 7F048E2C 2401000C */ li $at, 12 +/* 07D9A0 7F048E30 8E880008 */ lw $t0, 8($s4) +/* 07D9A4 7F048E34 24020001 */ li $v0, 1 +/* 07D9A8 7F048E38 26440040 */ addiu $a0, $s2, 0x40 +/* 07D9AC 7F048E3C 8518000E */ lh $t8, 0xe($t0) +/* 07D9B0 7F048E40 2B010002 */ slti $at, $t8, 2 +/* 07D9B4 7F048E44 542001E1 */ bnezl $at, .Ljp7F0495CC +/* 07D9B8 7F048E48 8E8C0008 */ lw $t4, 8($s4) +/* 07D9BC 7F048E4C AFA202FC */ sw $v0, 0x2fc($sp) +.Ljp7F048E50: +/* 07D9C0 7F048E50 0FC1613C */ jal reset_array_of_0x10_floats +/* 07D9C4 7F048E54 AFA40078 */ sw $a0, 0x78($sp) +/* 07D9C8 7F048E58 8E890008 */ lw $t1, 8($s4) +/* 07D9CC 7F048E5C 8FA202FC */ lw $v0, 0x2fc($sp) +/* 07D9D0 7F048E60 8FA40078 */ lw $a0, 0x78($sp) +/* 07D9D4 7F048E64 852B000E */ lh $t3, 0xe($t1) +/* 07D9D8 7F048E68 24420001 */ addiu $v0, $v0, 1 +/* 07D9DC 7F048E6C 24840040 */ addiu $a0, $a0, 0x40 +/* 07D9E0 7F048E70 004B082A */ slt $at, $v0, $t3 +/* 07D9E4 7F048E74 5420FFF6 */ bnezl $at, .Ljp7F048E50 +/* 07D9E8 7F048E78 AFA202FC */ sw $v0, 0x2fc($sp) +/* 07D9EC 7F048E7C 100001D3 */ b .Ljp7F0495CC +/* 07D9F0 7F048E80 8E8C0008 */ lw $t4, 8($s4) +/* 07D9F4 7F048E84 2401000C */ li $at, 12 +.Ljp7F048E88: +/* 07D9F8 7F048E88 5441002C */ bnel $v0, $at, .Ljp7F048F3C +/* 07D9FC 7F048E8C 24010027 */ li $at, 39 +/* 07DA00 7F048E90 8E8E0008 */ lw $t6, 8($s4) +/* 07DA04 7F048E94 26450040 */ addiu $a1, $s2, 0x40 +/* 07DA08 7F048E98 8DCC0008 */ lw $t4, 8($t6) +/* 07DA0C 7F048E9C 8D8A0000 */ lw $t2, ($t4) +/* 07DA10 7F048EA0 8D440004 */ lw $a0, 4($t2) +/* 07DA14 7F048EA4 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07DA18 7F048EA8 AFA50070 */ sw $a1, 0x70($sp) +/* 07DA1C 7F048EAC 02402025 */ move $a0, $s2 +/* 07DA20 7F048EB0 0FC1616E */ jal sub_GAME_7F058098 +/* 07DA24 7F048EB4 8FA50070 */ lw $a1, 0x70($sp) +/* 07DA28 7F048EB8 8E8F0008 */ lw $t7, 8($s4) +/* 07DA2C 7F048EBC 26450080 */ addiu $a1, $s2, 0x80 +/* 07DA30 7F048EC0 8DED0008 */ lw $t5, 8($t7) +/* 07DA34 7F048EC4 8DB90004 */ lw $t9, 4($t5) +/* 07DA38 7F048EC8 8F240004 */ lw $a0, 4($t9) +/* 07DA3C 7F048ECC 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07DA40 7F048ED0 AFA5006C */ sw $a1, 0x6c($sp) +/* 07DA44 7F048ED4 02402025 */ move $a0, $s2 +/* 07DA48 7F048ED8 0FC1616E */ jal sub_GAME_7F058098 +/* 07DA4C 7F048EDC 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DA50 7F048EE0 8E880008 */ lw $t0, 8($s4) +/* 07DA54 7F048EE4 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07DA58 7F048EE8 8D180008 */ lw $t8, 8($t0) +/* 07DA5C 7F048EEC 8F090008 */ lw $t1, 8($t8) +/* 07DA60 7F048EF0 8D240004 */ lw $a0, 4($t1) +/* 07DA64 7F048EF4 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07DA68 7F048EF8 AFA50078 */ sw $a1, 0x78($sp) +/* 07DA6C 7F048EFC 02402025 */ move $a0, $s2 +/* 07DA70 7F048F00 0FC1616E */ jal sub_GAME_7F058098 +/* 07DA74 7F048F04 8FA50078 */ lw $a1, 0x78($sp) +/* 07DA78 7F048F08 8E8B0008 */ lw $t3, 8($s4) +/* 07DA7C 7F048F0C 26500100 */ addiu $s0, $s2, 0x100 +/* 07DA80 7F048F10 02002825 */ move $a1, $s0 +/* 07DA84 7F048F14 8D6E0008 */ lw $t6, 8($t3) +/* 07DA88 7F048F18 8DCC000C */ lw $t4, 0xc($t6) +/* 07DA8C 7F048F1C 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07DA90 7F048F20 8D840004 */ lw $a0, 4($t4) +/* 07DA94 7F048F24 02402025 */ move $a0, $s2 +/* 07DA98 7F048F28 0FC1616E */ jal sub_GAME_7F058098 +/* 07DA9C 7F048F2C 02002825 */ move $a1, $s0 +/* 07DAA0 7F048F30 100001A6 */ b .Ljp7F0495CC +/* 07DAA4 7F048F34 8E8C0008 */ lw $t4, 8($s4) +/* 07DAA8 7F048F38 24010027 */ li $at, 39 +.Ljp7F048F3C: +/* 07DAAC 7F048F3C 544100B9 */ bnel $v0, $at, .Ljp7F049224 +/* 07DAB0 7F048F40 24010028 */ li $at, 40 +/* 07DAB4 7F048F44 8E8A0008 */ lw $t2, 8($s4) +/* 07DAB8 7F048F48 8FAC0680 */ lw $t4, 0x680($sp) +/* 07DABC 7F048F4C 4600B006 */ mov.s $f0, $f22 +/* 07DAC0 7F048F50 8D430008 */ lw $v1, 8($t2) +/* 07DAC4 7F048F54 8C6F0004 */ lw $t7, 4($v1) +/* 07DAC8 7F048F58 8DED0004 */ lw $t5, 4($t7) +/* 07DACC 7F048F5C AFAD0264 */ sw $t5, 0x264($sp) +/* 07DAD0 7F048F60 8C790008 */ lw $t9, 8($v1) +/* 07DAD4 7F048F64 8F280004 */ lw $t0, 4($t9) +/* 07DAD8 7F048F68 AFA80260 */ sw $t0, 0x260($sp) +/* 07DADC 7F048F6C 8C690010 */ lw $t1, 0x10($v1) +/* 07DAE0 7F048F70 8C78000C */ lw $t8, 0xc($v1) +/* 07DAE4 7F048F74 8D2B0004 */ lw $t3, 4($t1) +/* 07DAE8 7F048F78 8F100004 */ lw $s0, 4($t8) +/* 07DAEC 7F048F7C AFAB0258 */ sw $t3, 0x258($sp) +/* 07DAF0 7F048F80 8C6E0018 */ lw $t6, 0x18($v1) +/* 07DAF4 7F048F84 C6840014 */ lwc1 $f4, 0x14($s4) +/* 07DAF8 7F048F88 8DC20004 */ lw $v0, 4($t6) +/* 07DAFC 7F048F8C C4460010 */ lwc1 $f6, 0x10($v0) +/* 07DB00 7F048F90 C44A000C */ lwc1 $f10, 0xc($v0) +/* 07DB04 7F048F94 460A3201 */ sub.s $f8, $f6, $f10 +/* 07DB08 7F048F98 46044082 */ mul.s $f2, $f8, $f4 +/* 07DB0C 7F048F9C 11800026 */ beqz $t4, .Ljp7F049038 +/* 07DB10 7F048FA0 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 +/* 07DB14 7F048FA4 C42A83B4 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07DB18 7F048FA8 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07DB1C 7F048FAC 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07DB20 7F048FB0 460A3202 */ mul.s $f8, $f6, $f10 +/* 07DB24 7F048FB4 44815000 */ mtc1 $at, $f10 +/* 07DB28 7F048FB8 46144102 */ mul.s $f4, $f8, $f20 +/* 07DB2C 7F048FBC 00000000 */ nop +/* 07DB30 7F048FC0 46141182 */ mul.s $f6, $f2, $f20 +/* 07DB34 7F048FC4 00000000 */ nop +/* 07DB38 7F048FC8 460A3202 */ mul.s $f8, $f6, $f10 +/* 07DB3C 7F048FCC C626008C */ lwc1 $f6, 0x8c($s1) +/* 07DB40 7F048FD0 46082003 */ div.s $f0, $f4, $f8 +/* 07DB44 7F048FD4 46003280 */ add.s $f10, $f6, $f0 +/* 07DB48 7F048FD8 E62A008C */ swc1 $f10, 0x8c($s1) +/* 07DB4C 7F048FDC C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DB50 7F048FE0 460CA03E */ c.le.s $f20, $f12 +/* 07DB54 7F048FE4 00000000 */ nop +/* 07DB58 7F048FE8 45000008 */ bc1f .Ljp7F04900C +/* 07DB5C 7F048FEC 00000000 */ nop +/* 07DB60 7F048FF0 46146101 */ sub.s $f4, $f12, $f20 +.Ljp7F048FF4: +/* 07DB64 7F048FF4 E624008C */ swc1 $f4, 0x8c($s1) +/* 07DB68 7F048FF8 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DB6C 7F048FFC 460CA03E */ c.le.s $f20, $f12 +/* 07DB70 7F049000 00000000 */ nop +/* 07DB74 7F049004 4503FFFB */ bc1tl .Ljp7F048FF4 +/* 07DB78 7F049008 46146101 */ sub.s $f4, $f12, $f20 +.Ljp7F04900C: +/* 07DB7C 7F04900C 4616603C */ c.lt.s $f12, $f22 +/* 07DB80 7F049010 00000000 */ nop +/* 07DB84 7F049014 45020009 */ bc1fl .Ljp7F04903C +/* 07DB88 7F049018 C626008C */ lwc1 $f6, 0x8c($s1) +/* 07DB8C 7F04901C 46146200 */ add.s $f8, $f12, $f20 +.Ljp7F049020: +/* 07DB90 7F049020 E628008C */ swc1 $f8, 0x8c($s1) +/* 07DB94 7F049024 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DB98 7F049028 4616603C */ c.lt.s $f12, $f22 +/* 07DB9C 7F04902C 00000000 */ nop +/* 07DBA0 7F049030 4503FFFB */ bc1tl .Ljp7F049020 +/* 07DBA4 7F049034 46146200 */ add.s $f8, $f12, $f20 +.Ljp7F049038: +/* 07DBA8 7F049038 C626008C */ lwc1 $f6, 0x8c($s1) +.Ljp7F04903C: +/* 07DBAC 7F04903C 46003280 */ add.s $f10, $f6, $f0 +/* 07DBB0 7F049040 E62A008C */ swc1 $f10, 0x8c($s1) +/* 07DBB4 7F049044 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DBB8 7F049048 460CA03E */ c.le.s $f20, $f12 +/* 07DBBC 7F04904C 00000000 */ nop +/* 07DBC0 7F049050 45020009 */ bc1fl .Ljp7F049078 +/* 07DBC4 7F049054 4616603C */ c.lt.s $f12, $f22 +/* 07DBC8 7F049058 46146101 */ sub.s $f4, $f12, $f20 +.Ljp7F04905C: +/* 07DBCC 7F04905C E624008C */ swc1 $f4, 0x8c($s1) +/* 07DBD0 7F049060 C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DBD4 7F049064 460CA03E */ c.le.s $f20, $f12 +/* 07DBD8 7F049068 00000000 */ nop +/* 07DBDC 7F04906C 4503FFFB */ bc1tl .Ljp7F04905C +/* 07DBE0 7F049070 46146101 */ sub.s $f4, $f12, $f20 +/* 07DBE4 7F049074 4616603C */ c.lt.s $f12, $f22 +.Ljp7F049078: +/* 07DBE8 7F049078 00000000 */ nop +/* 07DBEC 7F04907C 45000008 */ bc1f .Ljp7F0490A0 +/* 07DBF0 7F049080 00000000 */ nop +/* 07DBF4 7F049084 46146200 */ add.s $f8, $f12, $f20 +.Ljp7F049088: +/* 07DBF8 7F049088 E628008C */ swc1 $f8, 0x8c($s1) +/* 07DBFC 7F04908C C62C008C */ lwc1 $f12, 0x8c($s1) +/* 07DC00 7F049090 4616603C */ c.lt.s $f12, $f22 +/* 07DC04 7F049094 00000000 */ nop +/* 07DC08 7F049098 4503FFFB */ bc1tl .Ljp7F049088 +/* 07DC0C 7F04909C 46146200 */ add.s $f8, $f12, $f20 +.Ljp7F0490A0: +/* 07DC10 7F0490A0 0FC162A4 */ jal sub_GAME_7F058570 +/* 07DC14 7F0490A4 27A502B0 */ addiu $a1, $sp, 0x2b0 +/* 07DC18 7F0490A8 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07DC1C 7F0490AC 4606B03C */ c.lt.s $f22, $f6 +/* 07DC20 7F0490B0 00000000 */ nop +/* 07DC24 7F0490B4 4502002B */ bc1fl .Ljp7F049164 +/* 07DC28 7F0490B8 C62C0090 */ lwc1 $f12, 0x90($s1) +/* 07DC2C 7F0490BC 8FAA0264 */ lw $t2, 0x264($sp) +/* 07DC30 7F0490C0 C60A0008 */ lwc1 $f10, 8($s0) +/* 07DC34 7F0490C4 C62C009C */ lwc1 $f12, 0x9c($s1) +/* 07DC38 7F0490C8 C5440008 */ lwc1 $f4, 8($t2) +/* 07DC3C 7F0490CC C6860014 */ lwc1 $f6, 0x14($s4) +/* 07DC40 7F0490D0 4616603C */ c.lt.s $f12, $f22 +/* 07DC44 7F0490D4 46045201 */ sub.s $f8, $f10, $f4 +/* 07DC48 7F0490D8 46064082 */ mul.s $f2, $f8, $f6 +/* 07DC4C 7F0490DC 45020003 */ bc1fl .Ljp7F0490EC +/* 07DC50 7F0490E0 E7A20254 */ swc1 $f2, 0x254($sp) +/* 07DC54 7F0490E4 46006307 */ neg.s $f12, $f12 +/* 07DC58 7F0490E8 E7A20254 */ swc1 $f2, 0x254($sp) +.Ljp7F0490EC: +/* 07DC5C 7F0490EC 0FC160F3 */ jal sinf +/* 07DC60 7F0490F0 E7AC0250 */ swc1 $f12, 0x250($sp) +/* 07DC64 7F0490F4 C7A20254 */ lwc1 $f2, 0x254($sp) +/* 07DC68 7F0490F8 C7AC0250 */ lwc1 $f12, 0x250($sp) +/* 07DC6C 7F0490FC 46020282 */ mul.s $f10, $f0, $f2 +/* 07DC70 7F049100 0FC160F0 */ jal cosf +/* 07DC74 7F049104 E7AA024C */ swc1 $f10, 0x24c($sp) +/* 07DC78 7F049108 C7A20254 */ lwc1 $f2, 0x254($sp) +/* 07DC7C 7F04910C C6280088 */ lwc1 $f8, 0x88($s1) +/* 07DC80 7F049110 C7AC024C */ lwc1 $f12, 0x24c($sp) +/* 07DC84 7F049114 46020102 */ mul.s $f4, $f0, $f2 +/* 07DC88 7F049118 46081181 */ sub.s $f6, $f2, $f8 +/* 07DC8C 7F04911C 0FC16BD4 */ jal convert_angle_using_inverse +/* 07DC90 7F049120 46062381 */ sub.s $f14, $f4, $f6 +/* 07DC94 7F049124 C7A20250 */ lwc1 $f2, 0x250($sp) +/* 07DC98 7F049128 E6200090 */ swc1 $f0, 0x90($s1) +/* 07DC9C 7F04912C 4602003C */ c.lt.s $f0, $f2 +/* 07DCA0 7F049130 00000000 */ nop +/* 07DCA4 7F049134 45020003 */ bc1fl .Ljp7F049144 +/* 07DCA8 7F049138 C62A009C */ lwc1 $f10, 0x9c($s1) +/* 07DCAC 7F04913C E6220090 */ swc1 $f2, 0x90($s1) +/* 07DCB0 7F049140 C62A009C */ lwc1 $f10, 0x9c($s1) +.Ljp7F049144: +/* 07DCB4 7F049144 460AB03C */ c.lt.s $f22, $f10 +/* 07DCB8 7F049148 00000000 */ nop +/* 07DCBC 7F04914C 45020005 */ bc1fl .Ljp7F049164 +/* 07DCC0 7F049150 C62C0090 */ lwc1 $f12, 0x90($s1) +/* 07DCC4 7F049154 C6280090 */ lwc1 $f8, 0x90($s1) +/* 07DCC8 7F049158 4608A101 */ sub.s $f4, $f20, $f8 +/* 07DCCC 7F04915C E6240090 */ swc1 $f4, 0x90($s1) +/* 07DCD0 7F049160 C62C0090 */ lwc1 $f12, 0x90($s1) +.Ljp7F049164: +/* 07DCD4 7F049164 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07DCD8 7F049168 27A50270 */ addiu $a1, $sp, 0x270 +/* 07DCDC 7F04916C 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07DCE0 7F049170 AFA50078 */ sw $a1, 0x78($sp) +/* 07DCE4 7F049174 0FC16150 */ jal sub_GAME_7F058020 +/* 07DCE8 7F049178 27A402B0 */ addiu $a0, $sp, 0x2b0 +/* 07DCEC 7F04917C 02002025 */ move $a0, $s0 +/* 07DCF0 7F049180 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DCF4 7F049184 8FA50078 */ lw $a1, 0x78($sp) +/* 07DCF8 7F049188 02402025 */ move $a0, $s2 +/* 07DCFC 7F04918C 0FC1616E */ jal sub_GAME_7F058098 +/* 07DD00 7F049190 8FA50078 */ lw $a1, 0x78($sp) +/* 07DD04 7F049194 26500100 */ addiu $s0, $s2, 0x100 +/* 07DD08 7F049198 02002825 */ move $a1, $s0 +/* 07DD0C 7F04919C 0FC16150 */ jal sub_GAME_7F058020 +/* 07DD10 7F0491A0 27A402B0 */ addiu $a0, $sp, 0x2b0 +/* 07DD14 7F0491A4 8FA40258 */ lw $a0, 0x258($sp) +/* 07DD18 7F0491A8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DD1C 7F0491AC 02002825 */ move $a1, $s0 +/* 07DD20 7F0491B0 02402025 */ move $a0, $s2 +/* 07DD24 7F0491B4 0FC1616E */ jal sub_GAME_7F058098 +/* 07DD28 7F0491B8 02002825 */ move $a1, $s0 +/* 07DD2C 7F0491BC 27A40270 */ addiu $a0, $sp, 0x270 +/* 07DD30 7F0491C0 0FC1616E */ jal sub_GAME_7F058098 +/* 07DD34 7F0491C4 27A502B0 */ addiu $a1, $sp, 0x2b0 +/* 07DD38 7F0491C8 26450040 */ addiu $a1, $s2, 0x40 +/* 07DD3C 7F0491CC AFA50070 */ sw $a1, 0x70($sp) +/* 07DD40 7F0491D0 0FC16150 */ jal sub_GAME_7F058020 +/* 07DD44 7F0491D4 27A402B0 */ addiu $a0, $sp, 0x2b0 +/* 07DD48 7F0491D8 8FA40264 */ lw $a0, 0x264($sp) +/* 07DD4C 7F0491DC 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DD50 7F0491E0 8FA50070 */ lw $a1, 0x70($sp) +/* 07DD54 7F0491E4 02402025 */ move $a0, $s2 +/* 07DD58 7F0491E8 0FC1616E */ jal sub_GAME_7F058098 +/* 07DD5C 7F0491EC 8FA50070 */ lw $a1, 0x70($sp) +/* 07DD60 7F0491F0 26450080 */ addiu $a1, $s2, 0x80 +/* 07DD64 7F0491F4 AFA5006C */ sw $a1, 0x6c($sp) +/* 07DD68 7F0491F8 0FC16150 */ jal sub_GAME_7F058020 +/* 07DD6C 7F0491FC 27A402B0 */ addiu $a0, $sp, 0x2b0 +/* 07DD70 7F049200 8FA40260 */ lw $a0, 0x260($sp) +/* 07DD74 7F049204 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DD78 7F049208 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DD7C 7F04920C 02402025 */ move $a0, $s2 +/* 07DD80 7F049210 0FC1616E */ jal sub_GAME_7F058098 +/* 07DD84 7F049214 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DD88 7F049218 100000EC */ b .Ljp7F0495CC +/* 07DD8C 7F04921C 8E8C0008 */ lw $t4, 8($s4) +/* 07DD90 7F049220 24010028 */ li $at, 40 +.Ljp7F049224: +/* 07DD94 7F049224 14410086 */ bne $v0, $at, .Ljp7F049440 +/* 07DD98 7F049228 00000000 */ nop +/* 07DD9C 7F04922C 8E8F0008 */ lw $t7, 8($s4) +/* 07DDA0 7F049230 3C188005 */ lui $t8, %hi(clock_timer) # $t8, 0x8005 +/* 07DDA4 7F049234 8F1883A4 */ lw $t8, %lo(clock_timer)($t8) +/* 07DDA8 7F049238 8DED0008 */ lw $t5, 8($t7) +/* 07DDAC 7F04923C 8FA90680 */ lw $t1, 0x680($sp) +/* 07DDB0 7F049240 27B001B4 */ addiu $s0, $sp, 0x1b4 +/* 07DDB4 7F049244 8DB90008 */ lw $t9, 8($t5) +/* 07DDB8 7F049248 3C0C8003 */ lui $t4, %hi(D_80030B34) # $t4, 0x8003 +/* 07DDBC 7F04924C 02402025 */ move $a0, $s2 +/* 07DDC0 7F049250 8F280004 */ lw $t0, 4($t9) +/* 07DDC4 7F049254 26450040 */ addiu $a1, $s2, 0x40 +/* 07DDC8 7F049258 1B00001E */ blez $t8, .Ljp7F0492D4 +/* 07DDCC 7F04925C AFA80200 */ sw $t0, 0x200($sp) +/* 07DDD0 7F049260 5120001D */ beql $t1, $zero, .Ljp7F0492D8 +/* 07DDD4 7F049264 8E2B0014 */ lw $t3, 0x14($s1) +/* 07DDD8 7F049268 C6260088 */ lwc1 $f6, 0x88($s1) +/* 07DDDC 7F04926C C62A008C */ lwc1 $f10, 0x8c($s1) +/* 07DDE0 7F049270 460A3200 */ add.s $f8, $f6, $f10 +/* 07DDE4 7F049274 E6280088 */ swc1 $f8, 0x88($s1) +/* 07DDE8 7F049278 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07DDEC 7F04927C 4600A03E */ c.le.s $f20, $f0 +/* 07DDF0 7F049280 00000000 */ nop +/* 07DDF4 7F049284 45020009 */ bc1fl .Ljp7F0492AC +/* 07DDF8 7F049288 4616003C */ c.lt.s $f0, $f22 +/* 07DDFC 7F04928C 46140101 */ sub.s $f4, $f0, $f20 +.Ljp7F049290: +/* 07DE00 7F049290 E6240088 */ swc1 $f4, 0x88($s1) +/* 07DE04 7F049294 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07DE08 7F049298 4600A03E */ c.le.s $f20, $f0 +/* 07DE0C 7F04929C 00000000 */ nop +/* 07DE10 7F0492A0 4503FFFB */ bc1tl .Ljp7F049290 +/* 07DE14 7F0492A4 46140101 */ sub.s $f4, $f0, $f20 +/* 07DE18 7F0492A8 4616003C */ c.lt.s $f0, $f22 +.Ljp7F0492AC: +/* 07DE1C 7F0492AC 00000000 */ nop +/* 07DE20 7F0492B0 45020009 */ bc1fl .Ljp7F0492D8 +/* 07DE24 7F0492B4 8E2B0014 */ lw $t3, 0x14($s1) +/* 07DE28 7F0492B8 46140180 */ add.s $f6, $f0, $f20 +.Ljp7F0492BC: +/* 07DE2C 7F0492BC E6260088 */ swc1 $f6, 0x88($s1) +/* 07DE30 7F0492C0 C6200088 */ lwc1 $f0, 0x88($s1) +/* 07DE34 7F0492C4 4616003C */ c.lt.s $f0, $f22 +/* 07DE38 7F0492C8 00000000 */ nop +/* 07DE3C 7F0492CC 4503FFFB */ bc1tl .Ljp7F0492BC +/* 07DE40 7F0492D0 46140180 */ add.s $f6, $f0, $f20 +.Ljp7F0492D4: +/* 07DE44 7F0492D4 8E2B0014 */ lw $t3, 0x14($s1) +.Ljp7F0492D8: +/* 07DE48 7F0492D8 258C0B74 */ addiu $t4, %lo(D_80030B34) # addiu $t4, $t4, 0xb74 +/* 07DE4C 7F0492DC 258F003C */ addiu $t7, $t4, 0x3c +/* 07DE50 7F0492E0 8D6E0020 */ lw $t6, 0x20($t3) +/* 07DE54 7F0492E4 02006825 */ move $t5, $s0 +/* 07DE58 7F0492E8 11C00015 */ beqz $t6, .Ljp7F049340 +/* 07DE5C 7F0492EC 00000000 */ nop +.Ljp7F0492F0: +/* 07DE60 7F0492F0 8D810000 */ lw $at, ($t4) +/* 07DE64 7F0492F4 258C000C */ addiu $t4, $t4, 0xc +/* 07DE68 7F0492F8 25AD000C */ addiu $t5, $t5, 0xc +/* 07DE6C 7F0492FC ADA1FFF4 */ sw $at, -0xc($t5) +/* 07DE70 7F049300 8D81FFF8 */ lw $at, -8($t4) +/* 07DE74 7F049304 ADA1FFF8 */ sw $at, -8($t5) +/* 07DE78 7F049308 8D81FFFC */ lw $at, -4($t4) +/* 07DE7C 7F04930C 158FFFF8 */ bne $t4, $t7, .Ljp7F0492F0 +/* 07DE80 7F049310 ADA1FFFC */ sw $at, -4($t5) +/* 07DE84 7F049314 8D810000 */ lw $at, ($t4) +/* 07DE88 7F049318 0FC1E26D */ jal get_BONDdata_field_10CC +/* 07DE8C 7F04931C ADA10000 */ sw $at, ($t5) +/* 07DE90 7F049320 AFA201B4 */ sw $v0, 0x1b4($sp) +/* 07DE94 7F049324 AFB201C4 */ sw $s2, 0x1c4($sp) +/* 07DE98 7F049328 8E250014 */ lw $a1, 0x14($s1) +/* 07DE9C 7F04932C 0FC1BE3A */ jal subcalcmatrices +/* 07DEA0 7F049330 02002025 */ move $a0, $s0 +/* 07DEA4 7F049334 26590040 */ addiu $t9, $s2, 0x40 +/* 07DEA8 7F049338 10000003 */ b .Ljp7F049348 +/* 07DEAC 7F04933C AFB90070 */ sw $t9, 0x70($sp) +.Ljp7F049340: +/* 07DEB0 7F049340 0FC16150 */ jal sub_GAME_7F058020 +/* 07DEB4 7F049344 AFA50070 */ sw $a1, 0x70($sp) +.Ljp7F049348: +/* 07DEB8 7F049348 8E280008 */ lw $t0, 8($s1) +/* 07DEBC 7F04934C 27A50204 */ addiu $a1, $sp, 0x204 +/* 07DEC0 7F049350 0008C080 */ sll $t8, $t0, 2 +/* 07DEC4 7F049354 07010006 */ bgez $t8, .Ljp7F049370 +/* 07DEC8 7F049358 00000000 */ nop +/* 07DECC 7F04935C C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DED0 7F049360 0FC162EA */ jal sub_GAME_7F058688 +/* 07DED4 7F049364 27A50204 */ addiu $a1, $sp, 0x204 +/* 07DED8 7F049368 10000004 */ b .Ljp7F04937C +/* 07DEDC 7F04936C 26450080 */ addiu $a1, $s2, 0x80 +.Ljp7F049370: +/* 07DEE0 7F049370 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07DEE4 7F049374 C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DEE8 7F049378 26450080 */ addiu $a1, $s2, 0x80 +.Ljp7F04937C: +/* 07DEEC 7F04937C AFA5006C */ sw $a1, 0x6c($sp) +/* 07DEF0 7F049380 0FC16150 */ jal sub_GAME_7F058020 +/* 07DEF4 7F049384 27A40204 */ addiu $a0, $sp, 0x204 +/* 07DEF8 7F049388 8FA40200 */ lw $a0, 0x200($sp) +/* 07DEFC 7F04938C 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DF00 7F049390 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DF04 7F049394 8FA40070 */ lw $a0, 0x70($sp) +/* 07DF08 7F049398 0FC1616E */ jal sub_GAME_7F058098 +/* 07DF0C 7F04939C 8FA5006C */ lw $a1, 0x6c($sp) +/* 07DF10 7F0493A0 8E890008 */ lw $t1, 8($s4) +/* 07DF14 7F0493A4 02802025 */ move $a0, $s4 +/* 07DF18 7F0493A8 00003025 */ move $a2, $zero +/* 07DF1C 7F0493AC 8D230008 */ lw $v1, 8($t1) +/* 07DF20 7F0493B0 8C65000C */ lw $a1, 0xc($v1) +/* 07DF24 7F0493B4 50A00013 */ beql $a1, $zero, .Ljp7F049404 +/* 07DF28 7F0493B8 8C650010 */ lw $a1, 0x10($v1) +/* 07DF2C 7F0493BC 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07DF30 7F0493C0 8CB20004 */ lw $s2, 4($a1) +/* 07DF34 7F0493C4 00408025 */ move $s0, $v0 +/* 07DF38 7F0493C8 C62C0088 */ lwc1 $f12, 0x88($s1) +/* 07DF3C 7F0493CC 0FC162A4 */ jal sub_GAME_7F058570 +/* 07DF40 7F0493D0 27A50204 */ addiu $a1, $sp, 0x204 +/* 07DF44 7F0493D4 27A40204 */ addiu $a0, $sp, 0x204 +/* 07DF48 7F0493D8 0FC16150 */ jal sub_GAME_7F058020 +/* 07DF4C 7F0493DC 02002825 */ move $a1, $s0 +/* 07DF50 7F0493E0 02402025 */ move $a0, $s2 +/* 07DF54 7F0493E4 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07DF58 7F0493E8 02002825 */ move $a1, $s0 +/* 07DF5C 7F0493EC 8FA40070 */ lw $a0, 0x70($sp) +/* 07DF60 7F0493F0 0FC1616E */ jal sub_GAME_7F058098 +/* 07DF64 7F0493F4 02002825 */ move $a1, $s0 +/* 07DF68 7F0493F8 8E8B0008 */ lw $t3, 8($s4) +/* 07DF6C 7F0493FC 8D630008 */ lw $v1, 8($t3) +/* 07DF70 7F049400 8C650010 */ lw $a1, 0x10($v1) +.Ljp7F049404: +/* 07DF74 7F049404 02802025 */ move $a0, $s4 +/* 07DF78 7F049408 00003025 */ move $a2, $zero +/* 07DF7C 7F04940C 50A0006F */ beql $a1, $zero, .Ljp7F0495CC +/* 07DF80 7F049410 8E8C0008 */ lw $t4, 8($s4) +/* 07DF84 7F049414 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07DF88 7F049418 8CB20004 */ lw $s2, 4($a1) +/* 07DF8C 7F04941C 00408025 */ move $s0, $v0 +/* 07DF90 7F049420 02402025 */ move $a0, $s2 +/* 07DF94 7F049424 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07DF98 7F049428 00402825 */ move $a1, $v0 +/* 07DF9C 7F04942C 8FA40070 */ lw $a0, 0x70($sp) +/* 07DFA0 7F049430 0FC1616E */ jal sub_GAME_7F058098 +/* 07DFA4 7F049434 02002825 */ move $a1, $s0 +/* 07DFA8 7F049438 10000064 */ b .Ljp7F0495CC +/* 07DFAC 7F04943C 8E8C0008 */ lw $t4, 8($s4) +.Ljp7F049440: +/* 07DFB0 7F049440 16020061 */ bne $s0, $v0, .Ljp7F0495C8 +/* 07DFB4 7F049444 26450040 */ addiu $a1, $s2, 0x40 +/* 07DFB8 7F049448 8E8E0008 */ lw $t6, 8($s4) +/* 07DFBC 7F04944C 8DC30008 */ lw $v1, 8($t6) +/* 07DFC0 7F049450 8C6F000C */ lw $t7, 0xc($v1) +/* 07DFC4 7F049454 8C6A0004 */ lw $t2, 4($v1) +/* 07DFC8 7F049458 8DEC0004 */ lw $t4, 4($t7) +/* 07DFCC 7F04945C 8D500004 */ lw $s0, 4($t2) +/* 07DFD0 7F049460 AFAC0168 */ sw $t4, 0x168($sp) +/* 07DFD4 7F049464 8C6D0010 */ lw $t5, 0x10($v1) +/* 07DFD8 7F049468 8DB90004 */ lw $t9, 4($t5) +/* 07DFDC 7F04946C AFB90164 */ sw $t9, 0x164($sp) +/* 07DFE0 7F049470 8C680008 */ lw $t0, 8($v1) +/* 07DFE4 7F049474 8D180004 */ lw $t8, 4($t0) +/* 07DFE8 7F049478 AFB80160 */ sw $t8, 0x160($sp) +/* 07DFEC 7F04947C 8C690018 */ lw $t1, 0x18($v1) +/* 07DFF0 7F049480 8D2B0004 */ lw $t3, 4($t1) +/* 07DFF4 7F049484 AFAB015C */ sw $t3, 0x15c($sp) +/* 07DFF8 7F049488 C62E00C8 */ lwc1 $f14, 0xc8($s1) +/* 07DFFC 7F04948C 46007387 */ neg.s $f14, $f14 +/* 07E000 7F049490 4616703C */ c.lt.s $f14, $f22 +/* 07E004 7F049494 00000000 */ nop +/* 07E008 7F049498 45020003 */ bc1fl .Ljp7F0494A8 +/* 07E00C 7F04949C C62C00CC */ lwc1 $f12, 0xcc($s1) +/* 07E010 7F0494A0 46147380 */ add.s $f14, $f14, $f20 +/* 07E014 7F0494A4 C62C00CC */ lwc1 $f12, 0xcc($s1) +.Ljp7F0494A8: +/* 07E018 7F0494A8 46006307 */ neg.s $f12, $f12 +/* 07E01C 7F0494AC 4616603C */ c.lt.s $f12, $f22 +/* 07E020 7F0494B0 00000000 */ nop +/* 07E024 7F0494B4 45020003 */ bc1fl .Ljp7F0494C4 +/* 07E028 7F0494B8 AFA50070 */ sw $a1, 0x70($sp) +/* 07E02C 7F0494BC 46146300 */ add.s $f12, $f12, $f20 +/* 07E030 7F0494C0 AFA50070 */ sw $a1, 0x70($sp) +.Ljp7F0494C4: +/* 07E034 7F0494C4 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07E038 7F0494C8 E7AE0158 */ swc1 $f14, 0x158($sp) +/* 07E03C 7F0494CC 02002025 */ move $a0, $s0 +/* 07E040 7F0494D0 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07E044 7F0494D4 8FA50070 */ lw $a1, 0x70($sp) +/* 07E048 7F0494D8 02402025 */ move $a0, $s2 +/* 07E04C 7F0494DC 0FC1616E */ jal sub_GAME_7F058098 +/* 07E050 7F0494E0 8FA50070 */ lw $a1, 0x70($sp) +/* 07E054 7F0494E4 264500C0 */ addiu $a1, $s2, 0xc0 +/* 07E058 7F0494E8 C7AC0158 */ lwc1 $f12, 0x158($sp) +/* 07E05C 7F0494EC 0FC162A4 */ jal sub_GAME_7F058570 +/* 07E060 7F0494F0 AFA50078 */ sw $a1, 0x78($sp) +/* 07E064 7F0494F4 8FA40168 */ lw $a0, 0x168($sp) +/* 07E068 7F0494F8 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07E06C 7F0494FC 8FA50078 */ lw $a1, 0x78($sp) +/* 07E070 7F049500 8FA40070 */ lw $a0, 0x70($sp) +/* 07E074 7F049504 0FC1616E */ jal sub_GAME_7F058098 +/* 07E078 7F049508 8FA50078 */ lw $a1, 0x78($sp) +/* 07E07C 7F04950C 3C018005 */ lui $at, %hi(D_80052B70) # $at, 0x8005 +/* 07E080 7F049510 26500100 */ addiu $s0, $s2, 0x100 +/* 07E084 7F049514 02002825 */ move $a1, $s0 +/* 07E088 7F049518 0FC162C7 */ jal sub_GAME_7F0585FC +/* 07E08C 7F04951C C42C2BA0 */ lwc1 $f12, %lo(D_80052B70)($at) +/* 07E090 7F049520 8FA40164 */ lw $a0, 0x164($sp) +/* 07E094 7F049524 0FC163AE */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 07E098 7F049528 02002825 */ move $a1, $s0 +/* 07E09C 7F04952C 8FA40078 */ lw $a0, 0x78($sp) +/* 07E0A0 7F049530 0FC1616E */ jal sub_GAME_7F058098 +/* 07E0A4 7F049534 02002825 */ move $a1, $s0 +/* 07E0A8 7F049538 26450080 */ addiu $a1, $s2, 0x80 +/* 07E0AC 7F04953C AFA5006C */ sw $a1, 0x6c($sp) +/* 07E0B0 7F049540 0FC163A1 */ jal init_something_copy_posdata_to_it +/* 07E0B4 7F049544 8FA40160 */ lw $a0, 0x160($sp) +/* 07E0B8 7F049548 8FA40070 */ lw $a0, 0x70($sp) +/* 07E0BC 7F04954C 0FC1616E */ jal sub_GAME_7F058098 +/* 07E0C0 7F049550 8FA5006C */ lw $a1, 0x6c($sp) +/* 07E0C4 7F049554 0FC1E28D */ jal sub_GAME_7F078444 +/* 07E0C8 7F049558 00000000 */ nop +/* 07E0CC 7F04955C 27B00170 */ addiu $s0, $sp, 0x170 +/* 07E0D0 7F049560 02003025 */ move $a2, $s0 +/* 07E0D4 7F049564 00402025 */ move $a0, $v0 +/* 07E0D8 7F049568 0FC161AB */ jal sub_GAME_7F05818C +/* 07E0DC 7F04956C 8FA50070 */ lw $a1, 0x70($sp) +/* 07E0E0 7F049570 8FA4015C */ lw $a0, 0x15c($sp) +/* 07E0E4 7F049574 02002825 */ move $a1, $s0 +/* 07E0E8 7F049578 26260084 */ addiu $a2, $s1, 0x84 +/* 07E0EC 7F04957C 0FC0FE10 */ jal sub_GAME_7F03F540 +/* 07E0F0 7F049580 26270080 */ addiu $a3, $s1, 0x80 +/* 07E0F4 7F049584 8E8E0008 */ lw $t6, 8($s4) +/* 07E0F8 7F049588 8DC30008 */ lw $v1, 8($t6) +/* 07E0FC 7F04958C 8C65001C */ lw $a1, 0x1c($v1) +/* 07E100 7F049590 50A00008 */ beql $a1, $zero, .Ljp7F0495B4 +/* 07E104 7F049594 8C650020 */ lw $a1, 0x20($v1) +/* 07E108 7F049598 0FC1B363 */ jal extract_id_from_object_structure_microcode +/* 07E10C 7F04959C 02802025 */ move $a0, $s4 +/* 07E110 7F0495A0 8E2A00C4 */ lw $t2, 0xc4($s1) +/* 07E114 7F0495A4 A44A0000 */ sh $t2, ($v0) +/* 07E118 7F0495A8 8E8F0008 */ lw $t7, 8($s4) +/* 07E11C 7F0495AC 8DE30008 */ lw $v1, 8($t7) +/* 07E120 7F0495B0 8C650020 */ lw $a1, 0x20($v1) +.Ljp7F0495B4: +/* 07E124 7F0495B4 50A00005 */ beql $a1, $zero, .Ljp7F0495CC +/* 07E128 7F0495B8 8E8C0008 */ lw $t4, 8($s4) +/* 07E12C 7F0495BC 0FC1B363 */ jal extract_id_from_object_structure_microcode +/* 07E130 7F0495C0 02802025 */ move $a0, $s4 +/* 07E134 7F0495C4 AC400000 */ sw $zero, ($v0) +.Ljp7F0495C8: +/* 07E138 7F0495C8 8E8C0008 */ lw $t4, 8($s4) +.Ljp7F0495CC: +/* 07E13C 7F0495CC 02802025 */ move $a0, $s4 +/* 07E140 7F0495D0 0FC1BD25 */ jal sub_GAME_7F06EEA4 +/* 07E144 7F0495D4 8D850000 */ lw $a1, ($t4) +/* 07E148 7F0495D8 8E8D000C */ lw $t5, 0xc($s4) +/* 07E14C 7F0495DC 02602025 */ move $a0, $s3 +/* 07E150 7F0495E0 C5AA0038 */ lwc1 $f10, 0x38($t5) +/* 07E154 7F0495E4 46005207 */ neg.s $f8, $f10 +/* 07E158 7F0495E8 0FC1101D */ jal handle_thrown_explosive_detonation +/* 07E15C 7F0495EC E6680018 */ swc1 $f8, 0x18($s3) +/* 07E160 7F0495F0 8E640020 */ lw $a0, 0x20($s3) +/* 07E164 7F0495F4 50800018 */ beql $a0, $zero, .Ljp7F049658 +/* 07E168 7F0495F8 8E230064 */ lw $v1, 0x64($s1) +/* 07E16C 7F0495FC 8C820024 */ lw $v0, 0x24($a0) +.Ljp7F049600: +/* 07E170 7F049600 0FC11171 */ jal sub_GAME_7F0442DC +/* 07E174 7F049604 AFA2068C */ sw $v0, 0x68c($sp) +/* 07E178 7F049608 8FA4068C */ lw $a0, 0x68c($sp) +/* 07E17C 7F04960C 5480FFFC */ bnezl $a0, .Ljp7F049600 +/* 07E180 7F049610 8C820024 */ lw $v0, 0x24($a0) +/* 07E184 7F049614 10000010 */ b .Ljp7F049658 +/* 07E188 7F049618 8E230064 */ lw $v1, 0x64($s1) +.Ljp7F04961C: +/* 07E18C 7F04961C 92790001 */ lbu $t9, 1($s3) +/* 07E190 7F049620 02602025 */ move $a0, $s3 +/* 07E194 7F049624 3328FFFD */ andi $t0, $t9, 0xfffd +/* 07E198 7F049628 0FC1101D */ jal handle_thrown_explosive_detonation +/* 07E19C 7F04962C A2680001 */ sb $t0, 1($s3) +/* 07E1A0 7F049630 8E640020 */ lw $a0, 0x20($s3) +/* 07E1A4 7F049634 50800008 */ beql $a0, $zero, .Ljp7F049658 +/* 07E1A8 7F049638 8E230064 */ lw $v1, 0x64($s1) +/* 07E1AC 7F04963C 8C820024 */ lw $v0, 0x24($a0) +.Ljp7F049640: +/* 07E1B0 7F049640 0FC1114D */ jal sub_GAME_7F04424C +/* 07E1B4 7F049644 AFA2068C */ sw $v0, 0x68c($sp) +/* 07E1B8 7F049648 8FA4068C */ lw $a0, 0x68c($sp) +/* 07E1BC 7F04964C 5480FFFC */ bnezl $a0, .Ljp7F049640 +/* 07E1C0 7F049650 8C820024 */ lw $v0, 0x24($a0) +/* 07E1C4 7F049654 8E230064 */ lw $v1, 0x64($s1) +.Ljp7F049658: +/* 07E1C8 7F049658 2401FEFF */ li $at, -257 +/* 07E1CC 7F04965C 266B0008 */ addiu $t3, $s3, 8 +/* 07E1D0 7F049660 30780100 */ andi $t8, $v1, 0x100 +/* 07E1D4 7F049664 1300001F */ beqz $t8, .Ljp7F0496E4 +/* 07E1D8 7F049668 00614824 */ and $t1, $v1, $at +/* 07E1DC 7F04966C AE290064 */ sw $t1, 0x64($s1) +/* 07E1E0 7F049670 0C002918 */ jal get_random_value +/* 07E1E4 7F049674 AFAB0074 */ sw $t3, 0x74($sp) +/* 07E1E8 7F049678 44822000 */ mtc1 $v0, $f4 +/* 07E1EC 7F04967C 02202025 */ move $a0, $s1 +/* 07E1F0 7F049680 04410005 */ bgez $v0, .Ljp7F049698 +/* 07E1F4 7F049684 468021A0 */ cvt.s.w $f6, $f4 +/* 07E1F8 7F049688 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07E1FC 7F04968C 44815000 */ mtc1 $at, $f10 +/* 07E200 7F049690 00000000 */ nop +/* 07E204 7F049694 460A3180 */ add.s $f6, $f6, $f10 +.Ljp7F049698: +/* 07E208 7F049698 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07E20C 7F04969C 44814000 */ mtc1 $at, $f8 +/* 07E210 7F0496A0 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 07E214 7F0496A4 44815000 */ mtc1 $at, $f10 +/* 07E218 7F0496A8 46083102 */ mul.s $f4, $f6, $f8 +/* 07E21C 7F0496AC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 07E220 7F0496B0 44814000 */ mtc1 $at, $f8 +/* 07E224 7F0496B4 8E2E0064 */ lw $t6, 0x64($s1) +/* 07E228 7F0496B8 3C010006 */ lui $at, 6 +/* 07E22C 7F0496BC 8FA60074 */ lw $a2, 0x74($sp) +/* 07E230 7F0496C0 01C15024 */ and $t2, $t6, $at +/* 07E234 7F0496C4 460A2182 */ mul.s $f6, $f4, $f10 +/* 07E238 7F0496C8 00003825 */ move $a3, $zero +/* 07E23C 7F0496CC 000A7C42 */ srl $t7, $t2, 0x11 +/* 07E240 7F0496D0 AFAF0010 */ sw $t7, 0x10($sp) +/* 07E244 7F0496D4 46083100 */ add.s $f4, $f6, $f8 +/* 07E248 7F0496D8 44052000 */ mfc1 $a1, $f4 +/* 07E24C 7F0496DC 0FC13943 */ jal maybe_detonate_object +/* 07E250 7F0496E0 00000000 */ nop +.Ljp7F0496E4: +/* 07E254 7F0496E4 8FAC0680 */ lw $t4, 0x680($sp) +/* 07E258 7F0496E8 5180020D */ beql $t4, $zero, .Ljp7F049F20 +/* 07E25C 7F0496EC 8FAD0688 */ lw $t5, 0x688($sp) +/* 07E260 7F0496F0 92220003 */ lbu $v0, 3($s1) +/* 07E264 7F0496F4 24010001 */ li $at, 1 +/* 07E268 7F0496F8 54410006 */ bnel $v0, $at, .Ljp7F049714 +/* 07E26C 7F0496FC 2401000D */ li $at, 13 +/* 07E270 7F049700 0FC14FCE */ jal sub_GAME_7F053A3C +/* 07E274 7F049704 8E640004 */ lw $a0, 4($s3) +/* 07E278 7F049708 10000202 */ b .Ljp7F049F14 +/* 07E27C 7F04970C 00000000 */ nop +/* 07E280 7F049710 2401000D */ li $at, 13 +.Ljp7F049714: +/* 07E284 7F049714 144101FF */ bne $v0, $at, .Ljp7F049F14 +/* 07E288 7F049718 00000000 */ nop +/* 07E28C 7F04971C 0FC3021B */ jal get_controls_locked_flag +/* 07E290 7F049720 00000000 */ nop +/* 07E294 7F049724 144001FB */ bnez $v0, .Ljp7F049F14 +/* 07E298 7F049728 00000000 */ nop +/* 07E29C 7F04972C 8E700004 */ lw $s0, 4($s3) +/* 07E2A0 7F049730 AFA00140 */ sw $zero, 0x140($sp) +/* 07E2A4 7F049734 AFA0013C */ sw $zero, 0x13c($sp) +/* 07E2A8 7F049738 8E0D00D0 */ lw $t5, 0xd0($s0) +/* 07E2AC 7F04973C 51A001E4 */ beql $t5, $zero, .Ljp7F049ED0 +/* 07E2B0 7F049740 8E8E0008 */ lw $t6, 8($s4) +/* 07E2B4 7F049744 8E390008 */ lw $t9, 8($s1) +/* 07E2B8 7F049748 001940C0 */ sll $t0, $t9, 3 +/* 07E2BC 7F04974C 050201E0 */ bltzl $t0, .Ljp7F049ED0 +/* 07E2C0 7F049750 8E8E0008 */ lw $t6, 8($s4) +/* 07E2C4 7F049754 8E1800AC */ lw $t8, 0xac($s0) +/* 07E2C8 7F049758 3C088005 */ lui $t0, %hi(global_timer) # $t0, 0x8005 +/* 07E2CC 7F04975C 27090001 */ addiu $t1, $t8, 1 +/* 07E2D0 7F049760 312B0001 */ andi $t3, $t1, 1 +/* 07E2D4 7F049764 AE0900AC */ sw $t1, 0xac($s0) +/* 07E2D8 7F049768 2D6E0001 */ sltiu $t6, $t3, 1 +/* 07E2DC 7F04976C AFAE0140 */ sw $t6, 0x140($sp) +/* 07E2E0 7F049770 8E8A0008 */ lw $t2, 8($s4) +/* 07E2E4 7F049774 396D0001 */ xori $t5, $t3, 1 +/* 07E2E8 7F049778 2DAD0001 */ sltiu $t5, $t5, 1 +/* 07E2EC 7F04977C 8D4F0008 */ lw $t7, 8($t2) +/* 07E2F0 7F049780 8DEC0014 */ lw $t4, 0x14($t7) +/* 07E2F4 7F049784 51800003 */ beql $t4, $zero, .Ljp7F049794 +/* 07E2F8 7F049788 8E1900C0 */ lw $t9, 0xc0($s0) +/* 07E2FC 7F04978C AFAD013C */ sw $t5, 0x13c($sp) +/* 07E300 7F049790 8E1900C0 */ lw $t9, 0xc0($s0) +.Ljp7F049794: +/* 07E304 7F049794 8D0883AC */ lw $t0, %lo(global_timer)($t0) +/* 07E308 7F049798 0328082A */ slt $at, $t9, $t0 +/* 07E30C 7F04979C 50200032 */ beql $at, $zero, .Ljp7F049868 +/* 07E310 7F0497A0 8FAC0140 */ lw $t4, 0x140($sp) +/* 07E314 7F0497A4 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07E318 7F0497A8 50800008 */ beql $a0, $zero, .Ljp7F0497CC +/* 07E31C 7F0497AC 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07E320 7F0497B0 0C002380 */ jal sfxGetArg0Unk3F +/* 07E324 7F0497B4 00000000 */ nop +/* 07E328 7F0497B8 50400004 */ beql $v0, $zero, .Ljp7F0497CC +/* 07E32C 7F0497BC 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07E330 7F0497C0 0C00240C */ jal sfxDeactivate +/* 07E334 7F0497C4 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07E338 7F0497C8 8E0400C8 */ lw $a0, 0xc8($s0) +.Ljp7F0497CC: +/* 07E33C 7F0497CC 50800008 */ beql $a0, $zero, .Ljp7F0497F0 +/* 07E340 7F0497D0 8E1800C4 */ lw $t8, 0xc4($s0) +/* 07E344 7F0497D4 0C002380 */ jal sfxGetArg0Unk3F +/* 07E348 7F0497D8 00000000 */ nop +/* 07E34C 7F0497DC 50400004 */ beql $v0, $zero, .Ljp7F0497F0 +/* 07E350 7F0497E0 8E1800C4 */ lw $t8, 0xc4($s0) +/* 07E354 7F0497E4 0C00240C */ jal sfxDeactivate +/* 07E358 7F0497E8 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07E35C 7F0497EC 8E1800C4 */ lw $t8, 0xc4($s0) +.Ljp7F0497F0: +/* 07E360 7F0497F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07E364 7F0497F4 240500FD */ li $a1, 253 +/* 07E368 7F0497F8 1700000A */ bnez $t8, .Ljp7F049824 +/* 07E36C 7F0497FC 260600C4 */ addiu $a2, $s0, 0xc4 +/* 07E370 7F049800 26690008 */ addiu $t1, $s3, 8 +/* 07E374 7F049804 AFA90074 */ sw $t1, 0x74($sp) +/* 07E378 7F049808 0C002386 */ jal play_sfx_a1 +/* 07E37C 7F04980C 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07E380 7F049810 8E0400C4 */ lw $a0, 0xc4($s0) +/* 07E384 7F049814 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07E388 7F049818 8FA50074 */ lw $a1, 0x74($sp) +/* 07E38C 7F04981C 1000000D */ b .Ljp7F049854 +/* 07E390 7F049820 00000000 */ nop +.Ljp7F049824: +/* 07E394 7F049824 8E0B00C8 */ lw $t3, 0xc8($s0) +/* 07E398 7F049828 3C048006 */ lui $a0, %hi(ptr_sfx_buf) # $a0, 0x8006 +/* 07E39C 7F04982C 240500FD */ li $a1, 253 +/* 07E3A0 7F049830 15600008 */ bnez $t3, .Ljp7F049854 +/* 07E3A4 7F049834 260600C8 */ addiu $a2, $s0, 0xc8 +/* 07E3A8 7F049838 266E0008 */ addiu $t6, $s3, 8 +/* 07E3AC 7F04983C AFAE0074 */ sw $t6, 0x74($sp) +/* 07E3B0 7F049840 0C002386 */ jal play_sfx_a1 +/* 07E3B4 7F049844 8C843760 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 07E3B8 7F049848 8E0400C8 */ lw $a0, 0xc8($s0) +/* 07E3BC 7F04984C 0FC14FC3 */ jal sub_GAME_7F053A10 +/* 07E3C0 7F049850 8FA50074 */ lw $a1, 0x74($sp) +.Ljp7F049854: +/* 07E3C4 7F049854 3C0A8005 */ lui $t2, %hi(global_timer) # $t2, 0x8005 +/* 07E3C8 7F049858 8D4A83AC */ lw $t2, %lo(global_timer)($t2) +/* 07E3CC 7F04985C 254F0002 */ addiu $t7, $t2, 2 +/* 07E3D0 7F049860 AE0F00C0 */ sw $t7, 0xc0($s0) +/* 07E3D4 7F049864 8FAC0140 */ lw $t4, 0x140($sp) +.Ljp7F049868: +/* 07E3D8 7F049868 8FAD013C */ lw $t5, 0x13c($sp) +/* 07E3DC 7F04986C 24190001 */ li $t9, 1 +/* 07E3E0 7F049870 55800004 */ bnezl $t4, .Ljp7F049884 +/* 07E3E4 7F049874 AFB90120 */ sw $t9, 0x120($sp) +/* 07E3E8 7F049878 51A00195 */ beql $t5, $zero, .Ljp7F049ED0 +/* 07E3EC 7F04987C 8E8E0008 */ lw $t6, 8($s4) +/* 07E3F0 7F049880 AFB90120 */ sw $t9, 0x120($sp) +.Ljp7F049884: +/* 07E3F4 7F049884 AFA00110 */ sw $zero, 0x110($sp) +/* 07E3F8 7F049888 8E680014 */ lw $t0, 0x14($s3) +/* 07E3FC 7F04988C AFA8010C */ sw $t0, 0x10c($sp) +/* 07E400 7F049890 8E1800AC */ lw $t8, 0xac($s0) +/* 07E404 7F049894 33090003 */ andi $t1, $t8, 3 +/* 07E408 7F049898 2D2B0001 */ sltiu $t3, $t1, 1 +/* 07E40C 7F04989C 0FC2279B */ jal get_curplayer_positiondata +/* 07E410 7F0498A0 AFAB0108 */ sw $t3, 0x108($sp) +/* 07E414 7F0498A4 AFA20104 */ sw $v0, 0x104($sp) +/* 07E418 7F0498A8 8E8E0008 */ lw $t6, 8($s4) +/* 07E41C 7F0498AC 24040005 */ li $a0, 5 +/* 07E420 7F0498B0 8DC30008 */ lw $v1, 8($t6) +/* 07E424 7F0498B4 8C6A001C */ lw $t2, 0x1c($v1) +/* 07E428 7F0498B8 51400007 */ beql $t2, $zero, .Ljp7F0498D8 +/* 07E42C 7F0498BC 926D0001 */ lbu $t5, 1($s3) +/* 07E430 7F0498C0 8E0F00AC */ lw $t7, 0xac($s0) +/* 07E434 7F0498C4 31EC0007 */ andi $t4, $t7, 7 +/* 07E438 7F0498C8 55800003 */ bnezl $t4, .Ljp7F0498D8 +/* 07E43C 7F0498CC 926D0001 */ lbu $t5, 1($s3) +/* 07E440 7F0498D0 24040007 */ li $a0, 7 +/* 07E444 7F0498D4 926D0001 */ lbu $t5, 1($s3) +.Ljp7F0498D8: +/* 07E448 7F0498D8 31B90002 */ andi $t9, $t5, 2 +/* 07E44C 7F0498DC 1320002D */ beqz $t9, .Ljp7F049994 +/* 07E450 7F0498E0 00048880 */ sll $s1, $a0, 2 +/* 07E454 7F0498E4 00714021 */ addu $t0, $v1, $s1 +/* 07E458 7F0498E8 8D050000 */ lw $a1, ($t0) +/* 07E45C 7F0498EC 02802025 */ move $a0, $s4 +/* 07E460 7F0498F0 50A00029 */ beql $a1, $zero, .Ljp7F049998 +/* 07E464 7F0498F4 C6640008 */ lwc1 $f4, 8($s3) +/* 07E468 7F0498F8 0FC1B314 */ jal sub_GAME_7F06C660 +/* 07E46C 7F0498FC 00003025 */ move $a2, $zero +/* 07E470 7F049900 8E980008 */ lw $t8, 8($s4) +/* 07E474 7F049904 00409025 */ move $s2, $v0 +/* 07E478 7F049908 8F090008 */ lw $t1, 8($t8) +/* 07E47C 7F04990C 01315821 */ addu $t3, $t1, $s1 +/* 07E480 7F049910 8D6E0000 */ lw $t6, ($t3) +/* 07E484 7F049914 8DC30004 */ lw $v1, 4($t6) +/* 07E488 7F049918 C46A0000 */ lwc1 $f10, ($v1) +/* 07E48C 7F04991C E7AA0130 */ swc1 $f10, 0x130($sp) +/* 07E490 7F049920 C4660004 */ lwc1 $f6, 4($v1) +/* 07E494 7F049924 E7A60134 */ swc1 $f6, 0x134($sp) +/* 07E498 7F049928 C4680008 */ lwc1 $f8, 8($v1) +/* 07E49C 7F04992C 0FC1E28D */ jal sub_GAME_7F078444 +/* 07E4A0 7F049930 E7A80138 */ swc1 $f8, 0x138($sp) +/* 07E4A4 7F049934 27B100BC */ addiu $s1, $sp, 0xbc +/* 07E4A8 7F049938 02203025 */ move $a2, $s1 +/* 07E4AC 7F04993C 00402025 */ move $a0, $v0 +/* 07E4B0 7F049940 0FC161AB */ jal sub_GAME_7F05818C +/* 07E4B4 7F049944 02402825 */ move $a1, $s2 +/* 07E4B8 7F049948 02202025 */ move $a0, $s1 +/* 07E4BC 7F04994C 0FC16265 */ jal sub_GAME_7F058474 +/* 07E4C0 7F049950 27A50130 */ addiu $a1, $sp, 0x130 +/* 07E4C4 7F049954 C7A40138 */ lwc1 $f4, 0x138($sp) +/* 07E4C8 7F049958 8E650008 */ lw $a1, 8($s3) +/* 07E4CC 7F04995C 8E660010 */ lw $a2, 0x10($s3) +/* 07E4D0 7F049960 27A4010C */ addiu $a0, $sp, 0x10c +/* 07E4D4 7F049964 8FA70130 */ lw $a3, 0x130($sp) +/* 07E4D8 7F049968 0FC2C5E5 */ jal sub_GAME_7F0B0BE4 +/* 07E4DC 7F04996C E7A40010 */ swc1 $f4, 0x10($sp) +/* 07E4E0 7F049970 1440000E */ bnez $v0, .Ljp7F0499AC +/* 07E4E4 7F049974 00000000 */ nop +/* 07E4E8 7F049978 C66A0008 */ lwc1 $f10, 8($s3) +/* 07E4EC 7F04997C E7AA0130 */ swc1 $f10, 0x130($sp) +/* 07E4F0 7F049980 C666000C */ lwc1 $f6, 0xc($s3) +/* 07E4F4 7F049984 E7A60134 */ swc1 $f6, 0x134($sp) +/* 07E4F8 7F049988 C6680010 */ lwc1 $f8, 0x10($s3) +/* 07E4FC 7F04998C 10000007 */ b .Ljp7F0499AC +/* 07E500 7F049990 E7A80138 */ swc1 $f8, 0x138($sp) +.Ljp7F049994: +/* 07E504 7F049994 C6640008 */ lwc1 $f4, 8($s3) +.Ljp7F049998: +/* 07E508 7F049998 E7A40130 */ swc1 $f4, 0x130($sp) +/* 07E50C 7F04999C C66A000C */ lwc1 $f10, 0xc($s3) +/* 07E510 7F0499A0 E7AA0134 */ swc1 $f10, 0x134($sp) +/* 07E514 7F0499A4 C6660010 */ lwc1 $f6, 0x10($s3) +/* 07E518 7F0499A8 E7A60138 */ swc1 $f6, 0x138($sp) +.Ljp7F0499AC: +/* 07E51C 7F0499AC 0FC160F0 */ jal cosf +/* 07E520 7F0499B0 C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E524 7F0499B4 C60C0090 */ lwc1 $f12, 0x90($s0) +/* 07E528 7F0499B8 0FC160F3 */ jal sinf +/* 07E52C 7F0499BC E7A00080 */ swc1 $f0, 0x80($sp) +/* 07E530 7F0499C0 C7A20080 */ lwc1 $f2, 0x80($sp) +/* 07E534 7F0499C4 46020202 */ mul.s $f8, $f0, $f2 +/* 07E538 7F0499C8 E7A80124 */ swc1 $f8, 0x124($sp) +/* 07E53C 7F0499CC 0FC160F3 */ jal sinf +/* 07E540 7F0499D0 C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E544 7F0499D4 E7A00128 */ swc1 $f0, 0x128($sp) +/* 07E548 7F0499D8 0FC160F0 */ jal cosf +/* 07E54C 7F0499DC C60C009C */ lwc1 $f12, 0x9c($s0) +/* 07E550 7F0499E0 C60C0090 */ lwc1 $f12, 0x90($s0) +/* 07E554 7F0499E4 0FC160F0 */ jal cosf +/* 07E558 7F0499E8 E7A00080 */ swc1 $f0, 0x80($sp) +/* 07E55C 7F0499EC C7A20080 */ lwc1 $f2, 0x80($sp) +/* 07E560 7F0499F0 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07E564 7F0499F4 44816000 */ mtc1 $at, $f12 +/* 07E568 7F0499F8 46020382 */ mul.s $f14, $f0, $f2 +/* 07E56C 7F0499FC C7A40124 */ lwc1 $f4, 0x124($sp) +/* 07E570 7F049A00 C7A60130 */ lwc1 $f6, 0x130($sp) +/* 07E574 7F049A04 460C2282 */ mul.s $f10, $f4, $f12 +/* 07E578 7F049A08 C7A40128 */ lwc1 $f4, 0x128($sp) +/* 07E57C 7F049A0C E7AE012C */ swc1 $f14, 0x12c($sp) +/* 07E580 7F049A10 46065200 */ add.s $f8, $f10, $f6 +/* 07E584 7F049A14 460C2282 */ mul.s $f10, $f4, $f12 +/* 07E588 7F049A18 C7A60134 */ lwc1 $f6, 0x134($sp) +/* 07E58C 7F049A1C 460C7102 */ mul.s $f4, $f14, $f12 +/* 07E590 7F049A20 E7A80114 */ swc1 $f8, 0x114($sp) +/* 07E594 7F049A24 46065200 */ add.s $f8, $f10, $f6 +/* 07E598 7F049A28 C7AA0138 */ lwc1 $f10, 0x138($sp) +/* 07E59C 7F049A2C 460A2180 */ add.s $f6, $f4, $f10 +/* 07E5A0 7F049A30 E7A80118 */ swc1 $f8, 0x118($sp) +/* 07E5A4 7F049A34 0FC2CA1D */ jal sub_GAME_7F0B1CC4 +/* 07E5A8 7F049A38 E7A6011C */ swc1 $f6, 0x11c($sp) +/* 07E5AC 7F049A3C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 07E5B0 7F049A40 44810000 */ mtc1 $at, $f0 +/* 07E5B4 7F049A44 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E5B8 7F049A48 44812000 */ mtc1 $at, $f4 +/* 07E5BC 7F049A4C C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 07E5C0 7F049A50 240A0002 */ li $t2, 2 +/* 07E5C4 7F049A54 AFAA0014 */ sw $t2, 0x14($sp) +/* 07E5C8 7F049A58 27A4010C */ addiu $a0, $sp, 0x10c +/* 07E5CC 7F049A5C 8FA50130 */ lw $a1, 0x130($sp) +/* 07E5D0 7F049A60 8FA60138 */ lw $a2, 0x138($sp) +/* 07E5D4 7F049A64 8FA70114 */ lw $a3, 0x114($sp) +/* 07E5D8 7F049A68 E7B60020 */ swc1 $f22, 0x20($sp) +/* 07E5DC 7F049A6C E7A00018 */ swc1 $f0, 0x18($sp) +/* 07E5E0 7F049A70 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 07E5E4 7F049A74 E7A80010 */ swc1 $f8, 0x10($sp) +/* 07E5E8 7F049A78 0FC2C675 */ jal sub_GAME_7F0B0E24 +/* 07E5EC 7F049A7C E7A40024 */ swc1 $f4, 0x24($sp) +/* 07E5F0 7F049A80 14400017 */ bnez $v0, .Ljp7F049AE0 +/* 07E5F4 7F049A84 27A60114 */ addiu $a2, $sp, 0x114 +/* 07E5F8 7F049A88 27A40130 */ addiu $a0, $sp, 0x130 +/* 07E5FC 7F049A8C 0FC09955 */ jal sub_GAME_7F02624C +/* 07E600 7F049A90 27A50124 */ addiu $a1, $sp, 0x124 +/* 07E604 7F049A94 3C0141D0 */ li $at, 0x41D00000 # 26.000000 +/* 07E608 7F049A98 44818000 */ mtc1 $at, $f16 +/* 07E60C 7F049A9C C7A60124 */ lwc1 $f6, 0x124($sp) +/* 07E610 7F049AA0 C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 07E614 7F049AA4 C7AE012C */ lwc1 $f14, 0x12c($sp) +/* 07E618 7F049AA8 46068202 */ mul.s $f8, $f16, $f6 +/* 07E61C 7F049AAC C7A60118 */ lwc1 $f6, 0x118($sp) +/* 07E620 7F049AB0 8FAF010C */ lw $t7, 0x10c($sp) +/* 07E624 7F049AB4 AFAF0110 */ sw $t7, 0x110($sp) +/* 07E628 7F049AB8 46085101 */ sub.s $f4, $f10, $f8 +/* 07E62C 7F049ABC C7AA0128 */ lwc1 $f10, 0x128($sp) +/* 07E630 7F049AC0 460A8202 */ mul.s $f8, $f16, $f10 +/* 07E634 7F049AC4 E7A40114 */ swc1 $f4, 0x114($sp) +/* 07E638 7F049AC8 C7AA011C */ lwc1 $f10, 0x11c($sp) +/* 07E63C 7F049ACC 46083101 */ sub.s $f4, $f6, $f8 +/* 07E640 7F049AD0 460E8182 */ mul.s $f6, $f16, $f14 +/* 07E644 7F049AD4 E7A40118 */ swc1 $f4, 0x118($sp) +/* 07E648 7F049AD8 46065201 */ sub.s $f8, $f10, $f6 +/* 07E64C 7F049ADC E7A8011C */ swc1 $f8, 0x11c($sp) +.Ljp7F049AE0: +/* 07E650 7F049AE0 3C0C8005 */ lui $t4, %hi(global_timer) # $t4, 0x8005 +/* 07E654 7F049AE4 8D8C83AC */ lw $t4, %lo(global_timer)($t4) +/* 07E658 7F049AE8 8E0D00BC */ lw $t5, 0xbc($s0) +/* 07E65C 7F049AEC 27B10114 */ addiu $s1, $sp, 0x114 +/* 07E660 7F049AF0 8FA50104 */ lw $a1, 0x104($sp) +/* 07E664 7F049AF4 158D0052 */ bne $t4, $t5, .Ljp7F049C40 +/* 07E668 7F049AF8 C7AA0130 */ lwc1 $f10, 0x130($sp) +/* 07E66C 7F049AFC C4A40008 */ lwc1 $f4, 8($a1) +/* 07E670 7F049B00 C4A6000C */ lwc1 $f6, 0xc($a1) +/* 07E674 7F049B04 C7A80134 */ lwc1 $f8, 0x134($sp) +/* 07E678 7F049B08 460A2001 */ sub.s $f0, $f4, $f10 +/* 07E67C 7F049B0C C4A40010 */ lwc1 $f4, 0x10($a1) +/* 07E680 7F049B10 E7AA0058 */ swc1 $f10, 0x58($sp) +/* 07E684 7F049B14 46083081 */ sub.s $f2, $f6, $f8 +/* 07E688 7F049B18 C7A60138 */ lwc1 $f6, 0x138($sp) +/* 07E68C 7F049B1C 46062301 */ sub.s $f12, $f4, $f6 +/* 07E690 7F049B20 46000102 */ mul.s $f4, $f0, $f0 +/* 07E694 7F049B24 00000000 */ nop +/* 07E698 7F049B28 46021282 */ mul.s $f10, $f2, $f2 +/* 07E69C 7F049B2C 460A2100 */ add.s $f4, $f4, $f10 +/* 07E6A0 7F049B30 460C6282 */ mul.s $f10, $f12, $f12 +/* 07E6A4 7F049B34 460A2500 */ add.s $f20, $f4, $f10 +/* 07E6A8 7F049B38 C7AA0058 */ lwc1 $f10, 0x58($sp) +/* 07E6AC 7F049B3C C7A40114 */ lwc1 $f4, 0x114($sp) +/* 07E6B0 7F049B40 460A2001 */ sub.s $f0, $f4, $f10 +/* 07E6B4 7F049B44 C7A40118 */ lwc1 $f4, 0x118($sp) +/* 07E6B8 7F049B48 C7AA011C */ lwc1 $f10, 0x11c($sp) +/* 07E6BC 7F049B4C 46082081 */ sub.s $f2, $f4, $f8 +/* 07E6C0 7F049B50 46000102 */ mul.s $f4, $f0, $f0 +/* 07E6C4 7F049B54 46065301 */ sub.s $f12, $f10, $f6 +/* 07E6C8 7F049B58 46021202 */ mul.s $f8, $f2, $f2 +/* 07E6CC 7F049B5C 46082280 */ add.s $f10, $f4, $f8 +/* 07E6D0 7F049B60 460C6182 */ mul.s $f6, $f12, $f12 +/* 07E6D4 7F049B64 46065100 */ add.s $f4, $f10, $f6 +/* 07E6D8 7F049B68 4604A03E */ c.le.s $f20, $f4 +/* 07E6DC 7F049B6C 00000000 */ nop +/* 07E6E0 7F049B70 45000033 */ bc1f .Ljp7F049C40 +/* 07E6E4 7F049B74 00000000 */ nop +/* 07E6E8 7F049B78 0FC2296B */ jal check_if_bond_is_invincible +/* 07E6EC 7F049B7C 00000000 */ nop +/* 07E6F0 7F049B80 54400030 */ bnezl $v0, .Ljp7F049C44 +/* 07E6F4 7F049B84 8FB90120 */ lw $t9, 0x120($sp) +/* 07E6F8 7F049B88 0C007E08 */ jal sqrtf +/* 07E6FC 7F049B8C 4600A306 */ mov.s $f12, $f20 +/* 07E700 7F049B90 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 07E704 7F049B94 44816000 */ mtc1 $at, $f12 +/* 07E708 7F049B98 3C018005 */ lui $at, %hi(D_80052B74) # $at, 0x8005 +/* 07E70C 7F049B9C C4282BA4 */ lwc1 $f8, %lo(D_80052B74)($at) +/* 07E710 7F049BA0 3C018005 */ lui $at, %hi(jp_global_timer_delta) # $at, 0x8005 +/* 07E714 7F049BA4 C42A83A8 */ lwc1 $f10, %lo(jp_global_timer_delta)($at) +/* 07E718 7F049BA8 3C018003 */ lui $at, %hi(D_80030B1C) # $at, 0x8003 +/* 07E71C 7F049BAC 4600603C */ c.lt.s $f12, $f0 +/* 07E720 7F049BB0 460A4182 */ mul.s $f6, $f8, $f10 +/* 07E724 7F049BB4 C4240B5C */ lwc1 $f4, %lo(D_80030B1C)($at) +/* 07E728 7F049BB8 46043082 */ mul.s $f2, $f6, $f4 +/* 07E72C 7F049BBC 45020005 */ bc1fl .Ljp7F049BD4 +/* 07E730 7F049BC0 C60A00D4 */ lwc1 $f10, 0xd4($s0) +/* 07E734 7F049BC4 46006203 */ div.s $f8, $f12, $f0 +/* 07E738 7F049BC8 46081082 */ mul.s $f2, $f2, $f8 +/* 07E73C 7F049BCC 00000000 */ nop +/* 07E740 7F049BD0 C60A00D4 */ lwc1 $f10, 0xd4($s0) +.Ljp7F049BD4: +/* 07E744 7F049BD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E748 7F049BD8 44814000 */ mtc1 $at, $f8 +/* 07E74C 7F049BDC 46025180 */ add.s $f6, $f10, $f2 +/* 07E750 7F049BE0 E60600D4 */ swc1 $f6, 0xd4($s0) +/* 07E754 7F049BE4 C60400D4 */ lwc1 $f4, 0xd4($s0) +/* 07E758 7F049BE8 4604403E */ c.le.s $f8, $f4 +/* 07E75C 7F049BEC 00000000 */ nop +/* 07E760 7F049BF0 45020014 */ bc1fl .Ljp7F049C44 +/* 07E764 7F049BF4 8FB90120 */ lw $t9, 0x120($sp) +/* 07E768 7F049BF8 0FC17929 */ jal sub_GAME_7F05DF84 +/* 07E76C 7F049BFC 2404000E */ li $a0, 14 +/* 07E770 7F049C00 3C013E00 */ li $at, 0x3E000000 # 0.125000 +/* 07E774 7F049C04 44815000 */ mtc1 $at, $f10 +/* 07E778 7F049C08 3C018003 */ lui $at, %hi(D_80030B20) # $at, 0x8003 +/* 07E77C 7F049C0C C4240B60 */ lwc1 $f4, %lo(D_80030B20)($at) +/* 07E780 7F049C10 460A0182 */ mul.s $f6, $f0, $f10 +/* 07E784 7F049C14 C60E0090 */ lwc1 $f14, 0x90($s0) +/* 07E788 7F049C18 2406FFFF */ li $a2, -1 +/* 07E78C 7F049C1C 24070001 */ li $a3, 1 +/* 07E790 7F049C20 46043302 */ mul.s $f12, $f6, $f4 +/* 07E794 7F049C24 0FC22955 */ jal sub_GAME_7F089E4C +/* 07E798 7F049C28 00000000 */ nop +/* 07E79C 7F049C2C 0FC2296B */ jal check_if_bond_is_invincible +/* 07E7A0 7F049C30 E61600D4 */ swc1 $f22, 0xd4($s0) +/* 07E7A4 7F049C34 50400003 */ beql $v0, $zero, .Ljp7F049C44 +/* 07E7A8 7F049C38 8FB90120 */ lw $t9, 0x120($sp) +/* 07E7AC 7F049C3C AFA00120 */ sw $zero, 0x120($sp) +.Ljp7F049C40: +/* 07E7B0 7F049C40 8FB90120 */ lw $t9, 0x120($sp) +.Ljp7F049C44: +/* 07E7B4 7F049C44 3C0141D0 */ li $at, 0x41D00000 # 26.000000 +/* 07E7B8 7F049C48 44818000 */ mtc1 $at, $f16 +/* 07E7BC 7F049C4C 1320000F */ beqz $t9, .Ljp7F049C8C +/* 07E7C0 7F049C50 8FA50104 */ lw $a1, 0x104($sp) +/* 07E7C4 7F049C54 8FA80110 */ lw $t0, 0x110($sp) +/* 07E7C8 7F049C58 02202025 */ move $a0, $s1 +/* 07E7CC 7F049C5C 24050001 */ li $a1, 1 +/* 07E7D0 7F049C60 51000005 */ beql $t0, $zero, .Ljp7F049C78 +/* 07E7D4 7F049C64 2404000E */ li $a0, 14 +/* 07E7D8 7F049C68 44068000 */ mfc1 $a2, $f16 +/* 07E7DC 7F049C6C 0FC2926F */ jal sub_GAME_7F0A3E1C +/* 07E7E0 7F049C70 91070003 */ lbu $a3, 3($t0) +/* 07E7E4 7F049C74 2404000E */ li $a0, 14 +.Ljp7F049C78: +/* 07E7E8 7F049C78 02202825 */ move $a1, $s1 +/* 07E7EC 7F049C7C 0FC1932F */ jal recall_joy2_hits_edit_flag +/* 07E7F0 7F049C80 2406FFFF */ li $a2, -1 +/* 07E7F4 7F049C84 1000000B */ b .Ljp7F049CB4 +/* 07E7F8 7F049C88 8FB80108 */ lw $t8, 0x108($sp) +.Ljp7F049C8C: +/* 07E7FC 7F049C8C C4A80008 */ lwc1 $f8, 8($a1) +/* 07E800 7F049C90 2404000E */ li $a0, 14 +/* 07E804 7F049C94 2406FFFF */ li $a2, -1 +/* 07E808 7F049C98 E7A80114 */ swc1 $f8, 0x114($sp) +/* 07E80C 7F049C9C C4AA000C */ lwc1 $f10, 0xc($a1) +/* 07E810 7F049CA0 E7AA0118 */ swc1 $f10, 0x118($sp) +/* 07E814 7F049CA4 C4A60010 */ lwc1 $f6, 0x10($a1) +/* 07E818 7F049CA8 0FC19252 */ jal recall_joy2_hits_edit_detail_edit_flag +/* 07E81C 7F049CAC E7A6011C */ swc1 $f6, 0x11c($sp) +/* 07E820 7F049CB0 8FB80108 */ lw $t8, 0x108($sp) +.Ljp7F049CB4: +/* 07E824 7F049CB4 C7A40130 */ lwc1 $f4, 0x130($sp) +/* 07E828 7F049CB8 53000085 */ beql $t8, $zero, .Ljp7F049ED0 +/* 07E82C 7F049CBC 8E8E0008 */ lw $t6, 8($s4) +/* 07E830 7F049CC0 8E0300CC */ lw $v1, 0xcc($s0) +/* 07E834 7F049CC4 E4640004 */ swc1 $f4, 4($v1) +/* 07E838 7F049CC8 C7A80134 */ lwc1 $f8, 0x134($sp) +/* 07E83C 7F049CCC C4640004 */ lwc1 $f4, 4($v1) +/* 07E840 7F049CD0 E4680008 */ swc1 $f8, 8($v1) +/* 07E844 7F049CD4 C7AA0138 */ lwc1 $f10, 0x138($sp) +/* 07E848 7F049CD8 E46A000C */ swc1 $f10, 0xc($v1) +/* 07E84C 7F049CDC C7A60114 */ lwc1 $f6, 0x114($sp) +/* 07E850 7F049CE0 46043201 */ sub.s $f8, $f6, $f4 +/* 07E854 7F049CE4 C4660008 */ lwc1 $f6, 8($v1) +/* 07E858 7F049CE8 E4680010 */ swc1 $f8, 0x10($v1) +/* 07E85C 7F049CEC C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 07E860 7F049CF0 C4620010 */ lwc1 $f2, 0x10($v1) +/* 07E864 7F049CF4 46065101 */ sub.s $f4, $f10, $f6 +/* 07E868 7F049CF8 C46A000C */ lwc1 $f10, 0xc($v1) +/* 07E86C 7F049CFC E4640014 */ swc1 $f4, 0x14($v1) +/* 07E870 7F049D00 C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 07E874 7F049D04 46021102 */ mul.s $f4, $f2, $f2 +/* 07E878 7F049D08 C46E0014 */ lwc1 $f14, 0x14($v1) +/* 07E87C 7F049D0C 460A4181 */ sub.s $f6, $f8, $f10 +/* 07E880 7F049D10 460E7202 */ mul.s $f8, $f14, $f14 +/* 07E884 7F049D14 E4660018 */ swc1 $f6, 0x18($v1) +/* 07E888 7F049D18 C4600018 */ lwc1 $f0, 0x18($v1) +/* 07E88C 7F049D1C AFA30094 */ sw $v1, 0x94($sp) +/* 07E890 7F049D20 46000182 */ mul.s $f6, $f0, $f0 +/* 07E894 7F049D24 46082280 */ add.s $f10, $f4, $f8 +/* 07E898 7F049D28 0C007E08 */ jal sqrtf +/* 07E89C 7F049D2C 460A3300 */ add.s $f12, $f6, $f10 +/* 07E8A0 7F049D30 3C018005 */ lui $at, %hi(D_80052B78) # $at, 0x8005 +/* 07E8A4 7F049D34 C42E2BA8 */ lwc1 $f14, %lo(D_80052B78)($at) +/* 07E8A8 7F049D38 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07E8AC 7F049D3C 44812000 */ mtc1 $at, $f4 +/* 07E8B0 7F049D40 8FA30094 */ lw $v1, 0x94($sp) +/* 07E8B4 7F049D44 4600703C */ c.lt.s $f14, $f0 +/* 07E8B8 7F049D48 46000306 */ mov.s $f12, $f0 +/* 07E8BC 7F049D4C 46002083 */ div.s $f2, $f4, $f0 +/* 07E8C0 7F049D50 C4680010 */ lwc1 $f8, 0x10($v1) +/* 07E8C4 7F049D54 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 07E8C8 7F049D58 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 07E8CC 7F049D5C 44810000 */ mtc1 $at, $f0 +/* 07E8D0 7F049D60 46024182 */ mul.s $f6, $f8, $f2 +/* 07E8D4 7F049D64 C4680018 */ lwc1 $f8, 0x18($v1) +/* 07E8D8 7F049D68 46025102 */ mul.s $f4, $f10, $f2 +/* 07E8DC 7F049D6C E4660010 */ swc1 $f6, 0x10($v1) +/* 07E8E0 7F049D70 46024182 */ mul.s $f6, $f8, $f2 +/* 07E8E4 7F049D74 E4640014 */ swc1 $f4, 0x14($v1) +/* 07E8E8 7F049D78 45000002 */ bc1f .Ljp7F049D84 +/* 07E8EC 7F049D7C E4660018 */ swc1 $f6, 0x18($v1) +/* 07E8F0 7F049D80 46007306 */ mov.s $f12, $f14 +.Ljp7F049D84: +/* 07E8F4 7F049D84 4600603C */ c.lt.s $f12, $f0 +/* 07E8F8 7F049D88 2409000E */ li $t1, 14 +/* 07E8FC 7F049D8C A0600000 */ sb $zero, ($v1) +/* 07E900 7F049D90 A0690001 */ sb $t1, 1($v1) +/* 07E904 7F049D94 45000002 */ bc1f .Ljp7F049DA0 +/* 07E908 7F049D98 E46C001C */ swc1 $f12, 0x1c($v1) +/* 07E90C 7F049D9C 46000306 */ mov.s $f12, $f0 +.Ljp7F049DA0: +/* 07E910 7F049DA0 806B0001 */ lb $t3, 1($v1) +/* 07E914 7F049DA4 24010016 */ li $at, 22 +/* 07E918 7F049DA8 15610026 */ bne $t3, $at, .Ljp7F049E44 +/* 07E91C 7F049DAC 3C018005 */ lui $at, %hi(D_80052B7C) # $at, 0x8005 +/* 07E920 7F049DB0 C4222BAC */ lwc1 $f2, %lo(D_80052B7C)($at) +/* 07E924 7F049DB4 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 07E928 7F049DB8 44815000 */ mtc1 $at, $f10 +/* 07E92C 7F049DBC 3C018005 */ lui $at, %hi(D_80052B80) # $at, 0x8005 +/* 07E930 7F049DC0 460C5102 */ mul.s $f4, $f10, $f12 +/* 07E934 7F049DC4 E4640020 */ swc1 $f4, 0x20($v1) +/* 07E938 7F049DC8 C4282BB0 */ lwc1 $f8, %lo(D_80052B80)($at) +/* 07E93C 7F049DCC 460C4002 */ mul.s $f0, $f8, $f12 +/* 07E940 7F049DD0 4600103C */ c.lt.s $f2, $f0 +/* 07E944 7F049DD4 E4600024 */ swc1 $f0, 0x24($v1) +/* 07E948 7F049DD8 45020003 */ bc1fl .Ljp7F049DE8 +/* 07E94C 7F049DDC AFA30094 */ sw $v1, 0x94($sp) +/* 07E950 7F049DE0 E4620024 */ swc1 $f2, 0x24($v1) +/* 07E954 7F049DE4 AFA30094 */ sw $v1, 0x94($sp) +.Ljp7F049DE8: +/* 07E958 7F049DE8 0C002918 */ jal get_random_value +/* 07E95C 7F049DEC E7AC0098 */ swc1 $f12, 0x98($sp) +/* 07E960 7F049DF0 44823000 */ mtc1 $v0, $f6 +/* 07E964 7F049DF4 8FA30094 */ lw $v1, 0x94($sp) +/* 07E968 7F049DF8 C7AC0098 */ lwc1 $f12, 0x98($sp) +/* 07E96C 7F049DFC 04410005 */ bgez $v0, .Ljp7F049E14 +/* 07E970 7F049E00 468032A0 */ cvt.s.w $f10, $f6 +/* 07E974 7F049E04 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07E978 7F049E08 44812000 */ mtc1 $at, $f4 +/* 07E97C 7F049E0C 00000000 */ nop +/* 07E980 7F049E10 46045280 */ add.s $f10, $f10, $f4 +.Ljp7F049E14: +/* 07E984 7F049E14 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07E988 7F049E18 44814000 */ mtc1 $at, $f8 +/* 07E98C 7F049E1C 3C018005 */ lui $at, %hi(D_80052B84) # $at, 0x8005 +/* 07E990 7F049E20 C4242BB4 */ lwc1 $f4, %lo(D_80052B84)($at) +/* 07E994 7F049E24 46085182 */ mul.s $f6, $f10, $f8 +/* 07E998 7F049E28 3C018005 */ lui $at, %hi(D_80052B88) # $at, 0x8005 +/* 07E99C 7F049E2C C4282BB8 */ lwc1 $f8, %lo(D_80052B88)($at) +/* 07E9A0 7F049E30 46043282 */ mul.s $f10, $f6, $f4 +/* 07E9A4 7F049E34 460A4181 */ sub.s $f6, $f8, $f10 +/* 07E9A8 7F049E38 460C3102 */ mul.s $f4, $f6, $f12 +/* 07E9AC 7F049E3C 10000023 */ b .Ljp7F049ECC +/* 07E9B0 7F049E40 E4640028 */ swc1 $f4, 0x28($v1) +.Ljp7F049E44: +/* 07E9B4 7F049E44 3C018005 */ lui $at, %hi(D_80052B8C) # $at, 0x8005 +/* 07E9B8 7F049E48 C4282BBC */ lwc1 $f8, %lo(D_80052B8C)($at) +/* 07E9BC 7F049E4C 3C018005 */ lui $at, %hi(D_80052B90) # $at, 0x8005 +/* 07E9C0 7F049E50 460C4002 */ mul.s $f0, $f8, $f12 +/* 07E9C4 7F049E54 E4600020 */ swc1 $f0, 0x20($v1) +/* 07E9C8 7F049E58 E4600024 */ swc1 $f0, 0x24($v1) +/* 07E9CC 7F049E5C C42A2BC0 */ lwc1 $f10, %lo(D_80052B90)($at) +/* 07E9D0 7F049E60 3C018005 */ lui $at, %hi(D_80052B94) # $at, 0x8005 +/* 07E9D4 7F049E64 4600503C */ c.lt.s $f10, $f0 +/* 07E9D8 7F049E68 00000000 */ nop +/* 07E9DC 7F049E6C 45000003 */ bc1f .Ljp7F049E7C +/* 07E9E0 7F049E70 00000000 */ nop +/* 07E9E4 7F049E74 C4262BC4 */ lwc1 $f6, %lo(D_80052B94)($at) +/* 07E9E8 7F049E78 E4660024 */ swc1 $f6, 0x24($v1) +.Ljp7F049E7C: +/* 07E9EC 7F049E7C 0C002918 */ jal get_random_value +/* 07E9F0 7F049E80 AFA30094 */ sw $v1, 0x94($sp) +/* 07E9F4 7F049E84 44822000 */ mtc1 $v0, $f4 +/* 07E9F8 7F049E88 8FA30094 */ lw $v1, 0x94($sp) +/* 07E9FC 7F049E8C 04410005 */ bgez $v0, .Ljp7F049EA4 +/* 07EA00 7F049E90 46802220 */ cvt.s.w $f8, $f4 +/* 07EA04 7F049E94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EA08 7F049E98 44815000 */ mtc1 $at, $f10 +/* 07EA0C 7F049E9C 00000000 */ nop +/* 07EA10 7F049EA0 460A4200 */ add.s $f8, $f8, $f10 +.Ljp7F049EA4: +/* 07EA14 7F049EA4 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 07EA18 7F049EA8 44813000 */ mtc1 $at, $f6 +/* 07EA1C 7F049EAC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07EA20 7F049EB0 44815000 */ mtc1 $at, $f10 +/* 07EA24 7F049EB4 46064002 */ mul.s $f0, $f8, $f6 +/* 07EA28 7F049EB8 C4660020 */ lwc1 $f6, 0x20($v1) +/* 07EA2C 7F049EBC 46000100 */ add.s $f4, $f0, $f0 +/* 07EA30 7F049EC0 460A2201 */ sub.s $f8, $f4, $f10 +/* 07EA34 7F049EC4 46064102 */ mul.s $f4, $f8, $f6 +/* 07EA38 7F049EC8 E4640028 */ swc1 $f4, 0x28($v1) +.Ljp7F049ECC: +/* 07EA3C 7F049ECC 8E8E0008 */ lw $t6, 8($s4) +.Ljp7F049ED0: +/* 07EA40 7F049ED0 8DC30008 */ lw $v1, 8($t6) +/* 07EA44 7F049ED4 8C650014 */ lw $a1, 0x14($v1) +/* 07EA48 7F049ED8 50A00008 */ beql $a1, $zero, .Ljp7F049EFC +/* 07EA4C 7F049EDC 8C65001C */ lw $a1, 0x1c($v1) +/* 07EA50 7F049EE0 0FC1B363 */ jal extract_id_from_object_structure_microcode +/* 07EA54 7F049EE4 02802025 */ move $a0, $s4 +/* 07EA58 7F049EE8 8FAA0140 */ lw $t2, 0x140($sp) +/* 07EA5C 7F049EEC A44A0000 */ sh $t2, ($v0) +/* 07EA60 7F049EF0 8E8F0008 */ lw $t7, 8($s4) +/* 07EA64 7F049EF4 8DE30008 */ lw $v1, 8($t7) +/* 07EA68 7F049EF8 8C65001C */ lw $a1, 0x1c($v1) +.Ljp7F049EFC: +/* 07EA6C 7F049EFC 10A00005 */ beqz $a1, .Ljp7F049F14 +/* 07EA70 7F049F00 00000000 */ nop +/* 07EA74 7F049F04 0FC1B363 */ jal extract_id_from_object_structure_microcode +/* 07EA78 7F049F08 02802025 */ move $a0, $s4 +/* 07EA7C 7F049F0C 8FAC013C */ lw $t4, 0x13c($sp) +/* 07EA80 7F049F10 A44C0000 */ sh $t4, ($v0) +.Ljp7F049F14: +/* 07EA84 7F049F14 0FC1113A */ jal sub_GAME_7F044200 +/* 07EA88 7F049F18 02602025 */ move $a0, $s3 +/* 07EA8C 7F049F1C 8FAD0688 */ lw $t5, 0x688($sp) +.Ljp7F049F20: +/* 07EA90 7F049F20 24010005 */ li $at, 5 +/* 07EA94 7F049F24 55A10003 */ bnel $t5, $at, .Ljp7F049F34 +/* 07EA98 7F049F28 8FA20688 */ lw $v0, 0x688($sp) +/* 07EA9C 7F049F2C AE600014 */ sw $zero, 0x14($s3) +/* 07EAA0 7F049F30 8FA20688 */ lw $v0, 0x688($sp) +.Ljp7F049F34: +/* 07EAA4 7F049F34 8FBF0054 */ lw $ra, 0x54($sp) +/* 07EAA8 7F049F38 D7B40030 */ ldc1 $f20, 0x30($sp) +/* 07EAAC 7F049F3C D7B60038 */ ldc1 $f22, 0x38($sp) +/* 07EAB0 7F049F40 8FB00040 */ lw $s0, 0x40($sp) +/* 07EAB4 7F049F44 8FB10044 */ lw $s1, 0x44($sp) +/* 07EAB8 7F049F48 8FB20048 */ lw $s2, 0x48($sp) +/* 07EABC 7F049F4C 8FB3004C */ lw $s3, 0x4c($sp) +/* 07EAC0 7F049F50 8FB40050 */ lw $s4, 0x50($sp) +/* 07EAC4 7F049F54 03E00008 */ jr $ra +/* 07EAC8 7F049F58 27BD06B0 */ addiu $sp, $sp, 0x6b0 +) +#endif + +#endif + + +#ifdef NONMATCHING +void sub_GAME_7F049B58(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F049B58 +/* 07E688 7F049B58 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 07E68C 7F049B5C AFBF0034 */ sw $ra, 0x34($sp) +/* 07E690 7F049B60 AFB20020 */ sw $s2, 0x20($sp) +/* 07E694 7F049B64 00809025 */ move $s2, $a0 +/* 07E698 7F049B68 AFB60030 */ sw $s6, 0x30($sp) +/* 07E69C 7F049B6C AFB5002C */ sw $s5, 0x2c($sp) +/* 07E6A0 7F049B70 AFB40028 */ sw $s4, 0x28($sp) +/* 07E6A4 7F049B74 AFB30024 */ sw $s3, 0x24($sp) +/* 07E6A8 7F049B78 AFB1001C */ sw $s1, 0x1c($sp) +/* 07E6AC 7F049B7C 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry +/* 07E6B0 7F049B80 AFB00018 */ sw $s0, 0x18($sp) +/* 07E6B4 7F049B84 10400036 */ beqz $v0, .L7F049C60 +/* 07E6B8 7F049B88 00408025 */ move $s0, $v0 +/* 07E6BC 7F049B8C 24160006 */ li $s6, 6 +/* 07E6C0 7F049B90 2415000D */ li $s5, 13 +/* 07E6C4 7F049B94 24140001 */ li $s4, 1 +/* 07E6C8 7F049B98 24130003 */ li $s3, 3 +/* 07E6CC 7F049B9C 92020000 */ lbu $v0, ($s0) +.L7F049BA0: +/* 07E6D0 7F049BA0 02402025 */ move $a0, $s2 +/* 07E6D4 7F049BA4 1662000B */ bne $s3, $v0, .L7F049BD4 +/* 07E6D8 7F049BA8 00000000 */ nop +/* 07E6DC 7F049BAC 8E110004 */ lw $s1, 4($s0) +/* 07E6E0 7F049BB0 02803025 */ move $a2, $s4 +/* 07E6E4 7F049BB4 0FC18786 */ jal sub_GAME_7F061E18 +/* 07E6E8 7F049BB8 26250180 */ addiu $a1, $s1, 0x180 +/* 07E6EC 7F049BBC 00402025 */ move $a0, $v0 +/* 07E6F0 7F049BC0 262501AC */ addiu $a1, $s1, 0x1ac +/* 07E6F4 7F049BC4 0FC18786 */ jal sub_GAME_7F061E18 +/* 07E6F8 7F049BC8 02803025 */ move $a2, $s4 +/* 07E6FC 7F049BCC 10000021 */ b .L7F049C54 +/* 07E700 7F049BD0 00409025 */ move $s2, $v0 +.L7F049BD4: +/* 07E704 7F049BD4 1682000B */ bne $s4, $v0, .L7F049C04 +/* 07E708 7F049BD8 00000000 */ nop +/* 07E70C 7F049BDC 8E030004 */ lw $v1, 4($s0) +/* 07E710 7F049BE0 02402025 */ move $a0, $s2 +/* 07E714 7F049BE4 02803025 */ move $a2, $s4 +/* 07E718 7F049BE8 906E0003 */ lbu $t6, 3($v1) +/* 07E71C 7F049BEC 56AE001A */ bnel $s5, $t6, .L7F049C58 +/* 07E720 7F049BF0 8E100024 */ lw $s0, 0x24($s0) +/* 07E724 7F049BF4 0FC18786 */ jal sub_GAME_7F061E18 +/* 07E728 7F049BF8 8C6500CC */ lw $a1, 0xcc($v1) +/* 07E72C 7F049BFC 10000015 */ b .L7F049C54 +/* 07E730 7F049C00 00409025 */ move $s2, $v0 +.L7F049C04: +/* 07E734 7F049C04 56C20014 */ bnel $s6, $v0, .L7F049C58 +/* 07E738 7F049C08 8E100024 */ lw $s0, 0x24($s0) +/* 07E73C 7F049C0C 8E0F0004 */ lw $t7, 4($s0) +/* 07E740 7F049C10 51E00011 */ beql $t7, $zero, .L7F049C58 +/* 07E744 7F049C14 8E100024 */ lw $s0, 0x24($s0) +/* 07E748 7F049C18 0FC26C57 */ jal sub_GAME_7F09B15C +/* 07E74C 7F049C1C 02002025 */ move $a0, $s0 +/* 07E750 7F049C20 0FC26C54 */ jal get_cur_playernum +/* 07E754 7F049C24 00408825 */ move $s1, $v0 +/* 07E758 7F049C28 1051000A */ beq $v0, $s1, .L7F049C54 +/* 07E75C 7F049C2C 02402025 */ move $a0, $s2 +/* 07E760 7F049C30 8E110004 */ lw $s1, 4($s0) +/* 07E764 7F049C34 02803025 */ move $a2, $s4 +/* 07E768 7F049C38 0FC18786 */ jal sub_GAME_7F061E18 +/* 07E76C 7F049C3C 26250180 */ addiu $a1, $s1, 0x180 +/* 07E770 7F049C40 00402025 */ move $a0, $v0 +/* 07E774 7F049C44 262501AC */ addiu $a1, $s1, 0x1ac +/* 07E778 7F049C48 0FC18786 */ jal sub_GAME_7F061E18 +/* 07E77C 7F049C4C 02803025 */ move $a2, $s4 +/* 07E780 7F049C50 00409025 */ move $s2, $v0 +.L7F049C54: +/* 07E784 7F049C54 8E100024 */ lw $s0, 0x24($s0) +.L7F049C58: +/* 07E788 7F049C58 5600FFD1 */ bnezl $s0, .L7F049BA0 +/* 07E78C 7F049C5C 92020000 */ lbu $v0, ($s0) +.L7F049C60: +/* 07E790 7F049C60 8FBF0034 */ lw $ra, 0x34($sp) +/* 07E794 7F049C64 02401025 */ move $v0, $s2 +/* 07E798 7F049C68 8FB20020 */ lw $s2, 0x20($sp) +/* 07E79C 7F049C6C 8FB00018 */ lw $s0, 0x18($sp) +/* 07E7A0 7F049C70 8FB1001C */ lw $s1, 0x1c($sp) +/* 07E7A4 7F049C74 8FB30024 */ lw $s3, 0x24($sp) +/* 07E7A8 7F049C78 8FB40028 */ lw $s4, 0x28($sp) +/* 07E7AC 7F049C7C 8FB5002C */ lw $s5, 0x2c($sp) +/* 07E7B0 7F049C80 8FB60030 */ lw $s6, 0x30($sp) +/* 07E7B4 7F049C84 03E00008 */ jr $ra +/* 07E7B8 7F049C88 27BD0038 */ addiu $sp, $sp, 0x38 +) +#endif + + + + + +#ifdef NONMATCHING +void save_ptr_monitor_ani_code_to_obj_ani_slot(void) { + +} +#else +GLOBAL_ASM( +.text +glabel save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07E7BC 7F049C8C AC850000 */ sw $a1, ($a0) +/* 07E7C0 7F049C90 03E00008 */ jr $ra +/* 07E7C4 7F049C94 A4800004 */ sh $zero, 4($a0) +) +#endif + + + + + +#ifdef NONMATCHING +void set_ptr_monitor_img_to_obj_ani_slot(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80052B98*/ +glabel jpt_80052B98 +.word def_7F049CC0 +.word .L7F049CC8 +.word .L7F049CD4 +.word .L7F049CE0 +.word .L7F049CEC +.word .L7F049CF8 +.word .L7F049D04 +.word .L7F049D10 +.word .L7F049D1C +.word .L7F049D28 +.word .L7F049D34 +.word .L7F049D40 +.word .L7F049D4C +.word .L7F049D58 +.word .L7F049D64 +.word .L7F049D70 +.word .L7F049D7C +.word .L7F049D88 +.word .L7F049D94 +.word .L7F049DA0 +.word .L7F049DAC +.word .L7F049DB8 +.word .L7F049DC4 +.word .L7F049DD0 +.word .L7F049DDC +.word .L7F049DE8 +.word .L7F049DF4 +.word .L7F049E00 +.word .L7F049E0C +.word .L7F049E18 +.word .L7F049E24 +.word .L7F049E30 +.word .L7F049E3C +.word .L7F049E48 +.word .L7F049E54 +.word .L7F049E60 +.word .L7F049E6C +.word .L7F049E78 +.word .L7F049E84 +.word .L7F049E90 +.word .L7F049E9C +.word .L7F049EA8 +.word .L7F049EB4 +.word .L7F049EC0 +.word .L7F049ECC +.word .L7F049ED8 +.word .L7F049EE4 +.word .L7F049EF0 +.word .L7F049EFC +.word .L7F049F08 +.word .L7F049F14 +.word .L7F049F20 + +.text +glabel set_ptr_monitor_img_to_obj_ani_slot +/* 07E7C8 7F049C98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07E7CC 7F049C9C 3C068003 */ lui $a2, %hi(monitor_animation_microcode) +/* 07E7D0 7F049CA0 2CA10034 */ sltiu $at, $a1, 0x34 +/* 07E7D4 7F049CA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 07E7D8 7F049CA8 1020009F */ beqz $at, .L7F049F28 +/* 07E7DC 7F049CAC 24C60B74 */ addiu $a2, %lo(monitor_animation_microcode) # addiu $a2, $a2, 0xb74 +/* 07E7E0 7F049CB0 00057080 */ sll $t6, $a1, 2 +/* 07E7E4 7F049CB4 3C018005 */ lui $at, %hi(jpt_80052B98) +/* 07E7E8 7F049CB8 002E0821 */ addu $at, $at, $t6 +/* 07E7EC 7F049CBC 8C2E2B98 */ lw $t6, %lo(jpt_80052B98)($at) +/* 07E7F0 7F049CC0 01C00008 */ jr $t6 +/* 07E7F4 7F049CC4 00000000 */ nop +.L7F049CC8: +/* 07E7F8 7F049CC8 3C068003 */ lui $a2, %hi(D_80030C00) +/* 07E7FC 7F049CCC 10000096 */ b .L7F049F28 +/* 07E800 7F049CD0 24C60C00 */ addiu $a2, %lo(D_80030C00) # addiu $a2, $a2, 0xc00 +.L7F049CD4: +/* 07E804 7F049CD4 3C068003 */ lui $a2, %hi(D_80030E24) +/* 07E808 7F049CD8 10000093 */ b .L7F049F28 +/* 07E80C 7F049CDC 24C60E24 */ addiu $a2, %lo(D_80030E24) # addiu $a2, $a2, 0xe24 +.L7F049CE0: +/* 07E810 7F049CE0 3C068003 */ lui $a2, %hi(D_80030F44) +/* 07E814 7F049CE4 10000090 */ b .L7F049F28 +/* 07E818 7F049CE8 24C60F44 */ addiu $a2, %lo(D_80030F44) # addiu $a2, $a2, 0xf44 +.L7F049CEC: +/* 07E81C 7F049CEC 3C068003 */ lui $a2, %hi(D_80031018) +/* 07E820 7F049CF0 1000008D */ b .L7F049F28 +/* 07E824 7F049CF4 24C61018 */ addiu $a2, %lo(D_80031018) # addiu $a2, $a2, 0x1018 +.L7F049CF8: +/* 07E828 7F049CF8 3C068003 */ lui $a2, %hi(D_80031074) +/* 07E82C 7F049CFC 1000008A */ b .L7F049F28 +/* 07E830 7F049D00 24C61074 */ addiu $a2, %lo(D_80031074) # addiu $a2, $a2, 0x1074 +.L7F049D04: +/* 07E834 7F049D04 3C068003 */ lui $a2, %hi(D_800310F0) +/* 07E838 7F049D08 10000087 */ b .L7F049F28 +/* 07E83C 7F049D0C 24C610F0 */ addiu $a2, %lo(D_800310F0) # addiu $a2, $a2, 0x10f0 +.L7F049D10: +/* 07E840 7F049D10 3C068003 */ lui $a2, %hi(D_8003118C) +/* 07E844 7F049D14 10000084 */ b .L7F049F28 +/* 07E848 7F049D18 24C6118C */ addiu $a2, %lo(D_8003118C) # addiu $a2, $a2, 0x118c +.L7F049D1C: +/* 07E84C 7F049D1C 3C068003 */ lui $a2, %hi(D_8003121C) +/* 07E850 7F049D20 10000081 */ b .L7F049F28 +/* 07E854 7F049D24 24C6121C */ addiu $a2, %lo(D_8003121C) # addiu $a2, $a2, 0x121c +.L7F049D28: +/* 07E858 7F049D28 3C068003 */ lui $a2, %hi(D_80031248) +/* 07E85C 7F049D2C 1000007E */ b .L7F049F28 +/* 07E860 7F049D30 24C61248 */ addiu $a2, %lo(D_80031248) # addiu $a2, $a2, 0x1248 +.L7F049D34: +/* 07E864 7F049D34 3C068003 */ lui $a2, %hi(D_80031274) +/* 07E868 7F049D38 1000007B */ b .L7F049F28 +/* 07E86C 7F049D3C 24C61274 */ addiu $a2, %lo(D_80031274) # addiu $a2, $a2, 0x1274 +.L7F049D40: +/* 07E870 7F049D40 3C068003 */ lui $a2, %hi(D_800312F4) +/* 07E874 7F049D44 10000078 */ b .L7F049F28 +/* 07E878 7F049D48 24C612F4 */ addiu $a2, %lo(D_800312F4) # addiu $a2, $a2, 0x12f4 +.L7F049D4C: +/* 07E87C 7F049D4C 3C068003 */ lui $a2, %hi(D_80031310) +/* 07E880 7F049D50 10000075 */ b .L7F049F28 +/* 07E884 7F049D54 24C61310 */ addiu $a2, %lo(D_80031310) # addiu $a2, $a2, 0x1310 +.L7F049D58: +/* 07E888 7F049D58 3C068003 */ lui $a2, %hi(D_80031490) +/* 07E88C 7F049D5C 10000072 */ b .L7F049F28 +/* 07E890 7F049D60 24C61490 */ addiu $a2, %lo(D_80031490) # addiu $a2, $a2, 0x1490 +.L7F049D64: +/* 07E894 7F049D64 3C068003 */ lui $a2, %hi(D_800314F8) +/* 07E898 7F049D68 1000006F */ b .L7F049F28 +/* 07E89C 7F049D6C 24C614F8 */ addiu $a2, %lo(D_800314F8) # addiu $a2, $a2, 0x14f8 +.L7F049D70: +/* 07E8A0 7F049D70 3C068003 */ lui $a2, %hi(D_80030EC8) +/* 07E8A4 7F049D74 1000006C */ b .L7F049F28 +/* 07E8A8 7F049D78 24C60EC8 */ addiu $a2, %lo(D_80030EC8) # addiu $a2, $a2, 0xec8 +.L7F049D7C: +/* 07E8AC 7F049D7C 3C068003 */ lui $a2, %hi(D_80031360) +/* 07E8B0 7F049D80 10000069 */ b .L7F049F28 +/* 07E8B4 7F049D84 24C61360 */ addiu $a2, %lo(D_80031360) # addiu $a2, $a2, 0x1360 +.L7F049D88: +/* 07E8B8 7F049D88 3C068003 */ lui $a2, %hi(D_8003156C) +/* 07E8BC 7F049D8C 10000066 */ b .L7F049F28 +/* 07E8C0 7F049D90 24C6156C */ addiu $a2, %lo(D_8003156C) # addiu $a2, $a2, 0x156c +.L7F049D94: +/* 07E8C4 7F049D94 3C068003 */ lui $a2, %hi(D_800315CC) +/* 07E8C8 7F049D98 10000063 */ b .L7F049F28 +/* 07E8CC 7F049D9C 24C615CC */ addiu $a2, %lo(D_800315CC) # addiu $a2, $a2, 0x15cc +.L7F049DA0: +/* 07E8D0 7F049DA0 3C068003 */ lui $a2, %hi(D_80031848) +/* 07E8D4 7F049DA4 10000060 */ b .L7F049F28 +/* 07E8D8 7F049DA8 24C61848 */ addiu $a2, %lo(D_80031848) # addiu $a2, $a2, 0x1848 +.L7F049DAC: +/* 07E8DC 7F049DAC 3C068003 */ lui $a2, %hi(D_80031898) +/* 07E8E0 7F049DB0 1000005D */ b .L7F049F28 +/* 07E8E4 7F049DB4 24C61898 */ addiu $a2, %lo(D_80031898) # addiu $a2, $a2, 0x1898 +.L7F049DB8: +/* 07E8E8 7F049DB8 3C068003 */ lui $a2, %hi(D_800318B8) +/* 07E8EC 7F049DBC 1000005A */ b .L7F049F28 +/* 07E8F0 7F049DC0 24C618B8 */ addiu $a2, %lo(D_800318B8) # addiu $a2, $a2, 0x18b8 +.L7F049DC4: +/* 07E8F4 7F049DC4 3C068003 */ lui $a2, %hi(D_8003191C) +/* 07E8F8 7F049DC8 10000057 */ b .L7F049F28 +/* 07E8FC 7F049DCC 24C6191C */ addiu $a2, %lo(D_8003191C) # addiu $a2, $a2, 0x191c +.L7F049DD0: +/* 07E900 7F049DD0 3C068003 */ lui $a2, %hi(D_80031950) +/* 07E904 7F049DD4 10000054 */ b .L7F049F28 +/* 07E908 7F049DD8 24C61950 */ addiu $a2, %lo(D_80031950) # addiu $a2, $a2, 0x1950 +.L7F049DDC: +/* 07E90C 7F049DDC 3C068003 */ lui $a2, %hi(D_800319D4) +/* 07E910 7F049DE0 10000051 */ b .L7F049F28 +/* 07E914 7F049DE4 24C619D4 */ addiu $a2, %lo(D_800319D4) # addiu $a2, $a2, 0x19d4 +.L7F049DE8: +/* 07E918 7F049DE8 3C068003 */ lui $a2, %hi(D_800319F0) +/* 07E91C 7F049DEC 1000004E */ b .L7F049F28 +/* 07E920 7F049DF0 24C619F0 */ addiu $a2, %lo(D_800319F0) # addiu $a2, $a2, 0x19f0 +.L7F049DF4: +/* 07E924 7F049DF4 3C068003 */ lui $a2, %hi(D_80031A0C) +/* 07E928 7F049DF8 1000004B */ b .L7F049F28 +/* 07E92C 7F049DFC 24C61A0C */ addiu $a2, %lo(D_80031A0C) # addiu $a2, $a2, 0x1a0c +.L7F049E00: +/* 07E930 7F049E00 3C068003 */ lui $a2, %hi(D_80031A28) +/* 07E934 7F049E04 10000048 */ b .L7F049F28 +/* 07E938 7F049E08 24C61A28 */ addiu $a2, %lo(D_80031A28) # addiu $a2, $a2, 0x1a28 +.L7F049E0C: +/* 07E93C 7F049E0C 3C068003 */ lui $a2, %hi(D_80031A44) +/* 07E940 7F049E10 10000045 */ b .L7F049F28 +/* 07E944 7F049E14 24C61A44 */ addiu $a2, %lo(D_80031A44) # addiu $a2, $a2, 0x1a44 +.L7F049E18: +/* 07E948 7F049E18 3C068003 */ lui $a2, %hi(D_80031A60) +/* 07E94C 7F049E1C 10000042 */ b .L7F049F28 +/* 07E950 7F049E20 24C61A60 */ addiu $a2, %lo(D_80031A60) # addiu $a2, $a2, 0x1a60 +.L7F049E24: +/* 07E954 7F049E24 3C068003 */ lui $a2, %hi(D_80031A7C) +/* 07E958 7F049E28 1000003F */ b .L7F049F28 +/* 07E95C 7F049E2C 24C61A7C */ addiu $a2, %lo(D_80031A7C) # addiu $a2, $a2, 0x1a7c +.L7F049E30: +/* 07E960 7F049E30 3C068003 */ lui $a2, %hi(D_80031A98) +/* 07E964 7F049E34 1000003C */ b .L7F049F28 +/* 07E968 7F049E38 24C61A98 */ addiu $a2, %lo(D_80031A98) # addiu $a2, $a2, 0x1a98 +.L7F049E3C: +/* 07E96C 7F049E3C 3C068003 */ lui $a2, %hi(D_80031AB4) +/* 07E970 7F049E40 10000039 */ b .L7F049F28 +/* 07E974 7F049E44 24C61AB4 */ addiu $a2, %lo(D_80031AB4) # addiu $a2, $a2, 0x1ab4 +.L7F049E48: +/* 07E978 7F049E48 3C068003 */ lui $a2, %hi(D_80031AD0) +/* 07E97C 7F049E4C 10000036 */ b .L7F049F28 +/* 07E980 7F049E50 24C61AD0 */ addiu $a2, %lo(D_80031AD0) # addiu $a2, $a2, 0x1ad0 +.L7F049E54: +/* 07E984 7F049E54 3C068003 */ lui $a2, %hi(D_80031AEC) +/* 07E988 7F049E58 10000033 */ b .L7F049F28 +/* 07E98C 7F049E5C 24C61AEC */ addiu $a2, %lo(D_80031AEC) # addiu $a2, $a2, 0x1aec +.L7F049E60: +/* 07E990 7F049E60 3C068003 */ lui $a2, %hi(D_80031B24) +/* 07E994 7F049E64 10000030 */ b .L7F049F28 +/* 07E998 7F049E68 24C61B24 */ addiu $a2, %lo(D_80031B24) # addiu $a2, $a2, 0x1b24 +.L7F049E6C: +/* 07E99C 7F049E6C 3C068003 */ lui $a2, %hi(D_80031B38) +/* 07E9A0 7F049E70 1000002D */ b .L7F049F28 +/* 07E9A4 7F049E74 24C61B38 */ addiu $a2, %lo(D_80031B38) # addiu $a2, $a2, 0x1b38 +.L7F049E78: +/* 07E9A8 7F049E78 3C068003 */ lui $a2, %hi(D_80031B4C) +/* 07E9AC 7F049E7C 1000002A */ b .L7F049F28 +/* 07E9B0 7F049E80 24C61B4C */ addiu $a2, %lo(D_80031B4C) # addiu $a2, $a2, 0x1b4c +.L7F049E84: +/* 07E9B4 7F049E84 3C068003 */ lui $a2, %hi(D_80031B60) +/* 07E9B8 7F049E88 10000027 */ b .L7F049F28 +/* 07E9BC 7F049E8C 24C61B60 */ addiu $a2, %lo(D_80031B60) # addiu $a2, $a2, 0x1b60 +.L7F049E90: +/* 07E9C0 7F049E90 3C068003 */ lui $a2, %hi(D_80031BB4) +/* 07E9C4 7F049E94 10000024 */ b .L7F049F28 +/* 07E9C8 7F049E98 24C61BB4 */ addiu $a2, %lo(D_80031BB4) # addiu $a2, $a2, 0x1bb4 +.L7F049E9C: +/* 07E9CC 7F049E9C 3C068003 */ lui $a2, %hi(D_80031BD0) +/* 07E9D0 7F049EA0 10000021 */ b .L7F049F28 +/* 07E9D4 7F049EA4 24C61BD0 */ addiu $a2, %lo(D_80031BD0) # addiu $a2, $a2, 0x1bd0 +.L7F049EA8: +/* 07E9D8 7F049EA8 3C068003 */ lui $a2, %hi(D_80031BEC) +/* 07E9DC 7F049EAC 1000001E */ b .L7F049F28 +/* 07E9E0 7F049EB0 24C61BEC */ addiu $a2, %lo(D_80031BEC) # addiu $a2, $a2, 0x1bec +.L7F049EB4: +/* 07E9E4 7F049EB4 3C068003 */ lui $a2, %hi(D_80031C08) +/* 07E9E8 7F049EB8 1000001B */ b .L7F049F28 +/* 07E9EC 7F049EBC 24C61C08 */ addiu $a2, %lo(D_80031C08) # addiu $a2, $a2, 0x1c08 +.L7F049EC0: +/* 07E9F0 7F049EC0 3C068003 */ lui $a2, %hi(D_80031C80) +/* 07E9F4 7F049EC4 10000018 */ b .L7F049F28 +/* 07E9F8 7F049EC8 24C61C80 */ addiu $a2, %lo(D_80031C80) # addiu $a2, $a2, 0x1c80 +.L7F049ECC: +/* 07E9FC 7F049ECC 3C068003 */ lui $a2, %hi(D_80031D30) +/* 07EA00 7F049ED0 10000015 */ b .L7F049F28 +/* 07EA04 7F049ED4 24C61D30 */ addiu $a2, %lo(D_80031D30) # addiu $a2, $a2, 0x1d30 +.L7F049ED8: +/* 07EA08 7F049ED8 3C068003 */ lui $a2, %hi(D_80031D58) +/* 07EA0C 7F049EDC 10000012 */ b .L7F049F28 +/* 07EA10 7F049EE0 24C61D58 */ addiu $a2, %lo(D_80031D58) # addiu $a2, $a2, 0x1d58 +.L7F049EE4: +/* 07EA14 7F049EE4 3C068003 */ lui $a2, %hi(D_80031DA8) +/* 07EA18 7F049EE8 1000000F */ b .L7F049F28 +/* 07EA1C 7F049EEC 24C61DA8 */ addiu $a2, %lo(D_80031DA8) # addiu $a2, $a2, 0x1da8 +.L7F049EF0: +/* 07EA20 7F049EF0 3C068003 */ lui $a2, %hi(D_80031DF4) +/* 07EA24 7F049EF4 1000000C */ b .L7F049F28 +/* 07EA28 7F049EF8 24C61DF4 */ addiu $a2, %lo(D_80031DF4) # addiu $a2, $a2, 0x1df4 +.L7F049EFC: +/* 07EA2C 7F049EFC 3C068003 */ lui $a2, %hi(D_80031E40) +/* 07EA30 7F049F00 10000009 */ b .L7F049F28 +/* 07EA34 7F049F04 24C61E40 */ addiu $a2, %lo(D_80031E40) # addiu $a2, $a2, 0x1e40 +.L7F049F08: +/* 07EA38 7F049F08 3C068003 */ lui $a2, %hi(D_80031E78) +/* 07EA3C 7F049F0C 10000006 */ b .L7F049F28 +/* 07EA40 7F049F10 24C61E78 */ addiu $a2, %lo(D_80031E78) # addiu $a2, $a2, 0x1e78 +.L7F049F14: +/* 07EA44 7F049F14 3C068003 */ lui $a2, %hi(D_80031EB0) +/* 07EA48 7F049F18 10000003 */ b .L7F049F28 +/* 07EA4C 7F049F1C 24C61EB0 */ addiu $a2, %lo(D_80031EB0) # addiu $a2, $a2, 0x1eb0 +.L7F049F20: +/* 07EA50 7F049F20 3C068003 */ lui $a2, %hi(D_80031EE8) +/* 07EA54 7F049F24 24C61EE8 */ addiu $a2, %lo(D_80031EE8) # addiu $a2, $a2, 0x1ee8 +def_7F049CC0: +.L7F049F28: +/* 07EA58 7F049F28 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07EA5C 7F049F2C 00C02825 */ move $a1, $a2 +/* 07EA60 7F049F30 8FBF0014 */ lw $ra, 0x14($sp) +/* 07EA64 7F049F34 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07EA68 7F049F38 03E00008 */ jr $ra +/* 07EA6C 7F049F3C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void save_img_index_to_obj_ani_slot(void) { + +} +#else +GLOBAL_ASM( +.text +glabel save_img_index_to_obj_ani_slot +/* 07EA70 7F049F40 03E00008 */ jr $ra +/* 07EA74 7F049F44 AC850008 */ sw $a1, 8($a0) +) +#endif + + + + + +#ifdef NONMATCHING +void process_monitor_animation_microcode(void) { + +} +#else +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata +glabel D_80052C68 +.word 0x40c90fdb /*6.2831855*/ +/*D:80052C6C*/ +glabel jpt_80052C6C +.word command00_reset_scroll_shift +.word command01_horizontal_scroll +.word command02_vertical_scroll +.word command03_horizontal_pos +.word command04_vertical_pos +.word command05_zoomx +.word command06_zoomy +.word command07_use_image_from_global_monitor_table +.word command08_halt_processing_for_time +.word command09_jump +.word command0A_jump_conditional +.word command0B_restart +.word command0C_break +.word command0D_colour_transition +.word command0E_set_rotation +.word command0F_rotate + +glabel D_80052CAC +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052CB0 +.word 0x3fb50481 /*1.4141999*/ +glabel D_80052CB4 +.word 0x3f59999a /*0.85000002*/ +glabel D_80052CB8 +.word 0x3e19999a /*0.15000001*/ +glabel D_80052CBC +.word 0x3e19999a /*0.15000001*/ +glabel D_80052CC0 +.word 0x3f666666 /*0.89999998*/ +.text +glabel process_monitor_animation_microcode +/* 07EA78 7F049F48 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 07EA7C 7F049F4C AFB10044 */ sw $s1, 0x44($sp) +/* 07EA80 7F049F50 AFB00040 */ sw $s0, 0x40($sp) +/* 07EA84 7F049F54 00C08025 */ move $s0, $a2 +/* 07EA88 7F049F58 00A08825 */ move $s1, $a1 +/* 07EA8C 7F049F5C AFBF004C */ sw $ra, 0x4c($sp) +/* 07EA90 7F049F60 AFB20048 */ sw $s2, 0x48($sp) +/* 07EA94 7F049F64 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 07EA98 7F049F68 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 07EA9C 7F049F6C F7B60028 */ sdc1 $f22, 0x28($sp) +/* 07EAA0 7F049F70 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 07EAA4 7F049F74 AFA400B0 */ sw $a0, 0xb0($sp) +/* 07EAA8 7F049F78 10A0031E */ beqz $a1, .L7F04ABF4 +/* 07EAAC 7F049F7C AFA700BC */ sw $a3, 0xbc($sp) +/* 07EAB0 7F049F80 94AE0000 */ lhu $t6, ($a1) +/* 07EAB4 7F049F84 24010018 */ li $at, 24 +/* 07EAB8 7F049F88 31CF00FF */ andi $t7, $t6, 0xff +/* 07EABC 7F049F8C 55E1031A */ bnel $t7, $at, .L7F04ABF8 +/* 07EAC0 7F049F90 8FBF004C */ lw $ra, 0x4c($sp) +/* 07EAC4 7F049F94 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 +/* 07EAC8 7F049F98 24040004 */ li $a0, 4 +/* 07EACC 7F049F9C 8FB800BC */ lw $t8, 0xbc($sp) +/* 07EAD0 7F049FA0 00409025 */ move $s2, $v0 +/* 07EAD4 7F049FA4 8FA400B0 */ lw $a0, 0xb0($sp) +/* 07EAD8 7F049FA8 27190008 */ addiu $t9, $t8, 8 +/* 07EADC 7F049FAC AFB900BC */ sw $t9, 0xbc($sp) +/* 07EAE0 7F049FB0 AFB800A8 */ sw $t8, 0xa8($sp) +/* 07EAE4 7F049FB4 8E280004 */ lw $t0, 4($s1) +/* 07EAE8 7F049FB8 02202825 */ move $a1, $s1 +/* 07EAEC 7F049FBC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07EAF0 7F049FC0 AFA800A4 */ sw $t0, 0xa4($sp) +/* 07EAF4 7F049FC4 3C018005 */ lui $at, %hi(D_80052C68) +/* 07EAF8 7F049FC8 C43A2C68 */ lwc1 $f26, %lo(D_80052C68)($at) +/* 07EAFC 7F049FCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07EB00 7F049FD0 4481C000 */ mtc1 $at, $f24 +/* 07EB04 7F049FD4 3C013A80 */ li $at, 0x3A800000 # 0.000977 +/* 07EB08 7F049FD8 4481B000 */ mtc1 $at, $f22 +/* 07EB0C 7F049FDC 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EB10 7F049FE0 44811000 */ mtc1 $at, $f2 +/* 07EB14 7F049FE4 4480A000 */ mtc1 $zero, $f20 +/* 07EB18 7F049FE8 AFA200A0 */ sw $v0, 0xa0($sp) +/* 07EB1C 7F049FEC 00008825 */ move $s1, $zero +/* 07EB20 7F049FF0 96020004 */ lhu $v0, 4($s0) +.L7F049FF4: +/* 07EB24 7F049FF4 8E090000 */ lw $t1, ($s0) +/* 07EB28 7F049FF8 00025080 */ sll $t2, $v0, 2 +/* 07EB2C 7F049FFC 012A1821 */ addu $v1, $t1, $t2 +/* 07EB30 7F04A000 8C6B0000 */ lw $t3, ($v1) +/* 07EB34 7F04A004 2D610010 */ sltiu $at, $t3, 0x10 +/* 07EB38 7F04A008 10200117 */ beqz $at, .L7F04A468 +/* 07EB3C 7F04A00C 000B5880 */ sll $t3, $t3, 2 +/* 07EB40 7F04A010 3C018005 */ lui $at, %hi(jpt_80052C6C) +/* 07EB44 7F04A014 002B0821 */ addu $at, $at, $t3 +/* 07EB48 7F04A018 8C2B2C6C */ lw $t3, %lo(jpt_80052C6C)($at) +/* 07EB4C 7F04A01C 01600008 */ jr $t3 +/* 07EB50 7F04A020 00000000 */ nop +command00_reset_scroll_shift: +/* 07EB54 7F04A024 244C0001 */ addiu $t4, $v0, 1 +/* 07EB58 7F04A028 E6140040 */ swc1 $f20, 0x40($s0) +/* 07EB5C 7F04A02C E6140054 */ swc1 $f20, 0x54($s0) +/* 07EB60 7F04A030 1000010D */ b .L7F04A468 +/* 07EB64 7F04A034 A60C0004 */ sh $t4, 4($s0) +command01_horizontal_scroll: +/* 07EB68 7F04A038 E614003C */ swc1 $f20, 0x3c($s0) +/* 07EB6C 7F04A03C 8C6D0008 */ lw $t5, 8($v1) +/* 07EB70 7F04A040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EB74 7F04A044 448D2000 */ mtc1 $t5, $f4 +/* 07EB78 7F04A048 05A10004 */ bgez $t5, .L7F04A05C +/* 07EB7C 7F04A04C 468021A0 */ cvt.s.w $f6, $f4 +/* 07EB80 7F04A050 44814000 */ mtc1 $at, $f8 +/* 07EB84 7F04A054 00000000 */ nop +/* 07EB88 7F04A058 46083180 */ add.s $f6, $f6, $f8 +.L7F04A05C: +/* 07EB8C 7F04A05C 4606C283 */ div.s $f10, $f24, $f6 +/* 07EB90 7F04A060 C6000038 */ lwc1 $f0, 0x38($s0) +/* 07EB94 7F04A064 244F0003 */ addiu $t7, $v0, 3 +/* 07EB98 7F04A068 E6000044 */ swc1 $f0, 0x44($s0) +/* 07EB9C 7F04A06C E60A0040 */ swc1 $f10, 0x40($s0) +/* 07EBA0 7F04A070 8C6E0004 */ lw $t6, 4($v1) +/* 07EBA4 7F04A074 A60F0004 */ sh $t7, 4($s0) +/* 07EBA8 7F04A078 448E9000 */ mtc1 $t6, $f18 +/* 07EBAC 7F04A07C 00000000 */ nop +/* 07EBB0 7F04A080 46809120 */ cvt.s.w $f4, $f18 +/* 07EBB4 7F04A084 46162202 */ mul.s $f8, $f4, $f22 +/* 07EBB8 7F04A088 46080180 */ add.s $f6, $f0, $f8 +/* 07EBBC 7F04A08C 100000F6 */ b .L7F04A468 +/* 07EBC0 7F04A090 E6060048 */ swc1 $f6, 0x48($s0) +command02_vertical_scroll: +/* 07EBC4 7F04A094 E6140050 */ swc1 $f20, 0x50($s0) +/* 07EBC8 7F04A098 8C780008 */ lw $t8, 8($v1) +/* 07EBCC 7F04A09C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EBD0 7F04A0A0 44985000 */ mtc1 $t8, $f10 +/* 07EBD4 7F04A0A4 07010004 */ bgez $t8, .L7F04A0B8 +/* 07EBD8 7F04A0A8 468054A0 */ cvt.s.w $f18, $f10 +/* 07EBDC 7F04A0AC 44812000 */ mtc1 $at, $f4 +/* 07EBE0 7F04A0B0 00000000 */ nop +/* 07EBE4 7F04A0B4 46049480 */ add.s $f18, $f18, $f4 +.L7F04A0B8: +/* 07EBE8 7F04A0B8 4612C203 */ div.s $f8, $f24, $f18 +/* 07EBEC 7F04A0BC C600004C */ lwc1 $f0, 0x4c($s0) +/* 07EBF0 7F04A0C0 24480003 */ addiu $t0, $v0, 3 +/* 07EBF4 7F04A0C4 E6000058 */ swc1 $f0, 0x58($s0) +/* 07EBF8 7F04A0C8 E6080054 */ swc1 $f8, 0x54($s0) +/* 07EBFC 7F04A0CC 8C790004 */ lw $t9, 4($v1) +/* 07EC00 7F04A0D0 A6080004 */ sh $t0, 4($s0) +/* 07EC04 7F04A0D4 44993000 */ mtc1 $t9, $f6 +/* 07EC08 7F04A0D8 00000000 */ nop +/* 07EC0C 7F04A0DC 468032A0 */ cvt.s.w $f10, $f6 +/* 07EC10 7F04A0E0 46165102 */ mul.s $f4, $f10, $f22 +/* 07EC14 7F04A0E4 46040480 */ add.s $f18, $f0, $f4 +/* 07EC18 7F04A0E8 100000DF */ b .L7F04A468 +/* 07EC1C 7F04A0EC E612005C */ swc1 $f18, 0x5c($s0) +command03_horizontal_pos: +/* 07EC20 7F04A0F0 E614003C */ swc1 $f20, 0x3c($s0) +/* 07EC24 7F04A0F4 8C690008 */ lw $t1, 8($v1) +/* 07EC28 7F04A0F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EC2C 7F04A0FC 44894000 */ mtc1 $t1, $f8 +/* 07EC30 7F04A100 05210004 */ bgez $t1, .L7F04A114 +/* 07EC34 7F04A104 468041A0 */ cvt.s.w $f6, $f8 +/* 07EC38 7F04A108 44815000 */ mtc1 $at, $f10 +/* 07EC3C 7F04A10C 00000000 */ nop +/* 07EC40 7F04A110 460A3180 */ add.s $f6, $f6, $f10 +.L7F04A114: +/* 07EC44 7F04A114 4606C103 */ div.s $f4, $f24, $f6 +/* 07EC48 7F04A118 C6120038 */ lwc1 $f18, 0x38($s0) +/* 07EC4C 7F04A11C 244B0003 */ addiu $t3, $v0, 3 +/* 07EC50 7F04A120 E6120044 */ swc1 $f18, 0x44($s0) +/* 07EC54 7F04A124 E6040040 */ swc1 $f4, 0x40($s0) +/* 07EC58 7F04A128 8C6A0004 */ lw $t2, 4($v1) +/* 07EC5C 7F04A12C A60B0004 */ sh $t3, 4($s0) +/* 07EC60 7F04A130 448A4000 */ mtc1 $t2, $f8 +/* 07EC64 7F04A134 00000000 */ nop +/* 07EC68 7F04A138 468042A0 */ cvt.s.w $f10, $f8 +/* 07EC6C 7F04A13C 46165182 */ mul.s $f6, $f10, $f22 +/* 07EC70 7F04A140 100000C9 */ b .L7F04A468 +/* 07EC74 7F04A144 E6060048 */ swc1 $f6, 0x48($s0) +command04_vertical_pos: +/* 07EC78 7F04A148 E6140050 */ swc1 $f20, 0x50($s0) +/* 07EC7C 7F04A14C 8C6C0008 */ lw $t4, 8($v1) +/* 07EC80 7F04A150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EC84 7F04A154 448C2000 */ mtc1 $t4, $f4 +/* 07EC88 7F04A158 05810004 */ bgez $t4, .L7F04A16C +/* 07EC8C 7F04A15C 468024A0 */ cvt.s.w $f18, $f4 +/* 07EC90 7F04A160 44814000 */ mtc1 $at, $f8 +/* 07EC94 7F04A164 00000000 */ nop +/* 07EC98 7F04A168 46089480 */ add.s $f18, $f18, $f8 +.L7F04A16C: +/* 07EC9C 7F04A16C 4612C283 */ div.s $f10, $f24, $f18 +/* 07ECA0 7F04A170 C606004C */ lwc1 $f6, 0x4c($s0) +/* 07ECA4 7F04A174 244E0003 */ addiu $t6, $v0, 3 +/* 07ECA8 7F04A178 E6060058 */ swc1 $f6, 0x58($s0) +/* 07ECAC 7F04A17C E60A0054 */ swc1 $f10, 0x54($s0) +/* 07ECB0 7F04A180 8C6D0004 */ lw $t5, 4($v1) +/* 07ECB4 7F04A184 A60E0004 */ sh $t6, 4($s0) +/* 07ECB8 7F04A188 448D2000 */ mtc1 $t5, $f4 +/* 07ECBC 7F04A18C 00000000 */ nop +/* 07ECC0 7F04A190 46802220 */ cvt.s.w $f8, $f4 +/* 07ECC4 7F04A194 46164482 */ mul.s $f18, $f8, $f22 +/* 07ECC8 7F04A198 100000B3 */ b .L7F04A468 +/* 07ECCC 7F04A19C E612005C */ swc1 $f18, 0x5c($s0) +command05_zoomx: +/* 07ECD0 7F04A1A0 E6140014 */ swc1 $f20, 0x14($s0) +/* 07ECD4 7F04A1A4 8C6F0008 */ lw $t7, 8($v1) +/* 07ECD8 7F04A1A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07ECDC 7F04A1AC 448F5000 */ mtc1 $t7, $f10 +/* 07ECE0 7F04A1B0 05E10004 */ bgez $t7, .L7F04A1C4 +/* 07ECE4 7F04A1B4 468051A0 */ cvt.s.w $f6, $f10 +/* 07ECE8 7F04A1B8 44812000 */ mtc1 $at, $f4 +/* 07ECEC 7F04A1BC 00000000 */ nop +/* 07ECF0 7F04A1C0 46043180 */ add.s $f6, $f6, $f4 +.L7F04A1C4: +/* 07ECF4 7F04A1C4 4606C203 */ div.s $f8, $f24, $f6 +/* 07ECF8 7F04A1C8 C6120010 */ lwc1 $f18, 0x10($s0) +/* 07ECFC 7F04A1CC 24590003 */ addiu $t9, $v0, 3 +/* 07ED00 7F04A1D0 E612001C */ swc1 $f18, 0x1c($s0) +/* 07ED04 7F04A1D4 E6080018 */ swc1 $f8, 0x18($s0) +/* 07ED08 7F04A1D8 8C780004 */ lw $t8, 4($v1) +/* 07ED0C 7F04A1DC A6190004 */ sh $t9, 4($s0) +/* 07ED10 7F04A1E0 44985000 */ mtc1 $t8, $f10 +/* 07ED14 7F04A1E4 00000000 */ nop +/* 07ED18 7F04A1E8 46805120 */ cvt.s.w $f4, $f10 +/* 07ED1C 7F04A1EC 46162182 */ mul.s $f6, $f4, $f22 +/* 07ED20 7F04A1F0 1000009D */ b .L7F04A468 +/* 07ED24 7F04A1F4 E6060020 */ swc1 $f6, 0x20($s0) +command06_zoomy: +/* 07ED28 7F04A1F8 E6140028 */ swc1 $f20, 0x28($s0) +/* 07ED2C 7F04A1FC 8C680008 */ lw $t0, 8($v1) +/* 07ED30 7F04A200 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07ED34 7F04A204 44884000 */ mtc1 $t0, $f8 +/* 07ED38 7F04A208 05010004 */ bgez $t0, .L7F04A21C +/* 07ED3C 7F04A20C 468044A0 */ cvt.s.w $f18, $f8 +/* 07ED40 7F04A210 44815000 */ mtc1 $at, $f10 +/* 07ED44 7F04A214 00000000 */ nop +/* 07ED48 7F04A218 460A9480 */ add.s $f18, $f18, $f10 +.L7F04A21C: +/* 07ED4C 7F04A21C 4612C103 */ div.s $f4, $f24, $f18 +/* 07ED50 7F04A220 C6060024 */ lwc1 $f6, 0x24($s0) +/* 07ED54 7F04A224 244A0003 */ addiu $t2, $v0, 3 +/* 07ED58 7F04A228 E6060030 */ swc1 $f6, 0x30($s0) +/* 07ED5C 7F04A22C E604002C */ swc1 $f4, 0x2c($s0) +/* 07ED60 7F04A230 8C690004 */ lw $t1, 4($v1) +/* 07ED64 7F04A234 A60A0004 */ sh $t2, 4($s0) +/* 07ED68 7F04A238 44894000 */ mtc1 $t1, $f8 +/* 07ED6C 7F04A23C 00000000 */ nop +/* 07ED70 7F04A240 468042A0 */ cvt.s.w $f10, $f8 +/* 07ED74 7F04A244 46165482 */ mul.s $f18, $f10, $f22 +/* 07ED78 7F04A248 10000087 */ b .L7F04A468 +/* 07ED7C 7F04A24C E6120034 */ swc1 $f18, 0x34($s0) +command07_use_image_from_global_monitor_table: +/* 07ED80 7F04A250 02002025 */ move $a0, $s0 +/* 07ED84 7F04A254 0FC127D0 */ jal save_img_index_to_obj_ani_slot +/* 07ED88 7F04A258 8C650004 */ lw $a1, 4($v1) +/* 07ED8C 7F04A25C 960B0004 */ lhu $t3, 4($s0) +/* 07ED90 7F04A260 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07ED94 7F04A264 44811000 */ mtc1 $at, $f2 +/* 07ED98 7F04A268 256C0002 */ addiu $t4, $t3, 2 +/* 07ED9C 7F04A26C 1000007E */ b .L7F04A468 +/* 07EDA0 7F04A270 A60C0004 */ sh $t4, 4($s0) +command08_halt_processing_for_time: +/* 07EDA4 7F04A274 86020006 */ lh $v0, 6($s0) +/* 07EDA8 7F04A278 3C0D8005 */ lui $t5, %hi(clock_timer) +/* 07EDAC 7F04A27C 0442000E */ bltzl $v0, .L7F04A2B8 +/* 07EDB0 7F04A280 8C680004 */ lw $t0, 4($v1) +/* 07EDB4 7F04A284 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) +/* 07EDB8 7F04A288 004D7023 */ subu $t6, $v0, $t5 +/* 07EDBC 7F04A28C A60E0006 */ sh $t6, 6($s0) +/* 07EDC0 7F04A290 860F0006 */ lh $t7, 6($s0) +/* 07EDC4 7F04A294 05E20004 */ bltzl $t7, .L7F04A2A8 +/* 07EDC8 7F04A298 96180004 */ lhu $t8, 4($s0) +/* 07EDCC 7F04A29C 10000072 */ b .L7F04A468 +/* 07EDD0 7F04A2A0 24110001 */ li $s1, 1 +/* 07EDD4 7F04A2A4 96180004 */ lhu $t8, 4($s0) +.L7F04A2A8: +/* 07EDD8 7F04A2A8 27190002 */ addiu $t9, $t8, 2 +/* 07EDDC 7F04A2AC 1000006E */ b .L7F04A468 +/* 07EDE0 7F04A2B0 A6190004 */ sh $t9, 4($s0) +/* 07EDE4 7F04A2B4 8C680004 */ lw $t0, 4($v1) +.L7F04A2B8: +/* 07EDE8 7F04A2B8 24110001 */ li $s1, 1 +/* 07EDEC 7F04A2BC 1000006A */ b .L7F04A468 +/* 07EDF0 7F04A2C0 A6080006 */ sh $t0, 6($s0) +command09_jump: +/* 07EDF4 7F04A2C4 02002025 */ move $a0, $s0 +/* 07EDF8 7F04A2C8 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07EDFC 7F04A2CC 8C650004 */ lw $a1, 4($v1) +/* 07EE00 7F04A2D0 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE04 7F04A2D4 44811000 */ mtc1 $at, $f2 +/* 07EE08 7F04A2D8 10000063 */ b .L7F04A468 +/* 07EE0C 7F04A2DC 00000000 */ nop +command0A_jump_conditional: +/* 07EE10 7F04A2E0 0C002914 */ jal get_random_value +/* 07EE14 7F04A2E4 AFA30094 */ sw $v1, 0x94($sp) +/* 07EE18 7F04A2E8 8FA30094 */ lw $v1, 0x94($sp) +/* 07EE1C 7F04A2EC 00024C02 */ srl $t1, $v0, 0x10 +/* 07EE20 7F04A2F0 02002025 */ move $a0, $s0 +/* 07EE24 7F04A2F4 8C6A0008 */ lw $t2, 8($v1) +/* 07EE28 7F04A2F8 012A082B */ sltu $at, $t1, $t2 +/* 07EE2C 7F04A2FC 50200008 */ beql $at, $zero, .L7F04A320 +/* 07EE30 7F04A300 960B0004 */ lhu $t3, 4($s0) +/* 07EE34 7F04A304 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07EE38 7F04A308 8C650004 */ lw $a1, 4($v1) +/* 07EE3C 7F04A30C 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE40 7F04A310 44811000 */ mtc1 $at, $f2 +/* 07EE44 7F04A314 10000054 */ b .L7F04A468 +/* 07EE48 7F04A318 00000000 */ nop +/* 07EE4C 7F04A31C 960B0004 */ lhu $t3, 4($s0) +.L7F04A320: +/* 07EE50 7F04A320 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE54 7F04A324 44811000 */ mtc1 $at, $f2 +/* 07EE58 7F04A328 256C0003 */ addiu $t4, $t3, 3 +/* 07EE5C 7F04A32C A60C0004 */ sh $t4, 4($s0) +/* 07EE60 7F04A330 1000004D */ b .L7F04A468 +/* 07EE64 7F04A334 00000000 */ nop +command0B_restart: +/* 07EE68 7F04A338 1000004B */ b .L7F04A468 +/* 07EE6C 7F04A33C A6000004 */ sh $zero, 4($s0) +command0C_break: +/* 07EE70 7F04A340 10000049 */ b .L7F04A468 +/* 07EE74 7F04A344 24110001 */ li $s1, 1 +command0D_colour_transition: +/* 07EE78 7F04A348 E614006C */ swc1 $f20, 0x6c($s0) +/* 07EE7C 7F04A34C 8C6D0008 */ lw $t5, 8($v1) +/* 07EE80 7F04A350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EE84 7F04A354 448D2000 */ mtc1 $t5, $f4 +/* 07EE88 7F04A358 05A10004 */ bgez $t5, .L7F04A36C +/* 07EE8C 7F04A35C 468021A0 */ cvt.s.w $f6, $f4 +/* 07EE90 7F04A360 44814000 */ mtc1 $at, $f8 +/* 07EE94 7F04A364 00000000 */ nop +/* 07EE98 7F04A368 46083180 */ add.s $f6, $f6, $f8 +.L7F04A36C: +/* 07EE9C 7F04A36C 4606C283 */ div.s $f10, $f24, $f6 +/* 07EEA0 7F04A370 920E0060 */ lbu $t6, 0x60($s0) +/* 07EEA4 7F04A374 92080063 */ lbu $t0, 0x63($s0) +/* 07EEA8 7F04A378 920C0066 */ lbu $t4, 0x66($s0) +/* 07EEAC 7F04A37C A20E0061 */ sb $t6, 0x61($s0) +/* 07EEB0 7F04A380 92180069 */ lbu $t8, 0x69($s0) +/* 07EEB4 7F04A384 E60A0070 */ swc1 $f10, 0x70($s0) +/* 07EEB8 7F04A388 8C6F0004 */ lw $t7, 4($v1) +/* 07EEBC 7F04A38C A2080064 */ sb $t0, 0x64($s0) +/* 07EEC0 7F04A390 000FCE02 */ srl $t9, $t7, 0x18 +/* 07EEC4 7F04A394 A2190062 */ sb $t9, 0x62($s0) +/* 07EEC8 7F04A398 8C690004 */ lw $t1, 4($v1) +/* 07EECC 7F04A39C A20C0067 */ sb $t4, 0x67($s0) +/* 07EED0 7F04A3A0 00095C02 */ srl $t3, $t1, 0x10 +/* 07EED4 7F04A3A4 A20B0065 */ sb $t3, 0x65($s0) +/* 07EED8 7F04A3A8 8C6D0004 */ lw $t5, 4($v1) +/* 07EEDC 7F04A3AC A218006A */ sb $t8, 0x6a($s0) +/* 07EEE0 7F04A3B0 24490003 */ addiu $t1, $v0, 3 +/* 07EEE4 7F04A3B4 000D7A02 */ srl $t7, $t5, 8 +/* 07EEE8 7F04A3B8 A20F0068 */ sb $t7, 0x68($s0) +/* 07EEEC 7F04A3BC 8C680004 */ lw $t0, 4($v1) +/* 07EEF0 7F04A3C0 A6090004 */ sh $t1, 4($s0) +/* 07EEF4 7F04A3C4 10000028 */ b .L7F04A468 +/* 07EEF8 7F04A3C8 A208006B */ sb $t0, 0x6b($s0) +command0E_set_rotation: +/* 07EEFC 7F04A3CC 8C6A0004 */ lw $t2, 4($v1) +/* 07EF00 7F04A3D0 244B0002 */ addiu $t3, $v0, 2 +/* 07EF04 7F04A3D4 A60B0004 */ sh $t3, 4($s0) +/* 07EF08 7F04A3D8 448A9000 */ mtc1 $t2, $f18 +/* 07EF0C 7F04A3DC 00000000 */ nop +/* 07EF10 7F04A3E0 46809120 */ cvt.s.w $f4, $f18 +/* 07EF14 7F04A3E4 461A2202 */ mul.s $f8, $f4, $f26 +/* 07EF18 7F04A3E8 46024183 */ div.s $f6, $f8, $f2 +/* 07EF1C 7F04A3EC 1000001E */ b .L7F04A468 +/* 07EF20 7F04A3F0 E606000C */ swc1 $f6, 0xc($s0) +command0F_rotate: +/* 07EF24 7F04A3F4 8C6C0004 */ lw $t4, 4($v1) +/* 07EF28 7F04A3F8 3C018005 */ lui $at, %hi(global_timer_delta) +/* 07EF2C 7F04A3FC C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 07EF30 7F04A400 448C9000 */ mtc1 $t4, $f18 +/* 07EF34 7F04A404 00000000 */ nop +/* 07EF38 7F04A408 46809120 */ cvt.s.w $f4, $f18 +/* 07EF3C 7F04A40C 46045202 */ mul.s $f8, $f10, $f4 +/* 07EF40 7F04A410 C60A000C */ lwc1 $f10, 0xc($s0) +/* 07EF44 7F04A414 461A4182 */ mul.s $f6, $f8, $f26 +/* 07EF48 7F04A418 46023483 */ div.s $f18, $f6, $f2 +/* 07EF4C 7F04A41C 46125100 */ add.s $f4, $f10, $f18 +/* 07EF50 7F04A420 E604000C */ swc1 $f4, 0xc($s0) +/* 07EF54 7F04A424 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07EF58 7F04A428 460CD03E */ c.le.s $f26, $f12 +/* 07EF5C 7F04A42C 00000000 */ nop +/* 07EF60 7F04A430 45020005 */ bc1fl .L7F04A448 +/* 07EF64 7F04A434 4614603C */ c.lt.s $f12, $f20 +/* 07EF68 7F04A438 461A6201 */ sub.s $f8, $f12, $f26 +/* 07EF6C 7F04A43C E608000C */ swc1 $f8, 0xc($s0) +/* 07EF70 7F04A440 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07EF74 7F04A444 4614603C */ c.lt.s $f12, $f20 +.L7F04A448: +/* 07EF78 7F04A448 00000000 */ nop +/* 07EF7C 7F04A44C 45020004 */ bc1fl .L7F04A460 +/* 07EF80 7F04A450 960D0004 */ lhu $t5, 4($s0) +/* 07EF84 7F04A454 461A6180 */ add.s $f6, $f12, $f26 +/* 07EF88 7F04A458 E606000C */ swc1 $f6, 0xc($s0) +/* 07EF8C 7F04A45C 960D0004 */ lhu $t5, 4($s0) +.L7F04A460: +/* 07EF90 7F04A460 25AE0002 */ addiu $t6, $t5, 2 +/* 07EF94 7F04A464 A60E0004 */ sh $t6, 4($s0) +def_7F04A01C: +.L7F04A468: +/* 07EF98 7F04A468 5220FEE2 */ beql $s1, $zero, .L7F049FF4 +/* 07EF9C 7F04A46C 96020004 */ lhu $v0, 4($s0) +/* 07EFA0 7F04A470 C6000018 */ lwc1 $f0, 0x18($s0) +/* 07EFA4 7F04A474 4600A03C */ c.lt.s $f20, $f0 +/* 07EFA8 7F04A478 00000000 */ nop +/* 07EFAC 7F04A47C 45000017 */ bc1f .L7F04A4DC +/* 07EFB0 7F04A480 3C028005 */ lui $v0, %hi(global_timer_delta) +/* 07EFB4 7F04A484 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07EFB8 7F04A488 C4520000 */ lwc1 $f18, ($v0) +/* 07EFBC 7F04A48C C60A0014 */ lwc1 $f10, 0x14($s0) +/* 07EFC0 7F04A490 46120102 */ mul.s $f4, $f0, $f18 +/* 07EFC4 7F04A494 46045200 */ add.s $f8, $f10, $f4 +/* 07EFC8 7F04A498 E6080014 */ swc1 $f8, 0x14($s0) +/* 07EFCC 7F04A49C C6020014 */ lwc1 $f2, 0x14($s0) +/* 07EFD0 7F04A4A0 4618103C */ c.lt.s $f2, $f24 +/* 07EFD4 7F04A4A4 00000000 */ nop +/* 07EFD8 7F04A4A8 45020009 */ bc1fl .L7F04A4D0 +/* 07EFDC 7F04A4AC C6080020 */ lwc1 $f8, 0x20($s0) +/* 07EFE0 7F04A4B0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07EFE4 7F04A4B4 C6060020 */ lwc1 $f6, 0x20($s0) +/* 07EFE8 7F04A4B8 46003481 */ sub.s $f18, $f6, $f0 +/* 07EFEC 7F04A4BC 46029282 */ mul.s $f10, $f18, $f2 +/* 07EFF0 7F04A4C0 460A0100 */ add.s $f4, $f0, $f10 +/* 07EFF4 7F04A4C4 10000005 */ b .L7F04A4DC +/* 07EFF8 7F04A4C8 E6040010 */ swc1 $f4, 0x10($s0) +/* 07EFFC 7F04A4CC C6080020 */ lwc1 $f8, 0x20($s0) +.L7F04A4D0: +/* 07F000 7F04A4D0 E6180014 */ swc1 $f24, 0x14($s0) +/* 07F004 7F04A4D4 E6140018 */ swc1 $f20, 0x18($s0) +/* 07F008 7F04A4D8 E6080010 */ swc1 $f8, 0x10($s0) +.L7F04A4DC: +/* 07F00C 7F04A4DC C600002C */ lwc1 $f0, 0x2c($s0) +/* 07F010 7F04A4E0 3C028005 */ lui $v0, %hi(global_timer_delta) +/* 07F014 7F04A4E4 24428378 */ addiu $v0, %lo(global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07F018 7F04A4E8 4600A03C */ c.lt.s $f20, $f0 +/* 07F01C 7F04A4EC 00000000 */ nop +/* 07F020 7F04A4F0 45020017 */ bc1fl .L7F04A550 +/* 07F024 7F04A4F4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 07F028 7F04A4F8 C4520000 */ lwc1 $f18, ($v0) +/* 07F02C 7F04A4FC C6060028 */ lwc1 $f6, 0x28($s0) +/* 07F030 7F04A500 46120282 */ mul.s $f10, $f0, $f18 +/* 07F034 7F04A504 460A3100 */ add.s $f4, $f6, $f10 +/* 07F038 7F04A508 E6040028 */ swc1 $f4, 0x28($s0) +/* 07F03C 7F04A50C C6020028 */ lwc1 $f2, 0x28($s0) +/* 07F040 7F04A510 4618103C */ c.lt.s $f2, $f24 +/* 07F044 7F04A514 00000000 */ nop +/* 07F048 7F04A518 45020009 */ bc1fl .L7F04A540 +/* 07F04C 7F04A51C C6040034 */ lwc1 $f4, 0x34($s0) +/* 07F050 7F04A520 C6000030 */ lwc1 $f0, 0x30($s0) +/* 07F054 7F04A524 C6080034 */ lwc1 $f8, 0x34($s0) +/* 07F058 7F04A528 46004481 */ sub.s $f18, $f8, $f0 +/* 07F05C 7F04A52C 46029182 */ mul.s $f6, $f18, $f2 +/* 07F060 7F04A530 46060280 */ add.s $f10, $f0, $f6 +/* 07F064 7F04A534 10000005 */ b .L7F04A54C +/* 07F068 7F04A538 E60A0024 */ swc1 $f10, 0x24($s0) +/* 07F06C 7F04A53C C6040034 */ lwc1 $f4, 0x34($s0) +.L7F04A540: +/* 07F070 7F04A540 E6180028 */ swc1 $f24, 0x28($s0) +/* 07F074 7F04A544 E614002C */ swc1 $f20, 0x2c($s0) +/* 07F078 7F04A548 E6040024 */ swc1 $f4, 0x24($s0) +.L7F04A54C: +/* 07F07C 7F04A54C C6000040 */ lwc1 $f0, 0x40($s0) +.L7F04A550: +/* 07F080 7F04A550 4600A03C */ c.lt.s $f20, $f0 +/* 07F084 7F04A554 00000000 */ nop +/* 07F088 7F04A558 45020017 */ bc1fl .L7F04A5B8 +/* 07F08C 7F04A55C C6000054 */ lwc1 $f0, 0x54($s0) +/* 07F090 7F04A560 C4520000 */ lwc1 $f18, ($v0) +/* 07F094 7F04A564 C608003C */ lwc1 $f8, 0x3c($s0) +/* 07F098 7F04A568 46120182 */ mul.s $f6, $f0, $f18 +/* 07F09C 7F04A56C 46064280 */ add.s $f10, $f8, $f6 +/* 07F0A0 7F04A570 E60A003C */ swc1 $f10, 0x3c($s0) +/* 07F0A4 7F04A574 C602003C */ lwc1 $f2, 0x3c($s0) +/* 07F0A8 7F04A578 4618103C */ c.lt.s $f2, $f24 +/* 07F0AC 7F04A57C 00000000 */ nop +/* 07F0B0 7F04A580 45020009 */ bc1fl .L7F04A5A8 +/* 07F0B4 7F04A584 C60A0048 */ lwc1 $f10, 0x48($s0) +/* 07F0B8 7F04A588 C6000044 */ lwc1 $f0, 0x44($s0) +/* 07F0BC 7F04A58C C6040048 */ lwc1 $f4, 0x48($s0) +/* 07F0C0 7F04A590 46002481 */ sub.s $f18, $f4, $f0 +/* 07F0C4 7F04A594 46029202 */ mul.s $f8, $f18, $f2 +/* 07F0C8 7F04A598 46080180 */ add.s $f6, $f0, $f8 +/* 07F0CC 7F04A59C 10000005 */ b .L7F04A5B4 +/* 07F0D0 7F04A5A0 E6060038 */ swc1 $f6, 0x38($s0) +/* 07F0D4 7F04A5A4 C60A0048 */ lwc1 $f10, 0x48($s0) +.L7F04A5A8: +/* 07F0D8 7F04A5A8 E618003C */ swc1 $f24, 0x3c($s0) +/* 07F0DC 7F04A5AC E6140040 */ swc1 $f20, 0x40($s0) +/* 07F0E0 7F04A5B0 E60A0038 */ swc1 $f10, 0x38($s0) +.L7F04A5B4: +/* 07F0E4 7F04A5B4 C6000054 */ lwc1 $f0, 0x54($s0) +.L7F04A5B8: +/* 07F0E8 7F04A5B8 4600A03C */ c.lt.s $f20, $f0 +/* 07F0EC 7F04A5BC 00000000 */ nop +/* 07F0F0 7F04A5C0 45020017 */ bc1fl .L7F04A620 +/* 07F0F4 7F04A5C4 C6020070 */ lwc1 $f2, 0x70($s0) +/* 07F0F8 7F04A5C8 C4520000 */ lwc1 $f18, ($v0) +/* 07F0FC 7F04A5CC C6040050 */ lwc1 $f4, 0x50($s0) +/* 07F100 7F04A5D0 46120202 */ mul.s $f8, $f0, $f18 +/* 07F104 7F04A5D4 46082180 */ add.s $f6, $f4, $f8 +/* 07F108 7F04A5D8 E6060050 */ swc1 $f6, 0x50($s0) +/* 07F10C 7F04A5DC C6020050 */ lwc1 $f2, 0x50($s0) +/* 07F110 7F04A5E0 4618103C */ c.lt.s $f2, $f24 +/* 07F114 7F04A5E4 00000000 */ nop +/* 07F118 7F04A5E8 45020009 */ bc1fl .L7F04A610 +/* 07F11C 7F04A5EC C606005C */ lwc1 $f6, 0x5c($s0) +/* 07F120 7F04A5F0 C6000058 */ lwc1 $f0, 0x58($s0) +/* 07F124 7F04A5F4 C60A005C */ lwc1 $f10, 0x5c($s0) +/* 07F128 7F04A5F8 46005481 */ sub.s $f18, $f10, $f0 +/* 07F12C 7F04A5FC 46029102 */ mul.s $f4, $f18, $f2 +/* 07F130 7F04A600 46040200 */ add.s $f8, $f0, $f4 +/* 07F134 7F04A604 10000005 */ b .L7F04A61C +/* 07F138 7F04A608 E608004C */ swc1 $f8, 0x4c($s0) +/* 07F13C 7F04A60C C606005C */ lwc1 $f6, 0x5c($s0) +.L7F04A610: +/* 07F140 7F04A610 E6180050 */ swc1 $f24, 0x50($s0) +/* 07F144 7F04A614 E6140054 */ swc1 $f20, 0x54($s0) +/* 07F148 7F04A618 E606004C */ swc1 $f6, 0x4c($s0) +.L7F04A61C: +/* 07F14C 7F04A61C C6020070 */ lwc1 $f2, 0x70($s0) +.L7F04A620: +/* 07F150 7F04A620 4602A03C */ c.lt.s $f20, $f2 +/* 07F154 7F04A624 00000000 */ nop +/* 07F158 7F04A628 4502003F */ bc1fl .L7F04A728 +/* 07F15C 7F04A62C 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 07F160 7F04A630 C4520000 */ lwc1 $f18, ($v0) +/* 07F164 7F04A634 C60A006C */ lwc1 $f10, 0x6c($s0) +/* 07F168 7F04A638 46121102 */ mul.s $f4, $f2, $f18 +/* 07F16C 7F04A63C 46045200 */ add.s $f8, $f10, $f4 +/* 07F170 7F04A640 E608006C */ swc1 $f8, 0x6c($s0) +/* 07F174 7F04A644 C600006C */ lwc1 $f0, 0x6c($s0) +/* 07F178 7F04A648 4618003C */ c.lt.s $f0, $f24 +/* 07F17C 7F04A64C 00000000 */ nop +/* 07F180 7F04A650 4502002B */ bc1fl .L7F04A700 +/* 07F184 7F04A654 920F0062 */ lbu $t7, 0x62($s0) +/* 07F188 7F04A658 92020061 */ lbu $v0, 0x61($s0) +/* 07F18C 7F04A65C 920F0062 */ lbu $t7, 0x62($s0) +/* 07F190 7F04A660 92030064 */ lbu $v1, 0x64($s0) +/* 07F194 7F04A664 920A0065 */ lbu $t2, 0x65($s0) +/* 07F198 7F04A668 01E2C023 */ subu $t8, $t7, $v0 +/* 07F19C 7F04A66C 44983000 */ mtc1 $t8, $f6 +/* 07F1A0 7F04A670 01435823 */ subu $t3, $t2, $v1 +/* 07F1A4 7F04A674 448B4000 */ mtc1 $t3, $f8 +/* 07F1A8 7F04A678 468034A0 */ cvt.s.w $f18, $f6 +/* 07F1AC 7F04A67C 920F0068 */ lbu $t7, 0x68($s0) +/* 07F1B0 7F04A680 92040067 */ lbu $a0, 0x67($s0) +/* 07F1B4 7F04A684 920A006B */ lbu $t2, 0x6b($s0) +/* 07F1B8 7F04A688 9205006A */ lbu $a1, 0x6a($s0) +/* 07F1BC 7F04A68C 468041A0 */ cvt.s.w $f6, $f8 +/* 07F1C0 7F04A690 46009282 */ mul.s $f10, $f18, $f0 +/* 07F1C4 7F04A694 01E4C023 */ subu $t8, $t7, $a0 +/* 07F1C8 7F04A698 01455823 */ subu $t3, $t2, $a1 +/* 07F1CC 7F04A69C 46003482 */ mul.s $f18, $f6, $f0 +/* 07F1D0 7F04A6A0 4600510D */ trunc.w.s $f4, $f10 +/* 07F1D4 7F04A6A4 4600928D */ trunc.w.s $f10, $f18 +/* 07F1D8 7F04A6A8 44082000 */ mfc1 $t0, $f4 +/* 07F1DC 7F04A6AC 44982000 */ mtc1 $t8, $f4 +/* 07F1E0 7F04A6B0 440D5000 */ mfc1 $t5, $f10 +/* 07F1E4 7F04A6B4 46802220 */ cvt.s.w $f8, $f4 +/* 07F1E8 7F04A6B8 448B5000 */ mtc1 $t3, $f10 +/* 07F1EC 7F04A6BC 00484821 */ addu $t1, $v0, $t0 +/* 07F1F0 7F04A6C0 006D7021 */ addu $t6, $v1, $t5 +/* 07F1F4 7F04A6C4 A2090060 */ sb $t1, 0x60($s0) +/* 07F1F8 7F04A6C8 46805120 */ cvt.s.w $f4, $f10 +/* 07F1FC 7F04A6CC 46004182 */ mul.s $f6, $f8, $f0 +/* 07F200 7F04A6D0 A20E0063 */ sb $t6, 0x63($s0) +/* 07F204 7F04A6D4 46002202 */ mul.s $f8, $f4, $f0 +/* 07F208 7F04A6D8 4600348D */ trunc.w.s $f18, $f6 +/* 07F20C 7F04A6DC 4600418D */ trunc.w.s $f6, $f8 +/* 07F210 7F04A6E0 44089000 */ mfc1 $t0, $f18 +/* 07F214 7F04A6E4 440D3000 */ mfc1 $t5, $f6 +/* 07F218 7F04A6E8 00884821 */ addu $t1, $a0, $t0 +/* 07F21C 7F04A6EC A2090066 */ sb $t1, 0x66($s0) +/* 07F220 7F04A6F0 00AD7021 */ addu $t6, $a1, $t5 +/* 07F224 7F04A6F4 1000000B */ b .L7F04A724 +/* 07F228 7F04A6F8 A20E0069 */ sb $t6, 0x69($s0) +/* 07F22C 7F04A6FC 920F0062 */ lbu $t7, 0x62($s0) +.L7F04A700: +/* 07F230 7F04A700 92180065 */ lbu $t8, 0x65($s0) +/* 07F234 7F04A704 92190068 */ lbu $t9, 0x68($s0) +/* 07F238 7F04A708 9208006B */ lbu $t0, 0x6b($s0) +/* 07F23C 7F04A70C E618006C */ swc1 $f24, 0x6c($s0) +/* 07F240 7F04A710 E6140070 */ swc1 $f20, 0x70($s0) +/* 07F244 7F04A714 A20F0060 */ sb $t7, 0x60($s0) +/* 07F248 7F04A718 A2180063 */ sb $t8, 0x63($s0) +/* 07F24C 7F04A71C A2190066 */ sb $t9, 0x66($s0) +/* 07F250 7F04A720 A2080069 */ sb $t0, 0x69($s0) +.L7F04A724: +/* 07F254 7F04A724 8FAA00A0 */ lw $t2, 0xa0($sp) +.L7F04A728: +/* 07F258 7F04A728 8FA300A4 */ lw $v1, 0xa4($sp) +/* 07F25C 7F04A72C 8FA900BC */ lw $t1, 0xbc($sp) +/* 07F260 7F04A730 AD520000 */ sw $s2, ($t2) +/* 07F264 7F04A734 3C0F8009 */ lui $t7, %hi(monitorimages) +/* 07F268 7F04A738 AD490004 */ sw $t1, 4($t2) +/* 07F26C 7F04A73C 8C6B0008 */ lw $t3, 8($v1) +/* 07F270 7F04A740 8D610000 */ lw $at, ($t3) +/* 07F274 7F04A744 AE410000 */ sw $at, ($s2) +/* 07F278 7F04A748 8D6D0004 */ lw $t5, 4($t3) +/* 07F27C 7F04A74C AE4D0004 */ sw $t5, 4($s2) +/* 07F280 7F04A750 8D610008 */ lw $at, 8($t3) +/* 07F284 7F04A754 AE410008 */ sw $at, 8($s2) +/* 07F288 7F04A758 8D6D000C */ lw $t5, 0xc($t3) +/* 07F28C 7F04A75C AE4D000C */ sw $t5, 0xc($s2) +/* 07F290 7F04A760 8C6E0008 */ lw $t6, 8($v1) +/* 07F294 7F04A764 8DC10010 */ lw $at, 0x10($t6) +/* 07F298 7F04A768 AE410010 */ sw $at, 0x10($s2) +/* 07F29C 7F04A76C 8DD80014 */ lw $t8, 0x14($t6) +/* 07F2A0 7F04A770 AE580014 */ sw $t8, 0x14($s2) +/* 07F2A4 7F04A774 8DC10018 */ lw $at, 0x18($t6) +/* 07F2A8 7F04A778 AE410018 */ sw $at, 0x18($s2) +/* 07F2AC 7F04A77C 8DD8001C */ lw $t8, 0x1c($t6) +/* 07F2B0 7F04A780 AE58001C */ sw $t8, 0x1c($s2) +/* 07F2B4 7F04A784 8C790008 */ lw $t9, 8($v1) +/* 07F2B8 7F04A788 8F210020 */ lw $at, 0x20($t9) +/* 07F2BC 7F04A78C AE410020 */ sw $at, 0x20($s2) +/* 07F2C0 7F04A790 8F290024 */ lw $t1, 0x24($t9) +/* 07F2C4 7F04A794 AE490024 */ sw $t1, 0x24($s2) +/* 07F2C8 7F04A798 8F210028 */ lw $at, 0x28($t9) +/* 07F2CC 7F04A79C AE410028 */ sw $at, 0x28($s2) +/* 07F2D0 7F04A7A0 8F29002C */ lw $t1, 0x2c($t9) +/* 07F2D4 7F04A7A4 AE49002C */ sw $t1, 0x2c($s2) +/* 07F2D8 7F04A7A8 8C6A0008 */ lw $t2, 8($v1) +/* 07F2DC 7F04A7AC 8D410030 */ lw $at, 0x30($t2) +/* 07F2E0 7F04A7B0 AE410030 */ sw $at, 0x30($s2) +/* 07F2E4 7F04A7B4 8D4B0034 */ lw $t3, 0x34($t2) +/* 07F2E8 7F04A7B8 AE4B0034 */ sw $t3, 0x34($s2) +/* 07F2EC 7F04A7BC 8D410038 */ lw $at, 0x38($t2) +/* 07F2F0 7F04A7C0 AE410038 */ sw $at, 0x38($s2) +/* 07F2F4 7F04A7C4 8D4B003C */ lw $t3, 0x3c($t2) +/* 07F2F8 7F04A7C8 AE4B003C */ sw $t3, 0x3c($s2) +/* 07F2FC 7F04A7CC 8E020008 */ lw $v0, 8($s0) +/* 07F300 7F04A7D0 2C410064 */ sltiu $at, $v0, 0x64 +/* 07F304 7F04A7D4 10200007 */ beqz $at, .L7F04A7F4 +/* 07F308 7F04A7D8 00408825 */ move $s1, $v0 +/* 07F30C 7F04A7DC 00026880 */ sll $t5, $v0, 2 +/* 07F310 7F04A7E0 8DEFD120 */ lw $t7, %lo(monitorimages)($t7) +/* 07F314 7F04A7E4 01A26823 */ subu $t5, $t5, $v0 +/* 07F318 7F04A7E8 000D6880 */ sll $t5, $t5, 2 +/* 07F31C 7F04A7EC 10000001 */ b .L7F04A7F4 +/* 07F320 7F04A7F0 01AF8821 */ addu $s1, $t5, $t7 +.L7F04A7F4: +/* 07F324 7F04A7F4 122000A9 */ beqz $s1, .L7F04AA9C +/* 07F328 7F04A7F8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07F32C 7F04A7FC 44810000 */ mtc1 $at, $f0 +/* 07F330 7F04A800 C6120010 */ lwc1 $f18, 0x10($s0) +/* 07F334 7F04A804 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 07F338 7F04A808 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07F33C 7F04A80C 46009582 */ mul.s $f22, $f18, $f0 +/* 07F340 7F04A810 460CA032 */ c.eq.s $f20, $f12 +/* 07F344 7F04A814 46005602 */ mul.s $f24, $f10, $f0 +/* 07F348 7F04A818 4600B386 */ mov.s $f14, $f22 +/* 07F34C 7F04A81C 45010015 */ bc1t .L7F04A874 +/* 07F350 7F04A820 4600C406 */ mov.s $f16, $f24 +/* 07F354 7F04A824 E7AE0054 */ swc1 $f14, 0x54($sp) +/* 07F358 7F04A828 0FC15FA8 */ jal cosf +/* 07F35C 7F04A82C E7B00050 */ swc1 $f16, 0x50($sp) +/* 07F360 7F04A830 3C018005 */ lui $at, %hi(D_80052CB0) +/* 07F364 7F04A834 C43A2CB0 */ lwc1 $f26, %lo(D_80052CB0)($at) +/* 07F368 7F04A838 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07F36C 7F04A83C 461A0502 */ mul.s $f20, $f0, $f26 +/* 07F370 7F04A840 0FC15FAB */ jal sinf +/* 07F374 7F04A844 00000000 */ nop +/* 07F378 7F04A848 4614B582 */ mul.s $f22, $f22, $f20 +/* 07F37C 7F04A84C C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 07F380 7F04A850 C7B00050 */ lwc1 $f16, 0x50($sp) +/* 07F384 7F04A854 461A0082 */ mul.s $f2, $f0, $f26 +/* 07F388 7F04A858 00000000 */ nop +/* 07F38C 7F04A85C 4602C602 */ mul.s $f24, $f24, $f2 +/* 07F390 7F04A860 00000000 */ nop +/* 07F394 7F04A864 46027382 */ mul.s $f14, $f14, $f2 +/* 07F398 7F04A868 00000000 */ nop +/* 07F39C 7F04A86C 46148402 */ mul.s $f16, $f16, $f20 +/* 07F3A0 7F04A870 00000000 */ nop +.L7F04A874: +/* 07F3A4 7F04A874 922E0004 */ lbu $t6, 4($s1) +/* 07F3A8 7F04A878 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 07F3AC 7F04A87C 44810000 */ mtc1 $at, $f0 +/* 07F3B0 7F04A880 448E4000 */ mtc1 $t6, $f8 +/* 07F3B4 7F04A884 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F3B8 7F04A888 05C10004 */ bgez $t6, .L7F04A89C +/* 07F3BC 7F04A88C 468041A0 */ cvt.s.w $f6, $f8 +/* 07F3C0 7F04A890 44819000 */ mtc1 $at, $f18 +/* 07F3C4 7F04A894 00000000 */ nop +/* 07F3C8 7F04A898 46123180 */ add.s $f6, $f6, $f18 +.L7F04A89C: +/* 07F3CC 7F04A89C C60A0038 */ lwc1 $f10, 0x38($s0) +/* 07F3D0 7F04A8A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F3D4 7F04A8A4 46165100 */ add.s $f4, $f10, $f22 +/* 07F3D8 7F04A8A8 46043202 */ mul.s $f8, $f6, $f4 +/* 07F3DC 7F04A8AC 00000000 */ nop +/* 07F3E0 7F04A8B0 46004482 */ mul.s $f18, $f8, $f0 +/* 07F3E4 7F04A8B4 4600928D */ trunc.w.s $f10, $f18 +/* 07F3E8 7F04A8B8 44085000 */ mfc1 $t0, $f10 +/* 07F3EC 7F04A8BC 00000000 */ nop +/* 07F3F0 7F04A8C0 A6480008 */ sh $t0, 8($s2) +/* 07F3F4 7F04A8C4 92390005 */ lbu $t9, 5($s1) +/* 07F3F8 7F04A8C8 44993000 */ mtc1 $t9, $f6 +/* 07F3FC 7F04A8CC 07210004 */ bgez $t9, .L7F04A8E0 +/* 07F400 7F04A8D0 46803120 */ cvt.s.w $f4, $f6 +/* 07F404 7F04A8D4 44814000 */ mtc1 $at, $f8 +/* 07F408 7F04A8D8 00000000 */ nop +/* 07F40C 7F04A8DC 46082100 */ add.s $f4, $f4, $f8 +.L7F04A8E0: +/* 07F410 7F04A8E0 C612004C */ lwc1 $f18, 0x4c($s0) +/* 07F414 7F04A8E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F418 7F04A8E8 46189280 */ add.s $f10, $f18, $f24 +/* 07F41C 7F04A8EC 460A2182 */ mul.s $f6, $f4, $f10 +/* 07F420 7F04A8F0 00000000 */ nop +/* 07F424 7F04A8F4 46003202 */ mul.s $f8, $f6, $f0 +/* 07F428 7F04A8F8 4600448D */ trunc.w.s $f18, $f8 +/* 07F42C 7F04A8FC 440C9000 */ mfc1 $t4, $f18 +/* 07F430 7F04A900 00000000 */ nop +/* 07F434 7F04A904 A64C000A */ sh $t4, 0xa($s2) +/* 07F438 7F04A908 922A0004 */ lbu $t2, 4($s1) +/* 07F43C 7F04A90C 448A2000 */ mtc1 $t2, $f4 +/* 07F440 7F04A910 05410004 */ bgez $t2, .L7F04A924 +/* 07F444 7F04A914 468022A0 */ cvt.s.w $f10, $f4 +/* 07F448 7F04A918 44813000 */ mtc1 $at, $f6 +/* 07F44C 7F04A91C 00000000 */ nop +/* 07F450 7F04A920 46065280 */ add.s $f10, $f10, $f6 +.L7F04A924: +/* 07F454 7F04A924 C6080038 */ lwc1 $f8, 0x38($s0) +/* 07F458 7F04A928 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F45C 7F04A92C 460E4481 */ sub.s $f18, $f8, $f14 +/* 07F460 7F04A930 46125102 */ mul.s $f4, $f10, $f18 +/* 07F464 7F04A934 00000000 */ nop +/* 07F468 7F04A938 46002182 */ mul.s $f6, $f4, $f0 +/* 07F46C 7F04A93C 4600320D */ trunc.w.s $f8, $f6 +/* 07F470 7F04A940 440D4000 */ mfc1 $t5, $f8 +/* 07F474 7F04A944 00000000 */ nop +/* 07F478 7F04A948 A64D0018 */ sh $t5, 0x18($s2) +/* 07F47C 7F04A94C 922F0005 */ lbu $t7, 5($s1) +/* 07F480 7F04A950 448F5000 */ mtc1 $t7, $f10 +/* 07F484 7F04A954 05E10004 */ bgez $t7, .L7F04A968 +/* 07F488 7F04A958 468054A0 */ cvt.s.w $f18, $f10 +/* 07F48C 7F04A95C 44812000 */ mtc1 $at, $f4 +/* 07F490 7F04A960 00000000 */ nop +/* 07F494 7F04A964 46049480 */ add.s $f18, $f18, $f4 +.L7F04A968: +/* 07F498 7F04A968 C606004C */ lwc1 $f6, 0x4c($s0) +/* 07F49C 7F04A96C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F4A0 7F04A970 46103200 */ add.s $f8, $f6, $f16 +/* 07F4A4 7F04A974 46089282 */ mul.s $f10, $f18, $f8 +/* 07F4A8 7F04A978 00000000 */ nop +/* 07F4AC 7F04A97C 46005102 */ mul.s $f4, $f10, $f0 +/* 07F4B0 7F04A980 4600218D */ trunc.w.s $f6, $f4 +/* 07F4B4 7F04A984 44183000 */ mfc1 $t8, $f6 +/* 07F4B8 7F04A988 00000000 */ nop +/* 07F4BC 7F04A98C A658001A */ sh $t8, 0x1a($s2) +/* 07F4C0 7F04A990 92280004 */ lbu $t0, 4($s1) +/* 07F4C4 7F04A994 44889000 */ mtc1 $t0, $f18 +/* 07F4C8 7F04A998 05010004 */ bgez $t0, .L7F04A9AC +/* 07F4CC 7F04A99C 46809220 */ cvt.s.w $f8, $f18 +/* 07F4D0 7F04A9A0 44815000 */ mtc1 $at, $f10 +/* 07F4D4 7F04A9A4 00000000 */ nop +/* 07F4D8 7F04A9A8 460A4200 */ add.s $f8, $f8, $f10 +.L7F04A9AC: +/* 07F4DC 7F04A9AC C6040038 */ lwc1 $f4, 0x38($s0) +/* 07F4E0 7F04A9B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F4E4 7F04A9B4 46162181 */ sub.s $f6, $f4, $f22 +/* 07F4E8 7F04A9B8 46064482 */ mul.s $f18, $f8, $f6 +/* 07F4EC 7F04A9BC 00000000 */ nop +/* 07F4F0 7F04A9C0 46009282 */ mul.s $f10, $f18, $f0 +/* 07F4F4 7F04A9C4 4600510D */ trunc.w.s $f4, $f10 +/* 07F4F8 7F04A9C8 44092000 */ mfc1 $t1, $f4 +/* 07F4FC 7F04A9CC 00000000 */ nop +/* 07F500 7F04A9D0 A6490028 */ sh $t1, 0x28($s2) +/* 07F504 7F04A9D4 922C0005 */ lbu $t4, 5($s1) +/* 07F508 7F04A9D8 448C4000 */ mtc1 $t4, $f8 +/* 07F50C 7F04A9DC 05810004 */ bgez $t4, .L7F04A9F0 +/* 07F510 7F04A9E0 468041A0 */ cvt.s.w $f6, $f8 +/* 07F514 7F04A9E4 44819000 */ mtc1 $at, $f18 +/* 07F518 7F04A9E8 00000000 */ nop +/* 07F51C 7F04A9EC 46123180 */ add.s $f6, $f6, $f18 +.L7F04A9F0: +/* 07F520 7F04A9F0 C60A004C */ lwc1 $f10, 0x4c($s0) +/* 07F524 7F04A9F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F528 7F04A9F8 46185101 */ sub.s $f4, $f10, $f24 +/* 07F52C 7F04A9FC 46043202 */ mul.s $f8, $f6, $f4 +/* 07F530 7F04AA00 00000000 */ nop +/* 07F534 7F04AA04 46004482 */ mul.s $f18, $f8, $f0 +/* 07F538 7F04AA08 4600928D */ trunc.w.s $f10, $f18 +/* 07F53C 7F04AA0C 440B5000 */ mfc1 $t3, $f10 +/* 07F540 7F04AA10 00000000 */ nop +/* 07F544 7F04AA14 A64B002A */ sh $t3, 0x2a($s2) +/* 07F548 7F04AA18 922D0004 */ lbu $t5, 4($s1) +/* 07F54C 7F04AA1C 448D3000 */ mtc1 $t5, $f6 +/* 07F550 7F04AA20 05A10004 */ bgez $t5, .L7F04AA34 +/* 07F554 7F04AA24 46803120 */ cvt.s.w $f4, $f6 +/* 07F558 7F04AA28 44814000 */ mtc1 $at, $f8 +/* 07F55C 7F04AA2C 00000000 */ nop +/* 07F560 7F04AA30 46082100 */ add.s $f4, $f4, $f8 +.L7F04AA34: +/* 07F564 7F04AA34 C6120038 */ lwc1 $f18, 0x38($s0) +/* 07F568 7F04AA38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F56C 7F04AA3C 460E9280 */ add.s $f10, $f18, $f14 +/* 07F570 7F04AA40 460A2182 */ mul.s $f6, $f4, $f10 +/* 07F574 7F04AA44 00000000 */ nop +/* 07F578 7F04AA48 46003202 */ mul.s $f8, $f6, $f0 +/* 07F57C 7F04AA4C 4600448D */ trunc.w.s $f18, $f8 +/* 07F580 7F04AA50 440E9000 */ mfc1 $t6, $f18 +/* 07F584 7F04AA54 00000000 */ nop +/* 07F588 7F04AA58 A64E0038 */ sh $t6, 0x38($s2) +/* 07F58C 7F04AA5C 92380005 */ lbu $t8, 5($s1) +/* 07F590 7F04AA60 44982000 */ mtc1 $t8, $f4 +/* 07F594 7F04AA64 07010004 */ bgez $t8, .L7F04AA78 +/* 07F598 7F04AA68 468022A0 */ cvt.s.w $f10, $f4 +/* 07F59C 7F04AA6C 44813000 */ mtc1 $at, $f6 +/* 07F5A0 7F04AA70 00000000 */ nop +/* 07F5A4 7F04AA74 46065280 */ add.s $f10, $f10, $f6 +.L7F04AA78: +/* 07F5A8 7F04AA78 C608004C */ lwc1 $f8, 0x4c($s0) +/* 07F5AC 7F04AA7C 46104481 */ sub.s $f18, $f8, $f16 +/* 07F5B0 7F04AA80 46125102 */ mul.s $f4, $f10, $f18 +/* 07F5B4 7F04AA84 00000000 */ nop +/* 07F5B8 7F04AA88 46002182 */ mul.s $f6, $f4, $f0 +/* 07F5BC 7F04AA8C 4600320D */ trunc.w.s $f8, $f6 +/* 07F5C0 7F04AA90 44194000 */ mfc1 $t9, $f8 +/* 07F5C4 7F04AA94 00000000 */ nop +/* 07F5C8 7F04AA98 A659003A */ sh $t9, 0x3a($s2) +.L7F04AA9C: +/* 07F5CC 7F04AA9C 92020060 */ lbu $v0, 0x60($s0) +/* 07F5D0 7F04AAA0 240C0002 */ li $t4, 2 +/* 07F5D4 7F04AAA4 3C0DB700 */ lui $t5, 0xb700 +/* 07F5D8 7F04AAA8 A242003C */ sb $v0, 0x3c($s2) +/* 07F5DC 7F04AAAC A242002C */ sb $v0, 0x2c($s2) +/* 07F5E0 7F04AAB0 A242001C */ sb $v0, 0x1c($s2) +/* 07F5E4 7F04AAB4 A242000C */ sb $v0, 0xc($s2) +/* 07F5E8 7F04AAB8 92020063 */ lbu $v0, 0x63($s0) +/* 07F5EC 7F04AABC 240F2000 */ li $t7, 8192 +/* 07F5F0 7F04AAC0 27A400BC */ addiu $a0, $sp, 0xbc +/* 07F5F4 7F04AAC4 A242003D */ sb $v0, 0x3d($s2) +/* 07F5F8 7F04AAC8 A242002D */ sb $v0, 0x2d($s2) +/* 07F5FC 7F04AACC A242001D */ sb $v0, 0x1d($s2) +/* 07F600 7F04AAD0 A242000D */ sb $v0, 0xd($s2) +/* 07F604 7F04AAD4 92030066 */ lbu $v1, 0x66($s0) +/* 07F608 7F04AAD8 A243003E */ sb $v1, 0x3e($s2) +/* 07F60C 7F04AADC A243002E */ sb $v1, 0x2e($s2) +/* 07F610 7F04AAE0 A243001E */ sb $v1, 0x1e($s2) +/* 07F614 7F04AAE4 A243000E */ sb $v1, 0xe($s2) +/* 07F618 7F04AAE8 92020069 */ lbu $v0, 0x69($s0) +/* 07F61C 7F04AAEC A242003F */ sb $v0, 0x3f($s2) +/* 07F620 7F04AAF0 A242002F */ sb $v0, 0x2f($s2) +/* 07F624 7F04AAF4 A242001F */ sb $v0, 0x1f($s2) +/* 07F628 7F04AAF8 A242000F */ sb $v0, 0xf($s2) +/* 07F62C 7F04AAFC 92090069 */ lbu $t1, 0x69($s0) +/* 07F630 7F04AB00 292100FF */ slti $at, $t1, 0xff +/* 07F634 7F04AB04 50200003 */ beql $at, $zero, .L7F04AB14 +/* 07F638 7F04AB08 8FAA00BC */ lw $t2, 0xbc($sp) +/* 07F63C 7F04AB0C AFAC00C4 */ sw $t4, 0xc4($sp) +/* 07F640 7F04AB10 8FAA00BC */ lw $t2, 0xbc($sp) +.L7F04AB14: +/* 07F644 7F04AB14 240E0002 */ li $t6, 2 +/* 07F648 7F04AB18 02202825 */ move $a1, $s1 +/* 07F64C 7F04AB1C 254B0008 */ addiu $t3, $t2, 8 +/* 07F650 7F04AB20 AFAB00BC */ sw $t3, 0xbc($sp) +/* 07F654 7F04AB24 AD4F0004 */ sw $t7, 4($t2) +/* 07F658 7F04AB28 AD4D0000 */ sw $t5, ($t2) +/* 07F65C 7F04AB2C AFAE0010 */ sw $t6, 0x10($sp) +/* 07F660 7F04AB30 8FA700C0 */ lw $a3, 0xc0($sp) +/* 07F664 7F04AB34 0FC1DB5A */ jal likely_generate_DL_for_image_declaration +/* 07F668 7F04AB38 8FA600C4 */ lw $a2, 0xc4($sp) +/* 07F66C 7F04AB3C 8FB000BC */ lw $s0, 0xbc($sp) +/* 07F670 7F04AB40 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102 +/* 07F674 7F04AB44 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40 +/* 07F678 7F04AB48 26080008 */ addiu $t0, $s0, 8 +/* 07F67C 7F04AB4C AFA800BC */ sw $t0, 0xbc($sp) +/* 07F680 7F04AB50 AE190000 */ sw $t9, ($s0) +/* 07F684 7F04AB54 8FA900B0 */ lw $t1, 0xb0($sp) +/* 07F688 7F04AB58 0C003A2C */ jal osVirtualToPhysical +/* 07F68C 7F04AB5C 8D24000C */ lw $a0, 0xc($t1) +/* 07F690 7F04AB60 AE020004 */ sw $v0, 4($s0) +/* 07F694 7F04AB64 8FB100BC */ lw $s1, 0xbc($sp) +/* 07F698 7F04AB68 3C0BBC00 */ lui $t3, (0xBC001006 >> 16) # lui $t3, 0xbc00 +/* 07F69C 7F04AB6C 356B1006 */ ori $t3, (0xBC001006 & 0xFFFF) # ori $t3, $t3, 0x1006 +/* 07F6A0 7F04AB70 262A0008 */ addiu $t2, $s1, 8 +/* 07F6A4 7F04AB74 AFAA00BC */ sw $t2, 0xbc($sp) +/* 07F6A8 7F04AB78 02402025 */ move $a0, $s2 +/* 07F6AC 7F04AB7C 0C003A2C */ jal osVirtualToPhysical +/* 07F6B0 7F04AB80 AE2B0000 */ sw $t3, ($s1) +/* 07F6B4 7F04AB84 AE220004 */ sw $v0, 4($s1) +/* 07F6B8 7F04AB88 8FAD00BC */ lw $t5, 0xbc($sp) +/* 07F6BC 7F04AB8C 3C0E0430 */ lui $t6, (0x04300040 >> 16) # lui $t6, 0x430 +/* 07F6C0 7F04AB90 35CE0040 */ ori $t6, (0x04300040 & 0xFFFF) # ori $t6, $t6, 0x40 +/* 07F6C4 7F04AB94 25AF0008 */ addiu $t7, $t5, 8 +/* 07F6C8 7F04AB98 AFAF00BC */ sw $t7, 0xbc($sp) +/* 07F6CC 7F04AB9C 3C180400 */ lui $t8, 0x400 +/* 07F6D0 7F04ABA0 ADB80004 */ sw $t8, 4($t5) +/* 07F6D4 7F04ABA4 ADAE0000 */ sw $t6, ($t5) +/* 07F6D8 7F04ABA8 8FA800BC */ lw $t0, 0xbc($sp) +/* 07F6DC 7F04ABAC 3C09B100 */ lui $t1, (0xB1000032 >> 16) # lui $t1, 0xb100 +/* 07F6E0 7F04ABB0 35290032 */ ori $t1, (0xB1000032 & 0xFFFF) # ori $t1, $t1, 0x32 +/* 07F6E4 7F04ABB4 25190008 */ addiu $t9, $t0, 8 +/* 07F6E8 7F04ABB8 AFB900BC */ sw $t9, 0xbc($sp) +/* 07F6EC 7F04ABBC 240C2010 */ li $t4, 8208 +/* 07F6F0 7F04ABC0 AD0C0004 */ sw $t4, 4($t0) +/* 07F6F4 7F04ABC4 AD090000 */ sw $t1, ($t0) +/* 07F6F8 7F04ABC8 8FAA00BC */ lw $t2, 0xbc($sp) +/* 07F6FC 7F04ABCC 3C0DB800 */ lui $t5, 0xb800 +/* 07F700 7F04ABD0 3C0F0601 */ lui $t7, 0x601 +/* 07F704 7F04ABD4 254B0008 */ addiu $t3, $t2, 8 +/* 07F708 7F04ABD8 AFAB00BC */ sw $t3, 0xbc($sp) +/* 07F70C 7F04ABDC AD400004 */ sw $zero, 4($t2) +/* 07F710 7F04ABE0 AD4D0000 */ sw $t5, ($t2) +/* 07F714 7F04ABE4 8FA600A8 */ lw $a2, 0xa8($sp) +/* 07F718 7F04ABE8 ACCF0000 */ sw $t7, ($a2) +/* 07F71C 7F04ABEC 8FAE00BC */ lw $t6, 0xbc($sp) +/* 07F720 7F04ABF0 ACCE0004 */ sw $t6, 4($a2) +.L7F04ABF4: +/* 07F724 7F04ABF4 8FBF004C */ lw $ra, 0x4c($sp) +.L7F04ABF8: +/* 07F728 7F04ABF8 8FA200BC */ lw $v0, 0xbc($sp) +/* 07F72C 7F04ABFC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 07F730 7F04AC00 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 07F734 7F04AC04 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 07F738 7F04AC08 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 07F73C 7F04AC0C 8FB00040 */ lw $s0, 0x40($sp) +/* 07F740 7F04AC10 8FB10044 */ lw $s1, 0x44($sp) +/* 07F744 7F04AC14 8FB20048 */ lw $s2, 0x48($sp) +/* 07F748 7F04AC18 03E00008 */ jr $ra +/* 07F74C 7F04AC1C 27BD00B0 */ addiu $sp, $sp, 0xb0 +) +#endif +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata +glabel D_80052C68 +.word 0x40c90fdb /*6.2831855*/ +/*D:80052C6C*/ +glabel jpt_80052C6C +.word command00_reset_scroll_shift +.word command01_horizontal_scroll +.word command02_vertical_scroll +.word command03_horizontal_pos +.word command04_vertical_pos +.word command05_zoomx +.word command06_zoomy +.word command07_use_image_from_global_monitor_table +.word command08_halt_processing_for_time +.word command09_jump +.word command0A_jump_conditional +.word command0B_restart +.word command0C_break +.word command0D_colour_transition +.word command0E_set_rotation +.word command0F_rotate + +glabel D_80052CAC +.word 0x3fc90fdb /*1.5707964*/ +glabel D_80052CB0 +.word 0x3fb50481 /*1.4141999*/ +glabel D_80052CB4 +.word 0x3f59999a /*0.85000002*/ +glabel D_80052CB8 +.word 0x3e19999a /*0.15000001*/ +glabel D_80052CBC +.word 0x3e19999a /*0.15000001*/ +glabel D_80052CC0 +.word 0x3f666666 /*0.89999998*/ +.text +glabel process_monitor_animation_microcode +/* 07EA78 7F049F48 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 07EA7C 7F049F4C AFB10044 */ sw $s1, 0x44($sp) +/* 07EA80 7F049F50 AFB00040 */ sw $s0, 0x40($sp) +/* 07EA84 7F049F54 00C08025 */ move $s0, $a2 +/* 07EA88 7F049F58 00A08825 */ move $s1, $a1 +/* 07EA8C 7F049F5C AFBF004C */ sw $ra, 0x4c($sp) +/* 07EA90 7F049F60 AFB20048 */ sw $s2, 0x48($sp) +/* 07EA94 7F049F64 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 07EA98 7F049F68 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 07EA9C 7F049F6C F7B60028 */ sdc1 $f22, 0x28($sp) +/* 07EAA0 7F049F70 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 07EAA4 7F049F74 AFA400B0 */ sw $a0, 0xb0($sp) +/* 07EAA8 7F049F78 10A0031E */ beqz $a1, .L7F04ABF4 +/* 07EAAC 7F049F7C AFA700BC */ sw $a3, 0xbc($sp) +/* 07EAB0 7F049F80 94AE0000 */ lhu $t6, ($a1) +/* 07EAB4 7F049F84 24010018 */ li $at, 24 +/* 07EAB8 7F049F88 31CF00FF */ andi $t7, $t6, 0xff +/* 07EABC 7F049F8C 55E1031A */ bnel $t7, $at, .L7F04ABF8 +/* 07EAC0 7F049F90 8FBF004C */ lw $ra, 0x4c($sp) +/* 07EAC4 7F049F94 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 +/* 07EAC8 7F049F98 24040004 */ li $a0, 4 +/* 07EACC 7F049F9C 8FB800BC */ lw $t8, 0xbc($sp) +/* 07EAD0 7F049FA0 00409025 */ move $s2, $v0 +/* 07EAD4 7F049FA4 8FA400B0 */ lw $a0, 0xb0($sp) +/* 07EAD8 7F049FA8 27190008 */ addiu $t9, $t8, 8 +/* 07EADC 7F049FAC AFB900BC */ sw $t9, 0xbc($sp) +/* 07EAE0 7F049FB0 AFB800A8 */ sw $t8, 0xa8($sp) +/* 07EAE4 7F049FB4 8E280004 */ lw $t0, 4($s1) +/* 07EAE8 7F049FB8 02202825 */ move $a1, $s1 +/* 07EAEC 7F049FBC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 07EAF0 7F049FC0 AFA800A4 */ sw $t0, 0xa4($sp) +/* 07EAF4 7F049FC4 3C018005 */ lui $at, %hi(D_80052C68) +/* 07EAF8 7F049FC8 C43A2C68 */ lwc1 $f26, %lo(D_80052C68)($at) +/* 07EAFC 7F049FCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07EB00 7F049FD0 4481C000 */ mtc1 $at, $f24 +/* 07EB04 7F049FD4 3C013A80 */ li $at, 0x3A800000 # 0.000977 +/* 07EB08 7F049FD8 4481B000 */ mtc1 $at, $f22 +/* 07EB0C 7F049FDC 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EB10 7F049FE0 44811000 */ mtc1 $at, $f2 +/* 07EB14 7F049FE4 4480A000 */ mtc1 $zero, $f20 +/* 07EB18 7F049FE8 AFA200A0 */ sw $v0, 0xa0($sp) +/* 07EB1C 7F049FEC 00008825 */ move $s1, $zero +/* 07EB20 7F049FF0 96020004 */ lhu $v0, 4($s0) +.L7F049FF4: +/* 07EB24 7F049FF4 8E090000 */ lw $t1, ($s0) +/* 07EB28 7F049FF8 00025080 */ sll $t2, $v0, 2 +/* 07EB2C 7F049FFC 012A1821 */ addu $v1, $t1, $t2 +/* 07EB30 7F04A000 8C6B0000 */ lw $t3, ($v1) +/* 07EB34 7F04A004 2D610010 */ sltiu $at, $t3, 0x10 +/* 07EB38 7F04A008 10200117 */ beqz $at, .L7F04A468 +/* 07EB3C 7F04A00C 000B5880 */ sll $t3, $t3, 2 +/* 07EB40 7F04A010 3C018005 */ lui $at, %hi(jpt_80052C6C) +/* 07EB44 7F04A014 002B0821 */ addu $at, $at, $t3 +/* 07EB48 7F04A018 8C2B2C6C */ lw $t3, %lo(jpt_80052C6C)($at) +/* 07EB4C 7F04A01C 01600008 */ jr $t3 +/* 07EB50 7F04A020 00000000 */ nop +command00_reset_scroll_shift: +/* 07EB54 7F04A024 244C0001 */ addiu $t4, $v0, 1 +/* 07EB58 7F04A028 E6140040 */ swc1 $f20, 0x40($s0) +/* 07EB5C 7F04A02C E6140054 */ swc1 $f20, 0x54($s0) +/* 07EB60 7F04A030 1000010D */ b .L7F04A468 +/* 07EB64 7F04A034 A60C0004 */ sh $t4, 4($s0) +command01_horizontal_scroll: +/* 07EB68 7F04A038 E614003C */ swc1 $f20, 0x3c($s0) +/* 07EB6C 7F04A03C 8C6D0008 */ lw $t5, 8($v1) +/* 07EB70 7F04A040 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EB74 7F04A044 448D2000 */ mtc1 $t5, $f4 +/* 07EB78 7F04A048 05A10004 */ bgez $t5, .L7F04A05C +/* 07EB7C 7F04A04C 468021A0 */ cvt.s.w $f6, $f4 +/* 07EB80 7F04A050 44814000 */ mtc1 $at, $f8 +/* 07EB84 7F04A054 00000000 */ nop +/* 07EB88 7F04A058 46083180 */ add.s $f6, $f6, $f8 +.L7F04A05C: +/* 07EB8C 7F04A05C 4606C283 */ div.s $f10, $f24, $f6 +/* 07EB90 7F04A060 C6000038 */ lwc1 $f0, 0x38($s0) +/* 07EB94 7F04A064 244F0003 */ addiu $t7, $v0, 3 +/* 07EB98 7F04A068 E6000044 */ swc1 $f0, 0x44($s0) +/* 07EB9C 7F04A06C E60A0040 */ swc1 $f10, 0x40($s0) +/* 07EBA0 7F04A070 8C6E0004 */ lw $t6, 4($v1) +/* 07EBA4 7F04A074 A60F0004 */ sh $t7, 4($s0) +/* 07EBA8 7F04A078 448E9000 */ mtc1 $t6, $f18 +/* 07EBAC 7F04A07C 00000000 */ nop +/* 07EBB0 7F04A080 46809120 */ cvt.s.w $f4, $f18 +/* 07EBB4 7F04A084 46162202 */ mul.s $f8, $f4, $f22 +/* 07EBB8 7F04A088 46080180 */ add.s $f6, $f0, $f8 +/* 07EBBC 7F04A08C 100000F6 */ b .L7F04A468 +/* 07EBC0 7F04A090 E6060048 */ swc1 $f6, 0x48($s0) +command02_vertical_scroll: +/* 07EBC4 7F04A094 E6140050 */ swc1 $f20, 0x50($s0) +/* 07EBC8 7F04A098 8C780008 */ lw $t8, 8($v1) +/* 07EBCC 7F04A09C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EBD0 7F04A0A0 44985000 */ mtc1 $t8, $f10 +/* 07EBD4 7F04A0A4 07010004 */ bgez $t8, .L7F04A0B8 +/* 07EBD8 7F04A0A8 468054A0 */ cvt.s.w $f18, $f10 +/* 07EBDC 7F04A0AC 44812000 */ mtc1 $at, $f4 +/* 07EBE0 7F04A0B0 00000000 */ nop +/* 07EBE4 7F04A0B4 46049480 */ add.s $f18, $f18, $f4 +.L7F04A0B8: +/* 07EBE8 7F04A0B8 4612C203 */ div.s $f8, $f24, $f18 +/* 07EBEC 7F04A0BC C600004C */ lwc1 $f0, 0x4c($s0) +/* 07EBF0 7F04A0C0 24480003 */ addiu $t0, $v0, 3 +/* 07EBF4 7F04A0C4 E6000058 */ swc1 $f0, 0x58($s0) +/* 07EBF8 7F04A0C8 E6080054 */ swc1 $f8, 0x54($s0) +/* 07EBFC 7F04A0CC 8C790004 */ lw $t9, 4($v1) +/* 07EC00 7F04A0D0 A6080004 */ sh $t0, 4($s0) +/* 07EC04 7F04A0D4 44993000 */ mtc1 $t9, $f6 +/* 07EC08 7F04A0D8 00000000 */ nop +/* 07EC0C 7F04A0DC 468032A0 */ cvt.s.w $f10, $f6 +/* 07EC10 7F04A0E0 46165102 */ mul.s $f4, $f10, $f22 +/* 07EC14 7F04A0E4 46040480 */ add.s $f18, $f0, $f4 +/* 07EC18 7F04A0E8 100000DF */ b .L7F04A468 +/* 07EC1C 7F04A0EC E612005C */ swc1 $f18, 0x5c($s0) +command03_horizontal_pos: +/* 07EC20 7F04A0F0 E614003C */ swc1 $f20, 0x3c($s0) +/* 07EC24 7F04A0F4 8C690008 */ lw $t1, 8($v1) +/* 07EC28 7F04A0F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EC2C 7F04A0FC 44894000 */ mtc1 $t1, $f8 +/* 07EC30 7F04A100 05210004 */ bgez $t1, .L7F04A114 +/* 07EC34 7F04A104 468041A0 */ cvt.s.w $f6, $f8 +/* 07EC38 7F04A108 44815000 */ mtc1 $at, $f10 +/* 07EC3C 7F04A10C 00000000 */ nop +/* 07EC40 7F04A110 460A3180 */ add.s $f6, $f6, $f10 +.L7F04A114: +/* 07EC44 7F04A114 4606C103 */ div.s $f4, $f24, $f6 +/* 07EC48 7F04A118 C6120038 */ lwc1 $f18, 0x38($s0) +/* 07EC4C 7F04A11C 244B0003 */ addiu $t3, $v0, 3 +/* 07EC50 7F04A120 E6120044 */ swc1 $f18, 0x44($s0) +/* 07EC54 7F04A124 E6040040 */ swc1 $f4, 0x40($s0) +/* 07EC58 7F04A128 8C6A0004 */ lw $t2, 4($v1) +/* 07EC5C 7F04A12C A60B0004 */ sh $t3, 4($s0) +/* 07EC60 7F04A130 448A4000 */ mtc1 $t2, $f8 +/* 07EC64 7F04A134 00000000 */ nop +/* 07EC68 7F04A138 468042A0 */ cvt.s.w $f10, $f8 +/* 07EC6C 7F04A13C 46165182 */ mul.s $f6, $f10, $f22 +/* 07EC70 7F04A140 100000C9 */ b .L7F04A468 +/* 07EC74 7F04A144 E6060048 */ swc1 $f6, 0x48($s0) +command04_vertical_pos: +/* 07EC78 7F04A148 E6140050 */ swc1 $f20, 0x50($s0) +/* 07EC7C 7F04A14C 8C6C0008 */ lw $t4, 8($v1) +/* 07EC80 7F04A150 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EC84 7F04A154 448C2000 */ mtc1 $t4, $f4 +/* 07EC88 7F04A158 05810004 */ bgez $t4, .L7F04A16C +/* 07EC8C 7F04A15C 468024A0 */ cvt.s.w $f18, $f4 +/* 07EC90 7F04A160 44814000 */ mtc1 $at, $f8 +/* 07EC94 7F04A164 00000000 */ nop +/* 07EC98 7F04A168 46089480 */ add.s $f18, $f18, $f8 +.L7F04A16C: +/* 07EC9C 7F04A16C 4612C283 */ div.s $f10, $f24, $f18 +/* 07ECA0 7F04A170 C606004C */ lwc1 $f6, 0x4c($s0) +/* 07ECA4 7F04A174 244E0003 */ addiu $t6, $v0, 3 +/* 07ECA8 7F04A178 E6060058 */ swc1 $f6, 0x58($s0) +/* 07ECAC 7F04A17C E60A0054 */ swc1 $f10, 0x54($s0) +/* 07ECB0 7F04A180 8C6D0004 */ lw $t5, 4($v1) +/* 07ECB4 7F04A184 A60E0004 */ sh $t6, 4($s0) +/* 07ECB8 7F04A188 448D2000 */ mtc1 $t5, $f4 +/* 07ECBC 7F04A18C 00000000 */ nop +/* 07ECC0 7F04A190 46802220 */ cvt.s.w $f8, $f4 +/* 07ECC4 7F04A194 46164482 */ mul.s $f18, $f8, $f22 +/* 07ECC8 7F04A198 100000B3 */ b .L7F04A468 +/* 07ECCC 7F04A19C E612005C */ swc1 $f18, 0x5c($s0) +command05_zoomx: +/* 07ECD0 7F04A1A0 E6140014 */ swc1 $f20, 0x14($s0) +/* 07ECD4 7F04A1A4 8C6F0008 */ lw $t7, 8($v1) +/* 07ECD8 7F04A1A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07ECDC 7F04A1AC 448F5000 */ mtc1 $t7, $f10 +/* 07ECE0 7F04A1B0 05E10004 */ bgez $t7, .L7F04A1C4 +/* 07ECE4 7F04A1B4 468051A0 */ cvt.s.w $f6, $f10 +/* 07ECE8 7F04A1B8 44812000 */ mtc1 $at, $f4 +/* 07ECEC 7F04A1BC 00000000 */ nop +/* 07ECF0 7F04A1C0 46043180 */ add.s $f6, $f6, $f4 +.L7F04A1C4: +/* 07ECF4 7F04A1C4 4606C203 */ div.s $f8, $f24, $f6 +/* 07ECF8 7F04A1C8 C6120010 */ lwc1 $f18, 0x10($s0) +/* 07ECFC 7F04A1CC 24590003 */ addiu $t9, $v0, 3 +/* 07ED00 7F04A1D0 E612001C */ swc1 $f18, 0x1c($s0) +/* 07ED04 7F04A1D4 E6080018 */ swc1 $f8, 0x18($s0) +/* 07ED08 7F04A1D8 8C780004 */ lw $t8, 4($v1) +/* 07ED0C 7F04A1DC A6190004 */ sh $t9, 4($s0) +/* 07ED10 7F04A1E0 44985000 */ mtc1 $t8, $f10 +/* 07ED14 7F04A1E4 00000000 */ nop +/* 07ED18 7F04A1E8 46805120 */ cvt.s.w $f4, $f10 +/* 07ED1C 7F04A1EC 46162182 */ mul.s $f6, $f4, $f22 +/* 07ED20 7F04A1F0 1000009D */ b .L7F04A468 +/* 07ED24 7F04A1F4 E6060020 */ swc1 $f6, 0x20($s0) +command06_zoomy: +/* 07ED28 7F04A1F8 E6140028 */ swc1 $f20, 0x28($s0) +/* 07ED2C 7F04A1FC 8C680008 */ lw $t0, 8($v1) +/* 07ED30 7F04A200 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07ED34 7F04A204 44884000 */ mtc1 $t0, $f8 +/* 07ED38 7F04A208 05010004 */ bgez $t0, .L7F04A21C +/* 07ED3C 7F04A20C 468044A0 */ cvt.s.w $f18, $f8 +/* 07ED40 7F04A210 44815000 */ mtc1 $at, $f10 +/* 07ED44 7F04A214 00000000 */ nop +/* 07ED48 7F04A218 460A9480 */ add.s $f18, $f18, $f10 +.L7F04A21C: +/* 07ED4C 7F04A21C 4612C103 */ div.s $f4, $f24, $f18 +/* 07ED50 7F04A220 C6060024 */ lwc1 $f6, 0x24($s0) +/* 07ED54 7F04A224 244A0003 */ addiu $t2, $v0, 3 +/* 07ED58 7F04A228 E6060030 */ swc1 $f6, 0x30($s0) +/* 07ED5C 7F04A22C E604002C */ swc1 $f4, 0x2c($s0) +/* 07ED60 7F04A230 8C690004 */ lw $t1, 4($v1) +/* 07ED64 7F04A234 A60A0004 */ sh $t2, 4($s0) +/* 07ED68 7F04A238 44894000 */ mtc1 $t1, $f8 +/* 07ED6C 7F04A23C 00000000 */ nop +/* 07ED70 7F04A240 468042A0 */ cvt.s.w $f10, $f8 +/* 07ED74 7F04A244 46165482 */ mul.s $f18, $f10, $f22 +/* 07ED78 7F04A248 10000087 */ b .L7F04A468 +/* 07ED7C 7F04A24C E6120034 */ swc1 $f18, 0x34($s0) +command07_use_image_from_global_monitor_table: +/* 07ED80 7F04A250 02002025 */ move $a0, $s0 +/* 07ED84 7F04A254 0FC127D0 */ jal save_img_index_to_obj_ani_slot +/* 07ED88 7F04A258 8C650004 */ lw $a1, 4($v1) +/* 07ED8C 7F04A25C 960B0004 */ lhu $t3, 4($s0) +/* 07ED90 7F04A260 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07ED94 7F04A264 44811000 */ mtc1 $at, $f2 +/* 07ED98 7F04A268 256C0002 */ addiu $t4, $t3, 2 +/* 07ED9C 7F04A26C 1000007E */ b .L7F04A468 +/* 07EDA0 7F04A270 A60C0004 */ sh $t4, 4($s0) +command08_halt_processing_for_time: +/* 07EDA4 7F04A274 86020006 */ lh $v0, 6($s0) +/* 07EDA8 7F04A278 3C0D8005 */ lui $t5, %hi(clock_timer) +/* 07EDAC 7F04A27C 0442000E */ bltzl $v0, .L7F04A2B8 +/* 07EDB0 7F04A280 8C680004 */ lw $t0, 4($v1) +/* 07EDB4 7F04A284 8DAD8374 */ lw $t5, %lo(clock_timer)($t5) +/* 07EDB8 7F04A288 004D7023 */ subu $t6, $v0, $t5 +/* 07EDBC 7F04A28C A60E0006 */ sh $t6, 6($s0) +/* 07EDC0 7F04A290 860F0006 */ lh $t7, 6($s0) +/* 07EDC4 7F04A294 05E20004 */ bltzl $t7, .L7F04A2A8 +/* 07EDC8 7F04A298 96180004 */ lhu $t8, 4($s0) +/* 07EDCC 7F04A29C 10000072 */ b .L7F04A468 +/* 07EDD0 7F04A2A0 24110001 */ li $s1, 1 +/* 07EDD4 7F04A2A4 96180004 */ lhu $t8, 4($s0) +.L7F04A2A8: +/* 07EDD8 7F04A2A8 27190002 */ addiu $t9, $t8, 2 +/* 07EDDC 7F04A2AC 1000006E */ b .L7F04A468 +/* 07EDE0 7F04A2B0 A6190004 */ sh $t9, 4($s0) +/* 07EDE4 7F04A2B4 8C680004 */ lw $t0, 4($v1) +.L7F04A2B8: +/* 07EDE8 7F04A2B8 24110001 */ li $s1, 1 +/* 07EDEC 7F04A2BC 1000006A */ b .L7F04A468 +/* 07EDF0 7F04A2C0 A6080006 */ sh $t0, 6($s0) +command09_jump: +/* 07EDF4 7F04A2C4 02002025 */ move $a0, $s0 +/* 07EDF8 7F04A2C8 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07EDFC 7F04A2CC 8C650004 */ lw $a1, 4($v1) +/* 07EE00 7F04A2D0 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE04 7F04A2D4 44811000 */ mtc1 $at, $f2 +/* 07EE08 7F04A2D8 10000063 */ b .L7F04A468 +/* 07EE0C 7F04A2DC 00000000 */ nop +command0A_jump_conditional: +/* 07EE10 7F04A2E0 0C002914 */ jal get_random_value +/* 07EE14 7F04A2E4 AFA30094 */ sw $v1, 0x94($sp) +/* 07EE18 7F04A2E8 8FA30094 */ lw $v1, 0x94($sp) +/* 07EE1C 7F04A2EC 00024C02 */ srl $t1, $v0, 0x10 +/* 07EE20 7F04A2F0 02002025 */ move $a0, $s0 +/* 07EE24 7F04A2F4 8C6A0008 */ lw $t2, 8($v1) +/* 07EE28 7F04A2F8 012A082B */ sltu $at, $t1, $t2 +/* 07EE2C 7F04A2FC 50200008 */ beql $at, $zero, .L7F04A320 +/* 07EE30 7F04A300 960B0004 */ lhu $t3, 4($s0) +/* 07EE34 7F04A304 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 07EE38 7F04A308 8C650004 */ lw $a1, 4($v1) +/* 07EE3C 7F04A30C 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE40 7F04A310 44811000 */ mtc1 $at, $f2 +/* 07EE44 7F04A314 10000054 */ b .L7F04A468 +/* 07EE48 7F04A318 00000000 */ nop +/* 07EE4C 7F04A31C 960B0004 */ lhu $t3, 4($s0) +.L7F04A320: +/* 07EE50 7F04A320 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 07EE54 7F04A324 44811000 */ mtc1 $at, $f2 +/* 07EE58 7F04A328 256C0003 */ addiu $t4, $t3, 3 +/* 07EE5C 7F04A32C A60C0004 */ sh $t4, 4($s0) +/* 07EE60 7F04A330 1000004D */ b .L7F04A468 +/* 07EE64 7F04A334 00000000 */ nop +command0B_restart: +/* 07EE68 7F04A338 1000004B */ b .L7F04A468 +/* 07EE6C 7F04A33C A6000004 */ sh $zero, 4($s0) +command0C_break: +/* 07EE70 7F04A340 10000049 */ b .L7F04A468 +/* 07EE74 7F04A344 24110001 */ li $s1, 1 +command0D_colour_transition: +/* 07EE78 7F04A348 E614006C */ swc1 $f20, 0x6c($s0) +/* 07EE7C 7F04A34C 8C6D0008 */ lw $t5, 8($v1) +/* 07EE80 7F04A350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07EE84 7F04A354 448D2000 */ mtc1 $t5, $f4 +/* 07EE88 7F04A358 05A10004 */ bgez $t5, .L7F04A36C +/* 07EE8C 7F04A35C 468021A0 */ cvt.s.w $f6, $f4 +/* 07EE90 7F04A360 44814000 */ mtc1 $at, $f8 +/* 07EE94 7F04A364 00000000 */ nop +/* 07EE98 7F04A368 46083180 */ add.s $f6, $f6, $f8 +.L7F04A36C: +/* 07EE9C 7F04A36C 4606C283 */ div.s $f10, $f24, $f6 +/* 07EEA0 7F04A370 920E0060 */ lbu $t6, 0x60($s0) +/* 07EEA4 7F04A374 92080063 */ lbu $t0, 0x63($s0) +/* 07EEA8 7F04A378 920C0066 */ lbu $t4, 0x66($s0) +/* 07EEAC 7F04A37C A20E0061 */ sb $t6, 0x61($s0) +/* 07EEB0 7F04A380 92180069 */ lbu $t8, 0x69($s0) +/* 07EEB4 7F04A384 E60A0070 */ swc1 $f10, 0x70($s0) +/* 07EEB8 7F04A388 8C6F0004 */ lw $t7, 4($v1) +/* 07EEBC 7F04A38C A2080064 */ sb $t0, 0x64($s0) +/* 07EEC0 7F04A390 000FCE02 */ srl $t9, $t7, 0x18 +/* 07EEC4 7F04A394 A2190062 */ sb $t9, 0x62($s0) +/* 07EEC8 7F04A398 8C690004 */ lw $t1, 4($v1) +/* 07EECC 7F04A39C A20C0067 */ sb $t4, 0x67($s0) +/* 07EED0 7F04A3A0 00095C02 */ srl $t3, $t1, 0x10 +/* 07EED4 7F04A3A4 A20B0065 */ sb $t3, 0x65($s0) +/* 07EED8 7F04A3A8 8C6D0004 */ lw $t5, 4($v1) +/* 07EEDC 7F04A3AC A218006A */ sb $t8, 0x6a($s0) +/* 07EEE0 7F04A3B0 24490003 */ addiu $t1, $v0, 3 +/* 07EEE4 7F04A3B4 000D7A02 */ srl $t7, $t5, 8 +/* 07EEE8 7F04A3B8 A20F0068 */ sb $t7, 0x68($s0) +/* 07EEEC 7F04A3BC 8C680004 */ lw $t0, 4($v1) +/* 07EEF0 7F04A3C0 A6090004 */ sh $t1, 4($s0) +/* 07EEF4 7F04A3C4 10000028 */ b .L7F04A468 +/* 07EEF8 7F04A3C8 A208006B */ sb $t0, 0x6b($s0) +command0E_set_rotation: +/* 07EEFC 7F04A3CC 8C6A0004 */ lw $t2, 4($v1) +/* 07EF00 7F04A3D0 244B0002 */ addiu $t3, $v0, 2 +/* 07EF04 7F04A3D4 A60B0004 */ sh $t3, 4($s0) +/* 07EF08 7F04A3D8 448A9000 */ mtc1 $t2, $f18 +/* 07EF0C 7F04A3DC 00000000 */ nop +/* 07EF10 7F04A3E0 46809120 */ cvt.s.w $f4, $f18 +/* 07EF14 7F04A3E4 461A2202 */ mul.s $f8, $f4, $f26 +/* 07EF18 7F04A3E8 46024183 */ div.s $f6, $f8, $f2 +/* 07EF1C 7F04A3EC 1000001E */ b .L7F04A468 +/* 07EF20 7F04A3F0 E606000C */ swc1 $f6, 0xc($s0) +command0F_rotate: +/* 07EF24 7F04A3F4 8C6C0004 */ lw $t4, 4($v1) +/* 07EF28 7F04A3F8 3C018005 */ lui $at, %hi(jp_global_timer_delta) +/* 07EF2C 7F04A3FC C42A8378 */ lwc1 $f10, %lo(jp_global_timer_delta)($at) +/* 07EF30 7F04A400 448C9000 */ mtc1 $t4, $f18 +/* 07EF34 7F04A404 00000000 */ nop +/* 07EF38 7F04A408 46809120 */ cvt.s.w $f4, $f18 +/* 07EF3C 7F04A40C 46045202 */ mul.s $f8, $f10, $f4 +/* 07EF40 7F04A410 C60A000C */ lwc1 $f10, 0xc($s0) +/* 07EF44 7F04A414 461A4182 */ mul.s $f6, $f8, $f26 +/* 07EF48 7F04A418 46023483 */ div.s $f18, $f6, $f2 +/* 07EF4C 7F04A41C 46125100 */ add.s $f4, $f10, $f18 +/* 07EF50 7F04A420 E604000C */ swc1 $f4, 0xc($s0) +/* 07EF54 7F04A424 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07EF58 7F04A428 460CD03E */ c.le.s $f26, $f12 +/* 07EF5C 7F04A42C 00000000 */ nop +/* 07EF60 7F04A430 45020005 */ bc1fl .L7F04A448 +/* 07EF64 7F04A434 4614603C */ c.lt.s $f12, $f20 +/* 07EF68 7F04A438 461A6201 */ sub.s $f8, $f12, $f26 +/* 07EF6C 7F04A43C E608000C */ swc1 $f8, 0xc($s0) +/* 07EF70 7F04A440 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07EF74 7F04A444 4614603C */ c.lt.s $f12, $f20 +.L7F04A448: +/* 07EF78 7F04A448 00000000 */ nop +/* 07EF7C 7F04A44C 45020004 */ bc1fl .L7F04A460 +/* 07EF80 7F04A450 960D0004 */ lhu $t5, 4($s0) +/* 07EF84 7F04A454 461A6180 */ add.s $f6, $f12, $f26 +/* 07EF88 7F04A458 E606000C */ swc1 $f6, 0xc($s0) +/* 07EF8C 7F04A45C 960D0004 */ lhu $t5, 4($s0) +.L7F04A460: +/* 07EF90 7F04A460 25AE0002 */ addiu $t6, $t5, 2 +/* 07EF94 7F04A464 A60E0004 */ sh $t6, 4($s0) +def_7F04A01C: +.L7F04A468: +/* 07EF98 7F04A468 5220FEE2 */ beql $s1, $zero, .L7F049FF4 +/* 07EF9C 7F04A46C 96020004 */ lhu $v0, 4($s0) +/* 07EFA0 7F04A470 C6000018 */ lwc1 $f0, 0x18($s0) +/* 07EFA4 7F04A474 4600A03C */ c.lt.s $f20, $f0 +/* 07EFA8 7F04A478 00000000 */ nop +/* 07EFAC 7F04A47C 45000017 */ bc1f .L7F04A4DC +/* 07EFB0 7F04A480 3C028005 */ lui $v0, %hi(jp_global_timer_delta) +/* 07EFB4 7F04A484 24428378 */ addiu $v0, %lo(jp_global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07EFB8 7F04A488 C4520000 */ lwc1 $f18, ($v0) +/* 07EFBC 7F04A48C C60A0014 */ lwc1 $f10, 0x14($s0) +/* 07EFC0 7F04A490 46120102 */ mul.s $f4, $f0, $f18 +/* 07EFC4 7F04A494 46045200 */ add.s $f8, $f10, $f4 +/* 07EFC8 7F04A498 E6080014 */ swc1 $f8, 0x14($s0) +/* 07EFCC 7F04A49C C6020014 */ lwc1 $f2, 0x14($s0) +/* 07EFD0 7F04A4A0 4618103C */ c.lt.s $f2, $f24 +/* 07EFD4 7F04A4A4 00000000 */ nop +/* 07EFD8 7F04A4A8 45020009 */ bc1fl .L7F04A4D0 +/* 07EFDC 7F04A4AC C6080020 */ lwc1 $f8, 0x20($s0) +/* 07EFE0 7F04A4B0 C600001C */ lwc1 $f0, 0x1c($s0) +/* 07EFE4 7F04A4B4 C6060020 */ lwc1 $f6, 0x20($s0) +/* 07EFE8 7F04A4B8 46003481 */ sub.s $f18, $f6, $f0 +/* 07EFEC 7F04A4BC 46029282 */ mul.s $f10, $f18, $f2 +/* 07EFF0 7F04A4C0 460A0100 */ add.s $f4, $f0, $f10 +/* 07EFF4 7F04A4C4 10000005 */ b .L7F04A4DC +/* 07EFF8 7F04A4C8 E6040010 */ swc1 $f4, 0x10($s0) +/* 07EFFC 7F04A4CC C6080020 */ lwc1 $f8, 0x20($s0) +.L7F04A4D0: +/* 07F000 7F04A4D0 E6180014 */ swc1 $f24, 0x14($s0) +/* 07F004 7F04A4D4 E6140018 */ swc1 $f20, 0x18($s0) +/* 07F008 7F04A4D8 E6080010 */ swc1 $f8, 0x10($s0) +.L7F04A4DC: +/* 07F00C 7F04A4DC C600002C */ lwc1 $f0, 0x2c($s0) +/* 07F010 7F04A4E0 3C028005 */ lui $v0, %hi(jp_global_timer_delta) +/* 07F014 7F04A4E4 24428378 */ addiu $v0, %lo(jp_global_timer_delta) # addiu $v0, $v0, -0x7c88 +/* 07F018 7F04A4E8 4600A03C */ c.lt.s $f20, $f0 +/* 07F01C 7F04A4EC 00000000 */ nop +/* 07F020 7F04A4F0 45020017 */ bc1fl .L7F04A550 +/* 07F024 7F04A4F4 C6000040 */ lwc1 $f0, 0x40($s0) +/* 07F028 7F04A4F8 C4520000 */ lwc1 $f18, ($v0) +/* 07F02C 7F04A4FC C6060028 */ lwc1 $f6, 0x28($s0) +/* 07F030 7F04A500 46120282 */ mul.s $f10, $f0, $f18 +/* 07F034 7F04A504 460A3100 */ add.s $f4, $f6, $f10 +/* 07F038 7F04A508 E6040028 */ swc1 $f4, 0x28($s0) +/* 07F03C 7F04A50C C6020028 */ lwc1 $f2, 0x28($s0) +/* 07F040 7F04A510 4618103C */ c.lt.s $f2, $f24 +/* 07F044 7F04A514 00000000 */ nop +/* 07F048 7F04A518 45020009 */ bc1fl .L7F04A540 +/* 07F04C 7F04A51C C6040034 */ lwc1 $f4, 0x34($s0) +/* 07F050 7F04A520 C6000030 */ lwc1 $f0, 0x30($s0) +/* 07F054 7F04A524 C6080034 */ lwc1 $f8, 0x34($s0) +/* 07F058 7F04A528 46004481 */ sub.s $f18, $f8, $f0 +/* 07F05C 7F04A52C 46029182 */ mul.s $f6, $f18, $f2 +/* 07F060 7F04A530 46060280 */ add.s $f10, $f0, $f6 +/* 07F064 7F04A534 10000005 */ b .L7F04A54C +/* 07F068 7F04A538 E60A0024 */ swc1 $f10, 0x24($s0) +/* 07F06C 7F04A53C C6040034 */ lwc1 $f4, 0x34($s0) +.L7F04A540: +/* 07F070 7F04A540 E6180028 */ swc1 $f24, 0x28($s0) +/* 07F074 7F04A544 E614002C */ swc1 $f20, 0x2c($s0) +/* 07F078 7F04A548 E6040024 */ swc1 $f4, 0x24($s0) +.L7F04A54C: +/* 07F07C 7F04A54C C6000040 */ lwc1 $f0, 0x40($s0) +.L7F04A550: +/* 07F080 7F04A550 4600A03C */ c.lt.s $f20, $f0 +/* 07F084 7F04A554 00000000 */ nop +/* 07F088 7F04A558 45020017 */ bc1fl .L7F04A5B8 +/* 07F08C 7F04A55C C6000054 */ lwc1 $f0, 0x54($s0) +/* 07F090 7F04A560 C4520000 */ lwc1 $f18, ($v0) +/* 07F094 7F04A564 C608003C */ lwc1 $f8, 0x3c($s0) +/* 07F098 7F04A568 46120182 */ mul.s $f6, $f0, $f18 +/* 07F09C 7F04A56C 46064280 */ add.s $f10, $f8, $f6 +/* 07F0A0 7F04A570 E60A003C */ swc1 $f10, 0x3c($s0) +/* 07F0A4 7F04A574 C602003C */ lwc1 $f2, 0x3c($s0) +/* 07F0A8 7F04A578 4618103C */ c.lt.s $f2, $f24 +/* 07F0AC 7F04A57C 00000000 */ nop +/* 07F0B0 7F04A580 45020009 */ bc1fl .L7F04A5A8 +/* 07F0B4 7F04A584 C60A0048 */ lwc1 $f10, 0x48($s0) +/* 07F0B8 7F04A588 C6000044 */ lwc1 $f0, 0x44($s0) +/* 07F0BC 7F04A58C C6040048 */ lwc1 $f4, 0x48($s0) +/* 07F0C0 7F04A590 46002481 */ sub.s $f18, $f4, $f0 +/* 07F0C4 7F04A594 46029202 */ mul.s $f8, $f18, $f2 +/* 07F0C8 7F04A598 46080180 */ add.s $f6, $f0, $f8 +/* 07F0CC 7F04A59C 10000005 */ b .L7F04A5B4 +/* 07F0D0 7F04A5A0 E6060038 */ swc1 $f6, 0x38($s0) +/* 07F0D4 7F04A5A4 C60A0048 */ lwc1 $f10, 0x48($s0) +.L7F04A5A8: +/* 07F0D8 7F04A5A8 E618003C */ swc1 $f24, 0x3c($s0) +/* 07F0DC 7F04A5AC E6140040 */ swc1 $f20, 0x40($s0) +/* 07F0E0 7F04A5B0 E60A0038 */ swc1 $f10, 0x38($s0) +.L7F04A5B4: +/* 07F0E4 7F04A5B4 C6000054 */ lwc1 $f0, 0x54($s0) +.L7F04A5B8: +/* 07F0E8 7F04A5B8 4600A03C */ c.lt.s $f20, $f0 +/* 07F0EC 7F04A5BC 00000000 */ nop +/* 07F0F0 7F04A5C0 45020017 */ bc1fl .L7F04A620 +/* 07F0F4 7F04A5C4 C6020070 */ lwc1 $f2, 0x70($s0) +/* 07F0F8 7F04A5C8 C4520000 */ lwc1 $f18, ($v0) +/* 07F0FC 7F04A5CC C6040050 */ lwc1 $f4, 0x50($s0) +/* 07F100 7F04A5D0 46120202 */ mul.s $f8, $f0, $f18 +/* 07F104 7F04A5D4 46082180 */ add.s $f6, $f4, $f8 +/* 07F108 7F04A5D8 E6060050 */ swc1 $f6, 0x50($s0) +/* 07F10C 7F04A5DC C6020050 */ lwc1 $f2, 0x50($s0) +/* 07F110 7F04A5E0 4618103C */ c.lt.s $f2, $f24 +/* 07F114 7F04A5E4 00000000 */ nop +/* 07F118 7F04A5E8 45020009 */ bc1fl .L7F04A610 +/* 07F11C 7F04A5EC C606005C */ lwc1 $f6, 0x5c($s0) +/* 07F120 7F04A5F0 C6000058 */ lwc1 $f0, 0x58($s0) +/* 07F124 7F04A5F4 C60A005C */ lwc1 $f10, 0x5c($s0) +/* 07F128 7F04A5F8 46005481 */ sub.s $f18, $f10, $f0 +/* 07F12C 7F04A5FC 46029102 */ mul.s $f4, $f18, $f2 +/* 07F130 7F04A600 46040200 */ add.s $f8, $f0, $f4 +/* 07F134 7F04A604 10000005 */ b .L7F04A61C +/* 07F138 7F04A608 E608004C */ swc1 $f8, 0x4c($s0) +/* 07F13C 7F04A60C C606005C */ lwc1 $f6, 0x5c($s0) +.L7F04A610: +/* 07F140 7F04A610 E6180050 */ swc1 $f24, 0x50($s0) +/* 07F144 7F04A614 E6140054 */ swc1 $f20, 0x54($s0) +/* 07F148 7F04A618 E606004C */ swc1 $f6, 0x4c($s0) +.L7F04A61C: +/* 07F14C 7F04A61C C6020070 */ lwc1 $f2, 0x70($s0) +.L7F04A620: +/* 07F150 7F04A620 4602A03C */ c.lt.s $f20, $f2 +/* 07F154 7F04A624 00000000 */ nop +/* 07F158 7F04A628 4502003F */ bc1fl .L7F04A728 +/* 07F15C 7F04A62C 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 07F160 7F04A630 C4520000 */ lwc1 $f18, ($v0) +/* 07F164 7F04A634 C60A006C */ lwc1 $f10, 0x6c($s0) +/* 07F168 7F04A638 46121102 */ mul.s $f4, $f2, $f18 +/* 07F16C 7F04A63C 46045200 */ add.s $f8, $f10, $f4 +/* 07F170 7F04A640 E608006C */ swc1 $f8, 0x6c($s0) +/* 07F174 7F04A644 C600006C */ lwc1 $f0, 0x6c($s0) +/* 07F178 7F04A648 4618003C */ c.lt.s $f0, $f24 +/* 07F17C 7F04A64C 00000000 */ nop +/* 07F180 7F04A650 4502002B */ bc1fl .L7F04A700 +/* 07F184 7F04A654 920F0062 */ lbu $t7, 0x62($s0) +/* 07F188 7F04A658 92020061 */ lbu $v0, 0x61($s0) +/* 07F18C 7F04A65C 920F0062 */ lbu $t7, 0x62($s0) +/* 07F190 7F04A660 92030064 */ lbu $v1, 0x64($s0) +/* 07F194 7F04A664 920A0065 */ lbu $t2, 0x65($s0) +/* 07F198 7F04A668 01E2C023 */ subu $t8, $t7, $v0 +/* 07F19C 7F04A66C 44983000 */ mtc1 $t8, $f6 +/* 07F1A0 7F04A670 01435823 */ subu $t3, $t2, $v1 +/* 07F1A4 7F04A674 448B4000 */ mtc1 $t3, $f8 +/* 07F1A8 7F04A678 468034A0 */ cvt.s.w $f18, $f6 +/* 07F1AC 7F04A67C 920F0068 */ lbu $t7, 0x68($s0) +/* 07F1B0 7F04A680 92040067 */ lbu $a0, 0x67($s0) +/* 07F1B4 7F04A684 920A006B */ lbu $t2, 0x6b($s0) +/* 07F1B8 7F04A688 9205006A */ lbu $a1, 0x6a($s0) +/* 07F1BC 7F04A68C 468041A0 */ cvt.s.w $f6, $f8 +/* 07F1C0 7F04A690 46009282 */ mul.s $f10, $f18, $f0 +/* 07F1C4 7F04A694 01E4C023 */ subu $t8, $t7, $a0 +/* 07F1C8 7F04A698 01455823 */ subu $t3, $t2, $a1 +/* 07F1CC 7F04A69C 46003482 */ mul.s $f18, $f6, $f0 +/* 07F1D0 7F04A6A0 4600510D */ trunc.w.s $f4, $f10 +/* 07F1D4 7F04A6A4 4600928D */ trunc.w.s $f10, $f18 +/* 07F1D8 7F04A6A8 44082000 */ mfc1 $t0, $f4 +/* 07F1DC 7F04A6AC 44982000 */ mtc1 $t8, $f4 +/* 07F1E0 7F04A6B0 440D5000 */ mfc1 $t5, $f10 +/* 07F1E4 7F04A6B4 46802220 */ cvt.s.w $f8, $f4 +/* 07F1E8 7F04A6B8 448B5000 */ mtc1 $t3, $f10 +/* 07F1EC 7F04A6BC 00484821 */ addu $t1, $v0, $t0 +/* 07F1F0 7F04A6C0 006D7021 */ addu $t6, $v1, $t5 +/* 07F1F4 7F04A6C4 A2090060 */ sb $t1, 0x60($s0) +/* 07F1F8 7F04A6C8 46805120 */ cvt.s.w $f4, $f10 +/* 07F1FC 7F04A6CC 46004182 */ mul.s $f6, $f8, $f0 +/* 07F200 7F04A6D0 A20E0063 */ sb $t6, 0x63($s0) +/* 07F204 7F04A6D4 46002202 */ mul.s $f8, $f4, $f0 +/* 07F208 7F04A6D8 4600348D */ trunc.w.s $f18, $f6 +/* 07F20C 7F04A6DC 4600418D */ trunc.w.s $f6, $f8 +/* 07F210 7F04A6E0 44089000 */ mfc1 $t0, $f18 +/* 07F214 7F04A6E4 440D3000 */ mfc1 $t5, $f6 +/* 07F218 7F04A6E8 00884821 */ addu $t1, $a0, $t0 +/* 07F21C 7F04A6EC A2090066 */ sb $t1, 0x66($s0) +/* 07F220 7F04A6F0 00AD7021 */ addu $t6, $a1, $t5 +/* 07F224 7F04A6F4 1000000B */ b .L7F04A724 +/* 07F228 7F04A6F8 A20E0069 */ sb $t6, 0x69($s0) +/* 07F22C 7F04A6FC 920F0062 */ lbu $t7, 0x62($s0) +.L7F04A700: +/* 07F230 7F04A700 92180065 */ lbu $t8, 0x65($s0) +/* 07F234 7F04A704 92190068 */ lbu $t9, 0x68($s0) +/* 07F238 7F04A708 9208006B */ lbu $t0, 0x6b($s0) +/* 07F23C 7F04A70C E618006C */ swc1 $f24, 0x6c($s0) +/* 07F240 7F04A710 E6140070 */ swc1 $f20, 0x70($s0) +/* 07F244 7F04A714 A20F0060 */ sb $t7, 0x60($s0) +/* 07F248 7F04A718 A2180063 */ sb $t8, 0x63($s0) +/* 07F24C 7F04A71C A2190066 */ sb $t9, 0x66($s0) +/* 07F250 7F04A720 A2080069 */ sb $t0, 0x69($s0) +.L7F04A724: +/* 07F254 7F04A724 8FAA00A0 */ lw $t2, 0xa0($sp) +.L7F04A728: +/* 07F258 7F04A728 8FA300A4 */ lw $v1, 0xa4($sp) +/* 07F25C 7F04A72C 8FA900BC */ lw $t1, 0xbc($sp) +/* 07F260 7F04A730 AD520000 */ sw $s2, ($t2) +/* 07F264 7F04A734 3C0F8009 */ lui $t7, %hi(monitorimages) +/* 07F268 7F04A738 AD490004 */ sw $t1, 4($t2) +/* 07F26C 7F04A73C 8C6B0008 */ lw $t3, 8($v1) +/* 07F270 7F04A740 8D610000 */ lw $at, ($t3) +/* 07F274 7F04A744 AE410000 */ sw $at, ($s2) +/* 07F278 7F04A748 8D6D0004 */ lw $t5, 4($t3) +/* 07F27C 7F04A74C AE4D0004 */ sw $t5, 4($s2) +/* 07F280 7F04A750 8D610008 */ lw $at, 8($t3) +/* 07F284 7F04A754 AE410008 */ sw $at, 8($s2) +/* 07F288 7F04A758 8D6D000C */ lw $t5, 0xc($t3) +/* 07F28C 7F04A75C AE4D000C */ sw $t5, 0xc($s2) +/* 07F290 7F04A760 8C6E0008 */ lw $t6, 8($v1) +/* 07F294 7F04A764 8DC10010 */ lw $at, 0x10($t6) +/* 07F298 7F04A768 AE410010 */ sw $at, 0x10($s2) +/* 07F29C 7F04A76C 8DD80014 */ lw $t8, 0x14($t6) +/* 07F2A0 7F04A770 AE580014 */ sw $t8, 0x14($s2) +/* 07F2A4 7F04A774 8DC10018 */ lw $at, 0x18($t6) +/* 07F2A8 7F04A778 AE410018 */ sw $at, 0x18($s2) +/* 07F2AC 7F04A77C 8DD8001C */ lw $t8, 0x1c($t6) +/* 07F2B0 7F04A780 AE58001C */ sw $t8, 0x1c($s2) +/* 07F2B4 7F04A784 8C790008 */ lw $t9, 8($v1) +/* 07F2B8 7F04A788 8F210020 */ lw $at, 0x20($t9) +/* 07F2BC 7F04A78C AE410020 */ sw $at, 0x20($s2) +/* 07F2C0 7F04A790 8F290024 */ lw $t1, 0x24($t9) +/* 07F2C4 7F04A794 AE490024 */ sw $t1, 0x24($s2) +/* 07F2C8 7F04A798 8F210028 */ lw $at, 0x28($t9) +/* 07F2CC 7F04A79C AE410028 */ sw $at, 0x28($s2) +/* 07F2D0 7F04A7A0 8F29002C */ lw $t1, 0x2c($t9) +/* 07F2D4 7F04A7A4 AE49002C */ sw $t1, 0x2c($s2) +/* 07F2D8 7F04A7A8 8C6A0008 */ lw $t2, 8($v1) +/* 07F2DC 7F04A7AC 8D410030 */ lw $at, 0x30($t2) +/* 07F2E0 7F04A7B0 AE410030 */ sw $at, 0x30($s2) +/* 07F2E4 7F04A7B4 8D4B0034 */ lw $t3, 0x34($t2) +/* 07F2E8 7F04A7B8 AE4B0034 */ sw $t3, 0x34($s2) +/* 07F2EC 7F04A7BC 8D410038 */ lw $at, 0x38($t2) +/* 07F2F0 7F04A7C0 AE410038 */ sw $at, 0x38($s2) +/* 07F2F4 7F04A7C4 8D4B003C */ lw $t3, 0x3c($t2) +/* 07F2F8 7F04A7C8 AE4B003C */ sw $t3, 0x3c($s2) +/* 07F2FC 7F04A7CC 8E020008 */ lw $v0, 8($s0) +/* 07F300 7F04A7D0 2C410064 */ sltiu $at, $v0, 0x64 +/* 07F304 7F04A7D4 10200007 */ beqz $at, .L7F04A7F4 +/* 07F308 7F04A7D8 00408825 */ move $s1, $v0 +/* 07F30C 7F04A7DC 00026880 */ sll $t5, $v0, 2 +/* 07F310 7F04A7E0 8DEFD120 */ lw $t7, %lo(monitorimages)($t7) +/* 07F314 7F04A7E4 01A26823 */ subu $t5, $t5, $v0 +/* 07F318 7F04A7E8 000D6880 */ sll $t5, $t5, 2 +/* 07F31C 7F04A7EC 10000001 */ b .L7F04A7F4 +/* 07F320 7F04A7F0 01AF8821 */ addu $s1, $t5, $t7 +.L7F04A7F4: +/* 07F324 7F04A7F4 122000A9 */ beqz $s1, .L7F04AA9C +/* 07F328 7F04A7F8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07F32C 7F04A7FC 44810000 */ mtc1 $at, $f0 +/* 07F330 7F04A800 C6120010 */ lwc1 $f18, 0x10($s0) +/* 07F334 7F04A804 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 07F338 7F04A808 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07F33C 7F04A80C 46009582 */ mul.s $f22, $f18, $f0 +/* 07F340 7F04A810 460CA032 */ c.eq.s $f20, $f12 +/* 07F344 7F04A814 46005602 */ mul.s $f24, $f10, $f0 +/* 07F348 7F04A818 4600B386 */ mov.s $f14, $f22 +/* 07F34C 7F04A81C 45010015 */ bc1t .L7F04A874 +/* 07F350 7F04A820 4600C406 */ mov.s $f16, $f24 +/* 07F354 7F04A824 E7AE0054 */ swc1 $f14, 0x54($sp) +/* 07F358 7F04A828 0FC15FA8 */ jal cosf +/* 07F35C 7F04A82C E7B00050 */ swc1 $f16, 0x50($sp) +/* 07F360 7F04A830 3C018005 */ lui $at, %hi(D_80052CB0) +/* 07F364 7F04A834 C43A2CB0 */ lwc1 $f26, %lo(D_80052CB0)($at) +/* 07F368 7F04A838 C60C000C */ lwc1 $f12, 0xc($s0) +/* 07F36C 7F04A83C 461A0502 */ mul.s $f20, $f0, $f26 +/* 07F370 7F04A840 0FC15FAB */ jal sinf +/* 07F374 7F04A844 00000000 */ nop +/* 07F378 7F04A848 4614B582 */ mul.s $f22, $f22, $f20 +/* 07F37C 7F04A84C C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 07F380 7F04A850 C7B00050 */ lwc1 $f16, 0x50($sp) +/* 07F384 7F04A854 461A0082 */ mul.s $f2, $f0, $f26 +/* 07F388 7F04A858 00000000 */ nop +/* 07F38C 7F04A85C 4602C602 */ mul.s $f24, $f24, $f2 +/* 07F390 7F04A860 00000000 */ nop +/* 07F394 7F04A864 46027382 */ mul.s $f14, $f14, $f2 +/* 07F398 7F04A868 00000000 */ nop +/* 07F39C 7F04A86C 46148402 */ mul.s $f16, $f16, $f20 +/* 07F3A0 7F04A870 00000000 */ nop +.L7F04A874: +/* 07F3A4 7F04A874 922E0004 */ lbu $t6, 4($s1) +/* 07F3A8 7F04A878 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 07F3AC 7F04A87C 44810000 */ mtc1 $at, $f0 +/* 07F3B0 7F04A880 448E4000 */ mtc1 $t6, $f8 +/* 07F3B4 7F04A884 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F3B8 7F04A888 05C10004 */ bgez $t6, .L7F04A89C +/* 07F3BC 7F04A88C 468041A0 */ cvt.s.w $f6, $f8 +/* 07F3C0 7F04A890 44819000 */ mtc1 $at, $f18 +/* 07F3C4 7F04A894 00000000 */ nop +/* 07F3C8 7F04A898 46123180 */ add.s $f6, $f6, $f18 +.L7F04A89C: +/* 07F3CC 7F04A89C C60A0038 */ lwc1 $f10, 0x38($s0) +/* 07F3D0 7F04A8A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F3D4 7F04A8A4 46165100 */ add.s $f4, $f10, $f22 +/* 07F3D8 7F04A8A8 46043202 */ mul.s $f8, $f6, $f4 +/* 07F3DC 7F04A8AC 00000000 */ nop +/* 07F3E0 7F04A8B0 46004482 */ mul.s $f18, $f8, $f0 +/* 07F3E4 7F04A8B4 4600928D */ trunc.w.s $f10, $f18 +/* 07F3E8 7F04A8B8 44085000 */ mfc1 $t0, $f10 +/* 07F3EC 7F04A8BC 00000000 */ nop +/* 07F3F0 7F04A8C0 A6480008 */ sh $t0, 8($s2) +/* 07F3F4 7F04A8C4 92390005 */ lbu $t9, 5($s1) +/* 07F3F8 7F04A8C8 44993000 */ mtc1 $t9, $f6 +/* 07F3FC 7F04A8CC 07210004 */ bgez $t9, .L7F04A8E0 +/* 07F400 7F04A8D0 46803120 */ cvt.s.w $f4, $f6 +/* 07F404 7F04A8D4 44814000 */ mtc1 $at, $f8 +/* 07F408 7F04A8D8 00000000 */ nop +/* 07F40C 7F04A8DC 46082100 */ add.s $f4, $f4, $f8 +.L7F04A8E0: +/* 07F410 7F04A8E0 C612004C */ lwc1 $f18, 0x4c($s0) +/* 07F414 7F04A8E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F418 7F04A8E8 46189280 */ add.s $f10, $f18, $f24 +/* 07F41C 7F04A8EC 460A2182 */ mul.s $f6, $f4, $f10 +/* 07F420 7F04A8F0 00000000 */ nop +/* 07F424 7F04A8F4 46003202 */ mul.s $f8, $f6, $f0 +/* 07F428 7F04A8F8 4600448D */ trunc.w.s $f18, $f8 +/* 07F42C 7F04A8FC 440C9000 */ mfc1 $t4, $f18 +/* 07F430 7F04A900 00000000 */ nop +/* 07F434 7F04A904 A64C000A */ sh $t4, 0xa($s2) +/* 07F438 7F04A908 922A0004 */ lbu $t2, 4($s1) +/* 07F43C 7F04A90C 448A2000 */ mtc1 $t2, $f4 +/* 07F440 7F04A910 05410004 */ bgez $t2, .L7F04A924 +/* 07F444 7F04A914 468022A0 */ cvt.s.w $f10, $f4 +/* 07F448 7F04A918 44813000 */ mtc1 $at, $f6 +/* 07F44C 7F04A91C 00000000 */ nop +/* 07F450 7F04A920 46065280 */ add.s $f10, $f10, $f6 +.L7F04A924: +/* 07F454 7F04A924 C6080038 */ lwc1 $f8, 0x38($s0) +/* 07F458 7F04A928 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F45C 7F04A92C 460E4481 */ sub.s $f18, $f8, $f14 +/* 07F460 7F04A930 46125102 */ mul.s $f4, $f10, $f18 +/* 07F464 7F04A934 00000000 */ nop +/* 07F468 7F04A938 46002182 */ mul.s $f6, $f4, $f0 +/* 07F46C 7F04A93C 4600320D */ trunc.w.s $f8, $f6 +/* 07F470 7F04A940 440D4000 */ mfc1 $t5, $f8 +/* 07F474 7F04A944 00000000 */ nop +/* 07F478 7F04A948 A64D0018 */ sh $t5, 0x18($s2) +/* 07F47C 7F04A94C 922F0005 */ lbu $t7, 5($s1) +/* 07F480 7F04A950 448F5000 */ mtc1 $t7, $f10 +/* 07F484 7F04A954 05E10004 */ bgez $t7, .L7F04A968 +/* 07F488 7F04A958 468054A0 */ cvt.s.w $f18, $f10 +/* 07F48C 7F04A95C 44812000 */ mtc1 $at, $f4 +/* 07F490 7F04A960 00000000 */ nop +/* 07F494 7F04A964 46049480 */ add.s $f18, $f18, $f4 +.L7F04A968: +/* 07F498 7F04A968 C606004C */ lwc1 $f6, 0x4c($s0) +/* 07F49C 7F04A96C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F4A0 7F04A970 46103200 */ add.s $f8, $f6, $f16 +/* 07F4A4 7F04A974 46089282 */ mul.s $f10, $f18, $f8 +/* 07F4A8 7F04A978 00000000 */ nop +/* 07F4AC 7F04A97C 46005102 */ mul.s $f4, $f10, $f0 +/* 07F4B0 7F04A980 4600218D */ trunc.w.s $f6, $f4 +/* 07F4B4 7F04A984 44183000 */ mfc1 $t8, $f6 +/* 07F4B8 7F04A988 00000000 */ nop +/* 07F4BC 7F04A98C A658001A */ sh $t8, 0x1a($s2) +/* 07F4C0 7F04A990 92280004 */ lbu $t0, 4($s1) +/* 07F4C4 7F04A994 44889000 */ mtc1 $t0, $f18 +/* 07F4C8 7F04A998 05010004 */ bgez $t0, .L7F04A9AC +/* 07F4CC 7F04A99C 46809220 */ cvt.s.w $f8, $f18 +/* 07F4D0 7F04A9A0 44815000 */ mtc1 $at, $f10 +/* 07F4D4 7F04A9A4 00000000 */ nop +/* 07F4D8 7F04A9A8 460A4200 */ add.s $f8, $f8, $f10 +.L7F04A9AC: +/* 07F4DC 7F04A9AC C6040038 */ lwc1 $f4, 0x38($s0) +/* 07F4E0 7F04A9B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F4E4 7F04A9B4 46162181 */ sub.s $f6, $f4, $f22 +/* 07F4E8 7F04A9B8 46064482 */ mul.s $f18, $f8, $f6 +/* 07F4EC 7F04A9BC 00000000 */ nop +/* 07F4F0 7F04A9C0 46009282 */ mul.s $f10, $f18, $f0 +/* 07F4F4 7F04A9C4 4600510D */ trunc.w.s $f4, $f10 +/* 07F4F8 7F04A9C8 44092000 */ mfc1 $t1, $f4 +/* 07F4FC 7F04A9CC 00000000 */ nop +/* 07F500 7F04A9D0 A6490028 */ sh $t1, 0x28($s2) +/* 07F504 7F04A9D4 922C0005 */ lbu $t4, 5($s1) +/* 07F508 7F04A9D8 448C4000 */ mtc1 $t4, $f8 +/* 07F50C 7F04A9DC 05810004 */ bgez $t4, .L7F04A9F0 +/* 07F510 7F04A9E0 468041A0 */ cvt.s.w $f6, $f8 +/* 07F514 7F04A9E4 44819000 */ mtc1 $at, $f18 +/* 07F518 7F04A9E8 00000000 */ nop +/* 07F51C 7F04A9EC 46123180 */ add.s $f6, $f6, $f18 +.L7F04A9F0: +/* 07F520 7F04A9F0 C60A004C */ lwc1 $f10, 0x4c($s0) +/* 07F524 7F04A9F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F528 7F04A9F8 46185101 */ sub.s $f4, $f10, $f24 +/* 07F52C 7F04A9FC 46043202 */ mul.s $f8, $f6, $f4 +/* 07F530 7F04AA00 00000000 */ nop +/* 07F534 7F04AA04 46004482 */ mul.s $f18, $f8, $f0 +/* 07F538 7F04AA08 4600928D */ trunc.w.s $f10, $f18 +/* 07F53C 7F04AA0C 440B5000 */ mfc1 $t3, $f10 +/* 07F540 7F04AA10 00000000 */ nop +/* 07F544 7F04AA14 A64B002A */ sh $t3, 0x2a($s2) +/* 07F548 7F04AA18 922D0004 */ lbu $t5, 4($s1) +/* 07F54C 7F04AA1C 448D3000 */ mtc1 $t5, $f6 +/* 07F550 7F04AA20 05A10004 */ bgez $t5, .L7F04AA34 +/* 07F554 7F04AA24 46803120 */ cvt.s.w $f4, $f6 +/* 07F558 7F04AA28 44814000 */ mtc1 $at, $f8 +/* 07F55C 7F04AA2C 00000000 */ nop +/* 07F560 7F04AA30 46082100 */ add.s $f4, $f4, $f8 +.L7F04AA34: +/* 07F564 7F04AA34 C6120038 */ lwc1 $f18, 0x38($s0) +/* 07F568 7F04AA38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07F56C 7F04AA3C 460E9280 */ add.s $f10, $f18, $f14 +/* 07F570 7F04AA40 460A2182 */ mul.s $f6, $f4, $f10 +/* 07F574 7F04AA44 00000000 */ nop +/* 07F578 7F04AA48 46003202 */ mul.s $f8, $f6, $f0 +/* 07F57C 7F04AA4C 4600448D */ trunc.w.s $f18, $f8 +/* 07F580 7F04AA50 440E9000 */ mfc1 $t6, $f18 +/* 07F584 7F04AA54 00000000 */ nop +/* 07F588 7F04AA58 A64E0038 */ sh $t6, 0x38($s2) +/* 07F58C 7F04AA5C 92380005 */ lbu $t8, 5($s1) +/* 07F590 7F04AA60 44982000 */ mtc1 $t8, $f4 +/* 07F594 7F04AA64 07010004 */ bgez $t8, .L7F04AA78 +/* 07F598 7F04AA68 468022A0 */ cvt.s.w $f10, $f4 +/* 07F59C 7F04AA6C 44813000 */ mtc1 $at, $f6 +/* 07F5A0 7F04AA70 00000000 */ nop +/* 07F5A4 7F04AA74 46065280 */ add.s $f10, $f10, $f6 +.L7F04AA78: +/* 07F5A8 7F04AA78 C608004C */ lwc1 $f8, 0x4c($s0) +/* 07F5AC 7F04AA7C 46104481 */ sub.s $f18, $f8, $f16 +/* 07F5B0 7F04AA80 46125102 */ mul.s $f4, $f10, $f18 +/* 07F5B4 7F04AA84 00000000 */ nop +/* 07F5B8 7F04AA88 46002182 */ mul.s $f6, $f4, $f0 +/* 07F5BC 7F04AA8C 4600320D */ trunc.w.s $f8, $f6 +/* 07F5C0 7F04AA90 44194000 */ mfc1 $t9, $f8 +/* 07F5C4 7F04AA94 00000000 */ nop +/* 07F5C8 7F04AA98 A659003A */ sh $t9, 0x3a($s2) +.L7F04AA9C: +/* 07F5CC 7F04AA9C 92020060 */ lbu $v0, 0x60($s0) +/* 07F5D0 7F04AAA0 240C0002 */ li $t4, 2 +/* 07F5D4 7F04AAA4 3C0DB700 */ lui $t5, 0xb700 +/* 07F5D8 7F04AAA8 A242003C */ sb $v0, 0x3c($s2) +/* 07F5DC 7F04AAAC A242002C */ sb $v0, 0x2c($s2) +/* 07F5E0 7F04AAB0 A242001C */ sb $v0, 0x1c($s2) +/* 07F5E4 7F04AAB4 A242000C */ sb $v0, 0xc($s2) +/* 07F5E8 7F04AAB8 92020063 */ lbu $v0, 0x63($s0) +/* 07F5EC 7F04AABC 240F2000 */ li $t7, 8192 +/* 07F5F0 7F04AAC0 27A400BC */ addiu $a0, $sp, 0xbc +/* 07F5F4 7F04AAC4 A242003D */ sb $v0, 0x3d($s2) +/* 07F5F8 7F04AAC8 A242002D */ sb $v0, 0x2d($s2) +/* 07F5FC 7F04AACC A242001D */ sb $v0, 0x1d($s2) +/* 07F600 7F04AAD0 A242000D */ sb $v0, 0xd($s2) +/* 07F604 7F04AAD4 92030066 */ lbu $v1, 0x66($s0) +/* 07F608 7F04AAD8 A243003E */ sb $v1, 0x3e($s2) +/* 07F60C 7F04AADC A243002E */ sb $v1, 0x2e($s2) +/* 07F610 7F04AAE0 A243001E */ sb $v1, 0x1e($s2) +/* 07F614 7F04AAE4 A243000E */ sb $v1, 0xe($s2) +/* 07F618 7F04AAE8 92020069 */ lbu $v0, 0x69($s0) +/* 07F61C 7F04AAEC A242003F */ sb $v0, 0x3f($s2) +/* 07F620 7F04AAF0 A242002F */ sb $v0, 0x2f($s2) +/* 07F624 7F04AAF4 A242001F */ sb $v0, 0x1f($s2) +/* 07F628 7F04AAF8 A242000F */ sb $v0, 0xf($s2) +/* 07F62C 7F04AAFC 92090069 */ lbu $t1, 0x69($s0) +/* 07F630 7F04AB00 292100FF */ slti $at, $t1, 0xff +/* 07F634 7F04AB04 50200003 */ beql $at, $zero, .L7F04AB14 +/* 07F638 7F04AB08 8FAA00BC */ lw $t2, 0xbc($sp) +/* 07F63C 7F04AB0C AFAC00C4 */ sw $t4, 0xc4($sp) +/* 07F640 7F04AB10 8FAA00BC */ lw $t2, 0xbc($sp) +.L7F04AB14: +/* 07F644 7F04AB14 240E0002 */ li $t6, 2 +/* 07F648 7F04AB18 02202825 */ move $a1, $s1 +/* 07F64C 7F04AB1C 254B0008 */ addiu $t3, $t2, 8 +/* 07F650 7F04AB20 AFAB00BC */ sw $t3, 0xbc($sp) +/* 07F654 7F04AB24 AD4F0004 */ sw $t7, 4($t2) +/* 07F658 7F04AB28 AD4D0000 */ sw $t5, ($t2) +/* 07F65C 7F04AB2C AFAE0010 */ sw $t6, 0x10($sp) +/* 07F660 7F04AB30 8FA700C0 */ lw $a3, 0xc0($sp) +/* 07F664 7F04AB34 0FC1DB5A */ jal likely_generate_DL_for_image_declaration +/* 07F668 7F04AB38 8FA600C4 */ lw $a2, 0xc4($sp) +/* 07F66C 7F04AB3C 8FB000BC */ lw $s0, 0xbc($sp) +/* 07F670 7F04AB40 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102 +/* 07F674 7F04AB44 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40 +/* 07F678 7F04AB48 26080008 */ addiu $t0, $s0, 8 +/* 07F67C 7F04AB4C AFA800BC */ sw $t0, 0xbc($sp) +/* 07F680 7F04AB50 AE190000 */ sw $t9, ($s0) +/* 07F684 7F04AB54 8FA900B0 */ lw $t1, 0xb0($sp) +/* 07F688 7F04AB58 0C003A2C */ jal osVirtualToPhysical +/* 07F68C 7F04AB5C 8D24000C */ lw $a0, 0xc($t1) +/* 07F690 7F04AB60 AE020004 */ sw $v0, 4($s0) +/* 07F694 7F04AB64 8FB100BC */ lw $s1, 0xbc($sp) +/* 07F698 7F04AB68 3C0BBC00 */ lui $t3, (0xBC001006 >> 16) # lui $t3, 0xbc00 +/* 07F69C 7F04AB6C 356B1006 */ ori $t3, (0xBC001006 & 0xFFFF) # ori $t3, $t3, 0x1006 +/* 07F6A0 7F04AB70 262A0008 */ addiu $t2, $s1, 8 +/* 07F6A4 7F04AB74 AFAA00BC */ sw $t2, 0xbc($sp) +/* 07F6A8 7F04AB78 02402025 */ move $a0, $s2 +/* 07F6AC 7F04AB7C 0C003A2C */ jal osVirtualToPhysical +/* 07F6B0 7F04AB80 AE2B0000 */ sw $t3, ($s1) +/* 07F6B4 7F04AB84 AE220004 */ sw $v0, 4($s1) +/* 07F6B8 7F04AB88 8FAD00BC */ lw $t5, 0xbc($sp) +/* 07F6BC 7F04AB8C 3C0E0430 */ lui $t6, (0x04300040 >> 16) # lui $t6, 0x430 +/* 07F6C0 7F04AB90 35CE0040 */ ori $t6, (0x04300040 & 0xFFFF) # ori $t6, $t6, 0x40 +/* 07F6C4 7F04AB94 25AF0008 */ addiu $t7, $t5, 8 +/* 07F6C8 7F04AB98 AFAF00BC */ sw $t7, 0xbc($sp) +/* 07F6CC 7F04AB9C 3C180400 */ lui $t8, 0x400 +/* 07F6D0 7F04ABA0 ADB80004 */ sw $t8, 4($t5) +/* 07F6D4 7F04ABA4 ADAE0000 */ sw $t6, ($t5) +/* 07F6D8 7F04ABA8 8FA800BC */ lw $t0, 0xbc($sp) +/* 07F6DC 7F04ABAC 3C09B100 */ lui $t1, (0xB1000032 >> 16) # lui $t1, 0xb100 +/* 07F6E0 7F04ABB0 35290032 */ ori $t1, (0xB1000032 & 0xFFFF) # ori $t1, $t1, 0x32 +/* 07F6E4 7F04ABB4 25190008 */ addiu $t9, $t0, 8 +/* 07F6E8 7F04ABB8 AFB900BC */ sw $t9, 0xbc($sp) +/* 07F6EC 7F04ABBC 240C2010 */ li $t4, 8208 +/* 07F6F0 7F04ABC0 AD0C0004 */ sw $t4, 4($t0) +/* 07F6F4 7F04ABC4 AD090000 */ sw $t1, ($t0) +/* 07F6F8 7F04ABC8 8FAA00BC */ lw $t2, 0xbc($sp) +/* 07F6FC 7F04ABCC 3C0DB800 */ lui $t5, 0xb800 +/* 07F700 7F04ABD0 3C0F0601 */ lui $t7, 0x601 +/* 07F704 7F04ABD4 254B0008 */ addiu $t3, $t2, 8 +/* 07F708 7F04ABD8 AFAB00BC */ sw $t3, 0xbc($sp) +/* 07F70C 7F04ABDC AD400004 */ sw $zero, 4($t2) +/* 07F710 7F04ABE0 AD4D0000 */ sw $t5, ($t2) +/* 07F714 7F04ABE4 8FA600A8 */ lw $a2, 0xa8($sp) +/* 07F718 7F04ABE8 ACCF0000 */ sw $t7, ($a2) +/* 07F71C 7F04ABEC 8FAE00BC */ lw $t6, 0xbc($sp) +/* 07F720 7F04ABF0 ACCE0004 */ sw $t6, 4($a2) +.L7F04ABF4: +/* 07F724 7F04ABF4 8FBF004C */ lw $ra, 0x4c($sp) +.L7F04ABF8: +/* 07F728 7F04ABF8 8FA200BC */ lw $v0, 0xbc($sp) +/* 07F72C 7F04ABFC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 07F730 7F04AC00 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 07F734 7F04AC04 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 07F738 7F04AC08 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 07F73C 7F04AC0C 8FB00040 */ lw $s0, 0x40($sp) +/* 07F740 7F04AC10 8FB10044 */ lw $s1, 0x44($sp) +/* 07F744 7F04AC14 8FB20048 */ lw $s2, 0x48($sp) +/* 07F748 7F04AC18 03E00008 */ jr $ra +/* 07F74C 7F04AC1C 27BD00B0 */ addiu $sp, $sp, 0xb0 +) +#endif +#endif + + + + +#ifdef NONMATCHING +void sub_GAME_7F04AC20(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04AC20 +/* 07F750 7F04AC20 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 07F754 7F04AC24 AFBF0024 */ sw $ra, 0x24($sp) +/* 07F758 7F04AC28 AFB00020 */ sw $s0, 0x20($sp) +/* 07F75C 7F04AC2C AFA40078 */ sw $a0, 0x78($sp) +/* 07F760 7F04AC30 AFA60080 */ sw $a2, 0x80($sp) +/* 07F764 7F04AC34 908F0001 */ lbu $t7, 1($a0) +/* 07F768 7F04AC38 00A08025 */ move $s0, $a1 +/* 07F76C 7F04AC3C 31F80002 */ andi $t8, $t7, 2 +/* 07F770 7F04AC40 5300013F */ beql $t8, $zero, .L7F04B140 +/* 07F774 7F04AC44 8FBF0024 */ lw $ra, 0x24($sp) +/* 07F778 7F04AC48 8C990004 */ lw $t9, 4($a0) +/* 07F77C 7F04AC4C AFB90074 */ sw $t9, 0x74($sp) +/* 07F780 7F04AC50 8F280014 */ lw $t0, 0x14($t9) +/* 07F784 7F04AC54 AFA80070 */ sw $t0, 0x70($sp) +/* 07F788 7F04AC58 8F290008 */ lw $t1, 8($t9) +/* 07F78C 7F04AC5C 312A0200 */ andi $t2, $t1, 0x200 +/* 07F790 7F04AC60 000A582B */ sltu $t3, $zero, $t2 +/* 07F794 7F04AC64 11600005 */ beqz $t3, .L7F04AC7C +/* 07F798 7F04AC68 AFAB0028 */ sw $t3, 0x28($sp) +/* 07F79C 7F04AC6C 0FC1E0E5 */ jal get_BONDdata_field_10E0 +/* 07F7A0 7F04AC70 00000000 */ nop +/* 07F7A4 7F04AC74 0002602B */ sltu $t4, $zero, $v0 +/* 07F7A8 7F04AC78 AFAC0028 */ sw $t4, 0x28($sp) +.L7F04AC7C: +/* 07F7AC 7F04AC7C 8FAD0074 */ lw $t5, 0x74($sp) +/* 07F7B0 7F04AC80 2401000A */ li $at, 10 +/* 07F7B4 7F04AC84 8E07000C */ lw $a3, 0xc($s0) +/* 07F7B8 7F04AC88 91A30003 */ lbu $v1, 3($t5) +/* 07F7BC 7F04AC8C 54610022 */ bnel $v1, $at, .L7F04AD18 +/* 07F7C0 7F04AC90 2401000B */ li $at, 11 +/* 07F7C4 7F04AC94 8E0F0008 */ lw $t7, 8($s0) +/* 07F7C8 7F04AC98 8FA40070 */ lw $a0, 0x70($sp) +/* 07F7CC 7F04AC9C 31F80001 */ andi $t8, $t7, 1 +/* 07F7D0 7F04ACA0 53000075 */ beql $t8, $zero, .L7F04AE78 +/* 07F7D4 7F04ACA4 24010001 */ li $at, 1 +/* 07F7D8 7F04ACA8 8DA8000C */ lw $t0, 0xc($t5) +/* 07F7DC 7F04ACAC 8FAE0078 */ lw $t6, 0x78($sp) +/* 07F7E0 7F04ACB0 8FA90074 */ lw $t1, 0x74($sp) +/* 07F7E4 7F04ACB4 0008CBC0 */ sll $t9, $t0, 0xf +/* 07F7E8 7F04ACB8 07210003 */ bgez $t9, .L7F04ACC8 +/* 07F7EC 7F04ACBC 8DC20004 */ lw $v0, 4($t6) +/* 07F7F0 7F04ACC0 10000008 */ b .L7F04ACE4 +/* 07F7F4 7F04ACC4 00001825 */ move $v1, $zero +.L7F04ACC8: +/* 07F7F8 7F04ACC8 8D2A0008 */ lw $t2, 8($t1) +/* 07F7FC 7F04ACCC 24030001 */ li $v1, 1 +/* 07F800 7F04ACD0 000A58C0 */ sll $t3, $t2, 3 +/* 07F804 7F04ACD4 05610003 */ bgez $t3, .L7F04ACE4 +/* 07F808 7F04ACD8 00000000 */ nop +/* 07F80C 7F04ACDC 10000001 */ b .L7F04ACE4 +/* 07F810 7F04ACE0 24030008 */ li $v1, 8 +.L7F04ACE4: +/* 07F814 7F04ACE4 8C8F0008 */ lw $t7, 8($a0) +/* 07F818 7F04ACE8 240E0001 */ li $t6, 1 +/* 07F81C 7F04ACEC 24460080 */ addiu $a2, $v0, 0x80 +/* 07F820 7F04ACF0 8DF80008 */ lw $t8, 8($t7) +/* 07F824 7F04ACF4 8F050000 */ lw $a1, ($t8) +/* 07F828 7F04ACF8 AFAE0014 */ sw $t6, 0x14($sp) +/* 07F82C 7F04ACFC 0FC127D2 */ jal process_monitor_animation_microcode +/* 07F830 7F04AD00 AFA30010 */ sw $v1, 0x10($sp) +/* 07F834 7F04AD04 8FAD0074 */ lw $t5, 0x74($sp) +/* 07F838 7F04AD08 00403825 */ move $a3, $v0 +/* 07F83C 7F04AD0C 10000059 */ b .L7F04AE74 +/* 07F840 7F04AD10 91A30003 */ lbu $v1, 3($t5) +/* 07F844 7F04AD14 2401000B */ li $at, 11 +.L7F04AD18: +/* 07F848 7F04AD18 54610057 */ bnel $v1, $at, .L7F04AE78 +/* 07F84C 7F04AD1C 24010001 */ li $at, 1 +/* 07F850 7F04AD20 8E080008 */ lw $t0, 8($s0) +/* 07F854 7F04AD24 8FAA0074 */ lw $t2, 0x74($sp) +/* 07F858 7F04AD28 8FA40070 */ lw $a0, 0x70($sp) +/* 07F85C 7F04AD2C 31190001 */ andi $t9, $t0, 1 +/* 07F860 7F04AD30 53200051 */ beql $t9, $zero, .L7F04AE78 +/* 07F864 7F04AD34 24010001 */ li $at, 1 +/* 07F868 7F04AD38 8D4B000C */ lw $t3, 0xc($t2) +/* 07F86C 7F04AD3C 8FA90078 */ lw $t1, 0x78($sp) +/* 07F870 7F04AD40 8FAF0074 */ lw $t7, 0x74($sp) +/* 07F874 7F04AD44 000B63C0 */ sll $t4, $t3, 0xf +/* 07F878 7F04AD48 05810003 */ bgez $t4, .L7F04AD58 +/* 07F87C 7F04AD4C 8D220004 */ lw $v0, 4($t1) +/* 07F880 7F04AD50 10000008 */ b .L7F04AD74 +/* 07F884 7F04AD54 00001825 */ move $v1, $zero +.L7F04AD58: +/* 07F888 7F04AD58 8DF80008 */ lw $t8, 8($t7) +/* 07F88C 7F04AD5C 24030001 */ li $v1, 1 +/* 07F890 7F04AD60 001870C0 */ sll $t6, $t8, 3 +/* 07F894 7F04AD64 05C10003 */ bgez $t6, .L7F04AD74 +/* 07F898 7F04AD68 00000000 */ nop +/* 07F89C 7F04AD6C 10000001 */ b .L7F04AD74 +/* 07F8A0 7F04AD70 24030008 */ li $v1, 8 +.L7F04AD74: +/* 07F8A4 7F04AD74 8C880008 */ lw $t0, 8($a0) +/* 07F8A8 7F04AD78 24090001 */ li $t1, 1 +/* 07F8AC 7F04AD7C 24460080 */ addiu $a2, $v0, 0x80 +/* 07F8B0 7F04AD80 8D190008 */ lw $t9, 8($t0) +/* 07F8B4 7F04AD84 8F250000 */ lw $a1, ($t9) +/* 07F8B8 7F04AD88 AFA20058 */ sw $v0, 0x58($sp) +/* 07F8BC 7F04AD8C AFA90014 */ sw $t1, 0x14($sp) +/* 07F8C0 7F04AD90 0FC127D2 */ jal process_monitor_animation_microcode +/* 07F8C4 7F04AD94 AFA30010 */ sw $v1, 0x10($sp) +/* 07F8C8 7F04AD98 8FAA0074 */ lw $t2, 0x74($sp) +/* 07F8CC 7F04AD9C 00403825 */ move $a3, $v0 +/* 07F8D0 7F04ADA0 8FAF0074 */ lw $t7, 0x74($sp) +/* 07F8D4 7F04ADA4 8D4B000C */ lw $t3, 0xc($t2) +/* 07F8D8 7F04ADA8 8FA40070 */ lw $a0, 0x70($sp) +/* 07F8DC 7F04ADAC 000B63C0 */ sll $t4, $t3, 0xf +/* 07F8E0 7F04ADB0 05830004 */ bgezl $t4, .L7F04ADC4 +/* 07F8E4 7F04ADB4 8DF80008 */ lw $t8, 8($t7) +/* 07F8E8 7F04ADB8 10000009 */ b .L7F04ADE0 +/* 07F8EC 7F04ADBC 00001825 */ move $v1, $zero +/* 07F8F0 7F04ADC0 8DF80008 */ lw $t8, 8($t7) +.L7F04ADC4: +/* 07F8F4 7F04ADC4 3C013000 */ lui $at, 0x3000 +/* 07F8F8 7F04ADC8 24030001 */ li $v1, 1 +/* 07F8FC 7F04ADCC 03017024 */ and $t6, $t8, $at +/* 07F900 7F04ADD0 11C00003 */ beqz $t6, .L7F04ADE0 +/* 07F904 7F04ADD4 00000000 */ nop +/* 07F908 7F04ADD8 10000001 */ b .L7F04ADE0 +/* 07F90C 7F04ADDC 24030008 */ li $v1, 8 +.L7F04ADE0: +/* 07F910 7F04ADE0 8C880008 */ lw $t0, 8($a0) +/* 07F914 7F04ADE4 8FA60058 */ lw $a2, 0x58($sp) +/* 07F918 7F04ADE8 24090001 */ li $t1, 1 +/* 07F91C 7F04ADEC 8D190008 */ lw $t9, 8($t0) +/* 07F920 7F04ADF0 24C600F4 */ addiu $a2, $a2, 0xf4 +/* 07F924 7F04ADF4 8F250004 */ lw $a1, 4($t9) +/* 07F928 7F04ADF8 AFA30060 */ sw $v1, 0x60($sp) +/* 07F92C 7F04ADFC AFA90014 */ sw $t1, 0x14($sp) +/* 07F930 7F04AE00 0FC127D2 */ jal process_monitor_animation_microcode +/* 07F934 7F04AE04 AFA30010 */ sw $v1, 0x10($sp) +/* 07F938 7F04AE08 8FA40070 */ lw $a0, 0x70($sp) +/* 07F93C 7F04AE0C 8FA30060 */ lw $v1, 0x60($sp) +/* 07F940 7F04AE10 8FA60058 */ lw $a2, 0x58($sp) +/* 07F944 7F04AE14 8C8B0008 */ lw $t3, 8($a0) +/* 07F948 7F04AE18 240F0001 */ li $t7, 1 +/* 07F94C 7F04AE1C 00403825 */ move $a3, $v0 +/* 07F950 7F04AE20 8D6C0008 */ lw $t4, 8($t3) +/* 07F954 7F04AE24 24C60168 */ addiu $a2, $a2, 0x168 +/* 07F958 7F04AE28 8D850008 */ lw $a1, 8($t4) +/* 07F95C 7F04AE2C AFAF0014 */ sw $t7, 0x14($sp) +/* 07F960 7F04AE30 0FC127D2 */ jal process_monitor_animation_microcode +/* 07F964 7F04AE34 AFA30010 */ sw $v1, 0x10($sp) +/* 07F968 7F04AE38 8FA40070 */ lw $a0, 0x70($sp) +/* 07F96C 7F04AE3C 8FA30060 */ lw $v1, 0x60($sp) +/* 07F970 7F04AE40 8FA60058 */ lw $a2, 0x58($sp) +/* 07F974 7F04AE44 8C8E0008 */ lw $t6, 8($a0) +/* 07F978 7F04AE48 24080001 */ li $t0, 1 +/* 07F97C 7F04AE4C 00403825 */ move $a3, $v0 +/* 07F980 7F04AE50 8DCD0008 */ lw $t5, 8($t6) +/* 07F984 7F04AE54 24C601DC */ addiu $a2, $a2, 0x1dc +/* 07F988 7F04AE58 8DA5000C */ lw $a1, 0xc($t5) +/* 07F98C 7F04AE5C AFA80014 */ sw $t0, 0x14($sp) +/* 07F990 7F04AE60 0FC127D2 */ jal process_monitor_animation_microcode +/* 07F994 7F04AE64 AFA30010 */ sw $v1, 0x10($sp) +/* 07F998 7F04AE68 8FB90074 */ lw $t9, 0x74($sp) +/* 07F99C 7F04AE6C 00403825 */ move $a3, $v0 +/* 07F9A0 7F04AE70 93230003 */ lbu $v1, 3($t9) +.L7F04AE74: +/* 07F9A4 7F04AE74 24010001 */ li $at, 1 +.L7F04AE78: +/* 07F9A8 7F04AE78 1461001A */ bne $v1, $at, .L7F04AEE4 +/* 07F9AC 7F04AE7C 8FA40074 */ lw $a0, 0x74($sp) +/* 07F9B0 7F04AE80 8FA90078 */ lw $t1, 0x78($sp) +/* 07F9B4 7F04AE84 00E01025 */ move $v0, $a3 +/* 07F9B8 7F04AE88 3C0AB600 */ lui $t2, 0xb600 +/* 07F9BC 7F04AE8C 8D230004 */ lw $v1, 4($t1) +/* 07F9C0 7F04AE90 240B3000 */ li $t3, 12288 +/* 07F9C4 7F04AE94 AC4B0004 */ sw $t3, 4($v0) +/* 07F9C8 7F04AE98 AC4A0000 */ sw $t2, ($v0) +/* 07F9CC 7F04AE9C 946C0098 */ lhu $t4, 0x98($v1) +/* 07F9D0 7F04AEA0 24E70008 */ addiu $a3, $a3, 8 +/* 07F9D4 7F04AEA4 24180002 */ li $t8, 2 +/* 07F9D8 7F04AEA8 318F0008 */ andi $t7, $t4, 8 +/* 07F9DC 7F04AEAC 11E00003 */ beqz $t7, .L7F04AEBC +/* 07F9E0 7F04AEB0 240E0003 */ li $t6, 3 +/* 07F9E4 7F04AEB4 10000002 */ b .L7F04AEC0 +/* 07F9E8 7F04AEB8 AE18003C */ sw $t8, 0x3c($s0) +.L7F04AEBC: +/* 07F9EC 7F04AEBC AE0E003C */ sw $t6, 0x3c($s0) +.L7F04AEC0: +/* 07F9F0 7F04AEC0 8E0D0030 */ lw $t5, 0x30($s0) +/* 07F9F4 7F04AEC4 24010009 */ li $at, 9 +/* 07F9F8 7F04AEC8 55A1004B */ bnel $t5, $at, .L7F04AFF8 +/* 07F9FC 7F04AECC 8FB90028 */ lw $t9, 0x28($sp) +/* 07FA00 7F04AED0 8E080034 */ lw $t0, 0x34($s0) +/* 07FA04 7F04AED4 2401FF00 */ li $at, -256 +/* 07FA08 7F04AED8 0101C824 */ and $t9, $t0, $at +/* 07FA0C 7F04AEDC 10000045 */ b .L7F04AFF4 +/* 07FA10 7F04AEE0 AE190034 */ sw $t9, 0x34($s0) +.L7F04AEE4: +/* 07FA14 7F04AEE4 0FC12D1E */ jal sub_GAME_7F04B478 +/* 07FA18 7F04AEE8 AFA70064 */ sw $a3, 0x64($sp) +/* 07FA1C 7F04AEEC 8FA70064 */ lw $a3, 0x64($sp) +/* 07FA20 7F04AEF0 1040000F */ beqz $v0, .L7F04AF30 +/* 07FA24 7F04AEF4 00002825 */ move $a1, $zero +/* 07FA28 7F04AEF8 8C430004 */ lw $v1, 4($v0) +/* 07FA2C 7F04AEFC 8FA90074 */ lw $t1, 0x74($sp) +/* 07FA30 7F04AF00 5060000C */ beql $v1, $zero, .L7F04AF34 +/* 07FA34 7F04AF04 8FA40074 */ lw $a0, 0x74($sp) +/* 07FA38 7F04AF08 8D2A0014 */ lw $t2, 0x14($t1) +/* 07FA3C 7F04AF0C 946C001A */ lhu $t4, 0x1a($v1) +/* 07FA40 7F04AF10 8C780008 */ lw $t8, 8($v1) +/* 07FA44 7F04AF14 8D4B0010 */ lw $t3, 0x10($t2) +/* 07FA48 7F04AF18 000C7880 */ sll $t7, $t4, 2 +/* 07FA4C 7F04AF1C 016F1021 */ addu $v0, $t3, $t7 +/* 07FA50 7F04AF20 8C4E0000 */ lw $t6, ($v0) +/* 07FA54 7F04AF24 530E0003 */ beql $t8, $t6, .L7F04AF34 +/* 07FA58 7F04AF28 8FA40074 */ lw $a0, 0x74($sp) +/* 07FA5C 7F04AF2C 24050001 */ li $a1, 1 +.L7F04AF30: +/* 07FA60 7F04AF30 8FA40074 */ lw $a0, 0x74($sp) +.L7F04AF34: +/* 07FA64 7F04AF34 AFA50040 */ sw $a1, 0x40($sp) +/* 07FA68 7F04AF38 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 07FA6C 7F04AF3C AFA70064 */ sw $a3, 0x64($sp) +/* 07FA70 7F04AF40 8FA50040 */ lw $a1, 0x40($sp) +/* 07FA74 7F04AF44 10400003 */ beqz $v0, .L7F04AF54 +/* 07FA78 7F04AF48 8FA70064 */ lw $a3, 0x64($sp) +/* 07FA7C 7F04AF4C 14A0000B */ bnez $a1, .L7F04AF7C +/* 07FA80 7F04AF50 8FA40074 */ lw $a0, 0x74($sp) +.L7F04AF54: +/* 07FA84 7F04AF54 8E080030 */ lw $t0, 0x30($s0) +/* 07FA88 7F04AF58 240D0003 */ li $t5, 3 +/* 07FA8C 7F04AF5C 24010009 */ li $at, 9 +/* 07FA90 7F04AF60 15010024 */ bne $t0, $at, .L7F04AFF4 +/* 07FA94 7F04AF64 AE0D003C */ sw $t5, 0x3c($s0) +/* 07FA98 7F04AF68 8E190034 */ lw $t9, 0x34($s0) +/* 07FA9C 7F04AF6C 2401FF00 */ li $at, -256 +/* 07FAA0 7F04AF70 03214824 */ and $t1, $t9, $at +/* 07FAA4 7F04AF74 1000001F */ b .L7F04AFF4 +/* 07FAA8 7F04AF78 AE090034 */ sw $t1, 0x34($s0) +.L7F04AF7C: +/* 07FAAC 7F04AF7C 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 07FAB0 7F04AF80 AFA70064 */ sw $a3, 0x64($sp) +/* 07FAB4 7F04AF84 8E0C0030 */ lw $t4, 0x30($s0) +/* 07FAB8 7F04AF88 8FA70064 */ lw $a3, 0x64($sp) +/* 07FABC 7F04AF8C 240A0001 */ li $t2, 1 +/* 07FAC0 7F04AF90 24010009 */ li $at, 9 +/* 07FAC4 7F04AF94 15810012 */ bne $t4, $at, .L7F04AFE0 +/* 07FAC8 7F04AF98 AE0A003C */ sw $t2, 0x3c($s0) +/* 07FACC 7F04AF9C 00021880 */ sll $v1, $v0, 2 +/* 07FAD0 7F04AFA0 00621823 */ subu $v1, $v1, $v0 +/* 07FAD4 7F04AFA4 000318C0 */ sll $v1, $v1, 3 +/* 07FAD8 7F04AFA8 00621821 */ addu $v1, $v1, $v0 +/* 07FADC 7F04AFAC 00031840 */ sll $v1, $v1, 1 +/* 07FAE0 7F04AFB0 24640064 */ addiu $a0, $v1, 0x64 +/* 07FAE4 7F04AFB4 28810100 */ slti $at, $a0, 0x100 +/* 07FAE8 7F04AFB8 54200003 */ bnezl $at, .L7F04AFC8 +/* 07FAEC 7F04AFBC 8E0B0034 */ lw $t3, 0x34($s0) +/* 07FAF0 7F04AFC0 240400FF */ li $a0, 255 +/* 07FAF4 7F04AFC4 8E0B0034 */ lw $t3, 0x34($s0) +.L7F04AFC8: +/* 07FAF8 7F04AFC8 2401FF00 */ li $at, -256 +/* 07FAFC 7F04AFCC 01617824 */ and $t7, $t3, $at +/* 07FB00 7F04AFD0 AE0F0034 */ sw $t7, 0x34($s0) +/* 07FB04 7F04AFD4 01E47025 */ or $t6, $t7, $a0 +/* 07FB08 7F04AFD8 10000006 */ b .L7F04AFF4 +/* 07FB0C 7F04AFDC AE0E0034 */ sw $t6, 0x34($s0) +.L7F04AFE0: +/* 07FB10 7F04AFE0 58400005 */ blezl $v0, .L7F04AFF8 +/* 07FB14 7F04AFE4 8FB90028 */ lw $t9, 0x28($sp) +/* 07FB18 7F04AFE8 8E0D0034 */ lw $t5, 0x34($s0) +/* 07FB1C 7F04AFEC 35A8FF00 */ ori $t0, $t5, 0xff00 +/* 07FB20 7F04AFF0 AE080034 */ sw $t0, 0x34($s0) +.L7F04AFF4: +/* 07FB24 7F04AFF4 8FB90028 */ lw $t9, 0x28($sp) +.L7F04AFF8: +/* 07FB28 7F04AFF8 3C090103 */ lui $t1, (0x01030040 >> 16) # lui $t1, 0x103 +/* 07FB2C 7F04AFFC 35290040 */ ori $t1, (0x01030040 & 0xFFFF) # ori $t1, $t1, 0x40 +/* 07FB30 7F04B000 13200009 */ beqz $t9, .L7F04B028 +/* 07FB34 7F04B004 00E01825 */ move $v1, $a3 +/* 07FB38 7F04B008 24E70008 */ addiu $a3, $a3, 8 +/* 07FB3C 7F04B00C AC690000 */ sw $t1, ($v1) +/* 07FB40 7F04B010 AFA70064 */ sw $a3, 0x64($sp) +/* 07FB44 7F04B014 0FC1E0E5 */ jal get_BONDdata_field_10E0 +/* 07FB48 7F04B018 AFA30034 */ sw $v1, 0x34($sp) +/* 07FB4C 7F04B01C 8FA30034 */ lw $v1, 0x34($sp) +/* 07FB50 7F04B020 8FA70064 */ lw $a3, 0x64($sp) +/* 07FB54 7F04B024 AC620004 */ sw $v0, 4($v1) +.L7F04B028: +/* 07FB58 7F04B028 AE07000C */ sw $a3, 0xc($s0) +/* 07FB5C 7F04B02C 8FA50070 */ lw $a1, 0x70($sp) +/* 07FB60 7F04B030 0FC1D1A1 */ jal subdraw +/* 07FB64 7F04B034 02002025 */ move $a0, $s0 +/* 07FB68 7F04B038 8FA30074 */ lw $v1, 0x74($sp) +/* 07FB6C 7F04B03C 8E07000C */ lw $a3, 0xc($s0) +/* 07FB70 7F04B040 24010001 */ li $at, 1 +/* 07FB74 7F04B044 906A0003 */ lbu $t2, 3($v1) +/* 07FB78 7F04B048 3C0CB600 */ lui $t4, 0xb600 +/* 07FB7C 7F04B04C 240B3000 */ li $t3, 12288 +/* 07FB80 7F04B050 15410004 */ bne $t2, $at, .L7F04B064 +/* 07FB84 7F04B054 00E01025 */ move $v0, $a3 +/* 07FB88 7F04B058 24E70008 */ addiu $a3, $a3, 8 +/* 07FB8C 7F04B05C AC4C0000 */ sw $t4, ($v0) +/* 07FB90 7F04B060 AC4B0004 */ sw $t3, 4($v0) +.L7F04B064: +/* 07FB94 7F04B064 8FA60080 */ lw $a2, 0x80($sp) +/* 07FB98 7F04B068 906F0002 */ lbu $t7, 2($v1) +/* 07FB9C 7F04B06C 24180001 */ li $t8, 1 +/* 07FBA0 7F04B070 00D87004 */ sllv $t6, $t8, $a2 +/* 07FBA4 7F04B074 01EE6824 */ and $t5, $t7, $t6 +/* 07FBA8 7F04B078 11A00005 */ beqz $t5, .L7F04B090 +/* 07FBAC 7F04B07C 00E02025 */ move $a0, $a3 +/* 07FBB0 7F04B080 0FC286A5 */ jal sub_GAME_7F0A1A94 +/* 07FBB4 7F04B084 8FA50078 */ lw $a1, 0x78($sp) +/* 07FBB8 7F04B088 00403825 */ move $a3, $v0 +/* 07FBBC 7F04B08C 8FA60080 */ lw $a2, 0x80($sp) +.L7F04B090: +/* 07FBC0 7F04B090 8FA80028 */ lw $t0, 0x28($sp) +/* 07FBC4 7F04B094 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 +/* 07FBC8 7F04B098 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 +/* 07FBCC 7F04B09C 1100000A */ beqz $t0, .L7F04B0C8 +/* 07FBD0 7F04B0A0 00E01825 */ move $v1, $a3 +/* 07FBD4 7F04B0A4 24E70008 */ addiu $a3, $a3, 8 +/* 07FBD8 7F04B0A8 AC790000 */ sw $t9, ($v1) +/* 07FBDC 7F04B0AC AFA70064 */ sw $a3, 0x64($sp) +/* 07FBE0 7F04B0B0 0FC1E0DD */ jal get_BONDdata_field_10D8 +/* 07FBE4 7F04B0B4 AFA3002C */ sw $v1, 0x2c($sp) +/* 07FBE8 7F04B0B8 8FA3002C */ lw $v1, 0x2c($sp) +/* 07FBEC 7F04B0BC 8FA70064 */ lw $a3, 0x64($sp) +/* 07FBF0 7F04B0C0 AC620004 */ sw $v0, 4($v1) +/* 07FBF4 7F04B0C4 8FA60080 */ lw $a2, 0x80($sp) +.L7F04B0C8: +/* 07FBF8 7F04B0C8 AE07000C */ sw $a3, 0xc($s0) +/* 07FBFC 7F04B0CC 8FA90078 */ lw $t1, 0x78($sp) +/* 07FC00 7F04B0D0 8D240020 */ lw $a0, 0x20($t1) +/* 07FC04 7F04B0D4 1080000A */ beqz $a0, .L7F04B100 +/* 07FC08 7F04B0D8 00000000 */ nop +/* 07FC0C 7F04B0DC 8FA60080 */ lw $a2, 0x80($sp) +.L7F04B0E0: +/* 07FC10 7F04B0E0 02002825 */ move $a1, $s0 +/* 07FC14 7F04B0E4 0FC12B08 */ jal sub_GAME_7F04AC20 +/* 07FC18 7F04B0E8 AFA40068 */ sw $a0, 0x68($sp) +/* 07FC1C 7F04B0EC 8FA40068 */ lw $a0, 0x68($sp) +/* 07FC20 7F04B0F0 8C840024 */ lw $a0, 0x24($a0) +/* 07FC24 7F04B0F4 5480FFFA */ bnezl $a0, .L7F04B0E0 +/* 07FC28 7F04B0F8 8FA60080 */ lw $a2, 0x80($sp) +/* 07FC2C 7F04B0FC 8FA60080 */ lw $a2, 0x80($sp) +.L7F04B100: +/* 07FC30 7F04B100 10C0000E */ beqz $a2, .L7F04B13C +/* 07FC34 7F04B104 8FAA0028 */ lw $t2, 0x28($sp) +/* 07FC38 7F04B108 11400008 */ beqz $t2, .L7F04B12C +/* 07FC3C 7F04B10C 8FA20070 */ lw $v0, 0x70($sp) +/* 07FC40 7F04B110 8FA20070 */ lw $v0, 0x70($sp) +/* 07FC44 7F04B114 8C4C0008 */ lw $t4, 8($v0) +/* 07FC48 7F04B118 8C44000C */ lw $a0, 0xc($v0) +/* 07FC4C 7F04B11C 0FC22FBB */ jal sub_GAME_7F08BEEC +/* 07FC50 7F04B120 8585000E */ lh $a1, 0xe($t4) +/* 07FC54 7F04B124 10000006 */ b .L7F04B140 +/* 07FC58 7F04B128 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04B12C: +/* 07FC5C 7F04B12C 8C4B0008 */ lw $t3, 8($v0) +/* 07FC60 7F04B130 8C44000C */ lw $a0, 0xc($v0) +/* 07FC64 7F04B134 0FC22F52 */ jal sub_GAME_7F08BD48 +/* 07FC68 7F04B138 8565000E */ lh $a1, 0xe($t3) +.L7F04B13C: +/* 07FC6C 7F04B13C 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04B140: +/* 07FC70 7F04B140 8FB00020 */ lw $s0, 0x20($sp) +/* 07FC74 7F04B144 27BD0078 */ addiu $sp, $sp, 0x78 +/* 07FC78 7F04B148 03E00008 */ jr $ra +/* 07FC7C 7F04B14C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04B150(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04B150 +/* 07FC80 7F04B150 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 07FC84 7F04B154 3C0F8003 */ lui $t7, %hi(D_80031FD0) +/* 07FC88 7F04B158 AFBF0024 */ sw $ra, 0x24($sp) +/* 07FC8C 7F04B15C AFB00020 */ sw $s0, 0x20($sp) +/* 07FC90 7F04B160 AFA500C4 */ sw $a1, 0xc4($sp) +/* 07FC94 7F04B164 AFA600C8 */ sw $a2, 0xc8($sp) +/* 07FC98 7F04B168 25EF1FD0 */ addiu $t7, %lo(D_80031FD0) # addiu $t7, $t7, 0x1fd0 +/* 07FC9C 7F04B16C 8C900004 */ lw $s0, 4($a0) +/* 07FCA0 7F04B170 25E8003C */ addiu $t0, $t7, 0x3c +/* 07FCA4 7F04B174 27AE0068 */ addiu $t6, $sp, 0x68 +.L7F04B178: +/* 07FCA8 7F04B178 8DE10000 */ lw $at, ($t7) +/* 07FCAC 7F04B17C 25EF000C */ addiu $t7, $t7, 0xc +/* 07FCB0 7F04B180 25CE000C */ addiu $t6, $t6, 0xc +/* 07FCB4 7F04B184 ADC1FFF4 */ sw $at, -0xc($t6) +/* 07FCB8 7F04B188 8DE1FFF8 */ lw $at, -8($t7) +/* 07FCBC 7F04B18C ADC1FFF8 */ sw $at, -8($t6) +/* 07FCC0 7F04B190 8DE1FFFC */ lw $at, -4($t7) +/* 07FCC4 7F04B194 15E8FFF8 */ bne $t7, $t0, .L7F04B178 +/* 07FCC8 7F04B198 ADC1FFFC */ sw $at, -4($t6) +/* 07FCCC 7F04B19C 8DE10000 */ lw $at, ($t7) +/* 07FCD0 7F04B1A0 240900FF */ li $t1, 255 +/* 07FCD4 7F04B1A4 27A500B0 */ addiu $a1, $sp, 0xb0 +/* 07FCD8 7F04B1A8 ADC10000 */ sw $at, ($t6) +/* 07FCDC 7F04B1AC AFA9003C */ sw $t1, 0x3c($sp) +/* 07FCE0 7F04B1B0 0FC2ECE9 */ jal if_sky_present_convert_values +/* 07FCE4 7F04B1B4 AFA400C0 */ sw $a0, 0xc0($sp) +/* 07FCE8 7F04B1B8 14400003 */ bnez $v0, .L7F04B1C8 +/* 07FCEC 7F04B1BC AFA200AC */ sw $v0, 0xac($sp) +/* 07FCF0 7F04B1C0 100000A8 */ b .L7F04B464 +/* 07FCF4 7F04B1C4 8FA200C4 */ lw $v0, 0xc4($sp) +.L7F04B1C8: +/* 07FCF8 7F04B1C8 920A0003 */ lbu $t2, 3($s0) +/* 07FCFC 7F04B1CC 2401002F */ li $at, 47 +/* 07FD00 7F04B1D0 51410021 */ beql $t2, $at, .L7F04B258 +/* 07FD04 7F04B1D4 8FAD003C */ lw $t5, 0x3c($sp) +/* 07FD08 7F04B1D8 0FC1B403 */ jal getinstsize +/* 07FD0C 7F04B1DC 8E040014 */ lw $a0, 0x14($s0) +/* 07FD10 7F04B1E0 44050000 */ mfc1 $a1, $f0 +/* 07FD14 7F04B1E4 0FC152E0 */ jal sub_GAME_7F054B80 +/* 07FD18 7F04B1E8 8FA400C0 */ lw $a0, 0xc0($sp) +/* 07FD1C 7F04B1EC 8FAB00C0 */ lw $t3, 0xc0($sp) +/* 07FD20 7F04B1F0 46000086 */ mov.s $f2, $f0 +/* 07FD24 7F04B1F4 85620002 */ lh $v0, 2($t3) +/* 07FD28 7F04B1F8 1840000B */ blez $v0, .L7F04B228 +/* 07FD2C 7F04B1FC 2841003C */ slti $at, $v0, 0x3c +/* 07FD30 7F04B200 5020000A */ beql $at, $zero, .L7F04B22C +/* 07FD34 7F04B204 3C01437F */ lui $at, 0x437f +/* 07FD38 7F04B208 44822000 */ mtc1 $v0, $f4 +/* 07FD3C 7F04B20C 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07FD40 7F04B210 44816000 */ mtc1 $at, $f12 +/* 07FD44 7F04B214 468021A0 */ cvt.s.w $f6, $f4 +/* 07FD48 7F04B218 46066201 */ sub.s $f8, $f12, $f6 +/* 07FD4C 7F04B21C 460C4283 */ div.s $f10, $f8, $f12 +/* 07FD50 7F04B220 460A0082 */ mul.s $f2, $f0, $f10 +/* 07FD54 7F04B224 00000000 */ nop +.L7F04B228: +/* 07FD58 7F04B228 3C01437F */ li $at, 0x437F0000 # 255.000000 +.L7F04B22C: +/* 07FD5C 7F04B22C 44818000 */ mtc1 $at, $f16 +/* 07FD60 7F04B230 00000000 */ nop +/* 07FD64 7F04B234 46101482 */ mul.s $f18, $f2, $f16 +/* 07FD68 7F04B238 4600910D */ trunc.w.s $f4, $f18 +/* 07FD6C 7F04B23C 44022000 */ mfc1 $v0, $f4 +/* 07FD70 7F04B240 00000000 */ nop +/* 07FD74 7F04B244 1C400003 */ bgtz $v0, .L7F04B254 +/* 07FD78 7F04B248 AFA2003C */ sw $v0, 0x3c($sp) +/* 07FD7C 7F04B24C 10000085 */ b .L7F04B464 +/* 07FD80 7F04B250 8FA200C4 */ lw $v0, 0xc4($sp) +.L7F04B254: +/* 07FD84 7F04B254 8FAD003C */ lw $t5, 0x3c($sp) +.L7F04B258: +/* 07FD88 7F04B258 8FA800C8 */ lw $t0, 0xc8($sp) +/* 07FD8C 7F04B25C 8FA400C0 */ lw $a0, 0xc0($sp) +/* 07FD90 7F04B260 29A100FF */ slti $at, $t5, 0xff +/* 07FD94 7F04B264 14200006 */ bnez $at, .L7F04B280 +/* 07FD98 7F04B268 27A50058 */ addiu $a1, $sp, 0x58 +/* 07FD9C 7F04B26C 8E19000C */ lw $t9, 0xc($s0) +/* 07FDA0 7F04B270 8FAF00C8 */ lw $t7, 0xc8($sp) +/* 07FDA4 7F04B274 0019C3C0 */ sll $t8, $t9, 0xf +/* 07FDA8 7F04B278 07010007 */ bgez $t8, .L7F04B298 +/* 07FDAC 7F04B27C 00000000 */ nop +.L7F04B280: +/* 07FDB0 7F04B280 15000003 */ bnez $t0, .L7F04B290 +/* 07FDB4 7F04B284 00000000 */ nop +/* 07FDB8 7F04B288 10000076 */ b .L7F04B464 +/* 07FDBC 7F04B28C 8FA200C4 */ lw $v0, 0xc4($sp) +.L7F04B290: +/* 07FDC0 7F04B290 10000005 */ b .L7F04B2A8 +/* 07FDC4 7F04B294 24030003 */ li $v1, 3 +.L7F04B298: +/* 07FDC8 7F04B298 15E00003 */ bnez $t7, .L7F04B2A8 +/* 07FDCC 7F04B29C 24030002 */ li $v1, 2 +/* 07FDD0 7F04B2A0 10000001 */ b .L7F04B2A8 +/* 07FDD4 7F04B2A4 24030001 */ li $v1, 1 +.L7F04B2A8: +/* 07FDD8 7F04B2A8 0FC15299 */ jal sub_GAME_7F054A64 +/* 07FDDC 7F04B2AC AFA30044 */ sw $v1, 0x44($sp) +/* 07FDE0 7F04B2B0 1840000E */ blez $v0, .L7F04B2EC +/* 07FDE4 7F04B2B4 8FA30044 */ lw $v1, 0x44($sp) +/* 07FDE8 7F04B2B8 8E0E000C */ lw $t6, 0xc($s0) +/* 07FDEC 7F04B2BC 8FA400C4 */ lw $a0, 0xc4($sp) +/* 07FDF0 7F04B2C0 8FA50058 */ lw $a1, 0x58($sp) +/* 07FDF4 7F04B2C4 000E4940 */ sll $t1, $t6, 5 +/* 07FDF8 7F04B2C8 05200008 */ bltz $t1, .L7F04B2EC +/* 07FDFC 7F04B2CC 8FA6005C */ lw $a2, 0x5c($sp) +/* 07FE00 7F04B2D0 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 07FE04 7F04B2D4 8FA70060 */ lw $a3, 0x60($sp) +/* 07FE08 7F04B2D8 AFA30044 */ sw $v1, 0x44($sp) +/* 07FE0C 7F04B2DC 0FC2D3FD */ jal sub_GAME_7F0B4FF4 +/* 07FE10 7F04B2E0 E7A60010 */ swc1 $f6, 0x10($sp) +/* 07FE14 7F04B2E4 10000005 */ b .L7F04B2FC +/* 07FE18 7F04B2E8 8FA30044 */ lw $v1, 0x44($sp) +.L7F04B2EC: +/* 07FE1C 7F04B2EC 8FA400C4 */ lw $a0, 0xc4($sp) +/* 07FE20 7F04B2F0 0FC2D3ED */ jal sub_GAME_7F0B4FB4 +/* 07FE24 7F04B2F4 AFA30044 */ sw $v1, 0x44($sp) +/* 07FE28 7F04B2F8 8FA30044 */ lw $v1, 0x44($sp) +.L7F04B2FC: +/* 07FE2C 7F04B2FC AFA30070 */ sw $v1, 0x70($sp) +/* 07FE30 7F04B300 8E0A000C */ lw $t2, 0xc($s0) +/* 07FE34 7F04B304 8FAD003C */ lw $t5, 0x3c($sp) +/* 07FE38 7F04B308 3C010001 */ lui $at, 1 +/* 07FE3C 7F04B30C 01415824 */ and $t3, $t2, $at +/* 07FE40 7F04B310 2D6C0001 */ sltiu $t4, $t3, 1 +/* 07FE44 7F04B314 29A100FF */ slti $at, $t5, 0xff +/* 07FE48 7F04B318 AFAC006C */ sw $t4, 0x6c($sp) +/* 07FE4C 7F04B31C 10200005 */ beqz $at, .L7F04B334 +/* 07FE50 7F04B320 AFA20074 */ sw $v0, 0x74($sp) +/* 07FE54 7F04B324 24190005 */ li $t9, 5 +/* 07FE58 7F04B328 AFB90098 */ sw $t9, 0x98($sp) +/* 07FE5C 7F04B32C 10000017 */ b .L7F04B38C +/* 07FE60 7F04B330 AFAD009C */ sw $t5, 0x9c($sp) +.L7F04B334: +/* 07FE64 7F04B334 24180009 */ li $t8, 9 +/* 07FE68 7F04B338 AFB80098 */ sw $t8, 0x98($sp) +/* 07FE6C 7F04B33C 92020003 */ lbu $v0, 3($s0) +/* 07FE70 7F04B340 2401002F */ li $at, 47 +/* 07FE74 7F04B344 54410006 */ bnel $v0, $at, .L7F04B360 +/* 07FE78 7F04B348 24010001 */ li $at, 1 +/* 07FE7C 7F04B34C 8E080088 */ lw $t0, 0x88($s0) +/* 07FE80 7F04B350 00087A00 */ sll $t7, $t0, 8 +/* 07FE84 7F04B354 1000000D */ b .L7F04B38C +/* 07FE88 7F04B358 AFAF009C */ sw $t7, 0x9c($sp) +/* 07FE8C 7F04B35C 24010001 */ li $at, 1 +.L7F04B360: +/* 07FE90 7F04B360 5441000A */ bnel $v0, $at, .L7F04B38C +/* 07FE94 7F04B364 AFA0009C */ sw $zero, 0x9c($sp) +/* 07FE98 7F04B368 960E0098 */ lhu $t6, 0x98($s0) +/* 07FE9C 7F04B36C 31C90002 */ andi $t1, $t6, 2 +/* 07FEA0 7F04B370 51200006 */ beql $t1, $zero, .L7F04B38C +/* 07FEA4 7F04B374 AFA0009C */ sw $zero, 0x9c($sp) +/* 07FEA8 7F04B378 860A00BE */ lh $t2, 0xbe($s0) +/* 07FEAC 7F04B37C 000A5A00 */ sll $t3, $t2, 8 +/* 07FEB0 7F04B380 10000002 */ b .L7F04B38C +/* 07FEB4 7F04B384 AFAB009C */ sw $t3, 0x9c($sp) +/* 07FEB8 7F04B388 AFA0009C */ sw $zero, 0x9c($sp) +.L7F04B38C: +/* 07FEBC 7F04B38C 0FC0FFD8 */ jal sub_GAME_7F03FF60 +/* 07FEC0 7F04B390 02002025 */ move $a0, $s0 +/* 07FEC4 7F04B394 00026080 */ sll $t4, $v0, 2 +/* 07FEC8 7F04B398 01826021 */ addu $t4, $t4, $v0 +/* 07FECC 7F04B39C 000C6080 */ sll $t4, $t4, 2 +/* 07FED0 7F04B3A0 01826021 */ addu $t4, $t4, $v0 +/* 07FED4 7F04B3A4 241900FF */ li $t9, 255 +/* 07FED8 7F04B3A8 032C2023 */ subu $a0, $t9, $t4 +/* 07FEDC 7F04B3AC 04810002 */ bgez $a0, .L7F04B3B8 +/* 07FEE0 7F04B3B0 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 07FEE4 7F04B3B4 00002025 */ move $a0, $zero +.L7F04B3B8: +/* 07FEE8 7F04B3B8 920D0078 */ lbu $t5, 0x78($s0) +/* 07FEEC 7F04B3BC 01A40019 */ multu $t5, $a0 +/* 07FEF0 7F04B3C0 00026900 */ sll $t5, $v0, 4 +/* 07FEF4 7F04B3C4 01A26823 */ subu $t5, $t5, $v0 +/* 07FEF8 7F04B3C8 0000C012 */ mflo $t8 +/* 07FEFC 7F04B3CC 00184203 */ sra $t0, $t8, 8 +/* 07FF00 7F04B3D0 AFA80048 */ sw $t0, 0x48($sp) +/* 07FF04 7F04B3D4 920F0079 */ lbu $t7, 0x79($s0) +/* 07FF08 7F04B3D8 01E40019 */ multu $t7, $a0 +/* 07FF0C 7F04B3DC 240F00FF */ li $t7, 255 +/* 07FF10 7F04B3E0 00007012 */ mflo $t6 +/* 07FF14 7F04B3E4 000E4A03 */ sra $t1, $t6, 8 +/* 07FF18 7F04B3E8 AFA9004C */ sw $t1, 0x4c($sp) +/* 07FF1C 7F04B3EC 920A007A */ lbu $t2, 0x7a($s0) +/* 07FF20 7F04B3F0 01440019 */ multu $t2, $a0 +/* 07FF24 7F04B3F4 27A40048 */ addiu $a0, $sp, 0x48 +/* 07FF28 7F04B3F8 00005812 */ mflo $t3 +/* 07FF2C 7F04B3FC 000BCA03 */ sra $t9, $t3, 8 +/* 07FF30 7F04B400 AFB90050 */ sw $t9, 0x50($sp) +/* 07FF34 7F04B404 920C007B */ lbu $t4, 0x7b($s0) +/* 07FF38 7F04B408 018DC021 */ addu $t8, $t4, $t5 +/* 07FF3C 7F04B40C 2B010100 */ slti $at, $t8, 0x100 +/* 07FF40 7F04B410 14200002 */ bnez $at, .L7F04B41C +/* 07FF44 7F04B414 AFB80054 */ sw $t8, 0x54($sp) +/* 07FF48 7F04B418 AFAF0054 */ sw $t7, 0x54($sp) +.L7F04B41C: +/* 07FF4C 7F04B41C 0FC100E1 */ jal sub_GAME_7F040384 +/* 07FF50 7F04B420 8FA500AC */ lw $a1, 0xac($sp) +/* 07FF54 7F04B424 8FA90048 */ lw $t1, 0x48($sp) +/* 07FF58 7F04B428 8FAE0054 */ lw $t6, 0x54($sp) +/* 07FF5C 7F04B42C 8FB9004C */ lw $t9, 0x4c($sp) +/* 07FF60 7F04B430 8FB80050 */ lw $t8, 0x50($sp) +/* 07FF64 7F04B434 00095600 */ sll $t2, $t1, 0x18 +/* 07FF68 7F04B438 01CA5825 */ or $t3, $t6, $t2 +/* 07FF6C 7F04B43C 00196400 */ sll $t4, $t9, 0x10 +/* 07FF70 7F04B440 016C6825 */ or $t5, $t3, $t4 +/* 07FF74 7F04B444 00184200 */ sll $t0, $t8, 8 +/* 07FF78 7F04B448 01A87825 */ or $t7, $t5, $t0 +/* 07FF7C 7F04B44C AFAF00A0 */ sw $t7, 0xa0($sp) +/* 07FF80 7F04B450 8FA400C0 */ lw $a0, 0xc0($sp) +/* 07FF84 7F04B454 27A50068 */ addiu $a1, $sp, 0x68 +/* 07FF88 7F04B458 0FC12B08 */ jal sub_GAME_7F04AC20 +/* 07FF8C 7F04B45C 8FA600C8 */ lw $a2, 0xc8($sp) +/* 07FF90 7F04B460 8FA20074 */ lw $v0, 0x74($sp) +.L7F04B464: +/* 07FF94 7F04B464 8FBF0024 */ lw $ra, 0x24($sp) +/* 07FF98 7F04B468 8FB00020 */ lw $s0, 0x20($sp) +/* 07FF9C 7F04B46C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 07FFA0 7F04B470 03E00008 */ jr $ra +/* 07FFA4 7F04B474 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04B478(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04B478 +/* 07FFA8 7F04B478 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07FFAC 7F04B47C AFBF002C */ sw $ra, 0x2c($sp) +/* 07FFB0 7F04B480 AFB50028 */ sw $s5, 0x28($sp) +/* 07FFB4 7F04B484 AFB40024 */ sw $s4, 0x24($sp) +/* 07FFB8 7F04B488 AFB30020 */ sw $s3, 0x20($sp) +/* 07FFBC 7F04B48C AFB2001C */ sw $s2, 0x1c($sp) +/* 07FFC0 7F04B490 AFB10018 */ sw $s1, 0x18($sp) +/* 07FFC4 7F04B494 AFB00014 */ sw $s0, 0x14($sp) +/* 07FFC8 7F04B498 8C8E0014 */ lw $t6, 0x14($a0) +/* 07FFCC 7F04B49C 00808825 */ move $s1, $a0 +/* 07FFD0 7F04B4A0 24120008 */ li $s2, 8 +/* 07FFD4 7F04B4A4 8DC20008 */ lw $v0, 8($t6) +/* 07FFD8 7F04B4A8 24130012 */ li $s3, 18 +/* 07FFDC 7F04B4AC 24140017 */ li $s4, 23 +/* 07FFE0 7F04B4B0 8C500000 */ lw $s0, ($v0) +/* 07FFE4 7F04B4B4 24150018 */ li $s5, 24 +/* 07FFE8 7F04B4B8 5200002C */ beql $s0, $zero, .L7F04B56C +/* 07FFEC 7F04B4BC 00001025 */ move $v0, $zero +/* 07FFF0 7F04B4C0 96020000 */ lhu $v0, ($s0) +.L7F04B4C4: +/* 07FFF4 7F04B4C4 02002825 */ move $a1, $s0 +/* 07FFF8 7F04B4C8 304F00FF */ andi $t7, $v0, 0xff +/* 07FFFC 7F04B4CC 11F2000B */ beq $t7, $s2, .L7F04B4FC +/* 080000 7F04B4D0 00000000 */ nop +/* 080004 7F04B4D4 11F3000D */ beq $t7, $s3, .L7F04B50C +/* 080008 7F04B4D8 02002825 */ move $a1, $s0 +/* 08000C 7F04B4DC 11F4000F */ beq $t7, $s4, .L7F04B51C +/* 080010 7F04B4E0 02002825 */ move $a1, $s0 +/* 080014 7F04B4E4 11F50003 */ beq $t7, $s5, .L7F04B4F4 +/* 080018 7F04B4E8 00000000 */ nop +/* 08001C 7F04B4EC 1000000E */ b .L7F04B528 +/* 080020 7F04B4F0 8E020014 */ lw $v0, 0x14($s0) +.L7F04B4F4: +/* 080024 7F04B4F4 1000001D */ b .L7F04B56C +/* 080028 7F04B4F8 02001025 */ move $v0, $s0 +.L7F04B4FC: +/* 08002C 7F04B4FC 0FC1BA5C */ jal sub_GAME_7F06E970 +/* 080030 7F04B500 8E240014 */ lw $a0, 0x14($s1) +/* 080034 7F04B504 10000008 */ b .L7F04B528 +/* 080038 7F04B508 8E020014 */ lw $v0, 0x14($s0) +.L7F04B50C: +/* 08003C 7F04B50C 0FC1BA6F */ jal process_12_handle_switch +/* 080040 7F04B510 8E240014 */ lw $a0, 0x14($s1) +/* 080044 7F04B514 10000004 */ b .L7F04B528 +/* 080048 7F04B518 8E020014 */ lw $v0, 0x14($s0) +.L7F04B51C: +/* 08004C 7F04B51C 0FC1BA82 */ jal process_17_pointer_to_head +/* 080050 7F04B520 8E240014 */ lw $a0, 0x14($s1) +/* 080054 7F04B524 8E020014 */ lw $v0, 0x14($s0) +.L7F04B528: +/* 080058 7F04B528 10400003 */ beqz $v0, .L7F04B538 +/* 08005C 7F04B52C 00000000 */ nop +/* 080060 7F04B530 1000000B */ b .L7F04B560 +/* 080064 7F04B534 00408025 */ move $s0, $v0 +.L7F04B538: +/* 080068 7F04B538 12000009 */ beqz $s0, .L7F04B560 +/* 08006C 7F04B53C 00000000 */ nop +/* 080070 7F04B540 8E02000C */ lw $v0, 0xc($s0) +.L7F04B544: +/* 080074 7F04B544 50400004 */ beql $v0, $zero, .L7F04B558 +/* 080078 7F04B548 8E100008 */ lw $s0, 8($s0) +/* 08007C 7F04B54C 10000004 */ b .L7F04B560 +/* 080080 7F04B550 00408025 */ move $s0, $v0 +/* 080084 7F04B554 8E100008 */ lw $s0, 8($s0) +.L7F04B558: +/* 080088 7F04B558 5600FFFA */ bnezl $s0, .L7F04B544 +/* 08008C 7F04B55C 8E02000C */ lw $v0, 0xc($s0) +.L7F04B560: +/* 080090 7F04B560 5600FFD8 */ bnezl $s0, .L7F04B4C4 +/* 080094 7F04B564 96020000 */ lhu $v0, ($s0) +/* 080098 7F04B568 00001025 */ move $v0, $zero +.L7F04B56C: +/* 08009C 7F04B56C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0800A0 7F04B570 8FB00014 */ lw $s0, 0x14($sp) +/* 0800A4 7F04B574 8FB10018 */ lw $s1, 0x18($sp) +/* 0800A8 7F04B578 8FB2001C */ lw $s2, 0x1c($sp) +/* 0800AC 7F04B57C 8FB30020 */ lw $s3, 0x20($sp) +/* 0800B0 7F04B580 8FB40024 */ lw $s4, 0x24($sp) +/* 0800B4 7F04B584 8FB50028 */ lw $s5, 0x28($sp) +/* 0800B8 7F04B588 03E00008 */ jr $ra +/* 0800BC 7F04B58C 27BD0030 */ addiu $sp, $sp, 0x30 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04B590(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04B590 +/* 0800C0 7F04B590 8C820004 */ lw $v0, 4($a0) +/* 0800C4 7F04B594 3C0E8004 */ lui $t6, %hi(prop_console_one_screen_related) +/* 0800C8 7F04B598 25CEA070 */ addiu $t6, %lo(prop_console_one_screen_related) # addiu $t6, $t6, -0x5f90 +/* 0800CC 7F04B59C 15C20007 */ bne $t6, $v0, .L7F04B5BC +/* 0800D0 7F04B5A0 3C198004 */ lui $t9, %hi(prop_console_four_screen_related) +/* 0800D4 7F04B5A4 8C8F0008 */ lw $t7, 8($a0) +/* 0800D8 7F04B5A8 8DF80000 */ lw $t8, ($t7) +/* 0800DC 7F04B5AC 14B80003 */ bne $a1, $t8, .L7F04B5BC +/* 0800E0 7F04B5B0 00000000 */ nop +/* 0800E4 7F04B5B4 03E00008 */ jr $ra +/* 0800E8 7F04B5B8 00001025 */ move $v0, $zero + +.L7F04B5BC: +/* 0800EC 7F04B5BC 2739A084 */ addiu $t9, $t9, %lo(prop_console_four_screen_related) +/* 0800F0 7F04B5C0 57220011 */ bnel $t9, $v0, .L7F04B608 +/* 0800F4 7F04B5C4 24020001 */ li $v0, 1 +/* 0800F8 7F04B5C8 8C820008 */ lw $v0, 8($a0) +/* 0800FC 7F04B5CC 8C480000 */ lw $t0, ($v0) +/* 080100 7F04B5D0 10A8000A */ beq $a1, $t0, .L7F04B5FC +/* 080104 7F04B5D4 00000000 */ nop +/* 080108 7F04B5D8 8C490004 */ lw $t1, 4($v0) +/* 08010C 7F04B5DC 10A90007 */ beq $a1, $t1, .L7F04B5FC +/* 080110 7F04B5E0 00000000 */ nop +/* 080114 7F04B5E4 8C4A0008 */ lw $t2, 8($v0) +/* 080118 7F04B5E8 10AA0004 */ beq $a1, $t2, .L7F04B5FC +/* 08011C 7F04B5EC 00000000 */ nop +/* 080120 7F04B5F0 8C4B000C */ lw $t3, 0xc($v0) +/* 080124 7F04B5F4 54AB0004 */ bnel $a1, $t3, .L7F04B608 +/* 080128 7F04B5F8 24020001 */ li $v0, 1 +.L7F04B5FC: +/* 08012C 7F04B5FC 03E00008 */ jr $ra +/* 080130 7F04B600 00001025 */ move $v0, $zero + +/* 080134 7F04B604 24020001 */ li $v0, 1 +.L7F04B608: +/* 080138 7F04B608 03E00008 */ jr $ra +/* 08013C 7F04B60C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04B610(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04B610 +/* 080140 7F04B610 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 080144 7F04B614 AFB60030 */ sw $s6, 0x30($sp) +/* 080148 7F04B618 AFB40028 */ sw $s4, 0x28($sp) +/* 08014C 7F04B61C AFBF003C */ sw $ra, 0x3c($sp) +/* 080150 7F04B620 AFBE0038 */ sw $fp, 0x38($sp) +/* 080154 7F04B624 AFB70034 */ sw $s7, 0x34($sp) +/* 080158 7F04B628 AFB5002C */ sw $s5, 0x2c($sp) +/* 08015C 7F04B62C AFB30024 */ sw $s3, 0x24($sp) +/* 080160 7F04B630 AFB20020 */ sw $s2, 0x20($sp) +/* 080164 7F04B634 AFB1001C */ sw $s1, 0x1c($sp) +/* 080168 7F04B638 AFB00018 */ sw $s0, 0x18($sp) +/* 08016C 7F04B63C 3C14FFFE */ lui $s4, (0xFFFE7961 >> 16) # lui $s4, 0xfffe +/* 080170 7F04B640 3C160001 */ li $s6, 0x00010000 # 0.000000 +/* 080174 7F04B644 00A08025 */ move $s0, $a1 +/* 080178 7F04B648 0080F025 */ move $fp, $a0 +/* 08017C 7F04B64C 8C910014 */ lw $s1, 0x14($a0) +/* 080180 7F04B650 36D6869F */ ori $s6, (0x0001869F & 0xFFFF) # ori $s6, $s6, 0x869f +/* 080184 7F04B654 0FC12D1E */ jal sub_GAME_7F04B478 +/* 080188 7F04B658 36947961 */ ori $s4, (0xFFFE7961 & 0xFFFF) # ori $s4, $s4, 0x7961 +/* 08018C 7F04B65C 10400193 */ beqz $v0, .L7F04BCAC +/* 080190 7F04B660 00402825 */ move $a1, $v0 +/* 080194 7F04B664 8C550004 */ lw $s5, 4($v0) +/* 080198 7F04B668 52A00191 */ beql $s5, $zero, .L7F04BCB0 +/* 08019C 7F04B66C 8FBF003C */ lw $ra, 0x3c($sp) +/* 0801A0 7F04B670 8FCE0014 */ lw $t6, 0x14($fp) +/* 0801A4 7F04B674 0FC12D64 */ jal sub_GAME_7F04B590 +/* 0801A8 7F04B678 8DC40008 */ lw $a0, 8($t6) +/* 0801AC 7F04B67C 5040018C */ beql $v0, $zero, .L7F04BCB0 +/* 0801B0 7F04B680 8FBF003C */ lw $ra, 0x3c($sp) +/* 0801B4 7F04B684 96B8001A */ lhu $t8, 0x1a($s5) +/* 0801B8 7F04B688 8E2F0010 */ lw $t7, 0x10($s1) +/* 0801BC 7F04B68C 0018C880 */ sll $t9, $t8, 2 +/* 0801C0 7F04B690 0C002914 */ jal get_random_value +/* 0801C4 7F04B694 01F99821 */ addu $s3, $t7, $t9 +/* 0801C8 7F04B698 30480001 */ andi $t0, $v0, 1 +/* 0801CC 7F04B69C 1100000C */ beqz $t0, .L7F04B6D0 +/* 0801D0 7F04B6A0 00104840 */ sll $t1, $s0, 1 +/* 0801D4 7F04B6A4 AFA90040 */ sw $t1, 0x40($sp) +/* 0801D8 7F04B6A8 87CA0004 */ lh $t2, 4($fp) +/* 0801DC 7F04B6AC 3C0E8004 */ lui $t6, %hi(object_explosion_details+2) +/* 0801E0 7F04B6B0 000A58C0 */ sll $t3, $t2, 3 +/* 0801E4 7F04B6B4 016A5823 */ subu $t3, $t3, $t2 +/* 0801E8 7F04B6B8 000B5840 */ sll $t3, $t3, 1 +/* 0801EC 7F04B6BC 01696821 */ addu $t5, $t3, $t1 +/* 0801F0 7F04B6C0 01CD7021 */ addu $t6, $t6, $t5 +/* 0801F4 7F04B6C4 95CEB226 */ lhu $t6, %lo(object_explosion_details+2)($t6) +/* 0801F8 7F04B6C8 1000000C */ b .L7F04B6FC +/* 0801FC 7F04B6CC AFAE0078 */ sw $t6, 0x78($sp) +.L7F04B6D0: +/* 080200 7F04B6D0 87D80004 */ lh $t8, 4($fp) +/* 080204 7F04B6D4 00101040 */ sll $v0, $s0, 1 +/* 080208 7F04B6D8 3C088004 */ lui $t0, %hi(object_explosion_details+8) +/* 08020C 7F04B6DC 001878C0 */ sll $t7, $t8, 3 +/* 080210 7F04B6E0 01F87823 */ subu $t7, $t7, $t8 +/* 080214 7F04B6E4 000F7840 */ sll $t7, $t7, 1 +/* 080218 7F04B6E8 01E2C821 */ addu $t9, $t7, $v0 +/* 08021C 7F04B6EC 01194021 */ addu $t0, $t0, $t9 +/* 080220 7F04B6F0 9508B22C */ lhu $t0, %lo(object_explosion_details+8)($t0) +/* 080224 7F04B6F4 AFA20040 */ sw $v0, 0x40($sp) +/* 080228 7F04B6F8 AFA80078 */ sw $t0, 0x78($sp) +.L7F04B6FC: +/* 08022C 7F04B6FC 0FC243F1 */ jal get_debug_explosioninfo_flag +/* 080230 7F04B700 00000000 */ nop +/* 080234 7F04B704 14400003 */ bnez $v0, .L7F04B714 +/* 080238 7F04B708 8FA90078 */ lw $t1, 0x78($sp) +/* 08023C 7F04B70C 1520000B */ bnez $t1, .L7F04B73C +/* 080240 7F04B710 00000000 */ nop +.L7F04B714: +/* 080244 7F04B714 0FC243F1 */ jal get_debug_explosioninfo_flag +/* 080248 7F04B718 00000000 */ nop +/* 08024C 7F04B71C 0C002914 */ jal get_random_value +/* 080250 7F04B720 00000000 */ nop +/* 080254 7F04B724 0FC243F1 */ jal get_debug_explosioninfo_flag +/* 080258 7F04B728 AFA20078 */ sw $v0, 0x78($sp) +/* 08025C 7F04B72C 10400003 */ beqz $v0, .L7F04B73C +/* 080260 7F04B730 8FAA0078 */ lw $t2, 0x78($sp) +/* 080264 7F04B734 314BFFFF */ andi $t3, $t2, 0xffff +/* 080268 7F04B738 AFAB0078 */ sw $t3, 0x78($sp) +.L7F04B73C: +/* 08026C 7F04B73C 0FC28364 */ jal sub_GAME_7F0A0D90 +/* 080270 7F04B740 8FC40010 */ lw $a0, 0x10($fp) +/* 080274 7F04B744 87CC0004 */ lh $t4, 4($fp) +/* 080278 7F04B748 2401004C */ li $at, 76 +/* 08027C 7F04B74C 24170001 */ li $s7, 1 +/* 080280 7F04B750 15810003 */ bne $t4, $at, .L7F04B760 +/* 080284 7F04B754 00000000 */ nop +/* 080288 7F04B758 10000001 */ b .L7F04B760 +/* 08028C 7F04B75C 0000B825 */ move $s7, $zero +.L7F04B760: +/* 080290 7F04B760 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 080294 7F04B764 03C02025 */ move $a0, $fp +/* 080298 7F04B768 86A4000C */ lh $a0, 0xc($s5) +/* 08029C 7F04B76C 24050B0B */ li $a1, 2827 +/* 0802A0 7F04B770 8E260008 */ lw $a2, 8($s1) +/* 0802A4 7F04B774 0FC26F93 */ jal sub_GAME_7F09BE4C +/* 0802A8 7F04B778 00403825 */ move $a3, $v0 +/* 0802AC 7F04B77C 1040003A */ beqz $v0, .L7F04B868 +/* 0802B0 7F04B780 00408025 */ move $s0, $v0 +/* 0802B4 7F04B784 8E640000 */ lw $a0, ($s3) +/* 0802B8 7F04B788 8EAD0008 */ lw $t5, 8($s5) +/* 0802BC 7F04B78C 51A4001E */ beql $t5, $a0, .L7F04B808 +/* 0802C0 7F04B790 86AA000C */ lh $t2, 0xc($s5) +/* 0802C4 7F04B794 86AE000C */ lh $t6, 0xc($s5) +/* 0802C8 7F04B798 00009025 */ move $s2, $zero +/* 0802CC 7F04B79C 00008825 */ move $s1, $zero +/* 0802D0 7F04B7A0 19C00014 */ blez $t6, .L7F04B7F4 +/* 0802D4 7F04B7A4 00401825 */ move $v1, $v0 +/* 0802D8 7F04B7A8 8E780000 */ lw $t8, ($s3) +.L7F04B7AC: +/* 0802DC 7F04B7AC 26520001 */ addiu $s2, $s2, 1 +/* 0802E0 7F04B7B0 24630010 */ addiu $v1, $v1, 0x10 +/* 0802E4 7F04B7B4 03117821 */ addu $t7, $t8, $s1 +/* 0802E8 7F04B7B8 8DE10000 */ lw $at, ($t7) +/* 0802EC 7F04B7BC 26310010 */ addiu $s1, $s1, 0x10 +/* 0802F0 7F04B7C0 AC61FFF0 */ sw $at, -0x10($v1) +/* 0802F4 7F04B7C4 8DE80004 */ lw $t0, 4($t7) +/* 0802F8 7F04B7C8 AC68FFF4 */ sw $t0, -0xc($v1) +/* 0802FC 7F04B7CC 8DE10008 */ lw $at, 8($t7) +/* 080300 7F04B7D0 AC61FFF8 */ sw $at, -8($v1) +/* 080304 7F04B7D4 8DE8000C */ lw $t0, 0xc($t7) +/* 080308 7F04B7D8 AC68FFFC */ sw $t0, -4($v1) +/* 08030C 7F04B7DC 86A9000C */ lh $t1, 0xc($s5) +/* 080310 7F04B7E0 0249082A */ slt $at, $s2, $t1 +/* 080314 7F04B7E4 5420FFF1 */ bnezl $at, .L7F04B7AC +/* 080318 7F04B7E8 8E780000 */ lw $t8, ($s3) +/* 08031C 7F04B7EC 8E640000 */ lw $a0, ($s3) +/* 080320 7F04B7F0 00009025 */ move $s2, $zero +.L7F04B7F4: +/* 080324 7F04B7F4 0FC27011 */ jal sub_GAME_7F09C044 +/* 080328 7F04B7F8 00000000 */ nop +/* 08032C 7F04B7FC 10000018 */ b .L7F04B860 +/* 080330 7F04B800 00000000 */ nop +/* 080334 7F04B804 86AA000C */ lh $t2, 0xc($s5) +.L7F04B808: +/* 080338 7F04B808 00009025 */ move $s2, $zero +/* 08033C 7F04B80C 00008825 */ move $s1, $zero +/* 080340 7F04B810 19400013 */ blez $t2, .L7F04B860 +/* 080344 7F04B814 00401825 */ move $v1, $v0 +/* 080348 7F04B818 8EAB0008 */ lw $t3, 8($s5) +.L7F04B81C: +/* 08034C 7F04B81C 26520001 */ addiu $s2, $s2, 1 +/* 080350 7F04B820 24630010 */ addiu $v1, $v1, 0x10 +/* 080354 7F04B824 01716021 */ addu $t4, $t3, $s1 +/* 080358 7F04B828 8D810000 */ lw $at, ($t4) +/* 08035C 7F04B82C 26310010 */ addiu $s1, $s1, 0x10 +/* 080360 7F04B830 AC61FFF0 */ sw $at, -0x10($v1) +/* 080364 7F04B834 8D8E0004 */ lw $t6, 4($t4) +/* 080368 7F04B838 AC6EFFF4 */ sw $t6, -0xc($v1) +/* 08036C 7F04B83C 8D810008 */ lw $at, 8($t4) +/* 080370 7F04B840 AC61FFF8 */ sw $at, -8($v1) +/* 080374 7F04B844 8D8E000C */ lw $t6, 0xc($t4) +/* 080378 7F04B848 AC6EFFFC */ sw $t6, -4($v1) +/* 08037C 7F04B84C 86B8000C */ lh $t8, 0xc($s5) +/* 080380 7F04B850 0258082A */ slt $at, $s2, $t8 +/* 080384 7F04B854 5420FFF1 */ bnezl $at, .L7F04B81C +/* 080388 7F04B858 8EAB0008 */ lw $t3, 8($s5) +/* 08038C 7F04B85C 00009025 */ move $s2, $zero +.L7F04B860: +/* 080390 7F04B860 10000036 */ b .L7F04B93C +/* 080394 7F04B864 AE700000 */ sw $s0, ($s3) +.L7F04B868: +/* 080398 7F04B868 8E640000 */ lw $a0, ($s3) +/* 08039C 7F04B86C 8EB90008 */ lw $t9, 8($s5) +/* 0803A0 7F04B870 13240008 */ beq $t9, $a0, .L7F04B894 +/* 0803A4 7F04B874 00000000 */ nop +/* 0803A8 7F04B878 0FC27011 */ jal sub_GAME_7F09C044 +/* 0803AC 7F04B87C 00000000 */ nop +/* 0803B0 7F04B880 8EAF0008 */ lw $t7, 8($s5) +/* 0803B4 7F04B884 AE6F0000 */ sw $t7, ($s3) +/* 0803B8 7F04B888 8FC80064 */ lw $t0, 0x64($fp) +/* 0803BC 7F04B88C 35090004 */ ori $t1, $t0, 4 +/* 0803C0 7F04B890 AFC90064 */ sw $t1, 0x64($fp) +.L7F04B894: +/* 0803C4 7F04B894 3C018005 */ lui $at, %hi(D_80052CB4) +/* 0803C8 7F04B898 C4202CB4 */ lwc1 $f0, %lo(D_80052CB4)($at) +/* 0803CC 7F04B89C C7C40028 */ lwc1 $f4, 0x28($fp) +/* 0803D0 7F04B8A0 C7C8002C */ lwc1 $f8, 0x2c($fp) +/* 0803D4 7F04B8A4 C7D00030 */ lwc1 $f16, 0x30($fp) +/* 0803D8 7F04B8A8 46002182 */ mul.s $f6, $f4, $f0 +/* 0803DC 7F04B8AC 00000000 */ nop +/* 0803E0 7F04B8B0 46004282 */ mul.s $f10, $f8, $f0 +/* 0803E4 7F04B8B4 00000000 */ nop +/* 0803E8 7F04B8B8 46008482 */ mul.s $f18, $f16, $f0 +/* 0803EC 7F04B8BC E7C60028 */ swc1 $f6, 0x28($fp) +/* 0803F0 7F04B8C0 E7CA002C */ swc1 $f10, 0x2c($fp) +/* 0803F4 7F04B8C4 12E000F9 */ beqz $s7, .L7F04BCAC +/* 0803F8 7F04B8C8 E7D20030 */ swc1 $f18, 0x30($fp) +/* 0803FC 7F04B8CC 8FC20014 */ lw $v0, 0x14($fp) +/* 080400 7F04B8D0 C4440014 */ lwc1 $f4, 0x14($v0) +/* 080404 7F04B8D4 8C440008 */ lw $a0, 8($v0) +/* 080408 7F04B8D8 0FC0FFFE */ jal sub_GAME_7F03FFF8 +/* 08040C 7F04B8DC E7A4005C */ swc1 $f4, 0x5c($sp) +/* 080410 7F04B8E0 00408025 */ move $s0, $v0 +/* 080414 7F04B8E4 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 080418 7F04B8E8 00402025 */ move $a0, $v0 +/* 08041C 7F04B8EC C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 080420 7F04B8F0 3C018005 */ lui $at, %hi(D_80052CB8) +/* 080424 7F04B8F4 C42A2CB8 */ lwc1 $f10, %lo(D_80052CB8)($at) +/* 080428 7F04B8F8 46003202 */ mul.s $f8, $f6, $f0 +/* 08042C 7F04B8FC 8FC20010 */ lw $v0, 0x10($fp) +/* 080430 7F04B900 02002025 */ move $a0, $s0 +/* 080434 7F04B904 C452000C */ lwc1 $f18, 0xc($v0) +/* 080438 7F04B908 460A4402 */ mul.s $f16, $f8, $f10 +/* 08043C 7F04B90C 46109100 */ add.s $f4, $f18, $f16 +/* 080440 7F04B910 0FC0FA19 */ jal sub_GAME_7F03E864 +/* 080444 7F04B914 E444000C */ swc1 $f4, 0xc($v0) +/* 080448 7F04B918 C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 08044C 7F04B91C 3C018005 */ lui $at, %hi(D_80052CBC) +/* 080450 7F04B920 C42A2CBC */ lwc1 $f10, %lo(D_80052CBC)($at) +/* 080454 7F04B924 46003202 */ mul.s $f8, $f6, $f0 +/* 080458 7F04B928 C7D0005C */ lwc1 $f16, 0x5c($fp) +/* 08045C 7F04B92C 460A4482 */ mul.s $f18, $f8, $f10 +/* 080460 7F04B930 46128100 */ add.s $f4, $f16, $f18 +/* 080464 7F04B934 100000DD */ b .L7F04BCAC +/* 080468 7F04B938 E7C4005C */ swc1 $f4, 0x5c($fp) +.L7F04B93C: +/* 08046C 7F04B93C 87C20004 */ lh $v0, 4($fp) +/* 080470 7F04B940 24010026 */ li $at, 38 +/* 080474 7F04B944 00008825 */ move $s1, $zero +/* 080478 7F04B948 10410005 */ beq $v0, $at, .L7F04B960 +/* 08047C 7F04B94C 24010027 */ li $at, 39 +/* 080480 7F04B950 10410003 */ beq $v0, $at, .L7F04B960 +/* 080484 7F04B954 24010055 */ li $at, 85 +/* 080488 7F04B958 14410003 */ bne $v0, $at, .L7F04B968 +/* 08048C 7F04B95C 240A0001 */ li $t2, 1 +.L7F04B960: +/* 080490 7F04B960 10000002 */ b .L7F04B96C +/* 080494 7F04B964 AFA00070 */ sw $zero, 0x70($sp) +.L7F04B968: +/* 080498 7F04B968 AFAA0070 */ sw $t2, 0x70($sp) +.L7F04B96C: +/* 08049C 7F04B96C 86A4000C */ lh $a0, 0xc($s5) +/* 0804A0 7F04B970 8FA50040 */ lw $a1, 0x40($sp) +/* 0804A4 7F04B974 18800010 */ blez $a0, .L7F04B9B8 +/* 0804A8 7F04B978 00041900 */ sll $v1, $a0, 4 +/* 0804AC 7F04B97C 8E700000 */ lw $s0, ($s3) +.L7F04B980: +/* 0804B0 7F04B980 86020002 */ lh $v0, 2($s0) +/* 0804B4 7F04B984 26310010 */ addiu $s1, $s1, 0x10 +/* 0804B8 7F04B988 0056082A */ slt $at, $v0, $s6 +/* 0804BC 7F04B98C 50200003 */ beql $at, $zero, .L7F04B99C +/* 0804C0 7F04B990 0282082A */ slt $at, $s4, $v0 +/* 0804C4 7F04B994 0040B025 */ move $s6, $v0 +/* 0804C8 7F04B998 0282082A */ slt $at, $s4, $v0 +.L7F04B99C: +/* 0804CC 7F04B99C 50200003 */ beql $at, $zero, .L7F04B9AC +/* 0804D0 7F04B9A0 0223082A */ slt $at, $s1, $v1 +/* 0804D4 7F04B9A4 0040A025 */ move $s4, $v0 +/* 0804D8 7F04B9A8 0223082A */ slt $at, $s1, $v1 +.L7F04B9AC: +/* 0804DC 7F04B9AC 1420FFF4 */ bnez $at, .L7F04B980 +/* 0804E0 7F04B9B0 26100010 */ addiu $s0, $s0, 0x10 +/* 0804E4 7F04B9B4 00009025 */ move $s2, $zero +.L7F04B9B8: +/* 0804E8 7F04B9B8 02D41021 */ addu $v0, $s6, $s4 +/* 0804EC 7F04B9BC 00025843 */ sra $t3, $v0, 1 +/* 0804F0 7F04B9C0 24010006 */ li $at, 6 +/* 0804F4 7F04B9C4 14A10006 */ bne $a1, $at, .L7F04B9E0 +/* 0804F8 7F04B9C8 01601825 */ move $v1, $t3 +/* 0804FC 7F04B9CC 01766823 */ subu $t5, $t3, $s6 +/* 080500 7F04B9D0 29A10029 */ slti $at, $t5, 0x29 +/* 080504 7F04B9D4 54200003 */ bnezl $at, .L7F04B9E4 +/* 080508 7F04B9D8 02961023 */ subu $v0, $s4, $s6 +/* 08050C 7F04B9DC 26C30028 */ addiu $v1, $s6, 0x28 +.L7F04B9E0: +/* 080510 7F04B9E0 02961023 */ subu $v0, $s4, $s6 +.L7F04B9E4: +/* 080514 7F04B9E4 2841003D */ slti $at, $v0, 0x3d +/* 080518 7F04B9E8 1420000E */ bnez $at, .L7F04BA24 +/* 08051C 7F04B9EC 28A10006 */ slti $at, $a1, 6 +/* 080520 7F04B9F0 10200005 */ beqz $at, .L7F04BA08 +/* 080524 7F04B9F4 244CFFC4 */ addiu $t4, $v0, -0x3c +/* 080528 7F04B9F8 3C018005 */ lui $at, %hi(D_80052CC0) +/* 08052C 7F04B9FC C4262CC0 */ lwc1 $f6, %lo(D_80052CC0)($at) +/* 080530 7F04BA00 1000000C */ b .L7F04BA34 +/* 080534 7F04BA04 E7A60068 */ swc1 $f6, 0x68($sp) +.L7F04BA08: +/* 080538 7F04BA08 448C4000 */ mtc1 $t4, $f8 +/* 08053C 7F04BA0C 44828000 */ mtc1 $v0, $f16 +/* 080540 7F04BA10 468042A0 */ cvt.s.w $f10, $f8 +/* 080544 7F04BA14 468084A0 */ cvt.s.w $f18, $f16 +/* 080548 7F04BA18 46125103 */ div.s $f4, $f10, $f18 +/* 08054C 7F04BA1C 10000005 */ b .L7F04BA34 +/* 080550 7F04BA20 E7A40068 */ swc1 $f4, 0x68($sp) +.L7F04BA24: +/* 080554 7F04BA24 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 080558 7F04BA28 44813000 */ mtc1 $at, $f6 +/* 08055C 7F04BA2C 00000000 */ nop +/* 080560 7F04BA30 E7A60068 */ swc1 $f6, 0x68($sp) +.L7F04BA34: +/* 080564 7F04BA34 5880009E */ blezl $a0, .L7F04BCB0 +/* 080568 7F04BA38 8FBF003C */ lw $ra, 0x3c($sp) +/* 08056C 7F04BA3C 44964000 */ mtc1 $s6, $f8 +/* 080570 7F04BA40 00008825 */ move $s1, $zero +/* 080574 7F04BA44 AFA3007C */ sw $v1, 0x7c($sp) +/* 080578 7F04BA48 46804420 */ cvt.s.w $f16, $f8 +/* 08057C 7F04BA4C 24140050 */ li $s4, 80 +/* 080580 7F04BA50 E7B00044 */ swc1 $f16, 0x44($sp) +/* 080584 7F04BA54 8EAE0008 */ lw $t6, 8($s5) +.L7F04BA58: +/* 080588 7F04BA58 8FAA0078 */ lw $t2, 0x78($sp) +/* 08058C 7F04BA5C 01D11021 */ addu $v0, $t6, $s1 +/* 080590 7F04BA60 84580004 */ lh $t8, 4($v0) +/* 080594 7F04BA64 84590000 */ lh $t9, ($v0) +/* 080598 7F04BA68 84480002 */ lh $t0, 2($v0) +/* 08059C 7F04BA6C 03197821 */ addu $t7, $t8, $t9 +/* 0805A0 7F04BA70 01E84821 */ addu $t1, $t7, $t0 +/* 0805A4 7F04BA74 0FC26DE2 */ jal sub_GAME_7F09B788 +/* 0805A8 7F04BA78 012A2021 */ addu $a0, $t1, $t2 +/* 0805AC 7F04BA7C 8FAB0070 */ lw $t3, 0x70($sp) +/* 0805B0 7F04BA80 00008025 */ move $s0, $zero +/* 0805B4 7F04BA84 1160002E */ beqz $t3, .L7F04BB40 +/* 0805B8 7F04BA88 00000000 */ nop +/* 0805BC 7F04BA8C C7CA002C */ lwc1 $f10, 0x2c($fp) +/* 0805C0 7F04BA90 44809000 */ mtc1 $zero, $f18 +/* 0805C4 7F04BA94 00000000 */ nop +/* 0805C8 7F04BA98 460A903E */ c.le.s $f18, $f10 +/* 0805CC 7F04BA9C 00000000 */ nop +/* 0805D0 7F04BAA0 45020015 */ bc1fl .L7F04BAF8 +/* 0805D4 7F04BAA4 8E6F0000 */ lw $t7, ($s3) +/* 0805D8 7F04BAA8 8E6D0000 */ lw $t5, ($s3) +/* 0805DC 7F04BAAC 8FB8007C */ lw $t8, 0x7c($sp) +/* 0805E0 7F04BAB0 01B16021 */ addu $t4, $t5, $s1 +/* 0805E4 7F04BAB4 858E0002 */ lh $t6, 2($t4) +/* 0805E8 7F04BAB8 01D8082A */ slt $at, $t6, $t8 +/* 0805EC 7F04BABC 14200007 */ bnez $at, .L7F04BADC +/* 0805F0 7F04BAC0 00000000 */ nop +/* 0805F4 7F04BAC4 12E00003 */ beqz $s7, .L7F04BAD4 +/* 0805F8 7F04BAC8 00000000 */ nop +/* 0805FC 7F04BACC 1000001C */ b .L7F04BB40 +/* 080600 7F04BAD0 2410005A */ li $s0, 90 +.L7F04BAD4: +/* 080604 7F04BAD4 1000001A */ b .L7F04BB40 +/* 080608 7F04BAD8 24100014 */ li $s0, 20 +.L7F04BADC: +/* 08060C 7F04BADC 12E00003 */ beqz $s7, .L7F04BAEC +/* 080610 7F04BAE0 00000000 */ nop +/* 080614 7F04BAE4 10000016 */ b .L7F04BB40 +/* 080618 7F04BAE8 24100014 */ li $s0, 20 +.L7F04BAEC: +/* 08061C 7F04BAEC 10000014 */ b .L7F04BB40 +/* 080620 7F04BAF0 2410005A */ li $s0, 90 +/* 080624 7F04BAF4 8E6F0000 */ lw $t7, ($s3) +.L7F04BAF8: +/* 080628 7F04BAF8 8FB9007C */ lw $t9, 0x7c($sp) +/* 08062C 7F04BAFC 01F14021 */ addu $t0, $t7, $s1 +/* 080630 7F04BB00 85090002 */ lh $t1, 2($t0) +/* 080634 7F04BB04 0329082A */ slt $at, $t9, $t1 +/* 080638 7F04BB08 14200007 */ bnez $at, .L7F04BB28 +/* 08063C 7F04BB0C 00000000 */ nop +/* 080640 7F04BB10 12E00003 */ beqz $s7, .L7F04BB20 +/* 080644 7F04BB14 00000000 */ nop +/* 080648 7F04BB18 10000009 */ b .L7F04BB40 +/* 08064C 7F04BB1C 2410005A */ li $s0, 90 +.L7F04BB20: +/* 080650 7F04BB20 10000007 */ b .L7F04BB40 +/* 080654 7F04BB24 24100014 */ li $s0, 20 +.L7F04BB28: +/* 080658 7F04BB28 12E00003 */ beqz $s7, .L7F04BB38 +/* 08065C 7F04BB2C 00000000 */ nop +/* 080660 7F04BB30 10000003 */ b .L7F04BB40 +/* 080664 7F04BB34 24100014 */ li $s0, 20 +.L7F04BB38: +/* 080668 7F04BB38 10000001 */ b .L7F04BB40 +/* 08066C 7F04BB3C 2410005A */ li $s0, 90 +.L7F04BB40: +/* 080670 7F04BB40 0FC26DD0 */ jal sub_GAME_7F09B740 +/* 080674 7F04BB44 00000000 */ nop +/* 080678 7F04BB48 24010064 */ li $at, 100 +/* 08067C 7F04BB4C 0041001B */ divu $zero, $v0, $at +/* 080680 7F04BB50 00005010 */ mfhi $t2 +/* 080684 7F04BB54 0150082A */ slt $at, $t2, $s0 +/* 080688 7F04BB58 1020000F */ beqz $at, .L7F04BB98 +/* 08068C 7F04BB5C 8FAA0040 */ lw $t2, 0x40($sp) +/* 080690 7F04BB60 8E6B0000 */ lw $t3, ($s3) +/* 080694 7F04BB64 240800FF */ li $t0, 255 +/* 080698 7F04BB68 01716821 */ addu $t5, $t3, $s1 +/* 08069C 7F04BB6C A1A0000C */ sb $zero, 0xc($t5) +/* 0806A0 7F04BB70 8E6C0000 */ lw $t4, ($s3) +/* 0806A4 7F04BB74 01917021 */ addu $t6, $t4, $s1 +/* 0806A8 7F04BB78 A1C0000D */ sb $zero, 0xd($t6) +/* 0806AC 7F04BB7C 8E780000 */ lw $t8, ($s3) +/* 0806B0 7F04BB80 03117821 */ addu $t7, $t8, $s1 +/* 0806B4 7F04BB84 A1E0000E */ sb $zero, 0xe($t7) +/* 0806B8 7F04BB88 8E790000 */ lw $t9, ($s3) +/* 0806BC 7F04BB8C 03314821 */ addu $t1, $t9, $s1 +/* 0806C0 7F04BB90 10000007 */ b .L7F04BBB0 +/* 0806C4 7F04BB94 A128000F */ sb $t0, 0xf($t1) +.L7F04BB98: +/* 0806C8 7F04BB98 24010002 */ li $at, 2 +/* 0806CC 7F04BB9C 55410005 */ bnel $t2, $at, .L7F04BBB4 +/* 0806D0 7F04BBA0 8E6C0000 */ lw $t4, ($s3) +/* 0806D4 7F04BBA4 8E6B0000 */ lw $t3, ($s3) +/* 0806D8 7F04BBA8 01716821 */ addu $t5, $t3, $s1 +/* 0806DC 7F04BBAC A1A0000F */ sb $zero, 0xf($t5) +.L7F04BBB0: +/* 0806E0 7F04BBB0 8E6C0000 */ lw $t4, ($s3) +.L7F04BBB4: +/* 0806E4 7F04BBB4 C7A80068 */ lwc1 $f8, 0x68($sp) +/* 0806E8 7F04BBB8 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 0806EC 7F04BBBC 01918021 */ addu $s0, $t4, $s1 +/* 0806F0 7F04BBC0 860E0002 */ lh $t6, 2($s0) +/* 0806F4 7F04BBC4 01D6C023 */ subu $t8, $t6, $s6 +/* 0806F8 7F04BBC8 44982000 */ mtc1 $t8, $f4 +/* 0806FC 7F04BBCC 00000000 */ nop +/* 080700 7F04BBD0 468021A0 */ cvt.s.w $f6, $f4 +/* 080704 7F04BBD4 46083402 */ mul.s $f16, $f6, $f8 +/* 080708 7F04BBD8 460A8480 */ add.s $f18, $f16, $f10 +/* 08070C 7F04BBDC 4600910D */ trunc.w.s $f4, $f18 +/* 080710 7F04BBE0 44192000 */ mfc1 $t9, $f4 +/* 080714 7F04BBE4 0FC26DD0 */ jal sub_GAME_7F09B740 +/* 080718 7F04BBE8 A6190002 */ sh $t9, 2($s0) +/* 08071C 7F04BBEC 0054001B */ divu $zero, $v0, $s4 +/* 080720 7F04BBF0 8E680000 */ lw $t0, ($s3) +/* 080724 7F04BBF4 00005010 */ mfhi $t2 +/* 080728 7F04BBF8 01118021 */ addu $s0, $t0, $s1 +/* 08072C 7F04BBFC 86090000 */ lh $t1, ($s0) +/* 080730 7F04BC00 16800002 */ bnez $s4, .L7F04BC0C +/* 080734 7F04BC04 00000000 */ nop +/* 080738 7F04BC08 0007000D */ break 7 +.L7F04BC0C: +/* 08073C 7F04BC0C 012A5821 */ addu $t3, $t1, $t2 +/* 080740 7F04BC10 256DFFD8 */ addiu $t5, $t3, -0x28 +/* 080744 7F04BC14 0FC26DD0 */ jal sub_GAME_7F09B740 +/* 080748 7F04BC18 A60D0000 */ sh $t5, ($s0) +/* 08074C 7F04BC1C 0054001B */ divu $zero, $v0, $s4 +/* 080750 7F04BC20 8E6C0000 */ lw $t4, ($s3) +/* 080754 7F04BC24 0000C010 */ mfhi $t8 +/* 080758 7F04BC28 01918021 */ addu $s0, $t4, $s1 +/* 08075C 7F04BC2C 860E0002 */ lh $t6, 2($s0) +/* 080760 7F04BC30 16800002 */ bnez $s4, .L7F04BC3C +/* 080764 7F04BC34 00000000 */ nop +/* 080768 7F04BC38 0007000D */ break 7 +.L7F04BC3C: +/* 08076C 7F04BC3C 01D87821 */ addu $t7, $t6, $t8 +/* 080770 7F04BC40 25F9FFD8 */ addiu $t9, $t7, -0x28 +/* 080774 7F04BC44 0FC26DD0 */ jal sub_GAME_7F09B740 +/* 080778 7F04BC48 A6190002 */ sh $t9, 2($s0) +/* 08077C 7F04BC4C 0054001B */ divu $zero, $v0, $s4 +/* 080780 7F04BC50 8E680000 */ lw $t0, ($s3) +/* 080784 7F04BC54 00005010 */ mfhi $t2 +/* 080788 7F04BC58 01118021 */ addu $s0, $t0, $s1 +/* 08078C 7F04BC5C 86090004 */ lh $t1, 4($s0) +/* 080790 7F04BC60 16800002 */ bnez $s4, .L7F04BC6C +/* 080794 7F04BC64 00000000 */ nop +/* 080798 7F04BC68 0007000D */ break 7 +.L7F04BC6C: +/* 08079C 7F04BC6C 012A5821 */ addu $t3, $t1, $t2 +/* 0807A0 7F04BC70 256DFFD8 */ addiu $t5, $t3, -0x28 +/* 0807A4 7F04BC74 A60D0004 */ sh $t5, 4($s0) +/* 0807A8 7F04BC78 8E6C0000 */ lw $t4, ($s3) +/* 0807AC 7F04BC7C 01918021 */ addu $s0, $t4, $s1 +/* 0807B0 7F04BC80 860E0002 */ lh $t6, 2($s0) +/* 0807B4 7F04BC84 01D6082A */ slt $at, $t6, $s6 +/* 0807B8 7F04BC88 50200003 */ beql $at, $zero, .L7F04BC98 +/* 0807BC 7F04BC8C 86B8000C */ lh $t8, 0xc($s5) +/* 0807C0 7F04BC90 A6160002 */ sh $s6, 2($s0) +/* 0807C4 7F04BC94 86B8000C */ lh $t8, 0xc($s5) +.L7F04BC98: +/* 0807C8 7F04BC98 26520001 */ addiu $s2, $s2, 1 +/* 0807CC 7F04BC9C 26310010 */ addiu $s1, $s1, 0x10 +/* 0807D0 7F04BCA0 0258082A */ slt $at, $s2, $t8 +/* 0807D4 7F04BCA4 5420FF6C */ bnezl $at, .L7F04BA58 +/* 0807D8 7F04BCA8 8EAE0008 */ lw $t6, 8($s5) +.L7F04BCAC: +/* 0807DC 7F04BCAC 8FBF003C */ lw $ra, 0x3c($sp) +.L7F04BCB0: +/* 0807E0 7F04BCB0 8FB00018 */ lw $s0, 0x18($sp) +/* 0807E4 7F04BCB4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0807E8 7F04BCB8 8FB20020 */ lw $s2, 0x20($sp) +/* 0807EC 7F04BCBC 8FB30024 */ lw $s3, 0x24($sp) +/* 0807F0 7F04BCC0 8FB40028 */ lw $s4, 0x28($sp) +/* 0807F4 7F04BCC4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0807F8 7F04BCC8 8FB60030 */ lw $s6, 0x30($sp) +/* 0807FC 7F04BCCC 8FB70034 */ lw $s7, 0x34($sp) +/* 080800 7F04BCD0 8FBE0038 */ lw $fp, 0x38($sp) +/* 080804 7F04BCD4 03E00008 */ jr $ra +/* 080808 7F04BCD8 27BD0098 */ addiu $sp, $sp, 0x98 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04BCDC(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052CC4 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052CC8 +.word 0x40555555 /*3.3333333*/ +glabel D_80052CCC +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052CD0 +.word 0x40555555 /*3.3333333*/ +glabel D_80052CD4 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052CD8 +.word 0x40555555 /*3.3333333*/ +glabel D_80052CDC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052CE0 +.word 0x3d490fdb /*0.049087387*/ +glabel D_80052CE4 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052CE8 +.word 0x3d490fdb /*0.049087387*/ +glabel D_80052CEC +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052CF0 +.word 0x3d490fdb /*0.049087387*/ +glabel D_80052CF4 +.word 0x40555555 /*3.3333333*/ +.text +glabel sub_GAME_7F04BCDC +/* 08080C 7F04BCDC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 080810 7F04BCE0 3C0F8003 */ lui $t7, %hi(D_80032010) +/* 080814 7F04BCE4 AFBF0024 */ sw $ra, 0x24($sp) +/* 080818 7F04BCE8 AFB00020 */ sw $s0, 0x20($sp) +/* 08081C 7F04BCEC F7B40018 */ sdc1 $f20, 0x18($sp) +/* 080820 7F04BCF0 AFA50054 */ sw $a1, 0x54($sp) +/* 080824 7F04BCF4 25EF2010 */ addiu $t7, %lo(D_80032010) # addiu $t7, $t7, 0x2010 +/* 080828 7F04BCF8 8DE10000 */ lw $at, ($t7) +/* 08082C 7F04BCFC 27AE0038 */ addiu $t6, $sp, 0x38 +/* 080830 7F04BD00 8DE80004 */ lw $t0, 4($t7) +/* 080834 7F04BD04 ADC10000 */ sw $at, ($t6) +/* 080838 7F04BD08 8DE10008 */ lw $at, 8($t7) +/* 08083C 7F04BD0C 00803025 */ move $a2, $a0 +/* 080840 7F04BD10 ADC80004 */ sw $t0, 4($t6) +/* 080844 7F04BD14 ADC10008 */ sw $at, 8($t6) +/* 080848 7F04BD18 8C840010 */ lw $a0, 0x10($a0) +/* 08084C 7F04BD1C 00008025 */ move $s0, $zero +/* 080850 7F04BD20 0FC0FF6A */ jal sub_GAME_7F03FDA8 +/* 080854 7F04BD24 AFA60050 */ sw $a2, 0x50($sp) +/* 080858 7F04BD28 8FA60050 */ lw $a2, 0x50($sp) +/* 08085C 7F04BD2C 8CC20064 */ lw $v0, 0x64($a2) +/* 080860 7F04BD30 30490040 */ andi $t1, $v0, 0x40 +/* 080864 7F04BD34 11200004 */ beqz $t1, .L7F04BD48 +/* 080868 7F04BD38 304B0080 */ andi $t3, $v0, 0x80 +/* 08086C 7F04BD3C 8CCA006C */ lw $t2, 0x6c($a2) +/* 080870 7F04BD40 10000004 */ b .L7F04BD54 +/* 080874 7F04BD44 8D500044 */ lw $s0, 0x44($t2) +.L7F04BD48: +/* 080878 7F04BD48 11600002 */ beqz $t3, .L7F04BD54 +/* 08087C 7F04BD4C 00000000 */ nop +/* 080880 7F04BD50 8CD0006C */ lw $s0, 0x6c($a2) +.L7F04BD54: +/* 080884 7F04BD54 5200009A */ beql $s0, $zero, .L7F04BFC0 +/* 080888 7F04BD58 8FBF0024 */ lw $ra, 0x24($sp) +/* 08088C 7F04BD5C 0C002914 */ jal get_random_value +/* 080890 7F04BD60 00000000 */ nop +/* 080894 7F04BD64 44822000 */ mtc1 $v0, $f4 +/* 080898 7F04BD68 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 08089C 7F04BD6C 4481A000 */ mtc1 $at, $f20 +/* 0808A0 7F04BD70 04410005 */ bgez $v0, .L7F04BD88 +/* 0808A4 7F04BD74 468021A0 */ cvt.s.w $f6, $f4 +/* 0808A8 7F04BD78 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0808AC 7F04BD7C 44814000 */ mtc1 $at, $f8 +/* 0808B0 7F04BD80 00000000 */ nop +/* 0808B4 7F04BD84 46083180 */ add.s $f6, $f6, $f8 +.L7F04BD88: +/* 0808B8 7F04BD88 46143282 */ mul.s $f10, $f6, $f20 +/* 0808BC 7F04BD8C 3C018005 */ lui $at, %hi(D_80052CC4) +/* 0808C0 7F04BD90 C4302CC4 */ lwc1 $f16, %lo(D_80052CC4)($at) +/* 0808C4 7F04BD94 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0808C8 7F04BD98 44812000 */ mtc1 $at, $f4 +/* 0808CC 7F04BD9C 3C018005 */ lui $at, %hi(D_80052CC8) +/* 0808D0 7F04BDA0 C4262CC8 */ lwc1 $f6, %lo(D_80052CC8)($at) +/* 0808D4 7F04BDA4 46105482 */ mul.s $f18, $f10, $f16 +/* 0808D8 7F04BDA8 00000000 */ nop +/* 0808DC 7F04BDAC 46049202 */ mul.s $f8, $f18, $f4 +/* 0808E0 7F04BDB0 46064281 */ sub.s $f10, $f8, $f6 +/* 0808E4 7F04BDB4 0C002914 */ jal get_random_value +/* 0808E8 7F04BDB8 E60A0004 */ swc1 $f10, 4($s0) +/* 0808EC 7F04BDBC 44828000 */ mtc1 $v0, $f16 +/* 0808F0 7F04BDC0 04410005 */ bgez $v0, .L7F04BDD8 +/* 0808F4 7F04BDC4 468084A0 */ cvt.s.w $f18, $f16 +/* 0808F8 7F04BDC8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0808FC 7F04BDCC 44812000 */ mtc1 $at, $f4 +/* 080900 7F04BDD0 00000000 */ nop +/* 080904 7F04BDD4 46049480 */ add.s $f18, $f18, $f4 +.L7F04BDD8: +/* 080908 7F04BDD8 46149202 */ mul.s $f8, $f18, $f20 +/* 08090C 7F04BDDC 3C018005 */ lui $at, %hi(D_80052CCC) +/* 080910 7F04BDE0 C4262CCC */ lwc1 $f6, %lo(D_80052CCC)($at) +/* 080914 7F04BDE4 3C018005 */ lui $at, %hi(D_80052CD0) +/* 080918 7F04BDE8 C4302CD0 */ lwc1 $f16, %lo(D_80052CD0)($at) +/* 08091C 7F04BDEC 46064002 */ mul.s $f0, $f8, $f6 +/* 080920 7F04BDF0 46000280 */ add.s $f10, $f0, $f0 +/* 080924 7F04BDF4 46105100 */ add.s $f4, $f10, $f16 +/* 080928 7F04BDF8 0C002914 */ jal get_random_value +/* 08092C 7F04BDFC E6040008 */ swc1 $f4, 8($s0) +/* 080930 7F04BE00 44829000 */ mtc1 $v0, $f18 +/* 080934 7F04BE04 04410005 */ bgez $v0, .L7F04BE1C +/* 080938 7F04BE08 46809220 */ cvt.s.w $f8, $f18 +/* 08093C 7F04BE0C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080940 7F04BE10 44813000 */ mtc1 $at, $f6 +/* 080944 7F04BE14 00000000 */ nop +/* 080948 7F04BE18 46064200 */ add.s $f8, $f8, $f6 +.L7F04BE1C: +/* 08094C 7F04BE1C 46144282 */ mul.s $f10, $f8, $f20 +/* 080950 7F04BE20 3C018005 */ lui $at, %hi(D_80052CD4) +/* 080954 7F04BE24 C4302CD4 */ lwc1 $f16, %lo(D_80052CD4)($at) +/* 080958 7F04BE28 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 08095C 7F04BE2C 44819000 */ mtc1 $at, $f18 +/* 080960 7F04BE30 3C018005 */ lui $at, %hi(D_80052CD8) +/* 080964 7F04BE34 C4282CD8 */ lwc1 $f8, %lo(D_80052CD8)($at) +/* 080968 7F04BE38 46105102 */ mul.s $f4, $f10, $f16 +/* 08096C 7F04BE3C 00000000 */ nop +/* 080970 7F04BE40 46122182 */ mul.s $f6, $f4, $f18 +/* 080974 7F04BE44 46083281 */ sub.s $f10, $f6, $f8 +/* 080978 7F04BE48 0C002914 */ jal get_random_value +/* 08097C 7F04BE4C E60A000C */ swc1 $f10, 0xc($s0) +/* 080980 7F04BE50 44828000 */ mtc1 $v0, $f16 +/* 080984 7F04BE54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080988 7F04BE58 04410004 */ bgez $v0, .L7F04BE6C +/* 08098C 7F04BE5C 46808120 */ cvt.s.w $f4, $f16 +/* 080990 7F04BE60 44819000 */ mtc1 $at, $f18 +/* 080994 7F04BE64 00000000 */ nop +/* 080998 7F04BE68 46122100 */ add.s $f4, $f4, $f18 +.L7F04BE6C: +/* 08099C 7F04BE6C 46142182 */ mul.s $f6, $f4, $f20 +/* 0809A0 7F04BE70 3C018005 */ lui $at, %hi(D_80052CDC) +/* 0809A4 7F04BE74 C4282CDC */ lwc1 $f8, %lo(D_80052CDC)($at) +/* 0809A8 7F04BE78 3C013C80 */ li $at, 0x3C800000 # 0.015625 +/* 0809AC 7F04BE7C 44818000 */ mtc1 $at, $f16 +/* 0809B0 7F04BE80 3C018005 */ lui $at, %hi(D_80052CE0) +/* 0809B4 7F04BE84 C4242CE0 */ lwc1 $f4, %lo(D_80052CE0)($at) +/* 0809B8 7F04BE88 46083282 */ mul.s $f10, $f6, $f8 +/* 0809BC 7F04BE8C 00000000 */ nop +/* 0809C0 7F04BE90 46105482 */ mul.s $f18, $f10, $f16 +/* 0809C4 7F04BE94 46049181 */ sub.s $f6, $f18, $f4 +/* 0809C8 7F04BE98 0C002914 */ jal get_random_value +/* 0809CC 7F04BE9C E7A60038 */ swc1 $f6, 0x38($sp) +/* 0809D0 7F04BEA0 44824000 */ mtc1 $v0, $f8 +/* 0809D4 7F04BEA4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0809D8 7F04BEA8 04410004 */ bgez $v0, .L7F04BEBC +/* 0809DC 7F04BEAC 468042A0 */ cvt.s.w $f10, $f8 +/* 0809E0 7F04BEB0 44818000 */ mtc1 $at, $f16 +/* 0809E4 7F04BEB4 00000000 */ nop +/* 0809E8 7F04BEB8 46105280 */ add.s $f10, $f10, $f16 +.L7F04BEBC: +/* 0809EC 7F04BEBC 46145482 */ mul.s $f18, $f10, $f20 +/* 0809F0 7F04BEC0 3C018005 */ lui $at, %hi(D_80052CE4) +/* 0809F4 7F04BEC4 C4242CE4 */ lwc1 $f4, %lo(D_80052CE4)($at) +/* 0809F8 7F04BEC8 3C013C80 */ li $at, 0x3C800000 # 0.015625 +/* 0809FC 7F04BECC 44814000 */ mtc1 $at, $f8 +/* 080A00 7F04BED0 3C018005 */ lui $at, %hi(D_80052CE8) +/* 080A04 7F04BED4 C42A2CE8 */ lwc1 $f10, %lo(D_80052CE8)($at) +/* 080A08 7F04BED8 46049182 */ mul.s $f6, $f18, $f4 +/* 080A0C 7F04BEDC 00000000 */ nop +/* 080A10 7F04BEE0 46083402 */ mul.s $f16, $f6, $f8 +/* 080A14 7F04BEE4 460A8481 */ sub.s $f18, $f16, $f10 +/* 080A18 7F04BEE8 0C002914 */ jal get_random_value +/* 080A1C 7F04BEEC E7B2003C */ swc1 $f18, 0x3c($sp) +/* 080A20 7F04BEF0 44822000 */ mtc1 $v0, $f4 +/* 080A24 7F04BEF4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080A28 7F04BEF8 04410004 */ bgez $v0, .L7F04BF0C +/* 080A2C 7F04BEFC 468021A0 */ cvt.s.w $f6, $f4 +/* 080A30 7F04BF00 44814000 */ mtc1 $at, $f8 +/* 080A34 7F04BF04 00000000 */ nop +/* 080A38 7F04BF08 46083180 */ add.s $f6, $f6, $f8 +.L7F04BF0C: +/* 080A3C 7F04BF0C 46143402 */ mul.s $f16, $f6, $f20 +/* 080A40 7F04BF10 3C018005 */ lui $at, %hi(D_80052CEC) +/* 080A44 7F04BF14 C42A2CEC */ lwc1 $f10, %lo(D_80052CEC)($at) +/* 080A48 7F04BF18 3C013C80 */ li $at, 0x3C800000 # 0.015625 +/* 080A4C 7F04BF1C 44812000 */ mtc1 $at, $f4 +/* 080A50 7F04BF20 3C018005 */ lui $at, %hi(D_80052CF0) +/* 080A54 7F04BF24 C4262CF0 */ lwc1 $f6, %lo(D_80052CF0)($at) +/* 080A58 7F04BF28 460A8482 */ mul.s $f18, $f16, $f10 +/* 080A5C 7F04BF2C 27A40038 */ addiu $a0, $sp, 0x38 +/* 080A60 7F04BF30 26050020 */ addiu $a1, $s0, 0x20 +/* 080A64 7F04BF34 46049202 */ mul.s $f8, $f18, $f4 +/* 080A68 7F04BF38 46064401 */ sub.s $f16, $f8, $f6 +/* 080A6C 7F04BF3C 0FC161C5 */ jal sub_GAME_7F058714 +/* 080A70 7F04BF40 E7B00040 */ swc1 $f16, 0x40($sp) +/* 080A74 7F04BF44 8E0C0000 */ lw $t4, ($s0) +/* 080A78 7F04BF48 8FA20054 */ lw $v0, 0x54($sp) +/* 080A7C 7F04BF4C 358D0001 */ ori $t5, $t4, 1 +/* 080A80 7F04BF50 AE0D0000 */ sw $t5, ($s0) +/* 080A84 7F04BF54 C44A0000 */ lwc1 $f10, ($v0) +/* 080A88 7F04BF58 E7AA0044 */ swc1 $f10, 0x44($sp) +/* 080A8C 7F04BF5C C4520004 */ lwc1 $f18, 4($v0) +/* 080A90 7F04BF60 E7B20048 */ swc1 $f18, 0x48($sp) +/* 080A94 7F04BF64 C4440008 */ lwc1 $f4, 8($v0) +/* 080A98 7F04BF68 0FC1E111 */ jal sub_GAME_7F078444 +/* 080A9C 7F04BF6C E7A4004C */ swc1 $f4, 0x4c($sp) +/* 080AA0 7F04BF70 00402025 */ move $a0, $v0 +/* 080AA4 7F04BF74 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 080AA8 7F04BF78 27A50044 */ addiu $a1, $sp, 0x44 +/* 080AAC 7F04BF7C 3C018005 */ lui $at, %hi(D_80052CF4) +/* 080AB0 7F04BF80 C4202CF4 */ lwc1 $f0, %lo(D_80052CF4)($at) +/* 080AB4 7F04BF84 C7A60044 */ lwc1 $f6, 0x44($sp) +/* 080AB8 7F04BF88 C6080004 */ lwc1 $f8, 4($s0) +/* 080ABC 7F04BF8C C612000C */ lwc1 $f18, 0xc($s0) +/* 080AC0 7F04BF90 46060402 */ mul.s $f16, $f0, $f6 +/* 080AC4 7F04BF94 46104280 */ add.s $f10, $f8, $f16 +/* 080AC8 7F04BF98 E60A0004 */ swc1 $f10, 4($s0) +/* 080ACC 7F04BF9C C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 080AD0 7F04BFA0 46040182 */ mul.s $f6, $f0, $f4 +/* 080AD4 7F04BFA4 46069200 */ add.s $f8, $f18, $f6 +/* 080AD8 7F04BFA8 0FC225E6 */ jal get_curplayer_positiondata +/* 080ADC 7F04BFAC E608000C */ swc1 $f8, 0xc($s0) +/* 080AE0 7F04BFB0 24190001 */ li $t9, 1 +/* 080AE4 7F04BFB4 AE020088 */ sw $v0, 0x88($s0) +/* 080AE8 7F04BFB8 AE190090 */ sw $t9, 0x90($s0) +/* 080AEC 7F04BFBC 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04BFC0: +/* 080AF0 7F04BFC0 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 080AF4 7F04BFC4 8FB00020 */ lw $s0, 0x20($sp) +/* 080AF8 7F04BFC8 03E00008 */ jr $ra +/* 080AFC 7F04BFCC 27BD0050 */ addiu $sp, $sp, 0x50 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04BFD0(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04BFD0 +/* 080B00 7F04BFD0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 080B04 7F04BFD4 AFBF0014 */ sw $ra, 0x14($sp) +/* 080B08 7F04BFD8 8C82001C */ lw $v0, 0x1c($a0) +/* 080B0C 7F04BFDC 50400016 */ beql $v0, $zero, .L7F04C038 +/* 080B10 7F04BFE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 080B14 7F04BFE4 8C820004 */ lw $v0, 4($a0) +/* 080B18 7F04BFE8 AFA50024 */ sw $a1, 0x24($sp) +/* 080B1C 7F04BFEC 0FC0FF6A */ jal sub_GAME_7F03FDA8 +/* 080B20 7F04BFF0 AFA20018 */ sw $v0, 0x18($sp) +/* 080B24 7F04BFF4 8FA20018 */ lw $v0, 0x18($sp) +/* 080B28 7F04BFF8 8FA50024 */ lw $a1, 0x24($sp) +/* 080B2C 7F04BFFC 8C430064 */ lw $v1, 0x64($v0) +/* 080B30 7F04C000 306E0040 */ andi $t6, $v1, 0x40 +/* 080B34 7F04C004 11C00007 */ beqz $t6, .L7F04C024 +/* 080B38 7F04C008 30780080 */ andi $t8, $v1, 0x80 +/* 080B3C 7F04C00C 8C4F006C */ lw $t7, 0x6c($v0) +/* 080B40 7F04C010 8DE40044 */ lw $a0, 0x44($t7) +/* 080B44 7F04C014 10800003 */ beqz $a0, .L7F04C024 +/* 080B48 7F04C018 00000000 */ nop +/* 080B4C 7F04C01C 10000005 */ b .L7F04C034 +/* 080B50 7F04C020 AC8500B8 */ sw $a1, 0xb8($a0) +.L7F04C024: +/* 080B54 7F04C024 53000004 */ beql $t8, $zero, .L7F04C038 +/* 080B58 7F04C028 8FBF0014 */ lw $ra, 0x14($sp) +/* 080B5C 7F04C02C 8C59006C */ lw $t9, 0x6c($v0) +/* 080B60 7F04C030 AF2500B8 */ sw $a1, 0xb8($t9) +.L7F04C034: +/* 080B64 7F04C034 8FBF0014 */ lw $ra, 0x14($sp) +.L7F04C038: +/* 080B68 7F04C038 27BD0020 */ addiu $sp, $sp, 0x20 +/* 080B6C 7F04C03C 03E00008 */ jr $ra +/* 080B70 7F04C040 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04C044(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04C044 +/* 080B74 7F04C044 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 080B78 7F04C048 AFBF0014 */ sw $ra, 0x14($sp) +/* 080B7C 7F04C04C 8C86001C */ lw $a2, 0x1c($a0) +/* 080B80 7F04C050 00802825 */ move $a1, $a0 +/* 080B84 7F04C054 50C00033 */ beql $a2, $zero, .L7F04C124 +/* 080B88 7F04C058 8FBF0014 */ lw $ra, 0x14($sp) +/* 080B8C 7F04C05C 8C820004 */ lw $v0, 4($a0) +/* 080B90 7F04C060 8C4E0014 */ lw $t6, 0x14($v0) +/* 080B94 7F04C064 AFA60024 */ sw $a2, 0x24($sp) +/* 080B98 7F04C068 AFA50028 */ sw $a1, 0x28($sp) +/* 080B9C 7F04C06C AFA20020 */ sw $v0, 0x20($sp) +/* 080BA0 7F04C070 0FC0E974 */ jal sub_GAME_7F03A5D0 +/* 080BA4 7F04C074 AFAE001C */ sw $t6, 0x1c($sp) +/* 080BA8 7F04C078 8FAF001C */ lw $t7, 0x1c($sp) +/* 080BAC 7F04C07C 8FA20020 */ lw $v0, 0x20($sp) +/* 080BB0 7F04C080 8FA60024 */ lw $a2, 0x24($sp) +/* 080BB4 7F04C084 8FA50028 */ lw $a1, 0x28($sp) +/* 080BB8 7F04C088 ADE0001C */ sw $zero, 0x1c($t7) +/* 080BBC 7F04C08C 8C580064 */ lw $t8, 0x64($v0) +/* 080BC0 7F04C090 3C01FFF7 */ lui $at, (0xFFF7FFFF >> 16) # lui $at, 0xfff7 +/* 080BC4 7F04C094 3421FFFF */ ori $at, (0xFFF7FFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 080BC8 7F04C098 0301C824 */ and $t9, $t8, $at +/* 080BCC 7F04C09C AC590064 */ sw $t9, 0x64($v0) +/* 080BD0 7F04C0A0 90C30000 */ lbu $v1, ($a2) +/* 080BD4 7F04C0A4 24010003 */ li $at, 3 +/* 080BD8 7F04C0A8 10610003 */ beq $v1, $at, .L7F04C0B8 +/* 080BDC 7F04C0AC 24010006 */ li $at, 6 +/* 080BE0 7F04C0B0 5461001C */ bnel $v1, $at, .L7F04C124 +/* 080BE4 7F04C0B4 8FBF0014 */ lw $ra, 0x14($sp) +.L7F04C0B8: +/* 080BE8 7F04C0B8 8CC40004 */ lw $a0, 4($a2) +/* 080BEC 7F04C0BC 50800019 */ beql $a0, $zero, .L7F04C124 +/* 080BF0 7F04C0C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 080BF4 7F04C0C4 8C8801D8 */ lw $t0, 0x1d8($a0) +/* 080BF8 7F04C0C8 54A80004 */ bnel $a1, $t0, .L7F04C0DC +/* 080BFC 7F04C0CC 8C890160 */ lw $t1, 0x160($a0) +/* 080C00 7F04C0D0 10000013 */ b .L7F04C120 +/* 080C04 7F04C0D4 AC8001D8 */ sw $zero, 0x1d8($a0) +/* 080C08 7F04C0D8 8C890160 */ lw $t1, 0x160($a0) +.L7F04C0DC: +/* 080C0C 7F04C0DC 00003025 */ move $a2, $zero +/* 080C10 7F04C0E0 54A90008 */ bnel $a1, $t1, .L7F04C104 +/* 080C14 7F04C0E4 8C8A0164 */ lw $t2, 0x164($a0) +/* 080C18 7F04C0E8 00002825 */ move $a1, $zero +/* 080C1C 7F04C0EC 0FC0B446 */ jal sub_GAME_7F02D118 +/* 080C20 7F04C0F0 AFA40018 */ sw $a0, 0x18($sp) +/* 080C24 7F04C0F4 8FA40018 */ lw $a0, 0x18($sp) +/* 080C28 7F04C0F8 10000009 */ b .L7F04C120 +/* 080C2C 7F04C0FC AC800160 */ sw $zero, 0x160($a0) +/* 080C30 7F04C100 8C8A0164 */ lw $t2, 0x164($a0) +.L7F04C104: +/* 080C34 7F04C104 00003025 */ move $a2, $zero +/* 080C38 7F04C108 14AA0005 */ bne $a1, $t2, .L7F04C120 +/* 080C3C 7F04C10C 24050001 */ li $a1, 1 +/* 080C40 7F04C110 0FC0B446 */ jal sub_GAME_7F02D118 +/* 080C44 7F04C114 AFA40018 */ sw $a0, 0x18($sp) +/* 080C48 7F04C118 8FA40018 */ lw $a0, 0x18($sp) +/* 080C4C 7F04C11C AC800164 */ sw $zero, 0x164($a0) +.L7F04C120: +/* 080C50 7F04C120 8FBF0014 */ lw $ra, 0x14($sp) +.L7F04C124: +/* 080C54 7F04C124 27BD0028 */ addiu $sp, $sp, 0x28 +/* 080C58 7F04C128 03E00008 */ jr $ra +/* 080C5C 7F04C12C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04C130(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052CF8 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052CFC +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D00 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D04 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D08 +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D0C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D10 +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D14 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D18 +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D1C +.word 0x41555555 /*13.333333*/ +glabel D_80052D20 +.word 0x40d55555 /*6.6666665*/ +glabel D_80052D24 +.word 0x41555555 /*13.333333*/ +glabel D_80052D28 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D2C +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D30 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D34 +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D38 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D3C +.word 0x3cc90fdb /*0.024543693*/ +glabel D_80052D40 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D44 +.word 0x40555555 /*3.3333333*/ +glabel D_80052D48 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D4C +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D50 +.word 0x40555555 /*3.3333333*/ +glabel D_80052D54 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D58 +.word 0x3dc90fdb /*0.098174773*/ +glabel D_80052D5C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D60 +.word 0x3dc90fdb /*0.098174773*/ +glabel D_80052D64 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D68 +.word 0x3dc90fdb /*0.098174773*/ +.text +glabel sub_GAME_7F04C130 +/* 080C60 7F04C130 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 080C64 7F04C134 AFBF003C */ sw $ra, 0x3c($sp) +/* 080C68 7F04C138 AFB20038 */ sw $s2, 0x38($sp) +/* 080C6C 7F04C13C AFB10034 */ sw $s1, 0x34($sp) +/* 080C70 7F04C140 AFB00030 */ sw $s0, 0x30($sp) +/* 080C74 7F04C144 AFA40108 */ sw $a0, 0x108($sp) +/* 080C78 7F04C148 8C8F001C */ lw $t7, 0x1c($a0) +/* 080C7C 7F04C14C AFAF0104 */ sw $t7, 0x104($sp) +/* 080C80 7F04C150 8C920004 */ lw $s2, 4($a0) +/* 080C84 7F04C154 8E580064 */ lw $t8, 0x64($s2) +/* 080C88 7F04C158 33190040 */ andi $t9, $t8, 0x40 +/* 080C8C 7F04C15C 5320000F */ beql $t9, $zero, .L7F04C19C +/* 080C90 7F04C160 8FAC0104 */ lw $t4, 0x104($sp) +/* 080C94 7F04C164 8E44006C */ lw $a0, 0x6c($s2) +/* 080C98 7F04C168 8C820044 */ lw $v0, 0x44($a0) +/* 080C9C 7F04C16C 5040000B */ beql $v0, $zero, .L7F04C19C +/* 080CA0 7F04C170 8FAC0104 */ lw $t4, 0x104($sp) +/* 080CA4 7F04C174 0FC0FFA2 */ jal sub_GAME_7F03FE88 +/* 080CA8 7F04C178 00408025 */ move $s0, $v0 +/* 080CAC 7F04C17C 8E480064 */ lw $t0, 0x64($s2) +/* 080CB0 7F04C180 2401FFBF */ li $at, -65 +/* 080CB4 7F04C184 AE50006C */ sw $s0, 0x6c($s2) +/* 080CB8 7F04C188 01014824 */ and $t1, $t0, $at +/* 080CBC 7F04C18C AE490064 */ sw $t1, 0x64($s2) +/* 080CC0 7F04C190 352B0080 */ ori $t3, $t1, 0x80 +/* 080CC4 7F04C194 AE4B0064 */ sw $t3, 0x64($s2) +/* 080CC8 7F04C198 8FAC0104 */ lw $t4, 0x104($sp) +.L7F04C19C: +/* 080CCC 7F04C19C 00001025 */ move $v0, $zero +/* 080CD0 7F04C1A0 11800222 */ beqz $t4, .L7F04CA2C +/* 080CD4 7F04C1A4 00000000 */ nop +/* 080CD8 7F04C1A8 8E4D0064 */ lw $t5, 0x64($s2) +/* 080CDC 7F04C1AC 31AF0080 */ andi $t7, $t5, 0x80 +/* 080CE0 7F04C1B0 11E0021E */ beqz $t7, .L7F04CA2C +/* 080CE4 7F04C1B4 00000000 */ nop +/* 080CE8 7F04C1B8 8E4E0014 */ lw $t6, 0x14($s2) +/* 080CEC 7F04C1BC 24010002 */ li $at, 2 +/* 080CF0 7F04C1C0 01808025 */ move $s0, $t4 +/* 080CF4 7F04C1C4 AFAE00F8 */ sw $t6, 0xf8($sp) +/* 080CF8 7F04C1C8 8E51006C */ lw $s1, 0x6c($s2) +/* 080CFC 7F04C1CC 8E380000 */ lw $t8, ($s1) +/* 080D00 7F04C1D0 8E2200B8 */ lw $v0, 0xb8($s1) +/* 080D04 7F04C1D4 37190001 */ ori $t9, $t8, 1 +/* 080D08 7F04C1D8 AE390000 */ sw $t9, ($s1) +/* 080D0C 7F04C1DC 8FA80104 */ lw $t0, 0x104($sp) +/* 080D10 7F04C1E0 1441007A */ bne $v0, $at, .L7F04C3CC +/* 080D14 7F04C1E4 AE280088 */ sw $t0, 0x88($s1) +/* 080D18 7F04C1E8 8FA90104 */ lw $t1, 0x104($sp) +/* 080D1C 7F04C1EC 24030003 */ li $v1, 3 +/* 080D20 7F04C1F0 3C0D8003 */ lui $t5, %hi(D_8003201C) +/* 080D24 7F04C1F4 912A0000 */ lbu $t2, ($t1) +/* 080D28 7F04C1F8 25AD201C */ addiu $t5, %lo(D_8003201C) # addiu $t5, $t5, 0x201c +/* 080D2C 7F04C1FC 27AB0098 */ addiu $t3, $sp, 0x98 +/* 080D30 7F04C200 546A0073 */ bnel $v1, $t2, .L7F04C3D0 +/* 080D34 7F04C204 24030003 */ li $v1, 3 +/* 080D38 7F04C208 8D220004 */ lw $v0, 4($t1) +/* 080D3C 7F04C20C 8DA10000 */ lw $at, ($t5) +/* 080D40 7F04C210 8DAE0004 */ lw $t6, 4($t5) +/* 080D44 7F04C214 8C44001C */ lw $a0, 0x1c($v0) +/* 080D48 7F04C218 AD610000 */ sw $at, ($t3) +/* 080D4C 7F04C21C 8DA10008 */ lw $at, 8($t5) +/* 080D50 7F04C220 AD6E0004 */ sw $t6, 4($t3) +/* 080D54 7F04C224 0FC1B320 */ jal getsubroty +/* 080D58 7F04C228 AD610008 */ sw $at, 8($t3) +/* 080D5C 7F04C22C E7A00094 */ swc1 $f0, 0x94($sp) +/* 080D60 7F04C230 0FC15FAB */ jal sinf +/* 080D64 7F04C234 46000306 */ mov.s $f12, $f0 +/* 080D68 7F04C238 3C018005 */ lui $at, %hi(D_80052CF8) +/* 080D6C 7F04C23C C4242CF8 */ lwc1 $f4, %lo(D_80052CF8)($at) +/* 080D70 7F04C240 46040182 */ mul.s $f6, $f0, $f4 +/* 080D74 7F04C244 0C002914 */ jal get_random_value +/* 080D78 7F04C248 E6260004 */ swc1 $f6, 4($s1) +/* 080D7C 7F04C24C 44824000 */ mtc1 $v0, $f8 +/* 080D80 7F04C250 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080D84 7F04C254 04410004 */ bgez $v0, .L7F04C268 +/* 080D88 7F04C258 468042A0 */ cvt.s.w $f10, $f8 +/* 080D8C 7F04C25C 44818000 */ mtc1 $at, $f16 +/* 080D90 7F04C260 00000000 */ nop +/* 080D94 7F04C264 46105280 */ add.s $f10, $f10, $f16 +.L7F04C268: +/* 080D98 7F04C268 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080D9C 7F04C26C 44819000 */ mtc1 $at, $f18 +/* 080DA0 7F04C270 3C018005 */ lui $at, %hi(D_80052CFC) +/* 080DA4 7F04C274 C4282CFC */ lwc1 $f8, %lo(D_80052CFC)($at) +/* 080DA8 7F04C278 46125102 */ mul.s $f4, $f10, $f18 +/* 080DAC 7F04C27C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 080DB0 7F04C280 44815000 */ mtc1 $at, $f10 +/* 080DB4 7F04C284 46002187 */ neg.s $f6, $f4 +/* 080DB8 7F04C288 46083402 */ mul.s $f16, $f6, $f8 +/* 080DBC 7F04C28C 00000000 */ nop +/* 080DC0 7F04C290 460A8482 */ mul.s $f18, $f16, $f10 +/* 080DC4 7F04C294 E6320008 */ swc1 $f18, 8($s1) +/* 080DC8 7F04C298 0FC15FA8 */ jal cosf +/* 080DCC 7F04C29C C7AC0094 */ lwc1 $f12, 0x94($sp) +/* 080DD0 7F04C2A0 3C018005 */ lui $at, %hi(D_80052D00) +/* 080DD4 7F04C2A4 C4242D00 */ lwc1 $f4, %lo(D_80052D00)($at) +/* 080DD8 7F04C2A8 46040182 */ mul.s $f6, $f0, $f4 +/* 080DDC 7F04C2AC 0C002914 */ jal get_random_value +/* 080DE0 7F04C2B0 E626000C */ swc1 $f6, 0xc($s1) +/* 080DE4 7F04C2B4 44824000 */ mtc1 $v0, $f8 +/* 080DE8 7F04C2B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080DEC 7F04C2BC 04410004 */ bgez $v0, .L7F04C2D0 +/* 080DF0 7F04C2C0 46804420 */ cvt.s.w $f16, $f8 +/* 080DF4 7F04C2C4 44815000 */ mtc1 $at, $f10 +/* 080DF8 7F04C2C8 00000000 */ nop +/* 080DFC 7F04C2CC 460A8400 */ add.s $f16, $f16, $f10 +.L7F04C2D0: +/* 080E00 7F04C2D0 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080E04 7F04C2D4 44819000 */ mtc1 $at, $f18 +/* 080E08 7F04C2D8 3C018005 */ lui $at, %hi(D_80052D04) +/* 080E0C 7F04C2DC C4262D04 */ lwc1 $f6, %lo(D_80052D04)($at) +/* 080E10 7F04C2E0 46128102 */ mul.s $f4, $f16, $f18 +/* 080E14 7F04C2E4 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 080E18 7F04C2E8 44815000 */ mtc1 $at, $f10 +/* 080E1C 7F04C2EC 3C018005 */ lui $at, %hi(D_80052D08) +/* 080E20 7F04C2F0 C4322D08 */ lwc1 $f18, %lo(D_80052D08)($at) +/* 080E24 7F04C2F4 46062202 */ mul.s $f8, $f4, $f6 +/* 080E28 7F04C2F8 00000000 */ nop +/* 080E2C 7F04C2FC 460A4402 */ mul.s $f16, $f8, $f10 +/* 080E30 7F04C300 46128101 */ sub.s $f4, $f16, $f18 +/* 080E34 7F04C304 0C002914 */ jal get_random_value +/* 080E38 7F04C308 E7A40098 */ swc1 $f4, 0x98($sp) +/* 080E3C 7F04C30C 44823000 */ mtc1 $v0, $f6 +/* 080E40 7F04C310 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080E44 7F04C314 04410004 */ bgez $v0, .L7F04C328 +/* 080E48 7F04C318 46803220 */ cvt.s.w $f8, $f6 +/* 080E4C 7F04C31C 44815000 */ mtc1 $at, $f10 +/* 080E50 7F04C320 00000000 */ nop +/* 080E54 7F04C324 460A4200 */ add.s $f8, $f8, $f10 +.L7F04C328: +/* 080E58 7F04C328 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080E5C 7F04C32C 44818000 */ mtc1 $at, $f16 +/* 080E60 7F04C330 3C018005 */ lui $at, %hi(D_80052D0C) +/* 080E64 7F04C334 C4242D0C */ lwc1 $f4, %lo(D_80052D0C)($at) +/* 080E68 7F04C338 46104482 */ mul.s $f18, $f8, $f16 +/* 080E6C 7F04C33C 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 080E70 7F04C340 44815000 */ mtc1 $at, $f10 +/* 080E74 7F04C344 3C018005 */ lui $at, %hi(D_80052D10) +/* 080E78 7F04C348 C4302D10 */ lwc1 $f16, %lo(D_80052D10)($at) +/* 080E7C 7F04C34C 46049182 */ mul.s $f6, $f18, $f4 +/* 080E80 7F04C350 00000000 */ nop +/* 080E84 7F04C354 460A3202 */ mul.s $f8, $f6, $f10 +/* 080E88 7F04C358 46104481 */ sub.s $f18, $f8, $f16 +/* 080E8C 7F04C35C 0C002914 */ jal get_random_value +/* 080E90 7F04C360 E7B2009C */ swc1 $f18, 0x9c($sp) +/* 080E94 7F04C364 44822000 */ mtc1 $v0, $f4 +/* 080E98 7F04C368 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080E9C 7F04C36C 04410004 */ bgez $v0, .L7F04C380 +/* 080EA0 7F04C370 468021A0 */ cvt.s.w $f6, $f4 +/* 080EA4 7F04C374 44815000 */ mtc1 $at, $f10 +/* 080EA8 7F04C378 00000000 */ nop +/* 080EAC 7F04C37C 460A3180 */ add.s $f6, $f6, $f10 +.L7F04C380: +/* 080EB0 7F04C380 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080EB4 7F04C384 44814000 */ mtc1 $at, $f8 +/* 080EB8 7F04C388 3C018005 */ lui $at, %hi(D_80052D14) +/* 080EBC 7F04C38C C4322D14 */ lwc1 $f18, %lo(D_80052D14)($at) +/* 080EC0 7F04C390 46083402 */ mul.s $f16, $f6, $f8 +/* 080EC4 7F04C394 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 080EC8 7F04C398 44815000 */ mtc1 $at, $f10 +/* 080ECC 7F04C39C 3C018005 */ lui $at, %hi(D_80052D18) +/* 080ED0 7F04C3A0 C4282D18 */ lwc1 $f8, %lo(D_80052D18)($at) +/* 080ED4 7F04C3A4 27A40098 */ addiu $a0, $sp, 0x98 +/* 080ED8 7F04C3A8 26250020 */ addiu $a1, $s1, 0x20 +/* 080EDC 7F04C3AC 46128102 */ mul.s $f4, $f16, $f18 +/* 080EE0 7F04C3B0 00000000 */ nop +/* 080EE4 7F04C3B4 460A2182 */ mul.s $f6, $f4, $f10 +/* 080EE8 7F04C3B8 46083401 */ sub.s $f16, $f6, $f8 +/* 080EEC 7F04C3BC 0FC161C5 */ jal sub_GAME_7F058714 +/* 080EF0 7F04C3C0 E7B000A0 */ swc1 $f16, 0xa0($sp) +/* 080EF4 7F04C3C4 1000010C */ b .L7F04C7F8 +/* 080EF8 7F04C3C8 8FA90104 */ lw $t1, 0x104($sp) +.L7F04C3CC: +/* 080EFC 7F04C3CC 24030003 */ li $v1, 3 +.L7F04C3D0: +/* 080F00 7F04C3D0 14620068 */ bne $v1, $v0, .L7F04C574 +/* 080F04 7F04C3D4 8FAC0104 */ lw $t4, 0x104($sp) +/* 080F08 7F04C3D8 91980000 */ lbu $t8, ($t4) +/* 080F0C 7F04C3DC 3C088003 */ lui $t0, %hi(D_80032028) +/* 080F10 7F04C3E0 25082028 */ addiu $t0, %lo(D_80032028) # addiu $t0, $t0, 0x2028 +/* 080F14 7F04C3E4 14780063 */ bne $v1, $t8, .L7F04C574 +/* 080F18 7F04C3E8 27B90080 */ addiu $t9, $sp, 0x80 +/* 080F1C 7F04C3EC 8D820004 */ lw $v0, 4($t4) +/* 080F20 7F04C3F0 8D010000 */ lw $at, ($t0) +/* 080F24 7F04C3F4 8D090004 */ lw $t1, 4($t0) +/* 080F28 7F04C3F8 8C44001C */ lw $a0, 0x1c($v0) +/* 080F2C 7F04C3FC AF210000 */ sw $at, ($t9) +/* 080F30 7F04C400 8D010008 */ lw $at, 8($t0) +/* 080F34 7F04C404 AF290004 */ sw $t1, 4($t9) +/* 080F38 7F04C408 0FC1B320 */ jal getsubroty +/* 080F3C 7F04C40C AF210008 */ sw $at, 8($t9) +/* 080F40 7F04C410 E7A0007C */ swc1 $f0, 0x7c($sp) +/* 080F44 7F04C414 0FC15FAB */ jal sinf +/* 080F48 7F04C418 46000306 */ mov.s $f12, $f0 +/* 080F4C 7F04C41C 3C018005 */ lui $at, %hi(D_80052D1C) +/* 080F50 7F04C420 C4322D1C */ lwc1 $f18, %lo(D_80052D1C)($at) +/* 080F54 7F04C424 3C018005 */ lui $at, %hi(D_80052D20) +/* 080F58 7F04C428 46120102 */ mul.s $f4, $f0, $f18 +/* 080F5C 7F04C42C E6240004 */ swc1 $f4, 4($s1) +/* 080F60 7F04C430 C42A2D20 */ lwc1 $f10, %lo(D_80052D20)($at) +/* 080F64 7F04C434 E62A0008 */ swc1 $f10, 8($s1) +/* 080F68 7F04C438 0FC15FA8 */ jal cosf +/* 080F6C 7F04C43C C7AC007C */ lwc1 $f12, 0x7c($sp) +/* 080F70 7F04C440 3C018005 */ lui $at, %hi(D_80052D24) +/* 080F74 7F04C444 C4262D24 */ lwc1 $f6, %lo(D_80052D24)($at) +/* 080F78 7F04C448 46060202 */ mul.s $f8, $f0, $f6 +/* 080F7C 7F04C44C 0C002914 */ jal get_random_value +/* 080F80 7F04C450 E628000C */ swc1 $f8, 0xc($s1) +/* 080F84 7F04C454 44828000 */ mtc1 $v0, $f16 +/* 080F88 7F04C458 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080F8C 7F04C45C 04410004 */ bgez $v0, .L7F04C470 +/* 080F90 7F04C460 468084A0 */ cvt.s.w $f18, $f16 +/* 080F94 7F04C464 44812000 */ mtc1 $at, $f4 +/* 080F98 7F04C468 00000000 */ nop +/* 080F9C 7F04C46C 46049480 */ add.s $f18, $f18, $f4 +.L7F04C470: +/* 080FA0 7F04C470 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080FA4 7F04C474 44815000 */ mtc1 $at, $f10 +/* 080FA8 7F04C478 3C018005 */ lui $at, %hi(D_80052D28) +/* 080FAC 7F04C47C C4282D28 */ lwc1 $f8, %lo(D_80052D28)($at) +/* 080FB0 7F04C480 460A9182 */ mul.s $f6, $f18, $f10 +/* 080FB4 7F04C484 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 080FB8 7F04C488 44812000 */ mtc1 $at, $f4 +/* 080FBC 7F04C48C 3C018005 */ lui $at, %hi(D_80052D2C) +/* 080FC0 7F04C490 C42A2D2C */ lwc1 $f10, %lo(D_80052D2C)($at) +/* 080FC4 7F04C494 46083402 */ mul.s $f16, $f6, $f8 +/* 080FC8 7F04C498 00000000 */ nop +/* 080FCC 7F04C49C 46048482 */ mul.s $f18, $f16, $f4 +/* 080FD0 7F04C4A0 460A9181 */ sub.s $f6, $f18, $f10 +/* 080FD4 7F04C4A4 0C002914 */ jal get_random_value +/* 080FD8 7F04C4A8 E7A60080 */ swc1 $f6, 0x80($sp) +/* 080FDC 7F04C4AC 44824000 */ mtc1 $v0, $f8 +/* 080FE0 7F04C4B0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 080FE4 7F04C4B4 04410004 */ bgez $v0, .L7F04C4C8 +/* 080FE8 7F04C4B8 46804420 */ cvt.s.w $f16, $f8 +/* 080FEC 7F04C4BC 44812000 */ mtc1 $at, $f4 +/* 080FF0 7F04C4C0 00000000 */ nop +/* 080FF4 7F04C4C4 46048400 */ add.s $f16, $f16, $f4 +.L7F04C4C8: +/* 080FF8 7F04C4C8 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 080FFC 7F04C4CC 44819000 */ mtc1 $at, $f18 +/* 081000 7F04C4D0 3C018005 */ lui $at, %hi(D_80052D30) +/* 081004 7F04C4D4 C4262D30 */ lwc1 $f6, %lo(D_80052D30)($at) +/* 081008 7F04C4D8 46128282 */ mul.s $f10, $f16, $f18 +/* 08100C 7F04C4DC 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 081010 7F04C4E0 44812000 */ mtc1 $at, $f4 +/* 081014 7F04C4E4 3C018005 */ lui $at, %hi(D_80052D34) +/* 081018 7F04C4E8 C4322D34 */ lwc1 $f18, %lo(D_80052D34)($at) +/* 08101C 7F04C4EC 46065202 */ mul.s $f8, $f10, $f6 +/* 081020 7F04C4F0 00000000 */ nop +/* 081024 7F04C4F4 46044402 */ mul.s $f16, $f8, $f4 +/* 081028 7F04C4F8 46128281 */ sub.s $f10, $f16, $f18 +/* 08102C 7F04C4FC 0C002914 */ jal get_random_value +/* 081030 7F04C500 E7AA0084 */ swc1 $f10, 0x84($sp) +/* 081034 7F04C504 44823000 */ mtc1 $v0, $f6 +/* 081038 7F04C508 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 08103C 7F04C50C 04410004 */ bgez $v0, .L7F04C520 +/* 081040 7F04C510 46803220 */ cvt.s.w $f8, $f6 +/* 081044 7F04C514 44812000 */ mtc1 $at, $f4 +/* 081048 7F04C518 00000000 */ nop +/* 08104C 7F04C51C 46044200 */ add.s $f8, $f8, $f4 +.L7F04C520: +/* 081050 7F04C520 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 081054 7F04C524 44818000 */ mtc1 $at, $f16 +/* 081058 7F04C528 3C018005 */ lui $at, %hi(D_80052D38) +/* 08105C 7F04C52C C42A2D38 */ lwc1 $f10, %lo(D_80052D38)($at) +/* 081060 7F04C530 46104482 */ mul.s $f18, $f8, $f16 +/* 081064 7F04C534 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 081068 7F04C538 44812000 */ mtc1 $at, $f4 +/* 08106C 7F04C53C 3C018005 */ lui $at, %hi(D_80052D3C) +/* 081070 7F04C540 C4302D3C */ lwc1 $f16, %lo(D_80052D3C)($at) +/* 081074 7F04C544 27A40080 */ addiu $a0, $sp, 0x80 +/* 081078 7F04C548 26250020 */ addiu $a1, $s1, 0x20 +/* 08107C 7F04C54C 460A9182 */ mul.s $f6, $f18, $f10 +/* 081080 7F04C550 00000000 */ nop +/* 081084 7F04C554 46043202 */ mul.s $f8, $f6, $f4 +/* 081088 7F04C558 46104481 */ sub.s $f18, $f8, $f16 +/* 08108C 7F04C55C 0FC161C5 */ jal sub_GAME_7F058714 +/* 081090 7F04C560 E7B20088 */ swc1 $f18, 0x88($sp) +/* 081094 7F04C564 8E2F0000 */ lw $t7, ($s1) +/* 081098 7F04C568 35EB0040 */ ori $t3, $t7, 0x40 +/* 08109C 7F04C56C 100000A1 */ b .L7F04C7F4 +/* 0810A0 7F04C570 AE2B0000 */ sw $t3, ($s1) +.L7F04C574: +/* 0810A4 7F04C574 24010004 */ li $at, 4 +/* 0810A8 7F04C578 1441009C */ bne $v0, $at, .L7F04C7EC +/* 0810AC 7F04C57C 26240004 */ addiu $a0, $s1, 4 +/* 0810B0 7F04C580 3C0E8003 */ lui $t6, %hi(D_80032034) +/* 0810B4 7F04C584 25CE2034 */ addiu $t6, %lo(D_80032034) # addiu $t6, $t6, 0x2034 +/* 0810B8 7F04C588 8DC10000 */ lw $at, ($t6) +/* 0810BC 7F04C58C 27AD0070 */ addiu $t5, $sp, 0x70 +/* 0810C0 7F04C590 8DCC0004 */ lw $t4, 4($t6) +/* 0810C4 7F04C594 ADA10000 */ sw $at, ($t5) +/* 0810C8 7F04C598 8DC10008 */ lw $at, 8($t6) +/* 0810CC 7F04C59C ADAC0004 */ sw $t4, 4($t5) +/* 0810D0 7F04C5A0 0FC225E6 */ jal get_curplayer_positiondata +/* 0810D4 7F04C5A4 ADA10008 */ sw $at, 8($t5) +/* 0810D8 7F04C5A8 8FAA0104 */ lw $t2, 0x104($sp) +/* 0810DC 7F04C5AC C4460008 */ lwc1 $f6, 8($v0) +/* 0810E0 7F04C5B0 C4480010 */ lwc1 $f8, 0x10($v0) +/* 0810E4 7F04C5B4 C54A0008 */ lwc1 $f10, 8($t2) +/* 0810E8 7F04C5B8 C5440010 */ lwc1 $f4, 0x10($t2) +/* 0810EC 7F04C5BC 46065301 */ sub.s $f12, $f10, $f6 +/* 0810F0 7F04C5C0 0FC16A8C */ jal convert_angle_using_inverse +/* 0810F4 7F04C5C4 46082381 */ sub.s $f14, $f4, $f8 +/* 0810F8 7F04C5C8 0C002914 */ jal get_random_value +/* 0810FC 7F04C5CC E7A00060 */ swc1 $f0, 0x60($sp) +/* 081100 7F04C5D0 AFA20050 */ sw $v0, 0x50($sp) +/* 081104 7F04C5D4 0FC15FAB */ jal sinf +/* 081108 7F04C5D8 C7AC0060 */ lwc1 $f12, 0x60($sp) +/* 08110C 7F04C5DC 8FB90050 */ lw $t9, 0x50($sp) +/* 081110 7F04C5E0 44998000 */ mtc1 $t9, $f16 +/* 081114 7F04C5E4 07210005 */ bgez $t9, .L7F04C5FC +/* 081118 7F04C5E8 468084A0 */ cvt.s.w $f18, $f16 +/* 08111C 7F04C5EC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081120 7F04C5F0 44815000 */ mtc1 $at, $f10 +/* 081124 7F04C5F4 00000000 */ nop +/* 081128 7F04C5F8 460A9480 */ add.s $f18, $f18, $f10 +.L7F04C5FC: +/* 08112C 7F04C5FC 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 081130 7F04C600 44813000 */ mtc1 $at, $f6 +/* 081134 7F04C604 3C018005 */ lui $at, %hi(D_80052D40) +/* 081138 7F04C608 C4282D40 */ lwc1 $f8, %lo(D_80052D40)($at) +/* 08113C 7F04C60C 46069102 */ mul.s $f4, $f18, $f6 +/* 081140 7F04C610 3C018005 */ lui $at, %hi(D_80052D44) +/* 081144 7F04C614 C42A2D44 */ lwc1 $f10, %lo(D_80052D44)($at) +/* 081148 7F04C618 46082082 */ mul.s $f2, $f4, $f8 +/* 08114C 7F04C61C 46021400 */ add.s $f16, $f2, $f2 +/* 081150 7F04C620 460A8480 */ add.s $f18, $f16, $f10 +/* 081154 7F04C624 46120182 */ mul.s $f6, $f0, $f18 +/* 081158 7F04C628 0C002914 */ jal get_random_value +/* 08115C 7F04C62C E6260004 */ swc1 $f6, 4($s1) +/* 081160 7F04C630 44822000 */ mtc1 $v0, $f4 +/* 081164 7F04C634 04410005 */ bgez $v0, .L7F04C64C +/* 081168 7F04C638 46802220 */ cvt.s.w $f8, $f4 +/* 08116C 7F04C63C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081170 7F04C640 44818000 */ mtc1 $at, $f16 +/* 081174 7F04C644 00000000 */ nop +/* 081178 7F04C648 46104200 */ add.s $f8, $f8, $f16 +.L7F04C64C: +/* 08117C 7F04C64C 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 081180 7F04C650 44815000 */ mtc1 $at, $f10 +/* 081184 7F04C654 3C018005 */ lui $at, %hi(D_80052D48) +/* 081188 7F04C658 C4262D48 */ lwc1 $f6, %lo(D_80052D48)($at) +/* 08118C 7F04C65C 460A4482 */ mul.s $f18, $f8, $f10 +/* 081190 7F04C660 00000000 */ nop +/* 081194 7F04C664 46069002 */ mul.s $f0, $f18, $f6 +/* 081198 7F04C668 46000100 */ add.s $f4, $f0, $f0 +/* 08119C 7F04C66C 0C002914 */ jal get_random_value +/* 0811A0 7F04C670 E6240008 */ swc1 $f4, 8($s1) +/* 0811A4 7F04C674 AFA20050 */ sw $v0, 0x50($sp) +/* 0811A8 7F04C678 0FC15FA8 */ jal cosf +/* 0811AC 7F04C67C C7AC0060 */ lwc1 $f12, 0x60($sp) +/* 0811B0 7F04C680 8FA80050 */ lw $t0, 0x50($sp) +/* 0811B4 7F04C684 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0811B8 7F04C688 44888000 */ mtc1 $t0, $f16 +/* 0811BC 7F04C68C 05010004 */ bgez $t0, .L7F04C6A0 +/* 0811C0 7F04C690 46808220 */ cvt.s.w $f8, $f16 +/* 0811C4 7F04C694 44815000 */ mtc1 $at, $f10 +/* 0811C8 7F04C698 00000000 */ nop +/* 0811CC 7F04C69C 460A4200 */ add.s $f8, $f8, $f10 +.L7F04C6A0: +/* 0811D0 7F04C6A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 0811D4 7F04C6A4 44819000 */ mtc1 $at, $f18 +/* 0811D8 7F04C6A8 3C018005 */ lui $at, %hi(D_80052D4C) +/* 0811DC 7F04C6AC C4242D4C */ lwc1 $f4, %lo(D_80052D4C)($at) +/* 0811E0 7F04C6B0 46124182 */ mul.s $f6, $f8, $f18 +/* 0811E4 7F04C6B4 3C018005 */ lui $at, %hi(D_80052D50) +/* 0811E8 7F04C6B8 C42A2D50 */ lwc1 $f10, %lo(D_80052D50)($at) +/* 0811EC 7F04C6BC 46043082 */ mul.s $f2, $f6, $f4 +/* 0811F0 7F04C6C0 46021400 */ add.s $f16, $f2, $f2 +/* 0811F4 7F04C6C4 460A8200 */ add.s $f8, $f16, $f10 +/* 0811F8 7F04C6C8 46080482 */ mul.s $f18, $f0, $f8 +/* 0811FC 7F04C6CC 0C002914 */ jal get_random_value +/* 081200 7F04C6D0 E632000C */ swc1 $f18, 0xc($s1) +/* 081204 7F04C6D4 44823000 */ mtc1 $v0, $f6 +/* 081208 7F04C6D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 08120C 7F04C6DC 04410004 */ bgez $v0, .L7F04C6F0 +/* 081210 7F04C6E0 46803120 */ cvt.s.w $f4, $f6 +/* 081214 7F04C6E4 44818000 */ mtc1 $at, $f16 +/* 081218 7F04C6E8 00000000 */ nop +/* 08121C 7F04C6EC 46102100 */ add.s $f4, $f4, $f16 +.L7F04C6F0: +/* 081220 7F04C6F0 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 081224 7F04C6F4 44815000 */ mtc1 $at, $f10 +/* 081228 7F04C6F8 3C018005 */ lui $at, %hi(D_80052D54) +/* 08122C 7F04C6FC C4322D54 */ lwc1 $f18, %lo(D_80052D54)($at) +/* 081230 7F04C700 460A2202 */ mul.s $f8, $f4, $f10 +/* 081234 7F04C704 3C013D00 */ li $at, 0x3D000000 # 0.031250 +/* 081238 7F04C708 44818000 */ mtc1 $at, $f16 +/* 08123C 7F04C70C 3C018005 */ lui $at, %hi(D_80052D58) +/* 081240 7F04C710 C42A2D58 */ lwc1 $f10, %lo(D_80052D58)($at) +/* 081244 7F04C714 46124182 */ mul.s $f6, $f8, $f18 +/* 081248 7F04C718 00000000 */ nop +/* 08124C 7F04C71C 46103102 */ mul.s $f4, $f6, $f16 +/* 081250 7F04C720 460A2201 */ sub.s $f8, $f4, $f10 +/* 081254 7F04C724 0C002914 */ jal get_random_value +/* 081258 7F04C728 E7A80070 */ swc1 $f8, 0x70($sp) +/* 08125C 7F04C72C 44829000 */ mtc1 $v0, $f18 +/* 081260 7F04C730 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081264 7F04C734 04410004 */ bgez $v0, .L7F04C748 +/* 081268 7F04C738 468091A0 */ cvt.s.w $f6, $f18 +/* 08126C 7F04C73C 44818000 */ mtc1 $at, $f16 +/* 081270 7F04C740 00000000 */ nop +/* 081274 7F04C744 46103180 */ add.s $f6, $f6, $f16 +.L7F04C748: +/* 081278 7F04C748 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 08127C 7F04C74C 44812000 */ mtc1 $at, $f4 +/* 081280 7F04C750 3C018005 */ lui $at, %hi(D_80052D5C) +/* 081284 7F04C754 C4282D5C */ lwc1 $f8, %lo(D_80052D5C)($at) +/* 081288 7F04C758 46043282 */ mul.s $f10, $f6, $f4 +/* 08128C 7F04C75C 3C013D00 */ li $at, 0x3D000000 # 0.031250 +/* 081290 7F04C760 44818000 */ mtc1 $at, $f16 +/* 081294 7F04C764 3C018005 */ lui $at, %hi(D_80052D60) +/* 081298 7F04C768 C4242D60 */ lwc1 $f4, %lo(D_80052D60)($at) +/* 08129C 7F04C76C 46085482 */ mul.s $f18, $f10, $f8 +/* 0812A0 7F04C770 00000000 */ nop +/* 0812A4 7F04C774 46109182 */ mul.s $f6, $f18, $f16 +/* 0812A8 7F04C778 46043281 */ sub.s $f10, $f6, $f4 +/* 0812AC 7F04C77C 0C002914 */ jal get_random_value +/* 0812B0 7F04C780 E7AA0074 */ swc1 $f10, 0x74($sp) +/* 0812B4 7F04C784 44824000 */ mtc1 $v0, $f8 +/* 0812B8 7F04C788 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0812BC 7F04C78C 04410004 */ bgez $v0, .L7F04C7A0 +/* 0812C0 7F04C790 468044A0 */ cvt.s.w $f18, $f8 +/* 0812C4 7F04C794 44818000 */ mtc1 $at, $f16 +/* 0812C8 7F04C798 00000000 */ nop +/* 0812CC 7F04C79C 46109480 */ add.s $f18, $f18, $f16 +.L7F04C7A0: +/* 0812D0 7F04C7A0 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 0812D4 7F04C7A4 44813000 */ mtc1 $at, $f6 +/* 0812D8 7F04C7A8 3C018005 */ lui $at, %hi(D_80052D64) +/* 0812DC 7F04C7AC C42A2D64 */ lwc1 $f10, %lo(D_80052D64)($at) +/* 0812E0 7F04C7B0 46069102 */ mul.s $f4, $f18, $f6 +/* 0812E4 7F04C7B4 3C013D00 */ li $at, 0x3D000000 # 0.031250 +/* 0812E8 7F04C7B8 44818000 */ mtc1 $at, $f16 +/* 0812EC 7F04C7BC 3C018005 */ lui $at, %hi(D_80052D68) +/* 0812F0 7F04C7C0 C4262D68 */ lwc1 $f6, %lo(D_80052D68)($at) +/* 0812F4 7F04C7C4 27A40070 */ addiu $a0, $sp, 0x70 +/* 0812F8 7F04C7C8 26250020 */ addiu $a1, $s1, 0x20 +/* 0812FC 7F04C7CC 460A2202 */ mul.s $f8, $f4, $f10 +/* 081300 7F04C7D0 00000000 */ nop +/* 081304 7F04C7D4 46104482 */ mul.s $f18, $f8, $f16 +/* 081308 7F04C7D8 46069101 */ sub.s $f4, $f18, $f6 +/* 08130C 7F04C7DC 0FC161C5 */ jal sub_GAME_7F058714 +/* 081310 7F04C7E0 E7A40078 */ swc1 $f4, 0x78($sp) +/* 081314 7F04C7E4 10000004 */ b .L7F04C7F8 +/* 081318 7F04C7E8 8FA90104 */ lw $t1, 0x104($sp) +.L7F04C7EC: +/* 08131C 7F04C7EC 0FC15F05 */ jal sub_GAME_7F057C14 +/* 081320 7F04C7F0 26250020 */ addiu $a1, $s1, 0x20 +.L7F04C7F4: +/* 081324 7F04C7F4 8FA90104 */ lw $t1, 0x104($sp) +.L7F04C7F8: +/* 081328 7F04C7F8 8D2F001C */ lw $t7, 0x1c($t1) +/* 08132C 7F04C7FC 51E00007 */ beql $t7, $zero, .L7F04C81C +/* 081330 7F04C800 8E0B0014 */ lw $t3, 0x14($s0) +/* 081334 7F04C804 8E02001C */ lw $v0, 0x1c($s0) +/* 081338 7F04C808 00408025 */ move $s0, $v0 +.L7F04C80C: +/* 08133C 7F04C80C 8C42001C */ lw $v0, 0x1c($v0) +/* 081340 7F04C810 5440FFFE */ bnezl $v0, .L7F04C80C +/* 081344 7F04C814 00408025 */ move $s0, $v0 +/* 081348 7F04C818 8E0B0014 */ lw $t3, 0x14($s0) +.L7F04C81C: +/* 08134C 7F04C81C 8FA20108 */ lw $v0, 0x108($sp) +/* 081350 7F04C820 AFAB00B0 */ sw $t3, 0xb0($sp) +/* 081354 7F04C824 90580001 */ lbu $t8, 1($v0) +/* 081358 7F04C828 330D0002 */ andi $t5, $t8, 2 +/* 08135C 7F04C82C 51A0004B */ beql $t5, $zero, .L7F04C95C +/* 081360 7F04C830 8E0A0014 */ lw $t2, 0x14($s0) +/* 081364 7F04C834 0FC10411 */ jal if_a0_plus_3_is_4_then_10_else_20 +/* 081368 7F04C838 02402025 */ move $a0, $s2 +/* 08136C 7F04C83C E7A0005C */ swc1 $f0, 0x5c($sp) +/* 081370 7F04C840 0FC1B1A8 */ jal getsubmatrix +/* 081374 7F04C844 8FA400F8 */ lw $a0, 0xf8($sp) +/* 081378 7F04C848 240E001F */ li $t6, 31 +/* 08137C 7F04C84C AFA20058 */ sw $v0, 0x58($sp) +/* 081380 7F04C850 0FC1E111 */ jal sub_GAME_7F078444 +/* 081384 7F04C854 AFAE0054 */ sw $t6, 0x54($sp) +/* 081388 7F04C858 00402025 */ move $a0, $v0 +/* 08138C 7F04C85C 8FA50058 */ lw $a1, 0x58($sp) +/* 081390 7F04C860 0FC16063 */ jal sub_GAME_7F05818C +/* 081394 7F04C864 27A600B8 */ addiu $a2, $sp, 0xb8 +/* 081398 7F04C868 8E2C0000 */ lw $t4, ($s1) +/* 08139C 7F04C86C 2419001D */ li $t9, 29 +/* 0813A0 7F04C870 02002025 */ move $a0, $s0 +/* 0813A4 7F04C874 318A0040 */ andi $t2, $t4, 0x40 +/* 0813A8 7F04C878 11400002 */ beqz $t2, .L7F04C884 +/* 0813AC 7F04C87C 00000000 */ nop +/* 0813B0 7F04C880 AFB90054 */ sw $t9, 0x54($sp) +.L7F04C884: +/* 0813B4 7F04C884 0FC0F416 */ jal sub_GAME_7F03D058 +/* 0813B8 7F04C888 00002825 */ move $a1, $zero +/* 0813BC 7F04C88C 8E050008 */ lw $a1, 8($s0) +/* 0813C0 7F04C890 8E060010 */ lw $a2, 0x10($s0) +/* 0813C4 7F04C894 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0813C8 7F04C898 44811000 */ mtc1 $at, $f2 +/* 0813CC 7F04C89C 44800000 */ mtc1 $zero, $f0 +/* 0813D0 7F04C8A0 C7AA00F0 */ lwc1 $f10, 0xf0($sp) +/* 0813D4 7F04C8A4 8FA80054 */ lw $t0, 0x54($sp) +/* 0813D8 7F04C8A8 27B100B0 */ addiu $s1, $sp, 0xb0 +/* 0813DC 7F04C8AC 02202025 */ move $a0, $s1 +/* 0813E0 7F04C8B0 8FA700E8 */ lw $a3, 0xe8($sp) +/* 0813E4 7F04C8B4 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 0813E8 7F04C8B8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 0813EC 7F04C8BC E7AA0010 */ swc1 $f10, 0x10($sp) +/* 0813F0 7F04C8C0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 0813F4 7F04C8C4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 0813F8 7F04C8C8 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 0813FC 7F04C8CC AFA80014 */ sw $t0, 0x14($sp) +/* 081400 7F04C8D0 10400011 */ beqz $v0, .L7F04C918 +/* 081404 7F04C8D4 02202025 */ move $a0, $s1 +/* 081408 7F04C8D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 08140C 7F04C8DC 44818000 */ mtc1 $at, $f16 +/* 081410 7F04C8E0 8FA90054 */ lw $t1, 0x54($sp) +/* 081414 7F04C8E4 44804000 */ mtc1 $zero, $f8 +/* 081418 7F04C8E8 8FA500E8 */ lw $a1, 0xe8($sp) +/* 08141C 7F04C8EC 8FA600F0 */ lw $a2, 0xf0($sp) +/* 081420 7F04C8F0 8FA7005C */ lw $a3, 0x5c($sp) +/* 081424 7F04C8F4 AFA90010 */ sw $t1, 0x10($sp) +/* 081428 7F04C8F8 E7B00018 */ swc1 $f16, 0x18($sp) +/* 08142C 7F04C8FC 0FC2C62E */ jal sub_GAME_7F0B18B8 +/* 081430 7F04C900 E7A80014 */ swc1 $f8, 0x14($sp) +/* 081434 7F04C904 04410004 */ bgez $v0, .L7F04C918 +/* 081438 7F04C908 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 08143C 7F04C90C 8FAB0108 */ lw $t3, 0x108($sp) +/* 081440 7F04C910 10000008 */ b .L7F04C934 +/* 081444 7F04C914 AD6F0014 */ sw $t7, 0x14($t3) +.L7F04C918: +/* 081448 7F04C918 8E180014 */ lw $t8, 0x14($s0) +/* 08144C 7F04C91C 8FAD0108 */ lw $t5, 0x108($sp) +/* 081450 7F04C920 ADB80014 */ sw $t8, 0x14($t5) +/* 081454 7F04C924 C6120008 */ lwc1 $f18, 8($s0) +/* 081458 7F04C928 E7B200E8 */ swc1 $f18, 0xe8($sp) +/* 08145C 7F04C92C C6060010 */ lwc1 $f6, 0x10($s0) +/* 081460 7F04C930 E7A600F0 */ swc1 $f6, 0xf0($sp) +.L7F04C934: +/* 081464 7F04C934 02002025 */ move $a0, $s0 +/* 081468 7F04C938 0FC0F416 */ jal sub_GAME_7F03D058 +/* 08146C 7F04C93C 24050001 */ li $a1, 1 +/* 081470 7F04C940 8FAE0058 */ lw $t6, 0x58($sp) +/* 081474 7F04C944 8FAC0108 */ lw $t4, 0x108($sp) +/* 081478 7F04C948 C5C40038 */ lwc1 $f4, 0x38($t6) +/* 08147C 7F04C94C 46002287 */ neg.s $f10, $f4 +/* 081480 7F04C950 1000000C */ b .L7F04C984 +/* 081484 7F04C954 E58A0018 */ swc1 $f10, 0x18($t4) +/* 081488 7F04C958 8E0A0014 */ lw $t2, 0x14($s0) +.L7F04C95C: +/* 08148C 7F04C95C 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 081490 7F04C960 0FC15FF4 */ jal reset_array_of_0x10_floats +/* 081494 7F04C964 AC4A0014 */ sw $t2, 0x14($v0) +/* 081498 7F04C968 8FB900F8 */ lw $t9, 0xf8($sp) +/* 08149C 7F04C96C 27A500B8 */ addiu $a1, $sp, 0xb8 +/* 0814A0 7F04C970 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 0814A4 7F04C974 C72C0014 */ lwc1 $f12, 0x14($t9) +/* 0814A8 7F04C978 26040008 */ addiu $a0, $s0, 8 +/* 0814AC 7F04C97C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 0814B0 7F04C980 27A500B8 */ addiu $a1, $sp, 0xb8 +.L7F04C984: +/* 0814B4 7F04C984 0FC13011 */ jal sub_GAME_7F04C044 +/* 0814B8 7F04C988 8FA40108 */ lw $a0, 0x108($sp) +/* 0814BC 7F04C98C 0FC0E929 */ jal set_current_objposdata_plus_0x28 +/* 0814C0 7F04C990 8FA40108 */ lw $a0, 0x108($sp) +/* 0814C4 7F04C994 0FC0E901 */ jal set_stateflag_0x04_for_posdata +/* 0814C8 7F04C998 8FA40108 */ lw $a0, 0x108($sp) +/* 0814CC 7F04C99C C7A000E8 */ lwc1 $f0, 0xe8($sp) +/* 0814D0 7F04C9A0 8FA80108 */ lw $t0, 0x108($sp) +/* 0814D4 7F04C9A4 44804000 */ mtc1 $zero, $f8 +/* 0814D8 7F04C9A8 44808000 */ mtc1 $zero, $f16 +/* 0814DC 7F04C9AC E5000008 */ swc1 $f0, 8($t0) +/* 0814E0 7F04C9B0 E6400058 */ swc1 $f0, 0x58($s2) +/* 0814E4 7F04C9B4 C7A000EC */ lwc1 $f0, 0xec($sp) +/* 0814E8 7F04C9B8 8FA90108 */ lw $t1, 0x108($sp) +/* 0814EC 7F04C9BC 44809000 */ mtc1 $zero, $f18 +/* 0814F0 7F04C9C0 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 0814F4 7F04C9C4 E520000C */ swc1 $f0, 0xc($t1) +/* 0814F8 7F04C9C8 E640005C */ swc1 $f0, 0x5c($s2) +/* 0814FC 7F04C9CC C7A000F0 */ lwc1 $f0, 0xf0($sp) +/* 081500 7F04C9D0 8FAF0108 */ lw $t7, 0x108($sp) +/* 081504 7F04C9D4 26450018 */ addiu $a1, $s2, 0x18 +/* 081508 7F04C9D8 E5E00010 */ swc1 $f0, 0x10($t7) +/* 08150C 7F04C9DC E6400060 */ swc1 $f0, 0x60($s2) +/* 081510 7F04C9E0 E7A800E8 */ swc1 $f8, 0xe8($sp) +/* 081514 7F04C9E4 E7B000EC */ swc1 $f16, 0xec($sp) +/* 081518 7F04C9E8 0FC16008 */ jal sub_GAME_7F058020 +/* 08151C 7F04C9EC E7B200F0 */ swc1 $f18, 0xf0($sp) +/* 081520 7F04C9F0 8E440010 */ lw $a0, 0x10($s2) +/* 081524 7F04C9F4 0FC100AD */ jal sub_GAME_7F0402B4 +/* 081528 7F04C9F8 2645007C */ addiu $a1, $s2, 0x7c +/* 08152C 7F04C9FC 924B007C */ lbu $t3, 0x7c($s2) +/* 081530 7F04CA00 9258007D */ lbu $t8, 0x7d($s2) +/* 081534 7F04CA04 924D007E */ lbu $t5, 0x7e($s2) +/* 081538 7F04CA08 924E007F */ lbu $t6, 0x7f($s2) +/* 08153C 7F04CA0C 02402025 */ move $a0, $s2 +/* 081540 7F04CA10 A24B0078 */ sb $t3, 0x78($s2) +/* 081544 7F04CA14 A2580079 */ sb $t8, 0x79($s2) +/* 081548 7F04CA18 A24D007A */ sb $t5, 0x7a($s2) +/* 08154C 7F04CA1C 0FC15B28 */ jal sub_GAME_7F056CA0 +/* 081550 7F04CA20 A24E007B */ sb $t6, 0x7b($s2) +/* 081554 7F04CA24 10000001 */ b .L7F04CA2C +/* 081558 7F04CA28 24020001 */ li $v0, 1 +.L7F04CA2C: +/* 08155C 7F04CA2C 8FBF003C */ lw $ra, 0x3c($sp) +/* 081560 7F04CA30 8FB00030 */ lw $s0, 0x30($sp) +/* 081564 7F04CA34 8FB10034 */ lw $s1, 0x34($sp) +/* 081568 7F04CA38 8FB20038 */ lw $s2, 0x38($sp) +/* 08156C 7F04CA3C 03E00008 */ jr $ra +/* 081570 7F04CA40 27BD0108 */ addiu $sp, $sp, 0x108 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04CA44(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052D6C +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D70 +.word 0x3f555555 /*0.83333331*/ +glabel D_80052D74 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D78 +.word 0x3fd55555 /*1.6666666*/ +glabel D_80052D7C +.word 0x3f555555 /*0.83333331*/ +glabel D_80052D80 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D84 +.word 0x3C20D97C /*0.009817477*/ +glabel D_80052D88 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D8C +.word 0x3C20D97C /*0.009817477*/ +glabel D_80052D90 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052D94 +.word 0x3C20D97C /*0.009817477*/ +.text +glabel sub_GAME_7F04CA44 +/* 081574 7F04CA44 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 081578 7F04CA48 AFBF0024 */ sw $ra, 0x24($sp) +/* 08157C 7F04CA4C AFB10020 */ sw $s1, 0x20($sp) +/* 081580 7F04CA50 AFB0001C */ sw $s0, 0x1c($sp) +/* 081584 7F04CA54 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 081588 7F04CA58 8C8E0064 */ lw $t6, 0x64($a0) +/* 08158C 7F04CA5C 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 +/* 081590 7F04CA60 8C89000C */ lw $t1, 0xc($a0) +/* 081594 7F04CA64 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 081598 7F04CA68 01C17824 */ and $t7, $t6, $at +/* 08159C 7F04CA6C 0005CC40 */ sll $t9, $a1, 0x11 +/* 0815A0 7F04CA70 AC8F0064 */ sw $t7, 0x64($a0) +/* 0815A4 7F04CA74 01F94025 */ or $t0, $t7, $t9 +/* 0815A8 7F04CA78 312A0100 */ andi $t2, $t1, 0x100 +/* 0815AC 7F04CA7C 00808025 */ move $s0, $a0 +/* 0815B0 7F04CA80 1540009A */ bnez $t2, .L7F04CCEC +/* 0815B4 7F04CA84 AC880064 */ sw $t0, 0x64($a0) +/* 0815B8 7F04CA88 8C8B0008 */ lw $t3, 8($a0) +/* 0815BC 7F04CA8C 310E00C0 */ andi $t6, $t0, 0xc0 +/* 0815C0 7F04CA90 316C0001 */ andi $t4, $t3, 1 +/* 0815C4 7F04CA94 51800096 */ beql $t4, $zero, .L7F04CCF0 +/* 0815C8 7F04CA98 8FBF0024 */ lw $ra, 0x24($sp) +/* 0815CC 7F04CA9C 15C00093 */ bnez $t6, .L7F04CCEC +/* 0815D0 7F04CAA0 3C188003 */ lui $t8, %hi(D_80032040) +/* 0815D4 7F04CAA4 27182040 */ addiu $t8, %lo(D_80032040) # addiu $t8, $t8, 0x2040 +/* 0815D8 7F04CAA8 8F010000 */ lw $at, ($t8) +/* 0815DC 7F04CAAC 27AF0034 */ addiu $t7, $sp, 0x34 +/* 0815E0 7F04CAB0 8F080004 */ lw $t0, 4($t8) +/* 0815E4 7F04CAB4 ADE10000 */ sw $at, ($t7) +/* 0815E8 7F04CAB8 8F010008 */ lw $at, 8($t8) +/* 0815EC 7F04CABC ADE80004 */ sw $t0, 4($t7) +/* 0815F0 7F04CAC0 00008825 */ move $s1, $zero +/* 0815F4 7F04CAC4 ADE10008 */ sw $at, 8($t7) +/* 0815F8 7F04CAC8 0FC0FF6A */ jal sub_GAME_7F03FDA8 +/* 0815FC 7F04CACC 8C840010 */ lw $a0, 0x10($a0) +/* 081600 7F04CAD0 8E090064 */ lw $t1, 0x64($s0) +/* 081604 7F04CAD4 312A0080 */ andi $t2, $t1, 0x80 +/* 081608 7F04CAD8 11400002 */ beqz $t2, .L7F04CAE4 +/* 08160C 7F04CADC 00000000 */ nop +/* 081610 7F04CAE0 8E11006C */ lw $s1, 0x6c($s0) +.L7F04CAE4: +/* 081614 7F04CAE4 52200082 */ beql $s1, $zero, .L7F04CCF0 +/* 081618 7F04CAE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 08161C 7F04CAEC 0C002914 */ jal get_random_value +/* 081620 7F04CAF0 00000000 */ nop +/* 081624 7F04CAF4 44822000 */ mtc1 $v0, $f4 +/* 081628 7F04CAF8 3C012F80 */ li $at, 0x2F800000 # 0.000000 +/* 08162C 7F04CAFC 4481A000 */ mtc1 $at, $f20 +/* 081630 7F04CB00 04410005 */ bgez $v0, .L7F04CB18 +/* 081634 7F04CB04 468021A0 */ cvt.s.w $f6, $f4 +/* 081638 7F04CB08 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 08163C 7F04CB0C 44814000 */ mtc1 $at, $f8 +/* 081640 7F04CB10 00000000 */ nop +/* 081644 7F04CB14 46083180 */ add.s $f6, $f6, $f8 +.L7F04CB18: +/* 081648 7F04CB18 46143282 */ mul.s $f10, $f6, $f20 +/* 08164C 7F04CB1C 3C018005 */ lui $at, %hi(D_80052D6C) +/* 081650 7F04CB20 C4302D6C */ lwc1 $f16, %lo(D_80052D6C)($at) +/* 081654 7F04CB24 3C018005 */ lui $at, %hi(D_80052D70) +/* 081658 7F04CB28 C4242D70 */ lwc1 $f4, %lo(D_80052D70)($at) +/* 08165C 7F04CB2C 46105482 */ mul.s $f18, $f10, $f16 +/* 081660 7F04CB30 46049201 */ sub.s $f8, $f18, $f4 +/* 081664 7F04CB34 0C002914 */ jal get_random_value +/* 081668 7F04CB38 E6280004 */ swc1 $f8, 4($s1) +/* 08166C 7F04CB3C 44823000 */ mtc1 $v0, $f6 +/* 081670 7F04CB40 3C018005 */ lui $at, %hi(D_80052D74) +/* 081674 7F04CB44 C4222D74 */ lwc1 $f2, %lo(D_80052D74)($at) +/* 081678 7F04CB48 04410005 */ bgez $v0, .L7F04CB60 +/* 08167C 7F04CB4C 468032A0 */ cvt.s.w $f10, $f6 +/* 081680 7F04CB50 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081684 7F04CB54 44818000 */ mtc1 $at, $f16 +/* 081688 7F04CB58 00000000 */ nop +/* 08168C 7F04CB5C 46105280 */ add.s $f10, $f10, $f16 +.L7F04CB60: +/* 081690 7F04CB60 46145482 */ mul.s $f18, $f10, $f20 +/* 081694 7F04CB64 00000000 */ nop +/* 081698 7F04CB68 46029002 */ mul.s $f0, $f18, $f2 +/* 08169C 7F04CB6C 46000100 */ add.s $f4, $f0, $f0 +/* 0816A0 7F04CB70 46022200 */ add.s $f8, $f4, $f2 +/* 0816A4 7F04CB74 0C002914 */ jal get_random_value +/* 0816A8 7F04CB78 E6280008 */ swc1 $f8, 8($s1) +/* 0816AC 7F04CB7C 44823000 */ mtc1 $v0, $f6 +/* 0816B0 7F04CB80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0816B4 7F04CB84 04410004 */ bgez $v0, .L7F04CB98 +/* 0816B8 7F04CB88 46803420 */ cvt.s.w $f16, $f6 +/* 0816BC 7F04CB8C 44815000 */ mtc1 $at, $f10 +/* 0816C0 7F04CB90 00000000 */ nop +/* 0816C4 7F04CB94 460A8400 */ add.s $f16, $f16, $f10 +.L7F04CB98: +/* 0816C8 7F04CB98 46148482 */ mul.s $f18, $f16, $f20 +/* 0816CC 7F04CB9C 3C018005 */ lui $at, %hi(D_80052D78) +/* 0816D0 7F04CBA0 C4242D78 */ lwc1 $f4, %lo(D_80052D78)($at) +/* 0816D4 7F04CBA4 3C018005 */ lui $at, %hi(D_80052D7C) +/* 0816D8 7F04CBA8 C4262D7C */ lwc1 $f6, %lo(D_80052D7C)($at) +/* 0816DC 7F04CBAC 46049202 */ mul.s $f8, $f18, $f4 +/* 0816E0 7F04CBB0 46064281 */ sub.s $f10, $f8, $f6 +/* 0816E4 7F04CBB4 E62A000C */ swc1 $f10, 0xc($s1) +/* 0816E8 7F04CBB8 8E0B000C */ lw $t3, 0xc($s0) +/* 0816EC 7F04CBBC 316C0200 */ andi $t4, $t3, 0x200 +/* 0816F0 7F04CBC0 5580003C */ bnezl $t4, .L7F04CCB4 +/* 0816F4 7F04CBC4 27A40034 */ addiu $a0, $sp, 0x34 +/* 0816F8 7F04CBC8 0C002914 */ jal get_random_value +/* 0816FC 7F04CBCC 00000000 */ nop +/* 081700 7F04CBD0 44828000 */ mtc1 $v0, $f16 +/* 081704 7F04CBD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081708 7F04CBD8 04410004 */ bgez $v0, .L7F04CBEC +/* 08170C 7F04CBDC 468084A0 */ cvt.s.w $f18, $f16 +/* 081710 7F04CBE0 44812000 */ mtc1 $at, $f4 +/* 081714 7F04CBE4 00000000 */ nop +/* 081718 7F04CBE8 46049480 */ add.s $f18, $f18, $f4 +.L7F04CBEC: +/* 08171C 7F04CBEC 46149202 */ mul.s $f8, $f18, $f20 +/* 081720 7F04CBF0 3C018005 */ lui $at, %hi(D_80052D80) +/* 081724 7F04CBF4 C4262D80 */ lwc1 $f6, %lo(D_80052D80)($at) +/* 081728 7F04CBF8 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 08172C 7F04CBFC 44818000 */ mtc1 $at, $f16 +/* 081730 7F04CC00 3C018005 */ lui $at, %hi(D_80052D84) +/* 081734 7F04CC04 C4322D84 */ lwc1 $f18, %lo(D_80052D84)($at) +/* 081738 7F04CC08 46064282 */ mul.s $f10, $f8, $f6 +/* 08173C 7F04CC0C 46105103 */ div.s $f4, $f10, $f16 +/* 081740 7F04CC10 46122201 */ sub.s $f8, $f4, $f18 +/* 081744 7F04CC14 0C002914 */ jal get_random_value +/* 081748 7F04CC18 E7A80034 */ swc1 $f8, 0x34($sp) +/* 08174C 7F04CC1C 44823000 */ mtc1 $v0, $f6 +/* 081750 7F04CC20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081754 7F04CC24 04410004 */ bgez $v0, .L7F04CC38 +/* 081758 7F04CC28 468032A0 */ cvt.s.w $f10, $f6 +/* 08175C 7F04CC2C 44818000 */ mtc1 $at, $f16 +/* 081760 7F04CC30 00000000 */ nop +/* 081764 7F04CC34 46105280 */ add.s $f10, $f10, $f16 +.L7F04CC38: +/* 081768 7F04CC38 46145102 */ mul.s $f4, $f10, $f20 +/* 08176C 7F04CC3C 3C018005 */ lui $at, %hi(D_80052D88) +/* 081770 7F04CC40 C4322D88 */ lwc1 $f18, %lo(D_80052D88)($at) +/* 081774 7F04CC44 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 081778 7F04CC48 44813000 */ mtc1 $at, $f6 +/* 08177C 7F04CC4C 3C018005 */ lui $at, %hi(D_80052D8C) +/* 081780 7F04CC50 C42A2D8C */ lwc1 $f10, %lo(D_80052D8C)($at) +/* 081784 7F04CC54 46122202 */ mul.s $f8, $f4, $f18 +/* 081788 7F04CC58 46064403 */ div.s $f16, $f8, $f6 +/* 08178C 7F04CC5C 460A8101 */ sub.s $f4, $f16, $f10 +/* 081790 7F04CC60 0C002914 */ jal get_random_value +/* 081794 7F04CC64 E7A40038 */ swc1 $f4, 0x38($sp) +/* 081798 7F04CC68 44829000 */ mtc1 $v0, $f18 +/* 08179C 7F04CC6C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0817A0 7F04CC70 04410004 */ bgez $v0, .L7F04CC84 +/* 0817A4 7F04CC74 46809220 */ cvt.s.w $f8, $f18 +/* 0817A8 7F04CC78 44813000 */ mtc1 $at, $f6 +/* 0817AC 7F04CC7C 00000000 */ nop +/* 0817B0 7F04CC80 46064200 */ add.s $f8, $f8, $f6 +.L7F04CC84: +/* 0817B4 7F04CC84 46144402 */ mul.s $f16, $f8, $f20 +/* 0817B8 7F04CC88 3C018005 */ lui $at, %hi(D_80052D90) +/* 0817BC 7F04CC8C C42A2D90 */ lwc1 $f10, %lo(D_80052D90)($at) +/* 0817C0 7F04CC90 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 0817C4 7F04CC94 44819000 */ mtc1 $at, $f18 +/* 0817C8 7F04CC98 3C018005 */ lui $at, %hi(D_80052D94) +/* 0817CC 7F04CC9C C4282D94 */ lwc1 $f8, %lo(D_80052D94)($at) +/* 0817D0 7F04CCA0 460A8102 */ mul.s $f4, $f16, $f10 +/* 0817D4 7F04CCA4 46122183 */ div.s $f6, $f4, $f18 +/* 0817D8 7F04CCA8 46083401 */ sub.s $f16, $f6, $f8 +/* 0817DC 7F04CCAC E7B0003C */ swc1 $f16, 0x3c($sp) +/* 0817E0 7F04CCB0 27A40034 */ addiu $a0, $sp, 0x34 +.L7F04CCB4: +/* 0817E4 7F04CCB4 0FC161C5 */ jal sub_GAME_7F058714 +/* 0817E8 7F04CCB8 26250020 */ addiu $a1, $s1, 0x20 +/* 0817EC 7F04CCBC 8E2D0000 */ lw $t5, ($s1) +/* 0817F0 7F04CCC0 2401FEFF */ li $at, -257 +/* 0817F4 7F04CCC4 35AE0001 */ ori $t6, $t5, 1 +/* 0817F8 7F04CCC8 AE2E0000 */ sw $t6, ($s1) +/* 0817FC 7F04CCCC 8E190008 */ lw $t9, 8($s0) +/* 081800 7F04CCD0 8E180064 */ lw $t8, 0x64($s0) +/* 081804 7F04CCD4 03217824 */ and $t7, $t9, $at +/* 081808 7F04CCD8 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 08180C 7F04CCDC 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 081810 7F04CCE0 03014024 */ and $t0, $t8, $at +/* 081814 7F04CCE4 AE0F0008 */ sw $t7, 8($s0) +/* 081818 7F04CCE8 AE080064 */ sw $t0, 0x64($s0) +.L7F04CCEC: +/* 08181C 7F04CCEC 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04CCF0: +/* 081820 7F04CCF0 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 081824 7F04CCF4 8FB0001C */ lw $s0, 0x1c($sp) +/* 081828 7F04CCF8 8FB10020 */ lw $s1, 0x20($sp) +/* 08182C 7F04CCFC 03E00008 */ jr $ra +/* 081830 7F04CD00 27BD0040 */ addiu $sp, $sp, 0x40 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04CD04(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04CD04 +/* 081834 7F04CD04 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 081838 7F04CD08 AFBF0034 */ sw $ra, 0x34($sp) +/* 08183C 7F04CD0C AFB60030 */ sw $s6, 0x30($sp) +/* 081840 7F04CD10 AFB5002C */ sw $s5, 0x2c($sp) +/* 081844 7F04CD14 AFB40028 */ sw $s4, 0x28($sp) +/* 081848 7F04CD18 AFB30024 */ sw $s3, 0x24($sp) +/* 08184C 7F04CD1C AFB20020 */ sw $s2, 0x20($sp) +/* 081850 7F04CD20 AFB1001C */ sw $s1, 0x1c($sp) +/* 081854 7F04CD24 AFB00018 */ sw $s0, 0x18($sp) +/* 081858 7F04CD28 8C8E0014 */ lw $t6, 0x14($a0) +/* 08185C 7F04CD2C 00A0B025 */ move $s6, $a1 +/* 081860 7F04CD30 8C940004 */ lw $s4, 4($a0) +/* 081864 7F04CD34 27A50048 */ addiu $a1, $sp, 0x48 +/* 081868 7F04CD38 27A60044 */ addiu $a2, $sp, 0x44 +/* 08186C 7F04CD3C 0FC0F32C */ jal sub_GAME_7F03CCB0 +/* 081870 7F04CD40 91D50003 */ lbu $s5, 3($t6) +/* 081874 7F04CD44 8FAF0044 */ lw $t7, 0x44($sp) +/* 081878 7F04CD48 59E00027 */ blezl $t7, .L7F04CDE8 +/* 08187C 7F04CD4C 8FBF0034 */ lw $ra, 0x34($sp) +/* 081880 7F04CD50 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry +/* 081884 7F04CD54 00000000 */ nop +/* 081888 7F04CD58 10400022 */ beqz $v0, .L7F04CDE4 +/* 08188C 7F04CD5C 00408825 */ move $s1, $v0 +/* 081890 7F04CD60 24130004 */ li $s3, 4 +/* 081894 7F04CD64 24120001 */ li $s2, 1 +/* 081898 7F04CD68 92220000 */ lbu $v0, ($s1) +.L7F04CD6C: +/* 08189C 7F04CD6C 52420004 */ beql $s2, $v0, .L7F04CD80 +/* 0818A0 7F04CD70 8E380014 */ lw $t8, 0x14($s1) +/* 0818A4 7F04CD74 56620019 */ bnel $s3, $v0, .L7F04CDDC +/* 0818A8 7F04CD78 8E310024 */ lw $s1, 0x24($s1) +/* 0818AC 7F04CD7C 8E380014 */ lw $t8, 0x14($s1) +.L7F04CD80: +/* 0818B0 7F04CD80 93190003 */ lbu $t9, 3($t8) +/* 0818B4 7F04CD84 56B90015 */ bnel $s5, $t9, .L7F04CDDC +/* 0818B8 7F04CD88 8E310024 */ lw $s1, 0x24($s1) +/* 0818BC 7F04CD8C 8E300004 */ lw $s0, 4($s1) +/* 0818C0 7F04CD90 C684005C */ lwc1 $f4, 0x5c($s4) +/* 0818C4 7F04CD94 C606005C */ lwc1 $f6, 0x5c($s0) +/* 0818C8 7F04CD98 4606203C */ c.lt.s $f4, $f6 +/* 0818CC 7F04CD9C 00000000 */ nop +/* 0818D0 7F04CDA0 4502000E */ bc1fl .L7F04CDDC +/* 0818D4 7F04CDA4 8E310024 */ lw $s1, 0x24($s1) +/* 0818D8 7F04CDA8 8E080064 */ lw $t0, 0x64($s0) +/* 0818DC 7F04CDAC 26040058 */ addiu $a0, $s0, 0x58 +/* 0818E0 7F04CDB0 8FA50048 */ lw $a1, 0x48($sp) +/* 0818E4 7F04CDB4 31098000 */ andi $t1, $t0, 0x8000 +/* 0818E8 7F04CDB8 51200008 */ beql $t1, $zero, .L7F04CDDC +/* 0818EC 7F04CDBC 8E310024 */ lw $s1, 0x24($s1) +/* 0818F0 7F04CDC0 0FC0F336 */ jal sub_GAME_7F03CCD8 +/* 0818F4 7F04CDC4 8FA60044 */ lw $a2, 0x44($sp) +/* 0818F8 7F04CDC8 10400003 */ beqz $v0, .L7F04CDD8 +/* 0818FC 7F04CDCC 02002025 */ move $a0, $s0 +/* 081900 7F04CDD0 0FC13291 */ jal sub_GAME_7F04CA44 +/* 081904 7F04CDD4 02C02825 */ move $a1, $s6 +.L7F04CDD8: +/* 081908 7F04CDD8 8E310024 */ lw $s1, 0x24($s1) +.L7F04CDDC: +/* 08190C 7F04CDDC 5620FFE3 */ bnezl $s1, .L7F04CD6C +/* 081910 7F04CDE0 92220000 */ lbu $v0, ($s1) +.L7F04CDE4: +/* 081914 7F04CDE4 8FBF0034 */ lw $ra, 0x34($sp) +.L7F04CDE8: +/* 081918 7F04CDE8 8FB00018 */ lw $s0, 0x18($sp) +/* 08191C 7F04CDEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 081920 7F04CDF0 8FB20020 */ lw $s2, 0x20($sp) +/* 081924 7F04CDF4 8FB30024 */ lw $s3, 0x24($sp) +/* 081928 7F04CDF8 8FB40028 */ lw $s4, 0x28($sp) +/* 08192C 7F04CDFC 8FB5002C */ lw $s5, 0x2c($sp) +/* 081930 7F04CE00 8FB60030 */ lw $s6, 0x30($sp) +/* 081934 7F04CE04 03E00008 */ jr $ra +/* 081938 7F04CE08 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + + + + + +#ifdef NONMATCHING +void object_explosion_related(void) { + +} +#else +GLOBAL_ASM( +.text +glabel object_explosion_related +/* 08193C 7F04CE0C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 081940 7F04CE10 AFBF002C */ sw $ra, 0x2c($sp) +/* 081944 7F04CE14 AFB10028 */ sw $s1, 0x28($sp) +/* 081948 7F04CE18 AFB00024 */ sw $s0, 0x24($sp) +/* 08194C 7F04CE1C AFA5004C */ sw $a1, 0x4c($sp) +/* 081950 7F04CE20 AFA60050 */ sw $a2, 0x50($sp) +/* 081954 7F04CE24 C4860070 */ lwc1 $f6, 0x70($a0) +/* 081958 7F04CE28 C4840074 */ lwc1 $f4, 0x74($a0) +/* 08195C 7F04CE2C 00808825 */ move $s1, $a0 +/* 081960 7F04CE30 4606203C */ c.lt.s $f4, $f6 +/* 081964 7F04CE34 00000000 */ nop +/* 081968 7F04CE38 45030006 */ bc1tl .L7F04CE54 +/* 08196C 7F04CE3C 862E0004 */ lh $t6, 4($s1) +/* 081970 7F04CE40 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 081974 7F04CE44 00000000 */ nop +/* 081978 7F04CE48 504000C4 */ beql $v0, $zero, .L7F04D15C +/* 08197C 7F04CE4C 8FBF002C */ lw $ra, 0x2c($sp) +/* 081980 7F04CE50 862E0004 */ lh $t6, 4($s1) +.L7F04CE54: +/* 081984 7F04CE54 3C188004 */ lui $t8, %hi(object_explosion_details) +/* 081988 7F04CE58 8E230010 */ lw $v1, 0x10($s1) +/* 08198C 7F04CE5C 000E78C0 */ sll $t7, $t6, 3 +/* 081990 7F04CE60 01EE7823 */ subu $t7, $t7, $t6 +/* 081994 7F04CE64 000F7840 */ sll $t7, $t7, 1 +/* 081998 7F04CE68 030FC021 */ addu $t8, $t8, $t7 +/* 08199C 7F04CE6C 8718B224 */ lh $t8, %lo(object_explosion_details)($t8) +/* 0819A0 7F04CE70 02202025 */ move $a0, $s1 +/* 0819A4 7F04CE74 00608025 */ move $s0, $v1 +/* 0819A8 7F04CE78 A7B8003E */ sh $t8, 0x3e($sp) +/* 0819AC 7F04CE7C 8C79001C */ lw $t9, 0x1c($v1) +/* 0819B0 7F04CE80 53200007 */ beql $t9, $zero, .L7F04CEA0 +/* 0819B4 7F04CE84 8E080014 */ lw $t0, 0x14($s0) +/* 0819B8 7F04CE88 8E02001C */ lw $v0, 0x1c($s0) +/* 0819BC 7F04CE8C 00408025 */ move $s0, $v0 +.L7F04CE90: +/* 0819C0 7F04CE90 8C42001C */ lw $v0, 0x1c($v0) +/* 0819C4 7F04CE94 5440FFFE */ bnezl $v0, .L7F04CE90 +/* 0819C8 7F04CE98 00408025 */ move $s0, $v0 +/* 0819CC 7F04CE9C 8E080014 */ lw $t0, 0x14($s0) +.L7F04CEA0: +/* 0819D0 7F04CEA0 AFA30044 */ sw $v1, 0x44($sp) +/* 0819D4 7F04CEA4 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 0819D8 7F04CEA8 AFA80038 */ sw $t0, 0x38($sp) +/* 0819DC 7F04CEAC 14400056 */ bnez $v0, .L7F04D008 +/* 0819E0 7F04CEB0 00000000 */ nop +/* 0819E4 7F04CEB4 92290002 */ lbu $t1, 2($s1) +/* 0819E8 7F04CEB8 44804000 */ mtc1 $zero, $f8 +/* 0819EC 7F04CEBC 352A0080 */ ori $t2, $t1, 0x80 +/* 0819F0 7F04CEC0 A22A0002 */ sb $t2, 2($s1) +/* 0819F4 7F04CEC4 E6280070 */ swc1 $f8, 0x70($s1) +/* 0819F8 7F04CEC8 8FAB0038 */ lw $t3, 0x38($sp) +/* 0819FC 7F04CECC 5160002B */ beql $t3, $zero, .L7F04CF7C +/* 081A00 7F04CED0 8E2C000C */ lw $t4, 0xc($s1) +/* 081A04 7F04CED4 920C0001 */ lbu $t4, 1($s0) +/* 081A08 7F04CED8 8FA2004C */ lw $v0, 0x4c($sp) +/* 081A0C 7F04CEDC 27A40038 */ addiu $a0, $sp, 0x38 +/* 081A10 7F04CEE0 318D0008 */ andi $t5, $t4, 8 +/* 081A14 7F04CEE4 55A00019 */ bnezl $t5, .L7F04CF4C +/* 081A18 7F04CEE8 8E060014 */ lw $a2, 0x14($s0) +/* 081A1C 7F04CEEC C44A0008 */ lwc1 $f10, 8($v0) +/* 081A20 7F04CEF0 8E050008 */ lw $a1, 8($s0) +/* 081A24 7F04CEF4 8E060010 */ lw $a2, 0x10($s0) +/* 081A28 7F04CEF8 8C470000 */ lw $a3, ($v0) +/* 081A2C 7F04CEFC 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 081A30 7F04CF00 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 081A34 7F04CF04 10400010 */ beqz $v0, .L7F04CF48 +/* 081A38 7F04CF08 8FA40044 */ lw $a0, 0x44($sp) +/* 081A3C 7F04CF0C 8E2E0008 */ lw $t6, 8($s1) +/* 081A40 7F04CF10 8FB90050 */ lw $t9, 0x50($sp) +/* 081A44 7F04CF14 2608002C */ addiu $t0, $s0, 0x2c +/* 081A48 7F04CF18 31CF000E */ andi $t7, $t6, 0xe +/* 081A4C 7F04CF1C 2DF80001 */ sltiu $t8, $t7, 1 +/* 081A50 7F04CF20 AFB80010 */ sw $t8, 0x10($sp) +/* 081A54 7F04CF24 AFA80018 */ sw $t0, 0x18($sp) +/* 081A58 7F04CF28 AFA0001C */ sw $zero, 0x1c($sp) +/* 081A5C 7F04CF2C 8FA5004C */ lw $a1, 0x4c($sp) +/* 081A60 7F04CF30 8FA60038 */ lw $a2, 0x38($sp) +/* 081A64 7F04CF34 87A7003E */ lh $a3, 0x3e($sp) +/* 081A68 7F04CF38 0FC27094 */ jal sub_GAME_7F09C250 +/* 081A6C 7F04CF3C AFB90014 */ sw $t9, 0x14($sp) +/* 081A70 7F04CF40 1000000E */ b .L7F04CF7C +/* 081A74 7F04CF44 8E2C000C */ lw $t4, 0xc($s1) +.L7F04CF48: +/* 081A78 7F04CF48 8E060014 */ lw $a2, 0x14($s0) +.L7F04CF4C: +/* 081A7C 7F04CF4C 8FA90050 */ lw $t1, 0x50($sp) +/* 081A80 7F04CF50 260A002C */ addiu $t2, $s0, 0x2c +/* 081A84 7F04CF54 240B0001 */ li $t3, 1 +/* 081A88 7F04CF58 AFAB001C */ sw $t3, 0x1c($sp) +/* 081A8C 7F04CF5C AFAA0018 */ sw $t2, 0x18($sp) +/* 081A90 7F04CF60 AFA00010 */ sw $zero, 0x10($sp) +/* 081A94 7F04CF64 8FA40044 */ lw $a0, 0x44($sp) +/* 081A98 7F04CF68 8FA5004C */ lw $a1, 0x4c($sp) +/* 081A9C 7F04CF6C 87A7003E */ lh $a3, 0x3e($sp) +/* 081AA0 7F04CF70 0FC27094 */ jal sub_GAME_7F09C250 +/* 081AA4 7F04CF74 AFA90014 */ sw $t1, 0x14($sp) +/* 081AA8 7F04CF78 8E2C000C */ lw $t4, 0xc($s1) +.L7F04CF7C: +/* 081AAC 7F04CF7C 02202025 */ move $a0, $s1 +/* 081AB0 7F04CF80 318D2000 */ andi $t5, $t4, 0x2000 +/* 081AB4 7F04CF84 11A00005 */ beqz $t5, .L7F04CF9C +/* 081AB8 7F04CF88 00000000 */ nop +/* 081ABC 7F04CF8C 8E2E0064 */ lw $t6, 0x64($s1) +/* 081AC0 7F04CF90 35CF0004 */ ori $t7, $t6, 4 +/* 081AC4 7F04CF94 10000070 */ b .L7F04D158 +/* 081AC8 7F04CF98 AE2F0064 */ sw $t7, 0x64($s1) +.L7F04CF9C: +/* 081ACC 7F04CF9C 0FC12D84 */ jal sub_GAME_7F04B610 +/* 081AD0 7F04CFA0 24050001 */ li $a1, 1 +/* 081AD4 7F04CFA4 8FA40044 */ lw $a0, 0x44($sp) +/* 081AD8 7F04CFA8 5604006C */ bnel $s0, $a0, .L7F04D15C +/* 081ADC 7F04CFAC 8FBF002C */ lw $ra, 0x2c($sp) +/* 081AE0 7F04CFB0 0FC13341 */ jal sub_GAME_7F04CD04 +/* 081AE4 7F04CFB4 8FA50050 */ lw $a1, 0x50($sp) +/* 081AE8 7F04CFB8 8E220064 */ lw $v0, 0x64($s1) +/* 081AEC 7F04CFBC 30588000 */ andi $t8, $v0, 0x8000 +/* 081AF0 7F04CFC0 5300000A */ beql $t8, $zero, .L7F04CFEC +/* 081AF4 7F04CFC4 3C010001 */ lui $at, 1 +/* 081AF8 7F04CFC8 0C002914 */ jal get_random_value +/* 081AFC 7F04CFCC 00000000 */ nop +/* 081B00 7F04CFD0 24010003 */ li $at, 3 +/* 081B04 7F04CFD4 0041001B */ divu $zero, $v0, $at +/* 081B08 7F04CFD8 0000C810 */ mfhi $t9 +/* 081B0C 7F04CFDC 5720005F */ bnezl $t9, .L7F04D15C +/* 081B10 7F04CFE0 8FBF002C */ lw $ra, 0x2c($sp) +/* 081B14 7F04CFE4 8E220064 */ lw $v0, 0x64($s1) +/* 081B18 7F04CFE8 3C010001 */ lui $at, 1 +.L7F04CFEC: +/* 081B1C 7F04CFEC 00414025 */ or $t0, $v0, $at +/* 081B20 7F04CFF0 AE280064 */ sw $t0, 0x64($s1) +/* 081B24 7F04CFF4 8FA50050 */ lw $a1, 0x50($sp) +/* 081B28 7F04CFF8 0FC13291 */ jal sub_GAME_7F04CA44 +/* 081B2C 7F04CFFC 02202025 */ move $a0, $s1 +/* 081B30 7F04D000 10000056 */ b .L7F04D15C +/* 081B34 7F04D004 8FBF002C */ lw $ra, 0x2c($sp) +.L7F04D008: +/* 081B38 7F04D008 0FC0FFD8 */ jal sub_GAME_7F03FF60 +/* 081B3C 7F04D00C 02202025 */ move $a0, $s1 +/* 081B40 7F04D010 30490003 */ andi $t1, $v0, 3 +/* 081B44 7F04D014 15200031 */ bnez $t1, .L7F04D0DC +/* 081B48 7F04D018 AFA20034 */ sw $v0, 0x34($sp) +/* 081B4C 7F04D01C 00025083 */ sra $t2, $v0, 2 +/* 081B50 7F04D020 25450001 */ addiu $a1, $t2, 1 +/* 081B54 7F04D024 0FC12D84 */ jal sub_GAME_7F04B610 +/* 081B58 7F04D028 02202025 */ move $a0, $s1 +/* 081B5C 7F04D02C 8FAB0038 */ lw $t3, 0x38($sp) +/* 081B60 7F04D030 1160002A */ beqz $t3, .L7F04D0DC +/* 081B64 7F04D034 00000000 */ nop +/* 081B68 7F04D038 920C0001 */ lbu $t4, 1($s0) +/* 081B6C 7F04D03C 8FA2004C */ lw $v0, 0x4c($sp) +/* 081B70 7F04D040 27A40038 */ addiu $a0, $sp, 0x38 +/* 081B74 7F04D044 318D0008 */ andi $t5, $t4, 8 +/* 081B78 7F04D048 55A00019 */ bnezl $t5, .L7F04D0B0 +/* 081B7C 7F04D04C 8E060014 */ lw $a2, 0x14($s0) +/* 081B80 7F04D050 C4500008 */ lwc1 $f16, 8($v0) +/* 081B84 7F04D054 8E050008 */ lw $a1, 8($s0) +/* 081B88 7F04D058 8E060010 */ lw $a2, 0x10($s0) +/* 081B8C 7F04D05C 8C470000 */ lw $a3, ($v0) +/* 081B90 7F04D060 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 081B94 7F04D064 E7B00010 */ swc1 $f16, 0x10($sp) +/* 081B98 7F04D068 10400010 */ beqz $v0, .L7F04D0AC +/* 081B9C 7F04D06C 8FA40044 */ lw $a0, 0x44($sp) +/* 081BA0 7F04D070 8E2E0008 */ lw $t6, 8($s1) +/* 081BA4 7F04D074 8FB90050 */ lw $t9, 0x50($sp) +/* 081BA8 7F04D078 2608002C */ addiu $t0, $s0, 0x2c +/* 081BAC 7F04D07C 31CF000E */ andi $t7, $t6, 0xe +/* 081BB0 7F04D080 2DF80001 */ sltiu $t8, $t7, 1 +/* 081BB4 7F04D084 AFB80010 */ sw $t8, 0x10($sp) +/* 081BB8 7F04D088 AFA80018 */ sw $t0, 0x18($sp) +/* 081BBC 7F04D08C AFA0001C */ sw $zero, 0x1c($sp) +/* 081BC0 7F04D090 8FA5004C */ lw $a1, 0x4c($sp) +/* 081BC4 7F04D094 8FA60038 */ lw $a2, 0x38($sp) +/* 081BC8 7F04D098 24070010 */ li $a3, 16 +/* 081BCC 7F04D09C 0FC27094 */ jal sub_GAME_7F09C250 +/* 081BD0 7F04D0A0 AFB90014 */ sw $t9, 0x14($sp) +/* 081BD4 7F04D0A4 1000000D */ b .L7F04D0DC +/* 081BD8 7F04D0A8 00000000 */ nop +.L7F04D0AC: +/* 081BDC 7F04D0AC 8E060014 */ lw $a2, 0x14($s0) +.L7F04D0B0: +/* 081BE0 7F04D0B0 8FA90050 */ lw $t1, 0x50($sp) +/* 081BE4 7F04D0B4 260A002C */ addiu $t2, $s0, 0x2c +/* 081BE8 7F04D0B8 240B0001 */ li $t3, 1 +/* 081BEC 7F04D0BC AFAB001C */ sw $t3, 0x1c($sp) +/* 081BF0 7F04D0C0 AFAA0018 */ sw $t2, 0x18($sp) +/* 081BF4 7F04D0C4 AFA00010 */ sw $zero, 0x10($sp) +/* 081BF8 7F04D0C8 8FA40044 */ lw $a0, 0x44($sp) +/* 081BFC 7F04D0CC 8FA5004C */ lw $a1, 0x4c($sp) +/* 081C00 7F04D0D0 24070010 */ li $a3, 16 +/* 081C04 7F04D0D4 0FC27094 */ jal sub_GAME_7F09C250 +/* 081C08 7F04D0D8 AFA90014 */ sw $t1, 0x14($sp) +.L7F04D0DC: +/* 081C0C 7F04D0DC 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 081C10 7F04D0E0 02202025 */ move $a0, $s1 +/* 081C14 7F04D0E4 58400012 */ blezl $v0, .L7F04D130 +/* 081C18 7F04D0E8 8FA90034 */ lw $t1, 0x34($sp) +/* 081C1C 7F04D0EC 92220002 */ lbu $v0, 2($s1) +/* 081C20 7F04D0F0 304C0004 */ andi $t4, $v0, 4 +/* 081C24 7F04D0F4 5180000E */ beql $t4, $zero, .L7F04D130 +/* 081C28 7F04D0F8 8FA90034 */ lw $t1, 0x34($sp) +/* 081C2C 7F04D0FC 8E2D0064 */ lw $t5, 0x64($s1) +/* 081C30 7F04D100 344F0010 */ ori $t7, $v0, 0x10 +/* 081C34 7F04D104 3058FFEF */ andi $t8, $v0, 0xffef +/* 081C38 7F04D108 31AE1000 */ andi $t6, $t5, 0x1000 +/* 081C3C 7F04D10C 51C00004 */ beql $t6, $zero, .L7F04D120 +/* 081C40 7F04D110 A2380002 */ sb $t8, 2($s1) +/* 081C44 7F04D114 10000002 */ b .L7F04D120 +/* 081C48 7F04D118 A22F0002 */ sb $t7, 2($s1) +/* 081C4C 7F04D11C A2380002 */ sb $t8, 2($s1) +.L7F04D120: +/* 081C50 7F04D120 8FA80044 */ lw $t0, 0x44($sp) +/* 081C54 7F04D124 241904B0 */ li $t9, 1200 +/* 081C58 7F04D128 A5190002 */ sh $t9, 2($t0) +/* 081C5C 7F04D12C 8FA90034 */ lw $t1, 0x34($sp) +.L7F04D130: +/* 081C60 7F04D130 2921000C */ slti $at, $t1, 0xc +/* 081C64 7F04D134 54200009 */ bnezl $at, .L7F04D15C +/* 081C68 7F04D138 8FBF002C */ lw $ra, 0x2c($sp) +/* 081C6C 7F04D13C 8E2A0064 */ lw $t2, 0x64($s1) +/* 081C70 7F04D140 8E2C0008 */ lw $t4, 8($s1) +/* 081C74 7F04D144 2401FEFF */ li $at, -257 +/* 081C78 7F04D148 354B1000 */ ori $t3, $t2, 0x1000 +/* 081C7C 7F04D14C 01816824 */ and $t5, $t4, $at +/* 081C80 7F04D150 AE2B0064 */ sw $t3, 0x64($s1) +/* 081C84 7F04D154 AE2D0008 */ sw $t5, 8($s1) +.L7F04D158: +/* 081C88 7F04D158 8FBF002C */ lw $ra, 0x2c($sp) +.L7F04D15C: +/* 081C8C 7F04D15C 8FB00024 */ lw $s0, 0x24($sp) +/* 081C90 7F04D160 8FB10028 */ lw $s1, 0x28($sp) +/* 081C94 7F04D164 03E00008 */ jr $ra +/* 081C98 7F04D168 27BD0048 */ addiu $sp, $sp, 0x48 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04D16C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04D16C +/* 081C9C 7F04D16C 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 081CA0 7F04D170 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 081CA4 7F04D174 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 081CA8 7F04D178 AFBE0050 */ sw $fp, 0x50($sp) +/* 081CAC 7F04D17C AFB7004C */ sw $s7, 0x4c($sp) +/* 081CB0 7F04D180 AFB60048 */ sw $s6, 0x48($sp) +/* 081CB4 7F04D184 AFB50044 */ sw $s5, 0x44($sp) +/* 081CB8 7F04D188 AFB40040 */ sw $s4, 0x40($sp) +/* 081CBC 7F04D18C AFB3003C */ sw $s3, 0x3c($sp) +/* 081CC0 7F04D190 AFB10034 */ sw $s1, 0x34($sp) +/* 081CC4 7F04D194 AFB00030 */ sw $s0, 0x30($sp) +/* 081CC8 7F04D198 4481A000 */ mtc1 $at, $f20 +/* 081CCC 7F04D19C 00E08825 */ move $s1, $a3 +/* 081CD0 7F04D1A0 0080B825 */ move $s7, $a0 +/* 081CD4 7F04D1A4 00C0F025 */ move $fp, $a2 +/* 081CD8 7F04D1A8 AFBF0054 */ sw $ra, 0x54($sp) +/* 081CDC 7F04D1AC AFB20038 */ sw $s2, 0x38($sp) +/* 081CE0 7F04D1B0 AFA50154 */ sw $a1, 0x154($sp) +/* 081CE4 7F04D1B4 AFA00110 */ sw $zero, 0x110($sp) +/* 081CE8 7F04D1B8 00E09825 */ move $s3, $a3 +/* 081CEC 7F04D1BC 8FB0014C */ lw $s0, 0x14c($sp) +/* 081CF0 7F04D1C0 8FB40168 */ lw $s4, 0x168($sp) +/* 081CF4 7F04D1C4 241500FD */ li $s5, 253 +/* 081CF8 7F04D1C8 27B600B0 */ addiu $s6, $sp, 0xb0 +.L7F04D1CC: +/* 081CFC 7F04D1CC 82220000 */ lb $v0, ($s1) +/* 081D00 7F04D1D0 2401FFB8 */ li $at, -72 +/* 081D04 7F04D1D4 8FAE0160 */ lw $t6, 0x160($sp) +/* 081D08 7F04D1D8 54410007 */ bnel $v0, $at, .L7F04D1F8 +/* 081D0C 7F04D1DC 24010004 */ li $at, 4 +/* 081D10 7F04D1E0 11C001E5 */ beqz $t6, .L7F04D978 +/* 081D14 7F04D1E4 01C09825 */ move $s3, $t6 +/* 081D18 7F04D1E8 01C08825 */ move $s1, $t6 +/* 081D1C 7F04D1EC 1000FFF7 */ b .L7F04D1CC +/* 081D20 7F04D1F0 AFA00160 */ sw $zero, 0x160($sp) +/* 081D24 7F04D1F4 24010004 */ li $at, 4 +.L7F04D1F8: +/* 081D28 7F04D1F8 1441000C */ bne $v0, $at, .L7F04D22C +/* 081D2C 7F04D1FC 8FB90164 */ lw $t9, 0x164($sp) +/* 081D30 7F04D200 92220001 */ lbu $v0, 1($s1) +/* 081D34 7F04D204 8E230004 */ lw $v1, 4($s1) +/* 081D38 7F04D208 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 081D3C 7F04D20C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 081D40 7F04D210 304F000F */ andi $t7, $v0, 0xf +/* 081D44 7F04D214 0061C024 */ and $t8, $v1, $at +/* 081D48 7F04D218 03384021 */ addu $t0, $t9, $t8 +/* 081D4C 7F04D21C 000F4900 */ sll $t1, $t7, 4 +/* 081D50 7F04D220 01098023 */ subu $s0, $t0, $t1 +/* 081D54 7F04D224 1000FFE9 */ b .L7F04D1CC +/* 081D58 7F04D228 26310008 */ addiu $s1, $s1, 8 +.L7F04D22C: +/* 081D5C 7F04D22C 2401FFBF */ li $at, -65 +/* 081D60 7F04D230 144100E2 */ bne $v0, $at, .L7F04D5BC +/* 081D64 7F04D234 2403000A */ li $v1, 10 +/* 081D68 7F04D238 3C0B8003 */ lui $t3, %hi(D_8003204C) +/* 081D6C 7F04D23C 256B204C */ addiu $t3, %lo(D_8003204C) # addiu $t3, $t3, 0x204c +/* 081D70 7F04D240 8D610000 */ lw $at, ($t3) +/* 081D74 7F04D244 27AA00E8 */ addiu $t2, $sp, 0xe8 +/* 081D78 7F04D248 8D6D0004 */ lw $t5, 4($t3) +/* 081D7C 7F04D24C AD410000 */ sw $at, ($t2) +/* 081D80 7F04D250 8D610008 */ lw $at, 8($t3) +/* 081D84 7F04D254 3C0F8003 */ lui $t7, %hi(D_80032058) +/* 081D88 7F04D258 25EF2058 */ addiu $t7, %lo(D_80032058) # addiu $t7, $t7, 0x2058 +/* 081D8C 7F04D25C AD4D0004 */ sw $t5, 4($t2) +/* 081D90 7F04D260 AD410008 */ sw $at, 8($t2) +/* 081D94 7F04D264 8DE10000 */ lw $at, ($t7) +/* 081D98 7F04D268 27AE00DC */ addiu $t6, $sp, 0xdc +/* 081D9C 7F04D26C 8DF90004 */ lw $t9, 4($t7) +/* 081DA0 7F04D270 ADC10000 */ sw $at, ($t6) +/* 081DA4 7F04D274 8DE10008 */ lw $at, 8($t7) +/* 081DA8 7F04D278 ADD90004 */ sw $t9, 4($t6) +/* 081DAC 7F04D27C 00001025 */ move $v0, $zero +/* 081DB0 7F04D280 ADC10008 */ sw $at, 8($t6) +/* 081DB4 7F04D284 92280005 */ lbu $t0, 5($s1) +/* 081DB8 7F04D288 27A400F8 */ addiu $a0, $sp, 0xf8 +/* 081DBC 7F04D28C 03C02825 */ move $a1, $fp +/* 081DC0 7F04D290 0103001A */ div $zero, $t0, $v1 +/* 081DC4 7F04D294 00004812 */ mflo $t1 +/* 081DC8 7F04D298 AFA900F8 */ sw $t1, 0xf8($sp) +/* 081DCC 7F04D29C 922C0006 */ lbu $t4, 6($s1) +/* 081DD0 7F04D2A0 14600002 */ bnez $v1, .L7F04D2AC +/* 081DD4 7F04D2A4 00000000 */ nop +/* 081DD8 7F04D2A8 0007000D */ break 7 +.L7F04D2AC: +/* 081DDC 7F04D2AC 2401FFFF */ li $at, -1 +/* 081DE0 7F04D2B0 14610004 */ bne $v1, $at, .L7F04D2C4 +/* 081DE4 7F04D2B4 3C018000 */ lui $at, 0x8000 +/* 081DE8 7F04D2B8 15010002 */ bne $t0, $at, .L7F04D2C4 +/* 081DEC 7F04D2BC 00000000 */ nop +/* 081DF0 7F04D2C0 0006000D */ break 6 +.L7F04D2C4: +/* 081DF4 7F04D2C4 0183001A */ div $zero, $t4, $v1 +/* 081DF8 7F04D2C8 00005012 */ mflo $t2 +/* 081DFC 7F04D2CC AFAA00FC */ sw $t2, 0xfc($sp) +/* 081E00 7F04D2D0 922B0007 */ lbu $t3, 7($s1) +/* 081E04 7F04D2D4 14600002 */ bnez $v1, .L7F04D2E0 +/* 081E08 7F04D2D8 00000000 */ nop +/* 081E0C 7F04D2DC 0007000D */ break 7 +.L7F04D2E0: +/* 081E10 7F04D2E0 2401FFFF */ li $at, -1 +/* 081E14 7F04D2E4 14610004 */ bne $v1, $at, .L7F04D2F8 +/* 081E18 7F04D2E8 3C018000 */ lui $at, 0x8000 +/* 081E1C 7F04D2EC 15810002 */ bne $t4, $at, .L7F04D2F8 +/* 081E20 7F04D2F0 00000000 */ nop +/* 081E24 7F04D2F4 0006000D */ break 6 +.L7F04D2F8: +/* 081E28 7F04D2F8 0163001A */ div $zero, $t3, $v1 +/* 081E2C 7F04D2FC 00006812 */ mflo $t5 +/* 081E30 7F04D300 AFAD0100 */ sw $t5, 0x100($sp) +/* 081E34 7F04D304 14600002 */ bnez $v1, .L7F04D310 +/* 081E38 7F04D308 00000000 */ nop +/* 081E3C 7F04D30C 0007000D */ break 7 +.L7F04D310: +/* 081E40 7F04D310 2401FFFF */ li $at, -1 +/* 081E44 7F04D314 14610004 */ bne $v1, $at, .L7F04D328 +/* 081E48 7F04D318 3C018000 */ lui $at, 0x8000 +/* 081E4C 7F04D31C 15610002 */ bne $t3, $at, .L7F04D328 +/* 081E50 7F04D320 00000000 */ nop +/* 081E54 7F04D324 0006000D */ break 6 +.L7F04D328: +/* 081E58 7F04D328 8C980000 */ lw $t8, ($a0) +.L7F04D32C: +/* 081E5C 7F04D32C 8FAF00E8 */ lw $t7, 0xe8($sp) +/* 081E60 7F04D330 24840004 */ addiu $a0, $a0, 4 +/* 081E64 7F04D334 00187100 */ sll $t6, $t8, 4 +/* 081E68 7F04D338 020E1821 */ addu $v1, $s0, $t6 +/* 081E6C 7F04D33C 84620000 */ lh $v0, ($v1) +/* 081E70 7F04D340 27AB0104 */ addiu $t3, $sp, 0x104 +/* 081E74 7F04D344 004F082A */ slt $at, $v0, $t7 +/* 081E78 7F04D348 50200004 */ beql $at, $zero, .L7F04D35C +/* 081E7C 7F04D34C 8FB900DC */ lw $t9, 0xdc($sp) +/* 081E80 7F04D350 AFA200E8 */ sw $v0, 0xe8($sp) +/* 081E84 7F04D354 84620000 */ lh $v0, ($v1) +/* 081E88 7F04D358 8FB900DC */ lw $t9, 0xdc($sp) +.L7F04D35C: +/* 081E8C 7F04D35C 0322082A */ slt $at, $t9, $v0 +/* 081E90 7F04D360 50200003 */ beql $at, $zero, .L7F04D370 +/* 081E94 7F04D364 84620002 */ lh $v0, 2($v1) +/* 081E98 7F04D368 AFA200DC */ sw $v0, 0xdc($sp) +/* 081E9C 7F04D36C 84620002 */ lh $v0, 2($v1) +.L7F04D370: +/* 081EA0 7F04D370 8FA800EC */ lw $t0, 0xec($sp) +/* 081EA4 7F04D374 0048082A */ slt $at, $v0, $t0 +/* 081EA8 7F04D378 50200004 */ beql $at, $zero, .L7F04D38C +/* 081EAC 7F04D37C 8FA900E0 */ lw $t1, 0xe0($sp) +/* 081EB0 7F04D380 AFA200EC */ sw $v0, 0xec($sp) +/* 081EB4 7F04D384 84620002 */ lh $v0, 2($v1) +/* 081EB8 7F04D388 8FA900E0 */ lw $t1, 0xe0($sp) +.L7F04D38C: +/* 081EBC 7F04D38C 0122082A */ slt $at, $t1, $v0 +/* 081EC0 7F04D390 50200003 */ beql $at, $zero, .L7F04D3A0 +/* 081EC4 7F04D394 84620004 */ lh $v0, 4($v1) +/* 081EC8 7F04D398 AFA200E0 */ sw $v0, 0xe0($sp) +/* 081ECC 7F04D39C 84620004 */ lh $v0, 4($v1) +.L7F04D3A0: +/* 081ED0 7F04D3A0 8FAC00F0 */ lw $t4, 0xf0($sp) +/* 081ED4 7F04D3A4 004C082A */ slt $at, $v0, $t4 +/* 081ED8 7F04D3A8 50200004 */ beql $at, $zero, .L7F04D3BC +/* 081EDC 7F04D3AC 8FAA00E4 */ lw $t2, 0xe4($sp) +/* 081EE0 7F04D3B0 AFA200F0 */ sw $v0, 0xf0($sp) +/* 081EE4 7F04D3B4 84620004 */ lh $v0, 4($v1) +/* 081EE8 7F04D3B8 8FAA00E4 */ lw $t2, 0xe4($sp) +.L7F04D3BC: +/* 081EEC 7F04D3BC 0142082A */ slt $at, $t2, $v0 +/* 081EF0 7F04D3C0 10200002 */ beqz $at, .L7F04D3CC +/* 081EF4 7F04D3C4 00000000 */ nop +/* 081EF8 7F04D3C8 AFA200E4 */ sw $v0, 0xe4($sp) +.L7F04D3CC: +/* 081EFC 7F04D3CC 548BFFD7 */ bnel $a0, $t3, .L7F04D32C +/* 081F00 7F04D3D0 8C980000 */ lw $t8, ($a0) +/* 081F04 7F04D3D4 02E02025 */ move $a0, $s7 +/* 081F08 7F04D3D8 27A600E8 */ addiu $a2, $sp, 0xe8 +/* 081F0C 7F04D3DC 0FC2DB3B */ jal sub_GAME_7F0B6CEC +/* 081F10 7F04D3E0 27A700DC */ addiu $a3, $sp, 0xdc +/* 081F14 7F04D3E4 10400162 */ beqz $v0, .L7F04D970 +/* 081F18 7F04D3E8 3C0D8003 */ lui $t5, %hi(D_80032064) +/* 081F1C 7F04D3EC 25AD2064 */ addiu $t5, %lo(D_80032064) # addiu $t5, $t5, 0x2064 +/* 081F20 7F04D3F0 8DA10000 */ lw $at, ($t5) +/* 081F24 7F04D3F4 27A700C4 */ addiu $a3, $sp, 0xc4 +/* 081F28 7F04D3F8 27B8011C */ addiu $t8, $sp, 0x11c +/* 081F2C 7F04D3FC ACE10000 */ sw $at, ($a3) +/* 081F30 7F04D400 8DAE0004 */ lw $t6, 4($t5) +/* 081F34 7F04D404 ACEE0004 */ sw $t6, 4($a3) +/* 081F38 7F04D408 8DA10008 */ lw $at, 8($t5) +/* 081F3C 7F04D40C ACE10008 */ sw $at, 8($a3) +/* 081F40 7F04D410 8FAC0100 */ lw $t4, 0x100($sp) +/* 081F44 7F04D414 8FA800FC */ lw $t0, 0xfc($sp) +/* 081F48 7F04D418 8FAF00F8 */ lw $t7, 0xf8($sp) +/* 081F4C 7F04D41C 8FAB0154 */ lw $t3, 0x154($sp) +/* 081F50 7F04D420 000C5100 */ sll $t2, $t4, 4 +/* 081F54 7F04D424 00084900 */ sll $t1, $t0, 4 +/* 081F58 7F04D428 000FC900 */ sll $t9, $t7, 4 +/* 081F5C 7F04D42C 02192021 */ addu $a0, $s0, $t9 +/* 081F60 7F04D430 02092821 */ addu $a1, $s0, $t1 +/* 081F64 7F04D434 020A3021 */ addu $a2, $s0, $t2 +/* 081F68 7F04D438 AFB8001C */ sw $t8, 0x1c($sp) +/* 081F6C 7F04D43C AFBE0018 */ sw $fp, 0x18($sp) +/* 081F70 7F04D440 AFB70010 */ sw $s7, 0x10($sp) +/* 081F74 7F04D444 0FC24A24 */ jal sub_GAME_7F092890 +/* 081F78 7F04D448 AFAB0014 */ sw $t3, 0x14($sp) +/* 081F7C 7F04D44C 10400148 */ beqz $v0, .L7F04D970 +/* 081F80 7F04D450 00000000 */ nop +/* 081F84 7F04D454 C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 081F88 7F04D458 C6E80000 */ lwc1 $f8, ($s7) +/* 081F8C 7F04D45C C7B20120 */ lwc1 $f18, 0x120($sp) +/* 081F90 7F04D460 4600218D */ trunc.w.s $f6, $f4 +/* 081F94 7F04D464 92290000 */ lbu $t1, ($s1) +/* 081F98 7F04D468 02201025 */ move $v0, $s1 +/* 081F9C 7F04D46C 4600428D */ trunc.w.s $f10, $f8 +/* 081FA0 7F04D470 440E3000 */ mfc1 $t6, $f6 +/* 081FA4 7F04D474 C6E60004 */ lwc1 $f6, 4($s7) +/* 081FA8 7F04D478 4600910D */ trunc.w.s $f4, $f18 +/* 081FAC 7F04D47C 44195000 */ mfc1 $t9, $f10 +/* 081FB0 7F04D480 0271082B */ sltu $at, $s3, $s1 +/* 081FB4 7F04D484 4600320D */ trunc.w.s $f8, $f6 +/* 081FB8 7F04D488 01D94023 */ subu $t0, $t6, $t9 +/* 081FBC 7F04D48C 44888000 */ mtc1 $t0, $f16 +/* 081FC0 7F04D490 440C2000 */ mfc1 $t4, $f4 +/* 081FC4 7F04D494 440B4000 */ mfc1 $t3, $f8 +/* 081FC8 7F04D498 468080A0 */ cvt.s.w $f2, $f16 +/* 081FCC 7F04D49C C7B00124 */ lwc1 $f16, 0x124($sp) +/* 081FD0 7F04D4A0 C6E40008 */ lwc1 $f4, 8($s7) +/* 081FD4 7F04D4A4 018BC023 */ subu $t8, $t4, $t3 +/* 081FD8 7F04D4A8 44985000 */ mtc1 $t8, $f10 +/* 081FDC 7F04D4AC 4600848D */ trunc.w.s $f18, $f16 +/* 081FE0 7F04D4B0 4600218D */ trunc.w.s $f6, $f4 +/* 081FE4 7F04D4B4 440F9000 */ mfc1 $t7, $f18 +/* 081FE8 7F04D4B8 46805320 */ cvt.s.w $f12, $f10 +/* 081FEC 7F04D4BC 44193000 */ mfc1 $t9, $f6 +/* 081FF0 7F04D4C0 46021282 */ mul.s $f10, $f2, $f2 +/* 081FF4 7F04D4C4 01F94023 */ subu $t0, $t7, $t9 +/* 081FF8 7F04D4C8 44884000 */ mtc1 $t0, $f8 +/* 081FFC 7F04D4CC 460C6402 */ mul.s $f16, $f12, $f12 +/* 082000 7F04D4D0 12A9000A */ beq $s5, $t1, .L7F04D4FC +/* 082004 7F04D4D4 468043A0 */ cvt.s.w $f14, $f8 +/* 082008 7F04D4D8 10200008 */ beqz $at, .L7F04D4FC +/* 08200C 7F04D4DC 00000000 */ nop +/* 082010 7F04D4E0 904AFFF8 */ lbu $t2, -8($v0) +.L7F04D4E4: +/* 082014 7F04D4E4 2442FFF8 */ addiu $v0, $v0, -8 +/* 082018 7F04D4E8 0262082B */ sltu $at, $s3, $v0 +/* 08201C 7F04D4EC 12AA0003 */ beq $s5, $t2, .L7F04D4FC +/* 082020 7F04D4F0 00000000 */ nop +/* 082024 7F04D4F4 5420FFFB */ bnezl $at, .L7F04D4E4 +/* 082028 7F04D4F8 904AFFF8 */ lbu $t2, -8($v0) +.L7F04D4FC: +/* 08202C 7F04D4FC 460E7102 */ mul.s $f4, $f14, $f14 +/* 082030 7F04D500 54530004 */ bnel $v0, $s3, .L7F04D514 +/* 082034 7F04D504 8C430004 */ lw $v1, 4($v0) +/* 082038 7F04D508 10000006 */ b .L7F04D524 +/* 08203C 7F04D50C 2404FFFF */ li $a0, -1 +/* 082040 7F04D510 8C430004 */ lw $v1, 4($v0) +.L7F04D514: +/* 082044 7F04D514 3C018000 */ lui $at, 0x8000 +/* 082048 7F04D518 2463FFF8 */ addiu $v1, $v1, -8 +/* 08204C 7F04D51C 00616025 */ or $t4, $v1, $at +/* 082050 7F04D520 95840000 */ lhu $a0, ($t4) +.L7F04D524: +/* 082054 7F04D524 46105480 */ add.s $f18, $f10, $f16 +/* 082058 7F04D528 46049000 */ add.s $f0, $f18, $f4 +/* 08205C 7F04D52C 4614003C */ c.lt.s $f0, $f20 +/* 082060 7F04D530 00000000 */ nop +/* 082064 7F04D534 4500010E */ bc1f .L7F04D970 +/* 082068 7F04D538 00000000 */ nop +/* 08206C 7F04D53C C7A6011C */ lwc1 $f6, 0x11c($sp) +/* 082070 7F04D540 240C0001 */ li $t4, 1 +/* 082074 7F04D544 46000506 */ mov.s $f20, $f0 +/* 082078 7F04D548 E6860000 */ swc1 $f6, ($s4) +/* 08207C 7F04D54C C7A80120 */ lwc1 $f8, 0x120($sp) +/* 082080 7F04D550 E6880004 */ swc1 $f8, 4($s4) +/* 082084 7F04D554 C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 082088 7F04D558 E68A0008 */ swc1 $f10, 8($s4) +/* 08208C 7F04D55C C7B00128 */ lwc1 $f16, 0x128($sp) +/* 082090 7F04D560 E690000C */ swc1 $f16, 0xc($s4) +/* 082094 7F04D564 C7B2012C */ lwc1 $f18, 0x12c($sp) +/* 082098 7F04D568 E6920010 */ swc1 $f18, 0x10($s4) +/* 08209C 7F04D56C C7A40130 */ lwc1 $f4, 0x130($sp) +/* 0820A0 7F04D570 E6840014 */ swc1 $f4, 0x14($s4) +/* 0820A4 7F04D574 8FAB00F8 */ lw $t3, 0xf8($sp) +/* 0820A8 7F04D578 000BC100 */ sll $t8, $t3, 4 +/* 0820AC 7F04D57C 03106821 */ addu $t5, $t8, $s0 +/* 0820B0 7F04D580 AE8D0018 */ sw $t5, 0x18($s4) +/* 0820B4 7F04D584 8FAE00FC */ lw $t6, 0xfc($sp) +/* 0820B8 7F04D588 000E7900 */ sll $t7, $t6, 4 +/* 0820BC 7F04D58C 01F0C821 */ addu $t9, $t7, $s0 +/* 0820C0 7F04D590 AE99001C */ sw $t9, 0x1c($s4) +/* 0820C4 7F04D594 8FA80100 */ lw $t0, 0x100($sp) +/* 0820C8 7F04D598 A684002A */ sh $a0, 0x2a($s4) +/* 0820CC 7F04D59C AE910024 */ sw $s1, 0x24($s4) +/* 0820D0 7F04D5A0 00084900 */ sll $t1, $t0, 4 +/* 0820D4 7F04D5A4 01305021 */ addu $t2, $t1, $s0 +/* 0820D8 7F04D5A8 AE8A0020 */ sw $t2, 0x20($s4) +/* 0820DC 7F04D5AC A6800028 */ sh $zero, 0x28($s4) +/* 0820E0 7F04D5B0 AFAC0110 */ sw $t4, 0x110($sp) +/* 0820E4 7F04D5B4 1000FF05 */ b .L7F04D1CC +/* 0820E8 7F04D5B8 26310008 */ addiu $s1, $s1, 8 +.L7F04D5BC: +/* 0820EC 7F04D5BC 2401FFB1 */ li $at, -79 +/* 0820F0 7F04D5C0 144100EB */ bne $v0, $at, .L7F04D970 +/* 0820F4 7F04D5C4 00000000 */ nop +/* 0820F8 7F04D5C8 00009025 */ move $s2, $zero +.L7F04D5CC: +/* 0820FC 7F04D5CC 3C188003 */ lui $t8, %hi(D_80032070) +/* 082100 7F04D5D0 27182070 */ addiu $t8, %lo(D_80032070) # addiu $t8, $t8, 0x2070 +/* 082104 7F04D5D4 8F010000 */ lw $at, ($t8) +/* 082108 7F04D5D8 27AB0094 */ addiu $t3, $sp, 0x94 +/* 08210C 7F04D5DC 8F0E0004 */ lw $t6, 4($t8) +/* 082110 7F04D5E0 AD610000 */ sw $at, ($t3) +/* 082114 7F04D5E4 8F010008 */ lw $at, 8($t8) +/* 082118 7F04D5E8 3C198003 */ lui $t9, %hi(D_8003207C) +/* 08211C 7F04D5EC 2739207C */ addiu $t9, %lo(D_8003207C) # addiu $t9, $t9, 0x207c +/* 082120 7F04D5F0 AD6E0004 */ sw $t6, 4($t3) +/* 082124 7F04D5F4 AD610008 */ sw $at, 8($t3) +/* 082128 7F04D5F8 8F210000 */ lw $at, ($t9) +/* 08212C 7F04D5FC 27AF0088 */ addiu $t7, $sp, 0x88 +/* 082130 7F04D600 8F290004 */ lw $t1, 4($t9) +/* 082134 7F04D604 ADE10000 */ sw $at, ($t7) +/* 082138 7F04D608 8F210008 */ lw $at, 8($t9) +/* 08213C 7F04D60C ADE90004 */ sw $t1, 4($t7) +/* 082140 7F04D610 1640000B */ bnez $s2, .L7F04D640 +/* 082144 7F04D614 ADE10008 */ sw $at, 8($t7) +/* 082148 7F04D618 8E2A0004 */ lw $t2, 4($s1) +/* 08214C 7F04D61C 314C000F */ andi $t4, $t2, 0xf +/* 082150 7F04D620 AFAC00A4 */ sw $t4, 0xa4($sp) +/* 082154 7F04D624 922D0007 */ lbu $t5, 7($s1) +/* 082158 7F04D628 000D5902 */ srl $t3, $t5, 4 +/* 08215C 7F04D62C AFAB00A8 */ sw $t3, 0xa8($sp) +/* 082160 7F04D630 8E380000 */ lw $t8, ($s1) +/* 082164 7F04D634 330E000F */ andi $t6, $t8, 0xf +/* 082168 7F04D638 10000024 */ b .L7F04D6CC +/* 08216C 7F04D63C AFAE00AC */ sw $t6, 0xac($sp) +.L7F04D640: +/* 082170 7F04D640 24010001 */ li $at, 1 +/* 082174 7F04D644 5641000C */ bnel $s2, $at, .L7F04D678 +/* 082178 7F04D648 24010002 */ li $at, 2 +/* 08217C 7F04D64C 92280006 */ lbu $t0, 6($s1) +/* 082180 7F04D650 310F000F */ andi $t7, $t0, 0xf +/* 082184 7F04D654 AFAF00A4 */ sw $t7, 0xa4($sp) +/* 082188 7F04D658 96390006 */ lhu $t9, 6($s1) +/* 08218C 7F04D65C 00194B02 */ srl $t1, $t9, 0xc +/* 082190 7F04D660 AFA900A8 */ sw $t1, 0xa8($sp) +/* 082194 7F04D664 922A0003 */ lbu $t2, 3($s1) +/* 082198 7F04D668 000A6102 */ srl $t4, $t2, 4 +/* 08219C 7F04D66C 10000017 */ b .L7F04D6CC +/* 0821A0 7F04D670 AFAC00AC */ sw $t4, 0xac($sp) +/* 0821A4 7F04D674 24010002 */ li $at, 2 +.L7F04D678: +/* 0821A8 7F04D678 5641000C */ bnel $s2, $at, .L7F04D6AC +/* 0821AC 7F04D67C 92390004 */ lbu $t9, 4($s1) +/* 0821B0 7F04D680 962D0004 */ lhu $t5, 4($s1) +/* 0821B4 7F04D684 31AB000F */ andi $t3, $t5, 0xf +/* 0821B8 7F04D688 AFAB00A4 */ sw $t3, 0xa4($sp) +/* 0821BC 7F04D68C 92380005 */ lbu $t8, 5($s1) +/* 0821C0 7F04D690 00187102 */ srl $t6, $t8, 4 +/* 0821C4 7F04D694 AFAE00A8 */ sw $t6, 0xa8($sp) +/* 0821C8 7F04D698 92280002 */ lbu $t0, 2($s1) +/* 0821CC 7F04D69C 310F000F */ andi $t7, $t0, 0xf +/* 0821D0 7F04D6A0 1000000A */ b .L7F04D6CC +/* 0821D4 7F04D6A4 AFAF00AC */ sw $t7, 0xac($sp) +/* 0821D8 7F04D6A8 92390004 */ lbu $t9, 4($s1) +.L7F04D6AC: +/* 0821DC 7F04D6AC 3329000F */ andi $t1, $t9, 0xf +/* 0821E0 7F04D6B0 AFA900A4 */ sw $t1, 0xa4($sp) +/* 0821E4 7F04D6B4 8E2A0004 */ lw $t2, 4($s1) +/* 0821E8 7F04D6B8 000A6702 */ srl $t4, $t2, 0x1c +/* 0821EC 7F04D6BC AFAC00A8 */ sw $t4, 0xa8($sp) +/* 0821F0 7F04D6C0 962D0002 */ lhu $t5, 2($s1) +/* 0821F4 7F04D6C4 000D5B02 */ srl $t3, $t5, 0xc +/* 0821F8 7F04D6C8 AFAB00AC */ sw $t3, 0xac($sp) +.L7F04D6CC: +/* 0821FC 7F04D6CC 27A400A4 */ addiu $a0, $sp, 0xa4 +/* 082200 7F04D6D0 8C980000 */ lw $t8, ($a0) +.L7F04D6D4: +/* 082204 7F04D6D4 8FA80094 */ lw $t0, 0x94($sp) +/* 082208 7F04D6D8 24840004 */ addiu $a0, $a0, 4 +/* 08220C 7F04D6DC 00187100 */ sll $t6, $t8, 4 +/* 082210 7F04D6E0 020E1821 */ addu $v1, $s0, $t6 +/* 082214 7F04D6E4 84620000 */ lh $v0, ($v1) +/* 082218 7F04D6E8 0048082A */ slt $at, $v0, $t0 +/* 08221C 7F04D6EC 50200004 */ beql $at, $zero, .L7F04D700 +/* 082220 7F04D6F0 8FAF0088 */ lw $t7, 0x88($sp) +/* 082224 7F04D6F4 AFA20094 */ sw $v0, 0x94($sp) +/* 082228 7F04D6F8 84620000 */ lh $v0, ($v1) +/* 08222C 7F04D6FC 8FAF0088 */ lw $t7, 0x88($sp) +.L7F04D700: +/* 082230 7F04D700 01E2082A */ slt $at, $t7, $v0 +/* 082234 7F04D704 50200003 */ beql $at, $zero, .L7F04D714 +/* 082238 7F04D708 84620002 */ lh $v0, 2($v1) +/* 08223C 7F04D70C AFA20088 */ sw $v0, 0x88($sp) +/* 082240 7F04D710 84620002 */ lh $v0, 2($v1) +.L7F04D714: +/* 082244 7F04D714 8FB90098 */ lw $t9, 0x98($sp) +/* 082248 7F04D718 0059082A */ slt $at, $v0, $t9 +/* 08224C 7F04D71C 50200004 */ beql $at, $zero, .L7F04D730 +/* 082250 7F04D720 8FA9008C */ lw $t1, 0x8c($sp) +/* 082254 7F04D724 AFA20098 */ sw $v0, 0x98($sp) +/* 082258 7F04D728 84620002 */ lh $v0, 2($v1) +/* 08225C 7F04D72C 8FA9008C */ lw $t1, 0x8c($sp) +.L7F04D730: +/* 082260 7F04D730 0122082A */ slt $at, $t1, $v0 +/* 082264 7F04D734 50200003 */ beql $at, $zero, .L7F04D744 +/* 082268 7F04D738 84620004 */ lh $v0, 4($v1) +/* 08226C 7F04D73C AFA2008C */ sw $v0, 0x8c($sp) +/* 082270 7F04D740 84620004 */ lh $v0, 4($v1) +.L7F04D744: +/* 082274 7F04D744 8FAA009C */ lw $t2, 0x9c($sp) +/* 082278 7F04D748 004A082A */ slt $at, $v0, $t2 +/* 08227C 7F04D74C 50200004 */ beql $at, $zero, .L7F04D760 +/* 082280 7F04D750 8FAC0090 */ lw $t4, 0x90($sp) +/* 082284 7F04D754 AFA2009C */ sw $v0, 0x9c($sp) +/* 082288 7F04D758 84620004 */ lh $v0, 4($v1) +/* 08228C 7F04D75C 8FAC0090 */ lw $t4, 0x90($sp) +.L7F04D760: +/* 082290 7F04D760 0182082A */ slt $at, $t4, $v0 +/* 082294 7F04D764 10200002 */ beqz $at, .L7F04D770 +/* 082298 7F04D768 00000000 */ nop +/* 08229C 7F04D76C AFA20090 */ sw $v0, 0x90($sp) +.L7F04D770: +/* 0822A0 7F04D770 5496FFD8 */ bnel $a0, $s6, .L7F04D6D4 +/* 0822A4 7F04D774 8C980000 */ lw $t8, ($a0) +/* 0822A8 7F04D778 02E02025 */ move $a0, $s7 +/* 0822AC 7F04D77C 03C02825 */ move $a1, $fp +/* 0822B0 7F04D780 27A60094 */ addiu $a2, $sp, 0x94 +/* 0822B4 7F04D784 0FC2DB3B */ jal sub_GAME_7F0B6CEC +/* 0822B8 7F04D788 27A70088 */ addiu $a3, $sp, 0x88 +/* 0822BC 7F04D78C 10400074 */ beqz $v0, .L7F04D960 +/* 0822C0 7F04D790 3C0D8003 */ lui $t5, %hi(D_80032088) +/* 0822C4 7F04D794 25AD2088 */ addiu $t5, %lo(D_80032088) # addiu $t5, $t5, 0x2088 +/* 0822C8 7F04D798 8DA10000 */ lw $at, ($t5) +/* 0822CC 7F04D79C 27A70070 */ addiu $a3, $sp, 0x70 +/* 0822D0 7F04D7A0 27AB011C */ addiu $t3, $sp, 0x11c +/* 0822D4 7F04D7A4 ACE10000 */ sw $at, ($a3) +/* 0822D8 7F04D7A8 8DB80004 */ lw $t8, 4($t5) +/* 0822DC 7F04D7AC ACF80004 */ sw $t8, 4($a3) +/* 0822E0 7F04D7B0 8DA10008 */ lw $at, 8($t5) +/* 0822E4 7F04D7B4 ACE10008 */ sw $at, 8($a3) +/* 0822E8 7F04D7B8 8FA900AC */ lw $t1, 0xac($sp) +/* 0822EC 7F04D7BC 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 0822F0 7F04D7C0 8FAE00A4 */ lw $t6, 0xa4($sp) +/* 0822F4 7F04D7C4 8FAC0154 */ lw $t4, 0x154($sp) +/* 0822F8 7F04D7C8 00095100 */ sll $t2, $t1, 4 +/* 0822FC 7F04D7CC 000FC900 */ sll $t9, $t7, 4 +/* 082300 7F04D7D0 000E4100 */ sll $t0, $t6, 4 +/* 082304 7F04D7D4 02082021 */ addu $a0, $s0, $t0 +/* 082308 7F04D7D8 02192821 */ addu $a1, $s0, $t9 +/* 08230C 7F04D7DC 020A3021 */ addu $a2, $s0, $t2 +/* 082310 7F04D7E0 AFAB001C */ sw $t3, 0x1c($sp) +/* 082314 7F04D7E4 AFBE0018 */ sw $fp, 0x18($sp) +/* 082318 7F04D7E8 AFB70010 */ sw $s7, 0x10($sp) +/* 08231C 7F04D7EC 0FC24A24 */ jal sub_GAME_7F092890 +/* 082320 7F04D7F0 AFAC0014 */ sw $t4, 0x14($sp) +/* 082324 7F04D7F4 5040005B */ beql $v0, $zero, .L7F04D964 +/* 082328 7F04D7F8 26520001 */ addiu $s2, $s2, 1 +/* 08232C 7F04D7FC C7A6011C */ lwc1 $f6, 0x11c($sp) +/* 082330 7F04D800 C6EA0000 */ lwc1 $f10, ($s7) +/* 082334 7F04D804 C7A40120 */ lwc1 $f4, 0x120($sp) +/* 082338 7F04D808 4600320D */ trunc.w.s $f8, $f6 +/* 08233C 7F04D80C 92390000 */ lbu $t9, ($s1) +/* 082340 7F04D810 02201025 */ move $v0, $s1 +/* 082344 7F04D814 4600540D */ trunc.w.s $f16, $f10 +/* 082348 7F04D818 44184000 */ mfc1 $t8, $f8 +/* 08234C 7F04D81C C6E80004 */ lwc1 $f8, 4($s7) +/* 082350 7F04D820 4600218D */ trunc.w.s $f6, $f4 +/* 082354 7F04D824 44088000 */ mfc1 $t0, $f16 +/* 082358 7F04D828 0271082B */ sltu $at, $s3, $s1 +/* 08235C 7F04D82C 4600428D */ trunc.w.s $f10, $f8 +/* 082360 7F04D830 03087823 */ subu $t7, $t8, $t0 +/* 082364 7F04D834 448F9000 */ mtc1 $t7, $f18 +/* 082368 7F04D838 44093000 */ mfc1 $t1, $f6 +/* 08236C 7F04D83C 440C5000 */ mfc1 $t4, $f10 +/* 082370 7F04D840 468090A0 */ cvt.s.w $f2, $f18 +/* 082374 7F04D844 C7B20124 */ lwc1 $f18, 0x124($sp) +/* 082378 7F04D848 C6E60008 */ lwc1 $f6, 8($s7) +/* 08237C 7F04D84C 012C5823 */ subu $t3, $t1, $t4 +/* 082380 7F04D850 448B8000 */ mtc1 $t3, $f16 +/* 082384 7F04D854 4600910D */ trunc.w.s $f4, $f18 +/* 082388 7F04D858 4600320D */ trunc.w.s $f8, $f6 +/* 08238C 7F04D85C 440E2000 */ mfc1 $t6, $f4 +/* 082390 7F04D860 46808320 */ cvt.s.w $f12, $f16 +/* 082394 7F04D864 44084000 */ mfc1 $t0, $f8 +/* 082398 7F04D868 46021402 */ mul.s $f16, $f2, $f2 +/* 08239C 7F04D86C 01C87823 */ subu $t7, $t6, $t0 +/* 0823A0 7F04D870 448F5000 */ mtc1 $t7, $f10 +/* 0823A4 7F04D874 460C6482 */ mul.s $f18, $f12, $f12 +/* 0823A8 7F04D878 12B9000A */ beq $s5, $t9, .L7F04D8A4 +/* 0823AC 7F04D87C 468053A0 */ cvt.s.w $f14, $f10 +/* 0823B0 7F04D880 10200008 */ beqz $at, .L7F04D8A4 +/* 0823B4 7F04D884 00000000 */ nop +/* 0823B8 7F04D888 904AFFF8 */ lbu $t2, -8($v0) +.L7F04D88C: +/* 0823BC 7F04D88C 2442FFF8 */ addiu $v0, $v0, -8 +/* 0823C0 7F04D890 0262082B */ sltu $at, $s3, $v0 +/* 0823C4 7F04D894 12AA0003 */ beq $s5, $t2, .L7F04D8A4 +/* 0823C8 7F04D898 00000000 */ nop +/* 0823CC 7F04D89C 5420FFFB */ bnezl $at, .L7F04D88C +/* 0823D0 7F04D8A0 904AFFF8 */ lbu $t2, -8($v0) +.L7F04D8A4: +/* 0823D4 7F04D8A4 460E7182 */ mul.s $f6, $f14, $f14 +/* 0823D8 7F04D8A8 54530004 */ bnel $v0, $s3, .L7F04D8BC +/* 0823DC 7F04D8AC 8C430004 */ lw $v1, 4($v0) +/* 0823E0 7F04D8B0 10000006 */ b .L7F04D8CC +/* 0823E4 7F04D8B4 2404FFFF */ li $a0, -1 +/* 0823E8 7F04D8B8 8C430004 */ lw $v1, 4($v0) +.L7F04D8BC: +/* 0823EC 7F04D8BC 3C018000 */ lui $at, 0x8000 +/* 0823F0 7F04D8C0 2463FFF8 */ addiu $v1, $v1, -8 +/* 0823F4 7F04D8C4 00614825 */ or $t1, $v1, $at +/* 0823F8 7F04D8C8 95240000 */ lhu $a0, ($t1) +.L7F04D8CC: +/* 0823FC 7F04D8CC 46128100 */ add.s $f4, $f16, $f18 +/* 082400 7F04D8D0 46062000 */ add.s $f0, $f4, $f6 +/* 082404 7F04D8D4 4614003C */ c.lt.s $f0, $f20 +/* 082408 7F04D8D8 00000000 */ nop +/* 08240C 7F04D8DC 45020021 */ bc1fl .L7F04D964 +/* 082410 7F04D8E0 26520001 */ addiu $s2, $s2, 1 +/* 082414 7F04D8E4 C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 082418 7F04D8E8 26490001 */ addiu $t1, $s2, 1 +/* 08241C 7F04D8EC 46000506 */ mov.s $f20, $f0 +/* 082420 7F04D8F0 E6880000 */ swc1 $f8, ($s4) +/* 082424 7F04D8F4 C7AA0120 */ lwc1 $f10, 0x120($sp) +/* 082428 7F04D8F8 E68A0004 */ swc1 $f10, 4($s4) +/* 08242C 7F04D8FC C7B00124 */ lwc1 $f16, 0x124($sp) +/* 082430 7F04D900 E6900008 */ swc1 $f16, 8($s4) +/* 082434 7F04D904 C7B20128 */ lwc1 $f18, 0x128($sp) +/* 082438 7F04D908 E692000C */ swc1 $f18, 0xc($s4) +/* 08243C 7F04D90C C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 082440 7F04D910 E6840010 */ swc1 $f4, 0x10($s4) +/* 082444 7F04D914 C7A60130 */ lwc1 $f6, 0x130($sp) +/* 082448 7F04D918 E6860014 */ swc1 $f6, 0x14($s4) +/* 08244C 7F04D91C 8FAC00A4 */ lw $t4, 0xa4($sp) +/* 082450 7F04D920 000C5900 */ sll $t3, $t4, 4 +/* 082454 7F04D924 01706821 */ addu $t5, $t3, $s0 +/* 082458 7F04D928 AE8D0018 */ sw $t5, 0x18($s4) +/* 08245C 7F04D92C 8FB800A8 */ lw $t8, 0xa8($sp) +/* 082460 7F04D930 240C0001 */ li $t4, 1 +/* 082464 7F04D934 00187100 */ sll $t6, $t8, 4 +/* 082468 7F04D938 01D04021 */ addu $t0, $t6, $s0 +/* 08246C 7F04D93C AE88001C */ sw $t0, 0x1c($s4) +/* 082470 7F04D940 8FAF00AC */ lw $t7, 0xac($sp) +/* 082474 7F04D944 A684002A */ sh $a0, 0x2a($s4) +/* 082478 7F04D948 AE910024 */ sw $s1, 0x24($s4) +/* 08247C 7F04D94C 000FC900 */ sll $t9, $t7, 4 +/* 082480 7F04D950 03305021 */ addu $t2, $t9, $s0 +/* 082484 7F04D954 AE8A0020 */ sw $t2, 0x20($s4) +/* 082488 7F04D958 A6890028 */ sh $t1, 0x28($s4) +/* 08248C 7F04D95C AFAC0110 */ sw $t4, 0x110($sp) +.L7F04D960: +/* 082490 7F04D960 26520001 */ addiu $s2, $s2, 1 +.L7F04D964: +/* 082494 7F04D964 24010004 */ li $at, 4 +/* 082498 7F04D968 1641FF18 */ bne $s2, $at, .L7F04D5CC +/* 08249C 7F04D96C 00000000 */ nop +.L7F04D970: +/* 0824A0 7F04D970 1000FE16 */ b .L7F04D1CC +/* 0824A4 7F04D974 26310008 */ addiu $s1, $s1, 8 +.L7F04D978: +/* 0824A8 7F04D978 8FBF0054 */ lw $ra, 0x54($sp) +/* 0824AC 7F04D97C 8FA20110 */ lw $v0, 0x110($sp) +/* 0824B0 7F04D980 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 0824B4 7F04D984 8FB00030 */ lw $s0, 0x30($sp) +/* 0824B8 7F04D988 8FB10034 */ lw $s1, 0x34($sp) +/* 0824BC 7F04D98C 8FB20038 */ lw $s2, 0x38($sp) +/* 0824C0 7F04D990 8FB3003C */ lw $s3, 0x3c($sp) +/* 0824C4 7F04D994 8FB40040 */ lw $s4, 0x40($sp) +/* 0824C8 7F04D998 8FB50044 */ lw $s5, 0x44($sp) +/* 0824CC 7F04D99C 8FB60048 */ lw $s6, 0x48($sp) +/* 0824D0 7F04D9A0 8FB7004C */ lw $s7, 0x4c($sp) +/* 0824D4 7F04D9A4 8FBE0050 */ lw $fp, 0x50($sp) +/* 0824D8 7F04D9A8 03E00008 */ jr $ra +/* 0824DC 7F04D9AC 27BD0150 */ addiu $sp, $sp, 0x150 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04D9B0(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052D98 +.word 0x46fffe00 /*32767.0*/ +/*D:80052D9C*/ +glabel jpt_80052D9C +.word loc_CODE_7F04DAA4 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word loc_CODE_7F04DAD8 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word loc_CODE_7F04DAEC +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word def_7F04DA40 +.word loc_CODE_7F04DB00 +.word loc_CODE_7F04DA48 + +/*D:80052DF0*/ +/*hack, doesn't fit in own function*/ +glabel jpt_80052DF0 +.word destroyable_object +.word nondestroyable_object +.word destroyable_object +.word nondestroyable_object +.word destroyable_object +.word destroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word destroyable_object +.word destroyable_object +.word destroyable_object +.word destroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word nondestroyable_object +.word destroyable_object +.word nondestroyable_object +.word nondestroyable_object + + +.text +glabel sub_GAME_7F04D9B0 +/* 0824E0 7F04D9B0 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 0824E4 7F04D9B4 AFBE0050 */ sw $fp, 0x50($sp) +/* 0824E8 7F04D9B8 AFB60048 */ sw $s6, 0x48($sp) +/* 0824EC 7F04D9BC AFB20038 */ sw $s2, 0x38($sp) +/* 0824F0 7F04D9C0 AFB00030 */ sw $s0, 0x30($sp) +/* 0824F4 7F04D9C4 00A09025 */ move $s2, $a1 +/* 0824F8 7F04D9C8 0080B025 */ move $s6, $a0 +/* 0824FC 7F04D9CC AFBF0054 */ sw $ra, 0x54($sp) +/* 082500 7F04D9D0 AFB7004C */ sw $s7, 0x4c($sp) +/* 082504 7F04D9D4 AFB50044 */ sw $s5, 0x44($sp) +/* 082508 7F04D9D8 AFB40040 */ sw $s4, 0x40($sp) +/* 08250C 7F04D9DC AFB3003C */ sw $s3, 0x3c($sp) +/* 082510 7F04D9E0 AFB10034 */ sw $s1, 0x34($sp) +/* 082514 7F04D9E4 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 082518 7F04D9E8 AFA60100 */ sw $a2, 0x100($sp) +/* 08251C 7F04D9EC AFA70104 */ sw $a3, 0x104($sp) +/* 082520 7F04D9F0 AFA000D0 */ sw $zero, 0xd0($sp) +/* 082524 7F04D9F4 AFA000CC */ sw $zero, 0xcc($sp) +/* 082528 7F04D9F8 00A08025 */ move $s0, $a1 +/* 08252C 7F04D9FC 10A0009F */ beqz $a1, .L7F04DC7C +/* 082530 7F04DA00 0000F025 */ move $fp, $zero +/* 082534 7F04DA04 3C018005 */ lui $at, %hi(D_80052D98) +/* 082538 7F04DA08 3C1700FF */ lui $s7, (0x00FFFFFF >> 16) # lui $s7, 0xff +/* 08253C 7F04DA0C 36F7FFFF */ ori $s7, (0x00FFFFFF & 0xFFFF) # ori $s7, $s7, 0xffff +/* 082540 7F04DA10 C4342D98 */ lwc1 $f20, %lo(D_80052D98)($at) +/* 082544 7F04DA14 96020000 */ lhu $v0, ($s0) +.L7F04DA18: +/* 082548 7F04DA18 00009825 */ move $s3, $zero +/* 08254C 7F04DA1C 0000A825 */ move $s5, $zero +/* 082550 7F04DA20 304E00FF */ andi $t6, $v0, 0xff +/* 082554 7F04DA24 25CFFFFC */ addiu $t7, $t6, -4 +/* 082558 7F04DA28 2DE10015 */ sltiu $at, $t7, 0x15 +/* 08255C 7F04DA2C 10200037 */ beqz $at, .L7F04DB0C +/* 082560 7F04DA30 000F7880 */ sll $t7, $t7, 2 +/* 082564 7F04DA34 3C018005 */ lui $at, %hi(jpt_80052D9C) +/* 082568 7F04DA38 002F0821 */ addu $at, $at, $t7 +/* 08256C 7F04DA3C 8C2F2D9C */ lw $t7, %lo(jpt_80052D9C)($at) +/* 082570 7F04DA40 01E00008 */ jr $t7 +/* 082574 7F04DA44 00000000 */ nop +loc_CODE_7F04DA48: +/* 082578 7F04DA48 8E110004 */ lw $s1, 4($s0) +/* 08257C 7F04DA4C 02C02025 */ move $a0, $s6 +/* 082580 7F04DA50 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 082584 7F04DA54 02002825 */ move $a1, $s0 +/* 082588 7F04DA58 8C430004 */ lw $v1, 4($v0) +/* 08258C 7F04DA5C 1060002B */ beqz $v1, .L7F04DB0C +/* 082590 7F04DA60 00000000 */ nop +/* 082594 7F04DA64 8E240000 */ lw $a0, ($s1) +/* 082598 7F04DA68 00609825 */ move $s3, $v1 +/* 08259C 7F04DA6C 14830005 */ bne $a0, $v1, .L7F04DA84 +/* 0825A0 7F04DA70 00000000 */ nop +/* 0825A4 7F04DA74 8E38001C */ lw $t8, 0x1c($s1) +/* 0825A8 7F04DA78 0097C824 */ and $t9, $a0, $s7 +/* 0825AC 7F04DA7C 10000001 */ b .L7F04DA84 +/* 0825B0 7F04DA80 03199821 */ addu $s3, $t8, $t9 +.L7F04DA84: +/* 0825B4 7F04DA84 8E230004 */ lw $v1, 4($s1) +/* 0825B8 7F04DA88 10600004 */ beqz $v1, .L7F04DA9C +/* 0825BC 7F04DA8C 00000000 */ nop +/* 0825C0 7F04DA90 8E28001C */ lw $t0, 0x1c($s1) +/* 0825C4 7F04DA94 00774824 */ and $t1, $v1, $s7 +/* 0825C8 7F04DA98 0109A821 */ addu $s5, $t0, $t1 +.L7F04DA9C: +/* 0825CC 7F04DA9C 1000001B */ b .L7F04DB0C +/* 0825D0 7F04DAA0 8C5E0000 */ lw $fp, ($v0) +loc_CODE_7F04DAA4: +/* 0825D4 7F04DAA4 8E020004 */ lw $v0, 4($s0) +/* 0825D8 7F04DAA8 8C440000 */ lw $a0, ($v0) +/* 0825DC 7F04DAAC 10800017 */ beqz $a0, .L7F04DB0C +/* 0825E0 7F04DAB0 00000000 */ nop +/* 0825E4 7F04DAB4 8C450004 */ lw $a1, 4($v0) +/* 0825E8 7F04DAB8 8C430008 */ lw $v1, 8($v0) +/* 0825EC 7F04DABC 00975024 */ and $t2, $a0, $s7 +/* 0825F0 7F04DAC0 10A00003 */ beqz $a1, .L7F04DAD0 +/* 0825F4 7F04DAC4 006A9821 */ addu $s3, $v1, $t2 +/* 0825F8 7F04DAC8 00B75824 */ and $t3, $a1, $s7 +/* 0825FC 7F04DACC 006BA821 */ addu $s5, $v1, $t3 +.L7F04DAD0: +/* 082600 7F04DAD0 1000000E */ b .L7F04DB0C +/* 082604 7F04DAD4 0060F025 */ move $fp, $v1 +loc_CODE_7F04DAD8: +/* 082608 7F04DAD8 02C02025 */ move $a0, $s6 +/* 08260C 7F04DADC 0FC1BA5C */ jal sub_GAME_7F06E970 +/* 082610 7F04DAE0 02002825 */ move $a1, $s0 +/* 082614 7F04DAE4 10000009 */ b .L7F04DB0C +/* 082618 7F04DAE8 00000000 */ nop +loc_CODE_7F04DAEC: +/* 08261C 7F04DAEC 02C02025 */ move $a0, $s6 +/* 082620 7F04DAF0 0FC1BA6F */ jal process_12_handle_switch +/* 082624 7F04DAF4 02002825 */ move $a1, $s0 +/* 082628 7F04DAF8 10000004 */ b .L7F04DB0C +/* 08262C 7F04DAFC 00000000 */ nop +loc_CODE_7F04DB00: +/* 082630 7F04DB00 02C02025 */ move $a0, $s6 +/* 082634 7F04DB04 0FC1BA82 */ jal process_17_pointer_to_head +/* 082638 7F04DB08 02002825 */ move $a1, $s0 +def_7F04DA40: +.L7F04DB0C: +/* 08263C 7F04DB0C 12600043 */ beqz $s3, .L7F04DC1C +/* 082640 7F04DB10 02002025 */ move $a0, $s0 +/* 082644 7F04DB14 00002825 */ move $a1, $zero +/* 082648 7F04DB18 0FC1B15C */ jal sub_GAME_7F06C570 +/* 08264C 7F04DB1C 00008825 */ move $s1, $zero +/* 082650 7F04DB20 04400004 */ bltz $v0, .L7F04DB34 +/* 082654 7F04DB24 0040A025 */ move $s4, $v0 +/* 082658 7F04DB28 8ECC000C */ lw $t4, 0xc($s6) +/* 08265C 7F04DB2C 00026980 */ sll $t5, $v0, 6 +/* 082660 7F04DB30 018D8821 */ addu $s1, $t4, $t5 +.L7F04DB34: +/* 082664 7F04DB34 12200029 */ beqz $s1, .L7F04DBDC +/* 082668 7F04DB38 8FAE00D0 */ lw $t6, 0xd0($sp) +/* 08266C 7F04DB3C 122E0027 */ beq $s1, $t6, .L7F04DBDC +/* 082670 7F04DB40 02202025 */ move $a0, $s1 +/* 082674 7F04DB44 AFB100D0 */ sw $s1, 0xd0($sp) +/* 082678 7F04DB48 0FC167EE */ jal sub_GAME_7F059FB8 +/* 08267C 7F04DB4C 27A50064 */ addiu $a1, $sp, 0x64 +/* 082680 7F04DB50 8FAF0100 */ lw $t7, 0x100($sp) +/* 082684 7F04DB54 27A40064 */ addiu $a0, $sp, 0x64 +/* 082688 7F04DB58 27A500EC */ addiu $a1, $sp, 0xec +/* 08268C 7F04DB5C C5E40000 */ lwc1 $f4, ($t7) +/* 082690 7F04DB60 E7A400EC */ swc1 $f4, 0xec($sp) +/* 082694 7F04DB64 C5E60004 */ lwc1 $f6, 4($t7) +/* 082698 7F04DB68 E7A600F0 */ swc1 $f6, 0xf0($sp) +/* 08269C 7F04DB6C C5E80008 */ lwc1 $f8, 8($t7) +/* 0826A0 7F04DB70 0FC1611D */ jal sub_GAME_7F058474 +/* 0826A4 7F04DB74 E7A800F4 */ swc1 $f8, 0xf4($sp) +/* 0826A8 7F04DB78 8FB80104 */ lw $t8, 0x104($sp) +/* 0826AC 7F04DB7C 27A40064 */ addiu $a0, $sp, 0x64 +/* 0826B0 7F04DB80 27A500D4 */ addiu $a1, $sp, 0xd4 +/* 0826B4 7F04DB84 C70A0000 */ lwc1 $f10, ($t8) +/* 0826B8 7F04DB88 E7AA00D4 */ swc1 $f10, 0xd4($sp) +/* 0826BC 7F04DB8C C7100004 */ lwc1 $f16, 4($t8) +/* 0826C0 7F04DB90 E7B000D8 */ swc1 $f16, 0xd8($sp) +/* 0826C4 7F04DB94 C7120008 */ lwc1 $f18, 8($t8) +/* 0826C8 7F04DB98 0FC160F6 */ jal sub_GAME_7F0583D8 +/* 0826CC 7F04DB9C E7B200DC */ swc1 $f18, 0xdc($sp) +/* 0826D0 7F04DBA0 C7A400D4 */ lwc1 $f4, 0xd4($sp) +/* 0826D4 7F04DBA4 C7A800EC */ lwc1 $f8, 0xec($sp) +/* 0826D8 7F04DBA8 C7B000D8 */ lwc1 $f16, 0xd8($sp) +/* 0826DC 7F04DBAC 46142182 */ mul.s $f6, $f4, $f20 +/* 0826E0 7F04DBB0 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 0826E4 7F04DBB4 46148482 */ mul.s $f18, $f16, $f20 +/* 0826E8 7F04DBB8 C7B000F4 */ lwc1 $f16, 0xf4($sp) +/* 0826EC 7F04DBBC 46083280 */ add.s $f10, $f6, $f8 +/* 0826F0 7F04DBC0 C7A800DC */ lwc1 $f8, 0xdc($sp) +/* 0826F4 7F04DBC4 46049180 */ add.s $f6, $f18, $f4 +/* 0826F8 7F04DBC8 E7AA00E0 */ swc1 $f10, 0xe0($sp) +/* 0826FC 7F04DBCC 46144282 */ mul.s $f10, $f8, $f20 +/* 082700 7F04DBD0 E7A600E4 */ swc1 $f6, 0xe4($sp) +/* 082704 7F04DBD4 46105480 */ add.s $f18, $f10, $f16 +/* 082708 7F04DBD8 E7B200E8 */ swc1 $f18, 0xe8($sp) +.L7F04DBDC: +/* 08270C 7F04DBDC 8FB90108 */ lw $t9, 0x108($sp) +/* 082710 7F04DBE0 27A400EC */ addiu $a0, $sp, 0xec +/* 082714 7F04DBE4 27A500E0 */ addiu $a1, $sp, 0xe0 +/* 082718 7F04DBE8 27A600D4 */ addiu $a2, $sp, 0xd4 +/* 08271C 7F04DBEC 02603825 */ move $a3, $s3 +/* 082720 7F04DBF0 AFB50010 */ sw $s5, 0x10($sp) +/* 082724 7F04DBF4 AFBE0014 */ sw $fp, 0x14($sp) +/* 082728 7F04DBF8 0FC1345B */ jal sub_GAME_7F04D16C +/* 08272C 7F04DBFC AFB90018 */ sw $t9, 0x18($sp) +/* 082730 7F04DC00 10400006 */ beqz $v0, .L7F04DC1C +/* 082734 7F04DC04 8FA8010C */ lw $t0, 0x10c($sp) +/* 082738 7F04DC08 AD140000 */ sw $s4, ($t0) +/* 08273C 7F04DC0C 8FA90110 */ lw $t1, 0x110($sp) +/* 082740 7F04DC10 240A0001 */ li $t2, 1 +/* 082744 7F04DC14 AD300000 */ sw $s0, ($t1) +/* 082748 7F04DC18 AFAA00CC */ sw $t2, 0xcc($sp) +.L7F04DC1C: +/* 08274C 7F04DC1C 8E020014 */ lw $v0, 0x14($s0) +/* 082750 7F04DC20 8FAB00CC */ lw $t3, 0xcc($sp) +/* 082754 7F04DC24 10400003 */ beqz $v0, .L7F04DC34 +/* 082758 7F04DC28 00000000 */ nop +/* 08275C 7F04DC2C 1000000F */ b .L7F04DC6C +/* 082760 7F04DC30 00408025 */ move $s0, $v0 +.L7F04DC34: +/* 082764 7F04DC34 1200000D */ beqz $s0, .L7F04DC6C +/* 082768 7F04DC38 00000000 */ nop +.L7F04DC3C: +/* 08276C 7F04DC3C 56120004 */ bnel $s0, $s2, .L7F04DC50 +/* 082770 7F04DC40 8E02000C */ lw $v0, 0xc($s0) +/* 082774 7F04DC44 10000009 */ b .L7F04DC6C +/* 082778 7F04DC48 00008025 */ move $s0, $zero +/* 08277C 7F04DC4C 8E02000C */ lw $v0, 0xc($s0) +.L7F04DC50: +/* 082780 7F04DC50 50400004 */ beql $v0, $zero, .L7F04DC64 +/* 082784 7F04DC54 8E100008 */ lw $s0, 8($s0) +/* 082788 7F04DC58 10000004 */ b .L7F04DC6C +/* 08278C 7F04DC5C 00408025 */ move $s0, $v0 +/* 082790 7F04DC60 8E100008 */ lw $s0, 8($s0) +.L7F04DC64: +/* 082794 7F04DC64 1600FFF5 */ bnez $s0, .L7F04DC3C +/* 082798 7F04DC68 00000000 */ nop +.L7F04DC6C: +/* 08279C 7F04DC6C 52000004 */ beql $s0, $zero, .L7F04DC80 +/* 0827A0 7F04DC70 8FBF0054 */ lw $ra, 0x54($sp) +/* 0827A4 7F04DC74 5160FF68 */ beql $t3, $zero, .L7F04DA18 +/* 0827A8 7F04DC78 96020000 */ lhu $v0, ($s0) +.L7F04DC7C: +/* 0827AC 7F04DC7C 8FBF0054 */ lw $ra, 0x54($sp) +.L7F04DC80: +/* 0827B0 7F04DC80 8FA200CC */ lw $v0, 0xcc($sp) +/* 0827B4 7F04DC84 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 0827B8 7F04DC88 8FB00030 */ lw $s0, 0x30($sp) +/* 0827BC 7F04DC8C 8FB10034 */ lw $s1, 0x34($sp) +/* 0827C0 7F04DC90 8FB20038 */ lw $s2, 0x38($sp) +/* 0827C4 7F04DC94 8FB3003C */ lw $s3, 0x3c($sp) +/* 0827C8 7F04DC98 8FB40040 */ lw $s4, 0x40($sp) +/* 0827CC 7F04DC9C 8FB50044 */ lw $s5, 0x44($sp) +/* 0827D0 7F04DCA0 8FB60048 */ lw $s6, 0x48($sp) +/* 0827D4 7F04DCA4 8FB7004C */ lw $s7, 0x4c($sp) +/* 0827D8 7F04DCA8 8FBE0050 */ lw $fp, 0x50($sp) +/* 0827DC 7F04DCAC 03E00008 */ jr $ra +/* 0827E0 7F04DCB0 27BD00F8 */ addiu $sp, $sp, 0xf8 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04DCB4(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*hack, doesnt fit in own data above*/ +.word destroyable_object +.word destroyable_object +.word destroyable_object +.word destroyable_object +.word destroyable_object +.word nondestroyable_object +.word destroyable_object +.word nondestroyable_object +.word destroyable_object + +.text +glabel sub_GAME_7F04DCB4 +/* 0827E4 7F04DCB4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0827E8 7F04DCB8 AFBF0034 */ sw $ra, 0x34($sp) +/* 0827EC 7F04DCBC AFB00030 */ sw $s0, 0x30($sp) +/* 0827F0 7F04DCC0 8C8E0010 */ lw $t6, 0x10($a0) +/* 0827F4 7F04DCC4 00808025 */ move $s0, $a0 +/* 0827F8 7F04DCC8 0FC1001E */ jal sub_GAME_7F040078 +/* 0827FC 7F04DCCC AFAE003C */ sw $t6, 0x3c($sp) +/* 082800 7F04DCD0 8FA4003C */ lw $a0, 0x3c($sp) +/* 082804 7F04DCD4 00002825 */ move $a1, $zero +/* 082808 7F04DCD8 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 08280C 7F04DCDC AFA20038 */ sw $v0, 0x38($sp) +/* 082810 7F04DCE0 8FA4003C */ lw $a0, 0x3c($sp) +/* 082814 7F04DCE4 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 082818 7F04DCE8 24050001 */ li $a1, 1 +/* 08281C 7F04DCEC 8FA30038 */ lw $v1, 0x38($sp) +/* 082820 7F04DCF0 26040058 */ addiu $a0, $s0, 0x58 +/* 082824 7F04DCF4 26050018 */ addiu $a1, $s0, 0x18 +/* 082828 7F04DCF8 C4640004 */ lwc1 $f4, 4($v1) +/* 08282C 7F04DCFC 26060028 */ addiu $a2, $s0, 0x28 +/* 082830 7F04DD00 26070038 */ addiu $a3, $s0, 0x38 +/* 082834 7F04DD04 E7A40010 */ swc1 $f4, 0x10($sp) +/* 082838 7F04DD08 C4660008 */ lwc1 $f6, 8($v1) +/* 08283C 7F04DD0C E7A60014 */ swc1 $f6, 0x14($sp) +/* 082840 7F04DD10 C468000C */ lwc1 $f8, 0xc($v1) +/* 082844 7F04DD14 E7A80018 */ swc1 $f8, 0x18($sp) +/* 082848 7F04DD18 C46A0010 */ lwc1 $f10, 0x10($v1) +/* 08284C 7F04DD1C E7AA001C */ swc1 $f10, 0x1c($sp) +/* 082850 7F04DD20 C4700014 */ lwc1 $f16, 0x14($v1) +/* 082854 7F04DD24 E7B00020 */ swc1 $f16, 0x20($sp) +/* 082858 7F04DD28 C4720018 */ lwc1 $f18, 0x18($v1) +/* 08285C 7F04DD2C 0FC28768 */ jal sub_GAME_7F0A1DA0 +/* 082860 7F04DD30 E7B20024 */ swc1 $f18, 0x24($sp) +/* 082864 7F04DD34 8E0F0064 */ lw $t7, 0x64($s0) +/* 082868 7F04DD38 92190002 */ lbu $t9, 2($s0) +/* 08286C 7F04DD3C 44802000 */ mtc1 $zero, $f4 +/* 082870 7F04DD40 35F80004 */ ori $t8, $t7, 4 +/* 082874 7F04DD44 37280080 */ ori $t0, $t9, 0x80 +/* 082878 7F04DD48 AE180064 */ sw $t8, 0x64($s0) +/* 08287C 7F04DD4C A2080002 */ sb $t0, 2($s0) +/* 082880 7F04DD50 E6040070 */ swc1 $f4, 0x70($s0) +/* 082884 7F04DD54 8FBF0034 */ lw $ra, 0x34($sp) +/* 082888 7F04DD58 8FB00030 */ lw $s0, 0x30($sp) +/* 08288C 7F04DD5C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 082890 7F04DD60 03E00008 */ jr $ra +/* 082894 7F04DD64 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04DD68(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04DD68 +/* 082898 7F04DD68 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 08289C 7F04DD6C AFBF002C */ sw $ra, 0x2c($sp) +/* 0828A0 7F04DD70 8C8E0010 */ lw $t6, 0x10($a0) +/* 0828A4 7F04DD74 27A50030 */ addiu $a1, $sp, 0x30 +/* 0828A8 7F04DD78 AFAE007C */ sw $t6, 0x7c($sp) +/* 0828AC 7F04DD7C 8C830014 */ lw $v1, 0x14($a0) +/* 0828B0 7F04DD80 8C6F0008 */ lw $t7, 8($v1) +/* 0828B4 7F04DD84 8DF80008 */ lw $t8, 8($t7) +/* 0828B8 7F04DD88 8F190008 */ lw $t9, 8($t8) +/* 0828BC 7F04DD8C 8F220004 */ lw $v0, 4($t9) +/* 0828C0 7F04DD90 AFA30078 */ sw $v1, 0x78($sp) +/* 0828C4 7F04DD94 0FC149BB */ jal sub_GAME_7F0526EC +/* 0828C8 7F04DD98 AFA20074 */ sw $v0, 0x74($sp) +/* 0828CC 7F04DD9C 8FA20074 */ lw $v0, 0x74($sp) +/* 0828D0 7F04DDA0 27A40060 */ addiu $a0, $sp, 0x60 +/* 0828D4 7F04DDA4 27A50030 */ addiu $a1, $sp, 0x30 +/* 0828D8 7F04DDA8 C4440004 */ lwc1 $f4, 4($v0) +/* 0828DC 7F04DDAC 27A60040 */ addiu $a2, $sp, 0x40 +/* 0828E0 7F04DDB0 27A70050 */ addiu $a3, $sp, 0x50 +/* 0828E4 7F04DDB4 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0828E8 7F04DDB8 C4460008 */ lwc1 $f6, 8($v0) +/* 0828EC 7F04DDBC E7A60014 */ swc1 $f6, 0x14($sp) +/* 0828F0 7F04DDC0 C448000C */ lwc1 $f8, 0xc($v0) +/* 0828F4 7F04DDC4 E7A80018 */ swc1 $f8, 0x18($sp) +/* 0828F8 7F04DDC8 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0828FC 7F04DDCC E7AA001C */ swc1 $f10, 0x1c($sp) +/* 082900 7F04DDD0 C4500014 */ lwc1 $f16, 0x14($v0) +/* 082904 7F04DDD4 E7B00020 */ swc1 $f16, 0x20($sp) +/* 082908 7F04DDD8 C4520018 */ lwc1 $f18, 0x18($v0) +/* 08290C 7F04DDDC 0FC28768 */ jal sub_GAME_7F0A1DA0 +/* 082910 7F04DDE0 E7B20024 */ swc1 $f18, 0x24($sp) +/* 082914 7F04DDE4 8FA4007C */ lw $a0, 0x7c($sp) +/* 082918 7F04DDE8 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 08291C 7F04DDEC 24050001 */ li $a1, 1 +/* 082920 7F04DDF0 8FA40078 */ lw $a0, 0x78($sp) +/* 082924 7F04DDF4 8C880008 */ lw $t0, 8($a0) +/* 082928 7F04DDF8 8D090008 */ lw $t1, 8($t0) +/* 08292C 7F04DDFC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 082930 7F04DE00 8D250004 */ lw $a1, 4($t1) +/* 082934 7F04DE04 AC400000 */ sw $zero, ($v0) +/* 082938 7F04DE08 8FBF002C */ lw $ra, 0x2c($sp) +/* 08293C 7F04DE0C 27BD0080 */ addiu $sp, $sp, 0x80 +/* 082940 7F04DE10 03E00008 */ jr $ra +/* 082944 7F04DE14 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04DE18(void) { + +} +#else +GLOBAL_ASM( + .late_rodata +/*hack, part of check_if_collectable_object*/ +/*D:80052EAC*/ +glabel jpt_80052EAC +.word collectable_object +.word notcollectable_object +.word notcollectable_object +.word collectable_object +.word collectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word notcollectable_object +.word collectable_object +.word notcollectable_object +.word notcollectable_object +.word collectable_object +.word collectable_object +.text +glabel sub_GAME_7F04DE18 +/* 082948 7F04DE18 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 08294C 7F04DE1C AFBF0034 */ sw $ra, 0x34($sp) +/* 082950 7F04DE20 AFB00030 */ sw $s0, 0x30($sp) +/* 082954 7F04DE24 8C8E0010 */ lw $t6, 0x10($a0) +/* 082958 7F04DE28 AFAE0094 */ sw $t6, 0x94($sp) +/* 08295C 7F04DE2C 91D80001 */ lbu $t8, 1($t6) +/* 082960 7F04DE30 8C900014 */ lw $s0, 0x14($a0) +/* 082964 7F04DE34 33190002 */ andi $t9, $t8, 2 +/* 082968 7F04DE38 53200023 */ beql $t9, $zero, .L7F04DEC8 +/* 08296C 7F04DE3C 8FA40094 */ lw $a0, 0x94($sp) +/* 082970 7F04DE40 8E080008 */ lw $t0, 8($s0) +/* 082974 7F04DE44 02002025 */ move $a0, $s0 +/* 082978 7F04DE48 00003025 */ move $a2, $zero +/* 08297C 7F04DE4C 8D020008 */ lw $v0, 8($t0) +/* 082980 7F04DE50 8C490008 */ lw $t1, 8($v0) +/* 082984 7F04DE54 8C450004 */ lw $a1, 4($v0) +/* 082988 7F04DE58 8D230004 */ lw $v1, 4($t1) +/* 08298C 7F04DE5C 0FC1B198 */ jal sub_GAME_7F06C660 +/* 082990 7F04DE60 AFA30088 */ sw $v1, 0x88($sp) +/* 082994 7F04DE64 0FC1E111 */ jal sub_GAME_7F078444 +/* 082998 7F04DE68 AFA20084 */ sw $v0, 0x84($sp) +/* 08299C 7F04DE6C 00402025 */ move $a0, $v0 +/* 0829A0 7F04DE70 8FA50084 */ lw $a1, 0x84($sp) +/* 0829A4 7F04DE74 0FC16063 */ jal sub_GAME_7F05818C +/* 0829A8 7F04DE78 27A60044 */ addiu $a2, $sp, 0x44 +/* 0829AC 7F04DE7C 8FA30088 */ lw $v1, 0x88($sp) +/* 0829B0 7F04DE80 27A40074 */ addiu $a0, $sp, 0x74 +/* 0829B4 7F04DE84 27A50044 */ addiu $a1, $sp, 0x44 +/* 0829B8 7F04DE88 C4640004 */ lwc1 $f4, 4($v1) +/* 0829BC 7F04DE8C 27A60054 */ addiu $a2, $sp, 0x54 +/* 0829C0 7F04DE90 27A70064 */ addiu $a3, $sp, 0x64 +/* 0829C4 7F04DE94 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0829C8 7F04DE98 C4660008 */ lwc1 $f6, 8($v1) +/* 0829CC 7F04DE9C E7A60014 */ swc1 $f6, 0x14($sp) +/* 0829D0 7F04DEA0 C468000C */ lwc1 $f8, 0xc($v1) +/* 0829D4 7F04DEA4 E7A80018 */ swc1 $f8, 0x18($sp) +/* 0829D8 7F04DEA8 C46A0010 */ lwc1 $f10, 0x10($v1) +/* 0829DC 7F04DEAC E7AA001C */ swc1 $f10, 0x1c($sp) +/* 0829E0 7F04DEB0 C4700014 */ lwc1 $f16, 0x14($v1) +/* 0829E4 7F04DEB4 E7B00020 */ swc1 $f16, 0x20($sp) +/* 0829E8 7F04DEB8 C4720018 */ lwc1 $f18, 0x18($v1) +/* 0829EC 7F04DEBC 0FC28768 */ jal sub_GAME_7F0A1DA0 +/* 0829F0 7F04DEC0 E7B20024 */ swc1 $f18, 0x24($sp) +/* 0829F4 7F04DEC4 8FA40094 */ lw $a0, 0x94($sp) +.L7F04DEC8: +/* 0829F8 7F04DEC8 0FC28333 */ jal sub_GAME_7F0A0CCC +/* 0829FC 7F04DECC 24050001 */ li $a1, 1 +/* 082A00 7F04DED0 8E0A0008 */ lw $t2, 8($s0) +/* 082A04 7F04DED4 02002025 */ move $a0, $s0 +/* 082A08 7F04DED8 8D4B0008 */ lw $t3, 8($t2) +/* 082A0C 7F04DEDC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 082A10 7F04DEE0 8D65000C */ lw $a1, 0xc($t3) +/* 082A14 7F04DEE4 AC400000 */ sw $zero, ($v0) +/* 082A18 7F04DEE8 8FBF0034 */ lw $ra, 0x34($sp) +/* 082A1C 7F04DEEC 8FB00030 */ lw $s0, 0x30($sp) +/* 082A20 7F04DEF0 27BD0098 */ addiu $sp, $sp, 0x98 +/* 082A24 7F04DEF4 03E00008 */ jr $ra +/* 082A28 7F04DEF8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04DEFC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04DEFC +/* 082A2C 7F04DEFC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 082A30 7F04DF00 AFBF003C */ sw $ra, 0x3c($sp) +/* 082A34 7F04DF04 AFB40038 */ sw $s4, 0x38($sp) +/* 082A38 7F04DF08 AFB30034 */ sw $s3, 0x34($sp) +/* 082A3C 7F04DF0C AFB20030 */ sw $s2, 0x30($sp) +/* 082A40 7F04DF10 AFB1002C */ sw $s1, 0x2c($sp) +/* 082A44 7F04DF14 AFB00028 */ sw $s0, 0x28($sp) +/* 082A48 7F04DF18 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 082A4C 7F04DF1C AFA40040 */ sw $a0, 0x40($sp) +/* 082A50 7F04DF20 8C820004 */ lw $v0, 4($a0) +/* 082A54 7F04DF24 8FB20050 */ lw $s2, 0x50($sp) +/* 082A58 7F04DF28 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 +/* 082A5C 7F04DF2C 8C4F0064 */ lw $t7, 0x64($v0) +/* 082A60 7F04DF30 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 082A64 7F04DF34 00124440 */ sll $t0, $s2, 0x11 +/* 082A68 7F04DF38 01E1C024 */ and $t8, $t7, $at +/* 082A6C 7F04DF3C 03084825 */ or $t1, $t8, $t0 +/* 082A70 7F04DF40 4485A000 */ mtc1 $a1, $f20 +/* 082A74 7F04DF44 00095B00 */ sll $t3, $t1, 0xc +/* 082A78 7F04DF48 AC580064 */ sw $t8, 0x64($v0) +/* 082A7C 7F04DF4C 00C09825 */ move $s3, $a2 +/* 082A80 7F04DF50 00E0A025 */ move $s4, $a3 +/* 082A84 7F04DF54 05600015 */ bltz $t3, .L7F04DFAC +/* 082A88 7F04DF58 AC490064 */ sw $t1, 0x64($v0) +/* 082A8C 7F04DF5C 8FAC0040 */ lw $t4, 0x40($sp) +/* 082A90 7F04DF60 8D900020 */ lw $s0, 0x20($t4) +/* 082A94 7F04DF64 5200000B */ beql $s0, $zero, .L7F04DF94 +/* 082A98 7F04DF68 8FAD0040 */ lw $t5, 0x40($sp) +.L7F04DF6C: +/* 082A9C 7F04DF6C 8E110024 */ lw $s1, 0x24($s0) +/* 082AA0 7F04DF70 4405A000 */ mfc1 $a1, $f20 +/* 082AA4 7F04DF74 AFB20010 */ sw $s2, 0x10($sp) +/* 082AA8 7F04DF78 02002025 */ move $a0, $s0 +/* 082AAC 7F04DF7C 02603025 */ move $a2, $s3 +/* 082AB0 7F04DF80 0FC137BF */ jal sub_GAME_7F04DEFC +/* 082AB4 7F04DF84 02803825 */ move $a3, $s4 +/* 082AB8 7F04DF88 1620FFF8 */ bnez $s1, .L7F04DF6C +/* 082ABC 7F04DF8C 02208025 */ move $s0, $s1 +/* 082AC0 7F04DF90 8FAD0040 */ lw $t5, 0x40($sp) +.L7F04DF94: +/* 082AC4 7F04DF94 4405A000 */ mfc1 $a1, $f20 +/* 082AC8 7F04DF98 02603025 */ move $a2, $s3 +/* 082ACC 7F04DF9C 8DA40004 */ lw $a0, 4($t5) +/* 082AD0 7F04DFA0 AFB20010 */ sw $s2, 0x10($sp) +/* 082AD4 7F04DFA4 0FC13842 */ jal maybe_detonate_object +/* 082AD8 7F04DFA8 02803825 */ move $a3, $s4 +.L7F04DFAC: +/* 082ADC 7F04DFAC 8FBF003C */ lw $ra, 0x3c($sp) +/* 082AE0 7F04DFB0 D7B40020 */ ldc1 $f20, 0x20($sp) +/* 082AE4 7F04DFB4 8FB00028 */ lw $s0, 0x28($sp) +/* 082AE8 7F04DFB8 8FB1002C */ lw $s1, 0x2c($sp) +/* 082AEC 7F04DFBC 8FB20030 */ lw $s2, 0x30($sp) +/* 082AF0 7F04DFC0 8FB30034 */ lw $s3, 0x34($sp) +/* 082AF4 7F04DFC4 8FB40038 */ lw $s4, 0x38($sp) +/* 082AF8 7F04DFC8 03E00008 */ jr $ra +/* 082AFC 7F04DFCC 27BD0040 */ addiu $sp, $sp, 0x40 +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_destroyable_object_type(void) { + +} +#else +GLOBAL_ASM( +.late_rodata + + +.text +glabel check_if_destroyable_object_type +/* 082B00 7F04DFD0 908E0003 */ lbu $t6, 3($a0) +/* 082B04 7F04DFD4 25CFFFFF */ addiu $t7, $t6, -1 +/* 082B08 7F04DFD8 2DE1002F */ sltiu $at, $t7, 0x2f +/* 082B0C 7F04DFDC 10200008 */ beqz $at, .L7F04E000 +/* 082B10 7F04DFE0 000F7880 */ sll $t7, $t7, 2 +/* 082B14 7F04DFE4 3C018005 */ lui $at, %hi(jpt_80052DF0) +/* 082B18 7F04DFE8 002F0821 */ addu $at, $at, $t7 +/* 082B1C 7F04DFEC 8C2F2DF0 */ lw $t7, %lo(jpt_80052DF0)($at) +/* 082B20 7F04DFF0 01E00008 */ jr $t7 +/* 082B24 7F04DFF4 00000000 */ nop +destroyable_object: +/* 082B28 7F04DFF8 03E00008 */ jr $ra +/* 082B2C 7F04DFFC 24020001 */ li $v0, 1 + +nondestroyable_object: +.L7F04E000: +/* 082B30 7F04E000 00001025 */ move $v0, $zero +/* 082B34 7F04E004 03E00008 */ jr $ra +/* 082B38 7F04E008 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_collectable_object(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_if_collectable_object +/* 082B3C 7F04E00C 908E0003 */ lbu $t6, 3($a0) +/* 082B40 7F04E010 25CFFFFC */ addiu $t7, $t6, -4 +/* 082B44 7F04E014 2DE10012 */ sltiu $at, $t7, 0x12 +/* 082B48 7F04E018 10200008 */ beqz $at, .L7F04E03C +/* 082B4C 7F04E01C 000F7880 */ sll $t7, $t7, 2 +/* 082B50 7F04E020 3C018005 */ lui $at, %hi(jpt_80052EAC) +/* 082B54 7F04E024 002F0821 */ addu $at, $at, $t7 +/* 082B58 7F04E028 8C2F2EAC */ lw $t7, %lo(jpt_80052EAC)($at) +/* 082B5C 7F04E02C 01E00008 */ jr $t7 +/* 082B60 7F04E030 00000000 */ nop +collectable_object: +/* 082B64 7F04E034 03E00008 */ jr $ra +/* 082B68 7F04E038 24020001 */ li $v0, 1 + +notcollectable_object: +.L7F04E03C: +/* 082B6C 7F04E03C 00001025 */ move $v0, $zero +/* 082B70 7F04E040 03E00008 */ jr $ra +/* 082B74 7F04E044 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_destroyable_not_invincible(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_if_destroyable_not_invincible +/* 082B78 7F04E048 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 082B7C 7F04E04C AFBF0014 */ sw $ra, 0x14($sp) +/* 082B80 7F04E050 908E0003 */ lbu $t6, 3($a0) +/* 082B84 7F04E054 24010001 */ li $at, 1 +/* 082B88 7F04E058 15C10003 */ bne $t6, $at, .L7F04E068 +/* 082B8C 7F04E05C 00000000 */ nop +/* 082B90 7F04E060 10000016 */ b .L7F04E0BC +/* 082B94 7F04E064 00001025 */ move $v0, $zero +.L7F04E068: +/* 082B98 7F04E068 0FC13803 */ jal check_if_collectable_object +/* 082B9C 7F04E06C AFA40018 */ sw $a0, 0x18($sp) +/* 082BA0 7F04E070 1040000B */ beqz $v0, .L7F04E0A0 +/* 082BA4 7F04E074 8FA40018 */ lw $a0, 0x18($sp) +/* 082BA8 7F04E078 908F0003 */ lbu $t7, 3($a0) +/* 082BAC 7F04E07C 24010015 */ li $at, 21 +/* 082BB0 7F04E080 51E10008 */ beql $t7, $at, .L7F04E0A4 +/* 082BB4 7F04E084 8C880008 */ lw $t0, 8($a0) +/* 082BB8 7F04E088 8C980008 */ lw $t8, 8($a0) +/* 082BBC 7F04E08C 0018CBC0 */ sll $t9, $t8, 0xf +/* 082BC0 7F04E090 0722000A */ bltzl $t9, .L7F04E0BC +/* 082BC4 7F04E094 24020001 */ li $v0, 1 +/* 082BC8 7F04E098 10000008 */ b .L7F04E0BC +/* 082BCC 7F04E09C 00001025 */ move $v0, $zero +.L7F04E0A0: +/* 082BD0 7F04E0A0 8C880008 */ lw $t0, 8($a0) +.L7F04E0A4: +/* 082BD4 7F04E0A4 00084B80 */ sll $t1, $t0, 0xe +/* 082BD8 7F04E0A8 05230004 */ bgezl $t1, .L7F04E0BC +/* 082BDC 7F04E0AC 24020001 */ li $v0, 1 +/* 082BE0 7F04E0B0 10000002 */ b .L7F04E0BC +/* 082BE4 7F04E0B4 00001025 */ move $v0, $zero +/* 082BE8 7F04E0B8 24020001 */ li $v0, 1 +.L7F04E0BC: +/* 082BEC 7F04E0BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 082BF0 7F04E0C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 082BF4 7F04E0C4 03E00008 */ jr $ra +/* 082BF8 7F04E0C8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04E0CC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04E0CC +/* 082BFC 7F04E0CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 082C00 7F04E0D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 082C04 7F04E0D4 8C8E000C */ lw $t6, 0xc($a0) +/* 082C08 7F04E0D8 44856000 */ mtc1 $a1, $f12 +/* 082C0C 7F04E0DC 8FB80030 */ lw $t8, 0x30($sp) +/* 082C10 7F04E0E0 31CF4000 */ andi $t7, $t6, 0x4000 +/* 082C14 7F04E0E4 55E00005 */ bnezl $t7, .L7F04E0FC +/* 082C18 7F04E0E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 082C1C 7F04E0EC 44056000 */ mfc1 $a1, $f12 +/* 082C20 7F04E0F0 0FC13842 */ jal maybe_detonate_object +/* 082C24 7F04E0F4 AFB80010 */ sw $t8, 0x10($sp) +/* 082C28 7F04E0F8 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04E0FC: +/* 082C2C 7F04E0FC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 082C30 7F04E100 03E00008 */ jr $ra +/* 082C34 7F04E104 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void maybe_detonate_object(void) { + +} +#else +GLOBAL_ASM( +.text +glabel maybe_detonate_object +/* 082C38 7F04E108 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 082C3C 7F04E10C AFBF001C */ sw $ra, 0x1c($sp) +/* 082C40 7F04E110 AFB00018 */ sw $s0, 0x18($sp) +/* 082C44 7F04E114 AFA600E8 */ sw $a2, 0xe8($sp) +/* 082C48 7F04E118 AFA700EC */ sw $a3, 0xec($sp) +/* 082C4C 7F04E11C 8C8E0064 */ lw $t6, 0x64($a0) +/* 082C50 7F04E120 3C01FFF9 */ lui $at, (0xFFF9FFFF >> 16) # lui $at, 0xfff9 +/* 082C54 7F04E124 3421FFFF */ ori $at, (0xFFF9FFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 082C58 7F04E128 01C17824 */ and $t7, $t6, $at +/* 082C5C 7F04E12C AC8F0064 */ sw $t7, 0x64($a0) +/* 082C60 7F04E130 8FB900F0 */ lw $t9, 0xf0($sp) +/* 082C64 7F04E134 908B0003 */ lbu $t3, 3($a0) +/* 082C68 7F04E138 44856000 */ mtc1 $a1, $f12 +/* 082C6C 7F04E13C 00194C40 */ sll $t1, $t9, 0x11 +/* 082C70 7F04E140 01E95025 */ or $t2, $t7, $t1 +/* 082C74 7F04E144 24010024 */ li $at, 36 +/* 082C78 7F04E148 00808025 */ move $s0, $a0 +/* 082C7C 7F04E14C 15610006 */ bne $t3, $at, .L7F04E168 +/* 082C80 7F04E150 AC8A0064 */ sw $t2, 0x64($a0) +/* 082C84 7F04E154 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 082C88 7F04E158 E7AC00E4 */ swc1 $f12, 0xe4($sp) +/* 082C8C 7F04E15C 24010001 */ li $at, 1 +/* 082C90 7F04E160 1041016A */ beq $v0, $at, .L7F04E70C +/* 082C94 7F04E164 C7AC00E4 */ lwc1 $f12, 0xe4($sp) +.L7F04E168: +/* 082C98 7F04E168 8FAC00EC */ lw $t4, 0xec($sp) +/* 082C9C 7F04E16C 02002025 */ move $a0, $s0 +/* 082CA0 7F04E170 55800012 */ bnezl $t4, .L7F04E1BC +/* 082CA4 7F04E174 8E030008 */ lw $v1, 8($s0) +/* 082CA8 7F04E178 0FC13803 */ jal check_if_collectable_object +/* 082CAC 7F04E17C E7AC00E4 */ swc1 $f12, 0xe4($sp) +/* 082CB0 7F04E180 10400007 */ beqz $v0, .L7F04E1A0 +/* 082CB4 7F04E184 C7AC00E4 */ lwc1 $f12, 0xe4($sp) +/* 082CB8 7F04E188 8E0D0008 */ lw $t5, 8($s0) +/* 082CBC 7F04E18C 000D7200 */ sll $t6, $t5, 8 +/* 082CC0 7F04E190 05C20045 */ bltzl $t6, .L7F04E2A8 +/* 082CC4 7F04E194 02002025 */ move $a0, $s0 +/* 082CC8 7F04E198 1000015D */ b .L7F04E710 +/* 082CCC 7F04E19C 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04E1A0: +/* 082CD0 7F04E1A0 8E0F0008 */ lw $t7, 8($s0) +/* 082CD4 7F04E1A4 000FC9C0 */ sll $t9, $t7, 7 +/* 082CD8 7F04E1A8 0723003F */ bgezl $t9, .L7F04E2A8 +/* 082CDC 7F04E1AC 02002025 */ move $a0, $s0 +/* 082CE0 7F04E1B0 10000157 */ b .L7F04E710 +/* 082CE4 7F04E1B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 082CE8 7F04E1B8 8E030008 */ lw $v1, 8($s0) +.L7F04E1BC: +/* 082CEC 7F04E1BC 0003C380 */ sll $t8, $v1, 0xe +/* 082CF0 7F04E1C0 07020153 */ bltzl $t8, .L7F04E710 +/* 082CF4 7F04E1C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 082CF8 7F04E1C8 92020003 */ lbu $v0, 3($s0) +/* 082CFC 7F04E1CC 24050008 */ li $a1, 8 +/* 082D00 7F04E1D0 24040007 */ li $a0, 7 +/* 082D04 7F04E1D4 14A20015 */ bne $a1, $v0, .L7F04E22C +/* 082D08 7F04E1D8 00000000 */ nop +/* 082D0C 7F04E1DC 82020080 */ lb $v0, 0x80($s0) +/* 082D10 7F04E1E0 2401001A */ li $at, 26 +/* 082D14 7F04E1E4 1041000F */ beq $v0, $at, .L7F04E224 +/* 082D18 7F04E1E8 2401001B */ li $at, 27 +/* 082D1C 7F04E1EC 1041000D */ beq $v0, $at, .L7F04E224 +/* 082D20 7F04E1F0 2401001D */ li $at, 29 +/* 082D24 7F04E1F4 1041000B */ beq $v0, $at, .L7F04E224 +/* 082D28 7F04E1F8 2401001C */ li $at, 28 +/* 082D2C 7F04E1FC 10410009 */ beq $v0, $at, .L7F04E224 +/* 082D30 7F04E200 24010056 */ li $at, 86 +/* 082D34 7F04E204 10410007 */ beq $v0, $at, .L7F04E224 +/* 082D38 7F04E208 24010057 */ li $at, 87 +/* 082D3C 7F04E20C 10410005 */ beq $v0, $at, .L7F04E224 +/* 082D40 7F04E210 24010021 */ li $at, 33 +/* 082D44 7F04E214 10410003 */ beq $v0, $at, .L7F04E224 +/* 082D48 7F04E218 24010022 */ li $at, 34 +/* 082D4C 7F04E21C 5441013C */ bnel $v0, $at, .L7F04E710 +/* 082D50 7F04E220 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04E224: +/* 082D54 7F04E224 10000139 */ b .L7F04E70C +/* 082D58 7F04E228 A6000082 */ sh $zero, 0x82($s0) +.L7F04E22C: +/* 082D5C 7F04E22C 54820019 */ bnel $a0, $v0, .L7F04E294 +/* 082D60 7F04E230 02002025 */ move $a0, $s0 +/* 082D64 7F04E234 8E020080 */ lw $v0, 0x80($s0) +/* 082D68 7F04E238 24010005 */ li $at, 5 +/* 082D6C 7F04E23C 10410010 */ beq $v0, $at, .L7F04E280 +/* 082D70 7F04E240 24010006 */ li $at, 6 +/* 082D74 7F04E244 5041000F */ beql $v0, $at, .L7F04E284 +/* 082D78 7F04E248 3C011000 */ lui $at, 0x1000 +/* 082D7C 7F04E24C 5082000D */ beql $a0, $v0, .L7F04E284 +/* 082D80 7F04E250 3C011000 */ lui $at, 0x1000 +/* 082D84 7F04E254 10A2000A */ beq $a1, $v0, .L7F04E280 +/* 082D88 7F04E258 24010009 */ li $at, 9 +/* 082D8C 7F04E25C 10410008 */ beq $v0, $at, .L7F04E280 +/* 082D90 7F04E260 2401000B */ li $at, 11 +/* 082D94 7F04E264 10410006 */ beq $v0, $at, .L7F04E280 +/* 082D98 7F04E268 2401000F */ li $at, 15 +/* 082D9C 7F04E26C 10410004 */ beq $v0, $at, .L7F04E280 +/* 082DA0 7F04E270 24010010 */ li $at, 16 +/* 082DA4 7F04E274 10410002 */ beq $v0, $at, .L7F04E280 +/* 082DA8 7F04E278 24010013 */ li $at, 19 +/* 082DAC 7F04E27C 14410123 */ bne $v0, $at, .L7F04E70C +.L7F04E280: +/* 082DB0 7F04E280 3C011000 */ li $at, 0x10000000 # 0.000000 +.L7F04E284: +/* 082DB4 7F04E284 00614825 */ or $t1, $v1, $at +/* 082DB8 7F04E288 10000120 */ b .L7F04E70C +/* 082DBC 7F04E28C AE090008 */ sw $t1, 8($s0) +/* 082DC0 7F04E290 02002025 */ move $a0, $s0 +.L7F04E294: +/* 082DC4 7F04E294 0FC13812 */ jal check_if_destroyable_not_invincible +/* 082DC8 7F04E298 E7AC00E4 */ swc1 $f12, 0xe4($sp) +/* 082DCC 7F04E29C 1040011B */ beqz $v0, .L7F04E70C +/* 082DD0 7F04E2A0 C7AC00E4 */ lwc1 $f12, 0xe4($sp) +/* 082DD4 7F04E2A4 02002025 */ move $a0, $s0 +.L7F04E2A8: +/* 082DD8 7F04E2A8 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 082DDC 7F04E2AC E7AC00E4 */ swc1 $f12, 0xe4($sp) +/* 082DE0 7F04E2B0 14400008 */ bnez $v0, .L7F04E2D4 +/* 082DE4 7F04E2B4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) +/* 082DE8 7F04E2B8 3C01437A */ li $at, 0x437A0000 # 250.000000 +/* 082DEC 7F04E2BC 44813000 */ mtc1 $at, $f6 +/* 082DF0 7F04E2C0 C6040070 */ lwc1 $f4, 0x70($s0) +/* 082DF4 7F04E2C4 46066202 */ mul.s $f8, $f12, $f6 +/* 082DF8 7F04E2C8 46082280 */ add.s $f10, $f4, $f8 +/* 082DFC 7F04E2CC 1000001F */ b .L7F04E34C +/* 082E00 7F04E2D0 E60A0070 */ swc1 $f10, 0x70($s0) +.L7F04E2D4: +/* 082E04 7F04E2D4 02002025 */ move $a0, $s0 +/* 082E08 7F04E2D8 0FC0FFD8 */ jal sub_GAME_7F03FF60 +/* 082E0C 7F04E2DC E7AC00E4 */ swc1 $f12, 0xe4($sp) +/* 082E10 7F04E2E0 240B0004 */ li $t3, 4 +/* 082E14 7F04E2E4 C7AC00E4 */ lwc1 $f12, 0xe4($sp) +/* 082E18 7F04E2E8 04410004 */ bgez $v0, .L7F04E2FC +/* 082E1C 7F04E2EC 304A0003 */ andi $t2, $v0, 3 +/* 082E20 7F04E2F0 11400002 */ beqz $t2, .L7F04E2FC +/* 082E24 7F04E2F4 00000000 */ nop +/* 082E28 7F04E2F8 254AFFFC */ addiu $t2, $t2, -4 +.L7F04E2FC: +/* 082E2C 7F04E2FC 016A6023 */ subu $t4, $t3, $t2 +/* 082E30 7F04E300 448C8000 */ mtc1 $t4, $f16 +/* 082E34 7F04E304 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 082E38 7F04E308 46808020 */ cvt.s.w $f0, $f16 +/* 082E3C 7F04E30C 460C003C */ c.lt.s $f0, $f12 +/* 082E40 7F04E310 00000000 */ nop +/* 082E44 7F04E314 45020004 */ bc1fl .L7F04E328 +/* 082E48 7F04E318 44810000 */ mtc1 $at, $f0 +/* 082E4C 7F04E31C 10000008 */ b .L7F04E340 +/* 082E50 7F04E320 46000306 */ mov.s $f12, $f0 +/* 082E54 7F04E324 44810000 */ mtc1 $at, $f0 +.L7F04E328: +/* 082E58 7F04E328 00000000 */ nop +/* 082E5C 7F04E32C 4600603C */ c.lt.s $f12, $f0 +/* 082E60 7F04E330 00000000 */ nop +/* 082E64 7F04E334 45020003 */ bc1fl .L7F04E344 +/* 082E68 7F04E338 C6120070 */ lwc1 $f18, 0x70($s0) +/* 082E6C 7F04E33C 46000306 */ mov.s $f12, $f0 +.L7F04E340: +/* 082E70 7F04E340 C6120070 */ lwc1 $f18, 0x70($s0) +.L7F04E344: +/* 082E74 7F04E344 460C9180 */ add.s $f6, $f18, $f12 +/* 082E78 7F04E348 E6060070 */ swc1 $f6, 0x70($s0) +.L7F04E34C: +/* 082E7C 7F04E34C 92020003 */ lbu $v0, 3($s0) +/* 082E80 7F04E350 2401002A */ li $at, 42 +/* 082E84 7F04E354 10410003 */ beq $v0, $at, .L7F04E364 +/* 082E88 7F04E358 2401002F */ li $at, 47 +/* 082E8C 7F04E35C 1441000B */ bne $v0, $at, .L7F04E38C +/* 082E90 7F04E360 24050001 */ li $a1, 1 +.L7F04E364: +/* 082E94 7F04E364 C6040070 */ lwc1 $f4, 0x70($s0) +/* 082E98 7F04E368 C6080074 */ lwc1 $f8, 0x74($s0) +/* 082E9C 7F04E36C 4604403E */ c.le.s $f8, $f4 +/* 082EA0 7F04E370 00000000 */ nop +/* 082EA4 7F04E374 4502000D */ bc1fl .L7F04E3AC +/* 082EA8 7F04E378 24010014 */ li $at, 20 +/* 082EAC 7F04E37C 0FC1372D */ jal sub_GAME_7F04DCB4 +/* 082EB0 7F04E380 02002025 */ move $a0, $s0 +/* 082EB4 7F04E384 10000008 */ b .L7F04E3A8 +/* 082EB8 7F04E388 92020003 */ lbu $v0, 3($s0) +.L7F04E38C: +/* 082EBC 7F04E38C 0FC12FF4 */ jal sub_GAME_7F04BFD0 +/* 082EC0 7F04E390 8E040010 */ lw $a0, 0x10($s0) +/* 082EC4 7F04E394 02002025 */ move $a0, $s0 +/* 082EC8 7F04E398 8FA500E8 */ lw $a1, 0xe8($sp) +/* 082ECC 7F04E39C 0FC13383 */ jal object_explosion_related +/* 082ED0 7F04E3A0 8FA600F0 */ lw $a2, 0xf0($sp) +/* 082ED4 7F04E3A4 92020003 */ lbu $v0, 3($s0) +.L7F04E3A8: +/* 082ED8 7F04E3A8 24010014 */ li $at, 20 +.L7F04E3AC: +/* 082EDC 7F04E3AC 54410065 */ bnel $v0, $at, .L7F04E544 +/* 082EE0 7F04E3B0 92020003 */ lbu $v0, 3($s0) +/* 082EE4 7F04E3B4 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 082EE8 7F04E3B8 02002025 */ move $a0, $s0 +/* 082EEC 7F04E3BC 24010001 */ li $at, 1 +/* 082EF0 7F04E3C0 54410060 */ bnel $v0, $at, .L7F04E544 +/* 082EF4 7F04E3C4 92020003 */ lbu $v0, 3($s0) +/* 082EF8 7F04E3C8 0C002914 */ jal get_random_value +/* 082EFC 7F04E3CC 00000000 */ nop +/* 082F00 7F04E3D0 2401000D */ li $at, 13 +/* 082F04 7F04E3D4 0041001B */ divu $zero, $v0, $at +/* 082F08 7F04E3D8 00002010 */ mfhi $a0 +/* 082F0C 7F04E3DC 00802825 */ move $a1, $a0 +/* 082F10 7F04E3E0 00000000 */ nop +/* 082F14 7F04E3E4 00046880 */ sll $t5, $a0, 2 +.L7F04E3E8: +/* 082F18 7F04E3E8 020D1821 */ addu $v1, $s0, $t5 +/* 082F1C 7F04E3EC 946E0082 */ lhu $t6, 0x82($v1) +/* 082F20 7F04E3F0 59C0004E */ blezl $t6, .L7F04E52C +/* 082F24 7F04E3F4 24840001 */ addiu $a0, $a0, 1 +/* 082F28 7F04E3F8 946F0080 */ lhu $t7, 0x80($v1) +/* 082F2C 7F04E3FC 3401FFFF */ li $at, 65535 +/* 082F30 7F04E400 51E1004A */ beql $t7, $at, .L7F04E52C +/* 082F34 7F04E404 24840001 */ addiu $a0, $a0, 1 +/* 082F38 7F04E408 AFA30024 */ sw $v1, 0x24($sp) +/* 082F3C 7F04E40C AFA400C4 */ sw $a0, 0xc4($sp) +/* 082F40 7F04E410 0FC14634 */ jal sub_GAME_7F0518D0 +/* 082F44 7F04E414 AFA500C8 */ sw $a1, 0xc8($sp) +/* 082F48 7F04E418 8FA30024 */ lw $v1, 0x24($sp) +/* 082F4C 7F04E41C 8FA400C4 */ lw $a0, 0xc4($sp) +/* 082F50 7F04E420 8FA500C8 */ lw $a1, 0xc8($sp) +/* 082F54 7F04E424 10400040 */ beqz $v0, .L7F04E528 +/* 082F58 7F04E428 00403025 */ move $a2, $v0 +/* 082F5C 7F04E42C 3C198003 */ lui $t9, %hi(blank_07_object) +/* 082F60 7F04E430 27A8003C */ addiu $t0, $sp, 0x3c +/* 082F64 7F04E434 27392094 */ addiu $t9, %lo(blank_07_object) # addiu $t9, $t9, 0x2094 +/* 082F68 7F04E438 94670080 */ lhu $a3, 0x80($v1) +/* 082F6C 7F04E43C 27290078 */ addiu $t1, $t9, 0x78 +/* 082F70 7F04E440 01005825 */ move $t3, $t0 +.L7F04E444: +/* 082F74 7F04E444 8F210000 */ lw $at, ($t9) +/* 082F78 7F04E448 2739000C */ addiu $t9, $t9, 0xc +/* 082F7C 7F04E44C 256B000C */ addiu $t3, $t3, 0xc +/* 082F80 7F04E450 AD61FFF4 */ sw $at, -0xc($t3) +/* 082F84 7F04E454 8F21FFF8 */ lw $at, -8($t9) +/* 082F88 7F04E458 AD61FFF8 */ sw $at, -8($t3) +/* 082F8C 7F04E45C 8F21FFFC */ lw $at, -4($t9) +/* 082F90 7F04E460 1729FFF8 */ bne $t9, $t1, .L7F04E444 +/* 082F94 7F04E464 AD61FFFC */ sw $at, -4($t3) +/* 082F98 7F04E468 8F210000 */ lw $at, ($t9) +/* 082F9C 7F04E46C 01006825 */ move $t5, $t0 +/* 082FA0 7F04E470 00407025 */ move $t6, $v0 +/* 082FA4 7F04E474 AD610000 */ sw $at, ($t3) +/* 082FA8 7F04E478 8F290004 */ lw $t1, 4($t9) +/* 082FAC 7F04E47C 250C0078 */ addiu $t4, $t0, 0x78 +/* 082FB0 7F04E480 0007C080 */ sll $t8, $a3, 2 +/* 082FB4 7F04E484 AD690004 */ sw $t1, 4($t3) +.L7F04E488: +/* 082FB8 7F04E488 8DA10000 */ lw $at, ($t5) +/* 082FBC 7F04E48C 25AD000C */ addiu $t5, $t5, 0xc +/* 082FC0 7F04E490 25CE000C */ addiu $t6, $t6, 0xc +/* 082FC4 7F04E494 ADC1FFF4 */ sw $at, -0xc($t6) +/* 082FC8 7F04E498 8DA1FFF8 */ lw $at, -8($t5) +/* 082FCC 7F04E49C ADC1FFF8 */ sw $at, -8($t6) +/* 082FD0 7F04E4A0 8DA1FFFC */ lw $at, -4($t5) +/* 082FD4 7F04E4A4 15ACFFF8 */ bne $t5, $t4, .L7F04E488 +/* 082FD8 7F04E4A8 ADC1FFFC */ sw $at, -4($t6) +/* 082FDC 7F04E4AC 8DA10000 */ lw $at, ($t5) +/* 082FE0 7F04E4B0 24850001 */ addiu $a1, $a0, 1 +/* 082FE4 7F04E4B4 00C02025 */ move $a0, $a2 +/* 082FE8 7F04E4B8 ADC10000 */ sw $at, ($t6) +/* 082FEC 7F04E4BC 8DAC0004 */ lw $t4, 4($t5) +/* 082FF0 7F04E4C0 24010002 */ li $at, 2 +/* 082FF4 7F04E4C4 0307C023 */ subu $t8, $t8, $a3 +/* 082FF8 7F04E4C8 ADCC0004 */ sw $t4, 4($t6) +/* 082FFC 7F04E4CC A4470004 */ sh $a3, 4($v0) +/* 083000 7F04E4D0 14A10003 */ bne $a1, $at, .L7F04E4E0 +/* 083004 7F04E4D4 AC450080 */ sw $a1, 0x80($v0) +/* 083008 7F04E4D8 240F0001 */ li $t7, 1 +/* 08300C 7F04E4DC AC4F0080 */ sw $t7, 0x80($v0) +.L7F04E4E0: +/* 083010 7F04E4E0 0018C080 */ sll $t8, $t8, 2 +/* 083014 7F04E4E4 3C058004 */ lui $a1, %hi(PitemZ_entries) +/* 083018 7F04E4E8 00B82821 */ addu $a1, $a1, $t8 +/* 08301C 7F04E4EC 8CA5A228 */ lw $a1, %lo(PitemZ_entries)($a1) +/* 083020 7F04E4F0 0FC101BE */ jal sub_GAME_7F0406F8 +/* 083024 7F04E4F4 AFA600C0 */ sw $a2, 0xc0($sp) +/* 083028 7F04E4F8 10400011 */ beqz $v0, .L7F04E540 +/* 08302C 7F04E4FC 8FA600C0 */ lw $a2, 0xc0($sp) +/* 083030 7F04E500 8CC40014 */ lw $a0, 0x14($a2) +/* 083034 7F04E504 8C850014 */ lw $a1, 0x14($a0) +/* 083038 7F04E508 0FC1B39E */ jal set_obj_instance_controller_scale +/* 08303C 7F04E50C AFA600C0 */ sw $a2, 0xc0($sp) +/* 083040 7F04E510 8FA600C0 */ lw $a2, 0xc0($sp) +/* 083044 7F04E514 8E050010 */ lw $a1, 0x10($s0) +/* 083048 7F04E518 0FC0E969 */ jal sub_GAME_7F03A5A4 +/* 08304C 7F04E51C 8CC40010 */ lw $a0, 0x10($a2) +/* 083050 7F04E520 10000008 */ b .L7F04E544 +/* 083054 7F04E524 92020003 */ lbu $v0, 3($s0) +.L7F04E528: +/* 083058 7F04E528 24840001 */ addiu $a0, $a0, 1 +.L7F04E52C: +/* 08305C 7F04E52C 2401000D */ li $at, 13 +/* 083060 7F04E530 0081001A */ div $zero, $a0, $at +/* 083064 7F04E534 00002010 */ mfhi $a0 +/* 083068 7F04E538 5485FFAB */ bnel $a0, $a1, .L7F04E3E8 +/* 08306C 7F04E53C 00046880 */ sll $t5, $a0, 2 +.L7F04E540: +/* 083070 7F04E540 92020003 */ lbu $v0, 3($s0) +.L7F04E544: +/* 083074 7F04E544 2401000D */ li $at, 13 +/* 083078 7F04E548 54410010 */ bnel $v0, $at, .L7F04E58C +/* 08307C 7F04E54C 24010006 */ li $at, 6 +/* 083080 7F04E550 8E190008 */ lw $t9, 8($s0) +/* 083084 7F04E554 3C014000 */ lui $at, 0x4000 +/* 083088 7F04E558 02002025 */ move $a0, $s0 +/* 08308C 7F04E55C 03215825 */ or $t3, $t9, $at +/* 083090 7F04E560 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 083094 7F04E564 AE0B0008 */ sw $t3, 8($s0) +/* 083098 7F04E568 24010001 */ li $at, 1 +/* 08309C 7F04E56C 14410057 */ bne $v0, $at, .L7F04E6CC +/* 0830A0 7F04E570 00000000 */ nop +/* 0830A4 7F04E574 8E0A0008 */ lw $t2, 8($s0) +/* 0830A8 7F04E578 3C011000 */ lui $at, 0x1000 +/* 0830AC 7F04E57C 01416025 */ or $t4, $t2, $at +/* 0830B0 7F04E580 10000052 */ b .L7F04E6CC +/* 0830B4 7F04E584 AE0C0008 */ sw $t4, 8($s0) +/* 0830B8 7F04E588 24010006 */ li $at, 6 +.L7F04E58C: +/* 0830BC 7F04E58C 5441000C */ bnel $v0, $at, .L7F04E5C0 +/* 0830C0 7F04E590 2401000A */ li $at, 10 +/* 0830C4 7F04E594 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 0830C8 7F04E598 02002025 */ move $a0, $s0 +/* 0830CC 7F04E59C 24010001 */ li $at, 1 +/* 0830D0 7F04E5A0 1441004A */ bne $v0, $at, .L7F04E6CC +/* 0830D4 7F04E5A4 00000000 */ nop +/* 0830D8 7F04E5A8 8E0D0008 */ lw $t5, 8($s0) +/* 0830DC 7F04E5AC 3C011000 */ lui $at, 0x1000 +/* 0830E0 7F04E5B0 01A17025 */ or $t6, $t5, $at +/* 0830E4 7F04E5B4 10000045 */ b .L7F04E6CC +/* 0830E8 7F04E5B8 AE0E0008 */ sw $t6, 8($s0) +/* 0830EC 7F04E5BC 2401000A */ li $at, 10 +.L7F04E5C0: +/* 0830F0 7F04E5C0 5441000C */ bnel $v0, $at, .L7F04E5F4 +/* 0830F4 7F04E5C4 2401000B */ li $at, 11 +/* 0830F8 7F04E5C8 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 0830FC 7F04E5CC 02002025 */ move $a0, $s0 +/* 083100 7F04E5D0 24010001 */ li $at, 1 +/* 083104 7F04E5D4 1441003D */ bne $v0, $at, .L7F04E6CC +/* 083108 7F04E5D8 26040080 */ addiu $a0, $s0, 0x80 +/* 08310C 7F04E5DC 3C058003 */ lui $a1, %hi(D_80031EE8) +/* 083110 7F04E5E0 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 083114 7F04E5E4 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 +/* 083118 7F04E5E8 10000038 */ b .L7F04E6CC +/* 08311C 7F04E5EC 00000000 */ nop +/* 083120 7F04E5F0 2401000B */ li $at, 11 +.L7F04E5F4: +/* 083124 7F04E5F4 54410018 */ bnel $v0, $at, .L7F04E658 +/* 083128 7F04E5F8 24010024 */ li $at, 36 +/* 08312C 7F04E5FC 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 083130 7F04E600 02002025 */ move $a0, $s0 +/* 083134 7F04E604 24010001 */ li $at, 1 +/* 083138 7F04E608 14410030 */ bne $v0, $at, .L7F04E6CC +/* 08313C 7F04E60C 26040080 */ addiu $a0, $s0, 0x80 +/* 083140 7F04E610 3C058003 */ lui $a1, %hi(D_80031EE8) +/* 083144 7F04E614 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 083148 7F04E618 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 +/* 08314C 7F04E61C 3C058003 */ lui $a1, %hi(D_80031EE8) +/* 083150 7F04E620 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 +/* 083154 7F04E624 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 083158 7F04E628 260400F4 */ addiu $a0, $s0, 0xf4 +/* 08315C 7F04E62C 3C058003 */ lui $a1, %hi(D_80031EE8) +/* 083160 7F04E630 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 +/* 083164 7F04E634 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 083168 7F04E638 26040168 */ addiu $a0, $s0, 0x168 +/* 08316C 7F04E63C 3C058003 */ lui $a1, %hi(D_80031EE8) +/* 083170 7F04E640 24A51EE8 */ addiu $a1, %lo(D_80031EE8) # addiu $a1, $a1, 0x1ee8 +/* 083174 7F04E644 0FC12723 */ jal save_ptr_monitor_ani_code_to_obj_ani_slot +/* 083178 7F04E648 260401DC */ addiu $a0, $s0, 0x1dc +/* 08317C 7F04E64C 1000001F */ b .L7F04E6CC +/* 083180 7F04E650 00000000 */ nop +/* 083184 7F04E654 24010024 */ li $at, 36 +.L7F04E658: +/* 083188 7F04E658 5441000B */ bnel $v0, $at, .L7F04E688 +/* 08318C 7F04E65C 24010015 */ li $at, 21 +/* 083190 7F04E660 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 083194 7F04E664 02002025 */ move $a0, $s0 +/* 083198 7F04E668 24010001 */ li $at, 1 +/* 08319C 7F04E66C 14410017 */ bne $v0, $at, .L7F04E6CC +/* 0831A0 7F04E670 00000000 */ nop +/* 0831A4 7F04E674 0FC15799 */ jal init_trigger_toxic_gas_effect +/* 0831A8 7F04E678 26040058 */ addiu $a0, $s0, 0x58 +/* 0831AC 7F04E67C 10000013 */ b .L7F04E6CC +/* 0831B0 7F04E680 00000000 */ nop +/* 0831B4 7F04E684 24010015 */ li $at, 21 +.L7F04E688: +/* 0831B8 7F04E688 14410010 */ bne $v0, $at, .L7F04E6CC +/* 0831BC 7F04E68C 00000000 */ nop +/* 0831C0 7F04E690 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 0831C4 7F04E694 02002025 */ move $a0, $s0 +/* 0831C8 7F04E698 5440000A */ bnezl $v0, .L7F04E6C4 +/* 0831CC 7F04E69C 44804000 */ mtc1 $zero, $f8 +/* 0831D0 7F04E6A0 C6000074 */ lwc1 $f0, 0x74($s0) +/* 0831D4 7F04E6A4 C6100070 */ lwc1 $f16, 0x70($s0) +/* 0831D8 7F04E6A8 C60A0080 */ lwc1 $f10, 0x80($s0) +/* 0831DC 7F04E6AC 46100481 */ sub.s $f18, $f0, $f16 +/* 0831E0 7F04E6B0 46125182 */ mul.s $f6, $f10, $f18 +/* 0831E4 7F04E6B4 46003103 */ div.s $f4, $f6, $f0 +/* 0831E8 7F04E6B8 10000004 */ b .L7F04E6CC +/* 0831EC 7F04E6BC E6040084 */ swc1 $f4, 0x84($s0) +/* 0831F0 7F04E6C0 44804000 */ mtc1 $zero, $f8 +.L7F04E6C4: +/* 0831F4 7F04E6C4 00000000 */ nop +/* 0831F8 7F04E6C8 E6080084 */ swc1 $f8, 0x84($s0) +.L7F04E6CC: +/* 0831FC 7F04E6CC 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 083200 7F04E6D0 02002025 */ move $a0, $s0 +/* 083204 7F04E6D4 24010001 */ li $at, 1 +/* 083208 7F04E6D8 5441000D */ bnel $v0, $at, .L7F04E710 +/* 08320C 7F04E6DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 083210 7F04E6E0 8E0F0010 */ lw $t7, 0x10($s0) +/* 083214 7F04E6E4 8DE40020 */ lw $a0, 0x20($t7) +/* 083218 7F04E6E8 50800009 */ beql $a0, $zero, .L7F04E710 +/* 08321C 7F04E6EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 083220 7F04E6F0 8C820024 */ lw $v0, 0x24($a0) +.L7F04E6F4: +/* 083224 7F04E6F4 24050001 */ li $a1, 1 +/* 083228 7F04E6F8 0FC12FF4 */ jal sub_GAME_7F04BFD0 +/* 08322C 7F04E6FC AFA20028 */ sw $v0, 0x28($sp) +/* 083230 7F04E700 8FA40028 */ lw $a0, 0x28($sp) +/* 083234 7F04E704 5480FFFB */ bnezl $a0, .L7F04E6F4 +/* 083238 7F04E708 8C820024 */ lw $v0, 0x24($a0) +.L7F04E70C: +/* 08323C 7F04E70C 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04E710: +/* 083240 7F04E710 8FB00018 */ lw $s0, 0x18($sp) +/* 083244 7F04E714 27BD00E0 */ addiu $sp, $sp, 0xe0 +/* 083248 7F04E718 03E00008 */ jr $ra +/* 08324C 7F04E71C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04E720(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04E720 +/* 083250 7F04E720 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 083254 7F04E724 AFBF004C */ sw $ra, 0x4c($sp) +/* 083258 7F04E728 AFB50048 */ sw $s5, 0x48($sp) +/* 08325C 7F04E72C AFB40044 */ sw $s4, 0x44($sp) +/* 083260 7F04E730 AFB30040 */ sw $s3, 0x40($sp) +/* 083264 7F04E734 AFB2003C */ sw $s2, 0x3c($sp) +/* 083268 7F04E738 AFB10038 */ sw $s1, 0x38($sp) +/* 08326C 7F04E73C AFB00034 */ sw $s0, 0x34($sp) +/* 083270 7F04E740 AFA400C0 */ sw $a0, 0xc0($sp) +/* 083274 7F04E744 8C950004 */ lw $s5, 4($a0) +/* 083278 7F04E748 00A09825 */ move $s3, $a1 +/* 08327C 7F04E74C 8EAF0064 */ lw $t7, 0x64($s5) +/* 083280 7F04E750 31F81000 */ andi $t8, $t7, 0x1000 +/* 083284 7F04E754 57000091 */ bnezl $t8, .L7F04E99C +/* 083288 7F04E758 8FBF004C */ lw $ra, 0x4c($sp) +/* 08328C 7F04E75C 90880001 */ lbu $t0, 1($a0) +/* 083290 7F04E760 31090002 */ andi $t1, $t0, 2 +/* 083294 7F04E764 5120008D */ beql $t1, $zero, .L7F04E99C +/* 083298 7F04E768 8FBF004C */ lw $ra, 0x4c($sp) +/* 08329C 7F04E76C 8C900020 */ lw $s0, 0x20($a0) +/* 0832A0 7F04E770 52000008 */ beql $s0, $zero, .L7F04E794 +/* 0832A4 7F04E774 8EB40014 */ lw $s4, 0x14($s5) +.L7F04E778: +/* 0832A8 7F04E778 8E110024 */ lw $s1, 0x24($s0) +/* 0832AC 7F04E77C 02002025 */ move $a0, $s0 +/* 0832B0 7F04E780 0FC139C8 */ jal sub_GAME_7F04E720 +/* 0832B4 7F04E784 02602825 */ move $a1, $s3 +/* 0832B8 7F04E788 1620FFFB */ bnez $s1, .L7F04E778 +/* 0832BC 7F04E78C 02208025 */ move $s0, $s1 +/* 0832C0 7F04E790 8EB40014 */ lw $s4, 0x14($s5) +.L7F04E794: +/* 0832C4 7F04E794 AFA000A8 */ sw $zero, 0xa8($sp) +/* 0832C8 7F04E798 92AB0003 */ lbu $t3, 3($s5) +/* 0832CC 7F04E79C 24010001 */ li $at, 1 +/* 0832D0 7F04E7A0 2670000C */ addiu $s0, $s3, 0xc +/* 0832D4 7F04E7A4 15610025 */ bne $t3, $at, .L7F04E83C +/* 0832D8 7F04E7A8 27B100A8 */ addiu $s1, $sp, 0xa8 +/* 0832DC 7F04E7AC 96AC0098 */ lhu $t4, 0x98($s5) +/* 0832E0 7F04E7B0 26A400D0 */ addiu $a0, $s5, 0xd0 +/* 0832E4 7F04E7B4 02603025 */ move $a2, $s3 +/* 0832E8 7F04E7B8 318D0004 */ andi $t5, $t4, 4 +/* 0832EC 7F04E7BC 55A00008 */ bnezl $t5, .L7F04E7E0 +/* 0832F0 7F04E7C0 2670000C */ addiu $s0, $s3, 0xc +/* 0832F4 7F04E7C4 96A2009A */ lhu $v0, 0x9a($s5) +/* 0832F8 7F04E7C8 24010006 */ li $at, 6 +/* 0832FC 7F04E7CC 10410003 */ beq $v0, $at, .L7F04E7DC +/* 083300 7F04E7D0 24010007 */ li $at, 7 +/* 083304 7F04E7D4 14410019 */ bne $v0, $at, .L7F04E83C +/* 083308 7F04E7D8 00000000 */ nop +.L7F04E7DC: +/* 08330C 7F04E7DC 2670000C */ addiu $s0, $s3, 0xc +.L7F04E7E0: +/* 083310 7F04E7E0 02003825 */ move $a3, $s0 +/* 083314 7F04E7E4 0FC1D1F4 */ jal sub_GAME_7F0747D0 +/* 083318 7F04E7E8 8E85000C */ lw $a1, 0xc($s4) +/* 08331C 7F04E7EC 8E8E0008 */ lw $t6, 8($s4) +/* 083320 7F04E7F0 00409025 */ move $s2, $v0 +/* 083324 7F04E7F4 02802025 */ move $a0, $s4 +/* 083328 7F04E7F8 8DCF0000 */ lw $t7, ($t6) +/* 08332C 7F04E7FC 02603025 */ move $a2, $s3 +/* 083330 7F04E800 18400024 */ blez $v0, .L7F04E894 +/* 083334 7F04E804 AFAF00A8 */ sw $t7, 0xa8($sp) +/* 083338 7F04E808 27B80078 */ addiu $t8, $sp, 0x78 +/* 08333C 7F04E80C 27B90074 */ addiu $t9, $sp, 0x74 +/* 083340 7F04E810 27A80060 */ addiu $t0, $sp, 0x60 +/* 083344 7F04E814 AFA80018 */ sw $t0, 0x18($sp) +/* 083348 7F04E818 AFB90014 */ sw $t9, 0x14($sp) +/* 08334C 7F04E81C AFB80010 */ sw $t8, 0x10($sp) +/* 083350 7F04E820 01E02825 */ move $a1, $t7 +/* 083354 7F04E824 0FC1366C */ jal sub_GAME_7F04D9B0 +/* 083358 7F04E828 02003825 */ move $a3, $s0 +/* 08335C 7F04E82C 14400019 */ bnez $v0, .L7F04E894 +/* 083360 7F04E830 00000000 */ nop +/* 083364 7F04E834 10000017 */ b .L7F04E894 +/* 083368 7F04E838 00009025 */ move $s2, $zero +.L7F04E83C: +/* 08336C 7F04E83C 02802025 */ move $a0, $s4 +.L7F04E840: +/* 083370 7F04E840 02602825 */ move $a1, $s3 +/* 083374 7F04E844 02003025 */ move $a2, $s0 +/* 083378 7F04E848 0FC1D4BF */ jal sub_GAME_7F0752FC +/* 08337C 7F04E84C 02203825 */ move $a3, $s1 +/* 083380 7F04E850 1840000E */ blez $v0, .L7F04E88C +/* 083384 7F04E854 00409025 */ move $s2, $v0 +/* 083388 7F04E858 27A90078 */ addiu $t1, $sp, 0x78 +/* 08338C 7F04E85C 27AA0074 */ addiu $t2, $sp, 0x74 +/* 083390 7F04E860 27AB0060 */ addiu $t3, $sp, 0x60 +/* 083394 7F04E864 AFAB0018 */ sw $t3, 0x18($sp) +/* 083398 7F04E868 AFAA0014 */ sw $t2, 0x14($sp) +/* 08339C 7F04E86C AFA90010 */ sw $t1, 0x10($sp) +/* 0833A0 7F04E870 02802025 */ move $a0, $s4 +/* 0833A4 7F04E874 8FA500A8 */ lw $a1, 0xa8($sp) +/* 0833A8 7F04E878 02603025 */ move $a2, $s3 +/* 0833AC 7F04E87C 0FC1366C */ jal sub_GAME_7F04D9B0 +/* 0833B0 7F04E880 02003825 */ move $a3, $s0 +/* 0833B4 7F04E884 14400003 */ bnez $v0, .L7F04E894 +/* 0833B8 7F04E888 00000000 */ nop +.L7F04E88C: +/* 0833BC 7F04E88C 5E40FFEC */ bgtzl $s2, .L7F04E840 +/* 0833C0 7F04E890 02802025 */ move $a0, $s4 +.L7F04E894: +/* 0833C4 7F04E894 1A400040 */ blez $s2, .L7F04E998 +/* 0833C8 7F04E898 8FAD0074 */ lw $t5, 0x74($sp) +/* 0833CC 7F04E89C 8E8C000C */ lw $t4, 0xc($s4) +/* 0833D0 7F04E8A0 C7A40078 */ lwc1 $f4, 0x78($sp) +/* 0833D4 7F04E8A4 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 0833D8 7F04E8A8 C7A80080 */ lwc1 $f8, 0x80($sp) +/* 0833DC 7F04E8AC 000D7180 */ sll $t6, $t5, 6 +/* 0833E0 7F04E8B0 27A50068 */ addiu $a1, $sp, 0x68 +/* 0833E4 7F04E8B4 018E2021 */ addu $a0, $t4, $t6 +/* 0833E8 7F04E8B8 E7A40068 */ swc1 $f4, 0x68($sp) +/* 0833EC 7F04E8BC E7A6006C */ swc1 $f6, 0x6c($sp) +/* 0833F0 7F04E8C0 0FC1611D */ jal sub_GAME_7F058474 +/* 0833F4 7F04E8C4 E7A80070 */ swc1 $f8, 0x70($sp) +/* 0833F8 7F04E8C8 C7A00070 */ lwc1 $f0, 0x70($sp) +/* 0833FC 7F04E8CC C66A0034 */ lwc1 $f10, 0x34($s3) +/* 083400 7F04E8D0 02602025 */ move $a0, $s3 +/* 083404 7F04E8D4 46000007 */ neg.s $f0, $f0 +/* 083408 7F04E8D8 8FA500C0 */ lw $a1, 0xc0($sp) +/* 08340C 7F04E8DC 460A003E */ c.le.s $f0, $f10 +/* 083410 7F04E8E0 02403825 */ move $a3, $s2 +/* 083414 7F04E8E4 8FAC00A8 */ lw $t4, 0xa8($sp) +/* 083418 7F04E8E8 27AE0078 */ addiu $t6, $sp, 0x78 +/* 08341C 7F04E8EC 4502002B */ bc1fl .L7F04E99C +/* 083420 7F04E8F0 8FBF004C */ lw $ra, 0x4c($sp) +/* 083424 7F04E8F4 8EAF0008 */ lw $t7, 8($s5) +/* 083428 7F04E8F8 24030001 */ li $v1, 1 +/* 08342C 7F04E8FC 000FC380 */ sll $t8, $t7, 0xe +/* 083430 7F04E900 07020017 */ bltzl $t8, .L7F04E960 +/* 083434 7F04E904 8FAF0074 */ lw $t7, 0x74($sp) +/* 083438 7F04E908 92A20003 */ lbu $v0, 3($s5) +/* 08343C 7F04E90C 2401002A */ li $at, 42 +/* 083440 7F04E910 10410003 */ beq $v0, $at, .L7F04E920 +/* 083444 7F04E914 2401002F */ li $at, 47 +/* 083448 7F04E918 54410004 */ bnel $v0, $at, .L7F04E92C +/* 08344C 7F04E91C 8EB90014 */ lw $t9, 0x14($s5) +.L7F04E920: +/* 083450 7F04E920 1000000E */ b .L7F04E95C +/* 083454 7F04E924 00001825 */ move $v1, $zero +/* 083458 7F04E928 8EB90014 */ lw $t9, 0x14($s5) +.L7F04E92C: +/* 08345C 7F04E92C 3C088004 */ lui $t0, %hi(prop_door_related) +/* 083460 7F04E930 2508A1DC */ addiu $t0, %lo(prop_door_related) # addiu $t0, $t0, -0x5e24 +/* 083464 7F04E934 8F220008 */ lw $v0, 8($t9) +/* 083468 7F04E938 8C490004 */ lw $t1, 4($v0) +/* 08346C 7F04E93C 55090008 */ bnel $t0, $t1, .L7F04E960 +/* 083470 7F04E940 8FAF0074 */ lw $t7, 0x74($sp) +/* 083474 7F04E944 8C4B0008 */ lw $t3, 8($v0) +/* 083478 7F04E948 8FAA0060 */ lw $t2, 0x60($sp) +/* 08347C 7F04E94C 8D6D000C */ lw $t5, 0xc($t3) +/* 083480 7F04E950 554D0003 */ bnel $t2, $t5, .L7F04E960 +/* 083484 7F04E954 8FAF0074 */ lw $t7, 0x74($sp) +/* 083488 7F04E958 00001825 */ move $v1, $zero +.L7F04E95C: +/* 08348C 7F04E95C 8FAF0074 */ lw $t7, 0x74($sp) +.L7F04E960: +/* 083490 7F04E960 8FB80060 */ lw $t8, 0x60($sp) +/* 083494 7F04E964 AFAC0010 */ sw $t4, 0x10($sp) +/* 083498 7F04E968 AFAE0014 */ sw $t6, 0x14($sp) +/* 08349C 7F04E96C AFB40020 */ sw $s4, 0x20($sp) +/* 0834A0 7F04E970 AFA30024 */ sw $v1, 0x24($sp) +/* 0834A4 7F04E974 AFAF0018 */ sw $t7, 0x18($sp) +/* 0834A8 7F04E978 AFB8001C */ sw $t8, 0x1c($sp) +/* 0834AC 7F04E97C 8EB9000C */ lw $t9, 0xc($s5) +/* 0834B0 7F04E980 3C010010 */ lui $at, 0x10 +/* 0834B4 7F04E984 44060000 */ mfc1 $a2, $f0 +/* 0834B8 7F04E988 03214024 */ and $t0, $t9, $at +/* 0834BC 7F04E98C 0008482B */ sltu $t1, $zero, $t0 +/* 0834C0 7F04E990 0FC0EE70 */ jal sub_GAME_7F03B9C0 +/* 0834C4 7F04E994 AFA90028 */ sw $t1, 0x28($sp) +.L7F04E998: +/* 0834C8 7F04E998 8FBF004C */ lw $ra, 0x4c($sp) +.L7F04E99C: +/* 0834CC 7F04E99C 8FB00034 */ lw $s0, 0x34($sp) +/* 0834D0 7F04E9A0 8FB10038 */ lw $s1, 0x38($sp) +/* 0834D4 7F04E9A4 8FB2003C */ lw $s2, 0x3c($sp) +/* 0834D8 7F04E9A8 8FB30040 */ lw $s3, 0x40($sp) +/* 0834DC 7F04E9AC 8FB40044 */ lw $s4, 0x44($sp) +/* 0834E0 7F04E9B0 8FB50048 */ lw $s5, 0x48($sp) +/* 0834E4 7F04E9B4 03E00008 */ jr $ra +/* 0834E8 7F04E9B8 27BD00C0 */ addiu $sp, $sp, 0xc0 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04E9BC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04E9BC +/* 0834EC 7F04E9BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0834F0 7F04E9C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0834F4 7F04E9C4 AFA40028 */ sw $a0, 0x28($sp) +/* 0834F8 7F04E9C8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0834FC 7F04E9CC 8C840004 */ lw $a0, 4($a0) +/* 083500 7F04E9D0 8C8F0014 */ lw $t7, 0x14($a0) +/* 083504 7F04E9D4 AFA40024 */ sw $a0, 0x24($sp) +/* 083508 7F04E9D8 0FC1001E */ jal sub_GAME_7F040078 +/* 08350C 7F04E9DC AFAF001C */ sw $t7, 0x1c($sp) +/* 083510 7F04E9E0 8FB80028 */ lw $t8, 0x28($sp) +/* 083514 7F04E9E4 8FA40024 */ lw $a0, 0x24($sp) +/* 083518 7F04E9E8 93190001 */ lbu $t9, 1($t8) +/* 08351C 7F04E9EC 33280002 */ andi $t0, $t9, 2 +/* 083520 7F04E9F0 5100001A */ beql $t0, $zero, .L7F04EA5C +/* 083524 7F04E9F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 083528 7F04E9F8 8C890064 */ lw $t1, 0x64($a0) +/* 08352C 7F04E9FC 312A1000 */ andi $t2, $t1, 0x1000 +/* 083530 7F04EA00 55400016 */ bnezl $t2, .L7F04EA5C +/* 083534 7F04EA04 8FBF0014 */ lw $ra, 0x14($sp) +/* 083538 7F04EA08 8C8B000C */ lw $t3, 0xc($a0) +/* 08353C 7F04EA0C 8FAD001C */ lw $t5, 0x1c($sp) +/* 083540 7F04EA10 316C8000 */ andi $t4, $t3, 0x8000 +/* 083544 7F04EA14 15800010 */ bnez $t4, .L7F04EA58 +/* 083548 7F04EA18 00402025 */ move $a0, $v0 +/* 08354C 7F04EA1C 0FC0FAE7 */ jal sub_GAME_7F03EB9C +/* 083550 7F04EA20 8DA5000C */ lw $a1, 0xc($t5) +/* 083554 7F04EA24 8FAE001C */ lw $t6, 0x1c($sp) +/* 083558 7F04EA28 8FA5002C */ lw $a1, 0x2c($sp) +/* 08355C 7F04EA2C 8DCF000C */ lw $t7, 0xc($t6) +/* 083560 7F04EA30 C4A60034 */ lwc1 $f6, 0x34($a1) +/* 083564 7F04EA34 C5E40038 */ lwc1 $f4, 0x38($t7) +/* 083568 7F04EA38 46040080 */ add.s $f2, $f0, $f4 +/* 08356C 7F04EA3C 46001087 */ neg.s $f2, $f2 +/* 083570 7F04EA40 4606103E */ c.le.s $f2, $f6 +/* 083574 7F04EA44 00000000 */ nop +/* 083578 7F04EA48 45020004 */ bc1fl .L7F04EA5C +/* 08357C 7F04EA4C 8FBF0014 */ lw $ra, 0x14($sp) +/* 083580 7F04EA50 0FC139C8 */ jal sub_GAME_7F04E720 +/* 083584 7F04EA54 8FA40028 */ lw $a0, 0x28($sp) +.L7F04EA58: +/* 083588 7F04EA58 8FBF0014 */ lw $ra, 0x14($sp) +.L7F04EA5C: +/* 08358C 7F04EA5C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 083590 7F04EA60 03E00008 */ jr $ra +/* 083594 7F04EA64 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04EA68(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04EA68 +/* 083598 7F04EA68 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 08359C 7F04EA6C AFBF002C */ sw $ra, 0x2c($sp) +/* 0835A0 7F04EA70 AFB10028 */ sw $s1, 0x28($sp) +/* 0835A4 7F04EA74 AFB00024 */ sw $s0, 0x24($sp) +/* 0835A8 7F04EA78 8CA60004 */ lw $a2, 4($a1) +/* 0835AC 7F04EA7C 00A08025 */ move $s0, $a1 +/* 0835B0 7F04EA80 8CC2001C */ lw $v0, 0x1c($a2) +/* 0835B4 7F04EA84 00C01825 */ move $v1, $a2 +/* 0835B8 7F04EA88 50400006 */ beql $v0, $zero, .L7F04EAA4 +/* 0835BC 7F04EA8C C6040000 */ lwc1 $f4, ($s0) +/* 0835C0 7F04EA90 00401825 */ move $v1, $v0 +.L7F04EA94: +/* 0835C4 7F04EA94 8C42001C */ lw $v0, 0x1c($v0) +/* 0835C8 7F04EA98 5440FFFE */ bnezl $v0, .L7F04EA94 +/* 0835CC 7F04EA9C 00401825 */ move $v1, $v0 +/* 0835D0 7F04EAA0 C6040000 */ lwc1 $f4, ($s0) +.L7F04EAA4: +/* 0835D4 7F04EAA4 C486000C */ lwc1 $f6, 0xc($a0) +/* 0835D8 7F04EAA8 C48A0014 */ lwc1 $f10, 0x14($a0) +/* 0835DC 7F04EAAC C4920000 */ lwc1 $f18, ($a0) +/* 0835E0 7F04EAB0 46062202 */ mul.s $f8, $f4, $f6 +/* 0835E4 7F04EAB4 8CD10004 */ lw $s1, 4($a2) +/* 0835E8 7F04EAB8 3C0141D0 */ li $at, 0x41D00000 # 26.000000 +/* 0835EC 7F04EABC 44810000 */ mtc1 $at, $f0 +/* 0835F0 7F04EAC0 460A4403 */ div.s $f16, $f8, $f10 +/* 0835F4 7F04EAC4 46109101 */ sub.s $f4, $f18, $f16 +/* 0835F8 7F04EAC8 E7A40060 */ swc1 $f4, 0x60($sp) +/* 0835FC 7F04EACC C4880010 */ lwc1 $f8, 0x10($a0) +/* 083600 7F04EAD0 C6060000 */ lwc1 $f6, ($s0) +/* 083604 7F04EAD4 C4920014 */ lwc1 $f18, 0x14($a0) +/* 083608 7F04EAD8 C4840004 */ lwc1 $f4, 4($a0) +/* 08360C 7F04EADC 46083282 */ mul.s $f10, $f6, $f8 +/* 083610 7F04EAE0 46125403 */ div.s $f16, $f10, $f18 +/* 083614 7F04EAE4 46102181 */ sub.s $f6, $f4, $f16 +/* 083618 7F04EAE8 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 08361C 7F04EAEC E7A60064 */ swc1 $f6, 0x64($sp) +/* 083620 7F04EAF0 C60A0000 */ lwc1 $f10, ($s0) +/* 083624 7F04EAF4 C4880008 */ lwc1 $f8, 8($a0) +/* 083628 7F04EAF8 460A4481 */ sub.s $f18, $f8, $f10 +/* 08362C 7F04EAFC C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 083630 7F04EB00 E7B20068 */ swc1 $f18, 0x68($sp) +/* 083634 7F04EB04 C490000C */ lwc1 $f16, 0xc($a0) +/* 083638 7F04EB08 46100182 */ mul.s $f6, $f0, $f16 +/* 08363C 7F04EB0C 46062201 */ sub.s $f8, $f4, $f6 +/* 083640 7F04EB10 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 083644 7F04EB14 E7A80060 */ swc1 $f8, 0x60($sp) +/* 083648 7F04EB18 C4920010 */ lwc1 $f18, 0x10($a0) +/* 08364C 7F04EB1C 46120402 */ mul.s $f16, $f0, $f18 +/* 083650 7F04EB20 46105101 */ sub.s $f4, $f10, $f16 +/* 083654 7F04EB24 E7A40064 */ swc1 $f4, 0x64($sp) +/* 083658 7F04EB28 C4880014 */ lwc1 $f8, 0x14($a0) +/* 08365C 7F04EB2C AFA40070 */ sw $a0, 0x70($sp) +/* 083660 7F04EB30 AFA3005C */ sw $v1, 0x5c($sp) +/* 083664 7F04EB34 46080482 */ mul.s $f18, $f0, $f8 +/* 083668 7F04EB38 46123281 */ sub.s $f10, $f6, $f18 +/* 08366C 7F04EB3C 0FC1E111 */ jal sub_GAME_7F078444 +/* 083670 7F04EB40 E7AA0068 */ swc1 $f10, 0x68($sp) +/* 083674 7F04EB44 00402025 */ move $a0, $v0 +/* 083678 7F04EB48 0FC1611D */ jal sub_GAME_7F058474 +/* 08367C 7F04EB4C 27A50060 */ addiu $a1, $sp, 0x60 +/* 083680 7F04EB50 8E0E004C */ lw $t6, 0x4c($s0) +/* 083684 7F04EB54 8FA3005C */ lw $v1, 0x5c($sp) +/* 083688 7F04EB58 11C00004 */ beqz $t6, .L7F04EB6C +/* 08368C 7F04EB5C 27A40060 */ addiu $a0, $sp, 0x60 +/* 083690 7F04EB60 0FC19ED3 */ jal sub_GAME_7F067B4C +/* 083694 7F04EB64 AFA3005C */ sw $v1, 0x5c($sp) +/* 083698 7F04EB68 8FA3005C */ lw $v1, 0x5c($sp) +.L7F04EB6C: +/* 08369C 7F04EB6C 8C6F0014 */ lw $t7, 0x14($v1) +/* 0836A0 7F04EB70 27A40060 */ addiu $a0, $sp, 0x60 +/* 0836A4 7F04EB74 24050001 */ li $a1, 1 +/* 0836A8 7F04EB78 3C0641D0 */ lui $a2, 0x41d0 +/* 0836AC 7F04EB7C 0FC28F87 */ jal sub_GAME_7F0A3E1C +/* 0836B0 7F04EB80 91E70003 */ lbu $a3, 3($t7) +/* 0836B4 7F04EB84 0FC13BCD */ jal check_if_object_has_not_been_destroyed +/* 0836B8 7F04EB88 02202025 */ move $a0, $s1 +/* 0836BC 7F04EB8C 5040000D */ beql $v0, $zero, .L7F04EBC4 +/* 0836C0 7F04EB90 8E0B004C */ lw $t3, 0x4c($s0) +/* 0836C4 7F04EB94 0FC13812 */ jal check_if_destroyable_not_invincible +/* 0836C8 7F04EB98 02202025 */ move $a0, $s1 +/* 0836CC 7F04EB9C 50400009 */ beql $v0, $zero, .L7F04EBC4 +/* 0836D0 7F04EBA0 8E0B004C */ lw $t3, 0x4c($s0) +/* 0836D4 7F04EBA4 8E18004C */ lw $t8, 0x4c($s0) +/* 0836D8 7F04EBA8 8FB90070 */ lw $t9, 0x70($sp) +/* 0836DC 7F04EBAC 24050006 */ li $a1, 6 +/* 0836E0 7F04EBB0 53000004 */ beql $t8, $zero, .L7F04EBC4 +/* 0836E4 7F04EBB4 8E0B004C */ lw $t3, 0x4c($s0) +/* 0836E8 7F04EBB8 0FC1A9BE */ jal inc_curplayer_hitcount_with_weapon +/* 0836EC 7F04EBBC 8F240018 */ lw $a0, 0x18($t9) +/* 0836F0 7F04EBC0 8E0B004C */ lw $t3, 0x4c($s0) +.L7F04EBC4: +/* 0836F4 7F04EBC4 55600007 */ bnezl $t3, .L7F04EBE4 +/* 0836F8 7F04EBC8 8FAC0070 */ lw $t4, 0x70($sp) +/* 0836FC 7F04EBCC 8E040004 */ lw $a0, 4($s0) +/* 083700 7F04EBD0 0FC191C8 */ jal sub_GAME_7F064720 +/* 083704 7F04EBD4 24840008 */ addiu $a0, $a0, 8 +/* 083708 7F04EBD8 10000007 */ b .L7F04EBF8 +/* 08370C 7F04EBDC 8FAD0070 */ lw $t5, 0x70($sp) +/* 083710 7F04EBE0 8FAC0070 */ lw $t4, 0x70($sp) +.L7F04EBE4: +/* 083714 7F04EBE4 8E050004 */ lw $a1, 4($s0) +/* 083718 7F04EBE8 8606003A */ lh $a2, 0x3a($s0) +/* 08371C 7F04EBEC 0FC19107 */ jal recall_joy2_hits_edit_detail_edit_flag +/* 083720 7F04EBF0 8D840018 */ lw $a0, 0x18($t4) +/* 083724 7F04EBF4 8FAD0070 */ lw $t5, 0x70($sp) +.L7F04EBF8: +/* 083728 7F04EBF8 24010017 */ li $at, 23 +/* 08372C 7F04EBFC 8DA40018 */ lw $a0, 0x18($t5) +/* 083730 7F04EC00 10810060 */ beq $a0, $at, .L7F04ED84 +/* 083734 7F04EC04 00000000 */ nop +/* 083738 7F04EC08 8E0E004C */ lw $t6, 0x4c($s0) +/* 08373C 7F04EC0C 55C00022 */ bnezl $t6, .L7F04EC98 +/* 083740 7F04EC10 8602003A */ lh $v0, 0x3a($s0) +/* 083744 7F04EC14 8E380014 */ lw $t8, 0x14($s1) +/* 083748 7F04EC18 3C0F8004 */ lui $t7, %hi(prop_door_related) +/* 08374C 7F04EC1C 25EFA1DC */ addiu $t7, %lo(prop_door_related) # addiu $t7, $t7, -0x5e24 +/* 083750 7F04EC20 8F190008 */ lw $t9, 8($t8) +/* 083754 7F04EC24 8E080004 */ lw $t0, 4($s0) +/* 083758 7F04EC28 00001825 */ move $v1, $zero +/* 08375C 7F04EC2C 8F2B0004 */ lw $t3, 4($t9) +/* 083760 7F04EC30 55EB0003 */ bnel $t7, $t3, .L7F04EC40 +/* 083764 7F04EC34 A3A30057 */ sb $v1, 0x57($sp) +/* 083768 7F04EC38 24030001 */ li $v1, 1 +/* 08376C 7F04EC3C A3A30057 */ sb $v1, 0x57($sp) +.L7F04EC40: +/* 083770 7F04EC40 0C002914 */ jal get_random_value +/* 083774 7F04EC44 AFA80058 */ sw $t0, 0x58($sp) +/* 083778 7F04EC48 24010003 */ li $at, 3 +/* 08377C 7F04EC4C 0041001B */ divu $zero, $v0, $at +/* 083780 7F04EC50 8FA80058 */ lw $t0, 0x58($sp) +/* 083784 7F04EC54 00003010 */ mfhi $a2 +/* 083788 7F04EC58 83A30057 */ lb $v1, 0x57($sp) +/* 08378C 7F04EC5C AFA80010 */ sw $t0, 0x10($sp) +/* 083790 7F04EC60 8E0E0040 */ lw $t6, 0x40($s0) +/* 083794 7F04EC64 24C60011 */ addiu $a2, $a2, 0x11 +/* 083798 7F04EC68 00066400 */ sll $t4, $a2, 0x10 +/* 08379C 7F04EC6C 000C3403 */ sra $a2, $t4, 0x10 +/* 0837A0 7F04EC70 26040010 */ addiu $a0, $s0, 0x10 +/* 0837A4 7F04EC74 2605001C */ addiu $a1, $s0, 0x1c +/* 0837A8 7F04EC78 24070001 */ li $a3, 1 +/* 0837AC 7F04EC7C AFA30018 */ sw $v1, 0x18($sp) +/* 0837B0 7F04EC80 0FC28423 */ jal sub_GAME_7F0A108C +/* 0837B4 7F04EC84 AFAE0014 */ sw $t6, 0x14($sp) +/* 0837B8 7F04EC88 8FB80070 */ lw $t8, 0x70($sp) +/* 0837BC 7F04EC8C 1000003D */ b .L7F04ED84 +/* 0837C0 7F04EC90 8F040018 */ lw $a0, 0x18($t8) +/* 0837C4 7F04EC94 8602003A */ lh $v0, 0x3a($s0) +.L7F04EC98: +/* 0837C8 7F04EC98 00004825 */ move $t1, $zero +/* 0837CC 7F04EC9C 3C0F8005 */ lui $t7, %hi(image_entries) +/* 0837D0 7F04ECA0 04410004 */ bgez $v0, .L7F04ECB4 +/* 0837D4 7F04ECA4 0002C8C0 */ sll $t9, $v0, 3 +/* 0837D8 7F04ECA8 3C088005 */ lui $t0, %hi(D_8004E86C) +/* 0837DC 7F04ECAC 10000008 */ b .L7F04ECD0 +/* 0837E0 7F04ECB0 8D08E86C */ lw $t0, %lo(D_8004E86C)($t0) +.L7F04ECB4: +/* 0837E4 7F04ECB4 01F97821 */ addu $t7, $t7, $t9 +/* 0837E8 7F04ECB8 91EF9300 */ lbu $t7, %lo(image_entries)($t7) +/* 0837EC 7F04ECBC 3C088005 */ lui $t0, %hi(D_8004E86C) +/* 0837F0 7F04ECC0 31EB000F */ andi $t3, $t7, 0xf +/* 0837F4 7F04ECC4 000B6080 */ sll $t4, $t3, 2 +/* 0837F8 7F04ECC8 010C4021 */ addu $t0, $t0, $t4 +/* 0837FC 7F04ECCC 8D08E86C */ lw $t0, %lo(D_8004E86C)($t0) +.L7F04ECD0: +/* 083800 7F04ECD0 AFA80050 */ sw $t0, 0x50($sp) +/* 083804 7F04ECD4 0C002914 */ jal get_random_value +/* 083808 7F04ECD8 A3A9004B */ sb $t1, 0x4b($sp) +/* 08380C 7F04ECDC 8FA80050 */ lw $t0, 0x50($sp) +/* 083810 7F04ECE0 8E2E0014 */ lw $t6, 0x14($s1) +/* 083814 7F04ECE4 3C188004 */ lui $t8, %hi(prop_door_related) +/* 083818 7F04ECE8 850D000A */ lh $t5, 0xa($t0) +/* 08381C 7F04ECEC 8DC30008 */ lw $v1, 8($t6) +/* 083820 7F04ECF0 2718A1DC */ addiu $t8, %lo(prop_door_related) # addiu $t8, $t8, -0x5e24 +/* 083824 7F04ECF4 004D001B */ divu $zero, $v0, $t5 +/* 083828 7F04ECF8 8C640004 */ lw $a0, 4($v1) +/* 08382C 7F04ECFC 00005010 */ mfhi $t2 +/* 083830 7F04ED00 83A9004B */ lb $t1, 0x4b($sp) +/* 083834 7F04ED04 15A00002 */ bnez $t5, .L7F04ED10 +/* 083838 7F04ED08 00000000 */ nop +/* 08383C 7F04ED0C 0007000D */ break 7 +.L7F04ED10: +/* 083840 7F04ED10 2605001C */ addiu $a1, $s0, 0x1c +/* 083844 7F04ED14 17040005 */ bne $t8, $a0, .L7F04ED2C +/* 083848 7F04ED18 24070001 */ li $a3, 1 +/* 08384C 7F04ED1C 8C6F0008 */ lw $t7, 8($v1) +/* 083850 7F04ED20 8E190044 */ lw $t9, 0x44($s0) +/* 083854 7F04ED24 8DEB000C */ lw $t3, 0xc($t7) +/* 083858 7F04ED28 132B0009 */ beq $t9, $t3, .L7F04ED50 +.L7F04ED2C: +/* 08385C 7F04ED2C 3C0C8004 */ lui $t4, %hi(prop_cctv_related) +/* 083860 7F04ED30 258CA05C */ addiu $t4, %lo(prop_cctv_related) # addiu $t4, $t4, -0x5fa4 +/* 083864 7F04ED34 55840008 */ bnel $t4, $a0, .L7F04ED58 +/* 083868 7F04ED38 8D0F0004 */ lw $t7, 4($t0) +/* 08386C 7F04ED3C 8C6E0008 */ lw $t6, 8($v1) +/* 083870 7F04ED40 8E0D0044 */ lw $t5, 0x44($s0) +/* 083874 7F04ED44 8DD80004 */ lw $t8, 4($t6) +/* 083878 7F04ED48 55B80003 */ bnel $t5, $t8, .L7F04ED58 +/* 08387C 7F04ED4C 8D0F0004 */ lw $t7, 4($t0) +.L7F04ED50: +/* 083880 7F04ED50 24090001 */ li $t1, 1 +/* 083884 7F04ED54 8D0F0004 */ lw $t7, 4($t0) +.L7F04ED58: +/* 083888 7F04ED58 8E0B0004 */ lw $t3, 4($s0) +/* 08388C 7F04ED5C 26040010 */ addiu $a0, $s0, 0x10 +/* 083890 7F04ED60 01EAC821 */ addu $t9, $t7, $t2 +/* 083894 7F04ED64 93260000 */ lbu $a2, ($t9) +/* 083898 7F04ED68 AFAB0010 */ sw $t3, 0x10($sp) +/* 08389C 7F04ED6C 8E0C0040 */ lw $t4, 0x40($s0) +/* 0838A0 7F04ED70 AFA90018 */ sw $t1, 0x18($sp) +/* 0838A4 7F04ED74 0FC28423 */ jal sub_GAME_7F0A108C +/* 0838A8 7F04ED78 AFAC0014 */ sw $t4, 0x14($sp) +/* 0838AC 7F04ED7C 8FAE0070 */ lw $t6, 0x70($sp) +/* 0838B0 7F04ED80 8DC40018 */ lw $a0, 0x18($t6) +.L7F04ED84: +/* 0838B4 7F04ED84 0FC177E1 */ jal sub_GAME_7F05DF84 +/* 0838B8 7F04ED88 00000000 */ nop +/* 0838BC 7F04ED8C 92220003 */ lbu $v0, 3($s1) +/* 0838C0 7F04ED90 2401000D */ li $at, 13 +/* 0838C4 7F04ED94 46000086 */ mov.s $f2, $f0 +/* 0838C8 7F04ED98 14410005 */ bne $v0, $at, .L7F04EDB0 +/* 0838CC 7F04ED9C 3C018003 */ lui $at, %hi(D_80030B24) +/* 0838D0 7F04EDA0 C4300B24 */ lwc1 $f16, %lo(D_80030B24)($at) +/* 0838D4 7F04EDA4 46100082 */ mul.s $f2, $f0, $f16 +/* 0838D8 7F04EDA8 1000001B */ b .L7F04EE18 +/* 0838DC 7F04EDAC 00000000 */ nop +.L7F04EDB0: +/* 0838E0 7F04EDB0 24010006 */ li $at, 6 +/* 0838E4 7F04EDB4 14410018 */ bne $v0, $at, .L7F04EE18 +/* 0838E8 7F04EDB8 00000000 */ nop +/* 0838EC 7F04EDBC 8E2D0014 */ lw $t5, 0x14($s1) +/* 0838F0 7F04EDC0 3C188004 */ lui $t8, %hi(prop_cctv_related) +/* 0838F4 7F04EDC4 2718A05C */ addiu $t8, %lo(prop_cctv_related) # addiu $t8, $t8, -0x5fa4 +/* 0838F8 7F04EDC8 8DA30008 */ lw $v1, 8($t5) +/* 0838FC 7F04EDCC 8C6F0004 */ lw $t7, 4($v1) +/* 083900 7F04EDD0 170F000D */ bne $t8, $t7, .L7F04EE08 +/* 083904 7F04EDD4 00000000 */ nop +/* 083908 7F04EDD8 8C6B0008 */ lw $t3, 8($v1) +/* 08390C 7F04EDDC 8E190044 */ lw $t9, 0x44($s0) +/* 083910 7F04EDE0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 083914 7F04EDE4 8D6C0004 */ lw $t4, 4($t3) +/* 083918 7F04EDE8 172C0007 */ bne $t9, $t4, .L7F04EE08 +/* 08391C 7F04EDEC 00000000 */ nop +/* 083920 7F04EDF0 44812000 */ mtc1 $at, $f4 +/* 083924 7F04EDF4 02202025 */ move $a0, $s1 +/* 083928 7F04EDF8 46041082 */ mul.s $f2, $f2, $f4 +/* 08392C 7F04EDFC 0FC13786 */ jal sub_GAME_7F04DE18 +/* 083930 7F04EE00 E7A20044 */ swc1 $f2, 0x44($sp) +/* 083934 7F04EE04 C7A20044 */ lwc1 $f2, 0x44($sp) +.L7F04EE08: +/* 083938 7F04EE08 3C018003 */ lui $at, %hi(D_80030B18) +/* 08393C 7F04EE0C C4280B18 */ lwc1 $f8, %lo(D_80030B18)($at) +/* 083940 7F04EE10 46081082 */ mul.s $f2, $f2, $f8 +/* 083944 7F04EE14 00000000 */ nop +.L7F04EE18: +/* 083948 7F04EE18 0FC26C54 */ jal get_cur_playernum +/* 08394C 7F04EE1C E7A20044 */ swc1 $f2, 0x44($sp) +/* 083950 7F04EE20 C7A20044 */ lwc1 $f2, 0x44($sp) +/* 083954 7F04EE24 8FAE0070 */ lw $t6, 0x70($sp) +/* 083958 7F04EE28 02202025 */ move $a0, $s1 +/* 08395C 7F04EE2C 44051000 */ mfc1 $a1, $f2 +/* 083960 7F04EE30 8DC70018 */ lw $a3, 0x18($t6) +/* 083964 7F04EE34 AFA20010 */ sw $v0, 0x10($sp) +/* 083968 7F04EE38 0FC13833 */ jal sub_GAME_7F04E0CC +/* 08396C 7F04EE3C 27A60060 */ addiu $a2, $sp, 0x60 +/* 083970 7F04EE40 8E380014 */ lw $t8, 0x14($s1) +/* 083974 7F04EE44 3C0D8004 */ lui $t5, %hi(prop_door_related) +/* 083978 7F04EE48 25ADA1DC */ addiu $t5, %lo(prop_door_related) # addiu $t5, $t5, -0x5e24 +/* 08397C 7F04EE4C 8F0F0008 */ lw $t7, 8($t8) +/* 083980 7F04EE50 8DEB0004 */ lw $t3, 4($t7) +/* 083984 7F04EE54 15AB000D */ bne $t5, $t3, .L7F04EE8C +/* 083988 7F04EE58 00000000 */ nop +/* 08398C 7F04EE5C 8E19004C */ lw $t9, 0x4c($s0) +/* 083990 7F04EE60 1720000A */ bnez $t9, .L7F04EE8C +/* 083994 7F04EE64 00000000 */ nop +/* 083998 7F04EE68 822C00BD */ lb $t4, 0xbd($s1) +/* 08399C 7F04EE6C 258E0001 */ addiu $t6, $t4, 1 +/* 0839A0 7F04EE70 A22E00BD */ sb $t6, 0xbd($s1) +/* 0839A4 7F04EE74 823800BD */ lb $t8, 0xbd($s1) +/* 0839A8 7F04EE78 2B010003 */ slti $at, $t8, 3 +/* 0839AC 7F04EE7C 14200003 */ bnez $at, .L7F04EE8C +/* 0839B0 7F04EE80 00000000 */ nop +/* 0839B4 7F04EE84 0FC1375A */ jal sub_GAME_7F04DD68 +/* 0839B8 7F04EE88 02202025 */ move $a0, $s1 +.L7F04EE8C: +/* 0839BC 7F04EE8C 0FC11080 */ jal sub_GAME_7F044200 +/* 0839C0 7F04EE90 8E040004 */ lw $a0, 4($s0) +/* 0839C4 7F04EE94 00008025 */ move $s0, $zero +/* 0839C8 7F04EE98 0FC13803 */ jal check_if_collectable_object +/* 0839CC 7F04EE9C 02202025 */ move $a0, $s1 +/* 0839D0 7F04EEA0 50400008 */ beql $v0, $zero, .L7F04EEC4 +/* 0839D4 7F04EEA4 8E2B0008 */ lw $t3, 8($s1) +/* 0839D8 7F04EEA8 8E2F0008 */ lw $t7, 8($s1) +/* 0839DC 7F04EEAC 000F6A40 */ sll $t5, $t7, 9 +/* 0839E0 7F04EEB0 05A20009 */ bltzl $t5, .L7F04EED8 +/* 0839E4 7F04EEB4 8E2C000C */ lw $t4, 0xc($s1) +/* 0839E8 7F04EEB8 10000006 */ b .L7F04EED4 +/* 0839EC 7F04EEBC 24100001 */ li $s0, 1 +/* 0839F0 7F04EEC0 8E2B0008 */ lw $t3, 8($s1) +.L7F04EEC4: +/* 0839F4 7F04EEC4 000BCA80 */ sll $t9, $t3, 0xa +/* 0839F8 7F04EEC8 07230003 */ bgezl $t9, .L7F04EED8 +/* 0839FC 7F04EECC 8E2C000C */ lw $t4, 0xc($s1) +/* 083A00 7F04EED0 24100001 */ li $s0, 1 +.L7F04EED4: +/* 083A04 7F04EED4 8E2C000C */ lw $t4, 0xc($s1) +.L7F04EED8: +/* 083A08 7F04EED8 318E0002 */ andi $t6, $t4, 2 +/* 083A0C 7F04EEDC 51C00007 */ beql $t6, $zero, .L7F04EEFC +/* 083A10 7F04EEE0 8E38000C */ lw $t8, 0xc($s1) +/* 083A14 7F04EEE4 0FC13BCD */ jal check_if_object_has_not_been_destroyed +/* 083A18 7F04EEE8 02202025 */ move $a0, $s1 +/* 083A1C 7F04EEEC 54400003 */ bnezl $v0, .L7F04EEFC +/* 083A20 7F04EEF0 8E38000C */ lw $t8, 0xc($s1) +/* 083A24 7F04EEF4 24100001 */ li $s0, 1 +/* 083A28 7F04EEF8 8E38000C */ lw $t8, 0xc($s1) +.L7F04EEFC: +/* 083A2C 7F04EEFC 8FA50070 */ lw $a1, 0x70($sp) +/* 083A30 7F04EF00 330F0400 */ andi $t7, $t8, 0x400 +/* 083A34 7F04EF04 11E00002 */ beqz $t7, .L7F04EF10 +/* 083A38 7F04EF08 24A5000C */ addiu $a1, $a1, 0xc +/* 083A3C 7F04EF0C 00008025 */ move $s0, $zero +.L7F04EF10: +/* 083A40 7F04EF10 52000004 */ beql $s0, $zero, .L7F04EF24 +/* 083A44 7F04EF14 8FBF002C */ lw $ra, 0x2c($sp) +/* 083A48 7F04EF18 0FC12F37 */ jal sub_GAME_7F04BCDC +/* 083A4C 7F04EF1C 02202025 */ move $a0, $s1 +/* 083A50 7F04EF20 8FBF002C */ lw $ra, 0x2c($sp) +.L7F04EF24: +/* 083A54 7F04EF24 8FB00024 */ lw $s0, 0x24($sp) +/* 083A58 7F04EF28 8FB10028 */ lw $s1, 0x28($sp) +/* 083A5C 7F04EF2C 03E00008 */ jr $ra +/* 083A60 7F04EF30 27BD0070 */ addiu $sp, $sp, 0x70 +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_object_has_not_been_destroyed(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_if_object_has_not_been_destroyed +/* 083A64 7F04EF34 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 083A68 7F04EF38 AFBF0014 */ sw $ra, 0x14($sp) +/* 083A6C 7F04EF3C 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 083A70 7F04EF40 00000000 */ nop +/* 083A74 7F04EF44 8FBF0014 */ lw $ra, 0x14($sp) +/* 083A78 7F04EF48 2C4E0001 */ sltiu $t6, $v0, 1 +/* 083A7C 7F04EF4C 01C01025 */ move $v0, $t6 +/* 083A80 7F04EF50 03E00008 */ jr $ra +/* 083A84 7F04EF54 27BD0018 */ addiu $sp, $sp, 0x18 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04EF58(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80052EF4 +.word 0x481c4000 /*160000.0*/ +glabel D_80052EF8 +.word 0x40060a92 /*2.0943952*/ +glabel D_80052EFC +.word 0x471c4000 /*40000.0*/ +glabel D_80052F00 +.word 0x3ec90fdb /*0.39269909*/ +glabel D_80052F04 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80052F08 +.word 0x40490fdb /*3.1415927*/ +glabel D_80052F0C +.word 0x40c90fdb /*6.2831855*/ +.text +glabel sub_GAME_7F04EF58 +/* 083A88 7F04EF58 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 083A8C 7F04EF5C AFBF001C */ sw $ra, 0x1c($sp) +/* 083A90 7F04EF60 8C850004 */ lw $a1, 4($a0) +/* 083A94 7F04EF64 24010005 */ li $at, 5 +/* 083A98 7F04EF68 00803025 */ move $a2, $a0 +/* 083A9C 7F04EF6C 90AE0003 */ lbu $t6, 3($a1) +/* 083AA0 7F04EF70 51C1000A */ beql $t6, $at, .L7F04EF9C +/* 083AA4 7F04EF74 90C90001 */ lbu $t1, 1($a2) +/* 083AA8 7F04EF78 8CAF0008 */ lw $t7, 8($a1) +/* 083AAC 7F04EF7C 000FC300 */ sll $t8, $t7, 0xc +/* 083AB0 7F04EF80 07020006 */ bltzl $t8, .L7F04EF9C +/* 083AB4 7F04EF84 90C90001 */ lbu $t1, 1($a2) +/* 083AB8 7F04EF88 8CB90064 */ lw $t9, 0x64($a1) +/* 083ABC 7F04EF8C 33280013 */ andi $t0, $t9, 0x13 +/* 083AC0 7F04EF90 51000073 */ beql $t0, $zero, .L7F04F160 +/* 083AC4 7F04EF94 8FBF001C */ lw $ra, 0x1c($sp) +/* 083AC8 7F04EF98 90C90001 */ lbu $t1, 1($a2) +.L7F04EF9C: +/* 083ACC 7F04EF9C 00A02025 */ move $a0, $a1 +/* 083AD0 7F04EFA0 312A0002 */ andi $t2, $t1, 2 +/* 083AD4 7F04EFA4 5140006E */ beql $t2, $zero, .L7F04F160 +/* 083AD8 7F04EFA8 8FBF001C */ lw $ra, 0x1c($sp) +/* 083ADC 7F04EFAC AFA50050 */ sw $a1, 0x50($sp) +/* 083AE0 7F04EFB0 0FC13BCD */ jal check_if_object_has_not_been_destroyed +/* 083AE4 7F04EFB4 AFA60058 */ sw $a2, 0x58($sp) +/* 083AE8 7F04EFB8 10400068 */ beqz $v0, .L7F04F15C +/* 083AEC 7F04EFBC 8FA50050 */ lw $a1, 0x50($sp) +/* 083AF0 7F04EFC0 8CAB0008 */ lw $t3, 8($a1) +/* 083AF4 7F04EFC4 000B6180 */ sll $t4, $t3, 6 +/* 083AF8 7F04EFC8 05820065 */ bltzl $t4, .L7F04F160 +/* 083AFC 7F04EFCC 8FBF001C */ lw $ra, 0x1c($sp) +/* 083B00 7F04EFD0 0FC225E6 */ jal get_curplayer_positiondata +/* 083B04 7F04EFD4 AFA50050 */ sw $a1, 0x50($sp) +/* 083B08 7F04EFD8 8FA50050 */ lw $a1, 0x50($sp) +/* 083B0C 7F04EFDC C4460008 */ lwc1 $f6, 8($v0) +/* 083B10 7F04EFE0 C44A000C */ lwc1 $f10, 0xc($v0) +/* 083B14 7F04EFE4 C4A40058 */ lwc1 $f4, 0x58($a1) +/* 083B18 7F04EFE8 C4A8005C */ lwc1 $f8, 0x5c($a1) +/* 083B1C 7F04EFEC 8C4D0014 */ lw $t5, 0x14($v0) +/* 083B20 7F04EFF0 46062301 */ sub.s $f12, $f4, $f6 +/* 083B24 7F04EFF4 C4460010 */ lwc1 $f6, 0x10($v0) +/* 083B28 7F04EFF8 C4A40060 */ lwc1 $f4, 0x60($a1) +/* 083B2C 7F04EFFC 460A4401 */ sub.s $f16, $f8, $f10 +/* 083B30 7F04F000 460C6202 */ mul.s $f8, $f12, $f12 +/* 083B34 7F04F004 AFAD002C */ sw $t5, 0x2c($sp) +/* 083B38 7F04F008 46062381 */ sub.s $f14, $f4, $f6 +/* 083B3C 7F04F00C 90AE0003 */ lbu $t6, 3($a1) +/* 083B40 7F04F010 24010028 */ li $at, 40 +/* 083B44 7F04F014 00401825 */ move $v1, $v0 +/* 083B48 7F04F018 460E7282 */ mul.s $f10, $f14, $f14 +/* 083B4C 7F04F01C 55C1000D */ bnel $t6, $at, .L7F04F054 +/* 083B50 7F04F020 3C014348 */ lui $at, 0x4348 +/* 083B54 7F04F024 8CAF0008 */ lw $t7, 8($a1) +/* 083B58 7F04F028 3C0143C8 */ lui $at, 0x43c8 +/* 083B5C 7F04F02C 000FC080 */ sll $t8, $t7, 2 +/* 083B60 7F04F030 07030008 */ bgezl $t8, .L7F04F054 +/* 083B64 7F04F034 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 083B68 7F04F038 44810000 */ mtc1 $at, $f0 +/* 083B6C 7F04F03C 3C018005 */ lui $at, %hi(D_80052EF4) +/* 083B70 7F04F040 C4222EF4 */ lwc1 $f2, %lo(D_80052EF4)($at) +/* 083B74 7F04F044 3C018005 */ lui $at, %hi(D_80052EF8) +/* 083B78 7F04F048 10000007 */ b .L7F04F068 +/* 083B7C 7F04F04C C4322EF8 */ lwc1 $f18, %lo(D_80052EF8)($at) +/* 083B80 7F04F050 3C014348 */ li $at, 0x43480000 # 200.000000 +.L7F04F054: +/* 083B84 7F04F054 44810000 */ mtc1 $at, $f0 +/* 083B88 7F04F058 3C018005 */ lui $at, %hi(D_80052EFC) +/* 083B8C 7F04F05C C4222EFC */ lwc1 $f2, %lo(D_80052EFC)($at) +/* 083B90 7F04F060 3C018005 */ lui $at, %hi(D_80052F00) +/* 083B94 7F04F064 C4322F00 */ lwc1 $f18, %lo(D_80052F00)($at) +.L7F04F068: +/* 083B98 7F04F068 460A4100 */ add.s $f4, $f8, $f10 +/* 083B9C 7F04F06C 4602203C */ c.lt.s $f4, $f2 +/* 083BA0 7F04F070 00000000 */ nop +/* 083BA4 7F04F074 4502003A */ bc1fl .L7F04F160 +/* 083BA8 7F04F078 8FBF001C */ lw $ra, 0x1c($sp) +/* 083BAC 7F04F07C 4600803C */ c.lt.s $f16, $f0 +/* 083BB0 7F04F080 00000000 */ nop +/* 083BB4 7F04F084 45020036 */ bc1fl .L7F04F160 +/* 083BB8 7F04F088 8FBF001C */ lw $ra, 0x1c($sp) +/* 083BBC 7F04F08C 46000187 */ neg.s $f6, $f0 +/* 083BC0 7F04F090 4610303C */ c.lt.s $f6, $f16 +/* 083BC4 7F04F094 00000000 */ nop +/* 083BC8 7F04F098 45020031 */ bc1fl .L7F04F160 +/* 083BCC 7F04F09C 8FBF001C */ lw $ra, 0x1c($sp) +/* 083BD0 7F04F0A0 AFA3004C */ sw $v1, 0x4c($sp) +/* 083BD4 7F04F0A4 AFA50050 */ sw $a1, 0x50($sp) +/* 083BD8 7F04F0A8 0FC16A8C */ jal convert_angle_using_inverse +/* 083BDC 7F04F0AC E7B20030 */ swc1 $f18, 0x30($sp) +/* 083BE0 7F04F0B0 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees +/* 083BE4 7F04F0B4 E7A00024 */ swc1 $f0, 0x24($sp) +/* 083BE8 7F04F0B8 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* 083BEC 7F04F0BC 8FA3004C */ lw $v1, 0x4c($sp) +/* 083BF0 7F04F0C0 8FA50050 */ lw $a1, 0x50($sp) +/* 083BF4 7F04F0C4 4600603C */ c.lt.s $f12, $f0 +/* 083BF8 7F04F0C8 C7B20030 */ lwc1 $f18, 0x30($sp) +/* 083BFC 7F04F0CC 46006381 */ sub.s $f14, $f12, $f0 +/* 083C00 7F04F0D0 3C018005 */ lui $at, %hi(D_80052F04) +/* 083C04 7F04F0D4 45000003 */ bc1f .L7F04F0E4 +/* 083C08 7F04F0D8 46007086 */ mov.s $f2, $f14 +/* 083C0C 7F04F0DC C4282F04 */ lwc1 $f8, %lo(D_80052F04)($at) +/* 083C10 7F04F0E0 46087080 */ add.s $f2, $f14, $f8 +.L7F04F0E4: +/* 083C14 7F04F0E4 3C018005 */ lui $at, %hi(D_80052F08) +/* 083C18 7F04F0E8 C42A2F08 */ lwc1 $f10, %lo(D_80052F08)($at) +/* 083C1C 7F04F0EC 3C018005 */ lui $at, %hi(D_80052F0C) +/* 083C20 7F04F0F0 4602503C */ c.lt.s $f10, $f2 +/* 083C24 7F04F0F4 00000000 */ nop +/* 083C28 7F04F0F8 45020004 */ bc1fl .L7F04F10C +/* 083C2C 7F04F0FC 4612103E */ c.le.s $f2, $f18 +/* 083C30 7F04F100 C4242F0C */ lwc1 $f4, %lo(D_80052F0C)($at) +/* 083C34 7F04F104 46022081 */ sub.s $f2, $f4, $f2 +/* 083C38 7F04F108 4612103E */ c.le.s $f2, $f18 +.L7F04F10C: +/* 083C3C 7F04F10C 00000000 */ nop +/* 083C40 7F04F110 45020013 */ bc1fl .L7F04F160 +/* 083C44 7F04F114 8FBF001C */ lw $ra, 0x1c($sp) +/* 083C48 7F04F118 8CB9000C */ lw $t9, 0xc($a1) +/* 083C4C 7F04F11C 8FA20058 */ lw $v0, 0x58($sp) +/* 083C50 7F04F120 27A4002C */ addiu $a0, $sp, 0x2c +/* 083C54 7F04F124 33280800 */ andi $t0, $t9, 0x800 +/* 083C58 7F04F128 5100000A */ beql $t0, $zero, .L7F04F154 +/* 083C5C 7F04F12C 8FA90058 */ lw $t1, 0x58($sp) +/* 083C60 7F04F130 C4460010 */ lwc1 $f6, 0x10($v0) +/* 083C64 7F04F134 8C650008 */ lw $a1, 8($v1) +/* 083C68 7F04F138 8C660010 */ lw $a2, 0x10($v1) +/* 083C6C 7F04F13C 8C470008 */ lw $a3, 8($v0) +/* 083C70 7F04F140 0FC2C2F9 */ jal sub_GAME_7F0B0BE4 +/* 083C74 7F04F144 E7A60010 */ swc1 $f6, 0x10($sp) +/* 083C78 7F04F148 50400005 */ beql $v0, $zero, .L7F04F160 +/* 083C7C 7F04F14C 8FBF001C */ lw $ra, 0x1c($sp) +/* 083C80 7F04F150 8FA90058 */ lw $t1, 0x58($sp) +.L7F04F154: +/* 083C84 7F04F154 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) +/* 083C88 7F04F158 AC291DF8 */ sw $t1, %lo(dword_CODE_bss_80071DF8)($at) +.L7F04F15C: +/* 083C8C 7F04F15C 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04F160: +/* 083C90 7F04F160 27BD0058 */ addiu $sp, $sp, 0x58 +/* 083C94 7F04F164 24020001 */ li $v0, 1 +/* 083C98 7F04F168 03E00008 */ jr $ra +/* 083C9C 7F04F16C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04F170(void) { + +} +#else +GLOBAL_ASM( +.late_rodata + + +.text +glabel sub_GAME_7F04F170 +/* 083CA0 7F04F170 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 083CA4 7F04F174 AFBF001C */ sw $ra, 0x1c($sp) +/* 083CA8 7F04F178 AFB00018 */ sw $s0, 0x18($sp) +/* 083CAC 7F04F17C AFA40028 */ sw $a0, 0x28($sp) +/* 083CB0 7F04F180 8C900004 */ lw $s0, 4($a0) +/* 083CB4 7F04F184 AFA00020 */ sw $zero, 0x20($sp) +/* 083CB8 7F04F188 24010005 */ li $at, 5 +/* 083CBC 7F04F18C 920F0003 */ lbu $t7, 3($s0) +/* 083CC0 7F04F190 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 083CC4 7F04F194 240500BA */ li $a1, 186 +/* 083CC8 7F04F198 15E1000D */ bne $t7, $at, .L7F04F1D0 +/* 083CCC 7F04F19C 00003025 */ move $a2, $zero +/* 083CD0 7F04F1A0 0C002382 */ jal play_sfx_a1 +/* 083CD4 7F04F1A4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 083CD8 7F04F1A8 0FC15794 */ jal is_alarm_on +/* 083CDC 7F04F1AC 00000000 */ nop +/* 083CE0 7F04F1B0 10400005 */ beqz $v0, .L7F04F1C8 +/* 083CE4 7F04F1B4 00000000 */ nop +/* 083CE8 7F04F1B8 0FC1578B */ jal stop_alarm +/* 083CEC 7F04F1BC 00000000 */ nop +/* 083CF0 7F04F1C0 10000004 */ b .L7F04F1D4 +/* 083CF4 7F04F1C4 8E180008 */ lw $t8, 8($s0) +.L7F04F1C8: +/* 083CF8 7F04F1C8 0FC15772 */ jal start_alarm +/* 083CFC 7F04F1CC 00000000 */ nop +.L7F04F1D0: +/* 083D00 7F04F1D0 8E180008 */ lw $t8, 8($s0) +.L7F04F1D4: +/* 083D04 7F04F1D4 8FA40028 */ lw $a0, 0x28($sp) +/* 083D08 7F04F1D8 0018CB00 */ sll $t9, $t8, 0xc +/* 083D0C 7F04F1DC 07230005 */ bgezl $t9, .L7F04F1F4 +/* 083D10 7F04F1E0 8E080064 */ lw $t0, 0x64($s0) +/* 083D14 7F04F1E4 0FC14094 */ jal collect_or_interact_object +/* 083D18 7F04F1E8 24050001 */ li $a1, 1 +/* 083D1C 7F04F1EC AFA20020 */ sw $v0, 0x20($sp) +/* 083D20 7F04F1F0 8E080064 */ lw $t0, 0x64($s0) +.L7F04F1F4: +/* 083D24 7F04F1F4 35094000 */ ori $t1, $t0, 0x4000 +/* 083D28 7F04F1F8 AE090064 */ sw $t1, 0x64($s0) +/* 083D2C 7F04F1FC 0FC0F9A8 */ jal sub_GAME_7F03E6A0 +/* 083D30 7F04F200 8FA40028 */ lw $a0, 0x28($sp) +/* 083D34 7F04F204 8FBF001C */ lw $ra, 0x1c($sp) +/* 083D38 7F04F208 8FA20020 */ lw $v0, 0x20($sp) +/* 083D3C 7F04F20C 8FB00018 */ lw $s0, 0x18($sp) +/* 083D40 7F04F210 03E00008 */ jr $ra +/* 083D44 7F04F214 27BD0028 */ addiu $sp, $sp, 0x28 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04F218(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04F218 +/* 083D48 7F04F218 10A00005 */ beqz $a1, .L7F04F230 +/* 083D4C 7F04F21C 8C820004 */ lw $v0, 4($a0) +/* 083D50 7F04F220 904E0002 */ lbu $t6, 2($v0) +/* 083D54 7F04F224 31CFFFDF */ andi $t7, $t6, 0xffdf +/* 083D58 7F04F228 03E00008 */ jr $ra +/* 083D5C 7F04F22C A04F0002 */ sb $t7, 2($v0) + +.L7F04F230: +/* 083D60 7F04F230 90580002 */ lbu $t8, 2($v0) +/* 083D64 7F04F234 37190020 */ ori $t9, $t8, 0x20 +/* 083D68 7F04F238 A0590002 */ sb $t9, 2($v0) +/* 083D6C 7F04F23C 03E00008 */ jr $ra +/* 083D70 7F04F240 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F04F244(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F04F244 +/* 083D74 7F04F244 8C820004 */ lw $v0, 4($a0) +/* 083D78 7F04F248 8C430068 */ lw $v1, 0x68($v0) +/* 083D7C 7F04F24C 50600017 */ beql $v1, $zero, .L7F04F2AC +/* 083D80 7F04F250 ACC00000 */ sw $zero, ($a2) +/* 083D84 7F04F254 8C4E0008 */ lw $t6, 8($v0) +/* 083D88 7F04F258 31CF0100 */ andi $t7, $t6, 0x100 +/* 083D8C 7F04F25C 51E00013 */ beql $t7, $zero, .L7F04F2AC +/* 083D90 7F04F260 ACC00000 */ sw $zero, ($a2) +/* 083D94 7F04F264 90580002 */ lbu $t8, 2($v0) +/* 083D98 7F04F268 33190020 */ andi $t9, $t8, 0x20 +/* 083D9C 7F04F26C 5720000F */ bnezl $t9, .L7F04F2AC +/* 083DA0 7F04F270 ACC00000 */ sw $zero, ($a2) +/* 083DA4 7F04F274 8C680000 */ lw $t0, ($v1) +/* 083DA8 7F04F278 ACC80000 */ sw $t0, ($a2) +/* 083DAC 7F04F27C 8C490068 */ lw $t1, 0x68($v0) +/* 083DB0 7F04F280 252A0004 */ addiu $t2, $t1, 4 +/* 083DB4 7F04F284 ACAA0000 */ sw $t2, ($a1) +/* 083DB8 7F04F288 8C4B0068 */ lw $t3, 0x68($v0) +/* 083DBC 7F04F28C 8FAC0010 */ lw $t4, 0x10($sp) +/* 083DC0 7F04F290 C5640048 */ lwc1 $f4, 0x48($t3) +/* 083DC4 7F04F294 E5840000 */ swc1 $f4, ($t4) +/* 083DC8 7F04F298 8C4D0068 */ lw $t5, 0x68($v0) +/* 083DCC 7F04F29C C5A60044 */ lwc1 $f6, 0x44($t5) +/* 083DD0 7F04F2A0 03E00008 */ jr $ra +/* 083DD4 7F04F2A4 E4E60000 */ swc1 $f6, ($a3) + +/* 083DD8 7F04F2A8 ACC00000 */ sw $zero, ($a2) +.L7F04F2AC: +/* 083DDC 7F04F2AC 03E00008 */ jr $ra +/* 083DE0 7F04F2B0 00000000 */ nop +) +#endif + + + + + + +void append_text_picked_up(u8 *buffer,u8 * param2,u8 * param3) +{ + u8 *puVar1; + + puVar1 = get_textptr_for_textID(0xa400); + string_append_from_obseg_textbank(buffer,puVar1); + return; +} + + + + + +void append_text_ammo_amount_word(u8 *buffer,AMMOTYPES ammotype,u32 amount) + +{ + u8 *textfiletext; + + switch(ammotype) { + case AMMO_9MM: + case AMMO_9MM_2: + case AMMO_RIFLE: + case AMMO_PLASTIQUE: + textfiletext = get_textptr_for_textID(0xa401); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_SHOTGUN: + case AMMO_GRENADE: + case AMMO_ROCKETS: + case AMMO_REMOTEMINE: + case AMMO_PROXMINE: + case AMMO_TIMEDMINE: + case AMMO_KNIFE: + case AMMO_GRENADEROUND: + case AMMO_MAGNUM: + case AMMO_GGUN: + case AMMO_DARTS: + case AMMO_FLARE: + case AMMO_PITON: + case AMMO_DYNAMITE: + case AMMO_BUG: + case AMMO_MICRO_CAMERA: + if (amount == 1) { + textfiletext = get_textptr_for_textID(0xa402); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + textfiletext = get_textptr_for_textID(0xa401); + string_append_from_obseg_textbank(buffer,textfiletext); + } + break; + case AMMO_EXPLOSIVEPEN: + case AMMO_BOMBCASE: + if (amount == 1) { + textfiletext = get_textptr_for_textID(0xa403); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + textfiletext = get_textptr_for_textID(0xa401); + string_append_from_obseg_textbank(buffer,textfiletext); + } + break; + case AMMO_GEKEY: + case AMMO_TOKEN: + if (amount == 1) { + textfiletext = get_textptr_for_textID(0xa404); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + textfiletext = get_textptr_for_textID(0xa401); + string_append_from_obseg_textbank(buffer,textfiletext); + } + } + return; +} + + + + + + + +#ifdef NONMATCHING// +void apped_text_ammotype(u8 *buffer,AMMOTYPES ammotype,u32 amount) +{ + u8 *textfiletext; + + if (((ammotype == AMMO_9MM) || (ammotype == AMMO_9MM_2)) || (ammotype == AMMO_RIFLE)) { + textfiletext = get_textptr_for_textID(0xa405); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + if (ammotype == AMMO_KNIFE) { + textfiletext = get_textptr_for_textID(41999); + string_append_from_obseg_textbank(buffer,textfiletext); + if (amount == 1) { + textfiletext = get_textptr_for_textID(42000); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + textfiletext = get_textptr_for_textID(0xa411); + string_append_from_obseg_textbank(buffer,textfiletext); + } + } + else { + if (ammotype == AMMO_DYNAMITE) { + if (amount == 1) { + textfiletext = get_textptr_for_textID(0xa419); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + textfiletext = get_textptr_for_textID(0xa41a); + string_append_from_obseg_textbank(buffer,textfiletext); + } + textfiletext = get_textptr_for_textID(0xa418); + string_append_from_obseg_textbank(buffer,textfiletext); + } + else { + switch(ammotype) { + case AMMO_SHOTGUN: + textfiletext = get_textptr_for_textID(0xa406); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_GRENADE: + textfiletext = get_textptr_for_textID(0xa409); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_ROCKETS: + textfiletext = get_textptr_for_textID(0xa40b); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_REMOTEMINE: + textfiletext = get_textptr_for_textID(0xa40c); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_PROXMINE: + textfiletext = get_textptr_for_textID(0xa40d); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_TIMEDMINE: + textfiletext = get_textptr_for_textID(0xa40e); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_GRENADEROUND: + textfiletext = get_textptr_for_textID(0xa40a); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_MAGNUM: + textfiletext = get_textptr_for_textID(0xa407); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_GGUN: + textfiletext = get_textptr_for_textID(0xa408); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_DARTS: + textfiletext = get_textptr_for_textID(0xa413); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_EXPLOSIVEPEN: + textfiletext = get_textptr_for_textID(0xa414); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_BOMBCASE: + textfiletext = get_textptr_for_textID(0xa415); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_FLARE: + textfiletext = get_textptr_for_textID(0xa416); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_PITON: + textfiletext = get_textptr_for_textID(0xa417); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_BUG: + textfiletext = get_textptr_for_textID(0xa41b); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_MICRO_CAMERA: + textfiletext = get_textptr_for_textID(0xa41c); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_GEKEY: + textfiletext = get_textptr_for_textID(0xa41d); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_PLASTIQUE: + textfiletext = get_textptr_for_textID(0xa41f); + string_append_from_obseg_textbank(buffer,textfiletext); + break; + case AMMO_TOKEN: + textfiletext = get_textptr_for_textID(0xa41e); + string_append_from_obseg_textbank(buffer,textfiletext); + } + if (1 < (int)amount) { + textfiletext = get_textptr_for_textID(0xa412); + string_append_from_obseg_textbank(buffer,textfiletext); + } + } + } + } + return; +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80052F84*/ +glabel jpt_80052F84 +.word text_pickup_shotgun_cartridge +.word text_pickup_hand_grenade +.word text_pickup_rocket +.word text_pickup_remote_mine +.word text_pickup_proximity_mine +.word text_pickup_timed_mine +.word pluralize_multiples +.word text_pickup_grenade_round +.word text_pickup_magnum_bullet +.word text_pickup_golden_bullet +.word text_pickup_dart +.word text_pickup_explosive_pen +.word text_pickup_explosive_case +.word text_pickup_flare +.word text_pickup_piton +.word pluralize_multiples +.word text_pickup_bug +.word text_pickup_micro_camera +.word text_pickup_goldeneye_key +.word text_pickup_plastique +.word pluralize_multiples +.word pluralize_multiples +.word pluralize_multiples +.word pluralize_multiples +.word pluralize_multiples +.word text_pickup_token + + + +.text +glabel apped_text_ammotype +/* 083F3C 7F04F40C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 083F40 7F04F410 AFB00018 */ sw $s0, 0x18($sp) +/* 083F44 7F04F414 24020001 */ li $v0, 1 +/* 083F48 7F04F418 00808025 */ move $s0, $a0 +/* 083F4C 7F04F41C AFBF001C */ sw $ra, 0x1c($sp) +/* 083F50 7F04F420 10A20006 */ beq $a1, $v0, .L7F04F43C +/* 083F54 7F04F424 AFA60028 */ sw $a2, 0x28($sp) +/* 083F58 7F04F428 24010002 */ li $at, 2 +/* 083F5C 7F04F42C 10A10003 */ beq $a1, $at, .L7F04F43C +/* 083F60 7F04F430 24010003 */ li $at, 3 +/* 083F64 7F04F434 54A10009 */ bnel $a1, $at, .L7F04F45C +/* 083F68 7F04F438 2401000A */ li $at, 10 +.L7F04F43C: +/* 083F6C 7F04F43C 0FC30776 */ jal get_textptr_for_textID +/* 083F70 7F04F440 3404A405 */ li $a0, 41989 +/* 083F74 7F04F444 02002025 */ move $a0, $s0 +/* 083F78 7F04F448 0C0029FF */ jal string_append_from_obseg_textbank +/* 083F7C 7F04F44C 00402825 */ move $a1, $v0 +/* 083F80 7F04F450 100000C9 */ b .L7F04F778 +/* 083F84 7F04F454 8FBF001C */ lw $ra, 0x1c($sp) +/* 083F88 7F04F458 2401000A */ li $at, 10 +.L7F04F45C: +/* 083F8C 7F04F45C 54A10019 */ bnel $a1, $at, .L7F04F4C4 +/* 083F90 7F04F460 24010013 */ li $at, 19 +/* 083F94 7F04F464 0FC30776 */ jal get_textptr_for_textID +/* 083F98 7F04F468 3404A40F */ li $a0, 41999 +/* 083F9C 7F04F46C 02002025 */ move $a0, $s0 +/* 083FA0 7F04F470 0C0029FF */ jal string_append_from_obseg_textbank +/* 083FA4 7F04F474 00402825 */ move $a1, $v0 +/* 083FA8 7F04F478 8FAE0028 */ lw $t6, 0x28($sp) +/* 083FAC 7F04F47C 24010001 */ li $at, 1 +/* 083FB0 7F04F480 15C10008 */ bne $t6, $at, .L7F04F4A4 +/* 083FB4 7F04F484 00000000 */ nop +/* 083FB8 7F04F488 0FC30776 */ jal get_textptr_for_textID +/* 083FBC 7F04F48C 3404A410 */ li $a0, 42000 +/* 083FC0 7F04F490 02002025 */ move $a0, $s0 +/* 083FC4 7F04F494 0C0029FF */ jal string_append_from_obseg_textbank +/* 083FC8 7F04F498 00402825 */ move $a1, $v0 +/* 083FCC 7F04F49C 100000B6 */ b .L7F04F778 +/* 083FD0 7F04F4A0 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04F4A4: +/* 083FD4 7F04F4A4 0FC30776 */ jal get_textptr_for_textID +/* 083FD8 7F04F4A8 3404A411 */ li $a0, 42001 +/* 083FDC 7F04F4AC 02002025 */ move $a0, $s0 +/* 083FE0 7F04F4B0 0C0029FF */ jal string_append_from_obseg_textbank +/* 083FE4 7F04F4B4 00402825 */ move $a1, $v0 +/* 083FE8 7F04F4B8 100000AF */ b .L7F04F778 +/* 083FEC 7F04F4BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 083FF0 7F04F4C0 24010013 */ li $at, 19 +.L7F04F4C4: +/* 083FF4 7F04F4C4 14A10017 */ bne $a1, $at, .L7F04F524 +/* 083FF8 7F04F4C8 24B8FFFC */ addiu $t8, $a1, -4 +/* 083FFC 7F04F4CC 8FAF0028 */ lw $t7, 0x28($sp) +/* 084000 7F04F4D0 15E20008 */ bne $t7, $v0, .L7F04F4F4 +/* 084004 7F04F4D4 00000000 */ nop +/* 084008 7F04F4D8 0FC30776 */ jal get_textptr_for_textID +/* 08400C 7F04F4DC 3404A419 */ li $a0, 42009 +/* 084010 7F04F4E0 02002025 */ move $a0, $s0 +/* 084014 7F04F4E4 0C0029FF */ jal string_append_from_obseg_textbank +/* 084018 7F04F4E8 00402825 */ move $a1, $v0 +/* 08401C 7F04F4EC 10000006 */ b .L7F04F508 +/* 084020 7F04F4F0 00000000 */ nop +.L7F04F4F4: +/* 084024 7F04F4F4 0FC30776 */ jal get_textptr_for_textID +/* 084028 7F04F4F8 3404A41A */ li $a0, 42010 +/* 08402C 7F04F4FC 02002025 */ move $a0, $s0 +/* 084030 7F04F500 0C0029FF */ jal string_append_from_obseg_textbank +/* 084034 7F04F504 00402825 */ move $a1, $v0 +.L7F04F508: +/* 084038 7F04F508 0FC30776 */ jal get_textptr_for_textID +/* 08403C 7F04F50C 3404A418 */ li $a0, 42008 +/* 084040 7F04F510 02002025 */ move $a0, $s0 +/* 084044 7F04F514 0C0029FF */ jal string_append_from_obseg_textbank +/* 084048 7F04F518 00402825 */ move $a1, $v0 +/* 08404C 7F04F51C 10000096 */ b .L7F04F778 +/* 084050 7F04F520 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04F524: +/* 084054 7F04F524 2F01001A */ sltiu $at, $t8, 0x1a +/* 084058 7F04F528 10200089 */ beqz $at, .L7F04F750 +/* 08405C 7F04F52C 0018C080 */ sll $t8, $t8, 2 +/* 084060 7F04F530 3C018005 */ lui $at, %hi(jpt_80052F84) +/* 084064 7F04F534 00380821 */ addu $at, $at, $t8 +/* 084068 7F04F538 8C382F84 */ lw $t8, %lo(jpt_80052F84)($at) +/* 08406C 7F04F53C 03000008 */ jr $t8 +/* 084070 7F04F540 00000000 */ nop +text_pickup_shotgun_cartridge: +/* 084074 7F04F544 0FC30776 */ jal get_textptr_for_textID +/* 084078 7F04F548 3404A406 */ li $a0, 41990 +/* 08407C 7F04F54C 02002025 */ move $a0, $s0 +/* 084080 7F04F550 0C0029FF */ jal string_append_from_obseg_textbank +/* 084084 7F04F554 00402825 */ move $a1, $v0 +/* 084088 7F04F558 1000007E */ b .L7F04F754 +/* 08408C 7F04F55C 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_magnum_bullet: +/* 084090 7F04F560 0FC30776 */ jal get_textptr_for_textID +/* 084094 7F04F564 3404A407 */ li $a0, 41991 +/* 084098 7F04F568 02002025 */ move $a0, $s0 +/* 08409C 7F04F56C 0C0029FF */ jal string_append_from_obseg_textbank +/* 0840A0 7F04F570 00402825 */ move $a1, $v0 +/* 0840A4 7F04F574 10000077 */ b .L7F04F754 +/* 0840A8 7F04F578 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_golden_bullet: +/* 0840AC 7F04F57C 0FC30776 */ jal get_textptr_for_textID +/* 0840B0 7F04F580 3404A408 */ li $a0, 41992 +/* 0840B4 7F04F584 02002025 */ move $a0, $s0 +/* 0840B8 7F04F588 0C0029FF */ jal string_append_from_obseg_textbank +/* 0840BC 7F04F58C 00402825 */ move $a1, $v0 +/* 0840C0 7F04F590 10000070 */ b .L7F04F754 +/* 0840C4 7F04F594 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_hand_grenade: +/* 0840C8 7F04F598 0FC30776 */ jal get_textptr_for_textID +/* 0840CC 7F04F59C 3404A409 */ li $a0, 41993 +/* 0840D0 7F04F5A0 02002025 */ move $a0, $s0 +/* 0840D4 7F04F5A4 0C0029FF */ jal string_append_from_obseg_textbank +/* 0840D8 7F04F5A8 00402825 */ move $a1, $v0 +/* 0840DC 7F04F5AC 10000069 */ b .L7F04F754 +/* 0840E0 7F04F5B0 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_grenade_round: +/* 0840E4 7F04F5B4 0FC30776 */ jal get_textptr_for_textID +/* 0840E8 7F04F5B8 3404A40A */ li $a0, 41994 +/* 0840EC 7F04F5BC 02002025 */ move $a0, $s0 +/* 0840F0 7F04F5C0 0C0029FF */ jal string_append_from_obseg_textbank +/* 0840F4 7F04F5C4 00402825 */ move $a1, $v0 +/* 0840F8 7F04F5C8 10000062 */ b .L7F04F754 +/* 0840FC 7F04F5CC 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_rocket: +/* 084100 7F04F5D0 0FC30776 */ jal get_textptr_for_textID +/* 084104 7F04F5D4 3404A40B */ li $a0, 41995 +/* 084108 7F04F5D8 02002025 */ move $a0, $s0 +/* 08410C 7F04F5DC 0C0029FF */ jal string_append_from_obseg_textbank +/* 084110 7F04F5E0 00402825 */ move $a1, $v0 +/* 084114 7F04F5E4 1000005B */ b .L7F04F754 +/* 084118 7F04F5E8 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_remote_mine: +/* 08411C 7F04F5EC 0FC30776 */ jal get_textptr_for_textID +/* 084120 7F04F5F0 3404A40C */ li $a0, 41996 +/* 084124 7F04F5F4 02002025 */ move $a0, $s0 +/* 084128 7F04F5F8 0C0029FF */ jal string_append_from_obseg_textbank +/* 08412C 7F04F5FC 00402825 */ move $a1, $v0 +/* 084130 7F04F600 10000054 */ b .L7F04F754 +/* 084134 7F04F604 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_proximity_mine: +/* 084138 7F04F608 0FC30776 */ jal get_textptr_for_textID +/* 08413C 7F04F60C 3404A40D */ li $a0, 41997 +/* 084140 7F04F610 02002025 */ move $a0, $s0 +/* 084144 7F04F614 0C0029FF */ jal string_append_from_obseg_textbank +/* 084148 7F04F618 00402825 */ move $a1, $v0 +/* 08414C 7F04F61C 1000004D */ b .L7F04F754 +/* 084150 7F04F620 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_timed_mine: +/* 084154 7F04F624 0FC30776 */ jal get_textptr_for_textID +/* 084158 7F04F628 3404A40E */ li $a0, 41998 +/* 08415C 7F04F62C 02002025 */ move $a0, $s0 +/* 084160 7F04F630 0C0029FF */ jal string_append_from_obseg_textbank +/* 084164 7F04F634 00402825 */ move $a1, $v0 +/* 084168 7F04F638 10000046 */ b .L7F04F754 +/* 08416C 7F04F63C 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_dart: +/* 084170 7F04F640 0FC30776 */ jal get_textptr_for_textID +/* 084174 7F04F644 3404A413 */ li $a0, 42003 +/* 084178 7F04F648 02002025 */ move $a0, $s0 +/* 08417C 7F04F64C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084180 7F04F650 00402825 */ move $a1, $v0 +/* 084184 7F04F654 1000003F */ b .L7F04F754 +/* 084188 7F04F658 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_explosive_pen: +/* 08418C 7F04F65C 0FC30776 */ jal get_textptr_for_textID +/* 084190 7F04F660 3404A414 */ li $a0, 42004 +/* 084194 7F04F664 02002025 */ move $a0, $s0 +/* 084198 7F04F668 0C0029FF */ jal string_append_from_obseg_textbank +/* 08419C 7F04F66C 00402825 */ move $a1, $v0 +/* 0841A0 7F04F670 10000038 */ b .L7F04F754 +/* 0841A4 7F04F674 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_explosive_case: +/* 0841A8 7F04F678 0FC30776 */ jal get_textptr_for_textID +/* 0841AC 7F04F67C 3404A415 */ li $a0, 42005 +/* 0841B0 7F04F680 02002025 */ move $a0, $s0 +/* 0841B4 7F04F684 0C0029FF */ jal string_append_from_obseg_textbank +/* 0841B8 7F04F688 00402825 */ move $a1, $v0 +/* 0841BC 7F04F68C 10000031 */ b .L7F04F754 +/* 0841C0 7F04F690 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_flare: +/* 0841C4 7F04F694 0FC30776 */ jal get_textptr_for_textID +/* 0841C8 7F04F698 3404A416 */ li $a0, 42006 +/* 0841CC 7F04F69C 02002025 */ move $a0, $s0 +/* 0841D0 7F04F6A0 0C0029FF */ jal string_append_from_obseg_textbank +/* 0841D4 7F04F6A4 00402825 */ move $a1, $v0 +/* 0841D8 7F04F6A8 1000002A */ b .L7F04F754 +/* 0841DC 7F04F6AC 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_piton: +/* 0841E0 7F04F6B0 0FC30776 */ jal get_textptr_for_textID +/* 0841E4 7F04F6B4 3404A417 */ li $a0, 42007 +/* 0841E8 7F04F6B8 02002025 */ move $a0, $s0 +/* 0841EC 7F04F6BC 0C0029FF */ jal string_append_from_obseg_textbank +/* 0841F0 7F04F6C0 00402825 */ move $a1, $v0 +/* 0841F4 7F04F6C4 10000023 */ b .L7F04F754 +/* 0841F8 7F04F6C8 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_bug: +/* 0841FC 7F04F6CC 0FC30776 */ jal get_textptr_for_textID +/* 084200 7F04F6D0 3404A41B */ li $a0, 42011 +/* 084204 7F04F6D4 02002025 */ move $a0, $s0 +/* 084208 7F04F6D8 0C0029FF */ jal string_append_from_obseg_textbank +/* 08420C 7F04F6DC 00402825 */ move $a1, $v0 +/* 084210 7F04F6E0 1000001C */ b .L7F04F754 +/* 084214 7F04F6E4 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_micro_camera: +/* 084218 7F04F6E8 0FC30776 */ jal get_textptr_for_textID +/* 08421C 7F04F6EC 3404A41C */ li $a0, 42012 +/* 084220 7F04F6F0 02002025 */ move $a0, $s0 +/* 084224 7F04F6F4 0C0029FF */ jal string_append_from_obseg_textbank +/* 084228 7F04F6F8 00402825 */ move $a1, $v0 +/* 08422C 7F04F6FC 10000015 */ b .L7F04F754 +/* 084230 7F04F700 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_goldeneye_key: +/* 084234 7F04F704 0FC30776 */ jal get_textptr_for_textID +/* 084238 7F04F708 3404A41D */ li $a0, 42013 +/* 08423C 7F04F70C 02002025 */ move $a0, $s0 +/* 084240 7F04F710 0C0029FF */ jal string_append_from_obseg_textbank +/* 084244 7F04F714 00402825 */ move $a1, $v0 +/* 084248 7F04F718 1000000E */ b .L7F04F754 +/* 08424C 7F04F71C 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_token: +/* 084250 7F04F720 0FC30776 */ jal get_textptr_for_textID +/* 084254 7F04F724 3404A41E */ li $a0, 42014 +/* 084258 7F04F728 02002025 */ move $a0, $s0 +/* 08425C 7F04F72C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084260 7F04F730 00402825 */ move $a1, $v0 +/* 084264 7F04F734 10000007 */ b .L7F04F754 +/* 084268 7F04F738 8FB90028 */ lw $t9, 0x28($sp) +text_pickup_plastique: +/* 08426C 7F04F73C 0FC30776 */ jal get_textptr_for_textID +/* 084270 7F04F740 3404A41F */ li $a0, 42015 +/* 084274 7F04F744 02002025 */ move $a0, $s0 +/* 084278 7F04F748 0C0029FF */ jal string_append_from_obseg_textbank +/* 08427C 7F04F74C 00402825 */ move $a1, $v0 +pluralize_multiples: +.L7F04F750: +/* 084280 7F04F750 8FB90028 */ lw $t9, 0x28($sp) +.L7F04F754: +/* 084284 7F04F754 2B210002 */ slti $at, $t9, 2 +/* 084288 7F04F758 54200007 */ bnezl $at, .L7F04F778 +/* 08428C 7F04F75C 8FBF001C */ lw $ra, 0x1c($sp) +/* 084290 7F04F760 0FC30776 */ jal get_textptr_for_textID +/* 084294 7F04F764 3404A412 */ li $a0, 42002 +/* 084298 7F04F768 02002025 */ move $a0, $s0 +/* 08429C 7F04F76C 0C0029FF */ jal string_append_from_obseg_textbank +/* 0842A0 7F04F770 00402825 */ move $a1, $v0 +/* 0842A4 7F04F774 8FBF001C */ lw $ra, 0x1c($sp) +.L7F04F778: +/* 0842A8 7F04F778 8FB00018 */ lw $s0, 0x18($sp) +/* 0842AC 7F04F77C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0842B0 7F04F780 03E00008 */ jr $ra +/* 0842B4 7F04F784 00000000 */ nop +) +#endif + + + + + + +void set_sound_effect_for_ammo_collection(AMMOTYPES ammotype) + +{ + switch(ammotype) { + case AMMO_9MM: + case AMMO_9MM_2: + case AMMO_RIFLE: + case AMMO_SHOTGUN: + case AMMO_GRENADE: + case AMMO_ROCKETS: + case AMMO_GRENADEROUND: + case AMMO_MAGNUM: + case AMMO_GGUN: + case AMMO_DARTS: + case AMMO_EXPLOSIVEPEN: + case AMMO_FLARE: + case AMMO_PITON: + case AMMO_DYNAMITE: + case AMMO_GEKEY: + case AMMO_TOKEN: + play_sfx_a1(ptr_sfx_buf,0xea,0); + break; + case AMMO_REMOTEMINE: + case AMMO_PROXMINE: + case AMMO_TIMEDMINE: + case AMMO_BOMBCASE: + case AMMO_BUG: + case AMMO_MICRO_CAMERA: + case AMMO_PLASTIQUE: + play_sfx_a1(ptr_sfx_buf,0xeb,0); + break; + case AMMO_KNIFE: + play_sfx_a1(ptr_sfx_buf,0xe9,0); + } + return; +} + + + + + + +void set_sound_effect_for_weapontype_collection(ITEM_IDS weapontype) +{ + if ((weapontype == ITEM_KNIFE) || (weapontype == ITEM_THROWKNIFE)) { + play_sfx_a1(ptr_sfx_buf,0xe9,0); + } + else { + if (((((weapontype == ITEM_REMOTEMINE) || (weapontype == ITEM_PROXIMITYMINE)) || + (weapontype == ITEM_TIMEDMINE)) || + ((weapontype == ITEM_BOMBCASE || (weapontype == ITEM_BUG)))) || + ((weapontype == ITEM_MICROCAMERA || (weapontype == ITEM_PLASTIQUE)))) { + play_sfx_a1(ptr_sfx_buf,0xeb,0); + } + else { + if (((weapontype == ITEM_GRENADE) || (weapontype == ITEM_57)) || (weapontype == ITEM_56) + ) { + play_sfx_a1(ptr_sfx_buf,0xea,0); + } + else { + if (weapontype == ITEM_LASER) { + play_sfx_a1(ptr_sfx_buf,0xf2,0); + } + else { + play_sfx_a1(ptr_sfx_buf,0xe8,0); + } + } + } + } + return; +} + + + +//!FIXME, i need to be properly split from chrai.c +#ifdef NONMATCHING +extern char * D_800529D0; +extern char * D_800529D4; + +void prepare_ammo_type_collection_text(u8 *finaltext, AMMOTYPES ammotype, u32 quantity) +{ + *finaltext = 0; + if (j_text_trigger != 0) + { + apped_text_ammotype(finaltext,ammotype,quantity); + if (get_num_players() < 3) + { + append_text_picked_up(finaltext, ammotype, quantity); + } + string_append_from_obseg_textbank(finaltext, (char *)D_800529D0); + return; + } + if (get_num_players() < 3) + { + append_text_picked_up(finaltext, ammotype, quantity); + append_text_ammo_amount_word(finaltext, ammotype, quantity); + } + apped_text_ammotype(finaltext, ammotype, quantity); + string_append_from_obseg_textbank(finaltext, (char *)D_800529D4); +} +#else +GLOBAL_ASM( +.late_rodata + +.text +glabel prepare_ammo_type_collection_text +/* 084450 7F04F920 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 084454 7F04F924 AFBF0024 */ sw $ra, 0x24($sp) +/* 084458 7F04F928 AFB20020 */ sw $s2, 0x20($sp) +/* 08445C 7F04F92C AFB1001C */ sw $s1, 0x1c($sp) +/* 084460 7F04F930 AFB00018 */ sw $s0, 0x18($sp) +/* 084464 7F04F934 A0800000 */ sb $zero, ($a0) +/* 084468 7F04F938 3C0E8005 */ lui $t6, %hi(j_text_trigger) +/* 08446C 7F04F93C 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) +/* 084470 7F04F940 00808025 */ move $s0, $a0 +/* 084474 7F04F944 00A08825 */ move $s1, $a1 +/* 084478 7F04F948 11C00011 */ beqz $t6, .L7F04F990 +/* 08447C 7F04F94C 00C09025 */ move $s2, $a2 +/* 084480 7F04F950 0FC13D03 */ jal apped_text_ammotype +/* 084484 7F04F954 00000000 */ nop +/* 084488 7F04F958 0FC26919 */ jal get_num_players +/* 08448C 7F04F95C 00000000 */ nop +/* 084490 7F04F960 28410003 */ slti $at, $v0, 3 +/* 084494 7F04F964 10200004 */ beqz $at, .L7F04F978 +/* 084498 7F04F968 02002025 */ move $a0, $s0 +/* 08449C 7F04F96C 02202825 */ move $a1, $s1 +/* 0844A0 7F04F970 0FC13CAD */ jal append_text_picked_up +/* 0844A4 7F04F974 02403025 */ move $a2, $s2 +.L7F04F978: +/* 0844A8 7F04F978 3C058005 */ lui $a1, %hi(D_800529D0) +/* 0844AC 7F04F97C 24A529D0 */ addiu $a1, %lo(D_800529D0) # addiu $a1, $a1, 0x29d0 +/* 0844B0 7F04F980 0C0029FF */ jal string_append_from_obseg_textbank +/* 0844B4 7F04F984 02002025 */ move $a0, $s0 +/* 0844B8 7F04F988 10000016 */ b .L7F04F9E4 +/* 0844BC 7F04F98C 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04F990: +/* 0844C0 7F04F990 0FC26919 */ jal get_num_players +/* 0844C4 7F04F994 00000000 */ nop +/* 0844C8 7F04F998 28410003 */ slti $at, $v0, 3 +/* 0844CC 7F04F99C 10200008 */ beqz $at, .L7F04F9C0 +/* 0844D0 7F04F9A0 02002025 */ move $a0, $s0 +/* 0844D4 7F04F9A4 02202825 */ move $a1, $s1 +/* 0844D8 7F04F9A8 0FC13CAD */ jal append_text_picked_up +/* 0844DC 7F04F9AC 02403025 */ move $a2, $s2 +/* 0844E0 7F04F9B0 02002025 */ move $a0, $s0 +/* 0844E4 7F04F9B4 02202825 */ move $a1, $s1 +/* 0844E8 7F04F9B8 0FC13CBB */ jal append_text_ammo_amount_word +/* 0844EC 7F04F9BC 02403025 */ move $a2, $s2 +.L7F04F9C0: +/* 0844F0 7F04F9C0 02002025 */ move $a0, $s0 +/* 0844F4 7F04F9C4 02202825 */ move $a1, $s1 +/* 0844F8 7F04F9C8 0FC13D03 */ jal apped_text_ammotype +/* 0844FC 7F04F9CC 02403025 */ move $a2, $s2 +/* 084500 7F04F9D0 3C058005 */ lui $a1, %hi(D_800529D4) +/* 084504 7F04F9D4 24A529D4 */ addiu $a1, %lo(D_800529D4) # addiu $a1, $a1, 0x29d4 +/* 084508 7F04F9D8 0C0029FF */ jal string_append_from_obseg_textbank +/* 08450C 7F04F9DC 02002025 */ move $a0, $s0 +/* 084510 7F04F9E0 8FBF0024 */ lw $ra, 0x24($sp) +.L7F04F9E4: +/* 084514 7F04F9E4 8FB00018 */ lw $s0, 0x18($sp) +/* 084518 7F04F9E8 8FB1001C */ lw $s1, 0x1c($sp) +/* 08451C 7F04F9EC 8FB20020 */ lw $s2, 0x20($sp) +/* 084520 7F04F9F0 03E00008 */ jr $ra +/* 084524 7F04F9F4 27BD0028 */ addiu $sp, $sp, 0x28 +) +#endif + + + + + +#ifdef NONMATCHING +void display_text_when_ammo_collected(void) { + +} +#else +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata + + +.text +glabel display_text_when_ammo_collected +/* 084528 7F04F9F8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 08452C 7F04F9FC AFA40080 */ sw $a0, 0x80($sp) +/* 084530 7F04FA00 3C0E8005 */ lui $t6, %hi(D_800529D8) +/* 084534 7F04FA04 27A4001C */ addiu $a0, $sp, 0x1c +/* 084538 7F04FA08 00A03025 */ move $a2, $a1 +/* 08453C 7F04FA0C 25CE29D8 */ addiu $t6, %lo(D_800529D8) # addiu $t6, $t6, 0x29d8 +/* 084540 7F04FA10 8FA50080 */ lw $a1, 0x80($sp) +/* 084544 7F04FA14 AFBF0014 */ sw $ra, 0x14($sp) +/* 084548 7F04FA18 25D90060 */ addiu $t9, $t6, 0x60 +/* 08454C 7F04FA1C 00804025 */ move $t0, $a0 +.L7F04FA20: +/* 084550 7F04FA20 8DC10000 */ lw $at, ($t6) +/* 084554 7F04FA24 25CE000C */ addiu $t6, $t6, 0xc +/* 084558 7F04FA28 2508000C */ addiu $t0, $t0, 0xc +/* 08455C 7F04FA2C AD01FFF4 */ sw $at, -0xc($t0) +/* 084560 7F04FA30 8DC1FFF8 */ lw $at, -8($t6) +/* 084564 7F04FA34 AD01FFF8 */ sw $at, -8($t0) +/* 084568 7F04FA38 8DC1FFFC */ lw $at, -4($t6) +/* 08456C 7F04FA3C 15D9FFF8 */ bne $t6, $t9, .L7F04FA20 +/* 084570 7F04FA40 AD01FFFC */ sw $at, -4($t0) +/* 084574 7F04FA44 8DC10000 */ lw $at, ($t6) +/* 084578 7F04FA48 0FC13E48 */ jal prepare_ammo_type_collection_text +/* 08457C 7F04FA4C AD010000 */ sw $at, ($t0) +/* 084580 7F04FA50 0FC228F2 */ jal display_string_in_lower_left_corner +/* 084584 7F04FA54 27A4001C */ addiu $a0, $sp, 0x1c +/* 084588 7F04FA58 8FBF0014 */ lw $ra, 0x14($sp) +/* 08458C 7F04FA5C 27BD0080 */ addiu $sp, $sp, 0x80 +/* 084590 7F04FA60 03E00008 */ jr $ra +/* 084594 7F04FA64 00000000 */ nop +) +#endif +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata + + +.text +glabel display_text_when_ammo_collected +/* 084528 7F04F9F8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 08452C 7F04F9FC AFA40080 */ sw $a0, 0x80($sp) +/* 084530 7F04FA00 3C0E8005 */ lui $t6, %hi(D_800529D8) +/* 084534 7F04FA04 27A4001C */ addiu $a0, $sp, 0x1c +/* 084538 7F04FA08 00A03025 */ move $a2, $a1 +/* 08453C 7F04FA0C 25CE29D8 */ addiu $t6, %lo(D_800529D8) # addiu $t6, $t6, 0x29d8 +/* 084540 7F04FA10 8FA50080 */ lw $a1, 0x80($sp) +/* 084544 7F04FA14 AFBF0014 */ sw $ra, 0x14($sp) +/* 084548 7F04FA18 25D90060 */ addiu $t9, $t6, 0x60 +/* 08454C 7F04FA1C 00804025 */ move $t0, $a0 +.L7F04FA20: +/* 084550 7F04FA20 8DC10000 */ lw $at, ($t6) +/* 084554 7F04FA24 25CE000C */ addiu $t6, $t6, 0xc +/* 084558 7F04FA28 2508000C */ addiu $t0, $t0, 0xc +/* 08455C 7F04FA2C AD01FFF4 */ sw $at, -0xc($t0) +/* 084560 7F04FA30 8DC1FFF8 */ lw $at, -8($t6) +/* 084564 7F04FA34 AD01FFF8 */ sw $at, -8($t0) +/* 084568 7F04FA38 8DC1FFFC */ lw $at, -4($t6) +/* 08456C 7F04FA3C 15D9FFF8 */ bne $t6, $t9, .L7F04FA20 +/* 084570 7F04FA40 AD01FFFC */ sw $at, -4($t0) +/* 084574 7F04FA44 8DC10000 */ lw $at, ($t6) +/* 084578 7F04FA48 0FC13E48 */ jal prepare_ammo_type_collection_text +/* 08457C 7F04FA4C AD010000 */ sw $at, ($t0) +/* 084580 7F04FA50 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 084584 7F04FA54 27A4001C */ addiu $a0, $sp, 0x1c +/* 084588 7F04FA58 8FBF0014 */ lw $ra, 0x14($sp) +/* 08458C 7F04FA5C 27BD0080 */ addiu $sp, $sp, 0x80 +/* 084590 7F04FA60 03E00008 */ jr $ra +/* 084594 7F04FA64 00000000 */ nop +) +#endif +#endif + + + + +void add_ammo_to_inventory(AMMOTYPES ammotype,int amount,int doplaysound,int dodisplaytext) +{ + int curammo; + int maxammo; + + if (0 < amount) { + curammo = check_cur_player_ammo_amount_in_inventory(ammotype); + maxammo = get_max_ammo_for_type(ammotype); + if (curammo < maxammo) { + curammo = check_cur_player_ammo_amount_in_inventory(ammotype); + give_cur_player_ammo(ammotype,curammo + amount); + #ifdef VERSION_JP + } + #endif + if (dodisplaytext != 0) { + display_text_when_ammo_collected(ammotype,amount); + } + if (doplaysound != 0) { + set_sound_effect_for_ammo_collection(ammotype); + } + if (ammotype == AMMO_GRENADE) { + add_item_to_inventory(ITEM_GRENADE); + } + else if (ammotype == AMMO_REMOTEMINE) { + add_item_to_inventory(ITEM_REMOTEMINE); + add_item_to_inventory(ITEM_TRIGGER); + } + else if (ammotype == AMMO_PROXMINE) { + add_item_to_inventory(ITEM_PROXIMITYMINE); + } + else if (ammotype == AMMO_TIMEDMINE) { + add_item_to_inventory(ITEM_TIMEDMINE); + } + else if (ammotype == AMMO_KNIFE) { + add_item_to_inventory(ITEM_THROWKNIFE); + } + else if (ammotype == AMMO_BOMBCASE) { + add_item_to_inventory(ITEM_BOMBCASE); + } + else if (ammotype == AMMO_BUG) { + add_item_to_inventory(ITEM_BUG); + } + else if (ammotype == AMMO_MICRO_CAMERA) { + add_item_to_inventory(ITEM_MICROCAMERA); + } + else if (ammotype == AMMO_GEKEY) { + add_item_to_inventory(ITEM_GOLDENEYEKEY); + } + else if (ammotype == AMMO_TOKEN) { + add_item_to_inventory(ITEM_TOKEN); + } + else if (ammotype == AMMO_PLASTIQUE) { + add_item_to_inventory(ITEM_PLASTIQUE); + } + #ifndef VERSION_JP + } + #endif + } +} + + + + +#ifdef NONMATCHING +void get_ammo_in_magazine(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80053060*/ +glabel ammo_collected_from_magazine +.word magazine_has_10_rounds_type1 +.word magazine_has_10_rounds_type2 +.word magazine_has_10_rounds_type3 +.word magazine_has_5_rounds_type4 +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_default_ammo_rounds +.word magazine_has_5_rounds_typeC +.word magazine_has_3_rounds_typeD +.word magazine_has_4_rounds_typeE + +.text +glabel get_ammo_in_magazine +/* 08476C 7F04FC3C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 084770 7F04FC40 AFBF0014 */ sw $ra, 0x14($sp) +/* 084774 7F04FC44 8C8E0080 */ lw $t6, 0x80($a0) +/* 084778 7F04FC48 24030001 */ li $v1, 1 +/* 08477C 7F04FC4C 25CFFFFF */ addiu $t7, $t6, -1 +/* 084780 7F04FC50 2DE1000E */ sltiu $at, $t7, 0xe +/* 084784 7F04FC54 10200013 */ beqz $at, .L7F04FCA4 +/* 084788 7F04FC58 000F7880 */ sll $t7, $t7, 2 +/* 08478C 7F04FC5C 3C018005 */ lui $at, %hi(ammo_collected_from_magazine) +/* 084790 7F04FC60 002F0821 */ addu $at, $at, $t7 +/* 084794 7F04FC64 8C2F3060 */ lw $t7, %lo(ammo_collected_from_magazine)($at) +/* 084798 7F04FC68 01E00008 */ jr $t7 +/* 08479C 7F04FC6C 00000000 */ nop +magazine_has_10_rounds_type1: +/* 0847A0 7F04FC70 1000000C */ b .L7F04FCA4 +/* 0847A4 7F04FC74 2403000A */ li $v1, 10 +magazine_has_10_rounds_type2: +/* 0847A8 7F04FC78 1000000A */ b .L7F04FCA4 +/* 0847AC 7F04FC7C 2403000A */ li $v1, 10 +magazine_has_10_rounds_type3: +/* 0847B0 7F04FC80 10000008 */ b .L7F04FCA4 +/* 0847B4 7F04FC84 2403000A */ li $v1, 10 +magazine_has_5_rounds_type4: +/* 0847B8 7F04FC88 10000006 */ b .L7F04FCA4 +/* 0847BC 7F04FC8C 24030005 */ li $v1, 5 +magazine_has_5_rounds_typeC: +/* 0847C0 7F04FC90 10000004 */ b .L7F04FCA4 +/* 0847C4 7F04FC94 24030005 */ li $v1, 5 +magazine_has_3_rounds_typeD: +/* 0847C8 7F04FC98 10000002 */ b .L7F04FCA4 +/* 0847CC 7F04FC9C 24030003 */ li $v1, 3 +magazine_has_4_rounds_typeE: +/* 0847D0 7F04FCA0 24030004 */ li $v1, 4 +magazine_has_default_ammo_rounds: +.L7F04FCA4: +/* 0847D4 7F04FCA4 28610002 */ slti $at, $v1, 2 +/* 0847D8 7F04FCA8 5420000F */ bnezl $at, .L7F04FCE8 +/* 0847DC 7F04FCAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0847E0 7F04FCB0 0FC26919 */ jal get_num_players +/* 0847E4 7F04FCB4 AFA3001C */ sw $v1, 0x1c($sp) +/* 0847E8 7F04FCB8 24010001 */ li $at, 1 +/* 0847EC 7F04FCBC 14410009 */ bne $v0, $at, .L7F04FCE4 +/* 0847F0 7F04FCC0 8FA3001C */ lw $v1, 0x1c($sp) +/* 0847F4 7F04FCC4 44832000 */ mtc1 $v1, $f4 +/* 0847F8 7F04FCC8 3C018003 */ lui $at, %hi(solo_ammo_multiplier) +/* 0847FC 7F04FCCC C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) +/* 084800 7F04FCD0 468021A0 */ cvt.s.w $f6, $f4 +/* 084804 7F04FCD4 46083282 */ mul.s $f10, $f6, $f8 +/* 084808 7F04FCD8 4600540D */ trunc.w.s $f16, $f10 +/* 08480C 7F04FCDC 44038000 */ mfc1 $v1, $f16 +/* 084810 7F04FCE0 00000000 */ nop +.L7F04FCE4: +/* 084814 7F04FCE4 8FBF0014 */ lw $ra, 0x14($sp) +.L7F04FCE8: +/* 084818 7F04FCE8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08481C 7F04FCEC 00601025 */ move $v0, $v1 +/* 084820 7F04FCF0 03E00008 */ jr $ra +/* 084824 7F04FCF4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void ammo_collected_from_weapon(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80053098*/ +glabel ammo_in_weapon +.word weapon_has_10_rounds_type1 +.word weapon_has_10_rounds_type2 +.word weapon_has_10_rounds_type3 +.word weapon_has_5_rounds_type4 +.word weapon_has_default_ammo +.word weapon_has_default_ammo +.word weapon_has_default_ammo +.word weapon_has_default_ammo +.word weapon_has_default_ammo +.word weapon_has_default_ammo +.word weapon_has_3_rounds_typeB +.word weapon_has_5_rounds_typeC +.word weapon_has_3_rounds_typeD +.word weapon_has_4_rounds_typeE + +.text +glabel ammo_collected_from_weapon +/* 084828 7F04FCF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08482C 7F04FCFC AFBF0014 */ sw $ra, 0x14($sp) +/* 084830 7F04FD00 AFA40020 */ sw $a0, 0x20($sp) +/* 084834 7F04FD04 0FC1A50B */ jal get_ammo_type_for_weapon +/* 084838 7F04FD08 80840080 */ lb $a0, 0x80($a0) +/* 08483C 7F04FD0C 8FAF0020 */ lw $t7, 0x20($sp) +/* 084840 7F04FD10 2448FFFF */ addiu $t0, $v0, -1 +/* 084844 7F04FD14 24030001 */ li $v1, 1 +/* 084848 7F04FD18 8DF80008 */ lw $t8, 8($t7) +/* 08484C 7F04FD1C 2D01000E */ sltiu $at, $t0, 0xe +/* 084850 7F04FD20 0018C840 */ sll $t9, $t8, 1 +/* 084854 7F04FD24 07210003 */ bgez $t9, .L7F04FD34 +/* 084858 7F04FD28 00000000 */ nop +/* 08485C 7F04FD2C 10000028 */ b .L7F04FDD0 +/* 084860 7F04FD30 00001025 */ move $v0, $zero +.L7F04FD34: +/* 084864 7F04FD34 10200015 */ beqz $at, .L7F04FD8C +/* 084868 7F04FD38 00084080 */ sll $t0, $t0, 2 +/* 08486C 7F04FD3C 3C018005 */ lui $at, %hi(ammo_in_weapon) +/* 084870 7F04FD40 00280821 */ addu $at, $at, $t0 +/* 084874 7F04FD44 8C283098 */ lw $t0, %lo(ammo_in_weapon)($at) +/* 084878 7F04FD48 01000008 */ jr $t0 +/* 08487C 7F04FD4C 00000000 */ nop +weapon_has_10_rounds_type1: +/* 084880 7F04FD50 1000000E */ b .L7F04FD8C +/* 084884 7F04FD54 2403000A */ li $v1, 10 +weapon_has_10_rounds_type2: +/* 084888 7F04FD58 1000000C */ b .L7F04FD8C +/* 08488C 7F04FD5C 2403000A */ li $v1, 10 +weapon_has_10_rounds_type3: +/* 084890 7F04FD60 1000000A */ b .L7F04FD8C +/* 084894 7F04FD64 2403000A */ li $v1, 10 +weapon_has_5_rounds_type4: +/* 084898 7F04FD68 10000008 */ b .L7F04FD8C +/* 08489C 7F04FD6C 24030005 */ li $v1, 5 +weapon_has_5_rounds_typeC: +/* 0848A0 7F04FD70 10000006 */ b .L7F04FD8C +/* 0848A4 7F04FD74 24030005 */ li $v1, 5 +weapon_has_3_rounds_typeD: +/* 0848A8 7F04FD78 10000004 */ b .L7F04FD8C +/* 0848AC 7F04FD7C 24030003 */ li $v1, 3 +weapon_has_4_rounds_typeE: +/* 0848B0 7F04FD80 10000002 */ b .L7F04FD8C +/* 0848B4 7F04FD84 24030004 */ li $v1, 4 +weapon_has_3_rounds_typeB: +/* 0848B8 7F04FD88 24030003 */ li $v1, 3 +weapon_has_default_ammo: +.L7F04FD8C: +/* 0848BC 7F04FD8C 28610002 */ slti $at, $v1, 2 +/* 0848C0 7F04FD90 5420000F */ bnezl $at, .L7F04FDD0 +/* 0848C4 7F04FD94 00601025 */ move $v0, $v1 +/* 0848C8 7F04FD98 0FC26919 */ jal get_num_players +/* 0848CC 7F04FD9C AFA30018 */ sw $v1, 0x18($sp) +/* 0848D0 7F04FDA0 24010001 */ li $at, 1 +/* 0848D4 7F04FDA4 14410009 */ bne $v0, $at, .L7F04FDCC +/* 0848D8 7F04FDA8 8FA30018 */ lw $v1, 0x18($sp) +/* 0848DC 7F04FDAC 44832000 */ mtc1 $v1, $f4 +/* 0848E0 7F04FDB0 3C018003 */ lui $at, %hi(solo_ammo_multiplier) +/* 0848E4 7F04FDB4 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) +/* 0848E8 7F04FDB8 468021A0 */ cvt.s.w $f6, $f4 +/* 0848EC 7F04FDBC 46083282 */ mul.s $f10, $f6, $f8 +/* 0848F0 7F04FDC0 4600540D */ trunc.w.s $f16, $f10 +/* 0848F4 7F04FDC4 44038000 */ mfc1 $v1, $f16 +/* 0848F8 7F04FDC8 00000000 */ nop +.L7F04FDCC: +/* 0848FC 7F04FDCC 00601025 */ move $v0, $v1 +.L7F04FDD0: +/* 084900 7F04FDD0 8FBF0014 */ lw $ra, 0x14($sp) +/* 084904 7F04FDD4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 084908 7F04FDD8 03E00008 */ jr $ra +/* 08490C 7F04FDDC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void generate_language_specific_text_for_weapon(char *finalstring,ITEM_IDS itemtype) +{ + bool morethan2players; + u32 numplayers; + AMMOTYPES ammotype; + char *textfiletext; + size_t strlen; + + morethan2players = false; + if (j_text_trigger == 0) { + numplayers = get_num_players(); + if ((int)numplayers < 3) { + textfiletext = get_textptr_for_textID(0xa400); + textpointer_load_parse_something(finalstring,textfiletext); + } + } + else { + textpointer_load_parse_something(finalstring,""); + numplayers = get_num_players(); + if (2 < (int)numplayers) { + morethan2players = true; + } + } + switch(itemtype) { + case ITEM_KNIFE: + textfiletext = get_textptr_for_textID(0xa420); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_THROWKNIFE: + case ITEM_GRENADE: + case ITEM_TIMEDMINE: + case ITEM_PROXIMITYMINE: + case ITEM_REMOTEMINE: + case ITEM_BOMBCASE: + case ITEM_PLASTIQUE: + case ITEM_BUG: + case ITEM_MICROCAMERA: + case ITEM_GOLDENEYEKEY: + case ITEM_56: + case ITEM_57: + case ITEM_TOKEN: + ammotype = get_ammo_type_for_weapon(itemtype); + prepare_ammo_type_collection_text((u8 *)finalstring,ammotype,1); + return; + case ITEM_WPPK: + textfiletext = get_textptr_for_textID(0xa421); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_WPPKSIL: + textfiletext = get_textptr_for_textID(0xa422); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_TT33: + textfiletext = get_textptr_for_textID(0xa423); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_SKORPION: + textfiletext = get_textptr_for_textID(0xa424); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_AK47: + textfiletext = get_textptr_for_textID(0xa425); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_UZI: + textfiletext = get_textptr_for_textID(0xa426); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_MP5K: + textfiletext = get_textptr_for_textID(0xa427); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_MP5KSIL: + textfiletext = get_textptr_for_textID(0xa428); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_SPECTRE: + textfiletext = get_textptr_for_textID(0xa429); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_M16: + textfiletext = get_textptr_for_textID(0xa42a); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_FNP90: + textfiletext = get_textptr_for_textID(0xa42b); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_SHOTGUN: + textfiletext = get_textptr_for_textID(0xa42c); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_AUTOSHOT: + textfiletext = get_textptr_for_textID(0xa42d); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_SNIPERRIFLE: + textfiletext = get_textptr_for_textID(0xa42e); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_RUGER: + textfiletext = get_textptr_for_textID(0xa431); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_GOLDENGUN: + textfiletext = get_textptr_for_textID(0xa432); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_SILVERWPPK: + textfiletext = get_textptr_for_textID(0xa436); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_GOLDWPPK: + textfiletext = get_textptr_for_textID(0xa437); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_LASER: + textfiletext = get_textptr_for_textID(0xa433); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + default: + textfiletext = get_textptr_for_textID(0xa43b); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_GRENADELAUNCH: + textfiletext = get_textptr_for_textID(0xa42f); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_ROCKETLAUNCH: + textfiletext = get_textptr_for_textID(0xa430); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_FLAREPISTOL: + textfiletext = get_textptr_for_textID(0xa434); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_PITONGUN: + textfiletext = get_textptr_for_textID(0xa435); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_KEYCARD: + textfiletext = get_textptr_for_textID(0xa438); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_KEYYALE: + textfiletext = get_textptr_for_textID(0xa439); + string_append_from_obseg_textbank(finalstring,textfiletext); + break; + case ITEM_KEYBOLT: + textfiletext = get_textptr_for_textID(0xa43a); + string_append_from_obseg_textbank(finalstring,textfiletext); + } + if ((j_text_trigger != 0) && (!morethan2players)) { + strlen = strlen(finalstring); + if (finalstring[strlen - 1] == '\n') { + strlen = strlen(finalstring); + finalstring[strlen - 1] = '\0'; + } + textfiletext = get_textptr_for_textID(0xa400); + string_append_from_obseg_textbank(finalstring,textfiletext); + string_append_from_obseg_textbank(finalstring,"\n"); + } + return; +} +#else +GLOBAL_ASM( +.late_rodata +/*D:800530D0*/ +glabel jpt_800530D0 +.word weapon_collect_msg_a_hunting_knife +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_a_pp7 +.word weapon_collect_msg_a_silenced_pp7 +.word weapon_collect_msg_a_dd44 +.word weapon_collect_msg_a_klobb +.word weapon_collect_msg_a_kf7 +.word weapon_collect_msg_a_zmg +.word weapon_collect_msg_a_d5k +.word weapon_collect_msg_a_silenced_d5k +.word weapon_collect_msg_a_phantom +.word weapon_collect_msg_a_ar33 +.word weapon_collect_msg_a_rcp90 +.word weapon_collect_msg_a_shotgun +.word weapon_collect_msg_an_auto_shotgun +.word weapon_collect_msg_a_sniper +.word weapon_collect_msg_a_cougar_magnum +.word weapon_collect_msg_a_golden_gun +.word weapon_collect_msg_a_silver_pp7 +.word weapon_collect_msg_a_gold_pp7 +.word weapon_collect_msg_a_moonraker_laser +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_grenade_launcher +.word weapon_collect_msg_a_rocket_launcher +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_a_flare_pistol +.word weapon_collect_msg_a_piton_gun +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_keycard +.word weapon_collect_msg_a_yale_key +.word weapon_collect_msg_a_bolt_key +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_a_new_weapon +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK +.word weapon_collect_msg_BLANK + +.text +glabel generate_language_specific_text_for_weapon +/* 084910 7F04FDE0 3C0E8005 */ lui $t6, %hi(j_text_trigger) +/* 084914 7F04FDE4 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) +/* 084918 7F04FDE8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 08491C 7F04FDEC AFB00018 */ sw $s0, 0x18($sp) +/* 084920 7F04FDF0 00808025 */ move $s0, $a0 +/* 084924 7F04FDF4 AFBF001C */ sw $ra, 0x1c($sp) +/* 084928 7F04FDF8 AFA5002C */ sw $a1, 0x2c($sp) +/* 08492C 7F04FDFC 11C0000B */ beqz $t6, .L7F04FE2C +/* 084930 7F04FE00 AFA00024 */ sw $zero, 0x24($sp) +/* 084934 7F04FE04 3C058005 */ lui $a1, %hi(D_80052A3C) +/* 084938 7F04FE08 0C0029DC */ jal textpointer_load_parse_something +/* 08493C 7F04FE0C 24A52A3C */ addiu $a1, %lo(D_80052A3C) # addiu $a1, $a1, 0x2a3c +/* 084940 7F04FE10 0FC26919 */ jal get_num_players +/* 084944 7F04FE14 00000000 */ nop +/* 084948 7F04FE18 28410003 */ slti $at, $v0, 3 +/* 08494C 7F04FE1C 1420000D */ bnez $at, .L7F04FE54 +/* 084950 7F04FE20 240F0001 */ li $t7, 1 +/* 084954 7F04FE24 1000000B */ b .L7F04FE54 +/* 084958 7F04FE28 AFAF0024 */ sw $t7, 0x24($sp) +.L7F04FE2C: +/* 08495C 7F04FE2C 0FC26919 */ jal get_num_players +/* 084960 7F04FE30 00000000 */ nop +/* 084964 7F04FE34 28410003 */ slti $at, $v0, 3 +/* 084968 7F04FE38 50200007 */ beql $at, $zero, .L7F04FE58 +/* 08496C 7F04FE3C 8FB8002C */ lw $t8, 0x2c($sp) +/* 084970 7F04FE40 0FC30776 */ jal get_textptr_for_textID +/* 084974 7F04FE44 3404A400 */ li $a0, 41984 +/* 084978 7F04FE48 02002025 */ move $a0, $s0 +/* 08497C 7F04FE4C 0C0029DC */ jal textpointer_load_parse_something +/* 084980 7F04FE50 00402825 */ move $a1, $v0 +.L7F04FE54: +/* 084984 7F04FE54 8FB8002C */ lw $t8, 0x2c($sp) +.L7F04FE58: +/* 084988 7F04FE58 2719FFFE */ addiu $t9, $t8, -2 +/* 08498C 7F04FE5C 2F210057 */ sltiu $at, $t9, 0x57 +/* 084990 7F04FE60 102000CB */ beqz $at, .L7F050190 +/* 084994 7F04FE64 0019C880 */ sll $t9, $t9, 2 +/* 084998 7F04FE68 3C018005 */ lui $at, %hi(jpt_800530D0) +/* 08499C 7F04FE6C 00390821 */ addu $at, $at, $t9 +/* 0849A0 7F04FE70 8C3930D0 */ lw $t9, %lo(jpt_800530D0)($at) +/* 0849A4 7F04FE74 03200008 */ jr $t9 +/* 0849A8 7F04FE78 00000000 */ nop +weapon_collect_msg_BLANK: +/* 0849AC 7F04FE7C 0FC1A50B */ jal get_ammo_type_for_weapon +/* 0849B0 7F04FE80 8FA4002C */ lw $a0, 0x2c($sp) +/* 0849B4 7F04FE84 02002025 */ move $a0, $s0 +/* 0849B8 7F04FE88 00402825 */ move $a1, $v0 +/* 0849BC 7F04FE8C 0FC13E48 */ jal prepare_ammo_type_collection_text +/* 0849C0 7F04FE90 24060001 */ li $a2, 1 +/* 0849C4 7F04FE94 100000DF */ b .L7F050214 +/* 0849C8 7F04FE98 8FBF001C */ lw $ra, 0x1c($sp) +weapon_collect_msg_a_hunting_knife: +/* 0849CC 7F04FE9C 0FC30776 */ jal get_textptr_for_textID +/* 0849D0 7F04FEA0 3404A420 */ li $a0, 42016 +/* 0849D4 7F04FEA4 02002025 */ move $a0, $s0 +/* 0849D8 7F04FEA8 0C0029FF */ jal string_append_from_obseg_textbank +/* 0849DC 7F04FEAC 00402825 */ move $a1, $v0 +/* 0849E0 7F04FEB0 100000BC */ b .L7F0501A4 +/* 0849E4 7F04FEB4 00000000 */ nop +weapon_collect_msg_a_pp7: +/* 0849E8 7F04FEB8 0FC30776 */ jal get_textptr_for_textID +/* 0849EC 7F04FEBC 3404A421 */ li $a0, 42017 +/* 0849F0 7F04FEC0 02002025 */ move $a0, $s0 +/* 0849F4 7F04FEC4 0C0029FF */ jal string_append_from_obseg_textbank +/* 0849F8 7F04FEC8 00402825 */ move $a1, $v0 +/* 0849FC 7F04FECC 100000B5 */ b .L7F0501A4 +/* 084A00 7F04FED0 00000000 */ nop +weapon_collect_msg_a_silenced_pp7: +/* 084A04 7F04FED4 0FC30776 */ jal get_textptr_for_textID +/* 084A08 7F04FED8 3404A422 */ li $a0, 42018 +/* 084A0C 7F04FEDC 02002025 */ move $a0, $s0 +/* 084A10 7F04FEE0 0C0029FF */ jal string_append_from_obseg_textbank +/* 084A14 7F04FEE4 00402825 */ move $a1, $v0 +/* 084A18 7F04FEE8 100000AE */ b .L7F0501A4 +/* 084A1C 7F04FEEC 00000000 */ nop +weapon_collect_msg_a_dd44: +/* 084A20 7F04FEF0 0FC30776 */ jal get_textptr_for_textID +/* 084A24 7F04FEF4 3404A423 */ li $a0, 42019 +/* 084A28 7F04FEF8 02002025 */ move $a0, $s0 +/* 084A2C 7F04FEFC 0C0029FF */ jal string_append_from_obseg_textbank +/* 084A30 7F04FF00 00402825 */ move $a1, $v0 +/* 084A34 7F04FF04 100000A7 */ b .L7F0501A4 +/* 084A38 7F04FF08 00000000 */ nop +weapon_collect_msg_a_klobb: +/* 084A3C 7F04FF0C 0FC30776 */ jal get_textptr_for_textID +/* 084A40 7F04FF10 3404A424 */ li $a0, 42020 +/* 084A44 7F04FF14 02002025 */ move $a0, $s0 +/* 084A48 7F04FF18 0C0029FF */ jal string_append_from_obseg_textbank +/* 084A4C 7F04FF1C 00402825 */ move $a1, $v0 +/* 084A50 7F04FF20 100000A0 */ b .L7F0501A4 +/* 084A54 7F04FF24 00000000 */ nop +weapon_collect_msg_a_kf7: +/* 084A58 7F04FF28 0FC30776 */ jal get_textptr_for_textID +/* 084A5C 7F04FF2C 3404A425 */ li $a0, 42021 +/* 084A60 7F04FF30 02002025 */ move $a0, $s0 +/* 084A64 7F04FF34 0C0029FF */ jal string_append_from_obseg_textbank +/* 084A68 7F04FF38 00402825 */ move $a1, $v0 +/* 084A6C 7F04FF3C 10000099 */ b .L7F0501A4 +/* 084A70 7F04FF40 00000000 */ nop +weapon_collect_msg_a_zmg: +/* 084A74 7F04FF44 0FC30776 */ jal get_textptr_for_textID +/* 084A78 7F04FF48 3404A426 */ li $a0, 42022 +/* 084A7C 7F04FF4C 02002025 */ move $a0, $s0 +/* 084A80 7F04FF50 0C0029FF */ jal string_append_from_obseg_textbank +/* 084A84 7F04FF54 00402825 */ move $a1, $v0 +/* 084A88 7F04FF58 10000092 */ b .L7F0501A4 +/* 084A8C 7F04FF5C 00000000 */ nop +weapon_collect_msg_a_d5k: +/* 084A90 7F04FF60 0FC30776 */ jal get_textptr_for_textID +/* 084A94 7F04FF64 3404A427 */ li $a0, 42023 +/* 084A98 7F04FF68 02002025 */ move $a0, $s0 +/* 084A9C 7F04FF6C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084AA0 7F04FF70 00402825 */ move $a1, $v0 +/* 084AA4 7F04FF74 1000008B */ b .L7F0501A4 +/* 084AA8 7F04FF78 00000000 */ nop +weapon_collect_msg_a_silenced_d5k: +/* 084AAC 7F04FF7C 0FC30776 */ jal get_textptr_for_textID +/* 084AB0 7F04FF80 3404A428 */ li $a0, 42024 +/* 084AB4 7F04FF84 02002025 */ move $a0, $s0 +/* 084AB8 7F04FF88 0C0029FF */ jal string_append_from_obseg_textbank +/* 084ABC 7F04FF8C 00402825 */ move $a1, $v0 +/* 084AC0 7F04FF90 10000084 */ b .L7F0501A4 +/* 084AC4 7F04FF94 00000000 */ nop +weapon_collect_msg_a_phantom: +/* 084AC8 7F04FF98 0FC30776 */ jal get_textptr_for_textID +/* 084ACC 7F04FF9C 3404A429 */ li $a0, 42025 +/* 084AD0 7F04FFA0 02002025 */ move $a0, $s0 +/* 084AD4 7F04FFA4 0C0029FF */ jal string_append_from_obseg_textbank +/* 084AD8 7F04FFA8 00402825 */ move $a1, $v0 +/* 084ADC 7F04FFAC 1000007D */ b .L7F0501A4 +/* 084AE0 7F04FFB0 00000000 */ nop +weapon_collect_msg_a_ar33: +/* 084AE4 7F04FFB4 0FC30776 */ jal get_textptr_for_textID +/* 084AE8 7F04FFB8 3404A42A */ li $a0, 42026 +/* 084AEC 7F04FFBC 02002025 */ move $a0, $s0 +/* 084AF0 7F04FFC0 0C0029FF */ jal string_append_from_obseg_textbank +/* 084AF4 7F04FFC4 00402825 */ move $a1, $v0 +/* 084AF8 7F04FFC8 10000076 */ b .L7F0501A4 +/* 084AFC 7F04FFCC 00000000 */ nop +weapon_collect_msg_a_rcp90: +/* 084B00 7F04FFD0 0FC30776 */ jal get_textptr_for_textID +/* 084B04 7F04FFD4 3404A42B */ li $a0, 42027 +/* 084B08 7F04FFD8 02002025 */ move $a0, $s0 +/* 084B0C 7F04FFDC 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B10 7F04FFE0 00402825 */ move $a1, $v0 +/* 084B14 7F04FFE4 1000006F */ b .L7F0501A4 +/* 084B18 7F04FFE8 00000000 */ nop +weapon_collect_msg_a_shotgun: +/* 084B1C 7F04FFEC 0FC30776 */ jal get_textptr_for_textID +/* 084B20 7F04FFF0 3404A42C */ li $a0, 42028 +/* 084B24 7F04FFF4 02002025 */ move $a0, $s0 +/* 084B28 7F04FFF8 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B2C 7F04FFFC 00402825 */ move $a1, $v0 +/* 084B30 7F050000 10000068 */ b .L7F0501A4 +/* 084B34 7F050004 00000000 */ nop +weapon_collect_msg_an_auto_shotgun: +/* 084B38 7F050008 0FC30776 */ jal get_textptr_for_textID +/* 084B3C 7F05000C 3404A42D */ li $a0, 42029 +/* 084B40 7F050010 02002025 */ move $a0, $s0 +/* 084B44 7F050014 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B48 7F050018 00402825 */ move $a1, $v0 +/* 084B4C 7F05001C 10000061 */ b .L7F0501A4 +/* 084B50 7F050020 00000000 */ nop +weapon_collect_msg_a_sniper: +/* 084B54 7F050024 0FC30776 */ jal get_textptr_for_textID +/* 084B58 7F050028 3404A42E */ li $a0, 42030 +/* 084B5C 7F05002C 02002025 */ move $a0, $s0 +/* 084B60 7F050030 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B64 7F050034 00402825 */ move $a1, $v0 +/* 084B68 7F050038 1000005A */ b .L7F0501A4 +/* 084B6C 7F05003C 00000000 */ nop +weapon_collect_msg_a_grenade_launcher: +/* 084B70 7F050040 0FC30776 */ jal get_textptr_for_textID +/* 084B74 7F050044 3404A42F */ li $a0, 42031 +/* 084B78 7F050048 02002025 */ move $a0, $s0 +/* 084B7C 7F05004C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B80 7F050050 00402825 */ move $a1, $v0 +/* 084B84 7F050054 10000053 */ b .L7F0501A4 +/* 084B88 7F050058 00000000 */ nop +weapon_collect_msg_a_rocket_launcher: +/* 084B8C 7F05005C 0FC30776 */ jal get_textptr_for_textID +/* 084B90 7F050060 3404A430 */ li $a0, 42032 +/* 084B94 7F050064 02002025 */ move $a0, $s0 +/* 084B98 7F050068 0C0029FF */ jal string_append_from_obseg_textbank +/* 084B9C 7F05006C 00402825 */ move $a1, $v0 +/* 084BA0 7F050070 1000004C */ b .L7F0501A4 +/* 084BA4 7F050074 00000000 */ nop +weapon_collect_msg_a_cougar_magnum: +/* 084BA8 7F050078 0FC30776 */ jal get_textptr_for_textID +/* 084BAC 7F05007C 3404A431 */ li $a0, 42033 +/* 084BB0 7F050080 02002025 */ move $a0, $s0 +/* 084BB4 7F050084 0C0029FF */ jal string_append_from_obseg_textbank +/* 084BB8 7F050088 00402825 */ move $a1, $v0 +/* 084BBC 7F05008C 10000045 */ b .L7F0501A4 +/* 084BC0 7F050090 00000000 */ nop +weapon_collect_msg_a_golden_gun: +/* 084BC4 7F050094 0FC30776 */ jal get_textptr_for_textID +/* 084BC8 7F050098 3404A432 */ li $a0, 42034 +/* 084BCC 7F05009C 02002025 */ move $a0, $s0 +/* 084BD0 7F0500A0 0C0029FF */ jal string_append_from_obseg_textbank +/* 084BD4 7F0500A4 00402825 */ move $a1, $v0 +/* 084BD8 7F0500A8 1000003E */ b .L7F0501A4 +/* 084BDC 7F0500AC 00000000 */ nop +weapon_collect_msg_a_moonraker_laser: +/* 084BE0 7F0500B0 0FC30776 */ jal get_textptr_for_textID +/* 084BE4 7F0500B4 3404A433 */ li $a0, 42035 +/* 084BE8 7F0500B8 02002025 */ move $a0, $s0 +/* 084BEC 7F0500BC 0C0029FF */ jal string_append_from_obseg_textbank +/* 084BF0 7F0500C0 00402825 */ move $a1, $v0 +/* 084BF4 7F0500C4 10000037 */ b .L7F0501A4 +/* 084BF8 7F0500C8 00000000 */ nop +weapon_collect_msg_a_flare_pistol: +/* 084BFC 7F0500CC 0FC30776 */ jal get_textptr_for_textID +/* 084C00 7F0500D0 3404A434 */ li $a0, 42036 +/* 084C04 7F0500D4 02002025 */ move $a0, $s0 +/* 084C08 7F0500D8 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C0C 7F0500DC 00402825 */ move $a1, $v0 +/* 084C10 7F0500E0 10000030 */ b .L7F0501A4 +/* 084C14 7F0500E4 00000000 */ nop +weapon_collect_msg_a_piton_gun: +/* 084C18 7F0500E8 0FC30776 */ jal get_textptr_for_textID +/* 084C1C 7F0500EC 3404A435 */ li $a0, 42037 +/* 084C20 7F0500F0 02002025 */ move $a0, $s0 +/* 084C24 7F0500F4 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C28 7F0500F8 00402825 */ move $a1, $v0 +/* 084C2C 7F0500FC 10000029 */ b .L7F0501A4 +/* 084C30 7F050100 00000000 */ nop +weapon_collect_msg_a_silver_pp7: +/* 084C34 7F050104 0FC30776 */ jal get_textptr_for_textID +/* 084C38 7F050108 3404A436 */ li $a0, 42038 +/* 084C3C 7F05010C 02002025 */ move $a0, $s0 +/* 084C40 7F050110 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C44 7F050114 00402825 */ move $a1, $v0 +/* 084C48 7F050118 10000022 */ b .L7F0501A4 +/* 084C4C 7F05011C 00000000 */ nop +weapon_collect_msg_a_gold_pp7: +/* 084C50 7F050120 0FC30776 */ jal get_textptr_for_textID +/* 084C54 7F050124 3404A437 */ li $a0, 42039 +/* 084C58 7F050128 02002025 */ move $a0, $s0 +/* 084C5C 7F05012C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C60 7F050130 00402825 */ move $a1, $v0 +/* 084C64 7F050134 1000001B */ b .L7F0501A4 +/* 084C68 7F050138 00000000 */ nop +weapon_collect_msg_a_keycard: +/* 084C6C 7F05013C 0FC30776 */ jal get_textptr_for_textID +/* 084C70 7F050140 3404A438 */ li $a0, 42040 +/* 084C74 7F050144 02002025 */ move $a0, $s0 +/* 084C78 7F050148 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C7C 7F05014C 00402825 */ move $a1, $v0 +/* 084C80 7F050150 10000014 */ b .L7F0501A4 +/* 084C84 7F050154 00000000 */ nop +weapon_collect_msg_a_yale_key: +/* 084C88 7F050158 0FC30776 */ jal get_textptr_for_textID +/* 084C8C 7F05015C 3404A439 */ li $a0, 42041 +/* 084C90 7F050160 02002025 */ move $a0, $s0 +/* 084C94 7F050164 0C0029FF */ jal string_append_from_obseg_textbank +/* 084C98 7F050168 00402825 */ move $a1, $v0 +/* 084C9C 7F05016C 1000000D */ b .L7F0501A4 +/* 084CA0 7F050170 00000000 */ nop +weapon_collect_msg_a_bolt_key: +/* 084CA4 7F050174 0FC30776 */ jal get_textptr_for_textID +/* 084CA8 7F050178 3404A43A */ li $a0, 42042 +/* 084CAC 7F05017C 02002025 */ move $a0, $s0 +/* 084CB0 7F050180 0C0029FF */ jal string_append_from_obseg_textbank +/* 084CB4 7F050184 00402825 */ move $a1, $v0 +/* 084CB8 7F050188 10000006 */ b .L7F0501A4 +/* 084CBC 7F05018C 00000000 */ nop +weapon_collect_msg_a_new_weapon: +.L7F050190: +/* 084CC0 7F050190 0FC30776 */ jal get_textptr_for_textID +/* 084CC4 7F050194 3404A43B */ li $a0, 42043 +/* 084CC8 7F050198 02002025 */ move $a0, $s0 +/* 084CCC 7F05019C 0C0029FF */ jal string_append_from_obseg_textbank +/* 084CD0 7F0501A0 00402825 */ move $a1, $v0 +.L7F0501A4: +/* 084CD4 7F0501A4 3C088005 */ lui $t0, %hi(j_text_trigger) +/* 084CD8 7F0501A8 8D0884D0 */ lw $t0, %lo(j_text_trigger)($t0) +/* 084CDC 7F0501AC 8FA90024 */ lw $t1, 0x24($sp) +/* 084CE0 7F0501B0 51000018 */ beql $t0, $zero, .L7F050214 +/* 084CE4 7F0501B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 084CE8 7F0501B8 55200016 */ bnezl $t1, .L7F050214 +/* 084CEC 7F0501BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 084CF0 7F0501C0 0C004E1F */ jal strlen +/* 084CF4 7F0501C4 02002025 */ move $a0, $s0 +/* 084CF8 7F0501C8 00505021 */ addu $t2, $v0, $s0 +/* 084CFC 7F0501CC 914BFFFF */ lbu $t3, -1($t2) +/* 084D00 7F0501D0 2401000A */ li $at, 10 +/* 084D04 7F0501D4 15610005 */ bne $t3, $at, .L7F0501EC +/* 084D08 7F0501D8 00000000 */ nop +/* 084D0C 7F0501DC 0C004E1F */ jal strlen +/* 084D10 7F0501E0 02002025 */ move $a0, $s0 +/* 084D14 7F0501E4 02026021 */ addu $t4, $s0, $v0 +/* 084D18 7F0501E8 A180FFFF */ sb $zero, -1($t4) +.L7F0501EC: +/* 084D1C 7F0501EC 0FC30776 */ jal get_textptr_for_textID +/* 084D20 7F0501F0 3404A400 */ li $a0, 41984 +/* 084D24 7F0501F4 02002025 */ move $a0, $s0 +/* 084D28 7F0501F8 0C0029FF */ jal string_append_from_obseg_textbank +/* 084D2C 7F0501FC 00402825 */ move $a1, $v0 +/* 084D30 7F050200 3C058005 */ lui $a1, %hi(D_80052A40) +/* 084D34 7F050204 24A52A40 */ addiu $a1, %lo(D_80052A40) # addiu $a1, $a1, 0x2a40 +/* 084D38 7F050208 0C0029FF */ jal string_append_from_obseg_textbank +/* 084D3C 7F05020C 02002025 */ move $a0, $s0 +/* 084D40 7F050210 8FBF001C */ lw $ra, 0x1c($sp) +.L7F050214: +/* 084D44 7F050214 8FB00018 */ lw $s0, 0x18($sp) +/* 084D48 7F050218 27BD0028 */ addiu $sp, $sp, 0x28 +/* 084D4C 7F05021C 03E00008 */ jr $ra +/* 084D50 7F050220 00000000 */ nop +) +#endif + + + + + + +void display_text_for_weapon_in_lower_left_corner(ITEM_IDS weaponid) +{ + char acStack100 [100]; + + generate_language_specific_text_for_weapon(acStack100,weaponid); +#ifdef VERSION_JP + jp_display_string_in_lower_left_corner(acStack100); +#else + display_string_in_lower_left_corner(acStack100); +#endif + return; +} + + + + + + +#ifdef NONMATCHING +void collect_or_interact_object(void) { + +} +#else +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata +/*D:8005322C*/ +glabel object_interaction_table +.word interact_default_object +.word interact_key_object +.word interact_default_object +.word interact_default_object +.word interact_magazine_object +.word interact_weapon_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_ammobox_object +.word interact_bodyarmor_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object + +.text +glabel collect_or_interact_object +/* 084D80 7F050250 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 084D84 7F050254 AFBF001C */ sw $ra, 0x1c($sp) +/* 084D88 7F050258 AFB00018 */ sw $s0, 0x18($sp) +/* 084D8C 7F05025C AFA40070 */ sw $a0, 0x70($sp) +/* 084D90 7F050260 AFA50074 */ sw $a1, 0x74($sp) +/* 084D94 7F050264 8C830004 */ lw $v1, 4($a0) +/* 084D98 7F050268 3C0F8008 */ lui $t7, %hi(pPlayer) +/* 084D9C 7F05026C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) +/* 084DA0 7F050270 AFA3006C */ sw $v1, 0x6c($sp) +/* 084DA4 7F050274 3C198005 */ lui $t9, %hi(clock_timer) +/* 084DA8 7F050278 8DF800D8 */ lw $t8, 0xd8($t7) +/* 084DAC 7F05027C 17000005 */ bnez $t8, .L7F050294 +/* 084DB0 7F050280 00000000 */ nop +/* 084DB4 7F050284 8F398374 */ lw $t9, %lo(clock_timer)($t9) +/* 084DB8 7F050288 8FA8006C */ lw $t0, 0x6c($sp) +/* 084DBC 7F05028C 57200004 */ bnezl $t9, .L7F0502A0 +/* 084DC0 7F050290 91090003 */ lbu $t1, 3($t0) +.L7F050294: +/* 084DC4 7F050294 1000010C */ b .L7F0506C8 +/* 084DC8 7F050298 00001025 */ move $v0, $zero +/* 084DCC 7F05029C 91090003 */ lbu $t1, 3($t0) +.L7F0502A0: +/* 084DD0 7F0502A0 252AFFFD */ addiu $t2, $t1, -3 +/* 084DD4 7F0502A4 2D41002D */ sltiu $at, $t2, 0x2d +/* 084DD8 7F0502A8 102000E0 */ beqz $at, .L7F05062C +/* 084DDC 7F0502AC 000A5080 */ sll $t2, $t2, 2 +/* 084DE0 7F0502B0 3C018005 */ lui $at, %hi(object_interaction_table) +/* 084DE4 7F0502B4 002A0821 */ addu $at, $at, $t2 +/* 084DE8 7F0502B8 8C2A322C */ lw $t2, %lo(object_interaction_table)($at) +/* 084DEC 7F0502BC 01400008 */ jr $t2 +/* 084DF0 7F0502C0 00000000 */ nop +interact_key_object: +/* 084DF4 7F0502C4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 084DF8 7F0502C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 084DFC 7F0502CC 240500E5 */ li $a1, 229 +/* 084E00 7F0502D0 0C002382 */ jal play_sfx_a1 +/* 084E04 7F0502D4 00003025 */ move $a2, $zero +/* 084E08 7F0502D8 8FAB0074 */ lw $t3, 0x74($sp) +/* 084E0C 7F0502DC 1160000A */ beqz $t3, .L7F050308 +/* 084E10 7F0502E0 00000000 */ nop +/* 084E14 7F0502E4 0FC23657 */ jal sub_GAME_7F08D95C +/* 084E18 7F0502E8 8FA4006C */ lw $a0, 0x6c($sp) +/* 084E1C 7F0502EC 14400004 */ bnez $v0, .L7F050300 +/* 084E20 7F0502F0 00402025 */ move $a0, $v0 +/* 084E24 7F0502F4 0FC30776 */ jal get_textptr_for_textID +/* 084E28 7F0502F8 3404A43C */ li $a0, 42044 +/* 084E2C 7F0502FC 00402025 */ move $a0, $v0 +.L7F050300: +/* 084E30 7F050300 0FC228F2 */ jal display_string_in_lower_left_corner +/* 084E34 7F050304 00000000 */ nop +.L7F050308: +/* 084E38 7F050308 100000DA */ b .L7F050674 +/* 084E3C 7F05030C 24030004 */ li $v1, 4 +interact_magazine_object: +/* 084E40 7F050310 00608025 */ move $s0, $v1 +/* 084E44 7F050314 0FC13F0F */ jal get_ammo_in_magazine +/* 084E48 7F050318 00602025 */ move $a0, $v1 +/* 084E4C 7F05031C 8E040080 */ lw $a0, 0x80($s0) +/* 084E50 7F050320 00402825 */ move $a1, $v0 +/* 084E54 7F050324 24060001 */ li $a2, 1 +/* 084E58 7F050328 0FC13E9A */ jal add_ammo_to_inventory +/* 084E5C 7F05032C 8FA70074 */ lw $a3, 0x74($sp) +/* 084E60 7F050330 100000D0 */ b .L7F050674 +/* 084E64 7F050334 24030001 */ li $v1, 1 +interact_ammobox_object: +/* 084E68 7F050338 00001025 */ move $v0, $zero +/* 084E6C 7F05033C 00608025 */ move $s0, $v1 +/* 084E70 7F050340 24430001 */ addiu $v1, $v0, 1 +.L7F050344: +/* 084E74 7F050344 24010001 */ li $at, 1 +/* 084E78 7F050348 14410002 */ bne $v0, $at, .L7F050354 +/* 084E7C 7F05034C 00602025 */ move $a0, $v1 +/* 084E80 7F050350 24040001 */ li $a0, 1 +.L7F050354: +/* 084E84 7F050354 96050082 */ lhu $a1, 0x82($s0) +/* 084E88 7F050358 AFA4004C */ sw $a0, 0x4c($sp) +/* 084E8C 7F05035C AFA30020 */ sw $v1, 0x20($sp) +/* 084E90 7F050360 0FC26919 */ jal get_num_players +/* 084E94 7F050364 AFA50050 */ sw $a1, 0x50($sp) +/* 084E98 7F050368 24010001 */ li $at, 1 +/* 084E9C 7F05036C 8FA30020 */ lw $v1, 0x20($sp) +/* 084EA0 7F050370 8FA4004C */ lw $a0, 0x4c($sp) +/* 084EA4 7F050374 14410009 */ bne $v0, $at, .L7F05039C +/* 084EA8 7F050378 8FA50050 */ lw $a1, 0x50($sp) +/* 084EAC 7F05037C 44852000 */ mtc1 $a1, $f4 +/* 084EB0 7F050380 3C018003 */ lui $at, %hi(solo_ammo_multiplier) +/* 084EB4 7F050384 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) +/* 084EB8 7F050388 468021A0 */ cvt.s.w $f6, $f4 +/* 084EBC 7F05038C 46083282 */ mul.s $f10, $f6, $f8 +/* 084EC0 7F050390 4600540D */ trunc.w.s $f16, $f10 +/* 084EC4 7F050394 44058000 */ mfc1 $a1, $f16 +/* 084EC8 7F050398 00000000 */ nop +.L7F05039C: +/* 084ECC 7F05039C 00003025 */ move $a2, $zero +/* 084ED0 7F0503A0 8FA70074 */ lw $a3, 0x74($sp) +/* 084ED4 7F0503A4 0FC13E9A */ jal add_ammo_to_inventory +/* 084ED8 7F0503A8 AFA30020 */ sw $v1, 0x20($sp) +/* 084EDC 7F0503AC 8FA20020 */ lw $v0, 0x20($sp) +/* 084EE0 7F0503B0 2401000D */ li $at, 13 +/* 084EE4 7F0503B4 26100004 */ addiu $s0, $s0, 4 +/* 084EE8 7F0503B8 5441FFE2 */ bnel $v0, $at, .L7F050344 +/* 084EEC 7F0503BC 24430001 */ addiu $v1, $v0, 1 +/* 084EF0 7F0503C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 084EF4 7F0503C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 084EF8 7F0503C8 240500EA */ li $a1, 234 +/* 084EFC 7F0503CC 0C002382 */ jal play_sfx_a1 +/* 084F00 7F0503D0 00003025 */ move $a2, $zero +/* 084F04 7F0503D4 100000A7 */ b .L7F050674 +/* 084F08 7F0503D8 24030001 */ li $v1, 1 +interact_weapon_object: +/* 084F0C 7F0503DC AFA00044 */ sw $zero, 0x44($sp) +/* 084F10 7F0503E0 80640080 */ lb $a0, 0x80($v1) +/* 084F14 7F0503E4 0FC13E04 */ jal set_sound_effect_for_weapontype_collection +/* 084F18 7F0503E8 AFA30048 */ sw $v1, 0x48($sp) +/* 084F1C 7F0503EC 8FAD0048 */ lw $t5, 0x48($sp) +/* 084F20 7F0503F0 2401001D */ li $at, 29 +/* 084F24 7F0503F4 81A40080 */ lb $a0, 0x80($t5) +/* 084F28 7F0503F8 54810006 */ bnel $a0, $at, .L7F050414 +/* 084F2C 7F0503FC 24010058 */ li $at, 88 +/* 084F30 7F050400 0FC23122 */ jal add_item_to_inventory +/* 084F34 7F050404 2404001E */ li $a0, 30 +/* 084F38 7F050408 10000007 */ b .L7F050428 +/* 084F3C 7F05040C 8FAE006C */ lw $t6, 0x6c($sp) +/* 084F40 7F050410 24010058 */ li $at, 88 +.L7F050414: +/* 084F44 7F050414 14810003 */ bne $a0, $at, .L7F050424 +/* 084F48 7F050418 24050058 */ li $a1, 88 +/* 084F4C 7F05041C 0FC17645 */ jal draw_item_in_hand_has_more_ammo +/* 084F50 7F050420 00002025 */ move $a0, $zero +.L7F050424: +/* 084F54 7F050424 8FAE006C */ lw $t6, 0x6c($sp) +.L7F050428: +/* 084F58 7F050428 8FB90048 */ lw $t9, 0x48($sp) +/* 084F5C 7F05042C 8DCF0064 */ lw $t7, 0x64($t6) +/* 084F60 7F050430 31F80400 */ andi $t8, $t7, 0x400 +/* 084F64 7F050434 1300001B */ beqz $t8, .L7F0504A4 +/* 084F68 7F050438 00000000 */ nop +/* 084F6C 7F05043C 83280080 */ lb $t0, 0x80($t9) +/* 084F70 7F050440 29010021 */ slti $at, $t0, 0x21 +/* 084F74 7F050444 50200004 */ beql $at, $zero, .L7F050458 +/* 084F78 7F050448 8FA90074 */ lw $t1, 0x74($sp) +/* 084F7C 7F05044C 0FC231D9 */ jal sub_GAME_7F08C764 +/* 084F80 7F050450 8FA40070 */ lw $a0, 0x70($sp) +/* 084F84 7F050454 8FA90074 */ lw $t1, 0x74($sp) +.L7F050458: +/* 084F88 7F050458 5120000F */ beql $t1, $zero, .L7F050498 +/* 084F8C 7F05045C 8FAC0048 */ lw $t4, 0x48($sp) +/* 084F90 7F050460 0FC23657 */ jal sub_GAME_7F08D95C +/* 084F94 7F050464 8FA4006C */ lw $a0, 0x6c($sp) +/* 084F98 7F050468 10400005 */ beqz $v0, .L7F050480 +/* 084F9C 7F05046C 00402025 */ move $a0, $v0 +/* 084FA0 7F050470 0FC228F2 */ jal display_string_in_lower_left_corner +/* 084FA4 7F050474 00000000 */ nop +/* 084FA8 7F050478 10000005 */ b .L7F050490 +/* 084FAC 7F05047C 240B0001 */ li $t3, 1 +.L7F050480: +/* 084FB0 7F050480 8FAA0048 */ lw $t2, 0x48($sp) +/* 084FB4 7F050484 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner +/* 084FB8 7F050488 81440080 */ lb $a0, 0x80($t2) +/* 084FBC 7F05048C 240B0001 */ li $t3, 1 +.L7F050490: +/* 084FC0 7F050490 AFAB0044 */ sw $t3, 0x44($sp) +/* 084FC4 7F050494 8FAC0048 */ lw $t4, 0x48($sp) +.L7F050498: +/* 084FC8 7F050498 24030004 */ li $v1, 4 +/* 084FCC 7F05049C 1000001C */ b .L7F050510 +/* 084FD0 7F0504A0 81840080 */ lb $a0, 0x80($t4) +.L7F0504A4: +/* 084FD4 7F0504A4 0FC231D9 */ jal sub_GAME_7F08C764 +/* 084FD8 7F0504A8 8FA40070 */ lw $a0, 0x70($sp) +/* 084FDC 7F0504AC 10400002 */ beqz $v0, .L7F0504B8 +/* 084FE0 7F0504B0 240D0001 */ li $t5, 1 +/* 084FE4 7F0504B4 AFAD0044 */ sw $t5, 0x44($sp) +.L7F0504B8: +/* 084FE8 7F0504B8 8FAE0074 */ lw $t6, 0x74($sp) +/* 084FEC 7F0504BC 8FAF0048 */ lw $t7, 0x48($sp) +/* 084FF0 7F0504C0 51C00011 */ beql $t6, $zero, .L7F050508 +/* 084FF4 7F0504C4 8FA90048 */ lw $t1, 0x48($sp) +/* 084FF8 7F0504C8 0FC23669 */ jal sub_GAME_7F08D9A4 +/* 084FFC 7F0504CC 81E40080 */ lb $a0, 0x80($t7) +/* 085000 7F0504D0 10400006 */ beqz $v0, .L7F0504EC +/* 085004 7F0504D4 00402025 */ move $a0, $v0 +/* 085008 7F0504D8 24180001 */ li $t8, 1 +/* 08500C 7F0504DC 0FC228F2 */ jal display_string_in_lower_left_corner +/* 085010 7F0504E0 AFB80044 */ sw $t8, 0x44($sp) +/* 085014 7F0504E4 10000008 */ b .L7F050508 +/* 085018 7F0504E8 8FA90048 */ lw $t1, 0x48($sp) +.L7F0504EC: +/* 08501C 7F0504EC 8FB90044 */ lw $t9, 0x44($sp) +/* 085020 7F0504F0 8FA80048 */ lw $t0, 0x48($sp) +/* 085024 7F0504F4 53200004 */ beql $t9, $zero, .L7F050508 +/* 085028 7F0504F8 8FA90048 */ lw $t1, 0x48($sp) +/* 08502C 7F0504FC 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner +/* 085030 7F050500 81040080 */ lb $a0, 0x80($t0) +/* 085034 7F050504 8FA90048 */ lw $t1, 0x48($sp) +.L7F050508: +/* 085038 7F050508 24030001 */ li $v1, 1 +/* 08503C 7F05050C 81240080 */ lb $a0, 0x80($t1) +.L7F050510: +/* 085040 7F050510 0FC1A50B */ jal get_ammo_type_for_weapon +/* 085044 7F050514 AFA30068 */ sw $v1, 0x68($sp) +/* 085048 7F050518 8FA30068 */ lw $v1, 0x68($sp) +/* 08504C 7F05051C 10400055 */ beqz $v0, .L7F050674 +/* 085050 7F050520 00408025 */ move $s0, $v0 +/* 085054 7F050524 8FA40048 */ lw $a0, 0x48($sp) +/* 085058 7F050528 0FC13F3E */ jal ammo_collected_from_weapon +/* 08505C 7F05052C AFA30068 */ sw $v1, 0x68($sp) +/* 085060 7F050530 8FA30068 */ lw $v1, 0x68($sp) +/* 085064 7F050534 1840004F */ blez $v0, .L7F050674 +/* 085068 7F050538 AFA20034 */ sw $v0, 0x34($sp) +/* 08506C 7F05053C 02002025 */ move $a0, $s0 +/* 085070 7F050540 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 085074 7F050544 AFA30068 */ sw $v1, 0x68($sp) +/* 085078 7F050548 AFA20024 */ sw $v0, 0x24($sp) +/* 08507C 7F05054C 0FC1A4B5 */ jal get_max_ammo_for_type +/* 085080 7F050550 02002025 */ move $a0, $s0 +/* 085084 7F050554 8FAA0024 */ lw $t2, 0x24($sp) +/* 085088 7F050558 8FA30068 */ lw $v1, 0x68($sp) +/* 08508C 7F05055C 02002025 */ move $a0, $s0 +/* 085090 7F050560 0142082A */ slt $at, $t2, $v0 +/* 085094 7F050564 50200044 */ beql $at, $zero, .L7F050678 +/* 085098 7F050568 24010001 */ li $at, 1 +/* 08509C 7F05056C 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 0850A0 7F050570 AFA30068 */ sw $v1, 0x68($sp) +/* 0850A4 7F050574 8FAB0034 */ lw $t3, 0x34($sp) +/* 0850A8 7F050578 02002025 */ move $a0, $s0 +/* 0850AC 7F05057C 0FC1A44C */ jal give_cur_player_ammo +/* 0850B0 7F050580 004B2821 */ addu $a1, $v0, $t3 +/* 0850B4 7F050584 8FAC0044 */ lw $t4, 0x44($sp) +/* 0850B8 7F050588 8FA30068 */ lw $v1, 0x68($sp) +/* 0850BC 7F05058C 8FAD0074 */ lw $t5, 0x74($sp) +/* 0850C0 7F050590 55800039 */ bnezl $t4, .L7F050678 +/* 0850C4 7F050594 24010001 */ li $at, 1 +/* 0850C8 7F050598 11A00036 */ beqz $t5, .L7F050674 +/* 0850CC 7F05059C 02002025 */ move $a0, $s0 +/* 0850D0 7F0505A0 8FA50034 */ lw $a1, 0x34($sp) +/* 0850D4 7F0505A4 0FC13E7E */ jal display_text_when_ammo_collected +/* 0850D8 7F0505A8 AFA30068 */ sw $v1, 0x68($sp) +/* 0850DC 7F0505AC 10000031 */ b .L7F050674 +/* 0850E0 7F0505B0 8FA30068 */ lw $v1, 0x68($sp) +interact_bodyarmor_object: +/* 0850E4 7F0505B4 0FC228C3 */ jal add_BONDdata_watch_armor +/* 0850E8 7F0505B8 C46C0084 */ lwc1 $f12, 0x84($v1) +/* 0850EC 7F0505BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0850F0 7F0505C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0850F4 7F0505C4 24050051 */ li $a1, 81 +/* 0850F8 7F0505C8 0C002382 */ jal play_sfx_a1 +/* 0850FC 7F0505CC 00003025 */ move $a2, $zero +/* 085100 7F0505D0 8FAE0074 */ lw $t6, 0x74($sp) +/* 085104 7F0505D4 11C00013 */ beqz $t6, .L7F050624 +/* 085108 7F0505D8 00000000 */ nop +/* 08510C 7F0505DC 0FC23657 */ jal sub_GAME_7F08D95C +/* 085110 7F0505E0 8FA4006C */ lw $a0, 0x6c($sp) +/* 085114 7F0505E4 1440000D */ bnez $v0, .L7F05061C +/* 085118 7F0505E8 00402025 */ move $a0, $v0 +/* 08511C 7F0505EC 0FC26919 */ jal get_num_players +/* 085120 7F0505F0 00000000 */ nop +/* 085124 7F0505F4 28410003 */ slti $at, $v0, 3 +/* 085128 7F0505F8 10200005 */ beqz $at, .L7F050610 +/* 08512C 7F0505FC 00000000 */ nop +/* 085130 7F050600 0FC30776 */ jal get_textptr_for_textID +/* 085134 7F050604 3404A43D */ li $a0, 42045 +/* 085138 7F050608 10000004 */ b .L7F05061C +/* 08513C 7F05060C 00402025 */ move $a0, $v0 +.L7F050610: +/* 085140 7F050610 0FC30776 */ jal get_textptr_for_textID +/* 085144 7F050614 3404A43E */ li $a0, 42046 +/* 085148 7F050618 00402025 */ move $a0, $v0 +.L7F05061C: +/* 08514C 7F05061C 0FC228F2 */ jal display_string_in_lower_left_corner +/* 085150 7F050620 00000000 */ nop +.L7F050624: +/* 085154 7F050624 10000013 */ b .L7F050674 +/* 085158 7F050628 24030001 */ li $v1, 1 +interact_default_object: +.L7F05062C: +/* 08515C 7F05062C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 085160 7F050630 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 085164 7F050634 240500E5 */ li $a1, 229 +/* 085168 7F050638 0C002382 */ jal play_sfx_a1 +/* 08516C 7F05063C 00003025 */ move $a2, $zero +/* 085170 7F050640 8FAF0074 */ lw $t7, 0x74($sp) +/* 085174 7F050644 51E0000B */ beql $t7, $zero, .L7F050674 +/* 085178 7F050648 24030004 */ li $v1, 4 +/* 08517C 7F05064C 0FC23657 */ jal sub_GAME_7F08D95C +/* 085180 7F050650 8FA4006C */ lw $a0, 0x6c($sp) +/* 085184 7F050654 14400004 */ bnez $v0, .L7F050668 +/* 085188 7F050658 00402025 */ move $a0, $v0 +/* 08518C 7F05065C 0FC30776 */ jal get_textptr_for_textID +/* 085190 7F050660 3404A43F */ li $a0, 42047 +/* 085194 7F050664 00402025 */ move $a0, $v0 +.L7F050668: +/* 085198 7F050668 0FC228F2 */ jal display_string_in_lower_left_corner +/* 08519C 7F05066C 00000000 */ nop +/* 0851A0 7F050670 24030004 */ li $v1, 4 +.L7F050674: +/* 0851A4 7F050674 24010001 */ li $at, 1 +.L7F050678: +/* 0851A8 7F050678 1461000D */ bne $v1, $at, .L7F0506B0 +/* 0851AC 7F05067C 8FB8006C */ lw $t8, 0x6c($sp) +/* 0851B0 7F050680 8F190064 */ lw $t9, 0x64($t8) +/* 0851B4 7F050684 33280010 */ andi $t0, $t9, 0x10 +/* 0851B8 7F050688 15000009 */ bnez $t0, .L7F0506B0 +/* 0851BC 7F05068C 00000000 */ nop +/* 0851C0 7F050690 93060002 */ lbu $a2, 2($t8) +/* 0851C4 7F050694 03002025 */ move $a0, $t8 +/* 0851C8 7F050698 00002825 */ move $a1, $zero +/* 0851CC 7F05069C 30C90004 */ andi $t1, $a2, 4 +/* 0851D0 7F0506A0 0FC10366 */ jal sub_GAME_7F040D98 +/* 0851D4 7F0506A4 01203025 */ move $a2, $t1 +/* 0851D8 7F0506A8 10000007 */ b .L7F0506C8 +/* 0851DC 7F0506AC 24020001 */ li $v0, 1 +.L7F0506B0: +/* 0851E0 7F0506B0 10600005 */ beqz $v1, .L7F0506C8 +/* 0851E4 7F0506B4 00001025 */ move $v0, $zero +/* 0851E8 7F0506B8 0FC231C9 */ jal sub_GAME_7F08C724 +/* 0851EC 7F0506BC 8FA40070 */ lw $a0, 0x70($sp) +/* 0851F0 7F0506C0 10000001 */ b .L7F0506C8 +/* 0851F4 7F0506C4 24020004 */ li $v0, 4 +.L7F0506C8: +/* 0851F8 7F0506C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0851FC 7F0506CC 8FB00018 */ lw $s0, 0x18($sp) +/* 085200 7F0506D0 27BD0070 */ addiu $sp, $sp, 0x70 +/* 085204 7F0506D4 03E00008 */ jr $ra +/* 085208 7F0506D8 00000000 */ nop +) +#endif +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata +/*D:8005322C*/ +glabel object_interaction_table +.word interact_default_object +.word interact_key_object +.word interact_default_object +.word interact_default_object +.word interact_magazine_object +.word interact_weapon_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_ammobox_object +.word interact_bodyarmor_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object +.word interact_default_object + +.text +glabel collect_or_interact_object +/* 084D80 7F050250 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 084D84 7F050254 AFBF001C */ sw $ra, 0x1c($sp) +/* 084D88 7F050258 AFB00018 */ sw $s0, 0x18($sp) +/* 084D8C 7F05025C AFA40070 */ sw $a0, 0x70($sp) +/* 084D90 7F050260 AFA50074 */ sw $a1, 0x74($sp) +/* 084D94 7F050264 8C830004 */ lw $v1, 4($a0) +/* 084D98 7F050268 3C0F8008 */ lui $t7, %hi(pPlayer) +/* 084D9C 7F05026C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) +/* 084DA0 7F050270 AFA3006C */ sw $v1, 0x6c($sp) +/* 084DA4 7F050274 3C198005 */ lui $t9, %hi(clock_timer) +/* 084DA8 7F050278 8DF800D8 */ lw $t8, 0xd8($t7) +/* 084DAC 7F05027C 17000005 */ bnez $t8, .L7F050294 +/* 084DB0 7F050280 00000000 */ nop +/* 084DB4 7F050284 8F398374 */ lw $t9, %lo(clock_timer)($t9) +/* 084DB8 7F050288 8FA8006C */ lw $t0, 0x6c($sp) +/* 084DBC 7F05028C 57200004 */ bnezl $t9, .L7F0502A0 +/* 084DC0 7F050290 91090003 */ lbu $t1, 3($t0) +.L7F050294: +/* 084DC4 7F050294 1000010C */ b .L7F0506C8 +/* 084DC8 7F050298 00001025 */ move $v0, $zero +/* 084DCC 7F05029C 91090003 */ lbu $t1, 3($t0) +.L7F0502A0: +/* 084DD0 7F0502A0 252AFFFD */ addiu $t2, $t1, -3 +/* 084DD4 7F0502A4 2D41002D */ sltiu $at, $t2, 0x2d +/* 084DD8 7F0502A8 102000E0 */ beqz $at, .L7F05062C +/* 084DDC 7F0502AC 000A5080 */ sll $t2, $t2, 2 +/* 084DE0 7F0502B0 3C018005 */ lui $at, %hi(object_interaction_table) +/* 084DE4 7F0502B4 002A0821 */ addu $at, $at, $t2 +/* 084DE8 7F0502B8 8C2A322C */ lw $t2, %lo(object_interaction_table)($at) +/* 084DEC 7F0502BC 01400008 */ jr $t2 +/* 084DF0 7F0502C0 00000000 */ nop +interact_key_object: +/* 084DF4 7F0502C4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 084DF8 7F0502C8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 084DFC 7F0502CC 240500E5 */ li $a1, 229 +/* 084E00 7F0502D0 0C002382 */ jal play_sfx_a1 +/* 084E04 7F0502D4 00003025 */ move $a2, $zero +/* 084E08 7F0502D8 8FAB0074 */ lw $t3, 0x74($sp) +/* 084E0C 7F0502DC 1160000A */ beqz $t3, .L7F050308 +/* 084E10 7F0502E0 00000000 */ nop +/* 084E14 7F0502E4 0FC23657 */ jal sub_GAME_7F08D95C +/* 084E18 7F0502E8 8FA4006C */ lw $a0, 0x6c($sp) +/* 084E1C 7F0502EC 14400004 */ bnez $v0, .L7F050300 +/* 084E20 7F0502F0 00402025 */ move $a0, $v0 +/* 084E24 7F0502F4 0FC30776 */ jal get_textptr_for_textID +/* 084E28 7F0502F8 3404A43C */ li $a0, 42044 +/* 084E2C 7F0502FC 00402025 */ move $a0, $v0 +.L7F050300: +/* 084E30 7F050300 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 084E34 7F050304 00000000 */ nop +.L7F050308: +/* 084E38 7F050308 100000DA */ b .L7F050674 +/* 084E3C 7F05030C 24030004 */ li $v1, 4 +interact_magazine_object: +/* 084E40 7F050310 00608025 */ move $s0, $v1 +/* 084E44 7F050314 0FC13F0F */ jal get_ammo_in_magazine +/* 084E48 7F050318 00602025 */ move $a0, $v1 +/* 084E4C 7F05031C 8E040080 */ lw $a0, 0x80($s0) +/* 084E50 7F050320 00402825 */ move $a1, $v0 +/* 084E54 7F050324 24060001 */ li $a2, 1 +/* 084E58 7F050328 0FC13E9A */ jal add_ammo_to_inventory +/* 084E5C 7F05032C 8FA70074 */ lw $a3, 0x74($sp) +/* 084E60 7F050330 100000D0 */ b .L7F050674 +/* 084E64 7F050334 24030001 */ li $v1, 1 +interact_ammobox_object: +/* 084E68 7F050338 00001025 */ move $v0, $zero +/* 084E6C 7F05033C 00608025 */ move $s0, $v1 +/* 084E70 7F050340 24430001 */ addiu $v1, $v0, 1 +.L7F050344: +/* 084E74 7F050344 24010001 */ li $at, 1 +/* 084E78 7F050348 14410002 */ bne $v0, $at, .L7F050354 +/* 084E7C 7F05034C 00602025 */ move $a0, $v1 +/* 084E80 7F050350 24040001 */ li $a0, 1 +.L7F050354: +/* 084E84 7F050354 96050082 */ lhu $a1, 0x82($s0) +/* 084E88 7F050358 AFA4004C */ sw $a0, 0x4c($sp) +/* 084E8C 7F05035C AFA30020 */ sw $v1, 0x20($sp) +/* 084E90 7F050360 0FC26919 */ jal get_num_players +/* 084E94 7F050364 AFA50050 */ sw $a1, 0x50($sp) +/* 084E98 7F050368 24010001 */ li $at, 1 +/* 084E9C 7F05036C 8FA30020 */ lw $v1, 0x20($sp) +/* 084EA0 7F050370 8FA4004C */ lw $a0, 0x4c($sp) +/* 084EA4 7F050374 14410009 */ bne $v0, $at, .L7F05039C +/* 084EA8 7F050378 8FA50050 */ lw $a1, 0x50($sp) +/* 084EAC 7F05037C 44852000 */ mtc1 $a1, $f4 +/* 084EB0 7F050380 3C018003 */ lui $at, %hi(solo_ammo_multiplier) +/* 084EB4 7F050384 C4280B28 */ lwc1 $f8, %lo(solo_ammo_multiplier)($at) +/* 084EB8 7F050388 468021A0 */ cvt.s.w $f6, $f4 +/* 084EBC 7F05038C 46083282 */ mul.s $f10, $f6, $f8 +/* 084EC0 7F050390 4600540D */ trunc.w.s $f16, $f10 +/* 084EC4 7F050394 44058000 */ mfc1 $a1, $f16 +/* 084EC8 7F050398 00000000 */ nop +.L7F05039C: +/* 084ECC 7F05039C 00003025 */ move $a2, $zero +/* 084ED0 7F0503A0 8FA70074 */ lw $a3, 0x74($sp) +/* 084ED4 7F0503A4 0FC13E9A */ jal add_ammo_to_inventory +/* 084ED8 7F0503A8 AFA30020 */ sw $v1, 0x20($sp) +/* 084EDC 7F0503AC 8FA20020 */ lw $v0, 0x20($sp) +/* 084EE0 7F0503B0 2401000D */ li $at, 13 +/* 084EE4 7F0503B4 26100004 */ addiu $s0, $s0, 4 +/* 084EE8 7F0503B8 5441FFE2 */ bnel $v0, $at, .L7F050344 +/* 084EEC 7F0503BC 24430001 */ addiu $v1, $v0, 1 +/* 084EF0 7F0503C0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 084EF4 7F0503C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 084EF8 7F0503C8 240500EA */ li $a1, 234 +/* 084EFC 7F0503CC 0C002382 */ jal play_sfx_a1 +/* 084F00 7F0503D0 00003025 */ move $a2, $zero +/* 084F04 7F0503D4 100000A7 */ b .L7F050674 +/* 084F08 7F0503D8 24030001 */ li $v1, 1 +interact_weapon_object: +/* 084F0C 7F0503DC AFA00044 */ sw $zero, 0x44($sp) +/* 084F10 7F0503E0 80640080 */ lb $a0, 0x80($v1) +/* 084F14 7F0503E4 0FC13E04 */ jal set_sound_effect_for_weapontype_collection +/* 084F18 7F0503E8 AFA30048 */ sw $v1, 0x48($sp) +/* 084F1C 7F0503EC 8FAD0048 */ lw $t5, 0x48($sp) +/* 084F20 7F0503F0 2401001D */ li $at, 29 +/* 084F24 7F0503F4 81A40080 */ lb $a0, 0x80($t5) +/* 084F28 7F0503F8 54810006 */ bnel $a0, $at, .L7F050414 +/* 084F2C 7F0503FC 24010058 */ li $at, 88 +/* 084F30 7F050400 0FC23122 */ jal add_item_to_inventory +/* 084F34 7F050404 2404001E */ li $a0, 30 +/* 084F38 7F050408 10000007 */ b .L7F050428 +/* 084F3C 7F05040C 8FAE006C */ lw $t6, 0x6c($sp) +/* 084F40 7F050410 24010058 */ li $at, 88 +.L7F050414: +/* 084F44 7F050414 14810003 */ bne $a0, $at, .L7F050424 +/* 084F48 7F050418 24050058 */ li $a1, 88 +/* 084F4C 7F05041C 0FC17645 */ jal draw_item_in_hand_has_more_ammo +/* 084F50 7F050420 00002025 */ move $a0, $zero +.L7F050424: +/* 084F54 7F050424 8FAE006C */ lw $t6, 0x6c($sp) +.L7F050428: +/* 084F58 7F050428 8FB90048 */ lw $t9, 0x48($sp) +/* 084F5C 7F05042C 8DCF0064 */ lw $t7, 0x64($t6) +/* 084F60 7F050430 31F80400 */ andi $t8, $t7, 0x400 +/* 084F64 7F050434 1300001B */ beqz $t8, .L7F0504A4 +/* 084F68 7F050438 00000000 */ nop +/* 084F6C 7F05043C 83280080 */ lb $t0, 0x80($t9) +/* 084F70 7F050440 29010021 */ slti $at, $t0, 0x21 +/* 084F74 7F050444 50200004 */ beql $at, $zero, .L7F050458 +/* 084F78 7F050448 8FA90074 */ lw $t1, 0x74($sp) +/* 084F7C 7F05044C 0FC231D9 */ jal sub_GAME_7F08C764 +/* 084F80 7F050450 8FA40070 */ lw $a0, 0x70($sp) +/* 084F84 7F050454 8FA90074 */ lw $t1, 0x74($sp) +.L7F050458: +/* 084F88 7F050458 5120000F */ beql $t1, $zero, .L7F050498 +/* 084F8C 7F05045C 8FAC0048 */ lw $t4, 0x48($sp) +/* 084F90 7F050460 0FC23657 */ jal sub_GAME_7F08D95C +/* 084F94 7F050464 8FA4006C */ lw $a0, 0x6c($sp) +/* 084F98 7F050468 10400005 */ beqz $v0, .L7F050480 +/* 084F9C 7F05046C 00402025 */ move $a0, $v0 +/* 084FA0 7F050470 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 084FA4 7F050474 00000000 */ nop +/* 084FA8 7F050478 10000005 */ b .L7F050490 +/* 084FAC 7F05047C 240B0001 */ li $t3, 1 +.L7F050480: +/* 084FB0 7F050480 8FAA0048 */ lw $t2, 0x48($sp) +/* 084FB4 7F050484 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner +/* 084FB8 7F050488 81440080 */ lb $a0, 0x80($t2) +/* 084FBC 7F05048C 240B0001 */ li $t3, 1 +.L7F050490: +/* 084FC0 7F050490 AFAB0044 */ sw $t3, 0x44($sp) +/* 084FC4 7F050494 8FAC0048 */ lw $t4, 0x48($sp) +.L7F050498: +/* 084FC8 7F050498 24030004 */ li $v1, 4 +/* 084FCC 7F05049C 1000001C */ b .L7F050510 +/* 084FD0 7F0504A0 81840080 */ lb $a0, 0x80($t4) +.L7F0504A4: +/* 084FD4 7F0504A4 0FC231D9 */ jal sub_GAME_7F08C764 +/* 084FD8 7F0504A8 8FA40070 */ lw $a0, 0x70($sp) +/* 084FDC 7F0504AC 10400002 */ beqz $v0, .L7F0504B8 +/* 084FE0 7F0504B0 240D0001 */ li $t5, 1 +/* 084FE4 7F0504B4 AFAD0044 */ sw $t5, 0x44($sp) +.L7F0504B8: +/* 084FE8 7F0504B8 8FAE0074 */ lw $t6, 0x74($sp) +/* 084FEC 7F0504BC 8FAF0048 */ lw $t7, 0x48($sp) +/* 084FF0 7F0504C0 51C00011 */ beql $t6, $zero, .L7F050508 +/* 084FF4 7F0504C4 8FA90048 */ lw $t1, 0x48($sp) +/* 084FF8 7F0504C8 0FC23669 */ jal sub_GAME_7F08D9A4 +/* 084FFC 7F0504CC 81E40080 */ lb $a0, 0x80($t7) +/* 085000 7F0504D0 10400006 */ beqz $v0, .L7F0504EC +/* 085004 7F0504D4 00402025 */ move $a0, $v0 +/* 085008 7F0504D8 24180001 */ li $t8, 1 +/* 08500C 7F0504DC 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 085010 7F0504E0 AFB80044 */ sw $t8, 0x44($sp) +/* 085014 7F0504E4 10000008 */ b .L7F050508 +/* 085018 7F0504E8 8FA90048 */ lw $t1, 0x48($sp) +.L7F0504EC: +/* 08501C 7F0504EC 8FB90044 */ lw $t9, 0x44($sp) +/* 085020 7F0504F0 8FA80048 */ lw $t0, 0x48($sp) +/* 085024 7F0504F4 53200004 */ beql $t9, $zero, .L7F050508 +/* 085028 7F0504F8 8FA90048 */ lw $t1, 0x48($sp) +/* 08502C 7F0504FC 0FC14089 */ jal display_text_for_weapon_in_lower_left_corner +/* 085030 7F050500 81040080 */ lb $a0, 0x80($t0) +/* 085034 7F050504 8FA90048 */ lw $t1, 0x48($sp) +.L7F050508: +/* 085038 7F050508 24030001 */ li $v1, 1 +/* 08503C 7F05050C 81240080 */ lb $a0, 0x80($t1) +.L7F050510: +/* 085040 7F050510 0FC1A50B */ jal get_ammo_type_for_weapon +/* 085044 7F050514 AFA30068 */ sw $v1, 0x68($sp) +/* 085048 7F050518 8FA30068 */ lw $v1, 0x68($sp) +/* 08504C 7F05051C 10400055 */ beqz $v0, .L7F050674 +/* 085050 7F050520 00408025 */ move $s0, $v0 +/* 085054 7F050524 8FA40048 */ lw $a0, 0x48($sp) +/* 085058 7F050528 0FC13F3E */ jal ammo_collected_from_weapon +/* 08505C 7F05052C AFA30068 */ sw $v1, 0x68($sp) +/* 085060 7F050530 8FA30068 */ lw $v1, 0x68($sp) +/* 085064 7F050534 1840004F */ blez $v0, .L7F050674 +/* 085068 7F050538 AFA20034 */ sw $v0, 0x34($sp) +/* 08506C 7F05053C 02002025 */ move $a0, $s0 +/* 085070 7F050540 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 085074 7F050544 AFA30068 */ sw $v1, 0x68($sp) +/* 085078 7F050548 AFA20024 */ sw $v0, 0x24($sp) +/* 08507C 7F05054C 0FC1A4B5 */ jal get_max_ammo_for_type +/* 085080 7F050550 02002025 */ move $a0, $s0 +/* 085084 7F050554 8FAA0024 */ lw $t2, 0x24($sp) +/* 085088 7F050558 8FA30068 */ lw $v1, 0x68($sp) +/* 08508C 7F05055C 02002025 */ move $a0, $s0 +/* 085090 7F050560 0142082A */ slt $at, $t2, $v0 +/* 085094 7F050564 50200044 */ beql $at, $zero, .L7F050678 +/* 085098 7F050568 24010001 */ li $at, 1 +/* 08509C 7F05056C 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 0850A0 7F050570 AFA30068 */ sw $v1, 0x68($sp) +/* 0850A4 7F050574 8FAB0034 */ lw $t3, 0x34($sp) +/* 0850A8 7F050578 02002025 */ move $a0, $s0 +/* 0850AC 7F05057C 0FC1A44C */ jal give_cur_player_ammo +/* 0850B0 7F050580 004B2821 */ addu $a1, $v0, $t3 +/* 0850B4 7F050584 8FAC0044 */ lw $t4, 0x44($sp) +/* 0850B8 7F050588 8FA30068 */ lw $v1, 0x68($sp) +/* 0850BC 7F05058C 8FAD0074 */ lw $t5, 0x74($sp) +/* 0850C0 7F050590 55800039 */ bnezl $t4, .L7F050678 +/* 0850C4 7F050594 24010001 */ li $at, 1 +/* 0850C8 7F050598 11A00036 */ beqz $t5, .L7F050674 +/* 0850CC 7F05059C 02002025 */ move $a0, $s0 +/* 0850D0 7F0505A0 8FA50034 */ lw $a1, 0x34($sp) +/* 0850D4 7F0505A4 0FC13E7E */ jal display_text_when_ammo_collected +/* 0850D8 7F0505A8 AFA30068 */ sw $v1, 0x68($sp) +/* 0850DC 7F0505AC 10000031 */ b .L7F050674 +/* 0850E0 7F0505B0 8FA30068 */ lw $v1, 0x68($sp) +interact_bodyarmor_object: +/* 0850E4 7F0505B4 0FC228C3 */ jal add_BONDdata_watch_armor +/* 0850E8 7F0505B8 C46C0084 */ lwc1 $f12, 0x84($v1) +/* 0850EC 7F0505BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0850F0 7F0505C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0850F4 7F0505C4 24050051 */ li $a1, 81 +/* 0850F8 7F0505C8 0C002382 */ jal play_sfx_a1 +/* 0850FC 7F0505CC 00003025 */ move $a2, $zero +/* 085100 7F0505D0 8FAE0074 */ lw $t6, 0x74($sp) +/* 085104 7F0505D4 11C00013 */ beqz $t6, .L7F050624 +/* 085108 7F0505D8 00000000 */ nop +/* 08510C 7F0505DC 0FC23657 */ jal sub_GAME_7F08D95C +/* 085110 7F0505E0 8FA4006C */ lw $a0, 0x6c($sp) +/* 085114 7F0505E4 1440000D */ bnez $v0, .L7F05061C +/* 085118 7F0505E8 00402025 */ move $a0, $v0 +/* 08511C 7F0505EC 0FC26919 */ jal get_num_players +/* 085120 7F0505F0 00000000 */ nop +/* 085124 7F0505F4 28410003 */ slti $at, $v0, 3 +/* 085128 7F0505F8 10200005 */ beqz $at, .L7F050610 +/* 08512C 7F0505FC 00000000 */ nop +/* 085130 7F050600 0FC30776 */ jal get_textptr_for_textID +/* 085134 7F050604 3404A43D */ li $a0, 42045 +/* 085138 7F050608 10000004 */ b .L7F05061C +/* 08513C 7F05060C 00402025 */ move $a0, $v0 +.L7F050610: +/* 085140 7F050610 0FC30776 */ jal get_textptr_for_textID +/* 085144 7F050614 3404A43E */ li $a0, 42046 +/* 085148 7F050618 00402025 */ move $a0, $v0 +.L7F05061C: +/* 08514C 7F05061C 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 085150 7F050620 00000000 */ nop +.L7F050624: +/* 085154 7F050624 10000013 */ b .L7F050674 +/* 085158 7F050628 24030001 */ li $v1, 1 +interact_default_object: +.L7F05062C: +/* 08515C 7F05062C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 085160 7F050630 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 085164 7F050634 240500E5 */ li $a1, 229 +/* 085168 7F050638 0C002382 */ jal play_sfx_a1 +/* 08516C 7F05063C 00003025 */ move $a2, $zero +/* 085170 7F050640 8FAF0074 */ lw $t7, 0x74($sp) +/* 085174 7F050644 51E0000B */ beql $t7, $zero, .L7F050674 +/* 085178 7F050648 24030004 */ li $v1, 4 +/* 08517C 7F05064C 0FC23657 */ jal sub_GAME_7F08D95C +/* 085180 7F050650 8FA4006C */ lw $a0, 0x6c($sp) +/* 085184 7F050654 14400004 */ bnez $v0, .L7F050668 +/* 085188 7F050658 00402025 */ move $a0, $v0 +/* 08518C 7F05065C 0FC30776 */ jal get_textptr_for_textID +/* 085190 7F050660 3404A43F */ li $a0, 42047 +/* 085194 7F050664 00402025 */ move $a0, $v0 +.L7F050668: +/* 085198 7F050668 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 08519C 7F05066C 00000000 */ nop +/* 0851A0 7F050670 24030004 */ li $v1, 4 +.L7F050674: +/* 0851A4 7F050674 24010001 */ li $at, 1 +.L7F050678: +/* 0851A8 7F050678 1461000D */ bne $v1, $at, .L7F0506B0 +/* 0851AC 7F05067C 8FB8006C */ lw $t8, 0x6c($sp) +/* 0851B0 7F050680 8F190064 */ lw $t9, 0x64($t8) +/* 0851B4 7F050684 33280010 */ andi $t0, $t9, 0x10 +/* 0851B8 7F050688 15000009 */ bnez $t0, .L7F0506B0 +/* 0851BC 7F05068C 00000000 */ nop +/* 0851C0 7F050690 93060002 */ lbu $a2, 2($t8) +/* 0851C4 7F050694 03002025 */ move $a0, $t8 +/* 0851C8 7F050698 00002825 */ move $a1, $zero +/* 0851CC 7F05069C 30C90004 */ andi $t1, $a2, 4 +/* 0851D0 7F0506A0 0FC10366 */ jal sub_GAME_7F040D98 +/* 0851D4 7F0506A4 01203025 */ move $a2, $t1 +/* 0851D8 7F0506A8 10000007 */ b .L7F0506C8 +/* 0851DC 7F0506AC 24020001 */ li $v0, 1 +.L7F0506B0: +/* 0851E0 7F0506B0 10600005 */ beqz $v1, .L7F0506C8 +/* 0851E4 7F0506B4 00001025 */ move $v0, $zero +/* 0851E8 7F0506B8 0FC231C9 */ jal sub_GAME_7F08C724 +/* 0851EC 7F0506BC 8FA40070 */ lw $a0, 0x70($sp) +/* 0851F0 7F0506C0 10000001 */ b .L7F0506C8 +/* 0851F4 7F0506C4 24020004 */ li $v0, 4 +.L7F0506C8: +/* 0851F8 7F0506C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0851FC 7F0506CC 8FB00018 */ lw $s0, 0x18($sp) +/* 085200 7F0506D0 27BD0070 */ addiu $sp, $sp, 0x70 +/* 085204 7F0506D4 03E00008 */ jr $ra +/* 085208 7F0506D8 00000000 */ nop +) +#endif +#endif + + + + +#ifdef NONMATCHING +void object_collectability_routines(void) { + +} +#else + +#ifdef VERSION_US +GLOBAL_ASM( +.late_rodata +glabel D_800532E0 +.word 0xbf490fdb /*-0.78539819*/ +glabel D_800532E4 +.word 0x47ef4200 /*122500.0*/ +glabel D_800532E8 +.word 0x461c4000 /*10000.0*/ +glabel D_800532EC +.word 0x47742400 /*62500.0*/ +glabel D_800532F0 +.word 0x40490fdb /*3.1415927*/ +.text +glabel object_collectability_routines +/* 08520C 7F0506DC 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 085210 7F0506E0 AFBF002C */ sw $ra, 0x2c($sp) +/* 085214 7F0506E4 AFA40088 */ sw $a0, 0x88($sp) +/* 085218 7F0506E8 8C840004 */ lw $a0, 4($a0) +/* 08521C 7F0506EC 0FC13803 */ jal check_if_collectable_object +/* 085220 7F0506F0 AFA40084 */ sw $a0, 0x84($sp) +/* 085224 7F0506F4 1040000B */ beqz $v0, .L7F050724 +/* 085228 7F0506F8 8FA40084 */ lw $a0, 0x84($sp) +/* 08522C 7F0506FC 908F0003 */ lbu $t7, 3($a0) +/* 085230 7F050700 24010011 */ li $at, 17 +/* 085234 7F050704 51E10008 */ beql $t7, $at, .L7F050728 +/* 085238 7F050708 8FA40084 */ lw $a0, 0x84($sp) +/* 08523C 7F05070C 8C820008 */ lw $v0, 8($a0) +/* 085240 7F050710 0002C2C0 */ sll $t8, $v0, 0xb +/* 085244 7F050714 0703000B */ bgezl $t8, .L7F050744 +/* 085248 7F050718 00024B00 */ sll $t1, $v0, 0xc +/* 08524C 7F05071C 10000180 */ b .L7F050D20 +/* 085250 7F050720 00001025 */ move $v0, $zero +.L7F050724: +/* 085254 7F050724 8FA40084 */ lw $a0, 0x84($sp) +.L7F050728: +/* 085258 7F050728 8C820008 */ lw $v0, 8($a0) +/* 08525C 7F05072C 0002CB40 */ sll $t9, $v0, 0xd +/* 085260 7F050730 07220004 */ bltzl $t9, .L7F050744 +/* 085264 7F050734 00024B00 */ sll $t1, $v0, 0xc +/* 085268 7F050738 10000179 */ b .L7F050D20 +/* 08526C 7F05073C 00001025 */ move $v0, $zero +/* 085270 7F050740 00024B00 */ sll $t1, $v0, 0xc +.L7F050744: +/* 085274 7F050744 05230004 */ bgezl $t1, .L7F050758 +/* 085278 7F050748 8C8A0064 */ lw $t2, 0x64($a0) +/* 08527C 7F05074C 10000174 */ b .L7F050D20 +/* 085280 7F050750 00001025 */ move $v0, $zero +/* 085284 7F050754 8C8A0064 */ lw $t2, 0x64($a0) +.L7F050758: +/* 085288 7F050758 314B0080 */ andi $t3, $t2, 0x80 +/* 08528C 7F05075C 1160000A */ beqz $t3, .L7F050788 +/* 085290 7F050760 00000000 */ nop +/* 085294 7F050764 8C82006C */ lw $v0, 0x6c($a0) +/* 085298 7F050768 8C4C00BC */ lw $t4, 0xbc($v0) +/* 08529C 7F05076C 19800006 */ blez $t4, .L7F050788 +/* 0852A0 7F050770 00000000 */ nop +/* 0852A4 7F050774 8C4D0090 */ lw $t5, 0x90($v0) +/* 0852A8 7F050778 15A00003 */ bnez $t5, .L7F050788 +/* 0852AC 7F05077C 00000000 */ nop +/* 0852B0 7F050780 10000167 */ b .L7F050D20 +/* 0852B4 7F050784 00001025 */ move $v0, $zero +.L7F050788: +/* 0852B8 7F050788 0FC0F9EB */ jal sub_GAME_7F03E7AC +/* 0852BC 7F05078C 00000000 */ nop +/* 0852C0 7F050790 14400003 */ bnez $v0, .L7F0507A0 +/* 0852C4 7F050794 8FA50084 */ lw $a1, 0x84($sp) +/* 0852C8 7F050798 10000161 */ b .L7F050D20 +/* 0852CC 7F05079C 00001025 */ move $v0, $zero +.L7F0507A0: +/* 0852D0 7F0507A0 90A20003 */ lbu $v0, 3($a1) +/* 0852D4 7F0507A4 24010008 */ li $at, 8 +/* 0852D8 7F0507A8 8FAE0088 */ lw $t6, 0x88($sp) +/* 0852DC 7F0507AC 54410064 */ bnel $v0, $at, .L7F050940 +/* 0852E0 7F0507B0 24010007 */ li $at, 7 +/* 0852E4 7F0507B4 8DC30004 */ lw $v1, 4($t6) +/* 0852E8 7F0507B8 2401001A */ li $at, 26 +/* 0852EC 7F0507BC 80640080 */ lb $a0, 0x80($v1) +/* 0852F0 7F0507C0 10810003 */ beq $a0, $at, .L7F0507D0 +/* 0852F4 7F0507C4 24010057 */ li $at, 87 +/* 0852F8 7F0507C8 5481000B */ bnel $a0, $at, .L7F0507F8 +/* 0852FC 7F0507CC 2401001D */ li $at, 29 +.L7F0507D0: +/* 085300 7F0507D0 846F0082 */ lh $t7, 0x82($v1) +/* 085304 7F0507D4 05E10005 */ bgez $t7, .L7F0507EC +/* 085308 7F0507D8 00000000 */ nop +/* 08530C 7F0507DC 8CB80064 */ lw $t8, 0x64($a1) +/* 085310 7F0507E0 33190004 */ andi $t9, $t8, 4 +/* 085314 7F0507E4 53200004 */ beql $t9, $zero, .L7F0507F8 +/* 085318 7F0507E8 2401001D */ li $at, 29 +.L7F0507EC: +/* 08531C 7F0507EC 1000014C */ b .L7F050D20 +/* 085320 7F0507F0 00001025 */ move $v0, $zero +/* 085324 7F0507F4 2401001D */ li $at, 29 +.L7F0507F8: +/* 085328 7F0507F8 1081000D */ beq $a0, $at, .L7F050830 +/* 08532C 7F0507FC 2401001C */ li $at, 28 +/* 085330 7F050800 1081000B */ beq $a0, $at, .L7F050830 +/* 085334 7F050804 2401001B */ li $at, 27 +/* 085338 7F050808 10810009 */ beq $a0, $at, .L7F050830 +/* 08533C 7F05080C 24010021 */ li $at, 33 +/* 085340 7F050810 10810007 */ beq $a0, $at, .L7F050830 +/* 085344 7F050814 2401002F */ li $at, 47 +/* 085348 7F050818 10810005 */ beq $a0, $at, .L7F050830 +/* 08534C 7F05081C 24010030 */ li $at, 48 +/* 085350 7F050820 10810003 */ beq $a0, $at, .L7F050830 +/* 085354 7F050824 24010022 */ li $at, 34 +/* 085358 7F050828 5481000B */ bnel $a0, $at, .L7F050858 +/* 08535C 7F05082C 24010056 */ li $at, 86 +.L7F050830: +/* 085360 7F050830 84690082 */ lh $t1, 0x82($v1) +/* 085364 7F050834 05210005 */ bgez $t1, .L7F05084C +/* 085368 7F050838 00000000 */ nop +/* 08536C 7F05083C 8CAA0064 */ lw $t2, 0x64($a1) +/* 085370 7F050840 314B0004 */ andi $t3, $t2, 4 +/* 085374 7F050844 51600004 */ beql $t3, $zero, .L7F050858 +/* 085378 7F050848 24010056 */ li $at, 86 +.L7F05084C: +/* 08537C 7F05084C 10000134 */ b .L7F050D20 +/* 085380 7F050850 00001025 */ move $v0, $zero +/* 085384 7F050854 24010056 */ li $at, 86 +.L7F050858: +/* 085388 7F050858 14810007 */ bne $a0, $at, .L7F050878 +/* 08538C 7F05085C 00000000 */ nop +/* 085390 7F050860 8CAC0064 */ lw $t4, 0x64($a1) +/* 085394 7F050864 318D0080 */ andi $t5, $t4, 0x80 +/* 085398 7F050868 11A00003 */ beqz $t5, .L7F050878 +/* 08539C 7F05086C 00000000 */ nop +/* 0853A0 7F050870 1000012B */ b .L7F050D20 +/* 0853A4 7F050874 00001025 */ move $v0, $zero +.L7F050878: +/* 0853A8 7F050878 0FC230C5 */ jal is_weapon_in_inv +/* 0853AC 7F05087C AFA30080 */ sw $v1, 0x80($sp) +/* 0853B0 7F050880 1040009B */ beqz $v0, .L7F050AF0 +/* 0853B4 7F050884 8FA30080 */ lw $v1, 0x80($sp) +/* 0853B8 7F050888 80640080 */ lb $a0, 0x80($v1) +/* 0853BC 7F05088C 0FC1A50B */ jal get_ammo_type_for_weapon +/* 0853C0 7F050890 AFA30080 */ sw $v1, 0x80($sp) +/* 0853C4 7F050894 10400096 */ beqz $v0, .L7F050AF0 +/* 0853C8 7F050898 8FA30080 */ lw $v1, 0x80($sp) +/* 0853CC 7F05089C 80640080 */ lb $a0, 0x80($v1) +/* 0853D0 7F0508A0 0FC1A514 */ jal get_ammo_count_for_weapon +/* 0853D4 7F0508A4 AFA30080 */ sw $v1, 0x80($sp) +/* 0853D8 7F0508A8 8FA30080 */ lw $v1, 0x80($sp) +/* 0853DC 7F0508AC 80640080 */ lb $a0, 0x80($v1) +/* 0853E0 7F0508B0 0FC1A52C */ jal get_max_ammo_for_weapon +/* 0853E4 7F0508B4 AFA20038 */ sw $v0, 0x38($sp) +/* 0853E8 7F0508B8 8FA60038 */ lw $a2, 0x38($sp) +/* 0853EC 7F0508BC 8FA30080 */ lw $v1, 0x80($sp) +/* 0853F0 7F0508C0 00C2082A */ slt $at, $a2, $v0 +/* 0853F4 7F0508C4 1420008A */ bnez $at, .L7F050AF0 +/* 0853F8 7F0508C8 00000000 */ nop +/* 0853FC 7F0508CC 8C620084 */ lw $v0, 0x84($v1) +/* 085400 7F0508D0 14400004 */ bnez $v0, .L7F0508E4 +/* 085404 7F0508D4 00000000 */ nop +/* 085408 7F0508D8 806E0081 */ lb $t6, 0x81($v1) +/* 08540C 7F0508DC 05C00015 */ bltz $t6, .L7F050934 +/* 085410 7F0508E0 00000000 */ nop +.L7F0508E4: +/* 085414 7F0508E4 50400005 */ beql $v0, $zero, .L7F0508FC +/* 085418 7F0508E8 80650081 */ lb $a1, 0x81($v1) +/* 08541C 7F0508EC 80450080 */ lb $a1, 0x80($v0) +/* 085420 7F0508F0 10000003 */ b .L7F050900 +/* 085424 7F0508F4 00A02025 */ move $a0, $a1 +/* 085428 7F0508F8 80650081 */ lb $a1, 0x81($v1) +.L7F0508FC: +/* 08542C 7F0508FC 00A02025 */ move $a0, $a1 +.L7F050900: +/* 085430 7F050900 8C6F0008 */ lw $t7, 8($v1) +/* 085434 7F050904 000FC0C0 */ sll $t8, $t7, 3 +/* 085438 7F050908 07030004 */ bgezl $t8, .L7F05091C +/* 08543C 7F05090C 80640080 */ lb $a0, 0x80($v1) +/* 085440 7F050910 10000002 */ b .L7F05091C +/* 085444 7F050914 80650080 */ lb $a1, 0x80($v1) +/* 085448 7F050918 80640080 */ lb $a0, 0x80($v1) +.L7F05091C: +/* 08544C 7F05091C 0FC230E7 */ jal is_item_for_hand_in_inventory +/* 085450 7F050920 00000000 */ nop +/* 085454 7F050924 10400072 */ beqz $v0, .L7F050AF0 +/* 085458 7F050928 00000000 */ nop +/* 08545C 7F05092C 100000FC */ b .L7F050D20 +/* 085460 7F050930 00001025 */ move $v0, $zero +.L7F050934: +/* 085464 7F050934 100000FA */ b .L7F050D20 +/* 085468 7F050938 00001025 */ move $v0, $zero +/* 08546C 7F05093C 24010007 */ li $at, 7 +.L7F050940: +/* 085470 7F050940 1441000F */ bne $v0, $at, .L7F050980 +/* 085474 7F050944 8FB90088 */ lw $t9, 0x88($sp) +/* 085478 7F050948 8F230004 */ lw $v1, 4($t9) +/* 08547C 7F05094C 8C640080 */ lw $a0, 0x80($v1) +/* 085480 7F050950 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 085484 7F050954 AFA30074 */ sw $v1, 0x74($sp) +/* 085488 7F050958 8FA30074 */ lw $v1, 0x74($sp) +/* 08548C 7F05095C 8C640080 */ lw $a0, 0x80($v1) +/* 085490 7F050960 0FC1A4B5 */ jal get_max_ammo_for_type +/* 085494 7F050964 AFA20038 */ sw $v0, 0x38($sp) +/* 085498 7F050968 8FA60038 */ lw $a2, 0x38($sp) +/* 08549C 7F05096C 00C2082A */ slt $at, $a2, $v0 +/* 0854A0 7F050970 1420005F */ bnez $at, .L7F050AF0 +/* 0854A4 7F050974 00000000 */ nop +/* 0854A8 7F050978 100000E9 */ b .L7F050D20 +/* 0854AC 7F05097C 00001025 */ move $v0, $zero +.L7F050980: +/* 0854B0 7F050980 24010014 */ li $at, 20 +/* 0854B4 7F050984 1441002C */ bne $v0, $at, .L7F050A38 +/* 0854B8 7F050988 8FA90088 */ lw $t1, 0x88($sp) +/* 0854BC 7F05098C 8D2A0004 */ lw $t2, 4($t1) +/* 0854C0 7F050990 240B0001 */ li $t3, 1 +/* 0854C4 7F050994 AFAB006C */ sw $t3, 0x6c($sp) +/* 0854C8 7F050998 00A02025 */ move $a0, $a1 +/* 0854CC 7F05099C 0FC0FFF0 */ jal do_something_if_object_destroyed +/* 0854D0 7F0509A0 AFAA0070 */ sw $t2, 0x70($sp) +/* 0854D4 7F0509A4 10400003 */ beqz $v0, .L7F0509B4 +/* 0854D8 7F0509A8 8FA30070 */ lw $v1, 0x70($sp) +/* 0854DC 7F0509AC 100000DC */ b .L7F050D20 +/* 0854E0 7F0509B0 00001025 */ move $v0, $zero +.L7F0509B4: +/* 0854E4 7F0509B4 00001025 */ move $v0, $zero +.L7F0509B8: +/* 0854E8 7F0509B8 24450001 */ addiu $a1, $v0, 1 +/* 0854EC 7F0509BC 24010001 */ li $at, 1 +/* 0854F0 7F0509C0 14410002 */ bne $v0, $at, .L7F0509CC +/* 0854F4 7F0509C4 00A02025 */ move $a0, $a1 +/* 0854F8 7F0509C8 24040001 */ li $a0, 1 +.L7F0509CC: +/* 0854FC 7F0509CC 946C0082 */ lhu $t4, 0x82($v1) +/* 085500 7F0509D0 59800011 */ blezl $t4, .L7F050A18 +/* 085504 7F0509D4 2401000D */ li $at, 13 +/* 085508 7F0509D8 AFA30030 */ sw $v1, 0x30($sp) +/* 08550C 7F0509DC AFA40064 */ sw $a0, 0x64($sp) +/* 085510 7F0509E0 0FC1A490 */ jal check_cur_player_ammo_amount_in_inventory +/* 085514 7F0509E4 AFA50034 */ sw $a1, 0x34($sp) +/* 085518 7F0509E8 8FA40064 */ lw $a0, 0x64($sp) +/* 08551C 7F0509EC 0FC1A4B5 */ jal get_max_ammo_for_type +/* 085520 7F0509F0 AFA20038 */ sw $v0, 0x38($sp) +/* 085524 7F0509F4 8FA60038 */ lw $a2, 0x38($sp) +/* 085528 7F0509F8 8FA30030 */ lw $v1, 0x30($sp) +/* 08552C 7F0509FC 8FA50034 */ lw $a1, 0x34($sp) +/* 085530 7F050A00 00C2082A */ slt $at, $a2, $v0 +/* 085534 7F050A04 50200004 */ beql $at, $zero, .L7F050A18 +/* 085538 7F050A08 2401000D */ li $at, 13 +/* 08553C 7F050A0C 10000005 */ b .L7F050A24 +/* 085540 7F050A10 AFA0006C */ sw $zero, 0x6c($sp) +/* 085544 7F050A14 2401000D */ li $at, 13 +.L7F050A18: +/* 085548 7F050A18 00A01025 */ move $v0, $a1 +/* 08554C 7F050A1C 14A1FFE6 */ bne $a1, $at, .L7F0509B8 +/* 085550 7F050A20 24630004 */ addiu $v1, $v1, 4 +.L7F050A24: +/* 085554 7F050A24 8FAD006C */ lw $t5, 0x6c($sp) +/* 085558 7F050A28 11A00031 */ beqz $t5, .L7F050AF0 +/* 08555C 7F050A2C 00000000 */ nop +/* 085560 7F050A30 100000BB */ b .L7F050D20 +/* 085564 7F050A34 00001025 */ move $v0, $zero +.L7F050A38: +/* 085568 7F050A38 24010015 */ li $at, 21 +/* 08556C 7F050A3C 1441002C */ bne $v0, $at, .L7F050AF0 +/* 085570 7F050A40 8FAE0088 */ lw $t6, 0x88($sp) +/* 085574 7F050A44 8DCF0004 */ lw $t7, 4($t6) +/* 085578 7F050A48 AFA0005C */ sw $zero, 0x5c($sp) +/* 08557C 7F050A4C 0FC228BF */ jal get_BONDdata_watch_armor +/* 085580 7F050A50 AFAF0060 */ sw $t7, 0x60($sp) +/* 085584 7F050A54 8FB80060 */ lw $t8, 0x60($sp) +/* 085588 7F050A58 24190001 */ li $t9, 1 +/* 08558C 7F050A5C C7040084 */ lwc1 $f4, 0x84($t8) +/* 085590 7F050A60 4600203E */ c.le.s $f4, $f0 +/* 085594 7F050A64 00000000 */ nop +/* 085598 7F050A68 45000003 */ bc1f .L7F050A78 +/* 08559C 7F050A6C 00000000 */ nop +/* 0855A0 7F050A70 1000001A */ b .L7F050ADC +/* 0855A4 7F050A74 AFB9005C */ sw $t9, 0x5c($sp) +.L7F050A78: +/* 0855A8 7F050A78 0FC26919 */ jal get_num_players +/* 0855AC 7F050A7C 00000000 */ nop +/* 0855B0 7F050A80 28410002 */ slti $at, $v0, 2 +/* 0855B4 7F050A84 54200016 */ bnezl $at, .L7F050AE0 +/* 0855B8 7F050A88 8FAB005C */ lw $t3, 0x5c($sp) +/* 0855BC 7F050A8C 0FC051D6 */ jal get_scenario +/* 0855C0 7F050A90 00000000 */ nop +/* 0855C4 7F050A94 24010002 */ li $at, 2 +/* 0855C8 7F050A98 14410008 */ bne $v0, $at, .L7F050ABC +/* 0855CC 7F050A9C 00401825 */ move $v1, $v0 +/* 0855D0 7F050AA0 0FC233E0 */ jal sub_GAME_7F08CF80 +/* 0855D4 7F050AA4 AFA20058 */ sw $v0, 0x58($sp) +/* 0855D8 7F050AA8 10400004 */ beqz $v0, .L7F050ABC +/* 0855DC 7F050AAC 8FA30058 */ lw $v1, 0x58($sp) +/* 0855E0 7F050AB0 24090001 */ li $t1, 1 +/* 0855E4 7F050AB4 10000009 */ b .L7F050ADC +/* 0855E8 7F050AB8 AFA9005C */ sw $t1, 0x5c($sp) +.L7F050ABC: +/* 0855EC 7F050ABC 24010003 */ li $at, 3 +/* 0855F0 7F050AC0 54610007 */ bnel $v1, $at, .L7F050AE0 +/* 0855F4 7F050AC4 8FAB005C */ lw $t3, 0x5c($sp) +/* 0855F8 7F050AC8 0FC233F0 */ jal checkforgoldengun +/* 0855FC 7F050ACC 00000000 */ nop +/* 085600 7F050AD0 10400002 */ beqz $v0, .L7F050ADC +/* 085604 7F050AD4 240A0001 */ li $t2, 1 +/* 085608 7F050AD8 AFAA005C */ sw $t2, 0x5c($sp) +.L7F050ADC: +/* 08560C 7F050ADC 8FAB005C */ lw $t3, 0x5c($sp) +.L7F050AE0: +/* 085610 7F050AE0 11600003 */ beqz $t3, .L7F050AF0 +/* 085614 7F050AE4 00000000 */ nop +/* 085618 7F050AE8 1000008D */ b .L7F050D20 +/* 08561C 7F050AEC 00001025 */ move $v0, $zero +.L7F050AF0: +/* 085620 7F050AF0 0FC227C4 */ jal get_curplay_vertical_rotation_in_degrees +/* 085624 7F050AF4 00000000 */ nop +/* 085628 7F050AF8 3C018005 */ lui $at, %hi(D_800532E0) +/* 08562C 7F050AFC C42632E0 */ lwc1 $f6, %lo(D_800532E0)($at) +/* 085630 7F050B00 3C0C8008 */ lui $t4, %hi(pPlayer) +/* 085634 7F050B04 4606003C */ c.lt.s $f0, $f6 +/* 085638 7F050B08 00000000 */ nop +/* 08563C 7F050B0C 45000007 */ bc1f .L7F050B2C +/* 085640 7F050B10 00000000 */ nop +/* 085644 7F050B14 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4) +/* 085648 7F050B18 8D8D1270 */ lw $t5, 0x1270($t4) +/* 08564C 7F050B1C 05A10003 */ bgez $t5, .L7F050B2C +/* 085650 7F050B20 00000000 */ nop +/* 085654 7F050B24 1000007E */ b .L7F050D20 +/* 085658 7F050B28 00001025 */ move $v0, $zero +.L7F050B2C: +/* 08565C 7F050B2C 0FC225E6 */ jal get_curplayer_positiondata +/* 085660 7F050B30 00000000 */ nop +/* 085664 7F050B34 3C0F8008 */ lui $t7, %hi(pPlayer) +/* 085668 7F050B38 8FAE0084 */ lw $t6, 0x84($sp) +/* 08566C 7F050B3C 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7) +/* 085670 7F050B40 C44A0008 */ lwc1 $f10, 8($v0) +/* 085674 7F050B44 C452000C */ lwc1 $f18, 0xc($v0) +/* 085678 7F050B48 8DF81270 */ lw $t8, 0x1270($t7) +/* 08567C 7F050B4C C4460010 */ lwc1 $f6, 0x10($v0) +/* 085680 7F050B50 C5C80058 */ lwc1 $f8, 0x58($t6) +/* 085684 7F050B54 C5D0005C */ lwc1 $f16, 0x5c($t6) +/* 085688 7F050B58 C5C40060 */ lwc1 $f4, 0x60($t6) +/* 08568C 7F050B5C 2B01003C */ slti $at, $t8, 0x3c +/* 085690 7F050B60 00404025 */ move $t0, $v0 +/* 085694 7F050B64 460A4001 */ sub.s $f0, $f8, $f10 +/* 085698 7F050B68 46128301 */ sub.s $f12, $f16, $f18 +/* 08569C 7F050B6C 14200022 */ bnez $at, .L7F050BF8 +/* 0856A0 7F050B70 46062081 */ sub.s $f2, $f4, $f6 +/* 0856A4 7F050B74 46000202 */ mul.s $f8, $f0, $f0 +/* 0856A8 7F050B78 3C018005 */ lui $at, %hi(D_800532E4) +/* 0856AC 7F050B7C C43232E4 */ lwc1 $f18, %lo(D_800532E4)($at) +/* 0856B0 7F050B80 46021282 */ mul.s $f10, $f2, $f2 +/* 0856B4 7F050B84 3C01C3FA */ li $at, 0xC3FA0000 # -500.000000 +/* 0856B8 7F050B88 00001025 */ move $v0, $zero +/* 0856BC 7F050B8C 460A4400 */ add.s $f16, $f8, $f10 +/* 0856C0 7F050B90 4612803E */ c.le.s $f16, $f18 +/* 0856C4 7F050B94 00000000 */ nop +/* 0856C8 7F050B98 45000002 */ bc1f .L7F050BA4 +/* 0856CC 7F050B9C 00000000 */ nop +/* 0856D0 7F050BA0 24020001 */ li $v0, 1 +.L7F050BA4: +/* 0856D4 7F050BA4 10400012 */ beqz $v0, .L7F050BF0 +/* 0856D8 7F050BA8 00403025 */ move $a2, $v0 +/* 0856DC 7F050BAC 44812000 */ mtc1 $at, $f4 +/* 0856E0 7F050BB0 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 0856E4 7F050BB4 00001025 */ move $v0, $zero +/* 0856E8 7F050BB8 460C203E */ c.le.s $f4, $f12 +/* 0856EC 7F050BBC 00000000 */ nop +/* 0856F0 7F050BC0 45000002 */ bc1f .L7F050BCC +/* 0856F4 7F050BC4 00000000 */ nop +/* 0856F8 7F050BC8 24020001 */ li $v0, 1 +.L7F050BCC: +/* 0856FC 7F050BCC 10400008 */ beqz $v0, .L7F050BF0 +/* 085700 7F050BD0 00403025 */ move $a2, $v0 +/* 085704 7F050BD4 44813000 */ mtc1 $at, $f6 +/* 085708 7F050BD8 00003025 */ move $a2, $zero +/* 08570C 7F050BDC 4606603E */ c.le.s $f12, $f6 +/* 085710 7F050BE0 00000000 */ nop +/* 085714 7F050BE4 45000002 */ bc1f .L7F050BF0 +/* 085718 7F050BE8 00000000 */ nop +/* 08571C 7F050BEC 24060001 */ li $a2, 1 +.L7F050BF0: +/* 085720 7F050BF0 10000021 */ b .L7F050C78 +/* 085724 7F050BF4 00C01825 */ move $v1, $a2 +.L7F050BF8: +/* 085728 7F050BF8 46000202 */ mul.s $f8, $f0, $f0 +/* 08572C 7F050BFC 3C018005 */ lui $at, %hi(D_800532E8) +/* 085730 7F050C00 C43032E8 */ lwc1 $f16, %lo(D_800532E8)($at) +/* 085734 7F050C04 46021282 */ mul.s $f10, $f2, $f2 +/* 085738 7F050C08 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 08573C 7F050C0C 00001025 */ move $v0, $zero +/* 085740 7F050C10 460A4480 */ add.s $f18, $f8, $f10 +/* 085744 7F050C14 4610903E */ c.le.s $f18, $f16 +/* 085748 7F050C18 00000000 */ nop +/* 08574C 7F050C1C 45000002 */ bc1f .L7F050C28 +/* 085750 7F050C20 00000000 */ nop +/* 085754 7F050C24 24020001 */ li $v0, 1 +.L7F050C28: +/* 085758 7F050C28 10400012 */ beqz $v0, .L7F050C74 +/* 08575C 7F050C2C 00403025 */ move $a2, $v0 +/* 085760 7F050C30 44812000 */ mtc1 $at, $f4 +/* 085764 7F050C34 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 085768 7F050C38 00001025 */ move $v0, $zero +/* 08576C 7F050C3C 460C203E */ c.le.s $f4, $f12 +/* 085770 7F050C40 00000000 */ nop +/* 085774 7F050C44 45000002 */ bc1f .L7F050C50 +/* 085778 7F050C48 00000000 */ nop +/* 08577C 7F050C4C 24020001 */ li $v0, 1 +.L7F050C50: +/* 085780 7F050C50 10400008 */ beqz $v0, .L7F050C74 +/* 085784 7F050C54 00403025 */ move $a2, $v0 +/* 085788 7F050C58 44813000 */ mtc1 $at, $f6 +/* 08578C 7F050C5C 00003025 */ move $a2, $zero +/* 085790 7F050C60 4606603E */ c.le.s $f12, $f6 +/* 085794 7F050C64 00000000 */ nop +/* 085798 7F050C68 45020003 */ bc1fl .L7F050C78 +/* 08579C 7F050C6C 00C01825 */ move $v1, $a2 +/* 0857A0 7F050C70 24060001 */ li $a2, 1 +.L7F050C74: +/* 0857A4 7F050C74 00C01825 */ move $v1, $a2 +.L7F050C78: +/* 0857A8 7F050C78 10C00022 */ beqz $a2, .L7F050D04 +/* 0857AC 7F050C7C 8FB90084 */ lw $t9, 0x84($sp) +/* 0857B0 7F050C80 8F29000C */ lw $t1, 0xc($t9) +/* 0857B4 7F050C84 8FA20088 */ lw $v0, 0x88($sp) +/* 0857B8 7F050C88 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0857BC 7F050C8C 312A1000 */ andi $t2, $t1, 0x1000 +/* 0857C0 7F050C90 1540001C */ bnez $t2, .L7F050D04 +/* 0857C4 7F050C94 27A4003C */ addiu $a0, $sp, 0x3c +/* 0857C8 7F050C98 8D0B0014 */ lw $t3, 0x14($t0) +/* 0857CC 7F050C9C 44810000 */ mtc1 $at, $f0 +/* 0857D0 7F050CA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0857D4 7F050CA4 AFAB003C */ sw $t3, 0x3c($sp) +/* 0857D8 7F050CA8 C4480010 */ lwc1 $f8, 0x10($v0) +/* 0857DC 7F050CAC 8C470008 */ lw $a3, 8($v0) +/* 0857E0 7F050CB0 8D060010 */ lw $a2, 0x10($t0) +/* 0857E4 7F050CB4 8D050008 */ lw $a1, 8($t0) +/* 0857E8 7F050CB8 44818000 */ mtc1 $at, $f16 +/* 0857EC 7F050CBC 44805000 */ mtc1 $zero, $f10 +/* 0857F0 7F050CC0 240C0002 */ li $t4, 2 +/* 0857F4 7F050CC4 AFAC0014 */ sw $t4, 0x14($sp) +/* 0857F8 7F050CC8 AFA30040 */ sw $v1, 0x40($sp) +/* 0857FC 7F050CCC E7A0001C */ swc1 $f0, 0x1c($sp) +/* 085800 7F050CD0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 085804 7F050CD4 E7A80010 */ swc1 $f8, 0x10($sp) +/* 085808 7F050CD8 E7B00024 */ swc1 $f16, 0x24($sp) +/* 08580C 7F050CDC 0FC2C389 */ jal sub_GAME_7F0B0E24 +/* 085810 7F050CE0 E7AA0020 */ swc1 $f10, 0x20($sp) +/* 085814 7F050CE4 10400006 */ beqz $v0, .L7F050D00 +/* 085818 7F050CE8 8FA30040 */ lw $v1, 0x40($sp) +/* 08581C 7F050CEC 8FAE0088 */ lw $t6, 0x88($sp) +/* 085820 7F050CF0 8FAD003C */ lw $t5, 0x3c($sp) +/* 085824 7F050CF4 8DCF0014 */ lw $t7, 0x14($t6) +/* 085828 7F050CF8 11AF0002 */ beq $t5, $t7, .L7F050D04 +/* 08582C 7F050CFC 00000000 */ nop +.L7F050D00: +/* 085830 7F050D00 00001825 */ move $v1, $zero +.L7F050D04: +/* 085834 7F050D04 10600006 */ beqz $v1, .L7F050D20 +/* 085838 7F050D08 00001025 */ move $v0, $zero +/* 08583C 7F050D0C 8FA40088 */ lw $a0, 0x88($sp) +/* 085840 7F050D10 0FC14094 */ jal collect_or_interact_object +/* 085844 7F050D14 24050001 */ li $a1, 1 +/* 085848 7F050D18 10000002 */ b .L7F050D24 +/* 08584C 7F050D1C 8FBF002C */ lw $ra, 0x2c($sp) +.L7F050D20: +/* 085850 7F050D20 8FBF002C */ lw $ra, 0x2c($sp) +.L7F050D24: +/* 085854 7F050D24 27BD0088 */ addiu $sp, $sp, 0x88 +/* 085858 7F050D28 03E00008 */ jr $ra +/* 08585C 7F050D2C 00000000 */ nop +) +#endif + +#ifdef VERSION_JP +GLOBAL_ASM( +.late_rodata +glabel D_800532E0 +.word 0xbf490fdb /*-0.78539819*/ +glabel D_800532E4 +.word 0x47ef4200 /*122500.0*/ +glabel D_800532E8 +.word 0x461c4000 /*10000.0*/ +glabel D_800532EC +.word 0x47742400 /*62500.0*/ +glabel D_800532F0 +.word 0x40490fdb /*3.1415927*/ +.text +glabel object_collectability_routines +/* 085650 7F050AE0 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 085654 7F050AE4 AFBF0034 */ sw $ra, 0x34($sp) +/* 085658 7F050AE8 AFB00030 */ sw $s0, 0x30($sp) +/* 08565C 7F050AEC AFA40090 */ sw $a0, 0x90($sp) +/* 085660 7F050AF0 8C840004 */ lw $a0, 4($a0) +/* 085664 7F050AF4 0FC13904 */ jal check_if_collectable_object +/* 085668 7F050AF8 AFA4008C */ sw $a0, 0x8c($sp) +/* 08566C 7F050AFC 1040000B */ beqz $v0, .Ljp7F050B2C +/* 085670 7F050B00 8FA4008C */ lw $a0, 0x8c($sp) +/* 085674 7F050B04 908F0003 */ lbu $t7, 3($a0) +/* 085678 7F050B08 24010011 */ li $at, 17 +/* 08567C 7F050B0C 51E10008 */ beql $t7, $at, .Ljp7F050B30 +/* 085680 7F050B10 8FA4008C */ lw $a0, 0x8c($sp) +/* 085684 7F050B14 8C820008 */ lw $v0, 8($a0) +/* 085688 7F050B18 0002C2C0 */ sll $t8, $v0, 0xb +/* 08568C 7F050B1C 0703000B */ bgezl $t8, .Ljp7F050B4C +/* 085690 7F050B20 00024B00 */ sll $t1, $v0, 0xc +/* 085694 7F050B24 100001BC */ b .Ljp7F051218 +/* 085698 7F050B28 00001025 */ move $v0, $zero +.Ljp7F050B2C: +/* 08569C 7F050B2C 8FA4008C */ lw $a0, 0x8c($sp) +.Ljp7F050B30: +/* 0856A0 7F050B30 8C820008 */ lw $v0, 8($a0) +/* 0856A4 7F050B34 0002CB40 */ sll $t9, $v0, 0xd +/* 0856A8 7F050B38 07220004 */ bltzl $t9, .Ljp7F050B4C +/* 0856AC 7F050B3C 00024B00 */ sll $t1, $v0, 0xc +/* 0856B0 7F050B40 100001B5 */ b .Ljp7F051218 +/* 0856B4 7F050B44 00001025 */ move $v0, $zero +/* 0856B8 7F050B48 00024B00 */ sll $t1, $v0, 0xc +.Ljp7F050B4C: +/* 0856BC 7F050B4C 05230004 */ bgezl $t1, .Ljp7F050B60 +/* 0856C0 7F050B50 8C8A0064 */ lw $t2, 0x64($a0) +/* 0856C4 7F050B54 100001B0 */ b .Ljp7F051218 +/* 0856C8 7F050B58 00001025 */ move $v0, $zero +/* 0856CC 7F050B5C 8C8A0064 */ lw $t2, 0x64($a0) +.Ljp7F050B60: +/* 0856D0 7F050B60 314B0080 */ andi $t3, $t2, 0x80 +/* 0856D4 7F050B64 1160000A */ beqz $t3, .Ljp7F050B90 +/* 0856D8 7F050B68 00000000 */ nop +/* 0856DC 7F050B6C 8C82006C */ lw $v0, 0x6c($a0) +/* 0856E0 7F050B70 8C4C00BC */ lw $t4, 0xbc($v0) +/* 0856E4 7F050B74 19800006 */ blez $t4, .Ljp7F050B90 +/* 0856E8 7F050B78 00000000 */ nop +/* 0856EC 7F050B7C 8C4D0090 */ lw $t5, 0x90($v0) +/* 0856F0 7F050B80 15A00003 */ bnez $t5, .Ljp7F050B90 +/* 0856F4 7F050B84 00000000 */ nop +/* 0856F8 7F050B88 100001A3 */ b .Ljp7F051218 +/* 0856FC 7F050B8C 00001025 */ move $v0, $zero +.Ljp7F050B90: +/* 085700 7F050B90 0FC0FAAB */ jal sub_GAME_7F03E7AC +/* 085704 7F050B94 00000000 */ nop +/* 085708 7F050B98 14400003 */ bnez $v0, .Ljp7F050BA8 +/* 08570C 7F050B9C 8FA5008C */ lw $a1, 0x8c($sp) +/* 085710 7F050BA0 1000019D */ b .Ljp7F051218 +/* 085714 7F050BA4 00001025 */ move $v0, $zero +.Ljp7F050BA8: +/* 085718 7F050BA8 90A20003 */ lbu $v0, 3($a1) +/* 08571C 7F050BAC 24010008 */ li $at, 8 +/* 085720 7F050BB0 8FAE0090 */ lw $t6, 0x90($sp) +/* 085724 7F050BB4 54410060 */ bnel $v0, $at, .Ljp7F050D38 +/* 085728 7F050BB8 24010007 */ li $at, 7 +/* 08572C 7F050BBC 8DD00004 */ lw $s0, 4($t6) +/* 085730 7F050BC0 2401001A */ li $at, 26 +/* 085734 7F050BC4 82040080 */ lb $a0, 0x80($s0) +/* 085738 7F050BC8 10810003 */ beq $a0, $at, .Ljp7F050BD8 +/* 08573C 7F050BCC 24010057 */ li $at, 87 +/* 085740 7F050BD0 5481000B */ bnel $a0, $at, .Ljp7F050C00 +/* 085744 7F050BD4 2401001D */ li $at, 29 +.Ljp7F050BD8: +/* 085748 7F050BD8 860F0082 */ lh $t7, 0x82($s0) +/* 08574C 7F050BDC 05E10005 */ bgez $t7, .Ljp7F050BF4 +/* 085750 7F050BE0 00000000 */ nop +/* 085754 7F050BE4 8CB80064 */ lw $t8, 0x64($a1) +/* 085758 7F050BE8 33190004 */ andi $t9, $t8, 4 +/* 08575C 7F050BEC 53200004 */ beql $t9, $zero, .Ljp7F050C00 +/* 085760 7F050BF0 2401001D */ li $at, 29 +.Ljp7F050BF4: +/* 085764 7F050BF4 10000188 */ b .Ljp7F051218 +/* 085768 7F050BF8 00001025 */ move $v0, $zero +/* 08576C 7F050BFC 2401001D */ li $at, 29 +.Ljp7F050C00: +/* 085770 7F050C00 1081000D */ beq $a0, $at, .Ljp7F050C38 +/* 085774 7F050C04 2401001C */ li $at, 28 +/* 085778 7F050C08 1081000B */ beq $a0, $at, .Ljp7F050C38 +/* 08577C 7F050C0C 2401001B */ li $at, 27 +/* 085780 7F050C10 10810009 */ beq $a0, $at, .Ljp7F050C38 +/* 085784 7F050C14 24010021 */ li $at, 33 +/* 085788 7F050C18 10810007 */ beq $a0, $at, .Ljp7F050C38 +/* 08578C 7F050C1C 2401002F */ li $at, 47 +/* 085790 7F050C20 10810005 */ beq $a0, $at, .Ljp7F050C38 +/* 085794 7F050C24 24010030 */ li $at, 48 +/* 085798 7F050C28 10810003 */ beq $a0, $at, .Ljp7F050C38 +/* 08579C 7F050C2C 24010022 */ li $at, 34 +/* 0857A0 7F050C30 5481000B */ bnel $a0, $at, .Ljp7F050C60 +/* 0857A4 7F050C34 24010056 */ li $at, 86 +.Ljp7F050C38: +/* 0857A8 7F050C38 86090082 */ lh $t1, 0x82($s0) +/* 0857AC 7F050C3C 05210005 */ bgez $t1, .Ljp7F050C54 +/* 0857B0 7F050C40 00000000 */ nop +/* 0857B4 7F050C44 8CAA0064 */ lw $t2, 0x64($a1) +/* 0857B8 7F050C48 314B0004 */ andi $t3, $t2, 4 +/* 0857BC 7F050C4C 51600004 */ beql $t3, $zero, .Ljp7F050C60 +/* 0857C0 7F050C50 24010056 */ li $at, 86 +.Ljp7F050C54: +/* 0857C4 7F050C54 10000170 */ b .Ljp7F051218 +/* 0857C8 7F050C58 00001025 */ move $v0, $zero +/* 0857CC 7F050C5C 24010056 */ li $at, 86 +.Ljp7F050C60: +/* 0857D0 7F050C60 14810007 */ bne $a0, $at, .Ljp7F050C80 +/* 0857D4 7F050C64 00000000 */ nop +/* 0857D8 7F050C68 8CAC0064 */ lw $t4, 0x64($a1) +/* 0857DC 7F050C6C 318D0080 */ andi $t5, $t4, 0x80 +/* 0857E0 7F050C70 11A00003 */ beqz $t5, .Ljp7F050C80 +/* 0857E4 7F050C74 00000000 */ nop +/* 0857E8 7F050C78 10000167 */ b .Ljp7F051218 +/* 0857EC 7F050C7C 00001025 */ move $v0, $zero +.Ljp7F050C80: +/* 0857F0 7F050C80 0FC232E9 */ jal is_weapon_in_inv +/* 0857F4 7F050C84 00000000 */ nop +/* 0857F8 7F050C88 104000D9 */ beqz $v0, .Ljp7F050FF0 +/* 0857FC 7F050C8C 00000000 */ nop +/* 085800 7F050C90 0FC1A686 */ jal get_ammo_type_for_weapon +/* 085804 7F050C94 82040080 */ lb $a0, 0x80($s0) +/* 085808 7F050C98 104000D5 */ beqz $v0, .Ljp7F050FF0 +/* 08580C 7F050C9C 00000000 */ nop +/* 085810 7F050CA0 0FC1A68F */ jal get_ammo_count_for_weapon +/* 085814 7F050CA4 82040080 */ lb $a0, 0x80($s0) +/* 085818 7F050CA8 82040080 */ lb $a0, 0x80($s0) +/* 08581C 7F050CAC 0FC1A6A7 */ jal get_max_ammo_for_weapon +/* 085820 7F050CB0 AFA20040 */ sw $v0, 0x40($sp) +/* 085824 7F050CB4 8FA30040 */ lw $v1, 0x40($sp) +/* 085828 7F050CB8 0062082A */ slt $at, $v1, $v0 +/* 08582C 7F050CBC 142000CC */ bnez $at, .Ljp7F050FF0 +/* 085830 7F050CC0 00000000 */ nop +/* 085834 7F050CC4 8E020084 */ lw $v0, 0x84($s0) +/* 085838 7F050CC8 14400004 */ bnez $v0, .Ljp7F050CDC +/* 08583C 7F050CCC 00000000 */ nop +/* 085840 7F050CD0 820E0081 */ lb $t6, 0x81($s0) +/* 085844 7F050CD4 05C00015 */ bltz $t6, .Ljp7F050D2C +/* 085848 7F050CD8 00000000 */ nop +.Ljp7F050CDC: +/* 08584C 7F050CDC 50400005 */ beql $v0, $zero, .Ljp7F050CF4 +/* 085850 7F050CE0 82050081 */ lb $a1, 0x81($s0) +/* 085854 7F050CE4 80450080 */ lb $a1, 0x80($v0) +/* 085858 7F050CE8 10000003 */ b .Ljp7F050CF8 +/* 08585C 7F050CEC 00A02025 */ move $a0, $a1 +/* 085860 7F050CF0 82050081 */ lb $a1, 0x81($s0) +.Ljp7F050CF4: +/* 085864 7F050CF4 00A02025 */ move $a0, $a1 +.Ljp7F050CF8: +/* 085868 7F050CF8 8E0F0008 */ lw $t7, 8($s0) +/* 08586C 7F050CFC 000FC0C0 */ sll $t8, $t7, 3 +/* 085870 7F050D00 07030004 */ bgezl $t8, .Ljp7F050D14 +/* 085874 7F050D04 82040080 */ lb $a0, 0x80($s0) +/* 085878 7F050D08 10000002 */ b .Ljp7F050D14 +/* 08587C 7F050D0C 82050080 */ lb $a1, 0x80($s0) +/* 085880 7F050D10 82040080 */ lb $a0, 0x80($s0) +.Ljp7F050D14: +/* 085884 7F050D14 0FC2330B */ jal is_item_for_hand_in_inventory +/* 085888 7F050D18 00000000 */ nop +/* 08588C 7F050D1C 104000B4 */ beqz $v0, .Ljp7F050FF0 +/* 085890 7F050D20 00000000 */ nop +/* 085894 7F050D24 1000013C */ b .Ljp7F051218 +/* 085898 7F050D28 00001025 */ move $v0, $zero +.Ljp7F050D2C: +/* 08589C 7F050D2C 1000013A */ b .Ljp7F051218 +/* 0858A0 7F050D30 00001025 */ move $v0, $zero +/* 0858A4 7F050D34 24010007 */ li $at, 7 +.Ljp7F050D38: +/* 0858A8 7F050D38 14410035 */ bne $v0, $at, .Ljp7F050E10 +/* 0858AC 7F050D3C 8FB90090 */ lw $t9, 0x90($sp) +/* 0858B0 7F050D40 8F300004 */ lw $s0, 4($t9) +/* 0858B4 7F050D44 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory +/* 0858B8 7F050D48 8E040080 */ lw $a0, 0x80($s0) +/* 0858BC 7F050D4C 8E040080 */ lw $a0, 0x80($s0) +/* 0858C0 7F050D50 0FC1A630 */ jal get_max_ammo_for_type +/* 0858C4 7F050D54 AFA20040 */ sw $v0, 0x40($sp) +/* 0858C8 7F050D58 8FA30040 */ lw $v1, 0x40($sp) +/* 0858CC 7F050D5C 0062082A */ slt $at, $v1, $v0 +/* 0858D0 7F050D60 142000A3 */ bnez $at, .Ljp7F050FF0 +/* 0858D4 7F050D64 00000000 */ nop +/* 0858D8 7F050D68 8E020080 */ lw $v0, 0x80($s0) +/* 0858DC 7F050D6C 24010005 */ li $at, 5 +/* 0858E0 7F050D70 54410007 */ bnel $v0, $at, .Ljp7F050D90 +/* 0858E4 7F050D74 24010007 */ li $at, 7 +/* 0858E8 7F050D78 0FC232E9 */ jal is_weapon_in_inv +/* 0858EC 7F050D7C 2404001A */ li $a0, 26 +/* 0858F0 7F050D80 1040009B */ beqz $v0, .Ljp7F050FF0 +/* 0858F4 7F050D84 00000000 */ nop +/* 0858F8 7F050D88 8E020080 */ lw $v0, 0x80($s0) +/* 0858FC 7F050D8C 24010007 */ li $at, 7 +.Ljp7F050D90: +/* 085900 7F050D90 54410007 */ bnel $v0, $at, .Ljp7F050DB0 +/* 085904 7F050D94 24010008 */ li $at, 8 +/* 085908 7F050D98 0FC232E9 */ jal is_weapon_in_inv +/* 08590C 7F050D9C 2404001D */ li $a0, 29 +/* 085910 7F050DA0 10400093 */ beqz $v0, .Ljp7F050FF0 +/* 085914 7F050DA4 00000000 */ nop +/* 085918 7F050DA8 8E020080 */ lw $v0, 0x80($s0) +/* 08591C 7F050DAC 24010008 */ li $at, 8 +.Ljp7F050DB0: +/* 085920 7F050DB0 54410007 */ bnel $v0, $at, .Ljp7F050DD0 +/* 085924 7F050DB4 24010009 */ li $at, 9 +/* 085928 7F050DB8 0FC232E9 */ jal is_weapon_in_inv +/* 08592C 7F050DBC 2404001C */ li $a0, 28 +/* 085930 7F050DC0 1040008B */ beqz $v0, .Ljp7F050FF0 +/* 085934 7F050DC4 00000000 */ nop +/* 085938 7F050DC8 8E020080 */ lw $v0, 0x80($s0) +/* 08593C 7F050DCC 24010009 */ li $at, 9 +.Ljp7F050DD0: +/* 085940 7F050DD0 54410007 */ bnel $v0, $at, .Ljp7F050DF0 +/* 085944 7F050DD4 2401000A */ li $at, 10 +/* 085948 7F050DD8 0FC232E9 */ jal is_weapon_in_inv +/* 08594C 7F050DDC 2404001B */ li $a0, 27 +/* 085950 7F050DE0 10400083 */ beqz $v0, .Ljp7F050FF0 +/* 085954 7F050DE4 00000000 */ nop +/* 085958 7F050DE8 8E020080 */ lw $v0, 0x80($s0) +/* 08595C 7F050DEC 2401000A */ li $at, 10 +.Ljp7F050DF0: +/* 085960 7F050DF0 14410005 */ bne $v0, $at, .Ljp7F050E08 +/* 085964 7F050DF4 00000000 */ nop +/* 085968 7F050DF8 0FC232E9 */ jal is_weapon_in_inv +/* 08596C 7F050DFC 24040003 */ li $a0, 3 +/* 085970 7F050E00 1040007B */ beqz $v0, .Ljp7F050FF0 +/* 085974 7F050E04 00000000 */ nop +.Ljp7F050E08: +/* 085978 7F050E08 10000103 */ b .Ljp7F051218 +/* 08597C 7F050E0C 00001025 */ move $v0, $zero +.Ljp7F050E10: +/* 085980 7F050E10 24010014 */ li $at, 20 +/* 085984 7F050E14 1441004B */ bne $v0, $at, .Ljp7F050F44 +/* 085988 7F050E18 8FA90090 */ lw $t1, 0x90($sp) +/* 08598C 7F050E1C 8D300004 */ lw $s0, 4($t1) +/* 085990 7F050E20 240A0001 */ li $t2, 1 +/* 085994 7F050E24 AFAA0074 */ sw $t2, 0x74($sp) +/* 085998 7F050E28 0FC100B0 */ jal do_something_if_object_destroyed +/* 08599C 7F050E2C 00A02025 */ move $a0, $a1 +/* 0859A0 7F050E30 10400003 */ beqz $v0, .Ljp7F050E40 +/* 0859A4 7F050E34 02001825 */ move $v1, $s0 +/* 0859A8 7F050E38 100000F7 */ b .Ljp7F051218 +/* 0859AC 7F050E3C 00001025 */ move $v0, $zero +.Ljp7F050E40: +/* 0859B0 7F050E40 00001025 */ move $v0, $zero +.Ljp7F050E44: +/* 0859B4 7F050E44 24500001 */ addiu $s0, $v0, 1 +/* 0859B8 7F050E48 24010001 */ li $at, 1 +/* 0859BC 7F050E4C 14410002 */ bne $v0, $at, .Ljp7F050E58 +/* 0859C0 7F050E50 AFB0003C */ sw $s0, 0x3c($sp) +/* 0859C4 7F050E54 24100001 */ li $s0, 1 +.Ljp7F050E58: +/* 0859C8 7F050E58 AFA30038 */ sw $v1, 0x38($sp) +/* 0859CC 7F050E5C 946C0082 */ lhu $t4, 0x82($v1) +/* 0859D0 7F050E60 02002025 */ move $a0, $s0 +/* 0859D4 7F050E64 5980002E */ blezl $t4, .Ljp7F050F20 +/* 0859D8 7F050E68 8FA2003C */ lw $v0, 0x3c($sp) +/* 0859DC 7F050E6C 0FC1A60B */ jal check_cur_player_ammo_amount_in_inventory +/* 0859E0 7F050E70 AFA30038 */ sw $v1, 0x38($sp) +/* 0859E4 7F050E74 02002025 */ move $a0, $s0 +/* 0859E8 7F050E78 0FC1A630 */ jal get_max_ammo_for_type +/* 0859EC 7F050E7C AFA20040 */ sw $v0, 0x40($sp) +/* 0859F0 7F050E80 8FA30040 */ lw $v1, 0x40($sp) +/* 0859F4 7F050E84 0062082A */ slt $at, $v1, $v0 +/* 0859F8 7F050E88 50200004 */ beql $at, $zero, .Ljp7F050E9C +/* 0859FC 7F050E8C 24010005 */ li $at, 5 +/* 085A00 7F050E90 10000027 */ b .Ljp7F050F30 +/* 085A04 7F050E94 AFA00074 */ sw $zero, 0x74($sp) +/* 085A08 7F050E98 24010005 */ li $at, 5 +.Ljp7F050E9C: +/* 085A0C 7F050E9C 56010005 */ bnel $s0, $at, .Ljp7F050EB4 +/* 085A10 7F050EA0 24010007 */ li $at, 7 +/* 085A14 7F050EA4 0FC232E9 */ jal is_weapon_in_inv +/* 085A18 7F050EA8 2404001A */ li $a0, 26 +/* 085A1C 7F050EAC 10400019 */ beqz $v0, .Ljp7F050F14 +/* 085A20 7F050EB0 24010007 */ li $at, 7 +.Ljp7F050EB4: +/* 085A24 7F050EB4 56010005 */ bnel $s0, $at, .Ljp7F050ECC +/* 085A28 7F050EB8 24010008 */ li $at, 8 +/* 085A2C 7F050EBC 0FC232E9 */ jal is_weapon_in_inv +/* 085A30 7F050EC0 2404001D */ li $a0, 29 +/* 085A34 7F050EC4 10400013 */ beqz $v0, .Ljp7F050F14 +/* 085A38 7F050EC8 24010008 */ li $at, 8 +.Ljp7F050ECC: +/* 085A3C 7F050ECC 56010005 */ bnel $s0, $at, .Ljp7F050EE4 +/* 085A40 7F050ED0 24010009 */ li $at, 9 +/* 085A44 7F050ED4 0FC232E9 */ jal is_weapon_in_inv +/* 085A48 7F050ED8 2404001C */ li $a0, 28 +/* 085A4C 7F050EDC 1040000D */ beqz $v0, .Ljp7F050F14 +/* 085A50 7F050EE0 24010009 */ li $at, 9 +.Ljp7F050EE4: +/* 085A54 7F050EE4 56010005 */ bnel $s0, $at, .Ljp7F050EFC +/* 085A58 7F050EE8 2401000A */ li $at, 10 +/* 085A5C 7F050EEC 0FC232E9 */ jal is_weapon_in_inv +/* 085A60 7F050EF0 2404001B */ li $a0, 27 +/* 085A64 7F050EF4 10400007 */ beqz $v0, .Ljp7F050F14 +/* 085A68 7F050EF8 2401000A */ li $at, 10 +.Ljp7F050EFC: +/* 085A6C 7F050EFC 56010008 */ bnel $s0, $at, .Ljp7F050F20 +/* 085A70 7F050F00 8FA2003C */ lw $v0, 0x3c($sp) +/* 085A74 7F050F04 0FC232E9 */ jal is_weapon_in_inv +/* 085A78 7F050F08 24040003 */ li $a0, 3 +/* 085A7C 7F050F0C 54400004 */ bnezl $v0, .Ljp7F050F20 +/* 085A80 7F050F10 8FA2003C */ lw $v0, 0x3c($sp) +.Ljp7F050F14: +/* 085A84 7F050F14 10000006 */ b .Ljp7F050F30 +/* 085A88 7F050F18 AFA00074 */ sw $zero, 0x74($sp) +/* 085A8C 7F050F1C 8FA2003C */ lw $v0, 0x3c($sp) +.Ljp7F050F20: +/* 085A90 7F050F20 8FA30038 */ lw $v1, 0x38($sp) +/* 085A94 7F050F24 2401000D */ li $at, 13 +/* 085A98 7F050F28 1441FFC6 */ bne $v0, $at, .Ljp7F050E44 +/* 085A9C 7F050F2C 24630004 */ addiu $v1, $v1, 4 +.Ljp7F050F30: +/* 085AA0 7F050F30 8FAD0074 */ lw $t5, 0x74($sp) +/* 085AA4 7F050F34 11A0002E */ beqz $t5, .Ljp7F050FF0 +/* 085AA8 7F050F38 00000000 */ nop +/* 085AAC 7F050F3C 100000B6 */ b .Ljp7F051218 +/* 085AB0 7F050F40 00001025 */ move $v0, $zero +.Ljp7F050F44: +/* 085AB4 7F050F44 24010015 */ li $at, 21 +/* 085AB8 7F050F48 14410029 */ bne $v0, $at, .Ljp7F050FF0 +/* 085ABC 7F050F4C 8FAE0090 */ lw $t6, 0x90($sp) +/* 085AC0 7F050F50 8DD00004 */ lw $s0, 4($t6) +/* 085AC4 7F050F54 0FC22A8D */ jal get_BONDdata_watch_armor +/* 085AC8 7F050F58 AFA00064 */ sw $zero, 0x64($sp) +/* 085ACC 7F050F5C C6040084 */ lwc1 $f4, 0x84($s0) +/* 085AD0 7F050F60 240F0001 */ li $t7, 1 +/* 085AD4 7F050F64 4600203E */ c.le.s $f4, $f0 +/* 085AD8 7F050F68 00000000 */ nop +/* 085ADC 7F050F6C 45000003 */ bc1f .Ljp7F050F7C +/* 085AE0 7F050F70 00000000 */ nop +/* 085AE4 7F050F74 10000019 */ b .Ljp7F050FDC +/* 085AE8 7F050F78 AFAF0064 */ sw $t7, 0x64($sp) +.Ljp7F050F7C: +/* 085AEC 7F050F7C 0FC26C01 */ jal get_num_players +/* 085AF0 7F050F80 00000000 */ nop +/* 085AF4 7F050F84 28410002 */ slti $at, $v0, 2 +/* 085AF8 7F050F88 54200015 */ bnezl $at, .Ljp7F050FE0 +/* 085AFC 7F050F8C 8FA90064 */ lw $t1, 0x64($sp) +/* 085B00 7F050F90 0FC05202 */ jal get_scenario +/* 085B04 7F050F94 00000000 */ nop +/* 085B08 7F050F98 24010002 */ li $at, 2 +/* 085B0C 7F050F9C 14410007 */ bne $v0, $at, .Ljp7F050FBC +/* 085B10 7F050FA0 00408025 */ move $s0, $v0 +/* 085B14 7F050FA4 0FC23639 */ jal sub_GAME_7F08CF80 +/* 085B18 7F050FA8 00000000 */ nop +/* 085B1C 7F050FAC 10400003 */ beqz $v0, .Ljp7F050FBC +/* 085B20 7F050FB0 24180001 */ li $t8, 1 +/* 085B24 7F050FB4 10000009 */ b .Ljp7F050FDC +/* 085B28 7F050FB8 AFB80064 */ sw $t8, 0x64($sp) +.Ljp7F050FBC: +/* 085B2C 7F050FBC 24010003 */ li $at, 3 +/* 085B30 7F050FC0 56010007 */ bnel $s0, $at, .Ljp7F050FE0 +/* 085B34 7F050FC4 8FA90064 */ lw $t1, 0x64($sp) +/* 085B38 7F050FC8 0FC23649 */ jal checkforgoldengun +/* 085B3C 7F050FCC 00000000 */ nop +/* 085B40 7F050FD0 10400002 */ beqz $v0, .Ljp7F050FDC +/* 085B44 7F050FD4 24190001 */ li $t9, 1 +/* 085B48 7F050FD8 AFB90064 */ sw $t9, 0x64($sp) +.Ljp7F050FDC: +/* 085B4C 7F050FDC 8FA90064 */ lw $t1, 0x64($sp) +.Ljp7F050FE0: +/* 085B50 7F050FE0 11200003 */ beqz $t1, .Ljp7F050FF0 +/* 085B54 7F050FE4 00000000 */ nop +/* 085B58 7F050FE8 1000008B */ b .Ljp7F051218 +/* 085B5C 7F050FEC 00001025 */ move $v0, $zero +.Ljp7F050FF0: +/* 085B60 7F050FF0 0FC22992 */ jal get_curplay_vertical_rotation_in_degrees +/* 085B64 7F050FF4 00000000 */ nop +/* 085B68 7F050FF8 3C018005 */ lui $at, %hi(D_800532E0) # $at, 0x8005 +/* 085B6C 7F050FFC C4263310 */ lwc1 $f6, %lo(D_800532E0)($at) +/* 085B70 7F051000 3C0A8008 */ lui $t2, %hi(pPlayer) # $t2, 0x8008 +/* 085B74 7F051004 4606003C */ c.lt.s $f0, $f6 +/* 085B78 7F051008 00000000 */ nop +/* 085B7C 7F05100C 45000007 */ bc1f .Ljp7F05102C +/* 085B80 7F051010 00000000 */ nop +/* 085B84 7F051014 8D4AA120 */ lw $t2, %lo(pPlayer)($t2) +/* 085B88 7F051018 8D4B1270 */ lw $t3, 0x1270($t2) +/* 085B8C 7F05101C 05610003 */ bgez $t3, .Ljp7F05102C +/* 085B90 7F051020 00000000 */ nop +/* 085B94 7F051024 1000007C */ b .Ljp7F051218 +/* 085B98 7F051028 00001025 */ move $v0, $zero +.Ljp7F05102C: +/* 085B9C 7F05102C 0FC2279B */ jal get_curplayer_positiondata +/* 085BA0 7F051030 00000000 */ nop +/* 085BA4 7F051034 3C0D8008 */ lui $t5, %hi(pPlayer) # $t5, 0x8008 +/* 085BA8 7F051038 8FAC008C */ lw $t4, 0x8c($sp) +/* 085BAC 7F05103C 8DADA120 */ lw $t5, %lo(pPlayer)($t5) +/* 085BB0 7F051040 C44A0008 */ lwc1 $f10, 8($v0) +/* 085BB4 7F051044 C452000C */ lwc1 $f18, 0xc($v0) +/* 085BB8 7F051048 8DAE1270 */ lw $t6, 0x1270($t5) +/* 085BBC 7F05104C C4460010 */ lwc1 $f6, 0x10($v0) +/* 085BC0 7F051050 C5880058 */ lwc1 $f8, 0x58($t4) +/* 085BC4 7F051054 C590005C */ lwc1 $f16, 0x5c($t4) +/* 085BC8 7F051058 C5840060 */ lwc1 $f4, 0x60($t4) +/* 085BCC 7F05105C 29C1003C */ slti $at, $t6, 0x3c +/* 085BD0 7F051060 00404025 */ move $t0, $v0 +/* 085BD4 7F051064 460A4001 */ sub.s $f0, $f8, $f10 +/* 085BD8 7F051068 46128301 */ sub.s $f12, $f16, $f18 +/* 085BDC 7F05106C 14200022 */ bnez $at, .Ljp7F0510F8 +/* 085BE0 7F051070 46062081 */ sub.s $f2, $f4, $f6 +/* 085BE4 7F051074 46000202 */ mul.s $f8, $f0, $f0 +/* 085BE8 7F051078 3C018005 */ lui $at, %hi(D_800532E4) # $at, 0x8005 +/* 085BEC 7F05107C C4323314 */ lwc1 $f18, %lo(D_800532E4)($at) +/* 085BF0 7F051080 46021282 */ mul.s $f10, $f2, $f2 +/* 085BF4 7F051084 3C01C3FA */ li $at, 0xC3FA0000 # -500.000000 +/* 085BF8 7F051088 00001025 */ move $v0, $zero +/* 085BFC 7F05108C 460A4400 */ add.s $f16, $f8, $f10 +/* 085C00 7F051090 4612803E */ c.le.s $f16, $f18 +/* 085C04 7F051094 00000000 */ nop +/* 085C08 7F051098 45000002 */ bc1f .Ljp7F0510A4 +/* 085C0C 7F05109C 00000000 */ nop +/* 085C10 7F0510A0 24020001 */ li $v0, 1 +.Ljp7F0510A4: +/* 085C14 7F0510A4 10400012 */ beqz $v0, .Ljp7F0510F0 +/* 085C18 7F0510A8 00401825 */ move $v1, $v0 +/* 085C1C 7F0510AC 44812000 */ mtc1 $at, $f4 +/* 085C20 7F0510B0 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 085C24 7F0510B4 00001025 */ move $v0, $zero +/* 085C28 7F0510B8 460C203E */ c.le.s $f4, $f12 +/* 085C2C 7F0510BC 00000000 */ nop +/* 085C30 7F0510C0 45000002 */ bc1f .Ljp7F0510CC +/* 085C34 7F0510C4 00000000 */ nop +/* 085C38 7F0510C8 24020001 */ li $v0, 1 +.Ljp7F0510CC: +/* 085C3C 7F0510CC 10400008 */ beqz $v0, .Ljp7F0510F0 +/* 085C40 7F0510D0 00401825 */ move $v1, $v0 +/* 085C44 7F0510D4 44813000 */ mtc1 $at, $f6 +/* 085C48 7F0510D8 00001825 */ move $v1, $zero +/* 085C4C 7F0510DC 4606603E */ c.le.s $f12, $f6 +/* 085C50 7F0510E0 00000000 */ nop +/* 085C54 7F0510E4 45000002 */ bc1f .Ljp7F0510F0 +/* 085C58 7F0510E8 00000000 */ nop +/* 085C5C 7F0510EC 24030001 */ li $v1, 1 +.Ljp7F0510F0: +/* 085C60 7F0510F0 10000021 */ b .Ljp7F051178 +/* 085C64 7F0510F4 00608025 */ move $s0, $v1 +.Ljp7F0510F8: +/* 085C68 7F0510F8 46000202 */ mul.s $f8, $f0, $f0 +/* 085C6C 7F0510FC 3C018005 */ lui $at, %hi(D_800532E8) # $at, 0x8005 +/* 085C70 7F051100 C4303318 */ lwc1 $f16, %lo(D_800532E8)($at) +/* 085C74 7F051104 46021282 */ mul.s $f10, $f2, $f2 +/* 085C78 7F051108 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 085C7C 7F05110C 00001025 */ move $v0, $zero +/* 085C80 7F051110 460A4480 */ add.s $f18, $f8, $f10 +/* 085C84 7F051114 4610903E */ c.le.s $f18, $f16 +/* 085C88 7F051118 00000000 */ nop +/* 085C8C 7F05111C 45000002 */ bc1f .Ljp7F051128 +/* 085C90 7F051120 00000000 */ nop +/* 085C94 7F051124 24020001 */ li $v0, 1 +.Ljp7F051128: +/* 085C98 7F051128 10400012 */ beqz $v0, .Ljp7F051174 +/* 085C9C 7F05112C 00401825 */ move $v1, $v0 +/* 085CA0 7F051130 44812000 */ mtc1 $at, $f4 +/* 085CA4 7F051134 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 085CA8 7F051138 00001025 */ move $v0, $zero +/* 085CAC 7F05113C 460C203E */ c.le.s $f4, $f12 +/* 085CB0 7F051140 00000000 */ nop +/* 085CB4 7F051144 45000002 */ bc1f .Ljp7F051150 +/* 085CB8 7F051148 00000000 */ nop +/* 085CBC 7F05114C 24020001 */ li $v0, 1 +.Ljp7F051150: +/* 085CC0 7F051150 10400008 */ beqz $v0, .Ljp7F051174 +/* 085CC4 7F051154 00401825 */ move $v1, $v0 +/* 085CC8 7F051158 44813000 */ mtc1 $at, $f6 +/* 085CCC 7F05115C 00001825 */ move $v1, $zero +/* 085CD0 7F051160 4606603E */ c.le.s $f12, $f6 +/* 085CD4 7F051164 00000000 */ nop +/* 085CD8 7F051168 45020003 */ bc1fl .Ljp7F051178 +/* 085CDC 7F05116C 00608025 */ move $s0, $v1 +/* 085CE0 7F051170 24030001 */ li $v1, 1 +.Ljp7F051174: +/* 085CE4 7F051174 00608025 */ move $s0, $v1 +.Ljp7F051178: +/* 085CE8 7F051178 10600020 */ beqz $v1, .Ljp7F0511FC +/* 085CEC 7F05117C 8FAF008C */ lw $t7, 0x8c($sp) +/* 085CF0 7F051180 8DF8000C */ lw $t8, 0xc($t7) +/* 085CF4 7F051184 8FA20090 */ lw $v0, 0x90($sp) +/* 085CF8 7F051188 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 085CFC 7F05118C 33191000 */ andi $t9, $t8, 0x1000 +/* 085D00 7F051190 1720001A */ bnez $t9, .Ljp7F0511FC +/* 085D04 7F051194 27A40044 */ addiu $a0, $sp, 0x44 +/* 085D08 7F051198 8D090014 */ lw $t1, 0x14($t0) +/* 085D0C 7F05119C 44810000 */ mtc1 $at, $f0 +/* 085D10 7F0511A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 085D14 7F0511A4 AFA90044 */ sw $t1, 0x44($sp) +/* 085D18 7F0511A8 C4480010 */ lwc1 $f8, 0x10($v0) +/* 085D1C 7F0511AC 8C470008 */ lw $a3, 8($v0) +/* 085D20 7F0511B0 8D060010 */ lw $a2, 0x10($t0) +/* 085D24 7F0511B4 8D050008 */ lw $a1, 8($t0) +/* 085D28 7F0511B8 44818000 */ mtc1 $at, $f16 +/* 085D2C 7F0511BC 44805000 */ mtc1 $zero, $f10 +/* 085D30 7F0511C0 240A0002 */ li $t2, 2 +/* 085D34 7F0511C4 AFAA0014 */ sw $t2, 0x14($sp) +/* 085D38 7F0511C8 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 085D3C 7F0511CC E7A00018 */ swc1 $f0, 0x18($sp) +/* 085D40 7F0511D0 E7A80010 */ swc1 $f8, 0x10($sp) +/* 085D44 7F0511D4 E7B00024 */ swc1 $f16, 0x24($sp) +/* 085D48 7F0511D8 0FC2C675 */ jal sub_GAME_7F0B0E24 +/* 085D4C 7F0511DC E7AA0020 */ swc1 $f10, 0x20($sp) +/* 085D50 7F0511E0 10400005 */ beqz $v0, .Ljp7F0511F8 +/* 085D54 7F0511E4 8FAC0090 */ lw $t4, 0x90($sp) +/* 085D58 7F0511E8 8FAB0044 */ lw $t3, 0x44($sp) +/* 085D5C 7F0511EC 8D8D0014 */ lw $t5, 0x14($t4) +/* 085D60 7F0511F0 116D0002 */ beq $t3, $t5, .Ljp7F0511FC +/* 085D64 7F0511F4 00000000 */ nop +.Ljp7F0511F8: +/* 085D68 7F0511F8 00008025 */ move $s0, $zero +.Ljp7F0511FC: +/* 085D6C 7F0511FC 12000006 */ beqz $s0, .Ljp7F051218 +/* 085D70 7F051200 00001025 */ move $v0, $zero +/* 085D74 7F051204 8FA40090 */ lw $a0, 0x90($sp) +/* 085D78 7F051208 0FC14195 */ jal collect_or_interact_object +/* 085D7C 7F05120C 24050001 */ li $a1, 1 +/* 085D80 7F051210 10000002 */ b .Ljp7F05121C +/* 085D84 7F051214 8FBF0034 */ lw $ra, 0x34($sp) +.Ljp7F051218: +/* 085D88 7F051218 8FBF0034 */ lw $ra, 0x34($sp) +.Ljp7F05121C: +/* 085D8C 7F05121C 8FB00030 */ lw $s0, 0x30($sp) +/* 085D90 7F051220 27BD0090 */ addiu $sp, $sp, 0x90 +/* 085D94 7F051224 03E00008 */ jr $ra +/* 085D98 7F051228 00000000 */ nop +) +#endif + +#endif + +#ifdef NONMATCHING +void sub_GAME_7F050D30(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F050D30 +/* 085860 7F050D30 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 085864 7F050D34 AFBF001C */ sw $ra, 0x1c($sp) +/* 085868 7F050D38 AFA40028 */ sw $a0, 0x28($sp) +/* 08586C 7F050D3C AFA5002C */ sw $a1, 0x2c($sp) +/* 085870 7F050D40 AFA70034 */ sw $a3, 0x34($sp) +/* 085874 7F050D44 908F0001 */ lbu $t7, 1($a0) +/* 085878 7F050D48 31F80002 */ andi $t8, $t7, 2 +/* 08587C 7F050D4C 53000022 */ beql $t8, $zero, .L7F050DD8 +/* 085880 7F050D50 00001025 */ move $v0, $zero +/* 085884 7F050D54 8C830004 */ lw $v1, 4($a0) +/* 085888 7F050D58 8C640014 */ lw $a0, 0x14($v1) +/* 08588C 7F050D5C AFA60030 */ sw $a2, 0x30($sp) +/* 085890 7F050D60 0FC1B1A8 */ jal getsubmatrix +/* 085894 7F050D64 AFA30024 */ sw $v1, 0x24($sp) +/* 085898 7F050D68 8FA9002C */ lw $t1, 0x2c($sp) +/* 08589C 7F050D6C C4440038 */ lwc1 $f4, 0x38($v0) +/* 0858A0 7F050D70 8FA30024 */ lw $v1, 0x24($sp) +/* 0858A4 7F050D74 8FA60030 */ lw $a2, 0x30($sp) +/* 0858A8 7F050D78 8FAA0034 */ lw $t2, 0x34($sp) +/* 0858AC 7F050D7C E5240008 */ swc1 $f4, 8($t1) +/* 0858B0 7F050D80 44800000 */ mtc1 $zero, $f0 +/* 0858B4 7F050D84 C5260008 */ lwc1 $f6, 8($t1) +/* 0858B8 7F050D88 4600303C */ c.lt.s $f6, $f0 +/* 0858BC 7F050D8C 00000000 */ nop +/* 0858C0 7F050D90 45020011 */ bc1fl .L7F050DD8 +/* 0858C4 7F050D94 00001025 */ move $v0, $zero +/* 0858C8 7F050D98 C4480030 */ lwc1 $f8, 0x30($v0) +/* 0858CC 7F050D9C 24C50004 */ addiu $a1, $a2, 4 +/* 0858D0 7F050DA0 25470004 */ addiu $a3, $t2, 4 +/* 0858D4 7F050DA4 E5280000 */ swc1 $f8, ($t1) +/* 0858D8 7F050DA8 C44A0034 */ lwc1 $f10, 0x34($v0) +/* 0858DC 7F050DAC E52A0004 */ swc1 $f10, 4($t1) +/* 0858E0 7F050DB0 E5400000 */ swc1 $f0, ($t2) +/* 0858E4 7F050DB4 E5400004 */ swc1 $f0, 4($t2) +/* 0858E8 7F050DB8 E4C00000 */ swc1 $f0, ($a2) +/* 0858EC 7F050DBC E4C00004 */ swc1 $f0, 4($a2) +/* 0858F0 7F050DC0 8C640014 */ lw $a0, 0x14($v1) +/* 0858F4 7F050DC4 0FC0FE43 */ jal sub_GAME_7F03F90C +/* 0858F8 7F050DC8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0858FC 7F050DCC 10000002 */ b .L7F050DD8 +/* 085900 7F050DD0 24020001 */ li $v0, 1 +/* 085904 7F050DD4 00001025 */ move $v0, $zero +.L7F050DD8: +/* 085908 7F050DD8 8FBF001C */ lw $ra, 0x1c($sp) +/* 08590C 7F050DDC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 085910 7F050DE0 03E00008 */ jr $ra +/* 085914 7F050DE4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F050DE8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F050DE8 +/* 085918 7F050DE8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 08591C 7F050DEC AFBF003C */ sw $ra, 0x3c($sp) +/* 085920 7F050DF0 AFBE0038 */ sw $fp, 0x38($sp) +/* 085924 7F050DF4 AFB70034 */ sw $s7, 0x34($sp) +/* 085928 7F050DF8 AFB60030 */ sw $s6, 0x30($sp) +/* 08592C 7F050DFC AFB5002C */ sw $s5, 0x2c($sp) +/* 085930 7F050E00 AFB40028 */ sw $s4, 0x28($sp) +/* 085934 7F050E04 AFB30024 */ sw $s3, 0x24($sp) +/* 085938 7F050E08 AFB20020 */ sw $s2, 0x20($sp) +/* 08593C 7F050E0C AFB1001C */ sw $s1, 0x1c($sp) +/* 085940 7F050E10 AFB00018 */ sw $s0, 0x18($sp) +/* 085944 7F050E14 8C940008 */ lw $s4, 8($a0) +/* 085948 7F050E18 00809825 */ move $s3, $a0 +/* 08594C 7F050E1C 24150008 */ li $s5, 8 +/* 085950 7F050E20 8E900000 */ lw $s0, ($s4) +/* 085954 7F050E24 24160012 */ li $s6, 18 +/* 085958 7F050E28 24170017 */ li $s7, 23 +/* 08595C 7F050E2C 1200003C */ beqz $s0, .L7F050F20 +/* 085960 7F050E30 241E0018 */ li $fp, 24 +/* 085964 7F050E34 96020000 */ lhu $v0, ($s0) +.L7F050E38: +/* 085968 7F050E38 02602025 */ move $a0, $s3 +/* 08596C 7F050E3C 304E00FF */ andi $t6, $v0, 0xff +/* 085970 7F050E40 11D5001C */ beq $t6, $s5, .L7F050EB4 +/* 085974 7F050E44 00000000 */ nop +/* 085978 7F050E48 11D6001E */ beq $t6, $s6, .L7F050EC4 +/* 08597C 7F050E4C 02602025 */ move $a0, $s3 +/* 085980 7F050E50 11D70020 */ beq $t6, $s7, .L7F050ED4 +/* 085984 7F050E54 02602025 */ move $a0, $s3 +/* 085988 7F050E58 11DE0003 */ beq $t6, $fp, .L7F050E68 +/* 08598C 7F050E5C 02602025 */ move $a0, $s3 +/* 085990 7F050E60 1000001F */ b .L7F050EE0 +/* 085994 7F050E64 8E020014 */ lw $v0, 0x14($s0) +.L7F050E68: +/* 085998 7F050E68 8E120004 */ lw $s2, 4($s0) +/* 08599C 7F050E6C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 0859A0 7F050E70 02002825 */ move $a1, $s0 +/* 0859A4 7F050E74 8E4F0008 */ lw $t7, 8($s2) +/* 0859A8 7F050E78 8C580000 */ lw $t8, ($v0) +/* 0859AC 7F050E7C 00408825 */ move $s1, $v0 +/* 0859B0 7F050E80 02802025 */ move $a0, $s4 +/* 0859B4 7F050E84 11F80009 */ beq $t7, $t8, .L7F050EAC +/* 0859B8 7F050E88 00000000 */ nop +/* 0859BC 7F050E8C 0FC12D64 */ jal sub_GAME_7F04B590 +/* 0859C0 7F050E90 02002825 */ move $a1, $s0 +/* 0859C4 7F050E94 10400005 */ beqz $v0, .L7F050EAC +/* 0859C8 7F050E98 00000000 */ nop +/* 0859CC 7F050E9C 0FC27011 */ jal sub_GAME_7F09C044 +/* 0859D0 7F050EA0 8E240000 */ lw $a0, ($s1) +/* 0859D4 7F050EA4 8E590008 */ lw $t9, 8($s2) +/* 0859D8 7F050EA8 AE390000 */ sw $t9, ($s1) +.L7F050EAC: +/* 0859DC 7F050EAC 1000000C */ b .L7F050EE0 +/* 0859E0 7F050EB0 8E020014 */ lw $v0, 0x14($s0) +.L7F050EB4: +/* 0859E4 7F050EB4 0FC1BA5C */ jal sub_GAME_7F06E970 +/* 0859E8 7F050EB8 02002825 */ move $a1, $s0 +/* 0859EC 7F050EBC 10000008 */ b .L7F050EE0 +/* 0859F0 7F050EC0 8E020014 */ lw $v0, 0x14($s0) +.L7F050EC4: +/* 0859F4 7F050EC4 0FC1BA6F */ jal process_12_handle_switch +/* 0859F8 7F050EC8 02002825 */ move $a1, $s0 +/* 0859FC 7F050ECC 10000004 */ b .L7F050EE0 +/* 085A00 7F050ED0 8E020014 */ lw $v0, 0x14($s0) +.L7F050ED4: +/* 085A04 7F050ED4 0FC1BA82 */ jal process_17_pointer_to_head +/* 085A08 7F050ED8 02002825 */ move $a1, $s0 +/* 085A0C 7F050EDC 8E020014 */ lw $v0, 0x14($s0) +.L7F050EE0: +/* 085A10 7F050EE0 10400003 */ beqz $v0, .L7F050EF0 +/* 085A14 7F050EE4 00000000 */ nop +/* 085A18 7F050EE8 1000000B */ b .L7F050F18 +/* 085A1C 7F050EEC 00408025 */ move $s0, $v0 +.L7F050EF0: +/* 085A20 7F050EF0 12000009 */ beqz $s0, .L7F050F18 +/* 085A24 7F050EF4 00000000 */ nop +/* 085A28 7F050EF8 8E02000C */ lw $v0, 0xc($s0) +.L7F050EFC: +/* 085A2C 7F050EFC 50400004 */ beql $v0, $zero, .L7F050F10 +/* 085A30 7F050F00 8E100008 */ lw $s0, 8($s0) +/* 085A34 7F050F04 10000004 */ b .L7F050F18 +/* 085A38 7F050F08 00408025 */ move $s0, $v0 +/* 085A3C 7F050F0C 8E100008 */ lw $s0, 8($s0) +.L7F050F10: +/* 085A40 7F050F10 5600FFFA */ bnezl $s0, .L7F050EFC +/* 085A44 7F050F14 8E02000C */ lw $v0, 0xc($s0) +.L7F050F18: +/* 085A48 7F050F18 5600FFC7 */ bnezl $s0, .L7F050E38 +/* 085A4C 7F050F1C 96020000 */ lhu $v0, ($s0) +.L7F050F20: +/* 085A50 7F050F20 8FBF003C */ lw $ra, 0x3c($sp) +/* 085A54 7F050F24 8FB00018 */ lw $s0, 0x18($sp) +/* 085A58 7F050F28 8FB1001C */ lw $s1, 0x1c($sp) +/* 085A5C 7F050F2C 8FB20020 */ lw $s2, 0x20($sp) +/* 085A60 7F050F30 8FB30024 */ lw $s3, 0x24($sp) +/* 085A64 7F050F34 8FB40028 */ lw $s4, 0x28($sp) +/* 085A68 7F050F38 8FB5002C */ lw $s5, 0x2c($sp) +/* 085A6C 7F050F3C 8FB60030 */ lw $s6, 0x30($sp) +/* 085A70 7F050F40 8FB70034 */ lw $s7, 0x34($sp) +/* 085A74 7F050F44 8FBE0038 */ lw $fp, 0x38($sp) +/* 085A78 7F050F48 03E00008 */ jr $ra +/* 085A7C 7F050F4C 27BD0040 */ addiu $sp, $sp, 0x40 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F050F50(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F050F50 +/* 085A80 7F050F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 085A84 7F050F54 AFA50024 */ sw $a1, 0x24($sp) +/* 085A88 7F050F58 AFA60028 */ sw $a2, 0x28($sp) +/* 085A8C 7F050F5C 00C02825 */ move $a1, $a2 +/* 085A90 7F050F60 AFBF001C */ sw $ra, 0x1c($sp) +/* 085A94 7F050F64 AFB00014 */ sw $s0, 0x14($sp) +/* 085A98 7F050F68 00E03025 */ move $a2, $a3 +/* 085A9C 7F050F6C 00808025 */ move $s0, $a0 +/* 085AA0 7F050F70 AFB10018 */ sw $s1, 0x18($sp) +/* 085AA4 7F050F74 0FC10153 */ jal init_standard_object +/* 085AA8 7F050F78 8FA70030 */ lw $a3, 0x30($sp) +/* 085AAC 7F050F7C 10400024 */ beqz $v0, .L7F051010 +/* 085AB0 7F050F80 00408825 */ move $s1, $v0 +/* 085AB4 7F050F84 8E040014 */ lw $a0, 0x14($s0) +/* 085AB8 7F050F88 50800022 */ beql $a0, $zero, .L7F051014 +/* 085ABC 7F050F8C 8FBF001C */ lw $ra, 0x1c($sp) +/* 085AC0 7F050F90 960E0000 */ lhu $t6, ($s0) +/* 085AC4 7F050F94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 085AC8 7F050F98 448E2000 */ mtc1 $t6, $f4 +/* 085ACC 7F050F9C 05C10004 */ bgez $t6, .L7F050FB0 +/* 085AD0 7F050FA0 468021A0 */ cvt.s.w $f6, $f4 +/* 085AD4 7F050FA4 44814000 */ mtc1 $at, $f8 +/* 085AD8 7F050FA8 00000000 */ nop +/* 085ADC 7F050FAC 46083180 */ add.s $f6, $f6, $f8 +.L7F050FB0: +/* 085AE0 7F050FB0 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 085AE4 7F050FB4 44815000 */ mtc1 $at, $f10 +/* 085AE8 7F050FB8 C4900014 */ lwc1 $f16, 0x14($a0) +/* 085AEC 7F050FBC 460A3002 */ mul.s $f0, $f6, $f10 +/* 085AF0 7F050FC0 00000000 */ nop +/* 085AF4 7F050FC4 46008482 */ mul.s $f18, $f16, $f0 +/* 085AF8 7F050FC8 44059000 */ mfc1 $a1, $f18 +/* 085AFC 7F050FCC 0FC1B39E */ jal set_obj_instance_controller_scale +/* 085B00 7F050FD0 00000000 */ nop +/* 085B04 7F050FD4 8FA20024 */ lw $v0, 0x24($sp) +/* 085B08 7F050FD8 8E180014 */ lw $t8, 0x14($s0) +/* 085B0C 7F050FDC 02202025 */ move $a0, $s1 +/* 085B10 7F050FE0 8C4F001C */ lw $t7, 0x1c($v0) +/* 085B14 7F050FE4 AF0F0018 */ sw $t7, 0x18($t8) +/* 085B18 7F050FE8 8C59001C */ lw $t9, 0x1c($v0) +/* 085B1C 7F050FEC 8E0B0014 */ lw $t3, 0x14($s0) +/* 085B20 7F050FF0 8F280008 */ lw $t0, 8($t9) +/* 085B24 7F050FF4 8D090008 */ lw $t1, 8($t0) +/* 085B28 7F050FF8 8D2A0018 */ lw $t2, 0x18($t1) +/* 085B2C 7F050FFC AD6A001C */ sw $t2, 0x1c($t3) +/* 085B30 7F051000 0FC0E969 */ jal sub_GAME_7F03A5A4 +/* 085B34 7F051004 8C450018 */ lw $a1, 0x18($v0) +/* 085B38 7F051008 8FAC0024 */ lw $t4, 0x24($sp) +/* 085B3C 7F05100C AD9101D8 */ sw $s1, 0x1d8($t4) +.L7F051010: +/* 085B40 7F051010 8FBF001C */ lw $ra, 0x1c($sp) +.L7F051014: +/* 085B44 7F051014 02201025 */ move $v0, $s1 +/* 085B48 7F051018 8FB10018 */ lw $s1, 0x18($sp) +/* 085B4C 7F05101C 8FB00014 */ lw $s0, 0x14($sp) +/* 085B50 7F051020 03E00008 */ jr $ra +/* 085B54 7F051024 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051028(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051028 +/* 085B58 7F051028 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 085B5C 7F05102C AFBF001C */ sw $ra, 0x1c($sp) +/* 085B60 7F051030 AFA40028 */ sw $a0, 0x28($sp) +/* 085B64 7F051034 AFA5002C */ sw $a1, 0x2c($sp) +/* 085B68 7F051038 84840004 */ lh $a0, 4($a0) +/* 085B6C 7F05103C 0FC15B0E */ jal load_model +/* 085B70 7F051040 AFA40020 */ sw $a0, 0x20($sp) +/* 085B74 7F051044 8FAF0020 */ lw $t7, 0x20($sp) +/* 085B78 7F051048 3C068004 */ lui $a2, %hi(PitemZ_entries) +/* 085B7C 7F05104C 8FA40028 */ lw $a0, 0x28($sp) +/* 085B80 7F051050 000FC080 */ sll $t8, $t7, 2 +/* 085B84 7F051054 030FC023 */ subu $t8, $t8, $t7 +/* 085B88 7F051058 0018C080 */ sll $t8, $t8, 2 +/* 085B8C 7F05105C 00D83021 */ addu $a2, $a2, $t8 +/* 085B90 7F051060 8CC6A228 */ lw $a2, %lo(PitemZ_entries)($a2) +/* 085B94 7F051064 8FA5002C */ lw $a1, 0x2c($sp) +/* 085B98 7F051068 00003825 */ move $a3, $zero +/* 085B9C 7F05106C 0FC143D4 */ jal sub_GAME_7F050F50 +/* 085BA0 7F051070 AFA00010 */ sw $zero, 0x10($sp) +/* 085BA4 7F051074 8FBF001C */ lw $ra, 0x1c($sp) +/* 085BA8 7F051078 27BD0028 */ addiu $sp, $sp, 0x28 +/* 085BAC 7F05107C 03E00008 */ jr $ra +/* 085BB0 7F051080 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051084(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051084 +/* 085BB4 7F051084 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 085BB8 7F051088 AFBF0014 */ sw $ra, 0x14($sp) +/* 085BBC 7F05108C 8C8E0074 */ lw $t6, 0x74($a0) +/* 085BC0 7F051090 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 085BC4 7F051094 44814000 */ mtc1 $at, $f8 +/* 085BC8 7F051098 448E2000 */ mtc1 $t6, $f4 +/* 085BCC 7F05109C 00000000 */ nop +/* 085BD0 7F0510A0 468021A0 */ cvt.s.w $f6, $f4 +/* 085BD4 7F0510A4 46083283 */ div.s $f10, $f6, $f8 +/* 085BD8 7F0510A8 0FC1440A */ jal sub_GAME_7F051028 +/* 085BDC 7F0510AC E48A0074 */ swc1 $f10, 0x74($a0) +/* 085BE0 7F0510B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 085BE4 7F0510B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 085BE8 7F0510B8 03E00008 */ jr $ra +/* 085BEC 7F0510BC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0510C0(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0510C0 +/* 085BF0 7F0510C0 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 085BF4 7F0510C4 00057080 */ sll $t6, $a1, 2 +/* 085BF8 7F0510C8 01C57023 */ subu $t6, $t6, $a1 +/* 085BFC 7F0510CC 000E7080 */ sll $t6, $t6, 2 +/* 085C00 7F0510D0 3C0F8004 */ lui $t7, %hi(PitemZ_entries) +/* 085C04 7F0510D4 01EE7821 */ addu $t7, $t7, $t6 +/* 085C08 7F0510D8 8DEFA228 */ lw $t7, %lo(PitemZ_entries)($t7) +/* 085C0C 7F0510DC AFBF002C */ sw $ra, 0x2c($sp) +/* 085C10 7F0510E0 AFA400C0 */ sw $a0, 0xc0($sp) +/* 085C14 7F0510E4 AFB20028 */ sw $s2, 0x28($sp) +/* 085C18 7F0510E8 AFB10024 */ sw $s1, 0x24($sp) +/* 085C1C 7F0510EC AFB00020 */ sw $s0, 0x20($sp) +/* 085C20 7F0510F0 AFA600C8 */ sw $a2, 0xc8($sp) +/* 085C24 7F0510F4 00A02025 */ move $a0, $a1 +/* 085C28 7F0510F8 AFA500C4 */ sw $a1, 0xc4($sp) +/* 085C2C 7F0510FC 0FC15B0E */ jal load_model +/* 085C30 7F051100 AFAF00BC */ sw $t7, 0xbc($sp) +/* 085C34 7F051104 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 085C38 7F051108 00000000 */ nop +/* 085C3C 7F05110C 00408025 */ move $s0, $v0 +/* 085C40 7F051110 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 085C44 7F051114 8FA400BC */ lw $a0, 0xbc($sp) +/* 085C48 7F051118 00408825 */ move $s1, $v0 +/* 085C4C 7F05111C 2E040001 */ sltiu $a0, $s0, 1 +/* 085C50 7F051120 2C450001 */ sltiu $a1, $v0, 1 +/* 085C54 7F051124 0FC1456C */ jal sub_GAME_7F0515B0 +/* 085C58 7F051128 8FA600BC */ lw $a2, 0xbc($sp) +/* 085C5C 7F05112C 16000004 */ bnez $s0, .L7F051140 +/* 085C60 7F051130 00409025 */ move $s2, $v0 +/* 085C64 7F051134 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 085C68 7F051138 00000000 */ nop +/* 085C6C 7F05113C 00408025 */ move $s0, $v0 +.L7F051140: +/* 085C70 7F051140 16200004 */ bnez $s1, .L7F051154 +/* 085C74 7F051144 00000000 */ nop +/* 085C78 7F051148 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 085C7C 7F05114C 8FA400BC */ lw $a0, 0xbc($sp) +/* 085C80 7F051150 00408825 */ move $s1, $v0 +.L7F051154: +/* 085C84 7F051154 12400035 */ beqz $s2, .L7F05122C +/* 085C88 7F051158 00000000 */ nop +/* 085C8C 7F05115C 12000033 */ beqz $s0, .L7F05122C +/* 085C90 7F051160 00000000 */ nop +/* 085C94 7F051164 12200031 */ beqz $s1, .L7F05122C +/* 085C98 7F051168 27A20030 */ addiu $v0, $sp, 0x30 +/* 085C9C 7F05116C 3C188003 */ lui $t8, %hi(blank_11_object) +/* 085CA0 7F051170 27182114 */ addiu $t8, %lo(blank_11_object) # addiu $t8, $t8, 0x2114 +/* 085CA4 7F051174 8FA500C0 */ lw $a1, 0xc0($sp) +/* 085CA8 7F051178 27080078 */ addiu $t0, $t8, 0x78 +/* 085CAC 7F05117C 00404825 */ move $t1, $v0 +.L7F051180: +/* 085CB0 7F051180 8F010000 */ lw $at, ($t8) +/* 085CB4 7F051184 2718000C */ addiu $t8, $t8, 0xc +/* 085CB8 7F051188 2529000C */ addiu $t1, $t1, 0xc +/* 085CBC 7F05118C AD21FFF4 */ sw $at, -0xc($t1) +/* 085CC0 7F051190 8F01FFF8 */ lw $at, -8($t8) +/* 085CC4 7F051194 AD21FFF8 */ sw $at, -8($t1) +/* 085CC8 7F051198 8F01FFFC */ lw $at, -4($t8) +/* 085CCC 7F05119C 1708FFF8 */ bne $t8, $t0, .L7F051180 +/* 085CD0 7F0511A0 AD21FFFC */ sw $at, -4($t1) +/* 085CD4 7F0511A4 8F010000 */ lw $at, ($t8) +/* 085CD8 7F0511A8 00406025 */ move $t4, $v0 +/* 085CDC 7F0511AC 02406825 */ move $t5, $s2 +/* 085CE0 7F0511B0 AD210000 */ sw $at, ($t1) +/* 085CE4 7F0511B4 8F080004 */ lw $t0, 4($t8) +/* 085CE8 7F0511B8 244B0078 */ addiu $t3, $v0, 0x78 +/* 085CEC 7F0511BC AD280004 */ sw $t0, 4($t1) +.L7F0511C0: +/* 085CF0 7F0511C0 8D810000 */ lw $at, ($t4) +/* 085CF4 7F0511C4 258C000C */ addiu $t4, $t4, 0xc +/* 085CF8 7F0511C8 25AD000C */ addiu $t5, $t5, 0xc +/* 085CFC 7F0511CC ADA1FFF4 */ sw $at, -0xc($t5) +/* 085D00 7F0511D0 8D81FFF8 */ lw $at, -8($t4) +/* 085D04 7F0511D4 ADA1FFF8 */ sw $at, -8($t5) +/* 085D08 7F0511D8 8D81FFFC */ lw $at, -4($t4) +/* 085D0C 7F0511DC 158BFFF8 */ bne $t4, $t3, .L7F0511C0 +/* 085D10 7F0511E0 ADA1FFFC */ sw $at, -4($t5) +/* 085D14 7F0511E4 8D810000 */ lw $at, ($t4) +/* 085D18 7F0511E8 02402025 */ move $a0, $s2 +/* 085D1C 7F0511EC 02003825 */ move $a3, $s0 +/* 085D20 7F0511F0 ADA10000 */ sw $at, ($t5) +/* 085D24 7F0511F4 8D8B0004 */ lw $t3, 4($t4) +/* 085D28 7F0511F8 ADAB0004 */ sw $t3, 4($t5) +/* 085D2C 7F0511FC 8FAE00C4 */ lw $t6, 0xc4($sp) +/* 085D30 7F051200 A64E0004 */ sh $t6, 4($s2) +/* 085D34 7F051204 8FAF00C8 */ lw $t7, 0xc8($sp) +/* 085D38 7F051208 35F94000 */ ori $t9, $t7, 0x4000 +/* 085D3C 7F05120C AE590008 */ sw $t9, 8($s2) +/* 085D40 7F051210 84A80000 */ lh $t0, ($a1) +/* 085D44 7F051214 A6480006 */ sh $t0, 6($s2) +/* 085D48 7F051218 AFB10010 */ sw $s1, 0x10($sp) +/* 085D4C 7F05121C 0FC143D4 */ jal sub_GAME_7F050F50 +/* 085D50 7F051220 8FA600BC */ lw $a2, 0xbc($sp) +/* 085D54 7F051224 1000000A */ b .L7F051250 +/* 085D58 7F051228 00408025 */ move $s0, $v0 +.L7F05122C: +/* 085D5C 7F05122C 12200003 */ beqz $s1, .L7F05123C +/* 085D60 7F051230 00000000 */ nop +/* 085D64 7F051234 0FC1B08D */ jal set_obj_instance_scale_to_zero +/* 085D68 7F051238 02202025 */ move $a0, $s1 +.L7F05123C: +/* 085D6C 7F05123C 52000005 */ beql $s0, $zero, .L7F051254 +/* 085D70 7F051240 8FBF002C */ lw $ra, 0x2c($sp) +/* 085D74 7F051244 0FC0E921 */ jal set_last_obj_pos_data +/* 085D78 7F051248 02002025 */ move $a0, $s0 +/* 085D7C 7F05124C 00008025 */ move $s0, $zero +.L7F051250: +/* 085D80 7F051250 8FBF002C */ lw $ra, 0x2c($sp) +.L7F051254: +/* 085D84 7F051254 02001025 */ move $v0, $s0 +/* 085D88 7F051258 8FB00020 */ lw $s0, 0x20($sp) +/* 085D8C 7F05125C 8FB10024 */ lw $s1, 0x24($sp) +/* 085D90 7F051260 8FB20028 */ lw $s2, 0x28($sp) +/* 085D94 7F051264 03E00008 */ jr $ra +/* 085D98 7F051268 27BD00C0 */ addiu $sp, $sp, 0xc0 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05126C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05126C +/* 085D9C 7F05126C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 085DA0 7F051270 AFB10020 */ sw $s1, 0x20($sp) +/* 085DA4 7F051274 240EFFFF */ li $t6, -1 +/* 085DA8 7F051278 3C078003 */ lui $a3, %hi(D_80030AF8) +/* 085DAC 7F05127C 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) +/* 085DB0 7F051280 00A08825 */ move $s1, $a1 +/* 085DB4 7F051284 AFBF0024 */ sw $ra, 0x24($sp) +/* 085DB8 7F051288 AFB0001C */ sw $s0, 0x1c($sp) +/* 085DBC 7F05128C AFA40058 */ sw $a0, 0x58($sp) +/* 085DC0 7F051290 AFA60060 */ sw $a2, 0x60($sp) +/* 085DC4 7F051294 AFA0004C */ sw $zero, 0x4c($sp) +/* 085DC8 7F051298 AFA00048 */ sw $zero, 0x48($sp) +/* 085DCC 7F05129C AFAE0044 */ sw $t6, 0x44($sp) +/* 085DD0 7F0512A0 2408FFFF */ li $t0, -1 +/* 085DD4 7F0512A4 2409FFFF */ li $t1, -1 +/* 085DD8 7F0512A8 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 +/* 085DDC 7F0512AC 8CE70AF8 */ lw $a3, %lo(D_80030AF8)($a3) +/* 085DE0 7F0512B0 240A0088 */ li $t2, 136 +.L7F0512B4: +/* 085DE4 7F0512B4 00EA0019 */ multu $a3, $t2 +/* 085DE8 7F0512B8 8FB80058 */ lw $t8, 0x58($sp) +/* 085DEC 7F0512BC 00007812 */ mflo $t7 +/* 085DF0 7F0512C0 016F8021 */ addu $s0, $t3, $t7 +/* 085DF4 7F0512C4 8E040010 */ lw $a0, 0x10($s0) +/* 085DF8 7F0512C8 54800008 */ bnezl $a0, .L7F0512EC +/* 085DFC 7F0512CC 8E190064 */ lw $t9, 0x64($s0) +/* 085E00 7F0512D0 57000040 */ bnezl $t8, .L7F0513D4 +/* 085E04 7F0512D4 24E70001 */ addiu $a3, $a3, 1 +/* 085E08 7F0512D8 5620003E */ bnezl $s1, .L7F0513D4 +/* 085E0C 7F0512DC 24E70001 */ addiu $a3, $a3, 1 +/* 085E10 7F0512E0 10000043 */ b .L7F0513F0 +/* 085E14 7F0512E4 AFA70044 */ sw $a3, 0x44($sp) +/* 085E18 7F0512E8 8E190064 */ lw $t9, 0x64($s0) +.L7F0512EC: +/* 085E1C 7F0512EC 332C0080 */ andi $t4, $t9, 0x80 +/* 085E20 7F0512F0 55800038 */ bnezl $t4, .L7F0513D4 +/* 085E24 7F0512F4 24E70001 */ addiu $a3, $a3, 1 +/* 085E28 7F0512F8 920D0002 */ lbu $t5, 2($s0) +/* 085E2C 7F0512FC 31AE0004 */ andi $t6, $t5, 4 +/* 085E30 7F051300 55C00034 */ bnezl $t6, .L7F0513D4 +/* 085E34 7F051304 24E70001 */ addiu $a3, $a3, 1 +/* 085E38 7F051308 860F0082 */ lh $t7, 0x82($s0) +/* 085E3C 7F05130C 5DE00005 */ bgtzl $t7, .L7F051324 +/* 085E40 7F051310 82020080 */ lb $v0, 0x80($s0) +/* 085E44 7F051314 8C98001C */ lw $t8, 0x1c($a0) +/* 085E48 7F051318 13000014 */ beqz $t8, .L7F05136C +/* 085E4C 7F05131C 00000000 */ nop +/* 085E50 7F051320 82020080 */ lb $v0, 0x80($s0) +.L7F051324: +/* 085E54 7F051324 2401001D */ li $at, 29 +/* 085E58 7F051328 10410005 */ beq $v0, $at, .L7F051340 +/* 085E5C 7F05132C 2401001C */ li $at, 28 +/* 085E60 7F051330 10410003 */ beq $v0, $at, .L7F051340 +/* 085E64 7F051334 2401001B */ li $at, 27 +/* 085E68 7F051338 54410026 */ bnel $v0, $at, .L7F0513D4 +/* 085E6C 7F05133C 24E70001 */ addiu $a3, $a3, 1 +.L7F051340: +/* 085E70 7F051340 8C83001C */ lw $v1, 0x1c($a0) +/* 085E74 7F051344 10600009 */ beqz $v1, .L7F05136C +/* 085E78 7F051348 00000000 */ nop +/* 085E7C 7F05134C 90620000 */ lbu $v0, ($v1) +/* 085E80 7F051350 24010001 */ li $at, 1 +/* 085E84 7F051354 10410005 */ beq $v0, $at, .L7F05136C +/* 085E88 7F051358 24010002 */ li $at, 2 +/* 085E8C 7F05135C 10410003 */ beq $v0, $at, .L7F05136C +/* 085E90 7F051360 24010004 */ li $at, 4 +/* 085E94 7F051364 5441001B */ bnel $v0, $at, .L7F0513D4 +/* 085E98 7F051368 24E70001 */ addiu $a3, $a3, 1 +.L7F05136C: +/* 085E9C 7F05136C 1220000E */ beqz $s1, .L7F0513A8 +/* 085EA0 7F051370 8FA50060 */ lw $a1, 0x60($sp) +/* 085EA4 7F051374 8E040014 */ lw $a0, 0x14($s0) +/* 085EA8 7F051378 AFA70054 */ sw $a3, 0x54($sp) +/* 085EAC 7F05137C AFA80040 */ sw $t0, 0x40($sp) +/* 085EB0 7F051380 0FC1B018 */ jal sub_GAME_7F06C060 +/* 085EB4 7F051384 AFA9003C */ sw $t1, 0x3c($sp) +/* 085EB8 7F051388 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) +/* 085EBC 7F05138C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 +/* 085EC0 7F051390 8FA70054 */ lw $a3, 0x54($sp) +/* 085EC4 7F051394 8FA80040 */ lw $t0, 0x40($sp) +/* 085EC8 7F051398 8FA9003C */ lw $t1, 0x3c($sp) +/* 085ECC 7F05139C 1040000C */ beqz $v0, .L7F0513D0 +/* 085ED0 7F0513A0 240A0088 */ li $t2, 136 +/* 085ED4 7F0513A4 8E040010 */ lw $a0, 0x10($s0) +.L7F0513A8: +/* 085ED8 7F0513A8 90990001 */ lbu $t9, 1($a0) +/* 085EDC 7F0513AC 332C0002 */ andi $t4, $t9, 2 +/* 085EE0 7F0513B0 15800004 */ bnez $t4, .L7F0513C4 +/* 085EE4 7F0513B4 00000000 */ nop +/* 085EE8 7F0513B8 05010002 */ bgez $t0, .L7F0513C4 +/* 085EEC 7F0513BC 00000000 */ nop +/* 085EF0 7F0513C0 00E04025 */ move $t0, $a3 +.L7F0513C4: +/* 085EF4 7F0513C4 05230003 */ bgezl $t1, .L7F0513D4 +/* 085EF8 7F0513C8 24E70001 */ addiu $a3, $a3, 1 +/* 085EFC 7F0513CC 00E04825 */ move $t1, $a3 +.L7F0513D0: +/* 085F00 7F0513D0 24E70001 */ addiu $a3, $a3, 1 +.L7F0513D4: +/* 085F04 7F0513D4 2401001E */ li $at, 30 +/* 085F08 7F0513D8 00E1001A */ div $zero, $a3, $at +/* 085F0C 7F0513DC 3C0E8003 */ lui $t6, %hi(D_80030AF8) +/* 085F10 7F0513E0 8DCE0AF8 */ lw $t6, %lo(D_80030AF8)($t6) +/* 085F14 7F0513E4 00003810 */ mfhi $a3 +/* 085F18 7F0513E8 14EEFFB2 */ bne $a3, $t6, .L7F0512B4 +/* 085F1C 7F0513EC 00000000 */ nop +.L7F0513F0: +/* 085F20 7F0513F0 8FAF0044 */ lw $t7, 0x44($sp) +/* 085F24 7F0513F4 24040008 */ li $a0, 8 +/* 085F28 7F0513F8 27A5004C */ addiu $a1, $sp, 0x4c +/* 085F2C 7F0513FC 05E0000C */ bltz $t7, .L7F051430 +/* 085F30 7F051400 27A60048 */ addiu $a2, $sp, 0x48 +/* 085F34 7F051404 25F80001 */ addiu $t8, $t7, 1 +/* 085F38 7F051408 2401001E */ li $at, 30 +/* 085F3C 7F05140C 0301001A */ div $zero, $t8, $at +/* 085F40 7F051410 0000C810 */ mfhi $t9 +/* 085F44 7F051414 3C018003 */ lui $at, %hi(D_80030AF8) +/* 085F48 7F051418 AC390AF8 */ sw $t9, %lo(D_80030AF8)($at) +/* 085F4C 7F05141C 01EA0019 */ multu $t7, $t2 +/* 085F50 7F051420 00006012 */ mflo $t4 +/* 085F54 7F051424 016C1021 */ addu $v0, $t3, $t4 +/* 085F58 7F051428 10000053 */ b .L7F051578 +/* 085F5C 7F05142C 8FBF0024 */ lw $ra, 0x24($sp) +.L7F051430: +/* 085F60 7F051430 8FAD0060 */ lw $t5, 0x60($sp) +/* 085F64 7F051434 8FA70058 */ lw $a3, 0x58($sp) +/* 085F68 7F051438 AFB10010 */ sw $s1, 0x10($sp) +/* 085F6C 7F05143C AFA80040 */ sw $t0, 0x40($sp) +/* 085F70 7F051440 AFA9003C */ sw $t1, 0x3c($sp) +/* 085F74 7F051444 0FC15BC2 */ jal sub_GAME_7F056F08 +/* 085F78 7F051448 AFAD0014 */ sw $t5, 0x14($sp) +/* 085F7C 7F05144C 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) +/* 085F80 7F051450 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 +/* 085F84 7F051454 8FA80040 */ lw $t0, 0x40($sp) +/* 085F88 7F051458 8FA9003C */ lw $t1, 0x3c($sp) +/* 085F8C 7F05145C 10400003 */ beqz $v0, .L7F05146C +/* 085F90 7F051460 240A0088 */ li $t2, 136 +/* 085F94 7F051464 10000044 */ b .L7F051578 +/* 085F98 7F051468 8FBF0024 */ lw $ra, 0x24($sp) +.L7F05146C: +/* 085F9C 7F05146C 05000015 */ bltz $t0, .L7F0514C4 +/* 085FA0 7F051470 8FAF004C */ lw $t7, 0x4c($sp) +/* 085FA4 7F051474 010A0019 */ multu $t0, $t2 +/* 085FA8 7F051478 24050001 */ li $a1, 1 +/* 085FAC 7F05147C 00008012 */ mflo $s0 +/* 085FB0 7F051480 01702021 */ addu $a0, $t3, $s0 +/* 085FB4 7F051484 8C8E0010 */ lw $t6, 0x10($a0) +/* 085FB8 7F051488 51C00007 */ beql $t6, $zero, .L7F0514A8 +/* 085FBC 7F05148C 25180001 */ addiu $t8, $t0, 1 +/* 085FC0 7F051490 0FC10409 */ jal sub_GAME_7F041024 +/* 085FC4 7F051494 AFA80040 */ sw $t0, 0x40($sp) +/* 085FC8 7F051498 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) +/* 085FCC 7F05149C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 +/* 085FD0 7F0514A0 8FA80040 */ lw $t0, 0x40($sp) +/* 085FD4 7F0514A4 25180001 */ addiu $t8, $t0, 1 +.L7F0514A8: +/* 085FD8 7F0514A8 2401001E */ li $at, 30 +/* 085FDC 7F0514AC 0301001A */ div $zero, $t8, $at +/* 085FE0 7F0514B0 0000C810 */ mfhi $t9 +/* 085FE4 7F0514B4 3C018003 */ lui $at, %hi(D_80030AF8) +/* 085FE8 7F0514B8 AC390AF8 */ sw $t9, %lo(D_80030AF8)($at) +/* 085FEC 7F0514BC 1000002D */ b .L7F051574 +/* 085FF0 7F0514C0 01701021 */ addu $v0, $t3, $s0 +.L7F0514C4: +/* 085FF4 7F0514C4 11E00009 */ beqz $t7, .L7F0514EC +/* 085FF8 7F0514C8 00000000 */ nop +/* 085FFC 7F0514CC 8DEC0010 */ lw $t4, 0x10($t7) +/* 086000 7F0514D0 01E02025 */ move $a0, $t7 +/* 086004 7F0514D4 11800003 */ beqz $t4, .L7F0514E4 +/* 086008 7F0514D8 00000000 */ nop +/* 08600C 7F0514DC 0FC10409 */ jal sub_GAME_7F041024 +/* 086010 7F0514E0 24050001 */ li $a1, 1 +.L7F0514E4: +/* 086014 7F0514E4 10000023 */ b .L7F051574 +/* 086018 7F0514E8 8FA2004C */ lw $v0, 0x4c($sp) +.L7F0514EC: +/* 08601C 7F0514EC 05220016 */ bltzl $t1, .L7F051548 +/* 086020 7F0514F0 8FB90048 */ lw $t9, 0x48($sp) +/* 086024 7F0514F4 012A0019 */ multu $t1, $t2 +/* 086028 7F0514F8 24050001 */ li $a1, 1 +/* 08602C 7F0514FC 00008012 */ mflo $s0 +/* 086030 7F051500 01702021 */ addu $a0, $t3, $s0 +/* 086034 7F051504 8C8D0010 */ lw $t5, 0x10($a0) +/* 086038 7F051508 51A00007 */ beql $t5, $zero, .L7F051528 +/* 08603C 7F05150C 252E0001 */ addiu $t6, $t1, 1 +/* 086040 7F051510 0FC10409 */ jal sub_GAME_7F041024 +/* 086044 7F051514 AFA9003C */ sw $t1, 0x3c($sp) +/* 086048 7F051518 3C0B8007 */ lui $t3, %hi(ProjectileData_start_address) +/* 08604C 7F05151C 256B1E80 */ addiu $t3, %lo(ProjectileData_start_address) # addiu $t3, $t3, 0x1e80 +/* 086050 7F051520 8FA9003C */ lw $t1, 0x3c($sp) +/* 086054 7F051524 252E0001 */ addiu $t6, $t1, 1 +.L7F051528: +/* 086058 7F051528 2401001E */ li $at, 30 +/* 08605C 7F05152C 01C1001A */ div $zero, $t6, $at +/* 086060 7F051530 0000C010 */ mfhi $t8 +/* 086064 7F051534 3C018003 */ lui $at, %hi(D_80030AF8) +/* 086068 7F051538 AC380AF8 */ sw $t8, %lo(D_80030AF8)($at) +/* 08606C 7F05153C 1000000D */ b .L7F051574 +/* 086070 7F051540 01701021 */ addu $v0, $t3, $s0 +/* 086074 7F051544 8FB90048 */ lw $t9, 0x48($sp) +.L7F051548: +/* 086078 7F051548 5320000A */ beql $t9, $zero, .L7F051574 +/* 08607C 7F05154C 00001025 */ move $v0, $zero +/* 086080 7F051550 8F2C0010 */ lw $t4, 0x10($t9) +/* 086084 7F051554 03202025 */ move $a0, $t9 +/* 086088 7F051558 11800003 */ beqz $t4, .L7F051568 +/* 08608C 7F05155C 00000000 */ nop +/* 086090 7F051560 0FC10409 */ jal sub_GAME_7F041024 +/* 086094 7F051564 24050001 */ li $a1, 1 +.L7F051568: +/* 086098 7F051568 10000002 */ b .L7F051574 +/* 08609C 7F05156C 8FA20048 */ lw $v0, 0x48($sp) +/* 0860A0 7F051570 00001025 */ move $v0, $zero +.L7F051574: +/* 0860A4 7F051574 8FBF0024 */ lw $ra, 0x24($sp) +.L7F051578: +/* 0860A8 7F051578 8FB0001C */ lw $s0, 0x1c($sp) +/* 0860AC 7F05157C 8FB10020 */ lw $s1, 0x20($sp) +/* 0860B0 7F051580 03E00008 */ jr $ra +/* 0860B4 7F051584 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051588(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051588 +/* 0860B8 7F051588 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0860BC 7F05158C AFBF0014 */ sw $ra, 0x14($sp) +/* 0860C0 7F051590 00002025 */ move $a0, $zero +/* 0860C4 7F051594 00002825 */ move $a1, $zero +/* 0860C8 7F051598 0FC1449B */ jal sub_GAME_7F05126C +/* 0860CC 7F05159C 00003025 */ move $a2, $zero +/* 0860D0 7F0515A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0860D4 7F0515A4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0860D8 7F0515A8 03E00008 */ jr $ra +/* 0860DC 7F0515AC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0515B0(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0515B0 +/* 0860E0 7F0515B0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0860E4 7F0515B4 AFB50034 */ sw $s5, 0x34($sp) +/* 0860E8 7F0515B8 3C158003 */ lui $s5, %hi(D_80030AFC) +/* 0860EC 7F0515BC AFB40030 */ sw $s4, 0x30($sp) +/* 0860F0 7F0515C0 26B50AFC */ addiu $s5, %lo(D_80030AFC) # addiu $s5, $s5, 0xafc +/* 0860F4 7F0515C4 AFB60038 */ sw $s6, 0x38($sp) +/* 0860F8 7F0515C8 AFB3002C */ sw $s3, 0x2c($sp) +/* 0860FC 7F0515CC AFB20028 */ sw $s2, 0x28($sp) +/* 086100 7F0515D0 AFB10024 */ sw $s1, 0x24($sp) +/* 086104 7F0515D4 240EFFFF */ li $t6, -1 +/* 086108 7F0515D8 3C148007 */ lui $s4, %hi(dword_CODE_bss_80072E70) +/* 08610C 7F0515DC 00A09025 */ move $s2, $a1 +/* 086110 7F0515E0 AFBF003C */ sw $ra, 0x3c($sp) +/* 086114 7F0515E4 AFB00020 */ sw $s0, 0x20($sp) +/* 086118 7F0515E8 AFA60070 */ sw $a2, 0x70($sp) +/* 08611C 7F0515EC 00803825 */ move $a3, $a0 +/* 086120 7F0515F0 AFA0005C */ sw $zero, 0x5c($sp) +/* 086124 7F0515F4 AFA00058 */ sw $zero, 0x58($sp) +/* 086128 7F0515F8 AFAE0054 */ sw $t6, 0x54($sp) +/* 08612C 7F0515FC 2411FFFF */ li $s1, -1 +/* 086130 7F051600 2413FFFF */ li $s3, -1 +/* 086134 7F051604 26942E70 */ addiu $s4, %lo(dword_CODE_bss_80072E70) # addiu $s4, $s4, 0x2e70 +/* 086138 7F051608 2416000A */ li $s6, 10 +/* 08613C 7F05160C 8EA30000 */ lw $v1, ($s5) +/* 086140 7F051610 000379C0 */ sll $t7, $v1, 7 +.L7F051614: +/* 086144 7F051614 028F8021 */ addu $s0, $s4, $t7 +/* 086148 7F051618 8E020010 */ lw $v0, 0x10($s0) +/* 08614C 7F05161C 54400008 */ bnezl $v0, .L7F051640 +/* 086150 7F051620 8E180064 */ lw $t8, 0x64($s0) +/* 086154 7F051624 54E00022 */ bnezl $a3, .L7F0516B0 +/* 086158 7F051628 246B0001 */ addiu $t3, $v1, 1 +/* 08615C 7F05162C 56400020 */ bnezl $s2, .L7F0516B0 +/* 086160 7F051630 246B0001 */ addiu $t3, $v1, 1 +/* 086164 7F051634 1000002C */ b .L7F0516E8 +/* 086168 7F051638 AFA30054 */ sw $v1, 0x54($sp) +/* 08616C 7F05163C 8E180064 */ lw $t8, 0x64($s0) +.L7F051640: +/* 086170 7F051640 33190080 */ andi $t9, $t8, 0x80 +/* 086174 7F051644 5720001A */ bnezl $t9, .L7F0516B0 +/* 086178 7F051648 246B0001 */ addiu $t3, $v1, 1 +/* 08617C 7F05164C 8C48001C */ lw $t0, 0x1c($v0) +/* 086180 7F051650 55000017 */ bnezl $t0, .L7F0516B0 +/* 086184 7F051654 246B0001 */ addiu $t3, $v1, 1 +/* 086188 7F051658 5240000B */ beql $s2, $zero, .L7F051688 +/* 08618C 7F05165C 90490001 */ lbu $t1, 1($v0) +/* 086190 7F051660 8E040014 */ lw $a0, 0x14($s0) +/* 086194 7F051664 8FA50070 */ lw $a1, 0x70($sp) +/* 086198 7F051668 AFA30064 */ sw $v1, 0x64($sp) +/* 08619C 7F05166C 0FC1B018 */ jal sub_GAME_7F06C060 +/* 0861A0 7F051670 AFA70068 */ sw $a3, 0x68($sp) +/* 0861A4 7F051674 8FA30064 */ lw $v1, 0x64($sp) +/* 0861A8 7F051678 1040000C */ beqz $v0, .L7F0516AC +/* 0861AC 7F05167C 8FA70068 */ lw $a3, 0x68($sp) +/* 0861B0 7F051680 8E020010 */ lw $v0, 0x10($s0) +/* 0861B4 7F051684 90490001 */ lbu $t1, 1($v0) +.L7F051688: +/* 0861B8 7F051688 312A0002 */ andi $t2, $t1, 2 +/* 0861BC 7F05168C 15400004 */ bnez $t2, .L7F0516A0 +/* 0861C0 7F051690 00000000 */ nop +/* 0861C4 7F051694 06210002 */ bgez $s1, .L7F0516A0 +/* 0861C8 7F051698 00000000 */ nop +/* 0861CC 7F05169C 00608825 */ move $s1, $v1 +.L7F0516A0: +/* 0861D0 7F0516A0 06630003 */ bgezl $s3, .L7F0516B0 +/* 0861D4 7F0516A4 246B0001 */ addiu $t3, $v1, 1 +/* 0861D8 7F0516A8 00609825 */ move $s3, $v1 +.L7F0516AC: +/* 0861DC 7F0516AC 246B0001 */ addiu $t3, $v1, 1 +.L7F0516B0: +/* 0861E0 7F0516B0 0176001A */ div $zero, $t3, $s6 +/* 0861E4 7F0516B4 8EAC0000 */ lw $t4, ($s5) +/* 0861E8 7F0516B8 00001810 */ mfhi $v1 +/* 0861EC 7F0516BC 16C00002 */ bnez $s6, .L7F0516C8 +/* 0861F0 7F0516C0 00000000 */ nop +/* 0861F4 7F0516C4 0007000D */ break 7 +.L7F0516C8: +/* 0861F8 7F0516C8 2401FFFF */ li $at, -1 +/* 0861FC 7F0516CC 16C10004 */ bne $s6, $at, .L7F0516E0 +/* 086200 7F0516D0 3C018000 */ lui $at, 0x8000 +/* 086204 7F0516D4 15610002 */ bne $t3, $at, .L7F0516E0 +/* 086208 7F0516D8 00000000 */ nop +/* 08620C 7F0516DC 0006000D */ break 6 +.L7F0516E0: +/* 086210 7F0516E0 546CFFCC */ bnel $v1, $t4, .L7F051614 +/* 086214 7F0516E4 000379C0 */ sll $t7, $v1, 7 +.L7F0516E8: +/* 086218 7F0516E8 8FAD0054 */ lw $t5, 0x54($sp) +/* 08621C 7F0516EC 05A00011 */ bltz $t5, .L7F051734 +/* 086220 7F0516F0 25AE0001 */ addiu $t6, $t5, 1 +/* 086224 7F0516F4 01D6001A */ div $zero, $t6, $s6 +/* 086228 7F0516F8 8FB80054 */ lw $t8, 0x54($sp) +/* 08622C 7F0516FC 00007810 */ mfhi $t7 +/* 086230 7F051700 AEAF0000 */ sw $t7, ($s5) +/* 086234 7F051704 16C00002 */ bnez $s6, .L7F051710 +/* 086238 7F051708 00000000 */ nop +/* 08623C 7F05170C 0007000D */ break 7 +.L7F051710: +/* 086240 7F051710 2401FFFF */ li $at, -1 +/* 086244 7F051714 16C10004 */ bne $s6, $at, .L7F051728 +/* 086248 7F051718 3C018000 */ lui $at, 0x8000 +/* 08624C 7F05171C 15C10002 */ bne $t6, $at, .L7F051728 +/* 086250 7F051720 00000000 */ nop +/* 086254 7F051724 0006000D */ break 6 +.L7F051728: +/* 086258 7F051728 0018C9C0 */ sll $t9, $t8, 7 +/* 08625C 7F05172C 10000054 */ b .L7F051880 +/* 086260 7F051730 02991021 */ addu $v0, $s4, $t9 +.L7F051734: +/* 086264 7F051734 8FA80070 */ lw $t0, 0x70($sp) +/* 086268 7F051738 24040011 */ li $a0, 17 +/* 08626C 7F05173C 27A5005C */ addiu $a1, $sp, 0x5c +/* 086270 7F051740 27A60058 */ addiu $a2, $sp, 0x58 +/* 086274 7F051744 AFB20010 */ sw $s2, 0x10($sp) +/* 086278 7F051748 0FC15BC2 */ jal sub_GAME_7F056F08 +/* 08627C 7F05174C AFA80014 */ sw $t0, 0x14($sp) +/* 086280 7F051750 10400003 */ beqz $v0, .L7F051760 +/* 086284 7F051754 00401825 */ move $v1, $v0 +/* 086288 7F051758 10000049 */ b .L7F051880 +/* 08628C 7F05175C 00601025 */ move $v0, $v1 +.L7F051760: +/* 086290 7F051760 06220019 */ bltzl $s1, .L7F0517C8 +/* 086294 7F051764 8FAE005C */ lw $t6, 0x5c($sp) +/* 086298 7F051768 001149C0 */ sll $t1, $s1, 7 +/* 08629C 7F05176C 02892021 */ addu $a0, $s4, $t1 +/* 0862A0 7F051770 8C8A0010 */ lw $t2, 0x10($a0) +/* 0862A4 7F051774 51400004 */ beql $t2, $zero, .L7F051788 +/* 0862A8 7F051778 262B0001 */ addiu $t3, $s1, 1 +/* 0862AC 7F05177C 0FC10409 */ jal sub_GAME_7F041024 +/* 0862B0 7F051780 24050001 */ li $a1, 1 +/* 0862B4 7F051784 262B0001 */ addiu $t3, $s1, 1 +.L7F051788: +/* 0862B8 7F051788 0176001A */ div $zero, $t3, $s6 +/* 0862BC 7F05178C 00006010 */ mfhi $t4 +/* 0862C0 7F051790 001169C0 */ sll $t5, $s1, 7 +/* 0862C4 7F051794 16C00002 */ bnez $s6, .L7F0517A0 +/* 0862C8 7F051798 00000000 */ nop +/* 0862CC 7F05179C 0007000D */ break 7 +.L7F0517A0: +/* 0862D0 7F0517A0 2401FFFF */ li $at, -1 +/* 0862D4 7F0517A4 16C10004 */ bne $s6, $at, .L7F0517B8 +/* 0862D8 7F0517A8 3C018000 */ lui $at, 0x8000 +/* 0862DC 7F0517AC 15610002 */ bne $t3, $at, .L7F0517B8 +/* 0862E0 7F0517B0 00000000 */ nop +/* 0862E4 7F0517B4 0006000D */ break 6 +.L7F0517B8: +/* 0862E8 7F0517B8 AEAC0000 */ sw $t4, ($s5) +/* 0862EC 7F0517BC 10000030 */ b .L7F051880 +/* 0862F0 7F0517C0 028D1021 */ addu $v0, $s4, $t5 +/* 0862F4 7F0517C4 8FAE005C */ lw $t6, 0x5c($sp) +.L7F0517C8: +/* 0862F8 7F0517C8 11C00009 */ beqz $t6, .L7F0517F0 +/* 0862FC 7F0517CC 00000000 */ nop +/* 086300 7F0517D0 8DCF0010 */ lw $t7, 0x10($t6) +/* 086304 7F0517D4 01C02025 */ move $a0, $t6 +/* 086308 7F0517D8 11E00003 */ beqz $t7, .L7F0517E8 +/* 08630C 7F0517DC 00000000 */ nop +/* 086310 7F0517E0 0FC10409 */ jal sub_GAME_7F041024 +/* 086314 7F0517E4 24050001 */ li $a1, 1 +.L7F0517E8: +/* 086318 7F0517E8 10000025 */ b .L7F051880 +/* 08631C 7F0517EC 8FA2005C */ lw $v0, 0x5c($sp) +.L7F0517F0: +/* 086320 7F0517F0 06600017 */ bltz $s3, .L7F051850 +/* 086324 7F0517F4 0013C1C0 */ sll $t8, $s3, 7 +/* 086328 7F0517F8 02982021 */ addu $a0, $s4, $t8 +/* 08632C 7F0517FC 8C990010 */ lw $t9, 0x10($a0) +/* 086330 7F051800 53200004 */ beql $t9, $zero, .L7F051814 +/* 086334 7F051804 26680001 */ addiu $t0, $s3, 1 +/* 086338 7F051808 0FC10409 */ jal sub_GAME_7F041024 +/* 08633C 7F05180C 24050001 */ li $a1, 1 +/* 086340 7F051810 26680001 */ addiu $t0, $s3, 1 +.L7F051814: +/* 086344 7F051814 0116001A */ div $zero, $t0, $s6 +/* 086348 7F051818 00004810 */ mfhi $t1 +/* 08634C 7F05181C 001351C0 */ sll $t2, $s3, 7 +/* 086350 7F051820 16C00002 */ bnez $s6, .L7F05182C +/* 086354 7F051824 00000000 */ nop +/* 086358 7F051828 0007000D */ break 7 +.L7F05182C: +/* 08635C 7F05182C 2401FFFF */ li $at, -1 +/* 086360 7F051830 16C10004 */ bne $s6, $at, .L7F051844 +/* 086364 7F051834 3C018000 */ lui $at, 0x8000 +/* 086368 7F051838 15010002 */ bne $t0, $at, .L7F051844 +/* 08636C 7F05183C 00000000 */ nop +/* 086370 7F051840 0006000D */ break 6 +.L7F051844: +/* 086374 7F051844 AEA90000 */ sw $t1, ($s5) +/* 086378 7F051848 1000000D */ b .L7F051880 +/* 08637C 7F05184C 028A1021 */ addu $v0, $s4, $t2 +.L7F051850: +/* 086380 7F051850 8FAB0058 */ lw $t3, 0x58($sp) +/* 086384 7F051854 5160000A */ beql $t3, $zero, .L7F051880 +/* 086388 7F051858 00001025 */ move $v0, $zero +/* 08638C 7F05185C 8D6C0010 */ lw $t4, 0x10($t3) +/* 086390 7F051860 01602025 */ move $a0, $t3 +/* 086394 7F051864 11800003 */ beqz $t4, .L7F051874 +/* 086398 7F051868 00000000 */ nop +/* 08639C 7F05186C 0FC10409 */ jal sub_GAME_7F041024 +/* 0863A0 7F051870 24050001 */ li $a1, 1 +.L7F051874: +/* 0863A4 7F051874 10000002 */ b .L7F051880 +/* 0863A8 7F051878 8FA20058 */ lw $v0, 0x58($sp) +/* 0863AC 7F05187C 00001025 */ move $v0, $zero +.L7F051880: +/* 0863B0 7F051880 8FBF003C */ lw $ra, 0x3c($sp) +/* 0863B4 7F051884 8FB00020 */ lw $s0, 0x20($sp) +/* 0863B8 7F051888 8FB10024 */ lw $s1, 0x24($sp) +/* 0863BC 7F05188C 8FB20028 */ lw $s2, 0x28($sp) +/* 0863C0 7F051890 8FB3002C */ lw $s3, 0x2c($sp) +/* 0863C4 7F051894 8FB40030 */ lw $s4, 0x30($sp) +/* 0863C8 7F051898 8FB50034 */ lw $s5, 0x34($sp) +/* 0863CC 7F05189C 8FB60038 */ lw $s6, 0x38($sp) +/* 0863D0 7F0518A0 03E00008 */ jr $ra +/* 0863D4 7F0518A4 27BD0068 */ addiu $sp, $sp, 0x68 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0518A8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0518A8 +/* 0863D8 7F0518A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0863DC 7F0518AC AFBF0014 */ sw $ra, 0x14($sp) +/* 0863E0 7F0518B0 00002025 */ move $a0, $zero +/* 0863E4 7F0518B4 00002825 */ move $a1, $zero +/* 0863E8 7F0518B8 0FC1456C */ jal sub_GAME_7F0515B0 +/* 0863EC 7F0518BC 00003025 */ move $a2, $zero +/* 0863F0 7F0518C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0863F4 7F0518C4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0863F8 7F0518C8 03E00008 */ jr $ra +/* 0863FC 7F0518CC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0518D0(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0518D0 +/* 086400 7F0518D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 086404 7F0518D4 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) +/* 086408 7F0518D8 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) +/* 08640C 7F0518DC AFBF0014 */ sw $ra, 0x14($sp) +/* 086410 7F0518E0 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 +/* 086414 7F0518E4 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 +/* 086418 7F0518E8 00001825 */ move $v1, $zero +.L7F0518EC: +/* 08641C 7F0518EC 8C8E0010 */ lw $t6, 0x10($a0) +/* 086420 7F0518F0 24840084 */ addiu $a0, $a0, 0x84 +/* 086424 7F0518F4 0082082B */ sltu $at, $a0, $v0 +/* 086428 7F0518F8 15C00004 */ bnez $t6, .L7F05190C +/* 08642C 7F0518FC 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80073370) +/* 086430 7F051900 25EF3370 */ addiu $t7, %lo(dword_CODE_bss_80073370) # addiu $t7, $t7, 0x3370 +/* 086434 7F051904 10000040 */ b .L7F051A08 +/* 086438 7F051908 006F1021 */ addu $v0, $v1, $t7 +.L7F05190C: +/* 08643C 7F05190C 1420FFF7 */ bnez $at, .L7F0518EC +/* 086440 7F051910 24630084 */ addiu $v1, $v1, 0x84 +/* 086444 7F051914 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) +/* 086448 7F051918 3C058007 */ lui $a1, %hi(dword_CODE_bss_80073DC0) +/* 08644C 7F05191C 24A53DC0 */ addiu $a1, %lo(dword_CODE_bss_80073DC0) # addiu $a1, $a1, 0x3dc0 +/* 086450 7F051920 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 +/* 086454 7F051924 00001825 */ move $v1, $zero +.L7F051928: +/* 086458 7F051928 8C980064 */ lw $t8, 0x64($a0) +/* 08645C 7F05192C 33190080 */ andi $t9, $t8, 0x80 +/* 086460 7F051930 57200016 */ bnezl $t9, .L7F05198C +/* 086464 7F051934 24840084 */ addiu $a0, $a0, 0x84 +/* 086468 7F051938 90880002 */ lbu $t0, 2($a0) +/* 08646C 7F05193C 31090004 */ andi $t1, $t0, 4 +/* 086470 7F051940 55200012 */ bnezl $t1, .L7F05198C +/* 086474 7F051944 24840084 */ addiu $a0, $a0, 0x84 +/* 086478 7F051948 8C820010 */ lw $v0, 0x10($a0) +/* 08647C 7F05194C 8C4A001C */ lw $t2, 0x1c($v0) +/* 086480 7F051950 5540000E */ bnezl $t2, .L7F05198C +/* 086484 7F051954 24840084 */ addiu $a0, $a0, 0x84 +/* 086488 7F051958 904B0001 */ lbu $t3, 1($v0) +/* 08648C 7F05195C 316C0002 */ andi $t4, $t3, 2 +/* 086490 7F051960 5580000A */ bnezl $t4, .L7F05198C +/* 086494 7F051964 24840084 */ addiu $a0, $a0, 0x84 +/* 086498 7F051968 24050001 */ li $a1, 1 +/* 08649C 7F05196C 0FC10409 */ jal sub_GAME_7F041024 +/* 0864A0 7F051970 AFA30018 */ sw $v1, 0x18($sp) +/* 0864A4 7F051974 8FA30018 */ lw $v1, 0x18($sp) +/* 0864A8 7F051978 3C0D8007 */ lui $t5, %hi(dword_CODE_bss_80073370) +/* 0864AC 7F05197C 25AD3370 */ addiu $t5, %lo(dword_CODE_bss_80073370) # addiu $t5, $t5, 0x3370 +/* 0864B0 7F051980 10000021 */ b .L7F051A08 +/* 0864B4 7F051984 006D1021 */ addu $v0, $v1, $t5 +/* 0864B8 7F051988 24840084 */ addiu $a0, $a0, 0x84 +.L7F05198C: +/* 0864BC 7F05198C 0085082B */ sltu $at, $a0, $a1 +/* 0864C0 7F051990 1420FFE5 */ bnez $at, .L7F051928 +/* 0864C4 7F051994 24630084 */ addiu $v1, $v1, 0x84 +/* 0864C8 7F051998 3C048007 */ lui $a0, %hi(dword_CODE_bss_80073370) +/* 0864CC 7F05199C 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) +/* 0864D0 7F0519A0 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 +/* 0864D4 7F0519A4 24843370 */ addiu $a0, %lo(dword_CODE_bss_80073370) # addiu $a0, $a0, 0x3370 +/* 0864D8 7F0519A8 00001825 */ move $v1, $zero +.L7F0519AC: +/* 0864DC 7F0519AC 8C8E0064 */ lw $t6, 0x64($a0) +/* 0864E0 7F0519B0 31CF0080 */ andi $t7, $t6, 0x80 +/* 0864E4 7F0519B4 55E00011 */ bnezl $t7, .L7F0519FC +/* 0864E8 7F0519B8 24840084 */ addiu $a0, $a0, 0x84 +/* 0864EC 7F0519BC 90980002 */ lbu $t8, 2($a0) +/* 0864F0 7F0519C0 33190004 */ andi $t9, $t8, 4 +/* 0864F4 7F0519C4 5720000D */ bnezl $t9, .L7F0519FC +/* 0864F8 7F0519C8 24840084 */ addiu $a0, $a0, 0x84 +/* 0864FC 7F0519CC 8C880010 */ lw $t0, 0x10($a0) +/* 086500 7F0519D0 8D09001C */ lw $t1, 0x1c($t0) +/* 086504 7F0519D4 15200008 */ bnez $t1, .L7F0519F8 +/* 086508 7F0519D8 24050001 */ li $a1, 1 +/* 08650C 7F0519DC 0FC10409 */ jal sub_GAME_7F041024 +/* 086510 7F0519E0 AFA30018 */ sw $v1, 0x18($sp) +/* 086514 7F0519E4 8FA30018 */ lw $v1, 0x18($sp) +/* 086518 7F0519E8 3C0A8007 */ lui $t2, %hi(dword_CODE_bss_80073370) +/* 08651C 7F0519EC 254A3370 */ addiu $t2, %lo(dword_CODE_bss_80073370) # addiu $t2, $t2, 0x3370 +/* 086520 7F0519F0 10000005 */ b .L7F051A08 +/* 086524 7F0519F4 006A1021 */ addu $v0, $v1, $t2 +.L7F0519F8: +/* 086528 7F0519F8 24840084 */ addiu $a0, $a0, 0x84 +.L7F0519FC: +/* 08652C 7F0519FC 1482FFEB */ bne $a0, $v0, .L7F0519AC +/* 086530 7F051A00 24630084 */ addiu $v1, $v1, 0x84 +/* 086534 7F051A04 00001025 */ move $v0, $zero +.L7F051A08: +/* 086538 7F051A08 8FBF0014 */ lw $ra, 0x14($sp) +/* 08653C 7F051A0C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 086540 7F051A10 03E00008 */ jr $ra +/* 086544 7F051A14 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void trigger_remote_mine_detonation(void) +{ + u32 uVar1; + + uVar1 = get_cur_playernum(); + D_80030AF4 = D_80030AF4 | 1 << (uVar1 & 0x1f); + play_sfx_a1(ptr_sfx_buf,0xf3,0x0); +} +#else +GLOBAL_ASM( +.text +glabel trigger_remote_mine_detonation +/* 086548 7F051A18 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08654C 7F051A1C AFBF0014 */ sw $ra, 0x14($sp) +/* 086550 7F051A20 0FC26C54 */ jal get_cur_playernum +/* 086554 7F051A24 00000000 */ nop +/* 086558 7F051A28 3C038003 */ lui $v1, %hi(D_80030AF4) +/* 08655C 7F051A2C 24630AF4 */ addiu $v1, %lo(D_80030AF4) # addiu $v1, $v1, 0xaf4 +/* 086560 7F051A30 8C6E0000 */ lw $t6, ($v1) +/* 086564 7F051A34 240F0001 */ li $t7, 1 +/* 086568 7F051A38 004FC004 */ sllv $t8, $t7, $v0 +/* 08656C 7F051A3C 01D8C825 */ or $t9, $t6, $t8 +/* 086570 7F051A40 AC790000 */ sw $t9, ($v1) +/* 086574 7F051A44 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 086578 7F051A48 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08657C 7F051A4C 240500F3 */ li $a1, 243 +/* 086580 7F051A50 0C002382 */ jal play_sfx_a1 +/* 086584 7F051A54 00003025 */ move $a2, $zero +/* 086588 7F051A58 8FBF0014 */ lw $ra, 0x14($sp) +/* 08658C 7F051A5C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 086590 7F051A60 03E00008 */ jr $ra +/* 086594 7F051A64 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_entry_is_collectable(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_if_entry_is_collectable +/* 086598 7F051A68 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08659C 7F051A6C AFBF001C */ sw $ra, 0x1c($sp) +/* 0865A0 7F051A70 AFB10018 */ sw $s1, 0x18($sp) +/* 0865A4 7F051A74 AFB00014 */ sw $s0, 0x14($sp) +/* 0865A8 7F051A78 90AE0000 */ lbu $t6, ($a1) +/* 0865AC 7F051A7C 24010004 */ li $at, 4 +/* 0865B0 7F051A80 00808825 */ move $s1, $a0 +/* 0865B4 7F051A84 55C10008 */ bnel $t6, $at, .L7F051AA8 +/* 0865B8 7F051A88 8CB00020 */ lw $s0, 0x20($a1) +/* 0865BC 7F051A8C 8CA30004 */ lw $v1, 4($a1) +/* 0865C0 7F051A90 806F0080 */ lb $t7, 0x80($v1) +/* 0865C4 7F051A94 548F0004 */ bnel $a0, $t7, .L7F051AA8 +/* 0865C8 7F051A98 8CB00020 */ lw $s0, 0x20($a1) +/* 0865CC 7F051A9C 1000000E */ b .L7F051AD8 +/* 0865D0 7F051AA0 00601025 */ move $v0, $v1 +/* 0865D4 7F051AA4 8CB00020 */ lw $s0, 0x20($a1) +.L7F051AA8: +/* 0865D8 7F051AA8 1200000A */ beqz $s0, .L7F051AD4 +/* 0865DC 7F051AAC 02202025 */ move $a0, $s1 +.L7F051AB0: +/* 0865E0 7F051AB0 0FC1469A */ jal check_if_entry_is_collectable +/* 0865E4 7F051AB4 02002825 */ move $a1, $s0 +/* 0865E8 7F051AB8 50400004 */ beql $v0, $zero, .L7F051ACC +/* 0865EC 7F051ABC 8E100024 */ lw $s0, 0x24($s0) +/* 0865F0 7F051AC0 10000006 */ b .L7F051ADC +/* 0865F4 7F051AC4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0865F8 7F051AC8 8E100024 */ lw $s0, 0x24($s0) +.L7F051ACC: +/* 0865FC 7F051ACC 5600FFF8 */ bnezl $s0, .L7F051AB0 +/* 086600 7F051AD0 02202025 */ move $a0, $s1 +.L7F051AD4: +/* 086604 7F051AD4 00001025 */ move $v0, $zero +.L7F051AD8: +/* 086608 7F051AD8 8FBF001C */ lw $ra, 0x1c($sp) +.L7F051ADC: +/* 08660C 7F051ADC 8FB00014 */ lw $s0, 0x14($sp) +/* 086610 7F051AE0 8FB10018 */ lw $s1, 0x18($sp) +/* 086614 7F051AE4 03E00008 */ jr $ra +/* 086618 7F051AE8 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void check_if_item_deposited(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_if_item_deposited +/* 08661C 7F051AEC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 086620 7F051AF0 AFBF001C */ sw $ra, 0x1c($sp) +/* 086624 7F051AF4 AFB10018 */ sw $s1, 0x18($sp) +/* 086628 7F051AF8 00808825 */ move $s1, $a0 +/* 08662C 7F051AFC 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry +/* 086630 7F051B00 AFB00014 */ sw $s0, 0x14($sp) +/* 086634 7F051B04 1040000F */ beqz $v0, .L7F051B44 +/* 086638 7F051B08 00408025 */ move $s0, $v0 +/* 08663C 7F051B0C 02202025 */ move $a0, $s1 +.L7F051B10: +/* 086640 7F051B10 0FC1469A */ jal check_if_entry_is_collectable +/* 086644 7F051B14 02002825 */ move $a1, $s0 +/* 086648 7F051B18 50400008 */ beql $v0, $zero, .L7F051B3C +/* 08664C 7F051B1C 8E100024 */ lw $s0, 0x24($s0) +/* 086650 7F051B20 8C4E0064 */ lw $t6, 0x64($v0) +/* 086654 7F051B24 31CF0080 */ andi $t7, $t6, 0x80 +/* 086658 7F051B28 55E00004 */ bnezl $t7, .L7F051B3C +/* 08665C 7F051B2C 8E100024 */ lw $s0, 0x24($s0) +/* 086660 7F051B30 10000006 */ b .L7F051B4C +/* 086664 7F051B34 8FBF001C */ lw $ra, 0x1c($sp) +/* 086668 7F051B38 8E100024 */ lw $s0, 0x24($s0) +.L7F051B3C: +/* 08666C 7F051B3C 5600FFF4 */ bnezl $s0, .L7F051B10 +/* 086670 7F051B40 02202025 */ move $a0, $s1 +.L7F051B44: +/* 086674 7F051B44 00001025 */ move $v0, $zero +/* 086678 7F051B48 8FBF001C */ lw $ra, 0x1c($sp) +.L7F051B4C: +/* 08667C 7F051B4C 8FB00014 */ lw $s0, 0x14($sp) +/* 086680 7F051B50 8FB10018 */ lw $s1, 0x18($sp) +/* 086684 7F051B54 03E00008 */ jr $ra +/* 086688 7F051B58 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void add_obj_to_temp_proxmine_table(void) { + +} +#else +GLOBAL_ASM( +.text +glabel add_obj_to_temp_proxmine_table +/* 08668C 7F051B5C 3C038007 */ lui $v1, %hi(temp_mine_table) +/* 086690 7F051B60 3C028007 */ lui $v0, %hi(gas_damage_flag) +/* 086694 7F051B64 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78 +/* 086698 7F051B68 24631E00 */ addiu $v1, %lo(temp_mine_table) # addiu $v1, $v1, 0x1e00 +/* 08669C 7F051B6C 8C6E0000 */ lw $t6, ($v1) +.L7F051B70: +/* 0866A0 7F051B70 55C00004 */ bnezl $t6, .L7F051B84 +/* 0866A4 7F051B74 24630004 */ addiu $v1, $v1, 4 +/* 0866A8 7F051B78 03E00008 */ jr $ra +/* 0866AC 7F051B7C AC640000 */ sw $a0, ($v1) + +/* 0866B0 7F051B80 24630004 */ addiu $v1, $v1, 4 +.L7F051B84: +/* 0866B4 7F051B84 5462FFFA */ bnel $v1, $v0, .L7F051B70 +/* 0866B8 7F051B88 8C6E0000 */ lw $t6, ($v1) +/* 0866BC 7F051B8C 03E00008 */ jr $ra +/* 0866C0 7F051B90 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void remove_obj_from_temp_proxmine_table(void) { + +} +#else +GLOBAL_ASM( +.text +glabel remove_obj_from_temp_proxmine_table +/* 0866C4 7F051B94 3C038007 */ lui $v1, %hi(temp_mine_table) +/* 0866C8 7F051B98 3C028007 */ lui $v0, %hi(gas_damage_flag) +/* 0866CC 7F051B9C 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78 +/* 0866D0 7F051BA0 24631E00 */ addiu $v1, %lo(temp_mine_table) # addiu $v1, $v1, 0x1e00 +/* 0866D4 7F051BA4 8C6E0000 */ lw $t6, ($v1) +.L7F051BA8: +/* 0866D8 7F051BA8 548E0004 */ bnel $a0, $t6, .L7F051BBC +/* 0866DC 7F051BAC 24630004 */ addiu $v1, $v1, 4 +/* 0866E0 7F051BB0 03E00008 */ jr $ra +/* 0866E4 7F051BB4 AC600000 */ sw $zero, ($v1) + +/* 0866E8 7F051BB8 24630004 */ addiu $v1, $v1, 4 +.L7F051BBC: +/* 0866EC 7F051BBC 5462FFFA */ bnel $v1, $v0, .L7F051BA8 +/* 0866F0 7F051BC0 8C6E0000 */ lw $t6, ($v1) +/* 0866F4 7F051BC4 03E00008 */ jr $ra +/* 0866F8 7F051BC8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void detonate_proxmine_In_range(void) { + +} +#else +GLOBAL_ASM( +.text +glabel detonate_proxmine_In_range +/* 0866FC 7F051BCC 3C038007 */ lui $v1, %hi(temp_mine_table) +/* 086700 7F051BD0 3C018005 */ lui $at, %hi(D_800532EC) +/* 086704 7F051BD4 3C078007 */ lui $a3, %hi(gas_damage_flag) +/* 086708 7F051BD8 00802825 */ move $a1, $a0 +/* 08670C 7F051BDC 24E71E78 */ addiu $a3, %lo(gas_damage_flag) # addiu $a3, $a3, 0x1e78 +/* 086710 7F051BE0 C42E32EC */ lwc1 $f14, %lo(D_800532EC)($at) +/* 086714 7F051BE4 24631E00 */ addiu $v1, %lo(temp_mine_table) # addiu $v1, $v1, 0x1e00 +/* 086718 7F051BE8 24060001 */ li $a2, 1 +/* 08671C 7F051BEC 8C640000 */ lw $a0, ($v1) +.L7F051BF0: +/* 086720 7F051BF0 50800018 */ beql $a0, $zero, .L7F051C54 +/* 086724 7F051BF4 8C620004 */ lw $v0, 4($v1) +/* 086728 7F051BF8 848E0082 */ lh $t6, 0x82($a0) +/* 08672C 7F051BFC 54CE0015 */ bnel $a2, $t6, .L7F051C54 +/* 086730 7F051C00 8C620004 */ lw $v0, 4($v1) +/* 086734 7F051C04 C4A40000 */ lwc1 $f4, ($a1) +/* 086738 7F051C08 C4860058 */ lwc1 $f6, 0x58($a0) +/* 08673C 7F051C0C C4A80004 */ lwc1 $f8, 4($a1) +/* 086740 7F051C10 C48A005C */ lwc1 $f10, 0x5c($a0) +/* 086744 7F051C14 46062001 */ sub.s $f0, $f4, $f6 +/* 086748 7F051C18 C4B00008 */ lwc1 $f16, 8($a1) +/* 08674C 7F051C1C C4920060 */ lwc1 $f18, 0x60($a0) +/* 086750 7F051C20 460A4081 */ sub.s $f2, $f8, $f10 +/* 086754 7F051C24 46000102 */ mul.s $f4, $f0, $f0 +/* 086758 7F051C28 46128301 */ sub.s $f12, $f16, $f18 +/* 08675C 7F051C2C 46021182 */ mul.s $f6, $f2, $f2 +/* 086760 7F051C30 46062200 */ add.s $f8, $f4, $f6 +/* 086764 7F051C34 460C6282 */ mul.s $f10, $f12, $f12 +/* 086768 7F051C38 460A4400 */ add.s $f16, $f8, $f10 +/* 08676C 7F051C3C 460E803C */ c.lt.s $f16, $f14 +/* 086770 7F051C40 00000000 */ nop +/* 086774 7F051C44 45020003 */ bc1fl .L7F051C54 +/* 086778 7F051C48 8C620004 */ lw $v0, 4($v1) +/* 08677C 7F051C4C A4800082 */ sh $zero, 0x82($a0) +/* 086780 7F051C50 8C620004 */ lw $v0, 4($v1) +.L7F051C54: +/* 086784 7F051C54 24630008 */ addiu $v1, $v1, 8 +/* 086788 7F051C58 10400017 */ beqz $v0, .L7F051CB8 +/* 08678C 7F051C5C 00000000 */ nop +/* 086790 7F051C60 844F0082 */ lh $t7, 0x82($v0) +/* 086794 7F051C64 14CF0014 */ bne $a2, $t7, .L7F051CB8 +/* 086798 7F051C68 00000000 */ nop +/* 08679C 7F051C6C C4B20000 */ lwc1 $f18, ($a1) +/* 0867A0 7F051C70 C4440058 */ lwc1 $f4, 0x58($v0) +/* 0867A4 7F051C74 C4A60004 */ lwc1 $f6, 4($a1) +/* 0867A8 7F051C78 C448005C */ lwc1 $f8, 0x5c($v0) +/* 0867AC 7F051C7C 46049001 */ sub.s $f0, $f18, $f4 +/* 0867B0 7F051C80 C4AA0008 */ lwc1 $f10, 8($a1) +/* 0867B4 7F051C84 C4500060 */ lwc1 $f16, 0x60($v0) +/* 0867B8 7F051C88 46083081 */ sub.s $f2, $f6, $f8 +/* 0867BC 7F051C8C 46000482 */ mul.s $f18, $f0, $f0 +/* 0867C0 7F051C90 46105301 */ sub.s $f12, $f10, $f16 +/* 0867C4 7F051C94 46021102 */ mul.s $f4, $f2, $f2 +/* 0867C8 7F051C98 46049180 */ add.s $f6, $f18, $f4 +/* 0867CC 7F051C9C 460C6202 */ mul.s $f8, $f12, $f12 +/* 0867D0 7F051CA0 46083280 */ add.s $f10, $f6, $f8 +/* 0867D4 7F051CA4 460E503C */ c.lt.s $f10, $f14 +/* 0867D8 7F051CA8 00000000 */ nop +/* 0867DC 7F051CAC 45000002 */ bc1f .L7F051CB8 +/* 0867E0 7F051CB0 00000000 */ nop +/* 0867E4 7F051CB4 A4400082 */ sh $zero, 0x82($v0) +.L7F051CB8: +/* 0867E8 7F051CB8 5467FFCD */ bnel $v1, $a3, .L7F051BF0 +/* 0867EC 7F051CBC 8C640000 */ lw $a0, ($v1) +/* 0867F0 7F051CC0 03E00008 */ jr $ra +/* 0867F4 7F051CC4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void check_guard_detonate_proxmine(void) { + +} +#else +GLOBAL_ASM( +.text +glabel check_guard_detonate_proxmine +/* 0867F8 7F051CC8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0867FC 7F051CCC AFBF002C */ sw $ra, 0x2c($sp) +/* 086800 7F051CD0 AFB40028 */ sw $s4, 0x28($sp) +/* 086804 7F051CD4 AFB30024 */ sw $s3, 0x24($sp) +/* 086808 7F051CD8 AFB20020 */ sw $s2, 0x20($sp) +/* 08680C 7F051CDC AFB1001C */ sw $s1, 0x1c($sp) +/* 086810 7F051CE0 0FC07D4C */ jal get_numguards +/* 086814 7F051CE4 AFB00018 */ sw $s0, 0x18($sp) +/* 086818 7F051CE8 1840001A */ blez $v0, .L7F051D54 +/* 08681C 7F051CEC 00008025 */ move $s0, $zero +/* 086820 7F051CF0 00029900 */ sll $s3, $v0, 4 +/* 086824 7F051CF4 02629823 */ subu $s3, $s3, $v0 +/* 086828 7F051CF8 001398C0 */ sll $s3, $s3, 3 +/* 08682C 7F051CFC 02629823 */ subu $s3, $s3, $v0 +/* 086830 7F051D00 3C148003 */ lui $s4, %hi(ptr_guard_data) +/* 086834 7F051D04 2694CC64 */ addiu $s4, %lo(ptr_guard_data) # addiu $s4, $s4, -0x339c +/* 086838 7F051D08 00139880 */ sll $s3, $s3, 2 +/* 08683C 7F051D0C 27B10038 */ addiu $s1, $sp, 0x38 +/* 086840 7F051D10 8E8E0000 */ lw $t6, ($s4) +.L7F051D14: +/* 086844 7F051D14 020E2021 */ addu $a0, $s0, $t6 +/* 086848 7F051D18 8C8F001C */ lw $t7, 0x1c($a0) +/* 08684C 7F051D1C 51E0000A */ beql $t7, $zero, .L7F051D48 +/* 086850 7F051D20 261001DC */ addiu $s0, $s0, 0x1dc +/* 086854 7F051D24 94980012 */ lhu $t8, 0x12($a0) +/* 086858 7F051D28 33190200 */ andi $t9, $t8, 0x200 +/* 08685C 7F051D2C 53200006 */ beql $t9, $zero, .L7F051D48 +/* 086860 7F051D30 261001DC */ addiu $s0, $s0, 0x1dc +/* 086864 7F051D34 0FC0A225 */ jal sub_GAME_7F028894 +/* 086868 7F051D38 02202825 */ move $a1, $s1 +/* 08686C 7F051D3C 0FC146F3 */ jal detonate_proxmine_In_range +/* 086870 7F051D40 02202025 */ move $a0, $s1 +/* 086874 7F051D44 261001DC */ addiu $s0, $s0, 0x1dc +.L7F051D48: +/* 086878 7F051D48 0213082A */ slt $at, $s0, $s3 +/* 08687C 7F051D4C 5420FFF1 */ bnezl $at, .L7F051D14 +/* 086880 7F051D50 8E8E0000 */ lw $t6, ($s4) +.L7F051D54: +/* 086884 7F051D54 8FBF002C */ lw $ra, 0x2c($sp) +/* 086888 7F051D58 8FB00018 */ lw $s0, 0x18($sp) +/* 08688C 7F051D5C 8FB1001C */ lw $s1, 0x1c($sp) +/* 086890 7F051D60 8FB20020 */ lw $s2, 0x20($sp) +/* 086894 7F051D64 8FB30024 */ lw $s3, 0x24($sp) +/* 086898 7F051D68 8FB40028 */ lw $s4, 0x28($sp) +/* 08689C 7F051D6C 03E00008 */ jr $ra +/* 0868A0 7F051D70 27BD0050 */ addiu $sp, $sp, 0x50 +) +#endif + + + + + +#ifdef NONMATCHING +void link_objects(void) { + +} +#else +GLOBAL_ASM( +.text +glabel link_objects +/* 0868A4 7F051D74 80AE0080 */ lb $t6, 0x80($a1) +/* 0868A8 7F051D78 808F0080 */ lb $t7, 0x80($a0) +/* 0868AC 7F051D7C AC850084 */ sw $a1, 0x84($a0) +/* 0868B0 7F051D80 A08E0081 */ sb $t6, 0x81($a0) +/* 0868B4 7F051D84 ACA40084 */ sw $a0, 0x84($a1) +/* 0868B8 7F051D88 03E00008 */ jr $ra +/* 0868BC 7F051D8C A0AF0081 */ sb $t7, 0x81($a1) +) +#endif + + + + + +#ifdef NONMATCHING +void complete_object_data_block_return_position_entry(void) { + +} +#else +GLOBAL_ASM( +.text +glabel complete_object_data_block_return_position_entry +/* 0868C0 7F051D90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0868C4 7F051D94 AFBF0014 */ sw $ra, 0x14($sp) +/* 0868C8 7F051D98 0FC10153 */ jal init_standard_object +/* 0868CC 7F051D9C 00000000 */ nop +/* 0868D0 7F051DA0 10400008 */ beqz $v0, .L7F051DC4 +/* 0868D4 7F051DA4 00403025 */ move $a2, $v0 +/* 0868D8 7F051DA8 240E0004 */ li $t6, 4 +/* 0868DC 7F051DAC A04E0000 */ sb $t6, ($v0) +/* 0868E0 7F051DB0 AFA20020 */ sw $v0, 0x20($sp) +/* 0868E4 7F051DB4 00402025 */ move $a0, $v0 +/* 0868E8 7F051DB8 0FC1495D */ jal sub_GAME_7F052574 +/* 0868EC 7F051DBC 00002825 */ move $a1, $zero +/* 0868F0 7F051DC0 8FA60020 */ lw $a2, 0x20($sp) +.L7F051DC4: +/* 0868F4 7F051DC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0868F8 7F051DC8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0868FC 7F051DCC 00C01025 */ move $v0, $a2 +/* 086900 7F051DD0 03E00008 */ jr $ra +/* 086904 7F051DD4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051DD8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051DD8 +/* 086908 7F051DD8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08690C 7F051DDC AFBF0014 */ sw $ra, 0x14($sp) +/* 086910 7F051DE0 0FC101BE */ jal sub_GAME_7F0406F8 +/* 086914 7F051DE4 00000000 */ nop +/* 086918 7F051DE8 10400007 */ beqz $v0, .L7F051E08 +/* 08691C 7F051DEC 00402025 */ move $a0, $v0 +/* 086920 7F051DF0 240E0004 */ li $t6, 4 +/* 086924 7F051DF4 A04E0000 */ sb $t6, ($v0) +/* 086928 7F051DF8 AFA2001C */ sw $v0, 0x1c($sp) +/* 08692C 7F051DFC 0FC1495D */ jal sub_GAME_7F052574 +/* 086930 7F051E00 00002825 */ move $a1, $zero +/* 086934 7F051E04 8FA4001C */ lw $a0, 0x1c($sp) +.L7F051E08: +/* 086938 7F051E08 8FBF0014 */ lw $ra, 0x14($sp) +/* 08693C 7F051E0C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 086940 7F051E10 00801025 */ move $v0, $a0 +/* 086944 7F051E14 03E00008 */ jr $ra +/* 086948 7F051E18 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051E1C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051E1C +/* 08694C 7F051E1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 086950 7F051E20 AFBF0014 */ sw $ra, 0x14($sp) +/* 086954 7F051E24 8C820008 */ lw $v0, 8($a0) +/* 086958 7F051E28 00A03825 */ move $a3, $a1 +/* 08695C 7F051E2C 00803025 */ move $a2, $a0 +/* 086960 7F051E30 000270C0 */ sll $t6, $v0, 3 +/* 086964 7F051E34 05C10003 */ bgez $t6, .L7F051E44 +/* 086968 7F051E38 00002825 */ move $a1, $zero +/* 08696C 7F051E3C 10000001 */ b .L7F051E44 +/* 086970 7F051E40 24050001 */ li $a1, 1 +.L7F051E44: +/* 086974 7F051E44 8CC40010 */ lw $a0, 0x10($a2) +/* 086978 7F051E48 50800035 */ beql $a0, $zero, .L7F051F20 +/* 08697C 7F051E4C 24020001 */ li $v0, 1 +/* 086980 7F051E50 8CC30014 */ lw $v1, 0x14($a2) +/* 086984 7F051E54 00027880 */ sll $t7, $v0, 2 +/* 086988 7F051E58 50600031 */ beql $v1, $zero, .L7F051F20 +/* 08698C 7F051E5C 24020001 */ li $v0, 1 +/* 086990 7F051E60 05E0002C */ bltz $t7, .L7F051F14 +/* 086994 7F051E64 00000000 */ nop +/* 086998 7F051E68 00052080 */ sll $a0, $a1, 2 +/* 08699C 7F051E6C 00E41021 */ addu $v0, $a3, $a0 +/* 0869A0 7F051E70 8C580160 */ lw $t8, 0x160($v0) +/* 0869A4 7F051E74 17000025 */ bnez $t8, .L7F051F0C +/* 0869A8 7F051E78 00000000 */ nop +/* 0869AC 7F051E7C 8CF9001C */ lw $t9, 0x1c($a3) +/* 0869B0 7F051E80 14800008 */ bnez $a0, .L7F051EA4 +/* 0869B4 7F051E84 AC790018 */ sw $t9, 0x18($v1) +/* 0869B8 7F051E88 8CE8001C */ lw $t0, 0x1c($a3) +/* 0869BC 7F051E8C 8CCC0014 */ lw $t4, 0x14($a2) +/* 0869C0 7F051E90 8D090008 */ lw $t1, 8($t0) +/* 0869C4 7F051E94 8D2A0008 */ lw $t2, 8($t1) +/* 0869C8 7F051E98 8D4B000C */ lw $t3, 0xc($t2) +/* 0869CC 7F051E9C 10000007 */ b .L7F051EBC +/* 0869D0 7F051EA0 AD8B001C */ sw $t3, 0x1c($t4) +.L7F051EA4: +/* 0869D4 7F051EA4 8CED001C */ lw $t5, 0x1c($a3) +/* 0869D8 7F051EA8 8CD90014 */ lw $t9, 0x14($a2) +/* 0869DC 7F051EAC 8DAE0008 */ lw $t6, 8($t5) +/* 0869E0 7F051EB0 8DCF0008 */ lw $t7, 8($t6) +/* 0869E4 7F051EB4 8DF80014 */ lw $t8, 0x14($t7) +/* 0869E8 7F051EB8 AF38001C */ sw $t8, 0x1c($t9) +.L7F051EBC: +/* 0869EC 7F051EBC 8CC80010 */ lw $t0, 0x10($a2) +/* 0869F0 7F051EC0 00045823 */ negu $t3, $a0 +/* 0869F4 7F051EC4 00EB6021 */ addu $t4, $a3, $t3 +/* 0869F8 7F051EC8 AC480160 */ sw $t0, 0x160($v0) +/* 0869FC 7F051ECC 8CC90008 */ lw $t1, 8($a2) +/* 086A00 7F051ED0 00095000 */ sll $t2, $t1, 0 +/* 086A04 7F051ED4 0541000B */ bgez $t2, .L7F051F04 +/* 086A08 7F051ED8 00000000 */ nop +/* 086A0C 7F051EDC 8D820164 */ lw $v0, 0x164($t4) +/* 086A10 7F051EE0 00C02025 */ move $a0, $a2 +/* 086A14 7F051EE4 10400007 */ beqz $v0, .L7F051F04 +/* 086A18 7F051EE8 00000000 */ nop +/* 086A1C 7F051EEC 8C450004 */ lw $a1, 4($v0) +/* 086A20 7F051EF0 AFA7001C */ sw $a3, 0x1c($sp) +/* 086A24 7F051EF4 0FC1475D */ jal link_objects +/* 086A28 7F051EF8 AFA60018 */ sw $a2, 0x18($sp) +/* 086A2C 7F051EFC 8FA60018 */ lw $a2, 0x18($sp) +/* 086A30 7F051F00 8FA7001C */ lw $a3, 0x1c($sp) +.L7F051F04: +/* 086A34 7F051F04 10000003 */ b .L7F051F14 +/* 086A38 7F051F08 8CC40010 */ lw $a0, 0x10($a2) +.L7F051F0C: +/* 086A3C 7F051F0C 10000004 */ b .L7F051F20 +/* 086A40 7F051F10 00001025 */ move $v0, $zero +.L7F051F14: +/* 086A44 7F051F14 0FC0E969 */ jal sub_GAME_7F03A5A4 +/* 086A48 7F051F18 8CE50018 */ lw $a1, 0x18($a3) +/* 086A4C 7F051F1C 24020001 */ li $v0, 1 +.L7F051F20: +/* 086A50 7F051F20 8FBF0014 */ lw $ra, 0x14($sp) +/* 086A54 7F051F24 27BD0018 */ addiu $sp, $sp, 0x18 +/* 086A58 7F051F28 03E00008 */ jr $ra +/* 086A5C 7F051F2C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051F30(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051F30 +/* 086A60 7F051F30 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 086A64 7F051F34 AFA50024 */ sw $a1, 0x24($sp) +/* 086A68 7F051F38 AFA60028 */ sw $a2, 0x28($sp) +/* 086A6C 7F051F3C 00C02825 */ move $a1, $a2 +/* 086A70 7F051F40 AFBF001C */ sw $ra, 0x1c($sp) +/* 086A74 7F051F44 AFB00018 */ sw $s0, 0x18($sp) +/* 086A78 7F051F48 AFA7002C */ sw $a3, 0x2c($sp) +/* 086A7C 7F051F4C 00E03025 */ move $a2, $a3 +/* 086A80 7F051F50 00808025 */ move $s0, $a0 +/* 086A84 7F051F54 0FC14764 */ jal complete_object_data_block_return_position_entry +/* 086A88 7F051F58 8FA70030 */ lw $a3, 0x30($sp) +/* 086A8C 7F051F5C 10400018 */ beqz $v0, .L7F051FC0 +/* 086A90 7F051F60 AFA2002C */ sw $v0, 0x2c($sp) +/* 086A94 7F051F64 8E040014 */ lw $a0, 0x14($s0) +/* 086A98 7F051F68 50800016 */ beql $a0, $zero, .L7F051FC4 +/* 086A9C 7F051F6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 086AA0 7F051F70 960E0000 */ lhu $t6, ($s0) +/* 086AA4 7F051F74 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 086AA8 7F051F78 448E2000 */ mtc1 $t6, $f4 +/* 086AAC 7F051F7C 05C10004 */ bgez $t6, .L7F051F90 +/* 086AB0 7F051F80 468021A0 */ cvt.s.w $f6, $f4 +/* 086AB4 7F051F84 44814000 */ mtc1 $at, $f8 +/* 086AB8 7F051F88 00000000 */ nop +/* 086ABC 7F051F8C 46083180 */ add.s $f6, $f6, $f8 +.L7F051F90: +/* 086AC0 7F051F90 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 086AC4 7F051F94 44815000 */ mtc1 $at, $f10 +/* 086AC8 7F051F98 C4900014 */ lwc1 $f16, 0x14($a0) +/* 086ACC 7F051F9C 460A3002 */ mul.s $f0, $f6, $f10 +/* 086AD0 7F051FA0 00000000 */ nop +/* 086AD4 7F051FA4 46008482 */ mul.s $f18, $f16, $f0 +/* 086AD8 7F051FA8 44059000 */ mfc1 $a1, $f18 +/* 086ADC 7F051FAC 0FC1B39E */ jal set_obj_instance_controller_scale +/* 086AE0 7F051FB0 00000000 */ nop +/* 086AE4 7F051FB4 02002025 */ move $a0, $s0 +/* 086AE8 7F051FB8 0FC14787 */ jal sub_GAME_7F051E1C +/* 086AEC 7F051FBC 8FA50024 */ lw $a1, 0x24($sp) +.L7F051FC0: +/* 086AF0 7F051FC0 8FBF001C */ lw $ra, 0x1c($sp) +.L7F051FC4: +/* 086AF4 7F051FC4 8FA2002C */ lw $v0, 0x2c($sp) +/* 086AF8 7F051FC8 8FB00018 */ lw $s0, 0x18($sp) +/* 086AFC 7F051FCC 03E00008 */ jr $ra +/* 086B00 7F051FD0 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F051FD4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F051FD4 +/* 086B04 7F051FD4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 086B08 7F051FD8 AFBF001C */ sw $ra, 0x1c($sp) +/* 086B0C 7F051FDC AFA40028 */ sw $a0, 0x28($sp) +/* 086B10 7F051FE0 AFA5002C */ sw $a1, 0x2c($sp) +/* 086B14 7F051FE4 84840004 */ lh $a0, 4($a0) +/* 086B18 7F051FE8 0FC15B0E */ jal load_model +/* 086B1C 7F051FEC AFA40020 */ sw $a0, 0x20($sp) +/* 086B20 7F051FF0 8FAF0020 */ lw $t7, 0x20($sp) +/* 086B24 7F051FF4 3C068004 */ lui $a2, %hi(PitemZ_entries) +/* 086B28 7F051FF8 8FA40028 */ lw $a0, 0x28($sp) +/* 086B2C 7F051FFC 000FC080 */ sll $t8, $t7, 2 +/* 086B30 7F052000 030FC023 */ subu $t8, $t8, $t7 +/* 086B34 7F052004 0018C080 */ sll $t8, $t8, 2 +/* 086B38 7F052008 00D83021 */ addu $a2, $a2, $t8 +/* 086B3C 7F05200C 8CC6A228 */ lw $a2, %lo(PitemZ_entries)($a2) +/* 086B40 7F052010 8FA5002C */ lw $a1, 0x2c($sp) +/* 086B44 7F052014 00003825 */ move $a3, $zero +/* 086B48 7F052018 0FC147CC */ jal sub_GAME_7F051F30 +/* 086B4C 7F05201C AFA00010 */ sw $zero, 0x10($sp) +/* 086B50 7F052020 8FBF001C */ lw $ra, 0x1c($sp) +/* 086B54 7F052024 27BD0028 */ addiu $sp, $sp, 0x28 +/* 086B58 7F052028 03E00008 */ jr $ra +/* 086B5C 7F05202C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F052030(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F052030 +/* 086B60 7F052030 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 086B64 7F052034 AFBF0014 */ sw $ra, 0x14($sp) +/* 086B68 7F052038 8C8E0074 */ lw $t6, 0x74($a0) +/* 086B6C 7F05203C 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 086B70 7F052040 44814000 */ mtc1 $at, $f8 +/* 086B74 7F052044 448E2000 */ mtc1 $t6, $f4 +/* 086B78 7F052048 00000000 */ nop +/* 086B7C 7F05204C 468021A0 */ cvt.s.w $f6, $f4 +/* 086B80 7F052050 46083283 */ div.s $f10, $f6, $f8 +/* 086B84 7F052054 0FC147F5 */ jal sub_GAME_7F051FD4 +/* 086B88 7F052058 E48A0074 */ swc1 $f10, 0x74($a0) +/* 086B8C 7F05205C 8FBF0014 */ lw $ra, 0x14($sp) +/* 086B90 7F052060 27BD0018 */ addiu $sp, $sp, 0x18 +/* 086B94 7F052064 03E00008 */ jr $ra +/* 086B98 7F052068 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void create_new_item_instance_of_model(void) { + +} +#else +GLOBAL_ASM( +.text +glabel create_new_item_instance_of_model +/* 086B9C 7F05206C 00047080 */ sll $t6, $a0, 2 +/* 086BA0 7F052070 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 086BA4 7F052074 01C47023 */ subu $t6, $t6, $a0 +/* 086BA8 7F052078 000E7080 */ sll $t6, $t6, 2 +/* 086BAC 7F05207C 3C0F8004 */ lui $t7, %hi(PitemZ_entries) +/* 086BB0 7F052080 01EE7821 */ addu $t7, $t7, $t6 +/* 086BB4 7F052084 8DEFA228 */ lw $t7, %lo(PitemZ_entries)($t7) +/* 086BB8 7F052088 AFBF001C */ sw $ra, 0x1c($sp) +/* 086BBC 7F05208C AFB10018 */ sw $s1, 0x18($sp) +/* 086BC0 7F052090 AFB00014 */ sw $s0, 0x14($sp) +/* 086BC4 7F052094 AFA500BC */ sw $a1, 0xbc($sp) +/* 086BC8 7F052098 AFA400B8 */ sw $a0, 0xb8($sp) +/* 086BCC 7F05209C 0FC15B0E */ jal load_model +/* 086BD0 7F0520A0 AFAF00B4 */ sw $t7, 0xb4($sp) +/* 086BD4 7F0520A4 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 086BD8 7F0520A8 00000000 */ nop +/* 086BDC 7F0520AC 00408025 */ move $s0, $v0 +/* 086BE0 7F0520B0 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 086BE4 7F0520B4 8FA400B4 */ lw $a0, 0xb4($sp) +/* 086BE8 7F0520B8 2E040001 */ sltiu $a0, $s0, 1 +/* 086BEC 7F0520BC 2C450001 */ sltiu $a1, $v0, 1 +/* 086BF0 7F0520C0 8FA600B4 */ lw $a2, 0xb4($sp) +/* 086BF4 7F0520C4 0FC1449B */ jal sub_GAME_7F05126C +/* 086BF8 7F0520C8 AFA200AC */ sw $v0, 0xac($sp) +/* 086BFC 7F0520CC 8FA700AC */ lw $a3, 0xac($sp) +/* 086C00 7F0520D0 16000005 */ bnez $s0, .L7F0520E8 +/* 086C04 7F0520D4 00408825 */ move $s1, $v0 +/* 086C08 7F0520D8 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 086C0C 7F0520DC AFA700AC */ sw $a3, 0xac($sp) +/* 086C10 7F0520E0 8FA700AC */ lw $a3, 0xac($sp) +/* 086C14 7F0520E4 00408025 */ move $s0, $v0 +.L7F0520E8: +/* 086C18 7F0520E8 14E00004 */ bnez $a3, .L7F0520FC +/* 086C1C 7F0520EC 00000000 */ nop +/* 086C20 7F0520F0 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 086C24 7F0520F4 8FA400B4 */ lw $a0, 0xb4($sp) +/* 086C28 7F0520F8 00403825 */ move $a3, $v0 +.L7F0520FC: +/* 086C2C 7F0520FC 1220002C */ beqz $s1, .L7F0521B0 +/* 086C30 7F052100 00000000 */ nop +/* 086C34 7F052104 1200002A */ beqz $s0, .L7F0521B0 +/* 086C38 7F052108 00000000 */ nop +/* 086C3C 7F05210C 10E00028 */ beqz $a3, .L7F0521B0 +/* 086C40 7F052110 27A20020 */ addiu $v0, $sp, 0x20 +/* 086C44 7F052114 3C188003 */ lui $t8, %hi(blank_08_object_preset_1) +/* 086C48 7F052118 27182194 */ addiu $t8, %lo(blank_08_object_preset_1) # addiu $t8, $t8, 0x2194 +/* 086C4C 7F05211C 27080084 */ addiu $t0, $t8, 0x84 +/* 086C50 7F052120 00404825 */ move $t1, $v0 +.L7F052124: +/* 086C54 7F052124 8F010000 */ lw $at, ($t8) +/* 086C58 7F052128 2718000C */ addiu $t8, $t8, 0xc +/* 086C5C 7F05212C 2529000C */ addiu $t1, $t1, 0xc +/* 086C60 7F052130 AD21FFF4 */ sw $at, -0xc($t1) +/* 086C64 7F052134 8F01FFF8 */ lw $at, -8($t8) +/* 086C68 7F052138 AD21FFF8 */ sw $at, -8($t1) +/* 086C6C 7F05213C 8F01FFFC */ lw $at, -4($t8) +/* 086C70 7F052140 1708FFF8 */ bne $t8, $t0, .L7F052124 +/* 086C74 7F052144 AD21FFFC */ sw $at, -4($t1) +/* 086C78 7F052148 8F010000 */ lw $at, ($t8) +/* 086C7C 7F05214C 00406025 */ move $t4, $v0 +/* 086C80 7F052150 02206825 */ move $t5, $s1 +/* 086C84 7F052154 244B0084 */ addiu $t3, $v0, 0x84 +/* 086C88 7F052158 AD210000 */ sw $at, ($t1) +.L7F05215C: +/* 086C8C 7F05215C 8D810000 */ lw $at, ($t4) +/* 086C90 7F052160 258C000C */ addiu $t4, $t4, 0xc +/* 086C94 7F052164 25AD000C */ addiu $t5, $t5, 0xc +/* 086C98 7F052168 ADA1FFF4 */ sw $at, -0xc($t5) +/* 086C9C 7F05216C 8D81FFF8 */ lw $at, -8($t4) +/* 086CA0 7F052170 ADA1FFF8 */ sw $at, -8($t5) +/* 086CA4 7F052174 8D81FFFC */ lw $at, -4($t4) +/* 086CA8 7F052178 158BFFF8 */ bne $t4, $t3, .L7F05215C +/* 086CAC 7F05217C ADA1FFFC */ sw $at, -4($t5) +/* 086CB0 7F052180 8D810000 */ lw $at, ($t4) +/* 086CB4 7F052184 02202025 */ move $a0, $s1 +/* 086CB8 7F052188 02003025 */ move $a2, $s0 +/* 086CBC 7F05218C ADA10000 */ sw $at, ($t5) +/* 086CC0 7F052190 8FAE00BC */ lw $t6, 0xbc($sp) +/* 086CC4 7F052194 A22E0080 */ sb $t6, 0x80($s1) +/* 086CC8 7F052198 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 086CCC 7F05219C A62F0004 */ sh $t7, 4($s1) +/* 086CD0 7F0521A0 0FC14764 */ jal complete_object_data_block_return_position_entry +/* 086CD4 7F0521A4 8FA500B4 */ lw $a1, 0xb4($sp) +/* 086CD8 7F0521A8 1000000A */ b .L7F0521D4 +/* 086CDC 7F0521AC 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0521B0: +/* 086CE0 7F0521B0 10E00003 */ beqz $a3, .L7F0521C0 +/* 086CE4 7F0521B4 00008825 */ move $s1, $zero +/* 086CE8 7F0521B8 0FC1B08D */ jal set_obj_instance_scale_to_zero +/* 086CEC 7F0521BC 00E02025 */ move $a0, $a3 +.L7F0521C0: +/* 086CF0 7F0521C0 52000004 */ beql $s0, $zero, .L7F0521D4 +/* 086CF4 7F0521C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 086CF8 7F0521C8 0FC0E921 */ jal set_last_obj_pos_data +/* 086CFC 7F0521CC 02002025 */ move $a0, $s0 +/* 086D00 7F0521D0 8FBF001C */ lw $ra, 0x1c($sp) +.L7F0521D4: +/* 086D04 7F0521D4 02201025 */ move $v0, $s1 +/* 086D08 7F0521D8 8FB10018 */ lw $s1, 0x18($sp) +/* 086D0C 7F0521DC 8FB00014 */ lw $s0, 0x14($sp) +/* 086D10 7F0521E0 03E00008 */ jr $ra +/* 086D14 7F0521E4 27BD00B8 */ addiu $sp, $sp, 0xb8 +) +#endif + + + + +#ifdef NONMATCHING +void set_0x4_in_runtime_flags_for_item_in_guards_hand(PCHRdata chr, int hand_index) { + // BROKEN: we need to first identify the struct assigned to handle_positiondata ptr + // function used to remove item from right/left hand or something, maybe position holding data? + void **item_in_hand_ptr; + + if (chr->handle_positiondata[hand_index] != 0) + { + item_in_hand_ptr = chr->handle_positiondata[hand_index] + 4; + item_in_hand_ptr[0x19] = (s32)(item_in_hand_ptr[0x19]) | 4; + } +} +#else +GLOBAL_ASM( +.text +glabel set_0x4_in_runtime_flags_for_item_in_guards_hand +/* 086D18 7F0521E8 00057080 */ sll $t6, $a1, 2 +/* 086D1C 7F0521EC 008E7821 */ addu $t7, $a0, $t6 +/* 086D20 7F0521F0 8DE20160 */ lw $v0, 0x160($t7) +/* 086D24 7F0521F4 10400005 */ beqz $v0, .L7F05220C +/* 086D28 7F0521F8 00000000 */ nop +/* 086D2C 7F0521FC 8C430004 */ lw $v1, 4($v0) +/* 086D30 7F052200 8C780064 */ lw $t8, 0x64($v1) +/* 086D34 7F052204 37190004 */ ori $t9, $t8, 4 +/* 086D38 7F052208 AC790064 */ sw $t9, 0x64($v1) +.L7F05220C: +/* 086D3C 7F05220C 03E00008 */ jr $ra +/* 086D40 7F052210 00000000 */ nop +) +#endif + + + + +#ifdef NONMATCHING +void something_with_generating_object(void) { + +} +#else +GLOBAL_ASM( +.text +glabel something_with_generating_object +/* 086D44 7F052214 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 086D48 7F052218 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 086D4C 7F05221C AFBF002C */ sw $ra, 0x2c($sp) +/* 086D50 7F052220 AFB20028 */ sw $s2, 0x28($sp) +/* 086D54 7F052224 AFB10024 */ sw $s1, 0x24($sp) +/* 086D58 7F052228 AFB00020 */ sw $s0, 0x20($sp) +/* 086D5C 7F05222C AFA400C0 */ sw $a0, 0xc0($sp) +/* 086D60 7F052230 AFA500C4 */ sw $a1, 0xc4($sp) +/* 086D64 7F052234 AFA600C8 */ sw $a2, 0xc8($sp) +/* 086D68 7F052238 15C0000A */ bnez $t6, .L7F052264 +/* 086D6C 7F05223C AFA700CC */ sw $a3, 0xcc($sp) +/* 086D70 7F052240 0005C080 */ sll $t8, $a1, 2 +/* 086D74 7F052244 0305C023 */ subu $t8, $t8, $a1 +/* 086D78 7F052248 0018C080 */ sll $t8, $t8, 2 +/* 086D7C 7F05224C 3C198004 */ lui $t9, %hi(PitemZ_entries) +/* 086D80 7F052250 0338C821 */ addu $t9, $t9, $t8 +/* 086D84 7F052254 8F39A228 */ lw $t9, %lo(PitemZ_entries)($t9) +/* 086D88 7F052258 00A02025 */ move $a0, $a1 +/* 086D8C 7F05225C 0FC15B0E */ jal load_model +/* 086D90 7F052260 AFB900D4 */ sw $t9, 0xd4($sp) +.L7F052264: +/* 086D94 7F052264 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 086D98 7F052268 00000000 */ nop +/* 086D9C 7F05226C 00408825 */ move $s1, $v0 +/* 086DA0 7F052270 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 086DA4 7F052274 8FA400D4 */ lw $a0, 0xd4($sp) +/* 086DA8 7F052278 8FB000D0 */ lw $s0, 0xd0($sp) +/* 086DAC 7F05227C 00409025 */ move $s2, $v0 +/* 086DB0 7F052280 2E240001 */ sltiu $a0, $s1, 1 +/* 086DB4 7F052284 16000004 */ bnez $s0, .L7F052298 +/* 086DB8 7F052288 2C450001 */ sltiu $a1, $v0, 1 +/* 086DBC 7F05228C 0FC1449B */ jal sub_GAME_7F05126C +/* 086DC0 7F052290 8FA600D4 */ lw $a2, 0xd4($sp) +/* 086DC4 7F052294 00408025 */ move $s0, $v0 +.L7F052298: +/* 086DC8 7F052298 16200004 */ bnez $s1, .L7F0522AC +/* 086DCC 7F05229C 00000000 */ nop +/* 086DD0 7F0522A0 0FC0E90C */ jal remove_last_obj_pos_data_entry +/* 086DD4 7F0522A4 00000000 */ nop +/* 086DD8 7F0522A8 00408825 */ move $s1, $v0 +.L7F0522AC: +/* 086DDC 7F0522AC 16400004 */ bnez $s2, .L7F0522C0 +/* 086DE0 7F0522B0 00000000 */ nop +/* 086DE4 7F0522B4 0FC1B025 */ jal get_obj_instance_controller_for_header +/* 086DE8 7F0522B8 8FA400D4 */ lw $a0, 0xd4($sp) +/* 086DEC 7F0522BC 00409025 */ move $s2, $v0 +.L7F0522C0: +/* 086DF0 7F0522C0 12000034 */ beqz $s0, .L7F052394 +/* 086DF4 7F0522C4 00000000 */ nop +/* 086DF8 7F0522C8 12200032 */ beqz $s1, .L7F052394 +/* 086DFC 7F0522CC 00000000 */ nop +/* 086E00 7F0522D0 12400030 */ beqz $s2, .L7F052394 +/* 086E04 7F0522D4 27A20030 */ addiu $v0, $sp, 0x30 +/* 086E08 7F0522D8 3C088003 */ lui $t0, %hi(blank_08_object_preset_4001) +/* 086E0C 7F0522DC 2508221C */ addiu $t0, %lo(blank_08_object_preset_4001) # addiu $t0, $t0, 0x221c +/* 086E10 7F0522E0 250A0084 */ addiu $t2, $t0, 0x84 +/* 086E14 7F0522E4 00405825 */ move $t3, $v0 +.L7F0522E8: +/* 086E18 7F0522E8 8D010000 */ lw $at, ($t0) +/* 086E1C 7F0522EC 2508000C */ addiu $t0, $t0, 0xc +/* 086E20 7F0522F0 256B000C */ addiu $t3, $t3, 0xc +/* 086E24 7F0522F4 AD61FFF4 */ sw $at, -0xc($t3) +/* 086E28 7F0522F8 8D01FFF8 */ lw $at, -8($t0) +/* 086E2C 7F0522FC AD61FFF8 */ sw $at, -8($t3) +/* 086E30 7F052300 8D01FFFC */ lw $at, -4($t0) +/* 086E34 7F052304 150AFFF8 */ bne $t0, $t2, .L7F0522E8 +/* 086E38 7F052308 AD61FFFC */ sw $at, -4($t3) +/* 086E3C 7F05230C 8D010000 */ lw $at, ($t0) +/* 086E40 7F052310 00407025 */ move $t6, $v0 +/* 086E44 7F052314 0200C025 */ move $t8, $s0 +/* 086E48 7F052318 244D0084 */ addiu $t5, $v0, 0x84 +/* 086E4C 7F05231C AD610000 */ sw $at, ($t3) +.L7F052320: +/* 086E50 7F052320 8DC10000 */ lw $at, ($t6) +/* 086E54 7F052324 25CE000C */ addiu $t6, $t6, 0xc +/* 086E58 7F052328 2718000C */ addiu $t8, $t8, 0xc +/* 086E5C 7F05232C AF01FFF4 */ sw $at, -0xc($t8) +/* 086E60 7F052330 8DC1FFF8 */ lw $at, -8($t6) +/* 086E64 7F052334 AF01FFF8 */ sw $at, -8($t8) +/* 086E68 7F052338 8DC1FFFC */ lw $at, -4($t6) +/* 086E6C 7F05233C 15CDFFF8 */ bne $t6, $t5, .L7F052320 +/* 086E70 7F052340 AF01FFFC */ sw $at, -4($t8) +/* 086E74 7F052344 8DC10000 */ lw $at, ($t6) +/* 086E78 7F052348 02002025 */ move $a0, $s0 +/* 086E7C 7F05234C 02203825 */ move $a3, $s1 +/* 086E80 7F052350 AF010000 */ sw $at, ($t8) +/* 086E84 7F052354 8FB900C8 */ lw $t9, 0xc8($sp) +/* 086E88 7F052358 A2190080 */ sb $t9, 0x80($s0) +/* 086E8C 7F05235C 8FAF00C4 */ lw $t7, 0xc4($sp) +/* 086E90 7F052360 A60F0004 */ sh $t7, 4($s0) +/* 086E94 7F052364 8FA900CC */ lw $t1, 0xcc($sp) +/* 086E98 7F052368 352A4000 */ ori $t2, $t1, 0x4000 +/* 086E9C 7F05236C AE0A0008 */ sw $t2, 8($s0) +/* 086EA0 7F052370 8FA800C0 */ lw $t0, 0xc0($sp) +/* 086EA4 7F052374 850B0000 */ lh $t3, ($t0) +/* 086EA8 7F052378 A60B0006 */ sh $t3, 6($s0) +/* 086EAC 7F05237C AFB20010 */ sw $s2, 0x10($sp) +/* 086EB0 7F052380 8FA600D4 */ lw $a2, 0xd4($sp) +/* 086EB4 7F052384 0FC147CC */ jal sub_GAME_7F051F30 +/* 086EB8 7F052388 8FA500C0 */ lw $a1, 0xc0($sp) +/* 086EBC 7F05238C 1000000A */ b .L7F0523B8 +/* 086EC0 7F052390 00408825 */ move $s1, $v0 +.L7F052394: +/* 086EC4 7F052394 12400003 */ beqz $s2, .L7F0523A4 +/* 086EC8 7F052398 00000000 */ nop +/* 086ECC 7F05239C 0FC1B08D */ jal set_obj_instance_scale_to_zero +/* 086ED0 7F0523A0 02402025 */ move $a0, $s2 +.L7F0523A4: +/* 086ED4 7F0523A4 52200005 */ beql $s1, $zero, .L7F0523BC +/* 086ED8 7F0523A8 8FBF002C */ lw $ra, 0x2c($sp) +/* 086EDC 7F0523AC 0FC0E921 */ jal set_last_obj_pos_data +/* 086EE0 7F0523B0 02202025 */ move $a0, $s1 +/* 086EE4 7F0523B4 00008825 */ move $s1, $zero +.L7F0523B8: +/* 086EE8 7F0523B8 8FBF002C */ lw $ra, 0x2c($sp) +.L7F0523BC: +/* 086EEC 7F0523BC 02201025 */ move $v0, $s1 +/* 086EF0 7F0523C0 8FB10024 */ lw $s1, 0x24($sp) +/* 086EF4 7F0523C4 8FB00020 */ lw $s0, 0x20($sp) +/* 086EF8 7F0523C8 8FB20028 */ lw $s2, 0x28($sp) +/* 086EFC 7F0523CC 03E00008 */ jr $ra +/* 086F00 7F0523D0 27BD00C0 */ addiu $sp, $sp, 0xc0 +) +#endif + + + + + +#ifdef NONMATCHING +void actor_draws_weapon_with_model(void) { + +} +#else +GLOBAL_ASM( +.text +glabel actor_draws_weapon_with_model +/* 086F04 7F0523D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 086F08 7F0523D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 086F0C 7F0523DC AFA00010 */ sw $zero, 0x10($sp) +/* 086F10 7F0523E0 0FC14885 */ jal something_with_generating_object +/* 086F14 7F0523E4 AFA00014 */ sw $zero, 0x14($sp) +/* 086F18 7F0523E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 086F1C 7F0523EC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 086F20 7F0523F0 03E00008 */ jr $ra +/* 086F24 7F0523F4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0523F8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0523F8 +/* 086F28 7F0523F8 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 086F2C 7F0523FC AFBF001C */ sw $ra, 0x1c($sp) +/* 086F30 7F052400 AFB10018 */ sw $s1, 0x18($sp) +/* 086F34 7F052404 AFB00014 */ sw $s0, 0x14($sp) +/* 086F38 7F052408 AFA500BC */ sw $a1, 0xbc($sp) +/* 086F3C 7F05240C AFA600C0 */ sw $a2, 0xc0($sp) +/* 086F40 7F052410 8C870004 */ lw $a3, 4($a0) +/* 086F44 7F052414 00E02025 */ move $a0, $a3 +/* 086F48 7F052418 0FC08C0B */ jal something_with_weaponpos_of_guarddata_hand +/* 086F4C 7F05241C AFA700B4 */ sw $a3, 0xb4($sp) +/* 086F50 7F052420 8FA700B4 */ lw $a3, 0xb4($sp) +/* 086F54 7F052424 10400046 */ beqz $v0, .L7F052540 +/* 086F58 7F052428 00401825 */ move $v1, $v0 +/* 086F5C 7F05242C 8C500004 */ lw $s0, 4($v0) +/* 086F60 7F052430 8E0E0064 */ lw $t6, 0x64($s0) +/* 086F64 7F052434 31CF0800 */ andi $t7, $t6, 0x800 +/* 086F68 7F052438 55E0003F */ bnezl $t7, .L7F052538 +/* 086F6C 7F05243C 90480001 */ lbu $t0, 1($v0) +/* 086F70 7F052440 8E18000C */ lw $t8, 0xc($s0) +/* 086F74 7F052444 3C098003 */ lui $t1, %hi(D_800322A4) +/* 086F78 7F052448 252922A4 */ addiu $t1, %lo(D_800322A4) # addiu $t1, $t1, 0x22a4 +/* 086F7C 7F05244C 0018CB00 */ sll $t9, $t8, 0xc +/* 086F80 7F052450 07200038 */ bltz $t9, .L7F052534 +/* 086F84 7F052454 27A80068 */ addiu $t0, $sp, 0x68 +/* 086F88 7F052458 8E110014 */ lw $s1, 0x14($s0) +/* 086F8C 7F05245C 252B003C */ addiu $t3, $t1, 0x3c +.L7F052460: +/* 086F90 7F052460 8D210000 */ lw $at, ($t1) +/* 086F94 7F052464 2529000C */ addiu $t1, $t1, 0xc +/* 086F98 7F052468 2508000C */ addiu $t0, $t0, 0xc +/* 086F9C 7F05246C AD01FFF4 */ sw $at, -0xc($t0) +/* 086FA0 7F052470 8D21FFF8 */ lw $at, -8($t1) +/* 086FA4 7F052474 AD01FFF8 */ sw $at, -8($t0) +/* 086FA8 7F052478 8D21FFFC */ lw $at, -4($t1) +/* 086FAC 7F05247C 152BFFF8 */ bne $t1, $t3, .L7F052460 +/* 086FB0 7F052480 AD01FFFC */ sw $at, -4($t0) +/* 086FB4 7F052484 8D210000 */ lw $at, ($t1) +/* 086FB8 7F052488 00003025 */ move $a2, $zero +/* 086FBC 7F05248C AD010000 */ sw $at, ($t0) +/* 086FC0 7F052490 906C0001 */ lbu $t4, 1($v1) +/* 086FC4 7F052494 8CE4001C */ lw $a0, 0x1c($a3) +/* 086FC8 7F052498 358D0002 */ ori $t5, $t4, 2 +/* 086FCC 7F05249C A06D0001 */ sb $t5, 1($v1) +/* 086FD0 7F0524A0 0FC1B198 */ jal sub_GAME_7F06C660 +/* 086FD4 7F0524A4 8E25001C */ lw $a1, 0x1c($s1) +/* 086FD8 7F0524A8 8FAE00BC */ lw $t6, 0xbc($sp) +/* 086FDC 7F0524AC 24010001 */ li $at, 1 +/* 086FE0 7F0524B0 AFA20068 */ sw $v0, 0x68($sp) +/* 086FE4 7F0524B4 15C10009 */ bne $t6, $at, .L7F0524DC +/* 086FE8 7F0524B8 27A50020 */ addiu $a1, $sp, 0x20 +/* 086FEC 7F0524BC 3C018005 */ lui $at, %hi(D_800532F0) +/* 086FF0 7F0524C0 0FC161A2 */ jal sub_GAME_7F058688 +/* 086FF4 7F0524C4 C42C32F0 */ lwc1 $f12, %lo(D_800532F0)($at) +/* 086FF8 7F0524C8 8FA40068 */ lw $a0, 0x68($sp) +/* 086FFC 7F0524CC 0FC1601A */ jal sub_GAME_7F058068 +/* 087000 7F0524D0 27A50020 */ addiu $a1, $sp, 0x20 +/* 087004 7F0524D4 27AF0020 */ addiu $t7, $sp, 0x20 +/* 087008 7F0524D8 AFAF0068 */ sw $t7, 0x68($sp) +.L7F0524DC: +/* 08700C 7F0524DC 8E380008 */ lw $t8, 8($s1) +/* 087010 7F0524E0 8704000E */ lh $a0, 0xe($t8) +/* 087014 7F0524E4 0004C980 */ sll $t9, $a0, 6 +/* 087018 7F0524E8 0FC2F5C5 */ jal sub_GAME_7F0BD714 +/* 08701C 7F0524EC 03202025 */ move $a0, $t9 +/* 087020 7F0524F0 AFA20078 */ sw $v0, 0x78($sp) +/* 087024 7F0524F4 27A40068 */ addiu $a0, $sp, 0x68 +/* 087028 7F0524F8 0FC1BC92 */ jal instcalcmatrices +/* 08702C 7F0524FC 02202825 */ move $a1, $s1 +/* 087030 7F052500 8FA200C0 */ lw $v0, 0xc0($sp) +/* 087034 7F052504 5040000F */ beql $v0, $zero, .L7F052544 +/* 087038 7F052508 8FBF001C */ lw $ra, 0x1c($sp) +/* 08703C 7F05250C 8E0A0064 */ lw $t2, 0x64($s0) +/* 087040 7F052510 02202825 */ move $a1, $s1 +/* 087044 7F052514 314B0080 */ andi $t3, $t2, 0x80 +/* 087048 7F052518 5560000A */ bnezl $t3, .L7F052544 +/* 08704C 7F05251C 8FBF001C */ lw $ra, 0x1c($sp) +/* 087050 7F052520 0FC1AC48 */ jal sub_GAME_7F06B120 +/* 087054 7F052524 8C440000 */ lw $a0, ($v0) +/* 087058 7F052528 8FA900C0 */ lw $t1, 0xc0($sp) +/* 08705C 7F05252C 10000004 */ b .L7F052540 +/* 087060 7F052530 AD220000 */ sw $v0, ($t1) +.L7F052534: +/* 087064 7F052534 90480001 */ lbu $t0, 1($v0) +.L7F052538: +/* 087068 7F052538 310CFFFD */ andi $t4, $t0, 0xfffd +/* 08706C 7F05253C A04C0001 */ sb $t4, 1($v0) +.L7F052540: +/* 087070 7F052540 8FBF001C */ lw $ra, 0x1c($sp) +.L7F052544: +/* 087074 7F052544 8FB00014 */ lw $s0, 0x14($sp) +/* 087078 7F052548 8FB10018 */ lw $s1, 0x18($sp) +/* 08707C 7F05254C 03E00008 */ jr $ra +/* 087080 7F052550 27BD00B8 */ addiu $sp, $sp, 0xb8 +) +#endif + + + + + +#ifdef NONMATCHING +void redirect_object_collectability_routines(void) { + +} +#else +GLOBAL_ASM( +.text +glabel redirect_object_collectability_routines +/* 087084 7F052554 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 087088 7F052558 AFBF0014 */ sw $ra, 0x14($sp) +/* 08708C 7F05255C 0FC141B7 */ jal object_collectability_routines +/* 087090 7F052560 00000000 */ nop +/* 087094 7F052564 8FBF0014 */ lw $ra, 0x14($sp) +/* 087098 7F052568 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08709C 7F05256C 03E00008 */ jr $ra +/* 0870A0 7F052570 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F052574(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F052574 +/* 0870A4 7F052574 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0870A8 7F052578 AFBF0014 */ sw $ra, 0x14($sp) +/* 0870AC 7F05257C AFA50024 */ sw $a1, 0x24($sp) +/* 0870B0 7F052580 8C820004 */ lw $v0, 4($a0) +/* 0870B4 7F052584 8C460014 */ lw $a2, 0x14($v0) +/* 0870B8 7F052588 50C0001B */ beql $a2, $zero, .L7F0525F8 +/* 0870BC 7F05258C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0870C0 7F052590 8CC20008 */ lw $v0, 8($a2) +/* 0870C4 7F052594 3C0E8004 */ lui $t6, %hi(prop_weapon_related) +/* 0870C8 7F052598 25CEC4FC */ addiu $t6, %lo(prop_weapon_related) # addiu $t6, $t6, -0x3b04 +/* 0870CC 7F05259C 8C4F0004 */ lw $t7, 4($v0) +/* 0870D0 7F0525A0 55CF0015 */ bnel $t6, $t7, .L7F0525F8 +/* 0870D4 7F0525A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0870D8 7F0525A8 8C430008 */ lw $v1, 8($v0) +/* 0870DC 7F0525AC 00C02025 */ move $a0, $a2 +/* 0870E0 7F0525B0 8C650000 */ lw $a1, ($v1) +/* 0870E4 7F0525B4 50A00009 */ beql $a1, $zero, .L7F0525DC +/* 0870E8 7F0525B8 8C650008 */ lw $a1, 8($v1) +/* 0870EC 7F0525BC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 0870F0 7F0525C0 AFA60018 */ sw $a2, 0x18($sp) +/* 0870F4 7F0525C4 8FB80024 */ lw $t8, 0x24($sp) +/* 0870F8 7F0525C8 8FA60018 */ lw $a2, 0x18($sp) +/* 0870FC 7F0525CC A4580000 */ sh $t8, ($v0) +/* 087100 7F0525D0 8CD90008 */ lw $t9, 8($a2) +/* 087104 7F0525D4 8F230008 */ lw $v1, 8($t9) +/* 087108 7F0525D8 8C650008 */ lw $a1, 8($v1) +.L7F0525DC: +/* 08710C 7F0525DC 50A00006 */ beql $a1, $zero, .L7F0525F8 +/* 087110 7F0525E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 087114 7F0525E4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 087118 7F0525E8 00C02025 */ move $a0, $a2 +/* 08711C 7F0525EC 8FA80024 */ lw $t0, 0x24($sp) +/* 087120 7F0525F0 AC480000 */ sw $t0, ($v0) +/* 087124 7F0525F4 8FBF0014 */ lw $ra, 0x14($sp) +.L7F0525F8: +/* 087128 7F0525F8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08712C 7F0525FC 03E00008 */ jr $ra +/* 087130 7F052600 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F052604(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*HACK*/ +/*D:800532F4*/ +glabel jpt_hat_worn +.word model_hat_fur +.word model_hat_fur +.word model_hat_fur +.word model_hat_greencap +.word model_hat_greencap +.text +glabel sub_GAME_7F052604 +/* 087134 7F052604 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 087138 7F052608 AFBF0014 */ sw $ra, 0x14($sp) +/* 08713C 7F05260C 8C820004 */ lw $v0, 4($a0) +/* 087140 7F052610 8C460014 */ lw $a2, 0x14($v0) +/* 087144 7F052614 50C00017 */ beql $a2, $zero, .L7F052674 +/* 087148 7F052618 00001025 */ move $v0, $zero +/* 08714C 7F05261C 8CC20008 */ lw $v0, 8($a2) +/* 087150 7F052620 3C0E8004 */ lui $t6, %hi(prop_weapon_related) +/* 087154 7F052624 25CEC4FC */ addiu $t6, %lo(prop_weapon_related) # addiu $t6, $t6, -0x3b04 +/* 087158 7F052628 8C4F0004 */ lw $t7, 4($v0) +/* 08715C 7F05262C 55CF0011 */ bnel $t6, $t7, .L7F052674 +/* 087160 7F052630 00001025 */ move $v0, $zero +/* 087164 7F052634 8C430008 */ lw $v1, 8($v0) +/* 087168 7F052638 8C650000 */ lw $a1, ($v1) +/* 08716C 7F05263C 50A00006 */ beql $a1, $zero, .L7F052658 +/* 087170 7F052640 8C650008 */ lw $a1, 8($v1) +/* 087174 7F052644 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 087178 7F052648 00C02025 */ move $a0, $a2 +/* 08717C 7F05264C 10000009 */ b .L7F052674 +/* 087180 7F052650 84420000 */ lh $v0, ($v0) +/* 087184 7F052654 8C650008 */ lw $a1, 8($v1) +.L7F052658: +/* 087188 7F052658 50A00006 */ beql $a1, $zero, .L7F052674 +/* 08718C 7F05265C 00001025 */ move $v0, $zero +/* 087190 7F052660 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 087194 7F052664 00C02025 */ move $a0, $a2 +/* 087198 7F052668 10000002 */ b .L7F052674 +/* 08719C 7F05266C 8C420000 */ lw $v0, ($v0) +/* 0871A0 7F052670 00001025 */ move $v0, $zero +.L7F052674: +/* 0871A4 7F052674 8FBF0014 */ lw $ra, 0x14($sp) +/* 0871A8 7F052678 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0871AC 7F05267C 03E00008 */ jr $ra +/* 0871B0 7F052680 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void get_hat_model(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:800532F4*/ +/*glabel jpt_hat_worn*/ +/*.word model_hat_fur*/ +/*.word model_hat_fur*/ +/*.word model_hat_fur*/ +/*.word model_hat_greencap*/ +/*.word model_hat_greencap*/ +.word model_hat_combat_helmet +.word model_hat_combat_helmet +.word model_hat_moonraker_headgear +.word model_hat_beret +.word model_hat_beret +.word model_hat_beret +.word model_hat_officerhat + +.text +glabel get_hat_model +/* 0871B4 7F052684 8C820004 */ lw $v0, 4($a0) +/* 0871B8 7F052688 844E0004 */ lh $t6, 4($v0) +/* 0871BC 7F05268C 2402FFFF */ li $v0, -1 +/* 0871C0 7F052690 25CFFF2C */ addiu $t7, $t6, -0xd4 +/* 0871C4 7F052694 2DE1000C */ sltiu $at, $t7, 0xc +/* 0871C8 7F052698 10200012 */ beqz $at, .L7F0526E4 +/* 0871CC 7F05269C 000F7880 */ sll $t7, $t7, 2 +/* 0871D0 7F0526A0 3C018005 */ lui $at, %hi(jpt_hat_worn) +/* 0871D4 7F0526A4 002F0821 */ addu $at, $at, $t7 +/* 0871D8 7F0526A8 8C2F32F4 */ lw $t7, %lo(jpt_hat_worn)($at) +/* 0871DC 7F0526AC 01E00008 */ jr $t7 +/* 0871E0 7F0526B0 00000000 */ nop +model_hat_fur: +/* 0871E4 7F0526B4 03E00008 */ jr $ra +/* 0871E8 7F0526B8 24020004 */ li $v0, 4 + +model_hat_greencap: +/* 0871EC 7F0526BC 03E00008 */ jr $ra +/* 0871F0 7F0526C0 24020001 */ li $v0, 1 + +model_hat_combat_helmet: +/* 0871F4 7F0526C4 03E00008 */ jr $ra +/* 0871F8 7F0526C8 24020003 */ li $v0, 3 + +model_hat_moonraker_headgear: +/* 0871FC 7F0526CC 03E00008 */ jr $ra +/* 087200 7F0526D0 24020005 */ li $v0, 5 + +model_hat_beret: +/* 087204 7F0526D4 03E00008 */ jr $ra +/* 087208 7F0526D8 00001025 */ move $v0, $zero + +model_hat_officerhat: +/* 08720C 7F0526DC 03E00008 */ jr $ra +/* 087210 7F0526E0 24020002 */ li $v0, 2 + +model_hat_default: +.L7F0526E4: +/* 087214 7F0526E4 03E00008 */ jr $ra +/* 087218 7F0526E8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0526EC(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_80053324 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053328 +.word 0x40c90fdb /*6.2831855*/ +glabel D_8005332C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053330 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053334 +.word 0x461c4000 /*10000.0*/ +glabel D_80053338 +.word 0x3ecccccd /*0.40000001*/ +glabel D_8005333C +.word 0x3ecccccd /*0.40000001*/ +glabel D_80053340 +.word 0x461c4000 /*10000.0*/ +glabel D_80053344 +.word 0x46b1de00 /*22767.0*/ +glabel D_80053348 +.word 0x459c4000 /*5000.0*/ +.text +glabel sub_GAME_7F0526EC +/* 08721C 7F0526EC 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 087220 7F0526F0 AFBF001C */ sw $ra, 0x1c($sp) +/* 087224 7F0526F4 AFB00018 */ sw $s0, 0x18($sp) +/* 087228 7F0526F8 AFA500A4 */ sw $a1, 0xa4($sp) +/* 08722C 7F0526FC 9482009A */ lhu $v0, 0x9a($a0) +/* 087230 7F052700 24010005 */ li $at, 5 +/* 087234 7F052704 00808025 */ move $s0, $a0 +/* 087238 7F052708 10410003 */ beq $v0, $at, .L7F052718 +/* 08723C 7F05270C 24010009 */ li $at, 9 +/* 087240 7F052710 544100CA */ bnel $v0, $at, .L7F052A3C +/* 087244 7F052714 24010006 */ li $at, 6 +.L7F052718: +/* 087248 7F052718 86190006 */ lh $t9, 6($s0) +/* 08724C 7F05271C 3C098007 */ lui $t1, %hi(ptr_2xxxpresets) +/* 087250 7F052720 8D295D1C */ lw $t1, %lo(ptr_2xxxpresets)($t1) +/* 087254 7F052724 00194100 */ sll $t0, $t9, 4 +/* 087258 7F052728 01194021 */ addu $t0, $t0, $t9 +/* 08725C 7F05272C 00084080 */ sll $t0, $t0, 2 +/* 087260 7F052730 01091021 */ addu $v0, $t0, $t1 +/* 087264 7F052734 C4460010 */ lwc1 $f6, 0x10($v0) +/* 087268 7F052738 C4480020 */ lwc1 $f8, 0x20($v0) +/* 08726C 7F05273C C452001C */ lwc1 $f18, 0x1c($v0) +/* 087270 7F052740 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 087274 7F052744 46083102 */ mul.s $f4, $f6, $f8 +/* 087278 7F052748 24010009 */ li $at, 9 +/* 08727C 7F05274C 460A9402 */ mul.s $f16, $f18, $f10 +/* 087280 7F052750 46102181 */ sub.s $f6, $f4, $f16 +/* 087284 7F052754 E7A60038 */ swc1 $f6, 0x38($sp) +/* 087288 7F052758 C4480014 */ lwc1 $f8, 0x14($v0) +/* 08728C 7F05275C C4520018 */ lwc1 $f18, 0x18($v0) +/* 087290 7F052760 C450000C */ lwc1 $f16, 0xc($v0) +/* 087294 7F052764 C4440020 */ lwc1 $f4, 0x20($v0) +/* 087298 7F052768 46124282 */ mul.s $f10, $f8, $f18 +/* 08729C 7F05276C 00000000 */ nop +/* 0872A0 7F052770 46102202 */ mul.s $f8, $f4, $f16 +/* 0872A4 7F052774 46085481 */ sub.s $f18, $f10, $f8 +/* 0872A8 7F052778 E7B2003C */ swc1 $f18, 0x3c($sp) +/* 0872AC 7F05277C C444000C */ lwc1 $f4, 0xc($v0) +/* 0872B0 7F052780 C450001C */ lwc1 $f16, 0x1c($v0) +/* 0872B4 7F052784 C4480018 */ lwc1 $f8, 0x18($v0) +/* 0872B8 7F052788 46102282 */ mul.s $f10, $f4, $f16 +/* 0872BC 7F05278C C4440010 */ lwc1 $f4, 0x10($v0) +/* 0872C0 7F052790 46044402 */ mul.s $f16, $f8, $f4 +/* 0872C4 7F052794 46105201 */ sub.s $f8, $f10, $f16 +/* 0872C8 7F052798 E7A80040 */ swc1 $f8, 0x40($sp) +/* 0872CC 7F05279C C44A0034 */ lwc1 $f10, 0x34($v0) +/* 0872D0 7F0527A0 C444000C */ lwc1 $f4, 0xc($v0) +/* 0872D4 7F0527A4 460A2402 */ mul.s $f16, $f4, $f10 +/* 0872D8 7F0527A8 C4440000 */ lwc1 $f4, ($v0) +/* 0872DC 7F0527AC 46048280 */ add.s $f10, $f16, $f4 +/* 0872E0 7F0527B0 E7AA0054 */ swc1 $f10, 0x54($sp) +/* 0872E4 7F0527B4 C4440034 */ lwc1 $f4, 0x34($v0) +/* 0872E8 7F0527B8 C4500010 */ lwc1 $f16, 0x10($v0) +/* 0872EC 7F0527BC 46048402 */ mul.s $f16, $f16, $f4 +/* 0872F0 7F0527C0 C4440004 */ lwc1 $f4, 4($v0) +/* 0872F4 7F0527C4 46048400 */ add.s $f16, $f16, $f4 +/* 0872F8 7F0527C8 E7B00058 */ swc1 $f16, 0x58($sp) +/* 0872FC 7F0527CC C4440014 */ lwc1 $f4, 0x14($v0) +/* 087300 7F0527D0 E7A60020 */ swc1 $f6, 0x20($sp) +/* 087304 7F0527D4 C4460034 */ lwc1 $f6, 0x34($v0) +/* 087308 7F0527D8 46062102 */ mul.s $f4, $f4, $f6 +/* 08730C 7F0527DC C4460008 */ lwc1 $f6, 8($v0) +/* 087310 7F0527E0 46062100 */ add.s $f4, $f4, $f6 +/* 087314 7F0527E4 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 087318 7F0527E8 E7A4005C */ swc1 $f4, 0x5c($sp) +/* 08731C 7F0527EC 960A009A */ lhu $t2, 0x9a($s0) +/* 087320 7F0527F0 15410010 */ bne $t2, $at, .L7F052834 +/* 087324 7F0527F4 00000000 */ nop +/* 087328 7F0527F8 E7B20020 */ swc1 $f18, 0x20($sp) +/* 08732C 7F0527FC C4520030 */ lwc1 $f18, 0x30($v0) +/* 087330 7F052800 46123182 */ mul.s $f6, $f6, $f18 +/* 087334 7F052804 46065480 */ add.s $f18, $f10, $f6 +/* 087338 7F052808 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 08733C 7F05280C E7B20054 */ swc1 $f18, 0x54($sp) +/* 087340 7F052810 C4460030 */ lwc1 $f6, 0x30($v0) +/* 087344 7F052814 46065482 */ mul.s $f18, $f10, $f6 +/* 087348 7F052818 46128280 */ add.s $f10, $f16, $f18 +/* 08734C 7F05281C E7AA0058 */ swc1 $f10, 0x58($sp) +/* 087350 7F052820 C4460030 */ lwc1 $f6, 0x30($v0) +/* 087354 7F052824 46064402 */ mul.s $f16, $f8, $f6 +/* 087358 7F052828 46102480 */ add.s $f18, $f4, $f16 +/* 08735C 7F05282C 1000002A */ b .L7F0528D8 +/* 087360 7F052830 E7B2005C */ swc1 $f18, 0x5c($sp) +.L7F052834: +/* 087364 7F052834 8E0B0008 */ lw $t3, 8($s0) +/* 087368 7F052838 C7AA0038 */ lwc1 $f10, 0x38($sp) +/* 08736C 7F05283C C7A60038 */ lwc1 $f6, 0x38($sp) +/* 087370 7F052840 000B6080 */ sll $t4, $t3, 2 +/* 087374 7F052844 05830014 */ bgezl $t4, .L7F052898 +/* 087378 7F052848 C450002C */ lwc1 $f16, 0x2c($v0) +/* 08737C 7F05284C C4480030 */ lwc1 $f8, 0x30($v0) +/* 087380 7F052850 C7A40054 */ lwc1 $f4, 0x54($sp) +/* 087384 7F052854 C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 087388 7F052858 46085182 */ mul.s $f6, $f10, $f8 +/* 08738C 7F05285C 46062400 */ add.s $f16, $f4, $f6 +/* 087390 7F052860 C7A40058 */ lwc1 $f4, 0x58($sp) +/* 087394 7F052864 E7B00054 */ swc1 $f16, 0x54($sp) +/* 087398 7F052868 C44A0030 */ lwc1 $f10, 0x30($v0) +/* 08739C 7F05286C C7B00040 */ lwc1 $f16, 0x40($sp) +/* 0873A0 7F052870 460A9202 */ mul.s $f8, $f18, $f10 +/* 0873A4 7F052874 46082180 */ add.s $f6, $f4, $f8 +/* 0873A8 7F052878 C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 0873AC 7F05287C E7A60058 */ swc1 $f6, 0x58($sp) +/* 0873B0 7F052880 C4520030 */ lwc1 $f18, 0x30($v0) +/* 0873B4 7F052884 46128282 */ mul.s $f10, $f16, $f18 +/* 0873B8 7F052888 460A2200 */ add.s $f8, $f4, $f10 +/* 0873BC 7F05288C 10000012 */ b .L7F0528D8 +/* 0873C0 7F052890 E7A8005C */ swc1 $f8, 0x5c($sp) +/* 0873C4 7F052894 C450002C */ lwc1 $f16, 0x2c($v0) +.L7F052898: +/* 0873C8 7F052898 C7A40054 */ lwc1 $f4, 0x54($sp) +/* 0873CC 7F05289C C7A8003C */ lwc1 $f8, 0x3c($sp) +/* 0873D0 7F0528A0 46103482 */ mul.s $f18, $f6, $f16 +/* 0873D4 7F0528A4 46122280 */ add.s $f10, $f4, $f18 +/* 0873D8 7F0528A8 C7A40058 */ lwc1 $f4, 0x58($sp) +/* 0873DC 7F0528AC E7AA0054 */ swc1 $f10, 0x54($sp) +/* 0873E0 7F0528B0 C446002C */ lwc1 $f6, 0x2c($v0) +/* 0873E4 7F0528B4 C7AA0040 */ lwc1 $f10, 0x40($sp) +/* 0873E8 7F0528B8 46064402 */ mul.s $f16, $f8, $f6 +/* 0873EC 7F0528BC 46102480 */ add.s $f18, $f4, $f16 +/* 0873F0 7F0528C0 C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 0873F4 7F0528C4 E7B20058 */ swc1 $f18, 0x58($sp) +/* 0873F8 7F0528C8 C448002C */ lwc1 $f8, 0x2c($v0) +/* 0873FC 7F0528CC 46085182 */ mul.s $f6, $f10, $f8 +/* 087400 7F0528D0 46062400 */ add.s $f16, $f4, $f6 +/* 087404 7F0528D4 E7B0005C */ swc1 $f16, 0x5c($sp) +.L7F0528D8: +/* 087408 7F0528D8 C6120058 */ lwc1 $f18, 0x58($s0) +/* 08740C 7F0528DC C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 087410 7F0528E0 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 087414 7F0528E4 26040018 */ addiu $a0, $s0, 0x18 +/* 087418 7F0528E8 460A9201 */ sub.s $f8, $f18, $f10 +/* 08741C 7F0528EC C7AA005C */ lwc1 $f10, 0x5c($sp) +/* 087420 7F0528F0 8FA500A4 */ lw $a1, 0xa4($sp) +/* 087424 7F0528F4 E7A80048 */ swc1 $f8, 0x48($sp) +/* 087428 7F0528F8 C604005C */ lwc1 $f4, 0x5c($s0) +/* 08742C 7F0528FC 46062401 */ sub.s $f16, $f4, $f6 +/* 087430 7F052900 E7B0004C */ swc1 $f16, 0x4c($sp) +/* 087434 7F052904 C6120060 */ lwc1 $f18, 0x60($s0) +/* 087438 7F052908 460A9201 */ sub.s $f8, $f18, $f10 +/* 08743C 7F05290C 0FC16008 */ jal sub_GAME_7F058020 +/* 087440 7F052910 E7A80050 */ swc1 $f8, 0x50($sp) +/* 087444 7F052914 27A40048 */ addiu $a0, $sp, 0x48 +/* 087448 7F052918 0FC16259 */ jal init_something_copy_posdata_to_it +/* 08744C 7F05291C 27A50060 */ addiu $a1, $sp, 0x60 +/* 087450 7F052920 27A40060 */ addiu $a0, $sp, 0x60 +/* 087454 7F052924 0FC1601A */ jal sub_GAME_7F058068 +/* 087458 7F052928 8FA500A4 */ lw $a1, 0xa4($sp) +/* 08745C 7F05292C 960D009A */ lhu $t5, 0x9a($s0) +/* 087460 7F052930 24010009 */ li $at, 9 +/* 087464 7F052934 55A1001D */ bnel $t5, $at, .L7F0529AC +/* 087468 7F052938 8E180008 */ lw $t8, 8($s0) +/* 08746C 7F05293C 8E0E0008 */ lw $t6, 8($s0) +/* 087470 7F052940 3C018005 */ lui $at, %hi(D_80053328) +/* 087474 7F052944 000E7880 */ sll $t7, $t6, 2 +/* 087478 7F052948 05E1000D */ bgez $t7, .L7F052980 +/* 08747C 7F05294C 00000000 */ nop +/* 087480 7F052950 3C018005 */ lui $at, %hi(D_80053324) +/* 087484 7F052954 C4203324 */ lwc1 $f0, %lo(D_80053324)($at) +/* 087488 7F052958 C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 08748C 7F05295C 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 087490 7F052960 44818000 */ mtc1 $at, $f16 +/* 087494 7F052964 46002182 */ mul.s $f6, $f4, $f0 +/* 087498 7F052968 27A50060 */ addiu $a1, $sp, 0x60 +/* 08749C 7F05296C 46103483 */ div.s $f18, $f6, $f16 +/* 0874A0 7F052970 0FC161A2 */ jal sub_GAME_7F058688 +/* 0874A4 7F052974 46120301 */ sub.s $f12, $f0, $f18 +/* 0874A8 7F052978 10000025 */ b .L7F052A10 +/* 0874AC 7F05297C 27A40060 */ addiu $a0, $sp, 0x60 +.L7F052980: +/* 0874B0 7F052980 C4203328 */ lwc1 $f0, %lo(D_80053328)($at) +/* 0874B4 7F052984 C60A00B4 */ lwc1 $f10, 0xb4($s0) +/* 0874B8 7F052988 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 0874BC 7F05298C 44812000 */ mtc1 $at, $f4 +/* 0874C0 7F052990 46005202 */ mul.s $f8, $f10, $f0 +/* 0874C4 7F052994 27A50060 */ addiu $a1, $sp, 0x60 +/* 0874C8 7F052998 0FC161A2 */ jal sub_GAME_7F058688 +/* 0874CC 7F05299C 46044303 */ div.s $f12, $f8, $f4 +/* 0874D0 7F0529A0 1000001B */ b .L7F052A10 +/* 0874D4 7F0529A4 27A40060 */ addiu $a0, $sp, 0x60 +/* 0874D8 7F0529A8 8E180008 */ lw $t8, 8($s0) +.L7F0529AC: +/* 0874DC 7F0529AC 3C018005 */ lui $at, %hi(D_80053330) +/* 0874E0 7F0529B0 0018C880 */ sll $t9, $t8, 2 +/* 0874E4 7F0529B4 0721000D */ bgez $t9, .L7F0529EC +/* 0874E8 7F0529B8 00000000 */ nop +/* 0874EC 7F0529BC 3C018005 */ lui $at, %hi(D_8005332C) +/* 0874F0 7F0529C0 C420332C */ lwc1 $f0, %lo(D_8005332C)($at) +/* 0874F4 7F0529C4 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 0874F8 7F0529C8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 0874FC 7F0529CC 44819000 */ mtc1 $at, $f18 +/* 087500 7F0529D0 46003402 */ mul.s $f16, $f6, $f0 +/* 087504 7F0529D4 27A50060 */ addiu $a1, $sp, 0x60 +/* 087508 7F0529D8 46128283 */ div.s $f10, $f16, $f18 +/* 08750C 7F0529DC 0FC1617F */ jal sub_GAME_7F0585FC +/* 087510 7F0529E0 460A0301 */ sub.s $f12, $f0, $f10 +/* 087514 7F0529E4 1000000A */ b .L7F052A10 +/* 087518 7F0529E8 27A40060 */ addiu $a0, $sp, 0x60 +.L7F0529EC: +/* 08751C 7F0529EC C4203330 */ lwc1 $f0, %lo(D_80053330)($at) +/* 087520 7F0529F0 C60800B4 */ lwc1 $f8, 0xb4($s0) +/* 087524 7F0529F4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 087528 7F0529F8 44813000 */ mtc1 $at, $f6 +/* 08752C 7F0529FC 46004102 */ mul.s $f4, $f8, $f0 +/* 087530 7F052A00 27A50060 */ addiu $a1, $sp, 0x60 +/* 087534 7F052A04 0FC1617F */ jal sub_GAME_7F0585FC +/* 087538 7F052A08 46062303 */ div.s $f12, $f4, $f6 +/* 08753C 7F052A0C 27A40060 */ addiu $a0, $sp, 0x60 +.L7F052A10: +/* 087540 7F052A10 0FC1601A */ jal sub_GAME_7F058068 +/* 087544 7F052A14 8FA500A4 */ lw $a1, 0xa4($sp) +/* 087548 7F052A18 27A40054 */ addiu $a0, $sp, 0x54 +/* 08754C 7F052A1C 0FC16259 */ jal init_something_copy_posdata_to_it +/* 087550 7F052A20 27A50060 */ addiu $a1, $sp, 0x60 +/* 087554 7F052A24 27A40060 */ addiu $a0, $sp, 0x60 +/* 087558 7F052A28 0FC1601A */ jal sub_GAME_7F058068 +/* 08755C 7F052A2C 8FA500A4 */ lw $a1, 0xa4($sp) +/* 087560 7F052A30 10000027 */ b .L7F052AD0 +/* 087564 7F052A34 96080098 */ lhu $t0, 0x98($s0) +/* 087568 7F052A38 24010006 */ li $at, 6 +.L7F052A3C: +/* 08756C 7F052A3C 10410004 */ beq $v0, $at, .L7F052A50 +/* 087570 7F052A40 26040018 */ addiu $a0, $s0, 0x18 +/* 087574 7F052A44 24010007 */ li $at, 7 +/* 087578 7F052A48 54410009 */ bnel $v0, $at, .L7F052A70 +/* 08757C 7F052A4C C61000A8 */ lwc1 $f16, 0xa8($s0) +.L7F052A50: +/* 087580 7F052A50 0FC16008 */ jal sub_GAME_7F058020 +/* 087584 7F052A54 8FA500A4 */ lw $a1, 0xa4($sp) +/* 087588 7F052A58 26040058 */ addiu $a0, $s0, 0x58 +/* 08758C 7F052A5C 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 087590 7F052A60 8FA500A4 */ lw $a1, 0xa4($sp) +/* 087594 7F052A64 1000001A */ b .L7F052AD0 +/* 087598 7F052A68 96080098 */ lhu $t0, 0x98($s0) +/* 08759C 7F052A6C C61000A8 */ lwc1 $f16, 0xa8($s0) +.L7F052A70: +/* 0875A0 7F052A70 C61200B4 */ lwc1 $f18, 0xb4($s0) +/* 0875A4 7F052A74 C6080058 */ lwc1 $f8, 0x58($s0) +/* 0875A8 7F052A78 26040018 */ addiu $a0, $s0, 0x18 +/* 0875AC 7F052A7C 46128282 */ mul.s $f10, $f16, $f18 +/* 0875B0 7F052A80 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0875B4 7F052A84 46085100 */ add.s $f4, $f10, $f8 +/* 0875B8 7F052A88 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 0875BC 7F052A8C C61000B4 */ lwc1 $f16, 0xb4($s0) +/* 0875C0 7F052A90 C60600AC */ lwc1 $f6, 0xac($s0) +/* 0875C4 7F052A94 C60A005C */ lwc1 $f10, 0x5c($s0) +/* 0875C8 7F052A98 46103482 */ mul.s $f18, $f6, $f16 +/* 0875CC 7F052A9C 460A9200 */ add.s $f8, $f18, $f10 +/* 0875D0 7F052AA0 E7A80030 */ swc1 $f8, 0x30($sp) +/* 0875D4 7F052AA4 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 0875D8 7F052AA8 C60400B0 */ lwc1 $f4, 0xb0($s0) +/* 0875DC 7F052AAC C6120060 */ lwc1 $f18, 0x60($s0) +/* 0875E0 7F052AB0 46062402 */ mul.s $f16, $f4, $f6 +/* 0875E4 7F052AB4 46128280 */ add.s $f10, $f16, $f18 +/* 0875E8 7F052AB8 0FC16008 */ jal sub_GAME_7F058020 +/* 0875EC 7F052ABC E7AA0034 */ swc1 $f10, 0x34($sp) +/* 0875F0 7F052AC0 27A4002C */ addiu $a0, $sp, 0x2c +/* 0875F4 7F052AC4 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 +/* 0875F8 7F052AC8 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0875FC 7F052ACC 96080098 */ lhu $t0, 0x98($s0) +.L7F052AD0: +/* 087600 7F052AD0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 087604 7F052AD4 31090008 */ andi $t1, $t0, 8 +/* 087608 7F052AD8 51200005 */ beql $t1, $zero, .L7F052AF0 +/* 08760C 7F052ADC 8FBF001C */ lw $ra, 0x1c($sp) +/* 087610 7F052AE0 44816000 */ mtc1 $at, $f12 +/* 087614 7F052AE4 0FC16293 */ jal sub_GAME_7F058A4C +/* 087618 7F052AE8 8FA500A4 */ lw $a1, 0xa4($sp) +/* 08761C 7F052AEC 8FBF001C */ lw $ra, 0x1c($sp) +.L7F052AF0: +/* 087620 7F052AF0 8FB00018 */ lw $s0, 0x18($sp) +/* 087624 7F052AF4 27BD00A0 */ addiu $sp, $sp, 0xa0 +/* 087628 7F052AF8 03E00008 */ jr $ra +/* 08762C 7F052AFC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F052B00(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F052B00 +/* 087630 7F052B00 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 087634 7F052B04 AFBF001C */ sw $ra, 0x1c($sp) +/* 087638 7F052B08 AFB00018 */ sw $s0, 0x18($sp) +/* 08763C 7F052B0C 8C8E0014 */ lw $t6, 0x14($a0) +/* 087640 7F052B10 248300D0 */ addiu $v1, $a0, 0xd0 +/* 087644 7F052B14 00808025 */ move $s0, $a0 +/* 087648 7F052B18 8DCF0008 */ lw $t7, 8($t6) +/* 08764C 7F052B1C 27A5002C */ addiu $a1, $sp, 0x2c +/* 087650 7F052B20 8DF80000 */ lw $t8, ($t7) +/* 087654 7F052B24 8F190014 */ lw $t9, 0x14($t8) +/* 087658 7F052B28 8F220004 */ lw $v0, 4($t9) +/* 08765C 7F052B2C 8C410000 */ lw $at, ($v0) +/* 087660 7F052B30 AC610000 */ sw $at, ($v1) +/* 087664 7F052B34 8C4A0004 */ lw $t2, 4($v0) +/* 087668 7F052B38 AC6A0004 */ sw $t2, 4($v1) +/* 08766C 7F052B3C 8C410008 */ lw $at, 8($v0) +/* 087670 7F052B40 AC610008 */ sw $at, 8($v1) +/* 087674 7F052B44 8C4A000C */ lw $t2, 0xc($v0) +/* 087678 7F052B48 AC6A000C */ sw $t2, 0xc($v1) +/* 08767C 7F052B4C 8C410010 */ lw $at, 0x10($v0) +/* 087680 7F052B50 AC610010 */ sw $at, 0x10($v1) +/* 087684 7F052B54 8C4A0014 */ lw $t2, 0x14($v0) +/* 087688 7F052B58 AC6A0014 */ sw $t2, 0x14($v1) +/* 08768C 7F052B5C 8C410018 */ lw $at, 0x18($v0) +/* 087690 7F052B60 AC610018 */ sw $at, 0x18($v1) +/* 087694 7F052B64 948B0098 */ lhu $t3, 0x98($a0) +/* 087698 7F052B68 316C0004 */ andi $t4, $t3, 4 +/* 08769C 7F052B6C 51800015 */ beql $t4, $zero, .L7F052BC4 +/* 0876A0 7F052B70 C61000B4 */ lwc1 $f16, 0xb4($s0) +/* 0876A4 7F052B74 948D009A */ lhu $t5, 0x9a($a0) +/* 0876A8 7F052B78 24010004 */ li $at, 4 +/* 0876AC 7F052B7C 55A1000A */ bnel $t5, $at, .L7F052BA8 +/* 0876B0 7F052B80 C4400004 */ lwc1 $f0, 4($v0) +/* 0876B4 7F052B84 C4400010 */ lwc1 $f0, 0x10($v0) +/* 0876B8 7F052B88 C444000C */ lwc1 $f4, 0xc($v0) +/* 0876BC 7F052B8C C48800B4 */ lwc1 $f8, 0xb4($a0) +/* 0876C0 7F052B90 46002181 */ sub.s $f6, $f4, $f0 +/* 0876C4 7F052B94 46083282 */ mul.s $f10, $f6, $f8 +/* 0876C8 7F052B98 460A0400 */ add.s $f16, $f0, $f10 +/* 0876CC 7F052B9C 10000008 */ b .L7F052BC0 +/* 0876D0 7F052BA0 E49000E0 */ swc1 $f16, 0xe0($a0) +/* 0876D4 7F052BA4 C4400004 */ lwc1 $f0, 4($v0) +.L7F052BA8: +/* 0876D8 7F052BA8 C4520008 */ lwc1 $f18, 8($v0) +/* 0876DC 7F052BAC C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 0876E0 7F052BB0 46009101 */ sub.s $f4, $f18, $f0 +/* 0876E4 7F052BB4 46062202 */ mul.s $f8, $f4, $f6 +/* 0876E8 7F052BB8 46080280 */ add.s $f10, $f0, $f8 +/* 0876EC 7F052BBC E60A00D4 */ swc1 $f10, 0xd4($s0) +.L7F052BC0: +/* 0876F0 7F052BC0 C61000B4 */ lwc1 $f16, 0xb4($s0) +.L7F052BC4: +/* 0876F4 7F052BC4 C6120088 */ lwc1 $f18, 0x88($s0) +/* 0876F8 7F052BC8 02002025 */ move $a0, $s0 +/* 0876FC 7F052BCC 4610903E */ c.le.s $f18, $f16 +/* 087700 7F052BD0 00000000 */ nop +/* 087704 7F052BD4 45000004 */ bc1f .L7F052BE8 +/* 087708 7F052BD8 00000000 */ nop +/* 08770C 7F052BDC 8E0E0068 */ lw $t6, 0x68($s0) +/* 087710 7F052BE0 10000065 */ b .L7F052D78 +/* 087714 7F052BE4 ADC00000 */ sw $zero, ($t6) +.L7F052BE8: +/* 087718 7F052BE8 0FC149BB */ jal sub_GAME_7F0526EC +/* 08771C 7F052BEC AFA30028 */ sw $v1, 0x28($sp) +/* 087720 7F052BF0 8E070068 */ lw $a3, 0x68($s0) +/* 087724 7F052BF4 8FA40028 */ lw $a0, 0x28($sp) +/* 087728 7F052BF8 27A5002C */ addiu $a1, $sp, 0x2c +/* 08772C 7F052BFC 0FC0FD50 */ jal sub_GAME_7F03F540 +/* 087730 7F052C00 24E60004 */ addiu $a2, $a3, 4 +/* 087734 7F052C04 9602009A */ lhu $v0, 0x9a($s0) +/* 087738 7F052C08 24010004 */ li $at, 4 +/* 08773C 7F052C0C 8FA40028 */ lw $a0, 0x28($sp) +/* 087740 7F052C10 54410009 */ bnel $v0, $at, .L7F052C38 +/* 087744 7F052C14 24010008 */ li $at, 8 +/* 087748 7F052C18 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 08774C 7F052C1C 27A5002C */ addiu $a1, $sp, 0x2c +/* 087750 7F052C20 C604005C */ lwc1 $f4, 0x5c($s0) +/* 087754 7F052C24 8E0F0068 */ lw $t7, 0x68($s0) +/* 087758 7F052C28 46040180 */ add.s $f6, $f0, $f4 +/* 08775C 7F052C2C 1000001B */ b .L7F052C9C +/* 087760 7F052C30 E5E60048 */ swc1 $f6, 0x48($t7) +/* 087764 7F052C34 24010008 */ li $at, 8 +.L7F052C38: +/* 087768 7F052C38 14410008 */ bne $v0, $at, .L7F052C5C +/* 08776C 7F052C3C 8FA40028 */ lw $a0, 0x28($sp) +/* 087770 7F052C40 3C018005 */ lui $at, %hi(D_80053334) +/* 087774 7F052C44 C42A3334 */ lwc1 $f10, %lo(D_80053334)($at) +/* 087778 7F052C48 C608005C */ lwc1 $f8, 0x5c($s0) +/* 08777C 7F052C4C 8E180068 */ lw $t8, 0x68($s0) +/* 087780 7F052C50 460A4401 */ sub.s $f16, $f8, $f10 +/* 087784 7F052C54 10000011 */ b .L7F052C9C +/* 087788 7F052C58 E7100048 */ swc1 $f16, 0x48($t8) +.L7F052C5C: +/* 08778C 7F052C5C 0FC0FA6F */ jal sub_GAME_7F03E9BC +/* 087790 7F052C60 27A5002C */ addiu $a1, $sp, 0x2c +/* 087794 7F052C64 C7B20060 */ lwc1 $f18, 0x60($sp) +/* 087798 7F052C68 8E190068 */ lw $t9, 0x68($s0) +/* 08779C 7F052C6C 46120100 */ add.s $f4, $f0, $f18 +/* 0877A0 7F052C70 E7240048 */ swc1 $f4, 0x48($t9) +/* 0877A4 7F052C74 96090098 */ lhu $t1, 0x98($s0) +/* 0877A8 7F052C78 31280001 */ andi $t0, $t1, 1 +/* 0877AC 7F052C7C 51000008 */ beql $t0, $zero, .L7F052CA0 +/* 0877B0 7F052C80 9602009A */ lhu $v0, 0x9a($s0) +/* 0877B4 7F052C84 8E070068 */ lw $a3, 0x68($s0) +/* 0877B8 7F052C88 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 0877BC 7F052C8C 44814000 */ mtc1 $at, $f8 +/* 0877C0 7F052C90 C4E60048 */ lwc1 $f6, 0x48($a3) +/* 0877C4 7F052C94 46083281 */ sub.s $f10, $f6, $f8 +/* 0877C8 7F052C98 E4EA0048 */ swc1 $f10, 0x48($a3) +.L7F052C9C: +/* 0877CC 7F052C9C 9602009A */ lhu $v0, 0x9a($s0) +.L7F052CA0: +/* 0877D0 7F052CA0 24010006 */ li $at, 6 +/* 0877D4 7F052CA4 14410008 */ bne $v0, $at, .L7F052CC8 +/* 0877D8 7F052CA8 3C018005 */ lui $at, %hi(D_80053338) +/* 0877DC 7F052CAC C4303338 */ lwc1 $f16, %lo(D_80053338)($at) +/* 0877E0 7F052CB0 C6120084 */ lwc1 $f18, 0x84($s0) +/* 0877E4 7F052CB4 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 0877E8 7F052CB8 46128102 */ mul.s $f4, $f16, $f18 +/* 0877EC 7F052CBC 4606203C */ c.lt.s $f4, $f6 +/* 0877F0 7F052CC0 00000000 */ nop +/* 0877F4 7F052CC4 4501000B */ bc1t .L7F052CF4 +.L7F052CC8: +/* 0877F8 7F052CC8 24010007 */ li $at, 7 +/* 0877FC 7F052CCC 14410010 */ bne $v0, $at, .L7F052D10 +/* 087800 7F052CD0 3C018005 */ lui $at, %hi(D_8005333C) +/* 087804 7F052CD4 C428333C */ lwc1 $f8, %lo(D_8005333C)($at) +/* 087808 7F052CD8 C60A0084 */ lwc1 $f10, 0x84($s0) +/* 08780C 7F052CDC C61200B4 */ lwc1 $f18, 0xb4($s0) +/* 087810 7F052CE0 460A4402 */ mul.s $f16, $f8, $f10 +/* 087814 7F052CE4 4612803C */ c.lt.s $f16, $f18 +/* 087818 7F052CE8 00000000 */ nop +/* 08781C 7F052CEC 45020009 */ bc1fl .L7F052D14 +/* 087820 7F052CF0 24010008 */ li $at, 8 +.L7F052CF4: +/* 087824 7F052CF4 8E070068 */ lw $a3, 0x68($s0) +/* 087828 7F052CF8 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 08782C 7F052CFC 44813000 */ mtc1 $at, $f6 +/* 087830 7F052D00 C4E40048 */ lwc1 $f4, 0x48($a3) +/* 087834 7F052D04 46062200 */ add.s $f8, $f4, $f6 +/* 087838 7F052D08 1000001B */ b .L7F052D78 +/* 08783C 7F052D0C E4E80044 */ swc1 $f8, 0x44($a3) +.L7F052D10: +/* 087840 7F052D10 24010008 */ li $at, 8 +.L7F052D14: +/* 087844 7F052D14 14410008 */ bne $v0, $at, .L7F052D38 +/* 087848 7F052D18 8FA40028 */ lw $a0, 0x28($sp) +/* 08784C 7F052D1C 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 087850 7F052D20 44818000 */ mtc1 $at, $f16 +/* 087854 7F052D24 C60A005C */ lwc1 $f10, 0x5c($s0) +/* 087858 7F052D28 8E0A0068 */ lw $t2, 0x68($s0) +/* 08785C 7F052D2C 46105480 */ add.s $f18, $f10, $f16 +/* 087860 7F052D30 10000011 */ b .L7F052D78 +/* 087864 7F052D34 E5520044 */ swc1 $f18, 0x44($t2) +.L7F052D38: +/* 087868 7F052D38 0FC0FA97 */ jal sub_GAME_7F03EA5C +/* 08786C 7F052D3C 27A5002C */ addiu $a1, $sp, 0x2c +/* 087870 7F052D40 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 087874 7F052D44 8E0B0068 */ lw $t3, 0x68($s0) +/* 087878 7F052D48 46040180 */ add.s $f6, $f0, $f4 +/* 08787C 7F052D4C E5660044 */ swc1 $f6, 0x44($t3) +/* 087880 7F052D50 960C0098 */ lhu $t4, 0x98($s0) +/* 087884 7F052D54 318D0001 */ andi $t5, $t4, 1 +/* 087888 7F052D58 51A00008 */ beql $t5, $zero, .L7F052D7C +/* 08788C 7F052D5C 8FBF001C */ lw $ra, 0x1c($sp) +/* 087890 7F052D60 8E070068 */ lw $a3, 0x68($s0) +/* 087894 7F052D64 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 087898 7F052D68 44815000 */ mtc1 $at, $f10 +/* 08789C 7F052D6C C4E80044 */ lwc1 $f8, 0x44($a3) +/* 0878A0 7F052D70 460A4400 */ add.s $f16, $f8, $f10 +/* 0878A4 7F052D74 E4F00044 */ swc1 $f16, 0x44($a3) +.L7F052D78: +/* 0878A8 7F052D78 8FBF001C */ lw $ra, 0x1c($sp) +.L7F052D7C: +/* 0878AC 7F052D7C 8FB00018 */ lw $s0, 0x18($sp) +/* 0878B0 7F052D80 27BD0070 */ addiu $sp, $sp, 0x70 +/* 0878B4 7F052D84 03E00008 */ jr $ra +/* 0878B8 7F052D88 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F052D8C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F052D8C +/* 0878BC 7F052D8C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0878C0 7F052D90 AFBF003C */ sw $ra, 0x3c($sp) +/* 0878C4 7F052D94 AFBE0038 */ sw $fp, 0x38($sp) +/* 0878C8 7F052D98 AFB70034 */ sw $s7, 0x34($sp) +/* 0878CC 7F052D9C AFB60030 */ sw $s6, 0x30($sp) +/* 0878D0 7F052DA0 AFB5002C */ sw $s5, 0x2c($sp) +/* 0878D4 7F052DA4 AFB40028 */ sw $s4, 0x28($sp) +/* 0878D8 7F052DA8 AFB30024 */ sw $s3, 0x24($sp) +/* 0878DC 7F052DAC AFB20020 */ sw $s2, 0x20($sp) +/* 0878E0 7F052DB0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0878E4 7F052DB4 AFB00018 */ sw $s0, 0x18($sp) +/* 0878E8 7F052DB8 948E0098 */ lhu $t6, 0x98($a0) +/* 0878EC 7F052DBC 0080B025 */ move $s6, $a0 +/* 0878F0 7F052DC0 31CF0004 */ andi $t7, $t6, 4 +/* 0878F4 7F052DC4 51E001E9 */ beql $t7, $zero, .L7F05356C +/* 0878F8 7F052DC8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0878FC 7F052DCC 8C840014 */ lw $a0, 0x14($a0) +/* 087900 7F052DD0 8C980008 */ lw $t8, 8($a0) +/* 087904 7F052DD4 8F190000 */ lw $t9, ($t8) +/* 087908 7F052DD8 8F2E0014 */ lw $t6, 0x14($t9) +/* 08790C 7F052DDC 8DC50014 */ lw $a1, 0x14($t6) +/* 087910 7F052DE0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 087914 7F052DE4 8CB50004 */ lw $s5, 4($a1) +/* 087918 7F052DE8 96CF009A */ lhu $t7, 0x9a($s6) +/* 08791C 7F052DEC 24140004 */ li $s4, 4 +/* 087920 7F052DF0 0040B825 */ move $s7, $v0 +/* 087924 7F052DF4 168F000B */ bne $s4, $t7, .L7F052E24 +/* 087928 7F052DF8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 08792C 7F052DFC 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 087930 7F052E00 44813000 */ mtc1 $at, $f6 +/* 087934 7F052E04 C6C400E0 */ lwc1 $f4, 0xe0($s6) +/* 087938 7F052E08 46062200 */ add.s $f8, $f4, $f6 +/* 08793C 7F052E0C 4600428D */ trunc.w.s $f10, $f8 +/* 087940 7F052E10 440D5000 */ mfc1 $t5, $f10 +/* 087944 7F052E14 00000000 */ nop +/* 087948 7F052E18 000DCC00 */ sll $t9, $t5, 0x10 +/* 08794C 7F052E1C 1000000A */ b .L7F052E48 +/* 087950 7F052E20 00196C03 */ sra $t5, $t9, 0x10 +.L7F052E24: +/* 087954 7F052E24 C6D000D4 */ lwc1 $f16, 0xd4($s6) +/* 087958 7F052E28 44819000 */ mtc1 $at, $f18 +/* 08795C 7F052E2C 00000000 */ nop +/* 087960 7F052E30 46128100 */ add.s $f4, $f16, $f18 +/* 087964 7F052E34 4600218D */ trunc.w.s $f6, $f4 +/* 087968 7F052E38 440D3000 */ mfc1 $t5, $f6 +/* 08796C 7F052E3C 00000000 */ nop +/* 087970 7F052E40 000DC400 */ sll $t8, $t5, 0x10 +/* 087974 7F052E44 00186C03 */ sra $t5, $t8, 0x10 +.L7F052E48: +/* 087978 7F052E48 86A4000C */ lh $a0, 0xc($s5) +/* 08797C 7F052E4C 0FC2F5B1 */ jal sub_GAME_7F0BD6C4 +/* 087980 7F052E50 A7AD0042 */ sh $t5, 0x42($sp) +/* 087984 7F052E54 87AD0042 */ lh $t5, 0x42($sp) +/* 087988 7F052E58 AEE20000 */ sw $v0, ($s7) +/* 08798C 7F052E5C 86AE000C */ lh $t6, 0xc($s5) +/* 087990 7F052E60 00001825 */ move $v1, $zero +/* 087994 7F052E64 0000F025 */ move $fp, $zero +/* 087998 7F052E68 05C10003 */ bgez $t6, .L7F052E78 +/* 08799C 7F052E6C 000E7883 */ sra $t7, $t6, 2 +/* 0879A0 7F052E70 25C10003 */ addiu $at, $t6, 3 +/* 0879A4 7F052E74 00017883 */ sra $t7, $at, 2 +.L7F052E78: +/* 0879A8 7F052E78 19E001BB */ blez $t7, .L7F053568 +/* 0879AC 7F052E7C 00001825 */ move $v1, $zero +.L7F052E80: +/* 0879B0 7F052E80 001E9900 */ sll $s3, $fp, 4 +.L7F052E84: +/* 0879B4 7F052E84 8EF80000 */ lw $t8, ($s7) +/* 0879B8 7F052E88 24670002 */ addiu $a3, $v1, 2 +/* 0879BC 7F052E8C 246C0003 */ addiu $t4, $v1, 3 +/* 0879C0 7F052E90 03131021 */ addu $v0, $t8, $s3 +/* 0879C4 7F052E94 24720001 */ addiu $s2, $v1, 1 +/* 0879C8 7F052E98 00032100 */ sll $a0, $v1, 4 +/* 0879CC 7F052E9C 00445821 */ addu $t3, $v0, $a0 +/* 0879D0 7F052EA0 06410004 */ bgez $s2, .L7F052EB4 +/* 0879D4 7F052EA4 32450003 */ andi $a1, $s2, 3 +/* 0879D8 7F052EA8 10A00002 */ beqz $a1, .L7F052EB4 +/* 0879DC 7F052EAC 00000000 */ nop +/* 0879E0 7F052EB0 24A5FFFC */ addiu $a1, $a1, -4 +.L7F052EB4: +/* 0879E4 7F052EB4 0005C900 */ sll $t9, $a1, 4 +/* 0879E8 7F052EB8 03202825 */ move $a1, $t9 +/* 0879EC 7F052EBC 0059F821 */ addu $ra, $v0, $t9 +/* 0879F0 7F052EC0 04E10004 */ bgez $a3, .L7F052ED4 +/* 0879F4 7F052EC4 30EE0003 */ andi $t6, $a3, 3 +/* 0879F8 7F052EC8 11C00002 */ beqz $t6, .L7F052ED4 +/* 0879FC 7F052ECC 00000000 */ nop +/* 087A00 7F052ED0 25CEFFFC */ addiu $t6, $t6, -4 +.L7F052ED4: +/* 087A04 7F052ED4 000E7900 */ sll $t7, $t6, 4 +/* 087A08 7F052ED8 8EAE0008 */ lw $t6, 8($s5) +/* 087A0C 7F052EDC 01E03825 */ move $a3, $t7 +/* 087A10 7F052EE0 004F8021 */ addu $s0, $v0, $t7 +/* 087A14 7F052EE4 01D34821 */ addu $t1, $t6, $s3 +/* 087A18 7F052EE8 05810004 */ bgez $t4, .L7F052EFC +/* 087A1C 7F052EEC 31980003 */ andi $t8, $t4, 3 +/* 087A20 7F052EF0 13000002 */ beqz $t8, .L7F052EFC +/* 087A24 7F052EF4 00000000 */ nop +/* 087A28 7F052EF8 2718FFFC */ addiu $t8, $t8, -4 +.L7F052EFC: +/* 087A2C 7F052EFC 00186100 */ sll $t4, $t8, 4 +/* 087A30 7F052F00 01275021 */ addu $t2, $t1, $a3 +/* 087A34 7F052F04 004C8821 */ addu $s1, $v0, $t4 +/* 087A38 7F052F08 01243021 */ addu $a2, $t1, $a0 +/* 087A3C 7F052F0C 01254021 */ addu $t0, $t1, $a1 +/* 087A40 7F052F10 14600021 */ bnez $v1, .L7F052F98 +/* 087A44 7F052F14 012C3821 */ addu $a3, $t1, $t4 +/* 087A48 7F052F18 8CC10000 */ lw $at, ($a2) +/* 087A4C 7F052F1C AD610000 */ sw $at, ($t3) +/* 087A50 7F052F20 8CD80004 */ lw $t8, 4($a2) +/* 087A54 7F052F24 AD780004 */ sw $t8, 4($t3) +/* 087A58 7F052F28 8CC10008 */ lw $at, 8($a2) +/* 087A5C 7F052F2C AD610008 */ sw $at, 8($t3) +/* 087A60 7F052F30 8CD8000C */ lw $t8, 0xc($a2) +/* 087A64 7F052F34 AD78000C */ sw $t8, 0xc($t3) +/* 087A68 7F052F38 8D010000 */ lw $at, ($t0) +/* 087A6C 7F052F3C AFE10000 */ sw $at, ($ra) +/* 087A70 7F052F40 8D0E0004 */ lw $t6, 4($t0) +/* 087A74 7F052F44 AFEE0004 */ sw $t6, 4($ra) +/* 087A78 7F052F48 8D010008 */ lw $at, 8($t0) +/* 087A7C 7F052F4C AFE10008 */ sw $at, 8($ra) +/* 087A80 7F052F50 8D0E000C */ lw $t6, 0xc($t0) +/* 087A84 7F052F54 AFEE000C */ sw $t6, 0xc($ra) +/* 087A88 7F052F58 8D410000 */ lw $at, ($t2) +/* 087A8C 7F052F5C AE010000 */ sw $at, ($s0) +/* 087A90 7F052F60 8D580004 */ lw $t8, 4($t2) +/* 087A94 7F052F64 AE180004 */ sw $t8, 4($s0) +/* 087A98 7F052F68 8D410008 */ lw $at, 8($t2) +/* 087A9C 7F052F6C AE010008 */ sw $at, 8($s0) +/* 087AA0 7F052F70 8D58000C */ lw $t8, 0xc($t2) +/* 087AA4 7F052F74 AE18000C */ sw $t8, 0xc($s0) +/* 087AA8 7F052F78 8CE10000 */ lw $at, ($a3) +/* 087AAC 7F052F7C AE210000 */ sw $at, ($s1) +/* 087AB0 7F052F80 8CEE0004 */ lw $t6, 4($a3) +/* 087AB4 7F052F84 AE2E0004 */ sw $t6, 4($s1) +/* 087AB8 7F052F88 8CE10008 */ lw $at, 8($a3) +/* 087ABC 7F052F8C AE210008 */ sw $at, 8($s1) +/* 087AC0 7F052F90 8CEE000C */ lw $t6, 0xc($a3) +/* 087AC4 7F052F94 AE2E000C */ sw $t6, 0xc($s1) +.L7F052F98: +/* 087AC8 7F052F98 96CF009A */ lhu $t7, 0x9a($s6) +/* 087ACC 7F052F9C 568F00B5 */ bnel $s4, $t7, .L7F053274 +/* 087AD0 7F052FA0 84C50000 */ lh $a1, ($a2) +/* 087AD4 7F052FA4 84C40002 */ lh $a0, 2($a2) +/* 087AD8 7F052FA8 008D082A */ slt $at, $a0, $t5 +/* 087ADC 7F052FAC 14200162 */ bnez $at, .L7F053538 +/* 087AE0 7F052FB0 00000000 */ nop +/* 087AE4 7F052FB4 84C50000 */ lh $a1, ($a2) +/* 087AE8 7F052FB8 85180000 */ lh $t8, ($t0) +/* 087AEC 7F052FBC 57050039 */ bnel $t8, $a1, .L7F0530A4 +/* 087AF0 7F052FC0 85590000 */ lh $t9, ($t2) +/* 087AF4 7F052FC4 85190004 */ lh $t9, 4($t0) +/* 087AF8 7F052FC8 84CE0004 */ lh $t6, 4($a2) +/* 087AFC 7F052FCC 572E0035 */ bnel $t9, $t6, .L7F0530A4 +/* 087B00 7F052FD0 85590000 */ lh $t9, ($t2) +/* 087B04 7F052FD4 85090002 */ lh $t1, 2($t0) +/* 087B08 7F052FD8 51240032 */ beql $t1, $a0, .L7F0530A4 +/* 087B0C 7F052FDC 85590000 */ lh $t9, ($t2) +/* 087B10 7F052FE0 84C20008 */ lh $v0, 8($a2) +/* 087B14 7F052FE4 85180008 */ lh $t8, 8($t0) +/* 087B18 7F052FE8 008D7823 */ subu $t7, $a0, $t5 +/* 087B1C 7F052FEC 0302C823 */ subu $t9, $t8, $v0 +/* 087B20 7F052FF0 01F90019 */ multu $t7, $t9 +/* 087B24 7F052FF4 0089C023 */ subu $t8, $a0, $t1 +/* 087B28 7F052FF8 00007012 */ mflo $t6 +/* 087B2C 7F052FFC 00000000 */ nop +/* 087B30 7F053000 00000000 */ nop +/* 087B34 7F053004 01D8001A */ div $zero, $t6, $t8 +/* 087B38 7F053008 00007812 */ mflo $t7 +/* 087B3C 7F05300C 01E2C821 */ addu $t9, $t7, $v0 +/* 087B40 7F053010 A5790008 */ sh $t9, 8($t3) +/* 087B44 7F053014 17000002 */ bnez $t8, .L7F053020 +/* 087B48 7F053018 00000000 */ nop +/* 087B4C 7F05301C 0007000D */ break 7 +.L7F053020: +/* 087B50 7F053020 2401FFFF */ li $at, -1 +/* 087B54 7F053024 17010004 */ bne $t8, $at, .L7F053038 +/* 087B58 7F053028 3C018000 */ lui $at, 0x8000 +/* 087B5C 7F05302C 15C10002 */ bne $t6, $at, .L7F053038 +/* 087B60 7F053030 00000000 */ nop +/* 087B64 7F053034 0006000D */ break 6 +.L7F053038: +/* 087B68 7F053038 8518000A */ lh $t8, 0xa($t0) +/* 087B6C 7F05303C 84C3000A */ lh $v1, 0xa($a2) +/* 087B70 7F053040 84C40002 */ lh $a0, 2($a2) +/* 087B74 7F053044 03037823 */ subu $t7, $t8, $v1 +/* 087B78 7F053048 008D7023 */ subu $t6, $a0, $t5 +/* 087B7C 7F05304C 01CF0019 */ multu $t6, $t7 +/* 087B80 7F053050 85180002 */ lh $t8, 2($t0) +/* 087B84 7F053054 00987023 */ subu $t6, $a0, $t8 +/* 087B88 7F053058 0000C812 */ mflo $t9 +/* 087B8C 7F05305C 00000000 */ nop +/* 087B90 7F053060 00000000 */ nop +/* 087B94 7F053064 032E001A */ div $zero, $t9, $t6 +/* 087B98 7F053068 00007812 */ mflo $t7 +/* 087B9C 7F05306C 01E3C021 */ addu $t8, $t7, $v1 +/* 087BA0 7F053070 15C00002 */ bnez $t6, .L7F05307C +/* 087BA4 7F053074 00000000 */ nop +/* 087BA8 7F053078 0007000D */ break 7 +.L7F05307C: +/* 087BAC 7F05307C 2401FFFF */ li $at, -1 +/* 087BB0 7F053080 15C10004 */ bne $t6, $at, .L7F053094 +/* 087BB4 7F053084 3C018000 */ lui $at, 0x8000 +/* 087BB8 7F053088 17210002 */ bne $t9, $at, .L7F053094 +/* 087BBC 7F05308C 00000000 */ nop +/* 087BC0 7F053090 0006000D */ break 6 +.L7F053094: +/* 087BC4 7F053094 A578000A */ sh $t8, 0xa($t3) +/* 087BC8 7F053098 10000073 */ b .L7F053268 +/* 087BCC 7F05309C 00000000 */ nop +/* 087BD0 7F0530A0 85590000 */ lh $t9, ($t2) +.L7F0530A4: +/* 087BD4 7F0530A4 57250039 */ bnel $t9, $a1, .L7F05318C +/* 087BD8 7F0530A8 84EE0000 */ lh $t6, ($a3) +/* 087BDC 7F0530AC 854E0004 */ lh $t6, 4($t2) +/* 087BE0 7F0530B0 84CF0004 */ lh $t7, 4($a2) +/* 087BE4 7F0530B4 55CF0035 */ bnel $t6, $t7, .L7F05318C +/* 087BE8 7F0530B8 84EE0000 */ lh $t6, ($a3) +/* 087BEC 7F0530BC 85480002 */ lh $t0, 2($t2) +/* 087BF0 7F0530C0 51040032 */ beql $t0, $a0, .L7F05318C +/* 087BF4 7F0530C4 84EE0000 */ lh $t6, ($a3) +/* 087BF8 7F0530C8 84C20008 */ lh $v0, 8($a2) +/* 087BFC 7F0530CC 85590008 */ lh $t9, 8($t2) +/* 087C00 7F0530D0 008DC023 */ subu $t8, $a0, $t5 +/* 087C04 7F0530D4 03227023 */ subu $t6, $t9, $v0 +/* 087C08 7F0530D8 030E0019 */ multu $t8, $t6 +/* 087C0C 7F0530DC 0088C823 */ subu $t9, $a0, $t0 +/* 087C10 7F0530E0 00007812 */ mflo $t7 +/* 087C14 7F0530E4 00000000 */ nop +/* 087C18 7F0530E8 00000000 */ nop +/* 087C1C 7F0530EC 01F9001A */ div $zero, $t7, $t9 +/* 087C20 7F0530F0 0000C012 */ mflo $t8 +/* 087C24 7F0530F4 03027021 */ addu $t6, $t8, $v0 +/* 087C28 7F0530F8 A56E0008 */ sh $t6, 8($t3) +/* 087C2C 7F0530FC 17200002 */ bnez $t9, .L7F053108 +/* 087C30 7F053100 00000000 */ nop +/* 087C34 7F053104 0007000D */ break 7 +.L7F053108: +/* 087C38 7F053108 2401FFFF */ li $at, -1 +/* 087C3C 7F05310C 17210004 */ bne $t9, $at, .L7F053120 +/* 087C40 7F053110 3C018000 */ lui $at, 0x8000 +/* 087C44 7F053114 15E10002 */ bne $t7, $at, .L7F053120 +/* 087C48 7F053118 00000000 */ nop +/* 087C4C 7F05311C 0006000D */ break 6 +.L7F053120: +/* 087C50 7F053120 8559000A */ lh $t9, 0xa($t2) +/* 087C54 7F053124 84C3000A */ lh $v1, 0xa($a2) +/* 087C58 7F053128 84C40002 */ lh $a0, 2($a2) +/* 087C5C 7F05312C 0323C023 */ subu $t8, $t9, $v1 +/* 087C60 7F053130 008D7823 */ subu $t7, $a0, $t5 +/* 087C64 7F053134 01F80019 */ multu $t7, $t8 +/* 087C68 7F053138 85590002 */ lh $t9, 2($t2) +/* 087C6C 7F05313C 00997823 */ subu $t7, $a0, $t9 +/* 087C70 7F053140 00007012 */ mflo $t6 +/* 087C74 7F053144 00000000 */ nop +/* 087C78 7F053148 00000000 */ nop +/* 087C7C 7F05314C 01CF001A */ div $zero, $t6, $t7 +/* 087C80 7F053150 0000C012 */ mflo $t8 +/* 087C84 7F053154 0303C821 */ addu $t9, $t8, $v1 +/* 087C88 7F053158 15E00002 */ bnez $t7, .L7F053164 +/* 087C8C 7F05315C 00000000 */ nop +/* 087C90 7F053160 0007000D */ break 7 +.L7F053164: +/* 087C94 7F053164 2401FFFF */ li $at, -1 +/* 087C98 7F053168 15E10004 */ bne $t7, $at, .L7F05317C +/* 087C9C 7F05316C 3C018000 */ lui $at, 0x8000 +/* 087CA0 7F053170 15C10002 */ bne $t6, $at, .L7F05317C +/* 087CA4 7F053174 00000000 */ nop +/* 087CA8 7F053178 0006000D */ break 6 +.L7F05317C: +/* 087CAC 7F05317C A579000A */ sh $t9, 0xa($t3) +/* 087CB0 7F053180 10000039 */ b .L7F053268 +/* 087CB4 7F053184 00000000 */ nop +/* 087CB8 7F053188 84EE0000 */ lh $t6, ($a3) +.L7F05318C: +/* 087CBC 7F05318C 15C50036 */ bne $t6, $a1, .L7F053268 +/* 087CC0 7F053190 00000000 */ nop +/* 087CC4 7F053194 84EF0004 */ lh $t7, 4($a3) +/* 087CC8 7F053198 84D80004 */ lh $t8, 4($a2) +/* 087CCC 7F05319C 15F80032 */ bne $t7, $t8, .L7F053268 +/* 087CD0 7F0531A0 00000000 */ nop +/* 087CD4 7F0531A4 84E50002 */ lh $a1, 2($a3) +/* 087CD8 7F0531A8 10A4002F */ beq $a1, $a0, .L7F053268 +/* 087CDC 7F0531AC 00000000 */ nop +/* 087CE0 7F0531B0 84C20008 */ lh $v0, 8($a2) +/* 087CE4 7F0531B4 84EE0008 */ lh $t6, 8($a3) +/* 087CE8 7F0531B8 008DC823 */ subu $t9, $a0, $t5 +/* 087CEC 7F0531BC 01C27823 */ subu $t7, $t6, $v0 +/* 087CF0 7F0531C0 032F0019 */ multu $t9, $t7 +/* 087CF4 7F0531C4 00857023 */ subu $t6, $a0, $a1 +/* 087CF8 7F0531C8 0000C012 */ mflo $t8 +/* 087CFC 7F0531CC 00000000 */ nop +/* 087D00 7F0531D0 00000000 */ nop +/* 087D04 7F0531D4 030E001A */ div $zero, $t8, $t6 +/* 087D08 7F0531D8 0000C812 */ mflo $t9 +/* 087D0C 7F0531DC 03227821 */ addu $t7, $t9, $v0 +/* 087D10 7F0531E0 A56F0008 */ sh $t7, 8($t3) +/* 087D14 7F0531E4 15C00002 */ bnez $t6, .L7F0531F0 +/* 087D18 7F0531E8 00000000 */ nop +/* 087D1C 7F0531EC 0007000D */ break 7 +.L7F0531F0: +/* 087D20 7F0531F0 2401FFFF */ li $at, -1 +/* 087D24 7F0531F4 15C10004 */ bne $t6, $at, .L7F053208 +/* 087D28 7F0531F8 3C018000 */ lui $at, 0x8000 +/* 087D2C 7F0531FC 17010002 */ bne $t8, $at, .L7F053208 +/* 087D30 7F053200 00000000 */ nop +/* 087D34 7F053204 0006000D */ break 6 +.L7F053208: +/* 087D38 7F053208 84EE000A */ lh $t6, 0xa($a3) +/* 087D3C 7F05320C 84C3000A */ lh $v1, 0xa($a2) +/* 087D40 7F053210 84C40002 */ lh $a0, 2($a2) +/* 087D44 7F053214 01C3C823 */ subu $t9, $t6, $v1 +/* 087D48 7F053218 008DC023 */ subu $t8, $a0, $t5 +/* 087D4C 7F05321C 03190019 */ multu $t8, $t9 +/* 087D50 7F053220 84EE0002 */ lh $t6, 2($a3) +/* 087D54 7F053224 008EC023 */ subu $t8, $a0, $t6 +/* 087D58 7F053228 00007812 */ mflo $t7 +/* 087D5C 7F05322C 00000000 */ nop +/* 087D60 7F053230 00000000 */ nop +/* 087D64 7F053234 01F8001A */ div $zero, $t7, $t8 +/* 087D68 7F053238 0000C812 */ mflo $t9 +/* 087D6C 7F05323C 03237021 */ addu $t6, $t9, $v1 +/* 087D70 7F053240 A56E000A */ sh $t6, 0xa($t3) +/* 087D74 7F053244 17000002 */ bnez $t8, .L7F053250 +/* 087D78 7F053248 00000000 */ nop +/* 087D7C 7F05324C 0007000D */ break 7 +.L7F053250: +/* 087D80 7F053250 2401FFFF */ li $at, -1 +/* 087D84 7F053254 17010004 */ bne $t8, $at, .L7F053268 +/* 087D88 7F053258 3C018000 */ lui $at, 0x8000 +/* 087D8C 7F05325C 15E10002 */ bne $t7, $at, .L7F053268 +/* 087D90 7F053260 00000000 */ nop +/* 087D94 7F053264 0006000D */ break 6 +.L7F053268: +/* 087D98 7F053268 100000B3 */ b .L7F053538 +/* 087D9C 7F05326C A56D0002 */ sh $t5, 2($t3) +/* 087DA0 7F053270 84C50000 */ lh $a1, ($a2) +.L7F053274: +/* 087DA4 7F053274 01A5082A */ slt $at, $t5, $a1 +/* 087DA8 7F053278 142000AF */ bnez $at, .L7F053538 +/* 087DAC 7F05327C 00000000 */ nop +/* 087DB0 7F053280 84C40002 */ lh $a0, 2($a2) +/* 087DB4 7F053284 850F0002 */ lh $t7, 2($t0) +/* 087DB8 7F053288 55E40039 */ bnel $t7, $a0, .L7F053370 +/* 087DBC 7F05328C 85580002 */ lh $t8, 2($t2) +/* 087DC0 7F053290 85180004 */ lh $t8, 4($t0) +/* 087DC4 7F053294 84D90004 */ lh $t9, 4($a2) +/* 087DC8 7F053298 57190035 */ bnel $t8, $t9, .L7F053370 +/* 087DCC 7F05329C 85580002 */ lh $t8, 2($t2) +/* 087DD0 7F0532A0 85090000 */ lh $t1, ($t0) +/* 087DD4 7F0532A4 51250032 */ beql $t1, $a1, .L7F053370 +/* 087DD8 7F0532A8 85580002 */ lh $t8, 2($t2) +/* 087DDC 7F0532AC 84C20008 */ lh $v0, 8($a2) +/* 087DE0 7F0532B0 850F0008 */ lh $t7, 8($t0) +/* 087DE4 7F0532B4 01A57023 */ subu $t6, $t5, $a1 +/* 087DE8 7F0532B8 01E2C023 */ subu $t8, $t7, $v0 +/* 087DEC 7F0532BC 01D80019 */ multu $t6, $t8 +/* 087DF0 7F0532C0 01257823 */ subu $t7, $t1, $a1 +/* 087DF4 7F0532C4 0000C812 */ mflo $t9 +/* 087DF8 7F0532C8 00000000 */ nop +/* 087DFC 7F0532CC 00000000 */ nop +/* 087E00 7F0532D0 032F001A */ div $zero, $t9, $t7 +/* 087E04 7F0532D4 00007012 */ mflo $t6 +/* 087E08 7F0532D8 01C2C021 */ addu $t8, $t6, $v0 +/* 087E0C 7F0532DC A5780008 */ sh $t8, 8($t3) +/* 087E10 7F0532E0 15E00002 */ bnez $t7, .L7F0532EC +/* 087E14 7F0532E4 00000000 */ nop +/* 087E18 7F0532E8 0007000D */ break 7 +.L7F0532EC: +/* 087E1C 7F0532EC 2401FFFF */ li $at, -1 +/* 087E20 7F0532F0 15E10004 */ bne $t7, $at, .L7F053304 +/* 087E24 7F0532F4 3C018000 */ lui $at, 0x8000 +/* 087E28 7F0532F8 17210002 */ bne $t9, $at, .L7F053304 +/* 087E2C 7F0532FC 00000000 */ nop +/* 087E30 7F053300 0006000D */ break 6 +.L7F053304: +/* 087E34 7F053304 850F000A */ lh $t7, 0xa($t0) +/* 087E38 7F053308 84C3000A */ lh $v1, 0xa($a2) +/* 087E3C 7F05330C 84C50000 */ lh $a1, ($a2) +/* 087E40 7F053310 01E37023 */ subu $t6, $t7, $v1 +/* 087E44 7F053314 01A5C823 */ subu $t9, $t5, $a1 +/* 087E48 7F053318 032E0019 */ multu $t9, $t6 +/* 087E4C 7F05331C 850F0000 */ lh $t7, ($t0) +/* 087E50 7F053320 01E5C823 */ subu $t9, $t7, $a1 +/* 087E54 7F053324 0000C012 */ mflo $t8 +/* 087E58 7F053328 00000000 */ nop +/* 087E5C 7F05332C 00000000 */ nop +/* 087E60 7F053330 0319001A */ div $zero, $t8, $t9 +/* 087E64 7F053334 00007012 */ mflo $t6 +/* 087E68 7F053338 01C37821 */ addu $t7, $t6, $v1 +/* 087E6C 7F05333C 17200002 */ bnez $t9, .L7F053348 +/* 087E70 7F053340 00000000 */ nop +/* 087E74 7F053344 0007000D */ break 7 +.L7F053348: +/* 087E78 7F053348 2401FFFF */ li $at, -1 +/* 087E7C 7F05334C 17210004 */ bne $t9, $at, .L7F053360 +/* 087E80 7F053350 3C018000 */ lui $at, 0x8000 +/* 087E84 7F053354 17010002 */ bne $t8, $at, .L7F053360 +/* 087E88 7F053358 00000000 */ nop +/* 087E8C 7F05335C 0006000D */ break 6 +.L7F053360: +/* 087E90 7F053360 A56F000A */ sh $t7, 0xa($t3) +/* 087E94 7F053364 10000074 */ b .L7F053538 +/* 087E98 7F053368 A56D0000 */ sh $t5, ($t3) +/* 087E9C 7F05336C 85580002 */ lh $t8, 2($t2) +.L7F053370: +/* 087EA0 7F053370 57040039 */ bnel $t8, $a0, .L7F053458 +/* 087EA4 7F053374 84F90002 */ lh $t9, 2($a3) +/* 087EA8 7F053378 85590004 */ lh $t9, 4($t2) +/* 087EAC 7F05337C 84CE0004 */ lh $t6, 4($a2) +/* 087EB0 7F053380 572E0035 */ bnel $t9, $t6, .L7F053458 +/* 087EB4 7F053384 84F90002 */ lh $t9, 2($a3) +/* 087EB8 7F053388 85480000 */ lh $t0, ($t2) +/* 087EBC 7F05338C 51050032 */ beql $t0, $a1, .L7F053458 +/* 087EC0 7F053390 84F90002 */ lh $t9, 2($a3) +/* 087EC4 7F053394 84C20008 */ lh $v0, 8($a2) +/* 087EC8 7F053398 85580008 */ lh $t8, 8($t2) +/* 087ECC 7F05339C 01A57823 */ subu $t7, $t5, $a1 +/* 087ED0 7F0533A0 0302C823 */ subu $t9, $t8, $v0 +/* 087ED4 7F0533A4 01F90019 */ multu $t7, $t9 +/* 087ED8 7F0533A8 0105C023 */ subu $t8, $t0, $a1 +/* 087EDC 7F0533AC 00007012 */ mflo $t6 +/* 087EE0 7F0533B0 00000000 */ nop +/* 087EE4 7F0533B4 00000000 */ nop +/* 087EE8 7F0533B8 01D8001A */ div $zero, $t6, $t8 +/* 087EEC 7F0533BC 00007812 */ mflo $t7 +/* 087EF0 7F0533C0 01E2C821 */ addu $t9, $t7, $v0 +/* 087EF4 7F0533C4 A5790008 */ sh $t9, 8($t3) +/* 087EF8 7F0533C8 17000002 */ bnez $t8, .L7F0533D4 +/* 087EFC 7F0533CC 00000000 */ nop +/* 087F00 7F0533D0 0007000D */ break 7 +.L7F0533D4: +/* 087F04 7F0533D4 2401FFFF */ li $at, -1 +/* 087F08 7F0533D8 17010004 */ bne $t8, $at, .L7F0533EC +/* 087F0C 7F0533DC 3C018000 */ lui $at, 0x8000 +/* 087F10 7F0533E0 15C10002 */ bne $t6, $at, .L7F0533EC +/* 087F14 7F0533E4 00000000 */ nop +/* 087F18 7F0533E8 0006000D */ break 6 +.L7F0533EC: +/* 087F1C 7F0533EC 8558000A */ lh $t8, 0xa($t2) +/* 087F20 7F0533F0 84C3000A */ lh $v1, 0xa($a2) +/* 087F24 7F0533F4 84C50000 */ lh $a1, ($a2) +/* 087F28 7F0533F8 03037823 */ subu $t7, $t8, $v1 +/* 087F2C 7F0533FC 01A57023 */ subu $t6, $t5, $a1 +/* 087F30 7F053400 01CF0019 */ multu $t6, $t7 +/* 087F34 7F053404 85580000 */ lh $t8, ($t2) +/* 087F38 7F053408 03057023 */ subu $t6, $t8, $a1 +/* 087F3C 7F05340C 0000C812 */ mflo $t9 +/* 087F40 7F053410 00000000 */ nop +/* 087F44 7F053414 00000000 */ nop +/* 087F48 7F053418 032E001A */ div $zero, $t9, $t6 +/* 087F4C 7F05341C 00007812 */ mflo $t7 +/* 087F50 7F053420 01E3C021 */ addu $t8, $t7, $v1 +/* 087F54 7F053424 15C00002 */ bnez $t6, .L7F053430 +/* 087F58 7F053428 00000000 */ nop +/* 087F5C 7F05342C 0007000D */ break 7 +.L7F053430: +/* 087F60 7F053430 2401FFFF */ li $at, -1 +/* 087F64 7F053434 15C10004 */ bne $t6, $at, .L7F053448 +/* 087F68 7F053438 3C018000 */ lui $at, 0x8000 +/* 087F6C 7F05343C 17210002 */ bne $t9, $at, .L7F053448 +/* 087F70 7F053440 00000000 */ nop +/* 087F74 7F053444 0006000D */ break 6 +.L7F053448: +/* 087F78 7F053448 A578000A */ sh $t8, 0xa($t3) +/* 087F7C 7F05344C 1000003A */ b .L7F053538 +/* 087F80 7F053450 A56D0000 */ sh $t5, ($t3) +/* 087F84 7F053454 84F90002 */ lh $t9, 2($a3) +.L7F053458: +/* 087F88 7F053458 57240037 */ bnel $t9, $a0, .L7F053538 +/* 087F8C 7F05345C A56D0000 */ sh $t5, ($t3) +/* 087F90 7F053460 84EE0004 */ lh $t6, 4($a3) +/* 087F94 7F053464 84CF0004 */ lh $t7, 4($a2) +/* 087F98 7F053468 55CF0033 */ bnel $t6, $t7, .L7F053538 +/* 087F9C 7F05346C A56D0000 */ sh $t5, ($t3) +/* 087FA0 7F053470 84E40000 */ lh $a0, ($a3) +/* 087FA4 7F053474 50850030 */ beql $a0, $a1, .L7F053538 +/* 087FA8 7F053478 A56D0000 */ sh $t5, ($t3) +/* 087FAC 7F05347C 84C20008 */ lh $v0, 8($a2) +/* 087FB0 7F053480 84F90008 */ lh $t9, 8($a3) +/* 087FB4 7F053484 01A5C023 */ subu $t8, $t5, $a1 +/* 087FB8 7F053488 03227023 */ subu $t6, $t9, $v0 +/* 087FBC 7F05348C 030E0019 */ multu $t8, $t6 +/* 087FC0 7F053490 0085C823 */ subu $t9, $a0, $a1 +/* 087FC4 7F053494 00007812 */ mflo $t7 +/* 087FC8 7F053498 00000000 */ nop +/* 087FCC 7F05349C 00000000 */ nop +/* 087FD0 7F0534A0 01F9001A */ div $zero, $t7, $t9 +/* 087FD4 7F0534A4 0000C012 */ mflo $t8 +/* 087FD8 7F0534A8 03027021 */ addu $t6, $t8, $v0 +/* 087FDC 7F0534AC A56E0008 */ sh $t6, 8($t3) +/* 087FE0 7F0534B0 17200002 */ bnez $t9, .L7F0534BC +/* 087FE4 7F0534B4 00000000 */ nop +/* 087FE8 7F0534B8 0007000D */ break 7 +.L7F0534BC: +/* 087FEC 7F0534BC 2401FFFF */ li $at, -1 +/* 087FF0 7F0534C0 17210004 */ bne $t9, $at, .L7F0534D4 +/* 087FF4 7F0534C4 3C018000 */ lui $at, 0x8000 +/* 087FF8 7F0534C8 15E10002 */ bne $t7, $at, .L7F0534D4 +/* 087FFC 7F0534CC 00000000 */ nop +/* 088000 7F0534D0 0006000D */ break 6 +.L7F0534D4: +/* 088004 7F0534D4 84F9000A */ lh $t9, 0xa($a3) +/* 088008 7F0534D8 84C3000A */ lh $v1, 0xa($a2) +/* 08800C 7F0534DC 84C50000 */ lh $a1, ($a2) +/* 088010 7F0534E0 0323C023 */ subu $t8, $t9, $v1 +/* 088014 7F0534E4 01A57823 */ subu $t7, $t5, $a1 +/* 088018 7F0534E8 01F80019 */ multu $t7, $t8 +/* 08801C 7F0534EC 84F90000 */ lh $t9, ($a3) +/* 088020 7F0534F0 03257823 */ subu $t7, $t9, $a1 +/* 088024 7F0534F4 00007012 */ mflo $t6 +/* 088028 7F0534F8 00000000 */ nop +/* 08802C 7F0534FC 00000000 */ nop +/* 088030 7F053500 01CF001A */ div $zero, $t6, $t7 +/* 088034 7F053504 0000C012 */ mflo $t8 +/* 088038 7F053508 0303C821 */ addu $t9, $t8, $v1 +/* 08803C 7F05350C A579000A */ sh $t9, 0xa($t3) +/* 088040 7F053510 15E00002 */ bnez $t7, .L7F05351C +/* 088044 7F053514 00000000 */ nop +/* 088048 7F053518 0007000D */ break 7 +.L7F05351C: +/* 08804C 7F05351C 2401FFFF */ li $at, -1 +/* 088050 7F053520 15E10004 */ bne $t7, $at, .L7F053534 +/* 088054 7F053524 3C018000 */ lui $at, 0x8000 +/* 088058 7F053528 15C10002 */ bne $t6, $at, .L7F053534 +/* 08805C 7F05352C 00000000 */ nop +/* 088060 7F053530 0006000D */ break 6 +.L7F053534: +/* 088064 7F053534 A56D0000 */ sh $t5, ($t3) +.L7F053538: +/* 088068 7F053538 1654FE52 */ bne $s2, $s4, .L7F052E84 +/* 08806C 7F05353C 02401825 */ move $v1, $s2 +/* 088070 7F053540 86A2000C */ lh $v0, 0xc($s5) +/* 088074 7F053544 27DE0004 */ addiu $fp, $fp, 4 +/* 088078 7F053548 04410003 */ bgez $v0, .L7F053558 +/* 08807C 7F05354C 00027083 */ sra $t6, $v0, 2 +/* 088080 7F053550 24410003 */ addiu $at, $v0, 3 +/* 088084 7F053554 00017083 */ sra $t6, $at, 2 +.L7F053558: +/* 088088 7F053558 000E1880 */ sll $v1, $t6, 2 +/* 08808C 7F05355C 03C3082A */ slt $at, $fp, $v1 +/* 088090 7F053560 5420FE47 */ bnezl $at, .L7F052E80 +/* 088094 7F053564 00001825 */ move $v1, $zero +.L7F053568: +/* 088098 7F053568 8FBF003C */ lw $ra, 0x3c($sp) +.L7F05356C: +/* 08809C 7F05356C 8FB00018 */ lw $s0, 0x18($sp) +/* 0880A0 7F053570 8FB1001C */ lw $s1, 0x1c($sp) +/* 0880A4 7F053574 8FB20020 */ lw $s2, 0x20($sp) +/* 0880A8 7F053578 8FB30024 */ lw $s3, 0x24($sp) +/* 0880AC 7F05357C 8FB40028 */ lw $s4, 0x28($sp) +/* 0880B0 7F053580 8FB5002C */ lw $s5, 0x2c($sp) +/* 0880B4 7F053584 8FB60030 */ lw $s6, 0x30($sp) +/* 0880B8 7F053588 8FB70034 */ lw $s7, 0x34($sp) +/* 0880BC 7F05358C 8FBE0038 */ lw $fp, 0x38($sp) +/* 0880C0 7F053590 03E00008 */ jr $ra +/* 0880C4 7F053594 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F053598(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F053598 +/* 0880C8 7F053598 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0880CC 7F05359C AFBF0014 */ sw $ra, 0x14($sp) +/* 0880D0 7F0535A0 8C8600F0 */ lw $a2, 0xf0($a0) +/* 0880D4 7F0535A4 04C00003 */ bltz $a2, .L7F0535B4 +/* 0880D8 7F0535A8 00C02025 */ move $a0, $a2 +/* 0880DC 7F0535AC 0FC2E76F */ jal sub_GAME_7F0B9DBC +/* 0880E0 7F0535B0 24050001 */ li $a1, 1 +.L7F0535B4: +/* 0880E4 7F0535B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0880E8 7F0535B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0880EC 7F0535BC 03E00008 */ jr $ra +/* 0880F0 7F0535C0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0535C4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0535C4 +/* 0880F4 7F0535C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0880F8 7F0535C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0880FC 7F0535CC 8C8600F0 */ lw $a2, 0xf0($a0) +/* 088100 7F0535D0 04C00003 */ bltz $a2, .L7F0535E0 +/* 088104 7F0535D4 00C02025 */ move $a0, $a2 +/* 088108 7F0535D8 0FC2E76F */ jal sub_GAME_7F0B9DBC +/* 08810C 7F0535DC 00002825 */ move $a1, $zero +.L7F0535E0: +/* 088110 7F0535E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 088114 7F0535E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 088118 7F0535E8 03E00008 */ jr $ra +/* 08811C 7F0535EC 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void initialize_door(void) { + +} +#else +GLOBAL_ASM( +.text +glabel initialize_door +/* 088120 7F0535F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 088124 7F0535F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 088128 7F0535F8 AFB00014 */ sw $s0, 0x14($sp) +/* 08812C 7F0535FC 00808025 */ move $s0, $a0 +/* 088130 7F053600 AFB10018 */ sw $s1, 0x18($sp) +/* 088134 7F053604 AFA50034 */ sw $a1, 0x34($sp) +/* 088138 7F053608 AFA60038 */ sw $a2, 0x38($sp) +/* 08813C 7F05360C 0FC101C7 */ jal sub_GAME_7F04071C +/* 088140 7F053610 AFA7003C */ sw $a3, 0x3c($sp) +/* 088144 7F053614 860E0004 */ lh $t6, 4($s0) +/* 088148 7F053618 3C018004 */ lui $at, %hi(PitemZ_entries+8) +/* 08814C 7F05361C 00408825 */ move $s1, $v0 +/* 088150 7F053620 000E7880 */ sll $t7, $t6, 2 +/* 088154 7F053624 01EE7823 */ subu $t7, $t7, $t6 +/* 088158 7F053628 000F7880 */ sll $t7, $t7, 2 +/* 08815C 7F05362C 002F0821 */ addu $at, $at, $t7 +/* 088160 7F053630 C424A230 */ lwc1 $f4, %lo(PitemZ_entries+8)($at) +/* 088164 7F053634 24040050 */ li $a0, 80 +/* 088168 7F053638 24050004 */ li $a1, 4 +/* 08816C 7F05363C 0C0025C8 */ jal mempAllocBytesInBank +/* 088170 7F053640 E7A40028 */ swc1 $f4, 0x28($sp) +/* 088174 7F053644 AE020068 */ sw $v0, 0x68($s0) +/* 088178 7F053648 26050018 */ addiu $a1, $s0, 0x18 +/* 08817C 7F05364C AFA50020 */ sw $a1, 0x20($sp) +/* 088180 7F053650 0FC16008 */ jal sub_GAME_7F058020 +/* 088184 7F053654 8FA40038 */ lw $a0, 0x38($sp) +/* 088188 7F053658 8FA50020 */ lw $a1, 0x20($sp) +/* 08818C 7F05365C 0FC1629F */ jal matrix_multiply_A1_by_F12 +/* 088190 7F053660 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 088194 7F053664 8FA20040 */ lw $v0, 0x40($sp) +/* 088198 7F053668 8E180008 */ lw $t8, 8($s0) +/* 08819C 7F05366C 44802000 */ mtc1 $zero, $f4 +/* 0881A0 7F053670 C4460000 */ lwc1 $f6, ($v0) +/* 0881A4 7F053674 0018C800 */ sll $t9, $t8, 0 +/* 0881A8 7F053678 E60600A8 */ swc1 $f6, 0xa8($s0) +/* 0881AC 7F05367C C4480004 */ lwc1 $f8, 4($v0) +/* 0881B0 7F053680 E60800AC */ swc1 $f8, 0xac($s0) +/* 0881B4 7F053684 C44A0008 */ lwc1 $f10, 8($v0) +/* 0881B8 7F053688 07210004 */ bgez $t9, .L7F05369C +/* 0881BC 7F05368C E60A00B0 */ swc1 $f10, 0xb0($s0) +/* 0881C0 7F053690 C6100084 */ lwc1 $f16, 0x84($s0) +/* 0881C4 7F053694 10000004 */ b .L7F0536A8 +/* 0881C8 7F053698 E61000B4 */ swc1 $f16, 0xb4($s0) +.L7F05369C: +/* 0881CC 7F05369C 44809000 */ mtc1 $zero, $f18 +/* 0881D0 7F0536A0 00000000 */ nop +/* 0881D4 7F0536A4 E61200B4 */ swc1 $f18, 0xb4($s0) +.L7F0536A8: +/* 0881D8 7F0536A8 96080098 */ lhu $t0, 0x98($s0) +/* 0881DC 7F0536AC E60400B8 */ swc1 $f4, 0xb8($s0) +/* 0881E0 7F0536B0 A20000BC */ sb $zero, 0xbc($s0) +/* 0881E4 7F0536B4 31090004 */ andi $t1, $t0, 4 +/* 0881E8 7F0536B8 A20000BD */ sb $zero, 0xbd($s0) +/* 0881EC 7F0536BC 1120000E */ beqz $t1, .L7F0536F8 +/* 0881F0 7F0536C0 AE0000C8 */ sw $zero, 0xc8($s0) +/* 0881F4 7F0536C4 8E0A0014 */ lw $t2, 0x14($s0) +/* 0881F8 7F0536C8 24050004 */ li $a1, 4 +/* 0881FC 7F0536CC 8D4B0008 */ lw $t3, 8($t2) +/* 088200 7F0536D0 8D6C0000 */ lw $t4, ($t3) +/* 088204 7F0536D4 8D8D0014 */ lw $t5, 0x14($t4) +/* 088208 7F0536D8 8DAE0014 */ lw $t6, 0x14($t5) +/* 08820C 7F0536DC 8DC20004 */ lw $v0, 4($t6) +/* 088210 7F0536E0 8444000C */ lh $a0, 0xc($v0) +/* 088214 7F0536E4 00047900 */ sll $t7, $a0, 4 +/* 088218 7F0536E8 0C0025C8 */ jal mempAllocBytesInBank +/* 08821C 7F0536EC 01E02025 */ move $a0, $t7 +/* 088220 7F0536F0 10000002 */ b .L7F0536FC +/* 088224 7F0536F4 AE0200CC */ sw $v0, 0xcc($s0) +.L7F0536F8: +/* 088228 7F0536F8 AE0000CC */ sw $zero, 0xcc($s0) +.L7F0536FC: +/* 08822C 7F0536FC 8FA30034 */ lw $v1, 0x34($sp) +/* 088230 7F053700 8FA20044 */ lw $v0, 0x44($sp) +/* 088234 7F053704 2418FFFF */ li $t8, -1 +/* 088238 7F053708 AE1800F0 */ sw $t8, 0xf0($s0) +/* 08823C 7F05370C AE0000F4 */ sw $zero, 0xf4($s0) +/* 088240 7F053710 AE0000F8 */ sw $zero, 0xf8($s0) +/* 088244 7F053714 24190002 */ li $t9, 2 +/* 088248 7F053718 A2390000 */ sb $t9, ($s1) +/* 08824C 7F05371C AE300004 */ sw $s0, 4($s1) +/* 088250 7F053720 C4660000 */ lwc1 $f6, ($v1) +/* 088254 7F053724 02002025 */ move $a0, $s0 +/* 088258 7F053728 E6260008 */ swc1 $f6, 8($s1) +/* 08825C 7F05372C C4680004 */ lwc1 $f8, 4($v1) +/* 088260 7F053730 E628000C */ swc1 $f8, 0xc($s1) +/* 088264 7F053734 C46A0008 */ lwc1 $f10, 8($v1) +/* 088268 7F053738 E62A0010 */ swc1 $f10, 0x10($s1) +/* 08826C 7F05373C 8FA8003C */ lw $t0, 0x3c($sp) +/* 088270 7F053740 AE280014 */ sw $t0, 0x14($s1) +/* 088274 7F053744 C4500000 */ lwc1 $f16, ($v0) +/* 088278 7F053748 8E090008 */ lw $t1, 8($s0) +/* 08827C 7F05374C E6100058 */ swc1 $f16, 0x58($s0) +/* 088280 7F053750 C4520004 */ lwc1 $f18, 4($v0) +/* 088284 7F053754 352A0100 */ ori $t2, $t1, 0x100 +/* 088288 7F053758 E612005C */ swc1 $f18, 0x5c($s0) +/* 08828C 7F05375C C4440008 */ lwc1 $f4, 8($v0) +/* 088290 7F053760 AE0A0008 */ sw $t2, 8($s0) +/* 088294 7F053764 0FC14AC0 */ jal sub_GAME_7F052B00 +/* 088298 7F053768 E6040060 */ swc1 $f4, 0x60($s0) +/* 08829C 7F05376C 0FC14B63 */ jal sub_GAME_7F052D8C +/* 0882A0 7F053770 02002025 */ move $a0, $s0 +/* 0882A4 7F053774 8E040010 */ lw $a0, 0x10($s0) +/* 0882A8 7F053778 0FC100AD */ jal sub_GAME_7F0402B4 +/* 0882AC 7F05377C 2605007C */ addiu $a1, $s0, 0x7c +/* 0882B0 7F053780 920B007C */ lbu $t3, 0x7c($s0) +/* 0882B4 7F053784 920C007D */ lbu $t4, 0x7d($s0) +/* 0882B8 7F053788 920D007E */ lbu $t5, 0x7e($s0) +/* 0882BC 7F05378C 920E007F */ lbu $t6, 0x7f($s0) +/* 0882C0 7F053790 A20B0078 */ sb $t3, 0x78($s0) +/* 0882C4 7F053794 A20C0079 */ sb $t4, 0x79($s0) +/* 0882C8 7F053798 A20D007A */ sb $t5, 0x7a($s0) +/* 0882CC 7F05379C A20E007B */ sb $t6, 0x7b($s0) +/* 0882D0 7F0537A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0882D4 7F0537A4 02201025 */ move $v0, $s1 +/* 0882D8 7F0537A8 8FB10018 */ lw $s1, 0x18($sp) +/* 0882DC 7F0537AC 8FB00014 */ lw $s0, 0x14($sp) +/* 0882E0 7F0537B0 03E00008 */ jr $ra +/* 0882E4 7F0537B4 27BD0030 */ addiu $sp, $sp, 0x30 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0537B8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0537B8 +/* 0882E8 7F0537B8 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0882EC 7F0537BC 44810000 */ mtc1 $at, $f0 +/* 0882F0 7F0537C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0882F4 7F0537C4 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 0882F8 7F0537C8 4600603E */ c.le.s $f12, $f0 +/* 0882FC 7F0537CC AFA60028 */ sw $a2, 0x28($sp) +/* 088300 7F0537D0 46006506 */ mov.s $f20, $f12 +/* 088304 7F0537D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 088308 7F0537D8 45000003 */ bc1f .L7F0537E8 +/* 08830C 7F0537DC C7A40028 */ lwc1 $f4, 0x28($sp) +/* 088310 7F0537E0 10000027 */ b .L7F053880 +/* 088314 7F0537E4 24037FFF */ li $v1, 32767 +.L7F0537E8: +/* 088318 7F0537E8 4614203E */ c.le.s $f4, $f20 +/* 08831C 7F0537EC 00000000 */ nop +/* 088320 7F0537F0 45020004 */ bc1fl .L7F053804 +/* 088324 7F0537F4 4614703E */ c.le.s $f14, $f20 +/* 088328 7F0537F8 10000021 */ b .L7F053880 +/* 08832C 7F0537FC 00001825 */ move $v1, $zero +/* 088330 7F053800 4614703E */ c.le.s $f14, $f20 +.L7F053804: +/* 088334 7F053804 C7A60028 */ lwc1 $f6, 0x28($sp) +/* 088338 7F053808 3C018005 */ lui $at, %hi(D_80053340) +/* 08833C 7F05380C 4502000B */ bc1fl .L7F05383C +/* 088340 7F053810 4600A301 */ sub.s $f12, $f20, $f0 +/* 088344 7F053814 46143201 */ sub.s $f8, $f6, $f20 +/* 088348 7F053818 C42A3340 */ lwc1 $f10, %lo(D_80053340)($at) +/* 08834C 7F05381C 460E3481 */ sub.s $f18, $f6, $f14 +/* 088350 7F053820 460A4402 */ mul.s $f16, $f8, $f10 +/* 088354 7F053824 46128103 */ div.s $f4, $f16, $f18 +/* 088358 7F053828 4600220D */ trunc.w.s $f8, $f4 +/* 08835C 7F05382C 44034000 */ mfc1 $v1, $f8 +/* 088360 7F053830 10000014 */ b .L7F053884 +/* 088364 7F053834 8FBF001C */ lw $ra, 0x1c($sp) +/* 088368 7F053838 4600A301 */ sub.s $f12, $f20, $f0 +.L7F05383C: +/* 08836C 7F05383C 0C007DF8 */ jal sqrtf +/* 088370 7F053840 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 088374 7F053844 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 088378 7F053848 44815000 */ mtc1 $at, $f10 +/* 08837C 7F05384C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 088380 7F053850 46000506 */ mov.s $f20, $f0 +/* 088384 7F053854 0C007DF8 */ jal sqrtf +/* 088388 7F053858 460A7301 */ sub.s $f12, $f14, $f10 +/* 08838C 7F05385C 3C018005 */ lui $at, %hi(D_80053344) +/* 088390 7F053860 C4263344 */ lwc1 $f6, %lo(D_80053344)($at) +/* 088394 7F053864 24197FFF */ li $t9, 32767 +/* 088398 7F053868 4606A402 */ mul.s $f16, $f20, $f6 +/* 08839C 7F05386C 46008483 */ div.s $f18, $f16, $f0 +/* 0883A0 7F053870 4600910D */ trunc.w.s $f4, $f18 +/* 0883A4 7F053874 44182000 */ mfc1 $t8, $f4 +/* 0883A8 7F053878 00000000 */ nop +/* 0883AC 7F05387C 03381823 */ subu $v1, $t9, $t8 +.L7F053880: +/* 0883B0 7F053880 8FBF001C */ lw $ra, 0x1c($sp) +.L7F053884: +/* 0883B4 7F053884 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 0883B8 7F053888 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0883BC 7F05388C 03E00008 */ jr $ra +/* 0883C0 7F053890 00601025 */ move $v0, $v1 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F053894(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F053894 +/* 0883C4 7F053894 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0883C8 7F053898 AFBF002C */ sw $ra, 0x2c($sp) +/* 0883CC 7F05389C AFB10020 */ sw $s1, 0x20($sp) +/* 0883D0 7F0538A0 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 0883D4 7F0538A4 AFA60038 */ sw $a2, 0x38($sp) +/* 0883D8 7F0538A8 00808825 */ move $s1, $a0 +/* 0883DC 7F0538AC AFB30028 */ sw $s3, 0x28($sp) +/* 0883E0 7F0538B0 AFB20024 */ sw $s2, 0x24($sp) +/* 0883E4 7F0538B4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0883E8 7F0538B8 AFA50034 */ sw $a1, 0x34($sp) +/* 0883EC 7F0538BC 0FC26919 */ jal get_num_players +/* 0883F0 7F0538C0 C7B40038 */ lwc1 $f20, 0x38($sp) +/* 0883F4 7F0538C4 1840001D */ blez $v0, .L7F05393C +/* 0883F8 7F0538C8 3C0E8008 */ lui $t6, %hi(ptr_BONDdata_p1) +/* 0883FC 7F0538CC 25D09EE0 */ addiu $s0, $t6, %lo(ptr_BONDdata_p1) +/* 088400 7F0538D0 00027880 */ sll $t7, $v0, 2 +/* 088404 7F0538D4 01F09021 */ addu $s2, $t7, $s0 +/* 088408 7F0538D8 8E180000 */ lw $t8, ($s0) +.L7F0538DC: +/* 08840C 7F0538DC C6260000 */ lwc1 $f6, ($s1) +/* 088410 7F0538E0 C62A0004 */ lwc1 $f10, 4($s1) +/* 088414 7F0538E4 8F0200A8 */ lw $v0, 0xa8($t8) +/* 088418 7F0538E8 C6320008 */ lwc1 $f18, 8($s1) +/* 08841C 7F0538EC C4440008 */ lwc1 $f4, 8($v0) +/* 088420 7F0538F0 C448000C */ lwc1 $f8, 0xc($v0) +/* 088424 7F0538F4 C4500010 */ lwc1 $f16, 0x10($v0) +/* 088428 7F0538F8 46062001 */ sub.s $f0, $f4, $f6 +/* 08842C 7F0538FC 460A4081 */ sub.s $f2, $f8, $f10 +/* 088430 7F053900 46000102 */ mul.s $f4, $f0, $f0 +/* 088434 7F053904 46128381 */ sub.s $f14, $f16, $f18 +/* 088438 7F053908 46021182 */ mul.s $f6, $f2, $f2 +/* 08843C 7F05390C 46062200 */ add.s $f8, $f4, $f6 +/* 088440 7F053910 460E7282 */ mul.s $f10, $f14, $f14 +/* 088444 7F053914 0C007DF8 */ jal sqrtf +/* 088448 7F053918 460A4300 */ add.s $f12, $f8, $f10 +/* 08844C 7F05391C 4614003C */ c.lt.s $f0, $f20 +/* 088450 7F053920 26100004 */ addiu $s0, $s0, 4 +/* 088454 7F053924 0212082B */ sltu $at, $s0, $s2 +/* 088458 7F053928 45000002 */ bc1f .L7F053934 +/* 08845C 7F05392C 00000000 */ nop +/* 088460 7F053930 46000506 */ mov.s $f20, $f0 +.L7F053934: +/* 088464 7F053934 5420FFE9 */ bnezl $at, .L7F0538DC +/* 088468 7F053938 8E180000 */ lw $t8, ($s0) +.L7F05393C: +/* 08846C 7F05393C 4600A306 */ mov.s $f12, $f20 +/* 088470 7F053940 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 088474 7F053944 0FC14DEE */ jal sub_GAME_7F0537B8 +/* 088478 7F053948 8FA60038 */ lw $a2, 0x38($sp) +/* 08847C 7F05394C 8FBF002C */ lw $ra, 0x2c($sp) +/* 088480 7F053950 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 088484 7F053954 8FB0001C */ lw $s0, 0x1c($sp) +/* 088488 7F053958 8FB10020 */ lw $s1, 0x20($sp) +/* 08848C 7F05395C 8FB20024 */ lw $s2, 0x24($sp) +/* 088490 7F053960 8FB30028 */ lw $s3, 0x28($sp) +/* 088494 7F053964 03E00008 */ jr $ra +/* 088498 7F053968 27BD0030 */ addiu $sp, $sp, 0x30 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05396C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05396C +/* 08849C 7F05396C 44866000 */ mtc1 $a2, $f12 +/* 0884A0 7F053970 44877000 */ mtc1 $a3, $f14 +/* 0884A4 7F053974 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0884A8 7F053978 AFA40018 */ sw $a0, 0x18($sp) +/* 0884AC 7F05397C AFA5001C */ sw $a1, 0x1c($sp) +/* 0884B0 7F053980 00A02025 */ move $a0, $a1 +/* 0884B4 7F053984 AFBF0014 */ sw $ra, 0x14($sp) +/* 0884B8 7F053988 44056000 */ mfc1 $a1, $f12 +/* 0884BC 7F05398C 44067000 */ mfc1 $a2, $f14 +/* 0884C0 7F053990 0FC14E25 */ jal sub_GAME_7F053894 +/* 0884C4 7F053994 00000000 */ nop +/* 0884C8 7F053998 8FA40018 */ lw $a0, 0x18($sp) +/* 0884CC 7F05399C 24050008 */ li $a1, 8 +/* 0884D0 7F0539A0 0C002461 */ jal sfx_c_70009184 +/* 0884D4 7F0539A4 00403025 */ move $a2, $v0 +/* 0884D8 7F0539A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0884DC 7F0539AC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0884E0 7F0539B0 03E00008 */ jr $ra +/* 0884E4 7F0539B4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0539B8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0539B8 +/* 0884E8 7F0539B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0884EC 7F0539BC AFBF0014 */ sw $ra, 0x14($sp) +/* 0884F0 7F0539C0 3C018005 */ lui $at, %hi(D_80053348) +/* 0884F4 7F0539C4 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb +/* 0884F8 7F0539C8 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 0884FC 7F0539CC 0FC14DEE */ jal sub_GAME_7F0537B8 +/* 088500 7F0539D0 C42E3348 */ lwc1 $f14, %lo(D_80053348)($at) +/* 088504 7F0539D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 088508 7F0539D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08850C 7F0539DC 03E00008 */ jr $ra +/* 088510 7F0539E0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0539E4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0539E4 +/* 088514 7F0539E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 088518 7F0539E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 08851C 7F0539EC 3C05459C */ lui $a1, (0x459C4000 >> 16) # lui $a1, 0x459c +/* 088520 7F0539F0 3C0645BB */ lui $a2, (0x45BB8000 >> 16) # lui $a2, 0x45bb +/* 088524 7F0539F4 34C68000 */ ori $a2, (0x45BB8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 088528 7F0539F8 0FC14E25 */ jal sub_GAME_7F053894 +/* 08852C 7F0539FC 34A54000 */ ori $a1, (0x459C4000 & 0xFFFF) # ori $a1, $a1, 0x4000 +/* 088530 7F053A00 8FBF0014 */ lw $ra, 0x14($sp) +/* 088534 7F053A04 27BD0018 */ addiu $sp, $sp, 0x18 +/* 088538 7F053A08 03E00008 */ jr $ra +/* 08853C 7F053A0C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F053A10(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F053A10 +/* 088540 7F053A10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 088544 7F053A14 AFBF0014 */ sw $ra, 0x14($sp) +/* 088548 7F053A18 3C06459C */ lui $a2, (0x459C4000 >> 16) # lui $a2, 0x459c +/* 08854C 7F053A1C 3C0745BB */ lui $a3, (0x45BB8000 >> 16) # lui $a3, 0x45bb +/* 088550 7F053A20 34E78000 */ ori $a3, (0x45BB8000 & 0xFFFF) # ori $a3, $a3, 0x8000 +/* 088554 7F053A24 0FC14E5B */ jal sub_GAME_7F05396C +/* 088558 7F053A28 34C64000 */ ori $a2, (0x459C4000 & 0xFFFF) # ori $a2, $a2, 0x4000 +/* 08855C 7F053A2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 088560 7F053A30 27BD0018 */ addiu $sp, $sp, 0x18 +/* 088564 7F053A34 03E00008 */ jr $ra +/* 088568 7F053A38 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F053A3C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F053A3C +/* 08856C 7F053A3C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 088570 7F053A40 AFBF0014 */ sw $ra, 0x14($sp) +/* 088574 7F053A44 AFA40028 */ sw $a0, 0x28($sp) +/* 088578 7F053A48 8C8500F4 */ lw $a1, 0xf4($a0) +/* 08857C 7F053A4C 0005182B */ sltu $v1, $zero, $a1 +/* 088580 7F053A50 50600005 */ beql $v1, $zero, .L7F053A68 +/* 088584 7F053A54 8FAF0028 */ lw $t7, 0x28($sp) +/* 088588 7F053A58 0C00237C */ jal sfxGetArg0Unk3F +/* 08858C 7F053A5C 00A02025 */ move $a0, $a1 +/* 088590 7F053A60 0002182B */ sltu $v1, $zero, $v0 +/* 088594 7F053A64 8FAF0028 */ lw $t7, 0x28($sp) +.L7F053A68: +/* 088598 7F053A68 AFA30024 */ sw $v1, 0x24($sp) +/* 08859C 7F053A6C 8DE400F8 */ lw $a0, 0xf8($t7) +/* 0885A0 7F053A70 0004182B */ sltu $v1, $zero, $a0 +/* 0885A4 7F053A74 50600005 */ beql $v1, $zero, .L7F053A8C +/* 0885A8 7F053A78 8FB80024 */ lw $t8, 0x24($sp) +/* 0885AC 7F053A7C 0C00237C */ jal sfxGetArg0Unk3F +/* 0885B0 7F053A80 00000000 */ nop +/* 0885B4 7F053A84 0002182B */ sltu $v1, $zero, $v0 +/* 0885B8 7F053A88 8FB80024 */ lw $t8, 0x24($sp) +.L7F053A8C: +/* 0885BC 7F053A8C 8FB90028 */ lw $t9, 0x28($sp) +/* 0885C0 7F053A90 57000004 */ bnezl $t8, .L7F053AA4 +/* 0885C4 7F053A94 8F240010 */ lw $a0, 0x10($t9) +/* 0885C8 7F053A98 5060001A */ beql $v1, $zero, .L7F053B04 +/* 0885CC 7F053A9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0885D0 7F053AA0 8F240010 */ lw $a0, 0x10($t9) +.L7F053AA4: +/* 0885D4 7F053AA4 AFA30018 */ sw $v1, 0x18($sp) +/* 0885D8 7F053AA8 0FC14E79 */ jal sub_GAME_7F0539E4 +/* 0885DC 7F053AAC 24840008 */ addiu $a0, $a0, 8 +/* 0885E0 7F053AB0 0FC2FF01 */ jal get_controls_locked_flag +/* 0885E4 7F053AB4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0885E8 7F053AB8 10400002 */ beqz $v0, .L7F053AC4 +/* 0885EC 7F053ABC 8FA30018 */ lw $v1, 0x18($sp) +/* 0885F0 7F053AC0 AFA0001C */ sw $zero, 0x1c($sp) +.L7F053AC4: +/* 0885F4 7F053AC4 8FA80024 */ lw $t0, 0x24($sp) +/* 0885F8 7F053AC8 8FA90028 */ lw $t1, 0x28($sp) +/* 0885FC 7F053ACC 24050008 */ li $a1, 8 +/* 088600 7F053AD0 11000005 */ beqz $t0, .L7F053AE8 +/* 088604 7F053AD4 8FA6001C */ lw $a2, 0x1c($sp) +/* 088608 7F053AD8 8D2400F4 */ lw $a0, 0xf4($t1) +/* 08860C 7F053ADC 0C002461 */ jal sfx_c_70009184 +/* 088610 7F053AE0 AFA30018 */ sw $v1, 0x18($sp) +/* 088614 7F053AE4 8FA30018 */ lw $v1, 0x18($sp) +.L7F053AE8: +/* 088618 7F053AE8 10600005 */ beqz $v1, .L7F053B00 +/* 08861C 7F053AEC 8FAA0028 */ lw $t2, 0x28($sp) +/* 088620 7F053AF0 8D4400F8 */ lw $a0, 0xf8($t2) +/* 088624 7F053AF4 24050008 */ li $a1, 8 +/* 088628 7F053AF8 0C002461 */ jal sfx_c_70009184 +/* 08862C 7F053AFC 8FA6001C */ lw $a2, 0x1c($sp) +.L7F053B00: +/* 088630 7F053B00 8FBF0014 */ lw $ra, 0x14($sp) +.L7F053B04: +/* 088634 7F053B04 27BD0028 */ addiu $sp, $sp, 0x28 +/* 088638 7F053B08 03E00008 */ jr $ra +/* 08863C 7F053B0C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F053B10(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F053B10 +/* 088640 7F053B10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 088644 7F053B14 AFBF0014 */ sw $ra, 0x14($sp) +/* 088648 7F053B18 AFA40018 */ sw $a0, 0x18($sp) +/* 08864C 7F053B1C 8C8500F4 */ lw $a1, 0xf4($a0) +/* 088650 7F053B20 50A00008 */ beql $a1, $zero, .L7F053B44 +/* 088654 7F053B24 8FB80018 */ lw $t8, 0x18($sp) +/* 088658 7F053B28 0C00237C */ jal sfxGetArg0Unk3F +/* 08865C 7F053B2C 00A02025 */ move $a0, $a1 +/* 088660 7F053B30 10400003 */ beqz $v0, .L7F053B40 +/* 088664 7F053B34 8FAF0018 */ lw $t7, 0x18($sp) +/* 088668 7F053B38 0C002408 */ jal sfxDeactivate +/* 08866C 7F053B3C 8DE400F4 */ lw $a0, 0xf4($t7) +.L7F053B40: +/* 088670 7F053B40 8FB80018 */ lw $t8, 0x18($sp) +.L7F053B44: +/* 088674 7F053B44 8F0400F8 */ lw $a0, 0xf8($t8) +/* 088678 7F053B48 50800008 */ beql $a0, $zero, .L7F053B6C +/* 08867C 7F053B4C 8FBF0014 */ lw $ra, 0x14($sp) +/* 088680 7F053B50 0C00237C */ jal sfxGetArg0Unk3F +/* 088684 7F053B54 00000000 */ nop +/* 088688 7F053B58 10400003 */ beqz $v0, .L7F053B68 +/* 08868C 7F053B5C 8FB90018 */ lw $t9, 0x18($sp) +/* 088690 7F053B60 0C002408 */ jal sfxDeactivate +/* 088694 7F053B64 8F2400F8 */ lw $a0, 0xf8($t9) +.L7F053B68: +/* 088698 7F053B68 8FBF0014 */ lw $ra, 0x14($sp) +.L7F053B6C: +/* 08869C 7F053B6C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0886A0 7F053B70 03E00008 */ jr $ra +/* 0886A4 7F053B74 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void play_door_opening_soundeffect_0(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:8005334C*/ +glabel door_opening_sound_table_0 +.word .L7F053BEC +.word .L7F053C2C +.word .L7F053C6C +.word .L7F053CAC +.word .L7F053CEC +.word .L7F053D08 +.word .L7F053D24 +.word .L7F053D64 +.word .L7F053DA4 +.word .L7F053DC4 +.word .L7F053DE0 +.word .L7F053DFC +.word .L7F053E18 +.word .L7F053E58 +.word .L7F053E78 +.word .L7F053E98 +.word .L7F053EB4 + +.text +glabel play_door_opening_soundeffect_0 +/* 0886A8 7F053B78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0886AC 7F053B7C AFBF0014 */ sw $ra, 0x14($sp) +/* 0886B0 7F053B80 AFA40020 */ sw $a0, 0x20($sp) +/* 0886B4 7F053B84 AFA0001C */ sw $zero, 0x1c($sp) +/* 0886B8 7F053B88 0FC14EC4 */ jal sub_GAME_7F053B10 +/* 0886BC 7F053B8C AFA00018 */ sw $zero, 0x18($sp) +/* 0886C0 7F053B90 8FAE0020 */ lw $t6, 0x20($sp) +/* 0886C4 7F053B94 8FA70018 */ lw $a3, 0x18($sp) +/* 0886C8 7F053B98 8FB80020 */ lw $t8, 0x20($sp) +/* 0886CC 7F053B9C 8DCF00F4 */ lw $t7, 0xf4($t6) +/* 0886D0 7F053BA0 8FA80020 */ lw $t0, 0x20($sp) +/* 0886D4 7F053BA4 55E00004 */ bnezl $t7, .L7F053BB8 +/* 0886D8 7F053BA8 8F1900F8 */ lw $t9, 0xf8($t8) +/* 0886DC 7F053BAC 10000005 */ b .L7F053BC4 +/* 0886E0 7F053BB0 25C700F4 */ addiu $a3, $t6, 0xf4 +/* 0886E4 7F053BB4 8F1900F8 */ lw $t9, 0xf8($t8) +.L7F053BB8: +/* 0886E8 7F053BB8 57200003 */ bnezl $t9, .L7F053BC8 +/* 0886EC 7F053BBC 8D0900A4 */ lw $t1, 0xa4($t0) +/* 0886F0 7F053BC0 270700F8 */ addiu $a3, $t8, 0xf8 +.L7F053BC4: +/* 0886F4 7F053BC4 8D0900A4 */ lw $t1, 0xa4($t0) +.L7F053BC8: +/* 0886F8 7F053BC8 252AFFFF */ addiu $t2, $t1, -1 +/* 0886FC 7F053BCC 2D410011 */ sltiu $at, $t2, 0x11 +/* 088700 7F053BD0 102000D6 */ beqz $at, .L7F053F2C +/* 088704 7F053BD4 000A5080 */ sll $t2, $t2, 2 +/* 088708 7F053BD8 3C018005 */ lui $at, %hi(door_opening_sound_table_0) +/* 08870C 7F053BDC 002A0821 */ addu $at, $at, $t2 +/* 088710 7F053BE0 8C2A334C */ lw $t2, %lo(door_opening_sound_table_0)($at) +/* 088714 7F053BE4 01400008 */ jr $t2 +/* 088718 7F053BE8 00000000 */ nop +.L7F053BEC: +/* 08871C 7F053BEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088720 7F053BF0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088724 7F053BF4 240500D2 */ li $a1, 210 +/* 088728 7F053BF8 00003025 */ move $a2, $zero +/* 08872C 7F053BFC 0C002382 */ jal play_sfx_a1 +/* 088730 7F053C00 AFA70018 */ sw $a3, 0x18($sp) +/* 088734 7F053C04 8FA70018 */ lw $a3, 0x18($sp) +/* 088738 7F053C08 AFA2001C */ sw $v0, 0x1c($sp) +/* 08873C 7F053C0C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088740 7F053C10 10E000C6 */ beqz $a3, .L7F053F2C +/* 088744 7F053C14 240500D3 */ li $a1, 211 +/* 088748 7F053C18 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08874C 7F053C1C 0C002382 */ jal play_sfx_a1 +/* 088750 7F053C20 00E03025 */ move $a2, $a3 +/* 088754 7F053C24 100000C2 */ b .L7F053F30 +/* 088758 7F053C28 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053C2C: +/* 08875C 7F053C2C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088760 7F053C30 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088764 7F053C34 240500D2 */ li $a1, 210 +/* 088768 7F053C38 00003025 */ move $a2, $zero +/* 08876C 7F053C3C 0C002382 */ jal play_sfx_a1 +/* 088770 7F053C40 AFA70018 */ sw $a3, 0x18($sp) +/* 088774 7F053C44 8FA70018 */ lw $a3, 0x18($sp) +/* 088778 7F053C48 AFA2001C */ sw $v0, 0x1c($sp) +/* 08877C 7F053C4C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088780 7F053C50 10E000B6 */ beqz $a3, .L7F053F2C +/* 088784 7F053C54 24050007 */ li $a1, 7 +/* 088788 7F053C58 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08878C 7F053C5C 0C002382 */ jal play_sfx_a1 +/* 088790 7F053C60 00E03025 */ move $a2, $a3 +/* 088794 7F053C64 100000B2 */ b .L7F053F30 +/* 088798 7F053C68 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053C6C: +/* 08879C 7F053C6C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0887A0 7F053C70 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0887A4 7F053C74 240500CA */ li $a1, 202 +/* 0887A8 7F053C78 00003025 */ move $a2, $zero +/* 0887AC 7F053C7C 0C002382 */ jal play_sfx_a1 +/* 0887B0 7F053C80 AFA70018 */ sw $a3, 0x18($sp) +/* 0887B4 7F053C84 8FA70018 */ lw $a3, 0x18($sp) +/* 0887B8 7F053C88 AFA2001C */ sw $v0, 0x1c($sp) +/* 0887BC 7F053C8C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0887C0 7F053C90 10E000A6 */ beqz $a3, .L7F053F2C +/* 0887C4 7F053C94 240500CC */ li $a1, 204 +/* 0887C8 7F053C98 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0887CC 7F053C9C 0C002382 */ jal play_sfx_a1 +/* 0887D0 7F053CA0 00E03025 */ move $a2, $a3 +/* 0887D4 7F053CA4 100000A2 */ b .L7F053F30 +/* 0887D8 7F053CA8 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053CAC: +/* 0887DC 7F053CAC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0887E0 7F053CB0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0887E4 7F053CB4 240500D6 */ li $a1, 214 +/* 0887E8 7F053CB8 00003025 */ move $a2, $zero +/* 0887EC 7F053CBC 0C002382 */ jal play_sfx_a1 +/* 0887F0 7F053CC0 AFA70018 */ sw $a3, 0x18($sp) +/* 0887F4 7F053CC4 8FA70018 */ lw $a3, 0x18($sp) +/* 0887F8 7F053CC8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0887FC 7F053CCC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088800 7F053CD0 10E00096 */ beqz $a3, .L7F053F2C +/* 088804 7F053CD4 240500D8 */ li $a1, 216 +/* 088808 7F053CD8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08880C 7F053CDC 0C002382 */ jal play_sfx_a1 +/* 088810 7F053CE0 00E03025 */ move $a2, $a3 +/* 088814 7F053CE4 10000092 */ b .L7F053F30 +/* 088818 7F053CE8 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053CEC: +/* 08881C 7F053CEC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088820 7F053CF0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088824 7F053CF4 240500BC */ li $a1, 188 +/* 088828 7F053CF8 0C002382 */ jal play_sfx_a1 +/* 08882C 7F053CFC 00003025 */ move $a2, $zero +/* 088830 7F053D00 1000008A */ b .L7F053F2C +/* 088834 7F053D04 AFA2001C */ sw $v0, 0x1c($sp) +.L7F053D08: +/* 088838 7F053D08 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 08883C 7F053D0C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088840 7F053D10 24050007 */ li $a1, 7 +/* 088844 7F053D14 0C002382 */ jal play_sfx_a1 +/* 088848 7F053D18 00003025 */ move $a2, $zero +/* 08884C 7F053D1C 10000083 */ b .L7F053F2C +/* 088850 7F053D20 AFA2001C */ sw $v0, 0x1c($sp) +.L7F053D24: +/* 088854 7F053D24 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088858 7F053D28 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08885C 7F053D2C 240500C0 */ li $a1, 192 +/* 088860 7F053D30 00003025 */ move $a2, $zero +/* 088864 7F053D34 0C002382 */ jal play_sfx_a1 +/* 088868 7F053D38 AFA70018 */ sw $a3, 0x18($sp) +/* 08886C 7F053D3C 8FA70018 */ lw $a3, 0x18($sp) +/* 088870 7F053D40 AFA2001C */ sw $v0, 0x1c($sp) +/* 088874 7F053D44 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088878 7F053D48 10E00078 */ beqz $a3, .L7F053F2C +/* 08887C 7F053D4C 240500BF */ li $a1, 191 +/* 088880 7F053D50 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088884 7F053D54 0C002382 */ jal play_sfx_a1 +/* 088888 7F053D58 00E03025 */ move $a2, $a3 +/* 08888C 7F053D5C 10000074 */ b .L7F053F30 +/* 088890 7F053D60 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053D64: +/* 088894 7F053D64 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088898 7F053D68 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08889C 7F053D6C 240500BC */ li $a1, 188 +/* 0888A0 7F053D70 00003025 */ move $a2, $zero +/* 0888A4 7F053D74 0C002382 */ jal play_sfx_a1 +/* 0888A8 7F053D78 AFA70018 */ sw $a3, 0x18($sp) +/* 0888AC 7F053D7C 8FA70018 */ lw $a3, 0x18($sp) +/* 0888B0 7F053D80 AFA2001C */ sw $v0, 0x1c($sp) +/* 0888B4 7F053D84 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0888B8 7F053D88 10E00068 */ beqz $a3, .L7F053F2C +/* 0888BC 7F053D8C 24050007 */ li $a1, 7 +/* 0888C0 7F053D90 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0888C4 7F053D94 0C002382 */ jal play_sfx_a1 +/* 0888C8 7F053D98 00E03025 */ move $a2, $a3 +/* 0888CC 7F053D9C 10000064 */ b .L7F053F30 +/* 0888D0 7F053DA0 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053DA4: +/* 0888D4 7F053DA4 10E00061 */ beqz $a3, .L7F053F2C +/* 0888D8 7F053DA8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0888DC 7F053DAC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0888E0 7F053DB0 240500C2 */ li $a1, 194 +/* 0888E4 7F053DB4 0C002382 */ jal play_sfx_a1 +/* 0888E8 7F053DB8 00E03025 */ move $a2, $a3 +/* 0888EC 7F053DBC 1000005C */ b .L7F053F30 +/* 0888F0 7F053DC0 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053DC4: +/* 0888F4 7F053DC4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0888F8 7F053DC8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0888FC 7F053DCC 240500C4 */ li $a1, 196 +/* 088900 7F053DD0 0C002382 */ jal play_sfx_a1 +/* 088904 7F053DD4 00003025 */ move $a2, $zero +/* 088908 7F053DD8 10000054 */ b .L7F053F2C +/* 08890C 7F053DDC AFA2001C */ sw $v0, 0x1c($sp) +.L7F053DE0: +/* 088910 7F053DE0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088914 7F053DE4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088918 7F053DE8 24050007 */ li $a1, 7 +/* 08891C 7F053DEC 0C002382 */ jal play_sfx_a1 +/* 088920 7F053DF0 00003025 */ move $a2, $zero +/* 088924 7F053DF4 1000004D */ b .L7F053F2C +/* 088928 7F053DF8 AFA2001C */ sw $v0, 0x1c($sp) +.L7F053DFC: +/* 08892C 7F053DFC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088930 7F053E00 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088934 7F053E04 240500C8 */ li $a1, 200 +/* 088938 7F053E08 0C002382 */ jal play_sfx_a1 +/* 08893C 7F053E0C 00003025 */ move $a2, $zero +/* 088940 7F053E10 10000046 */ b .L7F053F2C +/* 088944 7F053E14 AFA2001C */ sw $v0, 0x1c($sp) +.L7F053E18: +/* 088948 7F053E18 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 08894C 7F053E1C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088950 7F053E20 24050007 */ li $a1, 7 +/* 088954 7F053E24 00003025 */ move $a2, $zero +/* 088958 7F053E28 0C002382 */ jal play_sfx_a1 +/* 08895C 7F053E2C AFA70018 */ sw $a3, 0x18($sp) +/* 088960 7F053E30 8FA70018 */ lw $a3, 0x18($sp) +/* 088964 7F053E34 AFA2001C */ sw $v0, 0x1c($sp) +/* 088968 7F053E38 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 08896C 7F053E3C 10E0003B */ beqz $a3, .L7F053F2C +/* 088970 7F053E40 24050007 */ li $a1, 7 +/* 088974 7F053E44 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088978 7F053E48 0C002382 */ jal play_sfx_a1 +/* 08897C 7F053E4C 00E03025 */ move $a2, $a3 +/* 088980 7F053E50 10000037 */ b .L7F053F30 +/* 088984 7F053E54 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053E58: +/* 088988 7F053E58 10E00034 */ beqz $a3, .L7F053F2C +/* 08898C 7F053E5C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088990 7F053E60 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088994 7F053E64 240500DA */ li $a1, 218 +/* 088998 7F053E68 0C002382 */ jal play_sfx_a1 +/* 08899C 7F053E6C 00E03025 */ move $a2, $a3 +/* 0889A0 7F053E70 1000002F */ b .L7F053F30 +/* 0889A4 7F053E74 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053E78: +/* 0889A8 7F053E78 10E0002C */ beqz $a3, .L7F053F2C +/* 0889AC 7F053E7C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0889B0 7F053E80 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0889B4 7F053E84 240500E1 */ li $a1, 225 +/* 0889B8 7F053E88 0C002382 */ jal play_sfx_a1 +/* 0889BC 7F053E8C 00E03025 */ move $a2, $a3 +/* 0889C0 7F053E90 10000027 */ b .L7F053F30 +/* 0889C4 7F053E94 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053E98: +/* 0889C8 7F053E98 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0889CC 7F053E9C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0889D0 7F053EA0 240500D6 */ li $a1, 214 +/* 0889D4 7F053EA4 0C002382 */ jal play_sfx_a1 +/* 0889D8 7F053EA8 00003025 */ move $a2, $zero +/* 0889DC 7F053EAC 1000001F */ b .L7F053F2C +/* 0889E0 7F053EB0 AFA2001C */ sw $v0, 0x1c($sp) +.L7F053EB4: +/* 0889E4 7F053EB4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0889E8 7F053EB8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0889EC 7F053EBC 24050007 */ li $a1, 7 +/* 0889F0 7F053EC0 00003025 */ move $a2, $zero +/* 0889F4 7F053EC4 0C002382 */ jal play_sfx_a1 +/* 0889F8 7F053EC8 AFA70018 */ sw $a3, 0x18($sp) +/* 0889FC 7F053ECC 8FA70018 */ lw $a3, 0x18($sp) +/* 088A00 7F053ED0 10400008 */ beqz $v0, .L7F053EF4 +/* 088A04 7F053ED4 AFA2001C */ sw $v0, 0x1c($sp) +/* 088A08 7F053ED8 8FAB0020 */ lw $t3, 0x20($sp) +/* 088A0C 7F053EDC 00402025 */ move $a0, $v0 +/* 088A10 7F053EE0 8D650010 */ lw $a1, 0x10($t3) +/* 088A14 7F053EE4 AFA70018 */ sw $a3, 0x18($sp) +/* 088A18 7F053EE8 0FC14E84 */ jal sub_GAME_7F053A10 +/* 088A1C 7F053EEC 24A50008 */ addiu $a1, $a1, 8 +/* 088A20 7F053EF0 8FA70018 */ lw $a3, 0x18($sp) +.L7F053EF4: +/* 088A24 7F053EF4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088A28 7F053EF8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088A2C 7F053EFC 240500CA */ li $a1, 202 +/* 088A30 7F053F00 00003025 */ move $a2, $zero +/* 088A34 7F053F04 0C002382 */ jal play_sfx_a1 +/* 088A38 7F053F08 AFA70018 */ sw $a3, 0x18($sp) +/* 088A3C 7F053F0C 8FA70018 */ lw $a3, 0x18($sp) +/* 088A40 7F053F10 AFA2001C */ sw $v0, 0x1c($sp) +/* 088A44 7F053F14 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088A48 7F053F18 10E00004 */ beqz $a3, .L7F053F2C +/* 088A4C 7F053F1C 240500CC */ li $a1, 204 +/* 088A50 7F053F20 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088A54 7F053F24 0C002382 */ jal play_sfx_a1 +/* 088A58 7F053F28 00E03025 */ move $a2, $a3 +def_7F053BE4: +.L7F053F2C: +/* 088A5C 7F053F2C 8FAC001C */ lw $t4, 0x1c($sp) +.L7F053F30: +/* 088A60 7F053F30 8FAD0020 */ lw $t5, 0x20($sp) +/* 088A64 7F053F34 11800005 */ beqz $t4, .L7F053F4C +/* 088A68 7F053F38 00000000 */ nop +/* 088A6C 7F053F3C 8DA50010 */ lw $a1, 0x10($t5) +/* 088A70 7F053F40 01802025 */ move $a0, $t4 +/* 088A74 7F053F44 0FC14E84 */ jal sub_GAME_7F053A10 +/* 088A78 7F053F48 24A50008 */ addiu $a1, $a1, 8 +.L7F053F4C: +/* 088A7C 7F053F4C 0FC14E8F */ jal sub_GAME_7F053A3C +/* 088A80 7F053F50 8FA40020 */ lw $a0, 0x20($sp) +/* 088A84 7F053F54 8FBF0014 */ lw $ra, 0x14($sp) +/* 088A88 7F053F58 27BD0020 */ addiu $sp, $sp, 0x20 +/* 088A8C 7F053F5C 03E00008 */ jr $ra +/* 088A90 7F053F60 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void play_door_opening_soundeffect_1(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80053390*/ +glabel door_opening_sound_table_1 +.word .L7F053FD8 +.word .L7F054018 +.word .L7F054058 +.word .L7F054098 +.word .L7F05428C +.word .L7F05428C +.word .L7F0540D8 +.word .L7F054118 +.word .L7F054158 +.word .L7F05428C +.word .L7F05428C +.word .L7F05428C +.word .L7F054178 +.word .L7F0541B8 +.word .L7F0541D8 +.word .L7F0541F8 +.word .L7F054214 +.text +glabel play_door_opening_soundeffect_1 +/* 088A94 7F053F64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 088A98 7F053F68 AFBF0014 */ sw $ra, 0x14($sp) +/* 088A9C 7F053F6C AFA40020 */ sw $a0, 0x20($sp) +/* 088AA0 7F053F70 AFA0001C */ sw $zero, 0x1c($sp) +/* 088AA4 7F053F74 0FC14EC4 */ jal sub_GAME_7F053B10 +/* 088AA8 7F053F78 AFA00018 */ sw $zero, 0x18($sp) +/* 088AAC 7F053F7C 8FAE0020 */ lw $t6, 0x20($sp) +/* 088AB0 7F053F80 8FA70018 */ lw $a3, 0x18($sp) +/* 088AB4 7F053F84 8FB80020 */ lw $t8, 0x20($sp) +/* 088AB8 7F053F88 8DCF00F4 */ lw $t7, 0xf4($t6) +/* 088ABC 7F053F8C 8FA80020 */ lw $t0, 0x20($sp) +/* 088AC0 7F053F90 55E00004 */ bnezl $t7, .L7F053FA4 +/* 088AC4 7F053F94 8F1900F8 */ lw $t9, 0xf8($t8) +/* 088AC8 7F053F98 10000005 */ b .L7F053FB0 +/* 088ACC 7F053F9C 25C700F4 */ addiu $a3, $t6, 0xf4 +/* 088AD0 7F053FA0 8F1900F8 */ lw $t9, 0xf8($t8) +.L7F053FA4: +/* 088AD4 7F053FA4 57200003 */ bnezl $t9, .L7F053FB4 +/* 088AD8 7F053FA8 8D0900A4 */ lw $t1, 0xa4($t0) +/* 088ADC 7F053FAC 270700F8 */ addiu $a3, $t8, 0xf8 +.L7F053FB0: +/* 088AE0 7F053FB0 8D0900A4 */ lw $t1, 0xa4($t0) +.L7F053FB4: +/* 088AE4 7F053FB4 252AFFFF */ addiu $t2, $t1, -1 +/* 088AE8 7F053FB8 2D410011 */ sltiu $at, $t2, 0x11 +/* 088AEC 7F053FBC 102000B3 */ beqz $at, .L7F05428C +/* 088AF0 7F053FC0 000A5080 */ sll $t2, $t2, 2 +/* 088AF4 7F053FC4 3C018005 */ lui $at, %hi(door_opening_sound_table_1) +/* 088AF8 7F053FC8 002A0821 */ addu $at, $at, $t2 +/* 088AFC 7F053FCC 8C2A3390 */ lw $t2, %lo(door_opening_sound_table_1)($at) +.L7F053FD0: +/* 088B00 7F053FD0 01400008 */ jr $t2 +/* 088B04 7F053FD4 00000000 */ nop +.L7F053FD8: +/* 088B08 7F053FD8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088B0C 7F053FDC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088B10 7F053FE0 240500D2 */ li $a1, 210 +/* 088B14 7F053FE4 00003025 */ move $a2, $zero +/* 088B18 7F053FE8 0C002382 */ jal play_sfx_a1 +/* 088B1C 7F053FEC AFA70018 */ sw $a3, 0x18($sp) +/* 088B20 7F053FF0 8FA70018 */ lw $a3, 0x18($sp) +/* 088B24 7F053FF4 AFA2001C */ sw $v0, 0x1c($sp) +/* 088B28 7F053FF8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088B2C 7F053FFC 10E000A3 */ beqz $a3, .L7F05428C +/* 088B30 7F054000 240500D3 */ li $a1, 211 +/* 088B34 7F054004 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088B38 7F054008 0C002382 */ jal play_sfx_a1 +/* 088B3C 7F05400C 00E03025 */ move $a2, $a3 +/* 088B40 7F054010 1000009F */ b .L7F054290 +/* 088B44 7F054014 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054018: +/* 088B48 7F054018 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088B4C 7F05401C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088B50 7F054020 240500D2 */ li $a1, 210 +/* 088B54 7F054024 00003025 */ move $a2, $zero +/* 088B58 7F054028 0C002382 */ jal play_sfx_a1 +/* 088B5C 7F05402C AFA70018 */ sw $a3, 0x18($sp) +/* 088B60 7F054030 8FA70018 */ lw $a3, 0x18($sp) +/* 088B64 7F054034 AFA2001C */ sw $v0, 0x1c($sp) +/* 088B68 7F054038 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088B6C 7F05403C 10E00093 */ beqz $a3, .L7F05428C +/* 088B70 7F054040 24050007 */ li $a1, 7 +/* 088B74 7F054044 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088B78 7F054048 0C002382 */ jal play_sfx_a1 +/* 088B7C 7F05404C 00E03025 */ move $a2, $a3 +/* 088B80 7F054050 1000008F */ b .L7F054290 +/* 088B84 7F054054 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054058: +/* 088B88 7F054058 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088B8C 7F05405C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088B90 7F054060 240500CA */ li $a1, 202 +/* 088B94 7F054064 00003025 */ move $a2, $zero +/* 088B98 7F054068 0C002382 */ jal play_sfx_a1 +/* 088B9C 7F05406C AFA70018 */ sw $a3, 0x18($sp) +/* 088BA0 7F054070 8FA70018 */ lw $a3, 0x18($sp) +/* 088BA4 7F054074 AFA2001C */ sw $v0, 0x1c($sp) +/* 088BA8 7F054078 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088BAC 7F05407C 10E00083 */ beqz $a3, .L7F05428C +/* 088BB0 7F054080 240500CC */ li $a1, 204 +/* 088BB4 7F054084 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088BB8 7F054088 0C002382 */ jal play_sfx_a1 +/* 088BBC 7F05408C 00E03025 */ move $a2, $a3 +/* 088BC0 7F054090 1000007F */ b .L7F054290 +/* 088BC4 7F054094 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054098: +/* 088BC8 7F054098 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088BCC 7F05409C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088BD0 7F0540A0 240500D6 */ li $a1, 214 +/* 088BD4 7F0540A4 00003025 */ move $a2, $zero +/* 088BD8 7F0540A8 0C002382 */ jal play_sfx_a1 +/* 088BDC 7F0540AC AFA70018 */ sw $a3, 0x18($sp) +/* 088BE0 7F0540B0 8FA70018 */ lw $a3, 0x18($sp) +/* 088BE4 7F0540B4 AFA2001C */ sw $v0, 0x1c($sp) +/* 088BE8 7F0540B8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088BEC 7F0540BC 10E00073 */ beqz $a3, .L7F05428C +/* 088BF0 7F0540C0 240500D8 */ li $a1, 216 +/* 088BF4 7F0540C4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088BF8 7F0540C8 0C002382 */ jal play_sfx_a1 +/* 088BFC 7F0540CC 00E03025 */ move $a2, $a3 +/* 088C00 7F0540D0 1000006F */ b .L7F054290 +/* 088C04 7F0540D4 8FAC001C */ lw $t4, 0x1c($sp) +.L7F0540D8: +/* 088C08 7F0540D8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088C0C 7F0540DC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088C10 7F0540E0 240500C0 */ li $a1, 192 +/* 088C14 7F0540E4 00003025 */ move $a2, $zero +/* 088C18 7F0540E8 0C002382 */ jal play_sfx_a1 +/* 088C1C 7F0540EC AFA70018 */ sw $a3, 0x18($sp) +/* 088C20 7F0540F0 8FA70018 */ lw $a3, 0x18($sp) +/* 088C24 7F0540F4 AFA2001C */ sw $v0, 0x1c($sp) +/* 088C28 7F0540F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088C2C 7F0540FC 10E00063 */ beqz $a3, .L7F05428C +/* 088C30 7F054100 240500BF */ li $a1, 191 +/* 088C34 7F054104 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088C38 7F054108 0C002382 */ jal play_sfx_a1 +/* 088C3C 7F05410C 00E03025 */ move $a2, $a3 +/* 088C40 7F054110 1000005F */ b .L7F054290 +/* 088C44 7F054114 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054118: +/* 088C48 7F054118 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088C4C 7F05411C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088C50 7F054120 240500BC */ li $a1, 188 +/* 088C54 7F054124 00003025 */ move $a2, $zero +/* 088C58 7F054128 0C002382 */ jal play_sfx_a1 +/* 088C5C 7F05412C AFA70018 */ sw $a3, 0x18($sp) +/* 088C60 7F054130 8FA70018 */ lw $a3, 0x18($sp) +/* 088C64 7F054134 AFA2001C */ sw $v0, 0x1c($sp) +/* 088C68 7F054138 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088C6C 7F05413C 10E00053 */ beqz $a3, .L7F05428C +/* 088C70 7F054140 24050007 */ li $a1, 7 +/* 088C74 7F054144 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088C78 7F054148 0C002382 */ jal play_sfx_a1 +/* 088C7C 7F05414C 00E03025 */ move $a2, $a3 +/* 088C80 7F054150 1000004F */ b .L7F054290 +/* 088C84 7F054154 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054158: +/* 088C88 7F054158 10E0004C */ beqz $a3, .L7F05428C +/* 088C8C 7F05415C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088C90 7F054160 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088C94 7F054164 240500C2 */ li $a1, 194 +/* 088C98 7F054168 0C002382 */ jal play_sfx_a1 +/* 088C9C 7F05416C 00E03025 */ move $a2, $a3 +/* 088CA0 7F054170 10000047 */ b .L7F054290 +/* 088CA4 7F054174 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054178: +/* 088CA8 7F054178 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088CAC 7F05417C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088CB0 7F054180 24050007 */ li $a1, 7 +/* 088CB4 7F054184 00003025 */ move $a2, $zero +/* 088CB8 7F054188 0C002382 */ jal play_sfx_a1 +/* 088CBC 7F05418C AFA70018 */ sw $a3, 0x18($sp) +/* 088CC0 7F054190 8FA70018 */ lw $a3, 0x18($sp) +/* 088CC4 7F054194 AFA2001C */ sw $v0, 0x1c($sp) +/* 088CC8 7F054198 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088CCC 7F05419C 10E0003B */ beqz $a3, .L7F05428C +/* 088CD0 7F0541A0 24050007 */ li $a1, 7 +/* 088CD4 7F0541A4 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088CD8 7F0541A8 0C002382 */ jal play_sfx_a1 +/* 088CDC 7F0541AC 00E03025 */ move $a2, $a3 +/* 088CE0 7F0541B0 10000037 */ b .L7F054290 +/* 088CE4 7F0541B4 8FAC001C */ lw $t4, 0x1c($sp) +.L7F0541B8: +/* 088CE8 7F0541B8 10E00034 */ beqz $a3, .L7F05428C +/* 088CEC 7F0541BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088CF0 7F0541C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088CF4 7F0541C4 240500DA */ li $a1, 218 +/* 088CF8 7F0541C8 0C002382 */ jal play_sfx_a1 +/* 088CFC 7F0541CC 00E03025 */ move $a2, $a3 +/* 088D00 7F0541D0 1000002F */ b .L7F054290 +/* 088D04 7F0541D4 8FAC001C */ lw $t4, 0x1c($sp) +.L7F0541D8: +/* 088D08 7F0541D8 10E0002C */ beqz $a3, .L7F05428C +/* 088D0C 7F0541DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088D10 7F0541E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088D14 7F0541E4 240500E1 */ li $a1, 225 +/* 088D18 7F0541E8 0C002382 */ jal play_sfx_a1 +/* 088D1C 7F0541EC 00E03025 */ move $a2, $a3 +/* 088D20 7F0541F0 10000027 */ b .L7F054290 +/* 088D24 7F0541F4 8FAC001C */ lw $t4, 0x1c($sp) +.L7F0541F8: +/* 088D28 7F0541F8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088D2C 7F0541FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088D30 7F054200 240500D6 */ li $a1, 214 +/* 088D34 7F054204 0C002382 */ jal play_sfx_a1 +/* 088D38 7F054208 00003025 */ move $a2, $zero +/* 088D3C 7F05420C 1000001F */ b .L7F05428C +/* 088D40 7F054210 AFA2001C */ sw $v0, 0x1c($sp) +.L7F054214: +/* 088D44 7F054214 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088D48 7F054218 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088D4C 7F05421C 24050007 */ li $a1, 7 +/* 088D50 7F054220 00003025 */ move $a2, $zero +/* 088D54 7F054224 0C002382 */ jal play_sfx_a1 +/* 088D58 7F054228 AFA70018 */ sw $a3, 0x18($sp) +/* 088D5C 7F05422C 8FA70018 */ lw $a3, 0x18($sp) +/* 088D60 7F054230 10400008 */ beqz $v0, .L7F054254 +/* 088D64 7F054234 AFA2001C */ sw $v0, 0x1c($sp) +/* 088D68 7F054238 8FAB0020 */ lw $t3, 0x20($sp) +/* 088D6C 7F05423C 00402025 */ move $a0, $v0 +/* 088D70 7F054240 8D650010 */ lw $a1, 0x10($t3) +/* 088D74 7F054244 AFA70018 */ sw $a3, 0x18($sp) +/* 088D78 7F054248 0FC14E84 */ jal sub_GAME_7F053A10 +/* 088D7C 7F05424C 24A50008 */ addiu $a1, $a1, 8 +/* 088D80 7F054250 8FA70018 */ lw $a3, 0x18($sp) +.L7F054254: +/* 088D84 7F054254 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088D88 7F054258 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088D8C 7F05425C 240500CA */ li $a1, 202 +/* 088D90 7F054260 00003025 */ move $a2, $zero +/* 088D94 7F054264 0C002382 */ jal play_sfx_a1 +/* 088D98 7F054268 AFA70018 */ sw $a3, 0x18($sp) +/* 088D9C 7F05426C 8FA70018 */ lw $a3, 0x18($sp) +/* 088DA0 7F054270 AFA2001C */ sw $v0, 0x1c($sp) +/* 088DA4 7F054274 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088DA8 7F054278 10E00004 */ beqz $a3, .L7F05428C +/* 088DAC 7F05427C 240500CC */ li $a1, 204 +/* 088DB0 7F054280 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088DB4 7F054284 0C002382 */ jal play_sfx_a1 +/* 088DB8 7F054288 00E03025 */ move $a2, $a3 +def_7F053FD0: +.L7F05428C: +/* 088DBC 7F05428C 8FAC001C */ lw $t4, 0x1c($sp) +.L7F054290: +/* 088DC0 7F054290 8FAD0020 */ lw $t5, 0x20($sp) +/* 088DC4 7F054294 11800005 */ beqz $t4, .L7F0542AC +/* 088DC8 7F054298 00000000 */ nop +/* 088DCC 7F05429C 8DA50010 */ lw $a1, 0x10($t5) +/* 088DD0 7F0542A0 01802025 */ move $a0, $t4 +/* 088DD4 7F0542A4 0FC14E84 */ jal sub_GAME_7F053A10 +/* 088DD8 7F0542A8 24A50008 */ addiu $a1, $a1, 8 +.L7F0542AC: +/* 088DDC 7F0542AC 0FC14E8F */ jal sub_GAME_7F053A3C +/* 088DE0 7F0542B0 8FA40020 */ lw $a0, 0x20($sp) +/* 088DE4 7F0542B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 088DE8 7F0542B8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 088DEC 7F0542BC 03E00008 */ jr $ra +/* 088DF0 7F0542C0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void play_door_closing_soundeffect_0(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:800533D4*/ +glabel door_closing_sound_table_0 +.word .L7F054308 +.word .L7F054328 +.word .L7F054348 +.word .L7F054368 +.word .L7F054484 +.word .L7F054484 +.word .L7F054388 +.word .L7F0543A8 +.word .L7F0543C8 +.word .L7F054484 +.word .L7F054484 +.word .L7F054484 +.word .L7F0543E8 +.word .L7F054408 +.word .L7F054428 +.word .L7F054448 +.word .L7F054468 +.text +glabel play_door_closing_soundeffect_0 +/* 088DF4 7F0542C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 088DF8 7F0542C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 088DFC 7F0542CC AFA40020 */ sw $a0, 0x20($sp) +/* 088E00 7F0542D0 0FC14EC4 */ jal sub_GAME_7F053B10 +/* 088E04 7F0542D4 AFA0001C */ sw $zero, 0x1c($sp) +/* 088E08 7F0542D8 8FA70020 */ lw $a3, 0x20($sp) +/* 088E0C 7F0542DC 8FA6001C */ lw $a2, 0x1c($sp) +/* 088E10 7F0542E0 8CEE00A4 */ lw $t6, 0xa4($a3) +/* 088E14 7F0542E4 25CFFFFF */ addiu $t7, $t6, -1 +/* 088E18 7F0542E8 2DE10011 */ sltiu $at, $t7, 0x11 +/* 088E1C 7F0542EC 10200065 */ beqz $at, .L7F054484 +/* 088E20 7F0542F0 000F7880 */ sll $t7, $t7, 2 +/* 088E24 7F0542F4 3C018005 */ lui $at, %hi(door_closing_sound_table_0) +/* 088E28 7F0542F8 002F0821 */ addu $at, $at, $t7 +/* 088E2C 7F0542FC 8C2F33D4 */ lw $t7, %lo(door_closing_sound_table_0)($at) +.L7F054300: +/* 088E30 7F054300 01E00008 */ jr $t7 +/* 088E34 7F054304 00000000 */ nop +.L7F054308: +/* 088E38 7F054308 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088E3C 7F05430C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088E40 7F054310 240500D2 */ li $a1, 210 +/* 088E44 7F054314 0C002382 */ jal play_sfx_a1 +/* 088E48 7F054318 00003025 */ move $a2, $zero +/* 088E4C 7F05431C 00403025 */ move $a2, $v0 +/* 088E50 7F054320 10000058 */ b .L7F054484 +/* 088E54 7F054324 8FA70020 */ lw $a3, 0x20($sp) +.L7F054328: +/* 088E58 7F054328 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088E5C 7F05432C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088E60 7F054330 240500D2 */ li $a1, 210 +/* 088E64 7F054334 0C002382 */ jal play_sfx_a1 +/* 088E68 7F054338 00003025 */ move $a2, $zero +/* 088E6C 7F05433C 00403025 */ move $a2, $v0 +/* 088E70 7F054340 10000050 */ b .L7F054484 +/* 088E74 7F054344 8FA70020 */ lw $a3, 0x20($sp) +.L7F054348: +/* 088E78 7F054348 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088E7C 7F05434C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088E80 7F054350 240500CB */ li $a1, 203 +/* 088E84 7F054354 0C002382 */ jal play_sfx_a1 +/* 088E88 7F054358 00003025 */ move $a2, $zero +/* 088E8C 7F05435C 00403025 */ move $a2, $v0 +/* 088E90 7F054360 10000048 */ b .L7F054484 +/* 088E94 7F054364 8FA70020 */ lw $a3, 0x20($sp) +.L7F054368: +/* 088E98 7F054368 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088E9C 7F05436C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088EA0 7F054370 240500D7 */ li $a1, 215 +/* 088EA4 7F054374 0C002382 */ jal play_sfx_a1 +/* 088EA8 7F054378 00003025 */ move $a2, $zero +/* 088EAC 7F05437C 00403025 */ move $a2, $v0 +/* 088EB0 7F054380 10000040 */ b .L7F054484 +/* 088EB4 7F054384 8FA70020 */ lw $a3, 0x20($sp) +.L7F054388: +/* 088EB8 7F054388 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088EBC 7F05438C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088EC0 7F054390 240500D2 */ li $a1, 210 +/* 088EC4 7F054394 0C002382 */ jal play_sfx_a1 +/* 088EC8 7F054398 00003025 */ move $a2, $zero +/* 088ECC 7F05439C 00403025 */ move $a2, $v0 +/* 088ED0 7F0543A0 10000038 */ b .L7F054484 +/* 088ED4 7F0543A4 8FA70020 */ lw $a3, 0x20($sp) +.L7F0543A8: +/* 088ED8 7F0543A8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088EDC 7F0543AC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088EE0 7F0543B0 240500BB */ li $a1, 187 +/* 088EE4 7F0543B4 0C002382 */ jal play_sfx_a1 +/* 088EE8 7F0543B8 00003025 */ move $a2, $zero +/* 088EEC 7F0543BC 00403025 */ move $a2, $v0 +/* 088EF0 7F0543C0 10000030 */ b .L7F054484 +/* 088EF4 7F0543C4 8FA70020 */ lw $a3, 0x20($sp) +.L7F0543C8: +/* 088EF8 7F0543C8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088EFC 7F0543CC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088F00 7F0543D0 240500C3 */ li $a1, 195 +/* 088F04 7F0543D4 0C002382 */ jal play_sfx_a1 +/* 088F08 7F0543D8 00003025 */ move $a2, $zero +/* 088F0C 7F0543DC 00403025 */ move $a2, $v0 +/* 088F10 7F0543E0 10000028 */ b .L7F054484 +/* 088F14 7F0543E4 8FA70020 */ lw $a3, 0x20($sp) +.L7F0543E8: +/* 088F18 7F0543E8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088F1C 7F0543EC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088F20 7F0543F0 24050007 */ li $a1, 7 +/* 088F24 7F0543F4 0C002382 */ jal play_sfx_a1 +/* 088F28 7F0543F8 00003025 */ move $a2, $zero +/* 088F2C 7F0543FC 00403025 */ move $a2, $v0 +/* 088F30 7F054400 10000020 */ b .L7F054484 +/* 088F34 7F054404 8FA70020 */ lw $a3, 0x20($sp) +.L7F054408: +/* 088F38 7F054408 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088F3C 7F05440C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088F40 7F054410 240500DB */ li $a1, 219 +/* 088F44 7F054414 0C002382 */ jal play_sfx_a1 +/* 088F48 7F054418 00003025 */ move $a2, $zero +/* 088F4C 7F05441C 00403025 */ move $a2, $v0 +/* 088F50 7F054420 10000018 */ b .L7F054484 +/* 088F54 7F054424 8FA70020 */ lw $a3, 0x20($sp) +.L7F054428: +/* 088F58 7F054428 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088F5C 7F05442C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088F60 7F054430 240500E2 */ li $a1, 226 +/* 088F64 7F054434 0C002382 */ jal play_sfx_a1 +/* 088F68 7F054438 00003025 */ move $a2, $zero +/* 088F6C 7F05443C 00403025 */ move $a2, $v0 +/* 088F70 7F054440 10000010 */ b .L7F054484 +/* 088F74 7F054444 8FA70020 */ lw $a3, 0x20($sp) +.L7F054448: +/* 088F78 7F054448 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088F7C 7F05444C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088F80 7F054450 240500D7 */ li $a1, 215 +/* 088F84 7F054454 0C002382 */ jal play_sfx_a1 +/* 088F88 7F054458 00003025 */ move $a2, $zero +/* 088F8C 7F05445C 00403025 */ move $a2, $v0 +/* 088F90 7F054460 10000008 */ b .L7F054484 +/* 088F94 7F054464 8FA70020 */ lw $a3, 0x20($sp) +.L7F054468: +/* 088F98 7F054468 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 088F9C 7F05446C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 088FA0 7F054470 240500CB */ li $a1, 203 +/* 088FA4 7F054474 0C002382 */ jal play_sfx_a1 +/* 088FA8 7F054478 00003025 */ move $a2, $zero +/* 088FAC 7F05447C 00403025 */ move $a2, $v0 +/* 088FB0 7F054480 8FA70020 */ lw $a3, 0x20($sp) +def_7F054300: +.L7F054484: +/* 088FB4 7F054484 10C00006 */ beqz $a2, .L7F0544A0 +/* 088FB8 7F054488 00000000 */ nop +/* 088FBC 7F05448C 8CE50010 */ lw $a1, 0x10($a3) +/* 088FC0 7F054490 00C02025 */ move $a0, $a2 +/* 088FC4 7F054494 0FC14E84 */ jal sub_GAME_7F053A10 +/* 088FC8 7F054498 24A50008 */ addiu $a1, $a1, 8 +/* 088FCC 7F05449C 8FA70020 */ lw $a3, 0x20($sp) +.L7F0544A0: +/* 088FD0 7F0544A0 0FC14E8F */ jal sub_GAME_7F053A3C +/* 088FD4 7F0544A4 00E02025 */ move $a0, $a3 +/* 088FD8 7F0544A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 088FDC 7F0544AC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 088FE0 7F0544B0 03E00008 */ jr $ra +/* 088FE4 7F0544B4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void play_door_closing_soundeffect_1(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +/*D:80053418*/ +glabel door_closing_sound_table_1 +.word .L7F0544FC +.word .L7F05451C +.word .L7F05453C +.word .L7F05455C +.word .L7F05457C +.word .L7F05459C +.word .L7F0545BC +.word .L7F0545DC +.word .L7F0545FC +.word .L7F05461C +.word .L7F05463C +.word .L7F05465C +.word .L7F05467C +.word .L7F05469C +.word .L7F0546BC +.word .L7F0546DC +.word .L7F0546FC + +.text +glabel play_door_closing_soundeffect_1 +/* 088FE8 7F0544B8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 088FEC 7F0544BC AFBF0014 */ sw $ra, 0x14($sp) +/* 088FF0 7F0544C0 AFA40020 */ sw $a0, 0x20($sp) +/* 088FF4 7F0544C4 0FC14EC4 */ jal sub_GAME_7F053B10 +/* 088FF8 7F0544C8 AFA0001C */ sw $zero, 0x1c($sp) +/* 088FFC 7F0544CC 8FA70020 */ lw $a3, 0x20($sp) +/* 089000 7F0544D0 8FA6001C */ lw $a2, 0x1c($sp) +/* 089004 7F0544D4 8CEE00A4 */ lw $t6, 0xa4($a3) +/* 089008 7F0544D8 25CFFFFF */ addiu $t7, $t6, -1 +/* 08900C 7F0544DC 2DE10011 */ sltiu $at, $t7, 0x11 +/* 089010 7F0544E0 1020008D */ beqz $at, .L7F054718 +/* 089014 7F0544E4 000F7880 */ sll $t7, $t7, 2 +/* 089018 7F0544E8 3C018005 */ lui $at, %hi(door_closing_sound_table_1) +/* 08901C 7F0544EC 002F0821 */ addu $at, $at, $t7 +/* 089020 7F0544F0 8C2F3418 */ lw $t7, %lo(door_closing_sound_table_1)($at) +/* 089024 7F0544F4 01E00008 */ jr $t7 +/* 089028 7F0544F8 00000000 */ nop +.L7F0544FC: +/* 08902C 7F0544FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089030 7F054500 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089034 7F054504 240500D2 */ li $a1, 210 +/* 089038 7F054508 0C002382 */ jal play_sfx_a1 +/* 08903C 7F05450C 00003025 */ move $a2, $zero +/* 089040 7F054510 00403025 */ move $a2, $v0 +/* 089044 7F054514 10000080 */ b .L7F054718 +/* 089048 7F054518 8FA70020 */ lw $a3, 0x20($sp) +.L7F05451C: +/* 08904C 7F05451C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089050 7F054520 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089054 7F054524 240500D2 */ li $a1, 210 +/* 089058 7F054528 0C002382 */ jal play_sfx_a1 +/* 08905C 7F05452C 00003025 */ move $a2, $zero +/* 089060 7F054530 00403025 */ move $a2, $v0 +/* 089064 7F054534 10000078 */ b .L7F054718 +/* 089068 7F054538 8FA70020 */ lw $a3, 0x20($sp) +.L7F05453C: +/* 08906C 7F05453C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089070 7F054540 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089074 7F054544 240500CB */ li $a1, 203 +/* 089078 7F054548 0C002382 */ jal play_sfx_a1 +/* 08907C 7F05454C 00003025 */ move $a2, $zero +/* 089080 7F054550 00403025 */ move $a2, $v0 +/* 089084 7F054554 10000070 */ b .L7F054718 +/* 089088 7F054558 8FA70020 */ lw $a3, 0x20($sp) +.L7F05455C: +/* 08908C 7F05455C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089090 7F054560 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089094 7F054564 240500D7 */ li $a1, 215 +/* 089098 7F054568 0C002382 */ jal play_sfx_a1 +/* 08909C 7F05456C 00003025 */ move $a2, $zero +/* 0890A0 7F054570 00403025 */ move $a2, $v0 +/* 0890A4 7F054574 10000068 */ b .L7F054718 +/* 0890A8 7F054578 8FA70020 */ lw $a3, 0x20($sp) +.L7F05457C: +/* 0890AC 7F05457C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0890B0 7F054580 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0890B4 7F054584 240500BB */ li $a1, 187 +/* 0890B8 7F054588 0C002382 */ jal play_sfx_a1 +/* 0890BC 7F05458C 00003025 */ move $a2, $zero +/* 0890C0 7F054590 00403025 */ move $a2, $v0 +/* 0890C4 7F054594 10000060 */ b .L7F054718 +/* 0890C8 7F054598 8FA70020 */ lw $a3, 0x20($sp) +.L7F05459C: +/* 0890CC 7F05459C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0890D0 7F0545A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0890D4 7F0545A4 24050007 */ li $a1, 7 +/* 0890D8 7F0545A8 0C002382 */ jal play_sfx_a1 +/* 0890DC 7F0545AC 00003025 */ move $a2, $zero +/* 0890E0 7F0545B0 00403025 */ move $a2, $v0 +/* 0890E4 7F0545B4 10000058 */ b .L7F054718 +/* 0890E8 7F0545B8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0545BC: +/* 0890EC 7F0545BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0890F0 7F0545C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0890F4 7F0545C4 240500D2 */ li $a1, 210 +/* 0890F8 7F0545C8 0C002382 */ jal play_sfx_a1 +/* 0890FC 7F0545CC 00003025 */ move $a2, $zero +/* 089100 7F0545D0 00403025 */ move $a2, $v0 +/* 089104 7F0545D4 10000050 */ b .L7F054718 +/* 089108 7F0545D8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0545DC: +/* 08910C 7F0545DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089110 7F0545E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089114 7F0545E4 240500BB */ li $a1, 187 +/* 089118 7F0545E8 0C002382 */ jal play_sfx_a1 +/* 08911C 7F0545EC 00003025 */ move $a2, $zero +/* 089120 7F0545F0 00403025 */ move $a2, $v0 +/* 089124 7F0545F4 10000048 */ b .L7F054718 +/* 089128 7F0545F8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0545FC: +/* 08912C 7F0545FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089130 7F054600 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089134 7F054604 240500C3 */ li $a1, 195 +/* 089138 7F054608 0C002382 */ jal play_sfx_a1 +/* 08913C 7F05460C 00003025 */ move $a2, $zero +/* 089140 7F054610 00403025 */ move $a2, $v0 +/* 089144 7F054614 10000040 */ b .L7F054718 +/* 089148 7F054618 8FA70020 */ lw $a3, 0x20($sp) +.L7F05461C: +/* 08914C 7F05461C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089150 7F054620 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089154 7F054624 240500C5 */ li $a1, 197 +/* 089158 7F054628 0C002382 */ jal play_sfx_a1 +/* 08915C 7F05462C 00003025 */ move $a2, $zero +/* 089160 7F054630 00403025 */ move $a2, $v0 +/* 089164 7F054634 10000038 */ b .L7F054718 +/* 089168 7F054638 8FA70020 */ lw $a3, 0x20($sp) +.L7F05463C: +/* 08916C 7F05463C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089170 7F054640 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089174 7F054644 240500C7 */ li $a1, 199 +/* 089178 7F054648 0C002382 */ jal play_sfx_a1 +/* 08917C 7F05464C 00003025 */ move $a2, $zero +/* 089180 7F054650 00403025 */ move $a2, $v0 +/* 089184 7F054654 10000030 */ b .L7F054718 +/* 089188 7F054658 8FA70020 */ lw $a3, 0x20($sp) +.L7F05465C: +/* 08918C 7F05465C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089190 7F054660 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089194 7F054664 240500C9 */ li $a1, 201 +/* 089198 7F054668 0C002382 */ jal play_sfx_a1 +/* 08919C 7F05466C 00003025 */ move $a2, $zero +/* 0891A0 7F054670 00403025 */ move $a2, $v0 +/* 0891A4 7F054674 10000028 */ b .L7F054718 +/* 0891A8 7F054678 8FA70020 */ lw $a3, 0x20($sp) +.L7F05467C: +/* 0891AC 7F05467C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0891B0 7F054680 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0891B4 7F054684 24050007 */ li $a1, 7 +/* 0891B8 7F054688 0C002382 */ jal play_sfx_a1 +/* 0891BC 7F05468C 00003025 */ move $a2, $zero +/* 0891C0 7F054690 00403025 */ move $a2, $v0 +/* 0891C4 7F054694 10000020 */ b .L7F054718 +/* 0891C8 7F054698 8FA70020 */ lw $a3, 0x20($sp) +.L7F05469C: +/* 0891CC 7F05469C 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0891D0 7F0546A0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0891D4 7F0546A4 240500DB */ li $a1, 219 +/* 0891D8 7F0546A8 0C002382 */ jal play_sfx_a1 +/* 0891DC 7F0546AC 00003025 */ move $a2, $zero +/* 0891E0 7F0546B0 00403025 */ move $a2, $v0 +/* 0891E4 7F0546B4 10000018 */ b .L7F054718 +/* 0891E8 7F0546B8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0546BC: +/* 0891EC 7F0546BC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 0891F0 7F0546C0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 0891F4 7F0546C4 240500E2 */ li $a1, 226 +/* 0891F8 7F0546C8 0C002382 */ jal play_sfx_a1 +/* 0891FC 7F0546CC 00003025 */ move $a2, $zero +/* 089200 7F0546D0 00403025 */ move $a2, $v0 +/* 089204 7F0546D4 10000010 */ b .L7F054718 +/* 089208 7F0546D8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0546DC: +/* 08920C 7F0546DC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089210 7F0546E0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089214 7F0546E4 240500D7 */ li $a1, 215 +/* 089218 7F0546E8 0C002382 */ jal play_sfx_a1 +/* 08921C 7F0546EC 00003025 */ move $a2, $zero +/* 089220 7F0546F0 00403025 */ move $a2, $v0 +/* 089224 7F0546F4 10000008 */ b .L7F054718 +/* 089228 7F0546F8 8FA70020 */ lw $a3, 0x20($sp) +.L7F0546FC: +/* 08922C 7F0546FC 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 089230 7F054700 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 089234 7F054704 240500CB */ li $a1, 203 +/* 089238 7F054708 0C002382 */ jal play_sfx_a1 +/* 08923C 7F05470C 00003025 */ move $a2, $zero +/* 089240 7F054710 00403025 */ move $a2, $v0 +/* 089244 7F054714 8FA70020 */ lw $a3, 0x20($sp) +def_7F0544F4: +.L7F054718: +/* 089248 7F054718 10C00006 */ beqz $a2, .L7F054734 +/* 08924C 7F05471C 00000000 */ nop +/* 089250 7F054720 8CE50010 */ lw $a1, 0x10($a3) +/* 089254 7F054724 00C02025 */ move $a0, $a2 +/* 089258 7F054728 0FC14E84 */ jal sub_GAME_7F053A10 +/* 08925C 7F05472C 24A50008 */ addiu $a1, $a1, 8 +/* 089260 7F054730 8FA70020 */ lw $a3, 0x20($sp) +.L7F054734: +/* 089264 7F054734 0FC14E8F */ jal sub_GAME_7F053A3C +/* 089268 7F054738 00E02025 */ move $a0, $a3 +/* 08926C 7F05473C 8FBF0014 */ lw $ra, 0x14($sp) +/* 089270 7F054740 27BD0020 */ addiu $sp, $sp, 0x20 +/* 089274 7F054744 03E00008 */ jr $ra +/* 089278 7F054748 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05474C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05474C +/* 08927C 7F05474C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 089280 7F054750 AFBF0014 */ sw $ra, 0x14($sp) +/* 089284 7F054754 8C8E0008 */ lw $t6, 8($a0) +/* 089288 7F054758 8C980064 */ lw $t8, 0x64($a0) +/* 08928C 7F05475C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 089290 7F054760 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 089294 7F054764 01C17824 */ and $t7, $t6, $at +/* 089298 7F054768 37190200 */ ori $t9, $t8, 0x200 +/* 08929C 7F05476C AC8F0008 */ sw $t7, 8($a0) +/* 0892A0 7F054770 AC990064 */ sw $t9, 0x64($a0) +/* 0892A4 7F054774 0FC14EDE */ jal play_door_opening_soundeffect_0 +/* 0892A8 7F054778 AFA40018 */ sw $a0, 0x18($sp) +/* 0892AC 7F05477C 0FC14D66 */ jal sub_GAME_7F053598 +/* 0892B0 7F054780 8FA40018 */ lw $a0, 0x18($sp) +/* 0892B4 7F054784 8FA40018 */ lw $a0, 0x18($sp) +/* 0892B8 7F054788 24010008 */ li $at, 8 +/* 0892BC 7F05478C 9488009A */ lhu $t0, 0x9a($a0) +/* 0892C0 7F054790 5501000F */ bnel $t0, $at, .L7F0547D0 +/* 0892C4 7F054794 8FBF0014 */ lw $ra, 0x14($sp) +/* 0892C8 7F054798 8C890008 */ lw $t1, 8($a0) +/* 0892CC 7F05479C 8C820068 */ lw $v0, 0x68($a0) +/* 0892D0 7F0547A0 44802000 */ mtc1 $zero, $f4 +/* 0892D4 7F0547A4 3C010200 */ lui $at, 0x200 +/* 0892D8 7F0547A8 01215025 */ or $t2, $t1, $at +/* 0892DC 7F0547AC AC8A0008 */ sw $t2, 8($a0) +/* 0892E0 7F0547B0 10400002 */ beqz $v0, .L7F0547BC +/* 0892E4 7F0547B4 E4840088 */ swc1 $f4, 0x88($a0) +/* 0892E8 7F0547B8 AC400000 */ sw $zero, ($v0) +.L7F0547BC: +/* 0892EC 7F0547BC 8C8B0008 */ lw $t3, 8($a0) +/* 0892F0 7F0547C0 2401FEFF */ li $at, -257 +/* 0892F4 7F0547C4 01616024 */ and $t4, $t3, $at +/* 0892F8 7F0547C8 AC8C0008 */ sw $t4, 8($a0) +/* 0892FC 7F0547CC 8FBF0014 */ lw $ra, 0x14($sp) +.L7F0547D0: +/* 089300 7F0547D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 089304 7F0547D4 03E00008 */ jr $ra +/* 089308 7F0547D8 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0547DC(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0547DC +/* 08930C 7F0547DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 089310 7F0547E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 089314 7F0547E4 8C8E0008 */ lw $t6, 8($a0) +/* 089318 7F0547E8 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 08931C 7F0547EC 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 089320 7F0547F0 01C17824 */ and $t7, $t6, $at +/* 089324 7F0547F4 0FC14FD9 */ jal play_door_opening_soundeffect_1 +/* 089328 7F0547F8 AC8F0008 */ sw $t7, 8($a0) +/* 08932C 7F0547FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 089330 7F054800 27BD0018 */ addiu $sp, $sp, 0x18 +/* 089334 7F054804 03E00008 */ jr $ra +/* 089338 7F054808 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05480C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05480C +/* 08933C 7F05480C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 089340 7F054810 AFBF0014 */ sw $ra, 0x14($sp) +/* 089344 7F054814 0FC150B1 */ jal play_door_closing_soundeffect_0 +/* 089348 7F054818 AFA40018 */ sw $a0, 0x18($sp) +/* 08934C 7F05481C 8FA50018 */ lw $a1, 0x18($sp) +/* 089350 7F054820 24010008 */ li $at, 8 +/* 089354 7F054824 94AE009A */ lhu $t6, 0x9a($a1) +/* 089358 7F054828 55C10011 */ bnel $t6, $at, .L7F054870 +/* 08935C 7F05482C 8FBF0014 */ lw $ra, 0x14($sp) +/* 089360 7F054830 8CA40010 */ lw $a0, 0x10($a1) +/* 089364 7F054834 0FC0FF6A */ jal sub_GAME_7F03FDA8 +/* 089368 7F054838 AFA50018 */ sw $a1, 0x18($sp) +/* 08936C 7F05483C 8FA50018 */ lw $a1, 0x18($sp) +/* 089370 7F054840 8CAF0064 */ lw $t7, 0x64($a1) +/* 089374 7F054844 31F80080 */ andi $t8, $t7, 0x80 +/* 089378 7F054848 53000009 */ beql $t8, $zero, .L7F054870 +/* 08937C 7F05484C 8FBF0014 */ lw $ra, 0x14($sp) +/* 089380 7F054850 8CA2006C */ lw $v0, 0x6c($a1) +/* 089384 7F054854 8C590000 */ lw $t9, ($v0) +/* 089388 7F054858 37280001 */ ori $t0, $t9, 1 +/* 08938C 7F05485C AC480000 */ sw $t0, ($v0) +/* 089390 7F054860 8CA4006C */ lw $a0, 0x6c($a1) +/* 089394 7F054864 0FC15FF4 */ jal reset_array_of_0x10_floats +/* 089398 7F054868 24840020 */ addiu $a0, $a0, 0x20 +/* 08939C 7F05486C 8FBF0014 */ lw $ra, 0x14($sp) +.L7F054870: +/* 0893A0 7F054870 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0893A4 7F054874 03E00008 */ jr $ra +/* 0893A8 7F054878 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05487C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05487C +/* 0893AC 7F05487C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0893B0 7F054880 AFBF0014 */ sw $ra, 0x14($sp) +/* 0893B4 7F054884 0FC1512E */ jal play_door_closing_soundeffect_1 +/* 0893B8 7F054888 AFA40018 */ sw $a0, 0x18($sp) +/* 0893BC 7F05488C 0FC14D71 */ jal sub_GAME_7F0535C4 +/* 0893C0 7F054890 8FA40018 */ lw $a0, 0x18($sp) +/* 0893C4 7F054894 8FBF0014 */ lw $ra, 0x14($sp) +/* 0893C8 7F054898 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0893CC 7F05489C 03E00008 */ jr $ra +/* 0893D0 7F0548A0 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0548A4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0548A4 +/* 0893D4 7F0548A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0893D8 7F0548A8 24010001 */ li $at, 1 +/* 0893DC 7F0548AC 14A1000E */ bne $a1, $at, .L7F0548E8 +/* 0893E0 7F0548B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0893E4 7F0548B4 808200BC */ lb $v0, 0xbc($a0) +/* 0893E8 7F0548B8 24010003 */ li $at, 3 +/* 0893EC 7F0548BC 50400004 */ beql $v0, $zero, .L7F0548D0 +/* 0893F0 7F0548C0 AFA40018 */ sw $a0, 0x18($sp) +/* 0893F4 7F0548C4 14410006 */ bne $v0, $at, .L7F0548E0 +/* 0893F8 7F0548C8 00000000 */ nop +/* 0893FC 7F0548CC AFA40018 */ sw $a0, 0x18($sp) +.L7F0548D0: +/* 089400 7F0548D0 0FC151D3 */ jal sub_GAME_7F05474C +/* 089404 7F0548D4 AFA5001C */ sw $a1, 0x1c($sp) +/* 089408 7F0548D8 8FA40018 */ lw $a0, 0x18($sp) +/* 08940C 7F0548DC 8FA5001C */ lw $a1, 0x1c($sp) +.L7F0548E0: +/* 089410 7F0548E0 10000025 */ b .L7F054978 +/* 089414 7F0548E4 A08500BC */ sb $a1, 0xbc($a0) +.L7F0548E8: +/* 089418 7F0548E8 24010002 */ li $at, 2 +/* 08941C 7F0548EC 54A10022 */ bnel $a1, $at, .L7F054978 +/* 089420 7F0548F0 A08500BC */ sb $a1, 0xbc($a0) +/* 089424 7F0548F4 808200BC */ lb $v0, 0xbc($a0) +/* 089428 7F0548F8 1440000D */ bnez $v0, .L7F054930 +/* 08942C 7F0548FC 00000000 */ nop +/* 089430 7F054900 44802000 */ mtc1 $zero, $f4 +/* 089434 7F054904 C48600B4 */ lwc1 $f6, 0xb4($a0) +/* 089438 7F054908 4606203C */ c.lt.s $f4, $f6 +/* 08943C 7F05490C 00000000 */ nop +/* 089440 7F054910 45000007 */ bc1f .L7F054930 +/* 089444 7F054914 00000000 */ nop +/* 089448 7F054918 AFA40018 */ sw $a0, 0x18($sp) +/* 08944C 7F05491C 0FC151F7 */ jal sub_GAME_7F0547DC +/* 089450 7F054920 AFA5001C */ sw $a1, 0x1c($sp) +/* 089454 7F054924 8FA40018 */ lw $a0, 0x18($sp) +/* 089458 7F054928 8FA5001C */ lw $a1, 0x1c($sp) +/* 08945C 7F05492C 808200BC */ lb $v0, 0xbc($a0) +.L7F054930: +/* 089460 7F054930 10400003 */ beqz $v0, .L7F054940 +/* 089464 7F054934 24010003 */ li $at, 3 +/* 089468 7F054938 14410008 */ bne $v0, $at, .L7F05495C +/* 08946C 7F05493C 00000000 */ nop +.L7F054940: +/* 089470 7F054940 44804000 */ mtc1 $zero, $f8 +/* 089474 7F054944 C48A00B4 */ lwc1 $f10, 0xb4($a0) +/* 089478 7F054948 24010003 */ li $at, 3 +/* 08947C 7F05494C 460A403C */ c.lt.s $f8, $f10 +/* 089480 7F054950 00000000 */ nop +/* 089484 7F054954 45000003 */ bc1f .L7F054964 +/* 089488 7F054958 00000000 */ nop +.L7F05495C: +/* 08948C 7F05495C 10000006 */ b .L7F054978 +/* 089490 7F054960 A08500BC */ sb $a1, 0xbc($a0) +.L7F054964: +/* 089494 7F054964 54410005 */ bnel $v0, $at, .L7F05497C +/* 089498 7F054968 8FBF0014 */ lw $ra, 0x14($sp) +/* 08949C 7F05496C 10000002 */ b .L7F054978 +/* 0894A0 7F054970 A08000BC */ sb $zero, 0xbc($a0) +/* 0894A4 7F054974 A08500BC */ sb $a1, 0xbc($a0) +.L7F054978: +/* 0894A8 7F054978 8FBF0014 */ lw $ra, 0x14($sp) +.L7F05497C: +/* 0894AC 7F05497C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0894B0 7F054980 03E00008 */ jr $ra +/* 0894B4 7F054984 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void set_door_state(void) { + +} +#else +GLOBAL_ASM( +.text +glabel set_door_state +/* 0894B8 7F054988 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0894BC 7F05498C AFBF0024 */ sw $ra, 0x24($sp) +/* 0894C0 7F054990 AFB20020 */ sw $s2, 0x20($sp) +/* 0894C4 7F054994 AFB1001C */ sw $s1, 0x1c($sp) +/* 0894C8 7F054998 AFB00018 */ sw $s0, 0x18($sp) +/* 0894CC 7F05499C 8C8E000C */ lw $t6, 0xc($a0) +/* 0894D0 7F0549A0 00808825 */ move $s1, $a0 +/* 0894D4 7F0549A4 00A09025 */ move $s2, $a1 +/* 0894D8 7F0549A8 000E7840 */ sll $t7, $t6, 1 +/* 0894DC 7F0549AC 05E10008 */ bgez $t7, .L7F0549D0 +/* 0894E0 7F0549B0 24010001 */ li $at, 1 +/* 0894E4 7F0549B4 14A10006 */ bne $a1, $at, .L7F0549D0 +/* 0894E8 7F0549B8 00000000 */ nop +/* 0894EC 7F0549BC 809800BC */ lb $t8, 0xbc($a0) +/* 0894F0 7F0549C0 24120002 */ li $s2, 2 +/* 0894F4 7F0549C4 17000002 */ bnez $t8, .L7F0549D0 +/* 0894F8 7F0549C8 00000000 */ nop +/* 0894FC 7F0549CC 24050003 */ li $a1, 3 +.L7F0549D0: +/* 089500 7F0549D0 0FC15229 */ jal sub_GAME_7F0548A4 +/* 089504 7F0549D4 02202025 */ move $a0, $s1 +/* 089508 7F0549D8 8E3000C8 */ lw $s0, 0xc8($s1) +/* 08950C 7F0549DC 5200000B */ beql $s0, $zero, .L7F054A0C +/* 089510 7F0549E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 089514 7F0549E4 12110008 */ beq $s0, $s1, .L7F054A08 +/* 089518 7F0549E8 02002025 */ move $a0, $s0 +.L7F0549EC: +/* 08951C 7F0549EC 0FC15229 */ jal sub_GAME_7F0548A4 +/* 089520 7F0549F0 02402825 */ move $a1, $s2 +/* 089524 7F0549F4 8E1000C8 */ lw $s0, 0xc8($s0) +/* 089528 7F0549F8 52000004 */ beql $s0, $zero, .L7F054A0C +/* 08952C 7F0549FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 089530 7F054A00 5611FFFA */ bnel $s0, $s1, .L7F0549EC +/* 089534 7F054A04 02002025 */ move $a0, $s0 +.L7F054A08: +/* 089538 7F054A08 8FBF0024 */ lw $ra, 0x24($sp) +.L7F054A0C: +/* 08953C 7F054A0C 8FB00018 */ lw $s0, 0x18($sp) +/* 089540 7F054A10 8FB1001C */ lw $s1, 0x1c($sp) +/* 089544 7F054A14 8FB20020 */ lw $s2, 0x20($sp) +/* 089548 7F054A18 03E00008 */ jr $ra +/* 08954C 7F054A1C 27BD0028 */ addiu $sp, $sp, 0x28 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054A20(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054A20 +/* 089550 7F054A20 808300BC */ lb $v1, 0xbc($a0) +/* 089554 7F054A24 2C620001 */ sltiu $v0, $v1, 1 +/* 089558 7F054A28 14400004 */ bnez $v0, .L7F054A3C +/* 08955C 7F054A2C 38620003 */ xori $v0, $v1, 3 +/* 089560 7F054A30 2C420001 */ sltiu $v0, $v0, 1 +/* 089564 7F054A34 10400009 */ beqz $v0, .L7F054A5C +/* 089568 7F054A38 00000000 */ nop +.L7F054A3C: +/* 08956C 7F054A3C 44802000 */ mtc1 $zero, $f4 +/* 089570 7F054A40 C48600B4 */ lwc1 $f6, 0xb4($a0) +/* 089574 7F054A44 00001025 */ move $v0, $zero +/* 089578 7F054A48 4604303E */ c.le.s $f6, $f4 +/* 08957C 7F054A4C 00000000 */ nop +/* 089580 7F054A50 45000002 */ bc1f .L7F054A5C +/* 089584 7F054A54 00000000 */ nop +/* 089588 7F054A58 24020001 */ li $v0, 1 +.L7F054A5C: +/* 08958C 7F054A5C 03E00008 */ jr $ra +/* 089590 7F054A60 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054A64(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054A64 +/* 089594 7F054A64 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 089598 7F054A68 AFB30020 */ sw $s3, 0x20($sp) +/* 08959C 7F054A6C AFB00014 */ sw $s0, 0x14($sp) +/* 0895A0 7F054A70 00A08025 */ move $s0, $a1 +/* 0895A4 7F054A74 27B30048 */ addiu $s3, $sp, 0x48 +/* 0895A8 7F054A78 AFBF0024 */ sw $ra, 0x24($sp) +/* 0895AC 7F054A7C AFB2001C */ sw $s2, 0x1c($sp) +/* 0895B0 7F054A80 AFB10018 */ sw $s1, 0x18($sp) +/* 0895B4 7F054A84 00009025 */ move $s2, $zero +/* 0895B8 7F054A88 0FC0F2E3 */ jal sub_GAME_7F03CB8C +/* 0895BC 7F054A8C 02602825 */ move $a1, $s3 +/* 0895C0 7F054A90 8FA40048 */ lw $a0, 0x48($sp) +/* 0895C4 7F054A94 02608825 */ move $s1, $s3 +/* 0895C8 7F054A98 27B3002C */ addiu $s3, $sp, 0x2c +/* 0895CC 7F054A9C 04820031 */ bltzl $a0, .L7F054B64 +/* 0895D0 7F054AA0 8FBF0024 */ lw $ra, 0x24($sp) +.L7F054AA4: +/* 0895D4 7F054AA4 0FC2CF03 */ jal sub_GAME_7F0B3C0C +/* 0895D8 7F054AA8 02602825 */ move $a1, $s3 +/* 0895DC 7F054AAC 10400028 */ beqz $v0, .L7F054B50 +/* 0895E0 7F054AB0 0012102B */ sltu $v0, $zero, $s2 +/* 0895E4 7F054AB4 1040001E */ beqz $v0, .L7F054B30 +/* 0895E8 7F054AB8 24120001 */ li $s2, 1 +/* 0895EC 7F054ABC C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 0895F0 7F054AC0 C6060000 */ lwc1 $f6, ($s0) +/* 0895F4 7F054AC4 4606203C */ c.lt.s $f4, $f6 +/* 0895F8 7F054AC8 00000000 */ nop +/* 0895FC 7F054ACC 45020003 */ bc1fl .L7F054ADC +/* 089600 7F054AD0 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 089604 7F054AD4 E6040000 */ swc1 $f4, ($s0) +/* 089608 7F054AD8 C7A80030 */ lwc1 $f8, 0x30($sp) +.L7F054ADC: +/* 08960C 7F054ADC C60A0004 */ lwc1 $f10, 4($s0) +/* 089610 7F054AE0 460A403C */ c.lt.s $f8, $f10 +/* 089614 7F054AE4 00000000 */ nop +/* 089618 7F054AE8 45020003 */ bc1fl .L7F054AF8 +/* 08961C 7F054AEC C6100008 */ lwc1 $f16, 8($s0) +/* 089620 7F054AF0 E6080004 */ swc1 $f8, 4($s0) +/* 089624 7F054AF4 C6100008 */ lwc1 $f16, 8($s0) +.L7F054AF8: +/* 089628 7F054AF8 C7B20034 */ lwc1 $f18, 0x34($sp) +/* 08962C 7F054AFC 4612803C */ c.lt.s $f16, $f18 +/* 089630 7F054B00 00000000 */ nop +/* 089634 7F054B04 45020003 */ bc1fl .L7F054B14 +/* 089638 7F054B08 C606000C */ lwc1 $f6, 0xc($s0) +/* 08963C 7F054B0C E6120008 */ swc1 $f18, 8($s0) +/* 089640 7F054B10 C606000C */ lwc1 $f6, 0xc($s0) +.L7F054B14: +/* 089644 7F054B14 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 089648 7F054B18 4604303C */ c.lt.s $f6, $f4 +/* 08964C 7F054B1C 00000000 */ nop +/* 089650 7F054B20 4502000C */ bc1fl .L7F054B54 +/* 089654 7F054B24 8E240004 */ lw $a0, 4($s1) +/* 089658 7F054B28 10000009 */ b .L7F054B50 +/* 08965C 7F054B2C E604000C */ swc1 $f4, 0xc($s0) +.L7F054B30: +/* 089660 7F054B30 C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 089664 7F054B34 E60A0000 */ swc1 $f10, ($s0) +/* 089668 7F054B38 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 08966C 7F054B3C E6080004 */ swc1 $f8, 4($s0) +/* 089670 7F054B40 C7B00034 */ lwc1 $f16, 0x34($sp) +/* 089674 7F054B44 E6100008 */ swc1 $f16, 8($s0) +/* 089678 7F054B48 C7B20038 */ lwc1 $f18, 0x38($sp) +/* 08967C 7F054B4C E612000C */ swc1 $f18, 0xc($s0) +.L7F054B50: +/* 089680 7F054B50 8E240004 */ lw $a0, 4($s1) +.L7F054B54: +/* 089684 7F054B54 26310004 */ addiu $s1, $s1, 4 +/* 089688 7F054B58 0481FFD2 */ bgez $a0, .L7F054AA4 +/* 08968C 7F054B5C 00000000 */ nop +/* 089690 7F054B60 8FBF0024 */ lw $ra, 0x24($sp) +.L7F054B64: +/* 089694 7F054B64 02401025 */ move $v0, $s2 +/* 089698 7F054B68 8FB2001C */ lw $s2, 0x1c($sp) +/* 08969C 7F054B6C 8FB00014 */ lw $s0, 0x14($sp) +/* 0896A0 7F054B70 8FB10018 */ lw $s1, 0x18($sp) +/* 0896A4 7F054B74 8FB30020 */ lw $s3, 0x20($sp) +/* 0896A8 7F054B78 03E00008 */ jr $ra +/* 0896AC 7F054B7C 27BD0068 */ addiu $sp, $sp, 0x68 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054B80(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054B80 +/* 0896B0 7F054B80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0896B4 7F054B84 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0896B8 7F054B88 44818000 */ mtc1 $at, $f16 +/* 0896BC 7F054B8C AFBF0014 */ sw $ra, 0x14($sp) +/* 0896C0 7F054B90 AFA40020 */ sw $a0, 0x20($sp) +/* 0896C4 7F054B94 AFA50024 */ sw $a1, 0x24($sp) +/* 0896C8 7F054B98 0FC2ECE6 */ jal return_nearfog_values +/* 0896CC 7F054B9C E7B0001C */ swc1 $f16, 0x1c($sp) +/* 0896D0 7F054BA0 10400028 */ beqz $v0, .L7F054C44 +/* 0896D4 7F054BA4 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 0896D8 7F054BA8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0896DC 7F054BAC C4440008 */ lwc1 $f4, 8($v0) +/* 0896E0 7F054BB0 C5C60018 */ lwc1 $f6, 0x18($t6) +/* 0896E4 7F054BB4 4606203C */ c.lt.s $f4, $f6 +/* 0896E8 7F054BB8 00000000 */ nop +/* 0896EC 7F054BBC 45020022 */ bc1fl .L7F054C48 +/* 0896F0 7F054BC0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0896F4 7F054BC4 AFA20018 */ sw $v0, 0x18($sp) +/* 0896F8 7F054BC8 0FC1E121 */ jal getPlayer_c_lodscalez +/* 0896FC 7F054BCC E7B0001C */ swc1 $f16, 0x1c($sp) +/* 089700 7F054BD0 8FA30018 */ lw $v1, 0x18($sp) +/* 089704 7F054BD4 8FAF0020 */ lw $t7, 0x20($sp) +/* 089708 7F054BD8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 08970C 7F054BDC C4620008 */ lwc1 $f2, 8($v1) +/* 089710 7F054BE0 C5E80018 */ lwc1 $f8, 0x18($t7) +/* 089714 7F054BE4 44819000 */ mtc1 $at, $f18 +/* 089718 7F054BE8 C7A60024 */ lwc1 $f6, 0x24($sp) +/* 08971C 7F054BEC 46024281 */ sub.s $f10, $f8, $f2 +/* 089720 7F054BF0 C46E0004 */ lwc1 $f14, 4($v1) +/* 089724 7F054BF4 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 089728 7F054BF8 46125102 */ mul.s $f4, $f10, $f18 +/* 08972C 7F054BFC 46062203 */ div.s $f8, $f4, $f6 +/* 089730 7F054C00 46024280 */ add.s $f10, $f8, $f2 +/* 089734 7F054C04 46005302 */ mul.s $f12, $f10, $f0 +/* 089738 7F054C08 460C703E */ c.le.s $f14, $f12 +/* 08973C 7F054C0C 00000000 */ nop +/* 089740 7F054C10 45020005 */ bc1fl .L7F054C28 +/* 089744 7F054C14 C4600000 */ lwc1 $f0, ($v1) +/* 089748 7F054C18 44808000 */ mtc1 $zero, $f16 +/* 08974C 7F054C1C 1000000A */ b .L7F054C48 +/* 089750 7F054C20 8FBF0014 */ lw $ra, 0x14($sp) +/* 089754 7F054C24 C4600000 */ lwc1 $f0, ($v1) +.L7F054C28: +/* 089758 7F054C28 460C003C */ c.lt.s $f0, $f12 +/* 08975C 7F054C2C 00000000 */ nop +/* 089760 7F054C30 45020005 */ bc1fl .L7F054C48 +/* 089764 7F054C34 8FBF0014 */ lw $ra, 0x14($sp) +/* 089768 7F054C38 460C7481 */ sub.s $f18, $f14, $f12 +/* 08976C 7F054C3C 46007101 */ sub.s $f4, $f14, $f0 +/* 089770 7F054C40 46049403 */ div.s $f16, $f18, $f4 +.L7F054C44: +/* 089774 7F054C44 8FBF0014 */ lw $ra, 0x14($sp) +.L7F054C48: +/* 089778 7F054C48 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08977C 7F054C4C 46008006 */ mov.s $f0, $f16 +/* 089780 7F054C50 03E00008 */ jr $ra +/* 089784 7F054C54 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054C58(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054C58 +/* 089788 7F054C58 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 08978C 7F054C5C AFBF0014 */ sw $ra, 0x14($sp) +/* 089790 7F054C60 240E0001 */ li $t6, 1 +/* 089794 7F054C64 AFA40038 */ sw $a0, 0x38($sp) +/* 089798 7F054C68 AFA5003C */ sw $a1, 0x3c($sp) +/* 08979C 7F054C6C 0FC2ECE6 */ jal return_nearfog_values +/* 0897A0 7F054C70 AFAE0034 */ sw $t6, 0x34($sp) +/* 0897A4 7F054C74 50400039 */ beql $v0, $zero, .L7F054D5C +/* 0897A8 7F054C78 8FBF0014 */ lw $ra, 0x14($sp) +/* 0897AC 7F054C7C 0FC227F5 */ jal get_BONDdata_position +/* 0897B0 7F054C80 AFA20030 */ sw $v0, 0x30($sp) +/* 0897B4 7F054C84 0FC1E0F1 */ jal get_BONDdata_field_10CC +/* 0897B8 7F054C88 AFA2001C */ sw $v0, 0x1c($sp) +/* 0897BC 7F054C8C 8FA3001C */ lw $v1, 0x1c($sp) +/* 0897C0 7F054C90 8FA50038 */ lw $a1, 0x38($sp) +/* 0897C4 7F054C94 8FA40030 */ lw $a0, 0x30($sp) +/* 0897C8 7F054C98 C4660000 */ lwc1 $f6, ($v1) +/* 0897CC 7F054C9C C4A40000 */ lwc1 $f4, ($a1) +/* 0897D0 7F054CA0 46062201 */ sub.s $f8, $f4, $f6 +/* 0897D4 7F054CA4 E7A80024 */ swc1 $f8, 0x24($sp) +/* 0897D8 7F054CA8 C4700004 */ lwc1 $f16, 4($v1) +/* 0897DC 7F054CAC C4AA0004 */ lwc1 $f10, 4($a1) +/* 0897E0 7F054CB0 46105481 */ sub.s $f18, $f10, $f16 +/* 0897E4 7F054CB4 C7AA0024 */ lwc1 $f10, 0x24($sp) +/* 0897E8 7F054CB8 E7B20028 */ swc1 $f18, 0x28($sp) +/* 0897EC 7F054CBC C4660008 */ lwc1 $f6, 8($v1) +/* 0897F0 7F054CC0 C4A40008 */ lwc1 $f4, 8($a1) +/* 0897F4 7F054CC4 46062201 */ sub.s $f8, $f4, $f6 +/* 0897F8 7F054CC8 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 0897FC 7F054CCC E7A8002C */ swc1 $f8, 0x2c($sp) +/* 089800 7F054CD0 C4500000 */ lwc1 $f16, ($v0) +/* 089804 7F054CD4 C4460004 */ lwc1 $f6, 4($v0) +/* 089808 7F054CD8 46105482 */ mul.s $f18, $f10, $f16 +/* 08980C 7F054CDC C4500008 */ lwc1 $f16, 8($v0) +/* 089810 7F054CE0 46062202 */ mul.s $f8, $f4, $f6 +/* 089814 7F054CE4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 089818 7F054CE8 46048182 */ mul.s $f6, $f16, $f4 +/* 08981C 7F054CEC 46089280 */ add.s $f10, $f18, $f8 +/* 089820 7F054CF0 C4920008 */ lwc1 $f18, 8($a0) +/* 089824 7F054CF4 460A3300 */ add.s $f12, $f6, $f10 +/* 089828 7F054CF8 460C903C */ c.lt.s $f18, $f12 +/* 08982C 7F054CFC 00000000 */ nop +/* 089830 7F054D00 45020016 */ bc1fl .L7F054D5C +/* 089834 7F054D04 8FBF0014 */ lw $ra, 0x14($sp) +/* 089838 7F054D08 AFA40030 */ sw $a0, 0x30($sp) +/* 08983C 7F054D0C 0FC1E121 */ jal getPlayer_c_lodscalez +/* 089840 7F054D10 E7AC0020 */ swc1 $f12, 0x20($sp) +/* 089844 7F054D14 8FA40030 */ lw $a0, 0x30($sp) +/* 089848 7F054D18 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 08984C 7F054D1C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 089850 7F054D20 C4820008 */ lwc1 $f2, 8($a0) +/* 089854 7F054D24 44818000 */ mtc1 $at, $f16 +/* 089858 7F054D28 C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 08985C 7F054D2C 46026201 */ sub.s $f8, $f12, $f2 +/* 089860 7F054D30 46104102 */ mul.s $f4, $f8, $f16 +/* 089864 7F054D34 C4880004 */ lwc1 $f8, 4($a0) +/* 089868 7F054D38 46062283 */ div.s $f10, $f4, $f6 +/* 08986C 7F054D3C 46025480 */ add.s $f18, $f10, $f2 +/* 089870 7F054D40 46009302 */ mul.s $f12, $f18, $f0 +/* 089874 7F054D44 460C403E */ c.le.s $f8, $f12 +/* 089878 7F054D48 00000000 */ nop +/* 08987C 7F054D4C 45020003 */ bc1fl .L7F054D5C +/* 089880 7F054D50 8FBF0014 */ lw $ra, 0x14($sp) +/* 089884 7F054D54 AFA00034 */ sw $zero, 0x34($sp) +/* 089888 7F054D58 8FBF0014 */ lw $ra, 0x14($sp) +.L7F054D5C: +/* 08988C 7F054D5C 8FA20034 */ lw $v0, 0x34($sp) +/* 089890 7F054D60 27BD0038 */ addiu $sp, $sp, 0x38 +/* 089894 7F054D64 03E00008 */ jr $ra +/* 089898 7F054D68 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054D6C(void) { + +} +#else +GLOBAL_ASM( +.late_rodata +glabel D_8005345C +.word 0x4e742400 /*1.024e9*/ +glabel D_80053460 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053464 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053468 +.word 0x40490fdb /*3.1415927*/ +glabel D_8005346C +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053470 +.word 0x40490fdb /*3.1415927*/ +glabel D_80053474 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053478 +.word 0x40c90fdb /*6.2831855*/ +glabel D_8005347C +.word 0x40490fdb /*3.1415927*/ +glabel D_80053480 +.word 0x40c90fdb /*6.2831855*/ +glabel D_80053484 +.word 0x3eb2b8c3 /*0.34906587*/ +glabel D_80053488 +.word 0x40490fdb /*3.1415927*/ +glabel D_8005348C +.word 0x471c4000 /*40000.0*/ +.text +glabel sub_GAME_7F054D6C +/* 08989C 7F054D6C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0898A0 7F054D70 AFB10018 */ sw $s1, 0x18($sp) +/* 0898A4 7F054D74 00A08825 */ move $s1, $a1 +/* 0898A8 7F054D78 AFBF001C */ sw $ra, 0x1c($sp) +/* 0898AC 7F054D7C AFB00014 */ sw $s0, 0x14($sp) +/* 0898B0 7F054D80 AFA40070 */ sw $a0, 0x70($sp) +/* 0898B4 7F054D84 AFA60078 */ sw $a2, 0x78($sp) +/* 0898B8 7F054D88 AFA7007C */ sw $a3, 0x7c($sp) +/* 0898BC 7F054D8C AFA00044 */ sw $zero, 0x44($sp) +/* 0898C0 7F054D90 0FC0F2E3 */ jal sub_GAME_7F03CB8C +/* 0898C4 7F054D94 27A50050 */ addiu $a1, $sp, 0x50 +/* 0898C8 7F054D98 8FA40050 */ lw $a0, 0x50($sp) +/* 0898CC 7F054D9C 27B00050 */ addiu $s0, $sp, 0x50 +/* 0898D0 7F054DA0 0482003C */ bltzl $a0, .L7F054E94 +/* 0898D4 7F054DA4 8FBF001C */ lw $ra, 0x1c($sp) +.L7F054DA8: +/* 0898D8 7F054DA8 0FC2D794 */ jal sub_GAME_7F0B5E50 +/* 0898DC 7F054DAC 00000000 */ nop +/* 0898E0 7F054DB0 10400033 */ beqz $v0, .L7F054E80 +/* 0898E4 7F054DB4 02202025 */ move $a0, $s1 +/* 0898E8 7F054DB8 0FC2ECB2 */ jal sub_GAME_7F0BB2C8 +/* 0898EC 7F054DBC 8FA50078 */ lw $a1, 0x78($sp) +/* 0898F0 7F054DC0 10400033 */ beqz $v0, .L7F054E90 +/* 0898F4 7F054DC4 8FAE007C */ lw $t6, 0x7c($sp) +/* 0898F8 7F054DC8 11C00004 */ beqz $t6, .L7F054DDC +/* 0898FC 7F054DCC 02202025 */ move $a0, $s1 +/* 089900 7F054DD0 0FC15316 */ jal sub_GAME_7F054C58 +/* 089904 7F054DD4 8FA50078 */ lw $a1, 0x78($sp) +/* 089908 7F054DD8 1040002D */ beqz $v0, .L7F054E90 +.L7F054DDC: +/* 08990C 7F054DDC 27B00034 */ addiu $s0, $sp, 0x34 +/* 089910 7F054DE0 02002825 */ move $a1, $s0 +/* 089914 7F054DE4 0FC15299 */ jal sub_GAME_7F054A64 +/* 089918 7F054DE8 8FA40070 */ lw $a0, 0x70($sp) +/* 08991C 7F054DEC 10400007 */ beqz $v0, .L7F054E0C +/* 089920 7F054DF0 02202025 */ move $a0, $s1 +/* 089924 7F054DF4 02202025 */ move $a0, $s1 +/* 089928 7F054DF8 8FA50078 */ lw $a1, 0x78($sp) +/* 08992C 7F054DFC 0FC1E2FD */ jal sub_GAME_7F078BF4 +/* 089930 7F054E00 02003025 */ move $a2, $s0 +/* 089934 7F054E04 10000004 */ b .L7F054E18 +/* 089938 7F054E08 AFA20044 */ sw $v0, 0x44($sp) +.L7F054E0C: +/* 08993C 7F054E0C 0FC1E296 */ jal sub_GAME_7F078A58 +/* 089940 7F054E10 8FA50078 */ lw $a1, 0x78($sp) +/* 089944 7F054E14 AFA20044 */ sw $v0, 0x44($sp) +.L7F054E18: +/* 089948 7F054E18 5040001E */ beql $v0, $zero, .L7F054E94 +/* 08994C 7F054E1C 8FBF001C */ lw $ra, 0x1c($sp) +/* 089950 7F054E20 0FC227F5 */ jal get_BONDdata_position +/* 089954 7F054E24 00000000 */ nop +/* 089958 7F054E28 C6240000 */ lwc1 $f4, ($s1) +/* 08995C 7F054E2C C4460000 */ lwc1 $f6, ($v0) +/* 089960 7F054E30 C6280004 */ lwc1 $f8, 4($s1) +/* 089964 7F054E34 C44A0004 */ lwc1 $f10, 4($v0) +/* 089968 7F054E38 46062001 */ sub.s $f0, $f4, $f6 +/* 08996C 7F054E3C C6300008 */ lwc1 $f16, 8($s1) +/* 089970 7F054E40 C4520008 */ lwc1 $f18, 8($v0) +/* 089974 7F054E44 460A4081 */ sub.s $f2, $f8, $f10 +/* 089978 7F054E48 46000182 */ mul.s $f6, $f0, $f0 +/* 08997C 7F054E4C 3C018005 */ lui $at, %hi(D_8005345C) +/* 089980 7F054E50 46128301 */ sub.s $f12, $f16, $f18 +/* 089984 7F054E54 46021202 */ mul.s $f8, $f2, $f2 +/* 089988 7F054E58 C424345C */ lwc1 $f4, %lo(D_8005345C)($at) +/* 08998C 7F054E5C 460C6402 */ mul.s $f16, $f12, $f12 +/* 089990 7F054E60 46083280 */ add.s $f10, $f6, $f8 +/* 089994 7F054E64 46105480 */ add.s $f18, $f10, $f16 +/* 089998 7F054E68 4612203C */ c.lt.s $f4, $f18 +/* 08999C 7F054E6C 00000000 */ nop +/* 0899A0 7F054E70 45020008 */ bc1fl .L7F054E94 +/* 0899A4 7F054E74 8FBF001C */ lw $ra, 0x1c($sp) +/* 0899A8 7F054E78 10000005 */ b .L7F054E90 +/* 0899AC 7F054E7C AFA00044 */ sw $zero, 0x44($sp) +.L7F054E80: +/* 0899B0 7F054E80 8E040004 */ lw $a0, 4($s0) +/* 0899B4 7F054E84 26100004 */ addiu $s0, $s0, 4 +/* 0899B8 7F054E88 0481FFC7 */ bgez $a0, .L7F054DA8 +/* 0899BC 7F054E8C 00000000 */ nop +.L7F054E90: +/* 0899C0 7F054E90 8FBF001C */ lw $ra, 0x1c($sp) +.L7F054E94: +/* 0899C4 7F054E94 8FA20044 */ lw $v0, 0x44($sp) +/* 0899C8 7F054E98 8FB00014 */ lw $s0, 0x14($sp) +/* 0899CC 7F054E9C 8FB10018 */ lw $s1, 0x18($sp) +/* 0899D0 7F054EA0 03E00008 */ jr $ra +/* 0899D4 7F054EA4 27BD0070 */ addiu $sp, $sp, 0x70 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054EA8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054EA8 +/* 0899D8 7F054EA8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0899DC 7F054EAC AFBF0024 */ sw $ra, 0x24($sp) +/* 0899E0 7F054EB0 AFB00020 */ sw $s0, 0x20($sp) +/* 0899E4 7F054EB4 808200BC */ lb $v0, 0xbc($a0) +/* 0899E8 7F054EB8 24010001 */ li $at, 1 +/* 0899EC 7F054EBC 00808025 */ move $s0, $a0 +/* 0899F0 7F054EC0 1441001C */ bne $v0, $at, .L7F054F34 +/* 0899F4 7F054EC4 00001825 */ move $v1, $zero +/* 0899F8 7F054EC8 C6040090 */ lwc1 $f4, 0x90($s0) +/* 0899FC 7F054ECC 8E050084 */ lw $a1, 0x84($s0) +/* 089A00 7F054ED0 8E07008C */ lw $a3, 0x8c($s0) +/* 089A04 7F054ED4 E7A40010 */ swc1 $f4, 0x10($sp) +/* 089A08 7F054ED8 C6060094 */ lwc1 $f6, 0x94($s0) +/* 089A0C 7F054EDC 248400B4 */ addiu $a0, $a0, 0xb4 +/* 089A10 7F054EE0 260600B8 */ addiu $a2, $s0, 0xb8 +/* 089A14 7F054EE4 0FC10BC6 */ jal sub_GAME_7F042F18 +/* 089A18 7F054EE8 E7A60014 */ swc1 $f6, 0x14($sp) +/* 089A1C 7F054EEC C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 089A20 7F054EF0 C6000084 */ lwc1 $f0, 0x84($s0) +/* 089A24 7F054EF4 24030001 */ li $v1, 1 +/* 089A28 7F054EF8 4602003E */ c.le.s $f0, $f2 +/* 089A2C 7F054EFC 00000000 */ nop +/* 089A30 7F054F00 45020004 */ bc1fl .L7F054F14 +/* 089A34 7F054F04 44806000 */ mtc1 $zero, $f12 +/* 089A38 7F054F08 10000025 */ b .L7F054FA0 +/* 089A3C 7F054F0C E60000B4 */ swc1 $f0, 0xb4($s0) +/* 089A40 7F054F10 44806000 */ mtc1 $zero, $f12 +.L7F054F14: +/* 089A44 7F054F14 00000000 */ nop +/* 089A48 7F054F18 460C103E */ c.le.s $f2, $f12 +/* 089A4C 7F054F1C 00000000 */ nop +/* 089A50 7F054F20 45000002 */ bc1f .L7F054F2C +/* 089A54 7F054F24 00000000 */ nop +/* 089A58 7F054F28 E60C00B4 */ swc1 $f12, 0xb4($s0) +.L7F054F2C: +/* 089A5C 7F054F2C 1000001C */ b .L7F054FA0 +/* 089A60 7F054F30 24030001 */ li $v1, 1 +.L7F054F34: +/* 089A64 7F054F34 24010002 */ li $at, 2 +/* 089A68 7F054F38 14410019 */ bne $v0, $at, .L7F054FA0 +/* 089A6C 7F054F3C 260400B4 */ addiu $a0, $s0, 0xb4 +/* 089A70 7F054F40 C6080090 */ lwc1 $f8, 0x90($s0) +/* 089A74 7F054F44 44806000 */ mtc1 $zero, $f12 +/* 089A78 7F054F48 8E07008C */ lw $a3, 0x8c($s0) +/* 089A7C 7F054F4C E7A80010 */ swc1 $f8, 0x10($sp) +/* 089A80 7F054F50 C60A0094 */ lwc1 $f10, 0x94($s0) +/* 089A84 7F054F54 44056000 */ mfc1 $a1, $f12 +/* 089A88 7F054F58 260600B8 */ addiu $a2, $s0, 0xb8 +/* 089A8C 7F054F5C 0FC10BC6 */ jal sub_GAME_7F042F18 +/* 089A90 7F054F60 E7AA0014 */ swc1 $f10, 0x14($sp) +/* 089A94 7F054F64 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 089A98 7F054F68 C6000084 */ lwc1 $f0, 0x84($s0) +/* 089A9C 7F054F6C 44806000 */ mtc1 $zero, $f12 +/* 089AA0 7F054F70 24030001 */ li $v1, 1 +/* 089AA4 7F054F74 4602003E */ c.le.s $f0, $f2 +/* 089AA8 7F054F78 00000000 */ nop +/* 089AAC 7F054F7C 45020004 */ bc1fl .L7F054F90 +/* 089AB0 7F054F80 460C103E */ c.le.s $f2, $f12 +/* 089AB4 7F054F84 10000006 */ b .L7F054FA0 +/* 089AB8 7F054F88 E60000B4 */ swc1 $f0, 0xb4($s0) +/* 089ABC 7F054F8C 460C103E */ c.le.s $f2, $f12 +.L7F054F90: +/* 089AC0 7F054F90 00000000 */ nop +/* 089AC4 7F054F94 45000002 */ bc1f .L7F054FA0 +/* 089AC8 7F054F98 00000000 */ nop +/* 089ACC 7F054F9C E60C00B4 */ swc1 $f12, 0xb4($s0) +.L7F054FA0: +/* 089AD0 7F054FA0 8FBF0024 */ lw $ra, 0x24($sp) +/* 089AD4 7F054FA4 8FB00020 */ lw $s0, 0x20($sp) +/* 089AD8 7F054FA8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 089ADC 7F054FAC 03E00008 */ jr $ra +/* 089AE0 7F054FB0 00601025 */ move $v0, $v1 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F054FB4(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F054FB4 +/* 089AE4 7F054FB4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 089AE8 7F054FB8 AFB50030 */ sw $s5, 0x30($sp) +/* 089AEC 7F054FBC AFB4002C */ sw $s4, 0x2c($sp) +/* 089AF0 7F054FC0 AFB20024 */ sw $s2, 0x24($sp) +/* 089AF4 7F054FC4 AFB10020 */ sw $s1, 0x20($sp) +/* 089AF8 7F054FC8 00809025 */ move $s2, $a0 +/* 089AFC 7F054FCC AFBF0034 */ sw $ra, 0x34($sp) +/* 089B00 7F054FD0 AFB30028 */ sw $s3, 0x28($sp) +/* 089B04 7F054FD4 AFB0001C */ sw $s0, 0x1c($sp) +/* 089B08 7F054FD8 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 089B0C 7F054FDC 0000A025 */ move $s4, $zero +/* 089B10 7F054FE0 24150001 */ li $s5, 1 +/* 089B14 7F054FE4 10800010 */ beqz $a0, .L7F055028 +/* 089B18 7F054FE8 00808825 */ move $s1, $a0 +/* 089B1C 7F054FEC C62400B4 */ lwc1 $f4, 0xb4($s1) +.L7F054FF0: +/* 089B20 7F054FF0 02202025 */ move $a0, $s1 +/* 089B24 7F054FF4 0FC153AA */ jal sub_GAME_7F054EA8 +/* 089B28 7F054FF8 E62400FC */ swc1 $f4, 0xfc($s1) +/* 089B2C 7F054FFC 50400003 */ beql $v0, $zero, .L7F05500C +/* 089B30 7F055000 8E3100C8 */ lw $s1, 0xc8($s1) +/* 089B34 7F055004 24140001 */ li $s4, 1 +/* 089B38 7F055008 8E3100C8 */ lw $s1, 0xc8($s1) +.L7F05500C: +/* 089B3C 7F05500C 16320003 */ bne $s1, $s2, .L7F05501C +/* 089B40 7F055010 00000000 */ nop +/* 089B44 7F055014 10000004 */ b .L7F055028 +/* 089B48 7F055018 02408825 */ move $s1, $s2 +.L7F05501C: +/* 089B4C 7F05501C 5620FFF4 */ bnezl $s1, .L7F054FF0 +/* 089B50 7F055020 C62400B4 */ lwc1 $f4, 0xb4($s1) +/* 089B54 7F055024 02408825 */ move $s1, $s2 +.L7F055028: +/* 089B58 7F055028 12800013 */ beqz $s4, .L7F055078 +/* 089B5C 7F05502C 00000000 */ nop +/* 089B60 7F055030 12400011 */ beqz $s2, .L7F055078 +/* 089B64 7F055034 00000000 */ nop +.L7F055038: +/* 089B68 7F055038 0FC14AC0 */ jal sub_GAME_7F052B00 +/* 089B6C 7F05503C 02202025 */ move $a0, $s1 +/* 089B70 7F055040 0FC1122A */ jal sub_GAME_7F0448A8 +/* 089B74 7F055044 8E240010 */ lw $a0, 0x10($s1) +/* 089B78 7F055048 14400003 */ bnez $v0, .L7F055058 +/* 089B7C 7F05504C 0040A825 */ move $s5, $v0 +/* 089B80 7F055050 10000009 */ b .L7F055078 +/* 089B84 7F055054 02408825 */ move $s1, $s2 +.L7F055058: +/* 089B88 7F055058 8E3100C8 */ lw $s1, 0xc8($s1) +/* 089B8C 7F05505C 16320003 */ bne $s1, $s2, .L7F05506C +/* 089B90 7F055060 00000000 */ nop +/* 089B94 7F055064 10000004 */ b .L7F055078 +/* 089B98 7F055068 02408825 */ move $s1, $s2 +.L7F05506C: +/* 089B9C 7F05506C 1620FFF2 */ bnez $s1, .L7F055038 +/* 089BA0 7F055070 00000000 */ nop +/* 089BA4 7F055074 02408825 */ move $s1, $s2 +.L7F055078: +/* 089BA8 7F055078 12400062 */ beqz $s2, .L7F055204 +/* 089BAC 7F05507C 3C138005 */ lui $s3, %hi(global_timer) +/* 089BB0 7F055080 4480A000 */ mtc1 $zero, $f20 +/* 089BB4 7F055084 2673837C */ addiu $s3, %lo(global_timer) # addiu $s3, $s3, -0x7c84 +.L7F055088: +/* 089BB8 7F055088 52800030 */ beql $s4, $zero, .L7F05514C +/* 089BBC 7F05508C 962F0098 */ lhu $t7, 0x98($s1) +/* 089BC0 7F055090 12A00025 */ beqz $s5, .L7F055128 +/* 089BC4 7F055094 02202025 */ move $a0, $s1 +/* 089BC8 7F055098 822200BC */ lb $v0, 0xbc($s1) +/* 089BCC 7F05509C 24010001 */ li $at, 1 +/* 089BD0 7F0550A0 54410010 */ bnel $v0, $at, .L7F0550E4 +/* 089BD4 7F0550A4 24010002 */ li $at, 2 +/* 089BD8 7F0550A8 C62600B4 */ lwc1 $f6, 0xb4($s1) +/* 089BDC 7F0550AC C6280084 */ lwc1 $f8, 0x84($s1) +/* 089BE0 7F0550B0 4606403E */ c.le.s $f8, $f6 +/* 089BE4 7F0550B4 00000000 */ nop +/* 089BE8 7F0550B8 45020017 */ bc1fl .L7F055118 +/* 089BEC 7F0550BC 8E240010 */ lw $a0, 0x10($s1) +/* 089BF0 7F0550C0 A22000BC */ sb $zero, 0xbc($s1) +/* 089BF4 7F0550C4 E63400B8 */ swc1 $f20, 0xb8($s1) +/* 089BF8 7F0550C8 8E6E0000 */ lw $t6, ($s3) +/* 089BFC 7F0550CC 02202025 */ move $a0, $s1 +/* 089C00 7F0550D0 0FC15203 */ jal sub_GAME_7F05480C +/* 089C04 7F0550D4 AE2E00EC */ sw $t6, 0xec($s1) +/* 089C08 7F0550D8 1000000F */ b .L7F055118 +/* 089C0C 7F0550DC 8E240010 */ lw $a0, 0x10($s1) +/* 089C10 7F0550E0 24010002 */ li $at, 2 +.L7F0550E4: +/* 089C14 7F0550E4 5441000C */ bnel $v0, $at, .L7F055118 +/* 089C18 7F0550E8 8E240010 */ lw $a0, 0x10($s1) +/* 089C1C 7F0550EC C62A00B4 */ lwc1 $f10, 0xb4($s1) +/* 089C20 7F0550F0 02202025 */ move $a0, $s1 +/* 089C24 7F0550F4 4614503E */ c.le.s $f10, $f20 +/* 089C28 7F0550F8 00000000 */ nop +/* 089C2C 7F0550FC 45020006 */ bc1fl .L7F055118 +/* 089C30 7F055100 8E240010 */ lw $a0, 0x10($s1) +/* 089C34 7F055104 A22000BC */ sb $zero, 0xbc($s1) +/* 089C38 7F055108 E63400B8 */ swc1 $f20, 0xb8($s1) +/* 089C3C 7F05510C 0FC1521F */ jal sub_GAME_7F05487C +/* 089C40 7F055110 AE2000EC */ sw $zero, 0xec($s1) +/* 089C44 7F055114 8E240010 */ lw $a0, 0x10($s1) +.L7F055118: +/* 089C48 7F055118 0FC100AD */ jal sub_GAME_7F0402B4 +/* 089C4C 7F05511C 2625007C */ addiu $a1, $s1, 0x7c +/* 089C50 7F055120 10000005 */ b .L7F055138 +/* 089C54 7F055124 00000000 */ nop +.L7F055128: +/* 089C58 7F055128 C63000FC */ lwc1 $f16, 0xfc($s1) +/* 089C5C 7F05512C E63400B8 */ swc1 $f20, 0xb8($s1) +/* 089C60 7F055130 0FC14AC0 */ jal sub_GAME_7F052B00 +/* 089C64 7F055134 E63000B4 */ swc1 $f16, 0xb4($s1) +.L7F055138: +/* 089C68 7F055138 0FC14B63 */ jal sub_GAME_7F052D8C +/* 089C6C 7F05513C 02202025 */ move $a0, $s1 +/* 089C70 7F055140 1000002A */ b .L7F0551EC +/* 089C74 7F055144 8E690000 */ lw $t1, ($s3) +/* 089C78 7F055148 962F0098 */ lhu $t7, 0x98($s1) +.L7F05514C: +/* 089C7C 7F05514C 31F80004 */ andi $t8, $t7, 4 +/* 089C80 7F055150 53000026 */ beql $t8, $zero, .L7F0551EC +/* 089C84 7F055154 8E690000 */ lw $t1, ($s3) +/* 089C88 7F055158 8E240014 */ lw $a0, 0x14($s1) +/* 089C8C 7F05515C 8C990008 */ lw $t9, 8($a0) +/* 089C90 7F055160 8F280000 */ lw $t0, ($t9) +/* 089C94 7F055164 8D090014 */ lw $t1, 0x14($t0) +/* 089C98 7F055168 8D250014 */ lw $a1, 0x14($t1) +/* 089C9C 7F05516C 0FC1B1E7 */ jal extract_id_from_object_structure_microcode +/* 089CA0 7F055170 8CB00004 */ lw $s0, 4($a1) +/* 089CA4 7F055174 8E2300CC */ lw $v1, 0xcc($s1) +/* 089CA8 7F055178 8C4A0000 */ lw $t2, ($v0) +/* 089CAC 7F05517C 506A001A */ beql $v1, $t2, .L7F0551E8 +/* 089CB0 7F055180 AC430000 */ sw $v1, ($v0) +/* 089CB4 7F055184 860B000C */ lh $t3, 0xc($s0) +/* 089CB8 7F055188 00002025 */ move $a0, $zero +/* 089CBC 7F05518C 59600016 */ blezl $t3, .L7F0551E8 +/* 089CC0 7F055190 AC430000 */ sw $v1, ($v0) +/* 089CC4 7F055194 00001825 */ move $v1, $zero +/* 089CC8 7F055198 8C4E0000 */ lw $t6, ($v0) +.L7F05519C: +/* 089CCC 7F05519C 8E2C00CC */ lw $t4, 0xcc($s1) +/* 089CD0 7F0551A0 24840001 */ addiu $a0, $a0, 1 +/* 089CD4 7F0551A4 01C37821 */ addu $t7, $t6, $v1 +/* 089CD8 7F0551A8 8DE10000 */ lw $at, ($t7) +/* 089CDC 7F0551AC 01836821 */ addu $t5, $t4, $v1 +/* 089CE0 7F0551B0 24630010 */ addiu $v1, $v1, 0x10 +/* 089CE4 7F0551B4 ADA10000 */ sw $at, ($t5) +/* 089CE8 7F0551B8 8DF90004 */ lw $t9, 4($t7) +/* 089CEC 7F0551BC ADB90004 */ sw $t9, 4($t5) +/* 089CF0 7F0551C0 8DE10008 */ lw $at, 8($t7) +/* 089CF4 7F0551C4 ADA10008 */ sw $at, 8($t5) +/* 089CF8 7F0551C8 8DF9000C */ lw $t9, 0xc($t7) +/* 089CFC 7F0551CC ADB9000C */ sw $t9, 0xc($t5) +/* 089D00 7F0551D0 8608000C */ lh $t0, 0xc($s0) +/* 089D04 7F0551D4 0088082A */ slt $at, $a0, $t0 +/* 089D08 7F0551D8 5420FFF0 */ bnezl $at, .L7F05519C +/* 089D0C 7F0551DC 8C4E0000 */ lw $t6, ($v0) +/* 089D10 7F0551E0 8E2300CC */ lw $v1, 0xcc($s1) +/* 089D14 7F0551E4 AC430000 */ sw $v1, ($v0) +.L7F0551E8: +/* 089D18 7F0551E8 8E690000 */ lw $t1, ($s3) +.L7F0551EC: +/* 089D1C 7F0551EC AE2900FC */ sw $t1, 0xfc($s1) +/* 089D20 7F0551F0 8E3100C8 */ lw $s1, 0xc8($s1) +/* 089D24 7F0551F4 52320004 */ beql $s1, $s2, .L7F055208 +/* 089D28 7F0551F8 8FBF0034 */ lw $ra, 0x34($sp) +/* 089D2C 7F0551FC 1620FFA2 */ bnez $s1, .L7F055088 +/* 089D30 7F055200 00000000 */ nop +.L7F055204: +/* 089D34 7F055204 8FBF0034 */ lw $ra, 0x34($sp) +.L7F055208: +/* 089D38 7F055208 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 089D3C 7F05520C 8FB0001C */ lw $s0, 0x1c($sp) +/* 089D40 7F055210 8FB10020 */ lw $s1, 0x20($sp) +/* 089D44 7F055214 8FB20024 */ lw $s2, 0x24($sp) +/* 089D48 7F055218 8FB30028 */ lw $s3, 0x28($sp) +/* 089D4C 7F05521C 8FB4002C */ lw $s4, 0x2c($sp) +/* 089D50 7F055220 8FB50030 */ lw $s5, 0x30($sp) +/* 089D54 7F055224 03E00008 */ jr $ra +/* 089D58 7F055228 27BD0038 */ addiu $sp, $sp, 0x38 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05522C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05522C +/* 089D5C 7F05522C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 089D60 7F055230 AFBF0014 */ sw $ra, 0x14($sp) +/* 089D64 7F055234 AFA40068 */ sw $a0, 0x68($sp) +/* 089D68 7F055238 AFA5006C */ sw $a1, 0x6c($sp) +/* 089D6C 7F05523C AFA60070 */ sw $a2, 0x70($sp) +/* 089D70 7F055240 AFA70074 */ sw $a3, 0x74($sp) +/* 089D74 7F055244 84990006 */ lh $t9, 6($a0) +/* 089D78 7F055248 3C098007 */ lui $t1, %hi(ptr_2xxxpresets) +/* 089D7C 7F05524C 8D295D1C */ lw $t1, %lo(ptr_2xxxpresets)($t1) +/* 089D80 7F055250 00194100 */ sll $t0, $t9, 4 +/* 089D84 7F055254 01194021 */ addu $t0, $t0, $t9 +/* 089D88 7F055258 00084080 */ sll $t0, $t0, 2 +/* 089D8C 7F05525C 01091821 */ addu $v1, $t0, $t1 +/* 089D90 7F055260 0FC225E6 */ jal get_curplayer_positiondata +/* 089D94 7F055264 AFA3005C */ sw $v1, 0x5c($sp) +/* 089D98 7F055268 3C048008 */ lui $a0, %hi(pPlayer) +/* 089D9C 7F05526C 8C84A0B0 */ lw $a0, %lo(pPlayer)($a0) +/* 089DA0 7F055270 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 089DA4 7F055274 44810000 */ mtc1 $at, $f0 +/* 089DA8 7F055278 C4840498 */ lwc1 $f4, 0x498($a0) +/* 089DAC 7F05527C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 089DB0 7F055280 44811000 */ mtc1 $at, $f2 +/* 089DB4 7F055284 46002282 */ mul.s $f10, $f4, $f0 +/* 089DB8 7F055288 3C013F40 */ li $at, 0x3F400000 # 0.750000 +/* 089DBC 7F05528C 44816000 */ mtc1 $at, $f12 +/* 089DC0 7F055290 C4440008 */ lwc1 $f4, 8($v0) +/* 089DC4 7F055294 8FAA0074 */ lw $t2, 0x74($sp) +/* 089DC8 7F055298 8FA3005C */ lw $v1, 0x5c($sp) +/* 089DCC 7F05529C 46025202 */ mul.s $f8, $f10, $f2 +/* 089DD0 7F0552A0 00000000 */ nop +/* 089DD4 7F0552A4 460C4182 */ mul.s $f6, $f8, $f12 +/* 089DD8 7F0552A8 46043280 */ add.s $f10, $f6, $f4 +/* 089DDC 7F0552AC E7AA0030 */ swc1 $f10, 0x30($sp) +/* 089DE0 7F0552B0 C448000C */ lwc1 $f8, 0xc($v0) +/* 089DE4 7F0552B4 E7A80034 */ swc1 $f8, 0x34($sp) +/* 089DE8 7F0552B8 C48604A0 */ lwc1 $f6, 0x4a0($a0) +/* 089DEC 7F0552BC 46003102 */ mul.s $f4, $f6, $f0 +/* 089DF0 7F0552C0 C4460010 */ lwc1 $f6, 0x10($v0) +/* 089DF4 7F0552C4 46022282 */ mul.s $f10, $f4, $f2 +/* 089DF8 7F0552C8 00000000 */ nop +/* 089DFC 7F0552CC 460C5202 */ mul.s $f8, $f10, $f12 +/* 089E00 7F0552D0 46064100 */ add.s $f4, $f8, $f6 +/* 089E04 7F0552D4 1140001D */ beqz $t2, .L7F05534C +/* 089E08 7F0552D8 E7A40038 */ swc1 $f4, 0x38($sp) +/* 089E0C 7F0552DC C46A0030 */ lwc1 $f10, 0x30($v1) +/* 089E10 7F0552E0 C472002C */ lwc1 $f18, 0x2c($v1) +/* 089E14 7F0552E4 E7AA003C */ swc1 $f10, 0x3c($sp) +/* 089E18 7F0552E8 C4680010 */ lwc1 $f8, 0x10($v1) +/* 089E1C 7F0552EC C4660020 */ lwc1 $f6, 0x20($v1) +/* 089E20 7F0552F0 C46A001C */ lwc1 $f10, 0x1c($v1) +/* 089E24 7F0552F4 46064102 */ mul.s $f4, $f8, $f6 +/* 089E28 7F0552F8 C4680014 */ lwc1 $f8, 0x14($v1) +/* 089E2C 7F0552FC 46085182 */ mul.s $f6, $f10, $f8 +/* 089E30 7F055300 46062281 */ sub.s $f10, $f4, $f6 +/* 089E34 7F055304 E7AA0044 */ swc1 $f10, 0x44($sp) +/* 089E38 7F055308 C4640018 */ lwc1 $f4, 0x18($v1) +/* 089E3C 7F05530C C4680014 */ lwc1 $f8, 0x14($v1) +/* 089E40 7F055310 C46A0020 */ lwc1 $f10, 0x20($v1) +/* 089E44 7F055314 46044182 */ mul.s $f6, $f8, $f4 +/* 089E48 7F055318 C468000C */ lwc1 $f8, 0xc($v1) +/* 089E4C 7F05531C 46085102 */ mul.s $f4, $f10, $f8 +/* 089E50 7F055320 46043281 */ sub.s $f10, $f6, $f4 +/* 089E54 7F055324 E7AA0048 */ swc1 $f10, 0x48($sp) +/* 089E58 7F055328 C466001C */ lwc1 $f6, 0x1c($v1) +/* 089E5C 7F05532C C468000C */ lwc1 $f8, 0xc($v1) +/* 089E60 7F055330 C46A0018 */ lwc1 $f10, 0x18($v1) +/* 089E64 7F055334 46064102 */ mul.s $f4, $f8, $f6 +/* 089E68 7F055338 C4680010 */ lwc1 $f8, 0x10($v1) +/* 089E6C 7F05533C 46085182 */ mul.s $f6, $f10, $f8 +/* 089E70 7F055340 46062281 */ sub.s $f10, $f4, $f6 +/* 089E74 7F055344 1000000A */ b .L7F055370 +/* 089E78 7F055348 E7AA004C */ swc1 $f10, 0x4c($sp) +.L7F05534C: +/* 089E7C 7F05534C C4680038 */ lwc1 $f8, 0x38($v1) +/* 089E80 7F055350 C4720034 */ lwc1 $f18, 0x34($v1) +/* 089E84 7F055354 E7A8003C */ swc1 $f8, 0x3c($sp) +/* 089E88 7F055358 C464000C */ lwc1 $f4, 0xc($v1) +/* 089E8C 7F05535C E7A40044 */ swc1 $f4, 0x44($sp) +/* 089E90 7F055360 C4660010 */ lwc1 $f6, 0x10($v1) +/* 089E94 7F055364 E7A60048 */ swc1 $f6, 0x48($sp) +/* 089E98 7F055368 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 089E9C 7F05536C E7AA004C */ swc1 $f10, 0x4c($sp) +.L7F055370: +/* 089EA0 7F055370 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 089EA4 7F055374 C4680000 */ lwc1 $f8, ($v1) +/* 089EA8 7F055378 46122182 */ mul.s $f6, $f4, $f18 +/* 089EAC 7F05537C C7A40030 */ lwc1 $f4, 0x30($sp) +/* 089EB0 7F055380 46064280 */ add.s $f10, $f8, $f6 +/* 089EB4 7F055384 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 089EB8 7F055388 C4680008 */ lwc1 $f8, 8($v1) +/* 089EBC 7F05538C E7B20040 */ swc1 $f18, 0x40($sp) +/* 089EC0 7F055390 46045301 */ sub.s $f12, $f10, $f4 +/* 089EC4 7F055394 46123282 */ mul.s $f10, $f6, $f18 +/* 089EC8 7F055398 C7A60038 */ lwc1 $f6, 0x38($sp) +/* 089ECC 7F05539C AFA3005C */ sw $v1, 0x5c($sp) +/* 089ED0 7F0553A0 460A4100 */ add.s $f4, $f8, $f10 +/* 089ED4 7F0553A4 0FC16A8C */ jal convert_angle_using_inverse +/* 089ED8 7F0553A8 46062381 */ sub.s $f14, $f4, $f6 +/* 089EDC 7F0553AC 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees +/* 089EE0 7F0553B0 E7A00020 */ swc1 $f0, 0x20($sp) +/* 089EE4 7F0553B4 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 089EE8 7F0553B8 8FA3005C */ lw $v1, 0x5c($sp) +/* 089EEC 7F0553BC C7B20040 */ lwc1 $f18, 0x40($sp) +/* 089EF0 7F0553C0 4600603C */ c.lt.s $f12, $f0 +/* 089EF4 7F0553C4 3C018005 */ lui $at, %hi(D_80053460) +/* 089EF8 7F0553C8 46006381 */ sub.s $f14, $f12, $f0 +/* 089EFC 7F0553CC 8FA20068 */ lw $v0, 0x68($sp) +/* 089F00 7F0553D0 C7B0003C */ lwc1 $f16, 0x3c($sp) +/* 089F04 7F0553D4 45000003 */ bc1f .L7F0553E4 +/* 089F08 7F0553D8 46007086 */ mov.s $f2, $f14 +/* 089F0C 7F0553DC C4203460 */ lwc1 $f0, %lo(D_80053460)($at) +/* 089F10 7F0553E0 46007080 */ add.s $f2, $f14, $f0 +.L7F0553E4: +/* 089F14 7F0553E4 3C018005 */ lui $at, %hi(D_80053464) +/* 089F18 7F0553E8 C4203464 */ lwc1 $f0, %lo(D_80053464)($at) +/* 089F1C 7F0553EC 3C018005 */ lui $at, %hi(D_80053468) +/* 089F20 7F0553F0 C4283468 */ lwc1 $f8, %lo(D_80053468)($at) +/* 089F24 7F0553F4 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 089F28 7F0553F8 4602403C */ c.lt.s $f8, $f2 +/* 089F2C 7F0553FC 00000000 */ nop +/* 089F30 7F055400 45020003 */ bc1fl .L7F055410 +/* 089F34 7F055404 944B009A */ lhu $t3, 0x9a($v0) +/* 089F38 7F055408 46001081 */ sub.s $f2, $f2, $f0 +/* 089F3C 7F05540C 944B009A */ lhu $t3, 0x9a($v0) +.L7F055410: +/* 089F40 7F055410 24010005 */ li $at, 5 +/* 089F44 7F055414 15610046 */ bne $t3, $at, .L7F055530 +/* 089F48 7F055418 00000000 */ nop +/* 089F4C 7F05541C C44A00B4 */ lwc1 $f10, 0xb4($v0) +/* 089F50 7F055420 8C4C0008 */ lw $t4, 8($v0) +/* 089F54 7F055424 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 089F58 7F055428 46005102 */ mul.s $f4, $f10, $f0 +/* 089F5C 7F05542C 44813000 */ mtc1 $at, $f6 +/* 089F60 7F055430 000C6880 */ sll $t5, $t4, 2 +/* 089F64 7F055434 05A10002 */ bgez $t5, .L7F055440 +/* 089F68 7F055438 46062303 */ div.s $f12, $f4, $f6 +/* 089F6C 7F05543C 460C0301 */ sub.s $f12, $f0, $f12 +.L7F055440: +/* 089F70 7F055440 AFA3005C */ sw $v1, 0x5c($sp) +/* 089F74 7F055444 E7A20064 */ swc1 $f2, 0x64($sp) +/* 089F78 7F055448 E7AC002C */ swc1 $f12, 0x2c($sp) +/* 089F7C 7F05544C 0FC15FA8 */ jal cosf +/* 089F80 7F055450 E7B20040 */ swc1 $f18, 0x40($sp) +/* 089F84 7F055454 C7AC002C */ lwc1 $f12, 0x2c($sp) +/* 089F88 7F055458 0FC15FAB */ jal sinf +/* 089F8C 7F05545C E7A00028 */ swc1 $f0, 0x28($sp) +/* 089F90 7F055460 C7B20040 */ lwc1 $f18, 0x40($sp) +/* 089F94 7F055464 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 089F98 7F055468 8FA3005C */ lw $v1, 0x5c($sp) +/* 089F9C 7F05546C C7A8003C */ lwc1 $f8, 0x3c($sp) +/* 089FA0 7F055470 46122182 */ mul.s $f6, $f4, $f18 +/* 089FA4 7F055474 C46A0000 */ lwc1 $f10, ($v1) +/* 089FA8 7F055478 46124081 */ sub.s $f2, $f8, $f18 +/* 089FAC 7F05547C C7B00028 */ lwc1 $f16, 0x28($sp) +/* 089FB0 7F055480 46065200 */ add.s $f8, $f10, $f6 +/* 089FB4 7F055484 46102282 */ mul.s $f10, $f4, $f16 +/* 089FB8 7F055488 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 089FBC 7F05548C E7A80018 */ swc1 $f8, 0x18($sp) +/* 089FC0 7F055490 46003202 */ mul.s $f8, $f6, $f0 +/* 089FC4 7F055494 46085280 */ add.s $f10, $f10, $f8 +/* 089FC8 7F055498 460A1202 */ mul.s $f8, $f2, $f10 +/* 089FCC 7F05549C C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 089FD0 7F0554A0 46085280 */ add.s $f10, $f10, $f8 +/* 089FD4 7F0554A4 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 089FD8 7F0554A8 46085301 */ sub.s $f12, $f10, $f8 +/* 089FDC 7F0554AC 46123202 */ mul.s $f8, $f6, $f18 +/* 089FE0 7F0554B0 C46A0008 */ lwc1 $f10, 8($v1) +/* 089FE4 7F0554B4 46085280 */ add.s $f10, $f10, $f8 +/* 089FE8 7F0554B8 46002207 */ neg.s $f8, $f4 +/* 089FEC 7F0554BC 46004102 */ mul.s $f4, $f8, $f0 +/* 089FF0 7F0554C0 00000000 */ nop +/* 089FF4 7F0554C4 46103202 */ mul.s $f8, $f6, $f16 +/* 089FF8 7F0554C8 46082180 */ add.s $f6, $f4, $f8 +/* 089FFC 7F0554CC 46061102 */ mul.s $f4, $f2, $f6 +/* 08A000 7F0554D0 C7A60038 */ lwc1 $f6, 0x38($sp) +/* 08A004 7F0554D4 46045200 */ add.s $f8, $f10, $f4 +/* 08A008 7F0554D8 0FC16A8C */ jal convert_angle_using_inverse +/* 08A00C 7F0554DC 46064381 */ sub.s $f14, $f8, $f6 +/* 08A010 7F0554E0 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees +/* 08A014 7F0554E4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 08A018 7F0554E8 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 08A01C 7F0554EC 3C018005 */ lui $at, %hi(D_8005346C) +/* 08A020 7F0554F0 4600603C */ c.lt.s $f12, $f0 +/* 08A024 7F0554F4 46006381 */ sub.s $f14, $f12, $f0 +/* 08A028 7F0554F8 45000003 */ bc1f .L7F055508 +/* 08A02C 7F0554FC 46007086 */ mov.s $f2, $f14 +/* 08A030 7F055500 C42A346C */ lwc1 $f10, %lo(D_8005346C)($at) +/* 08A034 7F055504 460A7080 */ add.s $f2, $f14, $f10 +.L7F055508: +/* 08A038 7F055508 3C018005 */ lui $at, %hi(D_80053470) +/* 08A03C 7F05550C C4243470 */ lwc1 $f4, %lo(D_80053470)($at) +/* 08A040 7F055510 3C018005 */ lui $at, %hi(D_80053474) +/* 08A044 7F055514 4602203C */ c.lt.s $f4, $f2 +/* 08A048 7F055518 00000000 */ nop +/* 08A04C 7F05551C 45020025 */ bc1fl .L7F0555B4 +/* 08A050 7F055520 C7A00064 */ lwc1 $f0, 0x64($sp) +/* 08A054 7F055524 C4283474 */ lwc1 $f8, %lo(D_80053474)($at) +/* 08A058 7F055528 10000021 */ b .L7F0555B0 +/* 08A05C 7F05552C 46081081 */ sub.s $f2, $f2, $f8 +.L7F055530: +/* 08A060 7F055530 46105102 */ mul.s $f4, $f10, $f16 +/* 08A064 7F055534 C4660000 */ lwc1 $f6, ($v1) +/* 08A068 7F055538 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 08A06C 7F05553C 46043200 */ add.s $f8, $f6, $f4 +/* 08A070 7F055540 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 08A074 7F055544 C4660008 */ lwc1 $f6, 8($v1) +/* 08A078 7F055548 E7A20064 */ swc1 $f2, 0x64($sp) +/* 08A07C 7F05554C 460A4301 */ sub.s $f12, $f8, $f10 +/* 08A080 7F055550 46102202 */ mul.s $f8, $f4, $f16 +/* 08A084 7F055554 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 08A088 7F055558 46083280 */ add.s $f10, $f6, $f8 +/* 08A08C 7F05555C 0FC16A8C */ jal convert_angle_using_inverse +/* 08A090 7F055560 46045381 */ sub.s $f14, $f10, $f4 +/* 08A094 7F055564 0FC227B9 */ jal get_curplay_horizontal_rotation_in_degrees +/* 08A098 7F055568 E7A00020 */ swc1 $f0, 0x20($sp) +/* 08A09C 7F05556C C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 08A0A0 7F055570 3C018005 */ lui $at, %hi(D_80053478) +/* 08A0A4 7F055574 4600603C */ c.lt.s $f12, $f0 +/* 08A0A8 7F055578 46006381 */ sub.s $f14, $f12, $f0 +/* 08A0AC 7F05557C 45000003 */ bc1f .L7F05558C +/* 08A0B0 7F055580 46007086 */ mov.s $f2, $f14 +/* 08A0B4 7F055584 C4263478 */ lwc1 $f6, %lo(D_80053478)($at) +/* 08A0B8 7F055588 46067080 */ add.s $f2, $f14, $f6 +.L7F05558C: +/* 08A0BC 7F05558C 3C018005 */ lui $at, %hi(D_8005347C) +/* 08A0C0 7F055590 C428347C */ lwc1 $f8, %lo(D_8005347C)($at) +/* 08A0C4 7F055594 3C018005 */ lui $at, %hi(D_80053480) +/* 08A0C8 7F055598 4602403C */ c.lt.s $f8, $f2 +/* 08A0CC 7F05559C 00000000 */ nop +/* 08A0D0 7F0555A0 45020004 */ bc1fl .L7F0555B4 +/* 08A0D4 7F0555A4 C7A00064 */ lwc1 $f0, 0x64($sp) +/* 08A0D8 7F0555A8 C42A3480 */ lwc1 $f10, %lo(D_80053480)($at) +/* 08A0DC 7F0555AC 460A1081 */ sub.s $f2, $f2, $f10 +.L7F0555B0: +/* 08A0E0 7F0555B0 C7A00064 */ lwc1 $f0, 0x64($sp) +.L7F0555B4: +/* 08A0E4 7F0555B4 8FAE006C */ lw $t6, 0x6c($sp) +/* 08A0E8 7F0555B8 8FB8006C */ lw $t8, 0x6c($sp) +/* 08A0EC 7F0555BC 4602003C */ c.lt.s $f0, $f2 +/* 08A0F0 7F0555C0 00000000 */ nop +/* 08A0F4 7F0555C4 45020006 */ bc1fl .L7F0555E0 +/* 08A0F8 7F0555C8 E7020000 */ swc1 $f2, ($t8) +/* 08A0FC 7F0555CC E5C00000 */ swc1 $f0, ($t6) +/* 08A100 7F0555D0 8FAF0070 */ lw $t7, 0x70($sp) +/* 08A104 7F0555D4 10000004 */ b .L7F0555E8 +/* 08A108 7F0555D8 E5E20000 */ swc1 $f2, ($t7) +/* 08A10C 7F0555DC E7020000 */ swc1 $f2, ($t8) +.L7F0555E0: +/* 08A110 7F0555E0 8FB90070 */ lw $t9, 0x70($sp) +/* 08A114 7F0555E4 E7200000 */ swc1 $f0, ($t9) +.L7F0555E8: +/* 08A118 7F0555E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A11C 7F0555EC 27BD0068 */ addiu $sp, $sp, 0x68 +/* 08A120 7F0555F0 03E00008 */ jr $ra +/* 08A124 7F0555F4 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F0555F8(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0555F8 +/* 08A128 7F0555F8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 08A12C 7F0555FC 3C0F8007 */ lui $t7, %hi(dword_CODE_bss_80071DF8) +/* 08A130 7F055600 8DEF1DF8 */ lw $t7, %lo(dword_CODE_bss_80071DF8)($t7) +/* 08A134 7F055604 AFB40030 */ sw $s4, 0x30($sp) +/* 08A138 7F055608 AFB3002C */ sw $s3, 0x2c($sp) +/* 08A13C 7F05560C 240E0001 */ li $t6, 1 +/* 08A140 7F055610 00809825 */ move $s3, $a0 +/* 08A144 7F055614 00A0A025 */ move $s4, $a1 +/* 08A148 7F055618 AFBF0034 */ sw $ra, 0x34($sp) +/* 08A14C 7F05561C AFB20028 */ sw $s2, 0x28($sp) +/* 08A150 7F055620 AFB10024 */ sw $s1, 0x24($sp) +/* 08A154 7F055624 AFB00020 */ sw $s0, 0x20($sp) +/* 08A158 7F055628 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 08A15C 7F05562C 15E0006B */ bnez $t7, .L7F0557DC +/* 08A160 7F055630 AFAE0054 */ sw $t6, 0x54($sp) +/* 08A164 7F055634 27A50050 */ addiu $a1, $sp, 0x50 +/* 08A168 7F055638 27A6004C */ addiu $a2, $sp, 0x4c +/* 08A16C 7F05563C 0FC1548B */ jal sub_GAME_7F05522C +/* 08A170 7F055640 02803825 */ move $a3, $s4 +/* 08A174 7F055644 3C018005 */ lui $at, %hi(D_80053484) +/* 08A178 7F055648 C4223484 */ lwc1 $f2, %lo(D_80053484)($at) +/* 08A17C 7F05564C C7A40050 */ lwc1 $f4, 0x50($sp) +/* 08A180 7F055650 46001007 */ neg.s $f0, $f2 +/* 08A184 7F055654 4604003E */ c.le.s $f0, $f4 +/* 08A188 7F055658 00000000 */ nop +/* 08A18C 7F05565C 45020012 */ bc1fl .L7F0556A8 +/* 08A190 7F055660 8E7000C8 */ lw $s0, 0xc8($s3) +/* 08A194 7F055664 4602203E */ c.le.s $f4, $f2 +/* 08A198 7F055668 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 08A19C 7F05566C 4502000E */ bc1fl .L7F0556A8 +/* 08A1A0 7F055670 8E7000C8 */ lw $s0, 0xc8($s3) +/* 08A1A4 7F055674 4606003E */ c.le.s $f0, $f6 +/* 08A1A8 7F055678 00000000 */ nop +/* 08A1AC 7F05567C 4502000A */ bc1fl .L7F0556A8 +/* 08A1B0 7F055680 8E7000C8 */ lw $s0, 0xc8($s3) +/* 08A1B4 7F055684 4602303E */ c.le.s $f6, $f2 +/* 08A1B8 7F055688 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) +/* 08A1BC 7F05568C 45020006 */ bc1fl .L7F0556A8 +/* 08A1C0 7F055690 8E7000C8 */ lw $s0, 0xc8($s3) +/* 08A1C4 7F055694 8E780010 */ lw $t8, 0x10($s3) +/* 08A1C8 7F055698 AFA00054 */ sw $zero, 0x54($sp) +/* 08A1CC 7F05569C 1000004F */ b .L7F0557DC +/* 08A1D0 7F0556A0 AC381DF8 */ sw $t8, %lo(dword_CODE_bss_80071DF8)($at) +/* 08A1D4 7F0556A4 8E7000C8 */ lw $s0, 0xc8($s3) +.L7F0556A8: +/* 08A1D8 7F0556A8 52000037 */ beql $s0, $zero, .L7F055788 +/* 08A1DC 7F0556AC C7A8004C */ lwc1 $f8, 0x4c($sp) +/* 08A1E0 7F0556B0 12130034 */ beq $s0, $s3, .L7F055784 +/* 08A1E4 7F0556B4 C7A80050 */ lwc1 $f8, 0x50($sp) +/* 08A1E8 7F0556B8 4480A000 */ mtc1 $zero, $f20 +/* 08A1EC 7F0556BC C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 08A1F0 7F0556C0 4608A03E */ c.le.s $f20, $f8 +/* 08A1F4 7F0556C4 00000000 */ nop +/* 08A1F8 7F0556C8 45030005 */ bc1tl .L7F0556E0 +/* 08A1FC 7F0556CC 27A50040 */ addiu $a1, $sp, 0x40 +/* 08A200 7F0556D0 4614503C */ c.lt.s $f10, $f20 +/* 08A204 7F0556D4 00000000 */ nop +/* 08A208 7F0556D8 4500002A */ bc1f .L7F055784 +/* 08A20C 7F0556DC 27A50040 */ addiu $a1, $sp, 0x40 +.L7F0556E0: +/* 08A210 7F0556E0 27A6003C */ addiu $a2, $sp, 0x3c +/* 08A214 7F0556E4 02002025 */ move $a0, $s0 +/* 08A218 7F0556E8 0FC1548B */ jal sub_GAME_7F05522C +/* 08A21C 7F0556EC 02803825 */ move $a3, $s4 +/* 08A220 7F0556F0 C7B00050 */ lwc1 $f16, 0x50($sp) +/* 08A224 7F0556F4 C7A00040 */ lwc1 $f0, 0x40($sp) +/* 08A228 7F0556F8 4610A03C */ c.lt.s $f20, $f16 +/* 08A22C 7F0556FC 00000000 */ nop +/* 08A230 7F055700 45020007 */ bc1fl .L7F055720 +/* 08A234 7F055704 C7B2004C */ lwc1 $f18, 0x4c($sp) +/* 08A238 7F055708 4610003C */ c.lt.s $f0, $f16 +/* 08A23C 7F05570C 00000000 */ nop +/* 08A240 7F055710 45020003 */ bc1fl .L7F055720 +/* 08A244 7F055714 C7B2004C */ lwc1 $f18, 0x4c($sp) +/* 08A248 7F055718 E7A00050 */ swc1 $f0, 0x50($sp) +/* 08A24C 7F05571C C7B2004C */ lwc1 $f18, 0x4c($sp) +.L7F055720: +/* 08A250 7F055720 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 08A254 7F055724 4614903C */ c.lt.s $f18, $f20 +/* 08A258 7F055728 00000000 */ nop +/* 08A25C 7F05572C 45020007 */ bc1fl .L7F05574C +/* 08A260 7F055730 8E1000C8 */ lw $s0, 0xc8($s0) +/* 08A264 7F055734 4600903C */ c.lt.s $f18, $f0 +/* 08A268 7F055738 00000000 */ nop +/* 08A26C 7F05573C 45020003 */ bc1fl .L7F05574C +/* 08A270 7F055740 8E1000C8 */ lw $s0, 0xc8($s0) +/* 08A274 7F055744 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 08A278 7F055748 8E1000C8 */ lw $s0, 0xc8($s0) +.L7F05574C: +/* 08A27C 7F05574C C7A40050 */ lwc1 $f4, 0x50($sp) +/* 08A280 7F055750 5200000D */ beql $s0, $zero, .L7F055788 +/* 08A284 7F055754 C7A8004C */ lwc1 $f8, 0x4c($sp) +/* 08A288 7F055758 5213000B */ beql $s0, $s3, .L7F055788 +/* 08A28C 7F05575C C7A8004C */ lwc1 $f8, 0x4c($sp) +/* 08A290 7F055760 4604A03E */ c.le.s $f20, $f4 +/* 08A294 7F055764 00000000 */ nop +/* 08A298 7F055768 4503FFDD */ bc1tl .L7F0556E0 +/* 08A29C 7F05576C 27A50040 */ addiu $a1, $sp, 0x40 +/* 08A2A0 7F055770 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 08A2A4 7F055774 4614303C */ c.lt.s $f6, $f20 +/* 08A2A8 7F055778 00000000 */ nop +/* 08A2AC 7F05577C 4503FFD8 */ bc1tl .L7F0556E0 +/* 08A2B0 7F055780 27A50040 */ addiu $a1, $sp, 0x40 +.L7F055784: +/* 08A2B4 7F055784 C7A8004C */ lwc1 $f8, 0x4c($sp) +.L7F055788: +/* 08A2B8 7F055788 C7AA0050 */ lwc1 $f10, 0x50($sp) +/* 08A2BC 7F05578C 3C018005 */ lui $at, %hi(D_80053488) +/* 08A2C0 7F055790 C4323488 */ lwc1 $f18, %lo(D_80053488)($at) +/* 08A2C4 7F055794 460A4401 */ sub.s $f16, $f8, $f10 +/* 08A2C8 7F055798 4480A000 */ mtc1 $zero, $f20 +/* 08A2CC 7F05579C 4612803C */ c.lt.s $f16, $f18 +/* 08A2D0 7F0557A0 00000000 */ nop +/* 08A2D4 7F0557A4 4502000E */ bc1fl .L7F0557E0 +/* 08A2D8 7F0557A8 8FBF0034 */ lw $ra, 0x34($sp) +/* 08A2DC 7F0557AC 4614503C */ c.lt.s $f10, $f20 +/* 08A2E0 7F0557B0 00000000 */ nop +/* 08A2E4 7F0557B4 4502000A */ bc1fl .L7F0557E0 +/* 08A2E8 7F0557B8 8FBF0034 */ lw $ra, 0x34($sp) +/* 08A2EC 7F0557BC 4608A03C */ c.lt.s $f20, $f8 +/* 08A2F0 7F0557C0 00000000 */ nop +/* 08A2F4 7F0557C4 45020006 */ bc1fl .L7F0557E0 +/* 08A2F8 7F0557C8 8FBF0034 */ lw $ra, 0x34($sp) +/* 08A2FC 7F0557CC 8E790010 */ lw $t9, 0x10($s3) +/* 08A300 7F0557D0 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF8) +/* 08A304 7F0557D4 AFA00054 */ sw $zero, 0x54($sp) +/* 08A308 7F0557D8 AC391DF8 */ sw $t9, %lo(dword_CODE_bss_80071DF8)($at) +.L7F0557DC: +/* 08A30C 7F0557DC 8FBF0034 */ lw $ra, 0x34($sp) +.L7F0557E0: +/* 08A310 7F0557E0 8FA20054 */ lw $v0, 0x54($sp) +/* 08A314 7F0557E4 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 08A318 7F0557E8 8FB00020 */ lw $s0, 0x20($sp) +/* 08A31C 7F0557EC 8FB10024 */ lw $s1, 0x24($sp) +/* 08A320 7F0557F0 8FB20028 */ lw $s2, 0x28($sp) +/* 08A324 7F0557F4 8FB3002C */ lw $s3, 0x2c($sp) +/* 08A328 7F0557F8 8FB40030 */ lw $s4, 0x30($sp) +/* 08A32C 7F0557FC 03E00008 */ jr $ra +/* 08A330 7F055800 27BD0058 */ addiu $sp, $sp, 0x58 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F055804(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F055804 +/* 08A334 7F055804 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 08A338 7F055808 240E0001 */ li $t6, 1 +/* 08A33C 7F05580C AFBF001C */ sw $ra, 0x1c($sp) +/* 08A340 7F055810 AFB00018 */ sw $s0, 0x18($sp) +/* 08A344 7F055814 AFAE0084 */ sw $t6, 0x84($sp) +/* 08A348 7F055818 8C900004 */ lw $s0, 4($a0) +/* 08A34C 7F05581C 8E0F0008 */ lw $t7, 8($s0) +/* 08A350 7F055820 000FC180 */ sll $t8, $t7, 6 +/* 08A354 7F055824 07020059 */ bltzl $t8, .L7F05598C +/* 08A358 7F055828 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A35C 7F05582C 44802000 */ mtc1 $zero, $f4 +/* 08A360 7F055830 C6060084 */ lwc1 $f6, 0x84($s0) +/* 08A364 7F055834 4606203C */ c.lt.s $f4, $f6 +/* 08A368 7F055838 00000000 */ nop +/* 08A36C 7F05583C 45020053 */ bc1fl .L7F05598C +/* 08A370 7F055840 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A374 7F055844 90990001 */ lbu $t9, 1($a0) +/* 08A378 7F055848 33280002 */ andi $t0, $t9, 2 +/* 08A37C 7F05584C 5100004F */ beql $t0, $zero, .L7F05598C +/* 08A380 7F055850 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A384 7F055854 AFA0007C */ sw $zero, 0x7c($sp) +/* 08A388 7F055858 0FC225E6 */ jal get_curplayer_positiondata +/* 08A38C 7F05585C AFA40088 */ sw $a0, 0x88($sp) +/* 08A390 7F055860 AFA20078 */ sw $v0, 0x78($sp) +/* 08A394 7F055864 C44A0008 */ lwc1 $f10, 8($v0) +/* 08A398 7F055868 C6080058 */ lwc1 $f8, 0x58($s0) +/* 08A39C 7F05586C C4460010 */ lwc1 $f6, 0x10($v0) +/* 08A3A0 7F055870 C6040060 */ lwc1 $f4, 0x60($s0) +/* 08A3A4 7F055874 460A4001 */ sub.s $f0, $f8, $f10 +/* 08A3A8 7F055878 C452000C */ lwc1 $f18, 0xc($v0) +/* 08A3AC 7F05587C C610005C */ lwc1 $f16, 0x5c($s0) +/* 08A3B0 7F055880 46062081 */ sub.s $f2, $f4, $f6 +/* 08A3B4 7F055884 46000202 */ mul.s $f8, $f0, $f0 +/* 08A3B8 7F055888 3C018005 */ lui $at, %hi(D_8005348C) +/* 08A3BC 7F05588C 46128301 */ sub.s $f12, $f16, $f18 +/* 08A3C0 7F055890 46021282 */ mul.s $f10, $f2, $f2 +/* 08A3C4 7F055894 C432348C */ lwc1 $f18, %lo(D_8005348C)($at) +/* 08A3C8 7F055898 8FA40088 */ lw $a0, 0x88($sp) +/* 08A3CC 7F05589C 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 08A3D0 7F0558A0 460A4400 */ add.s $f16, $f8, $f10 +/* 08A3D4 7F0558A4 4612803C */ c.lt.s $f16, $f18 +/* 08A3D8 7F0558A8 00000000 */ nop +/* 08A3DC 7F0558AC 4500000F */ bc1f .L7F0558EC +/* 08A3E0 7F0558B0 00000000 */ nop +/* 08A3E4 7F0558B4 44812000 */ mtc1 $at, $f4 +/* 08A3E8 7F0558B8 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 08A3EC 7F0558BC 4604603C */ c.lt.s $f12, $f4 +/* 08A3F0 7F0558C0 00000000 */ nop +/* 08A3F4 7F0558C4 45000009 */ bc1f .L7F0558EC +/* 08A3F8 7F0558C8 00000000 */ nop +/* 08A3FC 7F0558CC 44813000 */ mtc1 $at, $f6 +/* 08A400 7F0558D0 24090001 */ li $t1, 1 +/* 08A404 7F0558D4 460C303C */ c.lt.s $f6, $f12 +/* 08A408 7F0558D8 00000000 */ nop +/* 08A40C 7F0558DC 45000003 */ bc1f .L7F0558EC +/* 08A410 7F0558E0 00000000 */ nop +/* 08A414 7F0558E4 10000018 */ b .L7F055948 +/* 08A418 7F0558E8 AFA9007C */ sw $t1, 0x7c($sp) +.L7F0558EC: +/* 08A41C 7F0558EC 0FC0F2E3 */ jal sub_GAME_7F03CB8C +/* 08A420 7F0558F0 27A50048 */ addiu $a1, $sp, 0x48 +/* 08A424 7F0558F4 8FA40078 */ lw $a0, 0x78($sp) +/* 08A428 7F0558F8 0FC0F2E3 */ jal sub_GAME_7F03CB8C +/* 08A42C 7F0558FC 27A50028 */ addiu $a1, $sp, 0x28 +/* 08A430 7F055900 27A40048 */ addiu $a0, $sp, 0x48 +/* 08A434 7F055904 0FC0F6DC */ jal sub_GAME_7F03DB70 +/* 08A438 7F055908 27A50028 */ addiu $a1, $sp, 0x28 +/* 08A43C 7F05590C 1040000E */ beqz $v0, .L7F055948 +/* 08A440 7F055910 3C0C8007 */ lui $t4, %hi(ptr_2xxxpresets) +/* 08A444 7F055914 860A0006 */ lh $t2, 6($s0) +/* 08A448 7F055918 8D8C5D1C */ lw $t4, %lo(ptr_2xxxpresets)($t4) +/* 08A44C 7F05591C 8FA40078 */ lw $a0, 0x78($sp) +/* 08A450 7F055920 000A5900 */ sll $t3, $t2, 4 +/* 08A454 7F055924 016A5821 */ addu $t3, $t3, $t2 +/* 08A458 7F055928 000B5880 */ sll $t3, $t3, 2 +/* 08A45C 7F05592C 3C054316 */ lui $a1, 0x4316 +/* 08A460 7F055930 016C3021 */ addu $a2, $t3, $t4 +/* 08A464 7F055934 0FC0FD66 */ jal sub_GAME_7F03F598 +/* 08A468 7F055938 24840008 */ addiu $a0, $a0, 8 +/* 08A46C 7F05593C 10400002 */ beqz $v0, .L7F055948 +/* 08A470 7F055940 240D0001 */ li $t5, 1 +/* 08A474 7F055944 AFAD007C */ sw $t5, 0x7c($sp) +.L7F055948: +/* 08A478 7F055948 8FAE007C */ lw $t6, 0x7c($sp) +/* 08A47C 7F05594C 02002025 */ move $a0, $s0 +/* 08A480 7F055950 51C0000E */ beql $t6, $zero, .L7F05598C +/* 08A484 7F055954 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A488 7F055958 0FC1557E */ jal sub_GAME_7F0555F8 +/* 08A48C 7F05595C 00002825 */ move $a1, $zero +/* 08A490 7F055960 10400009 */ beqz $v0, .L7F055988 +/* 08A494 7F055964 AFA20084 */ sw $v0, 0x84($sp) +/* 08A498 7F055968 8E0F000C */ lw $t7, 0xc($s0) +/* 08A49C 7F05596C 02002025 */ move $a0, $s0 +/* 08A4A0 7F055970 000FC000 */ sll $t8, $t7, 0 +/* 08A4A4 7F055974 07030005 */ bgezl $t8, .L7F05598C +/* 08A4A8 7F055978 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A4AC 7F05597C 0FC1557E */ jal sub_GAME_7F0555F8 +/* 08A4B0 7F055980 24050001 */ li $a1, 1 +/* 08A4B4 7F055984 AFA20084 */ sw $v0, 0x84($sp) +.L7F055988: +/* 08A4B8 7F055988 8FBF001C */ lw $ra, 0x1c($sp) +.L7F05598C: +/* 08A4BC 7F05598C 8FA20084 */ lw $v0, 0x84($sp) +/* 08A4C0 7F055990 8FB00018 */ lw $s0, 0x18($sp) +/* 08A4C4 7F055994 03E00008 */ jr $ra +/* 08A4C8 7F055998 27BD0088 */ addiu $sp, $sp, 0x88 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F05599C(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F05599C +/* 08A4CC 7F05599C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08A4D0 7F0559A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 08A4D4 7F0559A4 AFB00018 */ sw $s0, 0x18($sp) +/* 08A4D8 7F0559A8 AFA40020 */ sw $a0, 0x20($sp) +/* 08A4DC 7F0559AC 8C900004 */ lw $s0, 4($a0) +/* 08A4E0 7F0559B0 24010001 */ li $at, 1 +/* 08A4E4 7F0559B4 820200BC */ lb $v0, 0xbc($s0) +/* 08A4E8 7F0559B8 02002025 */ move $a0, $s0 +/* 08A4EC 7F0559BC 10410003 */ beq $v0, $at, .L7F0559CC +/* 08A4F0 7F0559C0 24010003 */ li $at, 3 +/* 08A4F4 7F0559C4 54410006 */ bnel $v0, $at, .L7F0559E0 +/* 08A4F8 7F0559C8 24010002 */ li $at, 2 +.L7F0559CC: +/* 08A4FC 7F0559CC 0FC15262 */ jal set_door_state +/* 08A500 7F0559D0 24050002 */ li $a1, 2 +/* 08A504 7F0559D4 10000019 */ b .L7F055A3C +/* 08A508 7F0559D8 8E0F0064 */ lw $t7, 0x64($s0) +/* 08A50C 7F0559DC 24010002 */ li $at, 2 +.L7F0559E0: +/* 08A510 7F0559E0 14410005 */ bne $v0, $at, .L7F0559F8 +/* 08A514 7F0559E4 02002025 */ move $a0, $s0 +/* 08A518 7F0559E8 0FC15262 */ jal set_door_state +/* 08A51C 7F0559EC 24050001 */ li $a1, 1 +/* 08A520 7F0559F0 10000012 */ b .L7F055A3C +/* 08A524 7F0559F4 8E0F0064 */ lw $t7, 0x64($s0) +.L7F0559F8: +/* 08A528 7F0559F8 1440000F */ bnez $v0, .L7F055A38 +/* 08A52C 7F0559FC 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 08A530 7F055A00 44812000 */ mtc1 $at, $f4 +/* 08A534 7F055A04 C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 08A538 7F055A08 24050002 */ li $a1, 2 +/* 08A53C 7F055A0C 02002025 */ move $a0, $s0 +/* 08A540 7F055A10 4606203C */ c.lt.s $f4, $f6 +/* 08A544 7F055A14 00000000 */ nop +/* 08A548 7F055A18 45000005 */ bc1f .L7F055A30 +/* 08A54C 7F055A1C 00000000 */ nop +/* 08A550 7F055A20 0FC15262 */ jal set_door_state +/* 08A554 7F055A24 02002025 */ move $a0, $s0 +/* 08A558 7F055A28 10000004 */ b .L7F055A3C +/* 08A55C 7F055A2C 8E0F0064 */ lw $t7, 0x64($s0) +.L7F055A30: +/* 08A560 7F055A30 0FC15262 */ jal set_door_state +/* 08A564 7F055A34 24050001 */ li $a1, 1 +.L7F055A38: +/* 08A568 7F055A38 8E0F0064 */ lw $t7, 0x64($s0) +.L7F055A3C: +/* 08A56C 7F055A3C 8E19000C */ lw $t9, 0xc($s0) +/* 08A570 7F055A40 2401FFF7 */ li $at, -9 +/* 08A574 7F055A44 35F84000 */ ori $t8, $t7, 0x4000 +/* 08A578 7F055A48 03214024 */ and $t0, $t9, $at +/* 08A57C 7F055A4C AE180064 */ sw $t8, 0x64($s0) +/* 08A580 7F055A50 AE08000C */ sw $t0, 0xc($s0) +/* 08A584 7F055A54 0FC0F9A8 */ jal sub_GAME_7F03E6A0 +/* 08A588 7F055A58 8FA40020 */ lw $a0, 0x20($sp) +/* 08A58C 7F055A5C 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A590 7F055A60 8FB00018 */ lw $s0, 0x18($sp) +/* 08A594 7F055A64 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08A598 7F055A68 03E00008 */ jr $ra +/* 08A59C 7F055A6C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F055A70(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F055A70 +/* 08A5A0 7F055A70 84AE0006 */ lh $t6, 6($a1) +/* 08A5A4 7F055A74 3C188007 */ lui $t8, %hi(ptr_2xxxpresets) +/* 08A5A8 7F055A78 8F185D1C */ lw $t8, %lo(ptr_2xxxpresets)($t8) +/* 08A5AC 7F055A7C 000E7900 */ sll $t7, $t6, 4 +/* 08A5B0 7F055A80 01EE7821 */ addu $t7, $t7, $t6 +/* 08A5B4 7F055A84 000F7880 */ sll $t7, $t7, 2 +/* 08A5B8 7F055A88 01F81021 */ addu $v0, $t7, $t8 +/* 08A5BC 7F055A8C C4440010 */ lwc1 $f4, 0x10($v0) +/* 08A5C0 7F055A90 C4460020 */ lwc1 $f6, 0x20($v0) +/* 08A5C4 7F055A94 C44A001C */ lwc1 $f10, 0x1c($v0) +/* 08A5C8 7F055A98 C4520014 */ lwc1 $f18, 0x14($v0) +/* 08A5CC 7F055A9C 46062202 */ mul.s $f8, $f4, $f6 +/* 08A5D0 7F055AA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08A5D4 7F055AA4 46125102 */ mul.s $f4, $f10, $f18 +/* 08A5D8 7F055AA8 46044181 */ sub.s $f6, $f8, $f4 +/* 08A5DC 7F055AAC E7A60004 */ swc1 $f6, 4($sp) +/* 08A5E0 7F055AB0 C4520018 */ lwc1 $f18, 0x18($v0) +/* 08A5E4 7F055AB4 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 08A5E8 7F055AB8 C4440020 */ lwc1 $f4, 0x20($v0) +/* 08A5EC 7F055ABC 46125202 */ mul.s $f8, $f10, $f18 +/* 08A5F0 7F055AC0 C44A000C */ lwc1 $f10, 0xc($v0) +/* 08A5F4 7F055AC4 460A2482 */ mul.s $f18, $f4, $f10 +/* 08A5F8 7F055AC8 46124101 */ sub.s $f4, $f8, $f18 +/* 08A5FC 7F055ACC E7A40008 */ swc1 $f4, 8($sp) +/* 08A600 7F055AD0 C448001C */ lwc1 $f8, 0x1c($v0) +/* 08A604 7F055AD4 C44A000C */ lwc1 $f10, 0xc($v0) +/* 08A608 7F055AD8 46085482 */ mul.s $f18, $f10, $f8 +/* 08A60C 7F055ADC C4480010 */ lwc1 $f8, 0x10($v0) +/* 08A610 7F055AE0 C44A0018 */ lwc1 $f10, 0x18($v0) +/* 08A614 7F055AE4 46085282 */ mul.s $f10, $f10, $f8 +/* 08A618 7F055AE8 460A9201 */ sub.s $f8, $f18, $f10 +/* 08A61C 7F055AEC E7A8000C */ swc1 $f8, 0xc($sp) +/* 08A620 7F055AF0 C44A0000 */ lwc1 $f10, ($v0) +/* 08A624 7F055AF4 C4920008 */ lwc1 $f18, 8($a0) +/* 08A628 7F055AF8 94B90098 */ lhu $t9, 0x98($a1) +/* 08A62C 7F055AFC 460A9001 */ sub.s $f0, $f18, $f10 +/* 08A630 7F055B00 C44A0004 */ lwc1 $f10, 4($v0) +/* 08A634 7F055B04 C492000C */ lwc1 $f18, 0xc($a0) +/* 08A638 7F055B08 33280008 */ andi $t0, $t9, 8 +/* 08A63C 7F055B0C 460A9081 */ sub.s $f2, $f18, $f10 +/* 08A640 7F055B10 C44A0008 */ lwc1 $f10, 8($v0) +/* 08A644 7F055B14 C4920010 */ lwc1 $f18, 0x10($a0) +/* 08A648 7F055B18 460A9301 */ sub.s $f12, $f18, $f10 +/* 08A64C 7F055B1C 46060482 */ mul.s $f18, $f0, $f6 +/* 08A650 7F055B20 44800000 */ mtc1 $zero, $f0 +/* 08A654 7F055B24 46041282 */ mul.s $f10, $f2, $f4 +/* 08A658 7F055B28 460A9180 */ add.s $f6, $f18, $f10 +/* 08A65C 7F055B2C 460C4102 */ mul.s $f4, $f8, $f12 +/* 08A660 7F055B30 46062400 */ add.s $f16, $f4, $f6 +/* 08A664 7F055B34 11000002 */ beqz $t0, .L7F055B40 +/* 08A668 7F055B38 46008386 */ mov.s $f14, $f16 +/* 08A66C 7F055B3C 46008387 */ neg.s $f14, $f16 +.L7F055B40: +/* 08A670 7F055B40 4600703C */ c.lt.s $f14, $f0 +/* 08A674 7F055B44 00000000 */ nop +/* 08A678 7F055B48 45020004 */ bc1fl .L7F055B5C +/* 08A67C 7F055B4C 460E003C */ c.lt.s $f0, $f14 +/* 08A680 7F055B50 10000007 */ b .L7F055B70 +/* 08A684 7F055B54 00001025 */ move $v0, $zero +/* 08A688 7F055B58 460E003C */ c.lt.s $f0, $f14 +.L7F055B5C: +/* 08A68C 7F055B5C 24020001 */ li $v0, 1 +/* 08A690 7F055B60 45000003 */ bc1f .L7F055B70 +/* 08A694 7F055B64 00000000 */ nop +/* 08A698 7F055B68 10000001 */ b .L7F055B70 +/* 08A69C 7F055B6C 24020001 */ li $v0, 1 +.L7F055B70: +/* 08A6A0 7F055B70 03E00008 */ jr $ra +/* 08A6A4 7F055B74 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F055B78(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F055B78 +/* 08A6A8 7F055B78 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08A6AC 7F055B7C AFBF0014 */ sw $ra, 0x14($sp) +/* 08A6B0 7F055B80 8CAE0008 */ lw $t6, 8($a1) +/* 08A6B4 7F055B84 000E7900 */ sll $t7, $t6, 4 +/* 08A6B8 7F055B88 05E3002A */ bgezl $t7, .L7F055C34 +/* 08A6BC 7F055B8C 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A6C0 7F055B90 80B800BC */ lb $t8, 0xbc($a1) +/* 08A6C4 7F055B94 57000027 */ bnezl $t8, .L7F055C34 +/* 08A6C8 7F055B98 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A6CC 7F055B9C 44802000 */ mtc1 $zero, $f4 +/* 08A6D0 7F055BA0 C4A600B4 */ lwc1 $f6, 0xb4($a1) +/* 08A6D4 7F055BA4 46062032 */ c.eq.s $f4, $f6 +/* 08A6D8 7F055BA8 00000000 */ nop +/* 08A6DC 7F055BAC 45020021 */ bc1fl .L7F055C34 +/* 08A6E0 7F055BB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A6E4 7F055BB4 0FC1569C */ jal sub_GAME_7F055A70 +/* 08A6E8 7F055BB8 AFA5001C */ sw $a1, 0x1c($sp) +/* 08A6EC 7F055BBC 8FA5001C */ lw $a1, 0x1c($sp) +/* 08A6F0 7F055BC0 00002025 */ move $a0, $zero +/* 08A6F4 7F055BC4 94B90098 */ lhu $t9, 0x98($a1) +/* 08A6F8 7F055BC8 33280008 */ andi $t0, $t9, 8 +/* 08A6FC 7F055BCC 15000006 */ bnez $t0, .L7F055BE8 +/* 08A700 7F055BD0 00000000 */ nop +/* 08A704 7F055BD4 14400002 */ bnez $v0, .L7F055BE0 +/* 08A708 7F055BD8 00000000 */ nop +/* 08A70C 7F055BDC 3C042000 */ lui $a0, 0x2000 +.L7F055BE0: +/* 08A710 7F055BE0 10000005 */ b .L7F055BF8 +/* 08A714 7F055BE4 8CA90008 */ lw $t1, 8($a1) +.L7F055BE8: +/* 08A718 7F055BE8 50400003 */ beql $v0, $zero, .L7F055BF8 +/* 08A71C 7F055BEC 8CA90008 */ lw $t1, 8($a1) +/* 08A720 7F055BF0 3C042000 */ lui $a0, 0x2000 +/* 08A724 7F055BF4 8CA90008 */ lw $t1, 8($a1) +.L7F055BF8: +/* 08A728 7F055BF8 3C032000 */ lui $v1, 0x2000 +/* 08A72C 7F055BFC 00A01025 */ move $v0, $a1 +/* 08A730 7F055C00 01245026 */ xor $t2, $t1, $a0 +/* 08A734 7F055C04 000A5880 */ sll $t3, $t2, 2 +/* 08A738 7F055C08 0563000A */ bgezl $t3, .L7F055C34 +/* 08A73C 7F055C0C 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A740 7F055C10 8C4C0008 */ lw $t4, 8($v0) +.L7F055C14: +/* 08A744 7F055C14 01836826 */ xor $t5, $t4, $v1 +/* 08A748 7F055C18 AC4D0008 */ sw $t5, 8($v0) +/* 08A74C 7F055C1C 8C4200C8 */ lw $v0, 0xc8($v0) +/* 08A750 7F055C20 50400004 */ beql $v0, $zero, .L7F055C34 +/* 08A754 7F055C24 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A758 7F055C28 5445FFFA */ bnel $v0, $a1, .L7F055C14 +/* 08A75C 7F055C2C 8C4C0008 */ lw $t4, 8($v0) +/* 08A760 7F055C30 8FBF0014 */ lw $ra, 0x14($sp) +.L7F055C34: +/* 08A764 7F055C34 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08A768 7F055C38 03E00008 */ jr $ra +/* 08A76C 7F055C3C 00000000 */ nop +) +#endif + + + + + +#ifdef NONMATCHING +void sub_GAME_7F055C40(void) { + +} +#else +#ifdef VERSION_US +GLOBAL_ASM( +.text +glabel sub_GAME_7F055C40 +/* 08A770 7F055C40 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08A774 7F055C44 AFBF001C */ sw $ra, 0x1c($sp) +/* 08A778 7F055C48 AFB00018 */ sw $s0, 0x18($sp) +/* 08A77C 7F055C4C AFA40030 */ sw $a0, 0x30($sp) +/* 08A780 7F055C50 8C900004 */ lw $s0, 4($a0) +/* 08A784 7F055C54 0FC225E6 */ jal get_curplayer_positiondata +/* 08A788 7F055C58 AFA00028 */ sw $zero, 0x28($sp) +/* 08A78C 7F055C5C AFA20024 */ sw $v0, 0x24($sp) +/* 08A790 7F055C60 8E04009C */ lw $a0, 0x9c($s0) +/* 08A794 7F055C64 8FA30028 */ lw $v1, 0x28($sp) +/* 08A798 7F055C68 14800003 */ bnez $a0, .L7F055C78 +/* 08A79C 7F055C6C 00000000 */ nop +/* 08A7A0 7F055C70 1000001C */ b .L7F055CE4 +/* 08A7A4 7F055C74 24030001 */ li $v1, 1 +.L7F055C78: +/* 08A7A8 7F055C78 0FC2339C */ jal sub_GAME_7F08CE70 +/* 08A7AC 7F055C7C AFA30028 */ sw $v1, 0x28($sp) +/* 08A7B0 7F055C80 10400003 */ beqz $v0, .L7F055C90 +/* 08A7B4 7F055C84 8FA30028 */ lw $v1, 0x28($sp) +/* 08A7B8 7F055C88 10000016 */ b .L7F055CE4 +/* 08A7BC 7F055C8C 24030001 */ li $v1, 1 +.L7F055C90: +/* 08A7C0 7F055C90 8FA40024 */ lw $a0, 0x24($sp) +/* 08A7C4 7F055C94 02002825 */ move $a1, $s0 +/* 08A7C8 7F055C98 0FC1569C */ jal sub_GAME_7F055A70 +/* 08A7CC 7F055C9C AFA30028 */ sw $v1, 0x28($sp) +/* 08A7D0 7F055CA0 10400009 */ beqz $v0, .L7F055CC8 +/* 08A7D4 7F055CA4 8FA30028 */ lw $v1, 0x28($sp) +/* 08A7D8 7F055CA8 8E02000C */ lw $v0, 0xc($s0) +/* 08A7DC 7F055CAC 000278C0 */ sll $t7, $v0, 3 +/* 08A7E0 7F055CB0 05E1000C */ bgez $t7, .L7F055CE4 +/* 08A7E4 7F055CB4 0002C100 */ sll $t8, $v0, 4 +/* 08A7E8 7F055CB8 0702000B */ bltzl $t8, .L7F055CE8 +/* 08A7EC 7F055CBC 02002025 */ move $a0, $s0 +/* 08A7F0 7F055CC0 10000008 */ b .L7F055CE4 +/* 08A7F4 7F055CC4 24030001 */ li $v1, 1 +.L7F055CC8: +/* 08A7F8 7F055CC8 8E02000C */ lw $v0, 0xc($s0) +/* 08A7FC 7F055CCC 0002C8C0 */ sll $t9, $v0, 3 +/* 08A800 7F055CD0 07200004 */ bltz $t9, .L7F055CE4 +/* 08A804 7F055CD4 00024100 */ sll $t0, $v0, 4 +/* 08A808 7F055CD8 05030003 */ bgezl $t0, .L7F055CE8 +/* 08A80C 7F055CDC 02002025 */ move $a0, $s0 +/* 08A810 7F055CE0 24030001 */ li $v1, 1 +.L7F055CE4: +/* 08A814 7F055CE4 02002025 */ move $a0, $s0 +.L7F055CE8: +/* 08A818 7F055CE8 0FC0F9C6 */ jal sub_GAME_7F03E718 +/* 08A81C 7F055CEC AFA30028 */ sw $v1, 0x28($sp) +/* 08A820 7F055CF0 14400002 */ bnez $v0, .L7F055CFC +/* 08A824 7F055CF4 8FA30028 */ lw $v1, 0x28($sp) +/* 08A828 7F055CF8 00001825 */ move $v1, $zero +.L7F055CFC: +/* 08A82C 7F055CFC 10600007 */ beqz $v1, .L7F055D1C +/* 08A830 7F055D00 8FA40024 */ lw $a0, 0x24($sp) +/* 08A834 7F055D04 0FC156DE */ jal sub_GAME_7F055B78 +/* 08A838 7F055D08 02002825 */ move $a1, $s0 +/* 08A83C 7F055D0C 0FC15667 */ jal sub_GAME_7F05599C +/* 08A840 7F055D10 8FA40030 */ lw $a0, 0x30($sp) +/* 08A844 7F055D14 10000028 */ b .L7F055DB8 +/* 08A848 7F055D18 8FBF001C */ lw $ra, 0x1c($sp) +.L7F055D1C: +/* 08A84C 7F055D1C 820900BC */ lb $t1, 0xbc($s0) +/* 08A850 7F055D20 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 08A854 7F055D24 55200024 */ bnezl $t1, .L7F055DB8 +/* 08A858 7F055D28 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A85C 7F055D2C C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 08A860 7F055D30 44813000 */ mtc1 $at, $f6 +/* 08A864 7F055D34 00000000 */ nop +/* 08A868 7F055D38 4606203C */ c.lt.s $f4, $f6 +/* 08A86C 7F055D3C 00000000 */ nop +/* 08A870 7F055D40 4502001D */ bc1fl .L7F055DB8 +/* 08A874 7F055D44 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A878 7F055D48 8E02000C */ lw $v0, 0xc($s0) +/* 08A87C 7F055D4C 304A0004 */ andi $t2, $v0, 4 +/* 08A880 7F055D50 55400014 */ bnezl $t2, .L7F055DA4 +/* 08A884 7F055D54 8E0C0064 */ lw $t4, 0x64($s0) +/* 08A888 7F055D58 0FC23487 */ jal sub_GAME_7F08D21C +/* 08A88C 7F055D5C 02002025 */ move $a0, $s0 +/* 08A890 7F055D60 1040000A */ beqz $v0, .L7F055D8C +/* 08A894 7F055D64 00000000 */ nop +/* 08A898 7F055D68 8C4B001C */ lw $t3, 0x1c($v0) +/* 08A89C 7F055D6C 11600007 */ beqz $t3, .L7F055D8C +/* 08A8A0 7F055D70 00000000 */ nop +/* 08A8A4 7F055D74 0FC30776 */ jal get_textptr_for_textID +/* 08A8A8 7F055D78 8C44001C */ lw $a0, 0x1c($v0) +/* 08A8AC 7F055D7C 0FC228F2 */ jal display_string_in_lower_left_corner +/* 08A8B0 7F055D80 00402025 */ move $a0, $v0 +/* 08A8B4 7F055D84 10000006 */ b .L7F055DA0 +/* 08A8B8 7F055D88 8E02000C */ lw $v0, 0xc($s0) +.L7F055D8C: +/* 08A8BC 7F055D8C 0FC30776 */ jal get_textptr_for_textID +/* 08A8C0 7F055D90 3404A440 */ li $a0, 42048 +/* 08A8C4 7F055D94 0FC228F2 */ jal display_string_in_lower_left_corner +/* 08A8C8 7F055D98 00402025 */ move $a0, $v0 +/* 08A8CC 7F055D9C 8E02000C */ lw $v0, 0xc($s0) +.L7F055DA0: +/* 08A8D0 7F055DA0 8E0C0064 */ lw $t4, 0x64($s0) +.L7F055DA4: +/* 08A8D4 7F055DA4 344E0008 */ ori $t6, $v0, 8 +/* 08A8D8 7F055DA8 AE0E000C */ sw $t6, 0xc($s0) +/* 08A8DC 7F055DAC 358D4000 */ ori $t5, $t4, 0x4000 +/* 08A8E0 7F055DB0 AE0D0064 */ sw $t5, 0x64($s0) +/* 08A8E4 7F055DB4 8FBF001C */ lw $ra, 0x1c($sp) +.L7F055DB8: +/* 08A8E8 7F055DB8 8FB00018 */ lw $s0, 0x18($sp) +/* 08A8EC 7F055DBC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08A8F0 7F055DC0 03E00008 */ jr $ra +/* 08A8F4 7F055DC4 00001025 */ move $v0, $zero +) +#endif +#ifdef VERSION_JP +GLOBAL_ASM( +.text +glabel sub_GAME_7F055C40 +/* 08A770 7F055C40 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08A774 7F055C44 AFBF001C */ sw $ra, 0x1c($sp) +/* 08A778 7F055C48 AFB00018 */ sw $s0, 0x18($sp) +/* 08A77C 7F055C4C AFA40030 */ sw $a0, 0x30($sp) +/* 08A780 7F055C50 8C900004 */ lw $s0, 4($a0) +/* 08A784 7F055C54 0FC225E6 */ jal get_curplayer_positiondata +/* 08A788 7F055C58 AFA00028 */ sw $zero, 0x28($sp) +/* 08A78C 7F055C5C AFA20024 */ sw $v0, 0x24($sp) +/* 08A790 7F055C60 8E04009C */ lw $a0, 0x9c($s0) +/* 08A794 7F055C64 8FA30028 */ lw $v1, 0x28($sp) +/* 08A798 7F055C68 14800003 */ bnez $a0, .L7F055C78 +/* 08A79C 7F055C6C 00000000 */ nop +/* 08A7A0 7F055C70 1000001C */ b .L7F055CE4 +/* 08A7A4 7F055C74 24030001 */ li $v1, 1 +.L7F055C78: +/* 08A7A8 7F055C78 0FC2339C */ jal sub_GAME_7F08CE70 +/* 08A7AC 7F055C7C AFA30028 */ sw $v1, 0x28($sp) +/* 08A7B0 7F055C80 10400003 */ beqz $v0, .L7F055C90 +/* 08A7B4 7F055C84 8FA30028 */ lw $v1, 0x28($sp) +/* 08A7B8 7F055C88 10000016 */ b .L7F055CE4 +/* 08A7BC 7F055C8C 24030001 */ li $v1, 1 +.L7F055C90: +/* 08A7C0 7F055C90 8FA40024 */ lw $a0, 0x24($sp) +/* 08A7C4 7F055C94 02002825 */ move $a1, $s0 +/* 08A7C8 7F055C98 0FC1569C */ jal sub_GAME_7F055A70 +/* 08A7CC 7F055C9C AFA30028 */ sw $v1, 0x28($sp) +/* 08A7D0 7F055CA0 10400009 */ beqz $v0, .L7F055CC8 +/* 08A7D4 7F055CA4 8FA30028 */ lw $v1, 0x28($sp) +/* 08A7D8 7F055CA8 8E02000C */ lw $v0, 0xc($s0) +/* 08A7DC 7F055CAC 000278C0 */ sll $t7, $v0, 3 +/* 08A7E0 7F055CB0 05E1000C */ bgez $t7, .L7F055CE4 +/* 08A7E4 7F055CB4 0002C100 */ sll $t8, $v0, 4 +/* 08A7E8 7F055CB8 0702000B */ bltzl $t8, .L7F055CE8 +/* 08A7EC 7F055CBC 02002025 */ move $a0, $s0 +/* 08A7F0 7F055CC0 10000008 */ b .L7F055CE4 +/* 08A7F4 7F055CC4 24030001 */ li $v1, 1 +.L7F055CC8: +/* 08A7F8 7F055CC8 8E02000C */ lw $v0, 0xc($s0) +/* 08A7FC 7F055CCC 0002C8C0 */ sll $t9, $v0, 3 +/* 08A800 7F055CD0 07200004 */ bltz $t9, .L7F055CE4 +/* 08A804 7F055CD4 00024100 */ sll $t0, $v0, 4 +/* 08A808 7F055CD8 05030003 */ bgezl $t0, .L7F055CE8 +/* 08A80C 7F055CDC 02002025 */ move $a0, $s0 +/* 08A810 7F055CE0 24030001 */ li $v1, 1 +.L7F055CE4: +/* 08A814 7F055CE4 02002025 */ move $a0, $s0 +.L7F055CE8: +/* 08A818 7F055CE8 0FC0F9C6 */ jal sub_GAME_7F03E718 +/* 08A81C 7F055CEC AFA30028 */ sw $v1, 0x28($sp) +/* 08A820 7F055CF0 14400002 */ bnez $v0, .L7F055CFC +/* 08A824 7F055CF4 8FA30028 */ lw $v1, 0x28($sp) +/* 08A828 7F055CF8 00001825 */ move $v1, $zero +.L7F055CFC: +/* 08A82C 7F055CFC 10600007 */ beqz $v1, .L7F055D1C +/* 08A830 7F055D00 8FA40024 */ lw $a0, 0x24($sp) +/* 08A834 7F055D04 0FC156DE */ jal sub_GAME_7F055B78 +/* 08A838 7F055D08 02002825 */ move $a1, $s0 +/* 08A83C 7F055D0C 0FC15667 */ jal sub_GAME_7F05599C +/* 08A840 7F055D10 8FA40030 */ lw $a0, 0x30($sp) +/* 08A844 7F055D14 10000028 */ b .L7F055DB8 +/* 08A848 7F055D18 8FBF001C */ lw $ra, 0x1c($sp) +.L7F055D1C: +/* 08A84C 7F055D1C 820900BC */ lb $t1, 0xbc($s0) +/* 08A850 7F055D20 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 08A854 7F055D24 55200024 */ bnezl $t1, .L7F055DB8 +/* 08A858 7F055D28 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A85C 7F055D2C C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 08A860 7F055D30 44813000 */ mtc1 $at, $f6 +/* 08A864 7F055D34 00000000 */ nop +/* 08A868 7F055D38 4606203C */ c.lt.s $f4, $f6 +/* 08A86C 7F055D3C 00000000 */ nop +/* 08A870 7F055D40 4502001D */ bc1fl .L7F055DB8 +/* 08A874 7F055D44 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A878 7F055D48 8E02000C */ lw $v0, 0xc($s0) +/* 08A87C 7F055D4C 304A0004 */ andi $t2, $v0, 4 +/* 08A880 7F055D50 55400014 */ bnezl $t2, .L7F055DA4 +/* 08A884 7F055D54 8E0C0064 */ lw $t4, 0x64($s0) +/* 08A888 7F055D58 0FC23487 */ jal sub_GAME_7F08D21C +/* 08A88C 7F055D5C 02002025 */ move $a0, $s0 +/* 08A890 7F055D60 1040000A */ beqz $v0, .L7F055D8C +/* 08A894 7F055D64 00000000 */ nop +/* 08A898 7F055D68 8C4B001C */ lw $t3, 0x1c($v0) +/* 08A89C 7F055D6C 11600007 */ beqz $t3, .L7F055D8C +/* 08A8A0 7F055D70 00000000 */ nop +/* 08A8A4 7F055D74 0FC30776 */ jal get_textptr_for_textID +/* 08A8A8 7F055D78 8C44001C */ lw $a0, 0x1c($v0) +/* 08A8AC 7F055D7C 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 08A8B0 7F055D80 00402025 */ move $a0, $v0 +/* 08A8B4 7F055D84 10000006 */ b .L7F055DA0 +/* 08A8B8 7F055D88 8E02000C */ lw $v0, 0xc($s0) +.L7F055D8C: +/* 08A8BC 7F055D8C 0FC30776 */ jal get_textptr_for_textID +/* 08A8C0 7F055D90 3404A440 */ li $a0, 42048 +/* 08A8C4 7F055D94 0FC228F2 */ jal jp_display_string_in_lower_left_corner +/* 08A8C8 7F055D98 00402025 */ move $a0, $v0 +/* 08A8CC 7F055D9C 8E02000C */ lw $v0, 0xc($s0) +.L7F055DA0: +/* 08A8D0 7F055DA0 8E0C0064 */ lw $t4, 0x64($s0) +.L7F055DA4: +/* 08A8D4 7F055DA4 344E0008 */ ori $t6, $v0, 8 +/* 08A8D8 7F055DA8 AE0E000C */ sw $t6, 0xc($s0) +/* 08A8DC 7F055DAC 358D4000 */ ori $t5, $t4, 0x4000 +/* 08A8E0 7F055DB0 AE0D0064 */ sw $t5, 0x64($s0) +/* 08A8E4 7F055DB4 8FBF001C */ lw $ra, 0x1c($sp) +.L7F055DB8: +/* 08A8E8 7F055DB8 8FB00018 */ lw $s0, 0x18($sp) +/* 08A8EC 7F055DBC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08A8F0 7F055DC0 03E00008 */ jr $ra +/* 08A8F4 7F055DC4 00001025 */ move $v0, $zero +) +#endif +#endif + + + + + +void start_alarm(void) +{ + if (alarm_timer < 1) { + alarm_timer = 1; + } + return; +} + +void deactivate_alarm_sound_effect(void) +{ + if ((ptr_alarm_sfx != 0) && (sfxGetArg0Unk3F(ptr_alarm_sfx) != 0)) { + sfxDeactivate(ptr_alarm_sfx); + } + return; +} + +void stop_alarm(void) +{ + alarm_timer = 0; + deactivate_alarm_sound_effect(); + return; +} + +u32 is_alarm_on(void) +{ + return (0 < alarm_timer); +} + + + + + +#ifdef NONMATCHING +void init_trigger_toxic_gas_effect(void) { + +} +#else +GLOBAL_ASM( +.text +glabel init_trigger_toxic_gas_effect +/* 08A994 7F055E64 44802000 */ mtc1 $zero, $f4 +/* 08A998 7F055E68 240E0001 */ li $t6, 1 +/* 08A99C 7F055E6C 3C018003 */ lui $at, %hi(activate_gas_sound_timer) +/* 08A9A0 7F055E70 AC2E0ACC */ sw $t6, %lo(activate_gas_sound_timer)($at) +/* 08A9A4 7F055E74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08A9A8 7F055E78 3C018003 */ lui $at, %hi(D_80030AE0) +/* 08A9AC 7F055E7C AFBF0014 */ sw $ra, 0x14($sp) +/* 08A9B0 7F055E80 E4240AE0 */ swc1 $f4, %lo(D_80030AE0)($at) +/* 08A9B4 7F055E84 C4860000 */ lwc1 $f6, ($a0) +/* 08A9B8 7F055E88 3C028003 */ lui $v0, %hi(D_80030AD0) +/* 08A9BC 7F055E8C 24420AD0 */ addiu $v0, %lo(D_80030AD0) # addiu $v0, $v0, 0xad0 +/* 08A9C0 7F055E90 E4460000 */ swc1 $f6, ($v0) +/* 08A9C4 7F055E94 C4880004 */ lwc1 $f8, 4($a0) +/* 08A9C8 7F055E98 E4480004 */ swc1 $f8, 4($v0) +/* 08A9CC 7F055E9C C48A0008 */ lwc1 $f10, 8($a0) +/* 08A9D0 7F055EA0 0C001A57 */ jal get_stage_num +/* 08A9D4 7F055EA4 E44A0008 */ swc1 $f10, 8($v0) +/* 08A9D8 7F055EA8 24010020 */ li $at, 32 +/* 08A9DC 7F055EAC 14410007 */ bne $v0, $at, .L7F055ECC +/* 08A9E0 7F055EB0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 08A9E4 7F055EB4 44818000 */ mtc1 $at, $f16 +/* 08A9E8 7F055EB8 3C018007 */ lui $at, %hi(gas_damage_flag) +/* 08A9EC 7F055EBC E4301E78 */ swc1 $f16, %lo(gas_damage_flag)($at) +/* 08A9F0 7F055EC0 3C018007 */ lui $at, %hi(gas_cutoff_flag) +/* 08A9F4 7F055EC4 10000008 */ b .L7F055EE8 +/* 08A9F8 7F055EC8 AC201E7C */ sw $zero, %lo(gas_cutoff_flag)($at) +.L7F055ECC: +/* 08A9FC 7F055ECC 3C014561 */ li $at, 0x45610000 # 3600.000000 +/* 08AA00 7F055ED0 44819000 */ mtc1 $at, $f18 +/* 08AA04 7F055ED4 3C018007 */ lui $at, %hi(gas_damage_flag) +/* 08AA08 7F055ED8 240F0001 */ li $t7, 1 +/* 08AA0C 7F055EDC E4321E78 */ swc1 $f18, %lo(gas_damage_flag)($at) +/* 08AA10 7F055EE0 3C018007 */ lui $at, %hi(gas_cutoff_flag) +/* 08AA14 7F055EE4 AC2F1E7C */ sw $t7, %lo(gas_cutoff_flag)($at) +.L7F055EE8: +/* 08AA18 7F055EE8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08AA1C 7F055EEC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08AA20 7F055EF0 03E00008 */ jr $ra +/* 08AA24 7F055EF4 00000000 */ nop +) +#endif + + + + + + +void check_deactivate_gas_sound(void) +{ + if ((ptr_gas_sound != 0) && (sfxGetArg0Unk3F(ptr_gas_sound) != 0)) { + sfxDeactivate(ptr_gas_sound); + } + return; +} + + + +//!FIXME +//Seriously why tf is this nopping: +///* 08AA74 7F055F44 00001025 */ move $v0, $zero +//it byte matches otherwise +#ifdef NONMATCHING +s32 check_if_toxic_gas_activated(void) +{ + if (0.0f < toxic_gas_sound_timer) { + return 1; + } + return ; +} +#else +GLOBAL_ASM( +.text +glabel check_if_toxic_gas_activated +/* 08AA68 7F055F38 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) +/* 08AA6C 7F055F3C C4260AC8 */ lwc1 $f6, %lo(toxic_gas_sound_timer)($at) +/* 08AA70 7F055F40 44802000 */ mtc1 $zero, $f4 +/* 08AA74 7F055F44 00001025 */ move $v0, $zero +/* 08AA78 7F055F48 4606203C */ c.lt.s $f4, $f6 +/* 08AA7C 7F055F4C 00000000 */ nop +/* 08AA80 7F055F50 45000002 */ bc1f .L7F055F5C +/* 08AA84 7F055F54 00000000 */ nop +/* 08AA88 7F055F58 24020001 */ li $v0, 1 +.L7F055F5C: +/* 08AA8C 7F055F5C 03E00008 */ jr $ra +/* 08AA90 7F055F60 00000000 */ nop +) +#endif + + + + +#ifdef NONMATCHING +extern s32 disable_player_pickups_flag; +void handle_gas_damage(void) +{ + if (activate_gas_sound_timer) + { + toxic_gas_sound_timer = toxic_gas_sound_timer + global_timer_delta; + if (gas_damage_flag <= toxic_gas_sound_timer) + { + toxic_gas_sound_timer = (f32) gas_damage_flag; + activate_gas_sound_timer = 0; + } + } + if (0.0f < toxic_gas_sound_timer) + { + if (disable_player_pickups_flag == 0) + { + switch_to_solosky2(toxic_gas_sound_timer / gas_damage_flag); + if (gas_cutoff_flag != 0) + { + if (D_80030ADC < (global_timer - 0xe1)) + { + D_80030ADC = (s32) global_timer; + if (600.0f <= toxic_gas_sound_timer) + { + play_sfx_a1(ptr_sfx_buf, 0x62, 0); + } + if (1800.0f <= toxic_gas_sound_timer) + { + record_damage_kills(0x3e000000, 0, 0, -1, 0); + } + } + if (D_80030AE0 < gas_damage_flag) + { + D_80030AE0 = (f32) (D_80030AE0 + global_timer_delta); + if (ptr_gas_sound == 0) + { + if (get_controls_locked_flag(&ptr_gas_sound) == 0) + { + play_sfx_a1(ptr_sfx_buf, 0x66, &ptr_gas_sound); + } + } + if (ptr_gas_sound != 0) + { + sub_GAME_7F053A10(ptr_gas_sound, &D_80030AD0); + return; + } + } + else + { + if (ptr_gas_sound != 0) + { + if (sfxGetArg0Unk3F(ptr_gas_sound) != 0) + { + sfxDeactivate(ptr_gas_sound); + } + } + } + } + } + } +} +#else +GLOBAL_ASM( +.text +glabel handle_gas_damage +/* 08AA94 7F055F64 3C028003 */ lui $v0, %hi(activate_gas_sound_timer) +/* 08AA98 7F055F68 24420ACC */ addiu $v0, %lo(activate_gas_sound_timer) # addiu $v0, $v0, 0xacc +/* 08AA9C 7F055F6C 8C4E0000 */ lw $t6, ($v0) +/* 08AAA0 7F055F70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08AAA4 7F055F74 44808000 */ mtc1 $zero, $f16 +/* 08AAA8 7F055F78 11C00011 */ beqz $t6, .L7F055FC0 +/* 08AAAC 7F055F7C AFBF001C */ sw $ra, 0x1c($sp) +/* 08AAB0 7F055F80 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) +/* 08AAB4 7F055F84 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 +/* 08AAB8 7F055F88 3C018005 */ lui $at, %hi(global_timer_delta) +/* 08AABC 7F055F8C C4268378 */ lwc1 $f6, %lo(global_timer_delta)($at) +/* 08AAC0 7F055F90 C4640000 */ lwc1 $f4, ($v1) +/* 08AAC4 7F055F94 3C018007 */ lui $at, %hi(gas_damage_flag) +/* 08AAC8 7F055F98 46062200 */ add.s $f8, $f4, $f6 +/* 08AACC 7F055F9C E4680000 */ swc1 $f8, ($v1) +/* 08AAD0 7F055FA0 C46A0000 */ lwc1 $f10, ($v1) +/* 08AAD4 7F055FA4 C4201E78 */ lwc1 $f0, %lo(gas_damage_flag)($at) +/* 08AAD8 7F055FA8 460A003E */ c.le.s $f0, $f10 +/* 08AADC 7F055FAC 00000000 */ nop +/* 08AAE0 7F055FB0 45000003 */ bc1f .L7F055FC0 +/* 08AAE4 7F055FB4 00000000 */ nop +/* 08AAE8 7F055FB8 E4600000 */ swc1 $f0, ($v1) +/* 08AAEC 7F055FBC AC400000 */ sw $zero, ($v0) +.L7F055FC0: +/* 08AAF0 7F055FC0 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) +/* 08AAF4 7F055FC4 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 +/* 08AAF8 7F055FC8 C4600000 */ lwc1 $f0, ($v1) +/* 08AAFC 7F055FCC 3C0F8003 */ lui $t7, %hi(disable_player_pickups_flag) +/* 08AB00 7F055FD0 4600803C */ c.lt.s $f16, $f0 +/* 08AB04 7F055FD4 00000000 */ nop +/* 08AB08 7F055FD8 4502005E */ bc1fl .L7F056154 +/* 08AB0C 7F055FDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 08AB10 7F055FE0 8DEF64B4 */ lw $t7, %lo(disable_player_pickups_flag)($t7) +/* 08AB14 7F055FE4 3C018007 */ lui $at, %hi(gas_damage_flag) +/* 08AB18 7F055FE8 55E0005A */ bnezl $t7, .L7F056154 +/* 08AB1C 7F055FEC 8FBF001C */ lw $ra, 0x1c($sp) +/* 08AB20 7F055FF0 C4321E78 */ lwc1 $f18, %lo(gas_damage_flag)($at) +/* 08AB24 7F055FF4 0FC2EB2A */ jal switch_to_solosky2 +/* 08AB28 7F055FF8 46120303 */ div.s $f12, $f0, $f18 +/* 08AB2C 7F055FFC 3C188007 */ lui $t8, %hi(gas_cutoff_flag) +/* 08AB30 7F056000 8F181E7C */ lw $t8, %lo(gas_cutoff_flag)($t8) +/* 08AB34 7F056004 3C038003 */ lui $v1, %hi(toxic_gas_sound_timer) +/* 08AB38 7F056008 24630AC8 */ addiu $v1, %lo(toxic_gas_sound_timer) # addiu $v1, $v1, 0xac8 +/* 08AB3C 7F05600C 13000050 */ beqz $t8, .L7F056150 +/* 08AB40 7F056010 3C048003 */ lui $a0, %hi(D_80030ADC) +/* 08AB44 7F056014 3C028005 */ lui $v0, %hi(global_timer) +/* 08AB48 7F056018 8C42837C */ lw $v0, %lo(global_timer)($v0) +/* 08AB4C 7F05601C 24840ADC */ addiu $a0, %lo(D_80030ADC) # addiu $a0, $a0, 0xadc +/* 08AB50 7F056020 8C990000 */ lw $t9, ($a0) +/* 08AB54 7F056024 2448FF1F */ addiu $t0, $v0, -0xe1 +/* 08AB58 7F056028 0328082A */ slt $at, $t9, $t0 +/* 08AB5C 7F05602C 1020001B */ beqz $at, .L7F05609C +/* 08AB60 7F056030 3C014416 */ li $at, 0x44160000 # 600.000000 +/* 08AB64 7F056034 44812000 */ mtc1 $at, $f4 +/* 08AB68 7F056038 C4600000 */ lwc1 $f0, ($v1) +/* 08AB6C 7F05603C AC820000 */ sw $v0, ($a0) +/* 08AB70 7F056040 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 08AB74 7F056044 4600203E */ c.le.s $f4, $f0 +/* 08AB78 7F056048 24050062 */ li $a1, 98 +/* 08AB7C 7F05604C 00003025 */ move $a2, $zero +/* 08AB80 7F056050 45020006 */ bc1fl .L7F05606C +/* 08AB84 7F056054 3C0144E1 */ lui $at, 0x44e1 +/* 08AB88 7F056058 0C002382 */ jal play_sfx_a1 +/* 08AB8C 7F05605C 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08AB90 7F056060 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) +/* 08AB94 7F056064 C4200AC8 */ lwc1 $f0, %lo(toxic_gas_sound_timer)($at) +/* 08AB98 7F056068 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 +.L7F05606C: +/* 08AB9C 7F05606C 44813000 */ mtc1 $at, $f6 +/* 08ABA0 7F056070 3C013E00 */ li $at, 0x3E000000 # 0.125000 +/* 08ABA4 7F056074 4600303E */ c.le.s $f6, $f0 +/* 08ABA8 7F056078 00000000 */ nop +/* 08ABAC 7F05607C 45000007 */ bc1f .L7F05609C +/* 08ABB0 7F056080 00000000 */ nop +/* 08ABB4 7F056084 44807000 */ mtc1 $zero, $f14 +/* 08ABB8 7F056088 44816000 */ mtc1 $at, $f12 +/* 08ABBC 7F05608C 2407FFFF */ li $a3, -1 +/* 08ABC0 7F056090 44067000 */ mfc1 $a2, $f14 +/* 08ABC4 7F056094 0FC22647 */ jal record_damage_kills +/* 08ABC8 7F056098 AFA00010 */ sw $zero, 0x10($sp) +.L7F05609C: +/* 08ABCC 7F05609C 3C028003 */ lui $v0, %hi(D_80030AE0) +/* 08ABD0 7F0560A0 24420AE0 */ addiu $v0, %lo(D_80030AE0) # addiu $v0, $v0, 0xae0 +/* 08ABD4 7F0560A4 3C018007 */ lui $at, %hi(gas_damage_flag) +/* 08ABD8 7F0560A8 C4281E78 */ lwc1 $f8, %lo(gas_damage_flag)($at) +/* 08ABDC 7F0560AC C4400000 */ lwc1 $f0, ($v0) +/* 08ABE0 7F0560B0 3C018005 */ lui $at, %hi(global_timer_delta) +/* 08ABE4 7F0560B4 3C048003 */ lui $a0, %hi(ptr_gas_sound) +/* 08ABE8 7F0560B8 4608003C */ c.lt.s $f0, $f8 +/* 08ABEC 7F0560BC 00000000 */ nop +/* 08ABF0 7F0560C0 4500001A */ bc1f .L7F05612C +/* 08ABF4 7F0560C4 00000000 */ nop +/* 08ABF8 7F0560C8 C42A8378 */ lwc1 $f10, %lo(global_timer_delta)($at) +/* 08ABFC 7F0560CC 3C098003 */ lui $t1, %hi(ptr_gas_sound) +/* 08AC00 7F0560D0 460A0400 */ add.s $f16, $f0, $f10 +/* 08AC04 7F0560D4 E4500000 */ swc1 $f16, ($v0) +/* 08AC08 7F0560D8 8D290AE4 */ lw $t1, %lo(ptr_gas_sound)($t1) +/* 08AC0C 7F0560DC 1520000A */ bnez $t1, .L7F056108 +/* 08AC10 7F0560E0 00000000 */ nop +/* 08AC14 7F0560E4 0FC2FF01 */ jal get_controls_locked_flag +/* 08AC18 7F0560E8 00000000 */ nop +/* 08AC1C 7F0560EC 14400006 */ bnez $v0, .L7F056108 +/* 08AC20 7F0560F0 3C048006 */ lui $a0, %hi(ptr_sfx_buf) +/* 08AC24 7F0560F4 3C068003 */ lui $a2, %hi(ptr_gas_sound) +/* 08AC28 7F0560F8 24C60AE4 */ addiu $a2, %lo(ptr_gas_sound) # addiu $a2, $a2, 0xae4 +/* 08AC2C 7F0560FC 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) +/* 08AC30 7F056100 0C002382 */ jal play_sfx_a1 +/* 08AC34 7F056104 24050066 */ li $a1, 102 +.L7F056108: +/* 08AC38 7F056108 3C048003 */ lui $a0, %hi(ptr_gas_sound) +/* 08AC3C 7F05610C 8C840AE4 */ lw $a0, %lo(ptr_gas_sound)($a0) +/* 08AC40 7F056110 3C058003 */ lui $a1, %hi(D_80030AD0) +/* 08AC44 7F056114 5080000F */ beql $a0, $zero, .L7F056154 +/* 08AC48 7F056118 8FBF001C */ lw $ra, 0x1c($sp) +/* 08AC4C 7F05611C 0FC14E84 */ jal sub_GAME_7F053A10 +/* 08AC50 7F056120 24A50AD0 */ addiu $a1, %lo(D_80030AD0) # addiu $a1, $a1, 0xad0 +/* 08AC54 7F056124 1000000B */ b .L7F056154 +/* 08AC58 7F056128 8FBF001C */ lw $ra, 0x1c($sp) +.L7F05612C: +/* 08AC5C 7F05612C 8C840AE4 */ lw $a0, %lo(ptr_gas_sound)($a0) +/* 08AC60 7F056130 50800008 */ beql $a0, $zero, .L7F056154 +/* 08AC64 7F056134 8FBF001C */ lw $ra, 0x1c($sp) +/* 08AC68 7F056138 0C00237C */ jal sfxGetArg0Unk3F +/* 08AC6C 7F05613C 00000000 */ nop +/* 08AC70 7F056140 10400003 */ beqz $v0, .L7F056150 +/* 08AC74 7F056144 3C048003 */ lui $a0, %hi(ptr_gas_sound) +/* 08AC78 7F056148 0C002408 */ jal sfxDeactivate +/* 08AC7C 7F05614C 8C840AE4 */ lw $a0, %lo(ptr_gas_sound)($a0) +.L7F056150: +/* 08AC80 7F056150 8FBF001C */ lw $ra, 0x1c($sp) +.L7F056154: +/* 08AC84 7F056154 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08AC88 7F056158 03E00008 */ jr $ra +/* 08AC8C 7F05615C 00000000 */ nop +) +#endif + + + + + + +void set_unset_clock_lock_bits(int clocklockbits,int flag) +{ + if (flag != 0) { + clock_drawn_flag &= ~clocklockbits; + return; + } + clock_drawn_flag |= clocklockbits; +} + +u32 is_clock_drawn_onscreen(void) +{ + return clock_drawn_flag == 0; +} + +void set_clock_time(f32 time) { + clock_time = time; +} + +f32 get_clock_time(void) { + return clock_time; +} + +void set_clock_enable(s32 enable) { + clock_enable = enable; +} + +s32 get_clock_enable(void) { + return clock_enable; +} + +void if_enabled_reset_clock(void) +{ + if (clock_enable != 0) { + clock_time = clock_time - global_timer_delta; + } +} + + +#ifdef NONMATCHING +void sub_GAME_7F056210(void) { + +} +#else +GLOBAL_ASM( +.late_rodata + +.text +glabel sub_GAME_7F056210 +/* 08AD40 7F056210 3C0E8003 */ lui $t6, %hi(clock_drawn_flag) +/* 08AD44 7F056214 8DCE0AE8 */ lw $t6, %lo(clock_drawn_flag)($t6) +/* 08AD48 7F056218 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 08AD4C 7F05621C AFB10028 */ sw $s1, 0x28($sp) +/* 08AD50 7F056220 00808825 */ move $s1, $a0 +/* 08AD54 7F056224 AFBF002C */ sw $ra, 0x2c($sp) +/* 08AD58 7F056228 15C000EB */ bnez $t6, .L7F0565D8 +/* 08AD5C 7F05622C AFB00024 */ sw $s0, 0x24($sp) +/* 08AD60 7F056230 3C018003 */ lui $at, %hi(clock_time) +/* 08AD64 7F056234 C4220AF0 */ lwc1 $f2, %lo(clock_time)($at) +/* 08AD68 7F056238 44802000 */ mtc1 $zero, $f4 +/* 08AD6C 7F05623C 3C014561 */ li $at, 0x45610000 # 3600.000000 +/* 08AD70 7F056240 44813000 */ mtc1 $at, $f6 +/* 08AD74 7F056244 4604103C */ c.lt.s $f2, $f4 +/* 08AD78 7F056248 00000000 */ nop +/* 08AD7C 7F05624C 45020003 */ bc1fl .L7F05625C +/* 08AD80 7F056250 46061303 */ div.s $f12, $f2, $f6 +/* 08AD84 7F056254 46001087 */ neg.s $f2, $f2 +/* 08AD88 7F056258 46061303 */ div.s $f12, $f2, $f6 +.L7F05625C: +/* 08AD8C 7F05625C 0FC170D8 */ jal truncf +/* 08AD90 7F056260 E7A20030 */ swc1 $f2, 0x30($sp) +/* 08AD94 7F056264 4600020D */ trunc.w.s $f8, $f0 +/* 08AD98 7F056268 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 08AD9C 7F05626C C7A20030 */ lwc1 $f2, 0x30($sp) +/* 08ADA0 7F056270 44815000 */ mtc1 $at, $f10 +/* 08ADA4 7F056274 44184000 */ mfc1 $t8, $f8 +/* 08ADA8 7F056278 460A1303 */ div.s $f12, $f2, $f10 +/* 08ADAC 7F05627C 0FC170D8 */ jal truncf +/* 08ADB0 7F056280 AFB80044 */ sw $t8, 0x44($sp) +/* 08ADB4 7F056284 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 08ADB8 7F056288 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 08ADBC 7F05628C 44819000 */ mtc1 $at, $f18 +/* 08ADC0 7F056290 4600040D */ trunc.w.s $f16, $f0 +/* 08ADC4 7F056294 8FA90044 */ lw $t1, 0x44($sp) +/* 08ADC8 7F056298 46121102 */ mul.s $f4, $f2, $f18 +/* 08ADCC 7F05629C 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 08ADD0 7F0562A0 44088000 */ mfc1 $t0, $f16 +/* 08ADD4 7F0562A4 00095100 */ sll $t2, $t1, 4 +/* 08ADD8 7F0562A8 01495023 */ subu $t2, $t2, $t1 +/* 08ADDC 7F0562AC 44813000 */ mtc1 $at, $f6 +/* 08ADE0 7F0562B0 000A5080 */ sll $t2, $t2, 2 +/* 08ADE4 7F0562B4 010A5823 */ subu $t3, $t0, $t2 +/* 08ADE8 7F0562B8 AFAB0040 */ sw $t3, 0x40($sp) +/* 08ADEC 7F0562BC 0FC170D8 */ jal truncf +/* 08ADF0 7F0562C0 46062303 */ div.s $f12, $f4, $f6 +/* 08ADF4 7F0562C4 8FAE0044 */ lw $t6, 0x44($sp) +/* 08ADF8 7F0562C8 4600020D */ trunc.w.s $f8, $f0 +/* 08ADFC 7F0562CC 8FB90040 */ lw $t9, 0x40($sp) +/* 08AE00 7F0562D0 000E7880 */ sll $t7, $t6, 2 +/* 08AE04 7F0562D4 01EE7823 */ subu $t7, $t7, $t6 +/* 08AE08 7F0562D8 000F7900 */ sll $t7, $t7, 4 +/* 08AE0C 7F0562DC 01EE7823 */ subu $t7, $t7, $t6 +/* 08AE10 7F0562E0 00194880 */ sll $t1, $t9, 2 +/* 08AE14 7F0562E4 440D4000 */ mfc1 $t5, $f8 +/* 08AE18 7F0562E8 000F78C0 */ sll $t7, $t7, 3 +/* 08AE1C 7F0562EC 01394823 */ subu $t1, $t1, $t9 +/* 08AE20 7F0562F0 000948C0 */ sll $t1, $t1, 3 +/* 08AE24 7F0562F4 01EE7823 */ subu $t7, $t7, $t6 +/* 08AE28 7F0562F8 000F7900 */ sll $t7, $t7, 4 +/* 08AE2C 7F0562FC 01394821 */ addu $t1, $t1, $t9 +/* 08AE30 7F056300 00094880 */ sll $t1, $t1, 2 +/* 08AE34 7F056304 01AFC023 */ subu $t8, $t5, $t7 +/* 08AE38 7F056308 03094023 */ subu $t0, $t8, $t1 +/* 08AE3C 7F05630C AFA8003C */ sw $t0, 0x3c($sp) +/* 08AE40 7F056310 0FC2B366 */ jal microcode_constructor +/* 08AE44 7F056314 02202025 */ move $a0, $s1 +/* 08AE48 7F056318 0C001149 */ jal get_video2_settings_uly +/* 08AE4C 7F05631C 00408825 */ move $s1, $v0 +/* 08AE50 7F056320 00028400 */ sll $s0, $v0, 0x10 +/* 08AE54 7F056324 00105403 */ sra $t2, $s0, 0x10 +/* 08AE58 7F056328 0C00112B */ jal get_video2_settings_height +/* 08AE5C 7F05632C 01408025 */ move $s0, $t2 +/* 08AE60 7F056330 8FA50044 */ lw $a1, 0x44($sp) +/* 08AE64 7F056334 24010064 */ li $at, 100 +/* 08AE68 7F056338 00507021 */ addu $t6, $v0, $s0 +/* 08AE6C 7F05633C 00A1001A */ div $zero, $a1, $at +/* 08AE70 7F056340 00005810 */ mfhi $t3 +/* 08AE74 7F056344 2401000A */ li $at, 10 +/* 08AE78 7F056348 25CDFFEE */ addiu $t5, $t6, -0x12 +/* 08AE7C 7F05634C 0161001A */ div $zero, $t3, $at +/* 08AE80 7F056350 00002812 */ mflo $a1 +/* 08AE84 7F056354 240F0002 */ li $t7, 2 +/* 08AE88 7F056358 24190001 */ li $t9, 1 +/* 08AE8C 7F05635C AFB90018 */ sw $t9, 0x18($sp) +/* 08AE90 7F056360 AFAF0014 */ sw $t7, 0x14($sp) +/* 08AE94 7F056364 AFAD0010 */ sw $t5, 0x10($sp) +/* 08AE98 7F056368 02202025 */ move $a0, $s1 +/* 08AE9C 7F05636C 24060082 */ li $a2, 130 +/* 08AEA0 7F056370 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08AEA4 7F056374 24070002 */ li $a3, 2 +/* 08AEA8 7F056378 0C001149 */ jal get_video2_settings_uly +/* 08AEAC 7F05637C 00408825 */ move $s1, $v0 +/* 08AEB0 7F056380 00028400 */ sll $s0, $v0, 0x10 +/* 08AEB4 7F056384 0010C403 */ sra $t8, $s0, 0x10 +/* 08AEB8 7F056388 0C00112B */ jal get_video2_settings_height +/* 08AEBC 7F05638C 03008025 */ move $s0, $t8 +/* 08AEC0 7F056390 8FA50044 */ lw $a1, 0x44($sp) +/* 08AEC4 7F056394 2401000A */ li $at, 10 +/* 08AEC8 7F056398 00504021 */ addu $t0, $v0, $s0 +/* 08AECC 7F05639C 00A1001A */ div $zero, $a1, $at +/* 08AED0 7F0563A0 00002810 */ mfhi $a1 +/* 08AED4 7F0563A4 250AFFEE */ addiu $t2, $t0, -0x12 +/* 08AED8 7F0563A8 240B0002 */ li $t3, 2 +/* 08AEDC 7F0563AC 240C0001 */ li $t4, 1 +/* 08AEE0 7F0563B0 AFAC0018 */ sw $t4, 0x18($sp) +/* 08AEE4 7F0563B4 AFAB0014 */ sw $t3, 0x14($sp) +/* 08AEE8 7F0563B8 AFAA0010 */ sw $t2, 0x10($sp) +/* 08AEEC 7F0563BC 02202025 */ move $a0, $s1 +/* 08AEF0 7F0563C0 2406008A */ li $a2, 138 +/* 08AEF4 7F0563C4 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08AEF8 7F0563C8 24070002 */ li $a3, 2 +/* 08AEFC 7F0563CC 0C001149 */ jal get_video2_settings_uly +/* 08AF00 7F0563D0 00408825 */ move $s1, $v0 +/* 08AF04 7F0563D4 00028400 */ sll $s0, $v0, 0x10 +/* 08AF08 7F0563D8 00107403 */ sra $t6, $s0, 0x10 +/* 08AF0C 7F0563DC 0C00112B */ jal get_video2_settings_height +/* 08AF10 7F0563E0 01C08025 */ move $s0, $t6 +/* 08AF14 7F0563E4 00506821 */ addu $t5, $v0, $s0 +/* 08AF18 7F0563E8 25AFFFEE */ addiu $t7, $t5, -0x12 +/* 08AF1C 7F0563EC 3C058005 */ lui $a1, %hi(D_80052A44) +/* 08AF20 7F0563F0 24190002 */ li $t9, 2 +/* 08AF24 7F0563F4 24180001 */ li $t8, 1 +/* 08AF28 7F0563F8 AFB80018 */ sw $t8, 0x18($sp) +/* 08AF2C 7F0563FC AFB90014 */ sw $t9, 0x14($sp) +/* 08AF30 7F056400 24A52A44 */ addiu $a1, %lo(D_80052A44) # addiu $a1, $a1, 0x2a44 +/* 08AF34 7F056404 AFAF0010 */ sw $t7, 0x10($sp) +/* 08AF38 7F056408 02202025 */ move $a0, $s1 +/* 08AF3C 7F05640C 24060093 */ li $a2, 147 +/* 08AF40 7F056410 0FC1A694 */ jal some_kind_of_display_routine +/* 08AF44 7F056414 24070002 */ li $a3, 2 +/* 08AF48 7F056418 0C001149 */ jal get_video2_settings_uly +/* 08AF4C 7F05641C 00408825 */ move $s1, $v0 +/* 08AF50 7F056420 00028400 */ sll $s0, $v0, 0x10 +/* 08AF54 7F056424 00104C03 */ sra $t1, $s0, 0x10 +/* 08AF58 7F056428 0C00112B */ jal get_video2_settings_height +/* 08AF5C 7F05642C 01208025 */ move $s0, $t1 +/* 08AF60 7F056430 8FA50040 */ lw $a1, 0x40($sp) +/* 08AF64 7F056434 2401003C */ li $at, 60 +/* 08AF68 7F056438 00505821 */ addu $t3, $v0, $s0 +/* 08AF6C 7F05643C 00A1001A */ div $zero, $a1, $at +/* 08AF70 7F056440 00004010 */ mfhi $t0 +/* 08AF74 7F056444 2401000A */ li $at, 10 +/* 08AF78 7F056448 256CFFEE */ addiu $t4, $t3, -0x12 +/* 08AF7C 7F05644C 0101001A */ div $zero, $t0, $at +/* 08AF80 7F056450 00002812 */ mflo $a1 +/* 08AF84 7F056454 240E0002 */ li $t6, 2 +/* 08AF88 7F056458 240D0001 */ li $t5, 1 +/* 08AF8C 7F05645C AFAD0018 */ sw $t5, 0x18($sp) +/* 08AF90 7F056460 AFAE0014 */ sw $t6, 0x14($sp) +/* 08AF94 7F056464 AFAC0010 */ sw $t4, 0x10($sp) +/* 08AF98 7F056468 02202025 */ move $a0, $s1 +/* 08AF9C 7F05646C 2406009C */ li $a2, 156 +/* 08AFA0 7F056470 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08AFA4 7F056474 24070002 */ li $a3, 2 +/* 08AFA8 7F056478 0C001149 */ jal get_video2_settings_uly +/* 08AFAC 7F05647C 00408825 */ move $s1, $v0 +/* 08AFB0 7F056480 00028400 */ sll $s0, $v0, 0x10 +/* 08AFB4 7F056484 00107C03 */ sra $t7, $s0, 0x10 +/* 08AFB8 7F056488 0C00112B */ jal get_video2_settings_height +/* 08AFBC 7F05648C 01E08025 */ move $s0, $t7 +/* 08AFC0 7F056490 8FA50040 */ lw $a1, 0x40($sp) +/* 08AFC4 7F056494 2401000A */ li $at, 10 +/* 08AFC8 7F056498 0050C021 */ addu $t8, $v0, $s0 +/* 08AFCC 7F05649C 00A1001A */ div $zero, $a1, $at +/* 08AFD0 7F0564A0 00002810 */ mfhi $a1 +/* 08AFD4 7F0564A4 2709FFEE */ addiu $t1, $t8, -0x12 +/* 08AFD8 7F0564A8 24080002 */ li $t0, 2 +/* 08AFDC 7F0564AC 240A0001 */ li $t2, 1 +/* 08AFE0 7F0564B0 AFAA0018 */ sw $t2, 0x18($sp) +/* 08AFE4 7F0564B4 AFA80014 */ sw $t0, 0x14($sp) +/* 08AFE8 7F0564B8 AFA90010 */ sw $t1, 0x10($sp) +/* 08AFEC 7F0564BC 02202025 */ move $a0, $s1 +/* 08AFF0 7F0564C0 240600A4 */ li $a2, 164 +/* 08AFF4 7F0564C4 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08AFF8 7F0564C8 24070002 */ li $a3, 2 +/* 08AFFC 7F0564CC 0C001149 */ jal get_video2_settings_uly +/* 08B000 7F0564D0 00408825 */ move $s1, $v0 +/* 08B004 7F0564D4 00028400 */ sll $s0, $v0, 0x10 +/* 08B008 7F0564D8 00105C03 */ sra $t3, $s0, 0x10 +/* 08B00C 7F0564DC 0C00112B */ jal get_video2_settings_height +/* 08B010 7F0564E0 01608025 */ move $s0, $t3 +/* 08B014 7F0564E4 00506021 */ addu $t4, $v0, $s0 +/* 08B018 7F0564E8 258EFFEE */ addiu $t6, $t4, -0x12 +/* 08B01C 7F0564EC 3C058005 */ lui $a1, %hi(D_80052A44) +/* 08B020 7F0564F0 240D0002 */ li $t5, 2 +/* 08B024 7F0564F4 240F0001 */ li $t7, 1 +/* 08B028 7F0564F8 AFAF0018 */ sw $t7, 0x18($sp) +/* 08B02C 7F0564FC AFAD0014 */ sw $t5, 0x14($sp) +/* 08B030 7F056500 24A52A44 */ addiu $a1, %lo(D_80052A44) # addiu $a1, $a1, 0x2a44 +/* 08B034 7F056504 AFAE0010 */ sw $t6, 0x10($sp) +/* 08B038 7F056508 02202025 */ move $a0, $s1 +/* 08B03C 7F05650C 240600AD */ li $a2, 173 +/* 08B040 7F056510 0FC1A694 */ jal some_kind_of_display_routine +/* 08B044 7F056514 24070002 */ li $a3, 2 +/* 08B048 7F056518 0C001149 */ jal get_video2_settings_uly +/* 08B04C 7F05651C 00408825 */ move $s1, $v0 +/* 08B050 7F056520 00028400 */ sll $s0, $v0, 0x10 +/* 08B054 7F056524 0010CC03 */ sra $t9, $s0, 0x10 +/* 08B058 7F056528 0C00112B */ jal get_video2_settings_height +/* 08B05C 7F05652C 03208025 */ move $s0, $t9 +/* 08B060 7F056530 8FA5003C */ lw $a1, 0x3c($sp) +/* 08B064 7F056534 24010064 */ li $at, 100 +/* 08B068 7F056538 00504021 */ addu $t0, $v0, $s0 +/* 08B06C 7F05653C 00A1001A */ div $zero, $a1, $at +/* 08B070 7F056540 0000C010 */ mfhi $t8 +/* 08B074 7F056544 2401000A */ li $at, 10 +/* 08B078 7F056548 250AFFEE */ addiu $t2, $t0, -0x12 +/* 08B07C 7F05654C 0301001A */ div $zero, $t8, $at +/* 08B080 7F056550 00002812 */ mflo $a1 +/* 08B084 7F056554 240B0002 */ li $t3, 2 +/* 08B088 7F056558 240C0001 */ li $t4, 1 +/* 08B08C 7F05655C AFAC0018 */ sw $t4, 0x18($sp) +/* 08B090 7F056560 AFAB0014 */ sw $t3, 0x14($sp) +/* 08B094 7F056564 AFAA0010 */ sw $t2, 0x10($sp) +/* 08B098 7F056568 02202025 */ move $a0, $s1 +/* 08B09C 7F05656C 240600B6 */ li $a2, 182 +/* 08B0A0 7F056570 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08B0A4 7F056574 24070002 */ li $a3, 2 +/* 08B0A8 7F056578 0C001149 */ jal get_video2_settings_uly +/* 08B0AC 7F05657C 00408825 */ move $s1, $v0 +/* 08B0B0 7F056580 00028400 */ sll $s0, $v0, 0x10 +/* 08B0B4 7F056584 00107403 */ sra $t6, $s0, 0x10 +/* 08B0B8 7F056588 0C00112B */ jal get_video2_settings_height +/* 08B0BC 7F05658C 01C08025 */ move $s0, $t6 +/* 08B0C0 7F056590 8FA5003C */ lw $a1, 0x3c($sp) +/* 08B0C4 7F056594 2401000A */ li $at, 10 +/* 08B0C8 7F056598 00507821 */ addu $t7, $v0, $s0 +/* 08B0CC 7F05659C 00A1001A */ div $zero, $a1, $at +/* 08B0D0 7F0565A0 00002810 */ mfhi $a1 +/* 08B0D4 7F0565A4 25F9FFEE */ addiu $t9, $t7, -0x12 +/* 08B0D8 7F0565A8 24180002 */ li $t8, 2 +/* 08B0DC 7F0565AC 24090001 */ li $t1, 1 +/* 08B0E0 7F0565B0 AFA90018 */ sw $t1, 0x18($sp) +/* 08B0E4 7F0565B4 AFB80014 */ sw $t8, 0x14($sp) +/* 08B0E8 7F0565B8 AFB90010 */ sw $t9, 0x10($sp) +/* 08B0EC 7F0565BC 02202025 */ move $a0, $s1 +/* 08B0F0 7F0565C0 240600BE */ li $a2, 190 +/* 08B0F4 7F0565C4 0FC1A723 */ jal display_ammo_total_in_a1 +/* 08B0F8 7F0565C8 24070002 */ li $a3, 2 +/* 08B0FC 7F0565CC 0FC2B3BC */ jal combiner_bayer_lod_perspective +/* 08B100 7F0565D0 00402025 */ move $a0, $v0 +/* 08B104 7F0565D4 00408825 */ move $s1, $v0 +.L7F0565D8: +/* 08B108 7F0565D8 8FBF002C */ lw $ra, 0x2c($sp) +/* 08B10C 7F0565DC 02201025 */ move $v0, $s1 +/* 08B110 7F0565E0 8FB10028 */ lw $s1, 0x28($sp) +/* 08B114 7F0565E4 8FB00024 */ lw $s0, 0x24($sp) +/* 08B118 7F0565E8 03E00008 */ jr $ra +/* 08B11C 7F0565EC 27BD0048 */ addiu $sp, $sp, 0x48 +) +#endif + + + + + +void handle_alarm_gas_timer_calldamage(void) +{ + if (is_alarm_on() != 0) { + if ((ptr_alarm_sfx == 0) && (get_controls_locked_flag() == 0)) { + play_sfx_a1(ptr_sfx_buf,0xa3,&ptr_alarm_sfx); + } + alarm_timer = alarm_timer + clock_timer; + if (0x708 < alarm_timer) { + stop_alarm(); + } + } + handle_gas_damage(); + if_enabled_reset_clock(); + check_guard_detonate_proxmine(); + D_80030AF4 = 0; + return; +} + + + + + +#ifdef NONMATCHING +void sub_GAME_7F056690(void) { + +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F056690 +/* 08B1C0 7F056690 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08B1C4 7F056694 AFBF002C */ sw $ra, 0x2c($sp) +/* 08B1C8 7F056698 AFB40028 */ sw $s4, 0x28($sp) +/* 08B1CC 7F05669C AFB30024 */ sw $s3, 0x24($sp) +/* 08B1D0 7F0566A0 AFB20020 */ sw $s2, 0x20($sp) +/* 08B1D4 7F0566A4 AFB1001C */ sw $s1, 0x1c($sp) +/* 08B1D8 7F0566A8 0FC0E909 */ jal get_ptr_obj_pos_list_current_entry +/* 08B1DC 7F0566AC AFB00018 */ sw $s0, 0x18($sp) +/* 08B1E0 7F0566B0 1040002A */ beqz $v0, .L7F05675C +/* 08B1E4 7F0566B4 00409025 */ move $s2, $v0 +/* 08B1E8 7F0566B8 24140001 */ li $s4, 1 +/* 08B1EC 7F0566BC 924E0000 */ lbu $t6, ($s2) +.L7F0566C0: +/* 08B1F0 7F0566C0 568E0024 */ bnel $s4, $t6, .L7F056754 +/* 08B1F4 7F0566C4 8E520024 */ lw $s2, 0x24($s2) +/* 08B1F8 7F0566C8 924F0001 */ lbu $t7, 1($s2) +/* 08B1FC 7F0566CC 31F80002 */ andi $t8, $t7, 2 +/* 08B200 7F0566D0 57000020 */ bnezl $t8, .L7F056754 +/* 08B204 7F0566D4 8E520024 */ lw $s2, 0x24($s2) +/* 08B208 7F0566D8 8E510004 */ lw $s1, 4($s2) +/* 08B20C 7F0566DC 92390002 */ lbu $t9, 2($s1) +/* 08B210 7F0566E0 02202025 */ move $a0, $s1 +/* 08B214 7F0566E4 33280080 */ andi $t0, $t9, 0x80 +/* 08B218 7F0566E8 5100001A */ beql $t0, $zero, .L7F056754 +/* 08B21C 7F0566EC 8E520024 */ lw $s2, 0x24($s2) +/* 08B220 7F0566F0 0FC12D1E */ jal sub_GAME_7F04B478 +/* 08B224 7F0566F4 8E330014 */ lw $s3, 0x14($s1) +/* 08B228 7F0566F8 10400018 */ beqz $v0, .L7F05675C +/* 08B22C 7F0566FC 00402825 */ move $a1, $v0 +/* 08B230 7F056700 8C500004 */ lw $s0, 4($v0) +/* 08B234 7F056704 52000016 */ beql $s0, $zero, .L7F056760 +/* 08B238 7F056708 8FBF002C */ lw $ra, 0x2c($sp) +/* 08B23C 7F05670C 8E290014 */ lw $t1, 0x14($s1) +/* 08B240 7F056710 0FC12D64 */ jal sub_GAME_7F04B590 +/* 08B244 7F056714 8D240008 */ lw $a0, 8($t1) +/* 08B248 7F056718 5040000E */ beql $v0, $zero, .L7F056754 +/* 08B24C 7F05671C 8E520024 */ lw $s2, 0x24($s2) +/* 08B250 7F056720 960B001A */ lhu $t3, 0x1a($s0) +/* 08B254 7F056724 8E6A0010 */ lw $t2, 0x10($s3) +/* 08B258 7F056728 8E0D0008 */ lw $t5, 8($s0) +/* 08B25C 7F05672C 000B6080 */ sll $t4, $t3, 2 +/* 08B260 7F056730 014C1021 */ addu $v0, $t2, $t4 +/* 08B264 7F056734 8C4E0000 */ lw $t6, ($v0) +/* 08B268 7F056738 11AE0005 */ beq $t5, $t6, .L7F056750 +/* 08B26C 7F05673C 02202025 */ move $a0, $s1 +/* 08B270 7F056740 0FC10409 */ jal sub_GAME_7F041024 +/* 08B274 7F056744 24050001 */ li $a1, 1 +/* 08B278 7F056748 10000005 */ b .L7F056760 +/* 08B27C 7F05674C 8FBF002C */ lw $ra, 0x2c($sp) +.L7F056750: +/* 08B280 7F056750 8E520024 */ lw $s2, 0x24($s2) +.L7F056754: +/* 08B284 7F056754 5640FFDA */ bnezl $s2, .L7F0566C0 +/* 08B288 7F056758 924E0000 */ lbu $t6, ($s2) +.L7F05675C: +/* 08B28C 7F05675C 8FBF002C */ lw $ra, 0x2c($sp) +.L7F056760: +/* 08B290 7F056760 8FB00018 */ lw $s0, 0x18($sp) +/* 08B294 7F056764 8FB1001C */ lw $s1, 0x1c($sp) +/* 08B298 7F056768 8FB20020 */ lw $s2, 0x20($sp) +/* 08B29C 7F05676C 8FB30024 */ lw $s3, 0x24($sp) +/* 08B2A0 7F056770 8FB40028 */ lw $s4, 0x28($sp) +/* 08B2A4 7F056774 03E00008 */ jr $ra +/* 08B2A8 7F056778 27BD0030 */ addiu $sp, $sp, 0x30 +) +#endif + + + + + +#ifdef NONMATCHING +void drop_inventory(void) { + +} +#else +GLOBAL_ASM( +.text +glabel drop_inventory +/* 08B2AC 7F05677C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 08B2B0 7F056780 3C0E8008 */ lui $t6, %hi(pPlayer) +/* 08B2B4 7F056784 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6) +/* 08B2B8 7F056788 AFBF0034 */ sw $ra, 0x34($sp) +/* 08B2BC 7F05678C AFB40030 */ sw $s4, 0x30($sp) +/* 08B2C0 7F056790 AFB3002C */ sw $s3, 0x2c($sp) +/* 08B2C4 7F056794 AFB20028 */ sw $s2, 0x28($sp) +/* 08B2C8 7F056798 AFB10024 */ sw $s1, 0x24($sp) +/* 08B2CC 7F05679C AFB00020 */ sw $s0, 0x20($sp) +/* 08B2D0 7F0567A0 8DCF00A8 */ lw $t7, 0xa8($t6) +/* 08B2D4 7F0567A4 00002825 */ move $a1, $zero +/* 08B2D8 7F0567A8 8DF20004 */ lw $s2, 4($t7) +/* 08B2DC 7F0567AC 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand +/* 08B2E0 7F0567B0 02402025 */ move $a0, $s2 +/* 08B2E4 7F0567B4 02402025 */ move $a0, $s2 +/* 08B2E8 7F0567B8 0FC1487A */ jal set_0x4_in_runtime_flags_for_item_in_guards_hand +/* 08B2EC 7F0567BC 24050001 */ li $a1, 1 +/* 08B2F0 7F0567C0 24100001 */ li $s0, 1 +/* 08B2F4 7F0567C4 24140059 */ li $s4, 89 +/* 08B2F8 7F0567C8 3C132000 */ lui $s3, 0x2000 +.L7F0567CC: +/* 08B2FC 7F0567CC 0FC26C91 */ jal sub_GAME_7F09B244 +/* 08B300 7F0567D0 02002025 */ move $a0, $s0 +/* 08B304 7F0567D4 04400012 */ bltz $v0, .L7F056820 +/* 08B308 7F0567D8 00408825 */ move $s1, $v0 +/* 08B30C 7F0567DC 0FC230C5 */ jal is_weapon_in_inv +/* 08B310 7F0567E0 02002025 */ move $a0, $s0 +/* 08B314 7F0567E4 1040000E */ beqz $v0, .L7F056820 +/* 08B318 7F0567E8 02402025 */ move $a0, $s2 +/* 08B31C 7F0567EC 02202825 */ move $a1, $s1 +/* 08B320 7F0567F0 02003025 */ move $a2, $s0 +/* 08B324 7F0567F4 02603825 */ move $a3, $s3 +/* 08B328 7F0567F8 AFA00010 */ sw $zero, 0x10($sp) +/* 08B32C 7F0567FC 0FC14885 */ jal something_with_generating_object +/* 08B330 7F056800 AFA00014 */ sw $zero, 0x14($sp) +/* 08B334 7F056804 10400006 */ beqz $v0, .L7F056820 +/* 08B338 7F056808 00408825 */ move $s1, $v0 +/* 08B33C 7F05680C 00402025 */ move $a0, $v0 +/* 08B340 7F056810 0FC12FF4 */ jal sub_GAME_7F04BFD0 +/* 08B344 7F056814 24050001 */ li $a1, 1 +/* 08B348 7F056818 0FC1304C */ jal sub_GAME_7F04C130 +/* 08B34C 7F05681C 02202025 */ move $a0, $s1 +.L7F056820: +/* 08B350 7F056820 26100001 */ addiu $s0, $s0, 1 +/* 08B354 7F056824 1614FFE9 */ bne $s0, $s4, .L7F0567CC +/* 08B358 7F056828 00000000 */ nop +/* 08B35C 7F05682C 8FBF0034 */ lw $ra, 0x34($sp) +/* 08B360 7F056830 8FB00020 */ lw $s0, 0x20($sp) +/* 08B364 7F056834 8FB10024 */ lw $s1, 0x24($sp) +/* 08B368 7F056838 8FB20028 */ lw $s2, 0x28($sp) +/* 08B36C 7F05683C 8FB3002C */ lw $s3, 0x2c($sp) +/* 08B370 7F056840 8FB40030 */ lw $s4, 0x30($sp) +/* 08B374 7F056844 03E00008 */ jr $ra +/* 08B378 7F056848 27BD0038 */ addiu $sp, $sp, 0x38 +) +#endif + + + diff --git a/src/game/cleanup_alarms.c b/src/game/cleanup_alarms.c index e20a2fce..e9891c86 100644 --- a/src/game/cleanup_alarms.c +++ b/src/game/cleanup_alarms.c @@ -5,7 +5,7 @@ void cleanupAlarms(void) { stop_alarm(); - sub_GAME_7F055EF8(); + check_deactivate_gas_sound(); } diff --git a/src/game/deb_loadallmodels.c b/src/game/deb_loadallmodels.c index b457398b..6b157abd 100644 --- a/src/game/deb_loadallmodels.c +++ b/src/game/deb_loadallmodels.c @@ -111,7 +111,7 @@ glabel alloc_false_GUARDdata_to_exec_global_action /* 035C1C 7F0010EC 2484000F */ addiu $a0, $a0, 0xf /* 035C20 7F0010F0 348F000F */ ori $t7, $a0, 0xf /* 035C24 7F0010F4 39E4000F */ xori $a0, $t7, 0xf -/* 035C28 7F0010F8 0C0025C8 */ jal allocate_bytes_in_bank +/* 035C28 7F0010F8 0C0025C8 */ jal mempAllocBytesInBank /* 035C2C 7F0010FC AFA70200 */ sw $a3, 0x200($sp) /* 035C30 7F001100 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl) /* 035C34 7F001104 25AD5D00 */ addiu $t5, %lo(ptr_setup_path_tbl) # addiu $t5, $t5, 0x5d00 diff --git a/src/game/debugmenu_090490.c b/src/game/debugmenu_090490.c index 8e30088e..ff6d4d70 100644 --- a/src/game/debugmenu_090490.c +++ b/src/game/debugmenu_090490.c @@ -252,11 +252,11 @@ s32 grab_rgb_screenshot_flag = 0; //D:80037000 s32 grab_jpeg_screenshot_flag = 0; //D:80037004 -s32 D_80037004 = 0; +s32 player_pos_x = 0; //D:80037008 -s32 D_80037008 = 0; +s32 player_pos_y = 0; //D:8003700C -s32 D_8003700C = 0; +s32 player_pos_z = 0; @@ -412,11 +412,11 @@ glabel sub_GAME_7F09054C -void unknown_libname_68(void) { +void removed_do_debug_profile_flag_false(void) { return; } -void nullsub_35(void) { +void removed_do_debug_profile_flag_true(void) { return; } @@ -1040,8 +1040,8 @@ debug_worldpos: /* 0C57CC 7F090C9C 00000000 */ nop /* 0C57D0 7F090CA0 10400074 */ beqz $v0, .L7F090E74 /* 0C57D4 7F090CA4 00401825 */ move $v1, $v0 -/* 0C57D8 7F090CA8 3C028003 */ lui $v0, %hi(D_80037004) -/* 0C57DC 7F090CAC 24427004 */ addiu $v0, %lo(D_80037004) # addiu $v0, $v0, 0x7004 +/* 0C57D8 7F090CA8 3C028003 */ lui $v0, %hi(player_pos_x) +/* 0C57DC 7F090CAC 24427004 */ addiu $v0, %lo(player_pos_x) # addiu $v0, $v0, 0x7004 /* 0C57E0 7F090CB0 C4460000 */ lwc1 $f6, ($v0) /* 0C57E4 7F090CB4 C4640008 */ lwc1 $f4, 8($v1) /* 0C57E8 7F090CB8 C44A0004 */ lwc1 $f10, 4($v0) @@ -1059,8 +1059,8 @@ debug_worldpos: /* 0C5818 7F090CE8 0C007DF8 */ jal sqrtf /* 0C581C 7F090CEC 460A4300 */ add.s $f12, $f8, $f10 /* 0C5820 7F090CF0 8FA30050 */ lw $v1, 0x50($sp) -/* 0C5824 7F090CF4 3C028003 */ lui $v0, %hi(D_80037004) -/* 0C5828 7F090CF8 24427004 */ addiu $v0, %lo(D_80037004) # addiu $v0, $v0, 0x7004 +/* 0C5824 7F090CF4 3C028003 */ lui $v0, %hi(player_pos_x) +/* 0C5828 7F090CF8 24427004 */ addiu $v0, %lo(player_pos_x) # addiu $v0, $v0, 0x7004 /* 0C582C 7F090CFC C4700008 */ lwc1 $f16, 8($v1) /* 0C5830 7F090D00 E4500000 */ swc1 $f16, ($v0) /* 0C5834 7F090D04 C472000C */ lwc1 $f18, 0xc($v1) @@ -1147,12 +1147,12 @@ debug_profile: /* 0C5948 7F090E18 39AE0001 */ xori $t6, $t5, 1 /* 0C594C 7F090E1C 11C00005 */ beqz $t6, .L7F090E34 /* 0C5950 7F090E20 AC4E0000 */ sw $t6, ($v0) -/* 0C5954 7F090E24 0FC24164 */ jal unknown_libname_68 +/* 0C5954 7F090E24 0FC24164 */ jal removed_do_debug_profile_flag_false /* 0C5958 7F090E28 00000000 */ nop /* 0C595C 7F090E2C 10000012 */ b .L7F090E78 /* 0C5960 7F090E30 8FB80018 */ lw $t8, 0x18($sp) .L7F090E34: -/* 0C5964 7F090E34 0FC24166 */ jal nullsub_35 +/* 0C5964 7F090E34 0FC24166 */ jal removed_do_debug_profile_flag_true /* 0C5968 7F090E38 00000000 */ nop /* 0C596C 7F090E3C 1000000E */ b .L7F090E78 /* 0C5970 7F090E40 8FB80018 */ lw $t8, 0x18($sp) diff --git a/src/game/dyn.c b/src/game/dyn.c index fc08295b..676d2dac 100644 --- a/src/game/dyn.c +++ b/src/game/dyn.c @@ -50,25 +50,20 @@ void set_vtx_gfx_mem_alloc(void) { s32 sp18; ? temp_ret; - // Node 0 if (check_token(1, "-mgfx") != 0) { - // Node 1 - sp18 = get_num_players(); - (0x80050000 + (sp18 * 4))->unk-7D20 = (s32) (strtol(check_token(1, "-mgfx"), 0, 0) << 0xa); + dyn_c_debug_notice_list_entry[get_num_players()] = strtol(check_token(1, "-mgfx"), 0, 0) << 0xa; } - // Node 2 + if (check_token(1, "-mvtx") != 0) { - // Node 3 - sp18 = get_num_players(); - (0x80050000 + (sp18 * 4))->unk-7D10 = (s32) (strtol(check_token(1, "-mvtx"), 0, 0) << 0xa); + D_800482F0[get_num_players()] = strtol(check_token(1, "-mvtx"), 0, 0) << 0xa; } - // Node 4 - ptr_mgfx0_alloc_start = allocate_bytes_in_bank(((0x80050000 + (get_num_players() * 4))->unk-7D20 * 2), 4); + + mempAllocBytesInBank(dyn_c_debug_notice_list_entry[sVar1] << 1, 4); ptr_mgfx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start); ptr_mgfx0_alloc_start.unk8 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start.unk4); - ptr_mvtx0_alloc_start = allocate_bytes_in_bank(((0x80050000 + (get_num_players() * 4))->unk-7D10 * 2), 4); + ptr_mvtx0_alloc_start = mempAllocBytesInBank(((0x80050000 + (get_num_players() * 4))->unk-7D10 * 2), 4); ptr_mvtx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D10 + ptr_mvtx0_alloc_start); temp_ret = get_num_players(); ptr_mvtx0_alloc_start.unk8 = (s32) ((0x80050000 + (temp_ret * 4))->unk-7D10 + ptr_mvtx0_alloc_start.unk4); @@ -160,7 +155,7 @@ glabel set_vtx_gfx_mem_alloc /* 0F2090 7F0BD560 8C8482E0 */ lw $a0, %lo(D_800482E0)($a0) /* 0F2094 7F0BD564 24050004 */ li $a1, 4 /* 0F2098 7F0BD568 00045840 */ sll $t3, $a0, 1 -/* 0F209C 7F0BD56C 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F209C 7F0BD56C 0C0025C8 */ jal mempAllocBytesInBank /* 0F20A0 7F0BD570 01602025 */ move $a0, $t3 /* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start) /* 0F20A8 7F0BD578 0FC26919 */ jal get_num_players @@ -191,7 +186,7 @@ glabel set_vtx_gfx_mem_alloc /* 0F210C 7F0BD5DC 8C8482F0 */ lw $a0, %lo(D_800482F0)($a0) /* 0F2110 7F0BD5E0 24050004 */ li $a1, 4 /* 0F2114 7F0BD5E4 00045840 */ sll $t3, $a0, 1 -/* 0F2118 7F0BD5E8 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F2118 7F0BD5E8 0C0025C8 */ jal mempAllocBytesInBank /* 0F211C 7F0BD5EC 01602025 */ move $a0, $t3 /* 0F2120 7F0BD5F0 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start) /* 0F2124 7F0BD5F4 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0 diff --git a/src/game/game_debug.c b/src/game/game_debug.c index 390da2f5..7cc5c9e7 100644 --- a/src/game/game_debug.c +++ b/src/game/game_debug.c @@ -14,12 +14,12 @@ void something_game_c_debug_related(void) { void reset_mem_bank_5(void) { sub_GAME_7F0BD234(); - reset_mem_bank_a0(5); + mempResetBank(5); something_mem_bank_a0(5); } void sub_GAME_7F0D1A7C(void) { - memp_related_6(5); + mempNullNextEntryInBank(5); something_mem_bank_a0(5); } diff --git a/src/game/gamefile.c b/src/game/gamefile.c index 3c67ed33..bcd49e04 100644 --- a/src/game/gamefile.c +++ b/src/game/gamefile.c @@ -421,33 +421,13 @@ glabel set_selected_difficulty -#ifdef NONMATCHING + void set_solo_and_ptr_briefing(LEVELID stage) { gamemode = GAMEMODE_SOLO; selected_stage = stage; - briefingpage = pull_and_display_text_for_folder_a0((undefined *)stage); + briefingpage = pull_and_display_text_for_folder_a0(stage); } -#else -GLOBAL_ASM( -.text -glabel set_solo_and_ptr_briefing -/* 05211C 7F01D5EC 3C018003 */ lui $at, %hi(gamemode) -/* 052120 7F01D5F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 052124 7F01D5F4 AC20A8F0 */ sw $zero, %lo(gamemode)($at) -/* 052128 7F01D5F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 05212C 7F01D5FC 3C018003 */ lui $at, %hi(selected_stage) -/* 052130 7F01D600 0FC03730 */ jal pull_and_display_text_for_folder_a0 -/* 052134 7F01D604 AC24A8F4 */ sw $a0, %lo(selected_stage)($at) -/* 052138 7F01D608 8FBF0014 */ lw $ra, 0x14($sp) -/* 05213C 7F01D60C 3C018003 */ lui $at, %hi(briefingpage) -/* 052140 7F01D610 AC22A8F8 */ sw $v0, %lo(briefingpage)($at) -/* 052144 7F01D614 03E00008 */ jr $ra -/* 052148 7F01D618 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - void sub_GAME_7F01D61C(struct save_file *savefile) { @@ -457,8 +437,7 @@ void sub_GAME_7F01D61C(struct save_file *savefile) #ifdef NONMATCHING -void sub_GAME_7F01D644(save_file *eeprom) - +void sub_GAME_7F01D644(struct save_file *eeprom) { selected_folder_num_copy = selected_folder_num; selected_folder_num = 100; diff --git a/src/game/gamefile2.c b/src/game/gamefile2.c index a9ceee60..d8d8b0f6 100644 --- a/src/game/gamefile2.c +++ b/src/game/gamefile2.c @@ -1136,13 +1136,13 @@ glabel check_if_valid_folder_num #ifdef NONMATCHING -void doesFolderHaveStageUnlockedAtDifficulty(void) { +s32 isStageUnlockedAtDifficulty(int foldernum,STAGENUM stageid,DIFFICULTY difficulty) { } #else GLOBAL_ASM( .text -glabel doesFolderHaveStageUnlockedAtDifficulty +glabel isStageUnlockedAtDifficulty /* 052DF0 7F01E2C0 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 052DF4 7F01E2C4 AFBF002C */ sw $ra, 0x2c($sp) /* 052DF8 7F01E2C8 AFB50028 */ sw $s5, 0x28($sp) @@ -1680,7 +1680,7 @@ glabel check_egypt_completed_in_folder /* 053474 7F01E944 02402025 */ move $a0, $s2 .L7F01E948: /* 053478 7F01E948 02202825 */ move $a1, $s1 -/* 05347C 7F01E94C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 05347C 7F01E94C 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 053480 7F01E950 02003025 */ move $a2, $s0 /* 053484 7F01E954 10400003 */ beqz $v0, .L7F01E964 /* 053488 7F01E958 26100001 */ addiu $s0, $s0, 1 @@ -1739,21 +1739,21 @@ glabel check_cradle_completed_in_folder /* 053528 7F01E9F8 AFBF0014 */ sw $ra, 0x14($sp) /* 05352C 7F01E9FC AFA40018 */ sw $a0, 0x18($sp) /* 053530 7F01EA00 24050011 */ li $a1, 17 -/* 053534 7F01EA04 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 053534 7F01EA04 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 053538 7F01EA08 00003025 */ move $a2, $zero /* 05353C 7F01EA0C 384E0003 */ xori $t6, $v0, 3 /* 053540 7F01EA10 2DC20001 */ sltiu $v0, $t6, 1 /* 053544 7F01EA14 1440000D */ bnez $v0, .L7F01EA4C /* 053548 7F01EA18 8FA40018 */ lw $a0, 0x18($sp) /* 05354C 7F01EA1C 24050011 */ li $a1, 17 -/* 053550 7F01EA20 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 053550 7F01EA20 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 053554 7F01EA24 24060001 */ li $a2, 1 /* 053558 7F01EA28 384F0003 */ xori $t7, $v0, 3 /* 05355C 7F01EA2C 2DE20001 */ sltiu $v0, $t7, 1 /* 053560 7F01EA30 14400006 */ bnez $v0, .L7F01EA4C /* 053564 7F01EA34 8FA40018 */ lw $a0, 0x18($sp) /* 053568 7F01EA38 24050011 */ li $a1, 17 -/* 05356C 7F01EA3C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 05356C 7F01EA3C 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 053570 7F01EA40 24060002 */ li $a2, 2 /* 053574 7F01EA44 38580003 */ xori $t8, $v0, 3 /* 053578 7F01EA48 2F020001 */ sltiu $v0, $t8, 1 @@ -1779,14 +1779,14 @@ glabel check_aztec_completed_in_folder_secret_00 /* 053590 7F01EA60 AFBF0014 */ sw $ra, 0x14($sp) /* 053594 7F01EA64 AFA40018 */ sw $a0, 0x18($sp) /* 053598 7F01EA68 24050012 */ li $a1, 18 -/* 05359C 7F01EA6C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 05359C 7F01EA6C 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 0535A0 7F01EA70 24060001 */ li $a2, 1 /* 0535A4 7F01EA74 384E0003 */ xori $t6, $v0, 3 /* 0535A8 7F01EA78 2DC20001 */ sltiu $v0, $t6, 1 /* 0535AC 7F01EA7C 14400006 */ bnez $v0, .L7F01EA98 /* 0535B0 7F01EA80 8FA40018 */ lw $a0, 0x18($sp) /* 0535B4 7F01EA84 24050012 */ li $a1, 18 -/* 0535B8 7F01EA88 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 0535B8 7F01EA88 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 0535BC 7F01EA8C 24060002 */ li $a2, 2 /* 0535C0 7F01EA90 384F0003 */ xori $t7, $v0, 3 /* 0535C4 7F01EA94 2DE20001 */ sltiu $v0, $t7, 1 @@ -1811,7 +1811,7 @@ glabel check_egypt_completed_in_folder_00 /* 0535D8 7F01EAA8 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0535DC 7F01EAAC AFBF0014 */ sw $ra, 0x14($sp) /* 0535E0 7F01EAB0 24050013 */ li $a1, 19 -/* 0535E4 7F01EAB4 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 0535E4 7F01EAB4 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 0535E8 7F01EAB8 24060002 */ li $a2, 2 /* 0535EC 7F01EABC 8FBF0014 */ lw $ra, 0x14($sp) /* 0535F0 7F01EAC0 384E0003 */ xori $t6, $v0, 3 @@ -2178,7 +2178,7 @@ glabel update_eeprom_to_current_solo_watch_settings /* 053A54 7F01EF24 00008025 */ move $s0, $zero /* 053A58 7F01EF28 8FAF0020 */ lw $t7, 0x20($sp) /* 053A5C 7F01EF2C 000271C3 */ sra $t6, $v0, 7 -/* 053A60 7F01EF30 0FC2A460 */ jal sub_GAME_7F0A9180 +/* 053A60 7F01EF30 0FC2A460 */ jal call_sfx_c_700091C8 /* 053A64 7F01EF34 A1EE000A */ sb $t6, 0xa($t7) /* 053A68 7F01EF38 8FB90020 */ lw $t9, 0x20($sp) /* 053A6C 7F01EF3C 0002C1C3 */ sra $t8, $v0, 7 diff --git a/src/game/image.c b/src/game/image.c index 31aa3eec..3ae9cc3e 100644 --- a/src/game/image.c +++ b/src/game/image.c @@ -9534,13 +9534,14 @@ glabel sub_GAME_7F0CBE50 #ifdef NONMATCHING -void sub_GAME_7F0CBEE8(void) { - +void calls_load_image_to_buffer(uint *image,uint *buffer) +{ + load_image_to_buffer(&image,buffer); } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0CBEE8 +glabel calls_load_image_to_buffer /* 100A18 7F0CBEE8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 100A1C 7F0CBEEC AFBF0014 */ sw $ra, 0x14($sp) /* 100A20 7F0CBEF0 AFA4001C */ sw $a0, 0x1c($sp) diff --git a/src/game/image_bank.c b/src/game/image_bank.c index 6c23a945..d5d51b25 100644 --- a/src/game/image_bank.c +++ b/src/game/image_bank.c @@ -13,71 +13,71 @@ s32 dword_CODE_bss_8008D0AC; //8008D0B0; s32 globalbank_rdram_offset; //8008D0B4; -s32 *ptr_explosionDL; +s32 *pGlobalimagetable; //8008D0B8; -s32 *genericimage; +struct sImageTableEntry *genericimage; //8008D0BC -s32 *impactimages; +struct sImageTableEntry *impactimages; //8008D0C0 -s32 *explosion_smokeimages; +struct sImageTableEntry *explosion_smokeimages; //8008D0C4 -s32 *scattered_explosions; +struct sImageTableEntry *scattered_explosions; //8008D0C8 -s32 flareimage1; +struct sImageTableEntry *flareimage1; //8008D0CC -s32 flareimage2; +struct sImageTableEntry *flareimage2; //8008D0D0 -s32 flareimage3; +struct sImageTableEntry *flareimage3; //8008D0D4 -s32 flareimage4; +struct sImageTableEntry *flareimage4; //8008D0D8 -s32 flareimage5; +struct sImageTableEntry *flareimage5; //8008D0DC -s32 ammo9mmimage; +struct sImageTableEntry *ammo9mmimage; //8008D0E0 -s32 rifleammoimage; +struct sImageTableEntry *rifleammoimage; //8008D0E4 -s32 shotgunammoimage; +struct sImageTableEntry *shotgunammoimage; //8008D0E8 -s32 knifeammoimage; +struct sImageTableEntry *knifeammoimage; //8008D0EC -s32 glaunchammoimage; +struct sImageTableEntry *glaunchammoimage; //8008D0F0 -s32 rocketammoimage; +struct sImageTableEntry *rocketammoimage; //8008D0F4 -s32 genericmineammoimage; +struct sImageTableEntry *genericmineammoimage; //8008D0F8 -s32 grenadeammoimage; +struct sImageTableEntry *grenadeammoimage; //8008D0FC -s32 magnumammoimage; +struct sImageTableEntry *magnumammoimage; //8008D100 -s32 goldengunammoimage; +struct sImageTableEntry *goldengunammoimage; //8008D104 -s32 remotemineammoimage; +struct sImageTableEntry *remotemineammoimage; //8008D108 -s32 timedmineammoimage; +struct sImageTableEntry *timedmineammoimage; //8008D10C -s32 proxmineammoimage; +struct sImageTableEntry *proxmineammoimage; //8008D110 -s32 tankammoimage; +struct sImageTableEntry *tankammoimage; //8008D114; -s32 *crosshairimage; +struct sImageTableEntry *crosshairimage; //8008D118 -s32 betacrosshairimage; +struct sImageTableEntry *betacrosshairimage; //8008D11C -s32 glassoverlayimage; +struct sImageTableEntry *glassoverlayimage; //8008D120 -s32 monitorimages; +struct sImageTableEntry *monitorimages; //8008D124 -s32 skywaterimages; +struct sImageTableEntry *skywaterimages; //8008D128 -s32 mainfolderimages; +struct sImageTableEntry *mainfolderimages; //8008D12C -s32 mpradarimages; +struct sImageTableEntry *mpradarimages; //8008D130 -s32 mpcharselimages; +struct sImageTableEntry *mpcharselimages; //8008D134 -s32 mpstageselimages; +struct sImageTableEntry *mpstageselimages; extern u8* _GlobalimagetableSegmentRomStart; @@ -161,9 +161,9 @@ void load_prepare_global_image_bank(void) { s32 i; size = (0x2001400 - 0x2000000); - ptr_explosionDL = ((allocate_bytes_in_bank((size + 0x1000), 4) + 0xfff) & -0x1000); - romCopy(ptr_explosionDL, _GlobalimagetableSegmentRomStart, size); - globalbank_rdram_offset = (ptr_explosionDL + 0xfe000000); + pGlobalimagetable = ((mempAllocBytesInBank((size + 0x1000), 4) + 0xfff) & -0x1000); + romCopy(pGlobalimagetable, _GlobalimagetableSegmentRomStart, size); + globalbank_rdram_offset = (pGlobalimagetable + 0xfe000000); genericimage = (s32) (globalbank_rdram_offset + 0x2000ac8); impactimages = (s32) (globalbank_rdram_offset + 0x2000ad4); explosion_smokeimages = (s32) (globalbank_rdram_offset + 0x2000bc4); @@ -240,10 +240,10 @@ glabel load_prepare_global_image_bank /* 100B04 7F0CBFD4 AFB2001C */ sw $s2, 0x1c($sp) /* 100B08 7F0CBFD8 AFB10018 */ sw $s1, 0x18($sp) /* 100B0C 7F0CBFDC 26041000 */ addiu $a0, $s0, 0x1000 -/* 100B10 7F0CBFE0 0C0025C8 */ jal allocate_bytes_in_bank +/* 100B10 7F0CBFE0 0C0025C8 */ jal mempAllocBytesInBank /* 100B14 7F0CBFE4 24050004 */ li $a1, 4 -/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(ptr_explosionDL) -/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(ptr_explosionDL) # addiu $s1, $s1, -0x2f4c +/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(pGlobalimagetable) +/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(pGlobalimagetable) # addiu $s1, $s1, -0x2f4c /* 100B20 7F0CBFF0 24590FFF */ addiu $t9, $v0, 0xfff /* 100B24 7F0CBFF4 2401F000 */ li $at, -4096 /* 100B28 7F0CBFF8 AE220000 */ sw $v0, ($s1) diff --git a/src/game/initBondDATA.c b/src/game/initBondDATA.c index b5dbc532..5ea39df0 100644 --- a/src/game/initBondDATA.c +++ b/src/game/initBondDATA.c @@ -51,9 +51,9 @@ glabel init_player_BONDdata_stats /* 039C34 7F005104 8DE1FFFC */ lw $at, -4($t7) /* 039C38 7F005108 15E8FFF8 */ bne $t7, $t0, .L7F0050EC /* 039C3C 7F00510C ADC1FFFC */ sw $at, -4($t6) -/* 039C40 7F005110 3C048003 */ lui $a0, %hi(size_right_item_buffer) -/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_right_item_buffer)($a0) -/* 039C48 7F005118 0C0025C8 */ jal allocate_bytes_in_bank +/* 039C40 7F005110 3C048003 */ lui $a0, %hi(size_item_buffer) +/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_item_buffer)($a0) +/* 039C48 7F005118 0C0025C8 */ jal mempAllocBytesInBank /* 039C4C 7F00511C 24050004 */ li $a1, 4 /* 039C50 7F005120 3C108008 */ lui $s0, %hi(pPlayer) /* 039C54 7F005124 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50 @@ -62,9 +62,9 @@ glabel init_player_BONDdata_stats /* 039C60 7F005130 AD220808 */ sw $v0, 0x808($t1) /* 039C64 7F005134 24010001 */ li $at, 1 /* 039C68 7F005138 14410006 */ bne $v0, $at, .L7F005154 -/* 039C6C 7F00513C 3C048003 */ lui $a0, %hi(size_left_item_buffer) -/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_left_item_buffer)($a0) -/* 039C74 7F005144 0C0025C8 */ jal allocate_bytes_in_bank +/* 039C6C 7F00513C 3C048003 */ lui $a0, %hi(size_item_buffer+0x4) +/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_item_buffer+0x4)($a0) +/* 039C74 7F005144 0C0025C8 */ jal mempAllocBytesInBank /* 039C78 7F005148 24050004 */ li $a1, 4 /* 039C7C 7F00514C 8E0A0000 */ lw $t2, ($s0) /* 039C80 7F005150 AD42080C */ sw $v0, 0x80c($t2) @@ -89,10 +89,10 @@ glabel init_player_BONDdata_stats /* 039CC8 7F005198 AD052A48 */ sw $a1, 0x2a48($t0) /* 039CCC 7F00519C 8E0F0000 */ lw $t7, ($s0) /* 039CD0 7F0051A0 00604025 */ move $t0, $v1 -/* 039CD4 7F0051A4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) +/* 039CD4 7F0051A4 3C038008 */ lui $v1, %hi(pPlayersPerm) /* 039CD8 7F0051A8 ADE02A50 */ sw $zero, 0x2a50($t7) /* 039CDC 7F0051AC 8E0E0000 */ lw $t6, ($s0) -/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # addiu $v1, $v1, -0x5f4c +/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c /* 039CE4 7F0051B4 ADC02A54 */ sw $zero, 0x2a54($t6) /* 039CE8 7F0051B8 8E090000 */ lw $t1, ($s0) .L7F0051BC: diff --git a/src/game/initBondDATAdefaults.c b/src/game/initBondDATAdefaults.c index b22f7949..f19baa46 100644 --- a/src/game/initBondDATAdefaults.c +++ b/src/game/initBondDATAdefaults.c @@ -288,7 +288,7 @@ glabel sets_a_bunch_of_BONDdata_values_to_default /* 03B1B8 7F006688 0FC1B5AC */ jal subcalcpos /* 03B1BC 7F00668C 24840598 */ addiu $a0, $a0, 0x598 /* 03B1C0 7F006690 27B30050 */ addiu $s3, $sp, 0x50 -/* 03B1C4 7F006694 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 03B1C4 7F006694 0FC15FF4 */ jal reset_array_of_0x10_floats /* 03B1C8 7F006698 02602025 */ move $a0, $s3 /* 03B1CC 7F00669C 8E300000 */ lw $s0, ($s1) /* 03B1D0 7F0066A0 AFB30090 */ sw $s3, 0x90($sp) @@ -581,7 +581,7 @@ glabel sets_a_bunch_of_BONDdata_values_to_default /* 03B214 7F0066A4 0FC1B728 */ jal subcalcpos /* 03B218 7F0066A8 24840598 */ addiu $a0, $a0, 0x598 /* 03B21C 7F0066AC 27B30050 */ addiu $s3, $sp, 0x50 -/* 03B220 7F0066B0 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 03B220 7F0066B0 0FC1613C */ jal reset_array_of_0x10_floats /* 03B224 7F0066B4 02602025 */ move $a0, $s3 /* 03B228 7F0066B8 8E300000 */ lw $s0, ($s1) /* 03B22C 7F0066BC AFB30090 */ sw $s3, 0x90($sp) diff --git a/src/game/initanitable.c b/src/game/initanitable.c index a3f08db3..6b9ccbf3 100644 --- a/src/game/initanitable.c +++ b/src/game/initanitable.c @@ -107,7 +107,7 @@ void alloc_load_expand_ani_table(void) { osCreateMesgQueue(&animMsgQ, &animMesg, 8); sub_GAME_7F0009E0(&D_80029D60, &animMsgQ, &dword_CODE_bss_80069458); temp_a2 = (&0x0000E7E0 - 0); - temp_ret = allocate_bytes_in_bank(temp_a2, 6, temp_a2); + temp_ret = mempAllocBytesInBank(temp_a2, 6, temp_a2); ptr_animation_table = temp_ret; romCopy(temp_ret, &_animation_dataSegmentRomStart, sp18); expand_ani_table_entries(&animation_table_ptrs1); @@ -139,7 +139,7 @@ glabel alloc_load_expand_ani_table /* 035628 7F000AF8 01CF3023 */ subu $a2, $t6, $t7 /* 03562C 7F000AFC 00C02025 */ move $a0, $a2 /* 035630 7F000B00 AFA60018 */ sw $a2, 0x18($sp) -/* 035634 7F000B04 0C0025C8 */ jal allocate_bytes_in_bank +/* 035634 7F000B04 0C0025C8 */ jal mempAllocBytesInBank /* 035638 7F000B08 24050006 */ li $a1, 6 /* 03563C 7F000B0C 3C038007 */ lui $v1, %hi(ptr_animation_table) /* 035640 7F000B10 24639538 */ addiu $v1, %lo(ptr_animation_table) # addiu $v1, $v1, -0x6ac8 diff --git a/src/game/initcameraandthrown.c b/src/game/initcameraandthrown.c index c83b676f..21705ace 100644 --- a/src/game/initcameraandthrown.c +++ b/src/game/initcameraandthrown.c @@ -214,7 +214,7 @@ glabel load_camera_intro_type_values /* 03A388 7F005858 1441000B */ bne $v0, $at, .L7F005888 /* 03A38C 7F00585C 3C040004 */ lui $a0, (0x00046EA0 >> 16) # lui $a0, 4 /* 03A390 7F005860 34846EA0 */ ori $a0, (0x00046EA0 & 0xFFFF) # ori $a0, $a0, 0x6ea0 -/* 03A394 7F005864 0C0025C8 */ jal allocate_bytes_in_bank +/* 03A394 7F005864 0C0025C8 */ jal mempAllocBytesInBank /* 03A398 7F005868 24050004 */ li $a1, 4 /* 03A39C 7F00586C 244A003F */ addiu $t2, $v0, 0x3f /* 03A3A0 7F005870 2401FFC0 */ li $at, -64 @@ -986,7 +986,7 @@ glabel load_camera_intro_type_values /* 03A3EC 7F00587C 1441000B */ bne $v0, $at, .L7F0058AC /* 03A3F0 7F005880 3C040004 */ lui $a0, (0x00046EA0 >> 16) # lui $a0, 4 /* 03A3F4 7F005884 34846EA0 */ ori $a0, (0x00046EA0 & 0xFFFF) # ori $a0, $a0, 0x6ea0 -/* 03A3F8 7F005888 0C0025CC */ jal allocate_bytes_in_bank +/* 03A3F8 7F005888 0C0025CC */ jal mempAllocBytesInBank /* 03A3FC 7F00588C 24050004 */ li $a1, 4 /* 03A400 7F005890 244A003F */ addiu $t2, $v0, 0x3f /* 03A404 7F005894 2401FFC0 */ li $at, -64 diff --git a/src/game/initexplosioncasing.c b/src/game/initexplosioncasing.c index 5bf6d534..e1d43561 100644 --- a/src/game/initexplosioncasing.c +++ b/src/game/initexplosioncasing.c @@ -27,7 +27,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers /* 03B8F8 7F006DC8 3C018004 */ lui $at, %hi(D_80040178) /* 03B8FC 7F006DCC 24041740 */ li $a0, 5952 /* 03B900 7F006DD0 24050004 */ li $a1, 4 -/* 03B904 7F006DD4 0C0025C8 */ jal allocate_bytes_in_bank +/* 03B904 7F006DD4 0C0025C8 */ jal mempAllocBytesInBank /* 03B908 7F006DD8 E4240178 */ swc1 $f4, %lo(D_80040178)($at) /* 03B90C 7F006DDC 3C038008 */ lui $v1, %hi(ptr_explosion_buf) /* 03B910 7F006DE0 2463A144 */ addiu $v1, %lo(ptr_explosion_buf) # addiu $v1, $v1, -0x5ebc @@ -76,7 +76,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers /* 03B9B4 7F006E84 1420FFDB */ bnez $at, .L7F006DF4 /* 03B9B8 7F006E88 24C603E0 */ addiu $a2, $a2, 0x3e0 /* 03B9BC 7F006E8C 24041FE0 */ li $a0, 8160 -/* 03B9C0 7F006E90 0C0025C8 */ jal allocate_bytes_in_bank +/* 03B9C0 7F006E90 0C0025C8 */ jal mempAllocBytesInBank /* 03B9C4 7F006E94 24050004 */ li $a1, 4 /* 03B9C8 7F006E98 3C038008 */ lui $v1, %hi(ptr_smoke_buf) /* 03B9CC 7F006E9C 2463A140 */ addiu $v1, %lo(ptr_smoke_buf) # addiu $v1, $v1, -0x5ec0 @@ -166,7 +166,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers /* 03BB14 7F006FE4 24010001 */ li $at, 1 /* 03BB18 7F006FE8 14410017 */ bne $v0, $at, .L7F007048 /* 03BB1C 7F006FEC 240406E0 */ li $a0, 1760 -/* 03BB20 7F006FF0 0C0025C8 */ jal allocate_bytes_in_bank +/* 03BB20 7F006FF0 0C0025C8 */ jal mempAllocBytesInBank /* 03BB24 7F006FF4 24050004 */ li $a1, 4 /* 03BB28 7F006FF8 3C058008 */ lui $a1, %hi(ptr_scorch_buf) /* 03BB2C 7F006FFC 24A5A150 */ addiu $a1, %lo(ptr_scorch_buf) # addiu $a1, $a1, -0x5eb0 @@ -191,7 +191,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers /* 03BB74 7F007044 A5A60108 */ sh $a2, 0x108($t5) .L7F007048: /* 03BB78 7F007048 24041F40 */ li $a0, 8000 -/* 03BB7C 7F00704C 0C0025C8 */ jal allocate_bytes_in_bank +/* 03BB7C 7F00704C 0C0025C8 */ jal mempAllocBytesInBank /* 03BB80 7F007050 24050004 */ li $a1, 4 /* 03BB84 7F007054 3C058008 */ lui $a1, %hi(ptr_bullet_impact_buf) /* 03BB88 7F007058 24A5A154 */ addiu $a1, %lo(ptr_bullet_impact_buf) # addiu $a1, $a1, -0x5eac @@ -249,7 +249,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers /* 03BC44 7F007114 000A50C0 */ sll $t2, $t2, 3 /* 03BC48 7F007118 2544000F */ addiu $a0, $t2, 0xf /* 03BC4C 7F00711C 00815824 */ and $t3, $a0, $at -/* 03BC50 7F007120 0C0025C8 */ jal allocate_bytes_in_bank +/* 03BC50 7F007120 0C0025C8 */ jal mempAllocBytesInBank /* 03BC54 7F007124 01602025 */ move $a0, $t3 /* 03BC58 7F007128 3C068008 */ lui $a2, %hi(max_casings) /* 03BC5C 7F00712C 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8 diff --git a/src/game/initguards.c b/src/game/initguards.c index c1f16dde..03216d62 100644 --- a/src/game/initguards.c +++ b/src/game/initguards.c @@ -39,7 +39,7 @@ glabel alloc_init_GUARDdata_entries /* 035A14 7F000EE4 3498000F */ ori $t8, $a0, 0xf /* 035A18 7F000EE8 ACCE0000 */ sw $t6, ($a2) /* 035A1C 7F000EEC 3B04000F */ xori $a0, $t8, 0xf -/* 035A20 7F000EF0 0C0025C8 */ jal allocate_bytes_in_bank +/* 035A20 7F000EF0 0C0025C8 */ jal mempAllocBytesInBank /* 035A24 7F000EF4 24050004 */ li $a1, 4 /* 035A28 7F000EF8 3C068003 */ lui $a2, %hi(num_guards) /* 035A2C 7F000EFC 24C6CC68 */ addiu $a2, %lo(num_guards) # addiu $a2, $a2, -0x3398 diff --git a/src/game/initintromatrices.c b/src/game/initintromatrices.c index ef9565a5..f755859d 100644 --- a/src/game/initintromatrices.c +++ b/src/game/initintromatrices.c @@ -3,13 +3,13 @@ void alloc_intro_matrices(void) { D_8002A7D0 = 0; - matrix_buffer_rarelogo_0 = allocate_bytes_in_bank(0x80, 4); - matrix_buffer_gunbarrel_0 = allocate_bytes_in_bank(0x40, 4); - matrix_buffer_rarelogo_1 = allocate_bytes_in_bank(0x80, 4); - matrix_buffer_rarelogo_2 = allocate_bytes_in_bank(0x80, 4); - matrix_buffer_gunbarrel_1 = allocate_bytes_in_bank(0x80, 4); - matrix_buffer_intro_backdrop = allocate_bytes_in_bank(0x80, 4); - matrix_buffer_intro_bond = allocate_bytes_in_bank(0x80, 4); + matrix_buffer_rarelogo_0 = mempAllocBytesInBank(0x80, 4); + matrix_buffer_gunbarrel_0 = mempAllocBytesInBank(0x40, 4); + matrix_buffer_rarelogo_1 = mempAllocBytesInBank(0x80, 4); + matrix_buffer_rarelogo_2 = mempAllocBytesInBank(0x80, 4); + matrix_buffer_gunbarrel_1 = mempAllocBytesInBank(0x80, 4); + matrix_buffer_intro_backdrop = mempAllocBytesInBank(0x80, 4); + matrix_buffer_intro_bond = mempAllocBytesInBank(0x80, 4); } diff --git a/src/game/inititemslots.c b/src/game/inititemslots.c index 0dfdaad2..7bbd555d 100644 --- a/src/game/inititemslots.c +++ b/src/game/inititemslots.c @@ -48,7 +48,7 @@ glabel sub_GAME_7F0061F0 void alloc_additional_item_slots(s32 arg0) { // Node 0 pPlayer->unk11E8 = (s32) (arg0 + 0x1e); - pPlayer->unk11E4 = allocate_bytes_in_bank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4); + pPlayer->unk11E4 = mempAllocBytesInBank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4); reinit_BONDdata_inventory(); } @@ -71,7 +71,7 @@ glabel alloc_additional_item_slots /* 03ADBC 7F00628C 0019C880 */ sll $t9, $t9, 2 /* 03ADC0 7F006290 2724000F */ addiu $a0, $t9, 0xf /* 03ADC4 7F006294 3488000F */ ori $t0, $a0, 0xf -/* 03ADC8 7F006298 0C0025C8 */ jal allocate_bytes_in_bank +/* 03ADC8 7F006298 0C0025C8 */ jal mempAllocBytesInBank /* 03ADCC 7F00629C 3904000F */ xori $a0, $t0, 0xf /* 03ADD0 7F0062A0 3C0A8008 */ lui $t2, %hi(pPlayer) /* 03ADD4 7F0062A4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2) diff --git a/src/game/initmenus.c b/src/game/initmenus.c index d4e720c2..4f18d3c6 100644 --- a/src/game/initmenus.c +++ b/src/game/initmenus.c @@ -54,13 +54,13 @@ glabel init_menus_or_reset /* 0358F4 7F000DC4 34848000 */ ori $a0, (0x00078000 & 0xFFFF) # ori $a0, $a0, 0x8000 /* 0358F8 7F000DC8 AC590000 */ sw $t9, ($v0) .L7F000DCC: -/* 0358FC 7F000DCC 0C0025C8 */ jal allocate_bytes_in_bank +/* 0358FC 7F000DCC 0C0025C8 */ jal mempAllocBytesInBank /* 035900 7F000DD0 24050004 */ li $a1, 4 /* 035904 7F000DD4 3C018003 */ lui $at, %hi(ptr_logo_and_walletbond_DL) /* 035908 7F000DD8 3C040004 */ lui $a0, (0x0004B040 >> 16) # lui $a0, 4 /* 03590C 7F000DDC AC22A950 */ sw $v0, %lo(ptr_logo_and_walletbond_DL)($at) /* 035910 7F000DE0 3484B040 */ ori $a0, (0x0004B040 & 0xFFFF) # ori $a0, $a0, 0xb040 -/* 035914 7F000DE4 0C0025C8 */ jal allocate_bytes_in_bank +/* 035914 7F000DE4 0C0025C8 */ jal mempAllocBytesInBank /* 035918 7F000DE8 24050004 */ li $a1, 4 /* 03591C 7F000DEC 3C038003 */ lui $v1, %hi(ptr_menu_videobuffer) /* 035920 7F000DF0 2449003F */ addiu $t1, $v0, 0x3f diff --git a/src/game/initmttex.c b/src/game/initmttex.c index 387d73f9..186e6630 100644 --- a/src/game/initmttex.c +++ b/src/game/initmttex.c @@ -38,7 +38,7 @@ glabel set_mt_tex_alloc .L7F007370: /* 03BEA0 7F007370 3C048005 */ lui $a0, %hi(bytes) /* 03BEA4 7F007374 8C849170 */ lw $a0, %lo(bytes)($a0) -/* 03BEA8 7F007378 0C0025C8 */ jal allocate_bytes_in_bank +/* 03BEA8 7F007378 0C0025C8 */ jal mempAllocBytesInBank /* 03BEAC 7F00737C 24050004 */ li $a1, 4 /* 03BEB0 7F007380 3C048009 */ lui $a0, %hi(ptr_texture_alloc_start) /* 03BEB4 7F007384 3C068005 */ lui $a2, %hi(bytes) diff --git a/src/game/initobjects.c b/src/game/initobjects.c index 09f6b949..3df32f2d 100644 --- a/src/game/initobjects.c +++ b/src/game/initobjects.c @@ -119,7 +119,7 @@ glabel alloc_lookup_buffers /* 036100 7F0015D0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 036104 7F0015D4 AFBF0014 */ sw $ra, 0x14($sp) /* 036108 7F0015D8 24040400 */ li $a0, 1024 -/* 03610C 7F0015DC 0C0025C8 */ jal allocate_bytes_in_bank +/* 03610C 7F0015DC 0C0025C8 */ jal mempAllocBytesInBank /* 036110 7F0015E0 24050004 */ li $a1, 4 /* 036114 7F0015E4 3C068004 */ lui $a2, %hi(MaxNumRooms) /* 036118 7F0015E8 3C018007 */ lui $at, %hi(ptr_list_object_lookup_indices) @@ -130,13 +130,13 @@ glabel alloc_lookup_buffers /* 03612C 7F0015FC 00047080 */ sll $t6, $a0, 2 /* 036130 7F001600 25C4000F */ addiu $a0, $t6, 0xf /* 036134 7F001604 348F000F */ ori $t7, $a0, 0xf -/* 036138 7F001608 0C0025C8 */ jal allocate_bytes_in_bank +/* 036138 7F001608 0C0025C8 */ jal mempAllocBytesInBank /* 03613C 7F00160C 39E4000F */ xori $a0, $t7, 0xf /* 036140 7F001610 3C078007 */ lui $a3, %hi(ptr_room_lookup_buffer_maybe) /* 036144 7F001614 24E71618 */ addiu $a3, %lo(ptr_room_lookup_buffer_maybe) # addiu $a3, $a3, 0x1618 /* 036148 7F001618 ACE20000 */ sw $v0, ($a3) /* 03614C 7F00161C 24042000 */ li $a0, 8192 -/* 036150 7F001620 0C0025C8 */ jal allocate_bytes_in_bank +/* 036150 7F001620 0C0025C8 */ jal mempAllocBytesInBank /* 036154 7F001624 24050004 */ li $a1, 4 /* 036158 7F001628 3C048007 */ lui $a0, %hi(dword_CODE_bss_8007161C) /* 03615C 7F00162C 2484161C */ addiu $a0, %lo(dword_CODE_bss_8007161C) # addiu $a0, $a0, 0x161c @@ -233,7 +233,7 @@ glabel reinit_between_menus /* 036284 7F001754 AFBF0014 */ sw $ra, 0x14($sp) /* 036288 7F001758 0FC00656 */ jal write_monitor_ani_control_blocks /* 03628C 7F00175C 00000000 */ nop -/* 036290 7F001760 0FC006C2 */ jal initialize_80071E00_to_80071E78 +/* 036290 7F001760 0FC006C2 */ jal initialize_temp_mine_table /* 036294 7F001764 00000000 */ nop /* 036298 7F001768 3C018003 */ lui $at, %hi(alarm_timer) /* 03629C 7F00176C AC200AC0 */ sw $zero, %lo(alarm_timer)($at) @@ -253,8 +253,8 @@ glabel reinit_between_menus /* 0362D4 7F0017A4 AC200ADC */ sw $zero, %lo(D_80030ADC)($at) /* 0362D8 7F0017A8 3C018003 */ lui $at, %hi(D_80030AE0) /* 0362DC 7F0017AC E4200AE0 */ swc1 $f0, %lo(D_80030AE0)($at) -/* 0362E0 7F0017B0 3C018003 */ lui $at, %hi(D_80030AE4) -/* 0362E4 7F0017B4 AC200AE4 */ sw $zero, %lo(D_80030AE4)($at) +/* 0362E0 7F0017B0 3C018003 */ lui $at, %hi(ptr_gas_sound) +/* 0362E4 7F0017B4 AC200AE4 */ sw $zero, %lo(ptr_gas_sound)($at) /* 0362E8 7F0017B8 24050001 */ li $a1, 1 /* 0362EC 7F0017BC 3C018003 */ lui $at, %hi(clock_drawn_flag) /* 0362F0 7F0017C0 AC250AE8 */ sw $a1, %lo(clock_drawn_flag)($at) @@ -526,21 +526,21 @@ glabel write_monitor_ani_control_blocks #endif #ifdef NONMATCHING -void initialize_80071E00_to_80071E78(void) { +void initialize_temp_mine_table(void) { } #else GLOBAL_ASM( .text -glabel initialize_80071E00_to_80071E78 -/* 036638 7F001B08 3C018007 */ lui $at, %hi(dword_CODE_bss_80071E00) -/* 03663C 7F001B0C AC201E00 */ sw $zero, %lo(dword_CODE_bss_80071E00)($at) -/* 036640 7F001B10 3C018007 */ lui $at, %hi(dword_CODE_bss_80071E04) -/* 036644 7F001B14 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071E08) +glabel initialize_temp_mine_table +/* 036638 7F001B08 3C018007 */ lui $at, %hi(temp_mine_table) +/* 03663C 7F001B0C AC201E00 */ sw $zero, %lo(temp_mine_table)($at) +/* 036640 7F001B10 3C018007 */ lui $at, %hi(temp_mine_table+0x4) +/* 036644 7F001B14 3C038007 */ lui $v1, %hi(temp_mine_table+0x8) /* 036648 7F001B18 3C028007 */ lui $v0, %hi(gas_damage_flag) /* 03664C 7F001B1C 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78 -/* 036650 7F001B20 24631E08 */ addiu $v1, %lo(dword_CODE_bss_80071E08) # addiu $v1, $v1, 0x1e08 -/* 036654 7F001B24 AC201E04 */ sw $zero, %lo(dword_CODE_bss_80071E04)($at) +/* 036650 7F001B20 24631E08 */ addiu $v1, %lo(temp_mine_table+0x8) # addiu $v1, $v1, 0x1e08 +/* 036654 7F001B24 AC201E04 */ sw $zero, %lo(temp_mine_table+0x4)($at) .L7F001B28: /* 036658 7F001B28 24630010 */ addiu $v1, $v1, 0x10 /* 03665C 7F001B2C AC60FFF4 */ sw $zero, -0xc($v1) diff --git a/src/game/initunk_005520.c b/src/game/initunk_005520.c index 9253034b..6cbc8e6e 100644 --- a/src/game/initunk_005520.c +++ b/src/game/initunk_005520.c @@ -40,7 +40,7 @@ glabel sub_GAME_7F005540 /* 03A09C 7F00556C AFB00014 */ sw $s0, 0x14($sp) /* 03A0A0 7F005570 AE8E0000 */ sw $t6, ($s4) /* 03A0A4 7F005574 000E2140 */ sll $a0, $t6, 5 -/* 03A0A8 7F005578 0C0025C8 */ jal allocate_bytes_in_bank +/* 03A0A8 7F005578 0C0025C8 */ jal mempAllocBytesInBank /* 03A0AC 7F00557C 24050004 */ li $a1, 4 /* 03A0B0 7F005580 8E980000 */ lw $t8, ($s4) /* 03A0B4 7F005584 3C128008 */ lui $s2, %hi(ptr_allocation_1) @@ -62,7 +62,7 @@ glabel sub_GAME_7F005540 /* 03A0F0 7F0055C0 10000009 */ b .L7F0055E8 /* 03A0F4 7F0055C4 AD400010 */ sw $zero, 0x10($t2) .L7F0055C8: -/* 03A0F8 7F0055C8 0C0025C8 */ jal allocate_bytes_in_bank +/* 03A0F8 7F0055C8 0C0025C8 */ jal mempAllocBytesInBank /* 03A0FC 7F0055CC 24050004 */ li $a1, 4 /* 03A100 7F0055D0 8E4B0000 */ lw $t3, ($s2) /* 03A104 7F0055D4 01706021 */ addu $t4, $t3, $s0 @@ -115,7 +115,7 @@ glabel sub_GAME_7F005624 /* 03A188 7F005658 AFB00014 */ sw $s0, 0x14($sp) /* 03A18C 7F00565C AE8E0000 */ sw $t6, ($s4) /* 03A190 7F005660 000F2180 */ sll $a0, $t7, 6 -/* 03A194 7F005664 0C0025C8 */ jal allocate_bytes_in_bank +/* 03A194 7F005664 0C0025C8 */ jal mempAllocBytesInBank /* 03A198 7F005668 24050004 */ li $a1, 4 /* 03A19C 7F00566C 8E980000 */ lw $t8, ($s4) /* 03A1A0 7F005670 3C128008 */ lui $s2, %hi(ptr_allocation_0) @@ -137,7 +137,7 @@ glabel sub_GAME_7F005624 /* 03A1DC 7F0056AC 10000009 */ b .L7F0056D4 /* 03A1E0 7F0056B0 AD400010 */ sw $zero, 0x10($t2) .L7F0056B4: -/* 03A1E4 7F0056B4 0C0025C8 */ jal allocate_bytes_in_bank +/* 03A1E4 7F0056B4 0C0025C8 */ jal mempAllocBytesInBank /* 03A1E8 7F0056B8 24050004 */ li $a1, 4 /* 03A1EC 7F0056BC 8E4B0000 */ lw $t3, ($s2) /* 03A1F0 7F0056C0 01706021 */ addu $t4, $t3, $s0 diff --git a/src/game/initunk_007180.c b/src/game/initunk_007180.c index ec98aa32..a4a59924 100644 --- a/src/game/initunk_007180.c +++ b/src/game/initunk_007180.c @@ -54,7 +54,7 @@ glabel sub_GAME_7F007180 /* 03BD44 7F007214 000840C0 */ sll $t0, $t0, 3 /* 03BD48 7F007218 2504000F */ addiu $a0, $t0, 0xf /* 03BD4C 7F00721C 00814824 */ and $t1, $a0, $at -/* 03BD50 7F007220 0C0025C8 */ jal allocate_bytes_in_bank +/* 03BD50 7F007220 0C0025C8 */ jal mempAllocBytesInBank /* 03BD54 7F007224 01202025 */ move $a0, $t1 /* 03BD58 7F007228 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A160) /* 03BD5C 7F00722C 24C6A160 */ addiu $a2, %lo(dword_CODE_bss_8007A160) # addiu $a2, $a2, -0x5ea0 diff --git a/src/game/intro_logos.c b/src/game/intro_logos.c index aafd76b7..0421042c 100644 --- a/src/game/intro_logos.c +++ b/src/game/intro_logos.c @@ -1713,7 +1713,7 @@ glabel sub_GAME_7F008E80 /* 03DB40 7F009010 8E040064 */ lw $a0, 0x64($s0) /* 03DB44 7F009014 0FC1D929 */ jal load_object_fill_header /* 03DB48 7F009018 8E050068 */ lw $a1, 0x68($s0) -/* 03DB4C 7F00901C 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 03DB4C 7F00901C 0FC2F462 */ jal get_pc_buffer_remaining_value /* 03DB50 7F009020 8E040068 */ lw $a0, 0x68($s0) /* 03DB54 7F009024 2443003F */ addiu $v1, $v0, 0x3f /* 03DB58 7F009028 8FA60060 */ lw $a2, 0x60($sp) @@ -1729,7 +1729,7 @@ glabel sub_GAME_7F008E80 /* 03DB80 7F009050 8E040618 */ lw $a0, 0x618($s0) /* 03DB84 7F009054 0FC1D929 */ jal load_object_fill_header /* 03DB88 7F009058 8E05061C */ lw $a1, 0x61c($s0) -/* 03DB8C 7F00905C 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 03DB8C 7F00905C 0FC2F462 */ jal get_pc_buffer_remaining_value /* 03DB90 7F009060 8E04061C */ lw $a0, 0x61c($s0) /* 03DB94 7F009064 2443003F */ addiu $v1, $v0, 0x3f /* 03DB98 7F009068 8FAC0064 */ lw $t4, 0x64($sp) @@ -1801,7 +1801,7 @@ glabel sub_GAME_7F008E80 /* 03DC98 7F009168 8FA60060 */ lw $a2, 0x60($sp) /* 03DC9C 7F00916C 0FC1D929 */ jal load_object_fill_header /* 03DCA0 7F009170 8FA70064 */ lw $a3, 0x64($sp) -/* 03DCA4 7F009174 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 03DCA4 7F009174 0FC2F462 */ jal get_pc_buffer_remaining_value /* 03DCA8 7F009178 8E0408F8 */ lw $a0, 0x8f8($s0) /* 03DCAC 7F00917C 2443003F */ addiu $v1, $v0, 0x3f /* 03DCB0 7F009180 8FAD0064 */ lw $t5, 0x64($sp) diff --git a/src/game/loadobjectmodel.c b/src/game/loadobjectmodel.c index 44891239..11fedc3e 100644 --- a/src/game/loadobjectmodel.c +++ b/src/game/loadobjectmodel.c @@ -1,4 +1,7 @@ #include "ultra64.h" +#include "bondtypes.h" +#include "game/chrai.h" +#include "game/chrobjdata.h" #ifdef NONMATCHING void sub_GAME_7F056850(void) { @@ -6,25 +9,6 @@ void sub_GAME_7F056850(void) { } #else GLOBAL_ASM( -.late_rodata -/*D:80053490*/ -glabel jpt_object_setup_size -.word object_size_type_01 -.word object_size_type_02 -.word object_size_type_03 -.word object_size_type_04 -.word object_size_type_05 -.word object_size_type_06 -.word object_size_type_07 -.word object_size_type_08 -.word object_size_type_09 -.word object_size_type_0A -.word object_size_type_0B -.word object_size_type_0C -.word object_size_type_0D -/*.word object_size_type_0E*/ -/*.word object_size_type_default*/ -/*.word object_size_type_default*/ .text glabel sub_GAME_7F056850 /* 08B380 7F056850 27BDFFD0 */ addiu $sp, $sp, -0x30 @@ -75,261 +59,103 @@ glabel sub_GAME_7F056850 +// - -#ifdef NONMATCHING -s16 get_size_of_setup_object_type(void) { - +u32 get_size_of_setup_object_type(u8 * object) +{ + switch(object[3]) { + case 9: + return 7; + case 1: + return 0x40; + case 2: + return 2; + case 3: + return 0x20; + case 0x2a: + return 0x20; + case 0x2f: + return 0x25; + case 0x2b: + return 0x20; + case 0x24: + return 0x20; + case 4: + return 0x21; + case 5: + return 0x20; + case 6: + return 0x3b; + case 7: + return 0x21; + case 8: + return 0x22; + case 10: + return 0x40; + case 0xb: + return 0x95; + case 0xc: + return 0x20; + case 0xd: + return 0x36; + case 0xe: + return 3; + case 0x11: + return 0x20; + case 0x12: + return 3; + case 0x13: + return 4; + case 0x2c: + return 5; + case 0x14: + return 0x2d; + case 0x15: + return 0x22; + case 0x16: + return 4; + case 0x25: + return 10; + case 0x17: + return 4; + case 0x18: + return 1; + case 0x19: + return 2; + case 0x1a: + return 2; + case 0x1b: + return 2; + case 0x1c: + return 2; + case 0x1d: + return 2; + case 0x1e: + return 4; + case 0x1f: + return 1; + case 0x20: + return 4; + case 0x21: + return 5; + case 0x22: + return 1; + case 0x23: + return 4; + case 0x26: + return 4; + case 0x27: + return 0x2c; + case 0x28: + return 0x2d; + case 0x2d: + return 0x38; + case 0x2e: + return 7; + default: + return 1; + } } -#else -GLOBAL_ASM( -.late_rodata -/*D:80053490*/ -/*glabel jpt_object_setup_size*/ -/*.word object_size_type_01*/ -/*.word object_size_type_02*/ -/*.word object_size_type_03*/ -/*.word object_size_type_04*/ -/*.word object_size_type_05*/ -/*.word object_size_type_06*/ -/*.word object_size_type_07*/ -/*.word object_size_type_08*/ -/*.word object_size_type_09*/ -/*.word object_size_type_0A*/ -/*.word object_size_type_0B*/ -/*.word object_size_type_0C*/ -/*.word object_size_type_0D*/ -.word object_size_type_0E -.word object_size_type_default -.word object_size_type_default -.word object_size_type_11 -.word object_size_type_12 -.word object_size_type_13 -.word object_size_type_14 -.word object_size_type_15 -.word object_size_type_16 -.word object_size_type_17 -.word object_size_type_18 -.word object_size_type_19 -.word object_size_type_1A -.word object_size_type_1B -.word object_size_type_1C -.word object_size_type_1D -.word object_size_type_1E -.word object_size_type_1F -.word object_size_type_20 -.word object_size_type_21 -.word object_size_type_22 -.word object_size_type_23 -.word object_size_type_24 -.word object_size_type_25 -.word object_size_type_26 -.word object_size_type_27 -.word object_size_type_28 -.word object_size_type_default -.word object_size_type_2A -.word object_size_type_2B -.word object_size_type_2C -.word object_size_type_2D -.word object_size_type_2E -/*.word object_size_type_2F*/ - -.text -glabel get_size_of_setup_object_type -/* 08B424 7F0568F4 908E0003 */ lbu $t6, 3($a0) -/* 08B428 7F0568F8 25CFFFFF */ addiu $t7, $t6, -1 -/* 08B42C 7F0568FC 2DE1002F */ sltiu $at, $t7, 0x2f -/* 08B430 7F056900 1020005E */ beqz $at, .L7F056A7C -/* 08B434 7F056904 000F7880 */ sll $t7, $t7, 2 -/* 08B438 7F056908 3C018005 */ lui $at, %hi(jpt_object_setup_size) -/* 08B43C 7F05690C 002F0821 */ addu $at, $at, $t7 -/* 08B440 7F056910 8C2F3490 */ lw $t7, %lo(jpt_object_setup_size)($at) -/* 08B444 7F056914 01E00008 */ jr $t7 -/* 08B448 7F056918 00000000 */ nop -object_size_type_09: -/* 08B44C 7F05691C 03E00008 */ jr $ra -/* 08B450 7F056920 24020007 */ li $v0, 7 - -object_size_type_01: -/* 08B454 7F056924 03E00008 */ jr $ra -/* 08B458 7F056928 24020040 */ li $v0, 64 - -object_size_type_02: -/* 08B45C 7F05692C 03E00008 */ jr $ra -/* 08B460 7F056930 24020002 */ li $v0, 2 - -object_size_type_03: -/* 08B464 7F056934 03E00008 */ jr $ra -/* 08B468 7F056938 24020020 */ li $v0, 32 - -object_size_type_2A: -/* 08B46C 7F05693C 03E00008 */ jr $ra -/* 08B470 7F056940 24020020 */ li $v0, 32 - -object_size_type_2F: -/* 08B474 7F056944 03E00008 */ jr $ra -/* 08B478 7F056948 24020025 */ li $v0, 37 - -object_size_type_2B: -/* 08B47C 7F05694C 03E00008 */ jr $ra -/* 08B480 7F056950 24020020 */ li $v0, 32 - -object_size_type_24: -/* 08B484 7F056954 03E00008 */ jr $ra -/* 08B488 7F056958 24020020 */ li $v0, 32 - -object_size_type_04: -/* 08B48C 7F05695C 03E00008 */ jr $ra -/* 08B490 7F056960 24020021 */ li $v0, 33 - -object_size_type_05: -/* 08B494 7F056964 03E00008 */ jr $ra -/* 08B498 7F056968 24020020 */ li $v0, 32 - -object_size_type_06: -/* 08B49C 7F05696C 03E00008 */ jr $ra -/* 08B4A0 7F056970 2402003B */ li $v0, 59 - -object_size_type_07: -/* 08B4A4 7F056974 03E00008 */ jr $ra -/* 08B4A8 7F056978 24020021 */ li $v0, 33 - -object_size_type_08: -/* 08B4AC 7F05697C 03E00008 */ jr $ra -/* 08B4B0 7F056980 24020022 */ li $v0, 34 - -object_size_type_0A: -/* 08B4B4 7F056984 03E00008 */ jr $ra -/* 08B4B8 7F056988 24020040 */ li $v0, 64 - -object_size_type_0B: -/* 08B4BC 7F05698C 03E00008 */ jr $ra -/* 08B4C0 7F056990 24020095 */ li $v0, 149 - -object_size_type_0C: -/* 08B4C4 7F056994 03E00008 */ jr $ra -/* 08B4C8 7F056998 24020020 */ li $v0, 32 - -object_size_type_0D: -/* 08B4CC 7F05699C 03E00008 */ jr $ra -/* 08B4D0 7F0569A0 24020036 */ li $v0, 54 - -object_size_type_0E: -/* 08B4D4 7F0569A4 03E00008 */ jr $ra -/* 08B4D8 7F0569A8 24020003 */ li $v0, 3 - -object_size_type_11: -/* 08B4DC 7F0569AC 03E00008 */ jr $ra -/* 08B4E0 7F0569B0 24020020 */ li $v0, 32 - -object_size_type_12: -/* 08B4E4 7F0569B4 03E00008 */ jr $ra -/* 08B4E8 7F0569B8 24020003 */ li $v0, 3 - -object_size_type_13: -/* 08B4EC 7F0569BC 03E00008 */ jr $ra -/* 08B4F0 7F0569C0 24020004 */ li $v0, 4 - -object_size_type_2C: -/* 08B4F4 7F0569C4 03E00008 */ jr $ra -/* 08B4F8 7F0569C8 24020005 */ li $v0, 5 - -object_size_type_14: -/* 08B4FC 7F0569CC 03E00008 */ jr $ra -/* 08B500 7F0569D0 2402002D */ li $v0, 45 - -object_size_type_15: -/* 08B504 7F0569D4 03E00008 */ jr $ra -/* 08B508 7F0569D8 24020022 */ li $v0, 34 - -object_size_type_16: -/* 08B50C 7F0569DC 03E00008 */ jr $ra -/* 08B510 7F0569E0 24020004 */ li $v0, 4 - -object_size_type_25: -/* 08B514 7F0569E4 03E00008 */ jr $ra -/* 08B518 7F0569E8 2402000A */ li $v0, 10 - -object_size_type_17: -/* 08B51C 7F0569EC 03E00008 */ jr $ra -/* 08B520 7F0569F0 24020004 */ li $v0, 4 - -object_size_type_18: -/* 08B524 7F0569F4 03E00008 */ jr $ra -/* 08B528 7F0569F8 24020001 */ li $v0, 1 - -object_size_type_19: -/* 08B52C 7F0569FC 03E00008 */ jr $ra -/* 08B530 7F056A00 24020002 */ li $v0, 2 - -object_size_type_1A: -/* 08B534 7F056A04 03E00008 */ jr $ra -/* 08B538 7F056A08 24020002 */ li $v0, 2 - -object_size_type_1B: -/* 08B53C 7F056A0C 03E00008 */ jr $ra -/* 08B540 7F056A10 24020002 */ li $v0, 2 - -object_size_type_1C: -/* 08B544 7F056A14 03E00008 */ jr $ra -/* 08B548 7F056A18 24020002 */ li $v0, 2 - -object_size_type_1D: -/* 08B54C 7F056A1C 03E00008 */ jr $ra -/* 08B550 7F056A20 24020002 */ li $v0, 2 - -object_size_type_1E: -/* 08B554 7F056A24 03E00008 */ jr $ra -/* 08B558 7F056A28 24020004 */ li $v0, 4 - -object_size_type_1F: -/* 08B55C 7F056A2C 03E00008 */ jr $ra -/* 08B560 7F056A30 24020001 */ li $v0, 1 - -object_size_type_20: -/* 08B564 7F056A34 03E00008 */ jr $ra -/* 08B568 7F056A38 24020004 */ li $v0, 4 - -object_size_type_21: -/* 08B56C 7F056A3C 03E00008 */ jr $ra -/* 08B570 7F056A40 24020005 */ li $v0, 5 - -object_size_type_22: -/* 08B574 7F056A44 03E00008 */ jr $ra -/* 08B578 7F056A48 24020001 */ li $v0, 1 - -object_size_type_23: -/* 08B57C 7F056A4C 03E00008 */ jr $ra -/* 08B580 7F056A50 24020004 */ li $v0, 4 - -object_size_type_26: -/* 08B584 7F056A54 03E00008 */ jr $ra -/* 08B588 7F056A58 24020004 */ li $v0, 4 - -object_size_type_27: -/* 08B58C 7F056A5C 03E00008 */ jr $ra -/* 08B590 7F056A60 2402002C */ li $v0, 44 - -object_size_type_28: -/* 08B594 7F056A64 03E00008 */ jr $ra -/* 08B598 7F056A68 2402002D */ li $v0, 45 - -object_size_type_2D: -/* 08B59C 7F056A6C 03E00008 */ jr $ra -/* 08B5A0 7F056A70 24020038 */ li $v0, 56 - -object_size_type_2E: -/* 08B5A4 7F056A74 03E00008 */ jr $ra -/* 08B5A8 7F056A78 24020007 */ li $v0, 7 - -object_size_type_default: -.L7F056A7C: -/* 08B5AC 7F056A7C 24020001 */ li $v0, 1 -/* 08B5B0 7F056A80 03E00008 */ jr $ra -/* 08B5B4 7F056A84 00000000 */ nop -) -#endif - @@ -340,10 +166,6 @@ void sub_GAME_7F056A88(void) { } #else GLOBAL_ASM( -.late_rodata -/*hack for above*/ -.word object_size_type_2F - .text glabel sub_GAME_7F056A88 /* 08B5B8 7F056A88 27BDFFD8 */ addiu $sp, $sp, -0x28 @@ -395,13 +217,29 @@ glabel sub_GAME_7F056A88 #ifdef NONMATCHING -void sub_GAME_7F056B1C(void) { - +s32 check_if_object_type_has_been_loaded(struct object_standard * arg0) +{ + struct object_standard *object; + s32 i; + + if (ptr_setup_objects != 0) + { + for (object = ptr_setup_objects, i = 0; 0x30 != object->type; i++) + { + if (object == arg0) + { + return i; + } + object = (get_size_of_setup_object_type((u8 *)object) * 4) + object; + } + } + return -1; } + #else GLOBAL_ASM( .text -glabel sub_GAME_7F056B1C +glabel check_if_object_type_has_been_loaded /* 08B64C 7F056B1C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 08B650 7F056B20 AFB00014 */ sw $s0, 0x14($sp) /* 08B654 7F056B24 3C108007 */ lui $s0, %hi(ptr_setup_objects) @@ -504,8 +342,16 @@ glabel sub_GAME_7F056BA8 #ifdef NONMATCHING -void load_model(void) { - +u32 load_model(u32 modelid) +{ + struct p_itementry fileentry = PitemZ_entries[modelid]; + if (fileentry.header == 0) + { + load_object_into_memory(PitemZ_entries[modelid].header, PitemZ_entries[modelid].filename); + set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries[modelid].header); + return 1; + } + return 0; } #else GLOBAL_ASM( diff --git a/src/game/lvl.c b/src/game/lvl.c index 7e59561e..b2c21881 100644 --- a/src/game/lvl.c +++ b/src/game/lvl.c @@ -29,14 +29,14 @@ s32 current_stage_to_load = 0; //D:80048368 f32 D_80048368 = 1.0; //D:8004836C -s32 D_8004836C = 0; +s32 musictrack1_playing = 0; //D:80048370 s32 controls_locked_flag = 0; //D:80048374 s32 clock_timer = 0; #ifdef VERSION_US //D:80048378 -s32 global_timer_delta = 0; +f32 global_timer_delta = 0; //D:8004837C s32 global_timer = 0; //D:80048380 @@ -44,12 +44,12 @@ s32 D_80048380 = 0; //D:80048384 #endif #ifdef VERSION_JP -u32 D_jpunk = 0; +u32 jp_global_timer_delta = 0; //D:8004837C s32 global_timer = 0; //D:80048380 s32 D_80048380 = 0; -s32 global_timer_delta = 0; +f32 global_timer_delta = 0; #endif //D:80048384 @@ -154,19 +154,13 @@ void sub_GAME_7F0BD8FC(s32 arg0) { #ifdef NONMATCHING -void something_with_lvl_c_debug(void) { - s32 temp_a2; - ? temp_ret; - - // Node 0 - get_ptr_debug_notice_list_entry(&lvl_c_debug_notice_list, &aLv_c_debug); - temp_a2 = (&_jfontdlSegmentEnd - &_jfontdlSegmentStart); +void something_with_lvl_c_debug(void) +{ + get_ptr_debug_notice_list_entry(&lvl_c_debug_notice_list, "lv_c_debug"); lvl_c_debug_notice_list = 1; - temp_ret = allocate_bytes_in_bank(temp_a2, 6, temp_a2); - ptr_jfont_DL = temp_ret; - romCopy(temp_ret, &_jfontdlSegmentStart, sp18); + ptr_jfont_DL = mempAllocBytesInBank(0xc0,'\x06'); + romCopy(ptr_jfont_DL, _jfontdlSegmentStart, 0xc0); } - #else GLOBAL_ASM( .text @@ -188,7 +182,7 @@ glabel something_with_lvl_c_debug /* 0F2470 7F0BD940 AC2E8360 */ sw $t6, %lo(lvl_c_debug_notice_list)($at) /* 0F2474 7F0BD944 00C02025 */ move $a0, $a2 /* 0F2478 7F0BD948 AFA60018 */ sw $a2, 0x18($sp) -/* 0F247C 7F0BD94C 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F247C 7F0BD94C 0C0025C8 */ jal mempAllocBytesInBank /* 0F2480 7F0BD950 24050006 */ li $a1, 6 /* 0F2484 7F0BD954 3C038009 */ lui $v1, %hi(ptr_jfont_DL) /* 0F2488 7F0BD958 2463C260 */ addiu $v1, %lo(ptr_jfont_DL) # addiu $v1, $v1, -0x3da0 @@ -210,13 +204,10 @@ glabel something_with_lvl_c_debug #ifdef NONMATCHING -void sub_GAME_7F0BD984(void) { - s32 temp_a0; - - // Node 0 - temp_a0 = ((get_random_value() % 0x3dU) + 2); - D_8004836C = temp_a0; - return musicTrack1Play(temp_a0); +void playrandommusictrack1(void) +{ + musictrack1_playing = get_random_value() % 0x3d + M_INTRO; + musicTrack1Play(musictrack1_playing); } #else GLOBAL_ASM( @@ -229,8 +220,8 @@ glabel sub_GAME_7F0BD984 /* 0F24C4 7F0BD994 2401003D */ li $at, 61 /* 0F24C8 7F0BD998 0041001B */ divu $zero, $v0, $at /* 0F24CC 7F0BD99C 00007010 */ mfhi $t6 -/* 0F24D0 7F0BD9A0 3C038005 */ lui $v1, %hi(D_8004836C) -/* 0F24D4 7F0BD9A4 2463836C */ addiu $v1, %lo(D_8004836C) # addiu $v1, $v1, -0x7c94 +/* 0F24D0 7F0BD9A0 3C038005 */ lui $v1, %hi(musictrack1_playing) +/* 0F24D4 7F0BD9A4 2463836C */ addiu $v1, %lo(musictrack1_playing) # addiu $v1, $v1, -0x7c94 /* 0F24D8 7F0BD9A8 25C40002 */ addiu $a0, $t6, 2 /* 0F24DC 7F0BD9AC 0C001B9F */ jal musicTrack1Play /* 0F24E0 7F0BD9B0 AC640000 */ sw $a0, ($v1) @@ -246,18 +237,18 @@ glabel sub_GAME_7F0BD984 #ifdef NONMATCHING -void sub_GAME_7F0BD9C4(s32 arg0) { - // Node 0 - D_8004836C = arg0; - return musicTrack1Play(); +void playmusictrack1(MUSIC_TRACKS track) +{ + musictrack1_playing = track; + musicTrack1Play(track); } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0BD9C4 +glabel playmusictrack1 /* 0F24F4 7F0BD9C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F24F8 7F0BD9C8 3C028005 */ lui $v0, %hi(D_8004836C) -/* 0F24FC 7F0BD9CC 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94 +/* 0F24F8 7F0BD9C8 3C028005 */ lui $v0, %hi(musictrack1_playing) +/* 0F24FC 7F0BD9CC 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94 /* 0F2500 7F0BD9D0 AFBF0014 */ sw $ra, 0x14($sp) /* 0F2504 7F0BD9D4 0C001B9F */ jal musicTrack1Play /* 0F2508 7F0BD9D8 AC440000 */ sw $a0, ($v0) @@ -273,29 +264,21 @@ glabel sub_GAME_7F0BD9C4 #ifdef NONMATCHING -void sub_GAME_7F0BD9EC(void) { - s32 temp_hi; - s32 phi_a0; +void music_append_play_solo_death_short(void) - // Node 0 - temp_hi = ((s32) (D_8004836C + 1) % 0x3f); - D_8004836C = temp_hi; - phi_a0 = temp_hi; - if (temp_hi == 0) - { - // Node 1 - D_8004836C = 1; - phi_a0 = 1; +{ + musictrack1_playing = (musictrack1_playing + M_SHORT_SOLO_DEATH) % 0x3f; + if (musictrack1_playing == M_NONE) { + musictrack1_playing = M_SHORT_SOLO_DEATH; } - // Node 2 - return musicTrack1Play(phi_a0); + musicTrack1Play(musictrack1_playing); } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0BD9EC -/* 0F251C 7F0BD9EC 3C028005 */ lui $v0, %hi(D_8004836C) -/* 0F2520 7F0BD9F0 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94 +glabel music_append_play_solo_death_short +/* 0F251C 7F0BD9EC 3C028005 */ lui $v0, %hi(musictrack1_playing) +/* 0F2520 7F0BD9F0 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94 /* 0F2524 7F0BD9F4 8C4E0000 */ lw $t6, ($v0) /* 0F2528 7F0BD9F8 2401003F */ li $at, 63 /* 0F252C 7F0BD9FC 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -322,29 +305,20 @@ glabel sub_GAME_7F0BD9EC #ifdef NONMATCHING -void sub_GAME_7F0BDA38(void) { - s32 temp_hi; - s32 phi_a0; - - // Node 0 - temp_hi = ((s32) (D_8004836C + 0x3e) % 0x3f); - D_8004836C = temp_hi; - phi_a0 = temp_hi; - if (temp_hi == 0) - { - // Node 1 - D_8004836C = 0x3e; - phi_a0 = 0x3e; +void music_append_play_endtheme(void) +{ + musictrack1_playing = (musictrack1_playing + M_END_SOMETHING) % 0x3f; + if (musictrack1_playing == M_NONE) { + musictrack1_playing = M_END_SOMETHING; } - // Node 2 - return musicTrack1Play(phi_a0); + musicTrack1Play(musictrack1_playing); } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0BDA38 -/* 0F2568 7F0BDA38 3C028005 */ lui $v0, %hi(D_8004836C) -/* 0F256C 7F0BDA3C 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94 +glabel music_append_play_endtheme +/* 0F2568 7F0BDA38 3C028005 */ lui $v0, %hi(musictrack1_playing) +/* 0F256C 7F0BDA3C 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94 /* 0F2570 7F0BDA40 8C4E0000 */ lw $t6, ($v0) /* 0F2574 7F0BDA44 2401003F */ li $at, 63 /* 0F2578 7F0BDA48 27BDFFE8 */ addiu $sp, $sp, -0x18 @@ -371,7 +345,7 @@ glabel sub_GAME_7F0BDA38 void sub_GAME_7F0BDA84(void) { - sub_GAME_7F0BD9C4(sub_GAME_7F0D2720(current_stage_to_load)); + playmusictrack1(getmusictrack_or_randomtrack(current_stage_to_load)); } @@ -486,11 +460,11 @@ glabel stage_load /* 0F2750 7F0BDC20 92290000 */ lbu $t1, ($s1) /* 0F2754 7F0BDC24 51200008 */ beql $t1, $zero, .L7F0BDC48 /* 0F2758 7F0BDC28 26100001 */ addiu $s0, $s0, 1 -/* 0F275C 7F0BDC2C 0FC24697 */ jal sub_GAME_7F091A5C +/* 0F275C 7F0BDC2C 0FC24697 */ jal is_cheat_index_equal_to_1C /* 0F2760 7F0BDC30 02002025 */ move $a0, $s0 /* 0F2764 7F0BDC34 50400004 */ beql $v0, $zero, .L7F0BDC48 /* 0F2768 7F0BDC38 26100001 */ addiu $s0, $s0, 1 -/* 0F276C 7F0BDC3C 0FC246AB */ jal sub_GAME_7F091AAC +/* 0F276C 7F0BDC3C 0FC246AB */ jal turn_on_cheat_for_players /* 0F2770 7F0BDC40 02002025 */ move $a0, $s0 /* 0F2774 7F0BDC44 26100001 */ addiu $s0, $s0, 1 .L7F0BDC48: @@ -499,10 +473,10 @@ glabel stage_load /* 0F2780 7F0BDC50 3C048005 */ lui $a0, %hi(current_stage_to_load) /* 0F2784 7F0BDC54 8C848364 */ lw $a0, %lo(current_stage_to_load)($a0) .L7F0BDC58: -/* 0F2788 7F0BDC58 0FC2D049 */ jal sub_GAME_7F0B4124 +/* 0F2788 7F0BDC58 0FC2D049 */ jal load_bg_file /* 0F278C 7F0BDC5C 00000000 */ nop /* 0F2790 7F0BDC60 3C048005 */ lui $a0, %hi(current_stage_to_load) -/* 0F2794 7F0BDC64 0FC2510B */ jal sub_GAME_7F09442C +/* 0F2794 7F0BDC64 0FC2510B */ jal store_stagenum_to_copyof_stagenum /* 0F2798 7F0BDC68 8C848364 */ lw $a0, %lo(current_stage_to_load)($a0) /* 0F279C 7F0BDC6C 0FC2921A */ jal init_watch_at_start_of_stage /* 0F27A0 7F0BDC70 00000000 */ nop @@ -702,8 +676,8 @@ glabel stage_load /* 0F31FC 7F0BE68C AC2083A0 */ sw $zero, %lo(controls_locked_flag)($at) /* 0F3200 7F0BE690 263183A4 */ addiu $s1, %lo(clock_timer) # addiu $s1, $s1, -0x7c5c /* 0F3204 7F0BE694 AE220000 */ sw $v0, ($s1) -/* 0F3208 7F0BE698 3C018005 */ lui $at, %hi(D_jpunk) # $at, 0x8005 -/* 0F320C 7F0BE69C E42C83A8 */ swc1 $f12, %lo(D_jpunk)($at) +/* 0F3208 7F0BE698 3C018005 */ lui $at, %hi(jp_global_timer_delta) # $at, 0x8005 +/* 0F320C 7F0BE69C E42C83A8 */ swc1 $f12, %lo(jp_global_timer_delta)($at) /* 0F3210 7F0BE6A0 3C018005 */ lui $at, %hi(D_80048380) # $at, 0x8005 /* 0F3214 7F0BE6A4 AC2083B0 */ sw $zero, %lo(D_80048380)($at) /* 0F3218 7F0BE6A8 3C018005 */ lui $at, %hi(global_timer) # $at, 0x8005 @@ -791,11 +765,11 @@ glabel stage_load /* 0F3350 7F0BE7E0 92290000 */ lbu $t1, ($s1) /* 0F3354 7F0BE7E4 51200008 */ beql $t1, $zero, .Ljp7F0BE808 /* 0F3358 7F0BE7E8 26100001 */ addiu $s0, $s0, 1 -/* 0F335C 7F0BE7EC 0FC2494F */ jal sub_GAME_7F091A5C +/* 0F335C 7F0BE7EC 0FC2494F */ jal is_cheat_index_equal_to_1C /* 0F3360 7F0BE7F0 02002025 */ move $a0, $s0 /* 0F3364 7F0BE7F4 50400004 */ beql $v0, $zero, .Ljp7F0BE808 /* 0F3368 7F0BE7F8 26100001 */ addiu $s0, $s0, 1 -/* 0F336C 7F0BE7FC 0FC24963 */ jal sub_GAME_7F091AAC +/* 0F336C 7F0BE7FC 0FC24963 */ jal turn_on_cheat_for_players /* 0F3370 7F0BE800 02002025 */ move $a0, $s0 /* 0F3374 7F0BE804 26100001 */ addiu $s0, $s0, 1 .Ljp7F0BE808: @@ -804,10 +778,10 @@ glabel stage_load /* 0F3380 7F0BE810 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005 /* 0F3384 7F0BE814 8C848394 */ lw $a0, %lo(current_stage_to_load)($a0) .Ljp7F0BE818: -/* 0F3388 7F0BE818 0FC2D335 */ jal sub_GAME_7F0B4124 +/* 0F3388 7F0BE818 0FC2D335 */ jal load_bg_file /* 0F338C 7F0BE81C 00000000 */ nop /* 0F3390 7F0BE820 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005 -/* 0F3394 7F0BE824 0FC253F3 */ jal sub_GAME_7F09442C +/* 0F3394 7F0BE824 0FC253F3 */ jal store_stagenum_to_copyof_stagenum /* 0F3398 7F0BE828 8C848394 */ lw $a0, %lo(current_stage_to_load)($a0) /* 0F339C 7F0BE82C 0FC29502 */ jal init_watch_at_start_of_stage /* 0F33A0 7F0BE830 00000000 */ nop @@ -1424,7 +1398,7 @@ glabel sub_GAME_7F0BE30C /* 0F302C 7F0BE4FC 0C00112F */ jal set_video2_ulx_uly /* 0F3030 7F0BE500 844507F6 */ lh $a1, 0x7f6($v0) /* 0F3034 7F0BE504 8E0E0000 */ lw $t6, ($s0) -/* 0F3038 7F0BE508 0C001151 */ jal video_related_1F +/* 0F3038 7F0BE508 0C001151 */ jal setvideo_far /* 0F303C 7F0BE50C C5CC11D0 */ lwc1 $f12, 0x11d0($t6) /* 0F3040 7F0BE510 8E0F0000 */ lw $t7, ($s0) /* 0F3044 7F0BE514 0C001164 */ jal video_related_21 @@ -1616,7 +1590,7 @@ glabel sub_GAME_7F0BE30C /* 0F3300 7F0BE7D0 0FC2800D */ jal sub_GAME_7F0A0034 /* 0F3304 7F0BE7D4 00402025 */ move $a0, $v0 /* 0F3308 7F0BE7D8 AFA20060 */ sw $v0, 0x60($sp) -/* 0F330C 7F0BE7DC 0FC249EF */ jal sub_GAME_7F0927BC +/* 0F330C 7F0BE7DC 0FC249EF */ jal cheatCheckIfOn /* 0F3310 7F0BE7E0 2404000B */ li $a0, 11 /* 0F3314 7F0BE7E4 10400003 */ beqz $v0, .L7F0BE7F4 /* 0F3318 7F0BE7E8 00000000 */ nop @@ -1817,7 +1791,7 @@ glabel sub_GAME_7F0BE30C /* 0F3C2C 7F0BF0BC 0C00112F */ jal set_video2_ulx_uly /* 0F3C30 7F0BF0C0 844507F6 */ lh $a1, 0x7f6($v0) /* 0F3C34 7F0BF0C4 8E0E0000 */ lw $t6, ($s0) -/* 0F3C38 7F0BF0C8 0C001151 */ jal video_related_1F +/* 0F3C38 7F0BF0C8 0C001151 */ jal setvideo_far /* 0F3C3C 7F0BF0CC C5CC11D0 */ lwc1 $f12, 0x11d0($t6) /* 0F3C40 7F0BF0D0 8E0F0000 */ lw $t7, ($s0) /* 0F3C44 7F0BF0D4 0C001164 */ jal video_related_21 @@ -2009,7 +1983,7 @@ glabel sub_GAME_7F0BE30C /* 0F3F00 7F0BF390 0FC282F6 */ jal sub_GAME_7F0A0034 /* 0F3F04 7F0BF394 00402025 */ move $a0, $v0 /* 0F3F08 7F0BF398 AFA20060 */ sw $v0, 0x60($sp) -/* 0F3F0C 7F0BF39C 0FC24CCF */ jal sub_GAME_7F0927BC +/* 0F3F0C 7F0BF39C 0FC24CCF */ jal cheatCheckIfOn /* 0F3F10 7F0BF3A0 2404000B */ li $a0, 11 /* 0F3F14 7F0BF3A4 1040000C */ beqz $v0, .Ljp7F0BF3D8 /* 0F3F18 7F0BF3A8 00000000 */ nop @@ -2589,13 +2563,13 @@ glabel manage_mp_game /* 0F3790 7F0BEC60 51E0000D */ beql $t7, $zero, .L7F0BEC98 /* 0F3794 7F0BEC64 24840001 */ addiu $a0, $a0, 1 /* 0F3798 7F0BEC68 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F379C 7F0BEC6C 0FC24697 */ jal sub_GAME_7F091A5C +/* 0F379C 7F0BEC6C 0FC24697 */ jal is_cheat_index_equal_to_1C /* 0F37A0 7F0BEC70 AFA40194 */ sw $a0, 0x194($sp) /* 0F37A4 7F0BEC74 8FA3001C */ lw $v1, 0x1c($sp) /* 0F37A8 7F0BEC78 14400006 */ bnez $v0, .L7F0BEC94 /* 0F37AC 7F0BEC7C 8FA40194 */ lw $a0, 0x194($sp) /* 0F37B0 7F0BEC80 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F37B4 7F0BEC84 0FC246AB */ jal sub_GAME_7F091AAC +/* 0F37B4 7F0BEC84 0FC246AB */ jal turn_on_cheat_for_players /* 0F37B8 7F0BEC88 AFA40194 */ sw $a0, 0x194($sp) /* 0F37BC 7F0BEC8C 8FA3001C */ lw $v1, 0x1c($sp) /* 0F37C0 7F0BEC90 8FA40194 */ lw $a0, 0x194($sp) @@ -3064,7 +3038,7 @@ glabel manage_mp_game /* 0F3E60 7F0BF330 2401005A */ li $at, 90 /* 0F3E64 7F0BF334 17210009 */ bne $t9, $at, .L7F0BF35C /* 0F3E68 7F0BF338 00000000 */ nop -/* 0F3E6C 7F0BF33C 0FC2464F */ jal sub_GAME_7F09193C +/* 0F3E6C 7F0BF33C 0FC2464F */ jal cheat_buttons_mp_related /* 0F3E70 7F0BF340 00000000 */ nop /* 0F3E74 7F0BF344 0FC06987 */ jal menu_init /* 0F3E78 7F0BF348 00000000 */ nop @@ -3106,7 +3080,7 @@ glabel manage_mp_game /* 0F3F04 7F0BF3D4 24043000 */ li $a0, 12288 /* 0F3F08 7F0BF3D8 17000048 */ bnez $t8, .L7F0BF4FC /* 0F3F0C 7F0BF3DC 00000000 */ nop -/* 0F3F10 7F0BF3E0 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F3F10 7F0BF3E0 0C0025C8 */ jal mempAllocBytesInBank /* 0F3F14 7F0BF3E4 24050004 */ li $a1, 4 /* 0F3F18 7F0BF3E8 3C068005 */ lui $a2, %hi(D_800483C8) /* 0F3F1C 7F0BF3EC 24C683C8 */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c38 @@ -3310,7 +3284,7 @@ glabel manage_mp_game /* 0F41F8 7F0BF6C8 24050202 */ li $a1, 514 /* 0F41FC 7F0BF6CC 50400004 */ beql $v0, $zero, .L7F0BF6E0 /* 0F4200 7F0BF6D0 00002025 */ move $a0, $zero -/* 0F4204 7F0BF6D4 0FC2F68E */ jal sub_GAME_7F0BDA38 +/* 0F4204 7F0BF6D4 0FC2F68E */ jal music_append_play_endtheme /* 0F4208 7F0BF6D8 00000000 */ nop /* 0F420C 7F0BF6DC 00002025 */ move $a0, $zero .L7F0BF6E0: @@ -3318,7 +3292,7 @@ glabel manage_mp_game /* 0F4214 7F0BF6E4 24050101 */ li $a1, 257 /* 0F4218 7F0BF6E8 50400004 */ beql $v0, $zero, .L7F0BF6FC /* 0F421C 7F0BF6EC 00002025 */ move $a0, $zero -/* 0F4220 7F0BF6F0 0FC2F67B */ jal sub_GAME_7F0BD9EC +/* 0F4220 7F0BF6F0 0FC2F67B */ jal music_append_play_solo_death_short /* 0F4224 7F0BF6F4 00000000 */ nop /* 0F4228 7F0BF6F8 00002025 */ move $a0, $zero .L7F0BF6FC: @@ -3432,8 +3406,8 @@ glabel manage_mp_game .Ljp7F0BF814: /* 0F4384 7F0BF814 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005 /* 0F4388 7F0BF818 8C4283A4 */ lw $v0, %lo(clock_timer)($v0) -/* 0F438C 7F0BF81C 3C038005 */ lui $v1, %hi(D_jpunk) # $v1, 0x8005 -/* 0F4390 7F0BF820 246383A8 */ addiu $v1, %lo(D_jpunk) # addiu $v1, $v1, -0x7c58 +/* 0F438C 7F0BF81C 3C038005 */ lui $v1, %hi(jp_global_timer_delta) # $v1, 0x8005 +/* 0F4390 7F0BF820 246383A8 */ addiu $v1, %lo(jp_global_timer_delta) # addiu $v1, $v1, -0x7c58 /* 0F4394 7F0BF824 44822000 */ mtc1 $v0, $f4 /* 0F4398 7F0BF828 3C048005 */ lui $a0, %hi(global_timer) # $a0, 0x8005 /* 0F439C 7F0BF82C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005 @@ -3466,13 +3440,13 @@ glabel manage_mp_game /* 0F4404 7F0BF894 51E0000D */ beql $t7, $zero, .Ljp7F0BF8CC /* 0F4408 7F0BF898 24840001 */ addiu $a0, $a0, 1 /* 0F440C 7F0BF89C AFA3001C */ sw $v1, 0x1c($sp) -/* 0F4410 7F0BF8A0 0FC2494F */ jal sub_GAME_7F091A5C +/* 0F4410 7F0BF8A0 0FC2494F */ jal is_cheat_index_equal_to_1C /* 0F4414 7F0BF8A4 AFA40194 */ sw $a0, 0x194($sp) /* 0F4418 7F0BF8A8 8FA3001C */ lw $v1, 0x1c($sp) /* 0F441C 7F0BF8AC 14400006 */ bnez $v0, .Ljp7F0BF8C8 /* 0F4420 7F0BF8B0 8FA40194 */ lw $a0, 0x194($sp) /* 0F4424 7F0BF8B4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0F4428 7F0BF8B8 0FC24963 */ jal sub_GAME_7F091AAC +/* 0F4428 7F0BF8B8 0FC24963 */ jal turn_on_cheat_for_players /* 0F442C 7F0BF8BC AFA40194 */ sw $a0, 0x194($sp) /* 0F4430 7F0BF8C0 8FA3001C */ lw $v1, 0x1c($sp) /* 0F4434 7F0BF8C4 8FA40194 */ lw $a0, 0x194($sp) @@ -3567,7 +3541,7 @@ glabel manage_mp_game /* 0F4578 7F0BFA08 8FA4017C */ lw $a0, 0x17c($sp) /* 0F457C 7F0BFA0C 0FC30AA2 */ jal get_textptr_for_textID /* 0F4580 7F0BFA10 3404B044 */ li $a0, 45124 -/* 0F4584 7F0BFA14 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 0F4584 7F0BFA14 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 0F4588 7F0BFA18 00402025 */ move $a0, $v0 /* 0F458C 7F0BFA1C 8FAF017C */ lw $t7, 0x17c($sp) /* 0F4590 7F0BFA20 25F80001 */ addiu $t8, $t7, 1 @@ -3942,7 +3916,7 @@ glabel manage_mp_game /* 0F4AD8 7F0BFF68 2401005A */ li $at, 90 /* 0F4ADC 7F0BFF6C 17210009 */ bne $t9, $at, .Ljp7F0BFF94 /* 0F4AE0 7F0BFF70 00000000 */ nop -/* 0F4AE4 7F0BFF74 0FC24907 */ jal sub_GAME_7F09193C +/* 0F4AE4 7F0BFF74 0FC24907 */ jal cheat_buttons_mp_related /* 0F4AE8 7F0BFF78 00000000 */ nop /* 0F4AEC 7F0BFF7C 0FC069F4 */ jal menu_init /* 0F4AF0 7F0BFF80 00000000 */ nop @@ -3984,7 +3958,7 @@ glabel manage_mp_game /* 0F4B7C 7F0C000C 24043000 */ li $a0, 12288 /* 0F4B80 7F0C0010 17000048 */ bnez $t8, .Ljp7F0C0134 /* 0F4B84 7F0C0014 00000000 */ nop -/* 0F4B88 7F0C0018 0C0025CC */ jal allocate_bytes_in_bank +/* 0F4B88 7F0C0018 0C0025CC */ jal mempAllocBytesInBank /* 0F4B8C 7F0C001C 24050004 */ li $a1, 4 /* 0F4B90 7F0C0020 3C068005 */ lui $a2, %hi(D_800483C8) # $a2, 0x8005 /* 0F4B94 7F0C0024 24C683FC */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c04 @@ -4188,7 +4162,7 @@ glabel manage_mp_game /* 0F4E70 7F0C0300 24050202 */ li $a1, 514 /* 0F4E74 7F0C0304 50400004 */ beql $v0, $zero, .Ljp7F0C0318 /* 0F4E78 7F0C0308 00002025 */ move $a0, $zero -/* 0F4E7C 7F0C030C 0FC2F97A */ jal sub_GAME_7F0BDA38 +/* 0F4E7C 7F0C030C 0FC2F97A */ jal music_append_play_endtheme /* 0F4E80 7F0C0310 00000000 */ nop /* 0F4E84 7F0C0314 00002025 */ move $a0, $zero .Ljp7F0C0318: @@ -4196,7 +4170,7 @@ glabel manage_mp_game /* 0F4E8C 7F0C031C 24050101 */ li $a1, 257 /* 0F4E90 7F0C0320 50400004 */ beql $v0, $zero, .Ljp7F0C0334 /* 0F4E94 7F0C0324 00002025 */ move $a0, $zero -/* 0F4E98 7F0C0328 0FC2F967 */ jal sub_GAME_7F0BD9EC +/* 0F4E98 7F0C0328 0FC2F967 */ jal music_append_play_solo_death_short /* 0F4E9C 7F0C032C 00000000 */ nop /* 0F4EA0 7F0C0330 00002025 */ move $a0, $zero .Ljp7F0C0334: @@ -4290,7 +4264,7 @@ glabel sub_GAME_7F0BF800 /* 0F4334 7F0BF804 AFBF0014 */ sw $ra, 0x14($sp) /* 0F4338 7F0BF808 0FC26C54 */ jal get_cur_playernum /* 0F433C 7F0BF80C 00000000 */ nop -/* 0F4340 7F0BF810 0FC2464F */ jal sub_GAME_7F09193C +/* 0F4340 7F0BF810 0FC2464F */ jal cheat_buttons_mp_related /* 0F4344 7F0BF814 A3A2002F */ sb $v0, 0x2f($sp) /* 0F4348 7F0BF818 0FC243C2 */ jal get_debug_freeze_processing /* 0F434C 7F0BF81C 00000000 */ nop @@ -4431,8 +4405,8 @@ glabel sub_GAME_7F0BF800 /* 0F4544 7F0BFA14 46021482 */ mul.s $f18, $f2, $f2 /* 0F4548 7F0BFA18 0C007DF8 */ jal sqrtf /* 0F454C 7F0BFA1C 46128300 */ add.s $f12, $f16, $f18 -/* 0F4550 7F0BFA20 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 0F4554 7F0BFA24 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 0F4550 7F0BFA20 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 0F4554 7F0BFA24 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 0F4558 7F0BFA28 C4440038 */ lwc1 $f4, 0x38($v0) /* 0F455C 7F0BFA2C 46002180 */ add.s $f6, $f4, $f0 /* 0F4560 7F0BFA30 0FC051D6 */ jal get_scenario @@ -4460,8 +4434,8 @@ glabel sub_GAME_7F0BF800 /* 0F45B8 7F0BFA88 00000000 */ nop /* 0F45BC 7F0BFA8C AC490894 */ sw $t1, 0x894($v0) .L7F0BFA90: -/* 0F45C0 7F0BFA90 3C038008 */ lui $v1, %hi(cur_player_stat_ptr) -/* 0F45C4 7F0BFA94 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # addiu $v1, $v1, -0x5f4c +/* 0F45C0 7F0BFA90 3C038008 */ lui $v1, %hi(pPlayersPerm) +/* 0F45C4 7F0BFA94 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c /* 0F45C8 7F0BFA98 8C620000 */ lw $v0, ($v1) /* 0F45CC 7F0BFA9C 3C0B8005 */ lui $t3, %hi(clock_timer) /* 0F45D0 7F0BFAA0 8D6B8374 */ lw $t3, %lo(clock_timer)($t3) @@ -4473,8 +4447,8 @@ glabel sub_GAME_7F0BF800 /* 0F45E8 7F0BFAB8 10000015 */ b .L7F0BFB10 /* 0F45EC 7F0BFABC A1CD0069 */ sb $t5, 0x69($t6) .L7F0BFAC0: -/* 0F45F0 7F0BFAC0 3C0F8008 */ lui $t7, %hi(cur_player_stat_ptr) -/* 0F45F4 7F0BFAC4 8DEFA0B4 */ lw $t7, %lo(cur_player_stat_ptr)($t7) +/* 0F45F0 7F0BFAC0 3C0F8008 */ lui $t7, %hi(pPlayersPerm) +/* 0F45F4 7F0BFAC4 8DEFA0B4 */ lw $t7, %lo(pPlayersPerm)($t7) /* 0F45F8 7F0BFAC8 10000011 */ b .L7F0BFB10 /* 0F45FC 7F0BFACC A1E00069 */ sb $zero, 0x69($t7) .L7F0BFAD0: @@ -4483,17 +4457,17 @@ glabel sub_GAME_7F0BF800 /* 0F4608 7F0BFAD8 24010003 */ li $at, 3 /* 0F460C 7F0BFADC 5441000D */ bnel $v0, $at, .L7F0BFB14 /* 0F4610 7F0BFAE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F4614 7F0BFAE4 0FC233F0 */ jal sub_GAME_7F08CFC0 +/* 0F4614 7F0BFAE4 0FC233F0 */ jal checkforgoldengun /* 0F4618 7F0BFAE8 00000000 */ nop /* 0F461C 7F0BFAEC 10400006 */ beqz $v0, .L7F0BFB08 -/* 0F4620 7F0BFAF0 3C088008 */ lui $t0, %hi(cur_player_stat_ptr) -/* 0F4624 7F0BFAF4 3C198008 */ lui $t9, %hi(cur_player_stat_ptr) -/* 0F4628 7F0BFAF8 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9) +/* 0F4620 7F0BFAF0 3C088008 */ lui $t0, %hi(pPlayersPerm) +/* 0F4624 7F0BFAF4 3C198008 */ lui $t9, %hi(pPlayersPerm) +/* 0F4628 7F0BFAF8 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9) /* 0F462C 7F0BFAFC 24180001 */ li $t8, 1 /* 0F4630 7F0BFB00 10000003 */ b .L7F0BFB10 /* 0F4634 7F0BFB04 A3380069 */ sb $t8, 0x69($t9) .L7F0BFB08: -/* 0F4638 7F0BFB08 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0) +/* 0F4638 7F0BFB08 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0) /* 0F463C 7F0BFB0C A1000069 */ sb $zero, 0x69($t0) .L7F0BFB10: /* 0F4640 7F0BFB10 8FBF0014 */ lw $ra, 0x14($sp) @@ -4521,7 +4495,7 @@ void unload_stage_text_data(void) { blank_text_bank(get_textbank_number_for_stagenum(current_stage_to_load)); sub_GAME_7F007770(); } - sub_GAME_7F0926C0(); + cheatDisableAllCheats(); cleanupGuardData(); cleanupObjectSounds(); cleanupExplosions(); diff --git a/src/game/lvl.h b/src/game/lvl.h index dfe41304..c61dc328 100644 --- a/src/game/lvl.h +++ b/src/game/lvl.h @@ -8,7 +8,9 @@ struct ramrom_struct { }; extern s32 D_800483C4; - +extern s32 clock_timer; +extern s32 global_timer; +extern f32 global_timer_delta; extern u32 *ptr_jfont_DL; extern s32 dword_CODE_bss_8008C264; extern s32 dword_CODE_bss_8008C268; diff --git a/src/game/lvl_2.c b/src/game/lvl_2.c index beea8bdf..561f68e1 100644 --- a/src/game/lvl_2.c +++ b/src/game/lvl_2.c @@ -31,7 +31,7 @@ struct ramrom_struct ramrom_table[] = { }; //D:80048468 -s32 ramrom_blkbuf_1 = 0; +s32 ptr_active_demofile = 0; //D:8004846C s32 ramrom_blkbuf_2 = 0; //D:80048470 @@ -65,7 +65,7 @@ const char aReplayDemo_load[] = "replay/demo.load"; void clear_ramrom_block_buffer_heading_ptrs(void) { - ramrom_blkbuf_1 = 0; + ptr_active_demofile = 0; ramrom_blkbuf_2 = 0; ramrom_blkbuf_3 = 0; } @@ -97,10 +97,10 @@ void finalize_ramrom_on_hw(void) { romWrite(temp_a0, address_demo_loaded, 0x10); address_demo_loaded = (s32) (address_demo_loaded + 4); temp_ret = romCopyAligned(&ramrom_data_target, 0xf00000, 0xf0); - ramrom_blkbuf_1 = temp_ret; + ptr_active_demofile = temp_ret; temp_ret->unk7C = (s32) (global_timer - clock_timer); - ramrom_blkbuf_1->unk80 = (s32) (address_demo_loaded - 0xf00000); - return romWrite(ramrom_blkbuf_1, 0xf00000, 0xf0); + ptr_active_demofile->unk80 = (s32) (address_demo_loaded - 0xf00000); + return romWrite(ptr_active_demofile, 0xf00000, 0xf0); } #else GLOBAL_ASM( @@ -128,8 +128,8 @@ glabel finalize_ramrom_on_hw /* 0F482C 7F0BFCFC 3C0500F0 */ lui $a1, 0xf0 /* 0F4830 7F0BFD00 0C001711 */ jal romCopyAligned /* 0F4834 7F0BFD04 240600F0 */ li $a2, 240 -/* 0F4838 7F0BFD08 3C038005 */ lui $v1, %hi(ramrom_blkbuf_1) -/* 0F483C 7F0BFD0C 24638468 */ addiu $v1, %lo(ramrom_blkbuf_1) # addiu $v1, $v1, -0x7b98 +/* 0F4838 7F0BFD08 3C038005 */ lui $v1, %hi(ptr_active_demofile) +/* 0F483C 7F0BFD0C 24638468 */ addiu $v1, %lo(ptr_active_demofile) # addiu $v1, $v1, -0x7b98 /* 0F4840 7F0BFD10 AC620000 */ sw $v0, ($v1) /* 0F4844 7F0BFD14 3C088005 */ lui $t0, %hi(global_timer) /* 0F4848 7F0BFD18 3C098005 */ lui $t1, %hi(clock_timer) @@ -158,8 +158,18 @@ glabel finalize_ramrom_on_hw #ifdef NONMATCHING -void save_ramrom_to_devtool(void) { - +void save_ramrom_to_devtool(void) +{ + int iVar2; + undefined auStack264 [4]; + char indyFileName [260]; + + for (iVar2 = 1; check_file_found_on_indy(indyFileName,(u32)auStack264) != 0; iVar2++) + { + sprintf(indyFileName,"replay/demo.%d",iVar2); + } + sprintf(indyFileName,"replay/demo.%d",iVar2); + check_file_exported(indyFileName,0xf00000,(ptr_active_demofile + 0x80)); } #else GLOBAL_ASM( @@ -194,8 +204,8 @@ glabel save_ramrom_to_devtool /* 0F48F0 7F0BFDC0 02202025 */ move $a0, $s1 /* 0F48F4 7F0BFDC4 0C002B25 */ jal sprintf /* 0F48F8 7F0BFDC8 02003025 */ move $a2, $s0 -/* 0F48FC 7F0BFDCC 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1) -/* 0F4900 7F0BFDD0 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6) +/* 0F48FC 7F0BFDCC 3C0E8005 */ lui $t6, %hi(ptr_active_demofile) +/* 0F4900 7F0BFDD0 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6) /* 0F4904 7F0BFDD4 02202025 */ move $a0, $s1 /* 0F4908 7F0BFDD8 3C0500F0 */ lui $a1, 0xf0 /* 0F490C 7F0BFDDC 0FC34017 */ jal check_file_exported @@ -215,25 +225,15 @@ glabel save_ramrom_to_devtool #ifdef NONMATCHING -void load_ramrom_from_devtool(void) { - ? sp1C; - ? temp_ret; - ? temp_ret_2; - ? phi_return; +void load_ramrom_from_devtool(void) +{ + s32 size; - // Node 0 - temp_ret = check_file_found_on_indy("replay/demo.load", &sp1C); - phi_return = temp_ret; - if (temp_ret != 0) + if (check_file_found_on_indy("replay/demo.load", &size) != 0) { - // Node 1 - indy_loadfile("replay/demo.load", 0xf00000, sp1C); - temp_ret_2 = romCopyAligned(&ramrom_data_target, 0xf00000, 0xe8); - ramrom_blkbuf_1 = temp_ret_2; - phi_return = temp_ret_2; + indy_load_ramrom_file("replay/demo.load",(u8 *)0xf00000,size); + ptr_active_demofile = romCopyAligned(&ramrom_data_target,(u8 *)0xf00000,0xe8); } - // Node 2 - return phi_return; } #else GLOBAL_ASM( @@ -256,8 +256,8 @@ glabel load_ramrom_from_devtool /* 0F4968 7F0BFE38 3C0500F0 */ lui $a1, 0xf0 /* 0F496C 7F0BFE3C 0C001711 */ jal romCopyAligned /* 0F4970 7F0BFE40 240600E8 */ li $a2, 232 -/* 0F4974 7F0BFE44 3C018005 */ lui $at, %hi(ramrom_blkbuf_1) -/* 0F4978 7F0BFE48 AC228468 */ sw $v0, %lo(ramrom_blkbuf_1)($at) +/* 0F4974 7F0BFE44 3C018005 */ lui $at, %hi(ptr_active_demofile) +/* 0F4978 7F0BFE48 AC228468 */ sw $v0, %lo(ptr_active_demofile)($at) .L7F0BFE4C: /* 0F497C 7F0BFE4C 8FBF0014 */ lw $ra, 0x14($sp) /* 0F4980 7F0BFE50 27BD0020 */ addiu $sp, $sp, 0x20 @@ -279,9 +279,9 @@ GLOBAL_ASM( .text glabel record_player_input_as_packet /* 0F498C 7F0BFE5C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F4990 7F0BFE60 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1) +/* 0F4990 7F0BFE60 3C0E8005 */ lui $t6, %hi(ptr_active_demofile) /* 0F4994 7F0BFE64 3C0F8009 */ lui $t7, %hi(ramrom_data_target + 0x1F8) -/* 0F4998 7F0BFE68 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6) +/* 0F4998 7F0BFE68 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6) /* 0F499C 7F0BFE6C 25EFC468 */ addiu $t7, %lo(ramrom_data_target + 0x1F8) # addiu $t7, $t7, -0x3b98 /* 0F49A0 7F0BFE70 25F8000F */ addiu $t8, $t7, 0xf /* 0F49A4 7F0BFE74 AFBF001C */ sw $ra, 0x1c($sp) @@ -445,8 +445,8 @@ glabel ramrom_replay_handler /* 0F4BC0 7F0C0090 AFB10018 */ sw $s1, 0x18($sp) /* 0F4BC4 7F0C0094 AFB00014 */ sw $s0, 0x14($sp) /* 0F4BC8 7F0C0098 904A0001 */ lbu $t2, 1($v0) -/* 0F4BCC 7F0C009C 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1) -/* 0F4BD0 7F0C00A0 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6) +/* 0F4BCC 7F0C009C 3C0E8005 */ lui $t6, %hi(ptr_active_demofile) +/* 0F4BD0 7F0C00A0 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6) /* 0F4BD4 7F0C00A4 00A08025 */ move $s0, $a1 /* 0F4BD8 7F0C00A8 00808825 */ move $s1, $a0 /* 0F4BDC 7F0C00AC 00004025 */ move $t0, $zero @@ -598,7 +598,7 @@ s32 iterate_ramrom_entries_handle_camera_out(void) { if (temp_a3 > 0) { // Node 1 - ramrom_blkbuf_3 = romCopyAligned(&ramrom_data_target + 0x21E, (address_demo_loaded + 4), ((ramrom_blkbuf_1->unk18 * 4) * temp_a3), temp_a3); + ramrom_blkbuf_3 = romCopyAligned(&ramrom_data_target + 0x21E, (address_demo_loaded + 4), ((ptr_active_demofile->unk18 * 4) * temp_a3), temp_a3); phi_a0 = ramrom_blkbuf_2->unk1; phi_v1 = (void *) ramrom_blkbuf_2; phi_a3 = ramrom_blkbuf_2->unk1; @@ -613,12 +613,12 @@ s32 iterate_ramrom_entries_handle_camera_out(void) { else { // Node 5 - address_demo_loaded = (s32) (address_demo_loaded + (((((ramrom_blkbuf_1->unk18 * 4) * phi_a3) + 5) | 1) ^ 1)); + address_demo_loaded = (s32) (address_demo_loaded + (((((ptr_active_demofile->unk18 * 4) * phi_a3) + 5) | 1) ^ 1)); phi_v1_2 = phi_v1; } // Node 6 sub_GAME_7F0C0AA0(*phi_v1_2); - temp_v1 = (ramrom_blkbuf_1->unk7C + -0x3c); + temp_v1 = (ptr_active_demofile->unk7C + -0x3c); phi_return = global_timer; if (global_timer >= temp_v1) { @@ -651,10 +651,10 @@ glabel iterate_ramrom_entries_handle_camera_out /* 0F4DC0 7F0C0290 ACA20000 */ sw $v0, ($a1) /* 0F4DC4 7F0C0294 90470001 */ lbu $a3, 1($v0) /* 0F4DC8 7F0C0298 00401825 */ move $v1, $v0 -/* 0F4DCC 7F0C029C 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1) +/* 0F4DCC 7F0C029C 3C0E8005 */ lui $t6, %hi(ptr_active_demofile) /* 0F4DD0 7F0C02A0 18E00013 */ blez $a3, .L7F0C02F0 /* 0F4DD4 7F0C02A4 00E02025 */ move $a0, $a3 -/* 0F4DD8 7F0C02A8 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6) +/* 0F4DD8 7F0C02A8 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6) /* 0F4DDC 7F0C02AC 3C058009 */ lui $a1, %hi(address_demo_loaded) /* 0F4DE0 7F0C02B0 8CA5C5F4 */ lw $a1, %lo(address_demo_loaded)($a1) /* 0F4DE4 7F0C02B4 8DCF0018 */ lw $t7, 0x18($t6) @@ -674,7 +674,7 @@ glabel iterate_ramrom_entries_handle_camera_out /* 0F4E1C 7F0C02EC 00E02025 */ move $a0, $a3 .L7F0C02F0: /* 0F4E20 7F0C02F0 14800009 */ bnez $a0, .L7F0C0318 -/* 0F4E24 7F0C02F4 3C098005 */ lui $t1, %hi(ramrom_blkbuf_1) +/* 0F4E24 7F0C02F4 3C098005 */ lui $t1, %hi(ptr_active_demofile) /* 0F4E28 7F0C02F8 90790000 */ lbu $t9, ($v1) /* 0F4E2C 7F0C02FC 17200006 */ bnez $t9, .L7F0C0318 /* 0F4E30 7F0C0300 00000000 */ nop @@ -684,7 +684,7 @@ glabel iterate_ramrom_entries_handle_camera_out /* 0F4E40 7F0C0310 1000000E */ b .L7F0C034C /* 0F4E44 7F0C0314 8C63846C */ lw $v1, %lo(ramrom_blkbuf_2)($v1) .L7F0C0318: -/* 0F4E48 7F0C0318 8D298468 */ lw $t1, %lo(ramrom_blkbuf_1)($t1) +/* 0F4E48 7F0C0318 8D298468 */ lw $t1, %lo(ptr_active_demofile)($t1) /* 0F4E4C 7F0C031C 3C088009 */ lui $t0, %hi(address_demo_loaded) /* 0F4E50 7F0C0320 8D08C5F4 */ lw $t0, %lo(address_demo_loaded)($t0) /* 0F4E54 7F0C0324 8D2A0018 */ lw $t2, 0x18($t1) @@ -700,8 +700,8 @@ glabel iterate_ramrom_entries_handle_camera_out .L7F0C034C: /* 0F4E7C 7F0C034C 0FC302A8 */ jal sub_GAME_7F0C0AA0 /* 0F4E80 7F0C0350 90640000 */ lbu $a0, ($v1) -/* 0F4E84 7F0C0354 3C198005 */ lui $t9, %hi(ramrom_blkbuf_1) -/* 0F4E88 7F0C0358 8F398468 */ lw $t9, %lo(ramrom_blkbuf_1)($t9) +/* 0F4E84 7F0C0354 3C198005 */ lui $t9, %hi(ptr_active_demofile) +/* 0F4E88 7F0C0358 8F398468 */ lw $t9, %lo(ptr_active_demofile)($t9) /* 0F4E8C 7F0C035C 3C028005 */ lui $v0, %hi(global_timer) /* 0F4E90 7F0C0360 8C42837C */ lw $v0, %lo(global_timer)($v0) /* 0F4E94 7F0C0364 8F23007C */ lw $v1, 0x7c($t9) @@ -757,7 +757,7 @@ void copy_current_ingame_registers_before_ramrom_playback(void *arg0) { arg0->unkC8 = (?32) controlstyle_player.unk8; arg0->unkCC = (?32) controlstyle_player.unkC; arg0->unkD0 = (?32) aim_sight_adjustment; - arg0->unkD4 = get_players_team_or_scenario_item_flag(0, &handicap_player1, &controlstyle_player); + arg0->unkD4 = get_players_team_or_scenario_item_flag(0); arg0->unkD8 = get_players_team_or_scenario_item_flag(1); arg0->unkDC = get_players_team_or_scenario_item_flag(2); arg0->unkE0 = get_players_team_or_scenario_item_flag(3); @@ -999,9 +999,9 @@ glabel test_if_recording_demos_this_stage_load /* 0F5188 7F0C0658 3C0F8009 */ lui $t7, %hi(ramrom_data_target) /* 0F518C 7F0C065C 25EFC270 */ addiu $t7, %lo(ramrom_data_target) # addiu $t7, $t7, -0x3d90 /* 0F5190 7F0C0660 25F8000F */ addiu $t8, $t7, 0xf -/* 0F5194 7F0C0664 3C108005 */ lui $s0, %hi(ramrom_blkbuf_1) +/* 0F5194 7F0C0664 3C108005 */ lui $s0, %hi(ptr_active_demofile) /* 0F5198 7F0C0668 3719000F */ ori $t9, $t8, 0xf -/* 0F519C 7F0C066C 26108468 */ addiu $s0, %lo(ramrom_blkbuf_1) # addiu $s0, $s0, -0x7b98 +/* 0F519C 7F0C066C 26108468 */ addiu $s0, %lo(ptr_active_demofile) # addiu $s0, $s0, -0x7b98 /* 0F51A0 7F0C0670 3B28000F */ xori $t0, $t9, 0xf /* 0F51A4 7F0C0674 AE080000 */ sw $t0, ($s0) /* 0F51A8 7F0C0678 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C5F8) @@ -1049,9 +1049,9 @@ glabel test_if_recording_demos_this_stage_load /* 0F524C 7F0C071C 3C198005 */ lui $t9, %hi(ramrom_demo_related_4) /* 0F5250 7F0C0720 8F39847C */ lw $t9, %lo(ramrom_demo_related_4)($t9) /* 0F5254 7F0C0724 13200020 */ beqz $t9, .L7F0C07A8 -/* 0F5258 7F0C0728 3C108005 */ lui $s0, %hi(ramrom_blkbuf_1) +/* 0F5258 7F0C0728 3C108005 */ lui $s0, %hi(ptr_active_demofile) /* 0F525C 7F0C072C 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C5F8) -/* 0F5260 7F0C0730 26108468 */ addiu $s0, %lo(ramrom_blkbuf_1) # addiu $s0, $s0, -0x7b98 +/* 0F5260 7F0C0730 26108468 */ addiu $s0, %lo(ptr_active_demofile) # addiu $s0, $s0, -0x7b98 /* 0F5264 7F0C0734 AC20C5F8 */ sw $zero, %lo(dword_CODE_bss_8008C5F8)($at) /* 0F5268 7F0C0738 8E080000 */ lw $t0, ($s0) /* 0F526C 7F0C073C 0FC07567 */ jal set_selected_difficulty @@ -1100,64 +1100,30 @@ void setRamRomRecordSlot(s32 arg0) { record_slot_num = arg0; } - - - - - -#ifdef NONMATCHING void stop_recording_ramrom(void) { - // Node 0 if (ramrom_demo_related_6 != 0) { - // Node 1 finalize_ramrom_on_hw(); set_ptr_tlb_ramrom_record(0); ramrom_demo_related_6 = 0; recording_ramrom_flag = 0; } - // Node 2 - return; } -#else -GLOBAL_ASM( -.text -glabel stop_recording_ramrom -/* 0F5304 7F0C07D4 3C0E8005 */ lui $t6, %hi(ramrom_demo_related_6) -/* 0F5308 7F0C07D8 8DCE8484 */ lw $t6, %lo(ramrom_demo_related_6)($t6) -/* 0F530C 7F0C07DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F5310 7F0C07E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5314 7F0C07E4 51C0000A */ beql $t6, $zero, .L7F0C0810 -/* 0F5318 7F0C07E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F531C 7F0C07EC 0FC2FF2C */ jal finalize_ramrom_on_hw -/* 0F5320 7F0C07F0 00000000 */ nop -/* 0F5324 7F0C07F4 0C002EEF */ jal set_ptr_tlb_ramrom_record -/* 0F5328 7F0C07F8 00002025 */ move $a0, $zero -/* 0F532C 7F0C07FC 3C018005 */ lui $at, %hi(ramrom_demo_related_6) -/* 0F5330 7F0C0800 AC208484 */ sw $zero, %lo(ramrom_demo_related_6)($at) -/* 0F5334 7F0C0804 3C018005 */ lui $at, %hi(recording_ramrom_flag) -/* 0F5338 7F0C0808 AC208480 */ sw $zero, %lo(recording_ramrom_flag)($at) -/* 0F533C 7F0C080C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C0810: -/* 0F5340 7F0C0810 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5344 7F0C0814 03E00008 */ jr $ra -/* 0F5348 7F0C0818 00000000 */ nop -) -#endif + #ifdef NONMATCHING -void replay_recorded_ramrom_at_address(s32 arg0) { - // Node 0 +void replay_recorded_ramrom_at_address(s32 arg0) +{ address_demo_loaded = arg0; - ramrom_blkbuf_1 = romCopyAligned(&ramrom_data_target, address_demo_loaded, 0xe8); - address_demo_loaded = (s32) (address_demo_loaded + 0xe8); + ptr_active_demofile = romCopyAligned(&ramrom_data_target, address_demo_loaded, 0xe8); + address_demo_loaded += 0xe8; ramrom_demo_related_4 = 1; - set_solo_and_ptr_briefing(ramrom_blkbuf_1->unk10, &ramrom_blkbuf_1); - set_selected_difficulty(ramrom_blkbuf_1->unk14); + set_solo_and_ptr_briefing(ptr_active_demofile->unk10); + set_selected_difficulty(ptr_active_demofile->unk14); return set_menu_to_mode(0xb, 1); } #else @@ -1177,8 +1143,8 @@ glabel replay_recorded_ramrom_at_address /* 0F5374 7F0C0844 3C038009 */ lui $v1, %hi(address_demo_loaded) /* 0F5378 7F0C0848 2463C5F4 */ addiu $v1, %lo(address_demo_loaded) # addiu $v1, $v1, -0x3a0c /* 0F537C 7F0C084C 8C6E0000 */ lw $t6, ($v1) -/* 0F5380 7F0C0850 3C058005 */ lui $a1, %hi(ramrom_blkbuf_1) -/* 0F5384 7F0C0854 24A58468 */ addiu $a1, %lo(ramrom_blkbuf_1) # addiu $a1, $a1, -0x7b98 +/* 0F5380 7F0C0850 3C058005 */ lui $a1, %hi(ptr_active_demofile) +/* 0F5384 7F0C0854 24A58468 */ addiu $a1, %lo(ptr_active_demofile) # addiu $a1, $a1, -0x7b98 /* 0F5388 7F0C0858 25CF00E8 */ addiu $t7, $t6, 0xe8 /* 0F538C 7F0C085C ACA20000 */ sw $v0, ($a1) /* 0F5390 7F0C0860 AC6F0000 */ sw $t7, ($v1) @@ -1188,8 +1154,8 @@ glabel replay_recorded_ramrom_at_address /* 0F53A0 7F0C0870 8CB90000 */ lw $t9, ($a1) /* 0F53A4 7F0C0874 0FC0757B */ jal set_solo_and_ptr_briefing /* 0F53A8 7F0C0878 8F240010 */ lw $a0, 0x10($t9) -/* 0F53AC 7F0C087C 3C088005 */ lui $t0, %hi(ramrom_blkbuf_1) -/* 0F53B0 7F0C0880 8D088468 */ lw $t0, %lo(ramrom_blkbuf_1)($t0) +/* 0F53AC 7F0C087C 3C088005 */ lui $t0, %hi(ptr_active_demofile) +/* 0F53B0 7F0C0880 8D088468 */ lw $t0, %lo(ptr_active_demofile)($t0) /* 0F53B4 7F0C0884 0FC07567 */ jal set_selected_difficulty /* 0F53B8 7F0C0888 8D040014 */ lw $a0, 0x14($t0) /* 0F53BC 7F0C088C 2404000B */ li $a0, 11 @@ -1206,59 +1172,39 @@ glabel replay_recorded_ramrom_at_address -void replay_recorded_ramrom_from_indy(void) { +void replay_recorded_ramrom_from_indy(void) +{ replay_recorded_ramrom_at_address(0xf00000); } - - - - - -#ifdef NONMATCHING -void ensureCameraModeA(void) { - ? temp_ret; - ? phi_return; - - // Node 0 - temp_ret = get_camera_mode(); - phi_return = temp_ret; - if (temp_ret != 0xa) +void ensureCameraModeA(void) +{ + if (get_camera_mode() != 0xa) { - // Node 1 - phi_return = set_camera_mode(0xa); + set_camera_mode(0xa); } - // Node 2 - return phi_return; } -#else -GLOBAL_ASM( -.text -glabel ensureCameraModeA -/* 0F53F8 7F0C08C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F53FC 7F0C08CC AFBF0014 */ sw $ra, 0x14($sp) -/* 0F5400 7F0C08D0 0FC1E94A */ jal get_camera_mode -/* 0F5404 7F0C08D4 00000000 */ nop -/* 0F5408 7F0C08D8 2401000A */ li $at, 10 -/* 0F540C 7F0C08DC 50410004 */ beql $v0, $at, .L7F0C08F0 -/* 0F5410 7F0C08E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F5414 7F0C08E4 0FC1EA6E */ jal set_camera_mode -/* 0F5418 7F0C08E8 2404000A */ li $a0, 10 -/* 0F541C 7F0C08EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0C08F0: -/* 0F5420 7F0C08F0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F5424 7F0C08F4 03E00008 */ jr $ra -/* 0F5428 7F0C08F8 00000000 */ nop -) -#endif + #ifdef NONMATCHING -void stop_demo_playback(void) { - +void stop_demo_playback(void) +{ + if (ramrom_demo_related_6 == 0) { + if (ramrom_demo_related_3 != 0) { + copy_recorded_ramrom_registers_to_proper_place_ingame(&ramromsettingsbackup); + set_disable_all_rumble_and_something(0,0xffffffff); + controller_7000C930(0); + ramrom_demo_related_3 = 0; + is_ramrom_flag = 0; + } + } + else { + stop_recording_ramrom(); + } } #else GLOBAL_ASM( @@ -1365,8 +1311,16 @@ glabel select_ramrom_to_play #ifdef NONMATCHING -void check_ramrom_flags(void) { - +s32 check_ramrom_flags(void) +{ + if ((get_is_ramrom_flag() == 0) && (get_recording_ramrom_flag() == 0)) + { + return 0; + } + else + { + return *(undefined4 *)(ptr_active_demofile + 0x88); + } } #else GLOBAL_ASM( @@ -1382,8 +1336,8 @@ glabel check_ramrom_flags /* 0F556C 7F0C0A3C 00000000 */ nop /* 0F5570 7F0C0A40 10400004 */ beqz $v0, .L7F0C0A54 .L7F0C0A44: -/* 0F5574 7F0C0A44 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1) -/* 0F5578 7F0C0A48 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6) +/* 0F5574 7F0C0A44 3C0E8005 */ lui $t6, %hi(ptr_active_demofile) +/* 0F5578 7F0C0A48 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6) /* 0F557C 7F0C0A4C 10000002 */ b .L7F0C0A58 /* 0F5580 7F0C0A50 8DC20088 */ lw $v0, 0x88($t6) .L7F0C0A54: diff --git a/src/game/lvl_text.c b/src/game/lvl_text.c index 30e48620..ecdccc1f 100644 --- a/src/game/lvl_text.c +++ b/src/game/lvl_text.c @@ -82,265 +82,151 @@ void *LnameX_lookuptable[] = { "LoptionsE", "LoptionsJ", /* Solo in-game menus */ "LmiscE", "LmiscJ"}; /* Cheat options */ +LEVELID get_textbank_number_for_stagenum(LEVELID level) +{ + LEVELID return_id; -#ifdef NONMATCHING -LEVELID get_textbank_number_for_stagenum(LEVELID level) { switch(level) { - case LEVELID_BUNKER1: - return LSEV; - case LEVELID_SILO: - return LSILO; - case LEVELID_STATUE: - return LSTAT; - case LEVELID_CONTROL: - return LAREC; - case LEVELID_ARCHIVES: - return LARCH; - case LEVELID_TRAIN: - return LTRA; - case LEVELID_FRIGATE: - return LDEST; - case LEVELID_BUNKER2: - return LSEVB; - case LEVELID_AZTEC: - return LAZT; - case LEVELID_STREETS: - return LPETE; - case LEVELID_DEPOT: - return LDEPO; - case LEVELID_COMPLEX: - return LREF; - case LEVELID_EGYPT: - return LCRYP; case LEVELID_DAM: - return LDAM; + return_id = LDAM; + break; case LEVELID_FACILITY: - return LARK; + return_id = LARK; + break; case LEVELID_RUNWAY: - return LRUN; + return_id = LRUN; + break; case LEVELID_SURFACE: - return LSEVX; - case LEVELID_JUNGLE: - return LJUN; - case LEVELID_TEMPLE: - return LDISH; - case LEVELID_CAVERNS: - return LCAVE; - case LEVELID_CRADLE: - return LCRAD; + return_id = LSEVX; + break; + case LEVELID_BUNKER1: + return_id = LSEV; + break; + case LEVELID_SILO: + return_id = LSILO; + break; + case LEVELID_FRIGATE: + return_id = LDEST; + break; case LEVELID_SURFACE2: - return LSEVXB; - case LEVELID_BASEMENT: - return LIMP; - case LEVELID_STACK: - return LASH; + return_id = LSEVXB; + break; + case LEVELID_BUNKER2: + return_id = LSEVB; + break; + case LEVELID_STATUE: + return_id = LSTAT; + break; + case LEVELID_ARCHIVES: + return_id = LARCH; + break; + case LEVELID_STREETS: + return_id = LPETE; + break; + case LEVELID_DEPOT: + return_id = LDEPO; + break; + case LEVELID_TRAIN: + return_id = LTRA; + break; + case LEVELID_JUNGLE: + return_id = LJUN; + break; + case LEVELID_CONTROL: + return_id = LAREC; + break; + case LEVELID_CAVERNS: + return_id = LCAVE; + break; + case LEVELID_CRADLE: + return_id = LCRAD; + break; + case LEVELID_AZTEC: + return_id = LAZT; + break; + case LEVELID_EGYPT: + return_id = LCRYP; + break; + case LEVELID_TEMPLE: + return_id = LDISH; + break; + case LEVELID_COMPLEX: + return_id = LREF; + break; case LEVELID_LIBRARY: - return LAME; + return_id = LAME; + break; + case LEVELID_BASEMENT: + return_id = LIMP; + break; + case LEVELID_STACK: + return_id = LASH; + break; case LEVELID_CAVES: - return LOAT; + return_id = LOAT; + break; case LEVELID_CUBA: - return LLEN; + return_id = LLEN; + break; + default: + { + /* infinite loop on invalid text bank */ + while(1) {}; + } } - /* infinite loop on invalid text bank */ - do { - } while(1); - return 0; + return return_id; } -#else -GLOBAL_ASM( -.late_rodata -/*D:8005BB60*/ -glabel jpt_stage_text -.word .L7F0C1624 -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word .L7F0C162C -.word stagetext_loop -.word .L7F0C164C -.word .L7F0C167C -.word .L7F0C1654 -.word .L7F0C166C -.word .L7F0C1634 -.word .L7F0C1644 -.word .L7F0C1694 -.word .L7F0C165C -/*.word .L7F0C1664*/ -/*.word .L7F0C16AC*/ -/*.word .L7F0C169C*/ -/*.word .L7F0C1604*/ -/*.word .L7F0C160C*/ -/*.word .L7F0C1614*/ -/*.word .L7F0C161C*/ -/*.word .L7F0C1674*/ -/*.word .L7F0C16A4*/ -/*.word .L7F0C1684*/ -/*.word stagetext_loop*/ -/*.word .L7F0C168C*/ -/*.word stagetext_loop*/ -/*.word .L7F0C163C*/ -/*.word stagetext_loop*/ -/*.word .L7F0C16BC*/ -/*.word .L7F0C16C4*/ -/*.word stagetext_loop*/ -/*.word .L7F0C16B4*/ -/*.word stagetext_loop*/ -/*.word .L7F0C16CC*/ -/*.word stagetext_loop*/ -/*.word stagetext_loop*/ -/*.word stagetext_loop*/ -/*.word .L7F0C16D4*/ - -.text -glabel get_textbank_number_for_stagenum -/* 0F6110 7F0C15E0 248EFFF7 */ addiu $t6, $a0, -9 -/* 0F6114 7F0C15E4 2DC1002E */ sltiu $at, $t6, 0x2e -/* 0F6118 7F0C15E8 1020003C */ beqz $at, .L7F0C16DC -/* 0F611C 7F0C15EC 000E7080 */ sll $t6, $t6, 2 -/* 0F6120 7F0C15F0 3C018006 */ lui $at, %hi(jpt_stage_text) -/* 0F6124 7F0C15F4 002E0821 */ addu $at, $at, $t6 -/* 0F6128 7F0C15F8 8C2EBB60 */ lw $t6, %lo(jpt_stage_text)($at) -/* 0F612C 7F0C15FC 01C00008 */ jr $t6 -/* 0F6130 7F0C1600 00000000 */ nop -.L7F0C1604: -/* 0F6134 7F0C1604 03E00008 */ jr $ra -/* 0F6138 7F0C1608 2402000B */ li $v0, 11 -.L7F0C160C: -/* 0F613C 7F0C160C 03E00008 */ jr $ra -/* 0F6140 7F0C1610 24020003 */ li $v0, 3 -.L7F0C1614: -/* 0F6144 7F0C1614 03E00008 */ jr $ra -/* 0F6148 7F0C1618 2402001C */ li $v0, 28 -.L7F0C161C: -/* 0F614C 7F0C161C 03E00008 */ jr $ra -/* 0F6150 7F0C1620 2402001F */ li $v0, 31 -.L7F0C1624: -/* 0F6154 7F0C1624 03E00008 */ jr $ra -/* 0F6158 7F0C1628 2402001E */ li $v0, 30 -.L7F0C162C: -/* 0F615C 7F0C162C 03E00008 */ jr $ra -/* 0F6160 7F0C1630 24020022 */ li $v0, 34 -.L7F0C1634: -/* 0F6164 7F0C1634 03E00008 */ jr $ra -/* 0F6168 7F0C1638 2402000D */ li $v0, 13 -.L7F0C163C: -/* 0F616C 7F0C163C 03E00008 */ jr $ra -/* 0F6170 7F0C1640 24020020 */ li $v0, 32 -.L7F0C1644: -/* 0F6174 7F0C1644 03E00008 */ jr $ra -/* 0F6178 7F0C1648 2402001D */ li $v0, 29 -.L7F0C164C: -/* 0F617C 7F0C164C 03E00008 */ jr $ra -/* 0F6180 7F0C1650 24020023 */ li $v0, 35 -.L7F0C1654: -/* 0F6184 7F0C1654 03E00008 */ jr $ra -/* 0F6188 7F0C1658 24020002 */ li $v0, 2 -.L7F0C165C: -/* 0F618C 7F0C165C 03E00008 */ jr $ra -/* 0F6190 7F0C1660 24020019 */ li $v0, 25 -.L7F0C1664: -/* 0F6194 7F0C1664 03E00008 */ jr $ra -/* 0F6198 7F0C1668 2402000C */ li $v0, 12 -.L7F0C166C: -/* 0F619C 7F0C166C 03E00008 */ jr $ra -/* 0F61A0 7F0C1670 24020024 */ li $v0, 36 -.L7F0C1674: -/* 0F61A4 7F0C1674 03E00008 */ jr $ra -/* 0F61A8 7F0C1678 24020012 */ li $v0, 18 -.L7F0C167C: -/* 0F61AC 7F0C167C 03E00008 */ jr $ra -/* 0F61B0 7F0C1680 24020008 */ li $v0, 8 -.L7F0C1684: -/* 0F61B4 7F0C1684 03E00008 */ jr $ra -/* 0F61B8 7F0C1688 24020007 */ li $v0, 7 -.L7F0C168C: -/* 0F61BC 7F0C168C 03E00008 */ jr $ra -/* 0F61C0 7F0C1690 24020009 */ li $v0, 9 -.L7F0C1694: -/* 0F61C4 7F0C1694 03E00008 */ jr $ra -/* 0F61C8 7F0C1698 24020005 */ li $v0, 5 -.L7F0C169C: -/* 0F61CC 7F0C169C 03E00008 */ jr $ra -/* 0F61D0 7F0C16A0 2402000A */ li $v0, 10 -.L7F0C16A4: -/* 0F61D4 7F0C16A4 03E00008 */ jr $ra -/* 0F61D8 7F0C16A8 2402000E */ li $v0, 14 -.L7F0C16AC: -/* 0F61DC 7F0C16AC 03E00008 */ jr $ra -/* 0F61E0 7F0C16B0 2402001A */ li $v0, 26 -.L7F0C16B4: -/* 0F61E4 7F0C16B4 03E00008 */ jr $ra -/* 0F61E8 7F0C16B8 24020001 */ li $v0, 1 -.L7F0C16BC: -/* 0F61EC 7F0C16BC 03E00008 */ jr $ra -/* 0F61F0 7F0C16C0 24020011 */ li $v0, 17 -.L7F0C16C4: -/* 0F61F4 7F0C16C4 03E00008 */ jr $ra -/* 0F61F8 7F0C16C8 24020004 */ li $v0, 4 -.L7F0C16CC: -/* 0F61FC 7F0C16CC 03E00008 */ jr $ra -/* 0F6200 7F0C16D0 24020017 */ li $v0, 23 -.L7F0C16D4: -/* 0F6204 7F0C16D4 03E00008 */ jr $ra -/* 0F6208 7F0C16D8 24020014 */ li $v0, 20 - -stagetext_loop: -.L7F0C16DC: -/* 0F620C 7F0C16DC 1000FFFF */ b .L7F0C16DC -/* 0F6210 7F0C16E0 00000000 */ nop -/* 0F6214 7F0C16E4 03E00008 */ jr $ra -/* 0F6218 7F0C16E8 00601025 */ move $v0, $v1 -) -#endif - - - #ifdef NONMATCHING -void init_LnameX(void) { +void init_LnameX(void) +{ + undefined *puVar1; + u8 **ppuVar2; + int iVar3; + + if (j_text_trigger != 0) { + ptr_char_data_buf = mempAllocBytesInBank(0x2e80,'\x06'); + ptr_char_registry = mempAllocBytesInBank(0x100,'\x06'); + iVar3 = 0; + do { + ptr_char_registry[iVar3] = ptr_char_registry[iVar3] & 0x3f; + *(ushort *)(ptr_char_registry + iVar3) = *(ushort *)(ptr_char_registry + iVar3) | 0x3fff; + (ptr_char_registry + iVar3)[2] = (ptr_char_registry + iVar3)[2] & 0x3f; + *(ushort *)(ptr_char_registry + iVar3 + 2) = *(ushort *)(ptr_char_registry + iVar3 + 2) | 0x3fff; + (ptr_char_registry + iVar3)[4] = (ptr_char_registry + iVar3)[4] & 0x3f; + *(ushort *)(ptr_char_registry + iVar3 + 4) = *(ushort *)(ptr_char_registry + iVar3 + 4) | 0x3fff; + (ptr_char_registry + iVar3)[6] = (ptr_char_registry + iVar3)[6] & 0x3f; + puVar1 = ptr_char_registry + iVar3; + iVar3 += 8; + *(ushort *)(puVar1 + 6) = *(ushort *)(puVar1 + 6) | 0x3fff; + } while (iVar3 != 0xf8); + } + + ptr_text = 0; + ppuVar2 = (u8 **)table_text_pointers; + do { + ppuVar2 = ppuVar2 + 4; + ppuVar2[1] = NULL; + ppuVar2[2] = NULL; + ppuVar2[3] = NULL; + *ppuVar2 = NULL; + ppuVar2 = ppuVar2; + } while (ppuVar2 != &ptr_char_data_buf); + table_text_pointers[37] = _load_resource_named_to_membank((&ptr_LgunX)[j_text_trigger],1,0x100,6); + table_text_pointers[38] = _load_resource_named_to_membank((&ptr_LtitleX)[j_text_trigger],1,0x100,6); + table_text_pointers[39] = _load_resource_named_to_membank((&ptr_LmpmenuX)[j_text_trigger],1,0x100,6); + table_text_pointers[40] = _load_resource_named_to_membank((&ptr_LpropobjX)[j_text_trigger],1,0x100,6); + table_text_pointers[41] = _load_resource_named_to_membank((&ptr_LmpweaponsX)[j_text_trigger],1,0x100,6); + table_text_pointers[42] = _load_resource_named_to_membank((&ptr_LoptionsX)[j_text_trigger],1,0x100,6); + table_text_pointers[43] = _load_resource_named_to_membank((&ptr_LmiscX)[j_text_trigger],1,0x100,6); + return; } #else GLOBAL_ASM( -.late_rodata -/*hacks for jtbl*/ -.word .L7F0C1664 -.word .L7F0C16AC -.word .L7F0C169C -.word .L7F0C1604 -.word .L7F0C160C -.word .L7F0C1614 -.word .L7F0C161C -.word .L7F0C1674 -.word .L7F0C16A4 -.word .L7F0C1684 -.word stagetext_loop -.word .L7F0C168C -.word stagetext_loop -.word .L7F0C163C -.word stagetext_loop -.word .L7F0C16BC -.word .L7F0C16C4 -.word stagetext_loop -.word .L7F0C16B4 -.word stagetext_loop -.word .L7F0C16CC -.word stagetext_loop -.word stagetext_loop -.word stagetext_loop -.word .L7F0C16D4 - - .text glabel init_LnameX /* 0F621C 7F0C16EC 27BDFFD8 */ addiu $sp, $sp, -0x28 @@ -353,12 +239,12 @@ glabel init_LnameX /* 0F6238 7F0C1708 11000039 */ beqz $t0, .L7F0C17F0 /* 0F623C 7F0C170C AFB00018 */ sw $s0, 0x18($sp) /* 0F6240 7F0C1710 24042E80 */ li $a0, 11904 -/* 0F6244 7F0C1714 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F6244 7F0C1714 0C0025C8 */ jal mempAllocBytesInBank /* 0F6248 7F0C1718 24050006 */ li $a1, 6 /* 0F624C 7F0C171C 3C018009 */ lui $at, %hi(ptr_j_char_data_buf) /* 0F6250 7F0C1720 AC22C6F4 */ sw $v0, %lo(ptr_j_char_data_buf)($at) /* 0F6254 7F0C1724 24040100 */ li $a0, 256 -/* 0F6258 7F0C1728 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F6258 7F0C1728 0C0025C8 */ jal mempAllocBytesInBank /* 0F625C 7F0C172C 24050006 */ li $a1, 6 /* 0F6260 7F0C1730 3C048009 */ lui $a0, %hi(ptr_j_char_registry) /* 0F6264 7F0C1734 2484C6F8 */ addiu $a0, %lo(ptr_j_char_registry) # addiu $a0, $a0, -0x3908 @@ -503,8 +389,50 @@ glabel init_LnameX #ifdef NONMATCHING -void something_with_LnameJ(void) { - +void something_with_LnameJ(void) +{ + ushort uVar1; + ushort *puVar2; + int iVar3; + + iVar3 = 0; + if (j_text_trigger != 0) { + do { + puVar2 = (ushort *)(ptr_char_registry + iVar3); + if (*puVar2 >> 0xe == 0) { + uVar1 = puVar2[1]; + } + else { + *(byte *)puVar2 = ((byte)(*puVar2 >> 0xe) - 1) * '@' | *(byte *)puVar2 & 0x3f; + puVar2 = (ushort *)(ptr_char_registry + iVar3); + uVar1 = puVar2[1]; + } + if (uVar1 >> 0xe == 0) { + uVar1 = puVar2[2]; + } + else { + *(byte *)(puVar2 + 1) = + ((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 1) & 0x3f; + puVar2 = (ushort *)(ptr_char_registry + iVar3); + uVar1 = puVar2[2]; + } + if (uVar1 >> 0xe == 0) { + uVar1 = puVar2[3]; + } + else { + *(byte *)(puVar2 + 2) = + ((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 2) & 0x3f; + puVar2 = (ushort *)(ptr_char_registry + iVar3); + uVar1 = puVar2[3]; + } + iVar3 += 8; + if (uVar1 >> 0xe != 0) { + *(byte *)(puVar2 + 3) = + ((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 3) & 0x3f; + } + } while (iVar3 != 0xf8); + } + return; } #else GLOBAL_ASM( @@ -584,8 +512,84 @@ glabel something_with_LnameJ #ifdef NONMATCHING -void something_with_LnameX(void) { - +int something_with_LnameX(uint param_1) +{ + bool bVar1; + ushort uVar3; + u8 *puVar2; + int iVar4; + ushort *puVar5; + int iVar6; + int iVar7; + int indexto; + int iVar8; + int iVar9; + int indexfrom; + + indexto = -1; + bVar1 = (param_1 & 0x2000) != 0; + iVar7 = 0; + iVar4 = 0; + iVar9 = -1; + puVar5 = (ushort *)ptr_char_registry; + do { + indexfrom = (int)param_1 >> 1; + if ((!bVar1) && ((longlong)indexfrom == ((ulonglong)*puVar5 & 0x3fff))) break; + if ((bVar1) && + (((iVar4 + 1 < 0x7c && ((longlong)indexfrom == ((ulonglong)*puVar5 & 0x3fff))) && + ((longlong)indexfrom == ((ulonglong)puVar5[1] & 0x3fff))))) break; + uVar3 = *puVar5 >> 0xe; + iVar6 = iVar4 + 1; + if (uVar3 == 0) { + indexto = iVar4; + } + iVar7 += 2; + iVar8 = iVar9; + if (((uVar3 == 0) && (puVar5[1] >> 0xe == 0)) && (iVar8 = iVar4, 0x7b < iVar6)) { + iVar8 = iVar9; + } + puVar5 = puVar5 + 1; + iVar4 = iVar6; + iVar9 = iVar8; + } while (iVar6 != 0x7c); + if (iVar4 < 0x7c) { + if (bVar1) { + *(byte *)puVar5 = *(byte *)puVar5 & 0x3f | 0x80; + (ptr_char_registry + iVar7)[2] = (ptr_char_registry + iVar7)[2] & 0x3f | 0x80; + puVar2 = ptr_char_data_buf + iVar4 * 0x60; + } + else { + *(byte *)puVar5 = *(byte *)puVar5 & 0x3f | 0x80; + puVar2 = ptr_char_data_buf + iVar4 * 0x60; + } + } + else { + if ((bVar1) || (indexto < 0)) { + puVar2 = ptr_char_data_buf; + if ((bVar1) && (iVar4 = iVar9 * 2, -1 < iVar9)) { + ptr_char_registry[iVar4] = ptr_char_registry[iVar4] & 0x3f | 0x80; + (ptr_char_registry + iVar4)[2] = (ptr_char_registry + iVar4)[2] & 0x3f | 0x80; + uVar3 = (ushort)indexfrom & 0x3fff; + *(ushort *)(ptr_char_registry + iVar4) = + uVar3 | *(ushort *)(ptr_char_registry + iVar4) & 0xc000; + *(ushort *)(ptr_char_registry + iVar4 + 2) = + uVar3 | *(ushort *)(ptr_char_registry + iVar4 + 2) & 0xc000; + romCopy((char *)(ptr_char_data_buf + iVar9 * 0x60), + (char *)(_efontcharSegmentStart + ((int)(param_1 & 0x1fff) >> 1) * 0x20), + 0x80); + puVar2 = ptr_char_data_buf + iVar9 * 0x60; + } + } + else { + ptr_char_registry[indexto * 2] = ptr_char_registry[indexto * 2] & 0x3f | 0x80; + *(ushort *)(ptr_char_registry + indexto * 2) = + (ushort)indexfrom & 0x3fff | *(ushort *)(ptr_char_registry + indexto * 2) & 0xc000; + romCopy((char *)(ptr_char_data_buf + indexto * 0x60), + (char *)(_jfontcharSegmentStart + indexfrom * 0x18),0x60); + puVar2 = ptr_char_data_buf + indexto * 0x60; + } + } + return (int)puVar2; } #else GLOBAL_ASM( @@ -797,13 +801,10 @@ glabel something_with_LnameX #ifdef NONMATCHING -void load_mission_text_bank(s32 arg0, s32 arg6) { - // Node 0 - *(&ptr_text + (arg6 * 4)) = _load_resource_named_to_membank(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, 0x100, 4); - return; - // (possible return value: _load_resource_named_to_membank(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, 0x100, 4)) +void load_mission_text_bank(u32 param_1) +{ + *(u8 **)(&ptr_text + param_1) = _load_resource_named_to_membank((byte *)(&(&LnameX_lookuptable)[param_1].en_file)[j_text_trigger],1,0x100,4); } - #else GLOBAL_ASM( .text @@ -839,13 +840,10 @@ glabel load_mission_text_bank #ifdef NONMATCHING -void load_briefing_text_bank(s32 arg0, s32 arg1, ? arg2, s32 arg6) { - // Node 0 - *(&ptr_text + (arg6 * 4)) = _load_resource_named_to_buffer(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, arg1, arg2); - return; - // (possible return value: _load_resource_named_to_buffer(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, arg1, arg2)) +void load_briefing_text_bank(int lnameID,undefined *target,int size) +{ + *(u8 **)(&ptr_text + lnameID) = _load_resource_named_to_buffer((byte *)(&(&LnameX_lookuptable)[lnameID].en_file)[j_text_trigger],1,target, size); } - #else GLOBAL_ASM( .text diff --git a/src/game/lvl_text.h b/src/game/lvl_text.h index dab8e4c5..c059aa9b 100644 --- a/src/game/lvl_text.h +++ b/src/game/lvl_text.h @@ -6,4 +6,6 @@ struct stringentry { char *string[]; }; +extern s32 j_text_trigger; + #endif diff --git a/src/game/mainmenu.c b/src/game/mainmenu.c index d4880fd5..9ebabcdf 100644 --- a/src/game/mainmenu.c +++ b/src/game/mainmenu.c @@ -5,6 +5,7 @@ #include "game/unk_093880.h" #include "music.h" #include "game/textrelated.h" +#include "game/lvl.h" // bss //CODE.bss:800695A0 @@ -1848,9 +1849,9 @@ glabel D_800519F4 .word 0xBFB2B8C3 /* -1.3962635;*/ glabel D_800519F8 .word 0x3C962FC9 /* 0.018333333;*/ -glabel D_800519FC +glabel menu01_aspect .word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A00 +glabel menu01_pageheight .word 0x461C4000 /* 10000.0;*/ glabel D_80051A04 .word 0x3C8EFA35 /* 0.017453292;*/ @@ -2189,9 +2190,9 @@ glabel D_800519F4 .word 0xBFB2B8C3 /* -1.3962635;*/ glabel D_800519F8 .word 0x3C962FC9 /* 0.018333333;*/ -glabel D_800519FC +glabel menu01_aspect .word 0x3FAAAAAB /* 1.3333334;*/ -glabel D_80051A00 +glabel menu01_pageheight .word 0x461C4000 /* 10000.0;*/ glabel D_80051A04 .word 0x3C8EFA35 /* 0.017453292;*/ @@ -2656,7 +2657,7 @@ s32 add_tab1_start(s32 arg0) { // Node 0 dword_CODE_bss_80069770 = get_textptr_for_textID(TEXT(LTITLE, 0x04)); - sub_GAME_7F0ACB78(1); + setTextSpacingInverted(1); sp48 = 0; sp4C = 0; sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069770, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); @@ -2673,7 +2674,7 @@ s32 add_tab1_start(s32 arg0) { microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x33, temp_a3, 0x75, 0x32); } // Node 4 - sub_GAME_7F0ACB88(1, temp_a3); + setTextOrientation(1, temp_a3); if (sp48 < 0) { // Node 5 @@ -2682,8 +2683,8 @@ s32 add_tab1_start(s32 arg0) { sp54 = (s32) (0x54 - (sp48 >> 1)); sp44 = get_video2_settings_txtClipH(); en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069770, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0); - sub_GAME_7F0ACB88(0); - sub_GAME_7F0ACB78(0); + setTextOrientation(0); + setTextSpacingInverted(0); return; // (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069770, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0)) } @@ -2699,7 +2700,7 @@ glabel add_tab1_start /* 03EBC4 7F00A094 34049C04 */ li $a0, 39940 /* 03EBC8 7F00A098 3C018007 */ lui $at, %hi(dword_CODE_bss_80069770) /* 03EBCC 7F00A09C AC229770 */ sw $v0, %lo(dword_CODE_bss_80069770)($at) -/* 03EBD0 7F00A0A0 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03EBD0 7F00A0A0 0FC2B2DE */ jal setTextSpacingInverted /* 03EBD4 7F00A0A4 24040001 */ li $a0, 1 /* 03EBD8 7F00A0A8 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) /* 03EBDC 7F00A0AC 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) @@ -2740,7 +2741,7 @@ glabel add_tab1_start /* 03EC64 7F00A134 AFA70050 */ sw $a3, 0x50($sp) /* 03EC68 7F00A138 00408025 */ move $s0, $v0 .L7F00A13C: -/* 03EC6C 7F00A13C 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03EC6C 7F00A13C 0FC2B2E2 */ jal setTextOrientation /* 03EC70 7F00A140 24040001 */ li $a0, 1 /* 03EC74 7F00A144 8FAC0048 */ lw $t4, 0x48($sp) /* 03EC78 7F00A148 240E0054 */ li $t6, 84 @@ -2774,9 +2775,9 @@ glabel add_tab1_start /* 03ECE4 7F00A1B4 0FC2B6AF */ jal en_text_write_stuff /* 03ECE8 7F00A1B8 AFB8001C */ sw $t8, 0x1c($sp) /* 03ECEC 7F00A1BC 00408025 */ move $s0, $v0 -/* 03ECF0 7F00A1C0 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03ECF0 7F00A1C0 0FC2B2E2 */ jal setTextOrientation /* 03ECF4 7F00A1C4 00002025 */ move $a0, $zero -/* 03ECF8 7F00A1C8 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03ECF8 7F00A1C8 0FC2B2DE */ jal setTextSpacingInverted /* 03ECFC 7F00A1CC 00002025 */ move $a0, $zero /* 03ED00 7F00A1D0 8FBF003C */ lw $ra, 0x3c($sp) /* 03ED04 7F00A1D4 02001025 */ move $v0, $s0 @@ -2841,7 +2842,7 @@ s32 add_tab3_previous(s32 arg0) { // Node 0 dword_CODE_bss_80069778 = get_textptr_for_textID(TEXT(LTITLE, 0x06)); - sub_GAME_7F0ACB78(1); + setTextSpacingInverted(1); sp48 = 0; sp4C = 0; sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069778, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); @@ -2858,7 +2859,7 @@ s32 add_tab3_previous(s32 arg0) { microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0xec, temp_a3, 0x12e, 0x32); } // Node 4 - sub_GAME_7F0ACB88(1, temp_a3); + setTextOrientation(1, temp_a3); if (sp48 < 0) { // Node 5 @@ -2867,8 +2868,8 @@ s32 add_tab3_previous(s32 arg0) { sp54 = (s32) (0x10d - (sp48 >> 1)); sp44 = get_video2_settings_txtClipH(); en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069778, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0); - sub_GAME_7F0ACB88(0); - sub_GAME_7F0ACB78(0); + setTextOrientation(0); + setTextSpacingInverted(0); return; // (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069778, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0)) } @@ -2884,7 +2885,7 @@ glabel add_tab3_previous /* 03ED7C 7F00A24C 34049C06 */ li $a0, 39942 /* 03ED80 7F00A250 3C018007 */ lui $at, %hi(dword_CODE_bss_80069778) /* 03ED84 7F00A254 AC229778 */ sw $v0, %lo(dword_CODE_bss_80069778)($at) -/* 03ED88 7F00A258 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03ED88 7F00A258 0FC2B2DE */ jal setTextSpacingInverted /* 03ED8C 7F00A25C 24040001 */ li $a0, 1 /* 03ED90 7F00A260 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) /* 03ED94 7F00A264 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) @@ -2925,7 +2926,7 @@ glabel add_tab3_previous /* 03EE1C 7F00A2EC AFA70050 */ sw $a3, 0x50($sp) /* 03EE20 7F00A2F0 00408025 */ move $s0, $v0 .L7F00A2F4: -/* 03EE24 7F00A2F4 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03EE24 7F00A2F4 0FC2B2E2 */ jal setTextOrientation /* 03EE28 7F00A2F8 24040001 */ li $a0, 1 /* 03EE2C 7F00A2FC 8FAC0048 */ lw $t4, 0x48($sp) /* 03EE30 7F00A300 240E010D */ li $t6, 269 @@ -2959,9 +2960,9 @@ glabel add_tab3_previous /* 03EE9C 7F00A36C 0FC2B6AF */ jal en_text_write_stuff /* 03EEA0 7F00A370 AFB8001C */ sw $t8, 0x1c($sp) /* 03EEA4 7F00A374 00408025 */ move $s0, $v0 -/* 03EEA8 7F00A378 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03EEA8 7F00A378 0FC2B2E2 */ jal setTextOrientation /* 03EEAC 7F00A37C 00002025 */ move $a0, $zero -/* 03EEB0 7F00A380 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03EEB0 7F00A380 0FC2B2DE */ jal setTextSpacingInverted /* 03EEB4 7F00A384 00002025 */ move $a0, $zero /* 03EEB8 7F00A388 8FBF003C */ lw $ra, 0x3c($sp) /* 03EEBC 7F00A38C 02001025 */ move $v0, $s0 @@ -3003,7 +3004,7 @@ s32 add_tab2_next(s32 arg0) { // Node 0 dword_CODE_bss_80069774 = get_textptr_for_textID(TEXT(LTITLE, 0x05)); - sub_GAME_7F0ACB78(1); + setTextSpacingInverted(1); sp48 = 0; sp4C = 0; sub_GAME_7F0AE98C(&sp4C, &sp48, dword_CODE_bss_80069774, ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0); @@ -3020,7 +3021,7 @@ s32 add_tab2_next(s32 arg0) { microcode_constructor_related_to_menus(arg0, ((temp_a3 - sp4C) + 1), 0x90, temp_a3, 0xd2, 0x32); } // Node 4 - sub_GAME_7F0ACB88(1, temp_a3); + setTextOrientation(1, temp_a3); if (sp48 < 0) { // Node 5 @@ -3029,8 +3030,8 @@ s32 add_tab2_next(s32 arg0) { sp54 = (s32) (0xb1 - (sp48 >> 1)); sp44 = get_video2_settings_txtClipH(); en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069774, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0); - sub_GAME_7F0ACB88(0); - sub_GAME_7F0ACB78(0); + setTextOrientation(0); + setTextSpacingInverted(0); return; // (possible return value: en_text_write_stuff(arg0, &sp54, &sp50, dword_CODE_bss_80069774, (?32) ptrSecondFontTableSmall, (?32) ptrFirstFontTableSmall, 0xff, sp44, get_video2_settings_txtClipW(), 0, 0)) } @@ -3046,7 +3047,7 @@ glabel add_tab2_next /* 03EF58 7F00A428 34049C05 */ li $a0, 39941 /* 03EF5C 7F00A42C 3C018007 */ lui $at, %hi(dword_CODE_bss_80069774) /* 03EF60 7F00A430 AC229774 */ sw $v0, %lo(dword_CODE_bss_80069774)($at) -/* 03EF64 7F00A434 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03EF64 7F00A434 0FC2B2DE */ jal setTextSpacingInverted /* 03EF68 7F00A438 24040001 */ li $a0, 1 /* 03EF6C 7F00A43C 3C0E8004 */ lui $t6, %hi(ptrFirstFontTableSmall) /* 03EF70 7F00A440 8DCE0EAC */ lw $t6, %lo(ptrFirstFontTableSmall)($t6) @@ -3087,7 +3088,7 @@ glabel add_tab2_next /* 03EFF8 7F00A4C8 AFA70050 */ sw $a3, 0x50($sp) /* 03EFFC 7F00A4CC 00408025 */ move $s0, $v0 .L7F00A4D0: -/* 03F000 7F00A4D0 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03F000 7F00A4D0 0FC2B2E2 */ jal setTextOrientation /* 03F004 7F00A4D4 24040001 */ li $a0, 1 /* 03F008 7F00A4D8 8FAC0048 */ lw $t4, 0x48($sp) /* 03F00C 7F00A4DC 240E00B1 */ li $t6, 177 @@ -3121,9 +3122,9 @@ glabel add_tab2_next /* 03F078 7F00A548 0FC2B6AF */ jal en_text_write_stuff /* 03F07C 7F00A54C AFB8001C */ sw $t8, 0x1c($sp) /* 03F080 7F00A550 00408025 */ move $s0, $v0 -/* 03F084 7F00A554 0FC2B2E2 */ jal sub_GAME_7F0ACB88 +/* 03F084 7F00A554 0FC2B2E2 */ jal setTextOrientation /* 03F088 7F00A558 00002025 */ move $a0, $zero -/* 03F08C 7F00A55C 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 03F08C 7F00A55C 0FC2B2DE */ jal setTextSpacingInverted /* 03F090 7F00A560 00002025 */ move $a0, $zero /* 03F094 7F00A564 8FBF003C */ lw $ra, 0x3c($sp) /* 03F098 7F00A568 02001025 */ move $v0, $s0 @@ -3251,7 +3252,7 @@ void interface_menu00_legalscreen(undefined8 param_1,undefined8 param_2) { undefined8 extraout_a2_00; undefined8 extraout_a3; - video_related_1F(param_1._4_4_,param_2,in_a2); + setvideo_far(param_1._4_4_,param_2,in_a2); video_related_21(extraout_a0_lo,extraout_a1,extraout_a2); set_page_height(extraout_a0_lo_00,extraout_a1_lo,extraout_a2_00,extraout_a3); set_video2_settings_offset_24(0); @@ -3284,7 +3285,7 @@ glabel interface_menu00_legalscreen /* 03F210 7F00A6E0 3C014270 */ li $at, 0x42700000 # 60.000000 /* 03F214 7F00A6E4 AFBF0014 */ sw $ra, 0x14($sp) /* 03F218 7F00A6E8 44816000 */ mtc1 $at, $f12 -/* 03F21C 7F00A6EC 0C001151 */ jal video_related_1F +/* 03F21C 7F00A6EC 0C001151 */ jal setvideo_far /* 03F220 7F00A6F0 00000000 */ nop /* 03F224 7F00A6F4 3C018005 */ lui $at, %hi(D_800519E4) /* 03F228 7F00A6F8 0C001164 */ jal video_related_21 @@ -3699,7 +3700,7 @@ void *interface_menu17_switchscreens(void) { s32 temp_t7; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_800519EC); set_page_height(0x42c80000, D_800519F0); set_video2_settings_offset_24(0); @@ -3726,7 +3727,7 @@ glabel interface_menu17_switchscreens /* 03F634 7F00AB04 3C014270 */ li $at, 0x42700000 # 60.000000 /* 03F638 7F00AB08 AFBF0014 */ sw $ra, 0x14($sp) /* 03F63C 7F00AB0C 44816000 */ mtc1 $at, $f12 -/* 03F640 7F00AB10 0C001151 */ jal video_related_1F +/* 03F640 7F00AB10 0C001151 */ jal setvideo_far /* 03F644 7F00AB14 00000000 */ nop /* 03F648 7F00AB18 3C018005 */ lui $at, %hi(D_800519EC) /* 03F64C 7F00AB1C 0C001164 */ jal video_related_21 @@ -3772,9 +3773,9 @@ glabel interface_menu17_switchscreens -void constructor_menu17_switchscreens(void) +void constructor_menu17_switchscreens(Gfx * DL) { - insert_imageDL(); + insert_imageDL(DL); } @@ -3786,23 +3787,21 @@ void constructor_menu17_switchscreens(void) #ifdef NONMATCHING void init_menu01_nintendo(void) { - ? sp24; - s32 temp_ret; - + struct xyzpoint local_c; + menu_timer = 0; - sp24.unk0 = (?32) D_8002AAFC.unk0; - sp24.unk4 = (?32) D_8002AAFC.unk4; - sp24.unk8 = (?32) D_8002AAFC.unk8; - load_object_fill_header(PitemZ_entries.unkCF0, PitemZ_entries.unkCF4, ptr_logo_and_walletbond_DL, 0x3c000, 0); - set_objuse_flag_compute_grp_nums_set_obj_loaded(PnintendologoZ_header); - temp_ret = get_obj_instance_controller_for_header(PnintendologoZ_header); - something_legalscreen_constructor = temp_ret; - set_obj_instance_controller_scale(temp_ret, 0x3f800000); - setsuboffset(something_legalscreen_constructor, &sp24); - musicTrack1Play(0x2c); - maybe_is_in_menu = 1; - flt_CODE_bss_80069614 = (f32) D_800519F4; - (void *)0x80070000->unk-69E8 = (f32) D_800519F8; + local_c.x = xyzpoint_8002aafc.x; + local_c.y = xyzpoint_8002aafc.y; + local_c.z = xyzpoint_8002aafc.z; + load_object_fill_header(PitemZ_entries[276].header, PitemZ_entries[276].filename, ptr_logo_and_walletbond_DL,0x3c000,0); + set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries[276].header); + something_screen_constructor = get_obj_instance_controller_for_header(PitemZ_entries[276].header); + set_obj_instance_controller_scale(something_screen_constructor, 1.0f); + setsuboffset(something_screen_constructor, &local_c); + musicTrack1Play(M_INTROSWOOSH); + maybe_is_in_menu = TRUE; + flt_CODE_bss_80069614 = D_800519F4; + flt_CODE_bss_80069618 = D_800519F8; } #else GLOBAL_ASM( @@ -3878,32 +3877,37 @@ void update_menu01_nintendo(void) - #ifdef NONMATCHING +extern f32 menu01_aspect; +extern f32 menu01_pageheight; + void interface_menu01_nintendo(void) { - s32 temp_t8; + setvideo_far(60.0f); + video_related_21(menu01_aspect); + set_page_height(100.0f, menu01_pageheight); + set_video2_settings_offset_24(0.0f); - video_related_1F(0x42700000); - video_related_21(D_800519FC); - set_page_height(0x42c80000, D_80051A00); - set_video2_settings_offset_24(0); - temp_t8 = menu_timer + clock_timer; - menu_timer = temp_t8; - if (temp_t8 >= 0x1f5) + menu_timer = menu_timer + clock_timer; + if (menu_timer < 501) { - set_menu_to_mode(2, 1); - return; - } - if (get_controller_buttons_pressed(0, 0xffff) != 0) - { - if (is_first_time_on_main_menu == 0) + if (get_controller_buttons_pressed(0, 0xffff) != 0) { - set_menu_to_mode(5, 1); - return; + if (is_first_time_on_main_menu == 0) + { + set_menu_to_mode(MENU_FILE_SELECT, 1); + } + else + { + prev_keypresses = 1; + set_menu_to_mode(MENU_RAREWARE_LOGO, 1); + } } - prev_keypresses = 1; - set_menu_to_mode(2, 1); + } + else + { + set_menu_to_mode(MENU_RAREWARE_LOGO, 1); + return; } } #else @@ -3914,16 +3918,16 @@ glabel interface_menu01_nintendo /* 03F7FC 7F00ACCC 3C014270 */ li $at, 0x42700000 # 60.000000 /* 03F800 7F00ACD0 AFBF0014 */ sw $ra, 0x14($sp) /* 03F804 7F00ACD4 44816000 */ mtc1 $at, $f12 -/* 03F808 7F00ACD8 0C001151 */ jal video_related_1F +/* 03F808 7F00ACD8 0C001151 */ jal setvideo_far /* 03F80C 7F00ACDC 00000000 */ nop -/* 03F810 7F00ACE0 3C018005 */ lui $at, %hi(D_800519FC) +/* 03F810 7F00ACE0 3C018005 */ lui $at, %hi(menu01_aspect) /* 03F814 7F00ACE4 0C001164 */ jal video_related_21 -/* 03F818 7F00ACE8 C42C19FC */ lwc1 $f12, %lo(D_800519FC)($at) +/* 03F818 7F00ACE8 C42C19FC */ lwc1 $f12, %lo(menu01_aspect)($at) /* 03F81C 7F00ACEC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 /* 03F820 7F00ACF0 44816000 */ mtc1 $at, $f12 -/* 03F824 7F00ACF4 3C018005 */ lui $at, %hi(D_80051A00) +/* 03F824 7F00ACF4 3C018005 */ lui $at, %hi(menu01_pageheight) /* 03F828 7F00ACF8 0C001194 */ jal set_page_height -/* 03F82C 7F00ACFC C42E1A00 */ lwc1 $f14, %lo(D_80051A00)($at) +/* 03F82C 7F00ACFC C42E1A00 */ lwc1 $f14, %lo(menu01_pageheight)($at) /* 03F830 7F00AD00 0C00114D */ jal set_video2_settings_offset_24 /* 03F834 7F00AD04 00002025 */ move $a0, $zero /* 03F838 7F00AD08 3C028003 */ lui $v0, %hi(menu_timer) @@ -4299,8 +4303,8 @@ void interface_menu02_rareware(void) } } -void constructor_menu02_rareware(void) { - retrieve_display_rareware_logo(); +void constructor_menu02_rareware(Gfx * DL) { + retrieve_display_rareware_logo(DL); } @@ -4331,8 +4335,8 @@ void interface_menu03_eye(void) { } } -void constructor_menu03_eye(void) { - sub_GAME_7F009254(); +void constructor_menu03_eye(Gfx * DL) { + sub_GAME_7F009254(DL); } @@ -4422,56 +4426,45 @@ void update_menu04_goldeneye(void) { #ifdef NONMATCHING void interface_menu04_goldeneyelogo(void) { - s32 temp_t8; - - video_related_1F(0x42700000); - video_related_21(D_80051A10); - set_page_height(0x42c80000, D_80051A14); + u32 uVar1; + + setvideo_far(60.00000000); + video_related_21(menu04_aspect); + set_page_height(100.00000000,(f32)menu04_pageheight); set_video2_settings_offset_24(0); - temp_t8 = menu_timer + clock_timer; - menu_timer = temp_t8; - if (((is_first_time_on_main_menu != 0) && (temp_t8 < 0xb5)) && (D_8002A938 != 0)) - { - if ((temp_t8 >= 0x5b) && (menu_timer >= 0xb5)) - { -block_5: - if (prev_keypresses == 0) + menu_timer += clock_timer; + if (((is_first_time_on_main_menu == FALSE) || (0xb4 < menu_timer)) || + ((ge_logo_bool != FALSE && (0x5a < menu_timer)))) { + if (menu_timer < 0xb5) { + uVar1 = get_controller_buttons_pressed + ('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS|R_TRIG|L_TRIG| + DUMMY_2|DUMMY_1|R_JPAD|L_JPAD|D_JPAD|U_JPAD|START_BUTTON|Z_TRIG| + B_BUTTON|A_BUTTON); + if ((uVar1 != 0) || ((is_first_time_on_main_menu != FALSE && (ge_logo_bool != FALSE)))) { + set_menu_to_mode(MENU_FILE_SELECT,1); + } + } + else { + if (prev_keypresses == 0) { do_extended_cast_display(0); - set_menu_to_mode(0x18, 1); - return; + set_menu_to_mode(MENU_DISPLAY_CAST,1); } - set_menu_to_mode(5, 1); - return; - } - else - { - if (get_controller_buttons_pressed(0, 0xffff) != 0) - { - D_8002A938 = 1; + else { + set_menu_to_mode(MENU_FILE_SELECT,1); } } } - else - { - if (menu_timer >= 0xb5) - { - goto block_5; - } - if (get_controller_buttons_pressed(0, 0xffff) != 0) - { -block_11: - set_menu_to_mode(5, 1); - return; - } - if (is_first_time_on_main_menu != 0) - { - if (D_8002A938 != 0) - { - goto block_11; - } + else { + uVar1 = get_controller_buttons_pressed + ('\0',R_CBUTTONS|L_CBUTTONS|D_CBUTTONS|U_CBUTTONS|R_TRIG|L_TRIG|DUMMY_2| + DUMMY_1|R_JPAD|L_JPAD|D_JPAD|U_JPAD|START_BUTTON|Z_TRIG|B_BUTTON| + A_BUTTON); + if (uVar1 != 0) { + ge_logo_bool = TRUE; } } + return; } #else GLOBAL_ASM( @@ -4481,7 +4474,7 @@ glabel interface_menu04_goldeneyelogo /* 03FE64 7F00B334 3C014270 */ li $at, 0x42700000 # 60.000000 /* 03FE68 7F00B338 AFBF0014 */ sw $ra, 0x14($sp) /* 03FE6C 7F00B33C 44816000 */ mtc1 $at, $f12 -/* 03FE70 7F00B340 0C001151 */ jal video_related_1F +/* 03FE70 7F00B340 0C001151 */ jal setvideo_far /* 03FE74 7F00B344 00000000 */ nop /* 03FE78 7F00B348 3C018005 */ lui $at, %hi(D_80051A10) /* 03FE7C 7F00B34C 0C001164 */ jal video_related_21 @@ -5412,7 +5405,7 @@ s32 interface_menu05_fileselect(void) { menu_timer = (s32) (menu_timer + clock_timer); } - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A1C); set_page_height(0x42c80000, D_80051A20); set_video2_settings_offset_24(0); @@ -5674,7 +5667,7 @@ glabel interface_menu05_fileselect .L7F00BC70: /* 0407A0 7F00BC70 3C014270 */ li $at, 0x42700000 # 60.000000 /* 0407A4 7F00BC74 44816000 */ mtc1 $at, $f12 -/* 0407A8 7F00BC78 0C001151 */ jal video_related_1F +/* 0407A8 7F00BC78 0C001151 */ jal setvideo_far /* 0407AC 7F00BC7C 00000000 */ nop /* 0407B0 7F00BC80 3C018005 */ lui $at, %hi(D_80051A1C) /* 0407B4 7F00BC84 0C001164 */ jal video_related_21 @@ -6377,7 +6370,7 @@ loop_4: goto loop_1; } arg0 = microcode_constructor(arg0); - sub_GAME_7F0ACB78(0); + setTextSpacingInverted(0); sp74 = &dword_CODE_bss_80069620; sp1B4 = 0; loop_7: @@ -6445,7 +6438,7 @@ loop_7: if (temp_ret_3 != 0) { textpointer_load_parse_something(&spD0, temp_ret_3); - string_load_parse_something(&spD0, &asc_D_8004F488); + string_append_from_obseg_textbank(&spD0, &asc_D_8004F488); spF4 = 0; spF8 = 0; sub_GAME_7F0AE98C(&spF8, &spF4, &spD0, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); @@ -6488,11 +6481,11 @@ loop_24: } if (phi_s2_2 >= 0) { - string_load_parse_something(&spBC, *((((phi_s2_2 * 8) - phi_s2_2) * 4) + &mission_folder_setup_entries)); - string_load_parse_something(&spBC, &a_); + string_append_from_obseg_textbank(&spBC, *((((phi_s2_2 * 8) - phi_s2_2) * 4) + &mission_folder_setup_entries)); + string_append_from_obseg_textbank(&spBC, &a_); } - string_load_parse_something(&spBC, *((((phi_s1_3 * 8) - phi_s1_3) * 4) + &mission_folder_setup_entries)); - string_load_parse_something(&spBC, &asc_D_8004F490); + string_append_from_obseg_textbank(&spBC, *((((phi_s1_3 * 8) - phi_s1_3) * 4) + &mission_folder_setup_entries)); + string_append_from_obseg_textbank(&spBC, &asc_D_8004F490); spF4 = 0; spF8 = 0; sub_GAME_7F0AE98C(&spF8, &spF4, &spBC, ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0); @@ -6515,7 +6508,7 @@ loop_24: { goto loop_7; } - sub_GAME_7F0ACB78(0); + setTextSpacingInverted(0); temp_ret_4 = get_textptr_for_textID(TEXT(LTITLE, 0x1b)); spF4 = 0; spF8 = 0; @@ -6742,7 +6735,7 @@ glabel constructor_menu05_fileselect /* 041160 7F00C630 0FC2B366 */ jal microcode_constructor /* 041164 7F00C634 8FA401B8 */ lw $a0, 0x1b8($sp) /* 041168 7F00C638 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04116C 7F00C63C 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 04116C 7F00C63C 0FC2B2DE */ jal setTextSpacingInverted /* 041170 7F00C640 00002025 */ move $a0, $zero /* 041174 7F00C644 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80069620) /* 041178 7F00C648 256B9620 */ addiu $t3, %lo(dword_CODE_bss_80069620) # addiu $t3, $t3, -0x69e0 @@ -7029,7 +7022,7 @@ glabel constructor_menu05_fileselect /* 0415C4 7F00CA94 00402825 */ move $a1, $v0 /* 0415C8 7F00CA98 3C058005 */ lui $a1, %hi(asc_D_8004F488) /* 0415CC 7F00CA9C 24A5F488 */ addiu $a1, %lo(asc_D_8004F488) # addiu $a1, $a1, -0xb78 -/* 0415D0 7F00CAA0 0C0029FF */ jal string_load_parse_something +/* 0415D0 7F00CAA0 0C0029FF */ jal string_append_from_obseg_textbank /* 0415D4 7F00CAA4 27A400D0 */ addiu $a0, $sp, 0xd0 /* 0415D8 7F00CAA8 8E980000 */ lw $t8, ($s4) /* 0415DC 7F00CAAC AFA000F4 */ sw $zero, 0xf4($sp) @@ -7125,19 +7118,19 @@ glabel constructor_menu05_fileselect /* 041730 7F00CC00 000A5080 */ sll $t2, $t2, 2 /* 041734 7F00CC04 014E4821 */ addu $t1, $t2, $t6 /* 041738 7F00CC08 8D250000 */ lw $a1, ($t1) -/* 04173C 7F00CC0C 0C0029FF */ jal string_load_parse_something +/* 04173C 7F00CC0C 0C0029FF */ jal string_append_from_obseg_textbank /* 041740 7F00CC10 02A02025 */ move $a0, $s5 /* 041744 7F00CC14 3C058005 */ lui $a1, %hi(a_) /* 041748 7F00CC18 24A5F48C */ addiu $a1, %lo(a_) # addiu $a1, $a1, -0xb74 -/* 04174C 7F00CC1C 0C0029FF */ jal string_load_parse_something +/* 04174C 7F00CC1C 0C0029FF */ jal string_append_from_obseg_textbank /* 041750 7F00CC20 02A02025 */ move $a0, $s5 .L7F00CC24: /* 041754 7F00CC24 02A02025 */ move $a0, $s5 -/* 041758 7F00CC28 0C0029FF */ jal string_load_parse_something +/* 041758 7F00CC28 0C0029FF */ jal string_append_from_obseg_textbank /* 04175C 7F00CC2C 8E050000 */ lw $a1, ($s0) /* 041760 7F00CC30 3C058005 */ lui $a1, %hi(asc_D_8004F490) /* 041764 7F00CC34 24A5F490 */ addiu $a1, %lo(asc_D_8004F490) # addiu $a1, $a1, -0xb70 -/* 041768 7F00CC38 0C0029FF */ jal string_load_parse_something +/* 041768 7F00CC38 0C0029FF */ jal string_append_from_obseg_textbank /* 04176C 7F00CC3C 02A02025 */ move $a0, $s5 /* 041770 7F00CC40 8E880000 */ lw $t0, ($s4) /* 041774 7F00CC44 AFA000F4 */ sw $zero, 0xf4($sp) @@ -7199,7 +7192,7 @@ glabel constructor_menu05_fileselect /* 041848 7F00CD18 AFAD0074 */ sw $t5, 0x74($sp) /* 04184C 7F00CD1C 1501FE56 */ bne $t0, $at, .L7F00C678 /* 041850 7F00CD20 AFA801B4 */ sw $t0, 0x1b4($sp) -/* 041854 7F00CD24 0FC2B2DE */ jal sub_GAME_7F0ACB78 +/* 041854 7F00CD24 0FC2B2DE */ jal setTextSpacingInverted /* 041858 7F00CD28 00002025 */ move $a0, $zero /* 04185C 7F00CD2C 0FC30776 */ jal get_textptr_for_textID /* 041860 7F00CD30 34049C1B */ li $a0, 39963 @@ -7594,7 +7587,7 @@ loop_1: { goto loop_1; } - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A38); set_page_height(0x42c80000, D_80051A3C); set_video2_settings_offset_24(0); @@ -7737,7 +7730,7 @@ glabel interface_menu06_modesel /* 041E24 7F00D2F4 24630001 */ addiu $v1, $v1, 1 /* 041E28 7F00D2F8 3C014270 */ li $at, 0x42700000 # 60.000000 /* 041E2C 7F00D2FC 44816000 */ mtc1 $at, $f12 -/* 041E30 7F00D300 0C001151 */ jal video_related_1F +/* 041E30 7F00D300 0C001151 */ jal setvideo_far /* 041E34 7F00D304 00000000 */ nop /* 041E38 7F00D308 3C018005 */ lui $at, %hi(D_80051A38) /* 041E3C 7F00D30C 0C001164 */ jal video_related_21 @@ -8661,7 +8654,7 @@ u32 check_if_stage_completed_on_difficulty(int stage, DIFFICULTY difficulty) { completed = FALSE; } else { - completed = doesFolderHaveStageUnlockedAtDifficulty(selected_folder_num,mission_folder_setup_entries[stage].mission_num,difficulty); + completed = isStageUnlockedAtDifficulty(selected_folder_num,mission_folder_setup_entries[stage].mission_num,difficulty); } return completed; } @@ -8681,7 +8674,7 @@ glabel check_if_stage_completed_on_difficulty /* 042860 7F00DD30 00A03025 */ move $a2, $a1 /* 042864 7F00DD34 3C048003 */ lui $a0, %hi(selected_folder_num) /* 042868 7F00DD38 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 04286C 7F00DD3C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 04286C 7F00DD3C 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 042870 7F00DD40 00E02825 */ move $a1, $a3 /* 042874 7F00DD44 10000003 */ b .L7F00DD54 /* 042878 7F00DD48 8FBF0014 */ lw $ra, 0x14($sp) @@ -8723,7 +8716,7 @@ s32 get_highest_unlocked_difficulty_for_level(s32 arg0) { phi_s0 = phi_s1; loop_6: - temp_ret_2 = doesFolderHaveStageUnlockedAtDifficulty(selected_folder_num, arg0, phi_s0); + temp_ret_2 = isStageUnlockedAtDifficulty(selected_folder_num, arg0, phi_s0); if (append_cheat_sp == 0) { if (temp_ret_2 != 0) @@ -8789,7 +8782,7 @@ glabel get_highest_unlocked_difficulty_for_level /* 042914 7F00DDE4 8E840000 */ lw $a0, ($s4) .L7F00DDE8: /* 042918 7F00DDE8 02602825 */ move $a1, $s3 -/* 04291C 7F00DDEC 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 04291C 7F00DDEC 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 042920 7F00DDF0 02003025 */ move $a2, $s0 /* 042924 7F00DDF4 8E380000 */ lw $t8, ($s1) /* 042928 7F00DDF8 17000005 */ bnez $t8, .L7F00DE10 @@ -8882,7 +8875,7 @@ void interface_menu07_missionsel(void) s32 phi_a0; s32 phi_s5; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A44); set_page_height(0x42c80000, D_80051A48); set_video2_settings_offset_24(0); @@ -9116,7 +9109,7 @@ glabel interface_menu07_missionsel /* 042A00 7F00DED0 AFB30020 */ sw $s3, 0x20($sp) /* 042A04 7F00DED4 AFB2001C */ sw $s2, 0x1c($sp) /* 042A08 7F00DED8 AFB10018 */ sw $s1, 0x18($sp) -/* 042A0C 7F00DEDC 0C001151 */ jal video_related_1F +/* 042A0C 7F00DEDC 0C001151 */ jal setvideo_far /* 042A10 7F00DEE0 AFB00014 */ sw $s0, 0x14($sp) /* 042A14 7F00DEE4 3C018005 */ lui $at, %hi(D_80051A44) /* 042A18 7F00DEE8 0C001164 */ jal video_related_21 @@ -9481,7 +9474,7 @@ glabel interface_menu07_missionsel /* 042A60 7F00DEF0 AFB30020 */ sw $s3, 0x20($sp) /* 042A64 7F00DEF4 AFB2001C */ sw $s2, 0x1c($sp) /* 042A68 7F00DEF8 AFB10018 */ sw $s1, 0x18($sp) -/* 042A6C 7F00DEFC 0C001151 */ jal video_related_1F +/* 042A6C 7F00DEFC 0C001151 */ jal setvideo_far /* 042A70 7F00DF00 AFB00014 */ sw $s0, 0x14($sp) /* 042A74 7F00DF04 3C018005 */ lui $at, %hi(D_80051A44) # $at, 0x8005 /* 042A78 7F00DF08 0C001164 */ jal video_related_21 @@ -9970,7 +9963,7 @@ loop_10: } } } - string_load_parse_something(&sp90, &asc_D_8004F4A0); + string_append_from_obseg_textbank(&sp90, &asc_D_8004F4A0); spC4 = 0; temp_a0 = &spC8; spC8 = 0; @@ -10103,7 +10096,7 @@ glabel constructor_menu07_missionsel .L7F00E5C4: /* 0430F4 7F00E5C4 3C058005 */ lui $a1, %hi(asc_D_8004F4A0) /* 0430F8 7F00E5C8 24A5F4A0 */ addiu $a1, %lo(asc_D_8004F4A0) # addiu $a1, $a1, -0xb60 -/* 0430FC 7F00E5CC 0C0029FF */ jal string_load_parse_something +/* 0430FC 7F00E5CC 0C0029FF */ jal string_append_from_obseg_textbank /* 043100 7F00E5D0 02402025 */ move $a0, $s2 /* 043104 7F00E5D4 3C198004 */ lui $t9, %hi(ptrFirstFontTableSmall) /* 043108 7F00E5D8 8F390EAC */ lw $t9, %lo(ptrFirstFontTableSmall)($t9) @@ -10240,7 +10233,7 @@ void interface_menu08_difficulty(void) s32 sp1C; sp1C = get_highest_unlocked_difficulty_for_level((0x80030000 + (briefingpage * 0x1c))->unk-5408); - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A4C); set_page_height(0x42c80000, D_80051A50); set_video2_settings_offset_24(0); @@ -10341,7 +10334,7 @@ glabel interface_menu08_difficulty /* 043318 7F00E7E8 8C84ABF8 */ lw $a0, %lo(mission_folder_setup_entries+0x14)($a0) /* 04331C 7F00E7EC 3C014270 */ li $at, 0x42700000 # 60.000000 /* 043320 7F00E7F0 44816000 */ mtc1 $at, $f12 -/* 043324 7F00E7F4 0C001151 */ jal video_related_1F +/* 043324 7F00E7F4 0C001151 */ jal setvideo_far /* 043328 7F00E7F8 AFA2001C */ sw $v0, 0x1c($sp) /* 04332C 7F00E7FC 3C018005 */ lui $at, %hi(D_80051A4C) /* 043330 7F00E800 0C001164 */ jal video_related_21 @@ -10549,7 +10542,7 @@ void print_current_solo_briefing_stage_name(s32 arg0, s32 arg1) if (selected_difficulty >= 0) { textpointer_load_parse_something(arg1, get_ptr_difficulty_name(selected_difficulty, selected_difficulty)); - string_load_parse_something(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x20))); + string_append_from_obseg_textbank(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x20))); sp54 = 0x37; sp50 = 0x57; sp44 = get_video2_settings_txtClipW(); @@ -10562,20 +10555,20 @@ void print_current_solo_briefing_stage_name(s32 arg0, s32 arg1) textpointer_load_parse_something(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x21))); temp_v1 = (sp4C * 0x1c) + &mission_folder_setup_entries; sp40 = temp_v1; - string_load_parse_something(arg1, *temp_v1); - string_load_parse_something(arg1, &asc_D_8004F4A4); - string_load_parse_something(arg1, get_textptr_for_textID(sp40->unk4)); - string_load_parse_something(arg1, &asc_D_8004F4A8); + string_append_from_obseg_textbank(arg1, *temp_v1); + string_append_from_obseg_textbank(arg1, &asc_D_8004F4A4); + string_append_from_obseg_textbank(arg1, get_textptr_for_textID(sp40->unk4)); + string_append_from_obseg_textbank(arg1, &asc_D_8004F4A8); sp54 = 0x37; sp50 = 0x67; sp44 = get_video2_settings_txtClipW(); arg0 = write_text_at_abs_coord(arg0, &sp54, &sp50, arg1, (?32) ptrSecondFontTableLarge, (?32) ptrFirstFontTableLarge, 0xff, sp44, get_video2_settings_txtClipH(), 0, 0); } textpointer_load_parse_something(arg1, get_textptr_for_textID(TEXT(LTITLE, 0x22))); - string_load_parse_something(arg1, *(&mission_folder_setup_entries + (briefingpage * 0x1c))); - string_load_parse_something(arg1, &asc_D_8004F4AC); - string_load_parse_something(arg1, get_textptr_for_textID(*(&mission_folder_setup_entries + (briefingpage * 0x1c)))); - string_load_parse_something(arg1, &asc_D_8004F4B0); + string_append_from_obseg_textbank(arg1, *(&mission_folder_setup_entries + (briefingpage * 0x1c))); + string_append_from_obseg_textbank(arg1, &asc_D_8004F4AC); + string_append_from_obseg_textbank(arg1, get_textptr_for_textID(*(&mission_folder_setup_entries + (briefingpage * 0x1c)))); + string_append_from_obseg_textbank(arg1, &asc_D_8004F4B0); sp54 = 0x37; sp50 = 0x77; sp44 = get_video2_settings_txtClipW(); @@ -10601,7 +10594,7 @@ glabel print_current_solo_briefing_stage_name /* 043620 7F00EAF0 0FC30776 */ jal get_textptr_for_textID /* 043624 7F00EAF4 34049C20 */ li $a0, 39968 /* 043628 7F00EAF8 02002025 */ move $a0, $s0 -/* 04362C 7F00EAFC 0C0029FF */ jal string_load_parse_something +/* 04362C 7F00EAFC 0C0029FF */ jal string_append_from_obseg_textbank /* 043630 7F00EB00 00402825 */ move $a1, $v0 /* 043634 7F00EB04 240E0037 */ li $t6, 55 /* 043638 7F00EB08 240F0057 */ li $t7, 87 @@ -10649,21 +10642,21 @@ glabel print_current_solo_briefing_stage_name /* 0436DC 7F00EBAC 016C1821 */ addu $v1, $t3, $t4 /* 0436E0 7F00EBB0 8C650000 */ lw $a1, ($v1) /* 0436E4 7F00EBB4 AFA30040 */ sw $v1, 0x40($sp) -/* 0436E8 7F00EBB8 0C0029FF */ jal string_load_parse_something +/* 0436E8 7F00EBB8 0C0029FF */ jal string_append_from_obseg_textbank /* 0436EC 7F00EBBC 02002025 */ move $a0, $s0 /* 0436F0 7F00EBC0 3C058005 */ lui $a1, %hi(asc_D_8004F4A4) /* 0436F4 7F00EBC4 24A5F4A4 */ addiu $a1, %lo(asc_D_8004F4A4) # addiu $a1, $a1, -0xb5c -/* 0436F8 7F00EBC8 0C0029FF */ jal string_load_parse_something +/* 0436F8 7F00EBC8 0C0029FF */ jal string_append_from_obseg_textbank /* 0436FC 7F00EBCC 02002025 */ move $a0, $s0 /* 043700 7F00EBD0 8FAD0040 */ lw $t5, 0x40($sp) /* 043704 7F00EBD4 0FC30776 */ jal get_textptr_for_textID /* 043708 7F00EBD8 95A40004 */ lhu $a0, 4($t5) /* 04370C 7F00EBDC 02002025 */ move $a0, $s0 -/* 043710 7F00EBE0 0C0029FF */ jal string_load_parse_something +/* 043710 7F00EBE0 0C0029FF */ jal string_append_from_obseg_textbank /* 043714 7F00EBE4 00402825 */ move $a1, $v0 /* 043718 7F00EBE8 3C058005 */ lui $a1, %hi(asc_D_8004F4A8) /* 04371C 7F00EBEC 24A5F4A8 */ addiu $a1, %lo(asc_D_8004F4A8) # addiu $a1, $a1, -0xb58 -/* 043720 7F00EBF0 0C0029FF */ jal string_load_parse_something +/* 043720 7F00EBF0 0C0029FF */ jal string_append_from_obseg_textbank /* 043724 7F00EBF4 02002025 */ move $a0, $s0 /* 043728 7F00EBF8 240E0037 */ li $t6, 55 /* 04372C 7F00EBFC 240F0067 */ li $t7, 103 @@ -10705,11 +10698,11 @@ glabel print_current_solo_briefing_stage_name /* 0437B8 7F00EC88 016A5823 */ subu $t3, $t3, $t2 /* 0437BC 7F00EC8C 000B5880 */ sll $t3, $t3, 2 /* 0437C0 7F00EC90 00AB2821 */ addu $a1, $a1, $t3 -/* 0437C4 7F00EC94 0C0029FF */ jal string_load_parse_something +/* 0437C4 7F00EC94 0C0029FF */ jal string_append_from_obseg_textbank /* 0437C8 7F00EC98 8CA5ABE4 */ lw $a1, %lo(mission_folder_setup_entries)($a1) /* 0437CC 7F00EC9C 3C058005 */ lui $a1, %hi(asc_D_8004F4AC) /* 0437D0 7F00ECA0 24A5F4AC */ addiu $a1, %lo(asc_D_8004F4AC) # addiu $a1, $a1, -0xb54 -/* 0437D4 7F00ECA4 0C0029FF */ jal string_load_parse_something +/* 0437D4 7F00ECA4 0C0029FF */ jal string_append_from_obseg_textbank /* 0437D8 7F00ECA8 02002025 */ move $a0, $s0 /* 0437DC 7F00ECAC 3C0C8003 */ lui $t4, %hi(briefingpage) /* 0437E0 7F00ECB0 8D8CA8F8 */ lw $t4, %lo(briefingpage)($t4) @@ -10721,11 +10714,11 @@ glabel print_current_solo_briefing_stage_name /* 0437F8 7F00ECC8 0FC30776 */ jal get_textptr_for_textID /* 0437FC 7F00ECCC 9484ABE8 */ lhu $a0, %lo(mission_folder_setup_entries+0x4)($a0) /* 043800 7F00ECD0 02002025 */ move $a0, $s0 -/* 043804 7F00ECD4 0C0029FF */ jal string_load_parse_something +/* 043804 7F00ECD4 0C0029FF */ jal string_append_from_obseg_textbank /* 043808 7F00ECD8 00402825 */ move $a1, $v0 /* 04380C 7F00ECDC 3C058005 */ lui $a1, %hi(asc_D_8004F4B0) /* 043810 7F00ECE0 24A5F4B0 */ addiu $a1, %lo(asc_D_8004F4B0) # addiu $a1, $a1, -0xb50 -/* 043814 7F00ECE4 0C0029FF */ jal string_load_parse_something +/* 043814 7F00ECE4 0C0029FF */ jal string_append_from_obseg_textbank /* 043818 7F00ECE8 02002025 */ move $a0, $s0 /* 04381C 7F00ECEC 240E0037 */ li $t6, 55 /* 043820 7F00ECF0 240F0077 */ li $t7, 119 @@ -11438,7 +11431,7 @@ void interface_menu09_007options(void) f32 phi_f0; f32 phi_f0_2; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A58); set_page_height(0x42c80000, D_80051A5C); set_video2_settings_offset_24(0); @@ -11610,7 +11603,7 @@ glabel interface_menu09_007options /* 043EA8 7F00F378 3C014270 */ li $at, 0x42700000 # 60.000000 /* 043EAC 7F00F37C AFBF0014 */ sw $ra, 0x14($sp) /* 043EB0 7F00F380 44816000 */ mtc1 $at, $f12 -/* 043EB4 7F00F384 0C001151 */ jal video_related_1F +/* 043EB4 7F00F384 0C001151 */ jal setvideo_far /* 043EB8 7F00F388 00000000 */ nop /* 043EBC 7F00F38C 3C018005 */ lui $at, %hi(D_80051A58) /* 043EC0 7F00F390 0C001164 */ jal video_related_21 @@ -12648,82 +12641,29 @@ glabel get_player_control_style -#ifdef NONMATCHING -? check_if_mp_stage_unlocked(s32 arg0) -{ - void *sp18; - void *temp_v1; - temp_v1 = (arg0 * 0x18) + &multi_stage_setups; - if (temp_v1->unk10 == 0) +s32 check_if_mp_stage_unlocked(s32 stage) +{ + s32 players; + if (!multi_stage_setups[stage].min_player) { return 0; } - sp18 = temp_v1; - if (temp_v1->unk14 < get_selected_num_players()) + players=get_selected_num_players(); + if (multi_stage_setups[stage].max_player < players) { return 0; } - if (temp_v1->unkC == -1) + if (multi_stage_setups[stage].unlock_after == -1) { return 1; } - if (doesFolderHaveStageUnlockedAtDifficulty(selected_folder_num, temp_v1->unkC, 0) != 0) + if (isStageUnlockedAtDifficulty(selected_folder_num, multi_stage_setups[stage].unlock_after, DIFFICULTY_AGENT)) { return 1; } return 0; } -#else -GLOBAL_ASM( -.text -glabel check_if_mp_stage_unlocked -/* 044C00 7F0100D0 00047080 */ sll $t6, $a0, 2 -/* 044C04 7F0100D4 01C47023 */ subu $t6, $t6, $a0 -/* 044C08 7F0100D8 3C0F8003 */ lui $t7, %hi(multi_stage_setups) -/* 044C0C 7F0100DC 25EFB074 */ addiu $t7, %lo(multi_stage_setups) # addiu $t7, $t7, -0x4f8c -/* 044C10 7F0100E0 000E70C0 */ sll $t6, $t6, 3 -/* 044C14 7F0100E4 01CF1821 */ addu $v1, $t6, $t7 -/* 044C18 7F0100E8 8C780010 */ lw $t8, 0x10($v1) -/* 044C1C 7F0100EC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 044C20 7F0100F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 044C24 7F0100F4 17000003 */ bnez $t8, .L7F010104 -/* 044C28 7F0100F8 00000000 */ nop -/* 044C2C 7F0100FC 10000018 */ b .L7F010160 -/* 044C30 7F010100 00001025 */ move $v0, $zero -.L7F010104: -/* 044C34 7F010104 0FC040A4 */ jal get_selected_num_players -/* 044C38 7F010108 AFA30018 */ sw $v1, 0x18($sp) -/* 044C3C 7F01010C 8FA30018 */ lw $v1, 0x18($sp) -/* 044C40 7F010110 8C790014 */ lw $t9, 0x14($v1) -/* 044C44 7F010114 0322082A */ slt $at, $t9, $v0 -/* 044C48 7F010118 50200004 */ beql $at, $zero, .L7F01012C -/* 044C4C 7F01011C 8C65000C */ lw $a1, 0xc($v1) -/* 044C50 7F010120 1000000F */ b .L7F010160 -/* 044C54 7F010124 00001025 */ move $v0, $zero -/* 044C58 7F010128 8C65000C */ lw $a1, 0xc($v1) -.L7F01012C: -/* 044C5C 7F01012C 2401FFFF */ li $at, -1 -/* 044C60 7F010130 3C048003 */ lui $a0, %hi(selected_folder_num) -/* 044C64 7F010134 14A10003 */ bne $a1, $at, .L7F010144 -/* 044C68 7F010138 00003025 */ move $a2, $zero -/* 044C6C 7F01013C 10000008 */ b .L7F010160 -/* 044C70 7F010140 24020001 */ li $v0, 1 -.L7F010144: -/* 044C74 7F010144 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty -/* 044C78 7F010148 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 044C7C 7F01014C 50400004 */ beql $v0, $zero, .L7F010160 -/* 044C80 7F010150 00001025 */ move $v0, $zero -/* 044C84 7F010154 10000002 */ b .L7F010160 -/* 044C88 7F010158 24020001 */ li $v0, 1 -/* 044C8C 7F01015C 00001025 */ move $v0, $zero -.L7F010160: -/* 044C90 7F010160 8FBF0014 */ lw $ra, 0x14($sp) -/* 044C94 7F010164 27BD0020 */ addiu $sp, $sp, 0x20 -/* 044C98 7F010168 03E00008 */ jr $ra -/* 044C9C 7F01016C 00000000 */ nop -) -#endif @@ -12799,12 +12739,12 @@ void copy_aim_settings_to_playerdata(void) { player1_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim; player1_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight; - player2_player_data.autoaim = player1_player_data.autoaim; - player2_player_data.sight = player1_player_data.sight; - player3_player_data.autoaim = player1_player_data.autoaim; - player3_player_data.sight = player1_player_data.sight; - player4_player_data.autoaim = player1_player_data.autoaim; - player4_player_data.sight = player1_player_data.sight; + player2_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim; + player2_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight; + player3_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim; + player3_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight; + player4_player_data.autoaim = mp_sight_adjust_table[aim_sight_adjustment].autoaim; + player4_player_data.sight = mp_sight_adjust_table[aim_sight_adjustment].sight; } #else GLOBAL_ASM( @@ -12897,400 +12837,128 @@ void unlock_all_mp_chars(void) { } - - - - -u32 get_selected_num_players(void) +s32 get_selected_num_players(void) { - if (gamemode == GAMEMODE_MULTI) { - return selected_num_players; - } - return 1; + if (gamemode == GAMEMODE_MULTI) + { + return selected_num_players; + } + return 1; } - - - - -#ifdef NONMATCHING -HEADS get_player_mp_char_head(int player) +u16 get_player_mp_char_head(s32 player) { - if ((int)(&player_1_char)[player] < 0) { - return (HEADS)(uint)(ushort)mp_chr_setup[player].head; - } - return (HEADS)(uint)(ushort)mp_chr_setup[(&player_1_char)[player]].head; + if ((&player_1_char)[player] < 0) + { + return mp_chr_setup[player].head; + } + return mp_chr_setup[(&player_1_char)[player]].head; } -#else -GLOBAL_ASM( -.text -glabel get_player_mp_char_head -/* 044DEC 7F0102BC 00047080 */ sll $t6, $a0, 2 -/* 044DF0 7F0102C0 3C038003 */ lui $v1, %hi(player_1_char) -/* 044DF4 7F0102C4 006E1821 */ addu $v1, $v1, $t6 -/* 044DF8 7F0102C8 8C63B524 */ lw $v1, %lo(player_1_char)($v1) -/* 044DFC 7F0102CC 00047880 */ sll $t7, $a0, 2 -/* 044E00 7F0102D0 3C028003 */ lui $v0, %hi(mp_chr_setup+6) -/* 044E04 7F0102D4 04610007 */ bgez $v1, .L7F0102F4 -/* 044E08 7F0102D8 0003C080 */ sll $t8, $v1, 2 -/* 044E0C 7F0102DC 01E47823 */ subu $t7, $t7, $a0 -/* 044E10 7F0102E0 000F7880 */ sll $t7, $t7, 2 -/* 044E14 7F0102E4 3C028003 */ lui $v0, %hi(mp_chr_setup+6) -/* 044E18 7F0102E8 004F1021 */ addu $v0, $v0, $t7 -/* 044E1C 7F0102EC 03E00008 */ jr $ra -/* 044E20 7F0102F0 9442B19E */ lhu $v0, %lo(mp_chr_setup+6)($v0) -.L7F0102F4: -/* 044E24 7F0102F4 0303C023 */ subu $t8, $t8, $v1 -/* 044E28 7F0102F8 0018C080 */ sll $t8, $t8, 2 -/* 044E2C 7F0102FC 00581021 */ addu $v0, $v0, $t8 -/* 044E30 7F010300 9442B19E */ lhu $v0, %lo(mp_chr_setup+6)($v0) -/* 044E34 7F010304 03E00008 */ jr $ra -/* 044E38 7F010308 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -ulonglong get_player_mp_char_gender(int player) +u8 get_player_mp_char_gender(int player) { - if ((int)(&player_1_char)[player] < 0) { - return (ulonglong)(byte)mp_chr_setup[player].gender; - } - return (ulonglong)(byte)mp_chr_setup[(&player_1_char)[player]].gender; + if ((&player_1_char)[player] < 0) + { + return mp_chr_setup[player].gender; + } + return mp_chr_setup[(&player_1_char)[player]].gender; } -#else -GLOBAL_ASM( -.text -glabel get_player_mp_char_gender -/* 044E3C 7F01030C 00047080 */ sll $t6, $a0, 2 -/* 044E40 7F010310 3C038003 */ lui $v1, %hi(player_1_char) -/* 044E44 7F010314 006E1821 */ addu $v1, $v1, $t6 -/* 044E48 7F010318 8C63B524 */ lw $v1, %lo(player_1_char)($v1) -/* 044E4C 7F01031C 00047880 */ sll $t7, $a0, 2 -/* 044E50 7F010320 3C028003 */ lui $v0, %hi(mp_chr_setup+2) -/* 044E54 7F010324 04610007 */ bgez $v1, .L7F010344 -/* 044E58 7F010328 0003C080 */ sll $t8, $v1, 2 -/* 044E5C 7F01032C 01E47823 */ subu $t7, $t7, $a0 -/* 044E60 7F010330 000F7880 */ sll $t7, $t7, 2 -/* 044E64 7F010334 3C028003 */ lui $v0, %hi(mp_chr_setup+2) -/* 044E68 7F010338 004F1021 */ addu $v0, $v0, $t7 -/* 044E6C 7F01033C 03E00008 */ jr $ra -/* 044E70 7F010340 9042B19A */ lbu $v0, %lo(mp_chr_setup+2)($v0) -.L7F010344: -/* 044E74 7F010344 0303C023 */ subu $t8, $t8, $v1 -/* 044E78 7F010348 0018C080 */ sll $t8, $t8, 2 -/* 044E7C 7F01034C 00581021 */ addu $v0, $v0, $t8 -/* 044E80 7F010350 9042B19A */ lbu $v0, %lo(mp_chr_setup+2)($v0) -/* 044E84 7F010354 03E00008 */ jr $ra -/* 044E88 7F010358 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -BODIES get_player_mp_char_body(int player) +u16 get_player_mp_char_body(int player) { - if ((int)(&player_1_char)[player] < 0) { - return (BODIES)(uint)(ushort)mp_chr_setup[player].body; - } - return (BODIES)(uint)(ushort)mp_chr_setup[(&player_1_char)[player]].body; + if ((&player_1_char)[player] < 0) + { + return mp_chr_setup[player].body; + } + return mp_chr_setup[(&player_1_char)[player]].body; } -#else -GLOBAL_ASM( -.text -glabel get_player_mp_char_body -/* 044E8C 7F01035C 00047080 */ sll $t6, $a0, 2 -/* 044E90 7F010360 3C038003 */ lui $v1, %hi(player_1_char) -/* 044E94 7F010364 006E1821 */ addu $v1, $v1, $t6 -/* 044E98 7F010368 8C63B524 */ lw $v1, %lo(player_1_char)($v1) -/* 044E9C 7F01036C 00047880 */ sll $t7, $a0, 2 -/* 044EA0 7F010370 3C028003 */ lui $v0, %hi(mp_chr_setup+4) -/* 044EA4 7F010374 04610007 */ bgez $v1, .L7F010394 -/* 044EA8 7F010378 0003C080 */ sll $t8, $v1, 2 -/* 044EAC 7F01037C 01E47823 */ subu $t7, $t7, $a0 -/* 044EB0 7F010380 000F7880 */ sll $t7, $t7, 2 -/* 044EB4 7F010384 3C028003 */ lui $v0, %hi(mp_chr_setup+4) -/* 044EB8 7F010388 004F1021 */ addu $v0, $v0, $t7 -/* 044EBC 7F01038C 03E00008 */ jr $ra -/* 044EC0 7F010390 9442B19C */ lhu $v0, %lo(mp_chr_setup+4)($v0) -.L7F010394: -/* 044EC4 7F010394 0303C023 */ subu $t8, $t8, $v1 -/* 044EC8 7F010398 0018C080 */ sll $t8, $t8, 2 -/* 044ECC 7F01039C 00581021 */ addu $v0, $v0, $t8 -/* 044ED0 7F0103A0 9442B19C */ lhu $v0, %lo(mp_chr_setup+4)($v0) -/* 044ED4 7F0103A4 03E00008 */ jr $ra -/* 044ED8 7F0103A8 00000000 */ nop -) -#endif - - - - f32 get_player_mp_handicap(int player) { - return (f32)MP_handicap_table[(&handicap_player1)[player]].damage_modifier; + return MP_handicap_table[(&handicap_player1)[player]].damage_modifier; } - - - - - -#ifdef NONMATCHING f32 get_player_mp_char_height(int player) { - if ((int)(&player_1_char)[player] < 0) { - return (f32)mp_chr_setup[player].pov; - } - return (f32)mp_chr_setup[(&player_1_char)[player]].pov; + if ((&player_1_char)[player] < 0) { + return mp_chr_setup[player].pov; + } + return mp_chr_setup[(&player_1_char)[player]].pov; } -#else -GLOBAL_ASM( -.text -glabel get_player_mp_char_height -/* 044F00 7F0103D0 00047080 */ sll $t6, $a0, 2 -/* 044F04 7F0103D4 3C028003 */ lui $v0, %hi(player_1_char) -/* 044F08 7F0103D8 004E1021 */ addu $v0, $v0, $t6 -/* 044F0C 7F0103DC 8C42B524 */ lw $v0, %lo(player_1_char)($v0) -/* 044F10 7F0103E0 00047880 */ sll $t7, $a0, 2 -/* 044F14 7F0103E4 3C018003 */ lui $at, %hi(mp_chr_setup+8) -/* 044F18 7F0103E8 04410007 */ bgez $v0, .L7F010408 -/* 044F1C 7F0103EC 0002C080 */ sll $t8, $v0, 2 -/* 044F20 7F0103F0 01E47823 */ subu $t7, $t7, $a0 -/* 044F24 7F0103F4 000F7880 */ sll $t7, $t7, 2 -/* 044F28 7F0103F8 3C018003 */ lui $at, %hi(mp_chr_setup+8) -/* 044F2C 7F0103FC 002F0821 */ addu $at, $at, $t7 -/* 044F30 7F010400 03E00008 */ jr $ra -/* 044F34 7F010404 C420B1A0 */ lwc1 $f0, %lo(mp_chr_setup+8)($at) -.L7F010408: -/* 044F38 7F010408 0302C023 */ subu $t8, $t8, $v0 -/* 044F3C 7F01040C 0018C080 */ sll $t8, $t8, 2 -/* 044F40 7F010410 00380821 */ addu $at, $at, $t8 -/* 044F44 7F010414 C420B1A0 */ lwc1 $f0, %lo(mp_chr_setup+8)($at) -/* 044F48 7F010418 03E00008 */ jr $ra -/* 044F4C 7F01041C 00000000 */ nop -) -#endif - - - - - int get_mp_timelimit(void) { return multi_game_lengths[game_length].time; } - - int get_mp_pointlimit(void) { return multi_game_lengths[game_length].points; } - - - -#ifdef NONMATCHING -void reset_mp_options_for_scenario(MPSCENARIOS scenario) - +void reset_mp_options_for_scenario(MPSCENARIOS scenarioid) { - unlock_stage_select = 1; - unlock_game_length = 1; - unlock_chars = 1; - unlock_weapon_select = 1; - unlock_handicap = 1; - unlock_control_style = 1; - unlock_aim_sight = 1; - - scenario = scenario; - switch(scenario) { - case SCENARIO_NORMAL: - case SCENARIO_2v2: - case SCENARIO_3v1: - case SCENARIO_2v1: - if (6 < game_length) { - game_length = 2; + scenario = scenarioid; + + unlock_stage_select = 1; + unlock_game_length = 1; + unlock_chars = 1; + unlock_weapon_select = 1; + unlock_handicap = 1; + unlock_control_style = 1; + unlock_aim_sight = 1; + + + switch(scenario) + { + case SCENARIO_NORMAL: + case SCENARIO_2v2: + case SCENARIO_3v1: + case SCENARIO_2v1: + if (6 < game_length) + { + game_length = 2; + } + if (0xd < get_mp_weapon_set()) + { + set_mp_weapon_set(0xd); + } + break; + case SCENARIO_YOLT: + game_length = 7; + + if (0xd < get_mp_weapon_set()) + { + set_mp_weapon_set(0xd); + } + unlock_game_length = 0; + break; + case SCENARIO_TLD: + if (3 < game_length) + { + game_length = 2; + } + if (0xd < get_mp_weapon_set()) + { + set_mp_weapon_set(0xd); + } + break; + case SCENARIO_MWTGG: + if (6 < game_length) + { + game_length = 2; + } + set_mp_weapon_set(0xd); + unlock_weapon_select = 0; + break; + case SCENARIO_LTK: + if (6 < game_length) + { + game_length = 2; + } + set_mp_weapon_set(1); + unlock_handicap = 0; } - scenario = scenario; - if (0xd < get_mp_weapon_set()) { - set_mp_weapon_set(0xd); - } - break; - case SCENARIO_YOLT: - game_length = 7; - scenario = scenario; - if (0xd < get_mp_weapon_set()) { - set_mp_weapon_set(0xd); - } - unlock_game_length = 0; - break; - case SCENARIO_TLD: - if (3 < game_length) { - game_length = 2; - } - scenario = scenario; - if (0xd < get_mp_weapon_set()) { - set_mp_weapon_set(0xd); - } - break; - case SCENARIO_MWTGG: - if (6 < game_length) { - game_length = 2; - } - scenario = scenario; - set_mp_weapon_set(0xd); - unlock_weapon_select = 0; - break; - case SCENARIO_LTK: - if (6 < game_length) { - game_length = 2; - } - scenario = scenario; - set_mp_weapon_set(1); - unlock_handicap = 0; - } - return; + return; } -#else -GLOBAL_ASM( -.late_rodata -glabel jpt_scenario_specific_settings_mp - .word .L7F0104DC - .word .L7F01051C - .word .L7F010550 - .word .L7F010594 - .word .L7F0105C8 - .word .L7F0104DC - .word .L7F0104DC - .word .L7F0104DC -.text -glabel reset_mp_options_for_scenario -/* 044F98 7F010468 3C038003 */ lui $v1, %hi(scenario) -/* 044F9C 7F01046C 2463B540 */ addiu $v1, %lo(scenario) # addiu $v1, $v1, -0x4ac0 -/* 044FA0 7F010470 24020001 */ li $v0, 1 -/* 044FA4 7F010474 AC640000 */ sw $a0, ($v1) -/* 044FA8 7F010478 3C018003 */ lui $at, %hi(unlock_stage_select) -/* 044FAC 7F01047C AC22B544 */ sw $v0, %lo(unlock_stage_select)($at) -/* 044FB0 7F010480 3C018003 */ lui $at, %hi(unlock_game_length) -/* 044FB4 7F010484 AC22B548 */ sw $v0, %lo(unlock_game_length)($at) -/* 044FB8 7F010488 3C018003 */ lui $at, %hi(unlock_chars) -/* 044FBC 7F01048C AC22B54C */ sw $v0, %lo(unlock_chars)($at) -/* 044FC0 7F010490 3C018003 */ lui $at, %hi(unlock_weapon_select) -/* 044FC4 7F010494 AC22B550 */ sw $v0, %lo(unlock_weapon_select)($at) -/* 044FC8 7F010498 3C018003 */ lui $at, %hi(unlock_handicap) -/* 044FCC 7F01049C AC22B554 */ sw $v0, %lo(unlock_handicap)($at) -/* 044FD0 7F0104A0 3C018003 */ lui $at, %hi(unlock_control_style) -/* 044FD4 7F0104A4 AC22B558 */ sw $v0, %lo(unlock_control_style)($at) -/* 044FD8 7F0104A8 3C018003 */ lui $at, %hi(unlock_aim_sight) -/* 044FDC 7F0104AC AC22B55C */ sw $v0, %lo(unlock_aim_sight)($at) -/* 044FE0 7F0104B0 8C6E0000 */ lw $t6, ($v1) -/* 044FE4 7F0104B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 044FE8 7F0104B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 044FEC 7F0104BC 2DC10008 */ sltiu $at, $t6, 8 -/* 044FF0 7F0104C0 1020004D */ beqz $at, .L7F0105F8 -/* 044FF4 7F0104C4 000E7080 */ sll $t6, $t6, 2 -/* 044FF8 7F0104C8 3C018005 */ lui $at, %hi(jpt_scenario_specific_settings_mp) -/* 044FFC 7F0104CC 002E0821 */ addu $at, $at, $t6 -/* 045000 7F0104D0 8C2E1A60 */ lw $t6, %lo(jpt_scenario_specific_settings_mp)($at) -/* 045004 7F0104D4 01C00008 */ jr $t6 -/* 045008 7F0104D8 00000000 */ nop -.L7F0104DC: -/* 04500C 7F0104DC 3C028003 */ lui $v0, %hi(game_length) -/* 045010 7F0104E0 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 045014 7F0104E4 8C4F0000 */ lw $t7, ($v0) -/* 045018 7F0104E8 29E10007 */ slti $at, $t7, 7 -/* 04501C 7F0104EC 14200002 */ bnez $at, .L7F0104F8 -/* 045020 7F0104F0 24180002 */ li $t8, 2 -/* 045024 7F0104F4 AC580000 */ sw $t8, ($v0) -.L7F0104F8: -/* 045028 7F0104F8 0FC3198F */ jal get_mp_weapon_set -/* 04502C 7F0104FC 00000000 */ nop -/* 045030 7F010500 2841000E */ slti $at, $v0, 0xe -/* 045034 7F010504 5420003D */ bnezl $at, .L7F0105FC -/* 045038 7F010508 8FBF0014 */ lw $ra, 0x14($sp) -/* 04503C 7F01050C 0FC3198C */ jal set_mp_weapon_set -/* 045040 7F010510 2404000D */ li $a0, 13 -/* 045044 7F010514 10000039 */ b .L7F0105FC -/* 045048 7F010518 8FBF0014 */ lw $ra, 0x14($sp) -.L7F01051C: -/* 04504C 7F01051C 3C028003 */ lui $v0, %hi(game_length) -/* 045050 7F010520 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 045054 7F010524 24190007 */ li $t9, 7 -/* 045058 7F010528 0FC3198F */ jal get_mp_weapon_set -/* 04505C 7F01052C AC590000 */ sw $t9, ($v0) -/* 045060 7F010530 2841000E */ slti $at, $v0, 0xe -/* 045064 7F010534 14200003 */ bnez $at, .L7F010544 -/* 045068 7F010538 00000000 */ nop -/* 04506C 7F01053C 0FC3198C */ jal set_mp_weapon_set -/* 045070 7F010540 2404000D */ li $a0, 13 -.L7F010544: -/* 045074 7F010544 3C018003 */ lui $at, %hi(unlock_game_length) -/* 045078 7F010548 1000002B */ b .L7F0105F8 -/* 04507C 7F01054C AC20B548 */ sw $zero, %lo(unlock_game_length)($at) -.L7F010550: -/* 045080 7F010550 3C028003 */ lui $v0, %hi(game_length) -/* 045084 7F010554 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 045088 7F010558 8C480000 */ lw $t0, ($v0) -/* 04508C 7F01055C 24090002 */ li $t1, 2 -/* 045090 7F010560 29010004 */ slti $at, $t0, 4 -/* 045094 7F010564 14200002 */ bnez $at, .L7F010570 -/* 045098 7F010568 00000000 */ nop -/* 04509C 7F01056C AC490000 */ sw $t1, ($v0) -.L7F010570: -/* 0450A0 7F010570 0FC3198F */ jal get_mp_weapon_set -/* 0450A4 7F010574 00000000 */ nop -/* 0450A8 7F010578 2841000E */ slti $at, $v0, 0xe -/* 0450AC 7F01057C 5420001F */ bnezl $at, .L7F0105FC -/* 0450B0 7F010580 8FBF0014 */ lw $ra, 0x14($sp) -/* 0450B4 7F010584 0FC3198C */ jal set_mp_weapon_set -/* 0450B8 7F010588 2404000D */ li $a0, 13 -/* 0450BC 7F01058C 1000001B */ b .L7F0105FC -/* 0450C0 7F010590 8FBF0014 */ lw $ra, 0x14($sp) -.L7F010594: -/* 0450C4 7F010594 3C028003 */ lui $v0, %hi(game_length) -/* 0450C8 7F010598 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 0450CC 7F01059C 8C4A0000 */ lw $t2, ($v0) -/* 0450D0 7F0105A0 240B0002 */ li $t3, 2 -/* 0450D4 7F0105A4 29410007 */ slti $at, $t2, 7 -/* 0450D8 7F0105A8 14200002 */ bnez $at, .L7F0105B4 -/* 0450DC 7F0105AC 00000000 */ nop -/* 0450E0 7F0105B0 AC4B0000 */ sw $t3, ($v0) -.L7F0105B4: -/* 0450E4 7F0105B4 0FC3198C */ jal set_mp_weapon_set -/* 0450E8 7F0105B8 2404000D */ li $a0, 13 -/* 0450EC 7F0105BC 3C018003 */ lui $at, %hi(unlock_weapon_select) -/* 0450F0 7F0105C0 1000000D */ b .L7F0105F8 -/* 0450F4 7F0105C4 AC20B550 */ sw $zero, %lo(unlock_weapon_select)($at) -.L7F0105C8: -/* 0450F8 7F0105C8 3C028003 */ lui $v0, %hi(game_length) -/* 0450FC 7F0105CC 2442B538 */ addiu $v0, %lo(game_length) # addiu $v0, $v0, -0x4ac8 -/* 045100 7F0105D0 8C4C0000 */ lw $t4, ($v0) -/* 045104 7F0105D4 240D0002 */ li $t5, 2 -/* 045108 7F0105D8 29810007 */ slti $at, $t4, 7 -/* 04510C 7F0105DC 14200002 */ bnez $at, .L7F0105E8 -/* 045110 7F0105E0 00000000 */ nop -/* 045114 7F0105E4 AC4D0000 */ sw $t5, ($v0) -.L7F0105E8: -/* 045118 7F0105E8 0FC3198C */ jal set_mp_weapon_set -/* 04511C 7F0105EC 24040001 */ li $a0, 1 -/* 045120 7F0105F0 3C018003 */ lui $at, %hi(unlock_handicap) -/* 045124 7F0105F4 AC20B554 */ sw $zero, %lo(unlock_handicap)($at) -def_7F0104D4: -.L7F0105F8: -/* 045128 7F0105F8 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0105FC: -/* 04512C 7F0105FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 045130 7F010600 03E00008 */ jr $ra -/* 045134 7F010604 00000000 */ nop -) -#endif @@ -13441,7 +13109,8 @@ void init_menu0E_mpoptions(void) tab_2_highlight = FALSE; tab_1_highlight = FALSE; - if (maybe_is_in_menu != FALSE) { + if (maybe_is_in_menu != FALSE) + { sfx_c_700091E8(0x7fff); musicTrack1Vol(0x7fff); music1_playing = FALSE; @@ -13449,12 +13118,14 @@ void init_menu0E_mpoptions(void) maybe_is_in_menu = FALSE; } - if (selected_num_players == 0) { + if (selected_num_players == 0) + { numplayers = get_attached_controller_count(); init_mp_options_for_scenario(numplayers); } - if (check_if_mp_stage_unlocked(MP_stage_selected) == FALSE) { + if (check_if_mp_stage_unlocked(MP_stage_selected) == FALSE) + { MP_stage_selected = MP_STAGE_TEMPLE; } @@ -13470,8 +13141,8 @@ void init_menu0E_mpoptions(void) load_walletbond(); } - -void update_menu0E_mpoptions(void) { +void update_menu0E_mpoptions(void) +{ return; } @@ -13485,44 +13156,45 @@ void update_menu0E_mpoptions(void) { #ifdef NONMATCHING void interface_menu0E_mpoptions(void) { - s32 sp3C; - s32 sp38; - s32 sp34; - s32 sp30; - s32 sp2C; - s32 sp28; - s32 sp24; - s32 sp20; - s32 sp1C; - s32 temp_f6; + s32 players_selected; + s32 scenario_selected; + s32 gameselect_selected; + s32 gamelength_selected; + s32 character_selected; + s32 weaponselect_selected; + s32 health_selected; + s32 controlstyle_selected; + s32 aimadjustment_selected; + + s32 cursor_v; s32 temp_v1; u32 temp_hi; void *temp_v0; s32 phi_a0; - sp3C = 0; - sp38 = 0; - sp34 = 0; - sp30 = 0; - sp2C = 0; - sp28 = 0; - sp24 = 0; - sp20 = 0; - sp1C = 0; - video_related_1F(0x42700000); - video_related_21(D_80051A80); - set_page_height(0x42c80000, D_80051A84); + players_selected = 0; + scenario_selected = 0; + gameselect_selected = 0; + gamelength_selected = 0; + character_selected = 0; + weaponselect_selected = 0; + health_selected = 0; + controlstyle_selected = 0; + aimadjustment_selected = 0; + setvideo_far(60.0f); + video_related_21(menu0E_aspect); + set_page_height(100.0f, menu0E_pageheight); set_video2_settings_offset_24(0); if (get_attached_controller_count() < 2) { - set_menu_to_mode(6, 0); + set_menu_to_mode(MENU_MODE_SELECT, 0); set_menu_cursor_pos_to_setting(gamemode); } if (get_attached_controller_count() < selected_num_players) { init_mp_options_for_scenario(get_attached_controller_count()); } - if (get_controller_buttons_held(0, 0xa000) == 0) + if (get_controller_buttons_held(0, Z_TRIG|A_BUTTON) == 0) { tab_3_highlight = 0; tab_2_highlight = 0; @@ -13536,87 +13208,70 @@ void interface_menu0E_mpoptions(void) highlight_health = 0; highlight_controlstyle = 0; highlight_aimadjustment = 0; - if (isontab3() != 0) + if (isontab3()) { tab_3_highlight = 1; } + + if (isontab1()) + { + cursor_v_pos = 1; + } + + cursor_v = (s32)cursor_v_pos; + if ((cursor_v >= 0x119) && (unlock_aim_sight != 0)) + { + highlight_aimadjustment = 1; + } + + if ((cursor_v >= 0x105) && (unlock_control_style != 0)) + { + highlight_controlstyle = 1; + } + + if ((cursor_v >= 0xf1) && (unlock_handicap != 0)) + { + highlight_health = 1; + } + + if ((cursor_v >= 0xdd) && (unlock_chars != 0)) + { + highlight_character = 1; + } + + if ((cursor_v >= 0xc9) && (unlock_weapon_select != 0)) + { + highlight_weaponselect = 1; + } + + if ((cursor_v >= 0xb5) && (unlock_game_length != 0)) + { + highlight_gamelength = 1; + } + + if ((cursor_v >= 0xa1) && (unlock_stage_select != 0)) + { + highlight_gameselect = 1; + } + + if (cursor_v >= 0x8d) + { + highlight_scenario = 1; + } else { - if (isontab1() != 0) - { - cursor_v_pos = 1; - } - else - { - temp_f6 = (s32) *(void *)0x80030000; - if ((temp_f6 >= 0x119) && (unlock_aim_sight != 0)) - { - highlight_aimadjustment = 1; - } - else - { - if ((temp_f6 >= 0x105) && (unlock_control_style != 0)) - { - highlight_controlstyle = 1; - } - else - { - if ((temp_f6 >= 0xf1) && (unlock_handicap != 0)) - { - highlight_health = 1; - } - else - { - if ((temp_f6 >= 0xdd) && (unlock_chars != 0)) - { - highlight_character = 1; - } - else - { - if ((temp_f6 >= 0xc9) && (unlock_weapon_select != 0)) - { - highlight_weaponselect = 1; - } - else - { - if ((temp_f6 >= 0xb5) && (unlock_game_length != 0)) - { - highlight_gamelength = 1; - } - else - { - if ((temp_f6 >= 0xa1) && (unlock_stage_select != 0)) - { - highlight_gameselect = 1; - } - else - { - if (temp_f6 >= 0x8d) - { - highlight_scenario = 1; - } - else - { - highlight_players = 1; - } - } - } - } - } - } - } - } - } + highlight_players = 1; } } - if (get_controller_buttons_pressed(0, 0x1000) != 0) + + if (get_controller_buttons_pressed(0, START_BUTTON) != 0) { tab_1_selected = 1; play_sfx_a1(ptr_sfx_buf, 0xc7, 0); } else { - if (get_controller_buttons_pressed(0, 0xa000) != 0) + if (get_controller_buttons_pressed(0, Z_TRIG|A_BUTTON) != 0) { if (tab_3_highlight != 0) { @@ -13626,74 +13281,47 @@ void interface_menu0E_mpoptions(void) { tab_1_selected = 1; } - else + if (highlight_players != 0) { - if (highlight_players != 0) - { - sp3C = 1; - } - else - { - if (highlight_scenario != 0) - { - sp38 = 1; - } - else - { - if (highlight_gameselect != 0) - { - sp34 = 1; - } - else - { - if (highlight_gamelength != 0) - { - sp30 = 1; - } - else - { - if (highlight_character != 0) - { - sp2C = 1; - } - else - { - if (highlight_weaponselect != 0) - { - sp28 = 1; - } - else - { - if (highlight_health != 0) - { - sp24 = 1; - } - else - { - if (highlight_controlstyle != 0) - { - sp20 = 1; - } - else - { - if (highlight_aimadjustment != 0) - { - sp1C = 1; - } - } - } - } - } - } - } - } - } + players_selected = 1; + } + if (highlight_scenario != 0) + { + scenario_selected = 1; + } + if (highlight_gameselect != 0) + { + gameselect_selected = 1; + } + if (highlight_gamelength != 0) + { + gamelength_selected = 1; + } + if (highlight_character != 0) + { + character_selected = 1; + } + if (highlight_weaponselect != 0) + { + weaponselect_selected = 1; + } + if (highlight_health != 0) + { + health_selected = 1; + } + if (highlight_controlstyle != 0) + { + controlstyle_selected = 1; + } + if (highlight_aimadjustment != 0) + { + aimadjustment_selected = 1; } play_sfx_a1(ptr_sfx_buf, 0xc7, 0); } else { - if (get_controller_buttons_pressed(0, 0x4000) != 0) + if (get_controller_buttons_pressed(0, B_BUTTON) != 0) { tab_3_selected = 1; play_sfx_a1(ptr_sfx_buf, 0xc7, 0); @@ -13708,117 +13336,83 @@ void interface_menu0E_mpoptions(void) menu_control_stick_tracking(); if (tab_3_selected != 0) { - set_menu_to_mode(6, 0); + set_menu_to_mode(MENU_MODE_SELECT, 0); set_menu_cursor_pos_to_setting(gamemode); return; } if (tab_1_selected != 0) { - temp_v0 = 0x80030000 + (MP_stage_selected * 0x18); - if (temp_v0->unk-4F84 < 0) - { -loop_65: - temp_hi = get_random_value() % 0xbU; - selected_stage = (?32) (0x80030000 + (temp_hi * 0x18))->unk-4F6C; - if (check_if_mp_stage_unlocked(temp_hi + 1) == 0) - { - goto loop_65; - } + curstageid = multi_stage_setups[MP_stage_selected].stage_id; + if (multi_stage_setups[MP_stage_selected].stage_id < 0) { + do { + numplayers = get_random_value(); + selected_stage = multi_stage_setups[numplayers % 0xb + 1].stage_id; + curstageid = selected_stage; + } while (check_if_mp_stage_unlocked(numplayers % 0xb + 1) == FALSE); } - else - { - *(void *)0x80030000 = (bitwise f32) temp_v0->unk-4F84; - } - briefingpage = (?32) -1; - set_menu_to_mode(0xb, 1); - return; + selected_stage = curstageid; + briefingpage = 0xffffffff; + set_menu_to_mode(MENU_RUN_STAGE,1); } - if (sp3C != 0) + if (players_selected != 0) { temp_v1 = selected_num_players + 1; phi_a0 = temp_v1; - if (get_attached_controller_count(6) < temp_v1) + if (get_attached_controller_count() < temp_v1) { phi_a0 = 2; } init_mp_options_for_scenario(phi_a0); return; } - if (sp38 != 0) + if (scenario_selected != 0) { - set_menu_to_mode(0x13, 0); + set_menu_to_mode(MENU_MP_SCENARIO_SELECT, 0); return; } - if (sp34 != 0) + if (gameselect_selected != 0) { - set_menu_to_mode(0x12, 0); + set_menu_to_mode(MENU_MP_STAGE_SELECT, 0); return; } - if (sp30 != 0) + if (gamelength_selected != 0) { - select_game_length(6); + select_game_length(); return; } - if (sp2C != 0) + if (character_selected != 0) { - set_menu_to_mode(0xf, 0); + set_menu_to_mode(MENU_MP_CHAR_SELECT, 0); return; } - if (sp28 != 0) + if (weaponselect_selected != 0) { - advance_mp_weapon_set_by_one_save_value(6); + advance_mp_weapon_set_by_one_save_value(); return; } - if (sp24 != 0) + if (health_selected != 0) { - set_menu_to_mode(0x10, 0); + set_menu_to_mode(MENU_MP_HANDICAP, 0); return; } - if (sp20 != 0) + if (controlstyle_selected != 0) { - set_menu_to_mode(0x11, 0); + set_menu_to_mode(MENU_MP_CONTROL_STYLE, 0); return; } - if (sp1C != 0) + if (aimadjustment_selected != 0) { - advance_aim_settings_selection(6); + advance_aim_settings_selection(); } } #else GLOBAL_ASM( .late_rodata -glabel D_80051A80 +glabel menu0E_aspect .word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051A84 -.word 0x461C4000 /*10000.0;*/ -glabel D_80051A88 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051A8C -.word 0x461C4000 /*10000.0;*/ -glabel D_80051A90 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051A94 -.word 0x461C4000 /*10000.0;*/ -glabel D_80051A98 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051A9C -.word 0x461C4000 /*10000.0;*/ -glabel D_80051AA0 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051AA4 -.word 0x461C4000 /*10000.0;*/ -glabel D_80051AA8 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051AAC -.word 0x461C4000 /*10000.0;*/ -glabel D_80051AB0 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051AB4 -.word 0x461C4000 /*10000.0;*/ -glabel D_80051AB8 -.word 0x3FAAAAAB /*1.3333334;*/ -glabel D_80051ABC +glabel menu0E_pageheight .word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu0E_mpoptions /* 045378 7F010848 27BDFFC0 */ addiu $sp, $sp, -0x40 @@ -13833,16 +13427,16 @@ glabel interface_menu0E_mpoptions /* 04539C 7F01086C AFA00028 */ sw $zero, 0x28($sp) /* 0453A0 7F010870 AFA00024 */ sw $zero, 0x24($sp) /* 0453A4 7F010874 AFA00020 */ sw $zero, 0x20($sp) -/* 0453A8 7F010878 0C001151 */ jal video_related_1F +/* 0453A8 7F010878 0C001151 */ jal setvideo_far /* 0453AC 7F01087C AFA0001C */ sw $zero, 0x1c($sp) -/* 0453B0 7F010880 3C018005 */ lui $at, %hi(D_80051A80) +/* 0453B0 7F010880 3C018005 */ lui $at, %hi(menu0E_aspect) /* 0453B4 7F010884 0C001164 */ jal video_related_21 -/* 0453B8 7F010888 C42C1A80 */ lwc1 $f12, %lo(D_80051A80)($at) +/* 0453B8 7F010888 C42C1A80 */ lwc1 $f12, %lo(menu0E_aspect)($at) /* 0453BC 7F01088C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 /* 0453C0 7F010890 44816000 */ mtc1 $at, $f12 -/* 0453C4 7F010894 3C018005 */ lui $at, %hi(D_80051A84) +/* 0453C4 7F010894 3C018005 */ lui $at, %hi(menu0E_pageheight) /* 0453C8 7F010898 0C001194 */ jal set_page_height -/* 0453CC 7F01089C C42E1A84 */ lwc1 $f14, %lo(D_80051A84)($at) +/* 0453CC 7F01089C C42E1A84 */ lwc1 $f14, %lo(menu0E_pageheight)($at) /* 0453D0 7F0108A0 0C00114D */ jal set_video2_settings_offset_24 /* 0453D4 7F0108A4 00002025 */ move $a0, $zero /* 0453D8 7F0108A8 0C002E7E */ jal get_attached_controller_count @@ -15567,27 +15161,27 @@ loop_1: phi_v0 = temp_v0; if ((u32) *temp_v0 < 0xbb8U) { - sub_GAME_7F0CBEE8(*temp_v0, 0, *temp_v0); + calls_load_image_to_buffer(*temp_v0, 0, *temp_v0); phi_v0 = mpcharselimages + temp_lo; } temp_v1 = phi_v0->unkC; phi_v0_2 = phi_v0; if (temp_v1 < 0xbb8U) { - sub_GAME_7F0CBEE8(temp_v1, 0); + calls_load_image_to_buffer(temp_v1, 0); phi_v0_2 = mpcharselimages + temp_lo; } temp_v1_2 = phi_v0_2->unk18; phi_v0_3 = phi_v0_2; if (temp_v1_2 < 0xbb8U) { - sub_GAME_7F0CBEE8(temp_v1_2, 0); + calls_load_image_to_buffer(temp_v1_2, 0); phi_v0_3 = mpcharselimages + temp_lo; } temp_v1_3 = phi_v0_3->unk24; if (temp_v1_3 < 0xbb8U) { - sub_GAME_7F0CBEE8(temp_v1_3, 0); + calls_load_image_to_buffer(temp_v1_3, 0); } temp_s1 = phi_s1 + 0xc; phi_s1 = temp_s1; @@ -15597,7 +15191,7 @@ loop_1: } if (num_chars_selectable_mp != 0x40) { - if (doesFolderHaveStageUnlockedAtDifficulty(selected_folder_num, 0x11, 0) == 3) + if (isStageUnlockedAtDifficulty(selected_folder_num, 0x11, 0) == 3) { num_chars_selectable_mp = 0x21; } @@ -15698,7 +15292,7 @@ glabel init_menu0f_mpcharsel /* 0467F0 7F011CC0 2CC10BB8 */ sltiu $at, $a2, 0xbb8 /* 0467F4 7F011CC4 10200005 */ beqz $at, .L7F011CDC /* 0467F8 7F011CC8 00C02025 */ move $a0, $a2 -/* 0467FC 7F011CCC 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 0467FC 7F011CCC 0FC32FBA */ jal calls_load_image_to_buffer /* 046800 7F011CD0 00002825 */ move $a1, $zero /* 046804 7F011CD4 8E580000 */ lw $t8, ($s2) /* 046808 7F011CD8 03101021 */ addu $v0, $t8, $s0 @@ -15707,7 +15301,7 @@ glabel init_menu0f_mpcharsel /* 046810 7F011CE0 2C610BB8 */ sltiu $at, $v1, 0xbb8 /* 046814 7F011CE4 10200005 */ beqz $at, .L7F011CFC /* 046818 7F011CE8 00602025 */ move $a0, $v1 -/* 04681C 7F011CEC 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 04681C 7F011CEC 0FC32FBA */ jal calls_load_image_to_buffer /* 046820 7F011CF0 00002825 */ move $a1, $zero /* 046824 7F011CF4 8E590000 */ lw $t9, ($s2) /* 046828 7F011CF8 03301021 */ addu $v0, $t9, $s0 @@ -15716,7 +15310,7 @@ glabel init_menu0f_mpcharsel /* 046830 7F011D00 2C610BB8 */ sltiu $at, $v1, 0xbb8 /* 046834 7F011D04 10200005 */ beqz $at, .L7F011D1C /* 046838 7F011D08 00602025 */ move $a0, $v1 -/* 04683C 7F011D0C 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 04683C 7F011D0C 0FC32FBA */ jal calls_load_image_to_buffer /* 046840 7F011D10 00002825 */ move $a1, $zero /* 046844 7F011D14 8E480000 */ lw $t0, ($s2) /* 046848 7F011D18 01101021 */ addu $v0, $t0, $s0 @@ -15725,7 +15319,7 @@ glabel init_menu0f_mpcharsel /* 046850 7F011D20 2C610BB8 */ sltiu $at, $v1, 0xbb8 /* 046854 7F011D24 10200003 */ beqz $at, .L7F011D34 /* 046858 7F011D28 00602025 */ move $a0, $v1 -/* 04685C 7F011D2C 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 04685C 7F011D2C 0FC32FBA */ jal calls_load_image_to_buffer /* 046860 7F011D30 00002825 */ move $a1, $zero .L7F011D34: /* 046864 7F011D34 2631000C */ addiu $s1, $s1, 0xc @@ -15740,7 +15334,7 @@ glabel init_menu0f_mpcharsel /* 046888 7F011D58 11210023 */ beq $t1, $at, .L7F011DE8 /* 04688C 7F011D5C 24050011 */ li $a1, 17 /* 046890 7F011D60 8C84A8E8 */ lw $a0, %lo(selected_folder_num)($a0) -/* 046894 7F011D64 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty +/* 046894 7F011D64 0FC078B0 */ jal isStageUnlockedAtDifficulty /* 046898 7F011D68 00003025 */ move $a2, $zero /* 04689C 7F011D6C 24010003 */ li $at, 3 /* 0468A0 7F011D70 14410004 */ bne $v0, $at, .L7F011D84 @@ -15871,7 +15465,7 @@ void interface_menu0F_mpcharsel(void) iVar4 = get_selected_num_players(); iStack12 = 0; - video_related_1F(60.00000000); + setvideo_far(60.00000000); video_related_21((f32)flt_80051A88); set_page_height(100.00000000,(f32)flt_80051A8C); set_video2_settings_offset_24(0); @@ -15994,6 +15588,12 @@ LAB_7f012164: } #else GLOBAL_ASM( +.late_rodata +glabel D_80051A88 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051A8C +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu0F_mpcharsel /* 046A04 7F011ED4 27BDFFB0 */ addiu $sp, $sp, -0x50 @@ -16011,7 +15611,7 @@ glabel interface_menu0F_mpcharsel /* 046A34 7F011F04 3C014270 */ li $at, 0x42700000 # 60.000000 /* 046A38 7F011F08 44816000 */ mtc1 $at, $f12 /* 046A3C 7F011F0C AFA2004C */ sw $v0, 0x4c($sp) -/* 046A40 7F011F10 0C001151 */ jal video_related_1F +/* 046A40 7F011F10 0C001151 */ jal setvideo_far /* 046A44 7F011F14 AFA00044 */ sw $zero, 0x44($sp) /* 046A48 7F011F18 3C018005 */ lui $at, %hi(D_80051A88) /* 046A4C 7F011F1C 0C001164 */ jal video_related_21 @@ -17515,7 +17115,7 @@ void interface_menu10_mphandicap(void) s32 phi_fp_2; sp44 = get_selected_num_players(); - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A90); set_page_height(0x42c80000, D_80051A94); set_video2_settings_offset_24(0); @@ -17617,6 +17217,12 @@ block_15: } #else GLOBAL_ASM( +.late_rodata +glabel D_80051A90 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051A94 +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu10_mphandicap /* 0479F4 7F012EC4 27BDFFB8 */ addiu $sp, $sp, -0x48 @@ -17634,7 +17240,7 @@ glabel interface_menu10_mphandicap /* 047A24 7F012EF4 3C014270 */ li $at, 0x42700000 # 60.000000 /* 047A28 7F012EF8 44816000 */ mtc1 $at, $f12 /* 047A2C 7F012EFC AFA20044 */ sw $v0, 0x44($sp) -/* 047A30 7F012F00 0C001151 */ jal video_related_1F +/* 047A30 7F012F00 0C001151 */ jal setvideo_far /* 047A34 7F012F04 0000F025 */ move $fp, $zero /* 047A38 7F012F08 3C018005 */ lui $at, %hi(D_80051A90) /* 047A3C 7F012F0C 0C001164 */ jal video_related_21 @@ -18248,7 +17854,7 @@ void interface_menu11_mpcontrols(void) temp_s6 = get_selected_num_players(); sp44 = 0; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051A98); set_page_height(0x42c80000, D_80051A9C); set_video2_settings_offset_24(0); @@ -18403,6 +18009,12 @@ block_31: #ifdef VERSION_US GLOBAL_ASM( +.late_rodata +glabel D_80051A98 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051A9C +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu11_mpcontrols /* 048138 7F013608 27BDFFB0 */ addiu $sp, $sp, -0x50 @@ -18420,7 +18032,7 @@ glabel interface_menu11_mpcontrols /* 048168 7F013638 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04816C 7F01363C 44816000 */ mtc1 $at, $f12 /* 048170 7F013640 0040B025 */ move $s6, $v0 -/* 048174 7F013644 0C001151 */ jal video_related_1F +/* 048174 7F013644 0C001151 */ jal setvideo_far /* 048178 7F013648 AFA00044 */ sw $zero, 0x44($sp) /* 04817C 7F01364C 3C018005 */ lui $at, %hi(D_80051A98) /* 048180 7F013650 0C001164 */ jal video_related_21 @@ -18652,6 +18264,11 @@ glabel interface_menu11_mpcontrols #ifdef VERSION_JP GLOBAL_ASM( +.late_rodata +glabel D_80051A98 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051A9C +.word 0x461C4000 /*10000.0;*/ .text glabel interface_menu11_mpcontrols /* 0481B8 7F013648 27BDFFA0 */ addiu $sp, $sp, -0x60 @@ -18669,7 +18286,7 @@ glabel interface_menu11_mpcontrols /* 0481E8 7F013678 3C014270 */ li $at, 0x42700000 # 60.000000 /* 0481EC 7F01367C 44816000 */ mtc1 $at, $f12 /* 0481F0 7F013680 0040B825 */ move $s7, $v0 -/* 0481F4 7F013684 0C001151 */ jal video_related_1F +/* 0481F4 7F013684 0C001151 */ jal setvideo_far /* 0481F8 7F013688 AFA00054 */ sw $zero, 0x54($sp) /* 0481FC 7F01368C 3C018005 */ lui $at, %hi(D_80051A98) # $at, 0x8005 /* 048200 7F013690 0C001164 */ jal video_related_21 @@ -19359,7 +18976,7 @@ void interface_menu12_mpstage(void) s32 phi_v1; s32 phi_v0; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051AA0); set_page_height(0x42c80000, D_80051AA4); set_video2_settings_offset_24(0); @@ -19462,13 +19079,19 @@ loop_14: } #else GLOBAL_ASM( +.late_rodata +glabel D_80051AA0 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051AA4 +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu12_mpstage /* 048904 7F013DD4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 048908 7F013DD8 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04890C 7F013DDC AFBF001C */ sw $ra, 0x1c($sp) /* 048910 7F013DE0 44816000 */ mtc1 $at, $f12 -/* 048914 7F013DE4 0C001151 */ jal video_related_1F +/* 048914 7F013DE4 0C001151 */ jal setvideo_far /* 048918 7F013DE8 AFB00018 */ sw $s0, 0x18($sp) /* 04891C 7F013DEC 3C018005 */ lui $at, %hi(D_80051AA0) /* 048920 7F013DF0 0C001164 */ jal video_related_21 @@ -20370,7 +19993,7 @@ void interface_menu13_mpscenario(void) s32 phi_s1; sp2C = 0; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051AA8); set_page_height(0x42c80000, D_80051AAC); set_video2_settings_offset_24(0); @@ -20454,6 +20077,12 @@ loop_4: } #else GLOBAL_ASM( +.late_rodata +glabel D_80051AA8 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051AAC +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu13_mpscenario /* 0492E8 7F0147B8 27BDFFD0 */ addiu $sp, $sp, -0x30 @@ -20463,7 +20092,7 @@ glabel interface_menu13_mpscenario /* 0492F8 7F0147C8 AFB20020 */ sw $s2, 0x20($sp) /* 0492FC 7F0147CC AFB1001C */ sw $s1, 0x1c($sp) /* 049300 7F0147D0 AFB00018 */ sw $s0, 0x18($sp) -/* 049304 7F0147D4 0C001151 */ jal video_related_1F +/* 049304 7F0147D4 0C001151 */ jal setvideo_far /* 049308 7F0147D8 AFA0002C */ sw $zero, 0x2c($sp) /* 04930C 7F0147DC 3C018005 */ lui $at, %hi(D_80051AA8) /* 049310 7F0147E0 0C001164 */ jal video_related_21 @@ -20943,7 +20572,7 @@ void interface_menu14_mpteams(void) ? phi_a1_2; s32 phi_s0_2; - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051AB0); set_page_height(0x42c80000, D_80051AB4); set_video2_settings_offset_24(0); @@ -21079,6 +20708,12 @@ loop_29: } #else GLOBAL_ASM( +.late_rodata +glabel D_80051AB0 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051AB4 +.word 0x461C4000 /*10000.0;*/ + .text glabel interface_menu14_mpteams /* 049878 7F014D48 27BDFFE0 */ addiu $sp, $sp, -0x20 @@ -21086,7 +20721,7 @@ glabel interface_menu14_mpteams /* 049880 7F014D50 AFBF001C */ sw $ra, 0x1c($sp) /* 049884 7F014D54 44816000 */ mtc1 $at, $f12 /* 049888 7F014D58 AFB10018 */ sw $s1, 0x18($sp) -/* 04988C 7F014D5C 0C001151 */ jal video_related_1F +/* 04988C 7F014D5C 0C001151 */ jal setvideo_far /* 049890 7F014D60 AFB00014 */ sw $s0, 0x14($sp) /* 049894 7F014D64 3C018005 */ lui $at, %hi(D_80051AB0) /* 049898 7F014D68 0C001164 */ jal video_related_21 @@ -21902,7 +21537,7 @@ void update_menu0A_briefing(void) #ifdef NONMATCHING void interface_menu0A_briefing(void) { - video_related_1F(0x42700000); + setvideo_far(0x42700000); video_related_21(D_80051AB8); set_page_height(0x42c80000, D_80051ABC); set_video2_settings_offset_24(0); @@ -22011,13 +21646,18 @@ void interface_menu0A_briefing(void) } #else GLOBAL_ASM( +.late_rodata +glabel D_80051AB8 +.word 0x3FAAAAAB /*1.3333334;*/ +glabel D_80051ABC +.word 0x461C4000 /*10000.0;*/ .text glabel interface_menu0A_briefing /* 04A1CC 7F01569C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 04A1D0 7F0156A0 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04A1D4 7F0156A4 AFBF0014 */ sw $ra, 0x14($sp) /* 04A1D8 7F0156A8 44816000 */ mtc1 $at, $f12 -/* 04A1DC 7F0156AC 0C001151 */ jal video_related_1F +/* 04A1DC 7F0156AC 0C001151 */ jal setvideo_far /* 04A1E0 7F0156B0 00000000 */ nop /* 04A1E4 7F0156B4 3C018005 */ lui $at, %hi(D_80051AB8) /* 04A1E8 7F0156B8 0C001164 */ jal video_related_21 @@ -22455,7 +22095,7 @@ glabel print_objectives_and_status_to_menu /* 04A6C8 7F015B98 01776021 */ addu $t4, $t3, $s7 /* 04A6CC 7F015B9C 11A0000E */ beqz $t5, .L7F015BD8 /* 04A6D0 7F015BA0 AFAC0088 */ sw $t4, 0x88($sp) -/* 04A6D4 7F015BA4 0FC2B2E5 */ jal sub_GAME_7F0ACB94 +/* 04A6D4 7F015BA4 0FC2B2E5 */ jal setTextWordWrap /* 04A6D8 7F015BA8 24040002 */ li $a0, 2 /* 04A6DC 7F015BAC 8EAE0000 */ lw $t6, ($s5) /* 04A6E0 7F015BB0 240400DC */ li $a0, 220 @@ -22464,7 +22104,7 @@ glabel print_objectives_and_status_to_menu /* 04A6EC 7F015BBC 8E870000 */ lw $a3, ($s4) /* 04A6F0 7F015BC0 0FC2BAD9 */ jal sub_GAME_7F0AEB64 /* 04A6F4 7F015BC4 AFAE0010 */ sw $t6, 0x10($sp) -/* 04A6F8 7F015BC8 0FC2B2E5 */ jal sub_GAME_7F0ACB94 +/* 04A6F8 7F015BC8 0FC2B2E5 */ jal setTextWordWrap /* 04A6FC 7F015BCC 00002025 */ move $a0, $zero /* 04A700 7F015BD0 10000005 */ b .L7F015BE8 /* 04A704 7F015BD4 00000000 */ nop @@ -22847,7 +22487,7 @@ def_7F015E0C: /* 04AACC 7F015F9C 27A6004C */ addiu $a2, $sp, 0x4c /* 04AAD0 7F015FA0 0FC2BAD9 */ jal sub_GAME_7F0AEB64 /* 04AAD4 7F015FA4 AFAC0010 */ sw $t4, 0x10($sp) -/* 04AAD8 7F015FA8 0FC2B2E8 */ jal sub_GAME_7F0ACBA0 +/* 04AAD8 7F015FA8 0FC2B2E8 */ jal setTextOverlapCorrection /* 04AADC 7F015FAC 24040008 */ li $a0, 8 /* 04AAE0 7F015FB0 0C001107 */ jal get_video2_settings_txtClipW /* 04AAE4 7F015FB4 00000000 */ nop @@ -22872,7 +22512,7 @@ def_7F015E0C: /* 04AB30 7F016000 0FC025D8 */ jal write_text_at_abs_coord /* 04AB34 7F016004 AFA8001C */ sw $t0, 0x1c($sp) /* 04AB38 7F016008 00408025 */ move $s0, $v0 -/* 04AB3C 7F01600C 0FC2B2E8 */ jal sub_GAME_7F0ACBA0 +/* 04AB3C 7F01600C 0FC2B2E8 */ jal setTextOverlapCorrection /* 04AB40 7F016010 2404FFFF */ li $a0, -1 .L7F016014: /* 04AB44 7F016014 0FC02820 */ jal add_tab1_start @@ -22939,7 +22579,7 @@ void interface_menu0C_missionfailed(void) const f32 menu0C_aspect = 1.3333334; const f32 menu0C_pageheight = 10000.0; - video_related_1F(60.00000000); + setvideo_far(60.00000000); video_related_21(menu0C_aspect); set_page_height(100.00000000, menu0C_pageheight); set_video2_settings_offset_24(0); @@ -23014,7 +22654,7 @@ glabel interface_menu0C_missionfailed /* 04AC44 7F016114 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04AC48 7F016118 AFBF0014 */ sw $ra, 0x14($sp) /* 04AC4C 7F01611C 44816000 */ mtc1 $at, $f12 -/* 04AC50 7F016120 0C001151 */ jal video_related_1F +/* 04AC50 7F016120 0C001151 */ jal setvideo_far /* 04AC54 7F016124 00000000 */ nop /* 04AC58 7F016128 3C018005 */ lui $at, %hi(menu0C_aspect) /* 04AC5C 7F01612C 0C001164 */ jal video_related_21 @@ -23534,7 +23174,7 @@ void interface_menu0D_missioncomplete(undefined8 param_1,undefined8 param_2) short sVar6; int iVar7; - video_related_1F(60.00000000); + setvideo_far(60.00000000); video_related_21((f32)menu0D_aspect); set_page_height(100.00000000,(f32)menu0D_pageheight); set_video2_settings_offset_24(0); @@ -23638,7 +23278,7 @@ glabel interface_menu0D_missioncomplete /* 04B20C 7F0166DC 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04B210 7F0166E0 AFBF0014 */ sw $ra, 0x14($sp) /* 04B214 7F0166E4 44816000 */ mtc1 $at, $f12 -/* 04B218 7F0166E8 0C001151 */ jal video_related_1F +/* 04B218 7F0166E8 0C001151 */ jal setvideo_far /* 04B21C 7F0166EC 00000000 */ nop /* 04B220 7F0166F0 3C018005 */ lui $at, %hi(menu0D_aspect) /* 04B224 7F0166F4 0C001164 */ jal video_related_21 @@ -25012,7 +24652,7 @@ void interface_menu0D_missioncomplete(undefined8 param_1,undefined8 param_2) short sVar6; int iVar7; - video_related_1F(60.00000000); + setvideo_far(60.00000000); video_related_21((f32)menu0D_aspect); set_page_height(100.00000000,(f32)menu0D_pageheight); set_video2_settings_offset_24(0); @@ -25206,7 +24846,7 @@ glabel update_menu15_cheat /* 04C75C 7F017C2C 02002025 */ move $a0, $s0 /* 04C760 7F017C30 51C00007 */ beql $t6, $zero, .L7F017C50 /* 04C764 7F017C34 26100001 */ addiu $s0, $s0, 1 -/* 04C768 7F017C38 0FC2469E */ jal sub_GAME_7F091A78 +/* 04C768 7F017C38 0FC2469E */ jal cheatCheckIfMPCheat /* 04C76C 7F017C3C 24130001 */ li $s3, 1 /* 04C770 7F017C40 50400003 */ beql $v0, $zero, .L7F017C50 /* 04C774 7F017C44 26100001 */ addiu $s0, $s0, 1 @@ -25236,19 +24876,17 @@ glabel update_menu15_cheat void interface_menu15_cheat(undefined8 param_1,undefined8 param_2) { int iVar1; - ulonglong uVar2; BOOL BVar3; int iVar4; int iVar5; - video_related_1F(60.00000000); - video_related_21((f32)menu15_aspect); - set_page_height(100.00000000,(f32)menu15_pageheight); + setvideo_far(60.00000000); + video_related_21(menu15_aspect); + set_page_height(100.00000000, menu15_pageheight); set_video2_settings_offset_24(0); MP_menu_selected_option = 0; - uVar2 = get_controller_buttons_held(0,Z_TRIG|A_BUTTON); iVar1 = dword_8002B5E0; - if (uVar2 == 0) { + if (get_controller_buttons_held(0,Z_TRIG|A_BUTTON) == 0) { tab_3_highlight = FALSE; tab_2_highlight = FALSE; tab_1_highlight = FALSE; @@ -25340,7 +24978,7 @@ glabel interface_menu15_cheat /* 04C7BC 7F017C8C 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04C7C0 7F017C90 AFBF0014 */ sw $ra, 0x14($sp) /* 04C7C4 7F017C94 44816000 */ mtc1 $at, $f12 -/* 04C7C8 7F017C98 0C001151 */ jal video_related_1F +/* 04C7C8 7F017C98 0C001151 */ jal setvideo_far /* 04C7CC 7F017C9C 00000000 */ nop /* 04C7D0 7F017CA0 3C018005 */ lui $at, %hi(menu15_aspect) /* 04C7D4 7F017CA4 0C001164 */ jal video_related_21 @@ -25590,7 +25228,7 @@ glabel constructor_menu15_cheat /* 04CB30 7F018000 26B50035 */ addiu $s5, $s5, 0x35 /* 04CB34 7F018004 01CF9821 */ addu $s3, $t6, $t7 .L7F018008: -/* 04CB38 7F018008 0FC249DD */ jal sub_GAME_7F092774 +/* 04CB38 7F018008 0FC249DD */ jal cheatGetMenuTextPointer /* 04CB3C 7F01800C 8E640000 */ lw $a0, ($s3) /* 04CB40 7F018010 8EF80000 */ lw $t8, ($s7) /* 04CB44 7F018014 00409025 */ move $s2, $v0 @@ -25731,7 +25369,7 @@ glabel constructor_menu15_cheat /* 04CD48 7F018218 267397F0 */ addiu $s3, %lo(dword_CODE_bss_800697F0) # addiu $s3, $s3, -0x6810 /* 04CD4C 7F01821C 24150035 */ li $s5, 53 .L7F018220: -/* 04CD50 7F018220 0FC249DD */ jal sub_GAME_7F092774 +/* 04CD50 7F018220 0FC249DD */ jal cheatGetMenuTextPointer /* 04CD54 7F018224 8E640030 */ lw $a0, 0x30($s3) /* 04CD58 7F018228 8EEE0000 */ lw $t6, ($s7) /* 04CD5C 7F01822C 00409025 */ move $s2, $v0 @@ -26790,7 +26428,7 @@ set_body_mp_choice_maybe: /* 04D49C 7F01896C 0FC1D929 */ jal load_object_fill_header /* 04D4A0 7F018970 AFA40080 */ sw $a0, 0x80($sp) /* 04D4A4 7F018974 8FA20024 */ lw $v0, 0x24($sp) -/* 04D4A8 7F018978 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 04D4A8 7F018978 0FC2F462 */ jal get_pc_buffer_remaining_value /* 04D4AC 7F01897C 8C440004 */ lw $a0, 4($v0) /* 04D4B0 7F018980 2443003F */ addiu $v1, $v0, 0x3f /* 04D4B4 7F018984 8FB900B0 */ lw $t9, 0xb0($sp) @@ -26819,7 +26457,7 @@ set_body_mp_choice_maybe: /* 04D510 7F0189E0 0FC1D929 */ jal load_object_fill_header /* 04D514 7F0189E4 AFA4007C */ sw $a0, 0x7c($sp) /* 04D518 7F0189E8 8FA20024 */ lw $v0, 0x24($sp) -/* 04D51C 7F0189EC 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 04D51C 7F0189EC 0FC2F462 */ jal get_pc_buffer_remaining_value /* 04D520 7F0189F0 8C440004 */ lw $a0, 4($v0) /* 04D524 7F0189F4 2443003F */ addiu $v1, $v0, 0x3f /* 04D528 7F0189F8 8FB900B0 */ lw $t9, 0xb0($sp) @@ -26943,7 +26581,7 @@ set_body_mp_choice_maybe: /* 04D6D8 7F018BA8 0FC1D929 */ jal load_object_fill_header /* 04D6DC 7F018BAC AFA40078 */ sw $a0, 0x78($sp) /* 04D6E0 7F018BB0 8FA20024 */ lw $v0, 0x24($sp) -/* 04D6E4 7F018BB4 0FC2F462 */ jal sub_GAME_7F0BD188 +/* 04D6E4 7F018BB4 0FC2F462 */ jal get_pc_buffer_remaining_value /* 04D6E8 7F018BB8 8C440004 */ lw $a0, 4($v0) /* 04D6EC 7F018BBC 0FC1D73D */ jal set_objuse_flag_compute_grp_nums_set_obj_loaded /* 04D6F0 7F018BC0 8FA40078 */ lw $a0, 0x78($sp) @@ -27197,7 +26835,7 @@ void interface_menu18_displaycast(undefined8 param_1,undefined8 param_2) ulonglong uVar1; int iVar4; - video_related_1F(46.00000000); + setvideo_far(46.00000000); set_page_height(10.00000000,2000.00000000); set_video2_settings_offset_24(1); video_related_21((f32)flt_80051B08); @@ -27307,7 +26945,7 @@ glabel interface_menu18_displaycast /* 04DAA0 7F018F70 AFB30020 */ sw $s3, 0x20($sp) /* 04DAA4 7F018F74 AFB2001C */ sw $s2, 0x1c($sp) /* 04DAA8 7F018F78 AFB10018 */ sw $s1, 0x18($sp) -/* 04DAAC 7F018F7C 0C001151 */ jal video_related_1F +/* 04DAAC 7F018F7C 0C001151 */ jal setvideo_far /* 04DAB0 7F018F80 AFB00014 */ sw $s0, 0x14($sp) /* 04DAB4 7F018F84 3C014120 */ li $at, 0x41200000 # 10.000000 /* 04DAB8 7F018F88 44816000 */ mtc1 $at, $f12 @@ -27882,7 +27520,7 @@ glabel constructor_menu18_displaycast /* 04E2FC 7F0197CC 03002025 */ move $a0, $t8 /* 04E300 7F0197D0 27B201E8 */ addiu $s2, $sp, 0x1e8 /* 04E304 7F0197D4 AFA201B8 */ sw $v0, 0x1b8($sp) -/* 04E308 7F0197D8 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 04E308 7F0197D8 0FC15FF4 */ jal reset_array_of_0x10_floats /* 04E30C 7F0197DC 02402025 */ move $a0, $s2 /* 04E310 7F0197E0 AFB201A8 */ sw $s2, 0x1a8($sp) /* 04E314 7F0197E4 27A401A8 */ addiu $a0, $sp, 0x1a8 @@ -28823,7 +28461,7 @@ void update_menu19_spectrum(void) { #ifdef NONMATCHING void interface_menu19_spectrum(void) { - video_related_1F(60.0f); + setvideo_far(60.0f); video_related_21(D_80051B3C); set_page_height(100.0f, D_80051B40); set_video2_settings_offset_24(0); @@ -28837,7 +28475,7 @@ glabel interface_menu19_spectrum /* 04EFBC 7F01A48C 3C014270 */ li $at, 0x42700000 # 60.000000 /* 04EFC0 7F01A490 AFBF0014 */ sw $ra, 0x14($sp) /* 04EFC4 7F01A494 44816000 */ mtc1 $at, $f12 -/* 04EFC8 7F01A498 0C001151 */ jal video_related_1F +/* 04EFC8 7F01A498 0C001151 */ jal setvideo_far /* 04EFCC 7F01A49C 00000000 */ nop /* 04EFD0 7F01A4A0 3C018005 */ lui $at, %hi(D_80051B3C) /* 04EFD4 7F01A4A4 0C001164 */ jal video_related_21 @@ -29019,417 +28657,307 @@ MENU get_currentmenu(void) #ifdef NONMATCHING void menu_init(undefined8 param_1,undefined8 param_2) - { - MENU MVar1; - undefined1 *puVar2; - int iVar3; - undefined8 extraout_a1; - undefined8 extraout_a1_00; - undefined8 extraout_a1_01; - undefined8 extraout_a1_02; - undefined8 extraout_a1_03; - undefined8 extraout_a1_04; - undefined8 extraout_a1_05; - undefined8 extraout_a1_06; - undefined8 extraout_a1_07; - undefined8 extraout_a1_08; - undefined8 extraout_a1_09; - undefined8 extraout_a1_10; - undefined8 extraout_a1_11; - undefined8 extraout_a1_12; - undefined8 extraout_a1_13; - undefined8 extraout_a1_14; - undefined8 extraout_a1_15; - undefined8 extraout_a1_16; - undefined8 extraout_a1_17; - undefined8 extraout_a1_18; - undefined8 extraout_a1_19; - undefined8 extraout_a1_20; - undefined8 extraout_a1_21; - undefined8 extraout_a1_22; - undefined8 extraout_a1_23; - undefined8 extraout_a1_24; - undefined8 extraout_a1_25; - undefined8 extraout_a1_26; - undefined8 extraout_a1_27; - undefined8 extraout_a1_28; - undefined8 extraout_a1_29; - undefined8 extraout_a1_30; - undefined8 extraout_a1_31; - undefined8 extraout_a1_32; - undefined8 extraout_a1_33; - undefined8 extraout_a1_34; - undefined8 extraout_a1_35; - undefined8 extraout_a1_36; - undefined8 extraout_a1_37; - undefined8 extraout_a1_38; - undefined8 extraout_a1_39; - undefined8 extraout_a1_40; - undefined8 extraout_a1_41; - undefined8 extraout_a1_42; - undefined8 extraout_a1_43; - undefined8 extraout_a1_44; - undefined8 extraout_a1_45; - undefined8 extraout_a1_46; - undefined8 extraout_a1_47; - undefined8 extraout_a1_48; - undefined8 extraout_a1_49; - undefined8 extraout_a1_50; - undefined8 uVar4; - - if (current_menu == MENU_SWITCH_SCREENS) { - if (spectrum_related_flag == FALSE) { - if ((is_emulating_spectrum != FALSE) && - (puVar2 = (undefined1 *)get_video_settings2_frameb(), puVar2 == cfb_16_a)) { - screen_size = SCREEN_SIZE_320x240; - is_emulating_spectrum = FALSE; - } - } - else { - puVar2 = (undefined1 *)get_video_settings2_frameb(); - if (puVar2 == cfb_16_b) { - screen_size = SCREEN_SIZE_440x330; - spectrum_related_flag = FALSE; - } - } - } - if (screen_size == SCREEN_SIZE_320x240) { - video_related_21((f32)flt_80051B48); - set_video2_text_clip_size(0x140,0xf0); - set_video2_settings_offset_18_1A(0x140,0xf0); - set_cur_player_screen_size(0x140,0xf0); - set_video2_width_height(0x140,0xf0); - set_cur_player_viewport_size(0,0); - set_video2_ulx_uly(0,0); - uVar4 = extraout_a1_00; - } - else { - puVar2 = (undefined1 *)get_video_settings2_frameb(); - if (puVar2 == cfb_16_b) { - set_video_settings2_frameb((int)ptr_menu_videobuffer); - } - video_related_21((f32)flt_80051B44); - set_video2_text_clip_size(0x1b8,0x14a); - set_video2_settings_offset_18_1A(0x1b8,0x14a); - set_cur_player_screen_size(0x1b8,0x14a); - set_video2_width_height(0x1b8,0x14a); - set_cur_player_viewport_size(0,0); - set_video2_ulx_uly(0,0); - uVar4 = extraout_a1; - } - if (((-1 < (int)menu_update) || (-1 < (int)maybe_prev_menu)) && - (current_menu != MENU_SWITCH_SCREENS)) { - if (true) { - switch(current_menu) { - case MENU_LEGAL_SCREEN: - update_menu00_legalscreen(); - uVar4 = extraout_a1_01; - break; - case MENU_NINTENDO_LOGO: - update_menu01_nintendo(); - uVar4 = extraout_a1_02; - break; - case MENU_RAREWARE_LOGO: - update_menu02_rareware(); - uVar4 = extraout_a1_03; - break; - case MENU_EYE_INTRO: - update_menu_03_eyeintro(); - uVar4 = extraout_a1_04; - break; - case MENU_GOLDENEYE_LOGO: - update_menu04_goldeneyelogo(); - uVar4 = extraout_a1_05; - break; - case MENU_FILE_SELECT: - update_menu05_filesel(); - uVar4 = extraout_a1_06; - break; - case MENU_MODE_SELECT: - update_menu06_modesel(); - uVar4 = extraout_a1_07; - break; - case MENU_MISSION_SELECT: - update_menu07_missionsel(); - uVar4 = extraout_a1_08; - break; - case MENU_DIFFICULTY: - update_menu08_difficulty(); - uVar4 = extraout_a1_09; - break; - case MENU_007_OPTIONS: - update_menu09_007options(); - uVar4 = extraout_a1_10; - break; - case MENU_BRIEFING: - update_menu0A_briefing(); - uVar4 = extraout_a1_11; - break; - case MENU_MISSION_FAILED: - update_menu0C_missionfailed(); - uVar4 = extraout_a1_12; - break; - case MENU_MISSION_COMPLETE: - update_menu0D_missioncomplete(); - uVar4 = extraout_a1_13; - break; - case MENU_MP_OPTIONS: - update_menu0E_mpoptions(); - uVar4 = extraout_a1_14; - break; - case MENU_MP_CHAR_SELECT: - update_menu0F_mpcharsel(); - uVar4 = extraout_a1_16; - break; - case MENU_MP_HANDICAP: - update_menu10_mphandicap(); - uVar4 = extraout_a1_18; - break; - case MENU_MP_CONTROL_STYLE: - update_menu11_mpcontrols(); - uVar4 = extraout_a1_19; - break; - case MENU_MP_STAGE_SELECT: - update_menu12_mpstage(); - uVar4 = extraout_a1_20; - break; - case MENU_MP_SCENARIO_SELECT: - update_menu13_mpscenario(); - uVar4 = extraout_a1_15; - break; - case MENU_MP_TEAMS: - update_menu14_mpteams(); - uVar4 = extraout_a1_17; - break; - case MENU_CHEAT: - update_menu15_cheat(); - uVar4 = extraout_a1_21; - break; - case MENU_NO_CONTROLLERS: - update_menu16_nocontrollers(); - uVar4 = extraout_a1_22; - break; - case MENU_DISPLAY_CAST: - update_menu18_displaycast(); - uVar4 = extraout_a1_23; - break; - case MENU_SPECTRUM_EMU: - update_menu19_spectrum(); - uVar4 = extraout_a1_24; - } - } - if (-1 < (int)menu_update) { - current_menu = MENU_SWITCH_SCREENS; - reset_menutimer(); - uVar4 = extraout_a1_25; - } - } - MVar1 = maybe_prev_menu; - if (true) { - current_menu = maybe_prev_menu; - maybe_prev_menu = ~MENU_LEGAL_SCREEN; - if (true) { - switch(MVar1) { - case MENU_LEGAL_SCREEN: - init_menu00_legalscreen(); - uVar4 = extraout_a1_26; - break; - case MENU_NINTENDO_LOGO: - init_menu01_nintendo(); - uVar4 = extraout_a1_27; - break; - case MENU_RAREWARE_LOGO: - init_menu02_rareware(); - uVar4 = extraout_a1_28; - break; - case MENU_EYE_INTRO: - init_menu03_eyeintro(); - uVar4 = extraout_a1_29; - break; - case MENU_GOLDENEYE_LOGO: - init_menu04_goldeneyelogo(); - uVar4 = extraout_a1_30; - break; - case MENU_FILE_SELECT: - init_menu05_filesel(); - uVar4 = extraout_a1_31; - break; - case MENU_MODE_SELECT: - init_menu06_modesel(); - uVar4 = extraout_a1_32; - break; - case MENU_MISSION_SELECT: - init_menu07_missionsel(); - uVar4 = extraout_a1_33; - break; - case MENU_DIFFICULTY: - init_menu08_difficulty(); - uVar4 = extraout_a1_34; - break; - case MENU_007_OPTIONS: - init_menu09_007options(); - uVar4 = extraout_a1_35; - break; - case MENU_BRIEFING: - init_menu0A_briefing(); - uVar4 = extraout_a1_36; - break; - case MENU_RUN_STAGE: - init_menu0B_runstage(); - uVar4 = extraout_a1_37; - break; - case MENU_MISSION_FAILED: - init_menu0C_missionfailed(); - uVar4 = extraout_a1_38; - break; - case MENU_MISSION_COMPLETE: - init_menu0D_missioncomplete(); - uVar4 = extraout_a1_39; - break; - case MENU_MP_OPTIONS: - init_menu0E_mpoptions(); - uVar4 = extraout_a1_40; - break; - case MENU_MP_CHAR_SELECT: - init_menu0f_mpcharsel(); - uVar4 = extraout_a1_42; - break; - case MENU_MP_HANDICAP: - init_menu10_mphandicap(); - uVar4 = extraout_a1_44; - break; - case MENU_MP_CONTROL_STYLE: - init_menu11_mpcontrol(); - uVar4 = extraout_a1_45; - break; - case MENU_MP_STAGE_SELECT: - init_menu12_mpstage(); - uVar4 = extraout_a1_46; - break; - case MENU_MP_SCENARIO_SELECT: - init_menu13_mpscenariosel(); - uVar4 = extraout_a1_41; - break; - case MENU_MP_TEAMS: - init_menu14_mpteamsel(); - uVar4 = extraout_a1_43; - break; - case MENU_CHEAT: - init_menu15_cheat(); - uVar4 = extraout_a1_47; - break; - case MENU_NO_CONTROLLERS: - init_menu16_nocontroller(); - uVar4 = extraout_a1_48; - break; - case MENU_DISPLAY_CAST: - init_menu18_displaycast(); - uVar4 = extraout_a1_49; - break; - case MENU_SPECTRUM_EMU: - init_menu19_spectrum(); - uVar4 = extraout_a1_50; - } - } - } - switch(current_menu) { - case MENU_LEGAL_SCREEN: - interface_menu00_legalscreen(ZEXT48(¤t_menu),uVar4); - break; - case MENU_NINTENDO_LOGO: - interface_menu01_nintendo(ZEXT48(¤t_menu),uVar4); - break; - case MENU_RAREWARE_LOGO: - interface_menu02_rareware(); - break; - case MENU_EYE_INTRO: - interface_menu03_eyeintro(); - break; - case MENU_GOLDENEYE_LOGO: - interface_menu04_goldeneyelogo(ZEXT48(¤t_menu),uVar4); - break; - case MENU_FILE_SELECT: - interface_menu05_filesel(); - break; - case MENU_MODE_SELECT: - interface_menu06_modesel(); - break; - case MENU_MISSION_SELECT: - interface_menu07_missionsel(ZEXT48(¤t_menu),uVar4); - break; - case MENU_DIFFICULTY: - interface_menu08_difficulty(); - break; - case MENU_007_OPTIONS: - interface_menu09_007options(ZEXT48(¤t_menu),uVar4); - break; - case MENU_BRIEFING: - interface_menu0A_briefing(ZEXT48(¤t_menu),uVar4); - break; - case MENU_RUN_STAGE: - iVar3 = interface_menu0B_runstage(); - if (iVar3 == 0) { - if (gamemode == GAMEMODE_MULTI) { - set_menu_to_mode(MENU_MP_OPTIONS,1); - } - else { - if (selected_stage == LEVELID_CUBA) { - do_extended_cast_display(TRUE); - set_menu_to_mode(MENU_DISPLAY_CAST,1); + MENU MVar1; + + if (current_menu == MENU_SWITCH_SCREENS) { + if (spectrum_related_flag == FALSE) { + if ((is_emulating_spectrum != FALSE) && + (get_video_settings2_frameb() == cfb_16_a)) { + screen_size = SCREEN_SIZE_320x240; + is_emulating_spectrum = FALSE; + } } else { - set_menu_to_mode(MENU_MISSION_FAILED,1); + if (get_video_settings2_frameb() == cfb_16_b) { + screen_size = SCREEN_SIZE_440x330; + spectrum_related_flag = FALSE; + } } - } + } + + if (screen_size == SCREEN_SIZE_320x240) { + video_related_21((f32)flt_80051B48); + set_video2_text_clip_size(320,240); + set_video2_settings_offset_18_1A(320,240); + set_cur_player_screen_size(320,240); + set_video2_width_height(320,240); + set_cur_player_viewport_size(0,0); + set_video2_ulx_uly(0,0); } else { - set_menu_to_mode(MENU_LEGAL_SCREEN,1); + if (get_video_settings2_frameb() == cfb_16_b) { + set_video_settings2_frameb(ptr_menu_videobuffer); + } + video_related_21((f32)flt_80051B44); + set_video2_text_clip_size(440,330); + set_video2_settings_offset_18_1A(440,330); + set_cur_player_screen_size(440,330); + set_video2_width_height(440,330); + set_cur_player_viewport_size(0,0); + set_video2_ulx_uly(0,0); } - break; - case MENU_MISSION_FAILED: - interface_menu0C_missionfailed(ZEXT48(¤t_menu),uVar4); - break; - case MENU_MISSION_COMPLETE: - interface_menu0D_missioncomplete(ZEXT48(¤t_menu),uVar4); - break; - case MENU_MP_OPTIONS: - interface_menu0E_mpoptions(ZEXT48(¤t_menu),uVar4); - break; - case MENU_MP_CHAR_SELECT: - interface_menu0F_mpcharsel(); - break; - case MENU_MP_HANDICAP: - interface_menu10_mphandicap(); - break; - case MENU_MP_CONTROL_STYLE: - interface_menu11_mpcontrols(); - break; - case MENU_MP_STAGE_SELECT: - interface_menu12_mpstage(ZEXT48(¤t_menu),uVar4); - break; - case MENU_MP_SCENARIO_SELECT: - interface_menu13_mpscenario(ZEXT48(¤t_menu),uVar4); - break; - case MENU_MP_TEAMS: - interface_menu14_mpteams(ZEXT48(¤t_menu),uVar4); - break; - case MENU_CHEAT: - interface_menu15_cheat(ZEXT48(¤t_menu),uVar4); - break; - case MENU_NO_CONTROLLERS: - interface_menu16_nocontrollers(); - break; - case MENU_SWITCH_SCREENS: - interface_menu17_switchscreens(ZEXT48(¤t_menu),uVar4); - break; - case MENU_DISPLAY_CAST: - interface_menu18_displaycast(ZEXT48(¤t_menu),uVar4); - break; - case MENU_SPECTRUM_EMU: - interface_menu19_spectrum(ZEXT48(¤t_menu),uVar4); - } - return; + if (((-1 < menu_update) || (-1 < maybe_prev_menu)) && + (current_menu != MENU_SWITCH_SCREENS)) { + if (true) { + switch(current_menu) { + case MENU_LEGAL_SCREEN: + update_menu00_legalscreen(); + break; + case MENU_NINTENDO_LOGO: + update_menu01_nintendo(); + break; + case MENU_RAREWARE_LOGO: + update_menu02_rareware(); + break; + case MENU_EYE_INTRO: + update_menu_03_eyeintro(); + break; + case MENU_GOLDENEYE_LOGO: + update_menu04_goldeneyelogo(); + break; + case MENU_FILE_SELECT: + update_menu05_filesel(); + break; + case MENU_MODE_SELECT: + update_menu06_modesel(); + break; + case MENU_MISSION_SELECT: + update_menu07_missionsel(); + break; + case MENU_DIFFICULTY: + update_menu08_difficulty(); + break; + case MENU_007_OPTIONS: + update_menu09_007options(); + break; + case MENU_BRIEFING: + update_menu0A_briefing(); + break; + case MENU_MISSION_FAILED: + update_menu0C_missionfailed(); + break; + case MENU_MISSION_COMPLETE: + update_menu0D_missioncomplete(); + break; + case MENU_MP_OPTIONS: + update_menu0E_mpoptions(); + break; + case MENU_MP_CHAR_SELECT: + update_menu0F_mpcharsel(); + break; + case MENU_MP_HANDICAP: + update_menu10_mphandicap(); + break; + case MENU_MP_CONTROL_STYLE: + update_menu11_mpcontrols(); + break; + case MENU_MP_STAGE_SELECT: + update_menu12_mpstage(); + break; + case MENU_MP_SCENARIO_SELECT: + update_menu13_mpscenario(); + break; + case MENU_MP_TEAMS: + update_menu14_mpteams(); + break; + case MENU_CHEAT: + update_menu15_cheat(); + break; + case MENU_NO_CONTROLLERS: + update_menu16_nocontrollers(); + break; + case MENU_DISPLAY_CAST: + update_menu18_displaycast(); + break; + case MENU_SPECTRUM_EMU: + update_menu19_spectrum(); + } + } + if (-1 < menu_update) { + current_menu = MENU_SWITCH_SCREENS; + reset_menutimer(); + } + } + MVar1 = maybe_prev_menu; + if (true) { + current_menu = maybe_prev_menu; + maybe_prev_menu = ~MENU_LEGAL_SCREEN; + if (true) { + switch(MVar1) { + case MENU_LEGAL_SCREEN: + init_menu00_legalscreen(); + break; + case MENU_NINTENDO_LOGO: + init_menu01_nintendo(); + break; + case MENU_RAREWARE_LOGO: + init_menu02_rareware(); + break; + case MENU_EYE_INTRO: + init_menu03_eyeintro(); + break; + case MENU_GOLDENEYE_LOGO: + init_menu04_goldeneyelogo(); + break; + case MENU_FILE_SELECT: + init_menu05_filesel(); + break; + case MENU_MODE_SELECT: + init_menu06_modesel(); + break; + case MENU_MISSION_SELECT: + init_menu07_missionsel(); + break; + case MENU_DIFFICULTY: + init_menu08_difficulty(); + break; + case MENU_007_OPTIONS: + init_menu09_007options(); + break; + case MENU_BRIEFING: + init_menu0A_briefing(); + break; + case MENU_RUN_STAGE: + init_menu0B_runstage(); + break; + case MENU_MISSION_FAILED: + init_menu0C_missionfailed(); + break; + case MENU_MISSION_COMPLETE: + init_menu0D_missioncomplete(); + break; + case MENU_MP_OPTIONS: + init_menu0E_mpoptions(); + break; + case MENU_MP_CHAR_SELECT: + init_menu0f_mpcharsel(); + break; + case MENU_MP_HANDICAP: + init_menu10_mphandicap(); + break; + case MENU_MP_CONTROL_STYLE: + init_menu11_mpcontrol(); + break; + case MENU_MP_STAGE_SELECT: + init_menu12_mpstage(); + break; + case MENU_MP_SCENARIO_SELECT: + init_menu13_mpscenariosel(); + break; + case MENU_MP_TEAMS: + init_menu14_mpteamsel(); + break; + case MENU_CHEAT: + init_menu15_cheat(); + break; + case MENU_NO_CONTROLLERS: + init_menu16_nocontroller(); + break; + case MENU_DISPLAY_CAST: + init_menu18_displaycast(); + break; + case MENU_SPECTRUM_EMU: + init_menu19_spectrum(); + } + } + } + switch(current_menu) { + case MENU_LEGAL_SCREEN: + interface_menu00_legalscreen(); + break; + case MENU_NINTENDO_LOGO: + interface_menu01_nintendo(); + break; + case MENU_RAREWARE_LOGO: + interface_menu02_rareware(); + break; + case MENU_EYE_INTRO: + interface_menu03_eyeintro(); + break; + case MENU_GOLDENEYE_LOGO: + interface_menu04_goldeneyelogo(); + break; + case MENU_FILE_SELECT: + interface_menu05_filesel(); + break; + case MENU_MODE_SELECT: + interface_menu06_modesel(); + break; + case MENU_MISSION_SELECT: + interface_menu07_missionsel(); + break; + case MENU_DIFFICULTY: + interface_menu08_difficulty(); + break; + case MENU_007_OPTIONS: + interface_menu09_007options(); + break; + case MENU_BRIEFING: + interface_menu0A_briefing(); + break; + case MENU_RUN_STAGE: + if (interface_menu0B_runstage() == 0) { + if (gamemode == GAMEMODE_MULTI) { + set_menu_to_mode(MENU_MP_OPTIONS,1); + } + else { + if (selected_stage == LEVELID_CUBA) { + do_extended_cast_display(1); + set_menu_to_mode(MENU_DISPLAY_CAST,1); + } + else { + set_menu_to_mode(MENU_MISSION_FAILED,1); + } + } + } + else { + set_menu_to_mode(MENU_LEGAL_SCREEN,1); + } + break; + case MENU_MISSION_FAILED: + interface_menu0C_missionfailed(); + break; + case MENU_MISSION_COMPLETE: + interface_menu0D_missioncomplete(); + break; + case MENU_MP_OPTIONS: + interface_menu0E_mpoptions(); + break; + case MENU_MP_CHAR_SELECT: + interface_menu0F_mpcharsel(); + break; + case MENU_MP_HANDICAP: + interface_menu10_mphandicap(); + break; + case MENU_MP_CONTROL_STYLE: + interface_menu11_mpcontrols(); + break; + case MENU_MP_STAGE_SELECT: + interface_menu12_mpstage(); + break; + case MENU_MP_SCENARIO_SELECT: + interface_menu13_mpscenario(); + break; + case MENU_MP_TEAMS: + interface_menu14_mpteams(); + break; + case MENU_CHEAT: + interface_menu15_cheat(); + break; + case MENU_NO_CONTROLLERS: + interface_menu16_nocontrollers(); + break; + case MENU_SWITCH_SCREENS: + interface_menu17_switchscreens(); + break; + case MENU_DISPLAY_CAST: + interface_menu18_displaycast(); + break; + case MENU_SPECTRUM_EMU: + interface_menu19_spectrum(); + } + return; } #else GLOBAL_ASM( @@ -29566,7 +29094,7 @@ glabel menu_init /* 04F1F4 7F01A6C4 256BA800 */ addiu $t3, %lo(cfb_16_b) # addiu $t3, $t3, -0x5800 /* 04F1F8 7F01A6C8 144B0003 */ bne $v0, $t3, .L7F01A6D8 /* 04F1FC 7F01A6CC 3C048003 */ lui $a0, %hi(ptr_menu_videobuffer) -/* 04F200 7F01A6D0 0C000F0F */ jal set_video2buf_offset28 +/* 04F200 7F01A6D0 0C000F0F */ jal set_video2buf_frameb /* 04F204 7F01A6D4 8C84A954 */ lw $a0, %lo(ptr_menu_videobuffer)($a0) .L7F01A6D8: /* 04F208 7F01A6D8 3C018005 */ lui $at, %hi(D_80051B48) @@ -30186,118 +29714,85 @@ menu0B_runstage_interface: #ifdef NONMATCHING -longlong menu_jump_constructor_handler(void) +void menu_jump_constructor_handler(Gfx *DL) { - longlong in_v0; - int iVar1; - uint *puVar2; - undefined4 *_DL; - longlong in_a0; - - if (true) { - _DL = (undefined4 *)in_a0; switch(current_menu) { - case MENU_LEGAL_SCREEN: - constructor_menu00_legalscreen(_DL); - in_a0 = in_v0; - break; - case MENU_NINTENDO_LOGO: - _DL = constructor_menu01_nintendo(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_RAREWARE_LOGO: - _DL = constructor_menu02_rareware(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_EYE_INTRO: - constructor_menu03_eyeintro(in_a0); - in_a0 = in_v0; - break; - case MENU_GOLDENEYE_LOGO: - _DL = constructor_menu04_goldeneyelogo(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_FILE_SELECT: - puVar2 = constructor_menu05_filesel(_DL); - in_a0 = (longlong)(int)puVar2; - break; - case MENU_MODE_SELECT: - iVar1 = constructor_menu06_modesel(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MISSION_SELECT: - iVar1 = constructor_menu07_missionsel(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_DIFFICULTY: - iVar1 = constructor_menu08_difficulty(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_007_OPTIONS: - iVar1 = constructor_menu09_007options(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_BRIEFING: - iVar1 = constructor_menu0A_briefing(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MISSION_FAILED: - iVar1 = constructor_menu0C_missionfailed(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MISSION_COMPLETE: - in_a0 = constructor_menu0D_missioncomplete(); - break; - case MENU_MP_OPTIONS: - iVar1 = constructor_menu0E_mpoptions(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MP_CHAR_SELECT: - _DL = constructor_menu0F_mpcharsel(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_MP_HANDICAP: - _DL = constructor_menu10_mphandicap(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_MP_CONTROL_STYLE: - _DL = constructor_menu11_mpcontrol(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_MP_STAGE_SELECT: - iVar1 = constructor_menu12_mpstage(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MP_SCENARIO_SELECT: - iVar1 = constructor_menu13_mpscenario(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_MP_TEAMS: - _DL = constructor_menu14_mpteams(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_CHEAT: - iVar1 = constructor_menu15_cheat(_DL); - in_a0 = (longlong)iVar1; - break; - case MENU_NO_CONTROLLERS: - puVar2 = constructor_menu16_nocontrollers(_DL); - in_a0 = (longlong)(int)puVar2; - break; - case MENU_SWITCH_SCREENS: - _DL = constructor_menu17_switchscreens(_DL); - in_a0 = (longlong)(int)_DL; - break; - case MENU_DISPLAY_CAST: - puVar2 = constructor_menu18_displaycast(_DL); - in_a0 = (longlong)(int)puVar2; - break; - case MENU_SPECTRUM_EMU: - _DL = constructor_menu19_spectrum(_DL); - in_a0 = (longlong)(int)_DL; + case MENU_LEGAL_SCREEN: + constructor_menu00_legalscreen(DL); + break; + case MENU_NINTENDO_LOGO: + constructor_menu01_nintendo(DL); + break; + case MENU_RAREWARE_LOGO: + constructor_menu02_rareware(DL); + break; + case MENU_EYE_INTRO: + constructor_menu03_eye(DL); + break; + case MENU_GOLDENEYE_LOGO: + constructor_menu04_goldeneyelogo(DL); + break; + case MENU_FILE_SELECT: + constructor_menu05_fileselect(DL); + break; + case MENU_MODE_SELECT: + constructor_menu06_modesel(DL); + break; + case MENU_MISSION_SELECT: + constructor_menu07_missionsel(DL); + break; + case MENU_DIFFICULTY: + constructor_menu08_difficulty(DL); + break; + case MENU_007_OPTIONS: + constructor_menu09_007options(DL); + break; + case MENU_BRIEFING: + constructor_menu0A_briefing(DL); + break; + case MENU_MISSION_FAILED: + constructor_menu0C_missionfailed(DL); + break; + case MENU_MISSION_COMPLETE: + constructor_menu0D_missioncomplete(DL); + break; + case MENU_MP_OPTIONS: + constructor_menu0E_mpoptions(DL); + break; + case MENU_MP_CHAR_SELECT: + constructor_menu0F_mpcharsel(DL); + break; + case MENU_MP_HANDICAP: + constructor_menu10_mphandicap(DL); + break; + case MENU_MP_CONTROL_STYLE: + constructor_menu11_mpcontrol(DL); + break; + case MENU_MP_STAGE_SELECT: + constructor_menu12_mpstage(DL); + break; + case MENU_MP_SCENARIO_SELECT: + constructor_menu13_mpscenario(DL); + break; + case MENU_MP_TEAMS: + constructor_menu14_mpteams(DL); + break; + case MENU_CHEAT: + constructor_menu15_cheat(DL); + break; + case MENU_NO_CONTROLLERS: + constructor_menu16_nocontrollers(DL); + break; + case MENU_SWITCH_SCREENS: + constructor_menu17_switchscreens(DL); + break; + case MENU_DISPLAY_CAST: + constructor_menu18_displaycast(DL); + break; + case MENU_SPECTRUM_EMU: + constructor_menu19_spectrum(DL); } - } - return in_a0; + return; } #else GLOBAL_ASM( diff --git a/src/game/mainmenu.h b/src/game/mainmenu.h index a65da8f5..7b2a8aaf 100644 --- a/src/game/mainmenu.h +++ b/src/game/mainmenu.h @@ -37,13 +37,13 @@ struct mp_stage_playercount { }; struct mp_stage_setup { - short folder_text_preset; - short select_screen_text_preset; - int photo; - int stage_id; - int unlock_after; - int min_player; - int max_player; + s16 folder_text_preset; + s16 select_screen_text_preset; + s32 photo; + s32 stage_id; + s32 unlock_after; + s32 min_player; + s32 max_player; }; struct MP_selectable_chars { @@ -71,8 +71,8 @@ struct MP_controller_configuration_menu { struct MP_sight_aim_settings { char anonymous_0; char field_1; - char field_2; - char field_3; + char sight; + char autoaim; }; struct intro_char { diff --git a/src/game/mp_music.c b/src/game/mp_music.c index f2bc393b..8c07481f 100644 --- a/src/game/mp_music.c +++ b/src/game/mp_music.c @@ -7,29 +7,29 @@ s32 dword_CODE_bss_8008C600; //CODE.bss:8008C604 s32 dword_CODE_bss_8008C604; //CODE.bss:8008C608 -s32 dword_CODE_bss_8008C608; +s32 music_slot_active_0; //CODE.bss:8008C60C -s32 dword_CODE_bss_8008C60C; +s32 music_slot_active_1; //CODE.bss:8008C610 -s32 dword_CODE_bss_8008C610; +s32 music_slot_active_2; //CODE.bss:8008C614 -s32 dword_CODE_bss_8008C614; +s32 music_slot_active_3; //CODE.bss:8008C618 -s32 dword_CODE_bss_8008C618; +s32 music_slot_minutes_0; //CODE.bss:8008C61C -s32 dword_CODE_bss_8008C61C; +s32 music_slot_minutes_1; //CODE.bss:8008C620 -s32 dword_CODE_bss_8008C620; +s32 music_slot_minutes_2; //CODE.bss:8008C624 -s32 dword_CODE_bss_8008C624; +s32 music_slot_minutes_3; //CODE.bss:8008C628 -s32 dword_CODE_bss_8008C628; +s32 music_slot_seconds_0; //CODE.bss:8008C62C -s32 dword_CODE_bss_8008C62C; +s32 music_slot_seconds_1; //CODE.bss:8008C630 -s32 dword_CODE_bss_8008C630; +s32 music_slot_seconds_2; //CODE.bss:8008C634 -s32 dword_CODE_bss_8008C634; +s32 music_slot_seconds_3; // data @@ -41,7 +41,7 @@ s32 mission_state = 0; void sub_GAME_7F0C0C10(void) { - sub_GAME_7F0A9180(); + call_sfx_c_700091C8(); } s32 get_mission_state(void) { @@ -178,7 +178,7 @@ glabel set_missionstate /* 0F57D4 7F0C0CA4 3C018002 */ lui $at, %hi(music1_playing) /* 0F57D8 7F0C0CA8 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) /* 0F57DC 7F0C0CAC AC20434C */ sw $zero, %lo(music1_playing)($at) -/* 0F57E0 7F0C0CB0 0FC349C8 */ jal sub_GAME_7F0D2720 +/* 0F57E0 7F0C0CB0 0FC349C8 */ jal getmusictrack_or_randomtrack /* 0F57E4 7F0C0CB4 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) /* 0F57E8 7F0C0CB8 0C001B9F */ jal musicTrack1Play /* 0F57EC 7F0C0CBC 00402025 */ move $a0, $v0 @@ -192,7 +192,7 @@ glabel set_missionstate /* 0F5808 7F0C0CD8 3C018002 */ lui $at, %hi(music1_playing) /* 0F580C 7F0C0CDC 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) /* 0F5810 7F0C0CE0 AC20434C */ sw $zero, %lo(music1_playing)($at) -/* 0F5814 7F0C0CE4 0FC349C8 */ jal sub_GAME_7F0D2720 +/* 0F5814 7F0C0CE4 0FC349C8 */ jal getmusictrack_or_randomtrack /* 0F5818 7F0C0CE8 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) /* 0F581C 7F0C0CEC 0C001B9F */ jal musicTrack1Play /* 0F5820 7F0C0CF0 00402025 */ move $a0, $v0 @@ -680,7 +680,7 @@ glabel set_missionstate /* 0F64C4 7F0C1954 3C018002 */ lui $at, %hi(music1_playing) # $at, 0x8002 /* 0F64C8 7F0C1958 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 /* 0F64CC 7F0C195C AC20438C */ sw $zero, %lo(music1_playing)($at) -/* 0F64D0 7F0C1960 0FC34D00 */ jal sub_GAME_7F0D2720 +/* 0F64D0 7F0C1960 0FC34D00 */ jal getmusictrack_or_randomtrack /* 0F64D4 7F0C1964 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) /* 0F64D8 7F0C1968 0C001BA3 */ jal musicTrack1Play /* 0F64DC 7F0C196C 00402025 */ move $a0, $v0 @@ -694,7 +694,7 @@ glabel set_missionstate /* 0F64F8 7F0C1988 3C018002 */ lui $at, %hi(music1_playing) # $at, 0x8002 /* 0F64FC 7F0C198C 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009 /* 0F6500 7F0C1990 AC20438C */ sw $zero, %lo(music1_playing)($at) -/* 0F6504 7F0C1994 0FC34D00 */ jal sub_GAME_7F0D2720 +/* 0F6504 7F0C1994 0FC34D00 */ jal getmusictrack_or_randomtrack /* 0F6508 7F0C1998 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0) /* 0F650C 7F0C199C 0C001BA3 */ jal musicTrack1Play /* 0F6510 7F0C19A0 00402025 */ move $a0, $v0 @@ -1057,9 +1057,23 @@ glabel set_missionstate -#ifdef NONMATCHING -void sub_GAME_7F0C11FC(void) { +#ifdef NONMATCHING// +void sub_GAME_7F0C11FC(s16 param_1) +{ + musicTrack1Stop(); + musicTrack2Stop(); + musicTrack3Stop(); + mission_state = 0; + dword_CODE_bss_8008C600 = (int)param_1; + if (sub_GAME_7F0D2848(param_1) < 0) + { + set_missionstate(1); + } + else + { + set_missionstate(4); + } } #else GLOBAL_ASM( @@ -1101,52 +1115,60 @@ glabel sub_GAME_7F0C11FC -void sub_GAME_7F0C1268(void) { +void sub_GAME_7F0C1268(void) +{ set_missionstate(0); } -void sub_GAME_7F0C1288(void) { - if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) { +void sub_GAME_7F0C1288(void) +{ + if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) + { set_missionstate(2); } - else { + else + { set_missionstate(5); } - return; } -void sub_GAME_7F0C12CC(void) { - if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) { +void sub_GAME_7F0C12CC(void) +{ + if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) + { set_missionstate(1); } - else { + else + { set_missionstate(4); } - return; } -void sub_GAME_7F0C1310(void) { +void sub_GAME_7F0C1310(void) +{ dword_CODE_bss_8008C604 = mission_state; set_missionstate(3); } -void sub_GAME_7F0C1340(void) { +void sub_GAME_7F0C1340(void) +{ set_missionstate(dword_CODE_bss_8008C604); } -void sub_GAME_7F0C1364(void) { - dword_CODE_bss_8008C608 = 0; - dword_CODE_bss_8008C618 = 0; - dword_CODE_bss_8008C628 = 0; - dword_CODE_bss_8008C60C = 0; - dword_CODE_bss_8008C61C = 0; - dword_CODE_bss_8008C62C = 0; - dword_CODE_bss_8008C610 = 0; - dword_CODE_bss_8008C620 = 0; - dword_CODE_bss_8008C630 = 0; - dword_CODE_bss_8008C614 = 0; - dword_CODE_bss_8008C624 = 0; - dword_CODE_bss_8008C634 = 0; +void sub_GAME_7F0C1364(void) +{ + music_slot_active_0 = 0; + music_slot_minutes_0 = 0; + music_slot_seconds_0 = 0; + music_slot_active_1 = 0; + music_slot_minutes_1 = 0; + music_slot_seconds_1 = 0; + music_slot_active_2 = 0; + music_slot_minutes_2 = 0; + music_slot_seconds_2 = 0; + music_slot_active_3 = 0; + music_slot_minutes_3 = 0; + music_slot_seconds_3 = 0; } @@ -1163,16 +1185,16 @@ GLOBAL_ASM( .text glabel reset_all_music_slots /* 0F5EF8 7F0C13C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F5EFC 7F0C13CC 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008C608) -/* 0F5F00 7F0C13D0 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C618) +/* 0F5EFC 7F0C13CC 3C078009 */ lui $a3, %hi(music_slot_active_0) +/* 0F5F00 7F0C13D0 3C048009 */ lui $a0, %hi(music_slot_minutes_0) /* 0F5F04 7F0C13D4 3C068005 */ lui $a2, %hi(clock_timer) -/* 0F5F08 7F0C13D8 3C098009 */ lui $t1, %hi(dword_CODE_bss_8008C628) +/* 0F5F08 7F0C13D8 3C098009 */ lui $t1, %hi(music_slot_seconds_0) /* 0F5F0C 7F0C13DC AFBF0014 */ sw $ra, 0x14($sp) /* 0F5F10 7F0C13E0 00005025 */ move $t2, $zero -/* 0F5F14 7F0C13E4 2529C628 */ addiu $t1, %lo(dword_CODE_bss_8008C628) # addiu $t1, $t1, -0x39d8 +/* 0F5F14 7F0C13E4 2529C628 */ addiu $t1, %lo(music_slot_seconds_0) # addiu $t1, $t1, -0x39d8 /* 0F5F18 7F0C13E8 8CC68374 */ lw $a2, %lo(clock_timer)($a2) -/* 0F5F1C 7F0C13EC 2484C618 */ addiu $a0, %lo(dword_CODE_bss_8008C618) # addiu $a0, $a0, -0x39e8 -/* 0F5F20 7F0C13F0 24E7C608 */ addiu $a3, %lo(dword_CODE_bss_8008C608) # addiu $a3, $a3, -0x39f8 +/* 0F5F1C 7F0C13EC 2484C618 */ addiu $a0, %lo(music_slot_minutes_0) # addiu $a0, $a0, -0x39e8 +/* 0F5F20 7F0C13F0 24E7C608 */ addiu $a3, %lo(music_slot_active_0) # addiu $a3, $a3, -0x39f8 /* 0F5F24 7F0C13F4 00004025 */ move $t0, $zero .L7F0C13F8: /* 0F5F28 7F0C13F8 8CE50000 */ lw $a1, ($a3) @@ -1183,8 +1205,8 @@ glabel reset_all_music_slots /* 0F5F3C 7F0C140C 24840004 */ addiu $a0, $a0, 4 /* 0F5F40 7F0C1410 8C820000 */ lw $v0, ($a0) .L7F0C1414: -/* 0F5F44 7F0C1414 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008C628) -/* 0F5F48 7F0C1418 25EFC628 */ addiu $t7, %lo(dword_CODE_bss_8008C628) # addiu $t7, $t7, -0x39d8 +/* 0F5F44 7F0C1414 3C0F8009 */ lui $t7, %hi(music_slot_seconds_0) +/* 0F5F48 7F0C1418 25EFC628 */ addiu $t7, %lo(music_slot_seconds_0) # addiu $t7, $t7, -0x39d8 /* 0F5F4C 7F0C141C 0046082A */ slt $at, $v0, $a2 /* 0F5F50 7F0C1420 14200004 */ bnez $at, .L7F0C1434 /* 0F5F54 7F0C1424 010F1821 */ addu $v1, $t0, $t7 @@ -1259,15 +1281,20 @@ glabel reset_all_music_slots #ifdef NONMATCHING -void set_musicslot_time(void) { - +void set_musicslot_time(int slot,int min,int sec) +{ + if (music_slot_active[slot] == 0) { + music_slot_active[slot] = 1; + music_slot_minutes[slot] = min * 0x3c; + music_slot_seconds[slot] = sec * 0x3c; + } } #else GLOBAL_ASM( .text glabel set_musicslot_time -/* 0F602C 7F0C14FC 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008C608) -/* 0F6030 7F0C1500 25CEC608 */ addiu $t6, %lo(dword_CODE_bss_8008C608) # addiu $t6, $t6, -0x39f8 +/* 0F602C 7F0C14FC 3C0E8009 */ lui $t6, %hi(music_slot_active_0) +/* 0F6030 7F0C1500 25CEC608 */ addiu $t6, %lo(music_slot_active_0) # addiu $t6, $t6, -0x39f8 /* 0F6034 7F0C1504 00041080 */ sll $v0, $a0, 2 /* 0F6038 7F0C1508 004E1821 */ addu $v1, $v0, $t6 /* 0F603C 7F0C150C 8C6F0000 */ lw $t7, ($v1) @@ -1276,16 +1303,16 @@ glabel set_musicslot_time /* 0F6048 7F0C1518 00000000 */ nop /* 0F604C 7F0C151C 00A40019 */ multu $a1, $a0 /* 0F6050 7F0C1520 24180001 */ li $t8, 1 -/* 0F6054 7F0C1524 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C618) +/* 0F6054 7F0C1524 3C018009 */ lui $at, %hi(music_slot_minutes_0) /* 0F6058 7F0C1528 AC780000 */ sw $t8, ($v1) /* 0F605C 7F0C152C 00220821 */ addu $at, $at, $v0 /* 0F6060 7F0C1530 0000C812 */ mflo $t9 -/* 0F6064 7F0C1534 AC39C618 */ sw $t9, %lo(dword_CODE_bss_8008C618)($at) -/* 0F6068 7F0C1538 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C628) +/* 0F6064 7F0C1534 AC39C618 */ sw $t9, %lo(music_slot_minutes_0)($at) +/* 0F6068 7F0C1538 3C018009 */ lui $at, %hi(music_slot_seconds_0) /* 0F606C 7F0C153C 00C40019 */ multu $a2, $a0 /* 0F6070 7F0C1540 00220821 */ addu $at, $at, $v0 /* 0F6074 7F0C1544 00004012 */ mflo $t0 -/* 0F6078 7F0C1548 AC28C628 */ sw $t0, %lo(dword_CODE_bss_8008C628)($at) +/* 0F6078 7F0C1548 AC28C628 */ sw $t0, %lo(music_slot_seconds_0)($at) /* 0F607C 7F0C154C 00000000 */ nop .L7F0C1550: /* 0F6080 7F0C1550 03E00008 */ jr $ra @@ -1301,21 +1328,21 @@ glabel set_musicslot_time void reset_music_in_slot(int lParm1) { if (-1 < lParm1) { - (&dword_CODE_bss_8008C608)[(int)lParm1] = 0; + (&music_slot_active_0)[(int)lParm1] = 0; return; } - dword_CODE_bss_8008C608 = 0; - dword_CODE_bss_8008C60C = 0; - dword_CODE_bss_8008C610 = 0; - dword_CODE_bss_8008C614 = 0; - dword_CODE_bss_8008C618 = 0; - dword_CODE_bss_8008C61C = 0; - dword_CODE_bss_8008C620 = 0; - dword_CODE_bss_8008C624 = 0; - dword_CODE_bss_8008C628 = 0; - dword_CODE_bss_8008C62C = 0; - dword_CODE_bss_8008C630 = 0; - dword_CODE_bss_8008C634 = 0; + music_slot_active_0 = 0; + music_slot_active_1 = 0; + music_slot_active_2 = 0; + music_slot_active_3 = 0; + music_slot_minutes_0 = 0; + music_slot_minutes_1 = 0; + music_slot_minutes_2 = 0; + music_slot_minutes_3 = 0; + music_slot_seconds_0 = 0; + music_slot_seconds_1 = 0; + music_slot_seconds_2 = 0; + music_slot_seconds_3 = 0; return; } #else @@ -1323,37 +1350,37 @@ GLOBAL_ASM( .text glabel reset_music_in_slot /* 0F6088 7F0C1558 04800006 */ bltz $a0, .L7F0C1574 -/* 0F608C 7F0C155C 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C608) +/* 0F608C 7F0C155C 3C018009 */ lui $at, %hi(music_slot_active_0) /* 0F6090 7F0C1560 00047080 */ sll $t6, $a0, 2 -/* 0F6094 7F0C1564 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C608) +/* 0F6094 7F0C1564 3C018009 */ lui $at, %hi(music_slot_active_0) /* 0F6098 7F0C1568 002E0821 */ addu $at, $at, $t6 /* 0F609C 7F0C156C 03E00008 */ jr $ra -/* 0F60A0 7F0C1570 AC20C608 */ sw $zero, %lo(dword_CODE_bss_8008C608)($at) +/* 0F60A0 7F0C1570 AC20C608 */ sw $zero, %lo(music_slot_active_0)($at) .L7F0C1574: -/* 0F60A4 7F0C1574 AC20C608 */ sw $zero, %lo(dword_CODE_bss_8008C608)($at) -/* 0F60A8 7F0C1578 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C618) -/* 0F60AC 7F0C157C AC20C618 */ sw $zero, %lo(dword_CODE_bss_8008C618)($at) -/* 0F60B0 7F0C1580 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C628) -/* 0F60B4 7F0C1584 AC20C628 */ sw $zero, %lo(dword_CODE_bss_8008C628)($at) -/* 0F60B8 7F0C1588 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C60C) -/* 0F60BC 7F0C158C AC20C60C */ sw $zero, %lo(dword_CODE_bss_8008C60C)($at) -/* 0F60C0 7F0C1590 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C61C) -/* 0F60C4 7F0C1594 AC20C61C */ sw $zero, %lo(dword_CODE_bss_8008C61C)($at) -/* 0F60C8 7F0C1598 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C62C) -/* 0F60CC 7F0C159C AC20C62C */ sw $zero, %lo(dword_CODE_bss_8008C62C)($at) -/* 0F60D0 7F0C15A0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C610) -/* 0F60D4 7F0C15A4 AC20C610 */ sw $zero, %lo(dword_CODE_bss_8008C610)($at) -/* 0F60D8 7F0C15A8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C620) -/* 0F60DC 7F0C15AC AC20C620 */ sw $zero, %lo(dword_CODE_bss_8008C620)($at) -/* 0F60E0 7F0C15B0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C630) -/* 0F60E4 7F0C15B4 AC20C630 */ sw $zero, %lo(dword_CODE_bss_8008C630)($at) -/* 0F60E8 7F0C15B8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C614) -/* 0F60EC 7F0C15BC AC20C614 */ sw $zero, %lo(dword_CODE_bss_8008C614)($at) -/* 0F60F0 7F0C15C0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C624) -/* 0F60F4 7F0C15C4 AC20C624 */ sw $zero, %lo(dword_CODE_bss_8008C624)($at) -/* 0F60F8 7F0C15C8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C634) -/* 0F60FC 7F0C15CC AC20C634 */ sw $zero, %lo(dword_CODE_bss_8008C634)($at) +/* 0F60A4 7F0C1574 AC20C608 */ sw $zero, %lo(music_slot_active_0)($at) +/* 0F60A8 7F0C1578 3C018009 */ lui $at, %hi(music_slot_minutes_0) +/* 0F60AC 7F0C157C AC20C618 */ sw $zero, %lo(music_slot_minutes_0)($at) +/* 0F60B0 7F0C1580 3C018009 */ lui $at, %hi(music_slot_seconds_0) +/* 0F60B4 7F0C1584 AC20C628 */ sw $zero, %lo(music_slot_seconds_0)($at) +/* 0F60B8 7F0C1588 3C018009 */ lui $at, %hi(music_slot_active_1) +/* 0F60BC 7F0C158C AC20C60C */ sw $zero, %lo(music_slot_active_1)($at) +/* 0F60C0 7F0C1590 3C018009 */ lui $at, %hi(music_slot_minutes_1) +/* 0F60C4 7F0C1594 AC20C61C */ sw $zero, %lo(music_slot_minutes_1)($at) +/* 0F60C8 7F0C1598 3C018009 */ lui $at, %hi(music_slot_seconds_1) +/* 0F60CC 7F0C159C AC20C62C */ sw $zero, %lo(music_slot_seconds_1)($at) +/* 0F60D0 7F0C15A0 3C018009 */ lui $at, %hi(music_slot_active_2) +/* 0F60D4 7F0C15A4 AC20C610 */ sw $zero, %lo(music_slot_active_2)($at) +/* 0F60D8 7F0C15A8 3C018009 */ lui $at, %hi(music_slot_minutes_2) +/* 0F60DC 7F0C15AC AC20C620 */ sw $zero, %lo(music_slot_minutes_2)($at) +/* 0F60E0 7F0C15B0 3C018009 */ lui $at, %hi(music_slot_seconds_2) +/* 0F60E4 7F0C15B4 AC20C630 */ sw $zero, %lo(music_slot_seconds_2)($at) +/* 0F60E8 7F0C15B8 3C018009 */ lui $at, %hi(music_slot_active_3) +/* 0F60EC 7F0C15BC AC20C614 */ sw $zero, %lo(music_slot_active_3)($at) +/* 0F60F0 7F0C15C0 3C018009 */ lui $at, %hi(music_slot_minutes_3) +/* 0F60F4 7F0C15C4 AC20C624 */ sw $zero, %lo(music_slot_minutes_3)($at) +/* 0F60F8 7F0C15C8 3C018009 */ lui $at, %hi(music_slot_seconds_3) +/* 0F60FC 7F0C15CC AC20C634 */ sw $zero, %lo(music_slot_seconds_3)($at) /* 0F6100 7F0C15D0 03E00008 */ jr $ra /* 0F6104 7F0C15D4 00000000 */ nop ) diff --git a/src/game/mp_watch.c b/src/game/mp_watch.c index 9a0826b4..153e256d 100644 --- a/src/game/mp_watch.c +++ b/src/game/mp_watch.c @@ -342,11 +342,13 @@ glabel check_if_player_is_pressing_anything_left -void play_watch_sfx_beep(void) { +void play_watch_sfx_beep(void) +{ play_sfx_a1(ptr_sfx_buf, 0x9f, 0); } -void unpause_game(void) { +void unpause_game(void) +{ stop_play_flag = 0; is_gameover_flag = 0; is_paused = 0; @@ -1561,8 +1563,8 @@ glabel sub_GAME_7F0C2E80 /* 0F7B08 7F0C2FD8 2C490001 */ sltiu $t1, $v0, 1 /* 0F7B0C 7F0C2FDC AC890000 */ sw $t1, ($a0) .L7F0C2FE0: -/* 0F7B10 7F0C2FE0 3C028008 */ lui $v0, %hi(cur_player_stat_ptr) -/* 0F7B14 7F0C2FE4 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0) +/* 0F7B10 7F0C2FE0 3C028008 */ lui $v0, %hi(pPlayersPerm) +/* 0F7B14 7F0C2FE4 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0) /* 0F7B18 7F0C2FE8 8CEA0000 */ lw $t2, ($a3) /* 0F7B1C 7F0C2FEC 8C4B0054 */ lw $t3, 0x54($v0) /* 0F7B20 7F0C2FF0 8D4329F8 */ lw $v1, 0x29f8($t2) @@ -1576,8 +1578,8 @@ glabel sub_GAME_7F0C2E80 /* 0F7B3C 7F0C300C 3C078008 */ lui $a3, %hi(pPlayer) /* 0F7B40 7F0C3010 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 /* 0F7B44 7F0C3014 8CE30000 */ lw $v1, ($a3) -/* 0F7B48 7F0C3018 3C0C8008 */ lui $t4, %hi(cur_player_stat_ptr) -/* 0F7B4C 7F0C301C 8D8CA0B4 */ lw $t4, %lo(cur_player_stat_ptr)($t4) +/* 0F7B48 7F0C3018 3C0C8008 */ lui $t4, %hi(pPlayersPerm) +/* 0F7B4C 7F0C301C 8D8CA0B4 */ lw $t4, %lo(pPlayersPerm)($t4) /* 0F7B50 7F0C3020 8C6E29F4 */ lw $t6, 0x29f4($v1) /* 0F7B54 7F0C3024 8FA80030 */ lw $t0, 0x30($sp) /* 0F7B58 7F0C3028 8D8D004C */ lw $t5, 0x4c($t4) @@ -1590,8 +1592,8 @@ glabel sub_GAME_7F0C2E80 /* 0F7B74 7F0C3044 3C078008 */ lui $a3, %hi(pPlayer) /* 0F7B78 7F0C3048 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50 /* 0F7B7C 7F0C304C 8CF80000 */ lw $t8, ($a3) -/* 0F7B80 7F0C3050 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr) -/* 0F7B84 7F0C3054 8D4AA0B4 */ lw $t2, %lo(cur_player_stat_ptr)($t2) +/* 0F7B80 7F0C3050 3C0A8008 */ lui $t2, %hi(pPlayersPerm) +/* 0F7B84 7F0C3054 8D4AA0B4 */ lw $t2, %lo(pPlayersPerm)($t2) /* 0F7B88 7F0C3058 8F1929F4 */ lw $t9, 0x29f4($t8) /* 0F7B8C 7F0C305C 8FA80030 */ lw $t0, 0x30($sp) /* 0F7B90 7F0C3060 00594823 */ subu $t1, $v0, $t9 @@ -7219,14 +7221,13 @@ def_7F0C40C0: #ifdef NONMATCHING -s32 sub_GAME_7F0C6048(void) { - // Node 0 +s32 sub_GAME_7F0C6048(void) +{ if (is_gameover_flag != 0) { - // Node 1 return 0; } - return (pPlayer->unk29C4 | (0 < pPlayer->unk2A00)); + return (pPlayer->mpmenuon | (0 < pPlayer->healthdisplaytime)); } #else diff --git a/src/game/mp_weapon.c b/src/game/mp_weapon.c index 197c6460..6f7b190c 100644 --- a/src/game/mp_weapon.c +++ b/src/game/mp_weapon.c @@ -3,7 +3,7 @@ // data //D:80048670 -struct struct_2 type_0_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_slaps[] = { {0, 0xCD, 1.0, 1, 0, 1}, {0, 0xCD, 1.0, 1, 0, 1}, {0, 0xCD, 1.0, 1, 0, 1}, @@ -15,7 +15,7 @@ struct struct_2 type_0_stru_800490F0[] = { }; //D:80048730 -struct struct_2 type_1_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_pistols[] = { {6, 0xCD, 1.0, 1, 0x32, 1}, {6, 0xCD, 1.0, 1, 0x32, 1}, {6, 0xCD, 1.0, 1, 0x32, 1}, @@ -27,7 +27,7 @@ struct struct_2 type_1_stru_800490F0[] = { }; //D:800487F0 -struct struct_2 type_D_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_knife[] = { {3, 0xD1, 1.0, 0xA, 0xA, 0}, {3, 0xD1, 1.0, 0xA, 0xA, 0}, {3, 0xD1, 1.0, 0xA, 0xA, 0}, @@ -39,7 +39,7 @@ struct struct_2 type_D_stru_800490F0[] = { }; //D:800488B0 -struct struct_2 type_2_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_auto[] = { {5, 0xCC, 1.0, 1, 0x32, 1}, {5, 0xCC, 1.0, 1, 0x32, 1}, {6, 0xCD, 1.0, 1, 0x32, 1}, @@ -51,7 +51,7 @@ struct struct_2 type_2_stru_800490F0[] = { }; //D:80048970 -struct struct_2 type_3_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_power[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {0x12, 0xBE, 1.0, 0xC, 0x32, 1}, @@ -63,7 +63,7 @@ struct struct_2 type_3_stru_800490F0[] = { }; //D:80048A30 -struct struct_2 type_4_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_sniper[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {0x12, 0xBE, 1.0, 0xC, 0x32, 1}, @@ -75,7 +75,7 @@ struct struct_2 type_4_stru_800490F0[] = { }; //D:80048AF0 -struct struct_2 type_5_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_grenade[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {7, 0xC1, 1.5, 1, 0x64, 1}, @@ -88,7 +88,7 @@ struct struct_2 type_5_stru_800490F0[] = { //D:80048BB0 #ifdef VERSION_US -struct struct_2 type_6_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_remote_m[] = { {4, 0xBF, 3.0, 1, 0x32, 1}, {4, 0xBF, 3.0, 1, 0x32, 1}, {9, 0xC3, 1.5, 1, 0x64, 1}, @@ -99,8 +99,21 @@ struct struct_2 type_6_stru_800490F0[] = { {0x1D, 0xC7, 1.5, 7, 5, 0} }; #endif +#ifdef VERSION_EU +//!FIXME temp copy of us data +struct s_mp_weapon_set mp_weapon_set_remote_m[] = { + {4, 0xBF, 3.0, 1, 0x32, 1}, + {4, 0xBF, 3.0, 1, 0x32, 1}, + {9, 0xC3, 1.5, 1, 0x64, 1}, + {9, 0xC3, 1.5, 1, 0x64, 1}, + {0xD, 0xBC, 1.5, 3, 0x64, 1}, + {0xD, 0xBC, 1.5, 3, 0x64, 1}, + {0x1D, 0xC7, 1.5, 7, 5, 0}, + {0x1D, 0xC7, 1.5, 7, 5, 0} +}; +#endif #ifdef VERSION_JP -struct struct_2 type_6_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_remote_m[] = { {4, 0xBF, 3.0, 1, 0x32, 1}, {4, 0xBF, 3.0, 1, 0x32, 1}, {9, 0xC3, 1.5, 1, 0x64, 1}, @@ -113,7 +126,7 @@ struct struct_2 type_6_stru_800490F0[] = { #endif //D:80048C70 -struct struct_2 type_7_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_glaunch[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {7, 0xC1, 1.5, 1, 0x64, 1}, @@ -126,7 +139,7 @@ struct struct_2 type_7_stru_800490F0[] = { //D:80048D30 #ifdef VERSION_US -struct struct_2 type_8_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_timed_m[] = { {4, 0xBF, 3.0, 1, 0x32, 1}, {4, 0xBF, 3.0, 1, 0x32, 1}, {9, 0xC3, 1.5, 1, 0x64, 1}, @@ -137,8 +150,21 @@ struct struct_2 type_8_stru_800490F0[] = { {0x1B, 0xC9, 1.5, 9, 5, 0} }; #endif +#ifdef VERSION_EU +//!FIXME temp copy of us data +struct s_mp_weapon_set mp_weapon_set_timed_m[] = { + {4, 0xBF, 3.0, 1, 0x32, 1}, + {4, 0xBF, 3.0, 1, 0x32, 1}, + {9, 0xC3, 1.5, 1, 0x64, 1}, + {9, 0xC3, 1.5, 1, 0x64, 1}, + {0xD, 0xBC, 1.5, 3, 0x64, 1}, + {0xD, 0xBC, 1.5, 3, 0x64, 1}, + {0x1B, 0xC9, 1.5, 9, 5, 0}, + {0x1B, 0xC9, 1.5, 9, 5, 0} +}; +#endif #ifdef VERSION_JP -struct struct_2 type_8_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_timed_m[] = { {4, 0xBF, 3.0, 1, 0x32, 1}, {4, 0xBF, 3.0, 1, 0x32, 1}, {9, 0xC3, 1.5, 1, 0x64, 1}, @@ -151,7 +177,7 @@ struct struct_2 type_8_stru_800490F0[] = { #endif //D:80048DF0 -struct struct_2 type_9_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_prox_m[] = { {4, 0xBF, 3.0, 1, 0x32, 1}, {4, 0xBF, 3.0, 1, 0x32, 1}, {9, 0xC3, 1.5, 1, 0x64, 1}, @@ -163,7 +189,7 @@ struct struct_2 type_9_stru_800490F0[] = { }; //D:80048EB0 -struct struct_2 type_A_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_rockets[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {7, 0xC1, 1.5, 1, 0x64, 1}, @@ -175,7 +201,7 @@ struct struct_2 type_A_stru_800490F0[] = { }; //D:80048F70 -struct struct_2 type_B_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_lasers[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {7, 0xC1, 1.5, 1, 0x64, 1}, @@ -187,7 +213,7 @@ struct struct_2 type_B_stru_800490F0[] = { }; //D:80049030 -struct struct_2 type_C_stru_800490F0[] = { +struct s_mp_weapon_set mp_weapon_set_golden[] = { {6, 0xCD, 3.0, 1, 0x32, 1}, {6, 0xCD, 3.0, 1, 0x32, 1}, {7, 0xC1, 1.5, 1, 0x64, 1}, @@ -200,20 +226,20 @@ struct struct_2 type_C_stru_800490F0[] = { //D:800490F0 struct struct_8 mp_weapon_set_text_table[] = { - {0xA8, 0, 0, 0, type_0_stru_800490F0}, - {0xA8, 1, 0, 0, type_1_stru_800490F0}, - {0xA8, 0xD, 0, 0, type_D_stru_800490F0}, - {0xA8, 2, 0, 0, type_2_stru_800490F0}, - {0xA8, 3, 0, 0, type_3_stru_800490F0}, - {0xA8, 4, 0, 0, type_4_stru_800490F0}, - {0xA8, 5, 0, 0, type_5_stru_800490F0}, - {0xA8, 6, 0, 0, type_6_stru_800490F0}, - {0xA8, 7, 0, 0, type_7_stru_800490F0}, - {0xA8, 8, 0, 0, type_8_stru_800490F0}, - {0xA8, 9, 0, 0, type_9_stru_800490F0}, - {0xA8, 0xA, 0, 0, type_A_stru_800490F0}, - {0xA8, 0xB, 0, 0, type_B_stru_800490F0}, - {0xA8, 0xC, 0, 0, type_C_stru_800490F0} + {0xA8, 0, 0, 0, mp_weapon_set_slaps}, + {0xA8, 1, 0, 0, mp_weapon_set_pistols}, + {0xA8, 0xD, 0, 0, mp_weapon_set_knife}, + {0xA8, 2, 0, 0, mp_weapon_set_auto}, + {0xA8, 3, 0, 0, mp_weapon_set_power}, + {0xA8, 4, 0, 0, mp_weapon_set_sniper}, + {0xA8, 5, 0, 0, mp_weapon_set_grenade}, + {0xA8, 6, 0, 0, mp_weapon_set_remote_m}, + {0xA8, 7, 0, 0, mp_weapon_set_glaunch}, + {0xA8, 8, 0, 0, mp_weapon_set_timed_m}, + {0xA8, 9, 0, 0, mp_weapon_set_prox_m}, + {0xA8, 0xA, 0, 0, mp_weapon_set_rockets}, + {0xA8, 0xB, 0, 0, mp_weapon_set_lasers}, + {0xA8, 0xC, 0, 0, mp_weapon_set_golden} }; s32 mp_weapon_set = 0xB; @@ -222,10 +248,9 @@ s32 mp_weapon_set = 0xB; #ifdef NONMATCHING -void *advance_mp_weapon_set_by_one_save_value(void) { - // Node 0 - mp_weapon_set = (s32) ((s32) (mp_weapon_set + 1) % 0xe); - return &mp_weapon_set; +void advance_mp_weapon_set_by_one_save_value(void) +{ + mp_weapon_set = (mp_weapon_set + 1) % 0xe; } #else GLOBAL_ASM( diff --git a/src/game/mp_weapon.h b/src/game/mp_weapon.h index b45578ea..57a16934 100644 --- a/src/game/mp_weapon.h +++ b/src/game/mp_weapon.h @@ -2,7 +2,7 @@ #define _MP_WEAPON_H_ #include "ultra64.h" -struct struct_2 +struct s_mp_weapon_set { s32 anonymous_0; s32 anonymous_1; @@ -18,7 +18,7 @@ struct struct_8 char field_1; char field_2; char field_3; - struct struct_2 * anonymous_1; + struct s_mp_weapon_set * anonymous_1; }; diff --git a/src/game/music_0D2720.c b/src/game/music_0D2720.c index 25de8522..c6ec204f 100644 --- a/src/game/music_0D2720.c +++ b/src/game/music_0D2720.c @@ -48,13 +48,13 @@ s16 random_tracks[] = { #ifdef NONMATCHING -void sub_GAME_7F0D2720(void) { +void getmusictrack_or_randomtrack(void) { } #else GLOBAL_ASM( .text -glabel sub_GAME_7F0D2720 +glabel getmusictrack_or_randomtrack /* 107250 7F0D2720 3C0E8005 */ lui $t6, %hi(music_setup_entries) /* 107254 7F0D2724 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6) /* 107258 7F0D2728 27BDFFD8 */ addiu $sp, $sp, -0x28 diff --git a/src/game/ob.c b/src/game/ob.c index f1507fa2..37225869 100644 --- a/src/game/ob.c +++ b/src/game/ob.c @@ -1,19 +1,15 @@ #include "ultra64.h" #include "game/ob.h" #include "assets/obseg/obseg.h" +#include "game/decompress.h" //bss //800888b0 -u8 ptr_resource_data[0x13]; -//800888c4 -u32 ptr_res_data_next; -//800888c8 -u8 dword_CODE_bss_800888c8[0x10]; -u8 dword_CODE_bss_800888D8[0x3958]; +struct resource_lookup_data_entry resource_lookup_data_array[736]; // data //D:80046050 -s32 D_80046050 = 0; +s32 ob_c_debug_notice_list_entry = 0; struct fileentry file_resource_table[] = { {0, "", 0}, @@ -53,6 +49,7 @@ struct fileentry file_resource_table[] = { {0x22, "bg/bg_len_all_p.seg", &bg_len_all_p_seg}, {0x23, "bg/bg_wax_all_p.seg", &bg_wax_all_p_seg}, {0x24, "bg/bg_pam_all_p.seg", &bg_pam_all_p_seg}, + {0x25, "CarmourguardZ", &CarmourguardZ}, {0x26, "CbaronsamediZ", &CbaronsamediZ}, {0x27, "CbluecamguardZ", &CbluecamguardZ}, @@ -133,6 +130,7 @@ struct fileentry file_resource_table[] = { {0x72, "CtrevguardZ", &CtrevguardZ}, {0x73, "CvalentinZ", &CvalentinZ}, {0x74, "CxeniaZ", &CxeniaZ}, + {0x75, "Gak47Z", &Gak47Z}, {0x76, "GaudiotapeZ", &GaudiotapeZ}, {0x77, "GautoshotZ", &GautoshotZ}, @@ -225,6 +223,7 @@ struct fileentry file_resource_table[] = { {0xCE, "GwppkZ", &GwppkZ}, {0xCF, "GwppksilZ", &GwppksilZ}, {0xD0, "GwristdartZ", &GwristdartZ}, + {0xD1, "PICBMZ", &PICBMZ}, {0xD2, "PICBM_noseZ", &PICBM_noseZ}, {0xD3, "Pak47magZ", &Pak47magZ}, @@ -601,6 +600,7 @@ struct fileentry file_resource_table[] = { {0x245, "Tbg_stat_all_p_stanZ", &Tbg_stat_all_p_stanZ}, {0x246, "Tbg_tra_all_p_stanZ", &Tbg_tra_all_p_stanZ}, {0x247, "Tbg_wax_all_p_stanZ", &UbriefarchZ}, + {0x248, "UbriefarchZ", &UbriefarchZ}, {0x249, "UbriefarkZ", &UbriefarkZ}, {0x24A, "UbriefaztZ", &UbriefaztZ}, @@ -621,6 +621,7 @@ struct fileentry file_resource_table[] = { {0x259, "UbriefsiloZ", &UbriefsiloZ}, {0x25A, "UbriefstatueZ", &UbriefstatueZ}, {0x25B, "UbrieftraZ", &UbrieftraZ}, + {0x25C, "Ump_setupameZ", &Ump_setupameZ}, {0x25D, "Ump_setuparchZ", &Ump_setuparchZ}, {0x25E, "Ump_setuparkZ", &Ump_setuparkZ}, @@ -634,6 +635,7 @@ struct fileentry file_resource_table[] = { {0x266, "Ump_setuprefZ", &Ump_setuprefZ}, {0x267, "Ump_setupsevbZ", &Ump_setupsevbZ}, {0x268, "Ump_setupstatueZ", &Ump_setupstatueZ}, + {0x269, "UsetuparchZ", &UsetuparchZ}, {0x26A, "UsetuparkZ", &UsetuparkZ}, {0x26B, "UsetupaztZ", &UsetupaztZ}, @@ -655,6 +657,7 @@ struct fileentry file_resource_table[] = { {0x27B, "UsetupsiloZ", &UsetupsiloZ}, {0x27C, "UsetupstatueZ", &UsetupstatueZ}, {0x27D, "UsetuptraZ", &UsetuptraZ}, + {0x27E, "LameE", &LameE}, {0x27F, "LameJ", &LameJ}, {0x280, "LarchE", &LarchE}, @@ -743,6 +746,7 @@ struct fileentry file_resource_table[] = { {0x2D3, "LtraJ", &LtraJ}, {0x2D4, "LwaxE", &LwaxE}, {0x2D5, "LwaxJ", &LwaxJ}, + {0x2D6, "ob/ob_end.seg", &ob__ob_end_seg}, {0}, {0}, @@ -763,8 +767,29 @@ s32 file_entry_max = 0x2D7; #ifdef NONMATCHING -void load_resource(void) { +//matches other than regalloc +void load_resource(u8 *ptrdata, u32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata) +{ + s32 unused; + u8 buffer[8448]; + u8 *source; + if (bytes == 0) + { + romCopy(srcfile->hw_address, lookupdata->rom_size); + return; + } + source = (ptrdata + bytes) - ((lookupdata->rom_size + 7) & -8); + if ((u32) (source - ptrdata) < 8U) + { + lookupdata->pc_remaining = 0; + } + else + { + romCopy(source, srcfile->hw_address, lookupdata->rom_size); + //unused = + lookupdata->pc_remaining = decompressdata(source, ptrdata, &buffer);; + } } #else GLOBAL_ASM( @@ -819,8 +844,41 @@ glabel load_resource #ifdef NONMATCHING -void resource_load_from_indy(void) { - +//need to tinker with stack size +void resource_load_from_indy(u8 *ptrdata, u32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata) +{ + void *sp2124; + u8 buffer[8450]; + u8 *pPayload; + u32 size; +static const u8 rz_header_1[] = {0x11, 0x72, 0x00, 0x00}; +static const u8 rz_header_2[] = {0x11, 0x72, 0x00, 0x00}; + if (bytes == 0) + { + load_resource_on_indy(srcfile->filename, ptrdata); + return; + } + check_file_found_on_indy(srcfile->filename, lookupdata->pc_size); + pPayload = (ptrdata + bytes) - ((lookupdata->pc_size + 7) & -8); + if ((u32) (pPayload - ptrdata) < 8U) + { + lookupdata->pc_remaining = 0; + } + else + { + sp2124 = pPayload; + load_resource_on_indy(srcfile->filename, pPayload); + if ((pPayload[0] == rz_header_1[0]) && (pPayload[1] == rz_header_2[1])) + { + size = decompressdata(pPayload, ptrdata, &buffer); + } + else + { + _bcopy(pPayload, ptrdata, lookupdata->pc_size); + size = lookupdata->pc_size; + } + lookupdata->pc_remaining = (s32) size; + } } #else GLOBAL_ASM( @@ -908,36 +966,29 @@ glabel resource_load_from_indy #ifdef NONMATCHING -void *ob_c_debug_setup(void) { - s32 temp_v1; - u32 temp_v0; - void *phi_a0; - u32 phi_v0; - - // Node 0 - get_ptr_debug_notice_list_entry(&D_80046050, &aOb_c_debug); - temp_v1 = (file_entry_max + -1); - if (temp_v1 >= 2) - { - // Node 1 - phi_a0 = (void *) (file_resource_table + 0xc); - phi_v0 = &ptr_res_data_next; -loop_2: - // Node 2 - temp_v0 = (phi_v0 + 0x14); - temp_v0->unk-14 = (s32) (phi_a0->unk14 - phi_a0->unk8); - temp_v0->unk-10 = 0; - temp_v0->unk-C = 0; - temp_v0->unk-8 = 0; - phi_a0 = (phi_a0 + 0xc); - phi_v0 = temp_v0; - if (temp_v0 < (u32) ((temp_v1 * 0x14) + &ptr_resource_data)) - { - goto loop_2; - } +void ob_c_debug_setup(void) +{ + struct resource_lookup_data_entry *lookupentry; + struct resource_lookup_data_entry *nextlookup; + int file_count; + struct fileentry *filetable_entry; + + get_ptr_debug_notice_list_entry(&ob_c_debug_notice_list_entry,"ob_c_debug"); + filetable_entry = &file_resource_table[0]; + file_count = file_entry_max - 1; + if (1 < file_count) { + lookupentry = resource_lookup_data_array + 1; + while (nextlookup < resource_lookup_data_array + file_count) { + filetable_entry = filetable_entry + 1; + nextlookup = lookupentry + 1; + lookupentry->rom_size = filetable_entry[1].hw_address - filetable_entry->hw_address; + lookupentry->pc_remaining = 0; + lookupentry->pc_size = 0; + lookupentry->rom_remaining = 0; + lookupentry = nextlookup; + } ; } - // Node 3 - return &ptr_res_data_next; + return; } #else GLOBAL_ASM( @@ -950,11 +1001,11 @@ glabel aOb_c_debug glabel ob_c_debug_setup /* 0F1758 7F0BCC28 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F175C 7F0BCC2C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F1760 7F0BCC30 3C048004 */ lui $a0, %hi(D_80046050) +/* 0F1760 7F0BCC30 3C048004 */ lui $a0, %hi(ob_c_debug_notice_list_entry) /* 0F1764 7F0BCC34 3C058006 */ lui $a1, %hi(aOb_c_debug) /* 0F1768 7F0BCC38 24A5B674 */ addiu $a1, %lo(aOb_c_debug) # addiu $a1, $a1, -0x498c /* 0F176C 7F0BCC3C 0C001398 */ jal get_ptr_debug_notice_list_entry -/* 0F1770 7F0BCC40 24846050 */ addiu $a0, %lo(D_80046050) # addiu $a0, $a0, 0x6050 +/* 0F1770 7F0BCC40 24846050 */ addiu $a0, %lo(ob_c_debug_notice_list_entry) # addiu $a0, $a0, 0x6050 /* 0F1774 7F0BCC44 3C038005 */ lui $v1, %hi(file_entry_max) /* 0F1778 7F0BCC48 8C6382D4 */ lw $v1, %lo(file_entry_max)($v1) /* 0F177C 7F0BCC4C 3C048004 */ lui $a0, %hi(file_resource_table + 0xC) @@ -962,14 +1013,14 @@ glabel ob_c_debug_setup /* 0F1784 7F0BCC54 2463FFFF */ addiu $v1, $v1, -1 /* 0F1788 7F0BCC58 28610002 */ slti $at, $v1, 2 /* 0F178C 7F0BCC5C 14200013 */ bnez $at, .L7F0BCCAC -/* 0F1790 7F0BCC60 3C028009 */ lui $v0, %hi(ptr_res_data_next) +/* 0F1790 7F0BCC60 3C028009 */ lui $v0, %hi(resource_lookup_data_array+0x14) /* 0F1794 7F0BCC64 00037080 */ sll $t6, $v1, 2 /* 0F1798 7F0BCC68 01C37021 */ addu $t6, $t6, $v1 -/* 0F179C 7F0BCC6C 3C0F8009 */ lui $t7, %hi(ptr_resource_data) -/* 0F17A0 7F0BCC70 25EF88B0 */ addiu $t7, %lo(ptr_resource_data) # addiu $t7, $t7, -0x7750 +/* 0F179C 7F0BCC6C 3C0F8009 */ lui $t7, %hi(resource_lookup_data_array) +/* 0F17A0 7F0BCC70 25EF88B0 */ addiu $t7, %lo(resource_lookup_data_array) # addiu $t7, $t7, -0x7750 /* 0F17A4 7F0BCC74 000E7080 */ sll $t6, $t6, 2 /* 0F17A8 7F0BCC78 01CF2821 */ addu $a1, $t6, $t7 -/* 0F17AC 7F0BCC7C 244288C4 */ addiu $v0, %lo(ptr_res_data_next) # addiu $v0, $v0, -0x773c +/* 0F17AC 7F0BCC7C 244288C4 */ addiu $v0, %lo(resource_lookup_data_array+0x14) # addiu $v0, $v0, -0x773c .L7F0BCC80: /* 0F17B0 7F0BCC80 8C980014 */ lw $t8, 0x14($a0) /* 0F17B4 7F0BCC84 8C990008 */ lw $t9, 8($a0) @@ -994,106 +1045,42 @@ glabel ob_c_debug_setup -#ifdef NONMATCHING -void _load_rom_index_to_membank(s32 arg3) { - load_rom_resource_index_to_membank((arg3 & 0xff)); + +void _load_rom_index_to_membank(s32 index,s32 param_2,s32 size,u8 bank) { + load_rom_resource_index_to_membank(index, param_2, size, bank); } -#else -GLOBAL_ASM( -.text -glabel _load_rom_index_to_membank -/* 0F17EC 7F0BCCBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F17F0 7F0BCCC0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F17F4 7F0BCCC4 AFA70024 */ sw $a3, 0x24($sp) -/* 0F17F8 7F0BCCC8 30EE00FF */ andi $t6, $a3, 0xff -/* 0F17FC 7F0BCCCC 0FC2F383 */ jal load_rom_resource_index_to_membank -/* 0F1800 7F0BCCD0 01C03825 */ move $a3, $t6 -/* 0F1804 7F0BCCD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1808 7F0BCCD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F180C 7F0BCCDC 03E00008 */ jr $ra -/* 0F1810 7F0BCCE0 00000000 */ nop -) -#endif +void _load_resource_index_to_membank(int index,s32 param_2,u8 *ptrdata,int size) { + load_resource_index_to_buffer(index, param_2, ptrdata, size); +} +void _load_resource_named_to_membank(u8 *filename,s32 param_2,s32 size,u8 bank) +{ + load_rom_resource_index_to_membank(get_index_num_of_named_resource(filename), param_2, size, bank); +} - - - -void _load_resource_index_to_membank(void) { - load_resource_index_to_buffer(); +void _load_resource_named_to_buffer(u8 *filename,s32 bank,u8 *ptrdata,int size) +{ + load_resource_index_to_buffer(get_index_num_of_named_resource(filename), bank, ptrdata, size); } - - #ifdef NONMATCHING -void _load_resource_named_to_membank(s32 arg1, ? arg2, ? arg3, ? arg_unalignedF) { - // Node 0 - return load_rom_resource_index_to_membank(get_index_num_of_named_resource(), arg1, arg2, arg_unalignedF); -} -#else -GLOBAL_ASM( -.text -glabel _load_resource_named_to_membank -/* 0F1834 7F0BCD04 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F1838 7F0BCD08 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F183C 7F0BCD0C AFA5001C */ sw $a1, 0x1c($sp) -/* 0F1840 7F0BCD10 AFA60020 */ sw $a2, 0x20($sp) -/* 0F1844 7F0BCD14 0FC2F495 */ jal get_index_num_of_named_resource -/* 0F1848 7F0BCD18 AFA70024 */ sw $a3, 0x24($sp) -/* 0F184C 7F0BCD1C 00402025 */ move $a0, $v0 -/* 0F1850 7F0BCD20 8FA5001C */ lw $a1, 0x1c($sp) -/* 0F1854 7F0BCD24 8FA60020 */ lw $a2, 0x20($sp) -/* 0F1858 7F0BCD28 0FC2F383 */ jal load_rom_resource_index_to_membank -/* 0F185C 7F0BCD2C 93A70027 */ lbu $a3, 0x27($sp) -/* 0F1860 7F0BCD30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1864 7F0BCD34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F1868 7F0BCD38 03E00008 */ jr $ra -/* 0F186C 7F0BCD3C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void _load_resource_named_to_buffer(s32 arg1, ? arg2, ? arg3) { - load_resource_index_to_buffer(get_index_num_of_named_resource(), arg1, arg2, arg3); -} - -#else -GLOBAL_ASM( -.text -glabel _load_resource_named_to_buffer -/* 0F1870 7F0BCD40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F1874 7F0BCD44 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F1878 7F0BCD48 AFA5001C */ sw $a1, 0x1c($sp) -/* 0F187C 7F0BCD4C AFA60020 */ sw $a2, 0x20($sp) -/* 0F1880 7F0BCD50 0FC2F495 */ jal get_index_num_of_named_resource -/* 0F1884 7F0BCD54 AFA70024 */ sw $a3, 0x24($sp) -/* 0F1888 7F0BCD58 00402025 */ move $a0, $v0 -/* 0F188C 7F0BCD5C 8FA5001C */ lw $a1, 0x1c($sp) -/* 0F1890 7F0BCD60 8FA60020 */ lw $a2, 0x20($sp) -/* 0F1894 7F0BCD64 0FC2F3F8 */ jal load_resource_index_to_buffer -/* 0F1898 7F0BCD68 8FA70024 */ lw $a3, 0x24($sp) -/* 0F189C 7F0BCD6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F18A0 7F0BCD70 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0F18A4 7F0BCD74 03E00008 */ jr $ra -/* 0F18A8 7F0BCD78 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void load_bg_bytes_at_offset_to_membank(void) { +void load_bg_bytes_at_offset_to_membank(u8 *bgname,u8 *src,s32 offset,s32 len) +{ + int index; + + index = get_index_num_of_named_resource(bgname); + if (resource_lookup_data_array[index].rom_size != 0) { + if (resource_lookup_data_array[index].rom_size + 0xf >= (offset + len)) { + romCopy(src,(file_resource_table[index].hw_address + offset),len); + return; + } + while( 1 ) { } ; + } } #else GLOBAL_ASM( @@ -1108,9 +1095,9 @@ glabel load_bg_bytes_at_offset_to_membank /* 0F18C4 7F0BCD94 0002C080 */ sll $t8, $v0, 2 /* 0F18C8 7F0BCD98 0302C021 */ addu $t8, $t8, $v0 /* 0F18CC 7F0BCD9C 0018C080 */ sll $t8, $t8, 2 -/* 0F18D0 7F0BCDA0 3C038009 */ lui $v1, %hi(ptr_resource_data) +/* 0F18D0 7F0BCDA0 3C038009 */ lui $v1, %hi(resource_lookup_data_array) /* 0F18D4 7F0BCDA4 00781821 */ addu $v1, $v1, $t8 -/* 0F18D8 7F0BCDA8 8C6388B0 */ lw $v1, %lo(ptr_resource_data)($v1) +/* 0F18D8 7F0BCDA8 8C6388B0 */ lw $v1, %lo(resource_lookup_data_array)($v1) /* 0F18DC 7F0BCDAC 00027080 */ sll $t6, $v0, 2 /* 0F18E0 7F0BCDB0 01C27023 */ subu $t6, $t6, $v0 /* 0F18E4 7F0BCDB4 3C0F8004 */ lui $t7, %hi(file_resource_table) @@ -1145,9 +1132,62 @@ glabel load_bg_bytes_at_offset_to_membank -#ifdef NONMATCHING -void load_rom_resource_index_to_membank(void) { - +#ifdef NONMATCHING// +u8 * load_rom_resource_index_to_membank(s32 index,s32 type,s32 size,u8 bank) +{ + + u8 *ptrdata; + if (((type == 0) || (type == 1)) || (type == 2)) + { + if (resource_lookup_data_array[index].pc_remaining == 0) + { + resource_lookup_data_array[index].pc_remaining = mempGetBankSizeLeft(bank); + } + ptrdata = mempAllocBytesInBank(resource_lookup_data_array[index].pc_remaining, bank); + resource_lookup_data_array[index].rom_remaining = resource_lookup_data_array[index].pc_remaining; + if (file_resource_table[index].hw_address == 0) + { + resource_load_from_indy(ptrdata, resource_lookup_data_array[index].rom_remaining, &file_resource_table[index], &resource_lookup_data_array[index]); + } + else + { + load_resource(ptrdata, resource_lookup_data_array[index].rom_remaining, &file_resource_table[index], &resource_lookup_data_array[index]); + } + if (type != 0) + { + mempAddEntryOfSizeToBank(ptrdata, resource_lookup_data_array[index].pc_remaining, bank); + } + } + else + { + if (resource_lookup_data_array[index].pc_remaining == 0) + { + if (resource_lookup_data_array[index].rom_size == 0) + { + resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].pc_size; + } + else + { + resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].rom_size; + } + } + ptrdata = mempAllocBytesInBank(resource_lookup_data_array[index].pc_remaining,bank); + resource_lookup_data_array[index].rom_remaining = resource_lookup_data_array[index].pc_remaining; + if (file_resource_table[index].hw_address == 0) + { + resource_load_from_indy(ptrdata, 0, &file_resource_table[index], &resource_lookup_data_array[index]); + } + else + { + + load_resource(ptrdata , 0, &file_resource_table[index], &resource_lookup_data_array[index]); + } + if (size == 0) + { + resource_lookup_data_array[index].loaded_bank = bank; + } + } + return ptrdata; } #else GLOBAL_ASM( @@ -1169,8 +1209,8 @@ glabel load_rom_resource_index_to_membank /* 0F1970 7F0BCE40 8FAD0030 */ lw $t5, 0x30($sp) .L7F0BCE44: /* 0F1974 7F0BCE44 8FAF0030 */ lw $t7, 0x30($sp) -/* 0F1978 7F0BCE48 3C198009 */ lui $t9, %hi(ptr_resource_data) -/* 0F197C 7F0BCE4C 273988B0 */ addiu $t9, %lo(ptr_resource_data) # addiu $t9, $t9, -0x7750 +/* 0F1978 7F0BCE48 3C198009 */ lui $t9, %hi(resource_lookup_data_array) +/* 0F197C 7F0BCE4C 273988B0 */ addiu $t9, %lo(resource_lookup_data_array) # addiu $t9, $t9, -0x7750 /* 0F1980 7F0BCE50 000FC080 */ sll $t8, $t7, 2 /* 0F1984 7F0BCE54 030FC021 */ addu $t8, $t8, $t7 /* 0F1988 7F0BCE58 0018C080 */ sll $t8, $t8, 2 @@ -1178,13 +1218,13 @@ glabel load_rom_resource_index_to_membank /* 0F1990 7F0BCE60 8E300004 */ lw $s0, 4($s1) /* 0F1994 7F0BCE64 56000006 */ bnezl $s0, .L7F0BCE80 /* 0F1998 7F0BCE68 02002025 */ move $a0, $s0 -/* 0F199C 7F0BCE6C 0C002644 */ jal memp_related_3 +/* 0F199C 7F0BCE6C 0C002644 */ jal mempGetBankSizeLeft /* 0F19A0 7F0BCE70 93A4003F */ lbu $a0, 0x3f($sp) /* 0F19A4 7F0BCE74 AE220004 */ sw $v0, 4($s1) /* 0F19A8 7F0BCE78 00408025 */ move $s0, $v0 /* 0F19AC 7F0BCE7C 02002025 */ move $a0, $s0 .L7F0BCE80: -/* 0F19B0 7F0BCE80 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F19B0 7F0BCE80 0C0025C8 */ jal mempAllocBytesInBank /* 0F19B4 7F0BCE84 93A5003F */ lbu $a1, 0x3f($sp) /* 0F19B8 7F0BCE88 8E300004 */ lw $s0, 4($s1) /* 0F19BC 7F0BCE8C 3C0A8004 */ lui $t2, %hi(file_resource_table) @@ -1217,15 +1257,15 @@ glabel load_rom_resource_index_to_membank /* 0F1A20 7F0BCEF0 93A6003F */ lbu $a2, 0x3f($sp) /* 0F1A24 7F0BCEF4 51800035 */ beql $t4, $zero, .L7F0BCFCC /* 0F1A28 7F0BCEF8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F1A2C 7F0BCEFC 0C002601 */ jal memp_related_1 +/* 0F1A2C 7F0BCEFC 0C002601 */ jal mempAddEntryOfSizeToBank /* 0F1A30 7F0BCF00 8E250004 */ lw $a1, 4($s1) /* 0F1A34 7F0BCF04 10000031 */ b .L7F0BCFCC /* 0F1A38 7F0BCF08 8FBF001C */ lw $ra, 0x1c($sp) .L7F0BCF0C: /* 0F1A3C 7F0BCF0C 000D7080 */ sll $t6, $t5, 2 /* 0F1A40 7F0BCF10 01CD7021 */ addu $t6, $t6, $t5 -/* 0F1A44 7F0BCF14 3C0F8009 */ lui $t7, %hi(ptr_resource_data) -/* 0F1A48 7F0BCF18 25EF88B0 */ addiu $t7, %lo(ptr_resource_data) # addiu $t7, $t7, -0x7750 +/* 0F1A44 7F0BCF14 3C0F8009 */ lui $t7, %hi(resource_lookup_data_array) +/* 0F1A48 7F0BCF18 25EF88B0 */ addiu $t7, %lo(resource_lookup_data_array) # addiu $t7, $t7, -0x7750 /* 0F1A4C 7F0BCF1C 000E7080 */ sll $t6, $t6, 2 /* 0F1A50 7F0BCF20 01CF8821 */ addu $s1, $t6, $t7 /* 0F1A54 7F0BCF24 8E300004 */ lw $s0, 4($s1) @@ -1242,7 +1282,7 @@ glabel load_rom_resource_index_to_membank .L7F0BCF4C: /* 0F1A7C 7F0BCF4C 02002025 */ move $a0, $s0 .L7F0BCF50: -/* 0F1A80 7F0BCF50 0C0025C8 */ jal allocate_bytes_in_bank +/* 0F1A80 7F0BCF50 0C0025C8 */ jal mempAllocBytesInBank /* 0F1A84 7F0BCF54 93A5003F */ lbu $a1, 0x3f($sp) /* 0F1A88 7F0BCF58 8E390004 */ lw $t9, 4($s1) /* 0F1A8C 7F0BCF5C 3C0A8004 */ lui $t2, %hi(file_resource_table) @@ -1286,65 +1326,54 @@ glabel load_rom_resource_index_to_membank - - -#ifdef NONMATCHING -void load_resource_index_to_buffer(s32 arg0, s32 arg1, ? arg2, ?32 arg3) { - void *temp_s0; - void *temp_a2; - void *temp_a2_2; - - // Node 0 - temp_s0 = ((arg0 * 0x14) + &ptr_resource_data); - if (temp_s0->unk4 == 0) +/* + *this matches except: + *baserom.u.z64 + *000F 1BC0: AE 0C 00 0C 8F A5 00 2C 0F C2 F2 A8 8F A4 00 28 ......., .......( + *ge007.u.z64 this is flipped with this + *000F 1BC0: AE 0C 00 0C 8F A4 00 28 0F C2 F2 A8 8F A5 00 2C .......( ......., + */ +#ifdef NONMATCHING// +u8* load_resource_index_to_buffer(s32 index,s32 bank,u8 *ptrdata,s32 bytes) +{ + if (resource_lookup_data_array[index].pc_remaining == 0) { - // Node 1 - if (*temp_s0 != 0) + if (resource_lookup_data_array[index].rom_size > 0) { - // Node 2 - temp_s0->unk4 = (s32) *temp_s0; + resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].rom_size; } else { - // Node 3 - temp_s0->unk4 = (s32) temp_s0->unk8; + resource_lookup_data_array[index].pc_remaining = resource_lookup_data_array[index].pc_size; } } - // Node 4 - if (((arg1 == 0) || (arg1 == 2)) || (arg1 == 2)) + if (((bank == 0) || (bank == 1)) || (bank == 2)) { - // Node 7 - temp_a2_2 = ((arg0 * 0xc) + &file_resource_table); - if (temp_a2_2->unk8 == 0) + if (!file_resource_table[index].hw_address) { - // Node 8 - temp_s0->unkC = arg3; - resource_load_from_indy(arg2, arg3, temp_a2_2, temp_s0); + resource_lookup_data_array[index].rom_remaining = bytes; + resource_load_from_indy(ptrdata, bytes, &file_resource_table[index], &resource_lookup_data_array[index]); } else { - // Node 9 - temp_s0->unkC = arg3; - load_resource(arg2, arg3, temp_a2_2, temp_s0); + resource_lookup_data_array[index].rom_remaining = bytes; + //flip happens here + load_resource(ptrdata, bytes, &file_resource_table[index], &resource_lookup_data_array[index]); } } else { - // Node 10 - temp_a2 = ((arg0 * 0xc) + &file_resource_table); - if (temp_a2->unk8 == 0) + if (!file_resource_table[index].hw_address) { - // Node 11 - resource_load_from_indy(arg2, 0, temp_a2, temp_s0); + resource_load_from_indy(ptrdata, 0, &file_resource_table[index], &resource_lookup_data_array[index]); } else { - // Node 12 - load_resource(arg2, 0, temp_a2, temp_s0); + + load_resource(ptrdata, 0, &file_resource_table[index], &resource_lookup_data_array[index]); } } - // Node 13 - return arg2; + return ptrdata; } #else GLOBAL_ASM( @@ -1353,9 +1382,9 @@ glabel load_resource_index_to_buffer /* 0F1B10 7F0BCFE0 00047080 */ sll $t6, $a0, 2 /* 0F1B14 7F0BCFE4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0F1B18 7F0BCFE8 01C47021 */ addu $t6, $t6, $a0 -/* 0F1B1C 7F0BCFEC 3C0F8009 */ lui $t7, %hi(ptr_resource_data) +/* 0F1B1C 7F0BCFEC 3C0F8009 */ lui $t7, %hi(resource_lookup_data_array) /* 0F1B20 7F0BCFF0 AFB00018 */ sw $s0, 0x18($sp) -/* 0F1B24 7F0BCFF4 25EF88B0 */ addiu $t7, %lo(ptr_resource_data) # addiu $t7, $t7, -0x7750 +/* 0F1B24 7F0BCFF4 25EF88B0 */ addiu $t7, %lo(resource_lookup_data_array) # addiu $t7, $t7, -0x7750 /* 0F1B28 7F0BCFF8 000E7080 */ sll $t6, $t6, 2 /* 0F1B2C 7F0BCFFC 01CF8021 */ addu $s0, $t6, $t7 /* 0F1B30 7F0BD000 8E180004 */ lw $t8, 4($s0) @@ -1436,76 +1465,37 @@ glabel load_resource_index_to_buffer -#ifdef NONMATCHING -void get_temp_remaining_buffer_for_index(void) { +s32 get_pc_remaining_buffer_for_index(s32 index) +{ + return resource_lookup_data_array[index].pc_remaining; } -#else -GLOBAL_ASM( -.text -glabel get_temp_remaining_buffer_for_index -/* 0F1C30 7F0BD100 00047080 */ sll $t6, $a0, 2 -/* 0F1C34 7F0BD104 01C47021 */ addu $t6, $t6, $a0 -/* 0F1C38 7F0BD108 000E7080 */ sll $t6, $t6, 2 -/* 0F1C3C 7F0BD10C 3C028009 */ lui $v0, %hi(ptr_resource_data+4) -/* 0F1C40 7F0BD110 004E1021 */ addu $v0, $v0, $t6 -/* 0F1C44 7F0BD114 03E00008 */ jr $ra -/* 0F1C48 7F0BD118 8C4288B4 */ lw $v0, %lo(ptr_resource_data+4)($v0) -) -#endif - - - -#ifdef NONMATCHING -void get_remaining_buffer_for_index(void) { - +s32 get_rom_remaining_buffer_for_index(s32 index) +{ + return resource_lookup_data_array[index].rom_remaining; } -#else -GLOBAL_ASM( -.text -glabel get_remaining_buffer_for_index -/* 0F1C4C 7F0BD11C 00047080 */ sll $t6, $a0, 2 -/* 0F1C50 7F0BD120 01C47021 */ addu $t6, $t6, $a0 -/* 0F1C54 7F0BD124 000E7080 */ sll $t6, $t6, 2 -/* 0F1C58 7F0BD128 3C028009 */ lui $v0, %hi(ptr_resource_data+12) -/* 0F1C5C 7F0BD12C 004E1021 */ addu $v0, $v0, $t6 -/* 0F1C60 7F0BD130 03E00008 */ jr $ra -/* 0F1C64 7F0BD134 8C4288BC */ lw $v0, %lo(ptr_resource_data+12)($v0) -) -#endif - - #ifdef NONMATCHING -void *sub_GAME_7F0BD138(s32 arg0, s32 arg1, ?32 arg2, s32 arg3) { - void *temp_v0; - - // Node 0 - temp_v0 = ((arg0 * 0x14) + &ptr_resource_data); - temp_v0->unk4 = arg2; - temp_v0->unkC = arg2; - if (arg3 != 0) - { - // Node 1 - memp_related_1(arg1, arg2, 4); - return; - // (possible return value: memp_related_1(arg1, arg2, 4)) +void sub_GAME_7F0BD138(int index, u8 *ptrdata, int size, s32 param_4) +{ + resource_lookup_data_array[index].pc_remaining = size; + resource_lookup_data_array[index].rom_remaining = size; + if (param_4) { + mempAddEntryOfSizeToBank(ptrdata,size,4); } - // (possible return value: temp_v0) } - #else GLOBAL_ASM( .text glabel sub_GAME_7F0BD138 /* 0F1C68 7F0BD138 00047080 */ sll $t6, $a0, 2 /* 0F1C6C 7F0BD13C 01C47021 */ addu $t6, $t6, $a0 -/* 0F1C70 7F0BD140 3C0F8009 */ lui $t7, %hi(ptr_resource_data) -/* 0F1C74 7F0BD144 25EF88B0 */ addiu $t7, %lo(ptr_resource_data) # addiu $t7, $t7, -0x7750 +/* 0F1C70 7F0BD140 3C0F8009 */ lui $t7, %hi(resource_lookup_data_array) +/* 0F1C74 7F0BD144 25EF88B0 */ addiu $t7, %lo(resource_lookup_data_array) # addiu $t7, $t7, -0x7750 /* 0F1C78 7F0BD148 000E7080 */ sll $t6, $t6, 2 /* 0F1C7C 7F0BD14C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0F1C80 7F0BD150 01CF1021 */ addu $v0, $t6, $t7 @@ -1516,7 +1506,7 @@ glabel sub_GAME_7F0BD138 /* 0F1C94 7F0BD164 AC46000C */ sw $a2, 0xc($v0) /* 0F1C98 7F0BD168 00A02025 */ move $a0, $a1 /* 0F1C9C 7F0BD16C 00C02825 */ move $a1, $a2 -/* 0F1CA0 7F0BD170 0C002601 */ jal memp_related_1 +/* 0F1CA0 7F0BD170 0C002601 */ jal mempAddEntryOfSizeToBank /* 0F1CA4 7F0BD174 24060004 */ li $a2, 4 .L7F0BD178: /* 0F1CA8 7F0BD178 8FBF0014 */ lw $ra, 0x14($sp) @@ -1530,73 +1520,45 @@ glabel sub_GAME_7F0BD138 -#ifdef NONMATCHING -void sub_GAME_7F0BD188(void) { - // Node 0 - get_index_num_of_named_resource(); - return; - // (possible return value: *((ptr_resource_data + 4) + (((get_index_num_of_named_resource() * 4) + get_index_num_of_named_resource()) * 4))) + +s32 get_pc_buffer_remaining_value(u8 *name) +{ + int index; + + index = get_index_num_of_named_resource(name); + return resource_lookup_data_array[index].pc_remaining; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD188 -/* 0F1CB8 7F0BD188 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F1CBC 7F0BD18C AFBF0014 */ sw $ra, 0x14($sp) -/* 0F1CC0 7F0BD190 0FC2F495 */ jal get_index_num_of_named_resource -/* 0F1CC4 7F0BD194 00000000 */ nop -/* 0F1CC8 7F0BD198 00027080 */ sll $t6, $v0, 2 -/* 0F1CCC 7F0BD19C 01C27021 */ addu $t6, $t6, $v0 -/* 0F1CD0 7F0BD1A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F1CD4 7F0BD1A4 000E7080 */ sll $t6, $t6, 2 -/* 0F1CD8 7F0BD1A8 3C028009 */ lui $v0, %hi(ptr_resource_data+4) -/* 0F1CDC 7F0BD1AC 004E1021 */ addu $v0, $v0, $t6 -/* 0F1CE0 7F0BD1B0 8C4288B4 */ lw $v0, %lo(ptr_resource_data+4)($v0) -/* 0F1CE4 7F0BD1B4 03E00008 */ jr $ra -/* 0F1CE8 7F0BD1B8 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - #ifdef NONMATCHING -s32 something_mem_bank_a0(s32 arg0) { - s32 temp_t6; - u32 temp_a1; - void *phi_a1; - - // Node 0 - temp_t6 = (arg0 & 0xff); - if (file_entry_max >= 2) - { - // Node 1 - phi_a1 = &ptr_res_data_next; - // Node 2 - if (temp_t6 >= phi_a1->unk10) - { - // Node 3 - phi_a1->unk10 = (u8)0; - } - // Node 4 - if (4 == temp_t6) - { - // Node 5 - phi_a1->unk4 = 0; - } - // Node 6 - temp_a1 = (phi_a1 + 0x14); - phi_a1 = temp_a1; - if (temp_a1 < (u32) ((file_entry_max * 0x14) + &ptr_resource_data)) - { - goto loop_2; +void something_mem_bank_a0(byte param_1) +{ + byte bVar1; + resource_lookup_data_entry *nextres; + resource_lookup_data_entry *prVar2; + int tablesize; + + if (1 < file_entry_max) { + prVar2 = resource_lookup_data_array + file_entry_max; + bVar1 = resource_lookup_data_array[1].loaded_bank; + nextres = resource_lookup_data_array + 1; + while( true ) { + if (bVar1 <= param_1) { + nextres->loaded_bank = '\0'; + } + if (param_1 == 4) { + nextres->pc_remaining = 0; + } + if (prVar2 <= nextres + 1) break; + bVar1 = nextres[1].loaded_bank; + nextres = nextres + 1; } } - // Node 7 - return temp_t6; + return; } #else GLOBAL_ASM( @@ -1611,11 +1573,11 @@ glabel something_mem_bank_a0 /* 0F1D04 7F0BD1D4 01C01025 */ move $v0, $t6 /* 0F1D08 7F0BD1D8 00037880 */ sll $t7, $v1, 2 /* 0F1D0C 7F0BD1DC 01E37821 */ addu $t7, $t7, $v1 -/* 0F1D10 7F0BD1E0 3C188009 */ lui $t8, %hi(ptr_resource_data) -/* 0F1D14 7F0BD1E4 271888B0 */ addiu $t8, %lo(ptr_resource_data) # addiu $t8, $t8, -0x7750 +/* 0F1D10 7F0BD1E0 3C188009 */ lui $t8, %hi(resource_lookup_data_array) +/* 0F1D14 7F0BD1E4 271888B0 */ addiu $t8, %lo(resource_lookup_data_array) # addiu $t8, $t8, -0x7750 /* 0F1D18 7F0BD1E8 000F7880 */ sll $t7, $t7, 2 -/* 0F1D1C 7F0BD1EC 3C058009 */ lui $a1, %hi(ptr_res_data_next) -/* 0F1D20 7F0BD1F0 24A588C4 */ addiu $a1, %lo(ptr_res_data_next) # addiu $a1, $a1, -0x773c +/* 0F1D1C 7F0BD1EC 3C058009 */ lui $a1, %hi(resource_lookup_data_array+0x14) +/* 0F1D20 7F0BD1F0 24A588C4 */ addiu $a1, %lo(resource_lookup_data_array+0x14) # addiu $a1, $a1, -0x773c /* 0F1D24 7F0BD1F4 01F83021 */ addu $a2, $t7, $t8 /* 0F1D28 7F0BD1F8 24030004 */ li $v1, 4 /* 0F1D2C 7F0BD1FC 90B90010 */ lbu $t9, 0x10($a1) @@ -1652,8 +1614,53 @@ void sub_GAME_7F0BD234(void) { #ifdef NONMATCHING -void get_index_num_of_named_resource(void) { +int get_index_num_of_named_resource(byte *filename) +{ + longlong lVar1; + int iVar2; + char *pcVar3; + int iVar4; + int aiStack12 [3]; + + iVar4 = 1; + if (1 < file_entry_max) { + pcVar3 = file_resource_table[1].filename; + iVar2 = -0x7ffb9fa0; + while( true ) { + if ((pcVar3 != NULL) && (lVar1 = something_with_strings_0(filename,pcVar3), lVar1 == 0)) + { + return iVar4; + } + iVar4 += 1; + if (file_entry_max <= iVar4) break; + pcVar3 = *(char **)(iVar2 + 0x10); + iVar2 = iVar2 + 0xc; + } + } + iVar4 = file_entry_max; + if (file_entry_max < 0x2e0) { + file_entry_max += 1; + iVar2 = check_file_found_on_indy((char *)filename,aiStack12); + if (iVar2 == 0) { + iVar4 = 0; + } + else { + file_resource_table[iVar4].index = iVar4; + file_resource_table[iVar4].filename = filename; + resource_lookup_data_array[iVar4].unk_11 = '\0'; + file_resource_table[iVar4].hw_address = 0; + resource_lookup_data_array[iVar4].rom_size = 0; + resource_lookup_data_array[iVar4].pc_remaining = 0; + resource_lookup_data_array[iVar4].rom_remaining = 0; + resource_lookup_data_array[iVar4].loaded_bank = '\0'; + resource_lookup_data_array[iVar4].pc_size = (aiStack12[0] + 0xfU | 0xf) ^ 0xf; + } + } + else { + iVar4 = 0; + } + return iVar4; } #else GLOBAL_ASM( @@ -1715,8 +1722,8 @@ glabel get_index_num_of_named_resource /* 0F1E44 7F0BD314 0011C880 */ sll $t9, $s1, 2 /* 0F1E48 7F0BD318 01F88021 */ addu $s0, $t7, $t8 /* 0F1E4C 7F0BD31C 0331C821 */ addu $t9, $t9, $s1 -/* 0F1E50 7F0BD320 3C088009 */ lui $t0, %hi(ptr_resource_data) -/* 0F1E54 7F0BD324 250888B0 */ addiu $t0, %lo(ptr_resource_data) # addiu $t0, $t0, -0x7750 +/* 0F1E50 7F0BD320 3C088009 */ lui $t0, %hi(resource_lookup_data_array) +/* 0F1E54 7F0BD324 250888B0 */ addiu $t0, %lo(resource_lookup_data_array) # addiu $t0, $t0, -0x7750 /* 0F1E58 7F0BD328 0019C880 */ sll $t9, $t9, 2 /* 0F1E5C 7F0BD32C AE110000 */ sw $s1, ($s0) /* 0F1E60 7F0BD330 AE130004 */ sw $s3, 4($s0) @@ -1748,96 +1755,30 @@ glabel get_index_num_of_named_resource -void sub_GAME_7F0BD384(u32 param_1) +void removed_handle_filetable_entry(u32 index) { - return; -} - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BD38C(void) { - s32 temp_s0; - s32 phi_s0; - - // Node 0 - phi_s0 = 1; - if (file_entry_max >= 2) - { -loop_1: - // Node 1 - sub_GAME_7F0BD384(phi_s0); - temp_s0 = (phi_s0 + 1); - phi_s0 = temp_s0; - if (temp_s0 < file_entry_max) - { - goto loop_1; - } - } - // Node 2 return; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD38C -/* 0F1EBC 7F0BD38C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0F1EC0 7F0BD390 AFB10018 */ sw $s1, 0x18($sp) -/* 0F1EC4 7F0BD394 3C118005 */ lui $s1, %hi(file_entry_max) -/* 0F1EC8 7F0BD398 263182D4 */ addiu $s1, %lo(file_entry_max) # addiu $s1, $s1, -0x7d2c -/* 0F1ECC 7F0BD39C 8E2E0000 */ lw $t6, ($s1) -/* 0F1ED0 7F0BD3A0 AFB00014 */ sw $s0, 0x14($sp) -/* 0F1ED4 7F0BD3A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0F1ED8 7F0BD3A8 29C10002 */ slti $at, $t6, 2 -/* 0F1EDC 7F0BD3AC 14200008 */ bnez $at, .L7F0BD3D0 -/* 0F1EE0 7F0BD3B0 24100001 */ li $s0, 1 -.L7F0BD3B4: -/* 0F1EE4 7F0BD3B4 0FC2F4E1 */ jal sub_GAME_7F0BD384 -/* 0F1EE8 7F0BD3B8 02002025 */ move $a0, $s0 -/* 0F1EEC 7F0BD3BC 8E2F0000 */ lw $t7, ($s1) -/* 0F1EF0 7F0BD3C0 26100001 */ addiu $s0, $s0, 1 -/* 0F1EF4 7F0BD3C4 020F082A */ slt $at, $s0, $t7 -/* 0F1EF8 7F0BD3C8 1420FFFA */ bnez $at, .L7F0BD3B4 -/* 0F1EFC 7F0BD3CC 00000000 */ nop -.L7F0BD3D0: -/* 0F1F00 7F0BD3D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0F1F04 7F0BD3D4 8FB00014 */ lw $s0, 0x14($sp) -/* 0F1F08 7F0BD3D8 8FB10018 */ lw $s1, 0x18($sp) -/* 0F1F0C 7F0BD3DC 03E00008 */ jr $ra -/* 0F1F10 7F0BD3E0 27BD0020 */ addiu $sp, $sp, 0x20 -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0BD3E4(void) { - +void removed_loop_handle_filetable_entries(void) +{ + int i; + for (i = 1; (i < file_entry_max); i++) + { + removed_handle_filetable_entry(i); + } } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0BD3E4 -/* 0F1F14 7F0BD3E4 3C038005 */ lui $v1, %hi(file_entry_max) -/* 0F1F18 7F0BD3E8 8C6382D4 */ lw $v1, %lo(file_entry_max)($v1) -/* 0F1F1C 7F0BD3EC 24020001 */ li $v0, 1 -/* 0F1F20 7F0BD3F0 28610002 */ slti $at, $v1, 2 -/* 0F1F24 7F0BD3F4 14200004 */ bnez $at, .L7F0BD408 -/* 0F1F28 7F0BD3F8 24420001 */ addiu $v0, $v0, 1 -.L7F0BD3FC: -/* 0F1F2C 7F0BD3FC 0043082A */ slt $at, $v0, $v1 -/* 0F1F30 7F0BD400 5420FFFE */ bnezl $at, .L7F0BD3FC -/* 0F1F34 7F0BD404 24420001 */ addiu $v0, $v0, 1 -.L7F0BD408: -/* 0F1F38 7F0BD408 03E00008 */ jr $ra -/* 0F1F3C 7F0BD40C 00000000 */ nop -) -#endif + +void removed_loop_filetableentries(void) +{ + int i; + + for (i = 1; (i < file_entry_max); i++) + { + ; + } +} + @@ -1852,18 +1793,18 @@ void *sub_GAME_7F0BD410(void) { if (file_entry_max >= 2) { // Node 1 - phi_v0 = &ptr_res_data_next; + phi_v0 = &resource_lookup_data_array+0x14; loop_2: // Node 2 temp_v0 = (phi_v0 + 0x14); phi_v0 = temp_v0; - if (temp_v0 < (u32) ((file_entry_max * 0x14) + &ptr_resource_data)) + if (temp_v0 < (u32) ((file_entry_max * 0x14) + &resource_lookup_data_array)) { goto loop_2; } } // Node 3 - return &ptr_res_data_next; + return &resource_lookup_data_array+0x14; } #else @@ -1872,14 +1813,14 @@ GLOBAL_ASM( glabel sub_GAME_7F0BD410 /* 0F1F40 7F0BD410 3C038005 */ lui $v1, %hi(file_entry_max) /* 0F1F44 7F0BD414 8C6382D4 */ lw $v1, %lo(file_entry_max)($v1) -/* 0F1F48 7F0BD418 3C028009 */ lui $v0, %hi(ptr_res_data_next) -/* 0F1F4C 7F0BD41C 244288C4 */ addiu $v0, %lo(ptr_res_data_next) # addiu $v0, $v0, -0x773c +/* 0F1F48 7F0BD418 3C028009 */ lui $v0, %hi(resource_lookup_data_array+0x14) +/* 0F1F4C 7F0BD41C 244288C4 */ addiu $v0, %lo(resource_lookup_data_array+0x14) # addiu $v0, $v0, -0x773c /* 0F1F50 7F0BD420 28610002 */ slti $at, $v1, 2 /* 0F1F54 7F0BD424 1420000A */ bnez $at, .L7F0BD450 /* 0F1F58 7F0BD428 00037080 */ sll $t6, $v1, 2 /* 0F1F5C 7F0BD42C 01C37021 */ addu $t6, $t6, $v1 -/* 0F1F60 7F0BD430 3C0F8009 */ lui $t7, %hi(ptr_resource_data) -/* 0F1F64 7F0BD434 25EF88B0 */ addiu $t7, %lo(ptr_resource_data) # addiu $t7, $t7, -0x7750 +/* 0F1F60 7F0BD430 3C0F8009 */ lui $t7, %hi(resource_lookup_data_array) +/* 0F1F64 7F0BD434 25EF88B0 */ addiu $t7, %lo(resource_lookup_data_array) # addiu $t7, $t7, -0x7750 /* 0F1F68 7F0BD438 000E7080 */ sll $t6, $t6, 2 /* 0F1F6C 7F0BD43C 01CF2021 */ addu $a0, $t6, $t7 /* 0F1F70 7F0BD440 24420014 */ addiu $v0, $v0, 0x14 diff --git a/src/game/ob.h b/src/game/ob.h index 9c019b31..07d4296c 100644 --- a/src/game/ob.h +++ b/src/game/ob.h @@ -2,13 +2,27 @@ #define _OB_H_ #include "ultra64.h" +struct resource_lookup_data_entry { + u32 rom_size; + u32 pc_remaining; + u32 pc_size; + u32 rom_remaining; + u8 loaded_bank; + u8 unk_11; + u16 reserved; +}; + struct fileentry { s32 index; char *filename; - void *size; + u8 *hw_address; }; void something_mem_bank_a0(int); void sub_GAME_7F0BD234(void); +u8* load_resource_index_to_buffer(s32 index,s32 param_2,u8 *ptrdata,s32 bytes); +u8 * load_rom_resource_index_to_membank(s32 index,s32 type,s32 size,u8 bank); +void resource_load_from_indy(u8 *ptrdata, s32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata); +void load_resource(u8 *ptrdata, s32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata); #endif diff --git a/src/game/objecthandler.c b/src/game/objecthandler.c index 8dd19b3e..3086cea3 100644 --- a/src/game/objecthandler.c +++ b/src/game/objecthandler.c @@ -1828,7 +1828,7 @@ glabel get_obj_instance_controller_for_header .L7F06C124: /* 0A0C54 7F06C124 56C00005 */ bnezl $s6, .L7F06C13C /* 0A0C58 7F06C128 86A20014 */ lh $v0, 0x14($s5) -/* 0A0C5C 7F06C12C 0C0025C8 */ jal allocate_bytes_in_bank +/* 0A0C5C 7F06C12C 0C0025C8 */ jal mempAllocBytesInBank /* 0A0C60 7F06C130 24040020 */ li $a0, 32 /* 0A0C64 7F06C134 0040B025 */ move $s6, $v0 /* 0A0C68 7F06C138 86A20014 */ lh $v0, 0x14($s5) @@ -1838,7 +1838,7 @@ glabel get_obj_instance_controller_for_header /* 0A0C74 7F06C144 00022080 */ sll $a0, $v0, 2 /* 0A0C78 7F06C148 2484000F */ addiu $a0, $a0, 0xf /* 0A0C7C 7F06C14C 3488000F */ ori $t0, $a0, 0xf -/* 0A0C80 7F06C150 0C0025C8 */ jal allocate_bytes_in_bank +/* 0A0C80 7F06C150 0C0025C8 */ jal mempAllocBytesInBank /* 0A0C84 7F06C154 3904000F */ xori $a0, $t0, 0xf /* 0A0C88 7F06C158 AFA20040 */ sw $v0, 0x40($sp) /* 0A0C8C 7F06C15C 86AA0014 */ lh $t2, 0x14($s5) @@ -1967,7 +1967,7 @@ glabel get_aircraft_obj_instance_controller /* 0A0DE0 7F06C2B0 16000006 */ bnez $s0, .L7F06C2CC /* 0A0DE4 7F06C2B4 240400C0 */ li $a0, 192 /* 0A0DE8 7F06C2B8 24050004 */ li $a1, 4 -/* 0A0DEC 7F06C2BC 0C0025C8 */ jal allocate_bytes_in_bank +/* 0A0DEC 7F06C2BC 0C0025C8 */ jal mempAllocBytesInBank /* 0A0DF0 7F06C2C0 A7A80026 */ sh $t0, 0x26($sp) /* 0A0DF4 7F06C2C4 87A80026 */ lh $t0, 0x26($sp) /* 0A0DF8 7F06C2C8 00408025 */ move $s0, $v0 @@ -1979,7 +1979,7 @@ glabel get_aircraft_obj_instance_controller /* 0A0E0C 7F06C2DC 00062080 */ sll $a0, $a2, 2 /* 0A0E10 7F06C2E0 2484000F */ addiu $a0, $a0, 0xf /* 0A0E14 7F06C2E4 3499000F */ ori $t9, $a0, 0xf -/* 0A0E18 7F06C2E8 0C0025C8 */ jal allocate_bytes_in_bank +/* 0A0E18 7F06C2E8 0C0025C8 */ jal mempAllocBytesInBank /* 0A0E1C 7F06C2EC 3B24000F */ xori $a0, $t9, 0xf /* 0A0E20 7F06C2F0 8FAA0030 */ lw $t2, 0x30($sp) /* 0A0E24 7F06C2F4 AFA20028 */ sw $v0, 0x28($sp) diff --git a/src/game/objecthandler_2.c b/src/game/objecthandler_2.c index 65c7e994..8f49868b 100644 --- a/src/game/objecthandler_2.c +++ b/src/game/objecthandler_2.c @@ -13235,10 +13235,10 @@ glabel sub_GAME_7F0762E0 /* 0AAE50 7F076320 0FC2F495 */ jal get_index_num_of_named_resource /* 0AAE54 7F076324 AFAE0054 */ sw $t6, 0x54($sp) /* 0AAE58 7F076328 AFA20050 */ sw $v0, 0x50($sp) -/* 0AAE5C 7F07632C 0FC2F447 */ jal get_remaining_buffer_for_index +/* 0AAE5C 7F07632C 0FC2F447 */ jal get_rom_remaining_buffer_for_index /* 0AAE60 7F076330 00402025 */ move $a0, $v0 /* 0AAE64 7F076334 00408025 */ move $s0, $v0 -/* 0AAE68 7F076338 0FC2F440 */ jal get_temp_remaining_buffer_for_index +/* 0AAE68 7F076338 0FC2F440 */ jal get_pc_remaining_buffer_for_index /* 0AAE6C 7F07633C 8FA40050 */ lw $a0, 0x50($sp) /* 0AAE70 7F076340 0040F025 */ move $fp, $v0 /* 0AAE74 7F076344 AFA00074 */ sw $zero, 0x74($sp) diff --git a/src/game/objective_status.c b/src/game/objective_status.c index 3bf3b6a0..7cd0604b 100644 --- a/src/game/objective_status.c +++ b/src/game/objective_status.c @@ -1,8 +1,10 @@ #include "ultra64.h" +#include "bondconstants.h" +#include "bondtypes.h" // bss //CODE.bss:80075D30 -char objective_ptrs[0x28]; +struct objective_entry * objective_ptrs[10]; u32 dword_CODE_bss_80075D58; u32 dword_CODE_bss_80075D5C; char dword_CODE_bss_80075D60[0x20]; @@ -18,15 +20,9 @@ u32 *ptr_last_deposit_in_room_subobject_entry_type21; u32 *ptr_last_photo_obj_in_room_subobject_entry_type1E; // data -s32 num_objective_ptrs[] = {0xFFFFFFFF, 0, 0, 0}; -//file possibly split at sub_CODE_7F057AC0 +s32 num_objective_ptrs[] = {0xFFFFFFFF, 0}; + -//D:80032300 -u32 D_80032300 = 0; -//D:80032304 -u32 D_80032304 = 0; -//D:80032308 -u32 D_80032308 = 0; // rodata const u32 D_80053610[] = {0,0,0,0,0,0,0,0,0,0,0,0,0}; @@ -107,9 +103,41 @@ glabel get_handle_to_tagged_object -#ifdef NONMATCHING -void get_ptr_text_for_watch_breifing_page(void) { +#ifdef NONMATCHING +u8 * get_ptr_text_for_watch_breifing_page(WATCH_BRIEFING_PAGE page) +{ + struct watchMenuObjectiveText * curentry; + u8 * textptr; + + textptr = 0; + for (curentry = ptr_last_briefing_setup_entry_type23; curentry != 0; curentry = curentry->nextentry) + { + if (page == curentry->menu) + { + textptr = get_textptr_for_textID(curentry->text); + } + textptr = 0; + } + if (textptr == 0) + { + if (page == 0) + { + textptr = get_textptr_for_textID(0xb029); //"E R R O R\n" + } + else + { + if (page == 1) + { + textptr = get_textptr_for_textID(0xb02a); //"no briefing for this mission\n" + } + else + { + textptr = get_textptr_for_textID(0xb02b); //"\n" + } + } + } + return textptr; } #else GLOBAL_ASM( @@ -170,57 +198,23 @@ glabel get_ptr_text_for_watch_breifing_page -#ifdef NONMATCHING -void add_objective(void) { +s32 add_objective(void) +{ + return num_objective_ptrs[0]+1; } -#else -GLOBAL_ASM( -.text -glabel add_objective -/* 08BCD8 7F0571A8 3C028003 */ lui $v0, %hi(num_objective_ptrs) -/* 08BCDC 7F0571AC 8C4222F0 */ lw $v0, %lo(num_objective_ptrs)($v0) -/* 08BCE0 7F0571B0 03E00008 */ jr $ra -/* 08BCE4 7F0571B4 24420001 */ addiu $v0, $v0, 1 -) -#endif - - -#ifdef NONMATCHING -void get_text_for_objective(void) { - +u8 * get_text_for_objective(int objective) +{ + u8 *textptr; + + if ((objective < 10) && (objective_ptrs[objective] != 0)) { + return get_textptr_for_textID(objective_ptrs[objective]->text); + } + return 0; } -#else -GLOBAL_ASM( -.text -glabel get_text_for_objective -/* 08BCE8 7F0571B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08BCEC 7F0571BC 2881000A */ slti $at, $a0, 0xa -/* 08BCF0 7F0571C0 1020000B */ beqz $at, .L7F0571F0 -/* 08BCF4 7F0571C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08BCF8 7F0571C8 00047080 */ sll $t6, $a0, 2 -/* 08BCFC 7F0571CC 3C028007 */ lui $v0, %hi(objective_ptrs) -/* 08BD00 7F0571D0 004E1021 */ addu $v0, $v0, $t6 -/* 08BD04 7F0571D4 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0) -/* 08BD08 7F0571D8 50400006 */ beql $v0, $zero, .L7F0571F4 -/* 08BD0C 7F0571DC 00001025 */ move $v0, $zero -/* 08BD10 7F0571E0 0FC30776 */ jal get_textptr_for_textID -/* 08BD14 7F0571E4 9444000A */ lhu $a0, 0xa($v0) -/* 08BD18 7F0571E8 10000003 */ b .L7F0571F8 -/* 08BD1C 7F0571EC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0571F0: -/* 08BD20 7F0571F0 00001025 */ move $v0, $zero -.L7F0571F4: -/* 08BD24 7F0571F4 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0571F8: -/* 08BD28 7F0571F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08BD2C 7F0571FC 03E00008 */ jr $ra -/* 08BD30 7F057200 00000000 */ nop -) -#endif @@ -468,56 +462,23 @@ objective_microcode_type_17_18_1F_default: - - -#ifdef NONMATCHING -void check_objectives_complete(void) { - +u32 check_objectives_complete(void) +{ + DIFFICULTY objdiff; + DIFFICULTY curdiff; + int objective; + + for (objective = 0; objective < add_objective(); objective++) + { + objdiff = get_difficulty_for_objective(objective); + curdiff = get_current_difficulty(); + if ((objdiff <= curdiff) && (get_status_of_objective(objective) != 1)) { + return 0; + } + } + return 1; } -#else -GLOBAL_ASM( -.text -glabel check_objectives_complete -/* 08BFE8 7F0574B8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08BFEC 7F0574BC AFBF0024 */ sw $ra, 0x24($sp) -/* 08BFF0 7F0574C0 AFB00018 */ sw $s0, 0x18($sp) -/* 08BFF4 7F0574C4 AFB20020 */ sw $s2, 0x20($sp) -/* 08BFF8 7F0574C8 AFB1001C */ sw $s1, 0x1c($sp) -/* 08BFFC 7F0574CC 0FC15C6A */ jal add_objective -/* 08C000 7F0574D0 00008025 */ move $s0, $zero -/* 08C004 7F0574D4 18400013 */ blez $v0, .L7F057524 -/* 08C008 7F0574D8 24120001 */ li $s2, 1 -.L7F0574DC: -/* 08C00C 7F0574DC 0FC15C81 */ jal get_difficulty_for_objective -/* 08C010 7F0574E0 02002025 */ move $a0, $s0 -/* 08C014 7F0574E4 0FC2FF04 */ jal get_current_difficulty -/* 08C018 7F0574E8 00408825 */ move $s1, $v0 -/* 08C01C 7F0574EC 0051082A */ slt $at, $v0, $s1 -/* 08C020 7F0574F0 14200007 */ bnez $at, .L7F057510 -/* 08C024 7F0574F4 00000000 */ nop -/* 08C028 7F0574F8 0FC15C8E */ jal get_status_of_objective -/* 08C02C 7F0574FC 02002025 */ move $a0, $s0 -/* 08C030 7F057500 10520003 */ beq $v0, $s2, .L7F057510 -/* 08C034 7F057504 00000000 */ nop -/* 08C038 7F057508 10000007 */ b .L7F057528 -/* 08C03C 7F05750C 00001025 */ move $v0, $zero -.L7F057510: -/* 08C040 7F057510 0FC15C6A */ jal add_objective -/* 08C044 7F057514 26100001 */ addiu $s0, $s0, 1 -/* 08C048 7F057518 0202082A */ slt $at, $s0, $v0 -/* 08C04C 7F05751C 1420FFEF */ bnez $at, .L7F0574DC -/* 08C050 7F057520 00000000 */ nop -.L7F057524: -/* 08C054 7F057524 24020001 */ li $v0, 1 -.L7F057528: -/* 08C058 7F057528 8FBF0024 */ lw $ra, 0x24($sp) -/* 08C05C 7F05752C 8FB00018 */ lw $s0, 0x18($sp) -/* 08C060 7F057530 8FB1001C */ lw $s1, 0x1c($sp) -/* 08C064 7F057534 8FB20020 */ lw $s2, 0x20($sp) -/* 08C068 7F057538 03E00008 */ jr $ra -/* 08C06C 7F05753C 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif + #ifdef VERSION_JP void FUN_7f057a40(void) @@ -627,7 +588,7 @@ glabel display_objective_status_text_on_status_change /* 08C1A8 7F057678 0FC30776 */ jal get_textptr_for_textID /* 08C1AC 7F05767C 3404B02D */ li $a0, 45101 /* 08C1B0 7F057680 02602025 */ move $a0, $s3 -/* 08C1B4 7F057684 0C0029FF */ jal string_load_parse_something +/* 08C1B4 7F057684 0C0029FF */ jal string_append_from_obseg_textbank /* 08C1B8 7F057688 00402825 */ move $a1, $v0 /* 08C1BC 7F05768C 10000011 */ b .L7F0576D4 /* 08C1C0 7F057690 00000000 */ nop @@ -637,7 +598,7 @@ glabel display_objective_status_text_on_status_change /* 08C1CC 7F05769C 0FC30776 */ jal get_textptr_for_textID /* 08C1D0 7F0576A0 3404B02E */ li $a0, 45102 /* 08C1D4 7F0576A4 02602025 */ move $a0, $s3 -/* 08C1D8 7F0576A8 0C0029FF */ jal string_load_parse_something +/* 08C1D8 7F0576A8 0C0029FF */ jal string_append_from_obseg_textbank /* 08C1DC 7F0576AC 00402825 */ move $a1, $v0 /* 08C1E0 7F0576B0 10000008 */ b .L7F0576D4 /* 08C1E4 7F0576B4 00000000 */ nop @@ -647,7 +608,7 @@ glabel display_objective_status_text_on_status_change /* 08C1F0 7F0576C0 0FC30776 */ jal get_textptr_for_textID /* 08C1F4 7F0576C4 3404B02F */ li $a0, 45103 /* 08C1F8 7F0576C8 02602025 */ move $a0, $s3 -/* 08C1FC 7F0576CC 0C0029FF */ jal string_load_parse_something +/* 08C1FC 7F0576CC 0C0029FF */ jal string_append_from_obseg_textbank /* 08C200 7F0576D0 00402825 */ move $a1, $v0 .L7F0576D4: /* 08C204 7F0576D4 0FC228F2 */ jal display_string_in_lower_left_corner @@ -776,7 +737,7 @@ glabel display_objective_status_text_on_status_change /* 08C704 7F057B94 0FC30AA2 */ jal get_textptr_for_textID /* 08C708 7F057B98 3404B02D */ li $a0, 45101 /* 08C70C 7F057B9C 02602025 */ move $a0, $s3 -/* 08C710 7F057BA0 0C002A03 */ jal string_load_parse_something +/* 08C710 7F057BA0 0C002A03 */ jal string_append_from_obseg_textbank /* 08C714 7F057BA4 00402825 */ move $a1, $v0 /* 08C718 7F057BA8 10000011 */ b .L7F057BF0 /* 08C71C 7F057BAC 00000000 */ nop @@ -786,7 +747,7 @@ glabel display_objective_status_text_on_status_change /* 08C728 7F057BB8 0FC30AA2 */ jal get_textptr_for_textID /* 08C72C 7F057BBC 3404B02E */ li $a0, 45102 /* 08C730 7F057BC0 02602025 */ move $a0, $s3 -/* 08C734 7F057BC4 0C002A03 */ jal string_load_parse_something +/* 08C734 7F057BC4 0C002A03 */ jal string_append_from_obseg_textbank /* 08C738 7F057BC8 00402825 */ move $a1, $v0 /* 08C73C 7F057BCC 10000008 */ b .L7F057BF0 /* 08C740 7F057BD0 00000000 */ nop @@ -796,10 +757,10 @@ glabel display_objective_status_text_on_status_change /* 08C74C 7F057BDC 0FC30AA2 */ jal get_textptr_for_textID /* 08C750 7F057BE0 3404B02F */ li $a0, 45103 /* 08C754 7F057BE4 02602025 */ move $a0, $s3 -/* 08C758 7F057BE8 0C002A03 */ jal string_load_parse_something +/* 08C758 7F057BE8 0C002A03 */ jal string_append_from_obseg_textbank /* 08C75C 7F057BEC 00402825 */ move $a1, $v0 .L7F057BF0: -/* 08C760 7F057BF0 0FC22B10 */ jal jp_FUN_7f08ac40 +/* 08C760 7F057BF0 0FC22B10 */ jal jp_display_string_in_lower_left_corner /* 08C764 7F057BF4 02602025 */ move $a0, $s3 .L7F057BF8: /* 08C768 7F057BF8 0FC15DC1 */ jal get_difficulty_for_objective diff --git a/src/game/objective_status2.c b/src/game/objective_status2.c index 6f20a2eb..859f3895 100644 --- a/src/game/objective_status2.c +++ b/src/game/objective_status2.c @@ -1,8 +1,27 @@ #include "ultra64.h" -#ifdef NONMATCHING -void sub_GAME_7F057AC0(void) { +//D:80032300 +u32 D_80032300 = 0; +//D:80032304 +u32 D_80032304 = 0; +//D:80032308 +u32 D_80032308 = 0; +#ifdef NONMATCHING +void sub_GAME_7F057AC0(float *param_1) +{ + float firstrandfinal; + float secondrandfinal; + float thirdrandfinal; + + firstrandfinal = D_80032300; + secondrandfinal = D_80032304; + thirdrandfinal = D_80032308; + firstrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; + secondrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; + thirdrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477; + sub_GAME_7F058714(&firstrandfinal,param_1); + return; } #else GLOBAL_ASM( @@ -300,8 +319,14 @@ glabel sub_GAME_7F057D88 #ifdef NONMATCHING -void sub_GAME_7F057DF8(void) { - +void sub_GAME_7F057DF8(float *param_1,float *param_2,int param_3) +{ + int i; + + for (i = 0; 0 < param_3; i++) + { + sub_GAME_7F058098(param_2,param_1); + } } #else GLOBAL_ASM( diff --git a/src/game/prop.c b/src/game/prop.c index 05731cc6..035aac30 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -992,7 +992,7 @@ glabel expand_08_obj_set_guard_MP_weapons /* 0372B4 7F002784 2404001C */ li $a0, 28 /* 0372B8 7F002788 53200084 */ beql $t9, $zero, .L7F00299C /* 0372BC 7F00278C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0372C0 7F002790 0FC249EF */ jal sub_GAME_7F0927BC +/* 0372C0 7F002790 0FC249EF */ jal cheatCheckIfOn /* 0372C4 7F002794 AFA7002C */ sw $a3, 0x2c($sp) /* 0372C8 7F002798 10400011 */ beqz $v0, .L7F0027E0 /* 0372CC 7F00279C 8FA7002C */ lw $a3, 0x2c($sp) @@ -1450,7 +1450,7 @@ glabel expand_type_0D_object_autoturret /* 03784C 7F002D1C 460C4282 */ mul.s $f10, $f8, $f12 /* 037850 7F002D20 46025403 */ div.s $f16, $f10, $f2 /* 037854 7F002D24 E6040088 */ swc1 $f4, 0x88($s0) -/* 037858 7F002D28 0C0025C8 */ jal allocate_bytes_in_bank +/* 037858 7F002D28 0C0025C8 */ jal mempAllocBytesInBank /* 03785C 7F002D2C E610008C */ swc1 $f16, 0x8c($s0) /* 037860 7F002D30 2403FFFF */ li $v1, -1 /* 037864 7F002D34 AE0200CC */ sw $v0, 0xcc($s0) @@ -2693,12 +2693,12 @@ glabel proplvreset2 /* 038864 7F003D34 14200004 */ bnez $at, .L7F003D48 /* 038868 7F003D38 3C058005 */ lui $a1, %hi(aMp_) /* 03886C 7F003D3C 24A5EEB0 */ addiu $a1, %lo(aMp_) # addiu $a1, $a1, -0x1150 -/* 038870 7F003D40 0C0029FF */ jal string_load_parse_something +/* 038870 7F003D40 0C0029FF */ jal string_append_from_obseg_textbank /* 038874 7F003D44 02202025 */ move $a0, $s1 .L7F003D48: /* 038878 7F003D48 8E050000 */ lw $a1, ($s0) /* 03887C 7F003D4C 02202025 */ move $a0, $s1 -/* 038880 7F003D50 0C0029FF */ jal string_load_parse_something +/* 038880 7F003D50 0C0029FF */ jal string_append_from_obseg_textbank /* 038884 7F003D54 24A50001 */ addiu $a1, $a1, 1 /* 038888 7F003D58 02202025 */ move $a0, $s1 /* 03888C 7F003D5C 24050001 */ li $a1, 1 @@ -4086,12 +4086,12 @@ glabel jpt_8004F02C /* 0388A4 7F003D34 14200004 */ bnez $at, .L7F003D48 /* 0388A8 7F003D38 3C058005 */ lui $a1, %hi(aMp_) # $a1, 0x8005 /* 0388AC 7F003D3C 24A5EEE0 */ addiu $a1, %lo(aMp_) # addiu $a1, $a1, -0x1120 -/* 0388B0 7F003D40 0C002A03 */ jal string_load_parse_something +/* 0388B0 7F003D40 0C002A03 */ jal string_append_from_obseg_textbank /* 0388B4 7F003D44 02202025 */ move $a0, $s1 .L7F003D48: /* 0388B8 7F003D48 8E050000 */ lw $a1, ($s0) /* 0388BC 7F003D4C 02202025 */ move $a0, $s1 -/* 0388C0 7F003D50 0C002A03 */ jal string_load_parse_something +/* 0388C0 7F003D50 0C002A03 */ jal string_append_from_obseg_textbank /* 0388C4 7F003D54 24A50001 */ addiu $a1, $a1, 1 /* 0388C8 7F003D58 02202025 */ move $a0, $s1 /* 0388CC 7F003D5C 24050001 */ li $a1, 1 diff --git a/src/game/radar.c b/src/game/radar.c index cf6967c1..037dc00a 100644 --- a/src/game/radar.c +++ b/src/game/radar.c @@ -58,7 +58,7 @@ glabel display_red_blue_on_radar /* 0FAC50 7F0C6120 10000119 */ b .L7F0C6588 /* 0FAC54 7F0C6124 8FA20088 */ lw $v0, 0x88($sp) .L7F0C6128: -/* 0FAC58 7F0C6128 0FC249EF */ jal sub_GAME_7F0927BC +/* 0FAC58 7F0C6128 0FC249EF */ jal cheatCheckIfOn /* 0FAC5C 7F0C612C 24040017 */ li $a0, 23 /* 0FAC60 7F0C6130 10400003 */ beqz $v0, .L7F0C6140 /* 0FAC64 7F0C6134 00000000 */ nop diff --git a/src/game/rsp.c b/src/game/rsp.c index b769dbe8..58ca01d0 100644 --- a/src/game/rsp.c +++ b/src/game/rsp.c @@ -38,15 +38,12 @@ void something_with_rsp_c_debug(void) { #ifdef NONMATCHING -void allocate_init_rsp_buffers(void) { - ? temp_ret; +void allocate_init_rsp_buffers(void) - // Node 0 - temp_ret = allocate_bytes_in_bank(0xa000, 6); - D_8004E9E8 = temp_ret; - D_8004E9E4 = (s32) (temp_ret + 0xa000); +{ + ptr_rsp_buffer_start = mempAllocBytesInBank(0xa000,'\x06'); + ptr_rspbuffer_end = ptr_rsp_buffer_start + 0xa000; return; - // (possible return value: temp_ret) } #else @@ -56,7 +53,7 @@ glabel allocate_init_rsp_buffers /* 10490C 7F0CFDDC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 104910 7F0CFDE0 AFBF0014 */ sw $ra, 0x14($sp) /* 104914 7F0CFDE4 3404A000 */ li $a0, 40960 -/* 104918 7F0CFDE8 0C0025C8 */ jal allocate_bytes_in_bank +/* 104918 7F0CFDE8 0C0025C8 */ jal mempAllocBytesInBank /* 10491C 7F0CFDEC 24050006 */ li $a1, 6 /* 104920 7F0CFDF0 8FBF0014 */ lw $ra, 0x14($sp) /* 104924 7F0CFDF4 3C038005 */ lui $v1, %hi(D_8004E9E8) diff --git a/src/game/sin.c b/src/game/sin.c index 98254303..c65e2318 100644 --- a/src/game/sin.c +++ b/src/game/sin.c @@ -1,7 +1,8 @@ #include "ultra64.h" - +//these are actaully clever shared asm +//!FIXME move to asm file diff --git a/src/game/spectrum.c b/src/game/spectrum.c index 92491217..09830777 100644 --- a/src/game/spectrum.c +++ b/src/game/spectrum.c @@ -647,7 +647,7 @@ glabel init_spectrum_game /* 107AF8 7F0D2FC8 AFBF0014 */ sw $ra, 0x14($sp) /* 107AFC 7F0D2FCC AFA40018 */ sw $a0, 0x18($sp) /* 107B00 7F0D2FD0 24040100 */ li $a0, 256 -/* 107B04 7F0D2FD4 0C0025C8 */ jal allocate_bytes_in_bank +/* 107B04 7F0D2FD4 0C0025C8 */ jal mempAllocBytesInBank /* 107B08 7F0D2FD8 24050004 */ li $a1, 4 /* 107B0C 7F0D2FDC 3C068009 */ lui $a2, %hi(ptr_pc_keyboard_table_alloc) /* 107B10 7F0D2FE0 24C6E334 */ addiu $a2, %lo(ptr_pc_keyboard_table_alloc) # addiu $a2, $a2, -0x1ccc @@ -684,12 +684,12 @@ glabel init_spectrum_game /* 107B78 7F0D3048 5420FFEB */ bnezl $at, .L7F0D2FF8 /* 107B7C 7F0D304C 00001825 */ move $v1, $zero /* 107B80 7F0D3050 24046000 */ li $a0, 24576 -/* 107B84 7F0D3054 0C0025C8 */ jal allocate_bytes_in_bank +/* 107B84 7F0D3054 0C0025C8 */ jal mempAllocBytesInBank /* 107B88 7F0D3058 24050004 */ li $a1, 4 /* 107B8C 7F0D305C 3C018009 */ lui $at, %hi(ptr_6000alloc) /* 107B90 7F0D3060 AC22E330 */ sw $v0, %lo(ptr_6000alloc)($at) /* 107B94 7F0D3064 24040300 */ li $a0, 768 -/* 107B98 7F0D3068 0C0025C8 */ jal allocate_bytes_in_bank +/* 107B98 7F0D3068 0C0025C8 */ jal mempAllocBytesInBank /* 107B9C 7F0D306C 24050004 */ li $a1, 4 /* 107BA0 7F0D3070 3C038009 */ lui $v1, %hi(ptr_300alloc) /* 107BA4 7F0D3074 2463E32C */ addiu $v1, %lo(ptr_300alloc) # addiu $v1, $v1, -0x1cd4 @@ -704,7 +704,7 @@ glabel init_spectrum_game /* 107BC4 7F0D3094 1420FFFB */ bnez $at, .L7F0D3084 /* 107BC8 7F0D3098 A1A20000 */ sb $v0, ($t5) /* 107BCC 7F0D309C 3C040001 */ lui $a0, 1 -/* 107BD0 7F0D30A0 0C0025C8 */ jal allocate_bytes_in_bank +/* 107BD0 7F0D30A0 0C0025C8 */ jal mempAllocBytesInBank /* 107BD4 7F0D30A4 24050004 */ li $a1, 4 /* 107BD8 7F0D30A8 3C088009 */ lui $t0, %hi(ptr_spectrum_roms) /* 107BDC 7F0D30AC 2508E328 */ addiu $t0, %lo(ptr_spectrum_roms) # addiu $t0, $t0, -0x1cd8 diff --git a/src/game/textrelated.c b/src/game/textrelated.c index 1879418c..f12a7b0e 100644 --- a/src/game/textrelated.c +++ b/src/game/textrelated.c @@ -49,24 +49,24 @@ s32 D_80040F28 = 0; -void null_init_main(void) { +void null_init_main_7f0acb70(void) { } -void sub_GAME_7F0ACB78(s32 arg0) { - text_spacing = (s32) -arg0; +void setTextSpacingInverted(s32 spacing) { + text_spacing = -spacing; } -void sub_GAME_7F0ACB88(s32 arg0) { - text_orientation = arg0; +void setTextOrientation(s32 orientation) { + text_orientation = orientation; } -void sub_GAME_7F0ACB94(s32 arg0) { - text_wordwrap = arg0; +void setTextWordWrap(s32 flag) { + text_wordwrap = flag; } -void sub_GAME_7F0ACBA0(s32 arg0) { - overlap_correction = arg0; +void setTextOverlapCorrection(s32 flag) { + overlap_correction = flag; } @@ -75,22 +75,23 @@ void sub_GAME_7F0ACBA0(s32 arg0) { #ifdef NONMATCHING -void *load_font_tables(void) { - s32 temp_a2; - ? temp_ret; +void load_font_tables(void) +{ + s32 sp1C; + s32 MACROSIZE; + s32 MACROSIZE; + s32 temp_ret; + s32 temp_ret_2; + s32 i_next; + s32 temp_v1_2; void *temp_v0; - s32 temp_v1; - s32 temp_a2_2; - ? temp_ret_2; void *temp_v0_2; void *temp_v0_3; void *temp_v0_4; void *temp_v0_5; - s32 temp_v1_2; - s32 phi_v1; + s32 i; s32 phi_v1_2; - // Node 0 text_spacing = 0; text_orientation = 0; text_wordwrap = 0; @@ -99,50 +100,43 @@ void *load_font_tables(void) { text_x = 0; text_y = 0; text_s = 0; - temp_a2 = (&0x000024B0 - 0); + MACROSIZE = 0x24b0 - 0; text_t = 0; - temp_ret = allocate_bytes_in_bank(temp_a2, 4, temp_a2); - ptrFirstFontTableSmall = temp_ret; - ptrSecondFontTableSmall = (s32) (temp_ret + 0x2a4); - romCopy(temp_ret, &_fonttablectlsmall1SegmentRomStart, sp1C, &ptrFirstFontTableSmall); - phi_v1 = 0; + ptrFirstFontTableSmall = mempAllocBytesInBank(MACROSIZE, 4); + ptrSecondFontTableSmall = (s32) (ptrFirstFontTableSmall + 0x2a4); + romCopy(&ptrFirstFontTableSmall, &_fonttablectlsmall1SegmentRomStart, MACROSIZE); + i = 0; loop_1: - // Node 1 - temp_v0 = (ptrSecondFontTableSmall + phi_v1); - temp_v1 = (phi_v1 + 0x18); + temp_v0 = ptrSecondFontTableSmall + i; + i_next = i + 0x18; temp_v0->unk14 = (s32) (temp_v0->unk14 + ptrFirstFontTableSmall); - phi_v1 = temp_v1; - if (temp_v1 < 0x8d0) + i = i_next; + if (i_next < 0x8d0) { goto loop_1; } - // Node 2 - temp_a2_2 = (&0x00003540 - 0); - temp_ret_2 = allocate_bytes_in_bank(temp_a2_2, 4, temp_a2_2, &ptrFirstFontTableSmall); - ptrFirstFontTableLarge = temp_ret_2; - ptrSecondFontTableLarge = (void *) (temp_ret_2 + 0x2a4); - romCopy(temp_ret_2, &_fonttablectllarge1SegmentRomStart, sp1C, &ptrFirstFontTableLarge); + MACROSIZE = 0x3540 - 0; + ptrFirstFontTableLarge = mempAllocBytesInBank(MACROSIZE, 4); + ptrSecondFontTableLarge = (s32) (ptrFirstFontTableLarge + 0x2a4); + romCopy(&ptrFirstFontTableLarge, &_fonttablectllarge1SegmentRomStart, MACROSIZE); ptrSecondFontTableLarge->unk14 = (s32) (ptrSecondFontTableLarge->unk14 + ptrFirstFontTableLarge); ptrSecondFontTableLarge->unk2C = (s32) (ptrSecondFontTableLarge->unk2C + ptrFirstFontTableLarge); phi_v1_2 = 0x30; loop_3: - // Node 3 - temp_v0_2 = (ptrSecondFontTableLarge + phi_v1_2); + temp_v0_2 = ptrSecondFontTableLarge + phi_v1_2; temp_v0_2->unk14 = (s32) (temp_v0_2->unk14 + ptrFirstFontTableLarge); - temp_v0_3 = (ptrSecondFontTableLarge + phi_v1_2); + temp_v0_3 = ptrSecondFontTableLarge + phi_v1_2; temp_v0_3->unk2C = (s32) (temp_v0_3->unk2C + ptrFirstFontTableLarge); - temp_v0_4 = (ptrSecondFontTableLarge + phi_v1_2); + temp_v0_4 = ptrSecondFontTableLarge + phi_v1_2; temp_v0_4->unk44 = (s32) (temp_v0_4->unk44 + ptrFirstFontTableLarge); - temp_v0_5 = (ptrSecondFontTableLarge + phi_v1_2); - temp_v1_2 = (phi_v1_2 + 0x60); + temp_v0_5 = ptrSecondFontTableLarge + phi_v1_2; + temp_v1_2 = phi_v1_2 + 0x60; temp_v0_5->unk5C = (s32) (temp_v0_5->unk5C + ptrFirstFontTableLarge); phi_v1_2 = temp_v1_2; if (temp_v1_2 != 0x8d0) { goto loop_3; } - // Node 4 - return temp_v0_5; } #else GLOBAL_ASM( @@ -176,7 +170,7 @@ glabel load_font_tables /* 0E1740 7F0ACC10 AC200EA4 */ sw $zero, %lo(text_t)($at) /* 0E1744 7F0ACC14 00C02025 */ move $a0, $a2 /* 0E1748 7F0ACC18 AFA6001C */ sw $a2, 0x1c($sp) -/* 0E174C 7F0ACC1C 0C0025C8 */ jal allocate_bytes_in_bank +/* 0E174C 7F0ACC1C 0C0025C8 */ jal mempAllocBytesInBank /* 0E1750 7F0ACC20 24050004 */ li $a1, 4 /* 0E1754 7F0ACC24 3C078004 */ lui $a3, %hi(ptrFirstFontTableSmall) /* 0E1758 7F0ACC28 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall) @@ -212,7 +206,7 @@ glabel load_font_tables /* 0E17CC 7F0ACC9C 01AE3023 */ subu $a2, $t5, $t6 /* 0E17D0 7F0ACCA0 00C02025 */ move $a0, $a2 /* 0E17D4 7F0ACCA4 AFA6001C */ sw $a2, 0x1c($sp) -/* 0E17D8 7F0ACCA8 0C0025C8 */ jal allocate_bytes_in_bank +/* 0E17D8 7F0ACCA8 0C0025C8 */ jal mempAllocBytesInBank /* 0E17DC 7F0ACCAC 24050004 */ li $a1, 4 /* 0E17E0 7F0ACCB0 3C078004 */ lui $a3, %hi(ptrFirstFontTableLarge) /* 0E17E4 7F0ACCB4 3C088004 */ lui $t0, %hi(ptrSecondFontTableLarge) @@ -281,8 +275,37 @@ glabel load_font_tables #ifdef NONMATCHING -void microcode_constructor(void) { +void microcode_constructor(u32 *DL) +{ + DL[0] = 0xe7000000; //rdp_pipesync + DL[1] = 0; + DL[2] = 0xba001402; //rsp_uc05_setothermode_h + DL[3] = 0; + DL[5] = 0xc0; + DL[4] = 0xba000602; //rsp_uc05_setothermode_h + DL[6] = 0xb900031d; //rsp_uc05_setothermode_l + DL[7] = 0x5041c8; + DL[8] = 0xfcff97ff; //rdp_setcombine + DL[9] = 0xff2dfeff; //rdp_setcolourimage + DL[10] = 0xba001301; //rsp_uc05_setothermode_h + DL[0xb] = 0; + DL[0xc] = 0xb9000002; //rsp_uc05_setothermode_l + DL[0xd] = 0; + DL[0xe] = 0xba001001; //rsp_uc05_setothermode_h + DL[0xf] = 0; + DL[0x11] = 0xc00; + DL[0x10] = 0xba000903; //rsp_uc05_setothermode_h + DL[0x12] = 0xba000e02; //rsp_uc05_setothermode_h + DL[0x13] = 0; + if (text_bilevel_filter != 0) { + DL[0x15] = 0x3000; + DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h + return; + } + DL[0x15] = 0x2000; + DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h + return; } #else GLOBAL_ASM( diff --git a/src/game/unk_057FD0.c b/src/game/unk_057FD0.c index 0abab10d..be92c2ff 100644 --- a/src/game/unk_057FD0.c +++ b/src/game/unk_057FD0.c @@ -20,13 +20,13 @@ f32 D_80032314 = 65536.0; #ifdef NONMATCHING -void init_0x40_bytes_data_at_address_last_word_1_0(void) { +void reset_array_of_0x10_floats(void) { } #else GLOBAL_ASM( .text -glabel init_0x40_bytes_data_at_address_last_word_1_0 +glabel reset_array_of_0x10_floats /* 08CB00 7F057FD0 44801000 */ mtc1 $zero, $f2 /* 08CB04 7F057FD4 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 08CB08 7F057FD8 44810000 */ mtc1 $at, $f0 @@ -966,7 +966,7 @@ glabel init_something_copy_posdata_to_it /* 08D498 7F058968 AFBF0014 */ sw $ra, 0x14($sp) /* 08D49C 7F05896C AFA40018 */ sw $a0, 0x18($sp) /* 08D4A0 7F058970 AFA5001C */ sw $a1, 0x1c($sp) -/* 08D4A4 7F058974 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 08D4A4 7F058974 0FC15FF4 */ jal reset_array_of_0x10_floats /* 08D4A8 7F058978 00A02025 */ move $a0, $a1 /* 08D4AC 7F05897C 8FA40018 */ lw $a0, 0x18($sp) /* 08D4B0 7F058980 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30 @@ -2583,7 +2583,7 @@ glabel sub_GAME_7F059B58 /* 08E7F4 7F059CC4 10000003 */ b .L7F059CD4 /* 08E7F8 7F059CC8 E606003C */ swc1 $f6, 0x3c($s0) .L7F059CCC: -/* 08E7FC 7F059CCC 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 08E7FC 7F059CCC 0FC15FF4 */ jal reset_array_of_0x10_floats /* 08E800 7F059CD0 02002025 */ move $a0, $s0 .L7F059CD4: /* 08E804 7F059CD4 8FBF0024 */ lw $ra, 0x24($sp) diff --git a/src/game/unk_08DBB0.c b/src/game/unk_08DBB0.c index eb0ad9af..1083d062 100644 --- a/src/game/unk_08DBB0.c +++ b/src/game/unk_08DBB0.c @@ -767,7 +767,7 @@ glabel sub_GAME_7F08E240 /* 0C2F7C 7F08E44C 8E040000 */ lw $a0, ($s0) /* 0C2F80 7F08E450 0FC1B5AC */ jal subcalcpos /* 0C2F84 7F08E454 24840598 */ addiu $a0, $a0, 0x598 -/* 0C2F88 7F08E458 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0C2F88 7F08E458 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0C2F8C 7F08E45C 27A40040 */ addiu $a0, $sp, 0x40 /* 0C2F90 7F08E460 8E020000 */ lw $v0, ($s0) /* 0C2F94 7F08E464 27AC0040 */ addiu $t4, $sp, 0x40 @@ -941,7 +941,7 @@ glabel sub_GAME_7F08E240 /* 0C3224 7F08E6F4 AC4004F0 */ sw $zero, 0x4f0($v0) /* 0C3228 7F08E6F8 0FC23859 */ jal sub_GAME_7F08E164 /* 0C322C 7F08E6FC C42C532C */ lwc1 $f12, %lo(D_8005532C)($at) -/* 0C3230 7F08E700 0FC227B5 */ jal get_BONDdata_field19C +/* 0C3230 7F08E700 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C3234 7F08E704 00000000 */ nop /* 0C3238 7F08E708 3C018005 */ lui $at, %hi(D_80055330) /* 0C323C 7F08E70C C4285330 */ lwc1 $f8, %lo(D_80055330)($at) @@ -988,7 +988,7 @@ glabel sub_GAME_7F08E240 /* 0C32DC 7F08E7AC 24840564 */ addiu $a0, $a0, 0x564 /* 0C32E0 7F08E7B0 0FC16B80 */ jal sub_GAME_7F05AE00 /* 0C32E4 7F08E7B4 24A50570 */ addiu $a1, $a1, 0x570 -/* 0C32E8 7F08E7B8 0FC227B5 */ jal get_BONDdata_field19C +/* 0C32E8 7F08E7B8 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C32EC 7F08E7BC 00000000 */ nop /* 0C32F0 7F08E7C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C32F4 7F08E7C4 44813000 */ mtc1 $at, $f6 @@ -998,7 +998,7 @@ glabel sub_GAME_7F08E240 /* 0C3304 7F08E7D4 46004402 */ mul.s $f16, $f8, $f0 /* 0C3308 7F08E7D8 46103480 */ add.s $f18, $f6, $f16 /* 0C330C 7F08E7DC 46122282 */ mul.s $f10, $f4, $f18 -/* 0C3310 7F08E7E0 0FC227B5 */ jal get_BONDdata_field19C +/* 0C3310 7F08E7E0 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C3314 7F08E7E4 E7AA00D0 */ swc1 $f10, 0xd0($sp) /* 0C3318 7F08E7E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C331C 7F08E7EC 44814000 */ mtc1 $at, $f8 @@ -1022,7 +1022,7 @@ glabel sub_GAME_7F08E240 /* 0C3364 7F08E834 2484057C */ addiu $a0, $a0, 0x57c /* 0C3368 7F08E838 0FC16B80 */ jal sub_GAME_7F05AE00 /* 0C336C 7F08E83C 24A50588 */ addiu $a1, $a1, 0x588 -/* 0C3370 7F08E840 0FC227B5 */ jal get_BONDdata_field19C +/* 0C3370 7F08E840 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C3374 7F08E844 00000000 */ nop /* 0C3378 7F08E848 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C337C 7F08E84C 44813000 */ mtc1 $at, $f6 @@ -1032,7 +1032,7 @@ glabel sub_GAME_7F08E240 /* 0C338C 7F08E85C 46004402 */ mul.s $f16, $f8, $f0 /* 0C3390 7F08E860 46103480 */ add.s $f18, $f6, $f16 /* 0C3394 7F08E864 46122282 */ mul.s $f10, $f4, $f18 -/* 0C3398 7F08E868 0FC227B5 */ jal get_BONDdata_field19C +/* 0C3398 7F08E868 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C339C 7F08E86C E7AA00C4 */ swc1 $f10, 0xc4($sp) /* 0C33A0 7F08E870 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0C33A4 7F08E874 44814000 */ mtc1 $at, $f8 @@ -1274,7 +1274,7 @@ glabel sub_GAME_7F08EAF8 /* 0C3638 7F08EB08 8DCF04E8 */ lw $t7, 0x4e8($t6) /* 0C363C 7F08EB0C 05E2002B */ bltzl $t7, .L7F08EBBC /* 0C3640 7F08EB10 44800000 */ mtc1 $zero, $f0 -/* 0C3644 7F08EB14 0FC227B5 */ jal get_BONDdata_field19C +/* 0C3644 7F08EB14 0FC227B5 */ jal get_BONDdata_bondfadefracnew /* 0C3648 7F08EB18 00000000 */ nop /* 0C364C 7F08EB1C 3C018005 */ lui $at, %hi(D_80055338) /* 0C3650 7F08EB20 C4245338 */ lwc1 $f4, %lo(D_80055338)($at) diff --git a/src/game/unk_091080.c b/src/game/unk_091080.c index 50dcb113..cfc205f9 100644 --- a/src/game/unk_091080.c +++ b/src/game/unk_091080.c @@ -393,7 +393,7 @@ glabel sub_GAME_7F091080 /* 0C6044 7F091514 A4387054 */ sh $t8, %lo(D_80037054)($at) /* 0C6048 7F091518 3C014270 */ li $at, 0x42700000 # 60.000000 /* 0C604C 7F09151C 44816000 */ mtc1 $at, $f12 -/* 0C6050 7F091520 0FC26C85 */ jal sub_GAME_7F09B214 +/* 0C6050 7F091520 0FC26C85 */ jal set_cur_player_fovy /* 0C6054 7F091524 00000000 */ nop /* 0C6058 7F091528 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079E20) /* 0C605C 7F09152C 24429E20 */ addiu $v0, %lo(dword_CODE_bss_80079E20) # addiu $v0, $v0, -0x61e0 diff --git a/src/game/unk_092E50.c b/src/game/unk_092E50.c index 498c7d62..21c87a99 100644 --- a/src/game/unk_092E50.c +++ b/src/game/unk_092E50.c @@ -1,5 +1,5 @@ #include "ultra64.h" - +#include "game/unk_092E50.h" // bss //CODE.bss:80079E80 f32 flt_CODE_bss_80079E80; @@ -31,7 +31,9 @@ u64 MipMap2C_Something2_Setup[] = { //End Dl means this gfx list cannot go any further. perhaps below is a vtx array? u32 D_8003FD90 = 0; -u32 D_8003FD94[] = {0, 0, 0, 0, 0xFFFFFFFF}; +f32 D_8003FD94[] = {0, 0, 0}; +u32 D_8003FDA0 = 0; +u32 D_8003FDA4 = 0xFFFFFFFF; //D:D_8003FDA8 u64 D_8003FDA8[] = { 0x100, 0, 0, 0, diff --git a/src/game/unk_092E50.h b/src/game/unk_092E50.h new file mode 100644 index 00000000..a8dea111 --- /dev/null +++ b/src/game/unk_092E50.h @@ -0,0 +1,9 @@ +#ifndef _UNK_092E50_H_ +#define _UNK_092E50_H_ +#include "ultra64.h" + + +extern f32 D_8003FD94[]; + + +#endif diff --git a/src/game/unk_093880.c b/src/game/unk_093880.c index d21da4af..66a4a6e4 100644 --- a/src/game/unk_093880.c +++ b/src/game/unk_093880.c @@ -1,6 +1,8 @@ #include "ultra64.h" #include "game/unk_093880.h" +#include "game/unk_092E50.h" #include "game/bond.h" +#include "game/lvl.h" // bss s32 copyof_stagenum; @@ -17,7 +19,7 @@ struct player_data player3_player_data; struct player_data player4_player_data; struct Player *pPlayer; -struct player_data *cur_player_stat_ptr; +struct player_data *pPlayersPerm; s32 player_num; s32 random_byte; s32 dword_CODE_bss_8007A0C0; @@ -528,7 +530,7 @@ glabel sub_GAME_7F093C48 -f32 sub_GAME_7F093C88(f32 arg0) { +f32 addpoint5tofloat(f32 arg0) { return (f32) (s32) (arg0 + 0.5f); } @@ -1102,53 +1104,18 @@ glabel sub_GAME_7F094298 -void sub_GAME_7F09442C(s32 stagenum) { +void store_stagenum_to_copyof_stagenum(s32 stagenum) { copyof_stagenum = stagenum; } - - - - -#ifdef NONMATCHING -f32 sub_GAME_7F094438(void) { - // Node 0 - D_8003FD94 = (f32) (D_8003FD94 + (f32) clock_timer); - if (D_8003FD94 > 4096.0f) +void sub_GAME_7F094438(void) +{ + D_8003FD94[0] = (clock_timer + D_8003FD94[0]); + if ( D_8003FD94[0] > 4096.0f) { - // Node 1 - D_8003FD94 = (f32) (D_8003FD94 - 4096.0f); + D_8003FD94[0] -= 4096.0f; } - // Node 2 - return D_8003FD94; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F094438 -/* 0C8F68 7F094438 3C0E8005 */ lui $t6, %hi(clock_timer) -/* 0C8F6C 7F09443C 8DCE8374 */ lw $t6, %lo(clock_timer)($t6) -/* 0C8F70 7F094440 3C028004 */ lui $v0, %hi(D_8003FD94) -/* 0C8F74 7F094444 2442FD94 */ addiu $v0, %lo(D_8003FD94) # addiu $v0, $v0, -0x26c -/* 0C8F78 7F094448 448E3000 */ mtc1 $t6, $f6 -/* 0C8F7C 7F09444C C4440000 */ lwc1 $f4, ($v0) -/* 0C8F80 7F094450 3C014580 */ li $at, 0x45800000 # 4096.000000 -/* 0C8F84 7F094454 46803220 */ cvt.s.w $f8, $f6 -/* 0C8F88 7F094458 44811000 */ mtc1 $at, $f2 -/* 0C8F8C 7F09445C 46082280 */ add.s $f10, $f4, $f8 -/* 0C8F90 7F094460 E44A0000 */ swc1 $f10, ($v0) -/* 0C8F94 7F094464 C4400000 */ lwc1 $f0, ($v0) -/* 0C8F98 7F094468 4600103C */ c.lt.s $f2, $f0 -/* 0C8F9C 7F09446C 00000000 */ nop -/* 0C8FA0 7F094470 45000003 */ bc1f .L7F094480 -/* 0C8FA4 7F094474 00000000 */ nop -/* 0C8FA8 7F094478 46020401 */ sub.s $f16, $f0, $f2 -/* 0C8FAC 7F09447C E4500000 */ swc1 $f16, ($v0) -.L7F094480: -/* 0C8FB0 7F094480 03E00008 */ jr $ra -/* 0C8FB4 7F094484 00000000 */ nop -) -#endif @@ -4925,7 +4892,7 @@ glabel sub_GAME_7F097818 /* 0CC744 7F097C14 00000000 */ nop /* 0CC748 7F097C18 46044302 */ mul.s $f12, $f8, $f4 /* 0CC74C 7F097C1C 460A1181 */ sub.s $f6, $f2, $f10 -/* 0CC750 7F097C20 0FC24F22 */ jal sub_GAME_7F093C88 +/* 0CC750 7F097C20 0FC24F22 */ jal addpoint5tofloat /* 0CC754 7F097C24 E7A6037C */ swc1 $f6, 0x37c($sp) /* 0CC758 7F097C28 3C013900 */ li $at, 0x39000000 # 0.000122 /* 0CC75C 7F097C2C 44815000 */ mtc1 $at, $f10 @@ -4939,7 +4906,7 @@ glabel sub_GAME_7F097818 /* 0CC77C 7F097C4C 44815000 */ mtc1 $at, $f10 /* 0CC780 7F097C50 00000000 */ nop /* 0CC784 7F097C54 460A4302 */ mul.s $f12, $f8, $f10 -/* 0CC788 7F097C58 0FC24F22 */ jal sub_GAME_7F093C88 +/* 0CC788 7F097C58 0FC24F22 */ jal addpoint5tofloat /* 0CC78C 7F097C5C E7A60408 */ swc1 $f6, 0x408($sp) /* 0CC790 7F097C60 3C013900 */ li $at, 0x39000000 # 0.000122 /* 0CC794 7F097C64 44812000 */ mtc1 $at, $f4 @@ -7536,8 +7503,16 @@ glabel sub_GAME_7F098A2C #ifdef NONMATCHING -void default_player_perspective_and_height(void) { - +void default_player_perspective_and_height(void) +{ + player1_playerdata[0].handicap = 1.00000000; + player1_playerdata[0].player_perspective_height = 1.00000000; + player1_playerdata[1].handicap = 1.00000000; + player1_playerdata[1].player_perspective_height = 1.00000000; + player1_playerdata[2].handicap = 1.00000000; + player1_playerdata[2].player_perspective_height = 1.00000000; + player1_playerdata[3].handicap = 1.00000000; + player1_playerdata[3].player_perspective_height = 1.00000000; } #else GLOBAL_ASM( @@ -7570,8 +7545,20 @@ glabel default_player_perspective_and_height #ifdef NONMATCHING -void reset_play_data_ptrs(void) { - +void reset_play_data_ptrs(void) +{ + ptr_BONDdata_p1[0] = NULL; + ptr_BONDdata_p1[1] = NULL; + ptr_BONDdata_p1[2] = NULL; + ptr_BONDdata_p1[3] = NULL; + pPlayer = NULL; + pPlayersPerm = NULL; + player_num = 0; + random_byte = 0; + DAT_8007a0c0 = 0; + DAT_8007a0c4 = 1; + DAT_8007a0c8 = 2; + DAT_8007a0cc = 3; } #else GLOBAL_ASM( @@ -7585,8 +7572,8 @@ glabel reset_play_data_ptrs /* 0CEE70 7F09A340 AC40000C */ sw $zero, 0xc($v0) /* 0CEE74 7F09A344 3C018008 */ lui $at, %hi(pPlayer) /* 0CEE78 7F09A348 AC20A0B0 */ sw $zero, %lo(pPlayer)($at) -/* 0CEE7C 7F09A34C 3C018008 */ lui $at, %hi(cur_player_stat_ptr) -/* 0CEE80 7F09A350 AC20A0B4 */ sw $zero, %lo(cur_player_stat_ptr)($at) +/* 0CEE7C 7F09A34C 3C018008 */ lui $at, %hi(pPlayersPerm) +/* 0CEE80 7F09A350 AC20A0B4 */ sw $zero, %lo(pPlayersPerm)($at) /* 0CEE84 7F09A354 3C018008 */ lui $at, %hi(player_num) /* 0CEE88 7F09A358 AC20A0B8 */ sw $zero, %lo(player_num)($at) /* 0CEE8C 7F09A35C 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0C0) @@ -7607,10 +7594,31 @@ glabel reset_play_data_ptrs - #ifdef NONMATCHING -void init_player_data_ptrs_construct_viewports(void) { +void init_player_data_ptrs_construct_viewports(int playercount) +{ + int player; + + ptr_BONDdata_p1[0] = NULL; + ptr_BONDdata_p1[1] = NULL; + ptr_BONDdata_p1[2] = NULL; + ptr_BONDdata_p1[3] = NULL; + random_byte = get_random_value() & 0xff; + if (playercount < 1) { + initBONDdataforPlayer(0); + set_cur_player(0); + set_cur_player_screen_size( get_video2_settings_width(), get_video2_settings_height() ); + set_cur_player_viewport_size( get_video2_settings_ulx(), get_video2_settings_uly() ); + } + else { + for (player = 0; player != playercount; player++) + { + initBONDdataforPlayer(player); + } + set_cur_player(0); + } + return; } #else GLOBAL_ASM( @@ -7682,8 +7690,21 @@ glabel init_player_data_ptrs_construct_viewports #ifdef NONMATCHING -void get_num_players(void) { - +u32 get_num_players(void) +{ + u32 uVar1; + + uVar1 = (u32)(ptr_BONDdata_p1[0] != NULL); + if (ptr_BONDdata_p1[1] != NULL) { + uVar1 = (uint)(ptr_BONDdata_p1[0] != NULL) + 1; + } + if (ptr_BONDdata_p1[2] != NULL) { + uVar1 = uVar1 + 1; + } + if (ptr_BONDdata_p1[3] != NULL) { + uVar1 = uVar1 + 1; + } + return uVar1; } #else GLOBAL_ASM( @@ -7723,8 +7744,393 @@ glabel get_num_players #ifdef NONMATCHING -void initBONDdataforPlayer(void) { - +void initBONDdataforPlayer(PLAYER_ID player) +{ + int iVar1; + int iVar2; + Player **ppPVar3; + int *dest; + int *src; + int *src_next; + Player *pPVar4; + int array234undefined4 [234]; + int iStack4; + f32 temp_3f36e15f8e; + + src = init_BONDdata_related_8003fda0; + dest = array234undefined4; + do { + src_next = src + 3; + *dest = *src; + dest[1] = src[1]; + dest[2] = src[2]; + src = src_next; + dest = dest + 3; + } while (src_next != (int *)0x80040148); + pPVar4 = (Player *)mempAllocBytesInBank(0x2a80,4); + ppPVar3 = ptr_BONDdata_p1 + player; + *ppPVar3 = pPVar4; + pPVar4->unknown = 0; + (*ppPVar3)->xpos = 0.00000000; + (*ppPVar3)->ypos = 0.00000000; + (*ppPVar3)->zpos = 0.00000000; + (*ppPVar3)->xpos2 = 0.00000000; + (*ppPVar3)->ypos2 = 0.00000000; + (*ppPVar3)->zpos2 = 1.00000000; + (*ppPVar3)->xoffset = 0.00000000; + (*ppPVar3)->yoffset = 1.00000000; + (*ppPVar3)->zoffset = 0.00000000; + (*ppPVar3)->xpos3 = 0.00000000; + (*ppPVar3)->ypos3 = 0.00000000; + (*ppPVar3)->zpos3 = 0.00000000; + (*ppPVar3)->room_pointer = 0; + (*ppPVar3)->current_model_xpos = 0.00000000; + (*ppPVar3)->current_model_ypos = 0.00000000; + (*ppPVar3)->current_model_zpos = 0.00000000; + (*ppPVar3)->previous_model_xpos = 0.00000000; + (*ppPVar3)->previous_model_ypos = 0.00000000; + (*ppPVar3)->previous_model_zpos = 0.00000000; + (*ppPVar3)->current_room_xpos = 0.00000000; + (*ppPVar3)->current_room_ypos = 0.00000000; + (*ppPVar3)->current_room_zpos = 0.00000000; + (*ppPVar3)->field_6C = 0.00000000; + (*ppPVar3)->field_70 = 0.00000000; + (*ppPVar3)->clipping_height = 0.00000000; + (*ppPVar3)->field_78 = 0.00000000; + (*ppPVar3)->field_7C = 0.00000000; + (*ppPVar3)->field_80 = 0.00000000; + (*ppPVar3)->field_84 = 0.00000000; + (*ppPVar3)->field_88 = 0.00000000; + (*ppPVar3)->field_8C = 0; + (*ppPVar3)->field_90 = 0.00000000; + (*ppPVar3)->field_94 = 0; + (*ppPVar3)->field_98 = 0.00000000; + (*ppPVar3)->field_1274 = 0.00000000; + (*ppPVar3)->field_1278 = 0.00000000; + (*ppPVar3)->field_127C = 0.00000000; + (*ppPVar3)->crouchposition = 2; + (*ppPVar3)->field_29FC = 2; + (*ppPVar3)->ducking_height_offset = 0.00000000; + (*ppPVar3)->field_A4 = 0.00000000; + (*ppPVar3)->position_data_pointer = 0; + (*ppPVar3)->field_AC = 1; + (*ppPVar3)->field_D0 = 0; + (*ppPVar3)->ptr_char_objectinstance = 0; + (*ppPVar3)->bonddead = 0; + (*ppPVar3)->bondhealth = 1.00000000; + (*ppPVar3)->bondarmour = 0.00000000; + (*ppPVar3)->oldhealth = 1.00000000; + (*ppPVar3)->oldarmour = 0.00000000; + (*ppPVar3)->apparenthealth = 1.00000000; + (*ppPVar3)->apparentarmour = 0.00000000; + (*ppPVar3)->damageshowtime = -1; + (*ppPVar3)->healthshowtime = -1; + (*ppPVar3)->field_104 = 0; + (*ppPVar3)->field_108 = 0; + (*ppPVar3)->field_10C = 0; + (*ppPVar3)->movecentrerelease = 0; + (*ppPVar3)->lookaheadcentreenabled = 1; + (*ppPVar3)->automovecentreenabled = 1; + (*ppPVar3)->fastmovecentreenabled = 0; + (*ppPVar3)->automovecentre = 1; + (*ppPVar3)->insightaimmode = 0; + (*ppPVar3)->autoyaimenabled = 1; + (*ppPVar3)->autoaimy = 0.00000000; + (*ppPVar3)->autoyaimtime = 0; + (*ppPVar3)->autoyaimtime60 = -1; + (*ppPVar3)->autoxaimenabled = 1; + (*ppPVar3)->autoaimx = 0.00000000; + (*ppPVar3)->autoxaimtime = 0; + (*ppPVar3)->autoxaimtime60 = -1; + (*ppPVar3)->vv_theta = 0.00000000; + (*ppPVar3)->speedtheta = 0.00000000; + (*ppPVar3)->vv_costheta = 1.00000000; + (*ppPVar3)->vv_sintheta = 0.00000000; + (*ppPVar3)->vv_verta = -4.00000000; + (*ppPVar3)->vv_verta360 = -229.18310547; + (*ppPVar3)->speedverta = 0.00000000; + (*ppPVar3)->vv_cosverta = 1.00000000; + (*ppPVar3)->vv_sinverta = 0.00000000; + (*ppPVar3)->speedsideways = 0.00000000; + (*ppPVar3)->speedstrafe = 0.00000000; + (*ppPVar3)->speedforwards = 0.00000000; + (*ppPVar3)->field_2A4C = 0.00000000; + (*ppPVar3)->speedboost = 1.00000000; + (*ppPVar3)->boost_factor_x = 0.00000000; + (*ppPVar3)->boost_factor_y = 0.00000000; + (*ppPVar3)->boost_factor_z = 0.00000000; + (*ppPVar3)->viewport_alpha = -1.00000000; + (*ppPVar3)->bondfadetime60 = -1.00000000; + (*ppPVar3)->bondfadetimemax = 0.00000000; + (*ppPVar3)->bondfadefracold = 0.00000000; + (*ppPVar3)->bondfadefracnew = 0.00000000; + (*ppPVar3)->field_1A0 = 0; + (*ppPVar3)->field_1C0 = 0; + (*ppPVar3)->field_1C4 = 0; + (*ppPVar3)->pause_animation_state = 0; + (*ppPVar3)->paused_flag = 1; + (*ppPVar3)->open_close_solo_watch_menu = 0; + (*ppPVar3)->field_1D4 = 0.00000000; + (*ppPVar3)->field_1D8 = 0.00000000; + (*ppPVar3)->pause_watch_position = -25.00000000; + (*ppPVar3)->field_1E0 = 0.00000000; + (*ppPVar3)->field_1E4 = 1.00000000; + (*ppPVar3)->field_1E8 = 0.00000000; + (*ppPVar3)->field_1EC = 0.00000000; + (*ppPVar3)->field_1F0 = 0.00000000; + (*ppPVar3)->field_1F4 = 1.00000000; + (*ppPVar3)->pausing_flag = 0; + (*ppPVar3)->pause_starting_angle = 0.00000000; + (*ppPVar3)->field_208 = 0.00000000; + (*ppPVar3)->pause_target_angle = 0.00000000; + (*ppPVar3)->field_210 = 0.00000000; + (*ppPVar3)->field_214 = 0.00000000; + (*ppPVar3)->field_218 = 0; + (*ppPVar3)->field_21C = 1; + (*ppPVar3)->step_in_view_watch_animation = 0; + (*ppPVar3)->pause_animation_counter = 0.00000000; + (*ppPVar3)->field_3B4 = 0; + (*ppPVar3)->field_3B6 = 0; + (*ppPVar3)->field_3B8 = 0.00000000; + (*ppPVar3)->field_3BC = 0.00000000; + *(float *)&(*ppPVar3)->field_3C0 = 9.99999809; + (*ppPVar3)->field_3C4 = 0.00000000; + (*ppPVar3)->field_3C8 = 0.00000000; + (*ppPVar3)->field_3CC = 1.00000000; + (*ppPVar3)->tint_red = 0xff; + (*ppPVar3)->tint_green = 0xff; + (*ppPVar3)->tint_blue = 0xff; + (*ppPVar3)->tint_alpha = 0.00000000; + (*ppPVar3)->field_3E0 = -1.00000000; + (*ppPVar3)->timer_for_fade = -1.00000000; + (*ppPVar3)->field_3E8 = 0xff; + (*ppPVar3)->field_3EC = 0xff; + (*ppPVar3)->field_3F0 = 0xff; + (*ppPVar3)->field_3F4 = 0xff; + (*ppPVar3)->field_3F8 = 0xff; + (*ppPVar3)->field_3FC = 0xff; + (*ppPVar3)->field_400 = 0.00000000; + (*ppPVar3)->field_404 = 0.00000000; + (*ppPVar3)->cuff_value = CUFF_BLUE; + (*ppPVar3)->field_420 = 1; + (*ppPVar3)->field_424 = 0; + (*ppPVar3)->field_428 = 0; + (*ppPVar3)->field_42C = 2; + (*ppPVar3)->controlstyle = 0; + (*ppPVar3)->field_4DC = 1; + (*ppPVar3)->field_4E0 = 1; + (*ppPVar3)->field_4E4 = 1; + (*ppPVar3)->field_4E8 = 0; + (*ppPVar3)->field_4EC = 0.93000001; + (*ppPVar3)->field_4F0 = 0; + (*ppPVar3)->field_4F4 = 1.00000000; + (*ppPVar3)->field_4F8 = 1.00000000; + (*ppPVar3)->scaled_velocity = 0.00000000; + (*ppPVar3)->field_500 = 0.00000000; + (*ppPVar3)->field_504 = 0.00000000; + (*ppPVar3)->field_508 = 0.00000000; + (*ppPVar3)->field_50C = 0.00000000; + (*ppPVar3)->field_510 = 1.00000000; + (*ppPVar3)->field_514 = 0.00000000; + (*ppPVar3)->field_518 = 1.00000000; + (*ppPVar3)->field_51C = 0.00000000; + (*ppPVar3)->velocity = 0.00000000; + (*ppPVar3)->field_524 = 0.00000000; + (*ppPVar3)->field_528 = 0.00000000; + (*ppPVar3)->field_52C = 0.00000000; + (*ppPVar3)->field_530 = 0.00000000; + *(f32 *)&(*ppPVar3)->field_534 = 14.28571606; + (*ppPVar3)->field_538 = 0; + (*ppPVar3)->field_53C = 14.28571606; + (*ppPVar3)->field_540 = 0.00000000; + (*ppPVar3)->field_544 = 0.00000000; + (*ppPVar3)->field_548 = 0.00000000; + (*ppPVar3)->field_54C = 0.00000000; + (*ppPVar3)->stationary_ground_offset = 0.00000000; + (*ppPVar3)->field_554 = 0.00000000; + (*ppPVar3)->field_558 = 0.00000000; + (*ppPVar3)->field_55C = 0.00000000; + (*ppPVar3)->field_560 = 0.00000000; + (*ppPVar3)->field_564 = 0.00000000; + (*ppPVar3)->field_568 = 0.00000000; + (*ppPVar3)->field_56C = 1.00000000; + (*ppPVar3)->field_570 = 0.00000000; + (*ppPVar3)->field_574 = 0.00000000; + (*ppPVar3)->field_578 = 1.00000000; + (*ppPVar3)->field_57C = 0.00000000; + (*ppPVar3)->field_580 = 1.00000000; + (*ppPVar3)->field_584 = 0.00000000; + (*ppPVar3)->field_588 = 0.00000000; + (*ppPVar3)->field_58C = 1.00000000; + (*ppPVar3)->field_590 = 0.00000000; + (*ppPVar3)->field_594 = 0; + iVar1 = 0; + do { + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D0 + iVar1) = 0x280; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D2 + iVar1) = 0x1e0; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D4 + iVar1) = 0x1ff; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D6 + iVar1) = 0; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D8 + iVar1) = 0x280; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DA + iVar1) = 0x1e0; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DC + iVar1) = 0x1ff; + iVar2 = iVar1 + 0x10; + *(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DE + iVar1) = 0; + iVar1 = iVar2; + } while (iVar2 != 0x20); + (*ppPVar3)->viewx = 100; + (*ppPVar3)->viewy = 100; + (*ppPVar3)->viewleft = 0; + (*ppPVar3)->viewtop = 0; + (*ppPVar3)->hand_invisible[0] = 0; + (*ppPVar3)->hand_invisible[1] = 0; + (*ppPVar3)->hand_item[0] = ITEM_UNARMED; + (*ppPVar3)->hand_item[1] = ITEM_UNARMED; + (*ppPVar3)->field_2A44[0] = -1; + (*ppPVar3)->field_2A44[1] = -1; + (*ppPVar3)->lock_hand_model[0] = 0; + (*ppPVar3)->lock_hand_model[1] = 0; + (*ppPVar3)->ptr_hand_weapon_buffer[0] = NULL; + (*ppPVar3)->ptr_hand_weapon_buffer[1] = NULL; + pPVar4 = *ppPVar3; + src = array234undefined4; + do { + dest = src + 3; + pPVar4->right_weapon = *src; + pPVar4->right_weapon_attack = src[1]; + pPVar4->previous_right_weapon = src[2]; + pPVar4 = (Player *)&pPVar4->zpos; + src = dest; + } while (dest != &iStack4); + src = array234undefined4; + pPVar4 = *ppPVar3; + do { + dest = src + 3; + pPVar4->left_weapon = *src; + pPVar4->left_weapon_attack = src[1]; + pPVar4->left_weapon_previous = src[2]; + src = dest; + pPVar4 = (Player *)&pPVar4->zpos; + } while (dest != &iStack4); + (*ppPVar3)->field_FC0 = 1.00000000; + (*ppPVar3)->field_FC4 = 1.00000000; + (*ppPVar3)->field_FC8 = 0; + (*ppPVar3)->field_FCC = 0; + (*ppPVar3)->field_FD0 = 0; + (*ppPVar3)->field_FD4 = 0; + (*ppPVar3)->field_FD8 = 0; + (*ppPVar3)->field_FDC = -1; + (*ppPVar3)->field_FDD = -1; + (*ppPVar3)->field_FDE = -1; + (*ppPVar3)->field_FDF = '\0'; + (*ppPVar3)->field_FE0 = 1; + (*ppPVar3)->field_FE4 = 0; + (*ppPVar3)->field_FE8 = 0.00000000; + (*ppPVar3)->field_FEC = 0.00000000; + (*ppPVar3)->field_FF0 = 0.00000000; + (*ppPVar3)->field_FF4 = 0.00000000; + (*ppPVar3)->field_FF8 = 0.89999998; + (*ppPVar3)->field_FFC = 0.00000000; + (*ppPVar3)->field_1000 = 0.00000000; + (*ppPVar3)->field_1004 = 0.00000000; + (*ppPVar3)->field_1008 = 0.00000000; + (*ppPVar3)->field_100C = 0.89999998; + (*ppPVar3)->field_1010 = 0.00000000; + (*ppPVar3)->holds_neg_pi = -3.14159274; + (*ppPVar3)->field_1018 = 0.00000000; + (*ppPVar3)->field_105C = 0; + (*ppPVar3)->copiedgoldeneye = 0; + (*ppPVar3)->somekinda_flags = 0; + (*ppPVar3)->field_106C = 0.00000000; + (*ppPVar3)->field_1070 = 0.00000000; + (*ppPVar3)->field_1074 = 0.00000000; + (*ppPVar3)->field_1078 = 0; + (*ppPVar3)->field_107C = 0.00000000; + (*ppPVar3)->field_1080 = 0.00000000; + (*ppPVar3)->sniper_zoom = 60.00000000; + (*ppPVar3)->camera_zoom = 60.00000000; + (*ppPVar3)->field_108C = -1; + (*ppPVar3)->c_screenwidth = 320.00000000; + (*ppPVar3)->c_screenheight = 240.00000000; + (*ppPVar3)->c_screenleft = 0.00000000; + (*ppPVar3)->c_screentop = 0.00000000; + (*ppPVar3)->c_perspnear = 10.00000000; + (*ppPVar3)->c_perspfovy = 46.00000000; + (*ppPVar3)->c_perspaspect = 1.00000000; + (*ppPVar3)->c_halfwidth = 160.00000000; + (*ppPVar3)->c_halfheight = 120.00000000; + (*ppPVar3)->c_scalex = 1.00000000; + (*ppPVar3)->c_scaley = 1.00000000; + (*ppPVar3)->c_recipscalex = 1.00000000; + (*ppPVar3)->c_recipscaley = 1.00000000; + (*ppPVar3)->field_10C4 = 0; + (*ppPVar3)->field_10C8 = 0; + (*ppPVar3)->field_10CC = 0; + (*ppPVar3)->field_10D0 = 0; + (*ppPVar3)->field_10D4 = 0; + (*ppPVar3)->field_10D8 = 0; + (*ppPVar3)->field_10DC = 0; + (*ppPVar3)->field_10E0 = 0; + (*ppPVar3)->field_10E4 = 0; + (*ppPVar3)->field_10E8 = 0; + (*ppPVar3)->field_10EC = 0; + (*ppPVar3)->c_scalelod60 = 1.00000000; + (*ppPVar3)->c_scalelod = 1.00000000; + (*ppPVar3)->c_lodscalez = 1.00000000; + (*ppPVar3)->c_lodscalezu32 = 0x10000; + (*ppPVar3)->screenxminf = 0.00000000; + (*ppPVar3)->screenyminf = 0.00000000; + (*ppPVar3)->screenxmaxf = 320.00000000; + (*ppPVar3)->screenymaxf = 240.00000000; + (*ppPVar3)->somekinda_bitflags = 0; + (*ppPVar3)->field_11B0 = 0; + (*ppPVar3)->field_11B4 = 0; + (*ppPVar3)->field_11B8 = 0; + (*ppPVar3)->zoomintime = 0.00000000; + (*ppPVar3)->zoomintimemax = 0.00000000; + (*ppPVar3)->zoominfovy = 60.00000000; + (*ppPVar3)->zoominfovyold = 60.00000000; + (*ppPVar3)->zoominfovynew = 60.00000000; + (*ppPVar3)->fovy = 60.00000000; + (*ppPVar3)->aspect = 1.33333337; + (*ppPVar3)->hudmessoff = 0; + (*ppPVar3)->bondmesscnt = -1; + (*ppPVar3)->ptr_inventory_first_in_cycle = 0; + (*ppPVar3)->p_itemcur = 0; + (*ppPVar3)->equipmaxitems = 0; + (*ppPVar3)->equipallguns = 0; + (*ppPVar3)->field_11F0 = 0; + (*ppPVar3)->field_11F4 = 0; + (*ppPVar3)->field_1280 = 0; + (*ppPVar3)->players_cur_animation = 0; + (*ppPVar3)->field_1288 = 0.00000000; + (*ppPVar3)->bondinvincible = '\0'; + (*ppPVar3)->field_29B8 = 7; + (*ppPVar3)->field_29BC = 1.00000000; + (*ppPVar3)->field_29C0 = 0.00000000; + (*ppPVar3)->mpmenuon = 0; + (*ppPVar3)->damagetype = 7; + (*ppPVar3)->deathcount = 0; + (*ppPVar3)->field_29E0 = random_byte; + random_byte = random_byte + 1; + (*ppPVar3)->field_29E4 = -1; + (*ppPVar3)->field_29E8 = -1; + (*ppPVar3)->field_29EC = -1; + (*ppPVar3)->field_29F0 = -1; + (*ppPVar3)->healthdisplaytime = 0; + (*ppPVar3)->field_2A30 = 0; + (*ppPVar3)->field_2A34 = 0; + (*ppPVar3)->cur_item_weapon_getname = 1; + (*ppPVar3)->actual_health = 1.00000000; + (*ppPVar3)->actual_armor = 1.00000000; + (*ppPVar3)->cur_player_control_type_0 = 0; + (*ppPVar3)->cur_player_control_type_1 = 0; + (*ppPVar3)->cur_player_control_type_2 = 0.00000000; + (*ppPVar3)->neg_vspacing_for_control_type_entry = 0; + (*ppPVar3)->has_set_control_type_data = 1; + (*ppPVar3)->field_2A6C = 0; + (*ppPVar3)->field_2A70 = 0; + visible_to_guards_flag = TRUE; + obj_collision_flag = TRUE; } #else #ifdef VERSION_US @@ -7764,7 +8170,7 @@ glabel initBONDdataforPlayer /* 0CF024 7F09A4F4 15EBFFF8 */ bne $t7, $t3, .L7F09A4D8 /* 0CF028 7F09A4F8 ADC1FFFC */ sw $at, -4($t6) /* 0CF02C 7F09A4FC 24042A80 */ li $a0, 10880 -/* 0CF030 7F09A500 0C0025C8 */ jal allocate_bytes_in_bank +/* 0CF030 7F09A500 0C0025C8 */ jal mempAllocBytesInBank /* 0CF034 7F09A504 24050004 */ li $a1, 4 /* 0CF038 7F09A508 8FAC03D0 */ lw $t4, 0x3d0($sp) /* 0CF03C 7F09A50C 3C198008 */ lui $t9, %hi(ptr_BONDdata_p1) @@ -8578,7 +8984,7 @@ glabel initBONDdataforPlayer /* 0CFC04 7F09B094 15EBFFF8 */ bne $t7, $t3, .L7F09B078 /* 0CFC08 7F09B098 ADC1FFFC */ sw $at, -4($t6) /* 0CFC0C 7F09B09C 24042A80 */ li $a0, 10880 -/* 0CFC10 7F09B0A0 0C0025CC */ jal allocate_bytes_in_bank +/* 0CFC10 7F09B0A0 0C0025CC */ jal mempAllocBytesInBank /* 0CFC14 7F09B0A4 24050004 */ li $a1, 4 /* 0CFC18 7F09B0A8 8FAC03D0 */ lw $t4, 0x3d0($sp) /* 0CFC1C 7F09B0AC 3C198008 */ lui $t9, %hi(ptr_BONDdata_p1) # $t9, 0x8008 @@ -9360,11 +9766,11 @@ glabel initBONDdataforPlayer #ifdef NONMATCHING -void set_cur_player(s32 arg0) { - // Node 0 - player_num = arg0; - pPlayer = (u32) *(&ptr_BONDdata_p1 + (arg0 * 4)); - cur_player_stat_ptr = (s32) ((arg0 * 0x70) + &player1_player_data); +void set_cur_player(PLAYER_ID playernum) +{ + pPlayer = ptr_BONDdata_p1[playernum]; + pPlayersPerm = player1_playerdata[playernum]; + player_num = playernum; return; } #else @@ -9384,10 +9790,10 @@ glabel set_cur_player /* 0CFC64 7F09B134 27399EF0 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x6110 /* 0CFC68 7F09B138 0018C100 */ sll $t8, $t8, 4 /* 0CFC6C 7F09B13C AC2FA0B0 */ sw $t7, %lo(pPlayer)($at) -/* 0CFC70 7F09B140 3C018008 */ lui $at, %hi(cur_player_stat_ptr) +/* 0CFC70 7F09B140 3C018008 */ lui $at, %hi(pPlayersPerm) /* 0CFC74 7F09B144 03194021 */ addu $t0, $t8, $t9 /* 0CFC78 7F09B148 03E00008 */ jr $ra -/* 0CFC7C 7F09B14C AC28A0B4 */ sw $t0, %lo(cur_player_stat_ptr)($at) +/* 0CFC7C 7F09B14C AC28A0B4 */ sw $t0, %lo(pPlayersPerm)($at) ) #endif @@ -9404,8 +9810,28 @@ s32 get_cur_playernum(void) { #ifdef NONMATCHING -void sub_GAME_7F09B15C(void) { - +void proc_7F09B15C(int position_data_pointer) +{ + Player *pPVar1; + s32 numplayers; + Player **ppPVar2; + int i; + + i = 0; + numplayers = get_num_players(); + if (0 < numplayers) { + ppPVar2 = ptr_BONDdata_p1; + pPVar1 = ptr_BONDdata_p1[0]; + while (ppPVar2 = ppPVar2 + 1, position_data_pointer != pPVar1->position_data_pointer) { + i = i + 1; + numplayers = get_num_players(); + if (numplayers <= i) { + return; + } + pPVar1 = *ppPVar2; + } + } + return; } #else GLOBAL_ASM( @@ -9464,15 +9890,15 @@ void set_cur_player_viewport_size(u32 ulx, u32 uly) { pPlayer->viewtop = uly; } -void sub_GAME_7F09B214(f32 arg0) { - pPlayer->fovy = arg0; +void set_cur_player_fovy(f32 fovy) { + pPlayer->fovy = fovy; } -void sub_GAME_7F09B224(f32 arg0) { - pPlayer->aspect = arg0; +void set_cur_player_aspect(f32 aspect) { + pPlayer->aspect = aspect; } -f32 sub_GAME_7F09B234(void) { +f32 get_cur_player_fovy(void) { return pPlayer->fovy; } @@ -9941,61 +10367,29 @@ glabel sub_GAME_7F09B4D8 #ifdef NONMATCHING -s32 sub_GAME_7F09B528(s32 arg0) { - s32 phi_a0; - s32 phi_a0_2; - s32 phi_a0_3; - - // Node 0 - phi_a0 = arg0; - if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C0 * 4)) != 0) - { - // Node 1 - if (arg0 == 0) - { - // Node 2 +int proc_7F09B528(int param_1) +{ + if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C0] != NULL) { + if (param_1 == 0) { return dword_CODE_bss_8007A0C0; } - // Node 3 - phi_a0 = (arg0 + -1); + param_1--; } - // Node 4 - phi_a0_2 = phi_a0; - if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C4 * 4)) != 0) - { - // Node 5 - if (phi_a0 == 0) - { - // Node 6 + if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C4] != NULL) { + if (param_1 == 0) { return dword_CODE_bss_8007A0C4; } - // Node 7 - phi_a0_2 = (phi_a0 + -1); + param_1--; } - // Node 8 - phi_a0_3 = phi_a0_2; - if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C8 * 4)) != 0) - { - // Node 9 - if (phi_a0_2 == 0) - { - // Node 10 + if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C8] != NULL) { + if (param_1 == 0) { return dword_CODE_bss_8007A0C8; } - // Node 11 - phi_a0_3 = (phi_a0_2 + -1); + param_1--; } - // Node 12 - if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0CC * 4)) != 0) - { - // Node 13 - if (phi_a0_3 == 0) - { - // Node 14 - return dword_CODE_bss_8007A0CC; - } + if ((ptr_BONDdata_p1[dword_CODE_bss_8007A0CC] != NULL) && (param_1 == 0)) { + return dword_CODE_bss_8007A0CC; } - // Node 15 return 0; } #else diff --git a/src/game/unk_093880.h b/src/game/unk_093880.h index d9ad83d7..61e33746 100644 --- a/src/game/unk_093880.h +++ b/src/game/unk_093880.h @@ -42,6 +42,6 @@ extern struct player_data player2_player_data; extern struct player_data player3_player_data; extern struct player_data player4_player_data; -extern struct Player *pPlayer; -extern struct player_data *cur_player_stat_ptr; +extern struct Player * pPlayer; +extern struct player_data *pPlayersPerm; #endif diff --git a/src/game/unk_09B7A0.c b/src/game/unk_09B7A0.c index 3482a2fc..d322af87 100644 --- a/src/game/unk_09B7A0.c +++ b/src/game/unk_09B7A0.c @@ -164,7 +164,7 @@ glabel sub_GAME_7F09B820 /* 0D042C 7F09B8FC 24050004 */ li $a1, 4 /* 0D0430 7F09B900 00045880 */ sll $t3, $a0, 2 /* 0D0434 7F09B904 01645821 */ addu $t3, $t3, $a0 -/* 0D0438 7F09B908 0C0025C8 */ jal allocate_bytes_in_bank +/* 0D0438 7F09B908 0C0025C8 */ jal mempAllocBytesInBank /* 0D043C 7F09B90C 000B2080 */ sll $a0, $t3, 2 /* 0D0440 7F09B910 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A0E8) /* 0D0444 7F09B914 24C6A0E8 */ addiu $a2, %lo(dword_CODE_bss_8007A0E8) # addiu $a2, $a2, -0x5f18 @@ -173,7 +173,7 @@ glabel sub_GAME_7F09B820 /* 0D0450 7F09B920 8C84A0D0 */ lw $a0, %lo(dword_CODE_bss_8007A0D0)($a0) /* 0D0454 7F09B924 24050004 */ li $a1, 4 /* 0D0458 7F09B928 00046100 */ sll $t4, $a0, 4 -/* 0D045C 7F09B92C 0C0025C8 */ jal allocate_bytes_in_bank +/* 0D045C 7F09B92C 0C0025C8 */ jal mempAllocBytesInBank /* 0D0460 7F09B930 01802025 */ move $a0, $t4 /* 0D0464 7F09B934 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC) /* 0D0468 7F09B938 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0E0) @@ -183,7 +183,7 @@ glabel sub_GAME_7F09B820 /* 0D0478 7F09B948 24050004 */ li $a1, 4 /* 0D047C 7F09B94C 00046880 */ sll $t5, $a0, 2 /* 0D0480 7F09B950 01A46821 */ addu $t5, $t5, $a0 -/* 0D0484 7F09B954 0C0025C8 */ jal allocate_bytes_in_bank +/* 0D0484 7F09B954 0C0025C8 */ jal mempAllocBytesInBank /* 0D0488 7F09B958 000D2080 */ sll $a0, $t5, 2 /* 0D048C 7F09B95C 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0EC) /* 0D0490 7F09B960 24E7A0EC */ addiu $a3, %lo(dword_CODE_bss_8007A0EC) # addiu $a3, $a3, -0x5f14 @@ -192,7 +192,7 @@ glabel sub_GAME_7F09B820 /* 0D049C 7F09B96C 8C84A0D8 */ lw $a0, %lo(dword_CODE_bss_8007A0D8)($a0) /* 0D04A0 7F09B970 24050004 */ li $a1, 4 /* 0D04A4 7F09B974 00047100 */ sll $t6, $a0, 4 -/* 0D04A8 7F09B978 0C0025C8 */ jal allocate_bytes_in_bank +/* 0D04A8 7F09B978 0C0025C8 */ jal mempAllocBytesInBank /* 0D04AC 7F09B97C 01C02025 */ move $a0, $t6 /* 0D04B0 7F09B980 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_8007A0D0) /* 0D04B4 7F09B984 254AA0D0 */ addiu $t2, %lo(dword_CODE_bss_8007A0D0) # addiu $t2, $t2, -0x5f30 diff --git a/src/game/unk_09C250.c b/src/game/unk_09C250.c index c932018c..625f1321 100644 --- a/src/game/unk_09C250.c +++ b/src/game/unk_09C250.c @@ -2189,8 +2189,8 @@ glabel sub_GAME_7F09D5A0 /* 0D21B4 7F09D684 3C19BC00 */ lui $t9, (0xBC000806 >> 16) # lui $t9, 0xbc00 /* 0D21B8 7F09D688 37390806 */ ori $t9, (0xBC000806 & 0xFFFF) # ori $t9, $t9, 0x806 /* 0D21BC 7F09D68C AC590000 */ sw $t9, ($v0) -/* 0D21C0 7F09D690 3C048009 */ lui $a0, %hi(ptr_explosionDL) -/* 0D21C4 7F09D694 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0) +/* 0D21C0 7F09D690 3C048009 */ lui $a0, %hi(pGlobalimagetable) +/* 0D21C4 7F09D694 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0) /* 0D21C8 7F09D698 00408025 */ move $s0, $v0 /* 0D21CC 7F09D69C 0C003A2C */ jal osVirtualToPhysical /* 0D21D0 7F09D6A0 24540008 */ addiu $s4, $v0, 8 @@ -4088,8 +4088,8 @@ glabel sub_GAME_7F09F03C /* 0D3C74 7F09F144 35080806 */ ori $t0, (0xBC000806 & 0xFFFF) # ori $t0, $t0, 0x806 /* 0D3C78 7F09F148 02409825 */ move $s3, $s2 /* 0D3C7C 7F09F14C AE680000 */ sw $t0, ($s3) -/* 0D3C80 7F09F150 3C048009 */ lui $a0, %hi(ptr_explosionDL) -/* 0D3C84 7F09F154 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0) +/* 0D3C80 7F09F150 3C048009 */ lui $a0, %hi(pGlobalimagetable) +/* 0D3C84 7F09F154 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0) /* 0D3C88 7F09F158 0C003A2C */ jal osVirtualToPhysical /* 0D3C8C 7F09F15C 26520008 */ addiu $s2, $s2, 8 /* 0D3C90 7F09F160 AE620004 */ sw $v0, 4($s3) @@ -5166,8 +5166,8 @@ glabel sub_GAME_7F0A0034 /* 0D4BB0 7F0A0080 37180806 */ ori $t8, (0xBC000806 & 0xFFFF) # ori $t8, $t8, 0x806 /* 0D4BB4 7F0A0084 02008825 */ move $s1, $s0 /* 0D4BB8 7F0A0088 AE380000 */ sw $t8, ($s1) -/* 0D4BBC 7F0A008C 3C048009 */ lui $a0, %hi(ptr_explosionDL) -/* 0D4BC0 7F0A0090 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0) +/* 0D4BBC 7F0A008C 3C048009 */ lui $a0, %hi(pGlobalimagetable) +/* 0D4BC0 7F0A0090 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0) /* 0D4BC4 7F0A0094 0C003A2C */ jal osVirtualToPhysical /* 0D4BC8 7F0A0098 26100008 */ addiu $s0, $s0, 8 /* 0D4BCC 7F0A009C 02001825 */ move $v1, $s0 @@ -6359,7 +6359,7 @@ glabel sub_GAME_7F0A108C /* 0D5C10 7F0A10E0 8DC10008 */ lw $at, 8($t6) /* 0D5C14 7F0A10E4 AEA10008 */ sw $at, 8($s5) /* 0D5C18 7F0A10E8 8DD9000C */ lw $t9, 0xc($t6) -/* 0D5C1C 7F0A10EC 0FC249EF */ jal sub_GAME_7F0927BC +/* 0D5C1C 7F0A10EC 0FC249EF */ jal cheatCheckIfOn /* 0D5C20 7F0A10F0 AEB9000C */ sw $t9, 0xc($s5) /* 0D5C24 7F0A10F4 10400003 */ beqz $v0, .L7F0A1104 /* 0D5C28 7F0A10F8 3C0A8004 */ lui $t2, %hi(D_8004080C) @@ -7212,24 +7212,10 @@ glabel sub_GAME_7F0A1A94 -#ifdef NONMATCHING -void sub_GAME_7F0A1D78(void) { +void sub_GAME_7F0A1D78(u32 *param_1) +{ + sub_GAME_7F0A1A94(param_1,0,0); } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A1D78 -/* 0D68A8 7F0A1D78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D68AC 7F0A1D7C AFBF0014 */ sw $ra, 0x14($sp) -/* 0D68B0 7F0A1D80 00002825 */ move $a1, $zero -/* 0D68B4 7F0A1D84 0FC286A5 */ jal sub_GAME_7F0A1A94 -/* 0D68B8 7F0A1D88 00003025 */ move $a2, $zero -/* 0D68BC 7F0A1D8C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D68C0 7F0A1D90 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D68C4 7F0A1D94 03E00008 */ jr $ra -/* 0D68C8 7F0A1D98 00000000 */ nop -) -#endif diff --git a/src/game/unk_0BC530.c b/src/game/unk_0BC530.c index 283e5eaa..e82514b7 100644 --- a/src/game/unk_0BC530.c +++ b/src/game/unk_0BC530.c @@ -385,7 +385,7 @@ glabel sub_GAME_7F0BC85C /* 0F143C 7F0BC90C 8D4B108C */ lw $t3, 0x108c($t2) /* 0F1440 7F0BC910 002C0821 */ addu $at, $at, $t4 /* 0F1444 7F0BC914 27A4002C */ addiu $a0, $sp, 0x2c -/* 0F1448 7F0BC918 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0F1448 7F0BC918 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0F144C 7F0BC91C AC2B3900 */ sw $t3, %lo(dword_CODE_bss_80083900)($at) /* 0F1450 7F0BC920 8FAE0070 */ lw $t6, 0x70($sp) /* 0F1454 7F0BC924 3C018004 */ lui $at, %hi(room_data_float2) diff --git a/src/game/unk_0C0A70.c b/src/game/unk_0C0A70.c index 247dba6b..2b1c6718 100644 --- a/src/game/unk_0C0A70.c +++ b/src/game/unk_0C0A70.c @@ -19,36 +19,13 @@ s32 D_800484B4 = 1; -#ifdef NONMATCHING -void store_osgetcount(void) { - u32 temp_ret; - temp_ret = osGetCount(); - copy_of_osgetcount_value_1 = temp_ret; - copy_of_osgetcount_value_0 = temp_ret; +void store_osgetcount(void) +{ + copy_of_osgetcount_value_1 = osGetCount(); + copy_of_osgetcount_value_0 = copy_of_osgetcount_value_1; } -#else -GLOBAL_ASM( -.text -glabel store_osgetcount -/* 0F55A0 7F0C0A70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0F55A4 7F0C0A74 AFBF0014 */ sw $ra, 0x14($sp) -/* 0F55A8 7F0C0A78 0C003638 */ jal osGetCount -/* 0F55AC 7F0C0A7C 00000000 */ nop -/* 0F55B0 7F0C0A80 8FBF0014 */ lw $ra, 0x14($sp) -/* 0F55B4 7F0C0A84 3C038005 */ lui $v1, %hi(copy_of_osgetcount_value_1) -/* 0F55B8 7F0C0A88 246384B0 */ addiu $v1, %lo(copy_of_osgetcount_value_1) # addiu $v1, $v1, -0x7b50 -/* 0F55BC 7F0C0A8C AC620000 */ sw $v0, ($v1) -/* 0F55C0 7F0C0A90 3C018005 */ lui $at, %hi(copy_of_osgetcount_value_0) -/* 0F55C4 7F0C0A94 AC2284AC */ sw $v0, %lo(copy_of_osgetcount_value_0)($at) -/* 0F55C8 7F0C0A98 03E00008 */ jr $ra -/* 0F55CC 7F0C0A9C 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - #ifdef NONMATCHING diff --git a/src/game/unk_0CC4C0.c b/src/game/unk_0CC4C0.c index f7e0b5ef..617d1116 100644 --- a/src/game/unk_0CC4C0.c +++ b/src/game/unk_0CC4C0.c @@ -2764,7 +2764,7 @@ glabel process_microcode_sort_display_modes_expand_image_calls .L7F0CE258: /* 102D88 7F0CE258 0000A025 */ move $s4, $zero .L7F0CE25C: -/* 102D8C 7F0CE25C 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 102D8C 7F0CE25C 0FC32FBA */ jal calls_load_image_to_buffer /* 102D90 7F0CE260 02602025 */ move $a0, $s3 /* 102D94 7F0CE264 02602025 */ move $a0, $s3 /* 102D98 7F0CE268 0FC32EC3 */ jal sub_GAME_7F0CBB0C @@ -2887,7 +2887,7 @@ glabel process_microcode_sort_display_modes_expand_image_calls /* 102F5C 7F0CE42C 02C02825 */ move $a1, $s6 /* 102F60 7F0CE430 00047B02 */ srl $t7, $a0, 0xc /* 102F64 7F0CE434 31E40FFF */ andi $a0, $t7, 0xfff -/* 102F68 7F0CE438 0FC32FBA */ jal sub_GAME_7F0CBEE8 +/* 102F68 7F0CE438 0FC32FBA */ jal calls_load_image_to_buffer /* 102F6C 7F0CE43C AFA40080 */ sw $a0, 0x80($sp) /* 102F70 7F0CE440 8FA40080 */ lw $a0, 0x80($sp) /* 102F74 7F0CE444 0FC32EC3 */ jal sub_GAME_7F0CBB0C diff --git a/src/game/viewport.c b/src/game/viewport.c index 113713c6..fd2a2c52 100644 --- a/src/game/viewport.c +++ b/src/game/viewport.c @@ -61,7 +61,7 @@ glabel allocate_viewport_buffer /* 106F3C 7F0D240C 014B0019 */ multu $t2, $t3 /* 106F40 7F0D2410 00002012 */ mflo $a0 /* 106F44 7F0D2414 00046040 */ sll $t4, $a0, 1 -/* 106F48 7F0D2418 0C0025C8 */ jal allocate_bytes_in_bank +/* 106F48 7F0D2418 0C0025C8 */ jal mempAllocBytesInBank /* 106F4C 7F0D241C 25840040 */ addiu $a0, $t4, 0x40 /* 106F50 7F0D2420 8FBF0014 */ lw $ra, 0x14($sp) /* 106F54 7F0D2424 3C038005 */ lui $v1, %hi(viewport_img) diff --git a/src/game/watch.c b/src/game/watch.c index 3905f338..7ac15198 100644 --- a/src/game/watch.c +++ b/src/game/watch.c @@ -1,6 +1,9 @@ #include "ultra64.h" #include "game/unk_093880.h" #include "game/unk_0A1DA0.h" +#include "game/mainmenu.h" +#include "game/lvl_text.h" +#include "music.h" // bss char dword_CODE_bss_8007B0A0[0x40]; @@ -23,19 +26,19 @@ s32 D_800409B4 = 0; //D:800409B8 s32 D_800409B8 = 0; //D:800409BC -s32 D_800409BC = 0; +f32 D_800409BC = 0.0f; //D:800409C0 s32 D_800409C0 = 0; //D:800409C4 s32 D_800409C4 = 0; //D:800409C8 -s32 D_800409C8 = 0; +f32 D_800409C8 = 0.0f; //D:800409CC -s32 D_800409CC = 0; +f32 D_800409CC = 0.0f; //D:800409D0 -s32 D_800409D0 = 0xFFFFFFFF; +s32 D_800409D0 = -1; //D:800409D4 -s32 D_800409D4 = 0; +f32 D_800409D4 = 0.0f; //D:800409D8 s32 D_800409D8 = 8; //D:800409DC @@ -101,11 +104,11 @@ u32 D_80040AE0 = 0; //D:80040AE4 u32 D_80040AE4 = 0; //D:80040AE8 -f32 D_80040AE8 = 0.0; +f32 D_80040AE8 = 0.0f; //D:80040AEC -f32 D_80040AEC = 0.0; +f32 D_80040AEC = 0.0f; //D:80040AF0 -u32 D_80040AF0 = 0x42340000; +f32 D_80040AF0 = 45.0f; //D:80040AF4 u32 D_80040AF4 = 0xFF00A0; //D:80040AF8 @@ -123,25 +126,25 @@ u32 D_80040B0C = 0xFFA0; //D:80040B10 u32 D_80040B10 = 0xF800; //D:80040B14 -u32 D_80040B14 = 0; +f32 D_80040B14 = 0.0f; //D:80040B18 -u32 D_80040B18 = 0; +f32 D_80040B18 = 0.0f; //D:80040B1C -u32 D_80040B1C = 0x40200000; +f32 D_80040B1C = 2.5f; //D:80040B20 -u32 D_80040B20 = 0; +f32 D_80040B20 = 0.0f; //D:80040B24 -u32 D_80040B24 = 0; +f32 D_80040B24 = 0.0f; //D:80040B28 -u32 D_80040B28 = 0; +f32 D_80040B28 = 0.0f; //D:80040B2C u32 D_80040B2C = 0; //D:80040B30 -u32 D_80040B30 = 0; +f32 D_80040B30 = 0.0f; //D:80040B34 -u32 D_80040B34 = 0; +f32 D_80040B34 = 0.0f; //D:80040B38 -u32 D_80040B38 = 0; +f32 D_80040B38 = 0.0f; //D:80040B3C u32 D_80040B3C = 0; //D:80040B40 @@ -157,7 +160,7 @@ u32 D_80040B50 = 0x32; //D:80040B54 u32 D_80040B54 = 0x32; //D:80040B58 -u16 D_80040B58 = 0x7FFF; +u16 mTrack2Vol = 0x7FFF; //D:80040B5C u32 D_80040B5C = 0; //D:80040B60 @@ -361,8 +364,71 @@ void nullsub_7F0A4860(void) { #ifdef NONMATCHING -void init_watch_at_start_of_stage(void) { +void init_watch_at_start_of_stage(void) +{ + D_80040994 = 0; + D_80040998 = 0; + D_8004099C = 0; + D_800409A0 = 4; + D_800409A4 = 0; + watch_soundrelated_maybe = 0; + D_800409AC = 0; + D_800409B0 = 0; + D_800409B4 = 0; + D_800409B8 = 0; + D_800409BC = 0.0f; + D_800409C0 = 0; + D_800409C4 = 0; + D_800409C8 = 0.0f; + D_800409CC = 0.0f; + D_800409D0 = -1; + D_800409D4 = 0.0f; + if (!j_text_trigger) + {;} + else + { + pPlayer->neg_vspacing_for_control_type_entry = 0; + pPlayer->cur_player_control_type_1 = 0; + pPlayer->cur_player_control_type_0 = 0; + pPlayer->cur_player_control_type_2 = 0.0f; + pPlayer->has_set_control_type_data = 1; + } + + D_800409D8 = 8; + controlstick_lr_enabled = 0; + D_80040AE0 = 0; + D_80040AE4 = 0; + D_80040AE8 = 0.0f; + D_80040AEC = 0.0f; + D_80040AF0 = 45.0f; + D_80040AF4 = 0xff00a0; + D_80040AF8 = 10; + D_80040AFC = 0xff; + D_80040B00 = 10; + D_80040B04 = 0xe0; + D_80040B08 = 0; + D_80040B0C = 0xffa0; + D_80040B10 = 0xf800; + D_80040B14 = 0.0f; + D_80040B18 = 0.0f; + D_80040B1C = 2.5f; + D_80040B20 = 0.0f; + D_80040B24 = 0.0f; + D_80040B28 = 0.0f; + D_80040B2C = 0; + D_80040B30 = 0.0f; + D_80040B34 = 0.0f; + D_80040B38 = 0.0f; + D_80040B3C = 0; + D_80040B40 = 0; + D_80040B44 = 1; + D_80040B48 = 0x32; + D_80040B4C = 0x32; + D_80040B50 = 0x32; + D_80040B54 = 0x32; + sub_GAME_7F01D500(1,0xa); + mission_failed_or_aborted = FALSE; } #else GLOBAL_ASM( @@ -516,70 +582,76 @@ glabel init_watch_at_start_of_stage -#ifdef NONMATCHING -void sub_GAME_7F0A4A98(void) { +void controller_deadzone_related(void) +{ + if (10 < get_cur_controller_horz_stick_pos('\0')) + { + D_80040B50 = D_80040B50 + 1; + } + if (get_cur_controller_horz_stick_pos('\0') < -10) + { + D_80040B50 = D_80040B50 + -1; + } + if (10 < get_cur_controller_vert_stick_pos('\0')) + { + D_80040B54 = D_80040B54 + -1; + } + if (get_cur_controller_vert_stick_pos('\0') < -10) + { + D_80040B54 = D_80040B54 + 1; + } } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4A98 -/* 0D95C8 7F0A4A98 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D95CC 7F0A4A9C AFBF0014 */ sw $ra, 0x14($sp) -/* 0D95D0 7F0A4AA0 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D95D4 7F0A4AA4 00002025 */ move $a0, $zero -/* 0D95D8 7F0A4AA8 2841000B */ slti $at, $v0, 0xb -/* 0D95DC 7F0A4AAC 14200005 */ bnez $at, .L7F0A4AC4 -/* 0D95E0 7F0A4AB0 3C0E8004 */ lui $t6, %hi(D_80040B50) -/* 0D95E4 7F0A4AB4 8DCE0B50 */ lw $t6, %lo(D_80040B50)($t6) -/* 0D95E8 7F0A4AB8 3C018004 */ lui $at, %hi(D_80040B50) -/* 0D95EC 7F0A4ABC 25CF0001 */ addiu $t7, $t6, 1 -/* 0D95F0 7F0A4AC0 AC2F0B50 */ sw $t7, %lo(D_80040B50)($at) -.L7F0A4AC4: -/* 0D95F4 7F0A4AC4 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D95F8 7F0A4AC8 00002025 */ move $a0, $zero -/* 0D95FC 7F0A4ACC 3C038004 */ lui $v1, %hi(D_80040B50) -/* 0D9600 7F0A4AD0 2841FFF6 */ slti $at, $v0, -0xa -/* 0D9604 7F0A4AD4 10200004 */ beqz $at, .L7F0A4AE8 -/* 0D9608 7F0A4AD8 24630B50 */ addiu $v1, %lo(D_80040B50) # addiu $v1, $v1, 0xb50 -/* 0D960C 7F0A4ADC 8C780000 */ lw $t8, ($v1) -/* 0D9610 7F0A4AE0 2719FFFF */ addiu $t9, $t8, -1 -/* 0D9614 7F0A4AE4 AC790000 */ sw $t9, ($v1) -.L7F0A4AE8: -/* 0D9618 7F0A4AE8 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0D961C 7F0A4AEC 00002025 */ move $a0, $zero -/* 0D9620 7F0A4AF0 2841000B */ slti $at, $v0, 0xb -/* 0D9624 7F0A4AF4 14200005 */ bnez $at, .L7F0A4B0C -/* 0D9628 7F0A4AF8 3C088004 */ lui $t0, %hi(D_80040B54) -/* 0D962C 7F0A4AFC 8D080B54 */ lw $t0, %lo(D_80040B54)($t0) -/* 0D9630 7F0A4B00 3C018004 */ lui $at, %hi(D_80040B54) -/* 0D9634 7F0A4B04 2509FFFF */ addiu $t1, $t0, -1 -/* 0D9638 7F0A4B08 AC290B54 */ sw $t1, %lo(D_80040B54)($at) -.L7F0A4B0C: -/* 0D963C 7F0A4B0C 0C00307F */ jal get_cur_controller_vert_stick_pos -/* 0D9640 7F0A4B10 00002025 */ move $a0, $zero -/* 0D9644 7F0A4B14 3C038004 */ lui $v1, %hi(D_80040B54) -/* 0D9648 7F0A4B18 2841FFF6 */ slti $at, $v0, -0xa -/* 0D964C 7F0A4B1C 10200004 */ beqz $at, .L7F0A4B30 -/* 0D9650 7F0A4B20 24630B54 */ addiu $v1, %lo(D_80040B54) # addiu $v1, $v1, 0xb54 -/* 0D9654 7F0A4B24 8C6A0000 */ lw $t2, ($v1) -/* 0D9658 7F0A4B28 254B0001 */ addiu $t3, $t2, 1 -/* 0D965C 7F0A4B2C AC6B0000 */ sw $t3, ($v1) -.L7F0A4B30: -/* 0D9660 7F0A4B30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9664 7F0A4B34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9668 7F0A4B38 03E00008 */ jr $ra -/* 0D966C 7F0A4B3C 00000000 */ nop -) -#endif #ifdef NONMATCHING -void sub_GAME_7F0A4B40(void) { +void proc_7F0A4B40(undefined4 *param_1) +{ + s32 sVar1; + undefined4 *puVar2; + int iStack52; + int iStack48; + int iStack44; + int *piStack40; + byte abStack36 [36]; + + sVar1 = get_cur_controller_horz_stick_pos('\0'); + if (10 < sVar1) { + D_80040B48 = D_80040B48 + 1; + } + sVar1 = get_cur_controller_horz_stick_pos('\0'); + if (sVar1 < -10) { + D_80040B48 = D_80040B48 - 1; + } + sVar1 = get_cur_controller_vert_stick_pos('\0'); + if (10 < sVar1) { + D_80040B4C = D_80040B4C - 1; + } + sVar1 = get_cur_controller_vert_stick_pos('\0'); + if (sVar1 < -10) { + D_80040B4C = D_80040B4C + 1; + } + *param_1 = 0xb900031d; + param_1[1] = 0x504240; + param_1[2] = 0xfcffffff; + param_1[3] = 0xfffdf6fb; + param_1[4] = 0xfa000000; + param_1[5] = 0xff0000ff; + param_1[6] = (D_80040B48 + 1 & 0x3ff) << 0xe | 0xf6000000 | (D_80040B4C + 1 & 0x3ff) << 2; + param_1[7] = (D_80040B48 & 0x3ff) << 0xe | (D_80040B4C & 0x3ff) << 2; + piStack40 = ptrFirstFontTableSmall; + iStack44 = ptrSecondFontTableSmall; + sprintf((char *)abStack36,"%d, %d\n",D_80040B48,D_80040B4C); + puVar2 = microcode_constructor(param_1 + 8); + proc_7F0AE98C(&iStack52,&iStack48,abStack36,iStack44,piStack40,0); + en_text_write_stuff(puVar2,&D_80040B48,&D_80040B4C,abStack36,iStack44,(int)piStack40,0xff0000ff, + iStack48,iStack52,0,0); + D_80040B4C = (D_80040B4C - *(int *)(iStack44 + 0x890)) + 1; + return; } #else GLOBAL_ASM( @@ -737,41 +809,18 @@ glabel sub_GAME_7F0A4B40 -#ifdef NONMATCHING -void sub_GAME_7F0A4D74(void) { +u32 controllerCheckDualControllerTypesAllowed(void) +{ + if (get_attached_controller_count() >= 2) + { + if (cur_player_get_control_type() >= 4) + { + return 1; + } + } + return 0; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A4D74 -/* 0D98A4 7F0A4D74 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D98A8 7F0A4D78 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D98AC 7F0A4D7C 0C002E7E */ jal get_attached_controller_count -/* 0D98B0 7F0A4D80 00000000 */ nop -/* 0D98B4 7F0A4D84 28410002 */ slti $at, $v0, 2 -/* 0D98B8 7F0A4D88 54200009 */ bnezl $at, .L7F0A4DB0 -/* 0D98BC 7F0A4D8C 00001025 */ move $v0, $zero -/* 0D98C0 7F0A4D90 0FC29370 */ jal cur_player_get_control_type -/* 0D98C4 7F0A4D94 00000000 */ nop -/* 0D98C8 7F0A4D98 28410004 */ slti $at, $v0, 4 -/* 0D98CC 7F0A4D9C 54200004 */ bnezl $at, .L7F0A4DB0 -/* 0D98D0 7F0A4DA0 00001025 */ move $v0, $zero -/* 0D98D4 7F0A4DA4 10000002 */ b .L7F0A4DB0 -/* 0D98D8 7F0A4DA8 24020001 */ li $v0, 1 -/* 0D98DC 7F0A4DAC 00001025 */ move $v0, $zero -.L7F0A4DB0: -/* 0D98E0 7F0A4DB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D98E4 7F0A4DB4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D98E8 7F0A4DB8 03E00008 */ jr $ra -/* 0D98EC 7F0A4DBC 00000000 */ nop -) -#endif - - - - - int cur_player_get_control_type(void){ return pPlayer->cur_player_control_type_0; @@ -780,7 +829,19 @@ int cur_player_get_control_type(void){ #ifdef NONMATCHING -void cur_player_set_control_type(void) { +void cur_player_set_control_type(int type) +{ + int langsize; + + pPlayer->cur_player_control_type_0 = type; + pPlayer->cur_player_control_type_1 = type; + pPlayer->cur_player_control_type_2 = (float)type; + langsize = 10; + if (j_text_trigger != 0) { + langsize = 0xe; + } + pPlayer->neg_vspacing_for_control_type_entry = -(langsize * type); + pPlayer->has_set_control_type_data = 1; } #else @@ -890,63 +951,21 @@ void sub_GAME_7F0A4F44(void){ watch_soundrelated_maybe = 0; } - - - - -#ifdef NONMATCHING -void is_holding_greater_than_2E_left_on_stick(void) { - +u32 is_holding_greater_than_2E_left_on_stick(void) +{ + return (get_cur_controller_horz_stick_pos('\0') < -0x2d); } -#else -GLOBAL_ASM( -.text -glabel is_holding_greater_than_2E_left_on_stick -/* 0D9A80 7F0A4F50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9A84 7F0A4F54 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9A88 7F0A4F58 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D9A8C 7F0A4F5C 00002025 */ move $a0, $zero -/* 0D9A90 7F0A4F60 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9A94 7F0A4F64 284EFFD3 */ slti $t6, $v0, -0x2d -/* 0D9A98 7F0A4F68 01C01025 */ move $v0, $t6 -/* 0D9A9C 7F0A4F6C 03E00008 */ jr $ra -/* 0D9AA0 7F0A4F70 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - - -#ifdef NONMATCHING -void is_holding_greater_than_2E_right_on_stick(void) { +u32 is_holding_greater_than_2E_right_on_stick(void) +{ + return ((get_cur_controller_horz_stick_pos('\0') < 0x2e) ^ 1); } -#else -GLOBAL_ASM( -.text -glabel is_holding_greater_than_2E_right_on_stick -/* 0D9AA4 7F0A4F74 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9AA8 7F0A4F78 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9AAC 7F0A4F7C 0C00303B */ jal get_cur_controller_horz_stick_pos -/* 0D9AB0 7F0A4F80 00002025 */ move $a0, $zero -/* 0D9AB4 7F0A4F84 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9AB8 7F0A4F88 284E002E */ slti $t6, $v0, 0x2e -/* 0D9ABC 7F0A4F8C 39C20001 */ xori $v0, $t6, 1 -/* 0D9AC0 7F0A4F90 03E00008 */ jr $ra -/* 0D9AC4 7F0A4F94 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif - - - - u32 get_controlstick_lr_enabled(void) { return controlstick_lr_enabled; } -void set_controlstick_lr_enabled_0(void) { +void set_controlstick_lr_disabled(void) { controlstick_lr_enabled = 0; } @@ -955,8 +974,19 @@ void set_controlstick_lr_enabled_0(void) { #ifdef NONMATCHING -void sub_GAME_7F0A4FB0(void) { +u8 sub_GAME_7F0A4FB0(void) +{ + u32 uVar1; + u8 ret; + + uVar1 = is_holding_greater_than_2E_left_on_stick(); + ret = uVar1 != 0; + if (ret) { + uVar1 = get_controlstick_lr_enabled(); + ret = uVar1 != 0; + } + return ret; } #else GLOBAL_ASM( @@ -1012,12 +1042,12 @@ glabel sub_GAME_7F0A4FEC ) #endif -u32 sub_GAME_7F0A5028(void) +u32 is_holding_greater_than_2E_up_on_stick(void) { return (get_cur_controller_vert_stick_pos('\0') < 0x2e) ^ 1; } -u32 sub_GAME_7F0A504C(void) +u32 is_holding_greater_than_2E_down_on_stick(void) { return (get_cur_controller_vert_stick_pos('\0') < -0x2d); } @@ -1046,7 +1076,7 @@ GLOBAL_ASM( glabel sub_GAME_7F0A5088 /* 0D9BB8 7F0A5088 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0D9BBC 7F0A508C AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9BC0 7F0A5090 0FC2940A */ jal sub_GAME_7F0A5028 +/* 0D9BC0 7F0A5090 0FC2940A */ jal is_holding_greater_than_2E_up_on_stick /* 0D9BC4 7F0A5094 00000000 */ nop /* 0D9BC8 7F0A5098 0002702B */ sltu $t6, $zero, $v0 /* 0D9BCC 7F0A509C 11C00005 */ beqz $t6, .L7F0A50B4 @@ -1077,7 +1107,7 @@ GLOBAL_ASM( glabel sub_GAME_7F0A50C4 /* 0D9BF4 7F0A50C4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0D9BF8 7F0A50C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9BFC 7F0A50CC 0FC29413 */ jal sub_GAME_7F0A504C +/* 0D9BFC 7F0A50CC 0FC29413 */ jal is_holding_greater_than_2E_down_on_stick /* 0D9C00 7F0A50D0 00000000 */ nop /* 0D9C04 7F0A50D4 0002702B */ sltu $t6, $zero, $v0 /* 0D9C08 7F0A50D8 11C00005 */ beqz $t6, .L7F0A50F0 @@ -1099,12 +1129,12 @@ glabel sub_GAME_7F0A50C4 -u32 sub_GAME_7F0A5100(void) +u32 is_holding_less_than_10_up_on_stick(void) { return (get_cur_controller_vert_stick_pos('\0') < 0x10) ^ 1; } -u32 sub_GAME_7F0A5124(void) +u32 is_holding_less_than_10_down_on_stick(void) { return (get_cur_controller_vert_stick_pos('\0') < -0xf); } @@ -1131,7 +1161,7 @@ GLOBAL_ASM( glabel sub_GAME_7F0A5160 /* 0D9C90 7F0A5160 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0D9C94 7F0A5164 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9C98 7F0A5168 0FC29440 */ jal sub_GAME_7F0A5100 +/* 0D9C98 7F0A5168 0FC29440 */ jal is_holding_less_than_10_up_on_stick /* 0D9C9C 7F0A516C 00000000 */ nop /* 0D9CA0 7F0A5170 0002702B */ sltu $t6, $zero, $v0 /* 0D9CA4 7F0A5174 11C00005 */ beqz $t6, .L7F0A518C @@ -1162,7 +1192,7 @@ GLOBAL_ASM( glabel sub_GAME_7F0A519C /* 0D9CCC 7F0A519C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0D9CD0 7F0A51A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9CD4 7F0A51A4 0FC29449 */ jal sub_GAME_7F0A5124 +/* 0D9CD4 7F0A51A4 0FC29449 */ jal is_holding_less_than_10_down_on_stick /* 0D9CD8 7F0A51A8 00000000 */ nop /* 0D9CDC 7F0A51AC 0002702B */ sltu $t6, $zero, $v0 /* 0D9CE0 7F0A51B0 11C00005 */ beqz $t6, .L7F0A51C8 @@ -1183,69 +1213,23 @@ glabel sub_GAME_7F0A519C -#ifdef NONMATCHING -void sub_GAME_7F0A51D8(void) { +void sub_GAME_7F0A51D8(void) +{ + D_80040B04 = 0x80; + play_sfx_a1(ptr_sfx_buf,0xec,NULL); + return; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A51D8 -/* 0D9D08 7F0A51D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9D0C 7F0A51DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9D10 7F0A51E0 240E0080 */ li $t6, 128 -/* 0D9D14 7F0A51E4 3C018004 */ lui $at, %hi(D_80040B04) -/* 0D9D18 7F0A51E8 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0D9D1C 7F0A51EC AC2E0B04 */ sw $t6, %lo(D_80040B04)($at) -/* 0D9D20 7F0A51F0 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D9D24 7F0A51F4 240500EC */ li $a1, 236 -/* 0D9D28 7F0A51F8 0C002382 */ jal play_sfx_a1 -/* 0D9D2C 7F0A51FC 00003025 */ move $a2, $zero -/* 0D9D30 7F0A5200 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9D34 7F0A5204 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9D38 7F0A5208 03E00008 */ jr $ra -/* 0D9D3C 7F0A520C 00000000 */ nop -) -#endif - - - - - -#ifdef NONMATCHING -void sub_GAME_7F0A5210(void) { +void sub_GAME_7F0A5210(void) +{ + set_controlstick_lr_disabled(); + play_sfx_a1(ptr_sfx_buf,0x9f,NULL); + if ((D_80040B10 << 0x10) < get_random_value()) { + sub_GAME_7F0A51D8(); + } + return; } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A5210 -/* 0D9D40 7F0A5210 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D9D44 7F0A5214 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D9D48 7F0A5218 0FC293E9 */ jal set_controlstick_lr_enabled_0 -/* 0D9D4C 7F0A521C 00000000 */ nop -/* 0D9D50 7F0A5220 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0D9D54 7F0A5224 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0D9D58 7F0A5228 2405009F */ li $a1, 159 -/* 0D9D5C 7F0A522C 0C002382 */ jal play_sfx_a1 -/* 0D9D60 7F0A5230 00003025 */ move $a2, $zero -/* 0D9D64 7F0A5234 0C002914 */ jal get_random_value -/* 0D9D68 7F0A5238 00000000 */ nop -/* 0D9D6C 7F0A523C 3C0E8004 */ lui $t6, %hi(D_80040B10) -/* 0D9D70 7F0A5240 8DCE0B10 */ lw $t6, %lo(D_80040B10)($t6) -/* 0D9D74 7F0A5244 000E7C00 */ sll $t7, $t6, 0x10 -/* 0D9D78 7F0A5248 01E2082B */ sltu $at, $t7, $v0 -/* 0D9D7C 7F0A524C 50200004 */ beql $at, $zero, .L7F0A5260 -/* 0D9D80 7F0A5250 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9D84 7F0A5254 0FC29476 */ jal sub_GAME_7F0A51D8 -/* 0D9D88 7F0A5258 00000000 */ nop -/* 0D9D8C 7F0A525C 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A5260: -/* 0D9D90 7F0A5260 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D9D94 7F0A5264 03E00008 */ jr $ra -/* 0D9D98 7F0A5268 00000000 */ nop -) -#endif @@ -1437,7 +1421,7 @@ glabel sub_GAME_7F0A53D8 /* 0D9FB4 7F0A5484 3C018004 */ lui $at, %hi(D_80040994) /* 0D9FB8 7F0A5488 5120000C */ beql $t1, $zero, .L7F0A54BC /* 0D9FBC 7F0A548C 8FAA0018 */ lw $t2, 0x18($sp) -/* 0D9FC0 7F0A5490 0FC2AD29 */ jal sub_GAME_7F0AB4A4 +/* 0D9FC0 7F0A5490 0FC2AD29 */ jal zero_D_800409A4 /* 0D9FC4 7F0A5494 AC200994 */ sw $zero, %lo(D_80040994)($at) /* 0D9FC8 7F0A5498 0FC29484 */ jal sub_GAME_7F0A5210 /* 0D9FCC 7F0A549C 00000000 */ nop @@ -1453,7 +1437,7 @@ glabel sub_GAME_7F0A53D8 /* 0D9FF0 7F0A54C0 3C018004 */ lui $at, %hi(D_80040994) /* 0D9FF4 7F0A54C4 5140000C */ beql $t2, $zero, .L7F0A54F8 /* 0D9FF8 7F0A54C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D9FFC 7F0A54CC 0FC293E9 */ jal set_controlstick_lr_enabled_0 +/* 0D9FFC 7F0A54CC 0FC293E9 */ jal set_controlstick_lr_disabled /* 0DA000 7F0A54D0 AC2B0994 */ sw $t3, %lo(D_80040994)($at) /* 0DA004 7F0A54D4 0FC29484 */ jal sub_GAME_7F0A5210 /* 0DA008 7F0A54D8 00000000 */ nop @@ -1503,7 +1487,7 @@ glabel sub_GAME_7F0A5504 /* 0DA068 7F0A5538 3C018004 */ lui $at, %hi(D_80040994) /* 0DA06C 7F0A553C 55C00006 */ bnezl $t6, .L7F0A5558 /* 0DA070 7F0A5540 00002025 */ move $a0, $zero -/* 0DA074 7F0A5544 0FC293E9 */ jal set_controlstick_lr_enabled_0 +/* 0DA074 7F0A5544 0FC293E9 */ jal set_controlstick_lr_disabled /* 0DA078 7F0A5548 AC2F0994 */ sw $t7, %lo(D_80040994)($at) /* 0DA07C 7F0A554C 1000001A */ b .L7F0A55B8 /* 0DA080 7F0A5550 8FBF0014 */ lw $ra, 0x14($sp) @@ -1524,7 +1508,7 @@ glabel sub_GAME_7F0A5504 /* 0DA0B0 7F0A5580 3C018004 */ lui $at, %hi(D_80040994) /* 0DA0B4 7F0A5584 5700000C */ bnezl $t8, .L7F0A55B8 /* 0DA0B8 7F0A5588 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA0BC 7F0A558C 0FC2AD23 */ jal sub_GAME_7F0AB48C +/* 0DA0BC 7F0A558C 0FC2AD23 */ jal zero_D_80040998 /* 0DA0C0 7F0A5590 AC390994 */ sw $t9, %lo(D_80040994)($at) /* 0DA0C4 7F0A5594 0FC29484 */ jal sub_GAME_7F0A5210 /* 0DA0C8 7F0A5598 00000000 */ nop @@ -1610,9 +1594,9 @@ glabel sub_GAME_7F0A55C4 /* 0DA1A8 7F0A5678 3C018004 */ lui $at, %hi(D_80040994) /* 0DA1AC 7F0A567C 57000006 */ bnezl $t8, .L7F0A5698 /* 0DA1B0 7F0A5680 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA1B4 7F0A5684 0FC2AD26 */ jal sub_GAME_7F0AB498 +/* 0DA1B4 7F0A5684 0FC2AD26 */ jal zero_D_8004099C /* 0DA1B8 7F0A5688 AC390994 */ sw $t9, %lo(D_80040994)($at) -/* 0DA1BC 7F0A568C 0FC293E9 */ jal set_controlstick_lr_enabled_0 +/* 0DA1BC 7F0A568C 0FC293E9 */ jal set_controlstick_lr_disabled /* 0DA1C0 7F0A5690 00000000 */ nop .L7F0A5694: /* 0DA1C4 7F0A5694 8FBF0014 */ lw $ra, 0x14($sp) @@ -1659,9 +1643,9 @@ glabel sub_GAME_7F0A56A4 /* 0DA218 7F0A56E8 3C018004 */ lui $at, %hi(D_80040994) /* 0DA21C 7F0A56EC 55C00008 */ bnezl $t6, .L7F0A5710 /* 0DA220 7F0A56F0 00002025 */ move $a0, $zero -/* 0DA224 7F0A56F4 0FC2AD23 */ jal sub_GAME_7F0AB48C +/* 0DA224 7F0A56F4 0FC2AD23 */ jal zero_D_80040998 /* 0DA228 7F0A56F8 AC2F0994 */ sw $t7, %lo(D_80040994)($at) -/* 0DA22C 7F0A56FC 0FC293E9 */ jal set_controlstick_lr_enabled_0 +/* 0DA22C 7F0A56FC 0FC293E9 */ jal set_controlstick_lr_disabled /* 0DA230 7F0A5700 00000000 */ nop /* 0DA234 7F0A5704 1000001C */ b .L7F0A5778 /* 0DA238 7F0A5708 8FBF0014 */ lw $ra, 0x14($sp) @@ -1737,7 +1721,7 @@ glabel sub_GAME_7F0A5784 /* 0DA2E8 7F0A57B8 3C018004 */ lui $at, %hi(D_80040994) /* 0DA2EC 7F0A57BC 55C0000E */ bnezl $t6, .L7F0A57F8 /* 0DA2F0 7F0A57C0 00002025 */ move $a0, $zero -/* 0DA2F4 7F0A57C4 0FC2AD26 */ jal sub_GAME_7F0AB498 +/* 0DA2F4 7F0A57C4 0FC2AD26 */ jal zero_D_8004099C /* 0DA2F8 7F0A57C8 AC2F0994 */ sw $t7, %lo(D_80040994)($at) /* 0DA2FC 7F0A57CC 0FC29484 */ jal sub_GAME_7F0A5210 /* 0DA300 7F0A57D0 00000000 */ nop @@ -1765,7 +1749,7 @@ glabel sub_GAME_7F0A5784 /* 0DA34C 7F0A581C 3C018004 */ lui $at, %hi(D_80040994) /* 0DA350 7F0A5820 5700000C */ bnezl $t8, .L7F0A5854 /* 0DA354 7F0A5824 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA358 7F0A5828 0FC2AD29 */ jal sub_GAME_7F0AB4A4 +/* 0DA358 7F0A5828 0FC2AD29 */ jal zero_D_800409A4 /* 0DA35C 7F0A582C AC200994 */ sw $zero, %lo(D_80040994)($at) /* 0DA360 7F0A5830 0FC29484 */ jal sub_GAME_7F0A5210 /* 0DA364 7F0A5834 00000000 */ nop @@ -1788,129 +1772,100 @@ glabel sub_GAME_7F0A5784 -#ifdef NONMATCHING -void sub_GAME_7F0A5860(void) { +void sub_GAME_7F0A5860(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) != 0) || (sub_GAME_7F0A5088() != 0)) + { + if (watch_soundrelated_maybe == 0) + { + D_80040998 = 1; + set_D_80040AE0_0(); + return; + } + } + else + { + + } + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) + { + if (watch_soundrelated_maybe == 0) + { + D_80040998 = 1; + set_D_80040AE0_0(); + } + } + else + { + + } } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A5860 -/* 0DA390 7F0A5860 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA394 7F0A5864 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA398 7F0A5868 00002025 */ move $a0, $zero -/* 0DA39C 7F0A586C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA3A0 7F0A5870 24050808 */ li $a1, 2056 -/* 0DA3A4 7F0A5874 14400004 */ bnez $v0, .L7F0A5888 -/* 0DA3A8 7F0A5878 00000000 */ nop -/* 0DA3AC 7F0A587C 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DA3B0 7F0A5880 00000000 */ nop -/* 0DA3B4 7F0A5884 1040000A */ beqz $v0, .L7F0A58B0 -.L7F0A5888: -/* 0DA3B8 7F0A5888 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA3BC 7F0A588C 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA3C0 7F0A5890 240F0001 */ li $t7, 1 -/* 0DA3C4 7F0A5894 3C018004 */ lui $at, %hi(D_80040998) -/* 0DA3C8 7F0A5898 55C00006 */ bnezl $t6, .L7F0A58B4 -/* 0DA3CC 7F0A589C 00002025 */ move $a0, $zero -/* 0DA3D0 7F0A58A0 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA3D4 7F0A58A4 AC2F0998 */ sw $t7, %lo(D_80040998)($at) -/* 0DA3D8 7F0A58A8 10000012 */ b .L7F0A58F4 -/* 0DA3DC 7F0A58AC 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A58B0: -/* 0DA3E0 7F0A58B0 00002025 */ move $a0, $zero -.L7F0A58B4: -/* 0DA3E4 7F0A58B4 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA3E8 7F0A58B8 24050404 */ li $a1, 1028 -/* 0DA3EC 7F0A58BC 14400004 */ bnez $v0, .L7F0A58D0 -/* 0DA3F0 7F0A58C0 00000000 */ nop -/* 0DA3F4 7F0A58C4 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DA3F8 7F0A58C8 00000000 */ nop -/* 0DA3FC 7F0A58CC 10400008 */ beqz $v0, .L7F0A58F0 -.L7F0A58D0: -/* 0DA400 7F0A58D0 3C188004 */ lui $t8, %hi(watch_soundrelated_maybe) -/* 0DA404 7F0A58D4 8F1809A8 */ lw $t8, %lo(watch_soundrelated_maybe)($t8) -/* 0DA408 7F0A58D8 24190001 */ li $t9, 1 -/* 0DA40C 7F0A58DC 3C018004 */ lui $at, %hi(D_80040998) -/* 0DA410 7F0A58E0 57000004 */ bnezl $t8, .L7F0A58F4 -/* 0DA414 7F0A58E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA418 7F0A58E8 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA41C 7F0A58EC AC390998 */ sw $t9, %lo(D_80040998)($at) -.L7F0A58F0: -/* 0DA420 7F0A58F0 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A58F4: -/* 0DA424 7F0A58F4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA428 7F0A58F8 03E00008 */ jr $ra -/* 0DA42C 7F0A58FC 00000000 */ nop -) -#endif +void sub_GAME_7F0A5900(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) != 0) || (sub_GAME_7F0A5088() != 0)) + { + if (watch_soundrelated_maybe == 0) + { + D_80040998 = 0; + set_D_80040AE0_0(); + return; + } + } + else + { + } + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) + { + if (watch_soundrelated_maybe == 0) + { + D_80040998 = 0; + set_D_80040AE0_0(); + } + } + else + { - - -#ifdef NONMATCHING -void sub_GAME_7F0A5900(void) { - + } } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A5900 -/* 0DA430 7F0A5900 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DA434 7F0A5904 AFBF0014 */ sw $ra, 0x14($sp) -/* 0DA438 7F0A5908 00002025 */ move $a0, $zero -/* 0DA43C 7F0A590C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA440 7F0A5910 24050808 */ li $a1, 2056 -/* 0DA444 7F0A5914 14400004 */ bnez $v0, .L7F0A5928 -/* 0DA448 7F0A5918 00000000 */ nop -/* 0DA44C 7F0A591C 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DA450 7F0A5920 00000000 */ nop -/* 0DA454 7F0A5924 10400009 */ beqz $v0, .L7F0A594C -.L7F0A5928: -/* 0DA458 7F0A5928 3C0E8004 */ lui $t6, %hi(watch_soundrelated_maybe) -/* 0DA45C 7F0A592C 8DCE09A8 */ lw $t6, %lo(watch_soundrelated_maybe)($t6) -/* 0DA460 7F0A5930 3C018004 */ lui $at, %hi(D_80040998) -/* 0DA464 7F0A5934 55C00006 */ bnezl $t6, .L7F0A5950 -/* 0DA468 7F0A5938 00002025 */ move $a0, $zero -/* 0DA46C 7F0A593C 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA470 7F0A5940 AC200998 */ sw $zero, %lo(D_80040998)($at) -/* 0DA474 7F0A5944 10000011 */ b .L7F0A598C -/* 0DA478 7F0A5948 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A594C: -/* 0DA47C 7F0A594C 00002025 */ move $a0, $zero -.L7F0A5950: -/* 0DA480 7F0A5950 0C0030EB */ jal get_controller_buttons_pressed -/* 0DA484 7F0A5954 24050404 */ li $a1, 1028 -/* 0DA488 7F0A5958 14400004 */ bnez $v0, .L7F0A596C -/* 0DA48C 7F0A595C 00000000 */ nop -/* 0DA490 7F0A5960 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DA494 7F0A5964 00000000 */ nop -/* 0DA498 7F0A5968 10400007 */ beqz $v0, .L7F0A5988 -.L7F0A596C: -/* 0DA49C 7F0A596C 3C0F8004 */ lui $t7, %hi(watch_soundrelated_maybe) -/* 0DA4A0 7F0A5970 8DEF09A8 */ lw $t7, %lo(watch_soundrelated_maybe)($t7) -/* 0DA4A4 7F0A5974 3C018004 */ lui $at, %hi(D_80040998) -/* 0DA4A8 7F0A5978 55E00004 */ bnezl $t7, .L7F0A598C -/* 0DA4AC 7F0A597C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DA4B0 7F0A5980 0FC2941F */ jal set_D_80040AE0_0 -/* 0DA4B4 7F0A5984 AC200998 */ sw $zero, %lo(D_80040998)($at) -.L7F0A5988: -/* 0DA4B8 7F0A5988 8FBF0014 */ lw $ra, 0x14($sp) -.L7F0A598C: -/* 0DA4BC 7F0A598C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DA4C0 7F0A5990 03E00008 */ jr $ra -/* 0DA4C4 7F0A5994 00000000 */ nop -) -#endif #ifdef NONMATCHING -void sub_GAME_7F0A5998(void) { +void sub_GAME_7F0A5998(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) != 0) || (sub_GAME_7F0A5088() != 0)) + { + D_8004099C = (s32) (D_8004099C - 1); + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + else + { + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) + { + D_8004099C = (s32) (D_8004099C + 1); + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + else + { + } + } + if (D_8004099C >= 0xa) + { + D_8004099C = 0; + return; + } + if (D_8004099C < 0) + { + D_8004099C = 9; + } } #else GLOBAL_ASM( @@ -1981,8 +1936,21 @@ glabel sub_GAME_7F0A5998 #ifdef NONMATCHING -void sub_GAME_7F0A5A64(void) { - +void sub_GAME_7F0A5A64(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) == 0) && (sub_GAME_7F0A5088() == 0)) { + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) { + D_8004099C = 1; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + } + else { + D_8004099C = 9; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + return; } #else GLOBAL_ASM( @@ -2037,8 +2005,21 @@ glabel sub_GAME_7F0A5A64 #ifdef NONMATCHING -void sub_GAME_7F0A5AF4(void) { - +void sub_GAME_7F0A5AF4(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) == 0) && (sub_GAME_7F0A5088() == 0)) { + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) { + D_8004099c = 2; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + } + else { + D_8004099c = 0; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + return; } #else GLOBAL_ASM( @@ -2341,12 +2322,12 @@ glabel sub_GAME_7F0A5B80 /* 0DAA10 7F0A5EE0 46122180 */ add.s $f6, $f4, $f18 /* 0DAA14 7F0A5EE4 E4C60000 */ swc1 $f6, ($a2) .L7F0A5EE8: -/* 0DAA18 7F0A5EE8 0FC29440 */ jal sub_GAME_7F0A5100 +/* 0DAA18 7F0A5EE8 0FC29440 */ jal is_holding_less_than_10_up_on_stick /* 0DAA1C 7F0A5EEC 00000000 */ nop /* 0DAA20 7F0A5EF0 3C068004 */ lui $a2, %hi(D_800409BC) /* 0DAA24 7F0A5EF4 14400006 */ bnez $v0, .L7F0A5F10 /* 0DAA28 7F0A5EF8 24C609BC */ addiu $a2, %lo(D_800409BC) # addiu $a2, $a2, 0x9bc -/* 0DAA2C 7F0A5EFC 0FC29449 */ jal sub_GAME_7F0A5124 +/* 0DAA2C 7F0A5EFC 0FC29449 */ jal is_holding_less_than_10_down_on_stick /* 0DAA30 7F0A5F00 00000000 */ nop /* 0DAA34 7F0A5F04 3C068004 */ lui $a2, %hi(D_800409BC) /* 0DAA38 7F0A5F08 10400005 */ beqz $v0, .L7F0A5F20 @@ -2723,11 +2704,11 @@ glabel sub_GAME_7F0A611C /* 0DAF34 7F0A6404 46122180 */ add.s $f6, $f4, $f18 /* 0DAF38 7F0A6408 E6060000 */ swc1 $f6, ($s0) .L7F0A640C: -/* 0DAF3C 7F0A640C 0FC29440 */ jal sub_GAME_7F0A5100 +/* 0DAF3C 7F0A640C 0FC29440 */ jal is_holding_less_than_10_up_on_stick /* 0DAF40 7F0A6410 00000000 */ nop /* 0DAF44 7F0A6414 54400006 */ bnezl $v0, .L7F0A6430 /* 0DAF48 7F0A6418 24190001 */ li $t9, 1 -/* 0DAF4C 7F0A641C 0FC29449 */ jal sub_GAME_7F0A5124 +/* 0DAF4C 7F0A641C 0FC29449 */ jal is_holding_less_than_10_down_on_stick /* 0DAF50 7F0A6420 00000000 */ nop /* 0DAF54 7F0A6424 10400005 */ beqz $v0, .L7F0A643C /* 0DAF58 7F0A6428 3C018004 */ lui $at, %hi(D_80040AE4) @@ -2873,54 +2854,30 @@ glabel sub_GAME_7F0A611C -#ifdef NONMATCHING -void sub_GAME_7F0A6618(void) { +void sub_GAME_7F0A6618(void) +{ + if ((get_controller_buttons_pressed('\0',U_CBUTTONS|U_JPAD) != 0) || (sub_GAME_7F0A5088() != 0)) + { + D_800409A0 = 4; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + else + { + + } + if ((get_controller_buttons_pressed('\0',D_CBUTTONS|D_JPAD) != 0) || (sub_GAME_7F0A50C4() != 0)) + { + D_800409A0 = 1; + set_D_80040AE0_0(); + sub_GAME_7F0A4F44(); + } + else + { + + } } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0A6618 -/* 0DB148 7F0A6618 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DB14C 7F0A661C AFBF0014 */ sw $ra, 0x14($sp) -/* 0DB150 7F0A6620 00002025 */ move $a0, $zero -/* 0DB154 7F0A6624 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB158 7F0A6628 24050808 */ li $a1, 2056 -/* 0DB15C 7F0A662C 54400005 */ bnezl $v0, .L7F0A6644 -/* 0DB160 7F0A6630 240E0004 */ li $t6, 4 -/* 0DB164 7F0A6634 0FC29422 */ jal sub_GAME_7F0A5088 -/* 0DB168 7F0A6638 00000000 */ nop -/* 0DB16C 7F0A663C 10400006 */ beqz $v0, .L7F0A6658 -/* 0DB170 7F0A6640 240E0004 */ li $t6, 4 -.L7F0A6644: -/* 0DB174 7F0A6644 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB178 7F0A6648 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB17C 7F0A664C AC2E09A0 */ sw $t6, %lo(D_800409A0)($at) -/* 0DB180 7F0A6650 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB184 7F0A6654 00000000 */ nop -.L7F0A6658: -/* 0DB188 7F0A6658 00002025 */ move $a0, $zero -/* 0DB18C 7F0A665C 0C0030EB */ jal get_controller_buttons_pressed -/* 0DB190 7F0A6660 24050404 */ li $a1, 1028 -/* 0DB194 7F0A6664 54400005 */ bnezl $v0, .L7F0A667C -/* 0DB198 7F0A6668 240F0001 */ li $t7, 1 -/* 0DB19C 7F0A666C 0FC29431 */ jal sub_GAME_7F0A50C4 -/* 0DB1A0 7F0A6670 00000000 */ nop -/* 0DB1A4 7F0A6674 10400006 */ beqz $v0, .L7F0A6690 -/* 0DB1A8 7F0A6678 240F0001 */ li $t7, 1 -.L7F0A667C: -/* 0DB1AC 7F0A667C 3C018004 */ lui $at, %hi(D_800409A0) -/* 0DB1B0 7F0A6680 0FC2941F */ jal set_D_80040AE0_0 -/* 0DB1B4 7F0A6684 AC2F09A0 */ sw $t7, %lo(D_800409A0)($at) -/* 0DB1B8 7F0A6688 0FC293D1 */ jal sub_GAME_7F0A4F44 -/* 0DB1BC 7F0A668C 00000000 */ nop -.L7F0A6690: -/* 0DB1C0 7F0A6690 8FBF0014 */ lw $ra, 0x14($sp) -/* 0DB1C4 7F0A6694 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0DB1C8 7F0A6698 03E00008 */ jr $ra -/* 0DB1CC 7F0A669C 00000000 */ nop -) -#endif @@ -4653,8 +4610,121 @@ void sub_GAME_7F0A77A8(u32 param_1,u32 param_2) #ifdef NONMATCHING -void sub_GAME_7F0A77C8(void) { +s32 sub_GAME_7F0A77C8(s32 arg0) +{ + ?32 sp7C; + s32 sp78; + s32 sp74; + s32 sp70; + s32 sp6C; + s32 sp68; + s32 sp64; + s32 sp60; + s32 sp5C; + s32 sp58; + s32 sp54; + s32 sp50; + s32 sp4C; + s16 sp44; + s32 temp_s0; + s32 temp_s0_2; + s32 temp_s0_3; + s32 temp_s0_4; + s32 temp_v1; + s32 phi_v0; + s32 phi_v0_2; + s32 phi_v0_3; + s32 phi_s0; + sp5C = (s32) ptrFirstFontTableSmall; + sp58 = (s32) ptrSecondFontTableSmall; + sp54 = get_textptr_for_textID(0xac24); + sp50 = get_textptr_for_textID(0xac25); + sp4C = get_textptr_for_textID(0xac26); + sp7C = 0x51; + if (j_text_trigger != 0) + { + phi_v0 = 0xf; + } + else + { + phi_v0 = 0; + } + sp78 = (s32) (phi_v0 + 0xbd); + if (j_text_trigger != 0) + { + phi_v0_2 = 0xa; + } + else + { + phi_v0_2 = 0; + } + sp74 = (s32) (phi_v0_2 + 0x88); + if (j_text_trigger != 0) + { + phi_v0_3 = 3; + } + else + { + phi_v0_3 = 0; + } + temp_v1 = phi_v0_3 + 0x4c; + sp6C = temp_v1; + sp70 = temp_v1; + sp68 = temp_v1; + if (watch_soundrelated_maybe != 0) + { + if (D_800409A4 == 0) + { + if ((get_cur_controller_horz_stick_pos(0) >= 0x2e) || (get_controller_buttons_held(0, 0x111) != 0)) + { + D_800409A4 = 1; + } + else + { + + } + } + else + { + if (D_800409A4 != 0) + { + if ((get_cur_controller_horz_stick_pos(0) < -0x2d) || (get_controller_buttons_held(0, 0x222) != 0)) + { + D_800409A4 = 0; + } + else + { + + } + } + } + } + if (watch_soundrelated_maybe != 0) + { + sub_GAME_7F0AE98C(&sp60, &sp64, sp54, sp58, sp5C, 0); + en_text_write_stuff(arg0, &sp7C, &sp70, sp54, sp58, sp5C, 0xa0ffa0f0, sp64, sp60, 0, 0); + if (D_800409A4 != 0) + { + jp_text_write_stuff(temp_s0, &sp78, &sp6C, sp50, sp58, sp5C, -1, 0x7000a0, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + en_text_write_stuff(temp_s0_2, &sp74, &sp68, sp4C, sp58, sp5C, 0xff00b0, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + } + else + { + if (D_800409A4 == 0) + { + en_text_write_stuff(temp_s0, &sp78, &sp6C, sp50, sp58, sp5C, 0xff00b0, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + jp_text_write_stuff(temp_s0_3, &sp74, &sp68, sp4C, sp58, sp5C, -1, 0x7000a0, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + } + } + } + else + { + sub_GAME_7F0AE98C(&sp60, &sp64, sp54, sp58, sp5C, 0); + en_text_write_stuff(en_text_write_stuff(arg0, &sp7C, &sp70, sp54, sp58, sp5C, 0x800080, sp64, sp60, 0, 0), &sp78, &sp6C, sp50, sp58, sp5C, 0x800080, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + en_text_write_stuff(temp_s0_4, &sp74, &sp68, sp4C, sp58, sp5C, 0x800080, get_video2_settings_txtClipW(), get_video2_settings_txtClipH(), 0, 0); + } + return; } #else GLOBAL_ASM( @@ -5090,8 +5160,35 @@ u32 sub_GAME_7F0A7DBC(u32 uParm1) { #ifdef NONMATCHING -void sub_GAME_7F0A7DC4(void) { +void sub_GAME_7F0A7DC4(s32 arg0) +{ + s32 txtptr; + s32 sp50; + ?32 sp4C; + s32 sp48; + s32 sp44; + s32 pFirstFontTable; + s32 pSecondFontTable; + s32 joffset; + txtptr = get_textptr_for_textID(0xac2b); + if (j_text_trigger != 0) + { + joffset = -5; + } + else + { + joffset = 0; + } + sp50 = (s32) (joffset + 0x65); + sp4C = 0x31; + sp48 = 0; + sp44 = 0; + pFirstFontTable = (s32) ptrFirstFontTableSmall; + pSecondFontTable = (s32) ptrSecondFontTableSmall; + arg0 = microcode_constructor(arg0); + sub_GAME_7F0AE98C(&sp48, &sp44, txtptr, pSecondFontTable, pFirstFontTable, 0); + en_text_write_stuff(arg0, &sp50, &sp4C, txtptr, pSecondFontTable, pFirstFontTable, 0xff00b0, sp44, sp48, 0, 0); } #else GLOBAL_ASM( @@ -5490,8 +5587,22 @@ glabel debug_gun_watch_move_related #ifdef NONMATCHING -void sub_GAME_7F0A830C(void) { +s32 sub_GAME_7F0A830C(void) +{ + s32 temp_s0; + s32 phi_s0; + temp_s0 = sub_GAME_7F0A714C(0); + if (check_watch_page_transistion_running() != 1) + { + phi_s0 = debug_gun_watch_move_related(sub_GAME_7F0A7DBC(sub_GAME_7F0A7C18(sub_GAME_7F0A7DC4(temp_s0)))); + } + else + { + check_watch_page_transistion_running(); + phi_s0 = temp_s0; + } + return phi_s0; } #else GLOBAL_ASM( @@ -5526,8 +5637,37 @@ glabel sub_GAME_7F0A830C /* 0DCE9C 7F0A836C 8FB00018 */ lw $s0, 0x18($sp) /* 0DCEA0 7F0A8370 03E00008 */ jr $ra /* 0DCEA4 7F0A8374 27BD0020 */ addiu $sp, $sp, 0x20 +) +#endif -sub_GAME_7F0A8378: + + +#ifdef NONMATCHING +void sub_GAME_7F0A8378(void) +{ + s32 sp1C; + + if ((get_controller_buttons_pressed(0, 0xa000) == 0) && (get_controller_buttons_pressed(0, 0x1000) != 0)) + { + sp1C = get_item_in_hand(0); + if (sub_GAME_7F08D2A8(D_800409B8) != sp1C) + { + remove_hands_item(0, sub_GAME_7F08D2A8(D_800409B8)); + remove_hands_item(1, 0); + sub_GAME_7F08D8D0(D_800409B8); + D_800409C4 = 0xa; + play_sfx_a1(ptr_sfx_buf, 0x9f, 0); + } + } + else + { + + } +} +#else +GLOBAL_ASM( +.text +glabel sub_GAME_7F0A8378 /* 0DCEA8 7F0A8378 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0DCEAC 7F0A837C AFBF0014 */ sw $ra, 0x14($sp) /* 0DCEB0 7F0A8380 00002025 */ move $a0, $zero @@ -5810,7 +5950,7 @@ glabel debug_gun_watch_move_related2 /* 0DD298 7F0A8768 0FC234D0 */ jal sub_GAME_7F08D340 /* 0DD29C 7F0A876C 02002025 */ move $a0, $s0 /* 0DD2A0 7F0A8770 27A40084 */ addiu $a0, $sp, 0x84 -/* 0DD2A4 7F0A8774 0C0029FF */ jal string_load_parse_something +/* 0DD2A4 7F0A8774 0C0029FF */ jal string_append_from_obseg_textbank /* 0DD2A8 7F0A8778 00402825 */ move $a1, $v0 /* 0DD2AC 7F0A877C 0FC2340E */ jal sub_GAME_7F08D038 /* 0DD2B0 7F0A8780 26100001 */ addiu $s0, $s0, 1 @@ -6303,7 +6443,7 @@ glabel debug_gun_watch_move_related2 /* 0DDE90 7F0A9320 0FC2374A */ jal sub_GAME_7F08D340 /* 0DDE94 7F0A9324 02002025 */ move $a0, $s0 /* 0DDE98 7F0A9328 27A4008C */ addiu $a0, $sp, 0x8c -/* 0DDE9C 7F0A932C 0C002A03 */ jal string_load_parse_something +/* 0DDE9C 7F0A932C 0C002A03 */ jal string_append_from_obseg_textbank /* 0DDEA0 7F0A9330 00402825 */ move $a1, $v0 /* 0DDEA4 7F0A9334 0FC23667 */ jal sub_GAME_7F08D038 /* 0DDEA8 7F0A9338 26100001 */ addiu $s0, $s0, 1 @@ -7068,7 +7208,7 @@ glabel sub_GAME_7F0A8FEC -void sub_GAME_7F0A9180(void) { +void call_sfx_c_700091C8(void) { sfx_c_700091C8(); } @@ -7221,22 +7361,26 @@ glabel sub_GAME_7F0A91C8 u16 sub_GAME_7F0A9358(void) { - return D_80040B58; + return mTrack2Vol; } #ifdef NONMATCHING -void sub_GAME_7F0A9364(void) { +void sub_GAME_7F0A9364(s16 param_1) +{ + mTrack2Vol = param_1; + musicTrack2Vol(param_1); + return; } #else GLOBAL_ASM( .text glabel sub_GAME_7F0A9364 /* 0DDE94 7F0A9364 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0DDE98 7F0A9368 3C028004 */ lui $v0, %hi(D_80040B58) -/* 0DDE9C 7F0A936C 24420B58 */ addiu $v0, %lo(D_80040B58) # addiu $v0, $v0, 0xb58 +/* 0DDE98 7F0A9368 3C028004 */ lui $v0, %hi(mTrack2Vol) +/* 0DDE9C 7F0A936C 24420B58 */ addiu $v0, %lo(mTrack2Vol) # addiu $v0, $v0, 0xb58 /* 0DDEA0 7F0A9370 AFBF0014 */ sw $ra, 0x14($sp) /* 0DDEA4 7F0A9374 AFA40018 */ sw $a0, 0x18($sp) /* 0DDEA8 7F0A9378 00802825 */ move $a1, $a0 @@ -7417,8 +7561,14 @@ glabel sub_GAME_7F0A9398 #ifdef NONMATCHING -void sub_GAME_7F0A95C4(void) { - +f32 sub_GAME_7F0A95C4(f32 param_1,f32 param_2,f32 param_3) +{ + if (param_1 < param_2) { + return param_1 + (param_2 - param_1) / param_3; + } + if (param_2 < param_1) { + return param_1 - (param_1 - param_2) / param_3; + } } #else GLOBAL_ASM( @@ -7646,7 +7796,7 @@ glabel sub_GAME_7F0A97D0 /* 0DE350 7F0A9820 0FC30776 */ jal get_textptr_for_textID /* 0DE354 7F0A9824 96240000 */ lhu $a0, ($s1) /* 0DE358 7F0A9828 27A40074 */ addiu $a0, $sp, 0x74 -/* 0DE35C 7F0A982C 0C0029FF */ jal string_load_parse_something +/* 0DE35C 7F0A982C 0C0029FF */ jal string_append_from_obseg_textbank /* 0DE360 7F0A9830 00402825 */ move $a1, $v0 /* 0DE364 7F0A9834 3C068004 */ lui $a2, %hi(D_800409D8) /* 0DE368 7F0A9838 8CC609D8 */ lw $a2, %lo(D_800409D8)($a2) @@ -8720,8 +8870,92 @@ glabel sub_GAME_7F0A9AB8 #ifdef NONMATCHING -void sub_GAME_7F0AA7C8(void) { +void sub_GAME_7F0AA7C8(u32 * displayList) +{ + u32 * DL; + u8 * txtptr; + DL = microcode_constructor(displayList); + if (get_controller_buttons_held('\0',A_BUTTON) != 0) + { + sub_GAME_7F0A9398(DL, 0x5a, 0xa7, get_textptr_for_textID(0xac03), -1, 1, 0x7000a0, 0, 0, 0x3000b0, 0); + } else { + sub_GAME_7F0A9398(DL, 0x5a, 0xa7, get_textptr_for_textID(0xac03), 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 0); + } + + if (get_controller_buttons_held('\0',B_BUTTON) != 0) + { + sub_GAME_7F0A9398(DL, 0x5a, 0x95, get_textptr_for_textID(0xac02), -1, 1, 0x7000a0, 0, 0, 0x3000b0, 0); + } else { + sub_GAME_7F0A9398(DL, 0x5a, 0x95, get_textptr_for_textID(0xac02), 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 0); + } + + + + if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 5)) + { + txtptr = get_textptr_for_textID(0xac00); + } else { + txtptr = get_textptr_for_textID(0xac01); + } + + if (get_controller_buttons_held('\0',Z_TRIG) != 0) + { + sub_GAME_7F0A9398(DL, 0x5a, 0xb9, txtptr, -1, 1, 0x7000a0, 0, 0, 0x3000b0, 0); + } else { + sub_GAME_7F0A9398(DL, 0x5a, 0xb9, txtptr, 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 0); + } + + + + if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 6)) + { + txtptr = get_textptr_for_textID(0xac05); + } else { + txtptr = get_textptr_for_textID(0xac06); + } + + sub_GAME_7F0A9398(DL, 0x5a, 0xcb, txtptr, 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 0); + if (get_controller_buttons_held('\x01',A_BUTTON) != 0) + { + sub_GAME_7F0A9398(DL, 0xe6, 0xa7, get_textptr_for_textID(0xac03), -1, 1, 0x7000a0, 0, 0, 0x3000b0, 1); + } else { + sub_GAME_7F0A9398(DL, 0xe6, 0xa7, get_textptr_for_textID(0xac03), 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 1); + } + + if (get_controller_buttons_held('\x01',B_BUTTON) != 0) + { + sub_GAME_7F0A9398(DL, 0xe6, 0x95, get_textptr_for_textID(0xac02), -1, 1, 0x7000a0, 0, 0, 0x3000b0, 1); + } else { + sub_GAME_7F0A9398(DL, 0xe6, 0x95, get_textptr_for_textID(0xac02), 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 1); + } + + + + if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 5)) + { + txtptr = get_textptr_for_textID(0xac01); + } else { + txtptr = get_textptr_for_textID(0xac00); + } + + if (get_controller_buttons_held('\x01',Z_TRIG) != 0) + { + sub_GAME_7F0A9398(DL, 0xe6, 0xb9, txtptr, -1, 1, 0x7000a0, 0, 0, 0x3000b0, 1); + } else { + sub_GAME_7F0A9398(DL, 0xe6, 0xb9, txtptr, 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 1); + } + + + + if ((pPlayer->cur_player_control_type_0 == 4) || (pPlayer->cur_player_control_type_0 == 6)) + { + txtptr = get_textptr_for_textID(0xac06); + } else { + txtptr = get_textptr_for_textID(0xac05); + } + + sub_GAME_7F0A9398(DL, 0xe6, 0xcb, txtptr, 0xaa00b0, 0, -1, 0, 0, 0x3000b0, 1); } #else GLOBAL_ASM( @@ -9240,7 +9474,7 @@ glabel sub_GAME_7F0AADC0 /* 0DFA00 7F0AAED0 00002025 */ move $a0, $zero /* 0DFA04 7F0AAED4 0FC2A5A1 */ jal sub_GAME_7F0A9684 /* 0DFA08 7F0AAED8 ADA10000 */ sw $at, ($t5) -/* 0DFA0C 7F0AAEDC 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0DFA0C 7F0AAEDC 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0DFA10 7F0AAEE0 27A404FC */ addiu $a0, $sp, 0x4fc /* 0DFA14 7F0AAEE4 3C088005 */ lui $t0, %hi(D_80048498) /* 0DFA18 7F0AAEE8 8D088498 */ lw $t0, %lo(D_80048498)($t0) @@ -9322,7 +9556,7 @@ glabel sub_GAME_7F0AADC0 /* 0DFB40 7F0AB010 27A503FC */ addiu $a1, $sp, 0x3fc /* 0DFB44 7F0AB014 0FC16032 */ jal sub_GAME_7F0580C8 /* 0DFB48 7F0AB018 27A603BC */ addiu $a2, $sp, 0x3bc -/* 0DFB4C 7F0AB01C 0FC2935D */ jal sub_GAME_7F0A4D74 +/* 0DFB4C 7F0AB01C 0FC2935D */ jal controllerCheckDualControllerTypesAllowed /* 0DFB50 7F0AB020 00000000 */ nop /* 0DFB54 7F0AB024 10400018 */ beqz $v0, .L7F0AB088 /* 0DFB58 7F0AB028 3C01C0A0 */ lui $at, 0xc0a0 @@ -9429,7 +9663,7 @@ glabel sub_GAME_7F0AADC0 /* 0DFCE0 7F0AB1B0 8FA702E8 */ lw $a3, 0x2e8($sp) /* 0DFCE4 7F0AB1B4 00408025 */ move $s0, $v0 .L7F0AB1B8: -/* 0DFCE8 7F0AB1B8 0FC2935D */ jal sub_GAME_7F0A4D74 +/* 0DFCE8 7F0AB1B8 0FC2935D */ jal controllerCheckDualControllerTypesAllowed /* 0DFCEC 7F0AB1BC 00000000 */ nop /* 0DFCF0 7F0AB1C0 104000A2 */ beqz $v0, .L7F0AB44C /* 0DFCF4 7F0AB1C4 24040001 */ li $a0, 1 @@ -9440,7 +9674,7 @@ glabel sub_GAME_7F0AADC0 /* 0DFD08 7F0AB1D8 24C60B38 */ addiu $a2, %lo(D_80040B38) # addiu $a2, $a2, 0xb38 /* 0DFD0C 7F0AB1DC 0FC2A5A1 */ jal sub_GAME_7F0A9684 /* 0DFD10 7F0AB1E0 24A50B3C */ addiu $a1, %lo(D_80040B3C) # addiu $a1, $a1, 0xb3c -/* 0DFD14 7F0AB1E4 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0DFD14 7F0AB1E4 0FC15FF4 */ jal reset_array_of_0x10_floats /* 0DFD18 7F0AB1E8 27A404FC */ addiu $a0, $sp, 0x4fc /* 0DFD1C 7F0AB1EC 3C0D8005 */ lui $t5, %hi(D_80048498) /* 0DFD20 7F0AB1F0 8DAD8498 */ lw $t5, %lo(D_80048498)($t5) @@ -9598,7 +9832,7 @@ glabel sub_GAME_7F0AADC0 /* 0DFF74 7F0AB444 27A7004C */ addiu $a3, $sp, 0x4c /* 0DFF78 7F0AB448 00408025 */ move $s0, $v0 .L7F0AB44C: -/* 0DFF7C 7F0AB44C 0FC2935D */ jal sub_GAME_7F0A4D74 +/* 0DFF7C 7F0AB44C 0FC2935D */ jal controllerCheckDualControllerTypesAllowed /* 0DFF80 7F0AB450 00000000 */ nop /* 0DFF84 7F0AB454 10400005 */ beqz $v0, .L7F0AB46C /* 0DFF88 7F0AB458 00000000 */ nop @@ -9714,7 +9948,7 @@ glabel sub_GAME_7F0AADC0 /* 0E0600 7F0ABA90 00002025 */ move $a0, $zero /* 0E0604 7F0ABA94 0FC2A891 */ jal sub_GAME_7F0A9684 /* 0E0608 7F0ABA98 ADA10000 */ sw $at, ($t5) -/* 0E060C 7F0ABA9C 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0E060C 7F0ABA9C 0FC1613C */ jal reset_array_of_0x10_floats /* 0E0610 7F0ABAA0 27A404FC */ addiu $a0, $sp, 0x4fc /* 0E0614 7F0ABAA4 3C018004 */ lui $at, %hi(D_80040B28) # $at, 0x8004 /* 0E0618 7F0ABAA8 C4240B58 */ lwc1 $f4, %lo(D_80040B28)($at) @@ -9793,7 +10027,7 @@ glabel sub_GAME_7F0AADC0 /* 0E0734 7F0ABBC4 27A503FC */ addiu $a1, $sp, 0x3fc /* 0E0738 7F0ABBC8 0FC1617A */ jal sub_GAME_7F0580C8 /* 0E073C 7F0ABBCC 27A603BC */ addiu $a2, $sp, 0x3bc -/* 0E0740 7F0ABBD0 0FC29645 */ jal sub_GAME_7F0A4D74 +/* 0E0740 7F0ABBD0 0FC29645 */ jal controllerCheckDualControllerTypesAllowed /* 0E0744 7F0ABBD4 00000000 */ nop /* 0E0748 7F0ABBD8 10400018 */ beqz $v0, .Ljp7F0ABC3C /* 0E074C 7F0ABBDC 3C01C0A0 */ lui $at, 0xc0a0 @@ -9900,7 +10134,7 @@ glabel sub_GAME_7F0AADC0 /* 0E08D4 7F0ABD64 8FA702E8 */ lw $a3, 0x2e8($sp) /* 0E08D8 7F0ABD68 00408025 */ move $s0, $v0 .Ljp7F0ABD6C: -/* 0E08DC 7F0ABD6C 0FC29645 */ jal sub_GAME_7F0A4D74 +/* 0E08DC 7F0ABD6C 0FC29645 */ jal controllerCheckDualControllerTypesAllowed /* 0E08E0 7F0ABD70 00000000 */ nop /* 0E08E4 7F0ABD74 1040009F */ beqz $v0, .Ljp7F0ABFF4 /* 0E08E8 7F0ABD78 24040001 */ li $a0, 1 @@ -9911,7 +10145,7 @@ glabel sub_GAME_7F0AADC0 /* 0E08FC 7F0ABD8C 24C60B68 */ addiu $a2, %lo(D_80040B38) # addiu $a2, $a2, 0xb68 /* 0E0900 7F0ABD90 0FC2A891 */ jal sub_GAME_7F0A9684 /* 0E0904 7F0ABD94 24A50B6C */ addiu $a1, %lo(D_80040B3C) # addiu $a1, $a1, 0xb6c -/* 0E0908 7F0ABD98 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0 +/* 0E0908 7F0ABD98 0FC1613C */ jal reset_array_of_0x10_floats /* 0E090C 7F0ABD9C 27A404FC */ addiu $a0, $sp, 0x4fc /* 0E0910 7F0ABDA0 3C018004 */ lui $at, %hi(D_80040B38) # $at, 0x8004 /* 0E0914 7F0ABDA4 C4300B68 */ lwc1 $f16, %lo(D_80040B38)($at) @@ -10066,7 +10300,7 @@ glabel sub_GAME_7F0AADC0 /* 0E0B5C 7F0ABFEC 27A7004C */ addiu $a3, $sp, 0x4c /* 0E0B60 7F0ABFF0 00408025 */ move $s0, $v0 .Ljp7F0ABFF4: -/* 0E0B64 7F0ABFF4 0FC29645 */ jal sub_GAME_7F0A4D74 +/* 0E0B64 7F0ABFF4 0FC29645 */ jal controllerCheckDualControllerTypesAllowed /* 0E0B68 7F0ABFF8 00000000 */ nop /* 0E0B6C 7F0ABFFC 10400005 */ beqz $v0, .Ljp7F0AC014 /* 0E0B70 7F0AC000 00000000 */ nop @@ -10093,20 +10327,20 @@ glabel sub_GAME_7F0AADC0 -void sub_GAME_7F0AB48C(void) { +void zero_D_80040998(void) { D_80040998 = 0; } -void sub_GAME_7F0AB498(void) { +void zero_D_8004099C(void) { D_8004099C = 0; } -void sub_GAME_7F0AB4A4(void) { - D_800409A4 = 0; +void zero_D_800409A4(void) { + D_800409A4 = 0; } -u32 sub_GAME_7F0AB4B0(u32 uParm1) { - return uParm1; +u32 return_arg0_7F0AB4B0(u32 uParm1) { + return uParm1; } @@ -10114,8 +10348,74 @@ u32 sub_GAME_7F0AB4B0(u32 uParm1) { #ifdef NONMATCHING -void sub_GAME_7F0AB4B8(void) { +void proc_7F0AB4B8(u32 param_1,u32 param_2) +{ + ?32 sp5C; + ?32 sp58; + s32 sp54; + s32 sp50; + s32 pFirstFontTableSmall; + s32 pSecondFontTableSmall; + s32 DL; + s32 txtptr; + ?32 phi_s1; + ?32 phi_s1_2; + + DL = sub_GAME_7F0A714C(param_1, param_2, 0); + if (check_watch_page_transistion_running() != 1) + { + pFirstFontTableSmall = (s32) ptrFirstFontTableSmall; + pSecondFontTableSmall = (s32) ptrSecondFontTableSmall; + microcode_constructor(sub_GAME_7F0AADC0(DL)); + txtptr = get_textptr_for_textID(0xac32); + sp5C = 0x40; + sp58 = 0x1a; + phi_s1 = 0xff00b0; + if (D_80040998 == 0) + { + phi_s1 = 0xa0ffa0f0; + if (watch_soundrelated_maybe != 0) + { + phi_s1 = -1; + } + } + sub_GAME_7F0AE98C(&sp50, &sp54, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, 0); + if ((watch_soundrelated_maybe != 0) && (D_80040998 == 0)) + { + jp_text_write_stuff(DL, &sp5C, &sp58, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, (?32) phi_s1, 0x7000a0, (s32) (sp54 + 1), sp50, 0, 0); + } + else + { + en_text_write_stuff(DL, &sp5C, &sp58, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, (?32) phi_s1, sp54, sp50, 0, 0); + } + sub_GAME_7F0A97D0(DL); + txtptr = get_textptr_for_textID(0xac33); + if (controllerCheckDualControllerTypesAllowed() != 0) + { + txtptr = get_textptr_for_textID(0xac34); + } + sp5C = 0x40; + sp58 = 0x2b; + if (D_80040998 == 1) + { + phi_s1_2 = 0xa0ffa0f0; + if (watch_soundrelated_maybe != 0) + { + phi_s1_2 = -1; + } + } + sub_GAME_7F0AE98C(&sp50, &sp54, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, 0); + if ((watch_soundrelated_maybe != 0) && (D_80040998 == 1)) + { + jp_text_write_stuff(DL, &sp5C, &sp58, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, (?32) phi_s1_2, 0x7000a0, (s32) (sp54 + 1), sp50, 0, 0); + } + else + { + en_text_write_stuff(DL, &sp5C, &sp58, txtptr, pSecondFontTableSmall, pFirstFontTableSmall, (?32) phi_s1_2, sp54, sp50, 0, 0); + } + } + return; } #else GLOBAL_ASM( @@ -10229,7 +10529,7 @@ glabel sub_GAME_7F0AB4B8 /* 0E017C 7F0AB64C 00408025 */ move $s0, $v0 /* 0E0180 7F0AB650 0FC30776 */ jal get_textptr_for_textID /* 0E0184 7F0AB654 3404AC33 */ li $a0, 44083 -/* 0E0188 7F0AB658 0FC2935D */ jal sub_GAME_7F0A4D74 +/* 0E0188 7F0AB658 0FC2935D */ jal controllerCheckDualControllerTypesAllowed /* 0E018C 7F0AB65C 00409025 */ move $s2, $v0 /* 0E0190 7F0AB660 10400004 */ beqz $v0, .L7F0AB674 /* 0E0194 7F0AB664 00000000 */ nop @@ -10325,29 +10625,13 @@ glabel sub_GAME_7F0AB4B8 -#ifdef NONMATCHING -void sub_GAME_7F0AB7A4(void) { +void set_pparam1toparam2_disablejoylr_playsfx(u32 *param_1,u32 param_2) +{ + *param_1 = param_2; + set_controlstick_lr_disabled(); + play_sfx_a1(ptr_sfx_buf,0x2b,NULL); } -#else -GLOBAL_ASM( -.text -glabel sub_GAME_7F0AB7A4 -/* 0E02D4 7F0AB7A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0E02D8 7F0AB7A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0E02DC 7F0AB7AC 0FC293E9 */ jal set_controlstick_lr_enabled_0 -/* 0E02E0 7F0AB7B0 AC850000 */ sw $a1, ($a0) -/* 0E02E4 7F0AB7B4 3C048006 */ lui $a0, %hi(ptr_sfx_buf) -/* 0E02E8 7F0AB7B8 8C843720 */ lw $a0, %lo(ptr_sfx_buf)($a0) -/* 0E02EC 7F0AB7BC 2405002B */ li $a1, 43 -/* 0E02F0 7F0AB7C0 0C002382 */ jal play_sfx_a1 -/* 0E02F4 7F0AB7C4 00003025 */ move $a2, $zero -/* 0E02F8 7F0AB7C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E02FC 7F0AB7CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0E0300 7F0AB7D0 03E00008 */ jr $ra -/* 0E0304 7F0AB7D4 00000000 */ nop -) -#endif @@ -10388,7 +10672,7 @@ glabel sub_GAME_7F0AB7D8 /* 0E0364 7F0AB834 24440008 */ addiu $a0, $v0, 8 /* 0E0368 7F0AB838 54610006 */ bnel $v1, $at, .L7F0AB854 /* 0E036C 7F0AB83C 24010002 */ li $at, 2 -/* 0E0370 7F0AB840 0FC2ADE9 */ jal sub_GAME_7F0AB7A4 +/* 0E0370 7F0AB840 0FC2ADE9 */ jal set_pparam1toparam2_disablejoylr_playsfx /* 0E0374 7F0AB844 00002825 */ move $a1, $zero /* 0E0378 7F0AB848 1000002C */ b .L7F0AB8FC /* 0E037C 7F0AB84C 8FBF0014 */ lw $ra, 0x14($sp) @@ -10396,7 +10680,7 @@ glabel sub_GAME_7F0AB7D8 .L7F0AB854: /* 0E0384 7F0AB854 14610028 */ bne $v1, $at, .L7F0AB8F8 /* 0E0388 7F0AB858 24440008 */ addiu $a0, $v0, 8 -/* 0E038C 7F0AB85C 0FC2ADE9 */ jal sub_GAME_7F0AB7A4 +/* 0E038C 7F0AB85C 0FC2ADE9 */ jal set_pparam1toparam2_disablejoylr_playsfx /* 0E0390 7F0AB860 24050001 */ li $a1, 1 /* 0E0394 7F0AB864 10000025 */ b .L7F0AB8FC /* 0E0398 7F0AB868 8FBF0014 */ lw $ra, 0x14($sp) @@ -10425,7 +10709,7 @@ glabel sub_GAME_7F0AB7D8 /* 0E03EC 7F0AB8BC 24010001 */ li $at, 1 /* 0E03F0 7F0AB8C0 14600005 */ bnez $v1, .L7F0AB8D8 /* 0E03F4 7F0AB8C4 00000000 */ nop -/* 0E03F8 7F0AB8C8 0FC2ADE9 */ jal sub_GAME_7F0AB7A4 +/* 0E03F8 7F0AB8C8 0FC2ADE9 */ jal set_pparam1toparam2_disablejoylr_playsfx /* 0E03FC 7F0AB8CC 24050001 */ li $a1, 1 /* 0E0400 7F0AB8D0 1000000A */ b .L7F0AB8FC /* 0E0404 7F0AB8D4 8FBF0014 */ lw $ra, 0x14($sp) @@ -10436,7 +10720,7 @@ glabel sub_GAME_7F0AB7D8 /* 0E0414 7F0AB8E4 24440008 */ addiu $a0, $v0, 8 /* 0E0418 7F0AB8E8 51800004 */ beql $t4, $zero, .L7F0AB8FC /* 0E041C 7F0AB8EC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0E0420 7F0AB8F0 0FC2ADE9 */ jal sub_GAME_7F0AB7A4 +/* 0E0420 7F0AB8F0 0FC2ADE9 */ jal set_pparam1toparam2_disablejoylr_playsfx /* 0E0424 7F0AB8F4 24050002 */ li $a1, 2 .L7F0AB8F8: /* 0E0428 7F0AB8F8 8FBF0014 */ lw $ra, 0x14($sp) @@ -11374,7 +11658,7 @@ glabel sub_GAME_7F0AC168 /* 0E1070 7F0AC540 10000001 */ b .L7F0AC548 /* 0E1074 7F0AC544 24040001 */ li $a0, 1 .L7F0AC548: -/* 0E1078 7F0AC548 0FC2B2E8 */ jal sub_GAME_7F0ACBA0 +/* 0E1078 7F0AC548 0FC2B2E8 */ jal setTextOverlapCorrection /* 0E107C 7F0AC54C 00000000 */ nop /* 0E1080 7F0AC550 0FC30776 */ jal get_textptr_for_textID /* 0E1084 7F0AC554 3404AC3C */ li $a0, 44092 @@ -11408,7 +11692,7 @@ glabel sub_GAME_7F0AC168 /* 0E10F0 7F0AC5C0 A3A00088 */ sb $zero, 0x88($sp) /* 0E10F4 7F0AC5C4 02202025 */ move $a0, $s1 .L7F0AC5C8: -/* 0E10F8 7F0AC5C8 0C0029FF */ jal string_load_parse_something +/* 0E10F8 7F0AC5C8 0C0029FF */ jal string_append_from_obseg_textbank /* 0E10FC 7F0AC5CC 02802825 */ move $a1, $s4 /* 0E1100 7F0AC5D0 26100001 */ addiu $s0, $s0, 1 /* 0E1104 7F0AC5D4 5612FFFC */ bnel $s0, $s2, .L7F0AC5C8 @@ -11418,7 +11702,7 @@ glabel sub_GAME_7F0AC168 /* 0E1110 7F0AC5E0 1A600007 */ blez $s3, .L7F0AC600 /* 0E1114 7F0AC5E4 02202025 */ move $a0, $s1 .L7F0AC5E8: -/* 0E1118 7F0AC5E8 0C0029FF */ jal string_load_parse_something +/* 0E1118 7F0AC5E8 0C0029FF */ jal string_append_from_obseg_textbank /* 0E111C 7F0AC5EC 02A02825 */ move $a1, $s5 /* 0E1120 7F0AC5F0 26100001 */ addiu $s0, $s0, 1 /* 0E1124 7F0AC5F4 5613FFFC */ bnel $s0, $s3, .L7F0AC5E8 @@ -11435,7 +11719,7 @@ glabel sub_GAME_7F0AC168 /* 0E114C 7F0AC61C 0C002B25 */ jal sprintf /* 0E1150 7F0AC620 24C60061 */ addiu $a2, $a2, 0x61 /* 0E1154 7F0AC624 02202025 */ move $a0, $s1 -/* 0E1158 7F0AC628 0C0029FF */ jal string_load_parse_something +/* 0E1158 7F0AC628 0C0029FF */ jal string_append_from_obseg_textbank /* 0E115C 7F0AC62C 8FA50078 */ lw $a1, 0x78($sp) /* 0E1160 7F0AC630 3C0E8005 */ lui $t6, %hi(j_text_trigger) /* 0E1164 7F0AC634 8DCE84D0 */ lw $t6, %lo(j_text_trigger)($t6) @@ -11503,7 +11787,7 @@ glabel sub_GAME_7F0AC168 /* 0E1250 7F0AC720 A3A00088 */ sb $zero, 0x88($sp) /* 0E1254 7F0AC724 02202025 */ move $a0, $s1 .L7F0AC728: -/* 0E1258 7F0AC728 0C0029FF */ jal string_load_parse_something +/* 0E1258 7F0AC728 0C0029FF */ jal string_append_from_obseg_textbank /* 0E125C 7F0AC72C 02C02825 */ move $a1, $s6 /* 0E1260 7F0AC730 26100001 */ addiu $s0, $s0, 1 /* 0E1264 7F0AC734 5612FFFC */ bnel $s0, $s2, .L7F0AC728 @@ -11513,7 +11797,7 @@ glabel sub_GAME_7F0AC168 /* 0E1270 7F0AC740 1A600006 */ blez $s3, .L7F0AC75C /* 0E1274 7F0AC744 02202025 */ move $a0, $s1 .L7F0AC748: -/* 0E1278 7F0AC748 0C0029FF */ jal string_load_parse_something +/* 0E1278 7F0AC748 0C0029FF */ jal string_append_from_obseg_textbank /* 0E127C 7F0AC74C 02E02825 */ move $a1, $s7 /* 0E1280 7F0AC750 26100001 */ addiu $s0, $s0, 1 /* 0E1284 7F0AC754 5613FFFC */ bnel $s0, $s3, .L7F0AC748 @@ -11532,7 +11816,7 @@ glabel sub_GAME_7F0AC168 /* 0E12B4 7F0AC784 1000001F */ b .L7F0AC804 /* 0E12B8 7F0AC788 8FA90D4C */ lw $t1, 0xd4c($sp) .L7F0AC78C: -/* 0E12BC 7F0AC78C 0C0029FF */ jal string_load_parse_something +/* 0E12BC 7F0AC78C 0C0029FF */ jal string_append_from_obseg_textbank /* 0E12C0 7F0AC790 8FA50168 */ lw $a1, 0x168($sp) /* 0E12C4 7F0AC794 3C198004 */ lui $t9, %hi(D_80040AFC) /* 0E12C8 7F0AC798 8F390AFC */ lw $t9, %lo(D_80040AFC)($t9) @@ -11546,12 +11830,12 @@ glabel sub_GAME_7F0AC168 /* 0E12E4 7F0AC7B4 3C08A0FF */ lui $t0, (0xA0FFA0F0 >> 16) # lui $t0, 0xa0ff /* 0E12E8 7F0AC7B8 3508A0F0 */ ori $t0, (0xA0FFA0F0 & 0xFFFF) # ori $t0, $t0, 0xa0f0 /* 0E12EC 7F0AC7BC AFA80084 */ sw $t0, 0x84($sp) -/* 0E12F0 7F0AC7C0 0C0029FF */ jal string_load_parse_something +/* 0E12F0 7F0AC7C0 0C0029FF */ jal string_append_from_obseg_textbank /* 0E12F4 7F0AC7C4 8FA5016C */ lw $a1, 0x16c($sp) /* 0E12F8 7F0AC7C8 1000000E */ b .L7F0AC804 /* 0E12FC 7F0AC7CC 8FA90D4C */ lw $t1, 0xd4c($sp) .L7F0AC7D0: -/* 0E1300 7F0AC7D0 0C0029FF */ jal string_load_parse_something +/* 0E1300 7F0AC7D0 0C0029FF */ jal string_append_from_obseg_textbank /* 0E1304 7F0AC7D4 8FA50164 */ lw $a1, 0x164($sp) /* 0E1308 7F0AC7D8 3C0C8005 */ lui $t4, %hi(j_text_trigger) /* 0E130C 7F0AC7DC 8D8C84D0 */ lw $t4, %lo(j_text_trigger)($t4) @@ -11626,7 +11910,7 @@ glabel sub_GAME_7F0AC168 /* 0E1404 7F0AC8D4 1420FF2E */ bnez $at, .L7F0AC590 /* 0E1408 7F0AC8D8 00000000 */ nop .L7F0AC8DC: -/* 0E140C 7F0AC8DC 0FC2B2E8 */ jal sub_GAME_7F0ACBA0 +/* 0E140C 7F0AC8DC 0FC2B2E8 */ jal setTextOverlapCorrection /* 0E1410 7F0AC8E0 2404FFFF */ li $a0, -1 /* 0E1414 7F0AC8E4 0FC29A13 */ jal sub_GAME_7F0A684C /* 0E1418 7F0AC8E8 00000000 */ nop diff --git a/src/init.c b/src/init.c index ff3f72c7..3b5f2935 100644 --- a/src/init.c +++ b/src/init.c @@ -52,7 +52,7 @@ void init(void) jump_decompressfile((_rarezipSegmentVaddrStart - cdata_rom_size), cdata_vaddr_start, 0x80300000); - if (0xfff00050 == 0) + if ((&_rarezipSegmentRomStart - &_codeSegmentRomStart) >= 0xfffb1) { osPiRawStartDma(0, 0x101000, 0x70100400, ((&_rarezipSegmentRomStart - &_codeSegmentRomStart) + 0xfff00050)); while ((osPiGetStatus() & 1) != 0) {} @@ -279,69 +279,21 @@ void start_rmon_thread(void) /** * 13EC 700007EC */ -#ifdef NONMATCHING -void init_scheduler(void) { +void init_scheduler(void) +{ osCreateMesgQueue(&gfxFrameMsgQ, &gfxFrameMsgBuf, 32); - if (osTvType = OS_TV_MPAL) { + if (osTvType == 2) //OS_TV_MPAL + { osCreateScheduler(&sc, &shedThread, OS_VI_MPAL_LAN1, NUM_FIELDS); - } else { - osCreateScheduler(&sc, &shedThread, OS_VI_NTSC_LAN1, NUM_FIELDS); + } + else + { + osCreateScheduler(&sc, &shedThread, OS_VI_NTSC_LAN1, NUM_FIELDS); } - osScAddClient(&sc, &gfxClient, &gfxFrameMsgQ); + + osScAddClient(&sc, &gfxClient, &gfxFrameMsgQ, 0); sched_cmdQ = osScGetCmdQ(&sc); } -#else -GLOBAL_ASM( -.section .text -glabel init_scheduler -/* 0013EC 700007EC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0013F0 700007F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0013F4 700007F4 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) -/* 0013F8 700007F8 3C058006 */ lui $a1, %hi(gfxFrameMsgBuf) -/* 0013FC 700007FC 24A5D9B8 */ addiu $a1, $a1, %lo(gfxFrameMsgBuf) -/* 001400 70000800 2484D9A0 */ addiu $a0, $a0, %lo(gfxFrameMsgQ) -/* 001404 70000804 0C0035B4 */ jal osCreateMesgQueue -/* 001408 70000808 24060020 */ addiu $a2, $zero, 0x20 -/* 00140C 7000080C 3C0E8000 */ lui $t6, %hi(osTvType) -/* 001410 70000810 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -/* 001414 70000814 24010002 */ addiu $at, $zero, 2 -/* 001418 70000818 3C048006 */ lui $a0, %hi(sc) -/* 00141C 7000081C 15C1000A */ bne $t6, $at, .Linit_scheduler_5C -/* 001420 70000820 2484DA40 */ addiu $a0, $a0, %lo(sc) -/* 001424 70000824 3C048006 */ lui $a0, %hi(sc) -/* 001428 70000828 3C058006 */ lui $a1, %hi(shedThread) -/* 00142C 7000082C 24A5D7F0 */ addiu $a1, $a1, %lo(shedThread) -/* 001430 70000830 2484DA40 */ addiu $a0, $a0, %lo(sc) -/* 001434 70000834 2406001E */ addiu $a2, $zero, 0x1e -/* 001438 70000838 0C0002AB */ jal osCreateScheduler -/* 00143C 7000083C 24070001 */ addiu $a3, $zero, 1 -/* 001440 70000840 10000006 */ b .Linit_scheduler_70 -/* 001444 70000844 00000000 */ nop -.Linit_scheduler_5C: -/* 001448 70000848 3C058006 */ lui $a1, %hi(shedThread) -/* 00144C 7000084C 24A5D7F0 */ addiu $a1, $a1, %lo(shedThread) -/* 001450 70000850 24060002 */ addiu $a2, $zero, 2 -/* 001454 70000854 0C0002AB */ jal osCreateScheduler -/* 001458 70000858 24070001 */ addiu $a3, $zero, 1 -.Linit_scheduler_70: -/* 00145C 7000085C 3C048006 */ lui $a0, %hi(sc) -/* 001460 70000860 3C058006 */ lui $a1, %hi(gfxClient) -/* 001464 70000864 3C068006 */ lui $a2, %hi(gfxFrameMsgQ) -/* 001468 70000868 24C6D9A0 */ addiu $a2, $a2, %lo(gfxFrameMsgQ) -/* 00146C 7000086C 24A5DB18 */ addiu $a1, $a1, %lo(gfxClient) -/* 001470 70000870 2484DA40 */ addiu $a0, $a0, %lo(sc) -/* 001474 70000874 0C000305 */ jal osScAddClient -/* 001478 70000878 00003825 */ or $a3, $zero, $zero -/* 00147C 7000087C 3C048006 */ lui $a0, %hi(sc) -/* 001480 70000880 0C00033E */ jal osScGetCmdQ -/* 001484 70000884 2484DA40 */ addiu $a0, $a0, %lo(sc) -/* 001488 70000888 8FBF0014 */ lw $ra, 0x14($sp) -/* 00148C 7000088C 3C018006 */ lui $at, %hi(sched_cmdQ) -/* 001490 70000890 AC22DA38 */ sw $v0, %lo(sched_cmdQ)($at) # $v0, -0x25c8($at) -/* 001494 70000894 03E00008 */ jr $ra -/* 001498 70000898 27BD0018 */ addiu $sp, $sp, 0x18 -) -#endif /** * 149C 7000089C start main game setup and loop @@ -349,7 +301,8 @@ glabel init_scheduler * called by 70000510, using 7000D430: A0=8005D640, A1=3, A2=7000089C, A3=0, SP+10=[803B3948], SP+14=0xA * never returns; 7000601C is an infinite loop */ -void thread3_main(void *args) { +void thread3_main(void *args) +{ start_idle_thread(); start_nulled_entry(); start_pi_manager(); diff --git a/src/joy.c b/src/joy.c index c12cb149..1eb558ff 100644 --- a/src/joy.c +++ b/src/joy.c @@ -73,7 +73,7 @@ s32 controller_1_rumble_pulse = 0; s32 controller_2_rumble_pulse = 0; s32 controller_3_rumble_pulse = 0; s32 controller_4_rumble_pulse = 0; -s32 D_80026918 = 0; +s32 enableControllers = 0; s32 D_8002691C = 0; s32 D_80026920 = 0; s32 disable_all_rumble = 0; @@ -117,7 +117,7 @@ void *something_with_joy_c_debug(void) { osCreateMesgQueue(&cont4MesgMQ, &cont4Mesg, 1); osCreateMesgQueue(&contdemoMesgMQ, &contdemoMesg, 0xa); osSetEventMesg(5, &contdemoMesgMQ, 0); - D_80026918 = 1; + enableControllers = 1; disable_all_rumble = 0; temp_v0 = (0x80060000 + 0x4f30); ptr_to_tlb_ramrom_record = 0; @@ -197,8 +197,8 @@ glabel something_with_joy_c_debug /* 00C200 7000B600 0C003714 */ jal osSetEventMesg /* 00C204 7000B604 00003025 */ move $a2, $zero /* 00C208 7000B608 240E0001 */ li $t6, 1 -/* 00C20C 7000B60C 3C018002 */ lui $at, %hi(D_80026918) -/* 00C210 7000B610 AC2E6918 */ sw $t6, %lo(D_80026918)($at) +/* 00C20C 7000B60C 3C018002 */ lui $at, %hi(enableControllers) +/* 00C210 7000B610 AC2E6918 */ sw $t6, %lo(enableControllers)($at) /* 00C214 7000B614 3C018002 */ lui $at, %hi(disable_all_rumble) /* 00C218 7000B618 AC206924 */ sw $zero, %lo(disable_all_rumble)($at) /* 00C21C 7000B61C 3C0F8006 */ lui $t7, %hi(controller_input_index) @@ -243,81 +243,26 @@ glabel something_with_joy_c_debug -#ifdef NONMATCHING -void test_controller_presence(void) { - ? sp1C; - // Node 0 - if (D_80026918 != 0) +void test_controller_presence(void) +{ + OSMesg sp1C; + + if (enableControllers != 0) { - // Node 1 osSendMesg(&cont1MesgMQ, &sp1C, 0); osRecvMesg(&cont2MesgMQ, &sp1C, 1); controller_check_for_rumble_maybe(); osSendMesg(&cont3MesgMQ, &sp1C, 0); osRecvMesg(&cont4MesgMQ, &sp1C, 1); - return; - // (possible return value: osRecvMesg(&cont4MesgMQ, &sp1C, 1)) } - // (function likely void) } -#else -GLOBAL_ASM( -.text -glabel test_controller_presence -/* 00C2AC 7000B6AC 3C0E8002 */ lui $t6, %hi(D_80026918) -/* 00C2B0 7000B6B0 8DCE6918 */ lw $t6, %lo(D_80026918)($t6) -/* 00C2B4 7000B6B4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00C2B8 7000B6B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00C2BC 7000B6BC 11C00016 */ beqz $t6, .L7000B718 -/* 00C2C0 7000B6C0 3C048006 */ lui $a0, %hi(cont1MesgMQ) -/* 00C2C4 7000B6C4 24845370 */ addiu $a0, %lo(cont1MesgMQ) # addiu $a0, $a0, 0x5370 -/* 00C2C8 7000B6C8 27A5001C */ addiu $a1, $sp, 0x1c -/* 00C2CC 7000B6CC 0C0037C4 */ jal osSendMesg -/* 00C2D0 7000B6D0 00003025 */ move $a2, $zero -/* 00C2D4 7000B6D4 3C048006 */ lui $a0, %hi(cont2MesgMQ) -/* 00C2D8 7000B6D8 24845390 */ addiu $a0, %lo(cont2MesgMQ) # addiu $a0, $a0, 0x5390 -/* 00C2DC 7000B6DC 27A5001C */ addiu $a1, $sp, 0x1c -/* 00C2E0 7000B6E0 0C003774 */ jal osRecvMesg -/* 00C2E4 7000B6E4 24060001 */ li $a2, 1 -/* 00C2E8 7000B6E8 0C002E04 */ jal controller_check_for_rumble_maybe -/* 00C2EC 7000B6EC 00000000 */ nop -/* 00C2F0 7000B6F0 3C048006 */ lui $a0, %hi(cont3MesgMQ) -/* 00C2F4 7000B6F4 248453B0 */ addiu $a0, %lo(cont3MesgMQ) # addiu $a0, $a0, 0x53b0 -/* 00C2F8 7000B6F8 27A5001C */ addiu $a1, $sp, 0x1c -/* 00C2FC 7000B6FC 0C0037C4 */ jal osSendMesg -/* 00C300 7000B700 00003025 */ move $a2, $zero -/* 00C304 7000B704 3C048006 */ lui $a0, %hi(cont4MesgMQ) -/* 00C308 7000B708 248453D0 */ addiu $a0, %lo(cont4MesgMQ) # addiu $a0, $a0, 0x53d0 -/* 00C30C 7000B70C 27A5001C */ addiu $a1, $sp, 0x1c -/* 00C310 7000B710 0C003774 */ jal osRecvMesg -/* 00C314 7000B714 24060001 */ li $a2, 1 -.L7000B718: -/* 00C318 7000B718 8FBF0014 */ lw $ra, 0x14($sp) -/* 00C31C 7000B71C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00C320 7000B720 03E00008 */ jr $ra -/* 00C324 7000B724 00000000 */ nop -) -#endif - - - - -#ifdef NONMATCHING -s32 osPfsChecker(s32 *arg0) { - return; - // (possible return value: 3) +s32 osPfsChecker(u32 *param_1) //OSPfs *param_1 +{ + return 3; } -#else -GLOBAL_ASM( -.text -glabel osPfsChecker -/* 00C328 7000B728 AFA40000 */ sw $a0, ($sp) -/* 00C32C 7000B72C 03E00008 */ jr $ra -/* 00C330 7000B730 24020003 */ li $v0, 3 -) -#endif + diff --git a/src/libultra/Mtx.s b/src/libultra/Mtx.s new file mode 100644 index 00000000..2a5f0962 --- /dev/null +++ b/src/libultra/Mtx.s @@ -0,0 +1,187 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel guMtxF2L +/* 010B10 7000FF10 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 010B14 7000FF14 44810000 */ mtc1 $at, $f0 +/* 010B18 7000FF18 00A01025 */ move $v0, $a1 +/* 010B1C 7000FF1C 24A30020 */ addiu $v1, $a1, 0x20 +/* 010B20 7000FF20 00003025 */ move $a2, $zero +/* 010B24 7000FF24 00803825 */ move $a3, $a0 +/* 010B28 7000FF28 240C0004 */ li $t4, 4 +/* 010B2C 7000FF2C 240B0002 */ li $t3, 2 +/* 010B30 7000FF30 3C0AFFFF */ lui $t2, 0xffff +.L7000FF34: +/* 010B34 7000FF34 00002025 */ move $a0, $zero +/* 010B38 7000FF38 00E04025 */ move $t0, $a3 +/* 010B3C 7000FF3C C50E0004 */ lwc1 $f14, 4($t0) +/* 010B40 7000FF40 24840001 */ addiu $a0, $a0, 1 +/* 010B44 7000FF44 C5120000 */ lwc1 $f18, ($t0) +/* 010B48 7000FF48 46007402 */ mul.s $f16, $f14, $f0 +/* 010B4C 7000FF4C 108B0019 */ beq $a0, $t3, .L7000FFB4 +/* 010B50 7000FF50 00000000 */ nop +.L7000FF54: +/* 010B54 7000FF54 46009382 */ mul.s $f14, $f18, $f0 +/* 010B58 7000FF58 24840001 */ addiu $a0, $a0, 1 +/* 010B5C 7000FF5C 24420004 */ addiu $v0, $v0, 4 +/* 010B60 7000FF60 24630004 */ addiu $v1, $v1, 4 +/* 010B64 7000FF64 25080008 */ addiu $t0, $t0, 8 +/* 010B68 7000FF68 4600830D */ trunc.w.s $f12, $f16 +/* 010B6C 7000FF6C 4600738D */ trunc.w.s $f14, $f14 +/* 010B70 7000FF70 44096000 */ mfc1 $t1, $f12 +/* 010B74 7000FF74 44057000 */ mfc1 $a1, $f14 +/* 010B78 7000FF78 0009CC03 */ sra $t9, $t1, 0x10 +/* 010B7C 7000FF7C 332DFFFF */ andi $t5, $t9, 0xffff +/* 010B80 7000FF80 00AAC024 */ and $t8, $a1, $t2 +/* 010B84 7000FF84 030D7025 */ or $t6, $t8, $t5 +/* 010B88 7000FF88 00057C00 */ sll $t7, $a1, 0x10 +/* 010B8C 7000FF8C 01EAC824 */ and $t9, $t7, $t2 +/* 010B90 7000FF90 AC4EFFFC */ sw $t6, -4($v0) +/* 010B94 7000FF94 3138FFFF */ andi $t8, $t1, 0xffff +/* 010B98 7000FF98 03386825 */ or $t5, $t9, $t8 +/* 010B9C 7000FF9C AC6DFFFC */ sw $t5, -4($v1) +/* 010BA0 7000FFA0 C50E0004 */ lwc1 $f14, 4($t0) +/* 010BA4 7000FFA4 C5120000 */ lwc1 $f18, ($t0) +/* 010BA8 7000FFA8 46007402 */ mul.s $f16, $f14, $f0 +/* 010BAC 7000FFAC 148BFFE9 */ bne $a0, $t3, .L7000FF54 +/* 010BB0 7000FFB0 00000000 */ nop +.L7000FFB4: +/* 010BB4 7000FFB4 46009382 */ mul.s $f14, $f18, $f0 +/* 010BB8 7000FFB8 25080008 */ addiu $t0, $t0, 8 +/* 010BBC 7000FFBC 24420004 */ addiu $v0, $v0, 4 +/* 010BC0 7000FFC0 24630004 */ addiu $v1, $v1, 4 +/* 010BC4 7000FFC4 4600830D */ trunc.w.s $f12, $f16 +/* 010BC8 7000FFC8 4600738D */ trunc.w.s $f14, $f14 +/* 010BCC 7000FFCC 44096000 */ mfc1 $t1, $f12 +/* 010BD0 7000FFD0 44057000 */ mfc1 $a1, $f14 +/* 010BD4 7000FFD4 0009CC03 */ sra $t9, $t1, 0x10 +/* 010BD8 7000FFD8 332DFFFF */ andi $t5, $t9, 0xffff +/* 010BDC 7000FFDC 00AAC024 */ and $t8, $a1, $t2 +/* 010BE0 7000FFE0 030D7025 */ or $t6, $t8, $t5 +/* 010BE4 7000FFE4 00057C00 */ sll $t7, $a1, 0x10 +/* 010BE8 7000FFE8 01EAC824 */ and $t9, $t7, $t2 +/* 010BEC 7000FFEC 3138FFFF */ andi $t8, $t1, 0xffff +/* 010BF0 7000FFF0 AC4EFFFC */ sw $t6, -4($v0) +/* 010BF4 7000FFF4 03386825 */ or $t5, $t9, $t8 +/* 010BF8 7000FFF8 AC6DFFFC */ sw $t5, -4($v1) +/* 010BFC 7000FFFC 24C60001 */ addiu $a2, $a2, 1 +/* 010C00 70010000 14CCFFCC */ bne $a2, $t4, .L7000FF34 +/* 010C04 70010004 24E70010 */ addiu $a3, $a3, 0x10 +/* 010C08 70010008 03E00008 */ jr $ra +/* 010C0C 7001000C 00000000 */ nop + +.section .rodata +glabel F64_80029430 +.word 0x3f91df46, 0x9d353918 #0.017453292222222222 +.word 0,0 + +.section .text +glabel guMtxIdentF +/* 010C10 70010010 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 010C14 70010014 00801825 */ move $v1, $a0 +/* 010C18 70010018 44810000 */ mtc1 $at, $f0 +/* 010C1C 7001001C 44801000 */ mtc1 $zero, $f2 +/* 010C20 70010020 24040001 */ li $a0, 1 +/* 010C24 70010024 00001025 */ move $v0, $zero +/* 010C28 70010028 24070004 */ li $a3, 4 +/* 010C2C 7001002C 24060003 */ li $a2, 3 +/* 010C30 70010030 24050002 */ li $a1, 2 +.L70010034: +/* 010C34 70010034 54400004 */ bnezl $v0, .L70010048 +/* 010C38 70010038 E4620000 */ swc1 $f2, ($v1) +/* 010C3C 7001003C 10000002 */ b .L70010048 +/* 010C40 70010040 E4600000 */ swc1 $f0, ($v1) +/* 010C44 70010044 E4620000 */ swc1 $f2, ($v1) +.L70010048: +/* 010C48 70010048 54440004 */ bnel $v0, $a0, .L7001005C +/* 010C4C 7001004C E4620004 */ swc1 $f2, 4($v1) +/* 010C50 70010050 10000002 */ b .L7001005C +/* 010C54 70010054 E4600004 */ swc1 $f0, 4($v1) +/* 010C58 70010058 E4620004 */ swc1 $f2, 4($v1) +.L7001005C: +/* 010C5C 7001005C 54450004 */ bnel $v0, $a1, .L70010070 +/* 010C60 70010060 E4620008 */ swc1 $f2, 8($v1) +/* 010C64 70010064 10000002 */ b .L70010070 +/* 010C68 70010068 E4600008 */ swc1 $f0, 8($v1) +/* 010C6C 7001006C E4620008 */ swc1 $f2, 8($v1) +.L70010070: +/* 010C70 70010070 54460004 */ bnel $v0, $a2, .L70010084 +/* 010C74 70010074 E462000C */ swc1 $f2, 0xc($v1) +/* 010C78 70010078 10000002 */ b .L70010084 +/* 010C7C 7001007C E460000C */ swc1 $f0, 0xc($v1) +/* 010C80 70010080 E462000C */ swc1 $f2, 0xc($v1) +.L70010084: +/* 010C84 70010084 24420001 */ addiu $v0, $v0, 1 +/* 010C88 70010088 1447FFEA */ bne $v0, $a3, .L70010034 +/* 010C8C 7001008C 24630010 */ addiu $v1, $v1, 0x10 +/* 010C90 70010090 03E00008 */ jr $ra +/* 010C94 70010094 00000000 */ nop + +glabel guMtxIdent +/* 010C98 70010098 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 010C9C 7001009C AFBF0014 */ sw $ra, 0x14($sp) +/* 010CA0 700100A0 AFA40058 */ sw $a0, 0x58($sp) +/* 010CA4 700100A4 0C004004 */ jal guMtxIdentF +/* 010CA8 700100A8 27A40018 */ addiu $a0, $sp, 0x18 +/* 010CAC 700100AC 27A40018 */ addiu $a0, $sp, 0x18 +/* 010CB0 700100B0 0C003FC4 */ jal guMtxF2L +/* 010CB4 700100B4 8FA50058 */ lw $a1, 0x58($sp) +/* 010CB8 700100B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 010CBC 700100BC 27BD0058 */ addiu $sp, $sp, 0x58 +/* 010CC0 700100C0 03E00008 */ jr $ra +/* 010CC4 700100C4 00000000 */ nop + +glabel guMtxL2F +/* 010CC8 700100C8 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 010CCC 700100CC 44810000 */ mtc1 $at, $f0 +/* 010CD0 700100D0 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 010CD4 700100D4 00A01025 */ move $v0, $a1 +/* 010CD8 700100D8 24A30020 */ addiu $v1, $a1, 0x20 +/* 010CDC 700100DC 00003025 */ move $a2, $zero +/* 010CE0 700100E0 00804025 */ move $t0, $a0 +/* 010CE4 700100E4 240C0004 */ li $t4, 4 +/* 010CE8 700100E8 240B0002 */ li $t3, 2 +/* 010CEC 700100EC 3C0AFFFF */ lui $t2, 0xffff +.L700100F0: +/* 010CF0 700100F0 00002025 */ move $a0, $zero +/* 010CF4 700100F4 01004825 */ move $t1, $t0 +.L700100F8: +/* 010CF8 700100F8 8C6E0000 */ lw $t6, ($v1) +/* 010CFC 700100FC 8C590000 */ lw $t9, ($v0) +/* 010D00 70010100 24840001 */ addiu $a0, $a0, 1 +/* 010D04 70010104 000E7C02 */ srl $t7, $t6, 0x10 +/* 010D08 70010108 31F8FFFF */ andi $t8, $t7, 0xffff +/* 010D0C 7001010C 032A6824 */ and $t5, $t9, $t2 +/* 010D10 70010110 030D7025 */ or $t6, $t8, $t5 +/* 010D14 70010114 AFAE0004 */ sw $t6, 4($sp) +/* 010D18 70010118 8C6F0000 */ lw $t7, ($v1) +/* 010D1C 7001011C 8C580000 */ lw $t8, ($v0) +/* 010D20 70010120 8FA50004 */ lw $a1, 4($sp) +/* 010D24 70010124 31F9FFFF */ andi $t9, $t7, 0xffff +/* 010D28 70010128 00186C00 */ sll $t5, $t8, 0x10 +/* 010D2C 7001012C 44859000 */ mtc1 $a1, $f18 +/* 010D30 70010130 01AA7024 */ and $t6, $t5, $t2 +/* 010D34 70010134 032E3825 */ or $a3, $t9, $t6 +/* 010D38 70010138 468094A0 */ cvt.s.w $f18, $f18 +/* 010D3C 7001013C 44878000 */ mtc1 $a3, $f16 +/* 010D40 70010140 AFA70000 */ sw $a3, ($sp) +/* 010D44 70010144 24420004 */ addiu $v0, $v0, 4 +/* 010D48 70010148 24630004 */ addiu $v1, $v1, 4 +/* 010D4C 7001014C 46808420 */ cvt.s.w $f16, $f16 +/* 010D50 70010150 25290008 */ addiu $t1, $t1, 8 +/* 010D54 70010154 46009483 */ div.s $f18, $f18, $f0 +/* 010D58 70010158 46008403 */ div.s $f16, $f16, $f0 +/* 010D5C 7001015C E532FFF8 */ swc1 $f18, -8($t1) +/* 010D60 70010160 148BFFE5 */ bne $a0, $t3, .L700100F8 +/* 010D64 70010164 E530FFFC */ swc1 $f16, -4($t1) +/* 010D68 70010168 24C60001 */ addiu $a2, $a2, 1 +/* 010D6C 7001016C 14CCFFE0 */ bne $a2, $t4, .L700100F0 +/* 010D70 70010170 25080010 */ addiu $t0, $t0, 0x10 +/* 010D74 70010174 03E00008 */ jr $ra +/* 010D78 70010178 27BD0010 */ addiu $sp, $sp, 0x10 diff --git a/src/libultra/_Printf.s b/src/libultra/_Printf.s new file mode 100644 index 00000000..0f7ac684 --- /dev/null +++ b/src/libultra/_Printf.s @@ -0,0 +1,966 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel _Putfld +/* 0144F0 700138F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0144F4 700138F4 AFA50020 */ sw $a1, 0x20($sp) +/* 0144F8 700138F8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0144FC 700138FC 30AE00FF */ andi $t6, $a1, 0xff +/* 014500 70013900 29C10026 */ slti $at, $t6, 0x26 +/* 014504 70013904 01C02825 */ move $a1, $t6 +/* 014508 70013908 AE00000C */ sw $zero, 0xc($s0) +/* 01450C 7001390C AE000010 */ sw $zero, 0x10($s0) +/* 014510 70013910 AE000014 */ sw $zero, 0x14($s0) +/* 014514 70013914 AE000018 */ sw $zero, 0x18($s0) +/* 014518 70013918 AE00001C */ sw $zero, 0x1c($s0) +/* 01451C 7001391C AE000020 */ sw $zero, 0x20($s0) +/* 014520 70013920 1420000A */ bnez $at, .L7001394C +/* 014524 70013924 01C01825 */ move $v1, $t6 +/* 014528 70013928 25CFFFBB */ addiu $t7, $t6, -0x45 +/* 01452C 7001392C 2DE10034 */ sltiu $at, $t7, 0x34 +/* 014530 70013930 10200181 */ beqz $at, .L70013F38 +/* 014534 70013934 000F7880 */ sll $t7, $t7, 2 +/* 014538 70013938 3C018003 */ lui $at, %hi(jpt_80029714) +/* 01453C 7001393C 002F0821 */ addu $at, $at, $t7 +/* 014540 70013940 8C2F9714 */ lw $t7, %lo(jpt_80029714)($at) +/* 014544 70013944 01E00008 */ jr $t7 +/* 014548 70013948 00000000 */ nop +.L7001394C: +/* 01454C 7001394C 24010025 */ li $at, 37 +/* 014550 70013950 50610172 */ beql $v1, $at, .L70013F1C +/* 014554 70013954 8E18000C */ lw $t8, 0xc($s0) +/* 014558 70013958 10000178 */ b .L70013F3C +/* 01455C 7001395C 8E0E000C */ lw $t6, 0xc($s0) +.L70013960: +/* 014560 70013960 8CD80000 */ lw $t8, ($a2) +/* 014564 70013964 2401FFFC */ li $at, -4 +/* 014568 70013968 27190003 */ addiu $t9, $t8, 3 +/* 01456C 7001396C 03217024 */ and $t6, $t9, $at +/* 014570 70013970 25CF0004 */ addiu $t7, $t6, 4 +/* 014574 70013974 ACCF0000 */ sw $t7, ($a2) +/* 014578 70013978 8E0E000C */ lw $t6, 0xc($s0) +/* 01457C 7001397C 8DF9FFFC */ lw $t9, -4($t7) +/* 014580 70013980 00EE7821 */ addu $t7, $a3, $t6 +/* 014584 70013984 A1F90000 */ sb $t9, ($t7) +/* 014588 70013988 8E18000C */ lw $t8, 0xc($s0) +/* 01458C 7001398C 270E0001 */ addiu $t6, $t8, 1 +/* 014590 70013990 1000016F */ b .L70013F50 +/* 014594 70013994 AE0E000C */ sw $t6, 0xc($s0) +.L70013998: +/* 014598 70013998 92020034 */ lbu $v0, 0x34($s0) +/* 01459C 7001399C 2401006C */ li $at, 108 +/* 0145A0 700139A0 5441000D */ bnel $v0, $at, .L700139D8 +/* 0145A4 700139A4 2401004C */ li $at, 76 +/* 0145A8 700139A8 8CD90000 */ lw $t9, ($a2) +/* 0145AC 700139AC 2401FFFC */ li $at, -4 +/* 0145B0 700139B0 272F0003 */ addiu $t7, $t9, 3 +/* 0145B4 700139B4 01E1C024 */ and $t8, $t7, $at +/* 0145B8 700139B8 270E0004 */ addiu $t6, $t8, 4 +/* 0145BC 700139BC ACCE0000 */ sw $t6, ($a2) +/* 0145C0 700139C0 8DCFFFFC */ lw $t7, -4($t6) +/* 0145C4 700139C4 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0145C8 700139C8 AE180000 */ sw $t8, ($s0) +/* 0145CC 700139CC 10000019 */ b .L70013A34 +/* 0145D0 700139D0 AE0F0004 */ sw $t7, 4($s0) +/* 0145D4 700139D4 2401004C */ li $at, 76 +.L700139D8: +/* 0145D8 700139D8 5441000D */ bnel $v0, $at, .L70013A10 +/* 0145DC 700139DC 8CCF0000 */ lw $t7, ($a2) +/* 0145E0 700139E0 8CCE0000 */ lw $t6, ($a2) +/* 0145E4 700139E4 2401FFF8 */ li $at, -8 +/* 0145E8 700139E8 25CF0007 */ addiu $t7, $t6, 7 +/* 0145EC 700139EC 01E1C024 */ and $t8, $t7, $at +/* 0145F0 700139F0 27190008 */ addiu $t9, $t8, 8 +/* 0145F4 700139F4 ACD90000 */ sw $t9, ($a2) +/* 0145F8 700139F8 8F38FFF8 */ lw $t8, -8($t9) +/* 0145FC 700139FC 8F39FFFC */ lw $t9, -4($t9) +/* 014600 70013A00 AE180000 */ sw $t8, ($s0) +/* 014604 70013A04 1000000B */ b .L70013A34 +/* 014608 70013A08 AE190004 */ sw $t9, 4($s0) +/* 01460C 70013A0C 8CCF0000 */ lw $t7, ($a2) +.L70013A10: +/* 014610 70013A10 2401FFFC */ li $at, -4 +/* 014614 70013A14 25EE0003 */ addiu $t6, $t7, 3 +/* 014618 70013A18 01C1C024 */ and $t8, $t6, $at +/* 01461C 70013A1C 27190004 */ addiu $t9, $t8, 4 +/* 014620 70013A20 ACD90000 */ sw $t9, ($a2) +/* 014624 70013A24 8F2EFFFC */ lw $t6, -4($t9) +/* 014628 70013A28 000EC7C3 */ sra $t8, $t6, 0x1f +/* 01462C 70013A2C AE180000 */ sw $t8, ($s0) +/* 014630 70013A30 AE0E0004 */ sw $t6, 4($s0) +.L70013A34: +/* 014634 70013A34 920F0034 */ lbu $t7, 0x34($s0) +/* 014638 70013A38 24010068 */ li $at, 104 +/* 01463C 70013A3C 55E10008 */ bnel $t7, $at, .L70013A60 +/* 014640 70013A40 8E0E0000 */ lw $t6, ($s0) +/* 014644 70013A44 8E0F0004 */ lw $t7, 4($s0) +/* 014648 70013A48 000FCC00 */ sll $t9, $t7, 0x10 +/* 01464C 70013A4C 00197403 */ sra $t6, $t9, 0x10 +/* 014650 70013A50 000EC7C3 */ sra $t8, $t6, 0x1f +/* 014654 70013A54 AE180000 */ sw $t8, ($s0) +/* 014658 70013A58 AE0E0004 */ sw $t6, 4($s0) +/* 01465C 70013A5C 8E0E0000 */ lw $t6, ($s0) +.L70013A60: +/* 014660 70013A60 5DC0000E */ bgtzl $t6, .L70013A9C +/* 014664 70013A64 8E020030 */ lw $v0, 0x30($s0) +/* 014668 70013A68 05C20004 */ bltzl $t6, .L70013A7C +/* 01466C 70013A6C 8E19000C */ lw $t9, 0xc($s0) +/* 014670 70013A70 1000000A */ b .L70013A9C +/* 014674 70013A74 8E020030 */ lw $v0, 0x30($s0) +/* 014678 70013A78 8E19000C */ lw $t9, 0xc($s0) +.L70013A7C: +/* 01467C 70013A7C 2418002D */ li $t8, 45 +/* 014680 70013A80 00F97021 */ addu $t6, $a3, $t9 +/* 014684 70013A84 A1D80000 */ sb $t8, ($t6) +/* 014688 70013A88 8E0F000C */ lw $t7, 0xc($s0) +/* 01468C 70013A8C 25F90001 */ addiu $t9, $t7, 1 +/* 014690 70013A90 10000016 */ b .L70013AEC +/* 014694 70013A94 AE19000C */ sw $t9, 0xc($s0) +/* 014698 70013A98 8E020030 */ lw $v0, 0x30($s0) +.L70013A9C: +/* 01469C 70013A9C 30580002 */ andi $t8, $v0, 2 +/* 0146A0 70013AA0 13000009 */ beqz $t8, .L70013AC8 +/* 0146A4 70013AA4 304E0001 */ andi $t6, $v0, 1 +/* 0146A8 70013AA8 8E0F000C */ lw $t7, 0xc($s0) +/* 0146AC 70013AAC 240E002B */ li $t6, 43 +/* 0146B0 70013AB0 00EFC821 */ addu $t9, $a3, $t7 +/* 0146B4 70013AB4 A32E0000 */ sb $t6, ($t9) +/* 0146B8 70013AB8 8E18000C */ lw $t8, 0xc($s0) +/* 0146BC 70013ABC 270F0001 */ addiu $t7, $t8, 1 +/* 0146C0 70013AC0 1000000A */ b .L70013AEC +/* 0146C4 70013AC4 AE0F000C */ sw $t7, 0xc($s0) +.L70013AC8: +/* 0146C8 70013AC8 51C00009 */ beql $t6, $zero, .L70013AF0 +/* 0146CC 70013ACC 8E19000C */ lw $t9, 0xc($s0) +/* 0146D0 70013AD0 8E18000C */ lw $t8, 0xc($s0) +/* 0146D4 70013AD4 24190020 */ li $t9, 32 +/* 0146D8 70013AD8 00F87821 */ addu $t7, $a3, $t8 +/* 0146DC 70013ADC A1F90000 */ sb $t9, ($t7) +/* 0146E0 70013AE0 8E0E000C */ lw $t6, 0xc($s0) +/* 0146E4 70013AE4 25D80001 */ addiu $t8, $t6, 1 +/* 0146E8 70013AE8 AE18000C */ sw $t8, 0xc($s0) +.L70013AEC: +/* 0146EC 70013AEC 8E19000C */ lw $t9, 0xc($s0) +.L70013AF0: +/* 0146F0 70013AF0 02002025 */ move $a0, $s0 +/* 0146F4 70013AF4 03277821 */ addu $t7, $t9, $a3 +/* 0146F8 70013AF8 0C0075F4 */ jal _Litob +/* 0146FC 70013AFC AE0F0008 */ sw $t7, 8($s0) +/* 014700 70013B00 10000114 */ b .L70013F54 +/* 014704 70013B04 8FBF0014 */ lw $ra, 0x14($sp) +.L70013B08: +/* 014708 70013B08 92020034 */ lbu $v0, 0x34($s0) +/* 01470C 70013B0C 2401006C */ li $at, 108 +/* 014710 70013B10 5441000D */ bnel $v0, $at, .L70013B48 +/* 014714 70013B14 2401004C */ li $at, 76 +/* 014718 70013B18 8CCE0000 */ lw $t6, ($a2) +/* 01471C 70013B1C 2401FFFC */ li $at, -4 +/* 014720 70013B20 25D80003 */ addiu $t8, $t6, 3 +/* 014724 70013B24 0301C824 */ and $t9, $t8, $at +/* 014728 70013B28 272F0004 */ addiu $t7, $t9, 4 +/* 01472C 70013B2C ACCF0000 */ sw $t7, ($a2) +/* 014730 70013B30 8DF8FFFC */ lw $t8, -4($t7) +/* 014734 70013B34 001877C3 */ sra $t6, $t8, 0x1f +/* 014738 70013B38 AE0E0000 */ sw $t6, ($s0) +/* 01473C 70013B3C 10000019 */ b .L70013BA4 +/* 014740 70013B40 AE180004 */ sw $t8, 4($s0) +/* 014744 70013B44 2401004C */ li $at, 76 +.L70013B48: +/* 014748 70013B48 5441000D */ bnel $v0, $at, .L70013B80 +/* 01474C 70013B4C 8CCE0000 */ lw $t6, ($a2) +/* 014750 70013B50 8CD90000 */ lw $t9, ($a2) +/* 014754 70013B54 2401FFF8 */ li $at, -8 +/* 014758 70013B58 27380007 */ addiu $t8, $t9, 7 +/* 01475C 70013B5C 03017024 */ and $t6, $t8, $at +/* 014760 70013B60 25CF0008 */ addiu $t7, $t6, 8 +/* 014764 70013B64 ACCF0000 */ sw $t7, ($a2) +/* 014768 70013B68 8DF9FFFC */ lw $t9, -4($t7) +/* 01476C 70013B6C 8DF8FFF8 */ lw $t8, -8($t7) +/* 014770 70013B70 AE190004 */ sw $t9, 4($s0) +/* 014774 70013B74 1000000B */ b .L70013BA4 +/* 014778 70013B78 AE180000 */ sw $t8, ($s0) +/* 01477C 70013B7C 8CCE0000 */ lw $t6, ($a2) +.L70013B80: +/* 014780 70013B80 2401FFFC */ li $at, -4 +/* 014784 70013B84 25CF0003 */ addiu $t7, $t6, 3 +/* 014788 70013B88 01E1C024 */ and $t8, $t7, $at +/* 01478C 70013B8C 27190004 */ addiu $t9, $t8, 4 +/* 014790 70013B90 ACD90000 */ sw $t9, ($a2) +/* 014794 70013B94 8F2FFFFC */ lw $t7, -4($t9) +/* 014798 70013B98 000FC7C3 */ sra $t8, $t7, 0x1f +/* 01479C 70013B9C AE180000 */ sw $t8, ($s0) +/* 0147A0 70013BA0 AE0F0004 */ sw $t7, 4($s0) +.L70013BA4: +/* 0147A4 70013BA4 92020034 */ lbu $v0, 0x34($s0) +/* 0147A8 70013BA8 24010068 */ li $at, 104 +/* 0147AC 70013BAC 14410007 */ bne $v0, $at, .L70013BCC +/* 0147B0 70013BB0 00000000 */ nop +/* 0147B4 70013BB4 8E0F0004 */ lw $t7, 4($s0) +/* 0147B8 70013BB8 240E0000 */ li $t6, 0 +/* 0147BC 70013BBC AE0E0000 */ sw $t6, ($s0) +/* 0147C0 70013BC0 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0147C4 70013BC4 10000007 */ b .L70013BE4 +/* 0147C8 70013BC8 AE190004 */ sw $t9, 4($s0) +.L70013BCC: +/* 0147CC 70013BCC 54400006 */ bnezl $v0, .L70013BE8 +/* 0147D0 70013BD0 8E0F0030 */ lw $t7, 0x30($s0) +/* 0147D4 70013BD4 8E190004 */ lw $t9, 4($s0) +/* 0147D8 70013BD8 24180000 */ li $t8, 0 +/* 0147DC 70013BDC AE180000 */ sw $t8, ($s0) +/* 0147E0 70013BE0 AE190004 */ sw $t9, 4($s0) +.L70013BE4: +/* 0147E4 70013BE4 8E0F0030 */ lw $t7, 0x30($s0) +.L70013BE8: +/* 0147E8 70013BE8 31EE0008 */ andi $t6, $t7, 8 +/* 0147EC 70013BEC 51C00014 */ beql $t6, $zero, .L70013C40 +/* 0147F0 70013BF0 8E18000C */ lw $t8, 0xc($s0) +/* 0147F4 70013BF4 8E19000C */ lw $t9, 0xc($s0) +/* 0147F8 70013BF8 24180030 */ li $t8, 48 +/* 0147FC 70013BFC 24010078 */ li $at, 120 +/* 014800 70013C00 00F97821 */ addu $t7, $a3, $t9 +/* 014804 70013C04 A1F80000 */ sb $t8, ($t7) +/* 014808 70013C08 8E0E000C */ lw $t6, 0xc($s0) +/* 01480C 70013C0C 25D90001 */ addiu $t9, $t6, 1 +/* 014810 70013C10 10610004 */ beq $v1, $at, .L70013C24 +/* 014814 70013C14 AE19000C */ sw $t9, 0xc($s0) +/* 014818 70013C18 24010058 */ li $at, 88 +/* 01481C 70013C1C 54610008 */ bnel $v1, $at, .L70013C40 +/* 014820 70013C20 8E18000C */ lw $t8, 0xc($s0) +.L70013C24: +/* 014824 70013C24 8E18000C */ lw $t8, 0xc($s0) +/* 014828 70013C28 00F87821 */ addu $t7, $a3, $t8 +/* 01482C 70013C2C A1E50000 */ sb $a1, ($t7) +/* 014830 70013C30 8E0E000C */ lw $t6, 0xc($s0) +/* 014834 70013C34 25D90001 */ addiu $t9, $t6, 1 +/* 014838 70013C38 AE19000C */ sw $t9, 0xc($s0) +/* 01483C 70013C3C 8E18000C */ lw $t8, 0xc($s0) +.L70013C40: +/* 014840 70013C40 02002025 */ move $a0, $s0 +/* 014844 70013C44 03077821 */ addu $t7, $t8, $a3 +/* 014848 70013C48 0C0075F4 */ jal _Litob +/* 01484C 70013C4C AE0F0008 */ sw $t7, 8($s0) +/* 014850 70013C50 100000C0 */ b .L70013F54 +/* 014854 70013C54 8FBF0014 */ lw $ra, 0x14($sp) +.L70013C58: +/* 014858 70013C58 920E0034 */ lbu $t6, 0x34($s0) +/* 01485C 70013C5C 2401004C */ li $at, 76 +/* 014860 70013C60 55C10019 */ bnel $t6, $at, .L70013CC8 +/* 014864 70013C64 8CC20000 */ lw $v0, ($a2) +/* 014868 70013C68 8CC20000 */ lw $v0, ($a2) +/* 01486C 70013C6C 30590001 */ andi $t9, $v0, 1 +/* 014870 70013C70 13200005 */ beqz $t9, .L70013C88 +/* 014874 70013C74 00401825 */ move $v1, $v0 +/* 014878 70013C78 24780007 */ addiu $t8, $v1, 7 +/* 01487C 70013C7C ACD80000 */ sw $t8, ($a2) +/* 014880 70013C80 1000000D */ b .L70013CB8 +/* 014884 70013C84 2702FFEA */ addiu $v0, $t8, -0x16 +.L70013C88: +/* 014888 70013C88 306F0002 */ andi $t7, $v1, 2 +/* 01488C 70013C8C 11E00005 */ beqz $t7, .L70013CA4 +/* 014890 70013C90 24590007 */ addiu $t9, $v0, 7 +/* 014894 70013C94 246E000A */ addiu $t6, $v1, 0xa +/* 014898 70013C98 ACCE0000 */ sw $t6, ($a2) +/* 01489C 70013C9C 10000005 */ b .L70013CB4 +/* 0148A0 70013CA0 25C4FFD8 */ addiu $a0, $t6, -0x28 +.L70013CA4: +/* 0148A4 70013CA4 2401FFF8 */ li $at, -8 +/* 0148A8 70013CA8 0321C024 */ and $t8, $t9, $at +/* 0148AC 70013CAC 27040008 */ addiu $a0, $t8, 8 +/* 0148B0 70013CB0 ACC40000 */ sw $a0, ($a2) +.L70013CB4: +/* 0148B4 70013CB4 00801025 */ move $v0, $a0 +.L70013CB8: +/* 0148B8 70013CB8 D444FFF8 */ ldc1 $f4, -8($v0) +/* 0148BC 70013CBC 10000017 */ b .L70013D1C +/* 0148C0 70013CC0 F6040000 */ sdc1 $f4, ($s0) +/* 0148C4 70013CC4 8CC20000 */ lw $v0, ($a2) +.L70013CC8: +/* 0148C8 70013CC8 304E0001 */ andi $t6, $v0, 1 +/* 0148CC 70013CCC 11C00005 */ beqz $t6, .L70013CE4 +/* 0148D0 70013CD0 00401825 */ move $v1, $v0 +/* 0148D4 70013CD4 24790007 */ addiu $t9, $v1, 7 +/* 0148D8 70013CD8 ACD90000 */ sw $t9, ($a2) +/* 0148DC 70013CDC 1000000D */ b .L70013D14 +/* 0148E0 70013CE0 2722FFEA */ addiu $v0, $t9, -0x16 +.L70013CE4: +/* 0148E4 70013CE4 30780002 */ andi $t8, $v1, 2 +/* 0148E8 70013CE8 13000005 */ beqz $t8, .L70013D00 +/* 0148EC 70013CEC 244E0007 */ addiu $t6, $v0, 7 +/* 0148F0 70013CF0 246F000A */ addiu $t7, $v1, 0xa +/* 0148F4 70013CF4 ACCF0000 */ sw $t7, ($a2) +/* 0148F8 70013CF8 10000005 */ b .L70013D10 +/* 0148FC 70013CFC 25E4FFD8 */ addiu $a0, $t7, -0x28 +.L70013D00: +/* 014900 70013D00 2401FFF8 */ li $at, -8 +/* 014904 70013D04 01C1C824 */ and $t9, $t6, $at +/* 014908 70013D08 27240008 */ addiu $a0, $t9, 8 +/* 01490C 70013D0C ACC40000 */ sw $a0, ($a2) +.L70013D10: +/* 014910 70013D10 00801025 */ move $v0, $a0 +.L70013D14: +/* 014914 70013D14 D446FFF8 */ ldc1 $f6, -8($v0) +/* 014918 70013D18 F6060000 */ sdc1 $f6, ($s0) +.L70013D1C: +/* 01491C 70013D1C 960F0000 */ lhu $t7, ($s0) +/* 014920 70013D20 31EE8000 */ andi $t6, $t7, 0x8000 +/* 014924 70013D24 51C0000A */ beql $t6, $zero, .L70013D50 +/* 014928 70013D28 8E020030 */ lw $v0, 0x30($s0) +/* 01492C 70013D2C 8E18000C */ lw $t8, 0xc($s0) +/* 014930 70013D30 2419002D */ li $t9, 45 +/* 014934 70013D34 00F87821 */ addu $t7, $a3, $t8 +/* 014938 70013D38 A1F90000 */ sb $t9, ($t7) +/* 01493C 70013D3C 8E0E000C */ lw $t6, 0xc($s0) +/* 014940 70013D40 25D80001 */ addiu $t8, $t6, 1 +/* 014944 70013D44 10000016 */ b .L70013DA0 +/* 014948 70013D48 AE18000C */ sw $t8, 0xc($s0) +/* 01494C 70013D4C 8E020030 */ lw $v0, 0x30($s0) +.L70013D50: +/* 014950 70013D50 30590002 */ andi $t9, $v0, 2 +/* 014954 70013D54 13200009 */ beqz $t9, .L70013D7C +/* 014958 70013D58 304F0001 */ andi $t7, $v0, 1 +/* 01495C 70013D5C 8E0E000C */ lw $t6, 0xc($s0) +/* 014960 70013D60 240F002B */ li $t7, 43 +/* 014964 70013D64 00EEC021 */ addu $t8, $a3, $t6 +/* 014968 70013D68 A30F0000 */ sb $t7, ($t8) +/* 01496C 70013D6C 8E19000C */ lw $t9, 0xc($s0) +/* 014970 70013D70 272E0001 */ addiu $t6, $t9, 1 +/* 014974 70013D74 1000000A */ b .L70013DA0 +/* 014978 70013D78 AE0E000C */ sw $t6, 0xc($s0) +.L70013D7C: +/* 01497C 70013D7C 51E00009 */ beql $t7, $zero, .L70013DA4 +/* 014980 70013D80 8E18000C */ lw $t8, 0xc($s0) +/* 014984 70013D84 8E19000C */ lw $t9, 0xc($s0) +/* 014988 70013D88 24180020 */ li $t8, 32 +/* 01498C 70013D8C 00F97021 */ addu $t6, $a3, $t9 +/* 014990 70013D90 A1D80000 */ sb $t8, ($t6) +/* 014994 70013D94 8E0F000C */ lw $t7, 0xc($s0) +/* 014998 70013D98 25F90001 */ addiu $t9, $t7, 1 +/* 01499C 70013D9C AE19000C */ sw $t9, 0xc($s0) +.L70013DA0: +/* 0149A0 70013DA0 8E18000C */ lw $t8, 0xc($s0) +.L70013DA4: +/* 0149A4 70013DA4 02002025 */ move $a0, $s0 +/* 0149A8 70013DA8 03077021 */ addu $t6, $t8, $a3 +/* 0149AC 70013DAC 0C0077F8 */ jal _Ldtob +/* 0149B0 70013DB0 AE0E0008 */ sw $t6, 8($s0) +/* 0149B4 70013DB4 10000067 */ b .L70013F54 +/* 0149B8 70013DB8 8FBF0014 */ lw $ra, 0x14($sp) +.L70013DBC: +/* 0149BC 70013DBC 92020034 */ lbu $v0, 0x34($s0) +/* 0149C0 70013DC0 24010068 */ li $at, 104 +/* 0149C4 70013DC4 5441000C */ bnel $v0, $at, .L70013DF8 +/* 0149C8 70013DC8 2401006C */ li $at, 108 +/* 0149CC 70013DCC 8CCF0000 */ lw $t7, ($a2) +/* 0149D0 70013DD0 2401FFFC */ li $at, -4 +/* 0149D4 70013DD4 25F90003 */ addiu $t9, $t7, 3 +/* 0149D8 70013DD8 0321C024 */ and $t8, $t9, $at +/* 0149DC 70013DDC 270E0004 */ addiu $t6, $t8, 4 +/* 0149E0 70013DE0 ACCE0000 */ sw $t6, ($a2) +/* 0149E4 70013DE4 8DD9FFFC */ lw $t9, -4($t6) +/* 0149E8 70013DE8 8E0F002C */ lw $t7, 0x2c($s0) +/* 0149EC 70013DEC 10000058 */ b .L70013F50 +/* 0149F0 70013DF0 A72F0000 */ sh $t7, ($t9) +/* 0149F4 70013DF4 2401006C */ li $at, 108 +.L70013DF8: +/* 0149F8 70013DF8 5441000C */ bnel $v0, $at, .L70013E2C +/* 0149FC 70013DFC 2401004C */ li $at, 76 +/* 014A00 70013E00 8CD80000 */ lw $t8, ($a2) +/* 014A04 70013E04 2401FFFC */ li $at, -4 +/* 014A08 70013E08 270E0003 */ addiu $t6, $t8, 3 +/* 014A0C 70013E0C 01C17824 */ and $t7, $t6, $at +/* 014A10 70013E10 25F90004 */ addiu $t9, $t7, 4 +/* 014A14 70013E14 ACD90000 */ sw $t9, ($a2) +/* 014A18 70013E18 8F2EFFFC */ lw $t6, -4($t9) +/* 014A1C 70013E1C 8E18002C */ lw $t8, 0x2c($s0) +/* 014A20 70013E20 1000004B */ b .L70013F50 +/* 014A24 70013E24 ADD80000 */ sw $t8, ($t6) +/* 014A28 70013E28 2401004C */ li $at, 76 +.L70013E2C: +/* 014A2C 70013E2C 5441000E */ bnel $v0, $at, .L70013E68 +/* 014A30 70013E30 8CCF0000 */ lw $t7, ($a2) +/* 014A34 70013E34 8CCF0000 */ lw $t7, ($a2) +/* 014A38 70013E38 2401FFFC */ li $at, -4 +/* 014A3C 70013E3C 25F90003 */ addiu $t9, $t7, 3 +/* 014A40 70013E40 0321C024 */ and $t8, $t9, $at +/* 014A44 70013E44 270E0004 */ addiu $t6, $t8, 4 +/* 014A48 70013E48 ACCE0000 */ sw $t6, ($a2) +/* 014A4C 70013E4C 8DCEFFFC */ lw $t6, -4($t6) +/* 014A50 70013E50 8E0F002C */ lw $t7, 0x2c($s0) +/* 014A54 70013E54 24180000 */ li $t8, 0 +/* 014A58 70013E58 ADD80000 */ sw $t8, ($t6) +/* 014A5C 70013E5C 1000003C */ b .L70013F50 +/* 014A60 70013E60 ADCF0004 */ sw $t7, 4($t6) +/* 014A64 70013E64 8CCF0000 */ lw $t7, ($a2) +.L70013E68: +/* 014A68 70013E68 2401FFFC */ li $at, -4 +/* 014A6C 70013E6C 25F80003 */ addiu $t8, $t7, 3 +/* 014A70 70013E70 0301C824 */ and $t9, $t8, $at +/* 014A74 70013E74 272E0004 */ addiu $t6, $t9, 4 +/* 014A78 70013E78 ACCE0000 */ sw $t6, ($a2) +/* 014A7C 70013E7C 8DD8FFFC */ lw $t8, -4($t6) +/* 014A80 70013E80 8E0F002C */ lw $t7, 0x2c($s0) +/* 014A84 70013E84 10000032 */ b .L70013F50 +/* 014A88 70013E88 AF0F0000 */ sw $t7, ($t8) +.L70013E8C: +/* 014A8C 70013E8C 8CD90000 */ lw $t9, ($a2) +/* 014A90 70013E90 2401FFFC */ li $at, -4 +/* 014A94 70013E94 02002025 */ move $a0, $s0 +/* 014A98 70013E98 272E0003 */ addiu $t6, $t9, 3 +/* 014A9C 70013E9C 01C17824 */ and $t7, $t6, $at +/* 014AA0 70013EA0 25F80004 */ addiu $t8, $t7, 4 +/* 014AA4 70013EA4 ACD80000 */ sw $t8, ($a2) +/* 014AA8 70013EA8 8F0EFFFC */ lw $t6, -4($t8) +/* 014AAC 70013EAC 8E0F000C */ lw $t7, 0xc($s0) +/* 014AB0 70013EB0 24050078 */ li $a1, 120 +/* 014AB4 70013EB4 000EC7C3 */ sra $t8, $t6, 0x1f +/* 014AB8 70013EB8 AE0E0004 */ sw $t6, 4($s0) +/* 014ABC 70013EBC 01E77021 */ addu $t6, $t7, $a3 +/* 014AC0 70013EC0 AE180000 */ sw $t8, ($s0) +/* 014AC4 70013EC4 0C0075F4 */ jal _Litob +/* 014AC8 70013EC8 AE0E0008 */ sw $t6, 8($s0) +/* 014ACC 70013ECC 10000021 */ b .L70013F54 +/* 014AD0 70013ED0 8FBF0014 */ lw $ra, 0x14($sp) +.L70013ED4: +/* 014AD4 70013ED4 8CD80000 */ lw $t8, ($a2) +/* 014AD8 70013ED8 2401FFFC */ li $at, -4 +/* 014ADC 70013EDC 27190003 */ addiu $t9, $t8, 3 +/* 014AE0 70013EE0 03217824 */ and $t7, $t9, $at +/* 014AE4 70013EE4 25EE0004 */ addiu $t6, $t7, 4 +/* 014AE8 70013EE8 ACCE0000 */ sw $t6, ($a2) +/* 014AEC 70013EEC 8DC4FFFC */ lw $a0, -4($t6) +/* 014AF0 70013EF0 0C004E1F */ jal strlen +/* 014AF4 70013EF4 AE040008 */ sw $a0, 8($s0) +/* 014AF8 70013EF8 8E030024 */ lw $v1, 0x24($s0) +/* 014AFC 70013EFC AE020014 */ sw $v0, 0x14($s0) +/* 014B00 70013F00 04600013 */ bltz $v1, .L70013F50 +/* 014B04 70013F04 0062082A */ slt $at, $v1, $v0 +/* 014B08 70013F08 50200012 */ beql $at, $zero, .L70013F54 +/* 014B0C 70013F0C 8FBF0014 */ lw $ra, 0x14($sp) +/* 014B10 70013F10 1000000F */ b .L70013F50 +/* 014B14 70013F14 AE030014 */ sw $v1, 0x14($s0) +/* 014B18 70013F18 8E18000C */ lw $t8, 0xc($s0) +.L70013F1C: +/* 014B1C 70013F1C 240E0025 */ li $t6, 37 +/* 014B20 70013F20 00F8C821 */ addu $t9, $a3, $t8 +/* 014B24 70013F24 A32E0000 */ sb $t6, ($t9) +/* 014B28 70013F28 8E0F000C */ lw $t7, 0xc($s0) +/* 014B2C 70013F2C 25F80001 */ addiu $t8, $t7, 1 +/* 014B30 70013F30 10000007 */ b .L70013F50 +/* 014B34 70013F34 AE18000C */ sw $t8, 0xc($s0) +.L70013F38: +/* 014B38 70013F38 8E0E000C */ lw $t6, 0xc($s0) +.L70013F3C: +/* 014B3C 70013F3C 00EEC821 */ addu $t9, $a3, $t6 +/* 014B40 70013F40 A3250000 */ sb $a1, ($t9) +/* 014B44 70013F44 8E0F000C */ lw $t7, 0xc($s0) +/* 014B48 70013F48 25F80001 */ addiu $t8, $t7, 1 +/* 014B4C 70013F4C AE18000C */ sw $t8, 0xc($s0) +.L70013F50: +/* 014B50 70013F50 8FBF0014 */ lw $ra, 0x14($sp) +.L70013F54: +/* 014B54 70013F54 27BD0018 */ addiu $sp, $sp, 0x18 +/* 014B58 70013F58 03E00008 */ jr $ra +/* 014B5C 70013F5C 00000000 */ nop + +glabel _Printf +/* 014B60 70013F60 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 014B64 70013F64 AFB70034 */ sw $s7, 0x34($sp) +/* 014B68 70013F68 AFB60030 */ sw $s6, 0x30($sp) +/* 014B6C 70013F6C AFB5002C */ sw $s5, 0x2c($sp) +/* 014B70 70013F70 AFBE0038 */ sw $fp, 0x38($sp) +/* 014B74 70013F74 AFB40028 */ sw $s4, 0x28($sp) +/* 014B78 70013F78 AFB30024 */ sw $s3, 0x24($sp) +/* 014B7C 70013F7C AFA700EC */ sw $a3, 0xec($sp) +/* 014B80 70013F80 3C158002 */ lui $s5, %hi(zeros) +/* 014B84 70013F84 3C168003 */ lui $s6, %hi(printf_symbols) +/* 014B88 70013F88 3C178002 */ lui $s7, %hi(spaces) +/* 014B8C 70013F8C 00C03825 */ move $a3, $a2 +/* 014B90 70013F90 00A09825 */ move $s3, $a1 +/* 014B94 70013F94 0080A025 */ move $s4, $a0 +/* 014B98 70013F98 AFBF003C */ sw $ra, 0x3c($sp) +/* 014B9C 70013F9C AFB20020 */ sw $s2, 0x20($sp) +/* 014BA0 70013FA0 AFB1001C */ sw $s1, 0x1c($sp) +/* 014BA4 70013FA4 AFB00018 */ sw $s0, 0x18($sp) +/* 014BA8 70013FA8 AFA600E8 */ sw $a2, 0xe8($sp) +/* 014BAC 70013FAC AFA000D4 */ sw $zero, 0xd4($sp) +/* 014BB0 70013FB0 26F77740 */ addiu $s7, %lo(spaces) # addiu $s7, $s7, 0x7740 +/* 014BB4 70013FB4 26D696F4 */ addiu $s6, %lo(printf_symbols) # addiu $s6, $s6, -0x690c +/* 014BB8 70013FB8 26B57764 */ addiu $s5, %lo(zeros) # addiu $s5, $s5, 0x7764 +/* 014BBC 70013FBC 241E000A */ li $fp, 10 +.L70013FC0: +/* 014BC0 70013FC0 90F00000 */ lbu $s0, ($a3) +/* 014BC4 70013FC4 24F20001 */ addiu $s2, $a3, 1 +/* 014BC8 70013FC8 24030025 */ li $v1, 37 +/* 014BCC 70013FCC 1A000009 */ blez $s0, .L70013FF4 +/* 014BD0 70013FD0 02602025 */ move $a0, $s3 +.L70013FD4: +/* 014BD4 70013FD4 54700004 */ bnel $v1, $s0, .L70013FE8 +/* 014BD8 70013FD8 92500000 */ lbu $s0, ($s2) +/* 014BDC 70013FDC 10000005 */ b .L70013FF4 +/* 014BE0 70013FE0 2652FFFF */ addiu $s2, $s2, -1 +/* 014BE4 70013FE4 92500000 */ lbu $s0, ($s2) +.L70013FE8: +/* 014BE8 70013FE8 26520001 */ addiu $s2, $s2, 1 +/* 014BEC 70013FEC 1E00FFF9 */ bgtz $s0, .L70013FD4 +/* 014BF0 70013FF0 00000000 */ nop +.L70013FF4: +/* 014BF4 70013FF4 02471023 */ subu $v0, $s2, $a3 +/* 014BF8 70013FF8 1840000C */ blez $v0, .L7001402C +/* 014BFC 70013FFC 00E02825 */ move $a1, $a3 +/* 014C00 70014000 00408825 */ move $s1, $v0 +/* 014C04 70014004 0280F809 */ jalr $s4 +/* 014C08 70014008 00403025 */ move $a2, $v0 +/* 014C0C 7001400C 10400005 */ beqz $v0, .L70014024 +/* 014C10 70014010 00409825 */ move $s3, $v0 +/* 014C14 70014014 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 014C18 70014018 01D17821 */ addu $t7, $t6, $s1 +/* 014C1C 7001401C 10000003 */ b .L7001402C +/* 014C20 70014020 AFAF00D4 */ sw $t7, 0xd4($sp) +.L70014024: +/* 014C24 70014024 10000153 */ b .L70014574 +/* 014C28 70014028 8FA200D4 */ lw $v0, 0xd4($sp) +.L7001402C: +/* 014C2C 7001402C 16000003 */ bnez $s0, .L7001403C +/* 014C30 70014030 26520001 */ addiu $s2, $s2, 1 +/* 014C34 70014034 1000014F */ b .L70014574 +/* 014C38 70014038 8FA200D4 */ lw $v0, 0xd4($sp) +.L7001403C: +/* 014C3C 7001403C AFA000D8 */ sw $zero, 0xd8($sp) +/* 014C40 70014040 92450000 */ lbu $a1, ($s2) +/* 014C44 70014044 0C004E29 */ jal strchr +/* 014C48 70014048 02C02025 */ move $a0, $s6 +/* 014C4C 7001404C 1040000F */ beqz $v0, .L7001408C +/* 014C50 70014050 00408025 */ move $s0, $v0 +.L70014054: +/* 014C54 70014054 0216C823 */ subu $t9, $s0, $s6 +/* 014C58 70014058 00197080 */ sll $t6, $t9, 2 +/* 014C5C 7001405C 3C0F8003 */ lui $t7, %hi(byteshiftleft_lookup) +/* 014C60 70014060 01EE7821 */ addu $t7, $t7, $t6 +/* 014C64 70014064 8DEF96FC */ lw $t7, %lo(byteshiftleft_lookup)($t7) +/* 014C68 70014068 8FB800D8 */ lw $t8, 0xd8($sp) +/* 014C6C 7001406C 26520001 */ addiu $s2, $s2, 1 +/* 014C70 70014070 02C02025 */ move $a0, $s6 +/* 014C74 70014074 030FC825 */ or $t9, $t8, $t7 +/* 014C78 70014078 AFB900D8 */ sw $t9, 0xd8($sp) +/* 014C7C 7001407C 0C004E29 */ jal strchr +/* 014C80 70014080 92450000 */ lbu $a1, ($s2) +/* 014C84 70014084 1440FFF3 */ bnez $v0, .L70014054 +/* 014C88 70014088 00408025 */ move $s0, $v0 +.L7001408C: +/* 014C8C 7001408C 924E0000 */ lbu $t6, ($s2) +/* 014C90 70014090 2402002A */ li $v0, 42 +/* 014C94 70014094 8FB800EC */ lw $t8, 0xec($sp) +/* 014C98 70014098 144E0011 */ bne $v0, $t6, .L700140E0 +/* 014C9C 7001409C 3C048003 */ lui $a0, %hi(aHll) +/* 014CA0 700140A0 270F0003 */ addiu $t7, $t8, 3 +/* 014CA4 700140A4 2401FFFC */ li $at, -4 +/* 014CA8 700140A8 01E1C824 */ and $t9, $t7, $at +/* 014CAC 700140AC 272E0004 */ addiu $t6, $t9, 4 +/* 014CB0 700140B0 AFAE00EC */ sw $t6, 0xec($sp) +/* 014CB4 700140B4 8F380000 */ lw $t8, ($t9) +/* 014CB8 700140B8 26520001 */ addiu $s2, $s2, 1 +/* 014CBC 700140BC 07010006 */ bgez $t8, .L700140D8 +/* 014CC0 700140C0 AFB800D0 */ sw $t8, 0xd0($sp) +/* 014CC4 700140C4 8FAE00D8 */ lw $t6, 0xd8($sp) +/* 014CC8 700140C8 00187823 */ negu $t7, $t8 +/* 014CCC 700140CC AFAF00D0 */ sw $t7, 0xd0($sp) +/* 014CD0 700140D0 35D90004 */ ori $t9, $t6, 4 +/* 014CD4 700140D4 AFB900D8 */ sw $t9, 0xd8($sp) +.L700140D8: +/* 014CD8 700140D8 10000018 */ b .L7001413C +/* 014CDC 700140DC 92450000 */ lbu $a1, ($s2) +.L700140E0: +/* 014CE0 700140E0 AFA000D0 */ sw $zero, 0xd0($sp) +/* 014CE4 700140E4 92450000 */ lbu $a1, ($s2) +/* 014CE8 700140E8 28A10030 */ slti $at, $a1, 0x30 +/* 014CEC 700140EC 14200013 */ bnez $at, .L7001413C +/* 014CF0 700140F0 28A1003A */ slti $at, $a1, 0x3a +/* 014CF4 700140F4 50200012 */ beql $at, $zero, .L70014140 +/* 014CF8 700140F8 2401002E */ li $at, 46 +/* 014CFC 700140FC 8FB800D0 */ lw $t8, 0xd0($sp) +.L70014100: +/* 014D00 70014100 2B0103E7 */ slti $at, $t8, 0x3e7 +/* 014D04 70014104 50200007 */ beql $at, $zero, .L70014124 +/* 014D08 70014108 92450001 */ lbu $a1, 1($s2) +/* 014D0C 7001410C 031E0019 */ multu $t8, $fp +/* 014D10 70014110 00007812 */ mflo $t7 +/* 014D14 70014114 00AF7021 */ addu $t6, $a1, $t7 +/* 014D18 70014118 25D9FFD0 */ addiu $t9, $t6, -0x30 +/* 014D1C 7001411C AFB900D0 */ sw $t9, 0xd0($sp) +/* 014D20 70014120 92450001 */ lbu $a1, 1($s2) +.L70014124: +/* 014D24 70014124 26520001 */ addiu $s2, $s2, 1 +/* 014D28 70014128 28A10030 */ slti $at, $a1, 0x30 +/* 014D2C 7001412C 14200003 */ bnez $at, .L7001413C +/* 014D30 70014130 28A1003A */ slti $at, $a1, 0x3a +/* 014D34 70014134 5420FFF2 */ bnezl $at, .L70014100 +/* 014D38 70014138 8FB800D0 */ lw $t8, 0xd0($sp) +.L7001413C: +/* 014D3C 7001413C 2401002E */ li $at, 46 +.L70014140: +/* 014D40 70014140 10A10004 */ beq $a1, $at, .L70014154 +/* 014D44 70014144 2418FFFF */ li $t8, -1 +/* 014D48 70014148 AFB800CC */ sw $t8, 0xcc($sp) +/* 014D4C 7001414C 10000026 */ b .L700141E8 +/* 014D50 70014150 92450000 */ lbu $a1, ($s2) +.L70014154: +/* 014D54 70014154 924F0001 */ lbu $t7, 1($s2) +/* 014D58 70014158 8FAE00EC */ lw $t6, 0xec($sp) +/* 014D5C 7001415C 26520001 */ addiu $s2, $s2, 1 +/* 014D60 70014160 144F000A */ bne $v0, $t7, .L7001418C +/* 014D64 70014164 25D90003 */ addiu $t9, $t6, 3 +/* 014D68 70014168 2401FFFC */ li $at, -4 +/* 014D6C 7001416C 0321C024 */ and $t8, $t9, $at +/* 014D70 70014170 270F0004 */ addiu $t7, $t8, 4 +/* 014D74 70014174 AFAF00EC */ sw $t7, 0xec($sp) +/* 014D78 70014178 8F0E0000 */ lw $t6, ($t8) +/* 014D7C 7001417C 26520001 */ addiu $s2, $s2, 1 +/* 014D80 70014180 AFAE00CC */ sw $t6, 0xcc($sp) +/* 014D84 70014184 10000018 */ b .L700141E8 +/* 014D88 70014188 92450000 */ lbu $a1, ($s2) +.L7001418C: +/* 014D8C 7001418C AFA000CC */ sw $zero, 0xcc($sp) +/* 014D90 70014190 92450000 */ lbu $a1, ($s2) +/* 014D94 70014194 28A10030 */ slti $at, $a1, 0x30 +/* 014D98 70014198 14200013 */ bnez $at, .L700141E8 +/* 014D9C 7001419C 28A1003A */ slti $at, $a1, 0x3a +/* 014DA0 700141A0 10200011 */ beqz $at, .L700141E8 +/* 014DA4 700141A4 00000000 */ nop +/* 014DA8 700141A8 8FB900CC */ lw $t9, 0xcc($sp) +.L700141AC: +/* 014DAC 700141AC 2B2103E7 */ slti $at, $t9, 0x3e7 +/* 014DB0 700141B0 50200007 */ beql $at, $zero, .L700141D0 +/* 014DB4 700141B4 92450001 */ lbu $a1, 1($s2) +/* 014DB8 700141B8 033E0019 */ multu $t9, $fp +/* 014DBC 700141BC 00007812 */ mflo $t7 +/* 014DC0 700141C0 00AFC021 */ addu $t8, $a1, $t7 +/* 014DC4 700141C4 270EFFD0 */ addiu $t6, $t8, -0x30 +/* 014DC8 700141C8 AFAE00CC */ sw $t6, 0xcc($sp) +/* 014DCC 700141CC 92450001 */ lbu $a1, 1($s2) +.L700141D0: +/* 014DD0 700141D0 26520001 */ addiu $s2, $s2, 1 +/* 014DD4 700141D4 28A10030 */ slti $at, $a1, 0x30 +/* 014DD8 700141D8 14200003 */ bnez $at, .L700141E8 +/* 014DDC 700141DC 28A1003A */ slti $at, $a1, 0x3a +/* 014DE0 700141E0 5420FFF2 */ bnezl $at, .L700141AC +/* 014DE4 700141E4 8FB900CC */ lw $t9, 0xcc($sp) +.L700141E8: +/* 014DE8 700141E8 0C004E29 */ jal strchr +/* 014DEC 700141EC 248496F0 */ addiu $a0, %lo(aHll) # addiu $a0, $a0, -0x6910 +/* 014DF0 700141F0 10400005 */ beqz $v0, .L70014208 +/* 014DF4 700141F4 27B000A8 */ addiu $s0, $sp, 0xa8 +/* 014DF8 700141F8 92590000 */ lbu $t9, ($s2) +/* 014DFC 700141FC 26520001 */ addiu $s2, $s2, 1 +/* 014E00 70014200 10000002 */ b .L7001420C +/* 014E04 70014204 A3B900DC */ sb $t9, 0xdc($sp) +.L70014208: +/* 014E08 70014208 A3A000DC */ sb $zero, 0xdc($sp) +.L7001420C: +/* 014E0C 7001420C 93AF00DC */ lbu $t7, 0xdc($sp) +/* 014E10 70014210 2402006C */ li $v0, 108 +/* 014E14 70014214 27A600EC */ addiu $a2, $sp, 0xec +/* 014E18 70014218 144F0007 */ bne $v0, $t7, .L70014238 +/* 014E1C 7001421C 27A7007C */ addiu $a3, $sp, 0x7c +/* 014E20 70014220 92580000 */ lbu $t8, ($s2) +/* 014E24 70014224 240E004C */ li $t6, 76 +/* 014E28 70014228 14580003 */ bne $v0, $t8, .L70014238 +/* 014E2C 7001422C 00000000 */ nop +/* 014E30 70014230 A3AE00DC */ sb $t6, 0xdc($sp) +/* 014E34 70014234 26520001 */ addiu $s2, $s2, 1 +.L70014238: +/* 014E38 70014238 0C004E3C */ jal _Putfld +/* 014E3C 7001423C 92450000 */ lbu $a1, ($s2) +/* 014E40 70014240 8FB900D0 */ lw $t9, 0xd0($sp) +/* 014E44 70014244 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 014E48 70014248 8FAE00B8 */ lw $t6, 0xb8($sp) +/* 014E4C 7001424C 032FC023 */ subu $t8, $t9, $t7 +/* 014E50 70014250 8FAF00BC */ lw $t7, 0xbc($sp) +/* 014E54 70014254 030EC823 */ subu $t9, $t8, $t6 +/* 014E58 70014258 8FAE00C0 */ lw $t6, 0xc0($sp) +/* 014E5C 7001425C 032FC023 */ subu $t8, $t9, $t7 +/* 014E60 70014260 8FAF00C4 */ lw $t7, 0xc4($sp) +/* 014E64 70014264 030EC823 */ subu $t9, $t8, $t6 +/* 014E68 70014268 8FAE00C8 */ lw $t6, 0xc8($sp) +/* 014E6C 7001426C 032FC023 */ subu $t8, $t9, $t7 +/* 014E70 70014270 8FAF00D8 */ lw $t7, 0xd8($sp) +/* 014E74 70014274 030EC823 */ subu $t9, $t8, $t6 +/* 014E78 70014278 AFB900D0 */ sw $t9, 0xd0($sp) +/* 014E7C 7001427C 31F80004 */ andi $t8, $t7, 4 +/* 014E80 70014280 1700001A */ bnez $t8, .L700142EC +/* 014E84 70014284 0019702A */ slt $t6, $zero, $t9 +/* 014E88 70014288 51C00019 */ beql $t6, $zero, .L700142F0 +/* 014E8C 7001428C 8FB900B4 */ lw $t9, 0xb4($sp) +/* 014E90 70014290 11C00016 */ beqz $t6, .L700142EC +/* 014E94 70014294 03208825 */ move $s1, $t9 +/* 014E98 70014298 2E210021 */ sltiu $at, $s1, 0x21 +.L7001429C: +/* 014E9C 7001429C 14200003 */ bnez $at, .L700142AC +/* 014EA0 700142A0 02208025 */ move $s0, $s1 +/* 014EA4 700142A4 10000001 */ b .L700142AC +/* 014EA8 700142A8 24100020 */ li $s0, 32 +.L700142AC: +/* 014EAC 700142AC 1A00000C */ blez $s0, .L700142E0 +/* 014EB0 700142B0 02602025 */ move $a0, $s3 +/* 014EB4 700142B4 02E02825 */ move $a1, $s7 +/* 014EB8 700142B8 0280F809 */ jalr $s4 +/* 014EBC 700142BC 02003025 */ move $a2, $s0 +/* 014EC0 700142C0 10400005 */ beqz $v0, .L700142D8 +/* 014EC4 700142C4 00409825 */ move $s3, $v0 +/* 014EC8 700142C8 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 014ECC 700142CC 01F0C021 */ addu $t8, $t7, $s0 +/* 014ED0 700142D0 10000003 */ b .L700142E0 +/* 014ED4 700142D4 AFB800D4 */ sw $t8, 0xd4($sp) +.L700142D8: +/* 014ED8 700142D8 100000A6 */ b .L70014574 +/* 014EDC 700142DC 8FA200D4 */ lw $v0, 0xd4($sp) +.L700142E0: +/* 014EE0 700142E0 02308823 */ subu $s1, $s1, $s0 +/* 014EE4 700142E4 5E20FFED */ bgtzl $s1, .L7001429C +/* 014EE8 700142E8 2E210021 */ sltiu $at, $s1, 0x21 +.L700142EC: +/* 014EEC 700142EC 8FB900B4 */ lw $t9, 0xb4($sp) +.L700142F0: +/* 014EF0 700142F0 02602025 */ move $a0, $s3 +/* 014EF4 700142F4 27A5007C */ addiu $a1, $sp, 0x7c +/* 014EF8 700142F8 5B20000D */ blezl $t9, .L70014330 +/* 014EFC 700142FC 8FB900B8 */ lw $t9, 0xb8($sp) +/* 014F00 70014300 0280F809 */ jalr $s4 +/* 014F04 70014304 03203025 */ move $a2, $t9 +/* 014F08 70014308 10400006 */ beqz $v0, .L70014324 +/* 014F0C 7001430C 00409825 */ move $s3, $v0 +/* 014F10 70014310 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 014F14 70014314 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 014F18 70014318 01CFC021 */ addu $t8, $t6, $t7 +/* 014F1C 7001431C 10000003 */ b .L7001432C +/* 014F20 70014320 AFB800D4 */ sw $t8, 0xd4($sp) +.L70014324: +/* 014F24 70014324 10000093 */ b .L70014574 +/* 014F28 70014328 8FA200D4 */ lw $v0, 0xd4($sp) +.L7001432C: +/* 014F2C 7001432C 8FB900B8 */ lw $t9, 0xb8($sp) +.L70014330: +/* 014F30 70014330 0019702A */ slt $t6, $zero, $t9 +/* 014F34 70014334 51C00019 */ beql $t6, $zero, .L7001439C +/* 014F38 70014338 8FB900BC */ lw $t9, 0xbc($sp) +/* 014F3C 7001433C 11C00016 */ beqz $t6, .L70014398 +/* 014F40 70014340 03208825 */ move $s1, $t9 +/* 014F44 70014344 2E210021 */ sltiu $at, $s1, 0x21 +.L70014348: +/* 014F48 70014348 14200003 */ bnez $at, .L70014358 +/* 014F4C 7001434C 02208025 */ move $s0, $s1 +/* 014F50 70014350 10000001 */ b .L70014358 +/* 014F54 70014354 24100020 */ li $s0, 32 +.L70014358: +/* 014F58 70014358 1A00000C */ blez $s0, .L7001438C +/* 014F5C 7001435C 02602025 */ move $a0, $s3 +/* 014F60 70014360 02A02825 */ move $a1, $s5 +/* 014F64 70014364 0280F809 */ jalr $s4 +/* 014F68 70014368 02003025 */ move $a2, $s0 +/* 014F6C 7001436C 10400005 */ beqz $v0, .L70014384 +/* 014F70 70014370 00409825 */ move $s3, $v0 +/* 014F74 70014374 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 014F78 70014378 01F0C021 */ addu $t8, $t7, $s0 +/* 014F7C 7001437C 10000003 */ b .L7001438C +/* 014F80 70014380 AFB800D4 */ sw $t8, 0xd4($sp) +.L70014384: +/* 014F84 70014384 1000007B */ b .L70014574 +/* 014F88 70014388 8FA200D4 */ lw $v0, 0xd4($sp) +.L7001438C: +/* 014F8C 7001438C 02308823 */ subu $s1, $s1, $s0 +/* 014F90 70014390 5E20FFED */ bgtzl $s1, .L70014348 +/* 014F94 70014394 2E210021 */ sltiu $at, $s1, 0x21 +.L70014398: +/* 014F98 70014398 8FB900BC */ lw $t9, 0xbc($sp) +.L7001439C: +/* 014F9C 7001439C 02602025 */ move $a0, $s3 +/* 014FA0 700143A0 8FA500B0 */ lw $a1, 0xb0($sp) +/* 014FA4 700143A4 5B20000D */ blezl $t9, .L700143DC +/* 014FA8 700143A8 8FB900C0 */ lw $t9, 0xc0($sp) +/* 014FAC 700143AC 0280F809 */ jalr $s4 +/* 014FB0 700143B0 03203025 */ move $a2, $t9 +/* 014FB4 700143B4 10400006 */ beqz $v0, .L700143D0 +/* 014FB8 700143B8 00409825 */ move $s3, $v0 +/* 014FBC 700143BC 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 014FC0 700143C0 8FAF00BC */ lw $t7, 0xbc($sp) +/* 014FC4 700143C4 01CFC021 */ addu $t8, $t6, $t7 +/* 014FC8 700143C8 10000003 */ b .L700143D8 +/* 014FCC 700143CC AFB800D4 */ sw $t8, 0xd4($sp) +.L700143D0: +/* 014FD0 700143D0 10000068 */ b .L70014574 +/* 014FD4 700143D4 8FA200D4 */ lw $v0, 0xd4($sp) +.L700143D8: +/* 014FD8 700143D8 8FB900C0 */ lw $t9, 0xc0($sp) +.L700143DC: +/* 014FDC 700143DC 0019702A */ slt $t6, $zero, $t9 +/* 014FE0 700143E0 51C00019 */ beql $t6, $zero, .L70014448 +/* 014FE4 700143E4 8FB900C4 */ lw $t9, 0xc4($sp) +/* 014FE8 700143E8 11C00016 */ beqz $t6, .L70014444 +/* 014FEC 700143EC 03208825 */ move $s1, $t9 +/* 014FF0 700143F0 2E210021 */ sltiu $at, $s1, 0x21 +.L700143F4: +/* 014FF4 700143F4 14200003 */ bnez $at, .L70014404 +/* 014FF8 700143F8 02208025 */ move $s0, $s1 +/* 014FFC 700143FC 10000001 */ b .L70014404 +/* 015000 70014400 24100020 */ li $s0, 32 +.L70014404: +/* 015004 70014404 1A00000C */ blez $s0, .L70014438 +/* 015008 70014408 02602025 */ move $a0, $s3 +/* 01500C 7001440C 02A02825 */ move $a1, $s5 +/* 015010 70014410 0280F809 */ jalr $s4 +/* 015014 70014414 02003025 */ move $a2, $s0 +/* 015018 70014418 10400005 */ beqz $v0, .L70014430 +/* 01501C 7001441C 00409825 */ move $s3, $v0 +/* 015020 70014420 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 015024 70014424 01F0C021 */ addu $t8, $t7, $s0 +/* 015028 70014428 10000003 */ b .L70014438 +/* 01502C 7001442C AFB800D4 */ sw $t8, 0xd4($sp) +.L70014430: +/* 015030 70014430 10000050 */ b .L70014574 +/* 015034 70014434 8FA200D4 */ lw $v0, 0xd4($sp) +.L70014438: +/* 015038 70014438 02308823 */ subu $s1, $s1, $s0 +/* 01503C 7001443C 5E20FFED */ bgtzl $s1, .L700143F4 +/* 015040 70014440 2E210021 */ sltiu $at, $s1, 0x21 +.L70014444: +/* 015044 70014444 8FB900C4 */ lw $t9, 0xc4($sp) +.L70014448: +/* 015048 70014448 02602025 */ move $a0, $s3 +/* 01504C 7001444C 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 015050 70014450 1B20000D */ blez $t9, .L70014488 +/* 015054 70014454 8FAF00BC */ lw $t7, 0xbc($sp) +/* 015058 70014458 01CF2821 */ addu $a1, $t6, $t7 +/* 01505C 7001445C 0280F809 */ jalr $s4 +/* 015060 70014460 03203025 */ move $a2, $t9 +/* 015064 70014464 10400006 */ beqz $v0, .L70014480 +/* 015068 70014468 00409825 */ move $s3, $v0 +/* 01506C 7001446C 8FB800D4 */ lw $t8, 0xd4($sp) +/* 015070 70014470 8FAE00C4 */ lw $t6, 0xc4($sp) +/* 015074 70014474 030E7821 */ addu $t7, $t8, $t6 +/* 015078 70014478 10000003 */ b .L70014488 +/* 01507C 7001447C AFAF00D4 */ sw $t7, 0xd4($sp) +.L70014480: +/* 015080 70014480 1000003C */ b .L70014574 +/* 015084 70014484 8FA200D4 */ lw $v0, 0xd4($sp) +.L70014488: +/* 015088 70014488 8FB900C8 */ lw $t9, 0xc8($sp) +/* 01508C 7001448C 0019C02A */ slt $t8, $zero, $t9 +/* 015090 70014490 53000019 */ beql $t8, $zero, .L700144F8 +/* 015094 70014494 8FB900D8 */ lw $t9, 0xd8($sp) +/* 015098 70014498 13000016 */ beqz $t8, .L700144F4 +/* 01509C 7001449C 03208825 */ move $s1, $t9 +/* 0150A0 700144A0 2E210021 */ sltiu $at, $s1, 0x21 +.L700144A4: +/* 0150A4 700144A4 14200003 */ bnez $at, .L700144B4 +/* 0150A8 700144A8 02208025 */ move $s0, $s1 +/* 0150AC 700144AC 10000001 */ b .L700144B4 +/* 0150B0 700144B0 24100020 */ li $s0, 32 +.L700144B4: +/* 0150B4 700144B4 1A00000C */ blez $s0, .L700144E8 +/* 0150B8 700144B8 02602025 */ move $a0, $s3 +/* 0150BC 700144BC 02A02825 */ move $a1, $s5 +/* 0150C0 700144C0 0280F809 */ jalr $s4 +/* 0150C4 700144C4 02003025 */ move $a2, $s0 +/* 0150C8 700144C8 10400005 */ beqz $v0, .L700144E0 +/* 0150CC 700144CC 00409825 */ move $s3, $v0 +/* 0150D0 700144D0 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 0150D4 700144D4 01D07821 */ addu $t7, $t6, $s0 +/* 0150D8 700144D8 10000003 */ b .L700144E8 +/* 0150DC 700144DC AFAF00D4 */ sw $t7, 0xd4($sp) +.L700144E0: +/* 0150E0 700144E0 10000024 */ b .L70014574 +/* 0150E4 700144E4 8FA200D4 */ lw $v0, 0xd4($sp) +.L700144E8: +/* 0150E8 700144E8 02308823 */ subu $s1, $s1, $s0 +/* 0150EC 700144EC 5E20FFED */ bgtzl $s1, .L700144A4 +/* 0150F0 700144F0 2E210021 */ sltiu $at, $s1, 0x21 +.L700144F4: +/* 0150F4 700144F4 8FB900D8 */ lw $t9, 0xd8($sp) +.L700144F8: +/* 0150F8 700144F8 8FAE00D0 */ lw $t6, 0xd0($sp) +/* 0150FC 700144FC 33380004 */ andi $t8, $t9, 4 +/* 015100 70014500 1300001A */ beqz $t8, .L7001456C +/* 015104 70014504 000E782A */ slt $t7, $zero, $t6 +/* 015108 70014508 11E00018 */ beqz $t7, .L7001456C +/* 01510C 7001450C 00000000 */ nop +/* 015110 70014510 11E00016 */ beqz $t7, .L7001456C +/* 015114 70014514 01C08825 */ move $s1, $t6 +/* 015118 70014518 2E210021 */ sltiu $at, $s1, 0x21 +.L7001451C: +/* 01511C 7001451C 14200003 */ bnez $at, .L7001452C +/* 015120 70014520 02208025 */ move $s0, $s1 +/* 015124 70014524 10000001 */ b .L7001452C +/* 015128 70014528 24100020 */ li $s0, 32 +.L7001452C: +/* 01512C 7001452C 1A00000C */ blez $s0, .L70014560 +/* 015130 70014530 02602025 */ move $a0, $s3 +/* 015134 70014534 02E02825 */ move $a1, $s7 +/* 015138 70014538 0280F809 */ jalr $s4 +/* 01513C 7001453C 02003025 */ move $a2, $s0 +/* 015140 70014540 10400005 */ beqz $v0, .L70014558 +/* 015144 70014544 00409825 */ move $s3, $v0 +/* 015148 70014548 8FB900D4 */ lw $t9, 0xd4($sp) +/* 01514C 7001454C 0330C021 */ addu $t8, $t9, $s0 +/* 015150 70014550 10000003 */ b .L70014560 +/* 015154 70014554 AFB800D4 */ sw $t8, 0xd4($sp) +.L70014558: +/* 015158 70014558 10000006 */ b .L70014574 +/* 01515C 7001455C 8FA200D4 */ lw $v0, 0xd4($sp) +.L70014560: +/* 015160 70014560 02308823 */ subu $s1, $s1, $s0 +/* 015164 70014564 5E20FFED */ bgtzl $s1, .L7001451C +/* 015168 70014568 2E210021 */ sltiu $at, $s1, 0x21 +.L7001456C: +/* 01516C 7001456C 1000FE94 */ b .L70013FC0 +/* 015170 70014570 26470001 */ addiu $a3, $s2, 1 +.L70014574: +/* 015174 70014574 8FBF003C */ lw $ra, 0x3c($sp) +/* 015178 70014578 8FB00018 */ lw $s0, 0x18($sp) +/* 01517C 7001457C 8FB1001C */ lw $s1, 0x1c($sp) +/* 015180 70014580 8FB20020 */ lw $s2, 0x20($sp) +/* 015184 70014584 8FB30024 */ lw $s3, 0x24($sp) +/* 015188 70014588 8FB40028 */ lw $s4, 0x28($sp) +/* 01518C 7001458C 8FB5002C */ lw $s5, 0x2c($sp) +/* 015190 70014590 8FB60030 */ lw $s6, 0x30($sp) +/* 015194 70014594 8FB70034 */ lw $s7, 0x34($sp) +/* 015198 70014598 8FBE0038 */ lw $fp, 0x38($sp) +/* 01519C 7001459C 03E00008 */ jr $ra +/* 0151A0 700145A0 27BD00E0 */ addiu $sp, $sp, 0xe0 + +.section .data +glabel spaces +.asciiz " " +.align 2 +glabel zeros +.asciiz "00000000000000000000000000000000" +.align 2 + +.section .rodata +glabel aHll +.ascii "hlL"<0> +glabel printf_symbols +.ascii " +-#0"<0> +.align 2 +glabel byteshiftleft_lookup +.word 1, 2, 4, 8, 0x10, 0 + +glabel jpt_80029714 +.word .L70013C58, .L70013F38, .L70013C58, .L70013F38 +.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013F38, .L70013F38, .L70013B08 +.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013F38, .L70013960, .L70013998 +.word .L70013C58, .L70013C58, .L70013C58, .L70013F38 +.word .L70013998, .L70013F38, .L70013F38, .L70013F38 +.word .L70013F38, .L70013DBC, .L70013B08, .L70013E8C +.word .L70013F38, .L70013F38, .L70013ED4, .L70013F38 +.word .L70013B08, .L70013F38, .L70013F38, .L70013B08 +.align 4 diff --git a/src/libultra/__CSP.s b/src/libultra/__CSP.s new file mode 100644 index 00000000..9fa282af --- /dev/null +++ b/src/libultra/__CSP.s @@ -0,0 +1,1359 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __CSPPostNextSeqEvent +/* 011BC0 70010FC0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 011BC4 70010FC4 AFBF0014 */ sw $ra, 0x14($sp) +/* 011BC8 70010FC8 8C8E002C */ lw $t6, 0x2c($a0) +/* 011BCC 70010FCC 24010001 */ li $at, 1 +/* 011BD0 70010FD0 00803825 */ move $a3, $a0 +/* 011BD4 70010FD4 55C10013 */ bnel $t6, $at, .L70011024 +/* 011BD8 70010FD8 8FBF0014 */ lw $ra, 0x14($sp) +/* 011BDC 70010FDC 8C840018 */ lw $a0, 0x18($a0) +/* 011BE0 70010FE0 27A5001C */ addiu $a1, $sp, 0x1c +/* 011BE4 70010FE4 5080000F */ beql $a0, $zero, .L70011024 +/* 011BE8 70010FE8 8FBF0014 */ lw $ra, 0x14($sp) +/* 011BEC 70010FEC 0C004AE3 */ jal __alCSeqNextDelta +/* 011BF0 70010FF0 AFA70030 */ sw $a3, 0x30($sp) +/* 011BF4 70010FF4 1040000A */ beqz $v0, .L70011020 +/* 011BF8 70010FF8 8FA70030 */ lw $a3, 0x30($sp) +/* 011BFC 70010FFC A7A00020 */ sh $zero, 0x20($sp) +/* 011C00 70011000 8CEF0024 */ lw $t7, 0x24($a3) +/* 011C04 70011004 8FB8001C */ lw $t8, 0x1c($sp) +/* 011C08 70011008 24E40048 */ addiu $a0, $a3, 0x48 +/* 011C0C 7001100C 27A50020 */ addiu $a1, $sp, 0x20 +/* 011C10 70011010 01F80019 */ multu $t7, $t8 +/* 011C14 70011014 00003012 */ mflo $a2 +/* 011C18 70011018 0C004BBF */ jal alEvtqPostEvent +/* 011C1C 7001101C 00000000 */ nop +.L70011020: +/* 011C20 70011020 8FBF0014 */ lw $ra, 0x14($sp) +.L70011024: +/* 011C24 70011024 27BD0030 */ addiu $sp, $sp, 0x30 +/* 011C28 70011028 03E00008 */ jr $ra +/* 011C2C 7001102C 00000000 */ nop + +glabel ultra_70011030 +/* 011C30 70011030 8C820018 */ lw $v0, 0x18($a0) +/* 011C34 70011034 241801E8 */ li $t8, 488 +/* 011C38 70011038 50400008 */ beql $v0, $zero, .L7001105C +/* 011C3C 7001103C AC980024 */ sw $t8, 0x24($a0) +/* 011C40 70011040 C4440008 */ lwc1 $f4, 8($v0) +/* 011C44 70011044 46046182 */ mul.s $f6, $f12, $f4 +/* 011C48 70011048 4600320D */ trunc.w.s $f8, $f6 +/* 011C4C 7001104C 440F4000 */ mfc1 $t7, $f8 +/* 011C50 70011050 03E00008 */ jr $ra +/* 011C54 70011054 AC8F0024 */ sw $t7, 0x24($a0) + +/* 011C58 70011058 AC980024 */ sw $t8, 0x24($a0) +.L7001105C: +/* 011C5C 7001105C 03E00008 */ jr $ra +/* 011C60 70011060 00000000 */ nop + +/* 011C64 70011064 03E00008 */ jr $ra +/* 011C68 70011068 00000000 */ nop + +glabel ultra_7001106C +/* 011C6C 7001106C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 011C70 70011070 AFBF0014 */ sw $ra, 0x14($sp) +/* 011C74 70011074 90AE0008 */ lbu $t6, 8($a1) +/* 011C78 70011078 240100FF */ li $at, 255 +/* 011C7C 7001107C 00008025 */ move $s0, $zero +/* 011C80 70011080 15C1006A */ bne $t6, $at, .L7001122C +/* 011C84 70011084 00009825 */ move $s3, $zero +/* 011C88 70011088 90AF0009 */ lbu $t7, 9($a1) +/* 011C8C 7001108C 24010051 */ li $at, 81 +/* 011C90 70011090 24A20004 */ addiu $v0, $a1, 4 +/* 011C94 70011094 55E10066 */ bnel $t7, $at, .L70011230 +/* 011C98 70011098 8FBF0014 */ lw $ra, 0x14($sp) +/* 011C9C 7001109C 904E0008 */ lbu $t6, 8($v0) +/* 011CA0 700110A0 90580007 */ lbu $t8, 7($v0) +/* 011CA4 700110A4 8EFE0024 */ lw $fp, 0x24($s7) +/* 011CA8 700110A8 000E7A00 */ sll $t7, $t6, 8 +/* 011CAC 700110AC 904E0009 */ lbu $t6, 9($v0) +/* 011CB0 700110B0 0018CC00 */ sll $t9, $t8, 0x10 +/* 011CB4 700110B4 032FC025 */ or $t8, $t9, $t7 +/* 011CB8 700110B8 030E1825 */ or $v1, $t8, $t6 +/* 011CBC 700110BC 44832000 */ mtc1 $v1, $f4 +/* 011CC0 700110C0 02E02025 */ move $a0, $s7 +/* 011CC4 700110C4 0C00440C */ jal ultra_70011030 +/* 011CC8 700110C8 46802320 */ cvt.s.w $f12, $f4 +/* 011CCC 700110CC 8EF10050 */ lw $s1, 0x50($s7) +/* 011CD0 700110D0 1220001D */ beqz $s1, .L70011148 +/* 011CD4 700110D4 00000000 */ nop +/* 011CD8 700110D8 24140015 */ li $s4, 21 +.L700110DC: +/* 011CDC 700110DC 862F000C */ lh $t7, 0xc($s1) +/* 011CE0 700110E0 8E390008 */ lw $t9, 8($s1) +/* 011CE4 700110E4 8E320000 */ lw $s2, ($s1) +/* 011CE8 700110E8 168F0015 */ bne $s4, $t7, .L70011140 +/* 011CEC 700110EC 02198021 */ addu $s0, $s0, $t9 +/* 011CF0 700110F0 0C003AA4 */ jal alUnlink +/* 011CF4 700110F4 02202025 */ move $a0, $s1 +/* 011CF8 700110F8 52600007 */ beql $s3, $zero, .L70011118 +/* 011CFC 700110FC AE200000 */ sw $zero, ($s1) +/* 011D00 70011100 02202025 */ move $a0, $s1 +/* 011D04 70011104 0C003AB0 */ jal alLink +/* 011D08 70011108 02602825 */ move $a1, $s3 +/* 011D0C 7001110C 10000004 */ b .L70011120 +/* 011D10 70011110 00000000 */ nop +/* 011D14 70011114 AE200000 */ sw $zero, ($s1) +.L70011118: +/* 011D18 70011118 AE200004 */ sw $zero, 4($s1) +/* 011D1C 7001111C 02209825 */ move $s3, $s1 +.L70011120: +/* 011D20 70011120 12400006 */ beqz $s2, .L7001113C +/* 011D24 70011124 02001825 */ move $v1, $s0 +/* 011D28 70011128 8E220008 */ lw $v0, 8($s1) +/* 011D2C 7001112C 8E580008 */ lw $t8, 8($s2) +/* 011D30 70011130 02028023 */ subu $s0, $s0, $v0 +/* 011D34 70011134 03027021 */ addu $t6, $t8, $v0 +/* 011D38 70011138 AE4E0008 */ sw $t6, 8($s2) +.L7001113C: +/* 011D3C 7001113C AE230008 */ sw $v1, 8($s1) +.L70011140: +/* 011D40 70011140 1640FFE6 */ bnez $s2, .L700110DC +/* 011D44 70011144 02408825 */ move $s1, $s2 +.L70011148: +/* 011D48 70011148 12600038 */ beqz $s3, .L7001122C +/* 011D4C 7001114C 02608825 */ move $s1, $s3 +/* 011D50 70011150 26F40048 */ addiu $s4, $s7, 0x48 +/* 011D54 70011154 26950008 */ addiu $s5, $s4, 8 +/* 011D58 70011158 2416FFF8 */ li $s6, -8 +.L7001115C: +/* 011D5C 7001115C 8E390008 */ lw $t9, 8($s1) +/* 011D60 70011160 8EEF0024 */ lw $t7, 0x24($s7) +/* 011D64 70011164 8E320000 */ lw $s2, ($s1) +/* 011D68 70011168 033E001A */ div $zero, $t9, $fp +/* 011D6C 7001116C 00001012 */ mflo $v0 +/* 011D70 70011170 24040001 */ li $a0, 1 +/* 011D74 70011174 17C00002 */ bnez $fp, .L70011180 +/* 011D78 70011178 00000000 */ nop +/* 011D7C 7001117C 0007000D */ break 7 +.L70011180: +/* 011D80 70011180 2401FFFF */ li $at, -1 +/* 011D84 70011184 17C10004 */ bne $fp, $at, .L70011198 +/* 011D88 70011188 3C018000 */ lui $at, 0x8000 +/* 011D8C 7001118C 17210002 */ bne $t9, $at, .L70011198 +/* 011D90 70011190 00000000 */ nop +/* 011D94 70011194 0006000D */ break 6 +.L70011198: +/* 011D98 70011198 01E20019 */ multu $t7, $v0 +/* 011D9C 7001119C 02A08025 */ move $s0, $s5 +/* 011DA0 700111A0 0000C012 */ mflo $t8 +/* 011DA4 700111A4 AE380008 */ sw $t8, 8($s1) +/* 011DA8 700111A8 0C00374C */ jal osSetIntMask +/* 011DAC 700111AC 00000000 */ nop +/* 011DB0 700111B0 1296001A */ beq $s4, $s6, .L7001121C +/* 011DB4 700111B4 00409825 */ move $s3, $v0 +/* 011DB8 700111B8 8E040000 */ lw $a0, ($s0) +.L700111BC: +/* 011DBC 700111BC 54800007 */ bnezl $a0, .L700111DC +/* 011DC0 700111C0 8E220008 */ lw $v0, 8($s1) +/* 011DC4 700111C4 02202025 */ move $a0, $s1 +/* 011DC8 700111C8 0C003AB0 */ jal alLink +/* 011DCC 700111CC 02002825 */ move $a1, $s0 +/* 011DD0 700111D0 10000012 */ b .L7001121C +/* 011DD4 700111D4 00000000 */ nop +/* 011DD8 700111D8 8E220008 */ lw $v0, 8($s1) +.L700111DC: +/* 011DDC 700111DC 8C830008 */ lw $v1, 8($a0) +/* 011DE0 700111E0 00803025 */ move $a2, $a0 +/* 011DE4 700111E4 0043082A */ slt $at, $v0, $v1 +/* 011DE8 700111E8 10200008 */ beqz $at, .L7001120C +/* 011DEC 700111EC 0043C823 */ subu $t9, $v0, $v1 +/* 011DF0 700111F0 00627023 */ subu $t6, $v1, $v0 +/* 011DF4 700111F4 AC8E0008 */ sw $t6, 8($a0) +/* 011DF8 700111F8 02202025 */ move $a0, $s1 +/* 011DFC 700111FC 0C003AB0 */ jal alLink +/* 011E00 70011200 02002825 */ move $a1, $s0 +/* 011E04 70011204 10000005 */ b .L7001121C +/* 011E08 70011208 00000000 */ nop +.L7001120C: +/* 011E0C 7001120C AE390008 */ sw $t9, 8($s1) +/* 011E10 70011210 8E100000 */ lw $s0, ($s0) +/* 011E14 70011214 5600FFE9 */ bnezl $s0, .L700111BC +/* 011E18 70011218 8E040000 */ lw $a0, ($s0) +.L7001121C: +/* 011E1C 7001121C 0C00374C */ jal osSetIntMask +/* 011E20 70011220 02602025 */ move $a0, $s3 +/* 011E24 70011224 1640FFCD */ bnez $s2, .L7001115C +/* 011E28 70011228 02408825 */ move $s1, $s2 +.L7001122C: +/* 011E2C 7001122C 8FBF0014 */ lw $ra, 0x14($sp) +.L70011230: +/* 011E30 70011230 27BD0018 */ addiu $sp, $sp, 0x18 +/* 011E34 70011234 03E00008 */ jr $ra +/* 011E38 70011238 00000000 */ nop + +glabel __CSPHandleMIDIMsg +/* 011E3C 7001123C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 011E40 70011240 AFBF0024 */ sw $ra, 0x24($sp) +/* 011E44 70011244 91160008 */ lbu $s6, 8($t0) +/* 011E48 70011248 91140009 */ lbu $s4, 9($t0) +/* 011E4C 7001124C 9111000A */ lbu $s1, 0xa($t0) +/* 011E50 70011250 32C300F0 */ andi $v1, $s6, 0xf0 +/* 011E54 70011254 246FFF80 */ addiu $t7, $v1, -0x80 +/* 011E58 70011258 2DE10061 */ sltiu $at, $t7, 0x61 +/* 011E5C 7001125C 32CE000F */ andi $t6, $s6, 0xf +/* 011E60 70011260 102001FC */ beqz $at, .L70011A54 +/* 011E64 70011264 01C0B025 */ move $s6, $t6 +/* 011E68 70011268 000F7880 */ sll $t7, $t7, 2 +/* 011E6C 7001126C 3C018003 */ lui $at, %hi(audio_related_jump_table_0) # 0x8003 +/* 011E70 70011270 002F0821 */ addu $at, $at, $t7 +/* 011E74 70011274 8C2F9490 */ lw $t7, %lo(audio_related_jump_table_0)($at) # -0x6b70 +/* 011E78 70011278 01E00008 */ jr $t7 +/* 011E7C 7001127C 00000000 */ nop +.L70011280: +/* 011E80 70011280 522000E8 */ beql $s1, $zero, .L70011624 +/* 011E84 70011284 02402025 */ move $a0, $s2 +/* 011E88 70011288 8E58002C */ lw $t8, 0x2c($s2) +/* 011E8C 7001128C 24010001 */ li $at, 1 +/* 011E90 70011290 02402025 */ move $a0, $s2 +/* 011E94 70011294 170101EF */ bne $t8, $at, .L70011A54 +/* 011E98 70011298 328500FF */ andi $a1, $s4, 0xff +/* 011E9C 7001129C 322600FF */ andi $a2, $s1, 0xff +/* 011EA0 700112A0 32C700FF */ andi $a3, $s6, 0xff +/* 011EA4 700112A4 0C0070D8 */ jal __lookupSoundQuick +/* 011EA8 700112A8 AFA800BC */ sw $t0, 0xbc($sp) +/* 011EAC 700112AC 104001E9 */ beqz $v0, .L70011A54 +/* 011EB0 700112B0 0040B825 */ move $s7, $v0 +/* 011EB4 700112B4 8E590060 */ lw $t9, 0x60($s2) +/* 011EB8 700112B8 0016F100 */ sll $fp, $s6, 4 +/* 011EBC 700112BC 02402025 */ move $a0, $s2 +/* 011EC0 700112C0 033E7021 */ addu $t6, $t9, $fp +/* 011EC4 700112C4 91CF0008 */ lbu $t7, 8($t6) +/* 011EC8 700112C8 A7A00076 */ sh $zero, 0x76($sp) +/* 011ECC 700112CC A3A00078 */ sb $zero, 0x78($sp) +/* 011ED0 700112D0 328500FF */ andi $a1, $s4, 0xff +/* 011ED4 700112D4 322600FF */ andi $a2, $s1, 0xff +/* 011ED8 700112D8 32C700FF */ andi $a3, $s6, 0xff +/* 011EDC 700112DC 0C0070BC */ jal __mapVoice +/* 011EE0 700112E0 A7AF0074 */ sh $t7, 0x74($sp) +/* 011EE4 700112E4 104001DB */ beqz $v0, .L70011A54 +/* 011EE8 700112E8 00408025 */ move $s0, $v0 +/* 011EEC 700112EC 8E440014 */ lw $a0, 0x14($s2) +/* 011EF0 700112F0 24450004 */ addiu $a1, $v0, 4 +/* 011EF4 700112F4 AFA50038 */ sw $a1, 0x38($sp) +/* 011EF8 700112F8 0C004C96 */ jal alSynAllocVoice +/* 011EFC 700112FC 27A60074 */ addiu $a2, $sp, 0x74 +/* 011F00 70011300 AE170020 */ sw $s7, 0x20($s0) +/* 011F04 70011304 A2000034 */ sb $zero, 0x34($s0) +/* 011F08 70011308 8E580060 */ lw $t8, 0x60($s2) +/* 011F0C 7001130C 24150002 */ li $s5, 2 +/* 011F10 70011310 031EC821 */ addu $t9, $t8, $fp +/* 011F14 70011314 932E000B */ lbu $t6, 0xb($t9) +/* 011F18 70011318 29C10040 */ slti $at, $t6, 0x40 +/* 011F1C 7001131C 54200004 */ bnezl $at, .L70011330 +/* 011F20 70011320 A2000035 */ sb $zero, 0x35($s0) +/* 011F24 70011324 10000002 */ b .L70011330 +/* 011F28 70011328 A2150035 */ sb $s5, 0x35($s0) +/* 011F2C 7001132C A2000035 */ sb $zero, 0x35($s0) +.L70011330: +/* 011F30 70011330 8EE20004 */ lw $v0, 4($s7) +/* 011F34 70011334 904F0004 */ lbu $t7, 4($v0) +/* 011F38 70011338 804E0005 */ lb $t6, 5($v0) +/* 011F3C 7001133C 028FC023 */ subu $t8, $s4, $t7 +/* 011F40 70011340 0018C880 */ sll $t9, $t8, 2 +/* 011F44 70011344 0338C823 */ subu $t9, $t9, $t8 +/* 011F48 70011348 0019C8C0 */ sll $t9, $t9, 3 +/* 011F4C 7001134C 0338C821 */ addu $t9, $t9, $t8 +/* 011F50 70011350 0019C880 */ sll $t9, $t9, 2 +/* 011F54 70011354 032E2021 */ addu $a0, $t9, $t6 +/* 011F58 70011358 00047C00 */ sll $t7, $a0, 0x10 +/* 011F5C 7001135C 0C004DF0 */ jal alCents2Ratio +/* 011F60 70011360 000F2403 */ sra $a0, $t7, 0x10 +/* 011F64 70011364 E6000028 */ swc1 $f0, 0x28($s0) +/* 011F68 70011368 8EF90000 */ lw $t9, ($s7) +/* 011F6C 7001136C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 011F70 70011370 44812000 */ mtc1 $at, $f4 +/* 011F74 70011374 932E000C */ lbu $t6, 0xc($t9) +/* 011F78 70011378 A20E0030 */ sb $t6, 0x30($s0) +/* 011F7C 7001137C 8EF80000 */ lw $t8, ($s7) +/* 011F80 70011380 8E4F001C */ lw $t7, 0x1c($s2) +/* 011F84 70011384 8F190000 */ lw $t9, ($t8) +/* 011F88 70011388 A2000037 */ sb $zero, 0x37($s0) +/* 011F8C 7001138C 01F97021 */ addu $t6, $t7, $t9 +/* 011F90 70011390 AE0E0024 */ sw $t6, 0x24($s0) +/* 011F94 70011394 8E580060 */ lw $t8, 0x60($s2) +/* 011F98 70011398 031E7821 */ addu $t7, $t8, $fp +/* 011F9C 7001139C 8DF10000 */ lw $s1, ($t7) +/* 011FA0 700113A0 E7A40064 */ swc1 $f4, 0x64($sp) +/* 011FA4 700113A4 92260004 */ lbu $a2, 4($s1) +/* 011FA8 700113A8 50C0001A */ beql $a2, $zero, .L70011414 +/* 011FAC 700113AC 4458F800 */ cfc1 $t8, $31 +/* 011FB0 700113B0 8E420070 */ lw $v0, 0x70($s2) +/* 011FB4 700113B4 50400017 */ beql $v0, $zero, .L70011414 +/* 011FB8 700113B8 4458F800 */ cfc1 $t8, $31 +/* 011FBC 700113BC 92390006 */ lbu $t9, 6($s1) +/* 011FC0 700113C0 92270005 */ lbu $a3, 5($s1) +/* 011FC4 700113C4 27A4005C */ addiu $a0, $sp, 0x5c +/* 011FC8 700113C8 AFB90010 */ sw $t9, 0x10($sp) +/* 011FCC 700113CC 922E0007 */ lbu $t6, 7($s1) +/* 011FD0 700113D0 27A50064 */ addiu $a1, $sp, 0x64 +/* 011FD4 700113D4 0040F809 */ jalr $v0 +/* 011FD8 700113D8 AFAE0014 */ sw $t6, 0x14($sp) +/* 011FDC 700113DC 1040000C */ beqz $v0, .L70011410 +/* 011FE0 700113E0 24180016 */ li $t8, 22 +/* 011FE4 700113E4 8FAF005C */ lw $t7, 0x5c($sp) +/* 011FE8 700113E8 A7B8008C */ sh $t8, 0x8c($sp) +/* 011FEC 700113EC AFB00090 */ sw $s0, 0x90($sp) +/* 011FF0 700113F0 26440048 */ addiu $a0, $s2, 0x48 +/* 011FF4 700113F4 27A5008C */ addiu $a1, $sp, 0x8c +/* 011FF8 700113F8 00403025 */ move $a2, $v0 +/* 011FFC 700113FC 0C004BBF */ jal alEvtqPostEvent +/* 012000 70011400 AFAF0094 */ sw $t7, 0x94($sp) +/* 012004 70011404 92190037 */ lbu $t9, 0x37($s0) +/* 012008 70011408 372E0001 */ ori $t6, $t9, 1 +/* 01200C 7001140C A20E0037 */ sb $t6, 0x37($s0) +.L70011410: +/* 012010 70011410 4458F800 */ cfc1 $t8, $31 +.L70011414: +/* 012014 70011414 240F0001 */ li $t7, 1 +/* 012018 70011418 44CFF800 */ ctc1 $t7, $31 +/* 01201C 7001141C C7A60064 */ lwc1 $f6, 0x64($sp) +/* 012020 70011420 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 012024 70011424 46003224 */ cvt.w.s $f8, $f6 +/* 012028 70011428 444FF800 */ cfc1 $t7, $31 +/* 01202C 7001142C 00000000 */ nop +/* 012030 70011430 31EF0078 */ andi $t7, $t7, 0x78 +/* 012034 70011434 51E00013 */ beql $t7, $zero, .L70011484 +/* 012038 70011438 440F4000 */ mfc1 $t7, $f8 +/* 01203C 7001143C 44814000 */ mtc1 $at, $f8 +/* 012040 70011440 240F0001 */ li $t7, 1 +/* 012044 70011444 46083201 */ sub.s $f8, $f6, $f8 +/* 012048 70011448 44CFF800 */ ctc1 $t7, $31 +/* 01204C 7001144C 00000000 */ nop +/* 012050 70011450 46004224 */ cvt.w.s $f8, $f8 +/* 012054 70011454 444FF800 */ cfc1 $t7, $31 +/* 012058 70011458 00000000 */ nop +/* 01205C 7001145C 31EF0078 */ andi $t7, $t7, 0x78 +/* 012060 70011460 15E00005 */ bnez $t7, .L70011478 +/* 012064 70011464 00000000 */ nop +/* 012068 70011468 440F4000 */ mfc1 $t7, $f8 +/* 01206C 7001146C 3C018000 */ lui $at, 0x8000 +/* 012070 70011470 10000007 */ b .L70011490 +/* 012074 70011474 01E17825 */ or $t7, $t7, $at +.L70011478: +/* 012078 70011478 10000005 */ b .L70011490 +/* 01207C 7001147C 240FFFFF */ li $t7, -1 +/* 012080 70011480 440F4000 */ mfc1 $t7, $f8 +.L70011484: +/* 012084 70011484 00000000 */ nop +/* 012088 70011488 05E0FFFB */ bltz $t7, .L70011478 +/* 01208C 7001148C 00000000 */ nop +.L70011490: +/* 012090 70011490 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 012094 70011494 44815000 */ mtc1 $at, $f10 +/* 012098 70011498 A20F0036 */ sb $t7, 0x36($s0) +/* 01209C 7001149C 44D8F800 */ ctc1 $t8, $31 +/* 0120A0 700114A0 E7AA0064 */ swc1 $f10, 0x64($sp) +/* 0120A4 700114A4 92260008 */ lbu $a2, 8($s1) +/* 0120A8 700114A8 26550048 */ addiu $s5, $s2, 0x48 +/* 0120AC 700114AC 50C0001B */ beql $a2, $zero, .L7001151C +/* 0120B0 700114B0 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 0120B4 700114B4 8E420070 */ lw $v0, 0x70($s2) +/* 0120B8 700114B8 50400018 */ beql $v0, $zero, .L7001151C +/* 0120BC 700114BC C7A40064 */ lwc1 $f4, 0x64($sp) +/* 0120C0 700114C0 9239000A */ lbu $t9, 0xa($s1) +/* 0120C4 700114C4 92270009 */ lbu $a3, 9($s1) +/* 0120C8 700114C8 27A4005C */ addiu $a0, $sp, 0x5c +/* 0120CC 700114CC AFB90010 */ sw $t9, 0x10($sp) +/* 0120D0 700114D0 922E000B */ lbu $t6, 0xb($s1) +/* 0120D4 700114D4 27A50064 */ addiu $a1, $sp, 0x64 +/* 0120D8 700114D8 0040F809 */ jalr $v0 +/* 0120DC 700114DC AFAE0014 */ sw $t6, 0x14($sp) +/* 0120E0 700114E0 1040000D */ beqz $v0, .L70011518 +/* 0120E4 700114E4 24180017 */ li $t8, 23 +/* 0120E8 700114E8 8FAF005C */ lw $t7, 0x5c($sp) +/* 0120EC 700114EC A7B8008C */ sh $t8, 0x8c($sp) +/* 0120F0 700114F0 AFB00090 */ sw $s0, 0x90($sp) +/* 0120F4 700114F4 A3B60098 */ sb $s6, 0x98($sp) +/* 0120F8 700114F8 02A02025 */ move $a0, $s5 +/* 0120FC 700114FC 27A5008C */ addiu $a1, $sp, 0x8c +/* 012100 70011500 00403025 */ move $a2, $v0 +/* 012104 70011504 0C004BBF */ jal alEvtqPostEvent +/* 012108 70011508 AFAF0094 */ sw $t7, 0x94($sp) +/* 01210C 7001150C 92190037 */ lbu $t9, 0x37($s0) +/* 012110 70011510 372E0002 */ ori $t6, $t9, 2 +/* 012114 70011514 A20E0037 */ sb $t6, 0x37($s0) +.L70011518: +/* 012118 70011518 C7A40064 */ lwc1 $f4, 0x64($sp) +.L7001151C: +/* 01211C 7001151C C6080028 */ lwc1 $f8, 0x28($s0) +/* 012120 70011520 02002025 */ move $a0, $s0 +/* 012124 70011524 E604002C */ swc1 $f4, 0x2c($s0) +/* 012128 70011528 8E580060 */ lw $t8, 0x60($s2) +/* 01212C 7001152C C604002C */ lwc1 $f4, 0x2c($s0) +/* 012130 70011530 02402825 */ move $a1, $s2 +/* 012134 70011534 031E1021 */ addu $v0, $t8, $fp +/* 012138 70011538 C446000C */ lwc1 $f6, 0xc($v0) +/* 01213C 7001153C 9051000A */ lbu $s1, 0xa($v0) +/* 012140 70011540 46083282 */ mul.s $f10, $f6, $f8 +/* 012144 70011544 00000000 */ nop +/* 012148 70011548 46045502 */ mul.s $f20, $f10, $f4 +/* 01214C 7001154C 0C00708D */ jal __vsPan +/* 012150 70011550 00000000 */ nop +/* 012154 70011554 305E00FF */ andi $fp, $v0, 0xff +/* 012158 70011558 02002025 */ move $a0, $s0 +/* 01215C 7001155C 0C006F85 */ jal __vsVol +/* 012160 70011560 02402825 */ move $a1, $s2 +/* 012164 70011564 8EEF0000 */ lw $t7, ($s7) +/* 012168 70011568 8E440014 */ lw $a0, 0x14($s2) +/* 01216C 7001156C 8EE60008 */ lw $a2, 8($s7) +/* 012170 70011570 8DF30000 */ lw $s3, ($t7) +/* 012174 70011574 4407A000 */ mfc1 $a3, $f20 +/* 012178 70011578 AFB10018 */ sw $s1, 0x18($sp) +/* 01217C 7001157C AFBE0014 */ sw $fp, 0x14($sp) +/* 012180 70011580 AFA20010 */ sw $v0, 0x10($sp) +/* 012184 70011584 8FA50038 */ lw $a1, 0x38($sp) +/* 012188 70011588 0C007568 */ jal alSynStartVoiceParams +/* 01218C 7001158C AFB3001C */ sw $s3, 0x1c($sp) +/* 012190 70011590 8FAE0038 */ lw $t6, 0x38($sp) +/* 012194 70011594 24190006 */ li $t9, 6 +/* 012198 70011598 A7B9008C */ sh $t9, 0x8c($sp) +/* 01219C 7001159C AFAE0090 */ sw $t6, 0x90($sp) +/* 0121A0 700115A0 8EF80000 */ lw $t8, ($s7) +/* 0121A4 700115A4 02A02025 */ move $a0, $s5 +/* 0121A8 700115A8 27A5008C */ addiu $a1, $sp, 0x8c +/* 0121AC 700115AC 930F000D */ lbu $t7, 0xd($t8) +/* 0121B0 700115B0 02603025 */ move $a2, $s3 +/* 0121B4 700115B4 A3AF0098 */ sb $t7, 0x98($sp) +/* 0121B8 700115B8 8EF90000 */ lw $t9, ($s7) +/* 0121BC 700115BC 8F2E0004 */ lw $t6, 4($t9) +/* 0121C0 700115C0 0C004BBF */ jal alEvtqPostEvent +/* 0121C4 700115C4 AFAE0094 */ sw $t6, 0x94($sp) +/* 0121C8 700115C8 8FA200BC */ lw $v0, 0xbc($sp) +/* 0121CC 700115CC 240F0015 */ li $t7, 21 +/* 0121D0 700115D0 36D90080 */ ori $t9, $s6, 0x80 +/* 0121D4 700115D4 8C58000C */ lw $t8, 0xc($v0) +/* 0121D8 700115D8 24420004 */ addiu $v0, $v0, 4 +/* 0121DC 700115DC 5300011E */ beql $t8, $zero, .L70011A58 +/* 0121E0 700115E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0121E4 700115E4 A7AF008C */ sh $t7, 0x8c($sp) +/* 0121E8 700115E8 A3B90094 */ sb $t9, 0x94($sp) +/* 0121EC 700115EC A3B40095 */ sb $s4, 0x95($sp) +/* 0121F0 700115F0 A3A00096 */ sb $zero, 0x96($sp) +/* 0121F4 700115F4 8C580008 */ lw $t8, 8($v0) +/* 0121F8 700115F8 8E4E0024 */ lw $t6, 0x24($s2) +/* 0121FC 700115FC 02A02025 */ move $a0, $s5 +/* 012200 70011600 27A5008C */ addiu $a1, $sp, 0x8c +/* 012204 70011604 01D80019 */ multu $t6, $t8 +/* 012208 70011608 00009812 */ mflo $s3 +/* 01220C 7001160C 02603025 */ move $a2, $s3 +/* 012210 70011610 0C004BBF */ jal alEvtqPostEvent +/* 012214 70011614 00000000 */ nop +/* 012218 70011618 1000010F */ b .L70011A58 +/* 01221C 7001161C 8FBF0024 */ lw $ra, 0x24($sp) +.L70011620: +/* 012220 70011620 02402025 */ move $a0, $s2 +.L70011624: +/* 012224 70011624 328500FF */ andi $a1, $s4, 0xff +/* 012228 70011628 0C00709F */ jal __lookupVoice +/* 01222C 7001162C 32C600FF */ andi $a2, $s6, 0xff +/* 012230 70011630 10400108 */ beqz $v0, .L70011A54 +/* 012234 70011634 00408025 */ move $s0, $v0 +/* 012238 70011638 904F0035 */ lbu $t7, 0x35($v0) +/* 01223C 7001163C 24160002 */ li $s6, 2 +/* 012240 70011640 24190004 */ li $t9, 4 +/* 012244 70011644 16CF0003 */ bne $s6, $t7, .L70011654 +/* 012248 70011648 02402025 */ move $a0, $s2 +/* 01224C 7001164C 10000101 */ b .L70011A54 +/* 012250 70011650 A0590035 */ sb $t9, 0x35($v0) +.L70011654: +/* 012254 70011654 8E0E0020 */ lw $t6, 0x20($s0) +/* 012258 70011658 241E0003 */ li $fp, 3 +/* 01225C 7001165C A21E0035 */ sb $fp, 0x35($s0) +/* 012260 70011660 8DD80000 */ lw $t8, ($t6) +/* 012264 70011664 26050004 */ addiu $a1, $s0, 4 +/* 012268 70011668 0C006FA7 */ jal __seqpReleaseVoice +/* 01226C 7001166C 8F060008 */ lw $a2, 8($t8) +/* 012270 70011670 100000F9 */ b .L70011A58 +/* 012274 70011674 8FBF0024 */ lw $ra, 0x24($sp) +.L70011678: +/* 012278 70011678 02402025 */ move $a0, $s2 +/* 01227C 7001167C 328500FF */ andi $a1, $s4, 0xff +/* 012280 70011680 0C00709F */ jal __lookupVoice +/* 012284 70011684 32C600FF */ andi $a2, $s6, 0xff +/* 012288 70011688 104000F2 */ beqz $v0, .L70011A54 +/* 01228C 7001168C 00408025 */ move $s0, $v0 +/* 012290 70011690 A0510033 */ sb $s1, 0x33($v0) +/* 012294 70011694 00402025 */ move $a0, $v0 +/* 012298 70011698 0C006F85 */ jal __vsVol +/* 01229C 7001169C 02402825 */ move $a1, $s2 +/* 0122A0 700116A0 00028C00 */ sll $s1, $v0, 0x10 +/* 0122A4 700116A4 00117C03 */ sra $t7, $s1, 0x10 +/* 0122A8 700116A8 01E08825 */ move $s1, $t7 +/* 0122AC 700116AC 02002025 */ move $a0, $s0 +/* 0122B0 700116B0 0C006F7C */ jal __vsDelta +/* 0122B4 700116B4 8E45001C */ lw $a1, 0x1c($s2) +/* 0122B8 700116B8 00113400 */ sll $a2, $s1, 0x10 +/* 0122BC 700116BC 0006CC03 */ sra $t9, $a2, 0x10 +/* 0122C0 700116C0 03203025 */ move $a2, $t9 +/* 0122C4 700116C4 8E440014 */ lw $a0, 0x14($s2) +/* 0122C8 700116C8 26050004 */ addiu $a1, $s0, 4 +/* 0122CC 700116CC 0C004CE8 */ jal alSynSetVol +/* 0122D0 700116D0 00403825 */ move $a3, $v0 +/* 0122D4 700116D4 100000E0 */ b .L70011A58 +/* 0122D8 700116D8 8FBF0024 */ lw $ra, 0x24($sp) +.L700116DC: +/* 0122DC 700116DC 8E500064 */ lw $s0, 0x64($s2) +/* 0122E0 700116E0 520000DD */ beql $s0, $zero, .L70011A58 +/* 0122E4 700116E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0122E8 700116E8 02C09825 */ move $s3, $s6 +/* 0122EC 700116EC 920E0031 */ lbu $t6, 0x31($s0) +.L700116F0: +/* 0122F0 700116F0 02002025 */ move $a0, $s0 +/* 0122F4 700116F4 02402825 */ move $a1, $s2 +/* 0122F8 700116F8 566E0011 */ bnel $s3, $t6, .L70011740 +/* 0122FC 700116FC 8E100000 */ lw $s0, ($s0) +/* 012300 70011700 0C006F85 */ jal __vsVol +/* 012304 70011704 A2140033 */ sb $s4, 0x33($s0) +/* 012308 70011708 00028C00 */ sll $s1, $v0, 0x10 +/* 01230C 7001170C 0011C403 */ sra $t8, $s1, 0x10 +/* 012310 70011710 03008825 */ move $s1, $t8 +/* 012314 70011714 02002025 */ move $a0, $s0 +/* 012318 70011718 0C006F7C */ jal __vsDelta +/* 01231C 7001171C 8E45001C */ lw $a1, 0x1c($s2) +/* 012320 70011720 00113400 */ sll $a2, $s1, 0x10 +/* 012324 70011724 00067C03 */ sra $t7, $a2, 0x10 +/* 012328 70011728 01E03025 */ move $a2, $t7 +/* 01232C 7001172C 8E440014 */ lw $a0, 0x14($s2) +/* 012330 70011730 26050004 */ addiu $a1, $s0, 4 +/* 012334 70011734 0C004CE8 */ jal alSynSetVol +/* 012338 70011738 00403825 */ move $a3, $v0 +/* 01233C 7001173C 8E100000 */ lw $s0, ($s0) +.L70011740: +/* 012340 70011740 5600FFEB */ bnezl $s0, .L700116F0 +/* 012344 70011744 920E0031 */ lbu $t6, 0x31($s0) +/* 012348 70011748 100000C3 */ b .L70011A58 +/* 01234C 7001174C 8FBF0024 */ lw $ra, 0x24($sp) +.L70011750: +/* 012350 70011750 24010007 */ li $at, 7 +/* 012354 70011754 12810023 */ beq $s4, $at, .L700117E4 +/* 012358 70011758 02801025 */ move $v0, $s4 +/* 01235C 7001175C 2401000A */ li $at, 10 +/* 012360 70011760 10410009 */ beq $v0, $at, .L70011788 +/* 012364 70011764 24010010 */ li $at, 16 +/* 012368 70011768 10410042 */ beq $v0, $at, .L70011874 +/* 01236C 7001176C 24010040 */ li $at, 64 +/* 012370 70011770 10410045 */ beq $v0, $at, .L70011888 +/* 012374 70011774 2401005B */ li $at, 91 +/* 012378 70011778 50410070 */ beql $v0, $at, .L7001193C +/* 01237C 7001177C 8E590060 */ lw $t9, 0x60($s2) +/* 012380 70011780 100000B5 */ b .L70011A58 +/* 012384 70011784 8FBF0024 */ lw $ra, 0x24($sp) +.L70011788: +/* 012388 70011788 8E590060 */ lw $t9, 0x60($s2) +/* 01238C 7001178C 00167100 */ sll $t6, $s6, 4 +/* 012390 70011790 032EC021 */ addu $t8, $t9, $t6 +/* 012394 70011794 A3110007 */ sb $s1, 7($t8) +/* 012398 70011798 8E500064 */ lw $s0, 0x64($s2) +/* 01239C 7001179C 520000AE */ beql $s0, $zero, .L70011A58 +/* 0123A0 700117A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0123A4 700117A4 02C09825 */ move $s3, $s6 +/* 0123A8 700117A8 920F0031 */ lbu $t7, 0x31($s0) +.L700117AC: +/* 0123AC 700117AC 02002025 */ move $a0, $s0 +/* 0123B0 700117B0 566F0008 */ bnel $s3, $t7, .L700117D4 +/* 0123B4 700117B4 8E100000 */ lw $s0, ($s0) +/* 0123B8 700117B8 0C00708D */ jal __vsPan +/* 0123BC 700117BC 02402825 */ move $a1, $s2 +/* 0123C0 700117C0 8E440014 */ lw $a0, 0x14($s2) +/* 0123C4 700117C4 26050004 */ addiu $a1, $s0, 4 +/* 0123C8 700117C8 0C004D34 */ jal alSynSetPan +/* 0123CC 700117CC 304600FF */ andi $a2, $v0, 0xff +/* 0123D0 700117D0 8E100000 */ lw $s0, ($s0) +.L700117D4: +/* 0123D4 700117D4 5600FFF5 */ bnezl $s0, .L700117AC +/* 0123D8 700117D8 920F0031 */ lbu $t7, 0x31($s0) +/* 0123DC 700117DC 1000009E */ b .L70011A58 +/* 0123E0 700117E0 8FBF0024 */ lw $ra, 0x24($sp) +.L700117E4: +/* 0123E4 700117E4 8E590060 */ lw $t9, 0x60($s2) +/* 0123E8 700117E8 00167100 */ sll $t6, $s6, 4 +/* 0123EC 700117EC 032EC021 */ addu $t8, $t9, $t6 +/* 0123F0 700117F0 A3110009 */ sb $s1, 9($t8) +/* 0123F4 700117F4 8E500064 */ lw $s0, 0x64($s2) +/* 0123F8 700117F8 52000097 */ beql $s0, $zero, .L70011A58 +/* 0123FC 700117FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 012400 70011800 02C09825 */ move $s3, $s6 +/* 012404 70011804 24140003 */ li $s4, 3 +/* 012408 70011808 920F0031 */ lbu $t7, 0x31($s0) +.L7001180C: +/* 01240C 7001180C 566F0015 */ bnel $s3, $t7, .L70011864 +/* 012410 70011810 8E100000 */ lw $s0, ($s0) +/* 012414 70011814 92190034 */ lbu $t9, 0x34($s0) +/* 012418 70011818 02002025 */ move $a0, $s0 +/* 01241C 7001181C 52990011 */ beql $s4, $t9, .L70011864 +/* 012420 70011820 8E100000 */ lw $s0, ($s0) +/* 012424 70011824 0C006F85 */ jal __vsVol +/* 012428 70011828 02402825 */ move $a1, $s2 +/* 01242C 7001182C 00028C00 */ sll $s1, $v0, 0x10 +/* 012430 70011830 00117403 */ sra $t6, $s1, 0x10 +/* 012434 70011834 01C08825 */ move $s1, $t6 +/* 012438 70011838 02002025 */ move $a0, $s0 +/* 01243C 7001183C 0C006F7C */ jal __vsDelta +/* 012440 70011840 8E45001C */ lw $a1, 0x1c($s2) +/* 012444 70011844 00113400 */ sll $a2, $s1, 0x10 +/* 012448 70011848 0006C403 */ sra $t8, $a2, 0x10 +/* 01244C 7001184C 03003025 */ move $a2, $t8 +/* 012450 70011850 8E440014 */ lw $a0, 0x14($s2) +/* 012454 70011854 26050004 */ addiu $a1, $s0, 4 +/* 012458 70011858 0C004CE8 */ jal alSynSetVol +/* 01245C 7001185C 00403825 */ move $a3, $v0 +/* 012460 70011860 8E100000 */ lw $s0, ($s0) +.L70011864: +/* 012464 70011864 5600FFE9 */ bnezl $s0, .L7001180C +/* 012468 70011868 920F0031 */ lbu $t7, 0x31($s0) +/* 01246C 7001186C 1000007A */ b .L70011A58 +/* 012470 70011870 8FBF0024 */ lw $ra, 0x24($sp) +.L70011874: +/* 012474 70011874 8E4F0060 */ lw $t7, 0x60($s2) +/* 012478 70011878 0016C900 */ sll $t9, $s6, 4 +/* 01247C 7001187C 01F97021 */ addu $t6, $t7, $t9 +/* 012480 70011880 10000074 */ b .L70011A54 +/* 012484 70011884 A1D10008 */ sb $s1, 8($t6) +.L70011888: +/* 012488 70011888 8E580060 */ lw $t8, 0x60($s2) +/* 01248C 7001188C 00167900 */ sll $t7, $s6, 4 +/* 012490 70011890 030FC821 */ addu $t9, $t8, $t7 +/* 012494 70011894 A331000B */ sb $s1, 0xb($t9) +/* 012498 70011898 8E500064 */ lw $s0, 0x64($s2) +/* 01249C 7001189C 5200006E */ beql $s0, $zero, .L70011A58 +/* 0124A0 700118A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0124A4 700118A4 02C09825 */ move $s3, $s6 +/* 0124A8 700118A8 24160002 */ li $s6, 2 +/* 0124AC 700118AC 241E0003 */ li $fp, 3 +/* 0124B0 700118B0 24170004 */ li $s7, 4 +/* 0124B4 700118B4 24150002 */ li $s5, 2 +/* 0124B8 700118B8 24140003 */ li $s4, 3 +/* 0124BC 700118BC 920E0031 */ lbu $t6, 0x31($s0) +.L700118C0: +/* 0124C0 700118C0 566E0019 */ bnel $s3, $t6, .L70011928 +/* 0124C4 700118C4 8E100000 */ lw $s0, ($s0) +/* 0124C8 700118C8 92020035 */ lbu $v0, 0x35($s0) +/* 0124CC 700118CC 2A210040 */ slti $at, $s1, 0x40 +/* 0124D0 700118D0 52820015 */ beql $s4, $v0, .L70011928 +/* 0124D4 700118D4 8E100000 */ lw $s0, ($s0) +/* 0124D8 700118D8 14200005 */ bnez $at, .L700118F0 +/* 0124DC 700118DC 00000000 */ nop +/* 0124E0 700118E0 54400011 */ bnezl $v0, .L70011928 +/* 0124E4 700118E4 8E100000 */ lw $s0, ($s0) +/* 0124E8 700118E8 1000000E */ b .L70011924 +/* 0124EC 700118EC A2150035 */ sb $s5, 0x35($s0) +.L700118F0: +/* 0124F0 700118F0 16C20003 */ bne $s6, $v0, .L70011900 +/* 0124F4 700118F4 00000000 */ nop +/* 0124F8 700118F8 1000000A */ b .L70011924 +/* 0124FC 700118FC A2000035 */ sb $zero, 0x35($s0) +.L70011900: +/* 012500 70011900 56E20009 */ bnel $s7, $v0, .L70011928 +/* 012504 70011904 8E100000 */ lw $s0, ($s0) +/* 012508 70011908 8E180020 */ lw $t8, 0x20($s0) +/* 01250C 7001190C A21E0035 */ sb $fp, 0x35($s0) +/* 012510 70011910 02402025 */ move $a0, $s2 +/* 012514 70011914 8F0F0000 */ lw $t7, ($t8) +/* 012518 70011918 26050004 */ addiu $a1, $s0, 4 +/* 01251C 7001191C 0C006FA7 */ jal __seqpReleaseVoice +/* 012520 70011920 8DE60008 */ lw $a2, 8($t7) +.L70011924: +/* 012524 70011924 8E100000 */ lw $s0, ($s0) +.L70011928: +/* 012528 70011928 5600FFE5 */ bnezl $s0, .L700118C0 +/* 01252C 7001192C 920E0031 */ lbu $t6, 0x31($s0) +/* 012530 70011930 10000049 */ b .L70011A58 +/* 012534 70011934 8FBF0024 */ lw $ra, 0x24($sp) +/* 012538 70011938 8E590060 */ lw $t9, 0x60($s2) +.L7001193C: +/* 01253C 7001193C 00167100 */ sll $t6, $s6, 4 +/* 012540 70011940 032EC021 */ addu $t8, $t9, $t6 +/* 012544 70011944 A311000A */ sb $s1, 0xa($t8) +/* 012548 70011948 8E500064 */ lw $s0, 0x64($s2) +/* 01254C 7001194C 52000042 */ beql $s0, $zero, .L70011A58 +/* 012550 70011950 8FBF0024 */ lw $ra, 0x24($sp) +/* 012554 70011954 02C09825 */ move $s3, $s6 +/* 012558 70011958 920F0031 */ lbu $t7, 0x31($s0) +.L7001195C: +/* 01255C 7001195C 26050004 */ addiu $a1, $s0, 4 +/* 012560 70011960 322600FF */ andi $a2, $s1, 0xff +/* 012564 70011964 566F0004 */ bnel $s3, $t7, .L70011978 +/* 012568 70011968 8E100000 */ lw $s0, ($s0) +/* 01256C 7001196C 0C004D7C */ jal alSynSetFXMix +/* 012570 70011970 8E440014 */ lw $a0, 0x14($s2) +/* 012574 70011974 8E100000 */ lw $s0, ($s0) +.L70011978: +/* 012578 70011978 5600FFF8 */ bnezl $s0, .L7001195C +/* 01257C 7001197C 920F0031 */ lbu $t7, 0x31($s0) +/* 012580 70011980 10000035 */ b .L70011A58 +/* 012584 70011984 8FBF0024 */ lw $ra, 0x24($sp) +.L70011988: +/* 012588 70011988 8E420020 */ lw $v0, 0x20($s2) +/* 01258C 7001198C 00147080 */ sll $t6, $s4, 2 +/* 012590 70011990 02402025 */ move $a0, $s2 +/* 012594 70011994 84590000 */ lh $t9, ($v0) +/* 012598 70011998 02C03025 */ move $a2, $s6 +/* 01259C 7001199C 004EC021 */ addu $t8, $v0, $t6 +/* 0125A0 700119A0 0299082A */ slt $at, $s4, $t9 +/* 0125A4 700119A4 5020002C */ beql $at, $zero, .L70011A58 +/* 0125A8 700119A8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0125AC 700119AC 0C006F18 */ jal __setInstChanState +/* 0125B0 700119B0 8F05000C */ lw $a1, 0xc($t8) +/* 0125B4 700119B4 10000028 */ b .L70011A58 +/* 0125B8 700119B8 8FBF0024 */ lw $ra, 0x24($sp) +.L700119BC: +/* 0125BC 700119BC 8E4F0060 */ lw $t7, 0x60($s2) +/* 0125C0 700119C0 0016F100 */ sll $fp, $s6, 4 +/* 0125C4 700119C4 0011C1C0 */ sll $t8, $s1, 7 +/* 0125C8 700119C8 01FEC821 */ addu $t9, $t7, $fp +/* 0125CC 700119CC 872E0004 */ lh $t6, 4($t9) +/* 0125D0 700119D0 03147821 */ addu $t7, $t8, $s4 +/* 0125D4 700119D4 25F9E000 */ addiu $t9, $t7, -0x2000 +/* 0125D8 700119D8 01D90019 */ multu $t6, $t9 +/* 0125DC 700119DC 00002012 */ mflo $a0 +/* 0125E0 700119E0 04810003 */ bgez $a0, .L700119F0 +/* 0125E4 700119E4 0004C343 */ sra $t8, $a0, 0xd +/* 0125E8 700119E8 24811FFF */ addiu $at, $a0, 0x1fff +/* 0125EC 700119EC 0001C343 */ sra $t8, $at, 0xd +.L700119F0: +/* 0125F0 700119F0 0C004DF0 */ jal alCents2Ratio +/* 0125F4 700119F4 03002025 */ move $a0, $t8 +/* 0125F8 700119F8 8E4F0060 */ lw $t7, 0x60($s2) +/* 0125FC 700119FC 46000506 */ mov.s $f20, $f0 +/* 012600 70011A00 01FE7021 */ addu $t6, $t7, $fp +/* 012604 70011A04 E5C0000C */ swc1 $f0, 0xc($t6) +/* 012608 70011A08 8E500064 */ lw $s0, 0x64($s2) +/* 01260C 70011A0C 52000012 */ beql $s0, $zero, .L70011A58 +/* 012610 70011A10 8FBF0024 */ lw $ra, 0x24($sp) +/* 012614 70011A14 02C09825 */ move $s3, $s6 +/* 012618 70011A18 92190031 */ lbu $t9, 0x31($s0) +.L70011A1C: +/* 01261C 70011A1C 5679000B */ bnel $s3, $t9, .L70011A4C +/* 012620 70011A20 8E100000 */ lw $s0, ($s0) +/* 012624 70011A24 C6060028 */ lwc1 $f6, 0x28($s0) +/* 012628 70011A28 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 01262C 70011A2C 8E440014 */ lw $a0, 0x14($s2) +/* 012630 70011A30 46143202 */ mul.s $f8, $f6, $f20 +/* 012634 70011A34 26050004 */ addiu $a1, $s0, 4 +/* 012638 70011A38 460A4102 */ mul.s $f4, $f8, $f10 +/* 01263C 70011A3C 44062000 */ mfc1 $a2, $f4 +/* 012640 70011A40 0C004D58 */ jal alSynSetPitch +/* 012644 70011A44 00000000 */ nop +/* 012648 70011A48 8E100000 */ lw $s0, ($s0) +.L70011A4C: +/* 01264C 70011A4C 5600FFF3 */ bnezl $s0, .L70011A1C +/* 012650 70011A50 92190031 */ lbu $t9, 0x31($s0) +.L70011A54: +/* 012654 70011A54 8FBF0024 */ lw $ra, 0x24($sp) +.L70011A58: +/* 012658 70011A58 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 01265C 70011A5C 03E00008 */ jr $ra +/* 012660 70011A60 00000000 */ nop + +/* 012664 70011A64 03E00008 */ jr $ra +/* 012668 70011A68 00000000 */ nop + +glabel ultra_70011A6C +/* 01266C 70011A6C 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 012670 70011A70 AFB50034 */ sw $s5, 0x34($sp) +/* 012674 70011A74 AFB20028 */ sw $s2, 0x28($sp) +/* 012678 70011A78 248E0038 */ addiu $t6, $a0, 0x38 +/* 01267C 70011A7C 00809025 */ move $s2, $a0 +/* 012680 70011A80 AFBF0044 */ sw $ra, 0x44($sp) +/* 012684 70011A84 AFBE0040 */ sw $fp, 0x40($sp) +/* 012688 70011A88 AFB7003C */ sw $s7, 0x3c($sp) +/* 01268C 70011A8C AFB60038 */ sw $s6, 0x38($sp) +/* 012690 70011A90 AFB40030 */ sw $s4, 0x30($sp) +/* 012694 70011A94 AFB3002C */ sw $s3, 0x2c($sp) +/* 012698 70011A98 AFB10024 */ sw $s1, 0x24($sp) +/* 01269C 70011A9C AFB00020 */ sw $s0, 0x20($sp) +/* 0126A0 70011AA0 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 0126A4 70011AA4 AFAE0050 */ sw $t6, 0x50($sp) +/* 0126A8 70011AA8 24950048 */ addiu $s5, $a0, 0x48 +.L70011AAC: +/* 0126AC 70011AAC 964F0038 */ lhu $t7, 0x38($s2) +/* 0126B0 70011AB0 2DE10018 */ sltiu $at, $t7, 0x18 +/* 0126B4 70011AB4 1020015D */ beqz $at, .L7001202C +/* 0126B8 70011AB8 000F7880 */ sll $t7, $t7, 2 +/* 0126BC 70011ABC 3C018003 */ lui $at, %hi(audio_related_jump_table_1) # 0x8003 +/* 0126C0 70011AC0 002F0821 */ addu $at, $at, $t7 +/* 0126C4 70011AC4 8C2F9614 */ lw $t7, %lo(audio_related_jump_table_1)($at) # -0x69ec +/* 0126C8 70011AC8 01E00008 */ jr $t7 +/* 0126CC 70011ACC 00000000 */ nop +.L70011AD0: +/* 0126D0 70011AD0 8E440018 */ lw $a0, 0x18($s2) +/* 0126D4 70011AD4 50800156 */ beql $a0, $zero, .L70012030 +/* 0126D8 70011AD8 02A02025 */ move $a0, $s5 +/* 0126DC 70011ADC 0C004929 */ jal alCSeqNextEvent +/* 0126E0 70011AE0 27A50058 */ addiu $a1, $sp, 0x58 +/* 0126E4 70011AE4 87B80058 */ lh $t8, 0x58($sp) +/* 0126E8 70011AE8 2719FFFF */ addiu $t9, $t8, -1 +/* 0126EC 70011AEC 2F210014 */ sltiu $at, $t9, 0x14 +/* 0126F0 70011AF0 1020014E */ beqz $at, .L7001202C +/* 0126F4 70011AF4 0019C880 */ sll $t9, $t9, 2 +/* 0126F8 70011AF8 3C018003 */ lui $at, %hi(audio_related_jump_table_2) # 0x8003 +/* 0126FC 70011AFC 00390821 */ addu $at, $at, $t9 +/* 012700 70011B00 8C399674 */ lw $t9, %lo(audio_related_jump_table_2)($at) # -0x698c +/* 012704 70011B04 03200008 */ jr $t9 +/* 012708 70011B08 00000000 */ nop +.L70011B0C: +/* 01270C 70011B0C 27A80058 */ addiu $t0, $sp, 0x58 +/* 012710 70011B10 AFB200A0 */ sw $s2, 0xa0($sp) +/* 012714 70011B14 0C00448F */ jal __CSPHandleMIDIMsg +/* 012718 70011B18 AFB5004C */ sw $s5, 0x4c($sp) +/* 01271C 70011B1C 8FB200A0 */ lw $s2, 0xa0($sp) +/* 012720 70011B20 8FB5004C */ lw $s5, 0x4c($sp) +/* 012724 70011B24 0C0043F0 */ jal __CSPPostNextSeqEvent +/* 012728 70011B28 02402025 */ move $a0, $s2 +/* 01272C 70011B2C 10000140 */ b .L70012030 +/* 012730 70011B30 02A02025 */ move $a0, $s5 +.L70011B34: +/* 012734 70011B34 0240B825 */ move $s7, $s2 +/* 012738 70011B38 27A50058 */ addiu $a1, $sp, 0x58 +/* 01273C 70011B3C AFB200A0 */ sw $s2, 0xa0($sp) +/* 012740 70011B40 0C00441B */ jal ultra_7001106C +/* 012744 70011B44 AFB5004C */ sw $s5, 0x4c($sp) +/* 012748 70011B48 8FB200A0 */ lw $s2, 0xa0($sp) +/* 01274C 70011B4C 8FB5004C */ lw $s5, 0x4c($sp) +/* 012750 70011B50 0C0043F0 */ jal __CSPPostNextSeqEvent +/* 012754 70011B54 02402025 */ move $a0, $s2 +/* 012758 70011B58 10000135 */ b .L70012030 +/* 01275C 70011B5C 02A02025 */ move $a0, $s5 +.L70011B60: +/* 012760 70011B60 240E0002 */ li $t6, 2 +/* 012764 70011B64 AE4E002C */ sw $t6, 0x2c($s2) +/* 012768 70011B68 240F0010 */ li $t7, 16 +/* 01276C 70011B6C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 012770 70011B70 A7AF0058 */ sh $t7, 0x58($sp) +/* 012774 70011B74 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 012778 70011B78 02A02025 */ move $a0, $s5 +/* 01277C 70011B7C 0C004BBF */ jal alEvtqPostEvent +/* 012780 70011B80 27A50058 */ addiu $a1, $sp, 0x58 +/* 012784 70011B84 1000012A */ b .L70012030 +/* 012788 70011B88 02A02025 */ move $a0, $s5 +.L70011B8C: +/* 01278C 70011B8C 0C0043F0 */ jal __CSPPostNextSeqEvent +/* 012790 70011B90 02402025 */ move $a0, $s2 +/* 012794 70011B94 10000126 */ b .L70012030 +/* 012798 70011B98 02A02025 */ move $a0, $s5 +.L70011B9C: +/* 01279C 70011B9C 24180009 */ li $t8, 9 +/* 0127A0 70011BA0 A7B8008C */ sh $t8, 0x8c($sp) +/* 0127A4 70011BA4 8E46005C */ lw $a2, 0x5c($s2) +/* 0127A8 70011BA8 02A02025 */ move $a0, $s5 +/* 0127AC 70011BAC 0C004BBF */ jal alEvtqPostEvent +/* 0127B0 70011BB0 27A5008C */ addiu $a1, $sp, 0x8c +/* 0127B4 70011BB4 1000011E */ b .L70012030 +/* 0127B8 70011BB8 02A02025 */ move $a0, $s5 +.L70011BBC: +/* 0127BC 70011BBC 8E50003C */ lw $s0, 0x3c($s2) +/* 0127C0 70011BC0 8E440014 */ lw $a0, 0x14($s2) +/* 0127C4 70011BC4 0C004DA4 */ jal alSynStopVoice +/* 0127C8 70011BC8 02002825 */ move $a1, $s0 +/* 0127CC 70011BCC 8E440014 */ lw $a0, 0x14($s2) +/* 0127D0 70011BD0 0C004DC4 */ jal alSynFreeVoice +/* 0127D4 70011BD4 02002825 */ move $a1, $s0 +/* 0127D8 70011BD8 8E110010 */ lw $s1, 0x10($s0) +/* 0127DC 70011BDC 02402025 */ move $a0, $s2 +/* 0127E0 70011BE0 92390037 */ lbu $t9, 0x37($s1) +/* 0127E4 70011BE4 53200004 */ beql $t9, $zero, .L70011BF8 +/* 0127E8 70011BE8 02402025 */ move $a0, $s2 +/* 0127EC 70011BEC 0C0074A8 */ jal __seqpStopOsc +/* 0127F0 70011BF0 02202825 */ move $a1, $s1 +/* 0127F4 70011BF4 02402025 */ move $a0, $s2 +.L70011BF8: +/* 0127F8 70011BF8 0C00701C */ jal __unmapVoice +/* 0127FC 70011BFC 02002825 */ move $a1, $s0 +/* 012800 70011C00 1000010B */ b .L70012030 +/* 012804 70011C04 02A02025 */ move $a0, $s5 +.L70011C08: +/* 012808 70011C08 8E50003C */ lw $s0, 0x3c($s2) +/* 01280C 70011C0C 240F0001 */ li $t7, 1 +/* 012810 70011C10 8E110010 */ lw $s1, 0x10($s0) +/* 012814 70011C14 922E0034 */ lbu $t6, 0x34($s1) +/* 012818 70011C18 55C00003 */ bnezl $t6, .L70011C28 +/* 01281C 70011C1C 8E530040 */ lw $s3, 0x40($s2) +/* 012820 70011C20 A22F0034 */ sb $t7, 0x34($s1) +/* 012824 70011C24 8E530040 */ lw $s3, 0x40($s2) +.L70011C28: +/* 012828 70011C28 8E58001C */ lw $t8, 0x1c($s2) +/* 01282C 70011C2C 02202025 */ move $a0, $s1 +/* 012830 70011C30 02402825 */ move $a1, $s2 +/* 012834 70011C34 0313C821 */ addu $t9, $t8, $s3 +/* 012838 70011C38 AE390024 */ sw $t9, 0x24($s1) +/* 01283C 70011C3C 924E0044 */ lbu $t6, 0x44($s2) +/* 012840 70011C40 0C006F85 */ jal __vsVol +/* 012844 70011C44 A22E0030 */ sb $t6, 0x30($s1) +/* 012848 70011C48 00023400 */ sll $a2, $v0, 0x10 +/* 01284C 70011C4C 00067C03 */ sra $t7, $a2, 0x10 +/* 012850 70011C50 01E03025 */ move $a2, $t7 +/* 012854 70011C54 8E440014 */ lw $a0, 0x14($s2) +/* 012858 70011C58 02002825 */ move $a1, $s0 +/* 01285C 70011C5C 0C004CE8 */ jal alSynSetVol +/* 012860 70011C60 02603825 */ move $a3, $s3 +/* 012864 70011C64 100000F2 */ b .L70012030 +/* 012868 70011C68 02A02025 */ move $a0, $s5 +.L70011C6C: +/* 01286C 70011C6C 8E590074 */ lw $t9, 0x74($s2) +/* 012870 70011C70 8E540040 */ lw $s4, 0x40($s2) +/* 012874 70011C74 8E51003C */ lw $s1, 0x3c($s2) +/* 012878 70011C78 27A50078 */ addiu $a1, $sp, 0x78 +/* 01287C 70011C7C 0320F809 */ jalr $t9 +/* 012880 70011C80 02802025 */ move $a0, $s4 +/* 012884 70011C84 4458F800 */ cfc1 $t8, $31 +/* 012888 70011C88 240E0001 */ li $t6, 1 +/* 01288C 70011C8C 44CEF800 */ ctc1 $t6, $31 +/* 012890 70011C90 C7A40078 */ lwc1 $f4, 0x78($sp) +/* 012894 70011C94 00409825 */ move $s3, $v0 +/* 012898 70011C98 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 01289C 70011C9C 460021A4 */ cvt.w.s $f6, $f4 +/* 0128A0 70011CA0 02202025 */ move $a0, $s1 +/* 0128A4 70011CA4 02402825 */ move $a1, $s2 +/* 0128A8 70011CA8 444EF800 */ cfc1 $t6, $31 +/* 0128AC 70011CAC 00000000 */ nop +/* 0128B0 70011CB0 31CE0078 */ andi $t6, $t6, 0x78 +/* 0128B4 70011CB4 51C00013 */ beql $t6, $zero, .L70011D04 +/* 0128B8 70011CB8 440E3000 */ mfc1 $t6, $f6 +/* 0128BC 70011CBC 44813000 */ mtc1 $at, $f6 +/* 0128C0 70011CC0 240E0001 */ li $t6, 1 +/* 0128C4 70011CC4 46062181 */ sub.s $f6, $f4, $f6 +/* 0128C8 70011CC8 44CEF800 */ ctc1 $t6, $31 +/* 0128CC 70011CCC 00000000 */ nop +/* 0128D0 70011CD0 460031A4 */ cvt.w.s $f6, $f6 +/* 0128D4 70011CD4 444EF800 */ cfc1 $t6, $31 +/* 0128D8 70011CD8 00000000 */ nop +/* 0128DC 70011CDC 31CE0078 */ andi $t6, $t6, 0x78 +/* 0128E0 70011CE0 15C00005 */ bnez $t6, .L70011CF8 +/* 0128E4 70011CE4 00000000 */ nop +/* 0128E8 70011CE8 440E3000 */ mfc1 $t6, $f6 +/* 0128EC 70011CEC 3C018000 */ lui $at, 0x8000 +/* 0128F0 70011CF0 10000007 */ b .L70011D10 +/* 0128F4 70011CF4 01C17025 */ or $t6, $t6, $at +.L70011CF8: +/* 0128F8 70011CF8 10000005 */ b .L70011D10 +/* 0128FC 70011CFC 240EFFFF */ li $t6, -1 +/* 012900 70011D00 440E3000 */ mfc1 $t6, $f6 +.L70011D04: +/* 012904 70011D04 00000000 */ nop +/* 012908 70011D08 05C0FFFB */ bltz $t6, .L70011CF8 +/* 01290C 70011D0C 00000000 */ nop +.L70011D10: +/* 012910 70011D10 44D8F800 */ ctc1 $t8, $31 +/* 012914 70011D14 0C006F85 */ jal __vsVol +/* 012918 70011D18 A22E0036 */ sb $t6, 0x36($s1) +/* 01291C 70011D1C 00028400 */ sll $s0, $v0, 0x10 +/* 012920 70011D20 00107C03 */ sra $t7, $s0, 0x10 +/* 012924 70011D24 01E08025 */ move $s0, $t7 +/* 012928 70011D28 02202025 */ move $a0, $s1 +/* 01292C 70011D2C 0C006F7C */ jal __vsDelta +/* 012930 70011D30 8E45001C */ lw $a1, 0x1c($s2) +/* 012934 70011D34 00103400 */ sll $a2, $s0, 0x10 +/* 012938 70011D38 0006CC03 */ sra $t9, $a2, 0x10 +/* 01293C 70011D3C 03203025 */ move $a2, $t9 +/* 012940 70011D40 8E440014 */ lw $a0, 0x14($s2) +/* 012944 70011D44 26250004 */ addiu $a1, $s1, 4 +/* 012948 70011D48 0C004CE8 */ jal alSynSetVol +/* 01294C 70011D4C 00403825 */ move $a3, $v0 +/* 012950 70011D50 24180016 */ li $t8, 22 +/* 012954 70011D54 A7B8008C */ sh $t8, 0x8c($sp) +/* 012958 70011D58 AFB10090 */ sw $s1, 0x90($sp) +/* 01295C 70011D5C AFB40094 */ sw $s4, 0x94($sp) +/* 012960 70011D60 02A02025 */ move $a0, $s5 +/* 012964 70011D64 27A5008C */ addiu $a1, $sp, 0x8c +/* 012968 70011D68 0C004BBF */ jal alEvtqPostEvent +/* 01296C 70011D6C 02603025 */ move $a2, $s3 +/* 012970 70011D70 100000AF */ b .L70012030 +/* 012974 70011D74 02A02025 */ move $a0, $s5 +.L70011D78: +/* 012978 70011D78 8E590074 */ lw $t9, 0x74($s2) +/* 01297C 70011D7C 8E540040 */ lw $s4, 0x40($s2) +/* 012980 70011D80 8E51003C */ lw $s1, 0x3c($s2) +/* 012984 70011D84 92500044 */ lbu $s0, 0x44($s2) +/* 012988 70011D88 27A50078 */ addiu $a1, $sp, 0x78 +/* 01298C 70011D8C 0320F809 */ jalr $t9 +/* 012990 70011D90 02802025 */ move $a0, $s4 +/* 012994 70011D94 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 012998 70011D98 C6240028 */ lwc1 $f4, 0x28($s1) +/* 01299C 70011D9C 00107900 */ sll $t7, $s0, 4 +/* 0129A0 70011DA0 E628002C */ swc1 $f8, 0x2c($s1) +/* 0129A4 70011DA4 C626002C */ lwc1 $f6, 0x2c($s1) +/* 0129A8 70011DA8 8E4E0060 */ lw $t6, 0x60($s2) +/* 0129AC 70011DAC 00409825 */ move $s3, $v0 +/* 0129B0 70011DB0 46062202 */ mul.s $f8, $f4, $f6 +/* 0129B4 70011DB4 01CFC021 */ addu $t8, $t6, $t7 +/* 0129B8 70011DB8 C70A000C */ lwc1 $f10, 0xc($t8) +/* 0129BC 70011DBC 8E440014 */ lw $a0, 0x14($s2) +/* 0129C0 70011DC0 26250004 */ addiu $a1, $s1, 4 +/* 0129C4 70011DC4 46085102 */ mul.s $f4, $f10, $f8 +/* 0129C8 70011DC8 44062000 */ mfc1 $a2, $f4 +/* 0129CC 70011DCC 0C004D58 */ jal alSynSetPitch +/* 0129D0 70011DD0 00000000 */ nop +/* 0129D4 70011DD4 24190017 */ li $t9, 23 +/* 0129D8 70011DD8 A7B9008C */ sh $t9, 0x8c($sp) +/* 0129DC 70011DDC AFB10090 */ sw $s1, 0x90($sp) +/* 0129E0 70011DE0 AFB40094 */ sw $s4, 0x94($sp) +/* 0129E4 70011DE4 A3B00098 */ sb $s0, 0x98($sp) +/* 0129E8 70011DE8 02A02025 */ move $a0, $s5 +/* 0129EC 70011DEC 27A5008C */ addiu $a1, $sp, 0x8c +/* 0129F0 70011DF0 0C004BBF */ jal alEvtqPostEvent +/* 0129F4 70011DF4 02603025 */ move $a2, $s3 +/* 0129F8 70011DF8 1000008D */ b .L70012030 +/* 0129FC 70011DFC 02A02025 */ move $a0, $s5 +.L70011E00: +/* 012A00 70011E00 8FA80050 */ lw $t0, 0x50($sp) +/* 012A04 70011E04 AFB200A0 */ sw $s2, 0xa0($sp) +/* 012A08 70011E08 0C00448F */ jal __CSPHandleMIDIMsg +/* 012A0C 70011E0C AFB5004C */ sw $s5, 0x4c($sp) +/* 012A10 70011E10 8FB200A0 */ lw $s2, 0xa0($sp) +/* 012A14 70011E14 10000085 */ b .L7001202C +/* 012A18 70011E18 8FB5004C */ lw $s5, 0x4c($sp) +.L70011E1C: +/* 012A1C 70011E1C 0240B825 */ move $s7, $s2 +/* 012A20 70011E20 8FA50050 */ lw $a1, 0x50($sp) +/* 012A24 70011E24 AFB200A0 */ sw $s2, 0xa0($sp) +/* 012A28 70011E28 0C00441B */ jal ultra_7001106C +/* 012A2C 70011E2C AFB5004C */ sw $s5, 0x4c($sp) +/* 012A30 70011E30 8FB200A0 */ lw $s2, 0xa0($sp) +/* 012A34 70011E34 1000007D */ b .L7001202C +/* 012A38 70011E38 8FB5004C */ lw $s5, 0x4c($sp) +.L70011E3C: +/* 012A3C 70011E3C 8E510064 */ lw $s1, 0x64($s2) +/* 012A40 70011E40 864E003C */ lh $t6, 0x3c($s2) +/* 012A44 70011E44 12200079 */ beqz $s1, .L7001202C +/* 012A48 70011E48 A64E0032 */ sh $t6, 0x32($s2) +/* 012A4C 70011E4C 02202025 */ move $a0, $s1 +.L70011E50: +/* 012A50 70011E50 0C006F85 */ jal __vsVol +/* 012A54 70011E54 02402825 */ move $a1, $s2 +/* 012A58 70011E58 00028400 */ sll $s0, $v0, 0x10 +/* 012A5C 70011E5C 00107C03 */ sra $t7, $s0, 0x10 +/* 012A60 70011E60 01E08025 */ move $s0, $t7 +/* 012A64 70011E64 02202025 */ move $a0, $s1 +/* 012A68 70011E68 0C006F7C */ jal __vsDelta +/* 012A6C 70011E6C 8E45001C */ lw $a1, 0x1c($s2) +/* 012A70 70011E70 00103400 */ sll $a2, $s0, 0x10 +/* 012A74 70011E74 0006C403 */ sra $t8, $a2, 0x10 +/* 012A78 70011E78 03003025 */ move $a2, $t8 +/* 012A7C 70011E7C 8E440014 */ lw $a0, 0x14($s2) +/* 012A80 70011E80 26250004 */ addiu $a1, $s1, 4 +/* 012A84 70011E84 0C004CE8 */ jal alSynSetVol +/* 012A88 70011E88 00403825 */ move $a3, $v0 +/* 012A8C 70011E8C 8E310000 */ lw $s1, ($s1) +/* 012A90 70011E90 5620FFEF */ bnezl $s1, .L70011E50 +/* 012A94 70011E94 02202025 */ move $a0, $s1 +/* 012A98 70011E98 10000065 */ b .L70012030 +/* 012A9C 70011E9C 02A02025 */ move $a0, $s5 +.L70011EA0: +/* 012AA0 70011EA0 8E59002C */ lw $t9, 0x2c($s2) +/* 012AA4 70011EA4 24010001 */ li $at, 1 +/* 012AA8 70011EA8 240E0001 */ li $t6, 1 +/* 012AAC 70011EAC 1321005F */ beq $t9, $at, .L7001202C +/* 012AB0 70011EB0 02402025 */ move $a0, $s2 +/* 012AB4 70011EB4 0C0043F0 */ jal __CSPPostNextSeqEvent +/* 012AB8 70011EB8 AE4E002C */ sw $t6, 0x2c($s2) +/* 012ABC 70011EBC 1000005C */ b .L70012030 +/* 012AC0 70011EC0 02A02025 */ move $a0, $s5 +.L70011EC4: +/* 012AC4 70011EC4 8E4F002C */ lw $t7, 0x2c($s2) +/* 012AC8 70011EC8 24010002 */ li $at, 2 +/* 012ACC 70011ECC 55E10058 */ bnel $t7, $at, .L70012030 +/* 012AD0 70011ED0 02A02025 */ move $a0, $s5 +/* 012AD4 70011ED4 8E510064 */ lw $s1, 0x64($s2) +/* 012AD8 70011ED8 12200013 */ beqz $s1, .L70011F28 +/* 012ADC 70011EDC 26300004 */ addiu $s0, $s1, 4 +.L70011EE0: +/* 012AE0 70011EE0 02002825 */ move $a1, $s0 +/* 012AE4 70011EE4 0C004DA4 */ jal alSynStopVoice +/* 012AE8 70011EE8 8E440014 */ lw $a0, 0x14($s2) +/* 012AEC 70011EEC 8E440014 */ lw $a0, 0x14($s2) +/* 012AF0 70011EF0 0C004DC4 */ jal alSynFreeVoice +/* 012AF4 70011EF4 02002825 */ move $a1, $s0 +/* 012AF8 70011EF8 92380037 */ lbu $t8, 0x37($s1) +/* 012AFC 70011EFC 02402025 */ move $a0, $s2 +/* 012B00 70011F00 53000004 */ beql $t8, $zero, .L70011F14 +/* 012B04 70011F04 02402025 */ move $a0, $s2 +/* 012B08 70011F08 0C0074A8 */ jal __seqpStopOsc +/* 012B0C 70011F0C 02202825 */ move $a1, $s1 +/* 012B10 70011F10 02402025 */ move $a0, $s2 +.L70011F14: +/* 012B14 70011F14 0C00701C */ jal __unmapVoice +/* 012B18 70011F18 02002825 */ move $a1, $s0 +/* 012B1C 70011F1C 8E510064 */ lw $s1, 0x64($s2) +/* 012B20 70011F20 5620FFEF */ bnezl $s1, .L70011EE0 +/* 012B24 70011F24 26300004 */ addiu $s0, $s1, 4 +.L70011F28: +/* 012B28 70011F28 10000040 */ b .L7001202C +/* 012B2C 70011F2C AE40002C */ sw $zero, 0x2c($s2) +.L70011F30: +/* 012B30 70011F30 8E59002C */ lw $t9, 0x2c($s2) +/* 012B34 70011F34 24010001 */ li $at, 1 +/* 012B38 70011F38 02A02025 */ move $a0, $s5 +/* 012B3C 70011F3C 5721003C */ bnel $t9, $at, .L70012030 +/* 012B40 70011F40 02A02025 */ move $a0, $s5 +/* 012B44 70011F44 0C004B78 */ jal alEvtqFlushType +/* 012B48 70011F48 00002825 */ move $a1, $zero +/* 012B4C 70011F4C 02A02025 */ move $a0, $s5 +/* 012B50 70011F50 0C004B78 */ jal alEvtqFlushType +/* 012B54 70011F54 24050015 */ li $a1, 21 +/* 012B58 70011F58 02A02025 */ move $a0, $s5 +/* 012B5C 70011F5C 0C004B78 */ jal alEvtqFlushType +/* 012B60 70011F60 24050002 */ li $a1, 2 +/* 012B64 70011F64 8E510064 */ lw $s1, 0x64($s2) +/* 012B68 70011F68 1220000D */ beqz $s1, .L70011FA0 +/* 012B6C 70011F6C 26300004 */ addiu $s0, $s1, 4 +.L70011F70: +/* 012B70 70011F70 02002825 */ move $a1, $s0 +/* 012B74 70011F74 02402025 */ move $a0, $s2 +/* 012B78 70011F78 0C006FF2 */ jal __voiceNeedsNoteKill +/* 012B7C 70011F7C 3406C350 */ li $a2, 50000 +/* 012B80 70011F80 10400004 */ beqz $v0, .L70011F94 +/* 012B84 70011F84 02402025 */ move $a0, $s2 +/* 012B88 70011F88 02002825 */ move $a1, $s0 +/* 012B8C 70011F8C 0C006FA7 */ jal __seqpReleaseVoice +/* 012B90 70011F90 3406C350 */ li $a2, 50000 +.L70011F94: +/* 012B94 70011F94 8E310000 */ lw $s1, ($s1) +/* 012B98 70011F98 5620FFF5 */ bnezl $s1, .L70011F70 +/* 012B9C 70011F9C 26300004 */ addiu $s0, $s1, 4 +.L70011FA0: +/* 012BA0 70011FA0 240E0002 */ li $t6, 2 +/* 012BA4 70011FA4 AE4E002C */ sw $t6, 0x2c($s2) +/* 012BA8 70011FA8 240F0010 */ li $t7, 16 +/* 012BAC 70011FAC 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 012BB0 70011FB0 A7AF008C */ sh $t7, 0x8c($sp) +/* 012BB4 70011FB4 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 012BB8 70011FB8 02A02025 */ move $a0, $s5 +/* 012BBC 70011FBC 0C004BBF */ jal alEvtqPostEvent +/* 012BC0 70011FC0 27A5008C */ addiu $a1, $sp, 0x8c +/* 012BC4 70011FC4 1000001A */ b .L70012030 +/* 012BC8 70011FC8 02A02025 */ move $a0, $s5 +.L70011FCC: +/* 012BCC 70011FCC 9250003C */ lbu $s0, 0x3c($s2) +/* 012BD0 70011FD0 8E590060 */ lw $t9, 0x60($s2) +/* 012BD4 70011FD4 9258003D */ lbu $t8, 0x3d($s2) +/* 012BD8 70011FD8 00107100 */ sll $t6, $s0, 4 +/* 012BDC 70011FDC 032E7821 */ addu $t7, $t9, $t6 +/* 012BE0 70011FE0 10000012 */ b .L7001202C +/* 012BE4 70011FE4 A1F80008 */ sb $t8, 8($t7) +.L70011FE8: +/* 012BE8 70011FE8 8E59003C */ lw $t9, 0x3c($s2) +/* 012BEC 70011FEC 3C018003 */ lui $at, %hi(F32_800296C4) +/* 012BF0 70011FF0 02402025 */ move $a0, $s2 +/* 012BF4 70011FF4 AE590018 */ sw $t9, 0x18($s2) +/* 012BF8 70011FF8 0C00440C */ jal ultra_70011030 +/* 012BFC 70011FFC C42C96C4 */ lwc1 $f12, %lo(F32_800296C4)($at) +/* 012C00 70012000 8E450020 */ lw $a1, 0x20($s2) +/* 012C04 70012004 50A0000A */ beql $a1, $zero, .L70012030 +/* 012C08 70012008 02A02025 */ move $a0, $s5 +/* 012C0C 7001200C 0C006F4D */ jal __initFromBank +/* 012C10 70012010 02402025 */ move $a0, $s2 +/* 012C14 70012014 10000006 */ b .L70012030 +/* 012C18 70012018 02A02025 */ move $a0, $s5 +.L7001201C: +/* 012C1C 7001201C 8E45003C */ lw $a1, 0x3c($s2) +/* 012C20 70012020 02402025 */ move $a0, $s2 +/* 012C24 70012024 0C006F4D */ jal __initFromBank +/* 012C28 70012028 AE450020 */ sw $a1, 0x20($s2) +.L7001202C: +/* 012C2C 7001202C 02A02025 */ move $a0, $s5 +.L70012030: +/* 012C30 70012030 0C004C08 */ jal alEvtqNextEvent +/* 012C34 70012034 8FA50050 */ lw $a1, 0x50($sp) +/* 012C38 70012038 1040FE9C */ beqz $v0, .L70011AAC +/* 012C3C 7001203C AE420028 */ sw $v0, 0x28($s2) +/* 012C40 70012040 8E4E001C */ lw $t6, 0x1c($s2) +/* 012C44 70012044 01C2C021 */ addu $t8, $t6, $v0 +/* 012C48 70012048 AE58001C */ sw $t8, 0x1c($s2) +/* 012C4C 7001204C 8FBF0044 */ lw $ra, 0x44($sp) +/* 012C50 70012050 8FBE0040 */ lw $fp, 0x40($sp) +/* 012C54 70012054 8FB7003C */ lw $s7, 0x3c($sp) +/* 012C58 70012058 8FB60038 */ lw $s6, 0x38($sp) +/* 012C5C 7001205C 8FB50034 */ lw $s5, 0x34($sp) +/* 012C60 70012060 8FB40030 */ lw $s4, 0x30($sp) +/* 012C64 70012064 8FB3002C */ lw $s3, 0x2c($sp) +/* 012C68 70012068 8FB20028 */ lw $s2, 0x28($sp) +/* 012C6C 7001206C 8FB10024 */ lw $s1, 0x24($sp) +/* 012C70 70012070 8FB00020 */ lw $s0, 0x20($sp) +/* 012C74 70012074 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 012C78 70012078 03E00008 */ jr $ra +/* 012C7C 7001207C 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel alCSPNew +/* 012C80 70012080 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 012C84 70012084 AFBF0024 */ sw $ra, 0x24($sp) +/* 012C88 70012088 AFB10020 */ sw $s1, 0x20($sp) +/* 012C8C 7001208C AFB0001C */ sw $s0, 0x1c($sp) +/* 012C90 70012090 8CA6000C */ lw $a2, 0xc($a1) +/* 012C94 70012094 AC800020 */ sw $zero, 0x20($a0) +/* 012C98 70012098 AC800018 */ sw $zero, 0x18($a0) +/* 012C9C 7001209C 3C0E8002 */ lui $t6, %hi(alGlobals) +/* 012CA0 700120A0 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) +/* 012CA4 700120A4 240F00FF */ li $t7, 255 +/* 012CA8 700120A8 241801E8 */ li $t8, 488 +/* 012CAC 700120AC 24197FFF */ li $t9, 32767 +/* 012CB0 700120B0 24083E80 */ li $t0, 16000 +/* 012CB4 700120B4 A48F0030 */ sh $t7, 0x30($a0) +/* 012CB8 700120B8 AC980024 */ sw $t8, 0x24($a0) +/* 012CBC 700120BC AC800028 */ sw $zero, 0x28($a0) +/* 012CC0 700120C0 AC80002C */ sw $zero, 0x2c($a0) +/* 012CC4 700120C4 A4990032 */ sh $t9, 0x32($a0) +/* 012CC8 700120C8 AC88005C */ sw $t0, 0x5c($a0) +/* 012CCC 700120CC AC80001C */ sw $zero, 0x1c($a0) +/* 012CD0 700120D0 AC8E0014 */ sw $t6, 0x14($a0) +/* 012CD4 700120D4 8CA90010 */ lw $t1, 0x10($a1) +/* 012CD8 700120D8 240C0009 */ li $t4, 9 +/* 012CDC 700120DC 00A08825 */ move $s1, $a1 +/* 012CE0 700120E0 AC890070 */ sw $t1, 0x70($a0) +/* 012CE4 700120E4 8CAA0014 */ lw $t2, 0x14($a1) +/* 012CE8 700120E8 00808025 */ move $s0, $a0 +/* 012CEC 700120EC 240E0010 */ li $t6, 16 +/* 012CF0 700120F0 AC8A0074 */ sw $t2, 0x74($a0) +/* 012CF4 700120F4 8CAB0018 */ lw $t3, 0x18($a1) +/* 012CF8 700120F8 A48C0038 */ sh $t4, 0x38($a0) +/* 012CFC 700120FC AC8B0078 */ sw $t3, 0x78($a0) +/* 012D00 70012100 90AD0008 */ lbu $t5, 8($a1) +/* 012D04 70012104 00002825 */ move $a1, $zero +/* 012D08 70012108 A08D0034 */ sb $t5, 0x34($a0) +/* 012D0C 7001210C 92270008 */ lbu $a3, 8($s1) +/* 012D10 70012110 AFAE0010 */ sw $t6, 0x10($sp) +/* 012D14 70012114 00002025 */ move $a0, $zero +/* 012D18 70012118 0C003AD4 */ jal alHeapDBAlloc +/* 012D1C 7001211C AFA6002C */ sw $a2, 0x2c($sp) +/* 012D20 70012120 AE020060 */ sw $v0, 0x60($s0) +/* 012D24 70012124 0C0074E9 */ jal __initChanState +/* 012D28 70012128 02002025 */ move $a0, $s0 +/* 012D2C 7001212C 8E270000 */ lw $a3, ($s1) +/* 012D30 70012130 240F0038 */ li $t7, 56 +/* 012D34 70012134 AFAF0010 */ sw $t7, 0x10($sp) +/* 012D38 70012138 00002025 */ move $a0, $zero +/* 012D3C 7001213C 00002825 */ move $a1, $zero +/* 012D40 70012140 0C003AD4 */ jal alHeapDBAlloc +/* 012D44 70012144 8FA6002C */ lw $a2, 0x2c($sp) +/* 012D48 70012148 AE00006C */ sw $zero, 0x6c($s0) +/* 012D4C 7001214C 8E380000 */ lw $t8, ($s1) +/* 012D50 70012150 00002025 */ move $a0, $zero +/* 012D54 70012154 00002825 */ move $a1, $zero +/* 012D58 70012158 1B00000B */ blez $t8, .L70012188 +/* 012D5C 7001215C 2409001C */ li $t1, 28 +/* 012D60 70012160 00401825 */ move $v1, $v0 +/* 012D64 70012164 8E19006C */ lw $t9, 0x6c($s0) +.L70012168: +/* 012D68 70012168 24840001 */ addiu $a0, $a0, 1 +/* 012D6C 7001216C AC790000 */ sw $t9, ($v1) +/* 012D70 70012170 AE03006C */ sw $v1, 0x6c($s0) +/* 012D74 70012174 8E280000 */ lw $t0, ($s1) +/* 012D78 70012178 24630038 */ addiu $v1, $v1, 0x38 +/* 012D7C 7001217C 0088082A */ slt $at, $a0, $t0 +/* 012D80 70012180 5420FFF9 */ bnezl $at, .L70012168 +/* 012D84 70012184 8E19006C */ lw $t9, 0x6c($s0) +.L70012188: +/* 012D88 70012188 AE000064 */ sw $zero, 0x64($s0) +/* 012D8C 7001218C AE000068 */ sw $zero, 0x68($s0) +/* 012D90 70012190 8E270004 */ lw $a3, 4($s1) +/* 012D94 70012194 AFA90010 */ sw $t1, 0x10($sp) +/* 012D98 70012198 8FA6002C */ lw $a2, 0x2c($sp) +/* 012D9C 7001219C 0C003AD4 */ jal alHeapDBAlloc +/* 012DA0 700121A0 00002025 */ move $a0, $zero +/* 012DA4 700121A4 26040048 */ addiu $a0, $s0, 0x48 +/* 012DA8 700121A8 00402825 */ move $a1, $v0 +/* 012DAC 700121AC 0C004C2B */ jal alEvtqNew +/* 012DB0 700121B0 8E260004 */ lw $a2, 4($s1) +/* 012DB4 700121B4 3C0A7001 */ lui $t2, %hi(ultra_70011A6C) # $t2, 0x7001 +/* 012DB8 700121B8 254A1A6C */ addiu $t2, %lo(ultra_70011A6C) # addiu $t2, $t2, 0x1a6c +/* 012DBC 700121BC AE000000 */ sw $zero, ($s0) +/* 012DC0 700121C0 AE0A0008 */ sw $t2, 8($s0) +/* 012DC4 700121C4 AE100004 */ sw $s0, 4($s0) +/* 012DC8 700121C8 3C048002 */ lui $a0, %hi(alGlobals) +/* 012DCC 700121CC 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) +/* 012DD0 700121D0 0C004C48 */ jal alSynAddPlayer +/* 012DD4 700121D4 02002825 */ move $a1, $s0 +/* 012DD8 700121D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 012DDC 700121DC 8FB0001C */ lw $s0, 0x1c($sp) +/* 012DE0 700121E0 8FB10020 */ lw $s1, 0x20($sp) +/* 012DE4 700121E4 03E00008 */ jr $ra +/* 012DE8 700121E8 27BD0040 */ addiu $sp, $sp, 0x40 + + + +.section .rodata +glabel audio_related_jump_table_0 +.word .L70011620, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011280, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011678, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011750, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011988, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L700116DC, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 +.word .L700119BC +glabel audio_related_jump_table_1 +.word .L70011AD0 +.word .L7001202C +.word .L70011E00 +.word .L7001202C +.word .L7001202C +.word .L70011BBC +.word .L70011C08 +.word .L70011E1C +.word .L7001202C +.word .L70011B9C +.word .L70011E3C +.word .L7001202C +.word .L70011FCC +.word .L70011FE8 +.word .L7001201C +.word .L70011EA0 +.word .L70011EC4 +.word .L70011F30 +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L70011E00 +.word .L70011C6C +.word .L70011D78 +glabel audio_related_jump_table_2 +.word .L70011B0C +.word .L7001202C +.word .L70011B34 +.word .L70011B60 +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L7001202C +.word .L70011B8C +.word .L70011B8C +.word .L70011B8C +glabel F32_800296C4 + .float 500000.0 +.align 4 diff --git a/src/libultra/__osDequeueThread.s b/src/libultra/__osDequeueThread.s new file mode 100644 index 00000000..5efe1ded --- /dev/null +++ b/src/libultra/__osDequeueThread.s @@ -0,0 +1,41 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __osDequeueThread +/* 011690 70010A90 00803025 */ move $a2, $a0 +/* 011694 70010A94 8CC70000 */ lw $a3, ($a2) +/* 011698 70010A98 27BDFFF8 */ addiu $sp, $sp, -8 +/* 01169C 70010A9C 10E0000A */ beqz $a3, .L70010AC8 +/* 0116A0 70010AA0 00000000 */ nop +.L70010AA4: +/* 0116A4 70010AA4 14E50004 */ bne $a3, $a1, .L70010AB8 +/* 0116A8 70010AA8 00000000 */ nop +/* 0116AC 70010AAC 8CAE0000 */ lw $t6, ($a1) +/* 0116B0 70010AB0 10000005 */ b .L70010AC8 +/* 0116B4 70010AB4 ACCE0000 */ sw $t6, ($a2) +.L70010AB8: +/* 0116B8 70010AB8 00E03025 */ move $a2, $a3 +/* 0116BC 70010ABC 8CC70000 */ lw $a3, ($a2) +/* 0116C0 70010AC0 14E0FFF8 */ bnez $a3, .L70010AA4 +/* 0116C4 70010AC4 00000000 */ nop +.L70010AC8: +/* 0116C8 70010AC8 03E00008 */ jr $ra +/* 0116CC 70010ACC 27BD0008 */ addiu $sp, $sp, 8 + +.section .data +glabel __osThreadTail +.word 0, 0xFFFFFFFF +glabel __osRunQueue + .word __osThreadTail +glabel __osActiveQueue +.word __osThreadTail +glabel __osRunningThread +.word 0 +glabel __osFaultedThread +.word 0 diff --git a/src/libultra/__osGetCurrFaultedThread.s b/src/libultra/__osGetCurrFaultedThread.s new file mode 100644 index 00000000..d5f44e81 --- /dev/null +++ b/src/libultra/__osGetCurrFaultedThread.s @@ -0,0 +1,14 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __osGetCurrFaultedThread +/* 010D80 70010180 3C028002 */ lui $v0, %hi(__osFaultedThread) +/* 010D84 70010184 03E00008 */ jr $ra +/* 010D88 70010188 8C427734 */ lw $v0, %lo(__osFaultedThread)($v0) + diff --git a/src/libultra/__osGetFpcCsr.s b/src/libultra/__osGetFpcCsr.s new file mode 100644 index 00000000..91e18839 --- /dev/null +++ b/src/libultra/__osGetFpcCsr.s @@ -0,0 +1,14 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __osGetFpcCsr +/* 00E010 7000D410 4442F800 */ cfc1 $v0, $31 +/* 00E014 7000D414 03E00008 */ jr $ra +/* 00E018 7000D418 00000000 */ nop + \ No newline at end of file diff --git a/src/libultra/__osGetTLBHi.s b/src/libultra/__osGetTLBHi.s new file mode 100644 index 00000000..0beac9aa --- /dev/null +++ b/src/libultra/__osGetTLBHi.s @@ -0,0 +1,21 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel __osGetTLBHi +/* 00F480 7000E880 40840000 */ mtc0 $a0, $0 +/* 00F484 7000E884 00000000 */ nop +/* 00F488 7000E888 42000001 */ tlbr +/* 00F48C 7000E88C 00000000 */ nop +/* 00F490 7000E890 00000000 */ nop +/* 00F494 7000E894 00000000 */ nop +/* 00F498 7000E898 40025000 */ mfc0 $v0, $10 +/* 00F49C 7000E89C 03E00008 */ jr $ra +/* 00F4A0 7000E8A0 00000000 */ nop + diff --git a/src/libultra/__osSetFpcCsr.s b/src/libultra/__osSetFpcCsr.s new file mode 100644 index 00000000..5dff2826 --- /dev/null +++ b/src/libultra/__osSetFpcCsr.s @@ -0,0 +1,14 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __osSetFpcCsr +/* 00E020 7000D420 4442F800 */ cfc1 $v0, $31 +/* 00E024 7000D424 44C4F800 */ ctc1 $a0, $31 +/* 00E028 7000D428 03E00008 */ jr $ra +/* 00E02C 7000D42C 00000000 */ nop diff --git a/src/libultra/_bcopy.s b/src/libultra/_bcopy.s new file mode 100644 index 00000000..9fe0be11 --- /dev/null +++ b/src/libultra/_bcopy.s @@ -0,0 +1,229 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel _bcopy +/* 010570 7000F970 10C0001A */ beqz $a2, .L7000F9DC +/* 010574 7000F974 00A03825 */ move $a3, $a1 +/* 010578 7000F978 10850018 */ beq $a0, $a1, .L7000F9DC +/* 01057C 7000F97C 00A4082A */ slt $at, $a1, $a0 +/* 010580 7000F980 54200008 */ bnezl $at, .L7000F9A4 +/* 010584 7000F984 28C10010 */ slti $at, $a2, 0x10 +/* 010588 7000F988 00861020 */ add $v0, $a0, $a2 +/* 01058C 7000F98C 00A2082A */ slt $at, $a1, $v0 +/* 010590 7000F990 50200004 */ beql $at, $zero, .L7000F9A4 +/* 010594 7000F994 28C10010 */ slti $at, $a2, 0x10 +/* 010598 7000F998 1000005B */ b .L7000FB08 +/* 01059C 7000F99C 28C10010 */ slti $at, $a2, 0x10 +/* 0105A0 7000F9A0 28C10010 */ slti $at, $a2, 0x10 +.L7000F9A4: +/* 0105A4 7000F9A4 14200005 */ bnez $at, .L7000F9BC +/* 0105A8 7000F9A8 00000000 */ nop +/* 0105AC 7000F9AC 30820003 */ andi $v0, $a0, 3 +/* 0105B0 7000F9B0 30A30003 */ andi $v1, $a1, 3 +/* 0105B4 7000F9B4 1043000B */ beq $v0, $v1, .L7000F9E4 +/* 0105B8 7000F9B8 00000000 */ nop +.L7000F9BC: +/* 0105BC 7000F9BC 10C00007 */ beqz $a2, .L7000F9DC +/* 0105C0 7000F9C0 00000000 */ nop +/* 0105C4 7000F9C4 00861821 */ addu $v1, $a0, $a2 +.L7000F9C8: +/* 0105C8 7000F9C8 80820000 */ lb $v0, ($a0) +/* 0105CC 7000F9CC 24840001 */ addiu $a0, $a0, 1 +/* 0105D0 7000F9D0 24A50001 */ addiu $a1, $a1, 1 +/* 0105D4 7000F9D4 1483FFFC */ bne $a0, $v1, .L7000F9C8 +/* 0105D8 7000F9D8 A0A2FFFF */ sb $v0, -1($a1) +.L7000F9DC: +/* 0105DC 7000F9DC 03E00008 */ jr $ra +/* 0105E0 7000F9E0 00E01025 */ move $v0, $a3 + +.L7000F9E4: +/* 0105E4 7000F9E4 10400018 */ beqz $v0, .L7000FA48 +/* 0105E8 7000F9E8 24010001 */ li $at, 1 +/* 0105EC 7000F9EC 1041000F */ beq $v0, $at, .L7000FA2C +/* 0105F0 7000F9F0 24010002 */ li $at, 2 +/* 0105F4 7000F9F4 50410008 */ beql $v0, $at, .L7000FA18 +/* 0105F8 7000F9F8 84820000 */ lh $v0, ($a0) +/* 0105FC 7000F9FC 80820000 */ lb $v0, ($a0) +/* 010600 7000FA00 24840001 */ addiu $a0, $a0, 1 +/* 010604 7000FA04 24A50001 */ addiu $a1, $a1, 1 +/* 010608 7000FA08 24C6FFFF */ addiu $a2, $a2, -1 +/* 01060C 7000FA0C 1000000E */ b .L7000FA48 +/* 010610 7000FA10 A0A2FFFF */ sb $v0, -1($a1) +/* 010614 7000FA14 84820000 */ lh $v0, ($a0) +.L7000FA18: +/* 010618 7000FA18 24840002 */ addiu $a0, $a0, 2 +/* 01061C 7000FA1C 24A50002 */ addiu $a1, $a1, 2 +/* 010620 7000FA20 24C6FFFE */ addiu $a2, $a2, -2 +/* 010624 7000FA24 10000008 */ b .L7000FA48 +/* 010628 7000FA28 A4A2FFFE */ sh $v0, -2($a1) +.L7000FA2C: +/* 01062C 7000FA2C 80820000 */ lb $v0, ($a0) +/* 010630 7000FA30 84830001 */ lh $v1, 1($a0) +/* 010634 7000FA34 24840003 */ addiu $a0, $a0, 3 +/* 010638 7000FA38 24A50003 */ addiu $a1, $a1, 3 +/* 01063C 7000FA3C 24C6FFFD */ addiu $a2, $a2, -3 +/* 010640 7000FA40 A0A2FFFD */ sb $v0, -3($a1) +/* 010644 7000FA44 A4A3FFFE */ sh $v1, -2($a1) +.L7000FA48: +/* 010648 7000FA48 28C10020 */ slti $at, $a2, 0x20 +/* 01064C 7000FA4C 54200016 */ bnezl $at, .L7000FAA8 +/* 010650 7000FA50 28C10010 */ slti $at, $a2, 0x10 +/* 010654 7000FA54 8C820000 */ lw $v0, ($a0) +/* 010658 7000FA58 8C830004 */ lw $v1, 4($a0) +/* 01065C 7000FA5C 8C880008 */ lw $t0, 8($a0) +/* 010660 7000FA60 8C89000C */ lw $t1, 0xc($a0) +/* 010664 7000FA64 8C8A0010 */ lw $t2, 0x10($a0) +/* 010668 7000FA68 8C8B0014 */ lw $t3, 0x14($a0) +/* 01066C 7000FA6C 8C8C0018 */ lw $t4, 0x18($a0) +/* 010670 7000FA70 8C8D001C */ lw $t5, 0x1c($a0) +/* 010674 7000FA74 24840020 */ addiu $a0, $a0, 0x20 +/* 010678 7000FA78 24A50020 */ addiu $a1, $a1, 0x20 +/* 01067C 7000FA7C 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 010680 7000FA80 ACA2FFE0 */ sw $v0, -0x20($a1) +/* 010684 7000FA84 ACA3FFE4 */ sw $v1, -0x1c($a1) +/* 010688 7000FA88 ACA8FFE8 */ sw $t0, -0x18($a1) +/* 01068C 7000FA8C ACA9FFEC */ sw $t1, -0x14($a1) +/* 010690 7000FA90 ACAAFFF0 */ sw $t2, -0x10($a1) +/* 010694 7000FA94 ACABFFF4 */ sw $t3, -0xc($a1) +/* 010698 7000FA98 ACACFFF8 */ sw $t4, -8($a1) +/* 01069C 7000FA9C 1000FFEA */ b .L7000FA48 +/* 0106A0 7000FAA0 ACADFFFC */ sw $t5, -4($a1) +.L7000FAA4: +/* 0106A4 7000FAA4 28C10010 */ slti $at, $a2, 0x10 +.L7000FAA8: +/* 0106A8 7000FAA8 5420000E */ bnezl $at, .L7000FAE4 +/* 0106AC 7000FAAC 28C10004 */ slti $at, $a2, 4 +/* 0106B0 7000FAB0 8C820000 */ lw $v0, ($a0) +/* 0106B4 7000FAB4 8C830004 */ lw $v1, 4($a0) +/* 0106B8 7000FAB8 8C880008 */ lw $t0, 8($a0) +/* 0106BC 7000FABC 8C89000C */ lw $t1, 0xc($a0) +/* 0106C0 7000FAC0 24840010 */ addiu $a0, $a0, 0x10 +/* 0106C4 7000FAC4 24A50010 */ addiu $a1, $a1, 0x10 +/* 0106C8 7000FAC8 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0106CC 7000FACC ACA2FFF0 */ sw $v0, -0x10($a1) +/* 0106D0 7000FAD0 ACA3FFF4 */ sw $v1, -0xc($a1) +/* 0106D4 7000FAD4 ACA8FFF8 */ sw $t0, -8($a1) +/* 0106D8 7000FAD8 1000FFF2 */ b .L7000FAA4 +/* 0106DC 7000FADC ACA9FFFC */ sw $t1, -4($a1) +.L7000FAE0: +/* 0106E0 7000FAE0 28C10004 */ slti $at, $a2, 4 +.L7000FAE4: +/* 0106E4 7000FAE4 1420FFB5 */ bnez $at, .L7000F9BC +/* 0106E8 7000FAE8 00000000 */ nop +/* 0106EC 7000FAEC 8C820000 */ lw $v0, ($a0) +/* 0106F0 7000FAF0 24840004 */ addiu $a0, $a0, 4 +/* 0106F4 7000FAF4 24A50004 */ addiu $a1, $a1, 4 +/* 0106F8 7000FAF8 24C6FFFC */ addiu $a2, $a2, -4 +/* 0106FC 7000FAFC 1000FFF8 */ b .L7000FAE0 +/* 010700 7000FB00 ACA2FFFC */ sw $v0, -4($a1) +/* 010704 7000FB04 28C10010 */ slti $at, $a2, 0x10 +.L7000FB08: +/* 010708 7000FB08 00862020 */ add $a0, $a0, $a2 +/* 01070C 7000FB0C 14200005 */ bnez $at, .L7000FB24 +/* 010710 7000FB10 00A62820 */ add $a1, $a1, $a2 +/* 010714 7000FB14 30820003 */ andi $v0, $a0, 3 +/* 010718 7000FB18 30A30003 */ andi $v1, $a1, 3 +/* 01071C 7000FB1C 1043000D */ beq $v0, $v1, .L7000FB54 +/* 010720 7000FB20 00000000 */ nop +.L7000FB24: +/* 010724 7000FB24 10C0FFAD */ beqz $a2, .L7000F9DC +/* 010728 7000FB28 00000000 */ nop +/* 01072C 7000FB2C 2484FFFF */ addiu $a0, $a0, -1 +/* 010730 7000FB30 24A5FFFF */ addiu $a1, $a1, -1 +/* 010734 7000FB34 00861823 */ subu $v1, $a0, $a2 +.L7000FB38: +/* 010738 7000FB38 80820000 */ lb $v0, ($a0) +/* 01073C 7000FB3C 2484FFFF */ addiu $a0, $a0, -1 +/* 010740 7000FB40 24A5FFFF */ addiu $a1, $a1, -1 +/* 010744 7000FB44 1483FFFC */ bne $a0, $v1, .L7000FB38 +/* 010748 7000FB48 A0A20001 */ sb $v0, 1($a1) +/* 01074C 7000FB4C 03E00008 */ jr $ra +/* 010750 7000FB50 00E01025 */ move $v0, $a3 + +.L7000FB54: +/* 010754 7000FB54 10400018 */ beqz $v0, .L7000FBB8 +/* 010758 7000FB58 24010003 */ li $at, 3 +/* 01075C 7000FB5C 1041000F */ beq $v0, $at, .L7000FB9C +/* 010760 7000FB60 24010002 */ li $at, 2 +/* 010764 7000FB64 50410008 */ beql $v0, $at, .L7000FB88 +/* 010768 7000FB68 8482FFFE */ lh $v0, -2($a0) +/* 01076C 7000FB6C 8082FFFF */ lb $v0, -1($a0) +/* 010770 7000FB70 2484FFFF */ addiu $a0, $a0, -1 +/* 010774 7000FB74 24A5FFFF */ addiu $a1, $a1, -1 +/* 010778 7000FB78 24C6FFFF */ addiu $a2, $a2, -1 +/* 01077C 7000FB7C 1000000E */ b .L7000FBB8 +/* 010780 7000FB80 A0A20000 */ sb $v0, ($a1) +/* 010784 7000FB84 8482FFFE */ lh $v0, -2($a0) +.L7000FB88: +/* 010788 7000FB88 2484FFFE */ addiu $a0, $a0, -2 +/* 01078C 7000FB8C 24A5FFFE */ addiu $a1, $a1, -2 +/* 010790 7000FB90 24C6FFFE */ addiu $a2, $a2, -2 +/* 010794 7000FB94 10000008 */ b .L7000FBB8 +/* 010798 7000FB98 A4A20000 */ sh $v0, ($a1) +.L7000FB9C: +/* 01079C 7000FB9C 8082FFFF */ lb $v0, -1($a0) +/* 0107A0 7000FBA0 8483FFFD */ lh $v1, -3($a0) +/* 0107A4 7000FBA4 2484FFFD */ addiu $a0, $a0, -3 +/* 0107A8 7000FBA8 24A5FFFD */ addiu $a1, $a1, -3 +/* 0107AC 7000FBAC 24C6FFFD */ addiu $a2, $a2, -3 +/* 0107B0 7000FBB0 A0A20002 */ sb $v0, 2($a1) +/* 0107B4 7000FBB4 A4A30000 */ sh $v1, ($a1) +.L7000FBB8: +/* 0107B8 7000FBB8 28C10020 */ slti $at, $a2, 0x20 +/* 0107BC 7000FBBC 54200016 */ bnezl $at, .L7000FC18 +/* 0107C0 7000FBC0 28C10010 */ slti $at, $a2, 0x10 +/* 0107C4 7000FBC4 8C82FFFC */ lw $v0, -4($a0) +/* 0107C8 7000FBC8 8C83FFF8 */ lw $v1, -8($a0) +/* 0107CC 7000FBCC 8C88FFF4 */ lw $t0, -0xc($a0) +/* 0107D0 7000FBD0 8C89FFF0 */ lw $t1, -0x10($a0) +/* 0107D4 7000FBD4 8C8AFFEC */ lw $t2, -0x14($a0) +/* 0107D8 7000FBD8 8C8BFFE8 */ lw $t3, -0x18($a0) +/* 0107DC 7000FBDC 8C8CFFE4 */ lw $t4, -0x1c($a0) +/* 0107E0 7000FBE0 8C8DFFE0 */ lw $t5, -0x20($a0) +/* 0107E4 7000FBE4 2484FFE0 */ addiu $a0, $a0, -0x20 +/* 0107E8 7000FBE8 24A5FFE0 */ addiu $a1, $a1, -0x20 +/* 0107EC 7000FBEC 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 0107F0 7000FBF0 ACA2001C */ sw $v0, 0x1c($a1) +/* 0107F4 7000FBF4 ACA30018 */ sw $v1, 0x18($a1) +/* 0107F8 7000FBF8 ACA80014 */ sw $t0, 0x14($a1) +/* 0107FC 7000FBFC ACA90010 */ sw $t1, 0x10($a1) +/* 010800 7000FC00 ACAA000C */ sw $t2, 0xc($a1) +/* 010804 7000FC04 ACAB0008 */ sw $t3, 8($a1) +/* 010808 7000FC08 ACAC0004 */ sw $t4, 4($a1) +/* 01080C 7000FC0C 1000FFEA */ b .L7000FBB8 +/* 010810 7000FC10 ACAD0000 */ sw $t5, ($a1) +.L7000FC14: +/* 010814 7000FC14 28C10010 */ slti $at, $a2, 0x10 +.L7000FC18: +/* 010818 7000FC18 5420000E */ bnezl $at, .L7000FC54 +/* 01081C 7000FC1C 28C10004 */ slti $at, $a2, 4 +/* 010820 7000FC20 8C82FFFC */ lw $v0, -4($a0) +/* 010824 7000FC24 8C83FFF8 */ lw $v1, -8($a0) +/* 010828 7000FC28 8C88FFF4 */ lw $t0, -0xc($a0) +/* 01082C 7000FC2C 8C89FFF0 */ lw $t1, -0x10($a0) +/* 010830 7000FC30 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 010834 7000FC34 24A5FFF0 */ addiu $a1, $a1, -0x10 +/* 010838 7000FC38 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 01083C 7000FC3C ACA2000C */ sw $v0, 0xc($a1) +/* 010840 7000FC40 ACA30008 */ sw $v1, 8($a1) +/* 010844 7000FC44 ACA80004 */ sw $t0, 4($a1) +/* 010848 7000FC48 1000FFF2 */ b .L7000FC14 +/* 01084C 7000FC4C ACA90000 */ sw $t1, ($a1) +.L7000FC50: +/* 010850 7000FC50 28C10004 */ slti $at, $a2, 4 +.L7000FC54: +/* 010854 7000FC54 1420FFB3 */ bnez $at, .L7000FB24 +/* 010858 7000FC58 00000000 */ nop +/* 01085C 7000FC5C 8C82FFFC */ lw $v0, -4($a0) +/* 010860 7000FC60 2484FFFC */ addiu $a0, $a0, -4 +/* 010864 7000FC64 24A5FFFC */ addiu $a1, $a1, -4 +/* 010868 7000FC68 24C6FFFC */ addiu $a2, $a2, -4 +/* 01086C 7000FC6C 1000FFF8 */ b .L7000FC50 +/* 010870 7000FC70 ACA20000 */ sw $v0, ($a1) + diff --git a/src/libultra/alBnkfNew.s b/src/libultra/alBnkfNew.s new file mode 100644 index 00000000..73eefc0d --- /dev/null +++ b/src/libultra/alBnkfNew.s @@ -0,0 +1,177 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +/* 011970 70010D70 03E00008 */ jr $ra +/* 011974 70010D74 00000000 */ nop + +/* 011978 70010D78 03E00008 */ jr $ra +/* 01197C 70010D7C 00000000 */ nop + +glabel ultra_70010D80 +/* 011980 70010D80 908E0003 */ lbu $t6, 3($a0) +/* 011984 70010D84 15C00037 */ bnez $t6, .L70010E64 +/* 011988 70010D88 00000000 */ nop +/* 01198C 70010D8C 848F000E */ lh $t7, 0xe($a0) +/* 011990 70010D90 24090001 */ li $t1, 1 +/* 011994 70010D94 A0890003 */ sb $t1, 3($a0) +/* 011998 70010D98 19E00032 */ blez $t7, .L70010E64 +/* 01199C 70010D9C 00001025 */ move $v0, $zero +/* 0119A0 70010DA0 00801825 */ move $v1, $a0 +/* 0119A4 70010DA4 240A0001 */ li $t2, 1 +/* 0119A8 70010DA8 8C780010 */ lw $t8, 0x10($v1) +.L70010DAC: +/* 0119AC 70010DAC 0305C821 */ addu $t9, $t8, $a1 +/* 0119B0 70010DB0 AC790010 */ sw $t9, 0x10($v1) +/* 0119B4 70010DB4 932E000E */ lbu $t6, 0xe($t9) +/* 0119B8 70010DB8 03203025 */ move $a2, $t9 +/* 0119BC 70010DBC 55C00024 */ bnezl $t6, .L70010E50 +/* 0119C0 70010DC0 8498000E */ lh $t8, 0xe($a0) +/* 0119C4 70010DC4 8F2F0000 */ lw $t7, ($t9) +/* 0119C8 70010DC8 A329000E */ sb $t1, 0xe($t9) +/* 0119CC 70010DCC 01E5C021 */ addu $t8, $t7, $a1 +/* 0119D0 70010DD0 AF380000 */ sw $t8, ($t9) +/* 0119D4 70010DD4 8F390004 */ lw $t9, 4($t9) +/* 0119D8 70010DD8 8CCF0008 */ lw $t7, 8($a2) +/* 0119DC 70010DDC 03257021 */ addu $t6, $t9, $a1 +/* 0119E0 70010DE0 01E5C021 */ addu $t8, $t7, $a1 +/* 0119E4 70010DE4 ACCE0004 */ sw $t6, 4($a2) +/* 0119E8 70010DE8 ACD80008 */ sw $t8, 8($a2) +/* 0119EC 70010DEC 93190009 */ lbu $t9, 9($t8) +/* 0119F0 70010DF0 03004025 */ move $t0, $t8 +/* 0119F4 70010DF4 57200016 */ bnezl $t9, .L70010E50 +/* 0119F8 70010DF8 8498000E */ lh $t8, 0xe($a0) +/* 0119FC 70010DFC 8F0E0000 */ lw $t6, ($t8) +/* 011A00 70010E00 93060008 */ lbu $a2, 8($t8) +/* 011A04 70010E04 A3090009 */ sb $t1, 9($t8) +/* 011A08 70010E08 01C77821 */ addu $t7, $t6, $a3 +/* 011A0C 70010E0C 14C00009 */ bnez $a2, .L70010E34 +/* 011A10 70010E10 AF0F0000 */ sw $t7, ($t8) +/* 011A14 70010E14 8F180010 */ lw $t8, 0x10($t8) +/* 011A18 70010E18 8D06000C */ lw $a2, 0xc($t0) +/* 011A1C 70010E1C 0305C821 */ addu $t9, $t8, $a1 +/* 011A20 70010E20 10C0000A */ beqz $a2, .L70010E4C +/* 011A24 70010E24 AD190010 */ sw $t9, 0x10($t0) +/* 011A28 70010E28 00C57021 */ addu $t6, $a2, $a1 +/* 011A2C 70010E2C 10000007 */ b .L70010E4C +/* 011A30 70010E30 AD0E000C */ sw $t6, 0xc($t0) +.L70010E34: +/* 011A34 70010E34 55460006 */ bnel $t2, $a2, .L70010E50 +/* 011A38 70010E38 8498000E */ lh $t8, 0xe($a0) +/* 011A3C 70010E3C 8D06000C */ lw $a2, 0xc($t0) +/* 011A40 70010E40 10C00002 */ beqz $a2, .L70010E4C +/* 011A44 70010E44 00C57821 */ addu $t7, $a2, $a1 +/* 011A48 70010E48 AD0F000C */ sw $t7, 0xc($t0) +.L70010E4C: +/* 011A4C 70010E4C 8498000E */ lh $t8, 0xe($a0) +.L70010E50: +/* 011A50 70010E50 24420001 */ addiu $v0, $v0, 1 +/* 011A54 70010E54 24630004 */ addiu $v1, $v1, 4 +/* 011A58 70010E58 0058082A */ slt $at, $v0, $t8 +/* 011A5C 70010E5C 5420FFD3 */ bnezl $at, .L70010DAC +/* 011A60 70010E60 8C780010 */ lw $t8, 0x10($v1) +.L70010E64: +/* 011A64 70010E64 03E00008 */ jr $ra +/* 011A68 70010E68 00000000 */ nop + +/* 011A6C 70010E6C 03E00008 */ jr $ra +/* 011A70 70010E70 00000000 */ nop + +glabel alBnkfNew +/* 011A74 70010E74 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 011A78 70010E78 AFBF002C */ sw $ra, 0x2c($sp) +/* 011A7C 70010E7C AFB40028 */ sw $s4, 0x28($sp) +/* 011A80 70010E80 AFB30024 */ sw $s3, 0x24($sp) +/* 011A84 70010E84 AFB20020 */ sw $s2, 0x20($sp) +/* 011A88 70010E88 AFB1001C */ sw $s1, 0x1c($sp) +/* 011A8C 70010E8C AFB00018 */ sw $s0, 0x18($sp) +/* 011A90 70010E90 848E0000 */ lh $t6, ($a0) +/* 011A94 70010E94 24014231 */ li $at, 16945 +/* 011A98 70010E98 00808025 */ move $s0, $a0 +/* 011A9C 70010E9C 15C1002E */ bne $t6, $at, .L70010F58 +/* 011AA0 70010EA0 00A08825 */ move $s1, $a1 +/* 011AA4 70010EA4 848F0002 */ lh $t7, 2($a0) +/* 011AA8 70010EA8 00009825 */ move $s3, $zero +/* 011AAC 70010EAC 00809025 */ move $s2, $a0 +/* 011AB0 70010EB0 19E00029 */ blez $t7, .L70010F58 +/* 011AB4 70010EB4 24140001 */ li $s4, 1 +/* 011AB8 70010EB8 8E580004 */ lw $t8, 4($s2) +.L70010EBC: +/* 011ABC 70010EBC 0310C821 */ addu $t9, $t8, $s0 +/* 011AC0 70010EC0 1320001F */ beqz $t9, .L70010F40 +/* 011AC4 70010EC4 AE590004 */ sw $t9, 4($s2) +/* 011AC8 70010EC8 932E0002 */ lbu $t6, 2($t9) +/* 011ACC 70010ECC 03206825 */ move $t5, $t9 +/* 011AD0 70010ED0 55C0001C */ bnezl $t6, .L70010F44 +/* 011AD4 70010ED4 86180002 */ lh $t8, 2($s0) +/* 011AD8 70010ED8 8F220008 */ lw $v0, 8($t9) +/* 011ADC 70010EDC A3340002 */ sb $s4, 2($t9) +/* 011AE0 70010EE0 00006025 */ move $t4, $zero +/* 011AE4 70010EE4 10400005 */ beqz $v0, .L70010EFC +/* 011AE8 70010EE8 00502021 */ addu $a0, $v0, $s0 +/* 011AEC 70010EEC AF240008 */ sw $a0, 8($t9) +/* 011AF0 70010EF0 02002825 */ move $a1, $s0 +/* 011AF4 70010EF4 0C004360 */ jal ultra_70010D80 +/* 011AF8 70010EF8 02203825 */ move $a3, $s1 +.L70010EFC: +/* 011AFC 70010EFC 85B80000 */ lh $t8, ($t5) +/* 011B00 70010F00 01A05825 */ move $t3, $t5 +/* 011B04 70010F04 5B00000F */ blezl $t8, .L70010F44 +/* 011B08 70010F08 86180002 */ lh $t8, 2($s0) +/* 011B0C 70010F0C 8D79000C */ lw $t9, 0xc($t3) +.L70010F10: +/* 011B10 70010F10 02002825 */ move $a1, $s0 +/* 011B14 70010F14 03302021 */ addu $a0, $t9, $s0 +/* 011B18 70010F18 10800003 */ beqz $a0, .L70010F28 +/* 011B1C 70010F1C AD64000C */ sw $a0, 0xc($t3) +/* 011B20 70010F20 0C004360 */ jal ultra_70010D80 +/* 011B24 70010F24 02203825 */ move $a3, $s1 +.L70010F28: +/* 011B28 70010F28 85AF0000 */ lh $t7, ($t5) +/* 011B2C 70010F2C 258C0001 */ addiu $t4, $t4, 1 +/* 011B30 70010F30 256B0004 */ addiu $t3, $t3, 4 +/* 011B34 70010F34 018F082A */ slt $at, $t4, $t7 +/* 011B38 70010F38 5420FFF5 */ bnezl $at, .L70010F10 +/* 011B3C 70010F3C 8D79000C */ lw $t9, 0xc($t3) +.L70010F40: +/* 011B40 70010F40 86180002 */ lh $t8, 2($s0) +.L70010F44: +/* 011B44 70010F44 26730001 */ addiu $s3, $s3, 1 +/* 011B48 70010F48 26520004 */ addiu $s2, $s2, 4 +/* 011B4C 70010F4C 0278082A */ slt $at, $s3, $t8 +/* 011B50 70010F50 5420FFDA */ bnezl $at, .L70010EBC +/* 011B54 70010F54 8E580004 */ lw $t8, 4($s2) +.L70010F58: +/* 011B58 70010F58 8FBF002C */ lw $ra, 0x2c($sp) +/* 011B5C 70010F5C 8FB00018 */ lw $s0, 0x18($sp) +/* 011B60 70010F60 8FB1001C */ lw $s1, 0x1c($sp) +/* 011B64 70010F64 8FB20020 */ lw $s2, 0x20($sp) +/* 011B68 70010F68 8FB30024 */ lw $s3, 0x24($sp) +/* 011B6C 70010F6C 8FB40028 */ lw $s4, 0x28($sp) +/* 011B70 70010F70 03E00008 */ jr $ra +/* 011B74 70010F74 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel alSeqFileNew +/* 011B78 70010F78 848E0002 */ lh $t6, 2($a0) +/* 011B7C 70010F7C 00001025 */ move $v0, $zero +/* 011B80 70010F80 00801825 */ move $v1, $a0 +/* 011B84 70010F84 19C0000A */ blez $t6, .L70010FB0 +/* 011B88 70010F88 00000000 */ nop +/* 011B8C 70010F8C 8C6F0004 */ lw $t7, 4($v1) +.L70010F90: +/* 011B90 70010F90 24420001 */ addiu $v0, $v0, 1 +/* 011B94 70010F94 24630008 */ addiu $v1, $v1, 8 +/* 011B98 70010F98 01E5C021 */ addu $t8, $t7, $a1 +/* 011B9C 70010F9C AC78FFFC */ sw $t8, -4($v1) +/* 011BA0 70010FA0 84990002 */ lh $t9, 2($a0) +/* 011BA4 70010FA4 0059082A */ slt $at, $v0, $t9 +/* 011BA8 70010FA8 5420FFF9 */ bnezl $at, .L70010F90 +/* 011BAC 70010FAC 8C6F0004 */ lw $t7, 4($v1) +.L70010FB0: +/* 011BB0 70010FB0 03E00008 */ jr $ra +/* 011BB4 70010FB4 00000000 */ nop diff --git a/src/libultra/alCSPGetState.s b/src/libultra/alCSPGetState.s new file mode 100644 index 00000000..0f380aec --- /dev/null +++ b/src/libultra/alCSPGetState.s @@ -0,0 +1,12 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alCSPGetState +/* 012E30 70012230 03E00008 */ jr $ra +/* 012E34 70012234 8C82002C */ lw $v0, 0x2c($a0) diff --git a/src/libultra/alCSPPlay.s b/src/libultra/alCSPPlay.s new file mode 100644 index 00000000..a1baa7ac --- /dev/null +++ b/src/libultra/alCSPPlay.s @@ -0,0 +1,22 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alCSPPlay +/* 013940 70012D40 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013944 70012D44 AFBF0014 */ sw $ra, 0x14($sp) +/* 013948 70012D48 240E000F */ li $t6, 15 +/* 01394C 70012D4C A7AE0018 */ sh $t6, 0x18($sp) +/* 013950 70012D50 27A50018 */ addiu $a1, $sp, 0x18 +/* 013954 70012D54 24840048 */ addiu $a0, $a0, 0x48 +/* 013958 70012D58 0C004BBF */ jal alEvtqPostEvent +/* 01395C 70012D5C 00003025 */ move $a2, $zero +/* 013960 70012D60 8FBF0014 */ lw $ra, 0x14($sp) +/* 013964 70012D64 27BD0028 */ addiu $sp, $sp, 0x28 +/* 013968 70012D68 03E00008 */ jr $ra +/* 01396C 70012D6C 00000000 */ nop diff --git a/src/libultra/alCSPSetSeq.s b/src/libultra/alCSPSetSeq.s new file mode 100644 index 00000000..d028e49c --- /dev/null +++ b/src/libultra/alCSPSetSeq.s @@ -0,0 +1,23 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alCSPSetSeq +/* 013900 70012D00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013904 70012D04 AFBF0014 */ sw $ra, 0x14($sp) +/* 013908 70012D08 240E000D */ li $t6, 13 +/* 01390C 70012D0C AFA5001C */ sw $a1, 0x1c($sp) +/* 013910 70012D10 A7AE0018 */ sh $t6, 0x18($sp) +/* 013914 70012D14 27A50018 */ addiu $a1, $sp, 0x18 +/* 013918 70012D18 24840048 */ addiu $a0, $a0, 0x48 +/* 01391C 70012D1C 0C004BBF */ jal alEvtqPostEvent +/* 013920 70012D20 00003025 */ move $a2, $zero +/* 013924 70012D24 8FBF0014 */ lw $ra, 0x14($sp) +/* 013928 70012D28 27BD0028 */ addiu $sp, $sp, 0x28 +/* 01392C 70012D2C 03E00008 */ jr $ra +/* 013930 70012D30 00000000 */ nop diff --git a/src/libultra/alCSPSetVol.s b/src/libultra/alCSPSetVol.s new file mode 100644 index 00000000..b921c280 --- /dev/null +++ b/src/libultra/alCSPSetVol.s @@ -0,0 +1,26 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel alCSPSetVol +/* 0139A0 70012DA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0139A4 70012DA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0139A8 70012DA8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0139AC 70012DAC 00A07025 */ move $t6, $a1 +/* 0139B0 70012DB0 240F000A */ li $t7, 10 +/* 0139B4 70012DB4 A7AF0018 */ sh $t7, 0x18($sp) +/* 0139B8 70012DB8 A7AE001C */ sh $t6, 0x1c($sp) +/* 0139BC 70012DBC 27A50018 */ addiu $a1, $sp, 0x18 +/* 0139C0 70012DC0 24840048 */ addiu $a0, $a0, 0x48 +/* 0139C4 70012DC4 0C004BBF */ jal alEvtqPostEvent +/* 0139C8 70012DC8 00003025 */ move $a2, $zero +/* 0139CC 70012DCC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0139D0 70012DD0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0139D4 70012DD4 03E00008 */ jr $ra +/* 0139D8 70012DD8 00000000 */ nop diff --git a/src/libultra/alCSPStop.s b/src/libultra/alCSPStop.s new file mode 100644 index 00000000..e3664ab8 --- /dev/null +++ b/src/libultra/alCSPStop.s @@ -0,0 +1,23 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel alCSPStop +/* 013970 70012D70 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013974 70012D74 AFBF0014 */ sw $ra, 0x14($sp) +/* 013978 70012D78 240E0011 */ li $t6, 17 +/* 01397C 70012D7C A7AE0018 */ sh $t6, 0x18($sp) +/* 013980 70012D80 27A50018 */ addiu $a1, $sp, 0x18 +/* 013984 70012D84 24840048 */ addiu $a0, $a0, 0x48 +/* 013988 70012D88 0C004BBF */ jal alEvtqPostEvent +/* 01398C 70012D8C 00003025 */ move $a2, $zero +/* 013990 70012D90 8FBF0014 */ lw $ra, 0x14($sp) +/* 013994 70012D94 27BD0028 */ addiu $sp, $sp, 0x28 +/* 013998 70012D98 03E00008 */ jr $ra +/* 01399C 70012D9C 00000000 */ nop diff --git a/src/libultra/alCents2Ratio.s b/src/libultra/alCents2Ratio.s new file mode 100644 index 00000000..652d3fc5 --- /dev/null +++ b/src/libultra/alCents2Ratio.s @@ -0,0 +1,42 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alCents2Ratio +/* 0143C0 700137C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0143C4 700137C4 44811000 */ mtc1 $at, $f2 +/* 0143C8 700137C8 04800004 */ bltz $a0, .L700137DC +/* 0143CC 700137CC 3C018003 */ lui $at, %hi(F32_800296E4) +/* 0143D0 700137D0 3C018003 */ lui $at, %hi(F32_800296E0) +/* 0143D4 700137D4 10000003 */ b .L700137E4 +/* 0143D8 700137D8 C42096E0 */ lwc1 $f0, %lo(F32_800296E0)($at) +.L700137DC: +/* 0143DC 700137DC C42096E4 */ lwc1 $f0, %lo(F32_800296E4)($at) +/* 0143E0 700137E0 00042023 */ negu $a0, $a0 +.L700137E4: +/* 0143E4 700137E4 10800008 */ beqz $a0, .L70013808 +.L700137E8: +/* 0143E8 700137E8 308E0001 */ andi $t6, $a0, 1 +/* 0143EC 700137EC 11C00003 */ beqz $t6, .L700137FC +/* 0143F0 700137F0 00047843 */ sra $t7, $a0, 1 +/* 0143F4 700137F4 46001082 */ mul.s $f2, $f2, $f0 +/* 0143F8 700137F8 00000000 */ nop +.L700137FC: +/* 0143FC 700137FC 46000002 */ mul.s $f0, $f0, $f0 +/* 014400 70013800 15E0FFF9 */ bnez $t7, .L700137E8 +/* 014404 70013804 01E02025 */ move $a0, $t7 +.L70013808: +/* 014408 70013808 03E00008 */ jr $ra +/* 01440C 7001380C 46001006 */ mov.s $f0, $f2 + +.section .rodata +glabel F32_800296E0 +.float 1.0005778 +glabel F32_800296E4 +.float 0.99942255 + diff --git a/src/libultra/alEvtq.s b/src/libultra/alEvtq.s new file mode 100644 index 00000000..af9e72ba --- /dev/null +++ b/src/libultra/alEvtq.s @@ -0,0 +1,244 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alEvtqFlushType +/* 0139E0 70012DE0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0139E4 70012DE4 AFB30020 */ sw $s3, 0x20($sp) +/* 0139E8 70012DE8 00059C00 */ sll $s3, $a1, 0x10 +/* 0139EC 70012DEC AFB2001C */ sw $s2, 0x1c($sp) +/* 0139F0 70012DF0 00809025 */ move $s2, $a0 +/* 0139F4 70012DF4 00137403 */ sra $t6, $s3, 0x10 +/* 0139F8 70012DF8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0139FC 70012DFC 01C09825 */ move $s3, $t6 +/* 013A00 70012E00 AFB10018 */ sw $s1, 0x18($sp) +/* 013A04 70012E04 AFB00014 */ sw $s0, 0x14($sp) +/* 013A08 70012E08 AFA50044 */ sw $a1, 0x44($sp) +/* 013A0C 70012E0C 0C00374C */ jal osSetIntMask +/* 013A10 70012E10 24040001 */ li $a0, 1 +/* 013A14 70012E14 AFA2002C */ sw $v0, 0x2c($sp) +/* 013A18 70012E18 8E500008 */ lw $s0, 8($s2) +/* 013A1C 70012E1C 12000012 */ beqz $s0, .L70012E68 +/* 013A20 70012E20 00000000 */ nop +.L70012E24: +/* 013A24 70012E24 860F000C */ lh $t7, 0xc($s0) +/* 013A28 70012E28 8E110000 */ lw $s1, ($s0) +/* 013A2C 70012E2C 166F000C */ bne $s3, $t7, .L70012E60 +/* 013A30 70012E30 00000000 */ nop +/* 013A34 70012E34 12200005 */ beqz $s1, .L70012E4C +/* 013A38 70012E38 00000000 */ nop +/* 013A3C 70012E3C 8E380008 */ lw $t8, 8($s1) +/* 013A40 70012E40 8E190008 */ lw $t9, 8($s0) +/* 013A44 70012E44 03194021 */ addu $t0, $t8, $t9 +/* 013A48 70012E48 AE280008 */ sw $t0, 8($s1) +.L70012E4C: +/* 013A4C 70012E4C 0C003AA4 */ jal alUnlink +/* 013A50 70012E50 02002025 */ move $a0, $s0 +/* 013A54 70012E54 02002025 */ move $a0, $s0 +/* 013A58 70012E58 0C003AB0 */ jal alLink +/* 013A5C 70012E5C 02402825 */ move $a1, $s2 +.L70012E60: +/* 013A60 70012E60 1620FFF0 */ bnez $s1, .L70012E24 +/* 013A64 70012E64 02208025 */ move $s0, $s1 +.L70012E68: +/* 013A68 70012E68 0C00374C */ jal osSetIntMask +/* 013A6C 70012E6C 8FA4002C */ lw $a0, 0x2c($sp) +/* 013A70 70012E70 8FBF0024 */ lw $ra, 0x24($sp) +/* 013A74 70012E74 8FB00014 */ lw $s0, 0x14($sp) +/* 013A78 70012E78 8FB10018 */ lw $s1, 0x18($sp) +/* 013A7C 70012E7C 8FB2001C */ lw $s2, 0x1c($sp) +/* 013A80 70012E80 8FB30020 */ lw $s3, 0x20($sp) +/* 013A84 70012E84 03E00008 */ jr $ra +/* 013A88 70012E88 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel alEvtqFlush +/* 013A8C 70012E8C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 013A90 70012E90 AFB20020 */ sw $s2, 0x20($sp) +/* 013A94 70012E94 00809025 */ move $s2, $a0 +/* 013A98 70012E98 AFBF0024 */ sw $ra, 0x24($sp) +/* 013A9C 70012E9C AFB1001C */ sw $s1, 0x1c($sp) +/* 013AA0 70012EA0 AFB00018 */ sw $s0, 0x18($sp) +/* 013AA4 70012EA4 0C00374C */ jal osSetIntMask +/* 013AA8 70012EA8 24040001 */ li $a0, 1 +/* 013AAC 70012EAC AFA2002C */ sw $v0, 0x2c($sp) +/* 013AB0 70012EB0 8E500008 */ lw $s0, 8($s2) +/* 013AB4 70012EB4 12000009 */ beqz $s0, .L70012EDC +/* 013AB8 70012EB8 00000000 */ nop +.L70012EBC: +/* 013ABC 70012EBC 8E110000 */ lw $s1, ($s0) +/* 013AC0 70012EC0 0C003AA4 */ jal alUnlink +/* 013AC4 70012EC4 02002025 */ move $a0, $s0 +/* 013AC8 70012EC8 02002025 */ move $a0, $s0 +/* 013ACC 70012ECC 0C003AB0 */ jal alLink +/* 013AD0 70012ED0 02402825 */ move $a1, $s2 +/* 013AD4 70012ED4 1620FFF9 */ bnez $s1, .L70012EBC +/* 013AD8 70012ED8 02208025 */ move $s0, $s1 +.L70012EDC: +/* 013ADC 70012EDC 0C00374C */ jal osSetIntMask +/* 013AE0 70012EE0 8FA4002C */ lw $a0, 0x2c($sp) +/* 013AE4 70012EE4 8FBF0024 */ lw $ra, 0x24($sp) +/* 013AE8 70012EE8 8FB00018 */ lw $s0, 0x18($sp) +/* 013AEC 70012EEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 013AF0 70012EF0 8FB20020 */ lw $s2, 0x20($sp) +/* 013AF4 70012EF4 03E00008 */ jr $ra +/* 013AF8 70012EF8 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel alEvtqPostEvent +/* 013AFC 70012EFC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 013B00 70012F00 AFBF0014 */ sw $ra, 0x14($sp) +/* 013B04 70012F04 AFA40030 */ sw $a0, 0x30($sp) +/* 013B08 70012F08 AFA50034 */ sw $a1, 0x34($sp) +/* 013B0C 70012F0C AFA00020 */ sw $zero, 0x20($sp) +/* 013B10 70012F10 24040001 */ li $a0, 1 +/* 013B14 70012F14 0C00374C */ jal osSetIntMask +/* 013B18 70012F18 AFA60038 */ sw $a2, 0x38($sp) +/* 013B1C 70012F1C 8FAE0030 */ lw $t6, 0x30($sp) +/* 013B20 70012F20 8FA70038 */ lw $a3, 0x38($sp) +/* 013B24 70012F24 00402825 */ move $a1, $v0 +/* 013B28 70012F28 8DC80000 */ lw $t0, ($t6) +/* 013B2C 70012F2C 15000005 */ bnez $t0, .L70012F44 +/* 013B30 70012F30 01002025 */ move $a0, $t0 +/* 013B34 70012F34 0C00374C */ jal osSetIntMask +/* 013B38 70012F38 00402025 */ move $a0, $v0 +/* 013B3C 70012F3C 10000035 */ b .L70013014 +/* 013B40 70012F40 8FBF0014 */ lw $ra, 0x14($sp) +.L70012F44: +/* 013B44 70012F44 AFA5001C */ sw $a1, 0x1c($sp) +/* 013B48 70012F48 AFA70038 */ sw $a3, 0x38($sp) +/* 013B4C 70012F4C 0C003AA4 */ jal alUnlink +/* 013B50 70012F50 AFA8002C */ sw $t0, 0x2c($sp) +/* 013B54 70012F54 8FA8002C */ lw $t0, 0x2c($sp) +/* 013B58 70012F58 8FA40034 */ lw $a0, 0x34($sp) +/* 013B5C 70012F5C 24060010 */ li $a2, 16 +/* 013B60 70012F60 0C0075A4 */ jal alCopy +/* 013B64 70012F64 2505000C */ addiu $a1, $t0, 0xc +/* 013B68 70012F68 8FA70038 */ lw $a3, 0x38($sp) +/* 013B6C 70012F6C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 013B70 70012F70 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 013B74 70012F74 14E10003 */ bne $a3, $at, .L70012F84 +/* 013B78 70012F78 8FA8002C */ lw $t0, 0x2c($sp) +/* 013B7C 70012F7C 240FFFFF */ li $t7, -1 +/* 013B80 70012F80 AFAF0020 */ sw $t7, 0x20($sp) +.L70012F84: +/* 013B84 70012F84 8FA20030 */ lw $v0, 0x30($sp) +/* 013B88 70012F88 2401FFF8 */ li $at, -8 +/* 013B8C 70012F8C 8FB80020 */ lw $t8, 0x20($sp) +/* 013B90 70012F90 1041001D */ beq $v0, $at, .L70013008 +/* 013B94 70012F94 24450008 */ addiu $a1, $v0, 8 +.L70012F98: +/* 013B98 70012F98 8CA20000 */ lw $v0, ($a1) +/* 013B9C 70012F9C 5440000B */ bnezl $v0, .L70012FCC +/* 013BA0 70012FA0 8C430008 */ lw $v1, 8($v0) +/* 013BA4 70012FA4 53000004 */ beql $t8, $zero, .L70012FB8 +/* 013BA8 70012FA8 AD070008 */ sw $a3, 8($t0) +/* 013BAC 70012FAC 10000002 */ b .L70012FB8 +/* 013BB0 70012FB0 AD000008 */ sw $zero, 8($t0) +/* 013BB4 70012FB4 AD070008 */ sw $a3, 8($t0) +.L70012FB8: +/* 013BB8 70012FB8 0C003AB0 */ jal alLink +/* 013BBC 70012FBC 01002025 */ move $a0, $t0 +/* 013BC0 70012FC0 10000011 */ b .L70013008 +/* 013BC4 70012FC4 00000000 */ nop +/* 013BC8 70012FC8 8C430008 */ lw $v1, 8($v0) +.L70012FCC: +/* 013BCC 70012FCC 00403025 */ move $a2, $v0 +/* 013BD0 70012FD0 00E3082A */ slt $at, $a3, $v1 +/* 013BD4 70012FD4 5020000A */ beql $at, $zero, .L70013000 +/* 013BD8 70012FD8 00402825 */ move $a1, $v0 +/* 013BDC 70012FDC AD070008 */ sw $a3, 8($t0) +/* 013BE0 70012FE0 8CD90008 */ lw $t9, 8($a2) +/* 013BE4 70012FE4 01002025 */ move $a0, $t0 +/* 013BE8 70012FE8 03274823 */ subu $t1, $t9, $a3 +/* 013BEC 70012FEC 0C003AB0 */ jal alLink +/* 013BF0 70012FF0 ACC90008 */ sw $t1, 8($a2) +/* 013BF4 70012FF4 10000004 */ b .L70013008 +/* 013BF8 70012FF8 00000000 */ nop +/* 013BFC 70012FFC 00402825 */ move $a1, $v0 +.L70013000: +/* 013C00 70013000 1440FFE5 */ bnez $v0, .L70012F98 +/* 013C04 70013004 00E33823 */ subu $a3, $a3, $v1 +.L70013008: +/* 013C08 70013008 0C00374C */ jal osSetIntMask +/* 013C0C 7001300C 8FA4001C */ lw $a0, 0x1c($sp) +/* 013C10 70013010 8FBF0014 */ lw $ra, 0x14($sp) +.L70013014: +/* 013C14 70013014 27BD0030 */ addiu $sp, $sp, 0x30 +/* 013C18 70013018 03E00008 */ jr $ra +/* 013C1C 7001301C 00000000 */ nop + +glabel alEvtqNextEvent +/* 013C20 70013020 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 013C24 70013024 AFBF001C */ sw $ra, 0x1c($sp) +/* 013C28 70013028 AFA40030 */ sw $a0, 0x30($sp) +/* 013C2C 7001302C AFB00018 */ sw $s0, 0x18($sp) +/* 013C30 70013030 AFA50034 */ sw $a1, 0x34($sp) +/* 013C34 70013034 0C00374C */ jal osSetIntMask +/* 013C38 70013038 24040001 */ li $a0, 1 +/* 013C3C 7001303C 8FAE0030 */ lw $t6, 0x30($sp) +/* 013C40 70013040 AFA20024 */ sw $v0, 0x24($sp) +/* 013C44 70013044 8FB80034 */ lw $t8, 0x34($sp) +/* 013C48 70013048 8DD00008 */ lw $s0, 8($t6) +/* 013C4C 7001304C 00001825 */ move $v1, $zero +/* 013C50 70013050 5200000D */ beql $s0, $zero, .L70013088 +/* 013C54 70013054 240FFFFF */ li $t7, -1 +/* 013C58 70013058 0C003AA4 */ jal alUnlink +/* 013C5C 7001305C 02002025 */ move $a0, $s0 +/* 013C60 70013060 2604000C */ addiu $a0, $s0, 0xc +/* 013C64 70013064 8FA50034 */ lw $a1, 0x34($sp) +/* 013C68 70013068 0C0075A4 */ jal alCopy +/* 013C6C 7001306C 24060010 */ li $a2, 16 +/* 013C70 70013070 02002025 */ move $a0, $s0 +/* 013C74 70013074 0C003AB0 */ jal alLink +/* 013C78 70013078 8FA50030 */ lw $a1, 0x30($sp) +/* 013C7C 7001307C 10000003 */ b .L7001308C +/* 013C80 70013080 8E030008 */ lw $v1, 8($s0) +/* 013C84 70013084 240FFFFF */ li $t7, -1 +.L70013088: +/* 013C88 70013088 A70F0000 */ sh $t7, ($t8) +.L7001308C: +/* 013C8C 7001308C 8FA40024 */ lw $a0, 0x24($sp) +/* 013C90 70013090 0C00374C */ jal osSetIntMask +/* 013C94 70013094 AFA30028 */ sw $v1, 0x28($sp) +/* 013C98 70013098 8FBF001C */ lw $ra, 0x1c($sp) +/* 013C9C 7001309C 8FA20028 */ lw $v0, 0x28($sp) +/* 013CA0 700130A0 8FB00018 */ lw $s0, 0x18($sp) +/* 013CA4 700130A4 03E00008 */ jr $ra +/* 013CA8 700130A8 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel alEvtqNew +/* 013CAC 700130AC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013CB0 700130B0 AFB30020 */ sw $s3, 0x20($sp) +/* 013CB4 700130B4 AFB2001C */ sw $s2, 0x1c($sp) +/* 013CB8 700130B8 AFB00014 */ sw $s0, 0x14($sp) +/* 013CBC 700130BC AFBF0024 */ sw $ra, 0x24($sp) +/* 013CC0 700130C0 AFB10018 */ sw $s1, 0x18($sp) +/* 013CC4 700130C4 00809025 */ move $s2, $a0 +/* 013CC8 700130C8 00C09825 */ move $s3, $a2 +/* 013CCC 700130CC AC800010 */ sw $zero, 0x10($a0) +/* 013CD0 700130D0 AC800008 */ sw $zero, 8($a0) +/* 013CD4 700130D4 AC80000C */ sw $zero, 0xc($a0) +/* 013CD8 700130D8 AC800000 */ sw $zero, ($a0) +/* 013CDC 700130DC AC800004 */ sw $zero, 4($a0) +/* 013CE0 700130E0 18C00008 */ blez $a2, .L70013104 +/* 013CE4 700130E4 00008025 */ move $s0, $zero +/* 013CE8 700130E8 00A08825 */ move $s1, $a1 +.L700130EC: +/* 013CEC 700130EC 02202025 */ move $a0, $s1 +/* 013CF0 700130F0 0C003AB0 */ jal alLink +/* 013CF4 700130F4 02402825 */ move $a1, $s2 +/* 013CF8 700130F8 26100001 */ addiu $s0, $s0, 1 +/* 013CFC 700130FC 1613FFFB */ bne $s0, $s3, .L700130EC +/* 013D00 70013100 2631001C */ addiu $s1, $s1, 0x1c +.L70013104: +/* 013D04 70013104 8FBF0024 */ lw $ra, 0x24($sp) +/* 013D08 70013108 8FB00014 */ lw $s0, 0x14($sp) +/* 013D0C 7001310C 8FB10018 */ lw $s1, 0x18($sp) +/* 013D10 70013110 8FB2001C */ lw $s2, 0x1c($sp) +/* 013D14 70013114 8FB30020 */ lw $s3, 0x20($sp) +/* 013D18 70013118 03E00008 */ jr $ra +/* 013D1C 7001311C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/alHeapInit.s b/src/libultra/alHeapInit.s new file mode 100644 index 00000000..4902b320 --- /dev/null +++ b/src/libultra/alHeapInit.s @@ -0,0 +1,25 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alHeapInit +/* 011930 70010D30 24030010 */ li $v1, 16 +/* 011934 70010D34 30AE000F */ andi $t6, $a1, 0xf +/* 011938 70010D38 006E1023 */ subu $v0, $v1, $t6 +/* 01193C 70010D3C 10620003 */ beq $v1, $v0, .L70010D4C +/* 011940 70010D40 00A27821 */ addu $t7, $a1, $v0 +/* 011944 70010D44 10000002 */ b .L70010D50 +/* 011948 70010D48 AC8F0000 */ sw $t7, ($a0) +.L70010D4C: +/* 01194C 70010D4C AC850000 */ sw $a1, ($a0) +.L70010D50: +/* 011950 70010D50 8C980000 */ lw $t8, ($a0) +/* 011954 70010D54 AC860008 */ sw $a2, 8($a0) +/* 011958 70010D58 AC80000C */ sw $zero, 0xc($a0) +/* 01195C 70010D5C 03E00008 */ jr $ra +/* 011960 70010D60 AC980004 */ sw $t8, 4($a0) diff --git a/src/libultra/alInit.s b/src/libultra/alInit.s new file mode 100644 index 00000000..346a942c --- /dev/null +++ b/src/libultra/alInit.s @@ -0,0 +1,101 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel alUnlink +/* 00F690 7000EA90 8C820000 */ lw $v0, ($a0) +/* 00F694 7000EA94 50400004 */ beql $v0, $zero, .L7000EAA8 +/* 00F698 7000EA98 8C820004 */ lw $v0, 4($a0) +/* 00F69C 7000EA9C 8C8E0004 */ lw $t6, 4($a0) +/* 00F6A0 7000EAA0 AC4E0004 */ sw $t6, 4($v0) +/* 00F6A4 7000EAA4 8C820004 */ lw $v0, 4($a0) +.L7000EAA8: +/* 00F6A8 7000EAA8 10400003 */ beqz $v0, .L7000EAB8 +/* 00F6AC 7000EAAC 00000000 */ nop +/* 00F6B0 7000EAB0 8C8F0000 */ lw $t7, ($a0) +/* 00F6B4 7000EAB4 AC4F0000 */ sw $t7, ($v0) +.L7000EAB8: +/* 00F6B8 7000EAB8 03E00008 */ jr $ra +/* 00F6BC 7000EABC 00000000 */ nop + +glabel alLink +/* 00F6C0 7000EAC0 8CAE0000 */ lw $t6, ($a1) +/* 00F6C4 7000EAC4 AC850004 */ sw $a1, 4($a0) +/* 00F6C8 7000EAC8 AC8E0000 */ sw $t6, ($a0) +/* 00F6CC 7000EACC 8CA20000 */ lw $v0, ($a1) +/* 00F6D0 7000EAD0 10400002 */ beqz $v0, .L7000EADC +/* 00F6D4 7000EAD4 00000000 */ nop +/* 00F6D8 7000EAD8 AC440004 */ sw $a0, 4($v0) +.L7000EADC: +/* 00F6DC 7000EADC 03E00008 */ jr $ra +/* 00F6E0 7000EAE0 ACA40000 */ sw $a0, ($a1) + +glabel alClose +/* 00F6E4 7000EAE4 3C0E8002 */ lui $t6, %hi(alGlobals) +/* 00F6E8 7000EAE8 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) +/* 00F6EC 7000EAEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F6F0 7000EAF0 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F6F4 7000EAF4 51C00006 */ beql $t6, $zero, .L7000EB10 +/* 00F6F8 7000EAF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F6FC 7000EAFC 0C006438 */ jal alSynDelete +/* 00F700 7000EB00 00000000 */ nop +/* 00F704 7000EB04 3C018002 */ lui $at, %hi(alGlobals) +/* 00F708 7000EB08 AC2076E0 */ sw $zero, %lo(alGlobals)($at) +/* 00F70C 7000EB0C 8FBF0014 */ lw $ra, 0x14($sp) +.L7000EB10: +/* 00F710 7000EB10 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00F714 7000EB14 03E00008 */ jr $ra +/* 00F718 7000EB18 00000000 */ nop + +glabel alInit +/* 00F71C 7000EB1C 3C028002 */ lui $v0, %hi(alGlobals) +/* 00F720 7000EB20 244276E0 */ addiu $v0, %lo(alGlobals) # addiu $v0, $v0, 0x76e0 +/* 00F724 7000EB24 8C4E0000 */ lw $t6, ($v0) +/* 00F728 7000EB28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F72C 7000EB2C AFBF0014 */ sw $ra, 0x14($sp) +/* 00F730 7000EB30 55C00004 */ bnezl $t6, .L7000EB44 +/* 00F734 7000EB34 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F738 7000EB38 0C003CE8 */ jal alSynNew +/* 00F73C 7000EB3C AC440000 */ sw $a0, ($v0) +/* 00F740 7000EB40 8FBF0014 */ lw $ra, 0x14($sp) +.L7000EB44: +/* 00F744 7000EB44 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00F748 7000EB48 03E00008 */ jr $ra +/* 00F74C 7000EB4C 00000000 */ nop + +.section .data +glabel alGlobals + .word 0 +.align 4 + +.section .text +glabel alHeapDBAlloc +/* 00F750 7000EB50 8FAE0010 */ lw $t6, 0x10($sp) +/* 00F754 7000EB54 AFA40000 */ sw $a0, ($sp) +/* 00F758 7000EB58 AFA50004 */ sw $a1, 4($sp) +/* 00F75C 7000EB5C 00EE0019 */ multu $a3, $t6 +/* 00F760 7000EB60 8CD90008 */ lw $t9, 8($a2) +/* 00F764 7000EB64 8CD80000 */ lw $t8, ($a2) +/* 00F768 7000EB68 8CC40004 */ lw $a0, 4($a2) +/* 00F76C 7000EB6C 2401FFF0 */ li $at, -16 +/* 00F770 7000EB70 03194021 */ addu $t0, $t8, $t9 +/* 00F774 7000EB74 00001825 */ move $v1, $zero +/* 00F778 7000EB78 00001012 */ mflo $v0 +/* 00F77C 7000EB7C 2442000F */ addiu $v0, $v0, 0xf +/* 00F780 7000EB80 00417824 */ and $t7, $v0, $at +/* 00F784 7000EB84 008F4821 */ addu $t1, $a0, $t7 +/* 00F788 7000EB88 0109082B */ sltu $at, $t0, $t1 +/* 00F78C 7000EB8C 14200003 */ bnez $at, .L7000EB9C +/* 00F790 7000EB90 008F5021 */ addu $t2, $a0, $t7 +/* 00F794 7000EB94 00801825 */ move $v1, $a0 +/* 00F798 7000EB98 ACCA0004 */ sw $t2, 4($a2) +.L7000EB9C: +/* 00F79C 7000EB9C 03E00008 */ jr $ra +/* 00F7A0 7000EBA0 00601025 */ move $v0, $v1 + diff --git a/src/libultra/alSeqpSetBank.s b/src/libultra/alSeqpSetBank.s new file mode 100644 index 00000000..d01eba06 --- /dev/null +++ b/src/libultra/alSeqpSetBank.s @@ -0,0 +1,23 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSeqpSetBank +/* 012DF0 700121F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 012DF4 700121F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 012DF8 700121F8 240E000E */ li $t6, 14 +/* 012DFC 700121FC AFA5001C */ sw $a1, 0x1c($sp) +/* 012E00 70012200 A7AE0018 */ sh $t6, 0x18($sp) +/* 012E04 70012204 27A50018 */ addiu $a1, $sp, 0x18 +/* 012E08 70012208 24840048 */ addiu $a0, $a0, 0x48 +/* 012E0C 7001220C 0C004BBF */ jal alEvtqPostEvent +/* 012E10 70012210 00003025 */ move $a2, $zero +/* 012E14 70012214 8FBF0014 */ lw $ra, 0x14($sp) +/* 012E18 70012218 27BD0028 */ addiu $sp, $sp, 0x28 +/* 012E1C 7001221C 03E00008 */ jr $ra +/* 012E20 70012220 00000000 */ nop diff --git a/src/libultra/alSynAddPlayer.s b/src/libultra/alSynAddPlayer.s new file mode 100644 index 00000000..f3858779 --- /dev/null +++ b/src/libultra/alSynAddPlayer.s @@ -0,0 +1,30 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynAddPlayer +/* 013D20 70013120 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 013D24 70013124 AFBF0014 */ sw $ra, 0x14($sp) +/* 013D28 70013128 00803025 */ move $a2, $a0 +/* 013D2C 7001312C AFA60018 */ sw $a2, 0x18($sp) +/* 013D30 70013130 24040001 */ li $a0, 1 +/* 013D34 70013134 0C00374C */ jal osSetIntMask +/* 013D38 70013138 AFA5001C */ sw $a1, 0x1c($sp) +/* 013D3C 7001313C 8FA60018 */ lw $a2, 0x18($sp) +/* 013D40 70013140 8FA5001C */ lw $a1, 0x1c($sp) +/* 013D44 70013144 00402025 */ move $a0, $v0 +/* 013D48 70013148 8CCE0020 */ lw $t6, 0x20($a2) +/* 013D4C 7001314C ACAE0010 */ sw $t6, 0x10($a1) +/* 013D50 70013150 8CCF0000 */ lw $t7, ($a2) +/* 013D54 70013154 ACAF0000 */ sw $t7, ($a1) +/* 013D58 70013158 0C00374C */ jal osSetIntMask +/* 013D5C 7001315C ACC50000 */ sw $a1, ($a2) +/* 013D60 70013160 8FBF0014 */ lw $ra, 0x14($sp) +/* 013D64 70013164 27BD0018 */ addiu $sp, $sp, 0x18 +/* 013D68 70013168 03E00008 */ jr $ra +/* 013D6C 7001316C 00000000 */ nop diff --git a/src/libultra/alSynAllocVoice.s b/src/libultra/alSynAllocVoice.s new file mode 100644 index 00000000..2a27082d --- /dev/null +++ b/src/libultra/alSynAllocVoice.s @@ -0,0 +1,160 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel _allocatePVoice +/* 013D70 70013170 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013D74 70013174 AFBF0014 */ sw $ra, 0x14($sp) +/* 013D78 70013178 AFA60030 */ sw $a2, 0x30($sp) +/* 013D7C 7001317C 8C870014 */ lw $a3, 0x14($a0) +/* 013D80 70013180 00067400 */ sll $t6, $a2, 0x10 +/* 013D84 70013184 000E3403 */ sra $a2, $t6, 0x10 +/* 013D88 70013188 00804025 */ move $t0, $a0 +/* 013D8C 7001318C 10E0000D */ beqz $a3, .L700131C4 +/* 013D90 70013190 00001825 */ move $v1, $zero +/* 013D94 70013194 ACA70000 */ sw $a3, ($a1) +/* 013D98 70013198 AFA80028 */ sw $t0, 0x28($sp) +/* 013D9C 7001319C AFA70024 */ sw $a3, 0x24($sp) +/* 013DA0 700131A0 AFA0001C */ sw $zero, 0x1c($sp) +/* 013DA4 700131A4 0C003AA4 */ jal alUnlink +/* 013DA8 700131A8 00E02025 */ move $a0, $a3 +/* 013DAC 700131AC 8FA80028 */ lw $t0, 0x28($sp) +/* 013DB0 700131B0 8FA40024 */ lw $a0, 0x24($sp) +/* 013DB4 700131B4 0C003AB0 */ jal alLink +/* 013DB8 700131B8 2505000C */ addiu $a1, $t0, 0xc +/* 013DBC 700131BC 10000021 */ b .L70013244 +/* 013DC0 700131C0 8FA3001C */ lw $v1, 0x1c($sp) +.L700131C4: +/* 013DC4 700131C4 8D070004 */ lw $a3, 4($t0) +/* 013DC8 700131C8 10E0000C */ beqz $a3, .L700131FC +/* 013DCC 700131CC 00E02025 */ move $a0, $a3 +/* 013DD0 700131D0 ACA70000 */ sw $a3, ($a1) +/* 013DD4 700131D4 AFA80028 */ sw $t0, 0x28($sp) +/* 013DD8 700131D8 AFA70024 */ sw $a3, 0x24($sp) +/* 013DDC 700131DC 0C003AA4 */ jal alUnlink +/* 013DE0 700131E0 AFA3001C */ sw $v1, 0x1c($sp) +/* 013DE4 700131E4 8FA80028 */ lw $t0, 0x28($sp) +/* 013DE8 700131E8 8FA40024 */ lw $a0, 0x24($sp) +/* 013DEC 700131EC 0C003AB0 */ jal alLink +/* 013DF0 700131F0 2505000C */ addiu $a1, $t0, 0xc +/* 013DF4 700131F4 10000013 */ b .L70013244 +/* 013DF8 700131F8 8FA3001C */ lw $v1, 0x1c($sp) +.L700131FC: +/* 013DFC 700131FC 8D07000C */ lw $a3, 0xc($t0) +/* 013E00 70013200 50E00011 */ beql $a3, $zero, .L70013248 +/* 013E04 70013204 8FBF0014 */ lw $ra, 0x14($sp) +/* 013E08 70013208 8CF80008 */ lw $t8, 8($a3) +.L7001320C: +/* 013E0C 7001320C 87190016 */ lh $t9, 0x16($t8) +/* 013E10 70013210 00D9082A */ slt $at, $a2, $t9 +/* 013E14 70013214 54200009 */ bnezl $at, .L7001323C +/* 013E18 70013218 8CE70000 */ lw $a3, ($a3) +/* 013E1C 7001321C 8CE900D8 */ lw $t1, 0xd8($a3) +/* 013E20 70013220 55200006 */ bnezl $t1, .L7001323C +/* 013E24 70013224 8CE70000 */ lw $a3, ($a3) +/* 013E28 70013228 ACA70000 */ sw $a3, ($a1) +/* 013E2C 7001322C 8CEA0008 */ lw $t2, 8($a3) +/* 013E30 70013230 24030001 */ li $v1, 1 +/* 013E34 70013234 85460016 */ lh $a2, 0x16($t2) +/* 013E38 70013238 8CE70000 */ lw $a3, ($a3) +.L7001323C: +/* 013E3C 7001323C 54E0FFF3 */ bnezl $a3, .L7001320C +/* 013E40 70013240 8CF80008 */ lw $t8, 8($a3) +.L70013244: +/* 013E44 70013244 8FBF0014 */ lw $ra, 0x14($sp) +.L70013248: +/* 013E48 70013248 27BD0028 */ addiu $sp, $sp, 0x28 +/* 013E4C 7001324C 00601025 */ move $v0, $v1 +/* 013E50 70013250 03E00008 */ jr $ra +/* 013E54 70013254 00000000 */ nop + +glabel alSynAllocVoice +/* 013E58 70013258 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 013E5C 7001325C AFBF001C */ sw $ra, 0x1c($sp) +/* 013E60 70013260 AFB00018 */ sw $s0, 0x18($sp) +/* 013E64 70013264 AFA40030 */ sw $a0, 0x30($sp) +/* 013E68 70013268 AFA0002C */ sw $zero, 0x2c($sp) +/* 013E6C 7001326C 84CE0000 */ lh $t6, ($a2) +/* 013E70 70013270 00A08025 */ move $s0, $a1 +/* 013E74 70013274 A4AE0016 */ sh $t6, 0x16($a1) +/* 013E78 70013278 90CF0004 */ lbu $t7, 4($a2) +/* 013E7C 7001327C ACA0000C */ sw $zero, 0xc($a1) +/* 013E80 70013280 A4AF001A */ sh $t7, 0x1a($a1) +/* 013E84 70013284 84D80002 */ lh $t8, 2($a2) +/* 013E88 70013288 A4A00014 */ sh $zero, 0x14($a1) +/* 013E8C 7001328C ACA00008 */ sw $zero, 8($a1) +/* 013E90 70013290 A4B80018 */ sh $t8, 0x18($a1) +/* 013E94 70013294 84C60000 */ lh $a2, ($a2) +/* 013E98 70013298 8FA40030 */ lw $a0, 0x30($sp) +/* 013E9C 7001329C 0C004C5C */ jal _allocatePVoice +/* 013EA0 700132A0 27A5002C */ addiu $a1, $sp, 0x2c +/* 013EA4 700132A4 8FB9002C */ lw $t9, 0x2c($sp) +/* 013EA8 700132A8 53200035 */ beql $t9, $zero, .L70013380 +/* 013EAC 700132AC 8FA2002C */ lw $v0, 0x2c($sp) +/* 013EB0 700132B0 1040002C */ beqz $v0, .L70013364 +/* 013EB4 700132B4 8F24000C */ lw $a0, 0xc($t9) +/* 013EB8 700132B8 24080200 */ li $t0, 512 +/* 013EBC 700132BC AF2800D8 */ sw $t0, 0xd8($t9) +/* 013EC0 700132C0 8FA9002C */ lw $t1, 0x2c($sp) +/* 013EC4 700132C4 8D2A0008 */ lw $t2, 8($t1) +/* 013EC8 700132C8 AD400008 */ sw $zero, 8($t2) +/* 013ECC 700132CC 0C003C34 */ jal __allocParam +/* 013ED0 700132D0 AFA40028 */ sw $a0, 0x28($sp) +/* 013ED4 700132D4 8FAB0030 */ lw $t3, 0x30($sp) +/* 013ED8 700132D8 8FA40028 */ lw $a0, 0x28($sp) +/* 013EDC 700132DC 240D000B */ li $t5, 11 +/* 013EE0 700132E0 8D6C001C */ lw $t4, 0x1c($t3) +/* 013EE4 700132E4 A44D0008 */ sh $t5, 8($v0) +/* 013EE8 700132E8 AC40000C */ sw $zero, 0xc($v0) +/* 013EEC 700132EC AC4C0004 */ sw $t4, 4($v0) +/* 013EF0 700132F0 8FAE002C */ lw $t6, 0x2c($sp) +/* 013EF4 700132F4 24050003 */ li $a1, 3 +/* 013EF8 700132F8 00403025 */ move $a2, $v0 +/* 013EFC 700132FC 8DCF00D8 */ lw $t7, 0xd8($t6) +/* 013F00 70013300 25F8FFC0 */ addiu $t8, $t7, -0x40 +/* 013F04 70013304 AC580010 */ sw $t8, 0x10($v0) +/* 013F08 70013308 8C990008 */ lw $t9, 8($a0) +/* 013F0C 7001330C 0320F809 */ jalr $t9 +/* 013F10 70013310 00000000 */ nop +/* 013F14 70013314 0C003C34 */ jal __allocParam +/* 013F18 70013318 00000000 */ nop +/* 013F1C 7001331C 8FA40028 */ lw $a0, 0x28($sp) +/* 013F20 70013320 10400012 */ beqz $v0, .L7001336C +/* 013F24 70013324 00403025 */ move $a2, $v0 +/* 013F28 70013328 8FA80030 */ lw $t0, 0x30($sp) +/* 013F2C 7001332C 8FAA002C */ lw $t2, 0x2c($sp) +/* 013F30 70013330 240D000F */ li $t5, 15 +/* 013F34 70013334 8D09001C */ lw $t1, 0x1c($t0) +/* 013F38 70013338 8D4B00D8 */ lw $t3, 0xd8($t2) +/* 013F3C 7001333C A44D0008 */ sh $t5, 8($v0) +/* 013F40 70013340 AC400000 */ sw $zero, ($v0) +/* 013F44 70013344 012B6021 */ addu $t4, $t1, $t3 +/* 013F48 70013348 AC4C0004 */ sw $t4, 4($v0) +/* 013F4C 7001334C 8C990008 */ lw $t9, 8($a0) +/* 013F50 70013350 24050003 */ li $a1, 3 +/* 013F54 70013354 0320F809 */ jalr $t9 +/* 013F58 70013358 00000000 */ nop +/* 013F5C 7001335C 10000004 */ b .L70013370 +/* 013F60 70013360 8FAF002C */ lw $t7, 0x2c($sp) +.L70013364: +/* 013F64 70013364 8FAE002C */ lw $t6, 0x2c($sp) +/* 013F68 70013368 ADC000D8 */ sw $zero, 0xd8($t6) +.L7001336C: +/* 013F6C 7001336C 8FAF002C */ lw $t7, 0x2c($sp) +.L70013370: +/* 013F70 70013370 ADF00008 */ sw $s0, 8($t7) +/* 013F74 70013374 8FB8002C */ lw $t8, 0x2c($sp) +/* 013F78 70013378 AE180008 */ sw $t8, 8($s0) +/* 013F7C 7001337C 8FA2002C */ lw $v0, 0x2c($sp) +.L70013380: +/* 013F80 70013380 8FBF001C */ lw $ra, 0x1c($sp) +/* 013F84 70013384 8FB00018 */ lw $s0, 0x18($sp) +/* 013F88 70013388 0002402B */ sltu $t0, $zero, $v0 +/* 013F8C 7001338C 01001025 */ move $v0, $t0 +/* 013F90 70013390 03E00008 */ jr $ra +/* 013F94 70013394 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/src/libultra/alSynFreeVoice.s b/src/libultra/alSynFreeVoice.s new file mode 100644 index 00000000..40b7d92c --- /dev/null +++ b/src/libultra/alSynFreeVoice.s @@ -0,0 +1,58 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynFreeVoice +/* 014310 70013710 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 014314 70013714 AFBF0014 */ sw $ra, 0x14($sp) +/* 014318 70013718 8CA60008 */ lw $a2, 8($a1) +/* 01431C 7001371C 00804025 */ move $t0, $a0 +/* 014320 70013720 00A03825 */ move $a3, $a1 +/* 014324 70013724 50C00023 */ beql $a2, $zero, .L700137B4 +/* 014328 70013728 8FBF0014 */ lw $ra, 0x14($sp) +/* 01432C 7001372C 8CCE00D8 */ lw $t6, 0xd8($a2) +/* 014330 70013730 51C0001A */ beql $t6, $zero, .L7001379C +/* 014334 70013734 01002025 */ move $a0, $t0 +/* 014338 70013738 AFA5001C */ sw $a1, 0x1c($sp) +/* 01433C 7001373C 0C003C34 */ jal __allocParam +/* 014340 70013740 AFA40018 */ sw $a0, 0x18($sp) +/* 014344 70013744 8FA7001C */ lw $a3, 0x1c($sp) +/* 014348 70013748 8FA80018 */ lw $t0, 0x18($sp) +/* 01434C 7001374C 10400018 */ beqz $v0, .L700137B0 +/* 014350 70013750 00403025 */ move $a2, $v0 +/* 014354 70013754 8CF80008 */ lw $t8, 8($a3) +/* 014358 70013758 8D0F001C */ lw $t7, 0x1c($t0) +/* 01435C 7001375C 24050003 */ li $a1, 3 +/* 014360 70013760 8F1900D8 */ lw $t9, 0xd8($t8) +/* 014364 70013764 A4400008 */ sh $zero, 8($v0) +/* 014368 70013768 01F94821 */ addu $t1, $t7, $t9 +/* 01436C 7001376C AC490004 */ sw $t1, 4($v0) +/* 014370 70013770 8CEA0008 */ lw $t2, 8($a3) +/* 014374 70013774 AC4A000C */ sw $t2, 0xc($v0) +/* 014378 70013778 8CEB0008 */ lw $t3, 8($a3) +/* 01437C 7001377C 8D64000C */ lw $a0, 0xc($t3) +/* 014380 70013780 AFA7001C */ sw $a3, 0x1c($sp) +/* 014384 70013784 8C990008 */ lw $t9, 8($a0) +/* 014388 70013788 0320F809 */ jalr $t9 +/* 01438C 7001378C 00000000 */ nop +/* 014390 70013790 10000006 */ b .L700137AC +/* 014394 70013794 8FA7001C */ lw $a3, 0x1c($sp) +/* 014398 70013798 01002025 */ move $a0, $t0 +.L7001379C: +/* 01439C 7001379C 00C02825 */ move $a1, $a2 +/* 0143A0 700137A0 0C003C08 */ jal _freePVoice +/* 0143A4 700137A4 AFA7001C */ sw $a3, 0x1c($sp) +/* 0143A8 700137A8 8FA7001C */ lw $a3, 0x1c($sp) +.L700137AC: +/* 0143AC 700137AC ACE00008 */ sw $zero, 8($a3) +.L700137B0: +/* 0143B0 700137B0 8FBF0014 */ lw $ra, 0x14($sp) +.L700137B4: +/* 0143B4 700137B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0143B8 700137B8 03E00008 */ jr $ra +/* 0143BC 700137BC 00000000 */ nop diff --git a/src/libultra/alSynSetFXMix.s b/src/libultra/alSynSetFXMix.s new file mode 100644 index 00000000..66b9f1b9 --- /dev/null +++ b/src/libultra/alSynSetFXMix.s @@ -0,0 +1,51 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynSetFXMix +/* 0141F0 700135F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0141F4 700135F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0141F8 700135F8 AFA40018 */ sw $a0, 0x18($sp) +/* 0141FC 700135FC AFA60020 */ sw $a2, 0x20($sp) +/* 014200 70013600 8CAE0008 */ lw $t6, 8($a1) +/* 014204 70013604 51C0001C */ beql $t6, $zero, .L70013678 +/* 014208 70013608 8FBF0014 */ lw $ra, 0x14($sp) +/* 01420C 7001360C 0C003C34 */ jal __allocParam +/* 014210 70013610 AFA5001C */ sw $a1, 0x1c($sp) +/* 014214 70013614 8FA7001C */ lw $a3, 0x1c($sp) +/* 014218 70013618 10400016 */ beqz $v0, .L70013674 +/* 01421C 7001361C 00403025 */ move $a2, $v0 +/* 014220 70013620 8FAF0018 */ lw $t7, 0x18($sp) +/* 014224 70013624 8CF90008 */ lw $t9, 8($a3) +/* 014228 70013628 240A0010 */ li $t2, 16 +/* 01422C 7001362C 8DF8001C */ lw $t8, 0x1c($t7) +/* 014230 70013630 8F2800D8 */ lw $t0, 0xd8($t9) +/* 014234 70013634 A44A0008 */ sh $t2, 8($v0) +/* 014238 70013638 03084821 */ addu $t1, $t8, $t0 +/* 01423C 7001363C AC490004 */ sw $t1, 4($v0) +/* 014240 70013640 93A30023 */ lbu $v1, 0x23($sp) +/* 014244 70013644 04610003 */ bgez $v1, .L70013654 +/* 014248 70013648 00035823 */ negu $t3, $v1 +/* 01424C 7001364C 10000002 */ b .L70013658 +/* 014250 70013650 AC4B000C */ sw $t3, 0xc($v0) +.L70013654: +/* 014254 70013654 AC43000C */ sw $v1, 0xc($v0) +.L70013658: +/* 014258 70013658 ACC00000 */ sw $zero, ($a2) +/* 01425C 7001365C 8CEC0008 */ lw $t4, 8($a3) +/* 014260 70013660 24050003 */ li $a1, 3 +/* 014264 70013664 8D84000C */ lw $a0, 0xc($t4) +/* 014268 70013668 8C990008 */ lw $t9, 8($a0) +/* 01426C 7001366C 0320F809 */ jalr $t9 +/* 014270 70013670 00000000 */ nop +.L70013674: +/* 014274 70013674 8FBF0014 */ lw $ra, 0x14($sp) +.L70013678: +/* 014278 70013678 27BD0018 */ addiu $sp, $sp, 0x18 +/* 01427C 7001367C 03E00008 */ jr $ra +/* 014280 70013680 00000000 */ nop diff --git a/src/libultra/alSynSetPan.s b/src/libultra/alSynSetPan.s new file mode 100644 index 00000000..11b2318a --- /dev/null +++ b/src/libultra/alSynSetPan.s @@ -0,0 +1,45 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynSetPan +/* 0140D0 700134D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0140D4 700134D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0140D8 700134D8 AFA40018 */ sw $a0, 0x18($sp) +/* 0140DC 700134DC AFA60020 */ sw $a2, 0x20($sp) +/* 0140E0 700134E0 8CAE0008 */ lw $t6, 8($a1) +/* 0140E4 700134E4 51C00018 */ beql $t6, $zero, .L70013548 +/* 0140E8 700134E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0140EC 700134EC 0C003C34 */ jal __allocParam +/* 0140F0 700134F0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0140F4 700134F4 8FA7001C */ lw $a3, 0x1c($sp) +/* 0140F8 700134F8 10400012 */ beqz $v0, .L70013544 +/* 0140FC 700134FC 00403025 */ move $a2, $v0 +/* 014100 70013500 8FAF0018 */ lw $t7, 0x18($sp) +/* 014104 70013504 8CF90008 */ lw $t9, 8($a3) +/* 014108 70013508 240A000C */ li $t2, 12 +/* 01410C 7001350C 8DF8001C */ lw $t8, 0x1c($t7) +/* 014110 70013510 8F2800D8 */ lw $t0, 0xd8($t9) +/* 014114 70013514 A44A0008 */ sh $t2, 8($v0) +/* 014118 70013518 24050003 */ li $a1, 3 +/* 01411C 7001351C 03084821 */ addu $t1, $t8, $t0 +/* 014120 70013520 AC490004 */ sw $t1, 4($v0) +/* 014124 70013524 93AB0023 */ lbu $t3, 0x23($sp) +/* 014128 70013528 AC400000 */ sw $zero, ($v0) +/* 01412C 7001352C AC4B000C */ sw $t3, 0xc($v0) +/* 014130 70013530 8CEC0008 */ lw $t4, 8($a3) +/* 014134 70013534 8D84000C */ lw $a0, 0xc($t4) +/* 014138 70013538 8C990008 */ lw $t9, 8($a0) +/* 01413C 7001353C 0320F809 */ jalr $t9 +/* 014140 70013540 00000000 */ nop +.L70013544: +/* 014144 70013544 8FBF0014 */ lw $ra, 0x14($sp) +.L70013548: +/* 014148 70013548 27BD0018 */ addiu $sp, $sp, 0x18 +/* 01414C 7001354C 03E00008 */ jr $ra +/* 014150 70013550 00000000 */ nop diff --git a/src/libultra/alSynSetPitch.s b/src/libultra/alSynSetPitch.s new file mode 100644 index 00000000..4c2a9776 --- /dev/null +++ b/src/libultra/alSynSetPitch.s @@ -0,0 +1,45 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynSetPitch +/* 014160 70013560 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 014164 70013564 AFBF0014 */ sw $ra, 0x14($sp) +/* 014168 70013568 AFA40018 */ sw $a0, 0x18($sp) +/* 01416C 7001356C AFA60020 */ sw $a2, 0x20($sp) +/* 014170 70013570 8CAE0008 */ lw $t6, 8($a1) +/* 014174 70013574 51C00018 */ beql $t6, $zero, .L700135D8 +/* 014178 70013578 8FBF0014 */ lw $ra, 0x14($sp) +/* 01417C 7001357C 0C003C34 */ jal __allocParam +/* 014180 70013580 AFA5001C */ sw $a1, 0x1c($sp) +/* 014184 70013584 8FA7001C */ lw $a3, 0x1c($sp) +/* 014188 70013588 10400012 */ beqz $v0, .L700135D4 +/* 01418C 7001358C 00403025 */ move $a2, $v0 +/* 014190 70013590 8FAF0018 */ lw $t7, 0x18($sp) +/* 014194 70013594 8CF90008 */ lw $t9, 8($a3) +/* 014198 70013598 240A0007 */ li $t2, 7 +/* 01419C 7001359C 8DF8001C */ lw $t8, 0x1c($t7) +/* 0141A0 700135A0 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0141A4 700135A4 A44A0008 */ sh $t2, 8($v0) +/* 0141A8 700135A8 24050003 */ li $a1, 3 +/* 0141AC 700135AC 03084821 */ addu $t1, $t8, $t0 +/* 0141B0 700135B0 AC490004 */ sw $t1, 4($v0) +/* 0141B4 700135B4 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 0141B8 700135B8 AC400000 */ sw $zero, ($v0) +/* 0141BC 700135BC E444000C */ swc1 $f4, 0xc($v0) +/* 0141C0 700135C0 8CEB0008 */ lw $t3, 8($a3) +/* 0141C4 700135C4 8D64000C */ lw $a0, 0xc($t3) +/* 0141C8 700135C8 8C990008 */ lw $t9, 8($a0) +/* 0141CC 700135CC 0320F809 */ jalr $t9 +/* 0141D0 700135D0 00000000 */ nop +.L700135D4: +/* 0141D4 700135D4 8FBF0014 */ lw $ra, 0x14($sp) +.L700135D8: +/* 0141D8 700135D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0141DC 700135DC 03E00008 */ jr $ra +/* 0141E0 700135E0 00000000 */ nop diff --git a/src/libultra/alSynSetVol.s b/src/libultra/alSynSetVol.s new file mode 100644 index 00000000..2f53d514 --- /dev/null +++ b/src/libultra/alSynSetVol.s @@ -0,0 +1,51 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynSetVol +/* 013FA0 700133A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 013FA4 700133A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 013FA8 700133A8 AFA50024 */ sw $a1, 0x24($sp) +/* 013FAC 700133AC AFA60028 */ sw $a2, 0x28($sp) +/* 013FB0 700133B0 AFA7002C */ sw $a3, 0x2c($sp) +/* 013FB4 700133B4 8CAF0008 */ lw $t7, 8($a1) +/* 013FB8 700133B8 51E0001D */ beql $t7, $zero, .L70013430 +/* 013FBC 700133BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 013FC0 700133C0 0C003C34 */ jal __allocParam +/* 013FC4 700133C4 AFA40020 */ sw $a0, 0x20($sp) +/* 013FC8 700133C8 10400018 */ beqz $v0, .L7001342C +/* 013FCC 700133CC 8FA40020 */ lw $a0, 0x20($sp) +/* 013FD0 700133D0 8FB90024 */ lw $t9, 0x24($sp) +/* 013FD4 700133D4 8C98001C */ lw $t8, 0x1c($a0) +/* 013FD8 700133D8 240B000B */ li $t3, 11 +/* 013FDC 700133DC 8F280008 */ lw $t0, 8($t9) +/* 013FE0 700133E0 8D0900D8 */ lw $t1, 0xd8($t0) +/* 013FE4 700133E4 A44B0008 */ sh $t3, 8($v0) +/* 013FE8 700133E8 03095021 */ addu $t2, $t8, $t1 +/* 013FEC 700133EC AC4A0004 */ sw $t2, 4($v0) +/* 013FF0 700133F0 87AC002A */ lh $t4, 0x2a($sp) +/* 013FF4 700133F4 AC4C000C */ sw $t4, 0xc($v0) +/* 013FF8 700133F8 AFA2001C */ sw $v0, 0x1c($sp) +/* 013FFC 700133FC 0C003BF2 */ jal _timeToSamples +/* 014000 70013400 8FA5002C */ lw $a1, 0x2c($sp) +/* 014004 70013404 8FA6001C */ lw $a2, 0x1c($sp) +/* 014008 70013408 24050003 */ li $a1, 3 +/* 01400C 7001340C ACC20010 */ sw $v0, 0x10($a2) +/* 014010 70013410 ACC00000 */ sw $zero, ($a2) +/* 014014 70013414 8FAD0024 */ lw $t5, 0x24($sp) +/* 014018 70013418 8DAE0008 */ lw $t6, 8($t5) +/* 01401C 7001341C 8DC4000C */ lw $a0, 0xc($t6) +/* 014020 70013420 8C990008 */ lw $t9, 8($a0) +/* 014024 70013424 0320F809 */ jalr $t9 +/* 014028 70013428 00000000 */ nop +.L7001342C: +/* 01402C 7001342C 8FBF0014 */ lw $ra, 0x14($sp) +.L70013430: +/* 014030 70013430 27BD0020 */ addiu $sp, $sp, 0x20 +/* 014034 70013434 03E00008 */ jr $ra +/* 014038 70013438 00000000 */ nop diff --git a/src/libultra/alSynStartVoice.s b/src/libultra/alSynStartVoice.s new file mode 100644 index 00000000..9922f3bf --- /dev/null +++ b/src/libultra/alSynStartVoice.s @@ -0,0 +1,47 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynStartVoice +/* 014040 70013440 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 014044 70013444 AFBF0014 */ sw $ra, 0x14($sp) +/* 014048 70013448 AFA40018 */ sw $a0, 0x18($sp) +/* 01404C 7001344C AFA60020 */ sw $a2, 0x20($sp) +/* 014050 70013450 8CAE0008 */ lw $t6, 8($a1) +/* 014054 70013454 51C0001A */ beql $t6, $zero, .L700134C0 +/* 014058 70013458 8FBF0014 */ lw $ra, 0x14($sp) +/* 01405C 7001345C 0C003C34 */ jal __allocParam +/* 014060 70013460 AFA5001C */ sw $a1, 0x1c($sp) +/* 014064 70013464 8FA7001C */ lw $a3, 0x1c($sp) +/* 014068 70013468 10400014 */ beqz $v0, .L700134BC +/* 01406C 7001346C 00403025 */ move $a2, $v0 +/* 014070 70013470 8FAF0018 */ lw $t7, 0x18($sp) +/* 014074 70013474 8CF90008 */ lw $t9, 8($a3) +/* 014078 70013478 240A000E */ li $t2, 14 +/* 01407C 7001347C 8DF8001C */ lw $t8, 0x1c($t7) +/* 014080 70013480 8F2800D8 */ lw $t0, 0xd8($t9) +/* 014084 70013484 A44A0008 */ sh $t2, 8($v0) +/* 014088 70013488 24050003 */ li $a1, 3 +/* 01408C 7001348C 03084821 */ addu $t1, $t8, $t0 +/* 014090 70013490 AC490004 */ sw $t1, 4($v0) +/* 014094 70013494 8FAB0020 */ lw $t3, 0x20($sp) +/* 014098 70013498 AC400000 */ sw $zero, ($v0) +/* 01409C 7001349C AC4B000C */ sw $t3, 0xc($v0) +/* 0140A0 700134A0 84EC001A */ lh $t4, 0x1a($a3) +/* 0140A4 700134A4 A44C000A */ sh $t4, 0xa($v0) +/* 0140A8 700134A8 8CED0008 */ lw $t5, 8($a3) +/* 0140AC 700134AC 8DA4000C */ lw $a0, 0xc($t5) +/* 0140B0 700134B0 8C990008 */ lw $t9, 8($a0) +/* 0140B4 700134B4 0320F809 */ jalr $t9 +/* 0140B8 700134B8 00000000 */ nop +.L700134BC: +/* 0140BC 700134BC 8FBF0014 */ lw $ra, 0x14($sp) +.L700134C0: +/* 0140C0 700134C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0140C4 700134C4 03E00008 */ jr $ra +/* 0140C8 700134C8 00000000 */ nop diff --git a/src/libultra/alSynStopVoice.s b/src/libultra/alSynStopVoice.s new file mode 100644 index 00000000..f0e8d195 --- /dev/null +++ b/src/libultra/alSynStopVoice.s @@ -0,0 +1,42 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alSynStopVoice +/* 014290 70013690 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 014294 70013694 AFBF0014 */ sw $ra, 0x14($sp) +/* 014298 70013698 AFA40018 */ sw $a0, 0x18($sp) +/* 01429C 7001369C 8CAE0008 */ lw $t6, 8($a1) +/* 0142A0 700136A0 51C00016 */ beql $t6, $zero, .L700136FC +/* 0142A4 700136A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0142A8 700136A8 0C003C34 */ jal __allocParam +/* 0142AC 700136AC AFA5001C */ sw $a1, 0x1c($sp) +/* 0142B0 700136B0 8FA7001C */ lw $a3, 0x1c($sp) +/* 0142B4 700136B4 10400010 */ beqz $v0, .L700136F8 +/* 0142B8 700136B8 00403025 */ move $a2, $v0 +/* 0142BC 700136BC 8FAF0018 */ lw $t7, 0x18($sp) +/* 0142C0 700136C0 8CF90008 */ lw $t9, 8($a3) +/* 0142C4 700136C4 240A000F */ li $t2, 15 +/* 0142C8 700136C8 8DF8001C */ lw $t8, 0x1c($t7) +/* 0142CC 700136CC 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0142D0 700136D0 A44A0008 */ sh $t2, 8($v0) +/* 0142D4 700136D4 AC400000 */ sw $zero, ($v0) +/* 0142D8 700136D8 03084821 */ addu $t1, $t8, $t0 +/* 0142DC 700136DC AC490004 */ sw $t1, 4($v0) +/* 0142E0 700136E0 8CEB0008 */ lw $t3, 8($a3) +/* 0142E4 700136E4 24050003 */ li $a1, 3 +/* 0142E8 700136E8 8D64000C */ lw $a0, 0xc($t3) +/* 0142EC 700136EC 8C990008 */ lw $t9, 8($a0) +/* 0142F0 700136F0 0320F809 */ jalr $t9 +/* 0142F4 700136F4 00000000 */ nop +.L700136F8: +/* 0142F8 700136F8 8FBF0014 */ lw $ra, 0x14($sp) +.L700136FC: +/* 0142FC 700136FC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 014300 70013700 03E00008 */ jr $ra +/* 014304 70013704 00000000 */ nop diff --git a/src/libultra/csequencer.s b/src/libultra/csequencer.s new file mode 100644 index 00000000..daf7a70e --- /dev/null +++ b/src/libultra/csequencer.s @@ -0,0 +1,774 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel alCSeqGetLoc +/* 012E40 70012240 8C8E0004 */ lw $t6, 4($a0) +/* 012E44 70012244 00803025 */ move $a2, $a0 +/* 012E48 70012248 00804025 */ move $t0, $a0 +/* 012E4C 7001224C ACAE0000 */ sw $t6, ($a1) +/* 012E50 70012250 8C8F000C */ lw $t7, 0xc($a0) +/* 012E54 70012254 00001025 */ move $v0, $zero +/* 012E58 70012258 00A01825 */ move $v1, $a1 +/* 012E5C 7001225C ACAF0004 */ sw $t7, 4($a1) +/* 012E60 70012260 8C980010 */ lw $t8, 0x10($a0) +/* 012E64 70012264 24040010 */ li $a0, 16 +/* 012E68 70012268 00A03825 */ move $a3, $a1 +/* 012E6C 7001226C ACB80008 */ sw $t8, 8($a1) +.L70012270: +/* 012E70 70012270 8CD90018 */ lw $t9, 0x18($a2) +/* 012E74 70012274 24420002 */ addiu $v0, $v0, 2 +/* 012E78 70012278 24630008 */ addiu $v1, $v1, 8 +/* 012E7C 7001227C AC790004 */ sw $t9, 4($v1) +/* 012E80 70012280 8CC90058 */ lw $t1, 0x58($a2) +/* 012E84 70012284 24C60008 */ addiu $a2, $a2, 8 +/* 012E88 70012288 24E70002 */ addiu $a3, $a3, 2 +/* 012E8C 7001228C AC690044 */ sw $t1, 0x44($v1) +/* 012E90 70012290 910A0098 */ lbu $t2, 0x98($t0) +/* 012E94 70012294 25080002 */ addiu $t0, $t0, 2 +/* 012E98 70012298 A0EA008A */ sb $t2, 0x8a($a3) +/* 012E9C 7001229C 910B00A6 */ lbu $t3, 0xa6($t0) +/* 012EA0 700122A0 A0EB009A */ sb $t3, 0x9a($a3) +/* 012EA4 700122A4 8CCC00B0 */ lw $t4, 0xb0($a2) +/* 012EA8 700122A8 AC6C00A4 */ sw $t4, 0xa4($v1) +/* 012EAC 700122AC 8CCD0014 */ lw $t5, 0x14($a2) +/* 012EB0 700122B0 AC6D0008 */ sw $t5, 8($v1) +/* 012EB4 700122B4 8CCE0054 */ lw $t6, 0x54($a2) +/* 012EB8 700122B8 AC6E0048 */ sw $t6, 0x48($v1) +/* 012EBC 700122BC 910F0097 */ lbu $t7, 0x97($t0) +/* 012EC0 700122C0 A0EF008B */ sb $t7, 0x8b($a3) +/* 012EC4 700122C4 911800A7 */ lbu $t8, 0xa7($t0) +/* 012EC8 700122C8 A0F8009B */ sb $t8, 0x9b($a3) +/* 012ECC 700122CC 8CD900B4 */ lw $t9, 0xb4($a2) +/* 012ED0 700122D0 1444FFE7 */ bne $v0, $a0, .L70012270 +/* 012ED4 700122D4 AC7900A8 */ sw $t9, 0xa8($v1) +/* 012ED8 700122D8 03E00008 */ jr $ra +/* 012EDC 700122DC 00000000 */ nop + +glabel alCSeqSetLoc +/* 012EE0 700122E0 8CAE0000 */ lw $t6, ($a1) +/* 012EE4 700122E4 00801825 */ move $v1, $a0 +/* 012EE8 700122E8 00803825 */ move $a3, $a0 +/* 012EEC 700122EC AC8E0004 */ sw $t6, 4($a0) +/* 012EF0 700122F0 8CAF0004 */ lw $t7, 4($a1) +/* 012EF4 700122F4 00001025 */ move $v0, $zero +/* 012EF8 700122F8 00A03025 */ move $a2, $a1 +/* 012EFC 700122FC AC8F000C */ sw $t7, 0xc($a0) +/* 012F00 70012300 8CB80008 */ lw $t8, 8($a1) +/* 012F04 70012304 00A04025 */ move $t0, $a1 +/* 012F08 70012308 AC980010 */ sw $t8, 0x10($a0) +/* 012F0C 7001230C 24040010 */ li $a0, 16 +.L70012310: +/* 012F10 70012310 8CD9000C */ lw $t9, 0xc($a2) +/* 012F14 70012314 24420002 */ addiu $v0, $v0, 2 +/* 012F18 70012318 24630008 */ addiu $v1, $v1, 8 +/* 012F1C 7001231C AC790010 */ sw $t9, 0x10($v1) +/* 012F20 70012320 8CC9004C */ lw $t1, 0x4c($a2) +/* 012F24 70012324 24C60008 */ addiu $a2, $a2, 8 +/* 012F28 70012328 24E70002 */ addiu $a3, $a3, 2 +/* 012F2C 7001232C AC690050 */ sw $t1, 0x50($v1) +/* 012F30 70012330 910A008C */ lbu $t2, 0x8c($t0) +/* 012F34 70012334 25080002 */ addiu $t0, $t0, 2 +/* 012F38 70012338 A0EA0096 */ sb $t2, 0x96($a3) +/* 012F3C 7001233C 910B009A */ lbu $t3, 0x9a($t0) +/* 012F40 70012340 A0EB00A6 */ sb $t3, 0xa6($a3) +/* 012F44 70012344 8CCC00A4 */ lw $t4, 0xa4($a2) +/* 012F48 70012348 AC6C00B0 */ sw $t4, 0xb0($v1) +/* 012F4C 7001234C 8CCD0008 */ lw $t5, 8($a2) +/* 012F50 70012350 AC6D0014 */ sw $t5, 0x14($v1) +/* 012F54 70012354 8CCE0048 */ lw $t6, 0x48($a2) +/* 012F58 70012358 AC6E0054 */ sw $t6, 0x54($v1) +/* 012F5C 7001235C 910F008B */ lbu $t7, 0x8b($t0) +/* 012F60 70012360 A0EF0097 */ sb $t7, 0x97($a3) +/* 012F64 70012364 9118009B */ lbu $t8, 0x9b($t0) +/* 012F68 70012368 A0F800A7 */ sb $t8, 0xa7($a3) +/* 012F6C 7001236C 8CD900A8 */ lw $t9, 0xa8($a2) +/* 012F70 70012370 1444FFE7 */ bne $v0, $a0, .L70012310 +/* 012F74 70012374 AC7900B4 */ sw $t9, 0xb4($v1) +/* 012F78 70012378 03E00008 */ jr $ra +/* 012F7C 7001237C 00000000 */ nop + +glabel ultra_70012380 +/* 012F80 70012380 00851021 */ addu $v0, $a0, $a1 +/* 012F84 70012384 904E0098 */ lbu $t6, 0x98($v0) +/* 012F88 70012388 00057880 */ sll $t7, $a1, 2 +/* 012F8C 7001238C 008F3021 */ addu $a2, $a0, $t7 +/* 012F90 70012390 51C0000D */ beql $t6, $zero, .L700123C8 +/* 012F94 70012394 8CC70018 */ lw $a3, 0x18($a2) +/* 012F98 70012398 00057880 */ sll $t7, $a1, 2 +/* 012F9C 7001239C 008F3021 */ addu $a2, $a0, $t7 +/* 012FA0 700123A0 8CC70058 */ lw $a3, 0x58($a2) +/* 012FA4 700123A4 90E30000 */ lbu $v1, ($a3) +/* 012FA8 700123A8 24F80001 */ addiu $t8, $a3, 1 +/* 012FAC 700123AC ACD80058 */ sw $t8, 0x58($a2) +/* 012FB0 700123B0 90590098 */ lbu $t9, 0x98($v0) +/* 012FB4 700123B4 272EFFFF */ addiu $t6, $t9, -1 +/* 012FB8 700123B8 A04E0098 */ sb $t6, 0x98($v0) +/* 012FBC 700123BC 03E00008 */ jr $ra +/* 012FC0 700123C0 00601025 */ move $v0, $v1 + +/* 012FC4 700123C4 8CC70018 */ lw $a3, 0x18($a2) +.L700123C8: +/* 012FC8 700123C8 240800FE */ li $t0, 254 +/* 012FCC 700123CC 90E30000 */ lbu $v1, ($a3) +/* 012FD0 700123D0 24F80001 */ addiu $t8, $a3, 1 +/* 012FD4 700123D4 ACD80018 */ sw $t8, 0x18($a2) +/* 012FD8 700123D8 15030018 */ bne $t0, $v1, .L7001243C +/* 012FDC 700123DC 00000000 */ nop +/* 012FE0 700123E0 93040000 */ lbu $a0, ($t8) +/* 012FE4 700123E4 27190001 */ addiu $t9, $t8, 1 +/* 012FE8 700123E8 ACD90018 */ sw $t9, 0x18($a2) +/* 012FEC 700123EC 11040013 */ beq $t0, $a0, .L7001243C +/* 012FF0 700123F0 272E0001 */ addiu $t6, $t9, 1 +/* 012FF4 700123F4 93230000 */ lbu $v1, ($t9) +/* 012FF8 700123F8 ACCE0018 */ sw $t6, 0x18($a2) +/* 012FFC 700123FC 91C50000 */ lbu $a1, ($t6) +/* 013000 70012400 25CF0001 */ addiu $t7, $t6, 1 +/* 013004 70012404 0004CA00 */ sll $t9, $a0, 8 +/* 013008 70012408 ACCF0018 */ sw $t7, 0x18($a2) +/* 01300C 7001240C 03237021 */ addu $t6, $t9, $v1 +/* 013010 70012410 01EE7823 */ subu $t7, $t7, $t6 +/* 013014 70012414 25F9FFFC */ addiu $t9, $t7, -4 +/* 013018 70012418 ACD90058 */ sw $t9, 0x58($a2) +/* 01301C 7001241C A0450098 */ sb $a1, 0x98($v0) +/* 013020 70012420 8CC70058 */ lw $a3, 0x58($a2) +/* 013024 70012424 90E30000 */ lbu $v1, ($a3) +/* 013028 70012428 24F80001 */ addiu $t8, $a3, 1 +/* 01302C 7001242C ACD80058 */ sw $t8, 0x58($a2) +/* 013030 70012430 904E0098 */ lbu $t6, 0x98($v0) +/* 013034 70012434 25CFFFFF */ addiu $t7, $t6, -1 +/* 013038 70012438 A04F0098 */ sb $t7, 0x98($v0) +.L7001243C: +/* 01303C 7001243C 03E00008 */ jr $ra +/* 013040 70012440 00601025 */ move $v0, $v1 + +glabel ultra_70012444 +/* 013044 70012444 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 013048 70012448 AFBF0014 */ sw $ra, 0x14($sp) +/* 01304C 7001244C 01402025 */ move $a0, $t2 +/* 013050 70012450 0C0048E0 */ jal ultra_70012380 +/* 013054 70012454 01602825 */ move $a1, $t3 +/* 013058 70012458 304E0080 */ andi $t6, $v0, 0x80 +/* 01305C 7001245C 11C0000A */ beqz $t6, .L70012488 +/* 013060 70012460 00404825 */ move $t1, $v0 +/* 013064 70012464 3049007F */ andi $t1, $v0, 0x7f +.L70012468: +/* 013068 70012468 01402025 */ move $a0, $t2 +/* 01306C 7001246C 0C0048E0 */ jal ultra_70012380 +/* 013070 70012470 01602825 */ move $a1, $t3 +/* 013074 70012474 000979C0 */ sll $t7, $t1, 7 +/* 013078 70012478 3058007F */ andi $t8, $v0, 0x7f +/* 01307C 7001247C 30590080 */ andi $t9, $v0, 0x80 +/* 013080 70012480 1720FFF9 */ bnez $t9, .L70012468 +/* 013084 70012484 01F84821 */ addu $t1, $t7, $t8 +.L70012488: +/* 013088 70012488 8FBF0014 */ lw $ra, 0x14($sp) +/* 01308C 7001248C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 013090 70012490 01201025 */ move $v0, $t1 +/* 013094 70012494 03E00008 */ jr $ra +/* 013098 70012498 00000000 */ nop + +/* 01309C 7001249C 03E00008 */ jr $ra +/* 0130A0 700124A0 00000000 */ nop + +glabel alCSeqNextEvent +/* 0130A4 700124A4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0130A8 700124A8 AFB00018 */ sw $s0, 0x18($sp) +/* 0130AC 700124AC 00A08025 */ move $s0, $a1 +/* 0130B0 700124B0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0130B4 700124B4 00806025 */ move $t4, $a0 +/* 0130B8 700124B8 2409FFFF */ li $t1, -1 +/* 0130BC 700124BC 8C860010 */ lw $a2, 0x10($a0) +/* 0130C0 700124C0 24050010 */ li $a1, 16 +/* 0130C4 700124C4 8FAB0024 */ lw $t3, 0x24($sp) +/* 0130C8 700124C8 00001025 */ move $v0, $zero +/* 0130CC 700124CC 8D8E0004 */ lw $t6, 4($t4) +.L700124D0: +/* 0130D0 700124D0 004E7806 */ srlv $t7, $t6, $v0 +/* 0130D4 700124D4 31F80001 */ andi $t8, $t7, 1 +/* 0130D8 700124D8 53000010 */ beql $t8, $zero, .L7001251C +/* 0130DC 700124DC 24420001 */ addiu $v0, $v0, 1 +/* 0130E0 700124E0 8D8E0014 */ lw $t6, 0x14($t4) +/* 0130E4 700124E4 0002C880 */ sll $t9, $v0, 2 +/* 0130E8 700124E8 01991821 */ addu $v1, $t4, $t9 +/* 0130EC 700124EC 51C00005 */ beql $t6, $zero, .L70012504 +/* 0130F0 700124F0 8C6400B8 */ lw $a0, 0xb8($v1) +/* 0130F4 700124F4 8C6F00B8 */ lw $t7, 0xb8($v1) +/* 0130F8 700124F8 01E6C023 */ subu $t8, $t7, $a2 +/* 0130FC 700124FC AC7800B8 */ sw $t8, 0xb8($v1) +/* 013100 70012500 8C6400B8 */ lw $a0, 0xb8($v1) +.L70012504: +/* 013104 70012504 0089082B */ sltu $at, $a0, $t1 +/* 013108 70012508 50200004 */ beql $at, $zero, .L7001251C +/* 01310C 7001250C 24420001 */ addiu $v0, $v0, 1 +/* 013110 70012510 00804825 */ move $t1, $a0 +/* 013114 70012514 00405825 */ move $t3, $v0 +/* 013118 70012518 24420001 */ addiu $v0, $v0, 1 +.L7001251C: +/* 01311C 7001251C 5445FFEC */ bnel $v0, $a1, .L700124D0 +/* 013120 70012520 8D8E0004 */ lw $t6, 4($t4) +/* 013124 70012524 01802025 */ move $a0, $t4 +/* 013128 70012528 0C0048E0 */ jal ultra_70012380 +/* 01312C 7001252C 01602825 */ move $a1, $t3 +/* 013130 70012530 240100FF */ li $at, 255 +/* 013134 70012534 304A00FF */ andi $t2, $v0, 0xff +/* 013138 70012538 1441005A */ bne $v0, $at, .L700126A4 +/* 01313C 7001253C 00401825 */ move $v1, $v0 +/* 013140 70012540 01802025 */ move $a0, $t4 +/* 013144 70012544 0C0048E0 */ jal ultra_70012380 +/* 013148 70012548 01602825 */ move $a1, $t3 +/* 01314C 7001254C 24010051 */ li $at, 81 +/* 013150 70012550 304600FF */ andi $a2, $v0, 0xff +/* 013154 70012554 14410014 */ bne $v0, $at, .L700125A8 +/* 013158 70012558 00401825 */ move $v1, $v0 +/* 01315C 7001255C 24190003 */ li $t9, 3 +/* 013160 70012560 A6190000 */ sh $t9, ($s0) +/* 013164 70012564 A20A0008 */ sb $t2, 8($s0) +/* 013168 70012568 A2060009 */ sb $a2, 9($s0) +/* 01316C 7001256C 01802025 */ move $a0, $t4 +/* 013170 70012570 0C0048E0 */ jal ultra_70012380 +/* 013174 70012574 01602825 */ move $a1, $t3 +/* 013178 70012578 A202000B */ sb $v0, 0xb($s0) +/* 01317C 7001257C 01802025 */ move $a0, $t4 +/* 013180 70012580 0C0048E0 */ jal ultra_70012380 +/* 013184 70012584 01602825 */ move $a1, $t3 +/* 013188 70012588 A202000C */ sb $v0, 0xc($s0) +/* 01318C 7001258C 01802025 */ move $a0, $t4 +/* 013190 70012590 0C0048E0 */ jal ultra_70012380 +/* 013194 70012594 01602825 */ move $a1, $t3 +/* 013198 70012598 A202000D */ sb $v0, 0xd($s0) +/* 01319C 7001259C 018B7021 */ addu $t6, $t4, $t3 +/* 0131A0 700125A0 10000067 */ b .L70012740 +/* 0131A4 700125A4 A1C000A8 */ sb $zero, 0xa8($t6) +.L700125A8: +/* 0131A8 700125A8 2401002F */ li $at, 47 +/* 0131AC 700125AC 5461000E */ bnel $v1, $at, .L700125E8 +/* 0131B0 700125B0 2401002E */ li $at, 46 +/* 0131B4 700125B4 8D8F0004 */ lw $t7, 4($t4) +/* 0131B8 700125B8 24180001 */ li $t8, 1 +/* 0131BC 700125BC 0178C804 */ sllv $t9, $t8, $t3 +/* 0131C0 700125C0 01F97026 */ xor $t6, $t7, $t9 +/* 0131C4 700125C4 11C00004 */ beqz $t6, .L700125D8 +/* 0131C8 700125C8 AD8E0004 */ sw $t6, 4($t4) +/* 0131CC 700125CC 240F0012 */ li $t7, 18 +/* 0131D0 700125D0 1000005B */ b .L70012740 +/* 0131D4 700125D4 A60F0000 */ sh $t7, ($s0) +.L700125D8: +/* 0131D8 700125D8 24190004 */ li $t9, 4 +/* 0131DC 700125DC 10000058 */ b .L70012740 +/* 0131E0 700125E0 A6190000 */ sh $t9, ($s0) +/* 0131E4 700125E4 2401002E */ li $at, 46 +.L700125E8: +/* 0131E8 700125E8 1461000B */ bne $v1, $at, .L70012618 +/* 0131EC 700125EC 01802025 */ move $a0, $t4 +/* 0131F0 700125F0 0C0048E0 */ jal ultra_70012380 +/* 0131F4 700125F4 01602825 */ move $a1, $t3 +/* 0131F8 700125F8 01802025 */ move $a0, $t4 +/* 0131FC 700125FC 0C0048E0 */ jal ultra_70012380 +/* 013200 70012600 01602825 */ move $a1, $t3 +/* 013204 70012604 018B7021 */ addu $t6, $t4, $t3 +/* 013208 70012608 A1C000A8 */ sb $zero, 0xa8($t6) +/* 01320C 7001260C 24180013 */ li $t8, 19 +/* 013210 70012610 1000004B */ b .L70012740 +/* 013214 70012614 A6180000 */ sh $t8, ($s0) +.L70012618: +/* 013218 70012618 2401002D */ li $at, 45 +/* 01321C 7001261C 14610048 */ bne $v1, $at, .L70012740 +/* 013220 70012620 000B7880 */ sll $t7, $t3, 2 +/* 013224 70012624 018F6821 */ addu $t5, $t4, $t7 +/* 013228 70012628 8DA20018 */ lw $v0, 0x18($t5) +/* 01322C 7001262C 240100FF */ li $at, 255 +/* 013230 70012630 90440001 */ lbu $a0, 1($v0) +/* 013234 70012634 24420001 */ addiu $v0, $v0, 1 +/* 013238 70012638 24590005 */ addiu $t9, $v0, 5 +/* 01323C 7001263C 14800004 */ bnez $a0, .L70012650 +/* 013240 70012640 9045FFFF */ lbu $a1, -1($v0) +/* 013244 70012644 A0450000 */ sb $a1, ($v0) +/* 013248 70012648 10000011 */ b .L70012690 +/* 01324C 7001264C ADB90018 */ sw $t9, 0x18($t5) +.L70012650: +/* 013250 70012650 10810002 */ beq $a0, $at, .L7001265C +/* 013254 70012654 248EFFFF */ addiu $t6, $a0, -1 +/* 013258 70012658 A04E0000 */ sb $t6, ($v0) +.L7001265C: +/* 01325C 7001265C 904F0002 */ lbu $t7, 2($v0) +/* 013260 70012660 90430001 */ lbu $v1, 1($v0) +/* 013264 70012664 904E0003 */ lbu $t6, 3($v0) +/* 013268 70012668 000FCC00 */ sll $t9, $t7, 0x10 +/* 01326C 7001266C 0003C600 */ sll $t8, $v1, 0x18 +/* 013270 70012670 904F0004 */ lbu $t7, 4($v0) +/* 013274 70012674 03191821 */ addu $v1, $t8, $t9 +/* 013278 70012678 000EC200 */ sll $t8, $t6, 8 +/* 01327C 7001267C 00781821 */ addu $v1, $v1, $t8 +/* 013280 70012680 24420005 */ addiu $v0, $v0, 5 +/* 013284 70012684 006F1821 */ addu $v1, $v1, $t7 +/* 013288 70012688 0043C823 */ subu $t9, $v0, $v1 +/* 01328C 7001268C ADB90018 */ sw $t9, 0x18($t5) +.L70012690: +/* 013290 70012690 018B7021 */ addu $t6, $t4, $t3 +/* 013294 70012694 A1C000A8 */ sb $zero, 0xa8($t6) +/* 013298 70012698 24180014 */ li $t8, 20 +/* 01329C 7001269C 10000028 */ b .L70012740 +/* 0132A0 700126A0 A6180000 */ sh $t8, ($s0) +.L700126A4: +/* 0132A4 700126A4 240F0001 */ li $t7, 1 +/* 0132A8 700126A8 30790080 */ andi $t9, $v1, 0x80 +/* 0132AC 700126AC 13200009 */ beqz $t9, .L700126D4 +/* 0132B0 700126B0 A60F0000 */ sh $t7, ($s0) +/* 0132B4 700126B4 A20A0008 */ sb $t2, 8($s0) +/* 0132B8 700126B8 01802025 */ move $a0, $t4 +/* 0132BC 700126BC 0C0048E0 */ jal ultra_70012380 +/* 0132C0 700126C0 01602825 */ move $a1, $t3 +/* 0132C4 700126C4 A2020009 */ sb $v0, 9($s0) +/* 0132C8 700126C8 018B7021 */ addu $t6, $t4, $t3 +/* 0132CC 700126CC 10000005 */ b .L700126E4 +/* 0132D0 700126D0 A1CA00A8 */ sb $t2, 0xa8($t6) +.L700126D4: +/* 0132D4 700126D4 018BC021 */ addu $t8, $t4, $t3 +/* 0132D8 700126D8 930F00A8 */ lbu $t7, 0xa8($t8) +/* 0132DC 700126DC A2020009 */ sb $v0, 9($s0) +/* 0132E0 700126E0 A20F0008 */ sb $t7, 8($s0) +.L700126E4: +/* 0132E4 700126E4 92020008 */ lbu $v0, 8($s0) +/* 0132E8 700126E8 240100C0 */ li $at, 192 +/* 0132EC 700126EC 305900F0 */ andi $t9, $v0, 0xf0 +/* 0132F0 700126F0 13210012 */ beq $t9, $at, .L7001273C +/* 0132F4 700126F4 240100D0 */ li $at, 208 +/* 0132F8 700126F8 13210010 */ beq $t9, $at, .L7001273C +/* 0132FC 700126FC 01802025 */ move $a0, $t4 +/* 013300 70012700 0C0048E0 */ jal ultra_70012380 +/* 013304 70012704 01602825 */ move $a1, $t3 +/* 013308 70012708 920E0008 */ lbu $t6, 8($s0) +/* 01330C 7001270C 24010090 */ li $at, 144 +/* 013310 70012710 A202000A */ sb $v0, 0xa($s0) +/* 013314 70012714 31D800F0 */ andi $t8, $t6, 0xf0 +/* 013318 70012718 17010009 */ bne $t8, $at, .L70012740 +/* 01331C 7001271C 01805025 */ move $t2, $t4 +/* 013320 70012720 AFA90028 */ sw $t1, 0x28($sp) +/* 013324 70012724 0C004911 */ jal ultra_70012444 +/* 013328 70012728 AFAB0024 */ sw $t3, 0x24($sp) +/* 01332C 7001272C 8FA90028 */ lw $t1, 0x28($sp) +/* 013330 70012730 8FAB0024 */ lw $t3, 0x24($sp) +/* 013334 70012734 10000002 */ b .L70012740 +/* 013338 70012738 AE02000C */ sw $v0, 0xc($s0) +.L7001273C: +/* 01333C 7001273C A200000A */ sb $zero, 0xa($s0) +.L70012740: +/* 013340 70012740 AE090004 */ sw $t1, 4($s0) +/* 013344 70012744 8D8F000C */ lw $t7, 0xc($t4) +/* 013348 70012748 AD890010 */ sw $t1, 0x10($t4) +/* 01334C 7001274C 24010012 */ li $at, 18 +/* 013350 70012750 01E9C821 */ addu $t9, $t7, $t1 +/* 013354 70012754 AD99000C */ sw $t9, 0xc($t4) +/* 013358 70012758 860E0000 */ lh $t6, ($s0) +/* 01335C 7001275C 01805025 */ move $t2, $t4 +/* 013360 70012760 000BC080 */ sll $t8, $t3, 2 +/* 013364 70012764 51C10007 */ beql $t6, $at, .L70012784 +/* 013368 70012768 240E0001 */ li $t6, 1 +/* 01336C 7001276C 0C004911 */ jal ultra_70012444 +/* 013370 70012770 01986821 */ addu $t5, $t4, $t8 +/* 013374 70012774 8DAF00B8 */ lw $t7, 0xb8($t5) +/* 013378 70012778 01E2C821 */ addu $t9, $t7, $v0 +/* 01337C 7001277C ADB900B8 */ sw $t9, 0xb8($t5) +/* 013380 70012780 240E0001 */ li $t6, 1 +.L70012784: +/* 013384 70012784 AD8E0014 */ sw $t6, 0x14($t4) +/* 013388 70012788 8FBF001C */ lw $ra, 0x1c($sp) +/* 01338C 7001278C 8FB00018 */ lw $s0, 0x18($sp) +/* 013390 70012790 27BD0030 */ addiu $sp, $sp, 0x30 +/* 013394 70012794 03E00008 */ jr $ra +/* 013398 70012798 00000000 */ nop + +glabel alCSeqNew +/* 01339C 7001279C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0133A0 700127A0 AFB40028 */ sw $s4, 0x28($sp) +/* 0133A4 700127A4 AFB30024 */ sw $s3, 0x24($sp) +/* 0133A8 700127A8 AFB20020 */ sw $s2, 0x20($sp) +/* 0133AC 700127AC AFB1001C */ sw $s1, 0x1c($sp) +/* 0133B0 700127B0 AFB00018 */ sw $s0, 0x18($sp) +/* 0133B4 700127B4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0133B8 700127B8 240E0001 */ li $t6, 1 +/* 0133BC 700127BC 00808025 */ move $s0, $a0 +/* 0133C0 700127C0 00A0A025 */ move $s4, $a1 +/* 0133C4 700127C4 AC850000 */ sw $a1, ($a0) +/* 0133C8 700127C8 AC800004 */ sw $zero, 4($a0) +/* 0133CC 700127CC AC800010 */ sw $zero, 0x10($a0) +/* 0133D0 700127D0 AC80000C */ sw $zero, 0xc($a0) +/* 0133D4 700127D4 AC8E0014 */ sw $t6, 0x14($a0) +/* 0133D8 700127D8 00808825 */ move $s1, $a0 +/* 0133DC 700127DC 00009025 */ move $s2, $zero +/* 0133E0 700127E0 24130010 */ li $s3, 16 +/* 0133E4 700127E4 00006825 */ move $t5, $zero +/* 0133E8 700127E8 00806025 */ move $t4, $a0 +.L700127EC: +/* 0133EC 700127EC A22000A8 */ sb $zero, 0xa8($s1) +/* 0133F0 700127F0 AD800058 */ sw $zero, 0x58($t4) +/* 0133F4 700127F4 A2200098 */ sb $zero, 0x98($s1) +/* 0133F8 700127F8 8E0F0000 */ lw $t7, ($s0) +/* 0133FC 700127FC 240E0001 */ li $t6, 1 +/* 013400 70012800 01F2C021 */ addu $t8, $t7, $s2 +/* 013404 70012804 8F020000 */ lw $v0, ($t8) +/* 013408 70012808 01AE7804 */ sllv $t7, $t6, $t5 +/* 01340C 7001280C 1040000A */ beqz $v0, .L70012838 +/* 013410 70012810 02827021 */ addu $t6, $s4, $v0 +/* 013414 70012814 8E190004 */ lw $t9, 4($s0) +/* 013418 70012818 02005025 */ move $t2, $s0 +/* 01341C 7001281C 01A05825 */ move $t3, $t5 +/* 013420 70012820 032FC025 */ or $t8, $t9, $t7 +/* 013424 70012824 AE180004 */ sw $t8, 4($s0) +/* 013428 70012828 0C004911 */ jal ultra_70012444 +/* 01342C 7001282C AD8E0018 */ sw $t6, 0x18($t4) +/* 013430 70012830 10000002 */ b .L7001283C +/* 013434 70012834 AD8200B8 */ sw $v0, 0xb8($t4) +.L70012838: +/* 013438 70012838 AD800018 */ sw $zero, 0x18($t4) +.L7001283C: +/* 01343C 7001283C 25AD0001 */ addiu $t5, $t5, 1 +/* 013440 70012840 26310001 */ addiu $s1, $s1, 1 +/* 013444 70012844 26520004 */ addiu $s2, $s2, 4 +/* 013448 70012848 15B3FFE8 */ bne $t5, $s3, .L700127EC +/* 01344C 7001284C 258C0004 */ addiu $t4, $t4, 4 +/* 013450 70012850 8E190000 */ lw $t9, ($s0) +/* 013454 70012854 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 013458 70012858 44812800 */ mtc1 $at, $f5 +/* 01345C 7001285C 8F2F0040 */ lw $t7, 0x40($t9) +/* 013460 70012860 44802000 */ mtc1 $zero, $f4 +/* 013464 70012864 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 013468 70012868 448F3000 */ mtc1 $t7, $f6 +/* 01346C 7001286C 05E10004 */ bgez $t7, .L70012880 +/* 013470 70012870 46803220 */ cvt.s.w $f8, $f6 +/* 013474 70012874 44815000 */ mtc1 $at, $f10 +/* 013478 70012878 00000000 */ nop +/* 01347C 7001287C 460A4200 */ add.s $f8, $f8, $f10 +.L70012880: +/* 013480 70012880 460041A1 */ cvt.d.s $f6, $f8 +/* 013484 70012884 46262283 */ div.d $f10, $f4, $f6 +/* 013488 70012888 46205220 */ cvt.s.d $f8, $f10 +/* 01348C 7001288C E6080008 */ swc1 $f8, 8($s0) +/* 013490 70012890 8FBF002C */ lw $ra, 0x2c($sp) +/* 013494 70012894 8FB40028 */ lw $s4, 0x28($sp) +/* 013498 70012898 8FB30024 */ lw $s3, 0x24($sp) +/* 01349C 7001289C 8FB20020 */ lw $s2, 0x20($sp) +/* 0134A0 700128A0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0134A4 700128A4 8FB00018 */ lw $s0, 0x18($sp) +/* 0134A8 700128A8 03E00008 */ jr $ra +/* 0134AC 700128AC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel alCSeqNewMarker +/* 0134B0 700128B0 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0134B4 700128B4 AFB30020 */ sw $s3, 0x20($sp) +/* 0134B8 700128B8 AFB10018 */ sw $s1, 0x18($sp) +/* 0134BC 700128BC 00A08825 */ move $s1, $a1 +/* 0134C0 700128C0 27B30048 */ addiu $s3, $sp, 0x48 +/* 0134C4 700128C4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0134C8 700128C8 AFB50028 */ sw $s5, 0x28($sp) +/* 0134CC 700128CC AFB40024 */ sw $s4, 0x24($sp) +/* 0134D0 700128D0 AFB2001C */ sw $s2, 0x1c($sp) +/* 0134D4 700128D4 AFB00014 */ sw $s0, 0x14($sp) +/* 0134D8 700128D8 00803825 */ move $a3, $a0 +/* 0134DC 700128DC 00C09025 */ move $s2, $a2 +/* 0134E0 700128E0 8CE50000 */ lw $a1, ($a3) +/* 0134E4 700128E4 0C0049E7 */ jal alCSeqNew +/* 0134E8 700128E8 02602025 */ move $a0, $s3 +/* 0134EC 700128EC 24150004 */ li $s5, 4 +/* 0134F0 700128F0 27B40140 */ addiu $s4, $sp, 0x140 +/* 0134F4 700128F4 27B00058 */ addiu $s0, $sp, 0x58 +/* 0134F8 700128F8 8FAE004C */ lw $t6, 0x4c($sp) +.L700128FC: +/* 0134FC 700128FC 27A40048 */ addiu $a0, $sp, 0x48 +/* 013500 70012900 00801825 */ move $v1, $a0 +/* 013504 70012904 AE2E0000 */ sw $t6, ($s1) +/* 013508 70012908 8FAF0054 */ lw $t7, 0x54($sp) +/* 01350C 7001290C 02201025 */ move $v0, $s1 +/* 013510 70012910 02202825 */ move $a1, $s1 +/* 013514 70012914 AE2F0004 */ sw $t7, 4($s1) +/* 013518 70012918 8FB80058 */ lw $t8, 0x58($sp) +/* 01351C 7001291C AE380008 */ sw $t8, 8($s1) +.L70012920: +/* 013520 70012920 8C680018 */ lw $t0, 0x18($v1) +/* 013524 70012924 24840004 */ addiu $a0, $a0, 4 +/* 013528 70012928 24420010 */ addiu $v0, $v0, 0x10 +/* 01352C 7001292C AC48FFFC */ sw $t0, -4($v0) +/* 013530 70012930 8C690058 */ lw $t1, 0x58($v1) +/* 013534 70012934 24630010 */ addiu $v1, $v1, 0x10 +/* 013538 70012938 24A50004 */ addiu $a1, $a1, 4 +/* 01353C 7001293C AC49003C */ sw $t1, 0x3c($v0) +/* 013540 70012940 908A0094 */ lbu $t2, 0x94($a0) +/* 013544 70012944 A0AA0088 */ sb $t2, 0x88($a1) +/* 013548 70012948 908B00A4 */ lbu $t3, 0xa4($a0) +/* 01354C 7001294C A0AB0098 */ sb $t3, 0x98($a1) +/* 013550 70012950 8C6C00A8 */ lw $t4, 0xa8($v1) +/* 013554 70012954 AC4C009C */ sw $t4, 0x9c($v0) +/* 013558 70012958 8C6D000C */ lw $t5, 0xc($v1) +/* 01355C 7001295C AC4D0000 */ sw $t5, ($v0) +/* 013560 70012960 8C6E004C */ lw $t6, 0x4c($v1) +/* 013564 70012964 AC4E0040 */ sw $t6, 0x40($v0) +/* 013568 70012968 908F0095 */ lbu $t7, 0x95($a0) +/* 01356C 7001296C A0AF0089 */ sb $t7, 0x89($a1) +/* 013570 70012970 909800A5 */ lbu $t8, 0xa5($a0) +/* 013574 70012974 A0B80099 */ sb $t8, 0x99($a1) +/* 013578 70012978 8C7900AC */ lw $t9, 0xac($v1) +/* 01357C 7001297C AC5900A0 */ sw $t9, 0xa0($v0) +/* 013580 70012980 8C680010 */ lw $t0, 0x10($v1) +/* 013584 70012984 AC480004 */ sw $t0, 4($v0) +/* 013588 70012988 8C690050 */ lw $t1, 0x50($v1) +/* 01358C 7001298C AC490044 */ sw $t1, 0x44($v0) +/* 013590 70012990 908A0096 */ lbu $t2, 0x96($a0) +/* 013594 70012994 A0AA008A */ sb $t2, 0x8a($a1) +/* 013598 70012998 908B00A6 */ lbu $t3, 0xa6($a0) +/* 01359C 7001299C A0AB009A */ sb $t3, 0x9a($a1) +/* 0135A0 700129A0 8C6C00B0 */ lw $t4, 0xb0($v1) +/* 0135A4 700129A4 AC4C00A4 */ sw $t4, 0xa4($v0) +/* 0135A8 700129A8 8C6D0014 */ lw $t5, 0x14($v1) +/* 0135AC 700129AC AC4D0008 */ sw $t5, 8($v0) +/* 0135B0 700129B0 8C6E0054 */ lw $t6, 0x54($v1) +/* 0135B4 700129B4 AC4E0048 */ sw $t6, 0x48($v0) +/* 0135B8 700129B8 908F0097 */ lbu $t7, 0x97($a0) +/* 0135BC 700129BC A0AF008B */ sb $t7, 0x8b($a1) +/* 0135C0 700129C0 909800A7 */ lbu $t8, 0xa7($a0) +/* 0135C4 700129C4 A0B8009B */ sb $t8, 0x9b($a1) +/* 0135C8 700129C8 8C7900B4 */ lw $t9, 0xb4($v1) +/* 0135CC 700129CC 1490FFD4 */ bne $a0, $s0, .L70012920 +/* 0135D0 700129D0 AC5900A8 */ sw $t9, 0xa8($v0) +/* 0135D4 700129D4 02602025 */ move $a0, $s3 +/* 0135D8 700129D8 0C004929 */ jal alCSeqNextEvent +/* 0135DC 700129DC 02802825 */ move $a1, $s4 +/* 0135E0 700129E0 87A80140 */ lh $t0, 0x140($sp) +/* 0135E4 700129E4 8FA90054 */ lw $t1, 0x54($sp) +/* 0135E8 700129E8 11150003 */ beq $t0, $s5, .L700129F8 +/* 0135EC 700129EC 0132082B */ sltu $at, $t1, $s2 +/* 0135F0 700129F0 5420FFC2 */ bnezl $at, .L700128FC +/* 0135F4 700129F4 8FAE004C */ lw $t6, 0x4c($sp) +.L700129F8: +/* 0135F8 700129F8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0135FC 700129FC 8FB00014 */ lw $s0, 0x14($sp) +/* 013600 70012A00 8FB10018 */ lw $s1, 0x18($sp) +/* 013604 70012A04 8FB2001C */ lw $s2, 0x1c($sp) +/* 013608 70012A08 8FB30020 */ lw $s3, 0x20($sp) +/* 01360C 70012A0C 8FB40024 */ lw $s4, 0x24($sp) +/* 013610 70012A10 8FB50028 */ lw $s5, 0x28($sp) +/* 013614 70012A14 03E00008 */ jr $ra +/* 013618 70012A18 27BD0150 */ addiu $sp, $sp, 0x150 + +glabel alCSeqGetTicks +/* 01361C 70012A1C 03E00008 */ jr $ra +/* 013620 70012A20 8C82000C */ lw $v0, 0xc($a0) + +glabel alCSeqSecToTicks +/* 013624 70012A24 8C8E0000 */ lw $t6, ($a0) +/* 013628 70012A28 44856000 */ mtc1 $a1, $f12 +/* 01362C 70012A2C 3C018003 */ lui $at, %hi(F64_800296D0) +/* 013630 70012A30 8DCF0040 */ lw $t7, 0x40($t6) +/* 013634 70012A34 D42696D0 */ ldc1 $f6, %lo(F64_800296D0)($at) +/* 013638 70012A38 46006121 */ cvt.d.s $f4, $f12 +/* 01363C 70012A3C 448F5000 */ mtc1 $t7, $f10 +/* 013640 70012A40 46262202 */ mul.d $f8, $f4, $f6 +/* 013644 70012A44 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 013648 70012A48 05E10005 */ bgez $t7, .L70012A60 +/* 01364C 70012A4C 46805421 */ cvt.d.w $f16, $f10 +/* 013650 70012A50 44819800 */ mtc1 $at, $f19 +/* 013654 70012A54 44809000 */ mtc1 $zero, $f18 +/* 013658 70012A58 00000000 */ nop +/* 01365C 70012A5C 46328400 */ add.d $f16, $f16, $f18 +.L70012A60: +/* 013660 70012A60 44863000 */ mtc1 $a2, $f6 +/* 013664 70012A64 46304102 */ mul.d $f4, $f8, $f16 +/* 013668 70012A68 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 01366C 70012A6C 04C10005 */ bgez $a2, .L70012A84 +/* 013670 70012A70 468032A1 */ cvt.d.w $f10, $f6 +/* 013674 70012A74 44819800 */ mtc1 $at, $f19 +/* 013678 70012A78 44809000 */ mtc1 $zero, $f18 +/* 01367C 70012A7C 00000000 */ nop +/* 013680 70012A80 46325280 */ add.d $f10, $f10, $f18 +.L70012A84: +/* 013684 70012A84 462A2203 */ div.d $f8, $f4, $f10 +/* 013688 70012A88 24020001 */ li $v0, 1 +/* 01368C 70012A8C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 013690 70012A90 4458F800 */ cfc1 $t8, $31 +/* 013694 70012A94 44C2F800 */ ctc1 $v0, $31 +/* 013698 70012A98 00000000 */ nop +/* 01369C 70012A9C 46204424 */ cvt.w.d $f16, $f8 +/* 0136A0 70012AA0 4442F800 */ cfc1 $v0, $31 +/* 0136A4 70012AA4 00000000 */ nop +/* 0136A8 70012AA8 30420078 */ andi $v0, $v0, 0x78 +/* 0136AC 70012AAC 50400016 */ beql $v0, $zero, .L70012B08 +/* 0136B0 70012AB0 44028000 */ mfc1 $v0, $f16 +/* 0136B4 70012AB4 44818800 */ mtc1 $at, $f17 +/* 0136B8 70012AB8 44808000 */ mtc1 $zero, $f16 +/* 0136BC 70012ABC 24020001 */ li $v0, 1 +/* 0136C0 70012AC0 3C018000 */ lui $at, 0x8000 +/* 0136C4 70012AC4 46304401 */ sub.d $f16, $f8, $f16 +/* 0136C8 70012AC8 44C2F800 */ ctc1 $v0, $31 +/* 0136CC 70012ACC 00000000 */ nop +/* 0136D0 70012AD0 46208424 */ cvt.w.d $f16, $f16 +/* 0136D4 70012AD4 4442F800 */ cfc1 $v0, $31 +/* 0136D8 70012AD8 00000000 */ nop +/* 0136DC 70012ADC 30420078 */ andi $v0, $v0, 0x78 +/* 0136E0 70012AE0 54400006 */ bnezl $v0, .L70012AFC +/* 0136E4 70012AE4 44D8F800 */ ctc1 $t8, $31 +/* 0136E8 70012AE8 44028000 */ mfc1 $v0, $f16 +/* 0136EC 70012AEC 44D8F800 */ ctc1 $t8, $31 +/* 0136F0 70012AF0 03E00008 */ jr $ra +/* 0136F4 70012AF4 00411025 */ or $v0, $v0, $at + +/* 0136F8 70012AF8 44D8F800 */ ctc1 $t8, $31 +.L70012AFC: +/* 0136FC 70012AFC 03E00008 */ jr $ra +/* 013700 70012B00 2402FFFF */ li $v0, -1 + +/* 013704 70012B04 44028000 */ mfc1 $v0, $f16 +.L70012B08: +/* 013708 70012B08 00000000 */ nop +/* 01370C 70012B0C 0442FFFB */ bltzl $v0, .L70012AFC +/* 013710 70012B10 44D8F800 */ ctc1 $t8, $31 +/* 013714 70012B14 44D8F800 */ ctc1 $t8, $31 +/* 013718 70012B18 03E00008 */ jr $ra +/* 01371C 70012B1C 00000000 */ nop + +glabel alCSeqTicksToSec +/* 013720 70012B20 44852000 */ mtc1 $a1, $f4 +/* 013724 70012B24 44864000 */ mtc1 $a2, $f8 +/* 013728 70012B28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 01372C 70012B2C 468021A0 */ cvt.s.w $f6, $f4 +/* 013730 70012B30 04C10004 */ bgez $a2, .L70012B44 +/* 013734 70012B34 468042A0 */ cvt.s.w $f10, $f8 +/* 013738 70012B38 44818000 */ mtc1 $at, $f16 +/* 01373C 70012B3C 00000000 */ nop +/* 013740 70012B40 46105280 */ add.s $f10, $f10, $f16 +.L70012B44: +/* 013744 70012B44 8C8E0000 */ lw $t6, ($a0) +/* 013748 70012B48 460A3482 */ mul.s $f18, $f6, $f10 +/* 01374C 70012B4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 013750 70012B50 8DCF0040 */ lw $t7, 0x40($t6) +/* 013754 70012B54 448F4000 */ mtc1 $t7, $f8 +/* 013758 70012B58 46009121 */ cvt.d.s $f4, $f18 +/* 01375C 70012B5C 05E10004 */ bgez $t7, .L70012B70 +/* 013760 70012B60 46804420 */ cvt.s.w $f16, $f8 +/* 013764 70012B64 44813000 */ mtc1 $at, $f6 +/* 013768 70012B68 00000000 */ nop +/* 01376C 70012B6C 46068400 */ add.s $f16, $f16, $f6 +.L70012B70: +/* 013770 70012B70 3C018003 */ lui $at, %hi(F64_800296D8) +/* 013774 70012B74 D43296D8 */ ldc1 $f18, %lo(F64_800296D8)($at) +/* 013778 70012B78 460082A1 */ cvt.d.s $f10, $f16 +/* 01377C 70012B7C 46325202 */ mul.d $f8, $f10, $f18 +/* 013780 70012B80 46282183 */ div.d $f6, $f4, $f8 +/* 013784 70012B84 03E00008 */ jr $ra +/* 013788 70012B88 46203020 */ cvt.s.d $f0, $f6 + +glabel __alCSeqNextDelta +/* 01378C 70012B8C 8C8E0004 */ lw $t6, 4($a0) +/* 013790 70012B90 00A04825 */ move $t1, $a1 +/* 013794 70012B94 2403FFFF */ li $v1, -1 +/* 013798 70012B98 15C00003 */ bnez $t6, .L70012BA8 +/* 01379C 70012B9C 8C820010 */ lw $v0, 0x10($a0) +/* 0137A0 70012BA0 03E00008 */ jr $ra +/* 0137A4 70012BA4 00001025 */ move $v0, $zero + +.L70012BA8: +/* 0137A8 70012BA8 00003025 */ move $a2, $zero +/* 0137AC 70012BAC 240A0010 */ li $t2, 16 +/* 0137B0 70012BB0 8C850004 */ lw $a1, 4($a0) +.L70012BB4: +/* 0137B4 70012BB4 24CE0001 */ addiu $t6, $a2, 1 +/* 0137B8 70012BB8 00C57806 */ srlv $t7, $a1, $a2 +/* 0137BC 70012BBC 31F80001 */ andi $t8, $t7, 1 +/* 0137C0 70012BC0 53000010 */ beql $t8, $zero, .L70012C04 +/* 0137C4 70012BC4 01C57806 */ srlv $t7, $a1, $t6 +/* 0137C8 70012BC8 8C8B0014 */ lw $t3, 0x14($a0) +/* 0137CC 70012BCC 0006C880 */ sll $t9, $a2, 2 +/* 0137D0 70012BD0 00993821 */ addu $a3, $a0, $t9 +/* 0137D4 70012BD4 51600006 */ beql $t3, $zero, .L70012BF0 +/* 0137D8 70012BD8 8CE800B8 */ lw $t0, 0xb8($a3) +/* 0137DC 70012BDC 8CEC00B8 */ lw $t4, 0xb8($a3) +/* 0137E0 70012BE0 01826823 */ subu $t5, $t4, $v0 +/* 0137E4 70012BE4 ACED00B8 */ sw $t5, 0xb8($a3) +/* 0137E8 70012BE8 8C850004 */ lw $a1, 4($a0) +/* 0137EC 70012BEC 8CE800B8 */ lw $t0, 0xb8($a3) +.L70012BF0: +/* 0137F0 70012BF0 0103082B */ sltu $at, $t0, $v1 +/* 0137F4 70012BF4 50200003 */ beql $at, $zero, .L70012C04 +/* 0137F8 70012BF8 01C57806 */ srlv $t7, $a1, $t6 +/* 0137FC 70012BFC 01001825 */ move $v1, $t0 +/* 013800 70012C00 01C57806 */ srlv $t7, $a1, $t6 +.L70012C04: +/* 013804 70012C04 31F80001 */ andi $t8, $t7, 1 +/* 013808 70012C08 1300000F */ beqz $t8, .L70012C48 +/* 01380C 70012C0C 24CE0002 */ addiu $t6, $a2, 2 +/* 013810 70012C10 8C8B0014 */ lw $t3, 0x14($a0) +/* 013814 70012C14 0006C880 */ sll $t9, $a2, 2 +/* 013818 70012C18 00993821 */ addu $a3, $a0, $t9 +/* 01381C 70012C1C 51600006 */ beql $t3, $zero, .L70012C38 +/* 013820 70012C20 8CE800BC */ lw $t0, 0xbc($a3) +/* 013824 70012C24 8CEC00BC */ lw $t4, 0xbc($a3) +/* 013828 70012C28 01826823 */ subu $t5, $t4, $v0 +/* 01382C 70012C2C ACED00BC */ sw $t5, 0xbc($a3) +/* 013830 70012C30 8C850004 */ lw $a1, 4($a0) +/* 013834 70012C34 8CE800BC */ lw $t0, 0xbc($a3) +.L70012C38: +/* 013838 70012C38 0103082B */ sltu $at, $t0, $v1 +/* 01383C 70012C3C 50200003 */ beql $at, $zero, .L70012C4C +/* 013840 70012C40 01C57806 */ srlv $t7, $a1, $t6 +/* 013844 70012C44 01001825 */ move $v1, $t0 +.L70012C48: +/* 013848 70012C48 01C57806 */ srlv $t7, $a1, $t6 +.L70012C4C: +/* 01384C 70012C4C 31F80001 */ andi $t8, $t7, 1 +/* 013850 70012C50 1300000F */ beqz $t8, .L70012C90 +/* 013854 70012C54 24CE0003 */ addiu $t6, $a2, 3 +/* 013858 70012C58 8C8B0014 */ lw $t3, 0x14($a0) +/* 01385C 70012C5C 0006C880 */ sll $t9, $a2, 2 +/* 013860 70012C60 00993821 */ addu $a3, $a0, $t9 +/* 013864 70012C64 51600006 */ beql $t3, $zero, .L70012C80 +/* 013868 70012C68 8CE800C0 */ lw $t0, 0xc0($a3) +/* 01386C 70012C6C 8CEC00C0 */ lw $t4, 0xc0($a3) +/* 013870 70012C70 01826823 */ subu $t5, $t4, $v0 +/* 013874 70012C74 ACED00C0 */ sw $t5, 0xc0($a3) +/* 013878 70012C78 8C850004 */ lw $a1, 4($a0) +/* 01387C 70012C7C 8CE800C0 */ lw $t0, 0xc0($a3) +.L70012C80: +/* 013880 70012C80 0103082B */ sltu $at, $t0, $v1 +/* 013884 70012C84 50200003 */ beql $at, $zero, .L70012C94 +/* 013888 70012C88 01C57806 */ srlv $t7, $a1, $t6 +/* 01388C 70012C8C 01001825 */ move $v1, $t0 +.L70012C90: +/* 013890 70012C90 01C57806 */ srlv $t7, $a1, $t6 +.L70012C94: +/* 013894 70012C94 31F80001 */ andi $t8, $t7, 1 +/* 013898 70012C98 5300000F */ beql $t8, $zero, .L70012CD8 +/* 01389C 70012C9C 24C60004 */ addiu $a2, $a2, 4 +/* 0138A0 70012CA0 8C8B0014 */ lw $t3, 0x14($a0) +/* 0138A4 70012CA4 0006C880 */ sll $t9, $a2, 2 +/* 0138A8 70012CA8 00993821 */ addu $a3, $a0, $t9 +/* 0138AC 70012CAC 51600005 */ beql $t3, $zero, .L70012CC4 +/* 0138B0 70012CB0 8CE500C4 */ lw $a1, 0xc4($a3) +/* 0138B4 70012CB4 8CEC00C4 */ lw $t4, 0xc4($a3) +/* 0138B8 70012CB8 01826823 */ subu $t5, $t4, $v0 +/* 0138BC 70012CBC ACED00C4 */ sw $t5, 0xc4($a3) +/* 0138C0 70012CC0 8CE500C4 */ lw $a1, 0xc4($a3) +.L70012CC4: +/* 0138C4 70012CC4 00A3082B */ sltu $at, $a1, $v1 +/* 0138C8 70012CC8 50200003 */ beql $at, $zero, .L70012CD8 +/* 0138CC 70012CCC 24C60004 */ addiu $a2, $a2, 4 +/* 0138D0 70012CD0 00A01825 */ move $v1, $a1 +/* 0138D4 70012CD4 24C60004 */ addiu $a2, $a2, 4 +.L70012CD8: +/* 0138D8 70012CD8 54CAFFB6 */ bnel $a2, $t2, .L70012BB4 +/* 0138DC 70012CDC 8C850004 */ lw $a1, 4($a0) +/* 0138E0 70012CE0 AC800014 */ sw $zero, 0x14($a0) +/* 0138E4 70012CE4 AD230000 */ sw $v1, ($t1) +/* 0138E8 70012CE8 24020001 */ li $v0, 1 +/* 0138EC 70012CEC 03E00008 */ jr $ra +/* 0138F0 70012CF0 00000000 */ nop + + +.section .rodata +glabel F64_800296D0 +.double 1000000.0 +glabel F64_800296D8 +.double 1000000.0 diff --git a/src/libultra/exception.s b/src/libultra/exception.s new file mode 100644 index 00000000..de436cf6 --- /dev/null +++ b/src/libultra/exception.s @@ -0,0 +1,666 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __osExceptionPreamble +/* 010D90 70010190 3C1A7001 */ lui $k0, %hi(__osException) # $k0, 0x7001 +/* 010D94 70010194 275A01A0 */ addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x1a0 +/* 010D98 70010198 03400008 */ jr $k0 +/* 010D9C 7001019C 00000000 */ nop +glabel __osException +/* 010DA0 700101A0 3C1A8007 */ lui $k0, %hi(__osThreadSave) # $k0, 0x8007 +/* 010DA4 700101A4 275A8E30 */ addiu $k0, %lo(__osThreadSave) # addiu $k0, $k0, -0x71d0 +/* 010DA8 700101A8 FF410020 */ sd $at, 0x20($k0) +/* 010DAC 700101AC 401B6000 */ mfc0 $k1, $12 +/* 010DB0 700101B0 AF5B0118 */ sw $k1, 0x118($k0) +/* 010DB4 700101B4 2401FFFC */ li $at, -4 +/* 010DB8 700101B8 0361D824 */ and $k1, $k1, $at +/* 010DBC 700101BC 409B6000 */ mtc0 $k1, $12 +/* 010DC0 700101C0 FF480058 */ sd $t0, 0x58($k0) +/* 010DC4 700101C4 FF490060 */ sd $t1, 0x60($k0) +/* 010DC8 700101C8 FF4A0068 */ sd $t2, 0x68($k0) +/* 010DCC 700101CC AF400018 */ sw $zero, 0x18($k0) +/* 010DD0 700101D0 40086800 */ mfc0 $t0, $13 +/* 010DD4 700101D4 03404025 */ move $t0, $k0 +/* 010DD8 700101D8 3C1A8002 */ lui $k0, %hi(__osRunningThread) # $k0, 0x8002 +/* 010DDC 700101DC 8F5A7730 */ lw $k0, %lo(__osRunningThread)($k0) +/* 010DE0 700101E0 DD090020 */ ld $t1, 0x20($t0) +/* 010DE4 700101E4 FF490020 */ sd $t1, 0x20($k0) +/* 010DE8 700101E8 DD090118 */ ld $t1, 0x118($t0) +/* 010DEC 700101EC FF490118 */ sd $t1, 0x118($k0) +/* 010DF0 700101F0 DD090058 */ ld $t1, 0x58($t0) +/* 010DF4 700101F4 FF490058 */ sd $t1, 0x58($k0) +/* 010DF8 700101F8 DD090060 */ ld $t1, 0x60($t0) +/* 010DFC 700101FC FF490060 */ sd $t1, 0x60($k0) +/* 010E00 70010200 DD090068 */ ld $t1, 0x68($t0) +/* 010E04 70010204 FF490068 */ sd $t1, 0x68($k0) +/* 010E08 70010208 8F5B0118 */ lw $k1, 0x118($k0) +/* 010E0C 7001020C 00004012 */ mflo $t0 +/* 010E10 70010210 FF480108 */ sd $t0, 0x108($k0) +/* 010E14 70010214 00004010 */ mfhi $t0 +/* 010E18 70010218 3369FF00 */ andi $t1, $k1, 0xff00 +/* 010E1C 7001021C FF420028 */ sd $v0, 0x28($k0) +/* 010E20 70010220 FF430030 */ sd $v1, 0x30($k0) +/* 010E24 70010224 FF440038 */ sd $a0, 0x38($k0) +/* 010E28 70010228 FF450040 */ sd $a1, 0x40($k0) +/* 010E2C 7001022C FF460048 */ sd $a2, 0x48($k0) +/* 010E30 70010230 FF470050 */ sd $a3, 0x50($k0) +/* 010E34 70010234 FF4B0070 */ sd $t3, 0x70($k0) +/* 010E38 70010238 FF4C0078 */ sd $t4, 0x78($k0) +/* 010E3C 7001023C FF4D0080 */ sd $t5, 0x80($k0) +/* 010E40 70010240 FF4E0088 */ sd $t6, 0x88($k0) +/* 010E44 70010244 FF4F0090 */ sd $t7, 0x90($k0) +/* 010E48 70010248 FF500098 */ sd $s0, 0x98($k0) +/* 010E4C 7001024C FF5100A0 */ sd $s1, 0xa0($k0) +/* 010E50 70010250 FF5200A8 */ sd $s2, 0xa8($k0) +/* 010E54 70010254 FF5300B0 */ sd $s3, 0xb0($k0) +/* 010E58 70010258 FF5400B8 */ sd $s4, 0xb8($k0) +/* 010E5C 7001025C FF5500C0 */ sd $s5, 0xc0($k0) +/* 010E60 70010260 FF5600C8 */ sd $s6, 0xc8($k0) +/* 010E64 70010264 FF5700D0 */ sd $s7, 0xd0($k0) +/* 010E68 70010268 FF5800D8 */ sd $t8, 0xd8($k0) +/* 010E6C 7001026C FF5900E0 */ sd $t9, 0xe0($k0) +/* 010E70 70010270 FF5C00E8 */ sd $gp, 0xe8($k0) +/* 010E74 70010274 FF5D00F0 */ sd $sp, 0xf0($k0) +/* 010E78 70010278 FF5E00F8 */ sd $fp, 0xf8($k0) +/* 010E7C 7001027C FF5F0100 */ sd $ra, 0x100($k0) +/* 010E80 70010280 1120000D */ beqz $t1, .L700102B8 +/* 010E84 70010284 FF480110 */ sd $t0, 0x110($k0) +/* 010E88 70010288 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 010E8C 7001028C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 010E90 70010290 8D080000 */ lw $t0, ($t0) +/* 010E94 70010294 2401FFFF */ li $at, -1 +/* 010E98 70010298 01014026 */ xor $t0, $t0, $at +/* 010E9C 7001029C 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 010EA0 700102A0 3108FF00 */ andi $t0, $t0, 0xff00 +/* 010EA4 700102A4 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 010EA8 700102A8 01284825 */ or $t1, $t1, $t0 +/* 010EAC 700102AC 0361D824 */ and $k1, $k1, $at +/* 010EB0 700102B0 0369D825 */ or $k1, $k1, $t1 +/* 010EB4 700102B4 AF5B0118 */ sw $k1, 0x118($k0) +.L700102B8: +/* 010EB8 700102B8 3C09A430 */ lui $t1, %hi(MI_INTR_MASK_REG) # $t1, 0xa430 +/* 010EBC 700102BC 8D29000C */ lw $t1, %lo(MI_INTR_MASK_REG)($t1) +/* 010EC0 700102C0 1120000B */ beqz $t1, .L700102F0 +/* 010EC4 700102C4 00000000 */ nop +/* 010EC8 700102C8 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 010ECC 700102CC 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 010ED0 700102D0 8D080000 */ lw $t0, ($t0) +/* 010ED4 700102D4 8F4C0128 */ lw $t4, 0x128($k0) +/* 010ED8 700102D8 2401FFFF */ li $at, -1 +/* 010EDC 700102DC 00084402 */ srl $t0, $t0, 0x10 +/* 010EE0 700102E0 01014026 */ xor $t0, $t0, $at +/* 010EE4 700102E4 3108003F */ andi $t0, $t0, 0x3f +/* 010EE8 700102E8 010C4024 */ and $t0, $t0, $t4 +/* 010EEC 700102EC 01284825 */ or $t1, $t1, $t0 +.L700102F0: +/* 010EF0 700102F0 AF490128 */ sw $t1, 0x128($k0) +/* 010EF4 700102F4 40087000 */ mfc0 $t0, $14 +/* 010EF8 700102F8 AF48011C */ sw $t0, 0x11c($k0) +/* 010EFC 700102FC 8F480018 */ lw $t0, 0x18($k0) +/* 010F00 70010300 11000014 */ beqz $t0, .L70010354 +/* 010F04 70010304 00000000 */ nop +/* 010F08 70010308 4448F800 */ cfc1 $t0, $31 +/* 010F0C 7001030C 00000000 */ nop +/* 010F10 70010310 AF48012C */ sw $t0, 0x12c($k0) +/* 010F14 70010314 F7400130 */ sdc1 $f0, 0x130($k0) +/* 010F18 70010318 F7420138 */ sdc1 $f2, 0x138($k0) +/* 010F1C 7001031C F7440140 */ sdc1 $f4, 0x140($k0) +/* 010F20 70010320 F7460148 */ sdc1 $f6, 0x148($k0) +/* 010F24 70010324 F7480150 */ sdc1 $f8, 0x150($k0) +/* 010F28 70010328 F74A0158 */ sdc1 $f10, 0x158($k0) +/* 010F2C 7001032C F74C0160 */ sdc1 $f12, 0x160($k0) +/* 010F30 70010330 F74E0168 */ sdc1 $f14, 0x168($k0) +/* 010F34 70010334 F7500170 */ sdc1 $f16, 0x170($k0) +/* 010F38 70010338 F7520178 */ sdc1 $f18, 0x178($k0) +/* 010F3C 7001033C F7540180 */ sdc1 $f20, 0x180($k0) +/* 010F40 70010340 F7560188 */ sdc1 $f22, 0x188($k0) +/* 010F44 70010344 F7580190 */ sdc1 $f24, 0x190($k0) +/* 010F48 70010348 F75A0198 */ sdc1 $f26, 0x198($k0) +/* 010F4C 7001034C F75C01A0 */ sdc1 $f28, 0x1a0($k0) +/* 010F50 70010350 F75E01A8 */ sdc1 $f30, 0x1a8($k0) +.L70010354: +/* 010F54 70010354 40086800 */ mfc0 $t0, $13 +/* 010F58 70010358 AF480120 */ sw $t0, 0x120($k0) +/* 010F5C 7001035C 24090002 */ li $t1, 2 +/* 010F60 70010360 A7490010 */ sh $t1, 0x10($k0) +/* 010F64 70010364 3109007C */ andi $t1, $t0, 0x7c +/* 010F68 70010368 240A0024 */ li $t2, 36 +/* 010F6C 7001036C 112A00B0 */ beq $t1, $t2, .L70010630 +/* 010F70 70010370 00000000 */ nop +/* 010F74 70010374 240A002C */ li $t2, 44 +/* 010F78 70010378 112A00FF */ beq $t1, $t2, .L70010778 +/* 010F7C 7001037C 00000000 */ nop +/* 010F80 70010380 240A0000 */ li $t2, 0 +/* 010F84 70010384 152A00C3 */ bne $t1, $t2, .L70010694 +/* 010F88 70010388 00000000 */ nop +/* 010F8C 7001038C 03688024 */ and $s0, $k1, $t0 +glabel next_interrupt +.L70010390: +/* 010F90 70010390 3209FF00 */ andi $t1, $s0, 0xff00 +/* 010F94 70010394 00095302 */ srl $t2, $t1, 0xc +/* 010F98 70010398 15400003 */ bnez $t2, .L700103A8 +/* 010F9C 7001039C 00000000 */ nop +/* 010FA0 700103A0 00095202 */ srl $t2, $t1, 8 +/* 010FA4 700103A4 214A0010 */ addi $t2, $t2, 0x10 +.L700103A8: +/* 010FA8 700103A8 3C018003 */ lui $at, %hi(__osIntOffTable) +/* 010FAC 700103AC 002A0821 */ addu $at, $at, $t2 +/* 010FB0 700103B0 902A9440 */ lbu $t2, %lo(__osIntOffTable)($at) +/* 010FB4 700103B4 3C018003 */ lui $at, %hi(__osIntTable) +/* 010FB8 700103B8 002A0821 */ addu $at, $at, $t2 +/* 010FBC 700103BC 8C2A9460 */ lw $t2, %lo(__osIntTable)($at) +/* 010FC0 700103C0 01400008 */ jr $t2 +/* 010FC4 700103C4 00000000 */ nop +glabel IP6_Hdlr +/* 010FC8 700103C8 2401DFFF */ li $at, -8193 +/* 010FCC 700103CC 1000FFF0 */ b .L70010390 +/* 010FD0 700103D0 02018024 */ and $s0, $s0, $at +glabel IP7_Hdlr +/* 010FD4 700103D4 2401BFFF */ li $at, -16385 +/* 010FD8 700103D8 1000FFED */ b .L70010390 +/* 010FDC 700103DC 02018024 */ and $s0, $s0, $at +glabel counter +/* 010FE0 700103E0 40095800 */ mfc0 $t1, $11 +/* 010FE4 700103E4 40895800 */ mtc0 $t1, $11 +/* 010FE8 700103E8 0C0041B1 */ jal send_mesg +/* 010FEC 700103EC 24040018 */ li $a0, 24 +/* 010FF0 700103F0 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 010FF4 700103F4 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 010FF8 700103F8 1000FFE5 */ b .L70010390 +/* 010FFC 700103FC 02018024 */ and $s0, $s0, $at +glabel cart +/* 011000 70010400 2401F7FF */ li $at, -2049 +/* 011004 70010404 02018024 */ and $s0, $s0, $at +/* 011008 70010408 240A0004 */ li $t2, 4 +/* 01100C 7001040C 3C018002 */ lui $at, %hi(__osHwIntTable) +/* 011010 70010410 002A0821 */ addu $at, $at, $t2 +/* 011014 70010414 8C2A7700 */ lw $t2, %lo(__osHwIntTable)($at) +/* 011018 70010418 3C1D8006 */ lui $sp, %hi(leoDiskStack) # $sp, 0x8006 +/* 01101C 7001041C 27BD7DF0 */ addiu $sp, %lo(leoDiskStack) # addiu $sp, $sp, 0x7df0 +/* 011020 70010420 24040010 */ li $a0, 16 +/* 011024 70010424 11400007 */ beqz $t2, .L70010444 +/* 011028 70010428 27BD0FF0 */ addiu $sp, $sp, 0xff0 +/* 01102C 7001042C 0140F809 */ jalr $t2 +/* 011030 70010430 00000000 */ nop +/* 011034 70010434 10400003 */ beqz $v0, .L70010444 +/* 011038 70010438 00000000 */ nop +/* 01103C 7001043C 10000082 */ b .L70010648 +/* 011040 70010440 00000000 */ nop +.L70010444: +/* 011044 70010444 0C0041B1 */ jal send_mesg +/* 011048 70010448 00000000 */ nop +/* 01104C 7001044C 1000FFD0 */ b .L70010390 +/* 011050 70010450 00000000 */ nop +glabel rcp +/* 011054 70010454 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 011058 70010458 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 01105C 7001045C 8D080000 */ lw $t0, ($t0) +/* 011060 70010460 3C11A430 */ lui $s1, %hi(MI_INTR_REG) # $s1, 0xa430 +/* 011064 70010464 8E310008 */ lw $s1, %lo(MI_INTR_REG)($s1) +/* 011068 70010468 00084402 */ srl $t0, $t0, 0x10 +/* 01106C 7001046C 02288824 */ and $s1, $s1, $t0 +/* 011070 70010470 32290001 */ andi $t1, $s1, 1 +/* 011074 70010474 11200013 */ beqz $t1, .L700104C4 +/* 011078 70010478 00000000 */ nop +/* 01107C 7001047C 3C0CA404 */ lui $t4, %hi(SP_STATUS_REG) # $t4, 0xa404 +/* 011080 70010480 8D8C0010 */ lw $t4, %lo(SP_STATUS_REG)($t4) +/* 011084 70010484 24090008 */ li $t1, 8 +/* 011088 70010488 3C01A404 */ lui $at, %hi(SP_STATUS_REG) # $at, 0xa404 +/* 01108C 7001048C 318C0300 */ andi $t4, $t4, 0x300 +/* 011090 70010490 3231003E */ andi $s1, $s1, 0x3e +/* 011094 70010494 11800007 */ beqz $t4, .L700104B4 +/* 011098 70010498 AC290010 */ sw $t1, %lo(SP_STATUS_REG)($at) +/* 01109C 7001049C 0C0041B1 */ jal send_mesg +/* 0110A0 700104A0 24040020 */ li $a0, 32 +/* 0110A4 700104A4 12200038 */ beqz $s1, .L70010588 +/* 0110A8 700104A8 00000000 */ nop +/* 0110AC 700104AC 10000005 */ b .L700104C4 +/* 0110B0 700104B0 00000000 */ nop +.L700104B4: +/* 0110B4 700104B4 0C0041B1 */ jal send_mesg +/* 0110B8 700104B8 24040058 */ li $a0, 88 +/* 0110BC 700104BC 12200032 */ beqz $s1, .L70010588 +/* 0110C0 700104C0 00000000 */ nop +.L700104C4: +/* 0110C4 700104C4 32290008 */ andi $t1, $s1, 8 +/* 0110C8 700104C8 11200007 */ beqz $t1, .L700104E8 +/* 0110CC 700104CC 3C01A440 */ lui $at, %hi(VI_CURRENT_REG) # $at, 0xa440 +/* 0110D0 700104D0 32310037 */ andi $s1, $s1, 0x37 +/* 0110D4 700104D4 AC200010 */ sw $zero, %lo(VI_CURRENT_REG)($at) +/* 0110D8 700104D8 0C0041B1 */ jal send_mesg +/* 0110DC 700104DC 24040038 */ li $a0, 56 +/* 0110E0 700104E0 12200029 */ beqz $s1, .L70010588 +/* 0110E4 700104E4 00000000 */ nop +.L700104E8: +/* 0110E8 700104E8 32290004 */ andi $t1, $s1, 4 +/* 0110EC 700104EC 11200009 */ beqz $t1, .L70010514 +/* 0110F0 700104F0 00000000 */ nop +/* 0110F4 700104F4 24090001 */ li $t1, 1 +/* 0110F8 700104F8 3C01A450 */ lui $at, %hi(AI_STATUS_REG) # $at, 0xa450 +/* 0110FC 700104FC 3231003B */ andi $s1, $s1, 0x3b +/* 011100 70010500 AC29000C */ sw $t1, %lo(AI_STATUS_REG)($at) +/* 011104 70010504 0C0041B1 */ jal send_mesg +/* 011108 70010508 24040030 */ li $a0, 48 +/* 01110C 7001050C 1220001E */ beqz $s1, .L70010588 +/* 011110 70010510 00000000 */ nop +.L70010514: +/* 011114 70010514 32290002 */ andi $t1, $s1, 2 +/* 011118 70010518 11200007 */ beqz $t1, .L70010538 +/* 01111C 7001051C 3C01A480 */ lui $at, %hi(SI_STATUS_REG) # $at, 0xa480 +/* 011120 70010520 3231003D */ andi $s1, $s1, 0x3d +/* 011124 70010524 AC200018 */ sw $zero, %lo(SI_STATUS_REG)($at) +/* 011128 70010528 0C0041B1 */ jal send_mesg +/* 01112C 7001052C 24040028 */ li $a0, 40 +/* 011130 70010530 12200015 */ beqz $s1, .L70010588 +/* 011134 70010534 00000000 */ nop +.L70010538: +/* 011138 70010538 32290010 */ andi $t1, $s1, 0x10 +/* 01113C 7001053C 11200009 */ beqz $t1, .L70010564 +/* 011140 70010540 00000000 */ nop +/* 011144 70010544 24090002 */ li $t1, 2 +/* 011148 70010548 3C01A460 */ lui $at, %hi(PI_STATUS_REG) # $at, 0xa460 +/* 01114C 7001054C 3231002F */ andi $s1, $s1, 0x2f +/* 011150 70010550 AC290010 */ sw $t1, %lo(PI_STATUS_REG)($at) +/* 011154 70010554 0C0041B1 */ jal send_mesg +/* 011158 70010558 24040040 */ li $a0, 64 +/* 01115C 7001055C 1220000A */ beqz $s1, .L70010588 +/* 011160 70010560 00000000 */ nop +.L70010564: +/* 011164 70010564 32290020 */ andi $t1, $s1, 0x20 +/* 011168 70010568 11200007 */ beqz $t1, .L70010588 +/* 01116C 7001056C 00000000 */ nop +/* 011170 70010570 24090800 */ li $t1, 2048 +/* 011174 70010574 3C01A430 */ lui $at, 0xa430 +/* 011178 70010578 3231001F */ andi $s1, $s1, 0x1f +/* 01117C 7001057C AC290000 */ sw $t1, ($at) +/* 011180 70010580 0C0041B1 */ jal send_mesg +/* 011184 70010584 24040048 */ li $a0, 72 +.L70010588: +/* 011188 70010588 2401FBFF */ li $at, -1025 +/* 01118C 7001058C 1000FF80 */ b .L70010390 +/* 011190 70010590 02018024 */ and $s0, $s0, $at +glabel prenmi +/* 011194 70010594 8F5B0118 */ lw $k1, 0x118($k0) +/* 011198 70010598 2401EFFF */ li $at, -4097 +/* 01119C 7001059C 3C098002 */ lui $t1, %hi(__osShutdown) +/* 0111A0 700105A0 0361D824 */ and $k1, $k1, $at +/* 0111A4 700105A4 AF5B0118 */ sw $k1, 0x118($k0) +/* 0111A8 700105A8 25296988 */ addiu $t1, %lo(__osShutdown) # addiu $t1, $t1, 0x6988 +/* 0111AC 700105AC 8D2A0000 */ lw $t2, ($t1) +/* 0111B0 700105B0 11400003 */ beqz $t2, .L700105C0 +/* 0111B4 700105B4 2401EFFF */ li $at, -4097 +/* 0111B8 700105B8 10000023 */ b .L70010648 +/* 0111BC 700105BC 02018024 */ and $s0, $s0, $at +.L700105C0: +/* 0111C0 700105C0 240A0001 */ li $t2, 1 +/* 0111C4 700105C4 AD2A0000 */ sw $t2, ($t1) +/* 0111C8 700105C8 0C0041B1 */ jal send_mesg +/* 0111CC 700105CC 24040070 */ li $a0, 112 +/* 0111D0 700105D0 3C0A8002 */ lui $t2, %hi(__osRunQueue) +/* 0111D4 700105D4 8D4A7728 */ lw $t2, %lo(__osRunQueue)($t2) +/* 0111D8 700105D8 2401EFFF */ li $at, -4097 +/* 0111DC 700105DC 02018024 */ and $s0, $s0, $at +/* 0111E0 700105E0 8D5B0118 */ lw $k1, 0x118($t2) +/* 0111E4 700105E4 0361D824 */ and $k1, $k1, $at +/* 0111E8 700105E8 10000017 */ b .L70010648 +/* 0111EC 700105EC AD5B0118 */ sw $k1, 0x118($t2) +glabel sw2 +/* 0111F0 700105F0 2401FDFF */ li $at, -513 +/* 0111F4 700105F4 01014024 */ and $t0, $t0, $at +/* 0111F8 700105F8 40886800 */ mtc0 $t0, $13 +/* 0111FC 700105FC 0C0041B1 */ jal send_mesg +/* 011200 70010600 24040008 */ li $a0, 8 +/* 011204 70010604 2401FDFF */ li $at, -513 +/* 011208 70010608 1000FF61 */ b .L70010390 +/* 01120C 7001060C 02018024 */ and $s0, $s0, $at +glabel swl +/* 011210 70010610 2401FEFF */ li $at, -257 +/* 011214 70010614 01014024 */ and $t0, $t0, $at +/* 011218 70010618 40886800 */ mtc0 $t0, $13 +/* 01121C 7001061C 0C0041B1 */ jal send_mesg +/* 011220 70010620 24040000 */ li $a0, 0 +/* 011224 70010624 2401FEFF */ li $at, -257 +/* 011228 70010628 1000FF59 */ b .L70010390 +/* 01122C 7001062C 02018024 */ and $s0, $s0, $at +.L70010630: +/* 011230 70010630 24090001 */ li $t1, 1 +/* 011234 70010634 A7490012 */ sh $t1, 0x12($k0) +/* 011238 70010638 0C0041B1 */ jal send_mesg +/* 01123C 7001063C 24040050 */ li $a0, 80 +/* 011240 70010640 10000001 */ b .L70010648 +/* 011244 70010644 00000000 */ nop +glabel redispatch +.L70010648: +/* 011248 70010648 3C0A8002 */ lui $t2, %hi(__osRunQueue) +/* 01124C 7001064C 8D4A7728 */ lw $t2, %lo(__osRunQueue)($t2) +/* 011250 70010650 8F490004 */ lw $t1, 4($k0) +/* 011254 70010654 8D4B0004 */ lw $t3, 4($t2) +/* 011258 70010658 012B082A */ slt $at, $t1, $t3 +/* 01125C 7001065C 10200007 */ beqz $at, .L7001067C +/* 011260 70010660 00000000 */ nop +/* 011264 70010664 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 011268 70010668 03402825 */ move $a1, $k0 +/* 01126C 7001066C 0C00422B */ jal __osEnqueueThread +/* 011270 70010670 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 011274 70010674 08004241 */ j __osDispatchThread +/* 011278 70010678 00000000 */ nop + +glabel enqueueRunning +.L7001067C: +/* 01127C 7001067C 3C098002 */ lui $t1, %hi(__osRunQueue) +/* 011280 70010680 25297728 */ addiu $t1, %lo(__osRunQueue) # addiu $t1, $t1, 0x7728 +/* 011284 70010684 8D2A0000 */ lw $t2, ($t1) +/* 011288 70010688 AF4A0000 */ sw $t2, ($k0) +/* 01128C 7001068C 08004241 */ j __osDispatchThread +/* 011290 70010690 AD3A0000 */ sw $k0, ($t1) + +.L70010694: +/* 011294 70010694 3C018002 */ lui $at, %hi(__osFaultedThread) +/* 011298 70010698 AC3A7734 */ sw $k0, %lo(__osFaultedThread)($at) +/* 01129C 7001069C 24090001 */ li $t1, 1 +/* 0112A0 700106A0 A7490010 */ sh $t1, 0x10($k0) +/* 0112A4 700106A4 24090002 */ li $t1, 2 +/* 0112A8 700106A8 A7490012 */ sh $t1, 0x12($k0) +/* 0112AC 700106AC 400A4000 */ mfc0 $t2, $8 +/* 0112B0 700106B0 AF4A0124 */ sw $t2, 0x124($k0) +/* 0112B4 700106B4 0C0041B1 */ jal send_mesg +/* 0112B8 700106B8 24040060 */ li $a0, 96 +/* 0112BC 700106BC 08004241 */ j __osDispatchThread +/* 0112C0 700106C0 00000000 */ nop + +glabel send_mesg +/* 0112C4 700106C4 3C0A8006 */ lui $t2, %hi(__osEventStateTab) +/* 0112C8 700106C8 254A6A10 */ addiu $t2, %lo(__osEventStateTab) # addiu $t2, $t2, 0x6a10 +/* 0112CC 700106CC 01445021 */ addu $t2, $t2, $a0 +/* 0112D0 700106D0 8D490000 */ lw $t1, ($t2) +/* 0112D4 700106D4 03E09025 */ move $s2, $ra +/* 0112D8 700106D8 11200025 */ beqz $t1, .L70010770 +/* 0112DC 700106DC 00000000 */ nop +/* 0112E0 700106E0 8D2B0008 */ lw $t3, 8($t1) +/* 0112E4 700106E4 8D2C0010 */ lw $t4, 0x10($t1) +/* 0112E8 700106E8 016C082A */ slt $at, $t3, $t4 +/* 0112EC 700106EC 10200020 */ beqz $at, .L70010770 +/* 0112F0 700106F0 00000000 */ nop +/* 0112F4 700106F4 8D2D000C */ lw $t5, 0xc($t1) +/* 0112F8 700106F8 01AB6821 */ addu $t5, $t5, $t3 +/* 0112FC 700106FC 01AC001A */ div $zero, $t5, $t4 +/* 011300 70010700 15800002 */ bnez $t4, .L7001070C +/* 011304 70010704 00000000 */ nop +/* 011308 70010708 0007000D */ break 7 +.L7001070C: +/* 01130C 7001070C 2401FFFF */ li $at, -1 +/* 011310 70010710 15810004 */ bne $t4, $at, .L70010724 +/* 011314 70010714 3C018000 */ lui $at, 0x8000 +/* 011318 70010718 15A10002 */ bne $t5, $at, .L70010724 +/* 01131C 7001071C 00000000 */ nop +/* 011320 70010720 0006000D */ break 6 +.L70010724: +/* 011324 70010724 8D2C0014 */ lw $t4, 0x14($t1) +/* 011328 70010728 00006810 */ mfhi $t5 +/* 01132C 7001072C 000D6880 */ sll $t5, $t5, 2 +/* 011330 70010730 018D6021 */ addu $t4, $t4, $t5 +/* 011334 70010734 8D4D0004 */ lw $t5, 4($t2) +/* 011338 70010738 256A0001 */ addiu $t2, $t3, 1 +/* 01133C 7001073C AD8D0000 */ sw $t5, ($t4) +/* 011340 70010740 AD2A0008 */ sw $t2, 8($t1) +/* 011344 70010744 8D2A0000 */ lw $t2, ($t1) +/* 011348 70010748 8D4B0000 */ lw $t3, ($t2) +/* 01134C 7001074C 11600008 */ beqz $t3, .L70010770 +/* 011350 70010750 00000000 */ nop +/* 011354 70010754 0C00423D */ jal __osPopThread +/* 011358 70010758 01202025 */ move $a0, $t1 +/* 01135C 7001075C 00405025 */ move $t2, $v0 +/* 011360 70010760 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 011364 70010764 01402825 */ move $a1, $t2 +/* 011368 70010768 0C00422B */ jal __osEnqueueThread +/* 01136C 7001076C 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +.L70010770: +/* 011370 70010770 02400008 */ jr $s2 +/* 011374 70010774 00000000 */ nop +glabel handle_CpU +.L70010778: +/* 011378 70010778 3C013000 */ lui $at, 0x3000 +/* 01137C 7001077C 01014824 */ and $t1, $t0, $at +/* 011380 70010780 00094F02 */ srl $t1, $t1, 0x1c +/* 011384 70010784 240A0001 */ li $t2, 1 +/* 011388 70010788 152AFFC2 */ bne $t1, $t2, .L70010694 +/* 01138C 7001078C 00000000 */ nop +/* 011390 70010790 8F5B0118 */ lw $k1, 0x118($k0) +/* 011394 70010794 3C012000 */ lui $at, 0x2000 +/* 011398 70010798 24090001 */ li $t1, 1 +/* 01139C 7001079C 0361D825 */ or $k1, $k1, $at +/* 0113A0 700107A0 AF490018 */ sw $t1, 0x18($k0) +/* 0113A4 700107A4 1000FFB5 */ b .L7001067C +/* 0113A8 700107A8 AF5B0118 */ sw $k1, 0x118($k0) +glabel __osEnqueueAndYield +/* 0113AC 700107AC 3C058002 */ lui $a1, %hi(__osRunningThread) +/* 0113B0 700107B0 8CA57730 */ lw $a1, %lo(__osRunningThread)($a1) +/* 0113B4 700107B4 40086000 */ mfc0 $t0, $12 +/* 0113B8 700107B8 8CBB0018 */ lw $k1, 0x18($a1) +/* 0113BC 700107BC 35080002 */ ori $t0, $t0, 2 +/* 0113C0 700107C0 ACA80118 */ sw $t0, 0x118($a1) +/* 0113C4 700107C4 FCB00098 */ sd $s0, 0x98($a1) +/* 0113C8 700107C8 FCB100A0 */ sd $s1, 0xa0($a1) +/* 0113CC 700107CC FCB200A8 */ sd $s2, 0xa8($a1) +/* 0113D0 700107D0 FCB300B0 */ sd $s3, 0xb0($a1) +/* 0113D4 700107D4 FCB400B8 */ sd $s4, 0xb8($a1) +/* 0113D8 700107D8 FCB500C0 */ sd $s5, 0xc0($a1) +/* 0113DC 700107DC FCB600C8 */ sd $s6, 0xc8($a1) +/* 0113E0 700107E0 FCB700D0 */ sd $s7, 0xd0($a1) +/* 0113E4 700107E4 FCBC00E8 */ sd $gp, 0xe8($a1) +/* 0113E8 700107E8 FCBD00F0 */ sd $sp, 0xf0($a1) +/* 0113EC 700107EC FCBE00F8 */ sd $fp, 0xf8($a1) +/* 0113F0 700107F0 FCBF0100 */ sd $ra, 0x100($a1) +/* 0113F4 700107F4 13600009 */ beqz $k1, .L7001081C +/* 0113F8 700107F8 ACBF011C */ sw $ra, 0x11c($a1) +/* 0113FC 700107FC 445BF800 */ cfc1 $k1, $31 +/* 011400 70010800 F4B40180 */ sdc1 $f20, 0x180($a1) +/* 011404 70010804 F4B60188 */ sdc1 $f22, 0x188($a1) +/* 011408 70010808 F4B80190 */ sdc1 $f24, 0x190($a1) +/* 01140C 7001080C F4BA0198 */ sdc1 $f26, 0x198($a1) +/* 011410 70010810 F4BC01A0 */ sdc1 $f28, 0x1a0($a1) +/* 011414 70010814 F4BE01A8 */ sdc1 $f30, 0x1a8($a1) +/* 011418 70010818 ACBB012C */ sw $k1, 0x12c($a1) +.L7001081C: +/* 01141C 7001081C 8CBB0118 */ lw $k1, 0x118($a1) +/* 011420 70010820 3369FF00 */ andi $t1, $k1, 0xff00 +/* 011424 70010824 1120000D */ beqz $t1, .L7001085C +/* 011428 70010828 00000000 */ nop +/* 01142C 7001082C 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 011430 70010830 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 011434 70010834 8D080000 */ lw $t0, ($t0) +/* 011438 70010838 2401FFFF */ li $at, -1 +/* 01143C 7001083C 01014026 */ xor $t0, $t0, $at +/* 011440 70010840 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 011444 70010844 3108FF00 */ andi $t0, $t0, 0xff00 +/* 011448 70010848 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 01144C 7001084C 01284825 */ or $t1, $t1, $t0 +/* 011450 70010850 0361D824 */ and $k1, $k1, $at +/* 011454 70010854 0369D825 */ or $k1, $k1, $t1 +/* 011458 70010858 ACBB0118 */ sw $k1, 0x118($a1) +.L7001085C: +/* 01145C 7001085C 3C1BA430 */ lui $k1, %hi(MI_INTR_MASK_REG) # $k1, 0xa430 +/* 011460 70010860 8F7B000C */ lw $k1, %lo(MI_INTR_MASK_REG)($k1) +/* 011464 70010864 1360000B */ beqz $k1, .L70010894 +/* 011468 70010868 00000000 */ nop +/* 01146C 7001086C 3C1A8002 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8002 +/* 011470 70010870 275A698C */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x698c +/* 011474 70010874 8F5A0000 */ lw $k0, ($k0) +/* 011478 70010878 8CA80128 */ lw $t0, 0x128($a1) +/* 01147C 7001087C 2401FFFF */ li $at, -1 +/* 011480 70010880 001AD402 */ srl $k0, $k0, 0x10 +/* 011484 70010884 0341D026 */ xor $k0, $k0, $at +/* 011488 70010888 335A003F */ andi $k0, $k0, 0x3f +/* 01148C 7001088C 0348D024 */ and $k0, $k0, $t0 +/* 011490 70010890 037AD825 */ or $k1, $k1, $k0 +.L70010894: +/* 011494 70010894 10800003 */ beqz $a0, .L700108A4 +/* 011498 70010898 ACBB0128 */ sw $k1, 0x128($a1) +/* 01149C 7001089C 0C00422B */ jal __osEnqueueThread +/* 0114A0 700108A0 00000000 */ nop +.L700108A4: +/* 0114A4 700108A4 08004241 */ j __osDispatchThread +/* 0114A8 700108A8 00000000 */ nop + +glabel __osEnqueueThread +/* 0114AC 700108AC 8C980000 */ lw $t8, ($a0) +/* 0114B0 700108B0 8CAF0004 */ lw $t7, 4($a1) +/* 0114B4 700108B4 0080C825 */ move $t9, $a0 +/* 0114B8 700108B8 8F0E0004 */ lw $t6, 4($t8) +/* 0114BC 700108BC 01CF082A */ slt $at, $t6, $t7 +/* 0114C0 700108C0 14200007 */ bnez $at, .L700108E0 +/* 0114C4 700108C4 00000000 */ nop +.L700108C8: +/* 0114C8 700108C8 0300C825 */ move $t9, $t8 +/* 0114CC 700108CC 8F180000 */ lw $t8, ($t8) +/* 0114D0 700108D0 8F0E0004 */ lw $t6, 4($t8) +/* 0114D4 700108D4 01CF082A */ slt $at, $t6, $t7 +/* 0114D8 700108D8 1020FFFB */ beqz $at, .L700108C8 +/* 0114DC 700108DC 00000000 */ nop +.L700108E0: +/* 0114E0 700108E0 8F380000 */ lw $t8, ($t9) +/* 0114E4 700108E4 ACB80000 */ sw $t8, ($a1) +/* 0114E8 700108E8 AF250000 */ sw $a1, ($t9) +/* 0114EC 700108EC 03E00008 */ jr $ra +/* 0114F0 700108F0 ACA40008 */ sw $a0, 8($a1) + +glabel __osPopThread +/* 0114F4 700108F4 8C820000 */ lw $v0, ($a0) +/* 0114F8 700108F8 8C590000 */ lw $t9, ($v0) +/* 0114FC 700108FC 03E00008 */ jr $ra +/* 011500 70010900 AC990000 */ sw $t9, ($a0) + +glabel __osDispatchThread +/* 011504 70010904 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 011508 70010908 0C00423D */ jal __osPopThread +/* 01150C 7001090C 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 011510 70010910 3C018002 */ lui $at, %hi(__osRunningThread) +/* 011514 70010914 AC227730 */ sw $v0, %lo(__osRunningThread)($at) +/* 011518 70010918 24080004 */ li $t0, 4 +/* 01151C 7001091C A4480010 */ sh $t0, 0x10($v0) +/* 011520 70010920 0040D025 */ move $k0, $v0 +glabel __osDispatchThreadSave +/* 011524 70010924 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 011528 70010928 8F5B0118 */ lw $k1, 0x118($k0) +/* 01152C 7001092C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 011530 70010930 8D080000 */ lw $t0, ($t0) +/* 011534 70010934 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 011538 70010938 3369FF00 */ andi $t1, $k1, 0xff00 +/* 01153C 7001093C 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 011540 70010940 3108FF00 */ andi $t0, $t0, 0xff00 +/* 011544 70010944 01284824 */ and $t1, $t1, $t0 +/* 011548 70010948 0361D824 */ and $k1, $k1, $at +/* 01154C 7001094C 0369D825 */ or $k1, $k1, $t1 +/* 011550 70010950 409B6000 */ mtc0 $k1, $12 +/* 011554 70010954 DF5B0108 */ ld $k1, 0x108($k0) +/* 011558 70010958 DF410020 */ ld $at, 0x20($k0) +/* 01155C 7001095C DF420028 */ ld $v0, 0x28($k0) +/* 011560 70010960 03600013 */ mtlo $k1 +/* 011564 70010964 DF5B0110 */ ld $k1, 0x110($k0) +/* 011568 70010968 DF430030 */ ld $v1, 0x30($k0) +/* 01156C 7001096C DF440038 */ ld $a0, 0x38($k0) +/* 011570 70010970 DF450040 */ ld $a1, 0x40($k0) +/* 011574 70010974 DF460048 */ ld $a2, 0x48($k0) +/* 011578 70010978 DF470050 */ ld $a3, 0x50($k0) +/* 01157C 7001097C DF480058 */ ld $t0, 0x58($k0) +/* 011580 70010980 DF490060 */ ld $t1, 0x60($k0) +/* 011584 70010984 DF4A0068 */ ld $t2, 0x68($k0) +/* 011588 70010988 DF4B0070 */ ld $t3, 0x70($k0) +/* 01158C 7001098C DF4C0078 */ ld $t4, 0x78($k0) +/* 011590 70010990 DF4D0080 */ ld $t5, 0x80($k0) +/* 011594 70010994 DF4E0088 */ ld $t6, 0x88($k0) +/* 011598 70010998 DF4F0090 */ ld $t7, 0x90($k0) +/* 01159C 7001099C DF500098 */ ld $s0, 0x98($k0) +/* 0115A0 700109A0 DF5100A0 */ ld $s1, 0xa0($k0) +/* 0115A4 700109A4 DF5200A8 */ ld $s2, 0xa8($k0) +/* 0115A8 700109A8 DF5300B0 */ ld $s3, 0xb0($k0) +/* 0115AC 700109AC DF5400B8 */ ld $s4, 0xb8($k0) +/* 0115B0 700109B0 DF5500C0 */ ld $s5, 0xc0($k0) +/* 0115B4 700109B4 DF5600C8 */ ld $s6, 0xc8($k0) +/* 0115B8 700109B8 DF5700D0 */ ld $s7, 0xd0($k0) +/* 0115BC 700109BC DF5800D8 */ ld $t8, 0xd8($k0) +/* 0115C0 700109C0 DF5900E0 */ ld $t9, 0xe0($k0) +/* 0115C4 700109C4 DF5C00E8 */ ld $gp, 0xe8($k0) +/* 0115C8 700109C8 03600011 */ mthi $k1 +/* 0115CC 700109CC DF5D00F0 */ ld $sp, 0xf0($k0) +/* 0115D0 700109D0 DF5E00F8 */ ld $fp, 0xf8($k0) +/* 0115D4 700109D4 DF5F0100 */ ld $ra, 0x100($k0) +/* 0115D8 700109D8 8F5B011C */ lw $k1, 0x11c($k0) +/* 0115DC 700109DC 409B7000 */ mtc0 $k1, $14 +/* 0115E0 700109E0 8F5B0018 */ lw $k1, 0x18($k0) +/* 0115E4 700109E4 13600013 */ beqz $k1, .L70010A34 +/* 0115E8 700109E8 00000000 */ nop +/* 0115EC 700109EC 8F5B012C */ lw $k1, 0x12c($k0) +/* 0115F0 700109F0 44DBF800 */ ctc1 $k1, $31 +/* 0115F4 700109F4 D7400130 */ ldc1 $f0, 0x130($k0) +/* 0115F8 700109F8 D7420138 */ ldc1 $f2, 0x138($k0) +/* 0115FC 700109FC D7440140 */ ldc1 $f4, 0x140($k0) +/* 011600 70010A00 D7460148 */ ldc1 $f6, 0x148($k0) +/* 011604 70010A04 D7480150 */ ldc1 $f8, 0x150($k0) +/* 011608 70010A08 D74A0158 */ ldc1 $f10, 0x158($k0) +/* 01160C 70010A0C D74C0160 */ ldc1 $f12, 0x160($k0) +/* 011610 70010A10 D74E0168 */ ldc1 $f14, 0x168($k0) +/* 011614 70010A14 D7500170 */ ldc1 $f16, 0x170($k0) +/* 011618 70010A18 D7520178 */ ldc1 $f18, 0x178($k0) +/* 01161C 70010A1C D7540180 */ ldc1 $f20, 0x180($k0) +/* 011620 70010A20 D7560188 */ ldc1 $f22, 0x188($k0) +/* 011624 70010A24 D7580190 */ ldc1 $f24, 0x190($k0) +/* 011628 70010A28 D75A0198 */ ldc1 $f26, 0x198($k0) +/* 01162C 70010A2C D75C01A0 */ ldc1 $f28, 0x1a0($k0) +/* 011630 70010A30 D75E01A8 */ ldc1 $f30, 0x1a8($k0) +.L70010A34: +/* 011634 70010A34 8F5B0128 */ lw $k1, 0x128($k0) +/* 011638 70010A38 3C1A8002 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8002 +/* 01163C 70010A3C 275A698C */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x698c +/* 011640 70010A40 8F5A0000 */ lw $k0, ($k0) +/* 011644 70010A44 001AD402 */ srl $k0, $k0, 0x10 +/* 011648 70010A48 037AD824 */ and $k1, $k1, $k0 +/* 01164C 70010A4C 001BD840 */ sll $k1, $k1, 1 +/* 011650 70010A50 3C1A8003 */ lui $k0, %hi(__osRcpImTable) # $k0, 0x8003 +/* 011654 70010A54 275A93A0 */ addiu $k0, %lo(__osRcpImTable) # addiu $k0, $k0, -0x6c60 +/* 011658 70010A58 037AD821 */ addu $k1, $k1, $k0 +/* 01165C 70010A5C 977B0000 */ lhu $k1, ($k1) +/* 011660 70010A60 3C1AA430 */ lui $k0, %hi(MI_INTR_MASK_REG) # $k0, 0xa430 +/* 011664 70010A64 275A000C */ addiu $k0, %lo(MI_INTR_MASK_REG) # addiu $k0, $k0, 0xc +/* 011668 70010A68 AF5B0000 */ sw $k1, ($k0) +/* 01166C 70010A6C 00000000 */ nop +/* 011670 70010A70 00000000 */ nop +/* 011674 70010A74 00000000 */ nop +/* 011678 70010A78 00000000 */ nop +/* 01167C 70010A7C 42000018 */ eret +glabel __osCleanupThread +/* 011680 70010A80 0C006ED8 */ jal osDestroyThread +/* 011684 70010A84 00002025 */ move $a0, $zero + + +.section .data +/*80027704*/ +glabel __osHwIntTable +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 + +.section .rodata +/*80029440*/ +glabel __osIntOffTable +.byte 0,0x14,0x18,0x18,0x1C,0x1C,0x1C,0x1C +.byte 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20 +.byte 0, 4, 8, 8, 0xC, 0xC, 0xC, 0xC +.byte 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 + +/*80029460*/ +glabel __osIntTable +.word redispatch +.word swl +.word sw2 +.word rcp +.word cart +.word prenmi +.word IP6_Hdlr +.word IP7_Hdlr +.word counter diff --git a/src/libultra/guPerspective.s b/src/libultra/guPerspective.s new file mode 100644 index 00000000..f054de8b --- /dev/null +++ b/src/libultra/guPerspective.s @@ -0,0 +1,182 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel guPerspectiveF +/* 010880 7000FC80 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 010884 7000FC84 44867000 */ mtc1 $a2, $f14 +/* 010888 7000FC88 AFBF0014 */ sw $ra, 0x14($sp) +/* 01088C 7000FC8C AFA7003C */ sw $a3, 0x3c($sp) +/* 010890 7000FC90 AFA40030 */ sw $a0, 0x30($sp) +/* 010894 7000FC94 AFA50034 */ sw $a1, 0x34($sp) +/* 010898 7000FC98 0C004004 */ jal guMtxIdentF +/* 01089C 7000FC9C E7AE0038 */ swc1 $f14, 0x38($sp) +/* 0108A0 7000FCA0 C7AE0038 */ lwc1 $f14, 0x38($sp) +/* 0108A4 7000FCA4 3C018003 */ lui $at, %hi(F64_80029430) #0x80030000 +/* 0108A8 7000FCA8 D4269430 */ ldc1 $f6, %lo(F64_80029430)($at) # -0x6bd0($at) +/* 0108AC 7000FCAC 46007121 */ cvt.d.s $f4, $f14 +/* 0108B0 7000FCB0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0108B4 7000FCB4 46262202 */ mul.d $f8, $f4, $f6 +/* 0108B8 7000FCB8 44815000 */ mtc1 $at, $f10 +/* 0108BC 7000FCBC 462043A0 */ cvt.s.d $f14, $f8 +/* 0108C0 7000FCC0 460A7303 */ div.s $f12, $f14, $f10 +/* 0108C4 7000FCC4 0FC15FA8 */ jal cosf +/* 0108C8 7000FCC8 E7AC001C */ swc1 $f12, 0x1c($sp) +/* 0108CC 7000FCCC C7AC001C */ lwc1 $f12, 0x1c($sp) +/* 0108D0 7000FCD0 0FC15FAB */ jal sinf +/* 0108D4 7000FCD4 E7A00020 */ swc1 $f0, 0x20($sp) +/* 0108D8 7000FCD8 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 0108DC 7000FCDC C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 0108E0 7000FCE0 C7AE0040 */ lwc1 $f14, 0x40($sp) +/* 0108E4 7000FCE4 46002083 */ div.s $f2, $f4, $f0 +/* 0108E8 7000FCE8 C7B00044 */ lwc1 $f16, 0x44($sp) +/* 0108EC 7000FCEC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 0108F0 7000FCF0 44812000 */ mtc1 $at, $f4 +/* 0108F4 7000FCF4 46107480 */ add.s $f18, $f14, $f16 +/* 0108F8 7000FCF8 8FA20030 */ lw $v0, 0x30($sp) +/* 0108FC 7000FCFC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 010900 7000FD00 46107301 */ sub.s $f12, $f14, $f16 +/* 010904 7000FD04 8FA50034 */ lw $a1, 0x34($sp) +/* 010908 7000FD08 E444002C */ swc1 $f4, 0x2c($v0) +/* 01090C 7000FD0C 00001825 */ move $v1, $zero +/* 010910 7000FD10 24040004 */ li $a0, 4 +/* 010914 7000FD14 460C9283 */ div.s $f10, $f18, $f12 +/* 010918 7000FD18 E4420014 */ swc1 $f2, 0x14($v0) +/* 01091C 7000FD1C 46061203 */ div.s $f8, $f2, $f6 +/* 010920 7000FD20 44813000 */ mtc1 $at, $f6 +/* 010924 7000FD24 E44A0028 */ swc1 $f10, 0x28($v0) +/* 010928 7000FD28 E4480000 */ swc1 $f8, ($v0) +/* 01092C 7000FD2C 460E3202 */ mul.s $f8, $f6, $f14 +/* 010930 7000FD30 44803000 */ mtc1 $zero, $f6 +/* 010934 7000FD34 00000000 */ nop +/* 010938 7000FD38 E446003C */ swc1 $f6, 0x3c($v0) +/* 01093C 7000FD3C 46104282 */ mul.s $f10, $f8, $f16 +/* 010940 7000FD40 460C5103 */ div.s $f4, $f10, $f12 +/* 010944 7000FD44 E4440038 */ swc1 $f4, 0x38($v0) +/* 010948 7000FD48 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 01094C 7000FD4C C4460000 */ lwc1 $f6, ($v0) +/* 010950 7000FD50 24630001 */ addiu $v1, $v1, 1 +/* 010954 7000FD54 C4500004 */ lwc1 $f16, 4($v0) +/* 010958 7000FD58 46003282 */ mul.s $f10, $f6, $f0 +/* 01095C 7000FD5C C44C0008 */ lwc1 $f12, 8($v0) +/* 010960 7000FD60 10640010 */ beq $v1, $a0, .L7000FDA4 +/* 010964 7000FD64 C44E000C */ lwc1 $f14, 0xc($v0) +.L7000FD68: +/* 010968 7000FD68 46008202 */ mul.s $f8, $f16, $f0 +/* 01096C 7000FD6C C4460010 */ lwc1 $f6, 0x10($v0) +/* 010970 7000FD70 C4500014 */ lwc1 $f16, 0x14($v0) +/* 010974 7000FD74 46006102 */ mul.s $f4, $f12, $f0 +/* 010978 7000FD78 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 01097C 7000FD7C 24630001 */ addiu $v1, $v1, 1 +/* 010980 7000FD80 46007082 */ mul.s $f2, $f14, $f0 +/* 010984 7000FD84 C44E001C */ lwc1 $f14, 0x1c($v0) +/* 010988 7000FD88 E44A0000 */ swc1 $f10, ($v0) +/* 01098C 7000FD8C 46003282 */ mul.s $f10, $f6, $f0 +/* 010990 7000FD90 E4480004 */ swc1 $f8, 4($v0) +/* 010994 7000FD94 E4440008 */ swc1 $f4, 8($v0) +/* 010998 7000FD98 24420010 */ addiu $v0, $v0, 0x10 +/* 01099C 7000FD9C 1464FFF2 */ bne $v1, $a0, .L7000FD68 +/* 0109A0 7000FDA0 E442FFFC */ swc1 $f2, -4($v0) +.L7000FDA4: +/* 0109A4 7000FDA4 46008202 */ mul.s $f8, $f16, $f0 +/* 0109A8 7000FDA8 24420010 */ addiu $v0, $v0, 0x10 +/* 0109AC 7000FDAC E44AFFF0 */ swc1 $f10, -0x10($v0) +/* 0109B0 7000FDB0 46006102 */ mul.s $f4, $f12, $f0 +/* 0109B4 7000FDB4 00000000 */ nop +/* 0109B8 7000FDB8 46007082 */ mul.s $f2, $f14, $f0 +/* 0109BC 7000FDBC E448FFF4 */ swc1 $f8, -0xc($v0) +/* 0109C0 7000FDC0 E444FFF8 */ swc1 $f4, -8($v0) +/* 0109C4 7000FDC4 E442FFFC */ swc1 $f2, -4($v0) +/* 0109C8 7000FDC8 10A00035 */ beqz $a1, .L7000FEA0 +/* 0109CC 7000FDCC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0109D0 7000FDD0 44814800 */ mtc1 $at, $f9 +/* 0109D4 7000FDD4 44804000 */ mtc1 $zero, $f8 +/* 0109D8 7000FDD8 46009021 */ cvt.d.s $f0, $f18 +/* 0109DC 7000FDDC 340EFFFF */ li $t6, 65535 +/* 0109E0 7000FDE0 4628003E */ c.le.d $f0, $f8 +/* 0109E4 7000FDE4 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0109E8 7000FDE8 45020004 */ bc1fl .L7000FDFC +/* 0109EC 7000FDEC 44815800 */ mtc1 $at, $f11 +/* 0109F0 7000FDF0 1000002B */ b .L7000FEA0 +/* 0109F4 7000FDF4 A4AE0000 */ sh $t6, ($a1) +/* 0109F8 7000FDF8 44815800 */ mtc1 $at, $f11 +.L7000FDFC: +/* 0109FC 7000FDFC 44805000 */ mtc1 $zero, $f10 +/* 010A00 7000FE00 24180001 */ li $t8, 1 +/* 010A04 7000FE04 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 010A08 7000FE08 46205103 */ div.d $f4, $f10, $f0 +/* 010A0C 7000FE0C 24080001 */ li $t0, 1 +/* 010A10 7000FE10 444FF800 */ cfc1 $t7, $31 +/* 010A14 7000FE14 44D8F800 */ ctc1 $t8, $31 +/* 010A18 7000FE18 00000000 */ nop +/* 010A1C 7000FE1C 462021A4 */ cvt.w.d $f6, $f4 +/* 010A20 7000FE20 4458F800 */ cfc1 $t8, $31 +/* 010A24 7000FE24 00000000 */ nop +/* 010A28 7000FE28 33180078 */ andi $t8, $t8, 0x78 +/* 010A2C 7000FE2C 53000014 */ beql $t8, $zero, .L7000FE80 +/* 010A30 7000FE30 44183000 */ mfc1 $t8, $f6 +/* 010A34 7000FE34 44813800 */ mtc1 $at, $f7 +/* 010A38 7000FE38 44803000 */ mtc1 $zero, $f6 +/* 010A3C 7000FE3C 24180001 */ li $t8, 1 +/* 010A40 7000FE40 46262181 */ sub.d $f6, $f4, $f6 +/* 010A44 7000FE44 44D8F800 */ ctc1 $t8, $31 +/* 010A48 7000FE48 00000000 */ nop +/* 010A4C 7000FE4C 462031A4 */ cvt.w.d $f6, $f6 +/* 010A50 7000FE50 4458F800 */ cfc1 $t8, $31 +/* 010A54 7000FE54 00000000 */ nop +/* 010A58 7000FE58 33180078 */ andi $t8, $t8, 0x78 +/* 010A5C 7000FE5C 17000005 */ bnez $t8, .L7000FE74 +/* 010A60 7000FE60 00000000 */ nop +/* 010A64 7000FE64 44183000 */ mfc1 $t8, $f6 +/* 010A68 7000FE68 3C018000 */ lui $at, 0x8000 +/* 010A6C 7000FE6C 10000007 */ b .L7000FE8C +/* 010A70 7000FE70 0301C025 */ or $t8, $t8, $at +.L7000FE74: +/* 010A74 7000FE74 10000005 */ b .L7000FE8C +/* 010A78 7000FE78 2418FFFF */ li $t8, -1 +/* 010A7C 7000FE7C 44183000 */ mfc1 $t8, $f6 +.L7000FE80: +/* 010A80 7000FE80 00000000 */ nop +/* 010A84 7000FE84 0700FFFB */ bltz $t8, .L7000FE74 +/* 010A88 7000FE88 00000000 */ nop +.L7000FE8C: +/* 010A8C 7000FE8C 44CFF800 */ ctc1 $t7, $31 +/* 010A90 7000FE90 3319FFFF */ andi $t9, $t8, 0xffff +/* 010A94 7000FE94 1F200002 */ bgtz $t9, .L7000FEA0 +/* 010A98 7000FE98 A4B80000 */ sh $t8, ($a1) +/* 010A9C 7000FE9C A4A80000 */ sh $t0, ($a1) +.L7000FEA0: +/* 010AA0 7000FEA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 010AA4 7000FEA4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 010AA8 7000FEA8 03E00008 */ jr $ra +/* 010AAC 7000FEAC 00000000 */ nop + +glabel guPerspective +/* 010AB0 7000FEB0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 010AB4 7000FEB4 44866000 */ mtc1 $a2, $f12 +/* 010AB8 7000FEB8 44877000 */ mtc1 $a3, $f14 +/* 010ABC 7000FEBC C7A40078 */ lwc1 $f4, 0x78($sp) +/* 010AC0 7000FEC0 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 010AC4 7000FEC4 C7A80080 */ lwc1 $f8, 0x80($sp) +/* 010AC8 7000FEC8 AFBF0024 */ sw $ra, 0x24($sp) +/* 010ACC 7000FECC AFA40068 */ sw $a0, 0x68($sp) +/* 010AD0 7000FED0 44066000 */ mfc1 $a2, $f12 +/* 010AD4 7000FED4 44077000 */ mfc1 $a3, $f14 +/* 010AD8 7000FED8 27A40028 */ addiu $a0, $sp, 0x28 +/* 010ADC 7000FEDC E7A40010 */ swc1 $f4, 0x10($sp) +/* 010AE0 7000FEE0 E7A60014 */ swc1 $f6, 0x14($sp) +/* 010AE4 7000FEE4 0C003F20 */ jal guPerspectiveF +/* 010AE8 7000FEE8 E7A80018 */ swc1 $f8, 0x18($sp) +/* 010AEC 7000FEEC 27A40028 */ addiu $a0, $sp, 0x28 +/* 010AF0 7000FEF0 0C003FC4 */ jal guMtxF2L +/* 010AF4 7000FEF4 8FA50068 */ lw $a1, 0x68($sp) +/* 010AF8 7000FEF8 8FBF0024 */ lw $ra, 0x24($sp) +/* 010AFC 7000FEFC 27BD0068 */ addiu $sp, $sp, 0x68 +/* 010B00 7000FF00 03E00008 */ jr $ra +/* 010B04 7000FF04 00000000 */ nop + diff --git a/src/libultra/libultra.s b/src/libultra/libultra.s index 8cfc35dd..32cbf725 100644 --- a/src/libultra/libultra.s +++ b/src/libultra/libultra.s @@ -9,10740 +9,7 @@ .include "macros.inc" -.section .text, "ax" -osTvType = 0x80000300; - -glabel osPiRawStartDma -/* 00DB90 7000CF90 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00DB94 7000CF94 AFBF001C */ sw $ra, 0x1c($sp) -/* 00DB98 7000CF98 AFA40028 */ sw $a0, 0x28($sp) -/* 00DB9C 7000CF9C AFA5002C */ sw $a1, 0x2c($sp) -/* 00DBA0 7000CFA0 AFA60030 */ sw $a2, 0x30($sp) -/* 00DBA4 7000CFA4 AFA70034 */ sw $a3, 0x34($sp) -/* 00DBA8 7000CFA8 AFB10018 */ sw $s1, 0x18($sp) -/* 00DBAC 7000CFAC AFB00014 */ sw $s0, 0x14($sp) -/* 00DBB0 7000CFB0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 00DBB4 7000CFB4 8DD00010 */ lw $s0, %lo(PI_STATUS_REG)($t6) -/* 00DBB8 7000CFB8 320F0003 */ andi $t7, $s0, 3 -/* 00DBBC 7000CFBC 11E00006 */ beqz $t7, .L7000CFD8 -/* 00DBC0 7000CFC0 00000000 */ nop -.L7000CFC4: -/* 00DBC4 7000CFC4 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 -/* 00DBC8 7000CFC8 8F100010 */ lw $s0, %lo(PI_STATUS_REG)($t8) -/* 00DBCC 7000CFCC 32190003 */ andi $t9, $s0, 3 -/* 00DBD0 7000CFD0 1720FFFC */ bnez $t9, .L7000CFC4 -/* 00DBD4 7000CFD4 00000000 */ nop -.L7000CFD8: -/* 00DBD8 7000CFD8 0C003A2C */ jal osVirtualToPhysical -/* 00DBDC 7000CFDC 8FA40030 */ lw $a0, 0x30($sp) -/* 00DBE0 7000CFE0 3C08A460 */ lui $t0, 0xa460 -/* 00DBE4 7000CFE4 AD020000 */ sw $v0, ($t0) -/* 00DBE8 7000CFE8 3C098000 */ lui $t1, %hi(osRomBase) -/* 00DBEC 7000CFEC 8D290308 */ lw $t1, %lo(osRomBase)($t1) -/* 00DBF0 7000CFF0 8FAA002C */ lw $t2, 0x2c($sp) -/* 00DBF4 7000CFF4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 00DBF8 7000CFF8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 00DBFC 7000CFFC 012A5825 */ or $t3, $t1, $t2 -/* 00DC00 7000D000 01616024 */ and $t4, $t3, $at -/* 00DC04 7000D004 3C0DA460 */ lui $t5, %hi(PI_CART_ADDR_REG) # $t5, 0xa460 -/* 00DC08 7000D008 ADAC0004 */ sw $t4, %lo(PI_CART_ADDR_REG)($t5) -/* 00DC0C 7000D00C 8FB10028 */ lw $s1, 0x28($sp) -/* 00DC10 7000D010 12200005 */ beqz $s1, .L7000D028 -/* 00DC14 7000D014 24010001 */ li $at, 1 -/* 00DC18 7000D018 12210008 */ beq $s1, $at, .L7000D03C -/* 00DC1C 7000D01C 00000000 */ nop -/* 00DC20 7000D020 1000000B */ b .L7000D050 -/* 00DC24 7000D024 00000000 */ nop -.L7000D028: -/* 00DC28 7000D028 8FAE0034 */ lw $t6, 0x34($sp) -/* 00DC2C 7000D02C 3C18A460 */ lui $t8, %hi(PI_WR_LEN_REG) # $t8, 0xa460 -/* 00DC30 7000D030 25CFFFFF */ addiu $t7, $t6, -1 -/* 00DC34 7000D034 10000008 */ b .L7000D058 -/* 00DC38 7000D038 AF0F000C */ sw $t7, %lo(PI_WR_LEN_REG)($t8) -.L7000D03C: -/* 00DC3C 7000D03C 8FB90034 */ lw $t9, 0x34($sp) -/* 00DC40 7000D040 3C09A460 */ lui $t1, %hi(PI_RD_LEN_REG) # $t1, 0xa460 -/* 00DC44 7000D044 2728FFFF */ addiu $t0, $t9, -1 -/* 00DC48 7000D048 10000003 */ b .L7000D058 -/* 00DC4C 7000D04C AD280008 */ sw $t0, %lo(PI_RD_LEN_REG)($t1) -.L7000D050: -/* 00DC50 7000D050 10000002 */ b .L7000D05C -/* 00DC54 7000D054 2402FFFF */ li $v0, -1 -.L7000D058: -/* 00DC58 7000D058 00001025 */ move $v0, $zero -.L7000D05C: -/* 00DC5C 7000D05C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00DC60 7000D060 8FB00014 */ lw $s0, 0x14($sp) -/* 00DC64 7000D064 8FB10018 */ lw $s1, 0x18($sp) -/* 00DC68 7000D068 03E00008 */ jr $ra -/* 00DC6C 7000D06C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osPiGetStatus -/* 00DC70 7000D070 3C0EA460 */ lui $t6, 0xa460 -/* 00DC74 7000D074 03E00008 */ jr $ra -/* 00DC78 7000D078 8DC20010 */ lw $v0, 0x10($t6) - -/* 00DC7C 7000D07C 00000000 */ nop - -.section .text -glabel osInitialize -/* 00DC80 7000D080 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 00DC84 7000D084 AFBF001C */ sw $ra, 0x1c($sp) -/* 00DC88 7000D088 240E0001 */ li $t6, 1 -/* 00DC8C 7000D08C 3C018006 */ lui $at, %hi(__osFinalRom) -/* 00DC90 7000D090 AFB00018 */ sw $s0, 0x18($sp) -/* 00DC94 7000D094 AFA00038 */ sw $zero, 0x38($sp) -/* 00DC98 7000D098 0C005ECC */ jal __osGetSR -/* 00DC9C 7000D09C AC2E57E0 */ sw $t6, %lo(__osFinalRom)($at) -/* 00DCA0 7000D0A0 00408025 */ move $s0, $v0 -/* 00DCA4 7000D0A4 3C012000 */ lui $at, 0x2000 -/* 00DCA8 7000D0A8 0C005EC8 */ jal __osSetSR -/* 00DCAC 7000D0AC 02012025 */ or $a0, $s0, $at -/* 00DCB0 7000D0B0 3C040100 */ lui $a0, (0x01000800 >> 16) # lui $a0, 0x100 -/* 00DCB4 7000D0B4 0C003508 */ jal __osSetFpcCsr -/* 00DCB8 7000D0B8 34840800 */ ori $a0, (0x01000800 & 0xFFFF) # ori $a0, $a0, 0x800 -/* 00DCBC 7000D0BC 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 -/* 00DCC0 7000D0C0 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc -/* 00DCC4 7000D0C4 0C005ED0 */ jal __osSiRawReadIo -/* 00DCC8 7000D0C8 27A5003C */ addiu $a1, $sp, 0x3c -/* 00DCCC 7000D0CC 10400007 */ beqz $v0, .L7000D0EC -/* 00DCD0 7000D0D0 00000000 */ nop -.L7000D0D4: -/* 00DCD4 7000D0D4 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 -/* 00DCD8 7000D0D8 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc -/* 00DCDC 7000D0DC 0C005ED0 */ jal __osSiRawReadIo -/* 00DCE0 7000D0E0 27A5003C */ addiu $a1, $sp, 0x3c -/* 00DCE4 7000D0E4 1440FFFB */ bnez $v0, .L7000D0D4 -/* 00DCE8 7000D0E8 00000000 */ nop -.L7000D0EC: -/* 00DCEC 7000D0EC 8FA5003C */ lw $a1, 0x3c($sp) -/* 00DCF0 7000D0F0 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 -/* 00DCF4 7000D0F4 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc -/* 00DCF8 7000D0F8 34AF0008 */ ori $t7, $a1, 8 -/* 00DCFC 7000D0FC 0C005EE4 */ jal __osSiRawWriteIo -/* 00DD00 7000D100 01E02825 */ move $a1, $t7 -/* 00DD04 7000D104 10400009 */ beqz $v0, .L7000D12C -/* 00DD08 7000D108 00000000 */ nop -.L7000D10C: -/* 00DD0C 7000D10C 8FA5003C */ lw $a1, 0x3c($sp) -/* 00DD10 7000D110 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 -/* 00DD14 7000D114 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc -/* 00DD18 7000D118 34B80008 */ ori $t8, $a1, 8 -/* 00DD1C 7000D11C 0C005EE4 */ jal __osSiRawWriteIo -/* 00DD20 7000D120 03002825 */ move $a1, $t8 -/* 00DD24 7000D124 1440FFF9 */ bnez $v0, .L7000D10C -/* 00DD28 7000D128 00000000 */ nop -.L7000D12C: -/* 00DD2C 7000D12C 3C087001 */ lui $t0, %hi(__osExceptionPreamble) # $t0, 0x7001 -/* 00DD30 7000D130 25080190 */ addiu $t0, %lo(__osExceptionPreamble) # addiu $t0, $t0, 0x190 -/* 00DD34 7000D134 8D010000 */ lw $at, ($t0) -/* 00DD38 7000D138 3C198000 */ lui $t9, 0x8000 -/* 00DD3C 7000D13C 3C0D7001 */ lui $t5, %hi(__osExceptionPreamble) # $t5, 0x7001 -/* 00DD40 7000D140 AF210000 */ sw $at, ($t9) -/* 00DD44 7000D144 8D0B0004 */ lw $t3, 4($t0) -/* 00DD48 7000D148 25AD0190 */ addiu $t5, %lo(__osExceptionPreamble) # addiu $t5, $t5, 0x190 -/* 00DD4C 7000D14C 3C0C8000 */ lui $t4, 0x8000 -/* 00DD50 7000D150 AF2B0004 */ sw $t3, 4($t9) -/* 00DD54 7000D154 8D010008 */ lw $at, 8($t0) -/* 00DD58 7000D158 358C0080 */ ori $t4, (0x80000080 & 0xFFFF) # ori $t4, $t4, 0x80 -/* 00DD5C 7000D15C 3C097001 */ lui $t1, %hi(__osExceptionPreamble) # $t1, 0x7001 -/* 00DD60 7000D160 AF210008 */ sw $at, 8($t9) -/* 00DD64 7000D164 8D0B000C */ lw $t3, 0xc($t0) -/* 00DD68 7000D168 25290190 */ addiu $t1, %lo(__osExceptionPreamble) # addiu $t1, $t1, 0x190 -/* 00DD6C 7000D16C 3C0A8000 */ lui $t2, 0x8000 -/* 00DD70 7000D170 AF2B000C */ sw $t3, 0xC($t9) -/* 00DD74 7000D174 8DA10000 */ lw $at, 0($t5) -/* 00DD78 7000D178 354A0100 */ ori $t2, (0x80000100 & 0xFFFF) # ori $t2, $t2, 0x100 -/* 00DD7C 7000D17C 3C0E7001 */ lui $t6, %hi(__osExceptionPreamble) # $t6, 0x7001 -/* 00DD80 7000D180 AD810000 */ sw $at, 0($t4) -/* 00DD84 7000D184 8DB80004 */ lw $t8, 4($t5) -/* 00DD88 7000D188 25CE0190 */ addiu $t6, %lo(__osExceptionPreamble) # addiu $t6, $t6, 0x190 -/* 00DD8C 7000D18C 3C0F8000 */ lui $t7, 0x8000 -/* 00DD90 7000D190 AD980004 */ sw $t8, 4($t4) -/* 00DD94 7000D194 8DA10008 */ lw $at, 8($t5) -/* 00DD98 7000D198 35EF0180 */ ori $t7, (0x80000180 & 0xFFFF) # ori $t7, $t7, 0x180 -/* 00DD9C 7000D19C 3C048000 */ lui $a0, 0x8000 -/* 00DDA0 7000D1A0 AD810008 */ sw $at, 8($t4) -/* 00DDA4 7000D1A4 8DB8000C */ lw $t8, 0xc($t5) -/* 00DDA8 7000D1A8 24050190 */ li $a1, 400 -/* 00DDAC 7000D1AC AD98000C */ sw $t8, 0xC($t4) -/* 00DDB0 7000D1B0 8D210000 */ lw $at, 0($t1) -/* 00DDB4 7000D1B4 AD410000 */ sw $at, 0($t2) -/* 00DDB8 7000D1B8 8D2B0004 */ lw $t3, 4($t1) -/* 00DDBC 7000D1BC AD4B0004 */ sw $t3, 4($t2) -/* 00DDC0 7000D1C0 8D210008 */ lw $at, 8($t1) -/* 00DDC4 7000D1C4 AD410008 */ sw $at, 8($t2) -/* 00DDC8 7000D1C8 8D2B000C */ lw $t3, 0xc($t1) -/* 00DDCC 7000D1CC AD4B000C */ sw $t3, 0xC($t2) -/* 00DDD0 7000D1D0 8DC10000 */ lw $at, 0($t6) -/* 00DDD4 7000D1D4 ADE10000 */ sw $at, 0($t7) -/* 00DDD8 7000D1D8 8DD80004 */ lw $t8, 4($t6) -/* 00DDDC 7000D1DC ADF80004 */ sw $t8, 4($t7) -/* 00DDE0 7000D1E0 8DC10008 */ lw $at, 8($t6) -/* 00DDE4 7000D1E4 ADE10008 */ sw $at, 8($t7) -/* 00DDE8 7000D1E8 8DD8000C */ lw $t8, 0xc($t6) -/* 00DDEC 7000D1EC 0C0042F4 */ jal osWritebackDCache -/* 00DDF0 7000D1F0 ADF8000C */ sw $t8, 0xC($t7) -/* 00DDF4 7000D1F4 3C048000 */ lui $a0, 0x8000 -/* 00DDF8 7000D1F8 0C0034D4 */ jal osInvalICache -/* 00DDFC 7000D1FC 24050190 */ li $a1, 400 -/* 00DE00 7000D200 0C0005E0 */ jal osMapTLBRdb -/* 00DE04 7000D204 00000000 */ nop -/* 00DE08 7000D208 24040004 */ li $a0, 4 -/* 00DE0C 7000D20C 0C005EF8 */ jal osPiRawReadIo -/* 00DE10 7000D210 27A50038 */ addiu $a1, $sp, 0x38 -/* 00DE14 7000D214 8FA80038 */ lw $t0, 0x38($sp) -/* 00DE18 7000D218 2401FFF0 */ li $at, -16 -/* 00DE1C 7000D21C 0101C824 */ and $t9, $t0, $at -/* 00DE20 7000D220 13200006 */ beqz $t9, .L7000D23C -/* 00DE24 7000D224 AFB90038 */ sw $t9, 0x38($sp) -/* 00DE28 7000D228 3C018002 */ lui $at, %hi(osClockRate) -/* 00DE2C 7000D22C 03205825 */ move $t3, $t9 -/* 00DE30 7000D230 240A0000 */ li $t2, 0 -/* 00DE34 7000D234 AC2A6980 */ sw $t2, %lo(osClockRate)($at) -/* 00DE38 7000D238 AC2B6984 */ sw $t3, %lo(osClockRate+4)($at) -.L7000D23C: -/* 00DE3C 7000D23C 3C048002 */ lui $a0, %hi(osClockRate) -/* 00DE40 7000D240 3C058002 */ lui $a1, %hi(osClockRate) -/* 00DE44 7000D244 8CA56984 */ lw $a1, %lo(osClockRate+4)($a1) -/* 00DE48 7000D248 8C846980 */ lw $a0, %lo(osClockRate)($a0) -/* 00DE4C 7000D24C 24060000 */ li $a2, 0 -/* 00DE50 7000D250 0C003B6A */ jal __ll_mul -/* 00DE54 7000D254 24070003 */ li $a3, 3 -/* 00DE58 7000D258 AFA20020 */ sw $v0, 0x20($sp) -/* 00DE5C 7000D25C AFA30024 */ sw $v1, 0x24($sp) -/* 00DE60 7000D260 8FA50024 */ lw $a1, 0x24($sp) -/* 00DE64 7000D264 8FA40020 */ lw $a0, 0x20($sp) -/* 00DE68 7000D268 24060000 */ li $a2, 0 -/* 00DE6C 7000D26C 0C003B2A */ jal __ull_div -/* 00DE70 7000D270 24070004 */ li $a3, 4 -/* 00DE74 7000D274 3C098000 */ lui $t1, %hi(osResetType) -/* 00DE78 7000D278 8D29030C */ lw $t1, %lo(osResetType)($t1) -/* 00DE7C 7000D27C 3C018002 */ lui $at, %hi(osClockRate) -/* 00DE80 7000D280 AC226980 */ sw $v0, %lo(osClockRate)($at) -/* 00DE84 7000D284 15200005 */ bnez $t1, .L7000D29C -/* 00DE88 7000D288 AC236984 */ sw $v1, %lo(osClockRate+4)($at) -/* 00DE8C 7000D28C 3C048000 */ lui $a0, %hi(osAppNMIBuffer) -/* 00DE90 7000D290 2484031C */ addiu $a0, %lo(osAppNMIBuffer) # addiu $a0, $a0, 0x31c -/* 00DE94 7000D294 0C005F10 */ jal _blkclr -/* 00DE98 7000D298 24050040 */ li $a1, 64 -.L7000D29C: -/* 00DE9C 7000D29C 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 -/* 00DEA0 7000D2A0 8DAC0010 */ lw $t4, %lo(PI_STATUS_REG)($t5) -/* 00DEA4 7000D2A4 318F0003 */ andi $t7, $t4, 3 -/* 00DEA8 7000D2A8 11E00008 */ beqz $t7, .L7000D2CC -/* 00DEAC 7000D2AC AFAC0030 */ sw $t4, 0x30($sp) -.L7000D2B0: -/* 00DEB0 7000D2B0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 -/* 00DEB4 7000D2B4 8DD80010 */ lw $t8, %lo(PI_STATUS_REG)($t6) -/* 00DEB8 7000D2B8 AFB80030 */ sw $t8, 0x30($sp) -/* 00DEBC 7000D2BC 8FA80030 */ lw $t0, 0x30($sp) -/* 00DEC0 7000D2C0 31190003 */ andi $t9, $t0, 3 -/* 00DEC4 7000D2C4 1720FFFA */ bnez $t9, .L7000D2B0 -/* 00DEC8 7000D2C8 00000000 */ nop -.L7000D2CC: -/* 00DECC 7000D2CC 3C0AA500 */ lui $t2, %hi(ASIC_STATUS) # $t2, 0xa500 -/* 00DED0 7000D2D0 8D4B0508 */ lw $t3, %lo(ASIC_STATUS)($t2) -/* 00DED4 7000D2D4 3169FFFF */ andi $t1, $t3, 0xffff -/* 00DED8 7000D2D8 1520000A */ bnez $t1, .L7000D304 -/* 00DEDC 7000D2DC AFAB0034 */ sw $t3, 0x34($sp) -/* 00DEE0 7000D2E0 240D0001 */ li $t5, 1 -/* 00DEE4 7000D2E4 3C018002 */ lui $at, %hi(osDiskExist) -/* 00DEE8 7000D2E8 3C057001 */ lui $a1, %hi(__osLeoInterrupt) # $a1, 0x7001 -/* 00DEEC 7000D2EC AC2D6990 */ sw $t5, %lo(osDiskExist)($at) -/* 00DEF0 7000D2F0 24A57D30 */ addiu $a1, %lo(__osLeoInterrupt) # addiu $a1, $a1, 0x7d30 -/* 00DEF4 7000D2F4 0C005F38 */ jal __osSetHWIntrRoutine -/* 00DEF8 7000D2F8 24040001 */ li $a0, 1 -/* 00DEFC 7000D2FC 10000003 */ b .L7000D30C -/* 00DF00 7000D300 00000000 */ nop -.L7000D304: -/* 00DF04 7000D304 3C018002 */ lui $at, %hi(osDiskExist) -/* 00DF08 7000D308 AC206990 */ sw $zero, %lo(osDiskExist)($at) -.L7000D30C: -/* 00DF0C 7000D30C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00DF10 7000D310 8FB00018 */ lw $s0, 0x18($sp) -/* 00DF14 7000D314 27BD0040 */ addiu $sp, $sp, 0x40 -/* 00DF18 7000D318 03E00008 */ jr $ra -/* 00DF1C 7000D31C 00000000 */ nop - -.section .data -glabel osClockRate -.dword 62500000 -glabel __osShutdown - .word 0 -glabel __OSGlobalIntMask - .word 0x3FFF01 -glabel osDiskExist - .word 0 -.align 4 -.section .rodata -.section .bss -glabel __osFinalRom -.word 0 -.word 0 -.word 0 -.word 0 -.section .text -glabel osWritebackDCacheAll -/* 00DF20 7000D320 3C088000 */ lui $t0, 0x8000 -/* 00DF24 7000D324 240A2000 */ li $t2, 8192 -/* 00DF28 7000D328 010A4821 */ addu $t1, $t0, $t2 -/* 00DF2C 7000D32C 2529FFF0 */ addiu $t1, $t1, -0x10 -.L7000D330: -/* 00DF30 7000D330 BD010000 */ cache 1, ($t0) -/* 00DF34 7000D334 0109082B */ sltu $at, $t0, $t1 -/* 00DF38 7000D338 1420FFFD */ bnez $at, .L7000D330 -/* 00DF3C 7000D33C 25080010 */ addiu $t0, $t0, 0x10 -/* 00DF40 7000D340 03E00008 */ jr $ra -/* 00DF44 7000D344 00000000 */ nop - -/* 00DF48 7000D348 00000000 */ nop -/* 00DF4C 7000D34C 00000000 */ nop -glabel osInvalICache -/* 00DF50 7000D350 18A00011 */ blez $a1, .L7000D398 -/* 00DF54 7000D354 00000000 */ nop -/* 00DF58 7000D358 240B4000 */ li $t3, 16384 -/* 00DF5C 7000D35C 00AB082B */ sltu $at, $a1, $t3 -/* 00DF60 7000D360 1020000F */ beqz $at, .L7000D3A0 -/* 00DF64 7000D364 00000000 */ nop -/* 00DF68 7000D368 00804025 */ move $t0, $a0 -/* 00DF6C 7000D36C 00854821 */ addu $t1, $a0, $a1 -/* 00DF70 7000D370 0109082B */ sltu $at, $t0, $t1 -/* 00DF74 7000D374 10200008 */ beqz $at, .L7000D398 -/* 00DF78 7000D378 00000000 */ nop -/* 00DF7C 7000D37C 310A001F */ andi $t2, $t0, 0x1f -/* 00DF80 7000D380 2529FFE0 */ addiu $t1, $t1, -0x20 -/* 00DF84 7000D384 010A4023 */ subu $t0, $t0, $t2 -.L7000D388: -/* 00DF88 7000D388 BD100000 */ cache 0x10, ($t0) -/* 00DF8C 7000D38C 0109082B */ sltu $at, $t0, $t1 -/* 00DF90 7000D390 1420FFFD */ bnez $at, .L7000D388 -/* 00DF94 7000D394 25080020 */ addiu $t0, $t0, 0x20 -.L7000D398: -/* 00DF98 7000D398 03E00008 */ jr $ra -/* 00DF9C 7000D39C 00000000 */ nop - -.L7000D3A0: -/* 00DFA0 7000D3A0 3C088000 */ lui $t0, 0x8000 -/* 00DFA4 7000D3A4 010B4821 */ addu $t1, $t0, $t3 -/* 00DFA8 7000D3A8 2529FFE0 */ addiu $t1, $t1, -0x20 -.L7000D3AC: -/* 00DFAC 7000D3AC BD000000 */ cache 0, ($t0) -/* 00DFB0 7000D3B0 0109082B */ sltu $at, $t0, $t1 -/* 00DFB4 7000D3B4 1420FFFD */ bnez $at, .L7000D3AC -/* 00DFB8 7000D3B8 25080020 */ addiu $t0, $t0, 0x20 -/* 00DFBC 7000D3BC 03E00008 */ jr $ra -/* 00DFC0 7000D3C0 00000000 */ nop - -/* 00DFC4 7000D3C4 00000000 */ nop -/* 00DFC8 7000D3C8 00000000 */ nop -/* 00DFCC 7000D3CC 00000000 */ nop -glabel osUnmapTLB -/* 00DFD0 7000D3D0 40085000 */ mfc0 $t0, $10 -/* 00DFD4 7000D3D4 40840000 */ mtc0 $a0, $0 -/* 00DFD8 7000D3D8 3C098000 */ lui $t1, 0x8000 -/* 00DFDC 7000D3DC 40895000 */ mtc0 $t1, $10 -/* 00DFE0 7000D3E0 40801000 */ mtc0 $zero, $2 -/* 00DFE4 7000D3E4 40801800 */ mtc0 $zero, $3 -/* 00DFE8 7000D3E8 00000000 */ nop -/* 00DFEC 7000D3EC 42000002 */ tlbwi -/* 00DFF0 7000D3F0 00000000 */ nop -/* 00DFF4 7000D3F4 00000000 */ nop -/* 00DFF8 7000D3F8 00000000 */ nop -/* 00DFFC 7000D3FC 00000000 */ nop -/* 00E000 7000D400 40885000 */ mtc0 $t0, $10 -/* 00E004 7000D404 03E00008 */ jr $ra -/* 00E008 7000D408 00000000 */ nop - -/* 00E00C 7000D40C 00000000 */ nop -glabel __osGetFpcCsr -/* 00E010 7000D410 4442F800 */ cfc1 $v0, $31 -/* 00E014 7000D414 03E00008 */ jr $ra -/* 00E018 7000D418 00000000 */ nop - -/* 00E01C 7000D41C 00000000 */ nop -glabel __osSetFpcCsr -/* 00E020 7000D420 4442F800 */ cfc1 $v0, $31 -/* 00E024 7000D424 44C4F800 */ ctc1 $a0, $31 -/* 00E028 7000D428 03E00008 */ jr $ra -/* 00E02C 7000D42C 00000000 */ nop - -glabel osCreateThread -/* 00E030 7000D430 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E034 7000D434 AFA40028 */ sw $a0, 0x28($sp) -/* 00E038 7000D438 AFA5002C */ sw $a1, 0x2c($sp) -/* 00E03C 7000D43C 8FAE002C */ lw $t6, 0x2c($sp) -/* 00E040 7000D440 8FAF0028 */ lw $t7, 0x28($sp) -/* 00E044 7000D444 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E048 7000D448 AFA60030 */ sw $a2, 0x30($sp) -/* 00E04C 7000D44C AFA70034 */ sw $a3, 0x34($sp) -/* 00E050 7000D450 AFB00018 */ sw $s0, 0x18($sp) -/* 00E054 7000D454 ADEE0014 */ sw $t6, 0x14($t7) -/* 00E058 7000D458 8FB90028 */ lw $t9, 0x28($sp) -/* 00E05C 7000D45C 8FB8003C */ lw $t8, 0x3c($sp) -/* 00E060 7000D460 AF380004 */ sw $t8, 4($t9) -/* 00E064 7000D464 8FA80028 */ lw $t0, 0x28($sp) -/* 00E068 7000D468 AD000000 */ sw $zero, ($t0) -/* 00E06C 7000D46C 8FA90028 */ lw $t1, 0x28($sp) -/* 00E070 7000D470 AD200008 */ sw $zero, 8($t1) -/* 00E074 7000D474 8FAB0028 */ lw $t3, 0x28($sp) -/* 00E078 7000D478 8FAA0030 */ lw $t2, 0x30($sp) -/* 00E07C 7000D47C AD6A011C */ sw $t2, 0x11c($t3) -/* 00E080 7000D480 8FAC0034 */ lw $t4, 0x34($sp) -/* 00E084 7000D484 8FAD0028 */ lw $t5, 0x28($sp) -/* 00E088 7000D488 01807825 */ move $t7, $t4 -/* 00E08C 7000D48C 000C77C3 */ sra $t6, $t4, 0x1f -/* 00E090 7000D490 ADAE0038 */ sw $t6, 0x38($t5) -/* 00E094 7000D494 ADAF003C */ sw $t7, 0x3c($t5) -/* 00E098 7000D498 8FB80038 */ lw $t8, 0x38($sp) -/* 00E09C 7000D49C 8FB90028 */ lw $t9, 0x28($sp) -/* 00E0A0 7000D4A0 3C0C7001 */ lui $t4, %hi(__osCleanupThread) # $t4, 0x7001 -/* 00E0A4 7000D4A4 03004825 */ move $t1, $t8 -/* 00E0A8 7000D4A8 2D210010 */ sltiu $at, $t1, 0x10 -/* 00E0AC 7000D4AC 001847C3 */ sra $t0, $t8, 0x1f -/* 00E0B0 7000D4B0 01015023 */ subu $t2, $t0, $at -/* 00E0B4 7000D4B4 252BFFF0 */ addiu $t3, $t1, -0x10 -/* 00E0B8 7000D4B8 AF2B00F4 */ sw $t3, 0xf4($t9) -/* 00E0BC 7000D4BC AF2A00F0 */ sw $t2, 0xf0($t9) -/* 00E0C0 7000D4C0 8FAD0028 */ lw $t5, 0x28($sp) -/* 00E0C4 7000D4C4 258C0A80 */ addiu $t4, %lo(__osCleanupThread) # addiu $t4, $t4, 0xa80 -/* 00E0C8 7000D4C8 01807825 */ move $t7, $t4 -/* 00E0CC 7000D4CC 000C77C3 */ sra $t6, $t4, 0x1f -/* 00E0D0 7000D4D0 ADAE0100 */ sw $t6, 0x100($t5) -/* 00E0D4 7000D4D4 ADAF0104 */ sw $t7, 0x104($t5) -/* 00E0D8 7000D4D8 8FA90028 */ lw $t1, 0x28($sp) -/* 00E0DC 7000D4DC 3C18003F */ lui $t8, (0x003FFF01 >> 16) # lui $t8, 0x3f -/* 00E0E0 7000D4E0 3718FF01 */ ori $t8, (0x003FFF01 & 0xFFFF) # ori $t8, $t8, 0xff01 -/* 00E0E4 7000D4E4 AFB80020 */ sw $t8, 0x20($sp) -/* 00E0E8 7000D4E8 3408FF03 */ li $t0, 65283 -/* 00E0EC 7000D4EC AD280118 */ sw $t0, 0x118($t1) -/* 00E0F0 7000D4F0 8FAA0020 */ lw $t2, 0x20($sp) -/* 00E0F4 7000D4F4 8FAC0028 */ lw $t4, 0x28($sp) -/* 00E0F8 7000D4F8 3C01003F */ lui $at, 0x3f -/* 00E0FC 7000D4FC 01415824 */ and $t3, $t2, $at -/* 00E100 7000D500 000BCC02 */ srl $t9, $t3, 0x10 -/* 00E104 7000D504 AD990128 */ sw $t9, 0x128($t4) -/* 00E108 7000D508 8FAF0028 */ lw $t7, 0x28($sp) -/* 00E10C 7000D50C 3C0E0100 */ lui $t6, (0x01000800 >> 16) # lui $t6, 0x100 -/* 00E110 7000D510 35CE0800 */ ori $t6, (0x01000800 & 0xFFFF) # ori $t6, $t6, 0x800 -/* 00E114 7000D514 ADEE012C */ sw $t6, 0x12c($t7) -/* 00E118 7000D518 8FAD0028 */ lw $t5, 0x28($sp) -/* 00E11C 7000D51C 24180001 */ li $t8, 1 -/* 00E120 7000D520 ADA00018 */ sw $zero, 0x18($t5) -/* 00E124 7000D524 8FA80028 */ lw $t0, 0x28($sp) -/* 00E128 7000D528 A5180010 */ sh $t8, 0x10($t0) -/* 00E12C 7000D52C 8FA90028 */ lw $t1, 0x28($sp) -/* 00E130 7000D530 0C00617C */ jal __osDisableInt -/* 00E134 7000D534 A5200012 */ sh $zero, 0x12($t1) -/* 00E138 7000D538 3C0A8002 */ lui $t2, %hi(__osActiveQueue) -/* 00E13C 7000D53C 8D4A772C */ lw $t2, %lo(__osActiveQueue)($t2) -/* 00E140 7000D540 8FAB0028 */ lw $t3, 0x28($sp) -/* 00E144 7000D544 00408025 */ move $s0, $v0 -/* 00E148 7000D548 3C018002 */ lui $at, %hi(__osActiveQueue) -/* 00E14C 7000D54C AD6A000C */ sw $t2, 0xc($t3) -/* 00E150 7000D550 8FB90028 */ lw $t9, 0x28($sp) -/* 00E154 7000D554 02002025 */ move $a0, $s0 -/* 00E158 7000D558 0C006184 */ jal __osRestoreInt -/* 00E15C 7000D55C AC39772C */ sw $t9, %lo(__osActiveQueue)($at) -/* 00E160 7000D560 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E164 7000D564 8FB00018 */ lw $s0, 0x18($sp) -/* 00E168 7000D568 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00E16C 7000D56C 03E00008 */ jr $ra -/* 00E170 7000D570 00000000 */ nop - -/* 00E174 7000D574 00000000 */ nop -/* 00E178 7000D578 00000000 */ nop -/* 00E17C 7000D57C 00000000 */ nop -glabel osStartThread -/* 00E180 7000D580 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E184 7000D584 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E188 7000D588 AFA40028 */ sw $a0, 0x28($sp) -/* 00E18C 7000D58C AFB10018 */ sw $s1, 0x18($sp) -/* 00E190 7000D590 0C00617C */ jal __osDisableInt -/* 00E194 7000D594 AFB00014 */ sw $s0, 0x14($sp) -/* 00E198 7000D598 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E19C 7000D59C 24010001 */ li $at, 1 -/* 00E1A0 7000D5A0 00408025 */ move $s0, $v0 -/* 00E1A4 7000D5A4 95D10010 */ lhu $s1, 0x10($t6) -/* 00E1A8 7000D5A8 1221000C */ beq $s1, $at, .L7000D5DC -/* 00E1AC 7000D5AC 24010008 */ li $at, 8 -/* 00E1B0 7000D5B0 1621002A */ bne $s1, $at, .L7000D65C -/* 00E1B4 7000D5B4 00000000 */ nop -/* 00E1B8 7000D5B8 8FB80028 */ lw $t8, 0x28($sp) -/* 00E1BC 7000D5BC 240F0002 */ li $t7, 2 -/* 00E1C0 7000D5C0 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 00E1C4 7000D5C4 A70F0010 */ sh $t7, 0x10($t8) -/* 00E1C8 7000D5C8 8FA50028 */ lw $a1, 0x28($sp) -/* 00E1CC 7000D5CC 0C00422B */ jal __osEnqueueThread -/* 00E1D0 7000D5D0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 00E1D4 7000D5D4 10000021 */ b .L7000D65C -/* 00E1D8 7000D5D8 00000000 */ nop -.L7000D5DC: -/* 00E1DC 7000D5DC 8FB90028 */ lw $t9, 0x28($sp) -/* 00E1E0 7000D5E0 8F280008 */ lw $t0, 8($t9) -/* 00E1E4 7000D5E4 11000005 */ beqz $t0, .L7000D5FC -/* 00E1E8 7000D5E8 00000000 */ nop -/* 00E1EC 7000D5EC 3C098002 */ lui $t1, %hi(__osRunQueue) -/* 00E1F0 7000D5F0 25297728 */ addiu $t1, %lo(__osRunQueue) # addiu $t1, $t1, 0x7728 -/* 00E1F4 7000D5F4 1509000A */ bne $t0, $t1, .L7000D620 -/* 00E1F8 7000D5F8 00000000 */ nop -.L7000D5FC: -/* 00E1FC 7000D5FC 8FAB0028 */ lw $t3, 0x28($sp) -/* 00E200 7000D600 240A0002 */ li $t2, 2 -/* 00E204 7000D604 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 00E208 7000D608 A56A0010 */ sh $t2, 0x10($t3) -/* 00E20C 7000D60C 8FA50028 */ lw $a1, 0x28($sp) -/* 00E210 7000D610 0C00422B */ jal __osEnqueueThread -/* 00E214 7000D614 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 00E218 7000D618 10000010 */ b .L7000D65C -/* 00E21C 7000D61C 00000000 */ nop -.L7000D620: -/* 00E220 7000D620 8FAD0028 */ lw $t5, 0x28($sp) -/* 00E224 7000D624 240C0008 */ li $t4, 8 -/* 00E228 7000D628 A5AC0010 */ sh $t4, 0x10($t5) -/* 00E22C 7000D62C 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E230 7000D630 8DC40008 */ lw $a0, 8($t6) -/* 00E234 7000D634 0C00422B */ jal __osEnqueueThread -/* 00E238 7000D638 01C02825 */ move $a1, $t6 -/* 00E23C 7000D63C 8FAF0028 */ lw $t7, 0x28($sp) -/* 00E240 7000D640 0C00423D */ jal __osPopThread -/* 00E244 7000D644 8DE40008 */ lw $a0, 8($t7) -/* 00E248 7000D648 00408825 */ move $s1, $v0 -/* 00E24C 7000D64C 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 00E250 7000D650 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 00E254 7000D654 0C00422B */ jal __osEnqueueThread -/* 00E258 7000D658 02202825 */ move $a1, $s1 -.L7000D65C: -/* 00E25C 7000D65C 3C188002 */ lui $t8, %hi(__osRunningThread) -/* 00E260 7000D660 8F187730 */ lw $t8, %lo(__osRunningThread)($t8) -/* 00E264 7000D664 17000005 */ bnez $t8, .L7000D67C -/* 00E268 7000D668 00000000 */ nop -/* 00E26C 7000D66C 0C004241 */ jal __osDispatchThread -/* 00E270 7000D670 00000000 */ nop -/* 00E274 7000D674 1000000F */ b .L7000D6B4 -/* 00E278 7000D678 00000000 */ nop -.L7000D67C: -/* 00E27C 7000D67C 3C198002 */ lui $t9, %hi(__osRunningThread) -/* 00E280 7000D680 3C098002 */ lui $t1, %hi(__osRunQueue) -/* 00E284 7000D684 8D297728 */ lw $t1, %lo(__osRunQueue)($t1) -/* 00E288 7000D688 8F397730 */ lw $t9, %lo(__osRunningThread)($t9) -/* 00E28C 7000D68C 8D2A0004 */ lw $t2, 4($t1) -/* 00E290 7000D690 8F280004 */ lw $t0, 4($t9) -/* 00E294 7000D694 010A082A */ slt $at, $t0, $t2 -/* 00E298 7000D698 10200006 */ beqz $at, .L7000D6B4 -/* 00E29C 7000D69C 00000000 */ nop -/* 00E2A0 7000D6A0 240B0002 */ li $t3, 2 -/* 00E2A4 7000D6A4 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 00E2A8 7000D6A8 A72B0010 */ sh $t3, 0x10($t9) -/* 00E2AC 7000D6AC 0C0041EB */ jal __osEnqueueAndYield -/* 00E2B0 7000D6B0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -.L7000D6B4: -/* 00E2B4 7000D6B4 0C006184 */ jal __osRestoreInt -/* 00E2B8 7000D6B8 02002025 */ move $a0, $s0 -/* 00E2BC 7000D6BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E2C0 7000D6C0 8FB00014 */ lw $s0, 0x14($sp) -/* 00E2C4 7000D6C4 8FB10018 */ lw $s1, 0x18($sp) -/* 00E2C8 7000D6C8 03E00008 */ jr $ra -/* 00E2CC 7000D6CC 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osCreateMesgQueue -/* 00E2D0 7000D6D0 3C0E8002 */ lui $t6, %hi(__osThreadTail) -/* 00E2D4 7000D6D4 3C0F8002 */ lui $t7, %hi(__osThreadTail) -/* 00E2D8 7000D6D8 25CE7720 */ addiu $t6, %lo(__osThreadTail) # addiu $t6, $t6, 0x7720 -/* 00E2DC 7000D6DC 25EF7720 */ addiu $t7, %lo(__osThreadTail) # addiu $t7, $t7, 0x7720 -/* 00E2E0 7000D6E0 AC8E0000 */ sw $t6, ($a0) -/* 00E2E4 7000D6E4 AC8F0004 */ sw $t7, 4($a0) -/* 00E2E8 7000D6E8 AC800008 */ sw $zero, 8($a0) -/* 00E2EC 7000D6EC AC80000C */ sw $zero, 0xc($a0) -/* 00E2F0 7000D6F0 AC860010 */ sw $a2, 0x10($a0) -/* 00E2F4 7000D6F4 03E00008 */ jr $ra -/* 00E2F8 7000D6F8 AC850014 */ sw $a1, 0x14($a0) - -/* 00E2FC 7000D6FC 00000000 */ nop -/* 00E300 7000D700 00000000 */ nop -/* 00E304 7000D704 00000000 */ nop -/* 00E308 7000D708 00000000 */ nop -/* 00E30C 7000D70C 00000000 */ nop -/* 00E310 7000D710 00000000 */ nop -/* 00E314 7000D714 00000000 */ nop -/* 00E318 7000D718 00000000 */ nop -/* 00E31C 7000D71C 00000000 */ nop -/* 00E320 7000D720 00000000 */ nop -/* 00E324 7000D724 00000000 */ nop -/* 00E328 7000D728 00000000 */ nop -/* 00E32C 7000D72C 00000000 */ nop -/* 00E330 7000D730 00000000 */ nop -/* 00E334 7000D734 00000000 */ nop -/* 00E338 7000D738 00000000 */ nop -/* 00E33C 7000D73C 00000000 */ nop -glabel osStopThread -/* 00E340 7000D740 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00E344 7000D744 AFBF0024 */ sw $ra, 0x24($sp) -/* 00E348 7000D748 AFA40038 */ sw $a0, 0x38($sp) -/* 00E34C 7000D74C AFB20020 */ sw $s2, 0x20($sp) -/* 00E350 7000D750 AFB1001C */ sw $s1, 0x1c($sp) -/* 00E354 7000D754 0C00617C */ jal __osDisableInt -/* 00E358 7000D758 AFB00018 */ sw $s0, 0x18($sp) -/* 00E35C 7000D75C 8FAE0038 */ lw $t6, 0x38($sp) -/* 00E360 7000D760 00408025 */ move $s0, $v0 -/* 00E364 7000D764 15C00003 */ bnez $t6, .L7000D774 -/* 00E368 7000D768 00000000 */ nop -/* 00E36C 7000D76C 10000003 */ b .L7000D77C -/* 00E370 7000D770 24110004 */ li $s1, 4 -.L7000D774: -/* 00E374 7000D774 8FAF0038 */ lw $t7, 0x38($sp) -/* 00E378 7000D778 95F10010 */ lhu $s1, 0x10($t7) -.L7000D77C: -/* 00E37C 7000D77C 02209025 */ move $s2, $s1 -/* 00E380 7000D780 24010002 */ li $at, 2 -/* 00E384 7000D784 1241000F */ beq $s2, $at, .L7000D7C4 -/* 00E388 7000D788 24010004 */ li $at, 4 -/* 00E38C 7000D78C 12410005 */ beq $s2, $at, .L7000D7A4 -/* 00E390 7000D790 24010008 */ li $at, 8 -/* 00E394 7000D794 1241000B */ beq $s2, $at, .L7000D7C4 -/* 00E398 7000D798 00000000 */ nop -/* 00E39C 7000D79C 10000010 */ b .L7000D7E0 -/* 00E3A0 7000D7A0 00000000 */ nop -.L7000D7A4: -/* 00E3A4 7000D7A4 3C198002 */ lui $t9, %hi(__osRunningThread) -/* 00E3A8 7000D7A8 8F397730 */ lw $t9, %lo(__osRunningThread)($t9) -/* 00E3AC 7000D7AC 24180001 */ li $t8, 1 -/* 00E3B0 7000D7B0 00002025 */ move $a0, $zero -/* 00E3B4 7000D7B4 0C0041EB */ jal __osEnqueueAndYield -/* 00E3B8 7000D7B8 A7380010 */ sh $t8, 0x10($t9) -/* 00E3BC 7000D7BC 10000008 */ b .L7000D7E0 -/* 00E3C0 7000D7C0 00000000 */ nop -.L7000D7C4: -/* 00E3C4 7000D7C4 8FA90038 */ lw $t1, 0x38($sp) -/* 00E3C8 7000D7C8 24080001 */ li $t0, 1 -/* 00E3CC 7000D7CC A5280010 */ sh $t0, 0x10($t1) -/* 00E3D0 7000D7D0 8FAA0038 */ lw $t2, 0x38($sp) -/* 00E3D4 7000D7D4 8D440008 */ lw $a0, 8($t2) -/* 00E3D8 7000D7D8 0C0042A4 */ jal __osDequeueThread -/* 00E3DC 7000D7DC 01402825 */ move $a1, $t2 -.L7000D7E0: -/* 00E3E0 7000D7E0 0C006184 */ jal __osRestoreInt -/* 00E3E4 7000D7E4 02002025 */ move $a0, $s0 -/* 00E3E8 7000D7E8 8FBF0024 */ lw $ra, 0x24($sp) -/* 00E3EC 7000D7EC 8FB00018 */ lw $s0, 0x18($sp) -/* 00E3F0 7000D7F0 8FB1001C */ lw $s1, 0x1c($sp) -/* 00E3F4 7000D7F4 8FB20020 */ lw $s2, 0x20($sp) -/* 00E3F8 7000D7F8 03E00008 */ jr $ra -/* 00E3FC 7000D7FC 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel osSetThreadPri -/* 00E400 7000D800 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E404 7000D804 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E408 7000D808 AFA40028 */ sw $a0, 0x28($sp) -/* 00E40C 7000D80C AFA5002C */ sw $a1, 0x2c($sp) -/* 00E410 7000D810 0C00617C */ jal __osDisableInt -/* 00E414 7000D814 AFB00018 */ sw $s0, 0x18($sp) -/* 00E418 7000D818 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E41C 7000D81C 00408025 */ move $s0, $v0 -/* 00E420 7000D820 15C00004 */ bnez $t6, .L7000D834 -/* 00E424 7000D824 00000000 */ nop -/* 00E428 7000D828 3C0F8002 */ lui $t7, %hi(__osRunningThread) -/* 00E42C 7000D82C 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) -/* 00E430 7000D830 AFAF0028 */ sw $t7, 0x28($sp) -.L7000D834: -/* 00E434 7000D834 8FB80028 */ lw $t8, 0x28($sp) -/* 00E438 7000D838 8FA8002C */ lw $t0, 0x2c($sp) -/* 00E43C 7000D83C 8F190004 */ lw $t9, 4($t8) -/* 00E440 7000D840 13280020 */ beq $t9, $t0, .L7000D8C4 -/* 00E444 7000D844 00000000 */ nop -/* 00E448 7000D848 AF080004 */ sw $t0, 4($t8) -/* 00E44C 7000D84C 3C0A8002 */ lui $t2, %hi(__osRunningThread) -/* 00E450 7000D850 8D4A7730 */ lw $t2, %lo(__osRunningThread)($t2) -/* 00E454 7000D854 8FA90028 */ lw $t1, 0x28($sp) -/* 00E458 7000D858 112A000C */ beq $t1, $t2, .L7000D88C -/* 00E45C 7000D85C 00000000 */ nop -/* 00E460 7000D860 952B0010 */ lhu $t3, 0x10($t1) -/* 00E464 7000D864 24010001 */ li $at, 1 -/* 00E468 7000D868 11610008 */ beq $t3, $at, .L7000D88C -/* 00E46C 7000D86C 00000000 */ nop -/* 00E470 7000D870 8D240008 */ lw $a0, 8($t1) -/* 00E474 7000D874 0C0042A4 */ jal __osDequeueThread -/* 00E478 7000D878 01202825 */ move $a1, $t1 -/* 00E47C 7000D87C 8FAC0028 */ lw $t4, 0x28($sp) -/* 00E480 7000D880 8D840008 */ lw $a0, 8($t4) -/* 00E484 7000D884 0C00422B */ jal __osEnqueueThread -/* 00E488 7000D888 01802825 */ move $a1, $t4 -.L7000D88C: -/* 00E48C 7000D88C 3C0D8002 */ lui $t5, %hi(__osRunningThread) -/* 00E490 7000D890 3C0F8002 */ lui $t7, %hi(__osRunQueue) -/* 00E494 7000D894 8DEF7728 */ lw $t7, %lo(__osRunQueue)($t7) -/* 00E498 7000D898 8DAD7730 */ lw $t5, %lo(__osRunningThread)($t5) -/* 00E49C 7000D89C 8DF90004 */ lw $t9, 4($t7) -/* 00E4A0 7000D8A0 8DAE0004 */ lw $t6, 4($t5) -/* 00E4A4 7000D8A4 01D9082A */ slt $at, $t6, $t9 -/* 00E4A8 7000D8A8 10200006 */ beqz $at, .L7000D8C4 -/* 00E4AC 7000D8AC 00000000 */ nop -/* 00E4B0 7000D8B0 24080002 */ li $t0, 2 -/* 00E4B4 7000D8B4 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 00E4B8 7000D8B8 A5A80010 */ sh $t0, 0x10($t5) -/* 00E4BC 7000D8BC 0C0041EB */ jal __osEnqueueAndYield -/* 00E4C0 7000D8C0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -.L7000D8C4: -/* 00E4C4 7000D8C4 0C006184 */ jal __osRestoreInt -/* 00E4C8 7000D8C8 02002025 */ move $a0, $s0 -/* 00E4CC 7000D8CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E4D0 7000D8D0 8FB00018 */ lw $s0, 0x18($sp) -/* 00E4D4 7000D8D4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00E4D8 7000D8D8 03E00008 */ jr $ra -/* 00E4DC 7000D8DC 00000000 */ nop - -glabel osGetCount -/* 00E4E0 7000D8E0 40024800 */ mfc0 $v0, $9 -/* 00E4E4 7000D8E4 03E00008 */ jr $ra -/* 00E4E8 7000D8E8 00000000 */ nop - -/* 00E4EC 7000D8EC 00000000 */ nop - -.section .text -glabel osCreateViManager -/* 00E4F0 7000D8F0 3C0E8002 */ lui $t6, %hi(__osViDevMgr) -/* 00E4F4 7000D8F4 8DCE69A0 */ lw $t6, %lo(__osViDevMgr)($t6) -/* 00E4F8 7000D8F8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 00E4FC 7000D8FC AFBF001C */ sw $ra, 0x1c($sp) -/* 00E500 7000D900 15C00059 */ bnez $t6, .L7000DA68 -/* 00E504 7000D904 AFA40030 */ sw $a0, 0x30($sp) -/* 00E508 7000D908 0C00618C */ jal __osTimerServicesInit -/* 00E50C 7000D90C 00000000 */ nop -/* 00E510 7000D910 3C048006 */ lui $a0, %hi(viEventQueue) -/* 00E514 7000D914 3C058006 */ lui $a1, %hi(viEventBuf) -/* 00E518 7000D918 24A569B8 */ addiu $a1, %lo(viEventBuf) # addiu $a1, $a1, 0x69b8 -/* 00E51C 7000D91C 248469A0 */ addiu $a0, %lo(viEventQueue) # addiu $a0, $a0, 0x69a0 -/* 00E520 7000D920 0C0035B4 */ jal osCreateMesgQueue -/* 00E524 7000D924 24060005 */ li $a2, 5 -/* 00E528 7000D928 3C018006 */ lui $at, %hi(viRetraceMsg+0x4) -/* 00E52C 7000D92C 240F000D */ li $t7, 13 -/* 00E530 7000D930 A42F69D0 */ sh $t7, %lo(viRetraceMsg)($at) -/* 00E534 7000D934 A02069D2 */ sb $zero, %lo(viRetraceMsg+0x2)($at) -/* 00E538 7000D938 AC2069D4 */ sw $zero, %lo(viRetraceMsg+0x4)($at) -/* 00E53C 7000D93C 3C018006 */ lui $at, %hi(viCounterMsg+0x4) -/* 00E540 7000D940 2418000E */ li $t8, 14 -/* 00E544 7000D944 3C058006 */ lui $a1, %hi(viEventQueue) -/* 00E548 7000D948 3C068006 */ lui $a2, %hi(viRetraceMsg) -/* 00E54C 7000D94C A43869E8 */ sh $t8, %lo(viCounterMsg)($at) -/* 00E550 7000D950 A02069EA */ sb $zero, %lo(viCounterMsg+0x2)($at) -/* 00E554 7000D954 AC2069EC */ sw $zero, %lo(viCounterMsg+0x4)($at) -/* 00E558 7000D958 24C669D0 */ addiu $a2, %lo(viRetraceMsg) # addiu $a2, $a2, 0x69d0 -/* 00E55C 7000D95C 24A569A0 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x69a0 -/* 00E560 7000D960 0C003714 */ jal osSetEventMesg -/* 00E564 7000D964 24040007 */ li $a0, 7 -/* 00E568 7000D968 3C058006 */ lui $a1, %hi(viEventQueue) -/* 00E56C 7000D96C 3C068006 */ lui $a2, %hi(viCounterMsg) -/* 00E570 7000D970 24C669E8 */ addiu $a2, %lo(viCounterMsg) # addiu $a2, $a2, 0x69e8 -/* 00E574 7000D974 24A569A0 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x69a0 -/* 00E578 7000D978 0C003714 */ jal osSetEventMesg -/* 00E57C 7000D97C 24040003 */ li $a0, 3 -/* 00E580 7000D980 2419FFFF */ li $t9, -1 -/* 00E584 7000D984 AFB90028 */ sw $t9, 0x28($sp) -/* 00E588 7000D988 0C00628C */ jal osGetThreadPri -/* 00E58C 7000D98C 00002025 */ move $a0, $zero -/* 00E590 7000D990 AFA20024 */ sw $v0, 0x24($sp) -/* 00E594 7000D994 8FA80024 */ lw $t0, 0x24($sp) -/* 00E598 7000D998 8FA90030 */ lw $t1, 0x30($sp) -/* 00E59C 7000D99C 0109082A */ slt $at, $t0, $t1 -/* 00E5A0 7000D9A0 10200005 */ beqz $at, .L7000D9B8 -/* 00E5A4 7000D9A4 00000000 */ nop -/* 00E5A8 7000D9A8 AFA80028 */ sw $t0, 0x28($sp) -/* 00E5AC 7000D9AC 00002025 */ move $a0, $zero -/* 00E5B0 7000D9B0 0C003600 */ jal osSetThreadPri -/* 00E5B4 7000D9B4 01202825 */ move $a1, $t1 -.L7000D9B8: -/* 00E5B8 7000D9B8 0C00617C */ jal __osDisableInt -/* 00E5BC 7000D9BC 00000000 */ nop -/* 00E5C0 7000D9C0 3C018002 */ lui $at, %hi(D_800269AC) -/* 00E5C4 7000D9C4 3C0C8006 */ lui $t4, %hi(viEventQueue) -/* 00E5C8 7000D9C8 3C0B8006 */ lui $t3, %hi(viThread) -/* 00E5CC 7000D9CC 258C69A0 */ addiu $t4, %lo(viEventQueue) # addiu $t4, $t4, 0x69a0 -/* 00E5D0 7000D9D0 240A0001 */ li $t2, 1 -/* 00E5D4 7000D9D4 256B57F0 */ addiu $t3, %lo(viThread) # addiu $t3, $t3, 0x57f0 -/* 00E5D8 7000D9D8 AC2A69A0 */ sw $t2, %lo(__osViDevMgr)($at) -/* 00E5DC 7000D9DC AC2B69A4 */ sw $t3, %lo(D_800269A4)($at) -/* 00E5E0 7000D9E0 AC2C69A8 */ sw $t4, %lo(D_800269A8)($at) -/* 00E5E4 7000D9E4 AC2C69AC */ sw $t4, %lo(D_800269AC)($at) -/* 00E5E8 7000D9E8 3C0D8006 */ lui $t5, %hi(viThreadStack) -/* 00E5EC 7000D9EC 8FAF0030 */ lw $t7, 0x30($sp) -/* 00E5F0 7000D9F0 3C018002 */ lui $at, %hi(D_800269B8) -/* 00E5F4 7000D9F4 25AD59A0 */ addiu $t5, %lo(viThreadStack) # addiu $t5, $t5, 0x59a0 -/* 00E5F8 7000D9F8 25AE1000 */ addiu $t6, $t5, 0x1000 -/* 00E5FC 7000D9FC 3C067001 */ lui $a2, %hi(viMgrMain) # $a2, 0x7001 -/* 00E600 7000DA00 3C078002 */ lui $a3, %hi(__osViDevMgr) -/* 00E604 7000DA04 AFA2002C */ sw $v0, 0x2c($sp) -/* 00E608 7000DA08 AC2069B0 */ sw $zero, %lo(D_800269B0)($at) -/* 00E60C 7000DA0C AC2069B4 */ sw $zero, %lo(D_800269B4)($at) -/* 00E610 7000DA10 AC2069B8 */ sw $zero, %lo(D_800269B8)($at) -/* 00E614 7000DA14 24E769A0 */ addiu $a3, %lo(__osViDevMgr) # addiu $a3, $a3, 0x69a0 -/* 00E618 7000DA18 24C6DA78 */ addiu $a2, %lo(viMgrMain) # addiu $a2, $a2, -0x2588 -/* 00E61C 7000DA1C AFAE0010 */ sw $t6, 0x10($sp) -/* 00E620 7000DA20 01602025 */ move $a0, $t3 -/* 00E624 7000DA24 00002825 */ move $a1, $zero -/* 00E628 7000DA28 0C00350C */ jal osCreateThread -/* 00E62C 7000DA2C AFAF0014 */ sw $t7, 0x14($sp) -/* 00E630 7000DA30 0C006294 */ jal __osViInit -/* 00E634 7000DA34 00000000 */ nop -/* 00E638 7000DA38 3C048006 */ lui $a0, %hi(viThread) -/* 00E63C 7000DA3C 0C003560 */ jal osStartThread -/* 00E640 7000DA40 248457F0 */ addiu $a0, %lo(viThread) # addiu $a0, $a0, 0x57f0 -/* 00E644 7000DA44 0C006184 */ jal __osRestoreInt -/* 00E648 7000DA48 8FA4002C */ lw $a0, 0x2c($sp) -/* 00E64C 7000DA4C 8FB80028 */ lw $t8, 0x28($sp) -/* 00E650 7000DA50 2401FFFF */ li $at, -1 -/* 00E654 7000DA54 13010004 */ beq $t8, $at, .L7000DA68 -/* 00E658 7000DA58 00000000 */ nop -/* 00E65C 7000DA5C 00002025 */ move $a0, $zero -/* 00E660 7000DA60 0C003600 */ jal osSetThreadPri -/* 00E664 7000DA64 03002825 */ move $a1, $t8 -.L7000DA68: -/* 00E668 7000DA68 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E66C 7000DA6C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 00E670 7000DA70 03E00008 */ jr $ra -/* 00E674 7000DA74 00000000 */ nop - -glabel viMgrMain -/* 00E678 7000DA78 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00E67C 7000DA7C AFBF001C */ sw $ra, 0x1c($sp) -/* 00E680 7000DA80 AFA40038 */ sw $a0, 0x38($sp) -/* 00E684 7000DA84 AFB00018 */ sw $s0, 0x18($sp) -/* 00E688 7000DA88 AFA0002C */ sw $zero, 0x2c($sp) -/* 00E68C 7000DA8C 0C0062D8 */ jal __osViGetCurrentContext -/* 00E690 7000DA90 AFA00028 */ sw $zero, 0x28($sp) -/* 00E694 7000DA94 AFA20034 */ sw $v0, 0x34($sp) -/* 00E698 7000DA98 8FAE0034 */ lw $t6, 0x34($sp) -/* 00E69C 7000DA9C 3C018006 */ lui $at, %hi(retrace) -/* 00E6A0 7000DAA0 95CF0002 */ lhu $t7, 2($t6) -/* 00E6A4 7000DAA4 15E00004 */ bnez $t7, .L7000DAB8 -/* 00E6A8 7000DAA8 A42F6A00 */ sh $t7, %lo(retrace)($at) -/* 00E6AC 7000DAAC 24180001 */ li $t8, 1 -/* 00E6B0 7000DAB0 3C018006 */ lui $at, %hi(retrace) -/* 00E6B4 7000DAB4 A4386A00 */ sh $t8, %lo(retrace)($at) -.L7000DAB8: -/* 00E6B8 7000DAB8 8FB90038 */ lw $t9, 0x38($sp) -/* 00E6BC 7000DABC AFB90030 */ sw $t9, 0x30($sp) -.L7000DAC0: -/* 00E6C0 7000DAC0 8FA80030 */ lw $t0, 0x30($sp) -/* 00E6C4 7000DAC4 27A5002C */ addiu $a1, $sp, 0x2c -/* 00E6C8 7000DAC8 24060001 */ li $a2, 1 -/* 00E6CC 7000DACC 0C003774 */ jal osRecvMesg -/* 00E6D0 7000DAD0 8D04000C */ lw $a0, 0xc($t0) -/* 00E6D4 7000DAD4 8FA9002C */ lw $t1, 0x2c($sp) -/* 00E6D8 7000DAD8 2401000D */ li $at, 13 -/* 00E6DC 7000DADC 95300000 */ lhu $s0, ($t1) -/* 00E6E0 7000DAE0 12010005 */ beq $s0, $at, .L7000DAF8 -/* 00E6E4 7000DAE4 2401000E */ li $at, 14 -/* 00E6E8 7000DAE8 12010047 */ beq $s0, $at, .L7000DC08 -/* 00E6EC 7000DAEC 00000000 */ nop -/* 00E6F0 7000DAF0 1000FFF3 */ b .L7000DAC0 -/* 00E6F4 7000DAF4 00000000 */ nop -.L7000DAF8: -/* 00E6F8 7000DAF8 0C0062DC */ jal __osViSwapContext -/* 00E6FC 7000DAFC 00000000 */ nop -/* 00E700 7000DB00 3C0A8006 */ lui $t2, %hi(retrace) -/* 00E704 7000DB04 954A6A00 */ lhu $t2, %lo(retrace)($t2) -/* 00E708 7000DB08 3C018006 */ lui $at, %hi(retrace) -/* 00E70C 7000DB0C 254BFFFF */ addiu $t3, $t2, -1 -/* 00E710 7000DB10 316CFFFF */ andi $t4, $t3, 0xffff -/* 00E714 7000DB14 15800010 */ bnez $t4, .L7000DB58 -/* 00E718 7000DB18 A42B6A00 */ sh $t3, %lo(retrace)($at) -/* 00E71C 7000DB1C 0C0062D8 */ jal __osViGetCurrentContext -/* 00E720 7000DB20 00000000 */ nop -/* 00E724 7000DB24 AFA20034 */ sw $v0, 0x34($sp) -/* 00E728 7000DB28 8FAD0034 */ lw $t5, 0x34($sp) -/* 00E72C 7000DB2C 8DAE0010 */ lw $t6, 0x10($t5) -/* 00E730 7000DB30 11C00005 */ beqz $t6, .L7000DB48 -/* 00E734 7000DB34 00000000 */ nop -/* 00E738 7000DB38 01C02025 */ move $a0, $t6 -/* 00E73C 7000DB3C 8DA50014 */ lw $a1, 0x14($t5) -/* 00E740 7000DB40 0C0037C4 */ jal osSendMesg -/* 00E744 7000DB44 00003025 */ move $a2, $zero -.L7000DB48: -/* 00E748 7000DB48 8FAF0034 */ lw $t7, 0x34($sp) -/* 00E74C 7000DB4C 3C018006 */ lui $at, %hi(retrace) -/* 00E750 7000DB50 95F80002 */ lhu $t8, 2($t7) -/* 00E754 7000DB54 A4386A00 */ sh $t8, %lo(retrace)($at) -.L7000DB58: -/* 00E758 7000DB58 3C198007 */ lui $t9, %hi(__osViIntrCount) -/* 00E75C 7000DB5C 8F398E1C */ lw $t9, %lo(__osViIntrCount)($t9) -/* 00E760 7000DB60 8FA90028 */ lw $t1, 0x28($sp) -/* 00E764 7000DB64 3C018007 */ lui $at, %hi(__osViIntrCount) -/* 00E768 7000DB68 27280001 */ addiu $t0, $t9, 1 -/* 00E76C 7000DB6C 1120000C */ beqz $t1, .L7000DBA0 -/* 00E770 7000DB70 AC288E1C */ sw $t0, %lo(__osViIntrCount)($at) -/* 00E774 7000DB74 0C003638 */ jal osGetCount -/* 00E778 7000DB78 00000000 */ nop -/* 00E77C 7000DB7C AFA20024 */ sw $v0, 0x24($sp) -/* 00E780 7000DB80 8FAA0024 */ lw $t2, 0x24($sp) -/* 00E784 7000DB84 240C0000 */ li $t4, 0 -/* 00E788 7000DB88 3C018007 */ lui $at, %hi(__osCurrentTime) -/* 00E78C 7000DB8C AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E790 7000DB90 3C018007 */ lui $at, %hi(__osCurrentTime+4) -/* 00E794 7000DB94 01406825 */ move $t5, $t2 -/* 00E798 7000DB98 AC2D8E14 */ sw $t5, %lo(__osCurrentTime+4)($at) -/* 00E79C 7000DB9C AFA00028 */ sw $zero, 0x28($sp) -.L7000DBA0: -/* 00E7A0 7000DBA0 3C0B8007 */ lui $t3, %hi(__osBaseCounter) -/* 00E7A4 7000DBA4 8D6B8E18 */ lw $t3, %lo(__osBaseCounter)($t3) -/* 00E7A8 7000DBA8 0C003638 */ jal osGetCount -/* 00E7AC 7000DBAC AFAB0024 */ sw $t3, 0x24($sp) -/* 00E7B0 7000DBB0 3C018007 */ lui $at, %hi(__osBaseCounter) -/* 00E7B4 7000DBB4 AC228E18 */ sw $v0, %lo(__osBaseCounter)($at) -/* 00E7B8 7000DBB8 3C0E8007 */ lui $t6, %hi(__osBaseCounter) -/* 00E7BC 7000DBBC 8DCE8E18 */ lw $t6, %lo(__osBaseCounter)($t6) -/* 00E7C0 7000DBC0 8FAF0024 */ lw $t7, 0x24($sp) -/* 00E7C4 7000DBC4 3C0B8007 */ lui $t3, %hi(__osCurrentTime+4) -/* 00E7C8 7000DBC8 8D6B8E14 */ lw $t3, %lo(__osCurrentTime+4)($t3) -/* 00E7CC 7000DBCC 01CFC023 */ subu $t8, $t6, $t7 -/* 00E7D0 7000DBD0 03004825 */ move $t1, $t8 -/* 00E7D4 7000DBD4 3C0A8007 */ lui $t2, %hi(__osCurrentTime) -/* 00E7D8 7000DBD8 012B6821 */ addu $t5, $t1, $t3 -/* 00E7DC 7000DBDC 8D4A8E10 */ lw $t2, %lo(__osCurrentTime)($t2) -/* 00E7E0 7000DBE0 24080000 */ li $t0, 0 -/* 00E7E4 7000DBE4 01AB082B */ sltu $at, $t5, $t3 -/* 00E7E8 7000DBE8 00286021 */ addu $t4, $at, $t0 -/* 00E7EC 7000DBEC 3C018007 */ lui $at, %hi(__osCurrentTime) -/* 00E7F0 7000DBF0 018A6021 */ addu $t4, $t4, $t2 -/* 00E7F4 7000DBF4 AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) -/* 00E7F8 7000DBF8 3C018007 */ lui $at, %hi(__osCurrentTime+4) -/* 00E7FC 7000DBFC AFB80024 */ sw $t8, 0x24($sp) -/* 00E800 7000DC00 1000FFAF */ b .L7000DAC0 -/* 00E804 7000DC04 AC2D8E14 */ sw $t5, %lo(__osCurrentTime+4)($at) -.L7000DC08: -/* 00E808 7000DC08 0C0061AF */ jal __osTimerInterrupt -/* 00E80C 7000DC0C 00000000 */ nop -/* 00E810 7000DC10 1000FFAB */ b .L7000DAC0 -/* 00E814 7000DC14 00000000 */ nop -/* 00E818 7000DC18 00000000 */ nop -/* 00E81C 7000DC1C 00000000 */ nop -/* 00E820 7000DC20 00000000 */ nop -/* 00E824 7000DC24 00000000 */ nop -/* 00E828 7000DC28 00000000 */ nop -/* 00E82C 7000DC2C 00000000 */ nop -/* 00E830 7000DC30 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E834 7000DC34 8FB00018 */ lw $s0, 0x18($sp) -/* 00E838 7000DC38 27BD0038 */ addiu $sp, $sp, 0x38 -/* 00E83C 7000DC3C 03E00008 */ jr $ra -/* 00E840 7000DC40 00000000 */ nop - -/* 00E844 7000DC44 00000000 */ nop -/* 00E848 7000DC48 00000000 */ nop -/* 00E84C 7000DC4C 00000000 */ nop -.section .data -glabel __osViDevMgr -.word 0 -glabel D_800269A4 -.word 0 -glabel D_800269A8 -.word 0 -glabel D_800269AC -.word 0 -glabel D_800269B0 -.word 0 -glabel D_800269B4 -.word 0 -glabel D_800269B8 -.word 0 - -.align 4 - - -.section .rodata - - -.section .bss -glabel viThread -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 - -glabel viThreadStack - #[4096] -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.section .bss -glabel viEventQueue -.word 0, 0, 0, 0, 0, 0 - -glabel viEventBuf -.word 0, 0, 0, 0, 0, 0 - -glabel viRetraceMsg -.word 0, 0, 0, 0, 0, 0 - -glabel viCounterMsg -.word 0, 0, 0, 0, 0, 0 - -glabel retrace -.half 0 -.align 4 - -.section .data -glabel osViModeTable -D_800269C0: -glabel osViModeTable_osViModeNtscLpn1 -.word 0, 0x320E, 0x140, 0x3E52239, 0x20D -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLpf1 -.word 0x1000000, 0x324E, 0x140, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x280, 0x1000400, 0x2301FD, 0xE0204, 2 -.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLan1 -.word 0x2000000, 0x311E, 0x140, 0x3E52239, 0x20D -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLaf1 -.word 0x3000000, 0x305E, 0x140, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x280, 0x1000400, 0x2301FD, 0xE0204, 2 -.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLpn2 -.word 0x4000000, 0x330F, 0x140, 0x3E52239, 0x20D -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLpf2 -.word 0x5000000, 0x324F, 0x140, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x500, 0x1000400, 0x2301FD, 0xE0204, 2 -.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLan2 -.word 0x6000000, 0x301F, 0x140, 0x3E52239, 0x20D -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscLaf2 -.word 0x7000000, 0x305F, 0x140, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 -.word 0x500, 0x1000400, 0x2301FD, 0xE0204, 2 -.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHpn1 -.word 0x8000000, 0x324E, 0x500, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0x500, 0x400, 0x2301FD, 0xE0204, 2 -.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHpf1 -.word 0x9000000, 0x324E, 0x280, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0x500, 0x2000800, 0x2301FD, 0xE0204, 2 -.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHan1 -.word 0xA000000, 0x305E, 0x500, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0x500, 0x400, 0x2301FD, 0xE0204, 2 -.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHaf1 -.word 0xB000000, 0x305E, 0x280, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0x500, 0x2000800, 0x2301FD, 0xE0204, 2 -.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHpn2 -.word 0xC000000, 0x334F, 0x500, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0xA00, 0x400, 0x2301FD, 0xE0204, 2 -.word 0x1400, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeNtscHpf2 -.word 0xD000000, 0x324F, 0x280, 0x3E52239, 0x20C -.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 -.word 0xA00, 0x2000800, 0x2301FD, 0xE0204, 2 -.word 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModePalLpn1 -.word 0xE000000, 0x320E, 0x140, 0x404233A, 0x271 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 -.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 -glabel osViModeTable_osViModePalLpf1 -.word 0xF000000, 0x324E, 0x140, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x280, 0x1000400, 0x5D0237, 0x9026B, 2 -.word 0x280, 0x3000400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalLan1 -.word 0x10000000, 0x311E, 0x140, 0x404233A, 0x271 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 -.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 -glabel osViModeTable_osViModePalLaf1 -.word 0x11000000, 0x305E, 0x140, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x280, 0x1000400, 0x5D0237, 0x9026B, 2 -.word 0x280, 0x3000400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalLpn2 -.word 0x12000000, 0x330F, 0x140, 0x404233A, 0x271 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 -.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 -glabel osViModeTable_osViModePalLpf2 -.word 0x13000000, 0x324F, 0x140, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x500, 0x1000400, 0x5D0237, 0x9026B, 2 -.word 0x500, 0x3000400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalLan2 -.word 0x14000000, 0x301F, 0x140, 0x404233A, 0x271 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 -.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 -glabel osViModeTable_osViModePalLaf2 -.word 0x15000000, 0x305F, 0x140, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 -.word 0x500, 0x1000400, 0x5D0237, 0x9026B, 2 -.word 0x500, 0x3000400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHpn1 -.word 0x16000000, 0x324E, 0x500, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0x500, 0x400, 0x5D0237, 0x9026B, 2 -.word 0xA00, 0x400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHpf1 -.word 0x17000000, 0x324E, 0x280, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0x500, 0x2000800, 0x5D0237, 0x9026B, 2 -.word 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHan1 -.word 0x18000000, 0x305E, 0x500, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0x500, 0x400, 0x5D0237, 0x9026B, 2 -.word 0xA00, 0x400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHaf1 -.word 0x19000000, 0x305E, 0x280, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0x500, 0x2000800, 0x5D0237, 0x9026B, 2 -.word 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHpn2 -.word 0x1A000000, 0x334F, 0x500, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0xA00, 0x400, 0x5D0237, 0x9026B, 2 -.word 0x1400, 0x400, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModePalHpf2 -.word 0x1B000000, 0x324F, 0x280, 0x404233A, 0x270 -.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 -.word 0xA00, 0x2000800, 0x5D0237, 0x9026B, 2 -.word 0x1400, 0x2000800, 0x5F0239, 0xD0269, 2 -glabel osViModeTable_osViModeMpalLpn1 -.word 0x1C000000, 0x320E, 0x140, 0x4651E39, 0x20D -.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLpf1 -.word 0x1D000000, 0x324E, 0x140, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 -.word 0x280, 0x1000400, 0x2301FD, 0xB0202, 2 -.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLan1 -.word 0x1E000000, 0x311E, 0x140, 0x4651E39, 0x20D -.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLaf1 -.word 0x1F000000, 0x305E, 0x140, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 -.word 0x280, 0x1000400, 0x2301FD, 0xB0202, 2 -.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLpn2 -.word 0x20000000, 0x330F, 0x140, 0x4651E39, 0x20D -.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLpf2 -.word 0x21000000, 0x324F, 0x140, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 -.word 0x500, 0x1000400, 0x2301FD, 0xB0202, 2 -.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLan2 -.word 0x22000000, 0x301F, 0x140, 0x4651E39, 0x20D -.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalLaf2 -.word 0x23000000, 0x305F, 0x140, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 -.word 0x500, 0x1000400, 0x2301FD, 0xB0202, 2 -.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHpn1 -.word 0x24000000, 0x324E, 0x500, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0x500, 0x400, 0x2301FD, 0xB0202, 2 -.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHpf1 -.word 0x25000000, 0x324E, 0x280, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0x500, 0x2000800, 0x2301FD, 0xB0202, 2 -.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHan1 -.word 0x26000000, 0x305E, 0x500, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0x500, 0x400, 0x2301FD, 0xB0202, 2 -.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHaf1 -.word 0x27000000, 0x305E, 0x280, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0x500, 0x2000800, 0x2301FD, 0xB0202, 2 -.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHpn2 -.word 0x28000000, 0x334F, 0x500, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0xA00, 0x400, 0x2301FD, 0xB0202, 2 -.word 0x1400, 0x400, 0x2501FF, 0xE0204, 2 -glabel osViModeTable_osViModeMpalHpf2 -.word 0x29000000, 0x324F, 0x280, 0x4651E39, 0x20C -.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 -.word 0xA00, 0x2000800, 0x2301FD, 0xB0202, 2 -.word 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2 - -.section .bss -glabel __osEventStateTab -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 -.byte 0 - - -.section .text -glabel osSetEventMesg -/* 00E850 7000DC50 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E854 7000DC54 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E858 7000DC58 AFA40028 */ sw $a0, 0x28($sp) -/* 00E85C 7000DC5C AFA5002C */ sw $a1, 0x2c($sp) -/* 00E860 7000DC60 AFA60030 */ sw $a2, 0x30($sp) -/* 00E864 7000DC64 0C00617C */ jal __osDisableInt -/* 00E868 7000DC68 AFB00018 */ sw $s0, 0x18($sp) -/* 00E86C 7000DC6C 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E870 7000DC70 3C188006 */ lui $t8, %hi(__osEventStateTab) -/* 00E874 7000DC74 8FA8002C */ lw $t0, 0x2c($sp) -/* 00E878 7000DC78 27186A10 */ addiu $t8, %lo(__osEventStateTab) # addiu $t8, $t8, 0x6a10 -/* 00E87C 7000DC7C 000E78C0 */ sll $t7, $t6, 3 -/* 00E880 7000DC80 01F8C821 */ addu $t9, $t7, $t8 -/* 00E884 7000DC84 AFB90020 */ sw $t9, 0x20($sp) -/* 00E888 7000DC88 AF280000 */ sw $t0, ($t9) -/* 00E88C 7000DC8C 8FAA0020 */ lw $t2, 0x20($sp) -/* 00E890 7000DC90 8FA90030 */ lw $t1, 0x30($sp) -/* 00E894 7000DC94 00408025 */ move $s0, $v0 -/* 00E898 7000DC98 02002025 */ move $a0, $s0 -/* 00E89C 7000DC9C 0C006184 */ jal __osRestoreInt -/* 00E8A0 7000DCA0 AD490004 */ sw $t1, 4($t2) -/* 00E8A4 7000DCA4 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E8A8 7000DCA8 8FB00018 */ lw $s0, 0x18($sp) -/* 00E8AC 7000DCAC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00E8B0 7000DCB0 03E00008 */ jr $ra -/* 00E8B4 7000DCB4 00000000 */ nop - -/* 00E8B8 7000DCB8 00000000 */ nop -/* 00E8BC 7000DCBC 00000000 */ nop -glabel osViSetEvent -/* 00E8C0 7000DCC0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E8C4 7000DCC4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E8C8 7000DCC8 AFA40028 */ sw $a0, 0x28($sp) -/* 00E8CC 7000DCCC AFA5002C */ sw $a1, 0x2c($sp) -/* 00E8D0 7000DCD0 AFA60030 */ sw $a2, 0x30($sp) -/* 00E8D4 7000DCD4 0C00617C */ jal __osDisableInt -/* 00E8D8 7000DCD8 AFB00018 */ sw $s0, 0x18($sp) -/* 00E8DC 7000DCDC 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00E8E0 7000DCE0 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00E8E4 7000DCE4 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E8E8 7000DCE8 3C198003 */ lui $t9, %hi(__osViNext) -/* 00E8EC 7000DCEC 3C098003 */ lui $t1, %hi(__osViNext) -/* 00E8F0 7000DCF0 ADEE0010 */ sw $t6, 0x10($t7) -/* 00E8F4 7000DCF4 8F398044 */ lw $t9, %lo(__osViNext)($t9) -/* 00E8F8 7000DCF8 8FB8002C */ lw $t8, 0x2c($sp) -/* 00E8FC 7000DCFC 00408025 */ move $s0, $v0 -/* 00E900 7000DD00 02002025 */ move $a0, $s0 -/* 00E904 7000DD04 AF380014 */ sw $t8, 0x14($t9) -/* 00E908 7000DD08 8D298044 */ lw $t1, %lo(__osViNext)($t1) -/* 00E90C 7000DD0C 8FA80030 */ lw $t0, 0x30($sp) -/* 00E910 7000DD10 0C006184 */ jal __osRestoreInt -/* 00E914 7000DD14 A5280002 */ sh $t0, 2($t1) -/* 00E918 7000DD18 8FBF001C */ lw $ra, 0x1c($sp) -/* 00E91C 7000DD1C 8FB00018 */ lw $s0, 0x18($sp) -/* 00E920 7000DD20 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00E924 7000DD24 03E00008 */ jr $ra -/* 00E928 7000DD28 00000000 */ nop - -/* 00E92C 7000DD2C 00000000 */ nop -glabel osSetIntMask -/* 00E930 7000DD30 400C6000 */ mfc0 $t4, $12 -/* 00E934 7000DD34 3182FF01 */ andi $v0, $t4, 0xff01 -/* 00E938 7000DD38 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 00E93C 7000DD3C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 00E940 7000DD40 8D0B0000 */ lw $t3, ($t0) -/* 00E944 7000DD44 2401FFFF */ li $at, -1 -/* 00E948 7000DD48 01614026 */ xor $t0, $t3, $at -/* 00E94C 7000DD4C 3108FF00 */ andi $t0, $t0, 0xff00 -/* 00E950 7000DD50 00481025 */ or $v0, $v0, $t0 -/* 00E954 7000DD54 3C0AA430 */ lui $t2, %hi(MI_INTR_MASK_REG) # $t2, 0xa430 -/* 00E958 7000DD58 8D4A000C */ lw $t2, %lo(MI_INTR_MASK_REG)($t2) -/* 00E95C 7000DD5C 11400005 */ beqz $t2, .L7000DD74 -/* 00E960 7000DD60 000B4C02 */ srl $t1, $t3, 0x10 -/* 00E964 7000DD64 2401FFFF */ li $at, -1 -/* 00E968 7000DD68 01214826 */ xor $t1, $t1, $at -/* 00E96C 7000DD6C 3129003F */ andi $t1, $t1, 0x3f -/* 00E970 7000DD70 01495025 */ or $t2, $t2, $t1 -.L7000DD74: -/* 00E974 7000DD74 000A5400 */ sll $t2, $t2, 0x10 -/* 00E978 7000DD78 004A1025 */ or $v0, $v0, $t2 -/* 00E97C 7000DD7C 3C01003F */ lui $at, 0x3f -/* 00E980 7000DD80 00814024 */ and $t0, $a0, $at -/* 00E984 7000DD84 010B4024 */ and $t0, $t0, $t3 -/* 00E988 7000DD88 000843C2 */ srl $t0, $t0, 0xf -/* 00E98C 7000DD8C 3C0A8003 */ lui $t2, %hi(__osRcpImTable) -/* 00E990 7000DD90 01485021 */ addu $t2, $t2, $t0 -/* 00E994 7000DD94 954A93A0 */ lhu $t2, %lo(__osRcpImTable)($t2) -/* 00E998 7000DD98 3C01A430 */ lui $at, %hi(MI_INTR_MASK_REG) # $at, 0xa430 -/* 00E99C 7000DD9C AC2A000C */ sw $t2, %lo(MI_INTR_MASK_REG)($at) -/* 00E9A0 7000DDA0 3088FF01 */ andi $t0, $a0, 0xff01 -/* 00E9A4 7000DDA4 3169FF00 */ andi $t1, $t3, 0xff00 -/* 00E9A8 7000DDA8 01094024 */ and $t0, $t0, $t1 -/* 00E9AC 7000DDAC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 00E9B0 7000DDB0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 00E9B4 7000DDB4 01816024 */ and $t4, $t4, $at -/* 00E9B8 7000DDB8 01886025 */ or $t4, $t4, $t0 -/* 00E9BC 7000DDBC 408C6000 */ mtc0 $t4, $12 -/* 00E9C0 7000DDC0 00000000 */ nop -/* 00E9C4 7000DDC4 00000000 */ nop -/* 00E9C8 7000DDC8 03E00008 */ jr $ra -/* 00E9CC 7000DDCC 00000000 */ nop - -.section .rodata -glabel __osRcpImTable - .half 0x555, 0x556, 0x559, 0x55a, 0x565, 0x566, 0x569, 0x56a - .half 0x595, 0x596, 0x599, 0x59a, 0x5a5, 0x5a6, 0x5a9, 0x5aa - .half 0x655, 0x656, 0x659, 0x65a, 0x665, 0x666, 0x669, 0x66a - .half 0x695, 0x696, 0x699, 0x69a, 0x6a5, 0x6a6, 0x6a9, 0x6aa - .half 0x955, 0x956, 0x959, 0x95a, 0x965, 0x966, 0x969, 0x96a - .half 0x995, 0x996, 0x999, 0x99a, 0x9a5, 0x9a6, 0x9a9, 0x9aa - .half 0xa55, 0xa56, 0xa59, 0xa5a, 0xa65, 0xa66, 0xa69, 0xa6a - .half 0xa95, 0xa96, 0xa99, 0xa9a, 0xaa5, 0xaa6, 0xaa9, 0xaaa - - -.section .text -glabel osRecvMesg -/* 00E9D0 7000DDD0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00E9D4 7000DDD4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00E9D8 7000DDD8 AFA40028 */ sw $a0, 0x28($sp) -/* 00E9DC 7000DDDC AFA5002C */ sw $a1, 0x2c($sp) -/* 00E9E0 7000DDE0 AFA60030 */ sw $a2, 0x30($sp) -/* 00E9E4 7000DDE4 AFB10018 */ sw $s1, 0x18($sp) -/* 00E9E8 7000DDE8 0C00617C */ jal __osDisableInt -/* 00E9EC 7000DDEC AFB00014 */ sw $s0, 0x14($sp) -/* 00E9F0 7000DDF0 8FAE0028 */ lw $t6, 0x28($sp) -/* 00E9F4 7000DDF4 00408025 */ move $s0, $v0 -/* 00E9F8 7000DDF8 8DCF0008 */ lw $t7, 8($t6) -/* 00E9FC 7000DDFC 15E00012 */ bnez $t7, .L7000DE48 -/* 00EA00 7000DE00 00000000 */ nop -.L7000DE04: -/* 00EA04 7000DE04 8FB80030 */ lw $t8, 0x30($sp) -/* 00EA08 7000DE08 17000005 */ bnez $t8, .L7000DE20 -/* 00EA0C 7000DE0C 00000000 */ nop -/* 00EA10 7000DE10 0C006184 */ jal __osRestoreInt -/* 00EA14 7000DE14 02002025 */ move $a0, $s0 -/* 00EA18 7000DE18 10000036 */ b .L7000DEF4 -/* 00EA1C 7000DE1C 2402FFFF */ li $v0, -1 -.L7000DE20: -/* 00EA20 7000DE20 3C088002 */ lui $t0, %hi(__osRunningThread) -/* 00EA24 7000DE24 8D087730 */ lw $t0, %lo(__osRunningThread)($t0) -/* 00EA28 7000DE28 24190008 */ li $t9, 8 -/* 00EA2C 7000DE2C A5190010 */ sh $t9, 0x10($t0) -/* 00EA30 7000DE30 0C0041EB */ jal __osEnqueueAndYield -/* 00EA34 7000DE34 8FA40028 */ lw $a0, 0x28($sp) -/* 00EA38 7000DE38 8FA90028 */ lw $t1, 0x28($sp) -/* 00EA3C 7000DE3C 8D2A0008 */ lw $t2, 8($t1) -/* 00EA40 7000DE40 1140FFF0 */ beqz $t2, .L7000DE04 -/* 00EA44 7000DE44 00000000 */ nop -.L7000DE48: -/* 00EA48 7000DE48 8FAB002C */ lw $t3, 0x2c($sp) -/* 00EA4C 7000DE4C 11600008 */ beqz $t3, .L7000DE70 -/* 00EA50 7000DE50 00000000 */ nop -/* 00EA54 7000DE54 8FAC0028 */ lw $t4, 0x28($sp) -/* 00EA58 7000DE58 8D8E000C */ lw $t6, 0xc($t4) -/* 00EA5C 7000DE5C 8D8D0014 */ lw $t5, 0x14($t4) -/* 00EA60 7000DE60 000E7880 */ sll $t7, $t6, 2 -/* 00EA64 7000DE64 01AFC021 */ addu $t8, $t5, $t7 -/* 00EA68 7000DE68 8F190000 */ lw $t9, ($t8) -/* 00EA6C 7000DE6C AD790000 */ sw $t9, ($t3) -.L7000DE70: -/* 00EA70 7000DE70 8FA80028 */ lw $t0, 0x28($sp) -/* 00EA74 7000DE74 8D09000C */ lw $t1, 0xc($t0) -/* 00EA78 7000DE78 8D0C0010 */ lw $t4, 0x10($t0) -/* 00EA7C 7000DE7C 252A0001 */ addiu $t2, $t1, 1 -/* 00EA80 7000DE80 014C001A */ div $zero, $t2, $t4 -/* 00EA84 7000DE84 00007010 */ mfhi $t6 -/* 00EA88 7000DE88 AD0E000C */ sw $t6, 0xc($t0) -/* 00EA8C 7000DE8C 8FAD0028 */ lw $t5, 0x28($sp) -/* 00EA90 7000DE90 15800002 */ bnez $t4, .L7000DE9C -/* 00EA94 7000DE94 00000000 */ nop -/* 00EA98 7000DE98 0007000D */ break 7 -.L7000DE9C: -/* 00EA9C 7000DE9C 2401FFFF */ li $at, -1 -/* 00EAA0 7000DEA0 15810004 */ bne $t4, $at, .L7000DEB4 -/* 00EAA4 7000DEA4 3C018000 */ lui $at, 0x8000 -/* 00EAA8 7000DEA8 15410002 */ bne $t2, $at, .L7000DEB4 -/* 00EAAC 7000DEAC 00000000 */ nop -/* 00EAB0 7000DEB0 0006000D */ break 6 -.L7000DEB4: -/* 00EAB4 7000DEB4 8DAF0008 */ lw $t7, 8($t5) -/* 00EAB8 7000DEB8 25F8FFFF */ addiu $t8, $t7, -1 -/* 00EABC 7000DEBC ADB80008 */ sw $t8, 8($t5) -/* 00EAC0 7000DEC0 8FB90028 */ lw $t9, 0x28($sp) -/* 00EAC4 7000DEC4 8F2B0004 */ lw $t3, 4($t9) -/* 00EAC8 7000DEC8 8D690000 */ lw $t1, ($t3) -/* 00EACC 7000DECC 11200006 */ beqz $t1, .L7000DEE8 -/* 00EAD0 7000DED0 00000000 */ nop -/* 00EAD4 7000DED4 0C00423D */ jal __osPopThread -/* 00EAD8 7000DED8 27240004 */ addiu $a0, $t9, 4 -/* 00EADC 7000DEDC 00408825 */ move $s1, $v0 -/* 00EAE0 7000DEE0 0C003560 */ jal osStartThread -/* 00EAE4 7000DEE4 02202025 */ move $a0, $s1 -.L7000DEE8: -/* 00EAE8 7000DEE8 0C006184 */ jal __osRestoreInt -/* 00EAEC 7000DEEC 02002025 */ move $a0, $s0 -/* 00EAF0 7000DEF0 00001025 */ move $v0, $zero -.L7000DEF4: -/* 00EAF4 7000DEF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 00EAF8 7000DEF8 8FB00014 */ lw $s0, 0x14($sp) -/* 00EAFC 7000DEFC 8FB10018 */ lw $s1, 0x18($sp) -/* 00EB00 7000DF00 03E00008 */ jr $ra -/* 00EB04 7000DF04 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 00EB08 7000DF08 00000000 */ nop -/* 00EB0C 7000DF0C 00000000 */ nop -glabel osSendMesg -/* 00EB10 7000DF10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00EB14 7000DF14 AFBF0024 */ sw $ra, 0x24($sp) -/* 00EB18 7000DF18 AFA40038 */ sw $a0, 0x38($sp) -/* 00EB1C 7000DF1C AFA5003C */ sw $a1, 0x3c($sp) -/* 00EB20 7000DF20 AFA60040 */ sw $a2, 0x40($sp) -/* 00EB24 7000DF24 AFB20020 */ sw $s2, 0x20($sp) -/* 00EB28 7000DF28 AFB1001C */ sw $s1, 0x1c($sp) -/* 00EB2C 7000DF2C 0C00617C */ jal __osDisableInt -/* 00EB30 7000DF30 AFB00018 */ sw $s0, 0x18($sp) -/* 00EB34 7000DF34 8FAE0038 */ lw $t6, 0x38($sp) -/* 00EB38 7000DF38 00408025 */ move $s0, $v0 -/* 00EB3C 7000DF3C 8DCF0008 */ lw $t7, 8($t6) -/* 00EB40 7000DF40 8DD80010 */ lw $t8, 0x10($t6) -/* 00EB44 7000DF44 01F8082A */ slt $at, $t7, $t8 -/* 00EB48 7000DF48 14200018 */ bnez $at, .L7000DFAC -/* 00EB4C 7000DF4C 00000000 */ nop -.L7000DF50: -/* 00EB50 7000DF50 8FB90040 */ lw $t9, 0x40($sp) -/* 00EB54 7000DF54 24010001 */ li $at, 1 -/* 00EB58 7000DF58 1721000A */ bne $t9, $at, .L7000DF84 -/* 00EB5C 7000DF5C 00000000 */ nop -/* 00EB60 7000DF60 3C098002 */ lui $t1, %hi(__osRunningThread) -/* 00EB64 7000DF64 8D297730 */ lw $t1, %lo(__osRunningThread)($t1) -/* 00EB68 7000DF68 24080008 */ li $t0, 8 -/* 00EB6C 7000DF6C A5280010 */ sh $t0, 0x10($t1) -/* 00EB70 7000DF70 8FA40038 */ lw $a0, 0x38($sp) -/* 00EB74 7000DF74 0C0041EB */ jal __osEnqueueAndYield -/* 00EB78 7000DF78 24840004 */ addiu $a0, $a0, 4 -/* 00EB7C 7000DF7C 10000005 */ b .L7000DF94 -/* 00EB80 7000DF80 00000000 */ nop -.L7000DF84: -/* 00EB84 7000DF84 0C006184 */ jal __osRestoreInt -/* 00EB88 7000DF88 02002025 */ move $a0, $s0 -/* 00EB8C 7000DF8C 1000002D */ b .L7000E044 -/* 00EB90 7000DF90 2402FFFF */ li $v0, -1 -.L7000DF94: -/* 00EB94 7000DF94 8FAA0038 */ lw $t2, 0x38($sp) -/* 00EB98 7000DF98 8D4B0008 */ lw $t3, 8($t2) -/* 00EB9C 7000DF9C 8D4C0010 */ lw $t4, 0x10($t2) -/* 00EBA0 7000DFA0 016C082A */ slt $at, $t3, $t4 -/* 00EBA4 7000DFA4 1020FFEA */ beqz $at, .L7000DF50 -/* 00EBA8 7000DFA8 00000000 */ nop -.L7000DFAC: -/* 00EBAC 7000DFAC 8FAD0038 */ lw $t5, 0x38($sp) -/* 00EBB0 7000DFB0 8FA8003C */ lw $t0, 0x3c($sp) -/* 00EBB4 7000DFB4 8DAE000C */ lw $t6, 0xc($t5) -/* 00EBB8 7000DFB8 8DAF0008 */ lw $t7, 8($t5) -/* 00EBBC 7000DFBC 8DB90010 */ lw $t9, 0x10($t5) -/* 00EBC0 7000DFC0 8DA90014 */ lw $t1, 0x14($t5) -/* 00EBC4 7000DFC4 01CFC021 */ addu $t8, $t6, $t7 -/* 00EBC8 7000DFC8 0319001A */ div $zero, $t8, $t9 -/* 00EBCC 7000DFCC 00008810 */ mfhi $s1 -/* 00EBD0 7000DFD0 00115080 */ sll $t2, $s1, 2 -/* 00EBD4 7000DFD4 012A5821 */ addu $t3, $t1, $t2 -/* 00EBD8 7000DFD8 AD680000 */ sw $t0, ($t3) -/* 00EBDC 7000DFDC 8FAC0038 */ lw $t4, 0x38($sp) -/* 00EBE0 7000DFE0 17200002 */ bnez $t9, .L7000DFEC -/* 00EBE4 7000DFE4 00000000 */ nop -/* 00EBE8 7000DFE8 0007000D */ break 7 -.L7000DFEC: -/* 00EBEC 7000DFEC 2401FFFF */ li $at, -1 -/* 00EBF0 7000DFF0 17210004 */ bne $t9, $at, .L7000E004 -/* 00EBF4 7000DFF4 3C018000 */ lui $at, 0x8000 -/* 00EBF8 7000DFF8 17010002 */ bne $t8, $at, .L7000E004 -/* 00EBFC 7000DFFC 00000000 */ nop -/* 00EC00 7000E000 0006000D */ break 6 -.L7000E004: -/* 00EC04 7000E004 8D8E0008 */ lw $t6, 8($t4) -/* 00EC08 7000E008 25CF0001 */ addiu $t7, $t6, 1 -/* 00EC0C 7000E00C AD8F0008 */ sw $t7, 8($t4) -/* 00EC10 7000E010 8FB80038 */ lw $t8, 0x38($sp) -/* 00EC14 7000E014 8F190000 */ lw $t9, ($t8) -/* 00EC18 7000E018 8F2D0000 */ lw $t5, ($t9) -/* 00EC1C 7000E01C 11A00006 */ beqz $t5, .L7000E038 -/* 00EC20 7000E020 00000000 */ nop -/* 00EC24 7000E024 0C00423D */ jal __osPopThread -/* 00EC28 7000E028 03002025 */ move $a0, $t8 -/* 00EC2C 7000E02C 00409025 */ move $s2, $v0 -/* 00EC30 7000E030 0C003560 */ jal osStartThread -/* 00EC34 7000E034 02402025 */ move $a0, $s2 -.L7000E038: -/* 00EC38 7000E038 0C006184 */ jal __osRestoreInt -/* 00EC3C 7000E03C 02002025 */ move $a0, $s0 -/* 00EC40 7000E040 00001025 */ move $v0, $zero -.L7000E044: -/* 00EC44 7000E044 8FBF0024 */ lw $ra, 0x24($sp) -/* 00EC48 7000E048 8FB00018 */ lw $s0, 0x18($sp) -/* 00EC4C 7000E04C 8FB1001C */ lw $s1, 0x1c($sp) -/* 00EC50 7000E050 8FB20020 */ lw $s2, 0x20($sp) -/* 00EC54 7000E054 03E00008 */ jr $ra -/* 00EC58 7000E058 27BD0038 */ addiu $sp, $sp, 0x38 - -/* 00EC5C 7000E05C 00000000 */ nop -glabel osViSetMode -/* 00EC60 7000E060 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00EC64 7000E064 AFBF001C */ sw $ra, 0x1c($sp) -/* 00EC68 7000E068 AFA40028 */ sw $a0, 0x28($sp) -/* 00EC6C 7000E06C 0C00617C */ jal __osDisableInt -/* 00EC70 7000E070 AFB00018 */ sw $s0, 0x18($sp) -/* 00EC74 7000E074 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00EC78 7000E078 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00EC7C 7000E07C 8FAE0028 */ lw $t6, 0x28($sp) -/* 00EC80 7000E080 3C198003 */ lui $t9, %hi(__osViNext) -/* 00EC84 7000E084 24180001 */ li $t8, 1 -/* 00EC88 7000E088 ADEE0008 */ sw $t6, 8($t7) -/* 00EC8C 7000E08C 8F398044 */ lw $t9, %lo(__osViNext)($t9) -/* 00EC90 7000E090 3C088003 */ lui $t0, %hi(__osViNext) -/* 00EC94 7000E094 00408025 */ move $s0, $v0 -/* 00EC98 7000E098 A7380000 */ sh $t8, ($t9) -/* 00EC9C 7000E09C 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 00ECA0 7000E0A0 02002025 */ move $a0, $s0 -/* 00ECA4 7000E0A4 8D090008 */ lw $t1, 8($t0) -/* 00ECA8 7000E0A8 8D2A0004 */ lw $t2, 4($t1) -/* 00ECAC 7000E0AC 0C006184 */ jal __osRestoreInt -/* 00ECB0 7000E0B0 AD0A000C */ sw $t2, 0xc($t0) -/* 00ECB4 7000E0B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 00ECB8 7000E0B8 8FB00018 */ lw $s0, 0x18($sp) -/* 00ECBC 7000E0BC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00ECC0 7000E0C0 03E00008 */ jr $ra -/* 00ECC4 7000E0C4 00000000 */ nop - -/* 00ECC8 7000E0C8 00000000 */ nop -/* 00ECCC 7000E0CC 00000000 */ nop -glabel osViSetXScale -/* 00ECD0 7000E0D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00ECD4 7000E0D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00ECD8 7000E0D8 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 00ECDC 7000E0DC AFB10018 */ sw $s1, 0x18($sp) -/* 00ECE0 7000E0E0 0C00617C */ jal __osDisableInt -/* 00ECE4 7000E0E4 AFB00014 */ sw $s0, 0x14($sp) -/* 00ECE8 7000E0E8 3C0E8003 */ lui $t6, %hi(__osViNext) -/* 00ECEC 7000E0EC 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) -/* 00ECF0 7000E0F0 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 00ECF4 7000E0F4 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00ECF8 7000E0F8 3C088003 */ lui $t0, %hi(__osViNext) -/* 00ECFC 7000E0FC E5C40018 */ swc1 $f4, 0x18($t6) -/* 00ED00 7000E100 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00ED04 7000E104 00408825 */ move $s1, $v0 -/* 00ED08 7000E108 95F80000 */ lhu $t8, ($t7) -/* 00ED0C 7000E10C 37190002 */ ori $t9, $t8, 2 -/* 00ED10 7000E110 A5F90000 */ sh $t9, ($t7) -/* 00ED14 7000E114 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 00ED18 7000E118 8D090008 */ lw $t1, 8($t0) -/* 00ED1C 7000E11C C5060018 */ lwc1 $f6, 0x18($t0) -/* 00ED20 7000E120 8D300020 */ lw $s0, 0x20($t1) -/* 00ED24 7000E124 320A0FFF */ andi $t2, $s0, 0xfff -/* 00ED28 7000E128 01408025 */ move $s0, $t2 -/* 00ED2C 7000E12C 44904000 */ mtc1 $s0, $f8 -/* 00ED30 7000E130 06010005 */ bgez $s0, .L7000E148 -/* 00ED34 7000E134 468042A0 */ cvt.s.w $f10, $f8 -/* 00ED38 7000E138 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00ED3C 7000E13C 44818000 */ mtc1 $at, $f16 -/* 00ED40 7000E140 00000000 */ nop -/* 00ED44 7000E144 46105280 */ add.s $f10, $f10, $f16 -.L7000E148: -/* 00ED48 7000E148 460A3482 */ mul.s $f18, $f6, $f10 -/* 00ED4C 7000E14C 240C0001 */ li $t4, 1 -/* 00ED50 7000E150 444BF800 */ cfc1 $t3, $31 -/* 00ED54 7000E154 44CCF800 */ ctc1 $t4, $31 -/* 00ED58 7000E158 00000000 */ nop -/* 00ED5C 7000E15C 46009124 */ cvt.w.s $f4, $f18 -/* 00ED60 7000E160 444CF800 */ cfc1 $t4, $31 -/* 00ED64 7000E164 00000000 */ nop -/* 00ED68 7000E168 31810004 */ andi $at, $t4, 4 -/* 00ED6C 7000E16C 318C0078 */ andi $t4, $t4, 0x78 -/* 00ED70 7000E170 11800013 */ beqz $t4, .L7000E1C0 -/* 00ED74 7000E174 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 00ED78 7000E178 44812000 */ mtc1 $at, $f4 -/* 00ED7C 7000E17C 240C0001 */ li $t4, 1 -/* 00ED80 7000E180 46049101 */ sub.s $f4, $f18, $f4 -/* 00ED84 7000E184 44CCF800 */ ctc1 $t4, $31 -/* 00ED88 7000E188 00000000 */ nop -/* 00ED8C 7000E18C 46002124 */ cvt.w.s $f4, $f4 -/* 00ED90 7000E190 444CF800 */ cfc1 $t4, $31 -/* 00ED94 7000E194 00000000 */ nop -/* 00ED98 7000E198 31810004 */ andi $at, $t4, 4 -/* 00ED9C 7000E19C 318C0078 */ andi $t4, $t4, 0x78 -/* 00EDA0 7000E1A0 15800005 */ bnez $t4, .L7000E1B8 -/* 00EDA4 7000E1A4 00000000 */ nop -/* 00EDA8 7000E1A8 440C2000 */ mfc1 $t4, $f4 -/* 00EDAC 7000E1AC 3C018000 */ lui $at, 0x8000 -/* 00EDB0 7000E1B0 10000007 */ b .L7000E1D0 -/* 00EDB4 7000E1B4 01816025 */ or $t4, $t4, $at -.L7000E1B8: -/* 00EDB8 7000E1B8 10000005 */ b .L7000E1D0 -/* 00EDBC 7000E1BC 240CFFFF */ li $t4, -1 -.L7000E1C0: -/* 00EDC0 7000E1C0 440C2000 */ mfc1 $t4, $f4 -/* 00EDC4 7000E1C4 00000000 */ nop -/* 00EDC8 7000E1C8 0580FFFB */ bltz $t4, .L7000E1B8 -/* 00EDCC 7000E1CC 00000000 */ nop -.L7000E1D0: -/* 00EDD0 7000E1D0 44CBF800 */ ctc1 $t3, $31 -/* 00EDD4 7000E1D4 318D0FFF */ andi $t5, $t4, 0xfff -/* 00EDD8 7000E1D8 AD0D0020 */ sw $t5, 0x20($t0) -/* 00EDDC 7000E1DC 0C006184 */ jal __osRestoreInt -/* 00EDE0 7000E1E0 02202025 */ move $a0, $s1 -/* 00EDE4 7000E1E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 00EDE8 7000E1E8 8FB00014 */ lw $s0, 0x14($sp) -/* 00EDEC 7000E1EC 8FB10018 */ lw $s1, 0x18($sp) -/* 00EDF0 7000E1F0 03E00008 */ jr $ra -/* 00EDF4 7000E1F4 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 00EDF8 7000E1F8 00000000 */ nop -/* 00EDFC 7000E1FC 00000000 */ nop -glabel osViSetYScale -/* 00EE00 7000E200 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00EE04 7000E204 AFBF001C */ sw $ra, 0x1c($sp) -/* 00EE08 7000E208 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 00EE0C 7000E20C 0C00617C */ jal __osDisableInt -/* 00EE10 7000E210 AFB00018 */ sw $s0, 0x18($sp) -/* 00EE14 7000E214 3C0E8003 */ lui $t6, %hi(__osViNext) -/* 00EE18 7000E218 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) -/* 00EE1C 7000E21C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 00EE20 7000E220 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00EE24 7000E224 00408025 */ move $s0, $v0 -/* 00EE28 7000E228 E5C40024 */ swc1 $f4, 0x24($t6) -/* 00EE2C 7000E22C 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00EE30 7000E230 02002025 */ move $a0, $s0 -/* 00EE34 7000E234 95F80000 */ lhu $t8, ($t7) -/* 00EE38 7000E238 37190004 */ ori $t9, $t8, 4 -/* 00EE3C 7000E23C 0C006184 */ jal __osRestoreInt -/* 00EE40 7000E240 A5F90000 */ sh $t9, ($t7) -/* 00EE44 7000E244 8FBF001C */ lw $ra, 0x1c($sp) -/* 00EE48 7000E248 8FB00018 */ lw $s0, 0x18($sp) -/* 00EE4C 7000E24C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00EE50 7000E250 03E00008 */ jr $ra -/* 00EE54 7000E254 00000000 */ nop - -/* 00EE58 7000E258 00000000 */ nop -/* 00EE5C 7000E25C 00000000 */ nop -glabel osViRepeatLine -/* 00EE60 7000E260 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00EE64 7000E264 AFBF001C */ sw $ra, 0x1c($sp) -/* 00EE68 7000E268 AFA40028 */ sw $a0, 0x28($sp) -/* 00EE6C 7000E26C 0C00617C */ jal __osDisableInt -/* 00EE70 7000E270 AFB00018 */ sw $s0, 0x18($sp) -/* 00EE74 7000E274 93AE002B */ lbu $t6, 0x2b($sp) -/* 00EE78 7000E278 00408025 */ move $s0, $v0 -/* 00EE7C 7000E27C 11C00007 */ beqz $t6, .L7000E29C -/* 00EE80 7000E280 00000000 */ nop -/* 00EE84 7000E284 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00EE88 7000E288 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00EE8C 7000E28C 95F80000 */ lhu $t8, ($t7) -/* 00EE90 7000E290 37190040 */ ori $t9, $t8, 0x40 -/* 00EE94 7000E294 10000007 */ b .L7000E2B4 -/* 00EE98 7000E298 A5F90000 */ sh $t9, ($t7) -.L7000E29C: -/* 00EE9C 7000E29C 3C088003 */ lui $t0, %hi(__osViNext) -/* 00EEA0 7000E2A0 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 00EEA4 7000E2A4 2401FFBF */ li $at, -65 -/* 00EEA8 7000E2A8 95090000 */ lhu $t1, ($t0) -/* 00EEAC 7000E2AC 01215024 */ and $t2, $t1, $at -/* 00EEB0 7000E2B0 A50A0000 */ sh $t2, ($t0) -.L7000E2B4: -/* 00EEB4 7000E2B4 0C006184 */ jal __osRestoreInt -/* 00EEB8 7000E2B8 02002025 */ move $a0, $s0 -/* 00EEBC 7000E2BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 00EEC0 7000E2C0 8FB00018 */ lw $s0, 0x18($sp) -/* 00EEC4 7000E2C4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00EEC8 7000E2C8 03E00008 */ jr $ra -/* 00EECC 7000E2CC 00000000 */ nop - -glabel osViBlack -/* 00EED0 7000E2D0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00EED4 7000E2D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00EED8 7000E2D8 AFA40028 */ sw $a0, 0x28($sp) -/* 00EEDC 7000E2DC 0C00617C */ jal __osDisableInt -/* 00EEE0 7000E2E0 AFB00018 */ sw $s0, 0x18($sp) -/* 00EEE4 7000E2E4 93AE002B */ lbu $t6, 0x2b($sp) -/* 00EEE8 7000E2E8 00408025 */ move $s0, $v0 -/* 00EEEC 7000E2EC 11C00007 */ beqz $t6, .L7000E30C -/* 00EEF0 7000E2F0 00000000 */ nop -/* 00EEF4 7000E2F4 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00EEF8 7000E2F8 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00EEFC 7000E2FC 95F80000 */ lhu $t8, ($t7) -/* 00EF00 7000E300 37190020 */ ori $t9, $t8, 0x20 -/* 00EF04 7000E304 10000007 */ b .L7000E324 -/* 00EF08 7000E308 A5F90000 */ sh $t9, ($t7) -.L7000E30C: -/* 00EF0C 7000E30C 3C088003 */ lui $t0, %hi(__osViNext) -/* 00EF10 7000E310 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 00EF14 7000E314 2401FFDF */ li $at, -33 -/* 00EF18 7000E318 95090000 */ lhu $t1, ($t0) -/* 00EF1C 7000E31C 01215024 */ and $t2, $t1, $at -/* 00EF20 7000E320 A50A0000 */ sh $t2, ($t0) -.L7000E324: -/* 00EF24 7000E324 0C006184 */ jal __osRestoreInt -/* 00EF28 7000E328 02002025 */ move $a0, $s0 -/* 00EF2C 7000E32C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00EF30 7000E330 8FB00018 */ lw $s0, 0x18($sp) -/* 00EF34 7000E334 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00EF38 7000E338 03E00008 */ jr $ra -/* 00EF3C 7000E33C 00000000 */ nop - -glabel osSpTaskYielded -/* 00EF40 7000E340 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00EF44 7000E344 AFBF0014 */ sw $ra, 0x14($sp) -/* 00EF48 7000E348 0C0063B4 */ jal __osSpGetStatus -/* 00EF4C 7000E34C AFA40020 */ sw $a0, 0x20($sp) -/* 00EF50 7000E350 AFA2001C */ sw $v0, 0x1c($sp) -/* 00EF54 7000E354 8FAE001C */ lw $t6, 0x1c($sp) -/* 00EF58 7000E358 31CF0100 */ andi $t7, $t6, 0x100 -/* 00EF5C 7000E35C 11E00004 */ beqz $t7, .L7000E370 -/* 00EF60 7000E360 00000000 */ nop -/* 00EF64 7000E364 24180001 */ li $t8, 1 -/* 00EF68 7000E368 10000002 */ b .L7000E374 -/* 00EF6C 7000E36C AFB80018 */ sw $t8, 0x18($sp) -.L7000E370: -/* 00EF70 7000E370 AFA00018 */ sw $zero, 0x18($sp) -.L7000E374: -/* 00EF74 7000E374 8FB9001C */ lw $t9, 0x1c($sp) -/* 00EF78 7000E378 33280080 */ andi $t0, $t9, 0x80 -/* 00EF7C 7000E37C 1100000B */ beqz $t0, .L7000E3AC -/* 00EF80 7000E380 00000000 */ nop -/* 00EF84 7000E384 8FA90020 */ lw $t1, 0x20($sp) -/* 00EF88 7000E388 8FAB0018 */ lw $t3, 0x18($sp) -/* 00EF8C 7000E38C 2401FFFD */ li $at, -3 -/* 00EF90 7000E390 8D2A0004 */ lw $t2, 4($t1) -/* 00EF94 7000E394 014B6025 */ or $t4, $t2, $t3 -/* 00EF98 7000E398 AD2C0004 */ sw $t4, 4($t1) -/* 00EF9C 7000E39C 8FAD0020 */ lw $t5, 0x20($sp) -/* 00EFA0 7000E3A0 8DAE0004 */ lw $t6, 4($t5) -/* 00EFA4 7000E3A4 01C17824 */ and $t7, $t6, $at -/* 00EFA8 7000E3A8 ADAF0004 */ sw $t7, 4($t5) -.L7000E3AC: -/* 00EFAC 7000E3AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 00EFB0 7000E3B0 8FA20018 */ lw $v0, 0x18($sp) -/* 00EFB4 7000E3B4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00EFB8 7000E3B8 03E00008 */ jr $ra -/* 00EFBC 7000E3BC 00000000 */ nop - -glabel osDpGetCounters -/* 00EFC0 7000E3C0 3C0EA410 */ lui $t6, %hi(DPC_CLOCK_REG) # $t6, 0xa410 -/* 00EFC4 7000E3C4 8DCF0010 */ lw $t7, %lo(DPC_CLOCK_REG)($t6) -/* 00EFC8 7000E3C8 3C18A410 */ lui $t8, %hi(DPC_BUFBUSY_REG) # $t8, 0xa410 -/* 00EFCC 7000E3CC 3C08A410 */ lui $t0, %hi(DPC_PIPEBUSY_REG) # $t0, 0xa410 -/* 00EFD0 7000E3D0 AC8F0000 */ sw $t7, ($a0) -/* 00EFD4 7000E3D4 8F190014 */ lw $t9, %lo(DPC_BUFBUSY_REG)($t8) -/* 00EFD8 7000E3D8 24840004 */ addiu $a0, $a0, 4 -/* 00EFDC 7000E3DC 3C0AA410 */ lui $t2, %hi(DPC_TMEM_REG) # $t2, 0xa410 -/* 00EFE0 7000E3E0 AC990000 */ sw $t9, ($a0) -/* 00EFE4 7000E3E4 8D090018 */ lw $t1, %lo(DPC_PIPEBUSY_REG)($t0) -/* 00EFE8 7000E3E8 24840004 */ addiu $a0, $a0, 4 -/* 00EFEC 7000E3EC 24840004 */ addiu $a0, $a0, 4 -/* 00EFF0 7000E3F0 AC89FFFC */ sw $t1, -4($a0) -/* 00EFF4 7000E3F4 8D4B001C */ lw $t3, %lo(DPC_TMEM_REG)($t2) -/* 00EFF8 7000E3F8 24840004 */ addiu $a0, $a0, 4 -/* 00EFFC 7000E3FC 03E00008 */ jr $ra -/* 00F000 7000E400 AC8BFFFC */ sw $t3, -4($a0) - -/* 00F004 7000E404 00000000 */ nop -/* 00F008 7000E408 00000000 */ nop -/* 00F00C 7000E40C 00000000 */ nop - -glabel osViGetCurrentFramebuffer -/* 00F010 7000E410 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00F014 7000E414 AFBF001C */ sw $ra, 0x1c($sp) -/* 00F018 7000E418 0C00617C */ jal __osDisableInt -/* 00F01C 7000E41C AFB00018 */ sw $s0, 0x18($sp) -/* 00F020 7000E420 3C0E8003 */ lui $t6, %hi(__osViCurr) -/* 00F024 7000E424 8DCE8040 */ lw $t6, %lo(__osViCurr)($t6) -/* 00F028 7000E428 00408025 */ move $s0, $v0 -/* 00F02C 7000E42C 02002025 */ move $a0, $s0 -/* 00F030 7000E430 8DCF0004 */ lw $t7, 4($t6) -/* 00F034 7000E434 0C006184 */ jal __osRestoreInt -/* 00F038 7000E438 AFAF0020 */ sw $t7, 0x20($sp) -/* 00F03C 7000E43C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00F040 7000E440 8FA20020 */ lw $v0, 0x20($sp) -/* 00F044 7000E444 8FB00018 */ lw $s0, 0x18($sp) -/* 00F048 7000E448 03E00008 */ jr $ra -/* 00F04C 7000E44C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osViGetNextFramebuffer -/* 00F050 7000E450 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00F054 7000E454 AFBF001C */ sw $ra, 0x1c($sp) -/* 00F058 7000E458 0C00617C */ jal __osDisableInt -/* 00F05C 7000E45C AFB00018 */ sw $s0, 0x18($sp) -/* 00F060 7000E460 3C0E8003 */ lui $t6, %hi(__osViNext) -/* 00F064 7000E464 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) -/* 00F068 7000E468 00408025 */ move $s0, $v0 -/* 00F06C 7000E46C 02002025 */ move $a0, $s0 -/* 00F070 7000E470 8DCF0004 */ lw $t7, 4($t6) -/* 00F074 7000E474 0C006184 */ jal __osRestoreInt -/* 00F078 7000E478 AFAF0020 */ sw $t7, 0x20($sp) -/* 00F07C 7000E47C 8FBF001C */ lw $ra, 0x1c($sp) -/* 00F080 7000E480 8FA20020 */ lw $v0, 0x20($sp) -/* 00F084 7000E484 8FB00018 */ lw $s0, 0x18($sp) -/* 00F088 7000E488 03E00008 */ jr $ra -/* 00F08C 7000E48C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel osViSwapBuffer -/* 00F090 7000E490 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00F094 7000E494 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F098 7000E498 0C00617C */ jal __osDisableInt -/* 00F09C 7000E49C AFA40020 */ sw $a0, 0x20($sp) -/* 00F0A0 7000E4A0 3C0F8003 */ lui $t7, %hi(__osViNext) -/* 00F0A4 7000E4A4 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) -/* 00F0A8 7000E4A8 8FAE0020 */ lw $t6, 0x20($sp) -/* 00F0AC 7000E4AC AFA2001C */ sw $v0, 0x1c($sp) -/* 00F0B0 7000E4B0 3C188003 */ lui $t8, %hi(__osViNext) -/* 00F0B4 7000E4B4 ADEE0004 */ sw $t6, 4($t7) -/* 00F0B8 7000E4B8 8F188044 */ lw $t8, %lo(__osViNext)($t8) -/* 00F0BC 7000E4BC 97190000 */ lhu $t9, ($t8) -/* 00F0C0 7000E4C0 37280010 */ ori $t0, $t9, 0x10 -/* 00F0C4 7000E4C4 A7080000 */ sh $t0, ($t8) -/* 00F0C8 7000E4C8 0C006184 */ jal __osRestoreInt -/* 00F0CC 7000E4CC 8FA4001C */ lw $a0, 0x1c($sp) -/* 00F0D0 7000E4D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F0D4 7000E4D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00F0D8 7000E4D8 03E00008 */ jr $ra -/* 00F0DC 7000E4DC 00000000 */ nop - -glabel osDpSetStatus -/* 00F0E0 7000E4E0 3C0EA410 */ lui $t6, 0xa410 -/* 00F0E4 7000E4E4 03E00008 */ jr $ra -/* 00F0E8 7000E4E8 ADC4000C */ sw $a0, 0xc($t6) - -/* 00F0EC 7000E4EC 00000000 */ nop - -.section .bss -.word 0,0 -glabel tp -glabel type -.word 0 -glabel flags -.word 0 -glabel t_ucode_boot -.word 0 -glabel t_ucode_boot_size -.word 0 -glabel t_ucode -.word 0 -glabel t_ucode_size -.word 0 -glabel t_ucode_data -.word 0 -glabel t_ucode_data_size -.word 0 -glabel t_dram_stack -.word 0 -glabel t_dram_stack_size -.word 0 -glabel t_output_buff -.word 0 -glabel t_output_buff_size -.word 0 -glabel t_data_ptr -.word 0 -glabel t_data_size -.word 0 -glabel t_yield_data_ptr -.word 0 -glabel t_yield_data_size -.word 0 - - - - -.section .text -glabel _VirtualToPhysicalTask -/* 00F0F0 7000E4F0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00F0F4 7000E4F4 3C0E8006 */ lui $t6, %hi(tp) -/* 00F0F8 7000E4F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F0FC 7000E4FC AFA40020 */ sw $a0, 0x20($sp) -/* 00F100 7000E500 25CE6A90 */ addiu $t6, %lo(tp) # addiu $t6, $t6, 0x6a90 -/* 00F104 7000E504 AFAE001C */ sw $t6, 0x1c($sp) -/* 00F108 7000E508 01C02825 */ move $a1, $t6 -/* 00F10C 7000E50C 8FA40020 */ lw $a0, 0x20($sp) -/* 00F110 7000E510 0C003E5C */ jal _bcopy -/* 00F114 7000E514 24060040 */ li $a2, 64 -/* 00F118 7000E518 8FAF001C */ lw $t7, 0x1c($sp) -/* 00F11C 7000E51C 8DF80010 */ lw $t8, 0x10($t7) -/* 00F120 7000E520 13000005 */ beqz $t8, .L7000E538 -/* 00F124 7000E524 00000000 */ nop -/* 00F128 7000E528 0C003A2C */ jal osVirtualToPhysical -/* 00F12C 7000E52C 03002025 */ move $a0, $t8 -/* 00F130 7000E530 8FB9001C */ lw $t9, 0x1c($sp) -/* 00F134 7000E534 AF220010 */ sw $v0, 0x10($t9) -.L7000E538: -/* 00F138 7000E538 8FA8001C */ lw $t0, 0x1c($sp) -/* 00F13C 7000E53C 8D090018 */ lw $t1, 0x18($t0) -/* 00F140 7000E540 11200005 */ beqz $t1, .L7000E558 -/* 00F144 7000E544 00000000 */ nop -/* 00F148 7000E548 0C003A2C */ jal osVirtualToPhysical -/* 00F14C 7000E54C 01202025 */ move $a0, $t1 -/* 00F150 7000E550 8FAA001C */ lw $t2, 0x1c($sp) -/* 00F154 7000E554 AD420018 */ sw $v0, 0x18($t2) -.L7000E558: -/* 00F158 7000E558 8FAB001C */ lw $t3, 0x1c($sp) -/* 00F15C 7000E55C 8D6C0020 */ lw $t4, 0x20($t3) -/* 00F160 7000E560 11800005 */ beqz $t4, .L7000E578 -/* 00F164 7000E564 00000000 */ nop -/* 00F168 7000E568 0C003A2C */ jal osVirtualToPhysical -/* 00F16C 7000E56C 01802025 */ move $a0, $t4 -/* 00F170 7000E570 8FAD001C */ lw $t5, 0x1c($sp) -/* 00F174 7000E574 ADA20020 */ sw $v0, 0x20($t5) -.L7000E578: -/* 00F178 7000E578 8FAE001C */ lw $t6, 0x1c($sp) -/* 00F17C 7000E57C 8DCF0028 */ lw $t7, 0x28($t6) -/* 00F180 7000E580 11E00005 */ beqz $t7, .L7000E598 -/* 00F184 7000E584 00000000 */ nop -/* 00F188 7000E588 0C003A2C */ jal osVirtualToPhysical -/* 00F18C 7000E58C 01E02025 */ move $a0, $t7 -/* 00F190 7000E590 8FB8001C */ lw $t8, 0x1c($sp) -/* 00F194 7000E594 AF020028 */ sw $v0, 0x28($t8) -.L7000E598: -/* 00F198 7000E598 8FB9001C */ lw $t9, 0x1c($sp) -/* 00F19C 7000E59C 8F28002C */ lw $t0, 0x2c($t9) -/* 00F1A0 7000E5A0 11000005 */ beqz $t0, .L7000E5B8 -/* 00F1A4 7000E5A4 00000000 */ nop -/* 00F1A8 7000E5A8 0C003A2C */ jal osVirtualToPhysical -/* 00F1AC 7000E5AC 01002025 */ move $a0, $t0 -/* 00F1B0 7000E5B0 8FA9001C */ lw $t1, 0x1c($sp) -/* 00F1B4 7000E5B4 AD22002C */ sw $v0, 0x2c($t1) -.L7000E5B8: -/* 00F1B8 7000E5B8 8FAA001C */ lw $t2, 0x1c($sp) -/* 00F1BC 7000E5BC 8D4B0030 */ lw $t3, 0x30($t2) -/* 00F1C0 7000E5C0 11600005 */ beqz $t3, .L7000E5D8 -/* 00F1C4 7000E5C4 00000000 */ nop -/* 00F1C8 7000E5C8 0C003A2C */ jal osVirtualToPhysical -/* 00F1CC 7000E5CC 01602025 */ move $a0, $t3 -/* 00F1D0 7000E5D0 8FAC001C */ lw $t4, 0x1c($sp) -/* 00F1D4 7000E5D4 AD820030 */ sw $v0, 0x30($t4) -.L7000E5D8: -/* 00F1D8 7000E5D8 8FAD001C */ lw $t5, 0x1c($sp) -/* 00F1DC 7000E5DC 8DAE0038 */ lw $t6, 0x38($t5) -/* 00F1E0 7000E5E0 11C00005 */ beqz $t6, .L7000E5F8 -/* 00F1E4 7000E5E4 00000000 */ nop -/* 00F1E8 7000E5E8 0C003A2C */ jal osVirtualToPhysical -/* 00F1EC 7000E5EC 01C02025 */ move $a0, $t6 -/* 00F1F0 7000E5F0 8FAF001C */ lw $t7, 0x1c($sp) -/* 00F1F4 7000E5F4 ADE20038 */ sw $v0, 0x38($t7) -.L7000E5F8: -/* 00F1F8 7000E5F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F1FC 7000E5FC 8FA2001C */ lw $v0, 0x1c($sp) -/* 00F200 7000E600 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00F204 7000E604 03E00008 */ jr $ra -/* 00F208 7000E608 00000000 */ nop - -glabel osSpTaskLoad -/* 00F20C 7000E60C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00F210 7000E610 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F214 7000E614 AFA40020 */ sw $a0, 0x20($sp) -/* 00F218 7000E618 0C00393C */ jal _VirtualToPhysicalTask -/* 00F21C 7000E61C 8FA40020 */ lw $a0, 0x20($sp) -/* 00F220 7000E620 AFA2001C */ sw $v0, 0x1c($sp) -/* 00F224 7000E624 8FAE001C */ lw $t6, 0x1c($sp) -/* 00F228 7000E628 8DCF0004 */ lw $t7, 4($t6) -/* 00F22C 7000E62C 31F80001 */ andi $t8, $t7, 1 -/* 00F230 7000E630 1300000B */ beqz $t8, .L7000E660 -/* 00F234 7000E634 00000000 */ nop -/* 00F238 7000E638 8DD90038 */ lw $t9, 0x38($t6) -/* 00F23C 7000E63C 2401FFFE */ li $at, -2 -/* 00F240 7000E640 ADD90018 */ sw $t9, 0x18($t6) -/* 00F244 7000E644 8FA8001C */ lw $t0, 0x1c($sp) -/* 00F248 7000E648 8D09003C */ lw $t1, 0x3c($t0) -/* 00F24C 7000E64C AD09001C */ sw $t1, 0x1c($t0) -/* 00F250 7000E650 8FAA0020 */ lw $t2, 0x20($sp) -/* 00F254 7000E654 8D4B0004 */ lw $t3, 4($t2) -/* 00F258 7000E658 01616024 */ and $t4, $t3, $at -/* 00F25C 7000E65C AD4C0004 */ sw $t4, 4($t2) -.L7000E660: -/* 00F260 7000E660 8FA4001C */ lw $a0, 0x1c($sp) -/* 00F264 7000E664 0C0042F4 */ jal osWritebackDCache -/* 00F268 7000E668 24050040 */ li $a1, 64 -/* 00F26C 7000E66C 0C0063B8 */ jal __osSpSetStatus -/* 00F270 7000E670 24042B00 */ li $a0, 11008 -/* 00F274 7000E674 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 00F278 7000E678 0C0063BC */ jal __osSpSetPc -/* 00F27C 7000E67C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 00F280 7000E680 2401FFFF */ li $at, -1 -/* 00F284 7000E684 14410007 */ bne $v0, $at, .L7000E6A4 -/* 00F288 7000E688 00000000 */ nop -.L7000E68C: -/* 00F28C 7000E68C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 00F290 7000E690 0C0063BC */ jal __osSpSetPc -/* 00F294 7000E694 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 00F298 7000E698 2401FFFF */ li $at, -1 -/* 00F29C 7000E69C 1041FFFB */ beq $v0, $at, .L7000E68C -/* 00F2A0 7000E6A0 00000000 */ nop -.L7000E6A4: -/* 00F2A4 7000E6A4 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 00F2A8 7000E6A8 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 00F2AC 7000E6AC 24040001 */ li $a0, 1 -/* 00F2B0 7000E6B0 8FA6001C */ lw $a2, 0x1c($sp) -/* 00F2B4 7000E6B4 0C0063CC */ jal __osSpRawStartDma -/* 00F2B8 7000E6B8 24070040 */ li $a3, 64 -/* 00F2BC 7000E6BC 2401FFFF */ li $at, -1 -/* 00F2C0 7000E6C0 1441000A */ bne $v0, $at, .L7000E6EC -/* 00F2C4 7000E6C4 00000000 */ nop -.L7000E6C8: -/* 00F2C8 7000E6C8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 00F2CC 7000E6CC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 00F2D0 7000E6D0 24040001 */ li $a0, 1 -/* 00F2D4 7000E6D4 8FA6001C */ lw $a2, 0x1c($sp) -/* 00F2D8 7000E6D8 0C0063CC */ jal __osSpRawStartDma -/* 00F2DC 7000E6DC 24070040 */ li $a3, 64 -/* 00F2E0 7000E6E0 2401FFFF */ li $at, -1 -/* 00F2E4 7000E6E4 1041FFF8 */ beq $v0, $at, .L7000E6C8 -/* 00F2E8 7000E6E8 00000000 */ nop -.L7000E6EC: -/* 00F2EC 7000E6EC 0C0063F0 */ jal __osSpDeviceBusy -/* 00F2F0 7000E6F0 00000000 */ nop -/* 00F2F4 7000E6F4 10400005 */ beqz $v0, .L7000E70C -/* 00F2F8 7000E6F8 00000000 */ nop -.L7000E6FC: -/* 00F2FC 7000E6FC 0C0063F0 */ jal __osSpDeviceBusy -/* 00F300 7000E700 00000000 */ nop -/* 00F304 7000E704 1440FFFD */ bnez $v0, .L7000E6FC -/* 00F308 7000E708 00000000 */ nop -.L7000E70C: -/* 00F30C 7000E70C 8FAD001C */ lw $t5, 0x1c($sp) -/* 00F310 7000E710 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 00F314 7000E714 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 00F318 7000E718 24040001 */ li $a0, 1 -/* 00F31C 7000E71C 8DA60008 */ lw $a2, 8($t5) -/* 00F320 7000E720 0C0063CC */ jal __osSpRawStartDma -/* 00F324 7000E724 8DA7000C */ lw $a3, 0xc($t5) -/* 00F328 7000E728 2401FFFF */ li $at, -1 -/* 00F32C 7000E72C 1441000B */ bne $v0, $at, .L7000E75C -/* 00F330 7000E730 00000000 */ nop -.L7000E734: -/* 00F334 7000E734 8FAF001C */ lw $t7, 0x1c($sp) -/* 00F338 7000E738 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 00F33C 7000E73C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 00F340 7000E740 24040001 */ li $a0, 1 -/* 00F344 7000E744 8DE60008 */ lw $a2, 8($t7) -/* 00F348 7000E748 0C0063CC */ jal __osSpRawStartDma -/* 00F34C 7000E74C 8DE7000C */ lw $a3, 0xc($t7) -/* 00F350 7000E750 2401FFFF */ li $at, -1 -/* 00F354 7000E754 1041FFF7 */ beq $v0, $at, .L7000E734 -/* 00F358 7000E758 00000000 */ nop -.L7000E75C: -/* 00F35C 7000E75C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F360 7000E760 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00F364 7000E764 03E00008 */ jr $ra -/* 00F368 7000E768 00000000 */ nop - -glabel osSpTaskStartGo -/* 00F36C 7000E76C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00F370 7000E770 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F374 7000E774 0C0063F0 */ jal __osSpDeviceBusy -/* 00F378 7000E778 AFA40018 */ sw $a0, 0x18($sp) -/* 00F37C 7000E77C 10400005 */ beqz $v0, .L7000E794 -/* 00F380 7000E780 00000000 */ nop -.L7000E784: -/* 00F384 7000E784 0C0063F0 */ jal __osSpDeviceBusy -/* 00F388 7000E788 00000000 */ nop -/* 00F38C 7000E78C 1440FFFD */ bnez $v0, .L7000E784 -/* 00F390 7000E790 00000000 */ nop -.L7000E794: -/* 00F394 7000E794 0C0063B8 */ jal __osSpSetStatus -/* 00F398 7000E798 24040125 */ li $a0, 293 -/* 00F39C 7000E79C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F3A0 7000E7A0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00F3A4 7000E7A4 03E00008 */ jr $ra -/* 00F3A8 7000E7A8 00000000 */ nop - -/* 00F3AC 7000E7AC 00000000 */ nop -glabel osDpSetNextBuffer -/* 00F3B0 7000E7B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00F3B4 7000E7B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00F3B8 7000E7B8 AFA40028 */ sw $a0, 0x28($sp) -/* 00F3BC 7000E7BC AFA60030 */ sw $a2, 0x30($sp) -/* 00F3C0 7000E7C0 AFA70034 */ sw $a3, 0x34($sp) -/* 00F3C4 7000E7C4 0C0063FC */ jal __osDpDeviceBusy -/* 00F3C8 7000E7C8 AFB00018 */ sw $s0, 0x18($sp) -/* 00F3CC 7000E7CC 10400003 */ beqz $v0, .L7000E7DC -/* 00F3D0 7000E7D0 00000000 */ nop -/* 00F3D4 7000E7D4 1000001B */ b .L7000E844 -/* 00F3D8 7000E7D8 2402FFFF */ li $v0, -1 -.L7000E7DC: -/* 00F3DC 7000E7DC 240E0001 */ li $t6, 1 -/* 00F3E0 7000E7E0 3C0FA410 */ lui $t7, %hi(DPC_STATUS_REG) # $t7, 0xa410 -/* 00F3E4 7000E7E4 ADEE000C */ sw $t6, %lo(DPC_STATUS_REG)($t7) -.L7000E7E8: -/* 00F3E8 7000E7E8 3C18A410 */ lui $t8, %hi(DPC_STATUS_REG) # $t8, 0xa410 -/* 00F3EC 7000E7EC 8F10000C */ lw $s0, %lo(DPC_STATUS_REG)($t8) -/* 00F3F0 7000E7F0 32190001 */ andi $t9, $s0, 1 -/* 00F3F4 7000E7F4 1720FFFC */ bnez $t9, .L7000E7E8 -/* 00F3F8 7000E7F8 00000000 */ nop -/* 00F3FC 7000E7FC 0C003A2C */ jal osVirtualToPhysical -/* 00F400 7000E800 8FA40028 */ lw $a0, 0x28($sp) -/* 00F404 7000E804 3C08A410 */ lui $t0, 0xa410 -/* 00F408 7000E808 AD020000 */ sw $v0, ($t0) -/* 00F40C 7000E80C 0C003A2C */ jal osVirtualToPhysical -/* 00F410 7000E810 8FA40028 */ lw $a0, 0x28($sp) -/* 00F414 7000E814 8FAD0034 */ lw $t5, 0x34($sp) -/* 00F418 7000E818 00405825 */ move $t3, $v0 -/* 00F41C 7000E81C 8FAC0030 */ lw $t4, 0x30($sp) -/* 00F420 7000E820 016D7821 */ addu $t7, $t3, $t5 -/* 00F424 7000E824 240A0000 */ li $t2, 0 -/* 00F428 7000E828 01ED082B */ sltu $at, $t7, $t5 -/* 00F42C 7000E82C 002A7021 */ addu $t6, $at, $t2 -/* 00F430 7000E830 01E04825 */ move $t1, $t7 -/* 00F434 7000E834 3C18A410 */ lui $t8, %hi(DPC_END_REG) # $t8, 0xa410 -/* 00F438 7000E838 AF090004 */ sw $t1, %lo(DPC_END_REG)($t8) -/* 00F43C 7000E83C 00001025 */ move $v0, $zero -/* 00F440 7000E840 01CC7021 */ addu $t6, $t6, $t4 -.L7000E844: -/* 00F444 7000E844 8FBF001C */ lw $ra, 0x1c($sp) -/* 00F448 7000E848 8FB00018 */ lw $s0, 0x18($sp) -/* 00F44C 7000E84C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 00F450 7000E850 03E00008 */ jr $ra -/* 00F454 7000E854 00000000 */ nop - -/* 00F458 7000E858 00000000 */ nop -/* 00F45C 7000E85C 00000000 */ nop -glabel osSpTaskYield -/* 00F460 7000E860 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00F464 7000E864 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F468 7000E868 0C0063B8 */ jal __osSpSetStatus -/* 00F46C 7000E86C 24040400 */ li $a0, 1024 -/* 00F470 7000E870 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F474 7000E874 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00F478 7000E878 03E00008 */ jr $ra -/* 00F47C 7000E87C 00000000 */ nop - -glabel __osGetTLBHi -/* 00F480 7000E880 40840000 */ mtc0 $a0, $0 -/* 00F484 7000E884 00000000 */ nop -/* 00F488 7000E888 42000001 */ tlbr -/* 00F48C 7000E88C 00000000 */ nop -/* 00F490 7000E890 00000000 */ nop -/* 00F494 7000E894 00000000 */ nop -/* 00F498 7000E898 40025000 */ mfc0 $v0, $10 -/* 00F49C 7000E89C 03E00008 */ jr $ra -/* 00F4A0 7000E8A0 00000000 */ nop - -/* 00F4A4 7000E8A4 00000000 */ nop -/* 00F4A8 7000E8A8 00000000 */ nop -/* 00F4AC 7000E8AC 00000000 */ nop -glabel osVirtualToPhysical -/* 00F4B0 7000E8B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00F4B4 7000E8B4 AFA40018 */ sw $a0, 0x18($sp) -/* 00F4B8 7000E8B8 8FAE0018 */ lw $t6, 0x18($sp) -/* 00F4BC 7000E8BC 3C018000 */ lui $at, 0x8000 -/* 00F4C0 7000E8C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F4C4 7000E8C4 01C1082B */ sltu $at, $t6, $at -/* 00F4C8 7000E8C8 14200007 */ bnez $at, .L7000E8E8 -/* 00F4CC 7000E8CC 3C01A000 */ lui $at, 0xa000 -/* 00F4D0 7000E8D0 01C1082B */ sltu $at, $t6, $at -/* 00F4D4 7000E8D4 10200004 */ beqz $at, .L7000E8E8 -/* 00F4D8 7000E8D8 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 00F4DC 7000E8DC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 00F4E0 7000E8E0 1000000E */ b .L7000E91C -/* 00F4E4 7000E8E4 01C11024 */ and $v0, $t6, $at -.L7000E8E8: -/* 00F4E8 7000E8E8 8FAF0018 */ lw $t7, 0x18($sp) -/* 00F4EC 7000E8EC 3C01A000 */ lui $at, 0xa000 -/* 00F4F0 7000E8F0 01E1082B */ sltu $at, $t7, $at -/* 00F4F4 7000E8F4 14200007 */ bnez $at, .L7000E914 -/* 00F4F8 7000E8F8 3C01C000 */ lui $at, 0xc000 -/* 00F4FC 7000E8FC 01E1082B */ sltu $at, $t7, $at -/* 00F500 7000E900 10200004 */ beqz $at, .L7000E914 -/* 00F504 7000E904 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 00F508 7000E908 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 00F50C 7000E90C 10000003 */ b .L7000E91C -/* 00F510 7000E910 01E11024 */ and $v0, $t7, $at -.L7000E914: -/* 00F514 7000E914 0C006408 */ jal __osProbeTLB -/* 00F518 7000E918 8FA40018 */ lw $a0, 0x18($sp) -.L7000E91C: -/* 00F51C 7000E91C 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F520 7000E920 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00F524 7000E924 03E00008 */ jr $ra -/* 00F528 7000E928 00000000 */ nop - -/* 00F52C 7000E92C 00000000 */ nop -glabel osAiSetFrequency -/* 00F530 7000E930 3C0E8003 */ lui $t6, %hi(osViClock)#%hi(osViClock) -/* 00F534 7000E934 8DCE804C */ lw $t6, %lo(osViClock)($t6)#%lo(osViClock)($t6) -/* 00F538 7000E938 44844000 */ mtc1 $a0, $f8 -/* 00F53C 7000E93C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 00F540 7000E940 448E2000 */ mtc1 $t6, $f4 -/* 00F544 7000E944 468042A0 */ cvt.s.w $f10, $f8 -/* 00F548 7000E948 04810005 */ bgez $a0, .L7000E960 -/* 00F54C 7000E94C 468021A0 */ cvt.s.w $f6, $f4 -/* 00F550 7000E950 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 00F554 7000E954 44818000 */ mtc1 $at, $f16 -/* 00F558 7000E958 00000000 */ nop -/* 00F55C 7000E95C 46105280 */ add.s $f10, $f10, $f16 -.L7000E960: -/* 00F560 7000E960 460A3483 */ div.s $f18, $f6, $f10 -/* 00F564 7000E964 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 00F568 7000E968 44812000 */ mtc1 $at, $f4 -/* 00F56C 7000E96C 24050001 */ li $a1, 1 -/* 00F570 7000E970 46049300 */ add.s $f12, $f18, $f4 -/* 00F574 7000E974 444FF800 */ cfc1 $t7, $31 -/* 00F578 7000E978 44C5F800 */ ctc1 $a1, $31 -/* 00F57C 7000E97C 00000000 */ nop -/* 00F580 7000E980 46006224 */ cvt.w.s $f8, $f12 -/* 00F584 7000E984 4445F800 */ cfc1 $a1, $31 -/* 00F588 7000E988 00000000 */ nop -/* 00F58C 7000E98C 30A10004 */ andi $at, $a1, 4 -/* 00F590 7000E990 30A50078 */ andi $a1, $a1, 0x78 -/* 00F594 7000E994 10A00013 */ beqz $a1, .L7000E9E4 -/* 00F598 7000E998 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 00F59C 7000E99C 44814000 */ mtc1 $at, $f8 -/* 00F5A0 7000E9A0 24050001 */ li $a1, 1 -/* 00F5A4 7000E9A4 46086201 */ sub.s $f8, $f12, $f8 -/* 00F5A8 7000E9A8 44C5F800 */ ctc1 $a1, $31 -/* 00F5AC 7000E9AC 00000000 */ nop -/* 00F5B0 7000E9B0 46004224 */ cvt.w.s $f8, $f8 -/* 00F5B4 7000E9B4 4445F800 */ cfc1 $a1, $31 -/* 00F5B8 7000E9B8 00000000 */ nop -/* 00F5BC 7000E9BC 30A10004 */ andi $at, $a1, 4 -/* 00F5C0 7000E9C0 30A50078 */ andi $a1, $a1, 0x78 -/* 00F5C4 7000E9C4 14A00005 */ bnez $a1, .L7000E9DC -/* 00F5C8 7000E9C8 00000000 */ nop -/* 00F5CC 7000E9CC 44054000 */ mfc1 $a1, $f8 -/* 00F5D0 7000E9D0 3C018000 */ lui $at, 0x8000 -/* 00F5D4 7000E9D4 10000007 */ b .L7000E9F4 -/* 00F5D8 7000E9D8 00A12825 */ or $a1, $a1, $at -.L7000E9DC: -/* 00F5DC 7000E9DC 10000005 */ b .L7000E9F4 -/* 00F5E0 7000E9E0 2405FFFF */ li $a1, -1 -.L7000E9E4: -/* 00F5E4 7000E9E4 44054000 */ mfc1 $a1, $f8 -/* 00F5E8 7000E9E8 00000000 */ nop -/* 00F5EC 7000E9EC 04A0FFFB */ bltz $a1, .L7000E9DC -/* 00F5F0 7000E9F0 00000000 */ nop -.L7000E9F4: -/* 00F5F4 7000E9F4 44CFF800 */ ctc1 $t7, $31 -/* 00F5F8 7000E9F8 2CA10084 */ sltiu $at, $a1, 0x84 -/* 00F5FC 7000E9FC 10200003 */ beqz $at, .L7000EA0C -/* 00F600 7000EA00 00000000 */ nop -/* 00F604 7000EA04 10000020 */ b .L7000EA88 -/* 00F608 7000EA08 2402FFFF */ li $v0, -1 -.L7000EA0C: -/* 00F60C 7000EA0C 24010042 */ li $at, 66 -/* 00F610 7000EA10 00A1001B */ divu $zero, $a1, $at -/* 00F614 7000EA14 00003012 */ mflo $a2 -/* 00F618 7000EA18 30D800FF */ andi $t8, $a2, 0xff -/* 00F61C 7000EA1C 03003025 */ move $a2, $t8 -/* 00F620 7000EA20 28C10011 */ slti $at, $a2, 0x11 -/* 00F624 7000EA24 14200002 */ bnez $at, .L7000EA30 -/* 00F628 7000EA28 00000000 */ nop -/* 00F62C 7000EA2C 24060010 */ li $a2, 16 -.L7000EA30: -/* 00F630 7000EA30 24B9FFFF */ addiu $t9, $a1, -1 -/* 00F634 7000EA34 3C08A450 */ lui $t0, %hi(AI_DACRATE_REG) # $t0, 0xa450 -/* 00F638 7000EA38 AD190010 */ sw $t9, %lo(AI_DACRATE_REG)($t0) -/* 00F63C 7000EA3C 24C9FFFF */ addiu $t1, $a2, -1 -/* 00F640 7000EA40 3C0AA450 */ lui $t2, %hi(AI_BITRATE_REG) # $t2, 0xa450 -/* 00F644 7000EA44 AD490014 */ sw $t1, %lo(AI_BITRATE_REG)($t2) -/* 00F648 7000EA48 240B0001 */ li $t3, 1 -/* 00F64C 7000EA4C 3C0CA450 */ lui $t4, %hi(AI_CONTROL_REG) # $t4, 0xa450 -/* 00F650 7000EA50 AD8B0008 */ sw $t3, %lo(AI_CONTROL_REG)($t4) -/* 00F654 7000EA54 3C0D8003 */ lui $t5, %hi(osViClock) #osViClock -/* 00F658 7000EA58 8DAD804C */ lw $t5, %lo(osViClock)($t5) #osViClock -/* 00F65C 7000EA5C 01A5001A */ div $zero, $t5, $a1 -/* 00F660 7000EA60 00001012 */ mflo $v0 -/* 00F664 7000EA64 14A00002 */ bnez $a1, .L7000EA70 -/* 00F668 7000EA68 00000000 */ nop -/* 00F66C 7000EA6C 0007000D */ break 7 -.L7000EA70: -/* 00F670 7000EA70 2401FFFF */ li $at, -1 -/* 00F674 7000EA74 14A10004 */ bne $a1, $at, .L7000EA88 -/* 00F678 7000EA78 3C018000 */ lui $at, 0x8000 -/* 00F67C 7000EA7C 15A10002 */ bne $t5, $at, .L7000EA88 -/* 00F680 7000EA80 00000000 */ nop -/* 00F684 7000EA84 0006000D */ break 6 -.L7000EA88: -/* 00F688 7000EA88 03E00008 */ jr $ra -/* 00F68C 7000EA8C 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel alUnlink -/* 00F690 7000EA90 8C820000 */ lw $v0, ($a0) -/* 00F694 7000EA94 50400004 */ beql $v0, $zero, .L7000EAA8 -/* 00F698 7000EA98 8C820004 */ lw $v0, 4($a0) -/* 00F69C 7000EA9C 8C8E0004 */ lw $t6, 4($a0) -/* 00F6A0 7000EAA0 AC4E0004 */ sw $t6, 4($v0) -/* 00F6A4 7000EAA4 8C820004 */ lw $v0, 4($a0) -.L7000EAA8: -/* 00F6A8 7000EAA8 10400003 */ beqz $v0, .L7000EAB8 -/* 00F6AC 7000EAAC 00000000 */ nop -/* 00F6B0 7000EAB0 8C8F0000 */ lw $t7, ($a0) -/* 00F6B4 7000EAB4 AC4F0000 */ sw $t7, ($v0) -.L7000EAB8: -/* 00F6B8 7000EAB8 03E00008 */ jr $ra -/* 00F6BC 7000EABC 00000000 */ nop - -glabel alLink -/* 00F6C0 7000EAC0 8CAE0000 */ lw $t6, ($a1) -/* 00F6C4 7000EAC4 AC850004 */ sw $a1, 4($a0) -/* 00F6C8 7000EAC8 AC8E0000 */ sw $t6, ($a0) -/* 00F6CC 7000EACC 8CA20000 */ lw $v0, ($a1) -/* 00F6D0 7000EAD0 10400002 */ beqz $v0, .L7000EADC -/* 00F6D4 7000EAD4 00000000 */ nop -/* 00F6D8 7000EAD8 AC440004 */ sw $a0, 4($v0) -.L7000EADC: -/* 00F6DC 7000EADC 03E00008 */ jr $ra -/* 00F6E0 7000EAE0 ACA40000 */ sw $a0, ($a1) - -glabel alClose -/* 00F6E4 7000EAE4 3C0E8002 */ lui $t6, %hi(alGlobals) -/* 00F6E8 7000EAE8 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) -/* 00F6EC 7000EAEC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00F6F0 7000EAF0 AFBF0014 */ sw $ra, 0x14($sp) -/* 00F6F4 7000EAF4 51C00006 */ beql $t6, $zero, .L7000EB10 -/* 00F6F8 7000EAF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F6FC 7000EAFC 0C006438 */ jal alSynDelete -/* 00F700 7000EB00 00000000 */ nop -/* 00F704 7000EB04 3C018002 */ lui $at, %hi(alGlobals) -/* 00F708 7000EB08 AC2076E0 */ sw $zero, %lo(alGlobals)($at) -/* 00F70C 7000EB0C 8FBF0014 */ lw $ra, 0x14($sp) -.L7000EB10: -/* 00F710 7000EB10 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00F714 7000EB14 03E00008 */ jr $ra -/* 00F718 7000EB18 00000000 */ nop - -glabel alInit -/* 00F71C 7000EB1C 3C028002 */ lui $v0, %hi(alGlobals) -/* 00F720 7000EB20 244276E0 */ addiu $v0, %lo(alGlobals) # addiu $v0, $v0, 0x76e0 -/* 00F724 7000EB24 8C4E0000 */ lw $t6, ($v0) -/* 00F728 7000EB28 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00F72C 7000EB2C AFBF0014 */ sw $ra, 0x14($sp) -/* 00F730 7000EB30 55C00004 */ bnezl $t6, .L7000EB44 -/* 00F734 7000EB34 8FBF0014 */ lw $ra, 0x14($sp) -/* 00F738 7000EB38 0C003CE8 */ jal alSynNew -/* 00F73C 7000EB3C AC440000 */ sw $a0, ($v0) -/* 00F740 7000EB40 8FBF0014 */ lw $ra, 0x14($sp) -.L7000EB44: -/* 00F744 7000EB44 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00F748 7000EB48 03E00008 */ jr $ra -/* 00F74C 7000EB4C 00000000 */ nop - -.section .data -glabel alGlobals - .word 0 -.align 4 - -.section .text -glabel alHeapDBAlloc -/* 00F750 7000EB50 8FAE0010 */ lw $t6, 0x10($sp) -/* 00F754 7000EB54 AFA40000 */ sw $a0, ($sp) -/* 00F758 7000EB58 AFA50004 */ sw $a1, 4($sp) -/* 00F75C 7000EB5C 00EE0019 */ multu $a3, $t6 -/* 00F760 7000EB60 8CD90008 */ lw $t9, 8($a2) -/* 00F764 7000EB64 8CD80000 */ lw $t8, ($a2) -/* 00F768 7000EB68 8CC40004 */ lw $a0, 4($a2) -/* 00F76C 7000EB6C 2401FFF0 */ li $at, -16 -/* 00F770 7000EB70 03194021 */ addu $t0, $t8, $t9 -/* 00F774 7000EB74 00001825 */ move $v1, $zero -/* 00F778 7000EB78 00001012 */ mflo $v0 -/* 00F77C 7000EB7C 2442000F */ addiu $v0, $v0, 0xf -/* 00F780 7000EB80 00417824 */ and $t7, $v0, $at -/* 00F784 7000EB84 008F4821 */ addu $t1, $a0, $t7 -/* 00F788 7000EB88 0109082B */ sltu $at, $t0, $t1 -/* 00F78C 7000EB8C 14200003 */ bnez $at, .L7000EB9C -/* 00F790 7000EB90 008F5021 */ addu $t2, $a0, $t7 -/* 00F794 7000EB94 00801825 */ move $v1, $a0 -/* 00F798 7000EB98 ACCA0004 */ sw $t2, 4($a2) -.L7000EB9C: -/* 00F79C 7000EB9C 03E00008 */ jr $ra -/* 00F7A0 7000EBA0 00601025 */ move $v0, $v1 - -/* 00F7A4 7000EBA4 00000000 */ nop -/* 00F7A8 7000EBA8 00000000 */ nop -/* 00F7AC 7000EBAC 00000000 */ nop -glabel osGetTime -/* 00F7B0 7000EBB0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00F7B4 7000EBB4 AFBF001C */ sw $ra, 0x1c($sp) -/* 00F7B8 7000EBB8 0C00617C */ jal __osDisableInt -/* 00F7BC 7000EBBC AFB00018 */ sw $s0, 0x18($sp) -/* 00F7C0 7000EBC0 0C003638 */ jal osGetCount -/* 00F7C4 7000EBC4 00408025 */ move $s0, $v0 -/* 00F7C8 7000EBC8 AFA20034 */ sw $v0, 0x34($sp) -/* 00F7CC 7000EBCC 3C0F8007 */ lui $t7, %hi(__osBaseCounter) -/* 00F7D0 7000EBD0 8DEF8E18 */ lw $t7, %lo(__osBaseCounter)($t7) -/* 00F7D4 7000EBD4 8FAE0034 */ lw $t6, 0x34($sp) -/* 00F7D8 7000EBD8 3C088007 */ lui $t0, %hi(__osCurrentTime) -/* 00F7DC 7000EBDC 3C098007 */ lui $t1, %hi(__osCurrentTime+4) -/* 00F7E0 7000EBE0 8D298E14 */ lw $t1, %lo(__osCurrentTime+4)($t1) -/* 00F7E4 7000EBE4 8D088E10 */ lw $t0, %lo(__osCurrentTime)($t0) -/* 00F7E8 7000EBE8 01CFC023 */ subu $t8, $t6, $t7 -/* 00F7EC 7000EBEC AFB80030 */ sw $t8, 0x30($sp) -/* 00F7F0 7000EBF0 02002025 */ move $a0, $s0 -/* 00F7F4 7000EBF4 AFA9002C */ sw $t1, 0x2c($sp) -/* 00F7F8 7000EBF8 0C006184 */ jal __osRestoreInt -/* 00F7FC 7000EBFC AFA80028 */ sw $t0, 0x28($sp) -/* 00F800 7000EC00 8FB90030 */ lw $t9, 0x30($sp) -/* 00F804 7000EC04 8FAD002C */ lw $t5, 0x2c($sp) -/* 00F808 7000EC08 8FBF001C */ lw $ra, 0x1c($sp) -/* 00F80C 7000EC0C 03205825 */ move $t3, $t9 -/* 00F810 7000EC10 016D1821 */ addu $v1, $t3, $t5 -/* 00F814 7000EC14 8FAC0028 */ lw $t4, 0x28($sp) -/* 00F818 7000EC18 240A0000 */ li $t2, 0 -/* 00F81C 7000EC1C 006D082B */ sltu $at, $v1, $t5 -/* 00F820 7000EC20 002A1021 */ addu $v0, $at, $t2 -/* 00F824 7000EC24 8FB00018 */ lw $s0, 0x18($sp) -/* 00F828 7000EC28 27BD0038 */ addiu $sp, $sp, 0x38 -/* 00F82C 7000EC2C 03E00008 */ jr $ra -/* 00F830 7000EC30 004C1021 */ addu $v0, $v0, $t4 - -/* 00F834 7000EC34 00000000 */ nop -/* 00F838 7000EC38 00000000 */ nop -/* 00F83C 7000EC3C 00000000 */ nop -glabel __ull_rshift -/* 00F840 7000EC40 AFA40000 */ sw $a0, ($sp) -/* 00F844 7000EC44 AFA50004 */ sw $a1, 4($sp) -/* 00F848 7000EC48 AFA60008 */ sw $a2, 8($sp) -/* 00F84C 7000EC4C AFA7000C */ sw $a3, 0xc($sp) -/* 00F850 7000EC50 DFAF0008 */ ld $t7, 8($sp) -/* 00F854 7000EC54 DFAE0000 */ ld $t6, ($sp) -/* 00F858 7000EC58 01EE1016 */ dsrlv $v0, $t6, $t7 -/* 00F85C 7000EC5C 0002183C */ dsll32 $v1, $v0, 0 -/* 00F860 7000EC60 0003183F */ dsra32 $v1, $v1, 0 -/* 00F864 7000EC64 03E00008 */ jr $ra -/* 00F868 7000EC68 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_rem -/* 00F86C 7000EC6C AFA40000 */ sw $a0, ($sp) -/* 00F870 7000EC70 AFA50004 */ sw $a1, 4($sp) -/* 00F874 7000EC74 AFA60008 */ sw $a2, 8($sp) -/* 00F878 7000EC78 AFA7000C */ sw $a3, 0xc($sp) -/* 00F87C 7000EC7C DFAF0008 */ ld $t7, 8($sp) -/* 00F880 7000EC80 DFAE0000 */ ld $t6, ($sp) -/* 00F884 7000EC84 01CF001F */ ddivu $zero, $t6, $t7 -/* 00F888 7000EC88 15E00002 */ bnez $t7, .L7000EC94 -/* 00F88C 7000EC8C 00000000 */ nop -/* 00F890 7000EC90 0007000D */ break 7 -.L7000EC94: -/* 00F894 7000EC94 00001010 */ mfhi $v0 -/* 00F898 7000EC98 0002183C */ dsll32 $v1, $v0, 0 -/* 00F89C 7000EC9C 0003183F */ dsra32 $v1, $v1, 0 -/* 00F8A0 7000ECA0 03E00008 */ jr $ra -/* 00F8A4 7000ECA4 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_div -/* 00F8A8 7000ECA8 AFA40000 */ sw $a0, ($sp) -/* 00F8AC 7000ECAC AFA50004 */ sw $a1, 4($sp) -/* 00F8B0 7000ECB0 AFA60008 */ sw $a2, 8($sp) -/* 00F8B4 7000ECB4 AFA7000C */ sw $a3, 0xc($sp) -/* 00F8B8 7000ECB8 DFAF0008 */ ld $t7, 8($sp) -/* 00F8BC 7000ECBC DFAE0000 */ ld $t6, ($sp) -/* 00F8C0 7000ECC0 01CF001F */ ddivu $zero, $t6, $t7 -/* 00F8C4 7000ECC4 15E00002 */ bnez $t7, .L7000ECD0 -/* 00F8C8 7000ECC8 00000000 */ nop -/* 00F8CC 7000ECCC 0007000D */ break 7 -.L7000ECD0: -/* 00F8D0 7000ECD0 00001012 */ mflo $v0 -/* 00F8D4 7000ECD4 0002183C */ dsll32 $v1, $v0, 0 -/* 00F8D8 7000ECD8 0003183F */ dsra32 $v1, $v1, 0 -/* 00F8DC 7000ECDC 03E00008 */ jr $ra -/* 00F8E0 7000ECE0 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_lshift -/* 00F8E4 7000ECE4 AFA40000 */ sw $a0, ($sp) -/* 00F8E8 7000ECE8 AFA50004 */ sw $a1, 4($sp) -/* 00F8EC 7000ECEC AFA60008 */ sw $a2, 8($sp) -/* 00F8F0 7000ECF0 AFA7000C */ sw $a3, 0xc($sp) -/* 00F8F4 7000ECF4 DFAF0008 */ ld $t7, 8($sp) -/* 00F8F8 7000ECF8 DFAE0000 */ ld $t6, ($sp) -/* 00F8FC 7000ECFC 01EE1014 */ dsllv $v0, $t6, $t7 -/* 00F900 7000ED00 0002183C */ dsll32 $v1, $v0, 0 -/* 00F904 7000ED04 0003183F */ dsra32 $v1, $v1, 0 -/* 00F908 7000ED08 03E00008 */ jr $ra -/* 00F90C 7000ED0C 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_rem -/* 00F910 7000ED10 AFA40000 */ sw $a0, ($sp) -/* 00F914 7000ED14 AFA50004 */ sw $a1, 4($sp) -/* 00F918 7000ED18 AFA60008 */ sw $a2, 8($sp) -/* 00F91C 7000ED1C AFA7000C */ sw $a3, 0xc($sp) -/* 00F920 7000ED20 DFAF0008 */ ld $t7, 8($sp) -/* 00F924 7000ED24 DFAE0000 */ ld $t6, ($sp) -/* 00F928 7000ED28 01CF001F */ ddivu $zero, $t6, $t7 -/* 00F92C 7000ED2C 15E00002 */ bnez $t7, .L7000ED38 -/* 00F930 7000ED30 00000000 */ nop -/* 00F934 7000ED34 0007000D */ break 7 -.L7000ED38: -/* 00F938 7000ED38 00001010 */ mfhi $v0 -/* 00F93C 7000ED3C 0002183C */ dsll32 $v1, $v0, 0 -/* 00F940 7000ED40 0003183F */ dsra32 $v1, $v1, 0 -/* 00F944 7000ED44 03E00008 */ jr $ra -/* 00F948 7000ED48 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_div -/* 00F94C 7000ED4C AFA40000 */ sw $a0, ($sp) -/* 00F950 7000ED50 AFA50004 */ sw $a1, 4($sp) -/* 00F954 7000ED54 AFA60008 */ sw $a2, 8($sp) -/* 00F958 7000ED58 AFA7000C */ sw $a3, 0xc($sp) -/* 00F95C 7000ED5C DFAF0008 */ ld $t7, 8($sp) -/* 00F960 7000ED60 DFAE0000 */ ld $t6, ($sp) -/* 00F964 7000ED64 01CF001E */ ddiv $zero, $t6, $t7 -/* 00F968 7000ED68 00000000 */ nop -/* 00F96C 7000ED6C 15E00002 */ bnez $t7, .L7000ED78 -/* 00F970 7000ED70 00000000 */ nop -/* 00F974 7000ED74 0007000D */ break 7 -.L7000ED78: -/* 00F978 7000ED78 6401FFFF */ daddiu $at, $zero, -1 -/* 00F97C 7000ED7C 15E10005 */ bne $t7, $at, .L7000ED94 -/* 00F980 7000ED80 64010001 */ daddiu $at, $zero, 1 -/* 00F984 7000ED84 00010FFC */ dsll32 $at, $at, 0x1f -/* 00F988 7000ED88 15C10002 */ bne $t6, $at, .L7000ED94 -/* 00F98C 7000ED8C 00000000 */ nop -/* 00F990 7000ED90 0006000D */ break 6 -.L7000ED94: -/* 00F994 7000ED94 00001012 */ mflo $v0 -/* 00F998 7000ED98 0002183C */ dsll32 $v1, $v0, 0 -/* 00F99C 7000ED9C 0003183F */ dsra32 $v1, $v1, 0 -/* 00F9A0 7000EDA0 03E00008 */ jr $ra -/* 00F9A4 7000EDA4 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_mul -/* 00F9A8 7000EDA8 AFA40000 */ sw $a0, ($sp) -/* 00F9AC 7000EDAC AFA50004 */ sw $a1, 4($sp) -/* 00F9B0 7000EDB0 AFA60008 */ sw $a2, 8($sp) -/* 00F9B4 7000EDB4 AFA7000C */ sw $a3, 0xc($sp) -/* 00F9B8 7000EDB8 DFAF0008 */ ld $t7, 8($sp) -/* 00F9BC 7000EDBC DFAE0000 */ ld $t6, ($sp) -/* 00F9C0 7000EDC0 01CF001D */ dmultu $t6, $t7 -/* 00F9C4 7000EDC4 00001012 */ mflo $v0 -/* 00F9C8 7000EDC8 0002183C */ dsll32 $v1, $v0, 0 -/* 00F9CC 7000EDCC 0003183F */ dsra32 $v1, $v1, 0 -/* 00F9D0 7000EDD0 03E00008 */ jr $ra -/* 00F9D4 7000EDD4 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_divremi -/* 00F9D8 7000EDD8 87AF0012 */ lh $t7, 0x12($sp) -/* 00F9DC 7000EDDC AFA60008 */ sw $a2, 8($sp) -/* 00F9E0 7000EDE0 AFA7000C */ sw $a3, 0xc($sp) -/* 00F9E4 7000EDE4 DFAE0008 */ ld $t6, 8($sp) -/* 00F9E8 7000EDE8 01E0C025 */ move $t8, $t7 -/* 00F9EC 7000EDEC 0300C825 */ move $t9, $t8 -/* 00F9F0 7000EDF0 01D9001F */ ddivu $zero, $t6, $t9 -/* 00F9F4 7000EDF4 17200002 */ bnez $t9, .L7000EE00 -/* 00F9F8 7000EDF8 00000000 */ nop -/* 00F9FC 7000EDFC 0007000D */ break 7 -.L7000EE00: -/* 00FA00 7000EE00 00004012 */ mflo $t0 -/* 00FA04 7000EE04 FC880000 */ sd $t0, ($a0) -/* 00FA08 7000EE08 87AA0012 */ lh $t2, 0x12($sp) -/* 00FA0C 7000EE0C DFA90008 */ ld $t1, 8($sp) -/* 00FA10 7000EE10 01405825 */ move $t3, $t2 -/* 00FA14 7000EE14 01606025 */ move $t4, $t3 -/* 00FA18 7000EE18 012C001F */ ddivu $zero, $t1, $t4 -/* 00FA1C 7000EE1C 15800002 */ bnez $t4, .L7000EE28 -/* 00FA20 7000EE20 00000000 */ nop -/* 00FA24 7000EE24 0007000D */ break 7 -.L7000EE28: -/* 00FA28 7000EE28 00006810 */ mfhi $t5 -/* 00FA2C 7000EE2C FCAD0000 */ sd $t5, ($a1) -/* 00FA30 7000EE30 03E00008 */ jr $ra -/* 00FA34 7000EE34 00000000 */ nop - -glabel __ll_mod -/* 00FA38 7000EE38 27BDFFF8 */ addiu $sp, $sp, -8 -/* 00FA3C 7000EE3C AFA40008 */ sw $a0, 8($sp) -/* 00FA40 7000EE40 AFA5000C */ sw $a1, 0xc($sp) -/* 00FA44 7000EE44 AFA60010 */ sw $a2, 0x10($sp) -/* 00FA48 7000EE48 AFA70014 */ sw $a3, 0x14($sp) -/* 00FA4C 7000EE4C DFAF0010 */ ld $t7, 0x10($sp) -/* 00FA50 7000EE50 DFAE0008 */ ld $t6, 8($sp) -/* 00FA54 7000EE54 01CF001E */ ddiv $zero, $t6, $t7 -/* 00FA58 7000EE58 00000000 */ nop -/* 00FA5C 7000EE5C 15E00002 */ bnez $t7, .L7000EE68 -/* 00FA60 7000EE60 00000000 */ nop -/* 00FA64 7000EE64 0007000D */ break 7 -.L7000EE68: -/* 00FA68 7000EE68 6401FFFF */ daddiu $at, $zero, -1 -/* 00FA6C 7000EE6C 15E10005 */ bne $t7, $at, .L7000EE84 -/* 00FA70 7000EE70 64010001 */ daddiu $at, $zero, 1 -/* 00FA74 7000EE74 00010FFC */ dsll32 $at, $at, 0x1f -/* 00FA78 7000EE78 15C10002 */ bne $t6, $at, .L7000EE84 -/* 00FA7C 7000EE7C 00000000 */ nop -/* 00FA80 7000EE80 0006000D */ break 6 -.L7000EE84: -/* 00FA84 7000EE84 0000C010 */ mfhi $t8 -/* 00FA88 7000EE88 FFB80000 */ sd $t8, ($sp) -/* 00FA8C 7000EE8C 07010003 */ bgez $t8, .L7000EE9C -/* 00FA90 7000EE90 00000000 */ nop -/* 00FA94 7000EE94 1DE00007 */ bgtz $t7, .L7000EEB4 -/* 00FA98 7000EE98 00000000 */ nop -.L7000EE9C: -/* 00FA9C 7000EE9C DFB90000 */ ld $t9, ($sp) -/* 00FAA0 7000EEA0 1B200008 */ blez $t9, .L7000EEC4 -/* 00FAA4 7000EEA4 00000000 */ nop -/* 00FAA8 7000EEA8 DFA80010 */ ld $t0, 0x10($sp) -/* 00FAAC 7000EEAC 05010005 */ bgez $t0, .L7000EEC4 -/* 00FAB0 7000EEB0 00000000 */ nop -.L7000EEB4: -/* 00FAB4 7000EEB4 DFA90000 */ ld $t1, ($sp) -/* 00FAB8 7000EEB8 DFAA0010 */ ld $t2, 0x10($sp) -/* 00FABC 7000EEBC 012A582D */ daddu $t3, $t1, $t2 -/* 00FAC0 7000EEC0 FFAB0000 */ sd $t3, ($sp) -.L7000EEC4: -/* 00FAC4 7000EEC4 8FA20000 */ lw $v0, ($sp) -/* 00FAC8 7000EEC8 8FA30004 */ lw $v1, 4($sp) -/* 00FACC 7000EECC 03E00008 */ jr $ra -/* 00FAD0 7000EED0 27BD0008 */ addiu $sp, $sp, 8 - -glabel __ll_rshift -/* 00FAD4 7000EED4 AFA40000 */ sw $a0, ($sp) -/* 00FAD8 7000EED8 AFA50004 */ sw $a1, 4($sp) -/* 00FADC 7000EEDC AFA60008 */ sw $a2, 8($sp) -/* 00FAE0 7000EEE0 AFA7000C */ sw $a3, 0xc($sp) -/* 00FAE4 7000EEE4 DFAF0008 */ ld $t7, 8($sp) -/* 00FAE8 7000EEE8 DFAE0000 */ ld $t6, ($sp) -/* 00FAEC 7000EEEC 01EE1017 */ dsrav $v0, $t6, $t7 -/* 00FAF0 7000EEF0 0002183C */ dsll32 $v1, $v0, 0 -/* 00FAF4 7000EEF4 0003183F */ dsra32 $v1, $v1, 0 -/* 00FAF8 7000EEF8 03E00008 */ jr $ra -/* 00FAFC 7000EEFC 0002103F */ dsra32 $v0, $v0, 0 - -glabel osAiSetNextBuffer -/* 00FB00 7000EF00 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00FB04 7000EF04 3C0F8002 */ lui $t7, %hi(B_800276F0) -/* 00FB08 7000EF08 91EF76F0 */ lbu $t7, %lo(B_800276F0)($t7) -/* 00FB0C 7000EF0C AFA40020 */ sw $a0, 0x20($sp) -/* 00FB10 7000EF10 8FAE0020 */ lw $t6, 0x20($sp) -/* 00FB14 7000EF14 AFBF0014 */ sw $ra, 0x14($sp) -/* 00FB18 7000EF18 AFA50024 */ sw $a1, 0x24($sp) -/* 00FB1C 7000EF1C 11E00003 */ beqz $t7, .L7000EF2C -/* 00FB20 7000EF20 AFAE001C */ sw $t6, 0x1c($sp) -/* 00FB24 7000EF24 25D8E000 */ addiu $t8, $t6, -0x2000 -/* 00FB28 7000EF28 AFB8001C */ sw $t8, 0x1c($sp) -.L7000EF2C: -/* 00FB2C 7000EF2C 8FB90020 */ lw $t9, 0x20($sp) -/* 00FB30 7000EF30 8FA80024 */ lw $t0, 0x24($sp) -/* 00FB34 7000EF34 24012000 */ li $at, 8192 -/* 00FB38 7000EF38 03284821 */ addu $t1, $t9, $t0 -/* 00FB3C 7000EF3C 312A3FFF */ andi $t2, $t1, 0x3fff -/* 00FB40 7000EF40 15410005 */ bne $t2, $at, .L7000EF58 -/* 00FB44 7000EF44 00000000 */ nop -/* 00FB48 7000EF48 240B0001 */ li $t3, 1 -/* 00FB4C 7000EF4C 3C018002 */ lui $at, %hi(B_800276F0) -/* 00FB50 7000EF50 10000003 */ b .L7000EF60 -/* 00FB54 7000EF54 A02B76F0 */ sb $t3, %lo(B_800276F0)($at) -.L7000EF58: -/* 00FB58 7000EF58 3C018002 */ lui $at, %hi(B_800276F0) -/* 00FB5C 7000EF5C A02076F0 */ sb $zero, %lo(B_800276F0)($at) -.L7000EF60: -/* 00FB60 7000EF60 0C00643C */ jal __osAiDeviceBusy -/* 00FB64 7000EF64 00000000 */ nop -/* 00FB68 7000EF68 10400003 */ beqz $v0, .L7000EF78 -/* 00FB6C 7000EF6C 00000000 */ nop -/* 00FB70 7000EF70 10000009 */ b .L7000EF98 -/* 00FB74 7000EF74 2402FFFF */ li $v0, -1 -.L7000EF78: -/* 00FB78 7000EF78 0C003A2C */ jal osVirtualToPhysical -/* 00FB7C 7000EF7C 8FA4001C */ lw $a0, 0x1c($sp) -/* 00FB80 7000EF80 3C0CA450 */ lui $t4, 0xa450 -/* 00FB84 7000EF84 AD820000 */ sw $v0, ($t4) -/* 00FB88 7000EF88 8FAD0024 */ lw $t5, 0x24($sp) -/* 00FB8C 7000EF8C 3C0FA450 */ lui $t7, %hi(AI_LEN_REG) # $t7, 0xa450 -/* 00FB90 7000EF90 00001025 */ move $v0, $zero -/* 00FB94 7000EF94 ADED0004 */ sw $t5, %lo(AI_LEN_REG)($t7) -.L7000EF98: -/* 00FB98 7000EF98 8FBF0014 */ lw $ra, 0x14($sp) -/* 00FB9C 7000EF9C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00FBA0 7000EFA0 03E00008 */ jr $ra -/* 00FBA4 7000EFA4 00000000 */ nop - -/* 00FBA8 7000EFA8 00000000 */ nop -/* 00FBAC 7000EFAC 00000000 */ nop -.section .data -glabel B_800276F0 -.byte 0 -.align 4 - -.section .text -glabel osAiGetLength -/* 00FBB0 7000EFB0 3C0EA450 */ lui $t6, 0xa450 -/* 00FBB4 7000EFB4 03E00008 */ jr $ra -/* 00FBB8 7000EFB8 8DC20004 */ lw $v0, 4($t6) - -/* 00FBBC 7000EFBC 00000000 */ nop -/* 00FBC0 7000EFC0 03E00008 */ jr $ra -/* 00FBC4 7000EFC4 00000000 */ nop - -glabel _timeToSamples -/* 00FBC8 7000EFC8 8C8E0044 */ lw $t6, 0x44($a0) -/* 00FBCC 7000EFCC 44852000 */ mtc1 $a1, $f4 -/* 00FBD0 7000EFD0 3C018003 */ lui $at, %hi(F64_80029420) -/* 00FBD4 7000EFD4 448E4000 */ mtc1 $t6, $f8 -/* 00FBD8 7000EFD8 468021A0 */ cvt.s.w $f6, $f4 -/* 00FBDC 7000EFDC D4249420 */ ldc1 $f4, %lo(F64_80029420)($at) -/* 00FBE0 7000EFE0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 00FBE4 7000EFE4 44813800 */ mtc1 $at, $f7 -/* 00FBE8 7000EFE8 2401FFF0 */ li $at, -16 -/* 00FBEC 7000EFEC 468042A0 */ cvt.s.w $f10, $f8 -/* 00FBF0 7000EFF0 460A3402 */ mul.s $f16, $f6, $f10 -/* 00FBF4 7000EFF4 44803000 */ mtc1 $zero, $f6 -/* 00FBF8 7000EFF8 460084A1 */ cvt.d.s $f18, $f16 -/* 00FBFC 7000EFFC 46249203 */ div.d $f8, $f18, $f4 -/* 00FC00 7000F000 46264280 */ add.d $f10, $f8, $f6 -/* 00FC04 7000F004 46205020 */ cvt.s.d $f0, $f10 -/* 00FC08 7000F008 4600040D */ trunc.w.s $f16, $f0 -/* 00FC0C 7000F00C 44028000 */ mfc1 $v0, $f16 -/* 00FC10 7000F010 00000000 */ nop -/* 00FC14 7000F014 0041C024 */ and $t8, $v0, $at -/* 00FC18 7000F018 03E00008 */ jr $ra -/* 00FC1C 7000F01C 03001025 */ move $v0, $t8 - -glabel _freePVoice -/* 00FC20 7000F020 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00FC24 7000F024 AFBF0014 */ sw $ra, 0x14($sp) -/* 00FC28 7000F028 AFA40018 */ sw $a0, 0x18($sp) -/* 00FC2C 7000F02C AFA5001C */ sw $a1, 0x1c($sp) -/* 00FC30 7000F030 0C003AA4 */ jal alUnlink -/* 00FC34 7000F034 00A02025 */ move $a0, $a1 -/* 00FC38 7000F038 8FA50018 */ lw $a1, 0x18($sp) -/* 00FC3C 7000F03C 8FA4001C */ lw $a0, 0x1c($sp) -/* 00FC40 7000F040 0C003AB0 */ jal alLink -/* 00FC44 7000F044 24A50014 */ addiu $a1, $a1, 0x14 -/* 00FC48 7000F048 8FBF0014 */ lw $ra, 0x14($sp) -/* 00FC4C 7000F04C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00FC50 7000F050 03E00008 */ jr $ra -/* 00FC54 7000F054 00000000 */ nop - -glabel _collectPVoices -/* 00FC58 7000F058 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00FC5C 7000F05C AFBF0024 */ sw $ra, 0x24($sp) -/* 00FC60 7000F060 AFB20020 */ sw $s2, 0x20($sp) -/* 00FC64 7000F064 AFB1001C */ sw $s1, 0x1c($sp) -/* 00FC68 7000F068 AFB00018 */ sw $s0, 0x18($sp) -/* 00FC6C 7000F06C 8C900014 */ lw $s0, 0x14($a0) -/* 00FC70 7000F070 00808825 */ move $s1, $a0 -/* 00FC74 7000F074 24920004 */ addiu $s2, $a0, 4 -/* 00FC78 7000F078 5200000A */ beql $s0, $zero, .L7000F0A4 -/* 00FC7C 7000F07C 8FBF0024 */ lw $ra, 0x24($sp) -.L7000F080: -/* 00FC80 7000F080 0C003AA4 */ jal alUnlink -/* 00FC84 7000F084 02002025 */ move $a0, $s0 -/* 00FC88 7000F088 02002025 */ move $a0, $s0 -/* 00FC8C 7000F08C 0C003AB0 */ jal alLink -/* 00FC90 7000F090 02402825 */ move $a1, $s2 -/* 00FC94 7000F094 8E300014 */ lw $s0, 0x14($s1) -/* 00FC98 7000F098 1600FFF9 */ bnez $s0, .L7000F080 -/* 00FC9C 7000F09C 00000000 */ nop -/* 00FCA0 7000F0A0 8FBF0024 */ lw $ra, 0x24($sp) -.L7000F0A4: -/* 00FCA4 7000F0A4 8FB00018 */ lw $s0, 0x18($sp) -/* 00FCA8 7000F0A8 8FB1001C */ lw $s1, 0x1c($sp) -/* 00FCAC 7000F0AC 8FB20020 */ lw $s2, 0x20($sp) -/* 00FCB0 7000F0B0 03E00008 */ jr $ra -/* 00FCB4 7000F0B4 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel __freeParam -/* 00FCB8 7000F0B8 3C028002 */ lui $v0, %hi(alGlobals) -/* 00FCBC 7000F0BC 8C4276E0 */ lw $v0, %lo(alGlobals)($v0) -/* 00FCC0 7000F0C0 8C4E002C */ lw $t6, 0x2c($v0) -/* 00FCC4 7000F0C4 AC8E0000 */ sw $t6, ($a0) -/* 00FCC8 7000F0C8 03E00008 */ jr $ra -/* 00FCCC 7000F0CC AC44002C */ sw $a0, 0x2c($v0) - -glabel __allocParam -/* 00FCD0 7000F0D0 3C028002 */ lui $v0, %hi(alGlobals) -/* 00FCD4 7000F0D4 8C4276E0 */ lw $v0, %lo(alGlobals)($v0) -/* 00FCD8 7000F0D8 00001825 */ move $v1, $zero -/* 00FCDC 7000F0DC 8C44002C */ lw $a0, 0x2c($v0) -/* 00FCE0 7000F0E0 10800005 */ beqz $a0, .L7000F0F8 -/* 00FCE4 7000F0E4 00000000 */ nop -/* 00FCE8 7000F0E8 8C8E0000 */ lw $t6, ($a0) -/* 00FCEC 7000F0EC 00801825 */ move $v1, $a0 -/* 00FCF0 7000F0F0 AC4E002C */ sw $t6, 0x2c($v0) -/* 00FCF4 7000F0F4 AC800000 */ sw $zero, ($a0) -.L7000F0F8: -/* 00FCF8 7000F0F8 03E00008 */ jr $ra -/* 00FCFC 7000F0FC 00601025 */ move $v0, $v1 - -/* 00FD00 7000F100 03E00008 */ jr $ra -/* 00FD04 7000F104 00000000 */ nop - -glabel alAudioFrame -/* 00FD08 7000F108 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 00FD0C 7000F10C AFB10030 */ sw $s1, 0x30($sp) -/* 00FD10 7000F110 3C118002 */ lui $s1, %hi(alGlobals) -/* 00FD14 7000F114 8E3176E0 */ lw $s1, %lo(alGlobals)($s1) -/* 00FD18 7000F118 AFBF004C */ sw $ra, 0x4c($sp) -/* 00FD1C 7000F11C AFB70048 */ sw $s7, 0x48($sp) -/* 00FD20 7000F120 AFB60044 */ sw $s6, 0x44($sp) -/* 00FD24 7000F124 AFB50040 */ sw $s5, 0x40($sp) -/* 00FD28 7000F128 AFB4003C */ sw $s4, 0x3c($sp) -/* 00FD2C 7000F12C AFB30038 */ sw $s3, 0x38($sp) -/* 00FD30 7000F130 AFB20034 */ sw $s2, 0x34($sp) -/* 00FD34 7000F134 AFB0002C */ sw $s0, 0x2c($sp) -/* 00FD38 7000F138 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 00FD3C 7000F13C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 00FD40 7000F140 AFA400B8 */ sw $a0, 0xb8($sp) -/* 00FD44 7000F144 AFA500BC */ sw $a1, 0xbc($sp) -/* 00FD48 7000F148 A7A000AA */ sh $zero, 0xaa($sp) -/* 00FD4C 7000F14C 8E2F0000 */ lw $t7, ($s1) -/* 00FD50 7000F150 00E09825 */ move $s3, $a3 -/* 00FD54 7000F154 0080A025 */ move $s4, $a0 -/* 00FD58 7000F158 15E00004 */ bnez $t7, .L7000F16C -/* 00FD5C 7000F15C 00C0A825 */ move $s5, $a2 -/* 00FD60 7000F160 ACA00000 */ sw $zero, ($a1) -/* 00FD64 7000F164 10000081 */ b .L7000F36C -/* 00FD68 7000F168 00801025 */ move $v0, $a0 -.L7000F16C: -/* 00FD6C 7000F16C AFA000B4 */ sw $zero, 0xb4($sp) -/* 00FD70 7000F170 8E220000 */ lw $v0, ($s1) -/* 00FD74 7000F174 3C037FFF */ lui $v1, (0x7FFFFFFF >> 16) # lui $v1, 0x7fff -/* 00FD78 7000F178 3463FFFF */ ori $v1, (0x7FFFFFFF & 0xFFFF) # ori $v1, $v1, 0xffff -/* 00FD7C 7000F17C 1040000E */ beqz $v0, .L7000F1B8 -/* 00FD80 7000F180 2412FFF0 */ li $s2, -16 -/* 00FD84 7000F184 8E240020 */ lw $a0, 0x20($s1) -/* 00FD88 7000F188 8C590010 */ lw $t9, 0x10($v0) -.L7000F18C: -/* 00FD8C 7000F18C 03244023 */ subu $t0, $t9, $a0 -/* 00FD90 7000F190 0103082A */ slt $at, $t0, $v1 -/* 00FD94 7000F194 50200006 */ beql $at, $zero, .L7000F1B0 -/* 00FD98 7000F198 8C420000 */ lw $v0, ($v0) -/* 00FD9C 7000F19C AFA200B4 */ sw $v0, 0xb4($sp) -/* 00FDA0 7000F1A0 8C490010 */ lw $t1, 0x10($v0) -/* 00FDA4 7000F1A4 8E240020 */ lw $a0, 0x20($s1) -/* 00FDA8 7000F1A8 01241823 */ subu $v1, $t1, $a0 -/* 00FDAC 7000F1AC 8C420000 */ lw $v0, ($v0) -.L7000F1B0: -/* 00FDB0 7000F1B0 5440FFF6 */ bnezl $v0, .L7000F18C -/* 00FDB4 7000F1B4 8C590010 */ lw $t9, 0x10($v0) -.L7000F1B8: -/* 00FDB8 7000F1B8 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 00FDBC 7000F1BC 8E240020 */ lw $a0, 0x20($s1) -/* 00FDC0 7000F1C0 8D420010 */ lw $v0, 0x10($t2) -/* 00FDC4 7000F1C4 00445823 */ subu $t3, $v0, $a0 -/* 00FDC8 7000F1C8 0173082A */ slt $at, $t3, $s3 -/* 00FDCC 7000F1CC 10200038 */ beqz $at, .L7000F2B0 -/* 00FDD0 7000F1D0 AE22001C */ sw $v0, 0x1c($s1) -/* 00FDD4 7000F1D4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 00FDD8 7000F1D8 4481B800 */ mtc1 $at, $f23 -/* 00FDDC 7000F1DC 3C018003 */ lui $at, %hi(F64_80029428) -/* 00FDE0 7000F1E0 4480B000 */ mtc1 $zero, $f22 -/* 00FDE4 7000F1E4 D4349428 */ ldc1 $f20, %lo(F64_80029428)($at) -.L7000F1E8: -/* 00FDE8 7000F1E8 8E2C001C */ lw $t4, 0x1c($s1) -/* 00FDEC 7000F1EC 3C107FFF */ lui $s0, (0x7FFFFFFF >> 16) # lui $s0, 0x7fff -/* 00FDF0 7000F1F0 3610FFFF */ ori $s0, (0x7FFFFFFF & 0xFFFF) # ori $s0, $s0, 0xffff -/* 00FDF4 7000F1F4 01926824 */ and $t5, $t4, $s2 -/* 00FDF8 7000F1F8 AE2D001C */ sw $t5, 0x1c($s1) -/* 00FDFC 7000F1FC 8FA400B4 */ lw $a0, 0xb4($sp) -/* 00FE00 7000F200 8C990008 */ lw $t9, 8($a0) -/* 00FE04 7000F204 0320F809 */ jalr $t9 -/* 00FE08 7000F208 00000000 */ nop -/* 00FE0C 7000F20C 8E380044 */ lw $t8, 0x44($s1) -/* 00FE10 7000F210 44822000 */ mtc1 $v0, $f4 -/* 00FE14 7000F214 8FA800B4 */ lw $t0, 0xb4($sp) -/* 00FE18 7000F218 44984000 */ mtc1 $t8, $f8 -/* 00FE1C 7000F21C 468021A0 */ cvt.s.w $f6, $f4 -/* 00FE20 7000F220 8D090010 */ lw $t1, 0x10($t0) -/* 00FE24 7000F224 468042A0 */ cvt.s.w $f10, $f8 -/* 00FE28 7000F228 460A3402 */ mul.s $f16, $f6, $f10 -/* 00FE2C 7000F22C 460084A1 */ cvt.d.s $f18, $f16 -/* 00FE30 7000F230 46349103 */ div.d $f4, $f18, $f20 -/* 00FE34 7000F234 46362200 */ add.d $f8, $f4, $f22 -/* 00FE38 7000F238 46204020 */ cvt.s.d $f0, $f8 -/* 00FE3C 7000F23C 4600018D */ trunc.w.s $f6, $f0 -/* 00FE40 7000F240 44023000 */ mfc1 $v0, $f6 -/* 00FE44 7000F244 00000000 */ nop -/* 00FE48 7000F248 01225021 */ addu $t2, $t1, $v0 -/* 00FE4C 7000F24C AD0A0010 */ sw $t2, 0x10($t0) -/* 00FE50 7000F250 AFA000B4 */ sw $zero, 0xb4($sp) -/* 00FE54 7000F254 8E230000 */ lw $v1, ($s1) -/* 00FE58 7000F258 5060000F */ beql $v1, $zero, .L7000F298 -/* 00FE5C 7000F25C 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 00FE60 7000F260 8E240020 */ lw $a0, 0x20($s1) -/* 00FE64 7000F264 8C6B0010 */ lw $t3, 0x10($v1) -.L7000F268: -/* 00FE68 7000F268 01646023 */ subu $t4, $t3, $a0 -/* 00FE6C 7000F26C 0190082A */ slt $at, $t4, $s0 -/* 00FE70 7000F270 50200006 */ beql $at, $zero, .L7000F28C -/* 00FE74 7000F274 8C630000 */ lw $v1, ($v1) -/* 00FE78 7000F278 AFA300B4 */ sw $v1, 0xb4($sp) -/* 00FE7C 7000F27C 8C6D0010 */ lw $t5, 0x10($v1) -/* 00FE80 7000F280 8E240020 */ lw $a0, 0x20($s1) -/* 00FE84 7000F284 01A48023 */ subu $s0, $t5, $a0 -/* 00FE88 7000F288 8C630000 */ lw $v1, ($v1) -.L7000F28C: -/* 00FE8C 7000F28C 5460FFF6 */ bnezl $v1, .L7000F268 -/* 00FE90 7000F290 8C6B0010 */ lw $t3, 0x10($v1) -/* 00FE94 7000F294 8FAF00B4 */ lw $t7, 0xb4($sp) -.L7000F298: -/* 00FE98 7000F298 8E240020 */ lw $a0, 0x20($s1) -/* 00FE9C 7000F29C 8DE20010 */ lw $v0, 0x10($t7) -/* 00FEA0 7000F2A0 0044C823 */ subu $t9, $v0, $a0 -/* 00FEA4 7000F2A4 0333082A */ slt $at, $t9, $s3 -/* 00FEA8 7000F2A8 1420FFCF */ bnez $at, .L7000F1E8 -/* 00FEAC 7000F2AC AE22001C */ sw $v0, 0x1c($s1) -.L7000F2B0: -/* 00FEB0 7000F2B0 8E38001C */ lw $t8, 0x1c($s1) -/* 00FEB4 7000F2B4 2412FFF0 */ li $s2, -16 -/* 00FEB8 7000F2B8 27B700AA */ addiu $s7, $sp, 0xaa -/* 00FEBC 7000F2BC 03127024 */ and $t6, $t8, $s2 -/* 00FEC0 7000F2C0 1A600022 */ blez $s3, .L7000F34C -/* 00FEC4 7000F2C4 AE2E001C */ sw $t6, 0x1c($s1) -/* 00FEC8 7000F2C8 3C160700 */ lui $s6, 0x700 -.L7000F2CC: -/* 00FECC 7000F2CC 8E220048 */ lw $v0, 0x48($s1) -/* 00FED0 7000F2D0 02608025 */ move $s0, $s3 -/* 00FED4 7000F2D4 0053082A */ slt $at, $v0, $s3 -/* 00FED8 7000F2D8 10200003 */ beqz $at, .L7000F2E8 -/* 00FEDC 7000F2DC 00000000 */ nop -/* 00FEE0 7000F2E0 10000001 */ b .L7000F2E8 -/* 00FEE4 7000F2E4 00408025 */ move $s0, $v0 -.L7000F2E8: -/* 00FEE8 7000F2E8 AE960000 */ sw $s6, ($s4) -/* 00FEEC 7000F2EC AE800004 */ sw $zero, 4($s4) -/* 00FEF0 7000F2F0 8E320038 */ lw $s2, 0x38($s1) -/* 00FEF4 7000F2F4 24050006 */ li $a1, 6 -/* 00FEF8 7000F2F8 02A03025 */ move $a2, $s5 -/* 00FEFC 7000F2FC 8E590008 */ lw $t9, 8($s2) -/* 00FF00 7000F300 02402025 */ move $a0, $s2 -/* 00FF04 7000F304 0320F809 */ jalr $t9 -/* 00FF08 7000F308 00000000 */ nop -/* 00FF0C 7000F30C 8E270020 */ lw $a3, 0x20($s1) -/* 00FF10 7000F310 26890008 */ addiu $t1, $s4, 8 -/* 00FF14 7000F314 AFA90010 */ sw $t1, 0x10($sp) -/* 00FF18 7000F318 8E590004 */ lw $t9, 4($s2) -/* 00FF1C 7000F31C 02402025 */ move $a0, $s2 -/* 00FF20 7000F320 02E02825 */ move $a1, $s7 -/* 00FF24 7000F324 0320F809 */ jalr $t9 -/* 00FF28 7000F328 02003025 */ move $a2, $s0 -/* 00FF2C 7000F32C 8E2B0020 */ lw $t3, 0x20($s1) -/* 00FF30 7000F330 02709823 */ subu $s3, $s3, $s0 -/* 00FF34 7000F334 00104080 */ sll $t0, $s0, 2 -/* 00FF38 7000F338 01706021 */ addu $t4, $t3, $s0 -/* 00FF3C 7000F33C 0040A025 */ move $s4, $v0 -/* 00FF40 7000F340 02A8A821 */ addu $s5, $s5, $t0 -/* 00FF44 7000F344 1E60FFE1 */ bgtz $s3, .L7000F2CC -/* 00FF48 7000F348 AE2C0020 */ sw $t4, 0x20($s1) -.L7000F34C: -/* 00FF4C 7000F34C 8FAD00B8 */ lw $t5, 0xb8($sp) -/* 00FF50 7000F350 8FAE00BC */ lw $t6, 0xbc($sp) -/* 00FF54 7000F354 02202025 */ move $a0, $s1 -/* 00FF58 7000F358 028D7823 */ subu $t7, $s4, $t5 -/* 00FF5C 7000F35C 000FC0C3 */ sra $t8, $t7, 3 -/* 00FF60 7000F360 0C003C16 */ jal _collectPVoices -/* 00FF64 7000F364 ADD80000 */ sw $t8, ($t6) -/* 00FF68 7000F368 02801025 */ move $v0, $s4 -.L7000F36C: -/* 00FF6C 7000F36C 8FBF004C */ lw $ra, 0x4c($sp) -/* 00FF70 7000F370 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 00FF74 7000F374 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 00FF78 7000F378 8FB0002C */ lw $s0, 0x2c($sp) -/* 00FF7C 7000F37C 8FB10030 */ lw $s1, 0x30($sp) -/* 00FF80 7000F380 8FB20034 */ lw $s2, 0x34($sp) -/* 00FF84 7000F384 8FB30038 */ lw $s3, 0x38($sp) -/* 00FF88 7000F388 8FB4003C */ lw $s4, 0x3c($sp) -/* 00FF8C 7000F38C 8FB50040 */ lw $s5, 0x40($sp) -/* 00FF90 7000F390 8FB60044 */ lw $s6, 0x44($sp) -/* 00FF94 7000F394 8FB70048 */ lw $s7, 0x48($sp) -/* 00FF98 7000F398 03E00008 */ jr $ra -/* 00FF9C 7000F39C 27BD00B8 */ addiu $sp, $sp, 0xb8 - -glabel alSynNew -/* 00FFA0 7000F3A0 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 00FFA4 7000F3A4 AFBF0044 */ sw $ra, 0x44($sp) -/* 00FFA8 7000F3A8 AFBE0040 */ sw $fp, 0x40($sp) -/* 00FFAC 7000F3AC AFB7003C */ sw $s7, 0x3c($sp) -/* 00FFB0 7000F3B0 AFB60038 */ sw $s6, 0x38($sp) -/* 00FFB4 7000F3B4 AFB50034 */ sw $s5, 0x34($sp) -/* 00FFB8 7000F3B8 AFB40030 */ sw $s4, 0x30($sp) -/* 00FFBC 7000F3BC AFB3002C */ sw $s3, 0x2c($sp) -/* 00FFC0 7000F3C0 AFB20028 */ sw $s2, 0x28($sp) -/* 00FFC4 7000F3C4 AFB10024 */ sw $s1, 0x24($sp) -/* 00FFC8 7000F3C8 AFB00020 */ sw $s0, 0x20($sp) -/* 00FFCC 7000F3CC 8CB70014 */ lw $s7, 0x14($a1) -/* 00FFD0 7000F3D0 AC800000 */ sw $zero, ($a0) -/* 00FFD4 7000F3D4 8CAE0004 */ lw $t6, 4($a1) -/* 00FFD8 7000F3D8 AC800020 */ sw $zero, 0x20($a0) -/* 00FFDC 7000F3DC AC80001C */ sw $zero, 0x1c($a0) -/* 00FFE0 7000F3E0 AC8E003C */ sw $t6, 0x3c($a0) -/* 00FFE4 7000F3E4 8CAF0018 */ lw $t7, 0x18($a1) -/* 00FFE8 7000F3E8 241800A0 */ li $t8, 160 -/* 00FFEC 7000F3EC AC980048 */ sw $t8, 0x48($a0) -/* 00FFF0 7000F3F0 AC8F0044 */ sw $t7, 0x44($a0) -/* 00FFF4 7000F3F4 8CB90010 */ lw $t9, 0x10($a1) -/* 00FFF8 7000F3F8 0080B025 */ move $s6, $a0 -/* 00FFFC 7000F3FC 00A0F025 */ move $fp, $a1 -/* 010000 7000F400 2408001C */ li $t0, 28 -/* 010004 7000F404 AC990024 */ sw $t9, 0x24($a0) -/* 010008 7000F408 AFA80010 */ sw $t0, 0x10($sp) -/* 01000C 7000F40C 00002025 */ move $a0, $zero -/* 010010 7000F410 00002825 */ move $a1, $zero -/* 010014 7000F414 24070001 */ li $a3, 1 -/* 010018 7000F418 0C003AD4 */ jal alHeapDBAlloc -/* 01001C 7000F41C 02E03025 */ move $a2, $s7 -/* 010020 7000F420 AFA2005C */ sw $v0, 0x5c($sp) -/* 010024 7000F424 0C006448 */ jal alSaveNew -/* 010028 7000F428 00402025 */ move $a0, $v0 -/* 01002C 7000F42C 8FA9005C */ lw $t1, 0x5c($sp) -/* 010030 7000F430 240A004C */ li $t2, 76 -/* 010034 7000F434 00002025 */ move $a0, $zero -/* 010038 7000F438 AEC90038 */ sw $t1, 0x38($s6) -/* 01003C 7000F43C AFAA0010 */ sw $t2, 0x10($sp) -/* 010040 7000F440 00002825 */ move $a1, $zero -/* 010044 7000F444 02E03025 */ move $a2, $s7 -/* 010048 7000F448 0C003AD4 */ jal alHeapDBAlloc -/* 01004C 7000F44C 24070001 */ li $a3, 1 -/* 010050 7000F450 240B0001 */ li $t3, 1 -/* 010054 7000F454 AEC20034 */ sw $v0, 0x34($s6) -/* 010058 7000F458 AECB0040 */ sw $t3, 0x40($s6) -/* 01005C 7000F45C 8FC70004 */ lw $a3, 4($fp) -/* 010060 7000F460 240C0004 */ li $t4, 4 -/* 010064 7000F464 AFAC0010 */ sw $t4, 0x10($sp) -/* 010068 7000F468 00002025 */ move $a0, $zero -/* 01006C 7000F46C 00002825 */ move $a1, $zero -/* 010070 7000F470 0C003AD4 */ jal alHeapDBAlloc -/* 010074 7000F474 02E03025 */ move $a2, $s7 -/* 010078 7000F478 8EC40034 */ lw $a0, 0x34($s6) -/* 01007C 7000F47C 00402825 */ move $a1, $v0 -/* 010080 7000F480 0C00646E */ jal alAuxBusNew -/* 010084 7000F484 8FC60004 */ lw $a2, 4($fp) -/* 010088 7000F488 240D0020 */ li $t5, 32 -/* 01008C 7000F48C AFAD0010 */ sw $t5, 0x10($sp) -/* 010090 7000F490 00002025 */ move $a0, $zero -/* 010094 7000F494 00002825 */ move $a1, $zero -/* 010098 7000F498 02E03025 */ move $a2, $s7 -/* 01009C 7000F49C 0C003AD4 */ jal alHeapDBAlloc -/* 0100A0 7000F4A0 24070001 */ li $a3, 1 -/* 0100A4 7000F4A4 AEC20030 */ sw $v0, 0x30($s6) -/* 0100A8 7000F4A8 8FC70004 */ lw $a3, 4($fp) -/* 0100AC 7000F4AC 240E0004 */ li $t6, 4 -/* 0100B0 7000F4B0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0100B4 7000F4B4 00002025 */ move $a0, $zero -/* 0100B8 7000F4B8 00002825 */ move $a1, $zero -/* 0100BC 7000F4BC 0C003AD4 */ jal alHeapDBAlloc -/* 0100C0 7000F4C0 02E03025 */ move $a2, $s7 -/* 0100C4 7000F4C4 8EC40030 */ lw $a0, 0x30($s6) -/* 0100C8 7000F4C8 00402825 */ move $a1, $v0 -/* 0100CC 7000F4CC 0C006459 */ jal alMainBusNew -/* 0100D0 7000F4D0 8FC60004 */ lw $a2, 4($fp) -/* 0100D4 7000F4D4 93CF001C */ lbu $t7, 0x1c($fp) -/* 0100D8 7000F4D8 02C02025 */ move $a0, $s6 -/* 0100DC 7000F4DC 03C03025 */ move $a2, $fp -/* 0100E0 7000F4E0 11E00006 */ beqz $t7, .L7000F4FC -/* 0100E4 7000F4E4 24050002 */ li $a1, 2 -/* 0100E8 7000F4E8 00002825 */ move $a1, $zero -/* 0100EC 7000F4EC 0C006630 */ jal alSynAllocFX -/* 0100F0 7000F4F0 02E03825 */ move $a3, $s7 -/* 0100F4 7000F4F4 10000005 */ b .L7000F50C -/* 0100F8 7000F4F8 AEC00004 */ sw $zero, 4($s6) -.L7000F4FC: -/* 0100FC 7000F4FC 8EC40030 */ lw $a0, 0x30($s6) -/* 010100 7000F500 0C006658 */ jal alMainBusParam -/* 010104 7000F504 8EC60034 */ lw $a2, 0x34($s6) -/* 010108 7000F508 AEC00004 */ sw $zero, 4($s6) -.L7000F50C: -/* 01010C 7000F50C AEC00008 */ sw $zero, 8($s6) -/* 010110 7000F510 AEC00014 */ sw $zero, 0x14($s6) -/* 010114 7000F514 AEC00018 */ sw $zero, 0x18($s6) -/* 010118 7000F518 AEC0000C */ sw $zero, 0xc($s6) -/* 01011C 7000F51C AEC00010 */ sw $zero, 0x10($s6) -/* 010120 7000F520 8FC70004 */ lw $a3, 4($fp) -/* 010124 7000F524 241800DC */ li $t8, 220 -/* 010128 7000F528 AFB80010 */ sw $t8, 0x10($sp) -/* 01012C 7000F52C 00002025 */ move $a0, $zero -/* 010130 7000F530 00002825 */ move $a1, $zero -/* 010134 7000F534 0C003AD4 */ jal alHeapDBAlloc -/* 010138 7000F538 02E03025 */ move $a2, $s7 -/* 01013C 7000F53C 8FD90004 */ lw $t9, 4($fp) -/* 010140 7000F540 0000A025 */ move $s4, $zero -/* 010144 7000F544 00408025 */ move $s0, $v0 -/* 010148 7000F548 1B20002F */ blez $t9, .L7000F608 -/* 01014C 7000F54C 26C50004 */ addiu $a1, $s6, 4 -/* 010150 7000F550 2451008C */ addiu $s1, $v0, 0x8c -/* 010154 7000F554 24520058 */ addiu $s2, $v0, 0x58 -/* 010158 7000F558 24530010 */ addiu $s3, $v0, 0x10 -/* 01015C 7000F55C AFA50048 */ sw $a1, 0x48($sp) -.L7000F560: -/* 010160 7000F560 8FA50048 */ lw $a1, 0x48($sp) -/* 010164 7000F564 0200A825 */ move $s5, $s0 -/* 010168 7000F568 0C003AB0 */ jal alLink -/* 01016C 7000F56C 02002025 */ move $a0, $s0 -/* 010170 7000F570 AE000008 */ sw $zero, 8($s0) -/* 010174 7000F574 8EC50024 */ lw $a1, 0x24($s6) -/* 010178 7000F578 02602025 */ move $a0, $s3 -/* 01017C 7000F57C 0C0064A5 */ jal alLoadNew -/* 010180 7000F580 02E03025 */ move $a2, $s7 -/* 010184 7000F584 02602025 */ move $a0, $s3 -/* 010188 7000F588 24050001 */ li $a1, 1 -/* 01018C 7000F58C 0C0066AC */ jal alLoadParam -/* 010190 7000F590 00003025 */ move $a2, $zero -/* 010194 7000F594 02402025 */ move $a0, $s2 -/* 010198 7000F598 0C006483 */ jal alResampleNew -/* 01019C 7000F59C 02E02825 */ move $a1, $s7 -/* 0101A0 7000F5A0 02402025 */ move $a0, $s2 -/* 0101A4 7000F5A4 24050001 */ li $a1, 1 -/* 0101A8 7000F5A8 0C006980 */ jal alResampleParam -/* 0101AC 7000F5AC 02603025 */ move $a2, $s3 -/* 0101B0 7000F5B0 02202025 */ move $a0, $s1 -/* 0101B4 7000F5B4 0C0064CF */ jal alEnvmixerNew -/* 0101B8 7000F5B8 02E02825 */ move $a1, $s7 -/* 0101BC 7000F5BC 02202025 */ move $a0, $s1 -/* 0101C0 7000F5C0 24050001 */ li $a1, 1 -/* 0101C4 7000F5C4 0C006A85 */ jal alEnvmixerParam -/* 0101C8 7000F5C8 02403025 */ move $a2, $s2 -/* 0101CC 7000F5CC 8EC40034 */ lw $a0, 0x34($s6) -/* 0101D0 7000F5D0 24050002 */ li $a1, 2 -/* 0101D4 7000F5D4 0C006D38 */ jal ultra_7001B4E0 -/* 0101D8 7000F5D8 02203025 */ move $a2, $s1 -/* 0101DC 7000F5DC 26A8008C */ addiu $t0, $s5, 0x8c -/* 0101E0 7000F5E0 AEA8000C */ sw $t0, 0xc($s5) -/* 0101E4 7000F5E4 8FC90004 */ lw $t1, 4($fp) -/* 0101E8 7000F5E8 26940001 */ addiu $s4, $s4, 1 -/* 0101EC 7000F5EC 261000DC */ addiu $s0, $s0, 0xdc -/* 0101F0 7000F5F0 0289082A */ slt $at, $s4, $t1 -/* 0101F4 7000F5F4 263100DC */ addiu $s1, $s1, 0xdc -/* 0101F8 7000F5F8 265200DC */ addiu $s2, $s2, 0xdc -/* 0101FC 7000F5FC 1420FFD8 */ bnez $at, .L7000F560 -/* 010200 7000F600 267300DC */ addiu $s3, $s3, 0xdc -/* 010204 7000F604 0000A025 */ move $s4, $zero -.L7000F608: -/* 010208 7000F608 8FA4005C */ lw $a0, 0x5c($sp) -/* 01020C 7000F60C 24050001 */ li $a1, 1 -/* 010210 7000F610 0C006D7C */ jal alSaveParam -/* 010214 7000F614 8EC60030 */ lw $a2, 0x30($s6) -/* 010218 7000F618 8FC70008 */ lw $a3, 8($fp) -/* 01021C 7000F61C 240A001C */ li $t2, 28 -/* 010220 7000F620 AFAA0010 */ sw $t2, 0x10($sp) -/* 010224 7000F624 00002025 */ move $a0, $zero -/* 010228 7000F628 00002825 */ move $a1, $zero -/* 01022C 7000F62C 0C003AD4 */ jal alHeapDBAlloc -/* 010230 7000F630 02E03025 */ move $a2, $s7 -/* 010234 7000F634 AEC0002C */ sw $zero, 0x2c($s6) -/* 010238 7000F638 8FCB0008 */ lw $t3, 8($fp) -/* 01023C 7000F63C 00401825 */ move $v1, $v0 -/* 010240 7000F640 5960000B */ blezl $t3, .L7000F670 -/* 010244 7000F644 AED70028 */ sw $s7, 0x28($s6) -/* 010248 7000F648 8ECC002C */ lw $t4, 0x2c($s6) -.L7000F64C: -/* 01024C 7000F64C 26940001 */ addiu $s4, $s4, 1 -/* 010250 7000F650 AC6C0000 */ sw $t4, ($v1) -/* 010254 7000F654 AEC3002C */ sw $v1, 0x2c($s6) -/* 010258 7000F658 8FCD0008 */ lw $t5, 8($fp) -/* 01025C 7000F65C 2463001C */ addiu $v1, $v1, 0x1c -/* 010260 7000F660 028D082A */ slt $at, $s4, $t5 -/* 010264 7000F664 5420FFF9 */ bnezl $at, .L7000F64C -/* 010268 7000F668 8ECC002C */ lw $t4, 0x2c($s6) -/* 01026C 7000F66C AED70028 */ sw $s7, 0x28($s6) -.L7000F670: -/* 010270 7000F670 8FBF0044 */ lw $ra, 0x44($sp) -/* 010274 7000F674 8FBE0040 */ lw $fp, 0x40($sp) -/* 010278 7000F678 8FB7003C */ lw $s7, 0x3c($sp) -/* 01027C 7000F67C 8FB60038 */ lw $s6, 0x38($sp) -/* 010280 7000F680 8FB50034 */ lw $s5, 0x34($sp) -/* 010284 7000F684 8FB40030 */ lw $s4, 0x30($sp) -/* 010288 7000F688 8FB3002C */ lw $s3, 0x2c($sp) -/* 01028C 7000F68C 8FB20028 */ lw $s2, 0x28($sp) -/* 010290 7000F690 8FB10024 */ lw $s1, 0x24($sp) -/* 010294 7000F694 8FB00020 */ lw $s0, 0x20($sp) -/* 010298 7000F698 03E00008 */ jr $ra -/* 01029C 7000F69C 27BD0078 */ addiu $sp, $sp, 0x78 - -.section .rodata -glabel F64_80029420 -.double 1000000.0 -glabel F64_80029428 -.double 1000000.0 - -.section .text -glabel osPiStartDma -/* 0102A0 7000F6A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0102A4 7000F6A4 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) -/* 0102A8 7000F6A8 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) -/* 0102AC 7000F6AC AFBF001C */ sw $ra, 0x1c($sp) -/* 0102B0 7000F6B0 AFA40028 */ sw $a0, 0x28($sp) -/* 0102B4 7000F6B4 AFA5002C */ sw $a1, 0x2c($sp) -/* 0102B8 7000F6B8 AFA60030 */ sw $a2, 0x30($sp) -/* 0102BC 7000F6BC AFA70034 */ sw $a3, 0x34($sp) -/* 0102C0 7000F6C0 AFB10018 */ sw $s1, 0x18($sp) -/* 0102C4 7000F6C4 15C00003 */ bnez $t6, .L7000F6D4 -/* 0102C8 7000F6C8 AFB00014 */ sw $s0, 0x14($sp) -/* 0102CC 7000F6CC 10000032 */ b .L7000F798 -/* 0102D0 7000F6D0 2402FFFF */ li $v0, -1 -.L7000F6D4: -/* 0102D4 7000F6D4 8FAF0030 */ lw $t7, 0x30($sp) -/* 0102D8 7000F6D8 15E00005 */ bnez $t7, .L7000F6F0 -/* 0102DC 7000F6DC 00000000 */ nop -/* 0102E0 7000F6E0 8FB90028 */ lw $t9, 0x28($sp) -/* 0102E4 7000F6E4 2418000B */ li $t8, 11 -/* 0102E8 7000F6E8 10000004 */ b .L7000F6FC -/* 0102EC 7000F6EC A7380000 */ sh $t8, ($t9) -.L7000F6F0: -/* 0102F0 7000F6F0 8FA90028 */ lw $t1, 0x28($sp) -/* 0102F4 7000F6F4 2408000C */ li $t0, 12 -/* 0102F8 7000F6F8 A5280000 */ sh $t0, ($t1) -.L7000F6FC: -/* 0102FC 7000F6FC 8FAA002C */ lw $t2, 0x2c($sp) -/* 010300 7000F700 8FAB0028 */ lw $t3, 0x28($sp) -/* 010304 7000F704 24010001 */ li $at, 1 -/* 010308 7000F708 A16A0002 */ sb $t2, 2($t3) -/* 01030C 7000F70C 8FAD0028 */ lw $t5, 0x28($sp) -/* 010310 7000F710 8FAC0040 */ lw $t4, 0x40($sp) -/* 010314 7000F714 ADAC0004 */ sw $t4, 4($t5) -/* 010318 7000F718 8FAF0028 */ lw $t7, 0x28($sp) -/* 01031C 7000F71C 8FAE0038 */ lw $t6, 0x38($sp) -/* 010320 7000F720 ADEE0008 */ sw $t6, 8($t7) -/* 010324 7000F724 8FB90028 */ lw $t9, 0x28($sp) -/* 010328 7000F728 8FB80034 */ lw $t8, 0x34($sp) -/* 01032C 7000F72C AF38000C */ sw $t8, 0xc($t9) -/* 010330 7000F730 8FA90028 */ lw $t1, 0x28($sp) -/* 010334 7000F734 8FA8003C */ lw $t0, 0x3c($sp) -/* 010338 7000F738 AD280010 */ sw $t0, 0x10($t1) -/* 01033C 7000F73C 8FAA0028 */ lw $t2, 0x28($sp) -/* 010340 7000F740 AD400014 */ sw $zero, 0x14($t2) -/* 010344 7000F744 8FAB002C */ lw $t3, 0x2c($sp) -/* 010348 7000F748 1561000A */ bne $t3, $at, .L7000F774 -/* 01034C 7000F74C 00000000 */ nop -/* 010350 7000F750 0C006E00 */ jal osPiGetCmdQueue -/* 010354 7000F754 00000000 */ nop -/* 010358 7000F758 00408825 */ move $s1, $v0 -/* 01035C 7000F75C 02202025 */ move $a0, $s1 -/* 010360 7000F760 8FA50028 */ lw $a1, 0x28($sp) -/* 010364 7000F764 0C006DAC */ jal osJamMesg -/* 010368 7000F768 00003025 */ move $a2, $zero -/* 01036C 7000F76C 10000009 */ b .L7000F794 -/* 010370 7000F770 00408025 */ move $s0, $v0 -.L7000F774: -/* 010374 7000F774 0C006E00 */ jal osPiGetCmdQueue -/* 010378 7000F778 00000000 */ nop -/* 01037C 7000F77C 00408825 */ move $s1, $v0 -/* 010380 7000F780 02202025 */ move $a0, $s1 -/* 010384 7000F784 8FA50028 */ lw $a1, 0x28($sp) -/* 010388 7000F788 0C0037C4 */ jal osSendMesg -/* 01038C 7000F78C 00003025 */ move $a2, $zero -/* 010390 7000F790 00408025 */ move $s0, $v0 -.L7000F794: -/* 010394 7000F794 02001025 */ move $v0, $s0 -.L7000F798: -/* 010398 7000F798 8FBF001C */ lw $ra, 0x1c($sp) -/* 01039C 7000F79C 8FB00014 */ lw $s0, 0x14($sp) -/* 0103A0 7000F7A0 8FB10018 */ lw $s1, 0x18($sp) -/* 0103A4 7000F7A4 03E00008 */ jr $ra -/* 0103A8 7000F7A8 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 0103AC 7000F7AC 00000000 */ nop -glabel osViSetSpecialFeatures -/* 0103B0 7000F7B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0103B4 7000F7B4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0103B8 7000F7B8 AFA40028 */ sw $a0, 0x28($sp) -/* 0103BC 7000F7BC 0C00617C */ jal __osDisableInt -/* 0103C0 7000F7C0 AFB00018 */ sw $s0, 0x18($sp) -/* 0103C4 7000F7C4 8FAE0028 */ lw $t6, 0x28($sp) -/* 0103C8 7000F7C8 00408025 */ move $s0, $v0 -/* 0103CC 7000F7CC 31CF0001 */ andi $t7, $t6, 1 -/* 0103D0 7000F7D0 11E00006 */ beqz $t7, .L7000F7EC -/* 0103D4 7000F7D4 00000000 */ nop -/* 0103D8 7000F7D8 3C188003 */ lui $t8, %hi(__osViNext) -/* 0103DC 7000F7DC 8F188044 */ lw $t8, %lo(__osViNext)($t8) -/* 0103E0 7000F7E0 8F19000C */ lw $t9, 0xc($t8) -/* 0103E4 7000F7E4 37280008 */ ori $t0, $t9, 8 -/* 0103E8 7000F7E8 AF08000C */ sw $t0, 0xc($t8) -.L7000F7EC: -/* 0103EC 7000F7EC 8FA90028 */ lw $t1, 0x28($sp) -/* 0103F0 7000F7F0 312A0002 */ andi $t2, $t1, 2 -/* 0103F4 7000F7F4 11400007 */ beqz $t2, .L7000F814 -/* 0103F8 7000F7F8 00000000 */ nop -/* 0103FC 7000F7FC 3C0B8003 */ lui $t3, %hi(__osViNext) -/* 010400 7000F800 8D6B8044 */ lw $t3, %lo(__osViNext)($t3) -/* 010404 7000F804 2401FFF7 */ li $at, -9 -/* 010408 7000F808 8D6C000C */ lw $t4, 0xc($t3) -/* 01040C 7000F80C 01816824 */ and $t5, $t4, $at -/* 010410 7000F810 AD6D000C */ sw $t5, 0xc($t3) -.L7000F814: -/* 010414 7000F814 8FAE0028 */ lw $t6, 0x28($sp) -/* 010418 7000F818 31CF0004 */ andi $t7, $t6, 4 -/* 01041C 7000F81C 11E00006 */ beqz $t7, .L7000F838 -/* 010420 7000F820 00000000 */ nop -/* 010424 7000F824 3C198003 */ lui $t9, %hi(__osViNext) -/* 010428 7000F828 8F398044 */ lw $t9, %lo(__osViNext)($t9) -/* 01042C 7000F82C 8F28000C */ lw $t0, 0xc($t9) -/* 010430 7000F830 35180004 */ ori $t8, $t0, 4 -/* 010434 7000F834 AF38000C */ sw $t8, 0xc($t9) -.L7000F838: -/* 010438 7000F838 8FA90028 */ lw $t1, 0x28($sp) -/* 01043C 7000F83C 312A0008 */ andi $t2, $t1, 8 -/* 010440 7000F840 11400007 */ beqz $t2, .L7000F860 -/* 010444 7000F844 00000000 */ nop -/* 010448 7000F848 3C0C8003 */ lui $t4, %hi(__osViNext) -/* 01044C 7000F84C 8D8C8044 */ lw $t4, %lo(__osViNext)($t4) -/* 010450 7000F850 2401FFFB */ li $at, -5 -/* 010454 7000F854 8D8D000C */ lw $t5, 0xc($t4) -/* 010458 7000F858 01A15824 */ and $t3, $t5, $at -/* 01045C 7000F85C AD8B000C */ sw $t3, 0xc($t4) -.L7000F860: -/* 010460 7000F860 8FAE0028 */ lw $t6, 0x28($sp) -/* 010464 7000F864 31CF0010 */ andi $t7, $t6, 0x10 -/* 010468 7000F868 11E00006 */ beqz $t7, .L7000F884 -/* 01046C 7000F86C 00000000 */ nop -/* 010470 7000F870 3C088003 */ lui $t0, %hi(__osViNext) -/* 010474 7000F874 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 010478 7000F878 8D18000C */ lw $t8, 0xc($t0) -/* 01047C 7000F87C 37190010 */ ori $t9, $t8, 0x10 -/* 010480 7000F880 AD19000C */ sw $t9, 0xc($t0) -.L7000F884: -/* 010484 7000F884 8FA90028 */ lw $t1, 0x28($sp) -/* 010488 7000F888 312A0020 */ andi $t2, $t1, 0x20 -/* 01048C 7000F88C 11400007 */ beqz $t2, .L7000F8AC -/* 010490 7000F890 00000000 */ nop -/* 010494 7000F894 3C0D8003 */ lui $t5, %hi(__osViNext) -/* 010498 7000F898 8DAD8044 */ lw $t5, %lo(__osViNext)($t5) -/* 01049C 7000F89C 2401FFEF */ li $at, -17 -/* 0104A0 7000F8A0 8DAB000C */ lw $t3, 0xc($t5) -/* 0104A4 7000F8A4 01616024 */ and $t4, $t3, $at -/* 0104A8 7000F8A8 ADAC000C */ sw $t4, 0xc($t5) -.L7000F8AC: -/* 0104AC 7000F8AC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0104B0 7000F8B0 31CF0040 */ andi $t7, $t6, 0x40 -/* 0104B4 7000F8B4 11E0000D */ beqz $t7, .L7000F8EC -/* 0104B8 7000F8B8 00000000 */ nop -/* 0104BC 7000F8BC 3C188003 */ lui $t8, %hi(__osViNext) -/* 0104C0 7000F8C0 8F188044 */ lw $t8, %lo(__osViNext)($t8) -/* 0104C4 7000F8C4 3C010001 */ lui $at, 1 -/* 0104C8 7000F8C8 3C098003 */ lui $t1, %hi(__osViNext) -/* 0104CC 7000F8CC 8F19000C */ lw $t9, 0xc($t8) -/* 0104D0 7000F8D0 03214025 */ or $t0, $t9, $at -/* 0104D4 7000F8D4 AF08000C */ sw $t0, 0xc($t8) -/* 0104D8 7000F8D8 8D298044 */ lw $t1, %lo(__osViNext)($t1) -/* 0104DC 7000F8DC 2401FCFF */ li $at, -769 -/* 0104E0 7000F8E0 8D2A000C */ lw $t2, 0xc($t1) -/* 0104E4 7000F8E4 01415824 */ and $t3, $t2, $at -/* 0104E8 7000F8E8 AD2B000C */ sw $t3, 0xc($t1) -.L7000F8EC: -/* 0104EC 7000F8EC 8FAC0028 */ lw $t4, 0x28($sp) -/* 0104F0 7000F8F0 318D0080 */ andi $t5, $t4, 0x80 -/* 0104F4 7000F8F4 11A00010 */ beqz $t5, .L7000F938 -/* 0104F8 7000F8F8 00000000 */ nop -/* 0104FC 7000F8FC 3C0E8003 */ lui $t6, %hi(__osViNext) -/* 010500 7000F900 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) -/* 010504 7000F904 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe -/* 010508 7000F908 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01050C 7000F90C 8DCF000C */ lw $t7, 0xc($t6) -/* 010510 7000F910 3C088003 */ lui $t0, %hi(__osViNext) -/* 010514 7000F914 01E1C824 */ and $t9, $t7, $at -/* 010518 7000F918 ADD9000C */ sw $t9, 0xc($t6) -/* 01051C 7000F91C 8D088044 */ lw $t0, %lo(__osViNext)($t0) -/* 010520 7000F920 8D0A0008 */ lw $t2, 8($t0) -/* 010524 7000F924 8D18000C */ lw $t8, 0xc($t0) -/* 010528 7000F928 8D4B0004 */ lw $t3, 4($t2) -/* 01052C 7000F92C 31690300 */ andi $t1, $t3, 0x300 -/* 010530 7000F930 03096025 */ or $t4, $t8, $t1 -/* 010534 7000F934 AD0C000C */ sw $t4, 0xc($t0) -.L7000F938: -/* 010538 7000F938 3C0D8003 */ lui $t5, %hi(__osViNext) -/* 01053C 7000F93C 8DAD8044 */ lw $t5, %lo(__osViNext)($t5) -/* 010540 7000F940 02002025 */ move $a0, $s0 -/* 010544 7000F944 95AF0000 */ lhu $t7, ($t5) -/* 010548 7000F948 35F90008 */ ori $t9, $t7, 8 -/* 01054C 7000F94C 0C006184 */ jal __osRestoreInt -/* 010550 7000F950 A5B90000 */ sh $t9, ($t5) -/* 010554 7000F954 8FBF001C */ lw $ra, 0x1c($sp) -/* 010558 7000F958 8FB00018 */ lw $s0, 0x18($sp) -/* 01055C 7000F95C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 010560 7000F960 03E00008 */ jr $ra -/* 010564 7000F964 00000000 */ nop - -/* 010568 7000F968 00000000 */ nop -/* 01056C 7000F96C 00000000 */ nop -glabel _bcopy -/* 010570 7000F970 10C0001A */ beqz $a2, .L7000F9DC -/* 010574 7000F974 00A03825 */ move $a3, $a1 -/* 010578 7000F978 10850018 */ beq $a0, $a1, .L7000F9DC -/* 01057C 7000F97C 00A4082A */ slt $at, $a1, $a0 -/* 010580 7000F980 54200008 */ bnezl $at, .L7000F9A4 -/* 010584 7000F984 28C10010 */ slti $at, $a2, 0x10 -/* 010588 7000F988 00861020 */ add $v0, $a0, $a2 -/* 01058C 7000F98C 00A2082A */ slt $at, $a1, $v0 -/* 010590 7000F990 50200004 */ beql $at, $zero, .L7000F9A4 -/* 010594 7000F994 28C10010 */ slti $at, $a2, 0x10 -/* 010598 7000F998 1000005B */ b .L7000FB08 -/* 01059C 7000F99C 28C10010 */ slti $at, $a2, 0x10 -/* 0105A0 7000F9A0 28C10010 */ slti $at, $a2, 0x10 -.L7000F9A4: -/* 0105A4 7000F9A4 14200005 */ bnez $at, .L7000F9BC -/* 0105A8 7000F9A8 00000000 */ nop -/* 0105AC 7000F9AC 30820003 */ andi $v0, $a0, 3 -/* 0105B0 7000F9B0 30A30003 */ andi $v1, $a1, 3 -/* 0105B4 7000F9B4 1043000B */ beq $v0, $v1, .L7000F9E4 -/* 0105B8 7000F9B8 00000000 */ nop -.L7000F9BC: -/* 0105BC 7000F9BC 10C00007 */ beqz $a2, .L7000F9DC -/* 0105C0 7000F9C0 00000000 */ nop -/* 0105C4 7000F9C4 00861821 */ addu $v1, $a0, $a2 -.L7000F9C8: -/* 0105C8 7000F9C8 80820000 */ lb $v0, ($a0) -/* 0105CC 7000F9CC 24840001 */ addiu $a0, $a0, 1 -/* 0105D0 7000F9D0 24A50001 */ addiu $a1, $a1, 1 -/* 0105D4 7000F9D4 1483FFFC */ bne $a0, $v1, .L7000F9C8 -/* 0105D8 7000F9D8 A0A2FFFF */ sb $v0, -1($a1) -.L7000F9DC: -/* 0105DC 7000F9DC 03E00008 */ jr $ra -/* 0105E0 7000F9E0 00E01025 */ move $v0, $a3 - -.L7000F9E4: -/* 0105E4 7000F9E4 10400018 */ beqz $v0, .L7000FA48 -/* 0105E8 7000F9E8 24010001 */ li $at, 1 -/* 0105EC 7000F9EC 1041000F */ beq $v0, $at, .L7000FA2C -/* 0105F0 7000F9F0 24010002 */ li $at, 2 -/* 0105F4 7000F9F4 50410008 */ beql $v0, $at, .L7000FA18 -/* 0105F8 7000F9F8 84820000 */ lh $v0, ($a0) -/* 0105FC 7000F9FC 80820000 */ lb $v0, ($a0) -/* 010600 7000FA00 24840001 */ addiu $a0, $a0, 1 -/* 010604 7000FA04 24A50001 */ addiu $a1, $a1, 1 -/* 010608 7000FA08 24C6FFFF */ addiu $a2, $a2, -1 -/* 01060C 7000FA0C 1000000E */ b .L7000FA48 -/* 010610 7000FA10 A0A2FFFF */ sb $v0, -1($a1) -/* 010614 7000FA14 84820000 */ lh $v0, ($a0) -.L7000FA18: -/* 010618 7000FA18 24840002 */ addiu $a0, $a0, 2 -/* 01061C 7000FA1C 24A50002 */ addiu $a1, $a1, 2 -/* 010620 7000FA20 24C6FFFE */ addiu $a2, $a2, -2 -/* 010624 7000FA24 10000008 */ b .L7000FA48 -/* 010628 7000FA28 A4A2FFFE */ sh $v0, -2($a1) -.L7000FA2C: -/* 01062C 7000FA2C 80820000 */ lb $v0, ($a0) -/* 010630 7000FA30 84830001 */ lh $v1, 1($a0) -/* 010634 7000FA34 24840003 */ addiu $a0, $a0, 3 -/* 010638 7000FA38 24A50003 */ addiu $a1, $a1, 3 -/* 01063C 7000FA3C 24C6FFFD */ addiu $a2, $a2, -3 -/* 010640 7000FA40 A0A2FFFD */ sb $v0, -3($a1) -/* 010644 7000FA44 A4A3FFFE */ sh $v1, -2($a1) -.L7000FA48: -/* 010648 7000FA48 28C10020 */ slti $at, $a2, 0x20 -/* 01064C 7000FA4C 54200016 */ bnezl $at, .L7000FAA8 -/* 010650 7000FA50 28C10010 */ slti $at, $a2, 0x10 -/* 010654 7000FA54 8C820000 */ lw $v0, ($a0) -/* 010658 7000FA58 8C830004 */ lw $v1, 4($a0) -/* 01065C 7000FA5C 8C880008 */ lw $t0, 8($a0) -/* 010660 7000FA60 8C89000C */ lw $t1, 0xc($a0) -/* 010664 7000FA64 8C8A0010 */ lw $t2, 0x10($a0) -/* 010668 7000FA68 8C8B0014 */ lw $t3, 0x14($a0) -/* 01066C 7000FA6C 8C8C0018 */ lw $t4, 0x18($a0) -/* 010670 7000FA70 8C8D001C */ lw $t5, 0x1c($a0) -/* 010674 7000FA74 24840020 */ addiu $a0, $a0, 0x20 -/* 010678 7000FA78 24A50020 */ addiu $a1, $a1, 0x20 -/* 01067C 7000FA7C 24C6FFE0 */ addiu $a2, $a2, -0x20 -/* 010680 7000FA80 ACA2FFE0 */ sw $v0, -0x20($a1) -/* 010684 7000FA84 ACA3FFE4 */ sw $v1, -0x1c($a1) -/* 010688 7000FA88 ACA8FFE8 */ sw $t0, -0x18($a1) -/* 01068C 7000FA8C ACA9FFEC */ sw $t1, -0x14($a1) -/* 010690 7000FA90 ACAAFFF0 */ sw $t2, -0x10($a1) -/* 010694 7000FA94 ACABFFF4 */ sw $t3, -0xc($a1) -/* 010698 7000FA98 ACACFFF8 */ sw $t4, -8($a1) -/* 01069C 7000FA9C 1000FFEA */ b .L7000FA48 -/* 0106A0 7000FAA0 ACADFFFC */ sw $t5, -4($a1) -.L7000FAA4: -/* 0106A4 7000FAA4 28C10010 */ slti $at, $a2, 0x10 -.L7000FAA8: -/* 0106A8 7000FAA8 5420000E */ bnezl $at, .L7000FAE4 -/* 0106AC 7000FAAC 28C10004 */ slti $at, $a2, 4 -/* 0106B0 7000FAB0 8C820000 */ lw $v0, ($a0) -/* 0106B4 7000FAB4 8C830004 */ lw $v1, 4($a0) -/* 0106B8 7000FAB8 8C880008 */ lw $t0, 8($a0) -/* 0106BC 7000FABC 8C89000C */ lw $t1, 0xc($a0) -/* 0106C0 7000FAC0 24840010 */ addiu $a0, $a0, 0x10 -/* 0106C4 7000FAC4 24A50010 */ addiu $a1, $a1, 0x10 -/* 0106C8 7000FAC8 24C6FFF0 */ addiu $a2, $a2, -0x10 -/* 0106CC 7000FACC ACA2FFF0 */ sw $v0, -0x10($a1) -/* 0106D0 7000FAD0 ACA3FFF4 */ sw $v1, -0xc($a1) -/* 0106D4 7000FAD4 ACA8FFF8 */ sw $t0, -8($a1) -/* 0106D8 7000FAD8 1000FFF2 */ b .L7000FAA4 -/* 0106DC 7000FADC ACA9FFFC */ sw $t1, -4($a1) -.L7000FAE0: -/* 0106E0 7000FAE0 28C10004 */ slti $at, $a2, 4 -.L7000FAE4: -/* 0106E4 7000FAE4 1420FFB5 */ bnez $at, .L7000F9BC -/* 0106E8 7000FAE8 00000000 */ nop -/* 0106EC 7000FAEC 8C820000 */ lw $v0, ($a0) -/* 0106F0 7000FAF0 24840004 */ addiu $a0, $a0, 4 -/* 0106F4 7000FAF4 24A50004 */ addiu $a1, $a1, 4 -/* 0106F8 7000FAF8 24C6FFFC */ addiu $a2, $a2, -4 -/* 0106FC 7000FAFC 1000FFF8 */ b .L7000FAE0 -/* 010700 7000FB00 ACA2FFFC */ sw $v0, -4($a1) -/* 010704 7000FB04 28C10010 */ slti $at, $a2, 0x10 -.L7000FB08: -/* 010708 7000FB08 00862020 */ add $a0, $a0, $a2 -/* 01070C 7000FB0C 14200005 */ bnez $at, .L7000FB24 -/* 010710 7000FB10 00A62820 */ add $a1, $a1, $a2 -/* 010714 7000FB14 30820003 */ andi $v0, $a0, 3 -/* 010718 7000FB18 30A30003 */ andi $v1, $a1, 3 -/* 01071C 7000FB1C 1043000D */ beq $v0, $v1, .L7000FB54 -/* 010720 7000FB20 00000000 */ nop -.L7000FB24: -/* 010724 7000FB24 10C0FFAD */ beqz $a2, .L7000F9DC -/* 010728 7000FB28 00000000 */ nop -/* 01072C 7000FB2C 2484FFFF */ addiu $a0, $a0, -1 -/* 010730 7000FB30 24A5FFFF */ addiu $a1, $a1, -1 -/* 010734 7000FB34 00861823 */ subu $v1, $a0, $a2 -.L7000FB38: -/* 010738 7000FB38 80820000 */ lb $v0, ($a0) -/* 01073C 7000FB3C 2484FFFF */ addiu $a0, $a0, -1 -/* 010740 7000FB40 24A5FFFF */ addiu $a1, $a1, -1 -/* 010744 7000FB44 1483FFFC */ bne $a0, $v1, .L7000FB38 -/* 010748 7000FB48 A0A20001 */ sb $v0, 1($a1) -/* 01074C 7000FB4C 03E00008 */ jr $ra -/* 010750 7000FB50 00E01025 */ move $v0, $a3 - -.L7000FB54: -/* 010754 7000FB54 10400018 */ beqz $v0, .L7000FBB8 -/* 010758 7000FB58 24010003 */ li $at, 3 -/* 01075C 7000FB5C 1041000F */ beq $v0, $at, .L7000FB9C -/* 010760 7000FB60 24010002 */ li $at, 2 -/* 010764 7000FB64 50410008 */ beql $v0, $at, .L7000FB88 -/* 010768 7000FB68 8482FFFE */ lh $v0, -2($a0) -/* 01076C 7000FB6C 8082FFFF */ lb $v0, -1($a0) -/* 010770 7000FB70 2484FFFF */ addiu $a0, $a0, -1 -/* 010774 7000FB74 24A5FFFF */ addiu $a1, $a1, -1 -/* 010778 7000FB78 24C6FFFF */ addiu $a2, $a2, -1 -/* 01077C 7000FB7C 1000000E */ b .L7000FBB8 -/* 010780 7000FB80 A0A20000 */ sb $v0, ($a1) -/* 010784 7000FB84 8482FFFE */ lh $v0, -2($a0) -.L7000FB88: -/* 010788 7000FB88 2484FFFE */ addiu $a0, $a0, -2 -/* 01078C 7000FB8C 24A5FFFE */ addiu $a1, $a1, -2 -/* 010790 7000FB90 24C6FFFE */ addiu $a2, $a2, -2 -/* 010794 7000FB94 10000008 */ b .L7000FBB8 -/* 010798 7000FB98 A4A20000 */ sh $v0, ($a1) -.L7000FB9C: -/* 01079C 7000FB9C 8082FFFF */ lb $v0, -1($a0) -/* 0107A0 7000FBA0 8483FFFD */ lh $v1, -3($a0) -/* 0107A4 7000FBA4 2484FFFD */ addiu $a0, $a0, -3 -/* 0107A8 7000FBA8 24A5FFFD */ addiu $a1, $a1, -3 -/* 0107AC 7000FBAC 24C6FFFD */ addiu $a2, $a2, -3 -/* 0107B0 7000FBB0 A0A20002 */ sb $v0, 2($a1) -/* 0107B4 7000FBB4 A4A30000 */ sh $v1, ($a1) -.L7000FBB8: -/* 0107B8 7000FBB8 28C10020 */ slti $at, $a2, 0x20 -/* 0107BC 7000FBBC 54200016 */ bnezl $at, .L7000FC18 -/* 0107C0 7000FBC0 28C10010 */ slti $at, $a2, 0x10 -/* 0107C4 7000FBC4 8C82FFFC */ lw $v0, -4($a0) -/* 0107C8 7000FBC8 8C83FFF8 */ lw $v1, -8($a0) -/* 0107CC 7000FBCC 8C88FFF4 */ lw $t0, -0xc($a0) -/* 0107D0 7000FBD0 8C89FFF0 */ lw $t1, -0x10($a0) -/* 0107D4 7000FBD4 8C8AFFEC */ lw $t2, -0x14($a0) -/* 0107D8 7000FBD8 8C8BFFE8 */ lw $t3, -0x18($a0) -/* 0107DC 7000FBDC 8C8CFFE4 */ lw $t4, -0x1c($a0) -/* 0107E0 7000FBE0 8C8DFFE0 */ lw $t5, -0x20($a0) -/* 0107E4 7000FBE4 2484FFE0 */ addiu $a0, $a0, -0x20 -/* 0107E8 7000FBE8 24A5FFE0 */ addiu $a1, $a1, -0x20 -/* 0107EC 7000FBEC 24C6FFE0 */ addiu $a2, $a2, -0x20 -/* 0107F0 7000FBF0 ACA2001C */ sw $v0, 0x1c($a1) -/* 0107F4 7000FBF4 ACA30018 */ sw $v1, 0x18($a1) -/* 0107F8 7000FBF8 ACA80014 */ sw $t0, 0x14($a1) -/* 0107FC 7000FBFC ACA90010 */ sw $t1, 0x10($a1) -/* 010800 7000FC00 ACAA000C */ sw $t2, 0xc($a1) -/* 010804 7000FC04 ACAB0008 */ sw $t3, 8($a1) -/* 010808 7000FC08 ACAC0004 */ sw $t4, 4($a1) -/* 01080C 7000FC0C 1000FFEA */ b .L7000FBB8 -/* 010810 7000FC10 ACAD0000 */ sw $t5, ($a1) -.L7000FC14: -/* 010814 7000FC14 28C10010 */ slti $at, $a2, 0x10 -.L7000FC18: -/* 010818 7000FC18 5420000E */ bnezl $at, .L7000FC54 -/* 01081C 7000FC1C 28C10004 */ slti $at, $a2, 4 -/* 010820 7000FC20 8C82FFFC */ lw $v0, -4($a0) -/* 010824 7000FC24 8C83FFF8 */ lw $v1, -8($a0) -/* 010828 7000FC28 8C88FFF4 */ lw $t0, -0xc($a0) -/* 01082C 7000FC2C 8C89FFF0 */ lw $t1, -0x10($a0) -/* 010830 7000FC30 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 010834 7000FC34 24A5FFF0 */ addiu $a1, $a1, -0x10 -/* 010838 7000FC38 24C6FFF0 */ addiu $a2, $a2, -0x10 -/* 01083C 7000FC3C ACA2000C */ sw $v0, 0xc($a1) -/* 010840 7000FC40 ACA30008 */ sw $v1, 8($a1) -/* 010844 7000FC44 ACA80004 */ sw $t0, 4($a1) -/* 010848 7000FC48 1000FFF2 */ b .L7000FC14 -/* 01084C 7000FC4C ACA90000 */ sw $t1, ($a1) -.L7000FC50: -/* 010850 7000FC50 28C10004 */ slti $at, $a2, 4 -.L7000FC54: -/* 010854 7000FC54 1420FFB3 */ bnez $at, .L7000FB24 -/* 010858 7000FC58 00000000 */ nop -/* 01085C 7000FC5C 8C82FFFC */ lw $v0, -4($a0) -/* 010860 7000FC60 2484FFFC */ addiu $a0, $a0, -4 -/* 010864 7000FC64 24A5FFFC */ addiu $a1, $a1, -4 -/* 010868 7000FC68 24C6FFFC */ addiu $a2, $a2, -4 -/* 01086C 7000FC6C 1000FFF8 */ b .L7000FC50 -/* 010870 7000FC70 ACA20000 */ sw $v0, ($a1) -/* 010874 7000FC74 00000000 */ nop -/* 010878 7000FC78 00000000 */ nop -/* 01087C 7000FC7C 00000000 */ nop - -.section .text -glabel guPerspectiveF -/* 010880 7000FC80 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 010884 7000FC84 44867000 */ mtc1 $a2, $f14 -/* 010888 7000FC88 AFBF0014 */ sw $ra, 0x14($sp) -/* 01088C 7000FC8C AFA7003C */ sw $a3, 0x3c($sp) -/* 010890 7000FC90 AFA40030 */ sw $a0, 0x30($sp) -/* 010894 7000FC94 AFA50034 */ sw $a1, 0x34($sp) -/* 010898 7000FC98 0C004004 */ jal guMtxIdentF -/* 01089C 7000FC9C E7AE0038 */ swc1 $f14, 0x38($sp) -/* 0108A0 7000FCA0 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 0108A4 7000FCA4 3C018003 */ lui $at, %hi(F64_80029430) #0x80030000 -/* 0108A8 7000FCA8 D4269430 */ ldc1 $f6, %lo(F64_80029430)($at) # -0x6bd0($at) -/* 0108AC 7000FCAC 46007121 */ cvt.d.s $f4, $f14 -/* 0108B0 7000FCB0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0108B4 7000FCB4 46262202 */ mul.d $f8, $f4, $f6 -/* 0108B8 7000FCB8 44815000 */ mtc1 $at, $f10 -/* 0108BC 7000FCBC 462043A0 */ cvt.s.d $f14, $f8 -/* 0108C0 7000FCC0 460A7303 */ div.s $f12, $f14, $f10 -/* 0108C4 7000FCC4 0FC15FA8 */ jal cosf -/* 0108C8 7000FCC8 E7AC001C */ swc1 $f12, 0x1c($sp) -/* 0108CC 7000FCCC C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 0108D0 7000FCD0 0FC15FAB */ jal sinf -/* 0108D4 7000FCD4 E7A00020 */ swc1 $f0, 0x20($sp) -/* 0108D8 7000FCD8 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0108DC 7000FCDC C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 0108E0 7000FCE0 C7AE0040 */ lwc1 $f14, 0x40($sp) -/* 0108E4 7000FCE4 46002083 */ div.s $f2, $f4, $f0 -/* 0108E8 7000FCE8 C7B00044 */ lwc1 $f16, 0x44($sp) -/* 0108EC 7000FCEC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 0108F0 7000FCF0 44812000 */ mtc1 $at, $f4 -/* 0108F4 7000FCF4 46107480 */ add.s $f18, $f14, $f16 -/* 0108F8 7000FCF8 8FA20030 */ lw $v0, 0x30($sp) -/* 0108FC 7000FCFC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 010900 7000FD00 46107301 */ sub.s $f12, $f14, $f16 -/* 010904 7000FD04 8FA50034 */ lw $a1, 0x34($sp) -/* 010908 7000FD08 E444002C */ swc1 $f4, 0x2c($v0) -/* 01090C 7000FD0C 00001825 */ move $v1, $zero -/* 010910 7000FD10 24040004 */ li $a0, 4 -/* 010914 7000FD14 460C9283 */ div.s $f10, $f18, $f12 -/* 010918 7000FD18 E4420014 */ swc1 $f2, 0x14($v0) -/* 01091C 7000FD1C 46061203 */ div.s $f8, $f2, $f6 -/* 010920 7000FD20 44813000 */ mtc1 $at, $f6 -/* 010924 7000FD24 E44A0028 */ swc1 $f10, 0x28($v0) -/* 010928 7000FD28 E4480000 */ swc1 $f8, ($v0) -/* 01092C 7000FD2C 460E3202 */ mul.s $f8, $f6, $f14 -/* 010930 7000FD30 44803000 */ mtc1 $zero, $f6 -/* 010934 7000FD34 00000000 */ nop -/* 010938 7000FD38 E446003C */ swc1 $f6, 0x3c($v0) -/* 01093C 7000FD3C 46104282 */ mul.s $f10, $f8, $f16 -/* 010940 7000FD40 460C5103 */ div.s $f4, $f10, $f12 -/* 010944 7000FD44 E4440038 */ swc1 $f4, 0x38($v0) -/* 010948 7000FD48 C7A00048 */ lwc1 $f0, 0x48($sp) -/* 01094C 7000FD4C C4460000 */ lwc1 $f6, ($v0) -/* 010950 7000FD50 24630001 */ addiu $v1, $v1, 1 -/* 010954 7000FD54 C4500004 */ lwc1 $f16, 4($v0) -/* 010958 7000FD58 46003282 */ mul.s $f10, $f6, $f0 -/* 01095C 7000FD5C C44C0008 */ lwc1 $f12, 8($v0) -/* 010960 7000FD60 10640010 */ beq $v1, $a0, .L7000FDA4 -/* 010964 7000FD64 C44E000C */ lwc1 $f14, 0xc($v0) -.L7000FD68: -/* 010968 7000FD68 46008202 */ mul.s $f8, $f16, $f0 -/* 01096C 7000FD6C C4460010 */ lwc1 $f6, 0x10($v0) -/* 010970 7000FD70 C4500014 */ lwc1 $f16, 0x14($v0) -/* 010974 7000FD74 46006102 */ mul.s $f4, $f12, $f0 -/* 010978 7000FD78 C44C0018 */ lwc1 $f12, 0x18($v0) -/* 01097C 7000FD7C 24630001 */ addiu $v1, $v1, 1 -/* 010980 7000FD80 46007082 */ mul.s $f2, $f14, $f0 -/* 010984 7000FD84 C44E001C */ lwc1 $f14, 0x1c($v0) -/* 010988 7000FD88 E44A0000 */ swc1 $f10, ($v0) -/* 01098C 7000FD8C 46003282 */ mul.s $f10, $f6, $f0 -/* 010990 7000FD90 E4480004 */ swc1 $f8, 4($v0) -/* 010994 7000FD94 E4440008 */ swc1 $f4, 8($v0) -/* 010998 7000FD98 24420010 */ addiu $v0, $v0, 0x10 -/* 01099C 7000FD9C 1464FFF2 */ bne $v1, $a0, .L7000FD68 -/* 0109A0 7000FDA0 E442FFFC */ swc1 $f2, -4($v0) -.L7000FDA4: -/* 0109A4 7000FDA4 46008202 */ mul.s $f8, $f16, $f0 -/* 0109A8 7000FDA8 24420010 */ addiu $v0, $v0, 0x10 -/* 0109AC 7000FDAC E44AFFF0 */ swc1 $f10, -0x10($v0) -/* 0109B0 7000FDB0 46006102 */ mul.s $f4, $f12, $f0 -/* 0109B4 7000FDB4 00000000 */ nop -/* 0109B8 7000FDB8 46007082 */ mul.s $f2, $f14, $f0 -/* 0109BC 7000FDBC E448FFF4 */ swc1 $f8, -0xc($v0) -/* 0109C0 7000FDC0 E444FFF8 */ swc1 $f4, -8($v0) -/* 0109C4 7000FDC4 E442FFFC */ swc1 $f2, -4($v0) -/* 0109C8 7000FDC8 10A00035 */ beqz $a1, .L7000FEA0 -/* 0109CC 7000FDCC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0109D0 7000FDD0 44814800 */ mtc1 $at, $f9 -/* 0109D4 7000FDD4 44804000 */ mtc1 $zero, $f8 -/* 0109D8 7000FDD8 46009021 */ cvt.d.s $f0, $f18 -/* 0109DC 7000FDDC 340EFFFF */ li $t6, 65535 -/* 0109E0 7000FDE0 4628003E */ c.le.d $f0, $f8 -/* 0109E4 7000FDE4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 0109E8 7000FDE8 45020004 */ bc1fl .L7000FDFC -/* 0109EC 7000FDEC 44815800 */ mtc1 $at, $f11 -/* 0109F0 7000FDF0 1000002B */ b .L7000FEA0 -/* 0109F4 7000FDF4 A4AE0000 */ sh $t6, ($a1) -/* 0109F8 7000FDF8 44815800 */ mtc1 $at, $f11 -.L7000FDFC: -/* 0109FC 7000FDFC 44805000 */ mtc1 $zero, $f10 -/* 010A00 7000FE00 24180001 */ li $t8, 1 -/* 010A04 7000FE04 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 010A08 7000FE08 46205103 */ div.d $f4, $f10, $f0 -/* 010A0C 7000FE0C 24080001 */ li $t0, 1 -/* 010A10 7000FE10 444FF800 */ cfc1 $t7, $31 -/* 010A14 7000FE14 44D8F800 */ ctc1 $t8, $31 -/* 010A18 7000FE18 00000000 */ nop -/* 010A1C 7000FE1C 462021A4 */ cvt.w.d $f6, $f4 -/* 010A20 7000FE20 4458F800 */ cfc1 $t8, $31 -/* 010A24 7000FE24 00000000 */ nop -/* 010A28 7000FE28 33180078 */ andi $t8, $t8, 0x78 -/* 010A2C 7000FE2C 53000014 */ beql $t8, $zero, .L7000FE80 -/* 010A30 7000FE30 44183000 */ mfc1 $t8, $f6 -/* 010A34 7000FE34 44813800 */ mtc1 $at, $f7 -/* 010A38 7000FE38 44803000 */ mtc1 $zero, $f6 -/* 010A3C 7000FE3C 24180001 */ li $t8, 1 -/* 010A40 7000FE40 46262181 */ sub.d $f6, $f4, $f6 -/* 010A44 7000FE44 44D8F800 */ ctc1 $t8, $31 -/* 010A48 7000FE48 00000000 */ nop -/* 010A4C 7000FE4C 462031A4 */ cvt.w.d $f6, $f6 -/* 010A50 7000FE50 4458F800 */ cfc1 $t8, $31 -/* 010A54 7000FE54 00000000 */ nop -/* 010A58 7000FE58 33180078 */ andi $t8, $t8, 0x78 -/* 010A5C 7000FE5C 17000005 */ bnez $t8, .L7000FE74 -/* 010A60 7000FE60 00000000 */ nop -/* 010A64 7000FE64 44183000 */ mfc1 $t8, $f6 -/* 010A68 7000FE68 3C018000 */ lui $at, 0x8000 -/* 010A6C 7000FE6C 10000007 */ b .L7000FE8C -/* 010A70 7000FE70 0301C025 */ or $t8, $t8, $at -.L7000FE74: -/* 010A74 7000FE74 10000005 */ b .L7000FE8C -/* 010A78 7000FE78 2418FFFF */ li $t8, -1 -/* 010A7C 7000FE7C 44183000 */ mfc1 $t8, $f6 -.L7000FE80: -/* 010A80 7000FE80 00000000 */ nop -/* 010A84 7000FE84 0700FFFB */ bltz $t8, .L7000FE74 -/* 010A88 7000FE88 00000000 */ nop -.L7000FE8C: -/* 010A8C 7000FE8C 44CFF800 */ ctc1 $t7, $31 -/* 010A90 7000FE90 3319FFFF */ andi $t9, $t8, 0xffff -/* 010A94 7000FE94 1F200002 */ bgtz $t9, .L7000FEA0 -/* 010A98 7000FE98 A4B80000 */ sh $t8, ($a1) -/* 010A9C 7000FE9C A4A80000 */ sh $t0, ($a1) -.L7000FEA0: -/* 010AA0 7000FEA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 010AA4 7000FEA4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 010AA8 7000FEA8 03E00008 */ jr $ra -/* 010AAC 7000FEAC 00000000 */ nop - -glabel guPerspective -/* 010AB0 7000FEB0 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 010AB4 7000FEB4 44866000 */ mtc1 $a2, $f12 -/* 010AB8 7000FEB8 44877000 */ mtc1 $a3, $f14 -/* 010ABC 7000FEBC C7A40078 */ lwc1 $f4, 0x78($sp) -/* 010AC0 7000FEC0 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 010AC4 7000FEC4 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 010AC8 7000FEC8 AFBF0024 */ sw $ra, 0x24($sp) -/* 010ACC 7000FECC AFA40068 */ sw $a0, 0x68($sp) -/* 010AD0 7000FED0 44066000 */ mfc1 $a2, $f12 -/* 010AD4 7000FED4 44077000 */ mfc1 $a3, $f14 -/* 010AD8 7000FED8 27A40028 */ addiu $a0, $sp, 0x28 -/* 010ADC 7000FEDC E7A40010 */ swc1 $f4, 0x10($sp) -/* 010AE0 7000FEE0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 010AE4 7000FEE4 0C003F20 */ jal guPerspectiveF -/* 010AE8 7000FEE8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 010AEC 7000FEEC 27A40028 */ addiu $a0, $sp, 0x28 -/* 010AF0 7000FEF0 0C003FC4 */ jal guMtxF2L -/* 010AF4 7000FEF4 8FA50068 */ lw $a1, 0x68($sp) -/* 010AF8 7000FEF8 8FBF0024 */ lw $ra, 0x24($sp) -/* 010AFC 7000FEFC 27BD0068 */ addiu $sp, $sp, 0x68 -/* 010B00 7000FF00 03E00008 */ jr $ra -/* 010B04 7000FF04 00000000 */ nop - -/* 010B08 7000FF08 00000000 */ nop -/* 010B0C 7000FF0C 00000000 */ nop -glabel guMtxF2L -/* 010B10 7000FF10 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 010B14 7000FF14 44810000 */ mtc1 $at, $f0 -/* 010B18 7000FF18 00A01025 */ move $v0, $a1 -/* 010B1C 7000FF1C 24A30020 */ addiu $v1, $a1, 0x20 -/* 010B20 7000FF20 00003025 */ move $a2, $zero -/* 010B24 7000FF24 00803825 */ move $a3, $a0 -/* 010B28 7000FF28 240C0004 */ li $t4, 4 -/* 010B2C 7000FF2C 240B0002 */ li $t3, 2 -/* 010B30 7000FF30 3C0AFFFF */ lui $t2, 0xffff -.L7000FF34: -/* 010B34 7000FF34 00002025 */ move $a0, $zero -/* 010B38 7000FF38 00E04025 */ move $t0, $a3 -/* 010B3C 7000FF3C C50E0004 */ lwc1 $f14, 4($t0) -/* 010B40 7000FF40 24840001 */ addiu $a0, $a0, 1 -/* 010B44 7000FF44 C5120000 */ lwc1 $f18, ($t0) -/* 010B48 7000FF48 46007402 */ mul.s $f16, $f14, $f0 -/* 010B4C 7000FF4C 108B0019 */ beq $a0, $t3, .L7000FFB4 -/* 010B50 7000FF50 00000000 */ nop -.L7000FF54: -/* 010B54 7000FF54 46009382 */ mul.s $f14, $f18, $f0 -/* 010B58 7000FF58 24840001 */ addiu $a0, $a0, 1 -/* 010B5C 7000FF5C 24420004 */ addiu $v0, $v0, 4 -/* 010B60 7000FF60 24630004 */ addiu $v1, $v1, 4 -/* 010B64 7000FF64 25080008 */ addiu $t0, $t0, 8 -/* 010B68 7000FF68 4600830D */ trunc.w.s $f12, $f16 -/* 010B6C 7000FF6C 4600738D */ trunc.w.s $f14, $f14 -/* 010B70 7000FF70 44096000 */ mfc1 $t1, $f12 -/* 010B74 7000FF74 44057000 */ mfc1 $a1, $f14 -/* 010B78 7000FF78 0009CC03 */ sra $t9, $t1, 0x10 -/* 010B7C 7000FF7C 332DFFFF */ andi $t5, $t9, 0xffff -/* 010B80 7000FF80 00AAC024 */ and $t8, $a1, $t2 -/* 010B84 7000FF84 030D7025 */ or $t6, $t8, $t5 -/* 010B88 7000FF88 00057C00 */ sll $t7, $a1, 0x10 -/* 010B8C 7000FF8C 01EAC824 */ and $t9, $t7, $t2 -/* 010B90 7000FF90 AC4EFFFC */ sw $t6, -4($v0) -/* 010B94 7000FF94 3138FFFF */ andi $t8, $t1, 0xffff -/* 010B98 7000FF98 03386825 */ or $t5, $t9, $t8 -/* 010B9C 7000FF9C AC6DFFFC */ sw $t5, -4($v1) -/* 010BA0 7000FFA0 C50E0004 */ lwc1 $f14, 4($t0) -/* 010BA4 7000FFA4 C5120000 */ lwc1 $f18, ($t0) -/* 010BA8 7000FFA8 46007402 */ mul.s $f16, $f14, $f0 -/* 010BAC 7000FFAC 148BFFE9 */ bne $a0, $t3, .L7000FF54 -/* 010BB0 7000FFB0 00000000 */ nop -.L7000FFB4: -/* 010BB4 7000FFB4 46009382 */ mul.s $f14, $f18, $f0 -/* 010BB8 7000FFB8 25080008 */ addiu $t0, $t0, 8 -/* 010BBC 7000FFBC 24420004 */ addiu $v0, $v0, 4 -/* 010BC0 7000FFC0 24630004 */ addiu $v1, $v1, 4 -/* 010BC4 7000FFC4 4600830D */ trunc.w.s $f12, $f16 -/* 010BC8 7000FFC8 4600738D */ trunc.w.s $f14, $f14 -/* 010BCC 7000FFCC 44096000 */ mfc1 $t1, $f12 -/* 010BD0 7000FFD0 44057000 */ mfc1 $a1, $f14 -/* 010BD4 7000FFD4 0009CC03 */ sra $t9, $t1, 0x10 -/* 010BD8 7000FFD8 332DFFFF */ andi $t5, $t9, 0xffff -/* 010BDC 7000FFDC 00AAC024 */ and $t8, $a1, $t2 -/* 010BE0 7000FFE0 030D7025 */ or $t6, $t8, $t5 -/* 010BE4 7000FFE4 00057C00 */ sll $t7, $a1, 0x10 -/* 010BE8 7000FFE8 01EAC824 */ and $t9, $t7, $t2 -/* 010BEC 7000FFEC 3138FFFF */ andi $t8, $t1, 0xffff -/* 010BF0 7000FFF0 AC4EFFFC */ sw $t6, -4($v0) -/* 010BF4 7000FFF4 03386825 */ or $t5, $t9, $t8 -/* 010BF8 7000FFF8 AC6DFFFC */ sw $t5, -4($v1) -/* 010BFC 7000FFFC 24C60001 */ addiu $a2, $a2, 1 -/* 010C00 70010000 14CCFFCC */ bne $a2, $t4, .L7000FF34 -/* 010C04 70010004 24E70010 */ addiu $a3, $a3, 0x10 -/* 010C08 70010008 03E00008 */ jr $ra -/* 010C0C 7001000C 00000000 */ nop - -.section .rodata -glabel F64_80029430 -.word 0x3f91df46, 0x9d353918 #0.017453292222222222 -.word 0,0 - -.section .text -glabel guMtxIdentF -/* 010C10 70010010 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 010C14 70010014 00801825 */ move $v1, $a0 -/* 010C18 70010018 44810000 */ mtc1 $at, $f0 -/* 010C1C 7001001C 44801000 */ mtc1 $zero, $f2 -/* 010C20 70010020 24040001 */ li $a0, 1 -/* 010C24 70010024 00001025 */ move $v0, $zero -/* 010C28 70010028 24070004 */ li $a3, 4 -/* 010C2C 7001002C 24060003 */ li $a2, 3 -/* 010C30 70010030 24050002 */ li $a1, 2 -.L70010034: -/* 010C34 70010034 54400004 */ bnezl $v0, .L70010048 -/* 010C38 70010038 E4620000 */ swc1 $f2, ($v1) -/* 010C3C 7001003C 10000002 */ b .L70010048 -/* 010C40 70010040 E4600000 */ swc1 $f0, ($v1) -/* 010C44 70010044 E4620000 */ swc1 $f2, ($v1) -.L70010048: -/* 010C48 70010048 54440004 */ bnel $v0, $a0, .L7001005C -/* 010C4C 7001004C E4620004 */ swc1 $f2, 4($v1) -/* 010C50 70010050 10000002 */ b .L7001005C -/* 010C54 70010054 E4600004 */ swc1 $f0, 4($v1) -/* 010C58 70010058 E4620004 */ swc1 $f2, 4($v1) -.L7001005C: -/* 010C5C 7001005C 54450004 */ bnel $v0, $a1, .L70010070 -/* 010C60 70010060 E4620008 */ swc1 $f2, 8($v1) -/* 010C64 70010064 10000002 */ b .L70010070 -/* 010C68 70010068 E4600008 */ swc1 $f0, 8($v1) -/* 010C6C 7001006C E4620008 */ swc1 $f2, 8($v1) -.L70010070: -/* 010C70 70010070 54460004 */ bnel $v0, $a2, .L70010084 -/* 010C74 70010074 E462000C */ swc1 $f2, 0xc($v1) -/* 010C78 70010078 10000002 */ b .L70010084 -/* 010C7C 7001007C E460000C */ swc1 $f0, 0xc($v1) -/* 010C80 70010080 E462000C */ swc1 $f2, 0xc($v1) -.L70010084: -/* 010C84 70010084 24420001 */ addiu $v0, $v0, 1 -/* 010C88 70010088 1447FFEA */ bne $v0, $a3, .L70010034 -/* 010C8C 7001008C 24630010 */ addiu $v1, $v1, 0x10 -/* 010C90 70010090 03E00008 */ jr $ra -/* 010C94 70010094 00000000 */ nop - -glabel guMtxIdent -/* 010C98 70010098 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 010C9C 7001009C AFBF0014 */ sw $ra, 0x14($sp) -/* 010CA0 700100A0 AFA40058 */ sw $a0, 0x58($sp) -/* 010CA4 700100A4 0C004004 */ jal guMtxIdentF -/* 010CA8 700100A8 27A40018 */ addiu $a0, $sp, 0x18 -/* 010CAC 700100AC 27A40018 */ addiu $a0, $sp, 0x18 -/* 010CB0 700100B0 0C003FC4 */ jal guMtxF2L -/* 010CB4 700100B4 8FA50058 */ lw $a1, 0x58($sp) -/* 010CB8 700100B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 010CBC 700100BC 27BD0058 */ addiu $sp, $sp, 0x58 -/* 010CC0 700100C0 03E00008 */ jr $ra -/* 010CC4 700100C4 00000000 */ nop - -glabel guMtxL2F -/* 010CC8 700100C8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 010CCC 700100CC 44810000 */ mtc1 $at, $f0 -/* 010CD0 700100D0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 010CD4 700100D4 00A01025 */ move $v0, $a1 -/* 010CD8 700100D8 24A30020 */ addiu $v1, $a1, 0x20 -/* 010CDC 700100DC 00003025 */ move $a2, $zero -/* 010CE0 700100E0 00804025 */ move $t0, $a0 -/* 010CE4 700100E4 240C0004 */ li $t4, 4 -/* 010CE8 700100E8 240B0002 */ li $t3, 2 -/* 010CEC 700100EC 3C0AFFFF */ lui $t2, 0xffff -.L700100F0: -/* 010CF0 700100F0 00002025 */ move $a0, $zero -/* 010CF4 700100F4 01004825 */ move $t1, $t0 -.L700100F8: -/* 010CF8 700100F8 8C6E0000 */ lw $t6, ($v1) -/* 010CFC 700100FC 8C590000 */ lw $t9, ($v0) -/* 010D00 70010100 24840001 */ addiu $a0, $a0, 1 -/* 010D04 70010104 000E7C02 */ srl $t7, $t6, 0x10 -/* 010D08 70010108 31F8FFFF */ andi $t8, $t7, 0xffff -/* 010D0C 7001010C 032A6824 */ and $t5, $t9, $t2 -/* 010D10 70010110 030D7025 */ or $t6, $t8, $t5 -/* 010D14 70010114 AFAE0004 */ sw $t6, 4($sp) -/* 010D18 70010118 8C6F0000 */ lw $t7, ($v1) -/* 010D1C 7001011C 8C580000 */ lw $t8, ($v0) -/* 010D20 70010120 8FA50004 */ lw $a1, 4($sp) -/* 010D24 70010124 31F9FFFF */ andi $t9, $t7, 0xffff -/* 010D28 70010128 00186C00 */ sll $t5, $t8, 0x10 -/* 010D2C 7001012C 44859000 */ mtc1 $a1, $f18 -/* 010D30 70010130 01AA7024 */ and $t6, $t5, $t2 -/* 010D34 70010134 032E3825 */ or $a3, $t9, $t6 -/* 010D38 70010138 468094A0 */ cvt.s.w $f18, $f18 -/* 010D3C 7001013C 44878000 */ mtc1 $a3, $f16 -/* 010D40 70010140 AFA70000 */ sw $a3, ($sp) -/* 010D44 70010144 24420004 */ addiu $v0, $v0, 4 -/* 010D48 70010148 24630004 */ addiu $v1, $v1, 4 -/* 010D4C 7001014C 46808420 */ cvt.s.w $f16, $f16 -/* 010D50 70010150 25290008 */ addiu $t1, $t1, 8 -/* 010D54 70010154 46009483 */ div.s $f18, $f18, $f0 -/* 010D58 70010158 46008403 */ div.s $f16, $f16, $f0 -/* 010D5C 7001015C E532FFF8 */ swc1 $f18, -8($t1) -/* 010D60 70010160 148BFFE5 */ bne $a0, $t3, .L700100F8 -/* 010D64 70010164 E530FFFC */ swc1 $f16, -4($t1) -/* 010D68 70010168 24C60001 */ addiu $a2, $a2, 1 -/* 010D6C 7001016C 14CCFFE0 */ bne $a2, $t4, .L700100F0 -/* 010D70 70010170 25080010 */ addiu $t0, $t0, 0x10 -/* 010D74 70010174 03E00008 */ jr $ra -/* 010D78 70010178 27BD0010 */ addiu $sp, $sp, 0x10 - -/* 010D7C 7001017C 00000000 */ nop -glabel ultra_70010180 -/* 010D80 70010180 3C028002 */ lui $v0, %hi(__osFaultedThread) -/* 010D84 70010184 03E00008 */ jr $ra -/* 010D88 70010188 8C427734 */ lw $v0, %lo(__osFaultedThread)($v0) - -/* 010D8C 7001018C 00000000 */ nop -glabel __osExceptionPreamble -/* 010D90 70010190 3C1A7001 */ lui $k0, %hi(__osException) # $k0, 0x7001 -/* 010D94 70010194 275A01A0 */ addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x1a0 -/* 010D98 70010198 03400008 */ jr $k0 -/* 010D9C 7001019C 00000000 */ nop -glabel __osException -/* 010DA0 700101A0 3C1A8007 */ lui $k0, %hi(__osThreadSave) # $k0, 0x8007 -/* 010DA4 700101A4 275A8E30 */ addiu $k0, %lo(__osThreadSave) # addiu $k0, $k0, -0x71d0 -/* 010DA8 700101A8 FF410020 */ sd $at, 0x20($k0) -/* 010DAC 700101AC 401B6000 */ mfc0 $k1, $12 -/* 010DB0 700101B0 AF5B0118 */ sw $k1, 0x118($k0) -/* 010DB4 700101B4 2401FFFC */ li $at, -4 -/* 010DB8 700101B8 0361D824 */ and $k1, $k1, $at -/* 010DBC 700101BC 409B6000 */ mtc0 $k1, $12 -/* 010DC0 700101C0 FF480058 */ sd $t0, 0x58($k0) -/* 010DC4 700101C4 FF490060 */ sd $t1, 0x60($k0) -/* 010DC8 700101C8 FF4A0068 */ sd $t2, 0x68($k0) -/* 010DCC 700101CC AF400018 */ sw $zero, 0x18($k0) -/* 010DD0 700101D0 40086800 */ mfc0 $t0, $13 -/* 010DD4 700101D4 03404025 */ move $t0, $k0 -/* 010DD8 700101D8 3C1A8002 */ lui $k0, %hi(__osRunningThread) # $k0, 0x8002 -/* 010DDC 700101DC 8F5A7730 */ lw $k0, %lo(__osRunningThread)($k0) -/* 010DE0 700101E0 DD090020 */ ld $t1, 0x20($t0) -/* 010DE4 700101E4 FF490020 */ sd $t1, 0x20($k0) -/* 010DE8 700101E8 DD090118 */ ld $t1, 0x118($t0) -/* 010DEC 700101EC FF490118 */ sd $t1, 0x118($k0) -/* 010DF0 700101F0 DD090058 */ ld $t1, 0x58($t0) -/* 010DF4 700101F4 FF490058 */ sd $t1, 0x58($k0) -/* 010DF8 700101F8 DD090060 */ ld $t1, 0x60($t0) -/* 010DFC 700101FC FF490060 */ sd $t1, 0x60($k0) -/* 010E00 70010200 DD090068 */ ld $t1, 0x68($t0) -/* 010E04 70010204 FF490068 */ sd $t1, 0x68($k0) -/* 010E08 70010208 8F5B0118 */ lw $k1, 0x118($k0) -/* 010E0C 7001020C 00004012 */ mflo $t0 -/* 010E10 70010210 FF480108 */ sd $t0, 0x108($k0) -/* 010E14 70010214 00004010 */ mfhi $t0 -/* 010E18 70010218 3369FF00 */ andi $t1, $k1, 0xff00 -/* 010E1C 7001021C FF420028 */ sd $v0, 0x28($k0) -/* 010E20 70010220 FF430030 */ sd $v1, 0x30($k0) -/* 010E24 70010224 FF440038 */ sd $a0, 0x38($k0) -/* 010E28 70010228 FF450040 */ sd $a1, 0x40($k0) -/* 010E2C 7001022C FF460048 */ sd $a2, 0x48($k0) -/* 010E30 70010230 FF470050 */ sd $a3, 0x50($k0) -/* 010E34 70010234 FF4B0070 */ sd $t3, 0x70($k0) -/* 010E38 70010238 FF4C0078 */ sd $t4, 0x78($k0) -/* 010E3C 7001023C FF4D0080 */ sd $t5, 0x80($k0) -/* 010E40 70010240 FF4E0088 */ sd $t6, 0x88($k0) -/* 010E44 70010244 FF4F0090 */ sd $t7, 0x90($k0) -/* 010E48 70010248 FF500098 */ sd $s0, 0x98($k0) -/* 010E4C 7001024C FF5100A0 */ sd $s1, 0xa0($k0) -/* 010E50 70010250 FF5200A8 */ sd $s2, 0xa8($k0) -/* 010E54 70010254 FF5300B0 */ sd $s3, 0xb0($k0) -/* 010E58 70010258 FF5400B8 */ sd $s4, 0xb8($k0) -/* 010E5C 7001025C FF5500C0 */ sd $s5, 0xc0($k0) -/* 010E60 70010260 FF5600C8 */ sd $s6, 0xc8($k0) -/* 010E64 70010264 FF5700D0 */ sd $s7, 0xd0($k0) -/* 010E68 70010268 FF5800D8 */ sd $t8, 0xd8($k0) -/* 010E6C 7001026C FF5900E0 */ sd $t9, 0xe0($k0) -/* 010E70 70010270 FF5C00E8 */ sd $gp, 0xe8($k0) -/* 010E74 70010274 FF5D00F0 */ sd $sp, 0xf0($k0) -/* 010E78 70010278 FF5E00F8 */ sd $fp, 0xf8($k0) -/* 010E7C 7001027C FF5F0100 */ sd $ra, 0x100($k0) -/* 010E80 70010280 1120000D */ beqz $t1, .L700102B8 -/* 010E84 70010284 FF480110 */ sd $t0, 0x110($k0) -/* 010E88 70010288 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 010E8C 7001028C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 010E90 70010290 8D080000 */ lw $t0, ($t0) -/* 010E94 70010294 2401FFFF */ li $at, -1 -/* 010E98 70010298 01014026 */ xor $t0, $t0, $at -/* 010E9C 7001029C 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 010EA0 700102A0 3108FF00 */ andi $t0, $t0, 0xff00 -/* 010EA4 700102A4 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 010EA8 700102A8 01284825 */ or $t1, $t1, $t0 -/* 010EAC 700102AC 0361D824 */ and $k1, $k1, $at -/* 010EB0 700102B0 0369D825 */ or $k1, $k1, $t1 -/* 010EB4 700102B4 AF5B0118 */ sw $k1, 0x118($k0) -.L700102B8: -/* 010EB8 700102B8 3C09A430 */ lui $t1, %hi(MI_INTR_MASK_REG) # $t1, 0xa430 -/* 010EBC 700102BC 8D29000C */ lw $t1, %lo(MI_INTR_MASK_REG)($t1) -/* 010EC0 700102C0 1120000B */ beqz $t1, .L700102F0 -/* 010EC4 700102C4 00000000 */ nop -/* 010EC8 700102C8 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 010ECC 700102CC 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 010ED0 700102D0 8D080000 */ lw $t0, ($t0) -/* 010ED4 700102D4 8F4C0128 */ lw $t4, 0x128($k0) -/* 010ED8 700102D8 2401FFFF */ li $at, -1 -/* 010EDC 700102DC 00084402 */ srl $t0, $t0, 0x10 -/* 010EE0 700102E0 01014026 */ xor $t0, $t0, $at -/* 010EE4 700102E4 3108003F */ andi $t0, $t0, 0x3f -/* 010EE8 700102E8 010C4024 */ and $t0, $t0, $t4 -/* 010EEC 700102EC 01284825 */ or $t1, $t1, $t0 -.L700102F0: -/* 010EF0 700102F0 AF490128 */ sw $t1, 0x128($k0) -/* 010EF4 700102F4 40087000 */ mfc0 $t0, $14 -/* 010EF8 700102F8 AF48011C */ sw $t0, 0x11c($k0) -/* 010EFC 700102FC 8F480018 */ lw $t0, 0x18($k0) -/* 010F00 70010300 11000014 */ beqz $t0, .L70010354 -/* 010F04 70010304 00000000 */ nop -/* 010F08 70010308 4448F800 */ cfc1 $t0, $31 -/* 010F0C 7001030C 00000000 */ nop -/* 010F10 70010310 AF48012C */ sw $t0, 0x12c($k0) -/* 010F14 70010314 F7400130 */ sdc1 $f0, 0x130($k0) -/* 010F18 70010318 F7420138 */ sdc1 $f2, 0x138($k0) -/* 010F1C 7001031C F7440140 */ sdc1 $f4, 0x140($k0) -/* 010F20 70010320 F7460148 */ sdc1 $f6, 0x148($k0) -/* 010F24 70010324 F7480150 */ sdc1 $f8, 0x150($k0) -/* 010F28 70010328 F74A0158 */ sdc1 $f10, 0x158($k0) -/* 010F2C 7001032C F74C0160 */ sdc1 $f12, 0x160($k0) -/* 010F30 70010330 F74E0168 */ sdc1 $f14, 0x168($k0) -/* 010F34 70010334 F7500170 */ sdc1 $f16, 0x170($k0) -/* 010F38 70010338 F7520178 */ sdc1 $f18, 0x178($k0) -/* 010F3C 7001033C F7540180 */ sdc1 $f20, 0x180($k0) -/* 010F40 70010340 F7560188 */ sdc1 $f22, 0x188($k0) -/* 010F44 70010344 F7580190 */ sdc1 $f24, 0x190($k0) -/* 010F48 70010348 F75A0198 */ sdc1 $f26, 0x198($k0) -/* 010F4C 7001034C F75C01A0 */ sdc1 $f28, 0x1a0($k0) -/* 010F50 70010350 F75E01A8 */ sdc1 $f30, 0x1a8($k0) -.L70010354: -/* 010F54 70010354 40086800 */ mfc0 $t0, $13 -/* 010F58 70010358 AF480120 */ sw $t0, 0x120($k0) -/* 010F5C 7001035C 24090002 */ li $t1, 2 -/* 010F60 70010360 A7490010 */ sh $t1, 0x10($k0) -/* 010F64 70010364 3109007C */ andi $t1, $t0, 0x7c -/* 010F68 70010368 240A0024 */ li $t2, 36 -/* 010F6C 7001036C 112A00B0 */ beq $t1, $t2, .L70010630 -/* 010F70 70010370 00000000 */ nop -/* 010F74 70010374 240A002C */ li $t2, 44 -/* 010F78 70010378 112A00FF */ beq $t1, $t2, .L70010778 -/* 010F7C 7001037C 00000000 */ nop -/* 010F80 70010380 240A0000 */ li $t2, 0 -/* 010F84 70010384 152A00C3 */ bne $t1, $t2, .L70010694 -/* 010F88 70010388 00000000 */ nop -/* 010F8C 7001038C 03688024 */ and $s0, $k1, $t0 -glabel next_interrupt -.L70010390: -/* 010F90 70010390 3209FF00 */ andi $t1, $s0, 0xff00 -/* 010F94 70010394 00095302 */ srl $t2, $t1, 0xc -/* 010F98 70010398 15400003 */ bnez $t2, .L700103A8 -/* 010F9C 7001039C 00000000 */ nop -/* 010FA0 700103A0 00095202 */ srl $t2, $t1, 8 -/* 010FA4 700103A4 214A0010 */ addi $t2, $t2, 0x10 -.L700103A8: -/* 010FA8 700103A8 3C018003 */ lui $at, %hi(__osIntOffTable) -/* 010FAC 700103AC 002A0821 */ addu $at, $at, $t2 -/* 010FB0 700103B0 902A9440 */ lbu $t2, %lo(__osIntOffTable)($at) -/* 010FB4 700103B4 3C018003 */ lui $at, %hi(__osIntTable) -/* 010FB8 700103B8 002A0821 */ addu $at, $at, $t2 -/* 010FBC 700103BC 8C2A9460 */ lw $t2, %lo(__osIntTable)($at) -/* 010FC0 700103C0 01400008 */ jr $t2 -/* 010FC4 700103C4 00000000 */ nop -glabel IP6_Hdlr -/* 010FC8 700103C8 2401DFFF */ li $at, -8193 -/* 010FCC 700103CC 1000FFF0 */ b .L70010390 -/* 010FD0 700103D0 02018024 */ and $s0, $s0, $at -glabel IP7_Hdlr -/* 010FD4 700103D4 2401BFFF */ li $at, -16385 -/* 010FD8 700103D8 1000FFED */ b .L70010390 -/* 010FDC 700103DC 02018024 */ and $s0, $s0, $at -glabel counter -/* 010FE0 700103E0 40095800 */ mfc0 $t1, $11 -/* 010FE4 700103E4 40895800 */ mtc0 $t1, $11 -/* 010FE8 700103E8 0C0041B1 */ jal send_mesg -/* 010FEC 700103EC 24040018 */ li $a0, 24 -/* 010FF0 700103F0 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 010FF4 700103F4 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 010FF8 700103F8 1000FFE5 */ b .L70010390 -/* 010FFC 700103FC 02018024 */ and $s0, $s0, $at -glabel cart -/* 011000 70010400 2401F7FF */ li $at, -2049 -/* 011004 70010404 02018024 */ and $s0, $s0, $at -/* 011008 70010408 240A0004 */ li $t2, 4 -/* 01100C 7001040C 3C018002 */ lui $at, %hi(__osHwIntTable) -/* 011010 70010410 002A0821 */ addu $at, $at, $t2 -/* 011014 70010414 8C2A7700 */ lw $t2, %lo(__osHwIntTable)($at) -/* 011018 70010418 3C1D8006 */ lui $sp, %hi(leoDiskStack) # $sp, 0x8006 -/* 01101C 7001041C 27BD7DF0 */ addiu $sp, %lo(leoDiskStack) # addiu $sp, $sp, 0x7df0 -/* 011020 70010420 24040010 */ li $a0, 16 -/* 011024 70010424 11400007 */ beqz $t2, .L70010444 -/* 011028 70010428 27BD0FF0 */ addiu $sp, $sp, 0xff0 -/* 01102C 7001042C 0140F809 */ jalr $t2 -/* 011030 70010430 00000000 */ nop -/* 011034 70010434 10400003 */ beqz $v0, .L70010444 -/* 011038 70010438 00000000 */ nop -/* 01103C 7001043C 10000082 */ b .L70010648 -/* 011040 70010440 00000000 */ nop -.L70010444: -/* 011044 70010444 0C0041B1 */ jal send_mesg -/* 011048 70010448 00000000 */ nop -/* 01104C 7001044C 1000FFD0 */ b .L70010390 -/* 011050 70010450 00000000 */ nop -glabel rcp -/* 011054 70010454 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 011058 70010458 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 01105C 7001045C 8D080000 */ lw $t0, ($t0) -/* 011060 70010460 3C11A430 */ lui $s1, %hi(MI_INTR_REG) # $s1, 0xa430 -/* 011064 70010464 8E310008 */ lw $s1, %lo(MI_INTR_REG)($s1) -/* 011068 70010468 00084402 */ srl $t0, $t0, 0x10 -/* 01106C 7001046C 02288824 */ and $s1, $s1, $t0 -/* 011070 70010470 32290001 */ andi $t1, $s1, 1 -/* 011074 70010474 11200013 */ beqz $t1, .L700104C4 -/* 011078 70010478 00000000 */ nop -/* 01107C 7001047C 3C0CA404 */ lui $t4, %hi(SP_STATUS_REG) # $t4, 0xa404 -/* 011080 70010480 8D8C0010 */ lw $t4, %lo(SP_STATUS_REG)($t4) -/* 011084 70010484 24090008 */ li $t1, 8 -/* 011088 70010488 3C01A404 */ lui $at, %hi(SP_STATUS_REG) # $at, 0xa404 -/* 01108C 7001048C 318C0300 */ andi $t4, $t4, 0x300 -/* 011090 70010490 3231003E */ andi $s1, $s1, 0x3e -/* 011094 70010494 11800007 */ beqz $t4, .L700104B4 -/* 011098 70010498 AC290010 */ sw $t1, %lo(SP_STATUS_REG)($at) -/* 01109C 7001049C 0C0041B1 */ jal send_mesg -/* 0110A0 700104A0 24040020 */ li $a0, 32 -/* 0110A4 700104A4 12200038 */ beqz $s1, .L70010588 -/* 0110A8 700104A8 00000000 */ nop -/* 0110AC 700104AC 10000005 */ b .L700104C4 -/* 0110B0 700104B0 00000000 */ nop -.L700104B4: -/* 0110B4 700104B4 0C0041B1 */ jal send_mesg -/* 0110B8 700104B8 24040058 */ li $a0, 88 -/* 0110BC 700104BC 12200032 */ beqz $s1, .L70010588 -/* 0110C0 700104C0 00000000 */ nop -.L700104C4: -/* 0110C4 700104C4 32290008 */ andi $t1, $s1, 8 -/* 0110C8 700104C8 11200007 */ beqz $t1, .L700104E8 -/* 0110CC 700104CC 3C01A440 */ lui $at, %hi(VI_CURRENT_REG) # $at, 0xa440 -/* 0110D0 700104D0 32310037 */ andi $s1, $s1, 0x37 -/* 0110D4 700104D4 AC200010 */ sw $zero, %lo(VI_CURRENT_REG)($at) -/* 0110D8 700104D8 0C0041B1 */ jal send_mesg -/* 0110DC 700104DC 24040038 */ li $a0, 56 -/* 0110E0 700104E0 12200029 */ beqz $s1, .L70010588 -/* 0110E4 700104E4 00000000 */ nop -.L700104E8: -/* 0110E8 700104E8 32290004 */ andi $t1, $s1, 4 -/* 0110EC 700104EC 11200009 */ beqz $t1, .L70010514 -/* 0110F0 700104F0 00000000 */ nop -/* 0110F4 700104F4 24090001 */ li $t1, 1 -/* 0110F8 700104F8 3C01A450 */ lui $at, %hi(AI_STATUS_REG) # $at, 0xa450 -/* 0110FC 700104FC 3231003B */ andi $s1, $s1, 0x3b -/* 011100 70010500 AC29000C */ sw $t1, %lo(AI_STATUS_REG)($at) -/* 011104 70010504 0C0041B1 */ jal send_mesg -/* 011108 70010508 24040030 */ li $a0, 48 -/* 01110C 7001050C 1220001E */ beqz $s1, .L70010588 -/* 011110 70010510 00000000 */ nop -.L70010514: -/* 011114 70010514 32290002 */ andi $t1, $s1, 2 -/* 011118 70010518 11200007 */ beqz $t1, .L70010538 -/* 01111C 7001051C 3C01A480 */ lui $at, %hi(SI_STATUS_REG) # $at, 0xa480 -/* 011120 70010520 3231003D */ andi $s1, $s1, 0x3d -/* 011124 70010524 AC200018 */ sw $zero, %lo(SI_STATUS_REG)($at) -/* 011128 70010528 0C0041B1 */ jal send_mesg -/* 01112C 7001052C 24040028 */ li $a0, 40 -/* 011130 70010530 12200015 */ beqz $s1, .L70010588 -/* 011134 70010534 00000000 */ nop -.L70010538: -/* 011138 70010538 32290010 */ andi $t1, $s1, 0x10 -/* 01113C 7001053C 11200009 */ beqz $t1, .L70010564 -/* 011140 70010540 00000000 */ nop -/* 011144 70010544 24090002 */ li $t1, 2 -/* 011148 70010548 3C01A460 */ lui $at, %hi(PI_STATUS_REG) # $at, 0xa460 -/* 01114C 7001054C 3231002F */ andi $s1, $s1, 0x2f -/* 011150 70010550 AC290010 */ sw $t1, %lo(PI_STATUS_REG)($at) -/* 011154 70010554 0C0041B1 */ jal send_mesg -/* 011158 70010558 24040040 */ li $a0, 64 -/* 01115C 7001055C 1220000A */ beqz $s1, .L70010588 -/* 011160 70010560 00000000 */ nop -.L70010564: -/* 011164 70010564 32290020 */ andi $t1, $s1, 0x20 -/* 011168 70010568 11200007 */ beqz $t1, .L70010588 -/* 01116C 7001056C 00000000 */ nop -/* 011170 70010570 24090800 */ li $t1, 2048 -/* 011174 70010574 3C01A430 */ lui $at, 0xa430 -/* 011178 70010578 3231001F */ andi $s1, $s1, 0x1f -/* 01117C 7001057C AC290000 */ sw $t1, ($at) -/* 011180 70010580 0C0041B1 */ jal send_mesg -/* 011184 70010584 24040048 */ li $a0, 72 -.L70010588: -/* 011188 70010588 2401FBFF */ li $at, -1025 -/* 01118C 7001058C 1000FF80 */ b .L70010390 -/* 011190 70010590 02018024 */ and $s0, $s0, $at -glabel prenmi -/* 011194 70010594 8F5B0118 */ lw $k1, 0x118($k0) -/* 011198 70010598 2401EFFF */ li $at, -4097 -/* 01119C 7001059C 3C098002 */ lui $t1, %hi(__osShutdown) -/* 0111A0 700105A0 0361D824 */ and $k1, $k1, $at -/* 0111A4 700105A4 AF5B0118 */ sw $k1, 0x118($k0) -/* 0111A8 700105A8 25296988 */ addiu $t1, %lo(__osShutdown) # addiu $t1, $t1, 0x6988 -/* 0111AC 700105AC 8D2A0000 */ lw $t2, ($t1) -/* 0111B0 700105B0 11400003 */ beqz $t2, .L700105C0 -/* 0111B4 700105B4 2401EFFF */ li $at, -4097 -/* 0111B8 700105B8 10000023 */ b .L70010648 -/* 0111BC 700105BC 02018024 */ and $s0, $s0, $at -.L700105C0: -/* 0111C0 700105C0 240A0001 */ li $t2, 1 -/* 0111C4 700105C4 AD2A0000 */ sw $t2, ($t1) -/* 0111C8 700105C8 0C0041B1 */ jal send_mesg -/* 0111CC 700105CC 24040070 */ li $a0, 112 -/* 0111D0 700105D0 3C0A8002 */ lui $t2, %hi(__osRunQueue) -/* 0111D4 700105D4 8D4A7728 */ lw $t2, %lo(__osRunQueue)($t2) -/* 0111D8 700105D8 2401EFFF */ li $at, -4097 -/* 0111DC 700105DC 02018024 */ and $s0, $s0, $at -/* 0111E0 700105E0 8D5B0118 */ lw $k1, 0x118($t2) -/* 0111E4 700105E4 0361D824 */ and $k1, $k1, $at -/* 0111E8 700105E8 10000017 */ b .L70010648 -/* 0111EC 700105EC AD5B0118 */ sw $k1, 0x118($t2) -glabel sw2 -/* 0111F0 700105F0 2401FDFF */ li $at, -513 -/* 0111F4 700105F4 01014024 */ and $t0, $t0, $at -/* 0111F8 700105F8 40886800 */ mtc0 $t0, $13 -/* 0111FC 700105FC 0C0041B1 */ jal send_mesg -/* 011200 70010600 24040008 */ li $a0, 8 -/* 011204 70010604 2401FDFF */ li $at, -513 -/* 011208 70010608 1000FF61 */ b .L70010390 -/* 01120C 7001060C 02018024 */ and $s0, $s0, $at -glabel swl -/* 011210 70010610 2401FEFF */ li $at, -257 -/* 011214 70010614 01014024 */ and $t0, $t0, $at -/* 011218 70010618 40886800 */ mtc0 $t0, $13 -/* 01121C 7001061C 0C0041B1 */ jal send_mesg -/* 011220 70010620 24040000 */ li $a0, 0 -/* 011224 70010624 2401FEFF */ li $at, -257 -/* 011228 70010628 1000FF59 */ b .L70010390 -/* 01122C 7001062C 02018024 */ and $s0, $s0, $at -.L70010630: -/* 011230 70010630 24090001 */ li $t1, 1 -/* 011234 70010634 A7490012 */ sh $t1, 0x12($k0) -/* 011238 70010638 0C0041B1 */ jal send_mesg -/* 01123C 7001063C 24040050 */ li $a0, 80 -/* 011240 70010640 10000001 */ b .L70010648 -/* 011244 70010644 00000000 */ nop -glabel redispatch -.L70010648: -/* 011248 70010648 3C0A8002 */ lui $t2, %hi(__osRunQueue) -/* 01124C 7001064C 8D4A7728 */ lw $t2, %lo(__osRunQueue)($t2) -/* 011250 70010650 8F490004 */ lw $t1, 4($k0) -/* 011254 70010654 8D4B0004 */ lw $t3, 4($t2) -/* 011258 70010658 012B082A */ slt $at, $t1, $t3 -/* 01125C 7001065C 10200007 */ beqz $at, .L7001067C -/* 011260 70010660 00000000 */ nop -/* 011264 70010664 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 011268 70010668 03402825 */ move $a1, $k0 -/* 01126C 7001066C 0C00422B */ jal __osEnqueueThread -/* 011270 70010670 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 011274 70010674 08004241 */ j __osDispatchThread -/* 011278 70010678 00000000 */ nop - -glabel enqueueRunning -.L7001067C: -/* 01127C 7001067C 3C098002 */ lui $t1, %hi(__osRunQueue) -/* 011280 70010680 25297728 */ addiu $t1, %lo(__osRunQueue) # addiu $t1, $t1, 0x7728 -/* 011284 70010684 8D2A0000 */ lw $t2, ($t1) -/* 011288 70010688 AF4A0000 */ sw $t2, ($k0) -/* 01128C 7001068C 08004241 */ j __osDispatchThread -/* 011290 70010690 AD3A0000 */ sw $k0, ($t1) - -.L70010694: -/* 011294 70010694 3C018002 */ lui $at, %hi(__osFaultedThread) -/* 011298 70010698 AC3A7734 */ sw $k0, %lo(__osFaultedThread)($at) -/* 01129C 7001069C 24090001 */ li $t1, 1 -/* 0112A0 700106A0 A7490010 */ sh $t1, 0x10($k0) -/* 0112A4 700106A4 24090002 */ li $t1, 2 -/* 0112A8 700106A8 A7490012 */ sh $t1, 0x12($k0) -/* 0112AC 700106AC 400A4000 */ mfc0 $t2, $8 -/* 0112B0 700106B0 AF4A0124 */ sw $t2, 0x124($k0) -/* 0112B4 700106B4 0C0041B1 */ jal send_mesg -/* 0112B8 700106B8 24040060 */ li $a0, 96 -/* 0112BC 700106BC 08004241 */ j __osDispatchThread -/* 0112C0 700106C0 00000000 */ nop - -glabel send_mesg -/* 0112C4 700106C4 3C0A8006 */ lui $t2, %hi(__osEventStateTab) -/* 0112C8 700106C8 254A6A10 */ addiu $t2, %lo(__osEventStateTab) # addiu $t2, $t2, 0x6a10 -/* 0112CC 700106CC 01445021 */ addu $t2, $t2, $a0 -/* 0112D0 700106D0 8D490000 */ lw $t1, ($t2) -/* 0112D4 700106D4 03E09025 */ move $s2, $ra -/* 0112D8 700106D8 11200025 */ beqz $t1, .L70010770 -/* 0112DC 700106DC 00000000 */ nop -/* 0112E0 700106E0 8D2B0008 */ lw $t3, 8($t1) -/* 0112E4 700106E4 8D2C0010 */ lw $t4, 0x10($t1) -/* 0112E8 700106E8 016C082A */ slt $at, $t3, $t4 -/* 0112EC 700106EC 10200020 */ beqz $at, .L70010770 -/* 0112F0 700106F0 00000000 */ nop -/* 0112F4 700106F4 8D2D000C */ lw $t5, 0xc($t1) -/* 0112F8 700106F8 01AB6821 */ addu $t5, $t5, $t3 -/* 0112FC 700106FC 01AC001A */ div $zero, $t5, $t4 -/* 011300 70010700 15800002 */ bnez $t4, .L7001070C -/* 011304 70010704 00000000 */ nop -/* 011308 70010708 0007000D */ break 7 -.L7001070C: -/* 01130C 7001070C 2401FFFF */ li $at, -1 -/* 011310 70010710 15810004 */ bne $t4, $at, .L70010724 -/* 011314 70010714 3C018000 */ lui $at, 0x8000 -/* 011318 70010718 15A10002 */ bne $t5, $at, .L70010724 -/* 01131C 7001071C 00000000 */ nop -/* 011320 70010720 0006000D */ break 6 -.L70010724: -/* 011324 70010724 8D2C0014 */ lw $t4, 0x14($t1) -/* 011328 70010728 00006810 */ mfhi $t5 -/* 01132C 7001072C 000D6880 */ sll $t5, $t5, 2 -/* 011330 70010730 018D6021 */ addu $t4, $t4, $t5 -/* 011334 70010734 8D4D0004 */ lw $t5, 4($t2) -/* 011338 70010738 256A0001 */ addiu $t2, $t3, 1 -/* 01133C 7001073C AD8D0000 */ sw $t5, ($t4) -/* 011340 70010740 AD2A0008 */ sw $t2, 8($t1) -/* 011344 70010744 8D2A0000 */ lw $t2, ($t1) -/* 011348 70010748 8D4B0000 */ lw $t3, ($t2) -/* 01134C 7001074C 11600008 */ beqz $t3, .L70010770 -/* 011350 70010750 00000000 */ nop -/* 011354 70010754 0C00423D */ jal __osPopThread -/* 011358 70010758 01202025 */ move $a0, $t1 -/* 01135C 7001075C 00405025 */ move $t2, $v0 -/* 011360 70010760 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 011364 70010764 01402825 */ move $a1, $t2 -/* 011368 70010768 0C00422B */ jal __osEnqueueThread -/* 01136C 7001076C 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -.L70010770: -/* 011370 70010770 02400008 */ jr $s2 -/* 011374 70010774 00000000 */ nop -glabel handle_CpU -.L70010778: -/* 011378 70010778 3C013000 */ lui $at, 0x3000 -/* 01137C 7001077C 01014824 */ and $t1, $t0, $at -/* 011380 70010780 00094F02 */ srl $t1, $t1, 0x1c -/* 011384 70010784 240A0001 */ li $t2, 1 -/* 011388 70010788 152AFFC2 */ bne $t1, $t2, .L70010694 -/* 01138C 7001078C 00000000 */ nop -/* 011390 70010790 8F5B0118 */ lw $k1, 0x118($k0) -/* 011394 70010794 3C012000 */ lui $at, 0x2000 -/* 011398 70010798 24090001 */ li $t1, 1 -/* 01139C 7001079C 0361D825 */ or $k1, $k1, $at -/* 0113A0 700107A0 AF490018 */ sw $t1, 0x18($k0) -/* 0113A4 700107A4 1000FFB5 */ b .L7001067C -/* 0113A8 700107A8 AF5B0118 */ sw $k1, 0x118($k0) -glabel __osEnqueueAndYield -/* 0113AC 700107AC 3C058002 */ lui $a1, %hi(__osRunningThread) -/* 0113B0 700107B0 8CA57730 */ lw $a1, %lo(__osRunningThread)($a1) -/* 0113B4 700107B4 40086000 */ mfc0 $t0, $12 -/* 0113B8 700107B8 8CBB0018 */ lw $k1, 0x18($a1) -/* 0113BC 700107BC 35080002 */ ori $t0, $t0, 2 -/* 0113C0 700107C0 ACA80118 */ sw $t0, 0x118($a1) -/* 0113C4 700107C4 FCB00098 */ sd $s0, 0x98($a1) -/* 0113C8 700107C8 FCB100A0 */ sd $s1, 0xa0($a1) -/* 0113CC 700107CC FCB200A8 */ sd $s2, 0xa8($a1) -/* 0113D0 700107D0 FCB300B0 */ sd $s3, 0xb0($a1) -/* 0113D4 700107D4 FCB400B8 */ sd $s4, 0xb8($a1) -/* 0113D8 700107D8 FCB500C0 */ sd $s5, 0xc0($a1) -/* 0113DC 700107DC FCB600C8 */ sd $s6, 0xc8($a1) -/* 0113E0 700107E0 FCB700D0 */ sd $s7, 0xd0($a1) -/* 0113E4 700107E4 FCBC00E8 */ sd $gp, 0xe8($a1) -/* 0113E8 700107E8 FCBD00F0 */ sd $sp, 0xf0($a1) -/* 0113EC 700107EC FCBE00F8 */ sd $fp, 0xf8($a1) -/* 0113F0 700107F0 FCBF0100 */ sd $ra, 0x100($a1) -/* 0113F4 700107F4 13600009 */ beqz $k1, .L7001081C -/* 0113F8 700107F8 ACBF011C */ sw $ra, 0x11c($a1) -/* 0113FC 700107FC 445BF800 */ cfc1 $k1, $31 -/* 011400 70010800 F4B40180 */ sdc1 $f20, 0x180($a1) -/* 011404 70010804 F4B60188 */ sdc1 $f22, 0x188($a1) -/* 011408 70010808 F4B80190 */ sdc1 $f24, 0x190($a1) -/* 01140C 7001080C F4BA0198 */ sdc1 $f26, 0x198($a1) -/* 011410 70010810 F4BC01A0 */ sdc1 $f28, 0x1a0($a1) -/* 011414 70010814 F4BE01A8 */ sdc1 $f30, 0x1a8($a1) -/* 011418 70010818 ACBB012C */ sw $k1, 0x12c($a1) -.L7001081C: -/* 01141C 7001081C 8CBB0118 */ lw $k1, 0x118($a1) -/* 011420 70010820 3369FF00 */ andi $t1, $k1, 0xff00 -/* 011424 70010824 1120000D */ beqz $t1, .L7001085C -/* 011428 70010828 00000000 */ nop -/* 01142C 7001082C 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 011430 70010830 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 011434 70010834 8D080000 */ lw $t0, ($t0) -/* 011438 70010838 2401FFFF */ li $at, -1 -/* 01143C 7001083C 01014026 */ xor $t0, $t0, $at -/* 011440 70010840 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 011444 70010844 3108FF00 */ andi $t0, $t0, 0xff00 -/* 011448 70010848 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 01144C 7001084C 01284825 */ or $t1, $t1, $t0 -/* 011450 70010850 0361D824 */ and $k1, $k1, $at -/* 011454 70010854 0369D825 */ or $k1, $k1, $t1 -/* 011458 70010858 ACBB0118 */ sw $k1, 0x118($a1) -.L7001085C: -/* 01145C 7001085C 3C1BA430 */ lui $k1, %hi(MI_INTR_MASK_REG) # $k1, 0xa430 -/* 011460 70010860 8F7B000C */ lw $k1, %lo(MI_INTR_MASK_REG)($k1) -/* 011464 70010864 1360000B */ beqz $k1, .L70010894 -/* 011468 70010868 00000000 */ nop -/* 01146C 7001086C 3C1A8002 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8002 -/* 011470 70010870 275A698C */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x698c -/* 011474 70010874 8F5A0000 */ lw $k0, ($k0) -/* 011478 70010878 8CA80128 */ lw $t0, 0x128($a1) -/* 01147C 7001087C 2401FFFF */ li $at, -1 -/* 011480 70010880 001AD402 */ srl $k0, $k0, 0x10 -/* 011484 70010884 0341D026 */ xor $k0, $k0, $at -/* 011488 70010888 335A003F */ andi $k0, $k0, 0x3f -/* 01148C 7001088C 0348D024 */ and $k0, $k0, $t0 -/* 011490 70010890 037AD825 */ or $k1, $k1, $k0 -.L70010894: -/* 011494 70010894 10800003 */ beqz $a0, .L700108A4 -/* 011498 70010898 ACBB0128 */ sw $k1, 0x128($a1) -/* 01149C 7001089C 0C00422B */ jal __osEnqueueThread -/* 0114A0 700108A0 00000000 */ nop -.L700108A4: -/* 0114A4 700108A4 08004241 */ j __osDispatchThread -/* 0114A8 700108A8 00000000 */ nop - -glabel __osEnqueueThread -/* 0114AC 700108AC 8C980000 */ lw $t8, ($a0) -/* 0114B0 700108B0 8CAF0004 */ lw $t7, 4($a1) -/* 0114B4 700108B4 0080C825 */ move $t9, $a0 -/* 0114B8 700108B8 8F0E0004 */ lw $t6, 4($t8) -/* 0114BC 700108BC 01CF082A */ slt $at, $t6, $t7 -/* 0114C0 700108C0 14200007 */ bnez $at, .L700108E0 -/* 0114C4 700108C4 00000000 */ nop -.L700108C8: -/* 0114C8 700108C8 0300C825 */ move $t9, $t8 -/* 0114CC 700108CC 8F180000 */ lw $t8, ($t8) -/* 0114D0 700108D0 8F0E0004 */ lw $t6, 4($t8) -/* 0114D4 700108D4 01CF082A */ slt $at, $t6, $t7 -/* 0114D8 700108D8 1020FFFB */ beqz $at, .L700108C8 -/* 0114DC 700108DC 00000000 */ nop -.L700108E0: -/* 0114E0 700108E0 8F380000 */ lw $t8, ($t9) -/* 0114E4 700108E4 ACB80000 */ sw $t8, ($a1) -/* 0114E8 700108E8 AF250000 */ sw $a1, ($t9) -/* 0114EC 700108EC 03E00008 */ jr $ra -/* 0114F0 700108F0 ACA40008 */ sw $a0, 8($a1) - -glabel __osPopThread -/* 0114F4 700108F4 8C820000 */ lw $v0, ($a0) -/* 0114F8 700108F8 8C590000 */ lw $t9, ($v0) -/* 0114FC 700108FC 03E00008 */ jr $ra -/* 011500 70010900 AC990000 */ sw $t9, ($a0) - -glabel __osDispatchThread -/* 011504 70010904 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 011508 70010908 0C00423D */ jal __osPopThread -/* 01150C 7001090C 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 011510 70010910 3C018002 */ lui $at, %hi(__osRunningThread) -/* 011514 70010914 AC227730 */ sw $v0, %lo(__osRunningThread)($at) -/* 011518 70010918 24080004 */ li $t0, 4 -/* 01151C 7001091C A4480010 */ sh $t0, 0x10($v0) -/* 011520 70010920 0040D025 */ move $k0, $v0 -glabel __osDispatchThreadSave -/* 011524 70010924 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) -/* 011528 70010928 8F5B0118 */ lw $k1, 0x118($k0) -/* 01152C 7001092C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c -/* 011530 70010930 8D080000 */ lw $t0, ($t0) -/* 011534 70010934 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 011538 70010938 3369FF00 */ andi $t1, $k1, 0xff00 -/* 01153C 7001093C 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 011540 70010940 3108FF00 */ andi $t0, $t0, 0xff00 -/* 011544 70010944 01284824 */ and $t1, $t1, $t0 -/* 011548 70010948 0361D824 */ and $k1, $k1, $at -/* 01154C 7001094C 0369D825 */ or $k1, $k1, $t1 -/* 011550 70010950 409B6000 */ mtc0 $k1, $12 -/* 011554 70010954 DF5B0108 */ ld $k1, 0x108($k0) -/* 011558 70010958 DF410020 */ ld $at, 0x20($k0) -/* 01155C 7001095C DF420028 */ ld $v0, 0x28($k0) -/* 011560 70010960 03600013 */ mtlo $k1 -/* 011564 70010964 DF5B0110 */ ld $k1, 0x110($k0) -/* 011568 70010968 DF430030 */ ld $v1, 0x30($k0) -/* 01156C 7001096C DF440038 */ ld $a0, 0x38($k0) -/* 011570 70010970 DF450040 */ ld $a1, 0x40($k0) -/* 011574 70010974 DF460048 */ ld $a2, 0x48($k0) -/* 011578 70010978 DF470050 */ ld $a3, 0x50($k0) -/* 01157C 7001097C DF480058 */ ld $t0, 0x58($k0) -/* 011580 70010980 DF490060 */ ld $t1, 0x60($k0) -/* 011584 70010984 DF4A0068 */ ld $t2, 0x68($k0) -/* 011588 70010988 DF4B0070 */ ld $t3, 0x70($k0) -/* 01158C 7001098C DF4C0078 */ ld $t4, 0x78($k0) -/* 011590 70010990 DF4D0080 */ ld $t5, 0x80($k0) -/* 011594 70010994 DF4E0088 */ ld $t6, 0x88($k0) -/* 011598 70010998 DF4F0090 */ ld $t7, 0x90($k0) -/* 01159C 7001099C DF500098 */ ld $s0, 0x98($k0) -/* 0115A0 700109A0 DF5100A0 */ ld $s1, 0xa0($k0) -/* 0115A4 700109A4 DF5200A8 */ ld $s2, 0xa8($k0) -/* 0115A8 700109A8 DF5300B0 */ ld $s3, 0xb0($k0) -/* 0115AC 700109AC DF5400B8 */ ld $s4, 0xb8($k0) -/* 0115B0 700109B0 DF5500C0 */ ld $s5, 0xc0($k0) -/* 0115B4 700109B4 DF5600C8 */ ld $s6, 0xc8($k0) -/* 0115B8 700109B8 DF5700D0 */ ld $s7, 0xd0($k0) -/* 0115BC 700109BC DF5800D8 */ ld $t8, 0xd8($k0) -/* 0115C0 700109C0 DF5900E0 */ ld $t9, 0xe0($k0) -/* 0115C4 700109C4 DF5C00E8 */ ld $gp, 0xe8($k0) -/* 0115C8 700109C8 03600011 */ mthi $k1 -/* 0115CC 700109CC DF5D00F0 */ ld $sp, 0xf0($k0) -/* 0115D0 700109D0 DF5E00F8 */ ld $fp, 0xf8($k0) -/* 0115D4 700109D4 DF5F0100 */ ld $ra, 0x100($k0) -/* 0115D8 700109D8 8F5B011C */ lw $k1, 0x11c($k0) -/* 0115DC 700109DC 409B7000 */ mtc0 $k1, $14 -/* 0115E0 700109E0 8F5B0018 */ lw $k1, 0x18($k0) -/* 0115E4 700109E4 13600013 */ beqz $k1, .L70010A34 -/* 0115E8 700109E8 00000000 */ nop -/* 0115EC 700109EC 8F5B012C */ lw $k1, 0x12c($k0) -/* 0115F0 700109F0 44DBF800 */ ctc1 $k1, $31 -/* 0115F4 700109F4 D7400130 */ ldc1 $f0, 0x130($k0) -/* 0115F8 700109F8 D7420138 */ ldc1 $f2, 0x138($k0) -/* 0115FC 700109FC D7440140 */ ldc1 $f4, 0x140($k0) -/* 011600 70010A00 D7460148 */ ldc1 $f6, 0x148($k0) -/* 011604 70010A04 D7480150 */ ldc1 $f8, 0x150($k0) -/* 011608 70010A08 D74A0158 */ ldc1 $f10, 0x158($k0) -/* 01160C 70010A0C D74C0160 */ ldc1 $f12, 0x160($k0) -/* 011610 70010A10 D74E0168 */ ldc1 $f14, 0x168($k0) -/* 011614 70010A14 D7500170 */ ldc1 $f16, 0x170($k0) -/* 011618 70010A18 D7520178 */ ldc1 $f18, 0x178($k0) -/* 01161C 70010A1C D7540180 */ ldc1 $f20, 0x180($k0) -/* 011620 70010A20 D7560188 */ ldc1 $f22, 0x188($k0) -/* 011624 70010A24 D7580190 */ ldc1 $f24, 0x190($k0) -/* 011628 70010A28 D75A0198 */ ldc1 $f26, 0x198($k0) -/* 01162C 70010A2C D75C01A0 */ ldc1 $f28, 0x1a0($k0) -/* 011630 70010A30 D75E01A8 */ ldc1 $f30, 0x1a8($k0) -.L70010A34: -/* 011634 70010A34 8F5B0128 */ lw $k1, 0x128($k0) -/* 011638 70010A38 3C1A8002 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8002 -/* 01163C 70010A3C 275A698C */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x698c -/* 011640 70010A40 8F5A0000 */ lw $k0, ($k0) -/* 011644 70010A44 001AD402 */ srl $k0, $k0, 0x10 -/* 011648 70010A48 037AD824 */ and $k1, $k1, $k0 -/* 01164C 70010A4C 001BD840 */ sll $k1, $k1, 1 -/* 011650 70010A50 3C1A8003 */ lui $k0, %hi(__osRcpImTable) # $k0, 0x8003 -/* 011654 70010A54 275A93A0 */ addiu $k0, %lo(__osRcpImTable) # addiu $k0, $k0, -0x6c60 -/* 011658 70010A58 037AD821 */ addu $k1, $k1, $k0 -/* 01165C 70010A5C 977B0000 */ lhu $k1, ($k1) -/* 011660 70010A60 3C1AA430 */ lui $k0, %hi(MI_INTR_MASK_REG) # $k0, 0xa430 -/* 011664 70010A64 275A000C */ addiu $k0, %lo(MI_INTR_MASK_REG) # addiu $k0, $k0, 0xc -/* 011668 70010A68 AF5B0000 */ sw $k1, ($k0) -/* 01166C 70010A6C 00000000 */ nop -/* 011670 70010A70 00000000 */ nop -/* 011674 70010A74 00000000 */ nop -/* 011678 70010A78 00000000 */ nop -/* 01167C 70010A7C 42000018 */ eret -glabel __osCleanupThread -/* 011680 70010A80 0C006ED8 */ jal osDestroyThread -/* 011684 70010A84 00002025 */ move $a0, $zero -/* 011688 70010A88 00000000 */ nop -/* 01168C 70010A8C 00000000 */ nop - -.section .data -/*80027704*/ -glabel __osHwIntTable -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 - -.section .rodata -/*80029440*/ -glabel __osIntOffTable -.byte 0,0x14,0x18,0x18,0x1C,0x1C,0x1C,0x1C -.byte 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20 -.byte 0, 4, 8, 8, 0xC, 0xC, 0xC, 0xC -.byte 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 - -/*80029460*/ -glabel __osIntTable -.word redispatch -.word swl -.word sw2 -.word rcp -.word cart -.word prenmi -.word IP6_Hdlr -.word IP7_Hdlr -.word counter - - -.section .text -glabel __osDequeueThread -/* 011690 70010A90 00803025 */ move $a2, $a0 -/* 011694 70010A94 8CC70000 */ lw $a3, ($a2) -/* 011698 70010A98 27BDFFF8 */ addiu $sp, $sp, -8 -/* 01169C 70010A9C 10E0000A */ beqz $a3, .L70010AC8 -/* 0116A0 70010AA0 00000000 */ nop -.L70010AA4: -/* 0116A4 70010AA4 14E50004 */ bne $a3, $a1, .L70010AB8 -/* 0116A8 70010AA8 00000000 */ nop -/* 0116AC 70010AAC 8CAE0000 */ lw $t6, ($a1) -/* 0116B0 70010AB0 10000005 */ b .L70010AC8 -/* 0116B4 70010AB4 ACCE0000 */ sw $t6, ($a2) -.L70010AB8: -/* 0116B8 70010AB8 00E03025 */ move $a2, $a3 -/* 0116BC 70010ABC 8CC70000 */ lw $a3, ($a2) -/* 0116C0 70010AC0 14E0FFF8 */ bnez $a3, .L70010AA4 -/* 0116C4 70010AC4 00000000 */ nop -.L70010AC8: -/* 0116C8 70010AC8 03E00008 */ jr $ra -/* 0116CC 70010ACC 27BD0008 */ addiu $sp, $sp, 8 - -.section .data -glabel __osThreadTail -.word 0, 0xFFFFFFFF -glabel __osRunQueue - .word __osThreadTail -glabel __osActiveQueue -.word __osThreadTail -glabel __osRunningThread -.word 0 -glabel __osFaultedThread -.word 0 -.align 4 - -.section .text -glabel osYieldThread -/* 0116D0 70010AD0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0116D4 70010AD4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0116D8 70010AD8 0C00617C */ jal __osDisableInt -/* 0116DC 70010ADC AFB00018 */ sw $s0, 0x18($sp) -/* 0116E0 70010AE0 3C0F8002 */ lui $t7, %hi(__osRunningThread) -/* 0116E4 70010AE4 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) -/* 0116E8 70010AE8 240E0002 */ li $t6, 2 -/* 0116EC 70010AEC 3C048002 */ lui $a0, %hi(__osRunQueue) -/* 0116F0 70010AF0 00408025 */ move $s0, $v0 -/* 0116F4 70010AF4 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 -/* 0116F8 70010AF8 0C0041EB */ jal __osEnqueueAndYield -/* 0116FC 70010AFC A5EE0010 */ sh $t6, 0x10($t7) -/* 011700 70010B00 0C006184 */ jal __osRestoreInt -/* 011704 70010B04 02002025 */ move $a0, $s0 -/* 011708 70010B08 8FBF001C */ lw $ra, 0x1c($sp) -/* 01170C 70010B0C 8FB00018 */ lw $s0, 0x18($sp) -/* 011710 70010B10 27BD0028 */ addiu $sp, $sp, 0x28 -/* 011714 70010B14 03E00008 */ jr $ra -/* 011718 70010B18 00000000 */ nop - -/* 01171C 70010B1C 00000000 */ nop -glabel osInvalDCache -/* 011720 70010B20 18A0001F */ blez $a1, .L70010BA0 -/* 011724 70010B24 00000000 */ nop -/* 011728 70010B28 240B2000 */ li $t3, 8192 -/* 01172C 70010B2C 00AB082B */ sltu $at, $a1, $t3 -/* 011730 70010B30 1020001D */ beqz $at, .L70010BA8 -/* 011734 70010B34 00000000 */ nop -/* 011738 70010B38 00804025 */ move $t0, $a0 -/* 01173C 70010B3C 00854821 */ addu $t1, $a0, $a1 -/* 011740 70010B40 0109082B */ sltu $at, $t0, $t1 -/* 011744 70010B44 10200016 */ beqz $at, .L70010BA0 -/* 011748 70010B48 00000000 */ nop -/* 01174C 70010B4C 310A000F */ andi $t2, $t0, 0xf -/* 011750 70010B50 11400007 */ beqz $t2, .L70010B70 -/* 011754 70010B54 2529FFF0 */ addiu $t1, $t1, -0x10 -/* 011758 70010B58 010A4023 */ subu $t0, $t0, $t2 -/* 01175C 70010B5C BD150000 */ cache 0x15, ($t0) -/* 011760 70010B60 0109082B */ sltu $at, $t0, $t1 -/* 011764 70010B64 1020000E */ beqz $at, .L70010BA0 -/* 011768 70010B68 00000000 */ nop -/* 01176C 70010B6C 25080010 */ addiu $t0, $t0, 0x10 -.L70010B70: -/* 011770 70010B70 312A000F */ andi $t2, $t1, 0xf -/* 011774 70010B74 11400006 */ beqz $t2, .L70010B90 -/* 011778 70010B78 00000000 */ nop -/* 01177C 70010B7C 012A4823 */ subu $t1, $t1, $t2 -/* 011780 70010B80 BD350010 */ cache 0x15, 0x10($t1) -/* 011784 70010B84 0128082B */ sltu $at, $t1, $t0 -/* 011788 70010B88 14200005 */ bnez $at, .L70010BA0 -/* 01178C 70010B8C 00000000 */ nop -.L70010B90: -/* 011790 70010B90 BD110000 */ cache 0x11, ($t0) -/* 011794 70010B94 0109082B */ sltu $at, $t0, $t1 -/* 011798 70010B98 1420FFFD */ bnez $at, .L70010B90 -/* 01179C 70010B9C 25080010 */ addiu $t0, $t0, 0x10 -.L70010BA0: -/* 0117A0 70010BA0 03E00008 */ jr $ra -/* 0117A4 70010BA4 00000000 */ nop - -.L70010BA8: -/* 0117A8 70010BA8 3C088000 */ lui $t0, 0x8000 -/* 0117AC 70010BAC 010B4821 */ addu $t1, $t0, $t3 -/* 0117B0 70010BB0 2529FFF0 */ addiu $t1, $t1, -0x10 -.L70010BB4: -/* 0117B4 70010BB4 BD010000 */ cache 1, ($t0) -/* 0117B8 70010BB8 0109082B */ sltu $at, $t0, $t1 -/* 0117BC 70010BBC 1420FFFD */ bnez $at, .L70010BB4 -/* 0117C0 70010BC0 25080010 */ addiu $t0, $t0, 0x10 -/* 0117C4 70010BC4 03E00008 */ jr $ra -/* 0117C8 70010BC8 00000000 */ nop - -/* 0117CC 70010BCC 00000000 */ nop -glabel osWritebackDCache -/* 0117D0 70010BD0 18A00011 */ blez $a1, .L70010C18 -/* 0117D4 70010BD4 00000000 */ nop -/* 0117D8 70010BD8 240B2000 */ li $t3, 8192 -/* 0117DC 70010BDC 00AB082B */ sltu $at, $a1, $t3 -/* 0117E0 70010BE0 1020000F */ beqz $at, .L70010C20 -/* 0117E4 70010BE4 00000000 */ nop -/* 0117E8 70010BE8 00804025 */ move $t0, $a0 -/* 0117EC 70010BEC 00854821 */ addu $t1, $a0, $a1 -/* 0117F0 70010BF0 0109082B */ sltu $at, $t0, $t1 -/* 0117F4 70010BF4 10200008 */ beqz $at, .L70010C18 -/* 0117F8 70010BF8 00000000 */ nop -/* 0117FC 70010BFC 310A000F */ andi $t2, $t0, 0xf -/* 011800 70010C00 2529FFF0 */ addiu $t1, $t1, -0x10 -/* 011804 70010C04 010A4023 */ subu $t0, $t0, $t2 -.L70010C08: -/* 011808 70010C08 BD190000 */ cache 0x19, ($t0) -/* 01180C 70010C0C 0109082B */ sltu $at, $t0, $t1 -/* 011810 70010C10 1420FFFD */ bnez $at, .L70010C08 -/* 011814 70010C14 25080010 */ addiu $t0, $t0, 0x10 -.L70010C18: -/* 011818 70010C18 03E00008 */ jr $ra -/* 01181C 70010C1C 00000000 */ nop - -.L70010C20: -/* 011820 70010C20 3C088000 */ lui $t0, 0x8000 -/* 011824 70010C24 010B4821 */ addu $t1, $t0, $t3 -/* 011828 70010C28 2529FFF0 */ addiu $t1, $t1, -0x10 -.L70010C2C: -/* 01182C 70010C2C BD010000 */ cache 1, ($t0) -/* 011830 70010C30 0109082B */ sltu $at, $t0, $t1 -/* 011834 70010C34 1420FFFD */ bnez $at, .L70010C2C -/* 011838 70010C38 25080010 */ addiu $t0, $t0, 0x10 -/* 01183C 70010C3C 03E00008 */ jr $ra -/* 011840 70010C40 00000000 */ nop - -/* 011844 70010C44 00000000 */ nop -/* 011848 70010C48 00000000 */ nop -/* 01184C 70010C4C 00000000 */ nop - - -glabel osSetTimer -/* 011850 70010C50 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 011854 70010C54 AFA40020 */ sw $a0, 0x20($sp) -/* 011858 70010C58 8FAE0020 */ lw $t6, 0x20($sp) -/* 01185C 70010C5C AFBF0014 */ sw $ra, 0x14($sp) -/* 011860 70010C60 AFA60028 */ sw $a2, 0x28($sp) -/* 011864 70010C64 AFA7002C */ sw $a3, 0x2c($sp) -/* 011868 70010C68 ADC00000 */ sw $zero, ($t6) -/* 01186C 70010C6C 8FAF0020 */ lw $t7, 0x20($sp) -/* 011870 70010C70 ADE00004 */ sw $zero, 4($t7) -/* 011874 70010C74 8FA80020 */ lw $t0, 0x20($sp) -/* 011878 70010C78 8FB90034 */ lw $t9, 0x34($sp) -/* 01187C 70010C7C 8FB80030 */ lw $t8, 0x30($sp) -/* 011880 70010C80 AD19000C */ sw $t9, 0xc($t0) -/* 011884 70010C84 AD180008 */ sw $t8, 8($t0) -/* 011888 70010C88 8FAA0028 */ lw $t2, 0x28($sp) -/* 01188C 70010C8C 8FAB002C */ lw $t3, 0x2c($sp) -/* 011890 70010C90 15400003 */ bnez $t2, .L70010CA0 -/* 011894 70010C94 00000000 */ nop -/* 011898 70010C98 11600005 */ beqz $t3, .L70010CB0 -/* 01189C 70010C9C 00000000 */ nop -.L70010CA0: -/* 0118A0 70010CA0 8FA90020 */ lw $t1, 0x20($sp) -/* 0118A4 70010CA4 AD2A0010 */ sw $t2, 0x10($t1) -/* 0118A8 70010CA8 10000006 */ b .L70010CC4 -/* 0118AC 70010CAC AD2B0014 */ sw $t3, 0x14($t1) -.L70010CB0: -/* 0118B0 70010CB0 8FAE0020 */ lw $t6, 0x20($sp) -/* 0118B4 70010CB4 8FAC0030 */ lw $t4, 0x30($sp) -/* 0118B8 70010CB8 8FAD0034 */ lw $t5, 0x34($sp) -/* 0118BC 70010CBC ADCC0010 */ sw $t4, 0x10($t6) -/* 0118C0 70010CC0 ADCD0014 */ sw $t5, 0x14($t6) -.L70010CC4: -/* 0118C4 70010CC4 8FAF0038 */ lw $t7, 0x38($sp) -/* 0118C8 70010CC8 8FB80020 */ lw $t8, 0x20($sp) -/* 0118CC 70010CCC AF0F0018 */ sw $t7, 0x18($t8) -/* 0118D0 70010CD0 8FA80020 */ lw $t0, 0x20($sp) -/* 0118D4 70010CD4 8FB9003C */ lw $t9, 0x3c($sp) -/* 0118D8 70010CD8 AD19001C */ sw $t9, 0x1c($t0) -/* 0118DC 70010CDC 0C00622A */ jal __osInsertTimer -/* 0118E0 70010CE0 8FA40020 */ lw $a0, 0x20($sp) -/* 0118E4 70010CE4 3C0A8002 */ lui $t2, %hi(__osTimerList) -/* 0118E8 70010CE8 8D4A7FD0 */ lw $t2, %lo(__osTimerList)($t2) -/* 0118EC 70010CEC AFA20018 */ sw $v0, 0x18($sp) -/* 0118F0 70010CF0 AFA3001C */ sw $v1, 0x1c($sp) -/* 0118F4 70010CF4 8FA90020 */ lw $t1, 0x20($sp) -/* 0118F8 70010CF8 8D4B0000 */ lw $t3, ($t2) -/* 0118FC 70010CFC 15690004 */ bne $t3, $t1, .L70010D10 -/* 011900 70010D00 00000000 */ nop -/* 011904 70010D04 8FA40018 */ lw $a0, 0x18($sp) -/* 011908 70010D08 0C00620D */ jal __osSetTimerIntr -/* 01190C 70010D0C 8FA5001C */ lw $a1, 0x1c($sp) -.L70010D10: -/* 011910 70010D10 8FBF0014 */ lw $ra, 0x14($sp) -/* 011914 70010D14 27BD0020 */ addiu $sp, $sp, 0x20 -/* 011918 70010D18 00001025 */ move $v0, $zero -/* 01191C 70010D1C 03E00008 */ jr $ra -/* 011920 70010D20 00000000 */ nop - -/* 011924 70010D24 00000000 */ nop -/* 011928 70010D28 00000000 */ nop -/* 01192C 70010D2C 00000000 */ nop -glabel alHeapInit -/* 011930 70010D30 24030010 */ li $v1, 16 -/* 011934 70010D34 30AE000F */ andi $t6, $a1, 0xf -/* 011938 70010D38 006E1023 */ subu $v0, $v1, $t6 -/* 01193C 70010D3C 10620003 */ beq $v1, $v0, .L70010D4C -/* 011940 70010D40 00A27821 */ addu $t7, $a1, $v0 -/* 011944 70010D44 10000002 */ b .L70010D50 -/* 011948 70010D48 AC8F0000 */ sw $t7, ($a0) -.L70010D4C: -/* 01194C 70010D4C AC850000 */ sw $a1, ($a0) -.L70010D50: -/* 011950 70010D50 8C980000 */ lw $t8, ($a0) -/* 011954 70010D54 AC860008 */ sw $a2, 8($a0) -/* 011958 70010D58 AC80000C */ sw $zero, 0xc($a0) -/* 01195C 70010D5C 03E00008 */ jr $ra -/* 011960 70010D60 AC980004 */ sw $t8, 4($a0) - -/* 011964 70010D64 00000000 */ nop -/* 011968 70010D68 00000000 */ nop -/* 01196C 70010D6C 00000000 */ nop -/* 011970 70010D70 03E00008 */ jr $ra -/* 011974 70010D74 00000000 */ nop - -/* 011978 70010D78 03E00008 */ jr $ra -/* 01197C 70010D7C 00000000 */ nop - -glabel ultra_70010D80 -/* 011980 70010D80 908E0003 */ lbu $t6, 3($a0) -/* 011984 70010D84 15C00037 */ bnez $t6, .L70010E64 -/* 011988 70010D88 00000000 */ nop -/* 01198C 70010D8C 848F000E */ lh $t7, 0xe($a0) -/* 011990 70010D90 24090001 */ li $t1, 1 -/* 011994 70010D94 A0890003 */ sb $t1, 3($a0) -/* 011998 70010D98 19E00032 */ blez $t7, .L70010E64 -/* 01199C 70010D9C 00001025 */ move $v0, $zero -/* 0119A0 70010DA0 00801825 */ move $v1, $a0 -/* 0119A4 70010DA4 240A0001 */ li $t2, 1 -/* 0119A8 70010DA8 8C780010 */ lw $t8, 0x10($v1) -.L70010DAC: -/* 0119AC 70010DAC 0305C821 */ addu $t9, $t8, $a1 -/* 0119B0 70010DB0 AC790010 */ sw $t9, 0x10($v1) -/* 0119B4 70010DB4 932E000E */ lbu $t6, 0xe($t9) -/* 0119B8 70010DB8 03203025 */ move $a2, $t9 -/* 0119BC 70010DBC 55C00024 */ bnezl $t6, .L70010E50 -/* 0119C0 70010DC0 8498000E */ lh $t8, 0xe($a0) -/* 0119C4 70010DC4 8F2F0000 */ lw $t7, ($t9) -/* 0119C8 70010DC8 A329000E */ sb $t1, 0xe($t9) -/* 0119CC 70010DCC 01E5C021 */ addu $t8, $t7, $a1 -/* 0119D0 70010DD0 AF380000 */ sw $t8, ($t9) -/* 0119D4 70010DD4 8F390004 */ lw $t9, 4($t9) -/* 0119D8 70010DD8 8CCF0008 */ lw $t7, 8($a2) -/* 0119DC 70010DDC 03257021 */ addu $t6, $t9, $a1 -/* 0119E0 70010DE0 01E5C021 */ addu $t8, $t7, $a1 -/* 0119E4 70010DE4 ACCE0004 */ sw $t6, 4($a2) -/* 0119E8 70010DE8 ACD80008 */ sw $t8, 8($a2) -/* 0119EC 70010DEC 93190009 */ lbu $t9, 9($t8) -/* 0119F0 70010DF0 03004025 */ move $t0, $t8 -/* 0119F4 70010DF4 57200016 */ bnezl $t9, .L70010E50 -/* 0119F8 70010DF8 8498000E */ lh $t8, 0xe($a0) -/* 0119FC 70010DFC 8F0E0000 */ lw $t6, ($t8) -/* 011A00 70010E00 93060008 */ lbu $a2, 8($t8) -/* 011A04 70010E04 A3090009 */ sb $t1, 9($t8) -/* 011A08 70010E08 01C77821 */ addu $t7, $t6, $a3 -/* 011A0C 70010E0C 14C00009 */ bnez $a2, .L70010E34 -/* 011A10 70010E10 AF0F0000 */ sw $t7, ($t8) -/* 011A14 70010E14 8F180010 */ lw $t8, 0x10($t8) -/* 011A18 70010E18 8D06000C */ lw $a2, 0xc($t0) -/* 011A1C 70010E1C 0305C821 */ addu $t9, $t8, $a1 -/* 011A20 70010E20 10C0000A */ beqz $a2, .L70010E4C -/* 011A24 70010E24 AD190010 */ sw $t9, 0x10($t0) -/* 011A28 70010E28 00C57021 */ addu $t6, $a2, $a1 -/* 011A2C 70010E2C 10000007 */ b .L70010E4C -/* 011A30 70010E30 AD0E000C */ sw $t6, 0xc($t0) -.L70010E34: -/* 011A34 70010E34 55460006 */ bnel $t2, $a2, .L70010E50 -/* 011A38 70010E38 8498000E */ lh $t8, 0xe($a0) -/* 011A3C 70010E3C 8D06000C */ lw $a2, 0xc($t0) -/* 011A40 70010E40 10C00002 */ beqz $a2, .L70010E4C -/* 011A44 70010E44 00C57821 */ addu $t7, $a2, $a1 -/* 011A48 70010E48 AD0F000C */ sw $t7, 0xc($t0) -.L70010E4C: -/* 011A4C 70010E4C 8498000E */ lh $t8, 0xe($a0) -.L70010E50: -/* 011A50 70010E50 24420001 */ addiu $v0, $v0, 1 -/* 011A54 70010E54 24630004 */ addiu $v1, $v1, 4 -/* 011A58 70010E58 0058082A */ slt $at, $v0, $t8 -/* 011A5C 70010E5C 5420FFD3 */ bnezl $at, .L70010DAC -/* 011A60 70010E60 8C780010 */ lw $t8, 0x10($v1) -.L70010E64: -/* 011A64 70010E64 03E00008 */ jr $ra -/* 011A68 70010E68 00000000 */ nop - -/* 011A6C 70010E6C 03E00008 */ jr $ra -/* 011A70 70010E70 00000000 */ nop - -glabel alBnkfNew -/* 011A74 70010E74 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 011A78 70010E78 AFBF002C */ sw $ra, 0x2c($sp) -/* 011A7C 70010E7C AFB40028 */ sw $s4, 0x28($sp) -/* 011A80 70010E80 AFB30024 */ sw $s3, 0x24($sp) -/* 011A84 70010E84 AFB20020 */ sw $s2, 0x20($sp) -/* 011A88 70010E88 AFB1001C */ sw $s1, 0x1c($sp) -/* 011A8C 70010E8C AFB00018 */ sw $s0, 0x18($sp) -/* 011A90 70010E90 848E0000 */ lh $t6, ($a0) -/* 011A94 70010E94 24014231 */ li $at, 16945 -/* 011A98 70010E98 00808025 */ move $s0, $a0 -/* 011A9C 70010E9C 15C1002E */ bne $t6, $at, .L70010F58 -/* 011AA0 70010EA0 00A08825 */ move $s1, $a1 -/* 011AA4 70010EA4 848F0002 */ lh $t7, 2($a0) -/* 011AA8 70010EA8 00009825 */ move $s3, $zero -/* 011AAC 70010EAC 00809025 */ move $s2, $a0 -/* 011AB0 70010EB0 19E00029 */ blez $t7, .L70010F58 -/* 011AB4 70010EB4 24140001 */ li $s4, 1 -/* 011AB8 70010EB8 8E580004 */ lw $t8, 4($s2) -.L70010EBC: -/* 011ABC 70010EBC 0310C821 */ addu $t9, $t8, $s0 -/* 011AC0 70010EC0 1320001F */ beqz $t9, .L70010F40 -/* 011AC4 70010EC4 AE590004 */ sw $t9, 4($s2) -/* 011AC8 70010EC8 932E0002 */ lbu $t6, 2($t9) -/* 011ACC 70010ECC 03206825 */ move $t5, $t9 -/* 011AD0 70010ED0 55C0001C */ bnezl $t6, .L70010F44 -/* 011AD4 70010ED4 86180002 */ lh $t8, 2($s0) -/* 011AD8 70010ED8 8F220008 */ lw $v0, 8($t9) -/* 011ADC 70010EDC A3340002 */ sb $s4, 2($t9) -/* 011AE0 70010EE0 00006025 */ move $t4, $zero -/* 011AE4 70010EE4 10400005 */ beqz $v0, .L70010EFC -/* 011AE8 70010EE8 00502021 */ addu $a0, $v0, $s0 -/* 011AEC 70010EEC AF240008 */ sw $a0, 8($t9) -/* 011AF0 70010EF0 02002825 */ move $a1, $s0 -/* 011AF4 70010EF4 0C004360 */ jal ultra_70010D80 -/* 011AF8 70010EF8 02203825 */ move $a3, $s1 -.L70010EFC: -/* 011AFC 70010EFC 85B80000 */ lh $t8, ($t5) -/* 011B00 70010F00 01A05825 */ move $t3, $t5 -/* 011B04 70010F04 5B00000F */ blezl $t8, .L70010F44 -/* 011B08 70010F08 86180002 */ lh $t8, 2($s0) -/* 011B0C 70010F0C 8D79000C */ lw $t9, 0xc($t3) -.L70010F10: -/* 011B10 70010F10 02002825 */ move $a1, $s0 -/* 011B14 70010F14 03302021 */ addu $a0, $t9, $s0 -/* 011B18 70010F18 10800003 */ beqz $a0, .L70010F28 -/* 011B1C 70010F1C AD64000C */ sw $a0, 0xc($t3) -/* 011B20 70010F20 0C004360 */ jal ultra_70010D80 -/* 011B24 70010F24 02203825 */ move $a3, $s1 -.L70010F28: -/* 011B28 70010F28 85AF0000 */ lh $t7, ($t5) -/* 011B2C 70010F2C 258C0001 */ addiu $t4, $t4, 1 -/* 011B30 70010F30 256B0004 */ addiu $t3, $t3, 4 -/* 011B34 70010F34 018F082A */ slt $at, $t4, $t7 -/* 011B38 70010F38 5420FFF5 */ bnezl $at, .L70010F10 -/* 011B3C 70010F3C 8D79000C */ lw $t9, 0xc($t3) -.L70010F40: -/* 011B40 70010F40 86180002 */ lh $t8, 2($s0) -.L70010F44: -/* 011B44 70010F44 26730001 */ addiu $s3, $s3, 1 -/* 011B48 70010F48 26520004 */ addiu $s2, $s2, 4 -/* 011B4C 70010F4C 0278082A */ slt $at, $s3, $t8 -/* 011B50 70010F50 5420FFDA */ bnezl $at, .L70010EBC -/* 011B54 70010F54 8E580004 */ lw $t8, 4($s2) -.L70010F58: -/* 011B58 70010F58 8FBF002C */ lw $ra, 0x2c($sp) -/* 011B5C 70010F5C 8FB00018 */ lw $s0, 0x18($sp) -/* 011B60 70010F60 8FB1001C */ lw $s1, 0x1c($sp) -/* 011B64 70010F64 8FB20020 */ lw $s2, 0x20($sp) -/* 011B68 70010F68 8FB30024 */ lw $s3, 0x24($sp) -/* 011B6C 70010F6C 8FB40028 */ lw $s4, 0x28($sp) -/* 011B70 70010F70 03E00008 */ jr $ra -/* 011B74 70010F74 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel alSeqFileNew -/* 011B78 70010F78 848E0002 */ lh $t6, 2($a0) -/* 011B7C 70010F7C 00001025 */ move $v0, $zero -/* 011B80 70010F80 00801825 */ move $v1, $a0 -/* 011B84 70010F84 19C0000A */ blez $t6, .L70010FB0 -/* 011B88 70010F88 00000000 */ nop -/* 011B8C 70010F8C 8C6F0004 */ lw $t7, 4($v1) -.L70010F90: -/* 011B90 70010F90 24420001 */ addiu $v0, $v0, 1 -/* 011B94 70010F94 24630008 */ addiu $v1, $v1, 8 -/* 011B98 70010F98 01E5C021 */ addu $t8, $t7, $a1 -/* 011B9C 70010F9C AC78FFFC */ sw $t8, -4($v1) -/* 011BA0 70010FA0 84990002 */ lh $t9, 2($a0) -/* 011BA4 70010FA4 0059082A */ slt $at, $v0, $t9 -/* 011BA8 70010FA8 5420FFF9 */ bnezl $at, .L70010F90 -/* 011BAC 70010FAC 8C6F0004 */ lw $t7, 4($v1) -.L70010FB0: -/* 011BB0 70010FB0 03E00008 */ jr $ra -/* 011BB4 70010FB4 00000000 */ nop - -/* 011BB8 70010FB8 00000000 */ nop -/* 011BBC 70010FBC 00000000 */ nop -glabel __CSPPostNextSeqEvent -/* 011BC0 70010FC0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 011BC4 70010FC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 011BC8 70010FC8 8C8E002C */ lw $t6, 0x2c($a0) -/* 011BCC 70010FCC 24010001 */ li $at, 1 -/* 011BD0 70010FD0 00803825 */ move $a3, $a0 -/* 011BD4 70010FD4 55C10013 */ bnel $t6, $at, .L70011024 -/* 011BD8 70010FD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 011BDC 70010FDC 8C840018 */ lw $a0, 0x18($a0) -/* 011BE0 70010FE0 27A5001C */ addiu $a1, $sp, 0x1c -/* 011BE4 70010FE4 5080000F */ beql $a0, $zero, .L70011024 -/* 011BE8 70010FE8 8FBF0014 */ lw $ra, 0x14($sp) -/* 011BEC 70010FEC 0C004AE3 */ jal __alCSeqNextDelta -/* 011BF0 70010FF0 AFA70030 */ sw $a3, 0x30($sp) -/* 011BF4 70010FF4 1040000A */ beqz $v0, .L70011020 -/* 011BF8 70010FF8 8FA70030 */ lw $a3, 0x30($sp) -/* 011BFC 70010FFC A7A00020 */ sh $zero, 0x20($sp) -/* 011C00 70011000 8CEF0024 */ lw $t7, 0x24($a3) -/* 011C04 70011004 8FB8001C */ lw $t8, 0x1c($sp) -/* 011C08 70011008 24E40048 */ addiu $a0, $a3, 0x48 -/* 011C0C 7001100C 27A50020 */ addiu $a1, $sp, 0x20 -/* 011C10 70011010 01F80019 */ multu $t7, $t8 -/* 011C14 70011014 00003012 */ mflo $a2 -/* 011C18 70011018 0C004BBF */ jal alEvtqPostEvent -/* 011C1C 7001101C 00000000 */ nop -.L70011020: -/* 011C20 70011020 8FBF0014 */ lw $ra, 0x14($sp) -.L70011024: -/* 011C24 70011024 27BD0030 */ addiu $sp, $sp, 0x30 -/* 011C28 70011028 03E00008 */ jr $ra -/* 011C2C 7001102C 00000000 */ nop - -glabel ultra_70011030 -/* 011C30 70011030 8C820018 */ lw $v0, 0x18($a0) -/* 011C34 70011034 241801E8 */ li $t8, 488 -/* 011C38 70011038 50400008 */ beql $v0, $zero, .L7001105C -/* 011C3C 7001103C AC980024 */ sw $t8, 0x24($a0) -/* 011C40 70011040 C4440008 */ lwc1 $f4, 8($v0) -/* 011C44 70011044 46046182 */ mul.s $f6, $f12, $f4 -/* 011C48 70011048 4600320D */ trunc.w.s $f8, $f6 -/* 011C4C 7001104C 440F4000 */ mfc1 $t7, $f8 -/* 011C50 70011050 03E00008 */ jr $ra -/* 011C54 70011054 AC8F0024 */ sw $t7, 0x24($a0) - -/* 011C58 70011058 AC980024 */ sw $t8, 0x24($a0) -.L7001105C: -/* 011C5C 7001105C 03E00008 */ jr $ra -/* 011C60 70011060 00000000 */ nop - -/* 011C64 70011064 03E00008 */ jr $ra -/* 011C68 70011068 00000000 */ nop - -glabel ultra_7001106C -/* 011C6C 7001106C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 011C70 70011070 AFBF0014 */ sw $ra, 0x14($sp) -/* 011C74 70011074 90AE0008 */ lbu $t6, 8($a1) -/* 011C78 70011078 240100FF */ li $at, 255 -/* 011C7C 7001107C 00008025 */ move $s0, $zero -/* 011C80 70011080 15C1006A */ bne $t6, $at, .L7001122C -/* 011C84 70011084 00009825 */ move $s3, $zero -/* 011C88 70011088 90AF0009 */ lbu $t7, 9($a1) -/* 011C8C 7001108C 24010051 */ li $at, 81 -/* 011C90 70011090 24A20004 */ addiu $v0, $a1, 4 -/* 011C94 70011094 55E10066 */ bnel $t7, $at, .L70011230 -/* 011C98 70011098 8FBF0014 */ lw $ra, 0x14($sp) -/* 011C9C 7001109C 904E0008 */ lbu $t6, 8($v0) -/* 011CA0 700110A0 90580007 */ lbu $t8, 7($v0) -/* 011CA4 700110A4 8EFE0024 */ lw $fp, 0x24($s7) -/* 011CA8 700110A8 000E7A00 */ sll $t7, $t6, 8 -/* 011CAC 700110AC 904E0009 */ lbu $t6, 9($v0) -/* 011CB0 700110B0 0018CC00 */ sll $t9, $t8, 0x10 -/* 011CB4 700110B4 032FC025 */ or $t8, $t9, $t7 -/* 011CB8 700110B8 030E1825 */ or $v1, $t8, $t6 -/* 011CBC 700110BC 44832000 */ mtc1 $v1, $f4 -/* 011CC0 700110C0 02E02025 */ move $a0, $s7 -/* 011CC4 700110C4 0C00440C */ jal ultra_70011030 -/* 011CC8 700110C8 46802320 */ cvt.s.w $f12, $f4 -/* 011CCC 700110CC 8EF10050 */ lw $s1, 0x50($s7) -/* 011CD0 700110D0 1220001D */ beqz $s1, .L70011148 -/* 011CD4 700110D4 00000000 */ nop -/* 011CD8 700110D8 24140015 */ li $s4, 21 -.L700110DC: -/* 011CDC 700110DC 862F000C */ lh $t7, 0xc($s1) -/* 011CE0 700110E0 8E390008 */ lw $t9, 8($s1) -/* 011CE4 700110E4 8E320000 */ lw $s2, ($s1) -/* 011CE8 700110E8 168F0015 */ bne $s4, $t7, .L70011140 -/* 011CEC 700110EC 02198021 */ addu $s0, $s0, $t9 -/* 011CF0 700110F0 0C003AA4 */ jal alUnlink -/* 011CF4 700110F4 02202025 */ move $a0, $s1 -/* 011CF8 700110F8 52600007 */ beql $s3, $zero, .L70011118 -/* 011CFC 700110FC AE200000 */ sw $zero, ($s1) -/* 011D00 70011100 02202025 */ move $a0, $s1 -/* 011D04 70011104 0C003AB0 */ jal alLink -/* 011D08 70011108 02602825 */ move $a1, $s3 -/* 011D0C 7001110C 10000004 */ b .L70011120 -/* 011D10 70011110 00000000 */ nop -/* 011D14 70011114 AE200000 */ sw $zero, ($s1) -.L70011118: -/* 011D18 70011118 AE200004 */ sw $zero, 4($s1) -/* 011D1C 7001111C 02209825 */ move $s3, $s1 -.L70011120: -/* 011D20 70011120 12400006 */ beqz $s2, .L7001113C -/* 011D24 70011124 02001825 */ move $v1, $s0 -/* 011D28 70011128 8E220008 */ lw $v0, 8($s1) -/* 011D2C 7001112C 8E580008 */ lw $t8, 8($s2) -/* 011D30 70011130 02028023 */ subu $s0, $s0, $v0 -/* 011D34 70011134 03027021 */ addu $t6, $t8, $v0 -/* 011D38 70011138 AE4E0008 */ sw $t6, 8($s2) -.L7001113C: -/* 011D3C 7001113C AE230008 */ sw $v1, 8($s1) -.L70011140: -/* 011D40 70011140 1640FFE6 */ bnez $s2, .L700110DC -/* 011D44 70011144 02408825 */ move $s1, $s2 -.L70011148: -/* 011D48 70011148 12600038 */ beqz $s3, .L7001122C -/* 011D4C 7001114C 02608825 */ move $s1, $s3 -/* 011D50 70011150 26F40048 */ addiu $s4, $s7, 0x48 -/* 011D54 70011154 26950008 */ addiu $s5, $s4, 8 -/* 011D58 70011158 2416FFF8 */ li $s6, -8 -.L7001115C: -/* 011D5C 7001115C 8E390008 */ lw $t9, 8($s1) -/* 011D60 70011160 8EEF0024 */ lw $t7, 0x24($s7) -/* 011D64 70011164 8E320000 */ lw $s2, ($s1) -/* 011D68 70011168 033E001A */ div $zero, $t9, $fp -/* 011D6C 7001116C 00001012 */ mflo $v0 -/* 011D70 70011170 24040001 */ li $a0, 1 -/* 011D74 70011174 17C00002 */ bnez $fp, .L70011180 -/* 011D78 70011178 00000000 */ nop -/* 011D7C 7001117C 0007000D */ break 7 -.L70011180: -/* 011D80 70011180 2401FFFF */ li $at, -1 -/* 011D84 70011184 17C10004 */ bne $fp, $at, .L70011198 -/* 011D88 70011188 3C018000 */ lui $at, 0x8000 -/* 011D8C 7001118C 17210002 */ bne $t9, $at, .L70011198 -/* 011D90 70011190 00000000 */ nop -/* 011D94 70011194 0006000D */ break 6 -.L70011198: -/* 011D98 70011198 01E20019 */ multu $t7, $v0 -/* 011D9C 7001119C 02A08025 */ move $s0, $s5 -/* 011DA0 700111A0 0000C012 */ mflo $t8 -/* 011DA4 700111A4 AE380008 */ sw $t8, 8($s1) -/* 011DA8 700111A8 0C00374C */ jal osSetIntMask -/* 011DAC 700111AC 00000000 */ nop -/* 011DB0 700111B0 1296001A */ beq $s4, $s6, .L7001121C -/* 011DB4 700111B4 00409825 */ move $s3, $v0 -/* 011DB8 700111B8 8E040000 */ lw $a0, ($s0) -.L700111BC: -/* 011DBC 700111BC 54800007 */ bnezl $a0, .L700111DC -/* 011DC0 700111C0 8E220008 */ lw $v0, 8($s1) -/* 011DC4 700111C4 02202025 */ move $a0, $s1 -/* 011DC8 700111C8 0C003AB0 */ jal alLink -/* 011DCC 700111CC 02002825 */ move $a1, $s0 -/* 011DD0 700111D0 10000012 */ b .L7001121C -/* 011DD4 700111D4 00000000 */ nop -/* 011DD8 700111D8 8E220008 */ lw $v0, 8($s1) -.L700111DC: -/* 011DDC 700111DC 8C830008 */ lw $v1, 8($a0) -/* 011DE0 700111E0 00803025 */ move $a2, $a0 -/* 011DE4 700111E4 0043082A */ slt $at, $v0, $v1 -/* 011DE8 700111E8 10200008 */ beqz $at, .L7001120C -/* 011DEC 700111EC 0043C823 */ subu $t9, $v0, $v1 -/* 011DF0 700111F0 00627023 */ subu $t6, $v1, $v0 -/* 011DF4 700111F4 AC8E0008 */ sw $t6, 8($a0) -/* 011DF8 700111F8 02202025 */ move $a0, $s1 -/* 011DFC 700111FC 0C003AB0 */ jal alLink -/* 011E00 70011200 02002825 */ move $a1, $s0 -/* 011E04 70011204 10000005 */ b .L7001121C -/* 011E08 70011208 00000000 */ nop -.L7001120C: -/* 011E0C 7001120C AE390008 */ sw $t9, 8($s1) -/* 011E10 70011210 8E100000 */ lw $s0, ($s0) -/* 011E14 70011214 5600FFE9 */ bnezl $s0, .L700111BC -/* 011E18 70011218 8E040000 */ lw $a0, ($s0) -.L7001121C: -/* 011E1C 7001121C 0C00374C */ jal osSetIntMask -/* 011E20 70011220 02602025 */ move $a0, $s3 -/* 011E24 70011224 1640FFCD */ bnez $s2, .L7001115C -/* 011E28 70011228 02408825 */ move $s1, $s2 -.L7001122C: -/* 011E2C 7001122C 8FBF0014 */ lw $ra, 0x14($sp) -.L70011230: -/* 011E30 70011230 27BD0018 */ addiu $sp, $sp, 0x18 -/* 011E34 70011234 03E00008 */ jr $ra -/* 011E38 70011238 00000000 */ nop - -glabel __CSPHandleMIDIMsg -/* 011E3C 7001123C 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 011E40 70011240 AFBF0024 */ sw $ra, 0x24($sp) -/* 011E44 70011244 91160008 */ lbu $s6, 8($t0) -/* 011E48 70011248 91140009 */ lbu $s4, 9($t0) -/* 011E4C 7001124C 9111000A */ lbu $s1, 0xa($t0) -/* 011E50 70011250 32C300F0 */ andi $v1, $s6, 0xf0 -/* 011E54 70011254 246FFF80 */ addiu $t7, $v1, -0x80 -/* 011E58 70011258 2DE10061 */ sltiu $at, $t7, 0x61 -/* 011E5C 7001125C 32CE000F */ andi $t6, $s6, 0xf -/* 011E60 70011260 102001FC */ beqz $at, .L70011A54 -/* 011E64 70011264 01C0B025 */ move $s6, $t6 -/* 011E68 70011268 000F7880 */ sll $t7, $t7, 2 -/* 011E6C 7001126C 3C018003 */ lui $at, %hi(audio_related_jump_table_0) # 0x8003 -/* 011E70 70011270 002F0821 */ addu $at, $at, $t7 -/* 011E74 70011274 8C2F9490 */ lw $t7, %lo(audio_related_jump_table_0)($at) # -0x6b70 -/* 011E78 70011278 01E00008 */ jr $t7 -/* 011E7C 7001127C 00000000 */ nop -.L70011280: -/* 011E80 70011280 522000E8 */ beql $s1, $zero, .L70011624 -/* 011E84 70011284 02402025 */ move $a0, $s2 -/* 011E88 70011288 8E58002C */ lw $t8, 0x2c($s2) -/* 011E8C 7001128C 24010001 */ li $at, 1 -/* 011E90 70011290 02402025 */ move $a0, $s2 -/* 011E94 70011294 170101EF */ bne $t8, $at, .L70011A54 -/* 011E98 70011298 328500FF */ andi $a1, $s4, 0xff -/* 011E9C 7001129C 322600FF */ andi $a2, $s1, 0xff -/* 011EA0 700112A0 32C700FF */ andi $a3, $s6, 0xff -/* 011EA4 700112A4 0C0070D8 */ jal __lookupSoundQuick -/* 011EA8 700112A8 AFA800BC */ sw $t0, 0xbc($sp) -/* 011EAC 700112AC 104001E9 */ beqz $v0, .L70011A54 -/* 011EB0 700112B0 0040B825 */ move $s7, $v0 -/* 011EB4 700112B4 8E590060 */ lw $t9, 0x60($s2) -/* 011EB8 700112B8 0016F100 */ sll $fp, $s6, 4 -/* 011EBC 700112BC 02402025 */ move $a0, $s2 -/* 011EC0 700112C0 033E7021 */ addu $t6, $t9, $fp -/* 011EC4 700112C4 91CF0008 */ lbu $t7, 8($t6) -/* 011EC8 700112C8 A7A00076 */ sh $zero, 0x76($sp) -/* 011ECC 700112CC A3A00078 */ sb $zero, 0x78($sp) -/* 011ED0 700112D0 328500FF */ andi $a1, $s4, 0xff -/* 011ED4 700112D4 322600FF */ andi $a2, $s1, 0xff -/* 011ED8 700112D8 32C700FF */ andi $a3, $s6, 0xff -/* 011EDC 700112DC 0C0070BC */ jal __mapVoice -/* 011EE0 700112E0 A7AF0074 */ sh $t7, 0x74($sp) -/* 011EE4 700112E4 104001DB */ beqz $v0, .L70011A54 -/* 011EE8 700112E8 00408025 */ move $s0, $v0 -/* 011EEC 700112EC 8E440014 */ lw $a0, 0x14($s2) -/* 011EF0 700112F0 24450004 */ addiu $a1, $v0, 4 -/* 011EF4 700112F4 AFA50038 */ sw $a1, 0x38($sp) -/* 011EF8 700112F8 0C004C96 */ jal alSynAllocVoice -/* 011EFC 700112FC 27A60074 */ addiu $a2, $sp, 0x74 -/* 011F00 70011300 AE170020 */ sw $s7, 0x20($s0) -/* 011F04 70011304 A2000034 */ sb $zero, 0x34($s0) -/* 011F08 70011308 8E580060 */ lw $t8, 0x60($s2) -/* 011F0C 7001130C 24150002 */ li $s5, 2 -/* 011F10 70011310 031EC821 */ addu $t9, $t8, $fp -/* 011F14 70011314 932E000B */ lbu $t6, 0xb($t9) -/* 011F18 70011318 29C10040 */ slti $at, $t6, 0x40 -/* 011F1C 7001131C 54200004 */ bnezl $at, .L70011330 -/* 011F20 70011320 A2000035 */ sb $zero, 0x35($s0) -/* 011F24 70011324 10000002 */ b .L70011330 -/* 011F28 70011328 A2150035 */ sb $s5, 0x35($s0) -/* 011F2C 7001132C A2000035 */ sb $zero, 0x35($s0) -.L70011330: -/* 011F30 70011330 8EE20004 */ lw $v0, 4($s7) -/* 011F34 70011334 904F0004 */ lbu $t7, 4($v0) -/* 011F38 70011338 804E0005 */ lb $t6, 5($v0) -/* 011F3C 7001133C 028FC023 */ subu $t8, $s4, $t7 -/* 011F40 70011340 0018C880 */ sll $t9, $t8, 2 -/* 011F44 70011344 0338C823 */ subu $t9, $t9, $t8 -/* 011F48 70011348 0019C8C0 */ sll $t9, $t9, 3 -/* 011F4C 7001134C 0338C821 */ addu $t9, $t9, $t8 -/* 011F50 70011350 0019C880 */ sll $t9, $t9, 2 -/* 011F54 70011354 032E2021 */ addu $a0, $t9, $t6 -/* 011F58 70011358 00047C00 */ sll $t7, $a0, 0x10 -/* 011F5C 7001135C 0C004DF0 */ jal alCents2Ratio -/* 011F60 70011360 000F2403 */ sra $a0, $t7, 0x10 -/* 011F64 70011364 E6000028 */ swc1 $f0, 0x28($s0) -/* 011F68 70011368 8EF90000 */ lw $t9, ($s7) -/* 011F6C 7001136C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 011F70 70011370 44812000 */ mtc1 $at, $f4 -/* 011F74 70011374 932E000C */ lbu $t6, 0xc($t9) -/* 011F78 70011378 A20E0030 */ sb $t6, 0x30($s0) -/* 011F7C 7001137C 8EF80000 */ lw $t8, ($s7) -/* 011F80 70011380 8E4F001C */ lw $t7, 0x1c($s2) -/* 011F84 70011384 8F190000 */ lw $t9, ($t8) -/* 011F88 70011388 A2000037 */ sb $zero, 0x37($s0) -/* 011F8C 7001138C 01F97021 */ addu $t6, $t7, $t9 -/* 011F90 70011390 AE0E0024 */ sw $t6, 0x24($s0) -/* 011F94 70011394 8E580060 */ lw $t8, 0x60($s2) -/* 011F98 70011398 031E7821 */ addu $t7, $t8, $fp -/* 011F9C 7001139C 8DF10000 */ lw $s1, ($t7) -/* 011FA0 700113A0 E7A40064 */ swc1 $f4, 0x64($sp) -/* 011FA4 700113A4 92260004 */ lbu $a2, 4($s1) -/* 011FA8 700113A8 50C0001A */ beql $a2, $zero, .L70011414 -/* 011FAC 700113AC 4458F800 */ cfc1 $t8, $31 -/* 011FB0 700113B0 8E420070 */ lw $v0, 0x70($s2) -/* 011FB4 700113B4 50400017 */ beql $v0, $zero, .L70011414 -/* 011FB8 700113B8 4458F800 */ cfc1 $t8, $31 -/* 011FBC 700113BC 92390006 */ lbu $t9, 6($s1) -/* 011FC0 700113C0 92270005 */ lbu $a3, 5($s1) -/* 011FC4 700113C4 27A4005C */ addiu $a0, $sp, 0x5c -/* 011FC8 700113C8 AFB90010 */ sw $t9, 0x10($sp) -/* 011FCC 700113CC 922E0007 */ lbu $t6, 7($s1) -/* 011FD0 700113D0 27A50064 */ addiu $a1, $sp, 0x64 -/* 011FD4 700113D4 0040F809 */ jalr $v0 -/* 011FD8 700113D8 AFAE0014 */ sw $t6, 0x14($sp) -/* 011FDC 700113DC 1040000C */ beqz $v0, .L70011410 -/* 011FE0 700113E0 24180016 */ li $t8, 22 -/* 011FE4 700113E4 8FAF005C */ lw $t7, 0x5c($sp) -/* 011FE8 700113E8 A7B8008C */ sh $t8, 0x8c($sp) -/* 011FEC 700113EC AFB00090 */ sw $s0, 0x90($sp) -/* 011FF0 700113F0 26440048 */ addiu $a0, $s2, 0x48 -/* 011FF4 700113F4 27A5008C */ addiu $a1, $sp, 0x8c -/* 011FF8 700113F8 00403025 */ move $a2, $v0 -/* 011FFC 700113FC 0C004BBF */ jal alEvtqPostEvent -/* 012000 70011400 AFAF0094 */ sw $t7, 0x94($sp) -/* 012004 70011404 92190037 */ lbu $t9, 0x37($s0) -/* 012008 70011408 372E0001 */ ori $t6, $t9, 1 -/* 01200C 7001140C A20E0037 */ sb $t6, 0x37($s0) -.L70011410: -/* 012010 70011410 4458F800 */ cfc1 $t8, $31 -.L70011414: -/* 012014 70011414 240F0001 */ li $t7, 1 -/* 012018 70011418 44CFF800 */ ctc1 $t7, $31 -/* 01201C 7001141C C7A60064 */ lwc1 $f6, 0x64($sp) -/* 012020 70011420 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 012024 70011424 46003224 */ cvt.w.s $f8, $f6 -/* 012028 70011428 444FF800 */ cfc1 $t7, $31 -/* 01202C 7001142C 00000000 */ nop -/* 012030 70011430 31EF0078 */ andi $t7, $t7, 0x78 -/* 012034 70011434 51E00013 */ beql $t7, $zero, .L70011484 -/* 012038 70011438 440F4000 */ mfc1 $t7, $f8 -/* 01203C 7001143C 44814000 */ mtc1 $at, $f8 -/* 012040 70011440 240F0001 */ li $t7, 1 -/* 012044 70011444 46083201 */ sub.s $f8, $f6, $f8 -/* 012048 70011448 44CFF800 */ ctc1 $t7, $31 -/* 01204C 7001144C 00000000 */ nop -/* 012050 70011450 46004224 */ cvt.w.s $f8, $f8 -/* 012054 70011454 444FF800 */ cfc1 $t7, $31 -/* 012058 70011458 00000000 */ nop -/* 01205C 7001145C 31EF0078 */ andi $t7, $t7, 0x78 -/* 012060 70011460 15E00005 */ bnez $t7, .L70011478 -/* 012064 70011464 00000000 */ nop -/* 012068 70011468 440F4000 */ mfc1 $t7, $f8 -/* 01206C 7001146C 3C018000 */ lui $at, 0x8000 -/* 012070 70011470 10000007 */ b .L70011490 -/* 012074 70011474 01E17825 */ or $t7, $t7, $at -.L70011478: -/* 012078 70011478 10000005 */ b .L70011490 -/* 01207C 7001147C 240FFFFF */ li $t7, -1 -/* 012080 70011480 440F4000 */ mfc1 $t7, $f8 -.L70011484: -/* 012084 70011484 00000000 */ nop -/* 012088 70011488 05E0FFFB */ bltz $t7, .L70011478 -/* 01208C 7001148C 00000000 */ nop -.L70011490: -/* 012090 70011490 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 012094 70011494 44815000 */ mtc1 $at, $f10 -/* 012098 70011498 A20F0036 */ sb $t7, 0x36($s0) -/* 01209C 7001149C 44D8F800 */ ctc1 $t8, $31 -/* 0120A0 700114A0 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 0120A4 700114A4 92260008 */ lbu $a2, 8($s1) -/* 0120A8 700114A8 26550048 */ addiu $s5, $s2, 0x48 -/* 0120AC 700114AC 50C0001B */ beql $a2, $zero, .L7001151C -/* 0120B0 700114B0 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 0120B4 700114B4 8E420070 */ lw $v0, 0x70($s2) -/* 0120B8 700114B8 50400018 */ beql $v0, $zero, .L7001151C -/* 0120BC 700114BC C7A40064 */ lwc1 $f4, 0x64($sp) -/* 0120C0 700114C0 9239000A */ lbu $t9, 0xa($s1) -/* 0120C4 700114C4 92270009 */ lbu $a3, 9($s1) -/* 0120C8 700114C8 27A4005C */ addiu $a0, $sp, 0x5c -/* 0120CC 700114CC AFB90010 */ sw $t9, 0x10($sp) -/* 0120D0 700114D0 922E000B */ lbu $t6, 0xb($s1) -/* 0120D4 700114D4 27A50064 */ addiu $a1, $sp, 0x64 -/* 0120D8 700114D8 0040F809 */ jalr $v0 -/* 0120DC 700114DC AFAE0014 */ sw $t6, 0x14($sp) -/* 0120E0 700114E0 1040000D */ beqz $v0, .L70011518 -/* 0120E4 700114E4 24180017 */ li $t8, 23 -/* 0120E8 700114E8 8FAF005C */ lw $t7, 0x5c($sp) -/* 0120EC 700114EC A7B8008C */ sh $t8, 0x8c($sp) -/* 0120F0 700114F0 AFB00090 */ sw $s0, 0x90($sp) -/* 0120F4 700114F4 A3B60098 */ sb $s6, 0x98($sp) -/* 0120F8 700114F8 02A02025 */ move $a0, $s5 -/* 0120FC 700114FC 27A5008C */ addiu $a1, $sp, 0x8c -/* 012100 70011500 00403025 */ move $a2, $v0 -/* 012104 70011504 0C004BBF */ jal alEvtqPostEvent -/* 012108 70011508 AFAF0094 */ sw $t7, 0x94($sp) -/* 01210C 7001150C 92190037 */ lbu $t9, 0x37($s0) -/* 012110 70011510 372E0002 */ ori $t6, $t9, 2 -/* 012114 70011514 A20E0037 */ sb $t6, 0x37($s0) -.L70011518: -/* 012118 70011518 C7A40064 */ lwc1 $f4, 0x64($sp) -.L7001151C: -/* 01211C 7001151C C6080028 */ lwc1 $f8, 0x28($s0) -/* 012120 70011520 02002025 */ move $a0, $s0 -/* 012124 70011524 E604002C */ swc1 $f4, 0x2c($s0) -/* 012128 70011528 8E580060 */ lw $t8, 0x60($s2) -/* 01212C 7001152C C604002C */ lwc1 $f4, 0x2c($s0) -/* 012130 70011530 02402825 */ move $a1, $s2 -/* 012134 70011534 031E1021 */ addu $v0, $t8, $fp -/* 012138 70011538 C446000C */ lwc1 $f6, 0xc($v0) -/* 01213C 7001153C 9051000A */ lbu $s1, 0xa($v0) -/* 012140 70011540 46083282 */ mul.s $f10, $f6, $f8 -/* 012144 70011544 00000000 */ nop -/* 012148 70011548 46045502 */ mul.s $f20, $f10, $f4 -/* 01214C 7001154C 0C00708D */ jal __vsPan -/* 012150 70011550 00000000 */ nop -/* 012154 70011554 305E00FF */ andi $fp, $v0, 0xff -/* 012158 70011558 02002025 */ move $a0, $s0 -/* 01215C 7001155C 0C006F85 */ jal __vsVol -/* 012160 70011560 02402825 */ move $a1, $s2 -/* 012164 70011564 8EEF0000 */ lw $t7, ($s7) -/* 012168 70011568 8E440014 */ lw $a0, 0x14($s2) -/* 01216C 7001156C 8EE60008 */ lw $a2, 8($s7) -/* 012170 70011570 8DF30000 */ lw $s3, ($t7) -/* 012174 70011574 4407A000 */ mfc1 $a3, $f20 -/* 012178 70011578 AFB10018 */ sw $s1, 0x18($sp) -/* 01217C 7001157C AFBE0014 */ sw $fp, 0x14($sp) -/* 012180 70011580 AFA20010 */ sw $v0, 0x10($sp) -/* 012184 70011584 8FA50038 */ lw $a1, 0x38($sp) -/* 012188 70011588 0C007568 */ jal alSynStartVoiceParams -/* 01218C 7001158C AFB3001C */ sw $s3, 0x1c($sp) -/* 012190 70011590 8FAE0038 */ lw $t6, 0x38($sp) -/* 012194 70011594 24190006 */ li $t9, 6 -/* 012198 70011598 A7B9008C */ sh $t9, 0x8c($sp) -/* 01219C 7001159C AFAE0090 */ sw $t6, 0x90($sp) -/* 0121A0 700115A0 8EF80000 */ lw $t8, ($s7) -/* 0121A4 700115A4 02A02025 */ move $a0, $s5 -/* 0121A8 700115A8 27A5008C */ addiu $a1, $sp, 0x8c -/* 0121AC 700115AC 930F000D */ lbu $t7, 0xd($t8) -/* 0121B0 700115B0 02603025 */ move $a2, $s3 -/* 0121B4 700115B4 A3AF0098 */ sb $t7, 0x98($sp) -/* 0121B8 700115B8 8EF90000 */ lw $t9, ($s7) -/* 0121BC 700115BC 8F2E0004 */ lw $t6, 4($t9) -/* 0121C0 700115C0 0C004BBF */ jal alEvtqPostEvent -/* 0121C4 700115C4 AFAE0094 */ sw $t6, 0x94($sp) -/* 0121C8 700115C8 8FA200BC */ lw $v0, 0xbc($sp) -/* 0121CC 700115CC 240F0015 */ li $t7, 21 -/* 0121D0 700115D0 36D90080 */ ori $t9, $s6, 0x80 -/* 0121D4 700115D4 8C58000C */ lw $t8, 0xc($v0) -/* 0121D8 700115D8 24420004 */ addiu $v0, $v0, 4 -/* 0121DC 700115DC 5300011E */ beql $t8, $zero, .L70011A58 -/* 0121E0 700115E0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0121E4 700115E4 A7AF008C */ sh $t7, 0x8c($sp) -/* 0121E8 700115E8 A3B90094 */ sb $t9, 0x94($sp) -/* 0121EC 700115EC A3B40095 */ sb $s4, 0x95($sp) -/* 0121F0 700115F0 A3A00096 */ sb $zero, 0x96($sp) -/* 0121F4 700115F4 8C580008 */ lw $t8, 8($v0) -/* 0121F8 700115F8 8E4E0024 */ lw $t6, 0x24($s2) -/* 0121FC 700115FC 02A02025 */ move $a0, $s5 -/* 012200 70011600 27A5008C */ addiu $a1, $sp, 0x8c -/* 012204 70011604 01D80019 */ multu $t6, $t8 -/* 012208 70011608 00009812 */ mflo $s3 -/* 01220C 7001160C 02603025 */ move $a2, $s3 -/* 012210 70011610 0C004BBF */ jal alEvtqPostEvent -/* 012214 70011614 00000000 */ nop -/* 012218 70011618 1000010F */ b .L70011A58 -/* 01221C 7001161C 8FBF0024 */ lw $ra, 0x24($sp) -.L70011620: -/* 012220 70011620 02402025 */ move $a0, $s2 -.L70011624: -/* 012224 70011624 328500FF */ andi $a1, $s4, 0xff -/* 012228 70011628 0C00709F */ jal __lookupVoice -/* 01222C 7001162C 32C600FF */ andi $a2, $s6, 0xff -/* 012230 70011630 10400108 */ beqz $v0, .L70011A54 -/* 012234 70011634 00408025 */ move $s0, $v0 -/* 012238 70011638 904F0035 */ lbu $t7, 0x35($v0) -/* 01223C 7001163C 24160002 */ li $s6, 2 -/* 012240 70011640 24190004 */ li $t9, 4 -/* 012244 70011644 16CF0003 */ bne $s6, $t7, .L70011654 -/* 012248 70011648 02402025 */ move $a0, $s2 -/* 01224C 7001164C 10000101 */ b .L70011A54 -/* 012250 70011650 A0590035 */ sb $t9, 0x35($v0) -.L70011654: -/* 012254 70011654 8E0E0020 */ lw $t6, 0x20($s0) -/* 012258 70011658 241E0003 */ li $fp, 3 -/* 01225C 7001165C A21E0035 */ sb $fp, 0x35($s0) -/* 012260 70011660 8DD80000 */ lw $t8, ($t6) -/* 012264 70011664 26050004 */ addiu $a1, $s0, 4 -/* 012268 70011668 0C006FA7 */ jal __seqpReleaseVoice -/* 01226C 7001166C 8F060008 */ lw $a2, 8($t8) -/* 012270 70011670 100000F9 */ b .L70011A58 -/* 012274 70011674 8FBF0024 */ lw $ra, 0x24($sp) -.L70011678: -/* 012278 70011678 02402025 */ move $a0, $s2 -/* 01227C 7001167C 328500FF */ andi $a1, $s4, 0xff -/* 012280 70011680 0C00709F */ jal __lookupVoice -/* 012284 70011684 32C600FF */ andi $a2, $s6, 0xff -/* 012288 70011688 104000F2 */ beqz $v0, .L70011A54 -/* 01228C 7001168C 00408025 */ move $s0, $v0 -/* 012290 70011690 A0510033 */ sb $s1, 0x33($v0) -/* 012294 70011694 00402025 */ move $a0, $v0 -/* 012298 70011698 0C006F85 */ jal __vsVol -/* 01229C 7001169C 02402825 */ move $a1, $s2 -/* 0122A0 700116A0 00028C00 */ sll $s1, $v0, 0x10 -/* 0122A4 700116A4 00117C03 */ sra $t7, $s1, 0x10 -/* 0122A8 700116A8 01E08825 */ move $s1, $t7 -/* 0122AC 700116AC 02002025 */ move $a0, $s0 -/* 0122B0 700116B0 0C006F7C */ jal __vsDelta -/* 0122B4 700116B4 8E45001C */ lw $a1, 0x1c($s2) -/* 0122B8 700116B8 00113400 */ sll $a2, $s1, 0x10 -/* 0122BC 700116BC 0006CC03 */ sra $t9, $a2, 0x10 -/* 0122C0 700116C0 03203025 */ move $a2, $t9 -/* 0122C4 700116C4 8E440014 */ lw $a0, 0x14($s2) -/* 0122C8 700116C8 26050004 */ addiu $a1, $s0, 4 -/* 0122CC 700116CC 0C004CE8 */ jal alSynSetVol -/* 0122D0 700116D0 00403825 */ move $a3, $v0 -/* 0122D4 700116D4 100000E0 */ b .L70011A58 -/* 0122D8 700116D8 8FBF0024 */ lw $ra, 0x24($sp) -.L700116DC: -/* 0122DC 700116DC 8E500064 */ lw $s0, 0x64($s2) -/* 0122E0 700116E0 520000DD */ beql $s0, $zero, .L70011A58 -/* 0122E4 700116E4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0122E8 700116E8 02C09825 */ move $s3, $s6 -/* 0122EC 700116EC 920E0031 */ lbu $t6, 0x31($s0) -.L700116F0: -/* 0122F0 700116F0 02002025 */ move $a0, $s0 -/* 0122F4 700116F4 02402825 */ move $a1, $s2 -/* 0122F8 700116F8 566E0011 */ bnel $s3, $t6, .L70011740 -/* 0122FC 700116FC 8E100000 */ lw $s0, ($s0) -/* 012300 70011700 0C006F85 */ jal __vsVol -/* 012304 70011704 A2140033 */ sb $s4, 0x33($s0) -/* 012308 70011708 00028C00 */ sll $s1, $v0, 0x10 -/* 01230C 7001170C 0011C403 */ sra $t8, $s1, 0x10 -/* 012310 70011710 03008825 */ move $s1, $t8 -/* 012314 70011714 02002025 */ move $a0, $s0 -/* 012318 70011718 0C006F7C */ jal __vsDelta -/* 01231C 7001171C 8E45001C */ lw $a1, 0x1c($s2) -/* 012320 70011720 00113400 */ sll $a2, $s1, 0x10 -/* 012324 70011724 00067C03 */ sra $t7, $a2, 0x10 -/* 012328 70011728 01E03025 */ move $a2, $t7 -/* 01232C 7001172C 8E440014 */ lw $a0, 0x14($s2) -/* 012330 70011730 26050004 */ addiu $a1, $s0, 4 -/* 012334 70011734 0C004CE8 */ jal alSynSetVol -/* 012338 70011738 00403825 */ move $a3, $v0 -/* 01233C 7001173C 8E100000 */ lw $s0, ($s0) -.L70011740: -/* 012340 70011740 5600FFEB */ bnezl $s0, .L700116F0 -/* 012344 70011744 920E0031 */ lbu $t6, 0x31($s0) -/* 012348 70011748 100000C3 */ b .L70011A58 -/* 01234C 7001174C 8FBF0024 */ lw $ra, 0x24($sp) -.L70011750: -/* 012350 70011750 24010007 */ li $at, 7 -/* 012354 70011754 12810023 */ beq $s4, $at, .L700117E4 -/* 012358 70011758 02801025 */ move $v0, $s4 -/* 01235C 7001175C 2401000A */ li $at, 10 -/* 012360 70011760 10410009 */ beq $v0, $at, .L70011788 -/* 012364 70011764 24010010 */ li $at, 16 -/* 012368 70011768 10410042 */ beq $v0, $at, .L70011874 -/* 01236C 7001176C 24010040 */ li $at, 64 -/* 012370 70011770 10410045 */ beq $v0, $at, .L70011888 -/* 012374 70011774 2401005B */ li $at, 91 -/* 012378 70011778 50410070 */ beql $v0, $at, .L7001193C -/* 01237C 7001177C 8E590060 */ lw $t9, 0x60($s2) -/* 012380 70011780 100000B5 */ b .L70011A58 -/* 012384 70011784 8FBF0024 */ lw $ra, 0x24($sp) -.L70011788: -/* 012388 70011788 8E590060 */ lw $t9, 0x60($s2) -/* 01238C 7001178C 00167100 */ sll $t6, $s6, 4 -/* 012390 70011790 032EC021 */ addu $t8, $t9, $t6 -/* 012394 70011794 A3110007 */ sb $s1, 7($t8) -/* 012398 70011798 8E500064 */ lw $s0, 0x64($s2) -/* 01239C 7001179C 520000AE */ beql $s0, $zero, .L70011A58 -/* 0123A0 700117A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0123A4 700117A4 02C09825 */ move $s3, $s6 -/* 0123A8 700117A8 920F0031 */ lbu $t7, 0x31($s0) -.L700117AC: -/* 0123AC 700117AC 02002025 */ move $a0, $s0 -/* 0123B0 700117B0 566F0008 */ bnel $s3, $t7, .L700117D4 -/* 0123B4 700117B4 8E100000 */ lw $s0, ($s0) -/* 0123B8 700117B8 0C00708D */ jal __vsPan -/* 0123BC 700117BC 02402825 */ move $a1, $s2 -/* 0123C0 700117C0 8E440014 */ lw $a0, 0x14($s2) -/* 0123C4 700117C4 26050004 */ addiu $a1, $s0, 4 -/* 0123C8 700117C8 0C004D34 */ jal alSynSetPan -/* 0123CC 700117CC 304600FF */ andi $a2, $v0, 0xff -/* 0123D0 700117D0 8E100000 */ lw $s0, ($s0) -.L700117D4: -/* 0123D4 700117D4 5600FFF5 */ bnezl $s0, .L700117AC -/* 0123D8 700117D8 920F0031 */ lbu $t7, 0x31($s0) -/* 0123DC 700117DC 1000009E */ b .L70011A58 -/* 0123E0 700117E0 8FBF0024 */ lw $ra, 0x24($sp) -.L700117E4: -/* 0123E4 700117E4 8E590060 */ lw $t9, 0x60($s2) -/* 0123E8 700117E8 00167100 */ sll $t6, $s6, 4 -/* 0123EC 700117EC 032EC021 */ addu $t8, $t9, $t6 -/* 0123F0 700117F0 A3110009 */ sb $s1, 9($t8) -/* 0123F4 700117F4 8E500064 */ lw $s0, 0x64($s2) -/* 0123F8 700117F8 52000097 */ beql $s0, $zero, .L70011A58 -/* 0123FC 700117FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 012400 70011800 02C09825 */ move $s3, $s6 -/* 012404 70011804 24140003 */ li $s4, 3 -/* 012408 70011808 920F0031 */ lbu $t7, 0x31($s0) -.L7001180C: -/* 01240C 7001180C 566F0015 */ bnel $s3, $t7, .L70011864 -/* 012410 70011810 8E100000 */ lw $s0, ($s0) -/* 012414 70011814 92190034 */ lbu $t9, 0x34($s0) -/* 012418 70011818 02002025 */ move $a0, $s0 -/* 01241C 7001181C 52990011 */ beql $s4, $t9, .L70011864 -/* 012420 70011820 8E100000 */ lw $s0, ($s0) -/* 012424 70011824 0C006F85 */ jal __vsVol -/* 012428 70011828 02402825 */ move $a1, $s2 -/* 01242C 7001182C 00028C00 */ sll $s1, $v0, 0x10 -/* 012430 70011830 00117403 */ sra $t6, $s1, 0x10 -/* 012434 70011834 01C08825 */ move $s1, $t6 -/* 012438 70011838 02002025 */ move $a0, $s0 -/* 01243C 7001183C 0C006F7C */ jal __vsDelta -/* 012440 70011840 8E45001C */ lw $a1, 0x1c($s2) -/* 012444 70011844 00113400 */ sll $a2, $s1, 0x10 -/* 012448 70011848 0006C403 */ sra $t8, $a2, 0x10 -/* 01244C 7001184C 03003025 */ move $a2, $t8 -/* 012450 70011850 8E440014 */ lw $a0, 0x14($s2) -/* 012454 70011854 26050004 */ addiu $a1, $s0, 4 -/* 012458 70011858 0C004CE8 */ jal alSynSetVol -/* 01245C 7001185C 00403825 */ move $a3, $v0 -/* 012460 70011860 8E100000 */ lw $s0, ($s0) -.L70011864: -/* 012464 70011864 5600FFE9 */ bnezl $s0, .L7001180C -/* 012468 70011868 920F0031 */ lbu $t7, 0x31($s0) -/* 01246C 7001186C 1000007A */ b .L70011A58 -/* 012470 70011870 8FBF0024 */ lw $ra, 0x24($sp) -.L70011874: -/* 012474 70011874 8E4F0060 */ lw $t7, 0x60($s2) -/* 012478 70011878 0016C900 */ sll $t9, $s6, 4 -/* 01247C 7001187C 01F97021 */ addu $t6, $t7, $t9 -/* 012480 70011880 10000074 */ b .L70011A54 -/* 012484 70011884 A1D10008 */ sb $s1, 8($t6) -.L70011888: -/* 012488 70011888 8E580060 */ lw $t8, 0x60($s2) -/* 01248C 7001188C 00167900 */ sll $t7, $s6, 4 -/* 012490 70011890 030FC821 */ addu $t9, $t8, $t7 -/* 012494 70011894 A331000B */ sb $s1, 0xb($t9) -/* 012498 70011898 8E500064 */ lw $s0, 0x64($s2) -/* 01249C 7001189C 5200006E */ beql $s0, $zero, .L70011A58 -/* 0124A0 700118A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0124A4 700118A4 02C09825 */ move $s3, $s6 -/* 0124A8 700118A8 24160002 */ li $s6, 2 -/* 0124AC 700118AC 241E0003 */ li $fp, 3 -/* 0124B0 700118B0 24170004 */ li $s7, 4 -/* 0124B4 700118B4 24150002 */ li $s5, 2 -/* 0124B8 700118B8 24140003 */ li $s4, 3 -/* 0124BC 700118BC 920E0031 */ lbu $t6, 0x31($s0) -.L700118C0: -/* 0124C0 700118C0 566E0019 */ bnel $s3, $t6, .L70011928 -/* 0124C4 700118C4 8E100000 */ lw $s0, ($s0) -/* 0124C8 700118C8 92020035 */ lbu $v0, 0x35($s0) -/* 0124CC 700118CC 2A210040 */ slti $at, $s1, 0x40 -/* 0124D0 700118D0 52820015 */ beql $s4, $v0, .L70011928 -/* 0124D4 700118D4 8E100000 */ lw $s0, ($s0) -/* 0124D8 700118D8 14200005 */ bnez $at, .L700118F0 -/* 0124DC 700118DC 00000000 */ nop -/* 0124E0 700118E0 54400011 */ bnezl $v0, .L70011928 -/* 0124E4 700118E4 8E100000 */ lw $s0, ($s0) -/* 0124E8 700118E8 1000000E */ b .L70011924 -/* 0124EC 700118EC A2150035 */ sb $s5, 0x35($s0) -.L700118F0: -/* 0124F0 700118F0 16C20003 */ bne $s6, $v0, .L70011900 -/* 0124F4 700118F4 00000000 */ nop -/* 0124F8 700118F8 1000000A */ b .L70011924 -/* 0124FC 700118FC A2000035 */ sb $zero, 0x35($s0) -.L70011900: -/* 012500 70011900 56E20009 */ bnel $s7, $v0, .L70011928 -/* 012504 70011904 8E100000 */ lw $s0, ($s0) -/* 012508 70011908 8E180020 */ lw $t8, 0x20($s0) -/* 01250C 7001190C A21E0035 */ sb $fp, 0x35($s0) -/* 012510 70011910 02402025 */ move $a0, $s2 -/* 012514 70011914 8F0F0000 */ lw $t7, ($t8) -/* 012518 70011918 26050004 */ addiu $a1, $s0, 4 -/* 01251C 7001191C 0C006FA7 */ jal __seqpReleaseVoice -/* 012520 70011920 8DE60008 */ lw $a2, 8($t7) -.L70011924: -/* 012524 70011924 8E100000 */ lw $s0, ($s0) -.L70011928: -/* 012528 70011928 5600FFE5 */ bnezl $s0, .L700118C0 -/* 01252C 7001192C 920E0031 */ lbu $t6, 0x31($s0) -/* 012530 70011930 10000049 */ b .L70011A58 -/* 012534 70011934 8FBF0024 */ lw $ra, 0x24($sp) -/* 012538 70011938 8E590060 */ lw $t9, 0x60($s2) -.L7001193C: -/* 01253C 7001193C 00167100 */ sll $t6, $s6, 4 -/* 012540 70011940 032EC021 */ addu $t8, $t9, $t6 -/* 012544 70011944 A311000A */ sb $s1, 0xa($t8) -/* 012548 70011948 8E500064 */ lw $s0, 0x64($s2) -/* 01254C 7001194C 52000042 */ beql $s0, $zero, .L70011A58 -/* 012550 70011950 8FBF0024 */ lw $ra, 0x24($sp) -/* 012554 70011954 02C09825 */ move $s3, $s6 -/* 012558 70011958 920F0031 */ lbu $t7, 0x31($s0) -.L7001195C: -/* 01255C 7001195C 26050004 */ addiu $a1, $s0, 4 -/* 012560 70011960 322600FF */ andi $a2, $s1, 0xff -/* 012564 70011964 566F0004 */ bnel $s3, $t7, .L70011978 -/* 012568 70011968 8E100000 */ lw $s0, ($s0) -/* 01256C 7001196C 0C004D7C */ jal alSynSetFXMix -/* 012570 70011970 8E440014 */ lw $a0, 0x14($s2) -/* 012574 70011974 8E100000 */ lw $s0, ($s0) -.L70011978: -/* 012578 70011978 5600FFF8 */ bnezl $s0, .L7001195C -/* 01257C 7001197C 920F0031 */ lbu $t7, 0x31($s0) -/* 012580 70011980 10000035 */ b .L70011A58 -/* 012584 70011984 8FBF0024 */ lw $ra, 0x24($sp) -.L70011988: -/* 012588 70011988 8E420020 */ lw $v0, 0x20($s2) -/* 01258C 7001198C 00147080 */ sll $t6, $s4, 2 -/* 012590 70011990 02402025 */ move $a0, $s2 -/* 012594 70011994 84590000 */ lh $t9, ($v0) -/* 012598 70011998 02C03025 */ move $a2, $s6 -/* 01259C 7001199C 004EC021 */ addu $t8, $v0, $t6 -/* 0125A0 700119A0 0299082A */ slt $at, $s4, $t9 -/* 0125A4 700119A4 5020002C */ beql $at, $zero, .L70011A58 -/* 0125A8 700119A8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0125AC 700119AC 0C006F18 */ jal __setInstChanState -/* 0125B0 700119B0 8F05000C */ lw $a1, 0xc($t8) -/* 0125B4 700119B4 10000028 */ b .L70011A58 -/* 0125B8 700119B8 8FBF0024 */ lw $ra, 0x24($sp) -.L700119BC: -/* 0125BC 700119BC 8E4F0060 */ lw $t7, 0x60($s2) -/* 0125C0 700119C0 0016F100 */ sll $fp, $s6, 4 -/* 0125C4 700119C4 0011C1C0 */ sll $t8, $s1, 7 -/* 0125C8 700119C8 01FEC821 */ addu $t9, $t7, $fp -/* 0125CC 700119CC 872E0004 */ lh $t6, 4($t9) -/* 0125D0 700119D0 03147821 */ addu $t7, $t8, $s4 -/* 0125D4 700119D4 25F9E000 */ addiu $t9, $t7, -0x2000 -/* 0125D8 700119D8 01D90019 */ multu $t6, $t9 -/* 0125DC 700119DC 00002012 */ mflo $a0 -/* 0125E0 700119E0 04810003 */ bgez $a0, .L700119F0 -/* 0125E4 700119E4 0004C343 */ sra $t8, $a0, 0xd -/* 0125E8 700119E8 24811FFF */ addiu $at, $a0, 0x1fff -/* 0125EC 700119EC 0001C343 */ sra $t8, $at, 0xd -.L700119F0: -/* 0125F0 700119F0 0C004DF0 */ jal alCents2Ratio -/* 0125F4 700119F4 03002025 */ move $a0, $t8 -/* 0125F8 700119F8 8E4F0060 */ lw $t7, 0x60($s2) -/* 0125FC 700119FC 46000506 */ mov.s $f20, $f0 -/* 012600 70011A00 01FE7021 */ addu $t6, $t7, $fp -/* 012604 70011A04 E5C0000C */ swc1 $f0, 0xc($t6) -/* 012608 70011A08 8E500064 */ lw $s0, 0x64($s2) -/* 01260C 70011A0C 52000012 */ beql $s0, $zero, .L70011A58 -/* 012610 70011A10 8FBF0024 */ lw $ra, 0x24($sp) -/* 012614 70011A14 02C09825 */ move $s3, $s6 -/* 012618 70011A18 92190031 */ lbu $t9, 0x31($s0) -.L70011A1C: -/* 01261C 70011A1C 5679000B */ bnel $s3, $t9, .L70011A4C -/* 012620 70011A20 8E100000 */ lw $s0, ($s0) -/* 012624 70011A24 C6060028 */ lwc1 $f6, 0x28($s0) -/* 012628 70011A28 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 01262C 70011A2C 8E440014 */ lw $a0, 0x14($s2) -/* 012630 70011A30 46143202 */ mul.s $f8, $f6, $f20 -/* 012634 70011A34 26050004 */ addiu $a1, $s0, 4 -/* 012638 70011A38 460A4102 */ mul.s $f4, $f8, $f10 -/* 01263C 70011A3C 44062000 */ mfc1 $a2, $f4 -/* 012640 70011A40 0C004D58 */ jal alSynSetPitch -/* 012644 70011A44 00000000 */ nop -/* 012648 70011A48 8E100000 */ lw $s0, ($s0) -.L70011A4C: -/* 01264C 70011A4C 5600FFF3 */ bnezl $s0, .L70011A1C -/* 012650 70011A50 92190031 */ lbu $t9, 0x31($s0) -.L70011A54: -/* 012654 70011A54 8FBF0024 */ lw $ra, 0x24($sp) -.L70011A58: -/* 012658 70011A58 27BD00B8 */ addiu $sp, $sp, 0xb8 -/* 01265C 70011A5C 03E00008 */ jr $ra -/* 012660 70011A60 00000000 */ nop - -/* 012664 70011A64 03E00008 */ jr $ra -/* 012668 70011A68 00000000 */ nop - -glabel ultra_70011A6C -/* 01266C 70011A6C 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 012670 70011A70 AFB50034 */ sw $s5, 0x34($sp) -/* 012674 70011A74 AFB20028 */ sw $s2, 0x28($sp) -/* 012678 70011A78 248E0038 */ addiu $t6, $a0, 0x38 -/* 01267C 70011A7C 00809025 */ move $s2, $a0 -/* 012680 70011A80 AFBF0044 */ sw $ra, 0x44($sp) -/* 012684 70011A84 AFBE0040 */ sw $fp, 0x40($sp) -/* 012688 70011A88 AFB7003C */ sw $s7, 0x3c($sp) -/* 01268C 70011A8C AFB60038 */ sw $s6, 0x38($sp) -/* 012690 70011A90 AFB40030 */ sw $s4, 0x30($sp) -/* 012694 70011A94 AFB3002C */ sw $s3, 0x2c($sp) -/* 012698 70011A98 AFB10024 */ sw $s1, 0x24($sp) -/* 01269C 70011A9C AFB00020 */ sw $s0, 0x20($sp) -/* 0126A0 70011AA0 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0126A4 70011AA4 AFAE0050 */ sw $t6, 0x50($sp) -/* 0126A8 70011AA8 24950048 */ addiu $s5, $a0, 0x48 -.L70011AAC: -/* 0126AC 70011AAC 964F0038 */ lhu $t7, 0x38($s2) -/* 0126B0 70011AB0 2DE10018 */ sltiu $at, $t7, 0x18 -/* 0126B4 70011AB4 1020015D */ beqz $at, .L7001202C -/* 0126B8 70011AB8 000F7880 */ sll $t7, $t7, 2 -/* 0126BC 70011ABC 3C018003 */ lui $at, %hi(audio_related_jump_table_1) # 0x8003 -/* 0126C0 70011AC0 002F0821 */ addu $at, $at, $t7 -/* 0126C4 70011AC4 8C2F9614 */ lw $t7, %lo(audio_related_jump_table_1)($at) # -0x69ec -/* 0126C8 70011AC8 01E00008 */ jr $t7 -/* 0126CC 70011ACC 00000000 */ nop -.L70011AD0: -/* 0126D0 70011AD0 8E440018 */ lw $a0, 0x18($s2) -/* 0126D4 70011AD4 50800156 */ beql $a0, $zero, .L70012030 -/* 0126D8 70011AD8 02A02025 */ move $a0, $s5 -/* 0126DC 70011ADC 0C004929 */ jal alCSeqNextEvent -/* 0126E0 70011AE0 27A50058 */ addiu $a1, $sp, 0x58 -/* 0126E4 70011AE4 87B80058 */ lh $t8, 0x58($sp) -/* 0126E8 70011AE8 2719FFFF */ addiu $t9, $t8, -1 -/* 0126EC 70011AEC 2F210014 */ sltiu $at, $t9, 0x14 -/* 0126F0 70011AF0 1020014E */ beqz $at, .L7001202C -/* 0126F4 70011AF4 0019C880 */ sll $t9, $t9, 2 -/* 0126F8 70011AF8 3C018003 */ lui $at, %hi(audio_related_jump_table_2) # 0x8003 -/* 0126FC 70011AFC 00390821 */ addu $at, $at, $t9 -/* 012700 70011B00 8C399674 */ lw $t9, %lo(audio_related_jump_table_2)($at) # -0x698c -/* 012704 70011B04 03200008 */ jr $t9 -/* 012708 70011B08 00000000 */ nop -.L70011B0C: -/* 01270C 70011B0C 27A80058 */ addiu $t0, $sp, 0x58 -/* 012710 70011B10 AFB200A0 */ sw $s2, 0xa0($sp) -/* 012714 70011B14 0C00448F */ jal __CSPHandleMIDIMsg -/* 012718 70011B18 AFB5004C */ sw $s5, 0x4c($sp) -/* 01271C 70011B1C 8FB200A0 */ lw $s2, 0xa0($sp) -/* 012720 70011B20 8FB5004C */ lw $s5, 0x4c($sp) -/* 012724 70011B24 0C0043F0 */ jal __CSPPostNextSeqEvent -/* 012728 70011B28 02402025 */ move $a0, $s2 -/* 01272C 70011B2C 10000140 */ b .L70012030 -/* 012730 70011B30 02A02025 */ move $a0, $s5 -.L70011B34: -/* 012734 70011B34 0240B825 */ move $s7, $s2 -/* 012738 70011B38 27A50058 */ addiu $a1, $sp, 0x58 -/* 01273C 70011B3C AFB200A0 */ sw $s2, 0xa0($sp) -/* 012740 70011B40 0C00441B */ jal ultra_7001106C -/* 012744 70011B44 AFB5004C */ sw $s5, 0x4c($sp) -/* 012748 70011B48 8FB200A0 */ lw $s2, 0xa0($sp) -/* 01274C 70011B4C 8FB5004C */ lw $s5, 0x4c($sp) -/* 012750 70011B50 0C0043F0 */ jal __CSPPostNextSeqEvent -/* 012754 70011B54 02402025 */ move $a0, $s2 -/* 012758 70011B58 10000135 */ b .L70012030 -/* 01275C 70011B5C 02A02025 */ move $a0, $s5 -.L70011B60: -/* 012760 70011B60 240E0002 */ li $t6, 2 -/* 012764 70011B64 AE4E002C */ sw $t6, 0x2c($s2) -/* 012768 70011B68 240F0010 */ li $t7, 16 -/* 01276C 70011B6C 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 012770 70011B70 A7AF0058 */ sh $t7, 0x58($sp) -/* 012774 70011B74 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 012778 70011B78 02A02025 */ move $a0, $s5 -/* 01277C 70011B7C 0C004BBF */ jal alEvtqPostEvent -/* 012780 70011B80 27A50058 */ addiu $a1, $sp, 0x58 -/* 012784 70011B84 1000012A */ b .L70012030 -/* 012788 70011B88 02A02025 */ move $a0, $s5 -.L70011B8C: -/* 01278C 70011B8C 0C0043F0 */ jal __CSPPostNextSeqEvent -/* 012790 70011B90 02402025 */ move $a0, $s2 -/* 012794 70011B94 10000126 */ b .L70012030 -/* 012798 70011B98 02A02025 */ move $a0, $s5 -.L70011B9C: -/* 01279C 70011B9C 24180009 */ li $t8, 9 -/* 0127A0 70011BA0 A7B8008C */ sh $t8, 0x8c($sp) -/* 0127A4 70011BA4 8E46005C */ lw $a2, 0x5c($s2) -/* 0127A8 70011BA8 02A02025 */ move $a0, $s5 -/* 0127AC 70011BAC 0C004BBF */ jal alEvtqPostEvent -/* 0127B0 70011BB0 27A5008C */ addiu $a1, $sp, 0x8c -/* 0127B4 70011BB4 1000011E */ b .L70012030 -/* 0127B8 70011BB8 02A02025 */ move $a0, $s5 -.L70011BBC: -/* 0127BC 70011BBC 8E50003C */ lw $s0, 0x3c($s2) -/* 0127C0 70011BC0 8E440014 */ lw $a0, 0x14($s2) -/* 0127C4 70011BC4 0C004DA4 */ jal alSynStopVoice -/* 0127C8 70011BC8 02002825 */ move $a1, $s0 -/* 0127CC 70011BCC 8E440014 */ lw $a0, 0x14($s2) -/* 0127D0 70011BD0 0C004DC4 */ jal alSynFreeVoice -/* 0127D4 70011BD4 02002825 */ move $a1, $s0 -/* 0127D8 70011BD8 8E110010 */ lw $s1, 0x10($s0) -/* 0127DC 70011BDC 02402025 */ move $a0, $s2 -/* 0127E0 70011BE0 92390037 */ lbu $t9, 0x37($s1) -/* 0127E4 70011BE4 53200004 */ beql $t9, $zero, .L70011BF8 -/* 0127E8 70011BE8 02402025 */ move $a0, $s2 -/* 0127EC 70011BEC 0C0074A8 */ jal __seqpStopOsc -/* 0127F0 70011BF0 02202825 */ move $a1, $s1 -/* 0127F4 70011BF4 02402025 */ move $a0, $s2 -.L70011BF8: -/* 0127F8 70011BF8 0C00701C */ jal __unmapVoice -/* 0127FC 70011BFC 02002825 */ move $a1, $s0 -/* 012800 70011C00 1000010B */ b .L70012030 -/* 012804 70011C04 02A02025 */ move $a0, $s5 -.L70011C08: -/* 012808 70011C08 8E50003C */ lw $s0, 0x3c($s2) -/* 01280C 70011C0C 240F0001 */ li $t7, 1 -/* 012810 70011C10 8E110010 */ lw $s1, 0x10($s0) -/* 012814 70011C14 922E0034 */ lbu $t6, 0x34($s1) -/* 012818 70011C18 55C00003 */ bnezl $t6, .L70011C28 -/* 01281C 70011C1C 8E530040 */ lw $s3, 0x40($s2) -/* 012820 70011C20 A22F0034 */ sb $t7, 0x34($s1) -/* 012824 70011C24 8E530040 */ lw $s3, 0x40($s2) -.L70011C28: -/* 012828 70011C28 8E58001C */ lw $t8, 0x1c($s2) -/* 01282C 70011C2C 02202025 */ move $a0, $s1 -/* 012830 70011C30 02402825 */ move $a1, $s2 -/* 012834 70011C34 0313C821 */ addu $t9, $t8, $s3 -/* 012838 70011C38 AE390024 */ sw $t9, 0x24($s1) -/* 01283C 70011C3C 924E0044 */ lbu $t6, 0x44($s2) -/* 012840 70011C40 0C006F85 */ jal __vsVol -/* 012844 70011C44 A22E0030 */ sb $t6, 0x30($s1) -/* 012848 70011C48 00023400 */ sll $a2, $v0, 0x10 -/* 01284C 70011C4C 00067C03 */ sra $t7, $a2, 0x10 -/* 012850 70011C50 01E03025 */ move $a2, $t7 -/* 012854 70011C54 8E440014 */ lw $a0, 0x14($s2) -/* 012858 70011C58 02002825 */ move $a1, $s0 -/* 01285C 70011C5C 0C004CE8 */ jal alSynSetVol -/* 012860 70011C60 02603825 */ move $a3, $s3 -/* 012864 70011C64 100000F2 */ b .L70012030 -/* 012868 70011C68 02A02025 */ move $a0, $s5 -.L70011C6C: -/* 01286C 70011C6C 8E590074 */ lw $t9, 0x74($s2) -/* 012870 70011C70 8E540040 */ lw $s4, 0x40($s2) -/* 012874 70011C74 8E51003C */ lw $s1, 0x3c($s2) -/* 012878 70011C78 27A50078 */ addiu $a1, $sp, 0x78 -/* 01287C 70011C7C 0320F809 */ jalr $t9 -/* 012880 70011C80 02802025 */ move $a0, $s4 -/* 012884 70011C84 4458F800 */ cfc1 $t8, $31 -/* 012888 70011C88 240E0001 */ li $t6, 1 -/* 01288C 70011C8C 44CEF800 */ ctc1 $t6, $31 -/* 012890 70011C90 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 012894 70011C94 00409825 */ move $s3, $v0 -/* 012898 70011C98 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 01289C 70011C9C 460021A4 */ cvt.w.s $f6, $f4 -/* 0128A0 70011CA0 02202025 */ move $a0, $s1 -/* 0128A4 70011CA4 02402825 */ move $a1, $s2 -/* 0128A8 70011CA8 444EF800 */ cfc1 $t6, $31 -/* 0128AC 70011CAC 00000000 */ nop -/* 0128B0 70011CB0 31CE0078 */ andi $t6, $t6, 0x78 -/* 0128B4 70011CB4 51C00013 */ beql $t6, $zero, .L70011D04 -/* 0128B8 70011CB8 440E3000 */ mfc1 $t6, $f6 -/* 0128BC 70011CBC 44813000 */ mtc1 $at, $f6 -/* 0128C0 70011CC0 240E0001 */ li $t6, 1 -/* 0128C4 70011CC4 46062181 */ sub.s $f6, $f4, $f6 -/* 0128C8 70011CC8 44CEF800 */ ctc1 $t6, $31 -/* 0128CC 70011CCC 00000000 */ nop -/* 0128D0 70011CD0 460031A4 */ cvt.w.s $f6, $f6 -/* 0128D4 70011CD4 444EF800 */ cfc1 $t6, $31 -/* 0128D8 70011CD8 00000000 */ nop -/* 0128DC 70011CDC 31CE0078 */ andi $t6, $t6, 0x78 -/* 0128E0 70011CE0 15C00005 */ bnez $t6, .L70011CF8 -/* 0128E4 70011CE4 00000000 */ nop -/* 0128E8 70011CE8 440E3000 */ mfc1 $t6, $f6 -/* 0128EC 70011CEC 3C018000 */ lui $at, 0x8000 -/* 0128F0 70011CF0 10000007 */ b .L70011D10 -/* 0128F4 70011CF4 01C17025 */ or $t6, $t6, $at -.L70011CF8: -/* 0128F8 70011CF8 10000005 */ b .L70011D10 -/* 0128FC 70011CFC 240EFFFF */ li $t6, -1 -/* 012900 70011D00 440E3000 */ mfc1 $t6, $f6 -.L70011D04: -/* 012904 70011D04 00000000 */ nop -/* 012908 70011D08 05C0FFFB */ bltz $t6, .L70011CF8 -/* 01290C 70011D0C 00000000 */ nop -.L70011D10: -/* 012910 70011D10 44D8F800 */ ctc1 $t8, $31 -/* 012914 70011D14 0C006F85 */ jal __vsVol -/* 012918 70011D18 A22E0036 */ sb $t6, 0x36($s1) -/* 01291C 70011D1C 00028400 */ sll $s0, $v0, 0x10 -/* 012920 70011D20 00107C03 */ sra $t7, $s0, 0x10 -/* 012924 70011D24 01E08025 */ move $s0, $t7 -/* 012928 70011D28 02202025 */ move $a0, $s1 -/* 01292C 70011D2C 0C006F7C */ jal __vsDelta -/* 012930 70011D30 8E45001C */ lw $a1, 0x1c($s2) -/* 012934 70011D34 00103400 */ sll $a2, $s0, 0x10 -/* 012938 70011D38 0006CC03 */ sra $t9, $a2, 0x10 -/* 01293C 70011D3C 03203025 */ move $a2, $t9 -/* 012940 70011D40 8E440014 */ lw $a0, 0x14($s2) -/* 012944 70011D44 26250004 */ addiu $a1, $s1, 4 -/* 012948 70011D48 0C004CE8 */ jal alSynSetVol -/* 01294C 70011D4C 00403825 */ move $a3, $v0 -/* 012950 70011D50 24180016 */ li $t8, 22 -/* 012954 70011D54 A7B8008C */ sh $t8, 0x8c($sp) -/* 012958 70011D58 AFB10090 */ sw $s1, 0x90($sp) -/* 01295C 70011D5C AFB40094 */ sw $s4, 0x94($sp) -/* 012960 70011D60 02A02025 */ move $a0, $s5 -/* 012964 70011D64 27A5008C */ addiu $a1, $sp, 0x8c -/* 012968 70011D68 0C004BBF */ jal alEvtqPostEvent -/* 01296C 70011D6C 02603025 */ move $a2, $s3 -/* 012970 70011D70 100000AF */ b .L70012030 -/* 012974 70011D74 02A02025 */ move $a0, $s5 -.L70011D78: -/* 012978 70011D78 8E590074 */ lw $t9, 0x74($s2) -/* 01297C 70011D7C 8E540040 */ lw $s4, 0x40($s2) -/* 012980 70011D80 8E51003C */ lw $s1, 0x3c($s2) -/* 012984 70011D84 92500044 */ lbu $s0, 0x44($s2) -/* 012988 70011D88 27A50078 */ addiu $a1, $sp, 0x78 -/* 01298C 70011D8C 0320F809 */ jalr $t9 -/* 012990 70011D90 02802025 */ move $a0, $s4 -/* 012994 70011D94 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 012998 70011D98 C6240028 */ lwc1 $f4, 0x28($s1) -/* 01299C 70011D9C 00107900 */ sll $t7, $s0, 4 -/* 0129A0 70011DA0 E628002C */ swc1 $f8, 0x2c($s1) -/* 0129A4 70011DA4 C626002C */ lwc1 $f6, 0x2c($s1) -/* 0129A8 70011DA8 8E4E0060 */ lw $t6, 0x60($s2) -/* 0129AC 70011DAC 00409825 */ move $s3, $v0 -/* 0129B0 70011DB0 46062202 */ mul.s $f8, $f4, $f6 -/* 0129B4 70011DB4 01CFC021 */ addu $t8, $t6, $t7 -/* 0129B8 70011DB8 C70A000C */ lwc1 $f10, 0xc($t8) -/* 0129BC 70011DBC 8E440014 */ lw $a0, 0x14($s2) -/* 0129C0 70011DC0 26250004 */ addiu $a1, $s1, 4 -/* 0129C4 70011DC4 46085102 */ mul.s $f4, $f10, $f8 -/* 0129C8 70011DC8 44062000 */ mfc1 $a2, $f4 -/* 0129CC 70011DCC 0C004D58 */ jal alSynSetPitch -/* 0129D0 70011DD0 00000000 */ nop -/* 0129D4 70011DD4 24190017 */ li $t9, 23 -/* 0129D8 70011DD8 A7B9008C */ sh $t9, 0x8c($sp) -/* 0129DC 70011DDC AFB10090 */ sw $s1, 0x90($sp) -/* 0129E0 70011DE0 AFB40094 */ sw $s4, 0x94($sp) -/* 0129E4 70011DE4 A3B00098 */ sb $s0, 0x98($sp) -/* 0129E8 70011DE8 02A02025 */ move $a0, $s5 -/* 0129EC 70011DEC 27A5008C */ addiu $a1, $sp, 0x8c -/* 0129F0 70011DF0 0C004BBF */ jal alEvtqPostEvent -/* 0129F4 70011DF4 02603025 */ move $a2, $s3 -/* 0129F8 70011DF8 1000008D */ b .L70012030 -/* 0129FC 70011DFC 02A02025 */ move $a0, $s5 -.L70011E00: -/* 012A00 70011E00 8FA80050 */ lw $t0, 0x50($sp) -/* 012A04 70011E04 AFB200A0 */ sw $s2, 0xa0($sp) -/* 012A08 70011E08 0C00448F */ jal __CSPHandleMIDIMsg -/* 012A0C 70011E0C AFB5004C */ sw $s5, 0x4c($sp) -/* 012A10 70011E10 8FB200A0 */ lw $s2, 0xa0($sp) -/* 012A14 70011E14 10000085 */ b .L7001202C -/* 012A18 70011E18 8FB5004C */ lw $s5, 0x4c($sp) -.L70011E1C: -/* 012A1C 70011E1C 0240B825 */ move $s7, $s2 -/* 012A20 70011E20 8FA50050 */ lw $a1, 0x50($sp) -/* 012A24 70011E24 AFB200A0 */ sw $s2, 0xa0($sp) -/* 012A28 70011E28 0C00441B */ jal ultra_7001106C -/* 012A2C 70011E2C AFB5004C */ sw $s5, 0x4c($sp) -/* 012A30 70011E30 8FB200A0 */ lw $s2, 0xa0($sp) -/* 012A34 70011E34 1000007D */ b .L7001202C -/* 012A38 70011E38 8FB5004C */ lw $s5, 0x4c($sp) -.L70011E3C: -/* 012A3C 70011E3C 8E510064 */ lw $s1, 0x64($s2) -/* 012A40 70011E40 864E003C */ lh $t6, 0x3c($s2) -/* 012A44 70011E44 12200079 */ beqz $s1, .L7001202C -/* 012A48 70011E48 A64E0032 */ sh $t6, 0x32($s2) -/* 012A4C 70011E4C 02202025 */ move $a0, $s1 -.L70011E50: -/* 012A50 70011E50 0C006F85 */ jal __vsVol -/* 012A54 70011E54 02402825 */ move $a1, $s2 -/* 012A58 70011E58 00028400 */ sll $s0, $v0, 0x10 -/* 012A5C 70011E5C 00107C03 */ sra $t7, $s0, 0x10 -/* 012A60 70011E60 01E08025 */ move $s0, $t7 -/* 012A64 70011E64 02202025 */ move $a0, $s1 -/* 012A68 70011E68 0C006F7C */ jal __vsDelta -/* 012A6C 70011E6C 8E45001C */ lw $a1, 0x1c($s2) -/* 012A70 70011E70 00103400 */ sll $a2, $s0, 0x10 -/* 012A74 70011E74 0006C403 */ sra $t8, $a2, 0x10 -/* 012A78 70011E78 03003025 */ move $a2, $t8 -/* 012A7C 70011E7C 8E440014 */ lw $a0, 0x14($s2) -/* 012A80 70011E80 26250004 */ addiu $a1, $s1, 4 -/* 012A84 70011E84 0C004CE8 */ jal alSynSetVol -/* 012A88 70011E88 00403825 */ move $a3, $v0 -/* 012A8C 70011E8C 8E310000 */ lw $s1, ($s1) -/* 012A90 70011E90 5620FFEF */ bnezl $s1, .L70011E50 -/* 012A94 70011E94 02202025 */ move $a0, $s1 -/* 012A98 70011E98 10000065 */ b .L70012030 -/* 012A9C 70011E9C 02A02025 */ move $a0, $s5 -.L70011EA0: -/* 012AA0 70011EA0 8E59002C */ lw $t9, 0x2c($s2) -/* 012AA4 70011EA4 24010001 */ li $at, 1 -/* 012AA8 70011EA8 240E0001 */ li $t6, 1 -/* 012AAC 70011EAC 1321005F */ beq $t9, $at, .L7001202C -/* 012AB0 70011EB0 02402025 */ move $a0, $s2 -/* 012AB4 70011EB4 0C0043F0 */ jal __CSPPostNextSeqEvent -/* 012AB8 70011EB8 AE4E002C */ sw $t6, 0x2c($s2) -/* 012ABC 70011EBC 1000005C */ b .L70012030 -/* 012AC0 70011EC0 02A02025 */ move $a0, $s5 -.L70011EC4: -/* 012AC4 70011EC4 8E4F002C */ lw $t7, 0x2c($s2) -/* 012AC8 70011EC8 24010002 */ li $at, 2 -/* 012ACC 70011ECC 55E10058 */ bnel $t7, $at, .L70012030 -/* 012AD0 70011ED0 02A02025 */ move $a0, $s5 -/* 012AD4 70011ED4 8E510064 */ lw $s1, 0x64($s2) -/* 012AD8 70011ED8 12200013 */ beqz $s1, .L70011F28 -/* 012ADC 70011EDC 26300004 */ addiu $s0, $s1, 4 -.L70011EE0: -/* 012AE0 70011EE0 02002825 */ move $a1, $s0 -/* 012AE4 70011EE4 0C004DA4 */ jal alSynStopVoice -/* 012AE8 70011EE8 8E440014 */ lw $a0, 0x14($s2) -/* 012AEC 70011EEC 8E440014 */ lw $a0, 0x14($s2) -/* 012AF0 70011EF0 0C004DC4 */ jal alSynFreeVoice -/* 012AF4 70011EF4 02002825 */ move $a1, $s0 -/* 012AF8 70011EF8 92380037 */ lbu $t8, 0x37($s1) -/* 012AFC 70011EFC 02402025 */ move $a0, $s2 -/* 012B00 70011F00 53000004 */ beql $t8, $zero, .L70011F14 -/* 012B04 70011F04 02402025 */ move $a0, $s2 -/* 012B08 70011F08 0C0074A8 */ jal __seqpStopOsc -/* 012B0C 70011F0C 02202825 */ move $a1, $s1 -/* 012B10 70011F10 02402025 */ move $a0, $s2 -.L70011F14: -/* 012B14 70011F14 0C00701C */ jal __unmapVoice -/* 012B18 70011F18 02002825 */ move $a1, $s0 -/* 012B1C 70011F1C 8E510064 */ lw $s1, 0x64($s2) -/* 012B20 70011F20 5620FFEF */ bnezl $s1, .L70011EE0 -/* 012B24 70011F24 26300004 */ addiu $s0, $s1, 4 -.L70011F28: -/* 012B28 70011F28 10000040 */ b .L7001202C -/* 012B2C 70011F2C AE40002C */ sw $zero, 0x2c($s2) -.L70011F30: -/* 012B30 70011F30 8E59002C */ lw $t9, 0x2c($s2) -/* 012B34 70011F34 24010001 */ li $at, 1 -/* 012B38 70011F38 02A02025 */ move $a0, $s5 -/* 012B3C 70011F3C 5721003C */ bnel $t9, $at, .L70012030 -/* 012B40 70011F40 02A02025 */ move $a0, $s5 -/* 012B44 70011F44 0C004B78 */ jal alEvtqFlushType -/* 012B48 70011F48 00002825 */ move $a1, $zero -/* 012B4C 70011F4C 02A02025 */ move $a0, $s5 -/* 012B50 70011F50 0C004B78 */ jal alEvtqFlushType -/* 012B54 70011F54 24050015 */ li $a1, 21 -/* 012B58 70011F58 02A02025 */ move $a0, $s5 -/* 012B5C 70011F5C 0C004B78 */ jal alEvtqFlushType -/* 012B60 70011F60 24050002 */ li $a1, 2 -/* 012B64 70011F64 8E510064 */ lw $s1, 0x64($s2) -/* 012B68 70011F68 1220000D */ beqz $s1, .L70011FA0 -/* 012B6C 70011F6C 26300004 */ addiu $s0, $s1, 4 -.L70011F70: -/* 012B70 70011F70 02002825 */ move $a1, $s0 -/* 012B74 70011F74 02402025 */ move $a0, $s2 -/* 012B78 70011F78 0C006FF2 */ jal __voiceNeedsNoteKill -/* 012B7C 70011F7C 3406C350 */ li $a2, 50000 -/* 012B80 70011F80 10400004 */ beqz $v0, .L70011F94 -/* 012B84 70011F84 02402025 */ move $a0, $s2 -/* 012B88 70011F88 02002825 */ move $a1, $s0 -/* 012B8C 70011F8C 0C006FA7 */ jal __seqpReleaseVoice -/* 012B90 70011F90 3406C350 */ li $a2, 50000 -.L70011F94: -/* 012B94 70011F94 8E310000 */ lw $s1, ($s1) -/* 012B98 70011F98 5620FFF5 */ bnezl $s1, .L70011F70 -/* 012B9C 70011F9C 26300004 */ addiu $s0, $s1, 4 -.L70011FA0: -/* 012BA0 70011FA0 240E0002 */ li $t6, 2 -/* 012BA4 70011FA4 AE4E002C */ sw $t6, 0x2c($s2) -/* 012BA8 70011FA8 240F0010 */ li $t7, 16 -/* 012BAC 70011FAC 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 012BB0 70011FB0 A7AF008C */ sh $t7, 0x8c($sp) -/* 012BB4 70011FB4 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 012BB8 70011FB8 02A02025 */ move $a0, $s5 -/* 012BBC 70011FBC 0C004BBF */ jal alEvtqPostEvent -/* 012BC0 70011FC0 27A5008C */ addiu $a1, $sp, 0x8c -/* 012BC4 70011FC4 1000001A */ b .L70012030 -/* 012BC8 70011FC8 02A02025 */ move $a0, $s5 -.L70011FCC: -/* 012BCC 70011FCC 9250003C */ lbu $s0, 0x3c($s2) -/* 012BD0 70011FD0 8E590060 */ lw $t9, 0x60($s2) -/* 012BD4 70011FD4 9258003D */ lbu $t8, 0x3d($s2) -/* 012BD8 70011FD8 00107100 */ sll $t6, $s0, 4 -/* 012BDC 70011FDC 032E7821 */ addu $t7, $t9, $t6 -/* 012BE0 70011FE0 10000012 */ b .L7001202C -/* 012BE4 70011FE4 A1F80008 */ sb $t8, 8($t7) -.L70011FE8: -/* 012BE8 70011FE8 8E59003C */ lw $t9, 0x3c($s2) -/* 012BEC 70011FEC 3C018003 */ lui $at, %hi(F32_800296C4) -/* 012BF0 70011FF0 02402025 */ move $a0, $s2 -/* 012BF4 70011FF4 AE590018 */ sw $t9, 0x18($s2) -/* 012BF8 70011FF8 0C00440C */ jal ultra_70011030 -/* 012BFC 70011FFC C42C96C4 */ lwc1 $f12, %lo(F32_800296C4)($at) -/* 012C00 70012000 8E450020 */ lw $a1, 0x20($s2) -/* 012C04 70012004 50A0000A */ beql $a1, $zero, .L70012030 -/* 012C08 70012008 02A02025 */ move $a0, $s5 -/* 012C0C 7001200C 0C006F4D */ jal __initFromBank -/* 012C10 70012010 02402025 */ move $a0, $s2 -/* 012C14 70012014 10000006 */ b .L70012030 -/* 012C18 70012018 02A02025 */ move $a0, $s5 -.L7001201C: -/* 012C1C 7001201C 8E45003C */ lw $a1, 0x3c($s2) -/* 012C20 70012020 02402025 */ move $a0, $s2 -/* 012C24 70012024 0C006F4D */ jal __initFromBank -/* 012C28 70012028 AE450020 */ sw $a1, 0x20($s2) -.L7001202C: -/* 012C2C 7001202C 02A02025 */ move $a0, $s5 -.L70012030: -/* 012C30 70012030 0C004C08 */ jal alEvtqNextEvent -/* 012C34 70012034 8FA50050 */ lw $a1, 0x50($sp) -/* 012C38 70012038 1040FE9C */ beqz $v0, .L70011AAC -/* 012C3C 7001203C AE420028 */ sw $v0, 0x28($s2) -/* 012C40 70012040 8E4E001C */ lw $t6, 0x1c($s2) -/* 012C44 70012044 01C2C021 */ addu $t8, $t6, $v0 -/* 012C48 70012048 AE58001C */ sw $t8, 0x1c($s2) -/* 012C4C 7001204C 8FBF0044 */ lw $ra, 0x44($sp) -/* 012C50 70012050 8FBE0040 */ lw $fp, 0x40($sp) -/* 012C54 70012054 8FB7003C */ lw $s7, 0x3c($sp) -/* 012C58 70012058 8FB60038 */ lw $s6, 0x38($sp) -/* 012C5C 7001205C 8FB50034 */ lw $s5, 0x34($sp) -/* 012C60 70012060 8FB40030 */ lw $s4, 0x30($sp) -/* 012C64 70012064 8FB3002C */ lw $s3, 0x2c($sp) -/* 012C68 70012068 8FB20028 */ lw $s2, 0x28($sp) -/* 012C6C 7001206C 8FB10024 */ lw $s1, 0x24($sp) -/* 012C70 70012070 8FB00020 */ lw $s0, 0x20($sp) -/* 012C74 70012074 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 012C78 70012078 03E00008 */ jr $ra -/* 012C7C 7001207C 27BD00A0 */ addiu $sp, $sp, 0xa0 - -glabel alCSPNew -/* 012C80 70012080 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 012C84 70012084 AFBF0024 */ sw $ra, 0x24($sp) -/* 012C88 70012088 AFB10020 */ sw $s1, 0x20($sp) -/* 012C8C 7001208C AFB0001C */ sw $s0, 0x1c($sp) -/* 012C90 70012090 8CA6000C */ lw $a2, 0xc($a1) -/* 012C94 70012094 AC800020 */ sw $zero, 0x20($a0) -/* 012C98 70012098 AC800018 */ sw $zero, 0x18($a0) -/* 012C9C 7001209C 3C0E8002 */ lui $t6, %hi(alGlobals) -/* 012CA0 700120A0 8DCE76E0 */ lw $t6, %lo(alGlobals)($t6) -/* 012CA4 700120A4 240F00FF */ li $t7, 255 -/* 012CA8 700120A8 241801E8 */ li $t8, 488 -/* 012CAC 700120AC 24197FFF */ li $t9, 32767 -/* 012CB0 700120B0 24083E80 */ li $t0, 16000 -/* 012CB4 700120B4 A48F0030 */ sh $t7, 0x30($a0) -/* 012CB8 700120B8 AC980024 */ sw $t8, 0x24($a0) -/* 012CBC 700120BC AC800028 */ sw $zero, 0x28($a0) -/* 012CC0 700120C0 AC80002C */ sw $zero, 0x2c($a0) -/* 012CC4 700120C4 A4990032 */ sh $t9, 0x32($a0) -/* 012CC8 700120C8 AC88005C */ sw $t0, 0x5c($a0) -/* 012CCC 700120CC AC80001C */ sw $zero, 0x1c($a0) -/* 012CD0 700120D0 AC8E0014 */ sw $t6, 0x14($a0) -/* 012CD4 700120D4 8CA90010 */ lw $t1, 0x10($a1) -/* 012CD8 700120D8 240C0009 */ li $t4, 9 -/* 012CDC 700120DC 00A08825 */ move $s1, $a1 -/* 012CE0 700120E0 AC890070 */ sw $t1, 0x70($a0) -/* 012CE4 700120E4 8CAA0014 */ lw $t2, 0x14($a1) -/* 012CE8 700120E8 00808025 */ move $s0, $a0 -/* 012CEC 700120EC 240E0010 */ li $t6, 16 -/* 012CF0 700120F0 AC8A0074 */ sw $t2, 0x74($a0) -/* 012CF4 700120F4 8CAB0018 */ lw $t3, 0x18($a1) -/* 012CF8 700120F8 A48C0038 */ sh $t4, 0x38($a0) -/* 012CFC 700120FC AC8B0078 */ sw $t3, 0x78($a0) -/* 012D00 70012100 90AD0008 */ lbu $t5, 8($a1) -/* 012D04 70012104 00002825 */ move $a1, $zero -/* 012D08 70012108 A08D0034 */ sb $t5, 0x34($a0) -/* 012D0C 7001210C 92270008 */ lbu $a3, 8($s1) -/* 012D10 70012110 AFAE0010 */ sw $t6, 0x10($sp) -/* 012D14 70012114 00002025 */ move $a0, $zero -/* 012D18 70012118 0C003AD4 */ jal alHeapDBAlloc -/* 012D1C 7001211C AFA6002C */ sw $a2, 0x2c($sp) -/* 012D20 70012120 AE020060 */ sw $v0, 0x60($s0) -/* 012D24 70012124 0C0074E9 */ jal __initChanState -/* 012D28 70012128 02002025 */ move $a0, $s0 -/* 012D2C 7001212C 8E270000 */ lw $a3, ($s1) -/* 012D30 70012130 240F0038 */ li $t7, 56 -/* 012D34 70012134 AFAF0010 */ sw $t7, 0x10($sp) -/* 012D38 70012138 00002025 */ move $a0, $zero -/* 012D3C 7001213C 00002825 */ move $a1, $zero -/* 012D40 70012140 0C003AD4 */ jal alHeapDBAlloc -/* 012D44 70012144 8FA6002C */ lw $a2, 0x2c($sp) -/* 012D48 70012148 AE00006C */ sw $zero, 0x6c($s0) -/* 012D4C 7001214C 8E380000 */ lw $t8, ($s1) -/* 012D50 70012150 00002025 */ move $a0, $zero -/* 012D54 70012154 00002825 */ move $a1, $zero -/* 012D58 70012158 1B00000B */ blez $t8, .L70012188 -/* 012D5C 7001215C 2409001C */ li $t1, 28 -/* 012D60 70012160 00401825 */ move $v1, $v0 -/* 012D64 70012164 8E19006C */ lw $t9, 0x6c($s0) -.L70012168: -/* 012D68 70012168 24840001 */ addiu $a0, $a0, 1 -/* 012D6C 7001216C AC790000 */ sw $t9, ($v1) -/* 012D70 70012170 AE03006C */ sw $v1, 0x6c($s0) -/* 012D74 70012174 8E280000 */ lw $t0, ($s1) -/* 012D78 70012178 24630038 */ addiu $v1, $v1, 0x38 -/* 012D7C 7001217C 0088082A */ slt $at, $a0, $t0 -/* 012D80 70012180 5420FFF9 */ bnezl $at, .L70012168 -/* 012D84 70012184 8E19006C */ lw $t9, 0x6c($s0) -.L70012188: -/* 012D88 70012188 AE000064 */ sw $zero, 0x64($s0) -/* 012D8C 7001218C AE000068 */ sw $zero, 0x68($s0) -/* 012D90 70012190 8E270004 */ lw $a3, 4($s1) -/* 012D94 70012194 AFA90010 */ sw $t1, 0x10($sp) -/* 012D98 70012198 8FA6002C */ lw $a2, 0x2c($sp) -/* 012D9C 7001219C 0C003AD4 */ jal alHeapDBAlloc -/* 012DA0 700121A0 00002025 */ move $a0, $zero -/* 012DA4 700121A4 26040048 */ addiu $a0, $s0, 0x48 -/* 012DA8 700121A8 00402825 */ move $a1, $v0 -/* 012DAC 700121AC 0C004C2B */ jal alEvtqNew -/* 012DB0 700121B0 8E260004 */ lw $a2, 4($s1) -/* 012DB4 700121B4 3C0A7001 */ lui $t2, %hi(ultra_70011A6C) # $t2, 0x7001 -/* 012DB8 700121B8 254A1A6C */ addiu $t2, %lo(ultra_70011A6C) # addiu $t2, $t2, 0x1a6c -/* 012DBC 700121BC AE000000 */ sw $zero, ($s0) -/* 012DC0 700121C0 AE0A0008 */ sw $t2, 8($s0) -/* 012DC4 700121C4 AE100004 */ sw $s0, 4($s0) -/* 012DC8 700121C8 3C048002 */ lui $a0, %hi(alGlobals) -/* 012DCC 700121CC 8C8476E0 */ lw $a0, %lo(alGlobals)($a0) -/* 012DD0 700121D0 0C004C48 */ jal alSynAddPlayer -/* 012DD4 700121D4 02002825 */ move $a1, $s0 -/* 012DD8 700121D8 8FBF0024 */ lw $ra, 0x24($sp) -/* 012DDC 700121DC 8FB0001C */ lw $s0, 0x1c($sp) -/* 012DE0 700121E0 8FB10020 */ lw $s1, 0x20($sp) -/* 012DE4 700121E4 03E00008 */ jr $ra -/* 012DE8 700121E8 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 012DEC 700121EC 00000000 */ nop - -.section .rodata -.word 0,0,0 -glabel audio_related_jump_table_0 -.word .L70011620, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011280, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011678, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011750, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011988, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L700116DC, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L70011A54, .L70011A54, .L70011A54, .L70011A54 -.word .L700119BC -glabel audio_related_jump_table_1 -.word .L70011AD0 -.word .L7001202C -.word .L70011E00 -.word .L7001202C -.word .L7001202C -.word .L70011BBC -.word .L70011C08 -.word .L70011E1C -.word .L7001202C -.word .L70011B9C -.word .L70011E3C -.word .L7001202C -.word .L70011FCC -.word .L70011FE8 -.word .L7001201C -.word .L70011EA0 -.word .L70011EC4 -.word .L70011F30 -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L70011E00 -.word .L70011C6C -.word .L70011D78 -glabel audio_related_jump_table_2 -.word .L70011B0C -.word .L7001202C -.word .L70011B34 -.word .L70011B60 -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L7001202C -.word .L70011B8C -.word .L70011B8C -.word .L70011B8C -glabel F32_800296C4 - .float 500000.0 -.align 4 - -.section .text -glabel alSeqpSetBank -/* 012DF0 700121F0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 012DF4 700121F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 012DF8 700121F8 240E000E */ li $t6, 14 -/* 012DFC 700121FC AFA5001C */ sw $a1, 0x1c($sp) -/* 012E00 70012200 A7AE0018 */ sh $t6, 0x18($sp) -/* 012E04 70012204 27A50018 */ addiu $a1, $sp, 0x18 -/* 012E08 70012208 24840048 */ addiu $a0, $a0, 0x48 -/* 012E0C 7001220C 0C004BBF */ jal alEvtqPostEvent -/* 012E10 70012210 00003025 */ move $a2, $zero -/* 012E14 70012214 8FBF0014 */ lw $ra, 0x14($sp) -/* 012E18 70012218 27BD0028 */ addiu $sp, $sp, 0x28 -/* 012E1C 7001221C 03E00008 */ jr $ra -/* 012E20 70012220 00000000 */ nop - -/* 012E24 70012224 00000000 */ nop -/* 012E28 70012228 00000000 */ nop -/* 012E2C 7001222C 00000000 */ nop -glabel alCSPGetState -/* 012E30 70012230 03E00008 */ jr $ra -/* 012E34 70012234 8C82002C */ lw $v0, 0x2c($a0) - -/* 012E38 70012238 00000000 */ nop -/* 012E3C 7001223C 00000000 */ nop -glabel alCSeqGetLoc -/* 012E40 70012240 8C8E0004 */ lw $t6, 4($a0) -/* 012E44 70012244 00803025 */ move $a2, $a0 -/* 012E48 70012248 00804025 */ move $t0, $a0 -/* 012E4C 7001224C ACAE0000 */ sw $t6, ($a1) -/* 012E50 70012250 8C8F000C */ lw $t7, 0xc($a0) -/* 012E54 70012254 00001025 */ move $v0, $zero -/* 012E58 70012258 00A01825 */ move $v1, $a1 -/* 012E5C 7001225C ACAF0004 */ sw $t7, 4($a1) -/* 012E60 70012260 8C980010 */ lw $t8, 0x10($a0) -/* 012E64 70012264 24040010 */ li $a0, 16 -/* 012E68 70012268 00A03825 */ move $a3, $a1 -/* 012E6C 7001226C ACB80008 */ sw $t8, 8($a1) -.L70012270: -/* 012E70 70012270 8CD90018 */ lw $t9, 0x18($a2) -/* 012E74 70012274 24420002 */ addiu $v0, $v0, 2 -/* 012E78 70012278 24630008 */ addiu $v1, $v1, 8 -/* 012E7C 7001227C AC790004 */ sw $t9, 4($v1) -/* 012E80 70012280 8CC90058 */ lw $t1, 0x58($a2) -/* 012E84 70012284 24C60008 */ addiu $a2, $a2, 8 -/* 012E88 70012288 24E70002 */ addiu $a3, $a3, 2 -/* 012E8C 7001228C AC690044 */ sw $t1, 0x44($v1) -/* 012E90 70012290 910A0098 */ lbu $t2, 0x98($t0) -/* 012E94 70012294 25080002 */ addiu $t0, $t0, 2 -/* 012E98 70012298 A0EA008A */ sb $t2, 0x8a($a3) -/* 012E9C 7001229C 910B00A6 */ lbu $t3, 0xa6($t0) -/* 012EA0 700122A0 A0EB009A */ sb $t3, 0x9a($a3) -/* 012EA4 700122A4 8CCC00B0 */ lw $t4, 0xb0($a2) -/* 012EA8 700122A8 AC6C00A4 */ sw $t4, 0xa4($v1) -/* 012EAC 700122AC 8CCD0014 */ lw $t5, 0x14($a2) -/* 012EB0 700122B0 AC6D0008 */ sw $t5, 8($v1) -/* 012EB4 700122B4 8CCE0054 */ lw $t6, 0x54($a2) -/* 012EB8 700122B8 AC6E0048 */ sw $t6, 0x48($v1) -/* 012EBC 700122BC 910F0097 */ lbu $t7, 0x97($t0) -/* 012EC0 700122C0 A0EF008B */ sb $t7, 0x8b($a3) -/* 012EC4 700122C4 911800A7 */ lbu $t8, 0xa7($t0) -/* 012EC8 700122C8 A0F8009B */ sb $t8, 0x9b($a3) -/* 012ECC 700122CC 8CD900B4 */ lw $t9, 0xb4($a2) -/* 012ED0 700122D0 1444FFE7 */ bne $v0, $a0, .L70012270 -/* 012ED4 700122D4 AC7900A8 */ sw $t9, 0xa8($v1) -/* 012ED8 700122D8 03E00008 */ jr $ra -/* 012EDC 700122DC 00000000 */ nop - -glabel alCSeqSetLoc -/* 012EE0 700122E0 8CAE0000 */ lw $t6, ($a1) -/* 012EE4 700122E4 00801825 */ move $v1, $a0 -/* 012EE8 700122E8 00803825 */ move $a3, $a0 -/* 012EEC 700122EC AC8E0004 */ sw $t6, 4($a0) -/* 012EF0 700122F0 8CAF0004 */ lw $t7, 4($a1) -/* 012EF4 700122F4 00001025 */ move $v0, $zero -/* 012EF8 700122F8 00A03025 */ move $a2, $a1 -/* 012EFC 700122FC AC8F000C */ sw $t7, 0xc($a0) -/* 012F00 70012300 8CB80008 */ lw $t8, 8($a1) -/* 012F04 70012304 00A04025 */ move $t0, $a1 -/* 012F08 70012308 AC980010 */ sw $t8, 0x10($a0) -/* 012F0C 7001230C 24040010 */ li $a0, 16 -.L70012310: -/* 012F10 70012310 8CD9000C */ lw $t9, 0xc($a2) -/* 012F14 70012314 24420002 */ addiu $v0, $v0, 2 -/* 012F18 70012318 24630008 */ addiu $v1, $v1, 8 -/* 012F1C 7001231C AC790010 */ sw $t9, 0x10($v1) -/* 012F20 70012320 8CC9004C */ lw $t1, 0x4c($a2) -/* 012F24 70012324 24C60008 */ addiu $a2, $a2, 8 -/* 012F28 70012328 24E70002 */ addiu $a3, $a3, 2 -/* 012F2C 7001232C AC690050 */ sw $t1, 0x50($v1) -/* 012F30 70012330 910A008C */ lbu $t2, 0x8c($t0) -/* 012F34 70012334 25080002 */ addiu $t0, $t0, 2 -/* 012F38 70012338 A0EA0096 */ sb $t2, 0x96($a3) -/* 012F3C 7001233C 910B009A */ lbu $t3, 0x9a($t0) -/* 012F40 70012340 A0EB00A6 */ sb $t3, 0xa6($a3) -/* 012F44 70012344 8CCC00A4 */ lw $t4, 0xa4($a2) -/* 012F48 70012348 AC6C00B0 */ sw $t4, 0xb0($v1) -/* 012F4C 7001234C 8CCD0008 */ lw $t5, 8($a2) -/* 012F50 70012350 AC6D0014 */ sw $t5, 0x14($v1) -/* 012F54 70012354 8CCE0048 */ lw $t6, 0x48($a2) -/* 012F58 70012358 AC6E0054 */ sw $t6, 0x54($v1) -/* 012F5C 7001235C 910F008B */ lbu $t7, 0x8b($t0) -/* 012F60 70012360 A0EF0097 */ sb $t7, 0x97($a3) -/* 012F64 70012364 9118009B */ lbu $t8, 0x9b($t0) -/* 012F68 70012368 A0F800A7 */ sb $t8, 0xa7($a3) -/* 012F6C 7001236C 8CD900A8 */ lw $t9, 0xa8($a2) -/* 012F70 70012370 1444FFE7 */ bne $v0, $a0, .L70012310 -/* 012F74 70012374 AC7900B4 */ sw $t9, 0xb4($v1) -/* 012F78 70012378 03E00008 */ jr $ra -/* 012F7C 7001237C 00000000 */ nop - -glabel ultra_70012380 -/* 012F80 70012380 00851021 */ addu $v0, $a0, $a1 -/* 012F84 70012384 904E0098 */ lbu $t6, 0x98($v0) -/* 012F88 70012388 00057880 */ sll $t7, $a1, 2 -/* 012F8C 7001238C 008F3021 */ addu $a2, $a0, $t7 -/* 012F90 70012390 51C0000D */ beql $t6, $zero, .L700123C8 -/* 012F94 70012394 8CC70018 */ lw $a3, 0x18($a2) -/* 012F98 70012398 00057880 */ sll $t7, $a1, 2 -/* 012F9C 7001239C 008F3021 */ addu $a2, $a0, $t7 -/* 012FA0 700123A0 8CC70058 */ lw $a3, 0x58($a2) -/* 012FA4 700123A4 90E30000 */ lbu $v1, ($a3) -/* 012FA8 700123A8 24F80001 */ addiu $t8, $a3, 1 -/* 012FAC 700123AC ACD80058 */ sw $t8, 0x58($a2) -/* 012FB0 700123B0 90590098 */ lbu $t9, 0x98($v0) -/* 012FB4 700123B4 272EFFFF */ addiu $t6, $t9, -1 -/* 012FB8 700123B8 A04E0098 */ sb $t6, 0x98($v0) -/* 012FBC 700123BC 03E00008 */ jr $ra -/* 012FC0 700123C0 00601025 */ move $v0, $v1 - -/* 012FC4 700123C4 8CC70018 */ lw $a3, 0x18($a2) -.L700123C8: -/* 012FC8 700123C8 240800FE */ li $t0, 254 -/* 012FCC 700123CC 90E30000 */ lbu $v1, ($a3) -/* 012FD0 700123D0 24F80001 */ addiu $t8, $a3, 1 -/* 012FD4 700123D4 ACD80018 */ sw $t8, 0x18($a2) -/* 012FD8 700123D8 15030018 */ bne $t0, $v1, .L7001243C -/* 012FDC 700123DC 00000000 */ nop -/* 012FE0 700123E0 93040000 */ lbu $a0, ($t8) -/* 012FE4 700123E4 27190001 */ addiu $t9, $t8, 1 -/* 012FE8 700123E8 ACD90018 */ sw $t9, 0x18($a2) -/* 012FEC 700123EC 11040013 */ beq $t0, $a0, .L7001243C -/* 012FF0 700123F0 272E0001 */ addiu $t6, $t9, 1 -/* 012FF4 700123F4 93230000 */ lbu $v1, ($t9) -/* 012FF8 700123F8 ACCE0018 */ sw $t6, 0x18($a2) -/* 012FFC 700123FC 91C50000 */ lbu $a1, ($t6) -/* 013000 70012400 25CF0001 */ addiu $t7, $t6, 1 -/* 013004 70012404 0004CA00 */ sll $t9, $a0, 8 -/* 013008 70012408 ACCF0018 */ sw $t7, 0x18($a2) -/* 01300C 7001240C 03237021 */ addu $t6, $t9, $v1 -/* 013010 70012410 01EE7823 */ subu $t7, $t7, $t6 -/* 013014 70012414 25F9FFFC */ addiu $t9, $t7, -4 -/* 013018 70012418 ACD90058 */ sw $t9, 0x58($a2) -/* 01301C 7001241C A0450098 */ sb $a1, 0x98($v0) -/* 013020 70012420 8CC70058 */ lw $a3, 0x58($a2) -/* 013024 70012424 90E30000 */ lbu $v1, ($a3) -/* 013028 70012428 24F80001 */ addiu $t8, $a3, 1 -/* 01302C 7001242C ACD80058 */ sw $t8, 0x58($a2) -/* 013030 70012430 904E0098 */ lbu $t6, 0x98($v0) -/* 013034 70012434 25CFFFFF */ addiu $t7, $t6, -1 -/* 013038 70012438 A04F0098 */ sb $t7, 0x98($v0) -.L7001243C: -/* 01303C 7001243C 03E00008 */ jr $ra -/* 013040 70012440 00601025 */ move $v0, $v1 - -glabel ultra_70012444 -/* 013044 70012444 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 013048 70012448 AFBF0014 */ sw $ra, 0x14($sp) -/* 01304C 7001244C 01402025 */ move $a0, $t2 -/* 013050 70012450 0C0048E0 */ jal ultra_70012380 -/* 013054 70012454 01602825 */ move $a1, $t3 -/* 013058 70012458 304E0080 */ andi $t6, $v0, 0x80 -/* 01305C 7001245C 11C0000A */ beqz $t6, .L70012488 -/* 013060 70012460 00404825 */ move $t1, $v0 -/* 013064 70012464 3049007F */ andi $t1, $v0, 0x7f -.L70012468: -/* 013068 70012468 01402025 */ move $a0, $t2 -/* 01306C 7001246C 0C0048E0 */ jal ultra_70012380 -/* 013070 70012470 01602825 */ move $a1, $t3 -/* 013074 70012474 000979C0 */ sll $t7, $t1, 7 -/* 013078 70012478 3058007F */ andi $t8, $v0, 0x7f -/* 01307C 7001247C 30590080 */ andi $t9, $v0, 0x80 -/* 013080 70012480 1720FFF9 */ bnez $t9, .L70012468 -/* 013084 70012484 01F84821 */ addu $t1, $t7, $t8 -.L70012488: -/* 013088 70012488 8FBF0014 */ lw $ra, 0x14($sp) -/* 01308C 7001248C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 013090 70012490 01201025 */ move $v0, $t1 -/* 013094 70012494 03E00008 */ jr $ra -/* 013098 70012498 00000000 */ nop - -/* 01309C 7001249C 03E00008 */ jr $ra -/* 0130A0 700124A0 00000000 */ nop - -glabel alCSeqNextEvent -/* 0130A4 700124A4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0130A8 700124A8 AFB00018 */ sw $s0, 0x18($sp) -/* 0130AC 700124AC 00A08025 */ move $s0, $a1 -/* 0130B0 700124B0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0130B4 700124B4 00806025 */ move $t4, $a0 -/* 0130B8 700124B8 2409FFFF */ li $t1, -1 -/* 0130BC 700124BC 8C860010 */ lw $a2, 0x10($a0) -/* 0130C0 700124C0 24050010 */ li $a1, 16 -/* 0130C4 700124C4 8FAB0024 */ lw $t3, 0x24($sp) -/* 0130C8 700124C8 00001025 */ move $v0, $zero -/* 0130CC 700124CC 8D8E0004 */ lw $t6, 4($t4) -.L700124D0: -/* 0130D0 700124D0 004E7806 */ srlv $t7, $t6, $v0 -/* 0130D4 700124D4 31F80001 */ andi $t8, $t7, 1 -/* 0130D8 700124D8 53000010 */ beql $t8, $zero, .L7001251C -/* 0130DC 700124DC 24420001 */ addiu $v0, $v0, 1 -/* 0130E0 700124E0 8D8E0014 */ lw $t6, 0x14($t4) -/* 0130E4 700124E4 0002C880 */ sll $t9, $v0, 2 -/* 0130E8 700124E8 01991821 */ addu $v1, $t4, $t9 -/* 0130EC 700124EC 51C00005 */ beql $t6, $zero, .L70012504 -/* 0130F0 700124F0 8C6400B8 */ lw $a0, 0xb8($v1) -/* 0130F4 700124F4 8C6F00B8 */ lw $t7, 0xb8($v1) -/* 0130F8 700124F8 01E6C023 */ subu $t8, $t7, $a2 -/* 0130FC 700124FC AC7800B8 */ sw $t8, 0xb8($v1) -/* 013100 70012500 8C6400B8 */ lw $a0, 0xb8($v1) -.L70012504: -/* 013104 70012504 0089082B */ sltu $at, $a0, $t1 -/* 013108 70012508 50200004 */ beql $at, $zero, .L7001251C -/* 01310C 7001250C 24420001 */ addiu $v0, $v0, 1 -/* 013110 70012510 00804825 */ move $t1, $a0 -/* 013114 70012514 00405825 */ move $t3, $v0 -/* 013118 70012518 24420001 */ addiu $v0, $v0, 1 -.L7001251C: -/* 01311C 7001251C 5445FFEC */ bnel $v0, $a1, .L700124D0 -/* 013120 70012520 8D8E0004 */ lw $t6, 4($t4) -/* 013124 70012524 01802025 */ move $a0, $t4 -/* 013128 70012528 0C0048E0 */ jal ultra_70012380 -/* 01312C 7001252C 01602825 */ move $a1, $t3 -/* 013130 70012530 240100FF */ li $at, 255 -/* 013134 70012534 304A00FF */ andi $t2, $v0, 0xff -/* 013138 70012538 1441005A */ bne $v0, $at, .L700126A4 -/* 01313C 7001253C 00401825 */ move $v1, $v0 -/* 013140 70012540 01802025 */ move $a0, $t4 -/* 013144 70012544 0C0048E0 */ jal ultra_70012380 -/* 013148 70012548 01602825 */ move $a1, $t3 -/* 01314C 7001254C 24010051 */ li $at, 81 -/* 013150 70012550 304600FF */ andi $a2, $v0, 0xff -/* 013154 70012554 14410014 */ bne $v0, $at, .L700125A8 -/* 013158 70012558 00401825 */ move $v1, $v0 -/* 01315C 7001255C 24190003 */ li $t9, 3 -/* 013160 70012560 A6190000 */ sh $t9, ($s0) -/* 013164 70012564 A20A0008 */ sb $t2, 8($s0) -/* 013168 70012568 A2060009 */ sb $a2, 9($s0) -/* 01316C 7001256C 01802025 */ move $a0, $t4 -/* 013170 70012570 0C0048E0 */ jal ultra_70012380 -/* 013174 70012574 01602825 */ move $a1, $t3 -/* 013178 70012578 A202000B */ sb $v0, 0xb($s0) -/* 01317C 7001257C 01802025 */ move $a0, $t4 -/* 013180 70012580 0C0048E0 */ jal ultra_70012380 -/* 013184 70012584 01602825 */ move $a1, $t3 -/* 013188 70012588 A202000C */ sb $v0, 0xc($s0) -/* 01318C 7001258C 01802025 */ move $a0, $t4 -/* 013190 70012590 0C0048E0 */ jal ultra_70012380 -/* 013194 70012594 01602825 */ move $a1, $t3 -/* 013198 70012598 A202000D */ sb $v0, 0xd($s0) -/* 01319C 7001259C 018B7021 */ addu $t6, $t4, $t3 -/* 0131A0 700125A0 10000067 */ b .L70012740 -/* 0131A4 700125A4 A1C000A8 */ sb $zero, 0xa8($t6) -.L700125A8: -/* 0131A8 700125A8 2401002F */ li $at, 47 -/* 0131AC 700125AC 5461000E */ bnel $v1, $at, .L700125E8 -/* 0131B0 700125B0 2401002E */ li $at, 46 -/* 0131B4 700125B4 8D8F0004 */ lw $t7, 4($t4) -/* 0131B8 700125B8 24180001 */ li $t8, 1 -/* 0131BC 700125BC 0178C804 */ sllv $t9, $t8, $t3 -/* 0131C0 700125C0 01F97026 */ xor $t6, $t7, $t9 -/* 0131C4 700125C4 11C00004 */ beqz $t6, .L700125D8 -/* 0131C8 700125C8 AD8E0004 */ sw $t6, 4($t4) -/* 0131CC 700125CC 240F0012 */ li $t7, 18 -/* 0131D0 700125D0 1000005B */ b .L70012740 -/* 0131D4 700125D4 A60F0000 */ sh $t7, ($s0) -.L700125D8: -/* 0131D8 700125D8 24190004 */ li $t9, 4 -/* 0131DC 700125DC 10000058 */ b .L70012740 -/* 0131E0 700125E0 A6190000 */ sh $t9, ($s0) -/* 0131E4 700125E4 2401002E */ li $at, 46 -.L700125E8: -/* 0131E8 700125E8 1461000B */ bne $v1, $at, .L70012618 -/* 0131EC 700125EC 01802025 */ move $a0, $t4 -/* 0131F0 700125F0 0C0048E0 */ jal ultra_70012380 -/* 0131F4 700125F4 01602825 */ move $a1, $t3 -/* 0131F8 700125F8 01802025 */ move $a0, $t4 -/* 0131FC 700125FC 0C0048E0 */ jal ultra_70012380 -/* 013200 70012600 01602825 */ move $a1, $t3 -/* 013204 70012604 018B7021 */ addu $t6, $t4, $t3 -/* 013208 70012608 A1C000A8 */ sb $zero, 0xa8($t6) -/* 01320C 7001260C 24180013 */ li $t8, 19 -/* 013210 70012610 1000004B */ b .L70012740 -/* 013214 70012614 A6180000 */ sh $t8, ($s0) -.L70012618: -/* 013218 70012618 2401002D */ li $at, 45 -/* 01321C 7001261C 14610048 */ bne $v1, $at, .L70012740 -/* 013220 70012620 000B7880 */ sll $t7, $t3, 2 -/* 013224 70012624 018F6821 */ addu $t5, $t4, $t7 -/* 013228 70012628 8DA20018 */ lw $v0, 0x18($t5) -/* 01322C 7001262C 240100FF */ li $at, 255 -/* 013230 70012630 90440001 */ lbu $a0, 1($v0) -/* 013234 70012634 24420001 */ addiu $v0, $v0, 1 -/* 013238 70012638 24590005 */ addiu $t9, $v0, 5 -/* 01323C 7001263C 14800004 */ bnez $a0, .L70012650 -/* 013240 70012640 9045FFFF */ lbu $a1, -1($v0) -/* 013244 70012644 A0450000 */ sb $a1, ($v0) -/* 013248 70012648 10000011 */ b .L70012690 -/* 01324C 7001264C ADB90018 */ sw $t9, 0x18($t5) -.L70012650: -/* 013250 70012650 10810002 */ beq $a0, $at, .L7001265C -/* 013254 70012654 248EFFFF */ addiu $t6, $a0, -1 -/* 013258 70012658 A04E0000 */ sb $t6, ($v0) -.L7001265C: -/* 01325C 7001265C 904F0002 */ lbu $t7, 2($v0) -/* 013260 70012660 90430001 */ lbu $v1, 1($v0) -/* 013264 70012664 904E0003 */ lbu $t6, 3($v0) -/* 013268 70012668 000FCC00 */ sll $t9, $t7, 0x10 -/* 01326C 7001266C 0003C600 */ sll $t8, $v1, 0x18 -/* 013270 70012670 904F0004 */ lbu $t7, 4($v0) -/* 013274 70012674 03191821 */ addu $v1, $t8, $t9 -/* 013278 70012678 000EC200 */ sll $t8, $t6, 8 -/* 01327C 7001267C 00781821 */ addu $v1, $v1, $t8 -/* 013280 70012680 24420005 */ addiu $v0, $v0, 5 -/* 013284 70012684 006F1821 */ addu $v1, $v1, $t7 -/* 013288 70012688 0043C823 */ subu $t9, $v0, $v1 -/* 01328C 7001268C ADB90018 */ sw $t9, 0x18($t5) -.L70012690: -/* 013290 70012690 018B7021 */ addu $t6, $t4, $t3 -/* 013294 70012694 A1C000A8 */ sb $zero, 0xa8($t6) -/* 013298 70012698 24180014 */ li $t8, 20 -/* 01329C 7001269C 10000028 */ b .L70012740 -/* 0132A0 700126A0 A6180000 */ sh $t8, ($s0) -.L700126A4: -/* 0132A4 700126A4 240F0001 */ li $t7, 1 -/* 0132A8 700126A8 30790080 */ andi $t9, $v1, 0x80 -/* 0132AC 700126AC 13200009 */ beqz $t9, .L700126D4 -/* 0132B0 700126B0 A60F0000 */ sh $t7, ($s0) -/* 0132B4 700126B4 A20A0008 */ sb $t2, 8($s0) -/* 0132B8 700126B8 01802025 */ move $a0, $t4 -/* 0132BC 700126BC 0C0048E0 */ jal ultra_70012380 -/* 0132C0 700126C0 01602825 */ move $a1, $t3 -/* 0132C4 700126C4 A2020009 */ sb $v0, 9($s0) -/* 0132C8 700126C8 018B7021 */ addu $t6, $t4, $t3 -/* 0132CC 700126CC 10000005 */ b .L700126E4 -/* 0132D0 700126D0 A1CA00A8 */ sb $t2, 0xa8($t6) -.L700126D4: -/* 0132D4 700126D4 018BC021 */ addu $t8, $t4, $t3 -/* 0132D8 700126D8 930F00A8 */ lbu $t7, 0xa8($t8) -/* 0132DC 700126DC A2020009 */ sb $v0, 9($s0) -/* 0132E0 700126E0 A20F0008 */ sb $t7, 8($s0) -.L700126E4: -/* 0132E4 700126E4 92020008 */ lbu $v0, 8($s0) -/* 0132E8 700126E8 240100C0 */ li $at, 192 -/* 0132EC 700126EC 305900F0 */ andi $t9, $v0, 0xf0 -/* 0132F0 700126F0 13210012 */ beq $t9, $at, .L7001273C -/* 0132F4 700126F4 240100D0 */ li $at, 208 -/* 0132F8 700126F8 13210010 */ beq $t9, $at, .L7001273C -/* 0132FC 700126FC 01802025 */ move $a0, $t4 -/* 013300 70012700 0C0048E0 */ jal ultra_70012380 -/* 013304 70012704 01602825 */ move $a1, $t3 -/* 013308 70012708 920E0008 */ lbu $t6, 8($s0) -/* 01330C 7001270C 24010090 */ li $at, 144 -/* 013310 70012710 A202000A */ sb $v0, 0xa($s0) -/* 013314 70012714 31D800F0 */ andi $t8, $t6, 0xf0 -/* 013318 70012718 17010009 */ bne $t8, $at, .L70012740 -/* 01331C 7001271C 01805025 */ move $t2, $t4 -/* 013320 70012720 AFA90028 */ sw $t1, 0x28($sp) -/* 013324 70012724 0C004911 */ jal ultra_70012444 -/* 013328 70012728 AFAB0024 */ sw $t3, 0x24($sp) -/* 01332C 7001272C 8FA90028 */ lw $t1, 0x28($sp) -/* 013330 70012730 8FAB0024 */ lw $t3, 0x24($sp) -/* 013334 70012734 10000002 */ b .L70012740 -/* 013338 70012738 AE02000C */ sw $v0, 0xc($s0) -.L7001273C: -/* 01333C 7001273C A200000A */ sb $zero, 0xa($s0) -.L70012740: -/* 013340 70012740 AE090004 */ sw $t1, 4($s0) -/* 013344 70012744 8D8F000C */ lw $t7, 0xc($t4) -/* 013348 70012748 AD890010 */ sw $t1, 0x10($t4) -/* 01334C 7001274C 24010012 */ li $at, 18 -/* 013350 70012750 01E9C821 */ addu $t9, $t7, $t1 -/* 013354 70012754 AD99000C */ sw $t9, 0xc($t4) -/* 013358 70012758 860E0000 */ lh $t6, ($s0) -/* 01335C 7001275C 01805025 */ move $t2, $t4 -/* 013360 70012760 000BC080 */ sll $t8, $t3, 2 -/* 013364 70012764 51C10007 */ beql $t6, $at, .L70012784 -/* 013368 70012768 240E0001 */ li $t6, 1 -/* 01336C 7001276C 0C004911 */ jal ultra_70012444 -/* 013370 70012770 01986821 */ addu $t5, $t4, $t8 -/* 013374 70012774 8DAF00B8 */ lw $t7, 0xb8($t5) -/* 013378 70012778 01E2C821 */ addu $t9, $t7, $v0 -/* 01337C 7001277C ADB900B8 */ sw $t9, 0xb8($t5) -/* 013380 70012780 240E0001 */ li $t6, 1 -.L70012784: -/* 013384 70012784 AD8E0014 */ sw $t6, 0x14($t4) -/* 013388 70012788 8FBF001C */ lw $ra, 0x1c($sp) -/* 01338C 7001278C 8FB00018 */ lw $s0, 0x18($sp) -/* 013390 70012790 27BD0030 */ addiu $sp, $sp, 0x30 -/* 013394 70012794 03E00008 */ jr $ra -/* 013398 70012798 00000000 */ nop - -glabel alCSeqNew -/* 01339C 7001279C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0133A0 700127A0 AFB40028 */ sw $s4, 0x28($sp) -/* 0133A4 700127A4 AFB30024 */ sw $s3, 0x24($sp) -/* 0133A8 700127A8 AFB20020 */ sw $s2, 0x20($sp) -/* 0133AC 700127AC AFB1001C */ sw $s1, 0x1c($sp) -/* 0133B0 700127B0 AFB00018 */ sw $s0, 0x18($sp) -/* 0133B4 700127B4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0133B8 700127B8 240E0001 */ li $t6, 1 -/* 0133BC 700127BC 00808025 */ move $s0, $a0 -/* 0133C0 700127C0 00A0A025 */ move $s4, $a1 -/* 0133C4 700127C4 AC850000 */ sw $a1, ($a0) -/* 0133C8 700127C8 AC800004 */ sw $zero, 4($a0) -/* 0133CC 700127CC AC800010 */ sw $zero, 0x10($a0) -/* 0133D0 700127D0 AC80000C */ sw $zero, 0xc($a0) -/* 0133D4 700127D4 AC8E0014 */ sw $t6, 0x14($a0) -/* 0133D8 700127D8 00808825 */ move $s1, $a0 -/* 0133DC 700127DC 00009025 */ move $s2, $zero -/* 0133E0 700127E0 24130010 */ li $s3, 16 -/* 0133E4 700127E4 00006825 */ move $t5, $zero -/* 0133E8 700127E8 00806025 */ move $t4, $a0 -.L700127EC: -/* 0133EC 700127EC A22000A8 */ sb $zero, 0xa8($s1) -/* 0133F0 700127F0 AD800058 */ sw $zero, 0x58($t4) -/* 0133F4 700127F4 A2200098 */ sb $zero, 0x98($s1) -/* 0133F8 700127F8 8E0F0000 */ lw $t7, ($s0) -/* 0133FC 700127FC 240E0001 */ li $t6, 1 -/* 013400 70012800 01F2C021 */ addu $t8, $t7, $s2 -/* 013404 70012804 8F020000 */ lw $v0, ($t8) -/* 013408 70012808 01AE7804 */ sllv $t7, $t6, $t5 -/* 01340C 7001280C 1040000A */ beqz $v0, .L70012838 -/* 013410 70012810 02827021 */ addu $t6, $s4, $v0 -/* 013414 70012814 8E190004 */ lw $t9, 4($s0) -/* 013418 70012818 02005025 */ move $t2, $s0 -/* 01341C 7001281C 01A05825 */ move $t3, $t5 -/* 013420 70012820 032FC025 */ or $t8, $t9, $t7 -/* 013424 70012824 AE180004 */ sw $t8, 4($s0) -/* 013428 70012828 0C004911 */ jal ultra_70012444 -/* 01342C 7001282C AD8E0018 */ sw $t6, 0x18($t4) -/* 013430 70012830 10000002 */ b .L7001283C -/* 013434 70012834 AD8200B8 */ sw $v0, 0xb8($t4) -.L70012838: -/* 013438 70012838 AD800018 */ sw $zero, 0x18($t4) -.L7001283C: -/* 01343C 7001283C 25AD0001 */ addiu $t5, $t5, 1 -/* 013440 70012840 26310001 */ addiu $s1, $s1, 1 -/* 013444 70012844 26520004 */ addiu $s2, $s2, 4 -/* 013448 70012848 15B3FFE8 */ bne $t5, $s3, .L700127EC -/* 01344C 7001284C 258C0004 */ addiu $t4, $t4, 4 -/* 013450 70012850 8E190000 */ lw $t9, ($s0) -/* 013454 70012854 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 013458 70012858 44812800 */ mtc1 $at, $f5 -/* 01345C 7001285C 8F2F0040 */ lw $t7, 0x40($t9) -/* 013460 70012860 44802000 */ mtc1 $zero, $f4 -/* 013464 70012864 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 013468 70012868 448F3000 */ mtc1 $t7, $f6 -/* 01346C 7001286C 05E10004 */ bgez $t7, .L70012880 -/* 013470 70012870 46803220 */ cvt.s.w $f8, $f6 -/* 013474 70012874 44815000 */ mtc1 $at, $f10 -/* 013478 70012878 00000000 */ nop -/* 01347C 7001287C 460A4200 */ add.s $f8, $f8, $f10 -.L70012880: -/* 013480 70012880 460041A1 */ cvt.d.s $f6, $f8 -/* 013484 70012884 46262283 */ div.d $f10, $f4, $f6 -/* 013488 70012888 46205220 */ cvt.s.d $f8, $f10 -/* 01348C 7001288C E6080008 */ swc1 $f8, 8($s0) -/* 013490 70012890 8FBF002C */ lw $ra, 0x2c($sp) -/* 013494 70012894 8FB40028 */ lw $s4, 0x28($sp) -/* 013498 70012898 8FB30024 */ lw $s3, 0x24($sp) -/* 01349C 7001289C 8FB20020 */ lw $s2, 0x20($sp) -/* 0134A0 700128A0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0134A4 700128A4 8FB00018 */ lw $s0, 0x18($sp) -/* 0134A8 700128A8 03E00008 */ jr $ra -/* 0134AC 700128AC 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel alCSeqNewMarker -/* 0134B0 700128B0 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 0134B4 700128B4 AFB30020 */ sw $s3, 0x20($sp) -/* 0134B8 700128B8 AFB10018 */ sw $s1, 0x18($sp) -/* 0134BC 700128BC 00A08825 */ move $s1, $a1 -/* 0134C0 700128C0 27B30048 */ addiu $s3, $sp, 0x48 -/* 0134C4 700128C4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0134C8 700128C8 AFB50028 */ sw $s5, 0x28($sp) -/* 0134CC 700128CC AFB40024 */ sw $s4, 0x24($sp) -/* 0134D0 700128D0 AFB2001C */ sw $s2, 0x1c($sp) -/* 0134D4 700128D4 AFB00014 */ sw $s0, 0x14($sp) -/* 0134D8 700128D8 00803825 */ move $a3, $a0 -/* 0134DC 700128DC 00C09025 */ move $s2, $a2 -/* 0134E0 700128E0 8CE50000 */ lw $a1, ($a3) -/* 0134E4 700128E4 0C0049E7 */ jal alCSeqNew -/* 0134E8 700128E8 02602025 */ move $a0, $s3 -/* 0134EC 700128EC 24150004 */ li $s5, 4 -/* 0134F0 700128F0 27B40140 */ addiu $s4, $sp, 0x140 -/* 0134F4 700128F4 27B00058 */ addiu $s0, $sp, 0x58 -/* 0134F8 700128F8 8FAE004C */ lw $t6, 0x4c($sp) -.L700128FC: -/* 0134FC 700128FC 27A40048 */ addiu $a0, $sp, 0x48 -/* 013500 70012900 00801825 */ move $v1, $a0 -/* 013504 70012904 AE2E0000 */ sw $t6, ($s1) -/* 013508 70012908 8FAF0054 */ lw $t7, 0x54($sp) -/* 01350C 7001290C 02201025 */ move $v0, $s1 -/* 013510 70012910 02202825 */ move $a1, $s1 -/* 013514 70012914 AE2F0004 */ sw $t7, 4($s1) -/* 013518 70012918 8FB80058 */ lw $t8, 0x58($sp) -/* 01351C 7001291C AE380008 */ sw $t8, 8($s1) -.L70012920: -/* 013520 70012920 8C680018 */ lw $t0, 0x18($v1) -/* 013524 70012924 24840004 */ addiu $a0, $a0, 4 -/* 013528 70012928 24420010 */ addiu $v0, $v0, 0x10 -/* 01352C 7001292C AC48FFFC */ sw $t0, -4($v0) -/* 013530 70012930 8C690058 */ lw $t1, 0x58($v1) -/* 013534 70012934 24630010 */ addiu $v1, $v1, 0x10 -/* 013538 70012938 24A50004 */ addiu $a1, $a1, 4 -/* 01353C 7001293C AC49003C */ sw $t1, 0x3c($v0) -/* 013540 70012940 908A0094 */ lbu $t2, 0x94($a0) -/* 013544 70012944 A0AA0088 */ sb $t2, 0x88($a1) -/* 013548 70012948 908B00A4 */ lbu $t3, 0xa4($a0) -/* 01354C 7001294C A0AB0098 */ sb $t3, 0x98($a1) -/* 013550 70012950 8C6C00A8 */ lw $t4, 0xa8($v1) -/* 013554 70012954 AC4C009C */ sw $t4, 0x9c($v0) -/* 013558 70012958 8C6D000C */ lw $t5, 0xc($v1) -/* 01355C 7001295C AC4D0000 */ sw $t5, ($v0) -/* 013560 70012960 8C6E004C */ lw $t6, 0x4c($v1) -/* 013564 70012964 AC4E0040 */ sw $t6, 0x40($v0) -/* 013568 70012968 908F0095 */ lbu $t7, 0x95($a0) -/* 01356C 7001296C A0AF0089 */ sb $t7, 0x89($a1) -/* 013570 70012970 909800A5 */ lbu $t8, 0xa5($a0) -/* 013574 70012974 A0B80099 */ sb $t8, 0x99($a1) -/* 013578 70012978 8C7900AC */ lw $t9, 0xac($v1) -/* 01357C 7001297C AC5900A0 */ sw $t9, 0xa0($v0) -/* 013580 70012980 8C680010 */ lw $t0, 0x10($v1) -/* 013584 70012984 AC480004 */ sw $t0, 4($v0) -/* 013588 70012988 8C690050 */ lw $t1, 0x50($v1) -/* 01358C 7001298C AC490044 */ sw $t1, 0x44($v0) -/* 013590 70012990 908A0096 */ lbu $t2, 0x96($a0) -/* 013594 70012994 A0AA008A */ sb $t2, 0x8a($a1) -/* 013598 70012998 908B00A6 */ lbu $t3, 0xa6($a0) -/* 01359C 7001299C A0AB009A */ sb $t3, 0x9a($a1) -/* 0135A0 700129A0 8C6C00B0 */ lw $t4, 0xb0($v1) -/* 0135A4 700129A4 AC4C00A4 */ sw $t4, 0xa4($v0) -/* 0135A8 700129A8 8C6D0014 */ lw $t5, 0x14($v1) -/* 0135AC 700129AC AC4D0008 */ sw $t5, 8($v0) -/* 0135B0 700129B0 8C6E0054 */ lw $t6, 0x54($v1) -/* 0135B4 700129B4 AC4E0048 */ sw $t6, 0x48($v0) -/* 0135B8 700129B8 908F0097 */ lbu $t7, 0x97($a0) -/* 0135BC 700129BC A0AF008B */ sb $t7, 0x8b($a1) -/* 0135C0 700129C0 909800A7 */ lbu $t8, 0xa7($a0) -/* 0135C4 700129C4 A0B8009B */ sb $t8, 0x9b($a1) -/* 0135C8 700129C8 8C7900B4 */ lw $t9, 0xb4($v1) -/* 0135CC 700129CC 1490FFD4 */ bne $a0, $s0, .L70012920 -/* 0135D0 700129D0 AC5900A8 */ sw $t9, 0xa8($v0) -/* 0135D4 700129D4 02602025 */ move $a0, $s3 -/* 0135D8 700129D8 0C004929 */ jal alCSeqNextEvent -/* 0135DC 700129DC 02802825 */ move $a1, $s4 -/* 0135E0 700129E0 87A80140 */ lh $t0, 0x140($sp) -/* 0135E4 700129E4 8FA90054 */ lw $t1, 0x54($sp) -/* 0135E8 700129E8 11150003 */ beq $t0, $s5, .L700129F8 -/* 0135EC 700129EC 0132082B */ sltu $at, $t1, $s2 -/* 0135F0 700129F0 5420FFC2 */ bnezl $at, .L700128FC -/* 0135F4 700129F4 8FAE004C */ lw $t6, 0x4c($sp) -.L700129F8: -/* 0135F8 700129F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0135FC 700129FC 8FB00014 */ lw $s0, 0x14($sp) -/* 013600 70012A00 8FB10018 */ lw $s1, 0x18($sp) -/* 013604 70012A04 8FB2001C */ lw $s2, 0x1c($sp) -/* 013608 70012A08 8FB30020 */ lw $s3, 0x20($sp) -/* 01360C 70012A0C 8FB40024 */ lw $s4, 0x24($sp) -/* 013610 70012A10 8FB50028 */ lw $s5, 0x28($sp) -/* 013614 70012A14 03E00008 */ jr $ra -/* 013618 70012A18 27BD0150 */ addiu $sp, $sp, 0x150 - -glabel alCSeqGetTicks -/* 01361C 70012A1C 03E00008 */ jr $ra -/* 013620 70012A20 8C82000C */ lw $v0, 0xc($a0) - -glabel alCSeqSecToTicks -/* 013624 70012A24 8C8E0000 */ lw $t6, ($a0) -/* 013628 70012A28 44856000 */ mtc1 $a1, $f12 -/* 01362C 70012A2C 3C018003 */ lui $at, %hi(F64_800296D0) -/* 013630 70012A30 8DCF0040 */ lw $t7, 0x40($t6) -/* 013634 70012A34 D42696D0 */ ldc1 $f6, %lo(F64_800296D0)($at) -/* 013638 70012A38 46006121 */ cvt.d.s $f4, $f12 -/* 01363C 70012A3C 448F5000 */ mtc1 $t7, $f10 -/* 013640 70012A40 46262202 */ mul.d $f8, $f4, $f6 -/* 013644 70012A44 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 013648 70012A48 05E10005 */ bgez $t7, .L70012A60 -/* 01364C 70012A4C 46805421 */ cvt.d.w $f16, $f10 -/* 013650 70012A50 44819800 */ mtc1 $at, $f19 -/* 013654 70012A54 44809000 */ mtc1 $zero, $f18 -/* 013658 70012A58 00000000 */ nop -/* 01365C 70012A5C 46328400 */ add.d $f16, $f16, $f18 -.L70012A60: -/* 013660 70012A60 44863000 */ mtc1 $a2, $f6 -/* 013664 70012A64 46304102 */ mul.d $f4, $f8, $f16 -/* 013668 70012A68 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 01366C 70012A6C 04C10005 */ bgez $a2, .L70012A84 -/* 013670 70012A70 468032A1 */ cvt.d.w $f10, $f6 -/* 013674 70012A74 44819800 */ mtc1 $at, $f19 -/* 013678 70012A78 44809000 */ mtc1 $zero, $f18 -/* 01367C 70012A7C 00000000 */ nop -/* 013680 70012A80 46325280 */ add.d $f10, $f10, $f18 -.L70012A84: -/* 013684 70012A84 462A2203 */ div.d $f8, $f4, $f10 -/* 013688 70012A88 24020001 */ li $v0, 1 -/* 01368C 70012A8C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 013690 70012A90 4458F800 */ cfc1 $t8, $31 -/* 013694 70012A94 44C2F800 */ ctc1 $v0, $31 -/* 013698 70012A98 00000000 */ nop -/* 01369C 70012A9C 46204424 */ cvt.w.d $f16, $f8 -/* 0136A0 70012AA0 4442F800 */ cfc1 $v0, $31 -/* 0136A4 70012AA4 00000000 */ nop -/* 0136A8 70012AA8 30420078 */ andi $v0, $v0, 0x78 -/* 0136AC 70012AAC 50400016 */ beql $v0, $zero, .L70012B08 -/* 0136B0 70012AB0 44028000 */ mfc1 $v0, $f16 -/* 0136B4 70012AB4 44818800 */ mtc1 $at, $f17 -/* 0136B8 70012AB8 44808000 */ mtc1 $zero, $f16 -/* 0136BC 70012ABC 24020001 */ li $v0, 1 -/* 0136C0 70012AC0 3C018000 */ lui $at, 0x8000 -/* 0136C4 70012AC4 46304401 */ sub.d $f16, $f8, $f16 -/* 0136C8 70012AC8 44C2F800 */ ctc1 $v0, $31 -/* 0136CC 70012ACC 00000000 */ nop -/* 0136D0 70012AD0 46208424 */ cvt.w.d $f16, $f16 -/* 0136D4 70012AD4 4442F800 */ cfc1 $v0, $31 -/* 0136D8 70012AD8 00000000 */ nop -/* 0136DC 70012ADC 30420078 */ andi $v0, $v0, 0x78 -/* 0136E0 70012AE0 54400006 */ bnezl $v0, .L70012AFC -/* 0136E4 70012AE4 44D8F800 */ ctc1 $t8, $31 -/* 0136E8 70012AE8 44028000 */ mfc1 $v0, $f16 -/* 0136EC 70012AEC 44D8F800 */ ctc1 $t8, $31 -/* 0136F0 70012AF0 03E00008 */ jr $ra -/* 0136F4 70012AF4 00411025 */ or $v0, $v0, $at - -/* 0136F8 70012AF8 44D8F800 */ ctc1 $t8, $31 -.L70012AFC: -/* 0136FC 70012AFC 03E00008 */ jr $ra -/* 013700 70012B00 2402FFFF */ li $v0, -1 - -/* 013704 70012B04 44028000 */ mfc1 $v0, $f16 -.L70012B08: -/* 013708 70012B08 00000000 */ nop -/* 01370C 70012B0C 0442FFFB */ bltzl $v0, .L70012AFC -/* 013710 70012B10 44D8F800 */ ctc1 $t8, $31 -/* 013714 70012B14 44D8F800 */ ctc1 $t8, $31 -/* 013718 70012B18 03E00008 */ jr $ra -/* 01371C 70012B1C 00000000 */ nop - -glabel alCSeqTicksToSec -/* 013720 70012B20 44852000 */ mtc1 $a1, $f4 -/* 013724 70012B24 44864000 */ mtc1 $a2, $f8 -/* 013728 70012B28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 01372C 70012B2C 468021A0 */ cvt.s.w $f6, $f4 -/* 013730 70012B30 04C10004 */ bgez $a2, .L70012B44 -/* 013734 70012B34 468042A0 */ cvt.s.w $f10, $f8 -/* 013738 70012B38 44818000 */ mtc1 $at, $f16 -/* 01373C 70012B3C 00000000 */ nop -/* 013740 70012B40 46105280 */ add.s $f10, $f10, $f16 -.L70012B44: -/* 013744 70012B44 8C8E0000 */ lw $t6, ($a0) -/* 013748 70012B48 460A3482 */ mul.s $f18, $f6, $f10 -/* 01374C 70012B4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 013750 70012B50 8DCF0040 */ lw $t7, 0x40($t6) -/* 013754 70012B54 448F4000 */ mtc1 $t7, $f8 -/* 013758 70012B58 46009121 */ cvt.d.s $f4, $f18 -/* 01375C 70012B5C 05E10004 */ bgez $t7, .L70012B70 -/* 013760 70012B60 46804420 */ cvt.s.w $f16, $f8 -/* 013764 70012B64 44813000 */ mtc1 $at, $f6 -/* 013768 70012B68 00000000 */ nop -/* 01376C 70012B6C 46068400 */ add.s $f16, $f16, $f6 -.L70012B70: -/* 013770 70012B70 3C018003 */ lui $at, %hi(F64_800296D8) -/* 013774 70012B74 D43296D8 */ ldc1 $f18, %lo(F64_800296D8)($at) -/* 013778 70012B78 460082A1 */ cvt.d.s $f10, $f16 -/* 01377C 70012B7C 46325202 */ mul.d $f8, $f10, $f18 -/* 013780 70012B80 46282183 */ div.d $f6, $f4, $f8 -/* 013784 70012B84 03E00008 */ jr $ra -/* 013788 70012B88 46203020 */ cvt.s.d $f0, $f6 - -glabel __alCSeqNextDelta -/* 01378C 70012B8C 8C8E0004 */ lw $t6, 4($a0) -/* 013790 70012B90 00A04825 */ move $t1, $a1 -/* 013794 70012B94 2403FFFF */ li $v1, -1 -/* 013798 70012B98 15C00003 */ bnez $t6, .L70012BA8 -/* 01379C 70012B9C 8C820010 */ lw $v0, 0x10($a0) -/* 0137A0 70012BA0 03E00008 */ jr $ra -/* 0137A4 70012BA4 00001025 */ move $v0, $zero - -.L70012BA8: -/* 0137A8 70012BA8 00003025 */ move $a2, $zero -/* 0137AC 70012BAC 240A0010 */ li $t2, 16 -/* 0137B0 70012BB0 8C850004 */ lw $a1, 4($a0) -.L70012BB4: -/* 0137B4 70012BB4 24CE0001 */ addiu $t6, $a2, 1 -/* 0137B8 70012BB8 00C57806 */ srlv $t7, $a1, $a2 -/* 0137BC 70012BBC 31F80001 */ andi $t8, $t7, 1 -/* 0137C0 70012BC0 53000010 */ beql $t8, $zero, .L70012C04 -/* 0137C4 70012BC4 01C57806 */ srlv $t7, $a1, $t6 -/* 0137C8 70012BC8 8C8B0014 */ lw $t3, 0x14($a0) -/* 0137CC 70012BCC 0006C880 */ sll $t9, $a2, 2 -/* 0137D0 70012BD0 00993821 */ addu $a3, $a0, $t9 -/* 0137D4 70012BD4 51600006 */ beql $t3, $zero, .L70012BF0 -/* 0137D8 70012BD8 8CE800B8 */ lw $t0, 0xb8($a3) -/* 0137DC 70012BDC 8CEC00B8 */ lw $t4, 0xb8($a3) -/* 0137E0 70012BE0 01826823 */ subu $t5, $t4, $v0 -/* 0137E4 70012BE4 ACED00B8 */ sw $t5, 0xb8($a3) -/* 0137E8 70012BE8 8C850004 */ lw $a1, 4($a0) -/* 0137EC 70012BEC 8CE800B8 */ lw $t0, 0xb8($a3) -.L70012BF0: -/* 0137F0 70012BF0 0103082B */ sltu $at, $t0, $v1 -/* 0137F4 70012BF4 50200003 */ beql $at, $zero, .L70012C04 -/* 0137F8 70012BF8 01C57806 */ srlv $t7, $a1, $t6 -/* 0137FC 70012BFC 01001825 */ move $v1, $t0 -/* 013800 70012C00 01C57806 */ srlv $t7, $a1, $t6 -.L70012C04: -/* 013804 70012C04 31F80001 */ andi $t8, $t7, 1 -/* 013808 70012C08 1300000F */ beqz $t8, .L70012C48 -/* 01380C 70012C0C 24CE0002 */ addiu $t6, $a2, 2 -/* 013810 70012C10 8C8B0014 */ lw $t3, 0x14($a0) -/* 013814 70012C14 0006C880 */ sll $t9, $a2, 2 -/* 013818 70012C18 00993821 */ addu $a3, $a0, $t9 -/* 01381C 70012C1C 51600006 */ beql $t3, $zero, .L70012C38 -/* 013820 70012C20 8CE800BC */ lw $t0, 0xbc($a3) -/* 013824 70012C24 8CEC00BC */ lw $t4, 0xbc($a3) -/* 013828 70012C28 01826823 */ subu $t5, $t4, $v0 -/* 01382C 70012C2C ACED00BC */ sw $t5, 0xbc($a3) -/* 013830 70012C30 8C850004 */ lw $a1, 4($a0) -/* 013834 70012C34 8CE800BC */ lw $t0, 0xbc($a3) -.L70012C38: -/* 013838 70012C38 0103082B */ sltu $at, $t0, $v1 -/* 01383C 70012C3C 50200003 */ beql $at, $zero, .L70012C4C -/* 013840 70012C40 01C57806 */ srlv $t7, $a1, $t6 -/* 013844 70012C44 01001825 */ move $v1, $t0 -.L70012C48: -/* 013848 70012C48 01C57806 */ srlv $t7, $a1, $t6 -.L70012C4C: -/* 01384C 70012C4C 31F80001 */ andi $t8, $t7, 1 -/* 013850 70012C50 1300000F */ beqz $t8, .L70012C90 -/* 013854 70012C54 24CE0003 */ addiu $t6, $a2, 3 -/* 013858 70012C58 8C8B0014 */ lw $t3, 0x14($a0) -/* 01385C 70012C5C 0006C880 */ sll $t9, $a2, 2 -/* 013860 70012C60 00993821 */ addu $a3, $a0, $t9 -/* 013864 70012C64 51600006 */ beql $t3, $zero, .L70012C80 -/* 013868 70012C68 8CE800C0 */ lw $t0, 0xc0($a3) -/* 01386C 70012C6C 8CEC00C0 */ lw $t4, 0xc0($a3) -/* 013870 70012C70 01826823 */ subu $t5, $t4, $v0 -/* 013874 70012C74 ACED00C0 */ sw $t5, 0xc0($a3) -/* 013878 70012C78 8C850004 */ lw $a1, 4($a0) -/* 01387C 70012C7C 8CE800C0 */ lw $t0, 0xc0($a3) -.L70012C80: -/* 013880 70012C80 0103082B */ sltu $at, $t0, $v1 -/* 013884 70012C84 50200003 */ beql $at, $zero, .L70012C94 -/* 013888 70012C88 01C57806 */ srlv $t7, $a1, $t6 -/* 01388C 70012C8C 01001825 */ move $v1, $t0 -.L70012C90: -/* 013890 70012C90 01C57806 */ srlv $t7, $a1, $t6 -.L70012C94: -/* 013894 70012C94 31F80001 */ andi $t8, $t7, 1 -/* 013898 70012C98 5300000F */ beql $t8, $zero, .L70012CD8 -/* 01389C 70012C9C 24C60004 */ addiu $a2, $a2, 4 -/* 0138A0 70012CA0 8C8B0014 */ lw $t3, 0x14($a0) -/* 0138A4 70012CA4 0006C880 */ sll $t9, $a2, 2 -/* 0138A8 70012CA8 00993821 */ addu $a3, $a0, $t9 -/* 0138AC 70012CAC 51600005 */ beql $t3, $zero, .L70012CC4 -/* 0138B0 70012CB0 8CE500C4 */ lw $a1, 0xc4($a3) -/* 0138B4 70012CB4 8CEC00C4 */ lw $t4, 0xc4($a3) -/* 0138B8 70012CB8 01826823 */ subu $t5, $t4, $v0 -/* 0138BC 70012CBC ACED00C4 */ sw $t5, 0xc4($a3) -/* 0138C0 70012CC0 8CE500C4 */ lw $a1, 0xc4($a3) -.L70012CC4: -/* 0138C4 70012CC4 00A3082B */ sltu $at, $a1, $v1 -/* 0138C8 70012CC8 50200003 */ beql $at, $zero, .L70012CD8 -/* 0138CC 70012CCC 24C60004 */ addiu $a2, $a2, 4 -/* 0138D0 70012CD0 00A01825 */ move $v1, $a1 -/* 0138D4 70012CD4 24C60004 */ addiu $a2, $a2, 4 -.L70012CD8: -/* 0138D8 70012CD8 54CAFFB6 */ bnel $a2, $t2, .L70012BB4 -/* 0138DC 70012CDC 8C850004 */ lw $a1, 4($a0) -/* 0138E0 70012CE0 AC800014 */ sw $zero, 0x14($a0) -/* 0138E4 70012CE4 AD230000 */ sw $v1, ($t1) -/* 0138E8 70012CE8 24020001 */ li $v0, 1 -/* 0138EC 70012CEC 03E00008 */ jr $ra -/* 0138F0 70012CF0 00000000 */ nop - -/* 0138F4 70012CF4 00000000 */ nop -/* 0138F8 70012CF8 00000000 */ nop -/* 0138FC 70012CFC 00000000 */ nop - -.section .rodata -glabel F64_800296D0 -.double 1000000.0 -glabel F64_800296D8 -.double 1000000.0 - -.section .text -glabel alCSPSetSeq -/* 013900 70012D00 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 013904 70012D04 AFBF0014 */ sw $ra, 0x14($sp) -/* 013908 70012D08 240E000D */ li $t6, 13 -/* 01390C 70012D0C AFA5001C */ sw $a1, 0x1c($sp) -/* 013910 70012D10 A7AE0018 */ sh $t6, 0x18($sp) -/* 013914 70012D14 27A50018 */ addiu $a1, $sp, 0x18 -/* 013918 70012D18 24840048 */ addiu $a0, $a0, 0x48 -/* 01391C 70012D1C 0C004BBF */ jal alEvtqPostEvent -/* 013920 70012D20 00003025 */ move $a2, $zero -/* 013924 70012D24 8FBF0014 */ lw $ra, 0x14($sp) -/* 013928 70012D28 27BD0028 */ addiu $sp, $sp, 0x28 -/* 01392C 70012D2C 03E00008 */ jr $ra -/* 013930 70012D30 00000000 */ nop - -/* 013934 70012D34 00000000 */ nop -/* 013938 70012D38 00000000 */ nop -/* 01393C 70012D3C 00000000 */ nop - -glabel alCSPPlay -/* 013940 70012D40 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 013944 70012D44 AFBF0014 */ sw $ra, 0x14($sp) -/* 013948 70012D48 240E000F */ li $t6, 15 -/* 01394C 70012D4C A7AE0018 */ sh $t6, 0x18($sp) -/* 013950 70012D50 27A50018 */ addiu $a1, $sp, 0x18 -/* 013954 70012D54 24840048 */ addiu $a0, $a0, 0x48 -/* 013958 70012D58 0C004BBF */ jal alEvtqPostEvent -/* 01395C 70012D5C 00003025 */ move $a2, $zero -/* 013960 70012D60 8FBF0014 */ lw $ra, 0x14($sp) -/* 013964 70012D64 27BD0028 */ addiu $sp, $sp, 0x28 -/* 013968 70012D68 03E00008 */ jr $ra -/* 01396C 70012D6C 00000000 */ nop - -glabel alCSPStop -/* 013970 70012D70 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 013974 70012D74 AFBF0014 */ sw $ra, 0x14($sp) -/* 013978 70012D78 240E0011 */ li $t6, 17 -/* 01397C 70012D7C A7AE0018 */ sh $t6, 0x18($sp) -/* 013980 70012D80 27A50018 */ addiu $a1, $sp, 0x18 -/* 013984 70012D84 24840048 */ addiu $a0, $a0, 0x48 -/* 013988 70012D88 0C004BBF */ jal alEvtqPostEvent -/* 01398C 70012D8C 00003025 */ move $a2, $zero -/* 013990 70012D90 8FBF0014 */ lw $ra, 0x14($sp) -/* 013994 70012D94 27BD0028 */ addiu $sp, $sp, 0x28 -/* 013998 70012D98 03E00008 */ jr $ra -/* 01399C 70012D9C 00000000 */ nop - -glabel alCSPSetVol -/* 0139A0 70012DA0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0139A4 70012DA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0139A8 70012DA8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0139AC 70012DAC 00A07025 */ move $t6, $a1 -/* 0139B0 70012DB0 240F000A */ li $t7, 10 -/* 0139B4 70012DB4 A7AF0018 */ sh $t7, 0x18($sp) -/* 0139B8 70012DB8 A7AE001C */ sh $t6, 0x1c($sp) -/* 0139BC 70012DBC 27A50018 */ addiu $a1, $sp, 0x18 -/* 0139C0 70012DC0 24840048 */ addiu $a0, $a0, 0x48 -/* 0139C4 70012DC4 0C004BBF */ jal alEvtqPostEvent -/* 0139C8 70012DC8 00003025 */ move $a2, $zero -/* 0139CC 70012DCC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0139D0 70012DD0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0139D4 70012DD4 03E00008 */ jr $ra -/* 0139D8 70012DD8 00000000 */ nop - -/* 0139DC 70012DDC 00000000 */ nop -glabel alEvtqFlushType -/* 0139E0 70012DE0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0139E4 70012DE4 AFB30020 */ sw $s3, 0x20($sp) -/* 0139E8 70012DE8 00059C00 */ sll $s3, $a1, 0x10 -/* 0139EC 70012DEC AFB2001C */ sw $s2, 0x1c($sp) -/* 0139F0 70012DF0 00809025 */ move $s2, $a0 -/* 0139F4 70012DF4 00137403 */ sra $t6, $s3, 0x10 -/* 0139F8 70012DF8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0139FC 70012DFC 01C09825 */ move $s3, $t6 -/* 013A00 70012E00 AFB10018 */ sw $s1, 0x18($sp) -/* 013A04 70012E04 AFB00014 */ sw $s0, 0x14($sp) -/* 013A08 70012E08 AFA50044 */ sw $a1, 0x44($sp) -/* 013A0C 70012E0C 0C00374C */ jal osSetIntMask -/* 013A10 70012E10 24040001 */ li $a0, 1 -/* 013A14 70012E14 AFA2002C */ sw $v0, 0x2c($sp) -/* 013A18 70012E18 8E500008 */ lw $s0, 8($s2) -/* 013A1C 70012E1C 12000012 */ beqz $s0, .L70012E68 -/* 013A20 70012E20 00000000 */ nop -.L70012E24: -/* 013A24 70012E24 860F000C */ lh $t7, 0xc($s0) -/* 013A28 70012E28 8E110000 */ lw $s1, ($s0) -/* 013A2C 70012E2C 166F000C */ bne $s3, $t7, .L70012E60 -/* 013A30 70012E30 00000000 */ nop -/* 013A34 70012E34 12200005 */ beqz $s1, .L70012E4C -/* 013A38 70012E38 00000000 */ nop -/* 013A3C 70012E3C 8E380008 */ lw $t8, 8($s1) -/* 013A40 70012E40 8E190008 */ lw $t9, 8($s0) -/* 013A44 70012E44 03194021 */ addu $t0, $t8, $t9 -/* 013A48 70012E48 AE280008 */ sw $t0, 8($s1) -.L70012E4C: -/* 013A4C 70012E4C 0C003AA4 */ jal alUnlink -/* 013A50 70012E50 02002025 */ move $a0, $s0 -/* 013A54 70012E54 02002025 */ move $a0, $s0 -/* 013A58 70012E58 0C003AB0 */ jal alLink -/* 013A5C 70012E5C 02402825 */ move $a1, $s2 -.L70012E60: -/* 013A60 70012E60 1620FFF0 */ bnez $s1, .L70012E24 -/* 013A64 70012E64 02208025 */ move $s0, $s1 -.L70012E68: -/* 013A68 70012E68 0C00374C */ jal osSetIntMask -/* 013A6C 70012E6C 8FA4002C */ lw $a0, 0x2c($sp) -/* 013A70 70012E70 8FBF0024 */ lw $ra, 0x24($sp) -/* 013A74 70012E74 8FB00014 */ lw $s0, 0x14($sp) -/* 013A78 70012E78 8FB10018 */ lw $s1, 0x18($sp) -/* 013A7C 70012E7C 8FB2001C */ lw $s2, 0x1c($sp) -/* 013A80 70012E80 8FB30020 */ lw $s3, 0x20($sp) -/* 013A84 70012E84 03E00008 */ jr $ra -/* 013A88 70012E88 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel alEvtqFlush -/* 013A8C 70012E8C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 013A90 70012E90 AFB20020 */ sw $s2, 0x20($sp) -/* 013A94 70012E94 00809025 */ move $s2, $a0 -/* 013A98 70012E98 AFBF0024 */ sw $ra, 0x24($sp) -/* 013A9C 70012E9C AFB1001C */ sw $s1, 0x1c($sp) -/* 013AA0 70012EA0 AFB00018 */ sw $s0, 0x18($sp) -/* 013AA4 70012EA4 0C00374C */ jal osSetIntMask -/* 013AA8 70012EA8 24040001 */ li $a0, 1 -/* 013AAC 70012EAC AFA2002C */ sw $v0, 0x2c($sp) -/* 013AB0 70012EB0 8E500008 */ lw $s0, 8($s2) -/* 013AB4 70012EB4 12000009 */ beqz $s0, .L70012EDC -/* 013AB8 70012EB8 00000000 */ nop -.L70012EBC: -/* 013ABC 70012EBC 8E110000 */ lw $s1, ($s0) -/* 013AC0 70012EC0 0C003AA4 */ jal alUnlink -/* 013AC4 70012EC4 02002025 */ move $a0, $s0 -/* 013AC8 70012EC8 02002025 */ move $a0, $s0 -/* 013ACC 70012ECC 0C003AB0 */ jal alLink -/* 013AD0 70012ED0 02402825 */ move $a1, $s2 -/* 013AD4 70012ED4 1620FFF9 */ bnez $s1, .L70012EBC -/* 013AD8 70012ED8 02208025 */ move $s0, $s1 -.L70012EDC: -/* 013ADC 70012EDC 0C00374C */ jal osSetIntMask -/* 013AE0 70012EE0 8FA4002C */ lw $a0, 0x2c($sp) -/* 013AE4 70012EE4 8FBF0024 */ lw $ra, 0x24($sp) -/* 013AE8 70012EE8 8FB00018 */ lw $s0, 0x18($sp) -/* 013AEC 70012EEC 8FB1001C */ lw $s1, 0x1c($sp) -/* 013AF0 70012EF0 8FB20020 */ lw $s2, 0x20($sp) -/* 013AF4 70012EF4 03E00008 */ jr $ra -/* 013AF8 70012EF8 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel alEvtqPostEvent -/* 013AFC 70012EFC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 013B00 70012F00 AFBF0014 */ sw $ra, 0x14($sp) -/* 013B04 70012F04 AFA40030 */ sw $a0, 0x30($sp) -/* 013B08 70012F08 AFA50034 */ sw $a1, 0x34($sp) -/* 013B0C 70012F0C AFA00020 */ sw $zero, 0x20($sp) -/* 013B10 70012F10 24040001 */ li $a0, 1 -/* 013B14 70012F14 0C00374C */ jal osSetIntMask -/* 013B18 70012F18 AFA60038 */ sw $a2, 0x38($sp) -/* 013B1C 70012F1C 8FAE0030 */ lw $t6, 0x30($sp) -/* 013B20 70012F20 8FA70038 */ lw $a3, 0x38($sp) -/* 013B24 70012F24 00402825 */ move $a1, $v0 -/* 013B28 70012F28 8DC80000 */ lw $t0, ($t6) -/* 013B2C 70012F2C 15000005 */ bnez $t0, .L70012F44 -/* 013B30 70012F30 01002025 */ move $a0, $t0 -/* 013B34 70012F34 0C00374C */ jal osSetIntMask -/* 013B38 70012F38 00402025 */ move $a0, $v0 -/* 013B3C 70012F3C 10000035 */ b .L70013014 -/* 013B40 70012F40 8FBF0014 */ lw $ra, 0x14($sp) -.L70012F44: -/* 013B44 70012F44 AFA5001C */ sw $a1, 0x1c($sp) -/* 013B48 70012F48 AFA70038 */ sw $a3, 0x38($sp) -/* 013B4C 70012F4C 0C003AA4 */ jal alUnlink -/* 013B50 70012F50 AFA8002C */ sw $t0, 0x2c($sp) -/* 013B54 70012F54 8FA8002C */ lw $t0, 0x2c($sp) -/* 013B58 70012F58 8FA40034 */ lw $a0, 0x34($sp) -/* 013B5C 70012F5C 24060010 */ li $a2, 16 -/* 013B60 70012F60 0C0075A4 */ jal alCopy -/* 013B64 70012F64 2505000C */ addiu $a1, $t0, 0xc -/* 013B68 70012F68 8FA70038 */ lw $a3, 0x38($sp) -/* 013B6C 70012F6C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 013B70 70012F70 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 013B74 70012F74 14E10003 */ bne $a3, $at, .L70012F84 -/* 013B78 70012F78 8FA8002C */ lw $t0, 0x2c($sp) -/* 013B7C 70012F7C 240FFFFF */ li $t7, -1 -/* 013B80 70012F80 AFAF0020 */ sw $t7, 0x20($sp) -.L70012F84: -/* 013B84 70012F84 8FA20030 */ lw $v0, 0x30($sp) -/* 013B88 70012F88 2401FFF8 */ li $at, -8 -/* 013B8C 70012F8C 8FB80020 */ lw $t8, 0x20($sp) -/* 013B90 70012F90 1041001D */ beq $v0, $at, .L70013008 -/* 013B94 70012F94 24450008 */ addiu $a1, $v0, 8 -.L70012F98: -/* 013B98 70012F98 8CA20000 */ lw $v0, ($a1) -/* 013B9C 70012F9C 5440000B */ bnezl $v0, .L70012FCC -/* 013BA0 70012FA0 8C430008 */ lw $v1, 8($v0) -/* 013BA4 70012FA4 53000004 */ beql $t8, $zero, .L70012FB8 -/* 013BA8 70012FA8 AD070008 */ sw $a3, 8($t0) -/* 013BAC 70012FAC 10000002 */ b .L70012FB8 -/* 013BB0 70012FB0 AD000008 */ sw $zero, 8($t0) -/* 013BB4 70012FB4 AD070008 */ sw $a3, 8($t0) -.L70012FB8: -/* 013BB8 70012FB8 0C003AB0 */ jal alLink -/* 013BBC 70012FBC 01002025 */ move $a0, $t0 -/* 013BC0 70012FC0 10000011 */ b .L70013008 -/* 013BC4 70012FC4 00000000 */ nop -/* 013BC8 70012FC8 8C430008 */ lw $v1, 8($v0) -.L70012FCC: -/* 013BCC 70012FCC 00403025 */ move $a2, $v0 -/* 013BD0 70012FD0 00E3082A */ slt $at, $a3, $v1 -/* 013BD4 70012FD4 5020000A */ beql $at, $zero, .L70013000 -/* 013BD8 70012FD8 00402825 */ move $a1, $v0 -/* 013BDC 70012FDC AD070008 */ sw $a3, 8($t0) -/* 013BE0 70012FE0 8CD90008 */ lw $t9, 8($a2) -/* 013BE4 70012FE4 01002025 */ move $a0, $t0 -/* 013BE8 70012FE8 03274823 */ subu $t1, $t9, $a3 -/* 013BEC 70012FEC 0C003AB0 */ jal alLink -/* 013BF0 70012FF0 ACC90008 */ sw $t1, 8($a2) -/* 013BF4 70012FF4 10000004 */ b .L70013008 -/* 013BF8 70012FF8 00000000 */ nop -/* 013BFC 70012FFC 00402825 */ move $a1, $v0 -.L70013000: -/* 013C00 70013000 1440FFE5 */ bnez $v0, .L70012F98 -/* 013C04 70013004 00E33823 */ subu $a3, $a3, $v1 -.L70013008: -/* 013C08 70013008 0C00374C */ jal osSetIntMask -/* 013C0C 7001300C 8FA4001C */ lw $a0, 0x1c($sp) -/* 013C10 70013010 8FBF0014 */ lw $ra, 0x14($sp) -.L70013014: -/* 013C14 70013014 27BD0030 */ addiu $sp, $sp, 0x30 -/* 013C18 70013018 03E00008 */ jr $ra -/* 013C1C 7001301C 00000000 */ nop - -glabel alEvtqNextEvent -/* 013C20 70013020 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 013C24 70013024 AFBF001C */ sw $ra, 0x1c($sp) -/* 013C28 70013028 AFA40030 */ sw $a0, 0x30($sp) -/* 013C2C 7001302C AFB00018 */ sw $s0, 0x18($sp) -/* 013C30 70013030 AFA50034 */ sw $a1, 0x34($sp) -/* 013C34 70013034 0C00374C */ jal osSetIntMask -/* 013C38 70013038 24040001 */ li $a0, 1 -/* 013C3C 7001303C 8FAE0030 */ lw $t6, 0x30($sp) -/* 013C40 70013040 AFA20024 */ sw $v0, 0x24($sp) -/* 013C44 70013044 8FB80034 */ lw $t8, 0x34($sp) -/* 013C48 70013048 8DD00008 */ lw $s0, 8($t6) -/* 013C4C 7001304C 00001825 */ move $v1, $zero -/* 013C50 70013050 5200000D */ beql $s0, $zero, .L70013088 -/* 013C54 70013054 240FFFFF */ li $t7, -1 -/* 013C58 70013058 0C003AA4 */ jal alUnlink -/* 013C5C 7001305C 02002025 */ move $a0, $s0 -/* 013C60 70013060 2604000C */ addiu $a0, $s0, 0xc -/* 013C64 70013064 8FA50034 */ lw $a1, 0x34($sp) -/* 013C68 70013068 0C0075A4 */ jal alCopy -/* 013C6C 7001306C 24060010 */ li $a2, 16 -/* 013C70 70013070 02002025 */ move $a0, $s0 -/* 013C74 70013074 0C003AB0 */ jal alLink -/* 013C78 70013078 8FA50030 */ lw $a1, 0x30($sp) -/* 013C7C 7001307C 10000003 */ b .L7001308C -/* 013C80 70013080 8E030008 */ lw $v1, 8($s0) -/* 013C84 70013084 240FFFFF */ li $t7, -1 -.L70013088: -/* 013C88 70013088 A70F0000 */ sh $t7, ($t8) -.L7001308C: -/* 013C8C 7001308C 8FA40024 */ lw $a0, 0x24($sp) -/* 013C90 70013090 0C00374C */ jal osSetIntMask -/* 013C94 70013094 AFA30028 */ sw $v1, 0x28($sp) -/* 013C98 70013098 8FBF001C */ lw $ra, 0x1c($sp) -/* 013C9C 7001309C 8FA20028 */ lw $v0, 0x28($sp) -/* 013CA0 700130A0 8FB00018 */ lw $s0, 0x18($sp) -/* 013CA4 700130A4 03E00008 */ jr $ra -/* 013CA8 700130A8 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel alEvtqNew -/* 013CAC 700130AC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 013CB0 700130B0 AFB30020 */ sw $s3, 0x20($sp) -/* 013CB4 700130B4 AFB2001C */ sw $s2, 0x1c($sp) -/* 013CB8 700130B8 AFB00014 */ sw $s0, 0x14($sp) -/* 013CBC 700130BC AFBF0024 */ sw $ra, 0x24($sp) -/* 013CC0 700130C0 AFB10018 */ sw $s1, 0x18($sp) -/* 013CC4 700130C4 00809025 */ move $s2, $a0 -/* 013CC8 700130C8 00C09825 */ move $s3, $a2 -/* 013CCC 700130CC AC800010 */ sw $zero, 0x10($a0) -/* 013CD0 700130D0 AC800008 */ sw $zero, 8($a0) -/* 013CD4 700130D4 AC80000C */ sw $zero, 0xc($a0) -/* 013CD8 700130D8 AC800000 */ sw $zero, ($a0) -/* 013CDC 700130DC AC800004 */ sw $zero, 4($a0) -/* 013CE0 700130E0 18C00008 */ blez $a2, .L70013104 -/* 013CE4 700130E4 00008025 */ move $s0, $zero -/* 013CE8 700130E8 00A08825 */ move $s1, $a1 -.L700130EC: -/* 013CEC 700130EC 02202025 */ move $a0, $s1 -/* 013CF0 700130F0 0C003AB0 */ jal alLink -/* 013CF4 700130F4 02402825 */ move $a1, $s2 -/* 013CF8 700130F8 26100001 */ addiu $s0, $s0, 1 -/* 013CFC 700130FC 1613FFFB */ bne $s0, $s3, .L700130EC -/* 013D00 70013100 2631001C */ addiu $s1, $s1, 0x1c -.L70013104: -/* 013D04 70013104 8FBF0024 */ lw $ra, 0x24($sp) -/* 013D08 70013108 8FB00014 */ lw $s0, 0x14($sp) -/* 013D0C 7001310C 8FB10018 */ lw $s1, 0x18($sp) -/* 013D10 70013110 8FB2001C */ lw $s2, 0x1c($sp) -/* 013D14 70013114 8FB30020 */ lw $s3, 0x20($sp) -/* 013D18 70013118 03E00008 */ jr $ra -/* 013D1C 7001311C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel alSynAddPlayer -/* 013D20 70013120 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 013D24 70013124 AFBF0014 */ sw $ra, 0x14($sp) -/* 013D28 70013128 00803025 */ move $a2, $a0 -/* 013D2C 7001312C AFA60018 */ sw $a2, 0x18($sp) -/* 013D30 70013130 24040001 */ li $a0, 1 -/* 013D34 70013134 0C00374C */ jal osSetIntMask -/* 013D38 70013138 AFA5001C */ sw $a1, 0x1c($sp) -/* 013D3C 7001313C 8FA60018 */ lw $a2, 0x18($sp) -/* 013D40 70013140 8FA5001C */ lw $a1, 0x1c($sp) -/* 013D44 70013144 00402025 */ move $a0, $v0 -/* 013D48 70013148 8CCE0020 */ lw $t6, 0x20($a2) -/* 013D4C 7001314C ACAE0010 */ sw $t6, 0x10($a1) -/* 013D50 70013150 8CCF0000 */ lw $t7, ($a2) -/* 013D54 70013154 ACAF0000 */ sw $t7, ($a1) -/* 013D58 70013158 0C00374C */ jal osSetIntMask -/* 013D5C 7001315C ACC50000 */ sw $a1, ($a2) -/* 013D60 70013160 8FBF0014 */ lw $ra, 0x14($sp) -/* 013D64 70013164 27BD0018 */ addiu $sp, $sp, 0x18 -/* 013D68 70013168 03E00008 */ jr $ra -/* 013D6C 7001316C 00000000 */ nop - -glabel _allocatePVoice -/* 013D70 70013170 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 013D74 70013174 AFBF0014 */ sw $ra, 0x14($sp) -/* 013D78 70013178 AFA60030 */ sw $a2, 0x30($sp) -/* 013D7C 7001317C 8C870014 */ lw $a3, 0x14($a0) -/* 013D80 70013180 00067400 */ sll $t6, $a2, 0x10 -/* 013D84 70013184 000E3403 */ sra $a2, $t6, 0x10 -/* 013D88 70013188 00804025 */ move $t0, $a0 -/* 013D8C 7001318C 10E0000D */ beqz $a3, .L700131C4 -/* 013D90 70013190 00001825 */ move $v1, $zero -/* 013D94 70013194 ACA70000 */ sw $a3, ($a1) -/* 013D98 70013198 AFA80028 */ sw $t0, 0x28($sp) -/* 013D9C 7001319C AFA70024 */ sw $a3, 0x24($sp) -/* 013DA0 700131A0 AFA0001C */ sw $zero, 0x1c($sp) -/* 013DA4 700131A4 0C003AA4 */ jal alUnlink -/* 013DA8 700131A8 00E02025 */ move $a0, $a3 -/* 013DAC 700131AC 8FA80028 */ lw $t0, 0x28($sp) -/* 013DB0 700131B0 8FA40024 */ lw $a0, 0x24($sp) -/* 013DB4 700131B4 0C003AB0 */ jal alLink -/* 013DB8 700131B8 2505000C */ addiu $a1, $t0, 0xc -/* 013DBC 700131BC 10000021 */ b .L70013244 -/* 013DC0 700131C0 8FA3001C */ lw $v1, 0x1c($sp) -.L700131C4: -/* 013DC4 700131C4 8D070004 */ lw $a3, 4($t0) -/* 013DC8 700131C8 10E0000C */ beqz $a3, .L700131FC -/* 013DCC 700131CC 00E02025 */ move $a0, $a3 -/* 013DD0 700131D0 ACA70000 */ sw $a3, ($a1) -/* 013DD4 700131D4 AFA80028 */ sw $t0, 0x28($sp) -/* 013DD8 700131D8 AFA70024 */ sw $a3, 0x24($sp) -/* 013DDC 700131DC 0C003AA4 */ jal alUnlink -/* 013DE0 700131E0 AFA3001C */ sw $v1, 0x1c($sp) -/* 013DE4 700131E4 8FA80028 */ lw $t0, 0x28($sp) -/* 013DE8 700131E8 8FA40024 */ lw $a0, 0x24($sp) -/* 013DEC 700131EC 0C003AB0 */ jal alLink -/* 013DF0 700131F0 2505000C */ addiu $a1, $t0, 0xc -/* 013DF4 700131F4 10000013 */ b .L70013244 -/* 013DF8 700131F8 8FA3001C */ lw $v1, 0x1c($sp) -.L700131FC: -/* 013DFC 700131FC 8D07000C */ lw $a3, 0xc($t0) -/* 013E00 70013200 50E00011 */ beql $a3, $zero, .L70013248 -/* 013E04 70013204 8FBF0014 */ lw $ra, 0x14($sp) -/* 013E08 70013208 8CF80008 */ lw $t8, 8($a3) -.L7001320C: -/* 013E0C 7001320C 87190016 */ lh $t9, 0x16($t8) -/* 013E10 70013210 00D9082A */ slt $at, $a2, $t9 -/* 013E14 70013214 54200009 */ bnezl $at, .L7001323C -/* 013E18 70013218 8CE70000 */ lw $a3, ($a3) -/* 013E1C 7001321C 8CE900D8 */ lw $t1, 0xd8($a3) -/* 013E20 70013220 55200006 */ bnezl $t1, .L7001323C -/* 013E24 70013224 8CE70000 */ lw $a3, ($a3) -/* 013E28 70013228 ACA70000 */ sw $a3, ($a1) -/* 013E2C 7001322C 8CEA0008 */ lw $t2, 8($a3) -/* 013E30 70013230 24030001 */ li $v1, 1 -/* 013E34 70013234 85460016 */ lh $a2, 0x16($t2) -/* 013E38 70013238 8CE70000 */ lw $a3, ($a3) -.L7001323C: -/* 013E3C 7001323C 54E0FFF3 */ bnezl $a3, .L7001320C -/* 013E40 70013240 8CF80008 */ lw $t8, 8($a3) -.L70013244: -/* 013E44 70013244 8FBF0014 */ lw $ra, 0x14($sp) -.L70013248: -/* 013E48 70013248 27BD0028 */ addiu $sp, $sp, 0x28 -/* 013E4C 7001324C 00601025 */ move $v0, $v1 -/* 013E50 70013250 03E00008 */ jr $ra -/* 013E54 70013254 00000000 */ nop - -glabel alSynAllocVoice -/* 013E58 70013258 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 013E5C 7001325C AFBF001C */ sw $ra, 0x1c($sp) -/* 013E60 70013260 AFB00018 */ sw $s0, 0x18($sp) -/* 013E64 70013264 AFA40030 */ sw $a0, 0x30($sp) -/* 013E68 70013268 AFA0002C */ sw $zero, 0x2c($sp) -/* 013E6C 7001326C 84CE0000 */ lh $t6, ($a2) -/* 013E70 70013270 00A08025 */ move $s0, $a1 -/* 013E74 70013274 A4AE0016 */ sh $t6, 0x16($a1) -/* 013E78 70013278 90CF0004 */ lbu $t7, 4($a2) -/* 013E7C 7001327C ACA0000C */ sw $zero, 0xc($a1) -/* 013E80 70013280 A4AF001A */ sh $t7, 0x1a($a1) -/* 013E84 70013284 84D80002 */ lh $t8, 2($a2) -/* 013E88 70013288 A4A00014 */ sh $zero, 0x14($a1) -/* 013E8C 7001328C ACA00008 */ sw $zero, 8($a1) -/* 013E90 70013290 A4B80018 */ sh $t8, 0x18($a1) -/* 013E94 70013294 84C60000 */ lh $a2, ($a2) -/* 013E98 70013298 8FA40030 */ lw $a0, 0x30($sp) -/* 013E9C 7001329C 0C004C5C */ jal _allocatePVoice -/* 013EA0 700132A0 27A5002C */ addiu $a1, $sp, 0x2c -/* 013EA4 700132A4 8FB9002C */ lw $t9, 0x2c($sp) -/* 013EA8 700132A8 53200035 */ beql $t9, $zero, .L70013380 -/* 013EAC 700132AC 8FA2002C */ lw $v0, 0x2c($sp) -/* 013EB0 700132B0 1040002C */ beqz $v0, .L70013364 -/* 013EB4 700132B4 8F24000C */ lw $a0, 0xc($t9) -/* 013EB8 700132B8 24080200 */ li $t0, 512 -/* 013EBC 700132BC AF2800D8 */ sw $t0, 0xd8($t9) -/* 013EC0 700132C0 8FA9002C */ lw $t1, 0x2c($sp) -/* 013EC4 700132C4 8D2A0008 */ lw $t2, 8($t1) -/* 013EC8 700132C8 AD400008 */ sw $zero, 8($t2) -/* 013ECC 700132CC 0C003C34 */ jal __allocParam -/* 013ED0 700132D0 AFA40028 */ sw $a0, 0x28($sp) -/* 013ED4 700132D4 8FAB0030 */ lw $t3, 0x30($sp) -/* 013ED8 700132D8 8FA40028 */ lw $a0, 0x28($sp) -/* 013EDC 700132DC 240D000B */ li $t5, 11 -/* 013EE0 700132E0 8D6C001C */ lw $t4, 0x1c($t3) -/* 013EE4 700132E4 A44D0008 */ sh $t5, 8($v0) -/* 013EE8 700132E8 AC40000C */ sw $zero, 0xc($v0) -/* 013EEC 700132EC AC4C0004 */ sw $t4, 4($v0) -/* 013EF0 700132F0 8FAE002C */ lw $t6, 0x2c($sp) -/* 013EF4 700132F4 24050003 */ li $a1, 3 -/* 013EF8 700132F8 00403025 */ move $a2, $v0 -/* 013EFC 700132FC 8DCF00D8 */ lw $t7, 0xd8($t6) -/* 013F00 70013300 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 013F04 70013304 AC580010 */ sw $t8, 0x10($v0) -/* 013F08 70013308 8C990008 */ lw $t9, 8($a0) -/* 013F0C 7001330C 0320F809 */ jalr $t9 -/* 013F10 70013310 00000000 */ nop -/* 013F14 70013314 0C003C34 */ jal __allocParam -/* 013F18 70013318 00000000 */ nop -/* 013F1C 7001331C 8FA40028 */ lw $a0, 0x28($sp) -/* 013F20 70013320 10400012 */ beqz $v0, .L7001336C -/* 013F24 70013324 00403025 */ move $a2, $v0 -/* 013F28 70013328 8FA80030 */ lw $t0, 0x30($sp) -/* 013F2C 7001332C 8FAA002C */ lw $t2, 0x2c($sp) -/* 013F30 70013330 240D000F */ li $t5, 15 -/* 013F34 70013334 8D09001C */ lw $t1, 0x1c($t0) -/* 013F38 70013338 8D4B00D8 */ lw $t3, 0xd8($t2) -/* 013F3C 7001333C A44D0008 */ sh $t5, 8($v0) -/* 013F40 70013340 AC400000 */ sw $zero, ($v0) -/* 013F44 70013344 012B6021 */ addu $t4, $t1, $t3 -/* 013F48 70013348 AC4C0004 */ sw $t4, 4($v0) -/* 013F4C 7001334C 8C990008 */ lw $t9, 8($a0) -/* 013F50 70013350 24050003 */ li $a1, 3 -/* 013F54 70013354 0320F809 */ jalr $t9 -/* 013F58 70013358 00000000 */ nop -/* 013F5C 7001335C 10000004 */ b .L70013370 -/* 013F60 70013360 8FAF002C */ lw $t7, 0x2c($sp) -.L70013364: -/* 013F64 70013364 8FAE002C */ lw $t6, 0x2c($sp) -/* 013F68 70013368 ADC000D8 */ sw $zero, 0xd8($t6) -.L7001336C: -/* 013F6C 7001336C 8FAF002C */ lw $t7, 0x2c($sp) -.L70013370: -/* 013F70 70013370 ADF00008 */ sw $s0, 8($t7) -/* 013F74 70013374 8FB8002C */ lw $t8, 0x2c($sp) -/* 013F78 70013378 AE180008 */ sw $t8, 8($s0) -/* 013F7C 7001337C 8FA2002C */ lw $v0, 0x2c($sp) -.L70013380: -/* 013F80 70013380 8FBF001C */ lw $ra, 0x1c($sp) -/* 013F84 70013384 8FB00018 */ lw $s0, 0x18($sp) -/* 013F88 70013388 0002402B */ sltu $t0, $zero, $v0 -/* 013F8C 7001338C 01001025 */ move $v0, $t0 -/* 013F90 70013390 03E00008 */ jr $ra -/* 013F94 70013394 27BD0030 */ addiu $sp, $sp, 0x30 - -/* 013F98 70013398 00000000 */ nop -/* 013F9C 7001339C 00000000 */ nop -glabel alSynSetVol -/* 013FA0 700133A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 013FA4 700133A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 013FA8 700133A8 AFA50024 */ sw $a1, 0x24($sp) -/* 013FAC 700133AC AFA60028 */ sw $a2, 0x28($sp) -/* 013FB0 700133B0 AFA7002C */ sw $a3, 0x2c($sp) -/* 013FB4 700133B4 8CAF0008 */ lw $t7, 8($a1) -/* 013FB8 700133B8 51E0001D */ beql $t7, $zero, .L70013430 -/* 013FBC 700133BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 013FC0 700133C0 0C003C34 */ jal __allocParam -/* 013FC4 700133C4 AFA40020 */ sw $a0, 0x20($sp) -/* 013FC8 700133C8 10400018 */ beqz $v0, .L7001342C -/* 013FCC 700133CC 8FA40020 */ lw $a0, 0x20($sp) -/* 013FD0 700133D0 8FB90024 */ lw $t9, 0x24($sp) -/* 013FD4 700133D4 8C98001C */ lw $t8, 0x1c($a0) -/* 013FD8 700133D8 240B000B */ li $t3, 11 -/* 013FDC 700133DC 8F280008 */ lw $t0, 8($t9) -/* 013FE0 700133E0 8D0900D8 */ lw $t1, 0xd8($t0) -/* 013FE4 700133E4 A44B0008 */ sh $t3, 8($v0) -/* 013FE8 700133E8 03095021 */ addu $t2, $t8, $t1 -/* 013FEC 700133EC AC4A0004 */ sw $t2, 4($v0) -/* 013FF0 700133F0 87AC002A */ lh $t4, 0x2a($sp) -/* 013FF4 700133F4 AC4C000C */ sw $t4, 0xc($v0) -/* 013FF8 700133F8 AFA2001C */ sw $v0, 0x1c($sp) -/* 013FFC 700133FC 0C003BF2 */ jal _timeToSamples -/* 014000 70013400 8FA5002C */ lw $a1, 0x2c($sp) -/* 014004 70013404 8FA6001C */ lw $a2, 0x1c($sp) -/* 014008 70013408 24050003 */ li $a1, 3 -/* 01400C 7001340C ACC20010 */ sw $v0, 0x10($a2) -/* 014010 70013410 ACC00000 */ sw $zero, ($a2) -/* 014014 70013414 8FAD0024 */ lw $t5, 0x24($sp) -/* 014018 70013418 8DAE0008 */ lw $t6, 8($t5) -/* 01401C 7001341C 8DC4000C */ lw $a0, 0xc($t6) -/* 014020 70013420 8C990008 */ lw $t9, 8($a0) -/* 014024 70013424 0320F809 */ jalr $t9 -/* 014028 70013428 00000000 */ nop -.L7001342C: -/* 01402C 7001342C 8FBF0014 */ lw $ra, 0x14($sp) -.L70013430: -/* 014030 70013430 27BD0020 */ addiu $sp, $sp, 0x20 -/* 014034 70013434 03E00008 */ jr $ra -/* 014038 70013438 00000000 */ nop - -/* 01403C 7001343C 00000000 */ nop -glabel alSynStartVoice -/* 014040 70013440 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 014044 70013444 AFBF0014 */ sw $ra, 0x14($sp) -/* 014048 70013448 AFA40018 */ sw $a0, 0x18($sp) -/* 01404C 7001344C AFA60020 */ sw $a2, 0x20($sp) -/* 014050 70013450 8CAE0008 */ lw $t6, 8($a1) -/* 014054 70013454 51C0001A */ beql $t6, $zero, .L700134C0 -/* 014058 70013458 8FBF0014 */ lw $ra, 0x14($sp) -/* 01405C 7001345C 0C003C34 */ jal __allocParam -/* 014060 70013460 AFA5001C */ sw $a1, 0x1c($sp) -/* 014064 70013464 8FA7001C */ lw $a3, 0x1c($sp) -/* 014068 70013468 10400014 */ beqz $v0, .L700134BC -/* 01406C 7001346C 00403025 */ move $a2, $v0 -/* 014070 70013470 8FAF0018 */ lw $t7, 0x18($sp) -/* 014074 70013474 8CF90008 */ lw $t9, 8($a3) -/* 014078 70013478 240A000E */ li $t2, 14 -/* 01407C 7001347C 8DF8001C */ lw $t8, 0x1c($t7) -/* 014080 70013480 8F2800D8 */ lw $t0, 0xd8($t9) -/* 014084 70013484 A44A0008 */ sh $t2, 8($v0) -/* 014088 70013488 24050003 */ li $a1, 3 -/* 01408C 7001348C 03084821 */ addu $t1, $t8, $t0 -/* 014090 70013490 AC490004 */ sw $t1, 4($v0) -/* 014094 70013494 8FAB0020 */ lw $t3, 0x20($sp) -/* 014098 70013498 AC400000 */ sw $zero, ($v0) -/* 01409C 7001349C AC4B000C */ sw $t3, 0xc($v0) -/* 0140A0 700134A0 84EC001A */ lh $t4, 0x1a($a3) -/* 0140A4 700134A4 A44C000A */ sh $t4, 0xa($v0) -/* 0140A8 700134A8 8CED0008 */ lw $t5, 8($a3) -/* 0140AC 700134AC 8DA4000C */ lw $a0, 0xc($t5) -/* 0140B0 700134B0 8C990008 */ lw $t9, 8($a0) -/* 0140B4 700134B4 0320F809 */ jalr $t9 -/* 0140B8 700134B8 00000000 */ nop -.L700134BC: -/* 0140BC 700134BC 8FBF0014 */ lw $ra, 0x14($sp) -.L700134C0: -/* 0140C0 700134C0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0140C4 700134C4 03E00008 */ jr $ra -/* 0140C8 700134C8 00000000 */ nop - -/* 0140CC 700134CC 00000000 */ nop -glabel alSynSetPan -/* 0140D0 700134D0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0140D4 700134D4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0140D8 700134D8 AFA40018 */ sw $a0, 0x18($sp) -/* 0140DC 700134DC AFA60020 */ sw $a2, 0x20($sp) -/* 0140E0 700134E0 8CAE0008 */ lw $t6, 8($a1) -/* 0140E4 700134E4 51C00018 */ beql $t6, $zero, .L70013548 -/* 0140E8 700134E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0140EC 700134EC 0C003C34 */ jal __allocParam -/* 0140F0 700134F0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0140F4 700134F4 8FA7001C */ lw $a3, 0x1c($sp) -/* 0140F8 700134F8 10400012 */ beqz $v0, .L70013544 -/* 0140FC 700134FC 00403025 */ move $a2, $v0 -/* 014100 70013500 8FAF0018 */ lw $t7, 0x18($sp) -/* 014104 70013504 8CF90008 */ lw $t9, 8($a3) -/* 014108 70013508 240A000C */ li $t2, 12 -/* 01410C 7001350C 8DF8001C */ lw $t8, 0x1c($t7) -/* 014110 70013510 8F2800D8 */ lw $t0, 0xd8($t9) -/* 014114 70013514 A44A0008 */ sh $t2, 8($v0) -/* 014118 70013518 24050003 */ li $a1, 3 -/* 01411C 7001351C 03084821 */ addu $t1, $t8, $t0 -/* 014120 70013520 AC490004 */ sw $t1, 4($v0) -/* 014124 70013524 93AB0023 */ lbu $t3, 0x23($sp) -/* 014128 70013528 AC400000 */ sw $zero, ($v0) -/* 01412C 7001352C AC4B000C */ sw $t3, 0xc($v0) -/* 014130 70013530 8CEC0008 */ lw $t4, 8($a3) -/* 014134 70013534 8D84000C */ lw $a0, 0xc($t4) -/* 014138 70013538 8C990008 */ lw $t9, 8($a0) -/* 01413C 7001353C 0320F809 */ jalr $t9 -/* 014140 70013540 00000000 */ nop -.L70013544: -/* 014144 70013544 8FBF0014 */ lw $ra, 0x14($sp) -.L70013548: -/* 014148 70013548 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01414C 7001354C 03E00008 */ jr $ra -/* 014150 70013550 00000000 */ nop - -/* 014154 70013554 00000000 */ nop -/* 014158 70013558 00000000 */ nop -/* 01415C 7001355C 00000000 */ nop -glabel alSynSetPitch -/* 014160 70013560 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 014164 70013564 AFBF0014 */ sw $ra, 0x14($sp) -/* 014168 70013568 AFA40018 */ sw $a0, 0x18($sp) -/* 01416C 7001356C AFA60020 */ sw $a2, 0x20($sp) -/* 014170 70013570 8CAE0008 */ lw $t6, 8($a1) -/* 014174 70013574 51C00018 */ beql $t6, $zero, .L700135D8 -/* 014178 70013578 8FBF0014 */ lw $ra, 0x14($sp) -/* 01417C 7001357C 0C003C34 */ jal __allocParam -/* 014180 70013580 AFA5001C */ sw $a1, 0x1c($sp) -/* 014184 70013584 8FA7001C */ lw $a3, 0x1c($sp) -/* 014188 70013588 10400012 */ beqz $v0, .L700135D4 -/* 01418C 7001358C 00403025 */ move $a2, $v0 -/* 014190 70013590 8FAF0018 */ lw $t7, 0x18($sp) -/* 014194 70013594 8CF90008 */ lw $t9, 8($a3) -/* 014198 70013598 240A0007 */ li $t2, 7 -/* 01419C 7001359C 8DF8001C */ lw $t8, 0x1c($t7) -/* 0141A0 700135A0 8F2800D8 */ lw $t0, 0xd8($t9) -/* 0141A4 700135A4 A44A0008 */ sh $t2, 8($v0) -/* 0141A8 700135A8 24050003 */ li $a1, 3 -/* 0141AC 700135AC 03084821 */ addu $t1, $t8, $t0 -/* 0141B0 700135B0 AC490004 */ sw $t1, 4($v0) -/* 0141B4 700135B4 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 0141B8 700135B8 AC400000 */ sw $zero, ($v0) -/* 0141BC 700135BC E444000C */ swc1 $f4, 0xc($v0) -/* 0141C0 700135C0 8CEB0008 */ lw $t3, 8($a3) -/* 0141C4 700135C4 8D64000C */ lw $a0, 0xc($t3) -/* 0141C8 700135C8 8C990008 */ lw $t9, 8($a0) -/* 0141CC 700135CC 0320F809 */ jalr $t9 -/* 0141D0 700135D0 00000000 */ nop -.L700135D4: -/* 0141D4 700135D4 8FBF0014 */ lw $ra, 0x14($sp) -.L700135D8: -/* 0141D8 700135D8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0141DC 700135DC 03E00008 */ jr $ra -/* 0141E0 700135E0 00000000 */ nop - -/* 0141E4 700135E4 00000000 */ nop -/* 0141E8 700135E8 00000000 */ nop -/* 0141EC 700135EC 00000000 */ nop -glabel alSynSetFXMix -/* 0141F0 700135F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0141F4 700135F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0141F8 700135F8 AFA40018 */ sw $a0, 0x18($sp) -/* 0141FC 700135FC AFA60020 */ sw $a2, 0x20($sp) -/* 014200 70013600 8CAE0008 */ lw $t6, 8($a1) -/* 014204 70013604 51C0001C */ beql $t6, $zero, .L70013678 -/* 014208 70013608 8FBF0014 */ lw $ra, 0x14($sp) -/* 01420C 7001360C 0C003C34 */ jal __allocParam -/* 014210 70013610 AFA5001C */ sw $a1, 0x1c($sp) -/* 014214 70013614 8FA7001C */ lw $a3, 0x1c($sp) -/* 014218 70013618 10400016 */ beqz $v0, .L70013674 -/* 01421C 7001361C 00403025 */ move $a2, $v0 -/* 014220 70013620 8FAF0018 */ lw $t7, 0x18($sp) -/* 014224 70013624 8CF90008 */ lw $t9, 8($a3) -/* 014228 70013628 240A0010 */ li $t2, 16 -/* 01422C 7001362C 8DF8001C */ lw $t8, 0x1c($t7) -/* 014230 70013630 8F2800D8 */ lw $t0, 0xd8($t9) -/* 014234 70013634 A44A0008 */ sh $t2, 8($v0) -/* 014238 70013638 03084821 */ addu $t1, $t8, $t0 -/* 01423C 7001363C AC490004 */ sw $t1, 4($v0) -/* 014240 70013640 93A30023 */ lbu $v1, 0x23($sp) -/* 014244 70013644 04610003 */ bgez $v1, .L70013654 -/* 014248 70013648 00035823 */ negu $t3, $v1 -/* 01424C 7001364C 10000002 */ b .L70013658 -/* 014250 70013650 AC4B000C */ sw $t3, 0xc($v0) -.L70013654: -/* 014254 70013654 AC43000C */ sw $v1, 0xc($v0) -.L70013658: -/* 014258 70013658 ACC00000 */ sw $zero, ($a2) -/* 01425C 7001365C 8CEC0008 */ lw $t4, 8($a3) -/* 014260 70013660 24050003 */ li $a1, 3 -/* 014264 70013664 8D84000C */ lw $a0, 0xc($t4) -/* 014268 70013668 8C990008 */ lw $t9, 8($a0) -/* 01426C 7001366C 0320F809 */ jalr $t9 -/* 014270 70013670 00000000 */ nop -.L70013674: -/* 014274 70013674 8FBF0014 */ lw $ra, 0x14($sp) -.L70013678: -/* 014278 70013678 27BD0018 */ addiu $sp, $sp, 0x18 -/* 01427C 7001367C 03E00008 */ jr $ra -/* 014280 70013680 00000000 */ nop - -/* 014284 70013684 00000000 */ nop -/* 014288 70013688 00000000 */ nop -/* 01428C 7001368C 00000000 */ nop -glabel alSynStopVoice -/* 014290 70013690 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 014294 70013694 AFBF0014 */ sw $ra, 0x14($sp) -/* 014298 70013698 AFA40018 */ sw $a0, 0x18($sp) -/* 01429C 7001369C 8CAE0008 */ lw $t6, 8($a1) -/* 0142A0 700136A0 51C00016 */ beql $t6, $zero, .L700136FC -/* 0142A4 700136A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0142A8 700136A8 0C003C34 */ jal __allocParam -/* 0142AC 700136AC AFA5001C */ sw $a1, 0x1c($sp) -/* 0142B0 700136B0 8FA7001C */ lw $a3, 0x1c($sp) -/* 0142B4 700136B4 10400010 */ beqz $v0, .L700136F8 -/* 0142B8 700136B8 00403025 */ move $a2, $v0 -/* 0142BC 700136BC 8FAF0018 */ lw $t7, 0x18($sp) -/* 0142C0 700136C0 8CF90008 */ lw $t9, 8($a3) -/* 0142C4 700136C4 240A000F */ li $t2, 15 -/* 0142C8 700136C8 8DF8001C */ lw $t8, 0x1c($t7) -/* 0142CC 700136CC 8F2800D8 */ lw $t0, 0xd8($t9) -/* 0142D0 700136D0 A44A0008 */ sh $t2, 8($v0) -/* 0142D4 700136D4 AC400000 */ sw $zero, ($v0) -/* 0142D8 700136D8 03084821 */ addu $t1, $t8, $t0 -/* 0142DC 700136DC AC490004 */ sw $t1, 4($v0) -/* 0142E0 700136E0 8CEB0008 */ lw $t3, 8($a3) -/* 0142E4 700136E4 24050003 */ li $a1, 3 -/* 0142E8 700136E8 8D64000C */ lw $a0, 0xc($t3) -/* 0142EC 700136EC 8C990008 */ lw $t9, 8($a0) -/* 0142F0 700136F0 0320F809 */ jalr $t9 -/* 0142F4 700136F4 00000000 */ nop -.L700136F8: -/* 0142F8 700136F8 8FBF0014 */ lw $ra, 0x14($sp) -.L700136FC: -/* 0142FC 700136FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 014300 70013700 03E00008 */ jr $ra -/* 014304 70013704 00000000 */ nop - -/* 014308 70013708 00000000 */ nop -/* 01430C 7001370C 00000000 */ nop -glabel alSynFreeVoice -/* 014310 70013710 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 014314 70013714 AFBF0014 */ sw $ra, 0x14($sp) -/* 014318 70013718 8CA60008 */ lw $a2, 8($a1) -/* 01431C 7001371C 00804025 */ move $t0, $a0 -/* 014320 70013720 00A03825 */ move $a3, $a1 -/* 014324 70013724 50C00023 */ beql $a2, $zero, .L700137B4 -/* 014328 70013728 8FBF0014 */ lw $ra, 0x14($sp) -/* 01432C 7001372C 8CCE00D8 */ lw $t6, 0xd8($a2) -/* 014330 70013730 51C0001A */ beql $t6, $zero, .L7001379C -/* 014334 70013734 01002025 */ move $a0, $t0 -/* 014338 70013738 AFA5001C */ sw $a1, 0x1c($sp) -/* 01433C 7001373C 0C003C34 */ jal __allocParam -/* 014340 70013740 AFA40018 */ sw $a0, 0x18($sp) -/* 014344 70013744 8FA7001C */ lw $a3, 0x1c($sp) -/* 014348 70013748 8FA80018 */ lw $t0, 0x18($sp) -/* 01434C 7001374C 10400018 */ beqz $v0, .L700137B0 -/* 014350 70013750 00403025 */ move $a2, $v0 -/* 014354 70013754 8CF80008 */ lw $t8, 8($a3) -/* 014358 70013758 8D0F001C */ lw $t7, 0x1c($t0) -/* 01435C 7001375C 24050003 */ li $a1, 3 -/* 014360 70013760 8F1900D8 */ lw $t9, 0xd8($t8) -/* 014364 70013764 A4400008 */ sh $zero, 8($v0) -/* 014368 70013768 01F94821 */ addu $t1, $t7, $t9 -/* 01436C 7001376C AC490004 */ sw $t1, 4($v0) -/* 014370 70013770 8CEA0008 */ lw $t2, 8($a3) -/* 014374 70013774 AC4A000C */ sw $t2, 0xc($v0) -/* 014378 70013778 8CEB0008 */ lw $t3, 8($a3) -/* 01437C 7001377C 8D64000C */ lw $a0, 0xc($t3) -/* 014380 70013780 AFA7001C */ sw $a3, 0x1c($sp) -/* 014384 70013784 8C990008 */ lw $t9, 8($a0) -/* 014388 70013788 0320F809 */ jalr $t9 -/* 01438C 7001378C 00000000 */ nop -/* 014390 70013790 10000006 */ b .L700137AC -/* 014394 70013794 8FA7001C */ lw $a3, 0x1c($sp) -/* 014398 70013798 01002025 */ move $a0, $t0 -.L7001379C: -/* 01439C 7001379C 00C02825 */ move $a1, $a2 -/* 0143A0 700137A0 0C003C08 */ jal _freePVoice -/* 0143A4 700137A4 AFA7001C */ sw $a3, 0x1c($sp) -/* 0143A8 700137A8 8FA7001C */ lw $a3, 0x1c($sp) -.L700137AC: -/* 0143AC 700137AC ACE00008 */ sw $zero, 8($a3) -.L700137B0: -/* 0143B0 700137B0 8FBF0014 */ lw $ra, 0x14($sp) -.L700137B4: -/* 0143B4 700137B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0143B8 700137B8 03E00008 */ jr $ra -/* 0143BC 700137BC 00000000 */ nop - -glabel alCents2Ratio -/* 0143C0 700137C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0143C4 700137C4 44811000 */ mtc1 $at, $f2 -/* 0143C8 700137C8 04800004 */ bltz $a0, .L700137DC -/* 0143CC 700137CC 3C018003 */ lui $at, %hi(F32_800296E4) -/* 0143D0 700137D0 3C018003 */ lui $at, %hi(F32_800296E0) -/* 0143D4 700137D4 10000003 */ b .L700137E4 -/* 0143D8 700137D8 C42096E0 */ lwc1 $f0, %lo(F32_800296E0)($at) -.L700137DC: -/* 0143DC 700137DC C42096E4 */ lwc1 $f0, %lo(F32_800296E4)($at) -/* 0143E0 700137E0 00042023 */ negu $a0, $a0 -.L700137E4: -/* 0143E4 700137E4 10800008 */ beqz $a0, .L70013808 -.L700137E8: -/* 0143E8 700137E8 308E0001 */ andi $t6, $a0, 1 -/* 0143EC 700137EC 11C00003 */ beqz $t6, .L700137FC -/* 0143F0 700137F0 00047843 */ sra $t7, $a0, 1 -/* 0143F4 700137F4 46001082 */ mul.s $f2, $f2, $f0 -/* 0143F8 700137F8 00000000 */ nop -.L700137FC: -/* 0143FC 700137FC 46000002 */ mul.s $f0, $f0, $f0 -/* 014400 70013800 15E0FFF9 */ bnez $t7, .L700137E8 -/* 014404 70013804 01E02025 */ move $a0, $t7 -.L70013808: -/* 014408 70013808 03E00008 */ jr $ra -/* 01440C 7001380C 46001006 */ mov.s $f0, $f2 -.section .rodata -glabel F32_800296E0 -.float 1.0005778 -glabel F32_800296E4 -.float 0.99942255 -.align 4 - -.section .text -glabel osPiReadIo -/* 014410 70013810 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 014414 70013814 AFBF001C */ sw $ra, 0x1c($sp) -/* 014418 70013818 AFA40028 */ sw $a0, 0x28($sp) -/* 01441C 7001381C AFA5002C */ sw $a1, 0x2c($sp) -/* 014420 70013820 0C0075D8 */ jal __osPiGetAccess -/* 014424 70013824 AFB00018 */ sw $s0, 0x18($sp) -/* 014428 70013828 8FA40028 */ lw $a0, 0x28($sp) -/* 01442C 7001382C 0C005EF8 */ jal osPiRawReadIo -/* 014430 70013830 8FA5002C */ lw $a1, 0x2c($sp) -/* 014434 70013834 0C0075E9 */ jal __osPiRelAccess -/* 014438 70013838 00408025 */ move $s0, $v0 -/* 01443C 7001383C 8FBF001C */ lw $ra, 0x1c($sp) -/* 014440 70013840 02001025 */ move $v0, $s0 -/* 014444 70013844 8FB00018 */ lw $s0, 0x18($sp) -/* 014448 70013848 03E00008 */ jr $ra -/* 01444C 7001384C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel memcpy -/* 014450 70013850 00801025 */ move $v0, $a0 -/* 014454 70013854 10C00007 */ beqz $a2, .L70013874 -/* 014458 70013858 00A01825 */ move $v1, $a1 -.L7001385C: -/* 01445C 7001385C 906E0000 */ lbu $t6, ($v1) -/* 014460 70013860 24C6FFFF */ addiu $a2, $a2, -1 -/* 014464 70013864 24420001 */ addiu $v0, $v0, 1 -/* 014468 70013868 24630001 */ addiu $v1, $v1, 1 -/* 01446C 7001386C 14C0FFFB */ bnez $a2, .L7001385C -/* 014470 70013870 A04EFFFF */ sb $t6, -1($v0) -.L70013874: -/* 014474 70013874 03E00008 */ jr $ra -/* 014478 70013878 00801025 */ move $v0, $a0 - -glabel strlen -/* 01447C 7001387C 908E0000 */ lbu $t6, ($a0) -/* 014480 70013880 00801825 */ move $v1, $a0 -/* 014484 70013884 11C00005 */ beqz $t6, .L7001389C -/* 014488 70013888 00000000 */ nop -/* 01448C 7001388C 906F0001 */ lbu $t7, 1($v1) -.L70013890: -/* 014490 70013890 24630001 */ addiu $v1, $v1, 1 -/* 014494 70013894 55E0FFFE */ bnezl $t7, .L70013890 -/* 014498 70013898 906F0001 */ lbu $t7, 1($v1) -.L7001389C: -/* 01449C 7001389C 03E00008 */ jr $ra -/* 0144A0 700138A0 00641023 */ subu $v0, $v1, $a0 - -glabel strchr -/* 0144A4 700138A4 90830000 */ lbu $v1, ($a0) -/* 0144A8 700138A8 30AE00FF */ andi $t6, $a1, 0xff -/* 0144AC 700138AC 30A200FF */ andi $v0, $a1, 0xff -/* 0144B0 700138B0 51C3000A */ beql $t6, $v1, .L700138DC -/* 0144B4 700138B4 00801025 */ move $v0, $a0 -.L700138B8: -/* 0144B8 700138B8 54600004 */ bnezl $v1, .L700138CC -/* 0144BC 700138BC 90830001 */ lbu $v1, 1($a0) -/* 0144C0 700138C0 03E00008 */ jr $ra -/* 0144C4 700138C4 00001025 */ move $v0, $zero - -/* 0144C8 700138C8 90830001 */ lbu $v1, 1($a0) -.L700138CC: -/* 0144CC 700138CC 24840001 */ addiu $a0, $a0, 1 -/* 0144D0 700138D0 1443FFF9 */ bne $v0, $v1, .L700138B8 -/* 0144D4 700138D4 00000000 */ nop -/* 0144D8 700138D8 00801025 */ move $v0, $a0 -.L700138DC: -/* 0144DC 700138DC 03E00008 */ jr $ra -/* 0144E0 700138E0 00000000 */ nop - -/* 0144E4 700138E4 00000000 */ nop -/* 0144E8 700138E8 00000000 */ nop -/* 0144EC 700138EC 00000000 */ nop -glabel _Putfld -/* 0144F0 700138F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0144F4 700138F4 AFA50020 */ sw $a1, 0x20($sp) -/* 0144F8 700138F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0144FC 700138FC 30AE00FF */ andi $t6, $a1, 0xff -/* 014500 70013900 29C10026 */ slti $at, $t6, 0x26 -/* 014504 70013904 01C02825 */ move $a1, $t6 -/* 014508 70013908 AE00000C */ sw $zero, 0xc($s0) -/* 01450C 7001390C AE000010 */ sw $zero, 0x10($s0) -/* 014510 70013910 AE000014 */ sw $zero, 0x14($s0) -/* 014514 70013914 AE000018 */ sw $zero, 0x18($s0) -/* 014518 70013918 AE00001C */ sw $zero, 0x1c($s0) -/* 01451C 7001391C AE000020 */ sw $zero, 0x20($s0) -/* 014520 70013920 1420000A */ bnez $at, .L7001394C -/* 014524 70013924 01C01825 */ move $v1, $t6 -/* 014528 70013928 25CFFFBB */ addiu $t7, $t6, -0x45 -/* 01452C 7001392C 2DE10034 */ sltiu $at, $t7, 0x34 -/* 014530 70013930 10200181 */ beqz $at, .L70013F38 -/* 014534 70013934 000F7880 */ sll $t7, $t7, 2 -/* 014538 70013938 3C018003 */ lui $at, %hi(jpt_80029714) -/* 01453C 7001393C 002F0821 */ addu $at, $at, $t7 -/* 014540 70013940 8C2F9714 */ lw $t7, %lo(jpt_80029714)($at) -/* 014544 70013944 01E00008 */ jr $t7 -/* 014548 70013948 00000000 */ nop -.L7001394C: -/* 01454C 7001394C 24010025 */ li $at, 37 -/* 014550 70013950 50610172 */ beql $v1, $at, .L70013F1C -/* 014554 70013954 8E18000C */ lw $t8, 0xc($s0) -/* 014558 70013958 10000178 */ b .L70013F3C -/* 01455C 7001395C 8E0E000C */ lw $t6, 0xc($s0) -.L70013960: -/* 014560 70013960 8CD80000 */ lw $t8, ($a2) -/* 014564 70013964 2401FFFC */ li $at, -4 -/* 014568 70013968 27190003 */ addiu $t9, $t8, 3 -/* 01456C 7001396C 03217024 */ and $t6, $t9, $at -/* 014570 70013970 25CF0004 */ addiu $t7, $t6, 4 -/* 014574 70013974 ACCF0000 */ sw $t7, ($a2) -/* 014578 70013978 8E0E000C */ lw $t6, 0xc($s0) -/* 01457C 7001397C 8DF9FFFC */ lw $t9, -4($t7) -/* 014580 70013980 00EE7821 */ addu $t7, $a3, $t6 -/* 014584 70013984 A1F90000 */ sb $t9, ($t7) -/* 014588 70013988 8E18000C */ lw $t8, 0xc($s0) -/* 01458C 7001398C 270E0001 */ addiu $t6, $t8, 1 -/* 014590 70013990 1000016F */ b .L70013F50 -/* 014594 70013994 AE0E000C */ sw $t6, 0xc($s0) -.L70013998: -/* 014598 70013998 92020034 */ lbu $v0, 0x34($s0) -/* 01459C 7001399C 2401006C */ li $at, 108 -/* 0145A0 700139A0 5441000D */ bnel $v0, $at, .L700139D8 -/* 0145A4 700139A4 2401004C */ li $at, 76 -/* 0145A8 700139A8 8CD90000 */ lw $t9, ($a2) -/* 0145AC 700139AC 2401FFFC */ li $at, -4 -/* 0145B0 700139B0 272F0003 */ addiu $t7, $t9, 3 -/* 0145B4 700139B4 01E1C024 */ and $t8, $t7, $at -/* 0145B8 700139B8 270E0004 */ addiu $t6, $t8, 4 -/* 0145BC 700139BC ACCE0000 */ sw $t6, ($a2) -/* 0145C0 700139C0 8DCFFFFC */ lw $t7, -4($t6) -/* 0145C4 700139C4 000FC7C3 */ sra $t8, $t7, 0x1f -/* 0145C8 700139C8 AE180000 */ sw $t8, ($s0) -/* 0145CC 700139CC 10000019 */ b .L70013A34 -/* 0145D0 700139D0 AE0F0004 */ sw $t7, 4($s0) -/* 0145D4 700139D4 2401004C */ li $at, 76 -.L700139D8: -/* 0145D8 700139D8 5441000D */ bnel $v0, $at, .L70013A10 -/* 0145DC 700139DC 8CCF0000 */ lw $t7, ($a2) -/* 0145E0 700139E0 8CCE0000 */ lw $t6, ($a2) -/* 0145E4 700139E4 2401FFF8 */ li $at, -8 -/* 0145E8 700139E8 25CF0007 */ addiu $t7, $t6, 7 -/* 0145EC 700139EC 01E1C024 */ and $t8, $t7, $at -/* 0145F0 700139F0 27190008 */ addiu $t9, $t8, 8 -/* 0145F4 700139F4 ACD90000 */ sw $t9, ($a2) -/* 0145F8 700139F8 8F38FFF8 */ lw $t8, -8($t9) -/* 0145FC 700139FC 8F39FFFC */ lw $t9, -4($t9) -/* 014600 70013A00 AE180000 */ sw $t8, ($s0) -/* 014604 70013A04 1000000B */ b .L70013A34 -/* 014608 70013A08 AE190004 */ sw $t9, 4($s0) -/* 01460C 70013A0C 8CCF0000 */ lw $t7, ($a2) -.L70013A10: -/* 014610 70013A10 2401FFFC */ li $at, -4 -/* 014614 70013A14 25EE0003 */ addiu $t6, $t7, 3 -/* 014618 70013A18 01C1C024 */ and $t8, $t6, $at -/* 01461C 70013A1C 27190004 */ addiu $t9, $t8, 4 -/* 014620 70013A20 ACD90000 */ sw $t9, ($a2) -/* 014624 70013A24 8F2EFFFC */ lw $t6, -4($t9) -/* 014628 70013A28 000EC7C3 */ sra $t8, $t6, 0x1f -/* 01462C 70013A2C AE180000 */ sw $t8, ($s0) -/* 014630 70013A30 AE0E0004 */ sw $t6, 4($s0) -.L70013A34: -/* 014634 70013A34 920F0034 */ lbu $t7, 0x34($s0) -/* 014638 70013A38 24010068 */ li $at, 104 -/* 01463C 70013A3C 55E10008 */ bnel $t7, $at, .L70013A60 -/* 014640 70013A40 8E0E0000 */ lw $t6, ($s0) -/* 014644 70013A44 8E0F0004 */ lw $t7, 4($s0) -/* 014648 70013A48 000FCC00 */ sll $t9, $t7, 0x10 -/* 01464C 70013A4C 00197403 */ sra $t6, $t9, 0x10 -/* 014650 70013A50 000EC7C3 */ sra $t8, $t6, 0x1f -/* 014654 70013A54 AE180000 */ sw $t8, ($s0) -/* 014658 70013A58 AE0E0004 */ sw $t6, 4($s0) -/* 01465C 70013A5C 8E0E0000 */ lw $t6, ($s0) -.L70013A60: -/* 014660 70013A60 5DC0000E */ bgtzl $t6, .L70013A9C -/* 014664 70013A64 8E020030 */ lw $v0, 0x30($s0) -/* 014668 70013A68 05C20004 */ bltzl $t6, .L70013A7C -/* 01466C 70013A6C 8E19000C */ lw $t9, 0xc($s0) -/* 014670 70013A70 1000000A */ b .L70013A9C -/* 014674 70013A74 8E020030 */ lw $v0, 0x30($s0) -/* 014678 70013A78 8E19000C */ lw $t9, 0xc($s0) -.L70013A7C: -/* 01467C 70013A7C 2418002D */ li $t8, 45 -/* 014680 70013A80 00F97021 */ addu $t6, $a3, $t9 -/* 014684 70013A84 A1D80000 */ sb $t8, ($t6) -/* 014688 70013A88 8E0F000C */ lw $t7, 0xc($s0) -/* 01468C 70013A8C 25F90001 */ addiu $t9, $t7, 1 -/* 014690 70013A90 10000016 */ b .L70013AEC -/* 014694 70013A94 AE19000C */ sw $t9, 0xc($s0) -/* 014698 70013A98 8E020030 */ lw $v0, 0x30($s0) -.L70013A9C: -/* 01469C 70013A9C 30580002 */ andi $t8, $v0, 2 -/* 0146A0 70013AA0 13000009 */ beqz $t8, .L70013AC8 -/* 0146A4 70013AA4 304E0001 */ andi $t6, $v0, 1 -/* 0146A8 70013AA8 8E0F000C */ lw $t7, 0xc($s0) -/* 0146AC 70013AAC 240E002B */ li $t6, 43 -/* 0146B0 70013AB0 00EFC821 */ addu $t9, $a3, $t7 -/* 0146B4 70013AB4 A32E0000 */ sb $t6, ($t9) -/* 0146B8 70013AB8 8E18000C */ lw $t8, 0xc($s0) -/* 0146BC 70013ABC 270F0001 */ addiu $t7, $t8, 1 -/* 0146C0 70013AC0 1000000A */ b .L70013AEC -/* 0146C4 70013AC4 AE0F000C */ sw $t7, 0xc($s0) -.L70013AC8: -/* 0146C8 70013AC8 51C00009 */ beql $t6, $zero, .L70013AF0 -/* 0146CC 70013ACC 8E19000C */ lw $t9, 0xc($s0) -/* 0146D0 70013AD0 8E18000C */ lw $t8, 0xc($s0) -/* 0146D4 70013AD4 24190020 */ li $t9, 32 -/* 0146D8 70013AD8 00F87821 */ addu $t7, $a3, $t8 -/* 0146DC 70013ADC A1F90000 */ sb $t9, ($t7) -/* 0146E0 70013AE0 8E0E000C */ lw $t6, 0xc($s0) -/* 0146E4 70013AE4 25D80001 */ addiu $t8, $t6, 1 -/* 0146E8 70013AE8 AE18000C */ sw $t8, 0xc($s0) -.L70013AEC: -/* 0146EC 70013AEC 8E19000C */ lw $t9, 0xc($s0) -.L70013AF0: -/* 0146F0 70013AF0 02002025 */ move $a0, $s0 -/* 0146F4 70013AF4 03277821 */ addu $t7, $t9, $a3 -/* 0146F8 70013AF8 0C0075F4 */ jal _Litob -/* 0146FC 70013AFC AE0F0008 */ sw $t7, 8($s0) -/* 014700 70013B00 10000114 */ b .L70013F54 -/* 014704 70013B04 8FBF0014 */ lw $ra, 0x14($sp) -.L70013B08: -/* 014708 70013B08 92020034 */ lbu $v0, 0x34($s0) -/* 01470C 70013B0C 2401006C */ li $at, 108 -/* 014710 70013B10 5441000D */ bnel $v0, $at, .L70013B48 -/* 014714 70013B14 2401004C */ li $at, 76 -/* 014718 70013B18 8CCE0000 */ lw $t6, ($a2) -/* 01471C 70013B1C 2401FFFC */ li $at, -4 -/* 014720 70013B20 25D80003 */ addiu $t8, $t6, 3 -/* 014724 70013B24 0301C824 */ and $t9, $t8, $at -/* 014728 70013B28 272F0004 */ addiu $t7, $t9, 4 -/* 01472C 70013B2C ACCF0000 */ sw $t7, ($a2) -/* 014730 70013B30 8DF8FFFC */ lw $t8, -4($t7) -/* 014734 70013B34 001877C3 */ sra $t6, $t8, 0x1f -/* 014738 70013B38 AE0E0000 */ sw $t6, ($s0) -/* 01473C 70013B3C 10000019 */ b .L70013BA4 -/* 014740 70013B40 AE180004 */ sw $t8, 4($s0) -/* 014744 70013B44 2401004C */ li $at, 76 -.L70013B48: -/* 014748 70013B48 5441000D */ bnel $v0, $at, .L70013B80 -/* 01474C 70013B4C 8CCE0000 */ lw $t6, ($a2) -/* 014750 70013B50 8CD90000 */ lw $t9, ($a2) -/* 014754 70013B54 2401FFF8 */ li $at, -8 -/* 014758 70013B58 27380007 */ addiu $t8, $t9, 7 -/* 01475C 70013B5C 03017024 */ and $t6, $t8, $at -/* 014760 70013B60 25CF0008 */ addiu $t7, $t6, 8 -/* 014764 70013B64 ACCF0000 */ sw $t7, ($a2) -/* 014768 70013B68 8DF9FFFC */ lw $t9, -4($t7) -/* 01476C 70013B6C 8DF8FFF8 */ lw $t8, -8($t7) -/* 014770 70013B70 AE190004 */ sw $t9, 4($s0) -/* 014774 70013B74 1000000B */ b .L70013BA4 -/* 014778 70013B78 AE180000 */ sw $t8, ($s0) -/* 01477C 70013B7C 8CCE0000 */ lw $t6, ($a2) -.L70013B80: -/* 014780 70013B80 2401FFFC */ li $at, -4 -/* 014784 70013B84 25CF0003 */ addiu $t7, $t6, 3 -/* 014788 70013B88 01E1C024 */ and $t8, $t7, $at -/* 01478C 70013B8C 27190004 */ addiu $t9, $t8, 4 -/* 014790 70013B90 ACD90000 */ sw $t9, ($a2) -/* 014794 70013B94 8F2FFFFC */ lw $t7, -4($t9) -/* 014798 70013B98 000FC7C3 */ sra $t8, $t7, 0x1f -/* 01479C 70013B9C AE180000 */ sw $t8, ($s0) -/* 0147A0 70013BA0 AE0F0004 */ sw $t7, 4($s0) -.L70013BA4: -/* 0147A4 70013BA4 92020034 */ lbu $v0, 0x34($s0) -/* 0147A8 70013BA8 24010068 */ li $at, 104 -/* 0147AC 70013BAC 14410007 */ bne $v0, $at, .L70013BCC -/* 0147B0 70013BB0 00000000 */ nop -/* 0147B4 70013BB4 8E0F0004 */ lw $t7, 4($s0) -/* 0147B8 70013BB8 240E0000 */ li $t6, 0 -/* 0147BC 70013BBC AE0E0000 */ sw $t6, ($s0) -/* 0147C0 70013BC0 31F9FFFF */ andi $t9, $t7, 0xffff -/* 0147C4 70013BC4 10000007 */ b .L70013BE4 -/* 0147C8 70013BC8 AE190004 */ sw $t9, 4($s0) -.L70013BCC: -/* 0147CC 70013BCC 54400006 */ bnezl $v0, .L70013BE8 -/* 0147D0 70013BD0 8E0F0030 */ lw $t7, 0x30($s0) -/* 0147D4 70013BD4 8E190004 */ lw $t9, 4($s0) -/* 0147D8 70013BD8 24180000 */ li $t8, 0 -/* 0147DC 70013BDC AE180000 */ sw $t8, ($s0) -/* 0147E0 70013BE0 AE190004 */ sw $t9, 4($s0) -.L70013BE4: -/* 0147E4 70013BE4 8E0F0030 */ lw $t7, 0x30($s0) -.L70013BE8: -/* 0147E8 70013BE8 31EE0008 */ andi $t6, $t7, 8 -/* 0147EC 70013BEC 51C00014 */ beql $t6, $zero, .L70013C40 -/* 0147F0 70013BF0 8E18000C */ lw $t8, 0xc($s0) -/* 0147F4 70013BF4 8E19000C */ lw $t9, 0xc($s0) -/* 0147F8 70013BF8 24180030 */ li $t8, 48 -/* 0147FC 70013BFC 24010078 */ li $at, 120 -/* 014800 70013C00 00F97821 */ addu $t7, $a3, $t9 -/* 014804 70013C04 A1F80000 */ sb $t8, ($t7) -/* 014808 70013C08 8E0E000C */ lw $t6, 0xc($s0) -/* 01480C 70013C0C 25D90001 */ addiu $t9, $t6, 1 -/* 014810 70013C10 10610004 */ beq $v1, $at, .L70013C24 -/* 014814 70013C14 AE19000C */ sw $t9, 0xc($s0) -/* 014818 70013C18 24010058 */ li $at, 88 -/* 01481C 70013C1C 54610008 */ bnel $v1, $at, .L70013C40 -/* 014820 70013C20 8E18000C */ lw $t8, 0xc($s0) -.L70013C24: -/* 014824 70013C24 8E18000C */ lw $t8, 0xc($s0) -/* 014828 70013C28 00F87821 */ addu $t7, $a3, $t8 -/* 01482C 70013C2C A1E50000 */ sb $a1, ($t7) -/* 014830 70013C30 8E0E000C */ lw $t6, 0xc($s0) -/* 014834 70013C34 25D90001 */ addiu $t9, $t6, 1 -/* 014838 70013C38 AE19000C */ sw $t9, 0xc($s0) -/* 01483C 70013C3C 8E18000C */ lw $t8, 0xc($s0) -.L70013C40: -/* 014840 70013C40 02002025 */ move $a0, $s0 -/* 014844 70013C44 03077821 */ addu $t7, $t8, $a3 -/* 014848 70013C48 0C0075F4 */ jal _Litob -/* 01484C 70013C4C AE0F0008 */ sw $t7, 8($s0) -/* 014850 70013C50 100000C0 */ b .L70013F54 -/* 014854 70013C54 8FBF0014 */ lw $ra, 0x14($sp) -.L70013C58: -/* 014858 70013C58 920E0034 */ lbu $t6, 0x34($s0) -/* 01485C 70013C5C 2401004C */ li $at, 76 -/* 014860 70013C60 55C10019 */ bnel $t6, $at, .L70013CC8 -/* 014864 70013C64 8CC20000 */ lw $v0, ($a2) -/* 014868 70013C68 8CC20000 */ lw $v0, ($a2) -/* 01486C 70013C6C 30590001 */ andi $t9, $v0, 1 -/* 014870 70013C70 13200005 */ beqz $t9, .L70013C88 -/* 014874 70013C74 00401825 */ move $v1, $v0 -/* 014878 70013C78 24780007 */ addiu $t8, $v1, 7 -/* 01487C 70013C7C ACD80000 */ sw $t8, ($a2) -/* 014880 70013C80 1000000D */ b .L70013CB8 -/* 014884 70013C84 2702FFEA */ addiu $v0, $t8, -0x16 -.L70013C88: -/* 014888 70013C88 306F0002 */ andi $t7, $v1, 2 -/* 01488C 70013C8C 11E00005 */ beqz $t7, .L70013CA4 -/* 014890 70013C90 24590007 */ addiu $t9, $v0, 7 -/* 014894 70013C94 246E000A */ addiu $t6, $v1, 0xa -/* 014898 70013C98 ACCE0000 */ sw $t6, ($a2) -/* 01489C 70013C9C 10000005 */ b .L70013CB4 -/* 0148A0 70013CA0 25C4FFD8 */ addiu $a0, $t6, -0x28 -.L70013CA4: -/* 0148A4 70013CA4 2401FFF8 */ li $at, -8 -/* 0148A8 70013CA8 0321C024 */ and $t8, $t9, $at -/* 0148AC 70013CAC 27040008 */ addiu $a0, $t8, 8 -/* 0148B0 70013CB0 ACC40000 */ sw $a0, ($a2) -.L70013CB4: -/* 0148B4 70013CB4 00801025 */ move $v0, $a0 -.L70013CB8: -/* 0148B8 70013CB8 D444FFF8 */ ldc1 $f4, -8($v0) -/* 0148BC 70013CBC 10000017 */ b .L70013D1C -/* 0148C0 70013CC0 F6040000 */ sdc1 $f4, ($s0) -/* 0148C4 70013CC4 8CC20000 */ lw $v0, ($a2) -.L70013CC8: -/* 0148C8 70013CC8 304E0001 */ andi $t6, $v0, 1 -/* 0148CC 70013CCC 11C00005 */ beqz $t6, .L70013CE4 -/* 0148D0 70013CD0 00401825 */ move $v1, $v0 -/* 0148D4 70013CD4 24790007 */ addiu $t9, $v1, 7 -/* 0148D8 70013CD8 ACD90000 */ sw $t9, ($a2) -/* 0148DC 70013CDC 1000000D */ b .L70013D14 -/* 0148E0 70013CE0 2722FFEA */ addiu $v0, $t9, -0x16 -.L70013CE4: -/* 0148E4 70013CE4 30780002 */ andi $t8, $v1, 2 -/* 0148E8 70013CE8 13000005 */ beqz $t8, .L70013D00 -/* 0148EC 70013CEC 244E0007 */ addiu $t6, $v0, 7 -/* 0148F0 70013CF0 246F000A */ addiu $t7, $v1, 0xa -/* 0148F4 70013CF4 ACCF0000 */ sw $t7, ($a2) -/* 0148F8 70013CF8 10000005 */ b .L70013D10 -/* 0148FC 70013CFC 25E4FFD8 */ addiu $a0, $t7, -0x28 -.L70013D00: -/* 014900 70013D00 2401FFF8 */ li $at, -8 -/* 014904 70013D04 01C1C824 */ and $t9, $t6, $at -/* 014908 70013D08 27240008 */ addiu $a0, $t9, 8 -/* 01490C 70013D0C ACC40000 */ sw $a0, ($a2) -.L70013D10: -/* 014910 70013D10 00801025 */ move $v0, $a0 -.L70013D14: -/* 014914 70013D14 D446FFF8 */ ldc1 $f6, -8($v0) -/* 014918 70013D18 F6060000 */ sdc1 $f6, ($s0) -.L70013D1C: -/* 01491C 70013D1C 960F0000 */ lhu $t7, ($s0) -/* 014920 70013D20 31EE8000 */ andi $t6, $t7, 0x8000 -/* 014924 70013D24 51C0000A */ beql $t6, $zero, .L70013D50 -/* 014928 70013D28 8E020030 */ lw $v0, 0x30($s0) -/* 01492C 70013D2C 8E18000C */ lw $t8, 0xc($s0) -/* 014930 70013D30 2419002D */ li $t9, 45 -/* 014934 70013D34 00F87821 */ addu $t7, $a3, $t8 -/* 014938 70013D38 A1F90000 */ sb $t9, ($t7) -/* 01493C 70013D3C 8E0E000C */ lw $t6, 0xc($s0) -/* 014940 70013D40 25D80001 */ addiu $t8, $t6, 1 -/* 014944 70013D44 10000016 */ b .L70013DA0 -/* 014948 70013D48 AE18000C */ sw $t8, 0xc($s0) -/* 01494C 70013D4C 8E020030 */ lw $v0, 0x30($s0) -.L70013D50: -/* 014950 70013D50 30590002 */ andi $t9, $v0, 2 -/* 014954 70013D54 13200009 */ beqz $t9, .L70013D7C -/* 014958 70013D58 304F0001 */ andi $t7, $v0, 1 -/* 01495C 70013D5C 8E0E000C */ lw $t6, 0xc($s0) -/* 014960 70013D60 240F002B */ li $t7, 43 -/* 014964 70013D64 00EEC021 */ addu $t8, $a3, $t6 -/* 014968 70013D68 A30F0000 */ sb $t7, ($t8) -/* 01496C 70013D6C 8E19000C */ lw $t9, 0xc($s0) -/* 014970 70013D70 272E0001 */ addiu $t6, $t9, 1 -/* 014974 70013D74 1000000A */ b .L70013DA0 -/* 014978 70013D78 AE0E000C */ sw $t6, 0xc($s0) -.L70013D7C: -/* 01497C 70013D7C 51E00009 */ beql $t7, $zero, .L70013DA4 -/* 014980 70013D80 8E18000C */ lw $t8, 0xc($s0) -/* 014984 70013D84 8E19000C */ lw $t9, 0xc($s0) -/* 014988 70013D88 24180020 */ li $t8, 32 -/* 01498C 70013D8C 00F97021 */ addu $t6, $a3, $t9 -/* 014990 70013D90 A1D80000 */ sb $t8, ($t6) -/* 014994 70013D94 8E0F000C */ lw $t7, 0xc($s0) -/* 014998 70013D98 25F90001 */ addiu $t9, $t7, 1 -/* 01499C 70013D9C AE19000C */ sw $t9, 0xc($s0) -.L70013DA0: -/* 0149A0 70013DA0 8E18000C */ lw $t8, 0xc($s0) -.L70013DA4: -/* 0149A4 70013DA4 02002025 */ move $a0, $s0 -/* 0149A8 70013DA8 03077021 */ addu $t6, $t8, $a3 -/* 0149AC 70013DAC 0C0077F8 */ jal _Ldtob -/* 0149B0 70013DB0 AE0E0008 */ sw $t6, 8($s0) -/* 0149B4 70013DB4 10000067 */ b .L70013F54 -/* 0149B8 70013DB8 8FBF0014 */ lw $ra, 0x14($sp) -.L70013DBC: -/* 0149BC 70013DBC 92020034 */ lbu $v0, 0x34($s0) -/* 0149C0 70013DC0 24010068 */ li $at, 104 -/* 0149C4 70013DC4 5441000C */ bnel $v0, $at, .L70013DF8 -/* 0149C8 70013DC8 2401006C */ li $at, 108 -/* 0149CC 70013DCC 8CCF0000 */ lw $t7, ($a2) -/* 0149D0 70013DD0 2401FFFC */ li $at, -4 -/* 0149D4 70013DD4 25F90003 */ addiu $t9, $t7, 3 -/* 0149D8 70013DD8 0321C024 */ and $t8, $t9, $at -/* 0149DC 70013DDC 270E0004 */ addiu $t6, $t8, 4 -/* 0149E0 70013DE0 ACCE0000 */ sw $t6, ($a2) -/* 0149E4 70013DE4 8DD9FFFC */ lw $t9, -4($t6) -/* 0149E8 70013DE8 8E0F002C */ lw $t7, 0x2c($s0) -/* 0149EC 70013DEC 10000058 */ b .L70013F50 -/* 0149F0 70013DF0 A72F0000 */ sh $t7, ($t9) -/* 0149F4 70013DF4 2401006C */ li $at, 108 -.L70013DF8: -/* 0149F8 70013DF8 5441000C */ bnel $v0, $at, .L70013E2C -/* 0149FC 70013DFC 2401004C */ li $at, 76 -/* 014A00 70013E00 8CD80000 */ lw $t8, ($a2) -/* 014A04 70013E04 2401FFFC */ li $at, -4 -/* 014A08 70013E08 270E0003 */ addiu $t6, $t8, 3 -/* 014A0C 70013E0C 01C17824 */ and $t7, $t6, $at -/* 014A10 70013E10 25F90004 */ addiu $t9, $t7, 4 -/* 014A14 70013E14 ACD90000 */ sw $t9, ($a2) -/* 014A18 70013E18 8F2EFFFC */ lw $t6, -4($t9) -/* 014A1C 70013E1C 8E18002C */ lw $t8, 0x2c($s0) -/* 014A20 70013E20 1000004B */ b .L70013F50 -/* 014A24 70013E24 ADD80000 */ sw $t8, ($t6) -/* 014A28 70013E28 2401004C */ li $at, 76 -.L70013E2C: -/* 014A2C 70013E2C 5441000E */ bnel $v0, $at, .L70013E68 -/* 014A30 70013E30 8CCF0000 */ lw $t7, ($a2) -/* 014A34 70013E34 8CCF0000 */ lw $t7, ($a2) -/* 014A38 70013E38 2401FFFC */ li $at, -4 -/* 014A3C 70013E3C 25F90003 */ addiu $t9, $t7, 3 -/* 014A40 70013E40 0321C024 */ and $t8, $t9, $at -/* 014A44 70013E44 270E0004 */ addiu $t6, $t8, 4 -/* 014A48 70013E48 ACCE0000 */ sw $t6, ($a2) -/* 014A4C 70013E4C 8DCEFFFC */ lw $t6, -4($t6) -/* 014A50 70013E50 8E0F002C */ lw $t7, 0x2c($s0) -/* 014A54 70013E54 24180000 */ li $t8, 0 -/* 014A58 70013E58 ADD80000 */ sw $t8, ($t6) -/* 014A5C 70013E5C 1000003C */ b .L70013F50 -/* 014A60 70013E60 ADCF0004 */ sw $t7, 4($t6) -/* 014A64 70013E64 8CCF0000 */ lw $t7, ($a2) -.L70013E68: -/* 014A68 70013E68 2401FFFC */ li $at, -4 -/* 014A6C 70013E6C 25F80003 */ addiu $t8, $t7, 3 -/* 014A70 70013E70 0301C824 */ and $t9, $t8, $at -/* 014A74 70013E74 272E0004 */ addiu $t6, $t9, 4 -/* 014A78 70013E78 ACCE0000 */ sw $t6, ($a2) -/* 014A7C 70013E7C 8DD8FFFC */ lw $t8, -4($t6) -/* 014A80 70013E80 8E0F002C */ lw $t7, 0x2c($s0) -/* 014A84 70013E84 10000032 */ b .L70013F50 -/* 014A88 70013E88 AF0F0000 */ sw $t7, ($t8) -.L70013E8C: -/* 014A8C 70013E8C 8CD90000 */ lw $t9, ($a2) -/* 014A90 70013E90 2401FFFC */ li $at, -4 -/* 014A94 70013E94 02002025 */ move $a0, $s0 -/* 014A98 70013E98 272E0003 */ addiu $t6, $t9, 3 -/* 014A9C 70013E9C 01C17824 */ and $t7, $t6, $at -/* 014AA0 70013EA0 25F80004 */ addiu $t8, $t7, 4 -/* 014AA4 70013EA4 ACD80000 */ sw $t8, ($a2) -/* 014AA8 70013EA8 8F0EFFFC */ lw $t6, -4($t8) -/* 014AAC 70013EAC 8E0F000C */ lw $t7, 0xc($s0) -/* 014AB0 70013EB0 24050078 */ li $a1, 120 -/* 014AB4 70013EB4 000EC7C3 */ sra $t8, $t6, 0x1f -/* 014AB8 70013EB8 AE0E0004 */ sw $t6, 4($s0) -/* 014ABC 70013EBC 01E77021 */ addu $t6, $t7, $a3 -/* 014AC0 70013EC0 AE180000 */ sw $t8, ($s0) -/* 014AC4 70013EC4 0C0075F4 */ jal _Litob -/* 014AC8 70013EC8 AE0E0008 */ sw $t6, 8($s0) -/* 014ACC 70013ECC 10000021 */ b .L70013F54 -/* 014AD0 70013ED0 8FBF0014 */ lw $ra, 0x14($sp) -.L70013ED4: -/* 014AD4 70013ED4 8CD80000 */ lw $t8, ($a2) -/* 014AD8 70013ED8 2401FFFC */ li $at, -4 -/* 014ADC 70013EDC 27190003 */ addiu $t9, $t8, 3 -/* 014AE0 70013EE0 03217824 */ and $t7, $t9, $at -/* 014AE4 70013EE4 25EE0004 */ addiu $t6, $t7, 4 -/* 014AE8 70013EE8 ACCE0000 */ sw $t6, ($a2) -/* 014AEC 70013EEC 8DC4FFFC */ lw $a0, -4($t6) -/* 014AF0 70013EF0 0C004E1F */ jal strlen -/* 014AF4 70013EF4 AE040008 */ sw $a0, 8($s0) -/* 014AF8 70013EF8 8E030024 */ lw $v1, 0x24($s0) -/* 014AFC 70013EFC AE020014 */ sw $v0, 0x14($s0) -/* 014B00 70013F00 04600013 */ bltz $v1, .L70013F50 -/* 014B04 70013F04 0062082A */ slt $at, $v1, $v0 -/* 014B08 70013F08 50200012 */ beql $at, $zero, .L70013F54 -/* 014B0C 70013F0C 8FBF0014 */ lw $ra, 0x14($sp) -/* 014B10 70013F10 1000000F */ b .L70013F50 -/* 014B14 70013F14 AE030014 */ sw $v1, 0x14($s0) -/* 014B18 70013F18 8E18000C */ lw $t8, 0xc($s0) -.L70013F1C: -/* 014B1C 70013F1C 240E0025 */ li $t6, 37 -/* 014B20 70013F20 00F8C821 */ addu $t9, $a3, $t8 -/* 014B24 70013F24 A32E0000 */ sb $t6, ($t9) -/* 014B28 70013F28 8E0F000C */ lw $t7, 0xc($s0) -/* 014B2C 70013F2C 25F80001 */ addiu $t8, $t7, 1 -/* 014B30 70013F30 10000007 */ b .L70013F50 -/* 014B34 70013F34 AE18000C */ sw $t8, 0xc($s0) -.L70013F38: -/* 014B38 70013F38 8E0E000C */ lw $t6, 0xc($s0) -.L70013F3C: -/* 014B3C 70013F3C 00EEC821 */ addu $t9, $a3, $t6 -/* 014B40 70013F40 A3250000 */ sb $a1, ($t9) -/* 014B44 70013F44 8E0F000C */ lw $t7, 0xc($s0) -/* 014B48 70013F48 25F80001 */ addiu $t8, $t7, 1 -/* 014B4C 70013F4C AE18000C */ sw $t8, 0xc($s0) -.L70013F50: -/* 014B50 70013F50 8FBF0014 */ lw $ra, 0x14($sp) -.L70013F54: -/* 014B54 70013F54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 014B58 70013F58 03E00008 */ jr $ra -/* 014B5C 70013F5C 00000000 */ nop - -glabel _Printf -/* 014B60 70013F60 27BDFF20 */ addiu $sp, $sp, -0xe0 -/* 014B64 70013F64 AFB70034 */ sw $s7, 0x34($sp) -/* 014B68 70013F68 AFB60030 */ sw $s6, 0x30($sp) -/* 014B6C 70013F6C AFB5002C */ sw $s5, 0x2c($sp) -/* 014B70 70013F70 AFBE0038 */ sw $fp, 0x38($sp) -/* 014B74 70013F74 AFB40028 */ sw $s4, 0x28($sp) -/* 014B78 70013F78 AFB30024 */ sw $s3, 0x24($sp) -/* 014B7C 70013F7C AFA700EC */ sw $a3, 0xec($sp) -/* 014B80 70013F80 3C158002 */ lui $s5, %hi(zeros) -/* 014B84 70013F84 3C168003 */ lui $s6, %hi(printf_symbols) -/* 014B88 70013F88 3C178002 */ lui $s7, %hi(spaces) -/* 014B8C 70013F8C 00C03825 */ move $a3, $a2 -/* 014B90 70013F90 00A09825 */ move $s3, $a1 -/* 014B94 70013F94 0080A025 */ move $s4, $a0 -/* 014B98 70013F98 AFBF003C */ sw $ra, 0x3c($sp) -/* 014B9C 70013F9C AFB20020 */ sw $s2, 0x20($sp) -/* 014BA0 70013FA0 AFB1001C */ sw $s1, 0x1c($sp) -/* 014BA4 70013FA4 AFB00018 */ sw $s0, 0x18($sp) -/* 014BA8 70013FA8 AFA600E8 */ sw $a2, 0xe8($sp) -/* 014BAC 70013FAC AFA000D4 */ sw $zero, 0xd4($sp) -/* 014BB0 70013FB0 26F77740 */ addiu $s7, %lo(spaces) # addiu $s7, $s7, 0x7740 -/* 014BB4 70013FB4 26D696F4 */ addiu $s6, %lo(printf_symbols) # addiu $s6, $s6, -0x690c -/* 014BB8 70013FB8 26B57764 */ addiu $s5, %lo(zeros) # addiu $s5, $s5, 0x7764 -/* 014BBC 70013FBC 241E000A */ li $fp, 10 -.L70013FC0: -/* 014BC0 70013FC0 90F00000 */ lbu $s0, ($a3) -/* 014BC4 70013FC4 24F20001 */ addiu $s2, $a3, 1 -/* 014BC8 70013FC8 24030025 */ li $v1, 37 -/* 014BCC 70013FCC 1A000009 */ blez $s0, .L70013FF4 -/* 014BD0 70013FD0 02602025 */ move $a0, $s3 -.L70013FD4: -/* 014BD4 70013FD4 54700004 */ bnel $v1, $s0, .L70013FE8 -/* 014BD8 70013FD8 92500000 */ lbu $s0, ($s2) -/* 014BDC 70013FDC 10000005 */ b .L70013FF4 -/* 014BE0 70013FE0 2652FFFF */ addiu $s2, $s2, -1 -/* 014BE4 70013FE4 92500000 */ lbu $s0, ($s2) -.L70013FE8: -/* 014BE8 70013FE8 26520001 */ addiu $s2, $s2, 1 -/* 014BEC 70013FEC 1E00FFF9 */ bgtz $s0, .L70013FD4 -/* 014BF0 70013FF0 00000000 */ nop -.L70013FF4: -/* 014BF4 70013FF4 02471023 */ subu $v0, $s2, $a3 -/* 014BF8 70013FF8 1840000C */ blez $v0, .L7001402C -/* 014BFC 70013FFC 00E02825 */ move $a1, $a3 -/* 014C00 70014000 00408825 */ move $s1, $v0 -/* 014C04 70014004 0280F809 */ jalr $s4 -/* 014C08 70014008 00403025 */ move $a2, $v0 -/* 014C0C 7001400C 10400005 */ beqz $v0, .L70014024 -/* 014C10 70014010 00409825 */ move $s3, $v0 -/* 014C14 70014014 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 014C18 70014018 01D17821 */ addu $t7, $t6, $s1 -/* 014C1C 7001401C 10000003 */ b .L7001402C -/* 014C20 70014020 AFAF00D4 */ sw $t7, 0xd4($sp) -.L70014024: -/* 014C24 70014024 10000153 */ b .L70014574 -/* 014C28 70014028 8FA200D4 */ lw $v0, 0xd4($sp) -.L7001402C: -/* 014C2C 7001402C 16000003 */ bnez $s0, .L7001403C -/* 014C30 70014030 26520001 */ addiu $s2, $s2, 1 -/* 014C34 70014034 1000014F */ b .L70014574 -/* 014C38 70014038 8FA200D4 */ lw $v0, 0xd4($sp) -.L7001403C: -/* 014C3C 7001403C AFA000D8 */ sw $zero, 0xd8($sp) -/* 014C40 70014040 92450000 */ lbu $a1, ($s2) -/* 014C44 70014044 0C004E29 */ jal strchr -/* 014C48 70014048 02C02025 */ move $a0, $s6 -/* 014C4C 7001404C 1040000F */ beqz $v0, .L7001408C -/* 014C50 70014050 00408025 */ move $s0, $v0 -.L70014054: -/* 014C54 70014054 0216C823 */ subu $t9, $s0, $s6 -/* 014C58 70014058 00197080 */ sll $t6, $t9, 2 -/* 014C5C 7001405C 3C0F8003 */ lui $t7, %hi(byteshiftleft_lookup) -/* 014C60 70014060 01EE7821 */ addu $t7, $t7, $t6 -/* 014C64 70014064 8DEF96FC */ lw $t7, %lo(byteshiftleft_lookup)($t7) -/* 014C68 70014068 8FB800D8 */ lw $t8, 0xd8($sp) -/* 014C6C 7001406C 26520001 */ addiu $s2, $s2, 1 -/* 014C70 70014070 02C02025 */ move $a0, $s6 -/* 014C74 70014074 030FC825 */ or $t9, $t8, $t7 -/* 014C78 70014078 AFB900D8 */ sw $t9, 0xd8($sp) -/* 014C7C 7001407C 0C004E29 */ jal strchr -/* 014C80 70014080 92450000 */ lbu $a1, ($s2) -/* 014C84 70014084 1440FFF3 */ bnez $v0, .L70014054 -/* 014C88 70014088 00408025 */ move $s0, $v0 -.L7001408C: -/* 014C8C 7001408C 924E0000 */ lbu $t6, ($s2) -/* 014C90 70014090 2402002A */ li $v0, 42 -/* 014C94 70014094 8FB800EC */ lw $t8, 0xec($sp) -/* 014C98 70014098 144E0011 */ bne $v0, $t6, .L700140E0 -/* 014C9C 7001409C 3C048003 */ lui $a0, %hi(aHll) -/* 014CA0 700140A0 270F0003 */ addiu $t7, $t8, 3 -/* 014CA4 700140A4 2401FFFC */ li $at, -4 -/* 014CA8 700140A8 01E1C824 */ and $t9, $t7, $at -/* 014CAC 700140AC 272E0004 */ addiu $t6, $t9, 4 -/* 014CB0 700140B0 AFAE00EC */ sw $t6, 0xec($sp) -/* 014CB4 700140B4 8F380000 */ lw $t8, ($t9) -/* 014CB8 700140B8 26520001 */ addiu $s2, $s2, 1 -/* 014CBC 700140BC 07010006 */ bgez $t8, .L700140D8 -/* 014CC0 700140C0 AFB800D0 */ sw $t8, 0xd0($sp) -/* 014CC4 700140C4 8FAE00D8 */ lw $t6, 0xd8($sp) -/* 014CC8 700140C8 00187823 */ negu $t7, $t8 -/* 014CCC 700140CC AFAF00D0 */ sw $t7, 0xd0($sp) -/* 014CD0 700140D0 35D90004 */ ori $t9, $t6, 4 -/* 014CD4 700140D4 AFB900D8 */ sw $t9, 0xd8($sp) -.L700140D8: -/* 014CD8 700140D8 10000018 */ b .L7001413C -/* 014CDC 700140DC 92450000 */ lbu $a1, ($s2) -.L700140E0: -/* 014CE0 700140E0 AFA000D0 */ sw $zero, 0xd0($sp) -/* 014CE4 700140E4 92450000 */ lbu $a1, ($s2) -/* 014CE8 700140E8 28A10030 */ slti $at, $a1, 0x30 -/* 014CEC 700140EC 14200013 */ bnez $at, .L7001413C -/* 014CF0 700140F0 28A1003A */ slti $at, $a1, 0x3a -/* 014CF4 700140F4 50200012 */ beql $at, $zero, .L70014140 -/* 014CF8 700140F8 2401002E */ li $at, 46 -/* 014CFC 700140FC 8FB800D0 */ lw $t8, 0xd0($sp) -.L70014100: -/* 014D00 70014100 2B0103E7 */ slti $at, $t8, 0x3e7 -/* 014D04 70014104 50200007 */ beql $at, $zero, .L70014124 -/* 014D08 70014108 92450001 */ lbu $a1, 1($s2) -/* 014D0C 7001410C 031E0019 */ multu $t8, $fp -/* 014D10 70014110 00007812 */ mflo $t7 -/* 014D14 70014114 00AF7021 */ addu $t6, $a1, $t7 -/* 014D18 70014118 25D9FFD0 */ addiu $t9, $t6, -0x30 -/* 014D1C 7001411C AFB900D0 */ sw $t9, 0xd0($sp) -/* 014D20 70014120 92450001 */ lbu $a1, 1($s2) -.L70014124: -/* 014D24 70014124 26520001 */ addiu $s2, $s2, 1 -/* 014D28 70014128 28A10030 */ slti $at, $a1, 0x30 -/* 014D2C 7001412C 14200003 */ bnez $at, .L7001413C -/* 014D30 70014130 28A1003A */ slti $at, $a1, 0x3a -/* 014D34 70014134 5420FFF2 */ bnezl $at, .L70014100 -/* 014D38 70014138 8FB800D0 */ lw $t8, 0xd0($sp) -.L7001413C: -/* 014D3C 7001413C 2401002E */ li $at, 46 -.L70014140: -/* 014D40 70014140 10A10004 */ beq $a1, $at, .L70014154 -/* 014D44 70014144 2418FFFF */ li $t8, -1 -/* 014D48 70014148 AFB800CC */ sw $t8, 0xcc($sp) -/* 014D4C 7001414C 10000026 */ b .L700141E8 -/* 014D50 70014150 92450000 */ lbu $a1, ($s2) -.L70014154: -/* 014D54 70014154 924F0001 */ lbu $t7, 1($s2) -/* 014D58 70014158 8FAE00EC */ lw $t6, 0xec($sp) -/* 014D5C 7001415C 26520001 */ addiu $s2, $s2, 1 -/* 014D60 70014160 144F000A */ bne $v0, $t7, .L7001418C -/* 014D64 70014164 25D90003 */ addiu $t9, $t6, 3 -/* 014D68 70014168 2401FFFC */ li $at, -4 -/* 014D6C 7001416C 0321C024 */ and $t8, $t9, $at -/* 014D70 70014170 270F0004 */ addiu $t7, $t8, 4 -/* 014D74 70014174 AFAF00EC */ sw $t7, 0xec($sp) -/* 014D78 70014178 8F0E0000 */ lw $t6, ($t8) -/* 014D7C 7001417C 26520001 */ addiu $s2, $s2, 1 -/* 014D80 70014180 AFAE00CC */ sw $t6, 0xcc($sp) -/* 014D84 70014184 10000018 */ b .L700141E8 -/* 014D88 70014188 92450000 */ lbu $a1, ($s2) -.L7001418C: -/* 014D8C 7001418C AFA000CC */ sw $zero, 0xcc($sp) -/* 014D90 70014190 92450000 */ lbu $a1, ($s2) -/* 014D94 70014194 28A10030 */ slti $at, $a1, 0x30 -/* 014D98 70014198 14200013 */ bnez $at, .L700141E8 -/* 014D9C 7001419C 28A1003A */ slti $at, $a1, 0x3a -/* 014DA0 700141A0 10200011 */ beqz $at, .L700141E8 -/* 014DA4 700141A4 00000000 */ nop -/* 014DA8 700141A8 8FB900CC */ lw $t9, 0xcc($sp) -.L700141AC: -/* 014DAC 700141AC 2B2103E7 */ slti $at, $t9, 0x3e7 -/* 014DB0 700141B0 50200007 */ beql $at, $zero, .L700141D0 -/* 014DB4 700141B4 92450001 */ lbu $a1, 1($s2) -/* 014DB8 700141B8 033E0019 */ multu $t9, $fp -/* 014DBC 700141BC 00007812 */ mflo $t7 -/* 014DC0 700141C0 00AFC021 */ addu $t8, $a1, $t7 -/* 014DC4 700141C4 270EFFD0 */ addiu $t6, $t8, -0x30 -/* 014DC8 700141C8 AFAE00CC */ sw $t6, 0xcc($sp) -/* 014DCC 700141CC 92450001 */ lbu $a1, 1($s2) -.L700141D0: -/* 014DD0 700141D0 26520001 */ addiu $s2, $s2, 1 -/* 014DD4 700141D4 28A10030 */ slti $at, $a1, 0x30 -/* 014DD8 700141D8 14200003 */ bnez $at, .L700141E8 -/* 014DDC 700141DC 28A1003A */ slti $at, $a1, 0x3a -/* 014DE0 700141E0 5420FFF2 */ bnezl $at, .L700141AC -/* 014DE4 700141E4 8FB900CC */ lw $t9, 0xcc($sp) -.L700141E8: -/* 014DE8 700141E8 0C004E29 */ jal strchr -/* 014DEC 700141EC 248496F0 */ addiu $a0, %lo(aHll) # addiu $a0, $a0, -0x6910 -/* 014DF0 700141F0 10400005 */ beqz $v0, .L70014208 -/* 014DF4 700141F4 27B000A8 */ addiu $s0, $sp, 0xa8 -/* 014DF8 700141F8 92590000 */ lbu $t9, ($s2) -/* 014DFC 700141FC 26520001 */ addiu $s2, $s2, 1 -/* 014E00 70014200 10000002 */ b .L7001420C -/* 014E04 70014204 A3B900DC */ sb $t9, 0xdc($sp) -.L70014208: -/* 014E08 70014208 A3A000DC */ sb $zero, 0xdc($sp) -.L7001420C: -/* 014E0C 7001420C 93AF00DC */ lbu $t7, 0xdc($sp) -/* 014E10 70014210 2402006C */ li $v0, 108 -/* 014E14 70014214 27A600EC */ addiu $a2, $sp, 0xec -/* 014E18 70014218 144F0007 */ bne $v0, $t7, .L70014238 -/* 014E1C 7001421C 27A7007C */ addiu $a3, $sp, 0x7c -/* 014E20 70014220 92580000 */ lbu $t8, ($s2) -/* 014E24 70014224 240E004C */ li $t6, 76 -/* 014E28 70014228 14580003 */ bne $v0, $t8, .L70014238 -/* 014E2C 7001422C 00000000 */ nop -/* 014E30 70014230 A3AE00DC */ sb $t6, 0xdc($sp) -/* 014E34 70014234 26520001 */ addiu $s2, $s2, 1 -.L70014238: -/* 014E38 70014238 0C004E3C */ jal _Putfld -/* 014E3C 7001423C 92450000 */ lbu $a1, ($s2) -/* 014E40 70014240 8FB900D0 */ lw $t9, 0xd0($sp) -/* 014E44 70014244 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 014E48 70014248 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 014E4C 7001424C 032FC023 */ subu $t8, $t9, $t7 -/* 014E50 70014250 8FAF00BC */ lw $t7, 0xbc($sp) -/* 014E54 70014254 030EC823 */ subu $t9, $t8, $t6 -/* 014E58 70014258 8FAE00C0 */ lw $t6, 0xc0($sp) -/* 014E5C 7001425C 032FC023 */ subu $t8, $t9, $t7 -/* 014E60 70014260 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 014E64 70014264 030EC823 */ subu $t9, $t8, $t6 -/* 014E68 70014268 8FAE00C8 */ lw $t6, 0xc8($sp) -/* 014E6C 7001426C 032FC023 */ subu $t8, $t9, $t7 -/* 014E70 70014270 8FAF00D8 */ lw $t7, 0xd8($sp) -/* 014E74 70014274 030EC823 */ subu $t9, $t8, $t6 -/* 014E78 70014278 AFB900D0 */ sw $t9, 0xd0($sp) -/* 014E7C 7001427C 31F80004 */ andi $t8, $t7, 4 -/* 014E80 70014280 1700001A */ bnez $t8, .L700142EC -/* 014E84 70014284 0019702A */ slt $t6, $zero, $t9 -/* 014E88 70014288 51C00019 */ beql $t6, $zero, .L700142F0 -/* 014E8C 7001428C 8FB900B4 */ lw $t9, 0xb4($sp) -/* 014E90 70014290 11C00016 */ beqz $t6, .L700142EC -/* 014E94 70014294 03208825 */ move $s1, $t9 -/* 014E98 70014298 2E210021 */ sltiu $at, $s1, 0x21 -.L7001429C: -/* 014E9C 7001429C 14200003 */ bnez $at, .L700142AC -/* 014EA0 700142A0 02208025 */ move $s0, $s1 -/* 014EA4 700142A4 10000001 */ b .L700142AC -/* 014EA8 700142A8 24100020 */ li $s0, 32 -.L700142AC: -/* 014EAC 700142AC 1A00000C */ blez $s0, .L700142E0 -/* 014EB0 700142B0 02602025 */ move $a0, $s3 -/* 014EB4 700142B4 02E02825 */ move $a1, $s7 -/* 014EB8 700142B8 0280F809 */ jalr $s4 -/* 014EBC 700142BC 02003025 */ move $a2, $s0 -/* 014EC0 700142C0 10400005 */ beqz $v0, .L700142D8 -/* 014EC4 700142C4 00409825 */ move $s3, $v0 -/* 014EC8 700142C8 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 014ECC 700142CC 01F0C021 */ addu $t8, $t7, $s0 -/* 014ED0 700142D0 10000003 */ b .L700142E0 -/* 014ED4 700142D4 AFB800D4 */ sw $t8, 0xd4($sp) -.L700142D8: -/* 014ED8 700142D8 100000A6 */ b .L70014574 -/* 014EDC 700142DC 8FA200D4 */ lw $v0, 0xd4($sp) -.L700142E0: -/* 014EE0 700142E0 02308823 */ subu $s1, $s1, $s0 -/* 014EE4 700142E4 5E20FFED */ bgtzl $s1, .L7001429C -/* 014EE8 700142E8 2E210021 */ sltiu $at, $s1, 0x21 -.L700142EC: -/* 014EEC 700142EC 8FB900B4 */ lw $t9, 0xb4($sp) -.L700142F0: -/* 014EF0 700142F0 02602025 */ move $a0, $s3 -/* 014EF4 700142F4 27A5007C */ addiu $a1, $sp, 0x7c -/* 014EF8 700142F8 5B20000D */ blezl $t9, .L70014330 -/* 014EFC 700142FC 8FB900B8 */ lw $t9, 0xb8($sp) -/* 014F00 70014300 0280F809 */ jalr $s4 -/* 014F04 70014304 03203025 */ move $a2, $t9 -/* 014F08 70014308 10400006 */ beqz $v0, .L70014324 -/* 014F0C 7001430C 00409825 */ move $s3, $v0 -/* 014F10 70014310 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 014F14 70014314 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 014F18 70014318 01CFC021 */ addu $t8, $t6, $t7 -/* 014F1C 7001431C 10000003 */ b .L7001432C -/* 014F20 70014320 AFB800D4 */ sw $t8, 0xd4($sp) -.L70014324: -/* 014F24 70014324 10000093 */ b .L70014574 -/* 014F28 70014328 8FA200D4 */ lw $v0, 0xd4($sp) -.L7001432C: -/* 014F2C 7001432C 8FB900B8 */ lw $t9, 0xb8($sp) -.L70014330: -/* 014F30 70014330 0019702A */ slt $t6, $zero, $t9 -/* 014F34 70014334 51C00019 */ beql $t6, $zero, .L7001439C -/* 014F38 70014338 8FB900BC */ lw $t9, 0xbc($sp) -/* 014F3C 7001433C 11C00016 */ beqz $t6, .L70014398 -/* 014F40 70014340 03208825 */ move $s1, $t9 -/* 014F44 70014344 2E210021 */ sltiu $at, $s1, 0x21 -.L70014348: -/* 014F48 70014348 14200003 */ bnez $at, .L70014358 -/* 014F4C 7001434C 02208025 */ move $s0, $s1 -/* 014F50 70014350 10000001 */ b .L70014358 -/* 014F54 70014354 24100020 */ li $s0, 32 -.L70014358: -/* 014F58 70014358 1A00000C */ blez $s0, .L7001438C -/* 014F5C 7001435C 02602025 */ move $a0, $s3 -/* 014F60 70014360 02A02825 */ move $a1, $s5 -/* 014F64 70014364 0280F809 */ jalr $s4 -/* 014F68 70014368 02003025 */ move $a2, $s0 -/* 014F6C 7001436C 10400005 */ beqz $v0, .L70014384 -/* 014F70 70014370 00409825 */ move $s3, $v0 -/* 014F74 70014374 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 014F78 70014378 01F0C021 */ addu $t8, $t7, $s0 -/* 014F7C 7001437C 10000003 */ b .L7001438C -/* 014F80 70014380 AFB800D4 */ sw $t8, 0xd4($sp) -.L70014384: -/* 014F84 70014384 1000007B */ b .L70014574 -/* 014F88 70014388 8FA200D4 */ lw $v0, 0xd4($sp) -.L7001438C: -/* 014F8C 7001438C 02308823 */ subu $s1, $s1, $s0 -/* 014F90 70014390 5E20FFED */ bgtzl $s1, .L70014348 -/* 014F94 70014394 2E210021 */ sltiu $at, $s1, 0x21 -.L70014398: -/* 014F98 70014398 8FB900BC */ lw $t9, 0xbc($sp) -.L7001439C: -/* 014F9C 7001439C 02602025 */ move $a0, $s3 -/* 014FA0 700143A0 8FA500B0 */ lw $a1, 0xb0($sp) -/* 014FA4 700143A4 5B20000D */ blezl $t9, .L700143DC -/* 014FA8 700143A8 8FB900C0 */ lw $t9, 0xc0($sp) -/* 014FAC 700143AC 0280F809 */ jalr $s4 -/* 014FB0 700143B0 03203025 */ move $a2, $t9 -/* 014FB4 700143B4 10400006 */ beqz $v0, .L700143D0 -/* 014FB8 700143B8 00409825 */ move $s3, $v0 -/* 014FBC 700143BC 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 014FC0 700143C0 8FAF00BC */ lw $t7, 0xbc($sp) -/* 014FC4 700143C4 01CFC021 */ addu $t8, $t6, $t7 -/* 014FC8 700143C8 10000003 */ b .L700143D8 -/* 014FCC 700143CC AFB800D4 */ sw $t8, 0xd4($sp) -.L700143D0: -/* 014FD0 700143D0 10000068 */ b .L70014574 -/* 014FD4 700143D4 8FA200D4 */ lw $v0, 0xd4($sp) -.L700143D8: -/* 014FD8 700143D8 8FB900C0 */ lw $t9, 0xc0($sp) -.L700143DC: -/* 014FDC 700143DC 0019702A */ slt $t6, $zero, $t9 -/* 014FE0 700143E0 51C00019 */ beql $t6, $zero, .L70014448 -/* 014FE4 700143E4 8FB900C4 */ lw $t9, 0xc4($sp) -/* 014FE8 700143E8 11C00016 */ beqz $t6, .L70014444 -/* 014FEC 700143EC 03208825 */ move $s1, $t9 -/* 014FF0 700143F0 2E210021 */ sltiu $at, $s1, 0x21 -.L700143F4: -/* 014FF4 700143F4 14200003 */ bnez $at, .L70014404 -/* 014FF8 700143F8 02208025 */ move $s0, $s1 -/* 014FFC 700143FC 10000001 */ b .L70014404 -/* 015000 70014400 24100020 */ li $s0, 32 -.L70014404: -/* 015004 70014404 1A00000C */ blez $s0, .L70014438 -/* 015008 70014408 02602025 */ move $a0, $s3 -/* 01500C 7001440C 02A02825 */ move $a1, $s5 -/* 015010 70014410 0280F809 */ jalr $s4 -/* 015014 70014414 02003025 */ move $a2, $s0 -/* 015018 70014418 10400005 */ beqz $v0, .L70014430 -/* 01501C 7001441C 00409825 */ move $s3, $v0 -/* 015020 70014420 8FAF00D4 */ lw $t7, 0xd4($sp) -/* 015024 70014424 01F0C021 */ addu $t8, $t7, $s0 -/* 015028 70014428 10000003 */ b .L70014438 -/* 01502C 7001442C AFB800D4 */ sw $t8, 0xd4($sp) -.L70014430: -/* 015030 70014430 10000050 */ b .L70014574 -/* 015034 70014434 8FA200D4 */ lw $v0, 0xd4($sp) -.L70014438: -/* 015038 70014438 02308823 */ subu $s1, $s1, $s0 -/* 01503C 7001443C 5E20FFED */ bgtzl $s1, .L700143F4 -/* 015040 70014440 2E210021 */ sltiu $at, $s1, 0x21 -.L70014444: -/* 015044 70014444 8FB900C4 */ lw $t9, 0xc4($sp) -.L70014448: -/* 015048 70014448 02602025 */ move $a0, $s3 -/* 01504C 7001444C 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 015050 70014450 1B20000D */ blez $t9, .L70014488 -/* 015054 70014454 8FAF00BC */ lw $t7, 0xbc($sp) -/* 015058 70014458 01CF2821 */ addu $a1, $t6, $t7 -/* 01505C 7001445C 0280F809 */ jalr $s4 -/* 015060 70014460 03203025 */ move $a2, $t9 -/* 015064 70014464 10400006 */ beqz $v0, .L70014480 -/* 015068 70014468 00409825 */ move $s3, $v0 -/* 01506C 7001446C 8FB800D4 */ lw $t8, 0xd4($sp) -/* 015070 70014470 8FAE00C4 */ lw $t6, 0xc4($sp) -/* 015074 70014474 030E7821 */ addu $t7, $t8, $t6 -/* 015078 70014478 10000003 */ b .L70014488 -/* 01507C 7001447C AFAF00D4 */ sw $t7, 0xd4($sp) -.L70014480: -/* 015080 70014480 1000003C */ b .L70014574 -/* 015084 70014484 8FA200D4 */ lw $v0, 0xd4($sp) -.L70014488: -/* 015088 70014488 8FB900C8 */ lw $t9, 0xc8($sp) -/* 01508C 7001448C 0019C02A */ slt $t8, $zero, $t9 -/* 015090 70014490 53000019 */ beql $t8, $zero, .L700144F8 -/* 015094 70014494 8FB900D8 */ lw $t9, 0xd8($sp) -/* 015098 70014498 13000016 */ beqz $t8, .L700144F4 -/* 01509C 7001449C 03208825 */ move $s1, $t9 -/* 0150A0 700144A0 2E210021 */ sltiu $at, $s1, 0x21 -.L700144A4: -/* 0150A4 700144A4 14200003 */ bnez $at, .L700144B4 -/* 0150A8 700144A8 02208025 */ move $s0, $s1 -/* 0150AC 700144AC 10000001 */ b .L700144B4 -/* 0150B0 700144B0 24100020 */ li $s0, 32 -.L700144B4: -/* 0150B4 700144B4 1A00000C */ blez $s0, .L700144E8 -/* 0150B8 700144B8 02602025 */ move $a0, $s3 -/* 0150BC 700144BC 02A02825 */ move $a1, $s5 -/* 0150C0 700144C0 0280F809 */ jalr $s4 -/* 0150C4 700144C4 02003025 */ move $a2, $s0 -/* 0150C8 700144C8 10400005 */ beqz $v0, .L700144E0 -/* 0150CC 700144CC 00409825 */ move $s3, $v0 -/* 0150D0 700144D0 8FAE00D4 */ lw $t6, 0xd4($sp) -/* 0150D4 700144D4 01D07821 */ addu $t7, $t6, $s0 -/* 0150D8 700144D8 10000003 */ b .L700144E8 -/* 0150DC 700144DC AFAF00D4 */ sw $t7, 0xd4($sp) -.L700144E0: -/* 0150E0 700144E0 10000024 */ b .L70014574 -/* 0150E4 700144E4 8FA200D4 */ lw $v0, 0xd4($sp) -.L700144E8: -/* 0150E8 700144E8 02308823 */ subu $s1, $s1, $s0 -/* 0150EC 700144EC 5E20FFED */ bgtzl $s1, .L700144A4 -/* 0150F0 700144F0 2E210021 */ sltiu $at, $s1, 0x21 -.L700144F4: -/* 0150F4 700144F4 8FB900D8 */ lw $t9, 0xd8($sp) -.L700144F8: -/* 0150F8 700144F8 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 0150FC 700144FC 33380004 */ andi $t8, $t9, 4 -/* 015100 70014500 1300001A */ beqz $t8, .L7001456C -/* 015104 70014504 000E782A */ slt $t7, $zero, $t6 -/* 015108 70014508 11E00018 */ beqz $t7, .L7001456C -/* 01510C 7001450C 00000000 */ nop -/* 015110 70014510 11E00016 */ beqz $t7, .L7001456C -/* 015114 70014514 01C08825 */ move $s1, $t6 -/* 015118 70014518 2E210021 */ sltiu $at, $s1, 0x21 -.L7001451C: -/* 01511C 7001451C 14200003 */ bnez $at, .L7001452C -/* 015120 70014520 02208025 */ move $s0, $s1 -/* 015124 70014524 10000001 */ b .L7001452C -/* 015128 70014528 24100020 */ li $s0, 32 -.L7001452C: -/* 01512C 7001452C 1A00000C */ blez $s0, .L70014560 -/* 015130 70014530 02602025 */ move $a0, $s3 -/* 015134 70014534 02E02825 */ move $a1, $s7 -/* 015138 70014538 0280F809 */ jalr $s4 -/* 01513C 7001453C 02003025 */ move $a2, $s0 -/* 015140 70014540 10400005 */ beqz $v0, .L70014558 -/* 015144 70014544 00409825 */ move $s3, $v0 -/* 015148 70014548 8FB900D4 */ lw $t9, 0xd4($sp) -/* 01514C 7001454C 0330C021 */ addu $t8, $t9, $s0 -/* 015150 70014550 10000003 */ b .L70014560 -/* 015154 70014554 AFB800D4 */ sw $t8, 0xd4($sp) -.L70014558: -/* 015158 70014558 10000006 */ b .L70014574 -/* 01515C 7001455C 8FA200D4 */ lw $v0, 0xd4($sp) -.L70014560: -/* 015160 70014560 02308823 */ subu $s1, $s1, $s0 -/* 015164 70014564 5E20FFED */ bgtzl $s1, .L7001451C -/* 015168 70014568 2E210021 */ sltiu $at, $s1, 0x21 -.L7001456C: -/* 01516C 7001456C 1000FE94 */ b .L70013FC0 -/* 015170 70014570 26470001 */ addiu $a3, $s2, 1 -.L70014574: -/* 015174 70014574 8FBF003C */ lw $ra, 0x3c($sp) -/* 015178 70014578 8FB00018 */ lw $s0, 0x18($sp) -/* 01517C 7001457C 8FB1001C */ lw $s1, 0x1c($sp) -/* 015180 70014580 8FB20020 */ lw $s2, 0x20($sp) -/* 015184 70014584 8FB30024 */ lw $s3, 0x24($sp) -/* 015188 70014588 8FB40028 */ lw $s4, 0x28($sp) -/* 01518C 7001458C 8FB5002C */ lw $s5, 0x2c($sp) -/* 015190 70014590 8FB60030 */ lw $s6, 0x30($sp) -/* 015194 70014594 8FB70034 */ lw $s7, 0x34($sp) -/* 015198 70014598 8FBE0038 */ lw $fp, 0x38($sp) -/* 01519C 7001459C 03E00008 */ jr $ra -/* 0151A0 700145A0 27BD00E0 */ addiu $sp, $sp, 0xe0 - -/* 0151A4 700145A4 00000000 */ nop -/* 0151A8 700145A8 00000000 */ nop -/* 0151AC 700145AC 00000000 */ nop -.section .data -glabel spaces -.asciiz " " -.align 2 -glabel zeros -.asciiz "00000000000000000000000000000000" -.align 4 - -.section .rodata -glabel aHll -.ascii "hlL"<0> -glabel printf_symbols -.ascii " +-#0"<0> -.align 2 -glabel byteshiftleft_lookup -.word 1, 2, 4, 8, 0x10, 0 - -glabel jpt_80029714 -.word .L70013C58, .L70013F38, .L70013C58, .L70013F38 -.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013F38, .L70013F38, .L70013B08 -.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013F38, .L70013960, .L70013998 -.word .L70013C58, .L70013C58, .L70013C58, .L70013F38 -.word .L70013998, .L70013F38, .L70013F38, .L70013F38 -.word .L70013F38, .L70013DBC, .L70013B08, .L70013E8C -.word .L70013F38, .L70013F38, .L70013ED4, .L70013F38 -.word .L70013B08, .L70013F38, .L70013F38, .L70013B08 -.align 4 - -.section .text -glabel osCreatePiManager -/* 0151B0 700145B0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0151B4 700145B4 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) -/* 0151B8 700145B8 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) -/* 0151BC 700145BC AFBF001C */ sw $ra, 0x1c($sp) -/* 0151C0 700145C0 AFA40030 */ sw $a0, 0x30($sp) -/* 0151C4 700145C4 AFA50034 */ sw $a1, 0x34($sp) -/* 0151C8 700145C8 AFA60038 */ sw $a2, 0x38($sp) -/* 0151CC 700145CC 15C00056 */ bnez $t6, .L70014728 -/* 0151D0 700145D0 AFA7003C */ sw $a3, 0x3c($sp) -/* 0151D4 700145D4 8FA40034 */ lw $a0, 0x34($sp) -/* 0151D8 700145D8 8FA50038 */ lw $a1, 0x38($sp) -/* 0151DC 700145DC 0C0035B4 */ jal osCreateMesgQueue -/* 0151E0 700145E0 8FA6003C */ lw $a2, 0x3c($sp) -/* 0151E4 700145E4 3C048006 */ lui $a0, %hi(pieventQueue) -/* 0151E8 700145E8 3C058006 */ lui $a1, %hi(piEventBuf) -/* 0151EC 700145EC 24A57C98 */ addiu $a1, %lo(piEventBuf) # addiu $a1, $a1, 0x7c98 -/* 0151F0 700145F0 24847C80 */ addiu $a0, %lo(pieventQueue) # addiu $a0, $a0, 0x7c80 -/* 0151F4 700145F4 0C0035B4 */ jal osCreateMesgQueue -/* 0151F8 700145F8 24060001 */ li $a2, 1 -/* 0151FC 700145FC 3C0F8003 */ lui $t7, %hi(__osPiAccessQueueEnabled) -/* 015200 70014600 8DEF82E0 */ lw $t7, %lo(__osPiAccessQueueEnabled)($t7) -/* 015204 70014604 15E00003 */ bnez $t7, .L70014614 -/* 015208 70014608 00000000 */ nop -/* 01520C 7001460C 0C0075C4 */ jal __osPiCreateAccessQueue -/* 015210 70014610 00000000 */ nop -.L70014614: -/* 015214 70014614 3C058006 */ lui $a1, %hi(pieventQueue) -/* 015218 70014618 3C062222 */ lui $a2, (0x22222222 >> 16) # lui $a2, 0x2222 -/* 01521C 7001461C 34C62222 */ ori $a2, (0x22222222 & 0xFFFF) # ori $a2, $a2, 0x2222 -/* 015220 70014620 24A57C80 */ addiu $a1, %lo(pieventQueue) # addiu $a1, $a1, 0x7c80 -/* 015224 70014624 0C003714 */ jal osSetEventMesg -/* 015228 70014628 24040008 */ li $a0, 8 -/* 01522C 7001462C 2418FFFF */ li $t8, -1 -/* 015230 70014630 AFB80028 */ sw $t8, 0x28($sp) -/* 015234 70014634 0C00628C */ jal osGetThreadPri -/* 015238 70014638 00002025 */ move $a0, $zero -/* 01523C 7001463C AFA20024 */ sw $v0, 0x24($sp) -/* 015240 70014640 8FB90024 */ lw $t9, 0x24($sp) -/* 015244 70014644 8FA80030 */ lw $t0, 0x30($sp) -/* 015248 70014648 0328082A */ slt $at, $t9, $t0 -/* 01524C 7001464C 10200005 */ beqz $at, .L70014664 -/* 015250 70014650 00000000 */ nop -/* 015254 70014654 AFB90028 */ sw $t9, 0x28($sp) -/* 015258 70014658 00002025 */ move $a0, $zero -/* 01525C 7001465C 0C003600 */ jal osSetThreadPri -/* 015260 70014660 01002825 */ move $a1, $t0 -.L70014664: -/* 015264 70014664 0C00617C */ jal __osDisableInt -/* 015268 70014668 00000000 */ nop -/* 01526C 7001466C 3C018002 */ lui $at, %hi(__osPiDevMgr.cmdQueue) -/* 015270 70014670 8FAB0034 */ lw $t3, 0x34($sp) -/* 015274 70014674 3C0A8006 */ lui $t2, %hi(piThread) -/* 015278 70014678 3C0C8006 */ lui $t4, %hi(pieventQueue) -/* 01527C 7001467C 24090001 */ li $t1, 1 -/* 015280 70014680 254A6AD0 */ addiu $t2, %lo(piThread) # addiu $t2, $t2, 0x6ad0 -/* 015284 70014684 258C7C80 */ addiu $t4, %lo(pieventQueue) # addiu $t4, $t4, 0x7c80 -/* 015288 70014688 AC297790 */ sw $t1, %lo(__osPiDevMgr)($at) -/* 01528C 7001468C AC2A7794 */ sw $t2, %lo(__osPiDevMgr.thread)($at) -/* 015290 70014690 AC2C779C */ sw $t4, %lo(__osPiDevMgr.evtQueue)($at) -/* 015294 70014694 3C188006 */ lui $t8, %hi(piThreadStack) -/* 015298 70014698 AC2B7798 */ sw $t3, %lo(__osPiDevMgr.cmdQueue)($at) -/* 01529C 7001469C 8FA80030 */ lw $t0, 0x30($sp) -/* 0152A0 700146A0 3C018002 */ lui $at, %hi(__osPiDevMgr.edma) -/* 0152A4 700146A4 3C0D8007 */ lui $t5, %hi(__osPiAccessQueue) -/* 0152A8 700146A8 3C0E7001 */ lui $t6, %hi(osPiRawStartDma) # $t6, 0x7001 -/* 0152AC 700146AC 3C0F7002 */ lui $t7, %hi(osEPiRawStartDma) # $t7, 0x7002 -/* 0152B0 700146B0 27186C80 */ addiu $t8, $t8, %lo(piThreadStack) -/* 0152B4 700146B4 25AD8FE8 */ addiu $t5, %lo(__osPiAccessQueue) # addiu $t5, $t5, -0x7018 -/* 0152B8 700146B8 25CECF90 */ addiu $t6, %lo(osPiRawStartDma) # addiu $t6, $t6, -0x3070 -/* 0152BC 700146BC 25EFE530 */ addiu $t7, %lo(osEPiRawStartDma) # addiu $t7, $t7, -0x1ad0 -/* 0152C0 700146C0 27191000 */ addiu $t9, $t8, 0x1000 -/* 0152C4 700146C4 3C067002 */ lui $a2, %hi(__osDevMgrMain) # $a2, 0x7002 -/* 0152C8 700146C8 3C078002 */ lui $a3, %hi(__osPiDevMgr) -/* 0152CC 700146CC AFA2002C */ sw $v0, 0x2c($sp) -/* 0152D0 700146D0 AC2D77A0 */ sw $t5, %lo(__osPiDevMgr.acsQueue)($at) -/* 0152D4 700146D4 AC2E77A4 */ sw $t6, %lo(__osPiDevMgr.dma)($at) -/* 0152D8 700146D8 AC2F77A8 */ sw $t7, %lo(__osPiDevMgr.edma)($at) -/* 0152DC 700146DC 24E77790 */ addiu $a3, %lo(__osPiDevMgr) # addiu $a3, $a3, 0x7790 -/* 0152E0 700146E0 24C6E610 */ addiu $a2, %lo(__osDevMgrMain) # addiu $a2, $a2, -0x19f0 -/* 0152E4 700146E4 AFB90010 */ sw $t9, 0x10($sp) -/* 0152E8 700146E8 01402025 */ move $a0, $t2 -/* 0152EC 700146EC 00002825 */ move $a1, $zero -/* 0152F0 700146F0 0C00350C */ jal osCreateThread -/* 0152F4 700146F4 AFA80014 */ sw $t0, 0x14($sp) -/* 0152F8 700146F8 3C048006 */ lui $a0, %hi(piThread) -/* 0152FC 700146FC 0C003560 */ jal osStartThread -/* 015300 70014700 24846AD0 */ addiu $a0, %lo(piThread) # addiu $a0, $a0, 0x6ad0 -/* 015304 70014704 0C006184 */ jal __osRestoreInt -/* 015308 70014708 8FA4002C */ lw $a0, 0x2c($sp) -/* 01530C 7001470C 8FA90028 */ lw $t1, 0x28($sp) -/* 015310 70014710 2401FFFF */ li $at, -1 -/* 015314 70014714 11210004 */ beq $t1, $at, .L70014728 -/* 015318 70014718 00000000 */ nop -/* 01531C 7001471C 00002025 */ move $a0, $zero -/* 015320 70014720 0C003600 */ jal osSetThreadPri -/* 015324 70014724 01202825 */ move $a1, $t1 -.L70014728: -/* 015328 70014728 8FBF001C */ lw $ra, 0x1c($sp) -/* 01532C 7001472C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 015330 70014730 03E00008 */ jr $ra -/* 015334 70014734 00000000 */ nop - -/* 015338 70014738 00000000 */ nop -/* 01533C 7001473C 00000000 */ nop - -.section .data -glabel __osPiDevMgr -glabel __osPiDevMgr.active -.word 0 -glabel __osPiDevMgr.thread -.word 0 -glabel __osPiDevMgr.cmdQueue -.word 0 -glabel __osPiDevMgr.evtQueue -.word 0 -glabel __osPiDevMgr.acsQueue -.word 0 -glabel __osPiDevMgr.dma -.word 0 -glabel __osPiDevMgr.edma -.word 0 - - -glabel __osPiTable -.word 0 -.section .bss - -glabel piThread -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 -.word 0 - -glabel piThreadStack -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 -.word 0, 0, 0, 0 - -glabel pieventQueue -.word 0, 0, 0, 0, 0, 0 - -glabel piEventBuf -.word 0, 0 - +.section .text, "ax" .section .text glabel osPfsInit /* 015340 70014740 27BDFFE0 */ addiu $sp, $sp, -0x20 diff --git a/src/libultra/ll.s b/src/libultra/ll.s new file mode 100644 index 00000000..0180b075 --- /dev/null +++ b/src/libultra/ll.s @@ -0,0 +1,271 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel __ull_rshift +/* 00F840 7000EC40 AFA40000 */ sw $a0, ($sp) +/* 00F844 7000EC44 AFA50004 */ sw $a1, 4($sp) +/* 00F848 7000EC48 AFA60008 */ sw $a2, 8($sp) +/* 00F84C 7000EC4C AFA7000C */ sw $a3, 0xc($sp) +/* 00F850 7000EC50 DFAF0008 */ ld $t7, 8($sp) +/* 00F854 7000EC54 DFAE0000 */ ld $t6, ($sp) +/* 00F858 7000EC58 01EE1016 */ dsrlv $v0, $t6, $t7 +/* 00F85C 7000EC5C 0002183C */ dsll32 $v1, $v0, 0 +/* 00F860 7000EC60 0003183F */ dsra32 $v1, $v1, 0 +/* 00F864 7000EC64 03E00008 */ jr $ra +/* 00F868 7000EC68 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_rem +/* 00F86C 7000EC6C AFA40000 */ sw $a0, ($sp) +/* 00F870 7000EC70 AFA50004 */ sw $a1, 4($sp) +/* 00F874 7000EC74 AFA60008 */ sw $a2, 8($sp) +/* 00F878 7000EC78 AFA7000C */ sw $a3, 0xc($sp) +/* 00F87C 7000EC7C DFAF0008 */ ld $t7, 8($sp) +/* 00F880 7000EC80 DFAE0000 */ ld $t6, ($sp) +/* 00F884 7000EC84 01CF001F */ ddivu $zero, $t6, $t7 +/* 00F888 7000EC88 15E00002 */ bnez $t7, .L7000EC94 +/* 00F88C 7000EC8C 00000000 */ nop +/* 00F890 7000EC90 0007000D */ break 7 +.L7000EC94: +/* 00F894 7000EC94 00001010 */ mfhi $v0 +/* 00F898 7000EC98 0002183C */ dsll32 $v1, $v0, 0 +/* 00F89C 7000EC9C 0003183F */ dsra32 $v1, $v1, 0 +/* 00F8A0 7000ECA0 03E00008 */ jr $ra +/* 00F8A4 7000ECA4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_div +/* 00F8A8 7000ECA8 AFA40000 */ sw $a0, ($sp) +/* 00F8AC 7000ECAC AFA50004 */ sw $a1, 4($sp) +/* 00F8B0 7000ECB0 AFA60008 */ sw $a2, 8($sp) +/* 00F8B4 7000ECB4 AFA7000C */ sw $a3, 0xc($sp) +/* 00F8B8 7000ECB8 DFAF0008 */ ld $t7, 8($sp) +/* 00F8BC 7000ECBC DFAE0000 */ ld $t6, ($sp) +/* 00F8C0 7000ECC0 01CF001F */ ddivu $zero, $t6, $t7 +/* 00F8C4 7000ECC4 15E00002 */ bnez $t7, .L7000ECD0 +/* 00F8C8 7000ECC8 00000000 */ nop +/* 00F8CC 7000ECCC 0007000D */ break 7 +.L7000ECD0: +/* 00F8D0 7000ECD0 00001012 */ mflo $v0 +/* 00F8D4 7000ECD4 0002183C */ dsll32 $v1, $v0, 0 +/* 00F8D8 7000ECD8 0003183F */ dsra32 $v1, $v1, 0 +/* 00F8DC 7000ECDC 03E00008 */ jr $ra +/* 00F8E0 7000ECE0 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_lshift +/* 00F8E4 7000ECE4 AFA40000 */ sw $a0, ($sp) +/* 00F8E8 7000ECE8 AFA50004 */ sw $a1, 4($sp) +/* 00F8EC 7000ECEC AFA60008 */ sw $a2, 8($sp) +/* 00F8F0 7000ECF0 AFA7000C */ sw $a3, 0xc($sp) +/* 00F8F4 7000ECF4 DFAF0008 */ ld $t7, 8($sp) +/* 00F8F8 7000ECF8 DFAE0000 */ ld $t6, ($sp) +/* 00F8FC 7000ECFC 01EE1014 */ dsllv $v0, $t6, $t7 +/* 00F900 7000ED00 0002183C */ dsll32 $v1, $v0, 0 +/* 00F904 7000ED04 0003183F */ dsra32 $v1, $v1, 0 +/* 00F908 7000ED08 03E00008 */ jr $ra +/* 00F90C 7000ED0C 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_rem +/* 00F910 7000ED10 AFA40000 */ sw $a0, ($sp) +/* 00F914 7000ED14 AFA50004 */ sw $a1, 4($sp) +/* 00F918 7000ED18 AFA60008 */ sw $a2, 8($sp) +/* 00F91C 7000ED1C AFA7000C */ sw $a3, 0xc($sp) +/* 00F920 7000ED20 DFAF0008 */ ld $t7, 8($sp) +/* 00F924 7000ED24 DFAE0000 */ ld $t6, ($sp) +/* 00F928 7000ED28 01CF001F */ ddivu $zero, $t6, $t7 +/* 00F92C 7000ED2C 15E00002 */ bnez $t7, .L7000ED38 +/* 00F930 7000ED30 00000000 */ nop +/* 00F934 7000ED34 0007000D */ break 7 +.L7000ED38: +/* 00F938 7000ED38 00001010 */ mfhi $v0 +/* 00F93C 7000ED3C 0002183C */ dsll32 $v1, $v0, 0 +/* 00F940 7000ED40 0003183F */ dsra32 $v1, $v1, 0 +/* 00F944 7000ED44 03E00008 */ jr $ra +/* 00F948 7000ED48 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_div +/* 00F94C 7000ED4C AFA40000 */ sw $a0, ($sp) +/* 00F950 7000ED50 AFA50004 */ sw $a1, 4($sp) +/* 00F954 7000ED54 AFA60008 */ sw $a2, 8($sp) +/* 00F958 7000ED58 AFA7000C */ sw $a3, 0xc($sp) +/* 00F95C 7000ED5C DFAF0008 */ ld $t7, 8($sp) +/* 00F960 7000ED60 DFAE0000 */ ld $t6, ($sp) +/* 00F964 7000ED64 01CF001E */ ddiv $zero, $t6, $t7 +/* 00F968 7000ED68 00000000 */ nop +/* 00F96C 7000ED6C 15E00002 */ bnez $t7, .L7000ED78 +/* 00F970 7000ED70 00000000 */ nop +/* 00F974 7000ED74 0007000D */ break 7 +.L7000ED78: +/* 00F978 7000ED78 6401FFFF */ daddiu $at, $zero, -1 +/* 00F97C 7000ED7C 15E10005 */ bne $t7, $at, .L7000ED94 +/* 00F980 7000ED80 64010001 */ daddiu $at, $zero, 1 +/* 00F984 7000ED84 00010FFC */ dsll32 $at, $at, 0x1f +/* 00F988 7000ED88 15C10002 */ bne $t6, $at, .L7000ED94 +/* 00F98C 7000ED8C 00000000 */ nop +/* 00F990 7000ED90 0006000D */ break 6 +.L7000ED94: +/* 00F994 7000ED94 00001012 */ mflo $v0 +/* 00F998 7000ED98 0002183C */ dsll32 $v1, $v0, 0 +/* 00F99C 7000ED9C 0003183F */ dsra32 $v1, $v1, 0 +/* 00F9A0 7000EDA0 03E00008 */ jr $ra +/* 00F9A4 7000EDA4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_mul +/* 00F9A8 7000EDA8 AFA40000 */ sw $a0, ($sp) +/* 00F9AC 7000EDAC AFA50004 */ sw $a1, 4($sp) +/* 00F9B0 7000EDB0 AFA60008 */ sw $a2, 8($sp) +/* 00F9B4 7000EDB4 AFA7000C */ sw $a3, 0xc($sp) +/* 00F9B8 7000EDB8 DFAF0008 */ ld $t7, 8($sp) +/* 00F9BC 7000EDBC DFAE0000 */ ld $t6, ($sp) +/* 00F9C0 7000EDC0 01CF001D */ dmultu $t6, $t7 +/* 00F9C4 7000EDC4 00001012 */ mflo $v0 +/* 00F9C8 7000EDC8 0002183C */ dsll32 $v1, $v0, 0 +/* 00F9CC 7000EDCC 0003183F */ dsra32 $v1, $v1, 0 +/* 00F9D0 7000EDD0 03E00008 */ jr $ra +/* 00F9D4 7000EDD4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_divremi +/* 00F9D8 7000EDD8 87AF0012 */ lh $t7, 0x12($sp) +/* 00F9DC 7000EDDC AFA60008 */ sw $a2, 8($sp) +/* 00F9E0 7000EDE0 AFA7000C */ sw $a3, 0xc($sp) +/* 00F9E4 7000EDE4 DFAE0008 */ ld $t6, 8($sp) +/* 00F9E8 7000EDE8 01E0C025 */ move $t8, $t7 +/* 00F9EC 7000EDEC 0300C825 */ move $t9, $t8 +/* 00F9F0 7000EDF0 01D9001F */ ddivu $zero, $t6, $t9 +/* 00F9F4 7000EDF4 17200002 */ bnez $t9, .L7000EE00 +/* 00F9F8 7000EDF8 00000000 */ nop +/* 00F9FC 7000EDFC 0007000D */ break 7 +.L7000EE00: +/* 00FA00 7000EE00 00004012 */ mflo $t0 +/* 00FA04 7000EE04 FC880000 */ sd $t0, ($a0) +/* 00FA08 7000EE08 87AA0012 */ lh $t2, 0x12($sp) +/* 00FA0C 7000EE0C DFA90008 */ ld $t1, 8($sp) +/* 00FA10 7000EE10 01405825 */ move $t3, $t2 +/* 00FA14 7000EE14 01606025 */ move $t4, $t3 +/* 00FA18 7000EE18 012C001F */ ddivu $zero, $t1, $t4 +/* 00FA1C 7000EE1C 15800002 */ bnez $t4, .L7000EE28 +/* 00FA20 7000EE20 00000000 */ nop +/* 00FA24 7000EE24 0007000D */ break 7 +.L7000EE28: +/* 00FA28 7000EE28 00006810 */ mfhi $t5 +/* 00FA2C 7000EE2C FCAD0000 */ sd $t5, ($a1) +/* 00FA30 7000EE30 03E00008 */ jr $ra +/* 00FA34 7000EE34 00000000 */ nop + +glabel __ll_mod +/* 00FA38 7000EE38 27BDFFF8 */ addiu $sp, $sp, -8 +/* 00FA3C 7000EE3C AFA40008 */ sw $a0, 8($sp) +/* 00FA40 7000EE40 AFA5000C */ sw $a1, 0xc($sp) +/* 00FA44 7000EE44 AFA60010 */ sw $a2, 0x10($sp) +/* 00FA48 7000EE48 AFA70014 */ sw $a3, 0x14($sp) +/* 00FA4C 7000EE4C DFAF0010 */ ld $t7, 0x10($sp) +/* 00FA50 7000EE50 DFAE0008 */ ld $t6, 8($sp) +/* 00FA54 7000EE54 01CF001E */ ddiv $zero, $t6, $t7 +/* 00FA58 7000EE58 00000000 */ nop +/* 00FA5C 7000EE5C 15E00002 */ bnez $t7, .L7000EE68 +/* 00FA60 7000EE60 00000000 */ nop +/* 00FA64 7000EE64 0007000D */ break 7 +.L7000EE68: +/* 00FA68 7000EE68 6401FFFF */ daddiu $at, $zero, -1 +/* 00FA6C 7000EE6C 15E10005 */ bne $t7, $at, .L7000EE84 +/* 00FA70 7000EE70 64010001 */ daddiu $at, $zero, 1 +/* 00FA74 7000EE74 00010FFC */ dsll32 $at, $at, 0x1f +/* 00FA78 7000EE78 15C10002 */ bne $t6, $at, .L7000EE84 +/* 00FA7C 7000EE7C 00000000 */ nop +/* 00FA80 7000EE80 0006000D */ break 6 +.L7000EE84: +/* 00FA84 7000EE84 0000C010 */ mfhi $t8 +/* 00FA88 7000EE88 FFB80000 */ sd $t8, ($sp) +/* 00FA8C 7000EE8C 07010003 */ bgez $t8, .L7000EE9C +/* 00FA90 7000EE90 00000000 */ nop +/* 00FA94 7000EE94 1DE00007 */ bgtz $t7, .L7000EEB4 +/* 00FA98 7000EE98 00000000 */ nop +.L7000EE9C: +/* 00FA9C 7000EE9C DFB90000 */ ld $t9, ($sp) +/* 00FAA0 7000EEA0 1B200008 */ blez $t9, .L7000EEC4 +/* 00FAA4 7000EEA4 00000000 */ nop +/* 00FAA8 7000EEA8 DFA80010 */ ld $t0, 0x10($sp) +/* 00FAAC 7000EEAC 05010005 */ bgez $t0, .L7000EEC4 +/* 00FAB0 7000EEB0 00000000 */ nop +.L7000EEB4: +/* 00FAB4 7000EEB4 DFA90000 */ ld $t1, ($sp) +/* 00FAB8 7000EEB8 DFAA0010 */ ld $t2, 0x10($sp) +/* 00FABC 7000EEBC 012A582D */ daddu $t3, $t1, $t2 +/* 00FAC0 7000EEC0 FFAB0000 */ sd $t3, ($sp) +.L7000EEC4: +/* 00FAC4 7000EEC4 8FA20000 */ lw $v0, ($sp) +/* 00FAC8 7000EEC8 8FA30004 */ lw $v1, 4($sp) +/* 00FACC 7000EECC 03E00008 */ jr $ra +/* 00FAD0 7000EED0 27BD0008 */ addiu $sp, $sp, 8 + +glabel __ll_rshift +/* 00FAD4 7000EED4 AFA40000 */ sw $a0, ($sp) +/* 00FAD8 7000EED8 AFA50004 */ sw $a1, 4($sp) +/* 00FADC 7000EEDC AFA60008 */ sw $a2, 8($sp) +/* 00FAE0 7000EEE0 AFA7000C */ sw $a3, 0xc($sp) +/* 00FAE4 7000EEE4 DFAF0008 */ ld $t7, 8($sp) +/* 00FAE8 7000EEE8 DFAE0000 */ ld $t6, ($sp) +/* 00FAEC 7000EEEC 01EE1017 */ dsrav $v0, $t6, $t7 +/* 00FAF0 7000EEF0 0002183C */ dsll32 $v1, $v0, 0 +/* 00FAF4 7000EEF4 0003183F */ dsra32 $v1, $v1, 0 +/* 00FAF8 7000EEF8 03E00008 */ jr $ra +/* 00FAFC 7000EEFC 0002103F */ dsra32 $v0, $v0, 0 + +glabel osAiSetNextBuffer +/* 00FB00 7000EF00 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00FB04 7000EF04 3C0F8002 */ lui $t7, %hi(B_800276F0) +/* 00FB08 7000EF08 91EF76F0 */ lbu $t7, %lo(B_800276F0)($t7) +/* 00FB0C 7000EF0C AFA40020 */ sw $a0, 0x20($sp) +/* 00FB10 7000EF10 8FAE0020 */ lw $t6, 0x20($sp) +/* 00FB14 7000EF14 AFBF0014 */ sw $ra, 0x14($sp) +/* 00FB18 7000EF18 AFA50024 */ sw $a1, 0x24($sp) +/* 00FB1C 7000EF1C 11E00003 */ beqz $t7, .L7000EF2C +/* 00FB20 7000EF20 AFAE001C */ sw $t6, 0x1c($sp) +/* 00FB24 7000EF24 25D8E000 */ addiu $t8, $t6, -0x2000 +/* 00FB28 7000EF28 AFB8001C */ sw $t8, 0x1c($sp) +.L7000EF2C: +/* 00FB2C 7000EF2C 8FB90020 */ lw $t9, 0x20($sp) +/* 00FB30 7000EF30 8FA80024 */ lw $t0, 0x24($sp) +/* 00FB34 7000EF34 24012000 */ li $at, 8192 +/* 00FB38 7000EF38 03284821 */ addu $t1, $t9, $t0 +/* 00FB3C 7000EF3C 312A3FFF */ andi $t2, $t1, 0x3fff +/* 00FB40 7000EF40 15410005 */ bne $t2, $at, .L7000EF58 +/* 00FB44 7000EF44 00000000 */ nop +/* 00FB48 7000EF48 240B0001 */ li $t3, 1 +/* 00FB4C 7000EF4C 3C018002 */ lui $at, %hi(B_800276F0) +/* 00FB50 7000EF50 10000003 */ b .L7000EF60 +/* 00FB54 7000EF54 A02B76F0 */ sb $t3, %lo(B_800276F0)($at) +.L7000EF58: +/* 00FB58 7000EF58 3C018002 */ lui $at, %hi(B_800276F0) +/* 00FB5C 7000EF5C A02076F0 */ sb $zero, %lo(B_800276F0)($at) +.L7000EF60: +/* 00FB60 7000EF60 0C00643C */ jal __osAiDeviceBusy +/* 00FB64 7000EF64 00000000 */ nop +/* 00FB68 7000EF68 10400003 */ beqz $v0, .L7000EF78 +/* 00FB6C 7000EF6C 00000000 */ nop +/* 00FB70 7000EF70 10000009 */ b .L7000EF98 +/* 00FB74 7000EF74 2402FFFF */ li $v0, -1 +.L7000EF78: +/* 00FB78 7000EF78 0C003A2C */ jal osVirtualToPhysical +/* 00FB7C 7000EF7C 8FA4001C */ lw $a0, 0x1c($sp) +/* 00FB80 7000EF80 3C0CA450 */ lui $t4, 0xa450 +/* 00FB84 7000EF84 AD820000 */ sw $v0, ($t4) +/* 00FB88 7000EF88 8FAD0024 */ lw $t5, 0x24($sp) +/* 00FB8C 7000EF8C 3C0FA450 */ lui $t7, %hi(AI_LEN_REG) # $t7, 0xa450 +/* 00FB90 7000EF90 00001025 */ move $v0, $zero +/* 00FB94 7000EF94 ADED0004 */ sw $t5, %lo(AI_LEN_REG)($t7) +.L7000EF98: +/* 00FB98 7000EF98 8FBF0014 */ lw $ra, 0x14($sp) +/* 00FB9C 7000EF9C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00FBA0 7000EFA0 03E00008 */ jr $ra +/* 00FBA4 7000EFA4 00000000 */ nop + +/* 00FBA8 7000EFA8 00000000 */ nop +/* 00FBAC 7000EFAC 00000000 */ nop +.section .data +glabel B_800276F0 +.byte 0 diff --git a/src/libultra/osAiGetLength.s b/src/libultra/osAiGetLength.s new file mode 100644 index 00000000..f363dab5 --- /dev/null +++ b/src/libultra/osAiGetLength.s @@ -0,0 +1,15 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osAiGetLength +/* 00FBB0 7000EFB0 3C0EA450 */ lui $t6, 0xa450 +/* 00FBB4 7000EFB4 03E00008 */ jr $ra +/* 00FBB8 7000EFB8 8DC20004 */ lw $v0, 4($t6) + diff --git a/src/libultra/osAiSetFrequency.s b/src/libultra/osAiSetFrequency.s new file mode 100644 index 00000000..bd786cc6 --- /dev/null +++ b/src/libultra/osAiSetFrequency.s @@ -0,0 +1,106 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osAiSetFrequency +/* 00F530 7000E930 3C0E8003 */ lui $t6, %hi(osViClock)#%hi(osViClock) +/* 00F534 7000E934 8DCE804C */ lw $t6, %lo(osViClock)($t6)#%lo(osViClock)($t6) +/* 00F538 7000E938 44844000 */ mtc1 $a0, $f8 +/* 00F53C 7000E93C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 00F540 7000E940 448E2000 */ mtc1 $t6, $f4 +/* 00F544 7000E944 468042A0 */ cvt.s.w $f10, $f8 +/* 00F548 7000E948 04810005 */ bgez $a0, .L7000E960 +/* 00F54C 7000E94C 468021A0 */ cvt.s.w $f6, $f4 +/* 00F550 7000E950 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00F554 7000E954 44818000 */ mtc1 $at, $f16 +/* 00F558 7000E958 00000000 */ nop +/* 00F55C 7000E95C 46105280 */ add.s $f10, $f10, $f16 +.L7000E960: +/* 00F560 7000E960 460A3483 */ div.s $f18, $f6, $f10 +/* 00F564 7000E964 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 00F568 7000E968 44812000 */ mtc1 $at, $f4 +/* 00F56C 7000E96C 24050001 */ li $a1, 1 +/* 00F570 7000E970 46049300 */ add.s $f12, $f18, $f4 +/* 00F574 7000E974 444FF800 */ cfc1 $t7, $31 +/* 00F578 7000E978 44C5F800 */ ctc1 $a1, $31 +/* 00F57C 7000E97C 00000000 */ nop +/* 00F580 7000E980 46006224 */ cvt.w.s $f8, $f12 +/* 00F584 7000E984 4445F800 */ cfc1 $a1, $31 +/* 00F588 7000E988 00000000 */ nop +/* 00F58C 7000E98C 30A10004 */ andi $at, $a1, 4 +/* 00F590 7000E990 30A50078 */ andi $a1, $a1, 0x78 +/* 00F594 7000E994 10A00013 */ beqz $a1, .L7000E9E4 +/* 00F598 7000E998 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 00F59C 7000E99C 44814000 */ mtc1 $at, $f8 +/* 00F5A0 7000E9A0 24050001 */ li $a1, 1 +/* 00F5A4 7000E9A4 46086201 */ sub.s $f8, $f12, $f8 +/* 00F5A8 7000E9A8 44C5F800 */ ctc1 $a1, $31 +/* 00F5AC 7000E9AC 00000000 */ nop +/* 00F5B0 7000E9B0 46004224 */ cvt.w.s $f8, $f8 +/* 00F5B4 7000E9B4 4445F800 */ cfc1 $a1, $31 +/* 00F5B8 7000E9B8 00000000 */ nop +/* 00F5BC 7000E9BC 30A10004 */ andi $at, $a1, 4 +/* 00F5C0 7000E9C0 30A50078 */ andi $a1, $a1, 0x78 +/* 00F5C4 7000E9C4 14A00005 */ bnez $a1, .L7000E9DC +/* 00F5C8 7000E9C8 00000000 */ nop +/* 00F5CC 7000E9CC 44054000 */ mfc1 $a1, $f8 +/* 00F5D0 7000E9D0 3C018000 */ lui $at, 0x8000 +/* 00F5D4 7000E9D4 10000007 */ b .L7000E9F4 +/* 00F5D8 7000E9D8 00A12825 */ or $a1, $a1, $at +.L7000E9DC: +/* 00F5DC 7000E9DC 10000005 */ b .L7000E9F4 +/* 00F5E0 7000E9E0 2405FFFF */ li $a1, -1 +.L7000E9E4: +/* 00F5E4 7000E9E4 44054000 */ mfc1 $a1, $f8 +/* 00F5E8 7000E9E8 00000000 */ nop +/* 00F5EC 7000E9EC 04A0FFFB */ bltz $a1, .L7000E9DC +/* 00F5F0 7000E9F0 00000000 */ nop +.L7000E9F4: +/* 00F5F4 7000E9F4 44CFF800 */ ctc1 $t7, $31 +/* 00F5F8 7000E9F8 2CA10084 */ sltiu $at, $a1, 0x84 +/* 00F5FC 7000E9FC 10200003 */ beqz $at, .L7000EA0C +/* 00F600 7000EA00 00000000 */ nop +/* 00F604 7000EA04 10000020 */ b .L7000EA88 +/* 00F608 7000EA08 2402FFFF */ li $v0, -1 +.L7000EA0C: +/* 00F60C 7000EA0C 24010042 */ li $at, 66 +/* 00F610 7000EA10 00A1001B */ divu $zero, $a1, $at +/* 00F614 7000EA14 00003012 */ mflo $a2 +/* 00F618 7000EA18 30D800FF */ andi $t8, $a2, 0xff +/* 00F61C 7000EA1C 03003025 */ move $a2, $t8 +/* 00F620 7000EA20 28C10011 */ slti $at, $a2, 0x11 +/* 00F624 7000EA24 14200002 */ bnez $at, .L7000EA30 +/* 00F628 7000EA28 00000000 */ nop +/* 00F62C 7000EA2C 24060010 */ li $a2, 16 +.L7000EA30: +/* 00F630 7000EA30 24B9FFFF */ addiu $t9, $a1, -1 +/* 00F634 7000EA34 3C08A450 */ lui $t0, %hi(AI_DACRATE_REG) # $t0, 0xa450 +/* 00F638 7000EA38 AD190010 */ sw $t9, %lo(AI_DACRATE_REG)($t0) +/* 00F63C 7000EA3C 24C9FFFF */ addiu $t1, $a2, -1 +/* 00F640 7000EA40 3C0AA450 */ lui $t2, %hi(AI_BITRATE_REG) # $t2, 0xa450 +/* 00F644 7000EA44 AD490014 */ sw $t1, %lo(AI_BITRATE_REG)($t2) +/* 00F648 7000EA48 240B0001 */ li $t3, 1 +/* 00F64C 7000EA4C 3C0CA450 */ lui $t4, %hi(AI_CONTROL_REG) # $t4, 0xa450 +/* 00F650 7000EA50 AD8B0008 */ sw $t3, %lo(AI_CONTROL_REG)($t4) +/* 00F654 7000EA54 3C0D8003 */ lui $t5, %hi(osViClock) #osViClock +/* 00F658 7000EA58 8DAD804C */ lw $t5, %lo(osViClock)($t5) #osViClock +/* 00F65C 7000EA5C 01A5001A */ div $zero, $t5, $a1 +/* 00F660 7000EA60 00001012 */ mflo $v0 +/* 00F664 7000EA64 14A00002 */ bnez $a1, .L7000EA70 +/* 00F668 7000EA68 00000000 */ nop +/* 00F66C 7000EA6C 0007000D */ break 7 +.L7000EA70: +/* 00F670 7000EA70 2401FFFF */ li $at, -1 +/* 00F674 7000EA74 14A10004 */ bne $a1, $at, .L7000EA88 +/* 00F678 7000EA78 3C018000 */ lui $at, 0x8000 +/* 00F67C 7000EA7C 15A10002 */ bne $t5, $at, .L7000EA88 +/* 00F680 7000EA80 00000000 */ nop +/* 00F684 7000EA84 0006000D */ break 6 +.L7000EA88: +/* 00F688 7000EA88 03E00008 */ jr $ra +/* 00F68C 7000EA8C 27BD0010 */ addiu $sp, $sp, 0x10 diff --git a/src/libultra/osCreateMesgQueue.s b/src/libultra/osCreateMesgQueue.s new file mode 100644 index 00000000..d5815cc0 --- /dev/null +++ b/src/libultra/osCreateMesgQueue.s @@ -0,0 +1,41 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osCreateMesgQueue +/* 00E2D0 7000D6D0 3C0E8002 */ lui $t6, %hi(__osThreadTail) +/* 00E2D4 7000D6D4 3C0F8002 */ lui $t7, %hi(__osThreadTail) +/* 00E2D8 7000D6D8 25CE7720 */ addiu $t6, %lo(__osThreadTail) # addiu $t6, $t6, 0x7720 +/* 00E2DC 7000D6DC 25EF7720 */ addiu $t7, %lo(__osThreadTail) # addiu $t7, $t7, 0x7720 +/* 00E2E0 7000D6E0 AC8E0000 */ sw $t6, ($a0) +/* 00E2E4 7000D6E4 AC8F0004 */ sw $t7, 4($a0) +/* 00E2E8 7000D6E8 AC800008 */ sw $zero, 8($a0) +/* 00E2EC 7000D6EC AC80000C */ sw $zero, 0xc($a0) +/* 00E2F0 7000D6F0 AC860010 */ sw $a2, 0x10($a0) +/* 00E2F4 7000D6F4 03E00008 */ jr $ra +/* 00E2F8 7000D6F8 AC850014 */ sw $a1, 0x14($a0) + +#wtf why do these exist, figure out +/* 00E2FC 7000D6FC 00000000 */ nop +/* 00E300 7000D700 00000000 */ nop +/* 00E304 7000D704 00000000 */ nop +/* 00E308 7000D708 00000000 */ nop +/* 00E30C 7000D70C 00000000 */ nop +/* 00E310 7000D710 00000000 */ nop +/* 00E314 7000D714 00000000 */ nop +/* 00E318 7000D718 00000000 */ nop +/* 00E31C 7000D71C 00000000 */ nop +/* 00E320 7000D720 00000000 */ nop +/* 00E324 7000D724 00000000 */ nop +/* 00E328 7000D728 00000000 */ nop +/* 00E32C 7000D72C 00000000 */ nop +/* 00E330 7000D730 00000000 */ nop +/* 00E334 7000D734 00000000 */ nop +/* 00E338 7000D738 00000000 */ nop +/* 00E33C 7000D73C 00000000 */ nop diff --git a/src/libultra/osCreatePiManager.s b/src/libultra/osCreatePiManager.s new file mode 100644 index 00000000..6e3d608b --- /dev/null +++ b/src/libultra/osCreatePiManager.s @@ -0,0 +1,528 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +.ifndef VERSION_EU +glabel osCreatePiManager +/* 0151B0 700145B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0151B4 700145B4 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) +/* 0151B8 700145B8 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) +/* 0151BC 700145BC AFBF001C */ sw $ra, 0x1c($sp) +/* 0151C0 700145C0 AFA40030 */ sw $a0, 0x30($sp) +/* 0151C4 700145C4 AFA50034 */ sw $a1, 0x34($sp) +/* 0151C8 700145C8 AFA60038 */ sw $a2, 0x38($sp) +/* 0151CC 700145CC 15C00056 */ bnez $t6, .L70014728 +/* 0151D0 700145D0 AFA7003C */ sw $a3, 0x3c($sp) +/* 0151D4 700145D4 8FA40034 */ lw $a0, 0x34($sp) +/* 0151D8 700145D8 8FA50038 */ lw $a1, 0x38($sp) +/* 0151DC 700145DC 0C0035B4 */ jal osCreateMesgQueue +/* 0151E0 700145E0 8FA6003C */ lw $a2, 0x3c($sp) +/* 0151E4 700145E4 3C048006 */ lui $a0, %hi(pieventQueue) +/* 0151E8 700145E8 3C058006 */ lui $a1, %hi(piEventBuf) +/* 0151EC 700145EC 24A57C98 */ addiu $a1, %lo(piEventBuf) # addiu $a1, $a1, 0x7c98 +/* 0151F0 700145F0 24847C80 */ addiu $a0, %lo(pieventQueue) # addiu $a0, $a0, 0x7c80 +/* 0151F4 700145F4 0C0035B4 */ jal osCreateMesgQueue +/* 0151F8 700145F8 24060001 */ li $a2, 1 +/* 0151FC 700145FC 3C0F8003 */ lui $t7, %hi(__osPiAccessQueueEnabled) +/* 015200 70014600 8DEF82E0 */ lw $t7, %lo(__osPiAccessQueueEnabled)($t7) +/* 015204 70014604 15E00003 */ bnez $t7, .L70014614 +/* 015208 70014608 00000000 */ nop +/* 01520C 7001460C 0C0075C4 */ jal __osPiCreateAccessQueue +/* 015210 70014610 00000000 */ nop +.L70014614: +/* 015214 70014614 3C058006 */ lui $a1, %hi(pieventQueue) +/* 015218 70014618 3C062222 */ lui $a2, (0x22222222 >> 16) # lui $a2, 0x2222 +/* 01521C 7001461C 34C62222 */ ori $a2, (0x22222222 & 0xFFFF) # ori $a2, $a2, 0x2222 +/* 015220 70014620 24A57C80 */ addiu $a1, %lo(pieventQueue) # addiu $a1, $a1, 0x7c80 +/* 015224 70014624 0C003714 */ jal osSetEventMesg +/* 015228 70014628 24040008 */ li $a0, 8 +/* 01522C 7001462C 2418FFFF */ li $t8, -1 +/* 015230 70014630 AFB80028 */ sw $t8, 0x28($sp) +/* 015234 70014634 0C00628C */ jal osGetThreadPri +/* 015238 70014638 00002025 */ move $a0, $zero +/* 01523C 7001463C AFA20024 */ sw $v0, 0x24($sp) +/* 015240 70014640 8FB90024 */ lw $t9, 0x24($sp) +/* 015244 70014644 8FA80030 */ lw $t0, 0x30($sp) +/* 015248 70014648 0328082A */ slt $at, $t9, $t0 +/* 01524C 7001464C 10200005 */ beqz $at, .L70014664 +/* 015250 70014650 00000000 */ nop +/* 015254 70014654 AFB90028 */ sw $t9, 0x28($sp) +/* 015258 70014658 00002025 */ move $a0, $zero +/* 01525C 7001465C 0C003600 */ jal osSetThreadPri +/* 015260 70014660 01002825 */ move $a1, $t0 +.L70014664: +/* 015264 70014664 0C00617C */ jal __osDisableInt +/* 015268 70014668 00000000 */ nop +/* 01526C 7001466C 3C018002 */ lui $at, %hi(__osPiDevMgr.cmdQueue) +/* 015270 70014670 8FAB0034 */ lw $t3, 0x34($sp) +/* 015274 70014674 3C0A8006 */ lui $t2, %hi(piThread) +/* 015278 70014678 3C0C8006 */ lui $t4, %hi(pieventQueue) +/* 01527C 7001467C 24090001 */ li $t1, 1 +/* 015280 70014680 254A6AD0 */ addiu $t2, %lo(piThread) # addiu $t2, $t2, 0x6ad0 +/* 015284 70014684 258C7C80 */ addiu $t4, %lo(pieventQueue) # addiu $t4, $t4, 0x7c80 +/* 015288 70014688 AC297790 */ sw $t1, %lo(__osPiDevMgr)($at) +/* 01528C 7001468C AC2A7794 */ sw $t2, %lo(__osPiDevMgr.thread)($at) +/* 015290 70014690 AC2C779C */ sw $t4, %lo(__osPiDevMgr.evtQueue)($at) +/* 015294 70014694 3C188006 */ lui $t8, %hi(piThreadStack) +/* 015298 70014698 AC2B7798 */ sw $t3, %lo(__osPiDevMgr.cmdQueue)($at) +/* 01529C 7001469C 8FA80030 */ lw $t0, 0x30($sp) +/* 0152A0 700146A0 3C018002 */ lui $at, %hi(__osPiDevMgr.edma) +/* 0152A4 700146A4 3C0D8007 */ lui $t5, %hi(__osPiAccessQueue) +/* 0152A8 700146A8 3C0E7001 */ lui $t6, %hi(osPiRawStartDma) # $t6, 0x7001 +/* 0152AC 700146AC 3C0F7002 */ lui $t7, %hi(osEPiRawStartDma) # $t7, 0x7002 +/* 0152B0 700146B0 27186C80 */ addiu $t8, $t8, %lo(piThreadStack) +/* 0152B4 700146B4 25AD8FE8 */ addiu $t5, %lo(__osPiAccessQueue) # addiu $t5, $t5, -0x7018 +/* 0152B8 700146B8 25CECF90 */ addiu $t6, %lo(osPiRawStartDma) # addiu $t6, $t6, -0x3070 +/* 0152BC 700146BC 25EFE530 */ addiu $t7, %lo(osEPiRawStartDma) # addiu $t7, $t7, -0x1ad0 +/* 0152C0 700146C0 27191000 */ addiu $t9, $t8, 0x1000 +/* 0152C4 700146C4 3C067002 */ lui $a2, %hi(__osDevMgrMain) # $a2, 0x7002 +/* 0152C8 700146C8 3C078002 */ lui $a3, %hi(__osPiDevMgr) +/* 0152CC 700146CC AFA2002C */ sw $v0, 0x2c($sp) +/* 0152D0 700146D0 AC2D77A0 */ sw $t5, %lo(__osPiDevMgr.acsQueue)($at) +/* 0152D4 700146D4 AC2E77A4 */ sw $t6, %lo(__osPiDevMgr.dma)($at) +/* 0152D8 700146D8 AC2F77A8 */ sw $t7, %lo(__osPiDevMgr.edma)($at) +/* 0152DC 700146DC 24E77790 */ addiu $a3, %lo(__osPiDevMgr) # addiu $a3, $a3, 0x7790 +/* 0152E0 700146E0 24C6E610 */ addiu $a2, %lo(__osDevMgrMain) # addiu $a2, $a2, -0x19f0 +/* 0152E4 700146E4 AFB90010 */ sw $t9, 0x10($sp) +/* 0152E8 700146E8 01402025 */ move $a0, $t2 +/* 0152EC 700146EC 00002825 */ move $a1, $zero +/* 0152F0 700146F0 0C00350C */ jal osCreateThread +/* 0152F4 700146F4 AFA80014 */ sw $t0, 0x14($sp) +/* 0152F8 700146F8 3C048006 */ lui $a0, %hi(piThread) +/* 0152FC 700146FC 0C003560 */ jal osStartThread +/* 015300 70014700 24846AD0 */ addiu $a0, %lo(piThread) # addiu $a0, $a0, 0x6ad0 +/* 015304 70014704 0C006184 */ jal __osRestoreInt +/* 015308 70014708 8FA4002C */ lw $a0, 0x2c($sp) +/* 01530C 7001470C 8FA90028 */ lw $t1, 0x28($sp) +/* 015310 70014710 2401FFFF */ li $at, -1 +/* 015314 70014714 11210004 */ beq $t1, $at, .L70014728 +/* 015318 70014718 00000000 */ nop +/* 01531C 7001471C 00002025 */ move $a0, $zero +/* 015320 70014720 0C003600 */ jal osSetThreadPri +/* 015324 70014724 01202825 */ move $a1, $t1 +.L70014728: +/* 015328 70014728 8FBF001C */ lw $ra, 0x1c($sp) +/* 01532C 7001472C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 015330 70014730 03E00008 */ jr $ra +/* 015334 70014734 00000000 */ nop +.endif +.ifdef VERSION_EU +glabel osCreatePiManager +/* 0026F0 70001AF0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0026F4 70001AF4 AFB00020 */ sw $s0, 0x20($sp) +/* 0026F8 70001AF8 3C108002 */ lui $s0, %hi(__osPiDevMgr) # $s0, 0x8002 +/* 0026FC 70001AFC 26100FB0 */ addiu $s0, %lo(__osPiDevMgr) # addiu $s0, $s0, 0xfb0 +/* 002700 70001B00 8E0E0000 */ lw $t6, ($s0) +/* 002704 70001B04 AFBF0024 */ sw $ra, 0x24($sp) +/* 002708 70001B08 AFA40030 */ sw $a0, 0x30($sp) +/* 00270C 70001B0C AFA50034 */ sw $a1, 0x34($sp) +/* 002710 70001B10 15C0004E */ bnez $t6, .L70001C4C +/* 002714 70001B14 AFA60038 */ sw $a2, 0x38($sp) +/* 002718 70001B18 00A02025 */ move $a0, $a1 +/* 00271C 70001B1C 00C02825 */ move $a1, $a2 +/* 002720 70001B20 0C00310C */ jal osCreateMesgQueue +/* 002724 70001B24 00E03025 */ move $a2, $a3 +/* 002728 70001B28 3C048005 */ lui $a0, %hi(pieventQueue) # $a0, 0x8005 +/* 00272C 70001B2C 3C058005 */ lui $a1, %hi(piEventBuf) # $a1, 0x8005 +/* 002730 70001B30 24A52598 */ addiu $a1, %lo(piEventBuf) # addiu $a1, $a1, 0x2598 +/* 002734 70001B34 24842580 */ addiu $a0, %lo(pieventQueue) # addiu $a0, $a0, 0x2580 +/* 002738 70001B38 0C00310C */ jal osCreateMesgQueue +/* 00273C 70001B3C 24060001 */ li $a2, 1 +/* 002740 70001B40 3C0F8002 */ lui $t7, %hi(__osPiAccessQueueEnabled) # $t7, 0x8002 +/* 002744 70001B44 8DEF31D0 */ lw $t7, %lo(__osPiAccessQueueEnabled)($t7) +/* 002748 70001B48 15E00003 */ bnez $t7, .L70001B58 +/* 00274C 70001B4C 00000000 */ nop +/* 002750 70001B50 0C0036D8 */ jal __osPiCreateAccessQueue +/* 002754 70001B54 00000000 */ nop +.L70001B58: +/* 002758 70001B58 3C058005 */ lui $a1, %hi(pieventQueue) # $a1, 0x8005 +/* 00275C 70001B5C 3C062222 */ lui $a2, (0x22222222 >> 16) # lui $a2, 0x2222 +/* 002760 70001B60 34C62222 */ ori $a2, (0x22222222 & 0xFFFF) # ori $a2, $a2, 0x2222 +/* 002764 70001B64 24A52580 */ addiu $a1, %lo(pieventQueue) # addiu $a1, $a1, 0x2580 +/* 002768 70001B68 0C003194 */ jal osSetEventMesg +/* 00276C 70001B6C 24040008 */ li $a0, 8 +/* 002770 70001B70 2418FFFF */ li $t8, -1 +/* 002774 70001B74 AFB80028 */ sw $t8, 0x28($sp) +/* 002778 70001B78 0C0035A0 */ jal osGetThreadPri +/* 00277C 70001B7C 00002025 */ move $a0, $zero +/* 002780 70001B80 8FB90030 */ lw $t9, 0x30($sp) +/* 002784 70001B84 00002025 */ move $a0, $zero +/* 002788 70001B88 0059082A */ slt $at, $v0, $t9 +/* 00278C 70001B8C 10200003 */ beqz $at, .L70001B9C +/* 002790 70001B90 03202825 */ move $a1, $t9 +/* 002794 70001B94 0C003158 */ jal osSetThreadPri +/* 002798 70001B98 AFA20028 */ sw $v0, 0x28($sp) +.L70001B9C: +/* 00279C 70001B9C 0C0035A8 */ jal __osDisableInt +/* 0027A0 70001BA0 00000000 */ nop +/* 0027A4 70001BA4 8FA90034 */ lw $t1, 0x34($sp) +/* 0027A8 70001BA8 8FAF0030 */ lw $t7, 0x30($sp) +/* 0027AC 70001BAC 3C048005 */ lui $a0, %hi(piThread) # $a0, 0x8005 +/* 0027B0 70001BB0 3C0A8005 */ lui $t2, %hi(pieventQueue) # $t2, 0x8005 +/* 0027B4 70001BB4 3C0B8005 */ lui $t3, %hi(__osPiAccessQueue) # $t3, 0x8005 +/* 0027B8 70001BB8 3C0C7001 */ lui $t4, %hi(osPiRawStartDma) # $t4, 0x7001 +/* 0027BC 70001BBC 3C0D7001 */ lui $t5, %hi(osEPiRawStartDma) # $t5, 0x7001 +/* 0027C0 70001BC0 3C0E8005 */ lui $t6, %hi(pieventQueue) # $t6, 0x8005 +/* 0027C4 70001BC4 248422D0 */ addiu $a0, %lo(piThread) # addiu $a0, $a0, 0x22d0 +/* 0027C8 70001BC8 24080001 */ li $t0, 1 +/* 0027CC 70001BCC 254A2580 */ addiu $t2, %lo(pieventQueue) # addiu $t2, $t2, 0x2580 +/* 0027D0 70001BD0 256B7CA8 */ addiu $t3, %lo(__osPiAccessQueue) # addiu $t3, $t3, 0x7ca8 +/* 0027D4 70001BD4 258CBCF0 */ addiu $t4, %lo(osPiRawStartDma) # addiu $t4, $t4, -0x4310 +/* 0027D8 70001BD8 25ADDC20 */ addiu $t5, %lo(osEPiRawStartDma) # addiu $t5, $t5, -0x23e0 +/* 0027DC 70001BDC 25CE2580 */ addiu $t6, %lo(pieventQueue) # addiu $t6, $t6, 0x2580 +/* 0027E0 70001BE0 3C067001 */ lui $a2, %hi(__osDevMgrMain) # $a2, 0x7001 +/* 0027E4 70001BE4 AFA2002C */ sw $v0, 0x2c($sp) +/* 0027E8 70001BE8 AE080000 */ sw $t0, ($s0) +/* 0027EC 70001BEC AE040004 */ sw $a0, 4($s0) +/* 0027F0 70001BF0 AE0A000C */ sw $t2, 0xc($s0) +/* 0027F4 70001BF4 AE0B0010 */ sw $t3, 0x10($s0) +/* 0027F8 70001BF8 AE0C0014 */ sw $t4, 0x14($s0) +/* 0027FC 70001BFC AE0D0018 */ sw $t5, 0x18($s0) +/* 002800 70001C00 24C6DD00 */ addiu $a2, %lo(__osDevMgrMain) # addiu $a2, $a2, -0x2300 +/* 002804 70001C04 AFAE0010 */ sw $t6, 0x10($sp) +/* 002808 70001C08 00002825 */ move $a1, $zero +/* 00280C 70001C0C 02003825 */ move $a3, $s0 +/* 002810 70001C10 AE090008 */ sw $t1, 8($s0) +/* 002814 70001C14 0C003064 */ jal osCreateThread +/* 002818 70001C18 AFAF0014 */ sw $t7, 0x14($sp) +/* 00281C 70001C1C 3C048005 */ lui $a0, %hi(piThread) # $a0, 0x8005 +/* 002820 70001C20 0C0030B8 */ jal osStartThread +/* 002824 70001C24 248422D0 */ addiu $a0, %lo(piThread) # addiu $a0, $a0, 0x22d0 +/* 002828 70001C28 0C0035B0 */ jal __osRestoreInt +/* 00282C 70001C2C 8FA4002C */ lw $a0, 0x2c($sp) +/* 002830 70001C30 8FB80028 */ lw $t8, 0x28($sp) +/* 002834 70001C34 2401FFFF */ li $at, -1 +/* 002838 70001C38 00002025 */ move $a0, $zero +/* 00283C 70001C3C 53010004 */ beql $t8, $at, .L70001C50 +/* 002840 70001C40 8FBF0024 */ lw $ra, 0x24($sp) +/* 002844 70001C44 0C003158 */ jal osSetThreadPri +/* 002848 70001C48 03002825 */ move $a1, $t8 +.L70001C4C: +/* 00284C 70001C4C 8FBF0024 */ lw $ra, 0x24($sp) +.L70001C50: +/* 002850 70001C50 8FB00020 */ lw $s0, 0x20($sp) +/* 002854 70001C54 27BD0030 */ addiu $sp, $sp, 0x30 +/* 002858 70001C58 03E00008 */ jr $ra +/* 00285C 70001C5C 00000000 */ nop +.endif + + +.section .data +glabel __osPiDevMgr +glabel __osPiDevMgr.active +.word 0 +glabel __osPiDevMgr.thread +.word 0 +glabel __osPiDevMgr.cmdQueue +.word 0 +glabel __osPiDevMgr.evtQueue +.word 0 +glabel __osPiDevMgr.acsQueue +.word 0 +glabel __osPiDevMgr.dma +.word 0 +glabel __osPiDevMgr.edma +.word 0 + + +glabel __osPiTable +.word 0 + +.section .bss +glabel piThread +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 +.word 0,0,0,0 + +glabel piThreadStack +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 +.word 0, 0, 0, 0 + +glabel pieventQueue +.word 0, 0, 0, 0, 0, 0 + +glabel piEventBuf +.word 0, 0 diff --git a/src/libultra/osCreateThread.s b/src/libultra/osCreateThread.s new file mode 100644 index 00000000..ec218133 --- /dev/null +++ b/src/libultra/osCreateThread.s @@ -0,0 +1,92 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osCreateThread +/* 00E030 7000D430 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E034 7000D434 AFA40028 */ sw $a0, 0x28($sp) +/* 00E038 7000D438 AFA5002C */ sw $a1, 0x2c($sp) +/* 00E03C 7000D43C 8FAE002C */ lw $t6, 0x2c($sp) +/* 00E040 7000D440 8FAF0028 */ lw $t7, 0x28($sp) +/* 00E044 7000D444 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E048 7000D448 AFA60030 */ sw $a2, 0x30($sp) +/* 00E04C 7000D44C AFA70034 */ sw $a3, 0x34($sp) +/* 00E050 7000D450 AFB00018 */ sw $s0, 0x18($sp) +/* 00E054 7000D454 ADEE0014 */ sw $t6, 0x14($t7) +/* 00E058 7000D458 8FB90028 */ lw $t9, 0x28($sp) +/* 00E05C 7000D45C 8FB8003C */ lw $t8, 0x3c($sp) +/* 00E060 7000D460 AF380004 */ sw $t8, 4($t9) +/* 00E064 7000D464 8FA80028 */ lw $t0, 0x28($sp) +/* 00E068 7000D468 AD000000 */ sw $zero, ($t0) +/* 00E06C 7000D46C 8FA90028 */ lw $t1, 0x28($sp) +/* 00E070 7000D470 AD200008 */ sw $zero, 8($t1) +/* 00E074 7000D474 8FAB0028 */ lw $t3, 0x28($sp) +/* 00E078 7000D478 8FAA0030 */ lw $t2, 0x30($sp) +/* 00E07C 7000D47C AD6A011C */ sw $t2, 0x11c($t3) +/* 00E080 7000D480 8FAC0034 */ lw $t4, 0x34($sp) +/* 00E084 7000D484 8FAD0028 */ lw $t5, 0x28($sp) +/* 00E088 7000D488 01807825 */ move $t7, $t4 +/* 00E08C 7000D48C 000C77C3 */ sra $t6, $t4, 0x1f +/* 00E090 7000D490 ADAE0038 */ sw $t6, 0x38($t5) +/* 00E094 7000D494 ADAF003C */ sw $t7, 0x3c($t5) +/* 00E098 7000D498 8FB80038 */ lw $t8, 0x38($sp) +/* 00E09C 7000D49C 8FB90028 */ lw $t9, 0x28($sp) +/* 00E0A0 7000D4A0 3C0C7001 */ lui $t4, %hi(__osCleanupThread) # $t4, 0x7001 +/* 00E0A4 7000D4A4 03004825 */ move $t1, $t8 +/* 00E0A8 7000D4A8 2D210010 */ sltiu $at, $t1, 0x10 +/* 00E0AC 7000D4AC 001847C3 */ sra $t0, $t8, 0x1f +/* 00E0B0 7000D4B0 01015023 */ subu $t2, $t0, $at +/* 00E0B4 7000D4B4 252BFFF0 */ addiu $t3, $t1, -0x10 +/* 00E0B8 7000D4B8 AF2B00F4 */ sw $t3, 0xf4($t9) +/* 00E0BC 7000D4BC AF2A00F0 */ sw $t2, 0xf0($t9) +/* 00E0C0 7000D4C0 8FAD0028 */ lw $t5, 0x28($sp) +/* 00E0C4 7000D4C4 258C0A80 */ addiu $t4, %lo(__osCleanupThread) # addiu $t4, $t4, 0xa80 +/* 00E0C8 7000D4C8 01807825 */ move $t7, $t4 +/* 00E0CC 7000D4CC 000C77C3 */ sra $t6, $t4, 0x1f +/* 00E0D0 7000D4D0 ADAE0100 */ sw $t6, 0x100($t5) +/* 00E0D4 7000D4D4 ADAF0104 */ sw $t7, 0x104($t5) +/* 00E0D8 7000D4D8 8FA90028 */ lw $t1, 0x28($sp) +/* 00E0DC 7000D4DC 3C18003F */ lui $t8, (0x003FFF01 >> 16) # lui $t8, 0x3f +/* 00E0E0 7000D4E0 3718FF01 */ ori $t8, (0x003FFF01 & 0xFFFF) # ori $t8, $t8, 0xff01 +/* 00E0E4 7000D4E4 AFB80020 */ sw $t8, 0x20($sp) +/* 00E0E8 7000D4E8 3408FF03 */ li $t0, 65283 +/* 00E0EC 7000D4EC AD280118 */ sw $t0, 0x118($t1) +/* 00E0F0 7000D4F0 8FAA0020 */ lw $t2, 0x20($sp) +/* 00E0F4 7000D4F4 8FAC0028 */ lw $t4, 0x28($sp) +/* 00E0F8 7000D4F8 3C01003F */ lui $at, 0x3f +/* 00E0FC 7000D4FC 01415824 */ and $t3, $t2, $at +/* 00E100 7000D500 000BCC02 */ srl $t9, $t3, 0x10 +/* 00E104 7000D504 AD990128 */ sw $t9, 0x128($t4) +/* 00E108 7000D508 8FAF0028 */ lw $t7, 0x28($sp) +/* 00E10C 7000D50C 3C0E0100 */ lui $t6, (0x01000800 >> 16) # lui $t6, 0x100 +/* 00E110 7000D510 35CE0800 */ ori $t6, (0x01000800 & 0xFFFF) # ori $t6, $t6, 0x800 +/* 00E114 7000D514 ADEE012C */ sw $t6, 0x12c($t7) +/* 00E118 7000D518 8FAD0028 */ lw $t5, 0x28($sp) +/* 00E11C 7000D51C 24180001 */ li $t8, 1 +/* 00E120 7000D520 ADA00018 */ sw $zero, 0x18($t5) +/* 00E124 7000D524 8FA80028 */ lw $t0, 0x28($sp) +/* 00E128 7000D528 A5180010 */ sh $t8, 0x10($t0) +/* 00E12C 7000D52C 8FA90028 */ lw $t1, 0x28($sp) +/* 00E130 7000D530 0C00617C */ jal __osDisableInt +/* 00E134 7000D534 A5200012 */ sh $zero, 0x12($t1) +/* 00E138 7000D538 3C0A8002 */ lui $t2, %hi(__osActiveQueue) +/* 00E13C 7000D53C 8D4A772C */ lw $t2, %lo(__osActiveQueue)($t2) +/* 00E140 7000D540 8FAB0028 */ lw $t3, 0x28($sp) +/* 00E144 7000D544 00408025 */ move $s0, $v0 +/* 00E148 7000D548 3C018002 */ lui $at, %hi(__osActiveQueue) +/* 00E14C 7000D54C AD6A000C */ sw $t2, 0xc($t3) +/* 00E150 7000D550 8FB90028 */ lw $t9, 0x28($sp) +/* 00E154 7000D554 02002025 */ move $a0, $s0 +/* 00E158 7000D558 0C006184 */ jal __osRestoreInt +/* 00E15C 7000D55C AC39772C */ sw $t9, %lo(__osActiveQueue)($at) +/* 00E160 7000D560 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E164 7000D564 8FB00018 */ lw $s0, 0x18($sp) +/* 00E168 7000D568 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00E16C 7000D56C 03E00008 */ jr $ra +/* 00E170 7000D570 00000000 */ nop diff --git a/src/libultra/osCreateViManager.s b/src/libultra/osCreateViManager.s new file mode 100644 index 00000000..85734928 --- /dev/null +++ b/src/libultra/osCreateViManager.s @@ -0,0 +1,1625 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +.ifndef VERSION_EU +glabel osCreateViManager +/* 00E4F0 7000D8F0 3C0E8002 */ lui $t6, %hi(__osViDevMgr) +/* 00E4F4 7000D8F4 8DCE69A0 */ lw $t6, %lo(__osViDevMgr)($t6) +/* 00E4F8 7000D8F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00E4FC 7000D8FC AFBF001C */ sw $ra, 0x1c($sp) +/* 00E500 7000D900 15C00059 */ bnez $t6, .L7000DA68 +/* 00E504 7000D904 AFA40030 */ sw $a0, 0x30($sp) +/* 00E508 7000D908 0C00618C */ jal __osTimerServicesInit +/* 00E50C 7000D90C 00000000 */ nop +/* 00E510 7000D910 3C048006 */ lui $a0, %hi(viEventQueue) +/* 00E514 7000D914 3C058006 */ lui $a1, %hi(viEventBuf) +/* 00E518 7000D918 24A569B8 */ addiu $a1, %lo(viEventBuf) # addiu $a1, $a1, 0x69b8 +/* 00E51C 7000D91C 248469A0 */ addiu $a0, %lo(viEventQueue) # addiu $a0, $a0, 0x69a0 +/* 00E520 7000D920 0C0035B4 */ jal osCreateMesgQueue +/* 00E524 7000D924 24060005 */ li $a2, 5 +/* 00E528 7000D928 3C018006 */ lui $at, %hi(viRetraceMsg+0x4) +/* 00E52C 7000D92C 240F000D */ li $t7, 13 +/* 00E530 7000D930 A42F69D0 */ sh $t7, %lo(viRetraceMsg)($at) +/* 00E534 7000D934 A02069D2 */ sb $zero, %lo(viRetraceMsg+0x2)($at) +/* 00E538 7000D938 AC2069D4 */ sw $zero, %lo(viRetraceMsg+0x4)($at) +/* 00E53C 7000D93C 3C018006 */ lui $at, %hi(viCounterMsg+0x4) +/* 00E540 7000D940 2418000E */ li $t8, 14 +/* 00E544 7000D944 3C058006 */ lui $a1, %hi(viEventQueue) +/* 00E548 7000D948 3C068006 */ lui $a2, %hi(viRetraceMsg) +/* 00E54C 7000D94C A43869E8 */ sh $t8, %lo(viCounterMsg)($at) +/* 00E550 7000D950 A02069EA */ sb $zero, %lo(viCounterMsg+0x2)($at) +/* 00E554 7000D954 AC2069EC */ sw $zero, %lo(viCounterMsg+0x4)($at) +/* 00E558 7000D958 24C669D0 */ addiu $a2, %lo(viRetraceMsg) # addiu $a2, $a2, 0x69d0 +/* 00E55C 7000D95C 24A569A0 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x69a0 +/* 00E560 7000D960 0C003714 */ jal osSetEventMesg +/* 00E564 7000D964 24040007 */ li $a0, 7 +/* 00E568 7000D968 3C058006 */ lui $a1, %hi(viEventQueue) +/* 00E56C 7000D96C 3C068006 */ lui $a2, %hi(viCounterMsg) +/* 00E570 7000D970 24C669E8 */ addiu $a2, %lo(viCounterMsg) # addiu $a2, $a2, 0x69e8 +/* 00E574 7000D974 24A569A0 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x69a0 +/* 00E578 7000D978 0C003714 */ jal osSetEventMesg +/* 00E57C 7000D97C 24040003 */ li $a0, 3 +/* 00E580 7000D980 2419FFFF */ li $t9, -1 +/* 00E584 7000D984 AFB90028 */ sw $t9, 0x28($sp) +/* 00E588 7000D988 0C00628C */ jal osGetThreadPri +/* 00E58C 7000D98C 00002025 */ move $a0, $zero +/* 00E590 7000D990 AFA20024 */ sw $v0, 0x24($sp) +/* 00E594 7000D994 8FA80024 */ lw $t0, 0x24($sp) +/* 00E598 7000D998 8FA90030 */ lw $t1, 0x30($sp) +/* 00E59C 7000D99C 0109082A */ slt $at, $t0, $t1 +/* 00E5A0 7000D9A0 10200005 */ beqz $at, .L7000D9B8 +/* 00E5A4 7000D9A4 00000000 */ nop +/* 00E5A8 7000D9A8 AFA80028 */ sw $t0, 0x28($sp) +/* 00E5AC 7000D9AC 00002025 */ move $a0, $zero +/* 00E5B0 7000D9B0 0C003600 */ jal osSetThreadPri +/* 00E5B4 7000D9B4 01202825 */ move $a1, $t1 +.L7000D9B8: +/* 00E5B8 7000D9B8 0C00617C */ jal __osDisableInt +/* 00E5BC 7000D9BC 00000000 */ nop +/* 00E5C0 7000D9C0 3C018002 */ lui $at, %hi(D_800269AC) +/* 00E5C4 7000D9C4 3C0C8006 */ lui $t4, %hi(viEventQueue) +/* 00E5C8 7000D9C8 3C0B8006 */ lui $t3, %hi(viThread) +/* 00E5CC 7000D9CC 258C69A0 */ addiu $t4, %lo(viEventQueue) # addiu $t4, $t4, 0x69a0 +/* 00E5D0 7000D9D0 240A0001 */ li $t2, 1 +/* 00E5D4 7000D9D4 256B57F0 */ addiu $t3, %lo(viThread) # addiu $t3, $t3, 0x57f0 +/* 00E5D8 7000D9D8 AC2A69A0 */ sw $t2, %lo(__osViDevMgr)($at) +/* 00E5DC 7000D9DC AC2B69A4 */ sw $t3, %lo(D_800269A4)($at) +/* 00E5E0 7000D9E0 AC2C69A8 */ sw $t4, %lo(D_800269A8)($at) +/* 00E5E4 7000D9E4 AC2C69AC */ sw $t4, %lo(D_800269AC)($at) +/* 00E5E8 7000D9E8 3C0D8006 */ lui $t5, %hi(viThreadStack) +/* 00E5EC 7000D9EC 8FAF0030 */ lw $t7, 0x30($sp) +/* 00E5F0 7000D9F0 3C018002 */ lui $at, %hi(D_800269B8) +/* 00E5F4 7000D9F4 25AD59A0 */ addiu $t5, %lo(viThreadStack) # addiu $t5, $t5, 0x59a0 +/* 00E5F8 7000D9F8 25AE1000 */ addiu $t6, $t5, 0x1000 +/* 00E5FC 7000D9FC 3C067001 */ lui $a2, %hi(viMgrMain) # $a2, 0x7001 +/* 00E600 7000DA00 3C078002 */ lui $a3, %hi(__osViDevMgr) +/* 00E604 7000DA04 AFA2002C */ sw $v0, 0x2c($sp) +/* 00E608 7000DA08 AC2069B0 */ sw $zero, %lo(D_800269B0)($at) +/* 00E60C 7000DA0C AC2069B4 */ sw $zero, %lo(D_800269B4)($at) +/* 00E610 7000DA10 AC2069B8 */ sw $zero, %lo(D_800269B8)($at) +/* 00E614 7000DA14 24E769A0 */ addiu $a3, %lo(__osViDevMgr) # addiu $a3, $a3, 0x69a0 +/* 00E618 7000DA18 24C6DA78 */ addiu $a2, %lo(viMgrMain) # addiu $a2, $a2, -0x2588 +/* 00E61C 7000DA1C AFAE0010 */ sw $t6, 0x10($sp) +/* 00E620 7000DA20 01602025 */ move $a0, $t3 +/* 00E624 7000DA24 00002825 */ move $a1, $zero +/* 00E628 7000DA28 0C00350C */ jal osCreateThread +/* 00E62C 7000DA2C AFAF0014 */ sw $t7, 0x14($sp) +/* 00E630 7000DA30 0C006294 */ jal __osViInit +/* 00E634 7000DA34 00000000 */ nop +/* 00E638 7000DA38 3C048006 */ lui $a0, %hi(viThread) +/* 00E63C 7000DA3C 0C003560 */ jal osStartThread +/* 00E640 7000DA40 248457F0 */ addiu $a0, %lo(viThread) # addiu $a0, $a0, 0x57f0 +/* 00E644 7000DA44 0C006184 */ jal __osRestoreInt +/* 00E648 7000DA48 8FA4002C */ lw $a0, 0x2c($sp) +/* 00E64C 7000DA4C 8FB80028 */ lw $t8, 0x28($sp) +/* 00E650 7000DA50 2401FFFF */ li $at, -1 +/* 00E654 7000DA54 13010004 */ beq $t8, $at, .L7000DA68 +/* 00E658 7000DA58 00000000 */ nop +/* 00E65C 7000DA5C 00002025 */ move $a0, $zero +/* 00E660 7000DA60 0C003600 */ jal osSetThreadPri +/* 00E664 7000DA64 03002825 */ move $a1, $t8 +.L7000DA68: +/* 00E668 7000DA68 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E66C 7000DA6C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00E670 7000DA70 03E00008 */ jr $ra +/* 00E674 7000DA74 00000000 */ nop +.endif +.ifdef VERSION_EU +glabel osCreateViManager +/* 0023E0 700017E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0023E4 700017E4 AFB00020 */ sw $s0, 0x20($sp) +/* 0023E8 700017E8 3C108002 */ lui $s0, %hi(__osViDevMgr) # $s0, 0x8002 +/* 0023EC 700017EC 26100F90 */ addiu $s0, %lo(__osViDevMgr) # addiu $s0, $s0, 0xf90 +/* 0023F0 700017F0 8E0E0000 */ lw $t6, ($s0) +/* 0023F4 700017F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0023F8 700017F8 AFA40030 */ sw $a0, 0x30($sp) +/* 0023FC 700017FC 55C00052 */ bnezl $t6, .L70001948 +/* 002400 70001800 8FBF0024 */ lw $ra, 0x24($sp) +/* 002404 70001804 0C0034A0 */ jal __osTimerServicesInit +/* 002408 70001808 00000000 */ nop +/* 00240C 7000180C 3C048005 */ lui $a0, %hi(viEventQueue) # $a0, 0x8005 +/* 002410 70001810 3C058005 */ lui $a1, %hi(viEventBuf) # $a1, 0x8005 +/* 002414 70001814 24A52278 */ addiu $a1, %lo(viEventBuf) # addiu $a1, $a1, 0x2278 +/* 002418 70001818 24842260 */ addiu $a0, %lo(viEventQueue) # addiu $a0, $a0, 0x2260 +/* 00241C 7000181C 0C00310C */ jal osCreateMesgQueue +/* 002420 70001820 24060005 */ li $a2, 5 +/* 002424 70001824 3C068005 */ lui $a2, %hi(viRetraceMsg) # $a2, 0x8005 +/* 002428 70001828 3C078005 */ lui $a3, %hi(viCounterMsg) # $a3, 0x8005 +/* 00242C 7000182C 24E722A8 */ addiu $a3, %lo(viCounterMsg) # addiu $a3, $a3, 0x22a8 +/* 002430 70001830 24C62290 */ addiu $a2, %lo(viRetraceMsg) # addiu $a2, $a2, 0x2290 +/* 002434 70001834 240F000D */ li $t7, 13 +/* 002438 70001838 2418000E */ li $t8, 14 +/* 00243C 7000183C 3C058005 */ lui $a1, %hi(viEventQueue) # $a1, 0x8005 +/* 002440 70001840 A4CF0000 */ sh $t7, ($a2) +/* 002444 70001844 A0C00002 */ sb $zero, 2($a2) +/* 002448 70001848 ACC00004 */ sw $zero, 4($a2) +/* 00244C 7000184C A4F80000 */ sh $t8, ($a3) +/* 002450 70001850 A0E00002 */ sb $zero, 2($a3) +/* 002454 70001854 ACE00004 */ sw $zero, 4($a3) +/* 002458 70001858 24A52260 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x2260 +/* 00245C 7000185C 0C003194 */ jal osSetEventMesg +/* 002460 70001860 24040007 */ li $a0, 7 +/* 002464 70001864 3C078005 */ lui $a3, %hi(viCounterMsg) +/* 002468 70001868 3C058005 */ lui $a1, %hi(viEventQueue) # $a1, 0x8005 +/* 00246C 7000186C 24E622A8 */ addiu $a2, $a3, %lo(viCounterMsg) +/* 002470 70001870 24A52260 */ addiu $a1, %lo(viEventQueue) # addiu $a1, $a1, 0x2260 +/* 002474 70001874 0C003194 */ jal osSetEventMesg +/* 002478 70001878 24040003 */ li $a0, 3 +/* 00247C 7000187C 2419FFFF */ li $t9, -1 +/* 002480 70001880 AFB90028 */ sw $t9, 0x28($sp) +/* 002484 70001884 0C0035A0 */ jal osGetThreadPri +/* 002488 70001888 00002025 */ move $a0, $zero +/* 00248C 7000188C 8FA80030 */ lw $t0, 0x30($sp) +/* 002490 70001890 00002025 */ move $a0, $zero +/* 002494 70001894 0048082A */ slt $at, $v0, $t0 +/* 002498 70001898 10200003 */ beqz $at, .L700018A8 +/* 00249C 7000189C 01002825 */ move $a1, $t0 +/* 0024A0 700018A0 0C003158 */ jal osSetThreadPri +/* 0024A4 700018A4 AFA20028 */ sw $v0, 0x28($sp) +.L700018A8: +/* 0024A8 700018A8 0C0035A8 */ jal __osDisableInt +/* 0024AC 700018AC 00000000 */ nop +/* 0024B0 700018B0 8FAB0030 */ lw $t3, 0x30($sp) +/* 0024B4 700018B4 3C038005 */ lui $v1, %hi(viEventQueue) # $v1, 0x8005 +/* 0024B8 700018B8 3C048005 */ lui $a0, %hi(viThread) # $a0, 0x8005 +/* 0024BC 700018BC 3C0A8005 */ lui $t2, %hi(viEventQueue) # $t2, 0x8005 +/* 0024C0 700018C0 24841FB0 */ addiu $a0, %lo(viThread) # addiu $a0, $a0, 0x1fb0 +/* 0024C4 700018C4 24632260 */ addiu $v1, %lo(viEventQueue) # addiu $v1, $v1, 0x2260 +/* 0024C8 700018C8 24090001 */ li $t1, 1 +/* 0024CC 700018CC 254A2260 */ addiu $t2, %lo(viEventQueue) # addiu $t2, $t2, 0x2260 +/* 0024D0 700018D0 3C067000 */ lui $a2, %hi(viMgrMain) # $a2, 0x7000 +/* 0024D4 700018D4 AFA2002C */ sw $v0, 0x2c($sp) +/* 0024D8 700018D8 AE090000 */ sw $t1, ($s0) +/* 0024DC 700018DC AE040004 */ sw $a0, 4($s0) +/* 0024E0 700018E0 AE030008 */ sw $v1, 8($s0) +/* 0024E4 700018E4 AE03000C */ sw $v1, 0xc($s0) +/* 0024E8 700018E8 AE000010 */ sw $zero, 0x10($s0) +/* 0024EC 700018EC AE000014 */ sw $zero, 0x14($s0) +/* 0024F0 700018F0 AE000018 */ sw $zero, 0x18($s0) +/* 0024F4 700018F4 24C61958 */ addiu $a2, %lo(viMgrMain) # addiu $a2, $a2, 0x1958 +/* 0024F8 700018F8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0024FC 700018FC 00002825 */ move $a1, $zero +/* 002500 70001900 02003825 */ move $a3, $s0 +/* 002504 70001904 0C003064 */ jal osCreateThread +/* 002508 70001908 AFAB0014 */ sw $t3, 0x14($sp) +/* 00250C 7000190C 0C0035B8 */ jal __osViInit +/* 002510 70001910 00000000 */ nop +/* 002514 70001914 3C048005 */ lui $a0, %hi(viThread) # $a0, 0x8005 +/* 002518 70001918 0C0030B8 */ jal osStartThread +/* 00251C 7000191C 24841FB0 */ addiu $a0, %lo(viThread) # addiu $a0, $a0, 0x1fb0 +/* 002520 70001920 0C0035B0 */ jal __osRestoreInt +/* 002524 70001924 8FA4002C */ lw $a0, 0x2c($sp) +/* 002528 70001928 8FAC0028 */ lw $t4, 0x28($sp) +/* 00252C 7000192C 2401FFFF */ li $at, -1 +/* 002530 70001930 00002025 */ move $a0, $zero +/* 002534 70001934 51810004 */ beql $t4, $at, .L70001948 +/* 002538 70001938 8FBF0024 */ lw $ra, 0x24($sp) +/* 00253C 7000193C 0C003158 */ jal osSetThreadPri +/* 002540 70001940 01802825 */ move $a1, $t4 +/* 002544 70001944 8FBF0024 */ lw $ra, 0x24($sp) +.L70001948: +/* 002548 70001948 8FB00020 */ lw $s0, 0x20($sp) +/* 00254C 7000194C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 002550 70001950 03E00008 */ jr $ra +/* 002554 70001954 00000000 */ nop +.endif + +.ifndef VERSION_EU +glabel viMgrMain +/* 00E678 7000DA78 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00E67C 7000DA7C AFBF001C */ sw $ra, 0x1c($sp) +/* 00E680 7000DA80 AFA40038 */ sw $a0, 0x38($sp) +/* 00E684 7000DA84 AFB00018 */ sw $s0, 0x18($sp) +/* 00E688 7000DA88 AFA0002C */ sw $zero, 0x2c($sp) +/* 00E68C 7000DA8C 0C0062D8 */ jal __osViGetCurrentContext +/* 00E690 7000DA90 AFA00028 */ sw $zero, 0x28($sp) +/* 00E694 7000DA94 AFA20034 */ sw $v0, 0x34($sp) +/* 00E698 7000DA98 8FAE0034 */ lw $t6, 0x34($sp) +/* 00E69C 7000DA9C 3C018006 */ lui $at, %hi(retrace) +/* 00E6A0 7000DAA0 95CF0002 */ lhu $t7, 2($t6) +/* 00E6A4 7000DAA4 15E00004 */ bnez $t7, .L7000DAB8 +/* 00E6A8 7000DAA8 A42F6A00 */ sh $t7, %lo(retrace)($at) +/* 00E6AC 7000DAAC 24180001 */ li $t8, 1 +/* 00E6B0 7000DAB0 3C018006 */ lui $at, %hi(retrace) +/* 00E6B4 7000DAB4 A4386A00 */ sh $t8, %lo(retrace)($at) +.L7000DAB8: +/* 00E6B8 7000DAB8 8FB90038 */ lw $t9, 0x38($sp) +/* 00E6BC 7000DABC AFB90030 */ sw $t9, 0x30($sp) +.L7000DAC0: +/* 00E6C0 7000DAC0 8FA80030 */ lw $t0, 0x30($sp) +/* 00E6C4 7000DAC4 27A5002C */ addiu $a1, $sp, 0x2c +/* 00E6C8 7000DAC8 24060001 */ li $a2, 1 +/* 00E6CC 7000DACC 0C003774 */ jal osRecvMesg +/* 00E6D0 7000DAD0 8D04000C */ lw $a0, 0xc($t0) +/* 00E6D4 7000DAD4 8FA9002C */ lw $t1, 0x2c($sp) +/* 00E6D8 7000DAD8 2401000D */ li $at, 13 +/* 00E6DC 7000DADC 95300000 */ lhu $s0, ($t1) +/* 00E6E0 7000DAE0 12010005 */ beq $s0, $at, .L7000DAF8 +/* 00E6E4 7000DAE4 2401000E */ li $at, 14 +/* 00E6E8 7000DAE8 12010047 */ beq $s0, $at, .L7000DC08 +/* 00E6EC 7000DAEC 00000000 */ nop +/* 00E6F0 7000DAF0 1000FFF3 */ b .L7000DAC0 +/* 00E6F4 7000DAF4 00000000 */ nop +.L7000DAF8: +/* 00E6F8 7000DAF8 0C0062DC */ jal __osViSwapContext +/* 00E6FC 7000DAFC 00000000 */ nop +/* 00E700 7000DB00 3C0A8006 */ lui $t2, %hi(retrace) +/* 00E704 7000DB04 954A6A00 */ lhu $t2, %lo(retrace)($t2) +/* 00E708 7000DB08 3C018006 */ lui $at, %hi(retrace) +/* 00E70C 7000DB0C 254BFFFF */ addiu $t3, $t2, -1 +/* 00E710 7000DB10 316CFFFF */ andi $t4, $t3, 0xffff +/* 00E714 7000DB14 15800010 */ bnez $t4, .L7000DB58 +/* 00E718 7000DB18 A42B6A00 */ sh $t3, %lo(retrace)($at) +/* 00E71C 7000DB1C 0C0062D8 */ jal __osViGetCurrentContext +/* 00E720 7000DB20 00000000 */ nop +/* 00E724 7000DB24 AFA20034 */ sw $v0, 0x34($sp) +/* 00E728 7000DB28 8FAD0034 */ lw $t5, 0x34($sp) +/* 00E72C 7000DB2C 8DAE0010 */ lw $t6, 0x10($t5) +/* 00E730 7000DB30 11C00005 */ beqz $t6, .L7000DB48 +/* 00E734 7000DB34 00000000 */ nop +/* 00E738 7000DB38 01C02025 */ move $a0, $t6 +/* 00E73C 7000DB3C 8DA50014 */ lw $a1, 0x14($t5) +/* 00E740 7000DB40 0C0037C4 */ jal osSendMesg +/* 00E744 7000DB44 00003025 */ move $a2, $zero +.L7000DB48: +/* 00E748 7000DB48 8FAF0034 */ lw $t7, 0x34($sp) +/* 00E74C 7000DB4C 3C018006 */ lui $at, %hi(retrace) +/* 00E750 7000DB50 95F80002 */ lhu $t8, 2($t7) +/* 00E754 7000DB54 A4386A00 */ sh $t8, %lo(retrace)($at) +.L7000DB58: +/* 00E758 7000DB58 3C198007 */ lui $t9, %hi(__osViIntrCount) +/* 00E75C 7000DB5C 8F398E1C */ lw $t9, %lo(__osViIntrCount)($t9) +/* 00E760 7000DB60 8FA90028 */ lw $t1, 0x28($sp) +/* 00E764 7000DB64 3C018007 */ lui $at, %hi(__osViIntrCount) +/* 00E768 7000DB68 27280001 */ addiu $t0, $t9, 1 +/* 00E76C 7000DB6C 1120000C */ beqz $t1, .L7000DBA0 +/* 00E770 7000DB70 AC288E1C */ sw $t0, %lo(__osViIntrCount)($at) +/* 00E774 7000DB74 0C003638 */ jal osGetCount +/* 00E778 7000DB78 00000000 */ nop +/* 00E77C 7000DB7C AFA20024 */ sw $v0, 0x24($sp) +/* 00E780 7000DB80 8FAA0024 */ lw $t2, 0x24($sp) +/* 00E784 7000DB84 240C0000 */ li $t4, 0 +/* 00E788 7000DB88 3C018007 */ lui $at, %hi(__osCurrentTime) +/* 00E78C 7000DB8C AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) +/* 00E790 7000DB90 3C018007 */ lui $at, %hi(__osCurrentTime+4) +/* 00E794 7000DB94 01406825 */ move $t5, $t2 +/* 00E798 7000DB98 AC2D8E14 */ sw $t5, %lo(__osCurrentTime+4)($at) +/* 00E79C 7000DB9C AFA00028 */ sw $zero, 0x28($sp) +.L7000DBA0: +/* 00E7A0 7000DBA0 3C0B8007 */ lui $t3, %hi(__osBaseCounter) +/* 00E7A4 7000DBA4 8D6B8E18 */ lw $t3, %lo(__osBaseCounter)($t3) +/* 00E7A8 7000DBA8 0C003638 */ jal osGetCount +/* 00E7AC 7000DBAC AFAB0024 */ sw $t3, 0x24($sp) +/* 00E7B0 7000DBB0 3C018007 */ lui $at, %hi(__osBaseCounter) +/* 00E7B4 7000DBB4 AC228E18 */ sw $v0, %lo(__osBaseCounter)($at) +/* 00E7B8 7000DBB8 3C0E8007 */ lui $t6, %hi(__osBaseCounter) +/* 00E7BC 7000DBBC 8DCE8E18 */ lw $t6, %lo(__osBaseCounter)($t6) +/* 00E7C0 7000DBC0 8FAF0024 */ lw $t7, 0x24($sp) +/* 00E7C4 7000DBC4 3C0B8007 */ lui $t3, %hi(__osCurrentTime+4) +/* 00E7C8 7000DBC8 8D6B8E14 */ lw $t3, %lo(__osCurrentTime+4)($t3) +/* 00E7CC 7000DBCC 01CFC023 */ subu $t8, $t6, $t7 +/* 00E7D0 7000DBD0 03004825 */ move $t1, $t8 +/* 00E7D4 7000DBD4 3C0A8007 */ lui $t2, %hi(__osCurrentTime) +/* 00E7D8 7000DBD8 012B6821 */ addu $t5, $t1, $t3 +/* 00E7DC 7000DBDC 8D4A8E10 */ lw $t2, %lo(__osCurrentTime)($t2) +/* 00E7E0 7000DBE0 24080000 */ li $t0, 0 +/* 00E7E4 7000DBE4 01AB082B */ sltu $at, $t5, $t3 +/* 00E7E8 7000DBE8 00286021 */ addu $t4, $at, $t0 +/* 00E7EC 7000DBEC 3C018007 */ lui $at, %hi(__osCurrentTime) +/* 00E7F0 7000DBF0 018A6021 */ addu $t4, $t4, $t2 +/* 00E7F4 7000DBF4 AC2C8E10 */ sw $t4, %lo(__osCurrentTime)($at) +/* 00E7F8 7000DBF8 3C018007 */ lui $at, %hi(__osCurrentTime+4) +/* 00E7FC 7000DBFC AFB80024 */ sw $t8, 0x24($sp) +/* 00E800 7000DC00 1000FFAF */ b .L7000DAC0 +/* 00E804 7000DC04 AC2D8E14 */ sw $t5, %lo(__osCurrentTime+4)($at) +.L7000DC08: +/* 00E808 7000DC08 0C0061AF */ jal __osTimerInterrupt +/* 00E80C 7000DC0C 00000000 */ nop +/* 00E810 7000DC10 1000FFAB */ b .L7000DAC0 +/* 00E814 7000DC14 00000000 */ nop +/* 00E818 7000DC18 00000000 */ nop +/* 00E81C 7000DC1C 00000000 */ nop +/* 00E820 7000DC20 00000000 */ nop +/* 00E824 7000DC24 00000000 */ nop +/* 00E828 7000DC28 00000000 */ nop +/* 00E82C 7000DC2C 00000000 */ nop +/* 00E830 7000DC30 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E834 7000DC34 8FB00018 */ lw $s0, 0x18($sp) +/* 00E838 7000DC38 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00E83C 7000DC3C 03E00008 */ jr $ra +/* 00E840 7000DC40 00000000 */ nop +.endif +.ifdef VERSION_EU +glabel viMgrMain +/* 002558 70001958 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00255C 7000195C AFBF0034 */ sw $ra, 0x34($sp) +/* 002560 70001960 AFB70030 */ sw $s7, 0x30($sp) +/* 002564 70001964 0080B825 */ move $s7, $a0 +/* 002568 70001968 AFB6002C */ sw $s6, 0x2c($sp) +/* 00256C 7000196C AFB50028 */ sw $s5, 0x28($sp) +/* 002570 70001970 AFB40024 */ sw $s4, 0x24($sp) +/* 002574 70001974 AFB30020 */ sw $s3, 0x20($sp) +/* 002578 70001978 AFB2001C */ sw $s2, 0x1c($sp) +/* 00257C 7000197C AFB10018 */ sw $s1, 0x18($sp) +/* 002580 70001980 AFB00014 */ sw $s0, 0x14($sp) +/* 002584 70001984 0C0035FC */ jal __osViGetCurrentContext +/* 002588 70001988 AFA00044 */ sw $zero, 0x44($sp) +/* 00258C 7000198C 94430002 */ lhu $v1, 2($v0) +/* 002590 70001990 3C018005 */ lui $at, %hi(retrace) # $at, 0x8005 +/* 002594 70001994 2416000E */ li $s6, 14 +/* 002598 70001998 14600004 */ bnez $v1, .L700019AC +/* 00259C 7000199C A42322C0 */ sh $v1, %lo(retrace)($at) +/* 0025A0 700019A0 24030001 */ li $v1, 1 +/* 0025A4 700019A4 3C018005 */ lui $at, %hi(retrace) # $at, 0x8005 +/* 0025A8 700019A8 A42322C0 */ sh $v1, %lo(retrace)($at) +.L700019AC: +/* 0025AC 700019AC 3C138005 */ lui $s3, %hi(__osViIntrCount) # $s3, 0x8005 +/* 0025B0 700019B0 3C128005 */ lui $s2, %hi(__osBaseCounter) # $s2, 0x8005 +/* 0025B4 700019B4 3C118005 */ lui $s1, %hi(__osCurrentTime) # $s1, 0x8005 +/* 0025B8 700019B8 26317C80 */ addiu $s1, %lo(__osCurrentTime) # addiu $s1, $s1, 0x7c80 +/* 0025BC 700019BC 26527C88 */ addiu $s2, %lo(__osBaseCounter) # addiu $s2, $s2, 0x7c88 +/* 0025C0 700019C0 26737C8C */ addiu $s3, %lo(__osViIntrCount) # addiu $s3, $s3, 0x7c8c +/* 0025C4 700019C4 2415000D */ li $s5, 13 +/* 0025C8 700019C8 27B40044 */ addiu $s4, $sp, 0x44 +.L700019CC: +/* 0025CC 700019CC 8EE4000C */ lw $a0, 0xc($s7) +.L700019D0: +/* 0025D0 700019D0 02802825 */ move $a1, $s4 +/* 0025D4 700019D4 0C0031F4 */ jal osRecvMesg +/* 0025D8 700019D8 24060001 */ li $a2, 1 +/* 0025DC 700019DC 8FAE0044 */ lw $t6, 0x44($sp) +/* 0025E0 700019E0 95C30000 */ lhu $v1, ($t6) +/* 0025E4 700019E4 10750005 */ beq $v1, $s5, .L700019FC +/* 0025E8 700019E8 00000000 */ nop +/* 0025EC 700019EC 1076002A */ beq $v1, $s6, .L70001A98 +/* 0025F0 700019F0 00000000 */ nop +/* 0025F4 700019F4 1000FFF6 */ b .L700019D0 +/* 0025F8 700019F8 8EE4000C */ lw $a0, 0xc($s7) +.L700019FC: +/* 0025FC 700019FC 0C003600 */ jal __osViSwapContext +/* 002600 70001A00 00000000 */ nop +/* 002604 70001A04 3C038005 */ lui $v1, %hi(retrace) # $v1, 0x8005 +/* 002608 70001A08 946322C0 */ lhu $v1, %lo(retrace)($v1) +/* 00260C 70001A0C 3C018005 */ lui $at, %hi(retrace) # $at, 0x8005 +/* 002610 70001A10 2463FFFF */ addiu $v1, $v1, -1 +/* 002614 70001A14 306FFFFF */ andi $t7, $v1, 0xffff +/* 002618 70001A18 15E0000E */ bnez $t7, .L70001A54 +/* 00261C 70001A1C A42F22C0 */ sh $t7, %lo(retrace)($at) +/* 002620 70001A20 0C0035FC */ jal __osViGetCurrentContext +/* 002624 70001A24 00000000 */ nop +/* 002628 70001A28 8C580010 */ lw $t8, 0x10($v0) +/* 00262C 70001A2C 00408025 */ move $s0, $v0 +/* 002630 70001A30 00003025 */ move $a2, $zero +/* 002634 70001A34 53000005 */ beql $t8, $zero, .L70001A4C +/* 002638 70001A38 96030002 */ lhu $v1, 2($s0) +/* 00263C 70001A3C 8C440010 */ lw $a0, 0x10($v0) +/* 002640 70001A40 0C003244 */ jal osSendMesg +/* 002644 70001A44 8C450014 */ lw $a1, 0x14($v0) +/* 002648 70001A48 96030002 */ lhu $v1, 2($s0) +.L70001A4C: +/* 00264C 70001A4C 3C018005 */ lui $at, %hi(retrace) # $at, 0x8005 +/* 002650 70001A50 A42322C0 */ sh $v1, %lo(retrace)($at) +.L70001A54: +/* 002654 70001A54 8E790000 */ lw $t9, ($s3) +/* 002658 70001A58 8E500000 */ lw $s0, ($s2) +/* 00265C 70001A5C 27280001 */ addiu $t0, $t9, 1 +/* 002660 70001A60 0C003190 */ jal osGetCount +/* 002664 70001A64 AE680000 */ sw $t0, ($s3) +/* 002668 70001A68 8E2D0004 */ lw $t5, 4($s1) +/* 00266C 70001A6C 00508023 */ subu $s0, $v0, $s0 +/* 002670 70001A70 8E2C0000 */ lw $t4, ($s1) +/* 002674 70001A74 020D7821 */ addu $t7, $s0, $t5 +/* 002678 70001A78 240A0000 */ li $t2, 0 +/* 00267C 70001A7C 01ED082B */ sltu $at, $t7, $t5 +/* 002680 70001A80 002A7021 */ addu $t6, $at, $t2 +/* 002684 70001A84 01CC7021 */ addu $t6, $t6, $t4 +/* 002688 70001A88 AE420000 */ sw $v0, ($s2) +/* 00268C 70001A8C AE2E0000 */ sw $t6, ($s1) +/* 002690 70001A90 1000FFCE */ b .L700019CC +/* 002694 70001A94 AE2F0004 */ sw $t7, 4($s1) +.L70001A98: +/* 002698 70001A98 0C0034C3 */ jal __osTimerInterrupt +/* 00269C 70001A9C 00000000 */ nop +/* 0026A0 70001AA0 1000FFCB */ b .L700019D0 +/* 0026A4 70001AA4 8EE4000C */ lw $a0, 0xc($s7) +/* 0026A8 70001AA8 00000000 */ nop +/* 0026AC 70001AAC 00000000 */ nop +/* 0026B0 70001AB0 00000000 */ nop +/* 0026B4 70001AB4 00000000 */ nop +/* 0026B8 70001AB8 00000000 */ nop +/* 0026BC 70001ABC 00000000 */ nop +/* 0026C0 70001AC0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0026C4 70001AC4 8FB00014 */ lw $s0, 0x14($sp) +/* 0026C8 70001AC8 8FB10018 */ lw $s1, 0x18($sp) +/* 0026CC 70001ACC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0026D0 70001AD0 8FB30020 */ lw $s3, 0x20($sp) +/* 0026D4 70001AD4 8FB40024 */ lw $s4, 0x24($sp) +/* 0026D8 70001AD8 8FB50028 */ lw $s5, 0x28($sp) +/* 0026DC 70001ADC 8FB6002C */ lw $s6, 0x2c($sp) +/* 0026E0 70001AE0 8FB70030 */ lw $s7, 0x30($sp) +/* 0026E4 70001AE4 03E00008 */ jr $ra +/* 0026E8 70001AE8 27BD0050 */ addiu $sp, $sp, 0x50 +.endif + +.section .data +glabel __osViDevMgr +.word 0 +glabel D_800269A4 +.word 0 +glabel D_800269A8 +.word 0 +glabel D_800269AC +.word 0 +glabel D_800269B0 +.word 0 +glabel D_800269B4 +.word 0 +glabel D_800269B8 +.word 0 + + + + +.section .rodata + + +.section .bss +glabel viThread +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 + +glabel viThreadStack + #[4096] +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.word 0 +.section .bss +glabel viEventQueue +.word 0, 0, 0, 0, 0, 0 + +glabel viEventBuf +.word 0, 0, 0, 0, 0, 0 + +glabel viRetraceMsg +.word 0, 0, 0, 0, 0, 0 + +glabel viCounterMsg +.word 0, 0, 0, 0, 0, 0 + +glabel retrace +.half 0 + diff --git a/src/libultra/osDpGetCounters.s b/src/libultra/osDpGetCounters.s new file mode 100644 index 00000000..577721d9 --- /dev/null +++ b/src/libultra/osDpGetCounters.s @@ -0,0 +1,29 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osDpGetCounters +/* 00EFC0 7000E3C0 3C0EA410 */ lui $t6, %hi(DPC_CLOCK_REG) # $t6, 0xa410 +/* 00EFC4 7000E3C4 8DCF0010 */ lw $t7, %lo(DPC_CLOCK_REG)($t6) +/* 00EFC8 7000E3C8 3C18A410 */ lui $t8, %hi(DPC_BUFBUSY_REG) # $t8, 0xa410 +/* 00EFCC 7000E3CC 3C08A410 */ lui $t0, %hi(DPC_PIPEBUSY_REG) # $t0, 0xa410 +/* 00EFD0 7000E3D0 AC8F0000 */ sw $t7, ($a0) +/* 00EFD4 7000E3D4 8F190014 */ lw $t9, %lo(DPC_BUFBUSY_REG)($t8) +/* 00EFD8 7000E3D8 24840004 */ addiu $a0, $a0, 4 +/* 00EFDC 7000E3DC 3C0AA410 */ lui $t2, %hi(DPC_TMEM_REG) # $t2, 0xa410 +/* 00EFE0 7000E3E0 AC990000 */ sw $t9, ($a0) +/* 00EFE4 7000E3E4 8D090018 */ lw $t1, %lo(DPC_PIPEBUSY_REG)($t0) +/* 00EFE8 7000E3E8 24840004 */ addiu $a0, $a0, 4 +/* 00EFEC 7000E3EC 24840004 */ addiu $a0, $a0, 4 +/* 00EFF0 7000E3F0 AC89FFFC */ sw $t1, -4($a0) +/* 00EFF4 7000E3F4 8D4B001C */ lw $t3, %lo(DPC_TMEM_REG)($t2) +/* 00EFF8 7000E3F8 24840004 */ addiu $a0, $a0, 4 +/* 00EFFC 7000E3FC 03E00008 */ jr $ra +/* 00F000 7000E400 AC8BFFFC */ sw $t3, -4($a0) + diff --git a/src/libultra/osDpSetNextBuffer.s b/src/libultra/osDpSetNextBuffer.s new file mode 100644 index 00000000..56e2b62a --- /dev/null +++ b/src/libultra/osDpSetNextBuffer.s @@ -0,0 +1,55 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osDpSetNextBuffer +/* 00F3B0 7000E7B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00F3B4 7000E7B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00F3B8 7000E7B8 AFA40028 */ sw $a0, 0x28($sp) +/* 00F3BC 7000E7BC AFA60030 */ sw $a2, 0x30($sp) +/* 00F3C0 7000E7C0 AFA70034 */ sw $a3, 0x34($sp) +/* 00F3C4 7000E7C4 0C0063FC */ jal __osDpDeviceBusy +/* 00F3C8 7000E7C8 AFB00018 */ sw $s0, 0x18($sp) +/* 00F3CC 7000E7CC 10400003 */ beqz $v0, .L7000E7DC +/* 00F3D0 7000E7D0 00000000 */ nop +/* 00F3D4 7000E7D4 1000001B */ b .L7000E844 +/* 00F3D8 7000E7D8 2402FFFF */ li $v0, -1 +.L7000E7DC: +/* 00F3DC 7000E7DC 240E0001 */ li $t6, 1 +/* 00F3E0 7000E7E0 3C0FA410 */ lui $t7, %hi(DPC_STATUS_REG) # $t7, 0xa410 +/* 00F3E4 7000E7E4 ADEE000C */ sw $t6, %lo(DPC_STATUS_REG)($t7) +.L7000E7E8: +/* 00F3E8 7000E7E8 3C18A410 */ lui $t8, %hi(DPC_STATUS_REG) # $t8, 0xa410 +/* 00F3EC 7000E7EC 8F10000C */ lw $s0, %lo(DPC_STATUS_REG)($t8) +/* 00F3F0 7000E7F0 32190001 */ andi $t9, $s0, 1 +/* 00F3F4 7000E7F4 1720FFFC */ bnez $t9, .L7000E7E8 +/* 00F3F8 7000E7F8 00000000 */ nop +/* 00F3FC 7000E7FC 0C003A2C */ jal osVirtualToPhysical +/* 00F400 7000E800 8FA40028 */ lw $a0, 0x28($sp) +/* 00F404 7000E804 3C08A410 */ lui $t0, 0xa410 +/* 00F408 7000E808 AD020000 */ sw $v0, ($t0) +/* 00F40C 7000E80C 0C003A2C */ jal osVirtualToPhysical +/* 00F410 7000E810 8FA40028 */ lw $a0, 0x28($sp) +/* 00F414 7000E814 8FAD0034 */ lw $t5, 0x34($sp) +/* 00F418 7000E818 00405825 */ move $t3, $v0 +/* 00F41C 7000E81C 8FAC0030 */ lw $t4, 0x30($sp) +/* 00F420 7000E820 016D7821 */ addu $t7, $t3, $t5 +/* 00F424 7000E824 240A0000 */ li $t2, 0 +/* 00F428 7000E828 01ED082B */ sltu $at, $t7, $t5 +/* 00F42C 7000E82C 002A7021 */ addu $t6, $at, $t2 +/* 00F430 7000E830 01E04825 */ move $t1, $t7 +/* 00F434 7000E834 3C18A410 */ lui $t8, %hi(DPC_END_REG) # $t8, 0xa410 +/* 00F438 7000E838 AF090004 */ sw $t1, %lo(DPC_END_REG)($t8) +/* 00F43C 7000E83C 00001025 */ move $v0, $zero +/* 00F440 7000E840 01CC7021 */ addu $t6, $t6, $t4 +.L7000E844: +/* 00F444 7000E844 8FBF001C */ lw $ra, 0x1c($sp) +/* 00F448 7000E848 8FB00018 */ lw $s0, 0x18($sp) +/* 00F44C 7000E84C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00F450 7000E850 03E00008 */ jr $ra +/* 00F454 7000E854 00000000 */ nop diff --git a/src/libultra/osDpSetStatus.s b/src/libultra/osDpSetStatus.s new file mode 100644 index 00000000..d898e0db --- /dev/null +++ b/src/libultra/osDpSetStatus.s @@ -0,0 +1,14 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osDpSetStatus +/* 00F0E0 7000E4E0 3C0EA410 */ lui $t6, 0xa410 +/* 00F0E4 7000E4E4 03E00008 */ jr $ra +/* 00F0E8 7000E4E8 ADC4000C */ sw $a0, 0xc($t6) diff --git a/src/libultra/osGetCount.s b/src/libultra/osGetCount.s new file mode 100644 index 00000000..0798a2ea --- /dev/null +++ b/src/libultra/osGetCount.s @@ -0,0 +1,13 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osGetCount +/* 00E4E0 7000D8E0 40024800 */ mfc0 $v0, $9 +/* 00E4E4 7000D8E4 03E00008 */ jr $ra +/* 00E4E8 7000D8E8 00000000 */ nop diff --git a/src/libultra/osGetTime.s b/src/libultra/osGetTime.s new file mode 100644 index 00000000..a50e1335 --- /dev/null +++ b/src/libultra/osGetTime.s @@ -0,0 +1,43 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osGetTime +/* 00F7B0 7000EBB0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00F7B4 7000EBB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00F7B8 7000EBB8 0C00617C */ jal __osDisableInt +/* 00F7BC 7000EBBC AFB00018 */ sw $s0, 0x18($sp) +/* 00F7C0 7000EBC0 0C003638 */ jal osGetCount +/* 00F7C4 7000EBC4 00408025 */ move $s0, $v0 +/* 00F7C8 7000EBC8 AFA20034 */ sw $v0, 0x34($sp) +/* 00F7CC 7000EBCC 3C0F8007 */ lui $t7, %hi(__osBaseCounter) +/* 00F7D0 7000EBD0 8DEF8E18 */ lw $t7, %lo(__osBaseCounter)($t7) +/* 00F7D4 7000EBD4 8FAE0034 */ lw $t6, 0x34($sp) +/* 00F7D8 7000EBD8 3C088007 */ lui $t0, %hi(__osCurrentTime) +/* 00F7DC 7000EBDC 3C098007 */ lui $t1, %hi(__osCurrentTime+4) +/* 00F7E0 7000EBE0 8D298E14 */ lw $t1, %lo(__osCurrentTime+4)($t1) +/* 00F7E4 7000EBE4 8D088E10 */ lw $t0, %lo(__osCurrentTime)($t0) +/* 00F7E8 7000EBE8 01CFC023 */ subu $t8, $t6, $t7 +/* 00F7EC 7000EBEC AFB80030 */ sw $t8, 0x30($sp) +/* 00F7F0 7000EBF0 02002025 */ move $a0, $s0 +/* 00F7F4 7000EBF4 AFA9002C */ sw $t1, 0x2c($sp) +/* 00F7F8 7000EBF8 0C006184 */ jal __osRestoreInt +/* 00F7FC 7000EBFC AFA80028 */ sw $t0, 0x28($sp) +/* 00F800 7000EC00 8FB90030 */ lw $t9, 0x30($sp) +/* 00F804 7000EC04 8FAD002C */ lw $t5, 0x2c($sp) +/* 00F808 7000EC08 8FBF001C */ lw $ra, 0x1c($sp) +/* 00F80C 7000EC0C 03205825 */ move $t3, $t9 +/* 00F810 7000EC10 016D1821 */ addu $v1, $t3, $t5 +/* 00F814 7000EC14 8FAC0028 */ lw $t4, 0x28($sp) +/* 00F818 7000EC18 240A0000 */ li $t2, 0 +/* 00F81C 7000EC1C 006D082B */ sltu $at, $v1, $t5 +/* 00F820 7000EC20 002A1021 */ addu $v0, $at, $t2 +/* 00F824 7000EC24 8FB00018 */ lw $s0, 0x18($sp) +/* 00F828 7000EC28 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00F82C 7000EC2C 03E00008 */ jr $ra +/* 00F830 7000EC30 004C1021 */ addu $v0, $v0, $t4 diff --git a/src/libultra/osInitialize.s b/src/libultra/osInitialize.s new file mode 100644 index 00000000..f3be194e --- /dev/null +++ b/src/libultra/osInitialize.s @@ -0,0 +1,207 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + +.section .data +glabel osClockRate +.dword 62500000 +glabel __osShutdown + .word 0 +glabel __OSGlobalIntMask + .word 0x3FFF01 +glabel osDiskExist + .word 0 +.align 4 +.section .rodata +.section .bss +glabel __osFinalRom +.word 0 + +.section .text, "ax" +glabel osInitialize +/* 00DC80 7000D080 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00DC84 7000D084 AFBF001C */ sw $ra, 0x1c($sp) +/* 00DC88 7000D088 240E0001 */ li $t6, 1 +/* 00DC8C 7000D08C 3C018006 */ lui $at, %hi(__osFinalRom) +/* 00DC90 7000D090 AFB00018 */ sw $s0, 0x18($sp) +/* 00DC94 7000D094 AFA00038 */ sw $zero, 0x38($sp) +/* 00DC98 7000D098 0C005ECC */ jal __osGetSR +/* 00DC9C 7000D09C AC2E57E0 */ sw $t6, %lo(__osFinalRom)($at) +/* 00DCA0 7000D0A0 00408025 */ move $s0, $v0 +/* 00DCA4 7000D0A4 3C012000 */ lui $at, 0x2000 +/* 00DCA8 7000D0A8 0C005EC8 */ jal __osSetSR +/* 00DCAC 7000D0AC 02012025 */ or $a0, $s0, $at +/* 00DCB0 7000D0B0 3C040100 */ lui $a0, (0x01000800 >> 16) # lui $a0, 0x100 +/* 00DCB4 7000D0B4 0C003508 */ jal __osSetFpcCsr +/* 00DCB8 7000D0B8 34840800 */ ori $a0, (0x01000800 & 0xFFFF) # ori $a0, $a0, 0x800 +/* 00DCBC 7000D0BC 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 00DCC0 7000D0C0 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 00DCC4 7000D0C4 0C005ED0 */ jal __osSiRawReadIo +/* 00DCC8 7000D0C8 27A5003C */ addiu $a1, $sp, 0x3c +/* 00DCCC 7000D0CC 10400007 */ beqz $v0, .L7000D0EC +/* 00DCD0 7000D0D0 00000000 */ nop +.L7000D0D4: +/* 00DCD4 7000D0D4 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 00DCD8 7000D0D8 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 00DCDC 7000D0DC 0C005ED0 */ jal __osSiRawReadIo +/* 00DCE0 7000D0E0 27A5003C */ addiu $a1, $sp, 0x3c +/* 00DCE4 7000D0E4 1440FFFB */ bnez $v0, .L7000D0D4 +/* 00DCE8 7000D0E8 00000000 */ nop +.L7000D0EC: +/* 00DCEC 7000D0EC 8FA5003C */ lw $a1, 0x3c($sp) +/* 00DCF0 7000D0F0 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 00DCF4 7000D0F4 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 00DCF8 7000D0F8 34AF0008 */ ori $t7, $a1, 8 +/* 00DCFC 7000D0FC 0C005EE4 */ jal __osSiRawWriteIo +/* 00DD00 7000D100 01E02825 */ move $a1, $t7 +/* 00DD04 7000D104 10400009 */ beqz $v0, .L7000D12C +/* 00DD08 7000D108 00000000 */ nop +.L7000D10C: +/* 00DD0C 7000D10C 8FA5003C */ lw $a1, 0x3c($sp) +/* 00DD10 7000D110 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 00DD14 7000D114 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 00DD18 7000D118 34B80008 */ ori $t8, $a1, 8 +/* 00DD1C 7000D11C 0C005EE4 */ jal __osSiRawWriteIo +/* 00DD20 7000D120 03002825 */ move $a1, $t8 +/* 00DD24 7000D124 1440FFF9 */ bnez $v0, .L7000D10C +/* 00DD28 7000D128 00000000 */ nop +.L7000D12C: +/* 00DD2C 7000D12C 3C087001 */ lui $t0, %hi(__osExceptionPreamble) # $t0, 0x7001 +/* 00DD30 7000D130 25080190 */ addiu $t0, %lo(__osExceptionPreamble) # addiu $t0, $t0, 0x190 +/* 00DD34 7000D134 8D010000 */ lw $at, ($t0) +/* 00DD38 7000D138 3C198000 */ lui $t9, 0x8000 +/* 00DD3C 7000D13C 3C0D7001 */ lui $t5, %hi(__osExceptionPreamble) # $t5, 0x7001 +/* 00DD40 7000D140 AF210000 */ sw $at, ($t9) +/* 00DD44 7000D144 8D0B0004 */ lw $t3, 4($t0) +/* 00DD48 7000D148 25AD0190 */ addiu $t5, %lo(__osExceptionPreamble) # addiu $t5, $t5, 0x190 +/* 00DD4C 7000D14C 3C0C8000 */ lui $t4, 0x8000 +/* 00DD50 7000D150 AF2B0004 */ sw $t3, 4($t9) +/* 00DD54 7000D154 8D010008 */ lw $at, 8($t0) +/* 00DD58 7000D158 358C0080 */ ori $t4, (0x80000080 & 0xFFFF) # ori $t4, $t4, 0x80 +/* 00DD5C 7000D15C 3C097001 */ lui $t1, %hi(__osExceptionPreamble) # $t1, 0x7001 +/* 00DD60 7000D160 AF210008 */ sw $at, 8($t9) +/* 00DD64 7000D164 8D0B000C */ lw $t3, 0xc($t0) +/* 00DD68 7000D168 25290190 */ addiu $t1, %lo(__osExceptionPreamble) # addiu $t1, $t1, 0x190 +/* 00DD6C 7000D16C 3C0A8000 */ lui $t2, 0x8000 +/* 00DD70 7000D170 AF2B000C */ sw $t3, 0xC($t9) +/* 00DD74 7000D174 8DA10000 */ lw $at, 0($t5) +/* 00DD78 7000D178 354A0100 */ ori $t2, (0x80000100 & 0xFFFF) # ori $t2, $t2, 0x100 +/* 00DD7C 7000D17C 3C0E7001 */ lui $t6, %hi(__osExceptionPreamble) # $t6, 0x7001 +/* 00DD80 7000D180 AD810000 */ sw $at, 0($t4) +/* 00DD84 7000D184 8DB80004 */ lw $t8, 4($t5) +/* 00DD88 7000D188 25CE0190 */ addiu $t6, %lo(__osExceptionPreamble) # addiu $t6, $t6, 0x190 +/* 00DD8C 7000D18C 3C0F8000 */ lui $t7, 0x8000 +/* 00DD90 7000D190 AD980004 */ sw $t8, 4($t4) +/* 00DD94 7000D194 8DA10008 */ lw $at, 8($t5) +/* 00DD98 7000D198 35EF0180 */ ori $t7, (0x80000180 & 0xFFFF) # ori $t7, $t7, 0x180 +/* 00DD9C 7000D19C 3C048000 */ lui $a0, 0x8000 +/* 00DDA0 7000D1A0 AD810008 */ sw $at, 8($t4) +/* 00DDA4 7000D1A4 8DB8000C */ lw $t8, 0xc($t5) +/* 00DDA8 7000D1A8 24050190 */ li $a1, 400 +/* 00DDAC 7000D1AC AD98000C */ sw $t8, 0xC($t4) +/* 00DDB0 7000D1B0 8D210000 */ lw $at, 0($t1) +/* 00DDB4 7000D1B4 AD410000 */ sw $at, 0($t2) +/* 00DDB8 7000D1B8 8D2B0004 */ lw $t3, 4($t1) +/* 00DDBC 7000D1BC AD4B0004 */ sw $t3, 4($t2) +/* 00DDC0 7000D1C0 8D210008 */ lw $at, 8($t1) +/* 00DDC4 7000D1C4 AD410008 */ sw $at, 8($t2) +/* 00DDC8 7000D1C8 8D2B000C */ lw $t3, 0xc($t1) +/* 00DDCC 7000D1CC AD4B000C */ sw $t3, 0xC($t2) +/* 00DDD0 7000D1D0 8DC10000 */ lw $at, 0($t6) +/* 00DDD4 7000D1D4 ADE10000 */ sw $at, 0($t7) +/* 00DDD8 7000D1D8 8DD80004 */ lw $t8, 4($t6) +/* 00DDDC 7000D1DC ADF80004 */ sw $t8, 4($t7) +/* 00DDE0 7000D1E0 8DC10008 */ lw $at, 8($t6) +/* 00DDE4 7000D1E4 ADE10008 */ sw $at, 8($t7) +/* 00DDE8 7000D1E8 8DD8000C */ lw $t8, 0xc($t6) +/* 00DDEC 7000D1EC 0C0042F4 */ jal osWritebackDCache +/* 00DDF0 7000D1F0 ADF8000C */ sw $t8, 0xC($t7) +/* 00DDF4 7000D1F4 3C048000 */ lui $a0, 0x8000 +/* 00DDF8 7000D1F8 0C0034D4 */ jal osInvalICache +/* 00DDFC 7000D1FC 24050190 */ li $a1, 400 +/* 00DE00 7000D200 0C0005E0 */ jal osMapTLBRdb +/* 00DE04 7000D204 00000000 */ nop +/* 00DE08 7000D208 24040004 */ li $a0, 4 +/* 00DE0C 7000D20C 0C005EF8 */ jal osPiRawReadIo +/* 00DE10 7000D210 27A50038 */ addiu $a1, $sp, 0x38 +/* 00DE14 7000D214 8FA80038 */ lw $t0, 0x38($sp) +/* 00DE18 7000D218 2401FFF0 */ li $at, -16 +/* 00DE1C 7000D21C 0101C824 */ and $t9, $t0, $at +/* 00DE20 7000D220 13200006 */ beqz $t9, .L7000D23C +/* 00DE24 7000D224 AFB90038 */ sw $t9, 0x38($sp) +/* 00DE28 7000D228 3C018002 */ lui $at, %hi(osClockRate) +/* 00DE2C 7000D22C 03205825 */ move $t3, $t9 +/* 00DE30 7000D230 240A0000 */ li $t2, 0 +/* 00DE34 7000D234 AC2A6980 */ sw $t2, %lo(osClockRate)($at) +/* 00DE38 7000D238 AC2B6984 */ sw $t3, %lo(osClockRate+4)($at) +.L7000D23C: +/* 00DE3C 7000D23C 3C048002 */ lui $a0, %hi(osClockRate) +/* 00DE40 7000D240 3C058002 */ lui $a1, %hi(osClockRate) +/* 00DE44 7000D244 8CA56984 */ lw $a1, %lo(osClockRate+4)($a1) +/* 00DE48 7000D248 8C846980 */ lw $a0, %lo(osClockRate)($a0) +/* 00DE4C 7000D24C 24060000 */ li $a2, 0 +/* 00DE50 7000D250 0C003B6A */ jal __ll_mul +/* 00DE54 7000D254 24070003 */ li $a3, 3 +/* 00DE58 7000D258 AFA20020 */ sw $v0, 0x20($sp) +/* 00DE5C 7000D25C AFA30024 */ sw $v1, 0x24($sp) +/* 00DE60 7000D260 8FA50024 */ lw $a1, 0x24($sp) +/* 00DE64 7000D264 8FA40020 */ lw $a0, 0x20($sp) +/* 00DE68 7000D268 24060000 */ li $a2, 0 +/* 00DE6C 7000D26C 0C003B2A */ jal __ull_div +/* 00DE70 7000D270 24070004 */ li $a3, 4 +/* 00DE74 7000D274 3C098000 */ lui $t1, %hi(osResetType) +/* 00DE78 7000D278 8D29030C */ lw $t1, %lo(osResetType)($t1) +/* 00DE7C 7000D27C 3C018002 */ lui $at, %hi(osClockRate) +/* 00DE80 7000D280 AC226980 */ sw $v0, %lo(osClockRate)($at) +/* 00DE84 7000D284 15200005 */ bnez $t1, .L7000D29C +/* 00DE88 7000D288 AC236984 */ sw $v1, %lo(osClockRate+4)($at) +/* 00DE8C 7000D28C 3C048000 */ lui $a0, %hi(osAppNMIBuffer) +/* 00DE90 7000D290 2484031C */ addiu $a0, %lo(osAppNMIBuffer) # addiu $a0, $a0, 0x31c +/* 00DE94 7000D294 0C005F10 */ jal _blkclr +/* 00DE98 7000D298 24050040 */ li $a1, 64 +.L7000D29C: +/* 00DE9C 7000D29C 3C0DA460 */ lui $t5, %hi(PI_STATUS_REG) # $t5, 0xa460 +/* 00DEA0 7000D2A0 8DAC0010 */ lw $t4, %lo(PI_STATUS_REG)($t5) +/* 00DEA4 7000D2A4 318F0003 */ andi $t7, $t4, 3 +/* 00DEA8 7000D2A8 11E00008 */ beqz $t7, .L7000D2CC +/* 00DEAC 7000D2AC AFAC0030 */ sw $t4, 0x30($sp) +.L7000D2B0: +/* 00DEB0 7000D2B0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 +/* 00DEB4 7000D2B4 8DD80010 */ lw $t8, %lo(PI_STATUS_REG)($t6) +/* 00DEB8 7000D2B8 AFB80030 */ sw $t8, 0x30($sp) +/* 00DEBC 7000D2BC 8FA80030 */ lw $t0, 0x30($sp) +/* 00DEC0 7000D2C0 31190003 */ andi $t9, $t0, 3 +/* 00DEC4 7000D2C4 1720FFFA */ bnez $t9, .L7000D2B0 +/* 00DEC8 7000D2C8 00000000 */ nop +.L7000D2CC: +/* 00DECC 7000D2CC 3C0AA500 */ lui $t2, %hi(ASIC_STATUS) # $t2, 0xa500 +/* 00DED0 7000D2D0 8D4B0508 */ lw $t3, %lo(ASIC_STATUS)($t2) +/* 00DED4 7000D2D4 3169FFFF */ andi $t1, $t3, 0xffff +/* 00DED8 7000D2D8 1520000A */ bnez $t1, .L7000D304 +/* 00DEDC 7000D2DC AFAB0034 */ sw $t3, 0x34($sp) +/* 00DEE0 7000D2E0 240D0001 */ li $t5, 1 +/* 00DEE4 7000D2E4 3C018002 */ lui $at, %hi(osDiskExist) +/* 00DEE8 7000D2E8 3C057001 */ lui $a1, %hi(__osLeoInterrupt) # $a1, 0x7001 +/* 00DEEC 7000D2EC AC2D6990 */ sw $t5, %lo(osDiskExist)($at) +/* 00DEF0 7000D2F0 24A57D30 */ addiu $a1, %lo(__osLeoInterrupt) # addiu $a1, $a1, 0x7d30 +/* 00DEF4 7000D2F4 0C005F38 */ jal __osSetHWIntrRoutine +/* 00DEF8 7000D2F8 24040001 */ li $a0, 1 +/* 00DEFC 7000D2FC 10000003 */ b .L7000D30C +/* 00DF00 7000D300 00000000 */ nop +.L7000D304: +/* 00DF04 7000D304 3C018002 */ lui $at, %hi(osDiskExist) +/* 00DF08 7000D308 AC206990 */ sw $zero, %lo(osDiskExist)($at) +.L7000D30C: +/* 00DF0C 7000D30C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00DF10 7000D310 8FB00018 */ lw $s0, 0x18($sp) +/* 00DF14 7000D314 27BD0040 */ addiu $sp, $sp, 0x40 +/* 00DF18 7000D318 03E00008 */ jr $ra +/* 00DF1C 7000D31C 00000000 */ nop + + + + + diff --git a/src/libultra/osInvalDCache.s b/src/libultra/osInvalDCache.s new file mode 100644 index 00000000..57a83012 --- /dev/null +++ b/src/libultra/osInvalDCache.s @@ -0,0 +1,59 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osInvalDCache +/* 011720 70010B20 18A0001F */ blez $a1, .L70010BA0 +/* 011724 70010B24 00000000 */ nop +/* 011728 70010B28 240B2000 */ li $t3, 8192 +/* 01172C 70010B2C 00AB082B */ sltu $at, $a1, $t3 +/* 011730 70010B30 1020001D */ beqz $at, .L70010BA8 +/* 011734 70010B34 00000000 */ nop +/* 011738 70010B38 00804025 */ move $t0, $a0 +/* 01173C 70010B3C 00854821 */ addu $t1, $a0, $a1 +/* 011740 70010B40 0109082B */ sltu $at, $t0, $t1 +/* 011744 70010B44 10200016 */ beqz $at, .L70010BA0 +/* 011748 70010B48 00000000 */ nop +/* 01174C 70010B4C 310A000F */ andi $t2, $t0, 0xf +/* 011750 70010B50 11400007 */ beqz $t2, .L70010B70 +/* 011754 70010B54 2529FFF0 */ addiu $t1, $t1, -0x10 +/* 011758 70010B58 010A4023 */ subu $t0, $t0, $t2 +/* 01175C 70010B5C BD150000 */ cache 0x15, ($t0) +/* 011760 70010B60 0109082B */ sltu $at, $t0, $t1 +/* 011764 70010B64 1020000E */ beqz $at, .L70010BA0 +/* 011768 70010B68 00000000 */ nop +/* 01176C 70010B6C 25080010 */ addiu $t0, $t0, 0x10 +.L70010B70: +/* 011770 70010B70 312A000F */ andi $t2, $t1, 0xf +/* 011774 70010B74 11400006 */ beqz $t2, .L70010B90 +/* 011778 70010B78 00000000 */ nop +/* 01177C 70010B7C 012A4823 */ subu $t1, $t1, $t2 +/* 011780 70010B80 BD350010 */ cache 0x15, 0x10($t1) +/* 011784 70010B84 0128082B */ sltu $at, $t1, $t0 +/* 011788 70010B88 14200005 */ bnez $at, .L70010BA0 +/* 01178C 70010B8C 00000000 */ nop +.L70010B90: +/* 011790 70010B90 BD110000 */ cache 0x11, ($t0) +/* 011794 70010B94 0109082B */ sltu $at, $t0, $t1 +/* 011798 70010B98 1420FFFD */ bnez $at, .L70010B90 +/* 01179C 70010B9C 25080010 */ addiu $t0, $t0, 0x10 +.L70010BA0: +/* 0117A0 70010BA0 03E00008 */ jr $ra +/* 0117A4 70010BA4 00000000 */ nop + +.L70010BA8: +/* 0117A8 70010BA8 3C088000 */ lui $t0, 0x8000 +/* 0117AC 70010BAC 010B4821 */ addu $t1, $t0, $t3 +/* 0117B0 70010BB0 2529FFF0 */ addiu $t1, $t1, -0x10 +.L70010BB4: +/* 0117B4 70010BB4 BD010000 */ cache 1, ($t0) +/* 0117B8 70010BB8 0109082B */ sltu $at, $t0, $t1 +/* 0117BC 70010BBC 1420FFFD */ bnez $at, .L70010BB4 +/* 0117C0 70010BC0 25080010 */ addiu $t0, $t0, 0x10 +/* 0117C4 70010BC4 03E00008 */ jr $ra +/* 0117C8 70010BC8 00000000 */ nop diff --git a/src/libultra/osInvalICache.s b/src/libultra/osInvalICache.s new file mode 100644 index 00000000..2bac877d --- /dev/null +++ b/src/libultra/osInvalICache.s @@ -0,0 +1,44 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osInvalICache +/* 00DF50 7000D350 18A00011 */ blez $a1, .L7000D398 +/* 00DF54 7000D354 00000000 */ nop +/* 00DF58 7000D358 240B4000 */ li $t3, 16384 +/* 00DF5C 7000D35C 00AB082B */ sltu $at, $a1, $t3 +/* 00DF60 7000D360 1020000F */ beqz $at, .L7000D3A0 +/* 00DF64 7000D364 00000000 */ nop +/* 00DF68 7000D368 00804025 */ move $t0, $a0 +/* 00DF6C 7000D36C 00854821 */ addu $t1, $a0, $a1 +/* 00DF70 7000D370 0109082B */ sltu $at, $t0, $t1 +/* 00DF74 7000D374 10200008 */ beqz $at, .L7000D398 +/* 00DF78 7000D378 00000000 */ nop +/* 00DF7C 7000D37C 310A001F */ andi $t2, $t0, 0x1f +/* 00DF80 7000D380 2529FFE0 */ addiu $t1, $t1, -0x20 +/* 00DF84 7000D384 010A4023 */ subu $t0, $t0, $t2 +.L7000D388: +/* 00DF88 7000D388 BD100000 */ cache 0x10, ($t0) +/* 00DF8C 7000D38C 0109082B */ sltu $at, $t0, $t1 +/* 00DF90 7000D390 1420FFFD */ bnez $at, .L7000D388 +/* 00DF94 7000D394 25080020 */ addiu $t0, $t0, 0x20 +.L7000D398: +/* 00DF98 7000D398 03E00008 */ jr $ra +/* 00DF9C 7000D39C 00000000 */ nop + +.L7000D3A0: +/* 00DFA0 7000D3A0 3C088000 */ lui $t0, 0x8000 +/* 00DFA4 7000D3A4 010B4821 */ addu $t1, $t0, $t3 +/* 00DFA8 7000D3A8 2529FFE0 */ addiu $t1, $t1, -0x20 +.L7000D3AC: +/* 00DFAC 7000D3AC BD000000 */ cache 0, ($t0) +/* 00DFB0 7000D3B0 0109082B */ sltu $at, $t0, $t1 +/* 00DFB4 7000D3B4 1420FFFD */ bnez $at, .L7000D3AC +/* 00DFB8 7000D3B8 25080020 */ addiu $t0, $t0, 0x20 +/* 00DFBC 7000D3BC 03E00008 */ jr $ra +/* 00DFC0 7000D3C0 00000000 */ nop diff --git a/src/libultra/osPiGetStatus.s b/src/libultra/osPiGetStatus.s new file mode 100644 index 00000000..d39850f6 --- /dev/null +++ b/src/libultra/osPiGetStatus.s @@ -0,0 +1,14 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osPiGetStatus +/* 00DC70 7000D070 3C0EA460 */ lui $t6, 0xa460 +/* 00DC74 7000D074 03E00008 */ jr $ra +/* 00DC78 7000D078 8DC20010 */ lw $v0, 0x10($t6) diff --git a/src/libultra/osPiRawStartDma.s b/src/libultra/osPiRawStartDma.s new file mode 100644 index 00000000..24d57326 --- /dev/null +++ b/src/libultra/osPiRawStartDma.s @@ -0,0 +1,75 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + + +glabel osPiRawStartDma +/* 00DB90 7000CF90 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00DB94 7000CF94 AFBF001C */ sw $ra, 0x1c($sp) +/* 00DB98 7000CF98 AFA40028 */ sw $a0, 0x28($sp) +/* 00DB9C 7000CF9C AFA5002C */ sw $a1, 0x2c($sp) +/* 00DBA0 7000CFA0 AFA60030 */ sw $a2, 0x30($sp) +/* 00DBA4 7000CFA4 AFA70034 */ sw $a3, 0x34($sp) +/* 00DBA8 7000CFA8 AFB10018 */ sw $s1, 0x18($sp) +/* 00DBAC 7000CFAC AFB00014 */ sw $s0, 0x14($sp) +/* 00DBB0 7000CFB0 3C0EA460 */ lui $t6, %hi(PI_STATUS_REG) # $t6, 0xa460 +/* 00DBB4 7000CFB4 8DD00010 */ lw $s0, %lo(PI_STATUS_REG)($t6) +/* 00DBB8 7000CFB8 320F0003 */ andi $t7, $s0, 3 +/* 00DBBC 7000CFBC 11E00006 */ beqz $t7, .L7000CFD8 +/* 00DBC0 7000CFC0 00000000 */ nop +.L7000CFC4: +/* 00DBC4 7000CFC4 3C18A460 */ lui $t8, %hi(PI_STATUS_REG) # $t8, 0xa460 +/* 00DBC8 7000CFC8 8F100010 */ lw $s0, %lo(PI_STATUS_REG)($t8) +/* 00DBCC 7000CFCC 32190003 */ andi $t9, $s0, 3 +/* 00DBD0 7000CFD0 1720FFFC */ bnez $t9, .L7000CFC4 +/* 00DBD4 7000CFD4 00000000 */ nop +.L7000CFD8: +/* 00DBD8 7000CFD8 0C003A2C */ jal osVirtualToPhysical +/* 00DBDC 7000CFDC 8FA40030 */ lw $a0, 0x30($sp) +/* 00DBE0 7000CFE0 3C08A460 */ lui $t0, 0xa460 +/* 00DBE4 7000CFE4 AD020000 */ sw $v0, ($t0) +/* 00DBE8 7000CFE8 3C098000 */ lui $t1, %hi(osRomBase) +/* 00DBEC 7000CFEC 8D290308 */ lw $t1, %lo(osRomBase)($t1) +/* 00DBF0 7000CFF0 8FAA002C */ lw $t2, 0x2c($sp) +/* 00DBF4 7000CFF4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 00DBF8 7000CFF8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 00DBFC 7000CFFC 012A5825 */ or $t3, $t1, $t2 +/* 00DC00 7000D000 01616024 */ and $t4, $t3, $at +/* 00DC04 7000D004 3C0DA460 */ lui $t5, %hi(PI_CART_ADDR_REG) # $t5, 0xa460 +/* 00DC08 7000D008 ADAC0004 */ sw $t4, %lo(PI_CART_ADDR_REG)($t5) +/* 00DC0C 7000D00C 8FB10028 */ lw $s1, 0x28($sp) +/* 00DC10 7000D010 12200005 */ beqz $s1, .L7000D028 +/* 00DC14 7000D014 24010001 */ li $at, 1 +/* 00DC18 7000D018 12210008 */ beq $s1, $at, .L7000D03C +/* 00DC1C 7000D01C 00000000 */ nop +/* 00DC20 7000D020 1000000B */ b .L7000D050 +/* 00DC24 7000D024 00000000 */ nop +.L7000D028: +/* 00DC28 7000D028 8FAE0034 */ lw $t6, 0x34($sp) +/* 00DC2C 7000D02C 3C18A460 */ lui $t8, %hi(PI_WR_LEN_REG) # $t8, 0xa460 +/* 00DC30 7000D030 25CFFFFF */ addiu $t7, $t6, -1 +/* 00DC34 7000D034 10000008 */ b .L7000D058 +/* 00DC38 7000D038 AF0F000C */ sw $t7, %lo(PI_WR_LEN_REG)($t8) +.L7000D03C: +/* 00DC3C 7000D03C 8FB90034 */ lw $t9, 0x34($sp) +/* 00DC40 7000D040 3C09A460 */ lui $t1, %hi(PI_RD_LEN_REG) # $t1, 0xa460 +/* 00DC44 7000D044 2728FFFF */ addiu $t0, $t9, -1 +/* 00DC48 7000D048 10000003 */ b .L7000D058 +/* 00DC4C 7000D04C AD280008 */ sw $t0, %lo(PI_RD_LEN_REG)($t1) +.L7000D050: +/* 00DC50 7000D050 10000002 */ b .L7000D05C +/* 00DC54 7000D054 2402FFFF */ li $v0, -1 +.L7000D058: +/* 00DC58 7000D058 00001025 */ move $v0, $zero +.L7000D05C: +/* 00DC5C 7000D05C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00DC60 7000D060 8FB00014 */ lw $s0, 0x14($sp) +/* 00DC64 7000D064 8FB10018 */ lw $s1, 0x18($sp) +/* 00DC68 7000D068 03E00008 */ jr $ra +/* 00DC6C 7000D06C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osPiReadIo.s b/src/libultra/osPiReadIo.s new file mode 100644 index 00000000..75545a18 --- /dev/null +++ b/src/libultra/osPiReadIo.s @@ -0,0 +1,26 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osPiReadIo +/* 014410 70013810 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 014414 70013814 AFBF001C */ sw $ra, 0x1c($sp) +/* 014418 70013818 AFA40028 */ sw $a0, 0x28($sp) +/* 01441C 7001381C AFA5002C */ sw $a1, 0x2c($sp) +/* 014420 70013820 0C0075D8 */ jal __osPiGetAccess +/* 014424 70013824 AFB00018 */ sw $s0, 0x18($sp) +/* 014428 70013828 8FA40028 */ lw $a0, 0x28($sp) +/* 01442C 7001382C 0C005EF8 */ jal osPiRawReadIo +/* 014430 70013830 8FA5002C */ lw $a1, 0x2c($sp) +/* 014434 70013834 0C0075E9 */ jal __osPiRelAccess +/* 014438 70013838 00408025 */ move $s0, $v0 +/* 01443C 7001383C 8FBF001C */ lw $ra, 0x1c($sp) +/* 014440 70013840 02001025 */ move $v0, $s0 +/* 014444 70013844 8FB00018 */ lw $s0, 0x18($sp) +/* 014448 70013848 03E00008 */ jr $ra +/* 01444C 7001384C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osPiStartDma.s b/src/libultra/osPiStartDma.s new file mode 100644 index 00000000..f0a0a541 --- /dev/null +++ b/src/libultra/osPiStartDma.s @@ -0,0 +1,83 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osPiStartDma +/* 0102A0 7000F6A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0102A4 7000F6A4 3C0E8002 */ lui $t6, %hi(__osPiDevMgr) +/* 0102A8 7000F6A8 8DCE7790 */ lw $t6, %lo(__osPiDevMgr)($t6) +/* 0102AC 7000F6AC AFBF001C */ sw $ra, 0x1c($sp) +/* 0102B0 7000F6B0 AFA40028 */ sw $a0, 0x28($sp) +/* 0102B4 7000F6B4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0102B8 7000F6B8 AFA60030 */ sw $a2, 0x30($sp) +/* 0102BC 7000F6BC AFA70034 */ sw $a3, 0x34($sp) +/* 0102C0 7000F6C0 AFB10018 */ sw $s1, 0x18($sp) +/* 0102C4 7000F6C4 15C00003 */ bnez $t6, .L7000F6D4 +/* 0102C8 7000F6C8 AFB00014 */ sw $s0, 0x14($sp) +/* 0102CC 7000F6CC 10000032 */ b .L7000F798 +/* 0102D0 7000F6D0 2402FFFF */ li $v0, -1 +.L7000F6D4: +/* 0102D4 7000F6D4 8FAF0030 */ lw $t7, 0x30($sp) +/* 0102D8 7000F6D8 15E00005 */ bnez $t7, .L7000F6F0 +/* 0102DC 7000F6DC 00000000 */ nop +/* 0102E0 7000F6E0 8FB90028 */ lw $t9, 0x28($sp) +/* 0102E4 7000F6E4 2418000B */ li $t8, 11 +/* 0102E8 7000F6E8 10000004 */ b .L7000F6FC +/* 0102EC 7000F6EC A7380000 */ sh $t8, ($t9) +.L7000F6F0: +/* 0102F0 7000F6F0 8FA90028 */ lw $t1, 0x28($sp) +/* 0102F4 7000F6F4 2408000C */ li $t0, 12 +/* 0102F8 7000F6F8 A5280000 */ sh $t0, ($t1) +.L7000F6FC: +/* 0102FC 7000F6FC 8FAA002C */ lw $t2, 0x2c($sp) +/* 010300 7000F700 8FAB0028 */ lw $t3, 0x28($sp) +/* 010304 7000F704 24010001 */ li $at, 1 +/* 010308 7000F708 A16A0002 */ sb $t2, 2($t3) +/* 01030C 7000F70C 8FAD0028 */ lw $t5, 0x28($sp) +/* 010310 7000F710 8FAC0040 */ lw $t4, 0x40($sp) +/* 010314 7000F714 ADAC0004 */ sw $t4, 4($t5) +/* 010318 7000F718 8FAF0028 */ lw $t7, 0x28($sp) +/* 01031C 7000F71C 8FAE0038 */ lw $t6, 0x38($sp) +/* 010320 7000F720 ADEE0008 */ sw $t6, 8($t7) +/* 010324 7000F724 8FB90028 */ lw $t9, 0x28($sp) +/* 010328 7000F728 8FB80034 */ lw $t8, 0x34($sp) +/* 01032C 7000F72C AF38000C */ sw $t8, 0xc($t9) +/* 010330 7000F730 8FA90028 */ lw $t1, 0x28($sp) +/* 010334 7000F734 8FA8003C */ lw $t0, 0x3c($sp) +/* 010338 7000F738 AD280010 */ sw $t0, 0x10($t1) +/* 01033C 7000F73C 8FAA0028 */ lw $t2, 0x28($sp) +/* 010340 7000F740 AD400014 */ sw $zero, 0x14($t2) +/* 010344 7000F744 8FAB002C */ lw $t3, 0x2c($sp) +/* 010348 7000F748 1561000A */ bne $t3, $at, .L7000F774 +/* 01034C 7000F74C 00000000 */ nop +/* 010350 7000F750 0C006E00 */ jal osPiGetCmdQueue +/* 010354 7000F754 00000000 */ nop +/* 010358 7000F758 00408825 */ move $s1, $v0 +/* 01035C 7000F75C 02202025 */ move $a0, $s1 +/* 010360 7000F760 8FA50028 */ lw $a1, 0x28($sp) +/* 010364 7000F764 0C006DAC */ jal osJamMesg +/* 010368 7000F768 00003025 */ move $a2, $zero +/* 01036C 7000F76C 10000009 */ b .L7000F794 +/* 010370 7000F770 00408025 */ move $s0, $v0 +.L7000F774: +/* 010374 7000F774 0C006E00 */ jal osPiGetCmdQueue +/* 010378 7000F778 00000000 */ nop +/* 01037C 7000F77C 00408825 */ move $s1, $v0 +/* 010380 7000F780 02202025 */ move $a0, $s1 +/* 010384 7000F784 8FA50028 */ lw $a1, 0x28($sp) +/* 010388 7000F788 0C0037C4 */ jal osSendMesg +/* 01038C 7000F78C 00003025 */ move $a2, $zero +/* 010390 7000F790 00408025 */ move $s0, $v0 +.L7000F794: +/* 010394 7000F794 02001025 */ move $v0, $s0 +.L7000F798: +/* 010398 7000F798 8FBF001C */ lw $ra, 0x1c($sp) +/* 01039C 7000F79C 8FB00014 */ lw $s0, 0x14($sp) +/* 0103A0 7000F7A0 8FB10018 */ lw $s1, 0x18($sp) +/* 0103A4 7000F7A4 03E00008 */ jr $ra +/* 0103A8 7000F7A8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osRecvMesg.s b/src/libultra/osRecvMesg.s new file mode 100644 index 00000000..2506b757 --- /dev/null +++ b/src/libultra/osRecvMesg.s @@ -0,0 +1,96 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osRecvMesg +/* 00E9D0 7000DDD0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E9D4 7000DDD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E9D8 7000DDD8 AFA40028 */ sw $a0, 0x28($sp) +/* 00E9DC 7000DDDC AFA5002C */ sw $a1, 0x2c($sp) +/* 00E9E0 7000DDE0 AFA60030 */ sw $a2, 0x30($sp) +/* 00E9E4 7000DDE4 AFB10018 */ sw $s1, 0x18($sp) +/* 00E9E8 7000DDE8 0C00617C */ jal __osDisableInt +/* 00E9EC 7000DDEC AFB00014 */ sw $s0, 0x14($sp) +/* 00E9F0 7000DDF0 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E9F4 7000DDF4 00408025 */ move $s0, $v0 +/* 00E9F8 7000DDF8 8DCF0008 */ lw $t7, 8($t6) +/* 00E9FC 7000DDFC 15E00012 */ bnez $t7, .L7000DE48 +/* 00EA00 7000DE00 00000000 */ nop +.L7000DE04: +/* 00EA04 7000DE04 8FB80030 */ lw $t8, 0x30($sp) +/* 00EA08 7000DE08 17000005 */ bnez $t8, .L7000DE20 +/* 00EA0C 7000DE0C 00000000 */ nop +/* 00EA10 7000DE10 0C006184 */ jal __osRestoreInt +/* 00EA14 7000DE14 02002025 */ move $a0, $s0 +/* 00EA18 7000DE18 10000036 */ b .L7000DEF4 +/* 00EA1C 7000DE1C 2402FFFF */ li $v0, -1 +.L7000DE20: +/* 00EA20 7000DE20 3C088002 */ lui $t0, %hi(__osRunningThread) +/* 00EA24 7000DE24 8D087730 */ lw $t0, %lo(__osRunningThread)($t0) +/* 00EA28 7000DE28 24190008 */ li $t9, 8 +/* 00EA2C 7000DE2C A5190010 */ sh $t9, 0x10($t0) +/* 00EA30 7000DE30 0C0041EB */ jal __osEnqueueAndYield +/* 00EA34 7000DE34 8FA40028 */ lw $a0, 0x28($sp) +/* 00EA38 7000DE38 8FA90028 */ lw $t1, 0x28($sp) +/* 00EA3C 7000DE3C 8D2A0008 */ lw $t2, 8($t1) +/* 00EA40 7000DE40 1140FFF0 */ beqz $t2, .L7000DE04 +/* 00EA44 7000DE44 00000000 */ nop +.L7000DE48: +/* 00EA48 7000DE48 8FAB002C */ lw $t3, 0x2c($sp) +/* 00EA4C 7000DE4C 11600008 */ beqz $t3, .L7000DE70 +/* 00EA50 7000DE50 00000000 */ nop +/* 00EA54 7000DE54 8FAC0028 */ lw $t4, 0x28($sp) +/* 00EA58 7000DE58 8D8E000C */ lw $t6, 0xc($t4) +/* 00EA5C 7000DE5C 8D8D0014 */ lw $t5, 0x14($t4) +/* 00EA60 7000DE60 000E7880 */ sll $t7, $t6, 2 +/* 00EA64 7000DE64 01AFC021 */ addu $t8, $t5, $t7 +/* 00EA68 7000DE68 8F190000 */ lw $t9, ($t8) +/* 00EA6C 7000DE6C AD790000 */ sw $t9, ($t3) +.L7000DE70: +/* 00EA70 7000DE70 8FA80028 */ lw $t0, 0x28($sp) +/* 00EA74 7000DE74 8D09000C */ lw $t1, 0xc($t0) +/* 00EA78 7000DE78 8D0C0010 */ lw $t4, 0x10($t0) +/* 00EA7C 7000DE7C 252A0001 */ addiu $t2, $t1, 1 +/* 00EA80 7000DE80 014C001A */ div $zero, $t2, $t4 +/* 00EA84 7000DE84 00007010 */ mfhi $t6 +/* 00EA88 7000DE88 AD0E000C */ sw $t6, 0xc($t0) +/* 00EA8C 7000DE8C 8FAD0028 */ lw $t5, 0x28($sp) +/* 00EA90 7000DE90 15800002 */ bnez $t4, .L7000DE9C +/* 00EA94 7000DE94 00000000 */ nop +/* 00EA98 7000DE98 0007000D */ break 7 +.L7000DE9C: +/* 00EA9C 7000DE9C 2401FFFF */ li $at, -1 +/* 00EAA0 7000DEA0 15810004 */ bne $t4, $at, .L7000DEB4 +/* 00EAA4 7000DEA4 3C018000 */ lui $at, 0x8000 +/* 00EAA8 7000DEA8 15410002 */ bne $t2, $at, .L7000DEB4 +/* 00EAAC 7000DEAC 00000000 */ nop +/* 00EAB0 7000DEB0 0006000D */ break 6 +.L7000DEB4: +/* 00EAB4 7000DEB4 8DAF0008 */ lw $t7, 8($t5) +/* 00EAB8 7000DEB8 25F8FFFF */ addiu $t8, $t7, -1 +/* 00EABC 7000DEBC ADB80008 */ sw $t8, 8($t5) +/* 00EAC0 7000DEC0 8FB90028 */ lw $t9, 0x28($sp) +/* 00EAC4 7000DEC4 8F2B0004 */ lw $t3, 4($t9) +/* 00EAC8 7000DEC8 8D690000 */ lw $t1, ($t3) +/* 00EACC 7000DECC 11200006 */ beqz $t1, .L7000DEE8 +/* 00EAD0 7000DED0 00000000 */ nop +/* 00EAD4 7000DED4 0C00423D */ jal __osPopThread +/* 00EAD8 7000DED8 27240004 */ addiu $a0, $t9, 4 +/* 00EADC 7000DEDC 00408825 */ move $s1, $v0 +/* 00EAE0 7000DEE0 0C003560 */ jal osStartThread +/* 00EAE4 7000DEE4 02202025 */ move $a0, $s1 +.L7000DEE8: +/* 00EAE8 7000DEE8 0C006184 */ jal __osRestoreInt +/* 00EAEC 7000DEEC 02002025 */ move $a0, $s0 +/* 00EAF0 7000DEF0 00001025 */ move $v0, $zero +.L7000DEF4: +/* 00EAF4 7000DEF4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00EAF8 7000DEF8 8FB00014 */ lw $s0, 0x14($sp) +/* 00EAFC 7000DEFC 8FB10018 */ lw $s1, 0x18($sp) +/* 00EB00 7000DF00 03E00008 */ jr $ra +/* 00EB04 7000DF04 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osSendMesg.s b/src/libultra/osSendMesg.s new file mode 100644 index 00000000..84465018 --- /dev/null +++ b/src/libultra/osSendMesg.s @@ -0,0 +1,101 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osSendMesg +/* 00EB10 7000DF10 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00EB14 7000DF14 AFBF0024 */ sw $ra, 0x24($sp) +/* 00EB18 7000DF18 AFA40038 */ sw $a0, 0x38($sp) +/* 00EB1C 7000DF1C AFA5003C */ sw $a1, 0x3c($sp) +/* 00EB20 7000DF20 AFA60040 */ sw $a2, 0x40($sp) +/* 00EB24 7000DF24 AFB20020 */ sw $s2, 0x20($sp) +/* 00EB28 7000DF28 AFB1001C */ sw $s1, 0x1c($sp) +/* 00EB2C 7000DF2C 0C00617C */ jal __osDisableInt +/* 00EB30 7000DF30 AFB00018 */ sw $s0, 0x18($sp) +/* 00EB34 7000DF34 8FAE0038 */ lw $t6, 0x38($sp) +/* 00EB38 7000DF38 00408025 */ move $s0, $v0 +/* 00EB3C 7000DF3C 8DCF0008 */ lw $t7, 8($t6) +/* 00EB40 7000DF40 8DD80010 */ lw $t8, 0x10($t6) +/* 00EB44 7000DF44 01F8082A */ slt $at, $t7, $t8 +/* 00EB48 7000DF48 14200018 */ bnez $at, .L7000DFAC +/* 00EB4C 7000DF4C 00000000 */ nop +.L7000DF50: +/* 00EB50 7000DF50 8FB90040 */ lw $t9, 0x40($sp) +/* 00EB54 7000DF54 24010001 */ li $at, 1 +/* 00EB58 7000DF58 1721000A */ bne $t9, $at, .L7000DF84 +/* 00EB5C 7000DF5C 00000000 */ nop +/* 00EB60 7000DF60 3C098002 */ lui $t1, %hi(__osRunningThread) +/* 00EB64 7000DF64 8D297730 */ lw $t1, %lo(__osRunningThread)($t1) +/* 00EB68 7000DF68 24080008 */ li $t0, 8 +/* 00EB6C 7000DF6C A5280010 */ sh $t0, 0x10($t1) +/* 00EB70 7000DF70 8FA40038 */ lw $a0, 0x38($sp) +/* 00EB74 7000DF74 0C0041EB */ jal __osEnqueueAndYield +/* 00EB78 7000DF78 24840004 */ addiu $a0, $a0, 4 +/* 00EB7C 7000DF7C 10000005 */ b .L7000DF94 +/* 00EB80 7000DF80 00000000 */ nop +.L7000DF84: +/* 00EB84 7000DF84 0C006184 */ jal __osRestoreInt +/* 00EB88 7000DF88 02002025 */ move $a0, $s0 +/* 00EB8C 7000DF8C 1000002D */ b .L7000E044 +/* 00EB90 7000DF90 2402FFFF */ li $v0, -1 +.L7000DF94: +/* 00EB94 7000DF94 8FAA0038 */ lw $t2, 0x38($sp) +/* 00EB98 7000DF98 8D4B0008 */ lw $t3, 8($t2) +/* 00EB9C 7000DF9C 8D4C0010 */ lw $t4, 0x10($t2) +/* 00EBA0 7000DFA0 016C082A */ slt $at, $t3, $t4 +/* 00EBA4 7000DFA4 1020FFEA */ beqz $at, .L7000DF50 +/* 00EBA8 7000DFA8 00000000 */ nop +.L7000DFAC: +/* 00EBAC 7000DFAC 8FAD0038 */ lw $t5, 0x38($sp) +/* 00EBB0 7000DFB0 8FA8003C */ lw $t0, 0x3c($sp) +/* 00EBB4 7000DFB4 8DAE000C */ lw $t6, 0xc($t5) +/* 00EBB8 7000DFB8 8DAF0008 */ lw $t7, 8($t5) +/* 00EBBC 7000DFBC 8DB90010 */ lw $t9, 0x10($t5) +/* 00EBC0 7000DFC0 8DA90014 */ lw $t1, 0x14($t5) +/* 00EBC4 7000DFC4 01CFC021 */ addu $t8, $t6, $t7 +/* 00EBC8 7000DFC8 0319001A */ div $zero, $t8, $t9 +/* 00EBCC 7000DFCC 00008810 */ mfhi $s1 +/* 00EBD0 7000DFD0 00115080 */ sll $t2, $s1, 2 +/* 00EBD4 7000DFD4 012A5821 */ addu $t3, $t1, $t2 +/* 00EBD8 7000DFD8 AD680000 */ sw $t0, ($t3) +/* 00EBDC 7000DFDC 8FAC0038 */ lw $t4, 0x38($sp) +/* 00EBE0 7000DFE0 17200002 */ bnez $t9, .L7000DFEC +/* 00EBE4 7000DFE4 00000000 */ nop +/* 00EBE8 7000DFE8 0007000D */ break 7 +.L7000DFEC: +/* 00EBEC 7000DFEC 2401FFFF */ li $at, -1 +/* 00EBF0 7000DFF0 17210004 */ bne $t9, $at, .L7000E004 +/* 00EBF4 7000DFF4 3C018000 */ lui $at, 0x8000 +/* 00EBF8 7000DFF8 17010002 */ bne $t8, $at, .L7000E004 +/* 00EBFC 7000DFFC 00000000 */ nop +/* 00EC00 7000E000 0006000D */ break 6 +.L7000E004: +/* 00EC04 7000E004 8D8E0008 */ lw $t6, 8($t4) +/* 00EC08 7000E008 25CF0001 */ addiu $t7, $t6, 1 +/* 00EC0C 7000E00C AD8F0008 */ sw $t7, 8($t4) +/* 00EC10 7000E010 8FB80038 */ lw $t8, 0x38($sp) +/* 00EC14 7000E014 8F190000 */ lw $t9, ($t8) +/* 00EC18 7000E018 8F2D0000 */ lw $t5, ($t9) +/* 00EC1C 7000E01C 11A00006 */ beqz $t5, .L7000E038 +/* 00EC20 7000E020 00000000 */ nop +/* 00EC24 7000E024 0C00423D */ jal __osPopThread +/* 00EC28 7000E028 03002025 */ move $a0, $t8 +/* 00EC2C 7000E02C 00409025 */ move $s2, $v0 +/* 00EC30 7000E030 0C003560 */ jal osStartThread +/* 00EC34 7000E034 02402025 */ move $a0, $s2 +.L7000E038: +/* 00EC38 7000E038 0C006184 */ jal __osRestoreInt +/* 00EC3C 7000E03C 02002025 */ move $a0, $s0 +/* 00EC40 7000E040 00001025 */ move $v0, $zero +.L7000E044: +/* 00EC44 7000E044 8FBF0024 */ lw $ra, 0x24($sp) +/* 00EC48 7000E048 8FB00018 */ lw $s0, 0x18($sp) +/* 00EC4C 7000E04C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00EC50 7000E050 8FB20020 */ lw $s2, 0x20($sp) +/* 00EC54 7000E054 03E00008 */ jr $ra +/* 00EC58 7000E058 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/src/libultra/osSetEventMesg.s b/src/libultra/osSetEventMesg.s new file mode 100644 index 00000000..ad7ad442 --- /dev/null +++ b/src/libultra/osSetEventMesg.s @@ -0,0 +1,162 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osSetEventMesg +/* 00E850 7000DC50 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E854 7000DC54 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E858 7000DC58 AFA40028 */ sw $a0, 0x28($sp) +/* 00E85C 7000DC5C AFA5002C */ sw $a1, 0x2c($sp) +/* 00E860 7000DC60 AFA60030 */ sw $a2, 0x30($sp) +/* 00E864 7000DC64 0C00617C */ jal __osDisableInt +/* 00E868 7000DC68 AFB00018 */ sw $s0, 0x18($sp) +/* 00E86C 7000DC6C 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E870 7000DC70 3C188006 */ lui $t8, %hi(__osEventStateTab) +/* 00E874 7000DC74 8FA8002C */ lw $t0, 0x2c($sp) +/* 00E878 7000DC78 27186A10 */ addiu $t8, %lo(__osEventStateTab) # addiu $t8, $t8, 0x6a10 +/* 00E87C 7000DC7C 000E78C0 */ sll $t7, $t6, 3 +/* 00E880 7000DC80 01F8C821 */ addu $t9, $t7, $t8 +/* 00E884 7000DC84 AFB90020 */ sw $t9, 0x20($sp) +/* 00E888 7000DC88 AF280000 */ sw $t0, ($t9) +/* 00E88C 7000DC8C 8FAA0020 */ lw $t2, 0x20($sp) +/* 00E890 7000DC90 8FA90030 */ lw $t1, 0x30($sp) +/* 00E894 7000DC94 00408025 */ move $s0, $v0 +/* 00E898 7000DC98 02002025 */ move $a0, $s0 +/* 00E89C 7000DC9C 0C006184 */ jal __osRestoreInt +/* 00E8A0 7000DCA0 AD490004 */ sw $t1, 4($t2) +/* 00E8A4 7000DCA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E8A8 7000DCA8 8FB00018 */ lw $s0, 0x18($sp) +/* 00E8AC 7000DCAC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00E8B0 7000DCB0 03E00008 */ jr $ra +/* 00E8B4 7000DCB4 00000000 */ nop + +.section .bss +glabel __osEventStateTab +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 +.byte 0 + + + diff --git a/src/libultra/osSetIntMask.s b/src/libultra/osSetIntMask.s new file mode 100644 index 00000000..9b73eb9e --- /dev/null +++ b/src/libultra/osSetIntMask.s @@ -0,0 +1,62 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osSetIntMask +/* 00E930 7000DD30 400C6000 */ mfc0 $t4, $12 +/* 00E934 7000DD34 3182FF01 */ andi $v0, $t4, 0xff01 +/* 00E938 7000DD38 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) +/* 00E93C 7000DD3C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c +/* 00E940 7000DD40 8D0B0000 */ lw $t3, ($t0) +/* 00E944 7000DD44 2401FFFF */ li $at, -1 +/* 00E948 7000DD48 01614026 */ xor $t0, $t3, $at +/* 00E94C 7000DD4C 3108FF00 */ andi $t0, $t0, 0xff00 +/* 00E950 7000DD50 00481025 */ or $v0, $v0, $t0 +/* 00E954 7000DD54 3C0AA430 */ lui $t2, %hi(MI_INTR_MASK_REG) # $t2, 0xa430 +/* 00E958 7000DD58 8D4A000C */ lw $t2, %lo(MI_INTR_MASK_REG)($t2) +/* 00E95C 7000DD5C 11400005 */ beqz $t2, .L7000DD74 +/* 00E960 7000DD60 000B4C02 */ srl $t1, $t3, 0x10 +/* 00E964 7000DD64 2401FFFF */ li $at, -1 +/* 00E968 7000DD68 01214826 */ xor $t1, $t1, $at +/* 00E96C 7000DD6C 3129003F */ andi $t1, $t1, 0x3f +/* 00E970 7000DD70 01495025 */ or $t2, $t2, $t1 +.L7000DD74: +/* 00E974 7000DD74 000A5400 */ sll $t2, $t2, 0x10 +/* 00E978 7000DD78 004A1025 */ or $v0, $v0, $t2 +/* 00E97C 7000DD7C 3C01003F */ lui $at, 0x3f +/* 00E980 7000DD80 00814024 */ and $t0, $a0, $at +/* 00E984 7000DD84 010B4024 */ and $t0, $t0, $t3 +/* 00E988 7000DD88 000843C2 */ srl $t0, $t0, 0xf +/* 00E98C 7000DD8C 3C0A8003 */ lui $t2, %hi(__osRcpImTable) +/* 00E990 7000DD90 01485021 */ addu $t2, $t2, $t0 +/* 00E994 7000DD94 954A93A0 */ lhu $t2, %lo(__osRcpImTable)($t2) +/* 00E998 7000DD98 3C01A430 */ lui $at, %hi(MI_INTR_MASK_REG) # $at, 0xa430 +/* 00E99C 7000DD9C AC2A000C */ sw $t2, %lo(MI_INTR_MASK_REG)($at) +/* 00E9A0 7000DDA0 3088FF01 */ andi $t0, $a0, 0xff01 +/* 00E9A4 7000DDA4 3169FF00 */ andi $t1, $t3, 0xff00 +/* 00E9A8 7000DDA8 01094024 */ and $t0, $t0, $t1 +/* 00E9AC 7000DDAC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 00E9B0 7000DDB0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 00E9B4 7000DDB4 01816024 */ and $t4, $t4, $at +/* 00E9B8 7000DDB8 01886025 */ or $t4, $t4, $t0 +/* 00E9BC 7000DDBC 408C6000 */ mtc0 $t4, $12 +/* 00E9C0 7000DDC0 00000000 */ nop +/* 00E9C4 7000DDC4 00000000 */ nop +/* 00E9C8 7000DDC8 03E00008 */ jr $ra +/* 00E9CC 7000DDCC 00000000 */ nop + +.section .rodata +glabel __osRcpImTable + .half 0x555, 0x556, 0x559, 0x55a, 0x565, 0x566, 0x569, 0x56a + .half 0x595, 0x596, 0x599, 0x59a, 0x5a5, 0x5a6, 0x5a9, 0x5aa + .half 0x655, 0x656, 0x659, 0x65a, 0x665, 0x666, 0x669, 0x66a + .half 0x695, 0x696, 0x699, 0x69a, 0x6a5, 0x6a6, 0x6a9, 0x6aa + .half 0x955, 0x956, 0x959, 0x95a, 0x965, 0x966, 0x969, 0x96a + .half 0x995, 0x996, 0x999, 0x99a, 0x9a5, 0x9a6, 0x9a9, 0x9aa + .half 0xa55, 0xa56, 0xa59, 0xa5a, 0xa65, 0xa66, 0xa69, 0xa6a + .half 0xa95, 0xa96, 0xa99, 0xa9a, 0xaa5, 0xaa6, 0xaa9, 0xaaa diff --git a/src/libultra/osSetThreadPri.s b/src/libultra/osSetThreadPri.s new file mode 100644 index 00000000..e015c475 --- /dev/null +++ b/src/libultra/osSetThreadPri.s @@ -0,0 +1,70 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osSetThreadPri +/* 00E400 7000D800 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E404 7000D804 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E408 7000D808 AFA40028 */ sw $a0, 0x28($sp) +/* 00E40C 7000D80C AFA5002C */ sw $a1, 0x2c($sp) +/* 00E410 7000D810 0C00617C */ jal __osDisableInt +/* 00E414 7000D814 AFB00018 */ sw $s0, 0x18($sp) +/* 00E418 7000D818 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E41C 7000D81C 00408025 */ move $s0, $v0 +/* 00E420 7000D820 15C00004 */ bnez $t6, .L7000D834 +/* 00E424 7000D824 00000000 */ nop +/* 00E428 7000D828 3C0F8002 */ lui $t7, %hi(__osRunningThread) +/* 00E42C 7000D82C 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) +/* 00E430 7000D830 AFAF0028 */ sw $t7, 0x28($sp) +.L7000D834: +/* 00E434 7000D834 8FB80028 */ lw $t8, 0x28($sp) +/* 00E438 7000D838 8FA8002C */ lw $t0, 0x2c($sp) +/* 00E43C 7000D83C 8F190004 */ lw $t9, 4($t8) +/* 00E440 7000D840 13280020 */ beq $t9, $t0, .L7000D8C4 +/* 00E444 7000D844 00000000 */ nop +/* 00E448 7000D848 AF080004 */ sw $t0, 4($t8) +/* 00E44C 7000D84C 3C0A8002 */ lui $t2, %hi(__osRunningThread) +/* 00E450 7000D850 8D4A7730 */ lw $t2, %lo(__osRunningThread)($t2) +/* 00E454 7000D854 8FA90028 */ lw $t1, 0x28($sp) +/* 00E458 7000D858 112A000C */ beq $t1, $t2, .L7000D88C +/* 00E45C 7000D85C 00000000 */ nop +/* 00E460 7000D860 952B0010 */ lhu $t3, 0x10($t1) +/* 00E464 7000D864 24010001 */ li $at, 1 +/* 00E468 7000D868 11610008 */ beq $t3, $at, .L7000D88C +/* 00E46C 7000D86C 00000000 */ nop +/* 00E470 7000D870 8D240008 */ lw $a0, 8($t1) +/* 00E474 7000D874 0C0042A4 */ jal __osDequeueThread +/* 00E478 7000D878 01202825 */ move $a1, $t1 +/* 00E47C 7000D87C 8FAC0028 */ lw $t4, 0x28($sp) +/* 00E480 7000D880 8D840008 */ lw $a0, 8($t4) +/* 00E484 7000D884 0C00422B */ jal __osEnqueueThread +/* 00E488 7000D888 01802825 */ move $a1, $t4 +.L7000D88C: +/* 00E48C 7000D88C 3C0D8002 */ lui $t5, %hi(__osRunningThread) +/* 00E490 7000D890 3C0F8002 */ lui $t7, %hi(__osRunQueue) +/* 00E494 7000D894 8DEF7728 */ lw $t7, %lo(__osRunQueue)($t7) +/* 00E498 7000D898 8DAD7730 */ lw $t5, %lo(__osRunningThread)($t5) +/* 00E49C 7000D89C 8DF90004 */ lw $t9, 4($t7) +/* 00E4A0 7000D8A0 8DAE0004 */ lw $t6, 4($t5) +/* 00E4A4 7000D8A4 01D9082A */ slt $at, $t6, $t9 +/* 00E4A8 7000D8A8 10200006 */ beqz $at, .L7000D8C4 +/* 00E4AC 7000D8AC 00000000 */ nop +/* 00E4B0 7000D8B0 24080002 */ li $t0, 2 +/* 00E4B4 7000D8B4 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 00E4B8 7000D8B8 A5A80010 */ sh $t0, 0x10($t5) +/* 00E4BC 7000D8BC 0C0041EB */ jal __osEnqueueAndYield +/* 00E4C0 7000D8C0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +.L7000D8C4: +/* 00E4C4 7000D8C4 0C006184 */ jal __osRestoreInt +/* 00E4C8 7000D8C8 02002025 */ move $a0, $s0 +/* 00E4CC 7000D8CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E4D0 7000D8D0 8FB00018 */ lw $s0, 0x18($sp) +/* 00E4D4 7000D8D4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00E4D8 7000D8D8 03E00008 */ jr $ra +/* 00E4DC 7000D8DC 00000000 */ nop diff --git a/src/libultra/osSetTimer.s b/src/libultra/osSetTimer.s new file mode 100644 index 00000000..5b04978c --- /dev/null +++ b/src/libultra/osSetTimer.s @@ -0,0 +1,67 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osSetTimer +/* 011850 70010C50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 011854 70010C54 AFA40020 */ sw $a0, 0x20($sp) +/* 011858 70010C58 8FAE0020 */ lw $t6, 0x20($sp) +/* 01185C 70010C5C AFBF0014 */ sw $ra, 0x14($sp) +/* 011860 70010C60 AFA60028 */ sw $a2, 0x28($sp) +/* 011864 70010C64 AFA7002C */ sw $a3, 0x2c($sp) +/* 011868 70010C68 ADC00000 */ sw $zero, ($t6) +/* 01186C 70010C6C 8FAF0020 */ lw $t7, 0x20($sp) +/* 011870 70010C70 ADE00004 */ sw $zero, 4($t7) +/* 011874 70010C74 8FA80020 */ lw $t0, 0x20($sp) +/* 011878 70010C78 8FB90034 */ lw $t9, 0x34($sp) +/* 01187C 70010C7C 8FB80030 */ lw $t8, 0x30($sp) +/* 011880 70010C80 AD19000C */ sw $t9, 0xc($t0) +/* 011884 70010C84 AD180008 */ sw $t8, 8($t0) +/* 011888 70010C88 8FAA0028 */ lw $t2, 0x28($sp) +/* 01188C 70010C8C 8FAB002C */ lw $t3, 0x2c($sp) +/* 011890 70010C90 15400003 */ bnez $t2, .L70010CA0 +/* 011894 70010C94 00000000 */ nop +/* 011898 70010C98 11600005 */ beqz $t3, .L70010CB0 +/* 01189C 70010C9C 00000000 */ nop +.L70010CA0: +/* 0118A0 70010CA0 8FA90020 */ lw $t1, 0x20($sp) +/* 0118A4 70010CA4 AD2A0010 */ sw $t2, 0x10($t1) +/* 0118A8 70010CA8 10000006 */ b .L70010CC4 +/* 0118AC 70010CAC AD2B0014 */ sw $t3, 0x14($t1) +.L70010CB0: +/* 0118B0 70010CB0 8FAE0020 */ lw $t6, 0x20($sp) +/* 0118B4 70010CB4 8FAC0030 */ lw $t4, 0x30($sp) +/* 0118B8 70010CB8 8FAD0034 */ lw $t5, 0x34($sp) +/* 0118BC 70010CBC ADCC0010 */ sw $t4, 0x10($t6) +/* 0118C0 70010CC0 ADCD0014 */ sw $t5, 0x14($t6) +.L70010CC4: +/* 0118C4 70010CC4 8FAF0038 */ lw $t7, 0x38($sp) +/* 0118C8 70010CC8 8FB80020 */ lw $t8, 0x20($sp) +/* 0118CC 70010CCC AF0F0018 */ sw $t7, 0x18($t8) +/* 0118D0 70010CD0 8FA80020 */ lw $t0, 0x20($sp) +/* 0118D4 70010CD4 8FB9003C */ lw $t9, 0x3c($sp) +/* 0118D8 70010CD8 AD19001C */ sw $t9, 0x1c($t0) +/* 0118DC 70010CDC 0C00622A */ jal __osInsertTimer +/* 0118E0 70010CE0 8FA40020 */ lw $a0, 0x20($sp) +/* 0118E4 70010CE4 3C0A8002 */ lui $t2, %hi(__osTimerList) +/* 0118E8 70010CE8 8D4A7FD0 */ lw $t2, %lo(__osTimerList)($t2) +/* 0118EC 70010CEC AFA20018 */ sw $v0, 0x18($sp) +/* 0118F0 70010CF0 AFA3001C */ sw $v1, 0x1c($sp) +/* 0118F4 70010CF4 8FA90020 */ lw $t1, 0x20($sp) +/* 0118F8 70010CF8 8D4B0000 */ lw $t3, ($t2) +/* 0118FC 70010CFC 15690004 */ bne $t3, $t1, .L70010D10 +/* 011900 70010D00 00000000 */ nop +/* 011904 70010D04 8FA40018 */ lw $a0, 0x18($sp) +/* 011908 70010D08 0C00620D */ jal __osSetTimerIntr +/* 01190C 70010D0C 8FA5001C */ lw $a1, 0x1c($sp) +.L70010D10: +/* 011910 70010D10 8FBF0014 */ lw $ra, 0x14($sp) +/* 011914 70010D14 27BD0020 */ addiu $sp, $sp, 0x20 +/* 011918 70010D18 00001025 */ move $v0, $zero +/* 01191C 70010D1C 03E00008 */ jr $ra +/* 011920 70010D20 00000000 */ nop diff --git a/src/libultra/osSpTaskLoad.s b/src/libultra/osSpTaskLoad.s new file mode 100644 index 00000000..7ead55b0 --- /dev/null +++ b/src/libultra/osSpTaskLoad.s @@ -0,0 +1,248 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +.section .bss + +glabel tp +glabel type +.word 0 +glabel flags +.word 0 +glabel t_ucode_boot +.word 0 +glabel t_ucode_boot_size +.word 0 +glabel t_ucode +.word 0 +glabel t_ucode_size +.word 0 +glabel t_ucode_data +.word 0 +glabel t_ucode_data_size +.word 0 +glabel t_dram_stack +.word 0 +glabel t_dram_stack_size +.word 0 +glabel t_output_buff +.word 0 +glabel t_output_buff_size +.word 0 +glabel t_data_ptr +.word 0 +glabel t_data_size +.word 0 +glabel t_yield_data_ptr +.word 0 +glabel t_yield_data_size +.word 0 + + + + +.section .text +glabel _VirtualToPhysicalTask +/* 00F0F0 7000E4F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00F0F4 7000E4F4 3C0E8006 */ lui $t6, %hi(tp) +/* 00F0F8 7000E4F8 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F0FC 7000E4FC AFA40020 */ sw $a0, 0x20($sp) +/* 00F100 7000E500 25CE6A90 */ addiu $t6, %lo(tp) # addiu $t6, $t6, 0x6a90 +/* 00F104 7000E504 AFAE001C */ sw $t6, 0x1c($sp) +/* 00F108 7000E508 01C02825 */ move $a1, $t6 +/* 00F10C 7000E50C 8FA40020 */ lw $a0, 0x20($sp) +/* 00F110 7000E510 0C003E5C */ jal _bcopy +/* 00F114 7000E514 24060040 */ li $a2, 64 +/* 00F118 7000E518 8FAF001C */ lw $t7, 0x1c($sp) +/* 00F11C 7000E51C 8DF80010 */ lw $t8, 0x10($t7) +/* 00F120 7000E520 13000005 */ beqz $t8, .L7000E538 +/* 00F124 7000E524 00000000 */ nop +/* 00F128 7000E528 0C003A2C */ jal osVirtualToPhysical +/* 00F12C 7000E52C 03002025 */ move $a0, $t8 +/* 00F130 7000E530 8FB9001C */ lw $t9, 0x1c($sp) +/* 00F134 7000E534 AF220010 */ sw $v0, 0x10($t9) +.L7000E538: +/* 00F138 7000E538 8FA8001C */ lw $t0, 0x1c($sp) +/* 00F13C 7000E53C 8D090018 */ lw $t1, 0x18($t0) +/* 00F140 7000E540 11200005 */ beqz $t1, .L7000E558 +/* 00F144 7000E544 00000000 */ nop +/* 00F148 7000E548 0C003A2C */ jal osVirtualToPhysical +/* 00F14C 7000E54C 01202025 */ move $a0, $t1 +/* 00F150 7000E550 8FAA001C */ lw $t2, 0x1c($sp) +/* 00F154 7000E554 AD420018 */ sw $v0, 0x18($t2) +.L7000E558: +/* 00F158 7000E558 8FAB001C */ lw $t3, 0x1c($sp) +/* 00F15C 7000E55C 8D6C0020 */ lw $t4, 0x20($t3) +/* 00F160 7000E560 11800005 */ beqz $t4, .L7000E578 +/* 00F164 7000E564 00000000 */ nop +/* 00F168 7000E568 0C003A2C */ jal osVirtualToPhysical +/* 00F16C 7000E56C 01802025 */ move $a0, $t4 +/* 00F170 7000E570 8FAD001C */ lw $t5, 0x1c($sp) +/* 00F174 7000E574 ADA20020 */ sw $v0, 0x20($t5) +.L7000E578: +/* 00F178 7000E578 8FAE001C */ lw $t6, 0x1c($sp) +/* 00F17C 7000E57C 8DCF0028 */ lw $t7, 0x28($t6) +/* 00F180 7000E580 11E00005 */ beqz $t7, .L7000E598 +/* 00F184 7000E584 00000000 */ nop +/* 00F188 7000E588 0C003A2C */ jal osVirtualToPhysical +/* 00F18C 7000E58C 01E02025 */ move $a0, $t7 +/* 00F190 7000E590 8FB8001C */ lw $t8, 0x1c($sp) +/* 00F194 7000E594 AF020028 */ sw $v0, 0x28($t8) +.L7000E598: +/* 00F198 7000E598 8FB9001C */ lw $t9, 0x1c($sp) +/* 00F19C 7000E59C 8F28002C */ lw $t0, 0x2c($t9) +/* 00F1A0 7000E5A0 11000005 */ beqz $t0, .L7000E5B8 +/* 00F1A4 7000E5A4 00000000 */ nop +/* 00F1A8 7000E5A8 0C003A2C */ jal osVirtualToPhysical +/* 00F1AC 7000E5AC 01002025 */ move $a0, $t0 +/* 00F1B0 7000E5B0 8FA9001C */ lw $t1, 0x1c($sp) +/* 00F1B4 7000E5B4 AD22002C */ sw $v0, 0x2c($t1) +.L7000E5B8: +/* 00F1B8 7000E5B8 8FAA001C */ lw $t2, 0x1c($sp) +/* 00F1BC 7000E5BC 8D4B0030 */ lw $t3, 0x30($t2) +/* 00F1C0 7000E5C0 11600005 */ beqz $t3, .L7000E5D8 +/* 00F1C4 7000E5C4 00000000 */ nop +/* 00F1C8 7000E5C8 0C003A2C */ jal osVirtualToPhysical +/* 00F1CC 7000E5CC 01602025 */ move $a0, $t3 +/* 00F1D0 7000E5D0 8FAC001C */ lw $t4, 0x1c($sp) +/* 00F1D4 7000E5D4 AD820030 */ sw $v0, 0x30($t4) +.L7000E5D8: +/* 00F1D8 7000E5D8 8FAD001C */ lw $t5, 0x1c($sp) +/* 00F1DC 7000E5DC 8DAE0038 */ lw $t6, 0x38($t5) +/* 00F1E0 7000E5E0 11C00005 */ beqz $t6, .L7000E5F8 +/* 00F1E4 7000E5E4 00000000 */ nop +/* 00F1E8 7000E5E8 0C003A2C */ jal osVirtualToPhysical +/* 00F1EC 7000E5EC 01C02025 */ move $a0, $t6 +/* 00F1F0 7000E5F0 8FAF001C */ lw $t7, 0x1c($sp) +/* 00F1F4 7000E5F4 ADE20038 */ sw $v0, 0x38($t7) +.L7000E5F8: +/* 00F1F8 7000E5F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F1FC 7000E5FC 8FA2001C */ lw $v0, 0x1c($sp) +/* 00F200 7000E600 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00F204 7000E604 03E00008 */ jr $ra +/* 00F208 7000E608 00000000 */ nop + +glabel osSpTaskLoad +/* 00F20C 7000E60C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00F210 7000E610 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F214 7000E614 AFA40020 */ sw $a0, 0x20($sp) +/* 00F218 7000E618 0C00393C */ jal _VirtualToPhysicalTask +/* 00F21C 7000E61C 8FA40020 */ lw $a0, 0x20($sp) +/* 00F220 7000E620 AFA2001C */ sw $v0, 0x1c($sp) +/* 00F224 7000E624 8FAE001C */ lw $t6, 0x1c($sp) +/* 00F228 7000E628 8DCF0004 */ lw $t7, 4($t6) +/* 00F22C 7000E62C 31F80001 */ andi $t8, $t7, 1 +/* 00F230 7000E630 1300000B */ beqz $t8, .L7000E660 +/* 00F234 7000E634 00000000 */ nop +/* 00F238 7000E638 8DD90038 */ lw $t9, 0x38($t6) +/* 00F23C 7000E63C 2401FFFE */ li $at, -2 +/* 00F240 7000E640 ADD90018 */ sw $t9, 0x18($t6) +/* 00F244 7000E644 8FA8001C */ lw $t0, 0x1c($sp) +/* 00F248 7000E648 8D09003C */ lw $t1, 0x3c($t0) +/* 00F24C 7000E64C AD09001C */ sw $t1, 0x1c($t0) +/* 00F250 7000E650 8FAA0020 */ lw $t2, 0x20($sp) +/* 00F254 7000E654 8D4B0004 */ lw $t3, 4($t2) +/* 00F258 7000E658 01616024 */ and $t4, $t3, $at +/* 00F25C 7000E65C AD4C0004 */ sw $t4, 4($t2) +.L7000E660: +/* 00F260 7000E660 8FA4001C */ lw $a0, 0x1c($sp) +/* 00F264 7000E664 0C0042F4 */ jal osWritebackDCache +/* 00F268 7000E668 24050040 */ li $a1, 64 +/* 00F26C 7000E66C 0C0063B8 */ jal __osSpSetStatus +/* 00F270 7000E670 24042B00 */ li $a0, 11008 +/* 00F274 7000E674 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 00F278 7000E678 0C0063BC */ jal __osSpSetPc +/* 00F27C 7000E67C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 00F280 7000E680 2401FFFF */ li $at, -1 +/* 00F284 7000E684 14410007 */ bne $v0, $at, .L7000E6A4 +/* 00F288 7000E688 00000000 */ nop +.L7000E68C: +/* 00F28C 7000E68C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 00F290 7000E690 0C0063BC */ jal __osSpSetPc +/* 00F294 7000E694 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 00F298 7000E698 2401FFFF */ li $at, -1 +/* 00F29C 7000E69C 1041FFFB */ beq $v0, $at, .L7000E68C +/* 00F2A0 7000E6A0 00000000 */ nop +.L7000E6A4: +/* 00F2A4 7000E6A4 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 00F2A8 7000E6A8 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 00F2AC 7000E6AC 24040001 */ li $a0, 1 +/* 00F2B0 7000E6B0 8FA6001C */ lw $a2, 0x1c($sp) +/* 00F2B4 7000E6B4 0C0063CC */ jal __osSpRawStartDma +/* 00F2B8 7000E6B8 24070040 */ li $a3, 64 +/* 00F2BC 7000E6BC 2401FFFF */ li $at, -1 +/* 00F2C0 7000E6C0 1441000A */ bne $v0, $at, .L7000E6EC +/* 00F2C4 7000E6C4 00000000 */ nop +.L7000E6C8: +/* 00F2C8 7000E6C8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 00F2CC 7000E6CC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 00F2D0 7000E6D0 24040001 */ li $a0, 1 +/* 00F2D4 7000E6D4 8FA6001C */ lw $a2, 0x1c($sp) +/* 00F2D8 7000E6D8 0C0063CC */ jal __osSpRawStartDma +/* 00F2DC 7000E6DC 24070040 */ li $a3, 64 +/* 00F2E0 7000E6E0 2401FFFF */ li $at, -1 +/* 00F2E4 7000E6E4 1041FFF8 */ beq $v0, $at, .L7000E6C8 +/* 00F2E8 7000E6E8 00000000 */ nop +.L7000E6EC: +/* 00F2EC 7000E6EC 0C0063F0 */ jal __osSpDeviceBusy +/* 00F2F0 7000E6F0 00000000 */ nop +/* 00F2F4 7000E6F4 10400005 */ beqz $v0, .L7000E70C +/* 00F2F8 7000E6F8 00000000 */ nop +.L7000E6FC: +/* 00F2FC 7000E6FC 0C0063F0 */ jal __osSpDeviceBusy +/* 00F300 7000E700 00000000 */ nop +/* 00F304 7000E704 1440FFFD */ bnez $v0, .L7000E6FC +/* 00F308 7000E708 00000000 */ nop +.L7000E70C: +/* 00F30C 7000E70C 8FAD001C */ lw $t5, 0x1c($sp) +/* 00F310 7000E710 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 00F314 7000E714 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 00F318 7000E718 24040001 */ li $a0, 1 +/* 00F31C 7000E71C 8DA60008 */ lw $a2, 8($t5) +/* 00F320 7000E720 0C0063CC */ jal __osSpRawStartDma +/* 00F324 7000E724 8DA7000C */ lw $a3, 0xc($t5) +/* 00F328 7000E728 2401FFFF */ li $at, -1 +/* 00F32C 7000E72C 1441000B */ bne $v0, $at, .L7000E75C +/* 00F330 7000E730 00000000 */ nop +.L7000E734: +/* 00F334 7000E734 8FAF001C */ lw $t7, 0x1c($sp) +/* 00F338 7000E738 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 00F33C 7000E73C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 00F340 7000E740 24040001 */ li $a0, 1 +/* 00F344 7000E744 8DE60008 */ lw $a2, 8($t7) +/* 00F348 7000E748 0C0063CC */ jal __osSpRawStartDma +/* 00F34C 7000E74C 8DE7000C */ lw $a3, 0xc($t7) +/* 00F350 7000E750 2401FFFF */ li $at, -1 +/* 00F354 7000E754 1041FFF7 */ beq $v0, $at, .L7000E734 +/* 00F358 7000E758 00000000 */ nop +.L7000E75C: +/* 00F35C 7000E75C 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F360 7000E760 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00F364 7000E764 03E00008 */ jr $ra +/* 00F368 7000E768 00000000 */ nop + +glabel osSpTaskStartGo +/* 00F36C 7000E76C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F370 7000E770 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F374 7000E774 0C0063F0 */ jal __osSpDeviceBusy +/* 00F378 7000E778 AFA40018 */ sw $a0, 0x18($sp) +/* 00F37C 7000E77C 10400005 */ beqz $v0, .L7000E794 +/* 00F380 7000E780 00000000 */ nop +.L7000E784: +/* 00F384 7000E784 0C0063F0 */ jal __osSpDeviceBusy +/* 00F388 7000E788 00000000 */ nop +/* 00F38C 7000E78C 1440FFFD */ bnez $v0, .L7000E784 +/* 00F390 7000E790 00000000 */ nop +.L7000E794: +/* 00F394 7000E794 0C0063B8 */ jal __osSpSetStatus +/* 00F398 7000E798 24040125 */ li $a0, 293 +/* 00F39C 7000E79C 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F3A0 7000E7A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00F3A4 7000E7A4 03E00008 */ jr $ra +/* 00F3A8 7000E7A8 00000000 */ nop diff --git a/src/libultra/osSpTaskYield.s b/src/libultra/osSpTaskYield.s new file mode 100644 index 00000000..1721c3c9 --- /dev/null +++ b/src/libultra/osSpTaskYield.s @@ -0,0 +1,18 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osSpTaskYield +/* 00F460 7000E860 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F464 7000E864 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F468 7000E868 0C0063B8 */ jal __osSpSetStatus +/* 00F46C 7000E86C 24040400 */ li $a0, 1024 +/* 00F470 7000E870 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F474 7000E874 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00F478 7000E878 03E00008 */ jr $ra +/* 00F47C 7000E87C 00000000 */ nop diff --git a/src/libultra/osSpTaskYielded.s b/src/libultra/osSpTaskYielded.s new file mode 100644 index 00000000..7ba8d94c --- /dev/null +++ b/src/libultra/osSpTaskYielded.s @@ -0,0 +1,46 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osSpTaskYielded +/* 00EF40 7000E340 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00EF44 7000E344 AFBF0014 */ sw $ra, 0x14($sp) +/* 00EF48 7000E348 0C0063B4 */ jal __osSpGetStatus +/* 00EF4C 7000E34C AFA40020 */ sw $a0, 0x20($sp) +/* 00EF50 7000E350 AFA2001C */ sw $v0, 0x1c($sp) +/* 00EF54 7000E354 8FAE001C */ lw $t6, 0x1c($sp) +/* 00EF58 7000E358 31CF0100 */ andi $t7, $t6, 0x100 +/* 00EF5C 7000E35C 11E00004 */ beqz $t7, .L7000E370 +/* 00EF60 7000E360 00000000 */ nop +/* 00EF64 7000E364 24180001 */ li $t8, 1 +/* 00EF68 7000E368 10000002 */ b .L7000E374 +/* 00EF6C 7000E36C AFB80018 */ sw $t8, 0x18($sp) +.L7000E370: +/* 00EF70 7000E370 AFA00018 */ sw $zero, 0x18($sp) +.L7000E374: +/* 00EF74 7000E374 8FB9001C */ lw $t9, 0x1c($sp) +/* 00EF78 7000E378 33280080 */ andi $t0, $t9, 0x80 +/* 00EF7C 7000E37C 1100000B */ beqz $t0, .L7000E3AC +/* 00EF80 7000E380 00000000 */ nop +/* 00EF84 7000E384 8FA90020 */ lw $t1, 0x20($sp) +/* 00EF88 7000E388 8FAB0018 */ lw $t3, 0x18($sp) +/* 00EF8C 7000E38C 2401FFFD */ li $at, -3 +/* 00EF90 7000E390 8D2A0004 */ lw $t2, 4($t1) +/* 00EF94 7000E394 014B6025 */ or $t4, $t2, $t3 +/* 00EF98 7000E398 AD2C0004 */ sw $t4, 4($t1) +/* 00EF9C 7000E39C 8FAD0020 */ lw $t5, 0x20($sp) +/* 00EFA0 7000E3A0 8DAE0004 */ lw $t6, 4($t5) +/* 00EFA4 7000E3A4 01C17824 */ and $t7, $t6, $at +/* 00EFA8 7000E3A8 ADAF0004 */ sw $t7, 4($t5) +.L7000E3AC: +/* 00EFAC 7000E3AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 00EFB0 7000E3B0 8FA20018 */ lw $v0, 0x18($sp) +/* 00EFB4 7000E3B4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00EFB8 7000E3B8 03E00008 */ jr $ra +/* 00EFBC 7000E3BC 00000000 */ nop diff --git a/src/libultra/osStartThread.s b/src/libultra/osStartThread.s new file mode 100644 index 00000000..0cc8be4f --- /dev/null +++ b/src/libultra/osStartThread.s @@ -0,0 +1,100 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osStartThread +/* 00E180 7000D580 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E184 7000D584 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E188 7000D588 AFA40028 */ sw $a0, 0x28($sp) +/* 00E18C 7000D58C AFB10018 */ sw $s1, 0x18($sp) +/* 00E190 7000D590 0C00617C */ jal __osDisableInt +/* 00E194 7000D594 AFB00014 */ sw $s0, 0x14($sp) +/* 00E198 7000D598 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E19C 7000D59C 24010001 */ li $at, 1 +/* 00E1A0 7000D5A0 00408025 */ move $s0, $v0 +/* 00E1A4 7000D5A4 95D10010 */ lhu $s1, 0x10($t6) +/* 00E1A8 7000D5A8 1221000C */ beq $s1, $at, .L7000D5DC +/* 00E1AC 7000D5AC 24010008 */ li $at, 8 +/* 00E1B0 7000D5B0 1621002A */ bne $s1, $at, .L7000D65C +/* 00E1B4 7000D5B4 00000000 */ nop +/* 00E1B8 7000D5B8 8FB80028 */ lw $t8, 0x28($sp) +/* 00E1BC 7000D5BC 240F0002 */ li $t7, 2 +/* 00E1C0 7000D5C0 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 00E1C4 7000D5C4 A70F0010 */ sh $t7, 0x10($t8) +/* 00E1C8 7000D5C8 8FA50028 */ lw $a1, 0x28($sp) +/* 00E1CC 7000D5CC 0C00422B */ jal __osEnqueueThread +/* 00E1D0 7000D5D0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 00E1D4 7000D5D4 10000021 */ b .L7000D65C +/* 00E1D8 7000D5D8 00000000 */ nop +.L7000D5DC: +/* 00E1DC 7000D5DC 8FB90028 */ lw $t9, 0x28($sp) +/* 00E1E0 7000D5E0 8F280008 */ lw $t0, 8($t9) +/* 00E1E4 7000D5E4 11000005 */ beqz $t0, .L7000D5FC +/* 00E1E8 7000D5E8 00000000 */ nop +/* 00E1EC 7000D5EC 3C098002 */ lui $t1, %hi(__osRunQueue) +/* 00E1F0 7000D5F0 25297728 */ addiu $t1, %lo(__osRunQueue) # addiu $t1, $t1, 0x7728 +/* 00E1F4 7000D5F4 1509000A */ bne $t0, $t1, .L7000D620 +/* 00E1F8 7000D5F8 00000000 */ nop +.L7000D5FC: +/* 00E1FC 7000D5FC 8FAB0028 */ lw $t3, 0x28($sp) +/* 00E200 7000D600 240A0002 */ li $t2, 2 +/* 00E204 7000D604 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 00E208 7000D608 A56A0010 */ sh $t2, 0x10($t3) +/* 00E20C 7000D60C 8FA50028 */ lw $a1, 0x28($sp) +/* 00E210 7000D610 0C00422B */ jal __osEnqueueThread +/* 00E214 7000D614 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 00E218 7000D618 10000010 */ b .L7000D65C +/* 00E21C 7000D61C 00000000 */ nop +.L7000D620: +/* 00E220 7000D620 8FAD0028 */ lw $t5, 0x28($sp) +/* 00E224 7000D624 240C0008 */ li $t4, 8 +/* 00E228 7000D628 A5AC0010 */ sh $t4, 0x10($t5) +/* 00E22C 7000D62C 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E230 7000D630 8DC40008 */ lw $a0, 8($t6) +/* 00E234 7000D634 0C00422B */ jal __osEnqueueThread +/* 00E238 7000D638 01C02825 */ move $a1, $t6 +/* 00E23C 7000D63C 8FAF0028 */ lw $t7, 0x28($sp) +/* 00E240 7000D640 0C00423D */ jal __osPopThread +/* 00E244 7000D644 8DE40008 */ lw $a0, 8($t7) +/* 00E248 7000D648 00408825 */ move $s1, $v0 +/* 00E24C 7000D64C 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 00E250 7000D650 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 00E254 7000D654 0C00422B */ jal __osEnqueueThread +/* 00E258 7000D658 02202825 */ move $a1, $s1 +.L7000D65C: +/* 00E25C 7000D65C 3C188002 */ lui $t8, %hi(__osRunningThread) +/* 00E260 7000D660 8F187730 */ lw $t8, %lo(__osRunningThread)($t8) +/* 00E264 7000D664 17000005 */ bnez $t8, .L7000D67C +/* 00E268 7000D668 00000000 */ nop +/* 00E26C 7000D66C 0C004241 */ jal __osDispatchThread +/* 00E270 7000D670 00000000 */ nop +/* 00E274 7000D674 1000000F */ b .L7000D6B4 +/* 00E278 7000D678 00000000 */ nop +.L7000D67C: +/* 00E27C 7000D67C 3C198002 */ lui $t9, %hi(__osRunningThread) +/* 00E280 7000D680 3C098002 */ lui $t1, %hi(__osRunQueue) +/* 00E284 7000D684 8D297728 */ lw $t1, %lo(__osRunQueue)($t1) +/* 00E288 7000D688 8F397730 */ lw $t9, %lo(__osRunningThread)($t9) +/* 00E28C 7000D68C 8D2A0004 */ lw $t2, 4($t1) +/* 00E290 7000D690 8F280004 */ lw $t0, 4($t9) +/* 00E294 7000D694 010A082A */ slt $at, $t0, $t2 +/* 00E298 7000D698 10200006 */ beqz $at, .L7000D6B4 +/* 00E29C 7000D69C 00000000 */ nop +/* 00E2A0 7000D6A0 240B0002 */ li $t3, 2 +/* 00E2A4 7000D6A4 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 00E2A8 7000D6A8 A72B0010 */ sh $t3, 0x10($t9) +/* 00E2AC 7000D6AC 0C0041EB */ jal __osEnqueueAndYield +/* 00E2B0 7000D6B0 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +.L7000D6B4: +/* 00E2B4 7000D6B4 0C006184 */ jal __osRestoreInt +/* 00E2B8 7000D6B8 02002025 */ move $a0, $s0 +/* 00E2BC 7000D6BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E2C0 7000D6C0 8FB00014 */ lw $s0, 0x14($sp) +/* 00E2C4 7000D6C4 8FB10018 */ lw $s1, 0x18($sp) +/* 00E2C8 7000D6C8 03E00008 */ jr $ra +/* 00E2CC 7000D6CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osStopThread.s b/src/libultra/osStopThread.s new file mode 100644 index 00000000..e2ac2eb6 --- /dev/null +++ b/src/libultra/osStopThread.s @@ -0,0 +1,63 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osStopThread +/* 00E340 7000D740 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00E344 7000D744 AFBF0024 */ sw $ra, 0x24($sp) +/* 00E348 7000D748 AFA40038 */ sw $a0, 0x38($sp) +/* 00E34C 7000D74C AFB20020 */ sw $s2, 0x20($sp) +/* 00E350 7000D750 AFB1001C */ sw $s1, 0x1c($sp) +/* 00E354 7000D754 0C00617C */ jal __osDisableInt +/* 00E358 7000D758 AFB00018 */ sw $s0, 0x18($sp) +/* 00E35C 7000D75C 8FAE0038 */ lw $t6, 0x38($sp) +/* 00E360 7000D760 00408025 */ move $s0, $v0 +/* 00E364 7000D764 15C00003 */ bnez $t6, .L7000D774 +/* 00E368 7000D768 00000000 */ nop +/* 00E36C 7000D76C 10000003 */ b .L7000D77C +/* 00E370 7000D770 24110004 */ li $s1, 4 +.L7000D774: +/* 00E374 7000D774 8FAF0038 */ lw $t7, 0x38($sp) +/* 00E378 7000D778 95F10010 */ lhu $s1, 0x10($t7) +.L7000D77C: +/* 00E37C 7000D77C 02209025 */ move $s2, $s1 +/* 00E380 7000D780 24010002 */ li $at, 2 +/* 00E384 7000D784 1241000F */ beq $s2, $at, .L7000D7C4 +/* 00E388 7000D788 24010004 */ li $at, 4 +/* 00E38C 7000D78C 12410005 */ beq $s2, $at, .L7000D7A4 +/* 00E390 7000D790 24010008 */ li $at, 8 +/* 00E394 7000D794 1241000B */ beq $s2, $at, .L7000D7C4 +/* 00E398 7000D798 00000000 */ nop +/* 00E39C 7000D79C 10000010 */ b .L7000D7E0 +/* 00E3A0 7000D7A0 00000000 */ nop +.L7000D7A4: +/* 00E3A4 7000D7A4 3C198002 */ lui $t9, %hi(__osRunningThread) +/* 00E3A8 7000D7A8 8F397730 */ lw $t9, %lo(__osRunningThread)($t9) +/* 00E3AC 7000D7AC 24180001 */ li $t8, 1 +/* 00E3B0 7000D7B0 00002025 */ move $a0, $zero +/* 00E3B4 7000D7B4 0C0041EB */ jal __osEnqueueAndYield +/* 00E3B8 7000D7B8 A7380010 */ sh $t8, 0x10($t9) +/* 00E3BC 7000D7BC 10000008 */ b .L7000D7E0 +/* 00E3C0 7000D7C0 00000000 */ nop +.L7000D7C4: +/* 00E3C4 7000D7C4 8FA90038 */ lw $t1, 0x38($sp) +/* 00E3C8 7000D7C8 24080001 */ li $t0, 1 +/* 00E3CC 7000D7CC A5280010 */ sh $t0, 0x10($t1) +/* 00E3D0 7000D7D0 8FAA0038 */ lw $t2, 0x38($sp) +/* 00E3D4 7000D7D4 8D440008 */ lw $a0, 8($t2) +/* 00E3D8 7000D7D8 0C0042A4 */ jal __osDequeueThread +/* 00E3DC 7000D7DC 01402825 */ move $a1, $t2 +.L7000D7E0: +/* 00E3E0 7000D7E0 0C006184 */ jal __osRestoreInt +/* 00E3E4 7000D7E4 02002025 */ move $a0, $s0 +/* 00E3E8 7000D7E8 8FBF0024 */ lw $ra, 0x24($sp) +/* 00E3EC 7000D7EC 8FB00018 */ lw $s0, 0x18($sp) +/* 00E3F0 7000D7F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 00E3F4 7000D7F4 8FB20020 */ lw $s2, 0x20($sp) +/* 00E3F8 7000D7F8 03E00008 */ jr $ra +/* 00E3FC 7000D7FC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/src/libultra/osUnmapTLB.s b/src/libultra/osUnmapTLB.s new file mode 100644 index 00000000..9eb76966 --- /dev/null +++ b/src/libultra/osUnmapTLB.s @@ -0,0 +1,26 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osUnmapTLB +/* 00DFD0 7000D3D0 40085000 */ mfc0 $t0, $10 +/* 00DFD4 7000D3D4 40840000 */ mtc0 $a0, $0 +/* 00DFD8 7000D3D8 3C098000 */ lui $t1, 0x8000 +/* 00DFDC 7000D3DC 40895000 */ mtc0 $t1, $10 +/* 00DFE0 7000D3E0 40801000 */ mtc0 $zero, $2 +/* 00DFE4 7000D3E4 40801800 */ mtc0 $zero, $3 +/* 00DFE8 7000D3E8 00000000 */ nop +/* 00DFEC 7000D3EC 42000002 */ tlbwi +/* 00DFF0 7000D3F0 00000000 */ nop +/* 00DFF4 7000D3F4 00000000 */ nop +/* 00DFF8 7000D3F8 00000000 */ nop +/* 00DFFC 7000D3FC 00000000 */ nop +/* 00E000 7000D400 40885000 */ mtc0 $t0, $10 +/* 00E004 7000D404 03E00008 */ jr $ra +/* 00E008 7000D408 00000000 */ nop + diff --git a/src/libultra/osViBlack.s b/src/libultra/osViBlack.s new file mode 100644 index 00000000..c3c1a995 --- /dev/null +++ b/src/libultra/osViBlack.s @@ -0,0 +1,40 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViBlack +/* 00EED0 7000E2D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00EED4 7000E2D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00EED8 7000E2D8 AFA40028 */ sw $a0, 0x28($sp) +/* 00EEDC 7000E2DC 0C00617C */ jal __osDisableInt +/* 00EEE0 7000E2E0 AFB00018 */ sw $s0, 0x18($sp) +/* 00EEE4 7000E2E4 93AE002B */ lbu $t6, 0x2b($sp) +/* 00EEE8 7000E2E8 00408025 */ move $s0, $v0 +/* 00EEEC 7000E2EC 11C00007 */ beqz $t6, .L7000E30C +/* 00EEF0 7000E2F0 00000000 */ nop +/* 00EEF4 7000E2F4 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00EEF8 7000E2F8 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00EEFC 7000E2FC 95F80000 */ lhu $t8, ($t7) +/* 00EF00 7000E300 37190020 */ ori $t9, $t8, 0x20 +/* 00EF04 7000E304 10000007 */ b .L7000E324 +/* 00EF08 7000E308 A5F90000 */ sh $t9, ($t7) +.L7000E30C: +/* 00EF0C 7000E30C 3C088003 */ lui $t0, %hi(__osViNext) +/* 00EF10 7000E310 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 00EF14 7000E314 2401FFDF */ li $at, -33 +/* 00EF18 7000E318 95090000 */ lhu $t1, ($t0) +/* 00EF1C 7000E31C 01215024 */ and $t2, $t1, $at +/* 00EF20 7000E320 A50A0000 */ sh $t2, ($t0) +.L7000E324: +/* 00EF24 7000E324 0C006184 */ jal __osRestoreInt +/* 00EF28 7000E328 02002025 */ move $a0, $s0 +/* 00EF2C 7000E32C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00EF30 7000E330 8FB00018 */ lw $s0, 0x18($sp) +/* 00EF34 7000E334 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00EF38 7000E338 03E00008 */ jr $ra +/* 00EF3C 7000E33C 00000000 */ nop diff --git a/src/libultra/osViGetCurrentFramebuffer.s b/src/libultra/osViGetCurrentFramebuffer.s new file mode 100644 index 00000000..8c23b8f4 --- /dev/null +++ b/src/libultra/osViGetCurrentFramebuffer.s @@ -0,0 +1,27 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osViGetCurrentFramebuffer +/* 00F010 7000E410 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00F014 7000E414 AFBF001C */ sw $ra, 0x1c($sp) +/* 00F018 7000E418 0C00617C */ jal __osDisableInt +/* 00F01C 7000E41C AFB00018 */ sw $s0, 0x18($sp) +/* 00F020 7000E420 3C0E8003 */ lui $t6, %hi(__osViCurr) +/* 00F024 7000E424 8DCE8040 */ lw $t6, %lo(__osViCurr)($t6) +/* 00F028 7000E428 00408025 */ move $s0, $v0 +/* 00F02C 7000E42C 02002025 */ move $a0, $s0 +/* 00F030 7000E430 8DCF0004 */ lw $t7, 4($t6) +/* 00F034 7000E434 0C006184 */ jal __osRestoreInt +/* 00F038 7000E438 AFAF0020 */ sw $t7, 0x20($sp) +/* 00F03C 7000E43C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00F040 7000E440 8FA20020 */ lw $v0, 0x20($sp) +/* 00F044 7000E444 8FB00018 */ lw $s0, 0x18($sp) +/* 00F048 7000E448 03E00008 */ jr $ra +/* 00F04C 7000E44C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osViGetNextFramebuffer.s b/src/libultra/osViGetNextFramebuffer.s new file mode 100644 index 00000000..1b339c29 --- /dev/null +++ b/src/libultra/osViGetNextFramebuffer.s @@ -0,0 +1,27 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osViGetNextFramebuffer +/* 00F050 7000E450 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00F054 7000E454 AFBF001C */ sw $ra, 0x1c($sp) +/* 00F058 7000E458 0C00617C */ jal __osDisableInt +/* 00F05C 7000E45C AFB00018 */ sw $s0, 0x18($sp) +/* 00F060 7000E460 3C0E8003 */ lui $t6, %hi(__osViNext) +/* 00F064 7000E464 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) +/* 00F068 7000E468 00408025 */ move $s0, $v0 +/* 00F06C 7000E46C 02002025 */ move $a0, $s0 +/* 00F070 7000E470 8DCF0004 */ lw $t7, 4($t6) +/* 00F074 7000E474 0C006184 */ jal __osRestoreInt +/* 00F078 7000E478 AFAF0020 */ sw $t7, 0x20($sp) +/* 00F07C 7000E47C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00F080 7000E480 8FA20020 */ lw $v0, 0x20($sp) +/* 00F084 7000E484 8FB00018 */ lw $s0, 0x18($sp) +/* 00F088 7000E488 03E00008 */ jr $ra +/* 00F08C 7000E48C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osViModeTable.s b/src/libultra/osViModeTable.s new file mode 100644 index 00000000..17862fc5 --- /dev/null +++ b/src/libultra/osViModeTable.s @@ -0,0 +1,224 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +.section .data +glabel osViModeTable +D_800269C0: +glabel osViModeTable_osViModeNtscLpn1 +.word 0, 0x320E, 0x140, 0x3E52239, 0x20D +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLpf1 +.word 0x1000000, 0x324E, 0x140, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x280, 0x1000400, 0x2301FD, 0xE0204, 2 +.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLan1 +.word 0x2000000, 0x311E, 0x140, 0x3E52239, 0x20D +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLaf1 +.word 0x3000000, 0x305E, 0x140, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x280, 0x1000400, 0x2301FD, 0xE0204, 2 +.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLpn2 +.word 0x4000000, 0x330F, 0x140, 0x3E52239, 0x20D +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLpf2 +.word 0x5000000, 0x324F, 0x140, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x500, 0x1000400, 0x2301FD, 0xE0204, 2 +.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLan2 +.word 0x6000000, 0x301F, 0x140, 0x3E52239, 0x20D +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscLaf2 +.word 0x7000000, 0x305F, 0x140, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x200, 0 +.word 0x500, 0x1000400, 0x2301FD, 0xE0204, 2 +.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHpn1 +.word 0x8000000, 0x324E, 0x500, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0x500, 0x400, 0x2301FD, 0xE0204, 2 +.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHpf1 +.word 0x9000000, 0x324E, 0x280, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0x500, 0x2000800, 0x2301FD, 0xE0204, 2 +.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHan1 +.word 0xA000000, 0x305E, 0x500, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0x500, 0x400, 0x2301FD, 0xE0204, 2 +.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHaf1 +.word 0xB000000, 0x305E, 0x280, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0x500, 0x2000800, 0x2301FD, 0xE0204, 2 +.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHpn2 +.word 0xC000000, 0x334F, 0x500, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0xA00, 0x400, 0x2301FD, 0xE0204, 2 +.word 0x1400, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeNtscHpf2 +.word 0xD000000, 0x324F, 0x280, 0x3E52239, 0x20C +.word 0xC15, 0xC150C15, 0x6C02EC, 0x400, 0 +.word 0xA00, 0x2000800, 0x2301FD, 0xE0204, 2 +.word 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModePalLpn1 +.word 0xE000000, 0x320E, 0x140, 0x404233A, 0x271 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 +.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 +glabel osViModeTable_osViModePalLpf1 +.word 0xF000000, 0x324E, 0x140, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x280, 0x1000400, 0x5D0237, 0x9026B, 2 +.word 0x280, 0x3000400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalLan1 +.word 0x10000000, 0x311E, 0x140, 0x404233A, 0x271 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 +.word 0x280, 0x400, 0x5F0239, 0x9026B, 2 +glabel osViModeTable_osViModePalLaf1 +.word 0x11000000, 0x305E, 0x140, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x280, 0x1000400, 0x5D0237, 0x9026B, 2 +.word 0x280, 0x3000400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalLpn2 +.word 0x12000000, 0x330F, 0x140, 0x404233A, 0x271 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 +.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 +glabel osViModeTable_osViModePalLpf2 +.word 0x13000000, 0x324F, 0x140, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x500, 0x1000400, 0x5D0237, 0x9026B, 2 +.word 0x500, 0x3000400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalLan2 +.word 0x14000000, 0x301F, 0x140, 0x404233A, 0x271 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 +.word 0x500, 0x400, 0x5F0239, 0x9026B, 2 +glabel osViModeTable_osViModePalLaf2 +.word 0x15000000, 0x305F, 0x140, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x200, 0 +.word 0x500, 0x1000400, 0x5D0237, 0x9026B, 2 +.word 0x500, 0x3000400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHpn1 +.word 0x16000000, 0x324E, 0x500, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0x500, 0x400, 0x5D0237, 0x9026B, 2 +.word 0xA00, 0x400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHpf1 +.word 0x17000000, 0x324E, 0x280, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0x500, 0x2000800, 0x5D0237, 0x9026B, 2 +.word 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHan1 +.word 0x18000000, 0x305E, 0x500, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0x500, 0x400, 0x5D0237, 0x9026B, 2 +.word 0xA00, 0x400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHaf1 +.word 0x19000000, 0x305E, 0x280, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0x500, 0x2000800, 0x5D0237, 0x9026B, 2 +.word 0xA00, 0x2000800, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHpn2 +.word 0x1A000000, 0x334F, 0x500, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0xA00, 0x400, 0x5D0237, 0x9026B, 2 +.word 0x1400, 0x400, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModePalHpf2 +.word 0x1B000000, 0x324F, 0x280, 0x404233A, 0x270 +.word 0x150C69, 0xC6F0C6E, 0x800300, 0x400, 0 +.word 0xA00, 0x2000800, 0x5D0237, 0x9026B, 2 +.word 0x1400, 0x2000800, 0x5F0239, 0xD0269, 2 +glabel osViModeTable_osViModeMpalLpn1 +.word 0x1C000000, 0x320E, 0x140, 0x4651E39, 0x20D +.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLpf1 +.word 0x1D000000, 0x324E, 0x140, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 +.word 0x280, 0x1000400, 0x2301FD, 0xB0202, 2 +.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLan1 +.word 0x1E000000, 0x311E, 0x140, 0x4651E39, 0x20D +.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x280, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLaf1 +.word 0x1F000000, 0x305E, 0x140, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 +.word 0x280, 0x1000400, 0x2301FD, 0xB0202, 2 +.word 0x280, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLpn2 +.word 0x20000000, 0x330F, 0x140, 0x4651E39, 0x20D +.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLpf2 +.word 0x21000000, 0x324F, 0x140, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 +.word 0x500, 0x1000400, 0x2301FD, 0xB0202, 2 +.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLan2 +.word 0x22000000, 0x301F, 0x140, 0x4651E39, 0x20D +.word 0x40C11, 0xC190C1A, 0x6C02EC, 0x200, 0 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +.word 0x500, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalLaf2 +.word 0x23000000, 0x305F, 0x140, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x200, 0 +.word 0x500, 0x1000400, 0x2301FD, 0xB0202, 2 +.word 0x500, 0x3000400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHpn1 +.word 0x24000000, 0x324E, 0x500, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0x500, 0x400, 0x2301FD, 0xB0202, 2 +.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHpf1 +.word 0x25000000, 0x324E, 0x280, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0x500, 0x2000800, 0x2301FD, 0xB0202, 2 +.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHan1 +.word 0x26000000, 0x305E, 0x500, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0x500, 0x400, 0x2301FD, 0xB0202, 2 +.word 0xA00, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHaf1 +.word 0x27000000, 0x305E, 0x280, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0x500, 0x2000800, 0x2301FD, 0xB0202, 2 +.word 0xA00, 0x2000800, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHpn2 +.word 0x28000000, 0x334F, 0x500, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0xA00, 0x400, 0x2301FD, 0xB0202, 2 +.word 0x1400, 0x400, 0x2501FF, 0xE0204, 2 +glabel osViModeTable_osViModeMpalHpf2 +.word 0x29000000, 0x324F, 0x280, 0x4651E39, 0x20C +.word 0xC10, 0xC1C0C1C, 0x6C02EC, 0x400, 0 +.word 0xA00, 0x2000800, 0x2301FD, 0xB0202, 2 +.word 0x1400, 0x2000800, 0x2501FF, 0xE0204, 2 + diff --git a/src/libultra/osViRepeatLine.s b/src/libultra/osViRepeatLine.s new file mode 100644 index 00000000..7bea1f45 --- /dev/null +++ b/src/libultra/osViRepeatLine.s @@ -0,0 +1,40 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViRepeatLine +/* 00EE60 7000E260 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00EE64 7000E264 AFBF001C */ sw $ra, 0x1c($sp) +/* 00EE68 7000E268 AFA40028 */ sw $a0, 0x28($sp) +/* 00EE6C 7000E26C 0C00617C */ jal __osDisableInt +/* 00EE70 7000E270 AFB00018 */ sw $s0, 0x18($sp) +/* 00EE74 7000E274 93AE002B */ lbu $t6, 0x2b($sp) +/* 00EE78 7000E278 00408025 */ move $s0, $v0 +/* 00EE7C 7000E27C 11C00007 */ beqz $t6, .L7000E29C +/* 00EE80 7000E280 00000000 */ nop +/* 00EE84 7000E284 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00EE88 7000E288 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00EE8C 7000E28C 95F80000 */ lhu $t8, ($t7) +/* 00EE90 7000E290 37190040 */ ori $t9, $t8, 0x40 +/* 00EE94 7000E294 10000007 */ b .L7000E2B4 +/* 00EE98 7000E298 A5F90000 */ sh $t9, ($t7) +.L7000E29C: +/* 00EE9C 7000E29C 3C088003 */ lui $t0, %hi(__osViNext) +/* 00EEA0 7000E2A0 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 00EEA4 7000E2A4 2401FFBF */ li $at, -65 +/* 00EEA8 7000E2A8 95090000 */ lhu $t1, ($t0) +/* 00EEAC 7000E2AC 01215024 */ and $t2, $t1, $at +/* 00EEB0 7000E2B0 A50A0000 */ sh $t2, ($t0) +.L7000E2B4: +/* 00EEB4 7000E2B4 0C006184 */ jal __osRestoreInt +/* 00EEB8 7000E2B8 02002025 */ move $a0, $s0 +/* 00EEBC 7000E2BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00EEC0 7000E2C0 8FB00018 */ lw $s0, 0x18($sp) +/* 00EEC4 7000E2C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00EEC8 7000E2C8 03E00008 */ jr $ra +/* 00EECC 7000E2CC 00000000 */ nop diff --git a/src/libultra/osViSetEvent.s b/src/libultra/osViSetEvent.s new file mode 100644 index 00000000..e0ae7cdc --- /dev/null +++ b/src/libultra/osViSetEvent.s @@ -0,0 +1,40 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osViSetEvent +/* 00E8C0 7000DCC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00E8C4 7000DCC4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00E8C8 7000DCC8 AFA40028 */ sw $a0, 0x28($sp) +/* 00E8CC 7000DCCC AFA5002C */ sw $a1, 0x2c($sp) +/* 00E8D0 7000DCD0 AFA60030 */ sw $a2, 0x30($sp) +/* 00E8D4 7000DCD4 0C00617C */ jal __osDisableInt +/* 00E8D8 7000DCD8 AFB00018 */ sw $s0, 0x18($sp) +/* 00E8DC 7000DCDC 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00E8E0 7000DCE0 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00E8E4 7000DCE4 8FAE0028 */ lw $t6, 0x28($sp) +/* 00E8E8 7000DCE8 3C198003 */ lui $t9, %hi(__osViNext) +/* 00E8EC 7000DCEC 3C098003 */ lui $t1, %hi(__osViNext) +/* 00E8F0 7000DCF0 ADEE0010 */ sw $t6, 0x10($t7) +/* 00E8F4 7000DCF4 8F398044 */ lw $t9, %lo(__osViNext)($t9) +/* 00E8F8 7000DCF8 8FB8002C */ lw $t8, 0x2c($sp) +/* 00E8FC 7000DCFC 00408025 */ move $s0, $v0 +/* 00E900 7000DD00 02002025 */ move $a0, $s0 +/* 00E904 7000DD04 AF380014 */ sw $t8, 0x14($t9) +/* 00E908 7000DD08 8D298044 */ lw $t1, %lo(__osViNext)($t1) +/* 00E90C 7000DD0C 8FA80030 */ lw $t0, 0x30($sp) +/* 00E910 7000DD10 0C006184 */ jal __osRestoreInt +/* 00E914 7000DD14 A5280002 */ sh $t0, 2($t1) +/* 00E918 7000DD18 8FBF001C */ lw $ra, 0x1c($sp) +/* 00E91C 7000DD1C 8FB00018 */ lw $s0, 0x18($sp) +/* 00E920 7000DD20 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00E924 7000DD24 03E00008 */ jr $ra +/* 00E928 7000DD28 00000000 */ nop + + \ No newline at end of file diff --git a/src/libultra/osViSetMode.s b/src/libultra/osViSetMode.s new file mode 100644 index 00000000..86ab2bfb --- /dev/null +++ b/src/libultra/osViSetMode.s @@ -0,0 +1,36 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViSetMode +/* 00EC60 7000E060 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00EC64 7000E064 AFBF001C */ sw $ra, 0x1c($sp) +/* 00EC68 7000E068 AFA40028 */ sw $a0, 0x28($sp) +/* 00EC6C 7000E06C 0C00617C */ jal __osDisableInt +/* 00EC70 7000E070 AFB00018 */ sw $s0, 0x18($sp) +/* 00EC74 7000E074 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00EC78 7000E078 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00EC7C 7000E07C 8FAE0028 */ lw $t6, 0x28($sp) +/* 00EC80 7000E080 3C198003 */ lui $t9, %hi(__osViNext) +/* 00EC84 7000E084 24180001 */ li $t8, 1 +/* 00EC88 7000E088 ADEE0008 */ sw $t6, 8($t7) +/* 00EC8C 7000E08C 8F398044 */ lw $t9, %lo(__osViNext)($t9) +/* 00EC90 7000E090 3C088003 */ lui $t0, %hi(__osViNext) +/* 00EC94 7000E094 00408025 */ move $s0, $v0 +/* 00EC98 7000E098 A7380000 */ sh $t8, ($t9) +/* 00EC9C 7000E09C 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 00ECA0 7000E0A0 02002025 */ move $a0, $s0 +/* 00ECA4 7000E0A4 8D090008 */ lw $t1, 8($t0) +/* 00ECA8 7000E0A8 8D2A0004 */ lw $t2, 4($t1) +/* 00ECAC 7000E0AC 0C006184 */ jal __osRestoreInt +/* 00ECB0 7000E0B0 AD0A000C */ sw $t2, 0xc($t0) +/* 00ECB4 7000E0B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00ECB8 7000E0B8 8FB00018 */ lw $s0, 0x18($sp) +/* 00ECBC 7000E0BC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00ECC0 7000E0C0 03E00008 */ jr $ra +/* 00ECC4 7000E0C4 00000000 */ nop diff --git a/src/libultra/osViSetSpecialFeatures.s b/src/libultra/osViSetSpecialFeatures.s new file mode 100644 index 00000000..712198d0 --- /dev/null +++ b/src/libultra/osViSetSpecialFeatures.s @@ -0,0 +1,128 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViSetSpecialFeatures +/* 0103B0 7000F7B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0103B4 7000F7B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0103B8 7000F7B8 AFA40028 */ sw $a0, 0x28($sp) +/* 0103BC 7000F7BC 0C00617C */ jal __osDisableInt +/* 0103C0 7000F7C0 AFB00018 */ sw $s0, 0x18($sp) +/* 0103C4 7000F7C4 8FAE0028 */ lw $t6, 0x28($sp) +/* 0103C8 7000F7C8 00408025 */ move $s0, $v0 +/* 0103CC 7000F7CC 31CF0001 */ andi $t7, $t6, 1 +/* 0103D0 7000F7D0 11E00006 */ beqz $t7, .L7000F7EC +/* 0103D4 7000F7D4 00000000 */ nop +/* 0103D8 7000F7D8 3C188003 */ lui $t8, %hi(__osViNext) +/* 0103DC 7000F7DC 8F188044 */ lw $t8, %lo(__osViNext)($t8) +/* 0103E0 7000F7E0 8F19000C */ lw $t9, 0xc($t8) +/* 0103E4 7000F7E4 37280008 */ ori $t0, $t9, 8 +/* 0103E8 7000F7E8 AF08000C */ sw $t0, 0xc($t8) +.L7000F7EC: +/* 0103EC 7000F7EC 8FA90028 */ lw $t1, 0x28($sp) +/* 0103F0 7000F7F0 312A0002 */ andi $t2, $t1, 2 +/* 0103F4 7000F7F4 11400007 */ beqz $t2, .L7000F814 +/* 0103F8 7000F7F8 00000000 */ nop +/* 0103FC 7000F7FC 3C0B8003 */ lui $t3, %hi(__osViNext) +/* 010400 7000F800 8D6B8044 */ lw $t3, %lo(__osViNext)($t3) +/* 010404 7000F804 2401FFF7 */ li $at, -9 +/* 010408 7000F808 8D6C000C */ lw $t4, 0xc($t3) +/* 01040C 7000F80C 01816824 */ and $t5, $t4, $at +/* 010410 7000F810 AD6D000C */ sw $t5, 0xc($t3) +.L7000F814: +/* 010414 7000F814 8FAE0028 */ lw $t6, 0x28($sp) +/* 010418 7000F818 31CF0004 */ andi $t7, $t6, 4 +/* 01041C 7000F81C 11E00006 */ beqz $t7, .L7000F838 +/* 010420 7000F820 00000000 */ nop +/* 010424 7000F824 3C198003 */ lui $t9, %hi(__osViNext) +/* 010428 7000F828 8F398044 */ lw $t9, %lo(__osViNext)($t9) +/* 01042C 7000F82C 8F28000C */ lw $t0, 0xc($t9) +/* 010430 7000F830 35180004 */ ori $t8, $t0, 4 +/* 010434 7000F834 AF38000C */ sw $t8, 0xc($t9) +.L7000F838: +/* 010438 7000F838 8FA90028 */ lw $t1, 0x28($sp) +/* 01043C 7000F83C 312A0008 */ andi $t2, $t1, 8 +/* 010440 7000F840 11400007 */ beqz $t2, .L7000F860 +/* 010444 7000F844 00000000 */ nop +/* 010448 7000F848 3C0C8003 */ lui $t4, %hi(__osViNext) +/* 01044C 7000F84C 8D8C8044 */ lw $t4, %lo(__osViNext)($t4) +/* 010450 7000F850 2401FFFB */ li $at, -5 +/* 010454 7000F854 8D8D000C */ lw $t5, 0xc($t4) +/* 010458 7000F858 01A15824 */ and $t3, $t5, $at +/* 01045C 7000F85C AD8B000C */ sw $t3, 0xc($t4) +.L7000F860: +/* 010460 7000F860 8FAE0028 */ lw $t6, 0x28($sp) +/* 010464 7000F864 31CF0010 */ andi $t7, $t6, 0x10 +/* 010468 7000F868 11E00006 */ beqz $t7, .L7000F884 +/* 01046C 7000F86C 00000000 */ nop +/* 010470 7000F870 3C088003 */ lui $t0, %hi(__osViNext) +/* 010474 7000F874 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 010478 7000F878 8D18000C */ lw $t8, 0xc($t0) +/* 01047C 7000F87C 37190010 */ ori $t9, $t8, 0x10 +/* 010480 7000F880 AD19000C */ sw $t9, 0xc($t0) +.L7000F884: +/* 010484 7000F884 8FA90028 */ lw $t1, 0x28($sp) +/* 010488 7000F888 312A0020 */ andi $t2, $t1, 0x20 +/* 01048C 7000F88C 11400007 */ beqz $t2, .L7000F8AC +/* 010490 7000F890 00000000 */ nop +/* 010494 7000F894 3C0D8003 */ lui $t5, %hi(__osViNext) +/* 010498 7000F898 8DAD8044 */ lw $t5, %lo(__osViNext)($t5) +/* 01049C 7000F89C 2401FFEF */ li $at, -17 +/* 0104A0 7000F8A0 8DAB000C */ lw $t3, 0xc($t5) +/* 0104A4 7000F8A4 01616024 */ and $t4, $t3, $at +/* 0104A8 7000F8A8 ADAC000C */ sw $t4, 0xc($t5) +.L7000F8AC: +/* 0104AC 7000F8AC 8FAE0028 */ lw $t6, 0x28($sp) +/* 0104B0 7000F8B0 31CF0040 */ andi $t7, $t6, 0x40 +/* 0104B4 7000F8B4 11E0000D */ beqz $t7, .L7000F8EC +/* 0104B8 7000F8B8 00000000 */ nop +/* 0104BC 7000F8BC 3C188003 */ lui $t8, %hi(__osViNext) +/* 0104C0 7000F8C0 8F188044 */ lw $t8, %lo(__osViNext)($t8) +/* 0104C4 7000F8C4 3C010001 */ lui $at, 1 +/* 0104C8 7000F8C8 3C098003 */ lui $t1, %hi(__osViNext) +/* 0104CC 7000F8CC 8F19000C */ lw $t9, 0xc($t8) +/* 0104D0 7000F8D0 03214025 */ or $t0, $t9, $at +/* 0104D4 7000F8D4 AF08000C */ sw $t0, 0xc($t8) +/* 0104D8 7000F8D8 8D298044 */ lw $t1, %lo(__osViNext)($t1) +/* 0104DC 7000F8DC 2401FCFF */ li $at, -769 +/* 0104E0 7000F8E0 8D2A000C */ lw $t2, 0xc($t1) +/* 0104E4 7000F8E4 01415824 */ and $t3, $t2, $at +/* 0104E8 7000F8E8 AD2B000C */ sw $t3, 0xc($t1) +.L7000F8EC: +/* 0104EC 7000F8EC 8FAC0028 */ lw $t4, 0x28($sp) +/* 0104F0 7000F8F0 318D0080 */ andi $t5, $t4, 0x80 +/* 0104F4 7000F8F4 11A00010 */ beqz $t5, .L7000F938 +/* 0104F8 7000F8F8 00000000 */ nop +/* 0104FC 7000F8FC 3C0E8003 */ lui $t6, %hi(__osViNext) +/* 010500 7000F900 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) +/* 010504 7000F904 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe +/* 010508 7000F908 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 01050C 7000F90C 8DCF000C */ lw $t7, 0xc($t6) +/* 010510 7000F910 3C088003 */ lui $t0, %hi(__osViNext) +/* 010514 7000F914 01E1C824 */ and $t9, $t7, $at +/* 010518 7000F918 ADD9000C */ sw $t9, 0xc($t6) +/* 01051C 7000F91C 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 010520 7000F920 8D0A0008 */ lw $t2, 8($t0) +/* 010524 7000F924 8D18000C */ lw $t8, 0xc($t0) +/* 010528 7000F928 8D4B0004 */ lw $t3, 4($t2) +/* 01052C 7000F92C 31690300 */ andi $t1, $t3, 0x300 +/* 010530 7000F930 03096025 */ or $t4, $t8, $t1 +/* 010534 7000F934 AD0C000C */ sw $t4, 0xc($t0) +.L7000F938: +/* 010538 7000F938 3C0D8003 */ lui $t5, %hi(__osViNext) +/* 01053C 7000F93C 8DAD8044 */ lw $t5, %lo(__osViNext)($t5) +/* 010540 7000F940 02002025 */ move $a0, $s0 +/* 010544 7000F944 95AF0000 */ lhu $t7, ($t5) +/* 010548 7000F948 35F90008 */ ori $t9, $t7, 8 +/* 01054C 7000F94C 0C006184 */ jal __osRestoreInt +/* 010550 7000F950 A5B90000 */ sh $t9, ($t5) +/* 010554 7000F954 8FBF001C */ lw $ra, 0x1c($sp) +/* 010558 7000F958 8FB00018 */ lw $s0, 0x18($sp) +/* 01055C 7000F95C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 010560 7000F960 03E00008 */ jr $ra +/* 010564 7000F964 00000000 */ nop diff --git a/src/libultra/osViSetXScale.s b/src/libultra/osViSetXScale.s new file mode 100644 index 00000000..9b21623f --- /dev/null +++ b/src/libultra/osViSetXScale.s @@ -0,0 +1,88 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViSetXScale +/* 00ECD0 7000E0D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00ECD4 7000E0D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00ECD8 7000E0D8 E7AC0028 */ swc1 $f12, 0x28($sp) +/* 00ECDC 7000E0DC AFB10018 */ sw $s1, 0x18($sp) +/* 00ECE0 7000E0E0 0C00617C */ jal __osDisableInt +/* 00ECE4 7000E0E4 AFB00014 */ sw $s0, 0x14($sp) +/* 00ECE8 7000E0E8 3C0E8003 */ lui $t6, %hi(__osViNext) +/* 00ECEC 7000E0EC 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) +/* 00ECF0 7000E0F0 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 00ECF4 7000E0F4 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00ECF8 7000E0F8 3C088003 */ lui $t0, %hi(__osViNext) +/* 00ECFC 7000E0FC E5C40018 */ swc1 $f4, 0x18($t6) +/* 00ED00 7000E100 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00ED04 7000E104 00408825 */ move $s1, $v0 +/* 00ED08 7000E108 95F80000 */ lhu $t8, ($t7) +/* 00ED0C 7000E10C 37190002 */ ori $t9, $t8, 2 +/* 00ED10 7000E110 A5F90000 */ sh $t9, ($t7) +/* 00ED14 7000E114 8D088044 */ lw $t0, %lo(__osViNext)($t0) +/* 00ED18 7000E118 8D090008 */ lw $t1, 8($t0) +/* 00ED1C 7000E11C C5060018 */ lwc1 $f6, 0x18($t0) +/* 00ED20 7000E120 8D300020 */ lw $s0, 0x20($t1) +/* 00ED24 7000E124 320A0FFF */ andi $t2, $s0, 0xfff +/* 00ED28 7000E128 01408025 */ move $s0, $t2 +/* 00ED2C 7000E12C 44904000 */ mtc1 $s0, $f8 +/* 00ED30 7000E130 06010005 */ bgez $s0, .L7000E148 +/* 00ED34 7000E134 468042A0 */ cvt.s.w $f10, $f8 +/* 00ED38 7000E138 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00ED3C 7000E13C 44818000 */ mtc1 $at, $f16 +/* 00ED40 7000E140 00000000 */ nop +/* 00ED44 7000E144 46105280 */ add.s $f10, $f10, $f16 +.L7000E148: +/* 00ED48 7000E148 460A3482 */ mul.s $f18, $f6, $f10 +/* 00ED4C 7000E14C 240C0001 */ li $t4, 1 +/* 00ED50 7000E150 444BF800 */ cfc1 $t3, $31 +/* 00ED54 7000E154 44CCF800 */ ctc1 $t4, $31 +/* 00ED58 7000E158 00000000 */ nop +/* 00ED5C 7000E15C 46009124 */ cvt.w.s $f4, $f18 +/* 00ED60 7000E160 444CF800 */ cfc1 $t4, $31 +/* 00ED64 7000E164 00000000 */ nop +/* 00ED68 7000E168 31810004 */ andi $at, $t4, 4 +/* 00ED6C 7000E16C 318C0078 */ andi $t4, $t4, 0x78 +/* 00ED70 7000E170 11800013 */ beqz $t4, .L7000E1C0 +/* 00ED74 7000E174 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 00ED78 7000E178 44812000 */ mtc1 $at, $f4 +/* 00ED7C 7000E17C 240C0001 */ li $t4, 1 +/* 00ED80 7000E180 46049101 */ sub.s $f4, $f18, $f4 +/* 00ED84 7000E184 44CCF800 */ ctc1 $t4, $31 +/* 00ED88 7000E188 00000000 */ nop +/* 00ED8C 7000E18C 46002124 */ cvt.w.s $f4, $f4 +/* 00ED90 7000E190 444CF800 */ cfc1 $t4, $31 +/* 00ED94 7000E194 00000000 */ nop +/* 00ED98 7000E198 31810004 */ andi $at, $t4, 4 +/* 00ED9C 7000E19C 318C0078 */ andi $t4, $t4, 0x78 +/* 00EDA0 7000E1A0 15800005 */ bnez $t4, .L7000E1B8 +/* 00EDA4 7000E1A4 00000000 */ nop +/* 00EDA8 7000E1A8 440C2000 */ mfc1 $t4, $f4 +/* 00EDAC 7000E1AC 3C018000 */ lui $at, 0x8000 +/* 00EDB0 7000E1B0 10000007 */ b .L7000E1D0 +/* 00EDB4 7000E1B4 01816025 */ or $t4, $t4, $at +.L7000E1B8: +/* 00EDB8 7000E1B8 10000005 */ b .L7000E1D0 +/* 00EDBC 7000E1BC 240CFFFF */ li $t4, -1 +.L7000E1C0: +/* 00EDC0 7000E1C0 440C2000 */ mfc1 $t4, $f4 +/* 00EDC4 7000E1C4 00000000 */ nop +/* 00EDC8 7000E1C8 0580FFFB */ bltz $t4, .L7000E1B8 +/* 00EDCC 7000E1CC 00000000 */ nop +.L7000E1D0: +/* 00EDD0 7000E1D0 44CBF800 */ ctc1 $t3, $31 +/* 00EDD4 7000E1D4 318D0FFF */ andi $t5, $t4, 0xfff +/* 00EDD8 7000E1D8 AD0D0020 */ sw $t5, 0x20($t0) +/* 00EDDC 7000E1DC 0C006184 */ jal __osRestoreInt +/* 00EDE0 7000E1E0 02202025 */ move $a0, $s1 +/* 00EDE4 7000E1E4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00EDE8 7000E1E8 8FB00014 */ lw $s0, 0x14($sp) +/* 00EDEC 7000E1EC 8FB10018 */ lw $s1, 0x18($sp) +/* 00EDF0 7000E1F0 03E00008 */ jr $ra +/* 00EDF4 7000E1F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/src/libultra/osViSetYScale.s b/src/libultra/osViSetYScale.s new file mode 100644 index 00000000..dada628f --- /dev/null +++ b/src/libultra/osViSetYScale.s @@ -0,0 +1,32 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osViSetYScale +/* 00EE00 7000E200 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00EE04 7000E204 AFBF001C */ sw $ra, 0x1c($sp) +/* 00EE08 7000E208 E7AC0028 */ swc1 $f12, 0x28($sp) +/* 00EE0C 7000E20C 0C00617C */ jal __osDisableInt +/* 00EE10 7000E210 AFB00018 */ sw $s0, 0x18($sp) +/* 00EE14 7000E214 3C0E8003 */ lui $t6, %hi(__osViNext) +/* 00EE18 7000E218 8DCE8044 */ lw $t6, %lo(__osViNext)($t6) +/* 00EE1C 7000E21C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 00EE20 7000E220 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00EE24 7000E224 00408025 */ move $s0, $v0 +/* 00EE28 7000E228 E5C40024 */ swc1 $f4, 0x24($t6) +/* 00EE2C 7000E22C 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00EE30 7000E230 02002025 */ move $a0, $s0 +/* 00EE34 7000E234 95F80000 */ lhu $t8, ($t7) +/* 00EE38 7000E238 37190004 */ ori $t9, $t8, 4 +/* 00EE3C 7000E23C 0C006184 */ jal __osRestoreInt +/* 00EE40 7000E240 A5F90000 */ sh $t9, ($t7) +/* 00EE44 7000E244 8FBF001C */ lw $ra, 0x1c($sp) +/* 00EE48 7000E248 8FB00018 */ lw $s0, 0x18($sp) +/* 00EE4C 7000E24C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00EE50 7000E250 03E00008 */ jr $ra +/* 00EE54 7000E254 00000000 */ nop diff --git a/src/libultra/osViSwapBuffer.s b/src/libultra/osViSwapBuffer.s new file mode 100644 index 00000000..46b439bd --- /dev/null +++ b/src/libultra/osViSwapBuffer.s @@ -0,0 +1,31 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +glabel osViSwapBuffer +/* 00F090 7000E490 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00F094 7000E494 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F098 7000E498 0C00617C */ jal __osDisableInt +/* 00F09C 7000E49C AFA40020 */ sw $a0, 0x20($sp) +/* 00F0A0 7000E4A0 3C0F8003 */ lui $t7, %hi(__osViNext) +/* 00F0A4 7000E4A4 8DEF8044 */ lw $t7, %lo(__osViNext)($t7) +/* 00F0A8 7000E4A8 8FAE0020 */ lw $t6, 0x20($sp) +/* 00F0AC 7000E4AC AFA2001C */ sw $v0, 0x1c($sp) +/* 00F0B0 7000E4B0 3C188003 */ lui $t8, %hi(__osViNext) +/* 00F0B4 7000E4B4 ADEE0004 */ sw $t6, 4($t7) +/* 00F0B8 7000E4B8 8F188044 */ lw $t8, %lo(__osViNext)($t8) +/* 00F0BC 7000E4BC 97190000 */ lhu $t9, ($t8) +/* 00F0C0 7000E4C0 37280010 */ ori $t0, $t9, 0x10 +/* 00F0C4 7000E4C4 A7080000 */ sh $t0, ($t8) +/* 00F0C8 7000E4C8 0C006184 */ jal __osRestoreInt +/* 00F0CC 7000E4CC 8FA4001C */ lw $a0, 0x1c($sp) +/* 00F0D0 7000E4D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F0D4 7000E4D4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00F0D8 7000E4D8 03E00008 */ jr $ra +/* 00F0DC 7000E4DC 00000000 */ nop diff --git a/src/libultra/osVirtualToPhysical.s b/src/libultra/osVirtualToPhysical.s new file mode 100644 index 00000000..f5586466 --- /dev/null +++ b/src/libultra/osVirtualToPhysical.s @@ -0,0 +1,44 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osVirtualToPhysical +/* 00F4B0 7000E8B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F4B4 7000E8B4 AFA40018 */ sw $a0, 0x18($sp) +/* 00F4B8 7000E8B8 8FAE0018 */ lw $t6, 0x18($sp) +/* 00F4BC 7000E8BC 3C018000 */ lui $at, 0x8000 +/* 00F4C0 7000E8C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F4C4 7000E8C4 01C1082B */ sltu $at, $t6, $at +/* 00F4C8 7000E8C8 14200007 */ bnez $at, .L7000E8E8 +/* 00F4CC 7000E8CC 3C01A000 */ lui $at, 0xa000 +/* 00F4D0 7000E8D0 01C1082B */ sltu $at, $t6, $at +/* 00F4D4 7000E8D4 10200004 */ beqz $at, .L7000E8E8 +/* 00F4D8 7000E8D8 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 00F4DC 7000E8DC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 00F4E0 7000E8E0 1000000E */ b .L7000E91C +/* 00F4E4 7000E8E4 01C11024 */ and $v0, $t6, $at +.L7000E8E8: +/* 00F4E8 7000E8E8 8FAF0018 */ lw $t7, 0x18($sp) +/* 00F4EC 7000E8EC 3C01A000 */ lui $at, 0xa000 +/* 00F4F0 7000E8F0 01E1082B */ sltu $at, $t7, $at +/* 00F4F4 7000E8F4 14200007 */ bnez $at, .L7000E914 +/* 00F4F8 7000E8F8 3C01C000 */ lui $at, 0xc000 +/* 00F4FC 7000E8FC 01E1082B */ sltu $at, $t7, $at +/* 00F500 7000E900 10200004 */ beqz $at, .L7000E914 +/* 00F504 7000E904 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 00F508 7000E908 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 00F50C 7000E90C 10000003 */ b .L7000E91C +/* 00F510 7000E910 01E11024 */ and $v0, $t7, $at +.L7000E914: +/* 00F514 7000E914 0C006408 */ jal __osProbeTLB +/* 00F518 7000E918 8FA40018 */ lw $a0, 0x18($sp) +.L7000E91C: +/* 00F51C 7000E91C 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F520 7000E920 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00F524 7000E924 03E00008 */ jr $ra +/* 00F528 7000E928 00000000 */ nop diff --git a/src/libultra/osWritebackDCache.s b/src/libultra/osWritebackDCache.s new file mode 100644 index 00000000..3cba7d8e --- /dev/null +++ b/src/libultra/osWritebackDCache.s @@ -0,0 +1,44 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osWritebackDCache +/* 0117D0 70010BD0 18A00011 */ blez $a1, .L70010C18 +/* 0117D4 70010BD4 00000000 */ nop +/* 0117D8 70010BD8 240B2000 */ li $t3, 8192 +/* 0117DC 70010BDC 00AB082B */ sltu $at, $a1, $t3 +/* 0117E0 70010BE0 1020000F */ beqz $at, .L70010C20 +/* 0117E4 70010BE4 00000000 */ nop +/* 0117E8 70010BE8 00804025 */ move $t0, $a0 +/* 0117EC 70010BEC 00854821 */ addu $t1, $a0, $a1 +/* 0117F0 70010BF0 0109082B */ sltu $at, $t0, $t1 +/* 0117F4 70010BF4 10200008 */ beqz $at, .L70010C18 +/* 0117F8 70010BF8 00000000 */ nop +/* 0117FC 70010BFC 310A000F */ andi $t2, $t0, 0xf +/* 011800 70010C00 2529FFF0 */ addiu $t1, $t1, -0x10 +/* 011804 70010C04 010A4023 */ subu $t0, $t0, $t2 +.L70010C08: +/* 011808 70010C08 BD190000 */ cache 0x19, ($t0) +/* 01180C 70010C0C 0109082B */ sltu $at, $t0, $t1 +/* 011810 70010C10 1420FFFD */ bnez $at, .L70010C08 +/* 011814 70010C14 25080010 */ addiu $t0, $t0, 0x10 +.L70010C18: +/* 011818 70010C18 03E00008 */ jr $ra +/* 01181C 70010C1C 00000000 */ nop + +.L70010C20: +/* 011820 70010C20 3C088000 */ lui $t0, 0x8000 +/* 011824 70010C24 010B4821 */ addu $t1, $t0, $t3 +/* 011828 70010C28 2529FFF0 */ addiu $t1, $t1, -0x10 +.L70010C2C: +/* 01182C 70010C2C BD010000 */ cache 1, ($t0) +/* 011830 70010C30 0109082B */ sltu $at, $t0, $t1 +/* 011834 70010C34 1420FFFD */ bnez $at, .L70010C2C +/* 011838 70010C38 25080010 */ addiu $t0, $t0, 0x10 +/* 01183C 70010C3C 03E00008 */ jr $ra +/* 011840 70010C40 00000000 */ nop diff --git a/src/libultra/osWritebackDCacheAll.s b/src/libultra/osWritebackDCacheAll.s new file mode 100644 index 00000000..14aafbb9 --- /dev/null +++ b/src/libultra/osWritebackDCacheAll.s @@ -0,0 +1,21 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osWritebackDCacheAll +/* 00DF20 7000D320 3C088000 */ lui $t0, 0x8000 +/* 00DF24 7000D324 240A2000 */ li $t2, 8192 +/* 00DF28 7000D328 010A4821 */ addu $t1, $t0, $t2 +/* 00DF2C 7000D32C 2529FFF0 */ addiu $t1, $t1, -0x10 +.L7000D330: +/* 00DF30 7000D330 BD010000 */ cache 1, ($t0) +/* 00DF34 7000D334 0109082B */ sltu $at, $t0, $t1 +/* 00DF38 7000D338 1420FFFD */ bnez $at, .L7000D330 +/* 00DF3C 7000D33C 25080010 */ addiu $t0, $t0, 0x10 +/* 00DF40 7000D340 03E00008 */ jr $ra +/* 00DF44 7000D344 00000000 */ nop diff --git a/src/libultra/osYieldThread.s b/src/libultra/osYieldThread.s new file mode 100644 index 00000000..55e46169 --- /dev/null +++ b/src/libultra/osYieldThread.s @@ -0,0 +1,29 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel osYieldThread +/* 0116D0 70010AD0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0116D4 70010AD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0116D8 70010AD8 0C00617C */ jal __osDisableInt +/* 0116DC 70010ADC AFB00018 */ sw $s0, 0x18($sp) +/* 0116E0 70010AE0 3C0F8002 */ lui $t7, %hi(__osRunningThread) +/* 0116E4 70010AE4 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7) +/* 0116E8 70010AE8 240E0002 */ li $t6, 2 +/* 0116EC 70010AEC 3C048002 */ lui $a0, %hi(__osRunQueue) +/* 0116F0 70010AF0 00408025 */ move $s0, $v0 +/* 0116F4 70010AF4 24847728 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, 0x7728 +/* 0116F8 70010AF8 0C0041EB */ jal __osEnqueueAndYield +/* 0116FC 70010AFC A5EE0010 */ sh $t6, 0x10($t7) +/* 011700 70010B00 0C006184 */ jal __osRestoreInt +/* 011704 70010B04 02002025 */ move $a0, $s0 +/* 011708 70010B08 8FBF001C */ lw $ra, 0x1c($sp) +/* 01170C 70010B0C 8FB00018 */ lw $s0, 0x18($sp) +/* 011710 70010B10 27BD0028 */ addiu $sp, $sp, 0x28 +/* 011714 70010B14 03E00008 */ jr $ra +/* 011718 70010B18 00000000 */ nop diff --git a/src/libultra/string.s b/src/libultra/string.s new file mode 100644 index 00000000..bef06d19 --- /dev/null +++ b/src/libultra/string.s @@ -0,0 +1,59 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" +glabel memcpy +/* 014450 70013850 00801025 */ move $v0, $a0 +/* 014454 70013854 10C00007 */ beqz $a2, .L70013874 +/* 014458 70013858 00A01825 */ move $v1, $a1 +.L7001385C: +/* 01445C 7001385C 906E0000 */ lbu $t6, ($v1) +/* 014460 70013860 24C6FFFF */ addiu $a2, $a2, -1 +/* 014464 70013864 24420001 */ addiu $v0, $v0, 1 +/* 014468 70013868 24630001 */ addiu $v1, $v1, 1 +/* 01446C 7001386C 14C0FFFB */ bnez $a2, .L7001385C +/* 014470 70013870 A04EFFFF */ sb $t6, -1($v0) +.L70013874: +/* 014474 70013874 03E00008 */ jr $ra +/* 014478 70013878 00801025 */ move $v0, $a0 + +glabel strlen +/* 01447C 7001387C 908E0000 */ lbu $t6, ($a0) +/* 014480 70013880 00801825 */ move $v1, $a0 +/* 014484 70013884 11C00005 */ beqz $t6, .L7001389C +/* 014488 70013888 00000000 */ nop +/* 01448C 7001388C 906F0001 */ lbu $t7, 1($v1) +.L70013890: +/* 014490 70013890 24630001 */ addiu $v1, $v1, 1 +/* 014494 70013894 55E0FFFE */ bnezl $t7, .L70013890 +/* 014498 70013898 906F0001 */ lbu $t7, 1($v1) +.L7001389C: +/* 01449C 7001389C 03E00008 */ jr $ra +/* 0144A0 700138A0 00641023 */ subu $v0, $v1, $a0 + +glabel strchr +/* 0144A4 700138A4 90830000 */ lbu $v1, ($a0) +/* 0144A8 700138A8 30AE00FF */ andi $t6, $a1, 0xff +/* 0144AC 700138AC 30A200FF */ andi $v0, $a1, 0xff +/* 0144B0 700138B0 51C3000A */ beql $t6, $v1, .L700138DC +/* 0144B4 700138B4 00801025 */ move $v0, $a0 +.L700138B8: +/* 0144B8 700138B8 54600004 */ bnezl $v1, .L700138CC +/* 0144BC 700138BC 90830001 */ lbu $v1, 1($a0) +/* 0144C0 700138C0 03E00008 */ jr $ra +/* 0144C4 700138C4 00001025 */ move $v0, $zero + +/* 0144C8 700138C8 90830001 */ lbu $v1, 1($a0) +.L700138CC: +/* 0144CC 700138CC 24840001 */ addiu $a0, $a0, 1 +/* 0144D0 700138D0 1443FFF9 */ bne $v0, $v1, .L700138B8 +/* 0144D4 700138D4 00000000 */ nop +/* 0144D8 700138D8 00801025 */ move $v0, $a0 +.L700138DC: +/* 0144DC 700138DC 03E00008 */ jr $ra +/* 0144E0 700138E0 00000000 */ nop diff --git a/src/libultra/syn.s b/src/libultra/syn.s new file mode 100644 index 00000000..d22e06c4 --- /dev/null +++ b/src/libultra/syn.s @@ -0,0 +1,493 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 + +.include "macros.inc" + + +.section .text, "ax" + +/* 00FBC0 7000EFC0 03E00008 */ jr $ra +/* 00FBC4 7000EFC4 00000000 */ nop + +glabel _timeToSamples +/* 00FBC8 7000EFC8 8C8E0044 */ lw $t6, 0x44($a0) +/* 00FBCC 7000EFCC 44852000 */ mtc1 $a1, $f4 +/* 00FBD0 7000EFD0 3C018003 */ lui $at, %hi(F64_80029420) +/* 00FBD4 7000EFD4 448E4000 */ mtc1 $t6, $f8 +/* 00FBD8 7000EFD8 468021A0 */ cvt.s.w $f6, $f4 +/* 00FBDC 7000EFDC D4249420 */ ldc1 $f4, %lo(F64_80029420)($at) +/* 00FBE0 7000EFE0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 00FBE4 7000EFE4 44813800 */ mtc1 $at, $f7 +/* 00FBE8 7000EFE8 2401FFF0 */ li $at, -16 +/* 00FBEC 7000EFEC 468042A0 */ cvt.s.w $f10, $f8 +/* 00FBF0 7000EFF0 460A3402 */ mul.s $f16, $f6, $f10 +/* 00FBF4 7000EFF4 44803000 */ mtc1 $zero, $f6 +/* 00FBF8 7000EFF8 460084A1 */ cvt.d.s $f18, $f16 +/* 00FBFC 7000EFFC 46249203 */ div.d $f8, $f18, $f4 +/* 00FC00 7000F000 46264280 */ add.d $f10, $f8, $f6 +/* 00FC04 7000F004 46205020 */ cvt.s.d $f0, $f10 +/* 00FC08 7000F008 4600040D */ trunc.w.s $f16, $f0 +/* 00FC0C 7000F00C 44028000 */ mfc1 $v0, $f16 +/* 00FC10 7000F010 00000000 */ nop +/* 00FC14 7000F014 0041C024 */ and $t8, $v0, $at +/* 00FC18 7000F018 03E00008 */ jr $ra +/* 00FC1C 7000F01C 03001025 */ move $v0, $t8 + +glabel _freePVoice +/* 00FC20 7000F020 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00FC24 7000F024 AFBF0014 */ sw $ra, 0x14($sp) +/* 00FC28 7000F028 AFA40018 */ sw $a0, 0x18($sp) +/* 00FC2C 7000F02C AFA5001C */ sw $a1, 0x1c($sp) +/* 00FC30 7000F030 0C003AA4 */ jal alUnlink +/* 00FC34 7000F034 00A02025 */ move $a0, $a1 +/* 00FC38 7000F038 8FA50018 */ lw $a1, 0x18($sp) +/* 00FC3C 7000F03C 8FA4001C */ lw $a0, 0x1c($sp) +/* 00FC40 7000F040 0C003AB0 */ jal alLink +/* 00FC44 7000F044 24A50014 */ addiu $a1, $a1, 0x14 +/* 00FC48 7000F048 8FBF0014 */ lw $ra, 0x14($sp) +/* 00FC4C 7000F04C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00FC50 7000F050 03E00008 */ jr $ra +/* 00FC54 7000F054 00000000 */ nop + +glabel _collectPVoices +/* 00FC58 7000F058 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00FC5C 7000F05C AFBF0024 */ sw $ra, 0x24($sp) +/* 00FC60 7000F060 AFB20020 */ sw $s2, 0x20($sp) +/* 00FC64 7000F064 AFB1001C */ sw $s1, 0x1c($sp) +/* 00FC68 7000F068 AFB00018 */ sw $s0, 0x18($sp) +/* 00FC6C 7000F06C 8C900014 */ lw $s0, 0x14($a0) +/* 00FC70 7000F070 00808825 */ move $s1, $a0 +/* 00FC74 7000F074 24920004 */ addiu $s2, $a0, 4 +/* 00FC78 7000F078 5200000A */ beql $s0, $zero, .L7000F0A4 +/* 00FC7C 7000F07C 8FBF0024 */ lw $ra, 0x24($sp) +.L7000F080: +/* 00FC80 7000F080 0C003AA4 */ jal alUnlink +/* 00FC84 7000F084 02002025 */ move $a0, $s0 +/* 00FC88 7000F088 02002025 */ move $a0, $s0 +/* 00FC8C 7000F08C 0C003AB0 */ jal alLink +/* 00FC90 7000F090 02402825 */ move $a1, $s2 +/* 00FC94 7000F094 8E300014 */ lw $s0, 0x14($s1) +/* 00FC98 7000F098 1600FFF9 */ bnez $s0, .L7000F080 +/* 00FC9C 7000F09C 00000000 */ nop +/* 00FCA0 7000F0A0 8FBF0024 */ lw $ra, 0x24($sp) +.L7000F0A4: +/* 00FCA4 7000F0A4 8FB00018 */ lw $s0, 0x18($sp) +/* 00FCA8 7000F0A8 8FB1001C */ lw $s1, 0x1c($sp) +/* 00FCAC 7000F0AC 8FB20020 */ lw $s2, 0x20($sp) +/* 00FCB0 7000F0B0 03E00008 */ jr $ra +/* 00FCB4 7000F0B4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel __freeParam +/* 00FCB8 7000F0B8 3C028002 */ lui $v0, %hi(alGlobals) +/* 00FCBC 7000F0BC 8C4276E0 */ lw $v0, %lo(alGlobals)($v0) +/* 00FCC0 7000F0C0 8C4E002C */ lw $t6, 0x2c($v0) +/* 00FCC4 7000F0C4 AC8E0000 */ sw $t6, ($a0) +/* 00FCC8 7000F0C8 03E00008 */ jr $ra +/* 00FCCC 7000F0CC AC44002C */ sw $a0, 0x2c($v0) + +glabel __allocParam +/* 00FCD0 7000F0D0 3C028002 */ lui $v0, %hi(alGlobals) +/* 00FCD4 7000F0D4 8C4276E0 */ lw $v0, %lo(alGlobals)($v0) +/* 00FCD8 7000F0D8 00001825 */ move $v1, $zero +/* 00FCDC 7000F0DC 8C44002C */ lw $a0, 0x2c($v0) +/* 00FCE0 7000F0E0 10800005 */ beqz $a0, .L7000F0F8 +/* 00FCE4 7000F0E4 00000000 */ nop +/* 00FCE8 7000F0E8 8C8E0000 */ lw $t6, ($a0) +/* 00FCEC 7000F0EC 00801825 */ move $v1, $a0 +/* 00FCF0 7000F0F0 AC4E002C */ sw $t6, 0x2c($v0) +/* 00FCF4 7000F0F4 AC800000 */ sw $zero, ($a0) +.L7000F0F8: +/* 00FCF8 7000F0F8 03E00008 */ jr $ra +/* 00FCFC 7000F0FC 00601025 */ move $v0, $v1 + +/* 00FD00 7000F100 03E00008 */ jr $ra +/* 00FD04 7000F104 00000000 */ nop + +glabel alAudioFrame +/* 00FD08 7000F108 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00FD0C 7000F10C AFB10030 */ sw $s1, 0x30($sp) +/* 00FD10 7000F110 3C118002 */ lui $s1, %hi(alGlobals) +/* 00FD14 7000F114 8E3176E0 */ lw $s1, %lo(alGlobals)($s1) +/* 00FD18 7000F118 AFBF004C */ sw $ra, 0x4c($sp) +/* 00FD1C 7000F11C AFB70048 */ sw $s7, 0x48($sp) +/* 00FD20 7000F120 AFB60044 */ sw $s6, 0x44($sp) +/* 00FD24 7000F124 AFB50040 */ sw $s5, 0x40($sp) +/* 00FD28 7000F128 AFB4003C */ sw $s4, 0x3c($sp) +/* 00FD2C 7000F12C AFB30038 */ sw $s3, 0x38($sp) +/* 00FD30 7000F130 AFB20034 */ sw $s2, 0x34($sp) +/* 00FD34 7000F134 AFB0002C */ sw $s0, 0x2c($sp) +/* 00FD38 7000F138 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 00FD3C 7000F13C F7B40018 */ sdc1 $f20, 0x18($sp) +/* 00FD40 7000F140 AFA400B8 */ sw $a0, 0xb8($sp) +/* 00FD44 7000F144 AFA500BC */ sw $a1, 0xbc($sp) +/* 00FD48 7000F148 A7A000AA */ sh $zero, 0xaa($sp) +/* 00FD4C 7000F14C 8E2F0000 */ lw $t7, ($s1) +/* 00FD50 7000F150 00E09825 */ move $s3, $a3 +/* 00FD54 7000F154 0080A025 */ move $s4, $a0 +/* 00FD58 7000F158 15E00004 */ bnez $t7, .L7000F16C +/* 00FD5C 7000F15C 00C0A825 */ move $s5, $a2 +/* 00FD60 7000F160 ACA00000 */ sw $zero, ($a1) +/* 00FD64 7000F164 10000081 */ b .L7000F36C +/* 00FD68 7000F168 00801025 */ move $v0, $a0 +.L7000F16C: +/* 00FD6C 7000F16C AFA000B4 */ sw $zero, 0xb4($sp) +/* 00FD70 7000F170 8E220000 */ lw $v0, ($s1) +/* 00FD74 7000F174 3C037FFF */ lui $v1, (0x7FFFFFFF >> 16) # lui $v1, 0x7fff +/* 00FD78 7000F178 3463FFFF */ ori $v1, (0x7FFFFFFF & 0xFFFF) # ori $v1, $v1, 0xffff +/* 00FD7C 7000F17C 1040000E */ beqz $v0, .L7000F1B8 +/* 00FD80 7000F180 2412FFF0 */ li $s2, -16 +/* 00FD84 7000F184 8E240020 */ lw $a0, 0x20($s1) +/* 00FD88 7000F188 8C590010 */ lw $t9, 0x10($v0) +.L7000F18C: +/* 00FD8C 7000F18C 03244023 */ subu $t0, $t9, $a0 +/* 00FD90 7000F190 0103082A */ slt $at, $t0, $v1 +/* 00FD94 7000F194 50200006 */ beql $at, $zero, .L7000F1B0 +/* 00FD98 7000F198 8C420000 */ lw $v0, ($v0) +/* 00FD9C 7000F19C AFA200B4 */ sw $v0, 0xb4($sp) +/* 00FDA0 7000F1A0 8C490010 */ lw $t1, 0x10($v0) +/* 00FDA4 7000F1A4 8E240020 */ lw $a0, 0x20($s1) +/* 00FDA8 7000F1A8 01241823 */ subu $v1, $t1, $a0 +/* 00FDAC 7000F1AC 8C420000 */ lw $v0, ($v0) +.L7000F1B0: +/* 00FDB0 7000F1B0 5440FFF6 */ bnezl $v0, .L7000F18C +/* 00FDB4 7000F1B4 8C590010 */ lw $t9, 0x10($v0) +.L7000F1B8: +/* 00FDB8 7000F1B8 8FAA00B4 */ lw $t2, 0xb4($sp) +/* 00FDBC 7000F1BC 8E240020 */ lw $a0, 0x20($s1) +/* 00FDC0 7000F1C0 8D420010 */ lw $v0, 0x10($t2) +/* 00FDC4 7000F1C4 00445823 */ subu $t3, $v0, $a0 +/* 00FDC8 7000F1C8 0173082A */ slt $at, $t3, $s3 +/* 00FDCC 7000F1CC 10200038 */ beqz $at, .L7000F2B0 +/* 00FDD0 7000F1D0 AE22001C */ sw $v0, 0x1c($s1) +/* 00FDD4 7000F1D4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 00FDD8 7000F1D8 4481B800 */ mtc1 $at, $f23 +/* 00FDDC 7000F1DC 3C018003 */ lui $at, %hi(F64_80029428) +/* 00FDE0 7000F1E0 4480B000 */ mtc1 $zero, $f22 +/* 00FDE4 7000F1E4 D4349428 */ ldc1 $f20, %lo(F64_80029428)($at) +.L7000F1E8: +/* 00FDE8 7000F1E8 8E2C001C */ lw $t4, 0x1c($s1) +/* 00FDEC 7000F1EC 3C107FFF */ lui $s0, (0x7FFFFFFF >> 16) # lui $s0, 0x7fff +/* 00FDF0 7000F1F0 3610FFFF */ ori $s0, (0x7FFFFFFF & 0xFFFF) # ori $s0, $s0, 0xffff +/* 00FDF4 7000F1F4 01926824 */ and $t5, $t4, $s2 +/* 00FDF8 7000F1F8 AE2D001C */ sw $t5, 0x1c($s1) +/* 00FDFC 7000F1FC 8FA400B4 */ lw $a0, 0xb4($sp) +/* 00FE00 7000F200 8C990008 */ lw $t9, 8($a0) +/* 00FE04 7000F204 0320F809 */ jalr $t9 +/* 00FE08 7000F208 00000000 */ nop +/* 00FE0C 7000F20C 8E380044 */ lw $t8, 0x44($s1) +/* 00FE10 7000F210 44822000 */ mtc1 $v0, $f4 +/* 00FE14 7000F214 8FA800B4 */ lw $t0, 0xb4($sp) +/* 00FE18 7000F218 44984000 */ mtc1 $t8, $f8 +/* 00FE1C 7000F21C 468021A0 */ cvt.s.w $f6, $f4 +/* 00FE20 7000F220 8D090010 */ lw $t1, 0x10($t0) +/* 00FE24 7000F224 468042A0 */ cvt.s.w $f10, $f8 +/* 00FE28 7000F228 460A3402 */ mul.s $f16, $f6, $f10 +/* 00FE2C 7000F22C 460084A1 */ cvt.d.s $f18, $f16 +/* 00FE30 7000F230 46349103 */ div.d $f4, $f18, $f20 +/* 00FE34 7000F234 46362200 */ add.d $f8, $f4, $f22 +/* 00FE38 7000F238 46204020 */ cvt.s.d $f0, $f8 +/* 00FE3C 7000F23C 4600018D */ trunc.w.s $f6, $f0 +/* 00FE40 7000F240 44023000 */ mfc1 $v0, $f6 +/* 00FE44 7000F244 00000000 */ nop +/* 00FE48 7000F248 01225021 */ addu $t2, $t1, $v0 +/* 00FE4C 7000F24C AD0A0010 */ sw $t2, 0x10($t0) +/* 00FE50 7000F250 AFA000B4 */ sw $zero, 0xb4($sp) +/* 00FE54 7000F254 8E230000 */ lw $v1, ($s1) +/* 00FE58 7000F258 5060000F */ beql $v1, $zero, .L7000F298 +/* 00FE5C 7000F25C 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 00FE60 7000F260 8E240020 */ lw $a0, 0x20($s1) +/* 00FE64 7000F264 8C6B0010 */ lw $t3, 0x10($v1) +.L7000F268: +/* 00FE68 7000F268 01646023 */ subu $t4, $t3, $a0 +/* 00FE6C 7000F26C 0190082A */ slt $at, $t4, $s0 +/* 00FE70 7000F270 50200006 */ beql $at, $zero, .L7000F28C +/* 00FE74 7000F274 8C630000 */ lw $v1, ($v1) +/* 00FE78 7000F278 AFA300B4 */ sw $v1, 0xb4($sp) +/* 00FE7C 7000F27C 8C6D0010 */ lw $t5, 0x10($v1) +/* 00FE80 7000F280 8E240020 */ lw $a0, 0x20($s1) +/* 00FE84 7000F284 01A48023 */ subu $s0, $t5, $a0 +/* 00FE88 7000F288 8C630000 */ lw $v1, ($v1) +.L7000F28C: +/* 00FE8C 7000F28C 5460FFF6 */ bnezl $v1, .L7000F268 +/* 00FE90 7000F290 8C6B0010 */ lw $t3, 0x10($v1) +/* 00FE94 7000F294 8FAF00B4 */ lw $t7, 0xb4($sp) +.L7000F298: +/* 00FE98 7000F298 8E240020 */ lw $a0, 0x20($s1) +/* 00FE9C 7000F29C 8DE20010 */ lw $v0, 0x10($t7) +/* 00FEA0 7000F2A0 0044C823 */ subu $t9, $v0, $a0 +/* 00FEA4 7000F2A4 0333082A */ slt $at, $t9, $s3 +/* 00FEA8 7000F2A8 1420FFCF */ bnez $at, .L7000F1E8 +/* 00FEAC 7000F2AC AE22001C */ sw $v0, 0x1c($s1) +.L7000F2B0: +/* 00FEB0 7000F2B0 8E38001C */ lw $t8, 0x1c($s1) +/* 00FEB4 7000F2B4 2412FFF0 */ li $s2, -16 +/* 00FEB8 7000F2B8 27B700AA */ addiu $s7, $sp, 0xaa +/* 00FEBC 7000F2BC 03127024 */ and $t6, $t8, $s2 +/* 00FEC0 7000F2C0 1A600022 */ blez $s3, .L7000F34C +/* 00FEC4 7000F2C4 AE2E001C */ sw $t6, 0x1c($s1) +/* 00FEC8 7000F2C8 3C160700 */ lui $s6, 0x700 +.L7000F2CC: +/* 00FECC 7000F2CC 8E220048 */ lw $v0, 0x48($s1) +/* 00FED0 7000F2D0 02608025 */ move $s0, $s3 +/* 00FED4 7000F2D4 0053082A */ slt $at, $v0, $s3 +/* 00FED8 7000F2D8 10200003 */ beqz $at, .L7000F2E8 +/* 00FEDC 7000F2DC 00000000 */ nop +/* 00FEE0 7000F2E0 10000001 */ b .L7000F2E8 +/* 00FEE4 7000F2E4 00408025 */ move $s0, $v0 +.L7000F2E8: +/* 00FEE8 7000F2E8 AE960000 */ sw $s6, ($s4) +/* 00FEEC 7000F2EC AE800004 */ sw $zero, 4($s4) +/* 00FEF0 7000F2F0 8E320038 */ lw $s2, 0x38($s1) +/* 00FEF4 7000F2F4 24050006 */ li $a1, 6 +/* 00FEF8 7000F2F8 02A03025 */ move $a2, $s5 +/* 00FEFC 7000F2FC 8E590008 */ lw $t9, 8($s2) +/* 00FF00 7000F300 02402025 */ move $a0, $s2 +/* 00FF04 7000F304 0320F809 */ jalr $t9 +/* 00FF08 7000F308 00000000 */ nop +/* 00FF0C 7000F30C 8E270020 */ lw $a3, 0x20($s1) +/* 00FF10 7000F310 26890008 */ addiu $t1, $s4, 8 +/* 00FF14 7000F314 AFA90010 */ sw $t1, 0x10($sp) +/* 00FF18 7000F318 8E590004 */ lw $t9, 4($s2) +/* 00FF1C 7000F31C 02402025 */ move $a0, $s2 +/* 00FF20 7000F320 02E02825 */ move $a1, $s7 +/* 00FF24 7000F324 0320F809 */ jalr $t9 +/* 00FF28 7000F328 02003025 */ move $a2, $s0 +/* 00FF2C 7000F32C 8E2B0020 */ lw $t3, 0x20($s1) +/* 00FF30 7000F330 02709823 */ subu $s3, $s3, $s0 +/* 00FF34 7000F334 00104080 */ sll $t0, $s0, 2 +/* 00FF38 7000F338 01706021 */ addu $t4, $t3, $s0 +/* 00FF3C 7000F33C 0040A025 */ move $s4, $v0 +/* 00FF40 7000F340 02A8A821 */ addu $s5, $s5, $t0 +/* 00FF44 7000F344 1E60FFE1 */ bgtz $s3, .L7000F2CC +/* 00FF48 7000F348 AE2C0020 */ sw $t4, 0x20($s1) +.L7000F34C: +/* 00FF4C 7000F34C 8FAD00B8 */ lw $t5, 0xb8($sp) +/* 00FF50 7000F350 8FAE00BC */ lw $t6, 0xbc($sp) +/* 00FF54 7000F354 02202025 */ move $a0, $s1 +/* 00FF58 7000F358 028D7823 */ subu $t7, $s4, $t5 +/* 00FF5C 7000F35C 000FC0C3 */ sra $t8, $t7, 3 +/* 00FF60 7000F360 0C003C16 */ jal _collectPVoices +/* 00FF64 7000F364 ADD80000 */ sw $t8, ($t6) +/* 00FF68 7000F368 02801025 */ move $v0, $s4 +.L7000F36C: +/* 00FF6C 7000F36C 8FBF004C */ lw $ra, 0x4c($sp) +/* 00FF70 7000F370 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 00FF74 7000F374 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 00FF78 7000F378 8FB0002C */ lw $s0, 0x2c($sp) +/* 00FF7C 7000F37C 8FB10030 */ lw $s1, 0x30($sp) +/* 00FF80 7000F380 8FB20034 */ lw $s2, 0x34($sp) +/* 00FF84 7000F384 8FB30038 */ lw $s3, 0x38($sp) +/* 00FF88 7000F388 8FB4003C */ lw $s4, 0x3c($sp) +/* 00FF8C 7000F38C 8FB50040 */ lw $s5, 0x40($sp) +/* 00FF90 7000F390 8FB60044 */ lw $s6, 0x44($sp) +/* 00FF94 7000F394 8FB70048 */ lw $s7, 0x48($sp) +/* 00FF98 7000F398 03E00008 */ jr $ra +/* 00FF9C 7000F39C 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel alSynNew +/* 00FFA0 7000F3A0 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 00FFA4 7000F3A4 AFBF0044 */ sw $ra, 0x44($sp) +/* 00FFA8 7000F3A8 AFBE0040 */ sw $fp, 0x40($sp) +/* 00FFAC 7000F3AC AFB7003C */ sw $s7, 0x3c($sp) +/* 00FFB0 7000F3B0 AFB60038 */ sw $s6, 0x38($sp) +/* 00FFB4 7000F3B4 AFB50034 */ sw $s5, 0x34($sp) +/* 00FFB8 7000F3B8 AFB40030 */ sw $s4, 0x30($sp) +/* 00FFBC 7000F3BC AFB3002C */ sw $s3, 0x2c($sp) +/* 00FFC0 7000F3C0 AFB20028 */ sw $s2, 0x28($sp) +/* 00FFC4 7000F3C4 AFB10024 */ sw $s1, 0x24($sp) +/* 00FFC8 7000F3C8 AFB00020 */ sw $s0, 0x20($sp) +/* 00FFCC 7000F3CC 8CB70014 */ lw $s7, 0x14($a1) +/* 00FFD0 7000F3D0 AC800000 */ sw $zero, ($a0) +/* 00FFD4 7000F3D4 8CAE0004 */ lw $t6, 4($a1) +/* 00FFD8 7000F3D8 AC800020 */ sw $zero, 0x20($a0) +/* 00FFDC 7000F3DC AC80001C */ sw $zero, 0x1c($a0) +/* 00FFE0 7000F3E0 AC8E003C */ sw $t6, 0x3c($a0) +/* 00FFE4 7000F3E4 8CAF0018 */ lw $t7, 0x18($a1) +/* 00FFE8 7000F3E8 241800A0 */ li $t8, 160 +/* 00FFEC 7000F3EC AC980048 */ sw $t8, 0x48($a0) +/* 00FFF0 7000F3F0 AC8F0044 */ sw $t7, 0x44($a0) +/* 00FFF4 7000F3F4 8CB90010 */ lw $t9, 0x10($a1) +/* 00FFF8 7000F3F8 0080B025 */ move $s6, $a0 +/* 00FFFC 7000F3FC 00A0F025 */ move $fp, $a1 +/* 010000 7000F400 2408001C */ li $t0, 28 +/* 010004 7000F404 AC990024 */ sw $t9, 0x24($a0) +/* 010008 7000F408 AFA80010 */ sw $t0, 0x10($sp) +/* 01000C 7000F40C 00002025 */ move $a0, $zero +/* 010010 7000F410 00002825 */ move $a1, $zero +/* 010014 7000F414 24070001 */ li $a3, 1 +/* 010018 7000F418 0C003AD4 */ jal alHeapDBAlloc +/* 01001C 7000F41C 02E03025 */ move $a2, $s7 +/* 010020 7000F420 AFA2005C */ sw $v0, 0x5c($sp) +/* 010024 7000F424 0C006448 */ jal alSaveNew +/* 010028 7000F428 00402025 */ move $a0, $v0 +/* 01002C 7000F42C 8FA9005C */ lw $t1, 0x5c($sp) +/* 010030 7000F430 240A004C */ li $t2, 76 +/* 010034 7000F434 00002025 */ move $a0, $zero +/* 010038 7000F438 AEC90038 */ sw $t1, 0x38($s6) +/* 01003C 7000F43C AFAA0010 */ sw $t2, 0x10($sp) +/* 010040 7000F440 00002825 */ move $a1, $zero +/* 010044 7000F444 02E03025 */ move $a2, $s7 +/* 010048 7000F448 0C003AD4 */ jal alHeapDBAlloc +/* 01004C 7000F44C 24070001 */ li $a3, 1 +/* 010050 7000F450 240B0001 */ li $t3, 1 +/* 010054 7000F454 AEC20034 */ sw $v0, 0x34($s6) +/* 010058 7000F458 AECB0040 */ sw $t3, 0x40($s6) +/* 01005C 7000F45C 8FC70004 */ lw $a3, 4($fp) +/* 010060 7000F460 240C0004 */ li $t4, 4 +/* 010064 7000F464 AFAC0010 */ sw $t4, 0x10($sp) +/* 010068 7000F468 00002025 */ move $a0, $zero +/* 01006C 7000F46C 00002825 */ move $a1, $zero +/* 010070 7000F470 0C003AD4 */ jal alHeapDBAlloc +/* 010074 7000F474 02E03025 */ move $a2, $s7 +/* 010078 7000F478 8EC40034 */ lw $a0, 0x34($s6) +/* 01007C 7000F47C 00402825 */ move $a1, $v0 +/* 010080 7000F480 0C00646E */ jal alAuxBusNew +/* 010084 7000F484 8FC60004 */ lw $a2, 4($fp) +/* 010088 7000F488 240D0020 */ li $t5, 32 +/* 01008C 7000F48C AFAD0010 */ sw $t5, 0x10($sp) +/* 010090 7000F490 00002025 */ move $a0, $zero +/* 010094 7000F494 00002825 */ move $a1, $zero +/* 010098 7000F498 02E03025 */ move $a2, $s7 +/* 01009C 7000F49C 0C003AD4 */ jal alHeapDBAlloc +/* 0100A0 7000F4A0 24070001 */ li $a3, 1 +/* 0100A4 7000F4A4 AEC20030 */ sw $v0, 0x30($s6) +/* 0100A8 7000F4A8 8FC70004 */ lw $a3, 4($fp) +/* 0100AC 7000F4AC 240E0004 */ li $t6, 4 +/* 0100B0 7000F4B0 AFAE0010 */ sw $t6, 0x10($sp) +/* 0100B4 7000F4B4 00002025 */ move $a0, $zero +/* 0100B8 7000F4B8 00002825 */ move $a1, $zero +/* 0100BC 7000F4BC 0C003AD4 */ jal alHeapDBAlloc +/* 0100C0 7000F4C0 02E03025 */ move $a2, $s7 +/* 0100C4 7000F4C4 8EC40030 */ lw $a0, 0x30($s6) +/* 0100C8 7000F4C8 00402825 */ move $a1, $v0 +/* 0100CC 7000F4CC 0C006459 */ jal alMainBusNew +/* 0100D0 7000F4D0 8FC60004 */ lw $a2, 4($fp) +/* 0100D4 7000F4D4 93CF001C */ lbu $t7, 0x1c($fp) +/* 0100D8 7000F4D8 02C02025 */ move $a0, $s6 +/* 0100DC 7000F4DC 03C03025 */ move $a2, $fp +/* 0100E0 7000F4E0 11E00006 */ beqz $t7, .L7000F4FC +/* 0100E4 7000F4E4 24050002 */ li $a1, 2 +/* 0100E8 7000F4E8 00002825 */ move $a1, $zero +/* 0100EC 7000F4EC 0C006630 */ jal alSynAllocFX +/* 0100F0 7000F4F0 02E03825 */ move $a3, $s7 +/* 0100F4 7000F4F4 10000005 */ b .L7000F50C +/* 0100F8 7000F4F8 AEC00004 */ sw $zero, 4($s6) +.L7000F4FC: +/* 0100FC 7000F4FC 8EC40030 */ lw $a0, 0x30($s6) +/* 010100 7000F500 0C006658 */ jal alMainBusParam +/* 010104 7000F504 8EC60034 */ lw $a2, 0x34($s6) +/* 010108 7000F508 AEC00004 */ sw $zero, 4($s6) +.L7000F50C: +/* 01010C 7000F50C AEC00008 */ sw $zero, 8($s6) +/* 010110 7000F510 AEC00014 */ sw $zero, 0x14($s6) +/* 010114 7000F514 AEC00018 */ sw $zero, 0x18($s6) +/* 010118 7000F518 AEC0000C */ sw $zero, 0xc($s6) +/* 01011C 7000F51C AEC00010 */ sw $zero, 0x10($s6) +/* 010120 7000F520 8FC70004 */ lw $a3, 4($fp) +/* 010124 7000F524 241800DC */ li $t8, 220 +/* 010128 7000F528 AFB80010 */ sw $t8, 0x10($sp) +/* 01012C 7000F52C 00002025 */ move $a0, $zero +/* 010130 7000F530 00002825 */ move $a1, $zero +/* 010134 7000F534 0C003AD4 */ jal alHeapDBAlloc +/* 010138 7000F538 02E03025 */ move $a2, $s7 +/* 01013C 7000F53C 8FD90004 */ lw $t9, 4($fp) +/* 010140 7000F540 0000A025 */ move $s4, $zero +/* 010144 7000F544 00408025 */ move $s0, $v0 +/* 010148 7000F548 1B20002F */ blez $t9, .L7000F608 +/* 01014C 7000F54C 26C50004 */ addiu $a1, $s6, 4 +/* 010150 7000F550 2451008C */ addiu $s1, $v0, 0x8c +/* 010154 7000F554 24520058 */ addiu $s2, $v0, 0x58 +/* 010158 7000F558 24530010 */ addiu $s3, $v0, 0x10 +/* 01015C 7000F55C AFA50048 */ sw $a1, 0x48($sp) +.L7000F560: +/* 010160 7000F560 8FA50048 */ lw $a1, 0x48($sp) +/* 010164 7000F564 0200A825 */ move $s5, $s0 +/* 010168 7000F568 0C003AB0 */ jal alLink +/* 01016C 7000F56C 02002025 */ move $a0, $s0 +/* 010170 7000F570 AE000008 */ sw $zero, 8($s0) +/* 010174 7000F574 8EC50024 */ lw $a1, 0x24($s6) +/* 010178 7000F578 02602025 */ move $a0, $s3 +/* 01017C 7000F57C 0C0064A5 */ jal alLoadNew +/* 010180 7000F580 02E03025 */ move $a2, $s7 +/* 010184 7000F584 02602025 */ move $a0, $s3 +/* 010188 7000F588 24050001 */ li $a1, 1 +/* 01018C 7000F58C 0C0066AC */ jal alLoadParam +/* 010190 7000F590 00003025 */ move $a2, $zero +/* 010194 7000F594 02402025 */ move $a0, $s2 +/* 010198 7000F598 0C006483 */ jal alResampleNew +/* 01019C 7000F59C 02E02825 */ move $a1, $s7 +/* 0101A0 7000F5A0 02402025 */ move $a0, $s2 +/* 0101A4 7000F5A4 24050001 */ li $a1, 1 +/* 0101A8 7000F5A8 0C006980 */ jal alResampleParam +/* 0101AC 7000F5AC 02603025 */ move $a2, $s3 +/* 0101B0 7000F5B0 02202025 */ move $a0, $s1 +/* 0101B4 7000F5B4 0C0064CF */ jal alEnvmixerNew +/* 0101B8 7000F5B8 02E02825 */ move $a1, $s7 +/* 0101BC 7000F5BC 02202025 */ move $a0, $s1 +/* 0101C0 7000F5C0 24050001 */ li $a1, 1 +/* 0101C4 7000F5C4 0C006A85 */ jal alEnvmixerParam +/* 0101C8 7000F5C8 02403025 */ move $a2, $s2 +/* 0101CC 7000F5CC 8EC40034 */ lw $a0, 0x34($s6) +/* 0101D0 7000F5D0 24050002 */ li $a1, 2 +/* 0101D4 7000F5D4 0C006D38 */ jal ultra_7001B4E0 +/* 0101D8 7000F5D8 02203025 */ move $a2, $s1 +/* 0101DC 7000F5DC 26A8008C */ addiu $t0, $s5, 0x8c +/* 0101E0 7000F5E0 AEA8000C */ sw $t0, 0xc($s5) +/* 0101E4 7000F5E4 8FC90004 */ lw $t1, 4($fp) +/* 0101E8 7000F5E8 26940001 */ addiu $s4, $s4, 1 +/* 0101EC 7000F5EC 261000DC */ addiu $s0, $s0, 0xdc +/* 0101F0 7000F5F0 0289082A */ slt $at, $s4, $t1 +/* 0101F4 7000F5F4 263100DC */ addiu $s1, $s1, 0xdc +/* 0101F8 7000F5F8 265200DC */ addiu $s2, $s2, 0xdc +/* 0101FC 7000F5FC 1420FFD8 */ bnez $at, .L7000F560 +/* 010200 7000F600 267300DC */ addiu $s3, $s3, 0xdc +/* 010204 7000F604 0000A025 */ move $s4, $zero +.L7000F608: +/* 010208 7000F608 8FA4005C */ lw $a0, 0x5c($sp) +/* 01020C 7000F60C 24050001 */ li $a1, 1 +/* 010210 7000F610 0C006D7C */ jal alSaveParam +/* 010214 7000F614 8EC60030 */ lw $a2, 0x30($s6) +/* 010218 7000F618 8FC70008 */ lw $a3, 8($fp) +/* 01021C 7000F61C 240A001C */ li $t2, 28 +/* 010220 7000F620 AFAA0010 */ sw $t2, 0x10($sp) +/* 010224 7000F624 00002025 */ move $a0, $zero +/* 010228 7000F628 00002825 */ move $a1, $zero +/* 01022C 7000F62C 0C003AD4 */ jal alHeapDBAlloc +/* 010230 7000F630 02E03025 */ move $a2, $s7 +/* 010234 7000F634 AEC0002C */ sw $zero, 0x2c($s6) +/* 010238 7000F638 8FCB0008 */ lw $t3, 8($fp) +/* 01023C 7000F63C 00401825 */ move $v1, $v0 +/* 010240 7000F640 5960000B */ blezl $t3, .L7000F670 +/* 010244 7000F644 AED70028 */ sw $s7, 0x28($s6) +/* 010248 7000F648 8ECC002C */ lw $t4, 0x2c($s6) +.L7000F64C: +/* 01024C 7000F64C 26940001 */ addiu $s4, $s4, 1 +/* 010250 7000F650 AC6C0000 */ sw $t4, ($v1) +/* 010254 7000F654 AEC3002C */ sw $v1, 0x2c($s6) +/* 010258 7000F658 8FCD0008 */ lw $t5, 8($fp) +/* 01025C 7000F65C 2463001C */ addiu $v1, $v1, 0x1c +/* 010260 7000F660 028D082A */ slt $at, $s4, $t5 +/* 010264 7000F664 5420FFF9 */ bnezl $at, .L7000F64C +/* 010268 7000F668 8ECC002C */ lw $t4, 0x2c($s6) +/* 01026C 7000F66C AED70028 */ sw $s7, 0x28($s6) +.L7000F670: +/* 010270 7000F670 8FBF0044 */ lw $ra, 0x44($sp) +/* 010274 7000F674 8FBE0040 */ lw $fp, 0x40($sp) +/* 010278 7000F678 8FB7003C */ lw $s7, 0x3c($sp) +/* 01027C 7000F67C 8FB60038 */ lw $s6, 0x38($sp) +/* 010280 7000F680 8FB50034 */ lw $s5, 0x34($sp) +/* 010284 7000F684 8FB40030 */ lw $s4, 0x30($sp) +/* 010288 7000F688 8FB3002C */ lw $s3, 0x2c($sp) +/* 01028C 7000F68C 8FB20028 */ lw $s2, 0x28($sp) +/* 010290 7000F690 8FB10024 */ lw $s1, 0x24($sp) +/* 010294 7000F694 8FB00020 */ lw $s0, 0x20($sp) +/* 010298 7000F698 03E00008 */ jr $ra +/* 01029C 7000F69C 27BD0078 */ addiu $sp, $sp, 0x78 + +.section .rodata +glabel F64_80029420 +.double 1000000.0 +glabel F64_80029428 +.double 1000000.0 diff --git a/src/mema.c b/src/mema.c index 6bc88da1..15b408a6 100644 --- a/src/mema.c +++ b/src/mema.c @@ -1,4 +1,5 @@ #include "ultra64.h" +#include "mema.h" #include "deb.h" /** @@ -7,57 +8,37 @@ * */ - +//bss void *ptr_model_room_buf_secondary; u32 size_modelroom_buf; -void *ptr_table_allocated_mem_blocks; -s32 dword_CODE_bss_80063C2C; -s32 index_for_loadedroom; -s32 dword_CODE_bss_80063C34; -void *ptr_first_entry_in_alloc_table; -s32 dword_CODE_bss_80063C3C; -s32 dword_CODE_bss_80063C40; -s32 dword_CODE_bss_80063C44; -char dword_CODE_bss_80063C48[0xFC0]; -char dword_CODE_bss_80064C08[8]; -char dword_CODE_bss_80064C10[8]; -s32 dword_CODE_bss_80064C18; -s32 dword_CODE_bss_80064C1C; -s32 dword_CODE_bss_80064C20; -s32 dword_CODE_bss_80064C24; - +struct s_mem_alloc_table ptr_table_allocated_mem_blocks; +//data void *ptr_mema_c_debug_notice_list = 0; - - - - - - - #ifdef NONMATCHING -?32 swap_entries(void *arg0, void *arg1) -{ - ?32 temp_v0; - ?32 temp_v1; +void memaSwap(u8 *a,u8 *b) - temp_v0 = arg0->unk0; - temp_v1 = arg0->unk4; - arg0->unk0 = (?32) arg1->unk0; - arg0->unk4 = (?32) arg1->unk4; - arg1->unk0 = temp_v0; - arg1->unk4 = temp_v1; - return temp_v0; +{ + u8 *tempstart; + u8 *tempend; + + tempstart = *(void **)a; + tempend = *(void **)(a + 4); + *(undefined4 *)a = *(undefined4 *)b; + *(undefined4 *)(a + 4) = *(undefined4 *)(b + 4); + *(void **)b = tempstart; + *(void **)(b + 4) = tempend; + return; } #else GLOBAL_ASM( .text -glabel swap_entries +glabel memaSwap /* 00A610 70009A10 8CAE0000 */ lw $t6, ($a1) /* 00A614 70009A14 8C820000 */ lw $v0, ($a0) /* 00A618 70009A18 8C830004 */ lw $v1, 4($a0) @@ -75,7 +56,7 @@ glabel swap_entries #ifdef NONMATCHING -void merge_alloc_entries(void *arg0, void *arg1) +void memaMerge(void *arg0, void *arg1) { arg0->unk4 = (s32) (arg0->unk4 + arg1->unk4); arg1->unk0 = 0; @@ -84,7 +65,7 @@ void merge_alloc_entries(void *arg0, void *arg1) #else GLOBAL_ASM( .text -glabel merge_alloc_entries +glabel memaMerge /* 00A634 70009A34 8C8E0004 */ lw $t6, 4($a0) /* 00A638 70009A38 8CAF0004 */ lw $t7, 4($a1) /* 00A63C 70009A3C 01CFC021 */ addu $t8, $t6, $t7 @@ -100,7 +81,7 @@ glabel merge_alloc_entries #ifdef NONMATCHING -? sort_merge_entries_in_alloc_table(s32 arg0) +u32 memaSortMergeEntries(s_mem_alloc_table *param_1) { u32 temp_s0; u32 temp_s0_2; @@ -133,14 +114,14 @@ loop_1: { if ((u32) phi_s0->unk0 < (u32) phi_s2) { - swap_entries(phi_s0, phi_s1); + memaSwap(phi_s0, phi_s1); } phi_s0_3 = phi_s0; phi_v0 = phi_s0->unk0; phi_s3_2 = phi_s3_3; if (phi_s0->unk0 == (phi_s1->unk4 + phi_s2)) { - merge_alloc_entries(phi_s1, phi_s0); + memaMerge(phi_s1, phi_s0); phi_s0_3 = phi_s1; phi_v0 = phi_s1->unk0; phi_s3_2 = 1; @@ -163,7 +144,7 @@ loop_1: #else GLOBAL_ASM( .text -glabel sort_merge_entries_in_alloc_table +glabel memaSortMergeEntries /* 00A650 70009A50 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 00A654 70009A54 AFB40028 */ sw $s4, 0x28($sp) /* 00A658 70009A58 AFB00018 */ sw $s0, 0x18($sp) @@ -187,7 +168,7 @@ glabel sort_merge_entries_in_alloc_table /* 00A69C 70009A9C 0052082B */ sltu $at, $v0, $s2 /* 00A6A0 70009AA0 50200005 */ beql $at, $zero, .L70009AB8 /* 00A6A4 70009AA4 8E2F0004 */ lw $t7, 4($s1) -/* 00A6A8 70009AA8 0C002684 */ jal swap_entries +/* 00A6A8 70009AA8 0C002684 */ jal memaSwap /* 00A6AC 70009AAC 02202825 */ move $a1, $s1 /* 00A6B0 70009AB0 8E020000 */ lw $v0, ($s0) /* 00A6B4 70009AB4 8E2F0004 */ lw $t7, 4($s1) @@ -197,7 +178,7 @@ glabel sort_merge_entries_in_alloc_table /* 00A6C0 70009AC0 01F2C021 */ addu $t8, $t7, $s2 /* 00A6C4 70009AC4 54580006 */ bnel $v0, $t8, .L70009AE0 /* 00A6C8 70009AC8 02008825 */ move $s1, $s0 -/* 00A6CC 70009ACC 0C00268D */ jal merge_alloc_entries +/* 00A6CC 70009ACC 0C00268D */ jal memaMerge /* 00A6D0 70009AD0 24130001 */ li $s3, 1 /* 00A6D4 70009AD4 02208025 */ move $s0, $s1 /* 00A6D8 70009AD8 8E220000 */ lw $v0, ($s1) @@ -224,44 +205,13 @@ glabel sort_merge_entries_in_alloc_table -#ifdef NONMATCHING -void memp_related_7(void) + +void memaSortMergeAllEntries(void) { - if (sort_merge_entries_in_alloc_table(&ptr_table_allocated_mem_blocks) != 0) - { -loop_1: - if (sort_merge_entries_in_alloc_table(&ptr_table_allocated_mem_blocks) != 0) - { - goto loop_1; - } + while (memaSortMergeEntries(&ptr_table_allocated_mem_blocks) != 0) { + ; } } -#else -GLOBAL_ASM( -.text -glabel memp_related_7 -/* 00A718 70009B18 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 00A71C 70009B1C AFB00018 */ sw $s0, 0x18($sp) -/* 00A720 70009B20 3C108006 */ lui $s0, %hi(ptr_table_allocated_mem_blocks) -/* 00A724 70009B24 26103C28 */ addiu $s0, %lo(ptr_table_allocated_mem_blocks) # addiu $s0, $s0, 0x3c28 -/* 00A728 70009B28 AFBF001C */ sw $ra, 0x1c($sp) -/* 00A72C 70009B2C 0C002694 */ jal sort_merge_entries_in_alloc_table -/* 00A730 70009B30 02002025 */ move $a0, $s0 -/* 00A734 70009B34 50400006 */ beql $v0, $zero, .L70009B50 -/* 00A738 70009B38 8FBF001C */ lw $ra, 0x1c($sp) -.L70009B3C: -/* 00A73C 70009B3C 0C002694 */ jal sort_merge_entries_in_alloc_table -/* 00A740 70009B40 02002025 */ move $a0, $s0 -/* 00A744 70009B44 1440FFFD */ bnez $v0, .L70009B3C -/* 00A748 70009B48 00000000 */ nop -/* 00A74C 70009B4C 8FBF001C */ lw $ra, 0x1c($sp) -.L70009B50: -/* 00A750 70009B50 8FB00018 */ lw $s0, 0x18($sp) -/* 00A754 70009B54 27BD0020 */ addiu $sp, $sp, 0x20 -/* 00A758 70009B58 03E00008 */ jr $ra -/* 00A75C 70009B5C 00000000 */ nop -) -#endif @@ -288,7 +238,7 @@ u32 mem_related(s32 arg0) { if ((u32) temp_s2->unk8 < (u32) *temp_s2) { // Node 5 - swap_entries(temp_s2, (temp_s2 + 8)); + memaSwap(temp_s2, (temp_s2 + 8)); } // Node 6 if (temp_s2->unk8 == (*temp_s2 + temp_s2->unk4)) @@ -362,7 +312,7 @@ glabel mem_related /* 00A7B4 70009BB4 0043082B */ sltu $at, $v0, $v1 /* 00A7B8 70009BB8 50200007 */ beql $at, $zero, .L70009BD8 /* 00A7BC 70009BBC 00647021 */ addu $t6, $v1, $a0 -/* 00A7C0 70009BC0 0C002684 */ jal swap_entries +/* 00A7C0 70009BC0 0C002684 */ jal memaSwap /* 00A7C4 70009BC4 02002025 */ move $a0, $s0 /* 00A7C8 70009BC8 8E040004 */ lw $a0, 4($s0) /* 00A7CC 70009BCC 8E020008 */ lw $v0, 8($s0) @@ -420,54 +370,60 @@ glabel mem_related #ifdef NONMATCHING -void *mem_related_model_room_buffers(s32 arg0, s32 arg1, s32 arg6, ?32 arg7) { - s32 temp_lo; - void *temp_v0; - void *temp_a3; - - // Node 0 - temp_lo = ((s32) ((arg0 - ptr_model_room_buf_secondary) * 0x1fc) / (s32) size_modelroom_buf); - temp_v0 = ((temp_lo * 8) + &ptr_table_allocated_mem_blocks); - temp_a3 = (temp_v0 + 0x10); - if (temp_v0->unk14 != 0) - { - loop_1: - // Node 1 - if (temp_a3->unkC != 0) - { - goto loop_1; - } +void memaAllocRoomBuffer(uint addr,uint size) +{ + int iVar1; + int iVar2; + s_mem_alloc_entry *psVar3; + s_mem_alloc_entry *psVar4; + s_mem_alloc_entry *psVar5; + s32 sVar6; + int iVar7; + + iVar7 = (addr - ptr_model_room_buf_secondary) * 0x1fc; + iVar2 = iVar7 / size_modelroom_buf; + iVar1 = ptr_table_allocated_mem_blocks.entries[iVar2 + 2].size; + psVar4 = ptr_table_allocated_mem_blocks.entries + iVar2 + 2; + if (size_modelroom_buf == 0) { + trap(0x1c00); } - // Node 2 - if (*temp_a3 == -1) - { - // Node 3 - if (temp_v0->unk14 != 0) - { - loop_4: - // Node 4 - if (temp_a3->unk-4 != 0) - { - goto loop_4; + if ((size_modelroom_buf == -1) && (iVar7 == -0x80000000)) { + trap(0x1800); + } + if (iVar1 == 0) { + sVar6 = psVar4->addr; + psVar5 = psVar4; + } + else { + sVar6 = ptr_table_allocated_mem_blocks.entries[iVar2 + 3].size; + psVar3 = psVar4; + while (psVar5 = psVar3 + 1, sVar6 != 0) { + sVar6 = psVar3[2].size; + psVar3 = psVar5; + } + sVar6 = psVar5->addr; + } + if (sVar6 == -1) { + psVar5 = psVar4; + if (iVar1 != 0) { + sVar6 = ptr_table_allocated_mem_blocks.entries[iVar2 + 1].size; + while (psVar5 = psVar4 + -1, sVar6 != 0) { + sVar6 = psVar4[-2].size; + psVar4 = psVar5; } } - // Node 5 - if (*temp_a3 == 0) - { - // Node 6 - mem_related(&ptr_table_allocated_mem_blocks, temp_lo, temp_a3); + if (psVar5->addr == 0) { + psVar5 = (s_mem_alloc_entry *)memaFindOpening(&ptr_table_allocated_mem_blocks); } } - // Node 7 - *temp_a3 = arg6; - temp_a3->unk4 = arg7; + psVar5->addr = addr; + psVar5->size = size; return; - // (possible return value: temp_v0) } #else GLOBAL_ASM( .text -glabel mem_related_model_room_buffers +glabel memaAllocRoomBuffer /* 00A874 70009C74 3C0F8006 */ lui $t7, %hi(ptr_model_room_buf_secondary) /* 00A878 70009C78 8DEF3C20 */ lw $t7, %lo(ptr_model_room_buf_secondary)($t7) /* 00A87C 70009C7C 3C098006 */ lui $t1, %hi(size_modelroom_buf) @@ -547,60 +503,51 @@ void something_with_mema_c_debug(void) { } -const char aD_3[] = "%d "; -const char a___[] = "..."; -const char aD_5[] = "[%d]"; + #ifdef NONMATCHING -void *reset_memtable_base_allocation(s32 arg0, s32 arg1) { - u32 temp_v0; - - // Node 0 - ptr_table_allocated_mem_blocks.unkFF0 = -1; - ptr_table_allocated_mem_blocks.unkFF8 = -1; - ptr_table_allocated_mem_blocks = 0; - ptr_table_allocated_mem_blocks.unk4 = 0; - ptr_table_allocated_mem_blocks.unk8 = 0; - ptr_table_allocated_mem_blocks.unkC = 0; - ptr_table_allocated_mem_blocks.unkFF4 = 0; - ptr_table_allocated_mem_blocks.unkFFC = -1; - // Node 1 - temp_v0 = (&ptr_first_entry_in_alloc_table + 8); - temp_v0->unk-8 = 0; - temp_v0->unk-4 = 0; - if (&dword_CODE_bss_80064C10 >= temp_v0) +void mempInitMallocTable(void *ptr_allocmem,u32 size) +{ + s_mem_alloc_entry *entry; + + ptr_table_allocated_mem_blocks.entries[510].addr = -1; + ptr_table_allocated_mem_blocks.entries[511].addr = -1; + ptr_table_allocated_mem_blocks.entries[0].addr = 0; + ptr_table_allocated_mem_blocks.entries[0].size = 0; + ptr_table_allocated_mem_blocks.entries[1].addr = 0; + ptr_table_allocated_mem_blocks.entries[1].size = 0; + ptr_table_allocated_mem_blocks.entries[510].size = 0; + ptr_table_allocated_mem_blocks.entries[511].size = -1; + for (entry = ptr_table_allocated_mem_blocks.entries[2]; (entry < (s_mem_alloc_entry *)(&ptr_table_allocated_mem_blocks.entries[0x1fd].addr+1)); ++entry) { - goto loop_1; - } - // Node 2 - ptr_model_room_buf_secondary = arg0; - ptr_table_allocated_mem_blocks.unk10 = arg0; - size_modelroom_buf = arg1; - ptr_table_allocated_mem_blocks.unk14 = arg1; - return; - // (possible return value: &ptr_model_room_buf_secondary) + entry->addr = 0; + entry->size = 0; + }; + ptr_model_room_buf_secondary = ptr_allocmem; + size_modelroom_buf = size; + ptr_table_allocated_mem_blocks.entries[2].addr = (s32)ptr_allocmem; + ptr_table_allocated_mem_blocks.entries[2].size = size; } - #else GLOBAL_ASM( .text -glabel reset_memtable_base_allocation +glabel mempInitMallocTable /* 00A998 70009D98 3C038006 */ lui $v1, %hi(ptr_table_allocated_mem_blocks) /* 00A99C 70009D9C 24633C28 */ addiu $v1, %lo(ptr_table_allocated_mem_blocks) # addiu $v1, $v1, 0x3c28 /* 00A9A0 70009DA0 2406FFFF */ li $a2, -1 /* 00A9A4 70009DA4 AC660FF0 */ sw $a2, 0xff0($v1) /* 00A9A8 70009DA8 AC660FF8 */ sw $a2, 0xff8($v1) /* 00A9AC 70009DAC 240EFFFF */ li $t6, -1 -/* 00A9B0 70009DB0 3C068006 */ lui $a2, %hi(dword_CODE_bss_80064C10) -/* 00A9B4 70009DB4 3C028006 */ lui $v0, %hi(ptr_first_entry_in_alloc_table) +/* 00A9B0 70009DB0 3C068006 */ lui $a2, %hi(ptr_table_allocated_mem_blocks + 0xFE8) +/* 00A9B4 70009DB4 3C028006 */ lui $v0, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00A9B8 70009DB8 AC600000 */ sw $zero, ($v1) /* 00A9BC 70009DBC AC600004 */ sw $zero, 4($v1) /* 00A9C0 70009DC0 AC600008 */ sw $zero, 8($v1) /* 00A9C4 70009DC4 AC60000C */ sw $zero, 0xc($v1) /* 00A9C8 70009DC8 AC600FF4 */ sw $zero, 0xff4($v1) /* 00A9CC 70009DCC AC6E0FFC */ sw $t6, 0xffc($v1) -/* 00A9D0 70009DD0 24423C38 */ addiu $v0, %lo(ptr_first_entry_in_alloc_table) # addiu $v0, $v0, 0x3c38 -/* 00A9D4 70009DD4 24C64C10 */ addiu $a2, %lo(dword_CODE_bss_80064C10) # addiu $a2, $a2, 0x4c10 +/* 00A9D0 70009DD0 24423C38 */ addiu $v0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $v0, $v0, 0x3c38 +/* 00A9D4 70009DD4 24C64C10 */ addiu $a2, %lo(ptr_table_allocated_mem_blocks + 0xFE8) # addiu $a2, $a2, 0x4c10 .L70009DD8: /* 00A9D8 70009DD8 24420008 */ addiu $v0, $v0, 8 /* 00A9DC 70009DDC 00C2082B */ sltu $at, $a2, $v0 @@ -621,7 +568,7 @@ glabel reset_memtable_base_allocation void mem_related_calls_sort_merge_entries(void) { - sort_merge_entries_in_alloc_table(&ptr_table_allocated_mem_blocks); + memaSortMergeEntries(&ptr_table_allocated_mem_blocks); } @@ -635,8 +582,8 @@ s32 mem_related_something_find_first(u32 arg0) { // Node 0 // Node 1 - temp_v0 = (ptr_first_entry_in_alloc_table.unk4 - arg0); - if ((((u32) ptr_first_entry_in_alloc_table.unk4 >= arg0) && (-1 != ptr_first_entry_in_alloc_table)) && (temp_at != 0)) + temp_v0 = (ptr_table_allocated_mem_blocks + 0x10.unk4 - arg0); + if ((((u32) ptr_table_allocated_mem_blocks + 0x10.unk4 >= arg0) && (-1 != ptr_table_allocated_mem_blocks + 0x10)) && (temp_at != 0)) { // Node 4 if (temp_at == 0) @@ -645,7 +592,7 @@ s32 mem_related_something_find_first(u32 arg0) { if (temp_v0 >= (u32) (arg0 >> 2)) { // Node 6 - temp_s1 = (&ptr_first_entry_in_alloc_table + 8); + temp_s1 = (&ptr_table_allocated_mem_blocks + 0x10 + 8); if ((0 + 1) != 0x10) { goto loop_1; @@ -656,7 +603,7 @@ s32 mem_related_something_find_first(u32 arg0) { else { // Node 6 - temp_s1 = (&ptr_first_entry_in_alloc_table + 8); + temp_s1 = (&ptr_table_allocated_mem_blocks + 0x10 + 8); if ((0 + 1) != 0x10) { goto loop_1; @@ -680,7 +627,7 @@ s32 mem_related_something_find_first(u32 arg0) { { // Node 11 // Node 12 - sort_merge_entries_in_alloc_table(&ptr_table_allocated_mem_blocks, NULL, 0x10); + memaSortMergeEntries(&ptr_table_allocated_mem_blocks, NULL, 0x10); if ((0 + 1) != 8) { goto loop_12; @@ -690,13 +637,13 @@ s32 mem_related_something_find_first(u32 arg0) { { loop_14: // Node 14 - if ((u32) ptr_first_entry_in_alloc_table.unkC < arg0) + if ((u32) ptr_table_allocated_mem_blocks + 0x10.unkC < arg0) { goto loop_14; } } // Node 15 - if (-1 == ptr_first_entry_in_alloc_table) + if (-1 == ptr_table_allocated_mem_blocks + 0x10) { // Node 16 return; @@ -729,11 +676,11 @@ glabel mem_related_something_find_first /* 00AA40 70009E40 00809025 */ move $s2, $a0 /* 00AA44 70009E44 AFB50028 */ sw $s5, 0x28($sp) /* 00AA48 70009E48 AFB00014 */ sw $s0, 0x14($sp) -/* 00AA4C 70009E4C 3C118006 */ lui $s1, %hi(ptr_first_entry_in_alloc_table) +/* 00AA4C 70009E4C 3C118006 */ lui $s1, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00AA50 70009E50 AFBF002C */ sw $ra, 0x2c($sp) /* 00AA54 70009E54 AFB40024 */ sw $s4, 0x24($sp) /* 00AA58 70009E58 AFB30020 */ sw $s3, 0x20($sp) -/* 00AA5C 70009E5C 26313C38 */ addiu $s1, %lo(ptr_first_entry_in_alloc_table) # addiu $s1, $s1, 0x3c38 +/* 00AA5C 70009E5C 26313C38 */ addiu $s1, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s1, $s1, 0x3c38 /* 00AA60 70009E60 2404FFFF */ li $a0, -1 /* 00AA64 70009E64 00002825 */ move $a1, $zero /* 00AA68 70009E68 00008025 */ move $s0, $zero @@ -781,10 +728,10 @@ glabel mem_related_something_find_first /* 00AAFC 70009EFC 26733C28 */ addiu $s3, %lo(ptr_table_allocated_mem_blocks) # addiu $s3, $s3, 0x3c28 /* 00AB00 70009F00 56A80017 */ bnel $s5, $t0, .L70009F60 /* 00AB04 70009F04 02202825 */ move $a1, $s1 -/* 00AB08 70009F08 3C118006 */ lui $s1, %hi(ptr_first_entry_in_alloc_table) -/* 00AB0C 70009F0C 26313C38 */ addiu $s1, %lo(ptr_first_entry_in_alloc_table) # addiu $s1, $s1, 0x3c38 +/* 00AB08 70009F08 3C118006 */ lui $s1, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AB0C 70009F0C 26313C38 */ addiu $s1, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s1, $s1, 0x3c38 .L70009F10: -/* 00AB10 70009F10 0C002694 */ jal sort_merge_entries_in_alloc_table +/* 00AB10 70009F10 0C002694 */ jal memaSortMergeEntries /* 00AB14 70009F14 02602025 */ move $a0, $s3 /* 00AB18 70009F18 26100001 */ addiu $s0, $s0, 1 /* 00AB1C 70009F1C 1614FFFC */ bne $s0, $s4, .L70009F10 @@ -842,12 +789,12 @@ s32 mem_related_something_find_first_0(s32 arg0, u32 arg1) s32 phi_a1; void *phi_v1; - if (-1 == ptr_first_entry_in_alloc_table) + if (-1 == ptr_table_allocated_mem_blocks + 0x10) { return 0; } - phi_a1 = ptr_first_entry_in_alloc_table; - phi_v1 = &ptr_first_entry_in_alloc_table; + phi_a1 = ptr_table_allocated_mem_blocks + 0x10; + phi_v1 = &ptr_table_allocated_mem_blocks + 0x10; loop_2: if (arg0 != phi_a1) { @@ -879,11 +826,11 @@ block_4: GLOBAL_ASM( .text glabel mem_related_something_find_first_0 -/* 00ABA8 70009FA8 3C198006 */ lui $t9, %hi(ptr_first_entry_in_alloc_table) -/* 00ABAC 70009FAC 8F393C38 */ lw $t9, %lo(ptr_first_entry_in_alloc_table)($t9) -/* 00ABB0 70009FB0 3C188006 */ lui $t8, %hi(ptr_first_entry_in_alloc_table) +/* 00ABA8 70009FA8 3C198006 */ lui $t9, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00ABAC 70009FAC 8F393C38 */ lw $t9, %lo(ptr_table_allocated_mem_blocks + 0x10)($t9) +/* 00ABB0 70009FB0 3C188006 */ lui $t8, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00ABB4 70009FB4 240AFFFF */ li $t2, -1 -/* 00ABB8 70009FB8 27183C38 */ addiu $t8, %lo(ptr_first_entry_in_alloc_table) # addiu $t8, $t8, 0x3c38 +/* 00ABB8 70009FB8 27183C38 */ addiu $t8, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $t8, $t8, 0x3c38 /* 00ABBC 70009FBC 00A03825 */ move $a3, $a1 /* 00ABC0 70009FC0 1159000C */ beq $t2, $t9, .L70009FF4 /* 00ABC4 70009FC4 03001825 */ move $v1, $t8 @@ -921,8 +868,8 @@ glabel mem_related_something_find_first_0 -void mem_related_model_room_buffers_0(void) { - mem_related_model_room_buffers(); +void mem_related_model_room_buffers_0(u32 addr,u32 size) { + memaAllocRoomBuffer(addr, size); } @@ -939,19 +886,19 @@ void *mem_related_allocated_table_related(void) loop_1: temp_v1 = phi_v1 + 0x20; phi_v1 = temp_v1; - if (temp_v1 != &dword_CODE_bss_80064C08) + if (temp_v1 != &ptr_table_allocated_mem_blocks + 0xFE0) { goto loop_1; } - return &dword_CODE_bss_80064C08; + return &ptr_table_allocated_mem_blocks + 0xFE0; } #else GLOBAL_ASM( .text glabel mem_related_allocated_table_related /* 00AC40 7000A040 3C038006 */ lui $v1, %hi(ptr_table_allocated_mem_blocks) -/* 00AC44 7000A044 3C028006 */ lui $v0, %hi(dword_CODE_bss_80064C08) -/* 00AC48 7000A048 24424C08 */ addiu $v0, %lo(dword_CODE_bss_80064C08) # addiu $v0, $v0, 0x4c08 +/* 00AC44 7000A044 3C028006 */ lui $v0, %hi(ptr_table_allocated_mem_blocks + 0xFE0) +/* 00AC48 7000A048 24424C08 */ addiu $v0, %lo(ptr_table_allocated_mem_blocks + 0xFE0) # addiu $v0, $v0, 0x4c08 /* 00AC4C 7000A04C 24633C28 */ addiu $v1, %lo(ptr_table_allocated_mem_blocks) # addiu $v1, $v1, 0x3c28 /* 00AC50 7000A050 24630020 */ addiu $v1, $v1, 0x20 .L7000A054: @@ -977,11 +924,11 @@ f32 mem_related_something_first_related(void) u32 phi_v0_2; phi_v1 = 0U; - phi_a0 = &ptr_first_entry_in_alloc_table; + phi_a0 = &ptr_table_allocated_mem_blocks + 0x10; phi_v0 = 0U; phi_v1_2 = 0U; phi_v0_2 = 0U; - if (-1 != ptr_first_entry_in_alloc_table) + if (-1 != ptr_table_allocated_mem_blocks + 0x10) { loop_1: temp_a1 = phi_a0->unk4; @@ -1011,14 +958,14 @@ loop_1: GLOBAL_ASM( .text glabel mem_related_something_first_related -/* 00AC64 7000A064 3C0E8006 */ lui $t6, %hi(ptr_first_entry_in_alloc_table) -/* 00AC68 7000A068 8DCE3C38 */ lw $t6, %lo(ptr_first_entry_in_alloc_table)($t6) +/* 00AC64 7000A064 3C0E8006 */ lui $t6, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AC68 7000A068 8DCE3C38 */ lw $t6, %lo(ptr_table_allocated_mem_blocks + 0x10)($t6) /* 00AC6C 7000A06C 2406FFFF */ li $a2, -1 -/* 00AC70 7000A070 3C048006 */ lui $a0, %hi(ptr_first_entry_in_alloc_table) +/* 00AC70 7000A070 3C048006 */ lui $a0, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00AC74 7000A074 00001025 */ move $v0, $zero /* 00AC78 7000A078 00001825 */ move $v1, $zero /* 00AC7C 7000A07C 10CE000A */ beq $a2, $t6, .L7000A0A8 -/* 00AC80 7000A080 24843C38 */ addiu $a0, %lo(ptr_first_entry_in_alloc_table) # addiu $a0, $a0, 0x3c38 +/* 00AC80 7000A080 24843C38 */ addiu $a0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $a0, $a0, 0x3c38 /* 00AC84 7000A084 8C850004 */ lw $a1, 4($a0) .L7000A088: /* 00AC88 7000A088 0065082B */ sltu $at, $v1, $a1 @@ -1060,7 +1007,9 @@ glabel mem_related_something_first_related ) #endif - +const char aD_3[] = "%d "; +const char a___[] = "..."; +const char aD_5[] = "[%d]"; #ifdef NONMATCHING void generate_list_alloc_mem(void) { @@ -1071,13 +1020,13 @@ GLOBAL_ASM( .text glabel generate_list_alloc_mem /* 00AD00 7000A100 27BDEF98 */ addiu $sp, $sp, -0x1068 -/* 00AD04 7000A104 3C048006 */ lui $a0, %hi(ptr_first_entry_in_alloc_table) -/* 00AD08 7000A108 8C843C38 */ lw $a0, %lo(ptr_first_entry_in_alloc_table)($a0) +/* 00AD04 7000A104 3C048006 */ lui $a0, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AD08 7000A108 8C843C38 */ lw $a0, %lo(ptr_table_allocated_mem_blocks + 0x10)($a0) /* 00AD0C 7000A10C AFB5002C */ sw $s5, 0x2c($sp) /* 00AD10 7000A110 AFB00018 */ sw $s0, 0x18($sp) /* 00AD14 7000A114 2415FFFF */ li $s5, -1 /* 00AD18 7000A118 AFB20020 */ sw $s2, 0x20($sp) -/* 00AD1C 7000A11C 3C108006 */ lui $s0, %hi(ptr_first_entry_in_alloc_table) +/* 00AD1C 7000A11C 3C108006 */ lui $s0, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00AD20 7000A120 AFBF003C */ sw $ra, 0x3c($sp) /* 00AD24 7000A124 AFBE0038 */ sw $fp, 0x38($sp) /* 00AD28 7000A128 AFB70034 */ sw $s7, 0x34($sp) @@ -1087,7 +1036,7 @@ glabel generate_list_alloc_mem /* 00AD38 7000A138 AFB1001C */ sw $s1, 0x1c($sp) /* 00AD3C 7000A13C 3C038000 */ lui $v1, 0x8000 /* 00AD40 7000A140 00009025 */ move $s2, $zero -/* 00AD44 7000A144 26103C38 */ addiu $s0, %lo(ptr_first_entry_in_alloc_table) # addiu $s0, $s0, 0x3c38 +/* 00AD44 7000A144 26103C38 */ addiu $s0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s0, $s0, 0x3c38 /* 00AD48 7000A148 12A40008 */ beq $s5, $a0, .L7000A16C /* 00AD4C 7000A14C 00001025 */ move $v0, $zero .L7000A150: @@ -1096,8 +1045,8 @@ glabel generate_list_alloc_mem /* 00AD58 7000A158 26100008 */ addiu $s0, $s0, 8 /* 00AD5C 7000A15C 16AFFFFC */ bne $s5, $t7, .L7000A150 /* 00AD60 7000A160 004E1021 */ addu $v0, $v0, $t6 -/* 00AD64 7000A164 3C108006 */ lui $s0, %hi(ptr_first_entry_in_alloc_table) -/* 00AD68 7000A168 26103C38 */ addiu $s0, %lo(ptr_first_entry_in_alloc_table) # addiu $s0, $s0, 0x3c38 +/* 00AD64 7000A164 3C108006 */ lui $s0, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AD68 7000A168 26103C38 */ addiu $s0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s0, $s0, 0x3c38 .L7000A16C: /* 00AD6C 7000A16C 3C1E8003 */ lui $fp, %hi(a___) /* 00AD70 7000A170 3C168003 */ lui $s6, %hi(aD_3) @@ -1127,8 +1076,8 @@ glabel generate_list_alloc_mem /* 00ADC0 7000A1C0 8E020004 */ lw $v0, 4($s0) .L7000A1C4: /* 00ADC4 7000A1C4 12800022 */ beqz $s4, .L7000A250 -/* 00ADC8 7000A1C8 3C108006 */ lui $s0, %hi(ptr_first_entry_in_alloc_table) -/* 00ADCC 7000A1CC 26103C38 */ addiu $s0, %lo(ptr_first_entry_in_alloc_table) # addiu $s0, $s0, 0x3c38 +/* 00ADC8 7000A1C8 3C108006 */ lui $s0, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00ADCC 7000A1CC 26103C38 */ addiu $s0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s0, $s0, 0x3c38 /* 00ADD0 7000A1D0 12A4001C */ beq $s5, $a0, .L7000A244 /* 00ADD4 7000A1D4 0000A025 */ move $s4, $zero /* 00ADD8 7000A1D8 8E020004 */ lw $v0, 4($s0) @@ -1158,10 +1107,10 @@ glabel generate_list_alloc_mem /* 00AE28 7000A228 26100008 */ addiu $s0, $s0, 8 /* 00AE2C 7000A22C 56A8FFEB */ bnel $s5, $t0, .L7000A1DC /* 00AE30 7000A230 8E020004 */ lw $v0, 4($s0) -/* 00AE34 7000A234 3C108006 */ lui $s0, %hi(ptr_first_entry_in_alloc_table) -/* 00AE38 7000A238 3C048006 */ lui $a0, %hi(ptr_first_entry_in_alloc_table) -/* 00AE3C 7000A23C 8C843C38 */ lw $a0, %lo(ptr_first_entry_in_alloc_table)($a0) -/* 00AE40 7000A240 26103C38 */ addiu $s0, %lo(ptr_first_entry_in_alloc_table) # addiu $s0, $s0, 0x3c38 +/* 00AE34 7000A234 3C108006 */ lui $s0, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AE38 7000A238 3C048006 */ lui $a0, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AE3C 7000A23C 8C843C38 */ lw $a0, %lo(ptr_table_allocated_mem_blocks + 0x10)($a0) +/* 00AE40 7000A240 26103C38 */ addiu $s0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $s0, $s0, 0x3c38 .L7000A244: /* 00AE44 7000A244 02601825 */ move $v1, $s3 /* 00AE48 7000A248 1000FFD0 */ b .L7000A18C @@ -1192,52 +1141,18 @@ glabel generate_list_alloc_mem -#ifdef NONMATCHING -void generate_lists_before_after_mem_merge(void) { - // Node 0 - generate_list_alloc_mem(); - // Node 1 - sort_merge_entries_in_alloc_table(&ptr_table_allocated_mem_blocks); - if ((0 + 1) != 0x1fc) - { - goto loop_1; - } - // Node 2 - generate_list_alloc_mem(); - return; - // (possible return value: generate_list_alloc_mem()) -} -#else -GLOBAL_ASM( -.text -glabel generate_lists_before_after_mem_merge -/* 00AE9C 7000A29C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00AEA0 7000A2A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 00AEA4 7000A2A4 AFB20020 */ sw $s2, 0x20($sp) -/* 00AEA8 7000A2A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 00AEAC 7000A2AC 0C002840 */ jal generate_list_alloc_mem -/* 00AEB0 7000A2B0 AFB00018 */ sw $s0, 0x18($sp) -/* 00AEB4 7000A2B4 3C118006 */ lui $s1, %hi(ptr_table_allocated_mem_blocks) -/* 00AEB8 7000A2B8 26313C28 */ addiu $s1, %lo(ptr_table_allocated_mem_blocks) # addiu $s1, $s1, 0x3c28 -/* 00AEBC 7000A2BC 00008025 */ move $s0, $zero -/* 00AEC0 7000A2C0 241201FC */ li $s2, 508 -.L7000A2C4: -/* 00AEC4 7000A2C4 0C002694 */ jal sort_merge_entries_in_alloc_table -/* 00AEC8 7000A2C8 02202025 */ move $a0, $s1 -/* 00AECC 7000A2CC 26100001 */ addiu $s0, $s0, 1 -/* 00AED0 7000A2D0 1612FFFC */ bne $s0, $s2, .L7000A2C4 -/* 00AED4 7000A2D4 00000000 */ nop -/* 00AED8 7000A2D8 0C002840 */ jal generate_list_alloc_mem -/* 00AEDC 7000A2DC 00000000 */ nop -/* 00AEE0 7000A2E0 8FBF0024 */ lw $ra, 0x24($sp) -/* 00AEE4 7000A2E4 8FB00018 */ lw $s0, 0x18($sp) -/* 00AEE8 7000A2E8 8FB1001C */ lw $s1, 0x1c($sp) -/* 00AEEC 7000A2EC 8FB20020 */ lw $s2, 0x20($sp) -/* 00AEF0 7000A2F0 03E00008 */ jr $ra -/* 00AEF4 7000A2F4 27BD0028 */ addiu $sp, $sp, 0x28 -) -#endif +void memaGenerateListsBeforeAfterMerge(void) +{ + s32 count; + + generate_list_alloc_mem(); + for (count = 0; count != 0x1fc; count +=1) + { + memaSortMergeEntries(&ptr_table_allocated_mem_blocks); + } + generate_list_alloc_mem(); +} @@ -1248,10 +1163,10 @@ void mem_related_something_first_related_0(void *arg0) s32 phi_s1; void *phi_s0; - if (-1 != ptr_first_entry_in_alloc_table) + if (-1 != ptr_table_allocated_mem_blocks + 0x10) { - phi_s1 = ptr_first_entry_in_alloc_table; - phi_s0 = &ptr_first_entry_in_alloc_table; + phi_s1 = ptr_table_allocated_mem_blocks + 0x10; + phi_s0 = &ptr_table_allocated_mem_blocks + 0x10; loop_2: arg0(phi_s1 + phi_s0->unk4, phi_s0); temp_s1 = phi_s0->unk8; @@ -1268,14 +1183,14 @@ GLOBAL_ASM( .text glabel mem_related_something_first_related_0 /* 00AEF8 7000A2F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00AEFC 7000A2FC 3C0F8006 */ lui $t7, %hi(ptr_first_entry_in_alloc_table) -/* 00AF00 7000A300 8DEF3C38 */ lw $t7, %lo(ptr_first_entry_in_alloc_table)($t7) +/* 00AEFC 7000A2FC 3C0F8006 */ lui $t7, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AF00 7000A300 8DEF3C38 */ lw $t7, %lo(ptr_table_allocated_mem_blocks + 0x10)($t7) /* 00AF04 7000A304 AFB30020 */ sw $s3, 0x20($sp) -/* 00AF08 7000A308 3C0E8006 */ lui $t6, %hi(ptr_first_entry_in_alloc_table) +/* 00AF08 7000A308 3C0E8006 */ lui $t6, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00AF0C 7000A30C 2413FFFF */ li $s3, -1 /* 00AF10 7000A310 AFB2001C */ sw $s2, 0x1c($sp) /* 00AF14 7000A314 AFB00014 */ sw $s0, 0x14($sp) -/* 00AF18 7000A318 25CE3C38 */ addiu $t6, %lo(ptr_first_entry_in_alloc_table) # addiu $t6, $t6, 0x3c38 +/* 00AF18 7000A318 25CE3C38 */ addiu $t6, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $t6, $t6, 0x3c38 /* 00AF1C 7000A31C 00809025 */ move $s2, $a0 /* 00AF20 7000A320 AFBF0024 */ sw $ra, 0x24($sp) /* 00AF24 7000A324 AFB10018 */ sw $s1, 0x18($sp) @@ -1310,17 +1225,17 @@ u32 mem_related_0(void) { // Node 0 sp18 = 0U; - memp_related_7(); - if (-1 != ptr_first_entry_in_alloc_table) + memaSortMergeAllEntries(); + if (-1 != ptr_table_allocated_mem_blocks + 0x10) { loop_1: // Node 1 - if (sp18 < (u32) ptr_first_entry_in_alloc_table.unk4) + if (sp18 < (u32) ptr_table_allocated_mem_blocks + 0x10.unk4) { // Node 2 } // Node 3 - if (-1 != ptr_first_entry_in_alloc_table.unk8) + if (-1 != ptr_table_allocated_mem_blocks + 0x10.unk8) { goto loop_1; } @@ -1343,15 +1258,15 @@ GLOBAL_ASM( glabel mem_related_0 /* 00AF70 7000A370 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 00AF74 7000A374 AFBF0014 */ sw $ra, 0x14($sp) -/* 00AF78 7000A378 0C0026C6 */ jal memp_related_7 +/* 00AF78 7000A378 0C0026C6 */ jal memaSortMergeAllEntries /* 00AF7C 7000A37C AFA00018 */ sw $zero, 0x18($sp) -/* 00AF80 7000A380 3C0E8006 */ lui $t6, %hi(ptr_first_entry_in_alloc_table) -/* 00AF84 7000A384 8DCE3C38 */ lw $t6, %lo(ptr_first_entry_in_alloc_table)($t6) +/* 00AF80 7000A380 3C0E8006 */ lui $t6, %hi(ptr_table_allocated_mem_blocks + 0x10) +/* 00AF84 7000A384 8DCE3C38 */ lw $t6, %lo(ptr_table_allocated_mem_blocks + 0x10)($t6) /* 00AF88 7000A388 2405FFFF */ li $a1, -1 -/* 00AF8C 7000A38C 3C028006 */ lui $v0, %hi(ptr_first_entry_in_alloc_table) +/* 00AF8C 7000A38C 3C028006 */ lui $v0, %hi(ptr_table_allocated_mem_blocks + 0x10) /* 00AF90 7000A390 8FA40018 */ lw $a0, 0x18($sp) /* 00AF94 7000A394 10AE000A */ beq $a1, $t6, .L7000A3C0 -/* 00AF98 7000A398 24423C38 */ addiu $v0, %lo(ptr_first_entry_in_alloc_table) # addiu $v0, $v0, 0x3c38 +/* 00AF98 7000A398 24423C38 */ addiu $v0, %lo(ptr_table_allocated_mem_blocks + 0x10) # addiu $v0, $v0, 0x3c38 /* 00AF9C 7000A39C 8C430004 */ lw $v1, 4($v0) .L7000A3A0: /* 00AFA0 7000A3A0 0083082B */ sltu $at, $a0, $v1 @@ -1379,8 +1294,25 @@ glabel mem_related_0 #ifdef NONMATCHING -void mem_related_1(void) { - +u32 mem_related_1(u32 addr,u32 length,u32 maxsize) +{ + u32 uVar2; + + if (length < maxsize) { + if (mem_related_something_find_first_0((addr + length), (maxsize - length)) == 0) { + uVar2 = 0; + } + else { + uVar2 = 1; + } + } + else { + if (maxsize < length) { + mem_related_model_room_buffers_0((addr + maxsize), (length - maxsize)); + } + uVar2 = 1; + } + return uVar2; } #else GLOBAL_ASM( diff --git a/src/mema.h b/src/mema.h new file mode 100644 index 00000000..dc810e73 --- /dev/null +++ b/src/mema.h @@ -0,0 +1,39 @@ +#ifndef _MEMA_H_ +#define _MEMA_H_ + +#include "ultra64.h" + + +typedef struct s_mem_alloc_entry { + s32 addr; + s32 size; +} s_mem_alloc_entry; + +typedef struct s_mem_alloc_table { + struct s_mem_alloc_entry entries[0x200]; +} s_mem_alloc_table; + +extern struct s_mem_alloc_table ptr_table_allocated_mem_blocks; + +void memaSwap(u8 *a,u8 *b); +void memaMerge(void *arg0, void *arg1); +u32 memaSortMergeEntries(struct s_mem_alloc_table *param_1); +void memaSortMergeAllEntries(void); +u32 mem_related(s32 arg0); +void memaAllocRoomBuffer(u32 addr,u32 size); +void something_with_mema_c_debug(void); +void mempInitMallocTable(void *ptr_allocmem,u32 size); +void mem_related_calls_sort_merge_entries(void); +s32 mem_related_something_find_first(u32 arg0); +s32 mem_related_something_find_first_0(s32 arg0, u32 arg1); +void mem_related_model_room_buffers_0(u32 addr,u32 size) ; +void mem_related_allocated_table_related(void); +f32 mem_related_something_first_related(void); +void generate_list_alloc_mem(void); +void memaGenerateListsBeforeAfterMerge(void); +void mem_related_something_first_related_0(void *arg0); +u32 mem_related_0(void); +u32 mem_related_1(u32 addr,u32 length,u32 maxsize); + + +#endif diff --git a/src/memp.c b/src/memp.c index 5abfdadc..f1414e45 100644 --- a/src/memp.c +++ b/src/memp.c @@ -1,42 +1,45 @@ #include "ultra64.h" #include "memp.h" +#include "game/lvl_text.h" /** * @file memp.c * This file contains code for memp. */ -char memory_bank_ptrs[0x8]; -char D_80063BB8[0x8]; -char D_80063BC0[0x4]; -char D_80063BC4[0x4]; -char D_80063BC8[0x8]; -char D_80063BD0[0x4]; -char D_80063BD4[0x4]; -char D_80063BD8[0x8]; -char D_80063BE0[4]; -char D_80063BE4[4]; -char D_80063BE8[8]; -u32 *ptr_model_room_buf_pri; -char dword_CODE_bss_80063BF8[0x24]; -s32 dword_CODE_bss_80063C1C; +//bss +struct s_mempBANK memory_bank_ptrs[0x7]; +//data void *ptr_memp_c_debug_debug_notice_list = 0; -s32 tied_to_mem_management[] = {0, 0, 0, 0}; -s32 D_80024414 = 2; -s32 D_80024418 = 0; -s32 D_8002441C = 4; -s32 D_80024420 = 0x52; -s32 D_80024424 = 6; -s32 D_80024428 = 0xF; -s32 D_8002442C = 0; -s32 D_80024430 = 0; -s32 D_80024434 = 0; -s32 D_80024438 = 0; -s32 D_8002443C = 0; -s32 D_80024440 = 0; -s32 D_80024444 = 0; -s32 D_80024448 = 0; -s32 D_8002444C = 0; +s32 needmemallocation = 0; +s32 D_80024408 = 0; +s32 D_8002440C = 0; + +struct s_mempMVALS sdefaultmvals = { + 0, //D_80024410 + 2, //D_80024414 + 0, //mf + 4, //D_8002441C + 0x52, //ml + 6, //D_80024424 + 0xF, //me + 0, //D_8002442C + 0 //D_80024430 +}; + +struct s_mempMEMSTARTS sdefaultmemstarts = { + 0, //bank1start + 0, //bank2start + 0, //bank3start + 0, //bank4start + 0, //bank5start + 0, //bank6start + 0 //bank7start +}; + + + + /** @@ -48,71 +51,58 @@ void something_with_memp_c_debug(void) get_ptr_debug_notice_list_entry(&ptr_memp_c_debug_debug_notice_list, "memp_c_debug"); //should be "memp_c_debug" } - - - - - /** * 9FAC 700093AC * initialize memory allocation table and set font and text bank sizes * accepts: A0=p->buffer, A1=size * uses "-mf", "-ml", "-me" strings */ -#ifdef NONMATCHING -void check_memflag_tokens(s32 arg0, s32 arg1, s32 arg11) { - ? sp20; - s32 sp24; - s32 sp2C; - s32 sp34; - s32 temp_v1; +#ifdef NONMATCHING// +void mempCheckMemflagTokens(int bstart,int bsize) +{ + u32 iVar1; + u32 local_20; + u32 mfval; + u32 local_18; + u32 mlval; + u32 local_10; + u32 meval; + u32 local_8; + u32 local_4; + + memory_bank_ptrs[0].bankend = bstart + bsize; + local_20 = sdefaultmvals.D_80024414; + mfval = sdefaultmvals.mf; + mlval = sdefaultmvals.ml; + local_18 = sdefaultmvals.D_8002441C; + local_10 = sdefaultmvals.D_80024424; + meval = sdefaultmvals.me; + local_4 = sdefaultmvals.D_80024430; + local_8 = sdefaultmvals.D_8002442C; + memory_bank_ptrs[0].bankstart = bstart; - // Node 0 - memory_bank_ptrs = arg0; - memory_bank_ptrs.unk8 = (s32) (arg0 + arg1); - sp20 = (?32) D_80024414; - sp20.unk4 = (?32) D_80024414.unk4; - sp20.unkC = (?32) D_80024414.unkC; - sp20.unk8 = (?32) D_80024414.unk8; - sp20.unk10 = (?32) D_80024414.unk10; - sp20.unk14 = (?32) D_80024414.unk14; - sp20.unk1C = (?32) D_80024414.unk1C; - sp20.unk18 = (?32) D_80024414.unk18; - if (check_token(1, &aMf) != 0) - { - // Node 1 - sp24 = strtol(check_token(1, &aMf_0), 0, 0); + if (check_token(1,"-mf") != 0) { + mfval = strtol(check_token(1,"-mf"),NULL,0); } - // Node 2 - if (check_token(1, &aMl) != 0) - { - // Node 3 - sp2C = strtol(check_token(1, &aMl_0), 0, 0); + + if (check_token(1,"-ml") != 0) { + mlval = strtol(check_token(1,"-ml"),NULL,0); } - // Node 4 - if (check_token(1, &aMe) != 0) - { - // Node 5 - sp34 = strtol(check_token(1, &aMe_0), 0, 0); + + if (check_token(1,"-me") != 0) { + meval = strtol(check_token(1,"-me"),NULL,0); } - // Node 6 - if (sp34 == 0) - { - // Node 7 - sp24 = 0; - if (j_text_trigger != 0) - { - // Node 8 + + if (meval == 0) { + mfval = 0; + iVar1 = 0x128; + if (j_text_trigger != 0) { + iVar1 = 0x134; } - // Node 9 - temp_v1 = (0x128 << 0xa); - sp2C = (s32) (arg11 - temp_v1); - sp34 = temp_v1; + meval = iVar1 * 0x400; + mlval = bsize + iVar1 * -0x400; } - // Node 10 - memp_related_0(&sp20); - return; - // (possible return value: memp_related_0(&sp20)) + mempSetBankStarts(&local_20); } #else GLOBAL_ASM( @@ -131,17 +121,17 @@ glabel aMe_0 .word 0x2d6d6500 /*"-me"*/ .text -glabel check_memflag_tokens +glabel mempCheckMemflagTokens /* 009FAC 700093AC 3C028006 */ lui $v0, %hi(memory_bank_ptrs) /* 009FB0 700093B0 24423BB0 */ addiu $v0, %lo(memory_bank_ptrs) # addiu $v0, $v0, 0x3bb0 /* 009FB4 700093B4 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 009FB8 700093B8 00857821 */ addu $t7, $a0, $a1 -/* 009FBC 700093BC 3C198002 */ lui $t9, %hi(D_80024414) +/* 009FBC 700093BC 3C198002 */ lui $t9, %hi(sdefaultmvals +0x4) /* 009FC0 700093C0 AFBF0014 */ sw $ra, 0x14($sp) /* 009FC4 700093C4 AFA50044 */ sw $a1, 0x44($sp) /* 009FC8 700093C8 AC440000 */ sw $a0, ($v0) /* 009FCC 700093CC AC4F0008 */ sw $t7, 8($v0) -/* 009FD0 700093D0 27394414 */ addiu $t9, %lo(D_80024414) # addiu $t9, $t9, 0x4414 +/* 009FD0 700093D0 27394414 */ addiu $t9, %lo(sdefaultmvals +0x4) # addiu $t9, $t9, 0x4414 /* 009FD4 700093D4 8F210000 */ lw $at, ($t9) /* 009FD8 700093D8 8F290004 */ lw $t1, 4($t9) /* 009FDC 700093DC 27B80020 */ addiu $t8, $sp, 0x20 @@ -221,7 +211,7 @@ glabel check_memflag_tokens /* 00A0F4 700094F4 AFAC002C */ sw $t4, 0x2c($sp) /* 00A0F8 700094F8 AFA30034 */ sw $v1, 0x34($sp) .L700094FC: -/* 00A0FC 700094FC 0C002545 */ jal memp_related_0 +/* 00A0FC 700094FC 0C002545 */ jal mempSetBankStarts /* 00A100 70009500 27A40020 */ addiu $a0, $sp, 0x20 /* 00A104 70009504 8FBF0014 */ lw $ra, 0x14($sp) /* 00A108 70009508 27BD0040 */ addiu $sp, $sp, 0x40 @@ -240,110 +230,93 @@ glabel check_memflag_tokens * accepts: A0=p->allocation sizes */ #ifdef NONMATCHING -void *memp_related_0(void *arg0) { - s32 sp30; - s32 sp34; - s32 sp38; - s32 sp3C; - s32 sp60; - s32 sp78; - ? sp7C; - u32 temp_s0; - s32 temp_v1; - ? temp_ret; - u32 temp_s0_2; - u32 temp_s0_3; - s32 temp_v0; - void *temp_v0_2; - void *temp_s0_4; - s32 temp_a0; - s32 temp_a1; - s32 temp_v1_2; - - // Node 0 - sp60 = (s32) D_80024434; - sp60.unk4 = (s32) D_80024434.unk4; - sp60.unk8 = (?32) D_80024434.unk8; - sp60.unkC = (?32) D_80024434.unkC; - sp60.unk10 = (?32) D_80024434.unk10; - sp60.unk14 = (?32) D_80024434.unk14; - sp60.unk18 = (?32) D_80024434.unk18; - // Node 1 - *(&sp60 + (*arg0 * 4)) = (?32) arg0->unk4; - if (arg0->unk8 != 0) - { - goto loop_1; +void mempSetBankStarts(int *banks) +{ + int *piVar1; + int right_l; + longlong lVar2; + longlong lVar3; + int iVar4; + int iVar5; + s_memstarts *psVar6; + s_memstarts *psVar7; + s_memstarts bankstarts; + undefined auStack4 [4]; + + bankstarts.bank1start = sdefaultmemstarts.bank1start; + bankstarts.bank2start = sdefaultmemstarts.bank2start; + psVar6 = &bankstarts; + bankstarts.bank3start = sdefaultmemstarts.bank3start; + bankstarts.bank4start = sdefaultmemstarts.bank4start; + bankstarts.bank5start = sdefaultmemstarts.bank5start; + bankstarts.bank6start = sdefaultmemstarts.bank6start; + bankstarts.bank7start = sdefaultmemstarts.bank7start; + right_l = *banks; + iVar4 = banks[1]; + while( true ) { + (&bankstarts.bank1start)[right_l] = iVar4; + right_l = banks[2]; + if (right_l == 0) break; + iVar4 = banks[3]; + banks = banks + 2; } - // Node 2 - // Node 3 - temp_s0 = (&sp60 + 4); - *temp_s0 = (s32) (sp60.unk4 + sp60); - if (temp_s0 < &sp78) - { - goto loop_3; - } - // Node 4 - temp_v1 = (memory_bank_ptrs.unk8 - memory_bank_ptrs); - sp30 = (s32) (sp78 >> 0x1f); - sp38 = (s32) (temp_v1 >> 0x1f); - sp3C = temp_v1; - sp34 = sp78; - // Node 5 - temp_ret = __ll_mul(((s32) sp60 >> 0x1f), sp60, sp38, sp3C); - temp_s0_2 = (&sp60 + 4); - temp_s0_2->unk-4 = (u64) __ll_div(temp_ret, temp_ret, sp30, sp34); - if (temp_s0_2 < &sp7C) - { - goto loop_5; - } - // Node 6 - // Node 7 - temp_s0_3 = (&sp60 + 4); - temp_s0_3->unk-4 = (s32) ((sp60 | 0xf) ^ 0xf); - if (temp_s0_3 < &sp7C) - { - goto loop_7; - } - // Node 8 - D_80063BC4 = (s32) (sp60 + memory_bank_ptrs); - D_80063BC4 = 0; - temp_v0 = (sp64 + memory_bank_ptrs); - D_80063BC8 = temp_v0; - D_80063BD4 = temp_v0; - D_80063BD4 = 0; - D_80063BD8 = (s32) (sp68 + memory_bank_ptrs); - temp_v0_2 = (&memory_bank_ptrs + (2 * 0x10)); - temp_s0_4 = (&sp60 + (2 * 4)); - temp_a0 = (temp_s0_4->unk8 + memory_bank_ptrs); - temp_a1 = (temp_s0_4->unkC + memory_bank_ptrs); - temp_v1_2 = (temp_s0_4->unk4 + memory_bank_ptrs); - temp_v0_2->unk48 = (s32) (temp_s0_4->unk10 + memory_bank_ptrs); - temp_v0_2->unk20 = temp_v1_2; - temp_v0_2->unk38 = temp_a1; - temp_v0_2->unk40 = temp_a1; - temp_v0_2->unk28 = temp_a0; - temp_v0_2->unk30 = temp_a0; - temp_v0_2->unk24 = 0; - temp_v0_2->unk34 = 0; - temp_v0_2->unk44 = 0; - temp_v0_2->unk10 = (s32) (*temp_s0_4 + memory_bank_ptrs); - temp_v0_2->unk14 = 0; - temp_v0_2->unk18 = temp_v1_2; - return; - // (possible return value: temp_v0_2) + right_l = bankstarts.bank1start; + do { + piVar1 = &psVar6->bank2start; + psVar6 = (s_memstarts *)&psVar6->bank2start; + right_l = *piVar1 + right_l; + psVar6->bank1start = right_l; + iVar4 = bankstarts.bank7start; + } while (psVar6 < (s_memstarts *)&bankstarts.bank7start); + right_l = memory_bank_ptrs[0].bankend - memory_bank_ptrs[0].bankstart; + lVar3 = (longlong)right_l; + iVar5 = bankstarts.bank7start >> 0x1f; + psVar6 = &bankstarts; + do { + lVar2 = __ll_mul((int)psVar6->bank1start >> 0x1f,psVar6->bank1start,right_l >> 0x1f,right_l) + ; + __ll_div((int)lVar2,(int)lVar3,iVar5,iVar4); + psVar7 = (s_memstarts *)&psVar6->bank2start; + psVar6->bank1start = (int)lVar3; + psVar6 = psVar7; + } while (psVar7 < (s_memstarts *)auStack4); + psVar6 = &bankstarts; + do { + psVar7 = (s_memstarts *)&psVar6->bank2start; + psVar6->bank1start = (psVar6->bank1start | 0xf) ^ 0xf; + psVar6 = psVar7; + } while (psVar7 < (s_memstarts *)auStack4); + memory_bank_ptrs[1].bankstart = bankstarts.bank1start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[1].nextentry = 0; + memory_bank_ptrs[1].bankend = bankstarts.bank2start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[2].bankstart = bankstarts.bank2start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[2].nextentry = 0; + memory_bank_ptrs[2].bankend = bankstarts.bank3start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[3].bankstart = bankstarts.bank3start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[3].nextentry = 0; + memory_bank_ptrs[3].bankend = bankstarts.bank4start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[4].bankstart = bankstarts.bank4start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[4].nextentry = 0; + memory_bank_ptrs[4].bankend = bankstarts.bank5start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[5].bankstart = bankstarts.bank5start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[5].nextentry = 0; + memory_bank_ptrs[5].bankend = bankstarts.bank6start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[6].bankstart = bankstarts.bank6start + memory_bank_ptrs[0].bankstart; + memory_bank_ptrs[6].nextentry = 0; + memory_bank_ptrs[6].bankend = bankstarts.bank7start + memory_bank_ptrs[0].bankstart; } #else GLOBAL_ASM( .text -glabel memp_related_0 +glabel mempSetBankStarts /* 00A114 70009514 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 00A118 70009518 3C0E8002 */ lui $t6, %hi(D_80024434) +/* 00A118 70009518 3C0E8002 */ lui $t6, %hi(sdefaultmemstarts) /* 00A11C 7000951C AFBF0024 */ sw $ra, 0x24($sp) /* 00A120 70009520 AFB30020 */ sw $s3, 0x20($sp) /* 00A124 70009524 AFB2001C */ sw $s2, 0x1c($sp) /* 00A128 70009528 AFB10018 */ sw $s1, 0x18($sp) /* 00A12C 7000952C AFB00014 */ sw $s0, 0x14($sp) -/* 00A130 70009530 25CE4434 */ addiu $t6, %lo(D_80024434) # addiu $t6, $t6, 0x4434 +/* 00A130 70009530 25CE4434 */ addiu $t6, %lo(sdefaultmemstarts) # addiu $t6, $t6, 0x4434 /* 00A134 70009534 8DC10000 */ lw $at, ($t6) /* 00A138 70009538 27B20060 */ addiu $s2, $sp, 0x60 /* 00A13C 7000953C 3C138006 */ lui $s3, %hi(memory_bank_ptrs) @@ -423,20 +396,20 @@ glabel memp_related_0 /* 00A254 70009654 8E660000 */ lw $a2, ($s3) /* 00A258 70009658 8FB80060 */ lw $t8, 0x60($sp) /* 00A25C 7000965C 8FAF0064 */ lw $t7, 0x64($sp) -/* 00A260 70009660 3C018006 */ lui $at, %hi(D_80063BC4) +/* 00A260 70009660 3C018006 */ lui $at, %hi(memory_bank_ptrs+0x14) /* 00A264 70009664 03067021 */ addu $t6, $t8, $a2 -/* 00A268 70009668 AC2E3BC0 */ sw $t6, %lo(D_80063BC0)($at) -/* 00A26C 7000966C AC203BC4 */ sw $zero, %lo(D_80063BC4)($at) -/* 00A270 70009670 3C018006 */ lui $at, %hi(D_80063BC8) +/* 00A268 70009668 AC2E3BC0 */ sw $t6, %lo(memory_bank_ptrs+0x10)($at) +/* 00A26C 7000966C AC203BC4 */ sw $zero, %lo(memory_bank_ptrs+0x14)($at) +/* 00A270 70009670 3C018006 */ lui $at, %hi(memory_bank_ptrs+0x18) /* 00A274 70009674 01E61021 */ addu $v0, $t7, $a2 -/* 00A278 70009678 AC223BC8 */ sw $v0, %lo(D_80063BC8)($at) +/* 00A278 70009678 AC223BC8 */ sw $v0, %lo(memory_bank_ptrs+0x18)($at) /* 00A27C 7000967C 8FA80068 */ lw $t0, 0x68($sp) -/* 00A280 70009680 3C018006 */ lui $at, %hi(D_80063BD4) -/* 00A284 70009684 AC223BD0 */ sw $v0, %lo(D_80063BD0)($at) -/* 00A288 70009688 AC203BD4 */ sw $zero, %lo(D_80063BD4)($at) -/* 00A28C 7000968C 3C018006 */ lui $at, %hi(D_80063BD8) +/* 00A280 70009680 3C018006 */ lui $at, %hi(memory_bank_ptrs+0x24) +/* 00A284 70009684 AC223BD0 */ sw $v0, %lo(memory_bank_ptrs+0x20)($at) +/* 00A288 70009688 AC203BD4 */ sw $zero, %lo(memory_bank_ptrs+0x24)($at) +/* 00A28C 7000968C 3C018006 */ lui $at, %hi(memory_bank_ptrs+0x28) /* 00A290 70009690 01064821 */ addu $t1, $t0, $a2 -/* 00A294 70009694 AC293BD8 */ sw $t1, %lo(D_80063BD8)($at) +/* 00A294 70009694 AC293BD8 */ sw $t1, %lo(memory_bank_ptrs+0x28)($at) /* 00A298 70009698 24070002 */ li $a3, 2 /* 00A29C 7000969C 0007C900 */ sll $t9, $a3, 4 /* 00A2A0 700096A0 02791021 */ addu $v0, $s3, $t9 @@ -482,19 +455,58 @@ glabel memp_related_0 * accepts: A0=size, A1=bank */ #ifdef NONMATCHING -void allocate_bytes_in_bank(void) { - +u32 mempAllocBytesInBank(u32 bytes,u8 bank) +{ + uint next; + uint end; + int domemalloc; + int bankmask; + + bankmask = (bank & 0xff) << 4; + while( true ) { + domemalloc = needmemallocation; + next = *(uint *)((int)&memory_bank_ptrs[0].nextentry + bankmask); + if (next == 0) { + do { + /* WARNING: Do nothing block with infinite loop */ + } while( true ); + } + end = *(uint *)((int)&memory_bank_ptrs[0].bankend + bankmask); + if (end < next) { + nulled_mempLoopAllMemBanks(); + do { + /* WARNING: Do nothing block with infinite loop */ + } while( true ); + } + if (next + bytes <= end) { + *(int *)((int)&memory_bank_ptrs[0].nextentry + bankmask) = next + bytes; + *(uint *)((int)&memory_bank_ptrs[0].data2 + bankmask) = next; + return next; + } + if ((uint)memory_bank_ptrs[6].bankend < memory_bank_ptrs[6].nextentry + bytes) break; + needmemallocation = 1; + if (domemalloc == 0) { + bankmask = 0x60; + } + else { + bankmask = 0x60; + } + } + nulled_mempLoopAllMemBanks(); + do { + /* WARNING: Do nothing block with infinite loop */ + } while( true ); } #else GLOBAL_ASM( .text -glabel allocate_bytes_in_bank +glabel mempAllocBytesInBank /* 00A320 70009720 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00A324 70009724 AFA5001C */ sw $a1, 0x1c($sp) /* 00A328 70009728 30A700FF */ andi $a3, $a1, 0xff /* 00A32C 7000972C 3C058006 */ lui $a1, %hi(memory_bank_ptrs) -/* 00A330 70009730 3C0A8002 */ lui $t2, %hi(tied_to_mem_management) -/* 00A334 70009734 254A4404 */ addiu $t2, %lo(tied_to_mem_management) # addiu $t2, $t2, 0x4404 +/* 00A330 70009730 3C0A8002 */ lui $t2, %hi(needmemallocation) +/* 00A334 70009734 254A4404 */ addiu $t2, %lo(needmemallocation) # addiu $t2, $t2, 0x4404 /* 00A338 70009738 24A53BB0 */ addiu $a1, %lo(memory_bank_ptrs) # addiu $a1, $a1, 0x3bb0 /* 00A33C 7000973C AFBF0014 */ sw $ra, 0x14($sp) /* 00A340 70009740 00803025 */ move $a2, $a0 @@ -505,8 +517,8 @@ glabel allocate_bytes_in_bank /* 00A350 70009750 14400006 */ bnez $v0, .L7000976C /* 00A354 70009754 00404025 */ move $t0, $v0 /* 00A358 70009758 24190001 */ li $t9, 1 -/* 00A35C 7000975C 3C018002 */ lui $at, %hi(tied_to_mem_management) -/* 00A360 70009760 AC394404 */ sw $t9, %lo(tied_to_mem_management)($at) +/* 00A35C 7000975C 3C018002 */ lui $at, %hi(needmemallocation) +/* 00A360 70009760 AC394404 */ sw $t9, %lo(needmemallocation)($at) .L70009764: /* 00A364 70009764 1000FFFF */ b .L70009764 /* 00A368 70009768 00000000 */ nop @@ -516,7 +528,7 @@ glabel allocate_bytes_in_bank /* 00A374 70009774 0082082B */ sltu $at, $a0, $v0 /* 00A378 70009778 50200006 */ beql $at, $zero, .L70009794 /* 00A37C 7000977C 008D082B */ sltu $at, $a0, $t5 -/* 00A380 70009780 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes +/* 00A380 70009780 0C00263C */ jal nulled_mempLoopAllMemBanks /* 00A384 70009784 24070006 */ li $a3, 6 .L70009788: /* 00A388 70009788 1000FFFF */ b .L70009788 @@ -540,7 +552,7 @@ glabel allocate_bytes_in_bank /* 00A3CC 700097CC 1000FFDE */ b .L70009748 /* 00A3D0 700097D0 0007C100 */ sll $t8, $a3, 4 .L700097D4: -/* 00A3D4 700097D4 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes +/* 00A3D4 700097D4 0C00263C */ jal nulled_mempLoopAllMemBanks /* 00A3D8 700097D8 00000000 */ nop .L700097DC: /* 00A3DC 700097DC 1000FFFF */ b .L700097DC @@ -565,15 +577,54 @@ glabel allocate_bytes_in_bank * accepts: A0=p->allocated data, A1=size of data, A2=bank# */ #ifdef NONMATCHING -void memp_related_1(void) { - +u32 mempAddEntryOfSizeToBank(s32 ptrdata,int size,u8 bank) +{ + u32 entry; + u32 retval; + + if ((needmemallocation != 0) && (ptrdata == memory_bank_ptrs[6].data2)) { + bank = 6; + } + entry = memory_bank_ptrs[bank].nextentry; + if (entry == 0) { + do { + /* WARNING: Do nothing block with infinite loop */ + } while( 1 ); + } + if (ptrdata == memory_bank_ptrs[bank].data2) { + size = size - (entry - (int)memory_bank_ptrs[bank].data2); + if (size < 1) { + memory_bank_ptrs[bank].nextentry = entry + size; + retval = 1; + } + else { + if (memory_bank_ptrs[bank].bankend < entry) { + nulled_mempLoopAllMemBanks(); + do { + /* WARNING: Do nothing block with infinite loop */ + } while( 1 ); + } + if (memory_bank_ptrs[bank].bankend < entry + size) { + nulled_mempLoopAllMemBanks(); + do { + /* WARNING: Do nothing block with infinite loop */ + } while( 1 ); + } + memory_bank_ptrs[bank].nextentry = entry + size; + retval = 1; + } + } + else { + retval = 2; + } + return retval; } #else GLOBAL_ASM( .text -glabel memp_related_1 -/* 00A404 70009804 3C0F8002 */ lui $t7, %hi(tied_to_mem_management) -/* 00A408 70009808 8DEF4404 */ lw $t7, %lo(tied_to_mem_management)($t7) +glabel mempAddEntryOfSizeToBank +/* 00A404 70009804 3C0F8002 */ lui $t7, %hi(needmemallocation) +/* 00A408 70009808 8DEF4404 */ lw $t7, %lo(needmemallocation)($t7) /* 00A40C 7000980C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00A410 70009810 AFA60020 */ sw $a2, 0x20($sp) /* 00A414 70009814 30CE00FF */ andi $t6, $a2, 0xff @@ -582,8 +633,8 @@ glabel memp_related_1 /* 00A420 70009820 AFA5001C */ sw $a1, 0x1c($sp) /* 00A424 70009824 11E00006 */ beqz $t7, .L70009840 /* 00A428 70009828 00803825 */ move $a3, $a0 -/* 00A42C 7000982C 3C188006 */ lui $t8, %hi(dword_CODE_bss_80063C1C) -/* 00A430 70009830 8F183C1C */ lw $t8, %lo(dword_CODE_bss_80063C1C)($t8) +/* 00A42C 7000982C 3C188006 */ lui $t8, %hi(memory_bank_ptrs+0x6C) +/* 00A430 70009830 8F183C1C */ lw $t8, %lo(memory_bank_ptrs+0x6C)($t8) /* 00A434 70009834 14980002 */ bne $a0, $t8, .L70009840 /* 00A438 70009838 00000000 */ nop /* 00A43C 7000983C 24060006 */ li $a2, 6 @@ -619,7 +670,7 @@ glabel memp_related_1 /* 00A4A0 700098A0 0044082B */ sltu $at, $v0, $a0 /* 00A4A4 700098A4 50200006 */ beql $at, $zero, .L700098C0 /* 00A4A8 700098A8 004D082B */ sltu $at, $v0, $t5 -/* 00A4AC 700098AC 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes +/* 00A4AC 700098AC 0C00263C */ jal nulled_mempLoopAllMemBanks /* 00A4B0 700098B0 24060006 */ li $a2, 6 .L700098B4: /* 00A4B4 700098B4 1000FFFF */ b .L700098B4 @@ -628,7 +679,7 @@ glabel memp_related_1 .L700098C0: /* 00A4C0 700098C0 10200005 */ beqz $at, .L700098D8 /* 00A4C4 700098C4 00837021 */ addu $t6, $a0, $v1 -/* 00A4C8 700098C8 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes +/* 00A4C8 700098C8 0C00263C */ jal nulled_mempLoopAllMemBanks /* 00A4CC 700098CC 24060006 */ li $a2, 6 .L700098D0: /* 00A4D0 700098D0 1000FFFF */ b .L700098D0 @@ -651,92 +702,31 @@ glabel memp_related_1 * V0=8 -- loop eight times, needlessly; fries AT,T6 * used by "show mem use", step 1; probably originally listed all eight memory allocations */ -#ifdef NONMATCHING -s32 nulled_list_all8_mem_alloc_banks_sizes(void) { - // Node 0 - // Node 1 - if (((1 + 1) & 0xff) < 7) + +void nulled_mempLoopAllMemBanks(void) +{ + s32 bank; + for (bank = 1; bank < 7; bank = (bank + 1) & 0xff) { - goto loop_1; - } - // (possible return value: ((1 + 1) & 0xff)) + ; + }; } -#else -GLOBAL_ASM( -.text -glabel nulled_list_all8_mem_alloc_banks_sizes -/* 00A4F0 700098F0 24020001 */ li $v0, 1 -.L700098F4: -/* 00A4F4 700098F4 24420001 */ addiu $v0, $v0, 1 -/* 00A4F8 700098F8 304E00FF */ andi $t6, $v0, 0xff -/* 00A4FC 700098FC 29C10007 */ slti $at, $t6, 7 -/* 00A500 70009900 1420FFFC */ bnez $at, .L700098F4 -/* 00A504 70009904 01C01025 */ move $v0, $t6 -/* 00A508 70009908 03E00008 */ jr $ra -/* 00A50C 7000990C 00000000 */ nop -) -#endif - - - /** * A510 70009910 * V0= total allocated size of bank A0 * accepts: A0=bank# */ -#ifdef NONMATCHING -s32 memp_related_3(s32 arg0) { - // Node 0 - if (tied_to_mem_management != 0) - { - // Node 1 +s32 mempGetBankSizeLeft(u8 bank) +{ + if (needmemallocation != 0) { + bank = 6; } - // Node 2 - if ((arg0 & 0xff) == 4) - { - // Node 3 - if (memory_bank_ptrs.unk40 == memory_bank_ptrs.unk48) - { - // Node 4 - return; - // (possible return value: ((&memory_bank_ptrs + ((arg0 & 0xff) * 0x10))->unk8 - (&memory_bank_ptrs + ((arg0 & 0xff) * 0x10))->unk4)) - } + if ((bank == 4) && (memory_bank_ptrs[4].bankstart == memory_bank_ptrs[4].bankend)) { + bank = 6; } - // (possible return value: ((&memory_bank_ptrs + ((arg0 & 0xff) * 0x10))->unk8 - (&memory_bank_ptrs + ((arg0 & 0xff) * 0x10))->unk4)) + return memory_bank_ptrs[bank].bankend - memory_bank_ptrs[bank].nextentry; } -#else -GLOBAL_ASM( -.text -glabel memp_related_3 -/* 00A510 70009910 3C0F8002 */ lui $t7, %hi(tied_to_mem_management) -/* 00A514 70009914 8DEF4404 */ lw $t7, %lo(tied_to_mem_management)($t7) -/* 00A518 70009918 AFA40000 */ sw $a0, ($sp) -/* 00A51C 7000991C 308E00FF */ andi $t6, $a0, 0xff -/* 00A520 70009920 11E00002 */ beqz $t7, .L7000992C -/* 00A524 70009924 01C02025 */ move $a0, $t6 -/* 00A528 70009928 24040006 */ li $a0, 6 -.L7000992C: -/* 00A52C 7000992C 24010004 */ li $at, 4 -/* 00A530 70009930 14810007 */ bne $a0, $at, .L70009950 -/* 00A534 70009934 3C058006 */ lui $a1, %hi(memory_bank_ptrs) -/* 00A538 70009938 24A53BB0 */ addiu $a1, %lo(memory_bank_ptrs) # addiu $a1, $a1, 0x3bb0 -/* 00A53C 7000993C 8CB80040 */ lw $t8, 0x40($a1) -/* 00A540 70009940 8CB90048 */ lw $t9, 0x48($a1) -/* 00A544 70009944 17190002 */ bne $t8, $t9, .L70009950 -/* 00A548 70009948 00000000 */ nop -/* 00A54C 7000994C 24040006 */ li $a0, 6 -.L70009950: -/* 00A550 70009950 3C058006 */ lui $a1, %hi(memory_bank_ptrs) -/* 00A554 70009954 24A53BB0 */ addiu $a1, %lo(memory_bank_ptrs) # addiu $a1, $a1, 0x3bb0 -/* 00A558 70009958 00044100 */ sll $t0, $a0, 4 -/* 00A55C 7000995C 00A81821 */ addu $v1, $a1, $t0 -/* 00A560 70009960 8C690008 */ lw $t1, 8($v1) -/* 00A564 70009964 8C6A0004 */ lw $t2, 4($v1) -/* 00A568 70009968 03E00008 */ jr $ra -/* 00A56C 7000996C 012A1023 */ subu $v0, $t1, $t2 -) -#endif @@ -748,22 +738,20 @@ glabel memp_related_3 * accepts: A0=size/bank# entry (ssssssss ssssssss sssssssss sssssbbb) */ #ifdef NONMATCHING -void memp_related_4(u32 arg0) { - // Node 0 - allocate_bytes_in_bank((arg0 >> 3), (arg0 & 7)); - return; - // (possible return value: allocate_bytes_in_bank((arg0 >> 3), (arg0 & 7))) +u32 mempAllocPackedBytesInBank(u32 param_1) +{ + return mempAllocBytesInBank((param_1 >> 3),(param_1 & 7)); } #else GLOBAL_ASM( .text -glabel memp_related_4 +glabel mempAllocPackedBytesInBank /* 00A570 70009970 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 00A574 70009974 00802825 */ move $a1, $a0 /* 00A578 70009978 AFBF0014 */ sw $ra, 0x14($sp) /* 00A57C 7000997C 30AE0007 */ andi $t6, $a1, 7 /* 00A580 70009980 01C02825 */ move $a1, $t6 -/* 00A584 70009984 0C0025C8 */ jal allocate_bytes_in_bank +/* 00A584 70009984 0C0025C8 */ jal mempAllocBytesInBank /* 00A588 70009988 000420C2 */ srl $a0, $a0, 3 /* 00A58C 7000998C 8FBF0014 */ lw $ra, 0x14($sp) /* 00A590 70009990 27BD0018 */ addiu $sp, $sp, 0x18 @@ -781,82 +769,20 @@ glabel memp_related_4 * reset memory bank A0 [0-6] * copies base address for memory bank A0 to +4, fry +C */ -#ifdef NONMATCHING -void *reset_mem_bank_a0(s32 arg0) { - void *temp_v0; - - // Node 0 - temp_v0 = (((arg0 & 0xff) * 0x10) + &memory_bank_ptrs); - temp_v0->unkC = 0; - temp_v0->unk4 = (?32) *temp_v0; - return; - // (possible return value: temp_v0) +void mempResetBank(u8 bank) +{ + memory_bank_ptrs[bank].data2 = 0; + memory_bank_ptrs[bank].nextentry = memory_bank_ptrs[bank].bankstart; } -#else -GLOBAL_ASM( -.text -glabel reset_mem_bank_a0 -/* 00A59C 7000999C 308E00FF */ andi $t6, $a0, 0xff -/* 00A5A0 700099A0 3C188006 */ lui $t8, %hi(memory_bank_ptrs) -/* 00A5A4 700099A4 27183BB0 */ addiu $t8, %lo(memory_bank_ptrs) # addiu $t8, $t8, 0x3bb0 -/* 00A5A8 700099A8 000E7900 */ sll $t7, $t6, 4 -/* 00A5AC 700099AC 01F81021 */ addu $v0, $t7, $t8 -/* 00A5B0 700099B0 8C590000 */ lw $t9, ($v0) -/* 00A5B4 700099B4 AFA40000 */ sw $a0, ($sp) -/* 00A5B8 700099B8 AC40000C */ sw $zero, 0xc($v0) -/* 00A5BC 700099BC 03E00008 */ jr $ra -/* 00A5C0 700099C0 AC590004 */ sw $t9, 4($v0) -) -#endif - - - - /** * A5C4 700099C4 * accepts: A0=bank# */ -#ifdef NONMATCHING -void *memp_related_6(s32 arg0, s32 arg_unaligned3) { - void *temp_v0; - - // Node 0 - nulled_list_all8_mem_alloc_banks_sizes(); - temp_v0 = ((arg_unaligned3 * 0x10) + &memory_bank_ptrs); - if (temp_v0->unk4 != 0) - { - // Node 1 - temp_v0->unk4 = 0; +void mempNullNextEntryInBank(u8 bank) +{ + nulled_mempLoopAllMemBanks(); + if (memory_bank_ptrs[bank].nextentry != 0) { + memory_bank_ptrs[bank].nextentry = 0; } - // Node 2 - return temp_v0; } -#else -GLOBAL_ASM( -.text -glabel memp_related_6 -/* 00A5C4 700099C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00A5C8 700099C8 AFBF0014 */ sw $ra, 0x14($sp) -/* 00A5CC 700099CC 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes -/* 00A5D0 700099D0 AFA40018 */ sw $a0, 0x18($sp) -/* 00A5D4 700099D4 93AE001B */ lbu $t6, 0x1b($sp) -/* 00A5D8 700099D8 3C188006 */ lui $t8, %hi(memory_bank_ptrs) -/* 00A5DC 700099DC 27183BB0 */ addiu $t8, %lo(memory_bank_ptrs) # addiu $t8, $t8, 0x3bb0 -/* 00A5E0 700099E0 000E7900 */ sll $t7, $t6, 4 -/* 00A5E4 700099E4 01F81021 */ addu $v0, $t7, $t8 -/* 00A5E8 700099E8 8C590004 */ lw $t9, 4($v0) -/* 00A5EC 700099EC 53200003 */ beql $t9, $zero, .L700099FC -/* 00A5F0 700099F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A5F4 700099F4 AC400004 */ sw $zero, 4($v0) -/* 00A5F8 700099F8 8FBF0014 */ lw $ra, 0x14($sp) -.L700099FC: -/* 00A5FC 700099FC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00A600 70009A00 03E00008 */ jr $ra -/* 00A604 70009A04 00000000 */ nop -) -#endif - - - - diff --git a/src/memp.h b/src/memp.h index 5882b6f1..9f15ea06 100644 --- a/src/memp.h +++ b/src/memp.h @@ -3,7 +3,44 @@ #include "ultra64.h" -void *reset_mem_bank_a0(s32 arg0); -void *memp_related_6(s32 arg0); +typedef struct s_mempBANK { + s32 bankstart; + s32 nextentry; + s32 bankend; + s32 data2; +} s_mempBANK; + +typedef struct s_mempMVALS { + u32 D_80024410; + u32 D_80024414; + u32 mf; + u32 D_8002441C; + u32 ml; + u32 D_80024424; + u32 me; + u32 D_8002442C; + u32 D_80024430; +} s_mempMVALS; + +typedef struct s_mempMEMSTARTS { + s32 bank1start; + s32 bank2start; + s32 bank3start; + s32 bank4start; + s32 bank5start; + s32 bank6start; + s32 bank7start; +} s_mempMEMSTARTS; + +void something_with_memp_c_debug(void); +void mempCheckMemflagTokens(int bstart,int bsize); +void mempSetBankStarts(int *banks); +u32 mempAllocBytesInBank(u32 bytes,u8 bank); +u32 mempAddEntryOfSizeToBank(s32 ptrdata,int size,u8 bank); +void nulled_mempLoopAllMemBanks(void); +s32 mempGetBankSizeLeft(u8 bank); +u32 mempAllocPackedBytesInBank(u32 param_1); +void mempResetBank(u8 bank); +void mempNullNextEntryInBank(u8 bank); #endif diff --git a/src/music.c b/src/music.c index 5bbbe5af..b68f55dc 100644 --- a/src/music.c +++ b/src/music.c @@ -169,7 +169,7 @@ void setupaudio(void) { if (bootswitch_sound == 0) { // Node 1 - temp_ret = allocate_bytes_in_bank(0x2e000, 6); + temp_ret = mempAllocBytesInBank(0x2e000, 6); phi_v1 = temp_ret; loop_2: // Node 2 @@ -292,7 +292,7 @@ glabel setupaudio /* 007644 70006A44 AFB00020 */ sw $s0, 0x20($sp) /* 007648 70006A48 3C040002 */ lui $a0, (0x0002E000 >> 16) # lui $a0, 2 /* 00764C 70006A4C 3484E000 */ ori $a0, (0x0002E000 & 0xFFFF) # ori $a0, $a0, 0xe000 -/* 007650 70006A50 0C0025C8 */ jal allocate_bytes_in_bank +/* 007650 70006A50 0C0025C8 */ jal mempAllocBytesInBank /* 007654 70006A54 24050006 */ li $a1, 6 /* 007658 70006A58 3C010002 */ lui $at, (0x0002E000 >> 16) # lui $at, 2 /* 00765C 70006A5C 3421E000 */ ori $at, (0x0002E000 & 0xFFFF) # ori $at, $at, 0xe000 diff --git a/src/pi.h b/src/pi.h new file mode 100644 index 00000000..82628b8d --- /dev/null +++ b/src/pi.h @@ -0,0 +1,10 @@ +#ifndef _PI_H_ +#define _PI_H_ +#include + +extern OSMesg piCmdBuf[0x8]; +extern OSMesgQueue piCmdQ; + +void start_pi_manager(void); + +#endif \ No newline at end of file diff --git a/src/sched.c b/src/sched.c index d2dd199e..c535f2fc 100644 --- a/src/sched.c +++ b/src/sched.c @@ -35,8 +35,8 @@ u32 D_800230CC = 1; OSSched sc; //temporary until i get proper sized structs -//OSScClient gfxClient; -char gfxClient[0x18]; +OSScClient gfxClient[3]; +//char gfxClient[0x18]; char target_for_counters_maybe[0x10]; char dword_CODE_bss_8005DB40[0xB0]; @@ -46,7 +46,8 @@ char dword_CODE_bss_8005DB40[0xB0]; * 1570 70000970 * A0-> stderr.activated [80023098]; fry AT */ -void activate_stderr(u32 flag) { +void activate_stderr(u32 flag) +{ stderr_active = flag; } @@ -54,7 +55,8 @@ void activate_stderr(u32 flag) { * 157C 7000097C * A0-> stderr.enable [80023094]; fry AT */ -void enable_stderr(u32 flag) { +void enable_stderr(u32 flag) +{ stderr_enabled = flag; } @@ -62,7 +64,8 @@ void enable_stderr(u32 flag) { * 1588 70000988 * A0-> stderr.permitted [8002309C]; fry AT */ -void permit_stderr(u32 flag) { +void permit_stderr(u32 flag) +{ stderr_permitted = flag; } @@ -70,7 +73,8 @@ void permit_stderr(u32 flag) { * 1594 70000994 * A0-> user.Compare [800230A0]; fry AT */ -void setUserCompareValue(u32 value) { +void setUserCompareValue(u32 value) +{ userCompareValue = value; } @@ -78,8 +82,10 @@ void setUserCompareValue(u32 value) { * 15A0 700009A0 * test to display stderr and update Count */ -void CheckDisplayErrorBuffer(u32 *buffer) { - if ((stderr_permitted && stderr_active) || stderr_enabled ){ +void CheckDisplayErrorBuffer(u32 *buffer) +{ + if ((stderr_permitted && stderr_active) || stderr_enabled ) + { write_stderr_to_buffer(buffer); currentcount = osGetCount(); } @@ -89,62 +95,21 @@ void CheckDisplayErrorBuffer(u32 *buffer) { * 15F8 700009F8 * test to display stderr every 16th frame */ -#ifdef NONMATCHING -void CheckDisplayErrorBufferEvery16Frames(u32 framecount) { - if (framecount & 0xf) { - if ((stderr_permitted && stderr_active) || stderr_enabled){ - if (userCompareValue < (osGetCount() - currentcount)){ + +void CheckDisplayErrorBufferEvery16Frames(u32 framecount) +{ + if (!(framecount & 0xf)) + { + if ((stderr_permitted && stderr_active) || stderr_enabled) + { + if (userCompareValue < (osGetCount() - currentcount)) + { write_stderr_to_buffer(cfb_16_a); write_stderr_to_buffer(cfb_16_b); } } } } -#else -GLOBAL_ASM( -glabel CheckDisplayErrorBufferEvery16Frames -/* 0015F8 700009F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0015FC 700009FC 308E000F */ andi $t6, $a0, 0xf -/* 001600 70000A00 15C0001D */ bnez $t6, .Ltesttodisplaystderrorevery16thframe_80 -/* 001604 70000A04 AFBF0014 */ sw $ra, 0x14($sp) -/* 001608 70000A08 3C0F8002 */ lui $t7, %hi(stderr_permitted) -/* 00160C 70000A0C 8DEF309C */ lw $t7, %lo(stderr_permitted)($t7) -/* 001610 70000A10 3C188002 */ lui $t8, %hi(stderr_active) -/* 001614 70000A14 3C198002 */ lui $t9, %hi(stderr_enabled) -/* 001618 70000A18 11E00004 */ beqz $t7, .Ltesttodisplaystderrorevery16thframe_34 -/* 00161C 70000A1C 00000000 */ nop -/* 001620 70000A20 8F183098 */ lw $t8, %lo(stderr_active)($t8) -/* 001624 70000A24 17000004 */ bnez $t8, .Ltesttodisplaystderrorevery16thframe_40 -/* 001628 70000A28 00000000 */ nop -.Ltesttodisplaystderrorevery16thframe_34: -/* 00162C 70000A2C 8F393094 */ lw $t9, %lo(stderr_enabled)($t9) -/* 001630 70000A30 53200012 */ beql $t9, $zero, .Ltesttodisplaystderrorevery16thframe_84 -/* 001634 70000A34 8FBF0014 */ lw $ra, 0x14($sp) -.Ltesttodisplaystderrorevery16thframe_40: -/* 001638 70000A38 0C003638 */ jal osGetCount -/* 00163C 70000A3C 00000000 */ nop -/* 001640 70000A40 3C098002 */ lui $t1, %hi(currentcount) -/* 001644 70000A44 8D2930A4 */ lw $t1, %lo(currentcount)($t1) -/* 001648 70000A48 3C088002 */ lui $t0, %hi(userCompareValue) -/* 00164C 70000A4C 8D0830A0 */ lw $t0, %lo(userCompareValue)($t0) -/* 001650 70000A50 00495023 */ subu $t2, $v0, $t1 -/* 001654 70000A54 3C04803B */ lui $a0, %hi(cfb_16_a) -/* 001658 70000A58 010A082B */ sltu $at, $t0, $t2 -/* 00165C 70000A5C 50200007 */ beql $at, $zero, .Ltesttodisplaystderrorevery16thframe_84 -/* 001660 70000A60 8FBF0014 */ lw $ra, 0x14($sp) -/* 001664 70000A64 0C001674 */ jal write_stderr_to_buffer -/* 001668 70000A68 24845000 */ addiu $a0, $a0, %lo(cfb_16_a) -/* 00166C 70000A6C 3C04803E */ lui $a0, %hi(cfb_16_b) -/* 001670 70000A70 0C001674 */ jal write_stderr_to_buffer -/* 001674 70000A74 2484A800 */ addiu $a0, $a0, %lo(cfb_16_b) -.Ltesttodisplaystderrorevery16thframe_80: -/* 001678 70000A78 8FBF0014 */ lw $ra, 0x14($sp) -.Ltesttodisplaystderrorevery16thframe_84: -/* 00167C 70000A7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 001680 70000A80 03E00008 */ jr $ra -/* 001684 70000A84 00000000 */ nop -) -#endif /** * Not 100% on name, came from osInitialize's call to function @@ -162,8 +127,6 @@ void osCreateLog(void){ #ifdef NONMATCHING void osCreateScheduler (OSSched * sc, void * stack, u8 mode, u8 numFields) { - void *temp_t2; - sc->curRSPTask = 0; sc->curRDPTask = 0; sc->clientList = 0; @@ -172,17 +135,18 @@ void osCreateScheduler (OSSched * sc, void * stack, u8 mode, u8 numFields) sc->gfxListHead = 0; sc->audioListTail = 0; sc->gfxListTail = 0; - sc->retraceMsg.type = (u16)1; - sc->prenmiMsg.type = (u16)5; + sc->retraceMsg.type = 1; + sc->prenmiMsg.type = 5; sc->thread = stack; osCreateMesgQueue(&sc->interruptQ, sc->intBuf, 8); osCreateMesgQueue(&sc->cmdQ, sc->cmdMsgBuf, 8); osCreateViManager(0xfe); - temp_t2 = ((mode * 0x50) + &osViModeTable); - viMode = temp_t2; - viMode+0x4 = (?32) temp_t2->unk1C; - viMode+0x8 = (?32) temp_t2->unk30; - viMode+0xC = (?32) temp_t2->unk44; + + viMode = osViModeTable[mode]; + viMode.comRegs.ctrl = osViModeTable[mode].comRegs.hStart; + viMode.comRegs.width = osViModeTable[mode].fldRegs[0].vStart; + viMode.comRegs.burst = osViModeTable[mode].fldRegs[1].vStart; + osSetEventMesg(4, &sc->interruptQ, 0x29b); osSetEventMesg(9, &sc->interruptQ, 0x29c); osSetEventMesg(0xe, &sc->interruptQ, 0x29d); @@ -290,43 +254,20 @@ glabel osCreateScheduler /** * 1814 70000C14 */ -#ifdef NONMATCHING -void osScAddClient(void *arg0, void *arg1, ?32 arg2, ?32 arg3) +void osScAddClient(OSSched *sc, OSScClient *c, OSMesgQueue *msgQ, OSScClient *next) { - arg1->unk4 = arg2; - arg1->unk8 = arg3; - *arg1 = (void *) arg0->unkB4; - arg0->unkB4 = arg1; - osSetIntMask(osSetIntMask(1), arg1); + OSIntMask mask; + + mask = osSetIntMask(1); + + c->msgQ = msgQ; + c[1].next = next; + c->next = sc->clientList; + sc->clientList = c; + + osSetIntMask(mask); } -#else -GLOBAL_ASM( -glabel osScAddClient -/* 001814 70000C14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 001818 70000C18 AFBF0014 */ sw $ra, 0x14($sp) -/* 00181C 70000C1C AFA40018 */ sw $a0, 0x18($sp) -/* 001820 70000C20 AFA60020 */ sw $a2, 0x20($sp) -/* 001824 70000C24 AFA70024 */ sw $a3, 0x24($sp) -/* 001828 70000C28 24040001 */ li $a0, 1 -/* 00182C 70000C2C 0C00374C */ jal osSetIntMask -/* 001830 70000C30 AFA5001C */ sw $a1, 0x1c($sp) -/* 001834 70000C34 8FA5001C */ lw $a1, 0x1c($sp) -/* 001838 70000C38 8FAE0020 */ lw $t6, 0x20($sp) -/* 00183C 70000C3C 8FA30018 */ lw $v1, 0x18($sp) -/* 001840 70000C40 00402025 */ move $a0, $v0 -/* 001844 70000C44 ACAE0004 */ sw $t6, 4($a1) -/* 001848 70000C48 8FAF0024 */ lw $t7, 0x24($sp) -/* 00184C 70000C4C ACAF0008 */ sw $t7, 8($a1) -/* 001850 70000C50 8C7800B4 */ lw $t8, 0xb4($v1) -/* 001854 70000C54 ACB80000 */ sw $t8, ($a1) -/* 001858 70000C58 0C00374C */ jal osSetIntMask -/* 00185C 70000C5C AC6500B4 */ sw $a1, 0xb4($v1) -/* 001860 70000C60 8FBF0014 */ lw $ra, 0x14($sp) -/* 001864 70000C64 27BD0018 */ addiu $sp, $sp, 0x18 -/* 001868 70000C68 03E00008 */ jr $ra -/* 00186C 70000C6C 00000000 */ nop -) -#endif + /** * 1870 70000C70 diff --git a/src/sched.h b/src/sched.h index 561cd885..4e07fff6 100644 --- a/src/sched.h +++ b/src/sched.h @@ -63,23 +63,23 @@ typedef struct { } OSSched; extern OSSched sc; -//extern OSScClient gfxClient; -extern char gfxClient[0x18]; +extern OSScClient gfxClient[3]; +//extern char gfxClient[0x18]; void activate_stderr(u32 flag); void enable_stderr(u32 flag); void permit_stderr(u32 flag); void setUserCompareValue(u32 value); -extern void CheckDisplayErrorBuffer(u32 *buffer); -extern void CheckDisplayErrorBufferEvery16Frames(u32 framecount); +void CheckDisplayErrorBuffer(u32 *buffer); +void CheckDisplayErrorBufferEvery16Frames(u32 framecount); void osCreateLog(void); void __scMain(void *arg); void __scYield(OSSched *sc) ; - -void osCreateScheduler(OSSched *s, void *stack, u8 mode, u8 numFields); -void osScAddClient(OSSched *s, OSScClient *c, OSMesgQueue *msgQ); -void osScRemoveClient(OSSched *s, OSScClient *c); -OSMesgQueue *osScGetCmdQ(OSSched *s); +void __scAppendList(OSSched *sc, OSScTask *t); +void osCreateScheduler(OSSched *s, void *stack, u8 mode, u8 numFields); +void osScAddClient(OSSched *s, OSScClient *c, OSMesgQueue *msgQ, OSScClient *next); +void osScRemoveClient(OSSched *s, OSScClient *c); +OSMesgQueue *osScGetCmdQ(OSSched *s); #endif diff --git a/src/snd.h b/src/snd.h index dc887218..36c0e919 100644 --- a/src/snd.h +++ b/src/snd.h @@ -3,5 +3,5 @@ #include "ultra64.h" extern s8 bootswitch_sound; - +void play_sfx_a1 (void * buffer, short entry, void * data); #endif diff --git a/src/str.c b/src/str.c index b4374b47..fab0aee7 100644 --- a/src/str.c +++ b/src/str.c @@ -124,7 +124,7 @@ glabel something_with_strings #ifdef NONMATCHING -void *string_load_parse_something(void *arg0, void *arg1) { +void *string_append_from_obseg_textbank(void *arg0, void *arg1) { void *temp_v0; void *temp_a1; @@ -158,7 +158,7 @@ void *string_load_parse_something(void *arg0, void *arg1) { #else GLOBAL_ASM( .text -glabel string_load_parse_something +glabel string_append_from_obseg_textbank /* 00B3FC 7000A7FC 908E0000 */ lbu $t6, ($a0) /* 00B400 7000A800 00801025 */ move $v0, $a0 /* 00B404 7000A804 51C00006 */ beql $t6, $zero, .L7000A820 diff --git a/src/token.c b/src/token.c index b3d98a9d..56da807b 100644 --- a/src/token.c +++ b/src/token.c @@ -1,8 +1,11 @@ #include "ultra64.h" +#include "pi.h" +#include "snd.h" +#include "game/lvl_text.h" +//OSMesg boot_token_from_indy[160]; char boot_token_from_indy[0x280]; - s32 strstr_numstings = 1; s32 strstr_ptrcurrent_string = 0; u32 D_80024478[34] = {0}; @@ -154,27 +157,21 @@ s32 check_boot_switches(void) is_debug = 0; if (rmon_debug_is_final_build() != 0) { - boot_token_from_indy = 0; + boot_token_from_indy[0] = 0; } else { - devAddr = 0xffb000; - data = &boot_token_from_indy; - while (data != &piCmdBuf) + for (devAddr = 0xffb000, data = &boot_token_from_indy; data != &piCmdBuf; data += 4, devAddr += 4) { osPiReadIo(devAddr, data); - data = data + 4; - devAddr = devAddr + 4; } } check_string_something(&boot_token_from_indy); - if (check_token(1, "-d") != 0) { - is_debug = 1; - } + is_debug = (check_token(1, "-d") != 0); if (check_token(1, "-s") != 0) { - bootswitch_sound = (u8)1; + bootswitch_sound = 1; } if (check_token(1, "-j") != 0) { diff --git a/src/video.c b/src/video.c index f6238575..ca3922a6 100644 --- a/src/video.c +++ b/src/video.c @@ -67,35 +67,28 @@ u16 word_CODE_bss_80060824; char dword_CODE_bss_80060828[0x50]; u8 off_CODE_bss_80060878; u8 off_CODE_bss_80060879; -//osViMode viMode; +//struct osViMode viMode; s32 viMode; s32 dword_CODE_bss_80060880; s32 dword_CODE_bss_80060884; s32 dword_CODE_bss_80060888; s32 dword_CODE_bss_8006088C; - +char dword_CODE_bss_80060890[0x400];//CC[0x3C4]; + //90[0x400]; /** * 3C60 70003060 */ #ifdef NONMATCHING -s32 init_video_settings(void) +void init_video_settings(void) { - s32 temp_v0; - void *temp_t6; - void *temp_t8; - - temp_v0 = 0 & 0xff; - temp_t8 = &video1_settings + (temp_v0 * 0x2c); - off_CODE_bss_80060878 = (u8)0; - off_CODE_bss_80060879 = (u8)1; - ptr_video_settings1 = temp_t8; - temp_t8->unk28 = (s32) (&cfb_16_a + (temp_v0 * 0x25800)); - temp_t6 = &video1_settings + (off_CODE_bss_80060879 * 0x2c); - ptr_video_settings2 = temp_t6; - temp_t6->unk28 = (s32) (&cfb_16_a + (off_CODE_bss_80060879 * 0x25800)); + video1_settings.frameb = cfb_16_a; D_8002329C = 0; D_800232A0 = 0; - return temp_v0; + ptr_video_settings1 = &video1_settings; + ptr_video_settings2 = &video2_settings; + off_CODE_bss_80060878 = 0; + off_CODE_bss_80060879 = 1; + video2_settings.frameb = cfb_16_b; } #else GLOBAL_ASM( @@ -159,33 +152,22 @@ glabel init_video_settings * 3D24 70003124 initialize both video buffers */ #ifdef NONMATCHING -void *init_both_video_buffers(void) +void init_both_video_buffers(void) { - s32 temp_a0; - void *temp_v0; - void *temp_v1; - s32 phi_a0; - + s32 i; + remove_viewport_buffer(); - phi_a0 = 0; -loop_1: - temp_v0 = &cfb_16_a + phi_a0; - temp_v0->unk0 = (u8)0; - temp_v1 = &cfb_16_b + phi_a0; - temp_v1->unk0 = (u8)0; - temp_v0->unk1 = (u8)0; - temp_v1->unk1 = (u8)0; - temp_v0->unk2 = (u8)0; - temp_v1->unk2 = (u8)0; - temp_v0->unk3 = (u8)0; - temp_a0 = phi_a0 + 4; - temp_v1->unk3 = (u8)0; - phi_a0 = temp_a0; - if (temp_a0 != 0x25800) + for (i = 0; i != 0x25800; i += 4) { - goto loop_1; - } - return temp_v0; + cfb_16_a[i] = 0; + cfb_16_b[i] = 0; + cfb_16_a[i + 1] = 0; + cfb_16_b[i + 1] = 0; + cfb_16_a[i + 2] = 0; + cfb_16_b[i + 2] = 0; + cfb_16_a[i + 3] = 0; + cfb_16_b[i + 3] = 0; + }; } #else GLOBAL_ASM( @@ -1310,24 +1292,21 @@ glabel video_related_8 * accepts: F12= */ #ifdef NONMATCHING -f32 video_related_9(f32 arg0) +void video_related_9(float param_1) { - f32 phi_f12; - f32 phi_f12_2; - - phi_f12 = arg0; - if (14.0f < arg0) - { - phi_f12 = 14.0f; + float fVar1; + + fVar1 = 14.00000000; + if (param_1 <= 14.00000000) { + fVar1 = param_1; } - phi_f12_2 = phi_f12; - if (phi_f12 < 0.0f) - { - phi_f12_2 = 0.0f; + if (fVar1 < 0.00000000) { + D_800232B4 = 0; } - D_800232B4 = (s32) phi_f12_2; - D_800232B8 = 0xa; - return 0.0f; + else { + D_800232B4 = (int)fVar1; + } + D_800232B8 = 10; } #else GLOBAL_ASM( @@ -1380,18 +1359,17 @@ void receive_vi_c_msgs(int msgcount){ * 47B0 70003BB0 */ #ifdef NONMATCHING -void setVideoWidthHeightToMode(int videomode) +void setVideoWidthHeightToMode(s32 videomode) { - u16 uVar1; - - *(char *)&ptr_video_settings2->anonymous_0 = (char)videomode; - uVar1 = widths_80028480[videomode]; - ptr_video_settings2->anonymous_7 = uVar1; - ptr_video_settings2->txtClipW = uVar1; - uVar1 = heights_80028488[videomode]; - ptr_video_settings2->anonymous_8 = uVar1; - ptr_video_settings2->txtClipH = uVar1; - return; + u16 uVar1; + + ptr_video_settings2->mode = videomode; + + ptr_video_settings2->somethingW = widths_80028480[videomode]; + ptr_video_settings2->txtClipW = widths_80028480[videomode]; + + ptr_video_settings2->somethingH = heights_80028488[videomode]; + ptr_video_settings2->txtClipH = heights_80028488[videomode]; } #else GLOBAL_ASM( @@ -1441,7 +1419,7 @@ void set_coloroutputmode_32bit(void) /** * 481C 70003C1C V0= p->video2's buffer [p@800232A8+28]; fry T6 */ -int get_video_settings2_frameb(void) +u8 * get_video_settings2_frameb(void) { return ptr_video_settings2->frameb; } @@ -1449,35 +1427,18 @@ int get_video_settings2_frameb(void) /** * 482C 70003C2C V0= p->video1's buffer [p@800232A4+28]; fry T6 */ -int get_video_settings1_frameb(void) +u8 * get_video_settings1_frameb(void) { return ptr_video_settings1->frameb; } - - - /** * 483C 70003C3C A0->video2's buffer [p@800232A8+28]; fry T6 */ -#ifdef NONMATCHING -void set_video2buf_offset28(s32 arg0) +void set_video2buf_frameb(u8 *arg0) { ptr_video_settings2->frameb = arg0; } -#else -GLOBAL_ASM( -.text -glabel set_video2buf_offset28 -/* 00483C 70003C3C 3C0E8002 */ lui $t6, %hi(ptr_video_settings2) -/* 004840 70003C40 8DCE32A8 */ lw $t6, %lo(ptr_video_settings2)($t6) -/* 004844 70003C44 03E00008 */ jr $ra -/* 004848 70003C48 ADC40028 */ sw $a0, 0x28($t6) -) -#endif - - - /** * 484C 70003C4C V0= halfword [80060824] @@ -2247,8 +2208,8 @@ s32 get_D_8002329C(void) */ void set_video2_settings_offset_18_1A(s16 arg0, s16 arg1) { - ptr_video_settings2->anonymous_7 = arg0; - ptr_video_settings2->anonymous_8 = arg1; + ptr_video_settings2->somethingW = arg0; + ptr_video_settings2->somethingH = arg1; } /** @@ -2257,7 +2218,7 @@ void set_video2_settings_offset_18_1A(s16 arg0, s16 arg1) */ s16 get_video2_settings_offset_18(void) { - return ptr_video_settings2->anonymous_7; + return ptr_video_settings2->somethingW; } /** @@ -2266,7 +2227,7 @@ s16 get_video2_settings_offset_18(void) */ s16 get_video2_settings_offset_1A(void) { - return ptr_video_settings2->anonymous_8; + return ptr_video_settings2->somethingH; } /** @@ -2427,7 +2388,7 @@ void set_video2_settings_offset_24(int param_1) { * 5144 70004544 */ #ifdef NONMATCHING -void video_related_1F(f32 arg0) +void setvideo_far(f32 arg0) { ptr_video_settings2->far = arg0; sub_GAME_7F077C30(ptr_video_settings2->aspect, ptr_video_settings2->far, ptr_video_settings2->scale); @@ -2436,7 +2397,7 @@ void video_related_1F(f32 arg0) #else GLOBAL_ASM( .text -glabel video_related_1F +glabel setvideo_far /* 005144 70004544 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 005148 70004548 3C038002 */ lui $v1, %hi(ptr_video_settings2) /* 00514C 7000454C 246332A8 */ addiu $v1, %lo(ptr_video_settings2) # addiu $v1, $v1, 0x32a8 diff --git a/src/video.h b/src/video.h index b50e4c96..1e652432 100644 --- a/src/video.h +++ b/src/video.h @@ -5,21 +5,21 @@ typedef struct video_settings video_settings, *Pvideo_settings; struct video_settings { - int anonymous_0; + int mode; short txtClipW; short txtClipH; f32 far; f32 scale; f32 aspect; f32 anonymous_6; - short anonymous_7; - short anonymous_8; + short somethingW; + short somethingH; short width; short height; short ulx; short uly; int anonymous_12; - int frameb; + u8* frameb; }; #endif